Category: 開発

計算科学・情報工学のための数値線形代数:コース概要

2025-05-03

計算科学・情報工学の学生向けの、数値線形代数に関するコースです。18回の講義で構成され、各講義には理論的な説明、宿題、そして主にJuliaを使ったプログラミング課題が含まれています。線形代数の基礎、浮動小数点演算、直接法、疎データ構造、反復法、クリロフ部分空間法、マルチグリッド法、ランダム数値線形代数の要素、通信回避アルゴリズムなどが含まれます。スライドやJupyter Notebookなど、豊富な学習リソースが提供されています。

Jプログラミング言語超入門

2025-05-03
Jプログラミング言語超入門

この簡潔なJプログラミング言語入門は、ある程度のプログラミング経験を持つプログラマを対象としています。データ型、関数、修飾子、配列、制御構造、エラー処理といったコアコンセプトを、実践的な適用に重点を置いて解説しています。読者には、提供された例を実行し、コメントを読むことが推奨されています。迅速な学習を支援するために、重要なリンクとリソースが含まれています。

DuckDB空間拡張:地理空間データへのアクセスを民主化

2025-05-03
DuckDB空間拡張:地理空間データへのアクセスを民主化

汎用データツールに地理空間機能を埋め込むとどうなるか?より多くの人が地理空間データを使用するようになります!最近のクラウドネイティブ地理空間会議では、地理空間の採用拡大の必要性が強調されました。DuckDBの空間拡張は、インストールとロードにわずか2行のコードしか必要としないため、参入障壁を大幅に低減します。これにより、カジュアルユーザーでも地理空間データと簡単に作業できるようになり、エコシステムが大幅に強化されます。Overture Maps Foundationの成功は、このアクセスの容易さと密接に関連している可能性があります。

開発

インディーハッカーの快挙:ドキュメント翻訳アプリがGoogle翻訳とDeepLを凌駕

2025-05-03

アマチュアプログラマーが、わずか2週間の空き時間でドキュメント翻訳アプリ「Kintoun」を開発。驚くべきことに、翻訳精度とレイアウト維持において、Google翻訳やDeepLを上回った。本記事では、予想外の成功、製品配布の重要性、Inertia.jsとSvelteの組み合わせといった開発過程での学びを共有。Kintounは、脚注やルビ文字など、複雑なレイアウトも完璧に処理する。作者はマーケティングの重要性を強調し、ユーザーニーズを捉え、真の価値を提供する戦略が成功の鍵だと述べている。

Hardcoverの移行:Next.jsからRails方式へ

2025-05-03
Hardcoverの移行:Next.jsからRails方式へ

Hardcoverチームは、Next.jsからRuby on RailsとInertia.jsへの移行経験を共有しています。Next.jsの不明確なキャッシング、高騰するコスト、遅い開発速度を理由に、移行を決定しました。その結果、Hardcoverのパフォーマンスが大幅に向上し、ページの読み込み速度が向上、Google Pagespeedスコアも改善、訪問者の滞在時間も長くなりました。共有レイアウトやSSRデバッグなど、課題は残りましたが、全体として好ましい結果となりました。

サーバーレスDNSリゾルバー:serverless-dnsが飛躍

2025-05-03
サーバーレスDNSリゾルバー:serverless-dnsが飛躍

serverless-dnsはPi-Holeに似たサーバーレススタブDNS-over-HTTPS (DoH)およびDNS-over-TLS (DoT)リゾルバーです。Cloudflare Workers、Deno Deploy、Fastly Compute@Edge、Fly.ioで動作し、低トラフィックのユースケースでは無料層を利用できます。ミリ秒単位の応答時間を実現し、簡潔なラジックスツリーを使用して190以上のブロックリストから約1300万のエントリを効率的に管理します。オープンソースプロジェクトでは、カスタム設定、ログのアップロードが可能で、軽量で高性能なDNSソリューションを提供します。

Pandoc:驚くほど効果的なLaTeXからMathMLへのコンバーター

2025-05-03
Pandoc:驚くほど効果的なLaTeXからMathMLへのコンバーター

著者はLaTeX式をMathMLに変換する様々な方法を探求し、最終的にPandocが最も効率的であることを発見しました。Pandocは、複雑な行列や区分関数を含む、単一行および複数行の式を簡単に処理します。極限と総和を含む式を処理する際に小さなバグが見つかりましたが、全体的なパフォーマンスは優れており、Pandocの出力をクリーンアップして効率を向上させるPythonスクリプトが提供されています。

