Category: 開発

本番テスト:早期にバグを発見し、迅速に修正する

2025-05-20

この記事では、本番環境で直接実行される自動化テストである本番テストを推奨しています。これらのテストは、多くの場合1分ごとに実行され、回帰の問題を早期に警告することで、顧客に影響が及ぶ前に修正を行うことができます。著者は、利点、設計上の考慮事項(テストのシンプルさや誤検知の回避など)、実装の詳細について説明しています。本番テストは、システムの信頼性と可観測性を向上させる上で補完的な役割を果たすヘルスチェックと比較されています。重要なのは、小さなことから始め、重要な機能に焦点を当て、徐々にカバレッジを拡大することです。

Codex:GitHubアシスタントとして有望だが、改善が必要

2025-05-20
Codex:GitHubアシスタントとして有望だが、改善が必要

CodexはOpenAIのモデルを搭載したGitHub統合ツールで、自然言語でコード修正タスクを送信できます。複数のタスクを並列処理し、使い慣れたチャットインターフェースで進捗状況を追跡できる点が強みです。しかし、現在のCodexには、エラー処理の不備、大規模なリファクタリングタスクの困難さ、インターネットへのアクセス制限など、いくつかの欠点があります。著者は、モデルの改善と機能強化により、Codexが非常に効率的な開発アシスタントになる可能性があると確信していますが、現時点では、小規模で簡単なメンテナンスタスクに適しています。

開発

LLMエージェント:API開発における新しいDX標準

2025-05-20
LLMエージェント:API開発における新しいDX標準

LLM駆動のエージェントは、疲れを知らないジュニア開発者になりつつあります。APIドキュメントを読み、リクエストを発行し、エラーを解析し、成功するまで何度も試行します。しかし、APIの開発者体験(DX)は非常に重要です。ドキュメントが不十分であるか、エラーメッセージが不明瞭なためにエージェントが停止した場合、人間の開発者も同様の問題に遭遇する可能性があります。APIドキュメントの改善、明確で詳細なエラーメッセージの提供、一貫性の確保により、DXが大幅に向上し、エージェントの効率が向上します。これは人間の開発者にも恩恵をもたらし、エージェントを自動テストツールとして使用して、早期に問題を検出することができます。

開発

Jwno:Windows向け高度にカスタマイズ可能なタイル型ウィンドウマネージャー

2025-05-20

Jwnoは、Janetプログラミング言語で構築された、Windows 10/11向けの高度にカスタマイズ可能なタイル型ウィンドウマネージャーです。「魔法の括弧」機能により、ウィンドウの配置を正確に制御できます。開発中のため、一部のドキュメントはまだ完成していませんが、インストールガイド、インタラクティブチュートリアル、リファレンスインデックスなどが提供されています。EmacsやSonic Piなどのアプリケーションでの使用例がスクリーンショットで紹介されています。

開発

RepoRoulette:GitHubリポジトリのランダムサンプリングツール

2025-05-20
RepoRoulette:GitHubリポジトリのランダムサンプリングツール

RepoRouletteは、GitHubリポジトリをランダムにサンプリングするための強力なツールであり、IDサンプリング、時間サンプリング、BigQueryサンプリングの3つの異なる方法を提供します。IDサンプリングはGitHubのID空間から直接ランダムなIDを選択し、高速ですがヒット率が低くなります。時間サンプリングは、指定した期間内に更新されたリポジトリを選択し、スターの数、言語などの属性によるフィルタリングを可能にします。BigQueryサンプリングは、Google BigQueryのパブリックGitHubデータセットを利用し、強力な機能を提供しますが、GCPアカウントと課金が必要です。RepoRouletteは、学術研究、学習リソースの取得、データサイエンス、トレンド分析、セキュリティ研究などに適しています。

Astra:高速で信頼性の高いJSからEXEへのコンパイラ

2025-05-20
Astra:高速で信頼性の高いJSからEXEへのコンパイラ

