일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- extjs
- Store
- EFCore
- Request
- intellij
- JavaScript
- 상속
- .net
- mac
- 스냅잘찍음
- extraParams
- scanner
- 에스가든스냅
- vscode
- lazy loading
- c#코딩의기술실전편
- 명시적외래키
- Config
- error
- c#
- LINQ
- 대전본식영상
- ORM
- 라도무스dvd
- 코드프로그래머스
- JSON
- dbContext
- React
- ViewModel
- minimalAPI
- Today
- Total
목록BackEnd (121)
ejyoo's 개발 노트
.java 확장자를 가진 파일에 직접 코드를 작성하고 프로젝트 런을 돌리면 '빌드'라는 과정을 거치게 된다. 빌드는 여러 과정이 있지만 대표적으로 Java 컴파일러가 '컴파일' 하는 과정이다. .java 파일을 Java 컴파일러(Javac) 는 .java 파일을 받아서 바이트 코드로 변환하고 , 그 결과를 .class 파일로 저장하는데, 이 바이트 코드는 JVM (Java Virtual Machine) 에서 실행하게 된다. 그렇다면 코드를 수정하고 빌드를 일일히 돌리는게 아니라 자동화 할 수 없을까? 자동화하는 방법, 그것은 바로 Spring Boot에 devTools를 사용하면 된다. 그러면 코드를 수정할 때, 자동으로 빌드를 돌리게 되어 최신의 코드를 class파일로 만들 수 있다. 이를 위해서는 몇..
본 글은 spring boot 기반의 Java 프로젝트를 처음 접하면서 build.gradle라는 파일에 들어가는 Gradle 빌드 스크립트에 대해서 정리하였다 plugins { id 'java' id 'org.springframework.boot' version '3.1.4' id 'io.spring.dependency-management' version '1.1.3' } repositories { mavenCentral() // 중앙 Maven 저장소 사용 지시 (Maven Central Repository) } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { comp..
숨겨진 이야기 C#을 하던 내가 스프링 부트를 해보겠다고 환경을 구성하고 있었는데, 인텔리제이로 하고싶었지만, 모든 서비스가 유료로 알고있었다. 그래서 VSCode로 Maven 환경설정을 꾸역꾸역 하고있었다. 그런데 어떤분께서 인텔리제이 커뮤 버전은 무료라고 알려주셔서 인텔리제이를 쓰게됐다!! 반갑다! 인텔리제이야!!! 잘해보자!! 인텔리제이 커뮤니티 버전 설치 https://www.jetbrains.com/idea/download/?section=mac Download IntelliJ IDEA – The Leading Java and Kotlin IDE Download the latest version of IntelliJ IDEA for Windows, macOS or Linux. www.jetbra..
* 코드 자동정렬 Option + Command + L * 소스 영역 최대화 Command + 1 * 빌드 (디버그) Ctrl + D * 코드 추천 Option + Enter
VSCode에서 Command + J 하여 터미널 연 뒤 메이븐 설치 brew install maven 메이븐 한번 더 설치한 뒤, 이 문구가 뜨면, 설치가 완료된 것임
EF Core 쿼리를 작성한 뒤 클라이언트로 객체를 뿌렸는데, 객체 안에 데이터가 없어서 왜 없는지 알기 위해 EF Core 쿼리에 대해 조사를 하여 정리하려고 한다. 먼저 EF Core 쿼리를 실행하려면 아래의 절차가 존재해야 한다. 1) 쿼리생성 2) 쿼리실행 내가 지금 문제되었던 것은 쿼리를 생성만 하고 실행을 하지 않아서 발생한 것이였다. 예를 살펴보자. var resultData = context.A; context.B; 위의 코드의 경우 resultData는 A 테이블의 모든 데이터를 포함하는 쿼리를 나타낸다. 하지만 이 쿼리는 실행되지 않는다. 쿼리의 결과로 실제 데이터를 가져오려면 ToList(), ToArray(), Single(), First() 등의 메서드를 사용해야 한다. var r..
자료조사 이유 EF Core DbContext를 조회할 때, 따로 조회했음에도 불구하고 참조관계가 설정되어있다면 자동으로 붙어서 결과가 출력되었다. 이 원리가 무엇이고 내부에서 어떤 규칙으로 인해 이러한 결과가 나오게 되었는지 궁금해져서 조사를 통해 현상을 정리하고자 한다. 현상에 대한 정의 먼저 현상에 대한 정의는 아래와 같다 1. A, B 테이블이 있다. 2. A는 부모테이블 B는 자식테이블로 B는 A를 참조하고 있다. var aData = Context.AEntity.Where(x => x.IsValid).ToList(); Context.BEntity.Where(x => x.IsValid).ToList(); 이와 같이 DbContext에서 A 테이블과 B 테이블을 따로 조회했을 때 aData에 B테..
EF Core 에서 DBContext를 사용하여 데이터를 조회할 때, 아래의 경우가 있다. 1) 조인하여 한번에 조회 2) 따로 따로 조회 3) DbContext로 각각 접근하여 조회 위의 방법을 통해서 데이터를 조회하게 되는데, EF Core의 어떤 기준에 의해 저런 방법을 사용하여 데이터를 조회하는지 궁금하여 정리를 해보았다. EF Core (Entity Framework Core)에서 데이터를 로딩하는 방식에는 크게 세가지 방법이 있다. 1. 지연로딩 (Lazy Loading) 2. 즉시 로딩 (Eager Loading) 3. 명시적 로딩 (Explicit Loading) 1. 지연 로딩 (Lazy Loading) 지연로딩은 연관된 엔터티나 컬렉션에 처음 접근할 때 실제 데이터가 로드되는 방식이다...
지난시간 회고 * API 만들고 스웨거 API 뷰어로 보기 -- * 실제 DB 연동 - appsetting 설정 * 도커 설치 - 이미지 다운 - 컨테이너 올리고 - 도커돌리기 - db 서버 실행 * 도커 설정 docker 관련 yml * docker compose up -d : 백그라운드에서 설정된 도커 정보를 실행하겠다. * postman 으로 만든 api를 실행시켜 테스트 한다 / 또는 swagger -- ** front 와 연동할 login api를 만듬 // login api app.MapGet("/login", (HttpContext context) => { return true; }); * 닷넷 빌드 및 닷넷 런 하여 실행 * postman에서 주소 입력하고 실행 * *인증위한 쿠키 설정 *..
C# 의 Minimal API 는 .NET 6.0의 기능으로 API 엔트포인트를 만들 때 필요한 준비 작업을 최소화하고 개발자의 생산성을 향상 시키는 것을 목표로 한다. 주로 작은 서비스나 단일 페이지 애플리케이션 (Single Page Application, SPA) 나 마이크로 서비스 아키텍처에서 사용된다. C#의 Minimal API 는 주요 핵심 개념이 있다. 1. 익명 람다(Lambda) 함수 Minimal API 는 익명 람다 함수를 사용하여 API 끝점(endpoints) 를 정의하고 이로인해 간결하게 API 를 작성할 수 있다. 이러한 함수는 일반적으로 app.Map[HTTP 메소드]의 형태로 작성된다. 예를 들어, HTTP GET 요청을 처리하는 API 끝점은 app.MapGet 함수를 ..