Category Archive

developer

windows 开发环境配置

让人头大的 windows 环境下做开发时的环境配置咋歘嘞?

PS: 本人很不愿意在 win 环境下做开发,是真的不想.

Read More

2018 前端趋势:更一致,更简单!

2017 是一个前端 Web 开发年。

像 React 和 Angular 这样的框架,继续在社区中享有大规模的支持,但是,新的候选者 Vue ,人气也很旺。Webpack 依旧是构建的首选工具,NPM 仍旧是系统选择包的工具。WebAssembly 以前所未有的速度向 Web 开放了众多新的和令人兴奋的案例。像 GraphQL 等技术,革新了书写和在 web 应用中使用 API 的方式。

于此同时,语言自身也在改进,ECMAScript 标准的 2017 版本增加了异步功能,这大大提高了开发者写异步代码时的经验。现在,它们被所有的主流浏览器支持。另一个值得注意的改进是共享内存和原子操作。

然而, 在暴露出他们出现浏览器侧信道攻击涉及推测执行之后,共享内存在2月5日被所有的主流浏览器暂时禁止 。

预计今年某个时候,当浏览器的开发商找到的阻止漏洞的方法时,共享内存就可以使用了

Read More

最近遇到的几个 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. 打印任意等边三角形,如下示例:

    *
   * *
  * * *
 * * * *
 ...

Read More

精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!

该项目来自于 Github 用户 Chalarangelo,目前已在 Github 上获得了 5000 多Star,精心收集了多达 48 个有用的 JavaScript 代码片段,该用户的代码可以让程序员在 30 秒甚至更少的时间内理解这些经常用到的基础算法,来看看这些 JavaScript 代码都传达出了什么吧!

Read More

HTML5全局属性汇总

  • 局部属性:有些元素能规定自己的属性,这种属性称为局部属性。 比如 link 元素,它具有的局部属性有 href、 rel、 hreflang、 media、 type、 sizes 这六个。
  • 全局属性:可以用来配置所有元素共有的行为,这种属性称为全局属性,可以用在任何一个元素身上。

Read More

前、后端分离,谁值得拥有?

近两年来,前、后端分离的架构得到越来越多的认可,越来越多的团队在尝试、推广这种架构。但在团队采纳这种架构之前依然需要冷静思考,这是不是自己需要的?

Read More

如何写好.babelrc?Babel的presets和plugins配置解析

什么是Babel?

The compiler for writing next generation JavaScript.

官网是这么说的,翻译一下就是下一代JavaScript 语法的编译器。

作为前端开发,由于浏览器的版本和兼容性问题,很多JavaScript的新的方法都不能使用,等到可以大胆使用的时候,可能已经过去了好几年。Babel就因此而生,它可以让你放心使用大部分的JavaScript的新的标准的方法,然后编译成兼容绝大多数的主流浏览器的代码。

在升级到了Babel6.x版本之后,所有的插件都是可插拔的。这也意味着你安装了Babel之后,是不能工作的,需要配置对应的.babelrc文件才能发挥完整的作用。下面就对Babel的presets和plugins配置做一个简单解析。

Read More

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支持的最广泛。

Read More

Hyrid App 浅谈

时下流行的移动Web可分为三种:原生应用、Web应用和混合型应用。


  • 原生应用:通过各种应用市场安装,采用平台特定语言开发。
  • Web应用:通过浏览器访问,采用Web技术开发。
  • 混合型应用:通过各种应用市场安装,但采用Web技术开发。它虽然看上去是一个原生应用,但里面访问的实际上是一个Web应用。

Read More

Back to Top ↑

tool

教你逛GitHub

GitHub: 全球最大同性交友网站

GitHub于2008年4月10日正式上线

2018年6月4日,微软宣布,通过75亿美元的股票交易收购代码托管平台GitHub

GitHub 2019年度报告出炉

  • GitHub 推出 iOS/安卓客户端

  • GitHub 目前在全球已有超过 4000 万开发者用户,其中 80% 来自美国之外的地区。仅去年一年,就有 1000 万新开发者加入。4000 万开发者在去年总共构建了 4400 万个仓库。GitHub 在 2018 年 11 月突破了 1 亿仓库的里程碑。

Read More

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 出现了!

Read More

Back to Top ↑

discourse

2018年即将到来的八大Web发展趋势

以下是八项网络发展趋势,该趋势将2018年对整个行业产生巨大影响:

自网络出现以来,一直处于不断发展的状态。Mosaic和Netscape Navigator在早期推广互联网方面功不可没。从那以后,每年都会出现一些新概念、新想法和新趋势,纵然其中有好有坏。

从这些年来的变化和趋势中,我们能得到一个重要教训:成功往往是与把握变革的浪潮有关,而不会随之而来。您可以通过探索未来的趋势,并在他人之前将适用于您的东西结合在一起来实现这一点。

Read More

编程中的24条经典语录

浮躁的人容易问:我到底该学什么;— 别问,学就对了;
浮躁的人分两种:只观望而不学的人;只学而不坚持的人;

Read More

Back to Top ↑