タグ

ブックマーク / zenn.dev/skanehira (4)

  • GopherがRust入門したので違いをまとめてみた

    はじめに ウホウホ。 Rustを使い始めてちょうど2年くらい経って、すこしRustのことがわかってきたので、改めてGoRustのそれぞれの違いを整理したいなと思いこの記事を書きました。 筆者はウェブ開発の経験しかないので、ウェブを中心にまとめています。 気づいたらかなりな量になってしまったのとGopher向けにRustを紹介するような記事になってしまいましたが、よければ読んでみてください。 筆者について Goを使い始めて7年ほど経っていて、これまでCLI/TUIツールをいくつか作ってきました。 スペシャリストではないですが、プロダクトでGoを書く分には特に問題ないレベルかなと思います。 Rust2022年夏ころから使い始めてちょうど2年ほど経ちました。 なにかツールを作ったわけではないですが、勉強がてらにいくつか作ったもの・書いたがあります。 普通にRustを書く分には問題ないですが

    GopherがRust入門したので違いをまとめてみた
  • RustでWasm Runtimeを実装する

    Rustで"Hello World"を出力できる小さなWasm Runtimeをゼロから実装して、WasmとWASIの動作原理を理解するです。

    RustでWasm Runtimeを実装する
  • RustでWasm Runtimeを実装してみた

    はじめに 最近Wasmの勢いがすごくて、ブラウザでPostgreSQLを動かせたり、DockerWasmを動かせたりできます。 以前からWasm自体に興味があって、動作原理を知りたいと思ってchibiwasmというRuntimeを実装してみました。 Rustを選んだのは、最近Rustを勉強していてそれに慣れるためです。 苦労しましたが、*.wasmがどのようにして実行されるのかを理解できたので良かったです。 今回はWasmのバージョン1の仕様を満たすように実装して、テストスイートは正常系と実行時異常系のテストは通しましたが、バリデーションなどのテストはスキップしています。 また、少しだけバージョン2の命令とWASIを実装していて、RustからビルドしたHello Worldを標準出力するwasmバイナリも動きます。 記事は実装したWasm Runtimeの概要と、実装を通して学んだこと

    RustでWasm Runtimeを実装してみた
    razokulover
    razokulover 2023/04/24
    実装してみたくなった
  • Rustのライフタイム推論入門

    はじめに 「ライフタイムなんもわからん」ので、勉強した内容を整理しました。 Rust初心者なので、間違いがあったらコメントにて指摘頂けるとうれぴっぴです。 ライフタイムのおさらい Rustはすべての参照にライフタイムを持ちます。 明示的にライフタイムを指定する場合は'aのような、ライフタイムパラメータを使用する必要があります。 しかし、すべての参照にライフタイムパラメータを書くのは手間がかかるので、 一定のルールに沿ってライフタイムを推論しルール外のものはコンパイルエラーという仕様になっています。 ライフタイムパラメータを書ける場所は「ライフタイムポジション」と呼ばれ、次の場所で書くことができます。

    Rustのライフタイム推論入門
  • 1