Category: 開発

Bitnami Docker Hub移行:セキュリティ強化か、有料化か?

2025-08-28
Bitnami Docker Hub移行:セキュリティ強化か、有料化か?

Bitnamiは、公開Dockerイメージリポジトリを新しいBitnami Legacyリポジトリに移行し、より安全なBitnami Secure Images(BSI)を段階的に導入すると発表しました。移行は段階的に行われ、その間、イメージサービスの一時的な中断が発生します。ユーザーは、BSI(一部無料、ただし完全な機能を利用するには有料サブスクリプションが必要)またはBitnami Legacyリポジトリ(一時的な解決策で、セキュリティリスクがあります)への移行を選択できます。Bitnamiはこの措置を、セキュリティの向上と、増加するオープンソースソフトウェアの脆弱性と新しい規制への対応策として説明しています。しかし、この動きは論争を巻き起こしており、無料サービスから有料サービスへの移行戦略だと主張する声もあります。

開発

npmパッケージnxへの悪意のある攻撃:認証情報の窃取とシステムシャットダウン

2025-08-27
npmパッケージnxへの悪意のある攻撃:認証情報の窃取とシステムシャットダウン

npmパッケージ'nx'の複数のバージョン(21.5.0、20.9.0など)が悪意のある攻撃を受けました。攻撃者は盗まれたnpmトークンを使用して、ユーザーのファイルシステムをスキャンし、認証情報(GitHub、システムパスワードなど)を収集し、この情報をユーザーアカウント下のGitHubリポジトリにアップロードするコードを含むパッケージを公開しました。悪意のあるコードは、ユーザーの`.zshrc`と`.bashrc`ファイルを修正して、ターミナル起動時に`sudo shutdown -h 0`を実行し、システムをシャットダウンする可能性があります。影響を受けたユーザーは、'nx'パッケージを最新バージョンにすぐに更新し、GitHubで侵害されたリポジトリがないか確認する必要があります。Nxは悪意のあるパッケージを削除し、すべてのnpmパッケージに2FAを必須化し、新しいTrusted Publisherメカニズムを採用するなど、セキュリティ対策を強化しました。

開発

C言語によるオブジェクト指向プログラミング:関数ポインタによるカーネルサービス

2025-08-27
C言語によるオブジェクト指向プログラミング:関数ポインタによるカーネルサービス

この記事では、著者がC言語の関数ポインタと構造体を使って、オブジェクト指向プログラミングに似た仮想テーブル(vtable)機構を独自のオペレーティングシステムカーネルに実装した方法を説明しています。このアプローチにより、カーネルサービスの起動、停止、再起動などの統一的な管理が可能になり、コードを大幅に変更することなくスケジューリングポリシーを柔軟に変更できます。デバイスドライバとサービス管理の例を通して、vtableの実装と応用を説明し、その利点と欠点を議論しています。C言語の構文のためにコードはやや冗長になりますが、この方法は可読性と保守性を向上させ、カーネルの柔軟性と拡張性を高めます。

開発

DelphiによるTensorFlow Lite画像分類器

2025-08-27
DelphiによるTensorFlow Lite画像分類器

このDelphiコードは、シンプルなTensorFlow Lite画像分類器を実装しています。モデルファイルを読み込み、Image1コンポーネントから画像データを読み込み、前処理を行い、TensorFlow Liteインタープリターに渡して推論を実行します。推論結果(各クラスの確率)はListView1コンポーネントに表示されます。コードにはエラー処理とリソース解放のメカニズムが含まれており、安定性を確保しています。

開発 画像分類

緊急:悪意のあるnxビルドキットがGitHubキーを盗む

2025-08-27
緊急:悪意のあるnxビルドキットがGitHubキーを盗む

人気のnxビルドキットに悪意のあるインストール後のコマンドが発見されました。これにより、影響を受けたユーザーのGitHubアカウントに「s1ngularity-repository」というプレフィックスが付いたリポジトリが作成されます。このマルウェアは、ウォレット、APIキー、環境変数を盗み、base64でエンコードされたファイルに保存します。巧妙なことに、Claude Code CLIやGemini CLIなどのLLMを利用して、識別可能なコードの大部分をプロンプトにオフロードすることで、検出を困難にしています。影響を受けたnxのバージョンはnpmから削除されています。ユーザーはすぐにGitHubアカウントを確認し、nxを最新の安全なバージョンにアップデートし、侵害されたシークレットをローテーションする必要があります。

意図的にプログラムを遅くする:開発者ツールの精度の驚くべき向上

