タグ

rustに関するkirononoのブックマーク (9)

  • RustによるマクロサービスフレームワークSpin入門

    この記事はAdvent of Spin 2023というオンラインチャレンジに参加した結果してSpinに入門した結果のまとめとなっています。学んだことのまとめですが、Spin入門としても利用いただけるかなとも思っています。 TL;DR マクロサービスフレームワークのSpinをつかって、Rustでマイクロサービスを作ります。 JSONのやり取りや、key-valueストアの利用、ルーティングがカバーされています。 Hurlというツールを使ってテストファースト開発します。 Spinとは? Spinとはマイクロサービスを作成するためのフレームワークで次の特徴があります。 イベント駆動型のフレームワーク HTTP(S)とRedisにデフォルトで対応 いくつかのストレージに標準で対応 イベントハンドラーはWasmコンポーネントとして実装される WASI preview 2に対応 開発元が配布しているコ

    RustによるマクロサービスフレームワークSpin入門
  • PythonとRustの融合:PyO3/maturinを使ったPythonバインディングの作成入門 | gihyo.jp

    Cargo.tomlにはデフォルトのメタデータとPyO3の依存関係(バージョン)などが記載されています。また、pyproject.tomlにはビルドツールとしてmaturinが使用されることなどがあらかじめ定義されています。 注目すべきはRustスクリプトを記述するsrc/lib.rsファイルです。以下のようなscaffold(足場)が最初から記載されています。 src/lib.rsにデフォルトで記載されているscaffold 1 use pyo3::prelude::*; 2 3 /// Formats the sum of two numbers as string. 4 #[pyfunction] 5 fn sum_as_string(a: usize, b: usize) -> PyResult<String> { 6 Ok((a + b).to_string()) 7 } 8 9

    PythonとRustの融合:PyO3/maturinを使ったPythonバインディングの作成入門 | gihyo.jp
  • Introduction - Rust Full Stack Workshop

    Welcome to the this workshop! In this hands-on workshop, we will guide you through the process of building a full stack application using Rust for the API, Actix-Web as the web framework, SQLx for database connectivity, Dioxus for the front-end, and Shuttle for deployment. This workshop assumes that you have a basic understanding of Rust and its syntax. Throughout the workshop, you will learn how

  • Rustで設定値を持つにはどうしたらいいですか | κeenのHappy Hacκing Blog

    κeenです。Rustではじめてアプリケーションを書くときに困りがちなことの1つにグローバルな値を持つにはどうしたらいいか分からないというのがあるようです。 その書き方を何パターンか紹介しできたらなと。 一応この記事には元ネタというかインスパイア元があり、以下のリポジトリも見ながら書かれています。 https://github.com/paulkernfeld/global-data-in-rust let にする 一番よくあるケースだとCLIや起動時に読み込んだ設定ファイルの値をどうするかでしょう。データの性格として起動時に一度だけ生成してあとは(ほとんど)いじらないようなものです。そういうものは main 関数内で let して、あとは借用で持ち回ればよいです。 起動時にファイルかろ設定値を読み込んで動くアプリケーションを雰囲気で書くとこんな感じです。 use std::io; str

    Rustで設定値を持つにはどうしたらいいですか | κeenのHappy Hacκing Blog
  • Rustハンズオン @ Rust CA 1 Day Youth Boot Camp

    https://www.cyberagent.co.jp/careers/students/career_event/detail/id=26831

    Rustハンズオン @ Rust CA 1 Day Youth Boot Camp
  • 『Zero To Production In Rust』を読んでいる

    初学者用のRustの教材として、RustでWebアプリケーションのサーバーサイド側をつくる一連のチュートリアル記事、『Zero To Production In Rust』を読んでみている。 https://www.lpalmieri.com/posts/2020-05-24-zero-to-production-0-foreword/ 一気に読んでいるかのような雰囲気でさらりと書いているが、仕事と遊びの合間に少しずつ、数日に1章程度の速度でゆっくり読み進めている。 問題駆動型の学習方法が嬉しい 知らない知識を複数同時に与えると学習効率が悪くなりがちなので、ある程度基礎部分を学んだら、少し難易度の高い領域であっても、自分の馴染みのある分野でどう使うかという話を例に学んでいく方が良いと考えている。今回の自分のケースの場合、Webアプリケーション開発という題目がそれにあたる。分からないところが

    『Zero To Production In Rust』を読んでいる
  • Rustの構造体に文字列を持たせるいくつかの方法 - Qiita

    きっかけ Rust Programming Language Forumにこんな質問が出ていました。 構造体にStringを持たせられるようにStringを受け取りたいです。これを実現する方法はいくつかあります。 &str String T: Into<String> T: AsRef<str> 例: pub struct Person { name: String, } impl Person { pub fn new(name: WhatTypeHere) -> Person { Person { name: name.some_conversion() } } どれが一番Rustらしい書き方ですか? 単純に構造体に文字列を持たせる方法はいくつかあるのですが、実はその実装方法によって文字列のコピーやアロケーションの回数が異なります。 ここでは、上記の4つの場合と、コメント欄で提案されて

    Rustの構造体に文字列を持たせるいくつかの方法 - Qiita
  • Rustを覚えて間もない頃にやってしまいがちなこと - Qiita

    Rustを使っていくうちにやらないほうがいいと気づいたことを挙げていこうと思います。 少なくとも自分は『プログラミング言語Rust』を読んだだけでは以下で説明することに気づけませんでした。 v: Vec<T>を&[T]に変換するためにいちいちv.as_slice()や&v[..]と書く 解説 Vec<T>が[T]へのDerefトレイトを実装しているので、v: Vec<T>は&をつけるだけで必要に応じて&[T]に変換されます。(参照: TRPL, 1st ed, Derefによる型強制) Vecか&[T]どちらであるべきかコンパイラが判断できない文脈では、スライスがほしい場合明示的に&v[..]などと書いてやる必要がありますが、基的には適当に&をつけるだけで問題ありません。 Vecへのイミュータブルな参照を関数の引数にする 例 解説 イミュータブルな場合、スライスとVecの違いはcapac

    Rustを覚えて間もない頃にやってしまいがちなこと - Qiita
  • RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう

    連載では、Webブラウザー上でJavaScriptとともに動作できるバイナリ形式のプログラムファイル「WebAssembly」を、Rustプログラミング言語で実装する方法について、順を追って説明していきます。初回となる今回は、WebAssemblyの概要を説明するとともに、Rustを利用した簡単なサンプルで、実装方法のイメージを紹介します。 はじめに 現在、Webフロントエンド開発においては、ページ構造を表すHTML、スタイルを表すCSSとともに、挙動を実装するためにJavaScriptが利用されます。JavaScriptの登場当初はWebページに動きをつける程度の扱いでしたが、その後の言語仕様の拡張や、WebブラウザーでのJavaScript実行速度の向上、Node.jsなどWebブラウザー以外でJavaScriptを動作させる環境の登場などにより、格的なプログラミング言語としてその

    RustではじめるWebAssembly入門~JavaScriptを超える高速なWebアプリ開発を実践しよう
  • 1