FEX 技术周刊 - 2017/01/03
微信搜索『FEX』关注我们的公众号,及时获得最新资讯。
深阅读
张小龙首次全面阐述小程序
http://mp.weixin.qq.com/s?__biz=MjM5NTE4Njc4NQ==&mid=2657611912&idx=1&sn=f91c228764f9a3b4ed696276fae1ee1b
一个好的软件,一个好的工具应该让用户用完即走的。任何一个工具都是帮助用户提高它的效率的,用最高效率的方法去完成它的任务,这是工具的目的,工具的使命。什么是最高效的方法?就是用最短的时间去完成任务,也就是说一旦用户完成了它的任务,它就应该去做别的事情,而不是停留在产品里面。任何一个产品都不可能满足所有人的需求,我们必须要做很多的取舍。所有的应用程序应该是一种无处不在,但是又可以随时访问的一种状态。
What to learn in 2017 if you’re a frontend developer
https://medium.com/@sapegin/what-to-learn-in-2017-if-youre-a-frontend-developer-b6cfef46effd#.lsfa4327a
With our fast-paced ecosystem we tend to spend our time trying the latest inventions and arguing about them on the internet. I’m not saying we shouldn’t do that, but probably we should slow down a bit and take a look at things that don’t change much: they could greatly improve quality and value of our work, and understanding of those new tools. 另附:JavaScript New Year Resolutions Countdown ,两篇文章的建议都非常棒。
Learning from Lego: A Step Forward in Modular Web Design
http://alistapart.com/article/learning-from-lego-a-step-forward-in-modular-web-design
With hundreds of frameworks and UI kits, we are now assembling all kinds of content blocks to make web pages. However, such modularity and versatility hasn’t been achieved on the web element level yet. Learning from Lego, we can push modular web design one step forward.
Node.js Best Practices - How to Become a Better Developer in 2017
https://blog.risingstack.com/node-js-best-practices-2017/
In this article, we will go through the most important Node.js best practices for 2017, topics that you should care about and educate yourself in. Let’s start! 文中给出了一个非常霸气的项目:JavaScript Standard Style Guide http://standardjs.com/
The Ultimate Digital Clean-Up Checklist: Are You Prepared For The New Year?
https://www.smashingmagazine.com/2016/12/digital-clean-up-checklist/
This is not a generic article about unspectacular things like getting to inbox zero or changing the copyright year in your footer (although that’s a good idea!) — we published a detailed checklist of all of those details a couple of years ago. Instead, you’ll find below an overview of all of those obscure little things that I forget about every year; so, I decided to gather them all in one place once and for all.
从 Web 前端到客户端
http://mp.weixin.qq.com/s?__biz=MzA5NDY0ODkxNA==&mid=2649956710&idx=1&sn=8b168514de30f158ffa8cb7195701e66
https://mp.weixin.qq.com/s?__biz=MzA5NDY0ODkxNA==&mid=2649956713&idx=1&sn=bbd108fd0e0a116abaad517f040f6a10
美团的大前端模式。
2016前端开发技术巡礼
http://www.infoq.com/cn/articles/2016-review-frontend
像过去六年中的每一年一样,Web前端领域又产生了“面目全非”而又“耳目一新”的变化,不但旧事物持续不断地被淘汰,新事物也难保坐久江山,大有岌岌可危之势。开源界如群雄逐鹿,不断生产新的概念、新的框架、新的工具,去年中一些流行的技术今年大多得到了进一步的演进和升级,活跃度非常高,却仍然不能保证前端的未来属于它们。在今年整体资本市场冷却的大环境下,to B的创业公司显现出了较强的生命力,这种类型的业务也给Web前端的工作带来了明显的差异性,工程师整体技能方向也展露出一丝不一样的分支。另附:送给你的100篇前端技术好文、2016移动开发技术巡礼
2016-我的前端之路:工具化与工程化
https://zhuanlan.zhihu.com/p/24575395
2016-我的前端之路:工具化与工程化从属于笔者的Web 前端入门与工程实践,本文承接自笔者去年的年度总结:2015-我的前端之路:数据流驱动的界面。另外如果对整体编程技术体系与思维感兴趣的推荐阅读另一篇盘点文章:2016-我的技术之路:编程知识体系结构图。
Vue in 2016
https://medium.com/the-vue-point/vue-in-2016-8df71d98bfb3#.g4bu5nm2h
Vue 2016 年进化挺快的,能做到与 React、Angular 三分天下,挺不容易的。附:[译]React还是Vue:你该如何选择
小公司的一年,一起看看小公司的前端可以怎么做
http://www.cnblogs.com/yexiaochai/p/6232328.html
核心观点是技术体系化:在小公司,因为很多基础设施都不成熟,这个会让我们有将技术业务体系化&服务化的机会,而体系化后的技术便是公司的财富也是研发团队的技术壁垒,他能大幅度的提高效率,这个是一个生态体系,一旦生态体系成熟后,牵一发而动全一身,就不是任何人能轻易接手的了。
京东2016版首页改版前端总结
https://aotu.io/notes/2016/12/26/jd-index-2016-summary/
本文主要对京东首页改版工作中提炼的工作方法和优化方式做出一定的总结。这次改版,在前端架构上大体还是沿用过去的架构,使用 jQuery + Seajs 这种古老的开发方式,因为首页还依赖着许多旧的系统与组件,无法在短时间内对基础架构进行升级,当然并不是说旧的就不好,要去盲目追求一些新的东西,而是这种架构还是有可以提升的地方。
Docker Internals
http://docker-saigon.github.io/post/Docker-Internals/
Docker 原理的详细介绍
WIP: Faster HTTP for Node.js
https://github.com/uWebSockets/uWebSockets/wiki/WIP:-Faster-HTTP-for-Node.js
WebSockets are an extension to the HTTP protocol. You need an HTTP server to accept WebSockets and you need to integrate properly with the HTTP protocol. I’ve been working to polish the native HTTP server of µWebSockets into a state where it can serve as the low level foundation of Node.js apps. Currently I have quite the foundation ready, it works for simple apps, but I will need some more time before I feel comfortable releasing this.
Even Faster Images using HTTP2 and Progressive JPEGs
http://calendar.perfplanet.com/2016/even-faster-images-using-http2-and-progressive-jpegs/
Progressive images render faster on HTTP2, thus increasing perceived performance. Take control of progressive JPEG’s scan layers to show meaningful image content with only 25% of image data sent. Use HTTP2 Server Push for progressive JPEG scan layers to maximize rendering performance for key images.
教你如何搭建一个超完美的服务端渲染开发环境
http://www.jianshu.com/p/0ecd727107bb
前段时间公司有一个产品需求要求使用Node.js中间层来做服务端渲染,于是翻遍了整个技术社区,没有找到一个特别合适的脚手架,作为一个有追求的前端攻城狮,决定自己去搭建一套最完美的服务端渲染开发环境,期间踩过无数的坑,前前后后差不多折腾了三周时间。另附相关话题:基于 IMVC 的新一代前端架构。
如何写出好的 JavaScript —— 浅谈 API 设计
http://mp.weixin.qq.com/s?__biz=MzA4NjE3MDg4OQ==&mid=2650964146&idx=1&sn=6ca5de478d3c9c4a700a9ef281ee505d
通过一个问题的多种实现方式来探索如何更好地组织代码。设计是把双刃剑,繁简需要权衡,尺度需要把握。
写代码简单,程序设计不易,需要走心。另附:如何设计友好的 WebHook
一名资深质量工程师总结的4个工作思路
http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659598767&idx=1&sn=f77d153efb7a2460cff22624451791cc
关于质量和过程的两个进阶:引领品质输出QA的价值,做全流程质量保障;Top问题驱动闭环,立专项优化体验;监控即上线、定位即上线,练就业务质量刻画和分析能力;成为一名质量分析师,提升系统性思维,风险评估及安全意识。
[译]现代垃圾回收
http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653548163&idx=1&sn=870f487c65d48513c1045b6286474641
这篇文章的目的并不是说服去使用另一门编程语言或者工具。而是仅仅想要表达:垃圾回收是一个异常复杂的问题。所以对于这一领域中一切所生成的突破性成果都需要先保持一个怀疑的态度。它们很有可能仅仅是没有说出其他方面的权衡而已。但是,如果你并不介意其他方面的代价,而仅仅想要最小化暂停时间,那么,请使用 Go 的垃圾回收器。
[译]如何编写自己的 Native Bridge
http://efe.baidu.com/blog/how-to-create-you-own-native-bridge/
Native Bridge 到底是通过什么『魔法』打通了 JavaScript 和 Objective C 这两种不同编程语言之间的边界。正因为缺少对这部分内容的了解,才促使我花了一些时间做了这些调研,然后把我的理解通过这几篇文章分享给大家。
V8: Behind the Scenes
http://benediktmeurer.de/2016/12/20/v8-behind-the-scenes-december-edition/
V8 中是如何实现 WebAssembly 的
从GitHub何Stack Overflow说开去:后开源时代,开源的未来往哪边
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650995154&idx=1&sn=a671ddd48ebe3aeb22b8df6f23384366
开源改变了世界,世界也回报了开源。我们现在正处在开源的黄金时代,但随着开源成指数级的规模增长,有很多挑战亟待解决。开源的冬天已经逼近,似乎也不是一个危言耸听的观点?另附:两岸开源社群面面观、当你决定把代码开源之前先选择一个合适的 License。
Why I close PRs (OSS project maintainer notes)
http://www.jeffgeerling.com/blog/2016/why-i-close-prs-oss-project-maintainer-notes
I maintain many open source projects on GitHub and elsewhere (over 160 as of this writing). I have merged and/or closed thousands of Pull Requests (PRs) and patches in the past few years, and would like to summarize here many of the reasons I don’t merge many PRs.
新鲜货
微信终端跨平台组件 mars
http://mp.weixin.qq.com/s?__biz=MTEwNTM0ODI0MQ==&mid=2653433802&idx=1&sn=87e7b5dc3495f13698c8fe4769597f6f
https://github.com/Tencent/mars
Mars 是微信官方的跨平台跨业务的终端基础组件:
- comm:可以独立使用的公共库,包括 socket、线程、消息队列、协程等;
- xlog:高可靠性高性能的运行期日志组件;
- SDT: 网络诊断组件;
- STN: 信令分发网络模块,也是 Mars 最主要的部分
码农第26期 - 经典C++
http://www.ituring.com.cn/book/1935
时至今日,C++仍然是计算机编程领域的经典语言之一。它不再是当初的样子,稚嫩偶显笨拙,在C++标准委员会的雕琢下,日臻完善。希望当初熬夜学习C++的你我,能跳出偏见,重新审视下这位老朋友!另附:访谈 - C++之父Bjarne Stroustrup: 简单的表述方式才是最优的方案
图灵2016年度技术类畅销新书TOP 20
http://mp.weixin.qq.com/s?__biz=MjM5Njc0MjIwMA==&mid=2649640854&idx=1&sn=0927323031c8b7e8ca38333f0efa0818
可以选择感兴趣的购买
[译]哪个编程语言最流行
https://linux.cn/article-8069-1.html
经常有人问哪个编程语言最流行?这问题很简单,但是回答起来可没那么简单。关键是,你该怎么定义这个“流行”?无论是 C++ 还是 Java,选一个学习就好了。然后是 JavaScript,越来越多的基于 Web 的应用需要良好的 JavaScript 技能。再然后是 PHP、Swift 或 Python 中选一个,这要看你的工作种类了。当你在这三个梯队中都学会一门后,你就可以根据你的情况学习更多的语言和框架了。
CSS Writing Modes
https://24ways.org/2016/css-writing-modes/
介绍了 writing-mode 这个 css 属性可以带来的神奇效果
高效利用Sentry追踪日志发现问题
http://mp.weixin.qq.com/s/gD4x89JYn6Ybx0X4_WdkgQ
用 Node.js 的同学们可以试试 Sentry 这个服务,非常有用。
Vue Material
https://vuematerial.github.io/#/
Build well-crafted apps with Material Design and Vue 2
微信小程序征服指南
http://weapp.masterstudio.tech/
『微信小程序』优秀教程、轮子、开源项目 资源汇总,长期维护更新中…另附:微信小程序全面实战 - 好奇心日历 & 日报、另附:如果你想做小程序,为什么不参考一下微信运动呢
Node.js Helps NASA Keep Astronauts Safe and Data Accessible
https://nodejs.org/static/documents/casestudies/Node_CaseStudy_Nasa_FNL.pdf
NASA(美国国家航空航天局)很多项目已经使用 Nodejs,包括宇航服的部分控制系统。
atom-in-orbit
https://github.com/facebooknuclide/atom-in-orbit
The goal of this project is to produce a version of Atom that runs in Chrome from Atom’s source that is as faithful to the desktop version as possible.
strman
https://github.com/dleitee/strman
A Javascript string manipulation library. 类似的库还有 voca string.js
grid-kiss: Keep CSS Grids simple, stupid
https://github.com/sylvainpolletvillard/postcss-grid-kiss
This is a PostCSS plugin aiming to replace the 24 new properties brought by CSS Grids with a single one that you immediately understand when you see it.
为什么 [ ] 是 false 而 !![ ] 是 true
https://www.h5jun.com/post/why-false-why-true.html
随月影温习下 == 的执行规则
WebRTC: the future of web games
https://getkey.eu/blog/5862b0cf/webrtc:-the-future-of-web-games
WebRTC is currently the only way a browser can exchange with the outside world in UDP-like fashion – disregarding Flash. While it is fairly recent, browser support is decent enough that Facebook Messenger, Skype and Google Hangouts started using it, to only name a few.
The little book about OS development
http://littleosbook.github.io/
This book is not about the theory behind operating systems, or how any specific operating system (OS) works. For OS theory we recommend the book Modern Operating Systems by Andrew Tanenbaum [1]. Lists and details on current operating systems are available on the Internet.
产品及其它
技术人员的发展之路
http://coolshell.cn/articles/17583.html
程序员老了怎么办?且听耗子哥为你解答。你在30岁前,工作5-7年,你需要拥有:高效的学习能力,这意味着——基础知识扎实、触类旁通、读英文文档不费劲、有寻找前沿知识的能力、能够看到问题和技术的本质、善于思辩、能独立思考;解决问题的能力,这意味着——你要高效的学习能力、见过很多的场景、犯过或是处理很多错误、能够防火而不是救火。个人发展的三个方向:1)在职场中打拼;2)去经历有意义有价值的事;3)追求一种自由的生活。
罗辑思维 - 2017年小心这5只黑天鹅
http://tech.qq.com/a/20170101/002776.htm
深度好文,罗振宇总结了他发现的2016年浮现的“五只黑天鹅”,分别是:
- 1)时间战场:互联网人口红利结束了。大公司的优势越来越巩固。流量的获取越来越难,时间会成为商业的终极战场。
- 2)消费升级:未来商业有两个流派:一个是让他上瘾,拖住他的时间;一个是提供服务,优化他的时间。所有的产业都必须向服务业无限接近。
- 3)智能革命:人工智能是下一个主战场。谁的数据更多,更精准,谁的技术怪兽就会被喂养得更强。人工智能不是人的延伸,它是人的替代。
- 4)认知迭代:交越来越贵的“共识税”,或者打越来越残酷的“认知战”。
- 5)后真相:过去谣言泛滥,是因为信息太少了。而后真相时代,是因为真相太贵了。
感兴趣的同学可以看由企鹅智库联合罗辑思维、开复老师等科技大佬推出的 分水岭大时代——中国互联网趋势预测白皮书
一篇文章,读完李叫兽方法2016
http://mp.weixin.qq.com/s?__biz=MzA5NTMxOTczOA==&mid=2650441925&idx=1&sn=430e62060cc2105554f795b927edea38
这篇文章,我就用七个关键词做为总结,让你两小时内,系统化读完一年“李叫兽”。李叫兽团队已被百度收购,他提出的“营销科学化”挺不错的。另附:运营简史:互联网运营的20年发展演变
对话俞军谈产品
共三篇文章:用户不是人,是需求的集合、产品经理的天赋论和后天养成、为什么我会对俞军的产品方法产生这两点怀疑,信息量很大,俞军将之前流传业界的 12 条军规浓缩为三条:
- 产品价值分析法:产品价值=(新体验-旧体验)-换用成本
- 用户样本量:用户即需求,用户是自然人的某一类需求,用户不是自然人,随着内外部场景变化会发生变化。
- 怀疑精神:自我迭代