Shawn前走


DO THE RIGHT THING, AND DO THE THING RIGHT!

Shawn前走


DO THE RIGHT THING, AND DO THE THING RIGHT!

當NPM的套件相依出問題時...

NPM

相信開發NodeJS的人
一定用過NPM這個套件管理工具
它是不錯用
但是有許多地方被人詬病
諸如:
效率問題
套件版本控制機制問題
最近剛好成為苦主
就來分享一下處理心得
(所以現在有不少人跳槽到Yarn陣營…)

這裡不談效率問題
我想NPM團隊應該會逐漸去改善
聽說5.X以上的版本有不錯的改進
至於版本控制問題
其實NPM設計出發點是沒問題的
前提是你必須遵照semver的版本號規則
若是你不依循就會造成別人編譯錯誤…
這邊簡單介紹如何避免或解決這些問題

更多...

在VS Code使用PlantUML

PlantUML

今天簡單介紹一個UML小工具PlantUML
印象以前在學著畫UML圖時真的很”搞剛“
常常需要對齊排版
尤其是在畫流程圖的時候
又碰到流程的調整時更為複雜
但如今有PlantUML這對UML的領域特定語言(DSL)+自動產圖
絕對是更據表現力來實踐UML的方法
配合VS Code這一款優秀的編輯器
相信整合起來一定會不錯使用

更多...

淺談設計模式(二)

淺談設計模式

上一篇談到五大設計原則
今天再來補充一下兩個常用到的概念(姑且讓我這樣稱呼)
一個叫做*“迪米特法則”*
另一個是*“組合/聚合復用原則”*
為什麼要介紹這兩個設計概念呢?
賣個關子最後再做說明吧

更多...

淺談設計模式(一)

淺談設計模式

Long long long … years ago~
記得有把玩過設計模式的書
當時只看了一兩章就看不下去了…
後來發現對於一個沒有什麼開發經驗的人來說
根本就是無字天書
時過境遷,我想應該有足夠的知識將這些書看過
因此就將“大話設計模式”放入我的閱讀書單
並花了幾週的時間將它讀過
想藉這機會把讀過後的心得記錄下來
因為設計模式博大精深
以下的分享大多是經過自己的領會並不會照本宣科
所以若有錯誤的地方歡迎指正喔~

更多...

還我乾淨俐落的JSON

json

現在服務彼此之間溝通大多使用JSON這種數據格式來表示
但若物件中的物件中有些是空值時就很麻煩…
當傳到其他服務主機上還需再做判斷且會增加網路傳輸
處理不當甚至會影發奇怪問題
有鑑於此
傳輸一個乾淨的JSON為開發一個API基本且“道德”的指標

本文介紹在開發JAVA時如何將它變得清爽且乾淨

更多...

PM2≠PM2.5

pm2

因為近年來空污問題日漸嚴重
尤其當人聽聞PM2.5這詞往往聞之色變
所以不知會不會有人看到PM2
以為是不是又有一種2微米(μm)以下之粒狀污染物出現…
在此只是為博君一笑
開一個冷冷的場子(氣溫最近屢屢創新高好像滿需要的)
言歸正傳,今天是要介紹一個守護進程的好用工具(PM2)
當初是在開發NodeJS的時候知悉
只不過因為當初想快速一點將產品上線測試
於是就先選擇非常陽春的守護進程的工具–forever
由於最近要上到生產環境
為了系統的健壯 日誌的規劃 監控 效能的提升
當然要選用PM2摟
使用過後真的建議大家快快換掉forever吧~

更多...

X-Frame-Options最佳實踐

X-Frame-Options

通常在做iframe嵌入都會為了避免Clickjacking攻擊
而在header加上X-Frame-Options
而往往最基本的防護就是在所有的header上
加上X-Frame-Options SAMEORIGIN
但是若要靈活的使用就不容易了
例如:
若在想要的subdomain下允許嵌入
亦或是在不同的domain下允許嵌入
最終目的就是希望達到可以再任意想要的domain下允許嵌入
在此把我個人的見解以及觀念跟大家分享
(實際實作要看所使用的語言而定)

更多...