Category: 開発

シンプルなSQLiteデータベースで強力な家庭用AIアシスタントを構築する

2025-04-14
シンプルなSQLiteデータベースで強力な家庭用AIアシスタントを構築する

この記事では、シンプルなSQLiteデータベースとcronジョブを使用して構築された家庭用AIアシスタント、Stevensについて説明しています。カレンダーイベント、天気予報、メール情報を統合し、毎日Telegramでブリーフィングを送信します。Stevensのアーキテクチャはシンプルで、様々な情報を保存する中心的なSQLiteデータベースと、カレンダー、天気API、メールなどからデータを取り込むcronジョブで構成されています。著者はそのシンプルさを強調し、読者にプロジェクトの複製と拡張を促しています。

開発 cronジョブ

Meilisearch:アプリ向け超高速オープンソース検索エンジン

2025-04-14
Meilisearch:アプリ向け超高速オープンソース検索エンジン

Meilisearchは、アプリ、ウェブサイト、ワークフローに簡単に統合できる、超高速のオープンソース検索エンジンです。ハイブリッド検索、入力中の検索、タイプミス許容、フィルタリングとファセット検索、ソート、同義語サポート、ジオサーチ、多言語サポートなど、すぐに使える機能を提供し、優れた検索体験を実現します。Meilisearchは、RESTful API、複数のSDK、AI対応、そして簡単な展開と保守のためのクラウドサービス(Meilisearch Cloud)を提供します。ユーザーのプライバシーを重視し、匿名データ収集の無効化とデータ削除リクエストチャネルを提供しています。

Kotlin、Swift、RubyがTiobeトップ20から脱落

2025-04-14
Kotlin、Swift、RubyがTiobeトップ20から脱落

最新のTiobe Programming Community Indexによると、Kotlin、Swift、Rubyが人気プログラミング言語トップ20から脱落しました。TiobeのCEOであるPaul Jansen氏によると、これらの言語は人気を失っており、衰退傾向にあります。この衰退は、特定のモバイルプラットフォーム(KotlinはAndroid、SwiftはiOS)での主要な使用に起因し、クロスプラットフォームの代替手段が容易に入手できるようになったことが挙げられます。さらに、Pythonの優位性により、Rubyの余地が少なくなっています。

ハッカーのための実践的Cプログラミングガイド

2025-04-14
ハッカーのための実践的Cプログラミングガイド

デニス・リッチーに捧げられた本書は、ハッカーのための実際的なCプログラミングガイドです。ベテランハッカーである著者は、長年の経験から得た実践的なテクニックを共有し、C言語の力と柔軟性を強調しています。本書はC言語が提供する自由を擁護し、適切なツールを選択することはプログラマの特権であり、強制された好みではないと主張しています。本書にはコード例とGNU拡張機能の使用に関する議論が含まれています。

技術的な議論で優柔不断になるのをやめましょう:自分の決断に責任を負う

2025-04-14

シニアエンジニアは、技術的な議論において、しばしば決断を避ける傾向があります。著者はこれを一見慎重なアプローチに見せかけ、実際は臆病であると主張しています。この記事は、チームが決定を下す必要がある場合、たとえ55%の確信しかないとしても、最も経験豊富なエンジニアが責任を負い、判断を示すべきだと強調しています。これは、経験の浅いエンジニアが拙い解決策を提案するのを防ぎ、マネジメントの効率的な作業を可能にします。著者は、マネジメントは技術的な誤りを通常は許容するとし、意思決定には本質的に不確実性が伴うためだと説明しています。しかし、一貫して間違った判断は信頼性を損なうと指摘しています。この記事は、信頼関係のない環境では、コミットメントを避けることが正当化される場合もあるものの、ほとんどの場合、責任を負い、大胆な決定を下すことが優秀なエンジニアの特徴であると結論付けています。

PHPセキュリティ監査で複数の脆弱性が発見され、修正済み

2025-04-14
PHPセキュリティ監査で複数の脆弱性が発見され、修正済み

PHPファウンデーションは、Sovereign Tech Agencyからの委託を受け、Quarkslabによって実施されたPHPソースコード(php/php-src)の包括的なセキュリティ監査の完了を発表しました。2ヶ月間にわたる監査では、27件の問題が発見され、そのうち17件はセキュリティ上の問題でした。CVEが割り当てられた4件の脆弱性を含みます。これらの脆弱性は修正されており、ユーザーは最新のPHPバージョンにアップグレードすることを強く推奨します。監査は、php/php-srcプロジェクトの全体的な高品質を強調し、PHPファウンデーションのPHPのセキュリティと信頼性の向上へのコミットメントを強調しています。

