백엔드
[스프링 부트 / SpringBoot] Intellij Community 버전 프로젝트 세팅
스프링 부트에 관련된 강의들을 보면 Intellij를 많이 사용한다. 그래서 Intellij를 사용해서 프로젝트를 세팅하는 방법에 대해 기록했다. Ultimate버전을 사용하면, Spring Initializr를 통해 간단히 만들 수 있다.. (역시 돈을 내면 많은 기능을 제공 받는다...) 무료버전인 Community 버전을 사용하면 Spring Initializr을 사용할 수 없기 때문에 아래의 사이트로 접근하여 프로젝트를 세팅한다. 사이트에 접근해서 해야한다는게 불편할 뿐 세팅하는건 매우 간단한 것 같다. 1. 스프링부트 세팅주소: https://start.spring.io/ 에 접속한다. 2. 빌드, 언어, 프로젝트 정보, jdk버전, 등 많은 것들을 세팅한다. -> RestApi 서버를 구성한다..
[ Spring / 스프링 ] Annotation(어노테이션) 공부 - 4 [ Validation ]
@Size : 문자 길이 측정 @NotNull : null 불가 @NotEmpty : null, "" 불가 @NotBlank : null, "", " " 불가 @Past : 과거 날짜 @PastOrPresent : 오늘이거나 과거 날짜 @Future : 미래 날짜 @FutureOrPresent : 오늘이거나 미래 날짜 @Pattern : 정규식 적용 @Max : 최대값 @Min : 최소값 @AssertTrue / False : 별도 Logic 적용 @Valid : 해당 object validation 실행
[ Spring / 스프링 ] Annotation(어노테이션) 공부 - 3 [ junit ]
@Runwith (junit4에서 사용) @RunWith는 jUnit 프레임워크의 테스트 실행방법을 확장할 때 사용하는 어노테이션이다. @RunWith(SpringJUnit4ClassRunner.class) class UserDaoTest { ..... @ExtendWith (junit5에서 사용) @ExtendWith를 사용해야 하지만, 이미 스프링 부트가 제공하는 모든 테스트용 애노테이션에 메타 애노테이션으로 적용되어 있기 때문에 @ExtendWith(SpringExtension.class)를 생략할 수 있다. @ExtendWith(SpringExtension.class) class UserDaoTest { ..... @ContextConfiguration -> 테스트코드에서 테스트용 DI 정보를 어..
[ Spring / 스프링 ] Annotation(어노테이션) 공부 - 2 [ AOP ]
[ AOP 어노테이션 ] @Aspect -> AOP 적용시 사용 @Before -> AOP 메소드 이전 호출 지정 @After -> AOP 메소드 호출 이후 지정 예외 발생 포함 @Around -> AOP 이전/이후 모두 포함 예외 발생 포함 @AfterReturning -> AOP 메소드의 호출이 정상일 때 실행 @AfterThrowing -> AOP시 해당 메소드가 예외 발생시 지정
[Spring Boot + WebSocket+ 네이버 Chatbot] 챗봇 만들기 - 2
이전글: [Spring Boot + WebSocket+ 네이버 Chatbot] 챗봇 만들기 - 1 [Spring Boot + WebSocket+ 네이버 Chatbot] 챗봇 만들기 - 1 문득 챗봇은 어떻게 만들까하는 생각으로 구글링을 해봤다. 구성을 어떻게 하는지는 모르겠지만, 나의 작업환경은 Spring boot에 네이버 Chatbot을 사용했다. Chatbot을 직접 만든것은 아니라 Api를 통 milenote.tistory.com 네이버 챗봇 및 게이트웨이 API설정이 완료 후 소스를 참고하여 커스텀 작업을 했다. 1. 네이버 Custom API 및 웹소켓 작업 (백엔드 작업) API문서: https://api.ncloud-docs.com/docs/ai-application-service-chat..
[Spring Boot + WebSocket+ 네이버 Chatbot] 챗봇 만들기 - 1
문득 챗봇은 어떻게 만들까하는 생각으로 구글링을 해봤다. 구성을 어떻게 하는지는 모르겠지만, 나의 작업환경은 Spring boot에 네이버 Chatbot을 사용했다. Chatbot을 직접 만든것은 아니라 Api를 통해 받아오는 형식으로 구성했다. ChatbotApi는 카카오, 네이버, Aws, 등 다양하게 존재하는 것 같다. 출처에 이미 구현하신게 있어서 그것을 토대로 실습과 커스터마이징을 해봤다. 네이버 클라우드 가입 https://www.ncloud.com/product/aiService/chatbot 로 접속한다. 2. 챗봇 등록하기 2.1. 화면 상단에 콘솔버튼을 클릭하여 이동한다. 2.2. Products & Services에 CLOVA Chatbot 클릭 ※ 결제 카드 정보를 입력하지 않으면 ..
[Java] Generic 제너릭 타입 - 개념,사용법,활용법
클래스 class Test{ private T t; public void set(T t) { this.t = t; } public T get() { return t; } } 아래는 Method Generic Type 사용법이다. 메소드 제너릭 타입은 Class에 Generic Type을 선언하지 않고, 각 메소드마다 Generic Type을 선언해 사용할수 있다. 아래의 코드 처럼 메소드의 파라미터의 T 이 선언되어 있다면, 리턴타입 바로앞에 제너릭 타입을 선언해주어야한다. ※ 메소드의 파라미터에 가 선언되어 있다면, ReturnType 앞에 를 선언하자. class TestMethod { public static List method(List list, T item) { list.add(item); r..
[Java] Parameter... 표현
spring 공부를 하는 도중 prameter에 ... 표현이 있어서 확인해 본 결과 같은 타입을 배열로 받아서 몇개를 쓰든 입력 할 수 있게 해주는 역할인 것 같다. 출처: java.ihoney.pe.kr/155 Parameter... 표현(동일한 파라메터를 여러개 받을 때, 자동으로 배열처리) public void given(String message, Object... args) { .... } 이건 어디서 어떻게 쓰는 표현인고? 찾기 : http://today.java.net/pub/a/today/2004/04/19/varargs.html ellipsis (...) identifies a variable num.. java.ihoney.pe.kr package honeymon.java.study;..