Category: 開発

CVE危機の解決策:プロフェッショナル認定と脆弱性報告の義務化

2025-04-16

MITREのCVE契約の期限切れが近づいていることが論争を巻き起こし、ソフトウェアセキュリティ改善の提案につながっています。現在のCVEシステムは不正確な報告であふれており、価値が低下しています。著者は、スコアではなく脆弱性の属性に基づいたシステムと、プロフェッショナルソフトウェアエンジニア(PSWE)認定を提案しています。決められた時間内に正確に脆弱性を報告しなかった場合、資格が取り消されるため、問題の報告が促進されます。この提案には、将来のPSWEの資金提供とトレーニングが含まれており、アクセシビリティの問題にも対処し、最終的にソフトウェアセキュリティとFOSSプロジェクトの持続可能性にとってウィンウィンとなるシナリオが作成されます。

UCSD p-Systemの復活:クロスプラットフォームコンパイルの伝説

2025-04-16
UCSD p-Systemの復活:クロスプラットフォームコンパイルの伝説

著者は、1970年代のクロスプラットフォームOSとコンパイラであるUCSD p-Systemを再訪します。p-machine仮想マシンにより、PDP-11からApple IIまで様々なマシンへの移植を実現しました。著者は高校時代にApple PascalとUCSD Pascalを使った経験を共有し、Rustでp-machineエミュレータを再構築する計画を立てています。これは、既存ツールのドキュメント不足や古いコンパイラ依存性の問題に対処するためです。

開発

12ファクターエージェント:信頼性の高いLLMアプリケーション構築の原則

2025-04-16
12ファクターエージェント:信頼性の高いLLMアプリケーション構築の原則

この記事では、信頼性が高く、スケーラブルで、メンテナンスしやすいLLM駆動型ソフトウェアを構築するための原則、12ファクターエージェントについて探求します。著者は、既存のエージェントフレームワークは本番環境では不十分であり、多くのいわゆる「AIエージェント」は、主にLLMステップを散りばめた決定論的なコードであると主張しています。著者は、より堅牢なエージェントを構築するための原則を提案し、既存の製品に小型でモジュール化されたエージェントの概念を統合するモジュール化されたアプローチを強調することで、非効率的なグリーンフィールドの書き直しを回避します。これは、AIアプリケーション開発に焦点を当てたエンジニアや起業家にとって貴重な読み物です。

開発

ActorCore:どこでも実行できるステートフルサーバーレス

2025-04-16
ActorCore:どこでも実行できるステートフルサーバーレス

ActorCoreは、ステートフル、AIエージェント、コラボレーティブ、またはローカルファーストアプリケーションを簡単に構築するためのTypeScriptフレームワークです。データベースとORMの必要性を排除し、状態を計算と同一マシンに保存することで、超高速な読み書き速度を実現します。Rivet、Cloudflare、Bun、Node.jsなどにデプロイできます。組み込みの低遅延イベントにより、リアルタイムの状態更新と変更のブロードキャストが可能です。独自のEdgeデータストレージにより、即時的なインタラクションを実現します。現在、OLAP、データレイク、グラフデータベース、高度にリレーショナルなデータには最適ではありませんが、継続的に改善されており、ステートフルサーバーレスアプリケーションの構築とスケーリングのための普遍的な方法を目指しています。

AIは100万ドル規模のフリーランスソフトウェアエンジニアリングを代替できるか?OpenAIの最新研究

2025-04-16
AIは100万ドル規模のフリーランスソフトウェアエンジニアリングを代替できるか?OpenAIの最新研究

OpenAIの新しい論文、SWE-Lancerは、最先端のAIモデルを現実世界のソフトウェア開発タスクでベンチマークしています。Upworkの1400以上のフリーランスの仕事(合計100万ドル以上)を使用して、この研究はタスクを個々の貢献者のタスク(バグ修正、機能構築)とエンジニアリングマネージャーのタスク(最適なソリューションの選択)に分けました。最高のパフォーマーであるClaude 3.5 Sonnetでさえ、タスクの33.7%しか完了せず、約40万3000ドルを獲得しました。AIは、ソリューションを作成するよりもソリューションを選択することに優れており、初期のアプリケーションはコードレビューとアーキテクチャ上の意思決定に焦点を当てる可能性があることを示唆しています。このベンチマークは、AIの進歩を測定する具体的な方法を提供し、リーダーがAIの能力と影響をよりよく理解し、予測するのに役立ちます。

開発

APIの変動とセキュリティ:クライアントサイドヘビーロジックの危険性

2025-04-16
APIの変動とセキュリティ:クライアントサイドヘビーロジックの危険性

この記事では、Webアプリケーションにおける最近のクライアントサイドヘビーロジックのトレンドによって生じる問題、つまりAPIの変動について考察しています。GraphQLなどのより表現力豊かなAPIを使用することで解決策が提供されますが、クライアント側の能力向上によって悪意のあるユーザーも強化されるため、セキュリティリスクの軽減は非常に複雑になります。著者は、APIの変動とセキュリティの複雑さの間のトレードオフを回避するには、ロジックをサーバーサイドに戻すことが最善の方法だと主張しています。

DVMCP:意図的に脆弱なモデルコンテキストプロトコルの実装

2025-04-16
DVMCP:意図的に脆弱なモデルコンテキストプロトコルの実装

DVMCPは、教育目的のために意図的に脆弱なモデルコンテキストプロトコル(MCP)の実装です。難易度が段階的に上がる10個の課題があり、プロンプトインジェクション、ツールポイズニング、過剰な権限、ラグプル攻撃、ツールシャドウイング、間接的なプロンプトインジェクション、トークン窃取、悪意のあるコード実行、リモートアクセス制御、マルチベクター攻撃など、さまざまな脆弱性と攻撃ベクトルを示しています。このプロジェクトは、セキュリティ研究者、開発者、AI セーフティの専門家がMCP実装における潜在的なセキュリティリスクと軽減策について学ぶことを目的としています。

開発

Krep:超高速文字列検索ユーティリティ

2025-04-16
Krep:超高速文字列検索ユーティリティ

Krepは、大規模なファイルやディレクトリを処理する際の最大スループットと効率を目的として設計された、パフォーマンスが最適化された文字列検索ユーティリティです。複数の検索アルゴリズムとSIMDアクセラレーション(利用可能な場合)を使用し、速度とシンプルさを優先します。Krepは最適なアルゴリズムを自動的に選択し、マルチスレッド検索、メモリマップドI/O、正規表現、再帰的なディレクトリ検索をサポートし、バイナリファイルや一般的な非コードディレクトリをスキップします。ベンチマークによると、Krepはgrepよりも約41.5倍高速で、ripgrepよりもわずかに高速です。

プログラマはどのようにゾウを狩るか:テクノロジー業界の個性へのユーモラスな視点

2025-04-16

このユーモラスな文章は、ゾウ狩りの比喩を使って、さまざまなテクノロジー専門家の個性と仕事スタイルを巧みに特徴づけています。数学者は厳密な証明を追求し、コンピューター科学者はアルゴリズムに従い、エンジニアは効率性を重視し、経済学者はカネの力、統計学者はデータに頼るなど。この記事は機知に富んだユーモアを用いて、さまざまな職業の多様な思考パターンと特性を示し、読者の共感を呼び、テクノロジー文化の軽妙な解釈を提供します。

驚異的な速度のZigパーサー:2.75倍高速化

2025-04-16
驚異的な速度のZigパーサー:2.75倍高速化

開発者が、Zigプログラミング言語向けの高スループットのトークナイザーとパーサーを作成しました。これは、メインラインの実装よりも2.75倍高速で、メモリ使用量が2.47倍少なくなっています。このプロジェクトは、SIMDとSWAR技術、巧妙なビット操作、完全ハッシュ関数などの最適化戦略を活用して、大幅なパフォーマンス向上を実現しています。さらなる最適化が計画されており、最終目標は、このパーサーをZigコンパイラ自体に統合することです。

開発

Rustによる高性能IoT開発プラットフォーム

2025-04-16
Rustによる高性能IoT開発プラットフォーム

Rustで構築された高性能IoT開発プラットフォームが登場しました!MQTT、WebSocket、TCP、CoAPなど複数のプロトコルをサポートし、リアルタイムデータ処理機能を備えています。Rustのメモリ安全性と並行処理機能により、効率性が確保されています。モジュール式設計により、拡張とメンテナンスが容易で、データ処理、プロトコルインターフェース、メッセージ通知、外部APIなどのモジュールが含まれています。このプラットフォームは、さまざまなIoTアプリケーションに適しており、Apache 2.0ライセンスの下でオープンソース化されています。

Redisベクターセット:Hacker Newsアカウントのスタイル検出を再現

2025-04-16

コサイン類似度を用いた類似アカウントの検出に関する3年前のHacker Newsの投稿に触発され、AntirezはRedis 8 RC1の新しいベクターセット機能を用いて、この実験を再現しました。彼は10GBのHacker Newsコメントデータを取得し、クレンジングと前処理を行い、ユーザーと単語頻度ベクトルを含むJSONLファイルを生成しました。その後、Burrows-Delta法を用いて単語頻度ベクトルを正規化し、Redisベクターセットに挿入しました。最後に、VSIMコマンドを使用して、同様の記述スタイルを持つユーザーを迅速に見つけることができます。プロジェクトコードはオープンソース化されており、オンラインデモサイトも利用可能です。

Bauplan:Python優先のサーバーレスレイクハウス

2025-04-16

Bauplanは、大規模なデータパイプラインとS3データレイク上のGitベースのデータ管理のためのFunctions-as-a-Serviceを提供する、Pythonベースのサーバーレスデータプラットフォームです。クラウドでの大規模なMLワークフロー、AIアプリケーション、データ変換パイプラインの実行を、インフラストラクチャの心配をすることなく簡素化します。主な機能には、Pythonファースト設計、S3テーブルの直接操作、データへのGit統合、サーバーレスパイプライン、包括的なSQLサポート、データのCI/CD、堅牢なバージョン管理などがあります。AIアプリケーション、MLワークロード、データパイプラインに最適です。

10↑↑15ステップ実行するRustプログラム

2025-04-16
10↑↑15ステップ実行するRustプログラム

この記事では、非常に長く実行されるRustプログラムの作成について探求します。基本的な加算演算(increment)から始めて、掛け算(multiply)、累乗(exponentiate)、そして最終的にテトレーションへと、段階的に構築することで、巨大な数10↑↑15を計算するプログラムを作成します。メモリのコピーや一時変数の使用を避け、インプレース演算に重点を置くことで、プログラムが設計されたステップ数を実行することを保証します。この記事では、簡潔なコード例を用いて実装の詳細を明確に説明しており、アルゴリズム設計とRustプログラミングの学習に役立ちます。

デプロイ可能なサンドボックスブラウザ環境

2025-04-16
デプロイ可能なサンドボックスブラウザ環境

Anthropicは、コンテナ/DockerとUnikraft上に構築された革新的なサンドボックス化されたChromeブラウザ環境を発表しました。インターネットアクセスが必要なエージェントワークフローのために、すぐに使用できるブラウザを提供します。この環境は、Chrome DevToolsフレームワーク(PlaywrightやPuppeteerなど)をサポートし、視覚的な監視とリモートコントロールのためのGUIアクセスを提供します。Unikernelバージョンは、自動スタンバイ、状態のスナップショット、非常に高速なコールドスタートなどの利点を備えており、低遅延のイベントハンドラーを必要とするアプリケーションに最適です。さらに、AnthropicはAIインフラストラクチャの将来に取り組むバックエンドエンジニアを募集しています。

C64プログラミングテクニック:34バイトで2本の線を描く

2025-04-16
C64プログラミングテクニック:34バイトで2本の線を描く

この記事では、コモドール64プログラミングコンテストで使用されたコード最適化テクニックをまとめます。課題は、可能な限り少ないバイト数で2本の線を描くC64実行ファイル(PRG)を作成することでした。この記事では、参加者によって用いられた巧妙なテクニック、ROMサブルーチンの活用、画面ポインタのインクリメンタルな操作、自己修正コード、電源投入時の状態の利用、従来とは異なる制御フロー、ビットパックされた線の描画などを詳細に説明します。優勝作品は驚異の34バイトを実現し、優れたコード最適化スキルを示しました。

開発

JetBrains IDEがAIに対応:コーディングエージェントJunieと強化されたAIアシスタント

2025-04-16
JetBrains IDEがAIに対応:コーディングエージェントJunieと強化されたAIアシスタント

JetBrainsは、改良されたAIアシスタントと新しいコーディングエージェントJunieを含むAIツールをIDEに統合し、無料プランを提供します。AnthropicのClaudeとOpenAIの大規模言語モデルを活用したJunieは、複雑なコーディングタスクを処理し、コードの品質を向上させ、時間を節約します。今回のアップデートでは、AIアシスタントの機能強化として、モデルオプションの拡張、コード補完の改善、より強力なコンテキスト認識などが実現しました。すべてのJetBrains AIツールは、無料プランを含む単一のサブスクリプションで利用可能です。これにより、より多くの開発者がAIの力を利用できるようになります。

開発

フィボナッチハッシング:驚くほど高速なハッシュテーブル最適化

2025-04-16
フィボナッチハッシング:驚くほど高速なハッシュテーブル最適化

