Category: 開発

複雑系システムの攻略:UberからGoogleでの経験

2025-05-15
複雑系システムの攻略:UberからGoogleでの経験

この記事では、Uberの競合他社とGoogleでのソフトウェアエンジニアリングにおける著者の経験を詳細に説明し、複雑な問題と複雑なシステムの違いを明確にしています。複雑な問題は、構造化され、繰り返し可能なソリューションに従いますが、複雑なシステムは適応性と革新的なアプローチを必要とします。この記事では、複雑なシステムの5つの特性、つまり、エマージェントビヘイビア、遅延効果、局所最適化の罠、ヒステリシス、非線形性について詳しく説明しています。複雑な環境で効果的に運用するための戦略として、可逆的な意思決定を優先すること、適切な指標を定義すること、イノベーションを受け入れること、ベストプラクティス(機能フラグ、カナリアリリース、段階的ロールアウト、シャドウテスト)を活用すること、そしてオブザーバビリティ、シミュレーションテスト、機械学習を重視することなどが共有されています。最後に、著者は複雑なシステムにおけるチームワークの重要性を強調しています。

Apple、EUで外部決済システムを使用するアプリに警告

2025-05-15

Appleは、EUでアプリ内課金(IAP)ではなく外部決済システムを使用するアプリに対し、警告を表示し始めました。この警告は、アプリのインストールやアップデート後もApp Storeページの上部に表示されます。EUのデジタル市場法(DMA)が購入時の警告画面を禁止しているにもかかわらず、開発者たちの懸念が高まっています。AppleはmacOSで3段階の警告レベルを定義しており、外部決済の警告は最高の「クリティカル」レベルを使用しています。しかし、アプリは自動更新で外部決済機能を追加でき、ユーザーがApp Storeを再度訪れる必要がないため、開発者たちは警告にどれだけの人が気付くのか疑問視しています。

Webhook Tester:バックエンドコードを書かずにHTTPリクエストをデバッグ

2025-05-15

Webhook Testerは、開発者が一時的なWebhookエンドポイントを作成して、HTTPリクエストをリアルタイムで検査およびデバッグできるようにする軽量プラットフォームです。Stripe、GitHub、Twilio、または任意のカスタムサービスと統合し、リクエストを完全に可視化できます。ヘッダー、クエリパラメータ、リクエストボディなどをすべてバックエンドコードを書かずにキャプチャできます。レスポンスをカスタマイズし、遅延をシミュレートし、リクエストを独自のサーバーにリプレイできます。

arXivLabs:コミュニティコラボレーターとの実験プロジェクト

2025-05-15
arXivLabs:コミュニティコラボレーターとの実験プロジェクト

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

開発

AutoGenLib:オンデマンドでコードを生成するPythonライブラリ

2025-05-15
AutoGenLib:オンデマンドでコードを生成するPythonライブラリ

AutoGenLibは、OpenAIのAPIを利用してコードを動的に生成するPythonライブラリです。存在しないモジュールや関数をインポートすると、高レベルの説明に基づいてAutoGenLibがそれを生成します。コンテキストを認識し、既存のモジュールを段階的に拡張し、インポートを実行するコードを分析してより良いコンテキストを理解し、例外も提案付きで処理します。TOTPジェネレーターやデータプロセッサなどの関数を迅速に生成できますが、インターネット接続が必要でOpenAI APIに依存することに注意してください。生成されたコードは本番環境で使用前にレビューする必要があります。

開発

MicroPythonの大幅アップデート:ROMFS、Alifポートなど

2025-05-15
MicroPythonの大幅アップデート:ROMFS、Alifポートなど

最新のMicroPythonリリースには、多くのエキサイティングな改善が含まれており、最も注目すべきはROMFS機能の完成版です。これにより、読み取り専用メモリから直接バイトコードを実行できるようになり、インポート時間の高速化とメモリ使用量の削減を実現します。このリリースでは、Alif Ensemble MCUのサポートも導入され、RISC-Vアセンブラ、Datagram TLS、mpremoteツールも強化されています。多くのポートが更新されており、ESP32、MIMXRT、RP2、STM32のサポートが強化され、多くの新しいボードが追加されています。

開発

NASA、ソフトウェア開発効率向上のためのオープンソースピアレビューツールを公開

2025-05-15
NASA、ソフトウェア開発効率向上のためのオープンソースピアレビューツールを公開

NASAのステニス宇宙センターが、初のオープンソースソフトウェアであるピアレビューツールを公開しました。このツールは、協調的なソフトウェアアプリケーション開発を効率化・改善するために設計されています。LabVIEWを長年使用してきた内部経験に基づき、レビュープロセスのいくつかのステップを自動化し、コードの比較とコメント機能を向上させます。最終的には、より高品質なソフトウェアと効率的な開発につながります。現在一般公開されており、世界中の開発者によって継続的に洗練・改善されるコミュニティ主導のプロジェクトとなることを目指しています。

開発

CockroachDBからPostgreSQLへの移行:年間11万ドルの節約

2025-05-14
CockroachDBからPostgreSQLへの移行:年間11万ドルの節約

ある企業が、CockroachDBの高レイテンシ問題に悩まされました。複雑なSQLクエリがパフォーマンスの低下とクエリの中断の困難さを招いていました。最終的にPostgreSQLへの移行を決断しました。移行プロセスは数週間かかり、カスタムETLツールの構築とデータ変換が含まれていましたが、最終的に本番データベースの移行を15分で完了し、リクエストレイテンシを33%削減、年間11万ドル以上のコスト削減を実現しました。

開発

NordVPNがついにLinux向けGUIを提供

2025-05-14
NordVPNがついにLinux向けGUIを提供

長年、NordVPNのLinuxクライアントはコマンドラインインターフェースのみで、ユーザーエクスペリエンスはあまり満足できるものではありませんでした。SurfsharkやExpressVPNなどの競合他社は既にグラフィカルユーザーインターフェース(GUI)をリリースしていました。今回、NordVPNはついに追いつき、独自のLinux向けGUIをリリースしました。これにより、ユーザーはコマンドを入力する代わりにクリック操作で接続、設定、テーマの変更などが行えるようになり、使いやすさが大幅に向上しました。新しいインターフェースは既存のコマンドライン基盤上に構築されており、セキュリティと信頼性は維持しつつ、ユーザーから長らく要望されていたGUIが追加されました。ほとんどの機能はGUIから簡単にアクセスできますが、一部の高度なツールはコマンドラインのみのままでです。このアップデートにより、NordVPNはLinuxユーザーエクスペリエンスにおけるこれまでの欠点を解消し、他のプラットフォームとの整合性を高めました。

開発

C++メタプログラミングのテクニック:バリアントアクセスのパフォーマンス最適化

2025-05-14

この記事では、C++のメタプログラミング技術を使用して、std::variantへのアクセスのパフォーマンスを最適化する方法を探ります。手書きのswitch文と同等の効率を目指します。ジャンプテーブル、ディスパッチテーブル、マクロ、再帰的なswitch、短絡評価を用いたfoldなど、いくつかの手法を比較し、それぞれのメリット、デメリット、コンパイラの最適化戦略を分析します。最終的に、短絡評価を用いたfoldと、C++26で期待される拡張文を組み合わせたソリューションを提示し、効率的な汎用アクセスを実現し、パフォーマンスのボトルネックを回避します。

開発

Stack AI、10倍エンジニアを募集:AI搭載アプリプラットフォームの構築

2025-05-14
Stack AI、10倍エンジニアを募集:AI搭載アプリプラットフォームの構築

