Category: 開発

2025年アロンゾ・チャーチ賞:ラムダ計算研究の統合

2025-06-23

ポール・ブレイン・レヴィは、Call-by-Push-Value(CBPV)計算に関する画期的な研究により、2025年アロンゾ・チャーチ賞を受賞しました。彼の研究は、純粋な論理的ラムダ計算と、効果を含む適用されたラムダ計算の別々の研究の流れを統合しました。CBPVは、効果、分極化、項の正規化、型の同型、プログラム変換など、計算と論理の現象を研究するための統一的な枠組みとして機能します。レヴィの貢献は、代数的データ型、操作的意味論、意味論的意味論、等式理論に及び、ラムダ計算の意味論的理論とそのプログラミング言語モデリングへの応用を大幅に進歩させました。

Polystate: Zigにおける合成可能な有限状態マシン

2025-06-23
Polystate: Zigにおける合成可能な有限状態マシン

Polystateは、型の合成を通じて合成可能な有限状態マシンを構築するためのZigライブラリです。プログラミングの慣習を強制し、型レベルで状態マシンの状態を記録し、型の合成によって合成可能性を実現します。これにより、命令型プログラム構造の正確性が向上し、型と合成の観点からプログラムの状態を再設計することが促され、コードの合成可能性が向上します。Polystateは状態図を自動生成するため、ユーザーはプログラムの動作を直感的に理解できます。例として、ATMでのPIN入力試行回数の制限やraylibゲームでの選択メカニズムの再利用など、型の合成を通じて単純な状態マシンと複雑な状態マシンの構築方法を示しています。

Otus Lisp 2.6リリース:軽量でクロスプラットフォームなLisp方言

2025-06-23

Otus Lisp (Ol)バージョン2.6がリリースされました!これは軽量(約64KB)で純粋関数型のLisp方言であり、R7RS Schemeの拡張サブセットを実装し、複数のプラットフォーム(Linux、Windows、macOS、Androidなど)とアーキテクチャをサポートしています。Olは埋め込み可能で、他の言語で書かれたコードを呼び出すための高レベルインターフェースを提供します。WebAssemblyにも対応しており、様々なブラウザで実行できます。今回のリリースでは、より便利な数学表記のためのinfix表記が導入されました。

開発

Stack Overflowの衰退とプログラミング言語ランキングへの影響

2025-06-23
Stack Overflowの衰退とプログラミング言語ランキングへの影響

RedMonkは、GitHubとStack Overflowのデータを使用してプログラミング言語のトレンドを追跡しています。しかし、Stack Overflowの質問数は2016年以降減少しており、ChatGPTなどのAIコーディングアシスタントの台頭後にはさらに加速しています。これは、RedMonkのプログラミング言語ランキングの信頼性に大きく影響します。チームは現在、この重要な分析を維持するために代替データソースを探求しています。

開発

Lambdaを用いたAWS Backupのクロスアカウント、クロスリージョンコピーの難問解決

2025-06-23

この記事では、AWS Backupがクロスアカウントとクロスリージョンのバックアップを同時にサポートしていないという制限を著者がどのように克服したかを詳しく説明しています。セキュリティとディザスタリカバリポリシーに基づき、バックアップを別々のアカウントとリージョンに保存する必要があるため、AWS Backup、EventBridge、Lambda関数巧みに組み合わせることで、クロスアカウント、クロスリージョンのバックアップレプリケーションを実現するソリューションを構築しました。これには、ソースアカウントとデスティネーションアカウントのVault、ポリシー、EventBridgeルール、Lambda関数の設定、暗号化と権限の処理などが含まれます。著者はこのソリューションを正常に実装し、自動化されたリストアテストやコスト監視などのさらなる最適化提案も行っています。

開発

Kastle:AIを活用した住宅ローンサービスの創設エンジニア募集

2025-06-22
Kastle:AIを活用した住宅ローンサービスの創設エンジニア募集