2025-08-27
意図的にプログラムを遅くする:開発者ツールの精度の驚くべき向上

プログラミング言語のパフォーマンスに関する研究のほとんどは、プログラムの高速化に焦点を当てていますが、新しい研究では、意図的にプログラムを遅くすることの利点を調査しています。プログラムの基本ブロックにNOPまたはMOV命令を挿入することにより、研究者たちはプログラム実行のきめ細かい制御を実現し、より正確な競合状態の検出、高速化シミュレーション、プロファイラの精度評価につながりました。Intel Core i5-10600での実験では、NOP命令とMOV命令がこの目的のために最適であることが示され、将来の高度な開発者ツールの新たな道を開いています。

QEMU 10.1 リリース:拡張されたアーキテクチャサポートとパフォーマンスの向上

2025-08-27

QEMU 10.1がリリースされました。RISC-V、Arm、x86など複数のアーキテクチャに対する拡張されたサポートと、大幅なパフォーマンス向上を実現しています。新しい命令セット(SME2、SVE2など)のサポートが追加され、新しいマザーボードモデルと仮想化機能も導入されました。浮動小数点例外エミュレーションの改善、ブロックデバイス操作の最適化、ネットワークパフォーマンスの向上など、既存機能もアップグレードされています。注目すべきは、Rustのサポートが強化されたものの、依然として実験段階であることです。

開発

Monodraw:システム要件とFAQ

2025-08-27

MonodrawはmacOS 11 Big Sur以降が必要です。古いバージョンのmacOSを使用している場合は、v1.3(macOS 10.10 Yosemite対応)またはv1.5(macOS 10.14 Mojave対応)をダウンロードできます。コマンドラインツールは、当社のウェブサイトから直接ダウンロードして購入されたバージョンにのみ含まれています。App Storeのサンドボックスの制限により、App Store版には含まれていません。フィードバックはメールまたはツイート(@Monodraw)でお寄せください。お客様のメールアドレスは第三者と共有することはありません。重要なアップデートや製品ニュースのみに使用します。プレスキットはここからダウンロードできます。教育機関向けの価格も提供しています。Monodrawはユーザーデータを収集しません。

開発

FilterQL:軽量な構造化データフィルタリングクエリ言語

2025-08-27
FilterQL:軽量な構造化データフィルタリングクエリ言語

FilterQLは、構造化データをフィルタリングするための軽量なクエリ言語です。TypeScriptライブラリと言語仕様で構成され、他の言語での実装も歓迎されます。ユーザーはデータのスキーマを定義し、簡潔な構文を使用して、`genre == Action`や`year >= 2008 && rating >= 8.5 | SORT rating desc`など、結果をフィルタリング、ソート、制限します。FilterQLはさまざまな比較演算子と論理演算子をサポートし、カスタム操作により機能を拡張できます。

開発

プライバシー重視ブラウザ「WebLibre」がアルファ版リリース

2025-08-27
プライバシー重視ブラウザ「WebLibre」がアルファ版リリース

WebLibreは、MozillaのGeckoエンジンとMozilla Androidコンポーネントを基盤とした独立したブラウザプロジェクトです。Firefoxモバイルアドオンをサポートするフル機能のウェブブラウザを提供し、プライバシーと使いやすさを重視して設計されています。現在アルファ版のため、頻繁なアップデート、バグ、破壊的変更が発生する可能性があります。Google依存がないのはF-Droidビルドのみです。

AI時代:適応するツールが勝利する

2025-08-27
AI時代:適応するツールが勝利する

AI時代において、成功の鍵はツールに適応することではなく、ツールがあなたに適応することです。この記事では、硬直的なツールであるLinearと、柔軟なツールであるFiberyを比較し、それらの異なる運命を示しています。Linearの非柔軟性はAI統合を制限しますが、FiberyはLLMを活用して複雑な設定を簡単なプロンプトに変換します。LLMは、ソリューション設計から問題定義への焦点をシフトさせます。ユーザーは自然言語でニーズを記述し、AIが実装を担当します。これは、構成が迅速かつ容易になり、ユーザーは変化するニーズに適応できる柔軟なソフトウェアの力を強調しています。一方、硬直的なツールは後れを取ります。この記事は、今後数年間で柔軟なソフトウェアが硬直的なツールを徐々に置き換え、支配的なパラダイムになると予測しています。

エレガントなリトライループ:冗長性と予期せぬスリープの回避

2025-08-27

著者は、リトライ回数を明確に制限し、最後の試行後の無駄なスリープを避け、リトライが失敗した場合に元のエラーを報告し、コードの重複を避けるエレガントなリトライループの記述方法を探求しています。いくつかのアプローチを比較し、最終的には、終了を保証するための上限を持つ`try while`ループを採用することで、以前のソリューションにおける境界の問題と潜在的な無限ループのリスクに対処しています。最終的なソリューションは完璧ではありませんが、以前の試みと比べて簡潔さと堅牢性が大幅に向上しています。

開発

Async:AIによる協調的なコーディングワークフロー

2025-08-27
Async:AIによる協調的なコーディングワークフロー

Asyncは、AIコーディング、タスク管理、コードレビューを1つの効率的なワークフローに統合したオープンソースの開発者ツールです。Claude Code、Linear、GitHub PRを統合することで、コーディングタスクを自動的に調査し、クラウドでコード変更を実行し、作業をレビュー可能なサブタスクに分割し、GitHub issueからマージされたPRまでのワークフロー全体を処理します。Asyncは成熟したコードベースに特に優れており、事前計画を強制し、コンテキストスイッチを排除し、タスクトラッキングを簡素化し、組み込みのコードレビューを提供します。FastAPI、Claude Code、Google Cloud Platformを使用して構築されており、デスクトップとモバイルをサポートしています。

開発

LiteLLM:創設メンバーとなるフルスタックエンジニア募集

2025-08-27
LiteLLM:創設メンバーとなるフルスタックエンジニア募集

NASAやAdobeなどの企業が利用する、GitHubで27,000以上のスターを獲得しているオープンソースのLLMゲートウェイであるLiteLLMは、急速に拡大しており、創設メンバーとなるフルスタックエンジニアを募集しています。この役割は、OpenAI仕様を使用して100以上のLLM API(OpenAI、Azure、Bedrockなど)の呼び出し形式を統一し、プラットフォームのパフォーマンスと信頼性を向上させることに重点を置いています。テクノロジースタックには、Python、FastAPI、JS/TS、Redis、Postgresなどが含まれています。候補者は、バックエンドまたはフルスタック開発で1〜2年の経験を持ち、高性能インフラストラクチャのメンテナンスに精通し、オープンソースに情熱を持っている必要があります。

開発

spaCy 3.8リリース:産業レベルのNLPを強化

2025-08-27
spaCy 3.8リリース:産業レベルのNLPを強化

spaCy 3.8がリリースされました!PythonとCython向けの高度な自然言語処理(NLP)ライブラリで、最新の研究に基づいており、実製品での使用を目的として設計されています。70以上の言語のトークン化とトレーニングをサポートし、NER、テキスト分類など、最先端の速度とニューラルネットワークモデルを備えています。BERTなどの事前学習済みトランスフォーマーによるマルチタスク学習、本番環境対応のトレーニングシステム、モデルのパッケージ化、デプロイ、ワークフロー管理の容易さも特徴です。改善の詳細については、リリースノートをご覧ください。

開発

Regolith:ReDoS攻撃を防ぐ線形時間正規表現ライブラリ

2025-08-27
Regolith:ReDoS攻撃を防ぐ線形時間正規表現ライブラリ

Regolithは、Rustを使用して構築されたサーバーサイドTypeScriptおよびJavaScriptライブラリであり、線形正規表現エンジンを使用して正規表現サービス拒否(ReDoS)攻撃を防ぎます。TypeScriptおよびJavaScriptのデフォルトのRegExp(最悪の場合の指数関数的な時間計算量を持つ)とは異なり、Regolithは最悪の場合の線形計算量を誇り、ReDoSの脆弱性を効果的に軽減します。RegExpの直接的な代替として設計されており、移行の手間を最小限に抑え、開発者は簡単にReDoSに耐性のあるソフトウェアを構築できます。開発の初期段階にあるRegolithは、コミュニティからの貢献を歓迎しています。

開発

rv: 画期的なRuby言語マネージャー

2025-08-27

Bundler開発に10年携わってきた作者が、ついに新たなRuby管理ツールrvを開発しました。rvはgem依存関係だけでなく、Rubyのバージョン管理も行い、事前にコンパイルされたRubyをインストールすることで、長いコンパイル時間を解消します。さらに重要なのは、異なるRubyバージョンを必要とするスクリプトやツールであっても、簡単に実行できることです。uv(Pythonの類似ツール)、cargo、npmといった優れたツールの設計思想を取り入れ、高速性、信頼性、そして`rv tool run`や`rv tool install`といった革新的な機能を備え、Ruby環境の管理を簡素化し、開発者の生産性を飛躍的に向上させます。

