並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 1302件

新着順 人気順

Rustの検索結果81 - 120 件 / 1302件

  • 2024年絶対に読む技術書10選

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

      2024年絶対に読む技術書10選
    • ast-grep VSCode: 構造検索と置換の強力なツール

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

        ast-grep VSCode: 構造検索と置換の強力なツール
      • 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。個人の非商用利用は無料
        • 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
          • WebAssembly の過去・現在・未来 - Qiita

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

              WebAssembly の過去・現在・未来 - Qiita
            • 『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
              • 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」の移行先の候補になるゲームエンジンまとめ
                    • RESTful APIの設計、開発、ドキュメント管理を手助けする「RAML」とは

                      APIの開発は複雑でコストがかかる可能性があり、頻繁に更新されることからドキュメントを整備するのも難しい。APIの設計、開発、ドキュメントの整備、管理にまつわる課題と効率さの問題に対処するアプローチが、RESTful API Modeling Language(RAML:RESTful APIモデリング言語)だ。 RAMLコードを使えば、開発者はAPIの動作を説明する仕様を策定してからそのAPIをデプロイするまでのAPIライフサイクルを管理することができる。 RAMLとは RAMLは、RESTful APIを記述することを目的とするオープンソースの記述言語だ。2013年、米国のIT自動化および統合ベンダーであるMuleSoftを中心とする数社の企業によって作成されたRAMLはAPIの開発に大きな役割を果たしてきた。2018年、MuleSoftはSalesforceによって買収され、RAML

                        RESTful APIの設計、開発、ドキュメント管理を手助けする「RAML」とは
                      • RustでWeb APIを作る際のエラーハンドリング - CADDi Tech Blog

                        TL;DR エラーハンドリングを行う目的 エラーハンドリングが適切に行われているとどう嬉しいか 1. エラーの発生原因が分かる 2. レスポンスステータスを型安全に出し分けることが可能になる どうエラーハンドリングを行うのか 実装方法 エラー型の定義で気を付けるべきポイント なぜanyhowを利用しないのか エラーハンドリングを行う上で持っている課題感 Drawer Growth グループ バックエンドエンジニアの中野です。今回は、私が所属するチームで gRPC API を開発する際に実践している Rust でのエラーハンドリングについて紹介していきます。 TL;DR エラーの発生原因がわかるようにエラー型を定義することが大切。 anyhow は使わずに自前のエラー型を定義して利用する。 エラーハンドリングを行う目的 そもそもなぜエラーハンドリングを行う必要があるのでしょうか。私が所属する

                          RustでWeb APIを作る際のエラーハンドリング - CADDi Tech Blog
                        • 一休.comレストランのRustバックエンド開発の様子

                          Rust、何もわからない... #12の発表資料です

                            一休.comレストランのRustバックエンド開発の様子
                          • Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes

                            昨今Infrastructure from Code (IfC)という概念をよく耳にします。先日もAWSのGregor Hohpeが関連する記事を書いていました。 architectelevator.com この記事では、Infrastructure from Codeとはなにか簡単に紹介し、具体的にどのようなツールがあるか網羅的にまとめます。 Infrastructure from Codeとはなにか Infrastructure from Code (IfC) とは、その名の通り、Infrastructure as Code (IaC) に関連する概念です。IaCとの根本的な違いは、IaCは開発者がインフラを明示的に意識して構成を記述するのに対し、IfCでは開発者がインフラをできるだけ意識しないよう抽象化を試みていることです。これにより、差別化に繋がらない重労働ができる限り排除された高

                              Infrastructure from Code (IfC) ツールまとめ - maybe daily dev notes
                            • ロック好きなら高校生までに聴いておきたい古典100(ハードロックヘヴィメタル含む編)

                              ハードロック、ヘヴィメタルが好きな高校生諸君、ネットの海に出るとスラッシュメタル四天王とか、プログレがどうとか、アニソンはメタルだとか、よくわからない言葉を目にすると思う。 そんなときは歴史を知ろう。故きを温ねて新しきを知る。以下の100枚を聞けばだいたいわかるようになるぞ。 これで物知り顔で蘊蓄垂れるおじさんにドヤ顔をやり返してやろう。 (おおむねアーティスト名アルファベット、五十音順。国内海外順不同。原則1アーティスト1枚) 1. Whatever People Say I Am, That's What I'm Not / Arctic Monkeys 2.Relationship Of Command / At The Drive-In 3.Slaughter Of The Soul / At The Gates 4.METAL RESISTANCE / Baby Metal 5.

                                ロック好きなら高校生までに聴いておきたい古典100(ハードロックヘヴィメタル含む編)
                              • MoonBit が WebAssembly 時代の理想(の原型)だった

                                最近 moonbit という言語を知ったのですが、これが調べれば調べるほど好きになる言語だったので、紹介させてください。 文法的には GC 付きの Rust で、 WebAssembly にコンパイルされます。とくに CDN Edge Worker 上での実行を想定しているようです。もう好き。 注意: まだ若い言語なので、これから言語仕様がガンガン変わっていくと思われます。あくまで現時点での情報です。 tl;dr Pros だいたい GC あり Rust と捉えていい 文法面のキャッチアップが容易 ライフタイムの難しさを考えなくていい すでに vscode 拡張やパッケージマネージャ等のエコシステムが整っている Cons まだ安定していない / しばらくはソースコードが公開されない 現時点では学習リソースやパッケージ数が足りず、書き手の腕力が求められる はじめに: JS/TS/Rust へ

                                  MoonBit が WebAssembly 時代の理想(の原型)だった
                                • RustでWasm Runtimeを実装する

                                  Rustで"Hello World"を出力できる小さなWasm Runtimeをゼロから実装して、WasmとWASIの動作原理を理解する本です。

                                    RustでWasm Runtimeを実装する
                                  • Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita

                                    はじめに 2024年1月1日に VGS-Zero (Video Game System - Zero) という RaspberryPi Zero 2W のベアメタル環境で動作するオリジナルのゲーム機エミュレータと SDK を公開しました。 VGS-Zero は、RaspberryPi Zero 2W をテレビに HDMI ケーブルで接続し、USB ゲームパッドで遊ぶタイプ(据え置き型)の新しいゲーム機です。 無料でゲームを開発&販売ができる SDK も公開していて、開発したゲームを完全ロイヤリティフリーで自由に販売して頂くことができます。 なお、OS は Linux ではなく独自カーネルです。 特徴 VGS-Zero の特徴について、カーネル視点とゲーム機視点の両面から解説します。 独自カーネルの特徴 ラズパイ全般(※Picoを除く)は Linux で動かすのが一般的ですが、VGS-Zer

                                      Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita
                                    • Go言語を習得するために、Goちゃんねるを作った

                                      先週、A Tour of Go やってみた TIL というブログを書いてみた通り、Go言語を始めた。 で、ちまちま勉強をしていたのだが、つい最近たまたま ISUCON の過去問をやる機会があって Go のスコアを見たら初期値ですら、チューニング済みの他の言語のスコアを超えていて、絶対に習得するぞの気持ちにさせられた。 ちなみに私はどう言うわけかフロントエンドのソースコードをビルドしたら vite が走ってファイルハッシュが全部変わって、ベンチマークからアクセスできなくなって0点でした。対戦ありがとうございました。 なにはともあれ、本番は絶対にGoでやるぞの気持ちを新たに Go の習得に励んでいた。前のブログでは、文法が分かったから HTTPサーバー DB Connection / Migration 境界値チェックや型推論 テスト スキーマ駆動開発 コンテナデプロイ あたりをやってみたいと

                                        Go言語を習得するために、Goちゃんねるを作った
                                      • Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site

                                        module: add --experimental-strip-types by marco-ippolito · Pull Request #53725 · nodejs/node It is possible to execute TypeScript files by setting the experimental flag --experimental-strip-typ... 💁‍♀️ まだマージされてない点に注意してください --experimental-strip-typesというフラグを実行時に付けることにより、Node.jsでTypeScriptのコードを実行できるようになるPRが出てきました。 背景 TC39でも型注釈の話題(議事録を読むとブラウザとの兼ね合いもあり道のりは長そう)が存在するほどJSのコードにおいて、型は当たり前となっています。 Node.jsと同

                                          Node.jsでTypeScriptのコードを実行できるようになるかも - hiroppy's site
                                        • Biome はじめました。

                                          モチベーション そもそも TypeScript や JSX に詳しくないのでどう書くのがいいのか悩みたくない ESLint や Prettier の設定を なんとなく 設定して使ってしまっている Formatter / Linter 関連のライブラリの内容を理解せずにアップデートしてしまっている 依存関係は減らしていきたい Rust で書かれた言語向けの高速なツールが好き Rye とか Ruff とか efmt とか Biome Biome は Rust で書かれた Formatter / Linter を含むツール。本当におかしいくらい早い。 全然大きくないが、以下のソースコードに適用したときの速度。 $ pnpm run fmt > biome format --write ./src Formatted 114 file(s) in 11ms $ pnpm run lint > bi

                                            Biome はじめました。
                                          • Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成

                                            Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成 Docker社は、DockerfileやDocker Composeの設定ファイルであるCompose.yamlなどを自動生成してくれる「Docker Init」コマンドが、1月25日付でリリースされたDocker Desktop 4.27で正式版となったことを明らかにしました。 Dockerには、Dockerコンテナの構成を記述するDockerfileや、複数のコンテナを組み合わせてアプリケーションを構成するDocker Composeの設定を記述するdocker-compose.ymlなどのファイルがあります。 これまでは、これらの設定ファイルを開発者自身が記述する必要があり、手間がかかっていました。Docker Initコマンドは、これを

                                              Dockerの設定を大きく省力化する「Docker Init」コマンドが正式リリース。DockerfileやCompose設定ファイルなど自動生成
                                            • ベタープログラマ を読んだ

                                              ベタープログラマ を読んだので自分的に刺さった点をまとめる。 6章 航路を航行する⌗ 新たなメンバーが開発チームに参加する際にどのようにすれば速やかに生産的になることができるかについての章。 最善な策はすでにプロジェクトへの理解があるメンバーに導いてもらうこと。もしそれができなければ次のようなことを調べるとよい。 ソースの取得の容易さ⌗ ソースの取得がどれだけ簡単か。健全なプログラムはコードベース全体を得るための単一のチェックアウトのみを必要とする。 コードのビルドの容易さ⌗ 一般的でないツールにビルドが依存していないか コード自身に適切で簡単なドキュメンテーションがあるか 手作業なしで1つのコマンドでビルドを行うことができか コードの一部に取り組んでいるときにその部分だけをビルドすることができるか ビルド中に潜在的な問題を曖昧にしているかもしれない無数の警告が出ていないか テスト⌗ 単体

                                                ベタープログラマ を読んだ
                                              • そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか

                                                遠きに行くには必ず邇きよりす.高きに登るには必ず卑きよりす.何事にも順序というものがあります.Rust の学習もそうです. そこで,前提知識がほぼ無い状態から Rust を学ぶときに,どんな順序が良いのか,考えてみました. コンパイル時と実行時の区別. Rust を学ぶとき,何がコンパイル時に起こって何が実行時に起こるか分からないと困ります.特に,型検査と借用検査がコンパイル時に行われることは,それらの基本的な規則を知る際に大切です.そこで,最初に Hello world を書く時点で,コンパイル→実行という流れを押さえておくべきでしょう. コンパイルエラーの読み方. まずコンパイルエラーを読むという基本的な姿勢を身に付けるのは大切です. 公式ドキュメントの場所. まず公式ドキュメントを読むという基本的な姿勢を身に付けるのも大切です. Hello world 周辺の基本文法. 例えば以下の

                                                  そもそもプログラミング経験自体無い人がRustを学ぶとき,どんな順序が良いのか
                                                • 新たなゲームエンジン「Arete Engine」発表。ユニファイドメモリへの最適化を特徴とし「Unityの1000倍高速」とうたう - AUTOMATON

                                                  アメリカ・サンフランシスコに拠点を置くソフトウェア開発企業Arete Gamesは11月11日、ゲームエンジン「Arete Engine」を正式発表し、バージョン0.1を公開した。主に2D/3Dゲーム開発向けゲームエンジンとして、現時点でPC(Windows/Mac/Linux)/iOSおよびVRデバイスをサポート。将来的には家庭用ゲーム機やAndroid、Steam Deckにも対応予定とされている。 Arete Engineは、Rustベースで開発されているECSゲームエンジンで、独自のアーキテクチャによる従来にないアプローチとして、ユニファイドメモリへの最適化が大きな特徴とされている。もともとはスタンフォード大学でのプロジェクトとして、およそ2年前に開発が始まったそうだ。サポートするプログラミング言語はRustのほか、C・C++・Swiftなどが挙げられており、C#への対応も進めてい

                                                    新たなゲームエンジン「Arete Engine」発表。ユニファイドメモリへの最適化を特徴とし「Unityの1000倍高速」とうたう - AUTOMATON
                                                  • これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル

                                                    自分は、仕事でScalaを数年間・プライベートな経験を含めると10年弱のScalaの経験がある、そこそこの熟練Scalaエンジニアだ。チームにメンバーが入ってきたり他人に勧めるたびにScalaの環境構築を教えている一方、最新の知見を反映した記事が無くて他人に勧めづらかったので、自分が書くことにした。 現在ある記事 けっこう古びている 覚えながら書かれていることが多いのでやや曖昧な箇所がある(でもありがとう!) 最新のツールが利用できておらず無駄が多い 網羅的でない 今回目指す内容 最新の知見を活用して最短距離を目指す 何もない状況から一通りのツールが揃う所を目指す Scalaの環境構築は年を追うごとに簡単になってきているので、大多数の読者は引っかからずに進めるようになっているはず。 Scalaは基本的にJVMで動作する言語だ。このため環境構築にはJVMのセットアップも含まれるのだが、それに

                                                      これだけ読めばOK!Scalaの環境構築2023 - Lambdaカクテル
                                                    • 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

                                                      • Atom の作者達が作った Rust 製エディタ Zed (OSS) - Qiita

                                                        1. 概要 2024年の1月24日にZedがOpen source化しました! ということで、Zedとは何か、実際に使ってみてどうだったかというのを簡単にご紹介できればと思います。 2. Zed とは何か? AtomとTree-sitterのクリエイターによる、Rust製のコードエディターで、OSS (オープンソースソフトウェア) であり、 Githubのリポジトリ こちらで公開されています。 公式サイトから一部抜粋すると下記のような特徴があるようです。 2.1 パフォーマンスを重視した設計 2.2 インテリジェンス系のサポート Github Copilotのサポート GPT-4 を使用して、自然言語のプロンプトを入力することで、コードを生成したりリファクタリング可能 2.3 言語対応 入力時にすべてのバッファの完全な構文ツリーを維持し、正確なコードハイライト、自動インデント、検索可能なア

                                                          Atom の作者達が作った Rust 製エディタ Zed (OSS) - Qiita
                                                        • 引っ越し先の部屋にあった謎のIoT機器の正体をエンジニアが明らかにする過程

                                                          低レイヤのRustエンジニアであるニキータ・ラプコフ氏が、引っ越し先の部屋に設置してあった謎のIoT機器が一体何であるのかを突き止める過程をブログに投稿しました。 What's that touchscreen in my room? | Nikita Lapkov https://laplab.me/posts/whats-that-touchscreen-in-my-room/ ラプコフ氏は2015年築のアパートに引っ越した際に壁に下図のデバイスを発見したとのこと。何らかのタッチスクリーンであることは間違いありませんでしたが、家主はこの機器について全く知りませんでした。本体にはボタンやラベルが存在せず、電源のオンオフを知らせるライトが付いているのみだったとのこと。 アパートのさまざまな家電製品のマニュアルが入ったバインダーを調べると下図のパンフレットが出てきました。このパンフレットを見

                                                            引っ越し先の部屋にあった謎のIoT機器の正体をエンジニアが明らかにする過程
                                                          • Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog

                                                            Ruby 3.3がリリースされた。YJITには非常に多くの改善が含まれたリリースだったが、 NEWS解説記事やリリースパーティーでは 2点しか触れられなかったので、この記事ではRuby 3.3でYJITがどう改善されたかについて解説する。 YJITは既に実用段階 YJITはRuby 3.1で導入されたが、Ruby 3.2の時点でexperimentalのマークが外れ、実用段階となった。 Ruby 3.2では、以下のような企業で性能改善が報告された。 DeNA: 40% 高速化 GMOペバボ: 18% 高速化 STORES: 6.5-7.5% 高速化 Timee: 10% 高速化 メドピア: 2.8% 高速化 BOOK☆WALKER: 20-30% 高速化 Discourse: 15.8-19.6% 高速化 Lobsters: 26% 高速化 CompanyCam: 20-40% 高速化 弊

                                                              Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog
                                                            • 組込みRust爆速入門―Raspberry Pi Picoで電子工作

                                                              Rustでの組込み開発を爆速で始められるよう、便利なテンプレートを用いてLチカを実行する方法について解説します。 この記事を読むことで、約10分でRaspberry Pi Picoを動かし、参考文献を見ながら思い通りの電子工作ができるようになります。 想定環境 以下はWindows 11 Homeでの実行を想定していますが、MacやLinuxでもほぼ同様の手順で爆速入門できます。 そのため、(コマンドプロンプトなどの)用語を使用環境に合わせて読み替えてください。 前提知識 git cloneが使える程度のGitの知識が必要です。 Raspberry Pi Picoの準備 Raspberry Pi Picoは、秋月電子通商などで700円程度で購入できます。 本記事の内容を実行するためには、以下のものを入手してください。 品名 個数 Raspberry Pi Pico 1 USBケーブル(mi

                                                                組込みRust爆速入門―Raspberry Pi Picoで電子工作
                                                              • Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ

                                                                Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ Rust製のWebブラウザエンジンとして開発が進められている「Servo」は、Servoをアプリケーションに組み込み可能なクロスプラットフォーム対応WebVeiwとする方向で開発を進め、それをアプリケーションフレームワークのTauriと協力してTauriがサポートする予定であることを発表しました。 TauriはElectronの代替を目指す、Web技術を用いてアプリケーションを開発するためのフレームワークです。 参考:Electron代替を目指すRust製フレームワーク「Tauri」がバージョン1.0に到達、Windows/Mac/Linuxに対応 現在のTauriは、UIのレンダリングエンジンとして、Windo

                                                                  Rust製ブラウザエンジンの「Servo」、アプリに組み込み可能なクロスプラットフォーム対応WebView化を目指す。Electron代替を目指す「Tauri」への組み込み実現へ
                                                                • SQLiteでLinderaを使った日本語全文検索 - *iroi*

                                                                  これは はてなエンジニアアドベントカレンダー2023 3日目の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog はてなエンジニアのカレンダー | Advent Calendar 2023 - Qiita 昨日は id:pokutuna さんの blog.pokutuna.com でした。私も若い頃に同僚とGitHub上で白熱してしまい観光名所になってしまっていたような気がします。気を付けていきましょう。 さて、この記事では SQLiteでLinderaを使った日本語全文検索をする話を紹介します。 モチベーション laiso.hatenablog.com 上の記事でも話題になっているように個人開発ではDBのコストは問題です。同様に全文検索したいときにもコストに頭を悩ませているのではないでしょうか? たとえば Amazon

                                                                    SQLiteでLinderaを使った日本語全文検索 - *iroi*
                                                                  • 『パルワールド』開発者インタビュー。「Steamウィッシュリスト180万」「事例研究したのに前例ない仕様に」異例だらけの新作オープンワールドゲームの破天荒すぎる船出事情 - AUTOMATON

                                                                    ポケットペアは1月19日、『パルワールド / Palworld』の早期アクセス配信を開始した。対応プラットフォームはXbox One/Xbox Series X|S/PC(Steam/Microsoft Store)。Xbox Game Pass(Xbox/PC/クラウド)にも対応している。 本作を開発しているポケットペアは、国内のゲーム開発会社だ。過去作としては、『クラフトピア』や『オーバーダンジョン』などを制作。既存のアセットやゲームの要素を組み合わせる型破りな手法で、注目作を生み出してきた。本作『パルワールド』はそんなポケットペアによる4作目となるが、これまでとは少し異なる輝きを秘めているように見える。2021年の発表から開発が続けられてきた本作では、どんな具合にゲームが形作られていったのか。本稿では、苦しい気持ちもあったという開発の事情やPvPの展望なども含めて話を伺ってきたので、

                                                                      『パルワールド』開発者インタビュー。「Steamウィッシュリスト180万」「事例研究したのに前例ない仕様に」異例だらけの新作オープンワールドゲームの破天荒すぎる船出事情 - AUTOMATON
                                                                    • Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita

                                                                      はじめに みなさん様々な言語でAPIサーバーを立てて負荷試験を実施したことはありますか。 私自身、業務でPythonのアプリケーションに対して負荷試験を実施した経験があります。 その際にPythonの速度観点の不安定さを目の当たりにしたと同時に、別の言語ではどのような違いが生まれるのだろうか、という疑問を持ちました。 そこで今回は、簡単ではありますがGoとRustとPythonでそれぞれAPIサーバーを立てて負荷試験をしてみます。 負荷試験対象のAPIサーバー 今回は(1) Hello, World!を返すAPI(2) ファイル読み込みAPI(3)1秒待ってから応答するAPIの3つを実装します。 (1)はAPIサーバー自体の応答速度の計測、(2)はメモリを消費する処理が生じた場合のAPIの応答速度の計測、(3)は待ち時間発生している時のAPIの応答速度の計測することが目的です。 (2)につ

                                                                        Go、Rust、Pythonで実装したAPIサーバーの負荷試験比較 - Qiita
                                                                      • FizzBuzz.txt(8エクサバイト)

                                                                        FizzBuzzFS FizzBuzz問題といえば定期的にSNSで話題になっては変な解法が発明されることでおなじみですが(?)、ファイルシステムを使った事例が見当たらなかったのでやってみました。 まあ見ての通りというか…… /mnt/FizzBuzz に FizzBuzz.txt(8エクサバイト)があって、FizzBuzzが書いてあります。 どこまでも…… 容量の続く限り…… 以上!!!!!!! 技術解説 FUSE FUSE(Filesystem in USEr space)というソフトウェアを使うことで、簡単に新しいファイルシステムを実装することが可能です。 Rustにおいては、fuse crateの更新が停止した結果フォークが複数存在するようですが、利用者数と更新頻度的にfuser crateを使うのがよさそうです。 FileSystem traitが実装された値をmount2関数に渡

                                                                          FizzBuzz.txt(8エクサバイト)
                                                                        • HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita

                                                                          はじめに ここ1年ぐらいかけて、Fixという名前のプログラミング言語を作っています。 コアとなる機能の実装がある程度落ち着き、実際にFixを使ってプログラムを書けるようになってきたので、そろそろ言語の紹介をしてみようと思います。 本記事はFixのチュートリアルではなく、どういう思想で設計されていて、どういう特徴を持つ言語なのか、という点を紹介するものです。 意見・提案・助言などをいただけるとうれしいです。 リポジトリはこちらです。 ※ コメントやコミットメッセージは一応拙い英語で書いていますが、日本語でissueを立てたりdiscordで意見・質問してもらっても大丈夫です。 ※ 急いで作った部分もあるため、コンパイラのコードは結構汚いです。ご容赦ください。 現状、Fixをローカルで実行するためにはLLVMのインストールが必要で時間がかかりますが、Fix playgroundを使えばブラウザ

                                                                            HaskellとRustを足して2で割ったような関数型言語Fixを作っている話 - Qiita
                                                                          • Rust言語を、人命に関わるような決定的に安全性が重要なシステムに使用することをサポートする「Safety-Critical Rust Consortium」設立

                                                                            Rust言語を、人命に関わるような決定的に安全性が重要なシステムに使用することをサポートする「Safety-Critical Rust Consortium」設立 Rust言語を推進する「The Rust Foundation」は、人命や財産に関わるような安全性が決定的に重要になるシステムのためにRust言語を責任を持ってサポートするためのコンソーシアム「Safety-Critical Rust Consortium」の設立を発表しました。 Rust言語は、C言語のように低レイヤのシステム開発向けに作られたプログラミング言語です。 不正なメモリ領域を指すポインターなどを許容しない安全なメモリ管理や、マルチスレッド実行においてデータ競合を排除した高い並列性を実現している点などの特長を備えているため、安全かつ高速なアプリケーション開発を実現します。 セーフティ・クリティカルとは? 「セーフティ

                                                                              Rust言語を、人命に関わるような決定的に安全性が重要なシステムに使用することをサポートする「Safety-Critical Rust Consortium」設立
                                                                            • 「Rust」「Tauri」などのモダン技術で開発されたWin/Mac/Linux対応ファイラー「Spacedrive」/大手クラウドストレージに依存しないファイル管理を目指す野心的なプロジェクト【レビュー】

                                                                                「Rust」「Tauri」などのモダン技術で開発されたWin/Mac/Linux対応ファイラー「Spacedrive」/大手クラウドストレージに依存しないファイル管理を目指す野心的なプロジェクト【レビュー】
                                                                              • Electron代替を目指す軽量なフレームワーク「Tauri v2」β版リリース。iOS/Android対応など

                                                                                JavaScriptとHTML/CSSを用いてアプリケーションを構築できるElectronの代替を目指し、より軽量なRust製のフレームワークとして開発されている「Tauri v2」のβ版がリリースされました。 iOS/Androidモバイル対応 TauriはこれまでWindows、Mac、Linuxに対応したデスクトップ版が2022年6月にバージョン1.0としてリリースされていますが、iOSとAndroidに対応したモバイル対応は正式版となっていませんでした。 Tauri v2ではWindows、Mac、Linuxに加えてモバイル版としてAndroidとiOSに対応することで、デスクトップ版のアプリケーションからモバイル版への移植をスムーズに行えるようになります。 また、モバイルOSで提供されている通知機能、NFC対応、生体認証、バーコードの読み取り、クリップボードなどのAPIにもアクセ

                                                                                  Electron代替を目指す軽量なフレームワーク「Tauri v2」β版リリース。iOS/Android対応など
                                                                                • 大学図書館システムを解析して自動化した話(技術メイン)

                                                                                  皆さん、こんにちは。かろっくです。 現在は情報系の大学に通っています。 さて、大学生といったら、趣味に時間を費やしてなんぼです。 自分は大学の図書館を本当に頻繁に利用しています。 見ての通り図書館のヘビーユーザなのですが、そうなってくるとやはり図書館の操作の自動化をしてしまいたいという欲求が出てきます。 というわけで、今回は大学のシステムを解析して自動化した話をしたいと思います。 ひとまず完成形 先に、実装したコードのリポジトリを掲載します。 動作例として、discord にメッセージを送信している様子を以下に示します。 現在は延長する書籍が存在していないため終了していますが、延長の必要な書籍が存在する場合は、延長を行います。 方針 大学のシステムを自動化するにあたって、単に Selenium 等のブラウザを使うのは少し癪です。出来ることならば、ブラウザ等を利用せず、HTTP リクエストか

                                                                                    大学図書館システムを解析して自動化した話(技術メイン)