開発

自作日産リーフバッテリーウィジェット:GitHub ActionsとIFTTTを使った巧妙なハック

2025-04-14
自作日産リーフバッテリーウィジェット:GitHub ActionsとIFTTTを使った巧妙なハック

日産の公式アプリにバッテリーステータスウィジェットがないこと、そしてサードパーティ製の代替アプリがないことに不満を持った著者は、巧妙な回避策を考案しました。GitHub Actions、IFTTT、Appleショートカットを巧みに組み合わせることで、無料のソリューションを作成しました。スケジュールされたGitHub Actionsワークフローはデータを取得し、メールを送信し、IFTTTはメールの内容をiPhoneのホーム画面ウィジェットに変換して、リーフのバッテリーレベルを表示します。完璧ではありませんが、この成功したハックは追加のハードウェアやサブスクリプションのコストを回避し、著者の創造性と技術力を示しています。

開発

GitHub用ローカルCI:クラウドを捨て、開発マシンを活用しよう

2025-04-14
GitHub用ローカルCI:クラウドを捨て、開発マシンを活用しよう

遅くて高価でレンタルのクラウドCIにうんざりしていませんか? GitHub CLI拡張機能`gh-signoff`を使えば、CIをローカルに導入できます!テストをローカルで実行し、成功したら`gh signoff`で承認。複雑なマージキューやデプロイパイプラインはもう不要です。シンプルな操作でGitHubの緑色のコミットステータスを取得できます。効率的で、便利で、完全に制御できます!

Transformer Lab:コード不要でLLMをローカル実行

2025-04-14
Transformer Lab:コード不要でLLMをローカル実行

Transformer Labは、コードを書かずに、ローカルで大型言語モデル(LLM)を構築、調整、実行できるオープンソースプラットフォームです。Llama 3、Phi 3など数百もの人気モデルをサポートし、Apple SiliconやGPUなど様々なハードウェアに対応、RLHFや様々な選好最適化手法を提供します。直感的なインターフェースでモデルと対話でき、ファインチューニング、評価、RAGを行い、複数の推論エンジン、プラグイン、モデル変換をサポートします。Windows、macOS、Linuxで利用可能で、Pythonや機械学習の知識がなくても、LLMを製品に統合できます。

Docker Model Runner:ローカルでのAIモデル実行を簡素化

2025-04-14
Docker Model Runner:ローカルでのAIモデル実行を簡素化

Dockerは、ローカルでのAIモデルの実行とテストを簡素化するツール、Model Runnerを発表しました。これは、開発者がローカルでAIモデルを使用する際に直面する、ツールが断片化されていること、ハードウェアの互換性の問題、ワークフローの断絶といった課題に対処します。Model Runnerはllama.cppベースの推論エンジンを統合し、Apple SiliconでのGPUアクセラレーションをサポートし、OCI Artifactsを使用してモデルのパッケージングを標準化することで、容易な共有とバージョン管理を実現します。さらに、DockerはGoogleやHugging Faceなどの企業と連携し、豊富なモデルとツールを提供する強力なエコシステムを構築し、ローカルでのAI開発を大幅に容易にしています。

開発

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

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

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

開発

健忘症LLMコーディングアシスタントを飼いならす:究極のカーソルルールテクニック

2025-04-14
健忘症LLMコーディングアシスタントを飼いならす:究極のカーソルルールテクニック

CursorなどのLLMをコーディングに使用するのは素晴らしいですが、癖があります。セッション間で全てを忘れてしまうのです。つまり、コーディング規約、プロジェクト構造、設定をAIに絶えず思い出させる必要があるということです。解決策は?メタルールです。他のプロジェクト固有のルールを作成する際にAIをガイドするテンプレートルールを作成します。これにより、知識の転送が体系化され、時間の節約とプロジェクト全体での一貫性が確保されます。メタルールを作成するというこの小さな事前投資は、長い目で見れば非常に大きな成果をもたらします。

開発

垂直シャード:悪夢?

2025-04-13
垂直シャード:悪夢?

著者は、垂直シャード(機能シャード)の経験とその落とし穴について語っています。データベースの負荷を軽減する一方、アプリケーションを断片化し、データベースが処理すべき結合やクエリをアプリケーション層で処理せざるを得なくなり、コードの複雑さとメンテナンスのオーバーヘッドが大幅に増加し、システムの可用性が低下します。ユーモアを交え、可用性計算式を用いて、垂直シャードがシステムの安定性を低下させ、最終的に製品ロードマップの遅延やエンジニアの士気低下につながることを示しています。最後に、Postgresのシャード化問題を解決することを目的としたオープンソースプロジェクトであるPgDogを紹介しています。

