タグ

qiitaとrustに関するclavierのブックマーク (8)

  • Rust で DDD を実践しながら API サーバーを実装・構築した(つもり) - Qiita

    Rust 勉強中の身ですので、何かしら作ってみようと思い立ち、 API サーバーを構築してみました。 自力で一から公開できるサーバーを構築したのは初めてでしたので、試行錯誤の過程を記事にします。 作ったもの 何の変哲もない API サーバーです。 成果物は こちら にアップしました。 API サーバー Rust で実装 Web フレームワーク(Actor): actix-web ORM: Diesel Docker イメージにして Heroku で稼働させる DB サーバー PostgreSQL を利用する Heroku PostgreSQL で稼働させる 開発方針 上記のインフラ構成を目標として、以下の開発方針を軸として調査や検証を行いました。 ローカルでの開発とサーバーへのデプロイはスムーズにできるようにする。 ローカルでテストや動作確認がスムーズにできるようにする:Docker の利

    Rust で DDD を実践しながら API サーバーを実装・構築した(つもり) - Qiita
  • 簡易x86エミュレータを再実装してRustを学ぶ - Qiita

    はじめに プログラミング言語のRustを学びたいと思い,今年はいくつかを読んだり1,The Rust Programming Languageの輪講会を催したりした.ところがそこまで学んでいても,Rustでは強力な型システムと所有権システムがあるため,初学者の私にはコンパイルすら一筋縄では行かなかった. そこでCのプログラムをRustで再実装し,Rustに慣れることとした.自作エミュレータで学ぶx86アーキテクチャのx86エミュレータpx86はCで実装されているが,これを新たにRustで実装することした.px86を選んだ理由は一度Linuxで実装した経験があるため2,またコンパクトな規模の実装であるから,題材として適切と考えた. 記事では,簡易x86エミュレータをCからRustに実装し直す上で困ったことを取り上げ,どのように対処したかを示す. px86:簡易x86エミュレータ 今回実装

    簡易x86エミュレータを再実装してRustを学ぶ - Qiita
  • Rust初心者殺しの文法10選 - Qiita

    概要 この記事ではRust初心者が驚いたり混乱させられたりするようなRustの文法を10項目集めてみました。 これらの項目は知らないと理解できなかったりコンパイルエラーに悩まされたりする一見厄介なものたちなのですが、そのような直感的でない挙動を敢えてさせているところには重要な意味が込められていることが多いです。 そのため、これらの項目を通してRustが目指しているものや実現したい機能の一部を垣間見ることができると思います。 1. デフォルトの代入がムーブ Rustの最大の特徴が所有権の概念であることは有名ですが、それでもなお初心者殺しになるのがムーブです。 以下のコードがコンパイルエラーになるメジャーな言語は現状Rustくらいしか無いでしょう。 let mut a = vec![1, 2, 3]; let mut b = a; // ここでaの持つベクタの所有権がbにムーブされ、aは無効に

    Rust初心者殺しの文法10選 - Qiita
  • RustのソフトウェアをSnapcraftのパッケージにする - Qiita

    はじめに SnapcraftとはCanonicalが開発しているパッケージマネージャです。(昔はSnappyだったと思うんですが変わったんですかね?公式サイトがSnapcraftになっているのでここではそれに従います) 最近のUbuntuにはデフォルトで入っていたり、いろいろなlinuxディストリビューションに対応したりしているようです。 Rustのソフトウェアを配布する際に、Rustの開発者前提ならcargo installでいいのですが、一般には敷居が高いです。 そうすると「yumやaptといった普通のパッケージマネージャで入れたい」となるのですが、こちらは公式リポジトリに入れるのはすごく大変ですし、野良リポジトリというのも(開発者にとっても利用者にとっても)手間がかかります。 というわけで第三の選択肢として、Snapcraftのようなクロスプラットフォームのパッケージマネージャがあり

    RustのソフトウェアをSnapcraftのパッケージにする - Qiita
  • RustのWebフロントエンドフレームワーク「Kagura」をElectron上で動かしてみる - Qiita

    RustでもWebAssembly出力ができるようになっているんですが、いつか触ろうと思いつつずっと触る機会がありませんでした。 ちょうど自身の周りでもElectronの利用事案が増えて来て(例えばPostludium/Peridotでパイプラインの設計エディタのためにElectron使おうと思ったこともありました......)、良い機会なので入門として件名のライブラリを触ってみることにしました。 Kaguraとは Rust製のWebフロントエンドフレームワークです。端的に言ってしまえばReactVueなどの仲間です。 仮想DOMを用いて差分レンダリングを行う点は既存のフレームワーク同様ですが、アーキテクチャ的にはHalogenやElmが近いです (いわゆるTEAの形をとっています)。 RustWebAssemblyを出力する、動かす Rustにはwasm-bindgenという便利ツー

    RustのWebフロントエンドフレームワーク「Kagura」をElectron上で動かしてみる - Qiita
  • RustでWebAssemblyインタプリタ作った話 - Qiita

    はじめに RustWebAssemblyインタプリタを作ったのでその実装の話や、wasmの仕様についての記事です。 HListを使ったジェネリックプログラミングの話や、最後の方には「自作言語 on 自作wasmインタプリタ on 自作wasmインタプリタ」みたいな話も出てきます。 分かりにくい所や間違っている所は指摘してくださると助かります。 リポジトリ 作った成果物のリポジトリです。まだpublishはしていませんがクレートになっています。 cargoのexample実行に対応しているのでそれを見ればだいたい分かると思います。 今回はadc-2019-12-22というタグがついたコミットのソースを元に解説していきます。 https://github.com/kgtkr/wasm-rs/tree/adc-2019-12-22 仕様書 この記事では仕様書を読みながら順番に実装を解説していき

    RustでWebAssemblyインタプリタ作った話 - Qiita
  • Comlink + Rust で言語とスレッドの垣根を越えた WebAssembly 開発 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Comlink + Rust で言語とスレッドの垣根を越えた WebAssembly 開発 - Qiita
  • Rust初心者がRustで全文検索サーバを作ってみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 情報検索・検索エンジン Advent Calendar 2019 の5日目の記事です。このAdvent Calendarを作った@takuya_aさんより、お誘いいただきました。 @minoru_osuka もし余裕あれば12/5の記事お願いします! https://t.co/YIA9tIB4Gj — takuya-a (@takuya_b) December 1, 2019 ということで、仕事とは別で個人的に始めたプロジェクトについて紹介できたらと思います。 私自身はApache Solrを好んで利用しています。 ただ、最近のサーバサ

    Rust初心者がRustで全文検索サーバを作ってみた - Qiita
  • 1