Astraは、npmで利用可能な、高速で信頼性が高く、使いやすいJavaScriptから実行ファイル(.exe)へのコンパイラです。signale、inquirer、chalkを使用して構築された、視覚的に魅力的なCLIを備え、優れたユーザーエクスペリエンスを提供します。esbuildによって強化されており、信じられないほど高速なコンパイル速度を誇ります。ESMベースのアプリケーションのコンパイルをサポートし(Node.js SEAの制限に対する回避策あり)、すべての依存関係を含む単一の実行可能ファイルが生成されます。メタデータ(アイコン、名前、バージョンなど)をカスタマイズし、組み込みの圧縮機能を利用して、より小さな実行可能ファイルを作成できます。npm、yarn、pnpmを使用してグローバルにインストールするか、個々のプロジェクト用にローカルにインストールできます。

開発

llm-d:Kubernetesネイティブの高性能分散型LLM推論フレームワーク

2025-05-20

llm-dは、Kubernetesネイティブの高性能分散型大規模言語モデル(LLM)推論フレームワークであり、LLMを大規模に提供するための効率的な方法を提供します。ほとんどのモデルとハードウェアアクセラレータにおいて、最速の価値実現と競争力のある価格性能比を実現します。KVキャッシュ認識ルーティングや分散型サービスといった最先端の分散型推論最適化を活用し、Inference Gateway(IGW)のKubernetes運用ツールと共同設計・統合することで、llm-dは、モジュール化され、高性能でエンドツーエンドのサービスソリューションによって、生成AIの展開を運用可能にします。従来のスケーリング手法とは異なり、llm-dは、低速で不均一、高コストなリクエストといったLLM推論の固有の特徴に合わせて最適化されており、優れた性能を実現します。キャッシュ認識ルーティング、タスクの分散、適応型スケーリングにより、llm-dはスループットと効率性を大幅に向上させ、レイテンシを削減し、多様なサービス品質要件をサポートします。

開発

TI-84+ CE電卓でOCamlを実行する

2025-05-20

この記事では、著者がOCamlプログラムをTI-84+ CE電卓で実行できるようにコンパイルした過程を説明しています。通常JavaScriptへのコンパイルに使用されるJs_of_ocamlツールを巧みに利用し、Cコードを生成するように変更しました。TI-84+ CEのリソース制約のため、単純なガベージコレクタと、電卓のハードウェアとのやり取りに必要なC関数を独自に実装しました。最終的に、簡単なOCamlプログラムを実行することに成功し、この方法の有効性を示しました。

開発

JavaFactory:予測可能なAIによるJavaコード生成

2025-05-20
JavaFactory:予測可能なAIによるJavaコード生成

JavaFactoryは、大規模言語モデル(LLM)を利用して反復的なJavaコードを自動生成するツールです。従来のAIコードジェネレーターよりも予測可能で安定した結果を提供します。2つの主要なコンポーネント、「パターン定義」と「アノテーションベースの参照収集」に基づいています。「パターン定義」では、自然言語で作業単位(例:テスト生成、実装生成など)を定義し、「アノテーションベースの参照収集」では、アノテーションを使用して必要なクラスを明示的に指定します。定義されたパターンは、さまざまな種類のコード(実装、テスト、フィクスチャなど)を生成するために再利用できます。デモでは、20秒で400行のコードを生成し、すべてのテストに合格した例を示しています。反復的で構造化された環境(例:レイヤードアーキテクチャ)で作業する開発者にとって理想的で、dao-repositoryの生成などの反復的なタスクを自動化し、開発者はコアロジックに集中できます。

開発

Denoの未来:衰退ではなく、上昇中

2025-05-20
Denoの未来:衰退ではなく、上昇中

Deno、Deno Deploy、KV、Freshに関する最近の批判への回答として、Denoチームは、Denoの勢いは強く、ユーザー数は倍増していると主張しています。Deno Deployのリージョン削減については、コストとパフォーマンスの最適化であり、プラットフォームをフルスタックアプリケーションホスティングプラットフォームへと進化させていると説明しています。Deno KVはすべての状態管理の中心的なソリューションにはなりませんが、より強力な状態管理ツールが開発中です。Fresh 2も間もなくリリースされ、大幅な改善がもたらされます。Denoチームは、機能の同等性ではなく、一貫性のあるシステムに焦点を当て、完全なJavaScriptプラットフォームの構築に尽力し、JavaScriptエコシステムの改善と成長に積極的に参加していると強調しています。

