並び順

ブックマーク数

期間指定

  • から
  • まで

441 - 480 件 / 7573件

新着順 人気順

rustの検索結果441 - 480 件 / 7573件

  • なぜSQLiteはバイトコードを使うのか

    以前にデータベースを自作しようとして、SQLiteのアーキテクチャを見てみたらVMだったことに疑問を感じ、それをツイートしたところ作者からリプをもらいました。 作者いわく、次のような背景があったとのことでした。 SQLiteを作った当初はデータベースエンジンのことをよく知らないがコンパイラのことをよく知っていた SQLデータベース・エンジンを書くという問題をコンパイラ構築の問題として扱うのは自然なことだった データベースエンジンのコアの部分をVMにするという発想がまったくなかったので、どんなメリットがあるのか?と気になっていました。 それを作者に聞いたら、詳細な説明ページを作ってくれました。 個人的にVMにしたことで、評価&実行のパフォーマンスは多少良くなると思うが、データベースエンジンのパフォーマンスにそれほど寄与していないんじゃないかな?って思ったりしました。 本記事はそのページについ

      なぜSQLiteはバイトコードを使うのか
    • GoとRust - 並行処理編

      GoとRustの変更処理を比較することで両者を深く理解する試みです。 詳しい内容やスライドでは省いたところをブログに書きました https://zenn.dev/nasa/articles/compare_rust_go_concurrency

        GoとRust - 並行処理編
      • GoのスライスとRustのスライス | Wantedly Engineer Blog

        こんにちは、Wantedly のDX Squadでエンジニアをしている原です。 (DXはDeveloper Experienceの略で、開発者が心地よくプロダクトを作れる環境を作ることを目標に頑張る部門です) 本稿は、WANTEDLY TECH BOOK 9 から「GoのスライスとRustのスライス」という章を抜粋し加筆修正を加えたものです。ウォンテッドリーでは WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布しています。ぜひ読んでみてください。 過去の WANTEDLY TECH BOOK を入手する 以下、本文です。 GoのスライスとRustのスライスは大枠では似ていますが、スライスの共有に関する振舞いが微妙に異なり、GoとRustの設計の違いが垣間見られます。本記事ではこの違いを説明します。 配列型とスライス型Go/Rustにおいて「配列」は固定長でスタッ

          GoのスライスとRustのスライス | Wantedly Engineer Blog
        • AWSも支援--プログラミング言語「Rust」人気が拡大

          Catalin Cimpanu (Special to ZDNET.com) 翻訳校正: 村上雅章 野崎裕子 編集部 2019-11-04 08:30 AWSによる支援は、Rustチームに「AWSプロモーション・クレジット」を提供するという形態をとる。Rustチームはこのクレジットを用いてAWSのインフラを利用して、同言語を開発していくというわけだ。 RustコアチームのメンバーであるAlex Crichton氏は、「Rustプロジェクトが長年使ってきているAWSによってRustのインフラが支援されるのは、非常に喜ばしいことだ」と述べている。 Crichton氏は「この支援によってRustは、コンパイルした成果物の配布や、crates.ioクレートのダウンロード、すべてのプロセスの結合に必要なプロジェクト内での自動化のために、AWS上でインフラをホストし続けられるようになる。これらのサービ

            AWSも支援--プログラミング言語「Rust」人気が拡大
          • HTTP/3: the past, the present, and the future

            HTTP/3: the past, the present, and the future2019-09-26 This post is also available in 简体中文, 日本語, 한국어, Français, Español. During last year’s Birthday Week we announced preliminary support for QUIC and HTTP/3 (or “HTTP over QUIC” as it was known back then), the new standard for the web, enabling faster, more reliable, and more secure connections to web endpoints like websites and APIs. We also let

              HTTP/3: the past, the present, and the future
            • Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ

              Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ スクラッチから新たにWebブラウザの開発をオープンソースとして行う非営利団体「Ladybird Browser Initiative」の設立が発表されました。 Ladybird Browser Initiativeは、Webブラウザ「Ladybird」およびそのためのレンダリングエンジン「LibWeb」、JavaScriptエンジン「LibJS」などの開発を行います。 Web開発の資金源が広告であるべきではない Ladybird Browser Initiativeを設立したのは、元GitHub創業者兼CEOのChris Wanstrath氏と、NokiaおよびAppleでWebKit開発チーム

                Google広告費の影響を受けない新たなWebブラウザが必要だと、スクラッチからWebブラウザを開発する「Ladybird Browser Initiative」、元GitHub創業者らが立ち上げ
              • トーバルズ氏、Rust導入やM2搭載「MacBook Air」について語る

                筆者はLinus Torvalds氏を数十年前から知っているが、コロナ禍が始まってからは、対面でインタビューを行う機会が無かった。しかし、世界のLinuxのトップ開発者が集まる年次会合である2022年のLinux Plumbers Conferenceで、とうとう再び対面で話を聞く機会を作ることができた。 Torvalds氏はカンファレンスが始まる直前、オランダ領西インド諸島のボネール島で6日間をスキューバダイビングをして過ごしていたという。もし選べるのであれば、「カンファレンスに出るよりもダイビングをしていたい」と同氏は語った。誰だってそうだろう。 またTorvalds氏は、自分はLinuxカーネルの仕事をたくさんしているが、ワーカホリックではないとも述べた。 これだけの年月が経っても、いまだにこの仕事をしていられる理由は、仕事を離れる時間を取れるからだ。しかしすぐに飽きてしまうので、長

                  トーバルズ氏、Rust導入やM2搭載「MacBook Air」について語る
                • 『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream

                  Rustで作るプログラミング言語という書籍が先日発売されました。簡単なプログラミング言語を作ってバイトコードに変換して実行したりネイティブコードに変換して実行してみよう、という本で、大変面白く読みました。最終的にまあまあ本格的な言語になるので、これを元にするとわりとちゃんとした言語を作れそうです。 この書籍で最終的に作られる言語はこちら: GitHub - msakuta/ruscal: Programming language implementation learning project ちょうど私も、以前から構想していた言語があったので、ちょっと作ってみました。というのも、TypeScriptを設定記述言語としてさまざまなプログラミング言語から使えると便利ではないかとずっと思っていたのです。 この設定言語で複雑なことができる必要はなく、最終的にはJSONに準ずるデータ構造になればよい

                    『Rustで作るプログラミング言語』を読んで、かねてから構想していた自作言語を形にした - Islands in the byte stream
                  • 全ての道はRomeへ続くのか - これからのJavascript開発を考える

                    Romeとは 現代のJavascript開発には多くのツールチェーンが必要とされます。Babel,webpack,Jest,ESLint,Prettier,Typescriptなどを組み合わせて開発することが多く、さらにこれらの一部代替選としてesbuild,SWC,Viteなどのツールチェーンの選択肢が存在し、選択肢の多さやその組み合わせの複雑さに苦い思いをしたことがある方も少なくないのではないと思います。 こうした中で、新たに開発が進められているツールチェーン、Romeをご存知でしょうか? Romeは先に挙げたように複数のツールチェーンを役割ごとに組み合わせて使うのではなく、1つのツールチェーンでこれら全ての役割を担ってしまおうという壮大な計画を持つツールチェーンです。 Romeは2020/03にFacebookより発表されました。現在は法人化され、yarnやBabelの生みの親である

                      全ての道はRomeへ続くのか - これからのJavascript開発を考える
                    • [Rust] モジュールのベストプラクティス

                      Rust のモジュールシステムは私の知る中でもトップクラスによくできた仕組みだと思います。特にリファクタリングによってモジュールを再構成するときのやりやすさは他の言語では経験できないものです。例えばそれなりの規模の Python プロジェクトを回帰バグを導入せずにモジュール構造のリファクタリングするのは不可能に近いですが、 Rust ではそのような不安を覚えたためしがありません。 Rust のモジュールシステムがどういうものかは、 The book にも書かれていますし、すでに大量のガイドが書かれていると思います。しかし、どのように使うべきかについては意外なほど情報が少なく感じます。 ベストプラクティスというのもおこがましいですが、数年使ってきて Rust のモジュールシステムを使う上でスムーズに感じる方法をまとめておきたいと思います。 Rust のモジュールシステム 本稿の主題はモジュー

                        [Rust] モジュールのベストプラクティス
                      • Google、コード生成や補完のAIモデル「Codey」が日本語での指示や説明に対応したと発表

                        Googleは、都内で開催したイベント「Generative AI Summit Tokyo」で、コード生成や補完のためのAIモデル「Codey」が日本語に対応したと発表しました。 CodeyはGoogleの最新の大規模言語モデルPaLM 2をベースとした、コード生成や補完のための基盤モデルです。 Codeyは、自然言語による指示に基づいてコードを生成する機能、チャットで会話しつつコード関連の質問に回答する機能、コードの足りない部分を補完する機能などを備えています。 対応するプログラミング言語は、Java、JavaScript、TypeScript、PHP、Python、Ruby、Rust、C++、C#、Go、Kotlin、Scala、Swift、GoogleSQLなど。さらにGoogle Cloud CLIやKubernetes Resource Model(KRM)、Terraform

                          Google、コード生成や補完のAIモデル「Codey」が日本語での指示や説明に対応したと発表
                        • フロントエンドの移り変わりは早すぎるのか

                          インターネットでは毎日のように言われることですが、私はそこまでではないと考えています。 ネットでよくそう言われる理由として考えられるものと、それを踏まえてどう向き合っていくとよさそうか、個人的な考えをまとめてみます。 なぜ言われるのか 言語が実質的にJavaScript一択 バックエンド、というかサーバサイドでは技術選定に「言語の選択」が入りますが、フロントエンドでは実質的にはJavaScriptにほぼ固定されます(TypeScriptも別言語ではないので、ここではJavaScriptに含めます) サーバサイドと比較して「技術の移り変わりが早すぎる」と評される場合、多くはその人の使用しているとある言語と比較されているように思われます。 実質的に言語が固定なので、比較するならすべてのサーバサイドの変化の総量と比較するのが妥当でしょう。 PHP + Python + Ruby + go + J

                            フロントエンドの移り変わりは早すぎるのか
                          • 個人開発したサービスのバックエンドを Python から Rust に書き換えてみた

                            はじめに 過去の記事『淡路島発着の高速バス検索サービス「GO TO AWAJI」をリリースした話』で Python を用いて個人開発サービスのバックエンドを実装したことを紹介しました。 勉強のためにこのサービスのバックエンドの一部を Rust で書き換えたので、本記事で紹介させて頂きます。 クローラーサービス 今回 Python から Rust に書き換えを行ったのはクローラーと呼んでいるサービスです。 これは GCP の Cloud Run 上で動いており、 Cloud Scheduler から定期的に実行されて以下のことを行っています。 クローラーサービスのシステム構成 各バス会社の新着情報をスクレイピングする 取得した新着情報を DB (SQLite) に保存されている過去の新着情報と比較する 新しい新着情報が存在する場合DBに保存し、SendGrid で筆者宛にメールで通知する な

                              個人開発したサービスのバックエンドを Python から Rust に書き換えてみた
                            • Python を Go に書き換えるとどれくらい速くなる? 7つの言語で Dijkstra の実行速度を比較 - Qiita

                              Python を Go に書き換えるとどれくらい速くなる? 7つの言語で Dijkstra の実行速度を比較KotlinRustベンチマークJuliaDijkstra これは何 最短経路探索のアルゴリズムを使っていくつかの言語の性能がどれくらい違うかを調べてみました。 Python は手軽に実装できるけど遅い、Go は 早いけど C++ よりは遅い? 本当? のような疑問を一定解消したかったというのが動機です。 前提条件など 対象とする言語 本命 Go, Rust, C++ 興味本位 Julia Python より段違いに早ければもう少し掘ってみたい 興味本位 Kotlin 意外とトップ集団に肉薄するのではないか 参考 Python JavaScript 性能差のイメージとしては Rust == C++ > Go >> Kotlin >>> JavaScript > Python == J

                                Python を Go に書き換えるとどれくらい速くなる? 7つの言語で Dijkstra の実行速度を比較 - Qiita
                              • 「専門家への敬意の不足」を理由にプログラミング言語「Rust」のコアチームメンバーの一人が離脱、一体何が起きたのか

                                プログラミング言語「Rust」の開発をかじ取りするコアチーム内で不和が発生しており、コアチームメンバーの1人だったJTさんの「Rustのコアチームを離脱する」というブログ投稿をきっかけに、ITエンジニアたちが集うHackernewsで激論が繰り広げられています。 Why I left Rust https://www.jntrnr.com/why-i-left-rust/ I Am No Longer Speaking at RustConf 2023 | The Pasture https://thephd.dev/i-am-no-longer-speaking-at-rustconf-2023 Why I Left Rust | Hacker News https://news.ycombinator.com/item?id=36101501 コアチームを離脱したJTさんによると、事件

                                  「専門家への敬意の不足」を理由にプログラミング言語「Rust」のコアチームメンバーの一人が離脱、一体何が起きたのか
                                • WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進

                                  WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進 WebAssemblyのガベージコレクション機能が、Chrome 111 Devリリースにおいて試験的実装を示すOrigin trialとして実装されることが分かりました。 WebAssemblyのガベージコレクション機能はまだ仕様策定段階ですが、試験的機能として実装が登場することで仕様策定の作業などが進むと同時に、いわゆる高級言語でのWebAssembly対応が広がることも期待されます。 WASM GCはChromeのフィーチャーフラグで有効化 ChromeブラウザにはStable、Beta、Dev、Canaryなど、開発の段階に分かれた複数のリリースチャンネルがあります。 現在リリースされているChrome 111 Devリリースチャンネル

                                    WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進
                                  • SQLite を再実装する時に役にたつドキュメント - kawasin73のブログ

                                    困った時はドキュメント、どうもかわしんです。最近、諸事情で SQLite のドキュメントを読んでいます。 前回の記事 で紹介した通り SQLite を Rust で再実装しています。おかげさまで 300 を超える Github Star もいただき嬉しいです。 github.com SQLite は全ての仕様が ドキュメント にまとめられているので、そのドキュメントと本家の実装を読み比べながら実装しています。 SQLite を再実装する上で特に以下のドキュメントは役にたちます。これらだけで最小限の SQLite の実装は作れると思います。 Overview Documents > About SQLite いかに SQLite がすごいかを自慢しているドキュメント。使おうとしている人には安心を、再実装しようとする人には絶望を与えてくれます。 Programming Interfaces >

                                      SQLite を再実装する時に役にたつドキュメント - kawasin73のブログ
                                    • 2024年絶対に読む技術書10選

                                      あけましておめでとうございます!uenikiです。2024年が始まってしまいました。 こちらの記事で、2023年に読んだ技術書Top5を紹介しました。 2023年は、技術書は12、3冊しか読めませんでしたが、毎年大体15冊〜20数冊程度で安定しているようです。(マネジメント系の本を含めるともう少し増えますが、ここではピュアに技術寄りの本のみ対象とします。) ということは、2024年も10冊は読めるということですし、すでに発売している(発売を予定している)本でもそれぐらいの数はあるだろうということで、雑に10冊を選んでみたいと思います。この企画としては、すでに読んだことある本を再度読み通すのも1冊とカウントすることとします。辞書的に必要な箇所だけ読むのは1冊とはカウントしません。 そして、必ずこの10冊は読むことします。 10選のご紹介 [試して理解]Linuxのしくみ ―実験と図解で学ぶO

                                        2024年絶対に読む技術書10選
                                      • Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ

                                        Ruby の開発をしている技術部の笹田です。娘が自転車に乗り始め、まだ不安なためずっとついていなければならず、少し追っかけまわしただけで息切れがヤバい感じになっています。運動しないと。 ここ数年、Ruby で並列処理を気軽に書くための仕組みである Ractor を Ruby 3.0 で導入するという仕事を、クックパッドでの主務として行ってきました(クックパッドから、これ、と言われていたわけではなく、Ruby を前進させるというミッションの上で行ってきました)。 Ractor は、もともと Guild という名前で開発をはじめ、2020年の春頃、Ractor という名前に変更することにしました。いくつかの機会で発表しています。下記は、RubyKaigi での発表の記録です。 A proposal of new concurrency model for Ruby 3 - RubyKaigi

                                          Ruby 3.0 の Ractor を自慢したい - クックパッド開発者ブログ
                                        • WebAssemblyでの機械学習モデルデプロイの動向

                                          本記事はMLOps Advent Calendar 2020の 2 日目の記事です。 WebAssembly(Wasm)は機械学習モデルをデプロイする新たな手段になりうるでしょうか。 この記事では、機械学習モデル(特に Deep Learning)を Wasm でデプロイする周辺技術の動向や内部の仕組みをざっくりと説明します。 Table of Contents tkat0 です。WebAssembly(Wasm)面白いですね。 私も最近はyewでフロントエンドを書いて遊んでいます。Rust で React っぽいことできるのは新鮮で面白いです。 Wasm は、なんとなく速い JavaScript?とか機械学習で何に役立つの?とか思ってる方も多いと思います。 しかし、Wasm はブラウザでの推論時に使えるだけでなく、機械学習モデルのサービングやエッジデバイスでの推論にも使えると知ったら驚き

                                            WebAssemblyでの機械学習モデルデプロイの動向
                                          • Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料

                                            Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料 Kotlin言語や統合開発ツールIntelliJ IDEAなどの開発を行っているJetBrainsは、Rust言語用の統合開発環境「RustRover」の正式リリースを発表しました。 All systems are GO! We’re over the moon to see RustRover finally land! Read all about the release and the new free non-commercial license in our blog post https://t.co/s3MnqfiTrs, and see how we can help you stay focused on what matters pic.twitter.com

                                              Rust言語のための統合開発環境「RustRover」正式リリース、JetBrains。個人の非商用利用は無料
                                            • ast-grep VSCode: 構造検索と置換の強力なツール

                                              こんにちは、 ast-grepの作者Herringtonです。 正規表現でコードを検索したことがある方なら、複数行のマッチングや入れ子構造の処理、コメントの無視などに苦労したことがあるかもしれません。 そこで、ast-grep VSCodeという新しい拡張を紹介します。これは、構造的検索と置換(SSR)という技術を利用して、より正確で効率的な検索と置換を実現するツールです。 構造検索は? テキスト検索と置換の限界 例えば、JavaScriptコードをリファクタリングして、lodash の _.filter 関数をネイティブの Array.prototype.filter メソッド に置き換えたいとします。単純なテキスト検索と置換は次のようになります: これは一部のケースではうまくいくかもしれませんが、いくつかの問題があります。 一行の式しかマッチングできません。コードが複数行にまたがってい

                                                ast-grep VSCode: 構造検索と置換の強力なツール
                                              • Rust と OS の知識 0 からはじめるRustで始める自作組込みOS入門 - 前半(スケジューラの実装まで) - Qiita

                                                きっかけ・読んでいく本 うさねこらーじの Discord サーバーで、いろいろな先輩たちに技術のことを教えてもらっています。 https://discord.gg/RMq7e5qbQj このなかで、著者の garasubo さんにサポートしてもらいながら以下の本の内容を実装しているのですが、 Rust の知識も OS の知識もない私にとっては内容がかなり高度なので、補助のためにこのブログを作成しています。 Rustで始める自作組込みOS入門 https://amzn.asia/d/ebuOUM1 ぜひこの本を読みながらこのブログを参照していただけると嬉しいです。 第 2 章 ベアメタルで Hello World 単語のかみくだいた説明 ベアメタルプログラミング OSのない環境で実行するためのプログラムを書くことです。この環境下では CPU ごとに決まった動作(たとえば、決まったアドレスにあ

                                                  Rust と OS の知識 0 からはじめるRustで始める自作組込みOS入門 - 前半(スケジューラの実装まで) - Qiita
                                                • OSS活動と好きな技術が新しいキャリアを切り開いた ー 活用も進む注目のDeno開発企業で私が働く理由 - Findy Engineer Lab

                                                  Webのフロントエンド開発言語として真価を発見されたJavaScriptは、数年後に今度はサーバーサイド開発言語として再発見されます。しかし、その立役者となったNode.jsの作者ライアン・ダール(Ryan Dahl)はNode.jsの開発を離れ、新しいJavaScript実行環境としてDenoを生み出しました。 ▶ Deno - A modern runtime for JavaScript and TypeScript 今回お話しを伺った日野澤歓也(@kt3k)さんは、2018年からオープンソース活動としてDenoにコントリビュートを重ねた結果、作者のライアン・ダール自身にリクルーティングされ、2021年1月にその開発会社であるDeno Land Inc.にジョインしました。現在はフルタイムのOSS開発者として勤務しています。 JSConf JP 2021における日野澤さんの発表「De

                                                    OSS活動と好きな技術が新しいキャリアを切り開いた ー 活用も進む注目のDeno開発企業で私が働く理由 - Findy Engineer Lab
                                                  • 大塚流フロントエンド開発の歩き方

                                                    フロントエンド開発は考えることが多い。とくに 0 -> 1 の場合だと、何からはじめたらいいのか?が全然わからず、途方にくれてしまうこともあるでしょう。実際、ぼくがそうでした。 そして、そういった情報はなかなか検索しても出てこない。設計方法や実装方法みたいなものはたくさんあるのに。なので、書いてみました。 これは、ぼくがいくつかのフロントエンド開発を経て「これを最初に知っていれば、もうちょっとうまくできたかも?あの失敗がなかったかも??」をまとめたものです。 フロントエンド開発に不慣れな方の参考になれば、これ幸いです。 まずは仕事のゴールを確認する プロジェクトや各フェーズごとに仕事のゴールは異なるため「何をもって仕事が完了したと言えるか?」を確認する。たとえば、要件定義フェーズであれば「画面仕様書が完成する」とか、開発フェーズであれば「API結合試験がすべて完了し、バグチケットがすべてク

                                                      大塚流フロントエンド開発の歩き方
                                                    • Google Developers Japan: 新しい Cookie 設定 SameSite=None; Secure の準備を始めましょう

                                                      .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                                                        Google Developers Japan: 新しい Cookie 設定 SameSite=None; Secure の準備を始めましょう
                                                      • TypeScriptでGPT-3.5を使ってChatGPTクローンを作る1 - GPTで検索エージェント

                                                        OpenAI が提供している ChatGPT は非常に面白いですね。今年以後、GPTやChatGPT周りがさらに流行ると思います。 この記事は、TypeScriptでChatGPTクローンを作る第一弾です。長くなりすぎるため、この記事では、GPTを使った検索エージェントを実行するまでを取り上げます。 検索エージェントは「ぼっち・ざ・ろっくの作者は?」と尋ねたら検索エンジンとGPTを使って「はまじあき」という結果を生成できる技術です。 またこの記事や、続く記事でLangChainのプロンプトをあれこれ読み解いていこうと考えています。 筆者は機械学習の初心者であるため、間違ったことが書かれている可能性があります。間違いがあった場合は、ぜひご指摘いただけると幸いです。 なお、この記事では添削にChatGPTおよびGPT-3.5を使っています[1]。 どうやってTypeScriptでChatGPT

                                                          TypeScriptでGPT-3.5を使ってChatGPTクローンを作る1 - GPTで検索エージェント
                                                        • 趣味でOSS活動をしていたらDeno Land Inc.にジョインすることになった話

                                                          で、GitHub Sponsorsを始めたところ多数のご支援をいただくことができたことを書きました。 その後、OSS活動を細々と続けていたところ、JavaScript/TypeScript ランタイムであるDenoの開発を行っている Deno Land Inc.にジョインすることになりました。 ジョインまでの流れ 上記の記事で書いたように、deno_lint などのDeno関連のプロジェクトにコントリビュートをしていました。定期的にコントリビュートしていると、他の人からのPull Requestのレビューなどもお願いされるようになります。Approveをすることはできますが、mergeの権限はありませんでした。その他にも、issueをクローズするための権限もなく、整理のためにクローズしたいissueがあっても、メンテナに依頼をする必要がありました。 大した手間ではなかったものの、メンテナ権

                                                            趣味でOSS活動をしていたらDeno Land Inc.にジョインすることになった話
                                                          • Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌

                                                            この記事はRust Advent Calendar 2021の12/24日の記事です。 仕事ではScalaを使っていますが、趣味のプログラミングではRustで書いたものが増えました。Rustは楽しいですね。 今回は、Rustでオブジェクト指向プログラミングに関数型デザインを導入することで、スケーラブルなプログラムを書く方法(スケーラブル・プログラミング)について書きます。 「スケーラブル・プログラミング」といえばScalaです。Scalaの「スケーラブル」という言葉には「小さいプログラムも大規模なプログラムも同じ概念で記述できるべきである」という、柔軟性や拡張性を重視した設計の意図が込められています。それを実現するために必要なものは、オブジェクト指向と関数型を組み合わせたマルチパラダイムな設計です。 Scalaはマルチパラダイム言語の先駆者(今も先頭を走り続けています)ですが、他の言語にも

                                                              Rustを使ってスケーラブルなプログラムを書く方法 - かとじゅんの技術日誌
                                                            • [2023年最新版:rye対応]Python案件で汎用的に使えるモダンなプロジェクトテンプレート

                                                              概要 チームでPythonを開発する場合に活用可能な、パッケージや構成などの開発テンプレートを紹介します。 パッケージ管理、lint, test, loggingなどの、汎用的にプロジェクトで活用可能な構成になっています。 このテンプレートを導入することで、パッケージ管理やLint等の非機能系タスクから解放され、機能開発系のタスクに集中できるようになります。 パッケージ管理ツールとして、最近リリースされて使用感が良いと話題のryeを採用したバージョンについても説明しています。 今回説明する内容のリポジトリは以下の通りです。 rye使用バージョン 新しいパッケージ管理ツールであるryeを使用したバージョンは以下の通りです。 Poetry使用バージョン(従来版) 想定読者 PythonやGitの基本的な使い方を理解している方を想定しているため、基本的な用語説明は省略しています。 環境 エンジニ

                                                                [2023年最新版:rye対応]Python案件で汎用的に使えるモダンなプロジェクトテンプレート
                                                              • Rust製ブラウザエンジン「Servo」搭載、新たなWebブラウザ「Verso」の開発プロジェクトが立ち上がる

                                                                欧州を基盤にオープンでセキュアなインターネットの実現を支援しているNLnet Foundationは、Rust製ブラウザエンジン「Servo」を用いたWebブラウザ「Verso」の開発プロジェクトの立ち上げを発表しました。 Versoの開発は、Electron代替を目指すフレームワーク「Tauri」の開発チームが主導することが、下記のポストで示されています。 We've stopped waiting for other people to solve our problems with webviews and kicked off a browser+webview project called Verso (and we've already gotten a bit of funding from NLNET.)https://t.co/PMOV7YbGtE https://t.c

                                                                  Rust製ブラウザエンジン「Servo」搭載、新たなWebブラウザ「Verso」の開発プロジェクトが立ち上がる
                                                                • WebAssembly の過去・現在・未来 - Qiita

                                                                  はじめに WebAssembly (略して Wasm) では WASI や WIT、 Component Model など様々な仕様があります。 それぞれが登場した背景、モチベーションなどを理解することでなんとなく概要を掴んでいくことができるのではないかと考えたため、過去・現在・未来と時間軸で整理してみました。 まず Wasm とその特徴に関して簡単に紹介した後、Wasm の過去として生まれた背景やモチベーションを紹介します。 そして現在の Wasm がなぜ注目を集めているのか、そして現在策定中の仕様と目指している未来について紹介します。 WebAssembly とはなにか WebAssembly はスタックベースの仮想マシン用バイナリ命令フォーマットの仕様です。Wasm と略されます。 Wasm ファイル(Wasm モジュール)は一般に .wasm という拡張子で表されるバイナリファイル

                                                                    WebAssembly の過去・現在・未来 - Qiita
                                                                  • マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに

                                                                    マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに マイクロソフトは、.NETでサポートする3つのプログラミング言語「C#」「F#」「Visual Basic」の今後に関する戦略を、最新版にアップデートしたことを明らかにしました。 下記はマイクロソフトで.NETのプリンシパルプログラムマネージャを務めるKathleen Dollard氏のツイート。 We've updated our .NET Language Strategy. You can read more and get the links here: https://t.co/SsmZJBSEUA — Kathleen Dollard (@KathleenDollard) February 6, 2023 最新版の戦略はこれま

                                                                      マイクロソフト、「C#は進化させ続ける」「Visual Basicに新しい構文の導入はしない」。.NETのプログラミング言語に関する最新の戦略を明らかに
                                                                    • 2021年4月15日 パニックお断り―Linus、"Rust for Linux"の盛り上がりに釘を刺す | gihyo.jp

                                                                      Linux Daily Topics 2021年4月15日パニックお断り―Linus、"Rust for Linux"の盛り上がりに釘を刺す 開発者の間で人気上昇中のRustだが、Linuxカーネル開発においても1年ほど前からメインラインでのRustサポート―新たにデバイスドライバを記述する言語としてRustを認めるよう求める声が強くなりつつある。3月にはカーネル開発者のMiguel Ojedaが最初の"Rust for Linux"となるパッチをlinux-next(次期カーネルへのマージを希望するパッチが集められたGitリポジトリ)にポストし、Stephen Rothwellによってマージされた。 kernel/git/next/linux-next.git - The linux-next integration testing tree Ojedaはさらに一歩踏み込んだステップとし

                                                                        2021年4月15日 パニックお断り―Linus、"Rust for Linux"の盛り上がりに釘を刺す | gihyo.jp
                                                                      • 『GitUI』を使ってターミナルからでも直感的なGit操作を|NAVITIME_Tech

                                                                        こんにちは、みみぞうです。 ナビタイムジャパンで『システムや開発環境、チームの改善』を担当しています。 今回はターミナルで動くGitクライアントツール『GitUI』を紹介します。 本稿は以下のいずれかに当てはまるような方をターゲットにしています。 ターミナルで動くGitクライアントツールを探している方 NeovimからシームレスにGitの操作をしたい方 Windowsで使えるGitクライアントツール探しに困っている方 ℹ️ Neovimは、Vimをベース拡張性を考慮してモダンな技術で作られたプロダクトです。 GitUIとは『GitUI』はターミナル上でもGUIのように快適なGit体験を提供するOSSのツールです。 GitUI provides you with the comfort of a git GUI but right in your terminal extrawurst/gi

                                                                          『GitUI』を使ってターミナルからでも直感的なGit操作を|NAVITIME_Tech
                                                                        • WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにする「Bytecode Alliance」発足。インテル、Mozilla、Red Hatなど

                                                                          WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにする「Bytecode Alliance」発足。インテル、Mozilla、Red Hatなど WebAssemblyは、Webブラウザ上でネイティブコードのように高速に実行できるバイナリフォーマットして策定された標準仕様で、すでにChromeやFirefox、Edge、Safariなどの主要ブラウザでサポートが実現されています。 このWebAssemblyをWebブラウザだけでなく、デスクトップPCやサーバ、IoTデバイスなどあらゆる環境で、セキュアに実行することを目指した団体「Bytecode Alliance」が発足しました。 Bytecode Allianceの創立メンバーは、インテル、Mozilla、Red Hat、Fastlyの4社。 前述したように、WebAssemblyはもともと、Webブラウザで実行

                                                                            WebAssemblyをあらゆるプラットフォームでセキュアに実行できるようにする「Bytecode Alliance」発足。インテル、Mozilla、Red Hatなど
                                                                          • SQLite のおもしろ仕様 (2) : ファイルフォーマット - kawasin73のブログ

                                                                            後方互換性って辛いね、どうもかわしんです。 最近 Rust で SQLite をフルスクラッチで再実装しています。 github.com 再実装するために SQLite の公式ドキュメントやソースコードを読み込んでいるわけですが、その過程で気付いたおもしろポイントを共有しようかと思います。 今回はその第二弾、ファイルフォーマット編です。第一弾はこちら:SQLite のおもしろ仕様 (1) : データ型 - kawasin73のブログ 前提知識 : ページ まず、この記事を面白いと思ってもらうための前提知識です。 大抵のデータベースはデータを保存するファイルをページという単位で管理します。SQLite ではデフォルトでは 1 ページ 4096 バイトです。これは、ファイルを保存するデバイス(HDD や SSD など)としてブロックデバイスを想定しているからです。ブロックデバイスとはデータの読

                                                                              SQLite のおもしろ仕様 (2) : ファイルフォーマット - kawasin73のブログ
                                                                            • sed awk make 互換性 つらい うんざりザリガニ - Lambdaカクテル

                                                                              仕事でsedのコードをパパッと書いて使ったら、コードレビューで動かんと言われてしまった。そういえば、同僚はMacで、おれはLinuxだったな。 まぁsedならよくある話なので、しょうがないと思ってawkで同じことをした。awkは比較的もうちょっと互換性がある気がしているからだ(どっこいどっこいな気もする)。 しかしまだ動かないと言う。もう、大絶叫だ。アー。おしまいだ。カスがよ〜〜〜と思いつつ(社会人なので絶叫はしない)、よく調べてみるとmakeの互換性だった。というのも、試しにbrew install makeしてGNU Makeで試してみてくれ、と言ったら、あっさり動いたからである。実はsedもawkも悪くなくて、そいつを呼び出してるmakeに互換性がなかった。ごめんな、お前たち悪くなかったよ。でもそれはそうと互換性はない。 define foobarstring ... endef #

                                                                                sed awk make 互換性 つらい うんざりザリガニ - Lambdaカクテル
                                                                              • 「Unity」の移行先の候補になるゲームエンジンまとめ

                                                                                ゲームエンジンのUnityが2023年9月に「ダウンロードやインストールの回数に応じて課金する」と発表した問題では、多くのゲーム関係者が続々と怒りや失望の声を上げており、二度とUnityでゲームを開発しないと表明する開発者も少なくありません。ゲーム開発環境の移行先を求める声に応じて、ゲームエンジンの研究開発を専門とするプログラマーであるケーシー・ムラトリ氏が、ゲーム開発者から評判のいいゲームエンジンをまとめました。 Comments - Game Development Post-Unity - by Casey Muratori https://www.computerenhance.com/p/game-development-post-unity/comments ゲームエンジンの開発者であるムラトリ氏は、ゲーム開発現場のトレンドを追う中で、2022年ごろから「Unityとゲーム開発

                                                                                  「Unity」の移行先の候補になるゲームエンジンまとめ
                                                                                • RustからWebAssembly (wasm)を生成してJavaScriptとブリッジ通信してみる | DevelopersIO

                                                                                  Rustはじめました Rustイイですよね。Cと同程度のパフォーマンスで動作して、メモリリークを防止し、マルチスレッドも安全に記述できます。GC(ガベージコレクション)処理よりも高速にメモリーを開放します。今まで、より高速に動くプログラミング言語を求めるとC/C++等が必要になり、安全面で気をつけないところが増えてしまって手が出しづらく、一方で、Javaなどの安全面が確保された言語や、JavaScriptやPythonなどのスクリプトで記述できる言語は、nullやundefinedなどを気をつける必要があり、更に実行速度を上げるには課題がありました。(Javaは十分速いと思います) Rustは、C/C++と同程度のパフォーマンス(強い)を持ちつつ、型やメモリやスレッドに関する安全面を備えているため、今後、OSやミドルウェアの開発に使われることが増えるのではと思っています。一方で、JavaS

                                                                                    RustからWebAssembly (wasm)を生成してJavaScriptとブリッジ通信してみる | DevelopersIO