你尚未登录,仅允许查看本站部分内容。请登录使用邀请码注册
zenany

FEX 技术周刊 - 2016.05.09 & 2016.05.16 0个回复 专栏 @ 探索

zenany 发布于 10 月前

2016.05.16 原文 http://fex.baidu.com/blog/2016/05/fex-weekly-16/

业界会议

ng-conf 2016
https://www.ng-conf.org/#/cfp
https://www.youtube.com/playlist?list=PLOETEcp3DkCq788xapkP_OU-78jhTf68j#ngconf2016
可以关注 Angular 的最新状态。

PHP 开发者大会 - 2016
http://devlink.cn/
期待资料放出。

深阅读

糯米移动组件架构演进之路
https://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112195&idx=1&sn=27fa638e90b09a107057e4a5e8d01ab1
糯米移动 APP 中大量使用了 Hybrid 技术,本文介绍了其中上怎么优化的

用户数过亿的QQ空间前端优化的思路是什么
http://mp.weixin.qq.com/s?__biz=MzAwNjE3ODQ4NQ==&mid=2650896255&idx=1&sn=641779f9a603627620a75c1cde960916#rd
介绍 QQ 空间前端团队的发展,以及如何做性能优化

MaintainableCSS
http://maintainablecss.com/
如何写可维护 CSS 的经验

资深程序员都了解的代码复用法则
http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=2653547118&idx=1&sn=733737f71a751feea5c2d2ca5ea3adbe
编写代码最重要一条,是怎样复用其他程序员的代码和思路来解决问题。通过修改他人的代码来解决复杂问题是种错误的做法,不仅成功的机率很低,就算成功也不会提供什么经验。按照这种方式进行编程,无法成长为一名真正的程序员,在软件开发领域,前景也是非常有限。

Optimizing for Large-Scale Displays
https://css-tricks.com/optimizing-large-scale-displays/
大屏下如何优化展现

The Redux ecosystem
https://medium.com/@denisraslov/the-redux-ecosystem-539c630ec521#.k0o8pq76t
Packages you should know to create a Redux production application

写给想成为前端工程师的同学们 - by 月影
https://www.h5jun.com/post/to-be-a-good-frontend-engineer.html
关于前端工程师的发展,以及兴趣很重要

Better Node with ES6, Pt. I
https://scotch.io/tutorials/better-node-with-es6-pt-i
This article will cover three of the more popular ES2015 features available in Node: Block scoping with let and const; Arrow functions; Shorthand properties & methods.

[译] Facebook:我们是如何构建第一个跨平台的 React Native APP
https://segmentfault.com/a/1190000005091857
去年 Android 版本刚出来时候的文章有翻译了

Analyzing website performance with the Windows Performance Toolkit
https://blogs.windows.com/msedgedev/2016/05/11/top-down-analysis-wpt/
使用 WPT 来分析页面性能,可以深入了解性能瓶颈

ng-conf 2016大会深入介绍了新的Angular编译器
http://www.infoq.com/cn/news/2016/05/new-angular-2-compiler-deep-dive
好久没关注了,竟然提供了优化体积的工具

LuaView高性能、动态化、跨平台应用开发引擎—聚划算动态化之路
http://www.infoq.com/cn/articles/luaview-application-development-engine
看来今年会出现很多类 React Native 轮子

babel到底将代码转换成什么鸟样?
https://github.com/lcxfs1991/blog/issues/9
整理的不错,方便大家了解

Introducing FBLearner Flow: Facebook's AI backbone
https://code.facebook.com/posts/1072626246134461/introducing-fblearner-flow-facebook-s-ai-backbone/
介绍了 Facebook 内部的机器学习平台

The Benefits of NativeScript’s Single Threading Model
http://developer.telerik.com/featured/benefits-single-threading-model-nativescript/
NativeScript 企图解释在主线程上执行的好处,似乎有点牵强呢

那些年我们用过的显示性能指标
http://bugly.qq.com/bbs/forum.php?mod=viewthread&tid=936
如何采集和分析 Android 显示性能

