전체 글(101)
-
[React] Promise
Promise 란? Promise는 자바스크립트 비동기 처리에 사용되는 객체이다. 여기서 자바스크립트의 비동기 처리란 ‘특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성’을 의미 Promise는 왜 쓰이는가? 기본적으로 우리는 API를 만들 때 밑의 코드를 쓰는 것을 볼 수 있다. app.get('/product', (response)=>{ // }) 그런데 여기서 데이터를 받아오기도 전에 마치 데이터를 다 받아온 것 마냥 화면에 데이터를 표시하려고 하면 오류가 발생하거나 빈 화면이 뜬다. 이와 같은 문제점을 해결하기 위한 방법 중 하나가 Promise(비동기 처리)이다. 프로미스의 3가지 상태(states) 여기서 말하는 상태란 프로미스의 처리..
2020.09.10 -
[BOJ] 2252. 줄 세우기
https://www.acmicpc.net/problem/2252 접근 방법 간단한 위상 정렬의 문제이다. Need Know 위상 정렬 전체 코드 ( Java ) import java.io.*; import java.util.*; class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); static StringTokenizer st; static int N; static int M; static int[] preceding_num; static Ar..
2020.09.05 -
[BOJ] 1766. 문제집
https://www.acmicpc.net/problem/1766 접근 방법 위상 정렬의 문제이다. 여기서의 문제점은 아무리 차수(Preceding_cnt)가 0이면 그에 따른 순서는 문제의 번호를 따르게 된다. 그렇기 때문에 나는 PriorityQueue를 사용하게 되었다. Priority를 사용하게 된다면 0인 것을 queue에 넣게 되었을 때 우선순위에 맞게 알맞게 넣어줄 수 있기 때문이다. Need Know 위상 정렬 전체 코드 ( Java ) import java.io.*; import java.util.*; class Main { static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); static Buff..
2020.09.05 -
[NodeJS] body-parser
body-parser 란? 클라이언트 POST request data의 body로부터 파라미터를 편리하게 추출해준다. body-parser가 없을 때의 문제점 : undefined 다음과 같은 데이터를 body에 담아 POST request 를 보내고자 한다고 가정하자. { userID : "kyeong", password : "kyeong1234" }서버단에서 express를 써서 POST request를 처리하는 방법은 아래와 같을 것이다. var express = require('express') var app = express()app.post('/profile', function(req, res) => { console.log(req.body) })그런데, conso..
2020.09.03 -
[NodeJS] GreenLock
GreenLock이란? NodeJS에서 Let's Encrypt를 사용해 SSL을 적용해주는 모듈이다. SSL 을 사용해야 하는 이유는? SSL은 Secure Socket Layer이다. 클라이언트와 서버 간 오고 가는 데이터를 암호화를 해준다. 그냥 HTTP 통신을 하면 주고 받는 데이터가 노출된다. 여기서 공공장소에서 와이파이로 로그인을 하는데 SSL도 적용 안 되어 있고, 와이파이가 해킹당해 있다면 우리의 비밀번호가 해커에게 전달이 된다. 원래 SSL은 인증서를 발급받아야 브라우저가 적용할 수 있다. 인증서는 정해진 몇몇 기관에서만 (돈 내고) 발급 가능했었다. 그래서 개인 웹사이트를 운영하는 사람들은 적용하기를 망설였었다. 돈이 그만큼 나가기 때문이다. 하지만 Let's Encryp..
2020.09.03 -
[BOJ] 1516. 게임 개발
https://www.acmicpc.net/problem/1516 접근 방법 전에 풀었던 문제와 비슷하다. 시간을 계속 누적하면서 더하면 된다. 이 때 시간의 최댓값이 나와줘야 하므로 밑의 코드처럼 체크를 해주었다. if(ans[nv] < build_time[nv] + ans[vertex]){ ans[nv] = build_time[nv] + ans[vertex]; } Need Know 위상 정렬 전체 코드 ( Java ) import java.io.*; import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class Main { static Buffere..
2020.08.28