Category: 開発

OpenTelemetryのパフォーマンスオーバーヘッド:Goアプリケーションのベンチマーク

2025-06-16
OpenTelemetryのパフォーマンスオーバーヘッド:Goアプリケーションのベンチマーク

この記事では、シンプルなGo HTTPサーバーを使用して、高負荷環境におけるOpenTelemetryのパフォーマンスオーバーヘッドをベンチマークしています。結果は、OpenTelemetryを有効にすると、CPU使用率が約35%増加し、メモリ使用率はわずかに増加し、ネットワークトラフィックが大幅に増加することを示しています。著者は、OpenTelemetry SDKの使用とeBPFベースの監視を比較し、後者は、特にメトリクスのみを収集する場合、高負荷シナリオではるかに軽量であることを発見しました。結論として、OpenTelemetryのオーバーヘッドは許容できないものではありませんが、適切な監視方法を選択することが重要であり、特定のニーズに基づいてパフォーマンスと可観測性のトレードオフを行う必要があります。

開発

arXivLabs:コミュニティとの協力による実験プロジェクト

2025-06-16
arXivLabs:コミュニティとの協力による実験プロジェクト

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

開発

dk coder:プログラミング初心者でも安全なアプリを簡単に構築

2025-06-16
dk coder:プログラミング初心者でも安全なアプリを簡単に構築

dk coderは、プログラミング経験が少ないユーザーでも、大規模で安全性を重視したアプリケーションを構築できるように設計されたスクリプトランナーとクロスコンパイラです。使いやすさ、移植性、IDEサポートにより、「README-itis」の問題、つまり長いREADMEがユーザーのインストールを妨げ、ユーザーを失ってしまう問題に対処します。クイックウォークスルーガイドでは、簡単な例を使ってdkスクリプトを紹介します。開発者は、サポートされているWindows、macOS、Linuxのバージョンについてはdkランタイムを参照する必要があります。スクリプト作成については、プロジェクトの構成にはdk Partiesを参照し、dkライブラリとdkマクロのマニュアルを常に参照してください。OCamlに精通しているユーザーは、「Coming From OCaml」ガイドを参照してください。

刑務所からTursoのソフトウェアエンジニアへ:感動の物語

2025-06-16
刑務所からTursoのソフトウェアエンジニアへ:感動の物語

麻薬関連の罪で服役中のプログラマーが、Tursoでソフトウェアエンジニアの職を得ました。刑務所の限られたインターネットアクセスを利用して、プログラミングに専念し、オープンソースプロジェクトに貢献、SQLiteを書き直すProject Limboでの仕事でTursoを感銘させました。彼の物語は、粘り強さ、セカンドチャンス、そしてオープンソースの力を浮き彫りにしています。

開発

SSH経由でAIとチャット:Docker化されたAIチャットサーバー

2025-06-16
SSH経由でAIとチャット:Docker化されたAIチャットサーバー

このプロジェクトは、SSH経由でアクセス可能なDocker化されたAIチャットサーバーを提供します。複数のAIモデルをサポートし、環境設定、Docker Composeファイル、依存関係のインストールなど、詳細なデプロイ手順を提供します。ユーザーは、モデル、レート制限、ブラックリスト、ホワイトリストなどのパラメーターをカスタマイズできます。このプロジェクトには、さまざまなオペレーティングシステム(macOS、Linux、Windows)のデプロイに関する提案も含まれており、V.PSによるサーバーのスポンサーシップに感謝しています。

開発

Socket.io での非同期関数呼び出し:socket-callの紹介

2025-06-16
Socket.io での非同期関数呼び出し:socket-callの紹介

socket-call は Socket.io 上に構築された小さなライブラリで、通常の非同期 TypeScript 関数のようにイベントを呼び出すことができます。Socket.io の使用を簡素化し、よりクリーンで直感的なプログラミング体験を提供します。コード例は、サーバー側とクライアント側の両方の実装を示し、ログイン機能とサーバーからクライアントへのメッセージ送信を示しています。

開発

