Category: 開発

Nextcloud、GoogleがAndroidファイルアプリを意図的に無効化したと非難

2025-05-13
Nextcloud、GoogleがAndroidファイルアプリを意図的に無効化したと非難

ヨーロッパのソフトウェアベンダーであるNextcloudは、80万人以上のユーザーを抱えるAndroidファイルアプリケーションをGoogleが意図的に無効化したと非難しています。問題は「すべてのファイルへのアクセス」権限にあり、アプリのファイル同期機能に必要です。Googleはプライバシー重視の代替手段を提供していますが、Nextcloudはこれらが不十分だと主張しています。Googleは2024年にこの権限を取り消し、Playストアでアプリを事実上使用不能にしました。Nextcloudは、これは巨大テクノロジー企業による反競争的行動のパターンの一部だと考え、規制プロセスの遅さと小規模企業が利用できる手段の少なさを指摘しています。アプリはF-Droidでは引き続き機能しています。

開発 反競争

Dgraph Labsの継続的セキュリティ監査への取り組み:2000以上のセキュリティ問題を解決

2025-05-13
Dgraph Labsの継続的セキュリティ監査への取り組み:2000以上のセキュリティ問題を解決

Dgraph Labsは、GitHub Actionsと様々なツールセットを用いて継続的セキュリティ監査システムを実装し、わずか3ヶ月で2000以上のセキュリティ問題を解決し、SOC2コンプライアンスを大幅に向上させました。このシステムはコード、バイナリアーティファクト、Dockerイメージを網羅し、TrivyとSnykによるスキャン、GitHubのセキュリティタブによる問題追跡と解決に依存しています。リンターは静的コード分析に使用され、Dependabotは自動修正に使用されます。これにより、セキュリティ問題の可視性と解決速度が大幅に向上し、継続的なセキュリティ改善の模範となっています。

Odin:C言語をインスパイアされた言語で、モダンなベストプラクティスを採用

2025-05-13
Odin:C言語をインスパイアされた言語で、モダンなベストプラクティスを採用

著者はC言語でゲームエンジンを構築した経験に基づき、Odin言語にいくつかのC言語のベストプラクティスが取り入れられていることを強調しています。これには、カスタムアロケータ(Odinのコアライブラリにビルトインサポート)、フレームベースのメモリ管理のためのテンポラリアロケータ、リーク検出のためのトラッキングアロケータ、ゼロ初期化、指定初期化子、SoAによるキャッシュフレンドリーなプログラミングなどが含まれます。OdinはC言語のシンプルさを維持しつつ、ジェネリクスやオーバーロードなどのモダンな機能を追加しています。著者は、Odinの機能はC言語の同様のバックグラウンドを持つ開発者にとって非常に有益である一方、これらの概念に不慣れな開発者にとってもアクセスしやすいことを強調し、入門書として自身の著書を推奨しています。

開発

オフラインとオンラインのMLパイプライン:AIスケーリングの鍵

2025-05-13
オフラインとオンラインのMLパイプライン:AIスケーリングの鍵

この記事では、スケーラブルなAIシステム構築におけるオフラインとオンラインの機械学習パイプラインの重要な違いを強調しています。オフラインパイプラインは、データ収集、ETL、モデルトレーニングなどのバッチ処理を処理し、オンラインパイプラインは、ユーザーにリアルタイムまたはニアリアルタイムで予測を提供します。この記事は、これらのパイプラインを分離することの重要性を強調し、要約SLMのファインチューニングのための機能パイプラインを例として使用しています。ZenMLなどのMLOpsフレームワークを使用して、再現可能で追跡可能でスケーラブルなデータセット生成プロセスを構築する方法を説明しています。このプロセスはMongoDBからデータを取得し、さまざまな段階で処理した後、最終的にHugging Faceに公開します。この分離を理解することは、堅牢な本番レベルのAIシステムを構築するために不可欠です。

開発

エンジニアリングマネージャーのための5つの説得術

2025-05-13
エンジニアリングマネージャーのための5つの説得術

この記事では、エンジニアリングマネージャーが一般的に使用する5つの説得テクニックを、実例を挙げて解説しています。まず、「根回し(Nemawashi)」という方法です。これは、関係者と事前にコミュニケーションを取り、サポートを得て、衝突を最小限に抑える手法です。次に「デコイ・プライシング(Decoy Pricing)」です。これは、戦略的に選択肢を提示することで、望ましい選択を促す手法です。そして「逆心理学(Reverse Psychology)」です。これは、直感に反する提案を用いて、望ましい反応を引き出す手法です。次に「LMDTFY(Let Me Decide That For You)」です。これは、決定を下しながら、拒否権を与えることで、自主性を促す手法です。最後に「エンジニアード・セレンディピティ(Engineered Serendipity)」です。これは、偶然を演出することで、コミュニケーションを円滑にする手法です。これらのテクニックは、プロジェクト承認、リソース獲得、チームワークにおいて、エンジニアリングマネージャーの効率を大幅に向上させる可能性があります。

