[JWT] Jin짜 Way렇게 어렵T? 기초 알아보기
·
Development Study/Backend
JWT를 프론트엔드와 백엔드 관점에서 살펴보자 JWT(Json Web Token) 로그인 방법은 클라이언트(프론트엔드)와 서버(백엔드) 간의 사용자 인증을 수행하는 데 주로 사용됩니다. 이 방법을 사용하면 사용자는 한 번 인증하면 해당 토큰을 계속 사용할 수 있으므로 복잡한 세션 관리를 할 필요가 없습니다. 이에 대한 설명을 프론트엔드와 백엔드의 관점에서 분할해 설명하겠습니다. 프론트엔드 사용자가 프론트엔드에서 로그인 요청을 할 때, 일반적으로 아이디와 비밀번호 등의 정보를 함께 보냅니다. 이는 일반적으로 HTTP POST 요청을 통해 이루어집니다. 로그인 요청이 성공하면 서버는 JWT를 생성하고 이를 HTTP 응답으로 클라이언트에게 보냅니다. 클라이언트(프론트엔드)는 이 토큰을 저장해야 합니다. 이를 ..
[CSS] BEM 방법론에 대해 알아보자(Block, Element, Modifier)
·
Development Study/Frontend
BEM (Block, Element, Modifier)은 CSS 클래스를 명명하는 방법론 중 하나로, HTML과 CSS의 구조를 더 이해하기 쉽고 유지보수하기 쉽게 만들어주는 효과가 있습니다. BEM의 이름은 아래 세 가지 컴포넌트에 따라 붙여집니다. Block (블록) Element (요소) Modifier (수정자) 1. Block (블록) 블록은 독립적인 엔티티로, 재사용이 가능합니다. 예를 들면, 헤더, 컨테이너, 메뉴, 체크박스 등이 이에 해당합니다. 2. Element (요소) 요소는 블록 내부의 구성 요소로, 블록이 없으면 의미를 가지지 못합니다. 예를 들면, 메뉴 항목, 리스트 항목, 헤더 타이틀 등이 이에 해당합니다. 3. Modifier (수정자) 수정자는 블록이나 요소의 상태와 행동을..
[Backend] 로그인 양대 산맥, JWT와 Session 중 무엇을 선택해야할까?
·
Development Study/Backend
결론부터 말해보자면 JWT를 많이 사용합니다. 그 이유 중 하나가 세션을 쓰는 방식 자체가 확장성이 있는 구조가 아니기 때문입니다. 세션과 JWT, 이 두 방법은 어떤 차이가 있는지 알기쉽게 설명 해보도록 하겠습니다. 세션(Session), 고속도로 일반 결제 창구 세션 방식을 사용하는 것은 고속도로의 일반 결제창구를 이용하는 것과 유사합니다. 운전자가 창구에 도착하면 요금을 납부하고, 차량이 정상적으로 통행료를 납부했음을 확인하기 위해 입출구 정보가 기록됩니다. 이 기록은 서버의 메모리에 저장되며, 차량이 고속도로를 빠져나갈 때까지 유지됩니다. 이 방식은 안전하지만, 차량이 많아질수록 결제 창구에서 대기하는 차량이 많아지고, 이로 인해 부하가 발생합니다. JWT(JSON Web Token), 하이패..
[JavaScript, React] const = () => {}? function () {}? 함수 표현식, 함수 선언문 중 무엇을 쓸까?
·
Development Study/Frontend
자바스크립트에서 함수를 작성하는 방법은 여러 가지가 있습니다. 그 중에서도 함수 선언문, 함수 표현식, 그리고 화살표 함수에 대해 알아보겠습니다. 이들의 차이점은 무엇이고 어떤 상황에서 어떤 것을 사용하면 좋을까요?1. 리액트에서의 함수 표현식과 선언문리액트에서 컴포넌트 함수를 작성할 때, 함수 선언문과 함수 표현식 중 어떤 것을 사용해야 할까요? 여기에는 정답이 없지만, 두 방식 간의 차이점을 이해하고 상황에 맞게 적절하게 선택하는 것이 중요합니다. 함수 선언문(function () {})을 사용하면 메인 로직을 한눈에 보여주고, export default와 선언을 동시에 할 수 있습니다. 그런데 이 경우, 일반적인 자바스크립트에서 함수 표현식을 사용할 때의 장점을 일부 포기하게 됩니다. 반면, 함수 ..
[Docker] 도커는 뭐하는 고래일까? + EC2에서 Docker 띄워보기 실습
·
Development Study/Backend
Docker는 백엔드와 프론트엔드, 어떤 유형의 애플리케이션에서도 사용할 수 있는 도구입니다. Docker는 운영 체제 수준에서 가상화를 제공하는 플랫폼이며, 개발자가 애플리케이션과 그 의존성을 '컨테이너'라는 패키지로 묶어서 배포할 수 있게 해줍니다. 이 컨테이너는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 애플리케이션이 실행되는 데 필요한 모든 것을 포함하므로, 이를 사용하여 애플리케이션을 신속하게 구축하고 배포할 수 있습니다. 이번 글에서는 이 Docker에 대해 알아보도록 하겠습니다. 도움이 되었으면 좋겠습니다. AWS Series [Learn About AWS] Series 이 글은 AWS 수업 시간에 진행되는 내용들을 담아 둔 시리즈이다 상반기동안 업데이트 할 예정이며 최대한 위에있는..
[AWS S3] AWS S3 익혀먹기
·
Development Study/AWS
클라우드 기술의 핵심 중 하나인 AWS S3에 대해 알아보려고 합니다. 클라우드 서비스는 우리가 필요한 정보를 언제 어디서나 접근할 수 있도록 해주는 매우 중요한 기술입니다. 그 중에서도 AWS S3는 간편하면서도 안전한 데이터 관리를 가능하게 하는 뛰어난 서비스입니다. 이 글이 도움되었으면 좋겠습니다. 그럼 글을 시작하겠습니다. AWS S3? AWS S3(Amazon Simple Storage Service)는 Amazon Web Services에서 제공하는 객체 스토리지 서비스입니다. 이 서비스는 웹에서 원하는 양의 데이터를 저장하고 검색할 수 있도록 설계되었습니다. 이 서비스는 개발자에게 확장 가능한, 높은 데이터 가용성, 보안, 성능을 제공합니다. AWS S3는 강한 일관성 모델을 제공합니다. 이..