Modern Web 2016
Table of Contents
這次收到朋友邀約就趕快報名早鳥票(越晚越貴啊)
場地在松菸的文創大樓,交通很方便
這次只記錄一下有興趣的議程
Typing ¶
增加科普知識的一個議程
講到了英文字母的由來
現在鍵盤的配置,以及 shift, ctrl 等按鍵的由來
某個神秘的鍵盤配置 crockford keyboard
寫出所有人都能輕鬆讀懂的測試程式 (Cucumber.js) ¶
用 Cucumber.js 來進行 BDD 開發的優點:
- 會說話的程式碼
- 用口語的方式寫測試
- 讓溝通更順暢
- 測試即文件
Gherkin 是 Cucumber 所使用的描述方式
- Feature (功能)
- Scenario (場景)
- Step
- Given (假設)
- When (當)
- Then (那麼)
在 feature 檔的開頭加上 #language=zh-tw
就可以用中文做關鍵字
從圖資學出發,探索網頁與搜尋引擎的本質,一起好好寫好 HTML 吧! ¶
過往的 HTML 設計常看到的問題:
- table layout
- meta data garbage
- all div
應該要以內容架構為核心撰寫 HTML,外觀交給 CSS 決定
最好拔掉了 CSS 也要能夠閱讀 HTML 的內容
StreetVoice 自動化部署演進 ¶
繁瑣的事情讓它自己動
自動化的前提是:
- 足夠的自動化測試
- 工作流程
- 時間
使用了 Ansible 將應用部署到機器上
[code] -> [git] -> [ci] - ansible -> [AWS]
Dance with i13n (與 instrumentation 共舞) ¶
i13n == instrumentation
A good i13n framework might have the following characteristic:
- stable
- clear and effective report
- life cycle
可以使用 Google Analytics Debugger 外掛來除錯
Good framework 的特色:
- easy & remove
- make data set semantic & readable
其他詳見:我與 Google Analytics 的補強計畫
恰如其分的 MySQL 設計技巧 ¶
MVP 若沒有控制好,技術債將迅速增長
沒有完美的架構,只有最適的架構
License GPL 感染的問題
Tuning NGINX for High Performance ¶
這一場說了很多如何提升 Nginx 效能的技巧
Web Scale, Microservice and caching
[client] - http/2 -> [nginx] - http/1.x other... -> [servers]
OS LEVEL ¶
net.core.somaxconn
net.core.netdev_max_backlog
net.ipv4.ip_local_port_range
sys.fs.file_max
/etc/security/limits.conf, nofile setting
NGINX configure ¶
worker_procrsses -> auto
worker_connections
worker_rlimit_nofile
accept_mutex off;
sendfile on;
aio threads;
遠端團隊專案建立與管理 ¶
制定好規範,相信成員
主要利用 SLACK 溝通,視訊則用 ZOOM
每天都要 sync 彼此的狀況
在視訊開會時要確保網路與收音環境的品質,以尊重開會的成員
將文件與技術分享影片整理到 SLACK 上,當新成員加入時就能 review
利用 Golang 架設 Line 機器人,作為網站的推廣大使 ¶
介紹了 Golang 這個程式語言特性
機器人應該聰明點,可以用一些線上服務像是 LUIS 來解析語意