FEX 技术周刊 - 2016/08/29
微信搜索『FEX』关注我们的公众号,及时获得最新资讯。
业界会议
第五届HTML5峰会暨iWeb峰会 - 8.27
http://2016.html5dw.com/beijing
http://www.techweb.com.cn/internet/2016-08-27/2381257.shtml
规模越来越大了,话题和关注范围也越来越广,一起了解下 Web 技术的业界现状吧,期待演讲材料打包放出。
深阅读
gRPC: a true internet-scale RPC framework is now 1.0 and ready for production deployments
https://cloudplatform.googleblog.com/2016/08/gRPC-a-true-Internet-scale-RPC-framework-is-now-1-and-ready-for-production-deployments.html
终于 1.0 了,看起来非常靠谱的 RPC 框架。另附:gRPC 初探。
Firing up the Ignition Interpreter
http://v8project.blogspot.jp/2016/08/firing-up-ignition-interpreter.html
简单介绍了 V8 中字节码解释器的原理,技术真是轮回,当年还以无解释器作为亮点呢
You Should Learn Vanilla JavaScript Before Fancy JS Frameworks
https://snipcart.com/blog/learn-vanilla-javascript-before-using-js-frameworks
Using a JS framework can surely bring you somewhere fast. But it won’t bring you far if you don’t understand the core concepts behind it. And I strongly believe that this “learn the basics/roots first” principle applies to pretty much everything in life. From learning a new programming language to starting a new sport. It requires a lot of practice, but once you master it, the only thing left to do is to get creative with it. And that’s where the real fun begins.
The State Of JavaScript: Front-End Frameworks
https://medium.com/@sachagreif/the-state-of-javascript-front-end-frameworks-1a2d8a61510#.6g0ujad23
Based on the current data, I think it’s safe to say that you can’t really go wrong with React, since it’s extremely widespread and has an above-90% satisfaction percentage. And although currently much smaller, Vue also seems like a good bet. 注:合适自己业务的框架比流行的框架更重要。这是对应的调查问卷:The State Of JavaScript - 2016 感兴趣的同学可以参与,后续还有分析报告。另附:Angular 2 vs React – What Developers Often Forget
A few HTML tips
https://hacks.mozilla.org/2016/08/a-few-html-tips/
https://hacks.mozilla.org/2016/05/css-coding-techniques/
A while ago I wrote an article with some CSS tips, now it’s time to give some polish to our HTML! In this article I’ll share some tips and advice about HTML code. Some of this guidance will be best suited for beginners – how to properly build paragraphs, use headings, or improve forms, but we will also discuss SVG sprites for icons, a somewhat more advanced topic.
Controlling the Node.js security risk of npm dependencies
https://blog.risingstack.com/controlling-node-js-security-risk-npm-dependencies/
Inevitably, using npm packages will expose you to security risks. Fortunately, there are several questions you can ask which can reduce your risk substantially. This post outlines these questions, and how to get them answered.
What is Serverless Computing? Exploring Azure Functions
http://www.hanselman.com/blog/WhatIsServerlessComputingExploringAzureFunctions.aspx
“Serverless Computing” doesn’t really mean there’s no server. Serverless means there’s no server you need to worry about. That might sound like PaaS, but it’s higher level that than. Serverless Computing is like this - Your code, a slider bar, and your credit card. You just have your function out there and it will scale as long as you can pay for it. It’s as close to “cloudy” as The Cloud can get.
Essential Electron
http://jlord.us/essential-electron/
Electron 非常全面的介绍。
是时候理清 React 开发中的一些疑惑了
https://segmentfault.com/a/1190000006685370
React其实很好上手,我在最初使用时并未去了解其一些细节性的东西,但是好像在项目中也一直能正常运作。但是那时总会有一种不安感,深感自己对React的使用逻辑并未理解得非常清晰,本文的目的就在于理清这种使用逻辑
说说浏览器端缓存的那点事儿-扑朔迷离的 etag 与 last-modified
https://github.com/rccoder/blog/issues/12
浏览器缓存是前端的基础,但其内在机制相信很多并不清楚,可以顺着这个文章及相关资料学习下。
Vuex — The core of Vue application
https://segmentfault.com/a/1190000006673171
当今,谈到状态管理首先想到的肯定是 Redux,而随着 Vue 2.0 的发布,Vuex 也伴随着推出了最新版,本文就带你对照 Redux 来看看刚刚出炉的 Vuex 2.0。
[译]如何运用最新的技术提升网页速度和性能
http://www.zcfy.cc/article/why-our-website-is-faster-than-yours-1030.html
作为软件开发者,我们会注重很多技术相关的零碎的东西。我们的目标是控制性能,注重性能,未来可伸展,为网站增添内容是一种乐趣。接着就来告诉你,为什么我们的网站速度比你们的快吧。另附:手机QQ及Qzone速度优化实践
滴滴出行业务系统的架构升级
https://github.com/DDFE/DDFE-blog/issues/6
来自滴滴系统重构经验,在组件化、标准化方面做了不少工作。赞这个抽象思考:所有的设计应该是自上而下,先从产品层面上规划核心业务的模式,然后考虑如何让产品技术实现它。
Composition Is King
https://www.joezimjs.com/javascript/composition-is-king/
Composition, or even just plain functions as shown at the end, can be used to untangle some of the nastiest patterns in object-oriented programming. Just remember: composition over inheritance… and keep is simple, no matter which way you go.
10 Tips for Better Redux Architecture
https://medium.com/javascript-scene/10-tips-for-better-redux-architecture-69250425af44
Now there are two clear winners for data management in React: Redux and MobX, and the latter isn’t even a Flux implementation. Redux has caught on so much that it’s not just being used for React anymore. The following are tips that will help you build better Redux apps.
Cache Fetched AJAX Requests Locally: Wrapping the Fetch API
https://www.sitepoint.com/cache-fetched-ajax-requests/
This article demonstrates how you implement a local cache of fetched requests so that if done repeatedly it reads from session storage instead. The advantage of this is that you don’t need to have custom code for each resource you want cached.
Arguments against JSON-driven development
http://okigiveup.net/arguments-against-json-driven-development/
对 JSON 在程序中究竟该如何使用的思考和建议。
移动客户端中高效使用 SQLite
http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653577674&idx=1&sn=b1136f8fa3b823c8ed1c2f1df060bf1d
这篇文章主要从 SQLite 数据库的使用入手,介绍如何合理、高效、便捷的将这个桌面数据库和 App 全面结合。避免 App 开发过程中可能遇到的坑,也提供一些在开发过程中通过大量实践和数据对比后总结出的一些参数设置。整篇文章将以一个个具体的技术点作为讲解单元,从 SQLite 数据库生命周期起始讲解到其终结。另外还有一篇 微信iOS SQLite源码优化实践
Android 动态链接库加载原理及 HotFix 方案介绍
http://mp.weixin.qq.com/s?__biz=MzA3NTYzODYzMg==&mid=2653577702&idx=1&sn=1288c77cd8fc2db68dc92cf18d675ace&scene=4#wechat_redirect
如何动态修复 so
怎样打造一个分布式数据库
http://www.infoq.com/cn/articles/how-to-build-a-distributed-database
对分布式数据库项技术的的介绍挺详细的,可以了解下业界这项关键技术的各种实现方式。
海量用户实时互动直播架构探索
https://segmentfault.com/a/1190000006678562
网络及架构方面需要注意的事情
新鲜货
Facebook - Segmenting and refining images with SharpMask
https://code.facebook.com/posts/561187904071636/segmenting-and-refining-images-with-sharpmask/?ref=mybridge.co
Can a computer distinguish between the many objects in a photograph as effortlessly as the human eye? When humans look at an image, they can identify objects down to the last pixel. At Facebook AI Research (FAIR) we’re pushing machine vision to the next stage — our goal is to similarly understand images and objects at the pixel level.
GitLab 8.11 released with Issue Boards and Merge Conflict Resolution
https://about.gitlab.com/2016/08/22/gitlab-8-11-released/
There are so many good things in GitLab 8.11, that I struggle to introduce all this without turning to superlatives. So, without further ado: With GitLab 8.11 you get a completely new way to manage your issues, you can resolve merge conflicts in the interface, you can restrict pushes to people and groups (in EE), you get an online IDE, you can use slash commands to modify issues and you can create as many issue templates as you want ..and many other new features.
Indexed Database API 2.0
https://www.w3.org/TR/2016/WD-IndexedDB-2-20160818/
This document defines APIs for a database of records holding simple values and hierarchical objects. Each record consists of a key and some value. Moreover, the database maintains indexes over records it stores. An application developer directly uses an API to locate records either by their key or by using an index. A query language can be layered on this API. An indexed database can be implemented using a persistent B-tree data structure.
Push.js
https://github.com/Nickersoft/push.js
Push is the fastest way to get up and running with Javascript desktop notifications. A fairly new addition to the official specification, the Notification API allows modern browsers such as Chrome, Safari, Firefox, and IE 9+ to push notifications to a user’s desktop. Push acts as a cross-browser solution to this API, falling back to use older implementations if the user’s browser does not support the new API.
Pure JavaScript version of Google Closure Compiler, the most advanced build tool
https://github.com/google/closure-compiler-js
Package for the JS version of closure-compiler for use via npm. This is an experimental release- some features are not available and performance may not be on-par with the Java implementation.
Babel 6.14.0 Released
https://babeljs.io/blog/2016/08/24/6.14.0
A new es2017, latest preset, and lots of fixes in this release.
“fs” unpublished and restored
http://status.npmjs.org/incidents/dw8cr1lwxkcr
For a few minutes today the package “fs” was unpublished from the registry in response to a user report that it was spam. It has been restored. If any of your modules are depending on “fs”, you can safely remove it from your dependencies, and you should. But if you don’t, things will continue to work indefinitely.
Linux25 周年:专访 Linux 之父 Linus Torvalds
http://tech2ipo.com/10028810
http://www.linuxidc.com/Linux/2016-08/134623.htm
赞:把去预测 Linux 的未来会是什么样的问题交给评论家们吧,我更愿意做一个脚踏实地的工程师,每天尽全力专注于 Linux 的每一个小问题和小决策。
前端 TOP 100 开源项目
https://www.awesomes.cn/rank
看看有哪些你还不知道
Test262 is a JavaScript Sideshow
https://bocoup.com/weblog/test262-is-a-javascript-sideshow
https://github.com/tc39/test262
TC-39, the standards body that defines JavaScript, maintains a gigantic suite of tests for the language. The name of that test suite is Test262. When we started extending Test262 to cover brand new language features, we knew we were in for some surprises.
koa-monitor
https://github.com/capaj/koa-monitor
Simple, self-hosted module based on Socket.io and Chart.js to report realtime server metrics for koa.js-based node servers.
**Open MCT **
https://github.com/nasa/openmct
Open MCT is a next-generation mission control framework for visualization of data on desktop and mobile devices. It is developed at NASA’s Ames Research Center, and is being used by NASA for data analysis of spacecraft missions, as well as planning and operation of experimental rover systems.
WebMonkeys
https://github.com/MaiaVictor/WebMonkeys
Allows you to spawn thousands of parallel tasks on the GPU with the simplest, dumbest API possible. It works on the browser (with browserify) and on Node.js. It is ES5-compatible and doesn’t require any WebGL extension.
Why You Need Types
http://jaysoo.ca/2016/08/23/why-you-need-types/
推广 Facebook 的 Folw https://flowtype.org/ 重点还在 Types,对应大型多人写作的项目 Type 还是很重要的。
产品及其它
Facebook CTO分享未来十年规划
http://finance.china.com/person/11173308/20160823/23352472_all.html
FB 的愿景拆分为三个核心领域:连接、人工智能、虚拟现实和增强现实。文章介绍了 FB 在这几个方向的行动,以及FB的“开源文化,自由环境,人才和管理机制等”。
4 年前端狗,2 年 CTO
http://www.jianshu.com/p/dc99d0da0c4b
还是挺不容易的。另附:程序员简易成长指南:从菜鸟码农到架构师。
大辉事件
http://weibo.com/ttarticle/p/show?id=2309404012320199153048
大V 间的纠纷,友谊的小船原来这么脆弱,IT 圈也是有故事的。
相关典型文:Fenng,祝你能创建一家伟大的公司 、谈谈冯大辉与丁香园 。
赞 caoz 的这段:“当你全身心去投入一个事业的时候,所谓头衔,所谓工作范畴,根本不是任何制约,用尽自己的能量,影响力,朋友圈,来为自己所热爱的事业尽可能的做出贡献,是一种事业心的本能”。
还是这个文章实在:译:一家初创公司的 CTO 应当做什么
裁员浪潮+寒冬大逃杀,互联网人该何去何从?
http://36kr.com/p/5051524.html
寒冬未必是坏事,冬去春来,自然规律如此。文中建议很实在:对3岁以内的互联网从业者而言,请尽量学会减少关注概念和大方向,转而更多思考“如何能够迅速积累起一项核心技能”,或是“如何成为一个领域内的专家”;不再那么在意你要去什么公司,而更多开始在意你可能会负责和参与些什么项目,以及在这些项目中你可能能够获得哪些资源、经验和技能积累;要学会相信一些更为长远的东西,而不是只一味看短期和眼前的回报
The Cuban CDN
https://blog.cloudflare.com/the-cuban-cdn/
古巴的互联网,就是个移动硬盘啊