開発

あなたは本当に自分のウェブサイトを所有しているのか? コントロールの幻想

2025-05-03

2020年のロックダウン中、あるレストランのウェブサイトは生命線となりました。オーナーはウェブサイトのメンテナンスを外部委託しましたが、「メンテナンス担当者」が数ヶ月間連絡が取れなくなり、ウェブサイトの更新ができなくなりました。これは、ウェブサイトの制御に関する議論を引き起こしました。メンテナンス担当者に連絡して変更を依頼することから、サーバーファイルやDNSレコードを直接変更すること、さらにはサーバーを交換することまで、方法は複雑さを増していきます。この記事は、真の制御は、レジストラアカウント、DNS管理、サーバーアクセスなど、関連するアカウントと権限の所有権にかかっていることを強調しています。これは、アウトソーシングのリスクを理解し、必要な制御を維持することを思い出させてくれます。

PostgreSQLマルチAZクラスタにおけるトランザクションの可視性問題:Jepsenレポートの詳細分析

2025-05-03
PostgreSQLマルチAZクラスタにおけるトランザクションの可視性問題:Jepsenレポートの詳細分析

最近のJepsenレポートは、Amazon RDS for PostgreSQLマルチAZクラスタにおける長年のトランザクションの可視性問題を指摘しています。トランザクションが可視になる順序は、プライマリとレプリカで異なるという問題です。これはデータの損失や破損を引き起こすものではなく、シングルAZデプロイメントやAuroraデータベースには影響しません。「ロングフォーク」アノマリーに関連しており、スナップショット分離に違反しています。この投稿では、根本原因(ProcArrayとWALの非同期更新)を詳細に説明し、それがどのように矛盾した結果につながるかを示しています(例:AliceとBobがHacker Newsの記事のランキングを異なって観測する)。アプリケーションの正確性に影響を与えることは稀ですが、PostgreSQLクラスタのエンタープライズレベルの機能のためには修正が不可欠です。AWSはPostgreSQLコミュニティと協力してこの問題を解決しており、トランザクション順序に関するアプリケーションの仮定を見直したり、明示的な同期メカニズムを使用したりするなどの回避策を提供しています。

私がかつてClojureを書いた理由

2025-05-03

著者は5年間Clojureを専門的に使用していました。最初は大好きでしたが、最終的には嫌いました。理由は同じで、退屈だったからです。著者は、魂のない企業のために汎用的なエンタープライズコードを書くことを強いられませんでしたが、それが楽しくできれば克服できました。Clojure、Go、Rust、Zigなどの新しい技術は、興味を維持するのに役立ちました。著者は、Clojureの誕生とフィンテックにおける高い採用率は、非常に知的なエンジニアの「退屈」に起因すると推測しています。高給の仕事には非常に知的なエンジニアが必要ですが、彼らはすぐに退屈し、知的な刺激を必要とします。エンタープライズコードの記述は比較的退屈なため、フィンテック企業は、エンジニアがコードベースに「おもちゃ」を入れることを許可し、離職率を下げています。

Vibeコーディング:流行か、それともソフトウェア開発の未来か?

2025-05-03
Vibeコーディング:流行か、それともソフトウェア開発の未来か?

Andrej Karpathyによって普及したVibeコーディングは、CursorなどのAIアシスタントを使用して音声コマンドでコーディングすることを意味します。ソフトウェア作成の参入障壁を下げ、迅速なプロトタイピングを可能にする一方で、従来のコーディングスキルに取って代わるものではありません。この記事では、Vibeコーディングはプロトタイピングを民主化しますが、堅牢なソフトウェアを構築するには、プログラミング言語とコンピュータサイエンスに関する深い理解が依然として必要であると主張しています。経験豊富なプログラマーの開発を加速するためのツールであり、ソフトウェアエンジニアに取って代わる魔法の解決策ではありません。

ANEMLL:AppleのNeural EngineでのLLM高速化

2025-05-03
ANEMLL:AppleのNeural EngineでのLLM高速化

