Category: 開発

AmigaDOSにおける文字列補間:{}ブレースを超えて

2025-03-22

この記事では、AmigaDOSシェルスクリプトにおける文字列補間の柔軟性と特性を探ります。AmigaDOSはデフォルトで`<`と`>`を補間で使用しますが、`.BRA`と`.KET`ディレクティブによってカスタマイズできます。実験では、印刷可能なASCII文字と印刷不可能なASCII文字(BELやNAKなど)を含むさまざまな文字ペアの成功した使用が示されています。これは、AmigaDOSスクリプトパーサーの堅牢性と、異常な入力への耐性を強調しています。

Mozilla.aiのオープンソースプロジェクト:AIでOpenStreetMapのマッピングを高速化

2025-03-22
Mozilla.aiのオープンソースプロジェクト:AIでOpenStreetMapのマッピングを高速化

Mozilla.aiは、OpenStreetMapのマッピングプロセスを高速化するために設計されたオープンソースプロジェクト「OpenStreetMap AI Helper Blueprint」をリリースしました。このプロジェクトは、YOLOv11物体検出モデルとSAM2セグメンテーションモデルを巧みに組み合わせることで、地図上の特徴(例:プール)を自動的に識別し、輪郭を自動的に作成し、効率性を向上させます。ユーザーは提供されたColab環境でモデルをトレーニングし、その後手動で結果を検証することで、マッピング速度を大幅に向上させながら、品質管理を維持します。これは、大規模言語モデルに頼ることなく、軽量でローカルフレンドリーなAIモデルがコミュニティ主導のプロジェクトを強化できることを示しています。

開発

Landrun:軽量で安全なLinuxサンドボックス

2025-03-22
Landrun:軽量で安全なLinuxサンドボックス

Landrunは、Landlock LSMを利用した軽量なLinuxサンドボックスで、カーネルレベルのセキュリティと最小限のオーバーヘッドを特長としています。ディレクトリへのきめ細かいアクセス制御が可能で、読み取りと書き込みのパスをサポートし、許可されたパスでの実行をオプションで許可します。TCPネットワークアクセス制御(バインドと接続)も含まれています。Landlock LSMが有効になっているLinuxカーネル5.13以降が必要です(ネットワーク制限にはカーネル6.8以降)。Landrunは、コマンドラインインターフェースを提供し、読み取り専用、読み取り/書き込み、実行、特定のTCPポートのバインドと接続など、サンドボックスの権限を簡単に設定できます。「ベストエフォート」モードにより、古いカーネルでもスムーズに動作します。信頼できない、または悪意のある可能性のあるコードを安全に実行するのに最適です。

2つのレポートが、オープンソースのCRAコンプライアンスにおける知識ギャップとベストプラクティスを明らかに

2025-03-22
2つのレポートが、オープンソースのCRAコンプライアンスにおける知識ギャップとベストプラクティスを明らかに

Linux Foundationは、オープンソースのセキュリティとEUのサイバーレジリエンス法(CRA)に対処するためのコミュニティ主導の戦略を探る、2つの画期的な調査レポートを発表しました。最初のレポートでは、3つのLinux FoundationプロジェクトがCRAの最低コンプライアンス要件をどのように満たしているかを分析し、ベストプラクティスを共有しています。2番目のレポートは、CRAに関する認識のギャップを明らかにし、多くの回答者がCRAに精通しておらず、コンプライアンスの準備ができていないことを示しています。レポートは、メーカーがオープンソースセキュリティにおいてより積極的な役割を果たすことを推奨し、より多くの資金と法的支援を求めています。

FizzBee:相互排他とRedlockの落とし穴のモデリング

2025-03-22
FizzBee:相互排他とRedlockの落とし穴のモデリング

この記事では、Starlarkをベースとした新しい形式仕様言語であるFizzBeeを用いて、相互排他アルゴリズムをモデリングし、Redlockアルゴリズムの問題点を調査した著者の経験について詳述しています。クリティカルセクション、ロック、リース、フェンシングトークンのモデリングを通じて、Redlockのフォールトトレランスにおける限界が明らかになり、最終的にフェンシングトークンが相互排他問題を完全に解決するわけではないことが示されています。著者は、FizzBeeの使いやすさと欠点について議論し、アルゴリズム設計における形式仕様の重要性を強調しています。この実践的な演習は、著者のフェンシングトークンに関する理解における微妙な欠陥を意外にも明らかにし、形式的手法の価値を強調しています。

