[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

rustに関するmicknのブックマーク (70)

  • Rust 再学習戦記 - じゃあ、おうちで学べる

    プログラミング言語の再入門とは、未知の大地への探求というよりも、私たちが知っているはずの領域を新たな視点で見つめ直す営みです。それは初めての出会いのような激しい高揚感とは異なり、むしろ静かな再発見の過程といえるでしょう。 この記事は3-shake Advent Calendar 2024 シリーズ2の12日目の記事です。 はじめに 2017年、私の心にRustという言語が静かに灯りを点しました。その光は、システムプログラミングの深い理解への憧れを呼び覚まし、私を導いていきました。情熱に突き動かされるように、DevOpsツールの創造から始まり、パケット解析の探究へ、そしてWebフレームワークの実装へと、私の歩みは広がっていきました。 高速な実行速度と安全性という輝きに心を奪われながらも、未熟なエコシステムという現実が私たちの前に立ちはだかりました。パッケージの追従に心を砕き、破壊的な変更に耐

    Rust 再学習戦記 - じゃあ、おうちで学べる
    mickn
    mickn 2024/12/13
  • Effective Rust

    Rustはいま最も勢いのある言語の1つ。特に、そのパフォーマンスの高さ、安全性、並行性から、C/C++に代わる言語として、システムプログラミングや低レイヤの開発では高く評価されています。Googleのソフトウェアエンジニアとして、さまざまなGoogleサービスのRust実装を担当してきた著者が、Rustへの深い理解と豊富な経験から得られた実用的なノウハウを共有。所有、借用、生存期間、トレイトといったRust特有の概念を具体例を示して詳しく説明するとともに、Cargoによる依存ライブラリ管理やClippyなどのエコシステムの活用方法を詳述しています。Rustの入門書を読了した読者に、「Rustらしい」プログラミング方法を伝授する一冊です。 まえがき 1章 型 項目1:データ構造を表現するために型システムを用いよう 項目2:型システムを用いて共通の挙動を表現しよう 項目3:OptionとRes

    Effective Rust
    mickn
    mickn 2024/10/24
  • 開発用適当ツールは Rust で作るのもオススメ

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

    開発用適当ツールは Rust で作るのもオススメ
    mickn
    mickn 2024/10/18
  • これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT

    2024/07/27 TechRAMEN 2024 Conference 概要: 私にとって何番目の言語になるかはもう数えていませんが、昨年 Rust を学び、 OSS の開発ができるところまでやってきました。私はそれまで Rust の学習に何度か挫折しており、今回ようやくその壁を乗り越えたので…

    これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
    mickn
    mickn 2024/10/16
  • Rust始めてみた。JSONフォーマッターを作ってみた | stin's Blog

    唐突にRustを使ってみたいと思ったので勉強を始めてみました。 始めた理由始めてみたかった理由は色々あります。 まずはやはりフロントエンド開発ツールが色々とRustで実装されることです。VercelはTurborepoとTurbopackをRustで実装していますね。JavaScriptコンパイラのSWCもRustで実装されています。あとは、uhyoさんのnitrogqlもRustで作られていて、おもしろいなと思いました。そんな感じで、コンパイラ実装でRustがよく使われていることと、ビルドツールなどのテキスト処理に興味があったのが1つ目の理由です。 あとは、Tauriですね。ふとデスクトップアプリを作りたいと思ったときにTauriを調べたんですが、TauriのバックエンドをRustで書けたらかっこいいなと思いました。普通にJavaScriptでも書けるらしいんですが、かっこよさ重視です。

    Rust始めてみた。JSONフォーマッターを作ってみた | stin's Blog
    mickn
    mickn 2024/10/16
  • 『RustによるWebアプリケーション開発 設計からリリース・運用まで』という本を共著で書きました - Don't Repeat Yourself

    RustのWebアプリケーション開発に関する書籍を共著で執筆しました。1年くらい執筆していましたが、出版時期などが定まってきたので内容の紹介を込めて告知の記事を書きます。9/26刊行予定です。予約よろしくお願いします。 RustによるWebアプリケーション開発 ↓AmazonのURL(アフィリエイトなし) www.amazon.co.jp 数年前に書籍を執筆した際に、「次はWebアプリケーションの実装に関するを書きたい」と記事に書き残していたのを今見つけたのですが、有言実行できたようです。 どんなか? Rustってバックエンド開発に向いてるの? 著者について 目次とトピックの簡単な紹介 はじめに 第1章 書で開発するアプリケーション 第2章 開発環境の構築 第3章 最小構成アプリケーションの実装 第4章 蔵書管理サーバーアプリケーションの設計 第5章 蔵書管理サーバーの実装 第6章

    『RustによるWebアプリケーション開発 設計からリリース・運用まで』という本を共著で書きました - Don't Repeat Yourself
    mickn
    mickn 2024/09/16
  • RustでUnion Typesを実現する型レベルプログラミングの技術

    はじめに この記事では、RustでUnion Typesのように型の集合を表現する方法について解説します。型レベルリストを用いることで型の集合を表現し、Trait Resolutionを使って特定の型が集合に含まれるかどうか、またある集合が別の集合を含むかどうかを判定することができます。 実装の核となるのは、再帰の深さを表す型パラメータを使った型レベルリストの再帰的処理です。このトリックを使うことで、型レベルリストに対する様々な処理が実現できます。

    RustでUnion Typesを実現する型レベルプログラミングの技術
    mickn
    mickn 2024/09/07
  • Puzzling "expected fn pointer, found fn item"

    mickn
    mickn 2024/08/25
  • Table of Contents - Rust Cookbook

    Cookin' with Rust This Rust Cookbook is a collection of simple examples that demonstrate good practices to accomplish common programming tasks, using the crates of the Rust ecosystem. Read more about Rust Cookbook, including tips for how to read the book, how to use the examples, and notes on conventions. Contributing This project is intended to be easy for new Rust programmers to contribute to, a

    mickn
    mickn 2024/08/18
  • 安定化間近!Rustのimpl Traitを今こそ理解する - 簡潔なQ

    概要: impl Trait が安定化間近である。これはトレイトオブジェクトと似た用途を持つが、静的ディスパッチされSizedのまま使えるため効率的である。 impl Trait が安定化間近 Rustでは新規の機能はまずnightlyバージョンに「不安定機能 (unstable feature)」として取り入れられます。そこでの実験を経て、プログラミング言語Rustに半恒久的に導入してもよいと合意されたものだけが「安定化 (stabilize)」され、betaやstableバージョンのコンパイラでも使用できるようになります。 さて、現在 「impl Trait」と呼ばれる機能の安定化のめどがたったというアナウンスがありました。この機能は2016年夏ごろに実装され、長い間待ち望まれてきた目玉機能のひとつでしたが、ここにきてようやっと、という感じです。そこで、 impl Trait について

    安定化間近!Rustのimpl Traitを今こそ理解する - 簡潔なQ
    mickn
    mickn 2024/08/18
  • Release 🚀 Farm v1.0 is released! · farm-fe/farm

    Farm⭐️ is a next-generation web build tool written in Rust. It is currently the most powerful, fastest, and most stable Rust web build tool. Since Farm open its source code of version 0.3 in March 2023, after a year of development and contributions by many community developers, version v1.0 has finally been released! The v1.0 version supports a large number of features including lazy compilation,

    Release 🚀 Farm v1.0 is released! · farm-fe/farm
  • RustでWebバックエンドを書き始めてから1年くらい経った

    はじめに 僕はDeno Land Inc.でDenoを利用したサーバレスエッジホスティングサービスのDeno Deployを開発するチームに所属しています。OSSのほうのDenoのメイン言語はRustで、Deno Deployのバックエンドも同様にRustで書かれています。 今年のアドベントカレンダーで一休さんから以下の記事が公開されましたが、日でもRustをWebバックエンドの言語として採用する企業がじわじわと増えてきている印象があります。 Deno DeployのバックエンドをRustで開発してきて、RustでWebバックエンドを書くことのメリットやデメリットをいくつか感じたので、この記事で紹介したいと思います。 Deno Deployの構成 まず、ざっくりとDeno Deployのバックエンドの構成を紹介します。 多くのコンポーネントがありますが、ここではどのようにRustを利用し

    RustでWebバックエンドを書き始めてから1年くらい経った
    mickn
    mickn 2023/12/31
  • Making Rust supply chain attacks harder with Cackle | David Lattimore

    Making Rust supply chain attacks harder with Cackle If you want a slightly shorter read, skip to Introducing Cackle. A hypothetical story about Alex Alex is a software engineer who has built a tool which she licences to her customers. She only has a small number of clients, but they like her tool. She built her tool using Rust, with about 20 direct dependencies from crates.io. When you count indir

    mickn
    mickn 2023/10/11
  • RustRover の紹介 - JetBrains によるスタンドアロン型 Rust IDE | The RustRover Blog

    Rust IDE はいつ登場しますか?」 この質問はユーザーの皆さまから非常に多く寄せられていますが、日ついにその日がやってまいりました。 Rust 用スタンドアロン型 IDE の「RustRover」をご紹介します。 多くの方はお気付きかと思いますが、JetBrains は数年間にわたって IntelliJ IDEA と CLion で機能するプラグインの形で Rust 機能のサポートをお届けしてきました。 しかし、コミュニティからは Rust に特化した専用の IDE をはじめ、既存の JetBrains IDE と同等の機能も備えたエコシステムに対するご要望が何度も寄せられていました。 日より RustRover 早期アクセスプログラム(EAP)を開始します。ぜひお試しの上、フィードバックをお寄せください。製品の改善に役立てさせていただきます。 私たちはフィードバックに耳を傾け

    RustRover の紹介 - JetBrains によるスタンドアロン型 Rust IDE | The RustRover Blog
    mickn
    mickn 2023/09/18
  • Rustに影響を与えた言語たち

    各カラムの意味は次のとおりです。言語の特徴は主にWikipediaを参考にしていますが、正確な分類は困難なため多少の独断と偏見が含まれていることをご了承ください。 登場年代 プログラミング言語が登場した年代です。前後3年の誤差は見逃してください FP(関数型プログラミング) 言語がFPを強くサポートしているかを示しています 程々にサポートしている場合は△を示しています OOP(オブジェクト指向プログラミング) 言語がOOPを強くサポートしているかを示しています 並行計算 アクターや CSP/π計算モデルの特徴を言語が強くサポートしているかを示しています 外部ライブラリを使えばできるよ!みたいなものは除外します 静的型付け 言語の最も主要な処理系が静的型付けをサポートしているかを示しています パラメータ多相 言語がパラメータ多相をサポートしているかを示しています ジェネリクス(Java)、テ

    Rustに影響を与えた言語たち
    mickn
    mickn 2023/09/06
  • Rustのmatchのネストが深くなりすぎたときの一工夫

    最近またRustを勉強し始めています。 気がついたらmatchのネストが深くなりすぎていた Resultの処理をするのにmatchが便利です。 でもOkのときに続きの処理を書いていったら、ネストが深くなりすぎてしまいました。 こんな感じ。 loop { match reader.read_ivf_frame_header() { Ok(frame_header) => { let len: usize = frame_header.frame_size as _; match reader.read_frame(&mut frame_buffer[..len]) { Ok(_) => {} Err(ref e) if e.kind() == ErrorKind::UnexpectedEof => break, Err(e) => { eprintln!("Error: {e:?}"); b

    Rustのmatchのネストが深くなりすぎたときの一工夫
    mickn
    mickn 2023/08/27
  • Best Rust Web Frameworks to Use in 2023 | Shuttle

    Introduction In the dynamic landscape of web development, Rust has emerged as a language of choice for building safe and performant applications. As Rust's popularity grows, so does the array of web frameworks designed to harness its strengths. This article compares some of the best Rust frameworks highlighting their respective advantages and drawbacks to help you make informed decisions for your

    Best Rust Web Frameworks to Use in 2023 | Shuttle
    mickn
    mickn 2023/08/24
  • Building cross-platform Rust for Web, Android and iOS - a minimal example | Andy Balaam's Blog

    One of the advantages of writing code in Rust is that it can be re-used in other places. Both iOS and Android allow using native libraries within your apps, and Rust compiles to native. Web pages can now use WebAssembly (WASM), and Rust can compile to WASM. So, it should be easy, right? Well, in practice it seems a little tricky, so I created a small example project to explain it to myself, so may

    Building cross-platform Rust for Web, Android and iOS - a minimal example | Andy Balaam's Blog
    mickn
    mickn 2023/07/10
  • はじめに - Embedded Rust Techniques

    1. はじめに このは、Rustで組込み / ベアメタルプログラミングするための小技を集めたものです。OSにホストされた環境でプログラミングするだけでも、Rustには特有の複雑さがあります。その複雑さは、コンパイル時に型安全性、メモリ安全性、スレッド安全性を保証するための対価です。私は (そして多くのRustaceanが) 、その対価を妥当なものと考え、Rustでのプログラミングを楽しんでいます。 Rustを組込み / ベアメタル環境で使おうとすると、上述した複雑さに加えて、特別な知識が求められます。このは、私が知る限りの特別な知識を詰め込んだクックブックです。 このの内容は、Rust Embedded devices Working Groupが発行している組込みRustドキュメントの内容を数多く含んでいます。書に含まれる内容の多くは、私が独自に考えたものではなく、Web上に公開

    mickn
    mickn 2023/07/08
  • Welcome to Comprehensive Rust 🦀 - Comprehensive Rust 🦀

    Welcome to Comprehensive Rust 🦀 This is a free Rust course developed by the Android team at Google. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling. The latest version of the course can be found at https://google.github.io/comprehensive-rust/. If you are reading somewhere else, please check there for updates. The course is availab

    mickn
    mickn 2023/06/28