- 博客(76)
- 资源 (12)
- 收藏
- 关注
原创 将文件内容逐行读取处理并写入对应文件中
场景:现有一个文件里面有大量的数据,约3.6G,4000多万行,每行的数据格式是一样的,共有9个域,如下: 3880961244329353 9 26 3862561814 2015-08-28 23:45:28 qinglei 2015-08-28 23:50:13现在的需求是:将每一行数据按照倒数第二个域的日期来分类,相同日期的行写入相应日期的文件中,并且对文件名的日期进行处理(
2015-11-06 19:32:10 5340
转载 PHP配置文件详解php.ini
[PHP] ; PHP还是一个不断发展的工具,其功能还在不断地删减 ; 而php.ini的设置更改可以反映出相当的变化, ; 在使用新的PHP版本前,研究一下php.ini会有好处的;;;;;;;;;;;;;;;;;;; ; 关于这个文件 ; ;;;;;;;;;;;;;;;;;;;; 这个文件控制了PHP许多方面的观点。为了让PHP读取这个文件,它必须被命名为 ; ‘php.
2015-08-03 16:53:03 786
原创 sql特殊查询
查询数据表中的重复数据场景:有一个数据表member,结构如下: 表中数据如下: 要求查询member表中name重复的数据,sql语句为: select a.id,b.name from member as a,member as b where a.name=b.name and a.id<>b.id; 结果如下图:
2015-08-01 11:12:55 951
原创 PHP Socket通信编程
Socket用于进程间通信。进程间通信通常基于客户端—服务端模型。此时,客户端—服务端是可以彼此交互的应用程序。客户端和服务端之间的交互需要连接。Socket编程负责的就是为应用程序之间建立可进行交互的连接。用PHP创建一个简单的客户端—服务端,开发一个客户端用于发送string消息到服务端,服务端将相同的信息反转后返回给客户端。服务器端列表内容设置主机和端口 端口号可以是1024 -65535
2015-07-31 14:01:23 1124
原创 php的curl抓包
在PHP中实现抓包有两种方式,一个是使用file_get_contents()函数采集页面内容,另一种就是curlCURL请求过程 curl完成请求主要是分为以下四步: 1、初始化,创建一个新的curl资源(即:curl_init()) 2、设置URL和相应的选项(即:curl_setopt() ) 3、抓取URL并把它传递给浏览器(即
2015-07-28 22:44:05 7676
原创 约瑟夫环问题的链表解法和数学解法(PHP)
约瑟夫环问题一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n,输出最后那个大王的编号。链表解法function king($n,$m){ $monky = range(1,$n); $i = 0;
2015-07-17 10:52:40 1080
原创 PHP的魔术方法
1、__get/__set:对对象属性的接管 2、__call/__callStatic:控制php对象方法的使用 3、__toString:将php对象转换成字符串 4、__invoke:将一个php对象当成函数来执行时来回调这个方法class Object { protected $array = array();function __set($key,$value){
2015-06-30 16:47:28 1063 1
原创 Apache配置虚拟主机
1 在Ubuntu系统的/etc/hosts文件中添加域名指向IP 2 在Apache中配置虚拟主机 在Apache的虚拟主机配置文件夹sites-available中将默认的配置default赋值一份需要添加的模块vedio,然后对vedio进行修改: (1) 添加:ServerName vedio.xiongchao.net.cn
2015-06-30 12:56:38 887
原创 授权远程连接MySQL(Linux)
MySQL远程访问的命令 格式: mysql -h主机地址 -u用户名 -p用户密码首先在目标服务器上(115.159.66.51)修改mysql的my.cnf文件: 修改退出后,重启mysql服务 命令:sudo service mysql restart此时尝试用115.159.66.51主机来连接mysql ubuntu@VM-194-212-ubuntu:/etc/mysql$ my
2015-06-29 12:07:31 1062
原创 Linux网络命令
ifconfig命令:查看和配置网络状态命令ifdown 网卡设备名 :禁用该网卡设备 ifup 网卡设备名 :启用该网卡设备netstat 选项 :查询网络状态 选项: -t : 列出TCP协议端口 -u : 列出UDP协议端口 -n : 不使用域名和服务名,而使用IP地址和端口号 -l : 仅列出在监听状态网
2015-06-29 11:10:35 922
原创 Git操作-标签
创建标签使用命令:git tag name就可以打一个新标签,用git tag查看所有标签: 注:默认标签是打在最新提交的commit上的情景一:有时候,修改提交之后如果忘了打标签,想回过去把标签打上方法:使用命令:git log --pretty=oneline --abbrev-commit n找到历史提交的commit id,然后打上就可以了: 注意,标签不是按时间顺序列出,而是按
2015-05-03 21:15:12 989
原创 Git操作-分支管理(三)
bug分支情境:当你在开发的过程中突然要修复一个被提出的bug,但是现在你当前分支上的工作还没有提交,但是工作还没完成,没法提交,而又急于修改这个bug方法:Git提供了一个stash功能,命令:git stash,可以把当前工作现场(当前分支的工作)“储藏”起来,等以后恢复现场后继续工作。。 这样工作区就是干净的了 接着,首先确定要在哪个分支上修复bug,假定需要在master分支上修复,就从
2015-05-03 18:42:56 964
原创 Git操作-分支管理(二)
解决冲突场景:创建一个新的分支feature1,然后在README.txt文件里添加4 create a branch named feature1,然后在feature1分支上提交。提交后切换到master分支,再在master分支上将最后一行修改为create a new branch named feature1,再提交,现在,master分支和feature1分支各自都分别有新的提交:
2015-05-03 11:56:42 1239
原创 Git操作-分支管理(一)
分支介绍多个分支就是在版本库中有多条提交的记录线条,如下图所示,蓝色的master是一个分支,红色的dev也是一个分支,HEAD所指的是当前的分支: 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。现在有了分支,就不用怕了
2015-05-03 10:54:19 1098
原创 Git操作-远程仓库
我们这里的远程仓库使用github(提供git仓库托管的一个网站),首先需要有github账号。连接本地git与github由于本地git仓库与github仓库之间的传输是通过SSH加密的,所以需要设置: 1、创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开She
2015-05-02 22:29:21 1457
原创 Git操作-修改与删除
管理修改第一次修改 ->git add -> 第二次修改 ->git commit如果第一次修改git add ,第二次修改还没来的及’git add’,此时如果git commit 第二次的修改是没有在版本库的,Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了
2015-05-02 21:31:13 1272
原创 Git操作-版本回退
接着上一节的例子 我们在README.txt文件中再添加一段内容(add modify1):1 add a file called README2 add modify1然后提交到版本库查看日志使用$ git log 显示文件的每次提交修改的记录,git log命令显示从最近到最远的提交日志 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数: 注意
2015-05-02 20:36:41 1811
原创 Git工作结构
创建版本库首先选择一个目录(尽量确保目录名不包含中文),然后对这个目录git bash,然后在这个目录下 $ git init 把这个目录变成git可以管理的仓库(repository) 这样git就把仓库(gitTest)建立好了,在gitTest目录下会显示有一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给
2015-05-02 17:54:04 1169
原创 Git环境安装配置
我们这里只要讲的Git安装环境主要针对Windows(因为条件限制),等以后有机会了再把Linux和Mac上的补充上。安装在Windows上安装Git,需要首先下载msysgit,msysgit是Windows版的Git,可以从http://msysgit.github.io/,然后直接安装即可。 安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明
2015-05-02 16:52:43 1035
原创 版本控制系统-集中式与分布式的区别
SVN和CVS都是集中式版本控制系统,而Git是分布式版本控制系统集中式版本控制系统版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。 集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,可能提交一个10M的文件就需要5分
2015-05-01 21:38:30 2014
原创 Ajax异步请求的各种使用情况
首先介绍下Ajax的各项参数:url : 发送请求的地址 (默认: 当前页地址)data :发送到服务器的数据 (必须为 Key/Value 格式)type : 请求方式 ("POST" 或 "GET"), 默认为 "GET"。dataType :预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就
2015-04-20 18:29:11 1222
原创 同一局域网内其它设备无法访问本地Apache问题的解决
我的Apache版本2.4.9第一步:将Apache配置文件httpd.conf中内的Require local注释掉第二部:打开防火墙,允许Apache HTTP Server程序通过防火墙,如下图:
2015-04-04 17:37:24 4291 1
原创 安装wampserver2.5提醒丢失msvcr110.dll
我在win8系统上安装wampserver2.5 64位,安装到最后,总是提示丢失msvcr110.dll解决办法:到这个网站下载一个Visual C++ Redistributable for Visual Studio 2012 Update 4的一个插件。http://www.microsoft.com/en-us/download/confirmation.aspx?i
2015-03-17 18:51:51 2085
转载 Firebug控制台详解
Firebug控制台详解作者:阮一峰控制台(Console)是Firebug的第一个面板,也是最重要的面板,主要作用是显示网页加载过程中产生各类信息。一、显示信息的命令Firebug内置一个console对象,提供5种方法,用来显示信息。最简单的方法是console.log(),可以用来取代alert()或document.write()。比如,
2015-02-02 13:31:33 625
转载 java.lang.UnsupportedClassVersionError: *** : Unsupported major.minor version 51.0
今天写代码时碰见一个这样的错误:java.lang.UnsupportedClassVersionError: com/ui/Test : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.d
2015-01-31 19:04:03 969
转载 微信公众平台开发调试方法
一. 使用微信公众平台接口调试工具进入地址 https://mp.weixin.qq.com/debug/,在接口类型中选择要调试的类型,这里调试基本消息所以选择 消息接口调试接口列表中选择自己要调试的类型,这里以 文本消息 为例这里主要是填写URL和Content,URL 就是我们自己开发好的接口地址,Content就是要发给这个接口地址的文本消息
2015-01-28 21:06:25 1366
原创 Java static的深入了解
static主要用来修饰Filed和方法static修饰的成员表明它属于这个类本身,而不属于该类的单个实例,换句话说,static修饰的属性就是公共属性(所有对象都可以使用的属性)static修饰方法时,有如下限制:static定义的方法不能调用非static的方法或属性,非static定义的方法可以调用static的属性和方法。主要原因是:1 使用static定义的属性的方法
2015-01-26 19:06:11 852
原创 构造器的深入了解
有一段时间没有看编程方面的书了,今天复习了一下java方面的知识,发现很多知识之前都了解甚浅,今天就先总结一下关于java构造器方面的知识深入了解。首先讲一下什么是构造器:构造器是一个和类名相同但是无返回值的方法,它在一个类中的作用是创建实例时执行初始化,是创建对象的重要途径。注:如果程序员没有为java类提供任何的构造器,系统会自动为这个类提供无参数的构造器,相反,如果有自定义的构造器,
2015-01-25 15:55:46 919
转载 java垃圾回收算法
Java ,C#语言与C/C++语言一个很大的区别是java与C#具有自动垃圾回收机制。C++程序员经常需要绞尽脑汁的分析哪里出现了内存泄漏。而在java,C#中,虽然有时也会出现内存泄漏,但大部分情况下程序员不需要考虑对象或者数据何时需要被销毁。因此程序员不会因为错误的释放内存而导致程序崩溃。垃圾回收的缺点是加大了程序的负担,有可能影响程序的性能。1.垃圾收集器的主要功能有(1)
2015-01-25 10:56:06 673
转载 jdk与jre的区别
很多程序员已经干了一段时间java了依然不明白jdk与jre的区别。JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java Runtime Enviroment是指Java的运行环境,是面向Ja
2015-01-25 10:36:30 531
原创 并发与并行的区别
并行(parallel)指在同一时刻,有多条指令在多个处理器上同时执行。就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。所以无论从微观还是从宏观来看,二者都是一起执行的并发(concurrency)指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的
2015-01-05 17:31:41 1013
原创 git常用基本命令
git branch:查看当前的分支git branch Common:创建分支Commongit checkout Common:切换到分支Commongit remote add origin git@github.com:changjiang007/kelehuSystem.git : 连接远程仓库,并将此远程仓库在本地命名为origingit remote -v
2014-12-06 16:53:53 1171
原创 SQL操作语句中的注意点
一 查询语句1 distinct关键字消除重复行当查询的结果数据中出现重复数据时,在查询条件中加上distinct关键字消除重复行;如:select distinct Sno from SC;2 like匹配的通配符%和_% :代表任意长度(包括0)的字符串,例如:like'a%b',表示以a开头,以b结尾的任意长度的字符串;_ :代表任意单个字符,注意数据库的字符集为AS
2014-10-17 22:37:41 1393
转载 php get_magic_quotes_gpc()函数用法介绍
magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误 在magic_quotes_gpc=On的情况下,如果输入的数据有单引号(’)、双引号(”)、反斜线()与 NUL(NULL 字符)等字符都会被
2014-10-06 12:11:49 917
转载 python的datetime模块功能详解
[python] view plaincopy>>> dir(datetime) ['MAXYEAR', 'MINYEAR', '__doc__', '__name__', '__package__', 'date', 'datetime', 'datetime_CAPI', 'time', 'timedelta', 'tzinfo'] 包含
2014-07-28 15:58:41 1790
转载 <meta>标签中http-equiv属性的属性值X-UA-Compatible详解
X-UA-Compatible是针对IE8新加的一个设置,对于IE8之外的浏览器是不识别的,这个区别与content="IE=7"在无论页面是否包含指令,都像是使用了 Windows Internet Explorer 7的标准模式。而content="IE=EmulateIE7"模式遵循指令。对于多数网站来说,它是首选的兼容性模式。 为了避免制作出的页面在IE8下面出现错误,建
2014-05-17 10:55:26 45760 7
原创 递归处理多层嵌套列表
建立一个多层列表(即列表中存储列表)并输出列表项如下图:可以看出输出的只是输出了外列表当然也可以多次循环输出每一个子项:如下图所示注:isinstance(object, classinfo)为python的内置函数,用来判断对象的类型这是三层循环,如果是很多次循环再用for循环输出就太麻烦了,对于这种情况需要建立一个函数,递归循环输出子项如下图所示:
2014-04-25 15:50:59 73492 8
转载 onbeforeunload与onunload事件
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在脚本中通过 window.onunload来指定或者在里指定。区别在于onbeforeunload在onunload之前执行,它还可 以阻止onunload的执行。 Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读 取新的页面时调用,此时还没开始读取;而on
2014-04-18 20:30:59 1576
转载 OpenERP仓库
一、复式库存(Double-Entry Stock Management)和库存移动(Stock Move)OpenERP的库存管理采取了独特的复式库存(Double-Entry Stock Management)。什么是复式库存?就是每一笔库存变动,同时记录库存减少和库存增加。例如卖了10辆自行车给客户,OpenERP会在你的库位(Location,这个概念后面再说)减去10辆自行车,再
2014-04-10 15:40:16 2192
转载 OpenERP采购的两种不同情况
原材料采购有两种情况,一种是先收货,并按实际收货数量付款;一种是先付款,对方再发货。对于国内的供应商,通常都采用前者处理,但有些进口原材料,对方会要求先付款,或者预付部分款额,对方才会发货。两种情况在OpenERP中的处理方法有所不同。一、先收货再付款一般来说,仓库入库数量及财务付款金额都应该以采购单上的数量及金额为准。但实际中,由于下面一些常见原因,仓库入库数量及付款金额不同于采
2014-04-10 15:26:47 1955
源码编译安装lamp环境的文件包
2015-08-02
PHP查询文档
2013-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人