ANEMLLは、AppleのNeural Engine(ANE)から始まるテンソルプロセッサへの大規模言語モデル(LLM)の高速化に焦点を当てたオープンソースプロジェクトです。Hugging Faceからのモデル変換からANEでの推論まで、完全なオープンソースパイプラインを提供し、低電力エッジアプリケーションでのシームレスなオンデバイス推論を可能にし、プライバシーとセキュリティを最大化します。現在、LLaMA 3.1などのモデルをサポートしており、SwiftとPythonのサンプルコード、iOS/macOSアプリケーションを提供しています。これはアルファリリースであるため、量子化の改善が期待されます。

開発

ソースコード公開:QModem 4.51、古典的なMS-DOS通信プログラム

2025-05-03
ソースコード公開:QModem 4.51、古典的なMS-DOS通信プログラム

John Friel III (1960-2024) が作成したMS-DOS通信プログラムQModem 4.51のソースコードが公開されました。1992年の「試用版」で、様々なモデムプロトコル、スクリプティング、カスタマイズ、自動設定、さらにはホストモードなどの機能を備えています。通信愛好家、レトロコンピューティング愛好家、そして古典的なDOSソフトウェアに興味のある人にとって貴重な歴史的資料となります。ただし、コンパイルにはTurbo Pascal 5.x/6.0と様々な依存ライブラリが必要であり、オーバーレイ管理にも対処する必要があり、困難な作業となります。

Tclにおけるクロージャのエミュレーション:巧妙なハック

2025-05-03

この記事では、ネイティブでクロージャをサポートしていないTcl言語において、クロージャのような動作を実装する方法を探ります。著者は、名前空間とTclOOオブジェクトシステムを巧みに利用して、クロージャを模倣するクラスを作成しました。このクラスは外部変数をキャプチャし、元のスコープ外でも有効性を維持することで、クロージャのような機能を実現します。C++のクロージャとは若干異なりますが、Tclでクロージャが必要な開発者にとって実用的な解決策を提供します。

開発

pipask: セキュアなPythonパッケージインストール

2025-05-03
pipask: セキュアなPythonパッケージインストール

pipaskはpipのより安全な代替手段であり、Pythonパッケージのインストール前にセキュリティチェックを追加します。可能な限り、PyPIメタデータの使用を優先し、コードのダウンロードと実行を回避します。サードパーティコードの実行が必要な場合、pipaskはユーザーの同意を求めます。リポジトリの人気、パッケージの年齢、既知の脆弱性、PyPIダウンロード数、メタデータ検証などのチェックを実行した後、フォーマットされたレポートを表示し、承認を求めます。承認されると、標準のpipにインストール処理を引き継ぎます。

開発

HTMLはなぜHTMLをインポートできないのか?

2025-05-03
HTMLはなぜHTMLをインポートできないのか?

著者はシンプルなウェブ開発のニーズ、つまり複数のHTMLページで同じヘッダーを再利用することに悩んでいます。多くの解決策を見つけましたが、純粋にHTMLベースのものは一つもありませんでした。そのため、HTMLがCSSやJavaScriptのように他のHTMLファイルを直接インポートできない理由を疑問視しています。プリロードスキャナー、非同期読み込みの問題、ネストされたインクルードの複雑さ、Webリクエストの増加など、考えられる理由を探り、読者の意見を求めています。

開発

Kotlinで構築されたローカルLLMプロキシ:JetBrains AIアシスタントの福音

2025-05-03
Kotlinで構築されたローカルLLMプロキシ:JetBrains AIアシスタントの福音

JetBrains AIアシスタントの無料枠が制限されているため、作者はKotlin/Ktorアプリケーションを開発しました。これは、OpenAI、Claude、Geminiなどの複数のLLM APIをLM StudioおよびOllama APIとしてプロキシし、JetBrains IDEで使用できるようにします。反射を使用しない機能を利用して、GraalVMネイティブイメージとして構築されており、クロスプラットフォームと高速起動を実現しています。ストリーミングチャットをサポートし、構成が容易で、ホットリロードも可能です。

開発

シンプルなブログ構築スクリプト

2025-05-03

このスクリプトは、シンプルな静的ブログを構築します。指定されたディレクトリからMarkdownファイルを読み込み、markdown2ライブラリを使用してHTMLに変換し、HTMLテンプレートに基づいて静的ブログページを生成します。また、すべてのブログ投稿のタイトルとリンクを一覧表示したインデックスページも作成します。このプロセス全体は自動化されており、効率的でシンプルです。

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

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

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

開発

