본문 바로가기

분류 전체보기156

[Node.js] windows에서 노드 버전 변경 - downgrade/upgrade 사용해야되는 모듈이 현재 node 버전을 지원하지않아서 버전 downgrade를 해야됐습니다. linux나 mac 환경에서 노드 버전 관리 방법은 정리해주신 분들이 많았지만, 윈도우 환경에서 방법을 정리해주신 분은 없어서 작성합니다. 일단 노드 버전 관리를 위해 nvm을 사용하는데, 불행히도 윈도우 환경에선 작동하지 않았습니다. 그래서 검색한 결과 윈도우용 nvm을 제작하신분이 있었습니다. Releases · coreybutler/nvm-windows A node.js version management utility for Windows. Ironically written in Go. - coreybutler/nvm-windows github.com 먼저 위의 링크로 들어가 nvm-setup.zip을 받.. 2021. 1. 11.
[Node.js] 익스프레스에서 몽고디비 사용법 4 - 비밀번호 암호화 저번 몽고디비 사용법 3에 이어서 알아보겠습니다. 목표 암호화 과정 몽구스 스키마의 virtual 메소드 비밀번호 암호화하여 저장 암호화 과정 데이터베이스를 암호화 하여 저장하기 위해선 다음과 같은 절차가 필요합니다. 1. 사용자로부터 비밀번호를 받음 2. 암호화를 위한 salt 값을 생성함 3. 비밀번호를 암호화 함 4. 암호화한 비밀번호와 salt 값을 저장 암호화하기전 비밀번호를 받기위해 virtual 메소드를 사용합니다. 이를 사용하면 스키마에 가상으로 속성을 설정하여 값을 받을 수 있습니다. 그리고 virtual 메소드 내에서 받은 값을 암호화하여 데이터베이스에 저장할 수 있습니다. salt 값은 암호화를 위한 key입니다. 같은 비밀번호, 같은 salt를 encryptPassword 메소드에 .. 2021. 1. 8.
[Node.js] 익스프레스에서 몽고디비 사용법 3 - 몽구스로 DB 다루기 저번 몽고디비 사용법 2에 이어서 알아보겠습니다. 목표 몽구스와 스키마 몽구스로 DB 연결 및 모델 정의 몽구스로 DB 문서 추가와 조회 몽구스와 스키마 몽고디비는 한 컬렉션에 여러 문서를 저장하는데, 이 문서들의 속성이 제각각으로 저장할 수도 있습니다. 이렇게 되면 문서가 어떤 속성을 갖고있는지 알기 힘들기 때문에 데이터를 조회할 때 어려움이 생깁니다. 이 때문에 문서를 저장할 때 일정한 틀이 있어야하는데 이를 제공하는 대표적인 모델이 몽구스(mongoose)입니다. 그리고 이런 틀을 스키마(Schema)라고 합니다. 몽구스로 스키마를 정의하고, 이를 사용할 컬렉션과 매핑하기 위해 모델을 정의합니다. 그리고 이 모델을 통해 문서를 저장할 수 있습니다. 몽구스로 DB 연결 및 모델 정의 먼저 % npm .. 2021. 1. 7.
[백준] 1697(숨바꼭질) 파이썬 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 풀이 및 리뷰 전형적인 BFS 문제이므로 풀이는 크게 어렵지 않다. .. 2021. 1. 5.