일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 임베디드타입
- 해시
- 2178
- DB replication
- BFS
- SpringBatch
- 프로그래머스
- fatch
- 트리맵
- 외래키제약조건위반
- Spring JPA
- 파이널프로젝트
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
- 트리셋
- JPA
- 백준
- 구현
- CS
- 운영체제
- 산업은행it
- flyway
- 컴퓨터구조
- 그래프탐색
- CPU스케줄링
- 산업은행청년인턴
- findById
- 스케일아웃
- 폰켓몬
- 프로젝트
- 코테
- Today
- Total
목록CS (9)
나 JAVA 봐라

DFS / 백트래킹 이 두가지가 항상 함께 등장하는데, 어떤 차이가 있는지 몰라 정리해보았다. 쉽게 이야기 하자면 끝까지 가는지(DFS)/ 돌아오는지(백트래킹) 의 차이이다. 그래서, DFS 탐색하며 조건을 확인하며 해당 노드가 유망하지 않으면 탐색하지 않는 것 = 백트래킹 이다. 백트래킹도 일반적으로 재귀 형태로 작성되며 크게 3개의 내용을 작성한다. 재귀를 진행하는 동안 사용될 깊이(depth)를 매개변수로 넣기 재귀가 종료될 때 수행할 내용 재귀 종료조건 = 보통 정해진 depth에 도달했을 때 dfs 함수의 제일 앞에서 종료 조건에 포함되었는지 먼저 검사한다. 재귀가 진행 중이면 가지치기(백트래킹)할 내용 백트래킹으로 조합하는 함수를 구현하면 아래와 같다. public static void com..

프로세스 우선순위와 스케줄링 큐 운영체제가 프로세스(및 스레드)에 어떻게 자원을 할당할까? 운영체제가 자원(CPU, 디스크,..)을 공정하고 합리적으로 배분하는 방법이 스케줄링 이다. CPU 자원은 한정되어 있고 실행 중인 프로세스는 여러 개인데, 어떻게 나눠서 사용할 수 있을까? 정해진 시간 동안 돌아가면서 CPU를 사용하는 것이 좋을까? -> NO, 프로세스마다 우선순위가 다르다. 우선순위는 PCB에 명시되어 있다. 그렇다면 우선순위의 차이를 보이는 프로세스 유형은 무엇이 있을까? I/O bound process, CPU bound process 로 예시를 들 수 있다. I/O bound process가 CPU bound process 보다 우선순위가 높다. I/O bound process는 I/O ..

커널 영역과 사용자 영역의 프로세스 운영체제가 적재되는 커널 영역과 사용자 프로그램이 적재되는 사용자 영역이 있다. 하나의 프로세스가 실행될 때 커널, 사용자 영역에 각각 무엇이 생성되는지 알아보자. 프로세스란 실행 중인 프로그램이다. 같은 프로그램도 여러개의 프로세스가 될 수 있다. 프로세스는 사용자와 직접 소통 하는지, 안하는지에 따라 크게 두 종류로 나뉠 수 있다. 프로그라운드 프로세스 백그라운드 프로세스 위와 같이 많은 프로세스가 메모리에 적재되어 실행되는데, 이런 것을 운영체제는 어떻게 관리할까? => 프로세스 제어 블록을 통해 프로세스 식별과 관리를 한다. ++ 위에서 같은 프로그램도 여러 개의 프로세스가 될 수 있다고 했는데, 그렇다면 같은 프로그램에서 생성된 여러 개의 프로세스는 PCB를 ..

운영체제가 무엇인지 거시적으로 살펴보며 이해해보자. 운영체제의 역할 컴퓨터 구조 파트에서 학습한 다양한 컴퓨터 부품(CPU, 메모리, SSD, 입출력 장치..) 들은 '누가' 움직이게 만들까? => 운영체제 위에서 말한 컴퓨터 부품들은 (시스템) 리소스 라고도 한다. * 리소스 (= 자원) : 실행에 마땅히 필요한 요소 리소스 소모/낭비 , 리소스 모니터링 등을 말할 때 사용된다. (ex. 프로세스 실행에 필요한 리소스를 모니터링한다.) 운영체제의 종류 윈도우, macOS, 리눅스, 안드로이드,... 운영체제 운영체제: 자원을 관리하고 할당하는 '특별한 프로그램' 모든 프로그램은 실행되기 위해 메인 메모리(RAM)에 적재되어야 한다. 이 메모리에 적재된 프로그램을 CPU에서 인출해서 실행한다. 운영체제는..

