11 zp373860147

尚未进行身份认证

互联网 Python C/C++ 底层机制

等级
TA的排名 2w+

gitlab for mac

记录下在mac上使用gitlab遇到的问题1、注册用户,拿到权限到你们gitlab项目网址下的profile setting下的SSH KEYS中,找到generate it命令行执行ssh-keygen -t rsa -C“jenson.zhangpeng@gmail.com”得到ssh key执行cat ~/.ssh/id_rsa.pub看到ss

2014-10-23 16:46:21

GO!---基础语法

这里http://www.oschina.net/question/12_7902

2013-07-09 11:29:24

GO!---Windows下GO的环境搭建

一、        下载编译器下载go语言的开发工具可以到http://code.google.com/p/gomingw/downloads/list去下载,这里列出了当前最新的版本。我选择下载http://gomingw.googlecode.com/files/gowin386_release.r60.3.zip 下载完毕之后,就是一个压缩包,我们把它解压缩,

2013-07-08 17:47:54

Dynamic Data Exchange(DDE)机制引发的卡死

有一个bug:在XP系统下,某些机器上ShellExecute在打开文件时会造成程序卡死,看了Dump文件,堆栈如下:说明ShellExecute内部使用了DDE,即Dynamic Data Exchange,动态数据交换技术。DDE用于进程间通讯,需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用

2013-03-21 11:38:52

boost::any实现分析

