분류
-
could not find native static library mysqlclient 오류 해결법컴퓨터/Rust 2021. 7. 10. 19:13
오류 Rust에서 Rocket 웹 프레임워크를 사용하다가 MySQL 연동을 하려면 diesel이 필요하다고 한다. cli를 설치하다가 아래와 같은 오류가 발생했다. error: could not find native static library mysqlclient, maybe an -L flag is missing? cargo install diesel_cli, error: error: could not find native static library mysqlclient, maybe an -L flag is missing? error: Could not compile mysqlclient-sys. 해결법 MySQL C API를 다운로드 한다. MySQL :: Download MySQL Connector..
-
V lang: FFI 사용하기컴퓨터/V language 2021. 7. 6. 11:04
FFI 외부 함수 인터페이스 - 위키백과, 우리 모두의 백과사전 외부 함수 인터페이스(Foreign function interface, FFI)는 한 프로그래밍 언어로 작성된 프로그램이 다른 언어로 작성된 서비스를 이용할 수 있거나 그에 따른 함수를 호출할 수 있는 구조이다. 이 용어 ko.wikipedia.org FFI 란? 외부 함수 인터페이스, 쉽게 이 글로 예를 들면 vlang으로 작성한 피보나치 함수를 dll/so로 export 하고 dart나 다른 언어에서 쓸 수 있도록 해주는 것이다. v 소스파일 -> dll/so 윈도우는 dll, 리눅스 계열은 so로 export 된다. ffi.v 간단한 피보나치 계산 함수이다. export에 어떠한 함수명으로 쓸지 결정할 수 있다. // ffi.v mod..
-
NanoID: 범영 고유 식별자 UUID 대체?컴퓨터 2021. 7. 2. 21:28
NanoID ai/nanoid A tiny (108 bytes), secure, URL-friendly, unique string ID generator for JavaScript - ai/nanoid github.com UUID란? UUID ( = GUID) 는 범용 고유 식별자로 소프트웨어 개발에 쓰이는 표준 식별자이다. 08f5fc3f-6de2-4822-9b05-817a201c7435 (v4) 위와 같이 랜덤으로 생성된 UUID는 그 어떠한 것과도 같은 uuid를 가질 수 없다. (0.00000006 % 확률로 같음) (UUID는 버전 5까지 나온 상태) 어디에 쓰이냐면 예를 들어, 테이블의 key 값이나 파일 업로드 시 임시 파일명으로 쓰일 수 있다. NanoID UUID 보다 7살 정도 어리지만..
-
Python Selenium: 여러가지 팁컴퓨터/파이썬 2021. 6. 7. 16:25
1. 크롬 드라이버를 알아서 다운로드해서 설정 이유: 셀레니움을 이용한 콘솔 앱을 만들었는데 chrome이 업데이트된 후에 정상적으로 작동하지 않음 webdriver-manager를 이용해서 알아서 다운로드 시킨다. (크롬, firefox, IE, edge를 지원함) pip install webdriver-manager 예제 import os import sys from selenium import webdriver from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager def resource_path(another_way): try: usual_way = ( s..
-
Pyston: Python 3.8.8 최적화 버전컴퓨터/파이썬 2021. 5. 9. 21:17
pyston pyston/pyston A faster and highly-compatible implementation of the Python programming language. - pyston/pyston github.com 소개 아직은 linux 계열밖에 사용 못한다. 특징은 다음과 같다. (+ pip-pyston으로 python의 모든 모듈과 호환됨) (리얼 프로덕션에서 30% 성능 향상을 볼 수 있다고 소개되어있다.) - A very-low-overhead JIT using DynASM - Quickening (인터프리터 효율적으로 하는 방법) - Aggressive attribute caching - General CPython optimizations - Build process impr..
-
Rust 문법: dyn, trait, polymorphism컴퓨터/Rust 2021. 5. 2. 20:50
Rust Using Trait Objects That Allow for Values of Different Types - The Rust Programming Language Chapter 8 doc.rust-lang.org 1. dyn, trait trait: unknown 타입 (Self)을 위해 정의된 메서드 collection doc.rust-lang.org/book/ch10-02-traits.html?highlight=trait#traits-defining-shared-behavior dyn: dynamic 하게 dispatch 되는 부분을 highlight (dynamic dispatch to a trait object) 2. 예제 코드 자바/파이썬 개념으로 설명하면 Car, Motocycle..
-
Rust 문법: Ownership (소유권)컴퓨터/Rust 2021. 4. 24. 20:33
Rust Rust Programming Language A language empowering everyone to build reliable and efficient software. www.rust-lang.org 1. 소개 수많은 언어에 존재하지 않는 Rust만의 특징인, ownership, borrowing이란 개념이 있다. (포인터처럼 접근해서 생각하면 편할 것이다.) 코어 콘셉트는 다음과 같다. 데이터는 오직 하나의 소유자를 가질 수 있다. 빌려간 데이터는 exclusive mutable이거나 shared immutable이다. ex) 변수 a를 지정 후 b가 a를 지정하면 a를 사용불가 상태가 된다. 위와 같은 코드를 실행하면 x는 1을 가리키고, y도 1을 가리키는 stack에서 새로 생성..