2015年4月29日 星期三

5 個 JavaScript 面試常見問題

5 個 JavaScript 面試常見問題

webber0928
轉載網址: https://yulun.me/2014/5-typical-javascript-interview-questions/以下內容為閱讀 5 Typical JavaScript Interview Exercises 文章後的觀後感。這幾個問題說基本也滿基本的但是有些地方一不小心可能就會犯錯!問題一:Scope(function() { var a = b = 5;})(); console.log(b);請問 console.log(b); 印出來的結果是?答案5在這個 IIFE 中,變數 a 使用了 var 關鍵字來宣告成為 local variable,而 b 則沒有 var 修飾所以宣告成為 global variable。那如何避免這個問題呢?只需要在 IIFE 中加入 'use strict',如此一來只要有任何變數試圖宣告為全域變數都會出現錯誤警告。(function() { 'use strict'; var a = window.b
5 個 JavaScript 面試常見問題

5 個 JavaScript 面試常見問題

webber0928
轉載網址: https://yulun.me/2014/5-typical-javascript-interview-questions/ 以下內容為閱讀 5 Typical JavaScript Interview Exercises 文章後的觀後感。 這幾個問題說基本也滿基本的但是有些地方一不小心可能就會犯錯! 問題一:Scope

2015年4月21日 星期二

 CSS3 Flexbox Layout

CSS3 Flexbox Layout

webber0928
A Visual Guide to CSS3 Flexbox Properties:                     https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties
 CSS3 Flexbox Layout

CSS3 Flexbox Layout

webber0928
A Visual Guide to CSS3 Flexbox Properties:                     https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties

2015年4月20日 星期一

用 native react 做出 ios app for conf

用 native react 做出 ios app for conf

webber0928
改天有時間來拜讀吧!github: https://github.com/mikkoj/NortalTechDay
用 native react 做出 ios app for conf

用 native react 做出 ios app for conf

webber0928
改天有時間來拜讀吧! github: https://github.com/mikkoj/NortalTechDay
安裝 NVM 來管理你的 Nodejs

安裝 NVM 來管理你的 Nodejs

webber0928
安裝 NVM 來管理你的 Nodejs此安裝法適用於ubuntuInstall script要安裝使用 curl install script:$ curl https://raw.github.com/creationix/nvm/v0.4.0/install.sh | sh或是 Wget:$ wget -qO- https://raw.github.com/creationix/nvm/v0.4.0/install.sh | sh檔案會存在 ~/.nvm然後請新增以下命令列到 .bashrc 的最後面:# set PATH so it includes user's private bin if it existsif [

2015年4月19日 星期日

Vim自動補齊神器 YouCompleteMe

Vim自動補齊神器 YouCompleteMe

webber0928
github: https://github.com/Valloric/YouCompleteMeYouCompleteMe的特別之處基於語義補全總所周知,Vim是一款文本編輯器。也就是說,其最基礎的工作就是編輯文本,而不管該文本的內容是什麼。在Vim被程序員所使用後,其慢慢的被肩負了與IDE一樣的工作,文本自動補全 (ie. acp ,omnicppcompleter ),代碼檢查( Syntastic )等等工作。針對文本自動補全這個功能來說,主要有兩種實現方式。基於文本我們常用的omnicppcompleter , acp ,vim自帶的cx, cn的實現方式就是基於文本。更通俗的說法,其實就是一個字:猜其通過文本進行一些正則表達式的匹配,再根據生成的tags(利用ctags生成)來實現自動補全的效果。基於語義顧名思義,其是通過分析源文件,經過語法分析以後進行補全。由於對源文件進行分析,基於語義的補全可以做到很精確。但是這顯然是vim所不可能支持的。而且經過這麼多年發展,由於語法分析有很高的難度,也一直沒有合適的工具出現。直到,由apple支持的clang/llvm橫空出世。YouCompleteMe也正是在clang/llvm的基礎上進行構建的。整合實現了多種插件clang_completeAutoComplPopSupertabneocomplcacheSyntastic (類似功能,僅僅針對c/c++/obj-c代碼)支持語言cc++obj-cc#python對於其他的語言,會調用vim設置的omnifunc來匹配,因此同樣支持php , ruby等語言。已知的有* javascript —- tern_for_vim  * ruby/java —- eclim使用效果圖使用感受和IDE一樣,自動補全,根據include的文件進行補全不用再蹩腳的生成tags補全非常精準,而且速度很快,不會有延遲(以前在大項目上,acp用起來實在是很卡)支持類似tags的跳轉,跳到定義處以及使用處出錯提示很智能,並且用起來真的是如絲般柔滑,不用輸入:w進行強制檢測安裝說完了那麼多好處,就要說到安裝了。不同於以往其他vim插件,YCM是一款編譯型的插件。在下載完後,需要手動編譯後才能使用。對應其他的插件來說,僅僅就是把.vim的文件丟到相應文件夾下就可以。而這也加大了使用YCM的難度。安裝準備最新版的Vim(7.3.584+),編譯時添加+python標誌(已經安裝的可以通過vim --version查看)cmake(mac可以通過homebrew安裝,brew install cmake ,ubuntu可以通過sudo apt-get install cmake )安裝vundle插件,用於安裝管理vim的插件mac下快速安裝在.vimrc中添加下列代碼1Bundle 'Valloric/YouCompleteMe'保存退出後打開vim,在正常模式下輸入1:BundleInstall等待vundle將YouCompleteMe安裝完成而後進行編譯安裝:12cd ~/.vim/bundle/YouCompleteMe./install --clang-completer如果不需要 c-family的補全,可以去掉--clang-completer。如果需要c#的補全,請加上--omnisharp-completer。正常來說,YCM會去下載clang的包,如果已經有,也可以用系統--system-libclang。就這樣,安裝結束。打開vim,如果沒有提示YCM未編譯,則說明安裝已經​​成功了。手動編譯安裝安裝的腳本並不是什麼時候都好用,至少對我來說是這樣的。安裝完之後出現了問題,參考issue#809。在用:BundleInstall安裝完成或者使用1git clone --recursive https://github.com/Valloric/YouCompleteMe.git獲取最新的倉庫,而後使用git submodule update --init --recursive確認倉庫的完整性後,開始安裝流程。下載最新的clang二進製文件YCM要求clang版本> 3.2,一般來說都是下載最新的。安裝python-dev.(ubuntu下使用sudo apt-get install python-dev ,mac下默認提供,否則請安裝command line tools )編譯1234cd ~mkdir

Coprights @ 2016, Blogger Templates Designed By Templateism | Distributed By Gooyaabi Templates