일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Animation
- MSSQL
- 애니메이션
- 함수
- React JS
- 깃허브
- MS-SQL
- 닷넷
- 플러터
- GitHub
- 리엑트
- 마우이
- .NET
- Maui
- listview
- db
- Firebase
- AnimationController
- 파이어베이스
- spring boot
- Binding
- typescript
- 바인딩
- MVVM
- 자바스크립트
- Flutter
- 오류
- page
- JavaScript
- HTML
- Today
- Total
목록분류 전체보기 (246)
개발노트
쿼리 메소드.Spring Data JPA에서 사용할 수 있는 쿼리 메서드의 종류와 각각의 의미를 설명하겠습니다. 쿼리 메서드는 메서드의 이름을 기반으로 Spring Data JPA가 자동으로 쿼리를 생성하여 실행하는 기능을 제공합니다. 아래는 일반적으로 사용되는 쿼리 메서드들과 그 의미를 설명한 것입니다:기본 쿼리 메서드:Spring Data JPA는 JpaRepository 인터페이스를 상속받은 Repository에서 기본적인 CRUD(Create, Read, Update, Delete) 기능을 제공합니다. 예를 들어, save, findById, findAll, deleteById 등의 메서드가 포함됩니다.조건에 따른 검색 메서드:엔티티의 특정 필드 값을 기준으로 조건에 따라 검색하는 메서드입니다.예..

Infinite recursion (무한 재귀) 무한 재귀, 이 오류는 객체 간에 서로 참조가 발생하여 끊임없이 서로를 호출하고 있기 때문에 발생합니다.가장 흔한 이유는 Hibernate의 엔티티에 양방향 참조가 있을 때 발생합니다. 예를 들어, 두 개의 엔티티가 서로를 참조하고 있고 이 참조가 순환적으로 연결되어 있으면 무한 재귀가 발생할 수 있습니다.이 문제를 해결하려면 다음과 같은 방법을 고려해 보세요:@JsonIgnore 애너테이션 사용: 엔티티 클래스의 일부 필드에 @JsonIgnore 애너테이션을 사용하여 해당 필드가 직렬화되지 않도록 만듭니다. 이 방법은 무한 재귀를 방지하는데 유용합니다.@JsonIgnore private MixType mixType;@JsonManagedReference..

Java 에서 "_" 언더바 사용은 아래와 같은 문제를 불러옵니다.Naming Conventions: Java의 명명 규칙(Naming Conventions)은 카멜 표기법(Camel Case)을 따릅니다. 즉, 변수 이름은 소문자로 시작하고, 여러 단어가 결합될 때는 각 단어의 첫 글자를 대문자로 표기합니다. 이러한 명명 규칙을 따르지 않으면 코드의 가독성이 떨어지고, 표준에 맞지 않는 코드로 인식될 수 있습니다.키워드와의 충돌: 언더바(_)는 Java에서 특별한 용도로 사용되는 문자가 아니기 때문에 문법적으로는 문제가 없지만, 키워드와의 충돌이 발생할 수 있습니다. 예를 들어, 변수 이름으로 **int _value;**와 같이 언더바를 사용하면 일부 상황에서 코드를 해석하는 데 혼란을 줄 수 있습니다..

application.yml 적용순서프로젝트 구조 확인: 먼저 Spring Boot 프로젝트의 구조를 확인하세요. src/main/resources 디렉터리 내에 application.yml 파일을 위치시켜야 합니다.애플리케이션 실행 시 로드: Spring Boot 애플리케이션을 실행할 때 application.yml 파일이 자동으로 로드됩니다. 이 파일에 정의된 설정은 애플리케이션에 적용됩니다.프로파일 설정: application.yml 파일은 여러 프로파일에 따라 설정을 구성할 수 있습니다. 예를 들어, application-dev.yml 또는 **application-prod.yml**과 같이 환경에 따라 다른 설정을 제공할 수 있습니다. 애플리케이션 실행 시 프로파일을 지정하여 해당 프로파일에 따..

