自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wensonlee的专栏

永遠的菜鳥

  • 博客(219)
  • 资源 (2)
  • 收藏
  • 关注

原创 一晃十几年,看到自己的化石级博文

一晃十几年,重新看自己的csdn博文,已成化石级别,惭愧啊!!!

2018-03-29 11:40:01 249

原创 mysql主从同步报错故障处理总结 [数据库技术]

 前言在发生故障切换后,经常遇到的问题就是同步报错,数据库很小的时候,dump完再导入很简单就处理好了,但线上的数据库都150G-200G,如果用单纯的这种方法,成本太高,故经过一段时间的摸索,总结了几种处理方法。生产环境架构图目前现网的架构,保存着两份数据,通过异步复制做的高可用集群,两台机器提供对外服务。在发生故障时,切换到slave上,并将其变成master,坏掉的...

2015-12-14 13:37:52 443

原创 MySQL Replication 主从同步原理及配置

MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场合。与之对应的另一个技术是同步的MySQL Cluster,但因为比较复杂,使用者较少。   下图是MySQL官方给出了使用Replication的场景:Replication原理   Mysql 的 Replication 是一个异步的复制过程...

2014-11-07 11:35:26 261

原创 Node.js中的child_process及进程通信

child_process是Node.js的一个十分重要的模块,通过它可以实现创建多进程,以利用多核计算资源。Node.js 0.8的child_process模块提供了四个创建子进程的函数,分别是spawn,exec,execFile和fork。其中spawn是最原始的创建子进程的函数,其他三个都是对spawn不同程度的封装。spawn只能运行指定的程序,参数需要在列表中给出,相当于exe...

2014-10-11 12:47:48 766

Docker体验之:在MACOS下安装docker并构建nodejs开发环境

本文由网上资料及自己实践整理。 什么是Docker?docker的英文本意是码头工人,也就是搬运工,这种搬运工搬运的是集装箱(Container),集装箱里面装的可不是商品货物,而是任意类型的App,Docker把App(叫Payload)装在Container内,通过Linux Container技术的包装将App变成一种标准化的、可移植的、自管理的组件,这种组件可以在你的lat...

2014-09-26 14:44:57 450

原创 mysql海量(G级)数据分析统计方案

先说说目前现状: 开发语言为java,数据库为mysql,大部分主要的表使用的是innodb引擎,数据库总大小为13G,最大的表member表大小为2G(有接近1000万条记录),另外有几个表的数据也都达到了几百万记录,甚至有1600多万记录的,不过这些表大小都只有几百MB,最大不超过1G,数据库已经运行了五年多,目前每天的数据增量大小在20MB左右; 需求: 1、查询统计每天每个...

2014-09-19 12:28:20 784

原创 关于MySQL 查询表数据大小的总结

一:关于mysql表数据大小我们知道mysql存储数据文件一般使用表空间存储 当mysql使用innodb存储引擎的时候,mysql使用表存储数据分为共享表空间和独享表空间两种方式 ·共享表空间:Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在。 所以其大小限制不再是文件大小的限制,而是其自身的限制  -->innodb官方显...

2014-09-18 18:14:48 294

macos 编译java文件出现中文乱码的解决方案

在macosx下编译java文件,如果里面有中文输出,在terminal里会出现中文乱码。以下为解决方案:打开terminal,执行一下命令vi ~/.bash_profile   输入:export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8   :wq保存退出  source ~/.bash_profile  //立即生效  ...

2014-08-12 15:20:18 685

原创 Define a Security Policy(定义java安全策略)

from:http://web.securityinnovation.com/appsec-weekly/blog/bid/72451/Define-a-Security-PolicyApplies toApplications written using Servlets or JSP.What to DoDefine a security policy for your ap...

2014-08-07 11:55:26 313

原创 Groovy文件操作

To see the OS-dependent characters used for formatting filenames (here, when running on Windows):assert File.separator == '\\' && File.separatorChar == '\\' as char //used for ...

2014-07-30 18:15:01 1462

原创 ant中copy操作学习心得

Ant真是太方便了,以前都没注意到它。功能很强大,能创建数据库,配置服务器,部署发布应用……只需要写好build.xml文件,剩下的就交给ant来“安装”你的WEB应用了。Appfuse的第一个ant命令是ant new,其任务是建立一个新命名的project,少不了会复制很多文件。build.xml中也有很多copy操作,为了搞清楚ant new到底干了些什么事,还是先把copy操作了解一下。...

2014-07-30 18:13:10 338

原创 Javascript中call的使用

Javascript中call的使用自己感觉蛮纠结的,根据文档很好理解,其实很难确定你是否真正的理解。call 方法应用于:Function 对象调用一个对象的一个方法,以另一个对象替换当前对象。call([thisObj[,arg1[, arg2[,   [,.argN]]]]])参数:thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传递...

2014-06-06 18:26:15 142