この記事では、黄金比の性質を利用してハッシュ値をハッシュテーブルのスロットにマッピングするテクニックであるフィボナッチハッシングについて解説しています。ベンチマークテストにより、従来の整数剰余演算を大幅に上回り、高速なルックアップと、問題のある入力パターンに対する堅牢性の向上を実現することが示されています。著者は、その背後にある数学的原理を説明し、その利点を示し、ハッシュテーブル実装における一般的なパフォーマンスボトルネックへの対処方法を強調しています。完璧なハッシュ関数ではありませんが、フィボナッチハッシングは大きな数を小さな範囲にマッピングすることに優れており、効率的なハッシュテーブルを作成するための貴重な最適化となります。

確率積分:物理学からファイナンスまでを深く掘り下げる

2025-04-16

この記事では、確率積分について深く掘り下げて解説します。通常の微積分を確率過程に拡張したもので、確率論の測度論的定義から始まり、確率過程、ウィーナー過程、伊藤積分、物理学とファイナンスにおける応用について説明します。著者は直感と厳密さを組み合わせ、ランジュバン方程式などの例を用いて重要な概念を説明しています。複雑なトピックへの包括的でアクセスしやすいガイドです。

開発 確率過程

信頼性の低いセンサ読み取り値の融合:線形混合を超えて

2025-04-16
信頼性の低いセンサ読み取り値の融合:線形混合を超えて

この記事では、精度を向上させるために、2つの信頼性の低いセンサからの測定値を融合する方法を探っています。センサAの読み取り値にはノイズが含まれており、センサBは正しい値またはノイズを出力する確率があります。著者はまず線形重み付け平均を試み、最適な重みが50/50ではなく約0.58であることを発見しました。次に、センサ読み取り値の差に基づいて閾値が使用され、差が閾値を下回るとセンサBの読み取り値が、そうでなければセンサAの読み取り値が使用されます。これにより、精度が大幅に向上します。最後に、2つの読み取り値の線形混合を使用する中間領域を追加することで、さらなる最適化が達成され、平均絶対誤差が0.1163に低下しました。

-fsanitize=undefinedとPicolibcで遊ぶ:組み込みC言語の冒険

2025-04-16

この記事では、GCCとClangの-fsanitize=undefinedフラグをPicolibcライブラリに統合して、未定義または実装定義されたC言語の動作を検出する方法について説明しています。このプロセスにより、setlocale/newlocaleでのNULLチェックの欠落やqsortでの型エラーなど、8つのバグが発見され修正されました。また、ポインタ演算の範囲外や符号付き整数のオーバーフローなど、コード内に隠された未定義の動作も明らかにされました。多くの作業は、未定義の動作を定義済みの動作に置き換えることでしたが、左シフトと算術右シフトを処理するためのlslとasrマクロも作成しました。C言語仕様のシフト演算子に関する欠陥についても不満が述べられています。最後に、コードの品質向上のため、未定義動作サニタイザを試すことを推奨しています。

開発

React 5周年:社内プロジェクトからオープンソースのスターへ

2025-04-16
React 5周年:社内プロジェクトからオープンソースのスターへ

Reactの5周年を記念して、この記事ではその道のりを振り返ります。複雑なWebアプリケーションを構築するためにFacebookの社内プロジェクトとして使われていたBoltJSやFaxJSから、最終的に機能的なUIライブラリとなるまで、Reactは何度も繰り返し改良され、APIの改修が行われました。この記事ではJSXの導入や、Reactをオープンソースにする上でInstagramが果たした役割についても取り上げています。Reactの成功は一朝一夕のものではなく、チームによる継続的な改善と活発なコミュニティの参加の賜物です。

開発

RailsアプリのSEOを構造化データで向上させる

2025-04-16
RailsアプリのSEOを構造化データで向上させる

この記事では、Railsアプリケーションに構造化データ(スキーママークアップ)を追加してSEOを改善する方法を詳しく説明します。まず、構造化データの目的と利点を説明し、次にgemを使用しない方法と`schema_dot_org` gemを使用する方法の2つの実装方法について説明します。前者はスキーマオブジェクトを手動で作成する方法で、後者はgemの定義済みのエンティティと検証機能を利用してプロセスを簡素化します。この記事では、`@graph`プロパティを使用してエンティティをグループ化する方法、およびホームページ、記事ページ、書籍ページ、FAQページなど、さまざまなページに`WebSite`、`Organization`、`Article`、`Book`などのスキーマを追加する方法を説明します。最後に、スキーマの正確性を確保するための検証の重要性を強調します。

開発

退屈な取引ジャーナルに別れを告げる:音声ジャーナル+AIによるトレーダーのスキル向上

2025-04-16
退屈な取引ジャーナルに別れを告げる:音声ジャーナル+AIによるトレーダーのスキル向上

