본문 바로가기
반응형

Spring56

[Spring] API 문서화(apidoc, swagger) 라이브러리 비교 - springfox vs springdoc-openapi api 문서화(apidoc) 라이브러리 springfox과 springdoc-openapi를 비교해보려고 한다. api 문서화(apidoc) 라이브러리란? 말 그대로 api를 보기쉽게 문서화할 때 사용하는 라이브러리다. 스웨거(Swagger)라고 많이 들어봤을 거다. 단순 문서화만 해주는 게 아니라 실제 요청 값을 세팅해서 요청하고 응답 값을 받을 수 있다. springfox vs springdoc-openapi 정답은 springdoc-openapi다. 왜 springdoc-openapi가 더 좋을까? 1. springfox는 더 이상 업데이트를 하지 않는다. 2020년 7월 14일을 마지막 릴리즈로 업데이트가 없다. springfox가 인기가 많긴 했지만 써보면 이것저것 지원이 안 되는 게 많다. 관.. 2022. 9. 8.
[Spring] JMeter 사용법 - JMeter란?, 테스트 방법 웹 어플리케이션 성능 테스트를 툴은 자바 오픈 소스 Apache Bench, Apache JMeter, 네이버에서 Grinder를 이용해서 만든 nGrinder, Gatling 등등이 있습니다. 이번 포스팅에선 웹 어플리케이션 성능 테스트 오픈 소스인 JMeter에 대해서 알아보겠습니다. JMeter란? Apache에서 만든 자바로 만들어진 웹 어플리케이션 성능 테스트 오픈 소스입니다. JMeter를 이용해서 아래와 같은 테스트를 할 수 있습니다. - 웹 - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …) - SOAP / REST 웹 서비스 - FTP - JDBC - LDAP - JMS - Message-oriented middleware (MOM) - Mail - SMTP.. 2022. 9. 7.
[QueryDSL] String to Int, Varchar to Number (castToNum) 가끔 가다가 DB 설계가 이상하게 되어 있어서 Number 타입이었어야 하는 컬럼이 Varchar로 되어 있는 경우가 있다. 이런 경우 음 그냥 String을 Int로 바꿔서 쿼리하면 되는 거 아니야? 라고 생각이 드는데 QueryDSL에선 그게 불가능하다. 해결 방법은 castToNum을 사용하면 된다. 아래 예제를 봐보자. 해결 방법 Comment의 seq는 원래 Int가 정상인데 잘못된 설계로 인해 String으로 설계가 되어있다고 가정한다. (DB: MySQL) @NoArgsConstructor @AllArgsConstructor @Entity public class Comment { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column.. 2021. 10. 18.
[Spring Boot] 카오스 엔지니어링 - Chaos Monkey For Spring Boot (CM4SB) 소개 이번 포스팅에선 카오스 엔지니어링을 할 수 있게 도와주는 라이브러리 Chaos Monkey For Spring Boot (CM4SB)에 대해 알아보겠습니다. 카오스 엔지니어링이란? 운영 중인 어플리케이션에선 항상 장애가 발생합니다. 자주 접하는 장애일 수도 있고 뜬금없는 장애일 수도 있습니다. 아무리 큰 기업이라고 해도 운영 중 장애는 발생하기 마련이죠. 이러한 장애를 미리 테스트해서 방지하는 걸 카오스 엔지니어링이라고 합니다. 카오스 엔지니어링에 대한 내용을 구글에 찾아보면 NETFLIX에서 하고있는 카오스 엔지니어링에 대한 내용이 많이 나옵니다. 카오스 엔지니어링에 대해 깊게 알고 싶으시다면 아래 링크에 나와있는 책을 읽어보시는 것을 추천드립니다. 카오스 엔지니어링의 원칙 :: Channy's Blo.. 2021. 4. 14.
[Spring] IntelliJ에서 Spring + JSP hot reload 설정하기 (재시동 x) 이번 포스팅에선 JSP 수정 후 적용을 위해 톰캣 리스타트하지않고 hot reload 설정하는 방법에 대해서 알아보겠습니다. 오랜만에 하니까 기억이 잘 안 나네요. 1. 왼쪽 상단에 Configuration 클릭 -> Edit Configurations 클릭 2. On 'Update' action -> Update classes and resources 클릭 -> OK 클릭 2021. 2. 17.
[Spring] IntelliJ에서 Spring + 톰캣 연동하기 이번 포스팅에선 IntelliJ에서 Spring + 톰캣 연동 작업을 해보겠습니다. 외장 톰캣 연동할 일이 생겨서 너무 오랜만에 해보니 생각이 안 나길래 정리합니다. 이 작업은 Spring Boot + 톰캣 연동이 아닙니다. Tomcat 설치 톰캣을 먼저 설치해보겠습니다. 윈도우 먼저 아파치 톰캣 사이트 다운로드 사이트로 접속합니다. Apache Tomcat® - Apache Tomcat 9 Software Downloads Welcome to the Apache Tomcat® 9.x software download page. This page provides download links for obtaining the latest version of Tomcat 9.0.x software, as well.. 2021. 2. 17.
[Spring Boot] JetBrains Java Trend Analysis - 2020 vs 2019 이번 포스팅에선 JetBrains가 정리한 Java 트렌드 2019년과 2020년을 비교해 어떻게 바뀌고 있는지 알아보겠습니다. 1. 주로 사용하는 자바 버전은 뭔가요? Java 7 : 13% -> 7% Java 8 : 83% -> 75% Java 9 : 14% -> 9% Java 10 : 13% -> 6% Java 11 : 22% -> 32% Java 8이 사용률이 좀 떨어지긴 했어도 2014년 3월 18일에 출시돼서 벌써 7년이라는 세월이 지났는데도 아직도 인기가 많네요. Java 9, 10 사용률은 떨어진 반면에 Java 11을 많이 사용하는 걸 볼 수 있는데 왜 그런지 궁금하네요. 다음 포스팅에 꼭 정리해봐야겠습니다. Java 12, 13이 2020년에 나왔나보네요. 저는 아직 Java 8을 사용.. 2021. 2. 4.
[Spring Boot] 1분만에 IntelliJ에서 spring-boot-devtools 설정하기 Spring Boot로 개발하면서 자바소스 수정하고 수동으로 재기동하고 자바스크립트 수정하고 웹사이트 새로고침하고!!! 이런 불편한 작업들을 spring-boot-devtools 가 간단하게 해결해줍니다. 이외에도 많은 기능들이 있는데 Spring Boot 공식 홈페이지를 참조 부탁드립니다. 1. spring-boot-devtools 의존성 추가 (STS 사용하시는 분들은 의존성만 추가해주시면 됩니다.) spring-boot-devtools 의존성 추가 //Maven - pom.xml org.springframework.boot spring-boot-devtools runtime true //Gradle - build.gradle runtime('org.springframework.boot:spring-.. 2020. 6. 11.
[Spring] 왜 Constructor Injection(생성자 주입)을 사용해야 할까? 왜 Constructor Injection(생성자 주입)을 사용해야 할까? 이전 포스팅에서 Field Injection, Setter Injection 대신 Constructor Injection을 사용해야한다고 했는데 어떤 장점이 있어서 사용해야 하는지 알아보자. 1. Constructor Injection(생성자 주입) public class SpellChecker { private TextDictionary textDictionary; private VoiceDictionary voiceDictionary; @Autowired //4.3부터 단일 생성자일 경우 @Autowired 생략가능 public SpellChecker(TextDictionary t, VoiceDictionary v) { thi.. 2019. 11. 6.
반응형