전체 글 334

백준_1475 방 번호(자바) / 구현

시간&메모리 제한 문제 입력&출력 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Back_1475 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String tmp = br.readLine(); int cnt[] = new int[10]; int ans=0; for (int i = 0; i < tmp.length(); i++) {..

[CS 정리] JDBC, SQLMAPPER, ORM

우아한 테크톡 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 강의 링크를 참고하시면 됩니다. 재정리 진행예정인 페이지입니다. JDBC, SQLMAPPER, ORM 의 공통점 영속성(Persistence) 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 속성 JDBC SQLMAPPER ORM 의 종류 JDBC API JAVA 진영의 Database 연결 표준 인터페이스 구조도 DriverManager를 통한 Connectiong 인스턴스 MyBatis SQL 분리를 목표로 하고 있습니다. 따라서 JAVA에서 작성하던 쿼리를 XML에서 작성하면 됩니다. ORM(Object-Relational Mapping) SQL에 의존적인 개발 물리적으로 SQL과 JDBC API..

백준_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..

네트워크 프록시(Proxy) & 로드 밸런서(Load Balancer)

우아한 테크톡 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 강의 링크를 참고하시면 됩니다. Proxy 대리! 남을 대신하여 일을 처리함 Proxy Server 대신 처리하는 서버 클라이언트와 서버간의 중계 서버로, 통신을 대리 수행하는 서버 캐시/ 보안/ 트래픽 분산 등등 여러 장점을 가지고 있습니다. Proxy와 인터넷을 합쳐둔 상태 Forward Proxy 일반적으로 말하는 Proxy Proxy 서버를 설정 인터넷 속도를 향상시키기 위해 Proxy 설정 외국에서 접속하는 것처럼 테스트하기 위해 Proxy 설정 개인정보를 빼돌린 해커의 IP 추적을 방지하기 위해 Proxy 설정 특징 1. 캐싱 클라이언트가 요청한 내용을 캐싱 클라이언트가 어떠한 정보에 대해서 요청을 했을 때, 가..