| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- Java
- 자바
- junit
- 인텔리제이
- 정규식
- 단위테스트
- 자바스크립트
- ArrayList
- 배열
- string
- HashMap
- 문자열
- junit5
- javascript
- js
- list
- SpringBoot
- math
- vscode
- input
- html
- 테스트자동화
- Eclipse
- Array
- 자바문법
- 스프링부트
- java테스트
- IntelliJ
- Visual Studio Code
- CSS
- Today
- Total
목록2026/02/16 (2)
어제 오늘 내일
스프링을 공부하는 많은 분들이 "가장 큰 통곡의 벽"으로 꼽는 것이 바로 Spring Security입니다.설정할 것도 많고, 용어도 어렵죠 (Principal? GrantedAuthority? FilterChain?).하지만 한 번 이해하고 나면 이만큼 든든한 보디가드도 없습니다.오늘은 복잡한 코드를 짜기 전에, Spring Security가 왜 필요하고 어떻게 작동하는지 아주 쉽게 개념부터 잡아보겠습니다.1. Spring Security, 왜 쓸까?만약 시큐리티 없이 우리가 직접 로그인과 권한 체크를 구현한다면 어떻게 될까요?아마 모든 Controller 메소드마다 이런 코드를 넣어야 할 겁니다.// 시큐리티가 없다면... (끔찍한 상황)@GetMapping("/admin/members")public..
수정과 삭제 기능은 보통 하나의 화면(posts-update.html)에서 같이 처리합니다.먼저 백엔드에 삭제 기능이 빠져있었으니(9편에서 생략함), 그것부터 채워 넣고 화면을 만들겠습니다.Step 1. 백엔드에 '삭제' 기능 추가하기9편에서 등록, 수정, 조회 API는 만들었는데 삭제(Delete) API는 아직 안 만들었습니다. 빠르게 추가합시다.1. Service (BoardService.java)// ... 기존 코드 ... // 삭제 기능 추가 @Transactional public void delete(Long id) { Board board = boardRepository.findById(id) .orElseThrow(() -> new ..
