歡迎光臨Ring's Blog~
Ring's Website - v1
第一個版本在2002/09/10開站,五年前了~還記得那時是剛開始學Java不久,現在回頭來看原來的程式碼,有對凌亂不堪~完全沒有Framework的概念,也不懂得如何利用DesignPatterns,還為了編碼問題搞了許久,笨笨的用MS950來處理字串的轉碼問題~算是初學者之作囉~
第一版的個人網站,主要就是分享一些學習Java上的心得囉~包含了「知識文章」、「討論區」、「會員管理前/後台」還有一個用Java寫的後端Server和前端Flash(XMLSocket)的「哈啦聊天室」,不過終究敵不過MSN~ 呵呵!
這一版的環境主要用Apache+Tomcat+MySQL來架設的~
Ring's Website - v2
第二版和第一版相隔近三年,這一版在2005/07/11開站,那時花了點時間學EJB 2.0,開始敲開分散式系統的概念,可別以為分散幾臺電腦就是分散式系統哦~ 環境用Apache+JBoss+PostgreSQL來架設,除了第一版的功能之外,還加上了「JMS私人訊息」、「多國語言討論區」以及「Flash瓢蟲菜單」,開始寫自己的Framework,採用J2EE DesignPatterns,並使用Unicode來作為編碼~整體的架構和效率大幅提升不少,不過當初最多人問我的是「Flash瓢蟲菜單」,這個挺有趣的~以往一般的菜單都是規規則則的矩形樣式,而「Flash瓢蟲菜單」卻是用一片葉子,上面還有瓢蟲會跑來跑去的菜單~那時還一併解決了跨FireFox、IE之間的兩種瀏覽器~
Flash瓢蟲菜單
這個Blog算是本人的個人網站第三版囉!~前前後後大約花了我十個工作天的開發時間~主要也是用JBoss+PostgreSQL的環境來架設,之前的舊文件會慢慢地移植到這裡來~如果您有新的建議或是期許,歡迎一併留下你的足跡哦~
此版的搜尋功能預計使用Lucene來建構,所以目前此功能尚未開放!
2007-04-30 10:27:09
居然看到用我名字作為站名的網站,酷~呵呵
2007-04-30 14:15:56
潛水潛到現在才浮上來,居然被你發現了!呵~
2007-04-30 14:31:04
利害歐~~這邊先恭喜你開站了
2007-04-30 18:41:55
哇...(泣)
不知道該說什麼~
anyway...恭喜!
PS:為什麼要用數字相加...
2007-05-02 21:20:41
這是Captcha,簡單來說就是判斷你是人或是機器的一種測驗~,本來想用一般的看圖驗證,但是太簡單還是會被有心人破解,太難的話又會造成使用者的不便,所以乾脆就用最簡單的加法~,還是你想嘗試四則運算呢~ 呵~
2007-05-02 23:14:05
有空常來坐坐啊~
還有更酷的哦!請看:http://hotcaptcha.com/
2007-05-03 21:17:33
你網誌的人氣好旺!
不過太多外星語言,簡直是有看沒有懂
老師您要開班嗎?
2007-05-14 22:06:29
呵~ 可能有一些人氣是Crawler造成的~
您不嫌棄的話,是可以考慮的~
2007-05-14 23:51:26
開店了,總得來您這瞧一瞧了,增加一下人氣加油!!!!!
2007-05-27 08:18:06
學長有空可以PO關於FLASH裡 Listener and Broadcaster的關係與語法怎用。
目前比較不明白的是自定義Broadcaster
是說可以自己定義類似onMouseDown這樣的偵聽器方法嗎?
2007-07-04 20:39:00
是的~ 不過這可以談相當多的東西,譬如:「AsBroadcaster」~
這個提議非常好!~我會找個時間將它補上!~
相當歡迎常來給些提議或意見哦~!呵~ 謝囉!
2007-07-05 00:45:25
這幾天在寫AS的時候遇到的一個小問題:
如何對設計在元件庫中的元件命名(實體名稱)
就是不要把它拉到舞台也可以直接對他下語法?
我所知道的做法一就是直接用VAR和NWE去設定一些基本的幾何元件
二就是做好之後把它拉到舞台上命名.
應該是有直接呼叫元件庫的做法吧
念到這邊有些亂
學長要怎麼去查看 那些new參數後面有什麼功能勒
如:new BitmapData() new Matrix()
對於一些新的軟體是否有什麼方法可以快點知道整體的概觀.
2007-07-08 22:57:21
To:宗諺
呼叫元件庫的作法~基本上利用MovieClip的「attachMovie」method即可達成,但在這之前你還是必須先在元件庫(Library)定義它的「Identifier」才行(從Linkage去設定)。
建議你多去看看ActionScript 2.0 Language Reference,或是多利用Google查詢這些相關類別的用法~我想這樣比較有實質的幫助~
2007-07-09 13:31:25
To:宗諺
標題:從元件庫(Library)附加你的元件(一)-「attachMovie()」
URL:http://blog.ring.idv.tw/comment.ser?i=61
關於「attachMovie()」這篇文章已經完成~你可以先行從這著手,若尚有任何問題,都非常歡迎來這PO文哦~
2007-07-09 17:52:39
看來英文很重要= =||
原來喔~ 常常看到範例用attachMovie我都想說他幹嗎多此一舉
2007-07-10 12:04:27
如果之後還是會常用到FLASH
AS 3.0 事件模型不是都改了
那麼我現在念2.0還有用嗎? 還是直接讀3.0勒
2007-07-10 12:06:37
的確~
我會建議你未來學AS 3.0是不可或缺~
尤其是它擁有較好的效能表現~ 你可以去看看http://www.papervision3d.org
這是用AS 3.0跑起來的哦~ 至於2.0的話,就端看你自己覺得是否還會用的到~ 不過兩者都學也並無不妥~ 反而觀念有些時候可以更紮實~ 更了解兩者之間的優缺點~
過些時候我才會一一地將AS 3.0寫上來~
2007-07-10 14:45:48
我是覺得AS強未來應該很具優勢 +上它好像越來越重視和資料庫連結之間的問題。
好像一個AS強 大致上整體動態網頁的效果可以克服大半。
後端語言的話,之前是學ASP和PHP的可是都還沒有很專精。現在則是用.NET 雖然VS的環境也提供寫J# 可是我不太清楚J#和JAVA一樣嗎?
學JAVA的話,學長有建議的書嗎? 還有它是在什麼環境開發的阿?
2007-07-10 19:21:50
J#和Java是不一樣的東西~ 基本上只是語法相似而已~不建議你琢磨J#
這裡有J#的Wikipedia介紹:http://en.wikipedia.org/wiki/J_Sharp
建議的書籍~ 我列出這四本~ 你可以斟酌先買你適合自己學習的~ 如果你下定決心的話,那就四本都給它買吧~
1.最新 Java 2 程式設計實例入門增訂第三版 - 博碩 (個人覺得最適合初學程式的學習者)
2.Java SE6 技術手冊 - 碁峰
3.Head First Java, 2/e - O'reilly (有中譯本)
4.Java 2 全方位學習(J2SE 5.0 增修版) - 碁峰
這些書都不錯~ 不過我只有在五、六年前買過第一本的初版~其它的我都沒買,原因是當初學Java時~第二、三、四本都尚未問世~ 你可以考慮看看!
2007-07-10 22:37:00
又來問問題了= =|||
我想用一個影像片段 然後根據用判斷式 根據MOUSEDOWN
來改變狀態.
好像需要使用偵聽 但其實我對於偵聽一直都是只知道它的概念卻不知道如何運用
onEnterFrame = function(){
if(mouseDown){
mc_rotation += 20;
}
else{
mc_rotation += 100;
}
}
大致上是這樣的功能
2007-07-24 16:30:52
MovieClip.onMouseDown 指的是「Event Handler」,相反的Mouse.onMouseDown 指的則是「Event Listener」,一樣都是可以處理「onMouseDown」的事件~ 但兩者是不同的東西與架構,這點可以先記住~
你所附上的程式碼,我並不曉得你要做何用途~
我猜想可能是想要點選某個「Button」後,並改變上述「mouseDown」的值~ 來達成在「EnterFrame」的事件中判斷~ 如果是這樣的話~那和「onMouseDown」事件是沒啥相關聯的~
good luck!
2007-07-24 17:02:41
舉例:有一台車在STAGE上一般的行進速度是10
然後滑鼠點一下任何地方 影像片段裡的車子 速度會改變
類似這樣的效果
2007-07-24 22:04:43
那就分兩部份來作~
先在車子(instance name:car)上寫:
onClipEvent(load)
{
speed = 0;
}
onClipEvent(enterFrame)
{
_x += speed;
}
然後在Frame寫上:
this.onMouseDown = function()
{
car.speed++;
}
我想這樣的作法應該能達成你所想要的效果~
其它的就留待給你擴充囉~
2007-07-24 23:13:40
謝謝~
那麼IF判斷式也可以用來判斷滑鼠事件嗎?
2007-07-25 13:19:52
嗯~ 這樣說好了~
基本上一個「事件」的引起是由系統或是使用者所「觸發」而造成的,所以你所述的「判斷滑鼠事件」其實我有點不太清楚,這聽起來比較像是在探討Flash Player內部的實作機制,例如:Listener的實作,然而,絕大部份我們是不需要做到如此,所以我猜想你要的應該是在任一「事件」被觸發後,並在此「事件」中更改一些變數的狀態,並透過「onEnterFrame」的事件處理,為剛剛已更改過後的變數狀態來進行判斷進而達成某些不一樣的效果,希望對你有幫助~
2007-07-25 18:14:37
對啦! 我在想說 FLASH 能不能像VB之類的去判斷CLICK 的時候產生一種效果
DBCLICK的時候用另一種
針對一個影像片段做很多效果的選擇
2007-07-27 00:11:15
學長! 有看到你說你在AMAZON買書,我有問題~
有要額外多運費嘛? 要怎麼付COCO 就直接照上面的美金去換算就好了嗎?
2007-08-03 14:44:13
運費要自行吸收~它有分「標準」、「快速」和「急件」三種,「標準」當然是較便宜的選擇~
也就是說,如果你只在Amazon買單本的話,我會建議你去天瓏買或許還比較便宜,但基本上買兩本的話Amazon就會較便宜一些,因為運費已經分攤掉了~不過天瓏在國內,所以大都三、四天就可以拿到書了~
付費的話~我都是用信用卡直接線上刷的~
2007-08-03 15:05:52
了解~ 原來還有這間公司呀
因為我上博客來好像找不到我要的書!
最近有看一些O'REILLY出版的譯本
我是覺得它的書寫得不錯 想找看看有沒有
http://www.amazon.com/exec/obidos/tg/detail/-/059600916X/ref=pd_luc_mri/104-7827325-2886328
的譯本,如果真的找不到也考慮開始看看原文的書
2007-08-03 15:35:26
AS問題:
在影像片段中load進一些物件 並用attachMovie的方式去命名實體名稱!
之後在FRAME 上面寫AS 為什麼讀不到那些物件的名稱勒?
2007-08-04 18:27:42
嗯~ 不是很清楚你的問題所在~
我想你可以將程式碼Po上來,或是將你的問題貼在MMUG上,應該會有許多熱心的人來共同參與~
2007-08-05 14:09:25
MC片段的程式碼
onClipEvent (load) {
max_h = 80;
min_h = 67;
de_h = 70;
num_of_menu = 12;
system_on = false;
for (i=1; i<=num_of_menu+1; i++) {
this.attachMovie("line", "line"+i, (100*i));
this["line"+i]._x = (i-1)*de_h;
this["line"+i]._y = 20;
this["line"+i].active = false;
}
this.line1._visible = false;
this.line13._visible = false;
for (i=1; i<=num_of_menu; i++) {
this.attachMovie("menu", "menu"+i, i);
this["menu"+i]._x = (i-1)*de_h;
this["menu"+i]._y = 0;
this["menu"+i]._xscale = (this["line"+(i+1)]._x-this["line"+i]._x)/0.79;
this["menu"+i]._xscale = (this["line"+(i+1)]._x-this["line"+i]._x)/0.79;
this["menu"+i].attachMovie("image"+i, "btn"+i,this.getNextHighestDepth());
}
function targetCheck() {
if (this._xmouse>=0 && this._xmouse<=760 && this._ymouse>=0 && this._ymouse<=70) {
system_on = true;
for (i=1; i<=num_of_menu; i++) {
if (this._xmouse>this["line"+i]._x && this._xmouse<this["line"+(i+1)]._x) {
this["line"+(i+1)].active = true;
} else {
this["line"+(i+1)].active = false;
}
}
} else {
system_on = false;
}
}
function lineMove() {
if (system_on) {
for (i=2; i<=num_of_menu; i++) {
if (this["line"+i].active) {
this["line"+i].targetPos = this["line"+(i-1)].targetPos+max_h;
} else {
this["line"+i].targetPos = this["line"+(i-1)].targetPos+min_h;
}
this["line"+i]._x += (this["line"+i].targetPos-this["line"+i]._x)/13;
}
} else {
for (i=2; i<=num_of_menu; i++) {
this.line1.targetPos = 0;
this["line"+i].targetPos = this["line"+(i-1)].targetPos+de_h;
this["line"+i]._x += (this["line"+i].targetPos-this["line"+i]._x)/13;
}
}
}
function menuMove() {
for (i=1; i<=num_of_menu; i++) {
if (system_on && this["line"+(i+1)].active) {
}
this["menu"+i]._x = this["line"+i]._x;
this["menu"+i]._xscale = (this["line"+(i+1)]._x-this["line"+i]._x)/0.79;
this["menu"+i]._yscale = (this["line"+(i+1)]._x-this["line"+i]._x)/0.79;
}
}
}
onClipEvent (enterFrame) {
targetCheck();
lineMove();
menuMove();
}
FRAME--------------------------------------
var btnRelease:Number = 1;
for (var i = 1; i<=10; i++) {
_root["btn"+i].num = i;
_root["btn"+i].onRelease = function() {
if (btnRelease != this.num) {
_root.timelineroot3.timeline3["ani"+this.num].gotoAndPlay(2);
_root.timelineroot3.timeline3["word"+this.num].gotoAndPlay(2);
btnRelease = this.num;
}
}
_root["btn"+i].onRollOver = function() {
_root["rollover"+this.num].gotoAndPlay(2);
var my_sound:Sound = new Sound()
my_sound.attachSound("sound_btn");
//my_sound.setVolume(50);
my_sound.start();
//trace("123");
}
_root["btn"+i].onRollOut = function() {
_root["rollover"+this.num].gotoAndPlay(17);
}
}
//第一個ani影片特別處理
_root.timelineroot3.timeline3.ani1.gotoAndPlay(2);
_root.timelineroot3.timeline3.word1.gotoAndPlay(2);
stop();
2007-08-05 20:49:20
呃~ 你有辦法簡化一下你的問題點嗎?
找問題先試著將問題簡化成最小範例,我想這樣比較容易解決~
2007-08-05 22:34:26
上面的MC片段載入了一些物件(IMAGE)
然後我在MC片段中 給這些物件實體名稱
接著在FRAME中 去呼叫那些實體名稱 可是卻讀不到!
是語法有錯誤 還是這樣的做法本來就不可行
2007-08-06 09:26:26
this["menu"+i].attachMovie("image"+i, "btn"+i,this.getNextHighestDepth());
在這裡命名的"btn"+i
卻在FRAME 去呼叫的時候 讀不到!!!
2007-08-06 19:49:24
我將你的問題試著簡化一下:
[instance name]:ball_mc
[frame]:1
onClipEvent (load)
{
this.attachMovie("image1","btn1",this.getNextHighestDepth());
trace(btn1);
}
[frame]:2
trace(ball_mc.btn1);
stop();
你去揣摩一下這個範例~ 為何ball_mc要放置在frame1,而叫用的程式要寫在frame2~ 等等~
2007-08-06 21:31:20
學長~ 我這有一個FLASH翻頁特效的版型 我想去修改 可是看不懂 可以教我怎麼修改嗎? 怎麼MAIL給你呢?
2007-08-20 22:09:20
問:
在影像片段下的影像片段的按鈕 為什麼直接用Goto到另一個場景 沒反應勒
但是用getURL就可以
2007-08-22 11:25:49
Reply for No.39:
Flash page flip 這牽扯到一些三角函數的原理,我記得我之前有看過有人在解說這樣的製作原理~不過我忘了在那裡了~ 你可能要自己Google一下~
Reply for No.40:
嗯~ 你有上過MMUG去問過了嗎?或者將你的問題描述的更具體點~
2007-08-22 21:49:44
恩 上敘的問題找到了
又有新問題了= =||| 不要覺得我很煩呀
我是位學生,在網路上下載了一個類似書翻頁效果的版型。
再修改的過程中,有些程式碼看不太懂 想請高手幫我解釋一下
它現在是點到書的每一點都會把角落翻起來 有沒有辦法控制一定要點到書的邊邊才翻起。
http://andyyu.no-ip.biz:8080/web5/
上面的範例因為滑鼠和翻頁效果使得控制不易
或者可以提供我一個書翻頁的效果 但是對於每一頁 要可以放入個別的影像片段和按鈕 如果可以的話 點一下左右下角讓它自己翻頁就好 不一定要到可以隨著滑鼠移動
類似下面這個範例 然後可以在每一頁加入影像片段這樣
http://163.17.142.201/s14934034/index.html
2007-08-22 23:27:07
我想你需要的是這個Flash page flip~
http://www.art-spring.com.cn/blog/article.asp?id=182&page=466
2007-08-24 11:05:37
「搜尋功能」已建置完成~ 可善加利用!^^
2007-08-25 03:16:41
謝謝學長 你給的那個範例的確比較易懂
不過在修改的過程中
我加入
_mc.onRollOver = function() {
this._alpha = 100;
var my_sound: = new Sound();
my_sound.attachSound("se");
my_sound.start();
};
的語法 alpha 沒問題 可是聲音卻跑不出來
開新檔案來測試應該沒錯呀
聲音也有匯出給程式使用
2007-08-28 11:37:10
有一個函數上的概念問題每次要使用持續移動的效果 去使用一些迴圈 可是都只會執行一次.
例:
for(i=0;i<10;i++){
this_mcA._x=i;
}
這樣不是應該會移動10格嘛
http://www.learnlakenona.com/
類似這個網站的效果 我只會使用BitmapData.scroll()
看起來不是很流暢 要達到遏個網站的效果有沒有什麼比較好的語法建議
2007-08-31 14:59:33
你試著將上述的語法改寫成
this.onEnterFrame = function()
{
this._x++;
}
試試看~ 這裡只有一個重要的觀念~ 你寫成的是迴圈,而我是利用onEnterFrame事件來處理,最後將Flash是一個以時間軸為基礎的動畫製作軟體考量進去,你可以知道答案的!
2007-08-31 21:13:05
對了 學長我想問一個關於FLEX 的問題 它是和FLASH一樣的東西嘛?
最近在網路上一直有看到 好像是出到2吧
沒載到軟體 不知道它到底是幹嘛的
2007-09-01 20:13:35
嗯~ Flex基本上是設計給程式設計人員使用的~ Flex和Flash都會發佈成「swf」格式,更明確的說~ 如果你用過類似VisualBasic or C++ Builder等RAD工具的話,Flex原則上就是設計成那樣子的工具,讓你方便利用元件去開發RIA的應用程式。
2007-09-01 23:52:41
了解!!
學長問一下喔
http://www.edpdgo.com/forum/
這個論壇 中間區塊 那個最新話題 最新回覆那樣的效果
是PHP改的還是JAVA
2007-09-03 22:57:15
你是說中間那三個區塊滑過就會變更下面的內容嗎?
這利用JavaScript就可以做的出來了,你可以去看一些像document.getElementById()的函數去操作即可~
2007-09-03 23:09:24
沒錯沒錯
我昨天有找到這個語法了
感謝學長~~
2007-09-05 00:25:44
學長~怎麼在flash的按鈕內,去偵測被點擊數
2007-09-21 10:04:04
var count = 0;
my_btn.onRelease = function()
{
count++;
trace(count);
}
2007-09-23 17:18:26
呵呵 學長 關於那個問題我已經解決了~
學長這是我最近在網路上找到的一個FLEX的開放碼源
http://youyee.org/
我在架設的過程中出現了
Error #2044: 未處理的 NetStatusEvent:。 level=error, code=NetConnection.Call.BadVersion
at org.youyee.core::SystemManager()
at [execute-queued]
at [io]
的錯誤
這是我朋友架成功的連結http://yz3210.no-ip.org/blog/
我有上網找了一下資料
目前只有這裡
http://bbs.blueidea.com/redirect.php?tid=2780056&goto=lastpost
在討論這個問題
我們目前所知道的是
我的PHP環境是5.21版
我朋友是 5.23版
關於這樣的問題一定要升級版本才能解決嗎?
2007-10-08 18:35:46
哈~ 那你就依照你朋友的環境去試試看囉~
我猜可能是AMFPHP出了問題~ (純綷猜測)
不過如果你有時間的話~ 將問題找出來或許也是一種學習~
2007-10-08 22:53:08
嗯嗯,我找出原因了XD
可是AMFPHP 問題還蠻多的,我再把它繁體化的過程中是不出少BUG
2007-10-11 08:03:05
哈哈巧遇耶~
2007-10-11 20:51:08
恭喜學長~~一起進入決賽(大拇指)
我們那個是偶然的XDD
2007-10-12 17:25:55
最近才剛開始認真的研究PHP
我想問一下PHP有沒有語法是把當前正在執行的這個網頁
的HTML或者顯示出來的文字這些的存成一個變數的用法
或者 把正在執行的這個網頁整個存到TXT
簡略說一下執行的流程:
1.write頁 表單填入資料 送出
2.view頁 接收表單資料(變數)成一份完成的資料表送出
3.save頁 將整個文字顯示資料的部分存成txt
2007-10-13 15:18:28
//把正在執行的這個網頁整個存到TXT
那就直接將這個網頁原始碼寫在PHP裡面~並根據你的需求套用些變數,最後用fopen等函式去寫入即可~
2007-10-13 16:06:04
親愛滴格主您好:
恭喜您獲得古銅小莎100000抓抓樂金牌台啤大相送獎項。嘻嘻~
請將您滴收件人名稱、送貨地址、聯絡電話以悄悄話的方式,請回應在古銅小莎得獎者公佈的網誌中或回覆mail。
近期內金牌台啤將宅配寄出。
恭喜你呀~!
2007-11-14 13:31:47
哇~有一箱啤酒耶!
回到正題,學長 有推薦那個文字編輯器for PHP and ASP
2007-12-10 11:51:39
基本上線上的編輯器都是JavaScript,和後端程式PHP or ASP是沒什麼直接的關係哦!
你可以下javascript text editor去google一下會有蠻多的~
例如:FCKeditor (http://www.fckeditor.net/)
參考看看~
2007-12-10 21:18:21
原來如此 這套我找到了 而且感覺都快像一個簡單的網頁設計軟體了
2007-12-16 00:05:09
想請教站長, 我有一flash,該flash只單純的去GetFlashValue.txt中取值出來並秀出來
但一旦當IE的Temporary Internet Files設成Never, 修改文字檔內容後, 再次呼叫該網址後, flash就無法即時更新資料
測試步驟如下
1)把IE的Temporary Internet Files設成Never
2)呼叫網址, http://127.0.0.1/TestFlash.htm, 此時flash會秀出正確的textbox值(例, textbox值等於111)
3)修改GetFlashValue.txt中textbox的值(例,把textbox值改成222)
4)再次呼叫網址或重新開啟一個IE, http://127.0.0.1/TestFlash.htm, 此時flash仍會秀出111
想請問大家, 有無辦法可以讓flash秀出222呢??感謝你
相關檔案內容在 http://216.168.203.52/1217.ZIP
2007-12-17 09:59:21
Dear dc:
你所遇到的問題是典型的瀏覽器Cache問題,這在寫些Ajax應用時也會遇到,你試著將你的loadVariables語法改寫成下列:
loadVariables("GetFlashValue.txt?t="+Math.random(),_level0);
應該就可行了~ 且只需重新整理即可得到最新的值~
good luck! ^^
2007-12-17 10:17:31
Error #2044: 未处理的 NetStatusEvent:。 level=error, code=NetConnection.Call.BadVersion...
请问下是什么原因?怎么解决?谢谢。
2007-12-26 12:09:40
你的問題和55、56樓類似~ 建議你方便的話可以描述一下你的環境,不曉得你後端是否使用AMFPHP~ 若是的話,建議你用最新版的試試看~
2007-12-26 12:42:24
新年快樂喲^^
呼~剛把片子全部看完囉!哈^3
2008-02-07 10:06:42
哈哈~ ^^ 新年快樂!!
今年一起來打拚吧~ GoGoGo ^^v
2008-02-07 17:36:22
好久沒上來嚕,也好久沒見面嚕!
感覺你的生活過的很精采~我還在原地踏步!哈哈(飛~
加油嚕~~
(加法驗證是防痴呆用= =")
2008-08-20 22:44:30
嘿啊~ 距離你上次留言已經是一年多前的事了~ XDDD
我預計九月初會去台中Long Stay個幾天~ 安排個時間去你那Stay一下~ OK嗎?^^ (以解你相思之苦~ 哈哈)
2008-08-20 23:11:28
請問
foxpro程式個data folder可唔可指入data server 執行
2008-08-24 12:17:45
To hosta:
foxpro我不熟悉它~ 所以您可能要另請高就.. 我之前只是有需要利用其它程式來連結它,並進行select相關的應用~ 僅止於此。
2008-08-24 15:19:10
哈哈..當然是OK的!
2008-08-24 21:20:43
多謝!
2008-08-26 13:25:44
您好,我在你的部落格看了很多文章,釐清了一些Flash的觀念,在此請教您
請問如何使用MovieClip的onLoad事件
以下程式我想在讀取test.swf資料後執行一個函數,但是卻行不通,請問哪裡錯了
var mc:MovieClip = this.createEmptyMovieClip("img", this.getNextHighestDepth());
mc.loadMovie("test.swf");
mc.onLoad= function() {
trace("ok");
};
還有test.swf載進來之後,原本利用對話方塊設定的mainmoive的參數卻無法呼叫
希望不吝指教
2008-11-08 15:47:49
謝謝,從你的需求看來,我想你需要的應該是「MovieClipLoader」會比較恰當些~ try it!
2008-11-08 16:39:47
您好,我google一下,發現有兩種方法,第一種看的懂,但第二種卻看不懂(為什麼不用宣告偵聽程式變數,而且不用呼叫onLoadInit函數,下載完畢就會執行?)
第一種
var loadListener:Object = new Object();
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);
mcLoader.loadClip("test.swf", role);
loadListener.onLoadInit = function() {
trace("loadOk")
};
第二種
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip("test.swf", container);
function onLoadInit(mc:MovieClip) {
trace("loadOk");
}
2008-11-09 19:30:02
第一種方式你採用建立一個獨立的Object去做Listener,這是一般常見的用法。
而第二種方式請注意到「mcLoader.addListener(this); 」這一行,它傳入「this」當作Listener,而這裡的「this」指的為何?再去思考一下,為何「function onLoadInit()」是寫在時間軸上?
歸納一下這二個點你會知道答案的,筆者曾寫過「Target Path」命中你的目標實體系列說明,您可以參考看看。
2008-11-09 20:53:39
所以說this在這裡是指level0,也就是偵聽level0 下載完畢了沒。
但是為什麼function onLoadInit()不必呼叫就能執行呢?一般自己寫的函數都必須經過呼叫啊?
難道說onLoadInit()是內建的事件,所以不必呼叫嗎?真是搞混了,還大大請說明清楚,釐清我的疑惑吧?
2008-11-09 22:33:26
上述「this」的重點不在於它是屬於「_level0」,而是它的型態根本上就是個「MovieClip」,所以你在時間軸上宣告一個「function onLoadInit()」,這個function就會存在於這個MovieClip之上,這是重點,所以上述使用「addListener(this)」自然而然它就是將這個「this」(MovieClip」註冊成Listener,直到Flash Player知道要觸發這個System Event要呼叫特定事件時,自然就會去你所註冊的Listener去找。
2008-11-09 23:12:10
大大! 抱歉, 禮拜二會將 CD 用掛號寄給您呦! 感謝大大支持! :)
2008-12-07 17:43:19
^^ 謝謝啦~ 等你寄來~ 我再幫你宣傳一下!!
2008-12-07 17:47:30
Shen你好,請教您一個問題:
我在一個乾淨的文件中使用兩個按鈕
A按鈕-建立影片
on (release) {
var loadListener:Object = new Object();
var container:MovieClip = _root.createEmptyMovieClip("test", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(loadListener);
mcLoader.loadClip("賤狗.swf", "test");
}
B按鈕-移除影片
on (release) {
test.removeMovieClip();
}
這樣做沒問題
後來我發現,只要引進內建的組件元件或只在程式碼中import組件元件的類別,如下:
import mx.managers.PopUpManager;
import mx.containers.Window;
那麼removeMovieClip()函式就失效了,怎麼會這樣?
要怎麼修正呢?
謝謝
2009-01-06 09:22:10
我剛簡單的測試一下~ 並不會失效哦~
你試著在B按鈕「on(release)」裡面寫上「trace(test);」先確認一下這個變數。
good luck!
2009-01-06 11:37:47
我測試一下,還是不行。
奇怪的是,我照你的方法測試,發現當我有引進window組件時,trace出level0.test,但是移除掉window組件後,卻trace出undefind
我寄到你的Email([email protected]),你幫我看看好嗎?
2009-01-06 11:55:51
那就對了~ 試著將問題找出來! 加油!
2009-01-06 12:23:15
Shen,我還是找不出原因。
之前因為把trace(test)放在最後,所以test被remove後,自然出現undefind。但是,放在前面時,無論有沒有载入組件,都會trace出level0.test,所以並不是test的問題。
我實在不知道位什麼加入組鍵後就不能使用removeMovieClip組鍵了,又要怎麼解決。
2009-01-06 16:45:07
Shen您好,請教您一個問題
我再舞台上放一個userPlane的影片,希望loadClip另一個影片到userPlane裡面,但是卻不行,我知道可能是mcLoader.loadClip("卡片.swf", container);這行有誤,但是我不知道要怎麼改,請指導我一下,感謝(P.S上次的問題還是無法解決)
//宣告事件偵聽物件loadListener
var loadListener:Object = new Object();
//建立一個空的影片片段container,指定給名為container的MovieClip物件
var container:MovieClip = userPlane.createEmptyMovieClip("card", this.getNextHighestDepth());
//宣告名為mcLoader的MovieClipLoader物件
var mcLoader:MovieClipLoader = new MovieClipLoader();
//將偵聽物件loadListener註冊給MovieClipLoader物件mcLoader
mcLoader.addListener(loadListener);
//MovieClipLoader物件mcLoader以loadClip方法載入外部swf
mcLoader.loadClip("卡片.swf", container);
//loadListener偵聽當onLoadComplete(載入完成)時......做點甚麼事
trace(userPlane.card)
2009-01-14 14:01:45
Shen您好,上一個問題我找到癥結了
var container:MovieClip = _root.createEmptyMovieClip("card", this.getNextHighestDepth());應該改成
var container:MovieClip = _root.createEmptyMovieClip("card"+cardNum, userPlane.getNextHighestDepth());但是卻又衍生另一個問題
那就將影片载入進來後,竟然無法改片裡面文字text的屬性。
如下:在onLoadInit可以讀的到card_mc.cardName.text原來的文字,但是卻沒辦法用card_mc.cardName.text="1234"來改變屬性。
而在onLoadComplete後卻已經沒辦法trace(card_mc.cardName.text),變成undefind,怎會這樣呢?
loadListener.onLoadInit = function(card_mc:MovieClip) {
trace(card_mc.cardName.text)
card_mc.cardName.text="1234"
};
loadListener.onLoadComplete = function(card_mc:MovieClip) {
trace(card_mc.cardName.text)
};
2009-01-14 15:39:59
您好
我在您的blog上看到很多有關hadoop的文章
想請問您,因為我想使用Hadoop裡面提供c的API
但我參考http://hadoop.apache.org/core/docs/current/libhdfs.html上的編譯過程,但是都會產生JNI相關的錯誤,我是在ubuntu上開發的,寫c程式想使用他附的libhdfs的library,不知您有什麼好建議或是這方面的經驗呢,謝謝您,因為嘗試了很久都用不出來很苦惱,謝謝你的指教
2009-04-01 21:51:49
您好,我在${HADOOP_HOME}/src/c++/libhdfs/重新make的時候產生下述的訊息:
gcc -m32 -I/usr/local/jdk1.6.0_07/include -I/usr/local/jdk1.6.0_07/include/linux hdfs_test.c -L. -lhdfs -o hdfs_test
/usr/bin/ld: warning: libjvm.so, needed by ./libhdfs.so, not found (try using -rpath or -rpath-link)
./libhdfs.so: undefined reference to `JNI_CreateJavaVM@SUNWprivate_1.1'
./libhdfs.so: undefined reference to `JNI_GetCreatedJavaVMs@SUNWprivate_1.1'
collect2: ld returned 1 exit status
make: *** [hdfs_test] Error 1
在make test的步驟出錯,您是卡在這個地方嗎?
2009-04-02 17:48:12
對~~我就是出錯在這邊~~
不知有什麼方法可以將解決呢?
2009-04-05 01:21:07
試著設定你的「LD_LIBRARY_PATH」環境變數:
export LD_LIBRARY_PATH=/usr/local/jdk1.6.0_07/jre/lib/i386/server/
使其在連結時能找到libjvm.so
2009-04-05 23:39:37
您好:
我將http://hadoop.apache.org/core/docs/current/libhdfs.html上的hello程式make完後,直接執行,環hadoop的環境是利用您"建構屬於自己的Cloud Computing - Hadoop"這一篇文章可是會出現以下錯誤,順便問一下makefile下的SHLIB_VERSION變數是不是要設定成1呢,謝謝您,一直用不出來直奇怪,麻煩你了
===========================================
turtlertes@turtlertes-desktop:~/hadoop0/src/c++/libhdfs$ ./hdfs_hello
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
2009-04-06 02:17:04
你好~上面那個問題我已經找到答案了
好像是lib路徑設定的問題
可是現在我利用那個hello的例子http://hadoop.apache.org/core/docs/current/libhdfs.html,他寫入檔案的hello world是亂碼,我也試過用數字寫入,但還是亂碼,不知道這是怎樣的問題呢?
謝謝你的耐心
2009-04-06 04:08:12
#96 問題是Java中CLASSPATH的設定,設定好即可。
#97 我沒遇到亂碼的問題,試著檢查一下您的開發環境。
2009-04-06 20:20:08
您好:
我想請問一下
有辨法利用您http://blog.ring.idv.tw/comment.ser?i=231
這篇文章之後,將建立於這三台機器上從LOCAL端傳送到hadoop上的一些檔案、資料夾,利用NFS掛載到另外一台機器上嗎?
2009-04-09 21:16:41
您好,我沒有嘗試用過NFS,所以沒有辦法給您任何建議。
不過為何要將Hadoop中的資料掛載到另一台機器?
畢竟Hadoop會取決於「dfs.replication」的設定為您分散您的資料到DataNode,謝謝。
2009-04-09 23:29:39
因為想把HADOOP上的檔案全部掛載到PC上執行,又可達到資料分散在各台電腦上的效果,如果將HADOOP上的檔案全部COPY下來執行,又會太久,我找到一個WEBDEV好像可以達到這個效果,要去測試看看,謝謝您的回答喔,從你這裡學到很多,希望有問題還可以問您,感謝您
2009-04-11 00:28:17
您太客氣了,能相互交流是一件好事,格主也在學習中,實在是不敢當。
2009-04-11 13:48:58
你好:
我想來跟你求救一下,我找到掛載的方法,就是可以利用,fuse-dfs和hdfs-fuse這兩種方法,fuse-dfs是原本在hadoop下就有的功能,但要自己build,可是我利用http://wiki.apache.org/hadoop/MountableHDFS和http://wildanm.wordpress.com/2009/02/25/expose-hdfs-as-webdav-store-or-fuse/來測試,出來的結果都是fuse-dfs didn't recognize hdfs,-2
和一些錯誤,不知道你可以幫忙測看看嗎,因為用了很久真的用不出來,如果您方便的話可以幫忙一下嗎,真的很感謝您的幫忙。
2009-04-14 01:21:18
你好!!又來請教您了
就是我想用fuse-dfs去mount hadoop
環境建立好後,我執行. fuse_dfs_wrapper.sh dfs://hdp0:9000 hdfs -d
debug的訊息會出現以下
Call to org.apache.hadoop.fs.Filesystem::get(URI, Configuration) failed!
unique: 4, error: -5 (Input/output error), outsize: 16
unique: 5, opcode: GETATTR (3), nodeid: 1, insize: 56
Exception in thread "main" org.apache.hadoop.ipc.RemoteException: java.io.IOException: Unknown protocol to name node: org.apache.hadoop.hdfs.protocol.ClientProtocol
at org.apache.hadoop.dfs.NameNode.getProtocolVersion(NameNode.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:481)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:890)
at org.apache.hadoop.ipc.Client.call(Client.java:697)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:216)
at $Proxy0.getProtocolVersion(Unknown Source)
at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:348)
at org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:104)
at org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:176)
at org.apache.hadoop.hdfs.DistributedFileSystem.initialize(DistributedFileSystem.java:75)
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:1367)
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:56)
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1379)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:215)
不知是什麼沒有設定好嗎?
又來麻煩你了,因為之前用好了hdfs-fuse,可是使用上不方便,想利用fuse-dfs,看其功能是否比較好,以上的問題又麻煩你了,謝謝
2009-05-12 10:06:35
我沒裝過fuse-dfs,所以目前沒有辦法提供相關的建議給您,您可以試著將問題貼到Hadoop Core Mailing Lists(http://hadoop.apache.org/core/mailing_lists.html)。
Good luck!
2009-05-12 16:59:20
請問 C語言能與網頁一起共製作嗎
目前想運在製作介紹科系的遊覽網頁專題
不可否提供一些資訊訊,有製作過的作者能給點指點謝謝
2009-10-06 15:16:43
好棒的Blog~有好多教學
我也正在碰flash,常常會碰到問題,希望在這邊能找到解答
請問有辦法控制loadmovie進來的程式嗎?
例如我用a.swf loadMovie進來一個檔案b.swf 那麼有辦法以a的程式控制b的變數嗎?
2009-12-28 03:44:37
三台centos主機都已經有灌好hadoop0.20.2了
我設定
hadoop/conf/master
hdp-1
hadoop/conf/slaves
hdp-1
hdp-2
hdp-3
1.另外兩台的設定也要跟第一台一樣嗎??
我設定完後用
scp -r /opt/hadoop hdp-2:/opt/hadoop
scp -r /opt/hadoop hdp-3:/opt/hadoop
之後執行
bin/hadoop namenode -format
bin/start-all.sh
2.每台還需要詢問密碼但之前我已經有作過ssh-keygen -t rsa -P ""了
3.密碼輸入完後
hdp-2有出現java的相關問題
我想請問java的環境設定要設定怎樣
我是安裝jre的
4.經常看到一段
bin/hadoop jar hadoop-0.20.2-example.jar wordcount input output '[a-z.]+'
wordcount是怎樣放進去這指令的
java是否要存.jar檔 或是java檔
以上是我的問題@@
2010-04-16 21:03:15
咦~我上午才在hadoop的mailing list上看到你...
2010-06-07 19:42:16
呵呵~ 好巧! ^^
2010-06-07 21:03:09
請教一下 那兒有KNN演算法java sample code? Thank you.
2010-10-29 14:55:20
Google Code Search應該有一堆吧~ 應該不難找才是
2010-10-29 18:45:19
不好意思 請教一下大大
在你HADOOP的PageRank範例中
裡面的Input Path 是/pagerank_output/p*
可是我利用 dfs -put 把/pagerank_output/p*丟進去
執行時他卻說找不到match的檔案
請問該如何解決~?
2011-08-04 16:14:35
Dear wwc,
請先用command line確認你的檔案路徑,還有檔名是否為p字母開頭。
2011-08-05 00:45:18
請教Shen大
Adobe 10.00 Google,MSN,Yahoo
Google 10.00 Adobe
MSN 10.00 Google
Yahoo 10.00 MSN,Google
以上是輸入的資料 我要分成四個txt檔嗎?
還是一個txt檔就好?
另外 我執行程式的時候 只跑了一個loop
第二次的輸入 它就找不到了
可是第二次的輸入不是第一次的輸出嗎??
我丟到dfs裡面的資料 是只要有 pagerank_output就好了嗎
還是連第二次的輸入資料夾 我也要先丟進dfs裡面?
不好意思 麻煩Shen大幫我解決
2011-08-05 17:36:53
印象中一個txt或四個txt檔都行~ 不過我好像是分四個檔.. 細節忘了~
第二輪沒辦法執行請再次確認路徑正確與否。
2011-08-05 21:11:25
你好~
我有send fb 好友邀請和訊息給你~
我想請問有關hadoop的問題~
2011-12-19 16:11:54
我想請問mapper在讀取非文字檔時(例如:影音檔),
那他是將所有切割的資料都蒐集回來解碼再選擇自己所要計算的片段嗎?
2011-12-21 09:10:36
@helen
不懂你要問的問題為何?
2011-12-21 10:48:05
不好意思,因為你先前有篇文章提到當split這階段可能發生同個單字被切成兩段分別在不同的block, 而map的做法是會去讀下一個block的第一行
但假如今天的資料不是文字檔,而是影音檔的話
那影音檔的資訊不是會被記錄成有header 和tail 這些標記 那中間就是影音的編碼
那這樣的資訊再經過split階段放在不同的block, map在計算的時候是如何去讀檔的?
2011-12-21 23:09:09
@helen
在Map中如何讀檔取決於你所採用的InputFormat為何~ 你可以參考本文的另一篇文章:http://blog.ring.idv.tw/comment.ser?i=315
該篇文章我自行定義了WholeFileInputFormat
2011-12-22 22:35:36
在windows下架設hadoop
目前已經能夠在windows下安裝完成hadoop,實際測試wordcount也能夠順利跑出結果
接下來想要串連多台機器,請問一下機器和機器間的溝通要如何完成?
網路上針對機器間的連線都是以linux為主,需要下指令來完成
ex.$ sudo vim /etc/hostname $ sudo vim /etc/hosts ...
windows下好像不能直接這樣用(用cygwin好像也是...)
目前有查到這篇文章http://forum.hadoop.tw/viewtopic.php?f=4&t=1924
可是裡面沒有提到如何設定多台的ip,直接去C:\Windows\System32\drivers\etc\hosts
不能直接做修改(需要系統管理員權限)
請問一下該如何在windows下對多台主機做連線?
另外需要在安裝ssh嘛?
謝謝~~
2012-02-01 11:34:59
Dear didi,
不建議在Windows平臺上架Hadoop Cluster, 畢竟Hadoop本身內部的原始碼許多都是針對Unix-like 環境所設計的,如果你一定要在Windows下架設,那在你的Windows用VM的方式會比用Cygwin來的方便。
2012-02-01 13:26:22
我先前用 hadoop4win 在電腦教室裡裝過多台的 Windows Hadoop 叢集。
可能要看您有無登入 AD 網域,電腦名稱也最好每台都不一樣。
否則會串不起來。
另外,可以不用安裝 SSH,只需要用 hadoop-daemon.sh 的方式單獨啟動即可。
這裡有蒐集了一些近期 Windows 在 Windows Azure 平台上運行 Hadoop 的參考連結。
http://trac.nchc.org.tw/grid/wiki/jazz/hadoop4win-dev
[1] Running Hadoop on Windows
http://hayesdavis.net/2008/06/14/running-hadoop-on-windows/
[2] Hadoop in Azure
http://blogs.msdn.com/b/mariok/archive/2011/05/11/hadoop-in-azure.aspx
[3] Apache Hadoop On Windows
- 微軟官方 Technet 的技術文件,說明如何在不同的 Windows 平台上架設 Hadoop
http://social.technet.microsoft.com/wiki/contents/articles/apache-hadoop-on-windows.aspx
[4] Apache Hadoop on Windows Azure
- MSDN 部落格說明在 Windows Azure 上執行 Hadoop 的 Step-by-Step
http://blogs.msdn.com/b/avkashchauhan/archive/tags/hadoop/
不過我也是 Linux 與 Open Source 擁護派,除非您有非在 Windows 平台上執行的必要,
例如:跑 Hadoop Streaming 的 Job 是 Windows Binary。要跟 Windows SQL Server 做整合(2011年底 Windwos SQL Server 有宣佈支援 MapReduce),或者打算在 Windows Azure 平台上開發應用程式。否則,選用 Linux 沒啥不好啊~
- Jazz
2012-02-01 14:56:15