AS3 - Regular Expression 移除字串空白

var rex:RegExp = /[\s\r\n]*/gim; 
var str:String = "This is a string."; 
str = str.replace(rex,'');


Regular Expression 詳細介紹
 http://blog.roodo.com/rocksaying/archives/2670695.html

Actionscript3 - 編譯 問題 集合

此篇為工作上備忘錄
也同時供網友查詢之使用

1. 編譯時出現  definition mx.utils could not be found    - Flex problem
   
    在 fla , 重新設定 framework 在本機路逕即可

2. 編譯時 設定 sdk 4.6 4.7時 , 無法在builder 上設定 

    在 Compiler 設定裡  Adobe Flash Player options 裡設定版本
    為 11 .1 . 0 


3. 在 flash builder 4.7 編譯 fla 專案時 , 會不停產生 sdk 錯誤找不到問題
  
    在專案裡找到  actionScriptProperties 裡面 修改 useFlashSDK="false"

Blogger 樹狀結構 安裝 超easy(2013)


自從無名搬來這後 , 許多blog 設定東西要去調整 ,
而google內建的blog系統沒有樹狀結構的分類,
網路上的文章更是對此方面技術介紹些許模糊,
因此來寫一篇以備日後參考



1.首先先到 範本 - > 編輯 HTML















2.這時候就會顯示 該 blog 會使用到所有 javascript 語法 ,
   我們只需要做的是 找到 原分類的 語法段落 ,
   利用Ctrl+ F (搜尋)   <b:widget id="Label

   你會找到許多這樣的標籤 一直按ENTER 找到 你blog新增分類的賦予它

   的中文名稱 例如像我的是 
   <b:widget id='Label1' locked='false' title='分類' type='Label'>

  找到之後 我們需要將它
<b:widget > </b:widget>語法的整段
  段落 取代為下列

<b:widget id='Label3' locked='false' title='文章分類(v2)' type='Label'>
<b:includable id='main'>
  <b:if cond='data:title'>
    <h2><data:title/></h2>
  </b:if>
  <div expr:class='&quot;widget-content &quot; + data:display + &quot;-label-widget-content&quot;'>
<script>
var label_tree= new Object();

function tn(tag)
{
    return tag.substring(1,tag.length-1);
}

function build_node(tree,idx,cnt)
{
    if(!tree[idx[0]]){
        tree[idx[0]]=new Object();
        tree[idx[0]]['_cnt']=0;
        tree[idx[0]]['_item']=new Array();
    }
    tree[idx[0]]['_cnt'] = parseInt(tree[idx[0]]['_cnt']) + parseInt(cnt);        
    if(idx.length==1){
        return tree[idx[0]];        
    }
    return build_node(tree[idx[0]],idx.slice(1),cnt);
}
function add_label(_name,_cnt,_url,_dir)
{
    var e1 = new RegExp("\\[(.+?)\\]","g");
    var e = new RegExp("\\[(.+)\\]","g");
    var m = _name.match(e);
    var tag = _name;
    
    var obj=new Object();
    obj['tag']=_name;
    obj['cnt']=_cnt;
    obj['dir']=_dir;
    obj['url']=_url;
    if(m){
        obj['tag']= _name.substring(m[0].length,_name.length);                
        var m1 = _name.match(e1);
        if(m1){
            node=build_node(label_tree,m1,_cnt);
            if(node){            
                node['_item'].push(obj);
            }
        }        
    }
    else{
        if(!label_tree['_item']){
            label_tree['_item']=new Array();
        }
        label_tree['_item'].push(obj);
    }
}
function menu_exp(id)
{
        var ul=document.getElementById("ul_"+id);
        var li=document.getElementById("li_"+id);
        if (ul.style.display=="none"){
            ul.style.display="block"
            li.style.backgroundImage="url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfhRceZWKvia_DhwyWyI1pS6R2Amb7nBOV-e2KIsCyIapBa1_bcJdALoYzQXtkNsnrZ0xoHbmwAwbbSXX_8dpOVhbetYrvFCxDne4BeHt_fFboKsjRyX3jBCV5euTpyQRwdS07ITc6a4o/)"
        }
        else {
            ul.style.display="none"
            li.style.backgroundImage="url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNSe0IhiSQQa9GCDxUVzCqJSKcTyolCvlGmZilPE0DRx0rQD-kxRkr279TWCLuczd7vffcIhvlh3sFGkImCT9moirtWGg4HTy8fvhE3QmeswkSHgkEc3wBeCGPKwAGofiKDaOhxWNCtDA/)"
        }        
}
function draw_obj(obj)
{
    document.write("&lt;li style='padding-left: 0px&gt;'");
    document.write("&lt;img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNDRl3Qj0TSPHuLHs1CtAk09XBA4HcpSWpzuwqWD3PaKFLXvEYcxP3fRLvBfIW-I11q5rfv0Qvw8m0S267l88GsyxVLKWMVzX1HP9iZ87txb7lmxhNqlSRK5aNSCmxQQ_ZOCdmCEscmdU/s1600/icon-yellow-bullet.png' /&gt;&lt;a dir='"+obj['dir']+"' href='"+obj['url']+"'&gt;"+obj['tag']+"&lt;/a&gt;");
    document.write("&lt;span dir='"+obj['dir']+"'&gt;("+obj['cnt']+")&lt;/span&gt;");
    document.write("&lt;/li&gt;\n");
}
function draw_tree(tree)
{
    for(var tag in tree){
        if(tag!='_item'&amp;&amp; tag!='_cnt'){
            var rid = Math.random();
            document.write("&lt;li class=submenu id=li_"+rid+" onclick=menu_exp('"+rid+"'); style='font-weight:bold;padding-left: 20px;background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNSe0IhiSQQa9GCDxUVzCqJSKcTyolCvlGmZilPE0DRx0rQD-kxRkr279TWCLuczd7vffcIhvlh3sFGkImCT9moirtWGg4HTy8fvhE3QmeswkSHgkEc3wBeCGPKwAGofiKDaOhxWNCtDA/) no-repeat left 0px;cursor: pointer'&gt;");
            document.write(tn(tag));
            document.write("("+tree[tag]['_cnt']+")");
            document.write("&lt;/li&gt;");
            document.write("&lt;ul id=ul_"+rid+" style='display:none;padding-left: 20px'&gt;");
            draw_tree(tree[tag]);
            document.write("&lt;/ul&gt;\n");
        }
    }
    if(tree['_item']){
        for(var i=0;i &lt; tree['_item'].length;i++){
            draw_obj(tree['_item'][i]);
        }
    }
        
}
</script>
<b:loop values='data:labels' var='label'>
<script>
    add_label('<data:label.name/>','<data:label.count/>','<data:label.url/>','<data:blog.languageDirection/>');
