[BE] @Controller와 @RestController의 차이

지원중인 프로젝트들을 보면, 회사의 중대하고 막대한 프로젝트들은 당연히 BE/FE 나누어 개발을 하지만아주 소소한, 조마난 플젝들은 굳이 BE/FE를 나누지 않고 여전히 JSP, Timeleaf등을 많이 사용하고 있다 그럼 백 코드를 @RestController를 써야할지, @Controller를 써야할지 여쭤보시는데대충 어디에 뭘 어떻게 쓴다만 알지 내부 구조를 자세하기 알진 못해서 알아봄 @Controller vs @RestController, 상황별 선택 가이드1. 두 응답의 목적은?- @Controller (View 기반) : 전통적인 Spring MVC의 컨트롤러. 주로 View(화면)을 반환하기 위해 사용한다. 메서드가 String을 반환하면 View Resolver가 해당 이름의 뷰 파일(J..

Programming/BackEnd 2026. 3. 9. 22:16
[BE] Java 8에서 21로

회사에서 올 해 프로젝트로 Java 8버전에서 21로 올리는 프로젝트가 뜬다고 한다Java8을 아직도 쓰는것도 놀라운데 이 프로젝트에 참여할 수도 있다는게 놀라움 Java 8에서 21로 : 현대적 자바로의 대도약1. Virtual Threads: 동시성 프로그래밍의 혁명 (Java 21)가장 파급력이 큰 변화다. 기존 자바의 스레드(PlatformThread)는 OS 스레드와 1:1로 매핑되어 생성 비용이 비싸고 개수도 제한적이었다.Java 8 : 요청 하나 당 스레드 하나를 할당하다보니, I/O 작업(DB 조회, API호출) 시 스레드가 차단되어 자원이 낭비되었음. 이를 해결하려면 복잡한 비동기 프로그래밍(WebFlux 등)이 강제되었다.Java 21 : 수백만 개의 Virtual Thread를 생성할..

Programming/BackEnd 2026. 2. 9. 18:54
[BE] 스프링 IoC와 DI | 스프링 생명주기 | @Autowired와 getBean()

면접 준비할 때 미리 준비 안 해가면 항상 질문 나오는 스프링 IoC와 DI실제로 프레임워크팀에서 백엔드 개발을 하면서 항상 고려해야 하는 개념이지만면접에서 물어보면 이게 그렇게 답변하기가 힘들드라외우는 방식 말고 이해할 수 있게 작성하는 글 ✔️ Spring의 IoC와 DI 개념스프링 프레임워크를 지탱하는 가장 거대한 뿌리, IoC(Inversion of Control)와 DI(Dependency Injection)에 대해 알아본다이 개념들을 제대로 이해하면 "왜 스프링을 써야 하는가?"에 대한 답을 찾을 수 있을 것이다. IoC (Inversion of Control, 제어의 역전) : 내가 직접 관리하던걸 프레임워크가 대신 관리해줌DI (Dependency Injection, 의존성 주입) : 필요..

Programming/BackEnd 2026. 1. 11. 00:30
[BE] 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 Ch03

Chapter3. 성능을 좌우하는 DB 설계와 쿼리 조회 트래픽을 고려한 인덱스 설계풀 스캔이 발생하지 않도록 하려면 조회 패턴을 기준으로 인덱스를 설계해야 한다.엘라스틱서치 같은 검색 엔진을 사용하면 DB를 사용하지 않고 검색 기능을 구현할 수 있다.인덱스는 단일 인덱스로도 사용 가능하고 필요하다면 복합 인덱스도 가능하다.ex) 단일인덱스 : userIdë§Œ 인덱스로 사용ex) 복합인덱스 : (userId, activityDate)를 인덱스로 사용인덱스를 생성할 때는 선택도가 높은 칼럼을 골라야 한다.ps) 선택도? 인덱스에서 특정 칼럼의 고유한 ê°’ 비율 (선택도↑ = 해당 칼럼에 고유한 값이 많음)커버링 인덱스 : 특정 쿼리를 실행하는 데 필요한 칼럼을 모두 포함하는 인덱스ex) 아래 쿼리는 실제 데이..

Programming/BackEnd 2025. 12. 12. 15:46
공지사항
Total
1,011
Today
0
Yesterday
5
링크
글 보관함
250x250