profile
개발하면서 새로 배우거나 경험한 내용을 정리하고 그 외의 공부한 내용을 기록하는 곳입니다.
post-thumbnail

우분투에 MySQL 설치 및 계정 설정하기

이전 포스팅에서 AWS EC2에 우분투를 사용하는 인스턴스를 생성하고 Putty를 통해 접속하는것 까지 진행하였다.이번엔 우분투에 MySQL을 설치하고 유저 생성과 권한 설정을 해본것에 대해 정리하려고 한다.먼저 PuTTY로 AWS EC2 인스턴스에 접속해준다.apt-

2021년 3월 25일
·
0개의 댓글
·

AWS에서 EC2 인스턴스 생성하기

새 프로젝트 지금껏 Node.js를 사용하여 진행했던 프로젝트는 서버를 로컬에서만 돌려보거나 Heroku 같은 PaaS를 사용해서 서버를 올렸다. 하지만 이번에는 AWS에서 리눅스에 Node.js 환경을 구축함으로써 클라우드 컴퓨팅을 경험해보고 리눅스에도 익숙해질 수

2021년 3월 21일
·
0개의 댓글
·

최대공약수, 최소공배수 구하기 - JAVA

프로그래머스 'N개의 최소공배수' 문제풀이 후 최대공약수와 최소공배수 알고리즘을 리마인드 할 겸 정리해보았다.18와 48의 최대공약수는 6이다.두 숫자의 나머지 연산를 재귀적으로 수행하면 최대공약수를 구할 수 있다. (유클리드 알고리즘)ex)최소공배수를 구하기 위해 직

2021년 3월 20일
·
0개의 댓글
·
post-thumbnail

Jest + Supertest 로 Koa API 테스트하기