MITの博士号取得者2名によって設立され、Y CombinatorとGoogleから支援を受けているAI企業、Stack AIが10倍エンジニアを募集しています。彼らは、OpenAIやAnthropicなどのAIモデルと様々なデータソースを統合したノーコードプラットフォームを開発しており、誰でもAIアプリを構築できるようにすることを目指しています。85,000人を超えるユーザーと300社以上の有料顧客を抱え、スケーラブルなバックエンドシステムの構築とAIモデルの統合に携わるPython、データベース、AWS、コンテナ化に精通したエンジニアを求めています。理想的な候補者は、強力な問題解決能力、チームワーク能力、そしてAIへの情熱を持っています。

開発 AI採用

冗長性の問題:LLMが肥大化したコードを生成する理由

2025-05-14
冗長性の問題:LLMが肥大化したコードを生成する理由

この記事では、大規模言語モデル(LLM)が冗長で非効率的なコードを生成するという問題を探っています。著者は、多くのAIコーディングアシスタントのトークンベースの価格モデルが、効率性が低い場合でも、長いコードの生成を促進していると主張しています。これは、処理されるトークンが多いほど収益が多くなるためです。著者は、この問題を軽減するための戦略として、コーディング前の計画の強制、厳格な許可プロトコルの実装、Gitを使用した実験と徹底的な削減、より安価なモデルの使用などを挙げています。最終的な解決策として、著者は、AI企業が経済的インセンティブをコードの品質をトークン数よりも優先するように変更する必要があると提案しています。

TwoFold:プレーンテキストファイルを動的に

2025-05-14
TwoFold:プレーンテキストファイルを動的に

TwoFoldは、プレーンテキストファイルを動的なファイルのように動作させる小さなコマンドラインアプリケーションです。テキストエクスパンダーとテンプレートエンジンのハイブリッドであり、Emacs Org-mode、Python Jupyter Notebooks、React JSからインスピレーションを得ています。TwoFoldはテキストファイルを処理し、LISP/XMLに似たタグを識別して、それらを有用な出力に変換します。XMLおよびHTMLドキュメントと互換性がありますが、タグマーカーはカスタマイズ可能です。ファイルの変更を監視し、データ検証、統計計算、スペルチェックなどのタスクに対するリアルタイムコラボレーションを可能にします。TwoFoldは様々なファイルタイプ(.txt、Markdown、Emacs Org、reStructured Text、HTML、XML、ソースコードファイル)をサポートしますが、バイナリファイルはサポートしません。Bunを使用して実行され、ユーザーは独自のタグを簡単に作成してロードできます。

開発

MetaPostを使った物理学教科書の図解の自動化

2025-05-14
MetaPostを使った物理学教科書の図解の自動化

物理学の教科書のために何百もの図を作成するという大変な作業に直面した著者は、従来のベクトルグラフィックエディタよりも効率的な解決策を探しました。MetaPostがその答えとなりました。MetaPostを使用すると、図を変数の関数として定義でき、調整や要素の再利用が容易になります。この記事では、著者がMetaPostを使用してさまざまな形状(曲線、球体、チューブなど)とテクスチャを作成したプロセスを詳細に説明し、コード例を示しています。教科書のキャンセルにもかかわらず、改良されたコードライブラリはオープンソース化されており、物理学関連の図を作成するための汎用性の高いツールを提供しています。

開発 自動描画

GNOME 48 のアクセシビリティ向上:AccessKit、Orca ショートカットなど

2025-05-14

GNOME 48 はアクセシビリティにおいて大幅な進歩を遂げました。GTK 4.18 は AccessKit バックエンドを統合し、Windows と macOS で GTK アプリケーションが初めてアクセシブルになりました。Wayland 上での Orca スクリーンリーダーのキーボードショートカットのサポートも完了し、アクセシビリティにおける大きなギャップを埋めました。さらに、WebKitGTK のアクセシビリティが向上し、GNOME Web は完全にアクセシブルでサンドボックス化されたブラウザとなりました。新しいアクセシビリティツール Elevado もリリースされ、開発者にとってアプリケーションのアクセシビリティ機能を探求し検査するための新しい方法を提供します。多くの小さな改善により、GTK および関連ライブラリのアクセシビリティが向上しました。ファイル chooser、リストボックス、ボタンサイズの検出、テキスト属性のレポートなどが改善されています。

開発

Lively Webコアモジュールのロードログ

2025-05-14

このログは、Lively Webコアモジュールのロードプロセスを示しており、さまざまなJavaScriptモジュールのロード時間を表示しています。ロード時間は78msから555msの範囲で、IDEツール、ネットワークツール、UIコンポーネントなど、さまざまな側面をカバーしています。これは、Lively Webのモジュールアーキテクチャとランタイム環境を反映しています。

Git-Bug:Gitリポジトリにおける課題管理に革命を起こす

2025-05-14
Git-Bug:Gitリポジトリにおける課題管理に革命を起こす

Git-Bugは、スタンドアロンで、分散型、オフラインファーストの課題管理ツールであり、課題、コメントなどをオブジェクトとしてGitリポジトリ内に直接埋め込みます(ファイルではありません!)。複数のリモートへのプッシュ/プルが可能です。Gitの分散型アーキテクチャを活用することで、オフラインでの作業とシームレスな同期を可能にし、超高速な検索機能を備えています。GitHubやGitLabなどのプラットフォームとのブリッジによる連携や、柔軟なインターフェース(CLI、TUI、Web)を提供します。Michael Muréによって作成され、活気のあるコミュニティによって維持されており、GPLv3以降のライセンスで公開されています。

開発 課題管理

NetBSDサーバーと家族経営企業の内部抗争:信頼と技術の戦い

2025-05-14
NetBSDサーバーと家族経営企業の内部抗争:信頼と技術の戦い

16年前、著者は友人から依頼を受け、混乱した財政状況にある家族経営企業のITシステム構築を支援しました。彼はNetBSDベースのサーバーを構築し、企業データを統合しましたが、財務上の問題を隠蔽しようとする企業内部からの激しい反発を受けました。著者は過去の繋がりから陰謀を暴きましたが、サーバーは破壊されました。それでも、早期バックアップにより企業データを保護しましたが、経営陣が内部の腐敗問題を解決できないため、最終的に家族経営企業を去る決断をしました。この物語は、信頼、技術、倫理の葛藤、そして解決できない問題が存在するという事実を描いています。

エンジニア主導のタスクシーケンス:より速く、より多くの価値を提供する

2025-05-14

この記事では、チームがより早く、より多くの価値を提供するのを支援する、エンジニア主導のタスクシーケンスのアプローチを紹介します。従来、プロダクトマネージャーはPRDに基づいてタスクの順序を決定していました。しかし、エンジニアはタスクのコストと依存関係をよりよく理解しています。より良いアプローチは、エンジニアが価値、コスト、実現可能性に基づいてタスクの優先順位を付け、コスト削減のためにソリューションを再構築することさえ含みます。例えば、ケーススタディでは、エンジニアが複雑なダッシュボードを構築する代わりに毎週のメールを選択し、より複雑なタスクに取り組む前に、早期に価値を提供しています。これは価値の実現を大幅に改善し、チームがより短い時間でより多くの価値を生み出すことを可能にします。

開発

GitHub、認証されていないリクエストに対するレート制限を強化

2025-05-14
GitHub、認証されていないリクエストに対するレート制限を強化

GitHubは、プラットフォームのセキュリティと安定性を向上させるため、認証されていないリクエストに対するレート制限を更新しています。これは、HTTPS経由でのリポジトリのクローン作成、REST APIへの匿名アクセス、raw.githubusercontent.comからのファイルのダウンロードなどの操作に影響します。APIスクレイピング活動の最近の増加により、プラットフォームを保護し、世界中の開発者にとって信頼できるエクスペリエンスを確保するために更新が行われました。認証されていないユーザーは新しいレート制限に遭遇する可能性がありますが、認証済みのユーザーはより高い制限を維持します。GitHubは、一貫性のある信頼性の高いアクセスのため、認証を推奨しています。

開発

SWIMとBadgerDBを使った分散データベースレプリケーション

2025-05-14
SWIMとBadgerDBを使った分散データベースレプリケーション

この記事では、SWIMプロトコルとBadgerDBの増分バックアップ機能を利用した分散データベースレプリケーションのスキームについて説明します。Hashicorpのmemberlistパッケージと、そのTCP Push/Pullメカニズムを使用して、ノードは定期的にローカル状態を計算し、他のノードに送信します。リモートノードはリモート状態とローカル状態をマージし、レプリケーションプロセスを開始します。ノードの状態は、他のノードの最後に知られているバージョン集合として定義されます。状態を受信すると、ノードはリモートノードにHTTPリクエストを送信し、auth、config、logデータベースの増分バックアップを並行して同期することで、実際のレプリケーションを実現します。

Microsoft SAM TTS:Windows XPの象徴的な声が復活

2025-05-14

Windows XPの象徴的なロボットボイスを覚えていますか?Microsoft SAMテキスト読み上げが、JavaScript実装としてブラウザに登場!このモダンなバージョンは、Windows XPのクラシックボイスを忠実に再現し、クライアントサイドで完全に動作するため、プライバシーとオフライン使用が可能です。ピッチ、速度などのパラメータをカスタマイズして、小さな妖精から巨大ロボットまで、様々なバリエーションを作成できます。2000年代初頭のコンピューティングへのノスタルジアを再び味わってください!

開発

Nextcloud Androidアプリがブロック:Googleがファイルアップロードアクセスを取り消し

2025-05-14
Nextcloud Androidアプリがブロック:Googleがファイルアップロードアクセスを取り消し

セルフホスト型クラウドプラットフォームであるNextcloudは、2024年半ば以降、Androidアプリでメディアファイル以外のファイルのアップロードができなくなっています。Googleはプライバシー上の懸念を理由に、必要なアクセス権の復元を拒否し、ユーザーエクスペリエンスに大きな影響を与えています。NextcloudチームはGoogleとの連絡を試みましたが、効果はありませんでした。この問題はファイルの同期とアップロードを妨げ、NextcloudがGoogle Workspaceを完全に置き換えることを困難にしています。

開発

macOS の coreaudiod デーモンにおける型混同脆弱性の悪用

2025-05-14
macOS の coreaudiod デーモンにおける型混同脆弱性の悪用

このブログ投稿では、macOS の coreaudiod システムデーモンにおける高リスクの型混同脆弱性の発見と悪用に関する著者の経験について詳しく説明します。カスタムファジングハーネス、動的インストルメンテーション、静的分析を使用して、Google Project Zero のセキュリティエンジニアである著者は、サンドボックスエスケープの脆弱性を発見しました。この研究では、知識駆動型ファジングアプローチを採用し、自動化されたファジングとターゲットを絞った手動リバースエンジニアリングを組み合わせました。この脆弱性 (CVE-2024-54529) は、Apple によって修正されています。

Halideの革新的シングルショットHDR:HDR写真の神話を打ち砕く

2025-05-14
Halideの革新的シングルショットHDR:HDR写真の神話を打ち砕く

Halideカメラアプリの開発者たちは、HDR写真に関する誤解を深く掘り下げています。従来のHDRモード(iPhoneの「HDRモード」など)は実際には、複数の写真を合成してトーンマッピング処理を施したものであり、真のHDRではありません。そのため、細部の損失や人工的なアーチファクトが生じます。この記事では、Halideの新しいシングルショットHDR処理を紹介しています。これは、焼き込みやネガ焼きなどの伝統的な暗室技術に触発されたもので、ユーザーはトーンマッピングを細かく制御し、より多くのディテールを維持し、さまざまなHDR表示オプションを提供します。また、HDRディスプレイ技術の現状と課題についても論じています。

Blacksmith:マルチテナントによるサーバーレスCIプラットフォームの収益化

