
HTTP Method 란? HTTP 메서드란 클라이언트와 서버 사이에 이루어지는 요청(Request)과 응답(Response) 데이터를 전송하는 방식을 일컫는다. 쉽게 말하면 서버에 주어진 리소스에 수행하길 원하는 행동, 서버가 수행해야 할 동작을 지정하는 요청을 보내는 방법이다. 주요 메소드 GET : 리소스 조회 POST: 요청 데이터 처리, 주로 등록에 사용 PUT : 리소스를 대체(덮어쓰기), 해당 리소스가 없으면 생성 PATCH : 리소스 부분 변경 (PUT이 전체 변경, PATCH는 일부 변경) DELETE : 리소스 삭제 기타 메소드 HEAD : GET과 동일하지만 메시지 부분(body 부분)을 제외하고, 상태 줄과 헤더만 반환 OPTIONS : 대상 리소스에 대한 통신 가능 옵션(메서드)을..

동일성 (Identity) 동일성은 비교 대상의 두 객체의 메모리 주소가 같음을 의미하는 것 이다. 자바에서 동일성은 비교연산자 == 로 확인할 수 있다. Number number1 = new Number(1); Number number2 = number1; System.out.println(number1 == number2); number2 는 Number 의 인스턴스를 새로 생성하지 않고, number1 을 대입받는다. 즉 number1 와 number2 는 같은 메모리 주소에 위치한 같은 객체를 바라보고 있다. 객체는 각자의 고유한 식별자를 가지고 있는데, 이 식별자가 같다면 동일하다고 판단한다. 동등성 (Equality) 동등성은 동등하다는 뜻으로 두 개의 객체가 같은 정보를 갖고 있는 경우를 의..

Null 이란? - null means that the variable hasn’t been set a value = null은 값이 할당되지 않은 변수 - merely a special literal that can be of any reference type = 모든 참조 유형이 될 수있는 특수 리터럴이다. = 모든 참조는 null 가능 - null is used to denote “no object” or “unknown” or “unavailable”, but these meanings are application specific = null은 “객체 없음”또는 “알 수 없음” 또는 “사용할 수 없음”을 나타내는 데 사용되지만 이러한 의미는 응용 프로그램에 따라 다르다. - “빈” 상태는 Stri..

List vs Set List 와 Set은 크게 Ordered collection vs Unordered collection / 중복 가능 여부로 나누어 볼수 있다. 그 이유는 List는 순서가 있는 Collection이다. List에 데이터를 넣는 순서가 보장되며, 그렇기 때문에 index로 특정 아이템을 가져올 수 있다. 또한 데이터 중복이 가능하다. Set는 순서를 보장하지 않는 Collection이다. 그렇기 때문에 index로 특정 아이템을 가져올 수 없다. 또한 데이터 중복이 불가능하다. List - 입력 순서를 유지하며, 데이터의 중복을 허용 - 인덱스를 통해 저장 데이터에 접근이 가능 Set - 입력 순서를 유지하지 않으며, 데이터의 중복 허용하지 않음 - 데이터에 null 입력 가능하나,..

Redis 란? Redis는 오픈 소스로서 NoSQL로 분류되기도 하고, Memcached와 같이 인 메모리 솔루션으로 분류되기도 한다. 성능은 Memcached에 버금가면서 다양한 데이터 구조체를 지원함으로써 DB, Cache, Message Queue, Shared Memory 용도로 사용될 수 있다. 한편, Redis는 Remote Dictionary Server의 약자로 외부에서 사용 가능한 Key-Value 쌍의 해시 맵 형태의 서버라고 생각할 수 있다. 그래서 별도의 쿼리 없이 Key를 통해 빠르게 결과를 가져올 수 있다. 또한, 디스크에 데이터를 쓰는 구조가 아니라 메모리에서 데이터를 처리하기 때문에 작업 속도가 상당히 빠르다. 즉, 레디스(Redis)는 고성능 키-값 저장소로서 문자열, 리..

