DataScience
article thumbnail
[Rust-Python] PyO3
Rust 2023. 6. 30. 11:24

PyO3는 파이썬에서 러스트 코드를 실행할수 있고 반대로 러스트에서 파이썬 코드를 실행할 수 있도록 도와주는 크레이트 입니다. maturin maturin으로 프로젝트를 생성합니다. maturin init -b pyo3 프로젝트를 생성하면 아래와 같이 폴더가 만들어집니다. . ├── Cargo.lock ├── Cargo.toml ├── Pipfile ├── pyproject.toml ├── src └── lib.rs Cargo.toml pyproject.toml 파일에서 패키지와 라이브러리 프로젝트 이름을 변경합니다. 라이브러리 크레이트를 만듭니다. #[pyfunction],#[pymodule]은 PyO3 라이브러리에서 제공하는 Attribute입니다. 러스트 함수를 파이썬 함수로 정의하는데 사용합니다...

article thumbnail
디아블로4 구매
문화,맛집 2023. 6. 26. 12:33

5년넘게 쓴 1080ti 그래픽 카드가 고장나서 1년 가까이 그렇게 좋아하던 게임도 안하며 살아왔습니다. 그래서 디아4 클로즈베타, 오픈베타, 출시 초기에는 전혀 관심이 없었고 할 생각도 없었는데... 2주전 주말에 집에만 있는데 덥고 너무 심심해서 피시방에 갔습니다.(피시방도 거의 3년만에) 피시방에가서 맛보기로 10레벨 정도만 키우고 돌아왔는데 그뒤로 자꾸 디아 생각이나 질러버렸습니다. 조금 비싼감이 있지만 퇴근후 한두시간씩 하면 졸려서 꿀잠 자기 좋네요. 잘 산것 같습니다. 어제 드디어 릴리트를 잡았습니다ㅎㅎ 결제할때는 아래방법으로 하면 조금 사게 구매 할 수 있습니다. 오픈마켓에서 문화상품권을 6~7% 할인된 가격으로 구매한뒤 컬처랜드에 충전합니다.(예-문화상품권 5만원권 약 4.6만에 구매) 그..

Rust Trait
Rust 2023. 6. 20. 09:49

타입들이 공통적으로 갖는 동작에 대하여 추상화하도록 해줍니다. 러스트의 Trait은 java의 interface, python의 class기능과 유사합니다. trait을 제네릭 파라미터의 타입으로 사용하는 상황에서 trait bound를 통해 서로 다른 구조체에 연관성을 제공할 수 있습니다. 쉽게 말해 일종의 인터페이스로, 정의되지 않은 메서드의 선언들을 가질 수 있습니다. Tait 구조 trait 트레잇명 { 선언들 } 트레잇은 impl 키워드를 통해서 구조체(클래스)에 구현됩니다. impl 트레잇명 for 구조체명 { 구현들 } Trait 구현 정적 메서드만 가지는 간단한 트레잇 소스입니다. trait Foo{ fn foo(); } struct Boom{ } impl Foo for Boom{ fn f..

Rust Generic 데이터 타입
Rust 2023. 6. 19. 16:56

Generic은 컨셉의 복제를 효율적으로 다루기 위한 도구입니다. 구체화된 타입이나 다른 속성들에 대하여 추상화된 대리인 역할. 제네릭은 함수, 구조체, 열거형, 메소드를 정의할때 사용할 수 있습니다. 제네릭 데이터 타입 활용 다양한 타입의 파라미터를 받아 작업을 수행할 수 있습니다. 다른 언어들처럼 함수이름 뒤에 꺽쇠괄호를 써주면 된니다. 제너릭타입명은 값 하나면 T를 쓰고 함수타입 하나면 F를 쓰는게 관례입니다. 함수정의에서 제네릭 데이터 타입을 이용합니다. data: T는 [i32],[f32],[&str]타입의 파라미터를 받고 있습니다. fn show(data : T) -> T { data } fn main(){ println!("i32 data : {}", show(29)); println!("f..

Rust testing
Rust 2023. 6. 15. 10:30

테스트 함수 Rust에서 테스트는 함수로 구현되며, 테스트 코드를 넣기 위해서는 함수(fn)앞에 #[test] attribute를 붙이면 됩니다. #[test] fn add_test() { assert!(1 + 1 == 2); } 위와 같은 코드를 작성하고 cargo test를 실행하면 cargo는 #[test]가 붙어있는 함수를 찾아 차례로 실행하게 됩니다. assert!()매크로 안의 식이 참이면 pass, 거짓이면 error로 취급합니다. $ cargo test running 1 test test add_test ... ok 테스트 모듈 테스트모듈은 크게 Unit Test와 Intergration Test로 구분합니다. Unit Test : 각 소스 단위를 테스트 합니다. src폴더 안의 각 소스 ..

article thumbnail
rclone으로 리눅스에서 구글드라이브 마운트 하기
리눅스 2023. 6. 4. 16:17

1. rclone 설치 $ curl https://rclone.org/install.sh | sudo bash $ rclone --version rclone v1.54.0 - os/arch: linux/amd64 - go version: go1.15.7 위의 명령어 한 줄로 설치가 끝납니다. 2. rclone.conf 파일 생성 드라이브 설정 파일을 생성하는 마법사를 실행합니다. $ rclone config No remotes found - make a new one n) New remote s) Set configuration password q) Quit config n/s/q> n name> gdrive Type of storage to configure. Enter a string value. P..

article thumbnail
smb 설정 및 mount설정
리눅스 2023. 6. 2. 15:02

samba는 주로 윈도우에서 네트워크 파일 시스템을 이용하려 할때 사용합니다. linux에서 윈도우에서 네트워크 드라이브 특정 디렉토리로 접근 할 수 있습니다. 또한 리눅스에서는 파일 시스템을 특정 폴더에 mount하여 접근하는데.. 이때 마운트하는 드라이브를 삼바에서 제공하는 드라이브로 연결할수 있습니다. /etc/fstab는 부팅시 자동으로 마운트 되는 드라이브 설정파일 입니다. cat /etc/fstab /etc/fstab 파일을 수정합니다. # foobar //192.168.0.1 /home/yimstar9/Documnet/smb cifs rw,guest,nobrl,iocharset=utf8,file_mode=0664,dir_mode=0775,soft 0 0 아이피/삼바에서 설정한 이름 마운트될 ..