- 博客(242)
- 资源 (1)
- 收藏
- 关注

原创 职业规划
作为一个程序员,应该时刻保持一个学习的心态,然而也应该知道取舍。知道自己的大方向是什么,知道应该学习什么,要时刻牢记自己的大方向。我规划了下我的职业生涯,主要的目标是: 1)精通Java技术,主要体现在一下几方面: 第一,精通JVM调优,熟悉JVM规范,JMM规范。 第二,精通多线程,socket开发,这方面可以多看看netty或mina源码代码
2013-01-23 17:56:52
2085
转载 java加密解密研究8、MAC算法家族
转载:http://blog.youkuaiyun.com/lonelyroamer/article/details/7656338一、概述MAC算法结合了MD5和SHA算法的优势,并加入密钥的支持,是一种更为安全的消息摘要算法。MAC(Message Authentication Code,消息认证码算法)是含有密钥的散列函数算法,兼容了MD和SHA算法的特性,并在此基础上加
2014-03-25 09:56:43
2575
原创 Nginx记录post请求数据
经过两三天的奋斗,终于搞定nginx log post数据的问题。首先nginx除了在proxy_pass或fastcgi_pass的Location中读取request_body之外,都不会读取post数据。所以此处必须借助NginxLua模块。参见http://www.cnblogs.com/meteorx/p/3188647.html,但是几经折腾还是不行。location ^~ /
2014-03-13 09:47:13
11002
转载 Ivy与Ant集成
基本配置步骤如下: 1、copy Ivy插件到ant_home/lib下; 2、在项目根目录下新建ivysettings.xml; 3、在项目根目录下新建ivy.xml,内容根据项目需要来; 4、修改你原来的build.xml,如下:Java代码增加ivy需要的属性: "publish.version" value="0.1" />
2013-11-07 12:02:55
2518
原创 【resin】安装与启动
下载安装 在www.resin.com下载合适的版本:tar -vzxf resin-3.0.2.tar.gz 编译安装:/configure && make && install启动 $ ./resin-3.0.2/bin/httpd.sh#nohup 启动$ ./resin-3.0.2/bin/httpd.sh start#停止$ ./resin-
2013-10-24 17:39:29
2391
原创 【内存模型】重排序
数据依赖性 若两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间存在数据依赖性。 上面三种情况,只要排序两个操作的执行情况,程序的执行结果将会被改变。编译器和处理器在重排序时会遵守数据依赖性,编译器和处理器不会改变存在数据依赖关系的两个操作的执行顺序。 这里的数据依赖仅针对单个处理器中执行的指令序列和单个线程中执行的操作,不同处理器之间和
2013-10-22 17:56:08
2138
原创 【Nginx】核心模块
主模块指令:Nginx的主模块是实现Nginx的基本功能的指令集,它们一般写在Nginx的配置文件的最上方。#默认值为on,正式环境中不要使用daemon和master_process指令,仅限于开发调试。daemon on|off;#定义变量集合,修改或添加新环境变量 env var|var=value;#默认值:none,拥有调试设置断点debug_points [st
2013-10-18 14:53:45
2060
原创 【Nginx】Location配置总结及rewrite
location语法规则location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。 ~ 开头表示区分大小写的正则匹配 ~
2013-10-16 09:50:37
3038
原创 【Nginx】Http负载均衡与反向代理
负载均衡:由多台服务器以对称的方式组成一个服务器集合,每台服务器具有等价的地位,都可以单独对外提供服务而无需其他服务器的辅助。通过某种负载分担技术,将外部发送过来的请求均匀分配到对称结构的某台服务器上。 反向代理(Reverse Proxy):以代理服务器接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并从将服务器得到的结果返回给Internet上连接的客户端,此
2013-10-15 09:42:33
2250
原创 【Nginx】Gzip 压缩配置
随着nginx的发展,越来越多的网站使用nginx,因此nginx的优化变得越来越重要,今天我们来看看nginx的gzip压缩到底是怎么压缩的呢? gzip(GNU-ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。
2013-10-13 09:56:57
2176
原创 【Nginx】基本配置入门
配置示例#用户和分组user www www;#指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍)worker_processes 4;#指定错误日志的存放路径,日志级别选项:[debug|info|notice|warn|error|crit]error_log /data/local/logs/nginx_error.log crit;#pid存放路径p
2013-10-11 17:58:33
2385
原创 【Nginx】服务器安装于配置
安装 下载nginx-0.x.xx.tar.gz源码包,编译安装。./configure && make && make install 在编译安装时可以由多个选项,例如--prefix,更多详情google下启动、停止、平滑重启 假设nginx安装在/usr/local/nginx目录中。 启动:/usr/local/nginx/sbin/ngi
2013-10-11 16:40:21
924
转载 hadoop lzo安装
http://blog.youkuaiyun.com/joe_007/article/details/7848997最近我们部门在测试云计算平台hadoop,我被lzo折腾了三四天,累了个够呛。在此总结一下,也给大家做个参考。 操作系统:CentOS 5.5,Hadoop版本:hadoop-0.20.2-CDH3B4 安装lzo所需要软件包:gcc、ant、lzo、lzo
2013-10-10 16:50:50
1115
原创 linux下md5sum的使用
MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest Algorithm5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性是非常非常之小的。 在linux或Unix上,md5sum是用来计算和校验文件报文摘
2013-10-10 16:03:33
1672
原创 R图形
图形 plot(x,y,type="b")将x轴置于横轴,将y轴置于纵轴,绘制点集(x,y),然后使用线段将其连接。选项type="b"表示绘制点和线。更多选项参见help(plot)c(20,30,40,45,60) -> dosec(16,20,27,40,60) -> drugAc(15,18,25,31,40) -> drugBplot(dose,drugA,ty
2013-09-30 11:57:55
1149
原创 R数据结构及操作
数据集由数据构成的一个矩形数组,行表示观测,列表示变量。R中有许多用于存储的数据结构:标量、向量、数组、数据框和列表。向量 向量是用于存储数值型、字符型和逻辑性数据的一维数组。可有组合功能函数c()来创建。注意单个向量中的数据必须拥有相同的类型或模式。x <- c(1,2,3,4,56)#创建#向量的访问x[3]x[c(1,2)]x[2:5]矩阵 矩
2013-09-27 09:37:16
1697
原创 R语言工作区间及相关操作
工作区间(workspace)是当前R的工作环境,它存储着所有用户定义的对象(如向量,矩阵、函数、数据框、列表)。当一个会话结束时,可以将当前工作空间保存到一个镜像中,并在下次启动时自动加载它。
2013-09-26 10:33:56
5292
原创 Java sasl指南
http://docs.oracle.com/javase/1.5.0/docs/guide/security/sasl/sasl-refguide.html未完,待续
2013-09-25 10:14:37
6059
1
原创 __init__.py文件作用
python中的Module是比较重要的概念。常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后import。这样的做法,对于少数文件是可行的,但如果程序数目很 多,层级很复杂,就很吃力了。 有没有办法,像Java的Package一样,将多个.py文件
2013-09-24 19:41:31
1486
转载 最小二乘法
先看下百度百科的介绍:最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。 通过这段描述可以看出来,最小二乘法也是一种优化方法,求得目标函数的最优值。并且也可以用
2013-09-21 09:14:58
2583
原创 线程执行器
Java Executor framework是围绕Executor接口和它的子接口ExecutorService和ThreadPoolExecutor类实现了上述两接口。此机制将创建和执行任务分离,使用executor,仅需要实现Runnable对象,发送给executor。executor负责执行,初始化和运行必要的线程。 executor framework的另外一个特点是Call
2013-09-17 11:20:49
1071
转载 Java 7 同步组件Phaser
Java 7的并发包中推出了Phaser,其功能跟CyclicBarrier和CountDownLatch有些重叠,但是提供了更灵活的用法,例如支持动态调整注册任务的数量等。本文在Phaser自带的示例代码基础上进行一下简单的分析。注册(Registration) Phaser支持通过register()和bulkRegister(int parties)方法来动态调整注册任务的数量
2013-09-16 16:28:19
1272
原创 线程同步组件
控制并发访问资源 semaphore是一个计数器,保护访问一个或多个共享资源。当一个线程要访问一个共享资源时,首先需要获取semaphore,如果semaphore内部计数器大于0,semaphore的计数器减一,并且允许访问共享资源。计数器大于0,意味着存在free资源可以被使用。否则,如果semaphore的计数器为0,semaphore将线程置入sleep状态,直到计数器大于0。s
2013-09-16 09:48:12
855
原创 线程同步
同步方法 仅当前执行线程能访问被synchronized的方法,若其他线程尝试访问此被synchronized修饰的方法,被挂起直到第一个线程该方法的调用完成。静态方法有不同的行为,只有一个执行线程能访问被synchronized修饰的静态方法,但是其他线程能访问该对象的非静态方法。
2013-09-12 17:34:06
904
原创 线程管理
线程信息 Thread保存了一些属性信息,有助于我们区分、了解其状态和控制其优先级。 ID : 线程的唯一标识 Name:线程名称 Priority:优先级,在
2013-09-10 15:43:18
893
原创 Matploblib绘图高级特性
fig = plt.figure()#返回figure,可以添加多个axis#fignum的取值:1~numrows*numcols,当前subplot使用subplotax = fig.add_subplot(numrows,numcols,fignum)fig = plt.figure(1)ax1 = fig.add_subplot(221)#将当前绘图区域划分为2个子区域,
2013-09-02 11:37:36
1503
原创 matplotlib手册之图装饰
标记和线样式设置颜色plt.plot(x, color='y');plt.plot(x+1, color='m');plt.plot(x+2, color='c');plt.plot(y, 'y', y+1, 'm', y+2, 'c');#与上等价设置线格式plt.plot(x, color='y',linestyle='--');plt.plot(x+1,
2013-08-28 15:22:25
2288
转载 回归(regression)、梯度下降(gradient descent)
这两天在看机器学习实战这本书时,关于Logistic回归章节中的梯度上升法,有点云里雾里的感觉,特别是那个python代码,不知道怎么来的。直到看了下面这篇文章,才有点感觉。http://www.cnblogs.com/LeftNotEasy/archive/2010/12/05/mathmatic_in_machine_learning_1_regression_and_gradient_d
2013-08-28 09:40:51
1928
转载 Python装饰器与面向切面编程
http://www.cnblogs.com/huxi/archive/2011/03/01/1967600.html今天来讨论一下装饰器。装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在
2013-08-27 09:55:17
1134
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人