惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

W
WeLiveSecurity
博客园 - 【当耐特】
Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
Stack Overflow Blog
Stack Overflow Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家
Cloudbric
Cloudbric
The Register - Security
The Register - Security
小众软件
小众软件
PCI Perspectives
PCI Perspectives
G
Google Developers Blog
AI
AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
Google DeepMind News
Google DeepMind News
宝玉的分享
宝玉的分享
Recent Commits to openclaw:main
Recent Commits to openclaw:main
量子位
TaoSecurity Blog
TaoSecurity Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
F
Full Disclosure
N
Netflix TechBlog - Medium
博客园_首页
Last Week in AI
Last Week in AI
A
Arctic Wolf
B
Blog RSS Feed
J
Java Code Geeks
C
Cybersecurity and Infrastructure Security Agency CISA
I
InfoQ
aimingoo的专栏
aimingoo的专栏
云风的 BLOG
云风的 BLOG
NISL@THU
NISL@THU
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Jina AI
Jina AI
有赞技术团队
有赞技术团队
S
Schneier on Security
L
Lohrmann on Cybersecurity
P
Privacy & Cybersecurity Law Blog
T
Threat Research - Cisco Blogs
P
Palo Alto Networks Blog
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Security Latest
Security Latest
Vercel News
Vercel News
博客园 - 司徒正美
Webroot Blog
Webroot Blog
Hacker News: Ask HN
Hacker News: Ask HN
A
About on SuperTechFans

Nic Lin's Blog

謝明真 - 高效領導力的課後筆記 NFT 開發實戰!基礎智能合約入門 (3) NFT 開發實戰!基礎智能合約入門 (2) NFT 開發實戰!基礎智能合約入門 (1) 如何自我檢測 log4j CVE 漏洞 Rails 如何在資料寫入時記錄來源 IP 位置 如何經營工程師 Youtube 頻道 - Part 8 營收篇 如何經營工程師 Youtube 頻道 - Part 7 酸民文化篇 如何經營工程師 Youtube 頻道 - Part 5 設備器材篇 如何經營工程師 Youtube 頻道 - Part 4 後製剪輯篇 如何經營工程師 Youtube 頻道 - Part 3 文案企劃篇 如何經營工程師 Youtube 頻道 - Part 2 設備器材篇 如何經營工程師 Youtube 頻道 - Part 1 制訂頻道方向篇 如何經營工程師 Youtube 頻道 - Part 0 Rails 中避免 race condition 的最佳實踐(二) Rails 中避免 race condition 的最佳實踐(一) 10 分鐘整合 google sheet 做自動化開發功能週報 經營 Side Project 300 天所帶來的收穫及挑戰 我的 Youtube 影片製作流程 API 設計時必須注意的 HTTP header 底線問題 如何提升你的程式可讀性之實務技巧(三) 如何提升你的程式可讀性之實務技巧(二) 如何提升你的程式可讀性之實務技巧(一) Ruby 中使用 freeze 優化效能的時機 避免 React 中的 useEffect 無限 render 在 Rails 內輕量使用 Vue Component 的最佳實踐 如何在區域網路用 Docker 架設有 SSL 的 Gitlab 從被問到問人,那些我常問的面試問題 [Rails] 如何漂亮寫出可維護的 query (Maintainable Rails Query) 在已知長度情況下優化 slice 的性能 [ReactNative] 如何在 iOS APP 上主動要求用戶評分 Rails 的 scope 為什麼用 lambda? Proc 與 lambda 不同之處 淺談 Active Record 的 Lazy load 特性 Rails 專案搭配 Github Actions 進行 RSpec 自動化測試 JavaScript 中 require, import 的差別及效能 React 效能優化基本招 ES6 箭頭函式 (Arrow functions) 2 個月擁有 6000 用戶 Side project 這樣做(一) 如何讓自己成為失敗的軟體工程師 如何用 Rack::Attack 阻擋 DDOS / 惡意流量 用 OpenSSL 自簽開發用 HTTPS SSL 憑證 為機器加上登入訊息,在 ubuntu 設置登入歡迎詞 Ruby Memoization 性能優化之記憶化 淺談 SSH agent forwarding 和 proxy command 的安全風險與應用 [Rails] Service / Library / Concern 的差異 避免過度的 Defensive Programming 防禦性程式設計 1:1 攪亂器,如何用 Ruby 做可逆推序號 Rails 中的欄位及方法命名原則 [Rails] 用 puma-dev 作為本地開發伺服器 (支援 https 自簽憑證) 將 Rails 專案從手動部屬遷移使用 Capistrano 自動化部屬 工程師提昇自己的教學和簡報技術的方法 [筆記] Rails 3.2 升級 Rails 6.beta 經驗分享 Class method 氾濫帶來什麼問題 RDBMS 課程心得與筆記 常用的 Rails 開發規範 Rest-Client 如何做 Basic Authentication 驗證 [Rails] 何為 tld_lebgth? 遵循 Semantic Versioning 軟體開發語意化版本管理 請直接在 MySQL 裡面直接用 utf8mb4 取代 utf8 如何解決在 awesome print 中遇到 ActionController::Parameters unable to convert unpermitted 如何在 Mac 上升級 PostgreSQL 並遷移資料 如何解決 Mysql2::Error: Incorrect string value 讀書心得 - 「信任因子:信任如何影響大腦運作、激勵員工、達到組織目標」 我是如何寫部落格筆記的 讀書心得 - 「先問,為什麼?:顛覆慣性思考的黃金圈理論,啟動你的感召領導力」 [Rails] 解決 Reset Password 帶來的 token 洩漏問題 我的軟體工程師生涯:如何挑選適合你的公司 Rails 中的 delegate 用法 淺述 SSR SPA 優缺點 Rails 非同步工作請用 Global ID [React] Class Component 傳遞 props 的 2 種方式 好用的隱私權政策 URL 自動生成 Rails 5.1 之後的 tag helper Rails 5.2 Encrypted Credentials 最近面試被給的建議和書單 一般架構需要用到 K8S 嗎 透過 commit SHA 找 github Pull request 從零搭建,如何讓 Rails 跑在 Kubernetes(k8s)(二) React Stateless Functional Components 搞懂 React 中的 state 和 props 物件導向基本原則 SOLID (Ruby Sample) 在以太坊智能合約上是可以預測隨機數的 在台灣租屋必須注意的事 Rails 5 簡單雙向加解密 如何用 ABA 培養自律型員工 不要在 rake task 中定義 method, 請用 RAKE::DSL rails 非hash只想用array輸出page 如何處理陣列裡有重複的值 [Rails] 如何重設你的專案名稱 Ruby on Rails install on Mac 安裝步驟 使用 Friendly_id 與 Babosa 美化你的Rails 網址 Junior Rails 兩個月實戰心得 Devise使用Google實作登入 [iterm2] 如何新增alias 一個新鮮人找尋Rails工作的面試經驗 如何讓兩個資料表建立關聯 routing 的 namespace strong parameter user story 的格式 user story 是什麼?
DK 長輩開的 SQL 程式進階效能優化實作 課程心得
Nic Lin · 2018-06-10 · via Nic Lin's Blog