モデルコンテキストプロトコル(MCP):強力なLLMアプリケーション構築のための新しい標準

2025-04-13

この記事では、エンタープライズグレードの大規模言語モデル(LLM)アプリケーションを構築するためのオープンなプロトコルであるモデルコンテキストプロトコル(MCP)を紹介します。MCPは、LLMとエンタープライズツールの統合における標準化の欠如という問題を解決し、LangChainなどのフレームワークがデータベースやGitHubなどの様々なデータソースやツールとシームレスに統合することを可能にします。この記事では、MCPの中核となるコンポーネント(MCPサーバー、クライアント、ホスト)、インストール設定、Pythonによる実践的なデモンストレーションについて詳しく説明します。これには、Ollamaを使用して単純利子と複利を計算するLangChainアプリケーションの構築、およびstdioとsseの両方の転送モードを使用して複数のMCPサーバーとやり取りする例が含まれます。MCPを使用することで、LLMアプリケーションはエンタープライズデータとツールをより効果的に活用し、より強力な機能を実現できます。

GNU Radio:オープンソースソフトウェア無線機開発ツールキット

2025-04-13

GNU Radioは、ソフトウェア無線機(SDR)を実装するための信号処理ブロックを提供する、無料でオープンソースのソフトウェア開発ツールキットです。入手しやすい低コストの外部RFハードウェアで使用することも、シミュレーション環境でハードウェアなしで使用することもできます。そのモジュール型のフローグラフ指向のフレームワークと、広範な処理ブロックライブラリにより、研究、産業、趣味の分野で複雑な信号処理アプリケーションを作成するのに適しています。特定のハードウェアや無線規格に対するすぐに使えるソリューションではありませんが、さまざまな通信規格の実装を開発するために非常に適応性が高いです。

開発

軽量GRPOトレーニング:TransformerとvLLM不要

2025-04-13
軽量GRPOトレーニング:TransformerとvLLM不要

このプロジェクトは、ほぼゼロから構築され、トークナイザーとPyTorchのみに依存する軽量なGRPO(Group Relative Policy Optimization)トレーニングフレームワークを実装しています。KLダイバージェンスを削除し、長すぎるエピソードのフィルタリングを追加することで、元のアルゴリズムを改善し、トレーニングの安定性とGPUメモリの使用効率を向上させています。このプロジェクトでは、Qwen2.5-3B-InstructモデルをCountDownタスクでトレーニングします。このタスクでは、与えられた数字から目標値に達する数学式を生成する必要があります。モデルは、最終的な回答の前に、思考連鎖の推論を生成することを学習することで、この問題を解決します。フォーマットと回答の報酬によって学習がガイドされます。プロセス全体はシンプルで再現性が高く、単一のA40 GPUで最小限のコマンドで実行できます。

開発

BCCの`trace`を使って不安定なテストをデバッグする

2025-04-13

オープンソースプロジェクトのパッチ作成中に、断続的に失敗するテストに遭遇しました。BCCツールの`trace`ユーティリティを使用して、カーネル関数`touch_atime`の呼び出しを監視しました。これにより、著者のテキストエディターのバックグラウンドスレッドがプロジェクトファイルをスキャンし、ファイルのアクセス時間を変更していることが明らかになり、これによってテストが不安定に失敗していました。このケースは、LinuxカーネルのデバッグにおけるBCCツールの威力と、システムを深く理解することの価値を強調しています。

Emacs用高機能タイリングウィンドウマネージャー:EXWM

2025-04-13
Emacs用高機能タイリングウィンドウマネージャー:EXWM

EXWMは、XELB上に構築された、Emacs用のフル機能を備えたタイリングXウィンドウマネージャーです。完全にキーボード駆動で、ハイブリッドレイアウトモード(タイリングとスタッキング)、動的なワークスペースサポート、ICCCM/EWMH準拠を備えています。オプション機能には、RandR(マルチモニター)サポート、システムトレイ、入力方法サポート、背景設定、XSETTINGSサーバーなどがあります。スクリーンショットとユーザーガイドを確認して、全体像とインストール手順を確認してください!

開発

Odinにおけるアリーナアロケータと動的配列:隠された落とし穴

2025-04-13
Odinにおけるアリーナアロケータと動的配列:隠された落とし穴

