본문 바로가기

프로그래밍49

Amazon AWSOME DAY 참여 후기 오늘은 아마존에서 진행하는 AWSOME DAY 온라인 컨퍼런스에 참여했다. 얼마 전부터 광고가 떠서 관심있게 지켜보고 있었는데, 아무래도 온라인으로 진행하다 보니 편한 점이 많았다. 실시간 스트리밍으로 강의를 듣고, 1:1로 전문가에게 QnA를 보낼 수 있었다. 오전 9시 ~ 12시, 오후 2시 ~ 5시 두 개의 타임이 진행되었다. 다양한 언어로 컨퍼런스가 진행되었다. 한국어 세션 뿐 아니라 영어나 독어 등으로 진행되는 세션도 있는게 신기했다. 영상은 세션이 끝난 뒤에 다시 볼 수 있게 업로드된다. 나는 오전 세션을 신청했지만, 개인 사정으로 접속하지 못했다. 그럼에도 다시보기 영상이 올라와서 다행히 저녁 시간때에 볼 수 있었다! 자막도 친절하고, 강의 내용도 좋아서 집중해서 쭉 볼 수 있었다. AWSO.. 2021. 10. 1.
[SpringBoot] 프로젝트에 Swagger 적용하기 오늘 글은 다음 목적을 바탕으로 작성되었다. SpringBoot 프로젝트의 문서화를 위해 Swagger를 적용한다. Swagger의 다양한 구성과 설정 방법에 대해 알아본다. Swagger를 통해 컨트롤러, 모델, 요청, 응답을 문서화한다. Swagger Swagger란 개발한 REST API를 편리하게 문서화 해주고, 이를 통해서 편리하게 API를 호출해보고 테스트할 수 있는 프로젝트이다. 기본 swagger2 프로젝트 뿐 아니라 다양한 구성을 가지고 있다. MVNRepository에 검색해보자. 본 글에서 다룰 주요 구성은 다음과 같다. SpringFox Swagger 2는 적용된 프로젝트의 응답, 요청, 예시 등의 정보를 JSON 쌍으로 만들어준다. SpringFox UI는 Swagger 2를 통해.. 2021. 9. 6.
[JPA] findAll, findAllBy, findAllByIn AOP로 성능 테스트해보기 오늘 회사원 친구와 JPA 이야기를 하다가, 다음과 같은 질문을 받았다. 회사 코드를 보니까, Repository에서 findAll을 한 다음 stream으로 가공하는 코드가 있었다. 그런데 그 코드는, findAllByXXX로 바꾸면 해결되는 간단한 필터 연산 코드였다. findAll vs findAllByXXX의 시간 효율 차이가 얼마나 날까? 듣고 보니 궁금하기도 하고, 이런 걸 테스트해보고 싶어서 직접 코드를 짜봤다. 본 글에서 수행하는 내용은 다음과 같다. AOP로 타이머를 만들어서 서비스에 씌우고, SpringBootTest로 테스트를 실행한다. findAll, findAllBy, findAllByIn 세 가지를 사용할 때 쿼리가 어떻게 나오나 비교해 본다. 각각의 쿼리에 대한 서비스 차원의 .. 2021. 9. 2.
[SpringBoot] application.properties를 yml로 교체하기 이 글은 다음 목적을 가지고 작성되었다. YAML이 무엇인지 알아본다. 스프링에서 YAML을 어떻게 활용할 수 있는지 알아본다. configuration 파일을 yml 파일로 교체해본다. YAML YAML은 YAML Ain't Markup Language 라는 의미로, 'YAML은 마크업 언어가 아니다'라는 재귀적인 의미를 가진다. 마크업 언어가 아니면 YAML은 무슨 언어라는 것일까? 일단 공식 웹페이지에 가보자. The Official YAML Web Site yaml.org 공식 웹페이지에서는 YAML을 다음과 같이 정의한다. YAML is a human friendly data serialization standard for all programming languages. 해석하자면 다음과 같다:.. 2021. 8. 31.
[SpringBoot] AOP를 활용하는 다양한 방법 https://kafcamus.tistory.com/39 [SpringBoot] 관점 지향 프로그래밍(AOP)이란? 이 글은 다음의 목적을 바탕으로 작성되었다. AOP가 무엇인지 알아본다. AOP를 활용하는 방법을 알아본다. AOP란? AOP는 관점 지향 프로그래밍(Aspect-Oriented Programming)의 약자이다. AOP는 횡단 관심사(cr kafcamus.tistory.com 저번 글에서는 다음과 같은 내용을 다루었다. AOP가 무엇인지 알아본다. Spring에서 AOP를 활용하는 방법을 알아본다. 이번 글에서는, 이에 더해 실제 AOP를 활용한 간단한 예시를 작성해보려고 한다. 커스텀 어노테이션을 구현한다. 어노테이션이 있는 메소드 실행 시, AOP를 실행한다. 결과적으로 로깅 로직을 .. 2021. 8. 30.
[SpringBoot] 관점 지향 프로그래밍(AOP)이란? 이 글은 다음의 목적을 바탕으로 작성되었다. AOP가 무엇인지 알아본다. Spring에서 AOP를 활용하는 방법을 알아본다. AOP란? AOP는 관점 지향 프로그래밍(Aspect-Oriented Programming)의 약자이다. AOP는 횡단 관심사(cross-cutting concern)의 분리를 허용해 모듈성을 증가시킨다. 이때 횡단 관심사가 무엇일까? 아래의 그림을 먼저 보자. 우리가 서버를 하나 만들고, 그 안에 여러 가지 로직들을 추가했다고 가정하자. 이때, 각각의 모듈마다 중복되는 로직이 존재한다. 예를 들자면, 로깅 로직 트랜잭션 시작/종료 로직 보안 인증 로직 설령 보안 인증을 해주는 클래스를 모듈로 분리하더라도, 각각의 서비스마다 해당 클래스를 호출하고 사용해줘야 한다. 그렇기 때문에,.. 2021. 8. 30.
반응형