2019
Back to Top ↑2018
IntelliJ IDEA For Mac 快捷键
IntelliJ IDEA For Mac 快捷键
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. 打印任意等边三角形,如下示例:
*
* *
* * *
* * * *
...
2017
精心收集的 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 开发人员推荐几款优秀的开源文档生成工具,希望能对大家有所帮助。
2018年即将到来的八大Web发展趋势
以下是八项网络发展趋势,该趋势将2018年对整个行业产生巨大影响:
自网络出现以来,一直处于不断发展的状态。Mosaic和Netscape Navigator在早期推广互联网方面功不可没。从那以后,每年都会出现一些新概念、新想法和新趋势,纵然其中有好有坏。
从这些年来的变化和趋势中,我们能得到一个重要教训:成功往往是与把握变革的浪潮有关,而不会随之而来。您可以通过探索未来的趋势,并在他人之前将适用于您的东西结合在一起来实现这一点。
编程中的24条经典语录
React-Try Note
Front End ToDoList
一个合格的前端开发需要那些知识储备?
Front End Library
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 出现了!
Hyrid App 浅谈
时下流行的移动Web可分为三种:原生应用、Web应用和混合型应用。
- 原生应用:通过各种应用市场安装,采用平台特定语言开发。
- Web应用:通过浏览器访问,采用Web技术开发。
- 混合型应用:通过各种应用市场安装,但采用Web技术开发。它虽然看上去是一个原生应用,但里面访问的实际上是一个Web应用。