2025-05-14
Blacksmith:マルチテナントによるサーバーレスCIプラットフォームの収益化

YCスタートアップのBlacksmithは、CIワークロード向けのサーバーレスクラウドプラットフォームを構築しました。当初はシミュレーションで利益率を予測していましたが、マルチテナントシステムの経済効果を発見しました。CIワークロードのスパイク特性(短命なジョブ(5~40分)、地理的に分散した顧客)を利用することで、Blacksmithはサーバーリソースを効率的に利用しています。Firecrackerを使用して仮想化された数百台のベアメタルゲーミングCPUからなるフリートは、オンデマンドでマイクロVMを作成および破棄します。顧客が増えるほどランダムなアクティビティが増え、全体的な運用がスムーズになり、ジョブごとのサービスコストが低下し、利益率が向上します。この記事では、さまざまな利用率における利益率、およびタイムゾーンと地理的位置がリソース利用率に及ぼす影響を詳細に分析し、最終的にマルチテナントモデルの経済的効果を実証しています。

開発

acmsg:AI搭載Gitコミットメッセージジェネレーター

2025-05-14
acmsg:AI搭載Gitコミットメッセージジェネレーター

acmsgは、OpenRouter APIとAIモデルを利用してGitコミットメッセージを自動生成するPythonベースのCLIツールです。Gitリポジトリのステージングされた変更を分析し、コンテキストに合わせたコミットメッセージを生成し、複数のAIモデルをサポートし、生成されたメッセージの編集を許可します。flakeまたはスタンドアロンのプロファイルで簡単にインストールでき、初回実行時にOpenRouter APIトークンの設定を求められます。

開発

2万ドルの賞金:Rustのrav1dとCのdav1dのAV1デコーダーのパフォーマンスを同等に!

2025-05-14
2万ドルの賞金:Rustのrav1dとCのdav1dのAV1デコーダーのパフォーマンスを同等に!

Rustで書かれたAV1デコーダーrav1dは、現在、Cベースの対応物であるdav1dよりも約5%遅い。このパフォーマンスギャップを埋めるため、rav1dのパフォーマンスをdav1dと同等にする貢献に対して、2万ドルの賞金を提供する。改善はrav1dのコードベース、Rustコンパイラ、またはRust標準ライブラリに対して行うことができるが、変更は特定のルールに従う必要がある(低レベルアセンブリの変更は不可、Rust以外のコードは不可)。賞金は、達成されたパフォーマンス向上に応じて比例配分される。

開発

イーサリアムの簡素化:より堅牢で安全なプロトコルへの道

2025-05-14

この記事では、イーサリアムプロトコルの簡素化の必要性と方法を探ります。著者は、簡素化によってセキュリティが向上し、開発コストが削減され、コミュニティ参加が促進されると主張しています。この記事では、コンセンサス層(例:3スロットファイナリティの使用)と実行層(例:EVMをRISC-Vに置き換え)の両方を簡素化することで、この目標を達成することを提案しています。さらに、イレーザーコード、シリアライゼーション形式、ツリー構造などのコンポーネントを共有することで、プロトコルの複雑さをさらに削減することを提案しています。最終的な目標は、イーサリアムの重要なコードをビットコインのようにシンプルにすることで、長期的な保守性とセキュリティを向上させることです。

Ashフレームワーク:迅速なアプリ開発のためのプリセットオプション

2025-05-14
Ashフレームワーク:迅速なアプリ開発のためのプリセットオプション

Ashは、迅速なアプリケーション構築のためのプリセットオプションを提供する強力なアプリケーション開発フレームワークです。ユーザーは、Phoenix LiveView、GraphQL、PostgreSQLなどの様々なコンポーネントを含むプリセットを選択でき、後でAI、ファイナンス、自動化などのモジュールを追加することもできます。初心者でも簡単に始めることができ、シンプルなコマンドラインインストールとPostgreSQLデータベースでプロジェクトを迅速に立ち上げることができます。

1 2 88 89 90 92 94 95 96 214 215