聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

十二月 4, 2015

小惡魔AppleBOY
AppleBOY
小惡魔 - 電腦技術 - 工作筆記 - AppleBOY is about »

tag cloud

» Laravel 50 個小技巧 + Laravel 5.2 新功能

Laravel PHP Framework

在學習 Laravel 階段,一定會天天看 Laravel Documentation,但是有很多小技巧是在文件內沒寫出來的,網路上找到這篇 50 Laravel Tricks in 50 Minutes,寫了 50 個 Laravel 小技巧,包含了 IoC Container, Blade, Eloquent, Middleware, Routing, Commands, Queues, Events, Caching 等模組。

當然作者最後不只介紹了 50 個小技巧,另外也展示了 Laravel 5.2 的新功能,像是可以在 Routing 內寫 Modle Binding,所以非常推薦大家看這 Slides。底下列出 Laravel 5.2 新功能

在 Routing 內可以直接 binding Model

Route::get('/api/posts/{post}', function(Post $post) {
    return $post;
});

scheduled tasks 支援 log 連續寫入檔案

$schedule->command('emails:send')
    ->hourly()
    ->appendOutputTo($filePath);

支援 Array 驗證

html 寫法如下

<p>
  <input type="text" name="person[1][id]">
  <input type="text" name="person[1][name]">
</p>
<p>
  <input type="text" name="person[2][id]">
  <input type="text" name="person[2][name]">
</p>

在 Laravel 5.1 要用 loop 方式驗證,但是 5.2 可以改寫如下

$v = Validator::make($request->all(), [
  'person.*.id' => 'exists:users.id',
  'person.*.name' => 'required:string',
]);

Collection 支援 Wildcards 功能

要讀取 posts 底下所有的 Title 可以寫成如下

$posts->pluck('posts.*.title');

Database Session Driver 多支援兩個欄位

資料庫 Session Driver 多支援 user_idip_address,這樣就可以很快速的清除單一帳號的 Session。

MySQL 支援 JSON Type

MySQL 5.7.8 之後支援 JSON Type,現在 Laravel 5.2 也會開始支援 JSON Type。

十二月 1, 2015

小惡魔AppleBOY
AppleBOY
小惡魔 - 電腦技術 - 工作筆記 - AppleBOY is about »

tag cloud

» 小皓滿三個月了喔

0AE251E8E8E44D15BA81801046F2C3AE

小皓從出生到現在已經滿三個月了,時間過的好快,底下是上週在家裡,小皓媽媽用嘴巴吹氣讓小皓感覺非常驚恐,小皓的反應真是經典也非常可愛

記錄小皓目前狀態,四小時喝一次奶,大約 160 cc,體重大約快七公斤,最近開始會跟大人一樣看八點檔甘味人生。老婆昨天很高興的說,小皓有雙眼皮,因為剛出生的時候好像一眼單,一眼雙,害她很擔心,昨天看到雙眼皮立馬拍照,會不會之後又消失了 XD

FBF6AA9D88CF48F988AB53F36AB13315

十一月 27, 2015
» calibre 2.45 釋出

自由的跨平臺電子書管理軟體,calibre 2.45 正式版釋出,此版本新增了幾個功能以及修正了 10 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new

» 0 A.D. Alpha 19 Syllepsis 釋出

0 A.D. 團隊在2015年11月26日釋出了他們的第19個開發版本,Alpha 19 Syllepsis,此版本包含了以下的改進與新功能:

  • 建築與攻城武器捕獲:非攻城武器的單位現在可以捕獲攻城武器與建築物。只要點選此類單位後,再將滑鼠游標移到攻城武器或建築物上,就會出現兩個交叉的圖示,然後您就可以發出捕獲的指令。此後就會開始增加該單位的捕獲點數,一旦捕獲點數全滿,您就得到該單位了!
  • 新的勝利模式:「征服建築物」(摧毀所有敵方建築物即可勝利)以及「征服單位」(消滅所有敵方單位即可勝利)。
  • 停火遊戲模式:現在可以設定在一定時間內,所有玩家無法進行攻擊。
  • 攻擊協調:玩家現在可以在外交視窗內點擊玩家(包含 AI)名稱的按鈕來請求該玩家攻擊特定的敵人,Petra AI 現在也支援此功能了。
  • 以及其他新功能,請見官方公告。

