並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 75件

新着順 人気順

std map insertの検索結果1 - 40 件 / 75件

  • すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる

    あなたがさっきまで読んでいた技術的に役立つ記事は、10年後も使えるでしょうか。ほとんどの場合でいいえ この問いに真正面から殴られたのは数か月前、リリース前夜の「とりあえずこれで走らせよう」が翌朝に別サービスを巻き込む事故になったときでした。Slackで「なんで昨日の変更でメトリクスが暴れてるのか」と聞かれ、胃がキリキリしたまま休日をつぶす羽目に。目先のテクニックだけで乗り切った仕事は、想像より早く自分を噛みに来る。だから設計そのものの筋肉を付けたい、という切実さを忘れないうちに本を開きました。 ただし、先に言っておきます。Design Patternsは設計そのものではありません。 パターンを知っているだけで良い設計ができるわけではない。10年前の「RESTが正義」という原則は、GraphQLやgRPCによって相対化されました。原則も陳腐化します。それでも原則を学ぶ価値があるとすれば、「不

      すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる
    • RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト アンビ(AMBI)

      ハイクラス求人TOPIT記事一覧RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも! 安全性に大きな特徴があるプログラミング言語Rustは、C言語やC++に代わるシステム記述言語として注目されてきました。しかし、その安全性とパフォーマンスの高さにより、ビジネスアプリケーションの構築にも採用されています。この記事ではキャディ株式会社による事例を紹介します。 こんにちは。キャディ株式会社バックエンドエンジニアの松田と申します。 キャディ株式会社では、「モノづくり産業のポテンシャルを解放する」をミッションとして、製造業分野に関連するさまざまなソフトウェアの開発を行っています。また、そのための主要な開発言語としてRustを採用

        RustでWebアプリケーションのバックエンドを開発するには ─ 型システムの堅牢性と柔軟性を業務システムにも!|ハイクラス転職・求人情報サイト アンビ(AMBI)
      • Deno入門 ─ 新しいTypeScript/JavaScript実行環境でWebアプリ開発とデータベース接続の基本を体験しよう|ハイクラス転職・求人情報サイト アンビ(AMBI)

        例えばmain.tsというスクリプトに対して、ファイルの読み取りだけを許可したい場合は、以下のようにコマンドを実行します。 $ deno run --allow-read main.ts このときmain.tsプログラムはファイルの読み取りだけが可能になるため、ファイルの書き込みやネットワークアクセスをするとPermissionErrorによる実行時エラーになります。 なお、実行時にフラグを何も与えなければ、どの権限も持っていない状態になります。 各フラグにはパラメータを指定でき、例えば次のように実行すると/home/userディレクトリの読み込みだけが許可されます(--allow-writeフラグも同様)。 $ deno run --allow-read=/home/user main.ts また、--allow-netを次のように指定すると、特定のドメインとポートだけのアクセスを許可で

          Deno入門 ─ 新しいTypeScript/JavaScript実行環境でWebアプリ開発とデータベース接続の基本を体験しよう|ハイクラス転職・求人情報サイト アンビ(AMBI)
        • とほほのRust入門 - とほほのWWW入門

          目次 Rustとは インストール Hello world Cargoプロジェクト キーワード コメント(//) 値 変数・定数(let, mut, const) 型 基本の型(bool, i16, char, str...) 型変換(as) 構造体(struct) 共用体(union) 列挙型(enum) タプル(tup) 配列(array) ベクタ(vec) ハッシュマップ(HashMap) 文字列(&str, String) 演算子(+ - ...) ヒープ領域(Box) スライス(&var[n..m]) 関数(fn) クロージャー(|...|{...}) マクロ(macro_rules!) 制御構文 条件分岐(if) 繰り返し(while) 繰り返し(for) ループ(loop) ループ制御(break, continue) マッチ(match) インプリメンテーション(impl)

          • 「だんご屋のひまつぶし」完全解析 - すぎゃーんメモ

            「だんご屋のひまつぶし」とは 最長手順の問題は…? 組み合わせ、グラフ問題 プログラムで解く 状態の列挙 グラフの構築 最短経路問題を解く WASM化して、ブラウザ上で解く もしもすべて異なる団子だったら さらに一般化していくと 到達可能性 頂点数 本数を固定し、高さを変える 高さを固定し、本数を変える まとめ Repository 「だんご屋のひまつぶし」とは 「ハノイの塔」の派生型のようなパズル。 高さ3の串が3本あり、3色の団子2個ずつ計6個が刺さっている。これらを1個ずつ移し替えて、ある状態からある状態へと遷移させる、というゲーム。 移動できるのは各串で一番上にある団子だけ。 団子の大きさのような概念はなく、高さ3以内であればどこにでも動かせる。 単純なルールだがなかなかに奥が深く、じっくり考えて動かさないと最適な手順で達成するのは意外に難しい。 パズルオーディションというもので最

              「だんご屋のひまつぶし」完全解析 - すぎゃーんメモ
            • Rust vs. Haskell

              Rust and Haskell don’t shy away from powerful features. As a result, both languages have steep learning curves when compared with other languages. Trying to learn Rust or Haskell can be frustrating, especially in the first couple of months. But if you already know Rust, you have a head start with Haskell; and vice versa. In this article, we want to show how knowledge of one of these languages can

                Rust vs. Haskell
              • WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG

                はじめまして。R&Dチーム所属、20.5卒の伊藤です。 普段の業務では自然言語処理と格闘していることが多いです。 今回は自然言語処理モデルとして有名なBERTをWebAssemblyを使用してフロントエンドで動かしてみた話になります。 最近、自然言語処理ライブラリとして普段お世話になっているHugging Face社のTransformersのTokenizerがRustで実装されていることを知り、それならばWebAssemblyにコンパイルして動かせるのではないかと試したみたのがきっかけです。 Tokenizerのみ動かしても実用性に乏しいため、Tokenizerから得られた結果からBERTを用いた推論をブラウザで動作させるまでを行い、備忘録がでら手順をまとめました。 どなたかの参考になれば幸いです。 8/26追記 本記事内のコードを含むリポジトリを公開しました!Dockerを使用してブ

                  WebAssemblyを用いてBERTモデルをフロントエンドで動かす - OPTiM TECH BLOG
                • 連結リストを実装して学ぶRustの所有権

                  Rust.Tokyo オーガナイザー 豊田 優貴 Sansan株式会社のソフトウェアエンジニア。金融機関向けのリスク管理計算機の開発に携わってから、しばらく広告配信の仕事に従事した。前職のUSの企業では実務でRustを利用した。本業のかたわら、Rustの国内カンファレンス「Rust.Tokyo」の運営や、いくつかのOSSの開発や貢献を行っている。共著で『実践Rustプログラミング入門』(秀和システム)、『RustによるWebアプリケーション開発』(講談社サイエンティフィク)など。また、『Web開発で学ぶ最新言語Rust』(日経クロステック)の連載を持つなどした。 ※アイキャッチとプロフィールに使用しているアイコンは「めぶイカメーカー」を使用し生成しております GitHub: https://github.com/yuk1ty Rustに入門した際最初に立ちはだかる壁は、Rust特有のメモリ

                    連結リストを実装して学ぶRustの所有権
                  • Best Rust Web Frameworks to Use in 2023 | Shuttle

                    Stay updatedGet the latest news about Shuttle features and Rust tips 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

                      Best Rust Web Frameworks to Use in 2023 | Shuttle
                    • 2023パズル をRustで解いてみる - すぎゃーんメモ

                      tkihiraさんの問題が面白そうだったので挑戦してみた。 2023年クイズ! 上の例のように、数字の合間に四則演算(+−×÷)や括弧を入れることで、2023 を作ってください。 - 数字の間に必ず演算子を 1 つ入れてください - ただし 9 と 8 の間には既に ÷ が入っています - 括弧は複数重ねて使用できます - 10×(-9 ÷ 8) のようなマイナス記号の使用は禁止です pic.twitter.com/K0w2miMXJA— Takuo Kihira (@tkihira) December 31, 2022 既に解説記事が出ているので解答はこちらをどうぞ。 nmi.jp 結局自分は自力では解けなくて 他の人の解法や上記の解説記事を読んでようやくできた、のだけど… 自分なりに理解して改めてRustで実装してみた。 RPN(逆ポーランド記法)の backtracking 探索の高

                        2023パズル をRustで解いてみる - すぎゃーんメモ
                      • 2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG

                        概要 Optimal BizのWindows AgentはながらくVisual Studio 2005とVisual Studio 2015を併用してビルドする必要がありました。Visual Studio 2015化対応は2012年のVisual Studio 2012化対応からスタートしていましたが、対応範囲の大きさからモジュールごとにVisual Studio 2015化対応を行ってきました。そして2024年リリースのBiz 9.19.0にてVisual Studio 2015化対応は完了を迎えました。 しかし、埋め込まれたバグの修正にはCOMの理解が不可欠であったため、2020年代に突入した今になって私達はこれまで正面戦争を避けてきたCOMを0から学び直す必要がありました。そしてATLの不思議な挙動やSTAにおける再入との戦いを乗り越え、無事にリリースされました。 はじめに Opti

                          2024年の今、いかにしてVS2005を捨ててVS2015にする戦いは終わったか、そしてなぜCOMとの苦しい戦いが繰り広げられたか ~再入の悪魔~ - OPTiM TECH BLOG
                        • パーフェクトな言語であるRustでGoogle spreadsheetをJson APIに変換してみる

                          タイトルにはやや釣り要素が混じっています。 概要 私が今まで所属していた開発チームでは、非エンジニアとエンジニアで気軽にデータを共有する方法としてGoogle Spreadsheetがよく使われていました。 Spreadsheetの優れている点の1つとしてAPIを経由してデータの取り込みを自動化できる事が挙げられるかと思いますが、そのAPIの呼び出し周りの実装はやや手間がかかる(し、それほど面白いものではない、)のが悩みどころです。 なのでシンプルなフォーマットのSpreadsheetをNo-Code or Low-CodeでJson API化できたら便利です。 SpreadsheetのAPI化のサービスとしては、SaaSとして提供されている使い勝手の良いものがいくつかありますが、外部と共有できないデータを扱う場合は自前で用意した環境内だけでSpreadsheetを共有する必要がでてきます

                            パーフェクトな言語であるRustでGoogle spreadsheetをJson APIに変換してみる
                          • Deno で掲示板サイトを作ろう! with upstash & supabase その 2 (ミドルウェアと掲示板の作成) - 虎の穴ラボ技術ブログ

                            皆さん、こんにちは。 自宅では、トラドラオニタイジン極がご本尊みたいになっています。おっくんです。 今回は、「Deno で掲示板サイトを作ろう! with upstash & supabase」企画の2回目として、掲示板の登録と参照の実装を進めていきます。 今回の実装で、次のように、掲示板の登録ができるようになります。 前回記事はこちら toranoana-lab.hatenablog.com 訂正 始めに、第1回で取り扱った環境変数の取り扱いについて、一部訂正をさせていただきます。 第1回に紹介した、以下のdotenvの実装がありました。 [anonymous-board/util/config.ts] import { config } from "dotenv/mod.ts"; export const envConfig = await config({ safe: true })

                              Deno で掲示板サイトを作ろう! with upstash & supabase その 2 (ミドルウェアと掲示板の作成) - 虎の穴ラボ技術ブログ
                            • Rustのバックエンド開発の最近の動向を追う - Findy Media

                              はじめにyukiです。RustのカンファレンスであるRust.Tokyoのオーガナイザーを務めているほか、『実践Rustプログラミング入門』『RustによるWebアプリケーション開発』といった書籍を共著で執筆しました。 この記事のテーマは、近年利用が進み人気が高まるRustのバックエンド開発における動向です。前半で、現在人気のあるライブラリの動向を簡単にまとめます。次に、私が現在開発の動向に注目しているいくつかのライブラリについて紹介します。 人気のバックエンド開発ライブラリの動向Rustによるバックエンド開発[1]では、やはり最近でも次の2つのクレートが選ばれる傾向にあるようです。「デファクトスタンダード」と呼べるくらいには、そろそろなってきたのではないでしょうか。 axum actix-web 数年前であればactix-webが一強ではあったものの、近年はtokioチームが開発するax

                                Rustのバックエンド開発の最近の動向を追う - Findy Media
                              • Linux Pipes are Slow - Quentin Santos

                                Errata: Some significant mistakes were pointed out to me by email by Brendan MacDonell. I have included errata, but the results might not be reliable, so take this with pinch of salt! vmsplice is too fast Some programs use a particular system call “vmsplice” to move data faster through a pipe. Francesco already did a deep dive on using vmsplice to make things fast. However, while experimenting wit

                                • おい、類推するな - じゃあ、おうちで学べる

                                  この記事は、Rust Advent Calendar 2025 6日目のエントリ記事です。 はじめに 「それって、○○みたいなものですよね」 私は、この言葉に何度救われてきただろう。新しい概念を理解するとき。誰かに説明するとき。問題を解決するとき。類推は、私の思考の基盤だった。いや、今でも基盤だ。ただ、その基盤が思ったほど頑丈ではなかったことを、私は何度も思い知らされてきた。 Rustを学び始めた頃の話だ。Rustは、プログラミング言語の1つだ。安全で高速なプログラムを書けることで知られている。私はRustの公式教科書「The Rust Programming Language」を読んでいた。所有権の章に差し掛かったとき、こんな説明に出会った。 Rustには「所有権(ownership)」という独特の概念がある。少し専門的な話になるが、プログラムを書くとき、データはコンピュータの「メモリ」

                                    おい、類推するな - じゃあ、おうちで学べる
                                  • Build your own SQLite, Part 1: Listing tables

                                    As developers, we use databases all the time. But how do they work? In this series, we'll try to answer that question by building our own SQLite-compatible database from scratch. Source code examples will be provided in Rust, but you are encouraged to follow along using your language of choice, as we won't be relying on many language-specific features or libraries. As an introduction, we'll implem

                                      Build your own SQLite, Part 1: Listing tables
                                    • Kubernetesクラスタの可観測性の隙間を埋めるeBPF - LIFULL Creators Blog

                                      KEELチームの相原です。 今回はeBPFを利用してKubernetesクラスタの可観測性の隙間を埋めている話です。 前回のエントリではLLMにうつつを抜かしていたので本業(?)の話をしようと思います。 www.lifull.blog LIFULLの可観測性の現在地 eBPFとは 可観測性の隙間 NAT Loopback eBPFを実行するには BPF CO-RE libbpf-rsを利用したNAT Loopbackの検知 1. (ユーザ空間) コマンドライン引数として受け取ったDNSをTTLごとに名前解決してIPアドレスを取得する 2. (ユーザ空間) IPアドレスに変化がある度にカーネル空間で動くBPFプログラムにそのIPアドレスのリストを渡す 3. (カーネル空間) Kprobesで tcp_v4_connect/tcp_v6_connect にフックを仕込む 4. (カーネル空間)

                                        Kubernetesクラスタの可観測性の隙間を埋めるeBPF - LIFULL Creators Blog
                                      • NumPyroによる項目反応理論と垂直尺度化の実装方法を解説。学年をまたいだ学力調査など、異なるテスト結果を正しく比較したい人、必見! - ドワンゴ教育サービス開発者ブログ

                                        目次 目次 ZEN Studyにおける学力定量化の試みと狙い 項目反応理論とベイズ推定のおさらい NumPyroの概要 NumPyroによるIRTモデルの実装 環境構築 モデル定義と計算実行 人工データの生成 サンプラーの指定とサンプリングの実行 サンプリング結果の確認 事後サンプリングの可視化 ArviZの利用 トレースプロット 自己相関 フォレストプロット 事後予測モデルチェック ベイズ的 $p$ 値 垂直尺度化のためのモデル拡張 多群IRTモデルの実装 固定項目パラメタ法の実装 落ち穂拾い【MCMCの実用上の注意点】 おわりに We are hiring! ZEN Studyにおける学力定量化の試みと狙い こんにちは。ドワンゴ教育事業本部のデータサイエンティストの板宮です。主に学力測定基盤の開発を担当しています。 ドワンゴの教育事業本部では、ZEN Studyと呼ばれる、N高グループ

                                          NumPyroによる項目反応理論と垂直尺度化の実装方法を解説。学年をまたいだ学力調査など、異なるテスト結果を正しく比較したい人、必見! - ドワンゴ教育サービス開発者ブログ
                                        • Rust の新しい HTTP サーバーのクレート Axum をフルに活用してサーバーサイドアプリケーション開発をしてみる - Don't Repeat Yourself

                                          この記事は Rust Advent Calendar 25日目の記事です。Merry Christmas! 今年の Web バックエンド開発関連で一番大きかったなと思っているイベントに、Axum のリリースがあります。2021年の夏頃に tokio チームからリリースされた Web アプリケーション用のライブラリです。 基本的なデザインは actix-web 等とそこまで変わらないものの、マクロレスなのが大きな特徴かなと思います。tokio 上に直接載るアプリケーションになり、独自のランタイムをもたないため、tokio のバージョン管理に悩まされずに済むのも大きなメリットかも知れません。私はあまり重要ではないと思っていますが、明示的に #![forbid(unsafe_code)] をしているのでライブラリ内部に unsafe がないのも特徴かもしれません。 github.com 現在のん

                                            Rust の新しい HTTP サーバーのクレート Axum をフルに活用してサーバーサイドアプリケーション開発をしてみる - Don't Repeat Yourself
                                          • Learning Async Rust With Entirely Too Many Web Servers

                                            I've found that one of the best ways to understand a new concept is to start from the very beginning. Start from a place where it doesn't exist yet and recreate it yourself, learning in the process not just how it works, but why it was designed the way it was. This isn't a practical guide to async, but hopefully some of the background knowledge it covers will help you think about asynchronous prob

                                              Learning Async Rust With Entirely Too Many Web Servers
                                            • Rustにしたのに遅い?─ N+1クエリ問題の発見と解決 - じゃあ、おうちで学べる

                                              はじめに Rustは速い。だが、Rustで書けば速くなるわけではない。 ある日、APIのレスポンスが突然5秒を超えた。コードを見直してもバグはない。SQLも正しく書けている。途方に暮れながらログを確認すると、1リクエストで300回以上もクエリが発行されていた。原因は、ループ内で著者情報を1件ずつ取得していたこと。これがN+1クエリ問題だ。 見えないものは、直せない。 本記事では、この見落とされがちなN+1クエリ問題の本質と、RustとPostgreSQLを使った5つの解決策を解説する。正直に言うと、どの解決策がベストかは状況による。だからこそ、複数のアプローチを知っておく価値があると私は考えている。 N+1クエリ問題とは 問題のあるコード 本記事では、RustのSQLクライアントライブラリ「sqlx」を使用します。sqlxは型安全なクエリとasync/awaitをネイティブにサポートするラ

                                                Rustにしたのに遅い?─ N+1クエリ問題の発見と解決 - じゃあ、おうちで学べる
                                              • Rust 1.70を早めに深掘り - あずんひの日

                                                本日6/2(金)にリリースされたRust 1.70の変更点を詳しく紹介します。 もしこの記事が参考になれば記事末尾から活動を支援頂けると嬉しいです。 6/2は旧暦で本能寺の変が起こったことから裏切りの日 ピックアップ 一度だけ初期化されるグローバル変数を書けるようになった format_args!がコンパイル時に展開されるようになった OptionやResult内の値を使って判定処理を書けるようになった Cargoでの高速なインデックス更新が既定で使用されるようになった 最近のrust-analyzer 安定化されていないAPIが候補に出なくなった クロージャが何をキャプチャしているか詳細に分かるようになった 安定化されたAPIのドキュメント NonZero*::MIN サンプル NonZero*::MAX サンプル BinaryHeap::retain サンプル Rc::into_inn

                                                  Rust 1.70を早めに深掘り - あずんひの日
                                                • Rust 1.54を早めに深掘り - OPTiM TECH BLOG

                                                  こんにちは、R&Dチームの齋藤(@aznhe21)です。 オリンピックでは日本が金メダルラッシュですね!現地まで見に行けない分テレビ前での応援に力が入ります。 さて、本日、日本時間7/30(金)、Rust 1.54がリリースされました。 この記事ではRust 1.54での変更点を詳しく紹介します。 7/30は映画「モスラ」公開の日 ピックアップ 一部の属性内で値としてマクロを使えるようになった WebAssemblyでSIMDが使えるようになった eBPF向けにビルド出来るようになった 安定化されたAPIのドキュメント BTreeMap::into_keys サンプル BTreeMap::into_values サンプル HashMap::into_keys サンプル HashMap::into_values サンプル arch::wasm32 VecDeque::binary_searc

                                                    Rust 1.54を早めに深掘り - OPTiM TECH BLOG
                                                  • Node.js — Node.js 24.0.0 (Current)

                                                    2025-05-06, Version 24.0.0 (Current), @RafaelGSS and @juanarbol We’re excited to announce the release of Node.js 24! This release brings several significant updates, including the upgrade of the V8 JavaScript engine to version 13.6 and npm to version 11. Starting with Node.js 24, support for MSVC has been removed, and ClangCL is now required to compile Node.js on Windows. The AsyncLocalStorage API

                                                      Node.js — Node.js 24.0.0 (Current)
                                                    • optimizing hashmaps even more

                                                      optimizing hashmaps even more — 2021-05-08 hashmaps and hashing algorithms enums as keys static strings as keys hybrid static + dynamic keys looking ahead conclusion In our last post we took a look at possible ways we could improve the ergonomics of Rust's refcounting APIs. In this post we'll be looking at Hashmap: how it's currently implemented, how we could optimize it further, and finally direc

                                                        optimizing hashmaps even more
                                                      • 自作 Set ライブラリ提供 : C++ の std::set が残念な件 - Qiita

                                                        はじめに C++ の std::set は素晴らしいライブラリです。自前でこれを実装しようとしてもなかなかここまで速いものは作れないでしょう。 std::set の代替手段として tatyam さんのライブラリが有名ですが、これは std::set がない Python のためのやつなので、Python ユーザー限定です。 Python に順序付き集合がないことはよく話題に上がることなのですが、C++ の順序付き集合である std::set も競プロをする上ではなかなか残念なので、C++ 用の順序付き集合ライブラリを公開すればみなさん嬉しいかもと思い、公開するに至りました。 競技プログラミングにおける活用 std::set にもつけ入る隙があります。 要素アクセスが線形時間 集約や遅延評価が載っていない 値の重複を許さない(これは std::map と併用するなどで解決できますが) これら

                                                          自作 Set ライブラリ提供 : C++ の std::set が残念な件 - Qiita
                                                        • 0.8.0 Release Notes ⚡ The Zig Programming Language

                                                          Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                                                          • Rust 1.57を早めに深掘り - OPTiM TECH BLOG

                                                            こんにちは、R&Dチームの齋藤(@aznhe21)です。 今回の記事で自分がPlayStationと同い年ということを知りました。 さて、本日12/3(金)にRust 1.57がリリースされました。 この記事ではRust 1.57での変更点を詳しく紹介します。 12/3は初代PlayStationの発売日 ピックアップ 定数文脈でもパニック出来るようになった コレクション型でメモリの確保エラーを捉えられるようになった Cargoのプロファイルを自作出来るようになった 安定化されたAPIのドキュメント [T; N]::as_mut_slice [T; N]::as_slice alloc::collections::TryReserveError alloc::collections::HashMap::try_reserve エラー サンプル alloc::collections::Has

                                                              Rust 1.57を早めに深掘り - OPTiM TECH BLOG
                                                            • 🔭 tracing/tracing-subscriberでログが出力される仕組みを理解する | Happy developing

                                                              本記事ではRustのtracing/tracing-subscriberでログが出力される仕組みをソースコードを読みながら理解することを目指します。 具体的には以下のコードにおいてtracingがどのようにしてログを出力するかを見ていきます。 use tracing::{info, info_span}; fn main() { tracing_subscriber::fmt() .init(); let span = info_span!("span_1", key="hello"); let _guard = span.enter(); info!("hello"); } Cargo.toml [dependencies] thread_local = "1.1.4" tracing = "=0.1.35" tracing-core = "=0.1.30" tracing-subscr

                                                              • Error Handling In Rust - A Deep Dive | Luca Palmieri

                                                                Error Handling In Rust - A Deep Dive May 13, 2021 8550 words 43 min This article is a sample from Zero To Production In Rust, a hands-on introduction to backend development in Rust. You can get a copy of the book at zero2prod.com. TL;DR To send a confirmation email you have to stitch together multiple operations: validation of user input, email dispatch, various database queries. They all have one

                                                                  Error Handling In Rust - A Deep Dive | Luca Palmieri
                                                                • 0.10.0 Release Notes ⚡ The Zig Programming Language

                                                                  Tier 4 Support § Support for these targets is entirely experimental. If this target is provided by LLVM, LLVM may have the target as an experimental target, which means that you need to use Zig-provided binaries for the target to be available, or build LLVM from source with special configure flags. zig targets will display the target if it is available. This target may be considered deprecated by

                                                                  • llrl programming language

                                                                    github.com/yubrot/llrl Rust + LLVMで自作言語をセルフホスティングした話 Rust + LLVM による自作プログラミング言語処理系。大きな特徴は以下の 3 つ。 Hindley-Milner ベースの型推論による静的型付け (+型クラス) Lisp-like な S 式によるシンタックスと LLVM JIT によるマクロ 完全なセルフホスティングコンパイラ実装 目標: セルフホスティング llrl は複合的な理由で作り始めたが、とにかく一度完全にセルフホストされた言語処理系を実装したいという気持ちからセルフホスティングを最優先の目標とした。 プログラミング言語のセルフホスティングは、以下のような明確なゴールを設定できる。 何らかの既存のプログラミング言語によって自作言語コンパイラを実装する → 世代 0 自作言語、およびその標準ライブラリをコンパイラを実装

                                                                      llrl programming language
                                                                    • 満を持して始める Rust - estie inside blog

                                                                      こんにちは、 @kenkoooo です。2月に開催されたDevelopers Summit (デベロッパーズサミット, デブサミ) のセッション「満を持して始める Rust」で発表した内容をブログでお届けします。セッションの内容を再現しているので、色んな話題を詰め込んだ忙しい内容になってしまいましたがご容赦ください。 Rust とは Rust とは、Mozilla が初期から公式プロジェクトとして開発を進めてきたプログラミング言語で、コンパイラがメモリ安全性を保証するという特徴があります。バージョン 1.0 のリリースから8年ほど経ち、広く使われるようになってきました。 Shipping Rust in Firefox - Mozilla Hacks - the Web developer blog Rewriting the heart of our sync engine - Drop

                                                                        満を持して始める Rust - estie inside blog
                                                                      • A 2025 Survey of Rust GUI Libraries

                                                                        I did this in 2020 and then again in 2021, but I’m in the mood to look around again. Let’s look through Are We GUI Yet? and see what’s up these days. The task today is to have a text label and an input field that can change the text in the label. In React, for example, this is basically free: const Demo = () => { let [state, setState] = useState("Hello, world!"); return ( <div> <p>{state}</p> <inp

                                                                        • Rustで有名アルゴリズムに挑戦(16) Rustで機械学習に挑戦 - k近傍法でアヤメの分類をしよう

                                                                          Rustはさまざまな用途で利用されていますが、最近は、AI/機械学習分野でも利用されるようになってきました。そこで、今回は簡単な機械学習のアルゴリズムであるk近傍法を使ってアヤメの分類に挑戦してみましょう。 「アヤメの分類」データを使ってk近傍法で分類してみよう アヤメの分類に挑戦しよう 今回は「アヤメの分類」に挑戦します。これは、機械学習の中でも、教師あり学習の分類問題に分類されるものです。と言っても、機械学習にあまり詳しくない人からすると、「教師あり学習」とか「分類問題」とは何だろうと思うことでしょう。しかし、それほど難しいものではありません。 「アヤメの分類」データセットは、機械学習のベンチマークに使われる有名なものです。これは、名前の通り、アヤメの品種を分類したデータセットです。 そもそも、アヤメには多くの品種がありますが、品種を見分けるとき、花弁の幅や長さ、がく片(花の外側にある

                                                                            Rustで有名アルゴリズムに挑戦(16) Rustで機械学習に挑戦 - k近傍法でアヤメの分類をしよう
                                                                          • Rust 1.53を早めに深掘り - OPTiM TECH BLOG

                                                                            こんにちは、R&Dチームの齋藤(@aznhe21)です。 今日はオプティムの創立記念パーティーがオンラインで行われます。 オプティムは2000/6/8に設立され、去年は20周年の節目であったにも関わらず生憎の時制で大きく祝えませんでしたが、 今年は準備も万全、盛大にお祝いしたいと思います。 さて、本日、日本時間6/18(金)、Rust 1.53がリリースされました。 この記事ではRust 1.53での変更点を詳しく紹介します。 6/18は京大の前身・京都帝国大学創立の日 ピックアップ 識別子にASCII以外の文字も使えるようになった ORパターンが使えるようになった 配列にIntoIteratorが実装された 安定化されたAPIのドキュメント AtomicBool::fetch_update サンプル AtomicPtr::fetch_update サンプル BTreeMap::retai

                                                                              Rust 1.53を早めに深掘り - OPTiM TECH BLOG
                                                                            • Python で std::set の代替物を作った - Qiita

                                                                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Pythonista の皆様、こんにちは。競技プログラミングをしている tatyam と申します。 Python で競技プログラミングをしていると、std::set が欲しいな〜ってとき、ありますよね? 例えばそう、 Cutting Woods (ABC217-D) を見てみましょう。これは以下のような問題です。 長さ $L$ の定規がある。以下のクエリが $Q$ 回与えられるので、順に処理せよ。 1 x:目盛 $x$ で定規を切る。 2 x:目盛 $x$ を含む部分の長さを出力する。 $L ≤ 10^9,\ N ≤ 2 \times

                                                                                Python で std::set の代替物を作った - Qiita
                                                                              • Building the Rust compiler with GCC

                                                                                Bootstrapping Rust with GCC If you know one thing about me, it is that I love working on the Rust compiler. Some people kayak, travel or play guitar - and I stare at assembly, trying to figure out what I broke. This summer, I am taking on quite a large task: bootstrapping the Rust compiler using `cg_gcc` What does that mean? "bootstrapping" is simply a name given to the Rust compiler build process

                                                                                • Async/Await | Writing an OS in Rust

                                                                                  この記事は翻訳されたものです: この記事はAsync/Awaitをコミュニティの手により翻訳したものです。そのため、翻訳が完全・最新でなかったり、原文にない誤りを含んでいる可能性があります。問題があればこのissue上で報告してください! 翻訳者: @kahirokunn, @garasubo, @sozysozbot 及び @swnakamura. With contributions from @asami-kawasaki 及び @Foo-x. この記事では、Rustの協調的マルチタスクとasync/await機能について説明します。Rustのasync/await機能については、Future trait の設計、ステートマシンの変換、 pinning などを含めて詳しく説明します。そして、非同期キーボードタスクと基本的なexecutorを作成することで、カーネルにasync/awa