스택 (Stack) 이란? 스택은 쌓다라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조이다. 데이터가 순서대로 쌓이며, 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조를 가지고 있다. 가장 대표적인 예시로는 프링글스 과자를 생각하면 된다. 스택은 정해진 방향으로만 쌓을 수 있으며, top으로 정한 곳을 통해서만 접근 할 수 있다. 새로 삽입 되는 자료는 top이 가리키는 가장 맨 위에 쌓이게 되며, 자료를 삭제할 때도 top을 통해서 삭제가 가능하다. 여기서 삽입연산을 Push, 삭제 연산을 Pop 라고 하며 이러한 스택 구조를 후입 선출(LIFO - Last In First Out) 구조라고 한다. 스택(stack)의 사용 사례 - 웹 브라우저 방문 기록(뒤로가기) - 실행 취소(undo..

소프트웨어 개발 프로세스 모델이란? 소프트웨어 개발 프로세스 모델은 소프트웨어 개발 생명주기를 기반으로 정해진다. 소프트웨어 개발 생명 주기 관련 글을 ➡️ 여기 를 참고하면 된다. 소프트웨어 개발 프로세스 모델의 종류 6가지는 아래와 같다. 폭포수 모델 V 모델 프로토타입 모델 나선형 모델 진화적 모델 애자일(Agile) 모델 폭포수 모델 (waterfall model) 폭포수 모델(waterfall model)은 순차적인 소프트웨어 개발 프로세스(소프트웨어를 만들기 위한 프로세스)로, 개발의 흐름이 마치 폭포수처럼 지속적으로 아래로 향하는 것처럼 보이는 데서 이름이 붙여졌다. 이 폭포수 모델의 흐름은 소프트웨어 요구사항 분석 단계에서 시작하여, 소프트웨어 설계, 소프트웨어 구현, 소프트웨어 시험, 소..

소프트웨어를 체계적으로 관리하고 관리하기 위해 개발 과정을 단계별로 나누어 구분 한 것을 소프트웨어 개발단계, 소프트웨어 생명주기 라고 한다. 일반적으로 6단계로 구분하며, 이 단계에 대해서 알아보고자 한다. 1️⃣ 1단계 : 요구사항 분석 문제 분석 단계 개발할 소프트웨어의 기능과 제약조건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의 개발할 소프트웨어의 성격을 정확히 이해하고, 개발 방법과 필요한 갭라 자원 및 예산을 예측 요구명세서 작성 2️⃣ 2단계 : 시스템 명세 시스템이 무엇을 수행해야 하는가를 정의하는 단계 입력자료, 처리내용, 생성되는 출력이 무엇인지를 정의 시스템 기능 명세서 작성 3️⃣ 3단계 : 설계 시스템 명세 단계에서 정의한 기능을 실제로 수행하기 위한 방법을 논리적으로 결정하..

자료를 관리 할때 배열이나 리스트를 자주 사용하게 된다. 자주 사용하는 만큼 배열과 리스트의 특징과 차이에 대해 알아보고자 한다. 배열(Array) 이란? 배열은 정적 자료구조이며, 배열을 만들기 위해서는 미리 크기를 정해 놓아야 한다. 그렇게 되면 해당 크기만큼의 연속된 메모리 주소를 할당 받게 된다. 연속된 메모리 주소를 할당 받고 있기 때문에 데이터가 인덱스(index)라는 것을 갖게 된다. 일반적으로 array[0] 같은 식으로 배열에 접근할 때 대괄호([]) 안에 숫자가 index이다. index를 갖게 된다는 것은 즉 임의 접근이 가능하다는 장점이 있어 접근과 탐색에 용이합니다. 하지만 크기를 미리 정해놓았기 때문에 수정하는 것이 불가능하며 이미 크기를 정해 놓은 터라 해당 배열 크기 이상의 ..

DFS / BFS 알고리즘 DFS 와 BFS 알고리즘은 대표적인 그래프 탐색 알고리즘이다. 여기서 탐색이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정을 의미한다. 이제 이 두 알고리즘의 특징을 알아보도록 하자. 깊이 우선 탐색, DFS(Depth - First Search) 깊이 우선 탐색(DFS)은 그래프의 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐색을 마친 후 다른 쪽 분기로 이동하여 다시 탐색을 수행하는 알고리즘 이다. 깊이 우선 탐색(DFS)은 실제 구현 시 재귀함수를 이용하므로 스택 오버플로에 유의해야한다. 코드로 DFS 구현 예시 public static void DFS(int item){ if(!visited[item]){ visited[item] = tr..
- Total
- Today
- Yesterday
- 알고리즘 공부
- 코딩테스트공부
- 알고리즘공부
- 코테 준비
- 개발자 취업 준비
- 코딩테스트 준비
- 개발자 취준
- 코딩테스트 공부
- 취업 준비
- 취준
- 기술 면접 준비
- 백엔드 개발자
- 프로그래머스
- 백엔드 개발자 기술 면접 준비
- 백준
- 백엔드 개발자 취업 준비
- 알고리즘
- 제로베이스 백준 장학금
- 주니어 개발자 취업 준비
- 자바
- 코테준비
- 프로그래머스 자바
- 취업준비
- 자바공부
- 프로그래머스 카카오
- java
- 코테공부
- 코딩테스트
- 제로베이스 백엔드 스쿨
- 개발자 면접 준비
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |