2025/04/10 3

[테코톡] SOLID + 추가 정리

출처: https://www.youtube.com/watch?v=7c0tqHLfxlE&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=101 SOLID: 객체지향 설계에서 유지보수성과 확장성을 높이기 위한 설계 원칙SRP 단일 책임 원칙객체는 한 가지 역할(책임)만 가져야 한다.객체가 변경되는 이유는 단 한 가지여야 한다.필요성: 책임이 변경의 축이기 때문에 분할되는 것이 중요책임이 여러 개면 클래스가 커지고 책임 간의 결합도가 높아져 연쇄적인 변화가 발생어떻게?추상화를 통해 객체를 설계할 때 한 개의 역할만 갖도록 구성책임을 묶어서 생각하기 때문에 쉽지 않음... -> 책임의 분배는 설계 상황에 따라 바뀔 수 있으므로 경험이 중요 OCP 개방 폐쇄 원칙객체의 확장에 열..

Spring & JPA 2025.04.10

4. Threads & Concurrency

OverviewThread: a light-weight processCPU 사용의 기본 단위이며 thread ID, a program counter(PC), a register set, stack으로 구성같은 프로세스에 속한 스레드는 code section, data section, other OS resources를 공유하나의 애플리케이션은 여러 스레드를 제어하여 독립된 프로세스로 구현될 수 있음웹 서버는 이미지를 표시하는 스레드와 네트워크에서 데이터를 받는 스레드를 가질 수 있음하나의 애플리케이션은 여러 개의 비슷한 태스크를 수행서버가 요청을 수신할 때마다 단일 프로세스를 생성 -> 많은 시간과 자원을 소모웹 서버 프로세스가 멀티스레드 방식이라면 서버는 클라이언트 요청을 듣기 위한 별도의 스레드를 생..

3. Processes

Process Concept운영체제가 실행하는 프로그램 종류Batch system - jobsTime-shared systems - user programs or tasksProcess: 실행 중인 프로그램상태 정보는 program counter의 값과 레지스터의 내용으로 표현됨Text Section: 실행가능한 코드Data Section: 전역 변수Heap Section: 프로그램 실행 동안 동적으로 할당된 메모리Stack Section: 함수 호출 시 임시 데이터 저장소(매개변수, 지역변수, 반환 주소)Program: 디스크에 저장된 passive entity (실행가능한 파일)Process: 실행가능한 파일이 메모리에 로드된 active entity  Process State프로세스 실행 동안 상태..