05

文字的韵味,加上美食的诱惑, hoto 团子在芒种这一天,开始内测了!

欢迎 follow 团子的 twitter:
@projectdango

关于 hoto 团子: http://www.hoto.cn/about

慢隐于市,你是否有坐下来看时光消逝的勇气?

你是否怀念这样的晨?
在市场里踩着从竹筐里漏下的时蔬的新露水,
栀子花和小菜叶被快手翻拣的大妈拨倒在地上,
身边的老太太慢吞吞张望地散发着慈祥的香味,
小女孩钻进人群捡起一只和猫妈失散的小绒球,
吆喝的大叔夫妇在砧板前互相擦着油亮的手。

你是否拥有这样的爱?
... (全文...)

26

在 linux shell 下经常使用的一个命令组合: grep [-v] "filter" filePath | tail -n needLines,用来查看文件中符合条件的最后 n 行记录,尤其在监控 server 的 log 的时候。
现在有一个需求:从 web 管理后台向 search server 发送一个 stat 命令,查看搜索索引的各项统计信息,其中就包括索引更新,查询的 log 的最后 n 条记录。于是需要在 search server 里实现这样一个功能。

PS:如果是 php,我肯定会选用 exec 一条外部 shell 命令,获取命令的输出 的方式来做,但 java,只好自己动手,重复发明轮子了。
PS2:stl 的 rotate 代码真是太精炼了。有空需要多看看(全文...)

26

20号从 paypal 上直接付美元 $50,但抢注的那个gg一直没有给转域名。26号终于收到邮件,通知去 MaxRegistrar.com 完成域名转移确认。顺便给续费到了 2019 年 (Cost:$84.51,但招行通知扣了 $82.56 ?

接下来需要找一个靠谱点的 nameserver ,然后把域名 cname 到 tangfl.yo2.cn 上来。

whois:

Domain ID:D155788332-LROR
Domain Name:FULIN.ORG
Created On:02-Apr-2009 14:30:36 UTC
Last Updated On:26-May-2009 03:46:47 UTC
Expira ... (全文...)

11

测试代码:http://code.google.com/p/fulin/source/browse/JAVA/lucene/imobile/search2/src/search/test/IndexTest.java

结论:

1。lucene 索引删除条目的时候(不 调用 optimize),会修改索引目录的以下文件:segments.gen, segments_N, ***.del

2。lucene 索引目录发生改变后,如果不 reopen index reader,则改变对于 searcher 来说是不可见的。(甚至可以将 idx 目录删除,searcher 仍然能返回结果。测试:idx 目录大小为 1.2G,删除目录后, searcher 搜索热门词仍然正常返回结果,返回结果条数超过4万条)

... (全文...)
07

有道难题之解迷游戏http://www.youdao.com/nanti/mi/),老高昨天给我发链接的时候稍微看了看,可是不太擅长于做这种脑筋急转弯类的题目,所以也就没有深究。唯一让我有点兴趣的,无非是好奇后面那些题目都是些什么罢了(初始状态下只能看到开头3道题目,每解出一道,就能多看一道)。

因为好奇,所以想了想这样的情况该如何解决。首先,肯定不能按部就班的猜迷——如果能猜谜,我还想这么多干嘛;接下考虑的就是如何破解。题目是 flash 格式的,那么无非有两种情况:1,答案就在加密了的客户端内部;2,每次回答 ... (全文...)

28

Lucene 索引滚动流程设计

TangFulin <tangfulin@gmail.com>

一. Index Writer:

1. 这里的 Writer 包括 Index Updater 和 Index Rebuilder ,但 Rebuilder 产生的索引文件不直接传送给 Searcher 使用,
而是覆盖 Updater 的索引,由 Updater 统一处理后续的流程

2. IndexUpdaterScheduler 每隔一段时间会设置 copy out timer 标识。

3. Updater 每次处理完一批 xml 文件后会查看 copy out timer 标识是否已经被设置,
如果是,则将当前的索引拷贝一份到 src-snap 目录下 yyyyMMddHHmm 格式的子目录中

4. Updater 为单线程,每次处理完一批 xml 后都会调用 optimizeAndCloseIdx ,所以可以保证 idx 数据是完整的

... (全文...)

24

假设我们定义了一个变量为:

file=/dir1/dir2/dir3/my.file.txt

我们可以用 ${ } 分别替换获得不同的值:

  • ${file#*/}:拿掉第一条 / 及其左边的字串:dir1/dir2/dir3/my.file.txt
  • ${file##*/}:拿掉最后一条 / 及其左边的字串:my.file.txt
  • ${file#*.}:拿掉第一个 . 及其左边的字串:file.txt
  • ${file##*.}:拿掉最后一个 . 及其左边的字串:txt
  • ${file%/*}:拿掉最后一条 / 及其右边的字串:/dir1/dir2/dir3
  • ${file%/*}:拿掉第一条 / 及其右边的字串:(空值)
  • ${file%.*}:拿掉最后一个 . 及其右边的字串 ... (全文...)
22

RSync 算法是澳大利亚人 Andrew Tridgell (samba的作者)发明的,按照 Andrew Tridgell 自己的话,这个算法只需要半个小时就能够理解,但是花费了他几年时间才研究出来。

Rsync 算法大概原理:(目标:把 HostA 上的FileNew 同步到 HostB 上 FileOld)

1) Host-B把File-Old划分成不重合的大小为K字节的若干块,不足K字节的结尾部分加上Padding,然后对每一块求弱Hash和强Hash。弱Hash就是说很有可能 ... (全文...)

17

机器配置:

uname -a :

Linux eshequn-SV06-A11 2.6.21.5-smp #1 SMP Sun Jan 27 23:51:02 CST 2008 i686 Intel(R) Xeon(TM) CPU 3.06GHz GenuineIntel GNU/Linux

cpuinfo:

processor        : 2
model name    : Intel(R) Xeon(TM) CPU 3.06GHz

meminfo:

MemTotal:      6234308 kB

disk info:

/dev/sda1 on / type reiserfs (rw,noatime)

lucene 配置

writer = new IndexWriter(indexDir, paodingAnalyzer, true, IndexWriter.MaxFieldLength.UNLIMITED);
writer.setMaxBufferedDocs(10000);
writer.setUseCompoundFile(true);

(全文...)

07

fulin.org 域名遭恶意抢注,愤怒却又无可奈何。重新注册了 fullin.org ,中间多了一个 L 。

其实我从年后就开始折腾域名的事情了。域名是在新网注册的,而当初注册 birdring.org 的时候,在万网里留了320块钱。于是就想把域名转到万网,用余下的钱来续费。可是找了半天,还是没有找到如何转域名,甚至用记忆中的用户名和密码都无法登录新网了。打新网的客服电话也没有用,一大断的语音提示,平白浪费电话费罢了。

稍微一犹豫,域名进入了赎回期。这个时候在 whois 记录上看到有 update 操作,难道是新网或者代理商自己续费了?我很愤怒的在新 ... (全文...)