[Survey] 一些關於Docker.io的筆記

Docker Logo

主要注意到這個是因為meetup上面的活動
開始去查一下關於Docker的內容,但是由於它能做的事情太多了.我也只貼出一些我所了解的部分

  • Docker可以將PAAS裡面的OS或是App拆解成container並且快速讀取或是執行

    • 整個速度大概是一秒就載入完成
  • Docker 也可以run某一種單一app的結果~比如ping或是 bash

  • Docker的 image在寫回去前都會保持原樣~所以可以快速地使用並且安全得保存

    • 如同下面影片,你可以載入bash大膽的把 /etc /bin 都刪除~然後離開~馬上再載入..
  • 甚至可以把整個PAAS載入後加上你的修改來看結果.

這裡可以去官方網站玩demo

相關資料:

[Android]一些關於android apk部署小筆記

記錄一下,最近的一些小筆記

  • 關於Android App安裝到device上面:(在Win8上面)

    • 如果要註冊非官方授權的device(比如說大陸貼牌device)

    • 需要去[裝置管理員]把裝置例項路徑中把VID抄起來(ex:1D06)

    • 把資料抄到 ADT裡面的 SDKExtragoogleusb_driverandroid_winusb.inf

    • 滑鼠移到右下角,選擇[變更電腦設定]

    • [更新與復原]->[復原]->[進階啟動] 來重開機

    • 將裝置管理員裡面無法認識的裝置驅動程式選到 剛剛那個檔案android_winusb.inf

    • 如此一來可以把裝置識別出來為 [Android通用裝置]

    • 到 user_data/.android/adb_usb.ini

      • 注意:  如果因為android SDK 更新這個動作需要重新做一次
    • 把裝置新增上去起來 比如 0x1D06

    • 重啟Eclipse~就能正常讀取

  • 用Eclipse 把App裝到android裝置上面(手機/平板)

    • 使用Adb command line

      • [File]->[Export] 成 api

      • 這時候會設定你的私密金鑰

      • 輸出後使用 adb來安裝

      • adb install helloworld.apk

      • 可以先用 adb devices 確認裝置有讀取到

      • 或是使用 adb kill-server 來強迫重新讀取裝置

  • 開啟Android 專案出現 [invalid project description]

    • 這時候不能使用 Add Android using exist code

    • using  [import]->[general]->[Existing Project into workspace]來載入

  • 相關資料:

[RaspberryPi] Raspbmc加上iPhone client成了超好用的家庭網路電視

1621689_10202031146594008_1601031257_n

圖片: 使用iPhone Client當遙控器或是遠端選取影片來播放,目前播放的是LETV上面的電視劇

之前去上課回來後一直沒有弄,趁開工的空擋前把它弄好了.
這裡備註一下一些note:

  • 網路設定中,Wifi 的密碼屬於 WEP或是WPA要確定好~這個弄不好就一定連不到.

  • 由於我當初安裝的時候選擇英文當主要語系,所以PPS/LETV中文都無法顯示~不過使用iPhone Client 就好了

  • 不得不誇獎,iPhone XBMC Client “Constellation”寫的真好,我都想付錢買完整功能:

    • 可以自動配對,對於你忘記電腦網路IP超好用..

    • 可以用 手指頭當選當選擇

    • 可以直接選擇所有功能,電影,音樂甚至是Plugin

    • 中文顯示看起來不錯(有些人說有亂碼)

  • Android Client 我也看了一下~不過還沒有看到很好用的,如果有好用的請推薦

  • 關於中文影片播放部分,不知道是不是種花電信的問題,我這裡比較順暢的事 Youku, LETV跟PPS都不算順

 

參考資料:

[C++溫故知新] 關於多重繼承 Multiple Inheritance 經常發生的問題

Virtual Base Class


多重繼承如下圖的時候

 

如果要使用  

     D *dptr = new D();

     D->L::para1 

