profile
다시 시작합니다.

[스프링부트핵심가이드] 10. 유효성 검사와 예외 처리

유효성 검사로 인해 코드가 복잡해지고 가독성이 떨어질 수 있다. 이런 문제를 극복하기 위해 자바는 Bean Validation이라는 유효성 검사 프레임워크를 제공한다. Bean Validation은 어노테이션을 통해 유효성 검사를 위한 로직을 DTO 같은 도메인 모델과

3일 전
·
0개의 댓글
·

[스프링부트핵심가이드] 09. 연관관계 매핑

연관관계 매핑의 종류는 다음과 같다.One To OneOne To ManyMany To OneMany To Many엔티티 간 참조 방향은 단방향과 양방향이 있을 수 있다.단방향 : 두 엔티티의 관계에서 한쪽의 엔티티만 참조하는 형식양방향 : 두 엔티티의 관계에서 각 엔

2023년 11월 19일
·
0개의 댓글
·

[스프링부트핵심가이드] 08. Spring Data JPA 활용

JPQL은 JPA Query Language로 JPA에서 사용할 수 있는 쿼리를 의미한다. JQPL은 엔티티 객체를 대상으로 하기 때문에 매핑된 엔티티의 이름과 필드의 이름을 사용한다.리포지토리에서 간단한 메서드는 제공하지만 좀 더 복잡하거나 내가 필요한 대로 조정하기

2023년 11월 12일
·
0개의 댓글
·

[스프링부트핵심가이드] 06. 데이터베이스 연동

ORM은 객체와 관계형 데이터베이스의 테이블을 자동으로 매핑하는 방법이다. ORM을 통해서 쿼리문 작성이 아닌 코드로 데이터를 조작할 수 있다.ORM 장점 \- ORM을 사용하여 쿼리를 객체지향적으로 조작할 수 있다.재사용 및 유지보수가 편리하다.데이터베이스에 대한

2023년 11월 5일
·
0개의 댓글
·

[스프링부트핵심가이드] 05. API를 작성하는 다양한 방법

controller패키지 내 컨트롤러 기능을 구현할 클래스를 만든다. 클래스에 @RestController를 붙인다. 클래스에 '@RequestMapping("/api")'를 붙이면 클래스 내 사용할 메서드에서 사용할 공통 URL로 '/api'를 사용할 수 있다.5.2

2023년 10월 29일
·
0개의 댓글
·

[스프링부트핵심가이드] 04. 스프링부트 애플리케이션 개발하기

