전체 글

창의의 개발블로그입니다.
· JAVA
들어가며우테코 프리코스 4주차에서 예외 발생시 재시도 로직을 RetryHandler를 만들어서 구현했다.public T retryUntilNotException(final Supplier logic, final OutputView outputView) { while (true) { try { return logic.get(); } catch (IllegalArgumentException e) { outputView.printErrorMessage(e); } }}하지만, 이 메서드는 outputView를 받아와서 이를 참조하도록 구현했기 때문에 outputView의 변경사항이 전파된다는 문제점이 있었다.결합도 상승그래..
· Spring
개요클릭 미! 프로젝트를 진행하면서 웹 소켓을 통한 양방향 통신이 필요했고 이를 사용하기 위해 학습했다!본론해당 포스트에서는 스프링에서 WebSocket, STOMP(Stream Text Oriented Messaging Protocol)의 사용 방법을 기재한다.build.gradleimplementation 'org.springframework.boot:spring-boot-starter-web'implementation 'org.springframework.boot:spring-boot-starter-websocket'Spring Web과 WebSocket을 추가해준다!먼저 나는 웹 소켓에 STOMP를 사용하여 규격이 있는 메시지를 송수신하도록 했다.WebSocket웹 소켓 등록은 다음과 같이 해준다..
· TIL
키워드우테코 프리코스학습 내용우테코 프리코스지난 3일간 우테코 프리코스 1주차 문제를 계속 풀었다.생각보다 잘못된 설계로 인해 방향이 많이 틀어진 것 같았지만, 몰랐던 부분들을 알게되었고 여러가지를 공부해서 채울 수 있었다.자세한 학습 내용은 1주차 끝난 후 회고에 작성하겠다.
· TIL
키워드우아한 테크코스 이력서 작성, SWEA학습 내용우아한 테크코스 이력서 작성자소서 특강을 통해 어떤 점들을 부각시켜야 하고, 내가 추상적으로 자소서를 작성한다는 것을 알게되었다.최대한 자세히 내가 어떤 생각을 했고 어떤점을 어필할 수 있는지 생각해보게 되었다.SWEA꾸준히 문제를 풀고 있다.!
· TIL
키워드우아한 테크코스 자소서 작성, 자바 형태소 분석 nlp 라이브러리 구현, SWEA배운 내용자바 형태소 분석 nlp// 저장소repositories { maven { url 'https://jitpack.io' }}// KOMORAN 라이브러리implementation 'com.github.shin285:KOMORAN:3.3.4'komoran 라이브러리를 build.gradle에 작성해준다.@Configurationpublic class KomoranConfiguration { @Bean public Komoran regsiterKomoranBean(){ return new Komoran(DEFAULT_MODEL.FULL); }}Komoran 객체를 Bean으로 등록..
· TIL
키워드Toss Next 개발자 코테, 토익스피킹학습 내용Toss Next 개발자 코테열심히 문제를 풀었지만, 2문제 풀었다. 생각보다 시간이 많이 주어지지 않았다.토익스피킹토익 스피킹 학습을 시작했다. 문제의 요지를 파악하고 어떻게 접근해야 하는지, 답변의 구성이 어떻게 이뤄져야 하는지 학습하였다.
· TIL
키워드그리디, SWEA, gradle, Spring과 톰캣의 연결학습 내용그리디그리디 알고리즘에 대한 학습이 부족한 것 같아, 몇 가지 유형을 풀었다.각각의 문제들마다 접근하는 방식이 많이 달라 고민이 많이 필요한 문제들이 많이 있었다.SWEA싸피 코테를 대비하기 위해 SWEA 환경에도 익숙해지고자 D3, D4 추천순으로 문제를 풀었다.유형이 다양하게 있어서 좋았다.gradle매번 스프링 부트 프로젝트를 만들 때마다 사용하고 있었지만, 한번도 학습해보지 않았던 gradle에 대하여 간단하게 찾아보았다.groovy는 XML처럼 문서 형태인줄 알았지만, JVM 상에서 돌아가는 객체지향 스크립트 언어였다.! 심지어 build.gradle은 Project라는 인터페이스의 인스턴스였다. 그래서 해당 인터페이스의 ..
· TIL
키워드이분 탐색, BlockingQueue, Tomcat과 Spring학습 내용이분 탐색이분 탐색이 조금이라도 다른 유형이 나오거나, 범위값을 잘못 생각하거나 하는 실수가 많아 조금 더 연습하였다.BlockingQueue자바에서는 생산자 소비자 문제를 해결하기 위한 BlockingQueue를 지원한다.이는 ReentrantLock을 활용하여 synchronized, Object.wait() notify()의 한계점들을 보완한다.한계점으로는 큐가 비어있거나, 가득찬 경우 소비자와 생산자는 하나의 대기집합에 속하기 때문에 서로가 서로를 깨울 수 없고 랜덤으로 깨워지기 때문에 효율성 문제가 존재했다.하지만 ReentrantLock을 사용할 경우, Condition 객체를 활용하여 이런 대기집합을 분리하여 유연..
창e
창의