持续交付:当前普遍存在的三个问题与解决方案
http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=2659597173&idx=1&sn=70c52dad01d1075d01695e6468f32c8f
持续交付的三条主线总结的挺好的:从Code到Artifacts仓库;从Artifacts到Running Service;从开发、测试环境到准生产、生产环境。

Modular JavaScript: A Beginners Guide to SystemJS & jspm
http://www.sitepoint.com/modular-javascript-systemjs-jspm/
SystemJS is a module loader that can import modules at run time in any of the popular formats used today (CommonJS, UMD, AMD, ES6). jspm uses SystemJS to manage packages and their dependencies, so we need not worry about putting the packages in the right order to load them.

Node.js Project Structure Tutorial
https://blog.risingstack.com/node-hero-node-js-project-structure-tutorial/
Most Node.js frameworks don't come with a fixed directory structure and it might be challenging to get it right from the beginning. In this tutorial, you will learn how to properly structure a Node.js project to avoid confusion when your applications start to grow.

Buttons in Design Systems - 12 Tips for Setting Up a System That Endures
https://medium.com/eightshapes-llc/buttons-in-design-systems-eac3acf7e23#.hupza9rmg
Here’s 12 lessons I’ve learned when working the primary button, secondary buttons, and a whole host of other button types in an emerging system.

新鲜货

Visual Studio Code 1.1
https://code.visualstudio.com/Updates
每月更新一次啊,而且改进还真多

Announcing SyntaxNet: The World’s Most Accurate Parser Goes Open Source
http://googleresearch.blogspot.jp/2016/05/announcing-syntaxnet-worlds-most.html
Google 开源的自然语言标注库,不过只支持英文。特斯拉的 OpenAI 、亚马逊的 DSSTNE、Facebook 的FBLearner Flow,AI 领域今年很热闹。

Electron 1.0
http://electron.atom.io/blog/2016/05/11/electron-1-0
1.0 版意味着官方认为它已经成熟了,相关的周边辅助工具也完善起来了

JavaPoly.js
https://www.javapoly.com/
JavaPoly.js is a library that polyfills native JVM support in the browser. It allows you to import your existing Java code, and invoke the code directly from Javascript. JavaPoly works even if the user does not have Java installed on their computer. It finally allows Java to become a first class citizen by running directly in the browser's script tags (and interacting directly with the DOM), instead of being confined to an applet sandbox.

ECharts 3.1.9 发布
http://echarts.baidu.com/changelog.html
对 graph,地图,visualMap组件等做了大幅度的增强

Blisk
https://blisk.io/
面向开发者的浏览器,有很多针对 Web 开发的特性,比如同时浏览 PC 和移动版效果,不过目前只有 Windows 版

Announcing the Sourcegraph Chrome extension for GitHub: jump-to-definition and better code search
https://sourcegraph.com/blog/announcing-the-sourcegraph-chrome-extension-for/
一个 Chrome 插件,可以支持 Github 上的代码跳转到定义,不过目前只支持 Go 的项目

WebFont 智能压缩工具——字蛛 1.0.0 正式版发布
https://github.com/aui/font-spider/issues/79
http://font-spider.org/
字蛛是一个 WebFont 智能压缩工具,它能自动化分析页面中所使用的 WebFont 并进行按需压缩,通常好几 MB 的中文字体可以被压缩成几 KB 大小。

ANDROID SDK 源码解析
https://github.com/LittleFriendsGroup/AndroidSdkSourceAnalysis
这种多人共同解析源码的模式挺赞的:Android sdk 源码解析——旨在帮助Android开发者更好的学习Android!

移动端数据库新王者:realm
http://www.jianshu.com/p/2b4388cf2a2d
https://realm.io/
realm是一个跨平台移动数据库引擎,支持iOS、OS X(Objective‑C和Swift)以及Android。
2014年7月发布。由YCombinator孵化的创业团队历时几年打造,是第一个专门针对移动平台设计的数据库。目标是取代SQLite。
为了彻底解决性能问题,核心数据引擎用C++打造,并不是建立在SQLite之上的ORM。

产品及其它

