並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 1295件

新着順 人気順

Rustの検索結果241 - 280 件 / 1295件

  • Rustがサポートするアーキテクチャ少なすぎる!

    「RustでLinuxカーネルモジュールを実装しよう!」とはしゃいできましたが、実は、X86-64とLoongArchという2つのCPUアーキテクチャしかサポートされていません。近いうちに、ARM64もサポートされそうですが、Linuxカーネルがサポートする大半のアーキテクチャで、Rustは使えません。 Linuxカーネルの標準コンパイラのGCCは、CのソースコードをLinuxカーネルがサポートする様々なCPUアーキテクチャ用の実行ファイルに変換することができます。一方、Rustの公式コンパイラがサポートを保証しているCPUアーキテクチャはARM64とX86、X86–64だけです。 Rustの公式コンパイラがサポートしているアーキテクチャが少なすぎるということで、別のコンパイラを試してみました。 Rustの公式コンパイラRustの公式コンパイラは、コンパイラを実装するための基盤的なソフトウ

      Rustがサポートするアーキテクチャ少なすぎる!
    • 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
      • サーバーにどういうルートでアクセスしたのかをtracerouteで分析するサイト「How Did I Get Here?」

        インターネットに接続してさまざまなウェブサイトを見る際、クライアントである自宅PCからウェブサイトをホストするサーバーまでの間にさまざまな行程を経た通信が行われています。「How Did I Get Here?」はクライアントからサーバーまでの間でパケットがどのような行程を経ているのかを示してくれるサイトです。 How Did I Get Here? https://how-did-i-get-here.net/ 実際に「How Did I Get Here?」にアクセスしたところが以下。 「You are here→」とあるのがクライアントで、「Our server」とあるのがサーバー。それぞれにHost(ホスト名)、ASN、Network(ネットワーク名)、Region(リージョン)が表示されます。ISPであるJCOMからKDDI、Arelion、Akamaiのネットワークを経てサーバ

          サーバーにどういうルートでアクセスしたのかをtracerouteで分析するサイト「How Did I Get Here?」
        • 【2024初頭】新規開発で使ってみたいモダンフロントエンド最前線

          TL;DR 弊社で実験的に導入を始めている、2024初頭時点で今後に期待が高まる最新のweb技術についてまとめています。 新規プロダクトの技術選定に迷っている方などにおすすめです。 Turborepo - Monorepo管理 モノレポ構成における懸念点の一つとして、プロダクトが大きくなるにつれてビルド時間が膨大になって来る点です。 TurborepoはRust製、並列化、差分ビルド、Remote Cashingなど、肥大化しがちなmonorepoのビルド時間を短縮するメソッドがたくさん詰まっています。 Bun - Package manager (runtime, test tool) 正確にはBunはランタイムですが、Nextなど厳密にはNode.jsで動かす必要があるため、弊社では(ほぼ)パッケージマネジャーとして活用しています。 pnpmやyarnと比較してnpm installな

            【2024初頭】新規開発で使ってみたいモダンフロントエンド最前線
          • Linux Pipes are Slow | Quentin Santos

            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 with it, I noticed that, when not using vmsplice, Linux pipes are slower than what I would have expected. Since you cannot always use it, I wanted to understand exactly why that was, and

            • Why stdout is faster than stderr? - Orhun's Blog

              I recently realized stdout is much faster than stderr for Rust. Here are my findings after diving deep into this rabbit hole. I have been using the terminal (i.e. command-line) for most of my day-to-day things for a while now. I was always fascinated by the fact that how quick and convenient the command-line might be and that's why I'm a proponent of using CLI (command-line) or TUI (terminal user

                Why stdout is faster than stderr? - Orhun's Blog
              • Rustによる並列処理でDynamoDBへのデータ投入を20倍高速化してみた

                はじめに 言語として高速だと謳われているRust。そのRustを使用してDynamoDBへのデータ登録処理を直列処理と複数の並列アルゴリズム処理で速度比較してみました。 DynamoDB DynamoDBは公式で以下のように謳われています。 Amazon DynamoDB の応答時間は 1 桁ミリ秒で、最も要求の厳しいアプリケーションでも一貫してこのパフォーマンスを発揮できます。例を挙げると、2022 年の Amazon プライムデーに Amazon DynamoDB は、1 桁ミリ秒のパフォーマンスで、数兆回の API コールに対して 1 秒あたり 1 億 520 万件のリクエストを確実に処理しました。 上記だけみると爆速のようにも思われますが、読み込みと書き込み双方に以下の制限があります。 BatchWriteItemのデータ投入は1回で25リクエストまで、Queryのデータ取得は1回

                  Rustによる並列処理でDynamoDBへのデータ投入を20倍高速化してみた
                • neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する

                  Result 型 (類似するものとして Either Monad の方が有名かもしれません) を導入する場合、アプリケーション全体の設計を変えたり、全箇所を書き換える必要はありません。 neverthrow は部分的に使用でき影響範囲も閉じるので、局所的に使い始めることができます。 (Rust のような) Result 型 とは ざっくり言うと関数の処理の結果と成否を 1 つの型 Result<T, E> で表したものです。(T は期待する結果の型、 E はエラーを表現する型) 筆者は詳しくはないのですが、 Haskell 等にある Either<L, R> とは厳密には違うようです(Either は両方の値が使用可能であることを前提としている?) 参考: Rust ではなぜ、Either 型ではなく Result 型を採用しているのか neverthrow とは TypeScript で

                    neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
                  • Announcing Vite 5

                    Vite 5.0 is out! ​November 16, 2023 Vite 4 was released almost a year ago, and it served as a solid base for the ecosystem. npm downloads per week jumped from 2.5 million to 7.5 million, as projects keep building on a shared infrastructure. Frameworks continued to innovate, and on top of Astro, Nuxt, SvelteKit, Solid Start, Qwik City, between others, we saw new frameworks joining and making the ec

                      Announcing Vite 5
                    • FireDBG - 🔥 Time Travel Visual Debugger for Rust

                      🔥 Time Travel Visual Debugger for RustVisualize and debug Rust programs with a new lens

                      • RustでWebアプリの実装にチャレンジしてみよう【準備編】

                        本連載の目的 本連載は、@ITで2021年7月から連載された「基本からしっかり学ぶRust入門」(現在は完結)の応用編です。Rustは、当時から人気上昇中の言語と評価されていましたが、Stack Overflowが毎年実施している調査「Stack Overflow Developer Survey 2022」でも、変わらず「Rustが開発者の愛する言語」の1位に選ばれました。これは7年連続してのことです。この調査は、言語の好きと嫌いの差が大きいほど上位にランクされるので、Rustを嫌いな開発者は少数、という見方ができます。また、「これから使いたい言語」の1位も獲得しているようで、少なくとも開発者の間では今後も支持を伸ばしていきそうな言語と言えます。 Rustは美点の多いマルチパラダイム言語 Rustの美点は多岐にわたり、ネイティブコードコンパイラによる高速な実行バイナリ、所有権と借用の仕組

                          RustでWebアプリの実装にチャレンジしてみよう【準備編】
                        • 他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例

                          Rust.Tokyo 2023 https://rust.tokyo/2023/

                            他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例
                          • Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」がリリース。Rustの主な型や便利な機能がDartで使えるように

                            Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」がリリース。Rustの主な型や便利な機能がDartで使えるように Rust Coreの開発チームは、Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」をオープンソースとしてリリースしました。 Rust Coreを用いることで、Dart言語にRust言語が持つ一般的な型やさまざまな便利な機能を取り込むことができるようになります。 合わせて、Rust Coreのドキュメント「Rust Core Book」も公開されました。 DartはGoogleが主導してオープンソースで開発されているプログラミング言語です。クロスプラットフォーム対応のモバイルアプリケーション開発に対応したFlutterフレームワークで用いられている言語として知られています。 なぜDart言語でRustのコアライブ

                              Rust言語のコアライブラリをDart言語で実装した「Rust Core 1.0」がリリース。Rustの主な型や便利な機能がDartで使えるように
                            • Rust製の負荷テストフレームワークGoose入門

                              はじめに Rustを使っているとすべてをRustで書きたい欲に駆られることがあります。 たとえば負荷試験ツールもRustで書きたい、みたいなことがあったりします。 ありがたいことにRustではGooseという負荷テストフレームワークがあり、これを使えば負荷テストをRustで実装できます。 ちなみに、GooseはRust Foundationのメンバーであるtag1が開発しているので安心感があります。[1] 本記事はGooseについて基本的・応用的な使い方などについて紹介していきます。 Gooseとは GooseはPython製の負荷テストツールであるLocustにインスパイアされたRust製の負荷テストフレームワークです。 Locustと比べて、約11倍ほどのトラフィックを生成でき、CPUコアを可能な限り使用してくれます。[2] またLocustと違い、フレームワークなのでビルドしたバイナ

                                Rust製の負荷テストフレームワークGoose入門
                              • なぜRustの標準スタイルではインデントが半角スペース4つなのか

                                正直2つだろうが4つだろうがスペースだろうがタブだろうが何でも良い派なのですが、ふと気になって調べてみたら個人的に新しい観点の発見があったので記事にしてみました。 ※オフィシャルの見解を探すまでは頑張れなかったのですが、適当にググって出てきた中で見つかった興味ある観点の紹介になりますm 見たのはこちらのページ。 色々議論されてますが、個人的になるほどな、と思ったのは、スペース4個(要はある程度インデント確保する)だと、深いネストでコーディングされることを抑止しやすい意図があるという点でした。(もしかしたら他のエンジニアの方にとっては当たり前の観点なのかも...) 今回個人的にめちゃくちゃどうでも良い違和感から始まりましたが、案外新しい観点が見つかったりして面白い体験でした。

                                  なぜRustの標準スタイルではインデントが半角スペース4つなのか
                                • Google Cloud Run と AWS Lambda のコールドスタート時間を言語別に観察してみる - Qiita

                                  コンテナをリクエスト処理時間ベースの料金体系で実行できるサーバレス環境としては、Google の Cloud Run(2019年11月GA)と AWS Lambda(2020年12月にコンテナに対応)が特に有名でしょう。 これらの環境は、一度起動したコンテナインスタンスをしばらく生かしておき、その後のリクエストに使いまわします。しかし、生きているインスタンスが足りない場合は新たなコンテナの起動から始めるいわゆる「コールドスタート」となり、応答のオーバーヘッドが大きく増加します。用途によっては、このコールドスタートにかかる時間が問題になります。 Cloud Run と Lambda でのコールドスタートの様子を観察するため、いくつかの言語で "Hello, World!" を返すだけのWebアプリコンテナを作り、コールドスタートの時間を「雑に」観察してみました。 注意: コストや性能は考慮し

                                    Google Cloud Run と AWS Lambda のコールドスタート時間を言語別に観察してみる - Qiita
                                  • RustとDDDでAPIサーバーを構築する

                                    はじめに Rust と フレームワーク axum を使って、API サーバーを実装してみました。 対象読者 Rust で API サーバーを実装したい人 Rust で DDD を実装したい人 説明しないこと Rust の基本的な文法 DDD の基本的な考え方 使用クレートの使い方 依存の方向 今回の作成する、アーキテクチャの依存関係は、上記のようになります。 上記の依存関係を頭の片隅に置いて、記事を読み進めていただけると、理解が深まると思います。 インフラストラクチャレイヤーは、アプリケーションレイヤーと依存しないことが重要です。 いざ、実装 仕様を決める 今回は、大学が、サークルを管理するシステムを作ることにしました。 メンバーを追加できる 4 年生は、追加できない メンバーを削除できる オーナーは削除できない 4 年生は、卒業する サークルは最低 3 人以上でないと、活動できない サー

                                      RustとDDDでAPIサーバーを構築する
                                    • 明示的な型注釈によって推論コストを下げるというアプローチ

                                      近年、TypeScript を取り巻くエコシステムでは、ユーザーに明示的な型注釈を求めることで、推論や型生成のコストを下げるというアプローチが注目されています。TypeScript 5.5 beta で 発表された --isolatedDeclarations オプションはその代表的な機能ですし、Deno の提供する新しいパッケージレジストリ JSR が提唱している slow types という考え方も同様のアプローチを求めるものです。 この記事では、上記のようなアプローチが提案された経緯や解決したい課題について、TypeScript を利用するエコシステムの状況も踏まえて整理します。 TypeScript を取り巻くツールチェインと型情報を利用する上でのパフォーマンス 皆さんがご存知の通り、TypeScript の型推論は非常に賢く、その機能は日々アップデートされています。特に以下のよう

                                        明示的な型注釈によって推論コストを下げるというアプローチ
                                      • WindowsにおけるRust採用はカーネルだけじゃない……Microsoftがちょっと言及/Rustは「Android」や「Chromium」でも採用が進行中【やじうまの杜】

                                          WindowsにおけるRust採用はカーネルだけじゃない……Microsoftがちょっと言及/Rustは「Android」や「Chromium」でも採用が進行中【やじうまの杜】
                                        • kubernetes knative でサーバレス Vim

                                          はじめに 半月ほど前に、ようやく自分の VPS 環境で動いているものすべてを kubernetes クラスタに移行しました。とても満足感が高くやって良かったと思っています。 ウェブサーバ、メールサーバ、Nostr のリレーサーバや Nostr/Bluesky/Twitter で動かしている各種 bot もすべて kubernetes です。 昨日は knative を導入したので、Go や Rust や Ruby や Python や、いろんな言語のクラウドネイティブアプリを簡単に実行できる様にしました。 knative 便利 残念ながら knative は helm パッケージとして提供されていません。ArtifactHub でそれっぽい物が公開されていますが、ほぼ手作業と変わりません。 おおよそ以下の手順でインストールできます。knative ではネットワークレイヤとして以下の3つが用

                                            kubernetes knative でサーバレス Vim
                                          • Postman CLI 活用事例:API のインテグレーションテストの自動化を試みる

                                            アーキテクチャの意図・工夫以下の YAML ファイルは Rust で実装した Web アプリケーションを BitBucket Pipelines でテストするための設定ファイルです。 cargo run ではアプリケーションを実行中のままとなりコマンドが完了しないため、sleep 60 で次のコマンドに強制的に移るようにしています。 (なかなか強引な方法と思われるため、改善したいポイントです...) 参考:bitbucket-pipelines.yml pipelines: custom: integration-test: - step: caches: - cargo-home - cargo-target script: - rustup component add rustfmt - cargo install sqlx-cli - cp .env.pipeline .env -

                                              Postman CLI 活用事例:API のインテグレーションテストの自動化を試みる
                                            • 個人利用は無償 ~JetBrainsがRust向けIDE「RustRover」を一般公開/メモリ安全性を保障したプログラミング言語「Rust」の開発に特化した統合開発環境

                                                個人利用は無償 ~JetBrainsがRust向けIDE「RustRover」を一般公開/メモリ安全性を保障したプログラミング言語「Rust」の開発に特化した統合開発環境
                                              • Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp

                                                Ruby 3.3リリース! 新機能解説 Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす 2023年12月25日、Ruby 3.3.0がリリースされ、様々な新機能が加えられました。本連載では実際に携わった皆さんにその新しいRubyをご紹介いただきます。 RubyはJust-In-Time(JIT)コンパイラという機能を備えており、これを有効化すると実行時に機械語を生成して様々な最適化が行なわれ、実行が高速になります。Ruby 3.3にはYJITとRJITという2つのJITコンパイラがあり、デフォルトでは無効になっていますが、それぞれ--yjitと--rjitで有効化できます。 この回では、Ruby 3.3でYJITの性能特性が変化した点や、YJITに新たに追加された便利な機能、またRJITはどのように使うものであるかについて解説します。 YJ

                                                  Ruby 3.3 YJITのメモリ管理とRJIT 〜すべてが新しくなった2つのJITを使いこなす | gihyo.jp
                                                • あのサービスの監視・オブザーバビリティ アーキテクチャ選定【前編】 - Findy Tools

                                                  公開日 2024/01/24更新日 2024/07/25あのサービスの監視・オブザーバビリティ アーキテクチャ選定【前編】 ユーザーや顧客へ信頼性を担保した価値提供をしていく中で、監視・オブザーバビリティの取り組みは非常に重要です。 今回の特集記事では、合同会社DMM.com、株式会社MIXI、株式会社マネーフォワード、パイオニア株式会社、Sansan株式会社、株式会社ZOZOの6社の各サービスを支える監視・オブザーバビリティの仕組みとして各社がどのようなアーキテクチャを組んでいるのか、またそのアーキテクチャにしている背景や意図についてお伺いしました。 自社に近いアーキテクチャやどのようにツールを活用しているかについて、実際の事例を元に参考になれば幸いです。 なお、後編も近いうちに公開させていただきますのでお楽しみに。 合同会社DMM.com(DMMブックス) アーキテクチャ設計の背景・意

                                                    あのサービスの監視・オブザーバビリティ アーキテクチャ選定【前編】 - Findy Tools
                                                  • Welcome - 100 Exercises To Learn Rust

                                                    Welcome Welcome to "100 Exercises To Learn Rust"! This course will teach you Rust's core concepts, one exercise at a time. You'll learn about Rust's syntax, its type system, its standard library, and its ecosystem. We don't assume any prior knowledge of Rust, but we assume you know at least another programming language. We also don't assume any prior knowledge of systems programming or memory mana

                                                    • AWS Lambda Under the Hood

                                                      Transcript Danilov: We'll talk about AWS Lambda, how it's built, how it works, and why it's so cool. My name is Mike Danilov. I'm a Senior Principal Engineer at AWS Serverless. A decade ago, I joined EC2 networking team, and it was a fantastic ride. Then, five years back, I heard about Lambda. I really liked the simplicity of the idea. We run your code in the cloud, no servers needed, so I joined

                                                        AWS Lambda Under the Hood
                                                      • Chevy Ray | How I Created 175 Fonts Using Rust

                                                        In December of 2023 I launched the 175 Pixel Font Megapack, followed shortly by 42 individual packs for each font family. I created my own toolchain for generating, quality testing, and deploying these fonts... in Rust! In this post I'll walk you through the whole process. Check out the Pixel Font Megapack on itch.io! Before the MegapackBefore we talk about the new pack, let's talk about the old p

                                                          Chevy Ray | How I Created 175 Fonts Using Rust
                                                        • Rust+WebAssemblyを使ったWebアプリでの高速画像処理入門 - アダコテック技術ブログ

                                                          要約 背景 WebAssembly (WASM) とは? Rust言語とは? サンプルアプリ概要 LBP特徴量計算をRustで実装 フロントエンド環境構築 バックエンド環境構築 スキーマ定義 Rust実装 WASMバイナリの生成 TypeScript実装 実行結果 まとめ メンバー募集しています! おまけ こんにちは!美味しいタコスを食べることを専門としているプロダクト開発部エンジニアの井上です。 要約 WebAssembly(WASM)、Rustは近年注目されている技術であり、これを利用することでWebアプリケーション上で高速な画像処理を実現できるよ。 我々も画像前処理を行っていたWindowsデスクトップアプリケーションを、WebAssembly+Rustを使用してWebアプリケーションに置き換えたよ。 Rust言語で実装した画像処理をWASMにコンパイル、そしてWebアプリケーション

                                                            Rust+WebAssemblyを使ったWebアプリでの高速画像処理入門 - アダコテック技術ブログ
                                                          • uvとRye - methaneのブログ

                                                            先週にRuffを開発しているAstralがuvを発表しました。 astral.sh uvは現在のところはvenv, pip, pip-toolsの基本的な機能を提供していますが、将来は"Cargo for Python"になることを目標にしています。 一見すると乱立しているPythonのパッケージ管理ツールにもう一つ加わったように見えますが、Ryeの開発者のArminとuvの開発チームは連携していて、同時に次のような発表をしています。 uv: Python packaging in Rust Rye Grows With UV | Armin Ronacher's Thoughts and Writings Ryeはもともとより良いパッケージツールがどうあるべきかの実証のために作られていて、中身は既存のツールのツギハギだった Ryeがpip-toolsやvirtualenvの代わりにuvを

                                                              uvとRye - methaneのブログ
                                                            • 令和最新版 CoffeeScriptで書かれたnodeと上手くやっていく方法、そして決別 <わかれ> - moznion

                                                              moznion サーバーサイドエンジニア Seattle, Washington在住 10年モノのCoffeeScript on node というのは若干言いすぎで、およそ9年モノです 2014年当時の状況 ES2015以前 (そりゃそう) Babelはあった TypeScriptブレイク以前 (だいたい2016年くらいから広くproduction readyになったという印象) AltJSの萌芽 => この時点でCoffeeScriptを採用したのは間違いではないはず...... 2023年現在の状況 JavaScriptの言語機能がめちゃ拡張された TypeScriptがメジャーに DHH、TypeScriptをやめる => CoffeeScriptを使うメリットはおそらく失なわれたと言ってもよい (このへんを参考にした: https://yosuke-furukawa.hatenab

                                                                令和最新版 CoffeeScriptで書かれたnodeと上手くやっていく方法、そして決別 <わかれ> - moznion
                                                              • 2023 年の Prettier 振り返り

                                                                2023 年の Prettier の活動を振り返ります。 Prettier とは Prettier は JavaScript で書かれたコードフォーマッタです。設定可能な項目が少ないいわゆる opinionated なコードフォーマッタです。JavaScript や TypeScript だけではなく、HTML や CSS、GraphQL などもサポートしています。 リリース 2023 年は、メジャーバージョンのリリースが 1 回、マイナーバージョンのリリースが 1 回でした。これまでは 3 ヶ月に 1 回程度マイナーバージョンをリリースしていたので、頻度は少し下がっています。 ですが、メジャーバージョンである 3.0 をリリースできたことと、これまでよりもカジュアルにパッチバージョンをリリースするようになったことを考えると、開発自体が停滞しているわけではないと思っています。 「カジュアル

                                                                  2023 年の Prettier 振り返り
                                                                • 「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス

                                                                  米ホワイトハウス国家サイバー局長室(The White House Office of the National Cyber Director:ONCD)は、2024年2月26日(米国時間)、サイバー空間における攻撃対象領域(アタックサーフェス)を積極的に削減するよう技術コミュニティーに呼びかける報告書を発表した。 ONCDは、IT企業がメモリ安全なプログラミング言語を採用することで、あらゆる種類の脆弱(ぜいじゃく)性がデジタルエコシステムに侵入するのを防ぐことができると述べている。ONCDはまた、サイバーセキュリティの品質を測定するより優れた診断の開発を可能にするために、ソフトウェアの測定可能性の問題に取り組むことを奨励している。 関連記事 Google、「メモリ安全性」に関する見解と対策をまとめたホワイトペーパーを公開 Googleは、「セキュアバイデザイン:メモリ安全性に関するGoo

                                                                    「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス
                                                                  • Googleがプログラミング言語「Rust」に100万米ドルを助成、「C++」との併存・置き換えを図る/メモリ安全性にかかわるセキュリティ問題を減らしつつ、生産性を向上

                                                                      Googleがプログラミング言語「Rust」に100万米ドルを助成、「C++」との併存・置き換えを図る/メモリ安全性にかかわるセキュリティ問題を減らしつつ、生産性を向上
                                                                    • Rustで有名アルゴリズムに挑戦(17) RustでHTTPサーバを実装してみよう

                                                                      今回はRustを使って、簡単なHTTPサーバを実装してみましょう。HTTPは単純ですが生活インフラとしても必須となっているWebの根幹となる技術です。Rustに対する理解を深めると同時にWebの根幹となるHTTPについても学びましょう。 RustでHTTPを実装してみよう HTTPプロトコルとは? 「HTTP(Hypertext Transfer Protocol)」とは、WebサーバーとWebブラウザの間でデータをやりとりするための通信規則(プロトコル)です。 1990年末にイギリスの物理学者ティム・バーナーズ=リー氏と、ロバート・カイリュー氏によって設計されました。 HTTPプロトコルは、RFCとして公に発表されています。RFCとは、IETFが発行しているインターネットに関連する技術仕様などを共有するために公開される文書であり誰でも読むことができます。1996年にHTTP/1.0に関す

                                                                        Rustで有名アルゴリズムに挑戦(17) RustでHTTPサーバを実装してみよう
                                                                      • 並行キャッシュライブラリーの開発で得られた知見

                                                                        Rust.Tokyo 2023カンファレンスの発表スライドです。 The slides for my talk at Rust.Tokyo 2023 conference. Written in English and Japanese.

                                                                          並行キャッシュライブラリーの開発で得られた知見
                                                                        • Go を Wasm にビルドして Google Apps Script で動かす

                                                                          Go のコードで文字列の変換をする関数があり、これが Google スプレッドシート上の関数としても利用できれば検証[1]に便利かもしれないと思いました。 Google スプレッドシートでは Apps Script の関数をセル上で実行できるので、Go のコードを Wasm にビルドして JavaScript から呼び出すことができれば良いのではないかと考え、実際に試してみることにしました。 動作環境 Go 1.22.2 Apps Script の設定 Chrome V8 ランタイムを有効にする その他 macOS の pbcopy コマンド[2]を利用した手順を記載していますが、Linux 環境でも pbcopy を他の手段に置き換えることで同様に動作しました。 事前調査 Go を Wasm にビルドして GAS で動かす事例は見当たりませんでしたが、Rust を Wasm にビルドして

                                                                            Go を Wasm にビルドして Google Apps Script で動かす
                                                                          • なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ - Qiita

                                                                            EDOCODEでエンジニアをしているYutakaです。 こちらは社内勉強会で発表した資料を元にしています。 関数型言語の知識がほとんどないエンジニアがなっとく!関数型プログラミングで学んだ用語を一部まとめました。原著はGrokking Functional Programmingです。本書はScalaとJavaで説明がされていますが、できる限り社内で使われている言語(Go, JavaScript, TypeScript)でサンプルコードを記載しました。 書籍のソースコードはこちらに全て公開されています。 そもそも関数型プログラミングとは? プログラミングのパラダイムには大きく①命令型プログラミング②宣言型プログラミングがあります。 ①命令型プログラミングとは どのよう(HOW)に計算するかに焦点を合わせ、段階的なアルゴリズムを詳細に定義します。これは実際のハードウェアの計算処理の流れに沿っ

                                                                              なっとく!関数型プログラミング を読んで関数型プログラミングを学んだ - Qiita
                                                                            • Real World HTTPの第3版ができあがりました | フューチャー技術ブログ

                                                                              https://www.oreilly.co.jp/books/9784814400669/ ひとえに読者の皆さんが買ってくれたおかげで、Real World HTTPを改訂し、このたび3版を上梓しました。ありがとうございます。2016年ごろから書き始めて、2017年に初版を出版したので、執筆段階からすると8年ほど経過しているのですが、これだけ長くこの本に関わり続けられるというのは、本書を買ってくださるみなさまのおかげです。 今回は、ひさびさに無料のミニ版も更新しました。本日、このブログと同時にリリースしました。よりミニ版が学習コンテンツとして使いやすくなるように、そもそもブラウザってどんな動きをするの? というイントロの章をミニ版とオリジナル版に追加しました。 また、オリジナル版だけになりますが、HTTPが単なるブラウザとの通信を超えてプラットフォーム API化していっている流れに合わせ

                                                                                Real World HTTPの第3版ができあがりました | フューチャー技術ブログ
                                                                              • 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
                                                                                • データ解析用ライブラリ - Qiita

                                                                                  はじめに 皆さん、データ解析やデータ処理にどのライブラリを使用していますか? 恐らく、ほとんどの人がpandasを使用していると思います。 今回は、その他のデータ解析用ライブラリやデータ処理ライブラリについて紹介したいと思います(/・ω・)/ Pandas 言わずと知れたデータ解析用ライブラリですね。 データフレームとシリーズという2つの主要なデータ構造が提供されており、データの読み込みやフィルタリングなど、様々なデータ解析/処理に適しています。 中小規模のデータセットに適しており、大規模なデータの処理はメモリ不足や処理速度の問題からあまり向いていません。 Numpy こちらも言わずと知れたライブラリです。 高速な多次元配列の処理とベクトル化演算のためのライブラリであり、配列の生成やブロードキャスティングなどの多彩な操作を提供しています。 線形代数や乱数生成、フーリエ変換などの科学技術計算

                                                                                    データ解析用ライブラリ - Qiita