![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bhyfj9/btrNcAGhjau/6pkEeMcKM9X0F2GiROKPIK/img.png)
출처: https://cbea.ms/git-commit/#limit-50 How to Write a Git Commit Message Commit messages matter. Here's how to write them well. cbea.ms Git은 개발자가 본인의 코드를 공개하고 다른 사람들과 협업할 수 있게 도와주는 버전 관리 시스템이다. 단계에 따라 여러 명령어가 있지만 그중 가장 중요한 것은 역시 커밋(Commit)이라 할 수 있다. 커밋을 하면 그 시점의 개발자의 작업공간의 스냅샷을 찍어 로컬 레포지토리로 올리기 때문이다. 즉, 이전 버전과 비교하거나 돌아갈 수 있는 일종의 저장 포인트가 생성된다는 뜻이다. 커밋 메시지는 바로 이 커밋을 실행 할 때 반드시 추가해야 하는 정보인데, 변경 사..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bMCZ2F/btrMQN7PqHy/XCfjvdegwjvub6Zd0S9LZ1/img.png)
지난 글에선 세션 인증 방식과 토큰 인증 방식을 비교했다. 2022.09.23 - [Development/Network] - [Network]세션 기반 인증 vs. 토큰 기반 인증 [Network]세션 기반 인증 vs. 토큰 기반 인증 지난 글에서 HTTP의 비연결성(Conectionless)과 무상태성(Stateless)을 극복하기 위한 방법으로써의 쿠키, 세션과 보안과정인 TLS, 그리고 그것이 적용된 HTTPS의 통신 방식에 대해서 살펴보았다. 여기서 gnidinger.tistory.com 이번 글에서는 토큰 기반 인증 방식의 표준인 JWT에 대해 알아보자. JWT(JSON Web Token) JWT(JSON Web Token)는 이름 그대로 JSON으로 만들어진 웹 토큰을 말한다. 조금 구체적으로..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/w3UrU/btrMPOZNfhp/0tWRzInzsR7L0HpB2bI3LK/img.png)
지난 글에서 HTTP의 비연결성(Conectionless)과 무상태성(Stateless)을 극복하기 위한 방법으로써의 쿠키, 세션과 보안과정인 TLS, 그리고 그것이 적용된 HTTPS의 통신 방식에 대해서 살펴보았다. 여기서 비연결성과 무상태성이란 Connectionless - 클라이언트가 요청을 한 뒤 응답을 받으면 서버가 연결을 끊어버리는 특성 Stateless - 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보를 유지하지 않는 특성 을 말하며, 쿠키와 세션을 이용한 극복은 연결 및 상태를 유지하는(Stateful) 방식으로 이루어졌다. 2022.08.03 - [Development/Network] - [네트워크]웹(WEB) 2022.08.04 - [Development/Network..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/QWv0B/btrMFi0aA5p/aD7vxZBK6fdVPSQdeTIIsk/img.png)
이전 글에서 HTTP의 특징인 비연결성과 무상태성을 보완하기 위해 쿠키와 세션이 도입되었다고 했었다. 잠깐 복습하자면 HTTP는 위와 같은 특성을 가지기 때문에 서버는 클라이언트를 매번 확인해야 한다. 페이지를 이동할 때마다 로그인을 새로 해주어야 한다는 의미이다. Connectionless - 클라이언트가 요청을 한 후 응답을 받으면 서버가 그 연결을 끊어 버리는 특성 Stateless - 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보를 유지하지 않는 특성 2022.08.03 - [Development/Network] - [네트워크]웹(WEB) 2022.08.04 - [Development/Network] - [네트워크]HTTP [네트워크]HTTP HTTP(HyperText Trans..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/brMSqz/btrMDEitOHj/PqIkweEI8EJkLDdefwH7Pk/img.png)
이전 글에서 HTTP의 특징인 비연결성과 무상태성을 보완하기 위해 쿠키와 세션이 도입되었다고 했었다. 잠깐 복습하자면 HTTP는 위와 같은 특성을 가지기 때문에 서버는 클라이언트를 매번 확인해야 한다. 페이지를 이동할 때마다 로그인을 새로 해주어야 한다는 의미이다. Connectionless - 클라이언트가 요청을 한 후 응답을 받으면 서버가 그 연결을 끊어 버리는 특성 Stateless - 연결을 끊는 순간 클라이언트와 서버의 통신이 끝나며, 상태 정보를 유지하지 않는 특성 2022.08.03 - [Development/Network] - [네트워크]웹(WEB) 2022.08.04 - [Development/Network] - [네트워크]HTTP [네트워크]HTTP HTTP(HyperText Trans..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cx7DpD/btrMy2rz7Oq/PKBG9Mgivs3SZ8kKIcYAak/img.png)
해싱은 특정 대상에게 해시 함수(Hash Function)를 적용하는 행위를 가리킨다. 계속해서 해시 함수란 임의의 길이를 갖는 임의의 데이터를 받아 고정된 길이의 데이터를 리턴하는 단방향 함수를 말한다. 예를 들어 자바에서 입력받은 숫자를 10으로 나눈 뒤 나머지를 리턴하는 '%10' 연산자도 해시함수라 할 수 있다. 나올 수 있는 해시값이 정해진 범위(0~9) 사이에 있기 때문이다. 또한 단방향이기 때문에 앞선 글에서 알아봤던 양방향 암호화/복호화와 달리 해싱은 암호화만을 가리키는 말이 된다. 해시값은 해시 함수와 함께 정확한 정보를 입력했는지 검증만 하는 용도이기 때문에 복호화 할 필요가 없기 때문이다. 해시 함수의 특징은 아래와 같으며, 비교적 간단한 알고리즘으로 시스템 자원을 덜 소모한다, 즉 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/lYoDh/btrMA4PbrA4/JFH32ca9qOkWjJiSxbtBd1/img.png)
예전 글에서 TCP/IP를 사용하는 네트워크 집합체인 인터넷과 그 안에서 이루어지는 서비스인 웹, 그리고 클라이언트-서버 아키텍처와 그 사이의 메시지 교환 규약인 HTTP에 대해 알아봤었다. 또한 IP 프로토콜의 한계를 극복하는 프로토콜은 TCP 말고도 UDP가 존재하는데, 데이터의 신뢰성이 중요한 경우엔 TCP를 사용한다고도 했었다. 2022.08.02 - [Development/Network] - [네트워크]TCP/IP 2022.08.02 - [Development/Network] - [네트워크]URL, URI, Domain, DNS 2022.08.03 - [Development/Network] - [네트워크]CORS(Cross-Origin Resource Sharing) 2022.08.04 - [D..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b4298f/btrMy1K0Wj0/P8wIKy0s0ukkkLqV3mylr1/img.png)
6월 24일에 시작한 백엔드 부트캠프가 벌써 중반을 지나고 있다. 그간 회고를 쓰지 못할 정도로 정신이 없어서 한 번도 적어보지 못했는데, 오늘은 왠지 공부가 하기 싫으니까 짤을 만들어 회고를 적어본다. 섹션 3은 엔지니어 분들이 예고했던 대로 주말을 자진 반납하게 만들었다. 뿐만 아니라 평일의 수면시간도 한 시간 줄이게 되었는데, 새벽 한 시까지 키보드를 두드리는 나를 보며 현타가 오는 날이 잦았다. 하지만 이것이 개발자로서의 내 미래에 대한 적당한 비유라고 하면 참지 못할 것도 없었다. 그보다 더 무서운 것은 잠들기 전까지도 오늘의 진도를 이해하지 못하는 내 모습.. 아무리 구글링에 구글링을 겹쳐봐도 개념이 떠오르지 않을 땐 그만한 절망도 없었다. 그래도 친절한 교육 엔지니어 분과 든든한 동기들이 있..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/BaYMa/btrLKxdUqgA/kODgUslVOLk1TEAPYGD660/img.png)
혼자 작업하는 경우 Other에 있는 Remote Repository에서 Fork를 통해 Origin에 있는 내 Remote Repository로 프로젝트를 복사한다. Clone을 통해 Local Work Space로 파일을 다운받는다. (git clone ) 작업 후, Add를 통해 파일을 Staging Area에 올린다. (git add ) Commit을 통해 파일을 Local Repository에 올린다. (git commit -m '메시지') Push를 통해 파일을 Remote에 있는 내 Repository에 올린다. (git push ) Pull Request를 한다. 함께 작업하는 경우 내 컴퓨터에서 생성한 폴더를 init 명령으로 Git 관리하에 넣어준다. (git init) 내 컴퓨터의 G..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bq2JJo/btrMp24D8AW/2N4FYPE4SdWE2NAGq9RCFk/img.png)
이전 글에서 봤듯이, SQL은 구조화된(Structured) 테이블을 사용하는 관계형 데이터베이스(RDB -Relational Database)에서 주로 쓰인다. 관련 글: https://gnidinger.tistory.com/444 [데이터베이스]SQL SQL(Structured Query Language - 구조화된 쿼리 언어)은 데이터베이스용 프로그램 언어이다. 에스큐엘 혹은 시퀄이라고 읽으며, 데이터베이스 시스템에서 자료를 처리하는 용도로 사용된다. 이름에서 gnidinger.tistory.com 사전에 정의된, 구조화된 테이블을 Relation이라고도 부르기 때문에 테이블을 사용하는 데이터베이스를 관계형 데이터베이스라고 부르는 것이다. 혹은, 엔티티끼리 관계를 맺는 형태로 데이터베이스가 구성되고..
- Total
- Today
- Yesterday
- spring
- 리스트
- RX100M5
- a6000
- 여행
- 기술면접
- Algorithm
- 면접 준비
- 스프링
- 남미
- 자바
- 칼이사
- 파이썬
- 지지
- 세계여행
- 스트림
- 세모
- 중남미
- java
- BOJ
- 알고리즘
- Backjoon
- 야경
- 맛집
- 세계일주
- Python
- 유럽
- 동적계획법
- 백준
- 유럽여행
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |