归档: 2018/9

Nodejs 基于 Redis 的分布式锁

Nodejs 基于 Redis 的分布式锁http://myfjdthink.com/2016/11/29/nodejs-%E4%B8%AD%E5%9F%BA%E4%BA%8E-redis-%E7%9A%84%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E3%80%82/ 简单的解决方案 发

Android 集成 Facebook 登录并获取用户信息

Android 集成 Facebook 登录并获取用户信息https://developers.facebook.com/docs/facebook-login/android?sdk=maven 新建Android Studio项目 集成 Facebook SDK 打开 your_app > Gradle Scripts > build.gradle (Project)

Javascript 实现 sprintf

Javascript 实现 sprintf 实现 123456789101112131415161718192021222324252627282930313233343536373839404142434445str_repeat(i, m) { for (var o = []; m > 0; o[--m] = i); return o.join('&ap

ES6标签模板

ES6标签模板 使用反引号``,支持多行 12var _mNum = 100;var stringA = `${_mNum} person.`;

Ubuntu 基本用户操作

Ubuntu 基本用户操作最近发现服务器异常,查询账号登录是否有异常用户 查看所有的用户组 1cat /etc/group 创建用户组 1groupadd xxx 删除用户组 1groupdel xxx 查看用户 1cat /etc/shadow 创建用户 1234useradd xxx -d /usr/local/xxx/ -g xxx-d 指定用户的主目录-g 所属的组

Nodejs dns 模块

Nodejs dns 模块http://nodejs.cn/api/dns.html dns 模块包含两类函数: 第一类函数,使用底层操作系统工具进行域名解析,且无需进行网络通信。 这类函数只有一个:dns.lookup()。 1234567const dns = require('dns');dns.lookup('iana.org', (err,

Nodejs 文件上传后处理

Nodejs 文件上传后处理12345678910111213141516var fs = require("fs");var uploadFile = async function(req, res) { try{ var file = req.files[0].path; var data = fs.readFileSync(file,&

Nodejs C++ 插件

Nodejs C++ 插件简单 hello world ,亲测成功! node-gyp 工具 使用 node-gyp 的开发者可以使用 npm install -g node-gyp 命令进行安装 binding.gyp 该文件会被 node-gyp(一个用于编译 Node.js 插件的工具)使用。 12345678{ "targets": [ &#

AWS CloudWatch 指标

AWS CloudWatch 指标监控关键指标和日志,可视化显示应用程序和基础设施堆栈,创建警报,将指标和日志关联起来以了解和解决性能问题的根本原因。 日志分析 探索、分析并立即可视化显示日志,以解决运营问题和提高应用程序性能。 资源优化 启用 CloudWatch Alarms 以通过 Auto Scaling 实现容量和资源规划的自动化。 应用程序监控 触发自动化的 CloudW

Mysql 对比两张表数据

Mysql 对比两张表数据123SELECT * FROM A a WHERE NOT EXISTS (SELECT 1 FROM b B WHERE a.id = b.id);SELECT * FROM A a WHERE a.id NOT IN (SELECT b.ID FROM B b);

Mysql 更新表时间字段

Mysql 更新表时间字段由于原表记录的时间是UTC,改成IST后需要增加5小时30分钟,SQL语句如下: date_add 可以向日期添加指定的时间间隔 1234// 加30分钟update xxxxx set createTime=date_add(createTime, interval 30 minute) where createTime<'2018-09-17 00:

Ubuntu 更改时区

Ubuntu 更改时区根据需求,需要修改成印度时区IST 显示系统的当前时间和日期 RTC time 就是硬件时钟的时间 123456789timedatectl Local time: Tue 2018-03-26 08:11:45 UTC Universal time: Tue 2018-03-26 08:11:

JavaScript setTimeout()

JavaScript setTimeout() 在指定的毫秒数后调用函数 1setTimeout("alert('对不起, 要你久候')", 3000 )

JavaScript 判断空值 undefined 和 null

JavaScript 判断空值 undefined 和 null 判断 undefined 12345var a = undefined;if (typeof(a) == "undefined"){ alert("undefined");} 判断 null 12345var a = null; if (!a &&am

如何精确评估开发时间

如何精确评估开发时间https://blog.csdn.net/gang544043963/article/details/83934015 任务拆分 需求充分了解;模块化。 进行技术上的拆分;由大到小,再到细节;细到一个按钮的实现,最好能细到代码块的划分。 根据实际时间花销,回顾时间评估的准确性 合理认知时间 真正有效时间其实不足六小时,杂事多的话可能是四五个小时 预留buf

Redis的三种集群方式

Redis的三种集群方式https://blog.csdn.net/weixin_44699571/article/details/88698716 主从复制 优点: 支持主从复制,主机会自动将数据同步到从机,可以进行读写分离 Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力 以在Master-Slave同步期间,客户端仍然可以提交查询或修

Redis 中穿透与雪崩的预防及解决

Redis 中穿透与雪崩的预防及解决https://blog.csdn.net/weixin_44699571/article/details/88698716 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。 解决办法: 对所有可能查询的参数以hash形式存储,

阿里云Redis开发规范

阿里云Redis开发规范键值设计 key名设计 可读性和可管理性 以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如 业务名:表名:id 1ugc:video:1 简洁性 保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如: 12345user:{uid}:friends:messages:{mid}简化为

Monit 日志监控工具

Monit 日志监控工具Monit是一款功能非常丰富的进程、文件、目录和设备的监测软件,适用于Linux/Unix平台。 它可以自动修复那些已经停止运作的程序,特使适合处理那些由于多种原因导致的软件错误,同时Monit 包含一个内嵌的 HTTP(S) Web 界面,你可以使用浏览器方便地查看 Monit 所监视的服务器

MongoDB distinct count

MongoDB distinct count1db.xxx.aggregate([{$match:{success:1}},{ $group: {_id:{playerId:"$playerId"}}},{$group:{_id:null,count:

Mysql distinct count

Mysql distinct count1select userId,count(*) as cnt from user group by userId having cnt>1;

Mysql 索引失效情况

Mysql 索引失效情况==如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则索引失效== 失效 1SELECT * FROM user WHERE pid=1211111111; 有效1SELECT * FROM user WHERE pid='1211111111';

Mysql 索引的创建删除

Mysql 索引的创建删除索引的类型: 12345UNIQUE(唯一索引):不可以出现相同的值,可以有NULL值INDEX(普通索引):允许出现相同的索引内容PROMARY KEY(主键索引):不允许出现相同的值fulltext index(全文索引):可以针对值中的某个单词,但效率确实不敢恭维组合索引:实质上是将多个字段建到一个索引里,列值的组合必须唯一 查看索引 1show index