</script>
</b:loop>
      <ul>
      <script>
          draw_tree(label_tree);
      </script>
      </ul>
    <b:include name='quickedit'/>
  </div>
</b:includable>
</b:widget>


原出處為 http://gormit-gk.blogspot.tw/2010/01/blog-post_24.html

3.取代後幾乎就等於完成了,接下來是重覆機器式的繁瑣工作
   請看圖













 重新定義後的標籤結構 需遵照 下列格式 :
 假設你想要的樹狀結構是
 a1 - 
   b1 -
     (abc)你的文章
 就要填寫為這樣 ->  [a1][b1]abc 

 像我只有一層樹狀 所以只有 [a1]abc





 4.改完後應該像下圖這樣













5.趕快試一下 檢視你的blog是不是變成這樣了呢?


CentOS - 架設FlashMediaServer 4.5










此篇為備忘錄,工作上剛好在做相關底層修改 , 將完整的架設過程紀錄!


該篇使用的是
1. CentOS 5.8 -64bit
2. FlashMediaServer 4.5 - 64bit
3. Adobe Encoder 3.2





馬上進行 CentOS 5.8 安裝
























2.此篇安裝的是 CentOS 5.8 - 64bit , 其他配置自行決定即可



























3.在VM網路設定上記得如下圖,勾選 bridge ( 視訊源在本機 FMS也在本機的狀況下)


4.安裝好 CentOS , 進入 終端機 
   因為等下要下載 FMS4.5 如果用你的帳號無法下載 ,記得切換成 su 成 root










5.選擇你要
下載的位置 , 我是放在 /usr/local/src 下 , 使用 wget 下載 FMS4.5

6.下載好之後 , 使用 tar zxvf 對檔案進行解壓縮 , 會產生圖中的 FMS_4_5_0_r297 的資料夾 (名子可能會不同)






