- 博客(59)
- 收藏
- 关注
原创 大csv文件排序,c++ vs python
先生成csv文件,按照name,score1,score2来这个用python写比较简单:gen_random_csv.py#!/usr/bin/python
2013-01-07 13:57:07
1200
原创 topcoder SRM 147
首先贴题目如下:http://topcoder.bgcoder.com/print.php?id=204TopCoder problem "PeopleCircle" used in SRM 147 (Division I Level One , Division II Level Two)Problem Statement Ther
2012-03-04 13:25:20
541
原创 设计一个库,带算法参数,用于多server环境
设计一个库,带算法参数,比如这样的库:input是一些页面,output是排序好的页面,库里边会根据页面的signal算一些score,最后按score排序,其中参数具体指的是:一些threshold或者加减一些数值,考虑到内部算法参数会适当调整或者做实验,因此这些参数不能写死。方法1:做为命令行参数,当这个库被server或app所引用时,需要在启动的时候设一下,比如./server --f
2012-02-21 15:00:01
346
原创 c++ hash_map等用法的小tips
c++的hash_mapstl没有hash_map,但有个,位于namespace __gnu_cxx下,试一下如下code,可以验证一下系统是否已经安装ext#include #include using namespace std;using __gnu_cxx::hash_map;void Print(const hash_map& hm) { for (
2012-02-21 14:02:22
1723
原创 c的随机数函数rand_r()
推荐用rand_r()来产生随机数。顺便普及一下很多地球人都知道的常识大家都知道随机种子(rand seed),所谓的随机其实是:每一个种子会有一串看似随机的序列,每次取下一个出来,整体都近乎是随机分布的。换句话说,每一次改变随机种子变量的值,这个随机数都会重新开始。这样其实能带
2011-07-14 05:11:59
13773
原创 python的全局静态变量
<br />背景:<br />User有个自增的id,需要每次创建User的时候,id都自动+1<br /> <br />实现:<br />user.py<br />#!/usr/bin/python2.4class User(object): ID = 10000 def __init__(self): self.id = self._GetNextId() def _GetNextId(self): User.ID += 1 return User
2010-11-03 08:05:00
5520
1
原创 为什么地图数据不准?
图文并茂,看这篇就明白了http://www.contractortalk.com/f12/google-local-advice-83771/
2010-09-14 11:17:00
335
原创 百度开放平台与搜索引擎流量博弈
Baidu最近发布了开放平台,依靠其品牌在业界的巨大影响力和推广能力,获得了不少网站的支持,据称短时间内已有400多个应用上线,势头正劲。本文试图分析其模式并和竞争对手的同类产品作对比。关键词:搜索引擎, 百度阿拉丁, 百度开放平台, Subscribed Link (Google 3rd party Onebox), RichSnippets, Yahoo SearchMonkey, 整合搜索, 流量博弈
2010-09-07 20:01:00
453
转载 Introducing the Google Font API & Google Font Directory
Introducing the Google Font API & Google Font DirectoryWednesday, May 19, 2010Today we are excited to announce a collection of high quality open source web fonts in the Google Font Directory,
2010-05-20 16:37:00
370
转载 Web负载均衡: HAProxy
http://www.oschina.net/news/9136/haproxy-1.4.5-download?from=20100516 HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,
2010-05-17 14:19:00
303
原创 最牛的Linux/Unix shell命令行
我承认这个是有点tooold了,但这个的发明者确实很牛,呵呵why Linux is sexy? $ who | grep -i “girl” | talk; cd ~; wine; talk; touch; unzip; touch; strip; gasp; finger; gasp; mount; fsck; more; yes; gasp; umount; make clean
2010-05-12 11:28:00
397
转载 Hibernate Search 3.2 (Lucene的集成) 正式版发布
Hibernate Search 3.2 正式版发布http://www.oschina.net/news/8965/hibernate-search-3.2-final?from=20100509
2010-05-10 14:29:00
287
转载 开源微博平台 StatusNet 0.9.2 发布 (PHP)
开源微博平台 StatusNet 0.9.2 发布php开发http://www.oschina.net/news/8937/StatusNet-0.9.2-Download?from=20100509
2010-05-10 14:21:00
360
原创 多input的更新即时处理(Firefox, Chrome, 及IE的Stack Overflow的解决方法)
如果更新input后,能实时处理逻辑,那在IE下就应该用onpropertychange,Firefox和Chrome下要用addEventListener(input, function() {...}, false)如果IE下搞两个input,并设定onpropertychange,那就会出现Stack Overflow错误,第一次见到这样的错误,往往令人莫名其妙。其实这里有个死循环的
2010-05-02 10:49:00
1757
原创 javascript实现2个select的PK
如果要做一个PK的feature,左边选一个,右边选一个,但不能自己和自己PK,该怎么写?解决方法很多:1. 提示出错信息:两个select都全员,如果选择一样的,就提示出错信息。但如果是i18n的feature,那出错信息就要翻译成各个语言。 2. disabled掉一个:比如:A在js里边select.options[i].disabled = true
2010-05-01 10:41:00
515
原创 javascript里不要乱用this,最好直接写class名
javascript也是面向对象的语言,如果要调用class自己的function,比如说可以直接用this比如这样:var Inner = { method1: function() { this.method2(); }, method2: function() { alert(method2); }};Inner.method1
2010-04-22 16:00:00
362
原创 html css style的浏览器兼容问题
做web前台开发的选手如果自己裸奔html+syle+css,就会碰到浏览器兼容性的问题,比如做好了一个页面,firefox下对齐了,但ie下就对不齐,好不容易ie搞定了,chrome上就不对了。很ft。这样的case很麻烦,错误类型也很多。经验和方法都很重要。最近碰到个问题,左侧一张图片上有一排数字,需要和右侧的文字横向对齐(其中右侧还有select和input这样的html元素)
2010-04-21 13:36:00
424
原创 堆排序算法,附图与C++代码
堆的意思就是上面的都比下面大,或者小。举个例子,下图就是个最小堆,父节点都比子节点小。如果将其反过来,父节点都比子节点大,那就是最大堆。如图,想象一下东西是怎么磊成堆的,就能理解这个名字的精妙了。 1 / / 2 7 / / / /3 4 8 9 堆很容易就可以用数组表示,任意元素i,其子节点就是[2*i],[2*
2010-04-11 22:03:00
4121
4
原创 简述c++的static_cast, dynamic_cast, reinterpret_cast和const_cast的区别
static_cast vs dynamic_cast这两个差别挺明显。顾名思义,static只能检查静态类型,不能检查动态类型,要检查动态类型,就要用dynamic_cast。比如子类转父类,或者不带指针这样的动态类型的,用static_cast就够了。否则就必须用dynamic_cast。 reinterpret_cast一般用于指针类型的转换。 const_c
2010-04-11 11:52:00
503
原创 python多线程技巧,用threading.Event()替代time.sleep()
如果我们碰到了这样的场景:线程1做一件时间较长的事情,等做完了,主程序去测试其状态是不是真的更改了。通常比较容易想到的是:1. 线程1里,用大循环来模拟这个长时间的函数,比如for i in range(1, 10000)等等;2. 主程序里,用比如time.sleep(60)去等待,默许60秒应该已经够线程1去run了。 显然,这样做是不严谨的,因为没办法确切控制线程1的时间
2010-04-10 22:56:00
7234
1
原创 IE 0day,2010传说中的攻击Google等公司的代码
谷歌退出中国事件是中国互联网的大事,随便搜搜就能找到大量的信息,新闻+流言满天飞。其中Google的官方声明中提到,包括Google在内的30多家公司受到来自中国的攻击,就是利用了IE 0day的漏洞,并得到微软证实,后者发布补丁。 今天看到了传说中的攻击代码,贴如下, <!--var var_comment = COM
2010-04-05 17:29:00
939
转载 OpenTTD 1.0 发布,经营模拟游戏 (c++开发)
http://www.oschina.net/news/8220/OpenTTD-1.0.0-Download?from=20100405 OpenTTD 是 Microprose 发行的运输大亨豪华版(TTD) 的开源版。玩家扮演新成立的运输公司老板,通过建设铁路、公路、桥梁、机场、车站等设施,运输旅客、货物和各种自然资源的模拟经营游戏。游戏最终目标是通 过运输赚取最大利润,经过残
2010-04-05 10:36:00
463
原创 用 __attribute__((deprecated)) 来表示其deprecated
一个library通常要经过一番修改才会趋于完善,出现新的函数,淘汰老的函数,考虑到兼容性并鼓励其他开发人员修改,最好的办法是直接让他们在编译的时候知道,这是就需要用到一个deprecated的方法 举例:#define MARK_AS_DEPRECATED __attribute__((deprecated))string TooldFunc(const string&
2010-04-01 10:05:00
1300
转载 JavaScript挺入服务器端开发语言序列 [zz from oschina]
http://www.oschina.net/news/7791/javascript-in-server-develop-language?from=20100314 Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始。也许你还不知道,JavaScript现在已经成了一门可编写出效率极高的、可用于开发产品级web服务器的出色语言。
2010-03-15 16:37:00
385
原创 linux批量处理图片的利器 mogrify, pngcrush
linux批量处理图片的利器 mogrify, pngcrush这两个工具都直接linux下apt-cache就能获得了。 要改变大小和格式:比如在写web的时候,尽量不要改变图片大小,而用其原始尺寸显示,我们可能就需要把所有大小和格式不一的图片都转成一样的格式和大小,可以使用mogrify:ls * | xargs mogrify -format gif -resize 39
2010-03-15 11:28:00
1574
原创 html 5的3D俄罗斯方块(Torus)
http://www.benjoffe.com/code/games/torus/这个3d的俄罗斯方块很帅,用html 5实现
2010-03-15 11:12:00
385
原创 屏幕录像工具
屏幕录像是很有用的,比如对web front-end开发的程序员来说,能把demo录下来就可以show给老板或客户或其他相关人士看了,而不必每次都要必须起一个活的demo。收集一些有用的链接: Windows: http://mashable.com/2008/02/21/screencasting-video-tutorials/ Mac: http://www.tu
2010-02-22 16:44:00
299
原创 Python WSGI (Web Server Gateway Interface)
python WSGI的全称是Python Web Server Gateway Interface 简单的说:主要的思想就是有个gateway(或者说server) + middleware(中间件) + application各自有相应的接口,比如application被call的时候,需要返回迭代的结果(iterator),这样有利于gateway统一模式处理各种applic
2010-01-03 21:34:00
479
原创 readline与history,写一个像linux的能保存历史记录的shell
此篇只介绍保存历史部分readline/readline.hreadline/history.h// Usage:// g++ -o readline readline.cpp -lreadline//// ./readline// or// echo "hello" | ./readline#include #include #include
2009-12-31 13:15:00
1897
转载 35 个你也许不知道的 Google 开源项目
http://news.csdn.net/a/20091228/216088.html35 个你也许不知道的 Google 开源项目2009-12-28 09:33 | 6304次阅读 | 来源:谷奥 【已有6条评论】发表评论关键词:Google | 感谢ydj9931的提供 | 收藏这篇新闻Google是支持开源运动的最大公司之一,它们现在总共发
2009-12-29 11:24:00
293
原创 cpp里, 能否用int来替代bool? 这样bool类型就不需要了
拍脑袋容易想到用int来替代,1为true, 0为false. 呵呵,很遗憾,答案是不能 详见此精彩文章:http://www.gotw.ca/gotw/026.htm BoolDifficulty: 7 / 10Do we really need a builtin bool type? Why not just emulate it in the
2009-12-29 11:05:00
1654
1
原创 精简的emacs的工具 -- jed, zile
各位熟悉emacs操作的同仁们都一定很热爱emacs并且高度依赖以至于上瘾,鄙人就是如此如果只是改一下文件,并不需要高亮,那么emacs在启动的时候就显得慢了点用emacs -nw ?当然还是太慢,比vi不是慢一点两点啊。想要打开如vi般快捷且操作一样,介绍2款工具,他们的基本操作和emacs几乎一样,够用了。 jed安装方式:sudo apt-get install
2009-12-28 11:54:00
951
原创 linux shell 管道里边改变变量是无效的
------------------------------------------------------------#!/bin/shfn=$1fail=0 # 用管道方法cat $fn | while read line; do if [ $line == "haha" ]; then fail=1 break fidone
2009-12-28 11:46:00
1203
1
原创 用Google Code和SVN来进行Code Review和版本控制
有时候代码管理比较混乱,如果你想像一个正式项目一样,能不停地check in code,能追踪自己的每一次code change,能定期发布一定的稳定版本,能和多人合作开发,能不用担心代码丢失而不用花钱找空间,那么Google Code是颇为不错的选择。 1. 建立自己的projecthttp://code.google.com/hosting/createProject 假设
2009-08-30 19:33:00
2549
原创 使用scons构建编译环境
scons是非常好的build系统,可以用来代替Makefile,支持cpp和java 首先安装scons1.2,ubuntu自带的是0.97,如果最好synaptic里删掉 scons的文档很丰富,编译文件本身就是python,因此有很多很神奇的用法这边只介绍基本的用法 假设你的code和编译的文件是分开的,比如src和build假设你的include文件都是从某
2009-08-21 10:35:00
2246
原创 mutt发信时设定发件人邮箱的办法
建立 ~/.muttrcset envelope_from=yesset from=yourname@gmail.comset realname="yourname"set use_from=yes 测试一下比如往ttt2@gmail.com上发信 $ echo "test" | mutt -s "SUBJECT" ttt2@gmail.com就可
2009-08-17 09:50:00
1305
原创 如何合并两个vector? merge
#include #include #include using namespace std; int main() { vector vec1, vec2; vec1.push_back("aa"); vec1.push_back("bb"); vec1.push_back("cc"); vec2.push_back("dd"); ve
2009-08-04 18:57:00
3186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人