[Golang][Mac]準備Golang開發環境

基本上其實只要參考 Simple Patrick:My Go Development Environment那篇應該就可以.只是我這邊記錄一下我遇到的問題,不知道其他人會不會遇到. brew install go 會成功但是一直跳出要 brew link go,然後如果你打brew link go就會跳出permission不足.找不到答案,於是去官方網站抓下來裝 Sublime text2跟GoSublime 是可以完美結合.DashDoc 也可以正常用,只是要先裝Dash App Store裝好. 弄好了這一切,其實看起來是完美了.但是就Golang的特性,沒有debugger似乎很難做更一步地解決問題. 於是去找了這篇文章裝LiteIDE然後跑Golang http://www.goinggo.net/2013/06/installing-go-gocode-gdb-and-liteide.html 幾個大方向 抓GDB安裝 建立一個codesign 把GDB 簽署當作可以信任的執行檔 記得要codesigbn gdb codesign -f -s "gdb-cert" /usr/local/bin/gdb [更新2016/02/05] 記得每次gdb更新都要跑…. 一開始LiteIDE可能會出現go bin not found 的錯誤,需要把設定重新跑好 [View] -> [Edit Environment]  (我的可以參考一下) GOROOT=/usr/local/go GOBIN=/usr/local/go/bin/ GOARCH=amd64 GOOS=darwin CGO_ENABLED=1 PATH=$GOROOT/bin:$PATH LITEIDE_GDB=/usr/local/bin/gdb LITEIDE_MAKE=make LITEIDE_TERM=/usr/bin/open LITEIDE_TERMARGS=-aTerminal LITEIDE_EXEC=/usr/X11R6/bin/xterm LITEIDE_EXECOPT=-e 不過text highlighter 跟 dash無法整合有點痛苦,可能會拿LiteIDE作為debug 的工作. 其實Sublime Text2 也是有 GDB support 的,繼續得研究看看  
繼續閱讀

