어제 회사가 문을 닫는다는 소식을 접했다. 사실 몸도 마음도 힘든 상태였는데 이제 점점 익숙해져가고 있는 상태였다. 그래서 처음 듣자마자 이전에 회사에서 해고될때와는 다르게 아쉽다는 생각이 들었다. 사람들도 대부분 괜찮은 사람이어서 더 그런 생각이 든거 같다. 어제 회사에서는 마지막 만남으로 회식도 하고 팀원이 좋아하는 노래방도 갔다. 원래 재미있고 흥이 넘치는 사람들인줄 알았지만 어제는 정말 재밌구나를 느꼈다. 어제의 느낌은 이쯤해두고.. 2달 조금 넘게 나는 스스로 성장을 했구나 느꼈다. 30개가 넘는 DB테이블을 설계해 보았으며, 서버 개발도 주도적으로 맡아서 했다. 물론 주변 개발자분들의 도움도 많이 받으면서 말이다. 다들 실력자들이라 많이 배웠다. (이 부분때문에 더 아쉽게 느껴진다. ㅠ) 내가..
여러가지 방법이 있겠지만 가장 간단하게 설치해본다. 사전 작업으로 brew를 설치해주고 brew로 python3 가 설치되어있다는 가정하에 진행한다. 사전 작업은 인터넷에 많이 나와 있다. jupyter notebook을 설치한다. pip3 install jupyter 설치후에 터미널에 jupyter notebook입력하면 된다고 해서 했는데 zsh: command not found: jupyter 에러가 발생했다. zsh: command not found: jupyter 에러는 jupyter를 못찾는다는 내용인데 이건 환경변수를 세팅해주면 된다. 먼저 editor를 켜준다. vi ~/.zshrc 아래와 같이 입력해준다. export PATH=/(본인경로)/Python/3.8/bin:$PATH :wq!를..
새로운 브라우저를 소개하고 싶어 이렇게 글을 남긴다. 보통 두종류의 브라우저를 많이 사용한다. 크롬, 사파리... 나는 보통 크롬을 사용해 왔다. 사용하는데 별 문제도 없는 것 같았고 남들이 많이 사용하는 브라우저니까 그냥 사용했다. 하지만.. 우연히 구글의 종말이라는 책에서 새로운 브라우저를 알게되었다. 바로 Brave 브라우저 https://brave.com/ Secure, Fast & Private Web Browser with Adblocker | Brave Browser The Brave browser is a fast, private and secure web browser for PC, Mac and mobile. Download now to enjoy a faster ad-free brow..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
nestJS 프로젝트 도중 갑자기 mysql connection error가 발생했다. 에러명을 Error: Access denied for user 'root'@'localhost' (using password: YES) (보통 위 에러는 비밀번호를 잘못 입력해서 일어난다. 하지만 난 비밀번호를 맞게 입력했다.) 이전에 이런 에러가 발생해서 mysql을 완전 삭제했다가 재설치를 했더니 잘동작 했었다. 하지만 이후에 같은 에러가 또 발생했다. 이번에는 mysql를 재설치하기 보다. 원인을 찾아 보았다. 생각보다 아주 간단했다. 결론은 mysql이 사용하고 있는 3306포트를 이전에 설치했던 mysql이 사용하고 있던것. 즉 이전에 설치한 mysql이 같은 포트를 사용하고 있던 것이다. 해결방법은 이전 m..
var maxArea = function(height) { let leftIndex = 0; let rightIndex = height.length - 1; let result = 0; while (leftIndex < rightIndex) { if (height[leftIndex] < height[rightIndex]) { result = Math.max(height[leftIndex] * (rightIndex - leftIndex), result); leftIndex += 1; } else { result = Math.max(height[rightIndex] * (rightIndex - leftIndex), result); rightIndex -= 1; } } return result; };
github를 잘 쓰고 있다가 어느날 갑자기 push를 하려니 제목과 같이 ssh key를 입력하라는 황당한 요청을 받았다. 우선 해결방법은 아래와 같다. Window 기준 1. Git Bash를 켠다. 2. ssh키를 생성한다. 생성방법 $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" 위와 같은 명령어를 입력한다. 물론 "your_email@~"에는 본인의 github가입 이메일을 입력한다. 그러면 아래와 같이 나올 것이다. Enter passphrase (empty for no passphrase): Enter same passphrase again: 둘다 enter를 눌러 넘어간다. 만약 키가 이미 존재했다면 덮어 씌울 것이냐? 라는 질문이 온다...
Mobx state tree에 대해 사용해보고 간단한 카운터 예제를 만들어 보았다. 입문용이니 심오한 표현은 최대한 피하고 쉽게 이해할 수 있도록 구성하였다. 카운터 예제에 대한 스택은 React, Mobx, Mobx-state-tree, Mobx-react-lite가 사용되었다. mobx state tree는 무엇인가? 상태를 관리하는 엔진이며 구조와 툴을 제공한다. 라고 공식문서에 적혀있다. 상태를 관리하는 라이브러리라고 생각하면 적절한 것 같다. 왜 mobx state tree를 사용해야 하는가? 상태관리로 mobx도 좋지만 mobx state tree는 프로젝트 구조가 좀 더 확장될 것에 대비하여 사용된다. 물론 소규모 프로젝트에도 사용가능하다. 그 외에도 10가지 이유가 공식문서에 적혀있다. 궁..
문자 "RLRRLL" 이 주어질 경우 2를 반환한다. 회문처럼 반복되는 것이 2번 있기 때문이다. "RL", "RRLL" 이렇게 두개가 있기 때문이다. 풀이 전략은 다음과 같다. left, right = ""로 두고 left와 right가 같아지는 시점에서 result값을 1개씩 올리면 된다. 아래 코드로 살펴보자. const balancedStringSplit = function(s) { let left = ""; let right = ""; let index = 0; let result = 0; while (index !== s.length) { if (s[index] === "R") { left += "L"; } else { right += s[index]; } if (left === right &..