DataScience
article thumbnail
Rust 변수
Rust 2023. 4. 18. 09:56

변수 선언하고 값 출력하기 파이썬에서는 모든 객체를 print 함수로 출력할 수 있습니다. 문자열 "Hello, world!" 를 출력하는 예제는 다음과 같습니다. print("Hello, world!") 러스트에서는 매크로(macro)를 사용해 값을 출력합니다. 매크로란 사전 정의된 편리한 기능을 의미하고, 항상 이름 뒤에 !가 붙습니다. 러스트 코드는 매 줄의 마지막에 세미콜론(;) 이 붙습니다. 위의 파이썬 예제와 동일하게 문자열 "Hello, world!" 를 출력하는 코드는 다음과 같습니다. fn main() { println!("Hello, world!"); } 변수 선언 파이썬은 변수 선언 시 타입을 명시하지 않아도 되기 때문에 실수값과 정수값 모두 변수에 바로 할당이 가능합니다. 파이썬에서..

article thumbnail
개발자들이 가장 사랑하는 언어 Rust 소개
Rust 2023. 4. 17. 09:31

사랑 받는 언어 Rust 파이썬은 최근 가장 인기가 높은 언어 중 하나입니다. 간결한 문법과 범용성 덕분에 서버 개발부터 딥러닝 모델 개발까지 다양한 분야에서 사용되고 있습니다. 하지만 파이썬은 개발 시의 높은 생산성을 위해 코드 실행 속도를 일정 부분 포기한 언어입니다. 특히 파이썬의 태생적 한계인 GIL(Global interpreter lock)때문에 빠른 연산이 필요한 작업이나 멀티스레딩 프로그램에서 좋은 성능을 내기 어려운 단점이 있습니다. 러스트는 높은 추상성으로 높은 생산성을 가지고 있는 동시에 C/C++의 99%에 가까운 성능을 가지고 있어서 빠른 연산속도가 필요한 분야에서 각광받고 있습니다. 2022년 스택오버플로우 개발자 설문조사의 "Loved vs Dreaded(사랑하는 언어 대 두려..

Tauri 설치부터 배포까지 (리눅스 빌드)
Rust 2023. 4. 16. 16:21

사전 설치 sudo pacman -Syu sudo pacman -S --needed \ webkit2gtk \ base-devel \ curl \ wget \ openssl \ appmenu-gtk-module \ gtk3 \ libappindicator-gtk3 \ librsvg \ libvipsRust 설치 curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh Rust is installed now. Great! 이 문장이 나오면 설치 성공입니다. 러스트 관련 명령어 rustup update #업데이트 rustup self uninstall #제거 rustc --version #버전확인 rustc x.y.z (abcabcabc ..

Tauri 배포
Rust 2023. 4. 15. 09:32

cargo tauri build 바이너리 자체는 src-tauri/target/release/[앱 이름]에 위치하고, 설치 프로그램은 src-tauri/target/release/bundle/에 위치합니다. 윈도우 코드 서명 애플리케이션에 코드 서명을 하면 사용자로 하여금 앱으로 위장한 맬웨어가 아닌 정식 실행 파일을 다운로드했음을 알 수 있게 해줍니다. 필수는 아니지만, 이는 앱에 대한 사용자의 신뢰를 향상시켜줍니다. 사전 요구 사항 Windows - 다른 플랫폼을 사용할 수 있지만, 이 자습서에서는 Powershell 기본 기능을 사용합니다. 동작하는 Tauri 애플리케이션 코드 서명 인증서 - Microsoft's docs에 나열된 서비스 중 하나를 얻을 수 있습니다. 해당 목록에 포함된 것보다 비..

Tauri 빌드
Rust 2023. 4. 14. 10:31

윈도우 설치 프로그램 cargo tauri build 윈도우용 Tauri 애플리케이션은 마이크로소프트 설치 프로그램(.msi파일)로 제공됩니다 32-bit tauri build --target i686-pc-windows-msvc ARM64 tauri build --target aarch64-pc-windows-msvc Windows7 호환 Cargo.toml [dependencies] tauri = { version = "1", features = [ "windows7-compat" ] } Windows Installer를 빌드하기 위한 기본 설정 원하는 type을 넣으면 됩니다. tauri.config.json { "tauri": { "bundle": { "windows": { "webviewInst..

article thumbnail
Tauri 테스트
Rust 2023. 4. 14. 09:30

Tauri API 모킹 프론트엔드 테스트를 작성할 때 "가짜" Tauri 환경을 사용하여 창을 모의 시험하거나 IPC 호출을 가로채는 것이 일반적이며 이를 mocking이라고 합니다. IPC 요청 mockIPC() 와 함께 다른 탐색, 모킹 도구를 사용할 수 있습니다. import { beforeAll, expect, test, vi } from "vitest"; import { randomFillSync } from "crypto"; import { mockIPC } from "@tauri-apps/api/mocks"; import { invoke } from "@tauri-apps/api/tauri"; // jsdom doesn't come with a WebCrypto implementation b..

article thumbnail
Tauri 디버깅
Rust 2023. 4. 13. 10:30

애플리케이션 디버깅 Rust 콘솔 터미널에 tauri dev를 실행합니다. 다음 코드를 사용하여 Rust 파일 내 해당 콘솔에 무언가를 인쇄할 수 있습니다: println!("Message from Rust: {}", msg); tauri dev가 충돌하는경우 RUST_BACKTRACE=1 tauri dev WebView 콘솔 웹뷰에서 우클릭후 엘리먼트 검사를 선택합니다. 프로덕션에서 요소 검사 사용하기 기본적으로, 요소 검사는 Cargo 기능으로 활성화하지 않는 한 개발 및 디버그 빌드에서만 활성화됩니다. cargo tauri build --debug 최종 번들 앱에는 개발 콘솔이 활성화되어 있으며 src-tauri/target/debug/bundle에 배치됩니다.