並び順

ブックマーク数

期間指定

  • から
  • まで

681 - 720 件 / 7581件

新着順 人気順

rustの検索結果681 - 720 件 / 7581件

  • Rustベースのモダンなterminal 、 Warp | DevelopersIO

    Introduction Warpは、生産性と使い勝手を考えて再設計されたRust製のterminalです。 先日パブリックベータが開始され、誰でも使えるようになりました。 ※現在はMacのみ。他のプラットフォーム近日対応予定とのこと 完全Rustネイティブのアプリで、GPUでレンダリングするので高速です。 いまの開発に適した、モダンな機能をそなえたterminalになっています。 Why Warp? ここに、なんでいまさらterminal? の理由が書いてます。 かんたんにまとめると、 開発者ならコードエディタとターミナルは絶対使う コードエディタはどんどん進化してるがterminalは昔から変わってないから再開発した Warpの入力は最新のテキストエディタみたいに使える。出力はnotebookみたいに使える。 よく使うコマンドをsuggestionしたり、ワークフロー機能でコマンド入力

      Rustベースのモダンなterminal 、 Warp | DevelopersIO
    • Rust の嬉しさをより多くの日本語話者に知ってもらうためには、スタンフォードで強く敷かれている educational benefit の概念を Rust コミュニティが抱くことが大事なのではないか、という私見

      Rui Ueyama @rui314 スタンフォードの授業で「え、ここまでそれわかってなくて聞いてたの?」という質問をしてる生徒はかなりいたし、教える方は驚くこともなく普通にそういう基本的な質問に答えていたので、ああいうのは見習いたい(どちら側も)。 2021-08-14 21:55:14 Rui Ueyama @rui314 こういうの、難しい問題とかではなくて本当に簡単なやつで、逆に具体的な例を思い出せないけど、例えば集合論で「∅と書いてあるのは数字の0ってこと?」みたいな。ここまで何十分も空集合がわからずに聞いてたのか〜みたいな。 2021-08-14 22:15:32

        Rust の嬉しさをより多くの日本語話者に知ってもらうためには、スタンフォードで強く敷かれている educational benefit の概念を Rust コミュニティが抱くことが大事なのではないか、という私見
      • 「Rust」言語向けの“ビジュアルタイムトラベルデバッガー”「FireDBG」が公開/関数の呼び出しを「コールツリー」として可視化、自由に時間を移動してエラーを特定

          「Rust」言語向けの“ビジュアルタイムトラベルデバッガー”「FireDBG」が公開/関数の呼び出しを「コールツリー」として可視化、自由に時間を移動してエラーを特定
        • Git と GitHub の次を妄想する

          GitHub みたいなサービスを今一から作るならどの言語・フレームワークを使うか GitHub の次は何かを考えてみるのは、現実に実現困難なのを忘れれば、なかなかに楽しいことではあります。ここではその妄想をやっていきましょう。 GitHub の抱える課題を分割すると、Git の問題と、 GitHub の提供する機能の問題に分けられると思います。自分は、Git をベースとして GitHub に勝つのは現代ではなかなか難しいと考えています。MS による買収と実際に注ぎ込まれてる資本を考えると、よほど斬新な切り口でないと、 同じ Git を使っても優位性は出せません。 なので、 GitHub に本質的に勝つには、その基幹となる VCS から考え直すとよいのではないか、と考えています。幸いなことに(?)、Git はその優秀さは認められていますが、学習の困難さや特定のユースケースで機能しないことが知

            Git と GitHub の次を妄想する
          • コンパイル技法: パターンマッチ

            本書では関数型言語をはじめとして多くの言語にあるパターンマッチをコンパイルする方法を紹介します。パターンマッチはシンプルに条件分岐の連鎖にコンパイルすることもできますが、よく研究された手法を使えば驚くほど効率的なコードを生成できるようになります。そのような手法を2種類紹介します。 パターンマッチはデータ型に照合しそのデータを取り出すものです。例えばRustであれば match opt { Some(x) => f(x), None => g()} のように Option 型への照合などに使えます。本書の前半ではパターンマッチの挙動や使い方などを学びます。挙動の確認にはプログラミング言語Standard MLを使い、一部Cのコードも使います。その後Common LispやJavaなどの他の言語でのパターンマッチの状況を確認します。後半ではパターンマッチのコンパイル技法について紹介します。パタ

              コンパイル技法: パターンマッチ
            • Rustで扱える機械学習関連のクレート2021 - Stimulator

              - はじめに - 本記事では、Rustで扱える機械学習関連クレートをまとめる。 普段Pythonで機械学習プロジェクトを遂行する人がRustに移行する事を想定して書くメモ書きになるが、もしかすると長らくRustでMLをやっていた人と視点の違いがあるかもしれない。 追記:2021/02/24 repositoryにしました。こちらを随時更新します github.com 追記;2021/07/26 GitHub Pagesでウェブサイトにしました vaaaaanquish.github.io - はじめに - - 全体感 - - 機械学習足回り関連のクレート - Jupyter Notebook Numpy/Scipy Pandas 画像処理 形態素解析/tokenize - scikit-learn的なやつ - 各ライブラリと特徴比較 - Gradient Boosting - XGBoos

                Rustで扱える機械学習関連のクレート2021 - Stimulator
              • 開発者がもっとも好きなプログラミング言語は「Rust」、Stack Overflow「2020 Developer Survey」より

                調査結果のうち、言語またはその技術を使用して開発を行っており、継続的に利用したいプログラミング言語を尋ねた質問(複数回答)では、Rust(86.1%)が1位となった。その理由としては、パフォーマンス、制御のしやすさ、安全にメモリを利用できること、システムプログラミングに適した同時実行性の高さ、マクロなどが挙げられている。オープンな開発プロセスを採用していることもあって、(利用していない人を含む)多くのプログラマから高い評価が寄せられた。 2位はTypeScript(67.1%)で、WebフロントエンドおよびNode.jsコードベースにおけるサイズと複雑さの増大と相まって、TypeScriptの静的型付けによるコードの正確性が、プログラマの信頼感を高めている。また、TypeScriptのpolyfillによって、ECMAScriptにおけるアロー関数や非同期処理、クラスといった変更との高い互

                  開発者がもっとも好きなプログラミング言語は「Rust」、Stack Overflow「2020 Developer Survey」より
                • VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に

                  VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に マイクロソフトは、オープンソースで開発しているコードエディタ「Visual Studio Code」(以下、VSCode)の最新版となる2023年9月版(バージョン1.83)で、JavaScriptデバッガがWebAssemblyのデバッグにも対応したことを明らかにしました。 The JavaScript debugger can now debug code compiled into WebAssembly if it includes DWARF debug information. For example, C++ code compiled using Emscripten can be debugged: pic.twitt

                    VSCodeがWebAssemblyの実行時デバッグに対応。C/C++やRust、Zigなどのソースコードと関連付け、変数参照、ブレークポイントなど可能に
                  • フルスクラッチでQEMU型自作エミュレータはどう作る? Rustを使った自作バイナリ変換型シミュレータ

                    Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。msyksphinz氏は、自作エミュレータで得た学びについて発表しました。全2回。前半は、自作エミュレータの実装とその結果について。 実機が存在しなくてもエミュレータを使えば動きの中身が見える msyksphinz氏(以下、msyksphinz):「Rustで作るフルスクラッチQEMU型エミュレータ」と題して、発表をします。 簡単に自己紹介をさせてください。Twitterだとこういうアカウントでいろいろと活動しています。趣味で「FPGA開発日記」というブログを書いていて、RISC-V、FPGA、CPU、低レイヤプログラミングなど、興味のあるものの記事を書いています。本業はハードウェア開発エンジニアをしていて、汎用CPUの設計などの仕事をしています。 今回はRustとい

                      フルスクラッチでQEMU型自作エミュレータはどう作る? Rustを使った自作バイナリ変換型シミュレータ
                    • 第1回 Rust Hands-On

                      2021/02/17 に、サイバーエージェント社内向けに開催した Rust ハンズオンの資料です。第1回は、Rust の概観を掴んでもらうことを目的にプレゼンテーションを行いました。

                        第1回 Rust Hands-On
                      • Web3のここがすごい - laiso

                        1. 名前 「Web3」というナンバリングで定着しているのがすごい。 Web3になってることで本来別の文脈であるWeb 2.0と同じ正史の土俵にある概念のように受け取られているし、Web1→Web2→Web3のようなメタファーでストーリーが構築できている。 Web1 Web2 Web3 Read Write Own/Join HP SNS DApps/DeFi GAFAM DAO という対比をよく見かけるけど、僕の視点だと以下になる Web 1 Web 2.0 Web 3.0 Web3 2004年 2006年 2014年 ない 当時流行っていたサービスの総称 セマンティック・ウェブあげるよ ブロックチェーンで何かサービス作れない? という話題 3の命名はParityのギャビン・ウッドとされているが、今の文脈とどの程度地続きなのかは定かでない。ただWeb 3.0にしなかったところにWeb 2

                          Web3のここがすごい - laiso
                        • 【2020年1月】令和だし本格的にVSCodeのRemote Containerで、爆速の"開発コンテナ"始めよう - Qiita

                          【2020年1月】令和だし本格的にVSCodeのRemote Containerで、爆速の"開発コンテナ"始めようJavaPythonPHPJavaScriptGo VSCode の Remote Conainer で"開発環境+プロジェクト全部入りのコンテナ"からスタートダッシュをキメるッ!? 開発でVS Code の Remote Conainer使っていますか?単に既存のコンテナに入るだけなら Remote SSH でも構いませんが、"ローカル開発環境の一部"として、いやむしろローカルの開発環境=Remote Containerとして、ビンビンにRemote Container使っていきましょう。令和だし!(すでに2年だけどね・・・?) 特にMacを使っていると最初からPythonやらPHPやらRubyやらが入ってしまっているので開発環境があるのですが、これらは割とmacOSのエコシ

                            【2020年1月】令和だし本格的にVSCodeのRemote Containerで、爆速の"開発コンテナ"始めよう - Qiita
                          • 書き捨てるためのRust - Qiita

                            はじめに Rustは「きちんとしたプログラムを書く時にはいいけど、書き捨てのプログラムを書くには向いていない」と言われることがあるようです。「一般論としては全くその通り」と思う一方で、自分自身を振り返ってみると、これまでPythonで書いていたような書き捨てに近いプログラムも全部Rustで書くようになっています。 なぜ書き捨てのプログラムもRustで書くのかを考えてみると 最初は書き捨てだと思っていても、手直ししながら使い続けることは意外と多い コンパイラが割と多くのエラーを捕捉してくれるのでデバッグの時間が短くて済む 記述量の多さはエディタの補完があってあまり気にならない といったあたりが理由になっています。 そうはいってもRustがいろいろと面倒な言語であることには違いないので、書き捨てるときは普段のRustプログラミングとは少し違った書き方をした方がより早く書けるのではないかと思いま

                              書き捨てるためのRust - Qiita
                            • 【解説】開発ライブ実況 #1 (Vim / Go) 編 by メルペイ Architect チーム Backend エンジニア #mercari_codecast | メルカリエンジニアリング

                              【解説】開発ライブ実況 #1 (Vim / Go) 編 by メルペイ Architect チーム Backend エンジニア #mercari_codecast Merpay Architect / Mercari Microservices Platform チームの伊藤です。この記事は Merpay Tech Openness Month の3日目の投稿となります。本稿では、先日開催した開発ライブ実況のイベントで紹介した筆者の開発環境(Vim / Go)について、言語に依存しない「全般的な設定」と「Goの設定」の2つに大別して解説します。Vim に関する話題が多いですが、Go のために自作したツールについての解説はエディタに依存しないので、他のエディタを利用している方々もぜひご一読ください。 開発ライブ実況とは 「他人の開発風景を覗いてみよう!」というコンセプトのもとに弊社が開催して

                                【解説】開発ライブ実況 #1 (Vim / Go) 編 by メルペイ Architect チーム Backend エンジニア #mercari_codecast | メルカリエンジニアリング
                              • APIとかABIとかシステムコールとか - 覚書

                                はじめに 本記事はLinux環境における次のようなことをざっくり理解するための記事です。 Application Programming Interface(API)って何? Application Binary Interface(ABI)って何? システムコールとAPIとABIの関係って? それぞれ何がどう違うの? この手の情報はググればwikipediaやらにいろいろ情報が載ってるんですが、初心者が理解するには細かいことまで書かれすぎていて、かつ、それぞれの関係がわかりにくいです。なので、用語を逐一解説するのではなく、ありがちな質問のQAという形をとりました。人によって用語の意味の揺らぎがあったりするんですが、私の解釈ということで。あからさまに間違っていたら指摘していただけると嬉しいです。 これを書こうと思ったきっかけは、以前こんなtweetを見かけたことです。それから「そういえば最

                                  APIとかABIとかシステムコールとか - 覚書
                                • [Rust] 自然に見える迷路の生成

                                  Rust でやるゲーム開発アルゴリズムシリーズ、第4弾ぐらいでしょうか? 今回はプログラム的に迷路生成をします。 元々は、四分木による経路探索をテストするために考えたものですが、これはこれで独立した知見になりそうなので別記事にしました。 自然に見える迷路とは 何をもって自然な迷路というかは、人によると思いますが、ここでは次のような感じのものを指します。 ある程度迷路としての構造を持ちながらも、分岐やループを持ち、道幅をいくらか持つことによってエージェント同士がすれ違えるようにします。 また、壁の形状にノイズを加えて単調にならないようにしています。 総合的には、鍾乳洞のような天然の洞窟というほどは自然ぽくはありませんが、完全に人工的な環境というわけでもない、ほどほどに自然な迷路を目指します。 このような地形のプロシージャル生成については、様々な方法があります。 ここで紹介するのはごく一部で、

                                    [Rust] 自然に見える迷路の生成
                                  • https://foundation.rust-lang.org/posts/2021-02-08-hello-world/

                                      https://foundation.rust-lang.org/posts/2021-02-08-hello-world/
                                    • Rustは銀の弾丸となり得るか 新しいOS開発を実現する可能性

                                      Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。garasubo氏からは、「Rust」で新しいOSの設計を試みる3つのOSについて発表がありました。 「Rust」で新しいOSの設計を試みる論文を紹介 garasubo氏:よろしくお願いします。「RustはOS界の銀の弾丸になりうるか 論文で見るRustで変わるOS設計」というタイトルでgarasuboが発表します。内容を詰め込みすぎちゃったので、けっこう駆け足の発表になると思いますが、ご了承ください。 Rustは、OSを書くにあたってC言語の代わりになるんじゃないかといろいろと注目されてきていて、今回は3つの論文を紹介します。論文はRustを使って新しいOSの設計を模索するというものです。 1つ目がSOSP2017(Symposium on Operating Sy

                                        Rustは銀の弾丸となり得るか 新しいOS開発を実現する可能性
                                      • めくるめく粗挽きWebブラウザエンジンの世界 - Qiita

                                        EDIT: DOjS はp5.jsサブセットを実行できる MuJS ベースのJavaScript環境だ。DOM-less。 https://github.com/SuperIlu/DOjS EDIT: SerenityOSを忘れてた: http://serenityos.org/happy/1st/ 自作OSに自前ブラウザというかなりヤバいプロジェクト。ブラウザ部分は最近Qtなクロスプラットフォーム版が出来た https://awesomekling.github.io/Ladybird-a-new-cross-platform-browser-project/ 。 EDIT: Geckoとか ServoとかMosaic系列は省いてしまった。まぁみんな知ってるよね多分。そもそも粗挽きというよりはかなりmature productだし。。 2020 Web Milestones という記事で

                                          めくるめく粗挽きWebブラウザエンジンの世界 - Qiita
                                        • Twitterをたった1台のPCで運用するためにはどれぐらいのスペックが必要なのか?

                                          Twitterのような大規模なネットサービスは基本的に複数台のPCやデータセンターなどのインフラで運用されていますが、もしもTwitterを1台のPCで運用した場合、どのようなスペックのPCが必要になるのかについて、テクノロジー研究者のトリスタン・ヒューム氏が解説しています。ヒューム氏は、最新の高性能ストレージとデータの通信によって、Twitterのほぼ全機能を1台のPCで提供できる可能性について検討しています。 Production Twitter on One Machine? 100Gbps NICs and NVMe are fast - Tristan Hume https://thume.ca/2023/01/02/one-machine-twitter/ Twitterの核となる「ツイートの配信」では、ユーザーはテキストベースのツイートをフィードに投稿し、他のユーザーはそれら

                                            Twitterをたった1台のPCで運用するためにはどれぐらいのスペックが必要なのか?
                                          • エンジニアの活動情報からFour Keysを集計、可視化した話 - Pepabo Tech Portal

                                            データ基盤チームの @udzura です。今回は、昨年の後半にかけてデータ基盤チームで取り組んできた、開発者の生産指標である Four Keys の可視化についてお話をします。 Four Keysとは何か 生産性ダッシュボードプロジェクトの全体図 開発活動のExtractとLoadパイプライン 取得したデータのTransform ビュー部分 まとめと今後 画像について Four Keysとは何か 始めに、Four Keysについての説明をします。 Four Keysとは、GoogleのDevOps Research and Assessmentチームが6年間の研究の結果割り出した、ソフトウェア開発チームのパフォーマンスを示す4つの指標のことです。 詳細はGoogle Cloudのブログ記事「エリート DevOps チームであることを Four Keys プロジェクトで確認する」などをご確認

                                              エンジニアの活動情報からFour Keysを集計、可視化した話 - Pepabo Tech Portal
                                            • 多コピーの原罪

                                              Rust 分かんないッピ ・ε・ Rust の文字列周りのプラクティスを基礎から勉強してみようと思って勉強したのでそのときのメモをまとめます。 Rust は GC を持たない なぜ Rust の文字列周りの型があんなに大変なことになっているかは、Rust のメモリモデルと Copy の仕組みを学ぶことで理解できた気がしたので、メモリの話から始めます。 FYI: https://www.reddit.com/r/rustjerk/comments/ovx0uq/the_two_major_ways_rust_changed_my_life/ GC とは まずは GC からです。 GC とは Wikipedia をそのまま引用すると ガベージコレクション(英: garbage collection; GC)とは、コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に

                                                多コピーの原罪
                                              • Introducing Turbopack: Rust-based successor to Webpack – Vercel

                                                Vercel's mission is to provide the speed and reliability innovators need to create at the moment of inspiration. Last year, we focused on speeding up the way Next.js bundles your apps. Each time we moved from a JavaScript-based tool to a Rust-based one, we saw enormous improvements. We migrated away from Babel, which resulted in 17x faster transpilation. We replaced Terser, which resulted in 6x fa

                                                  Introducing Turbopack: Rust-based successor to Webpack – Vercel
                                                • Announcing WinterJS · Blog · Wasmer

                                                  Back to articlesAnnouncing WinterJSThe most performant JavaScript Service Workers server thanks to Rust and SpiderMonkey Follow up the WinterJS series reading about the recent production-ready WinterJS 1.0 release here. Today we are incredibly excited to announce WinterJS (wasmer/winterjs package). WinterJS is a JavaScript Service Workers server written in Rust, that uses the SpiderMonkey engine t

                                                    Announcing WinterJS · Blog · Wasmer
                                                  • Chrome の User-Agent 文字列削減に関する最新情報

                                                    .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                                      Chrome の User-Agent 文字列削減に関する最新情報
                                                    • RustのWebフロントエンドフレームワーク「Kagura」をElectron上で動かしてみる - Qiita

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

                                                        RustのWebフロントエンドフレームワーク「Kagura」をElectron上で動かしてみる - Qiita
                                                      • マイナンバーカードの仕組みはどうなっている? RustでAndroidアプリを作ってみて分かったこと【デブスト2021】

                                                        2020年コロナ禍の特別定額給付金では、マイナンバーカードがあればオンライン申請できて早めに給付金を受け取ることができた。少しずつマイナンバーカードを持つメリットが増えてきた。将来的には健康保険証や運転免許証の代替として利用できるという話もある。しかしもっと大きなメリットがあるという。ゆめみ 池口直希氏がRustを使ったマイナンバーカードを操作するアプリの作成を通して解説する。 株式会社ゆめみ マーケティングソリューション事業部 サーバーサイドエンジニア 池口 直希氏 マイナンバーカードの仕組みはどうなっている? 国立豊田高専を中退し、2021年4月にゆめみに入社した池口直希氏。サーバーサイドエンジニアでPHP、TypeScript、C#、Go、Rustといった言語のほか、AWS、Terraform、Dockerなどを使う。「なんでも屋なので、フロントエンドにも手を出したりもしています」と

                                                          マイナンバーカードの仕組みはどうなっている? RustでAndroidアプリを作ってみて分かったこと【デブスト2021】
                                                        • Rust/WebAssemblyのトラブルに効くデバッグ&高速化テクニック

                                                          本連載では、Webブラウザー上でJavaScriptとともに動作できるバイナリ形式のプログラムファイル「WebAssembly」を、Rustプログラミング言語で実装する方法を説明していきます。前回はRust/WebAssemblyとJavaScriptとのデータ交換について説明しました。今回は、ログ出力とファイルサイズ縮小の方法、および、成果物をパッケージにして世界に公開する方法を説明していきます。 はじめに 本連載では、Webフロントエンド開発において注目されているバイナリ形式のプログラムファイルWebAssemblyを、Rustで実装して活用する方法を説明しています。 より本格的にプログラムを開発するには、正しく動作させるまでにデバッグを行う必要があります。本記事ではデバッグ時に利用できるログ出力について説明します。また、アプリの読み込み速度をより速くできる、ファイルサイズ縮小方法につ

                                                            Rust/WebAssemblyのトラブルに効くデバッグ&高速化テクニック
                                                          • WebAssembly と JavaScript との間で自在にデータをやりとりする

                                                            はじめに 引き続き Rust + WebAssembly + SolidJS で遊んでいます。前回は、Rust 側で作成した文字列を JavaScript 側で console.log に出力することを考えましたが、今回は JavaScript 側から何らかのデータを Rust 側へ渡すことを考えたいと思います。今回も、wasm-bindgen[1] に頼らずにやっていきましょう。 メモリの確保と管理 WebAssembly のメモリ空間は、シンプルな Linear Memory(線形メモリ)になっています。Rust と JavaScript との間で、「プリミティブな数値型」より大きなデータをやりとりするためには、この Linear Memory 上にデータを配置するのが良さそうです[2]。 単一のメモリバッファの確保 メモリの確保は Rust 側で実施します。線形メモリ上には WebA

                                                              WebAssembly と JavaScript との間で自在にデータをやりとりする
                                                            • WebAssemblyの「WASI Preview 2」で、WebAssemblyコンポーネントの組み合わせによるアプリケーション開発を実現へ

                                                              WebAssemblyの「WASI Preview 2」で、WebAssemblyコンポーネントの組み合わせによるアプリケーション開発を実現へ Webブラウザ上で高速に実行可能なバイナリフォーマットとして開発されたWebAssemblyは、その後Webブラウザ以外の環境でも実行可能にするため、ファイルシステムなどOSごとに異なるAPIを抽象化するための業界標準仕様「WebAssembly System Interface」(WASI)が策定されました。 WASIの登場により、WebAssemblyはWebブラウザでもWindowsやMacでも、Dockerコンテナでも共通のバイナリで実行可能なバイナリフォーマットへと進化したのです。 参考:WebAssemblyをWebブラウザ以外の実行環境へ。システムインターフェイスへのアクセスを可能にする「WASI」の策定開始。Mozillaが呼びかけ

                                                                WebAssemblyの「WASI Preview 2」で、WebAssemblyコンポーネントの組み合わせによるアプリケーション開発を実現へ
                                                              • Rustのコードチェックを強力にする3つのツール | κeenのHappy Hacκing Blog

                                                                κeenです。 Rustaceanのみなさんは普段書いてるRustのコードを検証するのに cargo check や cargo test などのツールを使っているかと思いますが、それらを強力にするツールの miri 、 MIRAI 、 kani をそれぞれ紹介します。 Rustにはいくつかコードの正しさや行儀のよさを検査する方法がありますね。 cargo check や cargo test 、 あるいはビルドしたバイナリを走らせて検証したり色々手を尽くしているでしょう。 ですがこれらだけだとあらゆる種類のバグを拾いきれる訳ではないのもみなさん承知の通りだと思います。 既存の方法だと手が回らない所があるので他のアプローチでコードを検証してくれるツールがあると嬉しいですよね。 そういったツールを3つ紹介します。 先に注意しておくと、これらのツールはまだ成熟しきってはおらず使いづらい点、使い

                                                                  Rustのコードチェックを強力にする3つのツール | κeenのHappy Hacκing Blog
                                                                • 【Flash作者様へ】Flashの希望と未来【Ruffle】

                                                                  この記事は夏のブログリレー2020の記事です。 この記事は、Flashゲームの作者様に特に読んで欲しい記事です。この記事はとても長いですが、どうか最後までしっかりと読んでください。そして、サーバーからFlashゲームを削除するのを思い止まってください。将来、比較的安全にFlashをブラウザで実行できるようになるかもしれない方法が残されています。 また、Flashゲームを愛している、あるいはかつて愛した人も、この記事を読み、そしてできる限り多くのFlashゲーム作者様にこの記事が届くよう、拡散に協力をお願いします。 この記事のポイント Flashは2021年以降、従来の方法で遊ぶのはほぼ不可能 比較的安全かつ合法にFlashを動かす新たな方法が現在進行形で開発されている だから作者の方々は既存のFlashゲームを消さないで欲しい このことを広めて欲しい はじめに どうも、実はFlashゲーマ

                                                                    【Flash作者様へ】Flashの希望と未来【Ruffle】
                                                                  • バイバイ Python。 ハロー Julia! - Qiita

                                                                    こちらの記事は、Rhea Moutafis 氏により2020年5月に公開された『 Bye-bye Python. Hello Julia! 』の和訳です。 本記事は原著者から許可を得た上で記事を公開しています。 Pythonの勢いに歯止めがかかると同時に新しい競争相手の登場だ Juliaがまだあなたにとって未知であっても、心配しないでほしい。 Photo by Julia Caesar on Unsplash 誤解しないでほしい。 Pythonの人気は、コンピュータ科学者、データサイエンティスト、AIスペシャリストといった堅固なコミュニティによって支えられている。 しかし、これらの人々と一緒に夕食をともにしたことがあれば、彼らがPythonの弱点についてどれほどわめき散らしているのかも知っているだろう。 速度が遅いことに始まり過度のテストが必要になること、以前のテストにもかかわらずランタイ

                                                                      バイバイ Python。 ハロー Julia! - Qiita
                                                                    • 『ダンジョンズ&ドラゴンズ/アウトローたちの誇り』を原作TRPG側から紹介してみた|マイケル・スタンフォード

                                                                      3月31日、『ダンジョンズ&ドラゴンズ/アウトローたちの誇り』が公開された。 この世の「ロールプレイングゲーム」と名の付く物全ての始祖にあたるゲームを原作とした本作は、ゲームの映画化である事や日本での異世界モノであるかのような宣伝といった不安要素を吹き飛ばし、実際に見た人からは高評価の連続が相次いだ。 そこでこの機に乗じ、日本公式からはあまり紹介されていない原作との繋がりを中心に紹介したいと思います。本編の内容にガッツリ触れているため、映画を見た後のパンフレット代わりとしてお楽しみいただければ幸いです。 なお、D&Dの基本的な遊び方については下の公式の動画をご覧ください。 動画への補足として、映画で例えるなら、エドガン達一行がプレイヤーが操作するキャラクター、ソフィーナやフォージのようなキャラクターがダンジョンマスターが操作するNPC(ノンプレイヤー・キャラクター)にあたります。 加えて、

                                                                        『ダンジョンズ&ドラゴンズ/アウトローたちの誇り』を原作TRPG側から紹介してみた|マイケル・スタンフォード
                                                                      • この一年やったこと、継続していること (Rust とか 英語とか) - from scratch

                                                                        前回エントリを踏襲し、さらに一年間どんな事をやったか、という話を書こうかなと。 yosuke-furukawa.hatenablog.com 一年間やったことを振り返ると、英語と競技プログラミング、その過程で Rust をやっていました。 競技プログラミング系 LeetCode この一年間でトータルで解いた問題が806問になりました。これまで JavaScript で解いてたやつを Rust で解き直したりしてたので、解答数はそこまで増えてないのですが、 Rust の勉強と割り切っていたので、目標としては良かったかなと思います。 github.com LeetCode の戦績 一年間ずっとやったことで、金バッジをもらいました。 LeetCode Annual Badge ただ競技プログラマーとしてなにか成長したかと言うと、前回よりは解けるものの、「解けない問題が解けるようになった」というよ

                                                                          この一年やったこと、継続していること (Rust とか 英語とか) - from scratch
                                                                        • SQLite のおもしろ仕様 (1) : データ型 - kawasin73のブログ

                                                                          型は型、どうもかわしんです。SQLite では型は絶対ではなく、あくまでも尊重です。信用しすぎると裏切られます。 最近 Rust で SQLite をフルスクラッチで再実装しています。 github.com なるべく本家の SQLite と compatible にするために SQLite のドキュメントやコードを読んで挙動を理解しながら作っています。これを作ることになった経緯はこの記事で紹介していますが、その過程でいろいろ知らなかった面白い仕様や実装があったので紹介していきたいと思います。今回はその第一弾です。 kawasin73.hatenablog.com データ型と Type Affinity SQLite のドキュメントの中で、今の所一番面白いのがこれです。 www.sqlite.org まず、SQLite の内部的には 5 つのデータ型しかありません。 NULL INTEGER

                                                                            SQLite のおもしろ仕様 (1) : データ型 - kawasin73のブログ
                                                                          • Linuxのネットワークスタックが遅すぎる?RustとXDPでパケット処理!

                                                                            「Linuxのネットワークスタックが遅すぎる!」 詳細はわかりませんが、すごくエンジニアステージが高そうですね!ネットワークスタックの高速化は多くの前例があり、中途半端に試すと、周辺の詳しい人に一晩中、指導をうけるはめになりかねません。前例のないRustなら安心です。 典型的な高速化手法広く使われている高速化手法は、オペレーティングシステムのプロトコルスタックを使わずに、サーバアプリケーションが直接、NICにアクセスして、パケットを処理するというものです。Linuxの上で、FreeBSDのプロトコルスタックとサーバアプリケーションを統合するという、謎の組み合わせを運用しているクラウド事業者もいます。 上記の高速化手法のポイントの一つが、アプリケーションが、高速に、NICにアクセスするための手法です。たくさん提案されてきましたが、今回は、現在、人気があるXDPを使うことにします。聞いたことが

                                                                              Linuxのネットワークスタックが遅すぎる?RustとXDPでパケット処理!
                                                                            • Python 3.11から追加された標準パッケージtomllibの紹介 | IIJ Engineers Blog

                                                                              2018年新卒入社し、SOCにてインフラ管理を担当。その後、マルウェア解析や検証業務などに従事。2022年度からは、社内のSREチームにて兼務を開始。主な保持資格は、CISSP, OSCP, GREM, GXPN, RISS, CKA, CKSなど。バイナリを読むのが好きで、一番好きな命令はx86の0x90(NOP命令)。 はじめに 私は、業務でマルウェア解析のようなリバースエンジニアリングをしており、業務効率化のために自作ツールを作ることがあります。皆さんは自作のツールの設定ファイルに、どのようなファイル形式を利用していますか。昨今は、KubernetesやAnsibleなどで用いられるYAMLや、フロントエンド界隈で頻繁に利用されるJSONなどが多い印象です。そんな中、今回はTOMLと呼ばれるファイル形式の紹介をします。プログラミング言語Rustのパッケージ管理ファイルに利用されていた

                                                                                Python 3.11から追加された標準パッケージtomllibの紹介 | IIJ Engineers Blog
                                                                              • プログラミング1年くらいやってつまづいたこと

                                                                                プログラミングを本格的に始めてから1年くらい経ったので、今まで印象に残ったつまづきポイントを書いておく。 C言語 去年の今頃は 42 Tokyo の Piscine に参加していた(そのときの記事)。 このときはC言語でひたすら libc の再実装をしていた。それまでは Python や JavaScript でちょっとしたスクリプトを書いただけでC言語を書いたことが無かったのでとても辛かった(毎日100回の Segmentation fault を見る生活を4週間続けた)が、コンピュータの基礎に近づけた気がした。メモリをいちいち人間が確保したり解放したりしなきゃいけないというのがとても面倒だった覚えがある。 ところで、人間がコンピュータを使って何かしらの課題を解決しようとしたときに突き当たる壁として、ハードウェアやソフトウェアにそれぞれ多数の階層が積み重なっていて、どこで何が行われている

                                                                                  プログラミング1年くらいやってつまづいたこと
                                                                                • Linuxカーネルが難しい?Rustで実装しよう!. 「カーネル開発者になりたい!」 | by FUJITA Tomonori | nttlabs | Jul, 2020 | Medium

                                                                                  「カーネル開発者になりたい!」 クラウドネイティブ世代の皆様は、何を言っているのか理解できないと思いますが、一昔前は、Linuxカーネル開発の魅力におぼれたエンジニアがたくさんいました。クラウドファースト時代に、誰もやってないだろうと、軽い気持ちで試すと、今もひっそりと生息しているカーネル開発者に、一晩中、指導をうけるはめになりかねません。前例のないRustなら安心です。 RustでLinuxカーネルモジュールが実装できるRustでカーネルモジュールを実装する利点Rustへの愛だけが理由ではなく、カーネル開発にRustを用いると、様々なバグを減らすことができそうという利点があります。例えば、動的なメモリ管理で、うっかり、解放を忘れるとか、解放した後に使ってしまうと、往々として、辛いデバッグになります。 Rustで実装した簡単なカーネルモジュールRustのカーネルモジュール開発フレームワーク

                                                                                    Linuxカーネルが難しい?Rustで実装しよう!. 「カーネル開発者になりたい!」 | by FUJITA Tomonori | nttlabs | Jul, 2020 | Medium