분류 전체보기

· 🚧
우선순위 큐란? 우선순위가 가장 높은 데이터를 가장 먼저 꺼내지는 자료구조이다. 단순히 배열로 구현하는 경우 데이터 삭제 시 O(N)이 걸리고 힙으로 구현하는 경우에는 최악의 경우에도 O(logN) 를 보장하므로 주로 힙으로 구현된다. 큐라고는 하지만, 큐와는 완전히 다르게 동작한다. 연산 inseart 요소 추가 remove 가장 우선순위 높은 요소 삭제하고 반환 find 가상 우선순위가 높은 요소 반환
· 🚧
JDK 설치 👉 JDK 8 설치 로 들어가 JDK 8을 설치하고 터미널에서 확인한다. JDK 는 모니터링, 디버깅, 컴파일 등등 자바 어플리케이션을 개발할 때 도와주는 다양한 툴들의 모음이다. java 명령어를 어디서든 사용하고자 보통 환경변수를 설정해주는데 IDE를 사용하는 경우에는 프로젝트 생성 때 JDK 의 경로를 설정해주므로 하지 않아도 된다. user@userui-MacBookPro ~ % java -version java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode) IDE 설치 IDE 중에서도..
· 🚧
왜 시작하게 되었는지 백엔드 개발자가 되겠다고 마음먹으며 이때까지 미뤄두었던 스프링 부트를 공부하겠다고 다짐을 했다. 스프링 부트로 개발하는 웹 프로세스를 전반적으로 간단하게라도 경험해보고 싶다는 생각을 했는데 내가 다뤄보고 싶은 기술을 다루지 않는 경우가 대부분이었다. 그래서 직접 하나하나 구글링해가며 맨땅에 헤딩하듯 만들어본 것이 👉 이전에 진행한 todo list 튜토리얼 이다. 여러 시행착오를 겪는 과정에서 배운 점이 정말 많았지만... 진행하다보니 내가 하고 있는 것이 맞는지, 더 챙겨야 할 디테일은 없는지 등 누군가가 조언해주고 더 자세한 피드백을 해주면 좋겠다는 생각을 했다. 그러나 내 주위에는 경험 많은 개발자가 없으므로... 전문가의 경험이 가득 담긴 책을 선생님 삼기로 했다! 때마침 추..
· 🚧
디스코드봇을 헤로쿠에 배포하다가 아래와 같은 오류가 나타났다. syntaxerror: unexpected token '??=' agent ??= new https.agent({ ...this.client.options.http.agent, keepalive: true }); 헤로쿠는 package.json 에 노드 버전을 명시하지 않으면 14로 설치한다. ??= 문법은 16버전에 생긴 것이라 생긴 문제다. 아래처럼 package.json 을 수정하고 다시 deploy 하면 해결된다. { "name": "~~~", "version": "1.0.0", "engines": { "node": "16.x" },
· 🚧
서버 실행하기 도커의 DB 서버를 켜기 위해 아래 명령어를 입력해준다. $ docker container start mariadb 스프링 부트 서버를 켜준다. IntelliJ 에서 실행 버튼을 누르면 된다. 그러면 아래처럼 create 문이 뜰 것이다. sql 문을 볼 수 있게 하고 포매팅하라는 옵션을 설정했기 때문이다. ... Hibernate: create table todos ( id bigint not null auto_increment, done bit not null, title varchar(100) not null, primary key (id) ) engine=InnoDB ... 포스트맨으로 api 테스트하기 포스트맨은 api 를 간단하게 테스트해볼 수 있는 무료 소프트웨어다. 포스트맨 ..
· 🚧
DB연동 build.gradle mariadb 와 jpa 를 사용할 것이므로 주석처리 해두었던 jpa 를 주석 해제하고 아래처럼 입력한다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' //jpa implementati..
· 🚧
이전 게시물에서 REST api 를 아래와 같이 간단히 명세했었다. 아직 DB 와 연결하지 않았으니 이대로 컨트롤러와 서비스의 틀을 만들어보겠다. Description HTTP method Route todo list 를 가져온다 GET /todos todo 를 가져온다 GET /todo/:id todo 를 생성한다 POST /todo todo 를 수정한다 PUT or PATCH /todo/:id todo 를 삭제한다 DELETE /todo/:id /todo/TodoItemService.java 코드가 하나 뿐이므로 todo 바로 아래에 클래스를 생성해준다. 안의 내용은 DB 연결 후 작성해줄 것이다. package com.todolist.tutorial.todo; import com.todolist.t..
· 🚧
모듈이란? 우리의 Todo list 는 기능이 단순히 todo 를 CRUD 하는 것 뿐이지만, 만약 여러 회원을 관리하는 기능까지 추가했다면 한 패키지 안에 개발하는 건 비효율적이다. 따라서 기능별로 모듈을 나눈다. 모듈은 이렇게 기능별, 역할별로 분리한 것을 말한다. 각각의 모델은 각각의 컨트롤러, 서비스, 모델을 가질 수 있다. todo 모듈 패키지 안에 todo 패키지를 생성해준다. Todo list 에서 비즈니스 모델은 바로 todo item 이다. 할일을 적는 텍스트 title 과 완료했는지 아닌지 체크하는 done. 그리고 각 item 을 구분하는 id 로 구성되어 있다. 이 비즈니스 모델을 처리하기 위한 클래스들을 생성해줄 것이다. 패키지 아래에 model 패키지를 생성해준다. /model/..
purpplee
'분류 전체보기' 카테고리의 글 목록 (4 Page)