refresh token발급받기
·
TIL(Today I Learned)
https://gist.github.com/qutek/ab19318960c7ee72b7dcc5ef34ef01f6 Axios interceptor for refresh token when you have multiple parallel requests. Demo implementation: https://github.com/Godofbrows Axios interceptor for refresh token when you have multiple parallel requests. Demo implementation: https://github.com/Godofbrowser/axios-refresh-multiple-request - axios.refresh_token.1.js gist.github.com h..
다국어 처리하기 with vue-i18n
·
Vue
아래의 블로그에 적힌대로 진행합니다. https://minhanpark.github.io/today-i-learned/vue-i18n/ vue로 다국어 적용(국제화) 하기 vue-i18n 플러그인을 적용해 다국어 적용을 해보자. minhanpark.github.io 이후에 아래의 prcess.env.VUE_APP_I18N_LOCALE 처럼 저장된 환경변수를 가져오는 것이 아니라, 브라우저에 설정된 언어를 읽어서 언어설정에 맞게 변경해주도록 하겠습니다. 브라우저 언어를 읽어옵니다. // 브라우저의 언어설정을 읽어온다. const lang = (navigator.languages && navigator.languages[0]) || navigator.language || navigator.userLangua..
데이터 파싱문제
·
CS(Computer Science)
1. 깊게 undefined 일 수 있는 객체의 값을 안전하게 가져올 수 있는 함수 구현 function dataParsing(object, val) { const val_arr = val.split('.') let val_target = val_arr.shift() while (val_target) { if (object[val_target]) { object = object[val_target] val_target = val_arr.shift() } else { return undefined } } return object }
이진탐색 알고리즘
·
카테고리 없음
오늘의 스터디 첫 문제는 숫자카드2였다. 풀면서도 음...왠지 이건 아닌거 같은데 라는 강한 예감이 들었는데 맞았다. 시간초과가 난다. 이중 반복문을 써서는 절대 해결할 수 없는 문제이다. 두번째로 사용한 방법은 딕셔너리로 숫자카드에 적힌 정수의 개수를 배열로 미리 정리해놓고 가져다 쓰는 방식이다. 이 방식은 메모리 초과가 발생했다. 어떤 알고리즘으로 접근해야할지 잘 모르겠어서 빠른 검색을 했다. 참고가 될만한 좋은 블로그가 있어 내 식대로 블로그를 이해한 내용에 대해 서술하겠다.(참고:https://yhwan.tistory.com/10) 일단, 해당 블로그에서는 이진탐색과 Lower bound, Upper bound를 사용하라고 한다. 이진탐색 https://www.youtube.com/watch?v=..
정렬
·
알고리즘 풀이
https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net https://www.acmicpc.net/problem/10815 10815번: 숫자..
그리디 알고리즘
·
알고리즘 풀이
1. 좌표 정렬 const fs = require('fs'); const input = fs.readFileSync("dev/stdin").toString().trim().split("\n"); input.shift() const arr = input.map(item => item.split(" ").map(Number)) console.log('origin: ', arr) arr.sort((a, b) => { if (a[0] > b[0]) return 1 else if (a[0] b[1]) return 1 else if (a[1] < b[1]) return -1 else 0 } }) // 위의 소스코드를 아래와 같이 간단하게 줄일 수 있다..
WebSocket
·
TIL(Today I Learned)
https://ko.javascript.info/websocket https://pridiot.tistory.com/170 https://bellog.tistory.com/101 Web API로 서버와 브라우저 간 연결을 유지한 상태로 데이터를 교환할 수 있는 고급 기술입니다. 이 때, 데이터는 '패킷(packet)' 형태로 전달되며, 전송은 커넥션 중단과 추가 HTTP요청 없이 양방향으로 이뤄집니다. Web API란 웹 서버 또는 웹 브라우저를 위한 애플리케이션 프로그래밍 인터페이스이다. HTTP서비스이고 다양한 클라이언트에서 접근이 가능하도록 설계되어 있다. Web 환경을 통해 제공되는 데이터 CURD 인터페이스를 제공한다. 예시 웹 소캣 커넥션을 만들려면 new WebSocket을 호출하면 되는데,..
Docker
·
Devops
목표: 클라우드 서비스에서 docker를 왜 사용해야할까? 프런트앤드 개발자는 docker를 어떻게 활용할 수 있을까? docker시작하기(환경구축) 클라우드 서비스에서는 docker를 왜 사용해야할까? 1. 애플리케이션의 개발과 배포가 편해집니다. 독리된 개발환경 보장 서비스를 개발했을 때 사용했던 환경을 '도커 이미지'라는 패키지로 만들어 복제 커널을 포함하지 않아 이미지가 크지않다. 도커 이미지의 중복되는 레이어를 재사용 2. 여러 애플리케이션의 독립성과 확장성이 높아집니다. 모노리스(monolith): 여러 모듈이 상호작용하는 로직을 하나의 프로그램 내에서 구동시키는 방식 마이크로 서비스: 여러 모듈을 독립된 형태로 구성하기 때문에 언어에 종속되지 않고 변화에 빠르게 대응할 수 있다. 도커는 원래..