新聞來源:New Release: 0 A.D. Alpha 19 Syllepsis

十一月 16, 2015
» Plasma 5.4.3、Applications 15.08.3 及 Frameworks 5.16.0 已經可用 (Chakra GNU/Linux)

自我們的 2015.11 Fermi ISO 發佈才過沒幾天,新的更新又來了!

KDE 的 Plasma 5.4.3Applications 15.08.3Frameworks 5.16.0 已在 Chakra 中提供。這次釋出包含的大多是臭蟲修正以及翻譯更新,所以這對每個人來說應該都是安全的更新。

另外,一些重要的更新已提供:
  • sddm 0.13.0
  • calligra 2.9.9
  • clementine-qt5(實驗性的)

在 Pacman 中所有的取代問題回答 Yes 都應該是可以的。若您在此次更新中遇到其他問題,請至對應的論壇討論串中詢問或回報。

我們大多數的鏡像可能需要 12 至 24 小時來同步。要在更新前檢查鏡像是否已同步(至少 core 與 desktop 須已同步),您可以執行 mirror-check 應用程式。

新聞來源:Plasma 5.4.3, Applications 15.08.3 and Frameworks 5.16.0 by KDE now available

十一月 14, 2015
» calibre 2.44 釋出

自由的跨平臺電子書管理軟體,calibre 2.44 正式版釋出,此版本新增了幾個功能以及修正了 5 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new


小惡魔AppleBOY
AppleBOY
小惡魔 - 電腦技術 - 工作筆記 - AppleBOY is about »

tag cloud

» Laravel Homestead 支援 MySQL 5.7 和 Node 5.0

Laravel PHP Framework

昨天半夜看到 Laravel News 發佈支援 MySQL 5.7 和 Node 5.0 的消息,作者已經將 Homestead Vagrant box 更新上最新版了,如果你是用 PHP7 版本,請更新到 0.1.1 (laravel/homestead-7 branch),如果非用 PHP 5.7 請更新到 0.3.3 版本,此 Box 更新兩個項目,就是支援 MySQL 5.7 版本,及 NodeJS 5.0 版本,已經非常新的版號,透過底下指令就可以更新 Local 端的 Box Image:

$ vagrant box update

MySQL 5.7 版本支援了 JSON Format 真是太令人振奮了,另外此 Box 也是為了將來要釋出 Laravel 5.2 版本搭配用。最後補上升級後版本截圖

Screen Shot 2015-11-14 at 2.41.31 PM

十一月 11, 2015
» Chakra 2015.11 Fermi 發佈

我們很高興的宣佈 Chakra 2015.11 Fermi 釋出了!就像之前一樣,這次釋出就是我們穩定套件庫的一次快照,其包含了自上一次釋出以來所有的更新及變動。

Fermi 系列的 ISO 映像檔在 Chakra 上有了一些重要的變動:
  • Plasma 5 現在是預設的桌面環境,取代了 kde-workspace 4。
  • Calamares 是一個積極開發中的現代化安裝程式,已經取代了 Tribe,後者已經在 Chakra 服務許多年了,但是它已經太過時了,我們只好拋棄它。
  • 新的套件庫架構,其目標是簡化開發者的工作與增進使用者的體驗。所有的穩定套件庫,包含「gtk」,現在都預設啟用了。
  • 新的顯示管理員,SDDM,其與 Plasma 5 整合得相當好。
  • 新的藝術集,稱為「Heritage」,這是非常成功的 Caledonia 藝術集的分支,同時也包含了新的桌布。

不幸地,我們的在第一次開機時執行的桌面迎賓程式並可讓使用者調整個人設定的程式,Kapudan,尚未移植到 Frameworks 5,所以它將不會在此 ISO 映像檔中出現。

2015.11 Fermi ISO 映像檔中提供了以下這些好用的套件:

KDE 軟體
  • Plasma 5.4.2
  • Frameworks 5.15.0
  • Applications 15.08.2
  • Calligra 2.9.8

核心套件
  • 核心 4.1.4
  • xorg-server 1.16.4
  • systemd 227
  • qt5 5.5.1
  • qt4 4.8.7
  • sddm 0.12.0

驅動程式
  • xf86-video-nouveau 1.0.11
  • xf86-video-ati 7.5.0
  • xf86-video-intel 2.99.917
  • mesa 10.5.0
  • nvidia 352.30(再加上 340.76 與 304.125)
  • catalyst 15.5

儘管這個 ISO 映像檔已經被測試了好一段時間了,我們仍預期可能會有臭蟲出現,因為是第一次實作如此大量的變動。請花點時間在我們的臭蟲追蹤系統上回報您所遇到的問題,這樣我們才能嘗試解決它們。

已知問題:
開機過程可能會凍結幾秒鐘。這是因為正在載入必要的組件,請耐心等待以完成開機。
若您在 VirtualBox 中使用 Chakra,您可能會遇到一些網路問題,此時請執行「systemctl start dhcpcd.service」。若是已安裝好的,您也可以執行「systemctl enable dhcpcd.service」來讓它永久啟動。若您遇到顯示問題,請在「顯示」分頁下停用 3D 加速。
Chakra 的映像檔並不支援 unetbootin,且 DVD 必須以不高於 4x 的速度燒錄。要建立可靠的安裝媒體,請參見我們 Wiki 上的簡介
仍有一些對於混合式顯示卡的偵測問題,所以您可能會在啟動 ISO 或是安裝後的重新開機時經歷黑螢幕。暫時的解決方法是手動切換到適合您的驅動程式。
目前仍無法在 RAIDLVMLUKS 上正確的自動安裝,但您仍可以在我們的論壇上找到一些解決方法。

新聞來源:Chakra 2015.11-Fermi released

十一月 6, 2015
» calibre 2.43 釋出

自由的跨平臺電子書管理軟體,calibre 2.43 正式版釋出,此版本新增了幾個功能以及修正了 4 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new

十一月 5, 2015

小惡魔AppleBOY
AppleBOY
小惡魔 - 電腦技術 - 工作筆記 - AppleBOY is about »

tag cloud

» Git tips 請不要 commit 已經註解的程式碼

github-logo

上週看到一篇國外作者寫的 Please, don’t commit commented out code,裡面內文真的不得不按讚啊,對於每天都要 review code 的開發者來說,最不喜歡看到的就是類似下面的程式碼

this.test = function(req, res, next) {

  // if (foo) {
  //   return '1';
  // } else if (bar) {
  //   return '2';
  // }

  return 3;
};

上面的程式碼在 git diff 指令會產生如下

Screen Shot 2015-11-05 at 2.23.06 PM

可是正確來說應該是看到底下畫面

Screen Shot 2015-11-05 at 2.32.03 PM

上面這張圖才是對於開發團隊有幫助的,文章內作者提到幾點為什麼不要留下已經註解的程式碼,底下是作者的一些看法,我覺得相當實用啊

造成誤解或誤會

對我而言這點是最大的原因,假設你是剛加入團隊,或者是每天需要 review 別人程式碼的開發者來說,當你看到被註解的程式碼,第一的感覺是什麼,我自己是會停住,並且想想為什麼前一位開發者會將這段程式碼註解呢?也許這段註解對於團隊是非常重要?但是你的思緒已經停住,是不是會想找上一位開發者討論呢?而造成不必要的誤解,也浪費了其他開發者時間。每次找該開發者詢問的的結果都是『喔 忘記砍掉了』

隱藏重要的程式碼

請看原作者提出的範例

// dozens
// of
// lines
// of
// commented
// code
someImportantCode()
// dozens
// of
// more
// lines
// of
// commented
// code

開發者快速看程式碼的同時,是不是很容易忽略掉 someImportantCode 函示?

過時 Out of date

註解的程式碼時間一久,跟目前已經脫離的一段時間,根本就不適合放在專案內了,都已經在使用 git 版本控制了,為什麼不好好利用 Git 的優點,而是透過註解程式碼來記錄過去的程式呢?請注意,在團隊合作時,寫註解是給其他團員看,而不是給自己看。寫程式的同時,也請寫好完整文件。

結論

註解程式碼的缺點遠大於優點,實在看不出來有什麼理由需要將註解程式碼留下,為了避免此,可以透過一些工具,像是 eslint-rules 內的 no-commented-out-code 規則,團隊合作最終極目標就是,團隊專案給其他人 Review 的時候,別人會說這專案是一個人寫的嗎?這樣就成功了 ^__^

十一月 4, 2015
» LibreOffice 5.0.3「新鮮版」與 4.4.6「安定版」釋出

LibreOffice 5.0.3 已經釋出,這是 5.0 系列的的第三個錯誤修正版本,同時也釋出了 4.4.6,這是 4.4 系列的第六個錯誤修正版本,沒有意外的話,也會是最後一個官方修正版本。
對於企業使用者,文件基金會建議在有認證專家做為後盾的情形下部署 4.4 系列到大型企業及組織,以提供額外的加值服務。

新聞來源:The Document Foundation announces LibreOffice 5.0.3 “fresh” and LibreOffice 4.4.6 “still”

十月 30, 2015
» calibre 2.42 釋出

自由的跨平臺電子書管理軟體,calibre 2.42 正式版釋出,此版本新增了幾個功能以及修正了 4 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new

十月 29, 2015

小惡魔AppleBOY
AppleBOY
小惡魔 - 電腦技術 - 工作筆記 - AppleBOY is about »

tag cloud

» PHP-FIG 新網站

Screen Shot 2015-10-29 at 9.46.27 AM

PHP-FIG 終於通出新網站了,介面比上一版本還要清楚許多,首頁直接清楚列出三大標準參考 AUTOLOADING, INTERFACES, CODING STYLES,網站的 Souce Code 可以在 Github 上面找到,目前 FIG 只有釋出 PSR-0, PSR-1, PSR-2, PSR-3, PSR-4, PSR-7,其他有很多部分目前都在 Review 中,詳情可以參考 PHP Standards Recommendations,Coding Style 部分,我建議可以裝 PHP-CS-Fixer 搭配 SublimText 編輯器就可以自動幫你校正所有 PHP Source Code。新人建議可以先把 PSR-2 看完,這樣團隊 Coding Style 才能達到一致性。

十月 18, 2015
» digiKam 4.14.0 釋出

digiKam,一個 KDE 桌面環境下的影像管理程式,在2015年10月18日釋出了 4.14.0 正式版,此版本是一個次要釋出版本,修復許多臭蟲,此版本也將會是 4.X 系列的最後一個穩定版本,接下來的新穩定版本將會是計劃在2016年春天釋出的 5.0.0 版本,其將會基於 Qt5/KF5 進行開發,第一個 5.0.0 的 Beta 測試版很快就會釋出。

來源:digiKam Software Collection 4.14.0 released...

» calibre 2.41 釋出

自由的跨平臺電子書管理軟體,calibre 2.41 正式版釋出,此版本新增了幾個功能以及修正了 7 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new

十月 15, 2015
» KDE Frameworks 5.15.0 發佈

此次的釋出更改了 Baloo 桌面搜尋框架的索引方式,故若留有先前的索引檔案,則在更新到 5.15 版本後必須重新建立,並包含大量的錯誤修復及新功能,其他的框架則是包含了大量的錯誤修復。

新聞來源:Release of KDE Frameworks 5.15.0

十月 5, 2015

小惡魔AppleBOY
AppleBOY
小惡魔 - 電腦技術 - 工作筆記 - AppleBOY is about »

tag cloud

» Laravel Homestead 支援 PHP 7

Laravel PHP Framework

很高興看到 LaravelHomestead 推出 PHP 7 的版本,假如您還在使用 PHP 5.x 的 homestead box,請參考本篇教學,或者是參考線上文件來升級。底下是這次升級的兩個步驟,第一個就是重新下載新的 PHP-7 box 檔案,第二步驟修改 Homestead.yaml設定檔,請參考如下:

下載 homestead php-7 分支