Kubernetes Slackが新たなプラットフォームに移行へ

2025-06-16

KubernetesのSlackワークスペースは6月20日に無料プランにダウングレードされ、メッセージ履歴は90日間に制限され、いくつかのアプリとワークフローが使用できなくなります。これは、ワークスペースの規模がSlackの無料プランの能力を超えているためです。Kubernetesコミュニティは、GitHubグループメンバーシップ同期などの機能強化と統合を提供するDiscordへの移行を検討しています。最終的なプラットフォームはステアリングコミッティが決定します。

開発

Zeekstd: Rustによるシーク可能なZstandard実装

2025-06-16
Zeekstd: Rustによるシーク可能なZstandard実装

Zeekstdは、シーク可能なZstandardフォーマットを実装したRustライブラリです。圧縮データを独立したフレームに分割することで、効率的なランダムアクセスを実現します。元の仕様と完全に互換性があり、Zeekstdは改良を提供し、ファイル全体または特定のフレームの解凍を可能にするエンコーダとデコーダの機能を含んでいます。コマンドラインツールも提供されています。

Linuxカーネル単語頻度分析ツール

2025-06-16

このウェブサイトは強力な検索エンジンを使用して、Linuxカーネルソースコード内の単語、名前、関数の頻度を分析します。ユーザーはキーワード(ワイルドカードと正規表現に対応)を入力して結果を確認できます。インタラクティブなグラフ(JavaScriptを有効にする必要があります)も提供され、分析結果を視覚的に表示します。Linuxカーネルの研究やコード構造の理解に役立ちます。

APLでLinkedInのクイーンズゲームを解く:11行のコード

2025-06-16

Peter Vernigorov氏は、強力で簡潔なプログラミング言語であるAPLを使用して、LinkedInのシンプルな「クイーンズ」ゲームに取り組みました。この記事では、幅優先探索による解決策を詳しく説明し、データ構造、アルゴリズム、`solve`、`place`、`avl`、`fill`、`fills`などの主要関数の実装について解説しています。完全な解決策は11行のコードにエレガントに収まり、APLの表現力と効率性を示しています。著者は、読者にAPLの可能性を探求することを推奨しています。

開発

arXivLabs:コミュニティとの協働による実験プロジェクト

2025-06-16
arXivLabs:コミュニティとの協働による実験プロジェクト

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

開発

Android APIに隠された隠れた宝石とユーモア

2025-06-16
Android APIに隠された隠れた宝石とユーモア

この記事では、公開されているAndroid APIに隠されたイースターエッグとユーモラスな要素を紹介します。例としては、UIがツールによってテストされているかどうかを検出する`isUserAMonkey()`、かつてGoat Simulatorゲームの検出に使用されていた`isUserAGoat()`、ユーザーの楽しみを制限するためのデバイスポリシーである`DISALLOW_FUN`などがあります。その他奇妙な追加としては、YouTubeでEuropeの「The Final Countdown」MVを起動する`Chronometer.isTheFinalCountdown()`、`SENSOR_TRICORDER`や`GRAVITY_DEATH_STAR_I`などの定数などがあります。ビューを点滅させるための未ドキュメントの``タグもあります。これらの楽しい追加は、開発者のエクスペリエンスを明るくし、Androidチームのユーモアのセンスを示しています。

開発

Lisp-Stat:Common Lispベースの統計計算システム

2025-06-16
Lisp-Stat:Common Lispベースの統計計算システム

Lisp-StatはRと概念的に似ており、そのエコシステムのほとんどの人にとって馴染み深いものです。探索的データ分析と最前線のプロダクションデプロイメントの両方に適しています。Common Lispは現在、Googleのいくつかの高可用性、高ボリュームトランザクションシステムで使用されています。Common Lispを選択した理由は、分析とAIに適した探索的環境、エンタープライズプロダクション環境での十分な堅牢性、ソースコードの制限のないライセンスでの利用可能性という要件をすべて満たしていたためです。著者は、R言語の考案者の一人であるRoss Ihakaの論文を引用し、Common LispがRやPythonの欠点、特に機械コードへのコンパイルにおける欠点を克服し、統計計算システムのより優れた基盤となると主張しています。