Odinでアリーナアロケータと動的配列を使うと、微妙な落とし穴があります。アリーナは、同じライフタイムを持つメモリ割り当てを効率的に管理し、一度にすべてを解放します。しかし、動的配列の成長メカニズムにより、アリーナアロケータを使用すると、古いメモリブロックが解放されず、メモリの無駄につながります。この記事では、その理由を説明しています。アリーナアロケータは個々の解放をサポートせず、動的配列の成長により、古いブロックの「墓場」が作成されます。解決策としては、デフォルトのアロケータを使用する、最大サイズを事前に割り当てる、または仮想的に成長するアリーナを使用することが挙げられます。仮想的に成長するアリーナはメモリブロックの移動を防ぎますが、潜在的な無駄には対応できません。この記事は、メモリ使用量が非常に動的な場合は、アリーナアロケータを避けるのが賢明だと結論づけています。

自宅サーバーの空き容量を売らないで!

2025-04-13
自宅サーバーの空き容量を売らないで!

中規模のホスティング会社で働く技術者が、自宅サーバーを簡易的なクラウドサービスにする危険性を詳述しています。この記事では、追加のハードウェア、高速インターネット、パブリックIP、安全な場所、法的保護、堅牢な請求システムの必要性を強調しています。また、顧客サポート、データバックアップ、セキュリティの脆弱性、GDPRやCCPAなどの規制への準拠、DDoS攻撃やデータ侵害などのリスク軽減の課題についても強調しています。法的および財政的な影響を冒す代わりに、著者は余剰計算能力を個人的な用途、友人との共有、または研究プロジェクトへの寄付に使うことを提案しています。

Gatehouse-TS:TypeScriptによる柔軟で依存関係のない認可ライブラリ

2025-04-13
Gatehouse-TS:TypeScriptによる柔軟で依存関係のない認可ライブラリ

Gatehouse-TSは、TypeScriptで記述された柔軟で依存関係のない認可ライブラリであり、ロールベース(RBAC)、属性ベース(ABAC)、リレーションシップベース(ReBAC)のアクセス制御ポリシーを組み合わせます。人気のRustライブラリであるGatehouseの移植版で、ユーザーフレンドリーなAPI、論理演算子によるポリシー合成、デバッグのための詳細な評価トレース、カスタムポリシー作成のための流暢なビルダーAPIなどを備えています。軽量な設計と包括的なドキュメントにより、さまざまなプロジェクトへの容易な埋め込みと適応が可能になります。

開発

Fennel:LuaのLisp風拡張

2025-04-13

FennelはLuaランタイム上で動作するプログラミング言語です。Luaの効率性と軽量性を活かしつつ、Lisp風の構文と改良された設計によってLuaのいくつかの欠点を解消しています。Fennelは括弧優先の構文を採用し、演算子の優先順位の曖昧性と早期リターンを排除します。より厳格な変数管理により、グローバル変数の誤った使用を防ぎます。さらに、テーブル表記法、ループ構造、関数の引数チェック、データ構造のデストラクチャリング、パターンマッチングなどを改善し、コードの可読性と保守性を向上させています。Fennelは強力なマクロシステムを提供していますが、通常は必要ありません。要約すると、FennelはLuaでより安全でクリーンな方法でプログラミングするための手段を提供します。

開発

Linux Mintの秘密兵器:LMDE 7が覇権を握る?

2025-04-13
Linux Mintの秘密兵器:LMDE 7が覇権を握る?

Linux Mintは、以前は緊急時の代替策とされていたDebianベースのエディションであるLMDE 7にOEMサポートを追加しました。この予期せぬ動きは、Mintの将来の戦略に関する憶測を呼んでいます。一部のユーザーは、特にSnapパッケージとテレメトリに関するCanonicalのUbuntuの方向性に不満を持っています。純粋なDebianであるLMDEはこれらの問題を回避しています。OEMサポートの追加は、LMDEがより大きな役割を果たすために準備されていることを示唆しており、UbuntuベースのMintを主要なディストリビューションとして置き換える可能性さえあります。この開発は重要であり、Linuxデスクトップの状況を一変させる可能性があります。

開発

FreeDOS 1.4 リリース:レガシーDOS PC向け安定性アップデート

2025-04-13
FreeDOS 1.4 リリース:レガシーDOS PC向け安定性アップデート

オープンソースのDOS後継であるFreeDOSがバージョン1.4をリリースしました。安定性の向上が中心となっており、改良されたインストーラー、fdiskやformatなどの必須ツールのアップデート版、そして更新されたedlinテキストエディタが含まれています。古いシステム向けの「フロッピーディスク専用版」と、追加ツールやOpenGEMグラフィカルインターフェースを提供する「BonusCD」も用意されています。

開発

低スペックハードウェア上での高性能プログラミング:私のターミナルワークフロー

2025-04-13