专访饿了么张雪峰:未长夜痛哭者,不足以语人生
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650992464&idx=1&sn=120e185098e8dbf6828a12359a2298e9
找到真正需求,而不是创造「伪需求」;先做出最小可用产品(MVP);既然很多创业者只缺一个程序员,那就对你的程序员好一点,再好一点...

脑洞打开:图解VR、AR、MR
http://weibo.com/1687445053/DuTRx6zPU
感觉可以去研究基于这几个东西的编程了,应该可以产生不少交互专利。


2015.05.09 原文 http://fex.baidu.com/blog/2016/05/fex-weekly-09/

业界会议

w3ctech - 微博前端技术专场 - 2016.05.28
http://www.w3ctech.com/event/57
感兴趣的同学可以参加。

深阅读

Programming Language Theory
https://github.com/steshaw/plt
程序语言理论的相关书籍和资料汇总,方便想深入的同学学习

架构的本质是管理复杂性
http://www.open-open.com/lib/view/open1460209702222.html
文中提到的 BFF - Backend for frontends 非常值得关注,相关资料:
- Backends For Frontends - Single-purpose Edge Services for UIs and external parties
- BFF - Backend for frontends

[译]如果有人问你数据库的原理,叫他看这篇文章
http://blog.jobbole.com/100349/
关系型数据库非常有趣,因为它们是基于实用而且可复用的概念。如果你对了解一个数据库感兴趣,但是从未有时间或意愿来刻苦钻研这个内容广泛的课题,你应该喜欢这篇文章。

10 things you probably didn't know about JavaScript (React and Node.js) and GraphQL development at Facebook
https://hashnode.com/post/10-things-you-probably-didnt-know-about-javascript-react-and-nodejs-and-graphql-development-at-facebook-cink0r0e500h5io53fpl7ediu
许多关于 Facebook 内部使用 JS 的八卦,比如 Facebook app 已经使用 React Native 了,以及少数地方开始尝试 React 后端渲染(毕竟绝大部分代码是 PHP,所以没用 Node,而是直接用 V8)

After a year of using NodeJS in production
http://geekforbrains.com/post/after-a-year-of-nodejs-in-production
This is a follow-up to my original “Why I’m switching from Python to Node.js” post. I wrote it just over a year ago in response to my frustrations with Python and why I was going to try Node instead. Fast-forward a year of in-house CLI tools, client projects and updates to our company’s products and this is what I’ve learned. Not only about Node, but Javascript in general as well.

Stack Overflow: How We Do Deployment - 2016 Edition
http://nickcraver.com/blog/2016/05/03/stack-overflow-how-we-do-deployment-2016-edition/
We’ve talked about Stack Overflow’s architecture and the hardware behind it. The next most requested topic was Deployment. How do we get code a developer (or some random stranger) writes into production? Let’s break it down. Keep in mind that we’re talking about deploying Stack Overflow for the example, but most of our projects follow almost an identical pattern to deploy a website or a service.

[译]CSS vs JS动画:谁更快?
http://zencode.in/19.CSS-vs-JS%E5%8A%A8%E7%94%BB%EF%BC%9A%E8%B0%81%E6%9B%B4%E5%BF%AB%EF%BC%9F.html
Javascript 动画怎么可能总是和 CSS transition 一样快,甚至更快呢?到底是什么秘密呢?Adobe 和 Google 是怎么做到让他们的富媒体移动网站的速度和 native app 媲美的?这篇文章会一步步告诉你为什么基于 Javascript 的 DOM 动画库(比如 Velocity.js 和 GSAP)能够比 jQuery 和基于 CSS 的动画库更高效。

A Taste of JavaScript’s New Parallel Primitives
https://hacks.mozilla.org/2016/05/a-taste-of-javascripts-new-parallel-primitives/
TL;DR – We’re extending JavaScript with a primitive API that lets programmers use multiple workers and shared memory to implement true parallel algorithms in JavaScript.

Meaningful CSS: Style Like You Mean It
http://alistapart.com/article/meaningful-css-style-like-you-mean-it
does our CSS abuse classes so mercilessly, and why do we litter our markup with author-defined classes? Why can’t our CSS be as semantic and meaningful as our markup? Why can’t both be more semantic and meaningful, moving forward in tandem?

