IT지식창고 13

[Trouble Shooting] AWS EC2 : Node 높은 CPU점유율 원인과 해결

문제 한번씩 높은 cpu점유율과 함께 서버가 먹통이 된다. 현재까지 알아본 바로는 재시작 후 top명령어로 봤을 때 node가 꺼지지 않고 계속 점유를 하고 있었다. 원인 node가 cpu를 점유함에 따라 최적화를 해줘야 할 것 같다. ssh를 동시에 접속해서 사용하기 때문이 아닐까 하는 생각도 든다. test서버와 live서버가 ALB로 연결이 되어 있는데 test서버가 중단 후 live서버도 비슷한 일이 일어났다. 병목현상이 생기지 않았을까 하지만 병목이 있을만큼 많은 트래픽이 있는 서비스 단계는 아직 아니다. 시도 top을 활용해 점유율이 높은 프로그램 파악 후 node 경로 확인 후 탐색했으나 별다른 소득이 없음 블로그글을 이용해 Node 프로파일링 분석을 하려했으나 작동하지 않았다. $ node..

[Docker] docker 그룹 사용자 추가

문제 / 상황 관리자 권한 sudo 없이 사용자에서 직접 도커를 사용할 수 있도록 추가하고 싶다. 해결 관리자 권한으로 docker 그룹에 사용자를 추가해 준다. (기본적으로 usermod 명령어는 /usr/sbin 디렉터리 안에 있는 명령어로 root 계정으로만 사용할 수 있다.) $ sudo usermod -aG docker $USER $ sudo su - $USER ※ 만약 'command cannot found'와 같은 에러가 나온다면? 그건 mac 이라서... (MacOS에서는 dscl을 쓴다고 한다.) > sudo dscl . create /Groups/docker > sudo dseditgroup -o edit -a $USER -t user docker 결론 잘 작동한다. 참고 : https..

[MacOS] Mac 에서 루트(root)사용자 활성화하기

문제 / 상황 관리자 권한으로 접속하기 위해 'su -' 명령어를 입력했는데 접속이 되지 않았다. ❯ su - Password: su: Sorry 원인 / 해결방안 찾아보니 su 활성화가 되지 않아서 그렇다고 한다. 이 때는 'sudo -s' 명령어를 입력해주면 된다고 한다. > sudo -s 시도 1. sudo -s 명령어로 루트 활성화 > sudo -s 2. 루트 비밀번호 설정 : passwd root 를 입력 후 비밀번호를 입력하여 설정한다. > passwd root 결론 MacOS에서 루트 사용자 접속시에는 루트 사용자 활성화와 비밀번호 설정을 해주어야 한다.

IT지식창고 2022.08.08

[Docker] 시작하기 & Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 해결법

문제 / 상황 Docker start (MacOS 환경) 며칠 후 Docker를 시작하기 위해 sudo docker ps 를 했을 때, Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 에러가 생겼다. 원인 / 해결방안 Docker 시작하는 법은 여기저기 많이 나와있다. 우선 Mac의 경우 참고 사이트를 통해 설치하면 된다. 참고 : https://docs.docker.com/desktop/install/mac-install/ 도커가 연결되어 있지 않다고 한다. 설치된 아이콘을 열어서 터미널 명령을 실행해봐야겠다. 시도 도커 아이콘을 열고 다시 명령어를 재 실행 해보니 정상적으로 ..

[AWS] RDS : performance insight 활성화

문제 / 상황 performance insight를 사용하려 했지만 RDS 수정으로 들어가 찾아봐도 '성능개선도우미'(performance insight) 라는 탭을 찾을 수가 없었다. RDS의 MySQL 및 class 변경이 되지 않았다. 원인 / 해결방안 문제 1 에 대해 MySQL에서는 db.t2.micro / db.t2.small / db.t3.micro / db.t3.small의 인스턴스클래스에서는 performance insight를 지원하지 않는다. 즉, 해당 DB의 인스턴스 Class를 변경해야 한다. (나는 비용대비 효율이 괜찮은 t4g.micro를 선택했다.) DB 인스턴스 Class 변경을 위해서는 MySQL 버전이 일정 이상이 되어야 한다. (t4g의 경우 8.0.25 이상) 문제 ..

Git bash for Windows : 너무 너무 유용한 bash 설정