要使用 PHP 7.0 請直接到 laravel/homestead repository 內下載 php-7 分支

$ git clone -b php-7 https://github.com/laravel/homestead.git Homestead

修改 Homestead.yaml

完成後,請勿執行 init.sh,因為這樣會直接覆蓋掉您的 Homestead.yaml 設定。修改您的 Homestead.yaml 加入 box 設定

box: laravel/homestead-7

最後在 laravel/homestead 目錄執行 vagrant up,就會開始下載新的 box 檔案並且開機,接著透過 vagrant ssh 登入系統即可。

Screen Shot 2015-10-05 at 2.55.16 PM

疑難排除

問題:原本的 homestead 指令無法開啟新安裝的 PHP 7 系統?

如果原本系統有 homestead 指令,你會發現升級後,無法透過 homestead up 來開機顯示新的 PHP 7.x 系統,這是因為 virtual box 的 name 衝突,要解決此問題,要先把原本的 box 刪掉,刪掉之前,請務必備份原本 box 內修改過的檔案或者是資料庫備份。請先執行底下指令

$ vagrant global-status

會顯示目前 vagrant 存在的 box 狀態

Screen Shot 2015-10-05 at 2.43.13 PM

畫面顯示會有兩個 box,一個是原本 homestead (PHP 5.x) 另一個則是 PHP 5.7 版本,這時候請先透過 vagrant destroy 把上面畫面兩個系統刪除,然後再重新下 homestead up 這樣就會是跑 laravel/homestead-7 新系統了,最後把資料庫 restore 回去,打開 URL 就可以看到原本的網站了。

問題:打開原本網站,結果發現 502 bad gateway?

這原因可以在 Nginx Log 檔案發現底下訊息

2015/10/05 10:05:13 [crit] 2061#0: *12 connect() to unix:/var/run/php5-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.10.1, server: homestead.app, request: "GET /journals/J0000005585 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "homestead.app"

可以看到 Nginx 設定的 unix:/var/run/php5-fpm.sock 路徑錯誤,請改成 unix:/var/run/php/php7.0-fpm.sock 才對,完成後請重新啟動 Nginx。

十月 3, 2015
» calibre 2.40 釋出

自由的跨平臺電子書管理軟體,calibre 2.40 正式版釋出,此版本新增了幾個功能以及修正了 6 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new


小惡魔AppleBOY
AppleBOY
小惡魔 - 電腦技術 - 工作筆記 - AppleBOY is about »

tag cloud

» Pingdom 升級支援亞洲區服務

74c50c2938accf866de4cf41fefd3b9c_400x400

Pingdom 是一套偵測伺服器是否存在的工具,網站如果出問題掛點,Pingdom 會用 Email 及手機簡訊通知管理者。強大的地方不只這裡,還可以偵測 TCP, DNS, SMTP 只要是網路的 protocol 幾乎都有支援,個人買的是標準方案 (Standard),之前一直讓我很困擾的是,Pingdom 只有支援美國及歐洲伺服器,所以如果要偵測亞洲區像是新加坡等地方,ping 的 latency 幾乎都飆到 1000 ms 以上,所以變成只能讓客戶看 up time。但是昨天收到 Pingdom 升級全部方案的資訊,令人振奮的是 Pingdom 開始有亞洲區服務,底下是 Standard 升級過後的方案:

  • 支援選擇 Test 所在地 (原本 Standard 並無此服務)
  • 支援亞洲區機房 (墨爾本, 雪梨, 香港, 新加坡, or 漢城.)
  • 可以透過 IPv6 來偵測網站
  • 提供新版後台服務

以上會統一在 2015/11/02 升級全面服務,所以目前還不能看到上述功能,另外 10 月也有優惠方案

  • 將目前訂訂閱方式由月改成年,這樣可以給 10% 折扣
  • 將目前訂訂閱方式由月改成年,並且把目前方案升級成年繳,這樣可以給 20% 折扣

九月 25, 2015
» calibre 2.39 釋出

自由的跨平臺電子書管理軟體,calibre 2.39 正式版釋出,此版本新增了幾個功能以及修正了 7 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new

support:

一頁

A Django site.