FEX 技術(shù)周刊-2016/08/22

深閱讀

The cost of small modules
https://nolanlawson.com/2016/08/15/the-cost-of-small-modules/
In this post, I’d like to demonstrate that small modules can have a surprisingly high performance cost depending on your choice of bundler and module system. Furthermore, I’ll explain why this applies not only to the modules in your own codebase, but also to the modules within dependencies, which is a rarely-discussed aspect of the cost of third-party code.

The Basics of Web Application Security
http://martinfowler.com/articles/web-security-basics.html
Modern web development has many challenges, and of those security is both very important and often under-emphasized. While such techniques as threat analysis are increasingly recognized as essential to any serious development, there are also some basic practices which every developer can and should be doing as a matter of course.

Offline Storage for Progressive Web Apps
https://medium.com/dev-channel/offline-storage-for-progressive-web-apps-70d52695513c#.o5odlsdv7
Internet connections can be flakey or non-existent on the go, which is why offline support and reliable performance are common features in Progressive Web Apps. In this post, I’ll summarize some ideas around offline data storage for PWAs?—?think the JSON payloads, images and general static data required to provide a meaningful experience offline.

解讀 V8 GC Log
http://alinode.aliyun.com/blog/37
http://alinode.aliyun.com/blog/38
JavaScript 作為一個來自客戶端場景的語言,在 GC 方面的調(diào)優(yōu)工具存在一定的短板。JavaScript 調(diào)優(yōu)必備的 Chrome Devtools 針對前端場景,提供了 CPU Profile、Heap Snapshot 和 Heap Timeline 三種工具,卻沒有將 GC 日志直接暴露出來的功能,也沒有相應(yīng)的分析功能,相關(guān)的文檔更是缺乏,日志的格式、字段的意義都免不了要閱讀 V8 的源代碼才能理解。這篇文章的目的之一,也是補(bǔ)足這方面的空白。

The 16 Most Popular React Links So Far in 2016
https://medium.com/cooper-press/the-18-most-popular-react-links-so-far-in-2016-b3492c0d9f03#.f5i76m6ql
We’ve looked through the stats for the 20 issues of JavaScript Weekly published so far in 2016 and have collected together the most popular React articles, videos and tutorials readers have clicked on.

The rise of functional programming & the decline of Angular 2.0
http://blog.wolksoftware.com/the-rise-of-functional-programming-and-the-death-of-angularjs
Learn why we believe that the rise of functional programming (FP)
will prevent Angular 2.0 from being as successful as its predecessor.

Constant confusion: why I still use JavaScript function statements
https://medium.freecodecamp.com/constant-confusion-why-i-still-use-javascript-function-statements-984ece0b72fd#.70d2vnxuw
Function 和 Arrow Function 各自使用場景的討論

前端 IoC 理念入門
http://efe.baidu.com/blog/introduction-about-ioc-in-frontend/
前端應(yīng)用(WebApp)正朝著大規(guī)模方向發(fā)展,在這個過程中我們會對項(xiàng)目拆解成多個模塊/組件來組合使用,以此提高我們代碼的復(fù)用性,最終提高研發(fā)效率。在編寫一個復(fù)雜組件的時候,總會依賴其他組件來協(xié)同完成某個邏輯功能。組件越復(fù)雜,依賴越多,可復(fù)用性就越差,我們可以借助軟件工程中優(yōu)秀的編程理念來提高復(fù)雜組件的可復(fù)用性,以下將詳述其中之一的依賴倒置理念。

[譯]函數(shù)式編程術(shù)語解析
http://pinggod.com/2016/%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B%E6%9C%AF%E8%AF%AD%E8%A7%A3%E6%9E%90/
函數(shù)式編程蔚然成風(fēng),越來越多的開源項(xiàng)目、技術(shù)交流在使用函數(shù)式編程的術(shù)語降低開發(fā)或溝通成本,這無形中對不了解函數(shù)式編程的開發(fā)者造成了一定的學(xué)習(xí)門檻,翻譯本文的初衷就是要普及函數(shù)式編程的基本知識,從新的角度擴(kuò)展編程思維。

Web 開發(fā)不應(yīng)該這么復(fù)雜
https://v2ex.com/t/299785
沒有前端怎么辦?靠純 HTML 渲染,不過這樣性能真的好么

為什么 ReactJS 不適合復(fù)雜的前端項(xiàng)目?
http://insights.thoughtworkers.org/more-than-react-1/
吐槽 React 復(fù)雜且慢,不過 Scala 也是個被吐槽復(fù)雜度高的語言呢

