CS
-
JWT(JSON Web Token)?CS 2024. 5. 11. 11:51
오늘날, 웹 애플리케이션은 사용자 정보 보호와 인증 관리가 필수적인 요소가 되었다.과거엔 세션 기반 인증 방식을 많이 사용했지만, 분산 환경에서의 확장성과 보안성 문제로 인해 새로운 솔루션이 필요하다. JWT는 이러한 문제를 해결하기 위해 등장한 인증 및 인가 표준이다.JWT는 사용자 정보를 안전하게 포함하고 암호화하여 클라이언트와 서버 간의 통신을 보호한다.또한, 분산 환경에서도 효율적으로 작동하여 다양한 웹 애플리케이션에서 널리 사용되고 있다. JWT(JSON Web Token)JWT는 웹 애플리케이션에서 인증 및 인가를 위한 표준 토큰이다. 과거 세션 기반 인증은 스케일링이 어렵고 서버 부담이 크다는 단점이 있었다.하지만 JWT는 분산 환경에서도 안전하게 사용할 수 있는 솔루션을 제공한다. JWT의..
-
OAuth란?CS 2024. 5. 11. 11:51
여러 웹사이트나 앱에서 로그인을 위해 매번 회원가입을 하는 건 번거롭고 불편하며,여러 서비스에 회원가입을 하는 만큼 ID와 비밀번호 관리도 까다로워진다. 하지만, OAuth를 사용하면 페이스북이나 구글, 네이버 등 소셜 로그인을 통해 간편하게 로그인할 수 있다.또한 OAuth는 개인정보 유출 사고가 빈번하게 일어나는 요즘, 사용자들의 개인정보를 보호하기에 안전한 로그인을 도와준다. OAuth(Open Authorization)OAuth는 사용자가 웹사이트나 앱에서 자신의 개인 정보를 공유하지 않고도 제3자 서비스를 이용할 수 있도록 하는 인증 표준이다. 쉽게 말하면, 각종 서비스에서 타사의 API를 사용하고 싶을 때 권한 획득을 위한 프로토콜이다. 어떠한 서비스를 이용할 때, 한 번쯤은 아래와 같은 화면..
-
node.js 환경 vs 브라우저 환경CS 2024. 1. 10. 19:08
node.js와 브라우저는 둘 다 자바스크립트 엔진을 내장하고 있어서 자바스크립트라는 프로그래밍 언어를 기반으로 실행된다. 하지만 두 가지 실행환경의 존재 목적과 제공하는 기능의 차이가 있다. 여기서 자바스크립트 엔진이란, 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터를 칭하는데, 크롬의 경우 V8 엔진, 파이어폭스는 스파이더몽키 등이 있다. node.js 환경 서버 개발 환경을 제공하는 것이 주된 목적 JavaScript 엔진: C++로 작성된 구글 크롬의 자바스크립트 엔진, 이를 통해서 JavaScript 코드 실행 이벤트 루프: node.js는 이벤트 기반 방식으로 동작하여 이벤트 처리를 위해 대기하고 있는 이벤트를 실행하는 역할 네트워크: 네트워크 프로그래밍을 위한 모듈을 제공하는데, 이를..
-
Vue vs React (프레임워크 vs 라이브러리)CS 2024. 1. 9. 22:20
Vue와 React에 대한 특징을 알아보기 전에 우리는 프레임워크(Framework)와 라이브러리(Library)가 무엇이고, 둘의 차이가 무엇인지를 알아야 한다. 개발을 하면서 프레임워크(Framework)랑 라이브러리(Library)라는 용어를 많이 들어봤을 것이다. 두 가지 모두 소프트웨어 개발에 사용되는 도구이지만, 서로 다른 개념을 가진다. 프레임워크(Framework) 애플리케이션의 기본적인 구조와 원하는 기능 구현을 위한 필요 기능을 제공하는 하나의 뼈대 프레임워크는 개발 시 필요한 필요 기능과 알고리즘, DB연동과 같은 기능을 위해 기본적인 구조를 제공하고, 이러한 구조 위에서 사용자는 코드를 작성하게 된다. 즉, 개발자는 프레임워크로 들어가서 프레임워크가 지원하는 문법에 따라 작성한다. ..
-
REST API & RESTFUL APICS 2024. 1. 7. 17:00
REST 자원을 이름으로 구분하여 해당 자원의 정보를 주고 받는 모든 것을 의미 여기서 자원이란, 소프트웨어가 관리하는 모든 것을 의미한다. 문서와 그림, 데이터 그리고 소프트웨어 자체도 자원이 될 수 있다. REST API(Representational State Transfer API) REST를 기반으로 HTTP 프로토콜을 사용하여 데이터를 주고 받는 API REST API 특징 클라이언트-서버 모델: 클라이언트와 서버는 서로 독립적으로 동작한다. 클라이언트는 서버에서 데이터를 요청하고, 서버는 데이터를 응답한다. 무상태성: HTTP는 상태가 없는 프로토콜로, 클라이언트가 서버에 요청을 보내면 서버는 그 요청에만 응답하고, 클라이언트의 상태를 저장하지 않는다. 자원 기반: 데이터는 자원으로 표현되는..
-
세션과 쿠키, 그리고 웹 스토리지CS 2024. 1. 7. 16:59
사용 이유 세션과 쿠키, 웹 스토리지는 모두 HTTP의 connectionless(연결이 없는), stateless(상태가 없는) 특성을 보완하기 위해 사용되는 기술이다. 즉, 클라이언트가 서버에 요청을 보내면 서버는 그 요청에만 응답을 하고, 클라이언트의 상태를 저장하진 않는다. 그렇기에 서버는 클라이언트가 어떤 요청을 했고, 어떤 정보를 가지고 있는지 알 수 없다. 따라서 세션과 쿠키, 웹 스토리지는 HTTP의 단점을 보완하기 위해 클라이언트의 상태를 서버나 클라이언트에 저장하고, 이를 통해 서버는 클라이언트의 상태를 파악하여, 각 사용자에게 맞춤화된 서비스를 제공하거나 사용자의 행동을 추적할 수 있다. 웹 스토리지 기술 웹 애플리케이션이 클라이언트 측에 데이터를 저장하고 관리할 수 있도록 하는 기술..
-
JS(JavaScript) 문법CS 2023. 12. 3. 14:54
JS(JavaScript) JS(JavaScript)는 주로 웹 개발에서 사용되는 프로그래밍 언어 HTML, CSS와 함께 WWW(World Wide Web)의 핵심 기술로, JavaScript를 사용하며 동적 및 대화형 웹 페이지를 생성할 수 있으므로 개발자는 사용자 경험을 향상하는 클라이언트 측의 기능을 구축할 수 있다. JS 변수 JavaScript에서 변수는 데이터 값을 저장하는 컨테이너로, var, let, const 등의 키워드를 사용하여 선언할 수 있다. JS 변수 같은 경우에는 다른 프로그래밍 언어와 다르게 데이터 타입을 가지지 않아서 숫자와 문자열, 불리언, 배열 등 대입 연산자를 통해 변수에 값을 넣을 수 있다. var x = 10; var y = "10"; let y = "hello"..
-
서버와 클라이언트CS 2023. 12. 3. 14:52
서버와 클라이언트는 네트워크 컴퓨팅의 기본 구성 요소로, 통신과 데이터 교환을 촉진하는 데 서로 다른 역할을 한다. 서버와 클라이언트에 대해 자세히 알아보기 전에 이 네트워크 컴퓨팅이란 무엇인지를 먼저 알아야 한다. 네트워크 컴퓨팅 두 대 이상의 컴퓨터를 케이블로 연결하여 통신할 수 있는 네트워크를 구성하여 정보 및 서비스를 공유하는 개념 이러한 네트워크 컴퓨팅의 발전으로 전 세계의 수많은 컴퓨터가 인터넷이라는 하나의 네트워크를 구성하여 인터넷을 통해 어마하게 많은 정보와 서비스를 공유할 수 있게 되었다. 서버 네트워크를 통해 클라이언트에게 서비스나 리소스, 또는 기능을 제공하는 컴퓨터 또는 소프트웨어 시스템 다수의 클라이언트에게 서비스를 제공해야 하기에, 서버는 안정적이고 신뢰할 수 있으며, 항상 클라..