發表文章

目前顯示的是有「書評」標籤的文章

[讀書] Docker入門與實戰

不久前就經常在網路上看到有關 docker 的相關消息,只是一知半解的得知它是一種很類似虛擬機器的工具,但是算是輕量級的。因為它不用再跑在一份OS上,只要用現有的OS即可。但又可以實現「容器」的概念。 近日在逛書店時正好看到有相關的書籍--「 Docker入門與實戰 」,內容正好是適合我這種剛入門的讀者。 書中一開始當然就是先介紹一下docker的概念。它可以不用再另外用像是virtualbox這類的虛擬工具就可以執行一份完整且獨立的linux os環境。而且它的出發點是希望write once run anywhere,只要做好一份影像檔,就可以拿到各種OS中執行成一份獨立的容器,並且可以使用容器中的功能。 接著就是介紹了一些有關docker的操作指令,像是如何由公開倉庫取得可用的影像檔,如何執行指定的影像檔成為一個容器。接著就是容器裏變更的內容如何儲存下來待後續再使用。 容器要安裝及執行所需的服務到此為止看來是沒問題了,接著是因為都是執行在同一個OS層中,使用的網路卡也是一樣的,那有些服務所要使用到的port該如何設定才好呢? 原來在執行容器時可以利用命令列的方式將本機上的某個port對應到所執行的容器中的指定的port上。例如在容器中如果有提供ssh的服務,且ssh平用的是port 22的話,那可以指定將本機例如port 10122映射到port 22上。這樣任何外部的用戶端都可以利用<本機IP>:10122的方式來存取到容器中的ssh服務了。 學了這麼多,最重要的還是要能透過實作的方式來測試實際的用途。所以接著就是來到了實作的章節。第一份實作就是利用docker官方的ubuntu影像檔,安裝並啟用ssh服務來給外部人員使用。可是依書中的步驟就我測試下來都是失敗的。安裝ssh及執行服務看來是沒問題,但就是在要用ssh client端登入時,就一直會詢問密碼。可是不論使用什麼密碼都無法成功登入。 後來查了一下,原來 官方網站中也有相關的實作應用 ,參考了一下才知道,原來是書中少了設定root密碼的部份,難怪都無法登入。 後來在利用Dockerfile自動建立影像檔中,自行加入了修改root使用者帳號的密碼,並且也自行加入了幾個預設會用到的登入帳號及密碼後,目前看來就可以正常的產生一份可以使用ssh服務的容器了。

大話設計模式--簡單書評

自從女兒出生後,就很少再去跑圖書館了。直到不久前,想說由網路上去查一下看有沒有什麼書可借來看看的,正好就看到 「大話設計模式」 這本書。先前逛書店時就有看到這本書了,只是一直沒拿起來翻閱。這次正好圖書館可以外借,就借回家來看看囉。 說真的,每次看書時都只是大略地瞄過書中的序言。但這本書,可能是一開始作者的文筆就吸引了我吧,沒想到就將這本書的序言給看完了。 在序言中,作者主要是在教學過程中,體會到要用更貼近生活化的方式來傳授物件導向的概念。就如同作者說的,當我們在閱讀一本小說時,都能逐字地將它讀完。可是當我們在閱讀技術書籍時,可能都是前面幾張會仔細閱讀,可到了後面就虎頭蛇尾地草草結束了。個中原由,作者體會到原來要能像小說一樣地,用文字將讀者的注意力吸引住,讓他們能將整本小說讀完。 像物件導向中的設計模式的概念,其實坊間已有不少的書藉出版。像最有名的GoF出的設計模式書籍,幾乎是大家都一定要讀過的。可是真正讀完的有多少人呢。像我本身也是前面幾個模式看過後,後面就等要用時再查了。無法全部讀完主要也是因為書中的寫作方式太過制式,難以引人入勝。所以作者這本書就以小說的方式,透過小菜及大鳥(合起來就是菜鳥吧,哈)兩人的對話,來說明物件導向的概念及設計模式。 設計模式的確是物件導向中一項重要的概念,所以坊間的書出版的還不少。直接讀GoF的書,是直接看到前人所討論出來後的最後結果,如果你能吸收當然是最好。如果不行的話,可能就是要用一步步的方式推導出來,這時可以看 「重構--向範式前進」 這本書。如果你想知道如何應用的話,那「大話設計模式」這本倒是不錯的選擇。 本書中,個人覺得不錯的地方還有一個就是作者 在p.17這頁中利用一張UML的圖型,將所有UML中會使用到的物件導向分析圖案都應用上了 。沒學過的人可以利用這張圖有個全盤的概知,而學過的人,可以再驗証一下自己的觀念。 不過,書中作者提到物件導向有三大精神:封裝、繼承、多型。可個人在以前學習時,還多了一項 虛擬 。我覺得「多型」可能還不包含有「虛擬」的概念,所以應該要再加入這一項才行。