Category: 開発

Somo:Linux向けのユーザーフレンドリーなnetstat代替ツール

2025-06-09
Somo:Linux向けのユーザーフレンドリーなnetstat代替ツール

netstatの複雑さにうんざりしていませんか?Somoは、Linux向けの、よりユーザーフレンドリーなソケットとポートの監視ツールです。情報を分かりやすい表形式で表示し、様々なフィルタオプション(プロトコル、ポート、IPアドレス、プログラム名など)をサポートし、インタラクティブなプロセスキリング機能を提供します。インストールは簡単で、Debian向けの.debパッケージとCargoによるインストールに対応しています。sudoを使用すれば、すべてのプロセスとポートを確認できます。つまり、SomoはLinuxでのポート監視をよりシンプル、効率的、そしてユーザーフレンドリーにします。

開発

Apple WWDC2025:未来のアプリ開発のための開発者ツールを強化

2025-06-09
Apple WWDC2025:未来のアプリ開発のための開発者ツールを強化

AppleのWWDC2025では、開発者がよりスマートで美しく、魅力的なアプリを構築できるよう、大幅なアップデートが発表されました。Xcode 26はChatGPTなどの大規模言語モデルを統合し、コーディング効率を向上させます。新しいFoundation Modelsフレームワークにより、開発者はデバイス上のAIを活用して、オフラインでプライバシーを保護するインテリジェントアプリを構築できます。洗練された「Liquid Glass」デザイン言語により、新鮮なビジュアル体験が提供されます。その他にも、ゲーム開発ツールの強化、子どものオンライン安全機能の改善、App Storeのアクセシビリティ向上など、多くの改善が加えられました。これらの強力なツールとリソースは、開発者が次世代の優れたアプリを作成するために設計されています。

Go言語:AIエージェント構築に最適な理由

2025-06-09

この記事では、Go言語がAIエージェント構築に適している理由を探ります。著者は、AIエージェントの台頭により、高並列処理、長時間実行、リソース集約型のプログラムへの需要が高まっていると述べています。Go言語は、軽量なゴルーチン、効率的な並列処理モデル、堅牢な標準ライブラリ、便利なキャンセルメカニズムなどの特性により、こうしたアプリケーションの構築に最適です。この記事では、Go言語とPython、Node.jsなどの他の言語を比較し、Go言語が並列処理、メモリ管理、エラー処理において優れている点を強調しています。コード例では、Go言語がエージェント間の通信と状態管理をどのようにエレガントに処理するかを示しています。機械学習ライブラリのサポートが比較的少ない点を認めつつも、この記事は、Go言語が高性能でスケーラブルなAIエージェントを構築するための理想的な選択肢であると強く主張しています。

開発

Glowstick: Rustにおける安全で効率的なテンソル演算

2025-06-09
Glowstick: Rustにおける安全で効率的なテンソル演算

Glowstickは、型システム内でテンソルの形状を追跡することで、Rustでのテンソル操作を安全、簡単、そして楽しくするRustクレートです。行列積、畳み込み、リシェイプ、スクイーズ、フラット化など、さまざまなテンソル演算を提供します。CandleやBurnなどの一般的なRust機械学習フレームワークとシームレスに統合することで、GlowstickはRust開発者に強力なテンソル計算機能を提供し、深層学習モデルの開発を大幅に簡素化します。なお、このプロジェクトは現在1.0より前のバージョンであり、破壊的な変更が行われる可能性があることに注意してください。

開発 テンソル

OAuth 2.0 の現代的なガイド:仕様を超えて

2025-06-09
OAuth 2.0 の現代的なガイド:仕様を超えて

これは単なる OAuth 2.0 ガイドではありません。100万回以上ダウンロードされている OAuth サーバー FusionAuth を構築した経験に基づいて、現実世界の OAuth の使用方法を深く掘り下げています。このガイドでは、ローカルログイン、サードパーティログイン、エンタープライズログイン、サービス認証、マシン間認証など、8 つの一般的な OAuth モードを詳細に説明し、各モードのワークフローとセキュリティに関する考慮事項を解説します。また、承認コード付与、PKCE、JWT、トークン更新、ユーザー情報の取得についても掘り下げ、実践的な実装アドバイスを提供します。

開発

2025年ゲーデル賞、明示的2元抽出器に関する画期的論文に授与

2025-06-09
2025年ゲーデル賞、明示的2元抽出器に関する画期的論文に授与