Kastleは、AIインフラの構築と最適化を行う創設エンジニアを募集しています。同社は、AI音声エージェントを活用して、米国の主要な住宅ローン事業者のコンタクトセンターとコンプライアンス運用を拡大しており、230万ドルの資金調達を受けています。この役割は、バックエンド開発、分散システム、AI統合の専門知識を必要とします。責任には、スケーラブルなバックエンドサービスの開発、ローンサービスプラットフォームと統合するAPI、および金融規制(SOC 2、FDCPA、RESPA、TILA)への準拠の確保が含まれます。

開発

Void IDE:プライバシー重視のオープンソースAIコードエディター

2025-06-22
Void IDE:プライバシー重視のオープンソースAIコードエディター

ベータ版で公開された新しいオープンソースAI搭載コードエディター、Void IDEは、CursorやGitHub Copilotのような独自のAIエディターに対する、プライバシー重視の無料代替案として位置付けられています。Y Combinatorの支援を受け、Visual Studio CodeをフォークしたVoid IDEは、ユーザーがClaude、GPT、Geminiなどの大規模言語モデルをローカルで処理するか、APIを介して直接呼び出すかを選択でき、プライバシーに関する懸念とサブスクリプションコストを軽減します。インラインコード編集、AIチャット、コード生成などの機能を備え、同様のツールを反映しながら、ユーザーデータのコントロールを優先しています。このプロジェクトはHacker NewsやRedditで大きな関心を集め、オープンソースの性質や、増加するVS Codeフォークの数について議論が交わされています。

開発

FreeBSD 14.3、専用のカーネルモジュールパッケージリポジトリを追加

2025-06-22
FreeBSD 14.3、専用のカーネルモジュールパッケージリポジトリを追加

長年、FreeBSDのポイントリリースは、カーネルモジュールパッケージとカーネルバージョンとの間に非互換性を引き起こし、システムクラッシュを招いていました。この問題を解決するために、FreeBSD 14.3は、最新のカーネルバージョンと互換性のあるモジュールを含む、専用のカーネルモジュールパッケージリポジトリを正式に導入しました。これにより、長年ユーザーを悩ませてきた問題が解決され、システムの安定性が向上し、特にデスクトップ/ラップトップシステムでの非互換なグラフィックドライバによるクラッシュが修正されました。アップグレードには、`/etc/pkg/FreeBSD.conf` ファイルを変更して新しいカーネルモジュールリポジトリを含めることが含まれます。

Typstで書いた博士論文:成功と苦難

2025-06-22

ある博士課程の学生が、革新的な組版言語Typstを使って博士論文を書いた経験について語っています。TypstはMarkdownの使いやすさとRustの強力なスクリプト機能を組み合わせ、驚くべき高速なコンパイル速度を実現し、レイアウトやスタイルの迅速な反復を可能にしました。しかし、Typstの参考文献管理機能は理想的ではなく、厳格な引用書式要件を満たすために追加のツールや手動調整が必要でした。著者は、プログラミングが好きでツールを調整するのが好きな人にはTypstが優れた選択肢だが、すぐに使えるシステムを好む人にはLaTeXの方がまだ安全な選択肢だと結論付けています。

開発 博士論文

インターネットの野獣を飼いならす:スマートホームによるモデレーション

2025-06-22
インターネットの野獣を飼いならす:スマートホームによるモデレーション

インターネットの気を散らすものにうんざりした著者は、ソーシャルメディアへのアクセスを制御するためのスマートホームシステムを構築しました。AdGuard Home、Home Assistant、Zigbeeスマートプラグを使用して、自動化を作成しました。ボタンを押すと、AdGuardのフィルタリングが15分間一時的に無効になり、その後1時間のクールダウン期間に入ります。この記事では、AdGuard Home APIの設定とHome Assistantの自動化を含むセットアップの詳細を説明し、インターネットの使用量を管理し、依存症に対抗するための実用的な解決策を提供します。

不親切な技術ドキュメント:開発者の最大の障害?

