ELSE 技术周刊(2017.10.16期)
by 风清洋
本期推荐
反击爬虫,前端工程师的脑洞可以有多大
反爬虫策略的关键在于识别真实用户和机器,这些策略大多在于后端。但爬虫是可以无限接近于真人,这篇文章介绍了前端能做的一些好玩的反击方式。
前端开发
传送门:React Portal
React v16直接支持Portal,是因为Portal这个功能真的是必不可少,不然对话框这样的场景都没法应付。
如何无痛降低 if else 面条代码复杂度
对于代码最常用的逻辑语句if else在复杂逻辑场景下如何避免出现面条代码,提高代码的可读性及更好的维护是程序员需要掌握的编程技巧。
前端中的 Pipeline
计算机领域的 Pipeline通常认为起源于 Unix。最初 Douglas Mcllroy 发现很多时候人们会将 shell 命令的输出传递给另外一个 shell 命令,因此就提出了 Pipeline这一概念。而在前端领域,也有不少的Pipeline,如Express在1.0引入Middleware Pipeline,以及建立在node Stream上面的Pipeline和Promise Pipeline等,这些Pipeline也使得代码能够具有更好的可读性。
理解CSS中的BFC(块级可视化上下文)[译]
网页布局中,很多人都会无意中用到 块级格式化上下文(block formatting context)模式,即所说的BFC。 它是css中基于box的一个布局对象,它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。
JavaScript 浮点数陷阱及解法
JavaScript 浮点数运算时总会遇到浮点数误差问题, 总感觉很困惑。本文帮你理清这背后的原理以及解决方案,还会向你解释JS中的大数危机和四则运算中会遇到的坑。
微前端 - 将微服务理念延伸到前端开发中
本文描述了采用不同 JavaScript 技术框架的多个团队中协同构建一个现代化前端 Web 应用所需要的技术、策略和方法。
产品设计
设计灵感 | 消息界面
当今世界最好的前端UI设计荟萃,不可错过~
技术纵横
聊聊 Git 「改变历史」
聊聊 Git 怎么改变历史记录,虽然git提供这样的功能,但在多人协作的项目中最好不要用到,除非你非常有把握。「历史(记录)没有因你而变,而只是改变了历史(记录)的呈现方式」
HTTP 缓存机制一二三
浏览器缓存也包含很多内容: HTTP 缓存、indexDB、cookie、localstorage 等等。这里我们只讨论 HTTP 缓存相关内容。
为什么 SQL 正在击败 NoSQL,这对未来的数据意味着什么
在过去的十年里,由于 SQL 无法满足这些越来越多的要求,软件开发人员就抛弃了它,NoSQL 也就因此而渐渐发展起来:MapReduce,Bigtable,Cassandra,MongoDB 等等。然而,如今 SQL 正在复出,缘由如何,这对数据社区有什么影响,看看本文的分析。
架构师必须知道的架构设计原则
一位十多年开发者,对架构设计原则的解读 ,总结了 GRASP 通用职责分配软件模式 、 SOLID 面向对象设计原则 、 AKF 架构原则、 CAP 定理、BASE 理论以及组织和系统改进原则 。并对其主要内容作了自己的解读。
实用推荐
Essential Image Optimization
Addy Osmani 写的一本免费的电子书,为什么我们都应该自动化进行图像优化,内容涵盖了格式,解码器,高效压缩技术等。
程序人生
Github 正在影响你的职业生涯
名气决定了你在一个信用网络中的位置。换一家公司会降低你的知名度。如果你在一个小镇生活了很长一段时间,那么小镇上的每一个人都会认识你。搬到另一个地区会导致名气降低。最终,你会到一个位置,在这个位置没有人认识你,甚至没有人认识听说过你的人。 你会失去你的一度和二度甚至是三度人脉。你与他人共事或者向私有仓库提交代码建立起来的信任也将消失。除非你通过大会演讲等方式树立自己的品牌。 但是,假如这些工作是在 Github 上完成的,建立的信任就不会消失。因为这些工作都是在网络上公开的。
GitHub 年度报告,2017 年最受欢迎的编程语言
2017 年 GitHub 上最流行的 15 种编程语言及前十最火热的项目排行榜,分别由JavaScript及TensorFlow登顶。
ELSE 技术周刊由 IFT 小组 出品,汇聚一周好文章, 周刊原文。本期编辑:
@Curtis 前端中年人
@StoneZou 前端搬砖工,不安分于前端开发的搬砖工
@Steven 写 JS 的老年人
@mirreal 想当设计师的程序员不是一个好攻城狮
点击这里 向我们推荐你读到的好文章。
Subscribe via RSS