タグ

rustに関するhajimepgのブックマーク (26)

  • Rust始めてみた。JSONフォーマッターを作ってみた | stin's Blog

    唐突にRustを使ってみたいと思ったので勉強を始めてみました。 始めた理由始めてみたかった理由は色々あります。 まずはやはりフロントエンド開発ツールが色々とRustで実装されることです。VercelはTurborepoとTurbopackをRustで実装していますね。JavaScriptコンパイラのSWCもRustで実装されています。あとは、uhyoさんのnitrogqlもRustで作られていて、おもしろいなと思いました。そんな感じで、コンパイラ実装でRustがよく使われていることと、ビルドツールなどのテキスト処理に興味があったのが1つ目の理由です。 あとは、Tauriですね。ふとデスクトップアプリを作りたいと思ったときにTauriを調べたんですが、TauriのバックエンドをRustで書けたらかっこいいなと思いました。普通にJavaScriptでも書けるらしいんですが、かっこよさ重視です。

    Rust始めてみた。JSONフォーマッターを作ってみた | stin's Blog
  • 開発用適当ツールは Rust で作るのもオススメ

    開発用適当ツールは Go で作るのがオススメ!? 先日、開発用適当ツールはGoで作るのがオススメ という記事を拝見しました。 まだ読んでないよという方はぜひ読んでみてください! とても良い記事でした😌✨ Go 言語も CLI ツールの実装に向いているということも分かりました。 そして、Go 言語の魅力も伝わってきました...!! まとめると以下のような点がメリットとして挙げられていると思います。 go run で簡単に実行できる シングルバイナリにクロスコンパイルできる go.mod / go.sum が依存性管理を楽にしてくれる 動作速度も申し分なし たしかに開発用適当ツールの作成というユースケースは Go は魅力的な選択肢だと思います! 開発用適当ツールは Rust で作るのもオススメ 前置き 最初に大事なことを言っておきます。 タイトルにもあるように、Rust も であって GO

    開発用適当ツールは Rust で作るのもオススメ
  • 『RustによるWebアプリケーション開発 設計からリリース・運用まで』という本を共著で書きました - Don't Repeat Yourself

    RustのWebアプリケーション開発に関する書籍を共著で執筆しました。1年くらい執筆していましたが、出版時期などが定まってきたので内容の紹介を込めて告知の記事を書きます。9/26刊行予定です。予約よろしくお願いします。 RustによるWebアプリケーション開発 ↓AmazonのURL(アフィリエイトなし) www.amazon.co.jp 数年前に書籍を執筆した際に、「次はWebアプリケーションの実装に関するを書きたい」と記事に書き残していたのを今見つけたのですが、有言実行できたようです。 どんなか? Rustってバックエンド開発に向いてるの? 著者について 目次とトピックの簡単な紹介 はじめに 第1章 書で開発するアプリケーション 第2章 開発環境の構築 第3章 最小構成アプリケーションの実装 第4章 蔵書管理サーバーアプリケーションの設計 第5章 蔵書管理サーバーの実装 第6章

    『RustによるWebアプリケーション開発 設計からリリース・運用まで』という本を共著で書きました - Don't Repeat Yourself
    hajimepg
    hajimepg 2024/09/16
    “現代におけるJavaやPHP、Ruby on Railsなどの立ち位置になるのはちょっと難しいのではないか?と思っています。そもそもシステムプログラミング言語ですしね。”
  • もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab

    めまぐるしく変化するテックの世界。技術を身に着けるうえで学ぶべきポイントや学習環境なども年々変わっています。 そこで「もしもいまの環境で、テックのことをイチから学び直すことになったら、自分はどんな風に勉強したいか」というIFストーリーを通じて、技術との向き合い方を考え直してみる企画「テック転生」。 今回は『Rust実践プログラミング入門』共著者の松健太郎(@matsu7874)さんに“自分だったらこう進めたい、Rustの学習ロードマップ”をご寄稿いただきました。 無理なく2ヶ月でWeb開発をRustで始めるロードマップ 株式会社estieでソフトウェアエンジニアをしているmatsu7874です。2024年8月の今、イチからRustを学び直すロードマップ(あるいはリソースガイド)を考えてみました。仕事の合間にやっていくとして数週間、長くとも2ヶ月くらいでRustで開発している会社に入っても

    もしもいま、Rustをイチから学び直すとしたら? Rust入門書著者・matsu7874さんに聞く学習ロードマップ - Findy Engineer Lab
    hajimepg
    hajimepg 2024/09/12
    ちょうど7〜8月の2ヶ月を掛けてRustに入門したところ。日本語の書籍が充実していて学習しやすかったことに同意します。
  • (2024年1月時点)RustのWebフレームワークの簡単な比較 - Activ8 Tech Blog

    はじめに こんにちは、エンジニアのクロ(@kro96_xr)です。 エンジニアと言いながら最近コードを書く機会が減っていたので、年末年始にRustにチャレンジしていました。 まだ全然理解しきれていないという自覚はありつつ、今回はRustの主要なWebフレームワークについて簡単に調査、比較していきたいと思います。 間違いなどありましたらDM等でご指摘いただけると幸いです。 なお、情報は全て調査時点(2024/1/8)のものとなります。 Frameworkの候補 フレームワークの比較をしてくれているリポジトリがあるので、この情報を元にピックアップしてみます。 github.com 人気のフレームワーク 名称 Repos Docs スター数 最新バージョン Activity actix-web Repo Doc 19.4k 4.4.1 181/year axum Repo Doc 14.3k 0

    (2024年1月時点)RustのWebフレームワークの簡単な比較 - Activ8 Tech Blog
  • async対応版Rocket、v0.5を試してみる - paild tech blog

    Rocketの特徴 Rocketにはこれまで何が起きていたのか v0.5を使う 今回作るアプリケーションのお題 使用するクレートの追加 Routing JSON Fairings: データベース接続 1. コネクションプールを保持するための構造体を用意する 2. 設定ファイルに情報を書く 3. 1で作った構造体をサーバーにattachし、アプリケーションを起動する。 Todoを作成するRoutingを用意する Responder: エラーハンドリング 注意したいこと まとめ 参考サイト お手伝いの @helloyuki です。 最近、asyncに完全対応したRocketがついにリリースされ、v0.5から使えるようになったというニュースが舞い込んできました。RocketはRustのエコシステムをかなり前から支えてきたクレートではあったものの、いくつかの事情によりしばらくなかなか技術選定されな

    async対応版Rocket、v0.5を試してみる - paild tech blog
  • Rustでsqlxを使ってRDBMSに接続する

    はじめに こんにちは。現在、僕はRustでアプリケーションを実装するために必要な個別のトピックについてひとつずつ学習を進めています。前回は、RustgRPCを実装するサンプルを書いてみた という記事を書きましたが、今回はDB接続を扱います。DB接続に関するRustのライブラリにはいくつか有力な選択肢があるようです。今回はその中の一つであるsqlxを取り上げます。 メモとしてざっくり調べた有力候補のライブラリについて簡単に記録しておきます。 Diesel : GitHubのスター数から見るに最も著名なORMのように思われます。 sqlx : スター数はDieselとほぼ横ばいです。非ORM。 SeaORM : sqlx上に構築されたORMらしいです。そこそこのスター数です。 ormx : SeaORM同様sqlxで実装されているようです。 ※スター数については2023年8月時点のものです

    Rustでsqlxを使ってRDBMSに接続する
  • Rust大好きっ子のためのデータベース考

    経緯 趣味プロジェクトとしてRustをサーバーサイドに採用したWebアプリケーションをぼんやり考えています。その過程で、データベースのチョイスについてかなり悩んだので、一度ここでまとめておきます。 前提 データベースに入れるデータは ・ユーザーデータ(名前、メールアドレスなど) ・アイテムデータ(ユーザーが登録するもの。アイテム名、更新時間など) といったごく一般的なものを考えます。 サーバーサイドのフレームワークは、actix-web…で考えていましたが、最終的には非同期ランタイムとしてtokioを使うaxumにしました(理由は後述)。 また、データ量やアクセス頻度については仮定をおきません。巨大なデータを扱うということになれば、おそらくその時点でかなり候補が絞られることになるかと思いますが、今回は運用面でのパフォーマンスの差については扱わないものとします。 特に今回は「趣味」なので、趣

    Rust大好きっ子のためのデータベース考
  • 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 は何が嬉しいか
  • Tracingを用いたRustのロギング理解の図とメモ

    Rustでそれなりにちゃんとしたロギングをしようと思いtracingを調べた結果の理解図やサンプルコード等を備忘のため残しておきます。ただバージョンが1未満なので実装は色々変更されるかもしれません。[tracing 0.1.40, tracing-subscriber 0.3.18] 私の理解が解説のように書かれていますが、便利ツールとして使用するだけであればこの認識で問題なさそう、というような内容のため厳密性はありません。Quick startのコードがdocs.rsに載ってなかったり、必須コンポーネントのSubscriberが別クレートになってたり、色々な方法が提供されており逆に混乱したりでそれなりの理解にすらなかなか時間がかかりました。 概要 前提 use tracing::{event, span, Level}; fn main() { tracing_subscriber::f

    Tracingを用いたRustのロギング理解の図とメモ
  • Rustでオブザーバビリティを実現するには - paild tech blog

    お手伝いの@helloyukiです。最近tokioの提供するtracingに関していろいろ調べごとをしました。こうしたクレートを十分に使いこなすにはどうすればいいかを考える上で、自分なりに考えがまとまってきたので記事にしたいと思います。 なお、筆者はRust以外のプログラミング言語でのオブザーバビリティ関連の事項についてはまったくわかりません。Rust以外の事情は考慮しない記事となっている点にご注意ください。 目次 tracingとは オブザーバビリティ、テレメトリ、構造化ログ オブザーバビリティ テレメトリ 構造化ログ tracingを使う 核となる概念を掴む スパン、イベント、サブスクライバを使ってみる 実際のWebアプリケーションで使用する Tips フィールドの設定 構造化ログと非構造化ログの切り替え まとめ 参考 tracingとは tracing is a framework

    Rustでオブザーバビリティを実現するには - paild tech blog
  • RustのWebフレームワークで実現する“爆速アプリ開発” 「こういうのやりたい」がすぐできる、actix-webの活用 

    ウェブアプリケーションをRustで開発している、株式会社estie。今回開催された「Rust、何もわからない…」では、実サービスで活用されているRustについて、その活用方法の事例を紹介しました。estieでアルバイトとしてRustを用いたウェブアプリの開発に取り組んでいるkenkoooo氏。「actix-web」の活用について発表しました。 アジェンダの紹介 kenkoooo氏:では僕、kenkooooが「actix-webで快適Webアプリ生活」というタイトルで発表します。よろしくお願いします。 (スライドを示して)今日発表したいことは、actix-webというRustのWebフレームワークが、どれだけ使いやすいかということです。それから、これは立ち入った話なのですが、actix-webのミドルウェアという機能があって、それも今estie(株式会社estie)でけっこう使っているので、

    RustのWebフレームワークで実現する“爆速アプリ開発” 「こういうのやりたい」がすぐできる、actix-webの活用 
  • Rust by Example 日本語版が公式に公開されるまで

    はじめに 2024/07/25 にリリースされた Rust 1.80.0 にて Rust by Example の日語版が公式に公開されました。画面右上にある地球儀のアイコンから日語を選択可能になっています。 この取り組みを始めたのは2023年の10月頃だったのですが、さまざまなレビュー待ちやRustにおけるドキュメント公開フローをよく分かっていなかったことによる失敗もあり、最終的には1年近くかかってしまいました。 Rustはコンパイラの開発などかなり良くドキュメント化されている(Rust Compiler Development Guide)のですが、ドキュメントの管理についてはほとんど資料がなく、Zulip で聞かないと分からないようなこともありました。 この記事ではこの1年でやってきたことを時系列で書いていきます。Rustのドキュメントに貢献したい人には参考になる部分があるかもし

    Rust by Example 日本語版が公式に公開されるまで
  • Rust 1.80を早めに深掘り - あずんひの日

    日7/26(金)にリリースされたRust 1.80の変更点を詳しく紹介します。 もしこの記事が参考になれば記事末尾から活動を支援頂けると嬉しいです。 7月25日は蒸気機関車が初めて走った日 ピックアップ 遅延初期化されるグローバル変数を書けるようになった Optionの値を条件を満たしたときだけ取り出せるようになった スライスをパニックなしに分割できるようになった 配列を含むスライスを一次元化できるようになった パターンとして終端の含まれない範囲を使えるようになった useなしにsize_of等が使えるようになった 安定化されたAPIのドキュメント LazyCell サンプル LazyLock サンプル Duration::div_duration_f32 サンプル Duration::div_duration_f64 サンプル Option::take_if サンプル Seek::se

    Rust 1.80を早めに深掘り - あずんひの日
  • これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT

    2024/07/27 TechRAMEN 2024 Conference 概要: 私にとって何番目の言語になるかはもう数えていませんが、昨年 Rust を学び、 OSS の開発ができるところまでやってきました。私はそれまで Rust の学習に何度か挫折しており、今回ようやくその壁を乗り越えたので…

    これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
  • 満を持して始めるRust

    Developers Summit(デブサミ) 9-B-9 02/09 17:45 ~ 18:25 「満を持して始めるRust」kenkoooo RustC++の代替となることが期待されていることから、低レイヤ向け言語という印象を持っている方も多いかもしれません。しかし、Rust 1.0のリ…

    満を持して始めるRust
  • ScalaだけではなくGo/Rustもやっていくぞというお話|かとじゅん(j5ik2o)

    こういうつぶやきをした。書いたまんま。ScalaというよりJVMがしんどいって話。Scala Nativeに希望を見出せるだろうか… あ、誤解がないように書いておくと、Scalaを辞めるという話ではない。仕事は普通にあるのでScalaは使っていく(Scala3もやると思う) Scalaについては、2019年ぐらいが潮目だったのかもしれないなと。 グーグル・トレンドをみると、2014年ぐらいからGoの検索ボリュームが伸びていてScalaより増えている。Goの勢いがすごい。KotlinAndroid公式言語に採用されたのは2017年。2019年ぐらいからKotilnとScalaの検索ボリュームが反転して、ScalaよりKotlinのほうが多くなっている。まぁ比較すると相関があるとミスリードしがちなんで要注意だけど、なんにしも2019年ぐらいからScalaの検索ボリュームがだいぶ減ってきている

    ScalaだけではなくGo/Rustもやっていくぞというお話|かとじゅん(j5ik2o)
  • AWS活用の自由度を上げる「Lambda」を「Rust」で活用 メモリの使用量を抑えつつ、プログラムの作成も簡単に

    AWS活用の自由度を上げる「Lambda」を「Rust」で活用 メモリの使用量を抑えつつ、プログラムの作成も簡単に RustAWS で活用しよう! 原氏の自己紹介 原旅人氏:じゃあ始めます。私、株式会社ログラスでクラウドエンジニアというタイトルでやっている、原と申します。このたびは、このようなところに呼んでいただきありがとうございます。 今日は、「RustAWSで活用しよう!」と。「AWS」って、実は「Lambda」の話なんですが、こういったことで話をしようと思います。 自己紹介は先ほどしていただいたので、ほぼ省略です。(スライドを示して)実は松さん(松健太郎氏)と私はここに書いてある検索エンジンの会社で一緒に働いていて、私がRustをやるきっかけを作ってくれたのも、実は司会者の松さんです。 株式会社ログラスについて 今はログラスという会社にいて、クラウドエンジニアという名前

    AWS活用の自由度を上げる「Lambda」を「Rust」で活用 メモリの使用量を抑えつつ、プログラムの作成も簡単に
  • Rustの学び方

    はじめに Rustを学んでいる最中です。完全に理解したとは全く言えない状態ですが初心者は脱しつつあり、それなりに知見が蓄えられつつあります。 そこで、学習の流れを振り返ることにしました。何をどのような順序で学んだらスムーズに理解が深まるか、自分なりにまとめてみたので学習の手助けとして、ひとつの参考になれば幸いです。 具体的な学習の資料や書籍は後ほど紹介します。 目標 IDEの補完や生成AIを全く利用せず、コードを読み書きできる状態を目指します。具体的にはメモ帳・rustc(Rustコンパイラ)・cargoRustのパッケージマネージャ)の3つがあればコードの読み書きができる状態を目指します。 極端に思えるかもしれませんが、自力でコードを読み書きできることはRustのコンセプトに習熟するのと同義であると考えています。Rustの言語機能はGCなしでメモリ安全を実現し、かつコンピュータの性能を

    Rustの学び方
  • これからRustを勉強したいエンジニアにおすすめしたい参考書や教材を紹介します

    こんにちは、加藤(@tomo_k09)です。 PharmaXではバックエンド・フロントエンド開発やスクラムマスターなどをやっています。 PharmaXが提供しているサービスでは、バックエンド開発に主にRuby on Railsが使われていますが、一部の機能はRustで開発されています。 このような理由からRustの経験が浅かった私もコツコツとRustの勉強をしており、 少しずつ学習方法に関する知見が溜まってきました。 そこでこの記事では、Rustをこれから学びたいという方向けに、おすすめの書籍や教材について紹介します。 新しいプログラミング言語はどのように学ぶと良いか 私は新しい言語を学ぶとき、まず基的な文法やどんな特徴を持った言語なのかをひと通り勉強しています。 そしてその言語の概要をつかんだあと、実際に簡単なアプリケーションの実装をはじめて、分からないことがあったらリファレンスを読ん

    これからRustを勉強したいエンジニアにおすすめしたい参考書や教材を紹介します