Firefoxへの貢献:ソースコード、ビルド、サポート

2025-05-13
Firefoxへの貢献:ソースコード、ビルド、サポート

Firefoxの開発に貢献したいですか?Mozillaは、ソースコードのディレクトリ構造に関する包括的なドキュメント(https://firefox-source-docs.mozilla.org/contributing/directory_structure.html)と、貢献のためのクイックリファレンス(https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html)を提供しており、Firefoxのビルド方法とパッチの作成方法をガイドします。助けが必要ですか?Matrixの`Introduction`チャンネル(https://chat.mozilla.org/#/room/#introduction:mozilla.org)に参加してサポートを受けてください。 nightlyビルドをダウンロードしてテストすることもできます(https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ または https://www.mozilla.org/firefox/channel/desktop/#nightly)。ただし、バグが含まれている可能性があることに注意してください。

開発

arXivLabs:コミュニティと協力してarXivの新機能を開発

2025-05-13
arXivLabs:コミュニティと協力してarXivの新機能を開発

arXivLabsは、共同作業者がarXivの新しい機能をウェブサイト上で直接開発・共有できるフレームワークです。参加者は、arXivのオープン性、コミュニティ、卓越性、ユーザーデータのプライバシーという価値観を遵守する必要があります。arXivコミュニティを向上させるアイデアをお持ちですか?arXivLabsの詳細をご覧ください。

開発

Shader Minifier:小さく美しいデモシーンアニメーションの秘密兵器

2025-05-13
Shader Minifier:小さく美しいデモシーンアニメーションの秘密兵器

Shader MinifierはGLSLコードを圧縮するツールで、デモシーンアーティストが非常に小さなファイルサイズで複雑なコンピューターアニメーションを作成することを可能にします。この記事では、単純なスペースとコメントの削除から、静的解析や関数インライン化などの高度な最適化まで、その進化について説明します。著者は、Shader Minifierが圧縮後47KBのシェーダーを5.2KBに縮小し、開発効率を劇的に向上させたことを報告しています。中心となる考え方は、変数名の再利用や関数の最適化によってコードサイズを削減し、圧縮率を高めることで圧縮アルゴリズムを活用することです。既に成功を収めているものの、著者はさらに大きな64KBのアニメーション作成の課題に対処するために、さらなる改善を探求しています。

一時性ポリシー:プログラマーのコンピューター利用哲学

2025-05-13

この記事は、プログラマーの一風変わったコンピューター利用習慣について詳述しており、その中心にあるのは「一時性ポリシー」です。この哲学は、すべてのデータは、意図的に永続的で整理されているか、厳密に一時的なものでなければならず、偶発的な永続性を避けるべきだと主張しています。例としては、永続的なシェル履歴の無効化、GUIデスクトップの定期的なクリア、Webブラウザの頻繁な閉鎖などがあります。著者は、効率の向上、より良い整理、不要なデータの削減といったメリットを説明しています。企業の記録管理や自動化されたOS設定などの関連プラクティスに加え、メールやブラウザ履歴など、予測不可能な有用性のために永続的に保持されるポリシーの例外についても議論されています。

BEAM の深層探求:Elixir の基礎

2025-05-12
BEAM の深層探求:Elixir の基礎

これは「Elixir、旅立ちへの7つのステップ」シリーズの最初の章であり、Elixir のパワーと信頼性の基盤である Erlang 仮想マシン (BEAM) を深く掘り下げています。この記事では、Erlang の歴史、設計目標、そして Elixir における重要な役割を探ります。1980年代半ばに作成された Erlang は、当初は通信に使用されていましたが、現在は分散型、フォールトトレラント、大規模並列、ソフトリアルタイムシステムで知られる汎用言語となっています。BEAM は Erlang コードの実行、並行プロセス、非同期メッセージパッシングによるフォールトトレランスを実現します。BEAM 上で動作する Elixir はこれらの利点を継承し、さらにクリーンな構文と堅牢なライブラリを追加します。簡単なコード例で Erlang と Elixir の相互作用を示しています。次の章では、Erlang プロセスと並行処理を深く掘り下げる予定です。

開発

あなた自身のローカル音声アシスタントを構築する:エッジの復活

2025-05-12
あなた自身のローカル音声アシスタントを構築する:エッジの復活

巨大なクラウドLLMに依存することにうんざりしていませんか?この5部構成のチュートリアルでは、自然言語を理解し、アプリの機能を実行し、プライバシーを尊重する、あなた自身のローカル音声アシスタントを構築する方法を学びます。LoRAを用いたLLaMA 3.1のファインチューニング、関数呼び出しデータセットの作成、ローカルでの推論の実行、音声入出力の統合方法を学びます。著者は、ローカルAIにおけるMLOps原則の重要性を強調し、堅牢で持続可能なローカル音声アシスタントを構築するための実践的なガイドを提供します。

開発

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

2025-05-12
arXivLabs:コミュニティとの共同実験プロジェクト

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

開発

堅牢なSOC 2基盤を構築:ワンストップソリューション

2025-05-12
堅牢なSOC 2基盤を構築:ワンストップソリューション

SOC 2コンプライアンスに苦労していませんか?このツールは、要件を理解し、進捗状況を簡単に追跡するための、明確で実行可能なSOC 2チェックリストを提供します。すぐに基本的なSOC 2準拠ポリシーを生成して、ドキュメント作成を開始できます。証拠のアップロードを一元化し、ファイルをコントロールに直接リンクして、監査の準備を簡素化します。チームのタスク割り当て、ステータスの追跡、証拠要求の管理を、すべて単一のプラットフォームで行い、効率的に連携できます。将来のアップデートには、自動化された証拠収集、継続的なコントロール監視、ベンダーとの統合が含まれます。

開発

Mergeable:GitHubプルリクエストのための優れた受信トレイ

2025-05-12
Mergeable:GitHubプルリクエストのための優れた受信トレイ

Mergeableは、GitHubプルリクエストの管理を改善するために設計されたブラウザアプリケーションです。柔軟な検索クエリを使用してPRをセクションに整理し、すべてのデータをローカルのブラウザに保存し、キーボードショートカットによる迅速なナビゲーションをサポートし、複数のGitHubインスタンス(GitHub Enterpriseを含む)に接続できます。重要なのは、GitHubアプリをインストールすることなく、あなたの対応を待っているPRを強調表示することです。https://app.usemergeable.devでパブリックインスタンスを試用するか、https://www.usemergeable.devのドキュメントを使用して自分でホストしてください。

開発

N体シミュレーション5ステップ:Pythonチュートリアル

2025-05-12

このチュートリアルシリーズは、「CFD Python: 12 steps to Navier-Stokes」にインスパイアされた、Pythonで高速かつクリーンなN体重力シミュレーションコードを記述する方法を初心者向けに教えます。各ステップで詳細な説明と完全なコードを提供し、読者にコードを書き直して理解を深めることを推奨しています。Pythonと微積分の基本的な知識があれば、初心者でもフォローできます。修了後、独自のN体シミュレーションを作成し、関連プロジェクトを探索できます。

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

2025-05-12
arXivLabs:コミュニティとの共同実験プロジェクト

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

開発

OCamlにおけるGADTsによる効率的なメモリ表現

2025-05-12
OCamlにおけるGADTsによる効率的なメモリ表現

この記事では、OCamlで一般化代数データ型(GADTs)を使ってメモリ表現を最適化する方法を探ります。まず、著者はOCamlの多相性の限界、特にList.iter関数が統一的なメモリ表現のために異なるデータ型を扱う際の空間効率の悪さについて説明します。次に、通常の変種とオブジェクトの2つの方法を用いて、通常の配列とバイト配列の両方を扱えるCompact_array型を作成しようとしますが、型推論とメモリ割り当ての効率の問題に直面します。最後に、GADTsを用いることで、著者は異なるデータ型の配列に対し、柔軟で効率的なメモリ表現を成功裏に実現し、GADTsがコンパイラの作成だけでなく、特に精密なメモリ制御を必要とする高性能アプリケーションにおいても有用であることを示しています。

開発

Nix:実証可能な安全なソフトウェアサプライチェーン

2025-05-12
Nix:実証可能な安全なソフトウェアサプライチェーン

厳格なソフトウェアサプライチェーンセキュリティ規制を満たすには、高コストのエアギャップ環境と広範な審査が必要となることが多いです。この記事では、強力なパッケージマネージャーであるNixをソリューションとして紹介します。Nixは、開発速度を犠牲にすることなく、検証可能なサプライチェーンの整合性を可能にします。ソフトウェアの正確な起源と整合性を追跡し、監査可能なオフラインソースパッケージを生成します。起動可能なNixOSイメージの例では、Nixが依存関係ツリーから検証可能な固定出力派生(FOD)を抽出し、オフラインでの再構築を可能にして、完全なトレーサビリティと整合性を保証する方法を示しています。これにより、コンプライアンスが障害から管理可能な開発後の検証ステップへと変わり、コストを大幅に削減し、開発効率を向上させます。

HN情報過多からの脱出:AIを活用したパーソナライズされたテクノロジーニュース

2025-05-12
HN情報過多からの脱出:AIを活用したパーソナライズされたテクノロジーニュース

長年のHacker Newsユーザーである著者は、情報過多に悩まされていました。この問題に対処するため、2つのツールを開発しました。1つは、キーワードや投票数に基づいてパーソナライズされたHN投稿を配信するTelegramボット「Tobie」です。もう1つは、有料記事のアーカイブリンク、HNスレッドへの迅速なアクセス、AIによるコメント要約を提供するChrome拡張機能「HaNe」です。これらのツールにより、著者の読解効率が大幅に向上し、画面時間と情報不安が軽減されました。

開発

埋め込み:技術ライティングの未来?

2025-05-12

この記事では、埋め込み技術が技術ライティングに革命を起こす可能性について探求しています。テキスト生成モデルとは異なり、埋め込み技術はテキストを高次元のベクトル(埋め込み)に変換することで、テキスト間の意味的な類似性を比較します。この記事では、埋め込みの生成方法、コスト、そしてさまざまなモデル間の違いについて説明し、Voyage-3モデルを例に、大規模テキスト処理における利点を示しています。著者は、地図の座標を例えに、高次元空間における埋め込みの表現方法を説明し、Word2vecを例に、埋め込み技術が意味関係を捉える能力を示しています。最後に、ドキュメントサイトにおける関連ページの推薦への埋め込み技術の応用を紹介し、技術ライティングにおけるその大きな可能性を探っています。

StarGuard:GitHubリポジトリの信頼スコア

2025-05-12
StarGuard:GitHubリポジトリの信頼スコア

StarGuardは、GitHubリポジトリにおける偽のスターキャンペーン、依存関係のハイジャック、ライセンスに関する警告、その他のオープンソースリスクの兆候を検出するように設計されたCLIツールです。スター、依存関係、ライセンス、メンテナー、コードを分析することにより、信頼スコアを生成し、CTO、セキュリティチーム、VCがオープンソースのリスクを迅速に評価できるようにします。StarGuardは、JSON、Markdown、プレーンテキストレポートに加えて、スター履歴プロットとshields.ioバッジを出力します。

開発

Rubyの名前空間:提案された実装への批判的考察

2025-05-12

このブログ投稿は、Rubyにおける名前空間の提案された実装に疑問を呈しています。著者は、この提案はライブラリ名の衝突、グローバルに共有されるモジュール、複数のgemバージョンといった問題を解決することを目的としているが、これらの問題は実際にはそれほど頻繁には発生しないと主張しています。重複排除などの提案による複雑さは、そのメリットを上回ってしまう可能性があります。著者は、定数へのアクセスを制限し、BasicObjectに似たメカニズムを提供するなど、より軽量なアプローチを好み、コードの保守性とモジュール性を向上させたいと考えています。

LLVMの行動規範委員会の失敗:オープンソース貢献者の物語

2025-05-12

オープンソースの貢献者がLLVMプロジェクトにバグレポートを送信し、不公平な扱いを受けました。豊富な証拠を提供したにもかかわらず、行動規範委員会は貢献者に対して不利な決定を下し、他の貢献者の明白な違反を見過ごしました。これは、オープンソースコミュニティにおける行動規範の執行、そして公平性と説明責任に関する懸念を引き起こします。この事件はMesaプロジェクトにも波及し、オープンソースコミュニティにおけるより良い紛争解決メカニズムの必要性をさらに強調しています。

CoMaps:Organic Mapsのコミュニティフォークが急成長

2025-05-12
CoMaps:Organic Mapsのコミュニティフォークが急成長

Organic MapsのコミュニティフォークであるCoMapsは急速に進展しています。透明性、コミュニティによる意思決定、非営利、オープンソース、プライバシー保護という原則に基づいて構築されており、基盤とテクノロジーの構築に注力しています。最初のリリースは進行中です。プロジェクトの最終名称を決めるコミュニティ投票は5月20日にCodebergで終了します。CoMapsは、開発、ガバナンス、アウトリーチ、寄付などへの貢献を歓迎しています。Organic Mapsの株主との交渉は停滞しており、Viktorは完全な支配権を維持しようとしており、Organic Mapsの未来は不確実です。

kdlfmt: 強力なKDLコードフォーマッター

2025-05-12
kdlfmt: 強力なKDLコードフォーマッター

kdlfmtはRustベースのKDL(Key-Data-List)ドキュメントフォーマッターコマンドラインツールです。Cargo、Homebrew、npm、およびプリコンパイル済みバイナリによる柔軟なインストールに対応しています。フォーマット用の`format`コマンド、検証用の`check`コマンド、シェルオートコンプリート用の`completions`コマンドを提供します。`.kdlfmtignore`ファイルによる除外も可能で、KDLバージョンやログレベルなどのオプションも設定できます。パイプライン入力でもファイルの直接処理でも、kdlfmtはKDLコードを効率的にフォーマットし、可読性と一貫性を向上させます。

開発

Dartコンパイルのマスター:`dart compile` の詳細解説

2025-05-12
Dartコンパイルのマスター:`dart compile` の詳細解説

このガイドは、Dartの`dart compile`コマンドの包括的な概要を提供し、Dartプログラムをさまざまなターゲットプラットフォームにコンパイルできるようにします。`exe`(スタンドアロン実行ファイル)、`aot-snapshot`(AOTモジュール)、`jit-snapshot`(JITモジュール)、`kernel`(ポータブルモジュール)、`js`(JavaScript)、`wasm`(WebAssembly)などのサブコマンドの使用を詳細に説明し、それらの機能と特性を解説します。クロスコンパイル、コード署名、本番Webコンパイルの最適化手法を網羅し、Dartコンパイルの完全な理解を可能にします。

開発

Armbianの大幅アップデート:OpenMediaVault統合など

2025-05-12
Armbianの大幅アップデート:OpenMediaVault統合など

今週のArmbianアップデートでは、全体的な大幅な改善が加えられました。最大のハイライトはOpenMediaVaultの統合で、サポートされているシングルボードコンピュータを簡単にネットワーク接続ストレージ(NAS)デバイスに変換できます。その他の強化点としては、冗長なワイヤレスホットスポットのプロンプトの削除、Orange Pi 5 MaxとPocketBeagle2のブートローダーのアップグレード、Rockchip64プラットフォームのパフォーマンスと安定性の最適化などがあります。Armbianはインフラストラクチャの改良、未使用コードのクリーンアップ、将来のテストイニシアチブの準備も続けています。

開発

PyPIのWarehouse:簡単な最適化でテストスイートを81%高速化

2025-05-12
PyPIのWarehouse:簡単な最適化でテストスイートを81%高速化

Trail of Bitsは、PyPIのWarehouseテストスイートのパフォーマンスを劇的に向上させ、実行時間を163秒から30秒に短縮しました。テスト数は3900から4700以上に増加しました。この81%の改善は、いくつかの主要な最適化によって達成されました。pytest-xdistを使用したテスト実行の並列化、効率的なカバレッジ計測のためのPython 3.12のsys.monitoringの活用、テスト検出の最適化、不要なインポートの削除です。これらのテクニックは、遅いテストスイートに苦労している多くのPythonプロジェクトに容易に適用でき、最小限のコストでパフォーマンスの大幅な向上をもたらします。

ソウルAirbnbでWindows セキュリティセンターのリバースエンジニアリング

2025-05-12

MacBook一台のみでソウルのAirbnbに滞在中の開発者が、数々の困難を乗り越え、Windows セキュリティセンターのリバースエンジニアリングを行い、他のウイルス対策ソフトウェアに頼らずにWindows Defenderを無効化するツール「defendnot」を作成しました。この記事では、クロスプラットフォームデバッグ、高遅延、Windowsトークンとセキュリティメカニズムへの深い理解など、開発中に直面した課題を詳しく説明しています。開発者はプロジェクトを成功させましたが、非常にフラストレーションの溜まる経験だったと嘆いています。

プログラミング言語ランキング:Python、Rust、JavaScriptがトップを争う

2025-05-12

5月のプログラミング言語ランキングが発表されました!Pythonは使いやすさと広範な採用によりトップを維持し、Rustはパフォーマンスとセキュリティの高さから人気が上昇を続けています。JavaScriptはWeb開発における支配的な地位を依然として保っています。今月の注目すべきニュースとしては、C++の安全で効率的な組込み環境に関するワークショップ、Kotlin Compose Multiplatformの安定版リリース、Python 3.14.0 beta 1のリリースなどがあります。様々なランキング(PyPL、TIOBE、GitHub Pushes)では順位に若干の違いがありますが、Python、JavaScript、C系の言語は常に上位を占め、様々な分野における影響力を示しています。

1 2 90 91 92 94 96 97 98 214 215