タグ

programmingとRustに関するzyzyのブックマーク (16)

  • Koto Programming Language

    A lightweight scripting language for Rust applications. About Docs Install Playground About News Docs Playground

    zyzy
    zyzy 2025/03/30
    rustで組み込むための小型スクリプト言語
  • C++しか使ってこなかった男がRustを使ってみた - Qiita

    きっかけ このツイートが流れてきたのがきっかけでした。もともとRustには多少なりとも興味があったので せっかくだから読んで学んでみよう、ということで、プログラミング Rustの第2版を購入して読むことに。 を読んだ感想 基礎の基礎から順を追って学習するといった内容ではなく、サンプルコードやRustの機能の説明をステップバイステップで行っていき、各章の最後に一緒にコードを書いて何か作る、といった方式で せっかちな自分にとっては有難い構成でした。 特に、「C++ではこんな事が起きるけど、Rustではこんなことは起きない」といった、C++との比較を通してRustの特色を説明している点が非常にわかりやすかったです。また、プログラミング言語の歴史や背景にも触れながら、Rustが他の言語では解決できなかった課題をどのように克服してきたのかが理解できる、素晴らしい一冊でした。 最初は思想強めだな、な

    C++しか使ってこなかった男がRustを使ってみた - Qiita
    zyzy
    zyzy 2025/03/12
    C++のマスコット公式が多分ないからこんな非公式ネタ作られてるのかな?/予期せぬエラーは未定義動作とは違うくない?
  • Rustで進化するPayPayのスケーラビリティ

    PayPayの6年の歴史の中で、私たちは急速な成長を遂げてきました。現在、6700万人以上のユーザーにサービスを提供し、日々数百万件の決済を処理しています。しかし、これを成功させるためには、トラフィックと信頼性の要求を満たすための技術的な挑戦が伴います。 PayPayは設立当初からJavaとNodeJSを採用しており、これらの技術は非常にうまく機能してきました。しかし、成長に伴いサービスをスケールアップする必要が生じ、これによりKubernetesクラスターでのCPUとメモリの使用量が増加しました。これにはサーバーコストの増加が伴います。 2023年末、私たちはコアサービスでのトラフィックをより効率的に処理する方法を模索し始め、GraalVMGoRustなどさまざまな技術を調査しました。Rustは、その優れたパフォーマンスとメモリの安全性が保証されていることから、PayPayの多くのユ

    Rustで進化するPayPayのスケーラビリティ
    zyzy
    zyzy 2025/02/21
    おー、もともとGraalVMとかも使ってたんか。実用例がこんな所に。
  • 開発用適当ツールは Rust で作るのもオススメ

    開発用適当ツールは Go で作るのがオススメ!? 先日、開発用適当ツールはGoで作るのがオススメ という記事を拝見しました。 まだ読んでないよという方はぜひ読んでみてください! とても良い記事でした😌✨ Go 言語も CLI ツールの実装に向いているということも分かりました。 そして、Go 言語の魅力も伝わってきました...!! まとめると以下のような点がメリットとして挙げられていると思います。 go run で簡単に実行できる シングルバイナリにクロスコンパイルできる go.mod / go.sum が依存性管理を楽にしてくれる 動作速度も申し分なし たしかに開発用適当ツールの作成というユースケースは Go は魅力的な選択肢だと思います! 開発用適当ツールは Rust で作るのもオススメ 前置き 最初に大事なことを言っておきます。 タイトルにもあるように、Rust も であって GO

    開発用適当ツールは Rust で作るのもオススメ
    zyzy
    zyzy 2024/10/18
    python自分用のツールしか使わないなら環境で困らないんだけども、特定環境を想定した他人の奴も併用して使おうとすると途端に環境管理しないといけなくなるので、そこがないのはコンパイル言語の強みよな。
  • Nushellでの正規表現使用方法

    はじめに Nushellでの正規表現使用方法について説明します。 Nushellの正規表現ですが、Nushell公式マニュアルには以下のみの記述になっています。 Regular expressions in Nushell's commands are handled by the rust-lang/regex crate. If you want to know more, check the crate documentation: "regex". とさらっとしかかいていない状況です。regex crateはGoogleの高速なRE2にインスパイアされた正規表現のライブラリ(Crate)ですね。2017年の記事ですが、A comparison of regex enginesによれば、なかなか優秀なようです。 特徴的なものとして、(1)named capture groups,(2

    Nushellでの正規表現使用方法
    zyzy
    zyzy 2024/10/03
    regexの使い方まとめにもなるなこれ
  • Why Is SQLite Coded In C

    Note: Sections 2.0 and 3.0 of this article were added in response to comments on Hacker News and Reddit. Since its inception on 2000-05-29, SQLite has been implemented in generic C. C was and continues to be the best language for implementing a software library like SQLite. There are no plans to recode SQLite in any other programming language at this time. The reasons why C is the best language to

    zyzy
    zyzy 2023/09/21
    外言語とのコミュニケーションにかけてはやっぱCを媒介にするのが一番ってのはでかいよな/Rustは組み込み用にstd切るbare metalもできるのでそっちでやるのでは?
  • Async Rust Is A Bad Language

    But to get at whatever the hell I mean by that, we need to talk about why async Rust exists in the first place. Let’s talk about: Modern Concurrency: They’re Green, They’re Mean, & They Ate My Machine Suppose we want our code to go fast. We have two big problems to solve: We want to use the whole computer. Code runs on CPUs, and in 2023, even my phone has eight of the damn things. If I want to use

    Async Rust Is A Bad Language
    zyzy
    zyzy 2023/09/13
    async周りの仕様決定が迷走したの、静的精査を前提にしたRustの設計と根本的に相性が良くなかったからなんだろうな……とは思う。そもそもの食い合わせが悪い
  • Rustで型レベルプログラミング

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

    Rustで型レベルプログラミング
    zyzy
    zyzy 2022/09/05
    みんな大好きな奴
  • PlayStationエミュレータ作りに取り組んだ

    最近暇だったのでPlayStationのエミュレータ作りに取り組みました。そのまとめをしたいと思います。 PlayStationエミュレータ作りと聞くと難しそうに聞こえますが、実はかなり分かりやすいガイドブックが存在し、これに従うことであまり詰まることなく実装できました。 結果として5日ほどで、懐かしいオレンジのロゴが見れる程度の必要最低限の実装が行えたので、紹介したいと思います。 ※テクスチャは未実装なのでロゴが赤い四角になってる The ガイドブック 以下のPDFは、CPUの仕組みの簡単な説明から入り、0からBIOSのオレンジのロゴが表示できることろまで網羅した神ガイドブックです。言語は英語Rustです。 https://svkt.org/~simias/guide.pdf 普段のエミュレータ作りで時間のかかる作業は: 地獄のデバッグ PCのタイミング調整(パイプラインがある場合)

    PlayStationエミュレータ作りに取り組んだ
    zyzy
    zyzy 2022/07/11
    新しい奴の方がアーキテクチャは綺麗なんかねやっぱ/biosないとブートできないが一般的なbiosでは対応してない、って所理解してない人がおるな
  • GitHub - mintlify/writer: ✍️ AI powered documentation writer

    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 - mintlify/writer: ✍️ AI powered documentation writer
    zyzy
    zyzy 2022/07/05
    ちょっと面白そう
  • Rust AST 入門

    これは、簡単な Rust の AST をざっと読めるようになる、もしくは該当のドキュメントを読めるようになる、といったことを目的としたものである。入門といっても網羅的なものではなく、雰囲気を掴んでほしいという意味合いで書いたものであって細かいところまでは説明しないつもりである。なお Rust には型などより多くの情報も含む HIR などいくつかの AST があるが、ここではコンパイル時に最初に作られる AST についてのみふれる。 プログラミング言語で一般的に述べられる AST 自体についてはここでは説明しないので他を参照するとよい。有用そうなもののリンクは以下の通りである。 ASTs - What are they and how to use them Crafting Interpreters また、AST を確認するというと AST explorer も有用だが、 AST expl

    Rust AST 入門
    zyzy
    zyzy 2021/12/12
    Procedural macro書こうと思ったら理解していないと駄目らしいが、まだ全然わからん……
  • Rustの構造体メモリレイアウト - ryochack.blog

    Rustの構造体のメモリレイアウトについてのメモ。 Rustで次のような構造体を定義したときに、構造体のメモリレイアウトはどうなるか? struct Layout { b1: u8, s1: u16, b2: u8, w1: u32, b3: u8, w2: u32, s2: u16, s3: u16, } 検証時のRustのバージョンは次の通り。 stable-x86_64-unknown-linux-gnu rustc 1.24.1 (d3ae9a9e0 2018-02-27) TL;DR 先に結論を書く。 アトリビュート指定によって構造体のメモリレイアウトとサイズは以下のように変化する。 デフォルト 構造体サイズ20Byte repr(C)アトリビュート指定 構造体サイズ24Byte repr(packed)アトリビュート指定 構造体サイズ17Byte 以下に確認の過程を残しておく。

    Rustの構造体メモリレイアウト - ryochack.blog
    zyzy
    zyzy 2021/11/14
    知らなかった。賢いなぁ。
  • Actix - actor framework for Rust

    Actix WebActix Web is a powerful, pragmatic, and extremely fast web framework for Rust

    zyzy
    zyzy 2021/10/19
    rust版Akka-HTTPらしい。ActixがActorシステムでその上にActix-webが乗る、と。Actixの下はtokioとのこと
  • 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
    zyzy
    zyzy 2019/11/08
    歴史的経緯が本当にカオスってたのでありがたい。
  • Redirect

    Click here to be redirected.

    Redirect
    zyzy
    zyzy 2015/05/16
    穴あきだらけだと思ってたドキュメントも綺麗にそろったな……。
  • Redirect

    Click here to be redirected.

    Redirect
    zyzy
    zyzy 2015/04/08
    ふおおお、ちょっと見ない間に正式リリース秒読み段階に。ここまできたら意外と早かった
  • 1