분류 전체보기
EDS(Easy Data Sync) - Database Migration & Synchronization
EDS(Easy Data Sync) - Database Migration & Synchronization
2021.03.02시스템을 운영하다보면 테스트 DB에 반영하고 단위테스트와 통합테스트를 진행하고 변경한 데이타를 운영기에 반영해는 경우가 많습니다. 동일한 DBMS이거나 한 두개 정도의 테이블만 복제/동기화 해야한다면 시중에 잘 알려진 복제 툴을 사용해도 문제가 아닐 것입니다. 허나 시스템이 방대해지면서 여러 종류의 DB와 Table을 사용해야하고 특정 데이타만 동기화 하고 싶다면 단순한 복제 툴로 해결하기 어려워 집니다. 실제로 하나의 기준을 설정하기 위해 84개의 테이블에 접근하고 800Row에 가까운 Insert가 이루어집니다. 화면을 통해 기준을 넣다보면 4~6시간이 소요됩니다. EDS (Easy Data Sync) - Database Migration & Synchronization EDS 솔루션은 Databas..
ZOOM 화상회의 시간 무료로 무제한 이용 (`21.7월말 기준으로 종료)
ZOOM 화상회의 시간 무료로 무제한 이용 (`21.7월말 기준으로 종료)
2021.03.02교육기관 무료계정을 대상으로 한 무제한 미팅 지원이 2021년 7월 31일기준으로 폐지되었습니다. 최근 코로나로 인해 재택근무가 증가하면서 화상회의의 이용이 점점 늘고 있습니다. 그런데 무료계정은 40분으로 제한이 되어 있어 회의가 길어지면 회의를 다시 생성해야하는 불편함이 있습니다. 하지만 네이트 계정 이메일 또는 학교 이메일으로 가입을 하면 시간제한 없이 무제한 사용이 가능합니다. 코로나로 인해 일시적으로 적용 중인 것 같습니다. 1. 네이트 계정 생성 (네이트 계정이 이미 존재하거나 학교 이메일이 있는 경우 Skip) 2. 네이트 이메일 또는 학교 이메일을 이용하여 ZOOM 무료 가입 ( https://zoom.us/ ) 3. ZOOM에 로그인하여 문구 확인 * ZOOM 다운로드 페이지 이동 더보기..
[Python] Requests와 Fiddler 동시 사용 (Jupyter notebook)
[Python] Requests와 Fiddler 동시 사용 (Jupyter notebook)
2021.02.18Fiddler가 수행중인 상태에서 https 규약 사이트를 Requests로 Post() Get()을 수행하면 아래와 같은 오류가 발생합니다. ProxyError: HTTPSConnectionPool(host='www.tistory.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', timeout('_ssl.c:1074: The handshake operation timed out'))) Fiddler 에서 인증서를 내보낼 수 있는데 이를 활용하여 해결 할 수 있습니다. 1. Tools > Options 선택 2. [HTTPS] 탭으로 이동 > Decrypt HTTPS traff..
Pycharm ssh Interpreter (Windows Server) - "Bad Message"
Pycharm ssh Interpreter (Windows Server) - "Bad Message"
2021.02.17오래 고생했지만, SSH Interpreter 서버가 윈도우인 경우는 지원하지 않는다.
Build OpenCV 4.5.1 with CUDA (GPU) Support on Windows 10 (Python 3.8)
Build OpenCV 4.5.1 with CUDA (GPU) Support on Windows 10 (Python 3.8)
2021.02.151. Anaconda 설치 : 기본적인 패키지들을 포함한 개발환경을 구축하기 위해 아나콘다를 설치 Anaconda3 설치 (Windows) 1. Anaconda 다운로드 https://www.anaconda.com/download/ Anaconda | Individual Edition Anaconda's open-source Individual Edition is the easiest way to perform Python/R data science and machine learni.. yunwoong.tistory.com 2. 가상환경 구성 : 해당 가이드에서는 Python 3.8으로 환경구성을 권장 (OpenCV, cuda, cuDNN 버전을 고려하여 Python 3.8로 환경을 구성할 것을 권장함)..
Python을 활용한 마스크 자동 구매 프로그램
Python을 활용한 마스크 자동 구매 프로그램
2021.01.31코로나 19 로 인해 마스크 품귀 현상이 지속되면서 마스크 구매 경쟁이 치열해졌습니다. 공적 마스크를 배분하는 마스크 5부제까지 시행됐지만, 여전히 마스크 구하기는 어려워서 마스크 구매가 가능한 시점에 알림을 주거나 자동으로 구매하는 프로그램을 만들었습니다. 추진배경 공급의 부족으로 마스크 가격은 계속 치솟고 기존 가격을 유지하는 착한 마스크라 불리는 마스크는 오전 9시에 쉴 새 없이 새로고침을 누르며 클릭을 하여도 활성화된 [구매하기] 버튼조차 구경하기 어렵습니다. 공대생들은 실시간으로 주문한 마스크를 할머니는 5시간씩 줄을 서도 하루 5장을 구매하지 못했다는 기사가 나오기도 했습니다. 추진내용 처음에는 마스크를 게릴라로 판매하는 사이트를 크롤링하여 재고 존재 시 문자로 알람을 보내주는 방식으로 개발하..
[ PyQt ] Button Widget
[ PyQt ] Button Widget
2021.01.311. QPushButton def __init__(self): QWidget.__init__(self, flags=Qt.Widget) self.btn_push = QPushButton() self.edt_number = QLineEdit() self.layout = QBoxLayout(QBoxLayout.TopToBottom, self) self.setLayout(self.layout) self.init_widget() 1) Signals clicked(bool) pressed released toggled(bool) def init_widget(self): self.setWindowTitle("QPushButton Shortcut") self.click_cnt = 0 self.edt_number.set..
[ 오류 해결 ] (Python) Remainder of file ignored
[ 오류 해결 ] (Python) Remainder of file ignored
2021.01.30matplotlib 에서 아래와 같이 'Remainder of file ignored' 오류 발생 시 numpy를 삭제 후 재설치 함 pip uninstall numpy pip install numpy
[ PyQt ] Signal & Slot
[ PyQt ] Signal & Slot
2021.01.301. Signal & Slot 이란? Signal 과 Slot은 객체 간 통신에 사용 Signal이 발생하면 Slot Function이 호출 (Ex. 버튼을 클릭하면 Text가 변경된다면 버튼을 클릭하는 이벤트가 Signal, Text가 변경되는 것이 Slot임) 2. Signal과 Slot의 연결 1) Qt에서 제공하는 Widget에는 각 Widget마다 다양한 Signal이 존재 clicked pressed released toggled … 2) Signal과 Slot은 connet라는 함수를 통해 연결 self.[widget_name].[signal].connect(slot) 3) 간단한 Signal은 Qt Designer 내에서 설정가능 4) Source
Python 패키지 설치
Python 패키지 설치
2021.01.291. 패키지 확인 설치된 패키지를 확인하기 위해서 둘 중 하나 입력 ## 설치된 패키지를 출력 pip list ## 설치된 패키지를 requirements 포맷으로 출력 pip freeze 2. pip upgrade 아래와 같이 pip upgrade 안내가 나왔다면 pip 버전을 업데이트 하기 위하여 아래 명령 수행 pip install –upgrade pip PIP 버전이 업데이트 되면서 목록을 확인하는 방법이 변경되었다는 메시지가 출력 기존형식은 –format=legacy,변경된 형식은 –format=columns을 인자로 전달 3. pip install 새로운 패키지를 설치하기 위해서는 ‘pip install [pakage]’을 이용 pip install requests 특정 버전의 패키지 설치 p..
Markdown (마크다운) 문법 총정리
Markdown (마크다운) 문법 총정리
2021.01.29Markdown 이란? Markdown은 텍스트 서식을 지정하는 데 사용되는 경량 마크업 언어입니다. 2004년 John Gruber와 Aaron Swartz가 읽기 쉽고 쓰기 쉬운 Web용 콘텐츠를 작성하는 간단한 방법을 제공한다는 목표로 만들었습니다. Markdown은 HTML로 쉽게 변환할 수 있는 간단한 일반 텍스트 구문을 사용하므로 웹사이트, 웹 애플리케이션용 콘텐츠를 만드는 데 널리 사용되며 Jupyter Notebook, Github등에서도 사용됩니다. 사용자는 HTML 또는 기타 마크업 언어에 대한 지식 없이도 일반 텍스트 문자를 사용하여 제목, 굵게 및 기울임꼴 텍스트, 목록, 링크 및 이미지와 같은 서식 요소를 추가할 수 있습니다. 더보기 Jupyter Notebook에서 Markdow..
Jupyter Notebook 추가기능
Jupyter Notebook 추가기능
2021.01.291. DocString의 표시 선언한 변수 뒤에 ?를 붙여서 셀을 실행하는 것으로 해당 변수의 상태를 확인 약간 다른 방법으로 변수를 타이핑한 후 Shift + Tab을 누르면 툴팁이 표시 툴팁에는 DocString의 일부 내용이 표시됨 2. 이미지 첨부하기 Drag & Drop으로 첨부 3. shell(명령 프롬프트)의 이용 명령창에서 쓰는 명령을 그대로 쓰되, 맨 앞에 !를 입력하여 사용 가능 !cd Documents 4. Jupyter에서 Python Script(.py) 실행 매직 명령어 %run을 이용하여 Python 파일 실행 %run -i 'script.py' 5. 매직 명령어 이용 맨 앞에 %를 붙이고 특정 명령을 수행할 수 있음 (Python 문법에는 포함되지 않은, Jupyter not..