FEX 技术周刊 – 2016/01/11

最后更新于:2022-04-01 00:04:36

## 业界 **CES2016 - 国际消费电子展** [http://digi.tech.qq.com/zt2015/CES2016/index.htm](http://digi.tech.qq.com/zt2015/CES2016/index.htm) 可以关注一下一些新鲜玩意。VR 今年最受关注。 ## 深阅读 **The DCI Architecture: A New Vision of Object-Oriented Programming** [http://www.artima.com/articles/dci_vision.html](http://www.artima.com/articles/dci_vision.html) Object-oriented programming was supposed to unify the perspectives of the programmer and the end user in computer code: a boon both to usability and program comprehension. While objects capture structure well, they fail to capture system action. DCI is a vision to capture the end user cognitive model of roles and interactions between them. MVC 的创始人从思想源头分析了OO 及 MVC 的本质及其缺陷,并提出一种新的架构模式来解决它们存在的问题,对理解 GUI、OO、MVC 非常有帮助。 **2015 HackerNews 的最佳文章 Top 50** [https://medium.com/swlh/best-of-2015-pfffffffft-79d9b014f4de#.vo36np14t](https://medium.com/swlh/best-of-2015-pfffffffft-79d9b014f4de#.vo36np14t) [http://www.labazhou.net/2016/01/the-50-best-hackernews-posts-ever/](http://www.labazhou.net/2016/01/the-50-best-hackernews-posts-ever/) 干货满满。作者通过数据评价好文章的方式也值得学习 **fis3初步学习体验** [http://www.alloyteam.com/2016/01/fis3-preliminary-learning-experiences/](http://www.alloyteam.com/2016/01/fis3-preliminary-learning-experiences/) fis3 使用经验 **Offline installation of npm packages** [https://addyosmani.com/blog/using-npm-offline/](https://addyosmani.com/blog/using-npm-offline/) 离线按照 npm 的方法汇总 **Angular 2 versus React: There Will Be Blood** [https://medium.com/@housecor/angular-2-versus-react-there-will-be-blood-66595faafd51#.71sf64f0x](https://medium.com/@housecor/angular-2-versus-react-there-will-be-blood-66595faafd51#.71sf64f0x) 程序员喜闻乐见的框架 PK **Cross-platform computer applications in practice** [http://blog.airtame.com/how-electron-helps-airtame-to-provide-a-crossplatform-software/](http://blog.airtame.com/how-electron-helps-airtame-to-provide-a-crossplatform-software/) 开发跨平台桌面软件的经验,最初使用的是 QT,然后换成 nw.js,最后用了 Electron,还使用了 Mocha 做测试,有意思的是他们的 QA 工位布置得不错,可以方便测试各个平台下的效果 **Zopfli Optimization: Literally Free Bandwidth** [http://blog.codinghorror.com/zopfli-optimization-literally-free-bandwidth/](http://blog.codinghorror.com/zopfli-optimization-literally-free-bandwidth/) Zopfli 的实验,结论是对 PNG 图片可以再节省 10% 的体积,但压缩速度慢 80 倍,所以是不能在线压缩的,只能进行预压缩 **How to Become a Better Node.js Developer in 2016** [https://blog.risingstack.com/how-to-become-a-better-node-js-developer-in-2016/](https://blog.risingstack.com/how-to-become-a-better-node-js-developer-in-2016/) These tips and best practices are not just for development - but how to operate Node.js infrastructures, how you should do your day-to-day development and other useful pieces of advice. **解读redux工作原理** [http://segmentfault.com/a/1190000004236064](http://segmentfault.com/a/1190000004236064) 对 Redux 的实现进行了分析 **What the Flux? (On Flux, DDD, and CQRS)** [http://jaysoo.ca/2015/02/06/what-the-flux/](http://jaysoo.ca/2015/02/06/what-the-flux/) While the Flux pattern may have found a new home in JavaScript applications, they have been explored before in Domain-Driven Design (DDD) and Command-Query Responsibility Segregation (CQRS). I think it is useful to learn from these older concepts, and see what they may tell us about the present. **Where Flux Went Wrong** [http://technologyadvice.github.io/where-flux-went-wrong/](http://technologyadvice.github.io/where-flux-went-wrong/) 对 Flux 的反思,作为码农,我们不能盲目迷信任何一种技术,兼听则明 **Transitioning to SCSS at Scale** [https://codeascraft.com/2015/02/02/transitioning-to-scss-at-scale/](https://codeascraft.com/2015/02/02/transitioning-to-scss-at-scale/) Etsy 将大量 CSS 代码(40w)转成 SCSS 的经验,值得借鉴 **~2015 in review** [https://medium.com/@sebmck/2015-in-review-51ac7035e272](https://medium.com/@sebmck/2015-in-review-51ac7035e272) This started off as a generic year in review but as I was writing it became a lot more personal. This is my story of how I dealt with going from high school to moving to another country and working in big tech in a little over a year. 少年天才Babel 作者的年终总结。 **[译]回顾 2015:六项令人兴奋的 web 技术** [http://www.w3ctech.com/topic/1667](http://www.w3ctech.com/topic/1667) Electron、React Native、Progressive web apps、Visual studio code、Rollup、Web Assembly **360奇舞团团长@月影 - 专访** [http://mp.weixin.qq.com/s?__biz=MjM5MTA1MjAxMQ==&mid=401557831&idx=1&sn=ac93d8ee19bdb5413be9a94dccf71b2e](http://mp.weixin.qq.com/s?__biz=MjM5MTA1MjAxMQ==&mid=401557831&idx=1&sn=ac93d8ee19bdb5413be9a94dccf71b2e) 前端大神月影的心得: - 行业、团队、每个个体都是多元化的,没有绝对的学习方法,每个人有最适合自己的学习方法,只有多样化的团队才是精彩的 - 没有人在技术成长的时候不遇到瓶颈的,遇到瓶颈不可怕,最重要的是不浮躁、不忘初心 - 技术问题是最好解决的问题,技术并没有什么特别困难的,最难战胜的,只是自己的心 - 前端目前是一个非常年轻、有活力、变化速度极快,充满挑战的行业,选择这样行业作为职业是非常幸运的,因为变化快意味着创造机会——前端一直是充满着机会的。 **面向设计的半封装web组件开发** [http://mp.weixin.qq.com/s?__biz=MTEwNTM0ODI0MQ==&mid=402751887&idx=1&sn=3bc0ed7aca8f653f583c833a467b6d46](http://mp.weixin.qq.com/s?__biz=MTEwNTM0ODI0MQ==&mid=402751887&idx=1&sn=3bc0ed7aca8f653f583c833a467b6d46) 本文内容可谓是对大脑认知的一场洗礼。我们平常提到组件,就会想到重用,各个项目都能使用。而本文的组件,对于某具体项目而言是组件,但是,对于其他项目,就是个半封装的半吊子组件。面向设计、面向项目的web组件开发,就是本文要探讨的主旨。 **程序员的编程能力层次模型** [http://mp.weixin.qq.com/s?__biz=MjM5NTg2NTU0Ng==&mid=405588220&idx=4&sn=b844093181700a40464affb2620b4365](http://mp.weixin.qq.com/s?__biz=MjM5NTg2NTU0Ng==&mid=405588220&idx=4&sn=b844093181700a40464affb2620b4365) 程序员的编程技能随着经验的积累,会逐步提高。我认为编程能力可以分为一些层次。下面通过两个维度展开编程能力层次模型的讨论。一个维度是编程技能层次,另一个维度是领域知识层次。有些程序员可能把精力都花在提升编程技能上了,领域知识知之甚少,这其实在日常工作中也是极其有害的。总结的挺好的,可以单做练级指南。 **Apache Kylin在百度地图的实践** [http://www.infoq.com/cn/articles/practis-of-apache-kylin-in-baidu-map](http://www.infoq.com/cn/articles/practis-of-apache-kylin-in-baidu-map) 百度地图的大数据OLAP多维分析平台承载百度地图内部多个基于Apache Kylin引擎的亿级多维分析查询项目,共计约80个cube,平均半年时间的历史数据,共计约50亿行的源数据规模,单表最大数据量为20亿+条源数据,满足大时间区间、复杂条件过滤、多维汇总聚合的单条SQL查询毫秒级响应,较为高效地解决了亿级大数据交互查询的性能需求 **Commit message 和 Change log 编写指南** [http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html](http://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html) 编写 Commit message 和 Change log 是相当重要的一件事,一峰老师详细总结了一份指南,大家可以参考。 **How to C in 2016** [https://matt.sh/howto-c](https://matt.sh/howto-c) C has been around since the early 1970s. People have "learned C" at various points during its evolution, but knowledge usually get stuck after learning, so everybody has a different set of things they believe about C based on the year(s) they first started learning. It's important to not remain stuck in your "things I learned in the 80s/90s" mindset of C development. This page assumes you are on a modern platform conforming to modern standards and you have no excessive legacy compatibility requirements. We shouldn't be globally tied to ancient standards just because some companies refuse to upgrade 20 year old systems. 可以了解下这门经典语言的进化。 ## 新鲜货 **中国公司开源项目导航** [http://www.oschina.net/company](http://www.oschina.net/company) 开源中国整理的列表 **Chirimen, a Firefox OS-Powered IoT Single-Board Computer Developed by Mozilla** [http://mozopenhard.mozillafactory.org/](http://mozopenhard.mozillafactory.org/) CHIRIMEN Board is designed for Web developers to MAKE Real things that are connected to the Web via Browser technologies. **demoo** [http://isux.us/demoo/](http://isux.us/demoo/) 腾讯出的移动端交互设计原型工具,另附:[鹅厂交互设计师如何写交互文案](http://mp.weixin.qq.com/s?__biz=MTEwNTM0ODI0MQ==&mid=402819582&idx=1&sn=81b5cc3fe25a6c50044472d9323cbb81) **Nodal** [https://github.com/keithwhor/nodal](https://github.com/keithwhor/nodal) Nodal is a web server for Node.js that was built with the sole purpose of making the developer's life easier. Boasting its own opinionated, explicit, idiomatic and highly-extensible full-service framework, Nodal takes care of all of the hard decisions for you and your team. This allows you to focus on creating an effective product in a short timespan while minimizing technical debt. **Node by Numbers 2015** [https://nodesource.com/blog/node-by-numbers-2015/](https://nodesource.com/blog/node-by-numbers-2015/) **siphon** [https://getsiphon.com/](https://getsiphon.com/) 无需装 Xcode 就能开发 React Native 应用的工具,进一步减低了上手成本 **Spark 1.6** [https://databricks.com/blog/2016/01/04/announcing-spark-1-6.html](https://databricks.com/blog/2016/01/04/announcing-spark-1-6.html) 号称性能有明显提升 **PM2 1.0** [https://keymetrics.io/2016/01/04/here-we-are-pm2-1-0/](https://keymetrics.io/2016/01/04/here-we-are-pm2-1-0/) 加了些外围的功能,不清楚在核心稳定性方面是否有提升 **Rollup.js** [http://rollupjs.org/](http://rollupjs.org/) 一个将 ES2015 模块化写法转成 AMD/CommonJS 并优化的工具,感觉不是很靠谱,不过这都能有 2.7 K Star **图说ECMAScript新标准** [http://alinode.aliyun.com/blog/22](http://alinode.aliyun.com/blog/22) 每年一个新标准,要不要这么快... **变量命名神器Codelf** [https://github.com/unbug/codelf](https://github.com/unbug/codelf) [http://unbug.github.io/codelf/](http://unbug.github.io/codelf/) Search over projects from Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project to find real-world usage variable names **The React File Generator** [http://www.overreact.io/](http://www.overreact.io/) 看起来很NB。 **[译]Sublime Text 3最好的功能、插件和设置** [http://www.css88.com/archives/5858](http://www.css88.com/archives/5858) 网上已经有许多关于 Sublime Text 3 的文章,这事好事情。在这篇文章中,我们将看到 Sublime Text 3 的最好的部分,您可能已经听说过其中的一些,但也许其他一些人还不知道。 **MVVMReactiveCocoa** [https://github.com/leichunfeng/MVVMReactiveCocoa](https://github.com/leichunfeng/MVVMReactiveCocoa) This repository contains the source code for the GitBucket iOS app. It is a mobile client app for GitHub, built using MVVM architectural pattern and some awesome frameworks, such as ReactiveCocoa、Mantle、octokit.objc, etc. You can use it for any purpose, free of charge. **Graal.js: High-Performance JavaScript on the JVM** [https://www.youtube.com/watch?v=OUo3BFMwQFo](https://www.youtube.com/watch?v=OUo3BFMwQFo) [http://openjdk.java.net/projects/graal/](http://openjdk.java.net/projects/graal/) Graal.JS is a JavaScript engine for the JVM from Oracle. **RemixOS – Android for the desktop** [http://www.jide.com/en/remixos](http://www.jide.com/en/remixos) Remix OS is our state of the art Android-based operating system. We mean it when we say you get a PC experience unlike anything on Android and an Android experience unlike anything on a PC. The innovative features we’ve brought to Remix OS 2.0 have been meticulously engineered to bring you the best of both worlds – the harmonious fusion of a mobile and desktop experience. **这是一个令人忧伤的软件——看看你的微信好友谁删除你了** [https://linux.cn/article-6842-1.html](https://linux.cn/article-6842-1.html) [https://github.com/0x5e/wechat-deleted-friends](https://github.com/0x5e/wechat-deleted-friends) Python 所编写的一个小工具。 ## 产品及其它 **54张PPT讲述Google的创新逻辑** [http://mp.weixin.qq.com/s?__biz=MjM5OTM5OTAyMQ==&mid=402768761&idx=1&sn=4551ee6f09cd60994c82d9ac5ac5afa9](http://mp.weixin.qq.com/s?__biz=MjM5OTM5OTAyMQ==&mid=402768761&idx=1&sn=4551ee6f09cd60994c82d9ac5ac5afa9) 本文中的54张插图是《Google是如何运作的》一书作者Google前CEO埃里克·施密特在网上公开的PPT精简版,比枯燥的文字多了几分生趣,插图的创意和洞察也入木三分。 **一个调研者的亲述:触目惊心的中国农村现状** [http://mp.weixin.qq.com/s?__biz=MzA4NDA0NjIwMw==&mid=401595057&idx=1&sn=9703ea2c69e4af99401c06df5eb55fa7](http://mp.weixin.qq.com/s?__biz=MzA4NDA0NjIwMw==&mid=401595057&idx=1&sn=9703ea2c69e4af99401c06df5eb55fa7) 这是一个沉重的话题,农村是一个非常复杂问题。互联网能在解决这个问题中扮演什么角色,值得思考。农村曾一度是上学改变命运,未来会不会变成互联网改变命运呢? **你只是个运行经理** [http://mp.weixin.qq.com/s?__biz=MjAzNzMzNTkyMQ==&mid=403755878&idx=1&sn=3b976a4d136cabaf9d2511a8909e8c2f](http://mp.weixin.qq.com/s?__biz=MjAzNzMzNTkyMQ==&mid=403755878&idx=1&sn=3b976a4d136cabaf9d2511a8909e8c2f) 只要理解了运营这个概念,很快就会在同类中脱颖而出的。理解意味着懂得了取舍,懂得业务第一、效率致胜的原则,这才是运营的本质。这个文章对运营的解读还是挺到位的。
';