開発 統計計算

AIコーディングエージェント:便利なアシスタントから不可欠なパートナーへ

2025-06-16

著者は、自律的なAIコーディングエージェントによるワークフローの変革について述べています。当初は興味深いものとして見られていたこれらのエージェントは、今では不可欠なものとなり、ソフトウェアの開発方法を劇的に変えています。著者は、バグ修正からコード生成まで、ClaudeやCodexなどのツールを使用してさまざまなタスクを完了する方法を詳細に説明しており、これにより生産性が大幅に向上しています。局所最適解に陥る可能性など、いくつかの限界を認めつつも、著者はAIコーディングエージェントがソフトウェア開発における新しい時代を象徴しており、開発者を置き換えるのではなく、能力を高めていると考えています。

開発

Twin:テキストモードウィンドウ環境

2025-06-15
Twin:テキストモードウィンドウ環境

Twinは、マウス、ウィンドウマネージャー、ターミナルエミュレーター、ネットワーククライアント、およびオンザフライでモードディスプレイをアタッチ/デタッチする機能をサポートするテキストベースのウィンドウ環境です。プレーンテキストターミナル、X11、それ自体など、さまざまなディスプレイタイプをサポートしています。現在、複数のアーキテクチャでLinux、macOS、FreeBSDでテストされています。GPLおよびLGPLライセンスのこのオープンソースプロジェクトは、包括的なチュートリアルと開発者向けドキュメントを提供しており、GitHubで入手できます。

RPython GCのオブジェクト割り当て速度はどのくらい速いのか?

2025-06-15

この記事では、小さなRPythonベンチマークプログラムを使用して、RPythonガベージコレクタ(GC)のオブジェクト割り当て速度を評価します。結果は、驚くほど高速な割り当て速度を示しており、34GB/秒を超え、Boehm GCを大幅に上回っています。生成されたマシンコードとパフォーマンスカウンタの分析により、RPython GCの高速化は、効率的なバンプポインタ機構と最小限のGCオーバーヘッドによるものであることが明らかになりました。PyPyのJITを使用した通常のPythonコードでも、17GB/秒の割り当て速度に達します。

開発

Seastar:高速で拡張可能なマルチリンガルビルドシステム

2025-06-15
Seastar:高速で拡張可能なマルチリンガルビルドシステム

Seastarは、現在CとC++をサポートし、将来的にはRustとZigにも対応予定の、高速で拡張可能なビルドシステムです。プログラムの作成、プロトタイピング、反復処理を容易にすることを目的としており、RustのCargoのような使いやすさを目指しながら、複数の言語間のシームレスなコンパイルを提供します。Seastarは簡単にビルドおよび実行でき、CargoとRustをインストールし、リポジトリをクローンして、提供されたコマンドを実行するだけです。現在初期段階であるため、本番環境での使用はお勧めしません。

プログラミングの喜びを再び!18個の玩具プログラムプロジェクト

2025-06-15

著者は、実践を通して学ぶことを提唱し、創造こそが理解への最良の道だと考えています。この記事では、難易度と時間のかかり具合が異なる18個の玩具プログラムプロジェクトを紹介しています。OSカーネルやゲームエミュレータから、物理エンジン、コンパイラ、GUIツールキットまで、幅広いプロジェクトが含まれています。これらのプロジェクトは、プログラミングの喜びを蘇らせ、技術スキルを向上させることを目的としています。難易度レベルも示されており、あらゆるレベルのプログラマにとってアクセスしやすいものとなっています。さらに、役立つリソースへのリンクも掲載されています。

SumatraPDF開発者、16年ぶりにstd::functionを放棄、独自コールバック関数を作成

2025-06-15
SumatraPDF開発者、16年ぶりにstd::functionを放棄、独自コールバック関数を作成

