본문 바로가기

전체 글

(47)
[Spring] MVC 목차MVC란?Spring Framework의 MVC 패턴MVC 각 컴포넌트의 역할과 책임Model, 데이터와 비즈니스 로직의 핵심View, 사용자 인터페이스(UI)Controller, 흐름 제어와 중재자 Spring MVC: 실제 코드로 보는 MVC 패턴 MVC란?MVC는 Model, View, Controller의 약자로, 애플리케이션을 구성하는 요소를 세 가지 독립적인 역할로 분리하여 상호작용하도록 설계하는 아키텍처 패턴이다. 각 컴포넌트가 자신만의 역할에 집중하도록 '관심사의 분리(Separation of Concerns, SoC)'라는 중요한 공학적 원칙을 구현함으로써, 코드의 결합도(Coupling)를 낮추고 응집도(Cohesion)를 높인다. 이는 결과적으로 유연하고 확장 가능하며 유지보수가 ..
[Spring] JDBC & DBCP 목차JDBC란?JDBC의 한계DBCP란?기본 설정 방법JDBC란?자바와 데이터베이스를 잇는 표준 규격 JDBC (Java Database Connectivity)는 자바 애플리케이션이 데이터베이스와 통신할 수 있도록 만들어진 표준 API(인터페이스)다. 자바가 어떤 종류의 데이터베이스(MySQL, Oracle, PostgreSQL 등)든 상관없이 "데이터베이스와 대화하는 표준 방식"을 정해둔 것이다. JDBC를 이용한 기본적인 DB 작업 순서는 다음과 같다. // 1. 드라이버 로딩Class.forName("com.mysql.cj.jdbc.Driver");Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try { ..
[알고리즘] 동적 계획 알고리즘 -2 목차 0-1 배낭 문제 동전 거스름돈 문제 편집 거리 문제 동적 계획 알고리즘 요약 0-1 배낭 문제란? • n개의 물건에 대해서 i번째 물건의 무게 wi와 가치 vi가 주어졌을 때, 총 용량이 C인 배낭에 담을 수 있는 물건의 최대 가치는 얼마인가?>>> 배낭에 담은 물건의 무게의 합이 C를 초과하지 말아야 한다.>>> 이 때, 각 물건을 담을 때에는 분할하지 않고 온전하게 담아야만 한다.>>> 이러한 배낭 문제를 0-1 배낭 문제라고 한다. • 배낭 문제에는 물건, 물건의 무게, 물건의 가치, 배낭의 용량, 총 4가지의 요소가 있다• 이 때, 물건과 물건의 무게는 부분 문제를 정의하는데 필요하다.>>> 문제의 최적 해 = K[n, C] 0-1 배낭 문제 알고리즘 슈도코드더보기Algorithm K..
[알고리즘] 동적 계획 알고리즘 -1 목차동적 계획 알고리즘의 개요 피보나치 수열과 이항계수 모든 정점 간 최단 거리 알고리즘 연속 행렬 곱셈 문제동적 계획 알고리즘 • Dynamic Programming(DP) 알고리즘이란?크기가 작은 부분 문제를 우선적으로 해결한 후에그 해들을 이용하여 보다 큰 크기의 부분 문제를 해결하여최종적으로 원래 주어진 입력의 문제를 해결한다. 분할 정복 알고리즘A는 B와 C로 분할되고, B는 D와 E로 분할되는데, D와 E의 해를 취합하여 B의 해를 구한다.단, D, E, F, G는 각각 더 이상 분할할 수 없는(또는 가장 작은 크기의) 부분 문제이다.마찬가지로 F와 G의 해를 취합하여 C의 해를 구하고, 마지막으로 B와 C의 해를 취합하여 A의 해를 구한다. 동적 계획 알고리즘먼저 최소 단위의 부분 문제 ..
[알고리즘] 그리디 알고리즘 -2 목차단일 정점 기준 최단경로 알고리즘 집합 커버 문제 단일 정점 기준 최단경로 알고리즘 • 최단경로 (Shortest Path) 문제란? >>> 주어진 가중치 그래프에서 어느 한 출발점에서 또 다른 도착점까지의 최단 거리를 갖는 경로를 찾는 문제이다 • 최단경로를 구하는 알고리즘 종류>>> 단일 정점으로부터 나머지 모든 정점까지의 최단 거리를 계산하는 알고리즘e.g., Dijkstra algorithm → “그리디 알고리즘”>>> 모든 정점 간의 최단 거리를 계산하는 알고리즘e.g., Floyd-Warshall algorithm → “동적 계획 알고리즘” 다익스트라 최단경로 알고리즘 >>> 음의 가중치가 없는 그래프에서, 시작 정점인 s에서 모든 정점까지의 최단 거리를 계산한다. >>> 출발점으로부터 ..
[알고리즘] 그리디 알고리즘 -1 목차 그리디 알고리즘의 개요 동전 거스름돈 문제배낭 문제최소 비용 신장 트리그리디 알고리즘이란? 그리디 알고리즘은 최적화 문제를 해결하는 알고리즘 패러다임 중 하나이다.>>> 최적화(optimization) 문제: 가능한 해들 중에서 가장 좋은 (최대 또는 최소) 해를 찾는 문제그리디 알고리즘에서는 (입력)데이터 간의 관계와 미래의 상황을 고려하지 않고, 현재를 기준으로 가장 좋은 해(최소값 또는 최대값)를 갖는 데이터 또는 방법을 선택한다. 동전 거스름돈 문제동전 거스름돈 (Coin Change) 문제를 해결하는 가장 간단하고 효율적인 방법은?>>> 남은 액수를 초과하지 않는 조건하에 ‘욕심내어’, 즉, 현재 시점에서 가장 큰 액면가를 갖는 동전을 취하는 것이다 그리디 알고리즘 슈도코드 (의사 코드)..
[컴퓨터 네트워크] Link Layer and LANs -1 목차 Introduction Error detection, Correction Multiple access protocols LANs Addressing, ARPLink layer: introduction링크 계층 관련 용어들:노드 (nodes): hosts, routers, switches, WiFi APs (access points)링크 (links or media): 통신 경로 상의 인접한 노드를 직접 연결하는 통신 채널 링크 계층 패킷: 프레임 (frame) 링크 계층이 제공하는 서비스프레임화 (framing), 링크 접속 (link access), 인접한 노드 간의 신뢰적인 전달, 흐름 제어 (flow control), 오류 검출 (error detection), 오류 정정 (error ..
[컴퓨터 네트워크] Link Layer and LANs -2 목차 LANs Ethernet Switches VLANs Link virtualization: MPLSEthernet이더넷 (Ethernet): 유선 LAN 시장을 점유하고 있는 기술최초로 널리 사용된 고속 LAN 기술: 간단하고 저렴다양한 버전을 제시하면서 지원 속도를 계속 증가시킴: 10Mbps ~ 400GbpsEthernet: physical topology 버스 (bus) 기반: ~90년대 중반까지 인기 스위치 (switch) 기반 : 현재 이더넷 구성 방식이더넷 프레임 (Ethernet frame) 구조송신 NIC에서 IP 데이터그램 (또는 다른 네트워크 계층 프로토콜 패킷)을 이더넷 프레임으로 캡..