タグ

Rustに関するarx0balestのブックマーク (17)

  • My new error...

    2023 年度の僕のエラーハンドリング について書きたい。 昨日Safe Data Fetching in Modern JavaScriptを読んでいて、fetch に限った話ではないが一家言ある内容だったので書きたくなった。 おそらくやりすぎだとか非効率と言われる点はあると思うので、みんなの一家言も教えて欲しい。 対象は Typescript での サーバー開発想定だが、TS であればクライアント開発にもほとんどに当てはまる話だと思う。 例外のスローではなく Result 型を使う Result は失敗するかもしれないという文脈を与えてくれる型 エラーハンドリングの戦略として例外を投げるのではなく、Result 型を返すやり方がある。 Result 型というのは export type Result<T, E> = Ok<T> | Err<E>; export interface Ok

    My new error...
  • 「たかがJavaScript」のその先 #TECHPLAY

    フロントエンドと自分のキャリア形成について。このスキルツリーとセットで見るといいかもです。 https://whimsical.com/oPYtoDPyho6uWK1gDmD9e

    「たかがJavaScript」のその先 #TECHPLAY
  • なぜRustなの?と言われた時のために

    20 秒で概要 当記事では、Rust における以下の 4 つのいいところを特徴を紹介します。 他の言語と比較しながらコンセプトを学ぶことで、なぜ今 Rust を学ぶべきかを理解できます。 Rust はメモリ安全な言語です Rust はリッチな型システムがあります Rust はエラー処理が分かりやすい Rust は健全なコミュニティの有るエコシステムです また以下のような、Rust 学習における最初の一歩のお手伝いもします。 環境のセットアップ 写経に適したチュートリアルの紹介 躓きポイントの紹介 Rust のいいところ Rust はメモリ安全な言語です。 これまでのメモリ管理手法 プログラミング言語によるメモリ管理には、これまで 2 種類の方法が有りました。 プログラマが全責任をもって管理する 例)C 言語 char *str; int length = 100; // 100byte(半

    なぜRustなの?と言われた時のために
  • 自分のお気に入りのエディタテーマを見つけられるサービスを作った

    何を作ったか エディタやシンタックスハイライトのテーマは星の数ほどあり、自分が当に好きなものが何かを答えることは難しいと思っています。そこで、2つのテーマを並べどちらが好きかに回答し続けることで、どのテーマが一番好きかを調べられる syntax highlight battle というサービスを作りました。 FYI: https://syntax-highlight-battle.ojisan.dev/ 元々、最強の syntax highlight を知りたくてバトルするサイトを作った話 というものを作っていたのですが、これは自分がどのテーマを使うか悩んだときに知人にとったアンケートサイトとして作っており、そのときに「自分が選んだ一番気に入っているテーマを知りたい」という声を頂いていたことを思い出したので、作りました。 自分にあうテーマを見つけたい人は是非とも使ってみてください。 改善

    自分のお気に入りのエディタテーマを見つけられるサービスを作った
    arx0balest
    arx0balest 2022/02/15
    遺伝的アルゴリズムで最高に●●●なエディタテーマを作ろう!
  • 「Rustでやると知らないうちに詰む設計」を避けるためのTipsを集めてみる

    とりあえず、よく言われてるやつから埋めていこうと思う。 構造体にライフタイムを持たせない 構造体にライフタイムを持たせるのは「基的に」避けよ、というのが重要なのは間違いないのだけど、これをもう少し実践的な内容にしたい。ちょっと考えてみたけど、こういうのはどうだろうか。 ある関数呼び出しの中でしか絶対に使わない。returnするまでにその構造体のデータは全て破棄される。static変数に退避させることもできない。アロケーションもその関数が面倒を見る。そういう一蓮托生できる関数呼び出しに心当たりはあるか? ある→ 構造体にライフタイムを持たせてもよい。 ない→ ライフタイム禁止。 そう考えてみると、DIとかReduxとかとも通じるところがあるかもしれない。「つべこべ言ってないで全部の責務を一番外側に持っていく」という決断ができるときは構造体ライフタイムが選択肢に入る。

    「Rustでやると知らないうちに詰む設計」を避けるためのTipsを集めてみる
  • Rustで真に安全なプログラムを書く方法 - かとじゅんの技術日誌

    この記事はRust Advent Calendar 2021の12/8日の記事です。 Rust前提の記事として書きましたが、他の言語にも適用できる考え方なので、ほかの言語勢の方々もよければお付き合い下さい。 今回のテーマは「Rustで真に安全なプログラムを書く方法」についてです。 「真に安全なプログラム」の定義は以下とします。 挙動が安定し、結果が予測可能となる 正しさの基準に基づき、プログラムの間違いを検知することができる 「真に」とはドメイン知識に基づく正しさという意味です。詳しくは後述します。 それと「そもそもRustで実装されるプログラムは安全じゃないのか」という想定質問については「メモリの操作は安全。だが、それだけでは真に安全なプログラムにはならない」が答えになります。これについて興味がある方、ぜひ最後までお付き合いください。 「真に安全なプログラム」を実現するレシピとしては「関

    Rustで真に安全なプログラムを書く方法 - かとじゅんの技術日誌
  • 高校生が作った有料サービスがちょっと儲かったのでいろいろ書く

    Discordの有料読み上げBotを運営している高校3年生です。公開2年目で月に12kほど利益が出ています。 最大4つのボイスチャットで読み上げ可能 可用性99% Webダッシュボード などの機能があります。Discordを使っている方がいれば、ぜひ導入していただけるとうれしいです。 コミュニティの宣伝 未踏ジュニアに採択された採択者で、未踏ジュニアに挑戦したい方向けのコミュニティを始めました!約12人の採択者と話をしたり、質問できます!ぜひ共有していただけると幸いです🙏 なぜ作ることにしたのか? 昔(4年前)頃から無料のDiscordの読み上げBotは存在していましたが、どれも使う人数が多すぎて制限があったり、読み上げが遅くなったりするという問題がありました。そこで、有料の読み上げBotを運営することにしました。 料金体系 一律で月500円/20万文字のサブスクリプションにしました。g

    高校生が作った有料サービスがちょっと儲かったのでいろいろ書く
  • Rust入門

    プログラミング言語Rust入門です.なるべくわかりやすいように解説しました.公式ドキュメントを読んでみたけど,あまりよくわからなかったという人に向いているかもしれません. 誤字や間違いなどのご指摘は以下からコメントをお願いします. https://zenn.dev/mebiusbox/scraps/90bc293a07430d

    Rust入門
  • Rust を始めるための資料集 - Don't Repeat Yourself

    かとじゅんさんのお誘いで、私塾匠真堂にて登壇させていただき、Rust に関する話をさせていただきました。ありがとうございました。 今回のセッションを通じて Rust を始めたくなった方向けに、Rust をはじめるための資料をいくつかリストアップしてます。よかったらどうぞ。 プログラミング言語の学習方法について Rust についてまず概観を掴む 文法を学ぶ 何かアプリケーションを実装してみる ちょっと突っ込んだ話を知りたい コミュニティの力を借りる 仲間を見つける 更新履歴 プログラミング言語の学習方法について みなさんは新しいプログラミング言語を学ぶ際、どのように学びますか? 私は、軽く制御構文やデータ型の作り方などを学んだ後は、すぐにアプリケーションを作ってみて、詰まったらリファレンスを参照するといった学び方をしていることが多いです。 逆に、リファレンスをまず眺めて、文法をしっかり把握し

    Rust を始めるための資料集 - Don't Repeat Yourself
  • Rust は何を解決しようとしたのか;メモリとリソースと所有権

    みなさん、 Rust 書いてますか?最近は Rust が楽しくてたまりませんが、のんびりやっていたらなんとなく理解するまで 1 年くらいかかってしまいました。 良い言語なので、できればみなさんにも気軽に手を出してもらいたく、 Rust の中で特に難しい概念とされている話「所有権(ownership)」について簡単にまとめることにしました。 おことわり 今回記述する「所有権」は、英語で "ownership" として表現されるものを和訳した単語です。 今回説明している概念は、「所有権」という言葉よりも "ownership" (およびその対訳である「所有」、「持ち主であること」) のほうが的確であると思いますが、このドキュメントでは「所有権」という言葉を使います。 所有権とは 所有権とは、簡単に言えば「値(データ)を持っている」 「その値を解放することに責任を負っているもの」のことを指します

    Rust は何を解決しようとしたのか;メモリとリソースと所有権
  • Node 系ツールのプロジェクト間のバージョン管理に Volta を使い始めてみた

    プロジェクト間で必要とされる node.js のバージョンが違うことはままあり、そのために皆さん nvm や nodebrew などのツールを使っておられることだろうと思います。 今回それ系統で Volta というツールを知ったので紹介いたします。 Volta - The Hassle-Free JavaScript Tool Manager Volta の特徴 セットアップが比較的簡単 Rust製で速いらしい 実行する node のバージョンなどをプロジェクトのディレクトリに入るだけで自動で切り替えてくれる npm や yarn でグローバルインストールした時も、どのディレクトリでインストールされたかを自動で記録するため、コマンドラインから直接コマンドを実行できつつもプロジェクト毎に違うバージョンを使うことができる node だけでなく npm や yarn もプロジェクト毎に固定できる

    Node 系ツールのプロジェクト間のバージョン管理に Volta を使い始めてみた
  • LinuxコミュニティはRustを受け入れた

    私が最近注目しているプログラミング言語がある。Rustだ。Rustとは、錆のことである。何が錆なものか。JJだ。 RustはMozillaが開発しているプログラミング言語である。恥ずかしいことに私はRustの存在をつい最近まで知らなかった。私がRustの存在を知ったのはkernelvmでのことである。発表をustで聴いたあと自分で調べるとなるほどこれは私の望んでいた言語だと思った。そしてそれは、Linuxコミュニティが望んでいた言語でもあったのだ。 昨今、Go言語なるものが流行っている。も杓子もDockerの実装言語として採用されているためだ。しかし、Goは私のテイストに合わない。プログラミング言語というのは、異性のようなもので、一目見ただけで良いとか悪いとか感じるものである。これがまさにテイストということであり、言語にこだわりがないなんて人は、「誰でも良い」と言ってるようなものである。

    LinuxコミュニティはRustを受け入れた
  • 年末年始 Rust 振り返り

    年末年始の短い冬休みは何もすることがなく(いや、することはいくらでもあるんですが)、ずっと Rust のコンパイルエラーと見つめ合っていました。去年は後半から久々にそこそこの時間を Rust に費やしたので、思ったことを振り返りたいと思います。 所有権と生存期間は理解できてからがRust と言えば所有権と生存期間です。難しいと言われる理由です。難しいです。難しいのでドキュメントや Rust でもページを割いて解説されています。 Rust も出版されましたし、理解しやすくなったと思います。 が、所有権と生存期間は理解できてからが番です。ある程度の規模のコードを書いて間違えて書き直してを繰り返し、設計と実装のトレーニングを積まないと身につきません。コンパイルエラーが出るたび、まだまだ理解が浅いと痛感します。 GC がないとはそういうことです。 とにかくデータ型の設計に苦労するRust

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRustRustを使って、実際にアプリケーションを3つ書いてみましょう! その前に、プログラムの構造化に必要な手法、ジェネリクス、構造体、列挙型、それにトレイトといった概念についても説明します。 前回の記事では、Rustの基的な文法や型を説明し、他のプログラミング言語ではあまり見かけない、Rustならではのメモリ管理の仕組み(所有権・参照・ライフタイム)についても解説しました。 今回は、Rustを使って、実際にアプリケーションを書いてみましょう。 制作するのは、Unix環境ではお馴染みの文字列検索プログラムであるgrep(その機能限定版をRustで書いたrsgrep)、アナグラム(単語の文字を入れ替えた単語)を求めるプログラム、そしてHTTP/0.9サーバです。 しかし、アプリケーション開発に入

    実践的なアプリケーションを書いてみよう! Rustの構造化プログラミング【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • 最速で知る! プログラミング言語Rustの基本機能とメモリ管理【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!

    最速で知る! プログラミング言語Rustの基機能とメモリ管理【第二言語としてのRustRustは、新しいシステムプログラミング言語です。稿では、基的な構文に加えて、所有権、参照と借用、ライフタイムといった特徴的な機能によるメモリ管理を解説します。 κeen(@blackenedgold)です。Rustの入門を担当することになりました。基的な文法と使い方を説明しつつ、Rustの特徴的な機能と、なぜその機能が必要かというモチベーションを紹介していけたらと思います。 Rustは非常に高機能であり、この記事ですべてを紹介できません。興味を持った方は、ぜひ公式ドキュメントを読んでみてください。私が管理している和訳もあります。 The Rust Programming Language プログラミング言語Rust Rustはシステムプログラミング言語 Rustのインストール Hello W

    最速で知る! プログラミング言語Rustの基本機能とメモリ管理【第二言語としてのRust】 - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • 関数型プログラマからみたRust | κeenのHappy Hacκing Blog

    C++からRustに入った人あたりから「関数型言語から来た人のRustの感想を知りたい」とたまに言われるのでいつかブログ書こうか。 — κeen (@blackenedgold) 2017年4月3日 イントロ 私はRustをやる前にはCommon LispやSMLを主に使っていましたが、仕事ではScalaを使っていましたし他にもOCamlやSchemeやClojureやATS2やHaskellなどを書くこともありました。 私を含めた多くの関数型言語経験者人が一度は Rust for functional programmers を読んだことがあるかと思います。 このように関数型言語と比較して書かれるといかにも似た言語に見えるので私は興味を持ちました。そこで私は実際にRustに触れ始めたのです。 構文 let があるのでおよそOCamlなどに似ているという印象を受けました。 デフォルトでイミ

    関数型プログラマからみたRust | κeenのHappy Hacκing Blog
  • 1