タグ

rustに関するhiro14akiのブックマーク (18)

  • Rustで作るテトリス風ゲーム入門

    書では落ち物パズルゲームとして有名なテトリス風ゲームの開発を通してRust言語を学ぶことを目的としています。 テトリスを知らない方でも問題なく読み進めることができます。 先ずは理解しやすいコードでシンプルな落ちものパズルゲームを実装し、後にリファクタリングや機能追加、自動化をしていく流れで構成されています。 テトリスにも様々な種類がありますが書ではCUIでワールドルールを参考にして完成を目指します。

    Rustで作るテトリス風ゲーム入門
  • Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog

    Rustの勉強に良さげな学習リソースをまとめます。 はじめに Rust学習リソースまとめ The Rust Programming Language Tour of Rust Rust by Example The Rust Reference The Cargo Book Crate docs Rust API Guidelines Rust Design Patterns The Rustonomicon Secure Rust Guidelines Command line apps in Rust おわりに 参考 はじめに こんにちは、@bioerrorlogです。 最近、Rustを触り始めました。 多様な領域で盛り上がりを見せているRustですが、私は最近ハマっているブロックチェーンのエコシステムでRustが使われることが直接の理由となり、Rustに入門しました。 Rustは学習

    Rustの良質な学習リソースをまとめる - BioErrorLog Tech Blog
  • Introduction - Rust By Example 日本語版

    Rust by Example 日語版 Rust は安全性、速度、並列性にフォーカスした現代的なシステムプログラミング 用のプログラミング言語です。 ガベージコレクション無しでメモリ安全であることが、これを可能にしています。 Rust by Example(RBE)はRustの実行可能なサンプルスクリプト集で、ここではRustの様々な コンセプトと標準ライブラリを紹介していきます。 この例をより活用するためにはRustをローカルにインストールし、公式ドキュメントをチェックすることをおすすめします。 興味がある方はこのサイト自体のソースのチェックもどうぞ。 訳注: 日語版のソースコードはこちらにあります。 それでははじめましょう! Hello World - お決まりのHello Worldプログラムから始めましょう。 基データ型 - 符号付き整数や符号無し整数、その他の基データ型に

  • 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の文法を学ぶ - Qiita

    https://doc.rust-jp.rs/book/second-edition/ を読みながらRustを触っているので、基的な文法をまとめていきます。所有権, 参照, ライフタイムなどは割愛します。 ソースコードはRust 1.38.0で動作確認しています。 変数 // immutable let num1 = 1; // mutable let mut num2 = 2; num2 = 4; //shadowing let num3 = 3; let num3 = "3";

    Rustの文法を学ぶ - Qiita
  • 6x6リバーシの神 - まめめも

    絶対に勝てない6x6リバーシを作りました。あなたは黒番、AIが白番です。 絶対に勝てない6x6リバーシを作りました! ぜひ挑戦してみてくださいhttps://t.co/Ul5n3q9jMp— Yusuke Endoh (@mametter) December 30, 2021 これは何? 6x6の盤面のリバーシは後手必勝 *1 であることが知られています。 このAIは白番(後手)で完璧にプレイします。つまり黒番のあなたは絶対に勝てません。無力感を楽しんでください。 技術的な話 このAIWebAssemblyになっているので、全部あなたのブラウザの上で動いてます。真のサーバーレスです。 AIのソースコードはRustで書きました。わりと堅実なゲーム木探索になってます。UIは普通にTypeScriptとthree.jsで実装しました。 github.com 作った順に説明します。 盤面の表現

    6x6リバーシの神 - まめめも
  • Rust開発時の便利ツールたち

    前書き Rustを書くときに便利なツールをまとめた記事が無い気がしたので作成。(ちゃんと探してないので既にあるかも) 公式ツール cargo パッケージマネージャ 基だけどとても便利なツール 一度はThe Cargo Bookを読んでおくことを推奨。 rustfmt フォーマッター cargo fmt でもフォーマットの修正が出来る。(こっちを使うことが多い) clippy lintツール こう書いたほうが良いよという提案もしてくれるので便利。 cargo clippy --fix を使うと自動で直してくれる。 rust-analyzer Language Server rls もあるが、(最近は?) rust-analyzer の方がメジャーな気がする。 追記 : RLSは非推奨になりました。RLS Deprecation 非公式ツール cargo-watch ソースコードの変更を検知

    Rust開発時の便利ツールたち
  • Rust を始めるための資料集 - Don't Repeat Yourself

    かとじゅんさんのお誘いで、私塾匠真堂にて登壇させていただき、Rust に関する話をさせていただきました。ありがとうございました。 今回のセッションを通じて Rust を始めたくなった方向けに、Rust をはじめるための資料をいくつかリストアップしてます。よかったらどうぞ。 プログラミング言語の学習方法について Rust についてまず概観を掴む 文法を学ぶ 何かアプリケーションを実装してみる ちょっと突っ込んだ話を知りたい コミュニティの力を借りる 仲間を見つける 更新履歴 プログラミング言語の学習方法について みなさんは新しいプログラミング言語を学ぶ際、どのように学びますか? 私は、軽く制御構文やデータ型の作り方などを学んだ後は、すぐにアプリケーションを作ってみて、詰まったらリファレンスを参照するといった学び方をしていることが多いです。 逆に、リファレンスをまず眺めて、文法をしっかり把握し

    Rust を始めるための資料集 - Don't Repeat Yourself
  • RustとLambdaの相性が良い7つの理由 〜RustでLambdaをやっていく〜

    この記事はRust 2 Advent Calendar 2020 - Qiitaの6日目の記事です。 AWS re:Invent 2020、初のオンライン開催ですが盛り上がってますねー 毎日ありえなくらいのアップデートが発表されて興奮の日々を送っています。 しかし、さすがクラウドのシェアNo.1のAWS、王者の貫禄というか凄みを感じます。 さて今回はその盛り上がりの勢いを借りて私の大好きなRustを盛り上げたいと思い筆を執りました。RustLambdaは相性抜群という話を書いてみたいと思います。 RustLambda まずはRustLambdaの簡単な紹介です。 Rustは2020年のStack Overflowの調査で 5年連続で開発者から最も愛されているプログラミング言語 になりました。GCを採用しない等の工夫でメモリ効率が高く、豊かな型システムと所有権モデルでメモリ安全性を保証

    RustとLambdaの相性が良い7つの理由 〜RustでLambdaをやっていく〜
  • RustでつくるGit入門

    Gitの仕組みを学び、Rustで実装する内容をまとめました。 Gitの仕組みの部分は無料公開されています。

    RustでつくるGit入門
  • ISUCONに向けてRustでのリハーサルを実施した。採用したRustのライブラリなど - でこてっくろぐ ねお

    ISUCONでRustで参加する同胞達や、Rustの参考実装を書く人の参考に少しでもなればとこのエントリを書いてます。(いや実際全然わからないのでもっといいの教えて!ってのもあります。はい。) 今年のISUCONはRustで戦います。 なぜなら、私はRustが好きだからです。 ISUCON、Trust Rustというチーム名で参加登録しました。Rustを信じろ!!!!!!!!!!!!— でこくん (@dekokun) July 10, 2020 しかし、私含めてチームメンバー全員がRustでWebアプリを書いたことがなかったため、毎週ミーティングを行いRustの勉強としてやることを宣言して1週間後に進捗報告をしまたやることを宣伝する、ということを繰り返しています。 ただそれだけではチーム全員で動くISUCONの訓練としては弱いので、ISUCONを模したリハーサルをしてみました。 お題 お題

    ISUCONに向けてRustでのリハーサルを実施した。採用したRustのライブラリなど - でこてっくろぐ ねお
  • Discord Blog

    From Blocky to Brilliant: Improving Video Quality on Discord Go Live on AMD GPUs

    Discord Blog
  • 二分木 - Rustではじめるデータ構造とアルゴリズム(第1回)

    Rustの特徴のひとつは、所有権(ownership)・移動(move)・借用(borrow)の概念です。これらがコンパイル時に厳格にチェックされることにより、古くから未定義挙動でプログラマを悩ませてきたダングリングポインタなどの問題がなくなり、メモリ安全性がもたらされます。 しかし一方で、自分で多少複雑なデータ構造を定義しようとする場合にはコンパイルを通すだけでもかなりの知識・力量が要求されます。 この(不定期)連載では、 Rustではじめるデータ構造とアルゴリズム と題し、プログラミングコンテストなどでよく見かける基礎的なデータ構造とアルゴリズムを、できるだけシンプルにRustで実装していきます。 &, &mut, Box, Rc, Cell, RefCell などの使い分けや、なぜそれを使う必要があるかの解説を、実例を通して行います。 第1回は、最もシンプルな木構造である 二分木 を

    二分木 - Rustではじめるデータ構造とアルゴリズム(第1回)
  • ライフタイム

    注意: 最新版のドキュメントをご覧ください。この第1版ドキュメントは古くなっており、最新情報が反映されていません。リンク先のドキュメントが現在の Rust の最新のドキュメントです。 ライフタイム このガイドはRustの所有権システムの3つの解説の3つ目です。 これはRustの最も独特で注目されている機能です。そして、Rust開発者はそれについて高度に精通しておくべきです。 所有権こそはRustがその最大の目標、メモリ安全性を得るための方法です。 そこにはいくつかの別個の概念があり、各概念が独自の章を持ちます。 キーとなる概念、 所有権 借用 、そしてそれらに関連する機能、「参照」 今読んでいる、ライフタイム それらの3つの章は関連していて、それらは順番に並んでいます。 所有権システムを完全に理解するためには、3つ全てを必要とするでしょう。 概論 詳細に入る前に、所有権システムについての2

  • 安全なシステムプログラミング言語Rustへの招待 | κeenのHappy Hacκing Blog

    # 安全なシステムプログラミング言語Rustへの招待 ---------------------- [IIJ Labセミナー](https://iijlab-seminars.connpass.com/event/152079/) === # About Me --------- ![κeenのアイコン](/images/kappa.png) * κeen * [@blackenedgold](https://twitter.com/blackenedgold) * Github: [KeenS](https://github.com/KeenS) * GitLab: [blackenedgold](https://gitlab.com/blackenedgold) * [Idein Inc.](https://idein.jp/)のエンジニア + 2年半くらい仕事Rustを書いている

  • Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG

    こんにちは、R&Dチームの齋藤(@aznhe21)です。 さあみなさん、ついにこの時がやってまいりました。 日2019/11/8にリリースされたRust 1.39により、あらゆる環境で最高速な非同期プログラミングが可能になりました。 新たな時代に乗り遅れないよう、今のうちにRustでの非同期プログラミングをマスターしておきましょう。 なお、この記事は、先日開催したOPTiM TECH BLOG Meetupの内容を大幅に加筆修正した上でエントリに仕上げたものです。 まず最初に伝えたいこと 非同期の歴史 Rustの非同期プログラミングの歴史 Rust 1.0以前 Rust 1.0 〜Rust 1.3 Rust 1.2あたり Rust 1.11あたり Rust 1.26あたり Rust 1.36 Rust 1.39 Rustの非同期プログラミングの特徴 ゼロコスト抽象化 プラットフォーム非依

    Rustの非同期プログラミングをマスターする - OPTiM TECH BLOG
  • ターミナル用 UTF-8 テキストエディタを Rust でスクラッチからつくった - はやくプログラムになりたい

    言語処理系やテキストエディタなどのプログラミングツールが好きなので,その周辺を趣味で触ってます.VimWasm にポートするために Vim の実装を読んだりはしているのですが,フルスクラッチでテキストエディタをつくったことはありませんでした. 今年のお盆はめちゃ暑かったので,引きこもって夏休みの自由工作的に Rust でテキストエディタをつくっていたという話です.普段ターミナルで作業しているので,つくるのもターミナル向けテキストエディタです.最近 vim.wasm で C と TypeScript ばかりだったので,そろそろまた RustGo を書きたかったのですが,Go はすでに micro という良さそうなテキストエディタ実装があったので,Rust で書いてみることにしました. まずは Build Your Own Text Editor というガイドを利用して,1000行

    ターミナル用 UTF-8 テキストエディタを Rust でスクラッチからつくった - はやくプログラムになりたい
  • Rustの並列タスクモデルのメモ - saneyuki_s log

    「メモリ安全性と並列実行性に注目した言語」と語られる割に、メモリ安全性はともかく、どのようにRustの並列実行モデルが成り立っているのかについて語られる事が殆どない気がしたので、Rust Tasks and Communication Tutorial を大雑把ながら読み解いていくことで、Rust 0.7での並列モデルを探っていきたいと思います。 尚、サンプルコードはチュートリアルのものを元に一部改変を加えて使用してます Rustにおける並列実行モデル 実行されるRustプログラムは、それぞれがスタックと独自に所有権を持つヒープが割り振られた、タスクツリーによって構成される Rustにおける並列実行モデルは、軽量かつメモリ独立したタスクと、それらの相互のメッセージ通信によって成り立っている。 Rustにおけるタスクはスレッドではない。細かく分割されたタスクを、Rustの内部スケジューラによ

    Rustの並列タスクモデルのメモ - saneyuki_s log
    hiro14aki
    hiro14aki 2019/02/26
    並列モデル
  • 1