분류 전체보기 334

백준_11286 절댓값 힙(자바) / 자료구조

시간&메모리 제한 문제 입력&출력 문제 풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.PriorityQueue; public class Back_11286 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); String..

[CS 정리] OSI 7 Layer

우아한 테크톡 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 강의 링크를 참고하시면 됩니다. OSI 7 Layer 물데네전세표응 물리, 데이터 링크, 네트워크, 전송, 세션, 표현, 응용 계층... 물리 계층(Physical Layer) 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려 보내고, 아날로그 신호가 들어오면 0과 1의 나열로 해석하여 물리적으로 연결된 두 대의 컴퓨터가 0과 1의 나열을 주고받을 수 있게 해주는 모듈 두 대의 컴퓨터가 통신하려면? 모든 파일과 프로그램은 0 과 1의 나열입니다. 즉, 0과 1만 주고받을 수 있습니다. 1을 보낼 때는 + 5V의 전기를 전선으로 흘려 보내고 0을 보낼 때는 - 5V의 전기를 전선으로 흘려 보내면 0과 1의 전송이 가능할..

[Spring Data JPA] 4. 엔터티 상태와 Cascade

백기선님 강의 중 Spring Data JPA에 대해서 정리를 해놓은 블로그입니다. 자세한 내용은 강의를 참고해주세요. 강의 링크 Cascade 란? 엔터티의 상태 변화를 전파시키는 옵션입니다. @OneToMany나 @ManyToOne에 옵션으로 줄 수 있는 값입니다. 만약 엔터티의 상태 변화가 있으면 연관되어 있는 엔터티에도 상태 변화를 전이시키는 옵션입니다. Cascade 의 종류 CascadeType.PERSIST 엔티티를 영속화 할 때이 필드에 보유 된 엔티티도 유지합니다. EntityManager가 flush 중에 새로운 엔티티를 참조하는 필드를 찾고이 필드가 CascadeType.PERSIST를 사용하지 않으면 오류이므로이 Cascade 규칙의 자유로운 적용을 제안합니다. CascadeType..

[CS 정리] 교착상태(Deadlock)

우아한 테크톡 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 강의 링크를 참고하시면 됩니다. 교착상태 (Deadlock) 상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상을 의미합니다. 교착 상태 4가지 필요 조건 1. 상호 배제 조건 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 합니다. 2. 점유와 대기 조건 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 합니다. 3. 비선점 조건 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 합니다. 4. 순..

백준_2812 크게 만들기 (자바) / 그리디 알고리즘

시간&메모리 제한 문제 입력&출력 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Deque; import java.util.StringTokenizer; public class Back_2812 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer s..

백준_11000 강의실 배정 (자바) / 그리디 알고리즘

시간&메모리 제한 문제 입력&출력 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.PriorityQueue; import java.util.StringTokenizer; public class Back_11000 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new Buffer..

[CS 정리]캐시 정리

우아한 테크톡 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 강의 링크를 참고하시면 됩니다. 메모리 계층 구조 데이터를 저장하는 공간의 속도와 용량은 반비례 관계 속도가 빠른 메모리 일수록 용량이 작음 용량이 큰 저장장치는 속도가 느림 둘 다 잡기에는 비용이 많이 듬 그래서 데이터 저장 공간은 속도와 용량에 따라 특성에 맞게 역활을 나누어서 사용합니다. 데이터 저장 공간을 속도 - 용량 순서도래 쌓으면 마치 피라미드와 같은 형상이 나타납니다. 파레토의 법칙 원인 중 상위 20%가 전체 결과의 80%를 만든다는 법칙입니다. 2대 8 법칙이라고도 합니다. 데이터 지역성의 원리 자주 쓰이는 데이터는 시간적 혹은 공간적으로 한 곳에 몰려 있을 가능성이 높습니다. 시간 지역성 공간 지역성 캐..

[CS 정리]빌드 용어 정리

우아한 테크톡 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 강의 링크를 참고하시면 됩니다. 빌드 용어 정리 컴파일 vs 빌드 컴파일 원시 파일에서 컴퓨터가 알아들을 수 있도록 바꾸는 것이 컴파일입니다. 오브젝트 파일에 메소드, 라이브러리, 리소스 등을 연결시킨 파일이 실행 파일입니다. 빌드 Java에서의 대표적인 빌드 도구는 Maven, Gradle, ANT 있습니다. 빌드 도구란? 소스 코드로부터 실행 가능한 어플리케이션을 생성하는 것을 자동화하는 프로그램 Java의 빌드 도구들 ANT 빌드 도구 현대적인 빌드 도구 xml 절차적 유연성 스크립트를 직접 명시 Maven pom.xml 의존성 다운로드 가능 컨벤션 사용자 의도에 맞는 로직 개발이 어려움 Gradle Groovy / ..

[CS 정리]프로세스 ( Process ) vs 쓰레드 ( Thread )

우아한 테크톡 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 강의 링크를 참고하시면 됩니다. 실행 단위 cpu core에서 실행하는 하나의 단위로 프로세스와 스레드를 포괄하는 개념 프로세스 하나의 스레드만 가지고 있는 단일 스레드 프로세스 동시성 한 순간에 여러가지 일이 아니라, 짧은 전환으로 여러가지 일을 동시에 처리하는 것처럼 보이는 것 프로그램이 프로세스가 되면서 일어나는 건? 프로세스가 필요로 하는 것이 메모리에 올라갑니다. 이런 메모리는 4가지 영역으로 나눠져 있습니다. PCB 블럭 여러 프로세스의 작업 진행 PCB 가 돌아가면서 진행을 하는데 이게 바로 컨텍스트 스위칭입니다. 이런 복잡함을 해결하기 위해 경량화된 프로세스 버전인 스레드입니다. 스레드는 코드 데이터 힙 영역..

백준_2012 등수 매기기(자바) / 그리디 알고리즘

시간&메모리 제한 문제 입력&출력 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Back_2012 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int arr[] = new..