前言: 最近 Google Taiwan 開啟一個計畫「Android App 開發培訓計劃 2021」,透過 Android Studio 跟著 Kotlin 這個語言來讓大家寫 Android App 。雖然我之前有寫過,但是也很久沒使用 Android Studio 了,來開啟專案看看吧。 不過一開始好像開啟錯誤的 codelabs www 不小心開到後面的 Use Kotlin Coroutines in your Android App,出現了一些問題,也順便解決一下。 如何設定環境(How to setup your Android 4.1 on Mac Catalina) 跟著這次的 Kotlin coroutine codelab 你會找到 Android Studio 下載的地方。 你也會找到相關的 github for Kotlin coroutine 。 然後透過 Android Studio 來打開 coroutines-codelab 的資料夾,你可能會出現以下的 Error 。 > License for package Android SDK Build-Tools 29.0.2 not accepted > License for package Android SDK Platform 29 not accepted. > Could not resolve all dependencies for configuration ':start:debugRuntimeClasspath'. > Could not create task ':start:minifyReleaseWithR8'. > Cannot query the value of this provider because it has no value available. 原因: 因為最新版本的 Android Studio 4.1.3 ,預設使用的 Android SDK 版本是 30 ,但是這次的 codelab 是使用舊版本的 29 來準備的。所以需要下載舊版本的 SDK 並且同意相關的 License 授權。 解決方式: [Preference] -> [System Setting] -> [Android SDK] -> Enable Android Platform 29 這樣下載 Android SDK 29 的時候,就會同時去同意 License 。 就可以正常的...
前言: 各位好, LINE Bot Go SDK 是一個經營超過了五年的專案,並且版本號碼也早就已經到了 v7.8.0 。 而本月月初 (2021/April) LINE Bot Go SDK 又有新的版本更新了,這次有支援到三月平台所提供新的功能,還有將去年公開的 FLEX Msg 的 update 2 更新了。歡迎大家使用。 這個套件已經更新到 v7 版本,才支援 Modules 。 結果一開啓就踩到雷,感謝台灣的網友 wys1203 送了 PR 修復。 我也整理一下相關心得,跟大家分享一下。 TL;DR 本篇文將要介紹以下一些的部分: 如何將舊的開源專案支援 Go Modules 發生問題了 無法更新版本 (Cannot update version by “go get”) pkg.go.dev 上面版本是舊的 Go Modules 對於 v2 之後的支援方式 如何修復? 有用到的人該如何修改? 結論 參考文章 如何將舊的開源專案支援 Go Modules LINE-BOT-SDK-GO 是 LINE 開源出來的對於 LINE Messanging API 所釋放出的開源套件,並且支援多個語言版本(Go., PHP, Java, Python) 。 原本這個 https://github.com/line/line-bot-sdk-go 的版本已經超過 v7 ,但是遲遲沒有支援 go modules 。 也就是並沒有 go.mod 在該專案的檔案下面。所以需要透過以下方式來啟動 Go Modules (Enable Go Modules) - go mod init - go mod tidy - go mod vendor 原本 PR 看起來也沒有太多的問題,於是就將新版本發佈出來。 (v7.9.0) 發生問題了 原本版本更新後,看起來也沒有太多問題。但是版本更新後卻發生了以下兩個問題: 無法更新版本 (Cannot update version by “go get”) 這時候我試著去更新一個本來有使用到 https://github.com/line/line-bot-sdk-go 的套件,正常的更新流程如下: >> go mod tidy go: finding module for package github.com/line/line-bot-sdk-go/linebot go: found github.com/line/line-bot-sdk-go/linebot in github.com/line/line-bot-sdk-go v7.8.0+incompatible 問題出來了,我明明有更新版本到 v7.9.0 但是卻無法抓到最新的版本? 於是我拿了一個新的專案,重頭試試看。 Copy https://github.com/line/line-bot-sdk-go/tree/master/examples/echo_bot to your go path go mod init go mod tidy 結果一樣是出現: >> go mod init go:...
創意競擇 - 從賈伯斯黃金年代的軟體設計機密流程,窺見蘋果的創意方法、本質與卓越關鍵 Creative Selection: Inside Apple's Design Process During the Golden Age of Steve Jobs 作者: 肯.科辛達 原文作者: Ken Kocienda 譯者: 洪慧芳 出版社:臉譜 出版日期:2021/01/26 買書推薦網址: 博客來: 購買網址 電子書: Readmoo 前言: 這一本是今年所讀完的第四本書。 當初也是聽到 「「現在開始你們都是鍵盤工程師!」iPhone 鍵盤的誕生與賈伯斯時代的蘋果軟體設計流程」的結果馬上就買了這一本書的電子版(週日買),作天晚上(週三)就看完了。 為什麼會這麼想要看這本呢? 我的理由如下: 這是第一本由 「蘋果首席iPhone軟體開發工程師」(註解: Principle iPhone Software Engineer,通常在外商科技公司中, Principle Software Engineer 通常就是非管理職的最高職位)所寫的書籍。 這也是一本講解有賈伯斯在的時候蘋果所產生出來的氛圍,還有一個好的功能是如何挑選出來的。 蠻推薦給大家看的,有興趣可以買來看。 內容簡介與心得: ──蘋果前iPhone首席軟體工程師獨家告白── ──Steve Jobs賈伯斯黃金時代蘋果創意法則全紀錄!── 蘋果產品全球有近二十億使用者,但催生、實現這些創意的所有工作流程, 由於內部嚴格的「保密條款」限制,始終成謎。 天才們究竟是如何孕育出iPhone、iPad、Safari……? 蘋果前首席軟體工程師,首度揭露賈伯斯黃金時代的蘋果設計開發流程,以及成就Apple的關鍵要素 章節條列 Introduction前言 The Demo演示 The Crystal Ball水晶球 The Black Slab黑色方碑 One Simple Rule大道至簡 The Hardest Problem最難的問題 The Keyboard Derby鍵盤大賽 QWERTY英打鍵盤QWERTY Convergence聚合 The Intersection交會點 At This Point此時此刻 Epilogue後記 整本書從一個 iPad 的鍵盤設計展示開始(也是作者最後一次在公司看到賈伯斯),慢慢回想到作者如何被找來蘋果開發軟體。 如何協助開發 Mac 上面的瀏覽器,也是因為瀏覽器的開發讓作者第一次感受到十倍工程師的能力。裡面的小故事是: 一開始作者想透過 Mozila 的原始碼修改移植到 Mac OS 上面。但是因為 Mozilla 實在太龐大了,所以導致作者花了六個禮拜還不能讓 Mozilla 在 Mac OS 上面正確的執行(應該說連編譯 compile 都不行)。 但是新成員查理的加入,他用了兩天的時間就就透過自己寫的一層 Shim 讓 Mac OS 能跑 KDE 上面的瀏覽器(Shim 是一層欺騙層,一方面騙 KDE 瀏覽器正在 KDE 上面,一方面騙 Mac OS 他跑的是 Mac 軟體。 (類似 Kubernetes 裡面的 Dockershim ) 這也是一個很特別的故事分享(原來強者可以兩天內寫好一個 shim 啊啊啊啊啊) 完成了 Mac OS 上面的瀏覽器(也就是我們後來熟知的 Safari ),作者有機會能高升為 iCloud (當時還是網路儲存),但是因為自己的不適應,竟然用跳槽威脅老闆們要當回工程師。(這也是很有趣的例子,原來真的有人願意單純當工程師)。 然後作者也加入了後來的 Purple 團隊(也就是蘋果最偉大的產品 iPhone)的團隊。 也是這個機會讓後來作者能有機會能夠在賈伯斯面前 demo 新功能「鍵盤的功能」。 現在 iPhone 上面的鍵盤就是作者參與製作的功能,並且也是作者打造出的自動拼字的功能,也是他打造出手指調整。也就是按鈕按下去得時候,往往使用者以為是指尖按到,但是往往會是指腹會先碰到螢幕。造成使用者以為不精準(其實是自己先碰到),連這個都能改善,真的是蘋果啊!! 心得:...