今年 COSCUP 想聽的議程都搶不到位置, 大多數都被擠在最後方的站位, 有嘗試用手機做點筆記記錄, 但是後來還是放棄了.
不過今年群眾力量很強大, 文字轉播就可以當回顧用, 直接把連結整理出來就夠了~ 🙂
下面連結建議參考:
- 文字轉播、投影片、影片 等資源彙整: http://hackfoldr.org/coscup2014/
- COSCUP 文字轉播區
- COSCUP IRC Log
COSCUP 2014 筆記、投影片與整理
以下是我自己整理的一些筆記, 但是不夠完整部分建議去看文字轉播區或投影片.
COSCUP 2014 議程筆記
Maker 《自造世代》 - 《自造世代》電影團隊 x 開源人
- 提出議題、想法, 在提出之前, 要先想想到底該怎麼做, 需要哪些資源等等.
- 複製的了產品, 複製不了的社群~
Real-time Streaming Classification with Storm – The Pinball system - Jason Lin
- Yahoo! Taiwan EC Data Team
- normany@yahoo-inc.com
- Norman Huang
- Jason Lin jasonysl@yahoo-inc.com
- Challenges => Solution: Pinball
- 收集過去某段時間的資料做分析
- 最近幾個小時的資料就不會被納入分析
- 72% 的 user 在當天就會決定他要買哪些東西.
- 偏好分析如果需要幾天, 就會 lost 這些 user
- 即時分析、推薦
- Pinball: User -> more classifier -> Profile B 將使用者分到某個類別, 在預測他想要的商品
- real-time: Storm (Pinball 架構在 Apache Storm)
- 演算法: Buying Intention Detetion
- Buying Intention (BI)
- Pinball: Buyer -> Storm -> Learning
- Learning -> Is Potential Buyer? -> Promotions -> Visitor
- 將 Visitor 轉換成 Buyer
- Storm (Tuple & Streams), Stream = (Tuple *)
- 運算單元: Spouts & Bolts (Spout: Tuple *) 產出 Blot
- Streams -> Spout (水龍頭) -> Bolt -> Bolt (Bolt 可以丟給多個 Bolt, 或者合起來丟給新的 Bolt)
- Hadoop (Map & Reduce) = Storm (Spout & Bolt)
- Storm: Nimbus -> Zookeeper -> Supervisor
- Supervisor (Worker processes)
- Buying Intention: 瀏覽行為幾次後, 應該是想要購買的使用者 (在此類別瀏覽越多, 應該就會越想購買)
- 餅乾看過2次就會想購買, 電視看6次就會想購買
- Navigation Event Streaming -> Behavioral events -> Pinball (Buy - Learning) + View (Buying Intention Qualification)
- Learn module 拆解: Adaptive Learning -> Learning Result
- BI' = [BI + |PV - BI| x r] ex: r = 0.1, BI = 3, BI' = [3 + }6-3} * 0.1] = 4
- 上面 6 = pv
- Buying Intention Qualification 拆解: View -> Callifier -> Buying Intention Qualification -> Celients
- Buy -> User Buy History Bolt -> Learn bolt -> Classifier
- Topology Design
- View -> User History Bolt -> Classifier
- Lambda Architecture: Batch -> Realtime processing (x), 不是要做切換, 而是要混合 (Hybrid Batch and real-time processing)
- Lambda Architecture » λ lambda-architecture.net
- batch layer (Hadoop, Spark), Spark 很快
- Speed layer: Storm, Spark Straming, Samza
- Summingbird 可以同時轉換出 Storm 和 Hadoop mr job
- PV:4, BI:3, BI': ?
- 隨著資料分析, BI' 會跟著計算變化
- 進階應用 演算法: Buying Intention, Fraud Detection 詐騙帳號、帳號盜用
- 相關網頁: 準確推薦吸引百萬顧客下單 雅虎奇摩EC關鍵系統首度揭露
淺談 Linux Container (aka lxc) - FourDollars (李世元)
- 投影片: 淺談 Linux Containers
- 半虛擬化
- 作業系統階層虛擬化
- LXC 加強的 chroot
- Ubuntu juju, touch
- 把 Android 包進 LXC 當底層driver, 上層包Ubuntu touch
- Config_cgroup : process 分group
ASUS Cloud Platform - Enables Mobile, Cloud, Bigdata and Social Application
- ASUS Cloud Platform - ACP - 管理 PB 等級資料, 高資安、高可用、隨時擴充
- 創業雲計畫
- Cross Platform SDK
- 華碩 結合用戶、資源 / 雲端 API => 加入創業雲計畫
- Private ACP
- 台灣數位大市集 華碩雲端市集開發商創業平台
在豆瓣的這兩年 - CODE系統開發之旅 - 清風
- 投影片: 開源技術大會2014-豆瓣-清風演講《豆瓣Code開源歷程》
- 註: 投影片有 open source 項目清單 - 建議可以參考看看
- GitHub = 21 USD/人月 + 1個SA
- 想用一個工具就解決全部問題是不可能的
- 黑科技魔法部門
- 不錯, 就花一週把它抄了. XD
- pull request 做完會自動進 CI 測試, 測試完成後, 才會出現綠色, 才會啟動 code review
- 新浪程式上線, 旁邊要擺本聖經... XD
- 尊重他人, 就事論事, 對是不對人, 畢竟每個人都寫過爛
- PR 中的每個 commit log 都應該可以和 code 對應, 方便 review (不要發太大的 PR)
- PR 合併 和 提交不能視同一個人
- git ci -p; git pull --rebase upstream [branch]
- git ci -p # ci 時會一行一行問
- git pull --rebase # 會用 rebase 的方式 pull
- 程序員是靠榮譽感活著...
- Pull Request, 鼓勵多發 PR 和 評論
- 行比對外, 甚至對 字 比對
- 產品底線: Github 有的, 我們就必須有...
- 圖片比對(diff): JavaScript 做的
- 增加 誇獎系統
- 產品經理阻礙進度... XD
- CSS 設計師會最好 (產出 PSD 換成產出 CSS, 利用 bootstrap)
- 大家到 Notifications 最多, 在由此跳到其他頁面
- 有意識的寫成一個庫, 有意識寫成一個 service
- python mikoto: markdown
- GitCafe Enterprise
- facebook.com/qingfeng
- qingfeng@gitcafe.com
- 困難點: 推這套工具, 改變工作流程
- 進行流程改變才是最難的, 工具不太重要
Make MySQL a Better MySQL - the tips of optimize the database performance - Ryusuke Kajiyama (Kaji)
- 投影片: MySQL Performance Tuning at COSCUP 2014
- query_cache_size(0): Amount of memory to use for query cache
- Typically 32M is fine, some database need 128M
- query_cache_type (ON): Worst case performance overhead is aboue 15%-20%
- Favor servers with higher SELECT/WRITE ratios
- "Storage Engines": InnoDB Performace Tips
- innodb_buffer_pool_size: 80% of memory on Innodb only system, caches data & indexes unlike MyISAM
- innodb_log_file_size: A key parameter for wrtie performance
- innodb_flush_log_at_trx_commit: 1 (slow) Truly ACID, 2(fase) OS cache on commit, sync to disk once/sec. 0 (fastest) will flush (fsync) log every second or so
- innodb_file_per_table: always good choice to distribute i/o, Default ON from 5.6
show engine Innodb status;
- Geat Way to see what is going on inside InnoDB, hard to parse: FILE IO / Buffer Pool / Log activity / Row activity
- innodb_flush_method = O_DIRECT
- innodb_buffer_pool_instances (5.5+)
- innodb_io_capactity(5.5+)
- innodb_read_io_threads / innodb_write_io_thrads(5.5+)
- innodb_io_capactity: default 200 is good for 2 disks striped
- innodb_read_io_threads / innodb_write_io_thrads: default 4 is usually good enough
- Monitoring Queries: Slow Query Log
- Query_time, 重點看 Lock_time.
- "mysqldumpslow" helps
- show full processlist
- Fixing Problem Queries - EXPLAIN
- Analyize: How indes are being used, required file sorts, what tables, columns are being queried
- MySQL Workbench
- MySQL Query Analyzer
- MySQL Thread Pool
- 1024 之後就會往下調.
- MySQL Enterprise Edition Whth Thread Pool 1024 以上可以正常運作, MySQL
- Community Server Without Thread Pool 就會往下調
- MySQL 5.7 95% Faster than MySQL 5.6/
- MySQL 5.6, 57 速度 > Percona 5.6 > Maria DB 5.6
Google 演講關於 CJK Font 的影片
閃電秀
- COSUCP 2014 閃電秀 - Terrarium.app - terrariumapp.com - 可以上各版 app store - Penk
- COSUCP 2014 閃電秀 - 6. 自製Docker Web UI - KD
- tsaikd/kdocker-web - tsaikd.org
- https://www.facebook.com/groups/docker.taipei
- http://tsaikd.org/kdocker-web/
- How to Deploy Galera Cluster for MySQL using Docker Containers | Severalnines