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

原创 Mac下 升级 php+apache
Mac 下自带php + apache。但是版本不是最新的。网上找了半天都没有找到比较好的事例。只好自己琢磨了好久。我的本子上php 是5.4的,apache 是2.2的。昨天在练习php的时候,遇到了一个特性,PHP5.4 不支持。只好进行下升级。推荐用MacPort来进行下载安装,主要是方便管理。安装PHPsudo port install php55;
2015-01-16 13:36:20
549

原创 安卓语音通话
这段时间在做公司的语音这一块,主要是实现 手机端和pc端的语音通话问题(回音和噪音消除暂时没有考虑)用得是amr得方案。。安卓手机端自带的录音是可以直接录成amr的格式,省去了压缩的功夫。但是播放的时候如果要是直接播amr的话 只能通过文件的方式进行,这就会导致延迟。目前软件是用得安卓自己提供的硬解码方案,没有使用自己的软解码,主要是如果软解码的话程序cpu占用率会很高。录
2015-01-16 13:28:57
1312

原创 Vector 删除数据
STL中vector的存储是 线性的,可以看成动态数组的封装。不太方便除末尾其他地方的插入操作。这样效率好低,所以比较纠结的!要在vector中删除数据,可以用stl提供的函数,remove 或者 remove_if。但是他的删除,比较特殊,他只是把删除的元素后面的数据前移。自身大小没有变化,有时候 这么方法达不到自己的要求。只好自己去加工下。下面是我的加工方法。str
2013-11-07 16:20:36
2568

原创 STL容器中 指针的清理
STL在我的编程里用的算是比较多。有人说用STL不好,有人说用STL省时间。黑猫白猫,抓到老鼠就是好猫。总是能完成任务就是好的解决办法。我在STL中经常用容器存储指针之类的东西,刚学STL的时候,以为Clear的时候,就会自动帮编程者析构。敲得代码多了,多少会吸取些教训。刚开始的时候我是这么用: vector p; for(int i=0;i<100;i++) p.p
2013-11-07 15:35:31
864

原创 C++ 自定义内存 管理
工作中常常需要,将一些数据放到内存中处理,有时候数据量好大多达3G的空间。而且自己存储都是一些指针之类的东西,每次都要new,容器中存储的量好大,四五百万个。而且最头疼的就是 析构的时候要等好久才能释放掉这个东西。查了好久 发现最流行的就是 空间换时间。说了也惭愧,在学校中没怎么学到高深的东西,好多都是自己在工作中学习的。同事说我可以看看Nginx的内存管理,我百度了下,有点那么意
2013-11-05 22:35:27
648

