- 博客(160)
- 收藏
- 关注
转载 架构演进
某些app怎么扛住1分钟10亿请求架构的演进路线百万级并发:1秒100万次请求千万级并发:一分钟6亿次请求,差不多就是需求的极限架构的设计 和架构优化 要符合需求本身,不能无限制优化基本概念(1)分布式(系统中,多个模块在不同服务器上部署)(2)集群(一个软件部署在多台服务器,并作为一个整体,提供一类服务)(3)高可用(系统中部分节点失效,其他节点能够接替它继续工作或有相应的处...
2020-03-29 16:49:41
381
1
原创 pm2 log 压缩
DescriptionPM2 module to automatically rotate logs of processes managed by PM2.Installpm2 install pm2-logrotateTo install a specific version use the@<version>suffixpm2 install pm2...
2019-07-23 17:17:09
416
转载 你的Linux服务器被黑了?看一看是不是犯了这5点错
安全是IT行业一个老生常谈的话题了,从之前的“棱镜门”事件中折射出了很多安全问题,处理好信息安全问题已变得刻不容缓。因此做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责的业务,首先要站在攻击者的角度思考问题,修补任何潜在的威胁和漏洞,主要分五部分展开:账户和登录安全账户安全是系统安全的第一道屏障,也是系统安全的核心,保障登录账户的安全,在一定程度上可以提高服务器的安全级...
2019-07-20 17:56:04
352
转载 Linux 服务器被黑后处理方法
Linux 服务器被黑后处理方法1、检查系统用户# less /etc/passwd# grep :0: /etc/passwd(检查是否产生了新用户,和UID、GID是0的用户)# ls -l /etc/passwd(查看文件修改日期)# awk -F: ‘$3= =0 {print $1}’ /etc/passwd(查看是否存在特权用户)# awk -F: ‘length($2)...
2019-07-20 16:09:07
308
原创 github多账号配置
git多账号配置,各自提交互不影响1、cd ~/.ssh2、ssh-keygen -t rsa -C "email"3、ssh-add ~/.ssh/id_rsa_qishuo4、vi configHost qishuo HostName github.com User git IdentityFile ~/.ssh/id_rsa...
2019-01-15 13:58:39
915
原创 sourcetree ignore 修改无效
git rm -r --cached .git add .git commit -m 'removed xxx from repository'参考 https://stackoverflow.com/questions/21616463/gitignore-file-in-sourcetree-not-working
2019-01-11 17:19:26
829
转载 python版本管理
背景使用python的同学肯定遇到过以下这些情况:1)系统自带的Python是2.x,自己需要Python 3.x,测试尝鲜;2)系统是2.6.x,开发环境是2.7.x3)由于Mac机器系统保护的原因,默认的Python中无法对PIP一些包升级,需要组建新的Python环境4)此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,...
2019-01-08 19:10:02
2823
转载 ruby版本管理
rvm 管理 ruby版本安装rvm,rvm是可以让你拥有很多ruby版本的一个工具,具体的可以去了解一下(以下各个步骤均在terminal中实现) $ curl -L https://get.rvm.io | bash -s stable期间可能会问你sudo管理员密码,这里可能需要等待一段时间后就可以成功安装好 RVM载入rvm环境 $ source ~/.rvm/s...
2019-01-08 14:38:28
2627
转载 Mac 下解压缩命令大全
tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)———————————————.gz解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar...
2018-07-14 21:21:32
1786
原创 git https 转移到 ssh
git clone https://github.com/**git remote -v 转移git remote set-url origin git@bitbucket.org:git remote -vgit config --global user.email "your git email"git pull
2017-10-25 15:53:32
1295
原创 python os.path模块
os.path.abspath(path) #返回绝对路径os.path.basename(path) #返回文件名os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。os.path.dirname(path) #返回文件路径os.path.exists(path) #路径存在则返回True,路径损坏返
2017-10-11 18:03:17
410
原创 nas crontab
sudo vi /etc/crontab#分 时 日 月 周sudo synoservice -restart crond
2017-09-29 10:59:42
899
1
原创 ssh 免密码登录
ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。1.在A机下生成公钥/私钥对。[chenlb@A ~]$ ssh-keygen -t rsa -P ''-P表示密码,-P '' 就表示空
2017-09-28 19:06:06
351
原创 一. python开发基础
python开发环境略变量本质1. python中的变量不需要先定义,再使用,可以直接使用,还有重新使用用以存储不同类型的值。2.变量命名遵循C命名风格。3.大小写敏感。4.变量引用计数。5. del语句可以直接释放资源,变量名删除,引用计数减1。6.变量内存自动管理回收,垃圾收集。7.指定编码在文件开头加
2017-09-21 20:01:25
1041
原创 node版本管理
1、wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bashnvm install [version] / nvm install stablenvm lsnvm use [version]nvm alias default v6.2.02、使用 .nvm...
2017-09-20 17:25:08
352
转载 浅谈MD5加密算法中的加盐值(SALT)
我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。 加Salt可以一定程度上解决这一问题。所谓加Salt方法,就是加点“佐料”。其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比
2017-05-15 16:37:34
3640
原创 mongo常用的操作
shell#查询查询 name = "bruce" 的数据db.users.find({ name : "bruce" });条件操作符$gt : >$lt : $gte: >=$lte: $ne : !=、$in : in$nin: not in$all: all$not: 反匹配(1.3.3及以上版本)查询 name = 18 的数据
2016-10-11 16:30:17
680
原创 node orm sequelize model-table 互相生成
经过比较个人感觉sequelize 比其他orm好用些,用了半天时间终于搞定了,直接上代码1、利用sequelize model生成tableapplicationMysql.js文件------------var Sequelize = require('sequelize');var sequelize = new Sequelize('db', 'roo
2016-09-23 17:26:51
6385
原创 git配置及常用命令
git比svn的好处多多,这里就不多说了,可以自行查查 1、注册github帐号 https://guides.github.com2、在github上创建库名称3、把库克隆到本地仓库,具体说明: 首先,执行命令ssh-keygen,生成sshkey,cat ~/.ssh/id_rsa.pub git clone git@github.com:qi...
2016-09-22 19:00:58
374
原创 nodeJs 接收上传文件
前台: upload File (Binary): function sendFormFromHTML(form) { //form = $(".upl
2016-08-30 17:35:12
15866
转载 Mongo 3.X以上版本使用Robomongo无法查看Collections内容的问题解决
在之前使用2.x版本的MongoDB时,选择了Robomongo可视化管理工具,一切都是挺美好的,无论是在windows上还是Mac系统,所以也就一直用着。最近升级为MongoDB 3.2.8版本,发现了一个问题:Robomongo无法查看MongoDB 3.x的Collections内容。一、查看自己使用mongodb版本的方法: 使用命令行,定位到在m
2016-08-26 15:24:19
6455
1
原创 nodeJs入门---第一个程序
var http = require('http'); http.createServer(function (request, response) {response.writeHead(200, {'Content-Type': 'text/plain'});response.end('Hello World \n'); }).listen(3000); con
2016-08-23 18:57:21
366
转载 tomcat 集群部署
多个tomcat要一起协同工作有几种办法,可以考虑的方案有以下几个:1. 使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。2. 利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单。但如果应用是某一个局域网大量用户同时登录,这样
2016-08-20 10:49:28
1282
转载 JDBC连接数据库
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class DBHelper { public static final String ur
2016-08-12 14:41:53
236
转载 JDBC中Statement和PrepareStatement的区别及特性
主要区别: Statement执行一条sql就得编译一次,PrepareStatement只编译一次;常用后者原因在于参数设置非常方便;执行一条sql就得编译一次,后者只编译一次;还有就是sql放置的位置不同; 常用后者原因在于参数设置非常方便;特性: jdbc的api中的主要的四个类之一的java.sql.statement要求开发者付出大量的时间和精力。在使
2016-08-12 14:16:43
397
转载 什么是程序的原子性
举个例子:A想要从自己的帐户中转1000块钱到B的帐户里。那个从A开始转帐,到转帐结束的这一个过程,称之为一个事务。在这个事务里,要做如下操作:1. 从A的帐户中减去1000块钱。如果A的帐户原来有3000块钱,现在就变成2000块钱了。2. 在B的帐户里加1000块钱。如果B的帐户如果原来有2000块钱,现在则变成3000块钱了。如果在A的帐户已经减去了1000块钱的时候,忽然发
2016-08-12 12:08:06
379
转载 Java多线程总结之线程安全队列Queue
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全的类 ,指的是类内共享的全局变量的
2016-08-12 11:19:37
1458
转载 java线程安全总结
原文: http://www.iteye.com/topic/806990http://www.iteye.com/topic/808550 最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣。已经拟好了提纲,大概分为这几个主题: java线程安全,java垃圾收集,java并发包详细介绍,java profile和jvm性能调优 。
2016-08-12 11:03:34
280
转载 js parseInt函数
这篇文章介绍了Js中的parseInt函数,有需要的朋友可以参考一下 从很热门的实例parseInt("09")==0说起。parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制。比如说parseInt("010",10)就是10进制的结果:10,parseInt("010",2)就是2进制的结果:2,parseInt("0
2016-05-23 17:57:02
558
原创 android+html5 上传图片兼容4.0 5.0 6.0
根据需求用 html5+android开发,实现上传图片兼容4.0 5.0 6.0 步骤:1、获取相册图片路径2、把图片转换成bigmap,压缩,剪切3、把bigmap转成base64码4、放到html5中显示第一步-------------------------------------------获取路径---------------------
2016-04-22 20:22:55
2340
原创 查询两个表的数据 union
注意,两张表的字段名最好保持相同查询两张表的数据,包含相同的数据: select id from tab_a where a='1' union ALL select id from tab_b where a='1' order by time
2016-04-21 20:09:33
5692
转载 MySQL数据库性能优化之存储引擎选择(MyISAM、InnoDB、NDBCluster)
前言MySQL 的存储引擎可能是所有关系型数据库产品中最具有特色的了,不仅可以同时使用多种存储引擎,而且每种存储引擎和MySQL之间使用插件方式这种非常松的耦合关系。由于各存储引擎功能特性差异较大,这篇文章主要是介绍如何来选择合适的存储引擎来应对不同的业务场景。 MyISAM1.特性 不支持事务:MyISAM存储引擎不支持事务,所以对事务有要求的业
2016-04-14 19:51:28
851
转载 使用Android Studio应用打包+代码混淆
AS中怎么获取应用签名这和eclipse不同,eclipse中可以直接在软件内部查找到,而AS则需要通过命令行形式拿到,具体先进入.android目录下,如图: AS将应用打包AS版本1.3,步骤都以截图为示例:AS中Build->选择Generate signed APK,然后选择需要打包的应用,如: 选择应用后进入这个界面: 因为我之前打过包这里就有
2016-04-14 11:37:18
1022
转载 android 设置app版本号
Android:versionCode和Android:versionName在eclipse中,修改我们开发的应用的版本号只需要在清单文件AndroidManifest.xml中manifest 标签节点中加入android:versionCode和android:versionName的值即可设置应用的版本号。如以下代码:
2016-04-11 16:07:21
35492
3
转载 Android 全屏设置和禁止横屏竖屏切换
package="com.qulordy.game.chesswarrior" android:versionCode="1" android:versionName="1.0" > android:icon="@drawable/ic_launcher" android:label="@string/
2016-04-08 18:09:31
4058
原创 android+html5上传图片 只显示图片头部部分
应公司要求用android+html5开发,其中上传图片遇到奇葩的问题。1、上传图片是把bitmap转byte转base642、放在img标签显示步骤很清晰,这样可以实现啊,对吧:先做个实验,把base64码控制台打印出来,然后放在img标签显示,看看行不行。。。。。你们是这样做的吗?你们是这样做的吗??你们是这样做的吗???就是显示个头部,为什么啊?这个问题困扰了两天1、把压
2016-04-05 10:03:07
2014
1
转载 android相关权限
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置 android.permission.
2016-03-30 12:48:56
580
转载 判断是否是微信浏览器
我们知道 js 可以通过 window.navigator.userAgent 来获取浏览器的相关信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36,那么我们也可以通过该方法来获取微信内置浏览器的相关信息:Mozilla/5.0
2016-03-30 12:43:56
932
转载 微信开放平台 申请时获取应用签名
在微信开放平台,申请移动应用的时候:https://open.weixin.qq.com/cgi-bin/appcreate?t=manage/createMobile&type=app&lang=zh_CN&token=60682ddfbd9106b1c4b1f9d70f56c98e5f728905下一步后需要填写应用签名这可难倒了我了..签名 keyst
2016-03-26 18:47:30
10070
原创 android SDK 国内镜像
Android Android SDK配置步骤启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options...」,弹出『Android SDK Manager - Settings』窗口;在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入
2016-03-26 09:17:54
1097
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人