SumatraPDFの開発者は、16年間のC++開発を経て、デバッグの困難さから`std::function`とラムダ式を放棄しました。コンパイラが自動生成するラムダ関数の名前が分かりにくく、クラッシュレポートの解析が困難だったためです。そこで、よりシンプルで分かりやすいカスタムコールバック関数`Func0`と`Func1`を作成しました。`std::function`ほど機能は豊富ではありませんが、メモリ使用量とコンパイル速度において大きな利点があり、デバッグも容易です。この記事では`Func0`と`Func1`の設計と実装の詳細、そしてこのアプローチがSumatraPDFに適している理由について説明します。

SQLiteの日付と時刻関数の拡張:より強力な日付時刻操作

2025-06-15

SQLiteの日付と時刻関数が拡張され、より豊富な機能が提供されるようになりました。このドキュメントでは、`date`、`time`、`datetime`、`julianday`、`strftime`の5つのコア関数と、`unixepoch`や`localtime`などの様々な日時文字列形式と修飾子について詳しく説明し、より柔軟な日付時刻計算とフォーマットを可能にします。さらに、ユーザーが提供したパッチについても紹介されており、`start of week`、`end of day`などの新しい修飾子や、便利な集計のための`group * by`機能が追加されています。

LLMがプログラミングの楽しさを奪った:プログラマーの告白

2025-06-15

著者は自身のプログラミング習慣の変化を振り返る。かつては新しい技術やアルゴリズムを学ぶことを重視する「旅のプログラマー」だったが、大規模言語モデル(LLM)に依存するようになり、「目的地型」のプログラマーへと変化した。LLMは効率性を高める一方で、学習や思考の時間を減らし、プログラミングの楽しさを損なっていると感じている。これはLLMへの過剰な依存や、実用的なプロジェクトへの傾倒など、複数の要因が絡んでいると考えられる。著者はLLMへの依存を減らし、プログラミングの喜びを取り戻したいと考えている。

開発

docker-composeのようにApple Containerを管理する

2025-06-15
docker-composeのようにApple Containerを管理する

`container-compose`というCLIツールを使うと、docker-compose風の設定ファイルでApple Containerを利用できます。現在アルファ版のため、バグや欠損機能がある可能性があります。Homebrewでインストール(`brew tap noghartt/container-compose https://github.com/noghartt/container-compose.git; brew install noghartt/container-compose/container-compose`)するか、リリースページからプリビルドバイナリをダウンロードできます。

開発

miniKanrenとWebAssemblyによるDatalogエンジン

2025-06-15

この記事では、SchemeとminiKanrenライブラリを使用して構築され、WebAssemblyを介してブラウザで実行されるDatalogエンジンについて詳しく説明します。このエンジンは、事実の表明、ルールの定義、不動点反復などのDatalogの中核機能を実装しています。著者は、データ構造、インデックス機構、ルールの適用方法といった実装の詳細を徹底的に説明し、グラフの走査の例を示しています。このプロジェクトは、効率的なデータベースシステムを構築するための関数型プログラミングと論理プログラミング技術の可能性を示しており、WebAssemblyを活用することでクロスプラットフォームでの実行を実現しています。

開発

2025年のサンドボックス化:開発者向けセキュリティ簡易ガイド

2025-06-15

この記事では、2025年におけるLinux、OpenBSD、FreeBSDなどのOSでのプログラムのサンドボックス化の容易さを調査しています。様々なサンドボックスツールのドキュメントの長さとサンプルコードの長さを分析することで、使いやすさとメンテナンスオーバーヘッドを評価します。OpenBSDのpledgeは簡潔なドキュメントと使いやすさから人気がありますが、Linuxのseccompははるかに複雑です。OpenSSHを事例研究として、サンドボックス技術の実用性とメンテナンスの難しさを分析し、開発者によるデータ提供を求めています。

1998年のGNOME:懐かしの過去

2025-06-15

