Study/CS

· Study/CS
들어가며 소셜 로그인을 구현하면서 OAuth2.0에 대해 공부를 하게 되었다. 사실 각 소셜로그인이 제공하는 API를 호출하기만 하면 간단하게 해결되지만 언제나 기초 지식은 중요하기 때문에 따로 정리해보고자 한다! 들어가기에 앞서 OAuth2.0에 대해 더욱 자세히 알고 싶다면 다음 문서를 읽어보자! RFC 6749 RFC 6749 - The OAuth 2.0 Authorization Framework datatracker.ietf.org OAuth2.0 OAuth2.0은 Open Authentication 2.0의 약자로 인증 및 권한 획득을 위한 업계 표준 프로토콜이다. OAuth2.0은 보안수준이 어느 정도 검증된 플랫폼의 API(ex. google, naver, kakao등)를 이용하여 사용자 인..
· Study/CS
들어가며 프로젝트를 진행하면서 CI/CD를 알고 이를 구현하는게 필요하고, 중요하다는 걸 느끼게 되었다. 일일히 프로젝트를 빌드하고 배포하는 과정이 매우 귀찮기도 하고, 협업을 하게 된다면 팀원들의 코드를 일일히 깃에 push해서 에러를 수정한 다음 배포하기는 번거롭겠다는 생각이 들었다. 따라서 오늘은 CI/CD에 대해 정리하고자 한다. CI/CD란? CI/CD는 지속적 통합(Continuous Intergration)과 지속적 배포(Continuous Deployment)의 약자로, 어플리케이션 개발 단계를 자동화하여 릴리즈 주기를 단축시킨다. CI/CD는 어플리케이션의 통합 및 테스트 단계에서부터 배포에 이르기까지 어플리케이션의 라이프사키을 전체에 걸쳐 지속적인 자동화와 모니터링을 제공하고, 이런 방..
· Study/CS
들어가며 컴퓨터를 사용해 본 적이 있다면 필수적으로 따라오는 소프트웨어이지만 브라우저가 어떻게 동작하는 지는 크게 관심이 없다. 하지만 모름지기 웹 개발자라면 내가 개발한 웹이 돌아가는 소프트웨어가 동작하는 원리는 알고 있어야 하지 않을까. 내가 만든 웹페이지의 도메인을 브라우저 주소창에 입력했을 때 어떤 과정을 거쳐 화면에 보이는지 알아보자. 브라우저 브라우저의 주요 기능 브라우저의 주요 기능은 우리가 원하는 자원을 서버에 요청하고 브라우저에 표시하는 것이다. 여기서 자원이란 HTML문서, PDF 혹은 이미지 혹은 또 다른 형태를 말한다. 자원의 주소는 URI(Uniform Resource Identifier)에 의해 정해진다. 일반적으로 브라우저의 생김새는 다음과 같이 생겼다. 주소 표시 줄, 이전/..
· Study/CS
들어가며 예전에 Petpular 프로젝트 때 사용해본 Spring WebClient에서 동기 & 비동기 / 블로킹 & 논블로킹의 개념이 등장했었다. WebClient는 논블로킹방식으로 작동하고 block() 메소드를 이용해서 블로킹방식으로 바꿔주는데, 이 부분에서 동기 & 비동기 / 블로킹 & 논블로킹 개념에 대한 이해부족으로 고생을 했던 경험이 있었다. 앞으로의 삽질을 방지하기 위해 동기 & 비동기 / 블로킹 & 논블로킹 개념에 대해 스터디 하고자한다. 본격적으로 들어가기 전에 참조한 블로그의 서론을 보자. 동기와 비동기는 프로세스의 수행 순서 보장에 대한 매커니즘이고 블록킹과 논블록킹은 프로세스의 유휴 상태(제어권)에 대한 개념으로 완전한 별개의 개념이라는 것이다. 아무래도 동기와 블록킹, 비동기와 ..
· Study/CS
개발 공부를 하면서 자연스럽게 API를 만들어 사용하고 있었지만 API에 대한 정확한 개념은 모른 채로 사용하고 있어서 문서를 읽을 때 이해를 잘 못하는 경우가 생겼다. 공부는 남에게 설명할 수 있을 정도로 개념을 파악하는 것! 이라고 머리로는 알고 있어도 여러가지 핑계를 대며 어영부영 넘어가곤 한 점에 대해 반성하면서 API에 대해 스터디를 하고자 한다. API란? 위키백과에 따르면 API란 Application Programming Interface의 약자로, 응용 프로그램 프로그래밍 인터페이스를 의미한다고 한다. 이렇게 보면 당연히 이해가 안간다. 난 문과니까 알기 쉽게 그림과 예시로 이해해보자. 호텔리어 출신인 나에게 많이 와닿는 예시가 있어서 가져와봤다 레스토랑에는 손님이 있고 점원과 요리사가 ..
· Study/CS
Spring boot를 공부하면서 URL을 제멋대로 만들고 있었다는 걸 알게 되었다. 지난 REST API 포스팅에서 잠깐 다뤄졌던 내용인데 막연히 그렇구나 하고 넘어갔었는데 막상 실제로 사용하려니 어렴풋한 기억으로만 남아있기도 했고 그 중요성을 모르고 있었다. 따라서 이번에는 REST API 가이드에 맞는 URL 디자인을 복습 및 스터디해보려고 한다. URL Rules 슬래시(/)로 계층관계를 표현하고, URL의 마지막에 슬래시(/)을 포함하지 않는다. 언더바(_) 대신 대쉬(-)를 사용한다. 소문자를 사용한다. 행위(method)는 URL에 포함하지 않는다. 리소스명은 동사 대신 명사를 사용한다. 하지만, 컨트롤 자원을 의미하는 URL은 예외적으로 동사를 허용한다. 파일 확장자는 포함하지 않는다. 1..
· Study/CS
https://www.stevenjlee.net/2020/06/14/이해하기-라우팅-routing-그리고-라우팅-프로토콜-routing-protocol-l3/ [이해하기] 네트워크 라우팅 (Network Routing), 그리고 라우팅 프로토콜 (Routing Protocol) - L3 Network | STEV 네트워크 세계에서의 라우팅 (Routing) 이란, 패킷에 포함된 주소 등의 상세 정보를 이용하여 목적지까지 데이터 또는 메세지를 체계적으로 다른 네트워크에 전달하는 경로 선택 (Path Determination) www.stevenjlee.net https://bignet.tistory.com/26 Routing이란? Routing 개요 데이터가 전달하는 과정에서 여러 네트워크들을 통과해야하는..
· Study/CS
REST(REpresentational State Transfer)란? HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식 즉, REST란 어떤 자원에 대해 CRUD연산을 수행하기 위해 URI(Resource)로 요청을 보내는 것으로, POST / GET / PUT / DELETE / PATCH 등의 방식(Method)를 사용하여 요청을 보내며 요청을 위한 자원은 특정한 형태(Representation of Resource)으로 표현된다. 이러한 REST기반의 API를 웹으로 구현한 것이 REST API이다. REST의 구성요소 자원 (Resource) - URI 서버는 고유한 ID를 가지는 Resource를 가지고 있으며, 클라이언트..
· Study/CS
https://tecoble.techcourse.co.kr/post/2021-04-25-dto-layer-scope/ DTO의 사용 범위에 대하여 1. DTO란? DTO(Data Transfer Object)란 계층간 데이터 교환을 위해 사용하는 객체(Java Beans)입니다. 간략하게 DTO의 구체적인 용례 및 필요성을 MVC 패턴을 통해 알아볼까요? 🚀 1.1. MVC 패턴 MVC… tecoble.techcourse.co.kr https://velog.io/@geesuee/JAVA-%EC%9E%90%EB%B0%94-MVC%EC%99%80-DTO [JAVA] 자바 MVC와 DTO 1. MVC란? = Model View Controller MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리..
· Study/CS
Layered Architecture란? 중복으로 개발되는 요소를 별도의 Service 객체로 만들어 여러 컨트롤러에서 사용할 수 있게끔 하는 것이다. Layer를 분리하는 이유? https://umbum.dev/1066 [Spring] MVC : Controller와 Service의 책임 나누기 martinfowler.com/bliki/PresentationDomainDataLayering.html 우선, 가장 크고 중요한 개념은 layer다. 일반적으로 많이 사용하는 layer 구분 Presentation layer Service layer Business layer Persistence laye.. umbum.dev Layer를 나눈다는 것은, 무언가를 추상화 하는 것이 그 목적이다. 추상화를 잘 ..
반응형
Anna-Jin
'Study/CS' 카테고리의 글 목록