原创 win32下文件磁盘的操作
刚刚接触win32 编程的时候,就被他的数据类型吓住的,和平时c++常用的变量不一样。特别是win32 API羞涩难懂,只好硬着头皮去看。由于工作中,主要是处理文件,磁盘,逻辑磁盘这些设备,主要开发是在windows下 只好用win32 的CreateFile WriteFile ReadFile 等函数去操作。时间长了发现主要操作就是打开设备,读、写、跳转。好多代码都是重复的,最近把
2013-11-05 22:21:40
695
原创 Mac 下CodeBlocks调试的问题
从入手Mac到现在就用过Xcode,前段时间要将一个开源的TestDisk从文本界面转成带图形界面的。我思考一番决定用CodeBlocks + Qt来做,主要是不想用Qt自己的IDE,也许是习惯了VC,CodeBlocks之类的风格,参数上设置挺方便的。但是在代码的编写中,发现一个问题,MAC下gdb不能调试,后来查了查原来是Apple 不允许调试其他的进程,需要设置一个钥匙串。虽然自己按
2015-01-16 13:37:39
4021
原创 界面开发感悟
最近的工作在和界面打交道,本来自己不是怎么擅长界面的,但是还是把我安排到界面上,我带着忐忑不安的心理,小心意义的码代码。遇到问题就向同时请教,渐渐的自己也明白了大致如果处理 界面,以及控件的自绘。以前自己为了方便写界面都是用的Qt之类简单的界面库,对了MFC始终是望尘莫及,鉴于自己当时知道的比较少,功力达不到。看到别人的界面那么华丽,真是羡慕的心理痒痒,虽说用Qt写界面简单,但是好看的界面还是
2014-05-26 15:48:00
630
原创 GO语言tcpip 编程
服务端package mainimport( "fmt" "net" "io/ioutil")func main(){ service := ":9999" tcpAddr,_ := net.ResolveTCPAddr("tcp4",service) listener,_ := net.
2013-12-03 22:48:16
873
原创 Qt的界面线程 和Mfc 一点不一样的地方
首先本人对Qt不是太了解,但是不想仅仅停留在用的角度上。开发平台:windows由于软件要写成多线程版本的,界面会用到MFC,QT,或者没有界面只是控制台。我当时想的是:底层API + MFC底层API + QT底层API + 控制台但是我在QT的界面上卡住了,由于我不想用QT的线程,我想在底层上用win32的线程处理好了,再用MFC和QT用,毕竟我只用他们来写界面。
2013-11-28 12:13:28
2587
原创 Linux Makefile 小事例
感觉Linux下不会makefile少点什么。先说下我的目录test.cpp Makefilebin/include/ a.hsrc/ a.cpplibmakefile 文件vpath %.h include vpath %.cpp src objects= obj/test.o INCLUDE = -I include SUBDIRS=a
2013-11-28 01:12:41
847
原创 python 连接 mongodb
我的运行环境是Centos 6.3。首先是要安装pymongodb的库。用easy_install 安装。#!/usr/bin/pythonfrom pymongo import Connectionimport timedb = Connection().jjystart = time.time()for i in xrange(1000000): db.j
2013-11-26 00:52:05
1035
原创 自己封装Ajax类
function GetAjax(callback){ var xmlhttp = null; if(window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); }else{ // code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLH
2013-11-25 21:21:27
732
原创 CreateFile的FILE_FLAG_NO_BUFFERING 问题
最近在写数据恢复的软件,同时要对24块硬盘的数据进行操作,然后写入一个16T 的存储中。由于在平常的时候没有考虑到系统缓存的问题,只知道 我每次 重复跑数据的时候 往往第二次的比第一次的快上好多。情况 就这么发生了。服务器的内存是16G,由于数据量太大了,执行完一个任务要好几天。不知不觉中发现系统内存爆满了,查找了所有存在的进程检查其占用的内存 没哟发现有异常的。当时 认为有可能是系统做的
2013-11-25 19:01:55
3362
原创 go 语言环境变量配置
安装过程官网很详细 就是环境变量配置有点小小的细节go语言自己东西一般在go文件夹下,我们自己用的时候最好单独创建一个新的环境。比如 goproject,在这个文件夹下创建bin pkg src目录。然后再环境变量的配置文件中设置下。下面是我的设置 GOPATH=$HOME/go:$HOME/goproject GOROOT=$HOME/go GOOS=linux GO
2013-11-23 14:54:27
1457
原创 多线程操作磁盘
最近要写一个多线程的应用,需要从几十块磁盘中读取数据,每次只将5块盘中的数据进行加工整合,而且磁盘的读取都是随机的,不是顺序的。加工后需要将结果写入一个大的存储中,N个T。原来我写的是单线程的,速度好慢1分钟只能处理3G左右或者不到。业务做起来相当的费时费力,leader叫我改多线程,一时间没有好的设计,总是有一个坎过不了,leader还给我列出了高数,算算极限时间,呵呵。两天的时间里,我
2013-11-22 21:39:14
2109
原创 PHP Ajax小事例
在网页开发中,会需要前台页面和后台服务交换数据,但是又不想让页面全部刷新,只是局部更新,这个时候就用到了Ajax。最近在忙些PHP的工作,另一个人前端写的非常好,我只是辅助下后台php的代码工作!早些时候自己看网页的时候 遇到Ajax总是看的不太明白,今天看的时候好像有种领悟的感觉。先说下Ajax吧 简单点 就是异步!这个还是我同学给我说的,说面试的时候被问起 就这么回答。现在套用下官方术
2013-11-17 00:13:01
470
原创 python Cryptographic
1 #!/usr/bin/python 2 import hashlib 3 4 m = hashlib.md5() 5 m.update("jjy") 6 print m.hexdigest() 7 8 del m 9 10 m = hashlib.sha256() 11 m.update("jjy") 12 print m.hexdigest()
2013-11-14 23:32:19
518
原创 Go 操作CSV格式文件
package mainimport ( "encoding/csv" "fmt" "os")func main() { file, _ := os.OpenFile("test.csv", os.O_WRONLY|os.O_CREATE, os.ModePerm) w := csv.NewWriter(file) w.Write([]string{"123", "23423
2013-11-13 00:12:20
6577
原创 漂亮的Go二进制查看工具
Go的语言包中 提供了很多有意思的 函数工具,比如下面的这个hex包,他会将数据 格式化成 漂亮的格式。package mainimport ( "encoding/hex" //"fmt" //"io" "io/ioutil" "os")func main() { file, _ := os.Open("binarydata") buffer, _ := iout
2013-11-12 23:50:39
1626
原创 Go 解析XML
今天看了看XML的解析,挺别致的和C++,Java之类的解析很是不同。GO中将XMl的结构解析成一个数据结构,类似于一个结构体。package mainimport ( "encoding/xml" "fmt" "os")type Address struct { City, State string}type Person struct { XMLName
2013-11-12 22:59:35
3747
原创 Go Simple Binary View
My Linux Fedora does not has a Chinese Input Bus. SO you knowFirst Generate a Binary file[jjy@localhost binary]$ dd if=/dev/urandom of=testdata count=1Go Code:package mainimport(
2013-11-09 21:25:13
1032
原创 Go 获取指定目录下的文件
package mainimport ( "fmt" "os")func main() { dir, error := os.OpenFile("C:\\", os.O_RDONLY, os.ModeDir) if error != nil { defer dir.Close() fmt.Println(error.Error()) return } filein
2013-11-09 13:54:43
2579
原创 Go user包
user的结构:type User struct { Uid string // user id Gid string // primary group id Username string Name string HomeDir string}user包中的主要函数: type User
2013-11-09 13:33:44
1038
原创 Go path包
package mainimport ( "fmt" "path")func main() { fmt.Println(path.Dir("/home/jjy/a.txt")) fmt.Println(path.Base("/home/jjy/a.txt")) fmt.Println(path.Clean("\\\\.\\PhysicalDrive0")) fmt.Print
2013-11-09 13:18:39
540
原创 Go语言 操作二进制文件
二进制文件的内容:Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F00000000 12 31 23 12 31 22 31 23 12 31 22 22 22 22 22 22 1# 1"1# 1""""""00000010 22 22 22 12 23 12 23 00 00 00 00 00
2013-11-09 13:09:03
5202
原创 模拟 C++11 的shared_ptr
仿照C++11 中的shared_ptr 写的智能指针,不像源码那么好,自己还需要 努力 template class RefCount { private: long refcount; T* Ptr; public: ~RefCount() { cout<<"delete"<<endl; } virtual bool DeletePtr()
2013-11-07 16:40:26
508
原创 C++ 存储多种类型的结构
自己写的代码 有点粗糙,有时间,好好整整。 template class JBuffer { }; template<> class JBuffer { public: JBuffer():size(0){} JBuffer(size_t size){Resize(size);} template JBuffer(const JBuffer& j) {
2013-11-07 16:35:59
1324
原创 go 语言zip压缩包 读取
今天看了一下go语言的zip压缩包的操作。每天看一点go的包,动手写几个例子感觉还是有点收获的,多动手才能有所进步。先附上代码。testzip.gopackage mainimport ( "archive/zip" "bufio" "fmt" "io" "os")func main() { rc, err := zip.OpenReader("test/he
2013-11-07 15:19:04
2987
原创 go 语言文件操作
最近在看go语言,只是体验一下传说中的强大。这个的代码例子是 go语言操作文件:file.gopackage mainimport ( "bytes" "fmt" "os")func main() { file, err := os.Open("file.go") if err != nil { defer file.Close() fm
2013-11-06 00:42:42
1271
原创 C++ 位域 处理位图信息
在编程的我们有时候 会通过位图来记录一些数据的信息,比如ext3,ext4,fat通过位图来记录数据区域的使用情况。比如1位表示1个块,一个字节8个块的表示,当前位为1表示占用,为0表示空闲。平时主要写一些文件系统的代码,刚开始对位图不太理解,而且刚刚接触这方面,一切都是雾水。特别是二进制数据的处理,有可能是自己学的不够好吧,平时写代码主要是处理上层的任务,很少去关注底层的二进制结构。
2013-11-05 22:04:46
725
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人