開発

Word2Vecを用いたブログ検索エンジンのゼロからの構築

2025-05-20
Word2Vecを用いたブログ検索エンジンのゼロからの構築

著者らは、PythonとWord2Vecを用いてブログ検索エンジンをゼロから構築しました。投稿と検索クエリは300次元のベクトル空間に埋め込まれ、コサイン類似度を用いて結果をランク付けします。ウェブフレンドリーにするため、Word2Vecモデルはインデックスとベクトルに分割され、必要なデータのみをダウンロードするためにHTTP Rangeリクエストが使用され、ウェブの負荷を大幅に削減します。検索エンジンの精度を評価するための評価指標が設計されており、ノイズを低減するためのTF-IDFの使用など、将来的な改善点についても議論されています。

開発

事前計算による3Dレンダリングにおける透明度順序の革命

2025-05-20

従来の3Dレンダリングは、カメラの位置に基づいて半透明オブジェクトをソートするためにCPUに依存しており、非効率的なレンダリングにつながります。この記事では、半透明オブジェクトのレンダリング順序を事前計算する新しい手法を紹介します。面とカメラの位置の関係を分析することで、アルゴリズムはいくつかの面のレンダリング順序を事前に決定し、実行時のソート操作の数を削減します。時間計算量はO(n²)ですが、事前計算は一度だけ実行されるため、半透明オブジェクトがあまり移動しないシーンに適しています。アルゴリズムは、各面を2つの面に分割し、それらの空間関係を利用して描画順序を決定します。特定のケースでは、CPUソートに戻ります。この手法は、3Dレンダリングにおける透明度ソートの課題に大きく対処し、レンダリング効率を向上させます。

低コストで効果的な機械翻訳品質ベンチマーク

2025-05-20
低コストで効果的な機械翻訳品質ベンチマーク

開発者は、ペアワイズ評価とブラッドリーテリーモデルを用いて、より科学的に厳密な機械翻訳品質ベンチマークの構築を試みました。初期の試みは高コストのため失敗し、実験ごとに数百ドルから数千ドルが必要でした。そこで、古い評価システムとペアワイズ評価を組み合わせた妥協案のシステムが考案されました。文を反復処理し、複数の翻訳評価システムを使用してスコアを付け、統計分析を組み合わせることで、コストを大幅に削減し、良好なp値を持つ信頼性の高い結果を得ることができました。盲検化の厳格性をいくらか犠牲にしたものの、この新しいシステムは効率を大幅に向上させ、ドイツ語のテストを約6ドルで完了することができました。

開発 機械翻訳

Biff:カスタマイズ可能なClojureフルスタックWebフレームワーク

2025-05-20
Biff:カスタマイズ可能なClojureフルスタックWebフレームワーク

Biffは、エコシステム全体からライブラリとツールをキュレーションし、洗練された全体として構成する、新しいClojureフルスタックWebフレームワークです。不変データベースのサポート、Malliによるスキーマの強制、バックエンドから離れることなく豊富なインタラクティブなUIを作成するためのHyperscriptの使用が可能です。パスワードレスなメールベースの認証(マジックリンクとワンタイムパスコードに対応)も含まれています。Ubuntu VPSのプロビジョニングまたはDocker化したUberjarを使用してデプロイできます。ファイルの保存時に変更が評価され、本番REPLを使用することでライブ開発が可能です。Biffは強力なデフォルト設定を備えていますが、ニーズに合わせて簡単に変更できるように設計されています。

Ann:アプリケーションを強化する分散型アノテーションサーバー

2025-05-20

AnnはActivityPubベースのミニマルな分散型ソーシャルメディアで、Webアノテーション(基本的に、あらゆるコンテンツに対するコメント、推奨、またはいいね)を中心に構築されています。単独のウェブページではなく、他のアプリケーションとの統合を目的としたサーバーです。Geminiブラウザのコメントセクション、プライベートな研究論文アノテーションシステム、記事推薦フィード、ウェブ全体でコメントを追加・表示するためのブラウザプラグイン、さらにはAIトレーニングデータセットなどを想像してみてください。Annのビジョンは、JavaScriptやトラッカーに依存しないウェブで、アプリケーションにアノテーション機能を提供し、ユーザーに選択肢、プライバシー、そしてコンテンツ消費のコントロールを与えることです。