win7 64位下安装jsdom和contextify 的解决办法

在Win7 64下安装node的jquery,依赖jsdom,jsdom又依赖于contextify,而contextify又需要gyp来重新编译,安装过程中老是报错,所以放弃这种安装方式,直接找了一个win64下的二进制包:https://github.com/yuxiachai/nodeWinBinary拷贝到node_modules下直接使用。 ...

2014-05-16 12:54:50 532

原创 使用NodeJS的Path对象进行路径操作

 NodeJS中的Path对象,用于处理目录的对象,提高开发效率。 用NodeJS的Path命令,与使用Linux下的shell脚本命令相似。 引入path对象 Js代码  var path = require('path');  比较实用的方法: 格式化路径  path.normalize(p) 特点:将不符合规范的路径格式化,简化开发人员中处理各种复杂的路径...

2014-04-30 18:52:00 610

原创 node.js 文件操作

既然到了后台,只要你有权限就可以为所欲为了!创建文件夹//fs.jsvar fs = require('fs');fs.mkdirSync('a', 0755);fs.mkdirSync('a/b', 0755);fs.mkdirSync('a/b/c', 0755); 那么它会在fs.js所在目录中创建一个a目录,a目录下再创建b目录,b目录下创建c目录。mk...

2014-04-30 17:43:49 115

nodejs删除文件或文件夹

