본문 바로가기

WIL/항해 플러스

(2)
[1주차] 동시성 제어 방식의 종류 1. 동시성 제어(Concurrency Control)의 개념과 중요성동시성 제어는 여러 스레드가 동시에 자원에 접근할 때 발생할 수 있는 경쟁 상태를 방지하여 시스템의 일관성과 무결성을 보장하는 기술입니다. 특히 다중 사용자 환경에서 자원 충돌로 인한 오류를 방지하고 안정적인 성능을 제공합니다.1) 동시성 제어의 필요성:데이터 일관성 유지: 여러 스레드가 동시에 데이터에 접근할 때 충돌을 방지.시스템 안정성 확보: 예측할 수 없는 경쟁 상태에서의 오류 방지.공정한 자원 접근 보장: 각 스레드가 자원에 공평하게 접근할 수 있도록 함.데이터 손실 방지: 동시 접근으로 발생할 수 있는 데이터 손실 및 충돌 방지.2. 주요 동시성 이슈 유형Lost Update (갱신 손실): 두 스레드가 동시에 데이터를 수정..
[1주차] Test Driven Development 1. 테스트 코드 작성의 중요성과 가독성 문제- 소프트웨어 개발에서 테스트 코드는 매우 중요합니다. 하지만, 테스트 코드를 작성하는 과정에서 가독성 문제와 개발 속도 저하 등 여러 가지 어려움이 발생할 수 있습니다.1) 개발 속도 저하- 테스트 코드 작성은 초기에 개발 속도를 느리게 만들 수 있습니다. 개발자는 새로운 기능을 구현하면서 동시에 테스트 코드를 작성해야 하므로 시간이 더 걸리지만, 이후 버그 수정 및 유지보수에서 시간을 절약할 수 있습니다.2) 테스트 코드 작성의 복잡성- 테스트 코드를 작성하는 것이 어려운 이유 중 하나는 private 메서드입니다. Private 메서드는 외부에서 직접 접근할 수 없기 때문에 테스트 코드 작성이 어렵습니다. (private 안에 모든 기능이 한 군데에 뭉쳐..