2024/11 8

ORM(Object-Relational Mapping)

🔷 ORM이란?- 우리가 일반 적으로 알고 있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면된다.- 애플리케이션의 객체 모델과 DB의 관계형 모델 사이의 불일치를 해결- SQL 쿼리를 직접 작성하는 대신 객체 지향적인 방식으로 데이터를 처리 가능 ※ 객체와 테이블 매핑: 클래스와 DB 테이블을 연결.예) Java나 Python의 클래스는 RDB의 테이블과 연결, 클래스의 속성은 테이블의 컬럼과 대응※ 자동 영속화: 객체를 DB에 저장, DB에서 객체를 조회하는 작업을 자동화예) 객체를 생성하고 저장하면 ORM이 이를 DB에 저장, 반대로 DB에서 조회된 ..

SQLD(SQL-Developer) (8)

💙 함수 정의- input value가 있을 경우 그에 맞는 output value를 출력해주는 객체- input value와 output value의 관계를 정의한 객체- from절을 제외한 모든 절에서 사용 가능 💙 함수 기능- 기본적인 쿼리문을 더욱 강력하게 해줌- 데이터의 계산을 수행- 개별 데이터의 항목을 수정- 표시할 날짜 및 숫자 형식을 지정- 열 데이터의 유형(data type)을 변환 💙 함수의 종류(입력값의 수에 따라)- 단일행 함수와 복수행 함수로 구분- 단일행 함수 : input과 output의 관계가 1:1- 복수행 함수 : 여러 건의 데이터를 동시에 입력 받아서 하나의 요약값을 리턴 (그룹함수 또는 집계함수라고도 함) 💙 입/출력값의 타입에 따른 함수 분류1) 문자형 함수..

자격증/SQLD 2024.11.18

Java 싱글톤 패턴(Singleton Pattern)

🔷 디자인 패턴- 개발자들이 개발 과정에서 하나의 패턴으로 묶어놓은 코드 조합- 소프트웨어 개발에서 자주 발생하는 문제를 해결하기 위한 효율적이고 재사용 가능한 솔루션- 개발자들이 오랜 시간에 걸쳐 검증한 베스트 프랙티스를 코드로 묶어놓은 것- https://refactoring.guru/ko/design-patterns 에서 다양한 디자인 패턴 확인 가능 🔷 싱글톤 패턴- 디자인 패턴 중 하나로, 특정 클래스의 인스턴스가 오직 하나만 존재하도록 보장하는 패턴- 즉, 단 1개만 존재해야 하는 객체를 생성하여 공유하고자 할 때 사용한다.- 애플리케이션에서 전역적으로 공유되는 객체가 필요할 때 사용 => 애플리케이션 설정, 데이터베이스 연결, 로그 파일 관리 등 🔷 싱글톤 패턴 구현싱글톤 패턴을 구현하..

백엔드/Java 2024.11.15

Java 네트워크(Network)

- Java는 네트워크 프로그래밍을 지원하는 다양한 클래스들을 제공- 인터넷 주소 확인이나 웹 콘텐츠를 읽는 등의 작업- InetAddress와 URL 클래스 사용 가능 🔷 실습(1) : InetAddress package day11;import java.io.IOException;import java.net.Inet4Address;import java.net.InetAddress;import java.net.URL;public class Network01 { public static void main(String[] args) throws IOException { // 인터넷 주소의 정보를 확인 InetAddress ip = null; ip = Inet4Address.getByName("www...

백엔드/Java 2024.11.14

SQLD(SQL-Developer) (7)

💙 SQL 종류- SQL은 그 기능에 따라 다음과 같이 구분함구분종류DDL(Data Definition Language)CREATE, ALTER, DROP, TRUNCATEDML(Data Manipulation Language)INSERT, DELETE, UPDATE, MERGEDCL(Data Control Language)GRANT, REVOKETCL(Transaction Control Language)COMMIT, ROLLBACKDQL(Data Query Language)SELECT※ 사실 SELECT 문은 따로 SQL 종류 중 어디에도 속하지 않아서 SELECT 문을 위한 DQL 등장 💙 SELECT문 구조- SELECT문은 다음과 같이 6개 절로 구성- 각 절의 순서대로 작성해야 함(GROUP..

자격증/SQLD 2024.11.13

Java 쓰레드(Thread)

🔷 Thread(쓰레드) : 실제 작업을 수행하는 단위- 프로그램이 실행되면 OS로부터 메모리를 할당받아 process의 상태가 된다.- 하나의 process는 하나 이상의 Thread를 가지게 됨.- Thread가 실제 CPU에서 작업을 처리하는 최소 단위- multi-thread란 여러개의 thread가 동시에 수행되는 프로그램- CPU는 시간을 잘게 쪼개서 Thread를 번갈아 수행한다. (시분할 처리) → 사용자들은 마치 동시에 처리되는 듯한 효과를 경험한다.- Thread는 각자 자신만의 작업공간을 가짐.(context)- 각 Thread는 공유하는 자원이 있을 수 있음. (자바에서는 static instance)- 여러 Thread가 공유하는 자원을 사용하려고 경쟁 발생.- 경쟁이 발생하는 ..

백엔드/Java 2024.11.13

쿠키(Cookie)와 세션(Session)의 차이

🔷 쿠키와 세션을 사용하는 이유?HTTP 프로토콜의 특징이자 약점을 보완하기 위해서 사용한다.🔷 HTTP 프로토콜의 특징  1️⃣ Connectionless 프로토콜 (비연결 지향)    - 클라이언트가 서버에 요청(Request)을 했을 때, 그 요청에 맞는 응답(Response)을 보낸 후 연결을 끊는 처리방식이다.    - HTTP 1.1 버전에서 커넥션을 계속 유지하고, 요청(Request)에 재활용하는 기능이 추가되었다. (HTTP Header)에 keep-alive 옵션을 주어 커넥션을 재활용하게 한다. HTTP 1.1 버전에선 디폴트(default) 옵션이다.    - HTTP가 TCP위에서 구현되었기 때문에(TCP : 연결 지향, UDP : 비연결 지향) 연결 지향적이라고 할 수 있다는..

CS/네트워크 2024.11.11

Java 파일 입출력 (I/O) 처리

🔷 Java에서는 다양한 방식으로 파일에 데이터를 읽고 쓸 수 있다. file : java.io.*에서 제공하는 클래스들은 try~catch / throws를 해줘야 함.Input/OutputStream (IOStream) : 단방향으로 데이터가 흘러가는 형태 🔷 java는 입력스트림, 출력스트림을 통해 데이터를 입출력함.다양한 장치에 독립적으로 운영, 일관성있게 입출력을 유지하기 위해 입출력 스트림을 통해 일관성, 독립성 제공 🔷 두가지 형태의 스트림 - 바이트 형태의 스트림 : 기본 (문자, 그림, 멀티미디어)- 문자 형태의 스트림 : 문자만 입출력할 때 사용 1. 바이트 스트림 - 입력(InputStream) : FileInputStream, BufferedInputStream, DataInp..

백엔드/Java 2024.11.04