Skip to content

Instantly share code, notes, and snippets.

View yunwoong7's full-sized avatar

Rogue yunwoong7

View GitHub Profile
@yunwoong7
yunwoong7 / markdown.md
Last active November 25, 2023 10:30
마크다운(Markdown) 사용법/문법

Markdown 문법

0. 목차

  • 괄호 안에 #이동할 헤드(제목) 를 써주면 웹페이지에서 아래와 같이 해당 제목이 있는 곳으로 이동
  • 띄어쓰기는 - 로 연결
**목차**  
[1. 헤더 (Headers)](#1.-헤더-(Headers))  
[2. 줄바꿈 (Line Breaks)](#2.-줄바꿈-(Line-Breaks))  
[3. 목록 (List)](#3.-목록-(List))  
[4. 인용문 (BlockQuote)](#4.-인용문-(BlockQuote)) 
@yunwoong7
yunwoong7 / git_github_concept1.md
Created December 7, 2021 04:59
Git, Github 개념 정리 (초보)

버전관리

웹 페이지를 개발 한다고 가정하겠습니다. 소프트웨어를 만드는 과정에서나 운영하는 과정에서 새로운 기능을 추가하거나 제거하기도 하고 수정하기도 합니다. 이러한 과정에서 이전 기능을 다시 추가하거나 실수로 인해 복원해야 하는 경우도 발생합니다. 또한 개발 과정에서 어떻게 수정되었는지 히스토리를 확인해야 하는 경우도 있습니다. 그래서 프로그램 수정 전에 중간중간 백업이 필요했습니다.

img1

개발자는 이러한 상황에 대비하여 각 버전별로 압축하고 설명을 작성하여 보관을 했어야 했죠. 이런 백업파일이 축척되다보면 번거롭기도하고 용량도 많이 차지하게 됩니다.

@yunwoong7
yunwoong7 / git_github_concept2.md
Last active December 7, 2021 07:26
Git, Github 설정하기 (초보)

Git 이란?

Git은 버전을 편리하게 관리 할 수 있게 도와주는 도구입니다. 우리가 작업하고 있는 파일들을 원하는 순간으로 다시 돌아갈 수 있게 만들어주죠. 많은 개발자가 자신이 개발한 프로그램을 Github를 통해 관리하고 있고 Git, Github를 알고 있다면 협업할 때 큰 도움이 됩니다.

  • Git 설치 - Git은 명령어를 기본으로 한 명령어 프로그램이기 때문에 Terminal에서 Command를 통해 배워야 다양한 기능 사용이 가능하지만 GUI 프로그램도 많이 있습니다.

  • [Git 공식 홈페이지][gitlink]에 가시면 관련 사용 할 수 있는 GUI Application 프로그램을 확인하실 수 있습니다. (모든 Git의 기능을 담은 GUI Application은 찾기도 힘들고 각 버튼을 클릭 시 어떠한 기능이 수행되는지 정확히 알기 어렵기 때문에 Git을 처음 배울 때는 Terminal을 이용하여 명령어로 수행하여 배우는 것을 추천함) Git Homepage

    • GitHub Desktop : 사용 가능한 기능이 제한적
    • [SourceTree][sourceTreelink] : 전반적으로 많이 이용 (명령어를 이용하여 할 수 있는 기능보다는 제한적이만 다양한 기능이 포함)
  • GitKraken : 화려한 UI
@yunwoong7
yunwoong7 / git_github_concept3.md
Created December 7, 2021 07:25
Git, Github 기본 사용법

1. Git Workflow

  • working directory : 현재 작업중인 파일이 존재하는 공간
  • staging area : 어느정도 작업하다가 버전 히스토리에 저장 할 준비가 되어있는 파일들을 옮겨 놓는 공간
  • git directory : 버전의 히스토리를 가지고 있는 git repository



working directory에 작업 중이던 파일 a.py, b.py 의 수정이 완료되면 add 명령어를 통해 staging area로 보내게 되고 commit 명령어를 통해 git 버전 히스토리에 저장하게 됩니다. 이렇게 git directory에 저장된 버전은 local에만 보관되기때문에 저장 공간에 문제가 생기면 모든 히스토리를 잃어버리게 됩니다. 그래서 github 와 같은 서버에 push 명령어를 수행하여 내 git directory를 서버에 업로드 해둘 수 있습니다. 이후 서버에서 pull 명령어를 수행하여 local git directory로 다운로드 받을 수 있습니다. checkout 명령어를 통해 git directory에 저장 된 버전 중 원하는 버전으로 돌아갈 수 있습니다.

@yunwoong7
yunwoong7 / opencv_summary.md
Last active December 10, 2021 06:44
OpenCV 정리

OpenCV

OpenCV는 Open Source Computer Vision Library의 약어로 오픈소스 컴퓨터 비전 라이브러리입니다. 실시간 영상 처리에 중점을 둔 영상 처리 라이브러리로서, Apache 2.0 라이선스하에 배포되어 학술적 용도 외에도 오픈소스 BSD 허가서 하에서 상업적 용도로도 사용할 수 있습니다. 라이브러리는 윈도, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 OpenCV TensorFlow , Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원하기때문에 물체 인식, 얼굴 인식, 제스처 인식을 비롯해 자율주행 자동차, OCR 판독기, 불량 검사기 등에 활용할 수 있습니다.

설치

pip install opencv-python

BGR로 이미지를 읽어오고, Video capture와 같은 기능 지원이 잘되어 있습니다.
C++에서 OpenCV를 배우고 사용시 익숙해지기 쉽고(반대도 비슷함) numpy array 인덱싱을 이용해 이미지에 대한 전처리가 가능하기에 좀 더 자유롭게 이미지 전처리 가능합니다.
Pillow와 비교한다면 전체적으로 OpenCV 라이브러리의 성능이 더 좋고, 함수가 더 직관적입니다. (사용자 관점마다 다르겠지만..)
물론 Pillow-SIMD 라이브러리의 경우 OpenCV와 대등한 성능을 내거나 더 좋은 성능을 내는 함수도 많습니다.

@yunwoong7
yunwoong7 / pillow_summary.md
Last active June 9, 2024 16:34
Python Imaging Library(PIL) - Pillow 정리

Pillow

Python Imaging Library(PIL)은 파이썬 인터프리터에 다양한 이미지 파일 형식을 지원하고 강력한 이미지 처리와 그래픽 기능을 제공하는 Open Source Library 입니다.
줄여서 PIL 이라고 부릅니다. 2009년 9월 릴리즈 되었으며 파이썬 버전 1.5 ~ 2.7까지 지원합니다. PIL의 개발은 2011년에 중단되었으며 후속으로 Pillow라는 후속 프로젝트가
진행되어 파이서 3.x 버전을 지원하고 있습니다.

설치

pip를 통해 설치를 진행합니다.

pip install Pillow

@yunwoong7
yunwoong7 / scikit_image_summary.md
Last active December 10, 2021 06:44
scikit-image 정리

scikit-image

scikit-image는 이미지처리에 특화된 Python 이미지 라이브러리이며 Numpy배열로 이미지 객체를 네이티브하게 다룹니다.

설치

pip 또는 Anaconda를 통해 설치를 진행합니다.

pip install scikit-image
conda install -c conda-forge scikit-image

기본적으로 이미지를 자른다던가 단순한 필터링 등의 이미지 조작이 가능하고 Numpy 배열로 동작하기때문에 Numpy를 활용한 연산이 쉽습니다.

@yunwoong7
yunwoong7 / ipywidgets_concept.md
Last active December 15, 2021 02:05
Jupyter Notebook에 인터렉티브(interactive) 기능 추가 - ipywidgets

ipywidgets 이란?

Ipywidgets은 Jupyter Notebook에 인터렉티브(interactive) 기능을 추가하거나 시각화하는데 사용되는 패키지입니다.
간단히 Jupyter Notebook에서 입력값과 출력값을 상호작용하도록 만들 수 있습니다.

설치(Installation)

설치는 pip 또는 conda 명령어를 이용하여 설치 할 수 있습니다.

pip install ipywidgets
@yunwoong7
yunwoong7 / ipywidgets_widget_list.md
Last active December 15, 2021 11:58
ipywidgets widget 설명 / 사용방법

ipywidgets Widget List

위젯 형식 위젯
Numeric widgets IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText
Boolean widgets ToggleButton, Checkbox, Valid
Selection widgets Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple
String widget Text, Textarea, Combobox, Password, Label, HTML, HTML Math
Image
Button
Play (Animation) widget
@yunwoong7
yunwoong7 / Basic_FileDirectory.ipynb
Last active June 8, 2023 11:13
[ Python ] 파일명, 디렉토리 경로 추출
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.