분류
-
C/C++ Entity Component System (Flecs)컴퓨터/C & C++ 2020. 8. 4. 19:46
Flecs 소개 Flecs는 C89 / C99 / C++11를 위한 빠르고, 가벼운 Entity Component System(ECS) 빌드 툴이다. 아래는 foot-print 목록이다. Blazing fast iteration speeds with direct access to raw C arrays across multiple components Built-in support for entity hierarchies, prefabs, nested prefabs and prefab variants An efficient lock-free architecture allows for modifying entities across multiple threads Expressive entity queries ..
-
파이썬 Smooth Sort (부드러운 정렬 알고리즘)컴퓨터/파이썬 2020. 8. 3. 13:12
Smooth Sort 소개 : 부드러운 정렬은 길 찾기로 유명한 데이크스트라분이 1981년에 발표한 정렬 알고리즘이다. HeapSort의 변형 중 하나이며, in-place, not stable 시간 복잡도는 최고 : O($n$) = (대부분 정렬된 상태일 경우) 평균 : O($nlogn$), 최악 : O($nlogn$) 공간 복잡도는 총 O($n$), 보조(O($1$)) 특이한 점은 Leonardo number라는 수학 개념을 Heap Sort에 적용시킨 점이다. 1. Leonardo Number 피보나치 수열과 비슷한데, 다음과 같이 진행된다. $1, 1, 3, 5, 9, 15, 25, 41, 67, 109, 177, 287, 465, 753, 1219, 1973, 3193, 5167, 8361 ....
-
파이썬 win10toast 윈도우 알림 만들기컴퓨터/파이썬 2020. 8. 2. 14:59
win10toast 1. pip 설치 pip install win10toast pypiwin32, setuptools가 부가적으로 설치됨 2. Toast 알림 만들기 이 라이브러리에는 2가지 종류의 알림이 있다. 1. 기본 toast 기본 알림은, 제목, 내용, 지속 시간, 아이콘 경로를 설정할 수 있다. 2. Threaded toast 기본 알림 + threaded=True란 파라미터를 넘겨주면 while toaster.notification_active(): 로 알림이 작업이 끝나면 사라진다. 3. 예제) Bubble Sort 알람 from win10toast import ToastNotifier from random import randint def bubbleSort(array): n = len(..
-
Windows Terminal 테마, 설정컴퓨터/소프트웨어 2020. 8. 2. 13:09
Windows Terminal 1. (옵션) Powershell 최신 버전 설치 https://github.com/PowerShell/PowerShell/releases Releases · PowerShell/PowerShell PowerShell for every system! Contribute to PowerShell/PowerShell development by creating an account on GitHub. github.com 2. 모듈 설치 Install-Module posh-git -Scope CurrentUser -Force Install-Module oh-my-posh -Scope CurrentUser -Force posh-git과 oh-my-posh를 설치한다. (거의 zsh f..
-
Docker + Flask 튜토리얼컴퓨터/파이썬 2020. 7. 30. 22:14
Docker 1. 사전 준비 Docker, WSL2 (윈도우를 위한 Linux 시스템) WSL 2 Linux용 Windows 하위 시스템 2 docs.microsoft.com 아래 flask-app.zip 압축 해제한다. 2. DockerFile 우선 DockerFile 구조를 한 번 살펴보겠다. FROM python:3 # set a directory for the app WORKDIR /app # copy all the files to the container COPY . . # install dependencies RUN pip install --no-cache-dir -r requirements.txt # tell the port number the container should expose EX..
-
Probabilistic Programming (확률적 프로그래밍)컴퓨터/소프트웨어 2020. 7. 29. 14:44
Hakaru hakaru-dev/hakaru A probabilistic programming language. Contribute to hakaru-dev/hakaru development by creating an account on GitHub. github.com Pyro(from Uber AI) 처럼 확률적 프로그래밍 언어인 Hakaru를 사용하는 법을 알아보겠다. 1. 설치법 우선 Git, mingw-64가 설치되어야 한다. 그다음, Haskell Tool Stack을 다운받아서 설치한다. (다운로드) (stack 설치 경로 : AppData\Local\Programs\stack) 1. git repositoy clone Hakaru를 clone할 곳에서 Git Bash를 열고, 다음을 입력한..
-
티스토리 highlight JS 코드 복사 플러그인컴퓨터/HTML & JS & TS 2020. 7. 23. 14:48
highlight JS Badge https://github.com/RickStrahl/highlightjs-badge RickStrahl/highlightjs-badge Addon component to highlightjs that lets you copy code snippets to the clipboard and displays the active syntax - RickStrahl/highlightjs-badge github.com 소개 : @RcikStrahl라는 분의 highlight JS badge를 티스토리에 적용하는 방법을 소개하겠습니다. 우선 아래 처럼, 코드 우측 상단에 배지가 생기고, 클릭하면 코드가 복사되는 플러그인입니다. 클래스 안에 codebadge를 추가하고, clicke..
-
파이썬 A* (A-star) 최단 경로 찾기 알고리즘컴퓨터/파이썬 2020. 7. 20. 16:02
A* 길 찾기 알고리즘은 1968년에 Peter Hart, Nils Nilsson, Bertram Raphael에 의해 최초 공개됐다.우선 Node 클래스는 아래와 같이 구현될 것이며, 아래 클래스를 보고 글을 읽으면 좀 더 편할 것이다.class Node: def __init__(self, parent=None, position=None): self.parent = parent # 이전 노드 self.position = position # 현재 위치 self.f = 0 self.g = 0 self.h = 0ex) 노드의 현재 위치는 xy좌표계를 사용한다.start = (0, 0), end = (9,9)aSta..