開発 相互排他

PyTorch内部の深層探求:テンソル、Autograd、カーネル記述ガイド

2025-03-22

このブログ投稿は、PyTorchの内部機構を詳細に解説しており、テンソルデータ構造、自動微分(Autograd)、カーネル記述を網羅しています。まず、ストライドの概念やテンソルビューの作成方法を含め、テンソルの基礎的な実装について説明します。次に、Autogradの仕組みを掘り下げ、逆伝播による勾配計算方法を示します。最後に、PyTorchカーネル記述の実用的なガイドを提供し、PyTorchが提供するツールを用いたエラーチェック、データ型ディスパッチ、並列化処理の方法を解説します。PyTorchの使用方法に習熟しており、内部機構を深く理解したい、もしくはコードに貢献したい開発者にとって、優れたチュートリアルです。

開発

Linuxで/libを誤って削除した場合の復旧方法

2025-03-22

この記事では、重要な`/lib`ディレクトリを誤って削除してしまったLinuxシステムを復旧する方法を詳細に説明しています。筆者は、静的busyboxなどの既存ツールを活用する方法から、最小限の静的コンパイルされたCプログラムを作成して必須ファイルを置き換える方法まで、いくつかの方法を探っています。ステップバイステップのガイドでは、bashの組み込み関数とネットワーク転送を用いた技術を網羅しており、OSの再インストールを回避するソリューションを提供しています。

FastOpenAPI:PydanticベースのOpenAPIジェネレーター

2025-03-22
FastOpenAPI:PydanticベースのOpenAPIジェネレーター

FastOpenAPIは、Pydanticと様々なフレームワークを使用してOpenAPIスキーマを生成および統合するためのライブラリです。FastAPIに似た開発者フレンドリーなエクスペリエンスを目指しています。Falcon、Flask、Quart、Sanic、Starlette、Tornadoをサポートし、プロキシルーティングを通じてFastAPIスタイルのルーティングを提供します。pipによる簡単なインストールで、Swagger UIとReDoc UIで簡単にドキュメントを確認できます。包括的な例とベンチマークも提供されています。

アプリケーションアーキテクチャの進化と軽量オーケストレーションの台頭

2025-03-22
アプリケーションアーキテクチャの進化と軽量オーケストレーションの台頭

90年代の3層アーキテクチャから、今日のマイクロサービス主導の世界に至るまで、アプリケーションアーキテクチャは劇的な変化を遂げました。分散バックエンドの操作を調整するために、オーケストレーション層が登場しました。しかし、既存のDIYソリューションは複雑で保守が困難であり、専用のオーケストレーションシステムは独自の複雑さを導入します。この記事では、新しいアプローチを紹介します。オーケストレーション機能を軽量ライブラリに統合し、データベースを使用して実行状態を永続化することで、個別のオーケストレーション層を排除し、開発、テスト、デバッグのプロセスを簡素化し、最終的により信頼性が高く効率的なアプリケーションアーキテクチャを実現します。

Ruby:AI革命の意外な言語?

2025-03-22

大規模言語モデル(LLM)はコード生成に優れていますが、コンテキストウィンドウの制限により、大規模なコードベースでの作業が困難です。この記事では、LLM支援プログラミングの「パワー」を探求しています。プログラムを表すのに必要なトークンの数です。著者は、簡潔さのために、LLMにはPythonがGoよりも優れていると主張しています。これにより、トークン制限内でより多くの機能を使用できます。さらに、エレガントで簡潔なことで知られるRubyは、トークンの効率的な使用により、LLMに最適な言語として提示されています。型チェックなどの課題が残っていますが、Rubyの人間中心の設計は、皮肉にも、LLMにとって潜在的なリーダーとなっています。

開発

GitHubにおけるコード提案適用制限

2025-03-22
GitHubにおけるコード提案適用制限

このテキストは、GitHubのコードレビュープロセスでコード提案を適用する際に発生する可能性のあるさまざまな制限をリストしています。これらには、コードの変更がない、プルリクエストが閉じられているかマージされている、変更の一部のみを表示している、行ごとに1つの提案のみ適用可能、削除された行への提案の適用はサポートされていない、提案が既に適用されているか解決済みとしてマークされている、保留中のレビューからの提案は適用できない、複数行のコメントへの提案は許可されていないなどが含まれます。これらの制限により、コードレビュープロセスの整合性と正確性が確保されます。

開発

新しい型を作ることを恐れるな:GoとCからの教訓

2025-03-22

多くの開発者は、コードベースに新しい型を作成することに抵抗を示します。この記事では、これが、認識されている「大規模な設計」を変更し、複雑さを追加することへの恐れから生じていると主張しています。しかし、著者は、値の集合が自然にまとまっている場合、新しい型を作成することで、コードの可読性と保守性が大幅に向上すると主張しています。Goを例に、`CreateSubscriptionRequest`構造体のような、小さく、特定の目的に特化した型を作成することの利点を強調し、関数呼び出し間でのデータ処理を合理化します。著者は、開発者に対して、新しい型を作成することに対する不安を克服することを促し、CとGoの文化では、この実践が一般的であり受け入れられていることを強調し、型の目的が名前によって明確に伝えられることを条件としています。

開発

中央集権型認可:次の共有プラットフォーム?

2025-03-22
中央集権型認可:次の共有プラットフォーム?

この記事では、中央集権型認可システムの長所と短所を探ります。従来、認可はアプリケーションごとに分散されており、非効率的で管理が困難でした。中央集権型システムは、標準化、コスト削減、コンプライアンスの向上をもたらしますが、表現力、パフォーマンス、分離、統合といった課題に対処する必要があります。この記事では、オープンソース(Topaz)と商用(Aserto)のプラットフォームがこれらの課題をどのように克服し、効率的で安全、管理しやすいエンタープライズレベルの認可を実現するかについて説明します。

スクリプトでロングオプションを使用する

2025-03-22

多くのコマンドラインユーティリティは、ショートオプション(-f)とロングオプション(--force)の両方をサポートしています。ショートオプションは対話型使用に便利ですが、ロングオプションはスクリプトでははるかに優れています。可読性の向上と自己説明的な性質により、保守性と理解度が向上します。たとえば、Gitでは、`git switch --create release-{today} origin/main` は `git switch -c my-new-branch` よりもはるかに明確で、特に複雑なスクリプトではそうです。

Frink:実用的計算ツールとプログラミング言語

2025-03-21

Frinkは、物理計算の簡素化、正確な解答の保証、真に実用的なツールの提供を目的とした、強力な計算ツールとプログラミング言語です。計算全体を通して測定単位(フィート、メートル、キログラム、ワットなど)を追跡し、単位の透過的な混合と結果の検証を可能にします。Frinkはまた、多数の物理定数のデータベースを備え、複数の言語、高度な数学関数、単位変換、日付/時刻の計算、正規表現、グラフィックなどをサポートし、オブジェクト指向プログラミングとJavaコードの呼び出しもサポートしています。さまざまなオペレーティングシステムとデバイスで動作し、Java Web Startを使用して自動的にアップデートされます。

MySQLの1秒あたりのトランザクション数 vs. fsyncs数:謎解き

2025-03-21

この記事では、MySQLのトランザクションスループットの理論値と実測値の食い違いについて調査しています。ベンチマークテストの結果、MySQLの実測書き込み速度は理論予測(fsync()の待ち時間に基づく)をはるかに上回ることが分かりました。さらに調査を進めると、MySQLがWALとbinlogへの書き込みをバッチ処理するグループコミット技術を使用していること、そしてファイルシステム/ディスクも同様のバッチ処理を行っている可能性があることが判明しました。これにより効率が向上しています。また、著者はいんべんてッドインデックスのパフォーマンスも分析し、理論モデルと実測パフォーマンスのずれの原因を説明しています。

開発

あなた自身のx86オペレーティングシステムを作成する:実践ガイド

2025-03-21

