面試官:熟悉哪種語言
應(yīng)聘者:Java。
面試官:你會Hibernate嗎
應(yīng)聘者:知道,動物冬天經(jīng)常Hibernate,但我從來不冬眠
面試官:tomcat了解么
應(yīng)聘者:小時(shí)看過。現(xiàn)在也喜歡看
面試官:用過 apache 的東西嗎
應(yīng)聘者:沒有,我沒開過也沒座過直升機(jī)。
面試官:知道什么叫class么
應(yīng)聘者:不知道。
面試官:知道什么叫類么
應(yīng)聘者:我這人實(shí)在,工作努力,不知道什么叫累
面試官:知道什么是接口嗎?
應(yīng)聘者:我這個(gè)人工作認(rèn)真。從來不找借口偷懶
面試官:知道什么是package?
應(yīng)聘者:不知道。
面試官:知道什么是包?
應(yīng)聘者:我這人實(shí)在 平常不帶包 也不用公司準(zhǔn)備了
面試官:知道什么叫對象么?
應(yīng)聘者:知道,不過我工作努力,上進(jìn)心強(qiáng),暫時(shí)還沒有打算找對象。。
面試官:知道什么是繼承么
應(yīng)聘者:我是孤兒沒什么可以繼承的
面試官:你知道google是干什么的么?
應(yīng)聘者:等我先百度一下。
posted @
2007-05-19 11:27 金大為 閱讀(175) |
評論 (0) |
編輯 收藏
最近在搞JSI 的重構(gòu),少來冒泡了。
發(fā)一個(gè)中午的剛用到的小技巧:
在關(guān)機(jī)效果實(shí)現(xiàn)上,現(xiàn)在一般根據(jù)瀏覽器特征分別使用 慮鏡/樣式/圖片 去模擬。
其中Opera是不支持網(wǎng)頁透明的,只能用png的alpha透明模擬。
所以,我們需要一張?zhí)貏e的小圖片。一個(gè)象素,alpha透明。
但是這個(gè)單象素圖片的出現(xiàn),感覺有點(diǎn)怪怪的,而且當(dāng)網(wǎng)速很慢的時(shí)候,裝載這個(gè)小圖片還會延遲,效果不好。
不過,Opera的另外一個(gè)特性,可以避免這個(gè)問題:data:協(xié)議的支持。
對于這種小圖片,完全可以編碼到樣式里面
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mM4ffp0AwAHqALiYeNxSgAAAABJRU5ErkJggg==)
好了,如此一來,關(guān)機(jī)效果的實(shí)現(xiàn),就沒有圖片這個(gè)累贅了。
圖片的生成:
圖片的生成,浪費(fèi)我一個(gè)中午的時(shí)間:(
開始本想找個(gè)軟件做掉,最后沒發(fā)現(xiàn)一個(gè)如意的,干脆,自己看看api,自己寫了一下:
代碼如下:
public static void main(String[] args) throws IOException {
BufferedImage image = new BufferedImage(1, 1,
BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = image.createGraphics();
// RGBA #cccccc80
g2d.setColor(new Color(0xcc, 0xcc, 0xcc, 0x80));
g2d.fillRect(0, 0, 1, 1);
g2d.dispose();
IIOImage iioImage = new IIOImage(image, null, null);
ImageTypeSpecifier type = ImageTypeSpecifier
.createFromRenderedImage(image);
ImageWriter writer = (ImageWriter) ImageIO.getImageWriters(type, "png")
.next();
ByteArrayOutputStream out = new ByteArrayOutputStream();
writer.setOutput(ImageIO.createImageOutputStream(out));
writer.write(null, iioImage, null);
BASE64Encoder encoder = new BASE64Encoder();
String result = encoder.encode(out.toByteArray()).replaceAll("[\r\n]",
"");
System.out.println("data:image/png;base64," + result);
}
需要其他顏色,自己修改一下代碼即是。
posted @
2007-05-18 15:30 金大為 閱讀(1300) |
評論 (1) |
編輯 收藏
第一次見到媒體的關(guān)注,精神為之一振。
^_^
一定好好做,不讓關(guān)注她的人群失望:)
posted @
2007-05-16 13:09 金大為 閱讀(143) |
評論 (0) |
編輯 收藏
想想,自己從事JSI的開發(fā)已經(jīng)一年多了。
一直沒能找到合適的伙伴,就這么一個(gè)人走過來。
說累,主要不是身體上的累,時(shí)間自己可以控制。
一年前,無意間有了個(gè)自以為可以的想法,投入了一年多的時(shí)間(包括在家休養(yǎng)的半年),產(chǎn)品卻一直沒能正式發(fā)布,這個(gè)時(shí)候才體會到理想和現(xiàn)實(shí)的距離;
加上年齡和身體的因素,真想放下,又放不下。不想看著自己依然認(rèn)為不錯(cuò)的想法,就這么湮滅。也不想看著自己一年多的心血付諸東流。
有時(shí)候,不想再忍受這種寂寞了,想找個(gè)人去接手它,可是自己的圈子里更本就又沒有合適的人選,這個(gè)時(shí)候才發(fā)現(xiàn),自己是多么的孤獨(dú)。
偶爾碰見以前的朋友,上前一問,忙啊,無暇顧及,也難怪,干我們這行的有幾個(gè)閑人;
偶爾碰到個(gè)有空的,這年月,沒錢的事情誰干啊。開源的東西,拿來用用就是,何必自己這么投入。
嘗試著到網(wǎng)上去宣傳宣傳,然而,同樣沒什么希望。
甚至連你的宣傳帖子也當(dāng)作廣告處理了;
也難怪,天下熙熙,皆為利來,天下攘攘,皆為利往。
人家媒體的版面寸塊寸金。你一個(gè)蠅頭小生,在我們這里大肆宣傳一個(gè)不知所云的東西,是何居心。
有人說,要為自己的行為付出代價(jià),可我今天,為自己的想法付出了代價(jià)。
不要胡思亂想了,小小程序員,要為自己的思想付出代價(jià)的。
posted @
2007-05-14 13:10 金大為 閱讀(317) |
評論 (10) |
編輯 收藏
發(fā)布了一段時(shí)間JSI2預(yù)覽版了,下一步準(zhǔn)備JSI2Alpha版開發(fā)。
主要任務(wù)有:
1、優(yōu)化依賴管理模塊。
2、完善日志輸出功能。
3、清理現(xiàn)有bug。
預(yù)計(jì)需要3周左右時(shí)間。
按需裝載的優(yōu)化、JSDoc的完善、將推后。
示例裝飾器將暫時(shí)停止更新。
posted @
2007-05-13 13:14 金大為 閱讀(78) |
評論 (0) |
編輯 收藏
Spinner(微調(diào)器)裝飾器開發(fā):
組件介紹:
仿照 window時(shí)間日期管理中,年份調(diào)節(jié)的控件,原型是一個(gè)文本輸入筐,一般用于數(shù)字輸入。筐后有上下微調(diào)按鈕,用于增減控件值。
這種控件在backbase框架中也有出現(xiàn),JSI的spinner就是仿照其外形設(shè)計(jì)。
顯示效果:

在線演示見:http://www.xidea.org/project/jsi/decorator/spinner.html
代碼:
org/xidea/decorator/spinner.js
-
-
-
-
-
-
-
- function Spinner(){
- }
-
- Spinner.prototype = new Decorator();
- Spinner.prototype.decorate = function(){
- this.start = parseInt(this.attributes.get('start'))
- this.end = parseInt(this.attributes.get('end'))
- this.step = parseInt(this.attributes.get('step'))||1;
- var container = this.getContainer();
- var table = document.createElement('table');
- var outerDiv = document.createElement("div");
- var upDiv = document.createElement("div");
- var downDiv = document.createElement("div");
- table.border = 0;
- table.cellSpacing=0;
- table.cellPadding=0;
- container.insertBefore(table,container.firstChild);
- var row = table.insertRow(0);
- var cell = row.insertCell(0);
- var ele = table.nextSibling;
- do{
- container.removeChild(ele);
- cell.appendChild(ele);
- }while(ele = table.nextSibling)
- cell = row.insertCell(1);
- cell.style.verticalAlign = 'middle',
- cell.appendChild(outerDiv);
- outerDiv.style.position = 'relative'
- outerDiv.style.top = '0px'
- outerDiv.style.left = '0px'
- outerDiv.style.height = '0px'
- outerDiv.style.width = '0px'
- outerDiv.style.zIndex= 2;
-
- outerDiv.appendChild(upDiv);
- initializeHandleDiv(this,upDiv);
- outerDiv.appendChild(downDiv);
- initializeHandleDiv(this,downDiv);
-
- }
- Spinner.prototype.jump = function(offset){
- if(offset){
- var input = this.getContainer().getElementsByTagName('input')[0];
- var value = value = input.value * 1 + offset*this.step;
- if(value>this.end){
- value=this.end;
- }else if(value<this.start){
- value = this.start;
- }
- input.value = value;
- }
- }
-
-
-
- var imagePath = 'url("'+this.scriptBase + 'spinner.gif")';
-
-
-
- function initializeHandleDiv(spinner,handleDiv){
- var position = 0;
- var style = handleDiv.style;
- style.backgroundImage=imagePath;
- style.position='absolute';
- style.width='12px';
- style.height='8px';
- style.margin='1px';
- style.left = '-14px'
- style.overflow = 'hidden'
- if(handleDiv.previousSibling){
- style.backgroundPosition = '0 -32px';
- position = -32;
- style.top = '0px'
- }else{
- style.top = '-10px'
- }
- handleDiv.onmouseout = buildMouseHandle(spinner,position,0)
- position -= 8;
- handleDiv.onmouseup=handleDiv.onmouseover = buildMouseHandle(spinner,position,0)
- position -= 8;
- handleDiv.onmousedown = buildMouseHandle(spinner,position,0)
- handleDiv.onclick = buildMouseHandle(spinner,position,position<-32?-1:1)
- }
-
-
-
- function buildMouseHandle(spinner,imagePosition,offset){
- imagePosition = '0 '+imagePosition+'px';
- return function(){
- this.style.backgroundPosition = imagePosition;
- spinner.jump(offset);
- }
- }
使用方法見在 基于FCKEditor 開發(fā)JSI Editor裝飾器已有詳細(xì)介紹,不再敘述。
見:http://www.javaeye.com/article/79063 |
評論也很精彩,請點(diǎn)擊查看精彩評論。歡迎您也添加評論。查看詳細(xì) >>
JavaEye推薦
杭州:外企高薪聘請系統(tǒng)維護(hù)工程師(10-15K)
杭州:國內(nèi)大型網(wǎng)絡(luò)公司高薪招聘系統(tǒng)架構(gòu)師,資深JAVA開發(fā)工程師
北京:優(yōu)秀公司NHNChina招聘:WEB開發(fā),系統(tǒng)管理,JAVA開發(fā), DBA
廣州:急招 JAVA開發(fā)經(jīng)理/系統(tǒng)架構(gòu)師(10-15K/月)也招聘java程序員
文章來源:
http://jindw.javaeye.com/blog/79064
posted @
2007-05-12 11:17 金大為 閱讀(70) |
評論 (0) |
編輯 收藏
基于FCKEditor 開發(fā)JSI Editor裝飾器:
組件介紹:
JSI Editor裝飾器,是一個(gè)用于可視化html編輯的組件(當(dāng)能,將來也可考慮其他格式,如ubb),在標(biāo)記設(shè)計(jì)上,參照Mozilla XUL的editor標(biāo)記。而具體實(shí)現(xiàn)上,使用FCKEditor。
效果:

裝飾器實(shí)現(xiàn)代碼:
-
-
-
-
-
-
- function Editor(){
-
- }
- Editor.prototype = new Decorator();
- Editor.prototype.decorate = function(){
- var container = this.getContainer();
- var textarea = container.getElementsByTagName('textarea')[0];
- var fckEditor = new FCKeditor(textarea.name);
- var src = this.attributes.get('src');
- if(src){
- new Request(src,
- {asynchronous:true}).setFinishListener(function(){
- textarea.value = this.getText()||textarea.value;
- fckEditor.ReplaceTextarea();
- }).send();
- }else{
- fckEditor.ReplaceTextarea();
- }
- }
裝飾器定義代碼:
裝飾器定義其實(shí)就是普通類庫定義,沒有任何區(qū)別。
-
- this.addScript("editor.js",'Editor');
- this.addObjectDependence("*",
- "js.html.Decorator",true);
- this.addObjectDependence("Editor",
- "js.io.Request",false);
- this.addObjectDependence("Editor",
- "net.fckeditor.FCKeditor",false);
使用方法:
使用JSI裝飾器,需要在頁面上做如下處理:
- 增加命名空間(xmlns:d="http://www.xidea.org/taglib/decorator")
- 加入JSI引導(dǎo)腳本(<script src="../scripts/boot.js"></script>)
- 加入所用裝飾器的標(biāo)記
簡單示例:
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:d="http://www.xidea.org/taglib/decorator" xml:lang="zh_CN"
- lang="zh_CN">
- <head>
- <script src="../scripts/boot.js"></script>
- <title>Editor 示例</title>
- </head>
- <body>
- <d:editor>
- <textarea name='editorText'>
- 待編輯html:<br>
- This is some <strong>sample text</strong>. <br>
- You are using <a href="http://www.fckeditor.net/">FCKeditor</a>.<br>
- </textarea>
- </d:editor>
- </body>
- </html>
總結(jié):
JSI 裝飾器是一個(gè)新事物,如果要一切從零開始,是一個(gè)艱巨的任務(wù);但是,借助于JSI無侵入的特性,我們可以集百家之長。在前人豐厚的積累上,創(chuàng)造出更加簡單易用的ui 組件集。
海納百川,有容乃大。 |
評論也很精彩,請點(diǎn)擊查看精彩評論。歡迎您也添加評論。查看詳細(xì) >>
JavaEye推薦
杭州:外企高薪聘請系統(tǒng)維護(hù)工程師(10-15K)
杭州:國內(nèi)大型網(wǎng)絡(luò)公司高薪招聘系統(tǒng)架構(gòu)師,資深JAVA開發(fā)工程師
北京:優(yōu)秀公司NHNChina招聘:WEB開發(fā),系統(tǒng)管理,JAVA開發(fā), DBA
廣州:急招 JAVA開發(fā)經(jīng)理/系統(tǒng)架構(gòu)師(10-15K/月)也招聘java程序員
文章來源:
http://jindw.javaeye.com/blog/79063
posted @
2007-05-12 10:51 金大為 閱讀(89) |
評論 (0) |
編輯 收藏
<script>
var test1 = 1;
function test1(){};//函數(shù)申明不能覆蓋變量申明?
alert(test1);
</script>
<script>
var test2 = 1;
eval('function test2(){};');
alert(test2);//函數(shù)申明怎么又覆蓋了變量申明?
</script> |
評論也很精彩,請點(diǎn)擊查看精彩評論。歡迎您也添加評論。查看詳細(xì) >>
推薦相關(guān)文章:
ext應(yīng)用載圖,PP幾張~
云想衣裳花想容--JSI組件模型介紹(一)
JavaEye推薦
杭州:外企高薪聘請系統(tǒng)維護(hù)工程師(10-15K)
杭州:國內(nèi)大型網(wǎng)絡(luò)公司高薪招聘系統(tǒng)架構(gòu)師,資深JAVA開發(fā)工程師
北京:優(yōu)秀公司NHNChina招聘:WEB開發(fā),系統(tǒng)管理,JAVA開發(fā), DBA
廣州:急招 JAVA開發(fā)經(jīng)理/系統(tǒng)架構(gòu)師(10-15K/月)也招聘java程序員
文章來源:
http://jindw.javaeye.com/blog/78277
posted @
2007-05-09 17:21 金大為 閱讀(87) |
評論 (1) |
編輯 收藏
JSA 1.0 Alpha發(fā)布,壓縮效率提高大約10%
壓縮算法改進(jìn):
實(shí)現(xiàn)了自己的文本壓縮算法
優(yōu)化了語法壓縮
- 合并連續(xù)var申明,
- 刪除了多余var申明,
- 刪除了多余大括弧({、}),
- 刪除了多余分號(;)。
UI改進(jìn):
- 自動編碼識別
- 支持文件拖放
- 支持JAVA1.4.2+ 當(dāng)jar打開方式為java時(shí),可雙擊運(yùn)行,但,若JAR打開方式被修改(如winrar),請使用如下方式:
CMD>java -jar xx.jar
- 格式化
注釋只能在各語句之間,插在語句中間的注釋有可能丟失,在格式化的時(shí)候,算bug吧。
- 壓縮參數(shù)設(shè)置
操作->設(shè)置: 執(zhí)行語法壓縮:將替換局部變量,刪除冗余語法。 執(zhí)行文本壓縮:將腳本文本分詞、替換壓縮。執(zhí)行時(shí)可通過eval( 解壓函數(shù)() )方式還原。 兼容IE5、NS3:老版本的瀏覽器對正則表達(dá)式支持優(yōu)先,是否需要兼容他們(需要采用稍微復(fù)雜一點(diǎn)的解壓函數(shù))。 執(zhí)行文本壓縮的條件設(shè)置:設(shè)置何時(shí)采用文本壓縮,有兩項(xiàng),比率要求和大小要求;因?yàn)閑val是需要額外開銷的,所以,只有當(dāng)文本壓縮的比率小于指定值且文件大小大于指定值時(shí)才采用文本壓縮。
ANT Task
- 默認(rèn)編碼 :取JRE的默認(rèn)編碼,可能隨機(jī)器不同而改變,所以,推薦手動指定器編碼方式(eg:charset="utf-8"/charset="GBK")
- jsicompile 任務(wù):編譯JSI (壓縮,預(yù)裝載編譯,定制啟動文件)
- jscompress 壓縮腳本
ANT Task 示例
jsicompiler 示例(處理JSI及其集成的第三方腳本)
<target name="compress" depends="init"> <jsicompiler destDir="ant/temp/script2" charset="utf-8" rebuildboot="true"> <fileset dir="web/scripts"> <include name="*/**/*.js" /> <include name="*.js" /> <exclude name="preload/**" /> </fileset> <preloadgroup path="code-decorator.js"> <fileset dir="web/scripts"> <include name='js/io/__$package.js' /> <include name='js/io/request.js' /> <include name='js/io/writer.js' /> <include name='js/xml/__$package.js' /> <include name='js/xml/template.js' /> <include name='js/xml/tag.js' /> <include name='js/util/__$package.js' /> <include name='js/util/collections.js' /> <include name='org/xidea/syntax/__$package.js' /> <include name='org/xidea/syntax/syntax-parser.js' /> <include name='org/xidea/decorator/__$package.js' /> <include name='org/xidea/decorator/code.js' /> </fileset> </preloadgroup> </jsicompiler> </target>
jscompress 示例(壓縮普通腳本)
<target name="test-compress"> <jscompress destDir="ant/temp/script2" charset="utf-8"> <fileset dir="web/scripts"> <include name="js/**/*.js" /> <include name="*.js" /> </fileset> </jscompress> </target>
|
評論也很精彩,請點(diǎn)擊查看精彩評論。歡迎您也添加評論。查看詳細(xì) >>
推薦相關(guān)文章:
邀請第三方團(tuán)隊(duì)開發(fā)頁面裝飾器實(shí)現(xiàn)的公開信。
云想衣裳花想容--JSI組件模型介紹(一)
云想衣裳花想容--JSI組件模型介紹(二)文章來源:
http://jindw.javaeye.com/blog/77776
posted @
2007-05-08 11:35 金大為 閱讀(127) |
評論 (1) |
編輯 收藏
邀請第三方團(tuán)隊(duì)開發(fā)頁面裝飾器實(shí)現(xiàn)的公開信
頁面裝飾引擎簡介
用于裝飾樸素html元素的框架,使用簡單的xml標(biāo)記,標(biāo)識期裝飾行為,比如將一個(gè)普通的input裝飾成一個(gè)日期輸入控件。將一個(gè)textarea裝飾成一個(gè)代碼語法高亮顯示區(qū)域,或一個(gè)wysiwyg html編輯器。 JSI啟動后將采用異步方式,自動檢查decorator標(biāo)記,自動做相關(guān)類的尋找、導(dǎo)入并裝飾頁面。
實(shí)現(xiàn)零腳本代碼的web富客戶端編程:
更多信息參考:
示例裝飾器演示:http://www.xidea.org/project/jsi/decorator/index.html
JSI項(xiàng)目主頁:http://www.xidea.org/project/jsi/index.html
JavaEye JSI專欄:http://www.javaeye.com/subject/JSI
適用范圍
頁面裝飾引擎是用來裝飾普通網(wǎng)頁的框架,只需要在普通網(wǎng)頁上增加相應(yīng)裝飾標(biāo)簽,即可實(shí)現(xiàn)富web客戶端的常用功能。保持頁面簡潔、優(yōu)雅的同時(shí),享受頁面通用組件帶來的便捷。
同時(shí),正因?yàn)樗暮唵涡裕褂醚b飾引擎的頁面,后期維護(hù)也更加簡單。
在開發(fā)效率優(yōu)先的項(xiàng)目中,其優(yōu)勢尤為明顯。當(dāng)能,對于非常非常復(fù)雜的頁面,導(dǎo)入JSI托管類庫直接編程的方式也許更加適合。
現(xiàn)狀分析
頁面裝飾引擎是一個(gè)工作于JSI上的可實(shí)現(xiàn)零代碼編程的RIA解決方案。
JSI項(xiàng)目已有一年多的歷史,在類庫管理,按需裝載方面,技術(shù)已經(jīng)非常先進(jìn);
其中無侵入的腳本管理,我們是最完善的;2.0提出的異步裝載技術(shù),同類框架中也只有JSI2能做到。
當(dāng)今業(yè)界,在RIA操作的火熱的時(shí)候,JSI提出裝飾引擎這個(gè)優(yōu)雅簡潔的RIA解決方案。
我認(rèn)為,只要我們可以盡快推出完善實(shí)用的裝飾器集合,完全可以在業(yè)界占領(lǐng)一席之地。
目前我們已有一個(gè)簡單示例實(shí)現(xiàn)集,不夠豐富,而且都還是初級階段,不夠完善。
現(xiàn)在發(fā)布的這些裝飾器,主要是為了演示JSI裝飾引擎的工作方式,編碼風(fēng)格。
參考
JSI裝飾引擎工作原理介紹:
- 云想衣裳花想容--JSI組件模型介紹(二)
JSI裝飾器編寫示例:
- 基于FCKEditor 開發(fā)JSI Editor裝飾器
- 從零開始 Spinner(微調(diào)器)裝飾器開發(fā)
結(jié)語
目前就我一人之力,開發(fā)一套完整的裝飾器,尚需時(shí)日,并且由于本人缺乏ui設(shè)計(jì)的天賦,在這里很難有出色的表現(xiàn)。
所以,我希望能邀請到第三方團(tuán)隊(duì)、公司在這個(gè)基礎(chǔ)上開發(fā)出自己的更加實(shí)用的裝飾器集合。同時(shí)我可以空出更多的時(shí)間去優(yōu)化核心模塊。
JSI及其裝飾引擎采用LGPL開源協(xié)議。可以商業(yè)應(yīng)用,當(dāng)能,更希望能開源。
對于開源第三方的實(shí)現(xiàn),我可以提供充分的技術(shù)支持。并配合其宣傳,推廣。
對于商業(yè)實(shí)現(xiàn),可以提供必要的技術(shù)支持,并提供JSI專用的腳本混淆工具,保護(hù)您的知識產(chǎn)權(quán)。
我的聯(lián)系方式(email&msn):jindw◎xidea。org |
評論也很精彩,請點(diǎn)擊查看精彩評論。歡迎您也添加評論。查看詳細(xì) >>
推薦相關(guān)文章:
云想衣裳花想容--JSI組件模型介紹(二)
云想衣裳花想容--JSI組件模型介紹(一)
JavaEye推薦
杭州:外企高薪聘請系統(tǒng)維護(hù)工程師(10-15K)
杭州:國內(nèi)大型網(wǎng)絡(luò)公司高薪招聘系統(tǒng)架構(gòu)師,資深JAVA開發(fā)工程師
北京:優(yōu)秀公司NHNChina招聘:WEB開發(fā),系統(tǒng)管理,JAVA開發(fā), DBA
廣州:急招 JAVA開發(fā)經(jīng)理/系統(tǒng)架構(gòu)師(10-15K/月)也招聘java程序員
文章來源:
http://jindw.javaeye.com/blog/77597
posted @
2007-05-07 22:18 金大為 閱讀(57) |
評論 (0) |
編輯 收藏