经常使用linux的人对于vim肯定不陌生,Vim作为一个开源的编辑器,在winodws上面也有发布版本。
之前有记录一些vim的操作命令,这里主要来对vim进行简单配置,以及让它对中文的支持能更友好。
在linux中修改.vimrc(在windows中是_vimrc),_vimrc文件位置位于软件的安装目录下。
windows系统也可以在vim菜单项中:编辑>启动设定,直接打开_vimrc文件。
安装好 Mongodb
后,启动Mongo服务,在启动前的配置里面暂时先不要加个–auth参数。
其中的–auth这个参数就是用来增加权限访问的东西,所以在未添加访问用户前,先不添加此参数。
在与Mongo服务连接成功后,使用show dbs可以查看当前的数据库列表。
1 | show dbs |
如果是一个全新的Mongo服务,一般有以上两个基本库在里面。其中的admin库就是用来做权限管理的。
然后我们切换到admin库,在库中加入全局管理用户(拥有管理库权限的用户)。
Robomongo
是一款很好用的mongodb管理工具,界面简单友好并且开源免费。目前最新版本为0.8.5。
但是最近把mongodb升级到3.x版本后发现这个工具无法进行权限认证并连接数据库了。
最后在官网发现robomongo0.8.5版本不支持mongodb3.x的“SCRAM-SHA-1”加密方法。作者将在0.9.x版本中进行修复。
那么如何让mongodb3.x也能通过robomongo0.8.5进行认证连接呢?
首先,启动服务的时候把“–auth”参数去掉,这样我们就可以在不认证的情况下连接mongodb。
Javascript是单线程语言,不像Java等有多线程的能力以及实现sleep睡眠。
但是可能自己写一个伪sleep功能的方法,以供项目中使用。
1 | function sleep(milliSeconds) { |
参数以毫秒为单位,因为Javascript为单线程,所以以上方法会阻塞线程,导致后续的代码不会执行,从而实现伪sleep功能。
什么是 MongoDB
?
MongoDB是一种非关系型数据库(NoSql),一种应对网站的超大规模和高并发需求的数据库。内容以Json格式进行存储,可以直接使用Js进行操作(NodeJs)。
今天主要记录一下,在MongoDb数据库上面,新增一条数据在不设置“_id”字段的数据时,系统则会自动生成一个objectId,并赋值给“_id”。
objectId是一个24位的字符,生成规则。
在做表单提交的时候经常需要验证用户输入密码的强度,来进行相应的提示或者相应的交互效果。
前端验证密码无非就是用正则表达式来对输入字符就行匹配。
一般密码越复杂位数足够的话强度就越高。密码组成元素一般为:数字、特殊字符、大写字母、小写字母组成。
密码强度规则:
简单:6位(即便包含多种元素)
中等:至少7位(包含3种组成元素如:aB12345)
高等:至少8位(组成元素需全部包含如:aB12345!)
那么我就可以根据上面的组成元素制定相应的正则表达式,用匹配的结果来区分密码强度。
网站开启 Gzip
压缩对浏览速度来说有很大的提升。它会把浏览器请求的页面,以及页面中引用的静态资源以压缩包的形式发送到客户端,然后在客户端完成解压和渲染。
修改apache/conf目录中的httpd.conf文件,在修改前做好备份。
在httpd.conf中打开deflate_Module和headers_Module模块。
1 | LoadModule deflate_module modules/mod_deflate.so |
JavaScript出于安全方面的考虑,不允许跨域调用其他页面的数据。
在多项目协同开发中,难免会有跨域请求数据的可能。
就算在同一个域名下的不同端口发出请求也会出现跨域的问题。
使用Header来解决:
通过设置Access-Control-Allow-Origin,来实现跨域请求。
在Header的解决方案中可以允许某一个或多个其他域名发送的请求。
在做项目的时候经常全有用到排序的功能,例如Mysql等数据库都带有排序的函数。
在前端开发中,Javascript的数组也带有sort函数,只是sort只对英文字母才能排序。
下面来讲一下今天的主角:localeCompare()
。
localeCompare是一个属于String类型的子函数,作用是用本地特定的顺序来比较两个字符串。