전체 글
-
[트러블 슈팅] 로그인 인증 관련 문제프로젝트/게시판 프로젝트 2024. 10. 29. 18:03
문제로그인을 했을경우, 이미 인증을 받았기에 필터와 인터셉트가 걸러주지 못하는 문제 발견/members/test -> /members/admin (이동 가능) 문제의 코드session의 null 체크만 하고, 로그인 계정에 대한 인증 로직이 추가되지 않음위의 문제가 발생한 원인 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestURI = request.getRequestURI(); Pattern pattern = Pattern.compile("/members/([^/]+)"..
-
[슬라이딩 윈도우 + deque] 백준 11003번책/DoIt 알고리즘 코딩테스트 2024. 10. 27. 14:56
문제1. 숫자 배열 크기 + 범위 크기가 주어짐2. 숫자 배열이 주어짐3. 숫자배열에서 범위만큼 움직이며, 그때마다 최소값을 저장문제 조건 : ( 1 문제분석범위 크기 이동만큼 최소값 탐색슬라이딩 윈도우 : 2개의 포인터를 잡고, 이동시키며 최소값 탐색범위크기 및 숫자개수 최대치가 5,000,000이므로 시간복잡도를 O(n) 초과하여 잡을 수가 없음 (시간 초과)기본 정렬 시간 복잡도 : O(nlogn)일반적인 정렬알고리즘으로 풀지 못하므로, 덱(deque)을 도입Deque (덱) - 앞쪽에서 추가/삭제 가능, 뒷쪽에서도 추가/삭제 가능[구조] Add -> -> Remove Fr..
-
[JAVA 기술면접] 라이브러리 활용기술면접/JAVA 관련 기술면접 2024. 10. 24. 22:37
java.base 모듈기본으로 가지고 있는 java 모듈종류- java.lang : Java 기본클래스 포함 (Object, String, System ...)- java.util : 컬렉션 프레임워크와 유틸리티 (List, Map, Set)- java.io : 파일 입출력- java.nio : 비동기 입출력, 버퍼 ,채널, 파일경로/복사/이동/삭제 관련- java.net : 네트워크 프로그래밍 지원 모듈- java.security : 보안 및 암호화 관련 클래스- java.math : 대형정수 및 고정 소수점 숫자 다루는 클래스- java.time : 시간 및 날짜관련import java.nio.file.Path;import java.time.LocalDateTime;import java.util.Ar..
-
[JAVA 기술면접] 예외기술면접/JAVA 관련 기술면접 2024. 10. 24. 20:56
예외와 예외클래스Error / ExceptionError에러는 응용프로그램 실행 오류Exception일반예외 ( Check 예외 )ClassNotFoundExceptionInterruptedException런타임예외 (UnCheck 예외)NullPointerExceptionArrayIndexOutOfBoundsExceptionNumberFormatExceptionCheck 예외 : 컴파일 당시에 오류가 발생UnCheck 예외 : 런타임 당시에 오류가 발생 ( 컴파일 단계 이상 없음 ) 예외 처리 코드 예외 처리 문법try ~ catch ~ finally예외 메시지 출력.getMessage().toString().printStackTrace() try{ String data; ..
-
[JAVA 기술면접] 라이브러리 (라이브러리, 모듈)기술면접/JAVA 관련 기술면접 2024. 10. 24. 20:32
라이브러리클래스와 인터페이스를 모아 둔 것을 라이브러리라고 함대개 .jar파일로서 보관하게 된다CLASSPATH에 지정하여, 해당 라이브러리를 사용하게 된다import [패키지명].[클래스명]; 모듈라이브러리 처럼 가져다 사용할 수 있다공개와 은닉이 존재한다module-info.java인 모듈기술자를 정의해야한다[키워드]외부로 노출 : exportsmodule 가져다 쓰기 : requires모듈 선언 및 저장package pack1;public class B{ public void method(){ System.out.println("B"); }}package pack2;public class A{ public void method(){ System.out...
-
[JAVA 기술면접] 성능튜닝기술면접/JAVA 관련 기술면접 2024. 10. 24. 18:04
자바 애플리케이션, JVM 실행과정JVM 이란?- 스택 기반의 가상 머신- OS에 구애받지 않고 재사용 가능하게 함- 자바 바이트코드를 실행할 수 있는 주체자바 실행과정JVM은 OS로부터 프로그램이 필요로하는 메모리를 할당 받음javac(자바 컴파일러)가 .java코드를 읽어 .class로 변환시킨다 (.java -> .class)Class Loader를 통해 class 파일들을 JVM으로 로딩로딩된 class 파일들은 Execution Engine을 통해 해석해석된 바이트코드는, Runtime Data Area에 배치됨 (JVM은 필요에따라 실행중간에, 스레드 동기화와 GC 작업을 수행)클래스 로더란?- 자바는 런타임 도중에 로드하고 링크하는 특징이 있다- 런타임 도중에 (동적) 로드를 담당하는 부분이..
-
[JAVA 기술면접] 객체지향 특징 (4가지 특징, SOLID)기술면접/JAVA 관련 기술면접 2024. 10. 24. 17:07
객체지향이란?필요한 데이터를 추상화 시켜서 상태와 행위를 가진 객체를 만들어서 사용절차적인 것과 달리, 객체들을 이용하여 유기적인 상호작용을 통해서 로직을 구성장점- 코드 재사용성 용이- 유지보수의 편리함- 대형 프로젝트에 적합단점- 처리속도가 상대적으로 느림- 객체가 많으면 용량이 커짐- 설계시 많은 시간과 노력이 필요 객체지향의 4가지 특징캡슐화접근제어자를 이용하여, 객체 안에 노출되어야할 것과 노출되지 말아야할 것을 정의하고 접근을 제어하여 은닉하는 것이 목적코드의 수정이 있을때도, 영향범위를 예측할 수 있어 유용함상속부모 객체의 속성과 기능을 이어받아 사용이 가능필요에 따라, 자식객체에서만 특정하여 수정이 가능추상화"공통의" 속성이나 기능을 묶어서 표현주로 추상화클래스 혹은 인터페이스를 이용하여 ..