Archive: 2021

5. [블로그 프로젝트] Maven, Lombok, application.yml

Maven자 만약에 우리가 프로젝트를 할 때 어떤 라이브러리를 사용한다고 하자.우리에게는 3가지 시나리오가 있다. 라이브러리를 다운받고, 각 프로젝트의 lib 폴더에 복사하기. 프로젝트 만들 때마다 복사해야 된다… 라이브러리를 외부에 두고 프로젝트들이 가져다 쓰기 하지만 배포할 때 라이브러리가 포함되지 않아서 힘들다.. 중앙 저장소에 라이브러리들을

4. [블로그 프로젝트] 스프링 부트로 HTTP 데이터 전달하기

HTTP는 어떻게 데이터를 전달할까? GET get은 URI의 쿼리 파라미터로 데이터를 전달한다.(? 뒤의 쿼리를 의미한다.)코드로 받아오는 방법은 두가지가 있다. @RequestParam : 메소드에 해당 어노테이션을 붙인 변수를 만들어서 받아온다! 클래스를 만들어서 가져오기 : 메소드에 해당 클래스 객체를 넣어주면 알아서 매핑되서 받아온다.이때 변수

3. [블로그 프로젝트] 스프링 부트로 HTTP 체험해보기

HTML을 체험하기 위해 필요한 POSTMAN 추후 알게 되겠지만, POSTMAN이라는 프로그램을 다운받자.(브라우저로 테스트하면 get요청밖에 확인가능하기 때문이다.)일단은 웹브라우저로 해보자. @RestController 와 @Controller@RestController는 사용자가 요청하면 데이터를 응답하는 어노테이션이다.@Controller는 사

2. [블로그 프로젝트] HTTP 1.1과 MIME type, MySQL프로젝트 연결하기

HTTPHTTP_더_알아보기HTTP는 문서를 전송하는 stateless 통신 프로토콜이다!종류는 다음과 같다!GET : 데이터 줘!POST : 데이터 추가해줘!PUT : 데이터 수정해줘!DELETE : 데이터 삭제해줘! 그렇다면 ‘어떤’ 데이터를 요청하거나 보낼지를 알려줄까?이는 쿼리 파라미터(URI의 ? 부분)를 쓰거나,MIME type으로 알려줄 수 있

1. [블로그 프로젝트] 개발 환경, 의존성 설정하기.

이번엔 스프링부트를 통해 블로그를 한번 만들어보자!유튜버 데어프로그래밍의 강좌를 보며 제작한다!!! 먼저 Oracle JDK SE와 MySQL을 설치해주자.JDK는 홈페이지에서 다운받고, MySQL은 맥의 homebrew로 설치가 가능하다!MySQL 설치 관련 링크 그리고 이클립스에서 스프링을 사용할 수 있게해주는 STS 툴 이라는 게 있다.나는 인텔리제이

3. Spring boot 동작원리 with 데어 프로그래밍

스프링 부트 동작원리 톰캣 필터 권한, 인증, 인코딩… 디스패처 요청된 주소에 맞는 컨트롤러를 호출 <얘네는 요청때마다 메모리에 로딩><요청이 올 때까지 대기>재사용하는 게 아니라 새 쓰레드를 사용함4. 컨트롤러 - 요청에 포함된 데이터 받음, 다른 서비스 호출..5. 서비스6. JPA 레포지토리7. 영속성 컨텍스트

24. 백준 1406번 에디터

이 문제는 참 고생 많이 했다 ㅋㅋ… 틀렸던 접근 1 주어진 문자열을 char 배열로 받은 다음, 이 녀석을 ArrayList에 저장하자.그 다음 arrayList를 하나더 추가해서 마치 스택처럼 사용하자.그렇게 모든 명령을 수행하고 나면두 arraylist에 저장된 요소들을 반복문으로 하나씩 출력하자. 123456789101112131415161718

23. 백준 9012번 괄호

문제괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄

22. 백준 9093번 단어 뒤집기

문제문장이 주어졌을 때, 단어를 모두 뒤집어서 출력하는 프로그램을 작성하시오. 단, 단어의 순서는 바꿀 수 없다. 단어는 영어 알파벳으로만 이루어져 있다. 입출력입력 : 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단

21. 백준 10828번 스택

문제정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다. push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty:

20. 백준 1004번 어린 왕자

문제어린 왕자는 소혹성 B-664에서 자신이 사랑하는 한 송이 장미를 위해 살아간다.어느 날 장미가 위험에 빠지게 된 것을 알게 된 어린 왕자는, 장미를 구하기 위해 은하수를 따라 긴 여행을 하기 시작했다.하지만 어린 왕자의 우주선은 그렇게 좋지 않아서 행성계 간의 이동을 최대한 피해서 여행해야 한다.은하수 지도, 출발점, 도착점이 주어졌을 때 어린 왕자에

2. Spring과 JPA의 특징 with 데어 프로그래밍

1. 스프링이란? by 데어 프로그래밍스프링은 프레임워크이다.스프링은 오픈소스이다.스프링은 IoC 컨테이너를 가진다.스프링은 DI 를 지원한다.스프링은 엄청나게 많은 필터를 가지고 있다.스프링은 엄청나게 많은 어노테이션을 가지고 있다. (리플렉션, 컴파일체킹)스프링은 MessageConverter를 가지고 있다. 기본값은 현재 Json이다.스프링은 Buff

13. 부팅

부팅컴퓨터를 켜서 동작시키는 절차. 부트 프로그램운영체제 커널을 저장소에서 특정 주소의 물리 메모리에 복사하고, 커널의 처음 실행 위치로 PC를 가져다 놓음ROM : 꺼져도 내용이 기억되는 특별한 RAM 바이오스를 메모리에 올리고 바이오스가 컴퓨터 초기화 저장매체의 MBR(master boot record)에 가서 부트 로더를 메모리로 가져옴부트 로더

12. 파일 시스템

파일 시스템운영체제가 저장매체에 파일을 쓰기 위한 자료구조, 알고리즘 파일 시스템은 왜 만들어졌을까? 비트 단위로 주소를 매겨서 사용하기에는 너무 비효율적!그렇다고 블록 단위(4kb)로 하자니 사용자가 각 블록의 고유번호로 관리하기 힘듬…그래서 추상적(논리적) 객체를 도입 : 파일사용자는 파일 단위로 다루고, 각 파일은 블록 단위로 관리하자! ~ 저장

1. GET API

학습목표스프링부트로 GET API의 path variable, query parameter를 처리한다. 들어가기 전에… resource 폴더의 application.properties는 포트설정을 할 수 있다. (server.port=9090)controller 패키지를 만들고 그 안에서 GetApiController 클래스를 만들어서 진행

19. 그래프 깊이우선탐색(DFS)

깊이우선탐색(DFS)현재 방문중인 노드와 연결된 이웃 노드 중 아직 방문하지 않은 노드 있으면, 그 노드를 다음에 방문.재귀함수로 작성, 마치 트리의 preorder방식과 비슷. psuedo code 12345678910DFS(v): mark v as visited node pre[v] = curr_time #pre리스트는 해당 노드에 첫 방