使用React重構(gòu)百度新聞webapp前端
http://wangfupeng.coding.me/share/2016/08/06/restruct-bdnews-webapp-by-react.html
來自百度新聞移動版的的 React 實(shí)踐,React 在移動端上的應(yīng)用越來越普遍了。

weex中使用數(shù)據(jù)流工具Vuex實(shí)踐
https://github.com/weexteam/article/issues/62
本文主要記錄的就是在用weex開發(fā)app過程中遇到的一個最大的問題——數(shù)據(jù)流管理問題,圍繞著用weex來寫單頁app的情景來討論。

ZeusPlugin:掌閱Android App插件補(bǔ)丁實(shí)踐
http://www.itdecent.cn/p/b1e7b6326330
Android 開發(fā)不搞插件化都不好意思和別人打招呼

98 personal data points that Facebook uses to target ads to you
https://www.washingtonpost.com/news/the-intersect/wp/2016/08/19/98-personal-data-points-that-facebook-uses-to-target-ads-to-you/
FB 在廣告中用到的用戶數(shù)據(jù)

HOW TO KEEP HIS NPM DEPENDENCIES UP-TO-DATE
http://blog.js-republic.com/keep-npm-dependencies-up-to-date/
After we have installed NPM dependencies, we don’t take care of their new versions. After some months, we realize that the project is completely outdated and needs to be upgraded. The problem is that many dependencies contain breaking changes and it becomes a real pain to upgrade. To avoid this kind of problems, updating regularly is important. And rather than go yourself check each version of dependency, you can use one of the many solutions described here.

Is Guy Fieri in Your Node.js Packages?
https://nodesource.com/blog/is-guy-fieri-in-your-node-js-packages/
Do you even know all the packages your application is using? You are likely familiar with the top-level packages your applications use, that are listed in your package.json’s dependencies. But that’s just the tip of the iceberg. What do those packages depend on?

**
Web-native mobile app frameworks: How to sort through the choices**
http://techbeacon.com/web-native-mobile-app-frameworks-how-sort-through-choices
如何選擇一個移動端開發(fā)框架,可以通過這個文章了解下現(xiàn)有的移動端應(yīng)用開發(fā)解決方案。

Using Feature Queries in CSS
https://hacks.mozilla.org/2016/08/using-feature-queries-in-css/
With @supports, you can write a small test in your CSS to see whether or not a particular “feature” (CSS property or value)
is supported, and apply a block of code (or not)
based on the answer.

Writing Less Damn Code
http://www.heydonworks.com/article/on-writing-less-damn-code
Here are a few tips and ideas that might help. I’ve written about some of them before, but in terms of accessibility and responsive design. It just happens that a flexible, accessible Web is one we try to exert little of our own control over; one we do less to break.

Building A Server-Side Application With Async Functions and Koa 2
https://www.smashingmagazine.com/2016/08/getting-started-koa-2-async-functions/
First, I’ll recap what async functions are and how they work. Then, I’ll highlight the differences between Koa 1 and Koa 2. After that, I will describe my demo app for Koa 2, covering all aspects of development, including testing (using Mocha, Chai and Supertest)
and deployment (using PM2)
.

**
Let’s look at some of the security at Github**
https://chloe.re/2016/08/15/lets-look-at-some-of-the-security-at-github/
This is a short article showing five things I find awesome with Github’s security. Best of all is that we could learn from Github and follow their lead. This article is more a way of describing what I usually do; look at big actors and see how they’ve implemented their security and figure out why. Personally, this is a great way for learning about web application security defense.

關(guān)于高可用的系統(tǒng)
http://coolshell.cn/articles/17459.html
SLA的定義,這不僅僅只是一個技術(shù)指標(biāo),而是一種服務(wù)提供商和用戶之間的contract或契約,并不簡簡單單的只是一個技術(shù)方案。如果你沒有一套科學(xué)的牛逼的軟件工程的管理,沒有牛逼先進(jìn)的自動化的運(yùn)維工具,沒有技術(shù)能力很牛逼的工程師團(tuán)隊(duì),怎么可能出現(xiàn)高可用的系統(tǒng)啊。

過去十年,編程語言領(lǐng)域有什么重要進(jìn)展
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650993799&idx=1&sn=a717fe979195daf871658f23ce871471
十年來,盡管軟件行業(yè)發(fā)展迅速,熱門編程語言的發(fā)展似乎卻成了例外,始終未有太大改變。不過事實(shí)并不盡然,編程語言的真正變化在于:為了競爭存活,前十大熱門編程語言都借鑒了其他語言的功能,作為新功能引入。究竟哪幾方面變化明顯?

