
온라인 코드 테스트 사이트 https://replit.com/ https://www.jdoodle.com/execute-nodejs-online/ Ch 10. 최단 거리 다익스트라 알고리즘(Dijkstra Algorithm) - 시작 노드를 기준으로 다른 모든 노드로 가는 최단 경로를 계산 - 간선의 가중치가 양수(>= 0)인 경우에 최단 거리를 구할 수 있음 - 다익스트라 알고리즘은 그리디(탐욕) 알고리즘으로 분류됨 => 매 상황에서 가장 비용이 작은 노드를 선택해 알고리즘 과정을 반복함 - 시간 복잡도 : O(ElogV) 다익스트라 알고리즘의 기본적인 구조/절차는 아래와 같다 * 알고리즘 동작과정 1. 출발 노드 설정 2. 최단 거리 테이블 초기화 (이때, 출발 노드는 0, 그 외는 INF) 3. 방..

온라인 코드 테스트 사이트 https://replit.com/ https://www.jdoodle.com/execute-nodejs-online/ Ch 07. DFS (깊이 우선 탐색) 알고리즘 문제 1-1) 바이러스 (실버3) - 양방향 그래프로 생각하고 인접 리스트 표현하기 // SUCCESS const fs = require('fs'); const input = fs.readFileSync('/dev/stdin').toString().split('\n'); const n = Number(input[0]); const v = Number(input[1]); const matrix = []; for(let i = 0; i = row || y >= col) return false; if(matrix[x]..

온라인 코드 테스트 사이트 https://replit.com/ https://www.jdoodle.com/execute-nodejs-online/ ch04. 그리디(탐욕) 알고리즘 추후 예정 문제 목록 더보기 문제 1-1) 동전0 문제 1-2) ATM 문제 1-3) 잃어버린 괄호 문제 2-1) 설탕배달(실버4) 문제 2-2) A -> B(실버2) 문제 2-3) 수들의 합 문제 2-4) 신입사원 문제 3-1) 주유소 문제 3-2) 회의실 배정 문제 3-3) 풍선 맞추기(골드5) 문제 3-4) 피보나치(실버1) 문제 4-1) 박 터뜨리기(실버4) 문제 4-2) 회문(골드5) 문제 4-3) 박스 채우기(골드3) ch05. 이진 탐색 순차탐색 이진탐색 - 리스트 안에 특정 데이터 찾기 위해 앞에서 부터 순차적으..

온라인 코드 테스트 사이트 https://replit.com/ https://www.jdoodle.com/execute-nodejs-online/ 빅오 표기법(Big-O Notation) 시간 복잡도 의미 O(1) 상수 시간(constant time) O(logN) 로그 시간(log time) O(N) 선형 시간(linear time) O(NlogN) 로그 선형 시간(log-linear time) O(N^2) 이차 시간(quadratic time) O(N^3) 삼차 시간(cubic time) O(2^N) 지수 시간(exponential time) - 시간 복잡도 (time complexity) : 알고리즘에 사용되는 연산 횟수 측정 - 공간 복잡도 (space complexity) : 알고리즘에 사용되는..
![[IntelliJ] .editorconfig 활용하여 JS Code Style 맞추기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbW6MFm%2Fbtsn3j9DmHu%2FKjzlsS2wfpk0k8ziXpfKfK%2Fimg.png)
Convention 정하지 않고 작업하게 될 경우, 서로 다른 작성 방식으로 인해 코드 가독성 저하를 일으키고 장기적으로 볼 때 유지 보수 함에 있어 큰 문제를 야기할 수 있습니다. Team Convention - 코드 스타일을 통일 시키는데 있어 Prettier 미사용하기로 함 - 규칙이 상대적으로 적고, 인텔리제이에서 제공하는 기능을 활용하는게 더 나은 것으로 판단했기 때문 설정 파일 .editorconfig 인텔리제이 설정 [File > Settings> Editor > Code Style] 이동 General Tab 에서 Enable EditorConfig Support 옵션 ✔ (=.editorconfig 설정 파일 허용) Formatter Tab에서 Do not format 에 제외 대상 gl..
![[IntelliJ] JS Code Convention 맞추기 (by eslint, husky, lint-staged)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPTuLf%2Fbtr9NDa0ERL%2F9kqRRlOYMExIuiFtId47jk%2Fimg.jpg)
Convention 정하지 않고 작업하게 될 경우, 서로 다른 작성 방식으로 인해 코드 가독성 저하를 일으키고 장기적으로 볼 때 유지 보수 함에 있어 큰 문제를 야기할 수 있습니다. Team Convention JS 코드 형식이 사람마다 미묘하게 차이나서, 통일 시켜 일관성을 맞추고 신경쓰지 않고 자동화될 수 있도록 사용하게 됨 ESLint 활용하여 JavaScript Code Convention 검사 수행 (ES6 기준) husky , lint-staged 활용하여 pre-commit 단계에서 staged file 대상으로 ESLint 검사 자동화 Automatic ESLint 아래의 플러그인 활용하여 자동화 수행 husky : Git hook 편리하게 사용할 수 있도록 지원 ( pre-commit 활..
![[Docker] MySQL 5.7 설치 및 데이터 import](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj4CsW%2FbtssHyoHC02%2FAuDJQKzCQKWj1fimNjjMGK%2Fimg.png)
docker 설치 # 공식 사이트와 동일하다. $ sudo apt-get remove docker docker-engine docker.io containerd runc $ sudo apt-get update $ sudo apt-get install ca-certificates curl gnupg $ sudo mkdir -m 0755 -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings..
유저 용어 설명 UV (Unique Visitor) AU (Active User) DAU (Daily Active User) 일간 활성 유저 수 WAU (Weekly Active User) 주간 활성 유저 수 MAU (Monthly Active User) 월간 활성 유저 수 RU (Registered User) 일정 기간 내 게임에 등록된 유저 수 NRU (New Registered User) 일정 기간 내 게임에 등록된 신규 유저 수 ARU (Accumulate Registered User) 해당 기간까지 등록된 누적 유저 수 CCU (Concurrent User) 동시 접속자 수 MCU (Maximum Concurrent User) 최대 동시 접속자 수 ACU (Average Concurrent Us..
*라이센스 발급 및 설치 파일 다운로드 생략 ( 링크 ) 폴더로 이동하여 실행 $ cd home/사용자경로/idea-IU-31.8109.175/bin/ $ ./idea.sh// run intellij PATH 등록하여 실행 intellij 에서 create command-line launcher 검색 아래의 경로를 PATH에 추가하면 idea.sh 로 실행가능하다 한다 맥의 경우 /usr/local/bin/idea 을 PATH에 추가하면 $ idea . 명령어로 현재 디렉토리 기준으로 인텔리제이 실행가능 oh-my-zsh를 사용하고 있기 때문에 .zshrc 파일에 PATH 설정을 추가하도록 한다 $ vim ~/.zshrc # 인텔리제이 경로 추가 export PATH=$HOME/bin:/usr/local..
![[Vim] colortheme gruvbox 적용기 (to. Mac , WSL)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtZNeR%2FbtrXnviOdzv%2FAVlCnn7FJCuYitKrgZbaYk%2Fimg.png)
Vim에 syntax on 설정만 할 경우 가독성이 조금 나아지지만 마음에 들지 않는다. (기본 colortheme 또한..😑) 그래서 vim colortheme 중에 랭킹 1위로 보이는 gruvbox를 설치해보기로 했다. vim vundle 설치 vim 플러그인 관리자로 최초 설치하도록 함 (마치 프론트의 nvm, 스프링의 maven, gradle 같은 느낌인듯) $ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 참고. - WSL 의 경우 개행문자로 인해 Vundle 실행시 에러 발생함! (아래 "에러2" 참고) - Mac OS 의 경우 문제없이 정상 동작함 ! 🤗 gruvbox 플러그인 설치 $ vim ~/..
개요 임의 문자 유형을 얼마나 반복해서 포함하는 지 또는 지정된 문자 형식을 검출하는데 유용한 정규표현식에 대해 공부/정리한 내용 포스팅함. ( 아래 영상을 보고 1시간 투자 후 정규 표현식을 스스로 찾아보고 할 수 있게 되었다! 😎 ) 유튜브 (✨강추) https://www.youtube.com/watch?v=t3M6toIflyQ&ab_channel=%EB%93%9C%EB%A6%BC%EC%BD%94%EB%94%A9 문법 정리 Groups and ranges (범위, 그룹) Chracter 의미 | 또는(OR) () 그룹 [] 문자셋, 괄호안의 어떤 문자 [^] 부정 문자셋, 괄호안의 어떤 문가 아닐때(not) (?:) 찾지만 기억하지는 않음 (no group) Boundary-type Chracter ..
📚 shell 에서 운영되는 프로세스는 job 이라고 부르기도 함. 📚 포그라운드, 백그라운드에 대해서도 알아보자 ! 방법 (ctrl + z 눌러서 나갔다고 가정) ① job 이 한 개 인 경우 $ fg // 직전에 job 으로 복귀 ② 여러개 인 경우 $ jobs jobs[1] - suspended vim 3-3Delete [2] + suspended vim 5-5cut_copy_paste.txt $ fg %1 // 1번 job(process)으로 복귀 참고 https://kldp.org/node/41673 https://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=8032
![[AWS] EC2 서버 application heap dump 생성/다운로드 (with wsl2)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeLdbj%2Fbtsr0rDiFXB%2FHlqGbNxnWrzctaeNIPqFd1%2Fimg.png)
개요 - 웹 서버 운영하는데 최소 1달 주기적으로 서버 다운되는 현상 발생 - 원인 파악 위해 heap dump 생성/분석 진행 - 이에따라 ec2 서버에서 생성한 heap dump를 wsl2 터미널로 내려 받는 흐름 정리 ① key 사용하거나, ~/.ssh/config 설정 통해 ec2 서버 접속 # 키로 접속하는 경우 (선택한 EC2 OS에 따라 기본 계정 상이함) sudo ssh -i [*.pem] ubuntu@[public domain ec2] # ~/.ssh/config 설정으로 접속하는 경우 HostName으로 접속 $ ssh web-site ② 프로세스 확인 ✔ spring boot project # PID (프로세스 아이디) 확인 $ ps -ef | grep java ③ heap dump ..
![[AWS] EC2 와 RDS 연결/접속 하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fcav98d%2FbtsrYVSeTep%2FBXBoRSoKSp7cweK2yUFudk%2Fimg.png)
개요 - 다음 작업시 헤매지 않도록 흐름(flow) 기록 - AWS EC2 서버와 RDS 생성은 생략 - WSL2에 Ubuntu 설치하여 터미널로 사용 ① EC2서버 접속 - EC2 서버 인바운드 규칙으로 기본적으로 port 22, 80, 8080 등록 (22 : ssh, 80 : nginx, 8080: tomcat 용) - EC2 생성시 선택한 OS에 따라서 기본 계정명이 다름 ( ubuntu 의 경우 기본 계정이 ubuntu 이다!👨💻 ) - 필요시 EC2 의 VPC, 서브넷 그룹 확인하기 $ cd ~/.ssh $ sudo ssh -i [키.pem] ubuntu@[EC2공개도메인주소] ② RDS 인바운드 규칙 생성 (생략) - 엔드 포인트 주소 확인 - 인바운드 규칙에 신규 생성한 EC2 서버의 공..
![[oh-my-zsh] help command not found](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIXjz3%2FbtrVAs2kNKk%2FfJwh9sp1x9N3gwrBtV5xbK%2Fimg.png)
개요 - bash script 공부 중에 help command 확인하는데 에러 출력 - 찾아본 결과 help command가 모든 shell에 적용되는 것은 아닌 것으로 확인됨 해결 방법 $ vim ~/.zshrc # 하단이나 원하는 곳에 함수 삽입 후 저장 function help() { bash -c "help $@" } $ source ~/.zshrc 참고 https://gist.github.com/emreberge/1424710
개요 - ubuntu 또는 wsl2 작업 환경이 익숙해서 vscode 기본 터미널을 변경 함 - 그런데 폰트 설정이 안 되어 있어, 아래와 같이 아이콘이 깨진 상태로 출력됨 해결 - Setting (ctrl + , ) > User >Features > Terminal 선택 - Integerated : Font Fmaily 입력 칸에 사용하는 폰트 입력 ( ex. MesloLGS NF ) 필자의 경우 oh-my-zsh custom theme 에서 요구하는 폰트 사용 ! 사용하는 폰트 설치 후 입력 !
![[WSL] window10 터미널 꾸미기(oh my zsh, git, docker ..)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbf8Jg2%2FbtrFKF83GjW%2FIyVsJ6PjjEd6NKlN2T3xR0%2Fimg.png)
개요 Git Bash 나 Xshell, putty, Intellij 터미널, window cmd 등 여러가지 혼용해서 사용하고 있었는데, 통일하고 싶다는 생각이 듦 "리눅스용 윈도우 하위 시스템 (Windows Subsystem for Linux)" 에 알게 되었고. 몇일 동안 삽질한 설정 방법에 대해 정리 Windows Terminal & Ubuntu 설치 Microsoft store 실행 후 Windows Terminal 과 Ubuntu 검색해서 설치 Windows Terminal에서 Ubuntu 를 실행 WSL 활성화 & WSL 2 설정 https://mulder21c.github.io/2021/01/28/setting-up-wsl-2-dev-env-and-zsh-on-windws-10/#WSL-%..
설명👨💻 좌측 상단 메뉴 File > Settings > Apperance & Behavior > Apperance Use Custom font 수정 하면 project directory/package/menu tab 폰트 사이즈 변경됨 😎 우리의 눈은 소중하니깐