あるトレーダーが、煩雑なテキストベースの取引ジャーナルから、AIで強化された効率的な音声ジャーナルシステムへの移行について共有しています。Audacityを使用して、リアルタイムでの感情、戦略、市場のダイナミクスを記録します。NotebookLMなどのAIツールは、音声ログを要約・分析し、パターンを特定し、繰り返されるミスを避け、取引戦略を洗練します。このアプローチにより、ジャーナル作成の一貫性が向上し、取引行動に対する自己認識が深まり、最終的に取引パフォーマンスが向上します。

Torque:軽量なメタアセンブラ、あらゆるアーキテクチャに対応

2025-04-16

Torqueは、あらゆるプロセッサアーキテクチャ向けのプログラムを作成するためのツールを提供する、軽量なメタアセンブラです。既存の組み込みプロセッサアセンブラの欠点(ドキュメント不足、使いにくい言語、肥大化、単一OSサポート)に対処するために、Torqueは整数、ビットシーケンス、ラベル、強力なマクロを使用して、あらゆるアセンブリ言語をエミュレートします。ターゲットプロセッサの命令エンコーディングはマクロで定義され、Torqueとデータシートのみを使用して、あらゆるプロセッサ向けのプログラミングが可能になります。ソースコードはcode.benbridle.com/torque-asmで入手できます。

流れるWebGLグラデーションの解体

2025-04-15
流れるWebGLグラデーションの解体

この記事では、WebGLシェーダーを使用して流れるグラデーション効果を作成する方法を詳しく説明しています。単純な線形グラデーションから始め、徐々に正弦波、アニメーションのための時間変数、そして最後にSimplexノイズ関数とテクスチャマッピングを利用して、ダイナミックブラーとレイヤー状のグラデーションを備えた見事な視覚効果を実現します。この記事は豊富なイラストで説明されており、シェーダーの記述、補間、カラーマッピングなどの基本的な概念を明確に説明しているため、WebGLとシェーダーに興味のある開発者にとって理想的です。

Somehash:Blurhashにインスパイアされた画像プレースホルダー

2025-04-15
Somehash:Blurhashにインスパイアされた画像プレースホルダー

ユーザーエクスペリエンスを向上させるために、この記事ではBlurhashに似ていますが、創造的なひねりを加えた画像プレースホルダーソリューションであるSomehashを紹介します。SomehashはPythonスクリプト(KMeansクラスタリングを使用)を使用して画像の主要な色情報を抽出し、Base64文字列にエンコードします。Reactコンポーネントはこの文字列をデコードし、高解像度の画像がロードされるまで、線を使ったアニメーションプレースホルダーをレンダリングします。著者エンコーディング/デコーディングの最適化や、よりスムーズな完全画像への移行など、改善すべき点を議論しています。

不確実性計算機:日常計算における不確実性を制御する

2025-04-15
不確実性計算機:日常計算における不確実性を制御する

Filip Hracekは、数値範囲の入力(例:95%の信頼区間を表す4~6)を可能にすることで統計的推論を簡素化する不確実性計算機を紹介しています。モンテカルロ法を用いて、基本的な算術演算、累乗、平方根、三角関数などを処理し、より包括的な分析のために確率分布とパーセンタイルを提供します。家族の財政的意思決定プロセスやドレイク方程式などの例を通して、その実用性を示しながら、計算速度が遅いことやユーザーインターフェースが簡素なことなどの限界も認めています。この計算機は、固有の不確実性にもかかわらず、情報に基づいた意思決定を可能にします。

GitHub CEO:AIのおかげで、誰もがコーディングを学ぶべき

2025-04-15
GitHub CEO:AIのおかげで、誰もがコーディングを学ぶべき

GitHubのCEOであるThomas Dohmkeは、できるだけ早く誰もがコーディングを学ぶべきだと主張しています。彼は、AIの台頭によりソフトウェア開発への参入障壁が大幅に低くなったと述べており、小規模なチームでも大規模なプロジェクトに取り組むことができるようになりました。CopilotやChatGPTなどのAIツールはプロセスを簡素化し、コーディングをよりアクセスしやすくしています。雇用の不安も認識していますが、Dohmkeは開発者が適応し、新たなイノベーション分野を見出すことができると信じています。彼は、この進化する状況の中で成功するために、継続的な学習と好奇心旺盛な姿勢を勧めています。

開発

arXivLabs:コミュニティとの共同実験プロジェクト

2025-04-15
arXivLabs:コミュニティとの共同実験プロジェクト

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

開発
1 2 5 6 7 9 11 12 13 108 109