還我乾淨俐落的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下允許嵌入
在此把我個人的見解以及觀念跟大家分享
(實際實作要看所使用的語言而定)

更多...

讓Promise許你一個未來

Promise

好久沒寫東西了,剛好最近有用Nodejs寫一個爬圖小程式,過程中有用到Promise
再加上之前用Express時把所有request都加上了Promise(感覺相當不錯)
當時用它是為了解決兩件事
1.異步調用時避免Callback Hell
2.可以try catch
但是對其原理及併發操作控制並沒有多少研究
就想說藉著這次機會 稍微再深入一點
(不知道Promise是什麼的可以參考這篇gitBook)

更多...

一勞永逸把Google Analytics的Spam除掉

google

有好一段時間沒上Google Analytics(GA)關心網站流量了
最近上去一看,挖哩勒~

好多spam在我的GA上亂玩…
這怎麼行,當然要將他們一網打盡

其實之前有用來源網址來擋
但最近這種spam幾週就有一個新的
這樣擋要到民國幾年哪…
還好網上有一篇詳細的文章教大家如何設定
只要透過簡單的方式就可以擋掉大部分的spam
在此簡略告訴大家如何操作

更多...

強大的Google Apps Script

google

現今已經是雲端服務時代,google文件已經廣為大家接受及使用
所以當然要學一下類似excel的VBA摟
記得小時候(讀書時)有學妹不會寫VBA還請我幫忙寫…
它就叫做Google Apps Script
我覺得他的優勢就是使用javascript
就不需要再去學一個語言
再者,它可以跟其他google服務作結合
可以完成更為強大的功能

最近剛好要處理一個功能
將google spreadsheet中變動的項目重新產生SQL語法
雖是可以手動一筆一筆建
但這樣不像身為一位工程師該做的事
當然要寫一隻小小的程式
讓它能自動產生SQL :)

以下就舉個小小範例提供給大家參考

更多...

讓WordPress在Google PageSpeed Insights上達到90分

Google PageSpeed Insights

之前用PageSpeed Insights做測試
發現自己的網站在手機的效能上竟然是紅色的
電腦上也是黃色的…

於是決定要動手優化網站
這邊提供一點心得給大家
相信大家應該就能很輕易地上升為綠色
甚至是90以上的高分喔

首先,主要就是要將圖片優化
再來就是將JS跟CSS壓縮並打包成一個檔
細部步驟就在下面介紹摟~

更多...

利用Mega自動備份資料

Mega

相信大家對Mega這個免空已相當的認識
目前欣賞它的原因是:

  • 第一 開放原始碼
  • 第二 速度還算快
  • 第三 有SDK可以使用

因為本人的主機空間過小(窮小孩)T_T
所以極需一個backup storage server
一台便宜的storage 50GB一個月要價5$
而申請一個free acount的Mega就會有50GB的空間
可以說使用Mega不僅備份空間綽綽有餘又可以省錢何樂不為

接下來就要告訴大家如何使用API來實現自動備份
其實Mega有提供SDK給人使用
但是它是用C++開發,還要讀許多Documentation…
所以我就去gitHub上面找是否有人提供好用的API
果真~找到了一位老兄用go寫的一個Mega Client的工具
使用後真的相當好用
藉此分享給大家

更多...

用Docker快速架設Gitlab

docker

Gitlab是一個相當好低開放原始碼的git管理工具
並且版本更新快速
又有支援CI
若是要做自動化測試建置及部署都沒問題

但是要安裝其實是有一點點難度的
好在有docker
讓這一切事都變得簡單許多
在此就不多敘述如何安裝docker
本人是採用sameersbn這位老兄所提供的image
他在github上的star有超多顆
看起來就很有保障
廢話不多說
直接進入實作

更多...