メモリ一貫性モデル:マルチコアシステムにおける時間との戦い

2025-05-20

このチュートリアルは、コンピュータサイエンスにおけるメモリ一貫性モデルの複雑さ、特にマルチコアシステムにおける困難な問題に深く掘り下げています。共有メモリにアクセスする複数のスレッドがどのように矛盾を引き起こす可能性があるかを説明し、逐次一貫性、キャッシュコヒーレンス、TSOのような緩和されたモデルなど、一貫性を確保するためのさまざまなアプローチを探求します。この記事では、図解と例を使用して課題を示し、データ競合の回避と、バリアのような同期プリミティブの重要性を強調しています。重要なのは、低レベルの複雑さを処理し、メモリの一貫性がないという落とし穴を回避するために、同期ライブラリに頼ることです。

AI搭載偶数/奇数チェッカー:is-even-aiパッケージ

2025-05-20
AI搭載偶数/奇数チェッカー:is-even-aiパッケージ

npmパッケージ`is-even-ai`は、OpenAIのGPT-3.5-turboモデルを利用して、数値が偶数か奇数かを判定します。その他にも数値比較機能を提供します。開発者はシンプルなAPIコールでこれらの機能を簡単に統合し、モデルやパラメーターをカスタマイズできます。同様のnpmパッケージとツイートにインスパイアされたこのプロジェクトは、製品にAIを組み込む方法を示しています。

Kilo: 1000行未満のコードによるミニマリストテキストエディタ

2025-05-20
Kilo: 1000行未満のコードによるミニマリストテキストエディタ

Kiloは、1000行未満のコード(clocでカウント)で書かれた小さなテキストエディタです。サイズに対して驚くほど便利な機能を備えており、保存(Ctrl+S)、終了(Ctrl+Q)、文字列検索(Ctrl+F)などが含まれます。重要なのは、Kiloは外部ライブラリを使用せず、標準のVT100エスケープシーケンスに依存していることです。Salvatore Sanfilippo(antirez)によって作成され、より高度なコマンドラインインターフェースやエディタを作成するための学習リソースおよび出発点として設計されています。このプロジェクトはBSD 2-clauseライセンスの下でオープンソースです。

開発

HashiCorp Terraform MCPサーバー:IaC開発の自動化

2025-05-20
HashiCorp Terraform MCPサーバー:IaC開発の自動化

HashiCorpは、Terraform Registry APIとシームレスに統合するモデルコンテキストプロトコル(MCP)サーバーであるTerraform MCPサーバーをリリースしました。これにより、インフラストラクチャコード(IaC)開発の高度な自動化とインタラクション機能が強化されます。このサーバーは、Terraformプロバイダーとモジュールの自動検出、Terraform Registryからのデータの抽出と分析、プロバイダーのリソースとデータソースに関する詳細情報の取得を行います。ユーザーは、Dockerコンテナ経由またはソースコードからバイナリを直接ビルドすることでサーバーを実行し、VS CodeやClaude Desktopなどのツールと統合できます。Terraform Registry内のプロバイダーとモジュールに関するドキュメントとメタデータのクエリと取得を行うためのツールセットが用意されています。重要なのは、出力と推奨事項は動的に生成されるため、セキュリティのベストプラクティスとコンプライアンス要件に合致するよう、実装前に徹底的にレビューする必要があるということです。

開発

Docker Composeを使ったMooseアプリケーションの本番環境へのデプロイ

2025-05-19

このガイドは、Docker Composeを使用して単一サーバー上に本番環境対応のMooseアプリケーションをデプロイする方法を包括的に説明しています。Dockerログの制限とsudo不要なアクセス設定、GitHub Actions Runnerの設定(オプション)、サンプルのFoo Bar Mooseアプリケーションなどが含まれます。ClickhouseとオプションのRedpandaの安全な設定、Temporal(オプション)の段階的デプロイについても詳しく説明します。最後に、Docker Composeの自動起動のためのsystemdサービスの設定、自動化されたデプロイと手動デプロイのワークフローについても説明します。

時代遅れのISO/IEC 14977:1996 EBNF仕様は使わないで!

2025-05-19

この記事では、多くの欠陥があるため、ISO/IEC 14977:1996 EBNF仕様を使用しないよう強く推奨しています。著者は、Unicode文字、文字範囲、一般的な正規表現構文のサポートの欠如、そして面倒な「1つ以上」の表記法など、仕様の欠点を詳細に説明しています。著者は、この仕様は理解しにくく、可読性が低く、現代のソフトウェア開発プラクティスと合致しないと主張しています。対照的に、W3CのEBNF仕様は、より簡潔で、ユーザーフレンドリーで、互換性が高い代替手段として提示されています。著者はまた、ISO標準を盲目的に従うことが常に正しいわけではないこと、時代遅れの標準に縛られるのではなく、最適なツールを選択することが重要であることを指摘しています。

開発

WireGuardバニティキージェネレーター:wireguard-vanity-keygen

2025-05-19
WireGuardバニティキージェネレーター:wireguard-vanity-keygen

wireguard-vanity-keygenは、指定したプレフィックスに一致するWireGuard公開鍵を生成するコマンドラインツールです。マルチコア処理、大文字と小文字の区別のある/ない検索、正規表現検索、複数のプレフィックスの同時検索に対応しています。検索プレフィックス、スレッド数、結果の上限を指定でき、ツールは確率と推定実行時間を計算します。このツールは、WireGuardキー生成プロセスを簡素化し、覚えやすく管理しやすいキーを生成することを目的としています。

開発 キー生成

Rustで構築されたHacker Newsデスクトップクライアント

2025-05-19
Rustで構築されたHacker Newsデスクトップクライアント

Rustとeguiを使って構築された、洗練されたHacker Newsデスクトップアプリケーションが利用可能になりました!クリーンでモダンなインターフェースで、様々なセクション(注目の話題、最新ニュース、Show HN、Ask HN、求人情報、ベスト記事)のトップストーリーを閲覧できます。コメントはReddit風のスレッド形式で表示され、自動折りたたみやフォントサイズ調整などの機能も備えています。オフラインキャッシュ、お気に入り、強力な検索/フィルタリング機能により、ユーザーエクスペリエンスが向上し、いつでもどこでもHacker Newsにシームレスにアクセスできます。

act を使用して GitHub Actions をローカルで実行:より高速なフィードバックループ

2025-05-19
act を使用して GitHub Actions をローカルで実行:より高速なフィードバックループ

GitHub Actions のワークフローを調整するたびにコミットとプッシュを繰り返すのにうんざりしていませんか?`act` を使用すると、GitHub Actions をローカルで実行して、非常に高速なフィードバックを得ることができます。GitHub の環境変数とファイルシステムを模倣することで、ローカルでのテストが可能になり、Makefiles をローカルタスクランナーとして置き換えることによって、繰り返し作業を排除することもできます。VS Code 拡張機能は、ワークフローにシームレスに統合されます。`act` は GitHub Actions を読み込み、Docker API を使用してイメージのプルまたはビルドを行い、依存関係に基づいて実行パスを決定し、最終的に GitHub の環境を反映したコンテナを実行します。

開発

マイクロソフト、軽量コマンドラインエディタ「Edit」を発表

2025-05-19
マイクロソフト、軽量コマンドラインエディタ「Edit」を発表

マイクロソフトはBuildカンファレンスで、新しいコマンドラインテキストエディタ「Edit」を発表しました。このオープンソースのエディタは250KB未満と軽量で、64ビット版WindowsにデフォルトのCLIテキストエディタを提供することを目指しており、組み込みオプションの不足と悪名高い「vimを終了するにはどうすればいいですか?」という問題を解決しようとしています。「Edit」はキーバインディング、検索と置換機能、正規表現のサポートなどを備えています。今後数ヶ月以内にWindows Insiderプログラムを通じて利用可能になります。また、マイクロソフトはWindows Dev HomeをAdvanced Windows Settingsにリブランディングし、Windows 11の設定インターフェースに開発者向けの追加トグルを統合しました。