常常使用資料庫,但很多環節不清楚效能為什麼不好,也不知道怎麼做預防勝於治療,在老闆的大力推薦下就來上這個課程了,聽說還是老闆的前輩呢。

講師介紹

林嘉軒 GSLin (DK長輩)

  • PIXNET 資深工程師
  • KKBOX 首席工程師
  • 104 技術長

累積十幾年文章的 Gea-Suan Lin’s BLOG

先講結論

  • 講師技術底非常深
  • 課程精華在於 QA 解惑 (一定要準備一些奇怪的問題來問)
  • 會分析多面向的解決手法,例如:有時是產品面問題

上課心得

主要的課程圍繞著 MySQL 講述,包含簡單的歷史以及資料庫基本概念。

在課程的一開始會給大家一人一台已經準備好 Dataset 的機器可以認領,然後能夠依照課程上的講師 Demo 跟著自行操作一遍,不過這邊要注意的是,由於講師已經打的非常熟練,所以很有可能會有跟不上的情況 XD

不過整體課程來說,真正會有動手自己的情況非常少,因為著重的重點除了案例分析以外,最精彩的部分在於 QA 互動,基本上兩天 12 小時的課程,沒看過有人提出的問題是講師需要長時間思考或是無法回答的。

這期間也可以聽到各個公司的各種奇怪需求,發現自己家的還不是最刁鑽的,滿有趣的,可以吸很多經驗值,所以課程要記得寫筆記。

這邊有一點令我印象深刻的是,一開始講師準備的課程教材是可以給 Windows / Mac 的教材,不過後來發現學生清一色都使用 Mac,調查之後也發現大家對於 command line 都不陌生,於是講師會依照當前學生的程度調整教材,最後上完課的時候,講師說這班比他預教的還給的更多,因材施教嘛!

這堂課回去之後,有一種升級的感覺,這裡講我個人的部分:

  • 知道 Index 是一 Btree, table 也是
  • 沒有用的欄位放著無影響,但最好不要掛有 index
  • 學習到一些可以查看 performance 的技巧,例如 MySQL 的 performance schema
  • Index 不見得會照著你所想的走,有時 Query plan 會有不同的預期
  • Table scan 有時不見得慢
  • B-tree 的結構,為何搜尋資料快
  • Index 是有順序性的,需理解 Btree 結構
  • Query 多不代表會慢
  • 加 Index 會快是因為連續區間
  • Truncate 是直接消滅表格,Delete 是走 ACID 所以刪除幾百萬筆非常慢
  • 打錯 index 所造成的 merge index 會讓效能更差,因為拉了更多 Btree 出來
  • 現在機器成本變低,很多時候用錢砸就行,不一定要做 Sharding, AWS 都租的到 4T RAM 的機器了
  • 其實還很多,以下省略,再開一篇筆記出來寫 XD

希望能夠改進的部分

  • 教室隔音很差,聽的到別間講課的聲音
  • 教室與宗教所借,不能吃葷食(不曉得能不能殺生打蚊子,害我不敢打)
  • 結業證書上面沒有授課講師的名字,質感普通
  • 有些座位連不到延長線,充電需要換位置

值得稱讚的部分

  • 和講師一起吃飯,人很 Nice,有問必答
  • 助教楊老師容易聯繫,積極處理發票問題