2025年ゲーデル賞は、Eshan ChattopadhyayとDavid Zuckermanの画期的な論文「明示的2元抽出器とレジリエント関数」に対して授与されました。この論文はSTOC 2016とAnnals of Math 2019に掲載され、ラムゼーグラフの構成を大幅に改善し、従来の方法をはるかに超える指数関数的な限界を達成しました。この成果は、脱ランダム化への影響と、ラムゼー理論への驚くべき応用から高く評価されており、擬似ランダム性と組み合わせ論における二重の意味に関する議論を引き起こしています。

EU OS:公共部門向けの共通Linuxディストリビューション(ただしEUプロジェクトではない)

2025-06-09
EU OS:公共部門向けの共通Linuxディストリビューション(ただしEUプロジェクトではない)

EU OSは、欧州連合の公式プロジェクトではありませんが、そうあるべきです。FedoraベースのLinuxディストリビューションで、KDE Plasmaとブータブルコンテナを使用し、公共部門組織向けに設計されています。その価値は、レイヤー化された修正(国家、地域、組織固有)のオプションを備えた共通の基本OSを提供することにあります。これにより、一貫性のあるデスクトップ環境、ユーザー管理、データ処理が保証されます。EU OSは、HackDaysやendof10.orgとも提携し、Linuxの採用を促進しています。

開発 公共部門

ソフトウェアは約束について:個人図書館科学におけるケーススタディ

2025-06-09
ソフトウェアは約束について:個人図書館科学におけるケーススタディ

この記事では、ソフトウェア開発における「約束」の重要な役割を探ります。著者は、開発者がユーザーに対してする約束は、製品仕様書のように、明確でテスト可能であるべきだと主張しています。個人図書館ソフトウェア「Your Commonbase」をケーススタディとして使用し、ソフトウェアの機能(保存、検索、合成、共有)を具体的な、達成可能な約束に分解し、リソースに基づいて開発の優先順位を付ける方法を示しています。著者は、明確な約束が開発者、ユーザー、そしてソフトウェア自体の整合性を保護することを強調しています。

開発 約束

Go言語による高性能ネットワーク負荷テストツールtcpulse

2025-06-09
Go言語による高性能ネットワーク負荷テストツールtcpulse

tcpulseは、Go言語で記述された高性能なTCP/UDP接続負荷生成およびパフォーマンス測定ツールです。サーバーモードとクライアントモードで動作し、負荷テスト、接続確立パフォーマンスの測定、持続的な接続パフォーマンスのテスト、プロトコルの比較、インフラストラクチャの検証などが可能です。クライアントモードでは、永続接続と一時接続の2つの接続パターンを提供し、さまざまなアプリケーションシナリオをシミュレートします。tcpulseは、リアルタイムメトリクス(遅延パーセンタイル、スループット、接続数)、レート制限、複数ターゲットのサポート、TCPとUDPプロトコルのサポート、プラットフォームの最適化などを提供します。結果はJSON Lines形式で出力され、監視および分析ツールとの統合が容易になります。

Zigのネイティブx86バックエンド、コンパイル速度が70%向上

2025-06-09

Zigコンパイラチームは、ネイティブx86バックエンドが本番環境で使用できるようになったと発表しました。これにより、コンパイル速度が大幅に向上します。LLVMバックエンドと比較して、Zigバックエンドはコンパイル速度が70%向上し、大規模プロジェクトではコンパイル時間が75秒から20秒に短縮されます。これは、コード生成の最適化と並列処理によるものです。今後の計画にはaarch64アーキテクチャのサポートが含まれます。今回のリリースには、デバッグを改善するための改良されたUBSanエラーメッセージと、FreeBSDおよびNetBSDに対するクロスコンパイルのサポート強化も含まれています。

OpenBSDのディスクI/Oパフォーマンス:スレッド数が多い方が良いとは限らない

2025-06-08
OpenBSDのディスクI/Oパフォーマンス:スレッド数が多い方が良いとは限らない

この記事では、fio(1)を使用して、1TB Crucial P3 Plus SSDのOpenBSD 7.7上でのランダムリード/ライトとレイテンシのパフォーマンスをベンチマークしています。結果は、OpenBSDのI/Oは良好にスケールするものの、最適なポイント(6~8個の同時ジョブ)を超えると、競合とCPUオーバーヘッドのためにパフォーマンスが低下することを示しています。Linuxと比較して、OpenBSDはNVMe書き込みにおける同時実行に対してより敏感です。また、過剰なスレッドがデスクトップの応答性に大きく影響することも示されています。今後のテストでは、USBストレージにも拡張される予定です。