會有compiler error :: Ambiguous conversion

因為實際的的compiler 會把 B1與B2 個編譯出一個L 為實體(class table)

所以要取用D 中的 L會有兩個目標出現

==> 解法: 使用virtual base class 在 B1 與 B2

class L { /* ... */ }; // indirect base class
class B1 : virtual public L { /* ... */ };
class B2 : virtual public L { /* ... */ };

class D : public B1, public B2 { /* … */ }; // valid

 

 

Ambiguous Base Class:


 一樣的Case但是在 B1 與 B2裡面都有命名 變數 nB

若是要使用

     D *dptr = new D();

     D->nB 

則會出現 compiler error

==>解法: 必須將要使用的 nB 定義清楚, 比如說 D->B1::nB 或是 D->B2::nB

 

詳細程式如下:

參考資料:

      

[學習心得] Ruby 跟 Rail 研究心得 (2) - 利用Ruby 把一些基礎問題的改寫

為了達到練習與熟悉Ruby的目的,我找了幾個常用到(也比較簡單的)問題來練習

 

Quicksort (快速排序法)

 

這裡沒有什麼特別語法~主要也確認了~Ruby的參數傳遞的方式,參考http://stackoverflow.com/questions/1872110/is-ruby-pass-by-reference-or-by-value 

 

Fibonacci (費式數列)

 

似乎C++也可以一行搞定~主要是確認ruby也是可以跑遞迴(recursive)

 

中序表示式轉後序或是前序 (Infix -> Prefix, infix -> Postfix)

 

有幾個要注意的,主要是有用到ruby在字串裡面比較強大的應用

  •  “+-/“.include? (op) 這代表著檢查 字元 op 是不是 +-/

  • 在前面有宣告型別 [] 或是 “” 可以避免operator « 錯誤

  • 宣告型別也可以避免 method<=>’ for nil:NilClass (NoMethodError) 的發生

 

 

[學習心得] Ruby 跟 Rail 研究心得 (1)

緣起:

最近開始要找時間研究一些新的程式語言,主要是要讓我自己的程式在server端back-end的一些處理
有些前輩推薦我使用Heroku,主要原因如下:

  • 支援的程式語言相當的多 (Ruby/Golang)

  • 只要是跑一個process之下,基本上算是免費

Ruby on Rails 網路上的資源並不少,不過這一個算是我找到比較齊的,也很適合初學者來學習.

 

 

關於程式語言Ruby:

如同每一個最近產生的程式語言一樣,Ruby有著比較方便的用途與預先設定好的一些API

在此整理一下,個人所認為相當方便與特別的地方:

  • 關於變數型別

    • 是所謂的[強型別]

      • 物件無法了解其型別

      • 無法直接轉換數字與浮點數需要自行轉換

    • 字串轉數字,數字轉字串原本就有提供   .to_s  to_i

    • 大寫是constant 小寫是變數 (類別class名稱要用constant)

    • [注意] Symbol 是記憶體位置固定的但是變數記憶體位置不固定

    • 讓我比較覺得特別的是 除了 nil 與 false  其餘都是true包含

      • if (0)

      • if (“ “)

  • 關於資料結構: 陣列,雜湊表

    • 陣列限制,可以[0] 是字串,但是[1]自數字
  • 關於走訪與iterator

    •  提供許多方便的traversal 或是interator的方式

      • .each do (這很基本)

      • .delete_if { x x >20}
      • .map { x x+”ss”} 來轉移或是轉變array
      • .inject 是取出兩兩成對~我認為這個真的很好用

關於inject 我提出一個範例出來比對C++與 Ruby 字串處理的差異

題目: 找出一個字串列中最大的N個字串,比如說 [“1”, “22”, “333”] 找出前兩長為 “333”, “22”

C++結果如下

Ruby利用inject 結果卻短的個不行

 

最後把我所有的sample code放上來

參考資料: