[JS][TS] 유닉스 시간에서 일반 시간으로 변환하기
·
Typescript
문제 내가 사용하는 open api 에서 최근 사용 시간 이라는 항목을 반환하는 컬럼이 존재하는데 이 컬럼이 일반 시간을 return하는게 아닌, 유닉스 타임을 return하기때문에 일반 시간으로 변환하는 작업이 필요하다. 해결방법 방법은 간단하다. 유닉스 시간을 일반 시간으로 변환하는 함수를 작성해주고 그 안에 매개변수로 유닉스 시간을 받으면 일반 시간을 return 하도록 코드 짜주면된다. 유닉스시간 -> 일반시간으로 변환 원리는 간단하다 JS 의 Date 객체에 유닉스 시간을 대입하면 자동으로 추출할 수가 있다. 해결과정 function lowerTen(num:number|string):string|any{ //lowerTen 함수. 10보다 작을시, 앞에 0 추가 if(num < 10){ num ..
[MySQL] 맥(Mac) 터미널에서 MySQL 실행하기 매우쉬움
·
공부중/SQL
맥(Mac) 터미널에서 MySQL 실행하기 백엔드 서버 만들려고 하다보니 DB 필요해서 만들려고했음 하지만 맥에 처음 DB 설치하는거라서 어떻게하는 거지? 했는데 윈도우랑 거의 비슷해서 금방할 것 같음 1. homebrew 사이트에서 mysql 다운하기 앵간한 맥사용자면 homebrew 거의 다 알기 때문에 링크만 걸어두겠습니다. https://formulae.brew.sh/formula/mysql#default mysql Homebrew’s package index formulae.brew.sh 2. 터미널에서 MySQL 보안 설정 하기 터미널에 mysql _secure_installation 치기 이후 따라가면서 하면되는데 맨첫번째 비밀번호 입력할때 0,1,2 나옵니다. 비밀번호 강도 설정입니다. 0..
[에러][GIT] connect to host github.com port 22 해결법
·
공부중
에러 내용 git clone을 받으려 했는데 다음과 같은 에러메세지가 나옴 ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository. 검색해보니 방화벽쪽 문제같음 해결법 https://stackoverflow.com/questions/15589682/ssh-connect-to-host-github-com-port-22-connection-timed-out ssh: connect to host github.com port 22: Connection timed out I am under a proxy and I am pushing in to git successfully fo..
[알고리즘][JS] 이진 탐색(Binary Search)
·
알고리즘
이진 탐색(Binary Search) 개념 배열 및 리스트를 반으로 나누어 탐색 범위를 줄여나가는 식으로 동작하는 알고리즘 대용량의 데이터 처리에 효과적 이진탐색을 구현하기 위한 배열 및 리스트는 반드시 정렬 되어 있어야 함. 이진탐색 구현법 정렬된 배열, start 인덱스, end 인덱스 배열을 반으로 나누었을때 경우의 수 3가지 중간 값이 찾고자하는 값과 같을때 - 검색성공을 return 중간 값이 찾고자하는 값보다 작을때 - 반으로 나눈 왼쪽 요소를 이진탐색 중간 값이 찾고자하는 값보다 클때 - 반으로 나눈 오른쪽 요소를 이진탐색 복잡도 O(log n) 이진 검색 알고리즘 풀이 function binarySearch(states, target) { let left = 0; let right = st..
[알고리즘][JS] 검색 알고리즘이란?
·
알고리즘
검색 알고리즘 많은 사람들이 구글을 떠올릴것입니다. 구글이 사용하는 알고리즘은 매우 까다롭고 세상에서 가장 어려운 알고리즘중 하나일것입니다. 많은 부분이 계속해서 변경됩니다. 개인정보 사용기록 등등.. 클릭한 것들에 따라 알고리즘이 엄청나게 변화한다는것은 알고 있을것 입니다. 제가 강아지를 검색한 결과와 다른사람이 검색한 결과는 다를 것인것 처럼요. 문자열이 있는데 해당 문자열에 포함 된 다른 문자열이있는지 확인을하는경우를 예로들수있습니다. 혹은 다른사람들이 회원가입을 하는 경우라던가. 사용자명이 사용중인지 알려줘야 하기 때문입니다. 배열에 대한 검색 미국의 주가 포함된 배열이 있다고 가정하겠습니다. const usStates = [ "Alabama", "Alaska", "Arizona", "Arkans..
[백준][JS] 피보나치 수 5
·
알고리즘
문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 n번째 피보나치 수를 출력한다. 예제 입력 10 예제 출력 55 정답 let input = require("fs").readF..
[알고리즘][JS] 재귀 함수
·
알고리즘
재귀함수란? 자기자신을 호출하는 함수를 의미합니다. 일반적인 함수처럼 입력값을 받고, 그 입력값에 대한 연산을 하면서 결과값을 반환할 수 있습니다. 재귀함수는 함수내에서 자신을 호출하면서 작업을 반복적으로 수행하며, return keyword 즉,연산을 반복적으로 수행중 원하는 반환값이 나온다면 종료되도록 하는 함수입니다. 자바스크립트에서는 HTML의 DOM트리의 특성인 중첩된 div를 재귀함수를 통해 보다 쉽게 접근 할 수 있습니다. // 재귀함수를 사용하여 특정 클래스명을 가진 모든 DOM 요소를 찾는 함수 function findElementsByClassname(className, node) { node = node || document.body; // 시작 노드가 주어지지 않으면 body를 시작..
[알고리즘][JS] 분할과 정복 알고리즘
·
알고리즘
분할과 정복? 분할과 정복 알고리즘이란, 엄청나게 큰 문제를 나누어서 해결한 뒤, 합쳐서 문제를 해결한다는 뜻에서 분할과 정복 알고리즘이라고 불립니다. 대표적으로는 퀵정렬,병합정렬이 있습니다. 분할: 문제를 더이상 분할할 수 없을 때까지 동일한 유형의 여러 하위 문제로 나눕니다. 정복: 가장 작은 단위의 하위 문제를 해결하여 정복합니다. 조합: 하위 문제에 대한 결과를 원래 문제에 대한 결과로 조합합니다. 분할과 정복 알고리즘의 장점? 문제를 나누어 풀어가며 어려운 문제를 쉽게 해결 할 수 있다(효율적으로)는 장점이 있습니다. 그리고, 재귀적인 방법을 사용하기 때문에 알고리즘의 구현이 간결하고 이해하기 쉽습니다. '병렬적'으로 문제를 풀이하는 강력한 알고리즘중 하나입니다. 분할과 정복 알고리즘의 단점? ..