Development (155) 썸네일형 리스트형 [Spring] 빌드 관리 도구,Gradle과 Maven 빌드 관리 도구 빌드 관리 도구는 소스 코드에서 실행 가능한 애플리케이션을 자동으로 생성하는 데 도움을 주는 프로그램입니다. 이름에서 알 수 있듯이, 이는 다양한 작업을 개발하거나 스크립팅하는 데 중요합니다. 빌드 관리 도구는 다음과 같은 프로세스에 필요합니다. 빌드 툴은 임의의 명령을 실행합니다: 각 배포 시나리오는 독특하며, 각자가 파일을 다른 폴더로 복사하거나, 다른 형식으로 압축하거나, 다른 방식으로 정리해야 할 필요가 있습니다. 한 명령의 결과를 다른 명령에 적용합니다: 빌드는 거의 항상 여러 단계의 과정입니다. 소스 코드에서 문서를 생성합니다 . 소스 코드를 컴파일합니다 수집된 코드를 JAR 파일로 패키징합니다 패키지된 코드를 로컬/중앙 리포지토리 또는 서버에 설치합니다. 빌드 관리 도구에는 .. [Spring] Spring Data JPA에서 getReferenceById vs findById (지연로딩과 즉시로딩) Spring Data JPA로 데이터의 조회를 구현할 때, 사용할 수 있는 메서드중, getReferenceById와 findById 두 메서드가 있습니다. 이 글에서는 이 둘의 차이점을 비교해보려 합니다. getRefereceById (구: getOne(ID), findOne(ID), getById(ID)) 내부적으로 EntityManager의 getReference() 메서드를 호출합니다. getReference() 메서드를 호출하면 Proxy 객체를 리턴합니다. 실제 쿼리는 Proxy 객체를 통해 최초로 데이터에 접근하는 시점에 실행됩니다. (지연 로딩(Lazy Loading)) 이때 데이터가 존재하지 않는 경우에는 EntityNotFoundException이 발생합니다. 아래는 실제 구현체 코드입.. [Spring] DAO (Data Access Object), DTO (Data Transfer Object) DAO(Data Access Object) 데이터베이스에 접근하기 위한 로직을 관리하기 위한 객체 비즈니스 로직의 동작 과정에서 데이터를 조작하는 기능은 DAO 객체가 수행함 단, Spring Data JPA에서 DAO의 개념은 Repository(레포지토리)가 대체 규모가 작은 서비스에서는 DAO를 별도로 설계하지 않고 바로 서비스 레이어에서 데이터베이스에 접근해서 구현하기도 함 하지만 DAO를 서비스 레이어와 리포지토리 중간 계층을 구성하여 사용하면, 비즈니스 로직을 개발할 때 유지보수 측면에서 용이한 경우가 많음 서비스와 비즈니스 레이어 객체지향적인 설계에서는 서비스와 비즈니스 레이어를 분리해서 서비스 레이어에서는 서비스 로직을, 비즈니스 레이어에서는 비즈니스 로직을 수행해야 한다는 의견이 많다. .. [Spring] Spring Data JPA, Repository Spring Data JPA Spring Data JPA는 JpaRepository를 기반으로 더욱 쉽게 데이터베이스를 사용할 수 있는 아키텍처를 제공 Springboot로 JpaRepository를 상속하는 인터페이스를 생성하면, 기존의 다양한 메소드를 손쉽게 활용할 수 있음 Repository Spring Data JPA가 제공하는 인터페이스 엔티티가 데이터베이스의 테이블과 구조를 생성하는 데 사용했다면, 리포지토리(Repository)는 엔티티가 생성한 데이터베이스에 접근하는 용도로 사용 리포지토리를 생성하려면 테이블과 엔티티에 대한 인터페이스를 생성하고, 아래 코드와 같이 JpaRepository를 상속받으면 됨 package org.spring.study.data.repository; impor.. 유튜브 영상과 논문을 요약해주는 AI, Lilys AI (블로그 글도 써줌 ㄷㄷ;) Lilys AI https://lilys.ai/home 유용한 AI 사이트를 발견해서 작성합니다. Lilys AI인데, 유튜브 영상, PDF를 분석하여 요악 노트를 작성해주거나, 블로그로 작성해주는 기능도 수행합니다. 저는 아래 '쉬운코딩' 채널의 동영상 하나를 넣어보겠습니다. https://www.youtube.com/watch?v=aL0XXc1yGPs&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe&index=1 아래와 같이 요약을 해주는데요 ! 동영상의 소리를 분석하여 타임스탬프 별 요악 노트, 스크립트, 블로그 글, 심지어 동영상 내용의 관한 대화까지 가능합니다. 어 잠깐 영상 캡처는 저작권의 이슈가 있지 않나..? https://www.a-ha.io/questions/47.. [String] [한양대 HCPC 2023] X marks the Spot Java 풀이 ( + 시간 초과 해결) https://softeer.ai/practice/7703 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai문제 풀이법'X' 또는 'x'의 위치는 유일하므로 for 문 순회하면서 문자를 찾음(charAt() 사용), 찾으면 breakCharacter.toUpperCase()를 사용하여 소문자를 대문자 변경시간 초과 해결처음엔 answer 라는 스트링에 + 연산으로 문자들 하나씩 이어 붙이고, System.out.println()으로 출력을 했는데3초 이상의 시간이 걸리길래..BufferedWriter를 사용했더니 0.xxx 초 대로 빨라졌다. 코드import java.io.*;import java.util.*;public class Main { public static void .. [Array] Softeer(소프티어) level 3 우물 안 개구리 Java 풀이 https://softeer.ai/practice/6289 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai문제 풀이법 입력 데이터 준비:첫 번째 입력 줄에서 무게의 개수와 친구 관계의 수를 입력받아 numOfWeight와 numOfFriend 변수에 저장합니다.무게를 저장할 arrOfWeight라는 크기 (numOfWeight + 1)의 int 배열과, 각 친구가 최고 무게를 기록할 가능성이 있는지를 나타내는 isBest라는 boolean 배열을 생성합니다. isBest 배열은 모든 인덱스를 true로 초기화합니다. (인덱스를 1부터 사용하기 위해 배열 크기를 하나 더 크게 설정합니다.)무게 입력 받기:두 번째 입력 줄에서 각 무게를 읽어와 arrOfWeight 배열에 저장합니다.친.. [Greedy] Softeer(소프티어) level 2 진정한 효도 Java 풀이 https://softeer.ai/practice/7374 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai 문제 풀이 방법1. 입력 처리 및 데이터 저장3×3 크기의 땅 높이 정보를 입력받아 ground라는 2차원 배열에 저장합니다.2. 각 행에 대한 비용 계산:해당 행의 세 개의 높이를 row 리스트에 추가합니다.row 리스트를 오름차순으로 정렬합니다.만약 세 높이가 모두 같다면 (row.get(0) == row.get(2)), 이미 평탄하므로 비용은 0이며, 프로그램을 종료합니다.그렇지 않다면, 가장 큰 높이로 다른 두 높이를 맞추는 데 필요한 비용을 계산합니다:currentCost = (row.get(2) - row.get(0)) + (row.get(2) - row.get(1).. 이전 1 ··· 10 11 12 13 14 15 16 ··· 20 다음 목록 더보기