この記事では、著者が1998年のRed Hat Linux 5.1に含まれていた初期のGNOMEデスクトップ環境をどのように体験したかを語っています。当時ベータ版だったGNOMEは、現在のものと比べて非常にシンプルでしたが、驚くほど高速に起動しました。著者は、基本的なファイルマネージャー、Electric Eyes画像ビューアー、gEdit 0.4.0、シンプルなゲームなど、利用可能なアプリケーションの詳細を説明し、最新のバージョンと比較しています。このノスタルジックな回顧は、初期のオープンソースコミュニティの努力と創意工夫を示しています。

コンピュータビジョンの基礎:10年の歳月

2025-06-15

10年以上の歳月をかけ、Torralba、Isola、Freemanの3人のコンピュータビジョン専門家が「コンピュータビジョンの基礎」を出版しました。本書は、コンピュータビジョン全体を網羅するのではなく、画像処理と機械学習の観点から基本的な概念に焦点を当てています。数多くの視覚化を用い、画像形成、学習の基礎、信号処理、ニューラルネットワークなどを段階的に解説し、生成モデルや表現学習といった最先端の分野にも触れています。厳密な構成と分かりやすい説明により、学部生、大学院生、そして専門家にとって最適な一冊となっています。

開発

Chromeの新しい`<permission>`要素:ウェブパーミッションへの宣言型アプローチ

2025-06-15
Chromeの新しい`<permission>`要素:ウェブパーミッションへの宣言型アプローチ

Chromeのパーミッションチームは、位置情報アクセスなどの強力な機能をウェブアプリが要求する方法を簡素化するために、新しい宣言型HTML ``要素を試行しています。従来の命令型メソッドは、パーミッションスパム、コンテキストの不足、パーミッションの取り消しの困難などの問題を抱えています。``要素は、より安全でユーザーフレンドリーなアプローチを提供し、開発者は宣言的にパーミッションを要求でき、ブラウザはユーザーインタラクションに基づいて要素のテキストを動的に更新し、明確なパーミッション管理を提供します。現在、Chrome 126でオリジン試行中で、標準化を目指しています。

最小限のPyTorch確率的拡散モデル:2Dデータセット実験

2025-06-15
最小限のPyTorch確率的拡散モデル:2Dデータセット実験

この記事では、2Dデータセットのための確率的拡散モデルの最小限のPyTorch実装について説明します。著者は、学習率、モデルサイズ、拡散プロセスの長さ、タイムステップエンコーディングなどのハイパーパラメータを様々な実験を通して探求しています。結果として、適切な学習率が非常に重要であり、より長い拡散プロセスにより完全なサンプルが生成され、モデル容量が主なボトルネックではないことが示されました。入力エンコーディングに正弦波埋め込みを使用することで、低次元領域における高周波数の関数の学習が容易になります。

Railsセキュリティ監査:改善点と今後の課題

2025-06-15

オープンソーステクノロジー向上基金(OSTIF)は、X41 D-SecがGitLabとSovereign Tech Agencyの支援を受けて実施したRuby on Railsのセキュリティ監査結果を発表しました。4ヶ月間の監査で7つのセキュリティ上の問題点が発見され、6つの改善策が提案されました。レポートでは、ここ数年のRailsのセキュリティ向上を強調しつつ、今後の課題についても示唆しています。OSTIFは10周年記念も祝っており、今後のミートアップへの参加を呼びかけています。

開発

ソフトウェア複雑性の3つの概念の比較

2025-06-15

この記事では、Rich Hickey、John Ousterhout、Zach Tellmanによるソフトウェア複雑性の3つの異なる定義を比較します。Hickeyはシンプルさを単一性と定義し、客観性を強調します。Ousterhoutは複雑さを、システムの理解と変更を困難にするものとして定義し、依存関係と不明瞭性を強調します。Tellmanは複雑さをすべての説明の合計と定義し、聴衆に依存する驚きを強調します。この記事では、それぞれの強みと弱みを比較検討し、現実世界の課題への適用を調べます。最終的に、Tellmanの説明に基づくアプローチは、開発者の主観的な経験を捉え、実践的な意思決定を導く上で優れていると主張しています。

1 2 59 60 61 63 65 66 67 214 215