今日译者
今日译文
不会写 JavaScript 的人是否还有价值?
最近我有幸参加在墨尔本召开的 2017 Web Directions Code 大会。我和 Mark Dalgleish 还有 Glen Maddern (他的演讲非常精彩)被分到了一个演讲小组里。我们做了一系列关于 CSS 的演讲,在小组讨论中,我们讨论了……
商业开发最佳的 7 个 JavaScript 框架
通常来讲,框架是指包含一些实用功能的集合。一个典型的框架应该含有能够处理字符串、时间、HTML DOM 元素、事件、cookie、动画、网络请求等的函数。这篇文章讲解了大部分很受欢迎的 JS 框架的基础知识和基本的区别。是否它们是最适合的得另说,但是都值得去试……
本周译文
React 中的状态架构模式
这是一系列文章中的第一篇,其目的是提供对使用 React(或者是类 React 的库)构建复杂 Web 应用时使用的一些常见架构模式的深入审查,以及提供一些建议,用来避免使用那些模式时经常会遇到的问题。 我承认我还有第二个目的。 在我写这篇文章的时候,我意识到……
用 Three.js, React 和 WebGL 开发游戏 — SitePoint
我正在制作一款名为 “Charisma The Chameleon” 的游戏,它使用 Three.js,React 和 WebGL 开发。这是一篇使用 react-three-renderer (简称 R3R) 结合这些框架的介绍。 SitePoint 上有关……
【React】为什么我不再使用setState?
几个月前,我开始停止使用React的 setState 。我并不是不再需要组件状态,而且不再用React来管理我的组件状态。 setState对于新手来说不是很友好,即使是有经验的React程序员在使用setState时,也很容易出bug,比如: Bug产……
雨爱花的方式-小猫假日
雨爱花的方式 他爱她爱的花雨路。他把所有的东西都倾注在她身上,直到他撞到地上,然后被她吞噬。他这样做是为了看着她成长,看到她的美丽绽放,并成为其中的一部分。“我没有优雅和美丽。”他告诉她,他布满老茧的双手手掌厚肌肉拉她到他的肩膀让他吻她。“我只是工作和劳动。……
如何十分钟免费搭建VPN(你为什么非常需要它)
如何十分钟免费搭建VPN(你为什么非常需要它) 导读:本文前半部分讲述了越来越危机的网络环境,后半部分从实际技术角度出发讲述了如何使用Opera浏览器在保护隐私的情况下访问网络,基于HTTPS与VPN的,同时也给出了一些保护隐私的高级建议。 很多人说,在当……
React, Jest, Flow, Immutable.js将改用MIT开源协议
下周,我们将根据MIT开源协议重新授权我们的开源项目React,Jest,Flow和Immutable.js。我们之所以修改这些项目的开源协议,是因为对于开源软件的生态系统来说,React举足轻重,我们不想让非技术原因阻碍技术进步。 受上次改变React协议的……
Chromium Blog: Chrome 62 Beta版新特性尝鲜: 网络质量评估API,开放类型变量字体,根据DOM元素获取媒体类型
##Chrome 62 Beta版新特性尝鲜: 网络质量评估API,开放类型变量字体,根据DOM元素获取媒体类型 Wednesday, September 20, 2017 除非特别指出,以下所描述的特性对于最新发布在Android,Chrome OS,Lin……
PWA Checklist
渐进式WEB应用(PWA)是可靠、快速和吸引人的,有很方法是可以把一个PWA从初级提升到高级。 为了帮助团队尽可能的提升体验,我们整理了这个checklist,其涵盖了所有我们认为构建一个基础PWA所需的,以及通过提供更好的离线体验,达到更快的交互和关心更多的……
Safari技术预览版40更新说明 | WebKit
Safari技术预览版40更新说明 2017-09-20 by Jon Davis@jonathandavis Safari技术预览版 发布版本40现在在macOS Sierra和 macOS High Sierra 的betas版可以下载 使用了。如果您……
向Node.js核心贡献代码的六个步骤 | @RisingStack
向Node.js核心贡献代码的六个步骤 本文的目的是帮助您完成向Node.js核心文件贡献代码的第一个提交! 向Node.js贡献代码的方式有很多种。你可以向其中的某个 工作组捐献(像网站或者联机诊断工作组等),或者可以在 Nodeschools开设课程提供N……
JavaScript是如何工作的:内存管理 + 如何处理4个常见的内存泄露
How JavaScript works: memory management + how to handle 4 common memory leaks JavaScript是如何工作的:内存管理 + 如何处理4个常见的内存泄露 A few weeks a……
【GitHub】12个实用技巧
#1 在GitHub.com上编辑代码 从一个大多数人都知道的开始吧(尽管我是上个星期才知道的) 在GitHub上打开一个文件(任何仓库的任何文件),在页面的右上角有一个像小铅笔的按钮。点击它,你就可以编辑文件了。当你编辑完成,点击Propose file ……
更快地构建 DOM: 使用预解析, async, defer 以及 preload ★ Mozilla Hacks – the Web developer blog
在 2017年,保证我们的页面能够快速加载的手段包括压缩,资源优化到缓存,CDN,代码分割以及 tree shaking 等。 然而,即便你不熟悉上面的这些概念,或者你感到无从下手,你仍然可以通过几个关键字以及精细的代码结构使得你的页面获得巨大的性能提升。 这……
一些知名网站的 404 页面
google.com . youtube.com . facebook.com . reddit.com . muz.li . . amazon.com . vk.com . linkedin.com . imgur.com . alie……
使用Node.js理解和测量Http时序| @RisingStack
Understanding & Measuring HTTP Timings with Node.js 2017/09/13 September 13th, 2017 理解和测量HTTP时序帮助我们去发现客户端与服务器、服务器与服务器之间通信的性能……
本月译文
如何管理一个前端基础架构团队 - AdRoll
Jyri Tuulos 著 Jyri是一名AdRoll的高级工程师。他喜欢编写开发工具和开发构建工具。 在过去的几年中,AdRoll已经从的一个不起眼的产品功能单一的创业公司发展成为拥有一套多样化产品的全球营销平台(https://www.adroll.co……
iPhone X 的“刘海儿”和 CSS
iPhone X 配备一个覆盖整个手机的全面屏,顶部的“刘海”为相机和其他组件留出了空间。然而结果就是会出现一些尴尬的情景:网站被限制在一个“安全区域”,在两侧边缘会出现白条儿。移除这个白条儿也不难,给 body 设置一个 background-color 就……
如何在三周内构建我们的第一个全栈 javascript web 应用
在我们的应用 Align 中,用户的主界面 如何在三周内构建我们的第一个全栈 javascript web 应用 一个简单的渐进式指南,从概念到应用部署 我在 Grace Hopper Program 三个月的编程训练营已经接近尾声,实际上这篇文章的标题并……
教程:使用 TypeScript 构建 Node.js 应用 | 作者:@RisingStack
使用 TypeScript 开发 Node.js 3 个月前 2017 年 6 月 20 日 这篇文章将会告诉您,怎样编译、构建、测试以及调试使用 TypeScript 开发的 Node.js 应用。为此,我用到了一个示例工程, 您稍后可以查看源码。 管理大……
重新思考 drag 和 drop
Rethinking drag and drop 原作者: Alex Reardon 我们今天来讲一些基础的,但是很漂亮的东西。 先介绍一下 react-beautiful-dnd 拖拽是一个直观地移动和重排方式。我们已经在 Atlassian 的官方仓库上……
CSS通用类和“结构与样式分离”
CSS通用类和“结构与样式分离” 过去的几年里,我编写CSS的方式已经从“语义化”转变为“函数式”(经常被这样称呼)了。 用“函数式”方式编写css可以使许多开发者的内心激动起来。所以我想介绍一下我是如何做到的,并且和大家分享一些经验和见解。 第 1 阶段……
基于web创建逼真的3D图形 | CSS技巧
在成为一名web开发者之前,我从事于视觉设计行业,创造屡获殊荣,电影和电视节目等高端3D效果,例如 Tron, The Thing, Resident Evil,和 Vikings。为了能够创造这些效果,我们需要使用高度复杂的动画软件,例如 Maya, 3……
Web如何工作第三部分:HTTP & REST – freeCodeCamp
Web如何工作第三部分:HTTP & REST 我们在第一部分讲了基本的Web架构,在第二部分讨论了Web应用程序结构。现在是时候卷起袖子处理第三部分了:细究HTTP和REST。 理解HTTP对于Web开发者人员至关重要,因为它促进了Web应用程序……
React中的样式: 从外联样式到 Styled Components — SitePoint
虽然使用React构建应用程序在许多方面已经达到了一定程度的标准化,但是样式仍然是一个有许多解决方案的领域。 每种方案都有其优点和缺点,并没有明确的最佳选择。 在这篇文章中,我会简要介绍关于React组件在Web应用程序是是如何组织样式的。当然,我也会介绍下s……
现代模块
为现代 JavaScript 重新思考 Node.js 生态系统。 几个月前的某天当我准备坐下来写代码的时候突发奇想。 Node.js 8 已经发布有一段时间了,我决定要将这个版本增加的一些新特性例如 async/await 应用到我的代码中。 个把月后我已经……
Node.js 8.5新特性
Node.js 8.5 新特性 最近 Node.js 发布了8.5版本,在这个版本里,Node 添加了3个激动人心的特性。 支持 ES Module 此次版本迭代中,Node 终于支持了开发者呼声最高的 ES 模块提案。这意味着,你可以直接使用import关……
VueJS + Webpack 代码分割的三种方式
对单页应用实行代码分割,是提高页面加载速度的一种很好的方式。因为用户不用在一次请求里加载完所有的代码,能够更快的看到页面并进行交互。这将会提升用户体验(特别是在移动端),同时因为 Google 会给加载缓慢的网站降权,代码分割也对 SEO 有好处。 上周我写……
webpack: 正在变得真实 – webpack – Medium
您可能注意到了过去几个月发生的一些事情。在 webpack 的 github 里,多了大量的 issues,不只是“问题”和“bug”。或者,您也注意到了多出来的一个会议笔记的仓库。 很有可能,你的 twitter 也被一个来自 Nebraska 的哥们发布的……
JavaScript作用域和闭包
作用域和闭包在JavaScript里非常重要。但是在我最初学习JavaScript的时候,却很难理解。这篇文章会用一些例子帮你理解它们。 我们先从作用域开始。 作用域 JavaScript的作用域限定了你可以访问哪些变量。有两种作用域:全局作用域,局部作用域。……
是什么能让 WebAssembly 这么快?★ Mozilla Hacks – the Web developer blog
这是 “WebAssembly 以及为什么它这么快” 这个系列的第五部分。如果你还没阅读其他的部分,我们建议你 从头开始阅读。 在 上篇文章,里我讲述了利用 WebAssembly 或者 JavaScript 来编程并不是一个二选一的情况。我们并不期望有过多的……
#在Node.js中使用原生的ES模块
从版本8.5.0开始,通过一个命令行选项,Node.js就能支持原生的ES模块。这个新功能主要归功于Bradley Farias。 本文将会解释其中的细节。 Demo demo的版本库结构如下: esm-demo/ lib.mjs main.m……
深入 JavaScript 数组:进化与性能
正式开始前需要声明,本文并不是要讲解 JavaScript 数组基础知识,也不会涉及语法和使用案例。本文讲得更多的是内存、优化、语法差异、性能、近来的演进。 在使用 JavaScript 前,我对 C、C++、C# 这些已经颇为熟悉。与许多 C/C++ 开发者……
Where is WebAssembly now and what’s next? ★ Mozilla Hacks – the Web developer blog
这是 “WebAssembly 以及为什么它这么快” 这个系列的第六部分。如果你还没阅读其他的部分,我们建议你 从头开始阅读。 在 2 月 28 日, 四大主要浏览器一致宣布 WebAssembly 的 MVP(最低可行性产品)已经完成。 这标志着WebAss……
十个免费的web前端开发工具 – Envato – Medium
十个免费的web前端开发工具 By Jake Rocheleau 网络技术发展迅速,部分技术难以保持 每年都有新的工具出现,这同时也意味着许多旧的工具倒在了新技术的发展之路上。 前端开发占据了web很大一部分,而且也成为了一种职业路径。如果你将前端开发当做……
创建并使用 WebAssembly 模块 ★ Mozilla Hacks – the Web developer blog
这是 “WebAssembly 以及为什么它这么快” 这个系列的第四部分。如果你还没阅读其他的部分,我们建议你 从头开始阅读。 WebAssembly 是一种在页面中运行除了以外的编程语言的方法。在过去,如果你想要使你的代码能在浏览器中运行并且和浏览器交互,J……
学习如何使用Chrome DevTools调试JavaScript - codeburst
学习如何使用Chrome DevTools调试JavaScript 不再使用console.log! 学会在Chrome Developer Tools中使用断点来调试代码。 作为一名新的开发人员,发现和修复bug挺难的。 您可能会试图随意使用console……
ECMAScript中的模式匹配
JavaScript中关于模式匹配有一个处于stage 0阶段的提案。在这篇文章中,我们会讲解这个提案的内容和作用。 提案文档中照常会有一些示例代码,下面是其中之一。 let length = vector => match (vector) { {……
安息吧 REST API,GraphQL 长存
即使与 REST API 打交道这么多年,当我第一次了解到 GraphQL 和它试图解决的问题时,我还是禁不住把本文的标题发在了 Twitter 上。 请别会错意。我不是在说 GraphQL 会“杀死” REST 或别的类似的东西。REST 可能永远不会消失……
理解 JavaScript 的闭包
理解 JavaScript 的闭包 闭包不一定就复杂。10 分钟足以学习和理解闭包的基础知识。 开放和封闭。图片来自unsplash.com 什么是闭包? 闭包是每个 JavaScript 开发者都应该知道并理解的一个关键特性。今天这篇文章只是流于闭包的表……
下划线是否破坏可读性? | UX Booth
在非常早期的互联网,链接就已经是一个基础的交互元素了。直到现在仍然非常流行:研究表明链接是人们在上网时最流行的操作之一。在过去的30年里,设计师们尝试过设计各式各样的链接,但有一点不会变:下划线。那个蓝色的带下划线的超链接是互联网中最明确并且最好理解的习惯之一……
提交到不同URL的表单按钮
这是几天前想到的,我忘了在哪,但是我把它记在了我的小笔记本上,打算发到博客里。我把它写下来是因为我听到一些把它过于复杂化的东西。 听说你有一个像下面这样的表单: <form action="/submit"> <!-……
我是如何用57行代码搞定一个8600万美元的项目
我是如何用57行代码搞定一个8600万美元的项目 ##当使用现有的开源技术进行实验时可以将工作做到“足够好” 维多利亚警察局是澳大利亚维多利亚州的主要执法机构。 过去一年,维多利亚州共有超过1.6万辆车被盗,损失约为1.7亿美元,警方正在试验各种技术解决方……
67 个拯救前端开发者的有用的工具、库和资源
在本文中,我不会去谈 React、Angular、Vue 这些大的前端框架,也不会谈 Atom、VS code、Sublime 这些已经很出名的代码编辑器,我只是想简单的分享一套我认为有助于提升开发者工作流的工具集。 这套工具集中的大部分你可能见过,也可能没……
Webpack的精彩世界
Webpack是一个JavaScript模块打包工具,如官网宣传的那样。它有一个贴切的名字。但在本文中,我想完成的是详述Webpack真正强大的地方。 本文不会介绍如何使用Webpack,而是解析使它比一般打包工具变得更为特殊的原因。 ##Webpack仍是一……
SQL 教程:如何编写更佳的查询
结构化查询语言(SQL)是数据科学行业中一项不可或缺的技能,一般来说,学习这个技能是挺容易的。不过,很多人都忘记了写查询只是SQL的第一步。我们还得确保查询性能优异,或者符合正在工作的上下文环境。 正因为如此,本SQL教程将让你瞧瞧某些步骤,我们可以通过这些步……
JavaScript — 到底什么是? ES6, ES8, ES 2017, ECMAScript又是什么 ?
JavaScript — 到底什么是? ES6, ES8, ES 2017, ECMAScript又是什么 ? 学习JavaScript和ECMAScript历史和它们命名的由来! **学习JavaScript过程中可能会有一些疑惑。特别是一些缩写,一些缩……
你真的需要一个CSS实用工具集吗? | CSS-Tricks
让我们先来定义:一个CSS工具集库是一个拥有许多可用于做许多一次性小事的样式表。如调整margin和padding的类。设置颜色的类。设置具体样式属性的类。设置尺寸的类。工具集库会用不同的方式来实现这些东西,但更像是分享这种理念。这种方式在本质上更像是把样式放……
关于容器、虚拟机以及 Docker 的一个入门教程
Source: https://flipboard.com/topic/container 如果你是一个开发者或者技术专家,你一定对 Docker 有所耳闻:一个在 “容器” 中打包、传输以及运行应用的实用工具。它这段时间得到的关注很不容易,不只包括开发者和……
高性能SQL语句权威指南 -第一部分
大多数人都忘记了查询语句只是应用sql的第一步。确保查询语句更加适合上下文和性能优异是下一步需要做的事情。这篇SQL教学文章将教你如何评价你的sql查询语句的优劣。 3. 不要让语句承担超出他们本身的查询任务 数据类型转换引导你进入下一个优化点:你不应该过度……
Node.js创造者,Ryan Dahl专访
Ryan Dahl是谷歌大脑的软件工程师,並且是Node.js的创造者。目前,他正在致力于深度学习研究项目,他研究方向的是图像变换,包括彩色化和超分辨率。他参与了多个开源项目包括HTTP解析器和libuv。 Pramod: 告诉我们你在接触技术之前的经历吧? ……
Javascript基础算法:入门篇
好久不见:这是一份常用的javascript简易算法 作为一个曾经的ruby后端,我在学习javascript时经历了不少挫折。像merge,flatten,uniq这些基础方法貌似都从我的视线中消失了。 然后我发现了loadsh, 嗯,它非常酷...,直到……
快速了解即时编译器 (JIT) ★ Mozilla Hacks – the Web developer blog
这是 “WebAssembly 以及为什么它这么快” 这个系列的第二部分。如果你还没阅读其他的部分,我们建议你 从头开始阅读。 JavaScript 刚出现时的运行速度是很慢的,多亏了 JIT,它的运行速度变得快了起来。JIT 是如何工作的呢? JavaScr……
我是怎样组织react & redux项目的
#我是怎样组织react & redux项目的 在这篇文章中,我会和你们分享我我是怎样组织react & redux项目,讨论一些在过去两年工作时间我做过的一些抉择 About two years ago the most popular ……
网站工作原理第二部分:客户端 - 服务器模型和Web应用程序的结构
网站工作原理第二部分:客户端 - 服务器模型和Web应用程序的结构 在 之前文章,我们分析了网站在基本层面上的工作原理,包括客户端(您的计算机)和服务器(响应客户端网站请求的另一台计算机)之间的交互。 作为四部分系列的第二部分,让我们双击了解基本Web应用……
网站的工作原理:网络开发新手(或任何人)入门
网站的工作原理:网络开发新手(或任何人)入门 如果您刚接触Web开发,您认为自己知道网络的工作原理 - 至少在基本层面上。 ...但是,当您尝试解释一个网站为什么出现空白。 什么是IP地址? “客户 - 服务”模型是如何工作的? 最近开发框架功能很强大。强……
一步一步教你完成Github的第一个Contribution
一步一步教你完成Github的第一个Contribution 让Roshan Jossey带你花十分钟贡献你第一个开源项目。 Next Stop, GitHub. Image via unsplash.com 前言 如果你没有GitHub的账号,或者还不知……
在HTTP/2的世界里管理CSS和JS
在HTTP/2的时代里,在你的网站里发布CSS和JS跟以前大不相同了,以下是我实践的一份建议。 我们听说HTTP/2已经很多年了,我们也写过一些相关的博客。但是我们并没有怎么使用它。直到现在,在一些最近的项目里,我把使用HTTP/2设定为一个目标,并且想出怎样……
Stylelint: 我们日夜期盼的样式表Linter——Smashing Magazine
##Stylelint: 我们日夜期盼的样式表Linter By Aleks Hudochenkov May 25th, 2016 JavaScriptTechniquesTools 15 Comments . 每一个程序员,无论他是写哪一门语言的,……
Javascript ES6 — 探究新的内置方法
ES6标准发布的新特性中,有大量新的内置方法。这些新方法旨在简化和规范开发人员在使用JS数据类型:Numbers, Strings, Object, Arrays时遇到的一些常见情况。 ES6的一个目标就是使JS编程更简洁更干净。让我们来看一下,ES6是如何……
回归基础: JavaScript的对象语法
对象是JavaScript语言的基础。许多内置数据类型,如:错误、正则表达式和函数,在JavaScript中也表示为对象。所以想要成为一名优秀JavaScript工程师,就必须牢牢掌握对象的工作原理。本文将教你在JavaScript创建和使用对象的基础知识。 ……
在谷歌为开发者做用户体验设计是一种怎样的体验?
本文通过对 Flutter 的学习来阐述 当人们谈及 UX (User Experience, 用户体验)的时候,通常都是在谈论他们习以为常的消费级产品:智能手机、聊天 App 或者是耳机。 其实用户体验也关注你为开发者们做点什么的时候。人们太容易忘记开发者……
快速了解汇编 ★ Mozilla Hacks – the Web developer blog
这是 “WebAssembly 以及为什么它这么快” 这个系列的第三部分。如果你还没阅读其他的部分,我们建议你 从头开始阅读。 理解 WebAssembly 是如何运行的,有助于理解什么是汇编以及编译器是如何产生汇编的。 在 关于JIT的这篇文章,我谈到了为什……
送给CSS初学者的悬停过渡动画三部曲
送给CSS初学者的悬停过渡动画三部曲 只需几行CSS就能让你的网页设计摇身大变。 CSS不一定要写得多么复杂才能实现特殊效果。如下就是三个超级简单的过渡的例子,可能只是几行代码,但是添加到Web应用程序中,却会让它增色不少。 如下是我们将在本教程中构建……
理解 JavaScript 中的作用域
作用域是 JavaScript 中的一个重要而又模糊的概念。只有正确使用 JavaScript 作用域,才能使用优秀的设计模式,帮助你规避副作用。本文中,我们将会详细分析 JavaScript 的不同类型的作用域,以及为了写出更好的代码,介绍它们是如何工作的。……
再一次 Hello World – Hacker Noon
再一次 Hello World Docker的 React + Express 终极模板 我还是创建了 另一个 React and Express 模板 这就是为什么。 我们是否需要另一个模板? 答案是需要! 让我们看一下 — 一个 React 项目从无……
JavaScript:为什么3 + true = 4?(另外还有7个精妙的等式(tricky equations) )
JavaScript:为什么3 + true = 4?(另外还有7个精妙的等式) 3 + true === 4,想知道为什么吗?那就跟我一起来探索这8个有趣的JavaScript等式吧。 math - 来自unsplash.me 前言 嗨,我是Brando……
掌握 Node.js 中的 async/await
掌握 Node.js 中的 async/await 原文:Mastering Async Await in Node.js 作者:Tamas Kadlecsik 你会在本文中学到如何使用 async 函数(async/await) 来简化回调,以及基于 ……
请停止使用 JWT 认证
最新我看到越来越多的人推荐在 Web 应用中使用 JWT(JSON Web Tokens) 来管理用户的会话记录。然而我想说这真的是个馊主意。在这篇文章中我会解释为什么我会这么说。 为了避免造成一些困扰,我先解释一些文章中出现的名词: 无状态 JWT:JWT……
关于静态类型令人震惊的秘密
TypeScript 最近迅速流行起来。我喜欢 TypeScript,我也喜欢静态类型。尽管我不使用 TypeScript,但由于 TypeScript 的类型系统,它获得一些非常棒的特性。TypeScript 的静态类型是结构不是名义,意味着它基本上像自动……
npm 入门教程
Node.js 的出现使得用 Javascript 写服务端应用成为可能。Node.js 由 C++ 编写而成并且构建于 V8 引擎之上,因此运行得很快。一开始,Node.js 只是想运行于服务端环境,但是开发者们显然不满足于此,开始创造各种工具来实现自动化任……
9个超赞的视觉效果
(以下项目均来自于CodePens,CodePens用于代码托管和页面效果展示) 图片来源 unsplash Love Pug + CSS |By: yumeeeei See the Pen Love is Love 🌈 by yumeeeei (@y……
React 16 beta 版发布!
令人欣慰,React 16 首个 beta 版已经发布可以公开测试了!下面我来告诉大家如何使用以及新版的一些值得注意的地方。 如何使用 安装 由于还是 beta 版,为了保障正常 NPM 安装还是使用 15.6 正式版,beta 版我们使用 next 标签发布……
React 还是 Vue: 你应该选择哪一个Web前端框架?
2016年,React在Web端和移动端都实现了迅速的成长,稳稳地领先于其主要竞争对手Augular,巩固了其作为前端框架之王的地位。 但是Vue在这一年里的表现也可谓同样的耀眼。Vue.js 2.0 的发布在整个JavaScript社区都引起了巨大反响,这……
GitHub上最流行的Top 10 JavaScript项目
统计出Github中所有项目的数量,几乎是不可能的,而明确指出哪些是最优秀的项目就更不可能了。如果说到JavaScript,曾经极富创新的项目(很可能)在一两个月后就会变得过时、落后。以防被淹没在大量的项目中,去研究(哪个项目更好),我们可以来看看2016年……
Node Hero - 8. 使用 Passport.js 进行 Node.js 身份验证
本教程中将学习如何使用 Passport.js 和 Redis 实现一个本地 Node.js 身份验证策略。 要使用的技术 在一头扎进实际代码之前,我们先看看本章中要用到的新技术。 Passport.js 是什么? 简单、 不花哨的 Node.js 身份验证……
深度剖析现代 JavaScript 应用 — SitePoint
毫无疑问,JS 生态圈变化飞快。不仅仅新的工具与框架被快速的引入和开发,随着 ES2015(又名 ES6)的推出,JS 语言本身也经历了很大的变革。所以,已经有很多文章抱怨现在学习JavaScript 开发是多么的艰难。 在这篇文章中,我将为你介绍现代 Ja……
React开发,在VS Code中配置ESLint, Prettier, and Flow
PS:因为有时间限制,很粗糙的就翻译出来了,这是我的第一篇译文,水平不足。希望大家多给点意见,我会多多改进的。 这篇短文会针对所有React/React Native 项目,简单介绍下一致性和可重用开发流程。当你投入了很多的精力去编写高质量编码,就不用花很多……
初探新的 JavaScript 并行特性
简介——我们给 JavaScript 添加了一个 API,开发者可以在 JavaScript 中使用多个 worker 和共享内存来实现真正的并行算法。 多核计算 现如今,JavaScript(JS)已经获得了广泛应用,每个现代网页都包含大量 JS 代码,我们……
函数装饰器:将回调转换为promises,还支持逆向转换
geralt @ pixelbay 我每天都在JavaScript领域工作,我困在了回调,promises或async/await等各种异步调用方案之中。关于如何处理异步代码,我有自己的偏好,虽然有时候我别无选择,因为外部依赖库像fs, aws-sdk等在使……
教程 | React
# 教程 我们来创建一个简单实用可以放到你的博客里面评论框,Disqus、LiveFyre、Facebook提供了最简单版本的实时评论。 我们会提供: 所有评论的展示 提交评论的表单 提供用户后台的hooks 还会有一些的巧妙的特性: 优化的评论:……
全栈React: 第1天 什么是 React?
今天,我们从一开始就开始。让我们看看React是什么,是什么让React运转起来。我们将讨论为什么要使用它。 在接下来的30天内,您可以体验到React网页框架及其生态系统的各个部分。 我们的30天冒险中的每一天都将建立在前一天的材料上,所以在系列结束之后,您……
快速提示:使用JavaScript获取URL参数
### 该作者的更多文章 不用jQuery做一个简单的JavaScript幻灯片 帮助你更快学习JavaScript的六个简单技巧 你想从URL里获取参数? URL参数(也叫查询字符串参数获URL变量)可包含很多有用的数据,如产品信息、用户偏好、链接来源……
关于 Angular 2 那些让我兴奋的东西
在过去的半年里,我花了大量时间玩 Angular 2。创建了一些有趣的项目和与之相关的讨论,写了若干文档并和其他小伙伴讨论他们正在做的事。然后我还写了一系列文章。我觉得现在是时候总结和分享我在这个平台上发现的有趣的东西了。 TypeScript 在 Angul……
在React Native 与 React Web Apps 间共用代码
最近我在我的工作中为同一端构建了三个应用:iOS app,安卓app 与 web app,这三个应用很大程度上都使用着同一个代码库 我想谈谈我们的4人开发团队所共同面临的问题:搞清楚哪部分的代码是可以在每个项目中共享而哪部分应该放在各自的项目中;怎么建立起一个……
101种让你的网站更棒的方法
这篇文章最初出版于AwesomeBlog。 上周我和一个老客户聊天,她和我说,“Nick,我觉得我的网站需要改进,但是我却不确定到底需要做什么”。 于是我就去问了周围很多人,朋友、家人和一些非互联网方向的商务人士。他们都说了同样的话: “我需要一个清单,因……
全栈React: React 30天
对学习React 感兴趣但不知道怎么开始? 我们会教你它是如何工作的 - 免费 在接下来的30天内,我们将逐步了解您需要知道的与React相关的所有内容。 从我们的第一个应用的从零开始到测试和部署。 下载超过300页的 PDF 第1天 什么是 React?……
React 初学者教程 1:React 简介
今天的 Web 应用程序除了外观比过去更好看以外,应用程序的架构和创建方式已经和过去有很大的不同。为突出这点,我们来看看如下的应用: 这是一个简单的商品目录浏览应用程序,它和这种类型的其它应用程序一样,通常包含一个主页、一个搜索结果页、一个详情页等等。 老式……
通过开发 Babel 插件理解抽象语法树(AST)
每天数以千计的 JavaScript 开发者使用的语言版本现在浏览器都还没有完全实现,许多他们使用的语言特性仅仅还只是建议,并没有保证说一定会纳入规范。因为有 Babel 项目使现在就能使用这些特性变成了可能。 Babel 是我们知道的将 ES6 代码转译为 ……
编写高效的 CSS 选择器 – CSS魔法 – CSS体系, 网页最佳表现, Harry Roberts
高效的CSS已经不是一个新的话题了,也不是我一个非得重拾的话题,但它却是我在Sky公司工作之时,所感兴趣的,关注已久的话题。 有很多人都忘记了,或在简单的说没有意识到,CSS在我们手中,既能很高效,也可以变得很低能。这很容易被忘记,尤其是当你意识到你会的太……
是时候使用CSS自定义属性了 – Smashing Magazine
在今天,css预加载已经成为了前端开发的一个标准。预加载的一个主要优势就是可以让你使用变量。它可以让你避免复制黏贴你的代码,并且简化了开发和重构。 我们用预加载来存储颜色、字体偏好,布局的细节——几乎是我们在css里面用到的所有东西。 但是预加载的变量有一些使……
请准备好:新V8即将推出,Node 的性能正在改变。
这篇文章是David Mark Clements和Matteo Collina一起写的,并且由来自 V8 团队的Franziska Hinkelmann和Benedikt Meurer审查的。文章最先在nearForm’s blog网站上发布。 V8 turb……
接受前端挑战:用CSS实现3D立方体
你喜欢挑战么?你愿意承担一项以前从没遇到过的任务并且按时完成么?如果在进行任务中,你碰到来一个似乎无法解决的问题呢?我想分享我使用CSS 3D效果的经历,那是第一次用于实际项目中,以此来激励你接受挑战。 那是平常的一天,当Eugene( CreativePeo……
利用控制台API调试Web应用
利用控制台API更方便的调试Web应用 许多年前,调试JavaScript代码无非就是在要调试的函数内部插入几句console.log()而已。有时你会发现问题的根源并不在于你正在查看的函数,而是出现在这些函数调用的其它函数内部。结果就是更多的console……
为什么史蒂夫.乔布斯每天早晨都会问自己这个问题(你也应该这样做)
让我们看一下为什么史蒂夫·乔布斯的自省习惯能彻底改变你的生活。 你是否会有这样的经历:你正在开车,然后突然就到了目的地,这时你会心烦意乱,努力回想自己到底是怎么到达目的地的。在生活中,我们就像是坐在自动驾驶的车上,之后我们才会意识到我们已经失去了往日的激情和……
CSS变量和预处理变量有什么不同?
变量是 CSS 预处理器 存在的最主要的原因之一。设置变量的能力是有用的,比如把一个颜色设置成变量,用那个变量贯穿你写的CSS,你会发现它是一致的,抽离的,并且容易修改。你也可以用原生 CSS变量(CSS自定义变量)做同样的事。但是也有一些重要的区别应该搞清楚……
理解JavaScript作用域 ― Scotch
介绍 JavaScript有一个特性叫做作用域。虽然作用域的概念对于很多新手来说不是很容易理解,我将会尽我最大的努力在最简单的范围内向你解释。理解了作用域会让你的代码脱颖而出,减少错误并帮助你制作强大的设计模式。 什么是作用域? 作用域指运行时代码中某些特定部……
Sinon指南: 使用Mocks, Spies 和 Stubs编写JavaScript测试
编写单元测试时遇到的最大的困难之一就是如何测试复杂代码。 在真实的项目中,各种各样的功能会使代码很难被测试。不论是浏览器中的Ajax请求,定时器,日期时间等功能,还是Node.js中的数据库,网络,文件操作。 这些功能之所以很难被测试是因为你不能在代码中控制它……
font-display 的使用
进行性能优化时,决定 Web Font 的加载行为是一项技术活。@font-face规则中新增了一个font-display声明,开发者可以根据 Web Font 的加载时间来决定如何渲染或降级处理。 字体渲染差异 有了 Web Font,开发者可以在项目中加……
7 个 PostCSS 插件让你轻松步入 PostCSS
译者注:本文若有翻译不当,请于译者联系。诚请监督。 之前,我们在 SitePoint 上多次特刊了 PostCSS 内容,但它还是难倒了很多人。一句话总结 PostCSS: PostCSS 处理了很多你不必处理的乏味工作 它很巧妙的不同于预处理器,提供……
关于渐进式 Web 应用,你应该知道的一切
演示 下载 渐进式 Web 应用是利用现代浏览器的特性,可以添加到主屏幕上,表现得像原生应用程序一样的 Web 应用程序。 本教程将用实例和一个演示应用程序,一步一步向你展示关于渐进式 Web 应用程序你应该知道的一切。为了不从零开始,我们打算用我们最近做过的……
在浏览器中播放音乐:用JS和 Web Audio API 重新创造泰勒名琴
在1920年苏联的列宁格勒。一个叫Léon Theremin的青年在他的实验室中偶然发现当他的手在高频振荡器上移动时振荡器会改变音高发出美妙的声音。流行文化就此改变。从科幻小说的电影配音和沙滩男孩的《美妙共振》可以看出,泰勒名电子琴的独特的声音是完美的。世界变……
全栈React: 第12天 create-react-app
今天,我们将添加一个构建过程来存储常见的构建操作,以便我们可以轻松地开发和部署我们的应用。 React小组注意到运行一个React应用需要很多配置(并且社区帮助臃肿 - 包括我们也是如此)。幸运的是,React团队/社区中的一些聪明人员聚集在一起,构建/发布了……
缓存最佳实践及 max-age 注意事项
使用缓存会带来巨大的性能提升,还能节省带宽、减少服务端开销,但很多网站对缓存一知半解,让相互依赖的资源出现竞态条件,从而无法同步更新。 使用缓存的最佳实践大体上可以归纳为这两种模式: 模式一:不变内容 + 长时间 max-age Cache-Control: ……
为ES6配置JavaScript测试工具
现在已经可以很方便的使用使用ES6(亦或是未来的ES7)了,你只需配置好Babel就可以开始编码。如果你只是在NodeJS环境中开发,你甚至都不需要Babel,因为NodeJS自带的ES6支持已经越来越好了。 针对开发流程的工作流是非常简单和详细的,那么针对测……
设计更好的数据表格 – uxdesign.cc
如果没有办法对其进行可视化和操作,数据就毫无用处。未来行业的成功将会把数据收集与更好的用户体验结合在一起,而数据表格包含了诸多此类的用户体验。 优秀的数据表格让用户能够快速浏览、分析、对比、过滤、排序以及处理信息,从中形成见解并采取行动。这篇文章展示了一系列的……
什么是Promise.try,为何它如此重要?
在#Node.js频道里经常困扰大家的一个话题是Bluebird提供的Promise.try方法。大家并不清楚该方法的功能也不知道为何要使用它。同时,几乎所有的关于Promsie的指南中针对该方法错误的演示使得这种情况没有任何改善。 在本文中,我会尝试解释究竟……
CSS自定义属性-使用Javascript进行动态更改
你曾希望在页面加载后你可以更改Sass或者Less变量的值吗?我有。不幸的是,这不是你能做的事,一旦将预处理代码编译成CSS,变量将不再是变量。 你没有与CSS自定义属性相同的限制。 我已经谈论自定义属性有几个周了。我开始向你展示【如何定义和使用它们】(htt……
Node.js 8 中的重要新特性及优化
随着 Node.js 8.0 版本的发布(5月30日下午12点发布),我们得到了最新的 LTS 版本,具有一系列新功能和性能改进。 本文我们将介绍 Node.js 8.0 版本中重要的功能和修复。 与以前的 Node.js 版本相比,8.0.0相当强大。虽然……
Twitter如何部署其JavaScript插件
部署是一件艰难又容易让人沮丧的事。许多Bug都会在这期间暴露出来,尤其是在代码变动很大的情况下。那么如果要向上百万人同时部署呢?接下来我将讲述我们团队如何在这种规模上安全轻松的进行部署工作。 Web开发者使用一个单独的JavaScript文件, widgets……
纯CSS过滤内容
纯CSS过滤内容 译者提示: 边看demo边食用,效果更佳 科普一下伪元素:target 仅仅通过CSS过滤内容,这是一个非常有趣且有吸引力的方法。 (译者注:作者在这里是说,他在半夜两点的时候喝了酒,然后突然想做个实践,就是纯CSS过滤内容) 通过CSS……
ES6模块加载:比你想象的还要复杂
让模块的正式定义成为原生语言的一部分,是ES6让人久等的特性之一。近年来,JavaScript开发者为了完成代码组织管理,不得不在RequireJS、AMD和 CommonJS等权宜的模块规范里做出选择。如果以后模块定义可以正式成为JavaScript语言的组……
掌握Chrome开发工具:新一代前端开发技术
你可能已经熟悉了Chrome开发工具的基本功能。: DOM检查器、样式面板和JavaScript控制台。 但也有一些不太为人所知的特性可以显著提高你调试或开发应用的速度。 黑色主题 Chrome开发工具的内置了黑色主题。你可以通过点击开发工具窗口右上角的三……
Node v8.0.0 正式发布,一波主要新特性 | Node.js
接下来发布的这个版本的node.js会带来一系列重大的改变和影响,有太多要点以至于我们无法在这样一篇文章中充分覆盖其特性。但这篇文章包含了其最大改变和特性的总结。 npm version 5.0.0 npm的公司近期 宣布发布了5.0.0版本客户端 我们……
5行JavaScript代码实现页面平滑滚动
HTML本身具有跳到页面任意位置的能力,只需给目标元素一个id 属性即可。这个技术叫做“锚链接”。 不过,这种跳转是瞬间完成的。为了让人看起来舒服,很多网站都会给页内跳转加上平滑或慢慢滚动到页面某处的设计。 过去人们大都用jQuery来实现此设计,但为这就加载……
实例讲解 JS 函数式编程 (第二部分)
在第一部分中,我们通过两个示例讨论了:函数式编程基础知识、柯里化、纯函数、Fantasy-land 规范、Functor、Monad、Maybe Monad 以及 Either Monad。 在本部分,我们将涉及:Applicative、curryN 函数 和……
使用CSS的 object-fit 和object-position属性
原文作者Asha Laxmi在文章Using CSS’s object-fit and object-position Properties中介绍了两个CSS属性:object-fit和object-position,有助于我们解决images和videos这……
高效程序员的10个习惯
今年,我和软件工程领域的一些大牛聊天。这是典型的会议演讲者与赞助方之间的晚餐,没有正式的参与者。一些你在Twitter上关注的大牛,在餐间都会放松心情,分享观点和战争故事(IE6或任何一个?)。 通过这些轻松的交谈以及我个人多年的观察,让我相信高效成功的程……
为什么要使用Node.js?
介绍 JavaScript的流行给它本身带来许多变化,Web开发的面貌也发生了巨大的改变。现在JavaScript不仅可以运行在浏览器上,甚至可以运行在服务器上,像Flash或者Java Applets那样被包装在沙盒环境中运行,这在几年前这是很难想象的。 在……
使用 Node.js 和 Express.js 搭建简易 HTTP/2 服务器
自从 1975 年左右使用 TCP/IP 协议的现代互联网诞生至今已经过了惊人的41年了。在它生涯的大部分时间里,我们使用 HTTP 以及它的继任者 HTTP/1.1 (1.1 版本) 在客户端和服务器之间进行通讯。它很好的支撑起了这个网络世界,但是开发者们构……
怎样正确使用Stylelint来对你的Sass/CSS代码静态检查
2016年2月12日 最后更新于 2016年2月27日 。 很少人会去对样式表进行静态检查。不过,许多人应该尝试这么做,尤其是在一个大家都会修改代码库的队伍里。 在这篇文章里,我会讲一讲为什么我们需要对样式表进行静态检查,以及怎样把纯CSS或者Sass的……
一个治愈JavaScript疲劳的学习计划 – freeCodeCamp
一个治愈JavaScript疲劳的学习计划 (本文由Sacha Greif于2016年10月30日发表 译者注) 像其他所有人一样, 我最近碰巧也读了 Jose Aguinaga 的文章 “How it feels to learn JavaScript i……
我为什么(基本上)告别了推特– Kyle
精简版 从我告别我的twitter账户@getify至今已经有六个月了。我持续收到关于为什么我要这么做的问题,有些人哀叹我的退出,所以我想我会解释为什么我离开。 这样做,我会从一些上瘾的人的角度对twitter(和其他社交媒体)发表一些看法——我过去每天平均每……
在React.js中使用PureComponent的重要性和使用方式
一、介绍PureComponent React 15.3在2016.06.29发布了,这个版本最值得关注的是支持了React.PureComponent,它取代了之前的pure-render-mixin。在本文中,我们将讨论PureComponent的重要……
如何使用SVG动画来制作游戏
游戏的灵感 在使用过一段时间的SVG动画之后,我相当清楚如何利用它来制作动画片段或者网页布局。一些动画库平台,例如Greensock,和原生的CSS动画简直是绝配。于是我便打算深入地研究一下,看看我能否用这些来制作一款简单的游戏。就像一个精美的工艺品一样,好的……
React 初学者教程 4: 在 React 中设置样式
长期以来,我们都是用 CSS 格式化 HTML 内容。用 CSS,可以很好地分离内容和表现形式。CSS 的选择器语法给我们很大的灵活性,来选择哪个要格式化,哪个会略过。你甚至找不到太多的问题来憎恨 CSS 的层叠。 好了,不要告诉 React 这些。React……
千万别用微服务!
关于译文,本文英文题目为Microservices - Please Don't,在此我联想到多年前的一本书叫做《千万别学英语》,其本意是千万别这样学英语,本文的目的亦是如此,因而这里我将题目翻译为千万别用微服务,实则是想建议读者,千万别这样使用微服……
requestAnimationFrame傻瓜调度
requestAnimationFrame傻瓜调度 有些人对requestAnimationFrame回调的调度很好奇,那么请看这里: 所有的rAF回调总是会在工作中的同一帧或下一帧中运行 在事件处理程序中排队的所有rAFs都会在​同一帧​中执行。 在一个rA……
如何让上传速度加快10倍——草案博客
你觉得你的web应用只可以响应得更快一点吗?我们觉得可以所以做了一点新的尝试 “高层次的抽象” 作者: Tomasz Urbaszek 我们会对在发现应用响应慢的时候做一些优化,但是现实效果都不怎么满意。正如它所显示的,最慢的部分是在我们应用中上传文件的时候……
实用的 Promise in JavaScript - 创建 promise
在本系列教程中的 第一部分 , 我们来讲解一下 promises 的基础知识. 我们知道它是什么. 我们也知道怎么用 then 方法去获得 promise 运行后的结果. 我们都知道用 catch 来获取代码中出现的错误. 但是我们现在还没有创建一个 ……
JavaScript立即执行函数表达式(IIFE)用例
JavaScript立即执行函数表达式(IIFE)用例 最近,我写了一篇关于syntax of JavaScript's IIFE pattern的文章,来解释为什么我们用现在的方式来写立即执行函数表达式。少数的读者批评文章是过时的,都在争论在ECMA……
在redux应用中使用GraphQL – freeCodeCamp
(image credit) 在 Redux 应用中获取和管理数据需要做许多工作。正如 Sashko Stubailo 指出的: 不幸的是,在 Redux 应用程序中异步加载服务器数据的模式还没有建立起来,并且经常需要使用外部帮助程序库,如 redux-s……
服务端与客户端同构 —— Vue.js 应用框架 Nuxt.js
通用(也称同构)的JavaScript已经成为JavaScript社区很常用的一个术语。通用的JavaScript用来形容可以在客户端执行,也可在服务端执行的Javascript代码。 作者的其他文章 Fetching Data from a Third-……
V8 JavaScript 引擎:V8 6.1 版本
###V8 6.1 版本 每六周,作为发布进程的一部分,我们会为 V8 创建一个新的分支。每个版本都是在 Chrome beta 里程碑之前立即从 git 主干创建的。今天我们很高兴宣布新的分支,V8 version 6.1,它会一直处于测试阶段直到在几周内与……
作为菜鸟开发者,如何建立个人品牌
作为菜鸟开发者,如何建立个人品牌 自从我在媒体上发表文章,我注意到我的 博客和我的社交媒体 账户粉丝增加。虽然只有轻微的增长,但我仍然非常激励。 这让我想到最近才想到 我一直在忽视的东西 我的个人品牌。 我有一个很好的工作,我不是在找工作。 但我低估了积极……
函数式JavaScript:每天都能用的函数组合
图片来源:PIRO4D 函数组合 现在是函数式编程里我最喜欢的一部分。我希望能在本文里给你一些实用的例子,好让你能理解什么是函数组合,这样你也可以每天都用!这篇文章里,我们会学习如何组织你的js文件,这样你就能写出像下面这样简洁清晰的函数式代码了: impo……
使用 Node.js 进行 HTTP/2 Server Push
Node.js 8.4.0 开始实验性的支持HTTP/2,可以使用--expose-http2参数来启用。 在这篇博客中,我们将要介绍HTTP/2的服务端推送并且创建一个小的Node.js 应用来进行尝试。 关于 HTTP/2 HTTP/2的主要目标是通过启用……
干预 document.write()  |  Web  |  Google Developers
您最近是否在Chrome的开发者控制台中看到过如下警告,想知道这是什么吗? (index):34 A Parser-blocking, cross-origin script, https://paul.kinlan.me/ad-inject.js, is ……
如何只用 30 行代码在 JavaScript 中创建一个神经网络
由 Google Dream 神经网络创建的一副奇怪的图像 在这篇文章,我将会展示给你如何使用 Synaptic.js 创建并训练一个神经网络,它允许你在 Node.js 和浏览器中进行深度学习。 我们将会创建可能是最简单的神经网络:解出一个 XOR (异或……
React 介绍
实现NoteStore和NoteActions# React 简介 Marko Heinrich (Public Domain) 搜索 目录 介绍 入门指南 React是什么? 开始你的项目 制作一个笔记本应用 删除笔记 了解React组件 编……
用漫画介绍 WebAssembly ★ Mozilla Hacks – the Web developer blog
你可能听说过 WebAssembly 很快。但是是什么让 WebAssembly 能这么快呢? 在这个系列中,我会解释为什么 WebAssembly 很快。 等等,所以什么是 WebAssembly ? WebAssembly 是一种使 JavaScript ……
玩命加载中……
已经到底啦