透過 Google Analytics - Measurement Protocol 追蹤 IOT、Email 開信率等

雖然很多東西都建立在 Android 上,但總是有純 Unix 的環境,這時就用用 Google analytics (GA) 的 REST API 了 XD 這東西用途很廣,因為它可以偽裝成 image ,例如 <img src="//www.google-analytics.com/collec…

October 26, 2015 · Yuan-Yi Chang

[Linux] 調校 Apache Web server 筆記 ab、systcl.conf、limits.conf、mpm_prefork.conf @ Ubuntu 14.04

最近又播空出來處理一下,之前機器在規劃時,幾乎都用系統預設的資源,接著就直接上 AWS Auto scaling,整體上進入 m3.medium 都還堪用,直到要上到 m3.large 規模時,開始發現當初設置的 Auto scaling rules 不是很適當。於是乎把 CPU 靈敏度下調,例如…

October 23, 2015 · Yuan-Yi Chang

透過 Bitbucket、Jenkins、Slack 打造持續發佈打屁等自動化架構

透過 Bitbucket 作為 git 版本控制的服務托管處,而 slack 則是工程師打屁好去處,而 Jenkins 則是打造一鍵發佈的便利介面。雖說連續動作也可以化簡成一隻 script,但能夠端出 Web UI 介面,還是大勝! 首先提一下 git 版本控制,透過 Bitbucket 服務,人…

October 20, 2015 · Yuan-Yi Chang
有限資源

有限資源

最近剛加入的強者夥伴即將離開,得知時心情五味雜陳,但說真的,打從強者加入時,便一直等待著這事件到來。站在朋友的立場仍十分建議他去新環境闖闖,但站在團隊剛建立的初期,內心又有種落寞感,不禁回憶起當年離開前老闆時,我堅定的想法配著老闆孤寂的背影,不也是一樣嗎? 隨著年紀的增長,同輩之間仍不斷進步著,越來…

October 18, 2015 · Yuan-Yi Chang

Bash 筆記 - 使用 s3fs、mysqldump、find 透過 s3 定期備份 MySQL 資料庫資料

由於資料庫恰好有 timestamp 這個數值,除設計完 incremental backup 方式後( Bash 筆記 - 使用時間區間備份 MySQL 資料表 ),而備份好的資料又感到麻煩,所以就往 s3 丟吧!而 s3 的丟法就用 s3fs 來執行。 流程: 執行 db incremental…

October 18, 2015 · Yuan-Yi Chang

[OSX] 使用 ImageMagick convert 處理 SVG 轉 PNG @ Mac OS X 10.11

$ sudo port install ImageMagick $ convert test.svg test.png 若需要指定尺寸: $ convert -density 300 test.svg test.png 若需要指定背景: $ convert -background transpare…

October 15, 2015 · Yuan-Yi Chang

使用 Firefox 瀏覽器測試 DNS Round Robin 的方式

關於 DNS round robin 得設置可以把 ttl=0 來方便測試,單純測試 DNS record 有沒有正常顯示,可以單純不斷用 ping 查看 ip address 即可: $ ping test.domain.name 接著想驗證 server site 有沒有 session 相關的…

October 15, 2015 · Yuan-Yi Chang

iOS 開發筆記 - 處理 Simulator 上 Keyboard 沒顯示的問題

原來 iOS 8 Simulator 操作習慣改了,預設對應到實體鍵盤,若需要顯示虛擬鍵盤有兩種方式: iOS Simulator -> Hardware -> Keyboard -> 取消 Connect Hardware Keyboard 在 iOS Simulator 操作環境上,使用快速鍵呼…

October 12, 2015 · Yuan-Yi Chang
APC Back-UPS ES 500 / BE500TW 電池規格

APC Back-UPS ES 500 / BE500TW 電池規格

在 2009 年秋天買了一台 UPS 把玩,如今 6 年了,前陣子買了台立燈給他插上去,正逢颱風停電倒變成另類的用途 XD 由於習慣出門還是把它當延長線關掉,最近開啟時會出現長叫聲,雖然一開始經過幾次反覆開關可以避開,如今卻也無解了 XD 只要翻翻使用手冊啦 Troubleshooting and…

October 12, 2015 · Yuan-Yi Chang

[PHP] 處理 PHP CodeIgniter 與 apache web server、nginx 的 Rewrite Rules

之前比較常用 Apache Web server ,在使用 PHP CodeIngiter 時,常常設定 Rewrite Rules 時,需要做一些手腳,例如:http://hostname/ci 想要瀏覽到 PHP CodeIgniter Project,而 ci 這個並非實體目錄,且 PHP C…

October 6, 2015 · Yuan-Yi Chang
iOS 開發筆記 - 修正 Launch Image 失效問題

iOS 開發筆記 - 修正 Launch Image 失效問題

