프로그래밍
-
리눅스 - 로컬, 다른 서버로 파일 전송프로그래밍/Linux 리눅스 2024. 1. 16.
[서문] 리눅스 서버와 Mac OS 간에 파일을 전송해야 할 때, SCP (Secure Copy Protocol)는 안전하고 간편한 방법입니다. 이 글에서는 SCP를 사용하여 리눅스 서버에서 Mac OS로 파일을 전송하는 방법에 대해 안내해 드리겠습니다. [본문] 1. SCP가 무엇인가요? SCP는 SSH (Secure Shell)를 기반으로 한 파일 전송 프로토콜로, 리눅스 서버와 다른 시스템 간에 파일을 안전하게 복사하는 데 사용됩니다. SCP는 데이터를 암호화하여 보안을 강화하며, 대부분의 리눅스 배포판에 기본적으로 설치되어 있습니다. 2. SCP를 사용하여 파일 전송하기 Mac OS의 터미널을 열고 다음 명령어를 사용합니다 scp username@리눅스서버주소:원본파일 경로 목적지파일 경로 use..
-
sweetalert2 - alert창 관련 오픈소스 라이브러리프로그래밍/JavaScript 자바스크립트 2023. 11. 22.
https://sweetalert2.github.io/ SweetAlert2 SweetAlert2 - a beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes sweetalert2.github.io 소개 기본 alert 창을 커스터마이징 할 수 있게 해주는 라이브러리이다. 예시 기본 alert 창 sweetalert2 라이브러리 적용시 공식 문서가 보기 힘든 다른 공식 문서와 다르게 아주 아주 잘 만들어져있다. 다른 테마로도 적용해서 보여주기도 하고 용법, 예시, 클래스, 메소드 소개 등등 전부 정리가 잘 되어 있다. 초보자도 쉽게 읽고 내려갈 수 있는 UI로 되어있어서 자세..
-
Python - 기존 코드 병렬 처리 - 멀티쓰레드(Multi Thread)프로그래밍/Python 파이썬 2023. 10. 20.
목적 사용중이던 메소드 하나가 동기 방식이여서 요청을 보내고 기다리는 식을 반복문으로 감싼터라 시간이 매우 오래 걸렸다. 이를 비동기 방식으로 실행 한다면 엄청난 시간 절약이 될 것이라서 코드 변경을 하려고 한다. 문제 발생 비동기 처리를 위해서 여러가지 파이썬 라이브러리를 찾던중 가장 최근의 라이브러리인 asyncio를 선택했었다. 하지만 내가 보내는 요청은 requests를 사용하는 라이브러리를 가져와서 사용하는 것이라서 해당 패키지를 뜯어서 고치지 않는이상 asyncio를 사용할 수 없었다. asyncio를 사용하기 위해서는 요청을 보내는 코드에 손을 봐야 했었다. 해결 내가 원하는 프로그램 구동 방식은 해당 메소드 그 자체를 여러번 동시에 실행하는것 즉 메소드 그 자체를 비동기로 돌리는것 이건 즉..
-
Centos - 리눅스 서버 용량 추가하기프로그래밍/Linux 리눅스 2023. 10. 8.
내가 관리하는 서버 용량이 10G가 밖에 안되어서 이번에 물리 하드디스크에 용량을 추가해서 총 100G로 만들었다. 다만 리눅스상에서 자동으로 잡아주지 않기 때문에 몇가지 절차가 필요함. 1. lsblk 이 명렁어는 파티션을 트리 구조로 보여주기 때문에 한눈에 파악이 된다. 현재 내가 사용하는 root 쪽 용량을 거의 다 쓴 상황 하지만 xvda에 100G가 존재하는게 보인다. 이걸 전부 root에 할당 할 것이다. 2. yum install cloud-utils-growpart 리눅스 용량 할당을 도와주는 yum 패키지 growpart를 설치한다. 3. growpart /dev/xvda2 용량 할당은 xvda -> xvda2 -> root 순으로 할당을 한다. 트리 구조로 하나씩 내려간다고 생각하면 된..
-
리눅스 - Centos7 Python 3.11.x 설치프로그래밍/Linux 리눅스 2023. 9. 22.
소개 파이썬 3.11 버전은 이전 버전보다 속도 향상이 되었기 때문에 이번에 내 센토스7 서버에 파이썬 3.11버전대를 설치 하려고 한다. 문제는 센토스7버전과 파이썬 3.11버전 호환성이 안맞아서 기존 파이썬 설치하듯이 설치하면 작동을 안한다. 센토스7에는 openssl 1.0 버전대가 깔려있는데 파이썬 3.11버전대를 사용하려면 openssl 버전을 1.1.1로 맞춰야 한다. 인터넷에는 다양한 파이썬 설치 글이 있지만 3.11버전대 설치글은 거의 없고 그마저도 제대로 설명 해주지 않는다. 하지만 다행히 한군데 외국 레퍼런스 설치 문서가 있어서 그걸 보고 했더니 잘 설치가 되었다. centos7 리눅스에 파이썬 3.11.5 설치하기 1. 시스템 업데이트 (선택) yum 업데이트는 권장하지만 만약 다른 ..
-
MySql - 마리아DB 수동 백업하기 [mysqldump]프로그래밍/DBMS 2023. 9. 4.
운영중인 DB데이터가 어떻게 잘못 될지 모르기 때문에 일단 주기적으로 수동으로 DB 데이터 백업을 해야겠다고 생각을 했다. 사실 바이너리 로그를 활성화해서 자동 백업이 되고 있지만 만에 하나를 가정해서 수동으로라도 백업을 해두면 내 마음이라도 편할것 같다. 특정 데이터베이스만을 백업할거기 때문에 자기가 백업 할 데이터베이스 이름을 알아내야 한다. 1. 쿼리 편집기 사용하거나 서버에서 mysql 로그인을해서 해당 명령어로 데이터베이스 네임 확인한다. show databases; 2. 리눅스 서버에 접속해서 자신이 백업하고 싶은 위치로 이동한다. 폴더가 없다면 mkdir로 폴더 생성 ex) /var/lib/mysql/mybackup sudo mkdir test cd /test/mysqlbackup 3. 이게..
-
Maria - DELETE문은 자기 테이블을 참조 못한다프로그래밍/DBMS 2023. 8. 7.
에러 : DELETE FROM table WHERE userid IN ( SELECT userid FROM table group by tag_name, userid HAVING COUNT(username) > 1 ) ; 원인 : table 이란 테이블에서 중복 컬럼들을 찾아서 제거하는 쿼리문을 작성 했는데 문법에 틀린 부분이 없는데 에러가 발생 알고보니 DELETE를 하려는 테이블에서 WHERE 조건절에 DELETE하려는 테이블을 참조를 못한다는것. 해결: DELETE FROM table WHERE userid IN ( SELECT temp.userid FROM ( SELECT userid FROM table group by tag_name, userid HAVING COUNT(username) > 1 ..
-
MariaDB - bin binary log 활성화프로그래밍/DBMS 2023. 8. 3.
운영중인 서비스 로컬 -> DB화 작업중 데이터 체크하다가 UPDATE 구문 WHERE절 안넣고 컬럼 하나 전체 데이터 다 바꿔버림 DBeaver는 오토커밋 잘 끄고 메뉴얼 모드로 사용했지만 코드 상에서 트랜잭션중에 에러가 발생하지 않는 이상 커밋되게 코드 짜놔서 그냥 개망함 하 바이너리 로그도 세팅 안해놔서 복구할 방법이 없음 일단 나중에 또 실수할 수 있으니까 바이너리 로그 활성화 해놈. 1. 리눅스: /etc/mysql/my.cnf또는/etc/my.cnf 파일 열고 2. 문구 추가 [mysqld] default-character-set = utf8mb4 log-bin=mysql-bin max_binlog_size=1G expire_logs_days=7 해당 구문 추가로 일단 바이너리 로그 활성화 세..