SRE:源自Google的DevOps最佳實(shí)踐
http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651661472&idx=1&sn=0a829928448dfeb6a562225a709b3bf7
從中可以了解 Google 的實(shí)踐,推薦看這本書:Site Reliability Engineering

HTTP 協(xié)議入門
http://www.ruanyifeng.com/blog/2016/08/http.html
跟阮一峰老師一起回顧 HTTP 協(xié)議的發(fā)展歷史,期待 HTTP2 的大范圍應(yīng)用。

新鮮貨

Node v4.5.0 (LTS)
https://nodesource.com/blog/node-js-v4-5-0-release-brief/
This release contains new Buffer constructor APIs previously only available in v6 , as well as the –zero-fill-buffers command line flag , proper handling of tabs when copied into the REPL , Intel Vtune profiling support , improved support for embedders , and better post-mortem data.

Another 10k Apart: Create a Website in 10 KB, Win Prizes!
http://alistapart.com/article/another-10k-apart
https://a-k-apart.com/
It gives us great pleasure to announce the 2016 10k Apart competition. Create a fully functioning website in 10 KB or less! Amaze your friends! Astound the world! Compete for fabulous prizes! Why 10k? Why now? It’s simple, really.

Go 1.7 is released
https://blog.golang.org/go1.7
There are several significant changes in this release: a port for Linux on IBM z Systems (s390x)
, compiler improvements, the addition of the context package, and support for hierarchical tests and benchmarks.

Microsoft - PowerShell is open sourced and is available on Linux
https://github.com/PowerShell/PowerShell
https://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/
PowerShell is a cross-platform (Windows, Linux, and OS X)
automation and configuration tool/framework that works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.)
, REST APIs, and object models. It includes a command-line shell, an associated scripting language and a framework for processing cmdlets. 剛開源就引發(fā)一個激烈的討論 remove curl and wget aliases

express-status-monitor
https://github.com/RafalWilinski/express-status-monitor
Simple, self-hosted module based on Socket.io and Chart.js to report realtime server metrics for Express-based node servers. More Node frameworks coming soon.

Node.js Client for Google Maps Services
https://github.com/googlemaps/google-maps-services-js
Use Node.js? Want to geocode something? Looking for directions? This library brings the Google Maps API Web Services to your Node.js application.

CircleCI
https://circleci.com/
CircleCI’s continuous integration and delivery platform helps software teams rapidly release code with confidence by automating the build, test, and deploy process. CircleCI offers a modern software development platform that lets teams ramp quickly, scale easily, and build confidently every day.

Simpler GitHub Pages publishing
https://github.com/blog/2228-simpler-github-pages-publishing
We’re making it easier to publish a website with GitHub Pages. Now you can select a source in your repository settings and GitHub Pages will look for your content there.

Introducing Webpack Dashboard
https://github.com/FormidableLabs/webpack-dashboard
https://formidable.com/blog/2016/08/15/introducing-webpack-dashboard/
直觀展示項(xiàng)目相關(guān)信息

第51期OSC源創(chuàng)會-圖文回顧及PPT分享
http://www.oschina.net/question/2686220_2191774
話題有:云時代的企業(yè)運(yùn)維轉(zhuǎn)型——黨受輝老師;Freezer—OpenStack Backup/Restore as a Service;數(shù)據(jù)可視化與大數(shù)據(jù)的結(jié)合——喬剛老師;透過 TheDAO 眾籌安全事件看區(qū)塊鏈安全問題;跨平臺移動開發(fā)工具 Weex 開源之路。PPT 在文章末尾,感興趣的請自取。

APMCon 2016中國應(yīng)用性能管理大會圓滿落幕(附完整PPT)
http://www.apmcon.cn/
http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=2651297052&idx=1&sn=9f8bc1540cfec95c3b4132b7056e744f
APMCon是由InfoQ、極客邦與聽云聯(lián)合主辦的高水準(zhǔn)APM技術(shù)盛會,聚焦當(dāng)前最為熱門的移動端、Web端和Server端的性能監(jiān)控和管理技術(shù),整個會議設(shè)置包含了:性能可視化、服務(wù)端監(jiān)控實(shí)踐、運(yùn)維自動化、數(shù)據(jù)庫性能優(yōu)化、APM云服務(wù)架構(gòu)和HTML5調(diào)優(yōu)最佳實(shí)踐等話題。

LogicJS
https://github.com/mcsoto/LogicJS
LogicJS adds logic programming to JavaScript.

