27

这个词熟悉很久了,却是不知道读音(我一直读:凯现,汗),不求甚解啊。

觊觎 jì yú
希望得到(不应该得到的东西)。

觊:希望得到。

自毁齿已上,父兄鬻卖,以觊其利。——柳宗元《童区寄传》

觎:非分的希望。

能官人,则民无觎心。——《左传》

By 馒头 \\ tags:

27

用yGuard混淆、编译后的class,类名被替换为256+个ascii,比如O,o,0等。这个是不是有点BT:

oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
.class

OS是windows 2008,当试图用jade反编译时,提示创建文件或文件夹错误的提示:文件名或扩展名太长。
后来网上搜索了一下,发现jode可以反编译,原因是jode是纯java编写。使用jode犯编译时,完全按照java代码规范进行。

将jode和yGuard混淆后的jar放在一起,或者都放在classpath下面。然后命令行执行:
java -classpath jode.jar jode.decompiler.Main program.jar > out.txt
将反编译后的代码输出到out.txt。

By 馒头 \\ tags: , , , ,

24

昨天开始阅读《重构-改善既有代码的设计》,发现自己的代码问题真多啊。看得我汗流浃背,今天试着重构了一下,代码结构的确清晰了不少,加油。

要注意的:不要在Class A中放只与Class B相关的方法。可惜俺常这么干:(

By 馒头 \\ tags: ,

24

function fetch_prefix_bar($forumid, $selectedid = '')
{
global
$vbulletin, $stylevar, $vbphrase;

$prefix_bar = ;
if (
$prefixsets = fetch_prefix_array($forumid))
{
foreach (
$prefixsets AS $prefixsetid => $prefixes)
{
foreach (
$prefixes AS $prefixid)
{
if (
$prefixid == $selectedid)
{
$prefix_bar .= “<td>”.htmlspecialchars_uni($vbphrase["prefix_{$prefixid}_title_plain"]).“</td>”;
}
else
{
$prefix_bar .= “<td><a href=\”forumdisplay.php?” . $vbulletin->session->vars['sessionurl'] . “f=$forumid&amp;prefixid=$prefixid\”>”.htmlspecialchars_uni($vbphrase["prefix_{$prefixid}_title_plain"]).“</a></td>”;
}
}
}
}

$x = ;
if (!empty(
$prefix_bar))
{
$x = “<td><a href=\”forumdisplay.php?” . $vbulletin->session->vars['sessionurl'] . “f=$forumid\”>$vbphrase[any_prefix_meta]</a></td><td><a href=\”forumdisplay.php?” . $vbulletin->session->vars['sessionurl'] . “f=$forumid&amp;prefixid=-1\”>$vbphrase[no_prefix_meta]</a></td>”;
}

return ‘<table class=”tborder” cellpadding=”6″ cellspacing=”1″ border=”0″><tr class=”thead”>’ . $x . $prefix_bar . ‘</tr></table>’;
}

$prefix_bar = fetch_prefix_bar($foruminfo['forumid'], $vbulletin->GPC['prefixid']);

钩子位置:forumdisplay_query_threadscount。

编辑模板:FORUMDISPLAY,在<!– / controls above thread list –>下面增加:$prefix_bar

效果如图:

前缀示例图

前缀示例图

By 馒头 \\ tags:

10

【原 书 名】 Refactoring: Improving the Design of Existing Code
【原出版社】 Pearson
【作 者】Martin Fowler 【译 者】 侯捷 熊节
【出 版 社】 中国电力出版社【I S B N】 9787508315546
【出版日期】 2003 年8月 【开 本】 16开 【页 码】 431 【版 次】1-1

软件工程领域的超级经典巨著,与另一巨著《设计模式》并称”软工双雄”,全美销量超过100000册,亚马逊书店五星书。
在本书中,作者Martin Fowler充分展示了何处可能需要重构,以及如何将不好的设计改造为良好的设计。
当对象技术成为老生常谈之后——尤其在Java编程语言之中,新的问题也在软件开发社区中浮现了出来。缺乏经验的开发人员完成了大量粗劣设计,获得的程序不但缺乏效率,也难以维护和扩展。渐渐地,软件系统专家发现,与这些沿袭下来的、质量不佳的程序共处,是多么艰难。对象专家运用许多技术来改善既有程序的结构完美性与性能,已有数年之久。

查找:《重构—改善既有代码的设计》

封面

By 馒头 \\ tags: , , , , ,