개발에 필요한 기초 지식
-
JWT (Json Web Token)개발에 필요한 기초 지식 2022. 3. 21. 16:40
HTML 삽입 미리보기할 수 없는 소스 프로젝트를 진행하면서 JWT를 사용했음에도 불구하고 정확히 어떤 것인지 모른 채 사용해서 이 기회에 정리하고자 합니다. JWT에 대해 높은 수준으로 이해하고자 한다면 세션과 쿠키에 대한 정리가 우선되어야 한다고 봅니다. 그래서 이 글 다음에 세션과 쿠키 그리고 OAuth 2.0 에 대해서 정리하겠습니다. # JWT보다 먼저 사용되고 있던 방식은 무엇이며 어떤 문제가 있었을까? 먼저 사용되고 있던 방식은 서버 기반의 인증 방식이다. 사용자 인증을 서버의 세션을 사용하여 서버 측(서버의 램이나 디스크, 데이터베이스)에서 사용자 정보를 관리하는 것을 말한다. 그런데 이 방식은 다음과 같은 문제들을 가지고 있었다. 확장성 제약 서버에서 클라이언트의 요청을 계속 저장해둬야 ..
-
정적 언어와 동적 언어의 특징 및 차이점개발에 필요한 기초 지식 2022. 3. 15. 23:39
HTML 삽입 미리보기할 수 없는 소스 JavaScript의 배열이 다른 언어와 다른 점에 대해 봤는데 이 부분이 이해가 안 되서 이렇게 찾아보게 되었습니다. 배열 내부의 데이터 타입이 서로 다를 수 있다. 제가 그나마 아는 언어가 Python인데 제가 알기로는 Python에서 배열 내부의 데이터 타입이 달라도 되는 것으로 알아서 테스트를 해봤습니다. 결과는 아래처럼 문제 없이 실행되었습니다. 그래서 조금 더 찾아보니 여기서 말한 "다른 언어"는 정적 언어를 의미하는 듯 합니다. 그래서 이참에 정적 언어와 동적 언어에 대해 정리하고자 합니다. # 정적 언어의 특징과 장단점 특징 변수에 들어갈 값의 형태에 따른 자료형(타입)을 컴파일 시에 결정 변수에 들어갈 값의 형태에 맞지 않는 타입을 지정하면 타입 에..
-
REST API개발에 필요한 기초 지식 2022. 3. 11. 13:53
HTML 삽입 미리보기할 수 없는 소스 1. 대체 REST API가 뭐길래 REST API 노래를 하는 거지? 2. 이미 REST API 하게 코드를 작성했는데 이 개념만 모르는 걸까 아니면 잘못 활용했던 걸까? Q. REST API 실제 예시 들어주면서 이럴 때는 어떠한 메서드를 써야 하는지 고민해본 적이 있는가? REST API 구현하기 위해서는 HTTP 프로토콜, 메서드 종류, 라우팅에 대한 이해가 필요하다. 개념 설명 REST의 탄생 배경 RESTful의 의미는? 샘플 REST API 작성 통신 과정 설명 document 뭘로 작성했는지? 왜 작성했는지? 자동 문서 도구 툴들 사용해 봤는지? 이미지 업로드 어떻게 하는지? # REST API란 (Representational State Transf..
-
프레임워크와 라이브러리란 무엇일까?개발에 필요한 기초 지식 2022. 2. 21. 00:06
HTML 삽입 미리보기할 수 없는 소스 # 프레임워크 (Framework) - 뼈대나 구조를 의미 - 장점 : 상대적으로 큰 프로젝트에 더 적합 (확장성이 좋다) - 장점 : 제어의 역전(IOC)로 인해 보다 더 코드에 집중할 수 있다. - 단점 : 로딩 시간이 길어지고 간단한 프로그램을 개발할 경우 상대적으로 복잡해질 수 있다. - Spring, Django, NodeJs 등 # 라이브러리 (Library) - 어떤 기능을 구현하기 위해 모아놓은 도구나 함수들을 의미 - 장점: 특정 기능만 필요할 경우 거기에 맞는 라이브러리를 검색해서 쉽게 사용 가능 - 단점: 해당 라이브러리를 직접 컨트롤해야 해서 상대적으로 에러가 발생할 확률이 높다. - React, JQuery 등 - 파이썬에서는 math, ti..
-
객체 지향 프로그래밍(OOP) 시리즈 - 객체 지향 프로그래밍이란?개발에 필요한 기초 지식 2022. 1. 23. 23:57
위코드에서 수업도 듣고 2번의 프로젝트도 진행하면서 많이 들었던 단어 중 하나가 "객체 지향 프로그래밍"인데 대체 Object-Oriented Programming 이란 무엇이며 그걸 왜 쓰는것인가에 대해 쓰고자 합니다. 객체 지향 프로그래밍(OOP)이란 무엇이며 왜 등장했을까? OOP 등장 이전에는 절차 지향 프로그래밍이 있었습니다. 순차적인 처리를 중요시하며 컴퓨터의 작업 처리 방식과 유사하기에 작업 시간이 빠르단 것이 장점입니다. 하지만 하드웨어의 폭발적인 성장에 비해 기존의 방식으로 거대해지고 복잡해진 소프트웨어를 설계하는 것에 어려움이 많았습니다. 이 때 OOP가 등장했습니다. OOP란 프로그래밍에 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 ..