전공 수업 때, CS를 분명히 공부했음에도 실제로 어떻게 적용되며 어떻게 각 계층이 이어지는 것인지에 대해 유기적으로 이해하지 못했었다. 이번에 강의를 듣고 정리하는 과정을 통해 확실하게 내 지식으로 가져가보고자 한다 ! 강의는 패스트캠퍼스의 '현실 세상의 컴퓨터공학 지식 with 30가지 시나리오' 를 수강했다. https://fastcampus.co.kr/dev_online_newcomputer 현실 세상의 컴퓨터공학 지식 with 30가지 실무 시나리오 초격차 패키지 Online. | 패스트캠퍼스 국내유일, 77시간 분량의 개발자를 위한 한 번에 끝내는 컴퓨터공학 (CS 지식) 강의를 확인하세요. 자료구조,알고리즘부터 디자인패턴, 클린코드까지 ! CS지식의 이론~실습뿐 아니라, 실제 실무에 fast..

전공 수업 때, CS를 분명히 공부했음에도 실제로 어떻게 적용되며 어떻게 각 계층이 이어지는 것인지에 대해 유기적으로 이해하지 못했었다. 이번에 강의를 듣고 정리하는 과정을 통해 확실하게 내 지식으로 가져가보고자 한다 ! 강의는 패스트캠퍼스의 '현실 세상의 컴퓨터공학 지식 with 30가지 시나리오' 를 수강했다. https://fastcampus.co.kr/dev_online_newcomputer 현실 세상의 컴퓨터공학 지식 with 30가지 실무 시나리오 초격차 패키지 Online. | 패스트캠퍼스 국내유일, 77시간 분량의 개발자를 위한 한 번에 끝내는 컴퓨터공학 (CS 지식) 강의를 확인하세요. 자료구조,알고리즘부터 디자인패턴, 클린코드까지 ! CS지식의 이론~실습뿐 아니라, 실제 실무에 fast..

BFS (Breadth Fisrt Search) 너비 우선 탐색 이라고 부른다. 가까운 노드부터 우선적으로 탐색하기 때문에 넓게 탐색해서 너비 우선 탐색이다. Queue 자료구조를 사용하여 구현할 수 있다. 탐색 방식 루트 노드 (혹은 다른 임의의 노드) 에서 시작하여 인접한 노드를 먼저 탐색한다. 사용하는 경우: 두 노드 사이의 최단 경로 혹은 임의의 경로를 찾고 싶을 때 이 방법을 선택한다. ex) 미로 탐색 (최단 거리) 특징 시작 정점으로부터 거리가 가까운 정점의 순서로 탐색한다. (거리 1 탐색 후, 2,3,4 순서로 탐색) 그래프 탐색의 경우, 어떤 노드를 방문했었는지의 여부를 반드시 검사해야한다. 그래서 노드를 큐에 담을 때에는 꼭 방문처리를 한 후에 담는다. 방문 여부를 체크하지 않으면 무..

전공 수업 때, CS를 분명히 공부했음에도 실제로 어떻게 적용되며 어떻게 각 계층이 이어지는 것인지에 대해 유기적으로 이해하지 못했었다. 이번에 강의를 듣고 정리하는 과정을 통해 확실하게 내 지식으로 가져가보고자 한다 ! 강의는 패스트캠퍼스의 '현실 세상의 컴퓨터공학 지식 with 30가지 시나리오' 를 수강했다. https://fastcampus.co.kr/dev_online_newcomputer 현실 세상의 컴퓨터공학 지식 with 30가지 실무 시나리오 초격차 패키지 Online. | 패스트캠퍼스 국내유일, 77시간 분량의 개발자를 위한 한 번에 끝내는 컴퓨터공학 (CS 지식) 강의를 확인하세요. 자료구조,알고리즘부터 디자인패턴, 클린코드까지 ! CS지식의 이론~실습뿐 아니라, 실제 실무에 fast..
문득 JVM의 힙과 자료구조의 힙이 왜 이름이 똑같을까? 하는 궁금증이 생겼다가 자료구조 힙에 대한 개념을 다 잊어버려서 정리한다. 힙이란? 힙 : 데이터에서 최대값, 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree) 완전 이진 트리: 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 힙은 언제, 왜 사용해? 힙은 최대값, 최소값을 빠르게 찾기 위해 사용된다. 배열의 경우 최대값, 최소값을 찾는데 $O(n)$ 이 걸린다. 힙의 경우 최대값, 최소값을 찾는데 $O(logn$) 이 걸린다. => 따라서 최대값, 최소값을 찾기 위해 '힙' 을 사용한다. 우선순위 큐와 같이 최대값, 최소값을 빠르게 찾아야하는 자료구조, 알고리즘 구현에 활용된다. 즉, '힙' ..