Jest로 Koa의 API를 테스트하기 위해서 겪었던 일들을 적기 위해 글을 썼다. 테스트 자동화에 가장 많이 쓰이는 도구 중 하나인 Mocha도 있지만 Jest가 설정이 간편하고 하나의 패키지에 모든게 들어있다고 하여 Jest를 사용하기로 했다.(Jest는 mocha

2021년 3월 17일
·
0개의 댓글
·

Koa와 Passport 로 소셜로그인 구현하기

Passport 라이브러리 들어가기 앞서 개인 프로젝트를 진행하면서 웹사이트의 로컬 로그인/회원가입을 구현했다. 그리고 계정의 인증수단으로 이메일 인증을 추가하여 인증이 된 계정만 웹사이트를 이용할 수 있도록 구현을 했다. 하지만 이는 서비스를 바로 이용하고

2021년 3월 2일
·
0개의 댓글
·

운영체제 정리

프로세스란 운영체제에서 할당하는 작업의 단위로 실행중인 프로그램입니다. 운영체제는 프로세스마다 각각 독립된 메모리영역을 할당해주기 때문에 프로세스 간에는 자원을 공유하지않습니다. 스레드는 프로세스 내에서 실행되는 흐름의 단위입니다. 스레드는 프로세스 내에서 각각 Sta

2021년 2월 16일
·
0개의 댓글
·

네트워크 정리

웹 통신의 큰 흐름: https://www.google.com/ 을 접속할 때 일어나는 일웹브라우저가 URL을 해석하여 host부분을 인코딩합니다. HSTS 리스트를 확인하여 있으면 HTTPS로, 없으면 HTTP로 요청합니다.DNS를 조회하기 위해 브라우저와

2021년 2월 2일
·
0개의 댓글
·

조합 알고리즘

완전탐색 문제에서 사용하는 조합 알고리즘프로그래머스의 "메뉴 리뉴얼" 문제를 풀때 사용하였다.재귀함수를 이용하여 구현할 수 있다.함수를 재귀적으로 계속 호출하면서현재 인덱스의 요소를 선택했을때와 선택하지않았을때로 계속 분기하고원하는 갯수만큼 선택을 했을때는 함수호출을

2021년 1월 26일
·
0개의 댓글
·
post-thumbnail

자바스크립트 정리(+ Node.js)

클로저란 함수 안에 함수를 생성했을 때 호출이 종료되더라도 스코프가 사라지지 않고 생성된 시점의 스코프 체인을 기억하고 있는 것을 뜻합니다. 보다 정확히는 외부 함수에 의해 반환되는 내부 함수를 가리키는 말입니다. 클로저를 사용하면 private 변수를 생성하여 정의된

2021년 1월 9일
·
0개의 댓글
·

MongoDB ODM 인 Mongoose 사용하기

MongoDB MongoDB는 NoSQL데이터베이스이며 문서지향(Document-Oriented)적인 데이터베이스이다. 관계형DB가 아니기 때문에 고정된 Schema나 JOIN이 존재하지 않으며 데이터 구조가 key-value 형식으로 이루어져 있다. 내 프로젝트

2020년 12월 16일
·
0개의 댓글
·
post-thumbnail

CORS 이슈 해결하기

로컬에서 프로젝트를 진행하다가 리액트와 Node.js를 각각 다른 도메인에 호스팅하고 진행을 하게되었다. 그 후에 리액트에서 Node.js로 API를 요청하면서 쿠키가 잘 전달되는지를 확인해보니 CORS 이슈때문에 제대로 작동하지않았다.Cross Origin Resou

2020년 11월 28일
·
0개의 댓글
·
post-thumbnail

Koa에서 JWT(JSON Web Token)으로 토큰기반인증 구현하기

현재 진행중인 개인 프로젝트에서는 Node.js의 웹 프레임워크인 Koa를 사용하여 API 서버를 구축하고 있다. 기본적으로 로그인이 필요한 서비스를 만들고 있기 때문에 로그인을 한 유저의 인증 방식이 필요했다.따라서 적절한 인증수단이 필요했는데 JWT(JSON Web

2020년 11월 13일
·
0개의 댓글
·
post-thumbnail

Knapsack 알고리즘(동적 프로그래밍)

동적 프로그래밍의 또 다른 예시로 피보나치 수열이 있는데, 가장 쉽게 생각할 수 있는 재귀함수를 이용해서 문제를 푼다면 그림과 같이 중복되는 부분을 또 재귀함수를 사용해서 값을 얻어야한다.이는 숫자가 커지면 커질수록 중복되는 계산이 많아지므로 큰 오버헤드를 불러일으킨다

2020년 11월 10일
·
0개의 댓글
·

Node.js 싱글쓰레드, 이벤트 기반, 논블로킹 I/O

Node.js의 특징은 싱글쓰레드, 이벤트기반, 논블로킹 이다.Node.js는 libuv라는 라이브러리를 사용하는데 이 libuv에서 이벤트 루프라는 기능을 제공한다.싱글쓰레드 기반의 이벤트루프가 계속 돌면서 요청을 처리한다. 블로킹io요청이 있는 경우 워커쓰레드풀에

2020년 11월 5일
·
0개의 댓글
·

Kruskal 알고리즘 (feat. union-find)

탐욕법(greedy method)의 일종으로 네트워크의 모든 정점을 최소 비용으로 연결하는 최적 해답을 구하는 것. MST(최소 비용 신장 트리)를 구할 때 사용된다.간선들을 가중치의 오름차순으로 정렬한다.정렬된 간선들을 차례대로 연결하면서 Cycle을 이루지 않는 간

2020년 11월 5일
·
0개의 댓글
·

HTTP HTTPS 간단정리

텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜HTTP는 연결을 유지하지 않는 프로토콜이기 때문에 요청과 응답으로 동작한다.따라서 클라이언트가 서버로 요청을 보내면 서버는 클라이언트로 응답을 보내는 식으로 통신을 하게 된다.GET : 자료를

2020년 11월 4일
·
0개의 댓글
·
post-thumbnail

순열 알고리즘

완전탐색 문제에서 등장하는 순열 알고리즘Swap 함수와 재귀함수를 이용한다.결과 출력 시 순서는 보장이 되지 않는다.

2020년 11월 4일
·
0개의 댓글
·

Node.js란?

내가 Node.js를 처음 접한건 전공과목 중 고급웹프로그래밍이라는 수업에서였다. 그 때 기억나는 수업내용으론 Javascript, JQuery, AJAX 등을 배우면서 자연스럽게 Node.js로 서버를 돌리면 된다고 배웠던 것 같다.Node.js는 Chrome V8

2020년 11월 3일
·
0개의 댓글
·