還在念大學的時候,我曾經去一家剛成立一年的小新創公司實習,職位是實習網頁工程師。
那這家公司有多小呢?我剛進去的時候,包含老闆,員工總數只有4人,2個共同創辦人及2個(實習)工程師,除了員工人數少以外,公司的資本額更是只有一百萬。
還在念大學的時候,我曾經去一家剛成立一年的小新創公司實習,職位是實習網頁工程師。
那這家公司有多小呢?我剛進去的時候,包含老闆,員工總數只有4人,2個共同創辦人及2個(實習)工程師,除了員工人數少以外,公司的資本額更是只有一百萬。
坊間或教科書上有一些量化的方法可以用來衡量可維護性。不過我想要用比較含糊點的方式來表示這個「可維護性」這個概念。
就一個運行良好且成熟的系統來說,日常的維護並不會有大幅度的變更或修改程式碼的需求,通常只是一些小調整,或是bug的修正。
但是對於還在成長中的系統來說,除了要修復bug以外,還要配合公司、業務發展,大幅度調整現有功能,修改範圍會橫跨多個模組或程式、甚至跨越不同系統,而基於系統現有架構上擴充功能也很常見(調整架構也有機會發生)。
本篇為PHP系列
兩個問號 ??
及問號冒號 ?:
的差別其實不大,兩者在使用方式上的差異,主要在於什麼時候回傳第二個變數。
要聊 ??
跟 ?:
不得不先提一下三元運算子 (ternary),三元運算子的用法是像這樣:
$a ? $a : $b;
MySQL跟MariaDB常用的時間類型有DATATIME
及TIMESTAMP
,在比較新版本的MySQL中,是支援在這些類型中儲存毫秒(10^-3
秒)、微秒(10^-6
秒)的。
透過phpMyAdmin介面,可以設定DATATIME及TIMESTAMP的長度(精準度),長度的值域為0~6
,長度的意思是儲存到小數點下第n位,也就是10^-n
。
或是透過SQL的方式建立或修改時間類型的欄位時,也可以加上長度的設定。
CREATE TABLE `test` (
`created_at` DATETIME(3) NULL ,
`updated_at` TIMESTAMP(6) NULL
)
舉例來說,TIMESTAMP
設定為長度設定為6的話,會得到TIMESTAMP(6)
的類型,代表在資料庫中,此欄位最多可以儲存到微秒,像是:
Photo by Jordan Harrison on Unsplash
在提到網頁開發的時候,常常會提到前端工程師跟後端工程師。前端聽起來也許比較好理解,大概就像是前台、使用者介面吧?多少可以想像的到。但後端呢?後面是指哪邊?螢幕的後面嗎?
當然不是XD
為了釐清大家的一些疑惑,本篇會聊聊前、後端的區別,並針對後端的部分多補充一些資訊,希望對大家有幫助。
RabbitMQ支援四種Exchange,Direct、Fanout、Topic、Headers。本篇主要想聊聊Topic Exchange以及Routing Key、Binding Key用法。
全部依賴都應該要被注入嗎?如果不、怎樣的依賴需要被注入?
當代的程式開發框架,通常可以找到很方便的依賴注入、控制反轉容器工具,像PHP Laravel Framework就內建了很方便的IoC Container,讓開發者可以輕鬆地處理類別的依賴注入。但有時候太方便反而會造成濫用,或是有怪味道的產生。
市面上軟體開發相關的書籍和課程,已經提供許多標準化的流程可以使用了,但是在新創、中小規模或是制度較為不完善的公司,因為各種問題,可能比較難套用所謂的標準流程,難免會顯得開發流程一團亂、無所適從。因此這篇文章想要提供根據個人實際開發上的經驗,提供一種流程給新人作為參考。
流程如下,以下會簡單說明各階段該做什麼:
在MySQL/MariaDB資料庫欄位中儲存文字資料時,會需要決定儲存時使用的文字編碼,比如說常見的utf8或是該被淘汰的big5都是一種文字編碼,這些編碼又被稱為character sets,字符集。在不同的字符集當中,對於人類所認知的同樣的一個字,會使用不同編碼儲存。
PSR-0
跟PSR-4
都是PHP-FIG制定的PHP Autoloader標準,而透過composer的協助,開發者可以方便的使用這些Autoloader。
所謂的autoloader自然就是提供自動載入類別的功能,開發者不需要自己在每支檔案前reuqire或include所有需要的類別。
在Laravel 5.7中,Blade Engineer 編譯完 Blade 樣板後,會針對這次編譯完的結果產生快取檔案,以加快下次讀取速度,節省每次重新編譯的時間。
有兩種簡單的方法可以修改Laravel View快取的預設路徑。
Is it still okay to learn PHP in 2019?
剛開始學習網站後端開發的人,常常會問:哪一種語言最適合作為後端語言?PHP、Python、javaScript(Node.js)還是ruby(RoR)?其實這個問題沒有標準答案,要看各自的考量還有需求。而我這邊的看法很單純,那就是不管其他語言怎麼樣,PHP並不會是一個差勁的選擇。
為什麼?以下幾點是PHP的好處:
以下我會稍微簡述這幾點。