우분투에서 bash를 사용할 때처럼 window의 git bash로 쓰고 싶은데 windows는 동일하게 작동하지 않는다. 그래서 여기저기 찾아본 결과 Prompt 커스터마이징 방법을 찾아냈다. 원하는 결과 자동완성기능 git repo 변경여부 확인 방법 ※ 다음 세 가지 파일이 모두 홈디렉터리(~)에 똑같은 이름 및 형식으로 저장이 되어 있어야 한다. git-completion.bash git-prompt.sh bash_profile 1. 먼저 홈 디렉터리로 이동한다. ($ cd ~ ) 2. $ vim git-completion.bash 를 입력해서, 해당 파일의 vim에디터를 실행 후, 다음 링크의 모든 내용을 복사해서 붙이고(p) 저장(w)한다. (나오기 = q) ===>git-completion...

IT지식창고 2021.03.25

[Trouble Shooting] git bash for windows 실행오류

문제 git bash here을 누르면 터미널이 실행되나 싶더니 바로 꺼져버린다. 에러원인이나 에러코드를 보고싶어도 터미널이 바로 꺼져버려서 보기가 어려웠고, 에러 파악이 힘들었다. 원인 아무래도 oh-my-zsh을 적용하려다가 config파일을 잘못 건드려서 그런 듯하다. zshrc 파일과 주변 파일이 주요 원인이다. 시도 어떤 원인인지 파악을 처음에 하지 못해서 일단 'git bash for windows'를 제어판에서 제거 해보았다. -> 실패 환경변수 문제인가 싶어 환경변수를 수정해보았다 -> 실패 프로세스를 이것저것 종료하고 디스크정리, 필요없는 파일들을 정리하고 재부팅 해보았다. -> 실패 마지막으로 직접 파일을 타고 들어가서 config파일과 zsh 파일의 위치를 찾아 지우고 재설치 해보았다..

IT지식창고 2021.03.25

[VSCODE] 단축키 정리

저번 TIL에서 vscode단축키 정리를 유튭으로 봤었는데 너무 유용해서 따로 정리해서 두기로 했다. 참고 : 드림코딩 by 엘리 - 비쥬얼 스튜디오 코드 필수 단축키 정리 VSCode 단축키 정리 관련 툴 & 영상 비쥬얼 스튜디오 코드 익스텐션 단축키 정리 (맥용) 단축키 정리 (윈도우용) 단축키 정리 (리눅스용) Application Command Palette (Mac : ⇧⌘P, F1 / Windows : Ctrl + Shift + P, F1) Quick Open (Mac : ⌘P / Windows : Ctrl + P) User Setting (Mac : ⌘ / Windows : Ctrl+) Toggle Sidebar (Mac : ⌘B / Windows : Ctrl+B) Toggle Termina..

IT지식창고 2021.01.27

Ubuntu > 스티커 메모 설치하기

오늘 To Do List를 작성해두고 남는 시간에 체크하며 하려고 했는데 포스트 잇이 사라졌다... 그래서 스티커 메모를 사용하려 찾아 봤는데 우분투엔 따로 없었다... (심지어 우분투 소프트웨어에 찾아봐도 안나오더라....) 그래서 구글링을 통해 터미널을 이용해 install 하는 법을 찾아냈다. 우분투 초보자를 위해 A to Z 로 설명한다. 1. 터미널 열기 (이건 다 알지 않을까 싶다....) Alt + ctrl + t 2. / 경로에서 $ sudo add-apt-repository ppa:umang/indicator-stickynotes 를 입력 한다. $ sudo add-apt-repository ppa:umang/indicator-stickynotes 3. 비밀번호 입력하라고 뜨는데 초기 입..

JS > OOP의 특징과 개념 & 객체지향 vs 절차지향

OOP란?(Object Oriented Programing) '객체지향프로그래밍'이라는 뜻이다. 컴퓨터 프로그램 언어는 크게 3가지 타입이 있는데 Machine lang, Assembly lang, High-level lang 이 있다. Machine Languages(기계어) - 컴퓨터만 알아듣는 저차원 언어이다.(차원이 낮을 수록 인간의 언어로부터 멀어지고 컴퓨터와 가까워진다.) - 0과 1로만 이루어져 있다. Assembly Languages(프로세스 언어) - 저수준 프로그램어로 어셈블리코드능 어셈블러를 사용하여 기계코드로 변환할 수 있다. - 경우에 따라 프로그램을 미세하게 조정가능하다. - 변수가 얼마없고 기능이 적다.(ex. mov, add, sub, push, pop, jmp,int) Hi..