전체 글 334

백준_11659 구간 합 구하기 4(자바) / 누적 합

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

[Network] 8. 조각화 이론

네트워크 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 네트워크 기초를 참고하시면 됩니다. 조각화란? 큰 IP 패킷들이 적은 MTU를 갖는 링크를 통하여 전송되려면 여러 개의 작은 패킷으로 쪼개어 / 조각화 되어 전송돼야 합니다. 즉, 목적지까지 패킷을 전달하는 과정에 통과하는 각 라우터마다 전송에 적합한 프레임으로 변환이 필요합니다. 일단 조각화되면, 최종 목적지에 도달할 때까지 재조립되지 않는 것이 일반적입니다. IPv4에서는 발신지뿐만 아니라 중간 라우터에서도 IP 조각화가 가능합니다. IPv6에서는 IP 단편화가 발신지에서만 가능합니다. 재조립은 항상 최종 수신지에서만 가능합니다. 조각화 과정 MTU 가 3300 bytes IPv4 헤더 20 bytes 나머지 3280 byt..

백준_5639 이진 검색 트리(자바) / 트리

시간 & 메모리 제한 문제 입력&출력 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Back_5639 { static StringBuilder sb = new StringBuilder(); public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Node root = new Node(Integer.par..

[Network] 7. 라우팅 테이블

네트워크 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 네트워크 기초를 참고하시면 됩니다. 라우팅 테이블 어디로 보내야 하는지 설정되어 있음 라우팅 한 네트워크에서 다른 네트워크로 패킷을 이동시키는 과정과 네트워크 안의 호스트에게 패킷들을 전달하는 과정 라우터의 기능 - 경로 설정 : 데이터 패킷이 출발지부터 목적지까지 갈 수 있는 경로를 검사하고 어떤 경로로 가는 것이 최선인지 결정 - 스위칭 : 경로 설정이 결정될 경우 데이터 패킷 스위칭 작업을 함 라우팅 테이블 - 패킷이 목적지, 목적지까지의 거리와 가는 방법 등을 명시하고 있는 테이블 - 시간에 따라 주기적으로 업데이트하며 라우터기기의 손상이나 새로운 경로 생성이나 제거에 따라 변화함 다른 네트워크와 통신하는 과정 목적지 I..

[Network] 6. ICMP 프로토콜(3계층 프로토콜)

네트워크 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 네트워크 기초를 참고하시면 됩니다. ICMP 프로토콜 ICMP 프로토콜이 하는 일 ICMP ( Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜) 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류메시지를 전송 받는 데 주로 사용이 됩니다. 프로토콜 구조의 Type과 Code를 통해 오류 메시지를 전송 받습니다. ICMP의 구조 Type : ICMP 메시지의 타입 Code : 위에서 지정한 타입에 속하는 하위기능을 지시하는 코드 Checksum : 완전한 ICMP 메시지의 Checksum Miscellaneous : 순서번호나, 인터넷주소 등을 담기 위한 항목 IP protocol Head..

[Network] 5. IP 프로토콜 ( 3계층 프로토콜 )

네트워크 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 네트워크 기초를 참고하시면 됩니다. IPv4 프로토콜 IPv4가 하는 일 네트워크 상에서 데이터를 교환하기 위한 프로토콜입니다. 데이터가 정확하게 전달될 것을 보장하지는 않습니다. 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있습니다. 데이터의 정확하고 순차적인 전달은 그보다 상위 프로토콜인 TCP에서 보장을 합니다. IPv4 구조 Version 인터넷 프로토콜의 버전을 의미한다. IPv4, IPv5, IPv6 등의 버전이 들어갈 수 있다. IHL 헤더의 길이이다. 헤더의 길이는 최소 20바이트부터 최대 60바이트의 크기를 가지기에 0부터 15까지의 수를 표현할 수 있는 4비트를 가지고 60바이트까지 표현하기 위..

백준_9372 상근이의 여행(자바) / BFS

시간&메모리 제한 문제 입력&출력 문제풀이 package com.Back; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Back_9372 { static int N,M,ans; static boolean visited[]; static int[][] arr; public static void main(String[] args) throws NumberFormatException, IOException { Bu..

[Spring Data JPA] 3. 엔티티 Value 관계 맵핑

백기선님 강의 중 Spring Data JPA에 대해서 정리를 해놓은 블로그입니다. 자세한 내용은 강의를 참고해주세요. 강의 링크 앤티티 맵핑 @Entity “엔티티”는 객체 세상에서 부르는 이름. 보통 클래스와 같은 이름을 사용하기 때문에 값을 변경하지 않음. 엔티티의 이름은 JQL에서 쓰임. @Table “릴레이션" 세상에서 부르는 이름. @Entity의 이름이 기본값. 테이블의 이름은 SQL에서 쓰임. @Id 엔티티의 주키를 맵핑할 때 사용. 자바의 모든 primitive 타입과 그 랩퍼 타입을 사용할 수 있음 Date랑 BigDecimal, BigInteger도 사용 가능. 복합키를 만드는 맵핑하는 방법도 있지만 그건 논외로.. @GeneratedValue 주키의 생성 방법을 맵핑하는 애노테이션 ..

[Network] 4. ARP 프로토콜( 3계층 프로토콜 )

네트워크 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 네트워크 기초를 참고하시면 됩니다. ARP 프로토콜 이란? ARP 프로토콜은 같은 네트워크 대역에서 통신을 하기 위해 필요한 MAC주소를 IP주소를 이용해서 알아오는 프로토콜입니다. 같은 네트워크 대역에서 통신을 한다고 하더라도 데이터를 보내기 위해서는 7계층부터 캡슐화를 통해 데이터를 보내기 때문에 IP주소와 MAC주소 모두 필요합니다. 이때, IP주소는 알고 MAC 주소는 모르더라도 ARP를 통해 통신이 가능합니다. 즉, IP주소를 이용해 MAC주소를 알아옵니다. ARP 프로토콜의 통신 과정 IP 주소로 MAC 주소를 알아오는 과정 ARP 프로토콜 작성 Ethernet 작성 목적지 IP 주소와 각각의 IP 주소를 비교 - 만..

[Spring Data JPA] 2. ORM 이란? & 패러다임 불일치

백기선님 강의 중 Spring Data JPA에 대해서 정리를 해놓은 블로그입니다. 자세한 내용은 강의를 참고해주세요. 강의 링크 이전 강의에서 진행했던 방식 -> JDBC 방식 try(Connection connection = DriverManager.getConnection(url,username,password)){ System.out.println("Connection created: "+connection); String sql = "INSERT INTO ACCOUNT VALUES(1,'hyeon','pass')"; try(PreparedStatement statement = connection.prepareStatement(sql)){ statement.execute(); } } 도메인 모델 ..

[Network] 3. IP주소를 이용한 데이터 교환

네트워크 관련된 유튜브 강의 정리 내용입니다. 정확한 내용을 학습하고 싶으면 네트워크 기초를 참고하시면 됩니다. 2계층에서 하는 일 2계층의 기능 2계층은 하나의 네트워크 대역 LAN에서만 통신할 때 사용을 합니다. 다른 네트워크와 통신할 때는 항상 3계층이 도와주어야 합니다. 3계층의 주소와 3계층의 프로토콜을 이용하여야만 다른 네트워크와 통신이 가능합니다. 2계층에서 사용하는 주소 - 물리적인 주소 LAN에서 통신할 때 사용하는 MAC 주소 OUI : IEEE에서 부여하는 일종의 제조회사 식별 ID 고유 번호: 제조사에서 부여한 고유번호 2계층 프로토콜 Ethernet 프로토콜 3계층에서 하는 일 3계층은 다른 네트워크 대역 즉, 멀리 떨어진 곳에 존재하는 네트워크까지 어떻게 데이터를 전달할지 제어하..

[알고리즘 개념 정리] DFS & BFS 정리

각종 블로그 및 동빈나 강의를 참고하여 정리를 했습니다. 동빈나 유튜브 강의 링크 그래프 탐색 알고리즘 -> DFS / BFS 탐색이란? 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 말합니다. DFS는 깊이 우선 탐색이라고도 부르며 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다. DFS는 스택 자료구조를 이용하여 구현하기도 합니다. 방문 순서 1 -> 2 -> 7 -> 6 -> 8 -> 3 -> 4 -> 5 BFS는 너비 우선 탐색이라고도 부르며, 그래프에서 가까운 노드부터 우선적으로 탐색하는 알고리즘 입니다. BFS는 큐 자료구조를 이용합니다. 탐색 순서 : 1 -> 2 -> 3 -> 8 -> 7 -> 4 -> 5 -> 6

백준_2346 풍선 터뜨리기(자바) / 덱(Deque)

시간&메모리 제한 문제 입력&출력 문제풀이 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_2346 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System...