[Docker Taipei Meetup#2] 關於Docker & Jenkins 跟 Docker in Golang

其實是很臨時去參加的,所以一發現有空位馬上就參加,對於Docker本身也是一知半解,也希望能透過這些聚會能有更多的了解. 這裡簡單的記錄一下我的心得,後面是我的速記: 心得: Docker & Jenkins by Casear Chu 這一篇演講相當的特別,讓你與一般Docker 與Jenkins 能想到的不一樣. 主要的架構是根據在Docker in Docker (DinD) 想出來的.也就是在Docker裡面自己再去建立並且讀取其他的docker. 這裡的方法主要如下: 先建立一個ubuntu docker 去安裝Jenkins 然後Jenkins 有兩個工作專案: 一個是下載node.js 系統的image build 成另一個docker 一個是去下載修改的node.js 程式碼,並且定期地在第一個docker上跑測試 整個方法相當特別,測試完之後.可能需要完全移除才會乾淨.不過簡單又不會影響太多部分. Docker in Golang by Jamie Sa slide 主講人相當的有趣的,主要是來探討為什麼docker會用到golang 來撰寫 所以一開始會講到當初 docker 創辦人遇到一個什麼樣的狀況,以及簡單的介紹LXC (docker 系統的核心) 並且很有趣的來觀察github 上面docker project的狀態,並且分析第一個submit的整個架構與當初兩個創辦人是如何去思考整個系統的架構. 令人相當驚訝的是第一個docker的submit竟然就是撰寫我們看到的web docker console  (是應該花一點時間好好了解人家的架構設計的用心) http://www.meetup.com/Docker-Taipei/events/188846162/ Docker & Jenkins by Casear Chu Except Jenkins (other CIs)  Travis Door.io (not sure) Docker in Docker Scenario: Jenkins in one Docker Use Jenkins to launch other docker for CI testing WebSite: https://github.com/jpetazzo/dind Detail: Launch one ubuntu docker and install docker in this ubuntu. Docker Jenkins Need apt-get jenkins from ubuntu image not jenkins image Because need Docker in Docker in site.  Jenkins using docker  (two processes)  https://docs.docker.com/articles/ambassador_pattern_linking/ Docker System building process Check github periodically  download node.js system(private repository) and build docker node.js image process Git pull node.js code run docker system to load node.js run test Note about report: docker...
繼續閱讀

[WDK] Note about propitiatory driver develop and install

WDK  building build -cefw build -cgz Driver launch  Service Using SC (Service Control) Device driver Using *.Inf to install it Disable digital signing check ( forever) If failed need go to BIOS setting to disable Security Boot in Boot-> Authentication-> Security Boot “bcdedit -set test signing ON” Disable digital signing for once Win8 -> 變更電腦設定 -> 還原 -> 進階開機 Install driver step [裝置管理員] -> node 0 -> [動作] -> [新增傳統硬體] -> 選擇 inf remember  inf file need  exist with x86 driver x64 need another place according to your inf setting. Still occur error because the SYS still need to signed   Install Digital signature and sign your SYS file (x64 only is enough if you using  Note, there might be an error if the category file error Error: 裝置管理員 -> Digital signature still failed event you already signed it. Solution: Using “infract”  refer here Note: Need use WDK 8.1 if you...
繼續閱讀

[GTUG 2014 June] Google IO Extended Taipei (臺北方面)

這次很熱血的去參加了GTUG在Google Taipei 辦公室的活動,由於名額僅限70個所以很幸運有搶到. 正式在Google IO 2014 開始前,先有臺北這邊有人分享跟雲端與Google Glass有關的議題 當BigQuery遇到node.js  -  Mike /MiCloud  面對資料的態度: 存的起來叫Storage 看得到叫Data 能了解叫Information 能拿出來用 Intelligent  node.JS Open-> cannot encrypt  shared How it works node.js -> OAuth2 -> BigQuery App Script Back-end for server https://developers.google.com/apps-script/ 百萬種google Glass爽的方式/Google Glass開發經驗 - 時間軸 (Hiiir) 如何開發Google Glass App (Glassware) Glass Development Mirror API Server programming Web  GDK (UI App) Base on Android, only support on 4.4.2 UI element Static Card (text/html) push notify (lime email) Live Card  (for GDK, dynamic) Immersion (like Game) Voice Command need application (like domain) http://www.slideshare.net/jieflash/experience-developing-for-google-glass Glass Hardware Development Glassware -  Glass Presenter How it work Open Mac Using QR code to pair Using WiFi to connect Tech detail Gesture Head Panning Scroll https://speakerdeck.com/j796160836/glass-presenter-shi-zuo-fen-xiang Glassware 上架建議 Voice command need Google to review Explain how it work, why use this. (“Check the battery”) https://speakerdeck.com/j796160836/google-glass-shua-ji-shi-lu Repair the Glass Using Linux (not Mac/Windows) Enter fast boot long press power 1-~15s press...
繼續閱讀

[ffmpeg][ios][Android] 如何在iOS/Android上面使用 ffmpeg

自從在Windows完成 live555(OpenRTSP)與 ffmpeg之後,就很想把它整理好之後放到iOS與Android上面. 不過尋找了一下,發現大部份人在iOS與Android上面都是直接使用 ffmpeg來播放 RTSP的資料. 不過其實Android  4.0之後其實 Videoview就已經支援RTSP的播放,那麼為何還需要ffmpeg呢? —>  利用 VideoView 會有10 秒的延遲,如果想要把延遲減少比較好的方式就不要用build-in player而是使用ffmpeg來播放檔案或是RTSP streaming 所以把如何使用的部分做了一下整理,分別有iOS與Android的部分如下: iOS上如何使用ffmpeg http://www.takobear.tw/201702608526356260322804024687/opensource-ffmpeg-21-for-ios-xcode-51-os-x-1092? 這篇文章已經把ffmpeg去整合在xcode 5.1.1裡面其實就超好用,實際演練 iOS6/iOS7都是可以跑的. 簡單地講在iOS上面使用 ffmpeg流程如下: 利用clang 把ffmpeg 編譯起來, libavXXX.a  在iOS專案裡面加入各個a 並且把header搬進來 如果有裝Xcode 6 beta,千萬記得要把command line tool 改掉.測試過xcde6 beta1 是會有問題的. 更多參考: http://www.takobear.tw/201702608526356260322804024687/ffmpeg-ios-61 https://github.com/BigHillSoftware/QTFFmpeg Android上如何使用ffmpeg 由於Windows 我一直無法正確把ffmpeg編譯起來這裡只講Mac版本 裝ccache 安裝Android NDK for Mac 我是裝r9b (OSX 10.9.3) 設定系統參數 touch ~/.bash_profile; open ~/.bash_profile 增加一個新的 export ANDROID_NDK=你解開NDK的位置 記得把它加入你的PATH會更簡單 測試NDK 移動目錄到 /home/android-ndk-r5b/samples/hello-jni/ 執行 ndk-build 準備build ffmpeg 下載script https://github.com/yixia/FFmpeg-Android 執行./FFmpeg-Android.sh 查看 ./build/ffmpeg 下是否有 armv6/armv7/neon/vfp 目錄並且確認是否有libffmpeg.so 建立demo App 先寫一個可以播放rtsp的player(這裡是基本播放),不過要有Android可以播的倒是很麻煩… (可以先試試看mp4) 加上JNI的支援(這裡由於我是初學,所以搞得有點久,可能會記錄詳細一點): 新增一個jni的資料夾 新增檔案 Android.mk 還有ffmpeg-jni.c 內容可以參考這篇文章 要注意ffmpeg-jni.c 裡面的函數名稱有 Android Project name 與package name要對應到你的設定 利用 command line 的NDK來編譯JNI (也就是 裡用command line在project 目錄上 打ndk-build) 這時候會產生 libs 裡面的檔案,重新clean與rebuild Android App就可以看到正確的鏈結. 如果想要把JNI加入Eclipse的自動編譯(參考這篇文章),步驟如下: 在專案上面選[Properties] -> Builders ->New-> Program 在[Main] Tab裡面 Name: 任意 Location: 選取NDK安裝目錄 Working Directory: “${workspace_loc:${project_path}}” (建議照貼,不然會出現error: Please define the NDK_PROJECT_PATH variable to point to it. [Refresh] Tab要選擇 [Specific Resource] 然後位址指定 libs (也就是產出.so 的位置) [Build Option] Tab要勾選以下,就可以透過 clean 來啟動 ndk build 動作。 [Allocation in Console] [Launch in...
繼續閱讀

[OpenCV] 相機增加物件追蹤(Object Tracking)的部分

OpenCV是一個相當好用的影像處理SDK,除了可以快速開發相機測試程式之外,也有許多功能可以增加. 最近看到一般數位相機有類似的功能,於是去找了一下.以下是示意影片.完整網址在這裡,不過他有用到OpenFramework去操控OpenCV個人覺得不好使用.比較推薦直接使用OpenCV其實程式會很小.    研究了一下,發現其實效果不錯.於是整理出一個簡單的 VS2013 Console 的測試程式 (本來有想用 Python 後來發現需要太多的原件而且很難debug,所以先弄Windows版本)  https://github.com/kkdai/OpenCVConsole 這個測試程式主要可以讓我測試一些功能,他目前支援以下一些功能: 起始你的Camera 並且使用最預設的解析度 支援旋轉,他的熱鍵如下: t/T: 90度旋轉 f/F: 180度旋轉 r/R: 270度旋轉 n/N: 回復原狀 灰階化,方便之後做進階的影像處理(熱鍵 g/G) 物件追蹤,目前測試發現辨識率不高,並且灰色階也沒有差異.使用方式如下: 利用你的滑鼠去選取你要追蹤的部分 他會複製起來~並且把你要追蹤的部分用匡線標起來 狀況大概是以下狀態:
繼續閱讀