
네트워크 기본 - IP주소, PORT, DNS, URL, URI 1. IP주소 1) IP란? IP(Internet Protocol)는 인터넷을 통해 데이터를 주고받을 때 사용되는 통신 규약으로서 OSI 7계층중 LAYER 3에 위치하는 프로토콜이다. IP는 데이터를 패킷 단위로 나누어 전송하고, 받는 쪽에서는 그 패킷들을 다시 조립하여 원래의 데이터로 변환하는 과정을 거친다. IP를 통해 전송되는 데이터는 인터넷 상의 다양한 기기들과 통신할 수 있다. 2) IP주소란? - 인터넷에 연결된 각각의 기기를 구별하기 위해 사용되는 고유한 번호이다. IP주소는 네트워크 내에서 특정 기기를 찾아 데이터를 전송할 수 있도록 도와주며, 기기들이 서로 통신할 때 필수적인 요소이다. IP주소는 IPv4와 IPv6의 두 ..
OOP란? OOP(Object-Oriented Programming)는 필요한 데이터를 추상화하여 속성과 행위를 가진 객체를 만들고, 그 객체들 간의 유기적인 상호 작용을 통해 로직을 구성하는 프로그래밍 방법이다. 데이터를 중심으로 필요한 기능을 함수로 구현하는 방식의 절차 지향 프로그래밍과 달리, OOP에서는 데이터와 함수들을 묶고 이를 객체로 관리한다. 절차 지향 프로그래밍에서 데이터가 돈, 제품이라고 하면, 데이터와 행위를 별도로 생각하기 때문에 데이터에 대한 모든 행위를 '돈을~', '제품을~'과 같이 표현한다. 하지만 현실세계에서 데이터를 통해 어떤 행위를 할 때, 목적의 대상이나 주체가 정해져 있는 경우가 많다. 예를 들면, '고객이 돈을~', '기계가 제품을~'과 같은 경우이다. 이는 데이터..
1. 객체지향 프로그래밍의 5가지 설계 원칙, SOLID SOLID란 객체 지향 프로그래밍을 하면서 지켜야하는 5대 원칙으로 각각 SRP(단일 책임 원칙), OCP(개방-폐쇄 원칙), LSP(리스코프 치환 원칙), DIP(의존 역전 원칙), ISP(인터페이스 분리 원칙) SOLID 원칙을 철저히 지키면 시간이 지나도 변경이 용이하고, 유지보수와 확장이 쉬운 소프트웨어를 개발하는데 도움이 되는 것으로 알려져 있다. [단일 책임의 원칙(SRP, Single Responsibility Principle)] • 모듈이 변경되는 이유가 한가지여야 한다. → 해당 모듈이 여러 대상 또는 액터들에 대해 책임을 가져서는 안되고, 오직 하나의 액터에 대해서만 책임을 져야 한다. • 단일 책임 원칙을 제대로 지키면 변경이..

JPA(Java Persistent API)란? JPA는 자바 ORM(Object Relational Mapping) 기술에 대한 API 표준 명세를 뜻한다. JPA는 라이브러리가 아닌 ORM을 사용하기 위한 인터페이스의 모음이다. ORM이란? ORM은 말 그대로 객체와 관계형 데이터 베이스를 매핑해 주는 기술이다. 객체는 객체대로, 관계형 데이터 베이스는 관계형 데이터베이스대로 설계하고, ORM 프레임워크가 중간에서 매핑을 해준다. Hibernate란? Hibernate는 JPA를 구현한 구현체이다. 개발된 지 10년이 넘었으며 대중적으로 많이 이용되는 JPA 구현체 중 하나이다. JPA의 핵심들인 EntityManagerFactory, EntityManager, EntityTransaction 등을 ..

JDBC프로그래밍을 좀 더 쉽게 하기 위해 제작된 프레임워크로 XML 설명자나 주석을 사용하여 저장 프로시저 또는 SQL문과 객체를 결합함으로써 객체 관계 매핑에 도움을 준다. Mybatis는 데이터베이스에 액세스하는 작접을 캡슐화하고 JDBC 코드 및 매개 변수의 중복작업을 제거한다. 특징 - 복잡한 쿼리나 다이나믹한 쿼리에 강하지만 반대로 비슷한 쿼리는 남발하게 되는 단점이 있다. - 프로그램 코드와 SQL 쿼리의 분리로 코드의 간결성 및 유지보수성이 향상된다. - resultType, resultClass등 VO를 사용하지 않고 조회결과를 사용자 정의 DTO, MAP등으로 매핑하여 사용할 수 있다. - 빠른 개발이 가능하여 생산성이 향상된다. MyBatis의 DB Access Architecture..

※ JDBC API의 단점 - 쿼리 실행 이전과 이후에 많은 코드를 작성해야 한다. (Connection, statement, 연결 및 해제) - 데이터베이스 로직에 있는 코드를 관리하기 위한 예외를 작성해야 한다. - 여러 개의 데이터베이스로부터 코드 반복이라는 시간 낭비를 하게 된다. - DB에 따라 일관성 없는 정보를 가진 채로 Checked Exception으로 처리한다. - Connection과 같은 공유 리소스를 제대로 릴리즈 해주지 않으면 시스템의 자원이 바닥나는 버그를 발생시킨다 SQL Mapper SQL Mapper는 개발자가 직접 SQL문을 작성해 데이터베이스 데이터를 다루는 Persistence Framework이다. 객체와 테이블 간의 관계를 직접 매핑하는 것이 아닌, SQL문을 실..