분류
-
Elixir에서 Python 이용하기컴퓨터/파이썬 2020. 11. 21. 16:38
Elixir elixir-lang.github.com Website for Elixir elixir-lang.org 1. 사전 준비 Elixir 설치 @링크 새 프로젝트 만들기 (콘솔) mix new project_name mix.exs에 Export 라이브러리 추가 Export 라이브러리 @링크: 이 라이브러리는 Elixir에서 Ruby와 Python을 쉽게 사용할 수 있게 해줌. defmodule Pyelixir.MixProject do use Mix.Project def project do [ app: :pyelixir, version: "0.1.0", elixir: "~> 1.11", start_permanent: Mix.env() == :prod, deps: deps() ] end def app..
-
Python: LRU 캐시 만들어보기컴퓨터/파이썬 2020. 11. 16. 22:07
Least Recently Used 가장 오래 사용하지 않은 페이지 교체 알고리즘 Cache replacement policies - Wikipedia Page replacement algorithm. en.wikipedia.org 1. LRU 파이썬 functools.lru_cache 소스: @Github from functools import lru_cache @lru_cache(maxsize=32) def fibo(n): if n == 1: return 0 elif n == 2: return 1 else: return fibo(n - 1) + fibo(n - 2) 파이썬 실제 lru_cache는 이 글 구현된 버전보다 빠르다, (따로 linked class를 만들지도 않고, 다 함수 안에서 끝난다...
-
Julia: 거품 정렬 및 로컬 모듈 사용하기컴퓨터 2020. 11. 14. 20:53
Julia The Julia Programming Language Julia julialang.org 1. 로컬 모듈 만들기 module utils # 사용할 모듈 이름 export 🚨, genRandomArray # JS, TS와 비슷하게 export할 메소드들 # 오름차순으로 정렬 확인 함수 function 🚨(A::AbstractVector) for i = 1:length(A) - 1 if A[i] > A[i + 1] return false end end return true end # 랜덤 배열 생성기 function genRandomArray(size::Number) return [rand(-size:size) for _ = 1:size] end end 2. 거품 정렬 위 로컬 모듈을 불러온 후..
-
파이썬: Monad (모나드)컴퓨터/파이썬 2020. 11. 11. 14:34
Monad (단자) Monad (functional programming) - Wikipedia Design pattern in functional programming to build generic types In functional programming, a monad is an abstraction that allows structuring programs generically. en.wikipedia.org Monad란 """ Monad 예제 """ class List: # ...monad... a = List([1.1, 2.6, 3.5]) # a.data = [1.1, 2.6, 3.5] b = a | str | (lambda f: f.zfill(5)) # b.data = ['001.1', '00..
-
TypeScript: Bubble Sort (거품 정렬)컴퓨터/HTML & JS & TS 2020. 11. 8. 21:31
TypeScript Typed JavaScript at Any Scale. TypeScript extends JavaScript by adding types to the language. www.typescriptlang.org # TypeScript 1일차 언어를 공부할 때 정렬 알고리즘부터 시작하는 편이다. Go언어, Python type hinting 버전과 비슷한 느낌이지만, interface, JS 기능들이 많이 미숙하기에 공부가 더 필요 1. 문법 소개 one-line swapping (한 줄로 값 변경) 특이하게, array안에 넣어서 해야한다. (함수에서 두가지를 return 할 때도 return [a, b]로 쓸 수도 있다. [array[i], array[i + 1]] = [array[i..
-
파이썬 Sørensen–Dice coefficient컴퓨터/파이썬 2020. 11. 5. 12:08
Sørensen–Dice coefficient Sørensen–Dice coefficient - Wikipedia The Sørensen–Dice coefficient (see below for other names) is a statistic used to gauge the similarity of two samples. It was independently developed by the botanists Thorvald Sørensen[1] and Lee Raymond Dice,[2] who published in 1948 and 1945 respectiv en.wikipedia.org 1. 쇠렌센-다이스 계수 이 계수는 두 샘플의 유사도를 측정하기 위한 통계량이다. (통계량이기 때문에, "aaba"..
-
Python cProfile + snakeviz 런타임 시각화컴퓨터/파이썬 2020. 11. 4. 15:14
snakeviz jiffyclub/snakeviz An in-browser Python profile viewer. Contribute to jiffyclub/snakeviz development by creating an account on GitHub. github.com 1. 소개 우선 파이썬 내장 모듈인 cProfile은 코드 실행 시간을 보는데 유용하다. (:1()은 무시해도 좋다.) print(cProfile.run("bubbleSort(arr)")) ''' 결과 5 function calls in 2.555 seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno(function) 1 0.0..