自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 506

原创 安卓语音通话

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

2015-01-16 13:28:57 1250

原创 Vector 删除数据

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

2013-11-07 16:20:36 2488

原创 STL容器中 指针的清理

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

2013-11-07 15:35:31 798

原创 C++ 自定义内存 管理

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

2013-11-05 22:35:27 599

原创 win32下文件磁盘的操作

刚刚接触win32 编程的时候,就被他的数据类型吓住的,和平时c++常用的变量不一样。特别是win32 API羞涩难懂,只好硬着头皮去看。由于工作中,主要是处理文件,磁盘,逻辑磁盘这些设备,主要开发是在windows下 只好用win32 的CreateFile WriteFile ReadFile 等函数去操作。时间长了发现主要操作就是打开设备,读、写、跳转。好多代码都是重复的,最近把

2013-11-05 22:21:40 640

原创 Mac 下CodeBlocks调试的问题

从入手Mac到现在就用过Xcode,前段时间要将一个开源的TestDisk从文本界面转成带图形界面的。我思考一番决定用CodeBlocks + Qt来做,主要是不想用Qt自己的IDE,也许是习惯了VC,CodeBlocks之类的风格,参数上设置挺方便的。但是在代码的编写中,发现一个问题,MAC下gdb不能调试,后来查了查原来是Apple 不允许调试其他的进程,需要设置一个钥匙串。虽然自己按

2015-01-16 13:37:39 3958

原创 界面开发感悟

最近的工作在和界面打交道,本来自己不是怎么擅长界面的,但是还是把我安排到界面上,我带着忐忑不安的心理,小心意义的码代码。遇到问题就向同时请教,渐渐的自己也明白了大致如果处理 界面,以及控件的自绘。以前自己为了方便写界面都是用的Qt之类简单的界面库,对了MFC始终是望尘莫及,鉴于自己当时知道的比较少,功力达不到。看到别人的界面那么华丽,真是羡慕的心理痒痒,虽说用Qt写界面简单,但是好看的界面还是

2014-05-26 15:48:00 592

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

原创 Qt的界面线程 和Mfc 一点不一样的地方

首先本人对Qt不是太了解,但是不想仅仅停留在用的角度上。开发平台:windows由于软件要写成多线程版本的,界面会用到MFC,QT,或者没有界面只是控制台。我当时想的是:底层API + MFC底层API + QT底层API + 控制台但是我在QT的界面上卡住了,由于我不想用QT的线程,我想在底层上用win32的线程处理好了,再用MFC和QT用,毕竟我只用他们来写界面。

2013-11-28 12:13:28 2504 2

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

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

原创 自己封装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 699

原创 CreateFile的FILE_FLAG_NO_BUFFERING 问题

最近在写数据恢复的软件,同时要对24块硬盘的数据进行操作,然后写入一个16T 的存储中。由于在平常的时候没有考虑到系统缓存的问题,只知道 我每次 重复跑数据的时候 往往第二次的比第一次的快上好多。情况 就这么发生了。服务器的内存是16G,由于数据量太大了,执行完一个任务要好几天。不知不觉中发现系统内存爆满了,查找了所有存在的进程检查其占用的内存 没哟发现有异常的。当时 认为有可能是系统做的

2013-11-25 19:01:55 3087

原创 go 语言环境变量配置

安装过程官网很详细 就是环境变量配置有点小小的细节go语言自己东西一般在go文件夹下,我们自己用的时候最好单独创建一个新的环境。比如 goproject,在这个文件夹下创建bin pkg src目录。然后再环境变量的配置文件中设置下。下面是我的设置 GOPATH=$HOME/go:$HOME/goproject GOROOT=$HOME/go GOOS=linux GO

2013-11-23 14:54:27 1302

原创 多线程操作磁盘

最近要写一个多线程的应用,需要从几十块磁盘中读取数据,每次只将5块盘中的数据进行加工整合,而且磁盘的读取都是随机的,不是顺序的。加工后需要将结果写入一个大的存储中,N个T。原来我写的是单线程的,速度好慢1分钟只能处理3G左右或者不到。业务做起来相当的费时费力,leader叫我改多线程,一时间没有好的设计,总是有一个坎过不了,leader还给我列出了高数,算算极限时间,呵呵。两天的时间里,我

2013-11-22 21:39:14 2035

原创 PHP Ajax小事例

在网页开发中,会需要前台页面和后台服务交换数据,但是又不想让页面全部刷新,只是局部更新,这个时候就用到了Ajax。最近在忙些PHP的工作,另一个人前端写的非常好,我只是辅助下后台php的代码工作!早些时候自己看网页的时候 遇到Ajax总是看的不太明白,今天看的时候好像有种领悟的感觉。先说下Ajax吧 简单点 就是异步!这个还是我同学给我说的,说面试的时候被问起 就这么回答。现在套用下官方术

2013-11-17 00:13:01 445

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

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

原创 漂亮的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 1558

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

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

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

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

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

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

原创 模拟 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 474

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

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

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

原创 C++ 位域 处理位图信息

在编程的我们有时候 会通过位图来记录一些数据的信息,比如ext3,ext4,fat通过位图来记录数据区域的使用情况。比如1位表示1个块,一个字节8个块的表示,当前位为1表示占用,为0表示空闲。平时主要写一些文件系统的代码,刚开始对位图不太理解,而且刚刚接触这方面,一切都是雾水。特别是二进制数据的处理,有可能是自己学的不够好吧,平时写代码主要是处理上层的任务,很少去关注底层的二进制结构。

2013-11-05 22:04:46 678

Java TCP/IP简单的例子

简单的java网络编程。给正在学java网络编程的 提供点信息

2012-04-26

空空如也

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

TA关注的人

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