这里提到的boost::any,下面来分析一下boost::any的实现。class any { public: // structors any() : content(0) { } template any(const ValueType & value)

2013-03-19 17:09:58

如何设计接口的参数以减少对接口的修改

或许说这个东西的时候,最好能依托一个背景。在稍大型一点的项目中,总会有一个base层,我们认为它封装了最最底层和基础的一些列功能,因为底层的东西追求稳定和运行效率,所以90%是用C/C++写的,一般以头文件+DLL的方式给上层使用(不考虑它是基于COM的,如果是COM,VARIANT的参数类型就不在讨论范围内了)。头文件中定义了一些列导出函数或者导出类,这些导出函数或类的成员函数,都会

2013-03-19 15:19:53

由人眼追踪技术想到的

一、传言三星Galaxy S4将具备眼球追踪功能根据CSDN之前对三星Galaxy S4的报道,三星最新一代Android智能手机Galaxy S4将于3月14日在纽约发布,该新机型在软件方面有一项令人兴奋的新功能,那就是“眼球追踪技术”。通过这项技术,Galaxy S4可追踪用户眼睛以确定滚动方向,比如当用户阅读文章时,他们的眼睛到达页面底部,该软件即会自动向下滚动来显示文章的下

2013-03-14 18:51:01

Chrome源码剖析 【五】

转自http://www.cnblogs.com/duguguiyu/archive/2008/11/05/1326777.html【五】 Chrome的插件模型1. NPAPI为了紧密的与各个开源浏览器团结起来,共同抗击IE的垄断,Chrome的插件,也遵循了NPAPI(Netscape Plugin Application Programming Inter

2013-03-12 14:41:45

Chrome源码剖析 【四】

转自http://www.cnblogs.com/duguguiyu/archive/2008/10/24/1318363.html【四】Chrome的UI绘制1. Chrome的窗口控件Chrome提供了自己的一个UI控件库,相关文档可以参见这里。用Chrome自己的话来说,我觉得市面上的七荤八素的图形控件库都不好用,于是自己倒腾倒腾实现了一套。。。广

2013-03-12 12:14:31

Chrome源码剖析【三】

转自http://www.cnblogs.com/duguguiyu/archive/2008/10/12/1308876.html【三】 Chrome的进程模型1. 基本的进程结构Chrome是一个多进程的架构,不过所有的进程都会由老大,Browser进程来管理,走的是集中化管理的路子。在Browser进程中,有xxxProcessHost,每一个host,都

2013-03-12 12:13:11

Chrome源码剖析【二】

转自http://www.cnblogs.com/duguguiyu/archive/2008/10/04/1303695.html【二】Chrome的进程间通信1. Chrome进程通信的基本模式进程间通信,叫做IPC(Inter-Process Communication),在Chrome不多的文档中,有一篇就是介绍这个的,在这里。Chrome最主要

2013-03-11 17:51:14

Chrome源码剖析 【序】 && 【一】

转自http://www.cnblogs.com/duguguiyu/archive/2008/10/02/1303095.html【序】 开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质。它使得每个人,无论你来自米国纽约还是中国铁岭,都有机会站在巨人的肩膀上,如果不能,至少也可以抱一把大腿。。。现在我就是来抱大腿的,这

2013-03-11 17:30:20

图像处理--GIF和静态图叠加(四):误差扩散(error diffusion)

上面说过了色彩量化,经过色彩量化,必然有部分点因为无法精确的在调色板中找到自己原来使用的颜色而被迫使用和原来颜色最接近的颜色,这就产生了色差。如果用标准调色板,一般经过色彩量化后,图片会形成大量色块,即使用定制调色板,也会有少量色块。为了进一步提升图片质量,需要引入误差扩散。误差扩散, 就是将色彩深度降低时, 将像素颜色的变化误差, 扩散开去. 这使得肉眼在观察图片的时候, 相邻的像素点集

2012-12-31 11:13:59

图像处理--GIF和静态图叠加(三):色彩量化(Color Quantization)

按照图像处理--GIF和静态图的叠加和图像处理--GIF和静态图叠加(二)的思路,已经可以实现GIF和静态图的叠加了,但是我们已经知道,GIF最高支持8位256色,那么如果原图是真彩色的,则在生成最终效果图时,就涉及到真彩色到256的降色。真彩色是24位的,有2^24种颜色,每个像素用3个字节标识一个颜色,R、G、B各占一个字节,而256色每个像素只用一个字节从调色板中索引一种颜色,调色板最多有2

2012-12-26 17:56:10

图像处理--GIF和静态图叠加(二)

在图像处理--GIF和静态图的叠加中简单介绍了GIF的格式,可以根据编码协议自己写代码解GIF,组合GIF,也可以使用现有的一些资源来做。GDI+除了提升了GDI的绘图能力,工作范围,将面向过程变为面向对象外,还有一项大的贡献,支持GIF、PNG等更多的图片格式。GDI+在处理GIF上提供了一套方便的接口,可以获得GIF的帧数、帧间隔,还可以提取每帧图像,并保存为指定的格式。但是由于G

2012-12-25 20:44:41

图像处理--GIF和静态图的叠加

不少图片处理软件都有一种功能:用户上传一张静态照片,然后可以从软件提供的一些动态图片(gif)选择一种,常见的是相框之类的,和静态图片合成,得到新的动态图片。这就是GIF和静态图片的叠加。要实现上面的功能,思路还是比较清晰的。GIF图片格式可以看成是多个单帧图片的组合,从GIF图中提取每一帧图片,和静态图混合,最终再将混合后的n张图片组合成GIF。在实际操作中,涉及到GIF

2012-12-25 20:03:42

Everything原理及全盘搜索研究

Everything是个十分方便的本地文件搜索软件,谁用谁知道...一般每次启动后,它会有个初始化时间,初始化完成后,每次搜索,结果秒出。有一篇文章是讲Everything实现原理的,详情猛戳此处大体意思是,ntfs磁盘分区会有一个觉usn的日志系统,从这个日志系统中可以拿到类似全盘索引之类的数据,然后搜索时从这个数据格式出发,效率会比较高。但有个致命点是fat32格式的分区并没有这个us

2012-11-23 20:36:11

多线程数据同步总结(二)

性能问题凡是涉及到多线程数据同步都会有额外的性能开销。常见的同步方式按照性能开销从小到大(主要是耗时的多少)排序为:volatile读取、volatile写入、Interlocked API、SRWLock、关键段(带旋转锁)、内核对象。使用内核对象,比如互斥量、信号量等的开销最大,因为这时以切换到内核态,而从用户态切换到内核态,大概需要1000个CPU指令周期。关键段

2012-11-19 14:56:18

boost中的mutex与lock

最近在多线程编程中多次使用到mutex来互斥,看了下项目的代码,有自己封装的mutex类,也有直接使用boost::mutex的,而boost中关于mutex可谓令人眼花撩换。这里总结一下。对于mutex和lock,要明确一点,真正起到互斥作用的mutex,而lock可以认为是协助mutex令我们在使用时更方便。搞不清楚二者关系的可以参考这里:从高中一次半夜不冲厕所的经历谈程序

2012-11-15 15:41:09

理解 Thread.Sleep 函数 ,Sleep(0) 释放当前线程所剩余的时间片,让线程马上回到就绪队列而非等待队列

原文章连接:http://www.cnblogs.com/ILove/archive/2008/04/07/1140419.html我们可能经常会用到 Thread.Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题:假设现在是 2008-4-7 12:00:00.000,如果我调用一下 Thread.Sleep(1000) ,在

2012-11-14 15:36:34

查看更多

勋章 我的勋章
    暂无奖章