Dandy Now!
  • [ CS/Linux ]
    [Linux] SSH 포트를 22가 아닌 다른 포트로 변경
    2024-12-11 18:31:56
    1. 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:33
    1. 새로운 사용자 생성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:59
    1. 새로운 테이블 추가 후 발생한 에러 해결😉 새로운 칼럼 또는 테이블 추가 방법 : 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:14
    1. 설치 파일 다운로드마이크로소프트 깃허브에서 설치 파일을 다운로드할 수 있다.😉링크 : 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:41
    1. 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 확인 방법), 웹 서버, ssh
    2024-05-20 10:52:52
    1. 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..