7.切換到安裝目錄下 , ./installFMS  -platformWarnOnly
   ( 加上 -platformWarnOnly  參數,忽略安裝平台,因有些系統會安裝不了,故加上此參數



8.安裝指令送出後會得到以下顯示 , 請先按 Enter , 再按 Ctrl + C 跳過 !











9. 請按 y


10.請輸入4.5 FMS 序號



11.安裝路逕請按 Enter





12.設定你要使用的port , 這裡就照原範例打上 1935 , 8080




13.請直接按 Enter


14.設定管理者帳密 ( 這個部份隨便打就可以 )



15.設定管理者密碼 ( 這個部份隨便打就可以 )





16.輸入 fms


17.請輸入 fms (千萬別輸入到 y )



18.請輸入 y (是否要安裝 apache )




19.請輸入 fms




20.是否啟動FMS服務 , 請輸入 y




21.是否在一開始啟動時就run , 請輸入 y





22. OK..到此就結束了 , 請注意下面紅框裡都是  fms , 如果你填錯了 請選 n 回去重填 , 不然等等會失敗!






23.設定這台 VM 使用的 CentOS的 實體IP , 假設你本機是用 192.168.1.136 ,
     那麼底下ip你就要設跟他不同的 , 例如 192.168.1.137


























24.請照圖中設定 你要設定的 ip























25. 打開安裝好的 adobe encoder3.2 , 找到以下設定位置 , 填寫你剛才在VM CentOS設的IP , 即可
      / live <---這是統一格式 , 看到stream 欄位我填 nl , 這欄位是隨意填寫
     對外給人使用的完整 URL 則為

     rtmp://192.168.1.137/live/nl












26.按下 Connect , 再按下 start 即可對外發怖視訊
    如果連接不成功表示 , ip 可能不互通(ping不到 )
    可以先在本機 ping CentOS設定的ip 互相ping的到的話就可以通




27.最後記得 CentOS防火牆可以先關閉 , 到時再開通例外


   

Flash Builder 4.7 sdk unknow 找不到 問題

第一次從 Flash Builder 4.5 換到 4.7 發現


























怎麼 sdk 匯入一直 unknow


網路找到解決辦法 , 直接將 actionSciprtProperties , sdk參數修正為false










找到 useFlashSDK 這行 改為 false


本來  unknow 的 SDK 又復活了!~







SVN - 在Flash Builder裡外掛Subclipse - SVN 直接更新下載

此篇也是工作備忘錄
跟大陸人一起工作一段時間 , 很感謝他們 , 從中讓我學習到許多不同的寫法及用法



以下是SVN 直接在Flash Builder 下載外掛使用
一樣在 marketplace 裡搜尋  Subclipse 這套svn 外掛安裝後參考以下作法


1.在 Project Explorer 空白處滑鼠按右鍵 , 選 Import











2. 選擇 Checkout SVN 如圖 , 檢查你是否有安裝SVN 















3.發現你有安裝過 SVN 它會直接給你選 , 再按下一步
















4.在選擇你要安裝SVN上路逕資料夾 , 記得選下一步 , 否則finish 會直接裝到C槽預設位置


















5.這裡可以選SVN版號, 最新版就用預設 下一步!




















6.這裡是最重要地方 你要下載到指定的資料夾放置 , 為什麼說這裡最重要 , 如果你的專案很大
   很複雜有需要import 外部共用東西時,資料夾就要指定對位置














7.按下 finish 即可完成 ! 便開始從SVN下載


SVN - 使用教學

此篇為工作上使用之備忘錄
SVN 為公司常用的提交線上版本比對工具 , 強大的比對功能, 與版本回復



1.首先找到 SVN  上 你要下載回來本機端 的目標資料夾 , 這裡舉例  greensock , 紀錄下該路逕



2.在本機電腦端 , 將要下載回來存放的目錄資料夾(目前是空的),按右鍵選 SVN Checkout





 

















3.在 URL of repostiory 貼上剛才 SVN 上的網址 , 底下 checkout directory  為你要下載到本機的目錄的位置 , 按下OK 即可



 



















 4.下載完線上SVN後, 資料夾圖示會顯示 綠色勾狀態,表示跟線上版本同步

 






5.點資料夾進去,我們可以看到裡面有一個svn資料夾(假設未來你不想要對該資料夾做SVN , 砍掉它即可)





 


 6.倘若我們今天對本機檔案做了修改,資料夾就會呈現紅色驚嘆號,表示與線上版本有差異
   這時候我們要提交本機修改的最新版本時 , 就要按右鍵選 Commit , 做提交的動作









 













7.注意看在上傳之前,底下列表中會提示你那些檔案被修改,(你可以選擇 只上傳某一部份被修改的檔案 )
    並且最重要的功能 , 可以查看線上與本機版本差異程式 , 對差異程式碼案右鍵選 

Show difference as unified diff





8.如下圖它就會顯示什麼地方被改, 顯示比對其差異









Flash Builder - 調整eclipse主題顏色,註解顏色
























作者自己本身從 flash 過來 Builder , 早期的習慣 白花花一片的編輯背景
長期下來, 對眼睛查找 Code 久了不是很舒服 , 當然這也不是必然 , 可能
當成建議使用看看.

首先安裝主題套件 :

安裝部份分為2種



1.手動更新 theme主題

可以直接至底下URL 找尋您要的主題
http://eclipsecolorthemes.org/?view=theme&id=1855
( 有時候從線上更新很有可能不明原因導致失敗,大多時候就要靠手動更新囉 )

下載後的 epf 放在您找的到的位置
File->Import->General->Preferences->剛才下載的 epf 文件

按下確定後, 主題直接就會變成 你剛才所選擇的結果


註記 : 調整合適的 Comment(註解)大小,
General - > Appearance -> Color and Fonts ->  Basic - > Text Font
選擇 Consolas 字型








2.透過線上更新 theme 主題

 

請跟著以下圖片紅色標示走































在搜尋地方打上 theme , 找到 Eclipse Color theme - > install 安裝



































接著我們要設定剛才安裝的過的主題套件





















下拉 選擇 General - > Appearance - > Color Theme 



設定 註解顏色




















跟著以下路逕設定即可 Preferences -> Flash Builder -> Editors-> Syntax Coloring --> ActionScript --> Comment