當你想要跨網域 ajax request,以往只有 jsonp(script) or iframe,現在我們有 CORS..
分類: 程式設計
SASS 動手做
想學但觀望了好久,看再多文章沒動手,也只是假裝自己懂,實際練習才會變成自己的知識跟能力,行動力已經快被殺光了,最近終於有些動能重新舉起鍵盤打打字…
Continue reading…
在迷霧中開發
之前存活在一個只能在公用電腦上網的環境,讓我對透過能在線上編輯器開發與運作的網站很感興趣,是指包含後端執行而且有一個目錄可以存放程式,紀錄一下目前用過覺得不錯的幾個:
[js step] 都是物件
JavaScript 的變數都有物件的型態跟特性,什麼型態都可以當成物件來用。物件是指?可以擁有資料跟方法的變數。
例如這個 obj 物件。
var obj = {}; obj.data = 1; obj.method = function() { console.log("data = " + this.data); } obj.method(); //print 1
而其他也是物件的型態有
陣列
var arr = [1, 2, 3]; arr.data = 1; arr.method = function() { console.log("data = " + this.data); } arr.method(); //data = 1 console.log(arr); //[1, 2, 3] console.log(arr[0]); //1 console.log((null, arr)); //[1, 2, 3, data: 1, method: function] 1
函式
var fn = function() { return "hello"; }; fn.data = 1; fn.method = function() { console.log("data = " + this.data); } fn.method(); //data = 1 console.log(fn); //function () { console.log("hello"); } console.log(fn()); //hello
陣列跟函式都有他原本的功能,但是也帶有物件的特性。就連原生型態數字、布林、字串也都有物件的版本,可以用物件的方式處理。
var n = new Number(100); n.data = 1; n.method = function() { console.log("data = " + this.data); } n.method(); //data = 1 console.log(n); //Number {data: 1, method: function} console.log(n+1); //101
如果沒看到建構 n 的方法,會不會把 n 認作一個物件勒~所以有一些函式可以用來判別變數的型態
n instanceof Number //true typeof n // object type of 1 // number n.valueOf(); //100 n.toString(); //"100"
所以複寫 valueOf 跟 toString 可以讓一般物件運作起來像是數字或字串,js 會在執行運算時轉型來決定呼叫哪個函式。
var what = {valueOf: function() { return 100;}}; console.log(what+50); //150 what = {toString: function() { return "I am what"; }} console.log("Who are you. "+ what); //Who are you. I am whatwha
MacBook Air – OSX 初體驗
觸碰版手勢
兩指 捲軸滾動
兩指+ctrl = 放大
三指 拖曳 選字
四指 左右 切換視窗 上下視窗管理
三指+拇指 分離 顯示桌面 合併恢復
三指點選:中鍵 可以用來點連結開分頁 http://clement.beffa.org/labs/projects/middleclick/ 需要裝軟體
BTT Better Touch Tool 可以自訂手勢跟事件
注音輸入法
xcode and xcode cli
OSX 開發編譯的環境,舊版要註冊 apple.com 才能下載安裝,因為我系統還在 10.7.5 不能裝 XCODE 5 只能裝 XCODE 4.6.x。
要做開發的工作沒裝幾乎就要幹嘛都不行,連 homebrew 都不能裝,類似 linux GCC,CLI 是另外一個套件,可以透過指令列來編譯程式。
homebrew
homebrew 是 OSX 套件管理工具,類似 apt-get or yum ,只是要先安裝 XCODE CLI 以後才能裝。去官方跑個 ruby script 就可以了。
# 安裝 $ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" # 裝套件 $ brew install git $ brew install node $ brew install coreutils
如果有多個使用者要共用,他在設計上沒有像 linux 一樣都用 root 裝,也沒有像 npm 可以切割多個使用者很完整,只好透過設定群組權限來讓使用者都能存取安裝資料夾囉,小缺陷,可能是普通筆電不常用在多個使用者環境。
NTFS-3g MAC-fuse
NTFS 的隨身碟沒辦法直接寫入,需要透過這兩個套件裝好代替原本的驅動才可以
系統偏好設定
觸碰版的功能設定
鍵盤快捷建 關閉 fn+arrow fn+f1~12
快捷鍵
fn+arrow =page down/up start/end
fn+back = Delete
option+back = Delete word
Command + Shift+3 = screen captrue
Command + Shift+4 = range captrue
Command + Shift+4 + space = window captrue
TextWrangler setup
Keyboard > allow tab key to indent text blocks 打開 允許區塊縮排
Keyboard > enable shift-delete for forward delete 關閉 shift-delete 會刪除字
Editor default > auto-expand tabs + tab width
shell(https://github.com/mlwmlw/mac-config)
- oh-my-zsh+ theme agnoster:zsh 跟 prompt 狀態 + solarize 樣式
- vim: bundle 管理套件, pathogen 讓套件依資料夾管理
- iTerm2:代替內建的Terminal
- solarize : vim 的樣式跟 ls(先裝coreutils)的樣式
VirtualBox
跑 windows 跟 linux 效果都不錯喔~切割一個螢幕出來
搭配 vagrant 可以有很多玩法
spaces
桌面管理的功能,學習怎麼切割多個螢幕
dashboard
關掉用不太到的 dashboard widget 頁
To turn Dashboard off:
defaults write com.apple.dashboard mcx-disabled -boolean YES
To turn Dashboard on:
defaults write com.apple.dashboard mcx-disabled -boolean NO
You have to restart the Dock after making either change for it to take effect:
killall Dock
電池保養
http://appleuser.com/2013/08/22/how-to-extend-macbook-battery-life/
不要常用到幾乎沒電才充,也不要一直都沒讓電池放電(100%)。
充電到100%以後把插頭拔掉,讓他放電到~96%再插插頭,這時候不會充電,電池也不會保持再飽飽的。