Authorization with JSON Web Tokens
http://datamelon.io/blog/2016/managing-app-security-with-jwts.html
APIs need to verify who you are and what you’re allowed to do. JSON Web Tokens or “jots” provide a standardized means for accomplishing this. This article explains the underlying mechanics of how JWTs simplify authorization and authentication.

Node.js process load balance performance: comparing cluster module, iptables and Nginx
https://medium.com/@fermads/node-js-process-load-balancing-comparing-cluster-iptables-and-nginx-6746aaf38272#.u6p6skycd
Node is single threaded and to use more CPU cores we must create new processes and distribute the load. This is a performance comparison between three ways of doing process load balancing for Node.js web applications.

Animated Heat Distortion Effects with WebGL
http://tympanus.net/codrops/2016/05/03/animated-heat-distortion-effects-webgl/
A tutorial on how to use fragment shaders in WebGL to create an animated heat haze distortion effect on images and text.

史上最全的“大数据”学习资源
https://yq.aliyun.com/articles/37308
https://yq.aliyun.com/articles/37396
当今“大数据”一词的重点其实已经不仅在于数据规模的定义,它更代表着信息技术发展进入了一个新的时代,代表着爆炸性的数据信息给传统的计算技术和信息技术带来的技术挑战和困难,代表着大数据处理所需的新的技术和方法,也代表着大数据分析和应用所带来的新发明、新服务和新的发展机遇。云栖社区组织翻译了GitHub Awesome Big Data资源,供大家参考。本资源类型主要包括:大数据框架、论文等实用资源集合。

数组的完全随机排列
https://www.h5jun.com/post/array-shuffle.html
Array.prototype.sort 方法被许多 JavaScript 程序员误用来随机排列数组。但是,却有非常严重的问题,甚至是完全错误。因此,当我们需要实现类似洗牌的功能的时候,还是应该采用巧妙的经典洗牌算法,它不仅仅具有完全随机性还有很高的效率。月影大神很高产,还有一篇 Promise 与定时器

微服务实践-系列
http://dockone.io/article/1266
第一篇中介绍了微服务架构模式,并且讨论了微服架构的优缺点;接续文章讨论了微服务架构不同方面:使用API网关,进程间通信,服务发现,事件驱动数据管理以及部署微服务。本篇,我们将探讨将应用从单体式架构迁移到微服务架构需要考虑的策略。
另附:每天都在谈SOA和微服务,但你真的理解什么是服务吗?

动态追踪技术 - Dtrace、SystemTap、火焰图
http://mp.weixin.qq.com/s?__biz=MjM5ODQ2MDIyMA==&mid=2650712266&idx=1&sn=54d909d240eb701ae48467dc798ddc7f
http://mp.weixin.qq.com/s?__biz=MjM5ODQ2MDIyMA==&mid=2650712256&idx=1&sn=3d0cc438efa0f518d49e736918fbb861
动态追踪技术其实是一种后现代的高级调试技术。它可以帮助软件工程师以非常低的成本,在非常短的时间内,回答一些很难的关于软件系统方面的问题,从而更快速地排查和解决问题。

前Googler:Docker从上手到差点放弃
http://mp.weixin.qq.com/s?__biz=MzA4Nzg5Nzc5OA==&mid=2651659581&idx=1&sn=c5ca9f41d7d8e415b5ef961fee9fafac
可以了解下 Docker 使用过程中的一些实践经验。

新鲜货

NativeScript 2.0
https://www.nativescript.org/blog/ nativescript-2.0---the-best-way-to-build-cross-platform-native-mobile-apps
基于 snapshot 改善了 Android 下的启动性能,然而由于设计本身的原因,它需要加载大量的类,所以我估计不会太好

New APIs to help developers improve scroll performance
http://blog.chromium.org/2016/05/new-apis-to-help-developers-improve.html
Chrome 51 开始支持这个可以让 Web 摆脱滚动卡顿的 API,早就该有了。。。

