我的 2019 年

又到了一年的尾聲了,年初回顧了去年的點點滴滴,趁著今年還有一點點時間,也應該好好來整理一下自己做了哪些事。

要把 2019 年我做的事總結成一句話的話,就是:

逐漸往合理的架構去改善,好讓接下來要做的事更快更容易。

當然我想這件事本來就是程式開發基本中的基本,只不過相較於其它技術上我比較著重這部份,所以就被我選做今年的總結了。

閱讀全文

關於 PHP Traversing 的這檔事

foreach 大概是 PHP 程式中最常見的語法結構之後,本文將會介紹 foreach 的一些觀念,以及幾個跟它相關的 PHP 7 特色。

閱讀全文

《遺留系統重建實戰》導讀與心得

遺留系統重建實戰

最近終於把《遺留系統重建實戰》看完了,有一種被深深震憾的感覺;你知道在看一本書時,能深刻地把自己的經驗投射在字裡行間是多爽的一件事嗎?每看一段文字,就好像在講自己的故事,那種「作者你為什麼這麼懂!?」的感覺真的會讓人感動得掉淚!‬如果說《鳳凰專案》是講組識變革和工作方法,那這本《遺留系統重建實戰》就是講專案重構與重建的方法與過程。

雖然它出版的時間只有兩年多 (這裡是指原文書) ,但在我心中它已經是經典了!以下我簡單做個導讀。

閱讀全文

在 Laravel 專案中整合 Vue CLI

自從 Vue CLI 3 發佈以來,如何將它整合在 Laravel 裡是不少開發者的疑問;因此 Vue 的老爸尤雨溪便針對這個問題寫了一個教學範例 ,本文即是參考該範例所寫,不過有根據 Laravel 的新特性做一些調整。

閱讀全文

我如何從需求出發到完成一個專案

身為一個 Web 開發者,有時候我還是會問自己:「如果今天讓你一個人從頭開發出一個網站,你要怎麼開始呢?」這倒不是說我不知道怎麼做,而是要讓我自己徹底地去理解需求所面對的問題,然後明白自己可以用什麼工具去解決它。

剛好前陣子遇到一個公司內部的需求,讓我有機會重新省視一下自己目前的技能是否足以完成這個需求。

閱讀全文

Laravel 執行測試時出現 Function name must be a string

在 Laravel 撰寫單元測試有用到 @dataProvider ,執行測試時卻出現 Function name must be a string 的錯誤。

這是因為所有的 Data Provider 會比 setUp 更早被執行,所以不能在 Data Provider 裡用任何在 setUp 後才會有的東西,例如 $this->app 或 helper function ,因為這時候它們還沒有被初始化或被 autoload 載入。

閱讀全文

身為前端工程師,對你來說,你認為最重要的是什麼?

好友 Kuro 公開問了這個問題,嘗試挑戰一下。不過主要也只是整理了一下我從身邊的前端同事及社群朋友們上看到的一些特質,畢竟比起我來,他們在前端領域打滾得更久。當然這些特質應該是適用大部份工程師 (不論哪一端) ,但我還是認為前端工程師平時要更著重這些特質。

註:其他領域或許也有「前端」這個術語,但一般人認知的「前端」是泛指「 Web 前端」。

這些特質包含:

  • 厚實的基礎能力
  • 擅長找出問題點
  • 擁有靈活的思維
  • 時常保持好奇心

閱讀全文

我的 2018 年

又過了一年了, 2018 年只在這個部落格零零落落地加了幾篇文章,感覺自己似乎沒什麼長進。最近寫作的機會大多是在專案的文件上,對於技術知識的研究與自己內心的探討變得越來越少,所以應該是來寫篇心得感想的時候了。

老實說原本打算寫篇年底回顧,不過整理了一下手邊的隨手筆記和平常記在 Facebook 上的資訊後,發現想講的東西太多了,就隨性想到什麼寫什麼吧。

閱讀全文

在 Laravel 中使用 Behat 來加強測試的可讀性 - 進階篇

上一篇文章中,我介紹了如何把 Behat 整合到 Laravel 裡;不過後來我發現在專案規格越來越複雜時,把所有 step definitions 都寫在 FeatureContext 類別中變得非常不易閱讀。另一個問題就是我不想要用 putenv 函式來定義環境變數,而是希望能有 Behat-Laravel-Extension 把環境變數放在 .env.behat 裡的用法。

閱讀全文

在 Laravel 中使用 Behat 來加強測試的可讀性 - 基礎篇

Laravel 的測試框架是基於 PHPUnit 上所建立出來的,而在 Laravel 5.5 之後,測試框架的功能也大幅地加強了。只不過在越來越複雜的專案規格下,我個人覺得 PHPUnit 在情境案例的描述能力上還是不太夠,最好可以用人們看得懂的語言;而目前能夠用自然語言來描述規格情境的,當然就是 CucumberGherkin 語法了。

閱讀全文