置頂隨筆
#
"你可以主觀地討厭它,但你永遠不能忽略它。" -- aw
作為一個技術人員,你可以因為潔癖,
而去討厭M$的霸權行徑,QQ的抄襲主義,
但是你卻絕對不能無視它的存在.
--- 這是現在自己的想法,以前曾經很bs qq的抄襲,
但是你不能否認它抄的很好,idea雖然是你的,但是你發揮的沒有它發揮的好.
以前我也是google的fan,但是現在我用的google的很多服務都慢慢被QQ侵蝕了.
GOOGLE是一個很偉大的公司,但是他的本地化..實在是太慢了..
2009年7月1日
#
摘要: http://atian25.javaeye.com/blog/413947
實際上就是YUI CHART, 具體的文檔可以看: http://developer.yahoo.com/yui/charts/
先上個圖:
代碼如下:
1.定義store
Code highlighting produced by Actipro CodeHighlighter (fr...
閱讀全文
1 var tabs = new Ext.TabPanel({
2 renderTo: 'tabs1',
3 width:450,
4 activeTab: 0,
5 frame:true,
6 defaults:{autoHeight: true},
7 items:[
8 {contentEl:'script', title: 'Short Text'},
9 {contentEl:'markup', title: 'Long Text'}
10 ],
11 initEvents : function(){
12 Ext.TabPanel.superclass.initEvents.call(this);
13 this.on('add', this.onAdd, this, {target: this});
14 this.on('remove', this.onRemove, this, {target: this});
15 this.mon(this.strip, 'mousedown', this.onStripMouseDown, this);
16 this.mon(this.strip, 'contextmenu', this.onStripContextMenu, this);
17 if(this.enableTabScroll){
18 this.mon(this.strip, 'mousewheel', this.onWheel, this);
19 }
20 //ADD:monitor title dbclick
21 this.mon(this.strip,'dblclick',this.onTitleDbClick,this);
22 },
23 //ADD: handler
24 onTitleDbClick:function(e,target,o){
25 var t = this.findTargets(e);
26 if (t.item.fireEvent('beforeclose', t.item) !== false) {
27 t.item.fireEvent('close', t.item);
28 this.remove(t.item);
29 }
30 }
31 });
2008年9月8日
#
試用了幾天的Chrome了,感覺不錯,期待插件接口的開放...
最新的Chrome的下載地址是:
http://build.chromium.org/buildbot/snapshots/chromium-rel-xp/
今天無聊,順便看了下Chrome的文件,路徑在C:\Documents and Settings\你的用戶名\Local Settings\Application Data\Google\Chrome\User Data\Default 下面,有個History文件.
用UE打開后發現是SQLITE文件,于是用SQLITE打開(下載地址:http://www.sqlite.org/sqlite-3_6_2.zip)
操作方法如下:
1)用sqlite3.exe打開History文件
2)用 .tables 命令可以看到有圖中幾個表,從名字我們可以看出有下載記錄,書簽,訪問記錄等等
3)用 .output starred.txt 把輸出重定向到文件
4)用 .dump starred 把書簽表導出
5)接著去找下starred.txt文件就OK了.
文件大致如下,熟悉sql的可以分析下結構(如type=2是文件夾,type=1/3是默認的,type=0是書簽)
可以通過這個辦法對書簽進行分組管理等轉換
1
BEGIN TRANSACTION;
2
3
CREATE TABLE starred (id INTEGER PRIMARY KEY,type INTEGER NOT NULL DEFAULT 0,url_id INTEGER NOT NULL DEFAULT 0,group_id INTEGER NOT NULL DEFAULT 0,title VARCHAR,date_added INTEGER NOT NULL,visual_order INTEGER DEFAULT 0,parent_id INTEGER DEFAULT 0,date_modified INTEGER DEFAULT 0 NOT NULL);
4
5
INSERT INTO "starred" VALUES(1,1,0,1,'書簽欄',12864879599272250,0,0,12864903712413875);
6
INSERT INTO "starred" VALUES(2,3,0,2,'其他書簽',12864879599273250,0,0,12864901410029375);
7
INSERT INTO "starred" VALUES(29,0,3825,0,'Gmail',12864881762934500,1,5,0);
8
INSERT INTO "starred" VALUES(30,0,438,0,'Google Reader',12864881840111125,3,5,0);
9
INSERT INTO "starred" VALUES(31,0,3833,0,'Google Docs',12864881878751125,2,5,0);
10
INSERT INTO "starred" VALUES(32,2,0,5,'Google',12864881893109125,0,1,12864898849435375);
11
INSERT INTO "starred" VALUES(35,2,0,7,'Book',12864882141057000,3,1,12864891426123000);
12
13
CREATE INDEX starred_index ON starred(id,url_id);
14
COMMIT;
導入的方法也差不多,把用.import指令。熟悉sql命令的人都知道怎么弄了,用.help可以看到sqlite支持的命令
示例圖:
ps:囧...該文章用CHROME寫的..發布按鈕按了無效...復制到IE7去發布了..
ps2:最新的
Chromium數據存在:Local Settings\Application Data\Chromium\User Data\Default 下,書簽存在Bookmarks文件里面,不再存在History里面.
該文件格式如下:
1 {
2 "roots": {
3 "bookmark_bar": {
4 "children": [ {
5 "date_added": "12865419024859500",
6 "name": "Google",
7 "type": "url",
8 "url": "http://www.google.cn/"
9 } ],
10 "date_added": "0",
11 "date_modified": "12865419024859500",
12 "name": "\u4E66\u7B7E\u680F",
13 "type": "folder"
14 },
15 "other": {
16 "children": [ ],
17 "date_added": "0",
18 "date_modified": "0",
19 "name": "\u5176\u4ED6\u4E66\u7B7E",
20 "type": "folder"
21 }
22 },
23 "version": 1
24 }
25
2008年6月27日
#
【6月25日 CSDN 付江/編譯】國外開發者博客中有一篇有趣的文章,
將程序員按水平像軟件版本號那樣劃分為不同的版本。相對于在招聘時分為初級,中級,高級程序員,直接表明需要某種語言N版本的程序員或許更方便直接。
根據作者的觀點,可將WEB開發者大致分為以下幾個版本:
Alpha:閱讀過一些專業書籍,大多數能用Dreamweaver或者FrontPage幫朋友制作一些Web頁面。但在他們熟練掌握HTML代碼以前,你大概不會雇傭他們成為職業的WEB制作人員。
Beta:已經比較擅長整合站點頁面了,在HTML技巧方面也有一定造詣,但還是用Tables來制作頁面,不了解CSS,在面對動態頁面或數據庫連接時還是底氣不足。
Pre Version 1
(0.1):比Beta版的開發者水平要高。熟悉HTML,開始了解CSS是如何運作的,懂一點javascript,但還是基于業余水準,逐步開始關心
動態站點搭建和數據庫連接的知識。這個版本的WEB開發人員還遠不能成為雇主眼中的香餑餑。
1.0: 能夠基本把控整個站點開發,針對每個問題盡可能的找到最直接的解決辦法。但對可測性,可擴展性以及在不同(層)框架下如何選擇最合適的WEB設計工具尚無概念。這個版本的WEB開發者有良好的技術基礎,需要有進一步的幫助和指導。
2.0:懂面向對象的編程語言,理解分層開發的必要性,關注代碼分離,對問題尋找更完美的解決方法,偶然也會考慮設計模式的問題,但對此仍然概念不清。屬
于優秀的初級開發者,能完成較松散的代碼開發(相對大型嚴謹的站點開發而言),在面對較復雜問題尋找解決辦法時需要周邊人的幫助。
3.0:開始較為深入的理解面向對象編程和設計模式,了解他們的用途,當看到好的設計模式時能看透其本質,逐步關注分層的架構解決辦法和可測試性。理解不
同的開發語言并能說出他們的異同(例如各自的優勢)。屬于優秀的中級別開發者,雇主也確信他們最終能找到問題的解決辦法,這個版本的人可以給1.0和
2.0的開發者以指導。但他們對架構的理解仍然不夠清晰,值得一提的是,只要給予一些指導,他們能很快理解并熟記做出的決定,以及選定方案的優勢所在。
4.0:理解模式,重視用戶的反饋。著手研究方法論,架構設計和軟件開發的最佳入口。頭腦中已經形成了超越開發語言,技術架構的整體方案,可根據需求解構
程序。能從理論的角度,不同模式如何融合成最佳形態,將多種X-驅動的模式應用到不同的方案中。是精通多語言的高手,理解不同系統和方法論的細微差別,屬
于高級程序員。這個級別的人能夠輕易的輔導2.0和3.0的程序員,將他們推向更高的級別。
5.0:從系統的角度考慮問題。對各種系統結構有深入研究,能對整個代碼架構中的問題進行改進。在團隊粘合性以及代碼安全性方面有杰出貢獻。對1.0到
4.0版本的開發人員出現的問題能及時察覺,讓整個團隊保持積極性且保持興奮的狀態創建軟件解決辦法。舉例來說,他們總是對新的技術和信息保持饑渴狀態,
試圖用最簡便的方案解決開發任務。在整個IT團隊中獲得信任,屬于高級程序員和架構師。
2008年3月27日
#

