스테이지 영역 이라는 것은 커밋을 대기중인 파일들이 가는 어떤 디렉토리라고 생각하면 된다. 내가 현재 내 컴퓨터로 작업을 하는데, 그 작업이 좀 오래 걸려서 다양한 파일들을 수정했다고 해보자. 이때 만약에, 스테이지 영역이라는것이 없으면 나는 그 수정사항들을 한번에 하나의 버전으로 만들어야 한다. 하지만 하나의 버전이라는것은 하나의 기능만이 포함 되어 있을때 가장 좋다. 그렇기 때문에, 하나의 기능을 가진 하나의 버전으로 만들기 위해서 내가 커밋하고 싶은 파일들만 커밋할수 있도록 따로 분리시켜야 하는 공간이 필요하다. 그 영역이 바로 스테이지 영역이다. 수정된 파일을 git add하게 되면 스테이지 영역에 올라가고 그 스테이지 영역에 있는 파일들을 git commit했을때 최종적으로 내 로컬 레파지토리에..
GET방식과 POST방식? GET방식이란 URL에 key&value 쌍의 형태로 서버에 정보를 전송한다. 그렇기 때문에 HTTP request 헤더에 Content-type이라는 헤더 필드는 필요하지 않다. 바디부분이 비어있다. POST방식이란 사용자의 입력을 HTTP request 바디 부분에 넣어서 전송한다. 그렇기 때문에 HTTP 요청 헤더에 Content-type 필드를 명시해야 한다. Content-type 필드는 다음과 같이 3가지의 MIME타입으로 구성되어 있다. MIME타입이란 초기 이메일 시스템에서 첨부파일의 타입을 명시할때 사용하던 타입이다. 바이너리 데이터를 아스키 코드로 변환할때 어떤 바이너리 데이터를 변환 했는지를 명시해야 수신측에서 다시 아스키코드->바이너리 데이터로 정확히 복호..
이 문제는 플로이드 와샬 알고리즘을 적용시키는 엄청 기본적인 문제이다. 플로이드 와샬 알고리즘은 All pair Shortest Algorithm이다. 다시말해서, 어떤 점에서 다른 모든 점으로 가는 최단경로를 모두 구하는 문제이다. (어떤 쌍에 대해서도 최단경로를 알 수 있음) 3중 for문을 사용하기 때문에, 시간복잡도는 O(n^3)이다. 이전 포스팅에서 자바로 구현한 플로이드와샬 알고리즘에 설명이 자세히 나와있으니 참고 바란다. 위의 문제에서는 1 4 와 같은 형식으로 사람1과 사람4가 친구라는것을 표현하고 있다. 이것을 알고리즘에서는 그냥 노드1 노드4의 가중치가 1이라고 표현해놓고 플로이드 와샬 알고리즘을 적용시키면 된다. 소스코드123456789101112131415161718192021222..
(1),(5)웹 브라우저가 웹서버와 통신을 하는 과정, 요청과 응답클라이언트와의 통신은 웹 서버가 전담하고, 실질적인 비즈니스 로직은 웹어플리케이션서버가 담당한다.웹 서버는 단순히 클라이언트의 요청이 들어오면 작업을 웹어플리케이션 서버에 위임하는 역할을 한다. 웹 어플리케이션 서버는 웹 서버에서 작동하는 어떤 실행 흐름이자 비즈니스 로직이다. 데이터베이스 접속이 필요한 작업을 실행한다. 대표적인 웹 어플리케이션 서버로는 톰캣이 있으며, 톰캣은 내부적으로 웹서버도 내장하고 있다. 웹 어플리케이션 기능이 구현된 서블릿을 웹 어플리케이션 서버에 배포(deployment)를 해야 나중에 요청이 들어왔을때, 그 비즈니스 로직이 담긴 서블릿을 실행 시킬수 있게 된다. 이것을 웹 어플리케이션을 웹 어플리케이션 서버(..
처음에 원소의 개수가 20만을 넘지 않는다는걸 원소의 값이 20만이 넘지 않는다는걸로 착각해서 약간 삽질을 좀 했다. 이 문제를 풀려면 O(nlogn)방식을 사용해야 한다. 왜냐하면 원소의 개수가 20만개 까지가능하기 때문에 O(n^2)을 쓰면 시간초과가 난다. 이 문제를 풀면서 벡터에 push_back연산이 얼마나 느린지를 깨달았다.처음에 벡터를 통해서 문제를 풀었는데 똑같은 코드인데 벡터는 시간초과가 나고 배열로 풀었을땐 시간초과가 나지 않았다 내생각에는 입력을 받을때 벡터로 받게 되면 벡터는 연속적인 메모리 공간에 값을 나란히 저장하므로, 벡터가 처음에 할당한 크기를 넘어서는 입력이 들어오게 되면 메모리를 재 할당하기 때문에 굉장히 시간이 오래걸릴수 있는 연산이 바로 push_back연산이다. 우선..
POJO POJO(Plain Old Java Object)란 평범한 자바 객체라는 의미이다.이게 무슨 뜻이냐면, 어떤 자바 객체가 있는데, 이 객체를 사용하기 위해서 상속을 받아야 한다거나, 인터페이스를 구현해야 한다거나, 어노테이션을 적용해야 한다거나 하는 제약조건이 없는 객체라는 뜻이다. 한마디로 정의하면 POJO란 프레임워크를 사용하기 위해서 해야만 하는 어떤 제약이 없는 평범한 자바 객체이다. -- 쉽게 따라하는 자바 웹 개발 중 -- POJO라는 용어는 평범한 자바 객체라는 뜻인데 어떤 객체를 평범하다고 지칭하는지그리고 POJO를 사용해서 개발하는게 왜 중요한지 설명 한다. 먼저 평범하다고 말하는 객체는 다음과 같은 특징. 클래스 상속을 강제하지 않는다. 인터페이스 구현을 강제하지 않는다. 애노..
- Total
- Today
- Yesterday
- reflow
- reducer
- react hooks
- return type
- type alias
- Next.js
- computed
- hydrate
- props
- await
- typescript
- mobx
- useRef
- useEffect
- async
- Action
- state
- Polyfill
- react
- promise
- design system
- reactdom
- javascript
- Babel
- atomic design
- storybook
- webpack
- server side rendering
- es6
- rendering scope
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |