Category: 開発

QFEXが創設期バックエンドエンジニアを募集

2025-06-20
QFEXが創設期バックエンドエンジニアを募集

日次取引高が数十億ドルに達するフィンテック企業QFEXは、創設期バックエンドエンジニアを募集しています。この役割には、高性能言語(C++など)の経験、および高トラフィックなリアルタイム本番システムの構築と運用経験(3年以上)が必要です。耐障害性、低遅延、高可用性サービスの設計、CI/CDとモニタリングの構築、技術的方向性の指導などが含まれます。理想的な候補者は、フィンテックまたは低遅延取引の経験、Kubernetes/IaCへの深い知識、高い責任感と意思決定能力を備えています。

開発

Asterinas:従来の設計に挑戦するRustベースのLinux互換カーネル

2025-06-20

中国の南方科技大学(SUSTech)の研究者たちは、Rustで記述され、「フレームカーネル」アーキテクチャを採用した新しいLinuxカーネル、Asterinasを開発しました。このアーキテクチャは、モノリシックカーネルとマイクロカーネルの利点を組み合わせ、Rustのunsafeなコードをライブラリにカプセル化し、カーネルサービスの残りは安全な抽象化を使用します。これにより、カーネルの安全性は向上し、モノリシックカーネルの高性能も維持されます。Asterinasは、小さく、正式に検証可能なTCB、Linux ABIとの互換性、そしてシンプルな共有メモリアーキテクチャを持つシステムを目指しています。現在、x86とRISC-Vをサポートしており、積極的に開発が進められており、将来はアーキテクチャのサポートとクラウドコンピューティングへの応用を拡大する予定です。

パイプラインの落とし穴:SMTPからの教訓

2025-06-20

この記事では、ネットワークプロトコルにおけるパイプライン化の落とし穴について探ります。SMTPのようなテキストベースのプロトコルでは、クライアントは複数のリクエストを送信し、レスポンスを待つ必要がありません。しかし、サーバー側の実装が不適切だと問題が発生する可能性があります。サーバーは暗黙的なステートマシンに依存している可能性があり、複数の同時リクエストを処理する際に混乱が生じ、メールを誤って承認または拒否することがあります。この記事では、この潜在的な問題の根本原因を分析し、RFC 2920におけるパイプラインデッドロックに関する議論を参照し、状態管理の不備やバッファの問題によるエラーを避けるために、開発者はパイプラインを注意深く扱う必要があることを思い出させます。

開発

Hurl:コマンドラインHTTPリクエストテストツール

2025-06-20
Hurl:コマンドラインHTTPリクエストテストツール

Hurlは、シンプルなプレーンテキスト形式を使用してHTTPリクエストを定義および実行する強力なコマンドラインツールです。リクエストのチェーン、値のキャプチャ、レスポンスヘッダーと本文のクエリ評価をサポートしており、REST、SOAP、GraphQLなどのさまざまなAPIでのデータ取得とHTTPセッションテストに適しています。Rustで構築され、libcurlを活用したHurlは軽量で高速であり、さまざまなレポート形式を通じてCI/CDパイプラインとシームレスに統合されます。

開発

Rustにおける高精度な固定小数点型:primitive_fixed_point_decimal

2025-06-20
Rustにおける高精度な固定小数点型:primitive_fixed_point_decimal

Rustの組み込み浮動小数点型は、10進数の表現において精度が不足しています。`primitive_fixed_point_decimal`クレートは、整数型とスケールファクターを使用して10進数を正確に表現し、小数点以下の精度を保証するソリューションを提供します。コンパイル時にスケールファクターを指定する`ConstScaleFpdec`型と、実行時に指定する`OobScaleFpdec`型の2つの型を提供します。後者は柔軟性が高い反面、複雑さも増します。また、このクレートは、乗算と除算の繰り返しによる累積誤差の問題にも対処し、`cum_error`メカニズムを提供しています。要約すると、これは金融システムなど、高精度が求められるアプリケーションに最適な、効率的で正確なRustの固定小数点型ライブラリです。

Git Smart Squash:AI搭載Gitコミット履歴クリーンアップツール

2025-06-20
Git Smart Squash:AI搭載Gitコミット履歴クリーンアップツール

PR前にコミット履歴を整理するのに30分も費やしていませんか?Git Smart SquashはAIを使用して、変更を論理的でよく構造化されたコミットに自動的に整理します。わずか数秒で完了します。diffを分析し、関連する変更をグループ化し、従来のコミット標準に従うクリーンなコミットメッセージを作成します。ローカルAI(Ollama)とクラウドAI(OpenAI、Anthropic、Gemini)をサポートし、安全で信頼性の高いバックアップメカニズムを提供することで、元のコミットが常に保存されます。大きなdiffでも、作業を小さな塊に分割したり、クラウドAIプロバイダーに切り替えたりすることで処理できます。

RaptorCast:高性能なブロックチェーンメッセージングレイヤー

2025-06-20

RaptorCastは、プルーフオブステーク型ブロックチェーンにおけるブロック伝播のパフォーマンス、セキュリティ、堅牢性の課題に取り組みます。速度を優先するためにUDPプロトコルを使用し、R10エンコーディングでパケットロスを補償し、Merkleツリー署名でデータの整合性を確保します。2段階の構造化ブロードキャスト戦略は、バリデータのステークに基づいてデータを分散し、パケットロスや悪意のあるアクターが存在する場合でもデータの可用性を保証するために冗長性を用います。このアプローチにより、ブロック提案を効率的に伝播できます。

Elixirで書かれた高性能BitTorrentトラッカー: ExTracker

2025-06-20
Elixirで書かれた高性能BitTorrentトラッカー: ExTracker

ExTrackerはElixirで記述された高性能BitTorrentトラッカーです。低メモリ使用量、ゼロ設定、利用可能なすべてのCPUコアの使用を特長としています。現在、HTTPSサポートとデータベースバックアップを備え、ソースコード、プリビルド版、Dockerイメージの3つの展開方法を提供しています。テストインスタンスはライブ統計と共に既に稼働していますが、プロジェクトはまだ開発中です。今後の計画には、ホワイトリスト/ブラックリスト、高度なピア管理、GeoIPサポートなどの機能が含まれます。

開発

Glaze:StencilとMustacheを使ったC++文字列補間

2025-06-19

Glazeは、StencilとMustacheテンプレートを使った強力なC++文字列補間ライブラリです。C++構造体から構造化データを文字列に簡単にフォーマットできます。変数補間、ブール条件セクション、コンテナの反復処理、ネストされたセクション、MustacheスタイルのHTMLエスケープなどの機能があります。`glz::stencilcount`を使ったエラー処理と自動番号付けも含まれています。これにより、HTMLドキュメントやフォーマットされたテキストなどの動的な出力の生成が簡素化されます。簡潔なテンプレート構文を使用します。

開発

リテラートプログラミング:コードを読みやすくする

2025-06-19
リテラートプログラミング:コードを読みやすくする

ドナルド・クヌースが考案したリテラートプログラミングは、コードの機械実行よりも人間の可読性を優先するプログラミングパラダイムです。これにより、プログラマはより自然で、思考主導的な順序でプログラムを開発できます。リテラートプログラムは、自然言語による説明とコードスニペットを織り交ぜることで、理解と協調を促進します。ここに説明されているLiterateツールは、クヌースとレヴィの元のCWEBシステムを簡素化し拡張することを目指しています。複数の言語、構文の強調表示、HTMLへの整形出力、Markdownベースのオーサリングをサポートし、コードのコンパイルとHTMLドキュメントの生成のためのコマンドラインインターフェースを提供します。このプロジェクトはオープンソースであり、貢献を歓迎しています。

RM2000テープレコーダー:オフライン動作のオーディオサンプリングツール

2025-06-19

RM2000テープレコーダーは、完全にオフラインで動作するオーディオサンプリングツールで、サンプルの長期保存を重視し、美しいユーザーインターフェースを備えています。Marcelo Mendez氏によってAstroフレームワークを使用して開発され、現在も開発中で、今後さらに機能が追加される予定です。Commons Clause + MITライセンスで提供されています。

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

2025-06-19
arXivLabs:コミュニティとの共同作業による実験プロジェクト

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

開発

Godotを用いた堅牢なネットコードのテスト:遅延とパケットロスへの対処

2025-06-19
Godotを用いた堅牢なネットコードのテスト:遅延とパケットロスへの対処

Little Brats! の開発において最大の課題となったのはオンラインマルチプレイヤー部分でした。変動するレイテンシの中で高速なアクションゲームの側面を維持しながら、コンピュータを同期させることは容易ではありませんでした。この記事では、レイテンシ補償、予測/調整テクニック、そして堅牢なテスト方法論に焦点を当てて、著者の取り組みを詳細に説明します。GodotのENetMultiplayerPeerクラスと、Linuxの`tc`コマンドを用いてネットワーク状況(レイテンシとパケットロス)をシミュレートすることで、信頼性の高いモードと信頼性の低いモードのネットワーク性能を比較し、洞察に富んだグラフと結論を示します。このプロセスは、安定したオンラインゲームを作成することの複雑さを浮き彫りにし、開発者にとって実用的なアドバイスを提供します。

「10倍エンジニア」神話を超えて:優れたチームを築く、スーパースターを探すのではない

2025-06-19
「10倍エンジニア」神話を超えて:優れたチームを築く、スーパースターを探すのではない

この記事は「10倍エンジニア」の神話を解体し、エンジニアの生産性を測定するための単一指標は信頼性に欠け、ソフトウェアデリバリーの鍵は個人ではなくチームであると主張しています。著者は、平均的なエンジニアが最大限のパフォーマンスを発揮できるシステムの構築を提唱しています。これには、リリースサイクルの短縮、ロールバックプロセスの簡素化、可観測性の重視、内部ツールへの投資、そして包括的なチーム文化の育成が含まれます。最終的な目標は、個人の英雄に頼るのではなく、チーム全体の効率を向上させることで、持続可能なビジネス成長を実現することです。

開発

EnrichMCP:AIエージェントのためのORMフレームワーク

2025-06-19
EnrichMCP:AIエージェントのためのORMフレームワーク

EnrichMCPは、AIエージェントがデータモデルをORMのように理解し、操作することを可能にするPythonフレームワークです。モデルコンテキストプロトコル(MCP)上に構築され、セマンティックレイヤーを追加することで、データモデルを型付きで検出可能なツールに変換します。SQLAlchemyモデル、REST API、カスタムロジックに対応し、型付きツールの自動生成、リレーションシップの処理、スキーマ検出、Pydanticによる検証を行います。AIエージェントは、開発者がORMを使用する場合と同様に、自然にデータモデルの探索、データのクエリ、リレーションシップのナビゲーションを実行できます。

開発

Lispライクなuxn環境における独自のレキシカルクロージャ

2025-06-19

著者は、uxn仮想マシン向けのLisp風の環境であるniënorについて説明し、レキシカルスコープのクロージャを実装する革新的なアプローチに焦点を当てています。実行時に関数をコピーして束縛されていない変数を置き換えるという複雑な方法ではなく、niënorはコンパイル時に環境変数をlambda関数のパラメータとして巧みに追加します。実行時には、これらの環境変数を渡すためのラッパー関数(ポータル)が生成されます。これにより、実行時のコード生成や複雑なアドレス計算が避けられ、クロージャに対する効率的でエレガントなソリューションが提供されます。このシステムには、これらのクロージャの動的メモリ管理のためのmallocとfreeも含まれています。

開発

public/protected/private:OOPにおける冗長な機能?

2025-06-19

この記事は、オブジェクト指向プログラミングにおけるアクセス修飾子(public、protected、private)の必要性を問いかけています。著者は、インターフェースと継承の組み合わせによって、追加のメカニズムなしで同じ機能を実現できると主張しています。アクセス修飾子の存在は、Simula言語の設計上の見落としによる冗長な機能である可能性があると示唆しています。よりクリーンなコードのために、著者はアクセス修飾子の使用を避け、継承よりも合成を推奨しています。

プログラミングエージェント:開発者エクスペリエンスを測定する新しい方法

2025-06-19
プログラミングエージェント:開発者エクスペリエンスを測定する新しい方法

24時間のコーディングスプリントで、不足しているドキュメントや欠陥のあるAPIなど、不適切なツールとプロセスによって引き起こされる開発者の悪いエクスペリエンスが明らかになりました。しかし、プログラミングエージェントは解決策を提供します。著者は、エージェントを使用してさまざまな言語とツールを客観的に評価し、テストカバレッジ、エラーレポートの品質、エコシステムの安定性などの開発者エクスペリエンスの要素を定量化しました。エージェントからのフィードバックは、人間の開発者の経験を反映しており、コードの品質と開発ワークフローを改善するための新しいアプローチを提供しています。

開発

Gemini:選挙結果データ抽出に革命を起こす

2025-06-19

OpenElectionsは長年、選挙結果の画像PDFをCSVファイルに変換することに苦労してきました。従来のデータ入力とOCRソフトウェアは非効率的で高コストでした。著者は、Googleの巨大言語モデルGeminiが非常に効果的な解決策を提供することを発見しました。Geminiは、大きく、複数ページのPDFを処理し、マークやシェーディングのある複雑な画像でもテキストを正確に認識します。極端に大きなファイルの場合、Geminiはバッチ処理が必要ですが、その精度と効率は従来の方法をはるかに凌駕し、OpenElectionsのデータ処理速度を大幅に向上させます。

開発

Kubernetes 10周年:振り返りと将来展望

2025-06-19

この記事では、Kubernetesの10年間の軌跡を振り返り、Google内部のBorgシステムから、現在のクラウドネイティブ時代の礎となる存在へと進化してきた過程をたどります。著者は、コンテナオーケストレーション、インフラストラクチャ管理、ジョブスケジューリングにおけるKubernetesの大きな成功を称賛する一方、YAML設定の限界、etcdへの依存、Helmパッケージマネージャーの欠点も指摘しています。Kubernetes 2.0への提案としては、YAMLをHCLに置き換え、etcd以外のバックエンドストレージをサポートし、ネイティブのパッケージマネージャーを開発することで、ユーザーエクスペリエンスとセキュリティを向上させることが挙げられています。さらに、IPv6のデフォルト有効化とIPSecの組み込みによるネットワークトポロジの簡素化も提案されています。

開発

Marginalia検索エンジン:オンライン状態と所有権変更検出の改良

2025-06-19

Marginalia検索エンジンチームは、サーバーのオンライン状態と、所有権移転やドメインパーキングを含む重要なウェブサイトの変更を検出するための新しいシステム「ping-process」を実装しました。主にHTTP HEADリクエストとDNSクエリを使用して、証明書の詳細、セキュリティ体制、サーバーヘッダーを分析し、変更を特定します。データは「スナップショット」テーブルと「イベント」テーブルに保存され、前者は現在の情報を、後者は履歴イベントを保持します。このシステムは、スケジューリングと証明書検証の課題を克服し、パーキングされたドメインの特定において初期の成功を収めています。今後の計画には、所有権変更検出モデルの改良と、効率向上のためのクローラー戦略への統合が含まれます。

Rustで書き直された軽量OS、RoureXOS 2.0が登場

2025-06-19
Rustで書き直された軽量OS、RoureXOS 2.0が登場

RoureXOSオペレーティングシステムがRustで書き直された第2版を迎えました。この軽量OSは、提供されているISOイメージを使用してQEMUエミュレータで実行でき、x86_64ベアメタル環境(USBからのブート)でも動作します。依存関係のインストール、カーネルのコンパイル、ISOイメージの作成、QEMUエミュレーション、そしてSLIPを使ったネットワーク接続まで、詳細な手順が網羅されています。明確な手順により、この新しいOSを簡単に体験できます。

開発

Raymarchingで世界を描く:GLSLシェーダーの旅

2025-06-19
Raymarchingで世界を描く:GLSLシェーダーの旅

この記事では、RaymarchingとGLSLシェーダーを使って3Dシーンを作成する方法を詳細に説明します。レイマーチングと符号付き距離関数(SDF)といった基本的な概念から始まり、単純な形状の作成、SDF演算子(minやsmoothminなど)を用いた形状の組み合わせによる複雑なシーンの作成方法を段階的に解説します。照明モデル、ソフトシャドウ、無限に繰り返すシーンの作成、ノイズ導関数を使ったリアルな地形の生成といった高度なトピックも網羅しています。最後に、無限に広がる火星風景という素晴らしい例を通して、著者の創作過程と洞察を共有します。

開発

OpenAPI:API開発を革新する

2025-06-19
OpenAPI:API開発を革新する

ソフトウェア開発において、アプリケーションの構築、保守、統合の効率性は非常に重要です。RESTful APIを記述するための共通言語であるOpenAPI Specification(OAS)は、この効率性を向上させる鍵となります。OASはAPIの詳細な設計図を提供し、エンドポイント、リクエストとレスポンスのフォーマット、認証方法などを網羅しています。OASのメリットとしては、チーム間の協調性向上、自動化(クライアントSDKやサーバースタブの自動生成、インタラクティブなドキュメント、自動テストなど)、開発者エクスペリエンスの向上、活気のあるパートナーエコシステムの育成、APIファーストの開発文化の推進などが挙げられます。OASの作成方法は、手動作成、コードファースト生成、AI支援生成などがあり、それぞれ長所と短所があります。OpenAPIとSwaggerは区別が必要です。OpenAPIは仕様そのものであり、SwaggerはOpenAPI仕様に基づいたツールセットです。堅牢で拡張性の高いアプリケーションを構築する組織にとって、OpenAPIの採用は戦略的要件です。

開発

Strudel:コードで音楽を作る

2025-06-19
Strudel:コードで音楽を作る

Strudelは、JavaScriptベースの音楽プログラミング環境で、Tidal Cyclesのパターン言語をJavaScriptに移植したものです。JavaScriptやTidal Cyclesの知識がなくても、簡単にダイナミックな音楽作品を作成できます。Strudelはライブコーディングによる音楽制作、アルゴリズム作曲、既存の音楽設定との統合をサポートしています。チュートリアルとサンプルコードにより、すばやく始め、素晴らしい音楽作品を作成できます。

Claude Codeトークン使用量リアルタイムモニター:消費量を追跡・予測

2025-06-19
Claude Codeトークン使用量リアルタイムモニター:消費量を追跡・予測

このターミナル監視ツール、Claude Code Usage Monitorは、Claude AIトークンの使用状況をリアルタイムで追跡します。トークンと残りの時間に対する視覚的なプログレスバー、バーンレート計算、トークン枯渇予測機能を搭載しています。Pro、Max5、Max20、カスタムMaxプランに対応し、Proの制限を超えると自動的にカスタムMaxモードに切り替わり、アラートとカスタマイズ可能なリセット時間なども備えています。すっきりとしたインターフェースでユーザーエクスペリエンスが向上します。

開発

オープンソースメンテナの反乱:libxml2の単独メンテナがセキュリティ問題を優先しなくなる

2025-06-19

libxml2の唯一のメンテナが、セキュリティ問題をバグと同様に扱うと発表し、オープンソースコミュニティで議論を巻き起こしている。著者は、これが、オープンソースソフトウェアの企業利用に対するメンテナたちの不満の高まりを反映していると主張する。個人による協調的なオープンソース(例:Debian、BSD)と、企業による営利目的のオープンソース利用との区別がなされている。著者は、将来、オープンソースコミュニティがこの区別をますます重視し、企業とのやり取りが変化すると予測している。

開発

おもちゃプロジェクトを通してプログラミングの喜びを再発見する

2025-06-19

著者は、創造こそが理解の鍵だと考えています。車輪の再発明を避けるのではなく、自分自身で車輪を作ってみましょう。そうすれば、どんな本を読むよりも多くのことを学ぶことができます。ますます商品化が進む今日のソフトウェア開発において、著者はプログラミングの喜びを再発見するために、シンプルな「おもちゃプロジェクト」の作成を提唱しています。この記事では、正規表現エンジン、x86 OSカーネル、ゲームエミュレータなど、多数のおもちゃプロジェクトが難易度と所要時間とともにリストアップされており、読者はそれらに挑戦して学ぶことを促しています。

Zedエディタ、強力な新デバッガをリリース

2025-06-19
Zedエディタ、強力な新デバッガをリリース

Zedエディタチームは、待望のデバッガのリリースを発表しました。Rust、C/C++、JavaScript、Go、Pythonなどの人気言語をサポートしています。高速で使いやすく、構成可能なデバッガは、デバッグアダプタプロトコル(DAP)と革新的なロケータシステムを利用して、デバッグセッションを自動的に構成します。データ層とUI層に分割されたアーキテクチャは、効率性と拡張性を確保し、将来の協調的なデバッグのための基盤を築きます。さらに、Tree-sitterを使用したすぐに使えるインライン変数値と、キーボード駆動のデバッグを備えています。

開発

貼り付けテキストの悪夢からの脱出:WYSINWLB

2025-06-19

著者は、貼り付けられたコンテンツからネストされた``タグと`

`タグを手動でほどくという、イライラする作業に遭遇しました。そのフォーマットはめちゃくちゃで、意味的な正確さではなく見た目重視に機械生成されたもので、テキストは編集不可能に近い状態でした。著者は、この悪い編集体験が平均的なユーザーを落胆させると主張し、「WYSINWLB:What You See Is Not What Lies Beneath」という用語を作り、貼り付けられたテキストの欺瞞的なシンプルさを強調する問題点を浮き彫りにしました。

開発
1 2 56 57 58 60 62 63 64 214 215