- 博客(203)
- 资源 (7)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Java使用socket接收http请求,read方法阻塞的问题
在socket通信中,服务端socket往往会使用socket.getInputStream.read()或socket.getInputStream.read(buffer)去读取客户端的请求内容,而且仅当read方法返回-1时,服务端socket才认定已经没有更多的东西可读了,这个在java doc可以看到 * @return the next byte of data,
2016-06-23 12:47:46
4483
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 [python&php 网络编程]完整的socket服务端客户端
1.python服务端import socketimport argparsehost = 'localhost'data_payload = 2048backlog = 5 def echo_server(port): """ A simple echo server """ # Create a TCP socket sock = socket.so
2015-11-25 20:12:48
1673
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Mongodb设置Replica Set集群 并使用PHP来连接
Mongodb之前一直是做主从模式,后来官方推荐用Replica Set(简称RS)来代替主从,主要是当primary节点出现故障后,会自动连接secondary节点,并且选为新的primary节点,这样应用程序就不需要关系什么时候连主,什么时候连从的问题。想要配置一个简单的RS,至少要两台机器
2015-08-25 11:22:30
4527
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
翻译 为什么riak集群最好至少要五个节点以上
http://basho.com/why-your-riak-cluster-should-have-at-least-five-nodes/
2015-02-27 18:05:08
1685
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 用C编写你自己的php扩展
本文参考:http://blog.csdn.net/taft/article/details/596291如果你没写过php扩展,又是追求性能的极客,那么这篇文章肯定适合你:假如你有这样一个php程序function self_concat($string, $n){ $result = ""; for($i = 0; $i < $n; $i++){
2015-01-01 11:47:23
4308
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Tokumx vs Mongodb
Mongodb是一个文档型nosql数据库 采用C++编写 Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。很多人认为mongodb不支持事务,其实严格上说,mongodb不是一个完全事务型的数据库,他的有一些操作是事务过程的。这里我想推举的另外一款和mongo很类似的数据库是tokumx,他是tokuek的开源版本。可以
2014-10-26 11:41:40
1627
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Mysql 5.5.40实现一主多从 One-Master muil-slave
我们知道 Mysql读和写在性能方面的开销区别是较大的,一般来说 服务器顶着20%写的压力,另外80%的压力来自读,当然这也得看实际业务情况。这篇文章准备配置一主三从,其实多少从没什么关系,一主多从其实是一主一从的延伸,因为从库之间是没有任何通信的,具体使用哪种方式看带宽负载和具体流量。Mysql的主从replication原理其实就是Master不断地写二进制日志,Slave去读取日志,
2014-10-24 22:19:58
1255
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 VMware上实现LVS负载均衡(NAT)
本文LVS的实现方式采用NAT模式,关于NAT的拓扑图请参照我的上一篇文章,本文纯粹实验,NAT在生产环境中不推荐使用,原因是Load Balancer容易成为瓶颈!1.VMware9上安装CentOS-6.5-x86_64-minimal版2.安装完成后将其hostname设置为LVS-masterhostname LVS-mastersudo -i3.之后copy两份
2014-10-22 21:45:35
2086
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Magento的路由分发机制
有半年没写东西了吧 不是没继续学 确实是懒了 好吧 言归正传!Magento的路由主要为了完成以下三个任务:1.接收并处理浏览器数据讲它传送给系统的其他部分;2.定义controller和action来供routes使用;3.展示浏览器请求数据给blocks,templates和model数据。其中最核心的前端Controller是Mage_Core_Contr
2013-06-08 17:37:46
2258
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Magento操作Cookie 并且使用观察者&事件来禁用单页面全页缓存(EE FPC)
Groupon(http://www.groupon.hk/)的首次访问会弹出一个框让客户输入电子邮件来订阅他们的最新咨询,只要提交表单或者点已经提交的按钮该框就会消失 并且以后访问都不会出现 大家应该见过 最近按照公司的要求需要在magento里面开发类似的效果。 首先明确这其中使用的原理是cookie 那magento该怎么操纵cookie呢 其实在core的model里面有一个cooki
2012-08-17 15:34:27
2698
原创 centos上搭gitlab
1.下载rpm安装包并安装curl -LJO https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.5.4-ce.0.el7.x86_64.rpmrpm -i gitlab-ce-8.5.4-ce.0.el7.x86_64.rpm2.安装包自带nginx 我们停掉 用本机已安装的,gitlab的配置文件在/et
2017-07-31 14:03:07
662
转载 用交换文件的方式添加交换分区
转载自网络:以下操作需要root权限。#cd /usr/;mkdir swap#dd if=/dev/zero of=swapfile bs=1G count=2这条命令从硬盘里分出一个 2×1G 大小的空间,挂在swapfile上。#mkswap swapfile构建swap格式于/usr/swap/swapfile 上#swapon swapfile激
2016-03-01 14:43:52
2439
原创 python转义字符串for shell command line
最近使用os.system(shell_string)执行外部命令的时候,总会爆出各种奇葩的错误提示,查到最后还是个执行命令的字符串转移问题,比如你执行的命令为python arg1 arg2 ....这里arg1里面如果包含了' " &等特殊字符的时候,需要先进行字符串替换def shellquote(s): """ 转义字符串 """ return
2016-01-11 19:41:16
3356
原创 python发送http multipart报文并和php交互
1.拼http报文是比较麻烦的事(python脚本) 虽然有可能报错 但我需要优雅地处理出错,这里我开了多个线程来同时请求加快响应速度# -*- coding: utf-8 -*-import sysimport httplibimport mimetypesimport urllib2import jsonfrom threading import Threadclass
2015-12-09 19:50:38
1703
原创 [python&php 网络编程]从网络时间服务器获取并打印当前时间
1.python代码import ntplibfrom time import ctimedef print_time(): ntp_client = ntplib.NTPClient() response = ntp_client.request('pool.ntp.org') print ctime(response.tx_time)if __name
2015-11-23 16:44:46
2282
原创 [python&php 网络编程]重用socket地址
1.python写法import socketdef reuse_socket_addr(): sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) # Get the old state of the SO_REUSEADDR option old_state = sock.getsockopt(s
2015-11-23 16:13:35
2392
原创 [python&php 网络编程]把socket改成阻塞或非阻塞模式
1.python写法import socketdef test_socket_modes(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.setblocking(1) s.settimeout(0.5) s.bind(("127.0.0.1", 0)) socket_ad
2015-11-23 15:00:09
3494
原创 [python&php 网络编程]socket缓冲区大小设置
1.pythonimport socketSEND_BUF_SIZE = 4096RECV_BUF_SIZE = 4096def modify_buff_size(): sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) # Get the size of the socket's send
2015-11-23 12:00:02
8364
原创 [python&php 网络编程]socket的错误捕捉
1.python写法import sysimport socketimport argparse def main(): # setup argument parsing parser = argparse.ArgumentParser(description='Socket Error Examples') parser.add_argument('--ho
2015-11-23 11:17:56
3497
原创 [python&php 网络编程]设定并获取socket超时时间
1.python写法import socketdef test_socket_timeout(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print "Default socket timeout: %s" %s.gettimeout() s.settimeout(100) print "
2015-11-20 14:53:27
5122
原创 [python&php 网络编程]字节序转换
如果不清楚关于字节序方面的知识,可以百度下1.python写法import socketdef convert_integer(): data = 1234 # 32-bit print "Original: %s => Long host byte order: %s, Network byte order: %s" %(data, socket.ntohl
2015-11-19 18:09:21
2116
原创 [python&php 网络编程]通过端口号获取服务名
1.python写法import socketdef find_service_name(): protocolname = 'tcp' for port in [80, 25]: print "Port: %s => service name: %s" %(port, socket.getservbyport(port, protocolname))
2015-11-19 17:53:08
1781
原创 [python&php 网络编程]格式化IPv4地址
1.python写法import socketfrom binascii import hexlifydef convert_ip4_address(): for ip_addr in ['127.0.0.1', '192.168.0.1']: packed_ip_addr = socket.inet_aton(ip_addr) unpacked_
2015-11-19 17:48:20
1356
原创 [python&php 网络编程]获取远程机器的信息
1.python写法import socketdef get_remote_machine_info(): remote_host = 'www.python.org' try: print "IP address of %s: %s" %(remote_host, socket.gethostbyname(remote_host)) except
2015-11-19 17:12:20
2487
原创 [python&php 网络编程]获取服务端主机名和ip地址
首先声明下 最近在补网络方面的知识,手头正好有《python网络编程攻略》的源码,然后python和php都还比较熟,当然,从现成类库,代码量,性能来说,python网络方面的能力要更强一些,源码纯属学习使用,有错误的地方,烦请不吝指出,谢谢!1.python写法import socketdef print_machine_info(): host_name = soc
2015-11-19 17:06:00
3034
翻译 C建立socket连接的简单实例
建立 Socket连接至少需要一对套接字,其中一个运行于客户端,称为 ClientSocket,另一个运行于服务器端,称为 ServerSocket套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。1.首先建立客户端的socketvi client1.c#include #include #include #include #include
2015-08-02 18:30:58
2692
原创 linux下如何禁用root账户直接登陆
昨天下了日志一看,太多人想进来我机器作客了,于是得把root登陆干掉1.新建一个账户吧 用这个账户来登陆adduser testuser2.设置密码passwd testuser然后按提示输入密码即可3.修改SSHD配置,禁止root直接登录vi /etc/ssh/sshd_config请注意这个文件需要root权限才能改,找到“PermitRootLogin ye
2015-04-16 13:36:33
10780
2
原创 centos上搭建ftp服务
1.先安装vsftpdyum -y install vsftpdchkconfig vsftpd onservice vsftpd start2.配置vsftpdvi /etc/vsftpd/vsftpd.confanonymous_enable=NOchroot_local_user=YESchroot_list_enable=YESchroot_li
2015-04-11 16:36:10
1180
原创 supervisor的使用
在centos使用easy_install安装的superviosr默认目录在/etc/supervisord.conf下,vi修改加入你要后台跑的进程:[program:shadowsocks]command=ssserver -c /etc/shadowsocks.jsonautostart=trueautorestart=trueuser=nobody[program:mem
2015-03-23 21:55:35
793
原创 配置nginx支持PATH_INFO
apache下path_info是可以直接取到,但nginx下就比较蛋疼了,对于thinkphp或CI来说更是如此,path_info是取不到的,路由不正常所以很多页面都会404,据说用fix_pathinfo的方法会有安全问题,因此让nginx自己解析吧,这是示例~server { listen 80; server_name admin.test.com;
2014-12-21 23:01:26
1605
原创 Centos 6.5 x64上安装redis
在centos上安装redis 可以使用添加epel的方式安装 也可以使用一般的make方式编译安装 这里采用编译安装1.下载rediswget http://download.redis.io/releases/redis-2.8.17.tar.gz2.在编译过程中碰到提示错误:zmalloc.h:55:2: error: #error "Newer version of jem
2014-10-25 15:01:28
871
原创 CentOS搭建LNMP
1.把nginx和mysql使用的端口打开 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
2014-10-07 19:45:08
747
原创 Magento设置cronjob来让系统自动发送newsletter
用Newsletter来让Magento系统自动发送邮件给已经subscribe的客户email,相信应该是很多人想知道具体怎么操作的,在此小生说明下,有错误的地方欢迎指正!要让系统自动发送邮件 需要设置cronjob这个东西,他可以自动帮我们完成一些计划任务,这是针对Unix linux机器而言的。linux机器进去Terminal,如果是用虚拟机或者vps进去ssh命令行输入:cronta
2012-12-12 15:46:06
3497
翻译 magento的运费模块开发教程(Customize Magento Shipping Module Tutorial)
好久好久没写文章了 已经懒了,之前翻译过一篇关于Magento新闻模块的开发教程,今天再写一篇Shipping Module的模块开发教程吧,示例出自Jamie Huskisson的《Magento 1.3: PHP Developer's Guide》,我按自己的意识表达 就不做翻译了,如果错误之处,欢迎指正吐槽!1.搭一个模块 肯定要先告诉magento模块的配置文件吧,所以在ap
2012-12-04 15:45:15
2688
1
Magento Development Cookbook
2011-03-23
Foundation+XML+and+E4X+for+Flash+and+Flex
2011-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人