跳到主要內容

發表文章

目前顯示的是有「快快樂樂教學系列」標籤的文章

npm i fail - 查不出原因的處理方式

npm i fail - 查不出原因的處理方式 經歷許多次的 npm 安裝問題,目前有幾種不同的解法。 npm cache issue 可能因為 npm 下載的時候,或者因為連線問題導致模組並沒有完整被安裝,但是 npm 的檢查機制就是只要存在就會跳過安裝步驟,因此當遇到安裝完成,但是執行卻無法的時候,可以嘗試著 rm -rf node_modules # install again npm i 如果是在中間就遇到 fail 的狀態,有可能是因為之前連線問題,並沒有將模組安裝成功,但是資料已經存在 npm cache 資料夾裡面,以往都需要找出這個環境設定,環境路徑才能進行移除,不過現在透過 npm cache 可以簡單做到這件事情 npm cache clean rm -rf node_modules npm i npm version issue 另外一種會再安裝的時候跳出錯誤,會顯示為 npm 版本不符合,或者是 node 版本不符合,這個時候就需要進行安裝更新,最簡單方式就是升級 npm . npm i -g npm 缺少套件 通常最常見的就是有些模組需要透過 gcc, g++ 這是最常見的缺少模組問題,以 mac 環境來說直接透過 brew 就可以安裝完成。 brew install gcc brew install g++ # install again npm i 記憶體不足 最後一種就是屬於記憶體不足的狀態,這通常會很難檢查,實際上 npm 也會跳出錯誤,現在的錯誤資訊都已經比較明顯, npm ERR! node v4.4.1 npm ERR! npm v3.8.6 npm ERR! code ENOMEM npm ERR! errno ENOMEM npm ERR! syscall spawn npm ERR! spawn ENOMEM 如果遇到這種狀況,請重新調整記憶體分配,如果是採用 vps, 就看能不能夠 scale up ,讓機器的記憶體提升,就可以解決問題。 後記 以上都是踩過的雷,以及在嘗試許多 node.js 專案時會遇到的問題,我們也經常在摸索中,不過從摸索以及找到答案的過程都繞了許多遠路,希望透過分享可以讓大家更瞭解 npm 錯誤時可以怎麼處理。

nginx call php and node.js by route forward