3日でiOSアプリ開発完了:AI支援による開発の旅

2025-06-08
3日でiOSアプリ開発完了:AI支援による開発の旅

プログラミング経験の少ない製品およびGTMのエキスパートである著者は、AIの支援を受けてわずか3日で機能するiOSの写真管理アプリを開発しました。Geminiを活用し、AppleのCLGeocoderの中国における制限などの課題を克服し、AIによるデバッグと学習でコーディングの困難を乗り越えました。サブスクリプションモデルではなく、一度限りの購入を想定したこのアプリは、現在のiOSアプリのマーケティング手法に対する批判を反映しています。

(mgx.me)
開発

Androidのイーサネットアダプターの謎:愚かな正規表現

2025-06-08
Androidのイーサネットアダプターの謎:愚かな正規表現

この記事では、著者がAndroidスマートフォンでUSBイーサネットアダプターを使用しようとして失敗した経験について詳しく説明しています。調査の結果、問題はドライバの不足ではなく、Androidの`EthernetTracker`サービスがイーサネットインターフェース名の照合に正規表現`eth\d`を使用していることにあることが判明しました。CDCイーサネットアダプターは`usbX`という名前のインターフェースを作成するため、認識されません。著者は、カーネル設定の取得やAndroidソースコードの分析など、デバッグプロセスを綿密に文書化しています。根本原因は?シンプルで制限的な正規表現です。この記事は、優れた問題解決能力を示していますが、Androidのデザインにおける潜在的な欠陥も浮き彫りにしています。

futa:機能的に役に立たないターミナルアシスタント

2025-06-08
futa:機能的に役に立たないターミナルアシスタント

qwen3をベースとしたfutaは、非常にリソースを消費する方法で単純なコマンドを実行するターミナルアシスタントです。ユーザーは何でも入力でき、futaは巨大言語モデルを使って解釈し、適切と判断したコマンドを実行します。Dockerコンテナの起動やgitコマンドの実行などが含まれる可能性があります。futaは過剰な自信、冗長な説明、そして極端に低い生産性を特徴としており、ファイルシステムを破損する可能性さえあります。開発者はfutaが機能的に役に立たないことを明確に表明しており、いかなる損害についても責任を負いません。要するに、futaはAIの奇妙な特性を試すためのエンターテイメントツールであり、本番環境には適していません。

開発

Compiler Explorer:年間9200万回のコンパイルを支える技術

2025-06-08

オンラインコンパイラ探索サイトであるCompiler Explorerは、年間9200万回ものコンパイルリクエストを処理しています。この記事では、Monacoエディタによるフロントエンド、CloudFrontとロードバランサー、nsjailによる安全なサンドボックス化されたコンパイルプロセスなど、その裏側にあるアーキテクチャを詳しく解説しています。膨大なコンパイルリクエストに対応するため、AWSの自動スケーリングを活用し、約4TBの3000以上のコンパイラバージョンを保有し、81種類のプログラミング言語をサポートしています。セキュリティ、バージョン管理、マルチアーキテクチャサポート(Windows、ARM、GPU)、コスト管理における課題と解決策についても詳述されており、週末のプロジェクトから数千人の開発者を支える強力なプラットフォームへと進化した経緯が示されています。

開発

ResticのRESTサーバーをNginxで置き換えてバックアップする

2025-06-08

著者は、ResticのRESTサーバーバックアップソリューションを巧みにNginxで置き換え、追記専用と管理者の2つのNginx仮想ホストを作成しました。追記専用ホストはデータの削除を防ぎ、管理者ホストは管理操作を可能にします。設定ではNginxのDAVとLUAモジュールを使用し、HTTPメソッドとレスポンスコードを処理するためのいくつかのテクニックと、正規表現を使用してautoindexのJSON出力を変更します。多少ハック的な方法ではありますが、効果的で効率的です。著者もセキュリティ上の懸念点を議論し、将来の設定簡素化計画について述べています。

開発

AI搭載:現実を超越するプリンター

2025-06-08
AI搭載:現実を超越するプリンター

普通のIT部門が魔法のプリンターに出くわす:並行宇宙からの文書を印刷し、非ユークリッド空間のトレイを操作し、数学の法則さえ書き換えることができる!この記事は、著者とAIモデルClaudeとの会話を語り、LPRプリントシステムから始まり、スターゲート、アトランティス防衛システム、多次元兵器庫を備えた超現実的なプリンターの構築で終わる。このプロセス全体は、AIの強力な創造的なアイデア生成能力と、AIを導く著者の巧妙な方法を示している。結果として得られたコードは、風変わりなアイデアで満ち溢れており、非常にユーモラスである。

