ARTS-1

ARTS

也就是 Algorithm、Review、Tip、Share 简称ARTS

  1. 每周至少做一个 leetcode 的算法题
  2. 阅读并点评至少一篇英文技术文章
  3. 学习至少一个技术技巧
  4. 分享一篇有观点和思考的技术文章

Algorithm

two-sum

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

暴力方式 O(n²)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
for(var i = 0; i < nums.length; i++) {
for(var j = i+1;j < nums.length; j++) {
if (nums[i] + nums[j] === target) {
return [i, j]
}
}
}
return 0
};

数组下标获取 O(n)

1
2
3
4
5
6
7
8
9
10
11
12
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
for(var i = 0; i < nums.length; i++) {
let n = nums.indexOf(target - nums[i])
if (n > -1 && n !== i) return [i, n]
}
return 0
};

Review

Securing Node.js RESTful APIs with JSON Web Tokens

目前前后端分离开发一般使用CORS+RESTful+Token解决跨域问题,本篇文章主要介绍了在NodeJs开发RESTful风格的接口的详细方案,使用JSON Web Token(JWT),express开发路由接口,postman调试接口.

源码:https://github.com/adnanrahic/securing-restful-apis-with-jwt

Tip

来自《打造高效的工作环境 – SHELL 篇》,做一个会偷懒的程序员

下面这几个命令,可能是你天天都在敲的。所以,你应该设置成 alias 来提高效率

1
2
3
4
5
6
7
8
9
alias nis="npm install --save "
alias svim='sudo vim'
alias mkcd='foo(){ mkdir -p "$1"; cd "$1" }; foo '
alias install='sudo apt get install'
alias update='sudo apt-get update; sudo apt-get upgrade'
alias ..="cd .."
alias ...="cd ..; cd .."
alias www='python -m SimpleHTTPServer 8000'
alias sock5='ssh -D 8080 -q -C -N -f user@your.server'

Share

更新electron-app.asar

Electron应用中,主进程和渲染进程资源都打包到app.asar,那么热更新应用是否只需要更新app.asar就好了呢?答案是肯定的。