본문 바로가기
728x90

전체 글36

운영체제 [ OS ] [ OS ] ∘ 하드웨어를 관리하고, 응용프로그램과 하드웨어 사이에서 인터페이스 역할을 하며 시스템의 동작을 제어하는 시스템 소프트웨어 ∘ 시스템의 자원을 관리하는 SW [ 프로그램 ] ∘ 작업을 위해 실행 가능한 파일 [ 프로세스 ] ∘ 실행중인 프로그램 ∘ 디스크로부터 메모리에 적재되어 CPU의 할당을 받은 작업의 단위 ∘ OS로부터 시스템 자원을 할당받는다. ( CPU, 주소공간, 독립된 메모리 영역 ) ∘ OS는 프로세스 관리를 위해 프로세스 생성과 동시에 고유 PCB를 생성 ∘ 프로세스는는 다른 프로세스의 변수나 자료구조에 접근할 수 없으며, 접근을 위해 IPC통신이 필요 ∘ 프로세스 메모리 영역 : Code + Data + Stack + Heap [ PCB ] Process Control Bl.. 2021. 11. 12.
스프링 핵심 원리 스프링 프레임워크 • 핵심 기술 : 스프링 DI 컨테이너, AOP • 웹 기술 : 스프링 MVC, 스프링 WebFlux • 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, XML 지원 • 기술 통합 : 캐시, 이메일, 원격접근, 스케줄링 • 테스트 : 스프링 기반 테스트 지원 • 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용 스프링 부트 • 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용 • 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 • Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 • 손쉬운 빌드 구성을 위한 starter 종속성 제공 • 스프링과 3rd parth(외부) 라이브러리 자동 구성 스프링의 핵심.. 2021. 11. 11.
알고리즘 [ Algorithm ] [ Algorithm ] 1. 선택정렬 Selection Sort ∘ 해당 순서에 원소를 넣을 위치를 정해놓고 원소를 선택하는 알고리즘 ∘ 자리를 선택하고 그 자리에 오는 값을 찾는 것 ∘ 불안정 정렬 ∘ 비교 횟수 : (n-1) + (n-2) + ... + 2 + 1 ⇨ n(n-1)/2 ∘ 시간복잡도 : O(n^2) for( int i=0; i 2021. 11. 10.
자료구조 [ Data Structure ] 1. Array [ 배열 ] : 조회 유리 ∘ 컴파일 시점에 할당되어지는 정적 메모리 할당 ∘ 논리적 저장 순서 == 물리적 저장 순서 ∘ 메모리 공간 상에 연속적으로 저장 ∘ immutable ∘ Random Access 가능 ⇨ index를 알고 있으면 O(1)의 시간복잡도로 원소에 접근 가능 ∘ 삽입 & 삭제 : O(N) 2. ArrayList [ 동적 배열 ] ∘ 사이즈를 동적으로 생성할 수 있는 배열 ∘ Object Element만을 담을 수 있다. ∘ Generic 사용 가능 3. Linked List : 삽입&삭제 유리 ∘ runtime 시점에 할당되어지는 동적 메모리 할당 ∘ 논리적 저장 순서 != 물리적 저장 순서 ∘ 메모리 공간 상에 불연속적으로 저장 & 각각의 노드가 자신의 다음 노드.. 2021. 11. 10.
728x90