[Spring Boot] About HTTP 요청 관련 어노테이션, @도움!
·
Development Study/Backend
Spring Boot를 사용하기 위해 학습을 하던 중, 문득 HTTP 요청에 따른 어노테이션들이 무엇이 있고, 어떤 일을 하는 지 궁금했습니다. 그래서 저는 이에 대해 알아보기로 하였고, 나중에 이 글을 읽고 도움이 되었으면 하는 마음에 새 글을 작성하기로 하였습니다. @GetMapping 은 무엇인가요? @GetMapping은 Spring Framework에서 제공하는 annotation이며, 주로 HTTP GET 요청을 처리하는 메소드에 사용됩니다. 이는 @RequestMapping의 특수한 형태라고 볼 수 있습니다. 기본적으로, @GetMapping은 컨트롤러의 메소드 위에 위치하여, 특정 URL에 대한 GET 요청이 오면 그 요청을 처리할 메소드를 지정합니다. 간단한 예를 보자면 다음과 같습니다...
[JWT] Jin짜 Way렇게 어렵T? 기초 알아보기
·
Development Study/Backend
JWT를 프론트엔드와 백엔드 관점에서 살펴보자 JWT(Json Web Token) 로그인 방법은 클라이언트(프론트엔드)와 서버(백엔드) 간의 사용자 인증을 수행하는 데 주로 사용됩니다. 이 방법을 사용하면 사용자는 한 번 인증하면 해당 토큰을 계속 사용할 수 있으므로 복잡한 세션 관리를 할 필요가 없습니다. 이에 대한 설명을 프론트엔드와 백엔드의 관점에서 분할해 설명하겠습니다. 프론트엔드 사용자가 프론트엔드에서 로그인 요청을 할 때, 일반적으로 아이디와 비밀번호 등의 정보를 함께 보냅니다. 이는 일반적으로 HTTP POST 요청을 통해 이루어집니다. 로그인 요청이 성공하면 서버는 JWT를 생성하고 이를 HTTP 응답으로 클라이언트에게 보냅니다. 클라이언트(프론트엔드)는 이 토큰을 저장해야 합니다. 이를 ..
[Backend] 로그인 양대 산맥, JWT와 Session 중 무엇을 선택해야할까?
·
Development Study/Backend
결론부터 말해보자면 JWT를 많이 사용합니다. 그 이유 중 하나가 세션을 쓰는 방식 자체가 확장성이 있는 구조가 아니기 때문입니다. 세션과 JWT, 이 두 방법은 어떤 차이가 있는지 알기쉽게 설명 해보도록 하겠습니다. 세션(Session), 고속도로 일반 결제 창구 세션 방식을 사용하는 것은 고속도로의 일반 결제창구를 이용하는 것과 유사합니다. 운전자가 창구에 도착하면 요금을 납부하고, 차량이 정상적으로 통행료를 납부했음을 확인하기 위해 입출구 정보가 기록됩니다. 이 기록은 서버의 메모리에 저장되며, 차량이 고속도로를 빠져나갈 때까지 유지됩니다. 이 방식은 안전하지만, 차량이 많아질수록 결제 창구에서 대기하는 차량이 많아지고, 이로 인해 부하가 발생합니다. JWT(JSON Web Token), 하이패..
[Docker] 도커는 뭐하는 고래일까? + EC2에서 Docker 띄워보기 실습
·
Development Study/Backend
Docker는 백엔드와 프론트엔드, 어떤 유형의 애플리케이션에서도 사용할 수 있는 도구입니다. Docker는 운영 체제 수준에서 가상화를 제공하는 플랫폼이며, 개발자가 애플리케이션과 그 의존성을 '컨테이너'라는 패키지로 묶어서 배포할 수 있게 해줍니다. 이 컨테이너는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 애플리케이션이 실행되는 데 필요한 모든 것을 포함하므로, 이를 사용하여 애플리케이션을 신속하게 구축하고 배포할 수 있습니다. 이번 글에서는 이 Docker에 대해 알아보도록 하겠습니다. 도움이 되었으면 좋겠습니다. AWS Series [Learn About AWS] Series 이 글은 AWS 수업 시간에 진행되는 내용들을 담아 둔 시리즈이다 상반기동안 업데이트 할 예정이며 최대한 위에있는..
[Nest.JS] TypeScript 기반 프레임워크, Nest.JS에 대해 알아보자
·
Development Study/Backend
오늘 저는 여러분에게 백엔드 개발에 있어 효율적이고 강력한 도구인 Nest.js에 대해 소개하고자 합니다. 이 글을 통해 Nest.js가 무엇인지 알아보고, 지금 프론트엔드 개발자의 길을 향해가고 있는 제가 이 기술을 배웠을 때의 이점이 무엇인지에 대해서도 알아보도록 하겠습니다. Nest.js란 무엇인가요? Nest.js는 효율적이고 확장 가능한 서버 사이드 애플리케이션을 구축하기 위한 고성능의 Node.js 프레임워크입니다. Typescript를 기반으로 하지만, Javascript로도 사용이 가능하며, OOP(Object Oriented Programming) FP(Functional Programming) FRP(Functional Reactive Programming) 와 같은 다양한 개발 방법론..
[배경지식] Django, Flask, FastAPI의 차이점을 알아보자
·
Development Study/Backend
Python을 이용하여 단기 프로젝트를 진행하는 사람들에게는 한 번씩은 거쳐가는 고민거리가 있다. Django? Flask? 아니면 요즘 유행하는 FastAPI?? 어떤 것을 선택해야 할까? 이 글은 개발에 필요한 기초지식을 공부하며 정리한 내용을 다룬 글이다 들어가기 전, 도대체 이것들은 무엇인가? 프레임워크 이 글에서 다루게 될 프로그램들은 모두 프레임워크라 불리는 것으로, 목적에 따라 효율적으로 구조를 짜놓는 개발 방식을 지원해주는 프로그램이다 쉽게말해 코딩에 필요한 완성된 기능들을 지원해주어 개발 시간과 노력을 감축시킬 수 있다는 장점을 가지고 있다 예시로는 로그인, 회원가입, CRUD 등이 있다 Django 이 글에서 다루는 3가지의 프로그램 중 가장 넓은 생태계를 가지고 있는 프레임워크이다 3..