목록Java (57)
오답노트

Threadmutex하나의 thread만 접근 가능package thread;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class ThreadWithLock extends Thread { private static final Lock lock = new ReentrantLock(); private static int counter = 0; @Override public void run() { lock.lock(); try { counter++; System.out.println(getName() + " ..
파읽 읽기import java.io.IOException;import java.nio.file.Files;import java.nio.file.Paths;import java.util.stream.Stream;public class MyServer { public static void main(String[] args) { String filePath = "C:\\agentlog.txt"; try (Stream lines = Files.lines(Paths.get(filePath))) { lines.forEach(System.out::println); } catch (IOException e) { e.printStackTrace(); ..

1. 상단바 - Window - Preferences2. Java - Editor - Content AssistEnable auto activation 체크Auto activation triggers for Java에 '.' 설정 3. Java - Editor - Content Assist - AdvancedJava Non-Type Proposals 체크Java Proposals 체크
리팩터링 계기과제 전형을 진행하면서 나름 재밌었기 때문에 이 프로젝트에서 아쉬웠던 부분을 발전, 보완하고 싶다는 생각이 들었다. (결과는 탈락) 과제 전형 제출 후 여러 일정이 겹쳐서 바로 코드를 들여다 보지는 못했지만, 평소 생각하던 부분을 바꿔보고 싶다고 생각했고, 그 중 하나는 오늘 이야기 하려는 Controller에서 요청에 대한 Parameter 유효성 검증이다. 검증 로직 개선우선 가장 최근의 Controller의 유효성 검증 로직을 살펴보자 @PostMapping()public ResponseEntity saveAlarm(@RequestBody AlarmRequestDto alarmRequestDto) { AlarmResultResponseDto alarmResultResponseDto..
Json String -> 객체import com.fasterxml.jackson.databind.ObjectMapper;import java.util.List;import java.util.Arrays;// 리스트로 받는 법// resultList은 List 이다ObjectMapper mapper = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);List harmornyRoomDtos = Arrays.asList(mapper.readValue(resultList.toString(), HarmornyRoomDto[].class)); harmornyRoomListDto.setHarmornyroomL..
소스코드import org.junit.jupiter.api.Test;import org.junit.jupiter.api.extension.ExtendWith;import org.mockito.InjectMocks;import org.mockito.junit.jupiter.MockitoExtension;@ExtendWith(MockitoExtension.class)public class NaverSearchServiceImplTest { @InjectMocks private NaverSearchServiceImpl naverSearchService; @Test void testHarmornyroomSearch() { naverSearchService.getHarmornyR..

한글 깨짐 홈페이지 입니다 해결되지 않은 meta 태그 홈페이지 입니다 이건 왜 안되는걸까.. 해결 홈페이지 입니다

Maven 의존성 추가 ... org.apache.tomcat.embed tomcat-embed-jasper application.properties 설정 추가spring.mvc.view.prefix=/WEB-INF/views/spring.mvc.view.suffix=.jsp 경로 추가결과 확인

@Controller일반적인 API를 만드는 것 가능Model을 인자로 주게 되면 View를 호출 할 수 있음@ResponseBody를 활용하면 REST 방식으로 응답 가능@RestControllerRest API를 만드는 것에 용이하다.인터페이스를 보면 @Controller와 @ResponseBody를 사용하고있다.Model를 인자로 줘도 View를 호출 하지 못함package org.springframework.web.bind.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation..
OAuth2 다량의 사용자를 보유하고 있는 벤더에게서 사용자 정보를 위임을 받아 사용자를 가입하게 하는 방식이다. 개발 환경 구축 dependencies { implementation("$boot:spring-boot-starter-oauth2-client") } build.gradle에 위와 같은 의존성을 추가한다. spring: security: oauth2: client: registration: google: client-id: 532557492921-oanhrsrege0kqvb7q1v0v2o4lcu0ktlc.apps.googleusercontent.com client-secret: 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 application.yml 에 위와 같이 설정한다..