本書は、あなた自身のx86オペレーティングシステムを作成するための実践的なガイドです。開発環境の設定からマルチタスクの実装まで、各ステップで詳細な説明とコード例を示しています。著者らは自身の経験を共有し、さらに読むためのリンクを提供しています。メモリ管理、割り込み処理、仮想メモリ、ファイルシステム、システムコールなどのトピックを網羅しており、システムプログラミングの経験がある読者に適しています。

Ubuntu、Rustユーティリティのデフォルト採用を検討

2025-03-21

Ubuntuは、今後の25.10リリースで、多くの従来のGNUユーティリティを、uutilsプロジェクトなどのRust実装に置き換えることを計画しています。これらのRustツールが適しているかどうかをテストするために、Canonicalのエンジニアリング担当副社長であるJon Seagerは、コマンドラインユーティリティoxidizrをリリースしました。これは、これらのツールを簡単に有効化または無効化するためのものです。この動きは、Ubuntuの堅牢性とセキュリティの向上、およびより多くの貢献者の獲得を目指しています。コミュニティの反応は賛否両論ありますが、この変更はRustの採用とLinuxディストリビューションの将来に大きな影響を与える可能性があります。

開発

Hyperbrowser MCPサーバー:Webスクレイピングとデータ抽出を簡単に

2025-03-21
Hyperbrowser MCPサーバー:Webスクレイピングとデータ抽出を簡単に

Hyperbrowserは、モデルコンテキストプロトコル(MCP)サーバーを発表しました。これは、Webページのスクレイピング、構造化データの抽出、Webサイトのクロールを行うための強力なツールです。OpenAIのCUA、AnthropicのClaude Computer Use、Browser Useなど、汎用ブラウザエージェントへのアクセスも簡素化します。サーバーは、Webページのスクレイピング、Webクロール、構造化データの抽出、Bing検索、さまざまなブラウザの自動化機能などを備えています。インストールは簡単で、`npx hyperbrowser-mcp `を実行し、関連する設定ファイルを構成するだけです。

開発

ClickHouseのロック競合:1年間にわたるパフォーマンスボトルネック

2025-03-21

Tinybirdは、ピークロード時にClickHouseクラスタのCPU使用率が非常に低くなるという1年間の問題を抱えていました。根本原因はContextロックの競合であることが判明しました。`ContextLockWaitMicroseconds`メトリックを追加してロック待ち時間を監視し、Contextロックメカニズムを再設計することで(単一のグローバルミューテックスをリードライトミューテックスに置き換える)、パフォーマンスが大幅に向上しました。この記事では、Clangのスレッドセーフティ分析を使用して並行処理の問題をデバッグおよび解決する方法、およびQPSが3倍になり、CPU使用率が大幅に向上したベンチマーク結果について詳しく説明しています。

開発

あなたが間違って発音しているかもしれない技術用語

2025-03-21

この記事では、独学のソロ開発者が遭遇した技術用語の一般的な誤った発音を取り上げています。Asus(AY-soos、AY-sisではない)、Debian(DEHB-eee-in、DEE-bee-innではない)など多くの例を挙げ、これらの発音に固有の論理がないことを強調しています。著者は、Googleの発音ウィジェットを便利なリソースとして使用することを提案し、Atlassian、daemon、Gaussian、GIF、Gnome、GNU、JSON、Kernighan、LaTeX、Linus、Poisson、pypi、Qt、Redis、regex、repo、sudo、SUSE、SQL、SQLite、Ubuntu、Viteなど、正しく発音された用語の包括的なリストを提供しています。これは、開発者とテクノロジー愛好家にとって貴重なリソースです。

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

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

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

開発

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

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

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

開発

軽量バージョン管理システム:Game of Treesリリース

2025-03-21

Game of Trees (Got)は、使いやすさとシンプルさを優先する軽量で使いやすいバージョン管理システムです。現在開発中で、主にOpenBSD開発者をターゲットとしており、バージョン管理されたデータにはGitリポジトリを使用しています。Gotでまだ実装されていない機能はGitで処理でき、同じリポジトリでGotとGitの両方を同時に使用できます。BSDライセンスの下で、ソフトウェアは無料で再利用可能です。

開発

Mathup:高速な数学式パーサー

2025-03-21

