전체 글

전체 글

    [Network] 인터넷 네트워크 구조 (IP,TCP,UDP,DNS,PORT)

    네트워크란 Net + Work 의 합성어로써 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태 네트워크 종류 PAN ( Personal Area Network ) : 가장 작은 규모의 네트워크 LAN ( Local Area Network ) : 근거리 영역 네트워크 MAN (Metropolitan Area Network) : 대도시 영역 네트워크 WAN (Wide Ares Network) : 광대역 네트워크 VAN (Value Added Network) : 부가가치 통신망 정보의 축적과 제공, 통신속도와 형식의 변화, 통신경로의 선택 등 여러 종류의 정보서비스가 부가된 통신망. ISDN (Integrated Services Digital Network) : 종합정보 통신망(=BISDN) ..

    [Javascript] Closure

    함수를 선언할 때 만들어진 scope가 사라진 후에도 호출할 수 있는 함수 scope가 끝난 외부 함수의 변수를 참조할 수 있다. → 어떤 함수 A에서 선언한 변수 a를 참조하는 내부함수 B를 외부로 전달할 경우, A의 실행 컨텍스트가 종료된 이후에도 변수 a가 사라지지 않는 현상 클로저(closure)란, 외부 함수에 접근할 수 있는 내부 함수 혹은 이러한 원리를 일컫는 용어인데 스코프에 따라서 내부함수의 범위에서는 외부 함수 범위에 있는 변수에 접근이 가능하지만 그 반대는 실현이 불가능하다는 개념이다. 특징으로는 외부함수는 외부함수의 지역변수를 사용하는 내부함수가 소멸될 때까지 소멸되지 않는다.예를 들어 한 함수안에 다른 함수가 있다면 그 안의 함수는 바깥에 정의해놓은 변수를 사용할 수 있지만 그 반..

    [OAuth] OAuth 2.0 이란

    [OAuth] OAuth 2.0 이란

    OAuth를 왜 쓸까 OAuth를 왜 쓸까? 하고 생각해보기 전에 네이버 로그인이나 카카오 로그인을 왜 사용할까? 네이버 로그인이나 카카오 로그인을 쓰는 데에는 여러가지 이유가 있을 수 있다. 나의 경우에는 유저들에게 회원가입/로그인을 쉽게 제공하기 위해 이번 프로젝트에서 카카오 소셜로그인을 구현했다. 그렇다면 내가 만든 사이트에서 카카오 소셜로그인을 사용하려는 유저가 카카오톡을 사용하는 사람인지는 어떻게 알 수 있을까?? 이걸 해결하기 위해 OAuth가 생겼다. OAuth 란? Open Authorization 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 ..

    백엔드 웹개발 프로젝트(Node.js, express)

    백엔드 웹개발 프로젝트(Node.js, express)

    프로젝트 및 기능 소개 로컬 푸드 마켓 '미래식당' 사이트에 사용된 API 들을 참고하여 필요 기능들을 개발한 클론 프로젝트 (https://meesig.com) 사이트 선정이유 - 팀원 모두가 처음으로 진행한 프로젝트인 만큼 웹서비스에서 보편적으로 구현되는 기능들을 이해하고, 적용할 수 있는 것을 목표로 선정 유튜브 시연영상 - https://youtu.be/f1He2K5uwyI (약 4분) 개발기간 - 2022-08-29 ~ 2022-09-08 (11DAYS) 개발인원 - 프론트엔드 4명(박예선,박찬영,이은지,임지영), 백엔드 2명(김민우,이윤재) 사용된 기술 및 스택(백엔드) - Javascript, Node.js, Express, MySQL, Postman, JWT, bcrypt, Slack, T..

    [JavaScript] 이진 탐색(Binary Search) 알고리즘

    "이진 탐색 알고리즘의 이해와 적용" 1. 이진탐색이란? 데이터가 정렬되어 있는 배열에서 특정한 값을 찾는 알고리즘. ㄴ _본 게시글의 예시의 경우 오름차순으로 되어 있는 데이터를 사용 배열의 있는 임의의 중간 값을 선택하여 찾고자 하는 값 X 와 비교한다. X 가 중간 값보다 작으면 좌측 데이터를 대상으로, X 가 중간 값보다 크면 우측 데이터를 대상으로 다시 탐색한다. X 값을 찾을 때까지 동일한 방법을 반복한다. _(up-down 숫자맞추기 게임과 유사) Database Index 적용의 장단점 장점 - Full Table Scan에 비해 데이터 검색 속도 및 성능이 향상된다. 단점 - 탐색을 위한 정렬된 테이블이 추가되기 때문에 메모리를 사용한다. - DB가 수정될 때마다 인덱스의 업데이트가 필요..

    [Javascript] Math 함수 정리

    Math is a built-in object that has properties and methods for mathematical constants and functions. It’s not a function object. -> Math 객체는 수학에서 자주 사용하는 상수와 함수들을 미리 구현해 놓은 자바스크립트 표준 내장 객체이다. -> 생성자가 존재하지 않아서 따로 인스턴스를 생성하지 않더라도 Math 객체의 모든 method나 property를 바로 사용할 수 있다. 자주 사용하는 함수 정리 Math.min(x,y,z....) 가장 작은 값 반환 Math.max(x,y,z....) 가장 큰 값 반환 Math.random() 0보다 크거나 같고 1보다 작은 무작위 숫자 반환 Math.round(..

    [Javascript] Array 함수 훈련

    알고리즘 문제를 풀며 array 함수의 중요성을 다시 깨달았다... 앞으로 많이 사용할 것으로 예상되니,, 머릿속에 깊게 새길 수 있도록.. 반복된 훈련을 통해 익히자. 아래는 array를 훈련하며 사용된 문제와 함수이다. 실제로는 더 복잡하게 사용되지만 우선 어떤 함수들이 있으며 어떻게 사용되는지 간단 명료하게 정리하였다. // Q1. make a string out of an array { const fruits = ["apple", "banana", "orange"]; const join = fruits.join(","); console.log(join); } // Q2. make an array out of a string { const fruits = "🍎, 🥝, 🍌, 🍒"; const resu..

    mysql-basic-command

    Mac 에서 Mysql 서버 실행 $ mysql.server start​ Root 로그인 $ mysql -u root -p Database 생성 mysql> create database DB_NAME; 조회 mysql> show databases; 삭제 mysql> drop database [database_name]; 사용 mysql> use [database_name]; 현재 사용중인 DB 확인 mysql> select database(); Table 조회 mysql> show tables; 특정 테이블 정보 조회 mysql> desc [table_name]; 컬럼 추가 mysql> alter table [table_name] add [column_name] varchar(100) not null d..