2025-06-22
不親切な技術ドキュメント:開発者の最大の障害?

2024年のStack Overflow調査では、技術ドキュメントとチュートリアルがコーダーにとって重要な学習リソースであることが強調されています。しかし、多くの開発者はそれらを読んだ後にさらに混乱を感じ、フラストレーションを経験しています。これは、コーディングの専門知識が自動的に明確な文章力に結びつくわけではないという事実によるものです。解決策としては、開発者がライティングスキルを向上させること、そして組織がユーザーからのフィードバックを収集し、テクニカルライターを雇用し、GitHub上のドキュメント関連の問題をより積極的に解決することなどが挙げられます。

C++26がコンパイル時リフレクションに対応:ボイラープレートコードに別れを告げ、高性能へ

2025-06-22

ハーブ・サターは、C++26にコンパイル時リフレクションが導入されることを発表しました。これはC++開発に大きな変化をもたらします。コンパイル時リフレクションにより、プログラム自身の構造にアクセスできるようになり、クラスのメソッドを列挙するなどの作業が可能になります。simdjsonなどのライブラリにとって特に大きな影響があり、カスタムデータ構造とJSON文字列間の高速変換を、定型コードなしで実現できます。この記事では、コンパイル時リフレクションを使用して効率的なSQL挿入文を生成する方法を示し、定型コードを削減し、コードの再利用性と安全性を向上させます。コードは複雑に見えるかもしれませんが、パフォーマンスの向上とコードの簡素化は非常に大きいです。

給与交渉完全ガイド:心のモラル的ジレンマを克服する

2025-06-22
給与交渉完全ガイド:心のモラル的ジレンマを克服する

パトリック・マッケンジーによるエンジニアのための給与交渉に関する人気エッセイは、何百万人もの人々がより高い給与を得るのを助けてきました。この音声版は、専門家が交渉することを妨げる心理的障壁に取り組み、それが非倫理的なものではなく、重要なスキルであることを強調しています。実用的なヒントとしては、最初に自分の希望給与を明かさないこと、積極的に聞き、採用マネージャーの言葉遣いを反映すること、徹底的な調査、複数の優先事項の活用、交渉のタイミングとダイナミクスの理解などがあります。このエッセイは、読者が自信を持って交渉し、最適な報酬を得ることを可能にします。

開発 給与交渉

Linuxパイプの限界に挑戦:3.5GiB/sから62.5GiB/sへの最適化

2025-06-22
Linuxパイプの限界に挑戦:3.5GiB/sから62.5GiB/sへの最適化

この記事では、パイプを通してデータの読み書きを行うテストプログラムを繰り返し最適化することで、LinuxにおけるUnixパイプの実装方法を探ります。スループットが約3.5GiB/sの単純なプログラムから始め、最適化の段階を経て、パフォーマンスを20倍以上に向上させます。主な改善点は、`vmsplice`と`splice`システムコールを使用してデータのコピーを排除すること、巨大ページを活用してページングのオーバーヘッドを削減すること、ビジーウェイトループを使用して同期コストを最小限にすることです。Linuxの`perf`ツールを使用したコード例とパフォーマンス分析によって、その過程を詳細に説明します。

開発 パイプ

163行のコードでメモリアロケータを実装

2025-06-22

mimallocメモリアロケータを調べていたところ、事前メモリ割り当てをサポートしていないことがわかりました。そこで、Buddyシステムに基づいた、わずか163行のコードでシンプルなメモリアロケータを実装しました。この記事では、Buddyシステムにおけるメモリ割り当てと解放のプロセスを詳しく説明し、メモリ断片化の問題にも触れています。著者は実装の驚くべき簡潔さを強調し、プログラマにとってメモリ割り当ての原理を理解することがいかに重要であるかを指摘しています。

GlassFlow ClickHouse 負荷テスト:リアルタイム重複排除の大規模化