Mathupは、AsciiMathにインスパイアされたマークアップ言語で記述された単純な数学式を、構造化されたMathMLに変換する軽量ツールです。式のパースと変換のみを行い、レンダリングをブラウザに任せるため、MathJaxよりも高速です。Mathupは、分数、添字/上付き文字、行列、テンソルなど、幅広い数学記号と関数をサポートしています。フォント、色、背景など、豊富なカスタマイズオプションを提供します。開発者は、コマンドライン、サーバー、またはブラウザでMathupを使用して、数学式の処理を迅速かつ効率的に行うことができます。

開発 数学式

Screen:リッチテキストUIのための純粋なPHPターミナルエミュレータ

2025-03-21
Screen:リッチテキストUIのための純粋なPHPターミナルエミュレータ

Screenは、純粋なPHPで記述されたターミナルエミュレータライブラリであり、あらゆるPHPアプリケーション内でリッチテキストベースのユーザーインターフェースを作成できます。当初、Laravel向けのSoloのマルチプロセスTUIにおけるANSIエスケープコードの競合を解決するために開発されました。Screenは、仮想ターミナルバッファを作成し、ANSI操作(カーソル移動、色の変更、画面クリアなど)を安全に処理することで、一貫したレンダリングを保証します。Unicode、マルチバイト文字、スクロール、幅広いANSIエスケープコードをサポートし、独自のビジュアル比較システムを備えた包括的なテストスイートにより、正確なエミュレーションが保証されます。

NeRFiesとUMI-On-Legsに基づいたオープンソースのウェブサイトテンプレート

2025-03-21

このウェブサイトテンプレートは、AnyCar UMI-On-LegsとNeRFiesの優れたデザインを基に修正され、コードが簡素化されています。クリエイティブ・コモンズ 表示-継承 4.0 国際ライセンスの下でライセンスされており、自由に修正および使用できますが、フッターにNeRFiesページへのリンクを残し、不要な分析コードを削除する必要があります。

安全で効率的なRustベースのRDPクライアント:IronRDP

2025-03-21
安全で効率的なRustベースのRDPクライアント:IronRDP

IronRDPは、Microsoftリモートデスクトッププロトコル(RDP)の安全な実装を提供するRustクレートのコレクションです。非圧縮の生ビットマップ、RLE、RDP 6.0ビットマップ圧縮、Microsoft RemoteFXなど、さまざまなコーデックをサポートしています。完全な非同期RDPクライアントと、統合を容易にするためのブロッキング例が含まれています。また、グラフィックスパフォーマンスを向上させるためにサーバーでRemoteFXを有効にする方法についても詳しく説明しています。

開発

MLIRとE-Graphを用いたPython式の玩具コンパイラ

2025-03-21
MLIRとE-Graphを用いたPython式の玩具コンパイラ

この記事では、MLIRとegglogライブラリを用いて構築されたPython式の玩具コンパイラについて詳述します。このコンパイラは、E-Graphを用いて等式飽和と項書き換えを行い、Python式を最適化してからMLIRにコンパイルします。式モデル、組み込み関数、Term IR、変換レイヤー、最適化レイヤー、MLIRコード生成、LLVMバックエンドなどのモジュールを備えています。Python関数を記号的に解釈し、IR表現に変換し、最適化ルールを適用し、最終的に効率的なMLIRコードを生成することで、LLVMを通じてコンパイルと実行を実現します。

開発

Torch Lens Maker:PyTorchによる微分可能な幾何光学ライブラリ

2025-03-21

Torch Lens Makerは、PyTorchをベースとした微分可能な幾何光学のためのオープンソースPythonライブラリです。野心的な目標は、現代的なコンピューティングと最先端の数値最適化を用いて、現実世界の複雑な光学系(レンズ、ミラーなど)を設計することです。コアは微分可能な幾何光学:PyTorchで実装された3D衝突検出と光学法則です。光学要素をニューラルネットワークの層として巧みに扱い、PyTorchの自動微分と最適化アルゴリズムを活用することで、レンズ設計はニューラルネットワークのトレーニングと驚くほど似通ったものになり、現代の機械学習ツールの力を解き放ちます。このプロジェクトはまだ初期段階にあり、開発継続のための資金提供を求めています。

1 2 132 133 134 136 138 139 140 214 215