FEX 技术周刊-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 方面的调优工具存在一定的短板。JavaScript 调优必备的 Chrome Devtools 针对前端场景,提供了 CPU Profile、Heap Snapshot 和 Heap Timeline 三种工具,却没有将 GC 日志直接暴露出来的功能,也没有相应的分析功能,相关的文档更是缺乏,日志的格式、字段的意义都免不了要阅读 V8 的源代码才能理解。这篇文章的目的之一,也是补足这方面的空白。

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/
前端应用(WebApp)正朝着大规模方向发展,在这个过程中我们会对项目拆解成多个模块/组件来组合使用,以此提高我们代码的复用性,最终提高研发效率。在编写一个复杂组件的时候,总会依赖其他组件来协同完成某个逻辑功能。组件越复杂,依赖越多,可复用性就越差,我们可以借助软件工程中优秀的编程理念来提高复杂组件的可复用性,以下将详述其中之一的依赖倒置理念。

[译]函数式编程术语解析
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/
函数式编程蔚然成风,越来越多的开源项目、技术交流在使用函数式编程的术语降低开发或沟通成本,这无形中对不了解函数式编程的开发者造成了一定的学习门槛,翻译本文的初衷就是要普及函数式编程的基本知识,从新的角度扩展编程思维。

Web 开发不应该这么复杂
https://v2ex.com/t/299785
没有前端怎么办?靠纯 HTML 渲染,不过这样性能真的好么

为什么 ReactJS 不适合复杂的前端项目?
http://insights.thoughtworkers.org/more-than-react-1/
吐槽 React 复杂且慢,不过 Scala 也是个被吐槽复杂度高的语言呢

使用React重构百度新闻webapp前端
http://wangfupeng.coding.me/share/2016/08/06/restruct-bdnews-webapp-by-react.html
来自百度新闻移动版的的 React 实践,React 在移动端上的应用越来越普遍了。

weex中使用数据流工具Vuex实践
https://github.com/weexteam/article/issues/62
本文主要记录的就是在用weex开发app过程中遇到的一个最大的问题——数据流管理问题,围绕着用weex来写单页app的情景来讨论。

ZeusPlugin:掌阅Android App插件补丁实践
http://www.jianshu.com/p/b1e7b6326330
Android 开发不搞插件化都不好意思和别人打招呼

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 在广告中用到的用户数据

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
如何选择一个移动端开发框架,可以通过这个文章了解下现有的移动端应用开发解决方案。

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.

关于高可用的系统
http://coolshell.cn/articles/17459.html
SLA的定义,这不仅仅只是一个技术指标,而是一种服务提供商和用户之间的contract或契约,并不简简单单的只是一个技术方案。如果你没有一套科学的牛逼的软件工程的管理,没有牛逼先进的自动化的运维工具,没有技术能力很牛逼的工程师团队,怎么可能出现高可用的系统啊。

过去十年,编程语言领域有什么重要进展
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650993799&idx=1&sn=a717fe979195daf871658f23ce871471
十年来,尽管软件行业发展迅速,热门编程语言的发展似乎却成了例外,始终未有太大改变。不过事实并不尽然,编程语言的真正变化在于:为了竞争存活,前十大热门编程语言都借鉴了其他语言的功能,作为新功能引入。究竟哪几方面变化明显?

SRE:源自Google的DevOps最佳实践
http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651661472&idx=1&sn=0a829928448dfeb6a562225a709b3bf7
从中可以了解 Google 的实践,推荐看这本书:Site Reliability Engineering

HTTP 协议入门
http://www.ruanyifeng.com/blog/2016/08/http.html
跟阮一峰老师一起回顾 HTTP 协议的发展历史,期待 HTTP2 的大范围应用。

新鲜货

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. 刚开源就引发一个激烈的讨论 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/
直观展示项目相关信息

第51期OSC源创会-图文回顾及PPT分享
http://www.oschina.net/question/2686220_2191774
话题有:云时代的企业运维转型——党受辉老师;Freezer—OpenStack Backup/Restore as a Service;数据可视化与大数据的结合——乔刚老师;透过 TheDAO 众筹安全事件看区块链安全问题;跨平台移动开发工具 Weex 开源之路。PPT 在文章末尾,感兴趣的请自取。

APMCon 2016中国应用性能管理大会圆满落幕(附完整PPT)
http://www.apmcon.cn/
http://mp.weixin.qq.com/s?__biz=MzA3MzYwNjQ3NA==&mid=2651297052&idx=1&sn=9f8bc1540cfec95c3b4132b7056e744f
APMCon是由InfoQ、极客邦与听云联合主办的高水准APM技术盛会,聚焦当前最为热门的移动端、Web端和Server端的性能监控和管理技术,整个会议设置包含了:性能可视化、服务端监控实践、运维自动化、数据库性能优化、APM云服务架构和HTML5调优最佳实践等话题。

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应用可能要被谷歌抛弃
http://tech.qq.com/a/20160821/018653.htm
谷歌宣布计划将会在2018年初停止支持针对Windows、Mac和Linux的Chrome应用。Chrome插件和主题将不会受到影响,而Chrome应用将会继续出现在Chrome OS中。
产品及其它

谷歌有个职位叫「产品伦理设计师」,任务是减少你刷手机的次数
http://www.geekpark.net/topics/216364
想象一下,如果成百上千工程师每天的工作就是发明让你沉迷的方法,是多么可怕。终极自由是思想的自由,我们需要科技帮助我们自由地生活、感受、思考以及行动。首先,我们需要智能手机、通知和浏览器成为能够展现完美价值而不是冲动的思想和人际关系的外骨骼。并且,人们的时间是宝贵的,我们应该像保护隐私和其他数字版权一样保护它。

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
总结得很精辟:有好奇心,能够主动学习新事物、新知识和新技能;对不确定性保持乐观;不甘于平庸,并不是专门指薪酬要很高或者技术很好,而是你对自己的标准一定要高;不傲娇,要能延迟满足感;对重要的事情有判断力。

傅盛-工作是最好的修行
http://fusheng.baijia.baidu.com/article/584556
人哪里需要远离凡尘?工作场所就是修炼精神的最佳场所,工作本身就是一种修行。只要每天努力工作,培养崇高的人格,美好人生也将唾手可得。你对待工作的态度,会实实在在影响你的人格和气质。把一件小事做到极致,平凡的你将变得不平凡。

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
在腾讯云,前端开发扮演的是一个偏体验的工程师,我们要保证每个产品的体验包括流程、便捷性是否足够完善。在腾讯云,后端开发要保证接口的原子性不出错,但是前端开发要把所有功能串起来,不能让用户觉得有问题,或是用某一个功能突然卡壳,这个是腾讯云对前端很重要的要求。赞这个理念:“我们希望自己团队的前端开发,即使有一天离开腾讯,在外面的公司也能承担起CTO的角色,而不是只能专注于某一个领域”

你可能感兴趣的:(FEX 技术周刊-2016/08/22)