開発

PostgreSQLハッシュパーティショニングを20倍高速化:カタログルックアップの回避

2025-08-27
PostgreSQLハッシュパーティショニングを20倍高速化:カタログルックアップの回避

PostgreSQLのハッシュパーティショニングは、高スループットアプリケーションにおいてカタログルックアップのオーバーヘッドが発生します。この記事では、アプリケーションレイヤーでパーティションインデックスを事前に計算することで、PostgreSQLのカタログルックアップを回避する最適化手法を紹介します。Ruby gemの`pg_hash_func`を使用するか、PostgreSQLのハッシュ関数を直接呼び出すことで、クエリ速度を20倍以上高速化し、レイテンシを大幅に削減できます。このアプローチは、パフォーマンスが重要なシナリオに適しており、シンプルさとパフォーマンスのバランスを取る上でより多くの選択肢を提供します。

Apple M1 GPUのリバースエンジニアリング:オープンソースドライバーがLinuxゲームを向上

2025-08-27

2020年、トロント大学のコンピューターサイエンスの学生であるヘクター・マーティンは、Apple M1チップにLinuxを搭載するためのAsahi Linuxプロジェクトを開始しました。Collaboraのエンジニアと協力して、M1のGPUをリバースエンジニアリングし、段階的にグラフィックアクセラレーションを実現し、最終的にOpenGL 4.6、Vulkan 1.4、OpenCL 3.0の完全サポートを達成し、Protonゲームを可能にしました。これは、VulkanがAppleハードウェアに適していないという神話を打ち破っただけでなく、オープンソースコミュニティに高品質のドライバーを提供し、M1チップでのLinuxゲーム体験を劇的に向上させました。

開発

GoogleのAndroid開発者検証に関する不穏な真実

2025-08-27

このブログ投稿は、Googleの今後のAndroid開発者検証プログラムについて深刻な懸念を表明しています。身元を明かしたことで脅迫を受けたICEBlockアプリ開発者の例を用いて、このプログラムが匿名性を必要とする開発者に害を及ぼす可能性があると主張しています。5つの重要な質問が投げかけられています。開発者の匿名性の正当なニーズはどう対応されるのか?どの市民団体が協議に参加し、その結果は?個人情報の共有に関するGoogleのプライバシーポリシーはどう解釈すべきか?このプログラムは、アプリ開発で一般的に使用されるデバッグキーストアと重複パッケージ名にどのように対処するのか?Android開発を学んでいる人々への影響は?この投稿は、Googleに議論への参加を促し、フィードバックフォームを提供しています。

開発

arXivLabs:arXiv機能開発におけるコミュニティコラボレーション

2025-08-26
arXivLabs:arXiv機能開発におけるコミュニティコラボレーション

arXivLabsは、開発者がarXivウェブサイト上で直接、新しいarXiv機能を開発・共有できる新しい協調フレームワークです。arXivLabsに参加する個人や組織は、arXivのオープン性、コミュニティ、卓越性、ユーザーデータプライバシーという価値観を共有しています。arXivはこれらの価値観にコミットしており、それらを共有するパートナーのみと協力します。arXivコミュニティに役立つプロジェクトのアイデアをお持ちですか?arXivLabsの詳細をご覧ください!

開発

TTY の解明:Linux コンソールの舞台裏

2025-08-26

この記事では、Linux の TTY サブシステムについて包括的に説明します。19 世紀後半の株価情報伝達装置から現代の仮想端末まで、その歴史をたどり、UART ドライバ、ラインディシプリン、TTY ドライバ、シグナル処理の役割を詳細に説明します。プロセス状態、ジョブとセッションの管理、フロー制御、ブロッキング I/O も、明確な図と例を用いて解説します。Linux コンソールの複雑さを解き明かし、開発者や上級ユーザーに深い洞察を提供します。

ジョン・マッフィーの方法:ノンフィクションライティングへの深い探求

2025-08-26

この記事では、著名な作家ジョン・マッフィーの執筆プロセスを詳細に説明し、綿密で複数段階にわたるアプローチを強調しています。彼は、調査とインタビューから膨大な量のノートを収集し、それらを注意深くテーマ別のグループに整理することから始めます。そして、実際の執筆を始める前に、注意深く構成を練り上げます。これにより、ライターズブロックを回避し、よりスムーズで効率的な執筆プロセスが可能になります。また、著者は、Emacsのorg-modeを使用してノート管理を合理化することで、マッフィーの方法をどのように適応させたかも共有しています。

