It's going to be one day 🍀

안녕하세요! 매일 매일 공부하려고 노력하는 백엔드 개발자 지망생의 공부 흔적입니다.

전체 글 134

[Spring] 스프링 시큐리티 블로그 만들기

스프링 시큐리티 스프링 시큐리티(Spring security)는 스프링 기반의 애플리케이션 보안(인증, 인가, 권한)을 담당하는 스프링의 하위 프레임워크임. 인증, 권한 부여, 접근 제어, 암호화, 세션관리 등 다양한 보안 기능을 제공함. 인증(Authentication) : 사용자의 신원을 확인하는 과정 인가(Authorization) : 사이트의 특정 부분에 접근할 수 있는지 권한을 확인하여 접근을 제어하는 과정 스프링 시큐리티를 사용하면 보안 관련 옵션을 제공받을 수 있고 어노테이션 설정만으로 CSRF 공격, 세션고정 공격 등 개발자가 보안 관련 개발을 해야 하는 부담을 크게 줄여준다. - CSRF 공격 : 사용자의 권한을 가지고 특정 동작을 수행하도록 유도하는 공격 - 세션 고정 공격 : 사용자의..

Back-End/Spring 2024.03.19

[Spring] 필터와 인터셉터

필터와 인터셉터의 흐름 클라이언트의 요청이 처리되는 순서 : HTTP 요청 → 필터 → 인터셉터 → Controller → 인터셉터 → 필터 → 응답 -> 클라이언트의 요청을 필터가 먼저 처리하고 인터셉터가 그 다음에 처리함을 알 수 있음. 필터 스프링의 Dispatcher Servlet에 요청이 전달되기 전/후에 실행됨. WAS(서블릿 컨테이너)에서 실행되므로 스프링의 범위 밖에서 처리가 된다는 특징이 있음. 필터를 사용하기 위해서는 Filter 인터페이스를 구현해야함. public interface Filter { public default void init(FilterConfig filterConfig) throws ServletException {} public void doFilter(Servl..

Back-End/Spring 2024.03.18

[AWS] 클라우드 서버 사용/배포해보기

클라우드 서버란? 인터넷을 통해 서버 / 스토리지 / 데이터베이스 / 네트워크 / 소프트웨어 / 모니터링 등의 컴퓨팅 서비스를 제공하는 것 AWS란? 아마존에서 제공해주는 (Amazon Web Services) 클라우드 서비스 - 다양한 IT 기업들이 AWS를 활용하여 서버 운영을 함. - AWS를 활용해서 서비스 전반적인 인프라 구성을 AWS에 맡길 수 있음. 클라우드의 형태 Infrastructure as a Service (laaS) : 물리적 하드웨어만 구성된 컴퓨터 구입. - OS설치, 인터넷 이용환경 구성, 게임 프로그램 구입 및 설치 등은 본인이 직접 해야 함 - ex) AWS의 EC2, S3 등 Platform as a Service (PaaS) : OS 및 기본적인 인터넷 통신이 가능하도..

Back-End/AWS 2024.03.14

[Spring] Thymeleaf를 이용해서 블로그 화면 구성하기

DispatcherServlet의 처리 과정 1. HTTP 요청이 들어오면, 2. HandlerMapping을 통해 적합한 컨트롤러와 메소드를 찾고, 3. 컨트롤러로 위임할 핸들러 어댑터를 찾아서 실행함. 4. 핸들러 어댑터가 컨트롤러로 요청을 위임하고, 5. 컨트롤러에는 -> service -> repositry ... 개발자가 구현한 로직에 대한 결과를 모델(ModelAndView)로 가져옴. 6. View 정보가 있을 경우, DispatcherServlet이 적절한 VeiwResolver를 찾아 호출함. 7. ViewResolver는 View를 찾아서 반환해줌. 8. 해당 View는 전달받은 model값으로 화면 랜더링을 하고, 9. HTTP 응답을 (HTML로) 반환함. @Controller @R..

Back-End/Spring 2024.03.13

[Spring] JPA로 CRUD 블로그 만들기 실습 정리

오늘은 JPA로 CRUD를 진행하며 블로그 만들기 실습을 진행했다. 수요일부터 비슷한 내용을 계속 반복하니까 드디어 비로소 좀 이해가 된 것 같다. 아직 완벽하게 이해하진 못했지만, 계속 복습하면 완벽하게 익힐 수 있을 거라구 생각한다.. 1단계 : 프로젝트 새로 생성하기 (의존성 추가하기) 먼저 새로운 프로젝트를 생성했다. 화면에 보이는 의존성들을 추가해주었다. 2단계 : 엔티티 구성하기 JPA로 쿼리를 작성하고 데이터베이스와 연결해주었다. create table if not exists article ( id BIGINT AUTO_INCREMENT primary key, title varchar(255) not null, content varchar(255) not null ); INSERT INTO..

Back-End/Spring 2024.03.12