並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 13 件 / 13件

新着順 人気順

Rustの検索結果1 - 13 件 / 13件

  • プライベートでMac使うのやめた

    最近、自分のプライベートの開発環境を大きく変えたので紹介する。 先にまとめ プライベートではMacを使わなくなった 家にUbuntuが入ったミニPCを置いた 外からはThinkPad X1 CarbonからTailscale経由のSSHで家のミニPCに接続 購入まで まず、自分にとって最も大きな変化はプライベートでMacを使わなくなったことだ。2013年くらいにプログラミングを始めてからずっとメインのOSはMacだったので、約10年ぶり、ほぼ初めての非Mac環境である。 自分の普段の開発のユースケースは、Webアプリケーション開発とNode.js上で動くソフトウェアの開発、WebKitへのコントリビューション、たまにRustやGoやC/C++で自分専用ツールの開発、くらいなので別にMacで困っているわけではなかった。Web開発やNode.js上のソフトウェアの開発はまあ普通にMacで困らな

      プライベートでMac使うのやめた
    • RustでAPIサーバーを書くのが思ったより良い

      最近いろんなところで採用事例が増えてきたRustですが、Webサービス開発でのAPIサーバーを書くのにRustは向いてないと言われたりします。Rustの第一のターゲットはシステムプログラミングでありGCがないためAPIサーバー開発でシビアなメモリ管理はしたくないというのは一理あるのですが、RustでAPIサーバーの開発を実際にやってみるとむしろ開発体験が結構いいなと感じます。パフォーマンスのために難しい所有権を無理にがんばるみたいなマイナスのイメージはほとんど当てはまらなかったです。 Rustの難しいライフタイム、所有権があまり出てこない Rustにおいて難しいとされるライフタイム、所有権といった概念があり私も書く前はかなり身構えていたのですが、これに苦しむことは思ったよりも少ないです。その要因はWebサーバーで扱う処理のほとんどがリクエスト・レスポンスモデルでデータの流れが一方向でシンプ

        RustでAPIサーバーを書くのが思ったより良い
      • シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース

        シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース オープンソースとして開発されているOLAP用データベース「DuckDB」が正式版となるバージョン1.0に到達したことが発表されました。 OLAP用のデータベースといえば、クライアント/サーバ方式の大規模なサーバアプリケーションが一般的ですが、DuckDBは、SQLiteのようにローカル環境上でシングルバイナリでローカル環境でも簡単に実行できる点が最大の特徴です。 SQLでクエリを記述すると同時に、Python、Java、Node.js、Rust、Go、C/C++、R、ODBCなどから呼び出せるAPIも備えており、クライアントアプリケーションに組み込むこともできます。 対応するプラットフォームはWindows(x86_64)、macOS(Intel/Apple Silicon)、Lin

          シングルバイナリでローカル実行可能、高速なOLAP用オープンソースDB「DuckDB 1.0」正式リリース
        • Rust製JavaScriptエンジン『Boa JS』を試してみた

          主要なJavaScriptエンジンのTest262を毎日実行して結果を載せているtest262.fyiというサイトがあります。 (Test262とは最新のECMAScriptを実装できているかどうかのテストです。) このサイトの、2024/6/5現在の実装率ランキングはこちらです。 test262.fyiの画面キャプチャ(2024/6/5) V8(ChromeやNode.js、Deno等)、JavaScriptCore(SafariやBun等)、SpiderMonkey(Firefox等)という、大手エンジンとほぼ横並びで4位に食い込んでいるBoaとは何者でしょうか。 Boaは公式曰く『Rustで書かれた実験的なJavascriptのレキサー、パーサー、コンパイラー』です。これだけ揃えば、JavaScriptエンジンと言って差し支えないと思います。RustアプリケーションにJavaScri

            Rust製JavaScriptエンジン『Boa JS』を試してみた
          • 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月)では

            • Writing an OS in 1,000 Lines を Rust でやってみた

              1000行でOSをつくってみる Writing an OS in 1,000 Lines という1000行前後でOSをつくれるコンテンツがあります。 このコンテンツ自体はC言語を前提としているのですが、Rustでもシステムプログラミングが可能なので、今回はRustで挑戦してみました。 Rust で Writing an OS in 1,000 Lines をやってみるときのポイントをまとめておきます。 RISC-V このコンテンツでは RISC-V をターゲットアーキテクチャとしていて、RISC-V のOSを開発します。 RISC-V はオープンソースのRISC (Reduced Instruction Set Computer) のISA (命令セットアーキテクチャ) です。 詳しい説明は、RISC-V で検索すれば数多くヒットします。 この RISC-V 関連で、参考にした主な情報源は

                Writing an OS in 1,000 Lines を Rust でやってみた
              • GitHub ActionsでArm64が利用可能に:より高速で効率的なビルドシステムを提供

                Author Larissa Fortuna GitHub Actionsは、開発者が市場で最新かつ最も持続可能なプロセッサーでビルドを開始できるように、Armが構築したイメージ付きのArmホステッドランナーをパブリックベータ版で提供開始しました。 GitHubは、GitHub Actions用のArmⓇベースのLinuxとWindowsランナーを発表しました。この新しいランナーは、GitHub Actionsのすべてのジョブのパワー、パフォーマンス、持続可能性を向上させます。開発者はGitHubがホストするArmベースのハードウェアを活用し、Armアーキテクチャが使用されているあらゆる場所でリリースアセットをビルド、デプロイできるようになりました。そして何より、これらのランナーの価格は、弊社のx64 LinuxおよびWindowsランナーよりも37%安価です。 顧客は、Armアーキテクチ

                  GitHub ActionsでArm64が利用可能に:より高速で効率的なビルドシステムを提供
                • 日本国内で暗躍しDoS攻撃を行うRapperBot

                  RapperBotとは NICTでは、日本国内のNVR/DVRなどのIoT機器を標的として感染活動を行い、DDoS攻撃を実施するRapperBotと思われるボットネットの攻撃キャンペーンを観測しました。 RapperBotは、Miraiと呼ばれるIoTマルウェアの亜種であり、Miraiのソースコードを改良して開発されている形跡がサンプルに見られます。感染活動の目的は主にDoS攻撃ですが、過去にはクリプトジャッキングを新たに取り入れた活動も観測されています。今回観測したキャンペーンの中で、特定のホストに対するDoS攻撃を観測することに成功しました。 本ブログでは、今回観測されたRapperBotの感染源となる標的機器及びボットネットのコアな機能と、DoS攻撃の標的について紹介します。 キャンペーンの概要 直近で確認できたRapperBotのキャンペーンの変遷を図に示します。NICTでは202

                    日本国内で暗躍しDoS攻撃を行うRapperBot
                  • 999 crates of Rust on the wall

                    tl;dr I’ve been comparing crates on crates.io against their upstream repositories in an effect to detect (and, ultimately, help prevent) supply chain attacks like the xz backdoor1, where the code published in a package doesn’t match the code in its repository. The results of these comparisons for the most popular 9992 crates by download count are now available. These come with a bunch of caveats t

                    • Rust is for the Engine, Not the Game - Barrett's Club

                      Last updated on June 6, 2024. Rust is for the Engine, Not the Game Macros are cool! But, if we're going to create another language anyways... LogLog Games recently posted Leaving Rust gamedev after 3 years, a must-read article for folks who're doing game development in Rust. It focuses on a small indie developer organization and their experiences with Rust development. If you haven't given it a re

                        Rust is for the Engine, Not the Game - Barrett's Club
                      • Writing Truly Memory Safe JIT Compilers

                        Last month the V8 team published an excellent blog post on what they call the V8 Sandbox. This isn’t a sandbox for your JavaScript code — it’s intended to mitigate browser exploits caused by bugs in the JIT compiler itself. That’s important work because they report that most Chrome exploits start with a V8 memory safety bug. V8 is written in C++, so it may seem like these are the sort of bugs you’

                          Writing Truly Memory Safe JIT Compilers
                        • WebAssembly・PWAの習作アプリを作成して感じたこと

                          はじめに この記事では、個人の習作としてwasm-image-resizerという簡易な画像リサイズ・フォーマット変換ツールをWebAssembly + PWA + Reactで作成したので、そのときに私の得た知見を記載したいと思います。 アプリとしては実に単純であんまり面白みもないのですが、半ばちょっとした好奇心と勢いで自分なりに作ってみました。手探りで拙いですが、ソースコードは以下に配布していますので、よかったら見てみてください。 アプリの技術目標 このアプリを通して私が考えた技術目標は以下のとおりです。 フロントエンドとしては言語はTypeScript、Viteをベースにする UIのフレームワークとしてReactを使用 画像変換などのアプリでやりたいコアな処理はRustで記述 wasm-bindgenとwasm-packでWebAssembly化・javascriptパッケージ化を行

                            WebAssembly・PWAの習作アプリを作成して感じたこと
                          • Enter paradis — A new chapter in Rust's parallelism story | Andreas Longva

                            Rust is a great language for data-parallel problems with relatively simple parallel access patterns. It particularly excels when the data can be split up into contiguous chunks. On the other hand, things can get messy for parallel access patterns that are non-contiguous or less structured. In this post, I will show you an uglier side of parallelism in Rust. Thankfully, it is not a fundamental flaw

                            1