Recharts
http://recharts.org/
A composable charting library built on React components. Recharts makes it easy to integrate charts into your React application.

Angular Material - 1.1 and 2.x
http://angularjs.blogspot.co.uk/2016/08/angular-material-11-and-2x.html
https://material.angularjs.org/
The release of Angular Material 1.1, now available for use with Angular 1.x applications. Angular Material 2 continues in alpha preview.

Vim 8.0 is coming
https://github.com/vim/vim/blob/master/runtime/doc/version8.txt
http://www.vim.org/
Work on Vim 8.0 is coming close to an end. I hope version 8.0 can be released in about two weeks. This is a last chance to modify new features in a way that is not backwards compatible. Once 8.0 is out we can’t make changes that would break plugins.

Chrome應(yīng)用可能要被谷歌拋棄
http://tech.qq.com/a/20160821/018653.htm
谷歌宣布計劃將會在2018年初停止支持針對Windows、Mac和Linux的Chrome應(yīng)用。Chrome插件和主題將不會受到影響,而Chrome應(yīng)用將會繼續(xù)出現(xiàn)在Chrome OS中。
產(chǎn)品及其它

谷歌有個職位叫「產(chǎn)品倫理設(shè)計師」,任務(wù)是減少你刷手機(jī)的次數(shù)
http://www.geekpark.net/topics/216364
想象一下,如果成百上千工程師每天的工作就是發(fā)明讓你沉迷的方法,是多么可怕。終極自由是思想的自由,我們需要科技幫助我們自由地生活、感受、思考以及行動。首先,我們需要智能手機(jī)、通知和瀏覽器成為能夠展現(xiàn)完美價值而不是沖動的思想和人際關(guān)系的外骨骼。并且,人們的時間是寶貴的,我們應(yīng)該像保護(hù)隱私和其他數(shù)字版權(quán)一樣保護(hù)它。

Google Duo, a simple 1-to-1 video calling app for everyone
https://googleblog.blogspot.com/2016/08/meet-google-duo-simple-1-to-1-video.html?m=1
Today, we’re releasing Google Duo — a simple 1-to-1 video calling app available for Android and iOS. Duo takes the complexity out of video calling, so that you can be together in the moment wherever you are.

張一鳴:年輕人能夠走向成功的五個重要能力
http://www.yixieshi.com/48881.html
總結(jié)得很精辟:有好奇心,能夠主動學(xué)習(xí)新事物、新知識和新技能;對不確定性保持樂觀;不甘于平庸,并不是專門指薪酬要很高或者技術(shù)很好,而是你對自己的標(biāo)準(zhǔn)一定要高;不傲嬌,要能延遲滿足感;對重要的事情有判斷力。

傅盛-工作是最好的修行
http://fusheng.baijia.baidu.com/article/584556
人哪里需要遠(yuǎn)離凡塵?工作場所就是修煉精神的最佳場所,工作本身就是一種修行。只要每天努力工作,培養(yǎng)崇高的人格,美好人生也將唾手可得。你對待工作的態(tài)度,會實(shí)實(shí)在在影響你的人格和氣質(zhì)。把一件小事做到極致,平凡的你將變得不平凡。

The traits of a proficient programmer
https://www.oreilly.com/ideas/the-traits-of-a-proficient-programmer
Competence means having enough experience and knowledge to get stuff done; proficiency involves knowing why you are doing something in a certain way, and how it fits into the big picture. In other words, a proficient practitioner is always a competent practitioner, but the opposite may not be true. Once you start focusing on proficiency, there’s a good chance that you will end up finding the true path to mastery.

十年鵝兄陳子舜-揭秘他的web前端專家之路
http://mp.weixin.qq.com/s?__biz=MjM5MDgwMzc4MA==&mid=2654860443&idx=1&sn=be79f2d8ce312c87eb4d72d506734bfa
在騰訊云,前端開發(fā)扮演的是一個偏體驗(yàn)的工程師,我們要保證每個產(chǎn)品的體驗(yàn)包括流程、便捷性是否足夠完善。在騰訊云,后端開發(fā)要保證接口的原子性不出錯,但是前端開發(fā)要把所有功能串起來,不能讓用戶覺得有問題,或是用某一個功能突然卡殼,這個是騰訊云對前端很重要的要求。贊這個理念:“我們希望自己團(tuán)隊(duì)的前端開發(fā),即使有一天離開騰訊,在外面的公司也能承擔(dān)起CTO的角色,而不是只能專注于某一個領(lǐng)域”

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容