운영체제
동기화란? 여러 프로세스나 스레드가 공유 자원에 안전하게 접근하도록 순서를 조정하는 것 동기화가 필요한 이유 공유 자원 : 여러 프로세스가 동일한 자원 사용 경쟁 상태 : 동시 접근 시 예상치 못한 결과 발생 데이터 일관성 : 정확한 결과 보장 필요 임계 영역 (Critical Section) 공유 자원에 접근하는 ...
동기화란? 여러 프로세스나 스레드가 공유 자원에 안전하게 접근하도록 순서를 조정하는 것 동기화가 필요한 이유 공유 자원 : 여러 프로세스가 동일한 자원 사용 경쟁 상태 : 동시 접근 시 예상치 못한 결과 발생 데이터 일관성 : 정확한 결과 보장 필요 임계 영역 (Critical Section) 공유 자원에 접근하는 ...
CPU 스케줄링이란? 여러 프로세스가 CPU를 효율적으로 사용할 수 있도록 순서를 정하는 것 스케줄링이 필요한 이유 멀티프로그래밍 : 여러 프로세스가 동시에 실행 CPU 활용률 극대화 : 유휴 시간 최소화 응답 시간 개선 : 사용자 경험 향상 프로세스 상태 [새로운] → [준비] → [실행] → [종료] ...
메모리 관리란? 운영체제가 메모리를 효율적으로 할당하고 회수하는 과정 메모리 관리가 필요한 이유 제한된 메모리 : 물리적 메모리는 한정적 다중 프로세스 : 여러 프로세스가 동시에 실행 효율성 : 메모리 공간을 최적화해야 함 메모리 할당 방식 연속 메모리 할당 고정 분할 (Fixed Partition) 메모리를 고정...
프로세스(Process) 실행 중인 프로그램을 의미 프로세스의 메모리 구조 Code 영역 : 실행할 코드가 저장되는 곳 Data 영역 : 전역 변수, 정적 변수가 저장되는 곳 Stack 영역 : 지역 변수, 함수 호출 정보가 저장되는 곳 Heap 영역 : 동적 할당된 메모리가 저장되는 곳 특징 각 프로세스는 독립...
클래스형 컴포넌트 생명주기 Mount 처음 화면에 나타날 때 컴포넌트가 DOM 에 처음 추가될 때 호출되는 메서드 constructor() + render() -> componentDidMount() componentDidMount() 마운트 완료 후 비동기 데이터 로딩, 타이머 등록 등에 자주 사용 Update p...
Modern Javascript 특징 가상 DOM 을 이용하는 라이브러리 혹은 프레임워크 사용 npm, yarn 등의 패키지 관리자 사용 주로 ES6 이후 표기법 사용 모듈 핸들러 사용 트랜스파일러 사용 SPA 로 작성 패키지 관리자 패키지 설치 시 패키지 관리, 설치, 업그레이드 등을 전담 의존 관계를 ...
DOM 요소를 추가하기 위한 준비 $(document).ready(function() { }); 객체 편집 메소드 append() : 선택한 요소의 마지막 위치(내부)에 새 요소 추가 prepend() : 선택한 요소의 맨 앞 위치(내부)에 새 요소 추가 after() : 선택한 요소의 다음 위치에 새 요소 추가 be...
주요 선택자 전체 선택자 (*) 문서 내 모든 요소에 스타일을 적용할 때 사용된다. 예: 초기화 스타일링 ```css { margin: 0; padding: 0; } ``` 태그 선택자 (p, div, ul 등) 특정 HTML 태그를 선택한다. p { font-...
Servlet Authentication Architecture SecurityContextHolder 출처 : Spring Security Docs Spring Security 가 인증된 사용자의 세부 정보를 저장하는 곳 SecurityContext context = SecurityContextHolder.createEmptyCon...
정렬 알고리즘 programmers 에서 정렬이 사용된 문제를 풀어보던 중에 어떤 분의 ‘라이브러리에 너무 의존하는 것 같다’ 라는 댓글(제 풀이 달린건 아닙니다)을 봤을 때, ‘과연 나는 라이브러리 없이 정렬을 구현할 수 있나?’ 라는 의문이 들었습니다. 물론 단순 정렬은 쉽게 하겠지만 배웠던 정렬 방법들의 구현은 쉽게 생각이 나지 않았습니다. ...