반응형

java 5

[Java] 자바 자료구조 백엔드에서 어떻게 사용할까? (List)

백엔드 개발에서 많이 사용하는 자료구조는 List라고 생각합니다 주로 게시글 목록,조회 결과,API 응답 데이터 등 여러 데이터를 순서대로 다뤄야 하는 상황에서 사용됩니다여기서 List를 왜 사용하고 어떤 구현체를 통해 구현했는지에 대해 알아보고자 합니다 Spring 기반 프로젝트에서 List를 어떤 기준으로 사용했는지에 대해서 작성합니다1. 백엔드에서 List를 사용하는 상황프로젝트에서 List 자료구조는 다음과 같은 상황에서 주로 사용한다 - DB 조회 결과 저장- REST API 응답 데이터 구성List posts = postRepository.findAll();해당 상황에 대한 공통점은 데이터가 여러 개이며 순서가 중요하고 중복을 허용하는 데이터인 경우가 많았다이 조건을 만족하는 자료구조는 Li..

Back-end/Java 2026.01.08

[Spring] Spring Boot + MySQL 연동 & JPA 활용 심화 (2)

이전 포스팅에서 Spring Boot와 MySQL 연동하여 프로젝트 실행 후 출력되는 로그에 대해서 살펴봤다면 이번에는JPA를 실제 프로젝트에서 어떻게 사용되고 활용하는지에 대해서 작성해보려고 합니다 이번 글에서는 간단한 게시판 프로젝트를 예제로 사용하여 설명합니다엔티티 설계 방식엔티티는 DB 테이블과 매핑되는 클래스로 @Entity 어노테이션이 붙은 객체를 의미한다Spring에서는 JPA를 사용할 때 DB 테이블을 자바 클래스로 설계하고 관리하기 위해 주로 사용된다 그런데 엔티티를 "테이블을 자바 클래스로 옮긴 것" 정도로 생각하기 쉬운데 실제로는 JPA가 상태를 관리하는 객체 입니다JPA는 엔티티를 영속성 컨텍스트에 올려두고, 트랜잭션 동안 엔티티의 상태 변화를 추적하여 커밋 시점에서 필요한 SQL을..

Back-end/Spring 2026.01.03

[Spring] Spring Data JPA 어노테이션 정리 (초기화 전략,연관관계,Repository)

Spring의 대표적인 ORM Spring Data JPA에 대해서 작성해보려고 합니다 먼저 ORM은 객체 지향 프로그래밍 언어의 객체와 관계형 데이터베이스의 테이블 간의 데이터를 자동으로 변환해 주는 기술입니다 간단하게 말하면 DB의 테이블을 클래스 형태로 표현하고 이를 자동을 테이블에 매핑 해주는 기술이라고 보면 됩니다 이게 되게 편리하다고 느끼는 부분이 직접 SQL을 통해서 테이블을 정의하지 않고 클래스 형태로 정의가 가능하기 때문에 훨씬 간편하고 가독성도 되게 좋다고 느끼고 있습니다 또한 기본적인 쿼리문(CRUD)도 지원하고 쿼리메서드도 지원하고 있어 메서드의 이름을 통해서 쿼리문 역할을 할 수 있도록 구현하기도 합니다JPA(Java Persistence API)자바에서 객체와 관계형 데이터베이스..

Back-end/Spring 2025.11.06

[Spring] Java 제네릭과 람다 개념 정리 및 Service 계층 활용 예제

Java는 꾸준히 발전하면서 개발자가 더 안전하고 간결한 코드를 작성할 수 있도록 새로운 기능을 도입해 왔습니다대표적으로 Java 5에서 추가된 제네릭(Generic), Java 8에서 도입된 람다(Lambda) 입니다 이러한 제네릭과 람다를 Spring에서 어떻게 활용되고 왜 사용하는지 알아보려고 합니다1. 제네릭 (Generic) 제네릭(Generic)은 클래스나 메서드가 사용할 타입을 파라미터처럼 일반화하여 다룰 수 있도록 해주는 문법입니다 제네릭은 Java 5에서 처음 도입된 기능입니다 그 이전에는 List, Map과 같은 자료구조 컬렉션을 사용할 때 타입 안정성이 보장되지 않았습니다 List에 문자열과 정수를 동시에 넣을 수 있었으며 값을 꺼낼 때는 무조건 Object 타입으로 반환되기 때문에..

Back-end/Spring 2025.09.23

[IT언어] 프로그램과 프로그래밍 (Programming)

프로그래밍은 프로그램을 만드는 것을 뜻하는데 우리는 주로 코딩을 한다고 말한다 그리고 이 프로그래밍을 통해서 프로그램을 만드는 직업을 개발자라고 한다 프로그램-컴퓨터가 수행할 작업을 순서대로 기술해놓은 것을 의미한다 -어떤 문제를 해결하기 위한 처리 방법과 순서 프로그래밍 언어프로그램을 만드는데 사용되는 언어(C,C++,C#,Java,Python)

IT 용어 정리 2022.07.22
반응형