TIL
-
2024.09.03 Double ChargesTIL 2024. 9. 3. 23:03
How To Prevent Double Charges In eCommerce PaymentsSeveral topics like this are discussed on my YouTube channel. Please visit. I appreciate your support.medium.com커머스 서비스에서 네트워크 이슈등으로 여러번 결제요청이 들어올때 중복결제가 이뤄질 수 있다는 것 입니다.글에서 제시한 해결법으로는 멱등성을 활용하는 것 입니다.클라이언트에서 uuid를 서버에 제공하면 서버는 uuid를 기반으로 멱등성을 유지합니다.글을 읽다 우려되는 것은 새로고침등으로 uuid가 바뀌면 의미없다는 생각입니다..음 새로고침은 새결제로 판단하는 것이 맞을까요
-
2024.09.02 data replicatedTIL 2024. 9. 3. 00:14
https://medium.com/@_sidharth_m_/how-is-data-replicated-in-distributed-systems-0fe7dd8af904 How is Data Replicated in Distributed Systems?Understanding Single Leader, Multi-Leader, and Leaderless Replicationmedium.com 데이터베이스 복제 관련 글을 읽었습니다. 단일 리더, 멀티 리더, 리더 없음의 방식을 소개합니다. 단일리더는 노드 하나만 업데이트문을 수신하는 것 입니다. 리더 다운 시 리더의 복구를 기다리거나 새 리더를 선출합니다. 그 간격동안은 장애시간이 됩니다. 복제 방법도 동기복제와 비동기 복제가 있습니다. 멀티 리더는 모드 노드..
-
2024.08.28 system design interviewsTIL 2024. 8. 28. 23:50
I conducted system design interviews at Meta. Here’s how to prep.When coordinating your interview at Meta (formerly Facebook), you’ll be asked whether you want to do a System Design Interview (“Pirate”)…grokkingtechinterview.com시스템 디자인 면접에서는 커뮤니케이션이 중요합니다. 커뮤니케이션을 통해 명확한 요구사항을 파악해야 하고 특정 컴포넌트에 대해서 깊이 있는 지식을 가지고 있다고 어필해야 합니다.디자인 후 질문 시간을 충분히 남겨둬야 깊은 커뮤니케이션을 할 수 있다고 한다. 질문과 예제를 보면 요구사항을 정리하고 기능적 ..
-
2024.08.23 Deadlock on rollback, but not on commit, when using ON DUPLICATE KEYTIL 2024. 8. 23. 22:37
MySQL :: MySQL 8.4 Reference Manual :: 17.7.3 Locks Set by Different SQL Statements in InnoDB17.7.3 Locks Set by Different SQL Statements in InnoDB A locking read, an UPDATE, or a DELETE generally set record locks on every index record that is scanned in the processing of an SQL statement. It does not matter whether there are WHERE conditions indev.mysql.com오늘은 insert on duplicate key update를 봤습..
-
2024.08.20 foreign keyTIL 2024. 8. 20. 23:35
foreign key 에 의한 부모, 자식 테이블의 잠금관계http://blog.naver.com/parkjy76/220588832494 에서도 잠깐 언급을 했는데 foreign key 제약을 사용할 경우...blog.naver.com오늘도 외래키에 대해서 봤습니다..외래키로 인해서 dead lock이 나는 경우가 있습니다.쿼리에 사용된 외래키에 s lock을 걸기 때문입니다.서로다른 트랜잭션이 서로 부모,자식 테이블에 잠금을 획득하려할 때 발생할 수 있습니다.잠금 해결법에는 트랜잭션 시작시 사용될 잠금을 모두 획득한 후 쿼리를 진행하는 방법이 있을 거 같습니다.
-
2024.08.19 foreign keyTIL 2024. 8. 19. 22:50
MySQL :: MySQL 8.4 Reference Manual :: 1.7.2.3 FOREIGN KEY Constraint Differences1.7.2.3 FOREIGN KEY Constraint Differences The MySQL implementation of foreign key constraints differs from the SQL standard in the following key respects: If there are several rows in the parent table with the same referenced key value, InnoDB performs adev.mysql.com 다는 못 읽었습니다. 주변 사례를 보면 테이블에 외래키 제약조건을 걸지 않고 운영하..
-
2024.08.16TIL 2024. 8. 16. 23:00
좋은 코드 설계를 위한 답없는 고민들 - Yun Blog | 기술 블로그좋은 코드 설계를 위한 답없는 고민들 - Yun Blog | 기술 블로그cheese10yun.github.io 안티패턴이라고들 하지만 사내에서 사용하는 이유가 명확하고 약속되어 있다면 괜찮다고 생각합니다.(근데 거의 관성이죠..)오히려 그런 패턴을 지키다 회사의 성장을 가로막을 수도 있다고 보기 때문입니다.제가 스타트업에서 일해서 그럴 수도 있습니다.회사가 큰 회사, 성장을 하면 언젠간 바퀴를 갈아끼우는 일을 해야하지 않나?라는 생각입니다 ..
-
2024.08.13 ~ 14 Multiple-Column IndexesTIL 2024. 8. 14. 22:15
https://dev.mysql.com/doc/refman/8.4/en/multiple-column-indexes.html MySQL :: MySQL 8.4 Reference Manual :: 10.3.6 Multiple-Column Indexes10.3.6 Multiple-Column Indexes MySQL can create composite indexes (that is, indexes on multiple columns). An index may consist of up to 16 columns. For certain data types, you can index a prefix of the column (see Section 10.3.5, “Column Indexes”). Mdev.mysql...