728x90
반응형
- [ CS/자료구조와 알고리즘 ][자료구조와 알고리즘] 유데미 강의 "JavaScript 알고리즘 & 자료구조 마스터클래스" 정리(섹션 15: 합병 정렬)2024-05-19 21:50:44섹션 15: 합병 정렬1948 폰 노이만이 최초로 작성하였다. 분할, 정렬, 합병 조합으로 정렬한다. 아래는 재귀함수를 이용한 코드이다.function merge(arr1, arr2) { const results = []; let i = 0; let j = 0; while (i arr1[i]) { results.push(arr1[i]); i++; } else { results.push(arr2[j]); j++; } } while (i Big O버블, 삽입, 선택 정렬 대비-평균적으로-훨씬 유리한 시간 복잡도를 가지지만 공간 복잡도는 불리하다. AlgorithmTime..
- [ CS/자료구조와 알고리즘 ][자료구조와 알고리즘] 유데미 강의 "JavaScript 알고리즘 & 자료구조 마스터클래스" 정리(섹션 11, 12, 13, 14: 버블, 선택, 삽입 정렬)2024-05-12 20:52:40섹션 11: 버블 정렬버블 정렬은-오름차순인 경우-순회하면서 가장 큰 수를 가장 뒤로 보내는 정렬 방식이다.function bubbleSort(arr) { for (let i = arr.length; i > 0; i--) { for (let j = 0; j arr[j + 1]) { [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]; } } } return arr;}console.log(bubbleSort([9, 3, 5, 2, 1])); 스왑 여부를 체크하여 스왑이 일어나지 않을 경우에는 반복을 중단하여 최적화하였다.일반적으로 O(n^2), 가능한 최고의 경우 O(n)이다.function bubbleSort(arr) { let noSw..
- [ CS/Linux ][Linux] 생활코딩 리눅스 : 파일 찾기(locate, find), 백그라운드 실행(ctrl+z, jobs, fg), 항상 실행(daemon, service), 정기적 실행(cron)2024-04-15 10:41:201. locate✔️ 출처 : https://www.opentutorials.org/course/2598/142121.1. 설치locate 패키지보다 mlocate 패키지가 updatedb 작업이 빠르기 때문에 mlocate를 설치한다.root@(생략):/# sudo apt-get -y install mlocate😉 Mac OS의 경우 설치가 필요 없다. 1.2. updatedblocate 명령어는 실제 파일을 찾는 것이 아니라 파일 목록 데이터베이스(mlocate)에서 찾는다. 따라서 빠른 검색 속도를 제공하지만 최신의 정보가 아닐 수 있다(udatedb 작업은 크론에 등록되어 있어 매일 새벽에 자동으로 실행됨). 아래 명령어를 이용해 mlocate.db에 파일 정보를 저장한다. mlocate의 경우..
- [ CS/Linux ][Linux] nohup을 이용한 jar 무중단 배포 및 log 확인 방법2024-04-08 18:15:561. 실행 중인 자바 프로세스 확인root@(생략):/# ps -ef | grep javaroot@(생략):/# kill -9 # 프로세스가 실행중이라면 제거 2. nohup으로 jar 실행(log 생성)root@(생략):/# nohup java -jar 파일명.jar --spring.profiles.active=dev 2>&1 & # "--spring.profiles.active=dev" dev모드로 실하는 옵션, 상황에 따라 생략해도 됨 3. log 실시간 확인root@(생략):/# tail -f nohup.out 4. nohup으로 jar 실행(log 생성하지 않음)root@(생략):/# nohup java -jar 파일명.jar --spring.profiles.active=dev > /dev/n..
- [ CS/Linux ][Linux] 생활코딩 리눅스 : 다운로드, 파이프, IO Redirection, shell & kernal, shell script2024-04-03 09:10:201. 다운로드✔️ 출처 : https://opentutorials.org/module/1588/125911.1. wgetroot@(생략):/# wget -O image_sample.png https://(이미지 URL)/image_sample.png # image_sample.png라는 파일명으로 현재 경로에 다운로드 1.2. gitroot@(생략):/# git clone https://github.com/facebook/react.git react_src # react_src 폴더에 리액트 소스 코드 클론 2. 파이프✔️ 출처 : https://www.opentutorials.org/course/2598/14190파이프(|)를 이용해 앞선 명령어의 출력을 이용한다.root@(생략..
- [ CS/Linux ][Linux] 생활코딩 리눅스 : 패키지 매니저2024-04-02 09:55:56✔️ 출처 : https://www.opentutorials.org/course/2598/14180 1. 설치 가능 패키지 목록 업데이트 root@(생략):~# sudo apt-get update 2. 설치 가능 패키지 목록 보기 root@(생략):~# sudo apt-cache search htop# htop 관련 검색한 경우 3. htop 설치 root@(생략):~# sudo apt-get install htop 😉 htop는 리눅스에서 기본 제공하는 top 보다 시각화가 개선된 애플리케이션이다. 4. htop 업그레이드 root@(생략):~# sudo apt-get upgrade htop# htop를 붙이지 않으면 설치된 모든 패키지 업그레이드 5. htop 실행 root@(생략):~# sudo h..
- [ CS/Linux ][Linux] 생활코딩 리눅스 : --help와 man(명령어 매뉴얼 보기)2024-03-29 10:18:31✔️ 출처 : https://www.opentutorials.org/course/2598/14172 1. 명령어 매뉴얼 보기 1.1. --help root@(생략):/# mkdir --help 화면에 mkdir의 사용법을 출력하고 프롬프트로 넘어간다. 1.2. man root@(생략):/# man mkdir 화면에 mkdir의 사용법을 출력하고 추가 명령을 기다린다. 더보기 📌 추가 명령 /키워드 : 키워드 검색 키워드 검색시 n : 검색된 다음 키워드로 이동 2. 그 외 많이 사용하는 명령어 2.1. 현재 경로 확인 root@(생략):/# pwd 2.1. depth가 있는 디렉터리 한 번에 생성 root@(생략):/# mkdir -p dir1/dir2/dir3/dir4 2.2. ls root@(생략):..
- [ CS/DBMS ][DBMS] MySQL 테이블 Read Only 문제2024-03-28 15:05:381. 테이블에 row를 추가할 수 없는 문제! MySQL Workbench에서 row를 추가하려고 할 때 Read Only 테이블 상태로서 추가할 수 없는 경우를 만났다. 2. PK 칼럼 필요 이 문제를 해결하기 위해서는 PK 칼럼이 필요하다. 2.1. Safe Updates 체크 해제 2.2. PK 컬럼 추가 유니크한 값이 존재한다면 해당 칼럼을 PK로 설정 변경하면 되고, 그렇지 않다면 id 칼럼을 추가하여 INT, PK, NN, AI 설정하여 새로운 칼럼을 추가한다.
728x90
반응형