개발35 파이썬 zipfile 모듈(python 압축파일 다루는 방법) 파일 압축하기 파일 한개 압축하기 os.chdir('dir') #작업 디렉터리 설정 zip = zipfile.ZipFile('dir/test.zip', 'w') #압축파일(zip파일) 경로 지정 zip.write('dir/test.txt') #압축할 파일 지정 zip.close() os.chdir로 현재 작업할 경로를 설정하지 않으면 최상위 디렉터리부터 압축될 수 있으므로 현재 작업경로 지정해주기 zipfile.ZipFile('압축할 zip파일', 'w') w는 쓰기 모드 설정이라는 뜻 zip.write('압축할 파일 지정') 파일 여러개 압축하기 #압축할 파일 지정 filelist = ['dir/test.txt','dir/test2.txt','dir/test3.txt'] # 압축파일(zip파일) 경로 .. 개발/PyQt&Python 2022. 11. 24. 클라우드플레어(cloudflare) 적용하기 카페24로 nodejs 호스팅을 하면서 https 접속을 위해 인증서를 설치하고 도메인도 발급받았는데 cafe24 노드호스팅은 SSL 지원이 안되서 차선책을 찾아봤습니다. 사이트에 HTTPS 적용은 요새 거의 필수나 마찬가지인데, SSL 지원을 안해주는 것에 대한 이해는 일단 뒤로 미루고, 왜 HTTPS 적용이 필요한가 하면 - HTTPS는 암호화 전송을 사용하므로 보안 강화(사용자 정보 입력받는 곳은 필수) - HTTPS를 사용하지 않을 시 제공되지 않는 것들이 있음(단례로 navigator.clipboard.writeText 가 HTTP에서 지원되지 않음..) - HTTPS를 사용해야 구글 검색 가산점 부여(상위노출) 이러한 이유들로 HTTPS 적용방법을 열심히 찾아봤고 클라우드플레어로 문제를 해결할.. 개발/Web 2022. 11. 21. 자바스크립트 테이블 값 가져오기(테이블 이벤트 추가하기) 자바스크립트로 table td 클릭 시 값 가져오는 함수입니다. jquery 없이 순수 자바스크립트로 구현되었습니다. document.querySelectorAll('#tb td') .forEach(e => e.addEventListener("click", function() { console.log(this.innerHTML) })); 끝! 너무 간단하죠? 단 4줄의 코드로 이벤트를 추가시키고 값을 가져옵니다. #tb 부분에 테이블 id 넣어주시면 되고, this.innerHTML이 td 값이니 필요하신 대로 쓰시면 됩니다. tr 값을 가져오려면 아래의 방법으로 하면 됩니다. document.querySelectorAll('#tb tr') .forEach(e => e.addEventListener("c.. 개발/JavaScript 2022. 11. 19. webp 파일 무료압축 사이트 / 품질 비교 webp 파일 약 1300장을 압축할 일이 있어서 무료압축 사이트들을 찾아서 써보고 기능/품질을 비교해 봤습니다. 맨 아래에 사이트별 품질 비교사진도 올려놓았으니 이미지 용량을 줄이실 분들은 비교해서 가장 좋은 사이트를 선택해서 이용하세요. 1. https://tinypng.com/ tinypng는 webp, png, jpeg 파일을 지원하며 한 번에 최대 20개의 파일을 변환할 수 있습니다. 변환한 파일을 한 번에 zip 파일로 다운받을 수 있는 기능도 제공해요. 단점은 너무 짧은 시간에 여러번 파일 압축을 시도하면 20개씩 안되더라고요.... 이 점이 너무 큰 단점. 캐시 날리기, 시크릿 세션으로 해봐도 자주 변환하는 걸 인식하는 걸 보면 뭔가 다른 정보를 가지고 있는 듯. 속도는 제일 빠른 것 같아.. 개발/Web 2022. 11. 14. node.js mysql 설치/연결 npm i promise-mysql mysql 모듈 설치 config/db.js const promiseMysql = require('promise-mysql'); let pool; const createPool = async () =>{ pool = await promiseMysql.createPool({ host: '주소', port : 포트번호(기본 3306), user : 'DB아이디', password : 'DB비밀번호', database : 'DB명', connectionLimit: 5 }); }; createPool(); const simpleQuery = fn => async ( ...args) =>{ let con = await pool.getConnection() const result.. 개발/Node.Js 2022. 11. 13. PyQt tablewidget에 checkbox 추가 / 정렬되게 만들기 테이블위젯에 체크박스를 추가하고 체크 유무에 따른 정렬기능까지 추가한 소스입니다. class checkboxItem(QTableWidgetItem): def __init__(self): super().__init__() #정렬시 발생 이벤트 def __lt__(self, other): if self.checkState() == other.checkState() or self.checkState() == Qt.Checked: return False return True QTableWidgetItem은 텍스트로 비교를 수행하기 때문에 새로운 checkboxItem을 만들어 __lt__에 비교 이벤트를 넣었습니다. item = checkboxItem() item.setFlags(QtCore.Qt.ItemIsU.. 개발/PyQt&Python 2022. 11. 11. 파이썬 디렉터리/파일 관련 함수 정리(os/os.path/glob,shutil) os os.getcwd() : 파이썬 현재 작업중인 경로 불러오기 os.getcwd() #C:\Program Files\Python39 os.chdir(변경할 경로) : 현재 작업중인 경로 변경하기 os.chdir("C:/Users/PLAYHOOS/") os.listdir(경로) : 경로 내의 폴더/파일 리스트를 가져옴 dir = 'C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley\Mods' os.listdir(dir) #['폴더명',...'파일명'] os.makedirs(경로/폴더명) : 지정 경로에 폴더 생성 os.makedirs('C:/Prj/폴더명') os.path os.path.abspath(경로) : 절대경로 가져오는 함수 절대경로 :.. 개발/PyQt&Python 2022. 11. 9. PyQt 하이퍼링크(QLabel, QPushButton) 달기, 스타일 변경 QPushButton에 달기 웹사이트 링크 넣기 btn = QPushButton('하이퍼링크 버튼') btn.clicked.connect(lambda: webbrowser.open('https://jess913.tistory.com')) QPushButton 클릭이벤트에 lambda: webbrowser.open('주소') 넣기 폴더경로 넣기 folderbtn = QPushButton('폴더 하이퍼링크 버튼') folderbtn.clicked.connect(lambda: webbrowser.open(os.path.expanduser('~\\Downloads'))) 폴더경로를 넣으면 폴더가 열림(예: 사용자 다운로드 폴더 열기) QLabel에 달기 linklb = QLabel() linklb.setAlig.. 개발/PyQt&Python 2022. 11. 9. PyQt pdf파일 drag/drop으로 가져오기 PDF 파일을 드래그/드롭으로 가져오는 방법입니다. 이렇게 pdf파일을 끌어오면 읽게 됩니다. #파일 끌어오는 부분 class FileLabel(QLabel): def __init__(self): super().__init__() self.setAlignment(Qt.AlignCenter) self.setText('파일을 끌어오세요') self.setStyleSheet(''' QLabel{ border: 4px dashed #aaa; font-size: 15pt; font-family:'Malgun Gothic'; } ''') 파일을 끌어오는 화면 부분입니다. setStyleSheet 부분에 원하는 스타일을 주면 됩니다. #파일 끌어오기 def dragEnterEvent(self, event): if s.. 개발/PyQt&Python 2022. 11. 8. 카페24 nodejs 가입부터 git 배포까지 총정리 카페24에서 nodejs 호스팅을 가입하고 git배포까지 너무 삽질해서 나중에 보려고 + 다른 분들도 보고 도움되셨으면 해서 정리해서 올립니다. Nodejs 호스팅 가입 https://hosting.cafe24.com/?controller=new_product_page&page=language 카페24 호스팅 | 온라인 비즈니스의 시작 node.js 버전은 신규 신청 시 선택이 가능하며, 버전은 주기적으로 업데이트 되므로 마이너 버전은 신청 시기에 따라 변경될 수 있습니다. hosting.cafe24.com cafe24 호스팅에 들어가시면 호스팅 > 개발 언어별 호스팅이 있습니다.(위 링크를 누르면 바로 접속됩니다) 여기서 node.js를 선택하고 신청하기를 눌러주세요 신청하기를 누르면 정보 입력 란이 .. 개발/Node.Js 2022. 11. 8. 티스토리 코드블럭 테마 적용방법부터 종류별 비교까지 블로그 포스팅 내용이 게임 뿐만 아니라 개발 관련 내용도 있다 보니 소스코드를 올릴 일이 종종 있는데, 글 등록을 마친 후 내용을 보니.. 분명히 글쓰기 화면에선 이렇게 보였던 것이.. 글을 등록하고 나니 이렇게 보였다 충격받고 코드블럭 테마 적용하는 방법을 알아보았다. 블로그관리 > 플러그인에 들어가면 하단에 코드 문법 강조 플러그인이 있다. 이것을 클릭해 준다 적용을 누르면 코드블럭 테마가 적용된다. 테마는 기본 포함 총 8가지가 있는데, 미리보기가 없어서 내가 비교해 보았다 테스트는 파이썬 코드로 했다. 기본 Atom One Dark Atom One Light Github Monokai Darcula Visual Studio Xcode 개인적으로는 까만 바탕을 좋아해서 그런지 Atom One Dar.. 개발/CSS 2022. 11. 6. PyInstaller - 파이썬 exe파일 만드는 방법(아이콘,파일,이미지 추가하기) https://pyinstaller.org/en/stable/index.html PyInstaller Manual — PyInstaller 5.6.2 documentation PyInstaller bundles a Python application and all its dependencies into a single package. The user can run the packaged app without installing a Python interpreter or any modules. PyInstaller supports Python 3.7 and newer, and correctly bundles many major P pyinstaller.org PyInstaller는 파이썬 프로그램을 exe .. 개발/PyQt&Python 2022. 11. 6. 이전 1 2 3 다음 💲 추천 글