본문 바로가기

전체 글40

Mac에서 쉘 스크립트로 다중 서버에 같은 명령 내리기 AWS에 여러 서버를 활용해야 하는 프로젝트 중 여러 서버에 같은 명령을 내려야하는 경우가 생겼습니다. Window 환경에서는 SuperPUTTY라는 프로그램이 이 역할을 수행할 수 있지만 맥에는 SuperPUTTY가 없기에... 구글링을 통해 자료를 찾던 중 맥에서는 스크립트를 짜서 해야한다는 글을 발견했고, 쉘 스크립트라는 것을 경험하기에 이르렀습니다. 먼저 위 기능을 구현하기 위해서는 터미널에서 암호를 입력하지 않고 미리 등록해두어야 하기에 SSHPass라는 툴을 사용했습니다. ssh-keygen을 통해 암호화 키를 받아두는 방법도 있지만 심플하게 암호를 파일에 넣어두는 것으로 대체했습니다. 1. SSHPass 설치 SSHPass를 설치하는 명령은 아래와 같습니다. on Ubuntu$ apt-get.. 2018. 7. 4.
Node.js Mysql(MariaDB) 모듈화하기 프로젝트에서 Node.js에 MariaDB를 사용하여 모듈을 개발하고 있습니다.Mysql과 이름이 다른 MariaDB 라지만 쿼리문에는 큰 차이가 없었습니다. 모듈 개발 프로젝트를 진행하다보니 Mysql config, connect, sql 코드들을 app.js에 모두 넣다보니 가독성이 점점 떨어졌습니다.그래서 굳이 각 기능들을 모듈로 분리해 눈과 머리가 편안할 수 있도록 개발을 진행하기로 했습니다. 0. mysql 설치Node.js에서 Mysql을 사용하려면 설치부터 해야죠.작업 디렉토리로 이동 후 아래 명령을 통해 mysql 모듈을 받아옵니다. --save 옵션은 package.json에 추가하는 구문인데 생략 가능합니다. $ npm install mysql --save 1. db_config.jsd.. 2018. 5. 14.
Node.js 대상 디렉토리 내의 모든 파일 읽어오기 한참 찾은 시간에 비해 제목과 같은 작업을 수행하는 코드는 단, 두 줄 이었습니다... 아래 소스에 사용된 디렉토리 경로는 다음과 같습니다. node_directory/jsons fs.readdirSync(); 는 node 작업 디렉토리 기반 상대 경로로 설정됩니다. var fs = require('fs');var dir = 'jsons'; var files = fs.readdirSync(dir); // 디렉토리를 읽어온다console.log(files); 아래는 확장자가 '.json'인 파일만 필터링해 파일의 내용을 읽어오는 소스입니다. var fs = require('fs');var dir = 'jsons'; var files = fs.readdirSync(dir); // 디렉토리를 읽어온다conso.. 2017. 11. 9.
Python Zip 파일로 압축하기 이 문서는 아래 링크의 문서를 참조하였습니다.Python Zipfile Documentation : https://docs.python.org/3/library/zipfile.html import osimport zipfile ''' class zipfile.ZipFile(파일주소, Mode(Option)) Mode : 'r' 존재하는 파일 읽기 'w' 파일이 존재하면 지우고 생성 'a' 존재하는 파일에 append 하기 'x' 파일이 존재하지 않으면 생성, 존재하면 FileExistsError 뱉음'''zip = zipfile.ZipFile('c:\\python\\archive.zip', 'w') for folder, subfolders, files in os.walk('C:\\python\\folde.. 2017. 11. 9.