Languages
OpenCV 란?영상(이미지)처리하기 위해만든, C++ 오픈소스 라이브러리 개발환경 (M1 Mac / Sonoma 14.4.1) 설치# homebrewbrew install opencv# pythonpip3 install opencv-python CMakeList# homebrew를 사용해 설치한 opencv 경로 지정set(OpenCV_DIR "/opt/homebrew/Cellar/opencv/4.9.0_8")# include 폴더 추가set(OpenCV_INCLUDE_DIRS "/opt/homebrew/Cellar/opencv/4.9.0_8/include")# search package (있으면 저장)find_package(OpenCV REQUIRED)# link OpenCVtarget_link_li..
FFmpeg 이란? 동영상, 오디오 편집 프로그램으로, VREW라는 앱에서 내부적으로 사용하는 라이브러리 이다. FFmpeg 설치 Download FFmpeg If you find FFmpeg useful, you are welcome to contribute by donating. More downloading options Git Repositories Since FFmpeg is developed with Git, multiple repositories from developers and groups of developers are available. Release Verification All FFmpe ffmpeg.org FFmpeg 사용법 동영상, 오디오 파일 포맷 바꾸기 # mp4 > avi..
목적 수학적인 지식을, 실제 코딩에 적용하자 Julia 설치 [Julia] Julia 란? / 머신러닝의 미래 Julia 란? MIT 출신 개발자가 만든 수학 계산을 쉽게 할수 있도록 만들어진 프로그래밍언어 특징 수학 식 작성이 쉽다. Python과 합쳐서 사용가능하고, 더 빠르다. (C,Rust보다 약간 느림) 수학식을 작 defineall.tistory.com JuMP 란? 수학적인 코딩을 돕는 Julia 패키지 ( Julia for Mathmetical Programming ) 설치 # julia REPL 실행 julia # julia 내장 패키지 가져오기 (builtins) import Pkg; # JuMP 패키지 설치 Pkg.add("JuMP") Solver 란? 여러 문제들을 해결해주는 알고리..
Lunatic 이란? 브라우저의 가상머신에서, 엄청나게 많은 작업을, 동시에 실행 수 있도록 만든 WebAssembly 라이브러리 (런타임) 탄생 배경 Erlang의 무수히 많은 프로세스 여기서 말하는 프로세스는, OS가 다루는 프로세스가 아니라 가상머신위에서 동작하는 가상의 프로세스를 뜻한다. ( 가상 프로세스가 좋은 이유 : 추후 작성 예정 ) WebAssembly의 확장성, 호환성, 유연성 웹 어셈블리는, 브라우저 가상머신위에서 동작가능하여 javascript와 합칠 수 있고, C, Rust 와 같은 low-level 언어로 작성된 코드를, 웹 어셈블리로 바꿔서 사용할 수 있으므로, 자신이 원하는 언어로 작성할 수 있다. 장점 WebAssembly로 컴파일 할 수 있는 모든 언어를 통해, 가상 프로..
Julia 란? MIT 출신 개발자가 만든 수학 계산을 쉽게 할수 있도록 만들어진 프로그래밍언어 특징 수학 식 작성이 쉽다. Python과 합쳐서 사용가능하고, 더 빠르다. (C,Rust보다 약간 느림) 수학식을 작성하는데 C,Rust 보다 더 적은 코드가 필요하다. C의 속도와, Python의 쉬움 그 중간에 위치하고, 위의 특징 때문에, 머신러닝에 특화되어있다. 신기한 점 모든 유니코드를 이름으로 지정할 수 있다. # 변수 α ̂⁽²⁾ = 10 안녕하세요 = "Hello" 수학식 처럼 변수를 만들 수 있다 (선언) a = b = c = 11 # 셋다 11 함수 계산 속도를 측정할 수 있다. 자신이 작성한 코드와, 다른 코드의 성능 비교가능 @time println(a) # 10 # 0.020050 s..
선행 지식 [Rust] 소유권 - 메모리 관리 이야기 (feat. Garbage Collector) 서문 Rust에는 소유권이라는 개념이 있는데, 이는 Rust에만 존재하는 고유한 특성이다. 이 글에서는 소유권이란 것이 무엇인지 뿐만아니라, 어떤 상황에서 사용하는지, 왜 등장하게 되었는지 등 defineall.tistory.com Borrowing 이란? 의미 : 소유권을 가지고 있는 변수의 데이터를 빌리는 것 실제 : 소유권을 가지고 있는 변수의 메모리주소를 저장하는 것 배경 Rust의 변수는, 스코프를 벗어난 이후에도 메모리 공간을 OS에게 돌려주지(drop) 않도록 하기 위해 자동으로 drop 되지 않도록, 매번 수동으로 소유권을 옮겨(move)주어야 한다. 이 때문에, 굳이 drop 할 필요가 없..
Svelte 그거 좋긴한데, 코드 생태계가 React보다 작아서 스벨트쓰긴 좀 이른 듯? 레딧, 트위터, 유튜브 댓글에 보면 이렇게 써진 글들을 볼 수 있다. 만약 여러 선택지를 주면, 사람들은 짜증 내고 혼란스러워 하고, 하는 소리라곤 "작은 생태계" 밖에 없다. 이게 진짠가? 대부분이 틀렸다. Svelte 생태계는 React 와 비교해도, 절대 작지 않다. Svelte는 UI component 라이브러리 개수가 적다는 말은 사실이지만, SkeletonUI, Flowbite Svelte, Svelte UI, DaisyUI등 충분한 라이브러리를 가지고 있다. 만약 더 많은 UI component 라이브러리를 원한다면, 바로 자신만의 라이브러리를 만들고 배포하면 된다. 그리고, 다른 사람들이 자신만의 라이..
서문 Rust에는 소유권이라는 개념이 있는데, 이는 Rust에만 존재하는 고유한 특성이다. 이 글에서는 소유권이란 것이 무엇인지 뿐만아니라, 어떤 상황에서 사용하는지, 왜 등장하게 되었는지 등 자세한 내용을 알아보겠다. 소유권이란? 메모리 공간을 OS에게 반납(drop)할 수 있는 권한 등장 배경 프로그램을 사용하다보면, 특정 메모리공간을 공유하는 일이 많다 => 왜? 엄청난 크기의 데이터를 복사하는 경우를 생각해보면, 데이터 자체를 통째로 복사하기 보다, ( deep copy 깊은 복사 ) 그 데이터가 저장된 주소를 대신 복사하는 방식이, ( shallow copy 얕은 복사 ) 메모리 공간을 절약하는데 도움이 된다. 또한, 메모리를 다 사용하고 나면 OS가 사용할 수 있도록 돌려주어야지 다른 프로그램..
[Elixir] Elixir 란? / 사용법 Elixir 란? erlang(얼랭) 이라는 어려운 언어에서, 좋은점만 쏙쏙빼서 간단하게 만든 프로그래밍 언어 필요성 erlang의 장점을 가져온 결과, 어마무시하게 많은 일을 동시에 처리할 수 있다 ( 동시성 ) defineall.tistory.com Phoenix란? Elixir로, 웹 개발을 쉽게 만들어주는 도구 ( 웹 프레임워크 ) 환경 구성 / 설치 Elixir는, Erlang 가상머신에서 동작하므로, Phoenix에도 설치되어 있어야 합니다. ( 1.14 버전 이상 / 이전 게시글 참고 ) # hex 패키지 관리자 설치 mix local.hex DB 연동 공식 홈페이지에서 권장하므로 PostgreSQL을 선택 ( 다른 것도 사용 가능 ) Elixir..