著者は、低スペックなハードウェア(例:Intel Celeron N4000、Intel Atom x5-Z8350)上での効率的なプログラミング経験を共有しています。秘訣は、軽量なLinuxディストロ(Arch Linux)、i3wmのような軽量なウィンドウマネージャー、NeovimのようなターミナルテキストエディターとAlacrittyターミナルの使用です。この設定はリソース消費が少なく、様々なマシンで移植性が高く、低スペックまたは古いハードウェアでも快適なプログラミング体験を提供します。さらに、著者は、依存関係を最小限に抑えることでコンパイル時間とバイナリサイズを改善する軽量なプログラミングの理念を提唱しています。

開発

cargo-mutantsによるRustの変異テスト

2025-04-13
cargo-mutantsによるRustの変異テスト

cargo-mutantsは、コードの堅牢性をテストするためにコードの変異体を作成することで、コードの品質を向上させるRustツールです。既存のテストで見逃されている潜在的なバグを特定し、従来のコードカバレッジツールとは異なる視点を与えます。コードの到達範囲だけでなく、テストが実際にコードの動作を確認しているかどうかに焦点を当てています。使いやすく、CIと統合可能で、積極的にメンテナンスされており、新しい変異タイプの追加など、将来的な改善が期待されています。

開発

マルチLLMエージェントクラスタによるバグ修正の自動化:予想以上に安価

2025-04-13
マルチLLMエージェントクラスタによるバグ修正の自動化:予想以上に安価

この記事では、複数の巨大言語モデル(LLM)を用いたバグ修正の自動化に関する新しいアプローチについて説明します。Asana、Aiderコーディングエージェント、Sublayerエージェントを統合することで、システムは3つのLLM(GPT-4o、Claude 3.5 Sonnet、Gemini 2.0 Flash)を自動的に起動し、同じバグの修正を試みます。各試行は別々のGitブランチで実行され、複数のプルリクエストが生成されます。この「無駄な推論」アプローチは、驚くほど安価で効率的であり、冗長性と多様な解決策を提供します。1つのモデルが失敗しても、他のモデルが成功する可能性があり、代替アプローチを提供します。この実験は、このマルチモデル、自動化、低コストのバグ修正の可能性を示しており、将来の開発におけるパラダイムシフトを示唆しています。

開発

Osprey:ブラウザ保護

2025-04-13
Osprey:ブラウザ保護

Ospreyは、悪意のあるウェブサイトから保護するためのブラウザ拡張機能です。既知の脅威に対してURLをチェックし、有害なサイトへのアクセスをブロックし、悪意のあるサイトが検出された場合は警告を表示します。ChromeウェブストアまたはMicrosoft Edgeアドオンから簡単にインストールでき、手動インストール手順も提供しています。保護設定をカスタマイズし、提供されている問題トラッカーを通じてサポートを受けることができます。

DragonFlyBSDの次世代ディスク暗号化:dm_target_crypt_ng

2025-04-13

DragonFlyBSDは、重要なアップデートを受けました。dm_target_crypt_ngは、次世代のディスク暗号化実装です。開発者Michael Neumannは、パフォーマンスとインタラクティブ性を向上させるために、DM-cryptコードを再設計しました。新しいバージョンは、opencryptoやcryptodevに依存せず、簡素化された対称ブロック暗号APIを採用し、効率性を高めるために2つのワーカープールを使用しています。現在、AES-CBCとAES-XTSをサポートしており、TwofishとSerpentのサポートを追加する予定です。このアップデートにより、システムの応答性が大幅に向上し、DragonFlyBSDユーザーにとってよりスムーズなディスク暗号化体験を提供します。次のDragonFlyBSD 6.4リリースでデフォルトになる予定です。

開発

個人的なUnixパッケージ管理アプローチ

2025-04-13

著者は、Unixシステムにおける個人のソフトウェアパッケージ管理のための巧妙な方法を共有しています。異なるアーキテクチャのソフトウェアを`~/lib/`ディレクトリツリーに格納し、各プログラムは個別のバージョン付きサブディレクトリ(例:`emacs-30.1`)にインストールされます。`~/bin/bin.`ディレクトリには、これらのプログラムへのシンボリックリンクまたはラッパースクリプトが配置され、異なるバージョン間の切り替えが容易になります。pipxやCargoなどのツールについては、デフォルトのインストール場所を維持しますが、パス競合を避けるために`~/bin/bin.`にリンクを作成します。この設定は完璧ではありませんが、システムのパッケージマネージャーでは入手できないか、古すぎるソフトウェアを管理するのに非常に役立ちます。

1 2 113 114 115 117 119 120 121 214 215