FEX 技术周刊 - 2016/09/26
微信搜索『FEX』关注我们的公众号,及时获得最新资讯。
业界会议
Node.js Interactive Europe 2016
https://blog.risingstack.com/tag/node-js-interactive/
附会上的一个重要演讲:The Progress of Node.js a Year Post Node.js and io.js Merge and Where the Technology is Going
RubyConf China 2016
http://rubyconfchina.org/#_4
RubyConf China 是由 Ruby China 社区以非盈利形式组织的一年一度的技术交流大会,自 2009 年始至 2015 年已成功举办了七届,我们会邀请国内外的明星开发者、知名项目 / 团队的负责人以及海内外技术专家来分享 Ruby 和相关领域的最新成果、经验总结。
深阅读
微信小程序
https://github.com/Aufree/awesome-wechat-weapp
http://wxopen.notedown.cn/
https://my.oschina.net/wwnick/blog/750055
应用号无疑将是接下来一段时间最火的话题,在其光环的背后是腾讯的开放战略、服务心态、精品意识。它将为行业带来什么,让我们拭目以待。产品相关的讨论:微信自己造了个 App Store,自此它的目标是苹果和 Google、关于微信小程序(应用号),这是三节课的全部看法和建议、它比微信小程序早出现半年,却不曾引爆技术圈、“微信应用号事件”始末及相关资料
TypeScript 2.0 is now available!
https://blogs.msdn.microsoft.com/typescript/2016/09/22/announcing-typescript-2-0/
TypeScript 2.0 has been a great journey for the team, with several contributions from the community and partners along the way. It brings several new features that enhance developer productivity, advances TypeScript’s alignment with ECMAScript’s evolution, provides wide support for JavaScript libraries and tools, and augments the language service that powers a first class editing experience across tools.
另附: If TypeScript is so great, how come all notable ReactJS projects use Babel
强类型的接受度已经越来越高了,TS、Flow 都是可选方案。
Introducing the GitHub Load Balancer
http://githubengineering.com/introducing-glb/
Over the last year we’ve developed our new load balancer, called GLB (GitHub Load Balancer). Today, and over the next few weeks, we will be sharing the design and releasing its components as open source software.
Testing Components in Angular 2 with Jasmine
https://semaphoreci.com/community/tutorials/testing-components-in-angular-2-with-jasmine
Components 是 Angular 2 的核心概念,这篇文章介绍了 components 是什么,为什么那么重要,如何测试他们。
Understand Functions in JavaScript
原文:http://www.codeproject.com/Articles/1130815/Understand-Functions-in-JavaScript
翻译:https://coyee.com/article/11179-understand-functions-in-javascript
文章详细介绍了 JavaScript 中的函数,包括定义、分类等。有助于进一步认识函数。
React 技术栈系列教程
http://www.ruanyifeng.com/blog/2016/09/react-technology-stack.html
React 如今的地位就如同若干年前 jQuery 的江湖地位,不懂 React 都不好意思说自己是前端了。如果你还不熟悉它怎么用,请跟随阮一峰老师的教程快速掌握这项基本技能吧。 jQuery 最终被浏览器借鉴为标准 API,若干年后 React 会不会也被浏览器内置支持呢?
Understanding REST And RPC For HTTP APIs
https://www.smashingmagazine.com/2016/09/understanding-rest-and-rpc-for-http-apis/
For the last few years, whenever somebody wants to start building an HTTP API, they pretty much exclusively use REST as the go-to architectural style, over alternative approaches such as XML-RPC, SOAP and JSON-RPC. REST is made out by many to be ultimately superior to the other “RPC-based” approaches, which is a bit misleading because they are just different. This article discusses these two approaches in the context of building HTTP APIs, because that is how they are most commonly used. REST and RPC can both be used via other transportation protocols, such as AMQP, but that is another topic entirely.
How Twitter deploys its widgets JavaScript
https://blog.twitter.com/2016/how-twitter-deploys-its-widgets-javascript
Deploys are hard and it can be frustrating to do them. Many bugs manifest themselves during deploys, especially when there are a large number of code changes. Now what if a deploy also goes out to millions of people at once? Here’s the story of how my team makes a deploy of that scale safely and with ease.
前端模板的原理与实现
https://segmentfault.com/a/1190000006990480
模板技术在前端领域是和 HTML/CSS/JS 同样重要的一大技术。时下流行什么react, avalon, angular, vue什么,其核心都离不开前端模板。理解前端模板,是我们了解MV* 的关键。
前后端分离架构下CSRF防御机制
http://feclub.cn/post/content/koa-grace-csrf
科普 Node 全栈模式下如何解决这个古老的安全问题。
arguments 对象的老历史
http://www.cnblogs.com/ziyunfei/p/5890322.html
围观下 args 的历史。
对当前单页应用的技术栈思考
https://zhuanlan.zhihu.com/p/22527235
听民工哥解读框架兴衰史及其背后的技术演进之路。
You Might Not Need Redux
https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367#.20fd9v3s1
Redux offers a tradeoff. It asks you to: Describe application state as plain objects and arrays. Describe changes in the system as plain objects. Describe the logic for handling changes as pure functions. None of these limitations are required to build an app, with or without React. In fact these are pretty strong constraints, and you should think carefully before adopting them even in parts of your app.
A Web for Everyone: Interviews with Web Practitioners — David Walsh
https://hacks.mozilla.org/2016/09/a-web-for-everyone-interviews-with-web-practitioners-david-walsh/
这位 cross-browser compatibility 的专家的理念非常赞:Don’t overestimate the difficulty of making a site compatible across browsers. Cross-browser compatibility isn’t as hard as it used to be. Everyone deserves the same experience if possible.
深入探索并发编程
http://www.chongh.wiki/blog/2016/09/19/sourcecontrol/
系列文章的第七偏,图文并茂,对并发、多线程有兴趣的同学可以学习这一系列文章。
深入理解Android之root原理
http://mp.weixin.qq.com/s?__biz=MzIzMjE1Njg4Mw==&mid=2650117774&idx=1&sn=567464fb5dedf2dca5c8dcc866e2abf9&chksm=f0980d32c7ef8424844be9ca9742be88fbd9aedb7ee16ee5b6c80b80cc2da78b646352f7754f#rd
很少人了解这个的原理吧
微信的聊天记录是如何保存在 iOS 里的?
http://daily.zhihu.com/story/8807166
存在本地的东西基本上都是没有秘密的
新鲜货
HHVM 3.15
http://hhvm.com/blog/11711/hhvm-3-15
修了不少 bug,性能也有所提升。另附:Redesigning the HHVM JIT compiler for better performance
Write the Web - On the Web
https://thimble.mozilla.org/en-US/
https://github.com/mozilla/thimble.mozilla.org
Thimble is an online code editor that makes it easy to create and publish your own web pages while learning HTML, CSS & JavaScript.
PM2 v2 - Bradbury
https://keymetrics.io/2016/08/24/pm2-v2-released/
PM2 V2 is about increased stability and performance, better support for Windows, and better integration for Docker users!
Homebrew 1.0.0
http://brew.sh/2016/09/21/homebrew-1.0.0/
Today I’m proud to announce Homebrew 1.0.0. In the seven years since Homebrew was created by @mxcl our community has grown to almost 6000 unique contributors, a wide-reaching third-party “tap” ecosystem and thousands of packages. We’ve been working hard over the last year to make some major changes to Homebrew that we’ve been wanting for a long time. There have been some hiccups along the way but we now have a more stable base for using and developing Homebrew in the future.
Swift 3.0
https://swift.org/blog/swift-3-0-released/
Swift 3.0 is a major language release. It is not source-compatible with Swift 2.2 and 2.3. Swift 3 is a huge release containing major improvements and refinements to the core language and Standard Library, major additions to the Linux port of Swift, and the first official release of the Swift Package Manager.
Android Studio 2.2
http://android-developers.blogspot.com/2016/09/android-studio-2-2.html
https://segmentfault.com/a/1190000006960138
Android studio 2.2的提升包含三大要素:更快,更加智能,Android平台支持。开发更加迅速,例如新的布局编辑器,其让开发者能更快的更简单的编写应用界面。开发更加智能,例如新的APK分析工具,增强了的布局代码审查,增加了代码分析等。Android平台支持则是针对Android7.0的支持,另外Android官方模拟器也已经发布。
jQuery 3.1.1 Released!
http://blog.jquery.com/2016/09/22/jquery-3-1-1-released/
This release includes some bug fixes and improvements. As with all patch version releases, there are no new features or intended compatibility issues (if upgrading from jQuery 3.0+) in this release.
地理信息可视化库
https://github.com/huiyan-fe/mapv
百度地图出品的地理信息可视化库Mapv。Mapv 是一款地理信息可视化开源库,可以用来展示大量地理信息数据,点、线、面的数据,每种数据也有不同的展示类型,如直接打点、热力图、网格、聚合等方式展示数据。 当前是Mapv 2.0的预发布版本,当前api是不稳定的并有可能随时发生变化。
微信 Tinker - 热更新方案Android
https://github.com/Tencent/tinker
http://www.diycode.cc/topics/321
Tinker is a hot-fix solution library for Android, it supports dex, library and resources update without reinstall apk.
Angular Router Final is Released
https://vsavkin.com/angular-router-final-is-released-5b450b09eb73#.4bbrjhrv0
Last week we released Angular Router 3.0 final. It took us a few attempts to arrive at this state, but we are happy with the result: it works rather well.
React Router V4
https://github.com/ReactTraining/react-router/blob/v4/README.md
改动很大的一次升级,这更新节奏让使用者情何以堪…
F - Functional Microservice Request Library
https://github.com/poly/f
f is a Functional Microservice Request Library. It’s a zero-dependency module that wraps HTTP(S) requests, intended for use with stateless, functional microservices. It’s built to work out-of-the-box with services created using the stdlib functional microservice platform, but can be configured to use any gateway (and associated platform or infrastructure provider).
Vux
https://github.com/airyland/vux
Vux 是一款基于 Vue 和 WeUI 开发的移动端 Web UI 组件,用来做今天微信开放的小应用再好不过了。VUE 社区越来越火了,另附来自饿了么前端团队的基于 Vue 2.0 的组件库,https://github.com/ElemeFE/element
Inky and Slinky
https://css-tricks.com/inky-and-slinky/
inky is a templating language tihat converts simple HTML tags into the complex table HTML required for emails. Slinky makes it easier to play around with Inky. In fact it could be your primary workflow if you design one-off emails pretty regularly.
Visual Studio Code 1.5.3 Released
https://code.visualstudio.com/updates#_153-fully-translated-build
The 1.5.3 release is our August release fully translated into the 9 supported languages.
腾讯QQ团队开源分布式后台服务引擎msec
http://haomiao.qq.com/
http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659598197&idx=1&sn=d32f74909ad70c1841f9fa5637cd893f
毫秒服务引擎(msec, 取英文名Mass Service Engine in Cluster的首字母组合)是腾讯的一个开源框架(将于12月左右开源),适用于在廉价机器组成的集群上开发和运营分布式后台服务。毫秒服务引擎集RPC、名字发现服务、负载均衡、业务监控、灰度发布、容量管理、日志管理、key-value存储于一体,目的是提高开发与运营的效率和质量。
GraphicsJS: A JavaScript Browser Graphics Library
http://www.graphicsjs.org/
一个基于 SVG/VML 的轻量的 JavaScript 图形库。拥有包括:友好的 API、富文本支持、虚拟 DOM、良好的兼容性等特点。
产品及其它
Google Allo: a smarter messaging app
https://googleblog.blogspot.com/2016/09/google-allo-smarter-messaging-app.html
Google Allo, a new smart messaging app for Android and iOS that helps you say more and do more right in your chats. Google Allo can help you make plans, find information, and express yourself more easily in chat. And the more you use it, the more it improves over time.
透过未来看现在,动态视角看技术决策
http://mp.weixin.qq.com/s?__biz=MzA4NTU2MTg3MQ==&mid=2655158606&idx=1&sn=bbed0e9301d1c83c9b5f820b9ad7312f
来自 58CTO 的关于技术决策的分享,有方案论有实践。技术人员无时无刻不在面临一些决策问题,小到解决一个问题,大到设计整个技术体系,这个文章分享的方法论和经验挺值得借鉴的。
是什么使一名好程序员变得伟大
http://www.zcfy.cc/article/what-makes-a-good-developer-great-1316.html
好程序员测试她的代码来确保它能正常工作。伟大的程序员测试她的代码来确保它不会不工作。好程序员写简洁的代码。伟大的程序员写简洁的代码,最后再整理一遍并为它撰写文档。好程序员能独立解决问题。伟大的程序员认识到她所在团队的专业知识的价值并在需要的时候充分挖掘团队的力量。好程序员学习效率工具并将它们有效地用于简化她的工作流。伟大的程序员自己定制工作来提高效率并改进她的工作环境和工作流。好程序员评审她团队成员的代码来保证质量。伟大的程序员在代码评审中给出详细的,合理的,建设性的评论来帮助与她一起共事的程序员,让他们在知识和专业领域上有所成长。
360前端负责人月影:赛跑项目和跳水项目的金牌含量其实一样
http://mp.weixin.qq.com/s?__biz=MzA4MTEzNzUwMw==&mid=2654880029&idx=1&sn=873c3f504d1f208ebef7e7244aabe067
前端很有必要分成两块:一个是专业的领域,还有一个是业余爱好者的领域。前端跟跑步差不多,你可以用记事本、用简单的标签随手写一个网页,很简单,但是从专业的角度来看,一个专业的产品很可能需要专业前端工程师追求毫秒级性能提升、像素级设计稿还原。这就是一种专业精神,只有真正从事这个行业,真正进入这个行业的专业领域的时候,你才能感受到;只有经过长年累月的积累和修炼,你才能达到这样的专业度。
告别PC论坛时代 网易宣布将停止论坛服务
http://tech.qq.com/a/20160925/007212.htm
继关闭网易社区、网易微博服务后,网易论坛也在宣布将与 10.19 停止服务。BBS 论坛这一古老的业务形态正在退出历史舞台。