The Beauty of Data Visualization
數據分析不是去尋找某個答案, 而是讓我們透過數據去想像, 將數字融入內容當中, 成為故事的一部分。
今天 Mac mini 工作機的 MySQL 又出問題了, 所以想把它重新安裝一下…
到官網下載 mysql-5.5.16-osx10.6-x86_64.dmg
安裝前先備份 databases:
1 |
mysqldump -u root -p --all-databases > backup.sql; |
安裝 MySQL
安裝後 MySQL 會把程式分別放在以下三個地方:
因為我的 sql 資料有點大, 所以到 /etc/my.cnf
:
1 |
max_allowed_packet = 64M |
把 max_allowed_packet
設大一點避免資料過大而斷線
把舊的 sql 還原:
1 |
mysql -u root -p < backup.sql |
完工!
This is a PHP extension embeds the Google V8 Javascript Engine.
V8js extension on Github
1 2 3 4 5 6 7 8 |
brew install v8 git clone https://github.com/preillyme/v8js cd v8js phpize # MacOS # ./configure CXXFLAGS="-Wno-c++11-narrowing" ./configure make; sudo make install |
check samples
and tests
folder
如果你經由 PECL 安裝 v8js:
sudo pecl install v8js
你可能會遇到一些編譯上的錯誤, 造成這個問題的原因是因為在 PECL 上的版本 0.1.3 使用了一個已經被最新版 V8 engine 所廢除的函式, 如果想要使用這個版本的話必須要使用 V8 3.15.11 的版本, 降版的方式如下:
brew install v8-3.15.11
如果之後想要切換回新版:
1 2 3 4 |
# 查看目前安裝哪些版本 brew info v8 # 切換版本 brew switch 3.17.10 |
–
In our past website develop workflow, we may often update files to production server by FTP, but it maybe causes some problems due to human factors, and it can’t be controlled and tracked for file version. As we increasingly need to maintain our projects by Git, if we are able to update server files while we do Git push, it sounds like a good idea, right? so we dont need to check which files want to upload any more. even we can push our project to development server and production server according to our needs.
在以往網站建置的工作流程中, 我們可能常常是用 FTP 的方式來更新 production server 的檔案. 這之中, 常會發生一些人為因素的失誤造成混亂, 而且也沒有一個紀錄來追蹤檔案的版本情況. 現在的工作愈來愈需要 Git 來維護專案, 而如果我們在每次 Git push 的時候, 也更動 server 的檔案, 似乎是個不錯的 idea? (我們不再需要用 FTP 自已判斷要上傳哪些有被異動過的檔案了!) 甚至我們可以先在本機測完, Git push 到 development server, 沒問題後, 再正式發佈到 production server 上線.
聽起來好像不錯? 那該怎麼作?
假設我們現在是這個情況:
mkdir "your project folder" cd "your project folder" # 建立 git 檔案庫 git init # create release branch git branch master git checkout master git remote add prod-server [email protected]:/var/www/production.com
cd /var/www/production.com git init git config receive.denyCurrentBranch ignore git branch master git checkout master
我們需要用到 Git post-receive hook 來實現當收到 push 資料之後更新到最後版本:
vim .git/hooks/post-receive
將以下 script 內容加上去
1 2 3 4 |
#!/bin/sh cd .. env -i git reset --hard env -i git submodule update |
別忘了讓 post-receive 是可被執行的:
chmod +x .git/hooks/post-receive
我們先建立一個 README.md, 然後用 Git push 看看是否伺服器上也會同步:
1 2 3 4 |
touch README.md git add . git commit -m 'first commit' git push prod-server master |
Git 會用 SSH 的方式連線, 所以請先確認是否能用該 user 連線登入 production server.
–
如果想要之後只打
git push
就佈署到主機, 請加上 -u 參數git push -u prod-server master
1 2 |
ls -rw-rw-r-- 1 starck starck 32 2013-04-01 19:49 README.md |
確認 README.md 存在, 成功!
現在, 我們現在有一個比 FTP 上傳更聰明的佈署方式了.
–
2013-04-03 update: 今天在找資料的時候發現 Stack Overflow 有人在討論這個方式.
Stack Overflow: Deploying a Project using Git Push
.
這是一個可以讓你直接在 Chrome 瀏覽器 SSH 連線的 Chrome Extension
使用過後覺得還蠻好用的, 但因為切換視窗的習慣, 目前可能還是會用 iTerm, 但無論如何, 這是個不錯的 idea.
Secure Shell on Google Web Store.
–
開啟 Chrome console, 執行下面的命令:
term_.prefs_.set('font-family', 'Monaco')
term_.prefs_.set('font-size', '12')