- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- CSS
- Git
- 에러핸들링
- MariaDB
- LEVEL 1
- 배포
- 알고리즘
- Err-Handling
- 아고라스테이츠
- LEVEL1
- java
- TIL
- 코딩테스트
- 프로그래머스
- 면접을 위한 cs 전공지식 노트
- 리팩터링 2판
- 오늘도 개발자가 안된다고 말했다
- First Project
- Refactoring
- 코어 자바스크립트
- TMIL
- react
- typescript
- Docker
- LEVEL 2
- javascript
- sql
- CRUD
- mongodb
- TWIL
목록Java/Spring Boot (7)
성장에 목마른 코린이
application.yml profile 설정 local, development, production 같은 여러 환경을 하나의 application.yml 파일에 설정하고 사용하는 방법에 대해서 알아 보겠습니다. YAML 설정 하나의 application.yml 파일에 여러 환경의 설정 정보를 저장하려면 spring.profiles를 통해 설정하면 됩니다. Profile 구분자(---)로 구분 합니다. # local, dev, prod 공통 설정 server: port: 8080 tomcat: uri-encoding: UTF-8 --- spring: profiles: local datasource: url: "jdbc:mysql://test-server/test" username: "dbuser" pa..
Servlet은 자신만의 생명주기(life cycle)를 가지고 있고, 웹 애플리케이션 컨테이너에서 컨텍스트가 초기화되면 생명주기가 시작됩니다. Servlet의 생명주기는 초기화(initialize), 서비스(service), 소멸(destroy) 3단계로 구성되어 있습니다. 초기화 - load한 Servlet의 인스턴스를 생성하고 리소스를 load하는 클래스 생성자의 초기화 작업과 동일한 역할을 수행합니다. 서비스 - 클라이언트의 요청에 따라서 호출합니다. 소멸 - Servlet이 unload됩니다. unload는 런타임 오류나 서블릿 컨테이너가 종료되었을 때 발생하는데 이때 서블릿이 unload되어 서블릿의 메서드 호출 결과가 정상적으로 표출되지 않습니다. 서블릿 초기화와 init 메서드 init 메..
윤석진 - 스프링 부트로 배우는 자바 웹 개발 (page 13- 40) Servlet은 JVM 기반에서 웹 개발을 하기 위한 명세이자 API입니다. Java를 실행하려면 JRE(Java Runtime Environment)가 필요한 것처럼 Servlet을 실행하려면 웹 애플리케이션 컨테이너가 필요합니다. Servlet은 Java EE(Enterprise Edition)에 포함된 스펙 중의 하나로 Java에서 HTTP요청과 응답을 처리하기 위한 내용들을 담고 있습니다. Gradle을 이용해서 서블릿을 개발 환경을 설정할 수 있습니다. Gradle은 빌드 도구인데 간단히 말해 Java에서 라이브러리를 편리하게 추가할 수 있는 도구라고 할 수 있습니다. Java 개발을 할 때 확장자를 java로 해서 만드는 ..
Spring Boot를 사용하면 개발자들은 Tomcat, Jetty, Undertow 3개의 Embedded 컨테이너를 사용해 애플리케이션 또는 서비스를 쉽게 만들 수 있습니다. 이 3가지 Embedded 컨테이너들을 비교해볼까 합니다. Tomcat vs Jetty vs Undertow 트랜드 비교 위의 그래프에서 볼 수 있듯이, 미국 같은 경우엔 Tomcat 뿐만아니라, Jetty와 Undertow를 많이 사용하지만, 대한민국에서는 Tomcat을 주로 많이 사용합니다. 개발쪽 문화는 미국에서 시작해서 미국을 많이 따라가기에, 앞으로 한국에서도 Jetty와 Undertow 사용량이 늘 것으로 보입니다. Tomcat vs Jetty vs Undertow 성능 비교 여기에서 비교된 jvm. 같은 경우는 Ac..
Spring Framework는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 Spring이라고도 불립니다. 동적인 웹사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있습니다. 대한민국 공공기관의 웹서비스 개발 시 사용을 권장하고 있는 전자정부 표준 프레임워크의 기반 기술로서 쓰이고 있습니다. Spring의 장점 1. 경량 컨테이너 2. IoC(Invertion of Control: 제어 역행) 3. DI(Dependency Injection: 의존성 주입) 4. AOP(Aspect-Oriented Programming: 관점지향 프로그래밍) Spring Boot Spring Framework는 기능이 많은 만큼 환경설정이 복잡한 편입니다. 이에 어려움을 느끼는 사용자들을 위해 나온 ..
DTO란 계층간 데이터 교환을 위해 사용하는 객체 (Java Beans)입니다. DTO 기법을 사용하면 중요한 정보를 노출시키지 않고 두 시스템(API와 서버 등) 간 통신을 원활하게 촉진할 수 있습니다. Python, C++, Java 같은 객체 지향 프로그래밍(OOP) 언어 환경에서 DTO를 사용할 수 있습니다. 따라서 DTO는 개발과 업데이트가 용이합니다. OOP 환경은 "호출" 시스템을 이용합니다. 각 시스템은 데이터 조회와 같아서 시간과 처리 속도가 필요합니다. 이때 주의를 기울이지 않으면 다음과 같이 숨기고 싶은 중요한 데이터가 호출로 인해 노출될 수 있습니다. 회사 출입 시 직원에게 이름과 사진을 요구할 수 있습니다. 이때 신원 확인을 위해 해당하는 데이터를 제공해야 합니다. 하지만 데이터베..
Annotation은 클래스와 메서드에 추가하여 다양한 기능을 부여하는 역할을 합니다. Annotation을 활용해 Spring Framework는 해당 클래스가 어떤 역할인지 정하기도 하고, Bean을 주입하기도 하며, 자동으로 getter나 setter를 생성하기도 합니다. 특별한 의미를 부여하거나 기능을 부여하는 등 다양한 역할을 수행할 수 있습니다. Annotation을 이용하면 코드량이 감소하고, 유지보수하기 쉬우며, 생산성이 증가됩니다. @Bean Spring 컨테이너가 관리하는 자바 객체를 빈(Bean)이라 한다. Bean Annotation은 개발자가 제어가 불가능한 외부 라이브러리와 같은 것들을 Bean으로 만들 때 사용합니다. 즉, 개발자가 직접 작성한 Class에 @Bean 선언은 불..