Translate

2018年9月22日 星期六

WWDC18 - Session 703 - Create ML in Playground



WWDC18 - Session 703 - Create ML

Create ML

WWDC18 針對 Create ML 所做的說明。
現在可以用 Swift 在 Playground 上做出 ML model 囉,做出來的 model 可以直接放進 App 裡面囉。

2018年6月29日 星期五

我第二隻 App - 運彩數據分析

各位好,我第二支 App 上架了,是關於運彩的,裡面還有報牌。
不過現在最熱門的足球還沒做,我們怕做完足球就踢完了。
但基本的 MLB 和 NBA 都有。
地方的工程師需要五星好評,謝謝大家

↓連結在這
https://goo.gl/xRT2uD



2018年6月9日 星期六

在 Mac 上架設 Jupyter Notebook 環境


原文放在 Medium

連結在這邊


目前,我本身的職務裡面並沒有需要用到 Python 的地方,所以這一篇主要的重點並不是用 Jupyter Notebook 來做一個專案的主軸,重點是放在讓 Python 來對某些資料來做前處理,之後再讓你的專案去吃那些被處理過的資料,讓你的生活過的比較輕鬆一點。 Make your life easier ! 因為 Python 社群已經具有各種強大的第三方庫,所以你很容易在裡面找到一個可以輕鬆對你的 raw data 做前處理的 library。如果沒有,你可以考慮用 Python 寫一個,然後放到 pip 上,讓這個 library 在你的領域能夠有所貢獻,說不定哪天因為太好用了,這個 library 就會發光發熱喔。
Life is short. You need Python! (人生苦短,我用 Python)

通常,安裝一個東西最簡單也最直覺的方法,就是連到官網,然後照著範例去做。http://jupyter.readthedocs.io/en/latest/install.html ,這就是 Jupyter Notebook 的官網,他很簡單的告訴你,因為 Mac 已經內建 Python 2.X 了,所以你只要直接打開你的「終端機」,然後輸入下面指令就可以安裝了。
pip install jupyter (如果你的系統沒有另外裝其他的 Python 版本,用這個)
pip3 install jupyter (如果你已經升級到 Python3,用這個)
但是你照著說明打入指令,你會得到 Permission Error.
為什麼照著說明來做,卻沒辦法安裝呢?
因為在 OS X El Capitan 以後,OS 系統加了 System Integrity Protection (SIP) 這功能。這功能預設是開啟的,這功能會鎖住所有帳戶且包含 root user 的權限,讓系統中重要的資料夾不會被更動。也因為 SIP 的這個邏輯, jupyter 在寫入資料的時候系統會直接擋住,我在 OS High Sierra 的版本時,即使用了 sudo 也是沒辦法寫入的。要看蘋果官方詳細說明請點這裡
這些路徑是被 SIP 鎖住的
知道問題是被 SIP 卡住,那解法就是找出更高層級的指令,把 SIP 關掉。但請記得一個原則,你只有在你知道自己要做什麼的狀況下,才去把 SIP 關掉。所以在這個例子,你知道你是要裝 Jupyter notebook 才關,那裝完後的任務和 SIP 已經沒有關係了,所以還要再進入系統層,把 SIP 開起來。

關掉 SIP 的方法。
  1. 重新開機
  2. 在開機時按住 command 鍵 + R ,這會讓你進入恢復模式。
  3. 在恢復模式下選擇 Terminal (終端機)
4. 在終端機輸入 csrutil disable,這樣 SIP 就被你關掉了。(打開 SIP 的指令就是 csrutil enable)
5.再重新開機,進入 Mac OS 後,你就可以使用 pip install jupyter 來安裝 jupyter notebook 了。

使用 Jupyter Notebook 的方法也很簡單。
  1. 在 Terminal 中先用 cd 指令進入你想要建檔的目錄 (如: Desktop)
2. 輸入 jupyter notebook 之後,你的 browser 就會開一個 jupyter 的頁面。
如果要在 terminal 下把 jupyter 關掉,就按 ctrl + C 就行了

而現在的 Python 社群,有兩個版本,而且這兩個版本的模組並不一定相容,甚致有可能出現了 A 模組只有 Python 2 有, B 模組只做了 Python 3。或者你只能用 Python 的某個版本才能做出你要的東西。像是 WWDC 18,蘋果的人在示範 Machine Learning 的 curicreate 時,用的是 Python2,並非 Python3。而且我也是聽過有人在 2017 年的時候有說,Python3 訓練出來的模型,是塞不進 XCode 9 的。
所以為了將來準備,你最好讓 Jupyter Notebook 可以切換版本。在網路上我找到很多種方式來做,所以我就直接參考別人的做法。
先安裝各版本的 ipython notebook
pip2 install ipython notebook
pip3 install ipython notebook
再使用各版本的ipython 執行下列指令
ipython2 kernelspec install-self
ipython3 kernelspec install-self
這樣,你就可以在 jupyter notebook 開不同版本的 notebook 了
參考資料:

Prototype Pattern (原型模式) in Swift


我把原文寫在 Medium 了。

連結放這邊

點我

這是我看了 Pro Design Patter in Swift 後的心得,所以裡面的文脈都是繼承自書裡面的內容。
這可以算是讀書心得。

2018年5月19日 星期六

那些在 WWDC 18 Wallpaper 裡面的圖案,到底代表什麼呢?

今年的 WWDC 18 Wallpaper 裡面,存在很多不同的元件,這邊分享一下這些元件在 Apple Document 的名稱,以及他放在 線上 Document 哪邊。這篇並不會把所有 Wallpaper 上的元件都列出來,因為很多元件事實上在其他領域已經是非常常見的了。

這些元件是可以在 Apple document 裡面看到的。

歡迎點擊我看詳細


WWDC 2018 網路預測大整理

每年的 WWDC 對開發者而言,都像是個強檔電影一樣,在那個日期前,有許多的猜測都會出籠。今年的 WWDC 會在 6 月 4 日開始,持續到 6 月 8 日,為期五天,地點會在 San Jose 的 McEnery 會議中心。不過,在倒數的前幾個禮拜,我們可以先來看看現在在網路上的預測有哪些。

我在 Medium 上寫了一篇文章,收錄了其他人寫的預測文

請點擊這裡!!!

2018年2月6日 星期二

歌曲知識王更新到 V2.2.0

「歌曲知識王」更新到 V2.2.0 囉

更新內容:
.UI bugs fix
.iPad 版本更新

目前 iPad 的 UI 還沒修改到最完美的境界,但現在開始,你已經可以從 iPad 上的 App Store 上直接下載囉。

↓下載連結
https://itunes.apple.com/tw/app/id1273605195






2018年1月27日 星期六

歌曲知識王 - V2.1.0 更新

我們的版本更新到 V2.1.0 囉。
這一次的更新,是為了下一個功能所做的前期準備。
下一次的版本,我們會增加每週的分數排行榜。
如果有下載過的朋友,請至 App Store 上更新到最新版。

或是你對這個有一些特別的想法,也可以到臉書粉絲團裡面留言。

↓下載連結
https://goo.gl/jQ9S65


↓臉書粉絲團
https://www.facebook.com/SongQuizApp/