binfmtc: Cコードをスクリプトとして実行

2025-06-08

シェルスクリプトのためにMakefileを書くのにうんざりしていませんか?binfmtcを使うと、C言語で直接スクリプトを書くことができます!Linuxのbinfmt_miscメカニズムを利用して、スクリプト実行時にCコードを自動的にコンパイルして実行します。Cスクリプトに特別なコメントを追加し、実行可能にすれば、C言語の効率性とシェルスクリプトの利便性を両立できます。現在、GCC、G77、GPCをサポートしており、GNAT、Gobjc、Monoなどのさらなるコンパイラのサポートを計画しています。

開発

エイジェントコーディング:過剰な期待か現実か?

2025-06-08
エイジェントコーディング:過剰な期待か現実か?

この記事では、著者のLLM経験を振り返り、「エイジェントコーディング」を取り巻く過剰な期待について批判的に考察しています。LLMは利用可能なコードを生成できますが、HTTP/2サーバーのような完全なソフトウェアプロジェクトの構築には、綿密なマイクロマネジメントとアルゴリズムによる監視が必要です。LLMは頻繁に停止し、人間の介入とコンテキストの調整を必要とします。著者は、現在の「エイジェントコーディング」ツールは過大評価されており、その成功は経験豊富なエンジニアの努力に依存し、LLMの自律的な能力ではないと主張しています。LLMのコンテキスト管理の問題に対処することでのみ、真の可能性が解き放たれるでしょう。

ガウス求積法:強力な数値積分技法

2025-06-08

この記事では、ガウス求積法、特にチェビシェフ・ガウス求積法という強力な数値積分技法について解説します。これは、特定の節点で関数を評価し、重み付けされた値を合計することで、定積分を近似する手法です。従来の方法と比較して、少ない節点数で高い精度を実現し、特に[-1,1]区間での積分に有効です。この記事では、一般的な区間と関数形式をチェビシェフ・ガウス求積法に適合させる方法を説明し、例を用いてその応用と利点を示します。この技法は、海面上昇率の推定にも応用されています。

CloudflareのAI生成OAuthライブラリ:諸刃の剣

2025-06-08
CloudflareのAI生成OAuthライブラリ:諸刃の剣

Cloudflareは、AnthropicのClaude LLMを使ってほぼ完全に新しいOAuthプロバイダーライブラリを作成しました。コードはよく構造化されており、テストも合格していますが、著者は、過度に寛容なCORS設定、標準的なセキュリティヘッダーの不足、OAuth仕様の誤った実装など、いくつかのセキュリティ問題を発見しました。エンジニアによるClaudeの出力のレビューにもかかわらず、重大な脆弱性が残っており、厳格な審査下でもAI生成コードのリスクが強調されています。これは、AI支援プログラミングの信頼性と安全性、およびセキュリティクリティカルシステムにおける人間の専門知識の重要な役割に関する疑問を提起しています。

開発

EmacsからObsidianへ:開発者の個人的な知識管理の探求

2025-06-08

ある開発者が、EmacsからObsidianへの移行経験を共有します。Emacsは強力ですが、メンテナンスコストが高いため、より使いやすいObsidianに切り替え、PARAメソッドを使ってノート、タスク、リソースを管理するようになりました。著者は、AI時代において、個人的な知識ベースを維持することが不可欠であり、独立した思考を促し、AIツールへの過剰な依存を避けることができると主張しています。ObsidianはAIの付属物ではなく、独立した思考のためのツールとなっています。

Fray:Java向け並列処理テストツール

2025-06-08
Fray:Java向け並列処理テストツール

Frayは、アサーション違反、ランタイム例外、デッドロックとして現れる、見つけにくい競合状態の特定とデバッグを支援するために設計された、Java向けの強力な並列処理テストツールです。確率的並列処理テストや部分順序サンプリングなどの高度な手法を活用することで、Frayは制御された並列処理テストと、特定のスレッドインターリービングのデバッグのための決定論的リプレイを提供します。JUnit 5(アノテーションを使用)など、既存のテストフレームワークに簡単に統合でき、効率的な設定のためのGradleとMavenのプラグインも提供しています。コントリビューションは大歓迎です!

Claude Code:セキュリティ優先だが、そのコストは?

2025-06-08