프로젝트 생성 방법에는 Intellij를 통해서 생성하는 방법과, 스프링 공식 사이트(https://start.spring.io)에서 생성하는 방법 두가지가 있다.프로젝트 생성 시 스프링 부트 버젼과 JVM 버젼을 각각 선택 가능하며, 자바 빌드 도구로 Mav

2023년 10월 29일
·
0개의 댓글
·

[스프링부트핵심가이드] 02.개발에 앞서 알면 좋은 지식( + 03. 개발환경구성)

어떤 서비스를 제공할 때 한가지 전체의 서비스를 제공하기 보다, 전체의 서비스를 세부적으로 나누어 서비스를 제공한다. 이러한 형태를 마이크로서비스 아키텍쳐(MSA : MicroService Architecture)라고 한다. 마이크로서비스 아키텍쳐를 선택하는 이유는 하

2023년 10월 22일
·
0개의 댓글
·

[스프링부트핵심가이드] 01.스프링 부트란?

자바로만 어플리케이션을 개발하려면 귀찮은 점이 한 두가지가 아니었고, 유지보수도 힘든 부분이 있었다고 한다. 그러한 점을 보완하기 위해 스프링 프레임워크가 나왔다. 스프링 프레임워크가 어떻게 자바 어플리케이션 개발을 돕는지 알아보자.1.1.1 제어 역전(IoC : In

2023년 10월 22일
·
0개의 댓글
·

[GIT] 기본 작동 원리

개발 공부를 하고 있지만 아직 제대로 다른 사람과 협업할 일이 없어서 git을 제대로 사용본 적이 없다. 하지만 나중에 협업할 때를 위해서, 혼자 쓸때도 버젼관리를 위해서 git에 대해 간단히 정리해보려고 한다.git을 처음 봤을 때는 아무 것도 모르는 상태여서, 라이

2023년 10월 13일
·
0개의 댓글
·

[컴퓨터 공학] DMA, 인터럽트

DMA는 CPU와는 별개로 특정 하드웨어 하위 시스템이 직접 메인 시스템 메모리에 접근할 수 있게 해주는 컴퓨터 시스템의 기능이다. DMA는 CPU와 독립적으로 작동하기 때문에, CPU의 부담을 줄여 시스템 성능을 향상시키는데 사용된다.DMA를 통해 CPU의 개입없이

2023년 10월 12일
·
0개의 댓글
·

[컴퓨터 공학] CISC vs RISC

CPU를 설계하는 방식에 따라 CISC방식과 RISC방식으로 구분할 수 있다. 가장 큰 차이점이라고 하면 CISC방식은 명령어의 길이와 포맷이 가변적이며, RISC방식은 명령어 길이가 고정되어 있다.1) CISC방식은 앞서 말했듯이 명령어의 길이와 형식이 가변적이기 때

2023년 10월 11일
·
0개의 댓글
·

[컴퓨터 공학] CPU 파이프라인

파이프라인이란 같은 CPU 처리속도(성능)를 높이기 위해서 명령어 수행을 단계적으로 나누어, 병렬로 처리하는 것을 말한다.예를들어 하나의 세탁과정을 3단계로 아래의 그림과 같이 세탁기, 건조기, 개기 이렇게 나눠진다고 해보자. 위의 그림과 같이 하나의 세탁과정이 끝나고

2023년 10월 10일
·
0개의 댓글
·

[JAVA] PriorityQueue

알고리즘 문제를 풀 때 잘 안 풀리는 부분이 PriorityQueue 유형이다.그래서 기본적으로 PriorityQueue 사용하는 방법에 대해서 정리하려고 한다.우선순위큐는 일반적인 큐 구조와 달리 지정한 우선순위에 따라 데이터를 꺼내는 자료구조이다. 보통 최소힙 또는

2023년 10월 5일
·
0개의 댓글
·

[JAVA] json parse(with gson) #2

전에는 간단한 json형식을 파싱하였다. 이번엔 좀 더 복잡한 형식을 파싱해보자.위의 json문자열을 파싱해보도록 하자. 구조를 자세히 보면 {key0 : { key1 : value1 , key2 : value2, ...}, { key3 : value3 , key4

2023년 10월 4일
·
0개의 댓글
·

[JAVA] json parse(with gson) #1

요즘 open api를 보면 json 형식으로 데이터를 주고 받는 경우가 많다. 그래서 java에서 gson 라이브러리를 이용해서 json 파싱하는 방법에 대해서 알아보려고 한다. 넘어오는 json문자열의 형식에 따라서 파싱하는 방법이 다르다.위의 간단한 json 형식

2023년 9월 27일
·
0개의 댓글
·

JAVA dynamic web project 세팅

운영체제 : mac, IDE : eclipseeclipse에서 dynamic web project세팅을 위한 과정에 대해 알아보겠다. 나는 처음 접하는 것들이 많아 멘탈이 너덜너덜해 졌었다.일단 세팅을 하기 위해 필요한 플러그인을 먼저 설치해야 한다. 좌측 상단 메뉴에

2023년 9월 25일
·
0개의 댓글
·

[컴퓨터 공학] 기계어

CPU가 인식해서 기능을 이해하고 실행할 수 있는 명령어를 말한다. 조금 더 설명하자면 CPU가 직접 해독하고 실행할 수 있는 비트 단위로, 즉 0과 1로 쓰인 컴퓨터 언어이다. 따라서 CPU마다 기계어 코드의 길이와 숫자 코드가 다르다. 보통 Operation cod

2023년 9월 23일
·
0개의 댓글
·

[컴퓨터 공학] 레지스터

전에 정리한 메모리 계층 구조에서 최상위에 위치한 레지스터에 대해 알아보자. 레지스터는 CPU 내부에 위치하여 가장 빠른 속도로 접근 가능한 메모리이다. 일반적으로 프로세서 내부에 레지스터 구성은 PC, IR, MAR, MBR, I/O AR, I/O BR이 있따.다음에

2023년 9월 21일
·
0개의 댓글
·

[컴퓨터 공학] CPU 기본 구조

CPU의 기본구조에 대해서 알아보자. CPU는 위 그림에서 보듯이 크게 3가지 구성요소가 있다. Control Unit(제어장치), Registers, ALU(연산장치, Combinational Logic)이다. 간단하게만 설명하면 Contro Unit(제어장치)는 컴

2023년 9월 20일
·
0개의 댓글
·

[컴퓨터 공학] 메모리 계층 구조

컴퓨터에서 '자주 쓰는 데이터는 계속 자주 쓰인다.'라고 한다. 그럼 자주 쓰이는 데이터를 더 빨리 읽어오고, 덜 자주 쓰이는 데이터를 상대적으로 천천히 읽어오면 더 쾌적하게 컴퓨터를 사용할 수 있을 것이다. 이러한 필요에 따라 메모리를 여러 가지 종류로 나누어 둔 것

2023년 9월 19일
·
0개의 댓글
·