programing
-
[WebStorm] 원격 배포 환경에서 코딩하기programing/etc 2019. 11. 23. 16:32
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 이번 포스트에서는 웹스톰으로 원격 배포 환경에서 바로 코딩하는 방법에 대해 알아보도록 하겠습니다. 마운트 폴더 생성하기 먼저, 원격 디렉토리를 로컬에 마운트(사실 마운트라기보단 복사..)하기 위한 폴더를 만들어줍니다. 저는 remote라는 디렉토리를 만들었습니다. WebStorm으로 열기 WebStorm을 켜서, remote폴더를 열어주세요. Deploy 설정 및 연결하기 Tools - Deployment - Configuration 을 누릅니다. 왼쪽 위 +버튼을 눌러 배포 환경을 추가합니다. 저는 배포 환경 이름을 catch-my-mind-back으로 했습니다. (취향껏 해도 됩니다.) type : 저는 SFTP로 했습니다...
-
[passport] DNS를 이용하여 배포환경에서 OAuth 사용하기programing/Web 2019. 11. 19. 18:28
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 DNS를 이용해서 배포환경에서 OAuth를 사용해보도록 하겠습니다. 도메인 네임 도메인 네임 구매하기 우선, 도메인 네임을 구매합니다. (저는 가비아에서 샀습니다.) 그리고, 관리 메뉴로 들어갑니다. 네임 서버 설정하기 네임서버에가 있습니다. 나중에 도메인 네임 서버 (DNS)를 추가해야 합니다. NCloud DNS에 구매한 도메인 추가하기 프론트용 서버와 백용 서버 간 쿠키를 공유하고자 한다면, 둘 다 동일한 도메인에 속해있어야 합니다. 따라서 프론트를 catchmymind.shop으로, 백을 back.catchmymind.shop으로 하겠습니다. 프론트용 서버 도메인 추가하기 NCloud의 front용 서버 인스턴스의..
-
[JS] 웹 프론트 쿠키 파서programing/Language 2019. 11. 18. 13:35
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 프론트용 쿠키 파서 코드 document.cookie.split(/; */).reduce((obj, str) => { if (str === "") return obj; const eq = str.indexOf('='); const key = eq > 0 ? str.slice(0, eq) : str; let val = eq > 0 ? str.slice(eq + 1) : null; if (val != null) try { val = decodeURIComponent(val); } catch(ex) { /* pass */ } obj[key] = val; return obj; }, {}); 참고 https://gist.github.co..
-
[BJ] 2869 - 달팽이는 올라가고 싶다programing/Algorithm 2019. 11. 16. 20:00
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 백준의 2869번 문제인 달팽이는 올라가고 싶다에 대해 알아보도록 하겠습니다. 접근 방법 문제 분류 자체가 이진탐색이긴 합니다만, 그걸 활용하기 위해서는 이진탐색을 이용한 풀이 로직을 이해해야 합니다.. 그런데 저는 이해가 잘 안되더라구요..ㅎㅎ 차라리 일반항으로 바로 찾아버리는게 낫다고 생각했습니다. 따라서 제가 생각하는 키 포인트는 다음과 같습니다. 달팽이는 요구하는 높이에 다다르면 더이상 미끄러지지 않는다. 즉, 높이를 기록한 배열에서 밤에 미끄러진 결과를 반영한 높이를 기록하는게 아니라, 그 날 최대로 올라간 높이를 기록해야 합니다. 일반항 : 낮과 밤에 정해진 만큼 올라가고 내려가기 때문에, 높이를 기록한 배열은..
-
[OAuth] FacebookTokenError 해결하는 방법programing/etc 2019. 11. 15. 15:57
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 이번 포스트에서는 passport에서 facebook을 이용한 OAuth 구현 시, FacebookTokenError: This IP can't make requests for that application. 에러를 해결하는 방법에 대해 알아보도록 하겠습니다. 증상 페이스북을 이용한 로그인을 시도할 때, FacebookTokenError: This IP can't make requests for that application. 라는 에러가 뜨며 페이스북 OAuth 도메인으로 넘어가지 않습니다. 원인 facebook for developers - 나의 앱 - 설정 - 고급 설정 - 보안 - 서버 IP 화이트리스트 에 하나 이상의 ..
-
[ESLint, Prettier] 린트 및 프리티어 설정하기programing/etc 2019. 11. 11. 19:08
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 이번 포스트에서는 Mac에서 Jetbrains의 IDE를 사용할 때, 린트 및 프리티어 설정하는 방법에 대해 알아보도록 하겠습니다. ESLint 설정하기 ESLint 글로벌 설치하기 npm install -g eslint를 이용하여 eslint를 글로벌로 설치합니다. 이 경우, 린트 bin 경로는 /usr/local/bin/eslint가 됩니다. IDE에서 린트 설정하기 Preferences(⌘+,) - Other Settings - ESLint Settings에서 Enable에 체크를 해줍니다. Node interpreter를 설정합니다. (전역으로 설치하셨다면 보통 /usr/local/bin/node입니다.) eslint b..
-
[git] work flowprograming/etc 2019. 11. 11. 14:29
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 오늘은 깃을 이용한 work flow에 대해 알아보도록 하겠습니다. work flow란? https://en.wikipedia.org/wiki/Workflow Workflow - Wikipedia An IMRAD model for developing research articles A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process ..
-
[BJ] 2805 - 나무 자르기programing/Algorithm 2019. 11. 9. 21:37
안녕하세요, Einere입니다. (ADblock을 꺼주시면 감사하겠습니다.) 이번 포스트에서는 백준 2085번 문제인 나무 자르기에 대해 알아보겠습니다. 접근 방법 해당 문제는 자른 후 남는 나무의 길이가 최소가 되도록 나무들을 자르는 문제입니다. 따라서 절단 높이는 최대한 높아야 합니다. 단순하게 제일 높은 나무 높이부터 0까지 1cm단위로 테스트해봐도 됩니다만.. 문제는 역시 시간복잡도입니다. 따라서, 탐색에서 시간복잡도가 $n\log{n}$인 이진 탐색을 사용합니다. 제가 생각하는 키 포인트들은 다음과 같습니다. 이진 탐색 : divide and qonquer를 이용한 탐색입니다. 대표적으로는 병합 정렬(merge sort), 퀵 정렬(quick sort)이 있습니다. 재귀 : 이진 탐색이라면 자연..