SW개발
-
pyinstaller error (matplot lib 버전 문제)SW개발/Python 2020. 12. 3. 21:55
pyinstaller --onefile main.py로 실행파일을 생성할 때 다음과 같은 에러 메세지가 나왔다. 37342 INFO: Matplotlib backend "nbAgg": ignored No module named 'IPython' 39665 INFO: Matplotlib backend "Qt4Agg": ignored Failed to import any qt binding 41817 INFO: Matplotlib backend "Qt4Cairo": ignored cairo backend requires that pycairo>=1.11.0 or cairocffiis installed 44254 INFO: Matplotlib backend "Qt5Agg": ignored Failed to i..
-
Linux kernel 소스 코드 다운로드 및 매뉴얼SW개발/Linux 2020. 11. 30. 22:46
Linux kernel 소스 코드는 kernel.org에서 다운받을 수 있습니다. Latest Release 버튼을 클릭하면 현재 최신 버전인 5.9.11 (파일명: linux-5.9.11.tar.xz)을 다운받아서 사용할 수 있습니다. www.kernel.org/ Linux kernel 사용자 및 개발자를 위한 공식 문서는 다음의 경로에 있습니다. (한국어 버전은 지원하지 않는 것으로 보입니다.) www.kernel.org/doc/html/latest/index.html The Linux Kernel documentation — The Linux Kernel documentation This is the top level of the kernel’s documentation tree. Kernel do..
-
Python 숏코딩을 위한 팁 정리SW개발/Python 2020. 1. 23. 22:23
** Python 강의를 기반으로 추후 기억해두고 싶은 내용을 정리한 문서입니다. 숏코딩을 위한 수업은 아니었지만 python 문법 강의에서 도움이 되었던 부분들을 정리했습니다. 1. look up table 활용하기 룩업테이블을 사용하는 것은 런타임에 계산하지 않고 미리 배열로 저장해둔 것을 활용하는 방식입니다. 예를 들어, 학생 성적을 구할 때 90~100 점은 A, 80~89점은 B, 70~79점은 C... 이런식으로 성적을 매긴다면, 이를 if문으로 일일히 나누지 않고 룩업 테이블을 만들어 활용할 수 있습니다. (참고) 인생의 절반 손해봤어요 def get_grade(score): return "FFFFFFDCBAA"[score//10] get_grade(91) + 딕셔너리를 활용하여 룩업 테이블..
-
OpenCV를 사용하지 않는 얼굴 검출 코드들SW개발/머신러닝 2020. 1. 19. 18:10
Face detection (얼굴 검출/얼굴 인식) 다양한 얼굴 검출 이론 정리: https://facedetection.com/algorithms/ SSR filter (얼굴의 특징을 담은 사각형들) 를 이용한 얼굴 인식 논문: https://www.design-reuse.com/articles/6899/real-time-face-detection-using-six-segmented-rectangular-filter-ssr-filter-real-time-face-detection-using-six-segmented-rectangular-filter-ssr-filter.html Haar cascade 논문 (Rapid Object Detection using a Boosted Cascade - Viola..
-
github contributor로 기여하기SW개발/머신러닝 2019. 8. 14. 19:12
* 처음으로 Pull Request를 성공하고, 그 과정을 나중을 위해 기록해둠 1. 기존 기여 절차 확인 github contributor가 되려면 원하는 github repository의 안내 문서를 확인해본다. 예를 들어, tensorflow/docs의 경우 번역가로 기여할 수 있다. 한국어 번역 안내 md 파일(https://github.com/tensorflow/docs/tree/master/site/ko)을 보면 처음 시작하는 경우 메일에 번역 시작을 알리고, 구글 스프레드 시트에 기록하도록 잘 안내되어있다. 2. repository Fork 하기 repository의 내용을 수정하여 커밋하기 위해 내 저장소로 Fork해온다. 3. 기여할 내용 작성 (안내 문서에 따라 필요한 절차 ex. 스프..
-
Time Timer extension 만들기 - 2 (Timer 형태로 변형하기)SW개발 2019. 7. 17. 17:01
1에서 만든 파일을 수정하여 진행하였다. (https://computer-choco.tistory.com/144) manifest.json은 변경하지 않았고, popup.html은 input을 받아야하기 때문에 다음과 같이 변경하였다. input과 button의 디자인은 https://www.w3schools.com/css/css_form.asp 를 참고하였다. 또한 input 태그와 button 태그의 수직 정렬이 잘 안 돼서 https://everyflower.tistory.com/182 의 글을 참고하였다. : Start 여기서 사용된 파란 색상은 https://encycolorpedia.kr/50bcdf를 참고하였다. 다음으로 popup.js 또한 시계를 타이머로 변경하기 위해 다음과 같이 코드를..
-
Time Timer extension 만들기 - 1 (시계 형태 만들기)SW개발 2019. 7. 17. 14:02
Chrome browser extension 을 만들기 위한 기본 파일은 https://computer-choco.tistory.com/143에서와 같이 json, png, html, js 파일이 하나씩 있으면 된다. manifest.json 파일은 다음과 같이 만들었다. { "manifest_version": 2, "name": "Time_timer_chromeExtension", "description": "Time timer", "version": "1.0.0", "browser_action": { "default_icon": "icon.png", "default_popup": "popup.html" }, "permissions": [ "tabs", "" ] } 같은 폴더 내에 popup.html ..
-
크롬 확장 프로그램 만들기 (Hello, world 출력해보기)SW개발 2019. 7. 17. 12:12
크롬 확장 프로그램을 만들기 위한 tutorial은 https://developer.chrome.com/extensions/getstarted에 나와있다. 하지만 실제 구현을 위해서는 설명이 잘 되어있는 https://beenlife.tistory.com/4를 참고하였다. 크롬 확장 프로그램을 만들기 위해서는 다음의 파일들을 한 폴더에 만들어야한다. 가장 먼저 필요한 파일은 manifest.json 파일이다. 이 안에 확장 프로그램의 이름, 버전, 사용할 html 파일의 이름 등이 들어간다. { "manifest_version": 2, "name": "example_chromeExtension", "description": "Print Hello, World! message", "version": "1...