이진 탐색은 배열 내부의 데이터가 정렬 되어 있어야만 사용할 수있는 알고리즘이다. 무작위일때 사용할수 있는 알고리즘이다. 이미 정렬되어있으면 빠르게 데이터를 찾을 수 있다는 것이 특징 이진 탐색은 위치를 나타내는 변수 3개를 사용하여 탐색하고자 하는 범위의 시작점, 끝점 그리고 중간점이다. 찾으려는 데이터를 중간점 위치에 있는 데이터를 반복적으로 비교해서 원하는데이터를 찾는게 이진 탐색이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class Binary_Search{ public static int binarySearch(..
세부적인 기능들 게시판, 댓글 도메인의 설계 도메인 데이터를 DB에 저장 JSON API 데이터 제공 사용자에게 웹화면 서비스 제공 + 디자인 요소 게시판 페이지 게시글 페이지 로그인 페이지 적절한 입출력 데이터 검증 인증 기능 생산성 도움이 되는 도구들 선택 깃 브랜치 운영하는 방법론 gitflow : master,develop,featre, release,hotfix 브랜치를 설정하고 운영하는 방식 gitfhubflow : main(master), feature 브랜치로만 운영하는 방식 브랜치 전략을 세우는 이유와 요령 하나의 프로젝트 소스코드를 여러 개발자가 다루면서 발생하는 각종 부작용을 해결하자 개발 협업을 원할하게 하기 위한 약속 전략을 세울때 고려할 수 있는 요소들 이 브랜치는 제품으로 내보..
1. 자바 공부 자바의 정석 이펙티브 자바 2. 알고리즘 공부 프로그래머스 문제 풀기 이것이 코딩테스트이다책 과 유튜브강의로 알고리즘 문제풀이법 연습 3. Spring 공부 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복(광주청년드림수당으로 구매) https://www.inflearn.com/roadmaps/149 https://www.inflearn.com/roadmaps/373 spring ,springbooot, springsecurity, jpa, querydsl 공부 자바 ORM 표준 JPA 프로그래밍책 구매 10개 프로젝트로 완성하는 백엔드 웹개발(Java/Spring) 초격차 패키지 4. 이론공부 정처기 실기 공부 웹 이론(http) 네트워크 자바 이론 각각의 기술들이 어떻게 동작하는..
plugins { id 'java' id 'org.springframework.boot' version '3.1.0' id 'io.spring.dependency-management' version '1.1.0' //querydsl 추가 id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } apply plugin: 'io.spring.dependency-management' apply plugin: "com.ewerk.gradle.plugins.querydsl" group = 'study' version = '0.0.1-SNAPSHOT' sourceCompatibility = '17' //17.0.3 configurations { compileOnly {..
public static Order crateOrder(Member member, Delivery delivery, OrderItem... orderItems){ } varargs 또는 가변인자라고 하며 OrderItem이 0개부터 여러개 까지 매개변수로 올수있는걸 뜻한다. 여러개의 매개변수를 받아서 사용할떄는 for문을 사용하고 항상 배열로 매개변수를 담지 않아도 된다. 대신 항상 마지막에만 쓸수있다.
엔티티에는 가급적 Setter를 사용하지 말자 Setter가 모두 열려 있고 변경포인트가 많아서 유지 보수가 어렵다. 모든 연관관계는 지연로딩으로 설정 즉시로딩은 예측이 어렵고, 어떤 SQL이 실행될지 추적하기 어렵다. 특히 JPQL을 실행할때 N+1 문제가 자주 발생한다. 실무에서는 모든 연관관계는 지연로딩(LAZY)으로 설정해야한다, 연관된 엔티티를 함께 DB에 조회해야 하면, fetch join 또는 엔티티 그래프 기능을 사용한다, @XTOOne(OneToOne, ManyToOne)관계는 기본이 즉시로딩이므로 직접 지연로딩으로 설정해야한다, 컬렉션을 필드에서 초기화 하자 컬렉션은 필드에서 바로 초기화 하는 것이 안전하다. null 문제에서 안전하다. 하이버네이트는 엔티티를 영속화 할 때, 컬랙션을 ..
문제 설명 정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10,000 1 ≤ numlist의 원소 ≤ 10,000 1 ≤ numlist의 길이 ≤ 100 numlist는 중복된 원소를 갖지 않습니다. 문제풀이 1 import java.util.*; class Solution { public int[] solution(int[] numlist, int n) { // 거리와 원소를 저장하는 Map 생성 Map distanceMap ..