[返回] [最新] [最热门] [最高评价]

在windows下使用llvm+clang

clang是FreeBSD和Mac下C/C++语言的默认编译器。如果你在苹果下做过开发,那么应该对它很熟悉。

这套工具链有很多优点:

代码很新,架构优良。

错误信息更友好。

静态检查功能更强大。

版权限制小,易于自定义模块来扩展它的功能。

背后有Apple和Google这两家商业公司的大力支持。比如XCode现在只支持clang而不支持gcc。

支持JIT。这使得C/C++可以像ja
...

sunchangming 2014-03-15 03:23 | 查看: 29036

Hadoop Authentication

我被被派去做别的事情了,所以与hadoop相关的工作就只能搁下。写篇总结,把最近遇到的和kerberos相关的东西列一下。

 

JAAS是Java 认证和授权服务(Java Authentication and Authorization Service)的缩写,是PAM框架的Java实现。

javax.sercurity.auth.Subject是一个不可继承的实体类,它表示单个
...

changming 2012-03-28 19:03 | 查看: 21421

关于java.nio.ByteBuffer的一些杂七杂八。

任何网络程序框架都会面临一个问题:如何提供一个高效的buffer?比如我们想写一个http server,那么就需要不断的从文件中读入数据,然后写入到socket中,如:

byte[] buf=new byte[4096];

while(file.read(buf)){

mysocket.write(buf);

}

java.nio中引入了一个重要的类:ByteBuffer,来做这件
...

Changming 2011-10-21 17:43 | 查看: 16043

2010-12-21

整了一个thinkpad X201,处理器是i5的。在fedora下用top一看,哇,4个逻辑CPU(应该是4核的)。可那又怎样?我的T400大多数时间都是在降频跑,主频高又怎样?核多又怎样?笔记本的核心问题还是散热以及省电。
今天在X201上装Fedora 14可费苦了功夫。Fedora 官方的LiveUSBCreator因为syslinux.exe的版本太老,所以做出来的东西总是无法引导。
...

sunchangming 2010-12-22 00:00 | 查看: 13258

Tcp Fast Open and Linux 3.7

今天Linux 3.7发布了,一个引人注目的特性是,包含了完整的对TCP Fast Open(TFO)的支持,client端以及server端。

传统的TCP需要经过3次握手才能建立。假设我们要从服务器上用http协议下载一个图片

C->S : SYN

S->C : SYN+ACK

C->S : ACK+ http get request

S->S : http
...

snnn 2012-12-12 18:41 | 查看: 11205

流畅访问youtube的又一办法

我一直不明白为什么youtube以及youtube这样的模式在中国从未流行起来过。如果你知道,请告诉我。下面说正题 ,访问youtube的新方法(不走vpn和proxy)。

首先我发现,对youtube的屏蔽主要是基于DNS。所以只要改下DNS server,其实就可以访问了。当然,如果直接改成8.8.8.8或者其它境外DNS,是不行的。因为GFW会对其进行截听、篡改。所以只要把DNS查询的过程
...

sunchangming 2013-12-17 11:17 | 查看: 11023

CVE-2012-2122: MySQL身份认证漏洞

我今天早上来上班,打开电脑,在seclists中看到一个很惊人的邮件: http://seclists.org/oss-sec/2012/q2/493 MySQL爆出了一个很大的安全漏洞,几乎影响5.1至5.5的所有版本。出问题的模块是登录时密码校验的部分(password.c),在知道用户名的情况下(如root),直接反复重试(平均大约256次)即可登入。不过,MySQL身份认证的时候是采用3元
...

snnn 2012-06-11 12:09 | 查看: 10862

Hadoop Filesystem 多次close的问题

今天我犯了一个BUG。在我读写文件的时候,Hadoop抛异常说文件系统已经关闭。

2013-05-20 17:39:00,153 ERROR com.sunchangming.searchlog.CopyAppLogs: err on 2013051918_api_access_65.gz

java.io.IOException: Filesystem closed

a
...

sunchangming 2013-05-20 17:58 | 查看: 10695

Longest Increasing Subsequence

uva 481: What Goes Up http://uva.onlinejudge.org/external/106/10684.html

这个问题是这样:给定一个数组a[0…n],求它的单调严格递增子序列的最大长度,并给出一个示例解。子序列是从最初序列通过去除0个或多个元素但不破坏余下元素的相对位置而形成的新序列。严格单调递增是这个序列中每个元素都小于后一个元素,不能等于,也
...

sunchangming 2013-09-09 21:02 | 查看: 9869

win7下给Kindle Fire安装Android SDK的USB驱动

这是拿root之前必须要做的事情。

下载android SDK,http://dl.google.com/android/installer_r15-windows.exe 并安装。我就默认安装到C盘了。

在SDK Manager里面下载需要包。首先,在Android 2.3.3(API 10)下面选上SDK Platform。然后,在Extras里面选上USB Driver。然后依次安装。
...

Changming 2011-12-03 19:24 | 查看: 8899

程序中如何启用openssl的AES-NI ?

昨天我贴了一个测试报告,openssl在启用了AES-NI后,做AES加解密的时候,效率有8-9倍的提升。但是当我自己写了一个程序去测试的时候,结果却并非如此。

首先,openssl有两套接口,一套EVP的(与具体算法无关),一套较低level的,针对特定算法的。

EVP的例子如下:

EVP_CIPHER_CTX ctx;
EVP_CIPHER_CTX_init(&ctx);
ENG
...

snnn 2012-08-01 19:56 | 查看: 8894

还是说Memory Model,gcc的__sync_synchronize真是太坑爹了!

嗯,还是说可见性的问题。由于CPU和编译器的乱序执行功能,我们经常不得不在代码中手动插入memory barrier。如果你还不清楚memory barrier是什么,那么请先读这个 http://en.wikipedia.org/wiki/Memory_barrier

假如你已经了解它了,那么具体怎么用呢?怎么在代码中插入一个memory barrier ? 用哪个函数?

gcc的手册中有一
...

snnn 2012-01-29 03:18 | 查看: 8847

...更多...