분류 전체보기

    [Design Pattern] 프록시 (Proxy)

    출처 : https://www.inflearn.com/course/%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4 프록시 (Proxy) 특정 객체에 대한 접근을 제어하거나 기능을 추가할 수 있는 패턴. 어디에 쓸 수 있는가 해당 객체의 접근 제어 객체에 대한 보안 - 특정 유저의 권한 유무를 확인하여, 특정 객체에 접근 가능/불가능을 판별한다. 로깅, 캐싱 생성하는 데 많은 리소스를 요구하는 객체를 실제로 쓰일 때 생성하는 초기화 지연 방식으로 리소스를 아낀다. 왜 쓰는가 기존 코드를 전혀 건드리지 않고 특정 기능을 추가 기존 코드를 건드리지 못할 때 특정 기능을 추가 장점 기존 코드를 변경하지 않고 새로운 기능을 추가할 수 있다. 기존 코드가 해야하는 일만 유지할 수..

    [Spring] 트랜잭션

    참조 : https://www.baeldung.com/transaction-configuration-with-jpa-and-spring 1. 개요 본 문서는 Spring 트랜잭션을 사용하는 방법을 소개합니다. JPA 및 영속성 전략에 대해 더욱 더 깊이 있는 내용을 원하면, 이 문서를 참조하세요. 일반적으로, 트랜잭션을 구성하기 위한 두가지 방법으로 애노테이션 방식과 AOP 방식이 존재합니다. 각자의 장단점이 있기 때문에, 아래 문서를 참조하여 더 적절한 방식을 선택하면 되겠습니다. 2. 트랜잭션 구성하기 Spring 3.1 에서는 @Configuration 클래스에서 사용할 수 있는 애노테이션 @EnableTransactionManagement을 제공하고, 이를 사용하면 트랜잭션 기능을 활성화할 수 있..

    [Python] 코딩 테스트 Cheating Sheet

    >> 참조 점프 투 파이썬 : https://wikidocs.net/book/1 개인 깃허브 : https://github.com/96glory/TIL/tree/master/Python 1. Intro # 변수에 값 넣고 출력하기 a = "Python" print(a) # 조건문 a = 3 if a > 1: print("a is grater than 1") # 반복문 for a in [1, 2, 3]: print(a) i = 0 while i < 3: i = i + 1 print(i) # 함수 def add(a, b): return a + b add(3, 4) # 7 2. 자료형 (1) 숫자형 # 정수형 a = 123 # 실수형 b = 12.3 # 8진수 c = 0o123 # 16진수 d = 0x123 ..

    [C++] 코딩 테스트 Cheating Sheet

    1. 입출력 속도 향상 ios_base::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); 2. 모든 라이브러리를 대체하는 라이브러리 #include 3. string과 char *, int의 변환 (1) char * → string char * cStr = "Cstring"; string appStr = cStr; (2) string → char * string cStr = "Cstring"; const char * cStr2 = cStr.c_str(); // const 타입으로 리턴 (3) char * → int char * csTr = "20200701"; int num = atoi(cStr); (4) string → char * → int string..

    [Java] 함수형 인터페이스 예시 (Functional Interface)

    package functional; import static org.assertj.core.api.Assertions.assertThat; import java.util.function.Consumer; import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; import org.junit.Test; import org.junit.jupiter.api.DisplayName; /* * 출처 : https://codechacha.com/ko/java8-functional-interface/ */ public class FunctionalInterfaceTest { publ..

    [Spring] 왜 Spring 인가

    1. Spring 이란? Spring은 Java Programming을 더 빠르고, 쉽고, 안전하게 해준다. Spring은 속도, 단순성, 생산성 등에 중점을 둔 자바 프레임워크다. (https://spring.io/why-spring) Java의 가장 큰 특징은, 객체 지향 언어라는 것이다. Spring은 객체 지향적으로 애플리케이션을 개발할 수 있게 도와주는 프레임워크다. 2. Spring Ecosystem 2.1. 스프링 프레임워크 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, ... 웹 기술 : 스프링 MVC, WebFlux, ... 데이터 접근 기술 : 트랜잭션, JDBC, ORM, XML 기술 통합 : 캐시, 이메일, 원격접근, 스케쥴링 테스트 언어 : 자바, 코틀린, 그루비 2.2...

    [Spring Batch] Tasklet & Chunk 예시

    1. 소개 Spring Batch는 tasklet 방식과 chunk 방식을 제공한다. 2. Dependencies spring-batch-core와 spring-batch-test 의존성이 필요하다. maven org.springframework.batch spring-batch-core 4.3.0 org.springframework.batch spring-batch-test 4.3.0 test com.opencsv opencsv 4.1 3. 요구사항 아래와 같이 이름과 생년월일이 작성된 CSV 파일을 Mae Hodges,10/22/1972 Gary Potter,02/22/1953 Betty Wise,02/17/1968 Wayne Rose,04/06/1977 Adam Caldwell,09/27/1995 ..