sudo apt-get install php5-fpm sudo vim /etc/php5/fpm/php.ini cgi.fix_pathinfo=0 safe_mode = Off restart php fpm sudo service php5-fpm restart generate php file path mkdir /usr/share/nginx/www vim $CKFINDER/config.php 修改檔案位置,以及網址設定 $baseUrl = 'http://domain.com/path/'; $baseDir = '/PATH/FOLDER/IMAGES'; i have no idea, why there is images floder more. but, it works chmod 777 $FOLDER_PATH edit nginx server { listen 80; root /usr/share/nginx/www; location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location / { proxy_set_header X-Real-IP $remote_addr; proxy_pass http://127.0.0.1:1337; proxy_set_header X-Forwarded-For $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; p...

[教學] 快快樂樂申請 ssl 憑證 certificate signed by a CA for your domain

certificate signed by a CA for your domain mac brew install openssl ubuntu apt-get install opensll 當 opensll 安裝好之後,就可以開始建立 key, csr 簽署檔案。 mkdir /etc/ssl/localcerts cd /etc/ssl/localcerts openssl req -new -newkey rsa:2048 -nodes -sha256 -days 365 -keyout www.mydomain.com.key -out www.mydomain.com.csr 注意: 要特別注意檔案名稱,通常會建議命名為 domain name 之後會比較容易識別,但不是一定要。 e.g. www.caesarchi.com -> www.caesarchi.com.csr 「重要」,在輸入 Common Name (CN) 的時候,記得輸入 domain name。 e.g. Common Name (e.g. server FQDN or YOUR name) []:www.caesarchi.com chmod 400 /etc/ssl/localcerts/www.mydomain.com.key 如果是透過線上申請 RapidSSL , 將 csr 的資料填入,填寫完畢後,會將 crt 所需要的檔案透過 email 送到信箱中。 需要將 xxx.xxx.csr 檔案內容複製,貼上到申請表格中,讓服務商可以產生出來憑證。 將 Intermediate 和 SSL 合成 當取得 crt 檔案之後,會發現有兩筆 crt 分別為 server.crt Intermediate.crt 請將 server.crt 複製到 server 上,並且透過指令將 intermedia.crt 檔案兩者合併。 cat intermediate.crt >> SSL.crt 組合之後,目前簽證也算是告一個段落。但是 crt 檔案,記得將權限修改一下 chmod 400 SSL.crt 將 ssl 設定到 nginx 在原有的 nginx 設定裡面,將剛才 ss...

快快樂樂,上手 sketch [外掛,教學彙整]

sketch 快速簡短筆記 sketch 是一個用來製作 ui, mockup 好用的工具,他的強項在於 ui, mockup 的使用上,所以跟 photoshop 的比較,大概就是 JavaScript 之於 Java, 熱狗跟狗之間的關係。 這邊做個簡短筆記,將自己搜尋到的東西推薦給大家。 plugin 管理工具 目前已經推出 ui 介面,可以讓使用者方便透過視窗介面查找,安裝,移除套件(記得安裝移除之後要重新啟動 sketch) sketch toolbox 推薦 plugin Content-generator-sketch-plugin - 自動產生內文,圖片,假資料等假假的東西 Dynamic Button Symbol Detacher - 動態調整 button 的寬度以及 padding 的自動化工具 marketch - 用來自動生成標記工具,如果你沒有用 zeplin, 還蠻推薦這套的 Sketch Measure - 設計完工之後,自動標上間距,色碼 Sketch mirro - 將製作完成的 app mockup 透過 iphone 進行預覽 推薦外掛服務 特別增開一個外掛服務專區,上面的 plugin 主要都是針對單機,或者將資料產出,但是線上有許多好用的服務已經與 sketch app 整合在一起,讓開發流程變的更為順暢,推薦大家可以試用一下這些好服務。 PS. 如果大家有推薦的,歡迎也在底下留言給我。 zeplin - 可以免開啟 sketch, 讓開發者直接看道色碼,間距,同時也可以在上面討論的好工具 invision - 透過 sketch 製作完成的 mockup, 產出到線上,讓多方可以互動討論 快速入門資料 族繁不及備載,許多入門及快速教學在網路上其實都很多,這邊是自己一開始的時候,查到的資料,覺得還不錯,提供給大家。 https://designcode.io/sketch sketch 教學系列影片 SKETCH设计教室!从零开始学APP设计利器SKETCH(一) 來用 Sketch 畫你的 UI 吧 奇特招數 paparazzi 擷取資料 因為 Sketch 是一個向量圖形工具,資料是向量圖基本上皆可以匯入進行調整,所以可以透過...

透過 ubuntu 14.04 Server 建立 VPN Server

透過 ubuntu 14.04 Server 建立 VPN Server build a VPN server on ubuntu 14.04 (PPTP) PPTP is not safe but it is super simple 請注意,PPTP 連線並不是一個安全的方法 安裝方式 Installation 透過 apt-get 安裝 pptp server apt-get update apt-get install pptpd 修改設定 edit config vim /etc/pptpd.conf 可以把預設值解開,這邊的設定主要是當 client 連上後,他的 private ip 會指向的位置。 localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245 接著修改對外的 DNS 設定等資料, vim /etc/ppp/pptpd-options 設定如下, name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 8.8.8.8 #ms-dns 8.8.4.4 proxyarp nodefaultroute lock nobsdcomp mtu 1490 mru 1490 設定帳號密碼 account setting vim /etc/ppp/chap-secrets 舉例來說,設定如下 username1 pptpd password1 192.168.0.2 username2 pptpd password2 192.168.0.3 設定封包及 IP tables vim /etc/sysctl.conf 修改內容 edit, net.ipv4.ip_forward=1 terminal 底下輸入指令 『注意』, 設定  <Public Server IP> 為這台伺服器的對外 IP iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i...

解決 Pandoc 產出中文問題

解決 Pandoc 產出中文問題 上次介紹到 Pandoc 安裝方法 ,當開心使用之後卻發現無法正常執行,原因是因為 Pandoc 的編譯引擎,預設是無法支援中文字型,所以在官方文件中也有指出解決方法。 Q: I get a blank document when I try to convert a markdown document in Chinese to pdf using pandoc -o test.pdf test.markdown. Ans, By default, pandoc uses pdflatex to generate the PDF, and pdflatex doesn’t handle Chinese characters. But you can change the default to use xelatex instead. You should also make sure you’re using a font with Chinese glyphs. For example: link 我們可以試著用上面的指令來解決掉問題, 解決指令 pandoc -s convention.md -o c.pdf --latex-engine=xelatex -V mainfont='Adobe Ming Std' 試著產出結果, 是否開始覺得這個工具提高開發者的生產力呢,以後文件就用這個產出吧!Node.js 教學書籍持續更新中。

Pandoc 快速安裝 Install pandoc in MacOS (10.8)

Install pandoc in MacOS (10.8) Pandoc 是採用 haskell 編譯的強大指令轉譯指令,可以讓多種不同資料進行轉換,主要會用倒是因為這次 Node.js 實戰書籍 要將平台轉移到 github 上,以 Markdown 為主,進行整合資料,轉譯成 epub, PDF, html 等格式。 以下是找到的安裝方式, # 先下載 MacTex: http://mirror.ctan.org/systems/mac/mactex/mactex-basic.pkg $ sudo chown -R `whoami` /usr/local/texlive $ tlmgr update --self $ tlmgr install ucs $ tlmgr install etoolbox # Install pandoc view homebrew $ brew install haskell-platform $ cabal update $ cabal install pandoc # add to your path "~/.cabal/bin" # 完成之後就可以進行資料轉譯 $ pandoc doc.pandoc doc.pdf 也許大家有興趣的話,可以多多參考 pandoc 的指令集,一起互相交流。

[教學] node.js 取得本機 ip

今天突然被問到這個問題,之前的設定方法其實都是透過起一個 server, 然後自己設定 listen ip, 另外一種方式就是直接指定成 0.0.0.0 ,這樣子也是可以指定到自己的本機。 然後稍微去網路上找幾個解決方法, 解決方案 ifconfig 如果最直覺的解決方案,當然就是使用 child process 直接進行解決,然後去 parse 最後回傳的結果,但是這樣子,好像有點……….蠢….. var util = require('util'); var exec = require('child_process').exec; function puts(error, stdout, stderr) { // parse….. util.puts(stdout); return parse result; } exec("ifconfig", puts); 使用 net, http 另外一種方式就是自己起一個 connection ,接著再去看一下自己從 request 所發出來的 socket. var net = require('net'); var socket = net.createConnection(80, 'www.google.com'); socket.on('connect', function() { console.log(socket.address().address)); socket.end(); }); 使用 dns 搭配 os 這個方法跟剛才的 net 方式有點像 ,如果是自己的話,應該會挑選這個方法來解決。 require('dns').lookup(require('os').hostname(), function (err, add, fam) { console.log('addr: '+add); }); 使用 os 在 os 模組裡面有提供許多好用的東西,當然裡面就直接有,netw...

[教學] 安裝 Nginx, PHP, MySQL 在 MacOS 使用 homebrew

上次有提到在 Mac 裡面如何 安裝 Apache 以及其他相關 Web 服務 ,當然 Xampp 已經有提供這樣的完整的服務,可以讓開發者快速的建立 AMP 的環境。 本篇將介紹如何使用 homebrew 安裝 Nginx, PHP, MySQL. prepare installed homebrew install script 這邊使用的是從 github 上面找來的安裝腳本,如果有興趣知道裡面到底寫什麼的朋友,就麻煩自己下去 Google. 但是在執行 homebrew 之前,建議還是先 update 一下. sudo brew update https://gist.github.com/mystix/3041577 Setting 重新設定 MySQL root 密碼 /usr/local/opt/mysql/bin/mysqladmin -u root password 'new-password' mysql -u root -p 設定 nginx,目前預設都是 8080, 可以透過修改 nginx.conf 修改 port /usr/local/etc/nginx/nginx.conf 同時在 nginx.conf 裡面的設定解除註解,fastcgi_param 後面的數值也稍微修改一下, location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /usr/local/var/www/$fastcgi_script_name; } 重新啟動 nginx, sudo nginx -s reload 或者關掉重新啟動 sudo nginx -s stop sudo nginx 以上步驟安裝完成,恭喜各位,接下來可以進入測試階段 try 到 html ...

[教學] HTMLPrettify 使用方式 - sublime text 2

https://github.com/victorporof/Sublime-HTMLPrettify 介紹 sublime html Prettify 工具,藉由鐵神看到的分享,這邊說明一下如何設定,讓自己之後可以快速回顧,知道使用的方法。 Prepare sublime text 2 / 3 sublime package installer node.js install 打開 Sublime text 2 / 3

iis node - build node.js runner on windows

iis node - build node.js runner on windows 很久之前就聽說過 node.js 可以執行 在 iis 裡面,可惜一直都沒有太多緣份執行 windows 環境,這幾天剛好把 windows 環境建置完成之後,第一個想法就是安裝看看 node.js 在 windows 環境裡面。 本篇文章將會帶領大家一步一步完成 iisnode 的建立。 基礎環境 windows .net framework Node.js installed 開始安裝 在開始之前還是要貼心提醒一下各位,記得安裝好 node.js ,在 windows 環境裡面已經具備有 node.js 的執行檔案,下載好 msi 安裝包之後,直接陸續下一步就可以完成了 現在微軟已經很方變得提供 WebMartix 這個平台給予輕量級開發者,到 WebMartix 的環境中,進行安裝檔案的下載包含 express 7.x, iisnode…相關套件。 WebMartix 下載頁面 開始安裝 WebMartix, 選項都 使用預設 即可,接下來會從所有詳細的安裝資料會陸續從網路下載下來,進行安裝。 接著最後會看到完成步驟,就表示 WebMartix 安裝完成。 使用 WebMartix 開始使用 WebMartix ,正常安裝完成後,開啟會看到如下的畫面 在這邊我們選擇新增一個專案,從範本庫裡面 接著選擇 node.js 專案,這邊我選擇 express 的專案 , 輸入專案名稱之後,按下完成,畫面就會開始新增一個專案同時,會從網路上下載 express web 範本,複製到本地端。 以上步驟有正確完成,就會跳到專案畫面,有點類似程式編輯器的軟體,畫面如下, 接著按下左上角的 '執行' ,再選擇瀏覽器就可以看到開啟一個新的連結,也是大家最常看到的畫面。 WebMartix 我們就談到這邊,基本的環境就如此簡單可以架構起來。 後記 從 WebMartix 這個專案可以看到微軟對於 open source 開始有了許多不同方向的支援,讓開發者更為簡單的開發,同時讓初學者可以很快的加入他們的環境中。 當然 WebMartix 除了上述好上手的東西之外,其實還...

grunt-init and scaffolding - 快速建立自己的專案

使用 Grunt 快速建構專案, grunt 裡面有許多詳細的作法,這邊主要介紹 scaffolding 的使用方式。 Basic node.js git Install 安裝基本 grunt cli 基礎環境指令 npm install -g grunt-cli Project-scaffolding 另外在 0.4 之後的版本 grunt-init 已經與核心拆開,因此這邊要另外安裝。 npm install -g grunt-init 將 initial template project 使用 git 複製到 ~/.grunt-init/ 這邊以 jquery 為例子,使用 git 複製到 ~/.grunt-init/ 資料夾底下,命名為 jQuery 樣板資料夾 git clone git@github.com:gruntjs/grunt-init-jquery.git ~/.grunt-init/jquery Initial your project 環境準備好之後,我們就可以開始進行專案的建立,首先建立一個資料夾,之後再進行專案樣板套用 mkdir project cd project grunt-init jquery 之後會開始詢問你此專案的名稱以及設定等,資料將會設定到 packge.json 裡面。 後記 透過這樣的方式,以後可以透過自己建立好的基礎環境,如果要重新啟動不同專案的時候,就可以快速開發,不需要自己寫重複的架構以及重複的資料。 相信大家對於 grunt 的強大開始有感覺,歡迎大家一起來討論 grunt & node.js 開發。 相關連結 http://gruntjs.com/project-scaffolding http://book.nodejs.tw/

[教學] angular 官方教學資料導覽

angular 關於官方教學自己做的一個簡短筆記,在官方基本教學流程中,已經給予大家大致的輪廓,到底 angular 怎麼去執行程式流程,進行 html render 以及如何將 html 變成 object,甚至到後面的 route, HttpRequest 取得資料方式 以下把 angular 官方網站提供的基本教學,做一個大致流程導覽,給自己一個簡單的紀錄。 angular 基本教學 http://docs.angularjs.org/tutorial step-0 這邊進行 angular 第一次接觸,教導如何 install angualr 以及,angular html template 如何進行運作。 Nothing here {{'yet' + '!'}} 網址 http://docs.angularjs.org/tutorial/step_00 ng-repeat step-2 加入 ng-model 了解, angular model 模型,如何使用 ng-model 與 html 進行互動 added app/js/controller.js <pre> function PhoneListCtrl($scope) { $scope.phones = [ {"name": "Nexus S", "snippet": "Fast just got faster with Nexus S."}, {"name": "Motorola XOOM™ with Wi-Fi", "snippet": "The Next, Next Generation tablet."}, {"name": "MOTOROLA XOOM™", "snippet": "The Next, Next Generation tablet."} ]; } </pre> 網址 http...

Github ribbons Github 專案緞帶

Github ribbons Github 專案緞帶 現在身為一個 developer 好像沒有 github 就缺少了什麼,熱血的你今天有沒有申請 github ,快點來加入吧! 每次在加入左上(右上)的 github project 都要花些時間,整理一下有哪些資源可以使用 一般 github ribbon github 官方介紹 ribbon 使用方式 github ribbon for retina retina 專用 github ribbon github ribbon 產生器 github ribbon 產生器 你今天 github 了嘛?

Globlish - learning English 輕鬆學習英文

Globlish - learning English 學習英文可以說是一輩子的事情,其實可以讓事情更為容易,畢竟我們不是英語系國家的人,很多時候剛開始並不需要這麼戰戰兢兢,讓自己能夠脫口說出輕鬆的英文,讓自己不再害怕任何練習的機會,反而會是一大考驗。 Globlish 可以是一個機會 Global and English, 建立在使用簡單字彙,就俱備表達自我的能力,讓自己從建立信心同時與人溝通開始。 從每天接觸英文開始,現在已經有許多 App 以及雜誌可以提供練習,最初開始接觸的人,推薦大家每天熟悉 30 分鐘聽力,從每天 30 分鐘開始。 雜誌 大家說英語 ,這是一個很棒的開始,第一個是他比較簡單,而且每個月有不同的節目,同時發音是比較緩慢的,雖然頭先一個月,會讓你覺得每天的 30 分鐘十分漫長,但是請堅持下去。 App (Andriod) VOA learning English ,這個 App 提供 VOA 節目內容,以及文章對照,讓自己不管身在哪裡都可以聽到線上節目,VOA 使用的字彙也是相對簡單,讓大家都可以輕鬆開始進入。 後記 非英語系國家學習英文,就跟我減肥一樣,這是一輩子的事情,持續做,不斷地作,中間會有起有落,不過挑選最輕鬆簡單的方式開始,肯定沒有錯,而且會讓自己開始充滿信心,進入下一個進階的階段。 推薦聯結 輕鬆背字典學英語:Globish 與 Photo Dictionary 介紹 VOA 1500 Meanings 改善破英文 先從Globish開始

[教學] Brunch.io 初體驗

Brunch.io 初體驗 JavaScript 有 Grunt , CoffeeScript 有 Brunch 。如果你懂這句話,就知道 Brunch 是協助 static html, css, javascript 開發工具。 這邊就不比較兩者的差異,因為整個開發概念不大相同,一旦比較之後,又落入 JS vs CoffeeScript 安裝方式 npm install brunch 使用方式 產生新專案, brunch new [webapp] 如果想要使用自定的專案, brunch new [webapp] --skeleton [url] 檔案編譯 目的主要是將分散的檔案編譯成單一檔案,進行 files concat brunch build [--optimize] 檔案監控 當檔案變動的時候,就會自動進行 complier,如果加上 --server 參數將會建立起簡單型 server brunch watch [--server] 配合 Bower 另外可以配合上 Bower 進行 client side 程式進行版本控管,記得資料夾裡面要設定 bower.json .bowerrc Deploy 既然是 static file ,當然也可以使用在 github page ,當你已經把檔案更新完之後,最後進行 git checkout ph-pages brunch build 通常預設是編譯到 _public 資料夾底下,將底下的資料搬移出來,或者是移到某個你想要的 static folder 底下,再進行 git push origin ph-pages 接著到自己的 github pages 就可以看到 index.html 所應該顯示的頁面結果。 Skeletons 在 Skeleton 裡面已經有許多不同種類的基礎 Project 提供各位參考,裡面有許多好玩的地方。 https://github.com/brunch/brunch/wiki/Skeletons 當然如果你有建立自己的 Skeleton 歡迎自行修改 Project 進行專案的建立。 附註 brunch 預設 _ 底線開頭的檔案是不會進行編譯,假設以 app/style...

[教學] iMessage 設定 facebook 帳號 (for MacOS)

Mad 上最近因為 adium 不時會跳出來詢問密碼,被搞到有點煩,因此開始找尋新的 instanst message 方式,原來蘋果內建的軟體就不錯用 iMessage ,可是裡面預設少了 facebook 。 相信基本的帳號大家都已經會設定,這邊就記錄一下怎麼做 facebook 帳號在 iMessage 的設定,以及 facebook account 使用方式, 設定方式 切換到 iMessage command + , 增加帳號, 選擇 Jabber 帳號名稱 your.Facebook.username@chat.facebook.com 密碼(當然就是輸入 facebook 密碼) 按下完成 facebook 帳號設定完成。 附錄 iMessage 快捷鍵 command + 0 (開啟對話視窗,再案一次立即關閉) command + 1 (開啟好友視窗,再案一次立即關閉) 檢查 facebook 帳號方式,開啟瀏覽器,到 https://www.facebook.com/ 點選左上角,自己的大頭照,就可以看到自己的 timeline ,就可以看到自己的帳號。 參考資料: http://mac.tutsplus.com/tutorials/tips-shortcuts/quick-tip-using-facebook-chat-with-messages-on-mac/

開發者轉換到 node.js 開發方向 - Node.js for php develpers PHP

Node.js for php develpers 從某一種語言跳到另外一種語言,通常來說痛感應該是不會太大,只要有些觀念釐清即可,畢竟每種語言存在都是有某些特別的道理,或者是有他的歷史存在意義,所以語言的對戰比較之類的事情,我對於這種事情通常是一笑至之。有時間去吵那些莫名其妙的事情,倒不如發揮自己所長,好好將產品快速產出,這才是 『實現的王道』 。 話說回來,前面談到前端開發者來說 JavaScript 是一個很棒的利基點,也是一個很好出發點,轉向到後端開發當中。那是否意味著其他語言開發者就沒有相對的機會呢? 就個人在其他語言上琢磨並沒有這麼多, PHP 倒是寫過不少年,因此我從 PHP 開發者的角色來檢視一下,有哪些觀念需要被改變,需要被調整。 Node.js 是一個整體的服務 / 語言 對於 php 開發者來說,一開始的環境就是要先開始架設 Apache / Nginx,接著使用 cgi 的方式來起動 php ,當然在 linux 底下的話,直接使用套件管理,直接進行安裝會是更為方便。 apt-get install php apache 但是在 node.js 裡面,node 本身就是一個服務,不需要其他相關的程式進行啟動, node 本身就可以是一個後端的服務,或者一個 web service ,更或者是一個 command line 的進行,所以 node.js 是不需要任何相依設定。 也因為如此,所以許多 apache 幫你處理掉的事情,在 node 裡面都需要自己處理,這件事情聽起來或許很煩,事實上也是如此,開發 php 的時候許多事情 apache 都已經幫你處理完的事情,node.js 在 web 上,前面的所有開發都需要自己來,這是一個很大的不同,你需要稍微了解一下之前 apache 到底幫 php 做了哪些事情,接下來開發 node.js 才能夠了解,為什麼他要做這些事情。 Node.js 每個檔案都是獨立的 Class node.js 每一個檔案都可以視為獨立的 Class ,這跟我們之前所認知的 JavaScript 似乎有很大的不同,JavaScript 本身都是採用 fuction call ,變數宣告也很容易互相影響,可是因為 Node.js 採用 CommonJS 標準,因此在每個程式裡面,變數...

[教學] 你所不知道的 ssh 連線方式

[教學] 你所不知道的 ssh 連線方式 最近因為準備 KSDG 課程活動 ,重新看一次 Paul Irish on Web Application Development Workflow ,裡面發現了些好玩的東西,特別是 ssh 的部份,通常每次我們連線到某台機器,都需要一直 ssh 進去之後,開始輸入密碼, 大家經常忍受這件事情,可是時間長久下來,會變成一個沈重的負擔,建議大家把自己的 publis key 放置於遠端機器的路徑下, 產生 public key 建置部分,首先在自己的機器裡面輸入, ssh-keygen -t rsa [enter your password] [enter your password] 之後輸入 cat ~/.ssh/id_rsa.pub 會出現一大堆奇怪的字串,複製它 連線到遠端機器 接著進入到遠端機器裡面,到底下路徑中, vi ~/.ssh/authorized_keys 將剛才複製的字串貼上,儲存後離開, 測試連線 回到自己的本機,測試連線是不是能夠,恭喜完成以上步驟,之後就不用再輸入密碼了。 ssh user@ip.ip.ip.ip alias machine setting 可是還是有個問題,就是每次 ssh 還是要輸入一長串的使用者名稱,ip 位置,在 .ssh 裡面可以提供簡單的 alias 設定, 在自己的本機內,編輯檔案路徑為 vi ~/.ssh/config 修改內容 Host [alias name] HostName [remote ip || domain name] User [login user name] IdentityFile [identity file path(option)] 範例可以參考如下, Host demo HostName 213.80.200.1 Port 22 User caesar 之後將檔案儲存,離開,接著進行指令測試, ssh demo 很快的,我就可以直接連線到機器裡面,不用再記憶一堆使用者名稱,ip 設定等問題,直接透過更直覺的 alias 機器名稱方式,連線到自己工作環境。 結語 身...

[分享] keka 解壓縮軟體 MacOS

大家都知道 Mac 上面許多好東西都要錢,不然就是使用指令碼,而且 MacOS 預設本身是沒有 7z, rar 這類的解壓縮。 為各位介紹 Keka ,這套軟體完全為 free software (如果覺得好用,歡迎 donate) ,重點是他有中文化,對於指令苦手是一大福音。 介紹 Keka 網址: http://www.kekaosx.com/ Keka 是一個免費的 Mac OS X 檔案壓縮程式 主壓縮內核引擎來自 p7zip (遷移自 7-zip) Keka 所支持的檔案壓縮格式: 7z, Zip, Tar, Gzip, Bzip2, DMG, ISO Keka 所支持的檔案解壓縮格式: RAR, 7z, Lzma, Zip, Tar, Gzip, Bzip2, ISO, EXE, CAB, PAX, ACE (PPC)使用方式 使用方法 下載 dmg 之後,安裝至應用程式,之後開啟 keka,從此之後就可以透過 find 對檔案按右鍵,解開所有檔案的束縛,例如下圖, 以後就可以輕鬆對任何解開任何檔案的束縛,讓 Mac 除了使用指令之外,更可以輕鬆使用。 後記 Mac 上總是會發現許多有趣的軟體,讓操作更為簡單,希望大家能夠提供更多好玩有趣的軟體,提昇自己的開發速度和使用品質。 這次推薦的軟體,同時更新到自己的 MacOS 軟體列表 ,還請各位不吝賜教。