2025-06-22
GlassFlow ClickHouse 負荷テスト:リアルタイム重複排除の大規模化

GlassFlowチームは、リアルタイム重複排除のための広範囲な負荷テストを実施し、印象的な結果を得ました。MacBook Pro上で、GlassFlowはKafkaから毎秒9,000件以上のレコードを0.12ms未満のレイテンシで処理し、ピーク時には毎秒55,000レコードに達しました。2,000万件のレコードと12の同時パブリッシャーであっても、システムは堅牢性を維持し、クラッシュ、メッセージの損失、順序の乱れは発生しませんでした。このテストは、現実世界のユースケースをシミュレートする合成データを使用し、重複排除、スループット、レイテンシを評価しました。テストの完全な設定はオープンソースです。

開発

Git Notes:過小評価されているGitの強力なツール

2025-06-22

Git Notesは、Gitオブジェクト(コミット、ブロブ、ツリー)にメタデータを付加する強力なツールであり、オブジェクト自体を変更する必要はありません。時間追跡、レビュー情報の追加、`git-appraise`のような完全に分散されたコードレビューシステムの構築などに使用できます。しかし、Git Notesは使い勝手が悪く、GitHubは2014年にコミットノートの表示を停止したため、採用が制限されています。それでも、コードフォージに依存しない完全なプロジェクト履歴への道筋を提供しています。

LibRedirect:プライバシー重視のウェブサイトリダイレクター

2025-06-22

LibRedirectは、YouTube、Instagram、Reddit、TikTokなどの一般的なウェブサイトを、プライバシーを重視した代替フロントエンドにリダイレクトするウェブ拡張機能です。 InvidiousやPiped(YouTube用)、LibredditやTeddit(Reddit用)など、多くの代替サイトを提供し、ユーザーによりプライバシーと安全性の高いブラウジング体験を提供します。データ追跡に別れを告げ、プライバシーを歓迎しましょう!

創造的コーディング:AI時代のコンピュータサイエンス教育の変革

2025-06-22
創造的コーディング:AI時代のコンピュータサイエンス教育の変革

AIがソフトウェア開発を変革する中、従来のコンピュータサイエンス教育は改革が必要です。この記事では、コーディングだけでは不十分であり、生徒はシステム思考、創造的なデザインスキル、意図的な構築能力を身につける必要があると主張しています。創造的コーディングは、プログラミングを自己表現とイノベーションの手段として用いることで、内発的な動機と計算的思考を育むソリューションとして登場します。Minecraftベースのカリキュラムの例では、ゲームデザインとストーリーテリングがどのように効果的にコーディングの概念を教え、生徒のエンゲージメントと学習成果を高めるかを示しています。この記事は、教員の専門的能力開発の重要性を強調し、創造的コーディングを教室に統合するためのより大きな支援を訴えています。

Clippy、品質向上のため12週間の機能フリーズへ

2025-06-22
Clippy、品質向上のため12週間の機能フリーズへ

RustのリンターClippyは、2025年6月26日から12週間の機能フリーズに入ります。750個以上の既存のlintの精度向上と誤検出の削減に焦点を当てます。この期間中は新しいlintは受け付けませんが、バグレポートや既存lintの改善に関するプルリクエストは歓迎します。目的はコード品質の向上と、Rustユーザーへのより信頼性の高いlint体験の提供です。

開発

mbake: 50年を経て登場したMakefileフォーマッター&リンター!

2025-06-22
mbake: 50年を経て登場したMakefileフォーマッター&リンター!

50年の歳月を経て(Makefileの長きにわたる歴史を指します)、mbakeがついに登場しました!このMakefileフォーマッター&リンターは、インデント、スペース、改行などのフォーマット問題を自動的に修正するだけでなく、.PHONYターゲットをインテリジェントに検出し、カスタムルールやプラグイン拡張にも対応しています。豊富なコマンドライン引数により、フォーマット、検証、バージョン管理を容易に行え、CI/CDワークフローにもシームレスに統合できます。初心者から上級者まで、mbakeはMakefile作成の効率性と可読性を大幅に向上させます。

