タグ

rustに関するyo_wakaのブックマーク (33)

  • Rust の hyper は何が嬉しいか

    Rust でWebサーバーを書く時の技術選定をするときに調べていると hyper に必ず出会うと思う。これは黎明期から存在しているライブラリで、Webサーバーにしては珍しく version 1 まで到達している老舗だ(1に到達してたら安心って考え方が正しいかはさておき...)。このライブラリは actix-web や axum のような他のライブラリとは毛色が違い、かなり primitive だ。そのため axum のベースに使われてもいて、hyper はそのまま使わないライブラリなのかもしれない。 サンプルコードから存在意義がわかりにくい さて、そんな hyper だが公式の example はこのようになっている。 #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>>

    Rust の hyper は何が嬉しいか
    yo_waka
    yo_waka 2023/08/22
  • Getting started - Command Line Applications in Rust

    Command line apps in Rust Rust is a statically compiled, fast language with great tooling and a rapidly growing ecosystem. That makes it a great fit for writing command line applications: They should be small, portable, and quick to run. Command line applications are also a great way to get started with learning Rust; or to introduce Rust to your team! Writing a program with a simple command line

    yo_waka
    yo_waka 2021/11/15
  • Actix - actor framework for Rust

    ActixActix Web is a powerful, pragmatic, and extremely fast web framework for Rust

    yo_waka
    yo_waka 2020/01/12
    高速らしい
  • GitHub - nushell/nushell: A new type of shell

    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.

    GitHub - nushell/nushell: A new type of shell
    yo_waka
    yo_waka 2019/08/24
    Rust製シェル。コード読みやすくてよい
  • RustのSerdeの簡単な紹介 - Qiita

    serdeはRustのデータ構造をシリアライズ/デシリアライズするためのフレームワークです。これで何ができるか大雑把に紹介すると、Rustの構造体等のデータ構造を、自動的にJSONやTOML、YAML等のフォーマットと相互変換ができるようになるというものです。記事ではこの非常に便利なserdeについて簡単に紹介します。 JSON文字列と構造体の相互変換 簡単な例として、Rustの構造体とJSON文字列の相互変換を扱います。アプリケーションの各種設定を格納するConfig構造体があり、この内容をJSONと変換したい時、以下のように記述します。 #[macro_use] extern crate serde_derive; extern crate serde; extern crate serde_json; #[derive(Serialize, Deserialize, Debug)]

    RustのSerdeの簡単な紹介 - Qiita
    yo_waka
    yo_waka 2019/02/04
  • Rust IDE + REPL In Vim

    Rust is a fascinating language filled with novel ideas. However, the tooling around the language is still maturing. The seemingly best option for writing Rust appears to be Visual Studio Code with the RLS plugin. It’s a nice setup, but I think there is a slightly more optimal solution utilizing Vim. This post will detail this layout. Rust SupportFirst up is getting basic support for Rust. Luckily,

    Rust IDE + REPL In Vim
  • 2018 年の非同期 Rust の動向調査 - Qiita

    この記事は Rust Advent Calendar 2018 の 12 + n 日目の記事です。 この記事は Rust と非同期 IO の歴史(資料編) の続報です。 あけましておめでとうございます。 2018-06 からの非同期 Rust の進捗をまとめました。 今年もよろしくおねがいします。 忙しい人のための Q&A Q. 2018-12 現在 いますぐ非同期 Rust を書きたい A1. HTTP サーバが立てたいなら tokio 0.1 + futures 0.1 + hyper 0.12 + hyper-tls or hyper-native-tls actix + futures 0.1 + actix-web 0.7 A2. HTTP リクエストしたいなら tokio 0.1 + futures 0.1 + hyper 0.12 + hyper-tls or hyper-n

    2018 年の非同期 Rust の動向調査 - Qiita
    yo_waka
    yo_waka 2019/01/26
  • まえがき - The Rust Programming Language

    注意: 最新版のドキュメントをご覧ください。この第2版ドキュメントは古くなっており、最新情報が反映されていません。リンク先のドキュメントが現在の Rust の最新のドキュメントです。 すぐにはわかりにくいかもしれませんが、Rustプログラミング言語は、エンパワーメント(empowerment)を根原理としています: どんな種類のコードを現在書いているにせよ、Rustは幅広い領域で以前よりも遠くへ到達し、 自信を持ってプログラムを組む力を与え(empower)ます。 一例を挙げると、メモリ管理やデータ表現、並行性などの低レベルな詳細を扱う「システムレベル」のプログラミングがあります。 伝統的にこの分野は難解で、年月をかけてやっかいな落とし穴を回避する術を習得した選ばれし者にだけ可能と見なされています。 そのように鍛錬を積んだ者でさえ注意が必要で、さもないと書いたコードがクラッキングの糸口に

  • 年末年始 Rust 振り返り

    年末年始の短い冬休みは何もすることがなく(いや、することはいくらでもあるんですが)、ずっと Rust のコンパイルエラーと見つめ合っていました。去年は後半から久々にそこそこの時間を Rust に費やしたので、思ったことを振り返りたいと思います。 所有権と生存期間は理解できてからがRust と言えば所有権と生存期間です。難しいと言われる理由です。難しいです。難しいのでドキュメントや Rust でもページを割いて解説されています。 Rust も出版されましたし、理解しやすくなったと思います。 が、所有権と生存期間は理解できてからが番です。ある程度の規模のコードを書いて間違えて書き直してを繰り返し、設計と実装のトレーニングを積まないと身につきません。コンパイルエラーが出るたび、まだまだ理解が浅いと痛感します。 GC がないとはそういうことです。 とにかくデータ型の設計に苦労するRust

    yo_waka
    yo_waka 2019/01/05
  • RustをEmscriptenなしでwasmにコンパイルしてNode.jsから呼び出す - Write and Run

    std: Add a new wasm32-unknown-unknown target by alexcrichton · Pull Request #45905 · rust-lang/rust · GitHub Rust の nightly で wasm32-unknown-unknown という target が入ったので、Emscripten ナシでも wasm を吐けるようになったということで。 rust と js で json 投げあうコードまで書くか— Insanely fast (@mizchi) 2017年11月26日 やった。 github.com 普通に serde とか使えて便利。 文字列を渡すときには Rust 側の関数で alloc してヒープのそのポインタへ JS から書いてやる必要がある。で、関数にはそのポインタを渡す。 受け取るときはポインタが返ってくる

    RustをEmscriptenなしでwasmにコンパイルしてNode.jsから呼び出す - Write and Run
  • GitHub - sharkdp/fd: A simple, fast and user-friendly alternative to 'find'

    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 - sharkdp/fd: A simple, fast and user-friendly alternative to 'find'
    yo_waka
    yo_waka 2017/10/10
  • Rustで写経、デザインパターン23種 - Qiita

    Rust力を高めたいけれども、特に作るものが思い当たらなかったのでデザインパターンを真似して書いてみようと思った. 解釈間違い、表現間違い、などなど、コメントお願いします. Githubにも同じコードを上げています Github - mopp/CodeGarage/rust/design_patterns/ 追記 κeenさんが大変良い記事を書いてくださいましたのでリンクを貼らせていただきます Rust風にデザインパターン23種 以下の例では不十分な部分を補足、修正してくれています。 ありがとうございます。 結論 真似して書いてみました。が理解できたという実感が伴っていない おそらく格好のマサカリの的であろう 何かを作るときに実際の問題を考えながら使わなければ覚えられないし、体に馴染まない パターンがあるから覚えるのではなく、問題を解決したいからパターンを参照する、ではないと駄目だなと思っ

    Rustで写経、デザインパターン23種 - Qiita
    yo_waka
    yo_waka 2017/05/07
  • Making Terminal Applications in Rust with Termion ·

    Warning: This is the blog I wrote as a kid. Most of what is written here is probably wrong. Thu, Oct 6, 2016 This post will walk through the basics of implementing a terminal (TTY) application for both new beginners and experienced users of Rust. Introduction Terminal applications play an important role in many programmers’ toolchain, from text editors to minigames while your code is compiling. An

    yo_waka
    yo_waka 2016/10/09
  • [翻訳] Python プログラマーのための Rust 入門 - Qiita

    稿は 2015年5月27日 (水) に Armin Ronacher (@mitsuhiko) 氏によって書かれた記事の翻訳です。 Rust for Python Programmers 訳者は Rust を全く知らないため、勘違いや誤訳もあると思います (特に用語) 。そういった誤りを見つけたら編集リクエストを送ってもらえると助かります。 いま Rust 1.0 が登場して非常に安定しているので、Python プログラマー向けに Rust の入門記事を書くとおもしろいのではないかと私は思いました。この手引きでは、Rust 言語の基礎を調べながら異なる構成概念とそれらがどう振る舞うのかを比較します。 Rust という言語は Python と比べると全く異なる獣です。単に一方がコンパイル型言語でもう一方がインタープリター型言語であるというだけでなく、その主要な言語機能においても全く違ってい

    [翻訳] Python プログラマーのための Rust 入門 - Qiita
    yo_waka
    yo_waka 2016/10/03
  • http://rust-lang-ja.org/rust-by-example/index.html

    See related links to what you are looking for.

    yo_waka
    yo_waka 2016/10/03
  • Using and_then and map combinators on the Rust Result Type

    If you have spent any amount of time learning Rust, you quickly become accustomed to Option and Result types. It is through these two core types that we make our programs reliable. My background is with C and dynamic languages. I found it easiest to use the match keyword when working with these types. There are also combinator functions like map and and_then which allow a set of computations to be

    yo_waka
    yo_waka 2016/09/23
  • この本はプログラミング言語Rustの教材です

    注意: 最新版のドキュメントをご覧ください。この第1版ドキュメントは古くなっており、最新情報が反映されていません。リンク先のドキュメントが現在の Rust の最新のドキュメントです。 プログラミング言語Rust ようこそ!このはプログラミング言語Rustの教材です。Rustは安全性、速度、並行性の3つのゴールにフォーカスしたシステムプログラミング言語です。 ガーベジコレクタなしにこれらのゴールを実現していて、他の言語への埋め込み、要求された空間や時間内での動作、 デバイスドライバやオペレーティングシステムのような低レベルなコードなど他の言語が苦手とする多数のユースケースを得意とします。 全てのデータ競合を排除しつつも実行時オーバーヘッドのないコンパイル時の安全性検査を多数持ち、これらの領域をターゲットに置く既存の言語を改善します。 Rustは高級言語のような抽象化も含めた「ゼロコスト抽象

    yo_waka
    yo_waka 2016/09/23
  • Awesome Rust | LibHunt

    Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at www.getonboard.dev.

    yo_waka
    yo_waka 2016/06/17
  • Taking Rust everywhere with rustup | Rust Blog

    Cross-compilation is an imposing term for a common kind of desire: You want to build an app for Android, or iOS, or your router using your laptop. You want to write, test and build code on your Mac, but deploy it to your Linux server. You want your Linux-based build servers to produce binaries for all the platforms you ship on. You want to build an ultraportable binary you can ship to any Linux pl

    Taking Rust everywhere with rustup | Rust Blog
    yo_waka
    yo_waka 2016/05/15
    クロスコンパイルきた
  • Rustのイテレータの網羅的かつ大雑把な紹介 - Qiita

    はじめに 正直なところ、公式ドキュメント std::iter::Iterator - Rust を読めば終了、この記事は不要、という感じはある。 しかしこのページ、例とかは豊富だし良いのだが、関数の並べ順がどうにも微妙な感じがするので、メモを兼ねて用途別(独断と偏見による分類)で紹介してみることにする。 あと、関数の型はHaskell風に書くと流れる感じがあって良い(イテレータの用途とマッチしている気がする)ので、 T -> U -> V のように書くことがある。 とはいえ、わかりやすさ優先で書くと FnMut とか FromA: Default + Extend<A> みたいな独特の情報が失われてしまったため、やはり公式のドキュメントをあわせて見ることをおすすめする。(リンクを沢山張ったので、発見次第別ウィンドウで開くくらいの勢いが良い。) それから、以下で Iterator<T> と書

    Rustのイテレータの網羅的かつ大雑把な紹介 - Qiita
    yo_waka
    yo_waka 2016/05/09