전체 글
-
Operating System - 프로세스 & 스레드Computer Science/Operating System 2022. 1. 4. 15:19
프로세스(Process) 프로그램(Program)이란? ㆍ 어떤 작업을 위해 실행할 수 있는 파일 프로세스(Process)란? ㆍ 컴퓨터에서 연속적으로 실행되고 있는 프로그램 ㆍ 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 ㆍ 운영체제로부터 시스템 자원을 할당받는 작업의 단위 ㆍ 즉, 실행되는 프로그램을 의미 프로세스가 할당받는 시스템 자원 ㆍ CPU 시간 ㆍ 운영되기 위해 필요한 주소 공간 ㆍ Code, Data, Stack, Heap의 구조로 되어있는 독립된 메모리 영역 프로세스의 특징 ㆍ 프로세스는 각각 독립된 메모리 영역(Code, Data, Stack, Heap)을 할당받는다. ㆍ 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. ㆍ 각 프로세스는 별도의 주소 공간에서..
-
Sneakers Mania - 더티 체킹(Dirty Checking)Projects/Problem & Solution 2022. 1. 4. 14:12
더티 체킹(Dirty Checking) 더티 체킹(Dirty Checking)이란? JPA는 EntityManager가 Entity를 저장/조회/수정/삭제를 한다. 그런데, EntityManager의 메서드를 찾아보면, 저장(persist)/조회(find)/삭제(delete)로 수정에 해당하는 메서드는 존재하지 않는다. 대신에 더티 체킹(Dirty Checking)이라는 개념이 존재한다. 더티 체킹은 트랜잭션 안에서 Entity의 변경이 일어나면, 변경 내용은 자동으로 DB에 반영하는 JPA의 특징이다. 또한, 영속성 컨텍스트 안에 있는 Entity를 대상으로 더티 체킹이 발생한다. 여기서 Dirty란 Entity 데이터의 변경된 부분으로 해석하면 된다. 즉, Entity의 변경된 부분을 확인해서 DB에..
-
프로그래머스 (Level 1) - 체육복Coding Test/Coding Test 문제 풀이 2022. 1. 4. 13:00
문제 설명 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 풀이 학생들이 가지고 있는 체육복의 개수를 배열 내에 저장하고, 배열을 하나씩 탐색하면서 체육복을 가지고 있지 않은 학생일 경우 앞, 뒤 학생에 빌릴 수 있는지 검사를 하며 문제를 해결하였다. 우선, 체육복의 개수를 저장할 배열 person을 선언한다. person 배열을 선언한 후 배열 내 모든 원소를 1로 초기화한다. 이후, lost 배열 내의 원소를 탐색하며, 해당 원소에 대한 person의 값을 1씩 감소시키고, reserve 배열 내의 원소를 ..
-
Git - Git 기본기 (init & add & commit)Git/Git 기초 2022. 1. 3. 20:04
Git 기본 명령어 Git 저장소 생성 git init 로컬 저장소로 사용할 폴더를 생성한 후 해당 폴더에서 "git init" 명령어를 실행하면 새로운 저장소가 생성된다. 위 명령어를 실행하면 저장소 구성을 위한 .git 폴더가 생성되며, 이 폴더에는 프로젝트 관리를 위한 파일들과 해당 프로젝트에만 적용할 config 파일 등이 들어있다. 파일 상태 확인 git status "git status" 명령어를 사용해 현재 저장소 내 파일들의 상태를 확인해 볼 수 있다. "git status" 명령어를 통해 현재 저장소에 "test01.txt" 파일이 추가되었음을 확인할 수 있다. 인덱스에 파일 추가 Git은 다음과 같이 크게 3가지 영역으로 구성되어 있다. 작업 폴더(Working Directory) ->..
-
Operating System - 운영체제Computer Science/Operating System 2022. 1. 3. 15:59
운영체제 운영체제란? ㆍ 일반적으로 하드웨어를 관리한다. ㆍ 응용 프로그램과 하드웨어 사이에서 인터페이스 역할을 하며, 시스템의 동작을 제어하는 시스템 소프트웨어로 정의한다. ㆍ 시스템의 자원과 동작을 관리하는 소프트웨어이다. 운영체제의 역할 프로세스 관리 운영체제에서 작동하는 응용 프로그램을 관리하는 기능이다. 어떤 의미에서는 프로세서(CPU)를 관리하는 것이라고 볼 수도 있다. 현재 CPU를 점유해야 할 프로세스를 결정하고, 실제로 CPU를 프로세스에 할당하며, 이 프로세스 간 공유 자원 접근과 통신 등을 관리하게 된다. 저장장치 관리 1차 저장장치에 해당하는 메인 메모리와 2차 저장장치에 해당하는 하드디스크, NAND 등을 관리하는 기능이다. 1차 저장장치(Main Memory) ㆍ 프로세스에 할당..
-
프로그래머스 (Level 2) - 소수 찾기Coding Test/Coding Test 문제 풀이 2022. 1. 3. 15:07
문제 설명 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 풀이 문자열 numbers가 주어졌을 때, 각 숫자로 만들 수 있는 소수가 몇 개인지 반환하는 문제이다. 가장 간단한 방법으로 각 숫자로 만들 수 있는 모든 조합을 만든 후, 해당 숫자가 소수인 경우를 카운트하는 완전 탐색의 방식으로 문제를 해결하였다. 풀이 방법은 다음과 같다. 1. 백트래킹 방식을 사용해서 각 숫자로 만들 수 있는 모든 조합을 만든다. 2. 각 숫자가 소수인지 판별한다. 3. 해당 숫자가 소수인 경우 HashMap 자..