換了 Xcode 7.0.1 後,想說認真一下填滿 Images.xcassets 中的 LaunchImage,但始終沒有成功,總覺得一直讀取 Storyboard 的資料! 最後終於搞懂了,記得清空 Launch Screen File 欄位就沒問題啦。 若有碰到 ERROR ITMS-9047…

October 4, 2015 · Yuan-Yi Chang
iOS 開發筆記 - 下載舊版 Simulator,如 iOS 8 Simulator

iOS 開發筆記 - 下載舊版 Simulator,如 iOS 8 Simulator

記得很久以前,我還有把 Xcode 3,4 系列燒成光碟,為的就是舊版 simulator,後來不知不覺就都不需要,甚至把玩 app 都直接用最新版 iOS siumulator 跟 sdk 了。不過這次 iOS 9 跟 iOS 8 有一些 layout 問題,所以還是找一下舊版 simulator…

October 3, 2015 · Yuan-Yi Chang

iOS 開發筆記 - iOS9 存取外部資源失敗與解決方式 (App Transport Security & Info.plist & URL Scheme)

iOS 9 引入了外部資源存取的限制(App Transport Security),例如 App 操作過程中,對網路上的資料發送 requests 要求資料時,會被擋下來。這個影響的範圍滿廣的,例如做 QRCode app 時,掃描到 URL 時,開啟 UIWebView 卻無法瀏覽,或是在 UI…

October 3, 2015 · Yuan-Yi Chang

iOS 開發筆記 - UITableViewCell 在 iOS9 的環境中,預設沒有佔滿 UITableView Width

假設 UITableView 的寬度有 768,但 UITableViewCell 拿不到 768 ,導致用程式計算的排版會出錯,且連 titleForHeaderInSection 顯示也一樣,追了一下應該是 Margin 效果 https://developer.apple.com/librar…

October 3, 2015 · Yuan-Yi Chang

[GO] 使用 Go drive 同步資料至 Google Drive 空間 @ Ubuntu 14.04 64bit

之前默默地得到 Google for edu 的帳號,想說該善用一下空間。之前比較常用 Dropbox 的空間,所以一直沒善用 Google Drive ,但是埋在 Linode 1GB 機器上,常常覺得記憶體都被 Dropbox 吃光,這次就試試 Google drive 吧!有 1TB 的空間,…

September 26, 2015 · Yuan-Yi Chang

iOS 開發筆記 - Push Notification 收到 SSL operation failed with code 1. OpenSSL Error messages: error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad write retry 和 SSL Broken

網路上的一些討論: get SSL Broken pipe error when try to make push notification - http://stackoverflow.com/questions/2626054/get-ssl-broken-pipe-error-when-try…

September 3, 2015 · Yuan-Yi Chang

Node.js 筆記 - 使用 Bloom Filter 實作大量 URL Checker/Filter (SPAM)

最近想要針對 UGC 資料進行過濾,首先要面對的就是 SPAM/18+ 資料,接著,沒想到聽到 Bloom Filter 字眼!這個學生時代就碰過的東西,竟然會被提及,就那把玩一下吧!對於 Bloom Filter 的用法需要留意一下,本身設計是用時間省空間的架構,並且有誤判的機率,只要用得恰當都還…

August 28, 2015 · Yuan-Yi Chang
Javascript 開發筆記 - 透過 Google Maps Routing API 畫路徑 (Directions Service)

Javascript 開發筆記 - 透過 Google Maps Routing API 畫路徑 (Directions Service)

使用 GPS Location 畫圖時,點太多太精細,容易畫很慢,點太少太粗糙時,發現畫出的線會很糟,例如截彎取直的現象。雖然正解應該是先把精細路徑畫出圖來用,例如每個 zoom level 都畫好路線圖,而非動態畫線、畫點。但就是想偷懶透過 Google Maps API 來畫圖 XD 因此就研究…

August 20, 2015 · Yuan-Yi Chang
風雨生信心

風雨生信心

不知不覺參加了第三次了吧?第一次參加 COSCUP 用工作人員的角色,隔年則是一般會眾,今年偷懶不搶票,用 Open Source 貢獻者拿到票 XD 最近工作上的角色也有點蛻變,漸漸地不是用純工程師的角度思考、面對問題,更能專注一些生涯細節,稱不上轉職。至於八卦消息?永遠都一直充斥著生活,聽聽就好…

August 16, 2015 · Yuan-Yi Chang

iOS 開發筆記 - 呼叫外部程式來處理一些資源(URL Scheme)

把一些 resource 轉交給外部程式,常見的就是 URL Scheme 技巧。 已知 URL scheme ,判斷是否支援: if ([[UIApplication sharedApplication] canOpenURL:url]) [[UIApplication sharedApplica…

August 8, 2015 · Yuan-Yi Chang