並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 17 件 / 17件

新着順 人気順

rustの検索結果1 - 17 件 / 17件

  • Rustで有名アルゴリズムに挑戦(20) RustとTcl/TkでGUIアプリを作ろう

    普段使うツールをRustで作る場合、コマンドラインベースのものが多いと思います。それでも、Rustを使ってデスクトップアプリを作ることもできます。今回は、実績のあるGUIツールキットの「Tcl/Tk」をラップしたクレートを使って簡単なGUIを作成してみましょう。 Rustで単位変換ツールを作ったところ GUIツールキット「Tcl/Tk」のインストール Rustのライブラリを集約したcrates.ioを見ると、多くのGUIライブラリが存在します。Rustはさまざまな環境で動作することを想定していることもあり、「これこそGUIの定番」というものはありません。多くの選択肢があり、用途に応じて使い分けるのが正しい作法です。 WebブラウザベースのTauri、ゲーム開発と相性の良いegui、GTK+を利用するGTK-rs、Tcl/Tkをラップしたライブラリのtcl/tkなど、いろいろなクレートがあり

      Rustで有名アルゴリズムに挑戦(20) RustとTcl/TkでGUIアプリを作ろう
    • Playing guitar tablatures in Rust

      If you ever tried to learn guitar, chances are you are familiar with guitar tablatures. It is a simple way to visualize music for guitar, using ASCII characters to represent strings and frets as an alternative to sheet music. For instance, here are the first four measures of the song "Smoke on the Water" by Deep Purple: e|-----------------|-----------------|-----------------|-----------------| B|-

      • A curated list of awesome Rust checkers

        Awesome Rust checkers Table of contents Awesome Rust checkers Table of contents Linters Static Checkers Dynamic Checkers Verifiers1 Linters Name Description Working on Bug types Technology Maintenance clippy A bunch of lints to catch common mistakes and improve your Rust code. HIR Versatile Pattern matching ★★★★★ dylint Run Rust lints from dynamic libraries HIR Versatile Pattern matching ★★★★★ Sta

        • 今どきの言語ならこの2択、歯ごたえ十分のRustか型を使えるTypeScriptか

          日経クロステックが実施した「プログラミング言語利用実態調査2023」で「今後、スキルアップしたいと思う言語はどれですか」と複数回答可で尋ねたところ、トップ10の言語が分かった。それぞれの言語の特徴を解説する。 4位 Rust 多機能でC/C++並みに高速。ただし、難易度は高め 2015年に最初の安定版である「Rust 1.0」がリリースされたRustは、近年人気が高まっているプログラミング言語です。Rustの魅力は、高速に動くプログラムを、現代的なプログラミングテクニックを使うコードで作成できることです。これはプログラミング言語の歴史から見ても興味深い点です。 近年、プログラミング言語の進化の方向は、PythonやRubyのように実行速度を犠牲にする代わりに様々な機能を提供するか、Go言語のように提供する機能を絞って実行速度の向上を追求するかという2つの道に分かれていました。その中で、Ru

            今どきの言語ならこの2択、歯ごたえ十分のRustか型を使えるTypeScriptか
          • An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture

            An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture Asynchronous programming allows the development of services that can handle millions of requests without saturating memory and CPU utilization. Support for asynchrony is usually baked into the programming language; we take a look at async support in Rust, a type-safe and memory-safe systems progra

              An Introduction to Asynchronous Programming in Rust and a High-level Overview of Tokio's Architecture
            • GitHub - BurntSushi/jiff: A date-time library for Rust that encourages you to jump into the pit of success.

              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                GitHub - BurntSushi/jiff: A date-time library for Rust that encourages you to jump into the pit of success.
              • Async Rust: The new billion-dollar mistake?

                This post is part of my Summer of Rust 2024 series: weekly (or more) quickies about how to write great Rust code so you will be ready to rock at the end of the summer and find a new exciting job 🤘 Dont forget to Subscribe (Email & RSS) Tomy

                  Async Rust: The new billion-dollar mistake?
                • Rust の中で TypeScript を書くには

                  はじめに 先日ユニークビジョン株式会社の UV Study というイベントで Rust に関する LT 登壇を行いました。 この記事はそれを zenn 用にまとめ直したものです。 当日の発表は 10 分と短かったため、当日の発表で話せなかったところも補足しています。 作ったもの FFI は面倒 あるプログラミング言語で書かれたプログラムの中から、別のプログラミング言語で書かれた処理を呼び出したいことがあります。 それぞれプログラミング言語は文法やライブラリだけでなく、内部でどのようにリソースを管理しているかの仕組みも異なるため、そのままでは相互に関数を呼び出せません。(例えば呼び出し先のプログラムでなにかデータを生成してそれを呼び出し元に返そうとしても、その生成されたデータは誰がどうやって面倒を見るべきかという問題が生じます。) このようなことを可能にするための仕組みを FFI (Fore

                    Rust の中で TypeScript を書くには
                  • Rust を WebAssembly にコンパイルして Vite で使ってみる

                    はじめに 2023 年 11 月から弊社で TRPL の輪読会を週一で開催しています。そろそろ何かを動かしたい衝動に駆られたので、自分のホームページで Rust からコンパイルした WebAssembly を使ってみることにしました。 まだ「Rust 何も分からん」な筆者ですが、まるで実用性のない塊を作ってみます。 また、この記事は既に Vite のプロジェクトと Rust を利用できる前提で書いています。 Rust から WebAssembly にコンパイル 実は MDN にすごく分かりやすいチュートリアルがあります。 なので MDN を見てください。一応、長い文章を見たくない人のために簡単にやったことを書きます。 WebAssembly にコンパイルしたり、npm ライブラリとして公開する機能を提供してくれる wasm-pack をインストールします。

                      Rust を WebAssembly にコンパイルして Vite で使ってみる
                    • proc_macro_workshopでRustの手続き的マクロに入門する 後編 - CADDi Tech Blog

                      はじめに builder マクロを作る(続き) 06-optional-field 目標 実装方針 実装 ガード節で Optional でない型のみエラーを出すようにする Optionでラップされた型はアンラップしてCommandBuilder構造体のフィールドで保持する Optional な型の setter メソッドはラップされた中身の型を引数として受け付けるようにする is_optionとunwrap_optionの実装 is_option関数 unwrap_option関数 AngleBracketed(AngleBracketedGenericArguments) リファクタリング 07-repeated-field 目標 実装方針 実装 Builder 構造体のフィールドではVec型の変数はOptionでラップしない is_vectorとunwrap_vectorの実装 フィー

                        proc_macro_workshopでRustの手続き的マクロに入門する 後編 - CADDi Tech Blog
                      • 非同期処理の裏側を覗き見 ~Rustのasync/awaitの場合~

                        イントロダクション 非同期処理は、タスクの完了を待つことなく多くのタスクをプログラム上で実行することができる強力なツールです。例えば、Webサーバーのリクエスト処理やファイルの読み書きなど、I/Oバウンドタスクの効率的な処理に非常に有用です。 この記事では、Rust公式のAsynchronous Programming in Rustの第1章と第2章を参考にし、並行プログラミングモデルや非同期処理の実装例、非同期ランタイムの内部構造までまとめました。 並行プログラミングモデルの比較 並行プログラミングにはさまざまなモデルがあり、それぞれに特有の利点と欠点があります。Asynchronous Programming in Rust 第1章の内容に基づき、OSスレッド、イベント駆動、コルーチン、アクターモデルの各モデルについて例を交えながら説明します。 OSスレッド OSスレッドは、オペレーテ

                          非同期処理の裏側を覗き見 ~Rustのasync/awaitの場合~
                        • RSA暗号の仕組みとRustの実装

                          RSA暗号について RSA暗号のセキュリティは、非常に大きな数を2つの素数に分解することが難しいという数学的な性質に基づいています。この記事ではRSA暗号の鍵生成、暗号化、復号化についての仕組みを理解し、その上でRSA暗号をRustで実装していきます。 流れは下記の通りです。 鍵生成について 暗号化と復号化のプロセス 復号化の数学的な説明 RustによるRSA暗号の実装 1. 鍵生成 RSA暗号の鍵生成プロセスは次のステップで行います: 1. 大きな素数の選択 セキュリティパラメータ k が与えられたとき、それに対応するサイズの2つの素数2 ( p ) と ( q ) をランダムに選ぶ 2. n の計算 n = p * q 3. \phi(n) の計算 \phi(n) = (p-1) * (q-1) 4. 公開鍵 e の選択 1 < e < L の範囲で、e と L の最大公約数が1になる

                            RSA暗号の仕組みとRustの実装
                          • Rustはもっと広まらなくてはならない — セキュリティ脆弱性の50%以上が防止可能

                            Rustの利点と市場の現状 Lawfareの「Security by Design Paper Series」において、Rustのようなメモリ安全なプログラミング言語を使用することで、セキュリティ脆弱性の50%以上が防止できるとする研究結果が紹介されている。 メモリ安全な言語の採用障害 これらの利点にもかかわらず、CやC++のようなメモリ安全でない言語が市場を占有しているため、メモリ安全な言語の採用は一部の領域で停滞している。JavaやPythonといった古いメモリ安全な言語とは異なり、新しいRust言語は効率性とメモリ安全を最適化している。しかし、Rustの革新的な設計と実装は、既存のエンジニアリングスキルやシステムと互換性がないため、市場の採用には摩擦が生じている。 Rust採用のための3つの提案 以下に、Rustの採用を促進するための3つの提案を示す: 教育とトレーニングの強化 既存

                              Rustはもっと広まらなくてはならない — セキュリティ脆弱性の50%以上が防止可能
                            • 今どきの言語ならこの2択、歯ごたえ十分のRustか型を使えるTypeScriptか

                              日経クロステックが実施した「プログラミング言語利用実態調査2023」で「今後、スキルアップしたいと思う言語はどれですか」と複数回答可で尋ねたところ、トップ10の言語が分かった。それぞれの言語の特徴を解説する。 4位 Rust 多機能でC/C++並みに高速。ただし、難易度は高め 2015年に最初の安定版である「Rust 1.0」がリリースされたRustは、近年人気が高まっているプログラミング言語です。Rustの魅力は、高速に動くプログラムを、現代的なプログラミングテクニックを使うコードで作成できることです。これはプログラミング言語の歴史から見ても興味深い点です。 近年、プログラミング言語の進化の方向は、PythonやRubyのように実行速度を犠牲にする代わりに様々な機能を提供するか、Go言語のように提供する機能を絞って実行速度の向上を追求するかという2つの道に分かれていました。その中で、Ru

                                今どきの言語ならこの2択、歯ごたえ十分のRustか型を使えるTypeScriptか
                              • RustでもBERTでFine-tuningしたい

                                本記事はLabBase テックカレンダー Advent Calendar 2023 5 日目です。 概要 Pythonのtransformersライブラリと同程度に簡単に、RustでもBERTでFine-tuningしたかったので調べたところ、惜しくもできる方法は無かった。 しかしちょっと頑張ると可能そうだし、ちょっと待てばhuggingface/candleでできるようになりそう。 RustでもBERTでFine-tuningしたい 業務で文章からキーワード抽出するタスクを解きたかったので、 huggingfaceの「トークン分類」のドキュメント を参考に、あらかじめ用意したアノテーション済みデータを入力として、 huggingfaceのベースモデルを元にFine-tuningするまでをPythonで実装しました。 ですが、せっかくなのでRustでも実装したくなったので、Rustでも同様

                                  RustでもBERTでFine-tuningしたい
                                • Rustとpgvectorを使って、類義語の検索をやってみた

                                  はじめに この記事は株式会社LabBase テックカレンダー Advent Calendar 2023 24日目の記事です。 株式会社LabBaseでエンジニアをしている渡辺創です。 今回は pgvector を使って、類義語の提案ができるか試してみたのでそれについて書いていきたいと思います。 背景 LabBase就職というサービスを提供しており、研究に取り組んでいる学生が研究概要を登録してくれています。研究を頑張っている学生を採用したい企業の方が研究内容と募集内容のマッチングによって、就職活動・採用活動を支援するサービスとなっています。 企業の人事の方が学生の研究内容をキーワードで検索するのですが、ユーザは自分の語彙の中でしか検索することができないので、その語彙を拡張する方法の1つとして、ユーザに類義語を提案しようと考えています。 類義語関連だとこちらの記事にも書いたので、ぜひ読んでみて

                                    Rustとpgvectorを使って、類義語の検索をやってみた
                                  • RustでwhereによるTrait境界を使う方法 - Qiita

                                    こんにちは、Rustプログラマの皆さん。今日はRustのwhereキーワードを使って、Trait境界を定義する方法について説明したいと思います。whereキーワードは、構造体や関数のジェネリック型パラメータが満たすべき制約を明示的に示すために使用されます。これにより、コードの可読性が向上し、型システムがコンパイル時に適切な制約を確認できるようになります。 Trait境界は、ジェネリック型や関数に対して特定のトレイトを実装することを要求するために使用されます。これにより、型安全性が向上し、コンパイル時に制約が満たされていることが保証されます。Trait境界を使用する主なシーンは以下のとおりです。 ジェネリック型の制約 : ジェネリック型を定義する際、型パラメータに特定のトレイトを実装させることで、その型が持つべき振る舞いや性質を制限できます。これにより、ジェネリック型を使用する際に適切な型が

                                      RustでwhereによるTrait境界を使う方法 - Qiita
                                    1