목록전체 글 (255)
-

이번 스프링 부트 내용 관련 정리는 JPA와 관련해서 작성합니다. 1. 스프링부트는 일종의 웹,앱 개발을 위한 하나의 "프레임 워크"입니다. Frame은 틀, work는 동작하다(동사)인 것으로 비추어 보아 틀 안에서 동작한다 이런 의미로 이해하시면 되겠습니다. 단어 그대로, 개발을 하는데 있어서 이 틀을 벗어나지 말라는 의미입니다. "신입 개발자들아. 내가 틀을 제공해줄테니까 너는 이 틀에 맞춰서 개발해. 그럼 너도 나처럼 좋은 프로그램을 만들 수 있을거야" 이게 프레임워크입니다. 2. 또한 스프링 부트는 오픈 소스입니다. 따라서 우리는 소스 코드의 내부를 들여다 볼 수 있습니다. 만약 우리가 스프링 부트를 공부하다가 내부를 너무 많이 공부해서 아주 깊숙히 알게 되면 이거 좀 불편한데? 생각이 들 때 ..

# 주소 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net # 문제 # 문제 해설 및 코드 리뷰 import java.awt.Point; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; public class Main{ static int n; static char[][]..

이번 시간엔 프로세스 스케줄링이 일어날 때 여러 알고리즘에 의해서 수행되는데, 어떤 알고리즘이 있는지 어떻게 연산이 되는지 등을 알아보겠습니다. 다 정리하려면 굉장히 많겠지요??? 그래서 2가지 글로 나누어서 설명을 해보고자 합니다. 가능하면 한 개로 할 수 있으면 좋겠네요 첫 번째 FCFS (First-Come-First-Service)입니다. 쉽게 이해하자면 선착순입니다. 먼저 오는 프로세스에게 먼저 CPU를 할당해주겠다는 의미입니다. 따라서 비선점 스케줄링이라고도 합니다.(프로세스가 끝날 때까지 누구도 뺏을 수 없음) 그리고 스케줄링의 기준은 도착 시간을 기준으로 선택하고 먼저 도착한 프로세스를 먼저 처리하게 됩니다. 그러므로 자원을 효율적으로 사용할 수 있습니다. 왜 그럴까요? 자, 컴퓨터 공학에..

지난 시간엔 스레드의 관리와 스레드의 개념에 대해 알아보았었습니다. 이번 시간엔 프로세스가 시스템에서 어떻게 스케줄링되어서 자원을 할당 받는지 공부하겠습니다. 중요한건 CPU에 할당 받는 부분에 대해서 집중적으로 한 번 알아보겠습니다. 우리가 프로세스 스케줄링을 왜 해야하는지 알고 계신가요??? 우리가 사용하는 시스템은 하나의 프로세스만 가지고 있지 않습니다. 즉 우리 시스템은 다중 프로그래밍이기 때문에 여러 프로세스가 존재합니다. 그렇기 때문에 자원을 나누어서 사용해야할 필요가 있습니다. 이를 적절하게, 효율적으로 사용하려면 자원을 할당 할 프로세스를 선택할 때 "스케줄링" 이라는 개념이 사용됩니다. 이 중 자원을 효율적으로 관리하기 위해 총 2가지로 나눌 수 있습니다. 시간 분할 관리 (time sh..