![[Web] CI/CD란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKciNm%2FbtsGifaW4BD%2FMqeEbQG9sPdHxBX8Ndu3Kk%2Fimg.png)
배경 흔히 기본 개발을 하다가 "나는 개발자에 맞는 상인가"라는 테스트를 해보았을때, 거기에 있는 질문중에서 하나가 '나는 CI/CD를 구현해본적이 있다'라는 질문이 있었고, 그 뜻이 무엇인지를 몰라 이렇게 검색을 하다가 블로그까지 작성하게 되었습니다. CI란? (Continuous Integration) 빌드/테스트화 과정 만약 어떤 프로젝트를 진행중일때 CI를 성공적으로 구현할 경우, 어플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있습니다. 커밋할때마다 자동테스트를 하여 에러가 안나도록 보장하죠. CD란? (Continuous De..
![[Web] 로컬스토리지 ,세션스토리지는 무엇일까?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRLQoa%2FbtsGgc7bCKO%2FhN0nm052xIClElHCakq1CK%2Fimg.png)
배경 저는 평소에 친구들과 프로젝트에 저장하자고 하면 친구들은 흔히 "로컬스토리지에 저장하자" 라는 얘기를 많이 하는것을 보았고, 저 또한 많이 하였습니다. 하지만 이 로컬스토리지, 세션스토리지에 대해 면접때 듣는다고 생각하면 어떻게 답을 해야할지, 어떻게 정의를 해야할지 막막하였습니다. 또한 지금 하고있는 스터디에서 이 두개에 대해 알아보는게 과제이기도 하였기에 이렇게 블로그를 작성하게 되었습니다. 웹스토리지란?(webstorage) 본격적으로 들어가기에 앞서, 스토리지라는것의 개념을 먼저 알면 좋을 것 같아 간단하게 설명을 해드리도록 하겠습니다. 클라이언트 내에서 데이터를 저장할 수 있도록 지원하는 저장소 쿠키를 보안하기 위해 나온 저희가 앞으로 공부할 로컬스토리지/세션스토리지를 의미하기도 합니다. ..
![[Web] JWT와 OAuth는 무엇이며, 차이점은?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdbyU5f%2FbtsFMriUD6c%2FR1zamPFeJyfA0xdfUPIEvk%2Fimg.png)
배경 평소 JWT라는 것은 토큰이다! 까지만 알고, 그 이후를 잘 모르고 심지어 OAuth는 말로만 들어보고 어떤 기능을 하는지, 어떤 관계성이 있는지 전혀 알지 못하였습니다. 그렇기에 이번 CS 스터디를 통하여 JWT가 무엇인지, OAuth가 무엇인지 정확하게 알아가는 시간과 두 개의 차이점이 무엇인지 알아가는 블로그를 작성하게 되었습니다. JWT란?(Json Web Token) 인증에 필요한 정보들을 암호화시킨 JSON 토큰 JWT의 구조 헤더( HEADER ), 페이로드( PAYLOAD ), 서명( SIGNATURE )의 세 부분으로 구성된다. HEADER . PAYLOAD . SIGNATURE 이렇게 '.(dot)'을 구분하로 하여 JWT 토큰 1개를 이룹니다. 1) HEADER 서명 시 사용하는..
![[Web] 'https://www.google .com/' 을 검색하면 어떤 일이 발생할까](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkFksR%2FbtsEyNAgbjF%2Fl35P9GtKm9KqpHSSBHQ64K%2Fimg.png)
배경 "미니멘토"라는 스터디를 진행하면서 면접을 보았을때 실제로 이런 질문을 현역 개발자분이 저에게 하셨고, 또한 지금 CS 스터디를 하면서 이와 같은 질문이 나올 확률이 높다고 하기에 한번 정리를 제대로 해보자!하여 이렇게 정리를 하게 되었습니다. 웹 동작 방식 먼저 간단하게 이미지로 간단하게 이해를 한 뒤, 자세하게 설명을 해보도록 하겠습니다. 진행 단계 1. https://www.google.com/ 을 검색 2. 웹 브라우저에서 캐싱된 DNS기록들로 도메인 주소와 대응하는 IP 주소를 확인 DNS(Domain Name System Servers) : 링크들의 이름과 주소를 저장하고 있는 주소록 만약 여기에서 기록에 남지 않았을 경우, 바로 다음 3단계로 넘어가게 됩니다. 3. HTTP 사용하여 D..
![[Web] HTTP 요청 메서드](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTB9UW%2FbtsEtjHEtFk%2Ft9QEYykVoKeVzkjRNesFyK%2Fimg.png)
📝함께 참고하면서 읽으면 좋을 글 https://codingaestheticians.tistory.com/entry/HTTP-HTTP%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90 [HTTP] HTTP의 기본 개념 📝함께 참고하면서 읽으면 좋을 글 https://codingaestheticians.tistory.com/entry/HTTP-TCP%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90# [HTTP] TCP의 기본 개념 배경 데이터를 패킷 교환 방식으로 전달하는데, 문제가 있 codingaestheticians.tistory.com 배경 메시지 중에서 첫째 줄 요청 라인의 맨 앞에 나오는 정보가 바로 요청 메서드 입니다. 헤더..
![[Web] IP의 기본 개념](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPvDbq%2FbtsEvWdG89t%2FnyWztmaPp5GC60h84vbrp1%2Fimg.png)
배경 웹 페이지를 제공하기 위한 HTTP부터 파이리 송수신을 위한 FTP까지 수많은 컴퓨터와 보조기기로 연결된 네트워크 안에서 원활이 통신하려면 각 상황에 맞는 프로토콜이 필요합니다. 프로토콜은 네트워크의 흐름을 파악하는데 있어 핵심적인 역할을 하므로 역할기능을 인지하는데 매우 중요하다고 말할수 있는 것이죠. 그중에서 가장 중요하고 중요한 역할을 하는 프로토콜, IP에 대해 알아보겠습니다. IP란(Internet Protocol) 인터넷에서 데이터를 주고받을때 사용하는 통신규약 ->'패킷'을 정해진 목적지까지 운반하기 위해 사용 그렇담 여기서 의문점이 들 것입니다. 패킷이란 무엇일까요? 예를 들어서 설명을 해보도록 하겠습니다. 유튜브에서 원하는 영상을 보고싶어 클릭하며 유튜브 웹 서버에서 우리의 컴퓨터,..
![[Web] HTTP의 기본 개념](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7hl5T%2FbtsEqv2oYtP%2FKTVjKse8J1RVp2WXLLUuK1%2Fimg.png)
📝함께 참고하면서 읽으면 좋을 글 https://codingaestheticians.tistory.com/entry/HTTP-TCP%EC%9D%98-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90# [HTTP] TCP의 기본 개념 배경 데이터를 패킷 교환 방식으로 전달하는데, 문제가 있습니다. 바로, 중간에 사라지는 패킷이 생긴다는 문제입니다. 이 말은 즉 고양이 사진을 요청했는데 고양이 뒤에 있는 배경이 안보이거 codingaestheticians.tistory.com 배경 카페에 가서 앉아만 있다고 해서 원하는 커피가 눈앞에 나타나지 않습니다. 계산대로 가서 어떤 음료나 간식을 주문할지, 어떤 옵션을 추가할지 점원에게 설명해야 한다는 메뉴를 받아 자리에서 먹을 수 있습니다. 인터넷..
![[Web] TCP의 기본 개념](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSv3Rb%2FbtsEwGBS9eV%2FtK0YFMRWhict4iDqOicPp1%2Fimg.png)
배경 데이터를 패킷 교환 방식으로 전달하는데, 문제가 있습니다. 바로, 중간에 사라지는 패킷이 생긴다는 문제입니다. 이 말은 즉 고양이 사진을 요청했는데 고양이 뒤에 있는 배경이 안보이거나 고양이 귀가 사라진것과 같습니다. 이러한 오류를 감지하고 해결해 데이터가 온전히 전송될 수 있게 하는 프로토콜이 바로 TCP입니다. TCP란(Transmission Control Protocol) 신뢰성 있는 데이터 통신을 위한 프로토콜 신뢰성 있는 통신이란 언제 어디서든 데이터를 온전히 가져다줄거라는 믿음이 있는것과도 같은 말입니다. 헤더와 플래그 모든 프로토콜은 데이터의 앞에 헤더라는 정보를 추가해 전송합니다. 헤더 안에는 해당 데이터에 대한 정보가 담겨져있는것이죠 조금 더 간단하게 설명하자면, 택배 상자에 붙어 ..
![[Web] URL의 기본 개념](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FX566G%2FbtsEyN1hZZq%2FQWkRGalp1KKkgtjxvTqWn0%2Fimg.png)
배경 사실 URL은 저희에게 매우 익숙한 개념입니다. 웹 브라우저 상당 주소창에 입력만 하면 그와 관련된 모든 것이 URL입니다. 예를 들어서 제가 맛집을 알기 위해 네이버를 들어간다고 한다면, https://naver.com입력합니다. 하지만 이것은 한 덩어리인것을 알고계시나요? 이 URL에는 프로토콜 도메인 등 여러 요소를 합친 결과물입니다. URL이란(Uniform Resource Locator) 웹을 사용하는 사람들이 원하는 자원을 정확히 찾아갈 수 있게 특정 웹 자원을 구별할 수 있는 고유한 주소 만약 친구를 만나기 위해 약속장소를 물어봤을때 친구가 "스타벅스"라고만 말한다면 전국에 있는 수많은 스타벅스 중 어디에 있는 스타벅스를 가르키는 것인지 헷갈릴 것입니다. 그렇기에 정확히 원하는 곳으로 ..
![[Network] 네트워크의 기본 개념](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbthKeQ%2FbtsEysCS9NS%2FnN1BK2GA0Bw5CaRytmh8Pk%2Fimg.png)
네트워크란? 컴퓨터 사이에 데이터를 주고받는 통신망 net+work의 합성어로 표현하자면 그물처럼 서로 긴밀하게 연결된 것 우리가 앞으로 얘기할 네트워크는 "컴퓨터네트워크" 로 컴퓨터 사이에 데이터를 주고받는 통신망을 의미합니다. 범위에 따라 네트워크를 LAN,WAN으로 나눠보겠습니다. LAN의 개념 지리적으로 가까운 기기들이 서로 연결된 소규모 네트워크 집에서 공유기를 사용하시나요? 만약 집에 공유기가 있다면, 정상적으로 공유기가 켜져있어야 인터넷이 정상적으로 잘 터지게 되죠. 이렇게 공유기를 중심으로 집 안의 기기들이 연결된 홈 네트워크가 바로 LAN의 한 형태입니다. 그림으로 나타내면 이렇게 나타낼수 있죠 LAN의 특징 비교적 간단하게 구현가능하다. -물리적 거리가 가깝긱에 비교적 간단하게 구현할 ..