728x90
반응형
- [ CS/Linux ][Linux] SSH 포트를 22가 아닌 다른 포트로 변경2024-12-11 18:31:561. CentOS1) SSH 설정 파일 수정sudo vi /etc/ssh/sshd_config파일에서 아래 내용을 찾는다.#Port 22주석(#)을 제거하고 사용할 포트 번호로 변경한다(아래 예는 2022로 변경).Port 2022 2) 새 포트를 방화벽에 추가새 포트를 방화벽에 허용 한다(아래 예는 포트 2022 허용).sudo firewall-cmd --permanent --add-port=2022/tcpsudo firewall-cmd --reload 3) SSH 데몬 재시작SSH 데몬을 다시 시작하여 설정을 적용한다.sudo systemctl restart sshd 4) 새 포트로 접속 테스트변경한 포트로 SSH 접속이 잘 되는지 확인한다.ssh -p 2022 사용자명@서버주소 5) SELinux ..
- [ CS/Linux ][Ubuntu] 새로운 사용자 생성 및 기존 사용자 잠금2024-12-09 11:16:331. 새로운 사용자 생성1) 새로운 사용자 생성adduser 명령으로 새 사용자를 생성한다.sudo adduser uniqueuseruniqueuser: 새로 생성할 사용자 이름명령 실행 중, 새 사용자의 비밀번호를 설정하고 기본 정보를 입력하도록 요청받게 되는데, 기본 정보는 생략(엔터 연타) 해도 된다.2) 관리자 권한 부여sudo usermod -aG sudo uniqueuser 2. 기존 사용자 잠금1) 잠금 설정usermod 명령으로 사용자를 잠금 상태로 설정하면 해당 사용자는 더 이상 로그인할 수 없다.sudo usermod -L newuser-L 옵션: 사용자의 비밀번호를 비활성화하여 로그인하지 못하게 한다.2) 잠금 상태 확인sudo passwd -S newuser결과에 L(locked)..
- [ CS/DBMS ][Sequelize] 새로운 테이블 추가시 발생한 문제 해결2024-09-09 16:58:591. 새로운 테이블 추가 후 발생한 에러 해결😉 새로운 칼럼 또는 테이블 추가 방법 : https://postforty.tistory.com/473parent: Error: Unknown column 'createdAt' in 'field list'새로운 테이블을 추가하기 위해 모델 파일을 추가하면 init-models.js에 테이블에 대한 관계 설정을 해줘야 하는데 직접 진행하면 고생스럽다. 그래서 sequelize-auto로 DB 스키마의 모든 내용을 모델 파일로 가져오는 방법을 사용하면 편리하다. 이때 DB를 수정하지 않기 때문에 데이터 손실을 걱정하지 않아도 된다.npm install -g sequelize-auto # 설치하기# 사용 예제sequelize-auto -o "./models" -d..
- [ CS/DBMS ][redis] 윈도우에 redis 설치2024-06-07 15:24:141. 설치 파일 다운로드마이크로소프트 깃허브에서 설치 파일을 다운로드할 수 있다.😉링크 : https://github.com/microsoftarchive/redis[그림 1]에서 Releases를 클릭하면 다운로드 가능한 파일 리스트를 확인할 수 있다. [그림 2]의 리스트에서 msi 파일을 다운로드 후 설치하면 된다. 2. redis 서버 작동 확인netstat, tasklist 명령을 이용해 아래와 같이 출력된다면 redis 서버가 6379 포트로 정상 작동 중인 것이다.2.1. cmd에서 netstat 명령으로 6379 포트 사용 여부 확인>netstat -ano | findstr :6379 TCP 0.0.0.0:6379 0.0.0.0:0 LIS..
- [ CS/Linux ]생활코딩 리눅스 : rsync(백업할 때 유용)2024-05-28 09:40:411. rsync✔️ 출처 : https://opentutorials.org/course/2598/145081.1. 새로운 디렉터리로 전송파일과 디렉터리를 동기화는 강력한 도구.mkdir -p rsync/src # 실습을 위해 디렉터리 생성cd rsync/src # 생성한 디렉터리로 이동touch test{1..10} # test1~10이라는 10개의 실습 파일 생성cd .. # 상위 디렉터리로 이동rsync -av src/ dist # rsync를 이용해 src 디렉터리의 모든 파일을 dist 디렉터리(자동 생성)에 복사# 사용한 rsync 옵션 설명# -a (archive)# 아카이브 모드 활성화.# 아카이브 모드는 디렉터리와 파일을 재귀적으로 복사함# 복사 내용은 심볼릭 링크, 파일 권한, 사용자 및..
- [ CS/자료구조와 알고리즘 ][자료구조와 알고리즘] 유데미 강의 "JavaScript 알고리즘 & 자료구조 마스터클래스" 정리(섹션 17: 기수 정렬)2024-05-21 23:10:55섹션 17: 기수 정렬버블, 선택, 삽입, 합병, 퀵 정렬은 비교 정렬에 속한다. 반면 기수 정렬은 정렬할 숫자를 비교하지 않고 bucket이라는 10개의 배열(0~9)에 담았다가 병합하는 방식으로 정렬한다. 이렇게 bucket에 담았다가 병합하는 과정은 정렬할 숫자의 최대 자릿수만큼 일어난다. // 자릿수에 해당하는 숫자 반환function getDigit(num, i) { return Math.floor(Math.abs(num) / Math.pow(10, i) % 10);}// 숫자의 자리수 세기function digitCount(num) { if (num === 0) return 1; // log 계산은 지수와 밑이 같으면 1이다. // 지수가 10이기 때문에 두자리 수인 10..
- [ CS/자료구조와 알고리즘 ][자료구조와 알고리즘] 유데미 강의 "JavaScript 알고리즘 & 자료구조 마스터클래스" 정리(섹션 16: 퀵 정렬)2024-05-20 21:57:35섹션 16: 퀵 정렬이 코드는 배열에서 가장 왼쪽의 값을 피봇으로 삼는 방식으로 작성되어 있다. 피봇 값 보다 작은 값은 피봇 값 왼쪽에 위치하도록 하는 정렬 방식으로 재귀 함수를 이용해 이 과정을 반복하여 정렬한다. function pivot(arr, start = 0, end = arr.length + 1) { function swap(arr, i, j) { [arr[i], arr[j]] = [arr[j], arr[i]] } var pivot = arr[start] var swapIdx = start for (var i = start + 1; i arr[i]) { swapIdx++ swap(arr, swapIdx, i) ..
- [ CS/Linux ][Linux] 생활코딩 리눅스 : 인터넷, 네트워크 그리고 서버(IP 확인 방법), 웹 서버, ssh2024-05-20 10:52:521. IP 확인✔️ 출처 : https://opentutorials.org/course/2598/144271.1. 사설 IP(Private IP Address) 확인 명령ip addr출력 결과 중 inet 부분을 확인하면 된다. 외부에서 접속할 수 없는 IP이다. 1.2. 공인 IP(Public IP Address) 확인 명령curl ipinfo.io/ip # 또는 curl http://ipinfo.io/ip외부에 접속할 때 사용하는 IP이다. 😉사설 IP, 공인 IP : 통신사가 제공하는 하나의 IP를 여러 단말기에서 사용하기 위해 Router를 사용하여 비용을 절감한다. 이때 통신사가 제공하는 공인 IP는 Router가 가지게며, 각각의 단말기는 사설 IP를 부여받게 된다. ip addr 명령과 c..
728x90
반응형