2015年5月4日 星期一

用notepad++最小化(minify)code

為了壓縮檔案,或是單純需一整行的code,就會需要最小化(minify)整個code 想要把原本排版好的code改成一整行,除了手動一個一個刪掉空格跟跳行外 用notepad++的話可以簡單使用內建的功能
 1.這是原本的code
 

 2.Edit > Blank Operations > Remove Unnecessary Blank and EOL(移除不需要的空白和換行)
 

3.好囉!
 

當然Blank Operations(空白操作)還有很多方便的功能,這裡的Blank可以泛指空白鍵打出來的空格(space),縮排鍵的tab,enter鍵的換行(EOL, end of line) 像是把每行最前面的空格(space)縮減 Edit > Blank Operations > Trim Leading Space  


還有以下可操作的選項
Trim Trailing Space -> 縮減後方空格
Trim Leading Space -> 縮減前方空格
Trim Leading and Trailing Space -> 縮減前後方空格
EOL to Space -> 換行轉空格
Remove Unnecessary Blank and EOL -> 移除不需要的空白和換行

TAB to Space -> TAB轉轉空格
Space to Tab (All) ->空格轉TAB(全部)
Space to Tab (Leading) ->空格轉TAB(前面)  


使用心得:

使用起來順手快速,不過"移除不需要的空白和換行"之後不知為何換行會替換成空格,我預期希望是連空格都沒有

目前僅用HTML測試,在TAG裡的文字就算有空格也不會被刪除

2015年4月14日 星期二

底線在javascript代表什麼(_index...等)


 有時會看到像這樣的寫法
var Gallery = Backbone.Controller.extend({
    _index: null,
    _photos: null,
    _album :null,
    _subalbums:null,
    _subphotos:null,
    _data:null,
    _photosview:null,
    _currentsub:null,
    routes: {
        "": "index",
        "subalbum/:id": "subindex",
        "subalbum/:id/" : "directphoto",
        "subalbum/:id/:num" : "hashphoto"
    },
    initialize: function(options) {
        var ws = this;
        if (this._index === null){
            $.ajax({
                url: 'data/album1.json',
                dataType: 'json',
                data: {},
                success: function(data) {
                    ws._data = data;
                    ws._photos =
                    new PhotoCollection(data);
                    ws._index =
                    new IndexView({model: ws._photos});
                    Backbone.history.loadUrl();
                }
            });
            return this;
        }
        return this;
    },
    //Handle rendering the initial view for the
    //application
    index: function() {
        this._index.render();
    },
 裡面的_index為何前面要有個底線呢?

答:
這代表他是私用方法(private methods),只給內部使用,無法在外部類別裡被使用
通常這樣寫並非是說要這樣寫才能被當私用方法或才能被執行,比較像是做個註記讓人知道它是私用方法。

心得:
這似乎是OOP裡的一個概念,下方有個人回說
at least, the idea of private fields is there, but they aren't really private, you can access them anyway. the author of the above code just meant for them to be private. that's all. –  Sander Nov 27 '11 at 23:29


意思是其實對JS來說沒有真正所謂的私用方法?

http://stackoverflow.com/questions/8288756/in-javascript-what-does-this-underscore-mean

2015年3月27日 星期五

有些路就是一定要先踩過狗屎,一定要。

今天知道原來資料太大寫入cookie有可能會吃掉資源,所以才要寫二個 但事情有時候就是非得要走那一遭 即便在遇到挫折的當下,是被用一種"連這種都不知道嗎?"的方式被告知,會不

2014年9月29日 星期一

二欄式(二個div對齊),使用inline-block要注意的關鍵是...

關鍵是... 第二個div要使用vertical-align: top; 以前要做兩欄常用float或是inline-block,不過不知不覺會排斥用inline-block的方式 原因"似乎"是因為第一時間inline後會無法對齊,雖然就是加個vertical-align,但沒有硬性記著就忘了 簡言之,記得這個就會很喜歡用了

2014年6月12日 星期四

var $ = function(el) { return document.querySelectorAll(el);}
  function erica(x) { if(X===1) {return true }else{return false}}
if(erica(1){ console.log("text"); }

2013年6月2日 星期日

The Best Way to Learn JavaScript

決定來follow!

作業0:了解javascript"是什麼"以及"不是什麼"
註:作者不建議先學jquery
作業1:上Codecademy.com來實作→馬上就來申請一個BearKoi
作業2:上appendTo看影片教學
作業3:閱讀好的javascript導論
(1)A Re-introduction to JavaScript
(2)Eloquent JavaScript
(3)Getting Good with JavaScript
--------------------------------------(↓另外自己找的好文)
(4)語言技術:JavaScript Essence
(5)FRONT-END TECHNOLOGIES
(6)w3cschool JavaScript Tutorial


作業4:安裝並學習Firebug(或其他開發者工具)
作業5:讀一本書
(1)Professional JavaScript for Web Developers
(2)JavaScript 24-hour Trainer
(3)JavaScript Patterns
(4)JavaScript: The Good Parts

作業6:建一些東西
(1)相簿
(2)待辦事項
(3)會動的箱子

作業7:開始學javascript函式庫
(1)jQuery - Learn jQuery in 30 Days
(2)Dojo
(3)YUI
(4)MooTools
(5)Prototype
作業8:跟隨佼佼者


reference: The Best Way to Learn JavaScript 












2013年4月1日 星期一

Ubuntu 12.10安裝無蝦米

終於裝好了,本來就一直不成功,又加上電腦老了,開了好幾次機才成功開瀏覽器
請一定要再撐三個星期阿,等我上完課再說

因為用VM裝Ubuntu在我的小A上跑實在太頓了
(是該換的意思?隔壁的同學電腦核心比我低但順很多)
所以就用老蕭不用的MSI切一個槽裝ubuntu
但之前一直沒裝輸入法,心裡無意識的會排斥它
為了之後要好好跟他相處,非裝無蝦米不可

先不說小A跑很頓,這台MSI剛剛開機+開瀏灠器也花了我不少時間阿...

用了這幾天的心得大致覺得用終端機模式很有趣
也有點看懂指令的意思,不像剛裝ubuntu時那麼害怕了
而且我今天也發現另一槽的vista的密碼我忘了,所以真的好好跟ubuntu相處了

雖然用終端機很有趣,但幾乎不會像網路上的tutoral教的一模一樣
通常都要混合好幾種方法才會成功,所以我要記錄一下

使用的Reference
在Ubuntu上安裝Gcin及嘸蝦米輸入法-海芋小站
http://www.inote.tw/2009/05/ubuntugcin.html
在 Ubuntu 12.10 的 Gcin 輸入法平台安裝嘸蝦米輸入法- Compunotes
http://changyuheng.github.com/blog/2013/01/25/zai-ubuntu-12-dot-10-an-zhuang-fu-xia-mi-shu-ru-fa/
安裝嘸蝦米
http://phorum.study-area.org/index.php?topic=37664.0;wap
安裝gcin遇到的問題
http://www.ubuntu-tw.org/modules/newbb/viewtopic.php?viewmode=thread&topic_id=5120&forum=8&post_id=21122



基本上安裝第一個教學完後打開gcin-setup時就會出現
gcin:cannot create /root/.gcin/config/left-right-button-tips
如第三個reference寫的,要先自己建.gcin跟config資料夾
不能簡單用mkdir建,而是如第四個reference的方法
打完再去把gcin-setup打開就成功了