일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- .NET
- spring boot
- 오류
- Flutter
- Animation
- MS-SQL
- Maui
- 깃허브
- JavaScript
- HTML
- 닷넷
- Binding
- 마우이
- listview
- GitHub
- 애니메이션
- 바인딩
- typescript
- 리엑트
- MSSQL
- 함수
- page
- MVVM
- Firebase
- React JS
- 파이어베이스
- db
- 플러터
- AnimationController
- Today
- Total
목록서버 개발 (33)
개발노트

ASP .NET Core를 사용하여 RESTful API를 구축하고, Dapper를 사용한 SQL Server와의 데이터베이 이 API는 사용자를 생성, 조회, 수정, 삭제하는 기능을 제공합니다. 목표:C#과 .NET을 사용하여 서버를 구축Dapper를 활용한 데이터베이스 접근 (SQL Server와 연결)RESTful API로 CRUD 작업을 제공하는 Users 관리 시스템 구축주요 컴포넌트: Controller: 사용자 관리 API (CRUD 작업) UsersController에서 HTTP 요청을 받아 사용자 데이터를 처리하고 반환 Repository: Dapper를 사용하여 SQL Server에서 데이터를 조회하고 관리 비동기 방식으로 데이터베이스와 통신하여 효율적으로 처리 Model: Users ..

1. ASP .NET Core 프로젝트 만들기(with Web API)2. 프로젝트 빌드 시, 크롬에서 아래 처럼 뜬다면 3. chrome://flags/ 에 들어가서 아래 설정을 사용가능으로 변경, 잘나옴 Dapper 사용을 위해 아래 2개 누겟 설치RabbitMQ 설치이제 내가 사용할 DB를 연결해서 보여주자 4. 연결할 DB 만들기 uesrs라는 테이블을 갖는 sunppy DB를 만들고 레코드를 넣어줌(MS-SQL 사용) appsettings.json 에 내 DB Connection 정보 등록
메시지 큐 흐름도Client → Producer : 메시지 요청 Producer → Exchange (Routing Key 사용) → Queue (Binding Key 기준 라우팅)Queue → Consumer (라운드 로빈으로 분배)Consumer: 메시지 처리 후 ACK 전송기본 개념 정리Exchange (교환기):Producer 가 발행한 메시지를 어느 큐로 전달할지 결정하는 역할을 합니다.Exchange는 메시지를 받아 특정 조건에 따라 큐로 메시지를 라우팅합니다.RabbitMQ에서는 여러 유형의 Exchange가 있으며, 가장 일반적인 유형은 다음과 같습니다:Direct Exchange: 특정 Routing Key를 가진 메시지를 해당 키와 일치하는 큐에 전달합니다.Topic Exchange: ..
분산처리에 들어가기 전 알아야할 용어들(급식에 비유)1. 로드 밸런싱 (Load Balancing)비유: 급식 줄에 줄 서기상황 설명: 급식 줄이 너무 길어서 한 번에 모든 학생들이 급식을 받기 어려운 상황입니다. 이때, 학생들이 자동으로 여러 줄로 나뉘어서 줄을 서게 하면 더 빨리 급식을 받을 수 있습니다. 이것이 로드 밸런싱입니다.내용: 로드 밸런싱은 네트워크 트래픽을 여러 서버에 분산시키는 기술로, 트래픽 부하를 균등하게 나누어 서버의 과부하를 방지하고, 고가용성을 제공합니다. 로드 밸런싱 방법은 다음과 같습니다.라운드 로빈 (Round Robin): 순서대로 각 서버에 요청을 배분합니다.최소 연결 (Least Connections): 현재 연결이 가장 적은 서버에 요청을 배분합니다.IP 해시 (I..

문제 발생: 아무런 수정이 없었으나 어노테이션 인식이 되지않음- 원인: Dependency 인식이 안되고있음해결방법1. File > Invalidate Caches 클릭 2. "Clear file system cache and Local History" 체크 3. build.gradle 를 빌드해줌 4. 문제 해결.! + 추가로 IDE 업데이트 후, 적용 후 재시작을 해주니 잘 되었습니다.

DTO.DTO(Data Transfer Object)는 데이터 전송을 위해 사용되는 객체로, 일반적으로 엔티티(Entity)의 일부 데이터를 전달하는 데 사용됩니다. DTO는 비즈니스 로직을 포함하지 않고, 순수하게 데이터를 전송하거나 전달하기 위한 용도로 설계됩니다.DTO의 특징데이터 전송 및 전달 용도: DTO는 주로 시스템의 다른 부분 간에 데이터를 전송하거나 전달하는 용도로 사용됩니다. 네트워크를 통해 클라이언트와 서버, 혹은 서버 간에 데이터를 주고받을 때 사용할 수 있습니다.데이터 전송 최적화: DTO는 엔티티의 일부 데이터만을 포함하므로, 전송할 데이터 양을 최적화할 수 있습니다. 이는 성능 향상과 데이터 사용량 절감에 도움이 됩니다.클라이언트 요구사항 대응: 클라이언트가 필요로 하는 특정 ..

Entity 관계설정과 JOIN 연결.Entity 관계는 데이터베이스의 테이블 간의 관계를 객체지향적으로 표현하고, JOIN은 이러한 관계를 이용하여 데이터를 효율적으로 조회하고 조합하는 기능을 제공합니다.JPA를 사용하여 Entity 관계를 정의하면 SQL을 직접 작성하지 않고도 객체 지향적으로 데이터를 다룰 수 있으며, 필요한 경우에는 JPA가 내부적으로 SQL을 생성하여 JOIN을 수행합니다.Entity 관계와 JOIN은 데이터베이스 모델링과 데이터 액세스 계층의 중요한 요소이며, 잘 정의된 관계와 효율적인 JOIN은 데이터베이스 성능과 코드 유지보수성에 긍정적인 영향을 미칩니다.따라서, Entity 관계설정으로 JOIN의 형태로 데이터를 조회할 수 있습니다.Entity 관계 예시.cocktail과..
쿼리 메소드.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;**와 같이 언더바를 사용하면 일부 상황에서 코드를 해석하는 데 혼란을 줄 수 있습니다..