[ 정리/Spring ]스프링 시큐리티2025-08-04 01:13:121. 등장 배경초창기 Spring Framework 코어에는 인증/인가 기능이 전무했기 때문에 JEE 컨테이너 관리형 보안 또는 수동 구현에 의존해야 했다.web.xml에 DelegatingFilterProxy 형태의 보안 필터를 등록하거나 HttpServlet/JSP 내부에 직접 로그인/권한 검사 로직을 작성 #JSP 프로젝트 코드@WebFilter("/student/*")public class StudentLoginFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpS..
[ 기록/TIL ]엔티티 매니저와 엔티티 상태2025-01-27 21:42:51영속성 컨텍스트엔티티를 영구 저장하는 환경1차 캐싱, 쓰기 지연, 변경 감지를 통해 영속 로직을 효율적으로 할 수 있게 해줌효율적인 영속 로직 수행을 위해 엔티티는 영속성 컨텍스트에 관리되어야 함엔티티 매니저영속성 컨텍스트를 도와주는 것이 엔티티 매니저엔티티의 상태를 변경하고 영속성 컨텍스트와 상호작용함으로써 영속 로직을 수행하는 역할을 가지고 있음엔티티 상태영속성 컨텍스트와 관련하여 4가지 상태를 가짐비영속, 영속, 준영속, 삭제엔티티 매니저는 persist, merge, remove, close 메서드를 이용하여 엔티티의 상태를 변경할 수 있음엔티티 매니저는 영속성 컨텍스트의 1차 캐시로부터 엔티티를 조회할 수 있고 쓰기 지연 저장소에 있는 쿼리들을 flush하여 DB와 동기화 시킬 수 있음JPQL,..
[ 기록/TIL ]JPA의 ddl 옵션2025-01-24 09:34:39JPA의 ddl-auto 옵션은 각각 어떤 동작을 하고 어떤 상황에서 사용해야 할까?ddl-auto 하이버네이트와 같은 JPA 구현체를 사용할 때 데이터베이스 스키마 관리 제어하는 설정application.yml application.properties 파일에서 설정 가능다양한 값에 따라 데이터베이스 스키마에 대한 다른 동작을 수행 옵션none 데이터베이스 스키마 관련된 어떤 작업도 수행하지 않음. 데이터베이스 스키마를 수동으로 관리하고 싶을 때 유용, 프로덕션 환경에서 주로 사용validate 애플리케이션이 시작될 때 엔티티 매칭이 데이터베이스 스키마와 일치하는지 검증, 스키마 변경은 따로 수행하지 않음. 프로덕션 환경에서 엔티티와 데이터베이스 스키마가 일치하는지 확인하고 싶을 때 사용update 엔티..
[ 데브코스/영상과제 ]셸 스크립팅 에센스 E01 - 셸. 커널. 터미널. (shell. kernel. terminal)2024-12-19 00:53:12https://youtu.be/9ZLSLi5a6Xw?si=ar49chswNlqSnalN 셸 Shell운영체체(커널)를 감싸는 껍데기운영체제의 서비스를 사용자나 응용프로그램에게 노출하드웨어와 커널이 직접 연결되어있고 셸이 감싸고 있다커널 kernel운영체제의 핵심하드웨어를 직접 제어운영체제로서 서비스를 제공사용자가 직접 통제 불가Exokernel처럼 응용 프로그램이 직접적으로 제어할 수 있게 열어주는 경우도 있으나 흔치않음커널은 사용자가 직접 통제할 수 없어 사용자와 응용프로그램은 셸을 통해 커널을 사용하게됨이때 사용자는 셸의 인터페이스를 통해 사용 셸 인터페이스GUl 그래픽 유저 인터페이스macOS finder, 윈도우 탐색기직관적이고 사용하기 쉽다CLI 커맨드 라인 인터페이스bash shell, zs..
[ 기록/TIL ]스프링 부트 매개변수 이름 인식2024-12-17 16:52:49[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.String] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.] with root cause매개변수 바인딩이 안된다..@Request..
[ 데브코스/영상과제 ]REST API가 뭔가요?2024-12-17 16:39:05https://youtu.be/iOueE9AXDQQ?si=UoDTcjnTEA_cXNUz REST API(Representational State Transfer)웹기반 애플리케이션과 서버 간에 데이터를 교환하기 위해 사용되는 아키텍처 스타일클라이언트-서버 구조에서 리소스를 효율적으로 관리하고 전송하는 데 중점을 두며 HTTP 프로토콜을 기반으로 구현과거 SOAP 형식을 대체 REST API와 SOAP의 차이점특징RESTSOAP프로토콜HTTP 기반HTTP, SMTP 등 다양한 프로토콜 지원데이터 포맷JSON, XML 등XML구조간단하고 가볍다복잡하고 무겁다유연성유연하고 다양한 표준 지원엄격한 규격 핵심 개념리소스REST에서 모든 정보를 리소스로 간주리소스는 고유한 URI(Uniform Resource I..
[ 데브코스/영상과제 ]가장 쉽게 배우는 도커2024-12-16 16:40:54https://youtu.be/hWPv9LMlme8?si=oN_-jjiNDI1BctxFDockerfile도커파일은 이미지를 어떻게 구성하고 설정할지 명령어 형식으로 기술한 파일도커 이미지의 구성 요소와 환경을 정의한 스크립트 파일, 이를 통해 이미지를 자동으로 빌드FROM이미지 기반이 될 부모 이미지RUN컨테이너 내에서 실행할 명령어보통 패키지 설치나 설정 변경 등 수행COPY/ADD로컬시스템에 있는 파일이나 디렉토리를 도커 이미지 안으로 복사할 때 사용copy는 복사, add는 압축풀기, URL에서 파일 가져오기 등 추가 기능WORKDIR현재 작업 디렉토리를 설정CMD / ENTRYPOINT컨테이너가 실행될 때 실행할 기본 명령어 정의cmd는 기본 명령어만 지원 entrypoint는 실행될 명령을 고정..
[ 데브코스/영상과제 ]도커가 뭐고 왜 쓰는건가요?2024-12-16 12:43:32https://youtu.be/tPjpcsgxgWc?si=Q6CuBS-hxcKqFPer 도커?컨테이너화기술을 활용한 오픈소스 플랫폼애플리케이션을 더 쉽게 배포, 실행, 확장할 수 있도록 도와주는 도구애플리케이션과 그 실행 환경을 일관되게 패키징다양한 환경에서 애플리케이션을 같은 방식으로 실행할 수 있도록 도와줌 도커는 기본적으로 컨테이너라는 가벼운 가상화 환경을 사용해 실행애플리케이션과 그에 필요한 모든 환경(라이브러리, 설정 파일 등)을 포함하고 있어 컨테이너가 실행되는 환경이 무엇이든 애플리케이션이 동일한 방식으로 실행 도커 구성 요소도커 엔진도커 컨테이너를 관리하고 실행하는 기본적인 엔진, 호스트 OS위에서 도커 컨테이너를 실행하고 관리도커 이미지애플리케이션과 그 의존성을 포함한 읽기 전용 템플릿 ..