Programming(36)
-
Security 기본 필터 확인
@RequiredArgsConstructor @Slf4j public class JwtFilter extends OncePerRequestFilter { private final UserService userService; @Value("${jwt-secret}") private final String secretKey; private final JwtTokenProvider jwtTokenProvider; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { exap..
2024.02.20 -
[Java] 기본 자료형과 참조 자료형(각각의 정의와 종류)
자료형은 기본 자료형과, 참조자료형 두가지로 나뉜다. 1.기본자료형(Primitive type) - 단일 값을 나타내며, 메모리에 직접 값을 저장한다. 따라서 변수 간에 값을 복사할 때 값을 복사한다. - byte(8bit 정수, 메모리 1byte) short (16bit 정수, 메모리 2bytes) int (32bit 정수, 메모리 4bytes) long (64bit 정수, 메모리 8bytes) float (32bit 부동소수점, 메모리 4bytes) double (64bit 부동소수점, 메모리 8bytes) char(2bytes 유니코드 문자) boolean (논리형 1bit) 2. 참조 자료형(Reference Type) : 참조자료형의 경우 객체나 데이터 구조체의 주소를 저장하여 heap에 있는 ..
2023.10.16 -
[Linux] 프로세스 목록 확인, 해당프로세스 확인, 프로세스 kill 하기
해당 명령어들은 cpu가 pull차는 현상이 발생하여 해당 프로세스를 확인하고, 문제가되는 프로세스를 죽인 후, cpu의 용량을 정상화 시키기 위해 사용했던 명령어이다. top - 실행되는 프로세스 전체 목록 조회 ctrl+c - top에서 명령어 입력하는 곳으로 이동 ps -ef|grep [PID] - 해당 프로세스 정보 확인 kill -9 [PID] - 해당 PID를 가진 프로세스 죽이기 +) 해당 리눅스 명령어들을 통해 문제가 되는 프로세스를 확인한 후 정상화시킬 수 있다. kill -9을 시킨 후에도, 한번에 프로세스가 죽여지지 않는다면 2~3번정도 다시 바뀐 PID를 다시 kill-9 시켜야한다. (동일한 PID인지는 cookies-file등을 확인할 것!) +) 또한 다중으로 프로세스가 실행되..
2023.10.04 -
[Java] 배열에서 원하는 범위의 index 추출하기
해당 방법은 프로그래머스의 K번째 수 문제에서 원하는 시작인덱스 ~ 원하는 종료인덱스까지의 배열을 추천하기 위해 공부했던 방법이다. 알고리즘으로 직접적으로 푸는 방법과, API를 사용하는 방법 두가지를 고민했는데 자바 자체에서 제공되는 메소드를 공부하기 위해 사용방법을 정리하였다. [방법 1] int[] arr1 = {1,2,3,4} /* 복사하려는기존 arr, startIndex, EndIndex 단, EndIndex - startIndex로 새로운 배열의 길이를 결정하므로, 해당 값이 꼭 0이상이어야한다. 아니면 error를 뱉어낸다. */ int[] newArr = Arrays.copyOfRange(arr1,1,3); [방법 2] int[] arr1 = {1,2,3,4} int[] arr2 = {1..
2023.08.12 -
[오류 해결] unsupported or unrecognized ssl message java
해당 오류는 javax를 이용하여 새로 SMTP를 프로젝트에 개발할 때 발생했던 오류다. unsupported or unrecognized ssl message라는 메시지 때문에, ssl에 관련된 메시지인줄 알고 하루 넘게 고민했는데 이상했던 점은 네이버를 이용해서 SMTP테스트를 할 때는 메일이 정상적으로 발송되지만, 따로 다른 SMTP 서버를 향할때에는 해당 오류가 발생했다는 것이다. [문제 해결] 예상 외에 문제는 포트 지정으로부터 발생한 것이었다. 엄청난 검색끝에 찾을 수 있엇는데, 포트 25번은 non-ssl, 포트 465는 ssl, 포트 587은 tls 사용한다고 한다. 해당 포트마다 적용되는 보안이 다른것이다. 따라서 prop.put("mail.smtp.ssl.enable", "true");..
2023.08.10 -
[JAVA] Long to String, Char to String (feat. StringBuilder)
해당 문제는 long문자열을 입력받아 거꾸로 뒤집었을때 발생했다. 평소 StringBuilder를 객체 안에 parameter로 넣어 reverse()를 하는 형식으로 많이 이용했는데, prmitive type인 long과 char등은 지원이 안되었기 때문. [해결방법] 다음과 같이 Char c= "1"; long l = "22222"; String str = new StringBuilder().append(c OR l).reverse().toString(); 의 형식으로 만들어진 빈 StringBuilder 객체에 다음의 원시타입을 append하여 reverse하는 방식으로 이용한다. 참고로 append에는 int와 boolean, String들도 사용 가능하다.
2023.07.15