並び順

ブックマーク数

期間指定

  • から
  • まで

481 - 520 件 / 3471件

新着順 人気順

rustの検索結果481 - 520 件 / 3471件

  • Improving GitHub code search

    EngineeringProductImproving GitHub code searchToday, we are rolling out a technology preview for GitHub code search, the next iteration for search, discovery, and navigation on GitHub. Today, we are rolling out a technology preview for substantial improvements to searching code on GitHub. We want to give you an early look at our efforts and get your feedback as we iterate on helping you explore an

      Improving GitHub code search
    • GitHub - ibraheemdev/modern-unix: A collection of modern/faster/saner alternatives to common unix commands.

      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 - ibraheemdev/modern-unix: A collection of modern/faster/saner alternatives to common unix commands.
      • Rustの新しいWEBフレームワークaxumを触ってみた

        axum version0.2.0 is released!! 本日2021-08-24、axum version0.2.0がリリースされました。 この記事のコードを参考にする場合はバージョンによる違いに注意してください。 2021-08-14追記 axum 0.1.2, 0.1.3のリリースによりこの記事の一部の記述は古いものとなりました。 この記事に関わる変更は以下です。 多くのextractorが Deref を実装した axum が hyper::Server をre-exportするようになった extract::UrlParams と extract::UrlParamsMap が非推奨となり、 extract::Path が推奨されるようになった axum 0.1.3対応版のコードは https://github.com/techno-tanoC/axum_sample/tr

          Rustの新しいWEBフレームワークaxumを触ってみた
        • グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影

          米Google(グーグル)が2021年4月、AndroidやLinuxカーネルを開発するプログラミング言語に「Rust」を採用すると明らかにした。Rustの採用は米Microsoft(マイクロソフト)もWindows OS開発で進める。CやC++の独壇場だったOS開発に、2015年に「バージョン1」になったばかりの新世代言語であるRustが採用される背景には、サイバー戦争の深刻化がある。 グーグルは2021年4月6日(米国時間)に、Android OSの開発言語にRustを採用すると発表した。また同社は8日後の2021年4月14日(同)に、Linuxカーネルの開発にRustが適していると公式ブログで主張すると共に、Linuxカーネル開発へのRustの採用を目指す団体である「Rust for Linux」に参加したことを明らかにしている。 マイクロソフトはグーグルよりも早い2019年7月の時

            グーグルやMSが「Rust」言語でOS開発、背景に国家による諜報活動の影
          • eBPFでDockerの--passwordで入力したパスワードを盗む | κeenのHappy Hacκing Blog

            κeenです。以前の記事の続きで、 /proc を監視するのではなくeBPFで取得してみます。ついでにRustのコードをeBPFで動かせるライブラリのayaも使ってみます。 以前の記事では /proc 以下の監視をビジーループで回すという力技で新しく作られたプロセスを補足していました。これだとCPU使用率が上がって美しくありませんし、何より原理的には見逃しもありえてしまいます。そこでカーネルの機能を使って全てのプロセスの作成を監視して低CPU使用率かつ捕捉率100%の実装を目指します。 eBPFとは? なんかLinuxカーネルでユーザの書いたコード動かせるやつです。私は説明できるほど詳しくないので適当にググって下さい。 1つやっかいな点として、独自のバイナリを動かすのでカーネル内で動かすコードはコンパイラがeBPFに対応したものでないといけません。また、カーネル内で動かすコードをユーザラン

              eBPFでDockerの--passwordで入力したパスワードを盗む | κeenのHappy Hacκing Blog
            • GoのWASMがライブラリではなくアプリケーションであること - 株式会社カブク

              はじめに がんばって書いた書籍が低評価で少々しょんぼりしているあんどうです。まぁ、つい力が入りすぎて袋小路に思い切り突っ込んだ結果抜けられなくなることってあるよね。あるある。そんなわけで今日はできるだけ力を入れずテンション低めにサクッと行きます。 で、GoのWASM。大道の真ん中をまっすぐに歩まれているみなさんはWASMするときはRustかいっそC/C++をemscriptenでってことになると思いますが、私はしょせん路傍の石の下で低評価が目に入らないように丸まっているダンゴムシ。せっかくだからオレはこのGoでWASMを選ぶぜって感じなんですが、ぶっちゃけあれ、めんどくさいすよね。 あ、ちなみに今回の話は「このめんどくささをまるっと解決!」みたいな気持ちのいい話ではなくて、ただただ「めんどくさいよね」っていうだけの話です。あーめんどくさい。 Rustの場合 まず比較のためにRustの例をあ

                GoのWASMがライブラリではなくアプリケーションであること - 株式会社カブク
              • 『実践Rustプログラミング入門』を書きました - Don't Repeat Yourself

                すごく今更感がありますが、先週末出版しました。 私のプライベートがとても忙しくしばらく書けませんでした。書籍を書きましたのでご報告です。 実践Rustプログラミング入門 作者:初田 直也,山口 聖弘,吉川 哲史,豊田 優貴,松本 健太郎,原 将己,中村 謙弘発売日: 2020/08/22メディア: 単行本 ちなみに、著者、まだ現物を受け取っていません。書店で現物を触りたいなと思って見に行きましたが、今週末は在庫切れで本屋さんにありませんでした。 電子書籍は調整中です。 私の担当は1章、3章の一部、11章の一部です。 他の共著者のみなさんの記事 (2020/09/22 追記) 共著なのにこの記事のタイトルを「書きました」としてしまったので、私もだぞ、とみなさんがタイトルで煽ってきています(違 私も『実践Rustプログラミング入門』を書きました - matsu7874のブログ 私だって『実践R

                  『実践Rustプログラミング入門』を書きました - Don't Repeat Yourself
                • RustでWebアプリケーションを作る - CADDi Tech Blog

                  はじめに はじめまして、キャディでバックエンドエンジニアとして働いている高藤です。 キャディではRustを使ったバックエンドAPIを実装しています。業務ではgRPCサーバを実装していますが、今回はRustを利用した簡単なWebアプリケーションを作成し意外と簡単にAPIサーバが作れる事を紹介させていただきます。 今回はまだRustを触ったことない方でも記事を読み、ちょっとRustやってみようかなと思ってもらえたら幸いです。 前提 Rustの言語仕様など基本的な説明は省略させていただきます。Rust未経験であれば、是非公式のドキュメントを読んでください。 https://doc.rust-lang.org/book/ 有志による日本語訳 https://doc.rust-jp.rs/ 作るもの 今回はまず単純にHTTP RequestをするとJSONを返すサーバを実装を行います。 環境 ❯ r

                    RustでWebアプリケーションを作る - CADDi Tech Blog
                  • Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話 - Qiita

                    Rust を勉強し始めたので冬休みの間に Linux の boot protocol を喋る x86ブートローダー(自称:Krabs)を作ってみました。この記事では、開発に至った動機や、作成した Krabs の特徴とか仕組み、開発中におきた嬉しかったことなどについて書きたいと思います。 Krabs とは Krabs は、Rustで書かれた x86/x86_64(Legacy BIOS) 向けの4段ロケット構成のチェインローダーです。 bzip2 で圧縮された ELF 形式のカーネルを起動できます。bzip2 圧縮されたイメージを解凍して、次に展開してでてきた ELF イメージを再配置してからの、カーネルの起動となります。 内部では libbzip2 の C ライブラリを利用していますが、それ以外は全て Rust で記述されています。 GitHub - o8vm/krabs: An x86

                      Rust で vmlinux を起動できる x86 ブートローダーを作ってみた話 - Qiita
                    • RustのPinチョットワカル - OPTiM TECH BLOG

                      こんにちは。 先日、しばらく不動の一位を守ってきたRustをVSCodeで使う記事を抜き、 私の書いた非同期プログラミングの記事の記事が一番人気になったと思いきや数日でまた抜き返されて傷心中の、 R&Dチームの齋藤(@aznhe21)です。 さて、Rustの非同期プログラミングで時々Pinを使ったり、コンパイラにUnpinが不足していると怒られたりしませんか? そんな時によく分からずuseしたり別の手段を取ったりしていませんか? 今回、このままではマズいと思ってPinを勉強して完全に理解しましたので、その成果を皆さんと共有したいと思います。 更新履歴 03/10 指摘を受け下記2点を修正しました Unpinを実装しない型もムーブ出来ることへの言及 pin-projectクレートが安全であることによる書き換え 対象読者 この記事は下記全てに当てはまる人を想定して執筆しています。 Rustのト

                        RustのPinチョットワカル - OPTiM TECH BLOG
                      • Deno 1.9.0 がリリースされたので新機能や変更点の紹介

                        Copyright (c) 2018-2021 the Deno authors. MIT License. 日本時間の今日(2021 年 4 月 14 日)に Deno の v1.9.0 がリリースされました。 詳細なリリース内容は上記のリリースノートにまとまっていますが、ざっと紹介していきたいと思います。 ネイティブ HTTP/2 Webサーバー serde_v8 による Rust 呼び出しの高速化 Blob URLのサポート LSP で import の補完ができるようになった --allow-env と --allow-run で許可対象を指定できるようになった インタラクティブなパーミッションプロンプト Deno.listenTls で ALPN をサポート ファイルシステムに関するいくつかのAPIの安定化 いくつかのAPIを Deprecated 化 (std 配下に移動) T

                          Deno 1.9.0 がリリースされたので新機能や変更点の紹介
                        • Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno vs .NET 6

                          This is part of my "Concurrency in Modern Programming Languages" series Concurrency in modern programming languages: IntroductionConcurrency in modern programming languages: RustConcurrency in modern programming languages: GolangConcurrency in modern programming languages: JavaScript on NodeJSConcurrency in modern programming languages: TypeScript on DenoConcurrency in modern programming languages

                            Concurrency in modern programming languages: Rust vs Go vs Java vs Node.js vs Deno vs .NET 6
                          • Rust と WebAssembly で爆速な Markdown Editor を作ってみる

                            TypeScript でフロントエンドな皆さん、今日も型パズルしていますか? 型が好きなら Rust ですよね。ということで、いまいち使い所が思いつかない WebAssembly と Rust でなにか面白いことできないかな、と爆速(JS比2倍)の Markdown Editor を作ってみました(面倒な人は直接 GitHub みてください) この記事は iCARE Advent Calendar 2020 の 8日目の記事になります。昨日は アオキタカユキ さんの 【adobe XD】線型、円型のグラデーションを引く方法 という記事でした Webアプリケーションを作る まず、利用する側の Web アプリケーションを作成します どんな構成でもいいんですが、タイミング的にもちょうど良い Vue3 + TypeScript で環境を作りました $ npm install -g @vue/cli

                              Rust と WebAssembly で爆速な Markdown Editor を作ってみる
                            • How Discord Stores Trillions of Messages

                              In 2017, we wrote a blog post on how we store billions of messages. We shared our journey of how we started out using MongoDB but migrated our data to Cassandra because we were looking for a database that was scalable, fault-tolerant, and relatively low maintenance. We knew we’d be growing, and we did! We wanted a database that grew alongside us, but hopefully, its maintenance needs wouldn’t grow

                                How Discord Stores Trillions of Messages
                              • GolangとRustを使い分けるとしたらどのような観点で使い分けますか?

                                回答 (2件中の1件目) Go は GC を使う言語ですので、そもそも利用用途は絞られます。例えばハードウェアのドライバを書くのにはあまり向いていません。以下ではそれ以外の点についてお話します。 プログラムを作る時、完成形に向かって一度もそれることなくコードを書ける人はほぼいません。小さい断片のコードを書き、仮で動かしてみて、それを繋げてプログラムにすると思います。そういった場合の手数がどちらの方が大きいかという点で見るのも良いと思います。 例えば実装途中のコードにパフォーマンス上の問題が見つかり、並行処理をさせたいと思った時に多くのプログラミング言語ですと構造自体を大きく変更しない...

                                  GolangとRustを使い分けるとしたらどのような観点で使い分けますか?
                                • Web フロントエンドエンジニアのための Rust 製 Web フロントフレームワーク Yew 入門

                                  Rust と呼ばれる言語はわりかし新しめの言語であり、2016–2021 年の間 Stack Overflow Developer Survey で「もっとも愛されているプログラミング言語」で一位を獲得し続けている人気の高い言語であります。 Rust の得意とする分野は OS やコンパイラなどのいわゆる低レイヤーの領域ですが、Web サーバー、機械学習、コマンドラインアプリケーションなどさまざまな用途で利用されます。 Web フロントエンドの領域では高速化を目的として Rust から WebAssembly(以下、WASM)を生成して JavaScript から実行する用途がよく知られています。その他にも SWC と呼ばれる Rust ベースで作成されているビルドツールが高速に動作することで注目を集めています。(実際に jestの実行 に試してみたところ実行時間が 3 倍ほどになって驚いて

                                    Web フロントエンドエンジニアのための Rust 製 Web フロントフレームワーク Yew 入門
                                  • Best Rust Web Frameworks to Use in 2023

                                    Best Rust Web Frameworks to Use in 2023 In the dynamic landscape of web development, Rust has emerged as a language of choice for building safe and performant applications. As Rust's popularity grows, so does the array of web frameworks designed to harness its strengths. This article compares some of the best Rust frameworks highlighting their respective advantages and drawbacks to help you make i

                                      Best Rust Web Frameworks to Use in 2023
                                    • なぜ「Rustは難しい言語」とされるのか――習得の難しさとその対策をWebエンジニアが考察

                                      最終回となる今回は、Rustの開発生産性を支える言語機能および難しさにフォーカスを当てて簡潔に紹介します。 開発生産性とはいうものの、この言葉は定義付けをすること自体が難しいです。下記のRust公式が提供するツール群は開発生産性を間違いなく向上させますが、実際に使ってみた方が理解がはかどるのでここでは紹介にとどめます。 Rustコンパイラによるコンパイルエラーメッセージの丁寧さ Docs.rsのドキュメンテーション Cargoによるパッケージ管理(≒Rubyのbundler、JavaScriptのnpm) rust-analyzerによる強力な開発支援(≒インテリセンス) 言語標準のユニットテスト 端的にいえばモダン開発のプラクティスがRustのプロジェクトでもシームレスに利用でき、簡単に開発環境を整えることができます。 下記はプロジェクトファイル(Cargo.toml)の例です。外部ライ

                                        なぜ「Rustは難しい言語」とされるのか――習得の難しさとその対策をWebエンジニアが考察
                                      • Rustのasync/awaitとスケジューラの話 / rust-async-await

                                        Effectで作る堅牢でスケーラブルなAPIゲートウェイ / Robust and Scalable API Gateway Built on Effect

                                          Rustのasync/awaitとスケジューラの話 / rust-async-await
                                        • 趣味でOSS活動をしていたらスポンサーがついた話

                                          これまでの OSS 活動歴 仕事では TypeScript や Go を書いていますが、Rust が大好きすぎて書かずにはいられなくなり、余暇の時間で Rust で書かれた OSS にコントリビュートしています。今までのコントリビュートをいくつか挙げると rust-lang/rust-clippy rust-lang/rust rust-analyzer/rust-analyzer denoland/deno denoland/deno_lint などです。 これらのうち、最も頻繁に、そして継続的にコントリビュートしてきているのが denoland/deno_lint です。 denoland/deno_lint へのコントリビューション denoland/deno_lint は Deno に組み込まれている JavaScript / TypeScript リンターで、Rust で書かれて

                                            趣味でOSS活動をしていたらスポンサーがついた話
                                          • Rust Memory Container Cheat-sheet - Qiita

                                            Repos: https://github.com/usagi/rust-memory-container-cs 文字で読み書きするとやや大変です。しばらく間を開けてRustを触ったりするとスコシ混乱するかもしれません。と、いうわけでRustでメモリーコンテナー系に触れるモードになった時用に1枚絵のチートシートを整理しました。 文字を書けるQiitaにポストするのでちょっとだけチートシートの解説も乗せます。 おまけ解説 Threads; スレッド群 (rev.0 -> rev.1 でこのチートシート上で最初に現れる選択肢に切り替わりました ⇔ Ownership; 所有権) Rustではマルチスレッディング実行の安全性を向上するため、 適当に確保したメモリーをスレッド間でうっかり共有できない(少なくとも簡単にはうっかりできない程度に難しい)仕組みがあります。その仕組みの核心は標準ライブラリ

                                              Rust Memory Container Cheat-sheet - Qiita
                                            • 思考のスピードでコードを書け!!Rust製の次世代エディタ「Zed」

                                              はじめに 周りとは一味違ったツールを使いたくなるお年頃、皆さんも経験されたことがあるかと思います。 え、ない? 今回は「Code at the speed of thought(思考のスピードでコードを書く)」というキャッチコピーを掲げているエディタ「Zed」を発見したので紹介していこうと思います。

                                                思考のスピードでコードを書け!!Rust製の次世代エディタ「Zed」
                                              • iOSでもAndroidでもない新たなOS「BlueOS」ってどんなOS?

                                                iOSでもAndroidでもない新たなOS「BlueOS」ってどんなOS?2023.11.07 16:00266,365 湯木進悟 新たなワールドへ? 世界のスマートフォンって、基本的にはiOSのiPhoneかAndroidスマホの二択ですが、そこに新しい波がやってきました。 BlueOSという新ワールドGizChinaは、中国のスマホメーカーのVivoが、独自に開催した2023 Vivo Developer Conferenceにおいて新たなBlueOSの発表を行なったと報じました。 これまでVivoは、AndroidをベースにカスタマイズしたOriginOSをスマホやタブレットに載せて発売してきました。ところが、BlueOSは、Rustというプログラミング言語をベースにした、Androidとは別物のOSです。 Vivoは、BlueOSを搭載する初のデバイスとしてスマートウォッチの「Vi

                                                  iOSでもAndroidでもない新たなOS「BlueOS」ってどんなOS?
                                                • Rewritten in Rust: Modern Alternatives of Command-Line Tools · Zaiste Programming

                                                  Shell is the essential tool for every programmer. The more familiar you become with the available tools, the more efficient you can be with using your computer. Here's a list of command-line tools written in Rust that aim to provide modern, often much faster, alternatives to the existing shell commands. bat bat is a cat clone with syntax highlighting and Git integration that works on Windows, MacO

                                                    Rewritten in Rust: Modern Alternatives of Command-Line Tools · Zaiste Programming
                                                  • Rust のパフォーマンスに何が影響を与えているのか - Qiita

                                                    動機 The Rust Performance Book という書きものを見つけました。いろいろなパフォーマンス改善テクニックが書かれているわけですが、実際に普段書いてる Rust コードの中で一体何がパフォーマンスに与える影響が大きいのか?という点が気になってベンチマークを取ってみました。 今回パフォーマンスを計測するプログラムはビットマップ画像(1600px x 1200px)をグレースケールに変換する処理です。I/O のパフォーマンスは無視します。&[u8]から RGB をそれぞれ 1byte ずつ(合計 3bytes)取ってきて、それをグレースケールの 1byte に変換してVec<u8>にする時間を計測します。イメージとしては下記のような関数です。 // source が カラーのビットマップ画像のデータ fn sample(source: &[u8]) -> Result<Ve

                                                      Rust のパフォーマンスに何が影響を与えているのか - Qiita
                                                    • 日本語が使える、Rust製の全文検索エンジン「Bayard」を試してみた!! - 虎の穴開発室ブログ

                                                      こんにちは、虎の穴ラボの古賀です。 みなさま、全文検索エンジンを使っていますか? クラウドだと「Amazon Elasticsearch Service」や「Azure Cognitive Search」など、さまざまな選択肢があると思います。 今回は、虎の穴ラボの社内のWebツールに導入できそうな、簡易的な全文検索エンジンにどのようなものがあるか調べた際に見つけた、「Bayard」という全文検索エンジンを試してみました。 「Bayard」は、Rust製の高速かつ軽量で日本語の全文検索ができる検索エンジンです。導入手順が比較的簡単で、Webツールの検索機能の改善に使えそうです。 Bayardとは? Bayardは、Raft Consensus Algorithm と gRPC を実装する、 Rustで記述された全文検索およびインデックス作成のサーバーです。 Tantivy(Rust製 全文

                                                        日本語が使える、Rust製の全文検索エンジン「Bayard」を試してみた!! - 虎の穴開発室ブログ
                                                      • サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ

                                                        サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ WebAssemblyランタイム「Wasmer」の開発元として知られているWasmer社は、新しいサーバサイドのJavaScriptランタイム「WinterJS」を発表しました。 Announcing WinterJS: a blazing-fast Javascript Service Workers server written in Rust powered by SpiderMonkey ❄️https://t.co/kX7jjJj6qv — Wasmer (@wasmerio) October 27, 2023 WinterJSはRustで書かれた高速なService Workerサーバであり、オープンソースとして公開さ

                                                          サーバサイドのJavaScriptランタイム「WinterJS」登場。Rustで書かれ、WebAssembyにコンパイル可能なService Workerサーバ
                                                        • Rustの std::sync::RwLock はLinuxでwriter starvation問題を起こす (macOSなら平気)

                                                          まとめ: std::sync::RwLock::{write(), try_read()} を併用した場合には「書き込みロックを最優先」という挙動は必ずしも期待できない (LinuxではNG) Pthread の規約が挙動に自由度をもたせており、Linuxにおけるデフォルト実装では writer starvation が発生する Rustにおいて writer starvation を回避しつつ readers-writer lock を使うには parking_lot::RwLock を使うと良い 目次 背景: Readers-writer lock とは? 背景: Rustにおける readers-writer lock 背景: RwLock::write() と RwLock::try_read() 再現コード 原因分析 修正: parking_lot::RwLock を使う おわり

                                                            Rustの std::sync::RwLock はLinuxでwriter starvation問題を起こす (macOSなら平気)
                                                          • Rust・WebAssembly・WebGLで作る回路シミュレータ CADに書いたCPUの回路図がそのまま動く

                                                            Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。KOBA789氏は、シミュレータとCADの制作について発表しました。全2回。後半は、回路CADの制作方法について。前半はこちら。 自作CADに求めること KOBA789氏(以下、KOBA789):シミュレータができたので、次はCADを作っていきます。書いた回路図がそのまま動くCADがなかなかないので、私はCADに書いた回路図がそのまま動くことを一番求めていました。 大抵の場合、回路を書くCADとシミュレータが別々になっています。まじめな回路を組むのであればそのほうが楽なのですが、だいたいタイミングチャートのかたちで表示されるんですよね。 プローブをいろいろなところにくっつけて、そのプローブの値が時間経過でどうなったかというタイミングチャートがバーッと出るわけです。たく

                                                              Rust・WebAssembly・WebGLで作る回路シミュレータ CADに書いたCPUの回路図がそのまま動く
                                                            • プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠

                                                              関連キーワード Amazon Web Services | Microsoft(マイクロソフト) | アプリケーション開発 | プログラミング クラウドベンダー大手のAmazon Web Services(以下、AWS)が、プログラミング言語「Rust」のスポンサーになった。Rustは2015年に初の安定版が公開されて以来、「C++」の有力な代替として台頭している。「高性能で安定したアプリケーションを開発できる」「プログラマーの生産性を高められる」と評判だ。Google、Microsoft、Mozilla、Yelp、Dropbox、Cloudflare、AWSといった企業がシステム開発言語としてRustを採用している。 併せて読みたいお薦め記事 新たなプログラミング言語習得の壁 プログラミング学習で誰もがきっとつまずく「2つの障害」とは? 「プログラミング学習」が楽にならない“納得の理由”

                                                                プログラミング言語「Rust」が「C」「C++」の後継になるこれだけの根拠
                                                              • 2023パズル をRustで解いてみる - すぎゃーんメモ

                                                                tkihiraさんの問題が面白そうだったので挑戦してみた。 2023年クイズ! 上の例のように、数字の合間に四則演算(+−×÷)や括弧を入れることで、2023 を作ってください。 - 数字の間に必ず演算子を 1 つ入れてください - ただし 9 と 8 の間には既に ÷ が入っています - 括弧は複数重ねて使用できます - 10×(-9 ÷ 8) のようなマイナス記号の使用は禁止です pic.twitter.com/K0w2miMXJA— Takuo Kihira (@tkihira) December 31, 2022 既に解説記事が出ているので解答はこちらをどうぞ。 nmi.jp 結局自分は自力では解けなくて 他の人の解法や上記の解説記事を読んでようやくできた、のだけど… 自分なりに理解して改めてRustで実装してみた。 RPN(逆ポーランド記法)の backtracking 探索の高

                                                                  2023パズル をRustで解いてみる - すぎゃーんメモ
                                                                • Bevy Engine

                                                                  A refreshingly simple data-driven game engine built in Rust Free and Open Source Forever! Get Started All engine and game logic uses Bevy ECS, a custom Entity Component System Fast: Massively Parallel and Cache-Friendly. The fastest ECS according to some benchmarks Simple: Components are Rust structs, Systems are Rust functions Capable: Queries, Global Resources, Local Resources, Change Detection,

                                                                    Bevy Engine
                                                                  • WebGPUとRustでネコチャンを点描した話

                                                                    はじめに 昨年12月にこんなツイートを見かけました。 かわいいですね。幸いにして論文と実装が公開されていたので、自分でもやってみようと思って、その結果を書いたのが前回の記事です。 読んでいただければわかるとおり、前回の記事の中ではGPUを使わずにアルゴリズムやデータ構造を工夫して近似的に計算しています。結果の画像についてはそんなに悪くないと思っていますが、限界もありました。パーティクルの数も少ないし、一部の画像ではうまく行きませんでした。 やっぱり、もっとちゃんとネコチャンを点描してみたいですよね。 なので、今回の記事ではGPUを使ってアルゴリズムを再現し、よりヴィヴィッドなネコチャンの点描を作成しようと思います。GPUを使って計算するために、WebGPUのRust実装であるwgpuを使用します。ネコチャンの画像を点描にしたい人と、WebGPUに入門してcompute shaderで何か計

                                                                      WebGPUとRustでネコチャンを点描した話
                                                                    • 非同期処理の道具箱 — HACK The Nikkei

                                                                      この記事はNikkei Advent Calendar 2022の 13 日目の記事です。 こんにちは、Web チームの井手です。最近 Web チームで働く魅力について語ったので是非とも読んで欲しいです。 今日は非同期ランタイムについて書きます。 私は非同期ランタイムやサーバー進化論が好きで、たまにブログを書いたり、前職でもアドベントカレンダーに書いたりしていました。 本稿では効率的な非同期処理を実現するライブラリが中で何をしているのかを、低レイヤーの非同期処理そのものを解説しながら見ていきたいと思います。説明の都合上 Rust を使うので、Rust 特有の話もありますが、低レベルな API があればどの言語でも当てはまる話だと思います。この辺りは Rust, Scala(JVM), Erlang, Go などはお互いがお互いのアイデアを参考にしていて切磋琢磨しつつも似た仕組みをそれぞれが

                                                                        非同期処理の道具箱 — HACK The Nikkei
                                                                      • Rustでメモ化を行うためのシンプルなライブラリを作った - 純粋関数型雑記帳

                                                                        TL;DR 一行追加するだけで関数をメモ化するマクロを作った。 成果物はこちら https://docs.rs/memoise/ 背景 同じ引数に対して同じ値を返す関数(いわゆる参照透明だったり数学的だったりな関数)では、 関数の計算結果を保存しておくことによって計算を高速化したりすることができます。 このようなテクニックを関数のメモ化(memoise, memoize, memoization)などと呼びます。 特に再帰的に定義される関数についてメモ化を行うことによって、 動的計画法の実装をシンプルで直感的なものにできたりします。 しかし、関数のメモ化はやりたいことが自明なのにもかかわらず、 毎回手で書いていると微妙に面倒だったり、うっかりメモ化忘れで計算量が爆発してしまったり、 ちょっと辛いところがありました。 特にRustを使っていると、グローバル変数を雑に使うことを許して貰えないの

                                                                          Rustでメモ化を行うためのシンプルなライブラリを作った - 純粋関数型雑記帳
                                                                        • Zigで簡単クロスコンパイル 2022 - k0kubun's blog

                                                                          僕は以下の3つのツールを複数プラットフォーム向けにクロスコンパイルしてバイナリ配布しており、以下のように全て異なる言語で開発している。 Go: sqldef Rust: xremap mruby: mitamae クロスコンパイルに苦労している話をするとZigを使ってみたらいいんじゃないかと言われることがあり、周りでもZigが何となく流行り始めた気がするので、これらのツールに実際自分で使ってみてどうだったかという事例を紹介したい。 Zigとは Zigはそもそもプログラミング言語なのだが、C/C++とのinteropがやりやすい言語なようで、おそらくそれに必要でLLVMベースのC/C++ツールチェインが同梱されていて、しかもそれをDrop-In Replacement for GCC/Clangとして売りにしている。 僕はZig言語そのものにはそれほど興味はないのだが、クロスコンパイラとして

                                                                            Zigで簡単クロスコンパイル 2022 - k0kubun's blog
                                                                          • 直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton

                                                                            // 割る2をする関数の引数が偶数であることを型によって強制する例(実用性はない) data O // 数字の0を表すデータ型 data S(A) forall { A } // +1を表すデータ型 // 型エイリアス type Nat = O | S[Nat] // 非効率すぎる他倍長整数 type Even = O | S[Odd] type Odd = S[Even] // 偶数を引数にとって2で割った結果を言語組込みの整数として返す関数 div2 : Even -> I64 = // 網羅性チェックつきのパターンマッチ | O => 0 | S(S(n)) => 1 + n.div2 TL;DR ユニオン型は直和型の上位互換である(追記あり)。関数型言語を作るときは直和型の代わりにユニオン型を採用するのもあり。 はじめに Cottonというプログラミング言語を2021年の夏頃から作

                                                                              直和型の代わりにユニオン型を持つ静的型付け関数型言語 Cotton
                                                                            • Rustエラーハンドリング・チートシート - Qiita

                                                                              Rustのエラーハンドリング関連の主要メソッドが一目でわかる、チートシートを作成しました。 Rustは型システムが複雑なので、やりたいことに適切なメソッドがあるかどうか、ドキュメントを探しまくることが多いです。エラーハンドリングもその類の1つであり、ドキュメント探索の手間を削減するために、チートシートを作成してみました。 ご活用ください。 1. チートシート 2. 関連リンク bool - doc.rust-lang.org Option - doc.rust-lang.org Result - doc.rust-lang.org

                                                                                Rustエラーハンドリング・チートシート - Qiita
                                                                              • Linuxカーネル開発における「Rust」採用の動き、グーグルとISRGがさらなる後押し

                                                                                印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます Linuxのカーネルモジュールは現在、そのほとんどがC言語を用いて開発されているが、最近新たに「Rust」を主要言語の1つとして追加するという提案が出されていた。そして米国時間6月17日、この提案を後押しする形となる発表が、無料の証明書発行サービス「Let's Encrypt」を運営しているInternet Security Research Group(ISRG)とGoogleによってなされた。 Linuxカーネルの開発言語としてRustを採用することを目指すイニシアチブの主な目的は、カーネル内からメモリー関連のセキュリティ脆弱性を一掃するというものだ。Linuxカーネルはインターネットのインフラを支える重要なパーツであり、サーバーか

                                                                                  Linuxカーネル開発における「Rust」採用の動き、グーグルとISRGがさらなる後押し
                                                                                • うおおおおおおおおおおおおお - ESM アジャイル事業部 開発者ブログ

                                                                                  うおおおおおおおおおおおおおおおおおおおおおおおおおお。 子育て奮闘中の @wat-aro です。 この記事は ESM Advent Calendar 2022 - Adventar 19日目の記事です。 ある日 Slack のチャンネル一覧を眺めていると #うおおおおおおおおおおおおお というチャンネルがありました。 みんなで うおおおおおおおおおおおおお しています。 うおおおおしている様子 このチャンネル見つけてから毎日 うおおおおおおおおおおおおお しているわけですが、もっと うおおおおおおおおおおおおお したいわけです。 そんなわけで うおおおおおおおおおおおおお するプログラミング言語をつくりましょう。 繰り返し同じ言葉を使えるような言語であればたくさん うおおおおおおおおおおおおお できます。 そうですね。 Brainf**k*1 ですね。 Brainf**k での Hell

                                                                                    うおおおおおおおおおおおおお - ESM アジャイル事業部 開発者ブログ

                                                                                  新着記事