Quantcast
Channel: CodeTengu Weekly 碼天狗週刊
Viewing all articles
Browse latest Browse all 109

CodeTengu Weekly 碼天狗週刊 - Issue 73 Merge branch 'develop' - Dec 19th 2016

$
0
0

Hello World

CodeTengu Weekly 碼天狗週刊

CodeTengu Weekly 會在 GMT+8 時區的每個禮拜一早上 10:00 出刊,每一期會從目前的 curator 名單中選出三位來負責當期的內容,每個 curator 各自負責不同的領域。如果你在這一期沒有看到自已感興趣的東西,說不定下一期就會有了。你也可以瀏覽一下前幾期的內容

以下是目前的 curator 陣容:

大家也可以關注我們的 FacebookTwitterGitHub微博,有很多 Weekly 看不到的內容。有任何建議或疑問也可以來 Gitter 聊聊,歡迎亂入。

致力於解決開發者之間的資訊不對稱

@mingderwang

Scanning Live Ethereum Contracts for the "Unchecked-Send" Bug

智能合約安全嗎?我也常被問到,怎麼寫智能合約才安全?其實是因為一般軟體處理的是 data (資料),智能合約處理的是 value (價值);因此,小小的錯誤,就有可能造成非常大的損失。因此正確的程式寫法或安全的設計模式 (Secure Design Patterns),在智能合約裡變得更加重要。不巧的是,剛開始 Solidity 的範例程式,也跟 C++ 的教科書一樣,為了方便讀者學習,拿掉許多檢查錯誤的程式碼。這樣的錯誤示範,更嚴重的影響到後來陸續開發出來的合約,theDAO 是最典型一個有程式漏洞的智能合約,它也是有史以來最大的眾籌募資 (1.5 億美金),但沒多久就被駭客偷走了 5,300 萬美元。

這篇文章,簡單的介紹什麼是有問題的程式寫法,當然也建議怎麼寫最好。目前這種問題的解決方法,就是利用工具來檢查這些錯誤的寫法,找出程式裡的安全漏洞,還有研究怎麼樣的設計模式,能避免類似的問題再次發生。

hackingdistributed.com

Debugging Node.js in Chrome DevTools

介紹大家一個簡單易用的 node.js 開發、除錯以及 profiling 工具,devtool。它功能之多,真的很難用言語形容。你們可以自己下載下來用用看,就知道它真的有多好用了。

svbtle.com

Jenkins Pipelines: What I Wish I Knew Starting Out

初學 Jenkins 者可能會覺得門檻很高,尤其是新的 2.0,最好用的應該是 Jenkins Pipeline 功能,但又要學一個語言叫 Groovy 才能使用。

這篇文章介紹為何他們選擇 Jenkins pipelines 當他們連續部署 (continuous deployment) 的工具,在使用過程中,他們也踩了不少雷。因此藉由分享他們的使用經驗,希望能省下大家學習與嘗試錯誤的時間。如果大家想更近一步的學習,可以從 Pipeline Examples 找到更多範例與樂趣。

medium.com

@kako0507

The Inner Workings Of Virtual DOM

Preact 是 lightweight 版本的 React library ,本篇文章會透過流程圖一步一步仔細探討 Preact 在 create 、 update 、 remove DOM 的流程,以及跟 React lifecycle 的關聯。

medium.com

Learning Progressive Web Apps Step by Step

Progressive Web App 透過 App Shell 的概念讓使用者在任何環境都可以順暢瀏覽網頁,這裡提供一個懶人包,除了介紹外,也有幾個 boilerplates 與 generators 方便玩玩第一個 PWA 網頁。

github.com

HTML Interactive Form Validation

HTML5 的 form validation 終於被實作在 Webkit 上,將來的 Safari 瀏覽器終於也可以使用原生的 validation attributes 以及 JavaScript API ,文內提供幾個簡單的例子以及 DEMO 。

webkit.org

Writing Efficient JavaScript

本篇文章提出了一些 rule ,經由 JIT compiler 的角度探討,透過確保 compiler 正確執行一些 code optimization ,以及撰寫更有效率的指令,來提升程式的效能,概念都非常簡單,值得一讀。

medium.com

@yhsiang

Functional Programming Patterns

非常值得一看的 Slide,重新把 functional programming 的基礎再重新走過一次。搭配一些簡單的範例,讓你更了解 functional programming 的優點。投影片以 typed language 作為主要範例,所以 clojure 或 javascript 的朋友如果沒有 haskell 或相關家族的語言經歷,可能會沒那麼容易體會。

slideshare.net

How SAML Authentication Works

企業中常常使用 SAML 作為 Single Sign-On (SSO) 的協定。文中介紹了 SAML 的優點,並且簡單講解了 SAML 是如何運作。

其實只需要看前面說明的部分,就可以了解 SAML 的運作,後面的篇幅在介紹如何使用 Auh0 的 SAML 功能。 有在尋找 Single Sign-On 解法的朋友也可以參考 OpenID Connect,不是之前曾經熱門過一陣子的 openid 2.0,他們是不同的協定。openid connect 是基於 Oauth2 加上了 JWT (JSON Web Token),也可以達成 SSO 的功能。想了解更多的朋友,我會在 GTG19 (Golang Taiwan Gathering #19) 有更多的介紹。

auth0.com

Trying out Postgres Bloom indexes

Postgres 9.6 新增了一個功能叫 Bloom indexes,可以先閱讀過前一篇 So what are Bloom indexes for Postgres? 來了解其作用。

這篇主要真的實驗了 Bloom indexes 的效果。就這篇的測試資料來說,結果算是很不錯。但在 summary 裡面有提到一些問題,所以使用上還是有要注意的地方。

cybertec.at

The Saga of Go Dependency Management

說明了 golang 套件管理的發展,以及目前成立了一個套件管理委員會。說明委員會的任務,還有他們第一次開會完的一些目標。

看起來 golang 的管理套件會採取和其他現代化的套件管理工具類似的做法。像是 SemVer、扁平的相依性、兩個檔案,一個作為套件版本號,另一個作為 lock 檔案。

這篇蠻適合剛接觸 golang 的新手了解目前 golang 發展的情況。

gopheracademy.com

For User Engagement, Forget Flow. It’s All About Fiero

Flow 是使用者體驗裡面常提到的,通常包括四個元素。

  1. 明確的目標
  2. 回饋
  3. 挑戰與鍛鍊的平衡
  4. 低風險的失敗

但是作者說明前兩個很容易,但是一般對於非遊戲化的系統,要做到遊戲化根本上缺少了第三項。 所以在嘗試遊戲化的過程中,你很難達到 flow 的設計精神。

作者說,重要的其實是 Fiero (成就感),當你越過任何難過時候達成的感受,才是讓你不斷努力的原因。 下次在你的設計中,試著嘗試加入一些成就感的體驗吧。

prototypr.io

Webpack Performance Budgets

medium.com


This RSS feed is published on http://weekly.codetengu.com/. You can also subscribe via email.


Viewing all articles
Browse latest Browse all 109

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>