2015年2月1日 星期日

錢,夠用就好;心,安了就好

沒有留言:
蘇打綠「小時候」歌詞獨白:

「不知道你們是不是跟我一樣,覺得爸爸總是好嚴肅,好難跟他說心事
小時候,每個週末,爸爸都會騎著車,帶我到一個從沒去過的公園玩
但是不知道為什麼,長大後,我們幾乎不講話了
爸爸從來沒有稱讚過我,我也從來沒有說過我愛他
但是幸好我們都在爸爸走之前,說出心裡話
我永遠忘不了,某一天,當我要從醫院病房離開前
爸爸突然叫住我,沉默了幾秒,對我說:『你...要加油喔...』
我點點頭,轉身後眼淚再也停不了」


在跑步時,聽了這首歌的獨白
想到如果某一天,70幾歲,自己年紀大了
回頭來看看自己的人生,到底留下了什麼,有沒有不虛此行

現在我的期望,是希望能夠做個幫助大家都能彼此溝通對話的平台
讓這個世界會能夠更公開透明,減少黑暗,讓台灣因為有我而變得更好
而不是只是為了賺錢,在那爭個你死我活而去工作
人走了,賺再多的錢也帶不走

我對人生目標做的決定是否是正確,我也說不準
但就想到柯P說的:「要判斷事情怎麼做才對,想想50年後回頭看事情做對了沒有」
想想自己 50 年後,再來看看今天的決定,會不會讓以後的我後悔,就覺得心裡踏實許多

「錢,夠用就好;心,安了就好」


2015年1月26日 星期一

在 Laravel 4 使用資源庫 (Repositories) 及服務 (Services) 去降低程式的耦合性

沒有留言:
文章來源:Decoupling your code in Laravel using Repositiories and Services

當開始使用 Laravel 的時候,你可以找到有好幾個地方可以建立你自己的目錄結構,而模型(Models)則是最大的一個結構,Laravel 則是建議模型最好是使用 Eloquent 物件去設計,並告知 Laravel 這個模型指的是哪一個資料表 - 而程式的商業邏輯比較不適合放在模型這個地方。

這邊文章重點在於將不同用途的模型放在不同的地方,藉此去降低程式碼的耦合性,更重要的是特別在你的應用正在成長中且要發展較快的時候,你可以有可重複使用性的程式碼。

我們在這裡會實作資源庫 (Repository) 設計模式結合服務 (Service) 導向的架構,這個是我喜歡在乾淨的 Laravel 安裝時,分離程式邏輯的方法,可能值得注意的是,我過去開發很多 Symfony 且這樣的實做是有很大的參考基礎的。

不同類型的模型

在實作這些元素時,我們最終會留下 3 個不同類型的模型

實體 (Entities):

標準的 Laravel 模型,裡面只有包含設定的變數、被 Eloquent 使用的方法、關聯關係、訪問器及存取器。

資源庫 (Repositories):

使用實體 (Entities) 去取得你的資料,裡面的函式去收集應用程式需要的特定資料集,雖然在裡面的邏輯可能會異動,但是回傳的資料格式應該都是相同的。

服務 (Services):

全域資料邏輯的家,包含被你應用程式的使用的函式,他可以稱為是你的資源庫 (Repositories) ,也是你的資料驗證器 (validates)、建立 session 且包含你的邏輯,這些可以幫助你的控制器 (controller) 變得更為輕盈!

2014年12月30日 星期二

Composer中require與require-dev的差別

沒有留言:
在使用composer安裝套件時常會有些套件使用「require」,有些套件使用「require-dev」的方式去安裝套件,差了一下他們之間使用時機的差異。

使用時機

require:專案必須要使用的套件
require-dev:開發專案時使用的套件(像是測試的套件),在正式環境不需要的套件

在下composer指令時如果沒有指定要安裝require-dev的套件,則require跟require-dev的套件都會被安裝

require跟require-dev的套件都會被安裝

$ composer update

會安裝dev的套件

$ composer update --dev

不會安裝require-dev的套件

$ composer update --no-dev


參考資料



2014年12月29日 星期一

在 Ubuntu 14.04 使用 Homestead 建置 Laravel 4 開發環境

沒有留言:
常常我我們需要開發Web Application時候,都需要花很長的時間把環境建置起來,而Homestead以讓我們透過簡單的設定檔,輕鬆的建置好整個執行環境,讓我們能夠更專注於在開發上
Ubuntu 14.04 64 bit
Homestead 2.0
Laravel 4.2
Vagrant 1.7.1
Virtualbox 4.3 

安裝 VirtualBox

從VirtualBox官方網站下載並安裝VirtualBox
$ wget http://download.virtualbox.org/virtualbox/4.3.20/virtualbox-4.3_4.3.20-96996~Ubuntu~raring_amd64.deb
$ sudo dpkg -i  virtualbox-4.3_4.3.20-96996~Ubuntu~raring_amd64.deb 
64位元請下載amd64版本,32位元請下載i386版本



2014年10月27日 星期一

Vagrant 常用指令

沒有留言:
啟用虛擬機器
$ vagrant up
關閉虛擬機器
$ vagrant halt
重新讀取yaml設定檔並重新啟動
$ vagrant provision
使用ssh連線到虛擬主機
$ vagrant ssh 

參考資料

2014年10月26日 星期日

在 Ubuntu 14.04 安裝Consolas字形

沒有留言:
在寫程式的時候需要比較適合程式的字形 Consolas,但是在Ubuntu內沒有此字形,所以我們必須要另行安裝

下載安裝程式碼

$ wget http://webupd8.googlecode.com/files/install-google-fonts

將安裝程式碼設為可執行

$ chmod +x install-google-fonts

建立安裝字形目錄 .fonts

$ mkdir .fonts

執行安裝

$ ~/install-google-fonts

執行完畢即可開始使用 Consolas字形摟~


參考資料


Ubuntu 14.04 桌面空白解決辦法

沒有留言:
在安裝完 Ubuntu 14.04 桌面版後重新開機,輸入密碼進去後發現整個桌面是空白的,應該是桌面顯示套件掛掉的關係



使用快捷鍵 Ctrl+alt+F1 進到Terminal
重新啟動並測試桌面套件是否可以正常運作
try sudo service lightdm restart

方法一


若無法正常運作時,則重新安裝桌面套件
sudo apt-get install --reinstall ubuntu-desktop
安裝完重新開機即可

方法二

安裝 unity 及 compizconfig-settings-manager
sudo apt-get install unity
sudo apt-get install compizconfig-settings-manager
設定顯示設定視窗的位置
export DISPLAY=:0
ccsm
使用按鍵 Ctrl+Alt+F7 (或Ctrl+Alt+F8) 切換到視窗畫面,會看到Compiz設定視窗,找尋 Unity plugin並啟動它,設定完後重新開機即可

參考資訊

ADS