内容简介:CodeTengu Weekly 碼天狗週刊 - Issue 90 喜迎中華民國即將成為全亞洲第一個同志婚姻合法化的中國...
Hello World
CodeTengu Weekly 碼天狗週刊
CodeTengu Weekly 會在 GMT+8 時區的每個禮拜一 AM 10:00 出刊,每期會由三位不同的 curator 負責當期的內容,每個 curator 有各自擅長的領域,如果你在這一期沒有看到自已感興趣的東西,可能下一期就會有了。你也可以瀏覽一下前幾期的內容。
目前的 curator 陣容:
- @vinta - I failed the Turing Test - 科幻迷,最近在讀Singularity Sky
- @saiday -Imnotyourson - 教召完領了 3500,得了毛囊炎
- @tzangms -Oceanic / 人生海海 - 衝動型購物
- @fukuball -ImFukuball - 有新工作了,但歡迎直接挖角
- @mingderwang - Ethereum enthusiast
- @kako0507 - 熱愛嘗試新事物的前端工程師
- @chiahsien - 在這裡寫歡迎挖角真的有用嗎 有讀者留意過這一區塊嗎 XD
- @hiroshiyui - 歧路亡羊與中年危機的典範
- @uranusjr -Smaller Things - 看了尼爾自動人型的結局連假只想躲在被窩裡哭
- @kkdai -態度萬歲 - 喜歡 Golang 的略懂工程師,最近在學機器學習 (疑?)
- @yhsiang
- @johnlinvc - 差不多該學個新程式語言了
你也可以關注我們的Facebook、 Twitter 、 GitHub ( Open Source 專案 )或微博,有很多 Weekly 看不到的內容。有任何建議或疑問也歡迎來Gitter 聊聊。
致力於解決開發者之間的資訊不對稱
@vinta
Build a recommender system with PySpark: Implicit ALS
最近認真地在研究機器學習和推薦系統,感覺像是打開了一片新世界啊,發現了很多有趣的東西,雖然也發現要學的東西真的好多。
前陣子用 Spark 寫了一個 GitHub repositories 的推薦系統,以 user 在 GitHub 上所打星的 repo 作為協同過濾的數據來源,用了隱式反饋的 ALS 算法來訓練模型。期間也花了不少功夫熟悉了一下 PySpark 的用法和推薦系統在離線訓練時的整個流程。這篇文章就是當初記錄下來的程式碼和相關知識,有興趣的朋友可以一起來研究研究。
延伸閱讀:
- vinta/albedo - 完整的程式碼
Scala for the Impatient
"Currently the best compact introduction to Scala" — Martin Odersky
雖然目前 Spark 的 Python API 支援度已經挺不錯了,但是遇到一些需要客製化的情況時,Python 寫起來還是綁手綁腳的,畢竟 Spark 終究還是 Scala 寫的。而且就像我們的另一位 curator@johnlinvc 說的,也是差不多該學個新的程式語言啦。所以上禮拜決定來學 Scala。
稍微 google 了一下發現最多人推薦的書是 Scala 的發明者 Martin Odersky 寫的Programming in Scala 和這本有 Martin Odersky 本人背書的 Scala for the Impatient 。不過因為 Scala for the Impatient 比前者稍微薄了一點,所以我就先讀了。忍不住要說,Scala 的各種語法實在太繁複啦,而且很多特性有夠魔性,我一開始還真有點頂不住。
延伸閱讀:
-
Learn Scala in Y Minutes
- 如果你沒耐心到連書都不想讀,雖然這樣好像不太好,你也是可以看看這份超濃縮的 tutorial,不過裡頭沒講到
trait
就是了
Netflix Recommendations: Beyond the 5 stars (Part 2)
本文的作者 Xavier Amatriain 是推薦系統領域的大神之一,現在是 Quora 的 VP Engineering。這篇文章是他在 Netflix(早期)設計推薦系統的經驗總結,讀完豁然開朗啊。
有興趣的人也可以在他的SlideShare 找到更多近期的關於推薦系統的簡報。
延伸閱讀:
机器学习中的数据清洗与特征处理综述
我們都知道 Feature Engineering 是絕大部份機器學習任務中相當重要的一環,重要到常常有人在說「數據和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已」。美团的這篇文章以「點擊下單率的預測」為例子(他們的主要業務就是團購和外送),把整個 Feature Engineering 會經歷的過程和常用的套路都講過一輪,讀完收穫不少。
美团点评技术团队的技術部落格上的文章幾乎每一篇的品質都很好,大家不要錯過。
延伸閱讀:
在日常的開發工作中,可能難免會遇到一些需要 retry 的情境,例如某些 network 或 database 相關的操作。 retrying
這套 Python library 提供了一個簡單好用的 decorator @retry()
,可以讓你指定需要重試的 exception、重試幾次、間隔多久以及是否逐漸增加重試時間等等的功能,簡單俐落。
@saiday
Making Mock Objects More Useful
Jon Reid 在 iOS Testing 領域耕耘很久,這是他在東京 try! Swift 給的 talk。
不過要談 Swift 的 Mock 之前有一個前提要先知道,我們用的 Mocking Framework 一般都是透過 Reflection 在 Runtime 的時候改變 mock object 的型別,但 Swift 的程序在 Runtime 是沒辦法被改變的,這個讓 Swift 更安全的特性,也導致 Mocking Framework 無從下手。這也是為什麼 Swift 的 Mocking Framework 看起來都比預想中還麻煩的緣故。
這個 talk 是介紹自己打造一個類似 Mocking Framework 提供的 mock object,裡面提到不少關於 Mock 跟 Unit Test 的實作觀念。自己做 mock object 要做的事情太多、太瑣碎,用一個好的 matcher:SwiftHamcrest 可以幫你省很多事。
註:這場 talk 的講話速度很慢,好像是為了做現場的即時口譯?
Boost Smooth Scrolling with iOS 10 Pre-Fetching API
以 iOS 開發的慣例:支援最新兩版。再過幾個月 iOS 9 就會被很多開發者停止支援了。
現在是時候來看一下 iOS 10 在 UICollectionView
及 UITableVIew
有一些關於 Cell 顯示的改變跟優化。
在 iOS 10 以前, UICollectionView
在不引入 Facebook 先進技術: Texture
(AsyncDisplayKit 改名成 Texture 了) 的某些情況下是會有無法避免的「畫面頓頓」問題,在 iOS 10 終於被處理了。
當然,最詳細的介紹在 WWDC Session: #219 What's New in UICollectionView in iOS 10
medium.comRoom Persistence Library
Google IO 宣布了 Android Architecture Guidelines ,其中我最感興趣的就是 Room,它是 SQLite 的 ORM,蛤,感覺老調重彈,其實真的就是舊瓶裝新酒,但語法比較現代,大量採用 annotation。但是我滿樂見的,Android 平台上的第三方 ORM, DAO 實在是多到不行,沒有一個處於絕對宰制地位的 library,這某種程度也讓社群在 persistence store 的討論成本變得很高,現在官方出來做了這件事情,就像 Google 後來自己維護Dagger 2 一樣,對新手跟社群很有幫助。
還可以跟LiveData 整合做 data observing,可惜 LiveData 似乎不能跟Data Binding 再做整合?
簡短介紹: Android Architecture Components – Looking at Room and LiveData – Part 1
android.comWhy Go gets exceptions right
王垠在 Kotlin 和 Checked Exception 表達了他對 Kotlin 沒有 Checked Exception 的遺憾,這個角度滿有趣的,我及我認識的 Java developer 對於 Checked Exception 的情緒也都滿複雜的。
說到底,Checked Exception 處理的問題就是那些可以再處理的例外,Effective Java Item 58 在談錯誤處理提到:
use checked exceptions for conditions from which the caller can reasonably be expected to recover
相較之下,我就覺得 Go 對於 recoverable conditions 的處理方式很不錯,所以貼了這一則。
我對於 Kotlin 不引入 Checked Exception 也很能理解,畢竟有 Checked Exception 就很難 functional 了呀。
延伸:被王垠批評的 Hejlsberg 批評 Checked Exception 的討論 The Trouble with Checked Exceptions
Integrating a comment system which cares about your privacy into ghost
@uranusjr 在第 85 期分享了 Replacing Disqus with GitHub Comments 的主題,當初看得我都想換了。
這次看到Isso 這套 commenting server(不是 service!),又看得我想換了!
slowb.ro@yhsiang
The state of JavaScript modules
前端在 2017 年五月的大事,應該就是主要的瀏覽器都開始支援 ES module。
這篇可以說是 ES module 懶人包,在介紹目前主流的 module 概念及使用方式。包括瀏覽器的 ESM、webpack 的 module 和 nodejs 中的 ES module。
How Should Microservice’s Communicate?
作者整理了該如何選擇 microservice 之間的溝通方式。不外乎是 pub/sub、request/reply 或 fire and forget。
如果要選擇 HTTP service,通常是你的 service 會暴露給外部使用者,或是會給瀏覽器存取。選擇 service bus 的話通常像是你會送很多相同訊息,或是訊息的順序很重要。
最後作者告訴我們應該要盡量避免使用 FTP server 或共享資料庫這些方法。
Introducing Launchpad: The GraphQL server demo platform
Apollo 的新專案,進階版的 GraphQL server playground,比相似的 GraphQL 多了編輯跟分享。
對於學習 GraphQL 或是實際上應用在專案,都很有幫助。
Sketch is not a UX design tool
作者在說明為什麼 sketch 不是 UX tool,然後重點是他提出了不少有趣的工具。
Random Cool Stuff
Stack Overflow: Helping One Million Developers Exit Vim
「我早年都是用 Vim 寫程式,也說不上特別喜歡,主要是當時還不知道怎麼退出 Vim」
由@vinta 提供。
The Day Google Had to 'Start Over' on Android
一開始 Google 收購 Android project 是想要防止 MicroSoft 透過高市佔率在手機市場再上演一次桌面市場的壟斷手段,Apple 在 2007 年忽然發表了有大觸控螢幕的 iPhone,已經做了兩年的 Android project 雖然軟體還不錯但也只能全部推掉重來。
“What we had suddenly looked just so . . . nineties,” DeSalvo said. “It’s just one of those things that are obvious when you see it.”
由@saiday 提供。
法枯謁 - 妙法無邊雷射蓮花
第八節、工作的時候不要講幹話 幹話就是如果你在那種情況下跟你爸或是你朋友這樣講這種話,會被揍。 為什麼在工作的時侯就能講的理所當然呢?
★☆☆ 不要因為上級指示就發出低能公告
報稅系統用 Mac 報稅常常失敗,不要發公告說「建議跟朋友借電腦」。
平常都在製造新聞,就不要以新聞道德在關鍵時刻消音加害人的姓名。
不要上級只用 line 就去「善意」提醒媒體不能報導加害人姓名。 特別是平常明明就沒在抓。
★★☆ 看清楚跟工作相關的法規、說明書
★★★ 同事上級講幹話,嗆他
由@saiday 提供。
weebly.com以上所述就是小编给大家介绍的《CodeTengu Weekly 碼天狗週刊 - Issue 90 喜迎中華民國即將成為全亞洲第一個同志婚姻合法化的中國...》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- CodeTengu Weekly 碼天狗週刊 - Issue 90 喜迎中華民國即將成為全亞洲第一個同志婚姻合法化的中國...
- 碼天狗週刊 第 135 期 @vinta - Kubernetes, Python, MongoDB
- 碼天狗週刊 第 140 期 @vinta - MongoDB, Kubernetes, NGINX, Google Cloud Platform, MySQL
- CodeTengu Weekly 碼天狗週刊 - Issue 89 我是十倍工程師,十倍爛的工程師 - May 22nd 2017
- CodeTengu Weekly 碼天狗週刊 - Issue 86 聽說有些人家裡的日曆上 5 月 1 日寫的不是「勞動節」而是...
- CodeTengu Weekly 碼天狗週刊 - Issue 91 如何檢查你的 Linux 作業系統是 32 位元或是 [敏感词已被...
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Spring 3.x企业应用开发实战
陈雄华 / 电子工业出版社 / 2012-2-1 / 90.00元
内容简介 Spring 3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。 Spring 3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架、REST风格的Web编程模型等。这些新功能实用性强、易用性高,可大幅降低Java应用,特别是Java Web应用开发的难度,同时有效......一起来看看 《Spring 3.x企业应用开发实战》 这本书的介绍吧!