728x90
반응형

분류 전체보기 93

스택(Stack), 큐(Queue) 개념과 차이점

스택 (Stack) 스택(Stack)이란 데이터가 입력되는 순서대로 쌓이고, 나중에 들어온 것부터 먼저 사용하는 자료구조 입니다. 이러한 데이터 구조를 LIFO (Last In First Out)라고 합니다. (후입선출) 스택에서는 데이터를 삽입하는 것을 PUSH, 데이터를 삭제하는 것을 POP이라고 합니다. 스택 예시 하노이의 탑 웹 브라우저 뒤로가기 실행 취소 큐 (Queue) 큐란 데이터가 입력되는 순서대로 쌓이고, 먼저 들어온 것부터 사용하는 자료구조입니다. 이러한 데이터 구조를 FIFO (First In First Out)라고 합니다. (선입선출) 큐에서는 데이터를 삽입하는 것을 ENQUEUE, 데이터를 삭제하는 것을 DEQUEUE이라고 합니다. 큐 예시 은행 업무 캐시(Cache) 구현 프로세..

Study/자료구조 2021.08.19

객체 지향 프로그래밍(OOP, Object-Oriented Programming) 이란?

객체 지향 프로그래밍 이란? 객체 지향적인 프로그래밍(OOP, Object-Oriented Programming)이란, C와 같은 절차 지향적인 프로그래밍이 아닌 객체의 관점에서 프로그래밍을 한다는 것입니다. OOP는 절차지향에 비해서 사람의 사고방식과 더 가깝습니다. 그리고 OOP는 객체들의 유기적인 관계를 통해서 프로세스가 진행됩니다. OOP 특징 1. 캡슐화 (Encapsulation) - 특정한 객체에 대해서 해당 객체가 필요한 변수나 메소드를 하나로 묶는것을 의미합니다. 2. 추상화 (Abstraciton) - 객체들의 공통된 속성들을 파악하여 클래스를 정의하는 것입니다. 3. 상속성 (Inheritance) - 상위 개념의 특징을 하위 개념이 물려받는 것입니다. (부모클래스가 자손 클래스에게 ..

Study/BackEnd 2021.08.18

[JavaScript] 자주 쓰이는 정규식 (아이디, 비밀번호)

아이디 (길이는 4자~20자, 영문자 대문자, 영문자 소문자, 숫자로 시작하는 아이디, 끝날때 영문자 대문자, 영문자 소문자, 숫자) let reg_id = /^[A-za-z0-9]{4,20}$/g; (길이는 4자~20자, 영문자 대문자, 영문자 소문자, 숫자로 시작하는 아이디) let reg_id = /^[A-za-z0-9]{4,20}/g; (길이는 4자~20자, 영문자 대문자, 영문자 소문자로 시작하고, 영문자와 숫자 각각 최소 1개 이상) let reg_id = /^([A-za-z]{0,0})(?=.*[a-zA-Z])(?=.*[0-9]).{4,20}$/g; 비밀번호 (길이는 8자~20자, 영문자, 숫자, 특수문자가 각각 최소 1개 이상) let reg_pwd = /^(?=.*[a-zA-Z])(?=...

Dev/JavaScript 2021.08.17

Sequelize 란? 설치 및 사용법

Sequelize 란? Sequelize는 node.js 라이브러리로써 mysql등 과 같은 관계형 데이터베이스를 쉽게 다룰수 있게 도와주는 라이브러리입니다. Sequelize는 node.js 대표적인 ORM입니다. ORM 이란? ORM (Object Relational Mapping) 이란? ORM이란? ORM이란 Object Relational Mapping의 약자로 관계형 데이터베이스 관리 시스템(RDBMS)(Relational Database Management System)과 객체 지향 프로그래밍 언어(OOP)(Object Oriented Programming) 사이에.. ujam.tistory.com Sequelize 설치 방법 sequelize와 mysql을 사용할거기 때문에 mysql2를 ..

Study/BackEnd 2021.08.14

ORM (Object Relational Mapping) 이란?

ORM이란? ORM이란 Object Relational Mapping의 약자로 관계형 데이터베이스 관리 시스템(RDBMS)(Relational Database Management System)과 객체 지향 프로그래밍 언어(OOP)(Object Oriented Programming) 사이에 데이터를 맵핑(연결)해주는 것이 ORM입니다. ORM 장점 DBMS(Database Management System)에 종속성이 줄어듭니다. 재사용 및 유지보수가 편리성이 증가합니다. SQL문을 사용하지 않고 객체 지향 프로그래밍 언어(OOP)로 구현이 가능합니다. (생산성이 증가합니다) ORM 단점 SQL문을 사용하는 것보다 복잡해질 수 있습니다. 프로젝트의 복잡성이 높아질 경우에 같이 난이도도 올라갑니다. 항상 부족..

Study/DB 2021.08.11

Node.js 란?

Node.js란? 위키백과에 아래와 같이 정의되어 있습니다. Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다. 특징 Single-Thread의 non-blocking I/O 이벤트 기반 비동식 방식으로 작동한다. JavsScript 엔진(V8 Engine)로 빌드 된 JavaScript 런타임이다. 장점 자바스크립트를 사용하여 서버를 처..

Study/BackEnd 2021.08.10

MVC 패턴이란?

MVC란 MVC 는 Model, View, Controller의 약자 입니다. 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴입니다. MVC패턴은 디자인 패턴 중 하나입니다. 디자인 패턴은 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 규약을 통해 쉽게 쓸 수 있는 형태로 만든 것입니다. 어떠한 앱을 만들 때 앱을 유지보수를 하고 공유를 하면서 만들 때 더 쉽고 깔끔하게 만들 수 있는 방법을 고안해야 됩니다. 만약 이러한 방법들을 만들지 않는다면 클래스 함수들을 일일히 다 만들어야 할겁니다. M (model, domain) M은 Model 입니다. Model이란 프로그램이 작업하..

Study/BackEnd 2021.08.08

HTTP 상태코드 정리

정보 상태 코드 (100 - 199) 100, 101 Success 상태 코드 (200 - 299) 200, 201, 202, 203, 204, 205, 206 Redirection 상태 코드 (300 - 399) 300, 301, 302, 303, 304, 305, 306, 307 Client Error 상태 코드 (400 - 499) 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 410, 411, 412, 413, 414 Server Error 상태 코드 (500 - 599) 500, 501, 502, 503, 504, 505, 511 정보 상태 코드 (100 - 199) 100 - Continue 요청에 대한 시작부분 일부를 받았으며, Client..

Study/Network 2021.08.06

TCP 3-way handshake와 4-way handshake 란?

1. TCP 3-way Handshake 란? TCP는 장치들 사이에 논리적인 접속을 성립하기 위하여 three-way handshake를 사용합니다. TCP 3-Way Handshake는 TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미합니다. Client > Server : TCP SYN Server > Client : TCP SYN, ACK Client > Server : TCP ACK SYN = synchronize sequence numbers ACK = acknowledgment 의 약자입니다. 이러한 절차는 TCP 접속을 성공적으로 성립하기 위하여 반드시 필요합니다. TCP의 ..

Study/Network 2021.08.05

REST API란? 특징 및 규칙 그리고 장단점

REST란? REpresentational State Transfer 의 약자이며, 개념을 한줄로 정의하자면 아래와 같이 정의할 수 있습니다. HTTP 통신에서 어떤 자원에 대한 CRUD 요청을 Resource와 Method로 표현하여 특정한 형태로 전달하는 방식 즉, REST란 어떤 자원에 대해 CRUD(Create, Read, Update, Delete) 연산을 수행하기 위해 URI(Resource)로 요청을 보내는 것으로, Get, Post 등의 방식(Method)을 사용하여 요청을 보내며, 요청을 위한 자원은 특정한 형태(Representation of Resource)으로 표현됩니다. [REST의 특징] 1. Uniform Interface(일관된 인터페이스) Uniform Interface란,..

Study/Network 2021.08.04
728x90
반응형