PostgreSQL 備份還原指令

PostgreSQL 已經成為我開新專案的首選資料庫,備份還原指令跟以前熟悉的 mysql 不一樣,紀錄一下。

備份匯出

使用 pg_dump 指令。

pg_dump -W -U postgres -h localhost your_db_name > 20150304.sql

其中 -U postgres 是資料庫使用者名稱。

匯入還原

使用 psql 指令。

sudo service nginx stop

dropdb  -W -U postgres -h localhost your_db_name 
createdb -W -U postgres -h localhost your_db_name
psql  -W -U postgres -h localhost your_db_name < 20150304.sql

sudo service nginx start

如果要砍掉重現現有的資料庫,用 dropdb 和 createdb 指令,並且需要關閉正在連線的應用,例如 nginx 網站伺服器。

三個使用版本控制系統的建議

(本文 crossposting 於 ALPHACamp Blog)

如果說有什麼是開發軟體專案一定要使用的基礎工具,使用「版本控制系統」應該可以記上一筆。無論是個人或是團隊開發,都可以透過版本控制系統獲得巨大的好處。

沒有版本控制系統的話,檔案可能被別人或自己不小心覆蓋或遺失、也不知道是誰因為什麼原因改了這段程式碼、也沒辦法可以復原回前幾天的修改。有了版本控制系統,開發人員只要將每次程式碼的變更都紀錄(Commit)起來,並且透過版本控制系統中進行更新。

有了版本控制系統,我們可以瀏覽所有開發的歷史紀錄,掌握團隊的開發進度,而且作任何修改都不再害怕,因為你可以輕易的復原回之前正常的版本。我們也可以透過分支(Branching)和標籤(Tagging)的功能來進行軟體發行的不同版本,例如穩定版本、維護版本和開發中版本。

已經沒有什麼可以阻礙你使用版本控制系統,Git 或 Mercurial 是免費開源的版本系統系統、隨處可用的網路、便宜的雲端伺服器,甚至有現成的第三方服務 Github 或 Bitbucket。

如果你還沒有使用的話,建議馬上為你的軟體專案建立版本控制。接下來是幾點使用版本控制系統的建議:

閱讀全文〈三個使用版本控制系統的建議〉

如何做一位與工程團隊合作良好的產品經理

(本文 crossposting 於 ALPHACamp Blog)

產品經理(Product Manager)是任何新創產品的關鍵角色,他定義了產品的需求規格,找出產品的價值所在。而一個成功的產品代表結合了好的產品需求規格,以及能夠依據這個需求規格實作出來的工程團隊。我們說產品經理負責 Building The Right Product,而工程團隊負責 Building The Product Right,兩者缺一不可。由此可知產品經理與工程團隊之間的關係有多麼重要。

以下是幾點是我認為可以幫助產品經理與工程團隊的合作,一起打造更好的產品:

閱讀全文〈如何做一位與工程團隊合作良好的產品經理〉

講個秘訣:技術簡報的好用工具

過去幾年經常作一些技術演講,尤其最近加入 ALPHACamp 擔任起全職的技術講師,上課和 Live demo/coding 變成家常便飯,自然得跟投影機和簡報軟體做好朋友。

要不要做 Live demo/coding 很大一部分決定了簡報的手法。如果不需要的話,那麼建議螢幕使用 Extended Mode,因為 Apple Keynote 會有 Presenter mode (設定在 Keynote -> Preferenses -> Slideshow -> Enable Presenter Display) 在你的筆電畫面上。在這個 Presenter 畫面有很多不錯的功能:

閱讀全文〈講個秘訣:技術簡報的好用工具〉

程式開發入門者的最適黑客松:ALPHA Hackathon

ALPHA HackathonALPHA Camp 即將在下個月舉辦的黑客松活動,我會在這場活動中擔任 Mentor 的角色。最近其實有不少黑客松,這一場有什麼特別的呢?ALPHA Hackathon 的定位主要是針對初級的開發者一個學習與成長的機會,透過團隊合作和現場 Mentor 的指導,協助你親手打造一個產品,解決問題。

因此,當初在發想階段的時候,就做了一些不一樣選擇,例如:

  1. 不是創業比賽,不是比Idea。所以到現場才會公布題目。可以避免參賽者提前偷跑,就失去現場的樂趣了。當然,這也不是單純程式解題競賽,而是以打造產品為主軸的主題。

  2. 沒有 Final Pitch。根據以往我的經驗,最後的上台Demo因為很多組既浪費時間又無趣,而且容易變成投影片競賽,大家只會對上台表現好的給高分。我認為最好的辦法就是各組互評(Peer Review),親自去看看去玩玩。

報名截止的日期是 2015/1/11,黑客松時間則是 2015/1/30 19:00 到 2015/2/1 17:00,歡迎年輕的開發者報名參加

QCon 上海站 2014 遊記

去年還是前年就有注意到 QCon 大會在大陸開始有了,囿於時間和費用考量一直沒成行。今年中換工作後比較有空了,就決定報名 QCon 上海站。第一次買破萬塊的 Conference 門票(四千左右人民票),收穫跟見識長進不少。Qcon 是個專業於軟體開發的研討會,議題多元,除了技術面,也有管理面、產品面、創業的議題,重要的是講者都是工程師背景,所以調性上就是比較合啊。

QCon 一天有六軌議程,每天有不同專題軌。他們的議程設計是主辦單位先決定有哪些專題軌,然後由該專題出品人負責該軌的講者邀請、審核和品質控制,蠻像策展的感覺,基本上該軌的議程都很有連貫性,有些出品人也會搞一些該軌特別的活動,例如圓桌討論、圖像引導等等。每天早上開場的時候,出品人還會上台介紹當天該軌的議程,很像在拉票。一整天的那一軌,出品人當然也就是主持人,同時因為出品人也是這個議題的專家,所以和講者應對和聽眾的Q&A也可以應對的很好,甚至擔任外國講者的即時翻譯。相較之下台灣的大型研討會像 COSCUP 雖然有進行議題分類,但卻沒有連貫的感覺,主題感較為薄弱。

閱讀全文〈QCon 上海站 2014 遊記〉