珊瑚蟲作者,北京理工大學的陳壽福剛剛獲得了三年的有期徒刑,就有無數的支持者要聯合起來"杯葛(B0yc0tt)"騰訊。請原諒我用了"杯葛"這個詞,因為我認為,它在某些時候顯得不可取代。
看看這篇報道(http://www.awflasher.com/blog/archives/1229),你就會明白騰訊有多么強大了。我想,百度的IM向騰訊挑戰沒什么勝算。
來自騰訊2007的Q4報告與年報(總結(原文為英文,我這里翻譯、整理了一下):
- 活躍用戶:3億
- 這是一半以上的中國網民
- 這是美國的人口總合
- 收入:5.23億美元
- 這是Facebook的四倍(Facebook為1.5億美元) - 這是中國人民的力量(不許聯想!)
- 這是從IM和虛擬社區、虛擬裝備中獲得的直接收入。(美國的女孩是不會花錢買一件只能掛在屏幕上的"性感睡衣"的,所以Benjamin建議《經濟學家》等媒體能從硅谷爬出來看看太平洋的這一邊)
- 營業利潤:2.24億美元
- Facebook去年虧損了5000萬美元
- 收入來源
- 互聯網服務(虛擬商品、網絡游戲):3.44億美元,66%
- 移動業務:1.10億美元,21%
- 在線廣告:6700萬美元,13%
- 女士們,先生們:QQ的在線廣告之賺到13%的利潤,而MySpace的收入幾乎全部來自于廣告!可憐的MySpace......我不忍心稱互聯網服務為"虛擬商品",因為它們已經是貨真價實的真金白銀了。
歸納起來很簡單:
- 中國人會花掉半個月的工資買一件QQ秀的衣服,也不會去花錢享受Flickr的服務。我不想討論這些服務彼此誰更有價值,只怕因此而幫了倒忙。
- 中國人喜歡在一棵樹上吊死。在中國,喝腦白金的人往往會喝一輩子腦白金。(當然,QQ比腦白金那是天壤之別,我只是打個比方)
當然,我也非常不喜歡那些動輒問候馬化騰家人的人,畢竟這樣顯得很沒素質。
無論如何,這就是中國互聯網的現狀。不過Benjamin甚至還建議Facebook和MySpace學習QQ出售虛擬商品。當我看到
"Facebook / MySpace and others also have a largely untapped market: digital goods."這句話的時候,我真的懷疑這哥們在亞洲呆太久了。
JOKE:當然,我個人是非常希望騰訊這架賺錢機器能跨越太平洋登陸美利堅,去美國人民那里賺點銀子回來報效祖國。
"冒著生命危險"的題外話,就不輸出到RSS了:我看了在Digg的兩篇關于杯葛xx會的文章都made popular了(也就相當于上了報紙"頭條"),感到很心寒。不過有幾段評論我覺得可以引用一下:
If you want to do your part, B0yc0tt the sponsors:
The Coca-Cola Company
Atos Origin
The Eastman Kodak Company
GE
John Hancock
Johnson & Johnson
Lenovo
McDonald's
Omega
Panasonic
Samsung
Visa
After the B0yc0tt of the 0ly**pics in 1980 for the
Russian games after the invasion of Afghanistan it's fairly clear that
a B0yc0tt really only impacts the athletes. Still, given the massive
investment that the Chinese have made into these current games this may
in fact finally be a good time to do this if we want to make our
displeasure known.
"The sportive, knightly battle awakens the best human
characteristics. It doesn't separate, but unites the combatants in
understanding and respect. It also helps to connect the countries in
the spirit of peace. That's why the 0ly**pic Flame should never die."
-- Adolf Hitler, commenting on the 1936 Berlin 0ly**pic Games
永久鏈接 : http://www.awflasher.com/blog/archives/1229
哇!跟我一樣,您也是一名Firefox用戶,這些話題您可能感興趣:
2008年3月26日
#
2006年6月19日
#
2006年5月30日
#
在js其他地方都很簡單的/i忽略大小寫...
在java里面我找了半天沒發現.. 最后去sun的forum才找到答案
如匹配 AbC不區分大小寫是 (?i)abc
其中(?i)的位置任意.
文檔如下, 摘自Pettern類的javadoc
Special constructs (non-capturing)
|
(?:
X
)
|
X, as a non-capturing group |
(?idmsux-idmsux)
|
Nothing, but turns match flags on - off |
(?idmsux-idmsux:
X
) |
X, as a non-capturing group with the given flags on - off |
(?=
X
)
|
X, via zero-width positive lookahead |
(?!
X
)
|
X, via zero-width negative lookahead |
(?<=
X
)
|
X, via zero-width positive lookbehind |
(?<!
X
)
|
X, via zero-width negative lookbehind |
(?>
X
)
|
X, as an independent, non-capturing group |
不過沒怎么看懂
idmsux-idmsux的意思
2006年4月27日
#
在JR的DOC中看到一句話:
final變量是會經過預編譯優化的,因此定義為final變量就沒有跨平臺的能力了。
記下了
2006年4月8日
#
1.JRUN4+Patch6, jdk1.5
2.突然不給我重新生成網頁了.... 把jsp目錄刪除后無法重新生成class
3.改了個jsp都得重啟才能重新生成....
4.session里面放了個dd,然后重啟jrun服務,竟然還存在session中....
弄了半天..g了下也沒解決... 暈呀...
算了,明天找下jrun的技術支持吧.