API 서버 http 통신에 riverpod을 이용하여 상태관리 하도록 만들어 보겠습니다.이번 시간에는 AsyncNotifierProvider와 http의 GET, POST, DELETE (CRUD) 를 같이 사용하여 어떻게 상태관리 할 수 있는지 포스팅 해보겠습니다.JPA의 save() 메소드로 upsert가 가능하기 때문에 update 즉, PUT는 생략하겠습니다.[구현할 기능 시나리오]1. 재료 리스트 화면으로 네이게이션되었을 때 findAll() 로 모든 재료를 받아 ListView의 ListTile에 맵핑합니다.2. 재료가 담긴 ListTile 을 클릭했을 때 해당 재료의 식별ID로 조회하여 하단 시트가 올라오며, 시트에 정보를 가져옵니다.3. ListTile 클릭으로 Bottom..

DB - API Server - Client App (MySQL - Spring Boot - Flutter) 연동완료.! 우선 3가지의 연동을 직접 작성하고 눈으로 확인하며, Client Application이 서비스되는 흐름을 조금 더 선명하게 볼 수 있게 되었다. 아직 CI/CD는 구축하지않았지만 앱 완성도를 높이는 것에 집중하고 그다음에 하는 것을 목표로 해야겠다. 이제부터가 내가 생각한 아이디어를 앱에 그려보는 시간이 될 것이라고 생각된다. 필요한 화면을 Flutter로 만들고, 만든 화면에 필요한 데이터를 Spring Boot Conttroller에 추가하며 호출하고, 추가적으로 필요한 데이터가 생기면 칼럼, 테이블 수정,추가 등 MySQL로 관리하면 되겠다. 앞으로 할일 API 서버 보안을 위..

JPA를 이용하여 삽입, 조회, 수정, 삭제 등 API 호출 기능을 만들어 보겠습니다. 여기에 ResponsEntity를 이용하여 http 상태코드에 따른 응답도 만들어봅니다. 만들어볼 기능들 예시로 사용될 Ingredient 모델과 리포지토리 Ingredient.java (Model) package com.homebar.apiserver.model; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @Entity //어노테이션이 있으면 Getter,Setter 자동 생성 @..
Optional 자바 개발자라면 누구나 한 번쯤 NullPointerException(NPE) 문제를 직면하게됩니다. 이런 문제를 해결하기 위한 방법 중 하나가 Optional입니다. NullPointerException을 방지하려면 모든 객체 참조에 대해 null 체크를 수행해야 합니다. 이는 코드를 복잡하게 만들고 가독성을 해치며 실수를 유발할 수 있습니다. Optional은 이 문제에 대한 해결책을 제공합니다. Optional은 값이 존재하지 않을 수 있는 상황을 고려하여 설계된 컨테이너 클래스입니다. Optional로 객체를 감싸고, 값이 존재하지 않을 때 NPE를 방지할 수 있습니다. Optional을 사용하는 이유 명시적인 Null 처리: Optional은 값이 없을 때 명시적으로 처리할 수 ..

JPA로 Data를 가져오기 위한 어노테이션 종류와 함께, 폴더구조(Model - Repository - Service - Controller)와 관계에 대해서 알아봅니다. 최종적으로 엔드포인트로 JSON 데이터를 가져오는 것을 예제로 만들어보겠습니다. 예제는 JPA의 findAll() 메소드를 통해 DB에 있는 Ingredient 테이블에서 모든 재료 데이터를 가져옵니다. 폴더 구조. 구조 설명. Model: 역할: 데이터 모델이나 엔티티 클래스를 정의하는데 사용됩니다. 특징: 모델은 애플리케이션에서 사용되는 데이터의 구조를 정의합니다. DB 테이블(@Table)의 엔터티(@Entity)를 표현하고, 클라이언트와 서버 간의 데이터 교환에 사용됩니다. 주로 Java Beans 규칙을 따르며, 필드, 게터..

1. MySQL 연결과 JPA 사용을 위해 아래와 같이 dependency 를 설정해줍니다. build.gradle org.springframework.boot:spring-boot-starter-data-jpa: Spring Data JPA를 사용하여 데이터베이스와 상호 작용하기 위한 스타터 의존성입니다. JPA(Java Persistence API)를 사용하여 객체-관계 매핑(ORM)을 할 수 있게 해줍니다. org.springframework.boot:spring-boot-starter-web: Spring Web을 위한 스타터 의존성입니다. Spring MVC를 사용하여 웹 애플리케이션을 구축할 수 있게 해줍니다. mysql:mysql-connector-java: MySQL 데이터베이스와의 연결을..