NativeBase
http://nativebase.io/
为 React Native 提供实用的 UI 组件,方便快速开发界面

Vue.js 2.0 preview
https://medium.com/the-vue-point/announcing-vue-js-2-0-8af1bde7ab9#.42wjp8ist
也开始用 Virtual DOM 了,优势是体积小点?

Aframe - Building blocks for the virtual reality web
https://aframe.io/
https://github.com/aframevr/aframe/
A-Frame is a framework for creating virtual reality web experiences.

Pants: A fast, scalable build system
http://www.pantsbuild.org/
Twitter 也推出了自己的编译系统,类似 Google 的 Bazel,适合大公司的源码编译及依赖管理

FlexboxLayout
https://github.com/google/flexbox-layout
竟然是 Google 出的 Flexbox 在 Android 下的实现

OverAPI.com - Collecting all the cheat sheets
http://overapi.com/
非常全的 API Cheat Sheets。

json-server
https://github.com/typicode/json-server
Get a full fake REST API with zero coding in less than 30 seconds (seriously)

vConsole:针对手机网页的前端 console 调试面板
https://github.com/WechatFE/vConsole
vConsole 是一个网页前端调试面板,专为手机 web 页面量身设计,帮助开发者更为便捷地进行开发调试工作。

谷歌Chrome超过微软IE正式成为第一大桌面浏览器
http://www.techweb.com.cn/internet/2016-05-03/2326252.shtml
4月份谷歌Chrome的市场份额为41.6%,高于3月份的39%。而微软IE的市场份额则从43.4%下降至41.3%。

小心,这诡异的图片很可能要了你服务器的命
http://weibo.com/ttarticle/p/show?id=2309403971770167221459
最近各种互联网网站的图片上传等功能成了黑客重点关注对象,因为在一个特殊的场景下,这些功能可以轻易秒杀对方网站的服务器控制权!比如传一张图就给服务器关机,或执行 “rm -fr /”,或窃取用户敏感数据等,而造成这些后果的只是一张特殊的图片…

CSST - CSS Text Transformation
https://github.com/zswang/csst
一种用 CSS 跨域传输文本的方案。相比 JSONP 更为安全,不需要执行跨站脚本。
原理是通过读取 CSS3 content 属性获取传送内容。CSST 是一种新增的跨域通信方式,实战还是推荐 CORS。

产品及其它

务实至上:“PHP之父” Rasmus Lerdorf 访谈录
http://geek.csdn.net/news/detail/71830
“PHP之父” Rasmus Lerdorf 性格直接坦荡,措辞简练精辟,字里行间透着一股“务实至上”的精神气。赞:技术只是解决问题的工具,是抽象的锤头、锯子,并没什么了不起,而真正振奋人心的是用技术提升了百万人的生活品质;语言只是解决问题的工具,不是受人膜拜的宗教。

Facebook的项目开发流程和工程师的绩效管理机制
http://mp.weixin.qq.com/s?__biz=MzA3ODQwOTU3Nw==&mid=2650356144&idx=1&sn=cfd57a991721336c488cb18f9f2a8fd7
可以了解下 fb 在开发流程、kpi 方面的一些机制。

码农自己当老家新厝的设计师
http://ucren.com/blog/archives/675
工程师中的设计师,佩服。
另附:一位设计师的码农之路 。向这些跨界人才致敬。

IT业也是制造业,日本IT产业奇葩在哪儿?
http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650992364&idx=1&sn=e193a5316f430904753937395c2de9ec
在欧洲,Software as a science(软件即科学);在美国,Software as a business(软件即商业);在印度,Software as a service(软件即服务);在日本,Software as a production(软件即制造)。

地球仍有许多未解之谜 为何浪费钱在太空?看马斯克怎么回答
http://view.inews.qq.com/a/20160503A07H0200
特斯拉项目是想用电动汽车来取代世界上的现有车辆;SpaceX公司为了将火星建成殖民地。汽车制造和航空航天都是成熟的产业领域,但无论如何,Musk想同时变革这两个行业,而且他要在一代人的时间里做到这些。

等待第一条回复
登录后回复,如无账号,请使用邀请码注册