목록분류 전체보기 (47)
우당탕탕
코딩 무작정 따라 하기코딩 무작정 따라 하기 시리즈 안내안녕하세요!이 게시판에서 코딩 무작정 따라하기 시리즈를 시작하게 되었습니다. 이 시리즈는 개발에 대한 기초 지식이 없는 초보자부터 어느 정도 경험이 있는 중급 개발자까지, 누구나 쉽게 따라 할 수 있는 실습 중심의 콘텐츠로 구성될 예정입니다.시리즈 개요기본적으로 Spring Boot와 Java를 활용하여 개발을 진행할 계획이며, 프로젝트에 따라 사용되는 기술 스택은 달라질 수 있습니다. 각 편에서는 실제 프로젝트를 단계별로 구현하며, 최종 목표는 하나의 완성된 프로젝트를 만드는 것입니다.나의 개발 여정제가 처음 개발을 시작할 때, 이론적인 내용이 지루하고 재미가 없었던 기억이 있습니다. 그래서 무작정 코딩을 따라 하며 배우는 경험이 매우 유익했습니다..
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..
String, StringBuilder, StringBuffer 뭐가 다른 걸까? String String 클래스는 문자열을 불변(immutable)하게 처리한다. 한 번 생성된 문자열은 변경할 수 없으며, 문자열 연산 시에는 새로운 객체를 생성하게 된다. 이로 인해 메모리 소모가 크게 발생할 수 있으니 문자열 연산이 많은 경우에는 StringBuilder 또는 StringBuffer사용을 권장한다. StringBuilder StringBuilder는 가변(mutable)한 특성을 가지고 있어 문자열을 동적으로 변경할 수 있다. 문자열 연산을 효율적으로 처리할 수 있어 성능상의 이점이 있지만, StringBuilder의 경우 단일 스레드 환경에서 안전하지 않기 때문에 멀티스레드 환경에서 사용할 때에는 동..
Cause: java.sql.SQLDataException: Cannot determine value type from string DTO 내부에 생성자 미존재로 나오는 에러 해결법 @NoArgsConstructor @AllArgsConstructor public class sampleDto { private String something; } @NoArgsConstructor / @AllArgsConstructor 어노테이션을 상황에 따라 사용해서 해결
낙관적 락, 비관적 락에 대해 JPA를 사용하여 데이터베이스와 연결된 애플리케이션을 개발할 때, 동시성 처리와 관련된 이슈가 발생할 수 있다. 이러한 이슈를 해결하기 위한 방법 중 하나는 락(lock)을 사용하는 것이다. 이번 포스팅에는 낙관적 락과 비관적 락에 대해 알아보고, 예제코드와 이를 사용하는 이유 및 장단점을 함께 써보겠다. 낙관적 락(Optimistic Lock) 낙관적 락은 충돌이 거의 발생하지 않을 것이라고 가정하고, 충돌이 발생한 경우에 대비하는 방식이다. 낙관적 락은 JPA에서 버전(Version) 속성을 이용하여 구현할 수 있다. 낙관적 락의 특징으로는 충돌 발생확률이 낮고, 지속적인 락으로 인한 성능저하를 막을 수 있다. 아래는 예시 코드이다. 1. Entity @Entity pu..