developer
Mac 配置 Go 开发环境
Go (also known as Golang) is an open source programming language maintained by Google.
Ubuntu 开发环境配置(前端篇)
本指南介绍了在新Ubuntu上设置前端开发环境的基础知识。无论您是否是经验丰富的前端程序员,本文都适合参考。
windows 开发环境配置
2018 前端趋势:更一致,更简单!
2017 是一个前端 Web 开发年。
像 React 和 Angular 这样的框架,继续在社区中享有大规模的支持,但是,新的候选者 Vue ,人气也很旺。Webpack 依旧是构建的首选工具,NPM 仍旧是系统选择包的工具。WebAssembly 以前所未有的速度向 Web 开放了众多新的和令人兴奋的案例。像 GraphQL 等技术,革新了书写和在 web 应用中使用 API 的方式。
于此同时,语言自身也在改进,ECMAScript 标准的 2017 版本增加了异步功能,这大大提高了开发者写异步代码时的经验。现在,它们被所有的主流浏览器支持。另一个值得注意的改进是共享内存和原子操作。
然而, 在暴露出他们出现浏览器侧信道攻击涉及推测执行之后,共享内存在2月5日被所有的主流浏览器暂时禁止 。
预计今年某个时候,当浏览器的开发商找到的阻止漏洞的方法时,共享内存就可以使用了
最近遇到的几个 JavaScript 题,附答案!
1. 将数组 arr
转换成 newArr
.
let arr = [
[ 1, 5, 9, 13 ],
[ 2, 6, 10, 14 ],
[ 3, 7, 11, 15 ],
[ 4, 8, 12, 16 ]
]
// =>>
let newArr = [
[ 1, 2, 3, 4 ],
[ 5, 6, 7, 8 ],
[ 9, 10, 11, 12 ],
[ 13, 14, 15, 16 ]
]
2. 输出 tree
的所有children
let tree = [
{
name: '001',
children: [
{ name: 'name > 1' },
{ name: 'name > 1' }
]
},
{
name: '002',
children: [
{ name: 'name > 1' },
]
},
{
name: '003',
children: [
{
name: 'name > 1',
children: [
{ name: 'name > 2' },
{ name: 'name > 2' }
]
}
]
}
]
3. 打印任意等边三角形,如下示例:
*
* *
* * *
* * * *
...
精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!
该项目来自于 Github 用户 Chalarangelo,目前已在 Github 上获得了 5000 多Star,精心收集了多达 48 个有用的 JavaScript 代码片段,该用户的代码可以让程序员在 30 秒甚至更少的时间内理解这些经常用到的基础算法,来看看这些 JavaScript 代码都传达出了什么吧!
HTML5全局属性汇总
- 局部属性:有些元素能规定自己的属性,这种属性称为局部属性。 比如 link 元素,它具有的局部属性有 href、 rel、 hreflang、 media、 type、 sizes 这六个。
- 全局属性:可以用来配置所有元素共有的行为,这种属性称为全局属性,可以用在任何一个元素身上。
前、后端分离,谁值得拥有?
近两年来,前、后端分离的架构得到越来越多的认可,越来越多的团队在尝试、推广这种架构。但在团队采纳这种架构之前依然需要冷静思考,这是不是自己需要的?
如何写好.babelrc?Babel的presets和plugins配置解析
什么是Babel?
The compiler for writing next generation JavaScript.
官网是这么说的,翻译一下就是下一代JavaScript 语法的编译器。
作为前端开发,由于浏览器的版本和兼容性问题,很多JavaScript的新的方法都不能使用,等到可以大胆使用的时候,可能已经过去了好几年。Babel就因此而生,它可以让你放心使用大部分的JavaScript的新的标准的方法,然后编译成兼容绝大多数的主流浏览器的代码。
在升级到了Babel6.x版本之后,所有的插件都是可插拔的。这也意味着你安装了Babel之后,是不能工作的,需要配置对应的.babelrc文件才能发挥完整的作用。下面就对Babel的presets和plugins配置做一个简单解析。
Airbnb JavaScript Style Guide
AirbnbJavaScriptStyleGuide() {
/*
* Airbnb JavaScript Style Guide
* 用更合理的方式写 JavaScript
*/
}
Eslint Getting started
ESLint
The pluggable linting utility for JavaScript and JSX(可组装的JavaScript和JSX检查工具)
ESLint 与 JSLint、JSHint等 区别:
- JSLint:
- JSLint是其中最老的工具。在2002年 Douglas Crockford开发了该工具,根据其经验,强制使用js语言中精粹的部分。如果你同意这些精粹,JSLint能成为一个好的工具。JSLint的缺点是不能配置和拓展。你根本不能禁掉需要特性,并且很多缺少文档。
- JSHint:
- 作为一个可配置的JSLint版本,JSHint被开发出来。你可以配置每个规则,将其放到一个配置文件中,这样在大项目中可以容易使用。JSHint对每个规则有好的文档,所以可以准确知道每个规则的作用。将其集成到编辑器也是简单的。
- ESLint:
- ESLint是比较新的工具。它被设计的容易拓展、拥有大量的自定义规则、容易的通过插件来安装。它给出准确的输出,而且包括规则名,这样可以知道哪个规则造成了错误。ESLint文档多少有些混乱。规则容易查找,以及被分为逻辑组,但是配置指南在有些地方容易弄混。然而它可以在一个地方提供链接去编辑集成、插件和样例。
JSHint是严格和不可配置的,而JSHint缺少拓展机制,ESLint不仅可以进行代码风格的检验,而且可以检查代码中的bug和其他问题。而且SLint对ES6支持的最广泛。
给 Web 开发人员推荐的文档生成工具
工欲善其事必先利其器,在此给 Web 开发人员推荐几款优秀的开源文档生成工具,希望能对大家有所帮助。
React-Try Note
Front End ToDoList
一个合格的前端开发需要那些知识储备?
Front End Library
Hyrid App 浅谈
时下流行的移动Web可分为三种:原生应用、Web应用和混合型应用。
- 原生应用:通过各种应用市场安装,采用平台特定语言开发。
- Web应用:通过浏览器访问,采用Web技术开发。
- 混合型应用:通过各种应用市场安装,但采用Web技术开发。它虽然看上去是一个原生应用,但里面访问的实际上是一个Web应用。
tool
教你逛GitHub
IntelliJ IDEA For Mac 快捷键
IntelliJ IDEA For Mac 快捷键
Yeoman
Yeoman
要启动一个项目,最先要做什么?当然是搭建一个目录结构,新建一个带项目名字的文件夹,再新建一个app文件夹,里面要有common,css,img … 对了,还要有test文件夹写单元测试,嗯 ~ 大概长这样子吧
File Structure
ProjectName/
├── app/
│ ├── src/
│ │ ├── common/
│ │ │ ├── app.js
│ │ │ ├── directives.js
│ │ │ ├── filters.js
│ │ │ ├── services.js
│ │ │ └── controllers.js
│ │ ├── css/
│ │ ├── img/
│ │ ├── js/
│ │ ├── lib/
│ │ └── module/
│ │ ├── header/
│ │ └── footer/
│ │ ├── js/
│ │ └── view/
│ ├── dist/
│ │ ├── css/
│ │ ├── js/
│ │ └── html/
│ └── index.html
│
├── test/
│ ├── unit/
│ ├── e2e/
│ └── karma.conf.js
│
├── node_modules/
│
└── package.json
等等!NO!NO! 我们说好的自动化呢?这样子太low了!
怎么确定自己的目录结构是合理高效的呢?在团队协作中,(幻想一下)身为架构师的你怎么保证团队立项是合乎规范的呢?那些配置文件呢,也要一个个建立吗?为了解决这么low的行为,这时候 YEOMAN 出现了!
discourse
2018年即将到来的八大Web发展趋势
以下是八项网络发展趋势,该趋势将2018年对整个行业产生巨大影响:
自网络出现以来,一直处于不断发展的状态。Mosaic和Netscape Navigator在早期推广互联网方面功不可没。从那以后,每年都会出现一些新概念、新想法和新趋势,纵然其中有好有坏。
从这些年来的变化和趋势中,我们能得到一个重要教训:成功往往是与把握变革的浪潮有关,而不会随之而来。您可以通过探索未来的趋势,并在他人之前将适用于您的东西结合在一起来实现这一点。