Framework 9

[Spring] 빈 스코프

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 빈 스코프 빈이 존재할 수 있는 범위 싱글톤: 기본 스코프, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다. 프로토타입: 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 관여하고 더는 관리하지 않는 매우 짧은 범위의 스코프이다. 웹관..

Framework/Spring 2023.03.16

[Spring] 빈 생명주기 콜백

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 빈 생명주기 콜백 데이터 베이스 커넥션 풀이나, 네트워크 소켓처럼 애플리케이션 시작 시점에 필요한 연결을 미리 해두고, 애플리케이션 종료 시점에 연결을 모두 종료하는 작업을 진행하려면, 객체의 초기화 종료작업이 필요하다. 초기화 작업은 의존 관계 주입이 모두 완료되고 난..

Framework/Spring 2023.03.16

[Spring] 컴포넌트 스캔과 의존관계 자동 주입

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 컴포넌트 스캔과 의존관계 자동 주입 시작하기 스프링은 설정 정보가 없어도 자동으로 스프링 빈을 등록하는 컴포넌트 스캔이라는 기능을 제공한다. 의존관계도 자동으로 주입하는 @Autowired라는 기능도 제공한다. 컴포넌트 스캔을 사용할려면 @ComponentScan을 설정..

Framework/Spring 2023.03.16

[Spring] 싱글톤 컨테이너

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 웹 애플리케이션과 싱글톤 순수한 DI 컨테이너는 요청할 때 마다 객체를 새로 생성한다. →메모리 낭비가 심하다. → 해당 객체가 딱 1개만 생성되고, 공유하도록 설계하면 된다. → 싱글톤 패턴 스프링 컨테이너는 위의 이유로 싱글톤 컨테이너이다. 싱글톤 패턴 클래스의 인스..

Framework/Spring 2023.03.16

[Spring] 스프링 컨테이너와 스프링 빈

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 스프링 컨테이너 생성 //스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext를 스피링 컨테이너..

Framework/Spring 2023.03.16

[Spring] DI와 IoC

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8 스프링 핵심 원리 - 기본편 - 인프런 | 강의 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런 www.inflearn.com 강의 예제 활용 새로운 할인 정책 적용과 문제점 //private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); private final DiscountPolicy discountPolicy = new R..

Framework/Spring 2023.03.13

[Spring, Redis] Spring Data Redis에서 직렬화

직렬화 객체를 데이터 스트림으로 만드는 것. 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환하는 것 객체를 다른 곳으로 전송하거나 저장하기 위해서 사용. 객체의 필드를 바이너리 형식이나 바이트스트림으로 바꾸는 작업. 직렬화 되는 대상은 객체의 인스턴스 변수 역직렬화 직렬화의 반대로 다시 객체의 형태로 만드는 것 Redis의 데이터 저장 형식은 byte array형태이다. 직렬화가 필요하다 Spring Data Redis 직렬기 JdkSerializationRedisSerializer RedisCache와 RedisTemplate에서 default로 사용됨 StringRedisSerializer String형태로 저장 JacksonJsonRedisSerializer Json형태로 저장 객..

Framework/Spring 2022.12.14

[Spring] log4jdbc 이용해서 Mybatis 쿼리 로그 남기기

1. 의존성 주입 implementation 'org.bgee.log4jdbc-log4j2:log4jdbc-log4j2-jdbc4:1.16' 2. application.properties 변경 # 추가 spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy # datasource url 형식 변경 [변경 전] spring.datasource.url=jdbc:mysql://localhost:3306/dictionary [변경 후] spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/dictionary 3. log4jdbc.log4j2.properties 생성 log4jdbc.s..

Framework/Spring 2022.10.20

[Flask] Flask 기초

✅ 프로젝트 기본 폴더 구조 static 폴더: 이미지, CSS파일을 넣어둠 templates 폴더: HTML파일을 담아두고, 불러오는 역할을 함 app.py (flask파일) ✅ Flask 기본 애플리케이션 flask 설치 pip install flask flask import from flask import Flask flask 객체를 app에 할당 app = Flask(__name__) 페이지 구성 @app.route('/hello') def hello_print(): return "Hello!" route 데코레이터를 사용해서 flask에게 어떤 URL이 우리가 작성한 함수를 실행시키는지 알려준다. app.py가 메인 모듈로 실행될 때 플라스크 서버구동 if __name__ == '__main__..

Framework/Flask 2022.07.23