Claude CodeがリモートMCPサーバーをサポート、開発ワークフローの向上を実現

2025-06-22
Claude CodeがリモートMCPサーバーをサポート、開発ワークフローの向上を実現

Claude Codeは、リモートMCPサーバーをサポートするようになりました。開発者は、ローカルサーバーを管理することなく、お気に入りのツールやデータソースを接続して、コーディング体験をパーソナライズできます。MCPサーバーから公開されているツールやリソースにアクセスすることで、Claude Codeは、開発ツール、プロジェクト管理システム、ナレッジベースなどのサードパーティサービスからコンテキストを取得し、これらのサービス内でアクションを実行できます。デバッグのためのSentryやプロジェクト管理のためのLinearなどの統合により、ワークフローが合理化されます。リモートMCPサーバーはメンテナンスが少なく、ベンダーのURLを追加するだけです。Claude CodeのネイティブOAuthサポートにより、APIキーを管理したり、資格情報を保存したりすることなく、安全な接続が保証されます。

開発

Linux向けクロスコンパイルツールチェーンの大規模リポジトリ

2025-06-22

このウェブサイトは、多数のアーキテクチャをターゲットとしたLinux向けの、すぐに使えるクロスコンパイルツールチェーンを豊富に提供しています。GCCとBinutilsをベースに構築されており、glibc、uClibc-ng、musl Cライブラリを使用する複数のバリエーションがあります。Buildrootビルドシステムを利用しています。ほとんどのツールチェーンは、Linuxカーネルとユーザー空間をビルドしてQemuでブートすることでテストされています。各アーキテクチャとCライブラリの組み合わせに対して、安定版(古い実績のあるコンポーネントを使用)と最新版(最新のコンポーネントを使用)の2つのバージョンが提供されています。

開発

純粋な形としてのサウンド:スタックベースの後置記法によるサウンドプログラミング言語

2025-06-22
純粋な形としてのサウンド:スタックベースの後置記法によるサウンドプログラミング言語

SAPFは、純粋な形としてのサウンドを探求するためのインタプリタです。その言語は主に関数型、スタックベースであり、FORTHに似た後置記法を使用します。オーディオと制御イベントは、遅延評価され、無限の可能性のあるシーケンスを使用して表現されます。これは、遅延シーケンスに対してAPLが配列に対して行うこと、つまり、遍在する自動マッピング、スキャン、およびリダクション演算子を持つ非常に高レベルの関数を提供することを目的としています。これにより、短いプログラムで、そのサイズに比べて不釣り合いな結果を得ることができます。ほぼすべてのプログラマがアクセス可能なデータ型が不変であるため、この言語はデッドロックや破損なしに複数のスレッドを簡単に実行できます。APL、Joy、Haskell、Piccola、Nyquist、SuperColliderに触発され、簡潔で表現力豊かなことを優先しています。

GitHub Container RegistryへのMicrosoft Edit用Dockerコンテナの公開

2025-06-22
GitHub Container RegistryへのMicrosoft Edit用Dockerコンテナの公開

著者は、Microsoftの新しいターミナルテキストエディタであるEditのDockerイメージを作成し、GitHub Container Registryに公開するプロセスを詳細に説明しています。Apple Silicon向けの公式ビルドがないため、著者はaarch64-linux-gnu版をMacで実行するためにDockerコンテナを作成しました。この記事では、サイズを最小限に抑えるためのマルチステージDockerイメージの構築、イメージをプッシュするためのGitHub Personal Access Tokenの使用、Apple Silicon MacとDockerを持つユーザーがEditを実行するための簡単なコマンドについて説明しています。

開発

スタートアップにおけるPハッキング:統計的トラップの回避

2025-06-21
スタートアップにおけるPハッキング:統計的トラップの回避

