본문 바로가기

전체 글104

TDD (Test-Driven Development)란? TDD ( Test-Driven Development)란?TDD (Test-Driven Development, 테스트 주도 개발)은 소프트웨어 개발 방법론 중 하나로,개발자가 코드를 작성하기 전에 먼저 테스트 코드를 작성하는 방식을 말한다.이 방법론은 소프트웨어의 기능을 작은 단위로 나누어 테스트하고, 이를 통해 버그를 사전에 방지하며, 코드의 품질을 높이는 것을 목표로 한다.  TDD의 핵심 원칙 : Red-Green-Refactor 사이클TDD는 주로 Red-Green-Refactor라고 불리는 세 단계의 반복 사이클을 통해 이루어진다. 1. Red (실패하는 테스트 작성)새로운 기능을 추가하거나 기존 기능을 수정하기 위해 먼저 테스트 코드를 작성한다.이 테스트는 처음에 실패해야 한다. 왜냐하면 아직.. 2024. 11. 8.
[goormedu 강의] 스프링부트 블로그 만들기 06 - 05 스프링 시큐리티 로그인 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. loginForm.jsp Username Password 로그인로그인 버튼 클릭 시 form action 주소로 이동한다.UserApiController에 '/auth/loginProc'에 POST 매핑되는 메소드를 선언하지 않고스프링 시큐리티에서 가로채기 하게 한다. SpringConfig.java@Beanpublic SecurityFilterChain configure(HttpSecurity http) throws Exception { http .csrf().disable() // csrf 토큰 비활성화 .authorizeRequests() .requestMatc.. 2024. 10. 5.
[goormedu 강의] 스프링부트 블로그 만들기 06 - 04 XSS와 CSRF 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. XSS :  자바스크립로 공격하는 것.CSRF : 공격자가 희생자의 권한을 도용하여 특정 웹사이트의 기능을 실행하는 것. SecurityConfig@Beanpublic SecurityFilterChain configure(HttpSecurity http) throws Exception { http .csrf().disable() // csrf 토큰 비활성화 .authorizeRequests() .requestMatchers("/**", "/auth/**", "/js/**", "/css/**", "/image/**") .permitAll() .anyRequest() .. 2024. 10. 5.
[goormedu 강의] 스프링부트 블로그 만들기 06 - 03 비밀번호 해쉬 후 회원가입하기 해당 글은 groomedu의 스프링부트 나만의 블로그 만들기 강의를 보고 개인적으로 정리한 글입니다. 시큐리티에서 해쉬 암호화된 비밀번호 값만 로그인이 되게함.해쉬 암호화를 하면 고정길이의 16진수 값으로 변경 해쉬의 장점- 원본값과 비교하여 위조되었는지 판별 가능 SecurityConfig@Bean //IoC가 됌. public BCryptPasswordEncoder encodePWD() { return new BCryptPasswordEncoder();}SpringConfig에 위와 같이 선언.BCryptPasswordEncoder는 Spring Security에서 제공하는 암호화 함수이다. 회원가입 Service@Autowiredprivate BCryptPasswordEncoder encoder;@.. 2024. 10. 5.