본문 바로가기
반응형

나의 개발일지39

[mongoDB] uncaught exception: Error: couldn't add user: command createUser requi 지금까지 몽고DB 클라우드를 사용하다가 노드 강의에선 로컬에 설치해서 쓰길래 따라하는데 설치 후 use admin 초기설정에서 authentication 에러가 났다 2시간 동안 구글링 해서 하라는 거 다 해봐도 해결이 안 되고.. 꼭 이런 경우는 얼탱이 없는 이유로 생긴 에러던데..... 불안감이 몰려올 즈음.. 역시나 해결이 됐다... mongod.conf 들어가서 security 수정하라길래 해보려는데 맥 m1은 homebrew 설치경로가 다른 게 아닌가.......... 구글링해서 그대로 복붙 했더니 경로가 달라 이거 찾는 데도 한참 걸렸다 뭐든 설치할 때 경로 확인을 잘 하자.. 물론 이걸로 해결되지는 않았다 homebrew로 받아 놨던 mysql 지웠더니 바로 해결 됨. 물론 이게 근본적인 원.. 2022. 7. 23.
0과 1의 세계 - 비트(bit)와 이진수(binary number) "세상에는 오직 10가지 사람들이 존재한다. 이진수를 이해하는 사람들과 그렇지 않은 사람들." → 책에 나오는 걸 그대로 인용했는데 왜 10가지의 사람들이라 표현한 걸까..? → 들어가기 전에, 디지털 시스템은 데이터를 십진수가 아닌 이진수로 표현한다. 왜? 물리적 장치를 만들 때 두 가지 상태만 갖도록 하는 것이 열 가지 상태를 갖도록 하는 것보다 훨씬 쉬워, 10진수를 사용할 때보다 방대한 양의 데이터를 더 빨리 처리할 수 있기 때문. ▶ 비트(bit) : 이진 숫자(binary digit) 디지털 정보를 표현하는 가장 기본적인 방식이자, 컴퓨터가 처리할 수 있는 가장 작은 정보의 단위 '0과 1' 두 가지 값만 가진다. 두 개 값 중 하나를 선택하는 정보라면 무엇이든 비트 한 개로 인코딩하거나 표현.. 2022. 7. 22.
[javascript | JS] 자바스크립트의 자료형과 특성 ▼ 느슨한 타입(loosely typed)의 동적(dynamic) 언어 자바스크립트의 변수는 자료형에 관계없이 모든 데이터일 수 있다. 따라서 변수는 어떤 순간에 문자열일 수 있고 다른 순간엔 숫자가 될 수도 있다. → JS는 자료의 타입은 있지만 변수에 저장되는 값의 타입은 언제든지 바꿀 수 있는 언어이다. → 문제점과 보완 1 == '1'이 True가 되는 마법.. 문자열 "1e22"는 숫자 1의 22승이 되는 마법.. 타입을 지정해주는 타입스크립트(typescript)를 사용하자...! ▼ Javascript의 형변환 함수와 연산자에 전달되는 값은 대부분 적절한 자료형으로 자동 변환되며, 이런 과정을 "형 변환(type conversion)"이라고 한다. 암시적 변환 alert가 전달받은 값의 자료.. 2022. 7. 21.
[프로그래머스 - Level 1] 하샤드 수 (JS) [문제] 양의 정수 x의 자릿수 합으로 x가 나누어 떨어지면 하샤드 수이다. 하샤드 수이면 true, 아니면 false를 반환. [로직] 1. 자릿수의 합을 구하기 위해 정수 x를 문자열로 바꾼다. 2. 빈 배열을 생성해주고, 문자열로 바꾼 x를 반복문을 돌며 한자리씩 빈 배열에 Push해준다. 3. reduce()를 이용해 자릿수의 합을 구해준다. 4. x가 자릿수의 합으로 나누어 떨어지면 true를, 아니면 false를 반환한다. [코드] function solution(x) { let str = x.toString(); let sumArr = []; for (let i=0; ia+c,0); return (x % sum === 0) ? true : false } 1. 자릿수의 합을 구하기 위해 정수 .. 2022. 7. 20.
[프로그래머스 - Level 1] 콜라츠 추측 (JS) [문제] 입력된 수가 짝수: 나누기 2 입력된 수가 홀수: *3 +1 결과값이 1이 될 때까지 반복한다. 단, 주어진 수가 1인 경우 0을, 500번 반복할 때까지 1이 되지 않는다면 -1을 반환한다 [로직] 1. num이 1인 경우, 바로 0을 리턴해준다 2. 반복문을 돌며 짝수일 경우 /2 (이때 2로 나눠준 값이 1이면 바로 횟수를 리턴), 홀수일 경우 *3+1을 해준다. 3. 반복 횟수가 500번이 넘어갈 경우 -1을 리턴해준다. [코드] const n = 6; function solution(num) { if (num === 1) { return 0; } for (let i = 0; i < 500; i++) { if (num % 2 ===0) { num = num/2; if (num === 1.. 2022. 7. 20.
[프로그래머스 - Level 1] 이상한 문자 만들기 (JS) [문제] 문자열의 짝수번째 알파벳 → 대문자 문자열의 홀수번째 알파벳 → 소문자 문자열 s는 한 개 이상의 단어로 구성, 짝/홀은 단어별로 인덱스 판단 첫번째 글자는 인덱스 넘버 0이므로, 짝수로 처리 → [try] => [0,1,2] → [hello] => [0,1,2,3,4] → [world] => [0,1,2,3,4] [로직] 1. 단어별 짝수/홀수번째를 판단하기 위해 문자열 s를 배열로 바꾸고(띄어쓰기 기준으로), .map()으로 단어별로 반복하며 배열을 만들어준다. ▶ "try hello world" → ['try', 'hello', 'world'] 2. 다시 .map()으로 각 단어를 돌며 단어를 알파벳 단위 배열로 만들어준다. ▶ [ [ 't', 'r', 'y' ], [ 'h', 'e', .. 2022. 7. 19.
반응형