본문 바로가기

전체보기

(126)
HTTP 메소드의 종류와 특징, 속성 HTTP 메소드 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정한다 주요 메소드 종류 GET 리소스의 조회에 사용한다. 서버에 전달하고 싶은 데이터를 query(parameter, query string)을 통해 전달한다. 메시지 바디를 통해 데이터를 전달할 수도 있지만 지원하지 않는 곳도 존재하기 때문에 권장❌ POST 메시지 바디를 통해 서버로 요청 데이터를 전달한다. 서버는 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다. 주로 신규 리소스의 등록, 프로세스 처리 등에 사용한다 신규 리소스를 등록했다면 새로 생성되었다는 201 상태 코드와 생성된 URI 경로(Location)를 반환한다 또한, 다른 메소드로 처리하기 애매한 경우 주로 사용된다. 조회할 때 데..
HTTP란? HTTP의 특징, 메시지의 구조 HTTP? HTTP란 HyperText Transfer Protocol로 문서 간의 링크를 전송하는 프로토콜이다. HTML 메시지에 HTML 뿐만 아니라 텍스트나 이미지, 음성, 영상 JSON 등 거의 모든 형태의 데이터가 전송이 가능하며 서버간의 데이터 전송 시에도 대부분 HTTP를 사용한다. 현재 주로 사용하는 HTTP/1.1과 HTTP/2는 TCP를 기반으로 하고 있다. HTTP의 특징 1️⃣ 클라이언트 서버 구조 Request Response 구조 클라이언트가 서버에 요청을 보내고 응답을 대기 서버가 요청에 대한 결과를 만들어 응답 비즈니스 로직과 데이터는 모두 서버가 처리하고 UI 등은 클라이언트가 처리한다 클라이언트와 서버의 분리를 통해 클라이언트와 서버가 각각의 성장이 가능! 2️⃣ Stat..
[프로그래머스] 프렌즈4블록 / 2018 KAKAO BLIND RECRUITMENT(1차) - JAVA 🔗 문제 링크 [프로그래머스] 프렌즈4블록 / 2018 KAKAO BLIND RECRUITMENT(1차) 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 📝 풀이 과정 입력은 String 배열로 들어왔지만 코드의 편의성을 위해 char형의 이중 배열로 변경하였다 블록을 좌상단부터 시작해 탐색하며 좌우, 좌하, 우하의 칸이 모두 자신의 칸과 동일하면 제거하기 위한 nextBlock에 .으로 값을 변경하여 찍어주었다. 이후, 모두 제거가 된 블럭들로 생긴 빈칸을 채우기 위해 반복문을 통해 탐색..
[프로그래머스] 뉴스 클러스터링 / 2018 KAKAO BLIND RECRUITMENT(1차) - JAVA 🔗 문제 링크 [프로그래머스] 뉴스 클러스터링 / 2018 KAKAO BLIND RECRUITMENT(1차) 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 📝 풀이 과정 집합을 만들어 교집합과 합집합을 조사해야 하는데, 같은 원소가 여러번 등장할 수 있고 자주 찾아 반환해주어야 하기 때문에 HashMap 자료구조를 사용하기로 했다. 집합에 대소문자 구분은 없으므로 String.toLowerCase()를 사용해 모든 문자열을 소문자로 변경해주었다. 첫번째 문자열을 모두 끊어 Map에 넣어..
[CS 정리] 운영체제 (2) 스케줄러 프로세스를 스케줄링하기 위한 Queue Job Queue : 시스템에 들어올 때 진입하는 큐, 현재 시스템 내에 있는 모든 프로세스의 집합 Ready Queue : 현재 메모리 내에 있으면서 CPU를 잡아 실행되기를 기다리는 프로세스의 집합 Device Queue : 특정 입출력 장치를 대기하는 프로세스의 집합 Process 스케줄러 각각의 Queue에 프로세스들을 넣고 빼주는 스케줄러 장기 스케줄러(Long-term scheduler, Job scheduler) 메모리는 한정되어 있는데 많은 프로세스들이 한꺼번에 메모리에 올라올 경우, 대용량 메모리(일반적으로 디스크)에 임시로 저장. 대용량 메모리(일반적으로 디스크)에 임시로 저장 저장되어 있는 프로세스 중 어떤 프로세스에 메모리를 할당하여 ..
[CS 정리] 운영체제 (1) 프로그램 어떤 작업을 위해 실행할 수 있는 파일 프로세스 컴퓨터에서 연속적으로 실행되고 있는 프로그램 즉, 동적인 개념으로는 실행된 프로그램을 의미 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 운영체제로부터 시스템 자원(주소 공간, 파일, 메모리 등)을 할당받는 작업의 단위 함수의 매개변수, 복귀 주소와 로컬 변수와 같은 임시 자료를 갖는 프로세스 스택과 전역 변수들을 수록하는 데이터 섹션을 포함 프로세스 실행 중에 동적으로 할당되는 메모리인 메모리 힙을 포함 프로그램과 프로세스는 다르다!! 프로그램은 명령어를 내용으로 가진 디스크에 저장된 파일, 수동적인 존재(passive entity) 프로세스는 다음에 실행할 명령..
[Docker] 도커란 무엇이고, 왜 사용할까? 🐳 Docker, 도커 컨테이너를 사용해 응용 프로그램을 더 쉽게 만들고 배포, 실행할 수 있도록 설계된 도구 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 리눅스나 윈도우 기반의 애플리케이션 모두 사용할 수 있으며 인프라에 관계없이 항상 동일하게 실행된다. ❓ 컨테이너 & 이미지 📦 컨테이너 컨테이너는 코드와 모든 종속성을 패키지화하여 응용 프로그램이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되도록 하는 소프트웨어의 표준 단위라고 Docker의 공식 홈페이지에서 정의하고 있다. 도커의 컨테이너란 우리가 일반적으로 알고 있는 컨테이너와 매우 유사하다. 일반적으로 컨테이너는 화물을 옮길 때 컨테이너에 물건을 넣어 다양한 운송 수단을 통해 쉽게 옮길 수 있도록 한 것이다. 이처럼 도커는 ..
[백준] 5639번: 이진 검색 트리 - JAVA 🔗 문제 링크 BOJ 5639번: 이진 검색 트리 1️⃣ 트리 직접 그리기 📝 풀이 과정 전위 순회의 경우 처음 탐색한 값이 항상 root이기 때문에 먼저 처음 값을 root로 설정해 주었다. 이후 반복문을 돌며 Node에 insert함수를 구현해 현재 노드의 값보다 작으면 왼쪽 자식, 크면 오른쪽 자식으로 넘어가 null일 경우 해당 노드를 생성해주고 아니라면 재귀적으로 다시 탐색하는 방식으로 구현해주었다. 트리가 모두 완성되면 후위 순회 함수를 구현해 왼쪽 자식, 오른쪽 자식, 현재 노드 순으로 탐색해 출력해 주었다. 💻 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; publi..