AppleとAnthropic、AIによるコード生成プラットフォームを共同開発

2025-05-03
AppleとAnthropic、AIによるコード生成プラットフォームを共同開発

AppleはAIスタートアップのAnthropicと協力し、AIを活用してプログラマーのコード作成、編集、テストを行う新しい「vibe-coding」プラットフォームを開発しています。これはXcodeの新しいバージョンで、AnthropicのClaude Sonnetモデルが統合されています。現在、Appleは社内でソフトウェアをテストしており、公開リリースについてはまだ決定していません。このパートナーシップは、AI支援ソフトウェア開発における大きな進歩を示しており、プログラマーの働き方を革命的に変える可能性があります。

開発

PRDを捨て、デモ駆動開発を採用する

2025-05-03
PRDを捨て、デモ駆動開発を採用する

急速に変化するソフトウェア開発の世界では、長々しいPRDドキュメントはしばしば効率を阻害します。デモ駆動開発は、よりアジャイルなアプローチを提供します。インタラクティブなデモプロトタイプを作成することに優先順位を置き、ユーザーとステークホルダーからのフィードバックを迅速に収集します。デモは最終製品ではなく、抽象的な概念を視覚化し、非技術者にも理解できるようにするための手段です。デモの作成とアクセスを簡素化し、コア機能へのフィードバックに焦点を当てることで、チームはより効率的に反復し、最終的にユーザーニーズにより良く合った製品を生み出すことができます。ドキュメントは依然として重要ですが、デモ駆動開発は初期段階で効率を大幅に向上させ、チームがより迅速に方向性を見つけるのに役立ちます。

Pi0、Lerobot、Rerunを用いたロボットトレーニング:ヒューマンポーズモーションリターゲティングアプローチ

2025-05-02
Pi0、Lerobot、Rerunを用いたロボットトレーニング:ヒューマンポーズモーションリターゲティングアプローチ

このプロジェクトは、Pi0、Lerobot、Rerunを用いたロボットトレーニングを探求しています。Linuxをサポートし、Pixiパッケージマネージャーを利用します。カメラキャリブレーション、ヒューマンポーズと運動学の分析、多視点画像からの3D関節位置と角度情報の抽出が含まれます。最終的な目標は、時間同期されたマルチカメラ映像を、ロボットがモーションリターゲティングと微細運動スキルの学習に使用できる軸角関節パラメータと3D位置に変換することです。ヒューマンポーズと運動学、ボディとハンドポーズのリターゲティング、模倣学習と遠隔操作を網羅したJupyter Notebookチュートリアルを提供します。

オープンソースAIフレームグラフ:Intel Battlemage GPUサポート搭載

2025-05-02

IntelはAIフレームグラフをオープンソース化し、Intel Battlemage GPUのサポートを追加しました。これにより、フルスタックGPUフレームグラフを生成し、ゲームパフォーマンスに関する前例のないインサイトを得ることができます。記事では、GZDoomを例に、FlameScopeとCPUおよびGPUフレームグラフを組み合わせて、パフォーマンスボトルネックを特定する方法を示しています。CPUとGPUの活動を視覚的に比較することで、開発者は最適化の余地を迅速に特定できます。この例では、CPUシェーダーのコンパイル時間と、さまざまなゲームシーンにおけるGPUのパフォーマンス変動が強調されています。設定にはLinuxシステムとカーネル/ライブラリの調整が必要ですが、強力な分析機能により、ゲーム開発者やパフォーマンスエンジニアにとって貴重なツールとなります。

Elmにおけるプロパティベーステスト:興味深いケースの網羅性を確保する

2025-05-02

この記事では、ElmでTest.Distributionを使用して、プロパティベーステストが興味深いケースを網羅するようにする方法を示しています。著者は、キューの実装例を用いて、Test.reportDistributionがテストデータの分布レポートを生成する方法、およびTest.expectDistributionが期待される分布を強制する方法を示しています。これにより、開発者はテストカバレッジをより正確に制御し、データの分布が不均一なために重要なテストケースを見逃すことを防ぐことができます。この記事では、Fuzz.examplesとFuzz.labelExamples関数についても触れられており、開発者がテストデータをよりよく理解し、デバッグするのに役立ちます。

開発

漸近的推定値の検証を自動化するPythonツール

2025-05-02
漸近的推定値の検証を自動化するPythonツール

