並び順

ブックマーク数

期間指定

  • から
  • まで

441 - 480 件 / 5862件

新着順 人気順

rustの検索結果441 - 480 件 / 5862件

  • Stack Overflowの調査によると、デベロッパーの5割以上が「フルスタック」エンジニアを自認。最も使われている言語はJavaScript、最も愛されている言語はRust

    IT技術者向けQ&Aサイトとして知られるStack Overflowは、同サイトの利用者6万5000人のデベロッパーの回答から得られた調査結果「2020 Developer Survey」を発表しました。 調査は今年の2月に行われ、北米、南米、欧州、アフリカ、アジアなどグローバルに広がる同サイトの利用者から回答が寄せられました。調査結果は回答者であるデベロッパーの年齢や学歴、プログラミング開始年齢、現在の地位や役割、使っているプログラミング言語やフレームワーク、好みのプログラミング言語や嫌いな言語、好きなプラットフォームなど多岐に渡っています。 回答者の地理的分布は、米国が19.5%、カナダが3.4%、英国6.1%、ドイツ6.1%、インド13.1%、ロシア1.7%、中国0.6%、日本0.5%などとなっています。 ここでは調査結果から4つだけ見どころを紹介したいと思います。 1つ目は「Dev

      Stack Overflowの調査によると、デベロッパーの5割以上が「フルスタック」エンジニアを自認。最も使われている言語はJavaScript、最も愛されている言語はRust
    • Google、Androidに「DNS over HTTP/3」対応を追加 ~実装はRust言語/既存の「DNS over TLS」よりも高いパフォーマンス

        Google、Androidに「DNS over HTTP/3」対応を追加 ~実装はRust言語/既存の「DNS over TLS」よりも高いパフォーマンス
      • argopt: Rust向けの宣言的なコマンドライン引数パーザー - 純粋関数型雑記帳

        TL;DR 簡潔で直感的に扱える、宣言的なRust向けのコマンドライン引数パーザーを作りました。 https://crates.io/crates/argopt モチベーション Rustにstructoptというライブラリがあります。これはコマンドライン引数をパーズするライブラリなんですが、僕はこのライブラリが大好きなんです。Rustのライブラリの中で一二を争うほど好きです。なんならコマンドラインツールをRustを書く理由の大部分がこのライブラリの存在といっても過言ではないかもしれません(過言ですけど)。 しかしstructoptも使い続けていると、どうにももっと便利にできるんじゃないのかと思う部分が出てきます。structoptでは名前の通りコマンドライン引数をstructで定義して、それに#[derive(StructOpt)] とStructOptをderiveすることでパーザーのコ

          argopt: Rust向けの宣言的なコマンドライン引数パーザー - 純粋関数型雑記帳
        • RustでRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした | MaybeUnInit

          RustでRISC-Vエミュレータを書いてNOMMU Linuxをブラウザで動かした #2023-05-23 以前からRISC-Vエミュレータを書いてみようと思っていたのだが、書いては飽きてを繰り返して全然進められずにいた。そんな中、以下のRepositoryで、rv32ima,Zifencei,Zicsr、あとはCLINTを実装すればLinuxが動くと知り、飽きずに進められそうな気がしてきたので今度こそ、と実装してみることにした。 https://github.com/cnlohr/mini-rv32ima目次成果物 #Repositoryは以下。本記事では実装の概要の記載もあるが、簡略化していたり抜粋だったりするので適宜参照いただきたい。基本的にはcoreというcrateが実装の中枢となっている。appはcoreにcliの皮を被せただけだ。 また以下にPlaygroundも用意した。

          • GMOペパボが画像処理に「Rust」採用、なぜ「Go」ではダメだったのか

            Rustは米モジラ財団が支援するオープンソースのプログラミング言語だ。強い静的型付けを採用するコンパイル言語であり、型やメモリーの安全性、並行性などを重視している。文法は、中カッコによるブロックの指定、ifやforによる制御など、C/C++に似ている。 では、開発現場はどのようにRustを活用しているのだろうか。Rustを使ったシステム構築を進めるGMOペパボの事例を基に、その導入効果を探る。 できるだけメモリー使用量を抑えたい GMOペパボは2014年からWebサービス「SUZURI」を展開している。ユーザーが作製した画像をTシャツやトートバッグなどのグッズにプリントし、そのグッズを購入・販売できるサービスだ。 同サービスでは、ユーザーが画像をGMOペパボのサーバーにアップロードすると、プレビュー画面が表示される。プリント後のグッズがどのような見栄えになるのかを確認しやすい。例えばTシャ

              GMOペパボが画像処理に「Rust」採用、なぜ「Go」ではダメだったのか
            • Linuxメモ : Rust製のangle-grinderを使ってコマンドラインでログ分析 - もた日記

              angle-grinder インストール 使い方 Aggregate Operators angle-grinder github.com Rust製のangle-grinder(コマンド名はagrind)はコマンドラインでログを分析できるツール。 インストール README.mdのインストール方法によると、バイナリのダウンロードやcargoでインストールできる(この時の名前はagrindではなくag)。 $ cargo install ag ヘルプメッセージ。 $ agrind --help ag 0.13.0 Russell Cohen <russell.r.cohen@gmail.com> CLI App to slice and dice logfiles USAGE: agrind [FLAGS] [OPTIONS] <query|--self-update> FLAGS: -h

                Linuxメモ : Rust製のangle-grinderを使ってコマンドラインでログ分析 - もた日記
              • RustでGraphQLやってみるその1(導入編) - 虎の穴開発室ブログ

                こんにちは、とらラボのY.Fです。 先日、こんな記事を書きました。 toranoana-lab.hatenablog.com 本を読んだだけでは寂しいので、実際に作ってみたいと思います。 今回の記事では導入編として、DBなどを利用しないGraphQLサーバーを立ててみようと思います。 ちなみに、著者はRust初心者に毛が生えたような感じなのでツッコミも歓迎です! 環境 今回メインで使うものは以下のようになります。 rustup 1.12.1 Rust本体とツールチェインをインストールするためのツール Rust 1.42.0 言語本体 actix-web 2.0系 Webフレームワーク juniper 0.14.2 Rust用GraphQLライブラリ GraphQLサーバーを作る ということで、作って行きたいと思います。 rustupを使った言語のインストールなどは割愛します。 rustup

                  RustでGraphQLやってみるその1(導入編) - 虎の穴開発室ブログ
                • 2020年はLinuxカーネルにおけるRust元年になるか? - YAMDAS現更新履歴

                  hackaday.com 昨年9月に「Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか?」という話を書いているが、その続きというか、今年こそ Linux カーネルに Rust が入る年になるかという話で、実際 LKML でも議論が行われている。 thenewstack.io 面白いのは、少し前に行われた Open Source Summit North America における VMWare の最高オープンソース責任者 Dirk Hohndel とリーナス・トーバルズとの対談(昨年この組み合わせで、「私はもうプログラマーではない」とリーナスが語ったことがあったっけ)で Rust について触れているところ。 Hohndel が「今じゃ新しいプロジェクトはどれも Go やら Rust

                    2020年はLinuxカーネルにおけるRust元年になるか? - YAMDAS現更新履歴
                  • Rustが再評価される:エコシステムの現状と落とし穴

                    垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                      Rustが再評価される:エコシステムの現状と落とし穴
                    • Announcing Tokio 1.0 | Tokio - An asynchronous Rust runtime

                      We are pleased to announce the 1.0 release of Tokio, an asynchronous runtime for the Rust programming language. Tokio provides the needed building blocks for writing reliable networking applications without compromising speed. It comes with asynchronous APIs for TCP, UDP, timers, a multi-threaded, work-stealing scheduler, and more. Over the years, we have been delighted watching our users build am

                      • Vercel、Webpack後継を目指す、Rustベースの「Turbopack」をリリース | gihyo.jp

                        Vercel、Webpack後継を目指す、Rustベースの「Turbopack」をリリース JavaScriptフレームワークNext.jsの開発などで知られるホスティングサービス企業Vercelは2022年10月25日、Rustベースで高速に動作する新たなモジュールバンドラ「Turbopack」をリリースした。これはNext.jsでのアプリ開発を高速化するため、JavaScriptモジュールバンドラWebpackを置き換えるもの。 Webpackの700倍の速さを実現 同社によると、大規模なアプリケーションではTurbopackはWebpackの700倍高速に更新が表示されるとのこと。これは同社のビルドツールTurborepoなどで培われた各種キャッシュ最適化の技術を用いて実現されている。 TurbopackをNext.js 13開発サーバーで使用することで、超高速なホットリロード(HM

                          Vercel、Webpack後継を目指す、Rustベースの「Turbopack」をリリース | gihyo.jp
                        • Rust 製の全文検索システム Tantivy を Ruby で使える Tantiny を導入した

                          過去記事ページの UI 考察 ずっと過去記事をどうやって効率よく見せるか(自分自身が効率よく読むか)ばかり考えている。一つ前の記事では絞り込み UI について書いた。ブログというものが生まれたとき、誰も 10 年以上にわたっ... portalshit.net ブログのアクティビティダッシュボード Archive ページにこだわってしまう理由、グラフを表示させてみて(ブログ過去記事をカテゴリーごとに集計してグラフ化 - portal shit!)何となくわかった気がする。過去記事ページとい... portalshit.net このブログの維持管理で一番時間を割いているのが Archives ページだ。しかしアクセスログを見ると自分以外はほとんど利用していない。完全に自己満なのだが、過去の自分を振り返ることができてとても自分には有意義なページだ。 過去記事を振り返るときには検索をしたくなる。

                            Rust 製の全文検索システム Tantivy を Ruby で使える Tantiny を導入した
                          • Rustで型レベルプログラミング

                            はじめに 通常のプログラムは実行時(ランタイム)に1 + 1など様々な計算を行う。一方でコンパイラーを持つ言語では、コンパイラーの型検査やジェネリクスなどの機構を利用して、コンパイル時にも計算を行うことができる。このようなプログラミングを、コンパイル時に検査・推論される“型”[1]に注目して型レベルプログラミングと呼ばれる。 ランタイムの計算の中にはたとえばwhile(1);のような簡単な計算で無限ループといった停止しない状況に陥いることがある。コンパイル時にできる計算でこのように無限ループに陥いってコンパイルが停止しなくなってしまったら、プログラムを実行することなく自明なエラー(型があってないとか、Rustであればfreeするタイミングが自明でないなど)を検出しようというモチベーションが崩壊してしまう。したがってコンパイル時にできる計算とはランタイムに比べて非常に限定された計算しか許可さ

                              Rustで型レベルプログラミング
                            • 年末ですし、今年のRustの進捗の話をしましょう

                              TechFeed Experts Night #9 で使用した発表資料です。2022年の Rust になされた変更やアップデートから、個人的に気になったものをピックアップした発表です。

                                年末ですし、今年のRustの進捗の話をしましょう
                              • Why is my Rust build so slow?

                                Contents What is cargo even doing How much time are we spending on these steps? Linker, is it you? Debug symbols, perhaps? Incremental builds Link-time optimization (LTO) Rustc self-profiling Warp, I trusted you Revisiting all the other changes Splitting into more crates! Conclusion I've recently come back to an older project of mine (that powers this website), and as I did some maintenance work:

                                  Why is my Rust build so slow?
                                • Ruby 3.2.0dev にマージされた Rust YJIT をビルドする - koicの日記

                                  YJIT の Rust 実装がマージされました。いまのところ今年の Shopify からの代表作ではと見ています (YJIT 自体は Ruby 3.1 で C 実装導入されている機能です) 。 github.com そういうわけで、現在の Ruby 3.2.0dev で YJIT を有効にする場合は、Rust の処理系 (1.60.0 1.58.1 以上) が必要になります。Rust のインストールに使う rustup については以下の公式ページなどを参照してください。 www.rust-lang.org YJIT はデフォルトではビルドされません (なので YJIT を使わないビルドであれば Rust 処理系は不要です) 。 デフォルトの YJIT なしの Ruby をビルドしている場合は --yjit オプションを渡しても、ruby: warning: Ruby was built w

                                    Ruby 3.2.0dev にマージされた Rust YJIT をビルドする - koicの日記
                                  • Google開発者1000人が答えた「Rustのウワサ」、習得に6カ月以上かかる? 実は遅い? は本当か

                                    Google開発者1000人が答えた「Rustのウワサ」、習得に6カ月以上かかる? 実は遅い? は本当か:Rustに関する5つの洞察 Googleのプログラミング言語や低レベルOS、ユーザー体験を研究する2人の博士がプログラミング言語「Rust」に関する記事を投稿した。以下、その内容を要約する。 Rustは、2015年にバージョン1.0に達したばかりの比較的新しいプログラミング言語だが、多くの機能を備えている。Rustが提供するパフォーマンスと安全性の保証に注目している開発者は、これまで使用していたプログラミング言語の代わりにRustを使用できるかどうかを考えざるを得ない。 例えば、「大企業が既存の環境でそれを使用しようとするとどうなるか?」「開発者が言語を習得するのにどれくらい時間がかかるか?」「習得したら、生産性は高まるのか?」といった疑問がわく。 Googleでは、特にコンシューマー

                                      Google開発者1000人が答えた「Rustのウワサ」、習得に6カ月以上かかる? 実は遅い? は本当か
                                    • 【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました

                                      この記事は vjeux 氏によって Prettier 公式ブログに投稿された「$20k Bounty was Claimed!」を許可をもらって翻訳したものです。 もとのタイトルを翻訳するのが難しかったので、できるだけわかりやすいものに翻訳しました。 PrettierというJavaScriptのコードフォーマッターは、人々がコードを書く様々な方法を慎重に扱うことで、驚くほど広く採用されています。この時点で、フォーマットロジックは安定しており、私たちの三項演算子に関する作業が完了すれば、それは満足のいく状態になるでしょう。 これは、次の重要な側面に注目できるということを意味します:パフォーマンス。Prettierは決して速いとは言えませんが、ほとんどの使用例には十分な速さです。これはいつも不満足な感じがしたので、何かをすることを望んでいました。それには、友好的な競争以上の方法はありません。

                                        【翻訳】Prettier を Rust で書き換えたプロジェクトに $20k の報奨金を支払うプログラムは Biome が勝ちました
                                      • Rustのライフタイムについてのよくある誤解

                                        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

                                          Rustのライフタイムについてのよくある誤解
                                        • 2021年3月18日 Rustを学ぶためのプロジェクト―Debian開発者、coreutilsパッケージをRustで実装中 | gihyo.jp

                                          Linux Daily Topics 2021年3月18日Rustを学ぶためのプロジェクト―Debian開発者、coreutilsパッケージをRustで実装中 「開発者にもっとも人気がある言語」としてここ1、2年、さまざまな調査でランクインすることの多いRustだが、オープンソースプロジェクトの現場でもRustの人気は高く、Cで書かれたコンポーネントやプロダクトをRustで書き換えるプロジェクトも増えている。そうしたプロジェクトのひとつとして、Linux/UNIX系のオペレーティングシステムに必須のコマンドラインツールを集めた「coreutils(GNU Core Utilities⁠)⁠」をRustで書き換える「uutils/coreutils」がGitHub上で活動中だ。 GitHub - uutils/coreutils : Cross-platform Rust rewrite o

                                            2021年3月18日 Rustを学ぶためのプロジェクト―Debian開発者、coreutilsパッケージをRustで実装中 | gihyo.jp
                                          • GitHub - iced-rs/iced: A cross-platform GUI library for Rust, inspired by Elm

                                            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 - iced-rs/iced: A cross-platform GUI library for Rust, inspired by Elm
                                            • Microsoft、「Rust for Windows v0.9」を公開

                                              Microsoftは2021年5月6日(米国時間)、「Rust for Windows v0.9」を公開したと発表した。 Rust for Windowsは、「win32metadata」プロジェクトで提供されるWin32 APIのメタデータに基づいて、Rust言語からWin32 APIを慣用的な方法で呼び出すために必要な言語プロジェクションであり、オープンソースプロジェクトとして開発が進められている。2020年4月に「Rust/WinRT」として発表されたが、その後、Rust for Windowsに改称された。 win32metadataプロジェクトは、さまざまなプログラミング言語からWin32 APIへのアクセスを容易にすることを目的としている。Rust for Windows以外にも、C#やC++などの言語プロジェクションが開発されている。 Rust for Windows v0.

                                                Microsoft、「Rust for Windows v0.9」を公開
                                              • Rust in the Android platform

                                                The latest news and insights from Google on security and safety on the Internet

                                                  Rust in the Android platform
                                                • Rustでマイクロサービス開発はじめました - EmotionTechテックブログ

                                                  はじめに こんにちは、テックリードのかどたみです。 「冷やし〇〇はじめました」の幟が街を彩って久しくも、まだまだ暑い日が続きますね。 突然ですが、皆さんは今夏新しくはじめたことはありますか? 弊社ではタイトルの通りRustでマイクロサービスの開発をはじめました。 この記事では、マイクロサービス化やRustに至った考えとRustで開発をしてみた感想を述べたいと思います。 なぜマイクロサービス化するのか? 弊社ではサービス開始当初からRuby on Railsを用いて開発が進められ、現在でも機能の追加が続いています。モノリスとしてどんどん大きくなっているのですが、大きくなることによって以下のような課題が出てきています。 新しいメンバーがコードを把握するのにかなり時間を要する 改修の影響範囲が大きくなり、見積もり難度が上がっている テストやビルドに時間がかかり、細かな修正でもリリースのコストが高

                                                    Rustでマイクロサービス開発はじめました - EmotionTechテックブログ
                                                  • Using WebAssembly threads from C, C++ and Rust

                                                    Learn how to bring multithreaded applications written in other languages to WebAssembly. WebAssembly threads support is one of the most important performance additions to WebAssembly. It allows you to either run parts of your code in parallel on separate cores, or the same code over independent parts of the input data, scaling it to as many cores as the user has and significantly reducing the over

                                                      Using WebAssembly threads from C, C++ and Rust
                                                    • C言語、Java言語、Go言語、Rust言語……

                                                      人間の言葉は「イングリッシュ語」「ジャパニーズ語」と書いたらおかしいと誰でも理解できるのに、プログラミング言語に「言語」をつけるとおかしいというのを理解できる人がめったにいないのはなぜなのか。

                                                        C言語、Java言語、Go言語、Rust言語……
                                                      • Rust エラー処理2020 - 電気ひつじ牧場

                                                        このエントリは,Rust 3 Advent Calendar 2020の8日目の記事です. はじめに エラー処理の基本 Result<T, E> Errorトレイト ?オペレータ ベストプラクティスを支えるクレート anyhow thiserror failureクレートについて まとめ 追記 はじめに Rustを書いている時にアプリケーション固有のエラー型を定義したい場合があります.この辺のベストプラクティスは今まで何度か変化*1しており,今年の9月にエラーハンドリングのプロジェクトグループが発足*2したことからも分かるとおり,今後も変化していく可能性が濃厚です. この記事では,エラー処理まわりに関する基本的な内容と,現時点でのベストプラクティスとされているanyhowとthiserrorを用いたエラー処理について紹介します. エラー処理の基本 Result<T, E> Rustには例外

                                                          Rust エラー処理2020 - 電気ひつじ牧場
                                                        • RustコントリビューターTaKO8Kiさんに、コンパイラの内部処理やOSSについて聞いてみた!

                                                          Rustの特長の1つである安全性。そのための大きな役割を担うのが、コンパイラです。このRustコンパイラにコントリビュートしている日本人エンジニアがいるということで、TechFeed公認エキスパートにご就任頂くと同時に、まずは記念のインタビューとしてお話を伺いました。 Rustにコントリビュートすることになったきっかけ ――今日はお時間をとっていただいてありがとうございます。最初に自己紹介をお願いします。 はい、前田喬之です。TaKO8KiというHNで活動していて「タコヤキ」と読みます。インターンを含めて、株式会社マネーフォワードに3年半勤務しています。 Rustは大学3、4年生の頃から使い始めて、しばらくしてコントリビュートするようになり、去年の8月に正式にcompiler-contributorsチームのメンバーになりました。大学では市民工学を専攻していたので特にバックグラウンドは無か

                                                            RustコントリビューターTaKO8Kiさんに、コンパイラの内部処理やOSSについて聞いてみた!
                                                          • 社内のSlack通知アプリをRustで実装した - STORES Product Blog

                                                            データチームの@komi_edtr_1230です。 突然ですが、heyがメインで使ってるプログラミング言語は何か知っていますでしょうか? heyはECと決済、予約など複数事業の事業を展開しているのですが、ECと予約はRuby (+ Rails)で決済はJavaを使っています。 また、アカウント共通基盤ではGoを使っています。 今回データチームでは事業成績を日次でSlackに通知してくれるアプリをRustで開発しました。 この記事ではどのようにして開発を進めたのか、ツラいポイントはなんだったか、何が良かったかなどについてまとめます。 何を作ったのか 今回作ったSlackアプリはどのような要件を抱えていたかというと、 様々な項目についてのデータを取得 Slackに投稿できるようJSONを整形 日次で稼働する(CRON Job) というような具合でした。 現在heyのSlackでは、以下のように

                                                              社内のSlack通知アプリをRustで実装した - STORES Product Blog
                                                            • GitHub - google/OpenSK: OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.

                                                              This repository contains a Rust implementation of a FIDO2 security key. Security keys are external devices that can be used for signing in on websites. You can see OpenSK in action in this video on YouTube! We intend to bring a full open source experience to security keys, from application to operating system. You can even 3D print your own open source enclosure! You can run OpenSK as a Tock OS ap

                                                                GitHub - google/OpenSK: OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.
                                                              • Rustと過ごした2年間

                                                                Marc Brooker AWSのシニアプリンシパルエンジニア。AWS Lambdaやその他のサーバーレス製品の開発をリードしている。 この記事は、著者の許可を得て配信しています。 http://brooker.co.za/blog/2020/03/22/rust.html/ 私がRustを学び始めてからちょうど2年以上が経ちました。それ以来、Firecracker コードベースや他の多くのプロジェクトでの作業を含め、本業ではRustを多用してきました。Rustは、ここ数年行ってきたシステムレベルの仕事にとても適しています。パフォーマンスもよく、密度が高く、繊細で、常にセキュリティ面でもセンシティブです。タイプシステム、オブジェクトライフサイクル、スレッドモデルは、この種の作業に適していて、かなり直感的だと思います。ほとんどの人がそうであるように、私も時々コンパイラと喧嘩をすることがありま

                                                                  Rustと過ごした2年間
                                                                • RustとGraphQLの連携で高速/シンプルなプログラミングを実現するJuniperとは

                                                                  これまでメモリーセーフなシステムプログラミング言語として紹介されることが多かったRustだが、このメモリーに関連する脆弱性に対して安全であるという特徴に加え、高速に実行できることやガベージコレクションが発生しないといった特徴も備えている。これらの特徴から、RustはWebのシステムにも十分に応用できると言える。 そしてWebでのアプリケーション開発にはサーバー側との通信はもちろんだが、それに加えてWebのフレームワークやデータアクセスライブラリーとのインテグレーションが必須となる。 一方Webアプリケーションにおいてデータのやり取りにはREST APIが使われてきたが、それをより効率的にしようとしてFacebookが開発したのがGraphQLだ。REST APIはWebがダイナミックに進化するにつれてさまざまなサイズのデバイスをサポートするためにも利用されるようになった。その半面、巨大なサ

                                                                    RustとGraphQLの連携で高速/シンプルなプログラミングを実現するJuniperとは
                                                                  • RustでGraphQLやってみる番外編(Vue+composition APIでGraphQLを使う) - 虎の穴開発室ブログ

                                                                    皆さんこんにちは。とらラボのY.Fです。 前回までの記事ではRust+actix-web+juniperでGraphQLサーバーを作ってきました。 前回の記事の段階で一旦参照、更新処理はできたので、今回は番外編として呼び出し側となるクライアント側について記事を書いていこうと思います。 (前回の記事はこちら) toranoana-lab.hatenablog.com この記事ではcomposition APIに関する細かい説明はしません。以前書いた記事があるので、そちらを御覧ください。 また、利用するライブラリがVue3にまだ対応していないので、下記記事で作ったプロジェクトをベースに作っていきます。 toranoana-lab.hatenablog.com 環境 サーバー側の環境は前回と同様なので割愛します。 React+GraphQLのサンプルは世にあふれているので、今回はVue+comp

                                                                      RustでGraphQLやってみる番外編(Vue+composition APIでGraphQLを使う) - 虎の穴開発室ブログ
                                                                    • 基礎から学ぶ組込Rust - ぱたへね

                                                                      基礎から学ぶ組込Rustの本を読みました。久しぶりに組込プログラマに戻れた気がしてとても楽しめました。 www.c-r.com どんな本 Wio TerminalをRustで制御していく本です。 組込がある程度分かっていて、組込Rustに興味がある人 Rustはある程度分かっていて、組込に興味ある人 この辺の人達がターゲットで、Rustに関しては別にもう一冊本があった方が良いです。 どちらも初めてだとだいぶきついと思います。 読む前は、組込向けの最適化の話、Cのライブラリとの連携とか込み入った話の本かなと思っていたのですが、いざ読んでみるとどちらかというと入門書と呼べる内容でした。 Rustの説明があっさりあったあと、6章のペリフェラル制御からが本番です。Rustの文法そのものよりはこういう形でRustの機能を上手く使ってますという事例が丁寧に説明されていました。 各ペリフェラル(周辺回路

                                                                        基礎から学ぶ組込Rust - ぱたへね
                                                                      • マイクロソフト、「Rust」試用は概ね順調--不足する機能にも言及

                                                                        端的に言うと、この取り組みは順調であり、エンジニアらはRustの利用について「全体的に肯定的」な評価を下しているが、不足している機能もあるという。それでも同社はこのプロジェクトを支援し、さらに進めていこうとしている。 Microsoftは今夏、Rustを活用する試験的な取り組みについて明らかにした。同社のさまざまなサービスについて、Rustで書き換えることを検討しようとしていると発表した。 Microsoftのエンジニアは、Rustに関心を寄せた理由について、過去10年ほどにわたって同社が毎年公開してきたパッチのうち、およそ70%はメモリー関連のものだったことなどを挙げていた。Rustはメモリー関連の問題を防ぐ目的などで構築された。 MicrosoftはどのサービスでRustを使用しようとしているのか明らかにしていないが、試験的な取り組みの状況についてユーザーに情報を公開していくとしている

                                                                          マイクロソフト、「Rust」試用は概ね順調--不足する機能にも言及
                                                                        • C言語へのFFIを含むRustをWASM化するのは難しすぎる

                                                                          つらみ PlantUMLをwasm化するためにGraphvizへの依存をどうしたものか考えていました。すべてRustで書き直せればそれがいちばん手堅いのですが、Graphvizのソースコードは中々に大きく、それをRustで書き直すのは現実的ではありません。そこで考えたのが、RustからFFIでGrapvizのC++コードを呼ぶようにして、それをwasm化すればいいじゃないかというアイデアです。 こんなことを言いましたがツラい・・・この道はツラいです。もう諦めようと思っています。私の力では限界を感じました。 というわけで、やり散らかしたままにしておいても時間の無駄になるので何らか学びを得るためにまとめてみようと思います。 RustでCのライブラリにFFIするのは簡単だ RustはそもそもFFIの機構を持っている Rustはにはexternキーワードがあり、以下のようにC言語の関数をRustか

                                                                            C言語へのFFIを含むRustをWASM化するのは難しすぎる
                                                                          • Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社

                                                                            こんにちは。yoshiです。夏のTechrachoフェア2022ということで、夏とは何の関係もない記事を書いていこうと思います。 業務ではC++をやっていながら前回、前々回にTechrachoで書いた記事に引き続きRustをやっていく訳ですが、定期的に炎上しがち(?)なオブジェクト指向の話です。みなさん、オブジェクト指向は好きですか? オブジェクト指向って何だろう? A. なんもわからん なんて言ってしまったら話が終わってしまうのですが。 歴史的な話をするとオブジェクトという用語はSimulaが初出で、オブジェクト指向はアラン・ケイがSmalltalkで導入したもの、という話になりますが、一方でビャーネ・ストロヴストルップがC++に導入した「カプセル化・継承・ポリモーフィズム」の組み合わせのことを指すことが多く、SmalltalkのそれとC++のそれにも違いがあるので定義が定まらない概念で

                                                                              Rustを通して見るオブジェクト指向|TechRacho by BPS株式会社
                                                                            • 作って学ぶルーティングプロトコル RustでBGPを実装

                                                                              インターネットを支えるルーティングプロトコルであるBGP(Border Gateway Protocol)をRFCからRustで実装する方法を解説します。小さなプログラムから始め、Update Messageを交換しルーティングテーブルの更新まで、一歩ずつ実装・解説します。 関連サイト本書の関連ページが用意されています。 NextPublishingオフィシャルWebサイト内容紹介インターネットを支えるルーティングプロトコルであるBGP(Border Gateway Protocol)をRFCからRustで実装する方法を解説します。小さなプログラムから始め、Update Messageを交換しルーティングテーブルの更新まで、一歩ずつ実装・解説します。RFCで定義されているプロトコルを一度自分の手で実装することで、BGPに限らず、その他のプロトコルについてもRFCから実装することを目指します

                                                                                作って学ぶルーティングプロトコル RustでBGPを実装
                                                                              • Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい

                                                                                最近 ratatui という crate に Small String Optimization を利用した最適化を入れたので,その話を書きます. 目次 Small String Optimization (SSO) とは(SSO を既に知っている人は読み飛ばして大丈夫です) Rust で SSO を適用した文字列型を提供する crate 比較 SSO を利用して ratatui のメモリ効率と実行効率を最適化した話 compact_str crate の実装の最適化の話 インラインストレージに24バイト全てを使える理由 隙間最適化のための工夫 説明を簡潔にするため,特に断りが無い場合 64bit アーキテクチャを前提とします. Small String Optimization (SSO) とは Rust の可変長文字列型 String は文字列バッファへのポインタ,文字列の長さ,バッフ

                                                                                  Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい
                                                                                • Pure Rustな近似最近傍探索ライブラリhoraを用いた画像検索を実装する - Stimulator

                                                                                  - はじめに - 本記事は、近似最近傍探索(ANN: Approximate Nearest Neighbor)による画像検索をRustを用いて実装した際のメモである。 画像からの特徴量抽出にTensorFlow Rust bindings、ANNのインデックス管理にRustライブラリであるhoraを利用した。 RustとANNの現状および、実装について触れる。 - はじめに - - RustとANN - - pretrainモデルによる特徴量化 - - 画像特徴のインデックスと検索 - - 検索結果 - - おわりに - - RustとANN - Rustの機械学習関連クレート、事例をまとめたリポジトリがある。 github.com この中でも、ANN関連のクレートは充実している。利用する場合は以下のようなクレートが候補になる。 * Enet4/faiss-rs * lerouxrgd/

                                                                                    Pure Rustな近似最近傍探索ライブラリhoraを用いた画像検索を実装する - Stimulator