2016年7月2日 星期六

Microsoft Azure 管理筆記 - 建立共同管理者 (AWS IAM效果)

Azure帳號-共同管理1

太習慣用 AWS 了,開始用用 Azure 服務,其 UIUX 太潮了,操勞到眼眶快泛淚才挖到一些設定方式 XD 就筆記一下。

想要用 AWS IAM 的架構,設置多位共同管理者,需要先請其他管理者新註冊 Live account:

https://account.live.com/

接著,主帳號登入 Azure 畫面後,從左下方的訂用帳戶 -> 挑選訂用帳戶 -> 設定 -> 使用者 -> 選擇"訂用帳戶管理員" -> 指派給"訂用帳號管理員" -> 管理 ,就會跳轉到 https://manage.windowsazure.com 網頁

所以啊,若很懶走新的介面,就直接到 https://manage.windowsazure.com 頁面 -> 設定 -> 管理員 -> 點選下方的 "加入" 即可完成添加共同管理員的動作 Orz 並且返回 portal.azure.com 介面則會看到剛添加的共同管理員了。

Azure帳號-共同管理2

2016年6月30日 星期四

[Mac] 使用 Screen 與 RS232 裝置互動,進行 log 分析 @ Mac 10.11.5

今天又跑去偷看 embedded linux 的 console 了,用法(/dev/tty.usbserial 跟 driver 有關):

$ screen /dev/tty.usbserial 115200

若需要仔細看 screen output 時,可以把加大 screen output buffer 或是把 log 寫到檔案

加大 screen buffer size (支援200000 line 輸出) :

ctrl + a + : + scrollback 200000

若覺得還要用 ctrl + a + [ 去追 log 實在很不方便,就是試試把log寫出來吧

ctrl + a + H

如此就會蹦出個 screenlog.0 檔案,可以搭配 vim, tail -f + grep 來使用,例如追蹤 download、upgrade 字眼:

$ tail -f screenlog.0 | grep "download\|upgrade"

如此交叉使用,應該可以解 bug 吧...

[Linux] 系統時區設定與檢查 @ Ubuntu 14.04

習慣在 AWS EC2/RDS 採用 UTC +0 的時區,然後在自家 VMware ESXi server 架設機器沒留意(忘記是選了台北時區還是從台灣下載 Ubuntu ISO 的差別),導致開發與正式站的時區不同 :P 筆記一下驗證與處理方法。

查看系統現況時間
$ date

查看系統時區資訊
$ cat /etc/timezone
Asia/Taipei

設定時區: None of the above -> UTC
$ sudo dpkg-reconfigure tzdata


將相關服務都重啟,像是 Web server 有用到 PHP-FPM 就要重啟動,這樣 PHP 環境才會拿到正確的時間

2016年6月24日 星期五

人生閱歷的省思

近期發生不少事,心情不斷浮沉,稱不上好或壞,或許是最美好的壞時代?處理不少意外蹦出來的事件後,讓我深刻地感受到:人生不可能沒有煩擾。

貧困的時,憂心著下一餐在哪裡;略有小成時,憂心著工作是否有未來;略有口袋時,朝朝暮暮想著房子下落;有小孩時,擔憂著小孩的撫養、教育;小孩長大後,擔心考試、升學、伴侶、結婚、買房,再一次循環;有錢人,則擔心著投資報酬率不如預期。無論怎樣,總是會有一件事讓你掛心的。同理用在面對未來下一步時,到底準備好了嗎?答案是根本無法準備好 XD 只能以當下的資源評估,並朝期待的路線走下去。

當這些思索靜心後,沒有什麼安全路線 :P 安全的路線大概就是平淡的一生,在一間大企業做個安穩的上班族吧!我想,該開始朝著增加亂度的路線了。

2016年6月23日 星期四

[PHP] 使用 Google api client 操作 Google Spreadsheet API (Google Docs - Excel)

最近在整理資料,由於使用情境尚未明朗,想了一下就把資料塞到 Excel 來呈現,要排序、輸出跟轉 PDF 檔都 ok ,再加上有定期更新的需求,就來找一下 Google Spreadsheet API 來用用:https://developers.google.com/sheets/ ,程式擺在:

https://github.com/changyy/codeigniter-library-google-spreadsheet

由於同事比較熟 PHP ,就繼續挑 PHP 路線了 :P 沒想到 PHP 相關的 library 滿少的,大概都推薦 github.com/asimlqt/php-google-spreadsheet-client 這套了,但他採用的 API 所實作出來的有些侷限,但已經可以滿足八成的需求了!

最後為了達成自己想幹的事,在 k 完文件跟摸索後,還是自己下海包一份當作筆記(實在是官方文件都沒寫很清楚,只能自己追細節),包括的功能:

  • 支援單獨使用,以及和 PHP CodeIgniter 合用
  • 使用 composer.json 維護相依性:只有使用 google/apiclient: https://github.com/google/google-api-php-client
  • 使用  Google Spreadsheet API v4
  • 取得 Spreadsheet 清單 (使用 v3 API)
  • 建立 Spreadsheet
  • 修改 Spreadsheet name
  • 建立 Worksheet
  • 刪除 Worksheet
  • 可對 Worksheet 凍結視窗(frozenRow/frozenColumn)
  • 更新 Cells 資料
  • 搭配 Web server (如 CodeIgniter Controller 架構),可以完成 Google OAuth 流程,取得 Access Token 跟 Refresh Token
  • 搭配 Google OAuth offline 權限,可以自動 renew access_token

整體上,若不需要建立 Spreadsheet 跟 frozenRowColumn 的功能,建議直接用 asimlqt/php-google-spreadsheet-client 即可,我只先完成自己需要的部分。