일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 |
- 인터셉터
- js
- 원격인터뷰
- 비전공자
- 카카오로그인
- 성능최적화
- 스프링 빈
- jvm
- 가비지 컬렉터
- 신입면접
- annotation
- 앱출시
- 어노테이션
- JPA
- 자바
- 개발
- 캐싱
- 개발자 면접
- SpringBoot
- 인텔리제이 플러그인
- 개발자
- javascript
- Java
- 스프링
- spring
- 인텔리제이
- 스프링부트
- IntelliJ
- 가비지 컬렉션
- 자바스크립트
- Today
- Total
목록Tech (10)
우당탕탕
Spring Security를 활용하여 웹 애플리케이션의 인증 및 인가를 설정하고 JWT를 통한 보안 강화를 구현하는 방법 1. Spring Security란?Spring Security는 Java 애플리케이션을 위한 강력하고 커스터마이징이 가능한 보안 프레임워크이다. 이 프레임워크는 웹 애플리케이션의 보안을 강화하는 데 필수적이며, 인증(Authentication)과 인가(Authorization) 기능을 제공한다.2. 인증(Authentication)과 인가(Authorization) - 인증(Authentication)사용자가 누구인지 확인하는 과정으로 예를 들어, 로그인 시 사용자가 입력한 아이디와 패스워드가 맞는지 검증하는 것을 인증이라 한다.- 인가(Authorization)인증된 사용자가 특..
isNew() 메서드를 활용하여 select 쿼리를 방지하고 데이터 삽입 성능을 최적화하는 방법 1. Persistable 인터페이스란?JPA에서는 엔티티 객체의 상태를 관리하기 위해 다양한 방법을 제공한다. 그중 하나가 Persistable 인터페이스이다.이 인터페이스는 엔티티가 새로 생성된 상태인지, 아니면 이미 존재하는 상태인지를 판단하는 isNew() 메서드를 제공하며 오버라이드하여 사용이 가능하다.2. isNew() 메서드의 역할isNew() 메서드는 JPA가 엔티티의 상태를 결정하는 데 사용되며 return 값으로 true와 false 값을 반환할 수 있다. 만약 true를 반환한다면 JPA는 해당 엔티티를 새로운 것으로 인식하고 insert 쿼리를 수행하고 반대로 false를 반환하면, J..
최근에 주변에서 개발을 시작하려는 지인분들이 많아 Git과 Github에 대해 가이드를 적어보려 한다. Git과 Github에 대해 간략하게 설명하고 Git 이란? Git은 분산 버전 관리 시스템(DVCS)로, 개발자들이 소스코드의 변경 사항을 추적하고 협업할 수 있도록 도와주는 도구이다. 여러 개발자들이 서로 다른 브랜치에서 작업을 진행하고, 작업한 부분을 병합하는 것까지 원활하게 지원해 준다. GitHub이란? GitHub은 Git을 기반으로 하는 원격 저장소 호스팅 서비스로, 개발자들이 프로젝트를 공유하고 협업할 수 있는 온라인 플랫폼이다. 코드 리뷰와 이슈 트래킹, 프로젝트 관리 등의 부가 기능 또한 제공한다. 따라 해보기 1. Git 설치 Git 공식 홈페이지(https://git-scm.com..
오늘은 최근 지인들에게 많은 질문을 받고 있는 성능 최적화와 스케일링 전략에 대해 적어보려고 한다. 성능 최적화와 스케일링은 백엔드 개발에서 핵심적인 요소이다. 서비스의 성공 여부와 직결되는 이슈이기 때문에 꾸준한 최적화와 효율적인 스케일링 전략은 선택이 아닌 필수이다. 성능 최적화 전략 1. 캐싱 캐싱이란 반복적으로 사용되는 데이터나 계산 결과를 메모리에 저장하여 빠르게 액세스 할 수 있도록 하는 기법이다. 데이터베이스에 접근하는 데 시간이 많이 걸리는 작업일 경우, 캐싱을 사용하여 빈번하게 사용되는 데이터를 빠르게 가져올 수 있다. 예시로 Redis와 같은 인메모리 캐시 솔루션을 활용하여 조회 속도를 크게 향상 시킬 수 있다. 캐싱의 종류로는 아래와 같다. 1-1. 지역캐싱 (Local Caching..
마이크로서비스 아키텍처(MSA)는 작고 독립적인 서비스들의 집합으로 구성된 애플리케이션 구조이다 이번 포스팅에서는 마이크로서비스 아키텍처(Microservice Architecture)와 모놀리식 아키텍처(Monolithic Architecture)의 장단점을 비교하고, 각각 어떤 상황에서 각각이 적합한지에 대해 알아보겠다. 모놀리식 아키텍처 (Monolithic Architecture) 모놀리식 아키텍처는 전통적인 개발 방식으로 하나의 프로젝트에 모든 기능을 함께 포함한다. 이렇게 하면 코드 베이스가 커질수록 개발 및 배포에 복잡성이 증가한다. 아래는 모놀리식 아키텍처의 예시이다. 모놀리식 아키텍처의 경우 위의 그림과 같이 모듈단위로 쪼개는 것이 아닌 하나의 프로젝트로 전체 애플리케이션을 묶어서 개발하..
ControllerAdvice와 ExceptionHandler에 대해 @ExceptionHandler란? @ExceptionHandler란 Bean에서 발생하는 예외를 잡아 하나의 메서드에서 처리해주는 어노테이션이다. ExceptionHandler 어노테이션에 설정한 예외가 발생한다면 해당 handler가 작동하며 어노테이션 옆에 value 값을 줘서 캐치할 예외를 설정해 줄 수 있다. ( 여러 예외를 한 곳에 넣을 수도 있다 ) 해당 내용은 아래의 코드를 통해 확인해보자 @RestController public class ExceptionController { // 한개만 설정할 경우 @ExceptionHandler(NullPointerException.class) public String allExc..