删除文件——fs.unlink(path[,callback])或者fs.unlinkSync(path)  删除文件夹——方法1:使用递归deleteFolderRecursive = function(path) {    var files = [];    if( fs.existsSync(path) ) {        files = fs.re...

2014-04-30 17:36:17 4513

原创 js 取整

JS将一个数取整 :1.parseInt(str) 2.Math.ceil(number) //返回大于等于其数值参数的最小整数。 3.Math.floor(number) //返回小于等于其数值参数的最大整数。 4.Math.round(number) //四舍五入 获取过滤数字var str="__20__40__43__on__"; var strAry=str.split("__...

2014-04-30 11:40:34 144

原创 快乐Node码农的十个习惯

从问世到现在将近20年,JavaScript一直缺乏其它有吸引力的编程语言,比如Python和Ruby,的很多优点:命令行界面,REPL,包管理器,以及组织良好的开源社区。感谢Node.js和npm,现如今的JavaScript鸟枪换炮了。Web开发者有了强大的新工具,接下来就看他们的想象力了。下面这个提示和技巧清单,能让你和你的node程序保持快乐。1. 用npm init开始新项目...

2014-04-30 09:49:27 108

原创 js学习----datetime时间函数

JS操作日期function dateF(){ var now = new Date();//当前日期 var year = now.getYear();//年份后两位 var fullYear = now.getFullYear();//获取完整的年份(4位,1970-????) now.getMonth();      //获取当前月份(0-11,0代表1月) now.getDate(); ...

2014-04-29 19:01:45 1523

Node.js用fs.renameSync报cross-device link not permitted错

今天用Node.js的fs.renameSync时报cross-device link not permitted错误,网上查了下,是由于Node.js安装的盘符和写的地方不在一个盘符,跨目录重命名文件导致的问题。可以多些下面一句话,重设临时上传路径:var form = new formidable.IncomingForm(); form.uploadDir = path.joi...

2014-04-25 19:51:28 176

原创 Installing Node.js via package manager

The packages on this page are maintained and supported by their respective packagers, not the node.js core team. Please report any issues you encounter to the package maintainer. If it turns out your...

2014-04-16 09:45:52 208

原创 使用System.arraycopy()实现数组之间的复制

System提供了一个静态方法arraycopy(),我们可以使用它来实现数组之间的复制。其函数原型是:public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)src:源数组; srcPos:源数组要复制的起始位置; dest:目的数组; destPos:目的数组放置...

2013-12-19 10:03:14 119

原创 Java多线程之wait(),notify(),notifyAll()

在多线程的情况下,由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。   wait与notify是java同步机制中重要的组成部分。结合与synchronized关键字使用,可以建立很多优秀的同步模型。  synchronized(this){ }等价于public...

2013-12-13 18:42:28 94

原创 Java线程:线程的调度-休眠

Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。 这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。 线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换执行,当休眠一定时间后,线程会苏醒,进入准备状态等待执行。 线程休眠的...

2013-12-05 19:15:44 90

原创 MySQL使用Event定时执行任务

一、基本概念 mysql5.1版本开始引进event概念。event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发。通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程。 二、适用范围 对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理。...

2013-11-07 10:56:29 332

原创 MySQL grant 语法的详细解析(帐号权限管理)

记录一下mysql grant的一些用法。MySQL数据库赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant select on testdb.* to common_user@'%'  grant insert on testdb.* to common...

2013-10-09 16:31:22 648

原创 MySQL函数不能创建的解决方法

在使用MySQL数据库时,有时会遇到MySQL函数不能创建的情况。下面就教您一个解决MySQL函数不能创建问题的方法,供您借鉴参考。出错信息大致类似:ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary log...

2013-09-18 11:34:29 105

mysql里的SUBSTRING

截取字符串 substring(str, pos) substring(str, pos, length) 说明:substring(被截取字段,从第几位开始截取) substring(被截取字段,从第几位开始截取,截取长度) 例:select substring(content,5) as abstract from my_content_t select substring(content,5...

2013-09-16 11:23:35 163

glusterfs2配置要点(动态增加client)

如果打算做cluster/replicate的备份,server端必须支持features/posix-locks.否则会系统会报错. Cluster/distribute的结构支持动态添加nodes.添加以后,修改client.vol,然后umount/mount重新挂载一下就可以了.只要不改变namespace的设置,是不会影响以前存储的文件的. 在这个配置中namesp...

2012-10-25 11:12:30 137

原创 MYSQL EVENT 使用手册

一、前言自MySQL5.1.6起,增加了一个非常有特色的功能–事件调度器(Event Scheduler),可以用做定时执行某些特定任务(例如:删除记录、对数据进行汇总等等),来取代原先只能由操作系统的计划任务来执行的工作。更值得 一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精 确到每分钟执...

2012-10-15 19:28:12 92

haproxy的日志问题

在haproxy.cfg的global里添加日志配置:log127.0.0.1 local3然后vi /etc/syslog.conf添加 local3.* /var/log/haproxy.logvi /etc/sysconfig/syslog把SYSLOGD_OPTIONS="-m 0" 改成 SYSLOGD_OPTIONS="-r -m 0" #enabl...

2012-08-21 12:45:33 222

gluster3.2.x的安装配置

 一、 GlusterFS软件介绍GlusterFS是一款开源的分布式存储系统,它基于fuse设计,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand RDMA网络将物理分布的存储资源集中在一起,使用单一全局命名空间来管理数据。GlusterFS...

2012-04-19 19:00:34 154

原创 Convert a .ppk file to .pub with PuttyGen

Run “puttygen.exe”. The “PuTTY Key Generator” dialog will appear. Use the “Load” button to load the .ppk file that contains your private key. If your private key file is protected with a passphrase...

2012-03-12 14:55:40 247

备忘:mysql备份的帐号权限

mysql备份的帐号权限,只需要:show databases、  select、  reload、  execute、  show view

2012-01-13 04:55:48 144

原创 varnish下使用acl限制ip地址访问

第1步:定义ACL,我们使用一个外部文件存储IP地址acl forbidden {include "/etc/varnish/chinaip.dat";}############chinaip.data#########"192.168.1.0"/24;"10.0.0.0"/24;第2步:在vcl_recv中定义策略,放到最前面。if (client.ip ...

2011-12-29 17:43:57 278

linux系统修改时区,时间自动同步

1、调整时区    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimelinux提供是依据/etc/localtime文件内容知道目前系统的时区信息,这个文件一般是从/usr/share/zone/里面选择适当的时区复制过来就可以使用2、手动调整时间(需要ntpdate)    ntpdate us.pool.ntp.org没有安装n...

2011-12-25 23:40:59 205

原创 怎样用命令查看Mysql数据库大小?

1、进去指定schema 数据库(存放了其他的数据库的信息)  use information_schema 2、查询所有数据的大小 select concat(round(sum(DATA_LENGTH/1024/1024),2), 'MB') as data from TABLES 3、查看指定...

2011-12-14 01:51:10 129

原创 解决Linux操作系统下AES解密失败的问题:javax.crypto.BadPaddingException: Given final block not p...

现象描述:windows上加解密正常,linux上加密正常,解密时发生如下异常:javax.crypto.BadPaddingException: Given final block not properly padded       at com.sun.crypto.provider.SunJCE_f.b(DashoA13*....

2011-12-14 00:56:59 1478

解决InnoDB出现“the table is full”的问题

最近数据库数据量及访问频率比较大的两个表出现了the table xxx is full的问题,导致无法写入数据。查看mysql log发现错误:InnoDB :: cannot find a free slot for an undo log 原因分析:由于innodb的任何操作都隱含有一個transaction,而出现问题的表由于数据量大操作频繁导致同時有太多事務,以致出现这样...

2011-12-09 02:40:31 1466

原创 svn的恢复与删除操作

svn的恢复与删除操作——一、本地删除   本地删除,指的是在客户端delete了一个文件,但还没有commit,使用revert来撤销删除。二、服务器删除  1.通过本地删除后提交服务器   a)Update上一个版本,但只适用于修改较少的情况;   b) 通过show Log,找到被删的项,选中,点击右键->Revert changes from this revision;...

2011-10-19 20:05:57 222

prototype教程

一本比較好的prototype教程,貢獻給大家,多多指教!

2009-06-09

Grails入门指南

Grails入门指南,PDF档,有目录。

2008-10-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除