この記事では、漸近的推定値、特に加算、乗算、除算、べき乗、最小値/最大値などの算術演算を使用して組み合わせられた有限個の正の実数を含む推定値を自動的に検証するためのPythonツールについて説明します。このツールは、ケース分割と線形計画法を使用して、不等式が成り立つかどうかを自動的に判定し、証明または反例を提供します。著者は、自身の経験に基づいてツールの有用性を示し、より複雑な式を処理することや既存の数学ソフトウェアプラットフォームへの統合など、将来的な改善点について議論しています。

JDK 25: ハッシュコードの定数折り畳みによるStringのパフォーマンス向上

2025-05-02

JDK 25では、String::hashCode関数の定数折り畳みを可能にすることで、Stringクラスのパフォーマンスが大幅に向上しました。これにより、特に静的かつ不変のMapでStringをキーとして使用する場合、パフォーマンスが大幅に向上します。ネイティブ呼び出しのMethodHandleをStringキーでアクセスするシナリオでは、8倍以上の性能向上が見られました。この最適化は、内部フィールドString.hashに@Stableアノテーションを付けることで実現されます。これにより、JVMはハッシュコードをキャッシュして再利用できるようになり、ゼロ以外のハッシュコードに対して再計算を回避できます。ゼロのハッシュコードは最適化を妨げる可能性がありますが、今後の修正が期待されます。

開発

Anukari:3D物理ベースの革新的シンセサイザー

2025-05-02

Anukariは、完全にインタラクティブな3D物理シミュレーションに基づいたソフトウェアシンセサイザーおよびエフェクトプロセッサーです。質量やバネなどの物理コンポーネントをドラッグアンドドロップして、独自の3D楽器やエフェクトをデザインできます。作成したものをリアルタイムで確認し、聴くことができます。MPEに対応し、お好みのDAWでプラグインとして、またはスタンドアロンモードで使用できます。GPUを活用したパワフルなオーディオ処理により、壮大なサウンドスケープや奇妙なエフェクトを実現します。現在ベータ版で、50%割引中です。

BLAST:高性能ウェブブラウジングAIサービングエンジン

2025-05-02
BLAST:高性能ウェブブラウジングAIサービングエンジン

BLASTは、OpenAI互換APIと組み込みの同時実行およびストリーミング機能を備えた、高性能なウェブブラウジングAIサービングエンジンです。コストを抑え、インタラクティブなレイテンシを実現するために、タスクの自動キャッシングと並列化を行います。`pip install blastai && blastai serve`という簡単なコマンドでローカルで実行でき、予算やメモリ消費を心配する必要はありません。OpenAI互換APIにより、簡単に統合でき、ブラウザ拡張LLM出力をリアルタイムでストリーミングできます。

開発

Redis、クラウド大手とのライセンス争い後、オープンソースに戻る

2025-05-02
Redis、クラウド大手とのライセンス争い後、オープンソースに戻る

人気のインメモリデータストアであるRedisは、より制限的なライセンスで1年間実験した後、オープンソースライセンスに戻ってきました。クラウドプロバイダーがホストされたRedisサービスを提供することを防ごうとした試みは裏目に出ました。Valkeyのようなフォークの作成につながりました。AGPL v3ライセンスの下でのRedis 8のリリースは、プロジェクトを保護し、オープンソースコミュニティとの橋渡しを再構築することを目的としています。この物語は、オープンソースソフトウェアの商業化の課題と、クラウド大手との複雑な関係を浮き彫りにしています。

開発

Ubicloudのバースト可能なVM:cgroups v2によるCPUスライシング

2025-05-02
Ubicloudのバースト可能なVM:cgroups v2によるCPUスライシング

AWSのオープンソース代替であるUbicloudは、クラウドコスト削減のためにバースト可能なVMを導入しました。Linux cgroups v2を活用することで、これらのVMは共有CPUリソースの一部で動作し、ピーク負荷時にはより高いCPU使用率にバーストします。この記事では、cpusetコントローラーとcpuコントローラーを含むcgroups v2の設定と使用方法、仮想ファイルシステムまたはsystemdによる管理方法について詳しく説明します。テストでは、バースト可能なVMは軽負荷時に約30%のパフォーマンス向上を実現しましたが、これはcgroups v2のマイクロインターバル制限によって制限されています。

1 2 98 99 100 102 104 105 106 214 215