この記事は、AnthropicのコーディングアシスタントであるClaude Codeの内部動作を掘り下げています。mitmproxyを使用してClaude CodeとAnthropic API間の通信を傍受することで、著者は、Cursorなどの他のツールと比べて、Claude Codeが遅く、高価であることを明らかにしています。これは、厳格なセキュリティポリシーと多層的なツール呼び出しによるものです。Claude Codeは、bashコマンドのセキュリティを綿密に評価し、複数のツール(View、GlobTool、Bashなど)を使用してユーザーリクエストを処理するため、追加のLLM呼び出しとコスト増加につながります。このアプローチはセキュリティを優先しますが、効率性を犠牲にしています。他のツールと比較して、Claude Codeは優れたUXを備えていますが、コストと速度の最適化が必要です。

Androidアプリ保守の悪夢:Google Playストアのアプリ数が激減した理由

2025-06-08
Androidアプリ保守の悪夢:Google Playストアのアプリ数が激減した理由

Google Play Music + Podcast の代替アプリである MusicSync を 5 年間保守してきた趣味の Android 開発者が、Android アプリ保守の苦労を共有し、Google Play ストア アプリ数が 47% 減少した理由を説明しています。この記事は、バックエンド開発と比較して、Java/Kotlin の互換性問題、Google による頻繁なライブラリ更新(例:ExoPlayer、Google Auth)による破壊的変更、古い Android バージョンへのサポートの終了、さまざまなコンポーネント(Android Studio、Gradle、SDK)の強制アップグレード、予測不可能な UI デザインガイドラインの変更、Picasso、Glide、OkHttp、EventBus などの重要なサードパーティライブラリの非推奨化または保守不足など、大きな課題を強調しています。Android バージョンと API レベルのデュアルバージョン管理スキームも混乱を招いています。結論として、Android アプリの保守コストはバックエンド開発と比較して高くなることが強調されています。

LLM:便利なコーディングアシスタントか、創造性を殺すものか?

2025-06-08

この記事は、LLMへの過度な依存に対する懸念を表しています。コーディングの支援や効率向上に役立つ可能性を認めつつも、著者は、LLMへの過度な依存が、特に初心者にとって、プログラマーの独立した思考力や問題解決能力を弱め、プログラミングの基礎知識の理解やプログラミング的思考の発達を阻害すると主張しています。また、LLMによって生成されたコードの質は一貫性に欠け、エラーが発生しやすく、創造性や芸術性に欠けているため、コードの質の低下や、学術上の不正行為につながる可能性があると指摘しています。著者は、特に教育現場において、LLMの使用を規制し、制限する必要があると訴えています。これは、学生の学習や創造性への悪影響を避けるためです。

開発

DOSBox-Xでのハードディスクイメージの作成

2025-06-08

このガイドは、DOSBox-Xでハードディスクイメージを作成する方法を説明しています。メニューまたはコマンドラインユーティリティIMGMAKEを使用して、さまざまなサイズのイメージを作成でき、FAT12、FAT16、FAT32ファイルシステムをサポートしています。Windows 98の組み込みドライバーは128GBを超えるディスクには制限があることに注意してください。より大きなイメージにはサードパーティ製のドライバーが必要になる場合があります。このガイドでは、プリセットテンプレートとカスタムサイズを使用した例を示し、Windows 98以降で32GBを超えるFAT32パーティションを作成する際に発生する制限についても説明しています。

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

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

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

開発

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

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

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

開発

「雰囲気コーディング」を超えて:Claudeを使った実コードのデプロイに関する実践ガイド

2025-06-07

この記事では、著者のチームがClaudeを使ってソフトウェア開発の効率を向上させた経験について詳しく説明しています。AIによる「雰囲気コーディング」に頼るだけの危険性を批判し、堅牢な開発プラクティスを重視する必要があることを強調しています。3つのAI支援開発モードが提案されています:AIによる最初のドラフト作成、ペアプログラミング、およびバリデーションです。この記事では、大規模プロジェクトにおけるCLAUDE.mdドキュメントとアンカーコメントの重要な役割を強調し、テスト作成の極めて重要な重要性を強調しています。これは、AIが決して扱うべきではないタスクです。著者は、テストは人間の意図を表し、AIによって導入されたエラーを防ぐために不可欠であると強調しています。さらに、トークンの管理、新しいClaudeセッション、適切なチーム文化の育成などについても議論し、実践的なアドバイスを提供しています。

開発
1 2 64 65 66 68 70 71 72 214 215