スタートアップにおける迅速な製品リリースのプレッシャーは、チームが改善に見える結果を報告する傾向を生み出し、Pハッキングにつながります。この記事では、3つの一般的なシナリオ、つまり補正のない多重比較、事後的な指標の再定義、そしてヒットが得られるまで実験を実行することについて詳しく説明します。仮説と指標の事前登録、事後的なデータ探索の回避、多重比較のための補正の使用、そして早期の確認のための適切な閾値の適用が重要であると強調しています。決定的な否定的な結果を祝うことを提唱し、厳格な統計的手法がノイズの発生を防ぎ、ユーザー行動の真の理解を構築することにより、学習を加速させると主張しています。

開発 A/Bテスト

CrustによるB言語コンパイラ:開発中

2025-06-21
CrustによるB言語コンパイラ:開発中

Rustで記述され、fasmをバックエンドとして使用するBプログラミング言語コンパイラが利用可能になりました!このプロジェクトには、./tests/フォルダにあるテストをビルドして実行し、サポートされているターゲット全体でマトリックスレポートを生成するbtestというテストユーティリティが含まれています。btestでは、ターゲット(-t)と個々のテストケース(-c)を指定でき、ターゲットを絞ったテストが容易になります。開発中ですが、hello_world.bなどの基本的な例は正常にコンパイルおよび実行されます。

開発 B言語

to-userscript:ブラウザ拡張機能をスタンドアロンユーザースクリプトに変換する強力なCLIツール

2025-06-21
to-userscript:ブラウザ拡張機能をスタンドアロンユーザースクリプトに変換する強力なCLIツール

to-userscriptは、ChromeまたはFirefoxの拡張機能を、任意のユーザースクリプトマネージャーで実行可能なスタンドアロン.user.jsファイルに変換するコマンドラインツールです。Chromeウェブストア、Firefoxアドオン、ローカルディレクトリ、アーカイブファイルなど、さまざまなソースに対応しています。このツールは、一般的なWebExtension APIを巧みに置き換え、CSS、画像、その他のリソースを埋め込み、バックグラウンドスクリプトと国際化をエミュレートします。npm、pnpm、bunなどのパッケージマネージャーを使用して簡単にインストールできます。

IDEの終焉?AIコーディングエージェントの台頭

2025-06-21
IDEの終焉?AIコーディングエージェントの台頭

この記事では、Claude Code、Codex、AmpなどのAIコーディングエージェントの台頭と、それらがソフトウェア開発の方法を変えている様子を探ります。著者は、ターミナルベースの「雰囲気コーディング」が従来のIDEに取って代わっており、エンジニアが驚くべき速度で高品質なコードを生成していると主張しています。この変化は生産性の向上をもたらしますが、雇用の流出やパフォーマンス評価に関する懸念も引き起こします。この記事では、より広範な知識労働や社会へのAIの影響についても展望し、今後数年間で大きな変化が起きることを予測しています。

開発

AWS LambdaによるNATホールパンチングを使用したサーバーレスQUICプロキシ

2025-06-21
AWS LambdaによるNATホールパンチングを使用したサーバーレスQUICプロキシ

このプロジェクトは、AWS Lambda関数とNATホールパンチングを使用してサーバーレスQUICプロキシを実装します。S3を調整に、UDPトラバーサル技術を利用することで、専用のサーバーを必要とせずに暗号化されたプロキシ接続を作成します - 必要に応じてLambda関数が起動されます。このシステムは3段階のアプローチを使用します:調整(クライアントはSTUN経由でパブリックIPアドレスを発見し、セッション情報をS3に書き込みます)、NATホールパンチング(クライアントとLambdaは双方向のホールを作成するためにUDPパケットを交換します)、そしてQUICトンネルの確立(クライアントはQUICサーバーを起動し、Lambdaは接続します)。結果は、SOCKS5プロキシを介してインターネットに接続するブラウザで、Lambda関数がトラフィックを転送する出口ノードとして機能します。

1 2 54 55 56 58 60 61 62 214 215