18位身份证号码
Blog
-
身份证号构成
第7、8、9、10位为出生年份(四位数)第11、第12位为出生月份第13、14位代表出生日期第17位代表性别,奇数为男,偶数为女。 -
nodejs
node 04ModulesSemantic Versioningversion patch“connect”: “~2.2.1”,“underscore”: “~1.3.3”node 03streamscurl –upload-file abc.jpg http://localhost:3000node 01fs.readFileSyncfs.readFile(‘/etc/hosts’, function(){});setTimeout(function(){ console.log(“here we go”)}, 5000); // 等 5000ms 再运行 functionnon-blockingepxress 05route instancesapp.route()chaining functionsingle application file is too longextracting routes to modulesvar router = express.Router();set router as a express modulemodule.exports = router;var router = express.Router();router.route(‘/’);app.use(‘/cities’, router);router.route(‘/’).get(function (request, response) {if(request.query.search){response.json(citySearch(request.query.search));}else{response.json(cities);}}).post(parseUrlencoded, function (request, response) {if(request.body.description.length > 4){var city = createCity(request.body.name, request.body.description);response.status(201).json(city);}else{response.status(400).json(‘Invalid City’);}});router.route(‘/:name’).get(function (request, response) {var cityInfo = cities[request.cityName];if(cityInfo){response.json(cityInfo);}else{response.status(404).json(“City not found”);}}).delete(function (request, response) {if(cities[request.cityName]){delete cities[request.cityName];response.sendStatus(200);}else{response.sendStatus(404);}});What function would you call to match all HTTP verbs?app.all()express 04post & deletebody-parserapp.delete(‘/blocks/:name’, function(request, response){});response.sendStatus(200);express 03handle routesresponse.json();/blocks?limit=1use request.query to access query stringsblocks.slice(1, 3) from 1 , 3 itemsresponse.status(404).json(‘No description found for ‘ + request.params.name)maps placeholders to callback functions, and is commonly used for running pre-conditions on Dynamic Routesapp.param(‘name’, function(request, response, next){});javascriptarray -> blocks = [‘Fixed’, ‘Movable’, ‘Rotating’];object -> blocks = {‘Fixed’: ‘description 1’,‘Movable’: ‘description 2’,‘Rotating’: ‘description 3’}for object , use Object.keys(blocks) get all keys of objects.express 02response.sendFile(__dirname + ‘/public/index.html’);express 的 static middlewaremiddleware 用于检验,认证,数据解析app.use(express.static(‘public’));当调用一个 middleware ,可以加一个 next 调用下一个 middlewareapp.use(function(request, response, next) {next();});到最后一个 middleware,没有 next 则响应一个 doneapp.use(function(request, response, next){response.send(‘done!’);});express 使用 ajax 返回express 01安装 node 并指定版本npm install [email protected]response.send();blocks = [“a”, “b”, “c”];response.send(blocks);curl 查看 header 会发现自动解析成 json等同于response.json(blocks);302跳转response.redirect(‘/parts’);301跳转response.redirect(301, ‘/parts’); -
git notes
level 6
rebase
git fetch只获取,并不合并
本地与远端使用git rebase
git rebase进行了三步操作把所有master的改变放到一个临时区域里面
运行所有origin/master的提交
运行在临时区域的commits
本地两个分支间的rebase,master和 develop均有提交
在develop分支下,
git rebase master
然后再git checkout master
把develp合并过来
git merge develop
conflicts本地master和远端origin/master都修改了同一个文件,并在本地提交
解决冲突
在master上git fetch
然后git rebase,这样保证在master上有最新的代码
这里会提示有冲突
当解决了问题,则用git rebase –continue
level 7
git log
sha hashgit config –global color.ui true
git log –pretty=oneline
git log –oneline –stat
当前分支与 master 的区别
git log --oneline ...master
git log -p 查看具体的改变
git diff == git diff HEAD
git diff HEAD^git diff HEAD~5
git diff HEAD^..HEADgit diff sha..sha
git diff master develop对于单个文件一直以来的变化
git blame index.html –date short
git status 看到有不想提交的,则在 .git/info/exclude 把文件过滤掉.gitignore
git 删除文件
git rm README.txt
在 system 中不会被删除,但在 git 中会删除
git rm –cached development.logmac 指定 merge 工具
git config --global merge.tool opendiff git config --global alias.st status 来设置 status 的别名
level 4
git push rejected
首先git pull
pull的动做细分
git fetch到origin/master
将origin/master合并到本地 master
git merge origin/master
现在再push
conflict
必须手动解决
level 1
查看staged文件做了哪些改动
git diff –staged
在提交的同时进行添加
git commit -a -m “add index”
将修改的文件恢复
git checkout — cats.html index.html
level 2undo上一次提交,并将改变放到 staging 中
git reset --soft HEAD^
只修改上一次的提交
git commit --amend -m "New Message"
undo 上一次的提交和修改,你的修改会丢失
git reset --hard HEAD^
undo 上两次的提交和修改
git reset --hard HEAD^^
git reset HEAD ostrich.html
查看远端的 fetch 及 push地址
git remote -vgit remote add <name> <address>
删除远端 repo
git remote rm <name>git push -u origin master
origin是远端 repo 的名字, master 是本地分支的名字
设置 git config user
git config --global --edit #全局配置在 ~/.gitconfig [user] name = myusername email = [email protected] 当前项目配置在 .git/config想要保存一个空目录时,一般添加一个空文件.gitkeep,比如
secrets/.gitkeep
macOS 自动保存到 keychain
git config --global credential.helper osxkeychain
-
nginx 499 原因
Content-Length field missed
-
nginx server
#图片,js,css过期时间31天 location ~ \.(gif|jpg|jpeg|png|bmp|swf|js|css)$ { expires 31d; }
location ~ /\.ht { deny all; }
#禁止对SVN目录的访问 location ~* /\.svn { return 404; } -
sysctl的调优
/proc/sys/net/core/somaxconn 设置
清理 cache
echo 3 > /proc/sys/vm/drop_caches echo 655350 > /proc/sys/net/netfilter/nf_conntrack_max echo 655350 > /proc/sys/net/nf_conntrack_max echo 1200 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
客户端端口范围
sysctl -a | grep port_range net.ipv4.ip_local_port_range = 32768 61000