Developers Talk

@developers-talk

作為工程師我們有許多沒有仔細思考的內容,讓我們一起來反思這些問題吧!

Public team

Joined on May 26, 2020

  •  Like  Bookmark
  • 作為工程師在職涯發展的過程中,該如何準備才能夠更加順利呢? 三種可以教你的人(?): 老師:很容易找(eg. 買個線上課程就有老師) 教練:花錢可以找(時數可能貴,但找得到) 導師:很難找(有經驗跟能力 customize 引導你達成目標) 20-30 歲的工程師:透過 side project、上一份工作實績 30-40 歲的工程師:能發展出自己的 framework,有 SOP 等可以把做事方法 scale 出去
     Like  Bookmark
  • 在 Production 環境時,會發現一些資料的錯誤也沒有拋出例外,該如何追蹤? References https://www.sumologic.com/glossary/structured-logging/ Loki / ElasticSearch Log Level Fault / Error / Exception
     Like  Bookmark
  • 當實作時發現某個物件可以同時符合兩個不同的情境,只需要做出一些調整,我們應該修改當下的物件,還是進行拆分呢? SRP # 單一(Render - 算繪)功能 class Rectangle def render; end end class Ellipse def render; end
     Like  Bookmark
  • @user = User.find(params[:id]) # => User Object x 1 # user has many posts @posts = @user.posts # ORM # SELECT * FROM posts WHERE user_id = ? ---> N + "1" # ... @posts.each do |post| # Iterate - Post Object x N puts post.comments.count # SELECT COUNT(*) FROM comments WHERE post_id = ? ---> "N" + 1 end @user = User.find(params[:id]) # => User Object x 1
     Like  Bookmark
  • 工程師真的有在做工程嗎? 前期:選擇問題不大的方案 短期的 目標 // UserUseCase ==> 8byte void listUser(void *ptr) {
     Like  Bookmark
  • 工具: profiling(eg. rack mini profiler)、benchmark、火焰圖 如何定義效能問題ex1: 效能表現其實是合理的 ex2: 機器硬體本來如此,硬體升級可以解決 ex3: 使用者回報 ex4: 需求面定義時間 ex5: 少數特例 => 要修嗎? 解決方案 技術 driven:有好的技術,ex: ChatGPT
     Like  Bookmark
  • 防火牆怎麼運作 Q: 為什麼要關 port? 防守方要做的事情是什麼 -> 增加攻擊方的難度、門檻 -> 關 port 減少攻擊的入口 Q: 雲端跟現實的防火牆有差異嗎? 雲端跟現實的防火牆沒差別 有軟體防火牆(通常從 L7 開始看) 也有硬體防火牆 硬體防火牆搭配專門處理的晶片,通常效率更高
     Like  Bookmark
  • 2023 年 02 月 - 為什麼 AWS 的 IAM Role 要針對不同情境設定 ===
     Like  Bookmark
  • 2022 年 12 月 - 如何實踐 Zero Down-time Migration ===
     Like  Bookmark
  • https://bit.ly/3TB6Jjs 靜態型別的語言 需要 debug 工具的原因 變數被改變 https://github.com/rom-rb/rom-sql/issues/389 trace = TracePoint.new(:return) do |tp|
     Like  Bookmark
  • Q1:為什麼需要 CI 持續性整合:目的加快 code 整合 持續性交付 持續性部署 也就是說,大部分工具原本都是要拿來做持續整合,但以 Jenkins 、Gitlab CI 為例,結果大家都拿來協助自動化處理 xD Q2:CI 和 Cronjob/Airflow 的差異為何
     Like 1 Bookmark
  • Service Object 是 DDD 的一種 clean architecture ruby -> open class Ruby on Rails 怎麼用 DHH say https://en.wikipedia.org/wiki/Data,_context_and_interaction
     Like  Bookmark
  • 敏捷開發 scrum Less 不同角色 概念 一個 Sprint 1-2 週 除非東西做完不能加東西 (Feature 做不完放下個 Sprint) 放棄 Sprint 重新開始
     Like  Bookmark
  • API 類型 RESTful GraphQL SOAP RPC - Remote Procedure Call gRPC XML-RPC JSON-RPC
     Like 1 Bookmark
  • State Machine Idempotency Key Serializable Level Event Sourcing Version
     Like  Bookmark
  • 參考資料 https://dustinspecker.com/posts/iptables-how-docker-publishes-ports/ https://docs.docker.com/network/bridge/ https://docs.docker.com/network/iptables/ https://draveness.me/docker/ https://draveness.me/whys-the-design-overlay-network/ https://zh.wikipedia.org/wiki/%E8%A6%86%E7%9B%96%E7%BD%91%E7%BB%9C https://cizixs.com/2017/02/10/network-virtualization-network-namespace/
     Like  Bookmark
  • # 2022 年 03 月 - Prism.rb
     Like  Bookmark
  • CQRS 是什麼 https://martinfowler.com/bliki/CQRS.html Event Sourcing 範例 class Event < Hash; end class Command; end class EventStore < Array; end # 待補
     Like  Bookmark
  • 延伸討論 [ ] Auto Scaling 跟 Health Check 的關係 [ ] Circuitbox Gem - Ruby 中的熔斷機制
     Like  Bookmark