[研討會心得][iThome GopherDay] What can Golang do? (Using project 52 as examples)

演講摘要 入手一個新的語言永遠不是一件簡單的事情。 不論是要學習 toolset 跟語言的語法,一直以來在過程中最大的問題永遠都會是:這個語言究竟能做些什麼? 講者曾經在 2015/06~ 2016/06 一年中挑戰自己每個禮拜寫一個小的專案,名為 “Project 52” 。透過 “Project 52”,講者會告訴你,究竟 Golang 能做些什麼: 簡潔的語法 強大的工具鏈 超高的效能 Google 開發出的 Golang 不僅僅能讓你更專注開發,還能幫助你開發高效的應用程式。 Slide iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples) from Evan Lin 心得 第一次台灣舉辦的 Golang 研討會。感謝 iThome 的工作人員。 整個會場人爆滿,加上有便當跟餐點都很棒。謝謝各位講者的分享。也希望每個聽眾都能 enjoy.
繼續閱讀

[研討會心得][iThome Cloud Summit 2017] The next generation of data center: Machine Intelligent Cluster

演講摘要 隨著時代的演進,管理機器的方式也隨著慢慢進化。隨著一台台機器的管理方式,變成了集群(Cluster)的管理方式. 而應用程式的部屬方始也從最原始的實體機部署,到了虛擬機器(VM)甚至到了容器(Container)的部署方式。 Kubernetes, DCOS 與 Docker Swarm 就是結合了容器部署與機器集群的管理方式的一個管理套件。但是集群的部屬方式並不代表你可以節省部署與維護的人力,因為隨著集群的數量變大,緊接來著就是需要更多管理的技巧。 比如說: 如何有效地管理集群的使用率? 如何讓集群內閒置機器能夠自動關閉? 如何有效地自動擴展你的集群? 如何讓集群偵測惡意攻擊或是自我修復? 講者將會帶來一個新的觀念,就是一個具有機器智能的集群管理系統。結合時下最受歡迎的機器學習架構(SMACK)與深度學習代表的 Tensorflow 如何讓你的集群能夠更有效地分析使用量,進而讓你的集群變得有智能。變成下一代的機器智能集群(Machine Intelligent Cluster)。 Slide iThome Cloud Summit: The next generation of data center: Machine Intelligent Cluster from Evan Lin 心得 今天在 iThome Cloud Summit 2017 的投影片. 第一次嘗試投影片不要做太多,然後講多一點.結果就是到後面講得有點趕. 很開心今天學員們都對這樣的議題很有興趣,也歡迎大家多多詢問.
繼續閱讀

[TIL][Python] Let's play darkflow and face_recognition

darkflow https://github.com/thtrieu/darkflow face_recognition https://github.com/ageitgey/face_recognition How to install in Mac OSX Install opencv3 + python3 + dlib Install cython on Python3: pip3 install cython Install darkflow git clone https://github.com/thtrieu/darkflow.git cd darkflow python3 setup.py build_ext --inplace pip3 install -e . Install face_recognition pip3 install face_recognition
繼續閱讀

[TIL][Python] OpenCV with Python2/Python3, dlib for python3

Python2 (opencv2) with Homebrew Python 2 brew install python brew install opencv python >>> import cv2 Python3 (opencv3) with Homebrew and PIP Python3 brew install python3 brew uninstall opencv3 brew install opencv3 --without-python --with-python3 echo /usr/local/opt/opencv3/lib/python3.6/site-packages >> /usr/local/lib/python3.6/site-packages/opencv3.pth python3 >>> import cv2 Refer to this Install dlib (only for Python3) dlib is very useful for face detection machine learning, but it is hard to install on mac osx with python. compile issue and compile issue2 I got some script from this, but still not working for me. Using PIP3 to install dlib for python3 Install boost for python3 but not for python2 brew install boost-python --with-python3 --without-python pip3 install dlib python3 >>> import dlib Reference macOS: Install OpenCV 3 and Python 3.5 Faster video file FPS with cv2.VideoCapture and OpenCV opencv3: –with-python3 doesn’t work
繼續閱讀

[TIL] 為了自己的習慣,弄了一個簡單的服務 Github issue bookmark

本篇提到的開源專案: https://github.com/kkdai/bookmark-makerserver https://github.com/kkdai/bookmarks 起因 平時習慣拿 twitter 作為 bookmark 的概念,看到喜歡的鏈結或是網站就直接 tweet 出來. 但是都沒有記錄下來. 之前有想過透過程式設計週記的方式來記錄下來,但是又覺得太過流水帳而且沒有辦法有系統的分類. 想著想著就想到透過 Github Issue 來做這件事情,有以下的好處: 可以透過 Label 來分類 可以使用 Github 的搜尋功能來尋找想找的部分 可以補充很多的 comment 在同一個 issue 上面做為閱讀後的心得記錄.更方便未來搜尋. 架構 一如往常,我依舊使用許多免錢的架構.並且將整個流程都開源給大家分享,大家應該可以在五分鐘內建立自己的整體流程. 你可能要自己做的事情如下: 取得 Github Auth Token (去這裡) 取得 IFTTT Maker 帳號與權限 修改一下 IFTT Maker 資料. 詳細流程都在 https://github.com/kkdai/bookmark-makerserver 支援的語法範例 這裡提供一些 tweet 的範例,還有他會變成何種 github issue gernest/mention: Twitter like mentions and #hashtags parser for Go(Golang) # easy way to get hashtag in #golang https://github.com/gernest/mention Title: gernest/mention: Twitter like mentions and #hashtags parser for Go(Golang) Content: easy way to get hashtag in Labels: hashtags,golang Link: https://github.com/gernest/mention 希望能提供給一些需要的人,有任何問題歡迎發 issue 討論 .. 未來發展 幾個階段… 第一個階段應該會先支援 Facebook 貼文,並且根據我臉書文章格式來貼 Github issue 等收集好大量的 Github issue 後,應該會寫另外一個工具來定期(每個禮拜) 根據 Github issue 來產出 Monthly_README.md 甚至可以把這個機制弄成電子報… 恩… 應該說是部落格好一點.
繼續閱讀

[Coursera] Illinois: Cloud Computing Concept Part 1 : Week 5

課程鏈結: 這裡 學習鏈結: Week 1-2 Week 3 Week4 Week5 Mini Project (Gossip Protocol) 課程內容: 這裡先簡單的介紹整系列的課程內容,希望能讓大家了解這個課程想做什麼. 這整堂課主要是圍繞著 Cloud Computing 經常會使用到的技術與相關的概念. 整堂課其實只有一個程式語言作業: 使用 C++ 寫 Gossip Protocol 雖然課程裡面程式語言的作業不多,但是整體上的內容還算不少. 除了有談到一些雲端技術的基本概念: Map Reduce Multicasting and Gossip Protocol P2P Protocol and System K/V DB, NOSQL, and Cassandra (畢竟都談了 Gossip) Consensus Algorithm - Paxos, FLP Proof 其實課程內容很有料,也可以學到很多的東西. 前提: Snapshots Global Snapshot Global Snapshot = Global State =Individual state + communication channel 時間不同步的時候所造成 Global Snapshot 會失敗的原因 時間不正確 無法抓到溝通的狀態 任何造成 Global Snapshot 變動的原因: Process send/receive message Process move one step 以一個範例來解釋演算法 基本定義: There are no failures and all messages arrive intact and only once The communication channels are unidirectional and FIFO ordered There is a communication path between any two processes in the system Any process may initiate the snapshot algorithm The snapshot algorithm does not interfere with the normal execution of the processes Each process in the system records its local state and the state of its...
繼續閱讀