タグ

Rustと考え方に関するzyzyのブックマーク (15)

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

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

    Rust の嬉しさをより多くの日本語話者に知ってもらうためには、スタンフォードで強く敷かれている educational benefit の概念を Rust コミュニティが抱くことが大事なのではないか、という私見
    zyzy
    zyzy 2023/02/13
    コンパイルエラーをはいてもらえるツールを使いこなせるというのは、時々コンパイルエラー吐いてもらうって事なんだから、そこに卑屈にならないでいいはずなんだよね。
  • Rust を ChatGPT だけで勉強する【実験記録】

    C++ 経験者が、ChatGPT との対話だけで Rust を学んでみる実験の記録です。 期待した回答が得られなかった際には、質問文を変えたり、回答を再生成したりしています。 AI の回答には不正確な情報が含まれている可能性もあります。不正確な技術情報が拡散しないよう、AI の回答は画像で掲載しています。

    Rust を ChatGPT だけで勉強する【実験記録】
    zyzy
    zyzy 2022/12/05
    質問が応用案件になってくるとややきついか。まぁでもweb上に学習用のテキストががっつりある奴なら大体はこれくらいいける奴かもしれん
  • WebAssembly と JavaScript との間で自在にデータをやりとりする

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

    WebAssembly と JavaScript との間で自在にデータをやりとりする
    zyzy
    zyzy 2022/11/17
    面倒だがまぁ本来はbindgenが埋める奴ではあるので……
  • グーグル、Rustで書かれたセキュアなOS「KataOS」を発表

    Googleが「KataOS」を発表した。これはオープンソースの「RISC-V」チップで動作する組み込みシステム向けに、新しいセキュアなOSを模索する初期段階の試みだ。 KataOSは「ほぼ完全にRustで」書かれているという。Rustは「Androidオープンソースプロジェクト」やLinuxカーネルプロジェクトで採用されているプログラミング言語だ。 Googleのオープンソースチームは、「KataOSはほぼ完全にRustで実装されており、Off-by-oneエラー(OBOE)やバッファオーバフローのようなバグのクラス全体を除去することで、ソフトウェアセキュリティの強力な出発点になる」と説明している。同チームは、インテリジェントなアンビエント機械学習(AmbiML)システムの構築を進めている。 プロジェクトGitHubページでは、KataOSとそれを包含するプロジェクト「Sparrow」

    グーグル、Rustで書かれたセキュアなOS「KataOS」を発表
    zyzy
    zyzy 2022/10/19
    組み込み向けOSとのこと。面白そうではある。
  • https://twitter.com/mattn_jp/status/1575682437551575040

    https://twitter.com/mattn_jp/status/1575682437551575040
    zyzy
    zyzy 2022/10/01
    世に怪文書は尽きないもんだな……。
  • Rust for Linuxでは独自のallocライブラリを使っている

    Rustを第二言語として採用してデバイスドライバなどのモジュールをRustで書けるようにする「Rust for Linux」が近々マージされる予定だともLinus氏自身が発言しています。 そんな期待のかかるRust for Linuxですが、提案された当初は期待こそされていたものの、様々な懸念点も指摘されていました。 その1つが標準ライブラリの一部であるallocクレートの設計です。 このクレートはヒープ領域を扱うBox、Vec、StringなどRustではお馴染みの構造体を提供しています。 Rustの標準ライブラリはOSのサポートを前提とした構造体も多くあります。そのため、OSそのものを書くようなベアメタルプログラミングにおいて標準ライブラリをそのまま使うことはできません。 使えるのはcoreと呼ばれる依存関係のない全く無いライブラリがありますが、allocはOSのサポートが必要なヒープ

    Rust for Linuxでは独自のallocライブラリを使っている
    zyzy
    zyzy 2022/09/20
    面白いな。
  • RustもJuliaやGoみたいに廃れて消えていく気がしている。 - Qiita

    Juliaは一時期すごい流行って数値計算の王座になると期待されライブラリも大量に作られたけど、結果Pythonの座を置き換えるにはいたらなかった。Goもコンテナ化との相性がよて一時期すごい流行ったけど、なんだかんだみんなJavaとかPHPとかRubyとか書いてる。 Rustもここ数年すごい流行ってるけど、JuliaとかGoみたいに飽きられて廃れていく気がする。 流行に敏感な人がなんか面白い言語あるぞーと騒ぎ出す。 様々なライブラリが乱立して色々出来るようになる。 数年かけて言語そのものが良くなっていき、ライブラリも淘汰や共通化されて成熟していく。 成熟したライブラリの開発は飽きられてメンテナンスされなくなる。 メンテナンスされてないライブラリを使いたくないから誰もその言語に参入しなくなる。 結果として言語そのものが衰退して、もとの成熟していてメンテナンスされ続けている言語とライブラリをみん

    RustもJuliaやGoみたいに廃れて消えていく気がしている。 - Qiita
    zyzy
    zyzy 2022/05/09
    Goがいつ飽きられたんだ、って思ったらもう言われてた
  • Rustでゲームボーイエミュレーターを書いた

    RustでTGB-Rというゲームボーイエミュレーターを書きました。 とりあえずWindowsLinuxで動作確認をしていて、エミュレーションの精度もそれなりに出ているはずです(以下は非公式ROMによるスクリーンショット)。 GameBoy WORDLE 2048gb Hi-Colour Demo Bad Apple!! 名前は、以前私が書いていたゲームボーイエミュレーターの精神的後継だったり、Rustで書いていたりとかでこうなりました。 以前書いたエミュレーターもオープンソースで公開していたのですが、ふと検索してみたら、GitHubプロジェクトができていて、メンテナンスが続けられていました。 私がこれを書いていた時期はGitHubどころかgit自体が存在しないような時代で、サーバーを借りてそこに手作りのアーカイブをしこしこアップロードしていたような、あまりに素朴な開発でしたが、そんな時

    Rustでゲームボーイエミュレーターを書いた
    zyzy
    zyzy 2022/03/07
    bevyエンジン良い感じだなー、ってずっと見てるんだけど、いい加減そろそろアニメーション周りの機能強化してほしいんだよなぁ。
  • Zola

    Your one-stop static site engine Forget dependencies. Everything you need in one binary. Get started No dependencies Zola comes as a single executable with Sass compilation, syntax highlighting, table of contents and many other features that traditionally require setting up a dev environment or adding some JavaScript libraries to your site. Blazing fast The average site will be generated in less t

    zyzy
    zyzy 2021/03/07
    そろそろrustちゃんと書き慣れたい
  • WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史

    はじめに 「Typescriptの次はRustかもしれない」という記事がバズってるのを見かけました。 なかなか面白くて、PAとしてのWASMRustを比較している記事です。ちょうど最近「レガシーおじさん、SPAを始めてみた。そして限界を知る」でも書いた通り最近SPAに手を出してみたのですが、いろいろやろうとするとSSRのためのBackend for Frontend (BFF)等が必要になるとわかり「これJSでやる必要なくない?」とも感じていたのでちょうど良かったです。 こういうのを見るとRIAやGWTのように似たアプローチで廃れた技術や、登場が早すぎたMeteor、今も頑張ってるMSのBlazorなど色々頭をよぎります。といわけで歴史を俯瞰する意味でHTML + JavaScriptとそれ以外の技術のせめぎ合いの歴史やMSのBlazorRustのyewなどWebassemblyを使う

    WASMとRustはVue.js/React.jsを打倒するのか? - JSへの侵略の歴史
    zyzy
    zyzy 2020/11/02
    ちょうど知識更新の空白期間だったせいかMeteor知らなかったな……
  • Rust で DOS

    終了 最初にrコマンドで、リアルモードx86のレジスタ群を確認して見ましょう。 下記の図のようになります。 2行にわたってAX,BXをはじめとする各レジスタの値が16進数で表示されています。 注:debug コマンドでは基的に16進数を扱います。 COM 形式と EXE 形式 いよいよ DOS で物のアセンブリを入力していきますが、その前に DOS プログラムの約束事を押さえておきましょう。 DOSプログラムの実行形式には COM 形式とEXE形式があります。 ここでは、より単純な COM 形式を扱います。 COM 形式のプログラムは、アドレス 0x100 から始まる決まりになっています。 先頭の 256 バイトが空いていることに違和感を覚えるかもしれませんが、これは ELF 実行形式の ELF ヘッダーのようのものと思うと理解しやすいでしょう。 先頭のアドレス空間は PSP(Prog

    Rust で DOS
    zyzy
    zyzy 2020/04/17
    DOSが動いているのを体感しない世代がゴリゴリこういうのを書いていく時代……。
  • Rust製の分散オブジェクトストレージをOSSとして公開しました - dwango on GitHub

    はじめに ドワンゴではniconicoの配信系サービスのバックエンドで利用するために、Frugalosという名前の分散オブジェクトストレージを開発しているのですが、この度OSSとして公開することとなりましたので、この場を借りて軽く紹介させて貰います。 FrugalosはRustで実装されており、現時点では以下のリポジトリが公開されています: raftlog_protobuf: raftlogへのProtocol Buffersサポートの追加 “Frugalos"って何? “Frugal object storage"の略です。 “frugal"は日語では「倹約な」や「節約する」といった意味となり、「読み書き性能を犠牲にせずに、膨大な数のBLOB(Binary Large OBject)を、容量効率良く保持する」ことを目指して開発されているオブジェクトストレージです。 提供されている機能は

    Rust製の分散オブジェクトストレージをOSSとして公開しました - dwango on GitHub
    zyzy
    zyzy 2018/10/26
    Rustの非同期周りの環境がめまぐるしく変わっている最中に作ったのは、確かに大変だったろうな……。
  • Rust で学ぶ epoll - Qiita

    Rust で学ぶ epoll 動機 Rust の futures はゼロコスト抽象化を謳っており、 Future トレイトは poll メソッドを備えている tokio の polling 戦略を知るには epoll の知識が避けて通れない - https://tokio.rs/docs/getting-started/tasks/ , https://cafbit.com/post/tokio_internals/ , epoll の例は C はたくさんあるけど Rust + nix は皆無だったのでやってみた コード extern crate nix; use nix::sys::epoll::*; use nix::sys::socket::*; use nix::unistd::close; use std::collections::HashMap; use std::os::u

    Rust で学ぶ epoll - Qiita
    zyzy
    zyzy 2018/07/06
    正直rustの非同期周りに関しては「事態が収束して標準がまとまってから呼んでくれ」ってなる……。
  • Compile-Time Fibonacci in Rust

    My roommate insisted that I learn some Rust. It's incomprehensible why my programmer roommate thought his marketer roommate needs to know Rust, but oh well, I spent a bit of time learning Rust. Rust has many curious features. One of them is (hygienic) macros. The grammar of macro_rules! is explained in prose without clear grammar definitions, making it a bit hard to grasp. But after a few false st

    zyzy
    zyzy 2016/03/11
    Scalaと違って型ではそう凝った事は出来ないはず……と思っていたらMacroでやりやがった。
  • Nim引退

    nim-fuseについてはちゃんとメンテしますが、Nim引退しようと思います。たぶんこの引退は覆りません。 この前Rustを引退して、今後はNimも引退します。 coreutils splitのマージ。そしてRust引退 - テストステ論 私はOSだとかストレージだとか、システムプログラミングばかりやってる人間であって、基的にC言語ばかり書いているわけですが、C言語は全く糞だしもう人類はこれを使うべきではないと思っています。そう思う人が少なくないのか、次世代システムプログラミングを作る流れがあって、有名順でいうと、D > Rust > Nimという感じになるのでしょうか。 このうち、Dについてはを読みかけの段階でリタイア(難しすぎる!!!)して、Rustはcoreutilsにいくつかコードを入れて引退、Nimnim-fuseを作って引退。使ってみると色々と悪いところが見えてくるもので

    Nim引退
    zyzy
    zyzy 2015/04/16
    一通り使って比較してから選ぶ、というのは割と皆が通る道だろうけど、コアなライブラリ開発にコミットした上で、ってのはそうそうないよな……凄いとしか。
  • 1