開発

AnthropicのClaude Code SDK:AI駆動型コーディングアシスタントを実現

2025-05-19

Anthropicは、Claude Code SDKをリリースしました。開発者はこれにより、Claude Codeをアプリケーションに統合し、AI駆動型のコーディングアシスタントを構築できます。現在、コマンドラインの使用をサポートしており、TypeScriptとPythonのSDKも近日公開予定です。複数ターンでの会話、カスタムシステムプロンプト、外部サーバー経由での機能拡張を可能にするMCP設定などの機能を提供します。テキスト、JSON、ストリーミングJSONの出力形式を提供し、エラー処理、セッション管理、レート制限に関するベストプラクティスについても説明しています。実際のアプリケーション例として、コードレビューなどを自動化するClaude Code GitHub Actionsがあります。

開発

多言語翻訳ツールがリリース

2025-05-19
多言語翻訳ツールがリリース

スペイン語、フランス語、インドネシア語、ドイツ語、イタリア語、スウェーデン語、オランダ語、デンマーク語、エスペラント語、ロシア語、ブラジルポルトガル語、トルコ語、ポーランド語、ハンガリー語、フィリピン語、スロベニア語、クロアチア語、エストニア語、チェコ語、ラトビア語、フィンランド語、カタルーニャ語、ルーマニア語、アルバニア語、アルメニア語、マケドニア語、ギリシャ語、ウクライナ語、ブルガリア語、ベトナム語、韓国語、日本語、簡体字中国語と繁体字中国語、タイ語、ペルシャ語、アラビア語など、幅広い言語をサポートする新しい多言語翻訳ツールがリリースされました。ユーザーは簡単に新しい言語を追加し、翻訳機能のオンオフを切り替えることができます。

開発

Windows 11に新しいコマンドラインテキストエディタ「Edit」が搭載

2025-05-19
Windows 11に新しいコマンドラインテキストエディタ「Edit」が搭載

マイクロソフトは、64ビット版Windows向けに、新しい軽量コマンドラインテキストエディタ「Edit」を発表しました。このオープンソースのエディタは250KB未満とコンパクトで、マウスサポート、複数ファイルの同時編集、検索と置換、ワードラップなどの機能を備えています。さらに、Vimのようなモーダルエディタ特有の急な学習曲線を避けるため、モードレス設計を採用しています。今後数ヶ月以内にWindows Insider Programでプレビュー版が提供され、最終的にはWindows 11に標準搭載される予定です。

マイクロソフト、Windows Subsystem for Linux (WSL)をオープンソース化

2025-05-19
マイクロソフト、Windows Subsystem for Linux (WSL)をオープンソース化

マイクロソフトは、Build開発者会議で、Windows Subsystem for Linux (WSL)をオープンソース化すると発表しました。これにより、開発者はWindows内でLinuxディストリビューションを簡単に実行できるようになります。これは、Windowsを主要な開発環境として確立し、Linuxとの互換性を向上させることを目的としています。WSLは、エミュレーションからWSL 2のネイティブLinuxカーネルへと進化し、パフォーマンスと互換性が大幅に向上しています。オープンソース化により、開発者はコードに貢献し、WSLの機能とパフォーマンスをさらに向上させることができます。

開発

Glasskube:オープンソースのデプロイツールと採用情報!

2025-05-19
Glasskube:オープンソースのデプロイツールと採用情報!

エンジニアの生産性を向上させるオープンソースのデプロイツールを開発するスタートアップ企業Glasskubeが採用活動中です!彼らは、LLM、MCPサーバー、エージェントモードがソフトウェア開発のあり方を変えていることに魅了され、デバッグや調査が大好きで、デプロイや監視の自動化に慣れている人を探しています。以前の経験よりも、個人的なプロジェクトや主体性が重視されます。テクノロジースタックにはGo、TypeScript、PostgreSQLが含まれています。ウィーンで働き、サンフランシスコのスタートアップエコシステムと繋がりを持ちたい方は、ぜひ応募してください!

開発
1 2 82 83 84 86 88 89 90 214 215