並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1251件

新着順 人気順

Rustの検索結果281 - 320 件 / 1251件

  • 500行以内で自作言語作ってみた - Qiita

    はじめに 昨今、Rustの登場によりプログラミング言語は複雑化しつつあります。(彼にRustを貶す意図はありません) この現状を打破するため、私は最高にシンプルで完璧な言語作りに取り組みました。(彼は冗談を言っています) 最終的に当初の目論見とはかけ離れた言語になりましたが、その過程で苦労したことなどを綴っていこうと思います。 完成品はこちらになります 一応GCCでコンパイルして実行すれば乱数生成器が動くようになっています。 https://github.com/sxclij/sxcscript 特徴 C言語かつ500行以内のソースコード。(C言語を触ったことのある人なら無茶振り度合いがわかってくれるはず...) 動的メモリ確保なし(多分)固定長配列最高! 3種類の記号で記述可能。(なんというシンプル! 使用ライブラリはfcntl.h,stdint.h,unistd.hのみ 500行で収め

      500行以内で自作言語作ってみた - Qiita
    • RustでOS開発はじめの一歩

      https://uniquevision.connpass.com/event/303687/

        RustでOS開発はじめの一歩
      • 開発生産性の現在地を開発生産性の歴史と開発生産性Conference2024から振り返る - Tabelog Tech Blog

        目次 目次 はじめに 開発生産性の歴史 工業製品のコスト管理 (1950~1970年代) 工業製品とサービス業の収益増加 (1980~2000年代) ITサービスの開発生産性 (2010年代~) 2024年現在の開発生産性 開発生産性の経営視点での構造化 B-1 プロセス改善 B-2 ソフトウェア化 B-3 技術的負債 B-4 開発者体験 2024年時点での開発生産性の現在地 まとめ 【採用】開発生産性の歴史を一緒に作りませんか? 参考文献 はじめに 食べログ開発本部、品質管理室で室長をしている荻野です。近年ITサービス業界では、ビジネスを取り巻く変化に迅速に対応するため、アジャイル開発やDevOpsなどの開発プラクティスが普及し、開発生産性に関する議論が活発化しています1。 このブログ記事では、開発生産性の歴史をアジャイル開発の源流である日本の製造業まで遡って振り返った上で、開発生産性C

          開発生産性の現在地を開発生産性の歴史と開発生産性Conference2024から振り返る - Tabelog Tech Blog
        • 【10周年前祝い】歴史・年表でみるAWSサービス(AWS Lambda編) -機能一覧・概要・アップデートのまとめ・入門- - NRIネットコムBlog

          小西秀和です。 「歴史・年表でみるAWS全サービス一覧 -アナウンス日、General Availability(GA)、AWSサービス概要のまとめ-」から始まった、AWSサービスを歴史・年表から機能を洗い出してまとめるシリーズの第8弾です(過去、Amazon S3、AWS Systems Manager、Amazon Route 53、Amazon EventBridge、AWS KMS、Amazon SQSについて書きました)。 今回は2014年11月にアナウンスされたサーバーレスでフルマネージドなコード実行サービスを提供するAWS Lambdaについて歴史年表を作成してみました。 今年2024年11月にはAWS Lambdaがアナウンスから10周年を迎えるということで、かなり早めではありますが前祝いという意味も含めて、この記事を書きました。 今回もAWS Lambdaの誕生から機能追

            【10周年前祝い】歴史・年表でみるAWSサービス(AWS Lambda編) -機能一覧・概要・アップデートのまとめ・入門- - NRIネットコムBlog
          • Windowsで動くプログラミング言語に脆弱性、引数の扱い方の穴を突いて攻撃

            CERT Coordination Center (CERT/CC, Carnegie Mellon University)は4月10日(米国時間)、「VU#123335 - Multiple programming languages fail to escape arguments properly in Microsoft Windows」において、Windows上で動作する複数のプログラミング言語から引数を適切にエスケープしない脆弱性を発見したと報じた。この脆弱性はアプリケーションのコマンドインジェクションにつながるとして注意を呼びかけている。 VU#123335 - Multiple programming languages fail to escape arguments properly in Microsoft Windows 脆弱性の詳細 多くのプログラミング言語にはオ

              Windowsで動くプログラミング言語に脆弱性、引数の扱い方の穴を突いて攻撃
            • Rust チョットワカル: Rustの入門書が発売されます! - estie inside blog

              こんにちは。ソフトウェアエンジニア (SWE)の安東です。 突然ですが、estieのエンジニア5人の書いたRustの入門書『バックエンドエンジニアを目指す人のためのRust』が、翔泳社さんから10/25に発売されます!全448ページの大ボリュームで、様々なツールを作りながら、Rustの基礎から簡単なウェブアプリの作成、採用試験まで学べます。これからRustを初めて書く方だけでなく、Rustを触ったことはあるがアプリケーションの実装例を知りたい方にもおすすめです。 そこで今回は、本の内容と執筆風景を紹介したいと思います。 本の予約はこちらから → バックエンドエンジニアを目指す人のためのRust|翔泳社 本の紹介 本書は、Rustを初めて書く方を主な対象とした入門書です。全13章かけて、8種類のツールを作成します。 第1章 Rust はどういうところで使われているのか? 第2章 Rust の

                Rust チョットワカル: Rustの入門書が発売されます! - estie inside blog
              • Rustで学ぶWebAssembly Interface Type入門

                TL;DR Wasmコンポーネントのインターフェースを定義する言語です パッケージという形で名前空間を提供します インポートとエキスポートの定義のことをワールド(world)と呼びます 注意:仕様策定中の技術を扱っています。仕様作成の進行によっては、内容が正しくない場合があります。 背景 Wasmモジュールにはi32、i64, f32, f64の4種類のデータ型しか存在しません。また文字列やユーザー定義型のような構造を持つデーターの表現にも標準が存在せず、データをどのようにメモリ上に配置方法はプログラミング言語の処理系、またはプログラマーが決めるものとされていました。 例えば、次のようなデータ構造と、それに対する操作があったとします。 pub struct Point { x: i32, y: u8, z: u16, } #[no_mangle] pub fn hash(point: &P

                  Rustで学ぶWebAssembly Interface Type入門
                • フロントエンドカンファレンス北海道 2024 公開資料・Xアカウントリンクまとめ

                  2024/08/24(土)で開催されたフロントエンドカンファレンス北海道 2024に関する、現時点での公開資料と X アカウントリンクをまとめました。 よろしければご活用ください。 はじめに 登壇者名は敬称略させていただいています。 スライドについては、ご本人がツイートで展開されていたり、スライドサービスにアップロードされているものを記載。 X アカウントについては、fortee や資料に記載されていたり、資料公開の投稿で分かった方のみ記載。 リンクの間違い等ありましたらコメントいただけると助かります🙏 タイムテーブル 本イベントでは2つの会場でそれぞれ講演がありました。 便宜上、以下のように A, B と表します。 カケハシ(8F):A LINE ヤフー WOW ルーム(6F):B 11:00 - A - Webの潮流から考える、フロントエンドの溢れんばかりの魅力とフロントエンドエンジ

                    フロントエンドカンファレンス北海道 2024 公開資料・Xアカウントリンクまとめ
                  • WebUIについて調べた - laiso

                    WebUIはデスクトップアプリを作るためのライブラリ。HTML, CSS, JavaScriptでフロントエンドを作り、バックエンドをC, C++, Python, Go, TypeScriptなどの言語で開発できる。システムにインストールされているWebブラウザで動作する https://webui.me/webui.me 2023年にhassandragaさんが公開し、V言語コミッタのttytmさんらも参加した 本体はCで開発されていて、Python, Go, TypeScriptにバイディングが提供されている 似た技術としてはElectronやTauri、Gluonなどが存在する laiso.hatenablog.com zenn.dev アーキテクチャについて ElectronやTauriと比較すると、WebUIのアーキテクチャはWebアプリをブラウザで開くだけなのでより単純かつ制

                      WebUIについて調べた - laiso
                    • CloudWatch、19のAWSサービスにベストプラクティスのアラーム推奨を発表

                      Lily Maraと信頼性の高いKafkaデータ処理パイプラインを構築する 今日の回では、Thomas Betts氏がカリフォルニア州サンマテオにあるOneSignalのエンジニアリングマネージャー、Lily Mara氏に話を聞いた。 彼女は、OneSignalの他のエンジニアリングチームが使用する社内サービスを担当するインフラサービスチームを管理している。信頼性の高いKafkaデータ処理パイプラインの構築方法について議論する。OneSignalは、RustのKafka...

                        CloudWatch、19のAWSサービスにベストプラクティスのアラーム推奨を発表
                      • uv: Python packaging in Rust

                        TL;DR: uv is an extremely fast Python package installer and resolver, written in Rust, and designed as a drop-in replacement for pip and pip-tools workflows. uv represents a milestone in our pursuit of a "Cargo for Python": a comprehensive Python project and package manager that's fast, reliable, and easy to use. As part of this release, we're also taking stewardship of Rye, an experimental Python

                          uv: Python packaging in Rust
                        • メンバーの「スキ」をわかりあいたい!フロントエンドのLT会を開催しました - Mirrativ Tech Blog

                          こんにちは!フロントエンドエンジニアの どじねこ です。 今回は少し前となりますが 2024年5月に社内で開催したLT会についてご紹介したいと思います。 よろしければ先日公開されました「iOS・Android 合同のLT大会を開催しました!」も合わせてご覧ください tech.mirrativ.stream ⛳️ LT会を開催した背景 ミラティブには多数のエンジニアが在籍しており、配信やライブゲームを楽しんでいただけるよう日々活動しています。メンバーの技術分野はバックエンド、フロントエンド、Unity、インフラなど多岐にわたり、それぞれの専門性を活かして課題解決に取り組んでいます。 Webフロントエンドではモバイルと異なりチームではなく、強く興味を持ったメンバーで構成されるギルドが主体となって定期的に勉強会や知見の共有会を行っています。今回はそうした勉強会の延長として、社内外に向けて発信する

                            メンバーの「スキ」をわかりあいたい!フロントエンドのLT会を開催しました - Mirrativ Tech Blog
                          • PHPやNode.jsなどに任意コマンド実行の脆弱性、原因はWindows仕様の理解不足

                            多くのプログラミング言語の処理系に、攻撃者が任意のコマンドを実行できる深刻な脆弱性が見つかった。JPCERTコーディネーションセンター(JPCERT/CC)と情報処理推進機構(IPA)が共同運営する脆弱性対策情報ポータルサイト「JVN(Japan Vulnerability Notes)」で2024年4月15日に公開された。 脆弱性が確認されたのは「PHP」「Rust」「Haskell」の各言語処理系とJavaScript/TypeScriptの処理系「Node.js」、音声や動画をダウンロードできる高機能なコマンド「yt-dlp」である。ただし、この脆弱性の影響を受けるOSはWindowsだけで、LinuxやmacOSなどの他のOSには影響しない。 多くのプログラミング言語は、プログラムの中からOS上でコマンドを実行する機能を持つ。Windowsでは言語処理系が「CreateProces

                              PHPやNode.jsなどに任意コマンド実行の脆弱性、原因はWindows仕様の理解不足
                            • Ruby知識ゼロから初参加したRubyKaigi 2024レポート - 共沸

                              TL;DR 楽しかった! 本編 おはようございます。手札事故(twitter:@hand_accident)と申します。 Ruby知識ゼロから初参加したRubyKaigi 2024レポート、略してルゼロ*1という感じでやっていきたいと思います。 < Day 0 自己紹介でもしとくか。生まれ育った愛媛県松山市*2に帰って非IT企業でパソコン係をやっている過程で、すべてが個人開発の労働環境で趣味全ブッパ技術選定をした結果HaskellとNimを書くようになりました。すこしSvelteもします。 Rubyは名前を聞いたことがあるしちょっとニッチなPythonライブラリ探そうとしたら時々検索にgemが引っかかってそちらにはあるのねえという感想を抱くなどしていましたが何の因果か触ってみるには至らず、沖縄に来て初めてコードを見たまであります。 愛媛県松山市で趣味の音楽ゲーム(DDR)に高じていたところ

                                Ruby知識ゼロから初参加したRubyKaigi 2024レポート - 共沸
                              • In-browser code playgrounds

                                I'm a big fan of interactive code snippets in all kinds of technical writing, from product docs to online courses to blog posts. Like this one: In fact, I even built an open source tool called Codapi1 for embedding such snippets. Typically, a code playground consists of a client-side widget and a server-side part that executes the code and returns the result: browser ┌─────────────────────────────

                                  In-browser code playgrounds
                                • tokioから発表された新しいORM「toasty」を触ってみる - Don't Repeat Yourself

                                  toastyは先日tokioから発表されたORMです。 tokio.rs このORMは現状開発段階のもので、まだ実用に耐えうる段階にはないとGitHubには書かれています。というか、crates.ioにはダミー用関数が用意されているだけで、プロジェクトの依存に追加したとしてもまだ何もできません。現時点で対応しているのはsqliteとDynamoDBのようで、他のデータベースないしはCassandraなどには今後対応予定とのことです。async対応しています。また、SQLとNoSQL対応しているとなると、両者を抽象してくれるなにかかと思われるかもしれませんが、両者に対する操作を抽象してくれるわけではありません。 toastyの特徴 特徴としては、toastyというファイルにスキーマ定義を書き、toasty cliを実行すると、専用のRustコードが生成されるという点でしょうか。そして、生成さ

                                    tokioから発表された新しいORM「toasty」を触ってみる - Don't Repeat Yourself
                                  • 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
                                    • Cloudflare Workersで、自分のはてブをBlueskyに流す - すぎゃーんメモ

                                      bsky.app そういえば、古き良き時代は自分のブックマークは自動でTwitterに投稿されていたのだった。 今はBlueskyがメインになっているので、同じ仕組みが欲しい、と思った。ので、作った。 github.com 要件 先行事例 Rust版 WASM対応 Cloudflare Workersでの実装 1MB制限との戦い Fetch API KVでのSessionStore? 要件 自分のブックマークはRSSで取得できる。定期的にチェックして新しいのがあれば、といったロジックで検出できる。 なので、基本的にはプログラムを定期実行できる場所があればGitHub Actionsとかでも良い。 ただ、対象のブクマ内容をpostする前に、それを既にpostしているか否かを知る必要がある。 専用のbotアカウントとかであれば、そのアカウントのpost feedを取得して最近のものをチェックす

                                        Cloudflare Workersで、自分のはてブをBlueskyに流す - すぎゃーんメモ
                                      • How we built JSR

                                        We recently launched the JavaScript Registry - JSR. It’s a new registry for JavaScript and TypeScript designed to offer a significantly better experience than npm for both package authors and users: It natively supports publishing TypeScript source code, which is used to auto-generate documentation for your package It’s secure-by-default, supporting token-less publishing from GitHub Actions and pa

                                          How we built JSR
                                        • WinterJS 1.0 · Blog · Wasmer

                                          Back to articlesWinterJS 1.0Announcing WinterJS 1.0, the fastest Javascript web server now also supporting Cloudflare applications and React Server Components WinterJS 1.0 is finally here. WinterJS is an incredibly fast WinterCG-compatible Javascript runtime written in Rust using the SpiderMonkey engine to execute JavaScript, and Tokio to handle the underlying HTTP requests and JS event loop. Wint

                                            WinterJS 1.0 · Blog · Wasmer
                                          • やっぱり安全を求めるなら「C」や「C++」ではなく「Rust」 Androidが取り組みを紹介

                                            GoogleのAndroidチームは2024年9月4日(現地時間)、公式のセキュリティブログで、「Android」におけるファームウェアの安全性向上に関する取り組みを発表した。メモリセーフなプログラミング言語である「Rust」をファームウェアに導入することで脆弱(ぜいじゃく)性を軽減できると解説している。 Rustでファームウェアの安全性をどう向上させるか? Androidの取り組み Androidは設計段階から安全性が重視されており、リリースごとにOSの悪用が困難になるよう工夫されている。その一環としてAndroidのファームウェアにRustが段階的に導入されており、メモリ安全性を向上させている。特に新しいコードやセキュリティリスクが高いコードに優先してRustを採用することで、脆弱性の削減が図られている。 従来のファームウェアは「C」や「C++」といったプログラミング言語で記述されるこ

                                              やっぱり安全を求めるなら「C」や「C++」ではなく「Rust」 Androidが取り組みを紹介
                                            • Rustで作るtree-sitterパーサーのRubyバインディング

                                              大阪Ruby会議04

                                                Rustで作るtree-sitterパーサーのRubyバインディング
                                              • JavaScript/TypeScriptからWebAssemblyやネイティブバイナリを生成するコンパイラ「Porffor」の開発が加速へ、開発者がフルタイムで取り組み

                                                「Porffor」は、JavaScript/TypeScriptをWebAssemblyバイナリやネイティブバイナリへとコンパイルする実験的なツールであり、これまでにない2つの特徴を備えています。 1つ目はJavaScript/TypeScriptをコンパイルしてWebAssemblyバイナリやネイティブバイナリを生成しようとしている点です。 これまでもJavaScript/TypeScriptをWebAssemblyに変換するツールは存在していましたが、JavaScriptのコードとWebAssembly版のJavaScriptエンジンを1つにパッケージングするという手段で実現していました。 実行時には、パッケージ内部のJavaScriptコードをWebAssembly版JavaScriptエンジンで実行していたのです。そのため生成されたバイナリの大きさは比較的大きく、また実行速度はあく

                                                  JavaScript/TypeScriptからWebAssemblyやネイティブバイナリを生成するコンパイラ「Porffor」の開発が加速へ、開発者がフルタイムで取り組み
                                                • ISUCON 13 参加記 (白金動物園)

                                                  白金動物園の sorah です。優勝した ISUCON 9 以来 Writer や Admin (アドバイザー), ポータルのメンテナ係として運営に幽閉されていて長いこと選手をやっていませんでしたが、今回ひさびさに選手として参加したのでその参加記。 結果としては 18 位で 103,838 点で終了。10 万点到達の着順ではわりと早かったチームになれたものの、その後伸ばせず、かなり悔しい。 https://isucon.net/archives/57993937.html 一方で Ruby を利用して NameError や NoMethodError による fail を高速に繰り返していたため「ベンチマーク Fail 回数の多い 3 チーム」として 53 回で TVer からスポンサー賞をもらいました。我々より Fail 数が多いチームは Go だと思うんだけど、コンパイラがそこそこ怒

                                                  • Rust by Example 日本語版が公式に公開されるまで

                                                    はじめに 2024/07/25 にリリースされた Rust 1.80.0 にて Rust by Example の日本語版が公式に公開されました。画面右上にある地球儀のアイコンから日本語を選択可能になっています。 この取り組みを始めたのは2023年の10月頃だったのですが、さまざまなレビュー待ちやRustにおけるドキュメント公開フローをよく分かっていなかったことによる失敗もあり、最終的には1年近くかかってしまいました。 Rustはコンパイラの開発などかなり良くドキュメント化されている(Rust Compiler Development Guide)のですが、ドキュメントの管理についてはほとんど資料がなく、Zulip で聞かないと分からないようなこともありました。 この記事ではこの1年でやってきたことを時系列で書いていきます。Rustのドキュメントに貢献したい人には参考になる部分があるかもし

                                                      Rust by Example 日本語版が公式に公開されるまで
                                                    • Rust std fs slower than Python!? No, it's hardware!

                                                      I'm about to share a lengthy tale that begins with Apache OpenDAL™ op.read() and concludes with an unexpected twist. This journey was quite enlightening for me, and I hope it will be for you too. I'll do my best to recreate the experience, complete with the lessons I've learned along the way. Let's dive in! All the code snippets and scripts are available in Xuanwo/when-i-find-rust-is-slow TL;DRJum

                                                      • 自分が Moonbit 言語について知っていること

                                                        I will write an English version later to give back to the moonbit community. Addition: https://gist.github.com/mizchi/aef3fa9977c8832148b00145a1d20f4b この記事はリバースエンジニアリングを含んでいる。公式の Discord サーバーで質問して得られた内容を含むが、ここに書かれたものは自分の理解であって、公式の見解ではない。 前の紹介記事では煽り気味だったので、実際に調べながら書いてみてどう感じているかという実践的な話をする。 作者と開発組織 開発母体は深センの研究組織 IDEA 元 Meta で BuckleScript | ReScript を開発していた Hongbo Zhang 氏がチーフアーキテクト。 ReScript を知らない人の

                                                          自分が Moonbit 言語について知っていること
                                                        • なぜバックエンド開発にRustを使うのか? その魅力はパフォーマンス、安全性、生産性の高さ

                                                          2015年にリリースされたRustが近年注目されています。RustはMozilla社の社員による個人プロジェクトから始まり、当初はFirefoxなどに使われていました。次第にパフォーマンス、安全性、生産性の高さが評価され、様々なソフトウェアやハードウェアへの組み込み、Webアプリやゲームなどに利用されるようになりました。Webサービスのバックエンド開発にも活用されており、利用を考えている方もいるのではないでしょうか。今回はRustの入門書『バックエンドエンジニアを目指す人のためのRust』(翔泳社)から、なぜRustが注目されているのか、その魅力を紹介します。 本記事は『バックエンドエンジニアを目指す人のためのRust』(著:安東一慈/大西諒/徳永裕介/中村謙弘/山中雄大)の「第1章 Rustはどういうところで使われているのか?」から抜粋したものです。掲載にあたって編集しています。 Rus

                                                            なぜバックエンド開発にRustを使うのか? その魅力はパフォーマンス、安全性、生産性の高さ
                                                          • JavaScriptの識別子に中黒が使えるようになった: Days on the Moon

                                                            JavaScriptの識別子(変数名、関数名、プロパティ名など)の2文字目以降に中黒「・」(U+30FB KATAKANA MIDDLE DOT)が使えるようになりました。以下のコードはChrome 124では構文エラーになりますが、Chrome 125では問題なく実行できます。 const シン・ゴジラ = 2016; JavaScriptの識別子 中黒が使えるようになったのは、JavaScript(ECMAScript)の仕様が変わったからではありません。変わったのはUnicodeの仕様のほうです。Unicode 15.1.0(2023年9月)においてOther_ID_Continueプロパティ(を持つ文字の集まり)に中黒が追加されました。 そもそもJavaScriptの識別子に使える文字は、Unicodeを参照して定義されています。ECMAScript 2023(2023年6月)では

                                                            • tbsp - tree-based source-processing language

                                                              tbsp - tree-based source-processing language tbsp is an awk-like language that operates on tree-sitter syntax trees. to motivate the need for such a program, we could begin by writing a markdown-to-html converter using tbsp and tree-sitter-md [0]. we need some markdown to begin with: # 1 heading content of first paragraph ## 1.1 heading content of nested paragraph for future reference, this markdo

                                                              • 「シェア乗り時刻表」について - NearMe Tech Blog

                                                                はじめに 先日、空港送迎のシェア乗りサービスの空席を埋めるための時刻表機能をリリースしました。 構想は昔からあったのですが、ようやく開発を進めて世に出すことができました。 ここではその機能概要やシステムについて説明します。 時刻表について NearMeではユーザー同士がタクシー/シャトルの車両をシェアして乗車するサービスを構築してきました(※同じシェアですが、昨今、ドライバー不足で議論されている"ライドシェア"は一般ドライバーと乗客のマッチングによるもので、それとは異なります)。 特に、空港送迎のような事前に予約するシナリオにおいて運行効率を高める機能を作ってきました。 ユーザー同士のマッチングを最適化したり(参考、参考)、 車両と運行のマッチングも最適化して密な運行セットを作ったりしました(参考)。 また、既にある運行の空席を埋める施策として、時間をずらしたら乗れるというレコメンド機能も

                                                                  「シェア乗り時刻表」について - NearMe Tech Blog
                                                                • Deno と JSR がもたらす OSS の民主化という妄想

                                                                  一応もうひとつ補足すると、Deno で TypeScript の実装の定義に飛べるのは TypeScript で実装されたものだけです。具体例で言うなら std/* や各種ライブラリのコードにはジャンプしてそのまま実装を読むことができますが、Deno.* などの Deno コアの組み込み API の実装には飛べません。なぜならこれらは、TypeScript 型定義は提供されているものの、実際には Rust と JavaScript ランタイムの層で実装されているためです。 もちろん、例えば VS Code なら "TypeScript: Go to Source Definition" といったコマンドがあり、それを叩くと JavaScript のシンボルにジャンプできる…ようになっている…一応。しかし、実際にやってみるとわかるが、それが期待通りの結果になってくれることは、残念ながらほとん

                                                                    Deno と JSR がもたらす OSS の民主化という妄想
                                                                  • Python 3.13 gets a JIT

                                                                    Happy New Year everyone! In late December 2023 (Christmas Day to be precise), CPython core developer Brandt Bucher submitted a little pull-request to the Python 3.13 branch adding a JIT compiler. This change, once accepted would be one of the biggest changes to the CPython Interpreter since the Specializing Adaptive Interpreter added in Python 3.11 (which was also from Brandt along with Mark Shann

                                                                      Python 3.13 gets a JIT
                                                                    • 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

                                                                      • TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く

                                                                        TL;DR: JavaScriptで使われるネイティブパーサーは、言語間の余分な作業のために常に速いとは限りません。これらのオーバーヘッドを回避し、マルチコアを使うことが性能にとって重要です。 Rustは、そのパフォーマンスと安全性の特徴から、JavaScriptエコシステムの中で急速に選択肢の一つになっています。しかし、RustをJavaScriptツールに統合することは、特に効率的で移植性の高いプラグインシステムを設計する際に、固有の課題をもたらします。 「JavaScriptツールをRustで書き直すことは、広範な外部貢献を必要としない速度重視のプロジェクトにとって有利です。」 ESLintの作者であるNicholas C. Zakas Rustは、その急な学習曲線のために難しいものになりがちで、さらにコンパイルされたバイナリを異なるプラットフォームに配布することも簡単ではありません

                                                                          TypeScriptパーサーのベンチマーク:Rustツールの性能の謎を解く
                                                                        • We need visual programming. No, not like that.

                                                                          SummaryMost visual programming environments fail to get any usage. Why? They try to replace code syntax and business logic but developers never try to visualize that. Instead, developers visualize state transitions, memory layouts, or network requests. In my opinion, those working on visual programming would be more likely to succeed if they started with aspects of software that developers already

                                                                          • 大規模コードベース向けASTツールのast-grepについて

                                                                            大規模なコードベース向けの高速なASTツールとしてast-grepというものがある。これについての調査メモ。 主に以下の公式ドキュメントを読み進めて、利用方法、パターンやルールの詳細などについて理解を深める。 ast-grepとは 公式ドキュメントでは、コードの検索からLint、codemodに至るまでASTツールとして網羅的にカバーできるツールであることが以下のように表現されている。 Think ast-grep as an hybrid of grep, eslint and codemod. 結果に精度が求められる場面では、高速であるものの精密さに欠けるテキストベースではなく、ASTベースでの正確な解析の方が望ましいだろうけど、ASTでの記述は非常に面倒になりがちという側面がある。 その点においてast-grepは、テキストベースでのgrepではなく、ASTベースでのgrepというよ

                                                                              大規模コードベース向けASTツールのast-grepについて
                                                                            • 6万5000人以上の開発者に「好きな言語」「好きなOS」「好きな開発環境」「好きなAI」を聞いた年次調査「2024 Stack Overflow Developer Survey」の結果が公開される

                                                                              開発者のためのコミュニティ「Stack Overflow」が実施した年次調査「2024 Stack Overflow Developer Survey」の結果が公開されました。6万5000人を超える開発者が、コーディングやAI、使用および学習したいと考えるテクノロジーやツール、職場での体験などについて回答しています。 2024 Stack Overflow Developer Survey https://survey.stackoverflow.co/2024/ まず、回答者の最終学歴は以下の通りで、41%が学士号を、25.6%が修士号を取得しています。Stack Overflowは「開発者の66%が学士または修士の学位を持っているが、学校でコードを学んだ開発者は49%に過ぎない」とも指摘しています。 コードを学習するために最も優先する選択肢を問うた項目では、「その他のオンラインリソース

                                                                                6万5000人以上の開発者に「好きな言語」「好きなOS」「好きな開発環境」「好きなAI」を聞いた年次調査「2024 Stack Overflow Developer Survey」の結果が公開される
                                                                              • gRPC Over HTTP/3

                                                                                Introduction At the time of writing, HTTP/3 is supported by 30.4% of the top 10 million websites. This market penetration is astounding, but it seems like all of this progress has been possible almost exclusively by work on browsers, load balancers and CDN providers. What about the backend? How’s HTTP/3 doing there? The answer, sadly, is not as incredible. Because of this, I have been very interes

                                                                                  gRPC Over HTTP/3
                                                                                • Rust on Rails!? Rust 版の Rails と呼ばれる "Loco" を試す!

                                                                                  Rust 版 Rails "Loco" Loco は Rails にインスパイアされた Rust の比較的新しい Web フレームワークです。 2024 年 9 月 1 日時点でバージョン 0.8.0 がリリースされています。 Loco の特徴 タイトルにもある通り、Loco is Rust on Rails. [1] を謳っており、 Ruby on Rails の開発体験の良さを Rust でも再現しようとしています。 また、小さいサービスや個人開発に適したフルスタックフレームワークとして開発されているようです。 内部実装では、コントローラーやルーティングは Axum で実装されていたり、 ActiveRecord は SeaORM で実装されていたりするそうです。[2] Axum や SeaORM については、別の記事で触れているので良ければご覧ください! Rust | Axum と

                                                                                    Rust on Rails!? Rust 版の Rails と呼ばれる "Loco" を試す!