自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YIP

致力于全栈应用开发

  • 博客(203)
  • 资源 (7)
  • 收藏
  • 关注

原创 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 4387

原创 [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 1664

原创 Mongodb设置Replica Set集群 并使用PHP来连接

Mongodb之前一直是做主从模式,后来官方推荐用Replica Set(简称RS)来代替主从,主要是当primary节点出现故障后,会自动连接secondary节点,并且选为新的primary节点,这样应用程序就不需要关系什么时候连主,什么时候连从的问题。想要配置一个简单的RS,至少要两台机器

2015-08-25 11:22:30 4497

翻译 为什么riak集群最好至少要五个节点以上

http://basho.com/why-your-riak-cluster-should-have-at-least-five-nodes/

2015-02-27 18:05:08 1670

原创 用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 4293 1

原创 Tokumx vs Mongodb

Mongodb是一个文档型nosql数据库 采用C++编写 Mongo DB最大的优势在于所有的数据持久操作都无需开发人员手动编写SQL语句,直接调用方法就可以轻松的实现CRUD操作。很多人认为mongodb不支持事务,其实严格上说,mongodb不是一个完全事务型的数据库,他的有一些操作是事务过程的。这里我想推举的另外一款和mongo很类似的数据库是tokumx,他是tokuek的开源版本。可以

2014-10-26 11:41:40 1615

原创 Mysql 5.5.40实现一主多从 One-Master muil-slave

我们知道 Mysql读和写在性能方面的开销区别是较大的,一般来说 服务器顶着20%写的压力,另外80%的压力来自读,当然这也得看实际业务情况。这篇文章准备配置一主三从,其实多少从没什么关系,一主多从其实是一主一从的延伸,因为从库之间是没有任何通信的,具体使用哪种方式看带宽负载和具体流量。Mysql的主从replication原理其实就是Master不断地写二进制日志,Slave去读取日志,

2014-10-24 22:19:58 1248

原创 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 2070

转载 LVS负载均衡的三种方式

1.VS-NAT(基于网络地址转换,network address translation ,NAT)

2014-10-16 22:37:02 1416

原创 Magento的路由分发机制

有半年没写东西了吧 不是没继续学 确实是懒了 好吧 言归正传!Magento的路由主要为了完成以下三个任务:1.接收并处理浏览器数据讲它传送给系统的其他部分;2.定义controller和action来供routes使用;3.展示浏览器请求数据给blocks,templates和model数据。其中最核心的前端Controller是Mage_Core_Contr

2013-06-08 17:37:46 2245

原创 Magento操作Cookie 并且使用观察者&事件来禁用单页面全页缓存(EE FPC)

Groupon(http://www.groupon.hk/)的首次访问会弹出一个框让客户输入电子邮件来订阅他们的最新咨询,只要提交表单或者点已经提交的按钮该框就会消失 并且以后访问都不会出现  大家应该见过  最近按照公司的要求需要在magento里面开发类似的效果。 首先明确这其中使用的原理是cookie 那magento该怎么操纵cookie呢 其实在core的model里面有一个cooki

2012-08-17 15:34:27 2686

原创 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 635

转载 用交换文件的方式添加交换分区

转载自网络:以下操作需要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 2409

原创 python转义字符串for shell command line

最近使用os.system(shell_string)执行外部命令的时候,总会爆出各种奇葩的错误提示,查到最后还是个执行命令的字符串转移问题,比如你执行的命令为python arg1 arg2 ....这里arg1里面如果包含了' " &等特殊字符的时候,需要先进行字符串替换def shellquote(s): """ 转义字符串 """ return

2016-01-11 19:41:16 3307

原创 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 1685

原创 [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 2272

原创 [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 2376

原创 [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 3486

原创 [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 8271

原创 [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 3469

原创 [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 5085

原创 [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 2108

原创 [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 1766

原创 [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 1347

原创 [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 2475

原创 [python&php 网络编程]获取服务端主机名和ip地址

首先声明下 最近在补网络方面的知识,手头正好有《python网络编程攻略》的源码,然后python和php都还比较熟,当然,从现成类库,代码量,性能来说,python网络方面的能力要更强一些,源码纯属学习使用,有错误的地方,烦请不吝指出,谢谢!1.python写法import socketdef print_machine_info(): host_name = soc

2015-11-19 17:06:00 3023

翻译 C建立socket连接的简单实例

建立 Socket连接至少需要一对套接字,其中一个运行于客户端,称为 ClientSocket,另一个运行于服务器端,称为 ServerSocket套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。1.首先建立客户端的socketvi client1.c#include #include #include #include #include

2015-08-02 18:30:58 2651

原创 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 10739 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 1171

原创 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 786

原创 配置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 1595

原创 Mac 10.9安装php扩展mcrypt

Mac 10.9.5自带了php版本为5.4.30 如果你要an

2014-11-08 21:02:10 807

原创 Mac上编译安装nginx报错

刚刚进的一台macbook 手动搭开发环境 首先是nginx 但是用./configure命令

2014-11-03 20:23:58 3171

原创 centos6.5 86_64上安装mongodb

Mongodb是目前最流行的文档型数据库,也是nosql

2014-10-25 18:03:21 1163

原创 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 865

原创 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 740

原创 CentOS配置iptables防火墙

这几天在virpus上买了个VPS练练手 先从基础的iptables配置折腾起吧

2014-10-07 16:17:00 1158

原创 快速在centos下用yum搭建svn服务

yum install subversion

2014-05-11 10:06:21 834

原创 Magento设置cronjob来让系统自动发送newsletter

用Newsletter来让Magento系统自动发送邮件给已经subscribe的客户email,相信应该是很多人想知道具体怎么操作的,在此小生说明下,有错误的地方欢迎指正!要让系统自动发送邮件 需要设置cronjob这个东西,他可以自动帮我们完成一些计划任务,这是针对Unix linux机器而言的。linux机器进去Terminal,如果是用虚拟机或者vps进去ssh命令行输入:cronta

2012-12-12 15:46:06 3488

翻译 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 2662 1

Magento Development Cookbook

Magento Development Cookbook 教你怎么开发magento的主题和模块,非常实用,给又需要的人!

2011-03-23

FlashXMLApplications.pdf

flash和xml的一本不错的书,as2.0编写,给又需要的人!

2011-03-23

Flash+and+PHP+Bible.pdf

Flash+and+PHP+Bible PHP和Flash的交互式开发,给有需要的人!

2011-03-23

Foundation+XML+and+E4X+for+Flash+and+Flex

Foundation+XML+and+E4X+for+Flash+and+Flex.pdf 国外一本很不错的flash flex书,需要的下载!

2011-03-23

[Flash.ActionScript.3.0动画教程][源代码]

Flash.ActionScript.3.0动画教程的pdf和源代码,需要的下载!

2011-03-23

Drupal精华教程集

Drupal精华教程集,drupal主题制作,模块开发等等!

2011-03-23

PHP+MySQL八大动态Web应用实战源代码

PHP+MySQL八大动态Web应用实战源代码!

2009-11-28

空空如也

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

TA关注的人

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