강의 및 강연/원티드 프리온보딩 챌린지3 프리온보딩 백엔드 챌린지(DB) - DB 기본기 다지기2 - 트랜잭션(Transaction) 트랜잭션은 작업의 완전성을 보장하며, 사용자의 작업셋을 모두 완벽하게 처리하거나 처리하지 못하면 원상태로 복후하는걸 원칙으로 두고 있다. ACID(트랜잭션의 특징) 1. Atomicity(원자성) - 트랜잭션은 작업 단위로 분할되지 않고, 전체 작업이 성공 또는 실패로 완료됩니다. - 모든 작업이 반드시 수행되거나 전혀 수행되지 않아야 합니다. - 더이상 쪼개질 수 없는 가장 작은 단위 2. Consistency(일관성) - 트랜잭션이 시작하기 전과 끝난 후에 데이터베이스는 일관된 상태여야 합니다. - 트랜잭션 실행 전과 실행 후에 데이터베이스의 무결성 규칙을 준수해야 합니다. - 예를 들어 마지막 한 개 남은 상품을 동시에 2명의 고객이 주문할 수 없도록, 카드 한도 초.. 2023. 10. 22. 프리온보딩 백엔드 챌린지(DB) - DB기본기 다지기 1 - 데이터베이스의 원칙 1. 무결성(Integrity) - Accuracy a. 데이터에 오류가 없어야함 b. 사용자가 저장하고자 하는 내용들이 저장되어야 함 - Consistency a. 데이터베이스는 일관성이 있어야함 b. 하지만 서비스 방향에 따라 타협 할 수 있음 2. 안정성(reliability) - Resilient - 고장이 잘 안나야함 3. 확장성 - Scale up vs scale out a. 어떤 상황에 유리한가? 1. Scale up(수직 확장) : - 단일 서버 또는 가상 머신의 성능을 향상시키는 방식이다. 기존 서버의 성능을 높이기 위해 CPU, RAM, 디스크 등의 리소스를 업그레이드하거나 추가하는 것을 의미한다. - 간단하고 관리가 쉽다. - 어플리케이션의 단일 인스턴스에서 성능 .. 2023. 10. 15. 프리온보딩 백엔드 챌린지(JAVA) - CleanCode 작성법 - 1. Meaningful Names (의도를 분명히 밝혀라) - 의도를 분명히 밝혀라. 변수 작성이 귀찮더라도 최대한 직관적으로 가는 게 좋다. 왜? 코드의 저자의 의도가 명확하게 파악이 되고, 위에서 아래로 자연스럽게 해석하기가 쉽다 또한 코드의 맥락이 명시적으로 협업 및 유지보수에 탁월하다. - 그릇된 정보를 피하라. - 의미 있게 구분하라. - 발음하기 쉬운 이름으로 정하자. 우리는 혼자 일하지 않는다. - 검색하기 쉬운 이름을 사용하라. 로그 검색하기가 쉽다. - 타입과 관련된 문자열을 넣지 말아라. 예외사항도 있다. 인터페이스 클래스와 구현 클래스의 경우, 인터페이스 클래스는 접두어를 붙이지 않고, 구체 클래스에 접두어를 붙이는 것이 좀 더 보기 좋다. 예를 들어, ShapeFactory 인터페.. 2023. 9. 5. 이전 1 다음