TIL
-
2024.06.29 deadlockTIL 2024. 6. 29. 15:40
MySQL :: MySQL 5.7 Reference Manual :: 14.7.5.3 How to Minimize and Handle Deadlocks14.7.5.3 How to Minimize and Handle Deadlocks This section builds on the conceptual information about deadlocks in Section 14.7.5.2, “Deadlock Detection”. It explains how to organize database operations to minimize deadlocks and the subsequent errordev.mysql.com데드락은 일어날 수 있는 일이고 항상 가능성을 열어두어라.매번 트랜잭션을 실행할 수 없다면 문..
-
2024.06.27 canary, AB testTIL 2024. 6. 27. 23:08
bliki: Canary ReleaseA canary release occurs when you roll out a new version of some software to a small subset of your user base to see if there are any problems before you make it available to everyone.martinfowler.com 매일 배포하는 팀이 되는 여정(2) — Feature Toggle 활용하기효율적이고 안정적인 배포를 위해 고민했던 것 중 하나인 Feature Toggle(Feature Flag)에 대한 이야기medium.com 당근 피쳐 토글 글을 보다가..피쳐 카나리 피쳐 토글로 A/B 테스트를 할 수 있다.A/B 테스트를 하..
-
2024.06.23 feature toggleTIL 2024. 6. 25. 23:33
Feature Toggles (aka Feature Flags)Feature Flags can be categorized into several buckets; manage each appropriately. Smart implementation can help constrain complexity.martinfowler.com마틴 파울러의 피쳐 토글에 관한 글.서비스를 점진적으로 오픈할 때 기본적인 방법으로만 사용한 적이 있다.properties로 기능 사용 여부를 분리했었다. 글에서는 여러 가지의 토글 방법을 소개한다.단순히 서버에서 제어하는 것 말고도 클라이언트의 http 헤더에 값을 보고 기능을 실행시키는 등의 방법도 있다. AB테스트도 피쳐 토글을 통해 할 수 있다. 기능의 수명과 동적인 변화에..
-
2024.06.16TIL 2024. 6. 15. 18:17
https://blog.practicalengineering.management/how-to-lead-a-team-of-senior-engineers-8e8d69576d1e 엔지니어링 팀을 이끌 때.숙련된 사람들을 이끄는 방법으로는 무엇을 어떻게 하도록 알려주기보다.. Spring Boot Auto-Configuration: A Deep DiveSpring Boot has revolutionized the way Java developers build Spring-based applications, largely due to its ability to “just work” with…www.devskillbuilder.com과거 spring boot없이 spring만으로 개발했었을 때 설정이 복잡하고..
-
2024.06.12 How Pinterest Scaled to 11 Million Users With Only 6 EngineersTIL 2024. 6. 14. 00:05
How Pinterest Scaled to 11 Million Users With Only 6 Engineers How Pinterest Scaled to 11 Million Users With Only 6 EngineersScaling Pinterest — From 0 to 10s of Billions of Page Views a Month in Two Yearsmedium.compinterest가 성장함에 따라 기술 선택을 한 이유를 설명한다.DB 확장.데이터가 급증했고 사용량이 증가했다.해결을 위해 클러스터링과 샤딩을 고민했다.클러스터링은 고가용성과 노드 부하를 방지할 수 있다. 다만 클러스터링에 대한 개념이 필요하고 개념이 없다면 관리가 힘들 수 있다. 샤딩은 수평 파티셔닝으로 데이터를 규칙에..
-
2024.06.10 Concurrency Challenges in Database TransactionsTIL 2024. 6. 10. 22:28
Concurrency Challenges in Database Transactions: Isolation Levels and Locking Mechanisms Concurrency Challenges in Database Transactions: Isolation Levels and Locking MechanismsPicture a scenario where users in a banking system initiate fund transfers simultaneously, potentially leading to conflicts and…dip-mazumder.medium.com락에 대한 글.낙관적 락과 비관적 락에 대해 이야기한다. 충돌이 자주 발생하지 않을 거 같거나, 높은 동시성이 중요하다면 낙관..
-
2024.06.09 coding questionTIL 2024. 6. 9. 23:45
My favorite coding question to give candidates My favorite coding question to give candidatesA coding question, from the viewpoint of an Google/Amazon/Microsoft interviewercarloarg02.medium.com 코딩 테스트는 필요악..알고리즘을 달달 외워서 푸는 것이 도움이 되나? 이것이 같이 일할 사람을 뽑는 기준이 될 수 있는가?본인은 이것이 노력을 들이지 않고 거름망에 거르듯 하겠다는 것으로 느껴진다.차라리 글에서 처럼 실생활 사례로 알고리즘 유추하는 것이 더 좋은 인터뷰 방식인 거 같다. 일을 하다 보면 기획에서의 애매모호한 것들이 있다. 기획자와 대부분의 대화는..
-
2024.06.05 12 common software architecture stylesTIL 2024. 6. 5. 21:55
12 common software architecture styles, essential for architects 12 common software architecture styles, essential for architectsWhat is software architecture?medium.com음 여러 아키텍처들을 소개하고 있다.소개전에 아키텍처 문서화에 대해서 이야기가 나오는데 이 부분은 좋은 거 같다.1. 컨텍스트 수준에서의 설명이다. 사용자, 타 시스템, 규정 등 시스템의 목적과 외부 연관성을 설명한다.2. 컨테이너 수준. 인프라를 설명한다.3. 컴포넌트 수준. 시스템의 컴포넌트들, 블록들을 설명하고 연관관계를 설명한다.4. 코드 수준, 코드의 작동방식을 설명한다.문서화를 하게되면 위와 같은..