일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- katalon 비교
- recursion example
- 재귀함수 예제
- 국세청 해외주식 양도세 신고방식
- oracle group by
- 한국투자증권 해외주식 양도세
- bfs 미로탐색 java
- 테스트 자동화
- Katalon Recorder 사용법
- 최대공약수 예제
- katalon 사용법
- js 자동완성
- 피보나치 예제
- katalon
- 피보나치함수
- tomcat log
- javascript 자동완성
- 주식 양도세 신고방법
- katalon 자동화
- 홈택스 해외주식 양도세
- 톰캣 실시간 로그
- 한국투자증권 양도세 신고
- 해외증권 양도세 한국투자증권
- katalon xpath
- git 연동
- 해외주식 양도세 신고
- 재귀 예제
- CSTS 폭포수 모델
- 피보나치함수 예제
- java.sql.SQLSyntaxErrorException
- Today
- Total
목록java (97)
엄지월드
신택스 에러는 발생하지 않지만 컴파일 시에 error: cannot find symbol 에러가 발생하는 현상이 있었다. 그리고 @RestController에서 DB에 값이 담겨있지만 return 시에 {} 으로 비어서 반환되는 현상이 있었다. 이유를 찾아보니, 결국에는 lombok의 getter가 제대로 작동하지 않아서 발생하는 현상이었다. \java\com\skeleton\board\service\BoardService.java:30: error: cannot find symbol System.out.println("board = " + board.getTitle()); ^ symbol: method getTitle() location: variable board of type Board 그래서 bu..
formLogin().disable() 처리를 해주었기 때문에 PrincipalDetailsService implements UserDetailsService를 때려주는 Filter를 만들어야 한다. .formLogin().disable() 처리를 해주었기 때문에 UsernamePasswordAuthenticationFilter가 실행될 수 있도록 configure(HttpSecurity http)에서 filter를 등록해주어야 한다. .addFilter(new JwtAuthenticationFilter(authenticationManager())) 그리고 authenticationManager()를 추가하기 위해서 JwtAuthenticationFilter에서 생성자를 추가해준다. @RequiredAr..
HandlerInterceptor implements만 하니깐 적용이 안되었다. package com.dz.interceptor; import com.dz.util.JwtTokenProvider; import io.jsonwebtoken.Claims; import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import or..
아래와 같이 signwith 부분에서 에러가 발생하였다. java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na] at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na] at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[na:na] at io.jsonwebtoken.i..
Front와 Backend 서버를 분리하고 싶기도 하고, 매번 개발 시마다 스프링의 실행 시간을 기다리는 게 아쉬워서 테스트 코드를 적극 활용해 보기로 하였다. 더불어 품질도 함께 챙길 수 있으니 일석삼조이다. Annotation 추가 @SpringBootTest : 통합 테스트를 지원하는 Annotation이다. 테스트에 필요한 대부분의 의존성을 제공. 예로 들면 @ContextConfiguration을 통해서 xml의 위치를 설정해주던 부분을 대신해줌. @AutoConfigureMockMvc : MockMvc의 의존성을 주입해주기 위해서 사용하는 Annotation이다. MockMvc를 활용해 get, post 등의 요청을 하기 위해서 선언. @Transactional : 실행이 완료된 후에 결과 값..

1. tomcat/conf/tomcat-users.xml 파일을 변경 password 부분을 임의로 모두 변경 주석처리가 되어 있으면, 주석 해제 진행 2. build 진행 (이클립스 기준으로 진행) (eclipse를 사용하지 않으려면 직접 terminal이나 cmd를 열어서 gradle을 빌드 진행) Window > Other 클릭 gradle 입력 후 검색하여 "Gradle Tasks" 클릭 후 Open 클릭 build 폴더 > build 글자 더블클릭 빌드 성공 확인 3. 터미널 실행 생성된 war 파일 이름을 아래와 같이 작성 $ java -jar myboot01-4-0.0.2.war (spring boot의 경우 톰캣이 내장되어 있기 때문에 war를 실행시키면 자동으로 톰캣이 올라감) (만약, ..
@Mapper 어노테이션은 root-context.xml에 있는 아래 부분을 @Mapper로 대체 가능하다.
[배경] 사용자들이 홈페이지에 들어와서 어느 메뉴를 많이 사용하는지 알고 싶다는 니즈가 있었다. 하지만 모든 controller마다 로그를 넣기에는 번거롭기 때문에 공통 관심사를 AOP로 분리하였다. [소스] Controller 부분에서만 @Before을 통해 메소드가 실행되기 전에 실행되도록 처리하였다. import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Aspect @Component public cl..
쓰레드 애플리케이션 코드를 하나하나 순차적으로 실행하는 것은 쓰레드 자바 메인 메서드를 처음 실행하면 main이라는 이름의 쓰레드가 실행 쓰레드가 없다면 자바 애플리케이션 실행이 불가능 쓰레드는 한번에 하나의 코드 라인만 수행 동시 처리가 필요하면 쓰레드를 추가로 생성 단일 요청 - 쓰레드 하나 사용 요청1 써블릿 처리 지연 -> 요청2 쓰레드 대기 요청 마다 쓰레드 생성 장점 동시 요청을 처리할 수 있다. 리소스(CPU, 메모리)가 허용할 때 까지 처리가능 하나의 쓰레드가 지연 되어도, 나머지 쓰레드는 정상 동작한다. 단점 쓰레드는 생성 비용은 매우 비싸다. 고객의 요청이 올 때 마다 쓰레드를 생성하면, 응답 속도가 늦어진다. 쓰레드는 컨텍스트 스위칭 비용이 발생한다. 쓰레드 생성에 제한이 없다. 고객..