2023年2月18日 星期六
玩真的!Git ? GitHub 實戰手冊 - coding 實境、協同開發、雲端同步,用最具臨場感的開發實例紮實學會!
Git工具在軟體版本管理領域中的地位我想已經不用多言,基本上除非是上古時期的恐龍工程師,絕大多數的碼農都至少熟悉一種版控工具,而Git是其中的佼佼者。它被廣泛地整合到各種IDE(整合開發環境)中,也有數種方便好用的GUI(圖形使用者介面)工具,一但有協同開發的需要,Git對軟體工程師而言是非常友善的選項。
話說回來,也因為工具整合的太好,常見的操作根本用不著親自下指令,所以許多人連基本的Git指令都沒打過。更別說一些合併失敗的異常情況,是需要瞭解Git的設計與觀念才能迅速、正確的排除。如果沒打好基礎,偏偏又在專案Deadline前遇到,那可真的會讓人冷汗直冒。而這本「玩真的!Git ? GitHub 實戰手冊」正是以實例帶領讀者利用最符合職場開發情境的範例,完成一項又一項具體的Git任務,讓你從初學邁到進階的一本佳作。
不論是全域參數檔設定、修改/壓縮commit註解和運用stash暫存區等,這些被一般書籍視為「進階」的Git功能,書中都用簡明扼要的描述並配合直接的例子讓讀者心領神會,對比其它以Git為主題的書,這本的CP值是遙遙領先。最終章更是將使用Git時常困擾開發者的一些疑難雜症條例出來,一一提出具體解法。這本書放在案頭,可以讓你有如服下定心丸般,盡情使用Git來滿足協同開發與版本控制的需求。
2023年2月8日 星期三
煮光陰:我與阿嬤的好時光
除了三不五時Follow一下演藝圈八卦,個人算是個娛樂演藝作品的絕緣體,Netflix在熱播「華燈初上」時,我也沒跟著大家一起沉浸在這部佳作的氛圍。即便如此,我依稀知道女星「劉品言」有在華燈初上中飾演一位重要的角色。
「煮光陰:我與阿嬤的好時光」則是她執筆,描述成長過程中和阿嬤互動的點點滴滴。穿插各道阿嬤拿手的台式家常菜,讓讀者一邊瞭解劉品言個人的心情記事,和其與牧師娘阿嬤間的相處和情感,另一邊也可以學到不少易上手而美味的菜色。
如果是粉絲或戲迷,藉由本書可貼近體驗劉品言的孩時家庭生活。如果不是,「煮光陰」本身也能當成一本便利的台菜食譜,照著書按表操課,即便只會燒水煎蛋的廚藝菜鳥,相信也能弄出幾道讓家人讚不絕口的好菜。說個題外話,老台菜,好吃的秘訣就是「鮮味粉/味素」呀(笑)。
2023年2月4日 星期六
和艦長一起 30 天玩轉 GitLab(iT邦幫忙鐵人賽系列書)
開始使用Git做為程式碼版本控制工具已經超過七年,當初依樣畫葫蘆學著同事安裝了GitLab做為內部Git Server。隨著業務重心轉向大數據平台,在日常維運中也不特別關注GitLab服務,沒想到事隔數年,至少有數十個專案在其中蓬勃發展,也足見GitLab的穩定與易用性。眼看GitLab進展一日千里,無論從資安或維運角度來看,升級勢在必行。便著手研讀「和艦長一起 30 天玩轉 GitLab」,全面地瞭解該平台,並以此為起點規劃更便利、完善的程式碼開發、管理流程。
除了最基本的平台安裝步驟外,書中有兩個值得深入學習的重點,一是「GitLab Flow」的分支流程觀念,二是「GitLab CI」這個工具技術,兩者相輔相成。Git是開放、低侷限的多人協作版控工具,也因此在分支的使用上並沒有強制做法。依循「GitLab Flow」的提議,以「Feature」和「Issue」為分支起點,並在開發完成後再合併到「Master」分支。明確地規範分支與合併的時間點,讓開發團隊有所遵循,不用浪費時間拘泥在分支規則的設計上,實在是相當明智的作法。
「GitLab CI」則是GitLab平台實踐「CI/CD」的工具,其功能與成熟度可與「Jenkins」比肩。對於要實作自動化測試/佈署的團隊而言,兩種工具擇一即可,並沒有孰優孰劣的問題。不過在使用上,兩者的思維與pipeline構思會略有不同。Jenkins是偏向Java語言的CI/CD工具,因此對於Maven和Gradle這兩個編譯工具大開方便之門。相對的,GitLab CI是源生於GitLab這套版控工具,因此無需使用者額外執行git指令就可以自由取得程式碼。
對於有能力撰寫pipeline腳本的開發者來說,面對這些微妙的差異,肯定能迎刃而解。話說回來,不論是要用GitLab CI還是Jenkins,最精巧的作法,還是免不了要和Ansible做整合,幸好之前已經看過了「尖端神手Ansible 究極自動化組態管理工具(第二版)」,這部份算是準備周全。
2023年2月2日 星期四
思辨是我們的義務:那些瑞典老師教我的事
隨著世界各地氣候異象頻傳,不禁讓人聯想起在2019年獲得諾貝爾和平獎的瑞典「氣候少女」葛莉塔當初鏗鏘有力的呼籲。姑且不論後續其引發的各種爭議,北歐瑞典的教育制度,能培育出擁有批判性思考、主動為公眾權益發聲的青少年,實在讓人欽佩。自網路媒體盛行後,法制規範卻未能與時俱進的調整,形成不實或惡意言論/資訊的溫床。而「批判性思考」或稱「思辨」能力,正是保護自由世界免於分崩離析的最佳解藥,必然也將會成為未來公民必備的智識能力。
「思辨是我們的義務」介紹了瑞典在國民教育課程設計上,針對如何培育學子思辨能力上的一些觀察與經驗分享。從中讀者可以反思,在訓練自身、子女的思辨能力上還欠缺什麼?書中點名所謂的「民主素養」是包括了「自由」與「制衡」,具體表現上一邊是「批判、思辨、論述與發聲」,另一邊則是「負責、自律、同理與尊重」。在台灣大家常說的「民主亂象」,追根究底不外乎是只講求自己的自由的「權利」,不執行自己自律的「義務」。在北歐針對這種人,有個特別的詞彙叫「訴權者」,在台灣,可能舉目皆是。
在語文科中,瑞典教育採非文學與文學類雙軌並行制,一方面訓練學子徹底掌握各種實用文的讀寫能力,把語文能力當做「通往其它知識的基礎工具」。另一方面培養學子欣賞、創造純文學作品,用以陶冶品性與心靈,建立對他人與世界的關懷與同理心。而在建立媒體識讀能力上,特別要熟練四大原則來判識資料的真實性與可靠度,原則有:
1.時間點原則:距離事件時點的遠近?
2.第一手原則:事件轉述次數?
3.可信度原則:發表人、機構的專業度和知識能力?
4.傾向原則:發表的目的和價值?
未來對於各種網路訊息的取捨,善用上述四點即可粗略辨識真偽。
在歷史科中,有別台灣著重歷史事件、人物的背頌式教學,瑞典將重心放在非特定人事物的唯物史觀。藉由教導勞工運動史,描繪出國家(公權力)、資本家與勞工三個勢力彼此的消長,進而體悟在民主制度下,在「衝突」與「妥協」中求取平衡的重要性。國共內戰後退居台灣一隅施行戒嚴,加上白色恐佈時期的陰霾尚未散去,執政者當然不希望出現民眾集結抗爭,站在資本家與統治階級對立面的勞工運動。長久下來,勞運抗爭始終不是社會普遍接受的主流價值。也因此相較歐美各國有左派、右派政黨可供人民選擇,台灣政黨則都是右派政黨,不同政黨間只有國家認同的差異。