SSL証明書管理の終焉(私たちが知っているように)

2025-08-26

SSL証明書の管理が悪夢になりつつあります。かつては四半期ごとのタスクだったものが、今では毎週の闘争になっています。ますます厳しくなる検証要件と、大幅に短縮された証明書の有効期間(2029年までにわずか47日!)が原因です。この増加する負担により、組織はプラットフォームに統合された証明書管理またはLet's Encryptなどの無料の代替手段に目を向けており、従来のCA市場を混乱させる可能性があります。著者は、これらの変更が本当にセキュリティを向上させているのか、それともすでに過労状態のITチームに不要なオーバーヘッドを追加しているだけなのか疑問を呈しています。

線形スキャンレジスタ割り当て:ライフタイムホールの処理

2025-08-26
線形スキャンレジスタ割り当て:ライフタイムホールの処理

この記事では、ライフタイムホールを処理するための線形スキャンレジスタ割り当てアルゴリズムの改良について説明します。著者は、制御フローグラフを線形命令シーケンスに削減することで、仮想レジスタのライフタイムに不連続が生じるライフタイムホールが発生する仕組みを説明します。解決策としては、複数の非重複範囲をサポートするようにインターバルデータ構造を変更し、これらのホールを特定して活用できるようにします。次に、線形スキャンアルゴリズムを調整して、レジスタ割り当て中にこれらのホールを考慮することで、レジスタの使用率を向上させます。これにより、コンパイラのレジスタリソースを活用する能力が向上し、最終的にコードのパフォーマンスが向上します。

多項式特徴量とデータ分布の整合: MLにおける注意-整合問題

2025-08-26
多項式特徴量とデータ分布の整合: MLにおける注意-整合問題

この記事では、機械学習モデルの性能向上のため、多項式特徴量とデータ分布の整合について探求します。直交基底は、データが一様に分布している場合、情報量の多い特徴量を生成しますが、現実世界のデータはそうではありません。2つのアプローチが提示されています。1つは、直交基底を適用する前にデータを一様分布に変換するマッピングの手法です。もう1つは、注意深く選択された関数をかけることで、直交基底の重み関数を調整し、データ分布に合わせることです。前者はScikit-LearnのQuantileTransformerで実現できる、より実際的な方法です。後者はより複雑で、深い数学的理解と微調整が必要です。カリフォルニア住宅データセットの実験では、前者の方法で生成された準直交特徴量が、従来の最小-最大スケーリングよりも線形回帰で優れた性能を示しました。

危険なキャリアアドバイス:優秀なエンジニアのための強力なツール

2025-08-26

この記事では、効果的なキャリアアドバイスは、鋭利な道具と同様に、使い方次第で非常に役立つ場合もあれば、非常に有害な場合もあると主張しています。多くのキャリアアドバイスは表面的なもので、実際的な応用が欠けています。著者は、エンジニアに「危険なアドバイス」を受け入れ、慣習を破って高い効率性を達成することを奨励しています。リスクはありますが、優秀なエンジニアにとっては、報酬がリスクを上回ります。著者は、このアドバイスは能力の低いエンジニアには適さないことを警告しています。

開発

RubyからPythonへ:プログラマーの言語選好の変化

2025-08-26

ベテランRubyプログラマーが、プログラミング言語に対する選好の変化について語っています。当初はRubyの簡潔さと優雅さを高く評価していましたが、時間の経過とともに、Pythonの改善、特に型ヒントとパターンマッチングの導入によって、見方が変わってきました。Pythonのチームワークにおける強みを見出し、最終的に主要な開発言語としてPythonを選択しました。これは、プログラマーの言語選択において、実用性とチームワークの重要性を示しています。

開発

timep:組み込みFlamegraph付き、超高速Bashプロファイラ

2025-08-26
timep:組み込みFlamegraph付き、超高速Bashプロファイラ

timepは、最先端のトラップベースのBashコードプロファイラです。コマンドごとの実行時間プロファイルを生成し、関数とサブシェルのネスト深度に基づいて、コマンドの実行時間とメタデータを階層的にログに記録します。最新のリリース(v1.3)は完全に自己完結型で、圧縮されたバイナリとFlamegraphジェネレーターが含まれています。主要なリファクタリングによりパフォーマンスが劇的に向上しました。約67,000個のコマンドのテストが、20分から5分に短縮されました!timepは、詳細なプロファイルと要約されたプロファイル、そして視覚的に分かりやすいFlamegraphを提供し、Bashコードの分析と最適化を簡素化します。

1 2 16 17 18 20 22 23 24 214 215