モックを使わないユニットテスト:斬新なアプローチ

2025-03-29

この記事では、モックやスパイを使用せずに、高速で信頼性が高く、メンテナンスしやすいユニットテストを実現する斬新なアプローチを紹介します。その核心は、状態ベースのテストと「Nullables」と呼ばれる新しいインフラストラクチャ技術を組み合わせることです。「Nullables」はテストダブルではなく、「オフ」スイッチ付きのプロダクションコードであり、外部システムや状態に依存せずにテストを実行できます。プロダクションコードの修正が必要ですが、このアプローチは、テストの不安定性やリファクタリングの困難さといった従来の方法の多くの欠点を回避し、パフォーマンスの大幅な向上をもたらします。この記事では、ナローテスト、状態ベーステスト、オーバーラッピングソーシャブルテストなど、関係するパターンとテクニックを詳細に説明し、多くのコード例と様々なユースケースを提供することで、開発者にとって学習と実装に最適なリソースとなります。

続きを読む

3FS:AIのための高性能分散ファイルシステム

2025-02-28
3FS:AIのための高性能分散ファイルシステム

3FSは、AIのトレーニングと推論のワークロードの課題に対処するために設計された高性能分散ファイルシステムです。最新のSSDとRDMAネットワークを活用することで、分散アプリケーションの開発を簡素化する共有ストレージレイヤーを提供します。主な機能には、優れたパフォーマンスと使いやすさ、CRAQによる強力な整合性、標準的なファイルインターフェース、さまざまなワークロード(データ準備、データローダー、チェックポイント、推論のためのKVCache)のサポートが含まれます。ベンチマークテストでは、大規模クラスタで最大6.6 TiB/秒の読み取りスループットと3.66 TiB/分のソートスループットを実現しました。KVCacheはLLM推論の効率を大幅に向上させ、最大40 GiB/秒のピーク読み取りスループットに達します。このプロジェクトはオープンソースであり、詳細なセットアップと実行手順が提供されています。

続きを読む

ウォークネスの起源:アカデミアから生まれたパフォーマンス的モラル

2025-01-13

この記事では、「ウォークネス」の起源と進化を探っています。著者は、「ウォークネス」は新しい現象ではなく、1980年代に端を発し、1960年代の学生運動の参加者たちが教授となり、政治的見解を教育や研究に持ち込んだことから、最初の政治的正しさの波が生まれたと主張しています。ソーシャルメディアとメディアの分断は、第2の波を煽り、「キャンセルカルチャー」を生み出し、アルゴリズムを通じて怒りを増幅させました。著者は「ウォークネス」をパフォーマンス的なモラルと見なし、その危険性は、複雑なルールを真の美徳に取って代わることにあると述べています。現在衰退しつつあるこの現象に対し、著者は、将来の発生を防ぎ、知的自由主義を維持するために、宗教と同様に扱うことを提案しています。

続きを読む

Jiga:リモートワーク可能なフルスタックエンジニア募集(機械エンジニア向けの「npm」を構築)

2025-02-18
Jiga:リモートワーク可能なフルスタックエンジニア募集(機械エンジニア向けの「npm」を構築)

完全リモートワークの会社Jigaは、物理製品開発の加速を目指しています。React、NodeJS、MongoDBを使ったWebアプリケーション開発経験3年以上、AWS/EC2/ECSの経験を持つフルスタックエンジニアを募集しています。Jigaは、成果重視、信頼関係、会議最小化を重視した実務的な文化です。柔軟なリモートワーク、ストックオプション、年間チームオフサイトなど福利厚生も充実しています。UIとAPIの構築に情熱を持ち、スピード感あふれる環境で活躍したい方、ぜひご応募ください!

続きを読む

Tabby:自己ホスト型AIコーディングアシスタント

2025-01-12
Tabby:自己ホスト型AIコーディングアシスタント

Tabbyは、GitHub Copilotのローカル代替手段となる、オープンソースの自己ホスト型AIコーディングアシスタントです。データベースやクラウドサービスは不要で、OpenAPIインターフェースにより既存のインフラストラクチャ(例:クラウドIDE)との統合が容易です。コンシューマーグレードのGPUをサポートしています。最近のアップデートには、Llamafileのデプロイ統合、Answer Engineのユーザーエクスペリエンスの向上、Answer Engineでの異なるバックエンドチャットモデルの切り替え、メインページでの最近共有されたスレッドの表示などが含まれます。また、IDEプラグインや、チーム管理やセキュアアクセスなどのエンタープライズ機能も備えています。

続きを読む

Fidget:大規模な数学式のための高性能Rustライブラリ

2025-01-08

Fidgetは、大規模な数学式を表現、コンパイル、評価するためのRustライブラリです。主に陰関数曲面のために設計されていますが、その柔軟性から様々な用途に使用できます。Fidgetは、フロントエンド(スクリプトからバイトコードへ)、バックエンド(高速で柔軟な評価)、アルゴリズム(レンダリングとメッシュ化)の3つのレイヤーで構成されています。中心的な革新は、区間演算とトレースの簡素化を組み合わせることで、大規模な式を効率的に処理し、JITコンパイルによってさらにパフォーマンスを向上させることです。WebベースのGUIを含む様々なデモを提供し、自動微分と区間演算をサポートしています。

続きを読む

Gitプロジェクト、Rust導入で行き詰まる

2024-12-13

Gitプロジェクトは、Rustプログラミング言語の導入をめぐって激しい議論を展開しています。賛成派は、Rustのメモリ安全性とリファクタリングの容易さが、Gitのセキュリティと開発者体験を向上させると主張しています。しかし、反対派は、Rustの導入がNonStopなどのニッチなプラットフォームのサポートを損ない、Gitの長期的な存続可能性を阻害する可能性があると懸念を表明しています。金融セクターにおけるNonStopの普及、Gitへの依存、そしてプラットフォーム向けのRustコンパイラの不足が、問題を複雑にしています。議論は最終的に決着せず、Gitプロジェクトは広範なプラットフォームサポートの維持とセキュリティおよび開発者体験の向上という、重要な決断に苦慮しています。

続きを読む

スタンフォード大学研究:再生可能エネルギーは炭素回収よりも費用対効果が高い

2025-02-15
スタンフォード大学研究:再生可能エネルギーは炭素回収よりも費用対効果が高い

スタンフォード大学による研究によると、2050年までに風力、太陽光、地熱、水力発電を100%に切り替えることは、世界の大部分の国々にとって、炭素回収技術よりもはるかに費用対効果が高いことが明らかになりました。この転換により、エネルギー需要とコストが大幅に削減され、大気質が改善し、気候変動が緩和されます。研究では、再生可能エネルギーへの完全な転換と、追加の炭素回収を伴う化石燃料への継続的な依存という2つの極端なシナリオを比較しました。研究によると、再生可能エネルギーへの転換は、化石燃料による大気汚染に関連する年間数百万件の疾病と死亡を回避するため、炭素回収よりも優れた費用対効果の高い解決策となります。研究者たちは、炭素回収を促進する政策を放棄し、大気汚染と気候変動に対処するためには燃焼の排除が不可欠であると主張しています。

続きを読む
テクノロジー 炭素回収

孤独と戦うドイツ流:シュタムティッシュ

2024-12-22
孤独と戦うドイツ流:シュタムティッシュ

現代の忙しい生活の中で、孤独感は増えています。この記事では、著者がドイツで孤独と戦う伝統的な方法、シュタムティッシュを発見した体験について語っています。シュタムティッシュとは、志を同じくする人々が定期的にバーやレストランに集まり、お酒を飲みながらおしゃべりをする集まりです。シュタムティッシュは友情を深め、気楽な社交の場を提供し、現代の孤独に対する解決策となります。著者は自身のコーヒー・クラブと比較しながら、定期的な集会の利点を強調し、人間関係の重要性を訴えています。

続きを読む
その他 ドイツの伝統

マッキンゼー、オピオイド危機で6億5000万ドルの和解金を支払うも、幹部は訴追免れる

2024-12-14
マッキンゼー、オピオイド危機で6億5000万ドルの和解金を支払うも、幹部は訴追免れる

世界的なコンサルティング会社であるマッキンゼー・アンド・カンパニーは、オピオイドの販売増加における役割について連邦捜査当局との和解で6億5000万ドルの支払いに合意しました。マッキンゼーは、自社の戦略が安全でなく不必要なオピオイド処方につながったことを認め、元シニアパートナーは文書破棄で有罪を認めたものの、他の幹部は刑事訴追を免れました。これは、オピオイド危機における大企業の巨額罰金支払いと、経営幹部の責任追及の少なさを示すものであり、企業の責任問題への懸念を引き起こしています。

続きを読む

テスト駆動型ブログ:AIでライティングワークフローを改善する

2025-03-09
テスト駆動型ブログ:AIでライティングワークフローを改善する

この記事では、GPTモデルを活用してブログ記事作成を支援するツール「unit-text」を紹介します。著者は、反復的なライティング、目標指向のアプローチを強調し、ソフトウェア開発におけるテスト駆動開発(TDD)との類似点を指摘し、「テスト駆動型ブログ」という概念を提案しています。unit-textはプロンプトとGPTからのフィードバックを用いて、記事の一貫性、論理的矛盾、目標達成状況などを確認することで、ライティングの効率性と質を高めます。現在プロトタイプのCLIツールであり、今後の計画にはインタラクティブな発想、自律的なリサーチ、API統合などが含まれています。

続きを読む

目標設定と行動変容へのエビデンスに基づいたアプローチ

2024-12-27
目標設定と行動変容へのエビデンスに基づいたアプローチ

新年の抱負はしばしば失敗に終わる?この記事では、目標設定と行動変容のためのエビデンスに基づいた戦略を探ります。研究によると、新年の抱負の成功率は一般的に考えられているほど低くありません。「新たなスタート効果」を活用し、目標階層設定(上位目標、中間目標、下位目標)、接近目標対回避目標、プロセス目標対結果目標、習得目標対パフォーマンス目標、柔軟な抑制対厳格な抑制、そして実行意図戦略を組み合わせることが重要です。この記事では、MacroFactorなどのツールがどのように目標設定と行動変容を支援するかについても詳述しています。

続きを読む

Hyperbola GNU/Linux-libre:自由と長期サポートを重視した軽量OS

2024-12-15

Hyperbola GNU/Linux-libreは、コミュニティ主導のオペレーティングシステムプロジェクトで、完全に自由で、安定性、セキュリティ、シンプルさ、軽量さを備えた長期サポート版を提供することを目指しています。Arch Linuxのパッケージ管理システムとDebianのセキュリティパッチを利用し、GNU自由システム配布ガイドラインに準拠しています。i686とx86_64アーキテクチャをサポートしており、BSDベースのシステムであるHyperbolaBSDのリリースも計画されています。最近のニュースには、32ビットシステムの継続的なサポート、Debian 12以降のパッチセットの使用停止、フリーソフトウェアファウンデーションの機械学習に関する声明への懸念表明などが含まれています。

続きを読む

ヴァイナルの復活:Spotify時代の音楽体験におけるハイデガー的視点

2025-01-26
ヴァイナルの復活:Spotify時代の音楽体験におけるハイデガー的視点

2023年、ビニールレコードの売上高が1987年以来初めてCDを上回り、音楽体験の本質についての省察を促しました。ハイデガーの『存在と時間』における「解体」の概念を借用し、Spotifyなどのストリーミングサービスに内在する「不在性」を探求します。音楽体験は断片化され、パーソナライズされ、ビニールレコードに伴う触覚的、視覚的、社会的な関与が欠如しています。ビニールの復活は、より経験豊かで社会的な音楽体験への願望を示しています。

続きを読む

NsJail:Linuxのための強力なプロセス分離ツール

2025-02-05

NsJailは、Linuxネームスペース、リソース制限、seccomp-bpfシステムコールフィルターを利用して、様々なアプリケーションのための安全なサンドボックスを作成する、堅牢なLinuxプロセス分離ツールです。ネットワークサービスの分離、CTFコンテストのホスティング、積極的なOSファジングの封じ込めをサポートしています。NsJailは、UTS、MOUNT、PID、IPC、NET、USERネームスペースを含む多様な分離メカニズムと、ファイルシステムの制約、リソース制限、プログラム可能なseccomp-bpfフィルターを提供します。信頼できないコードを安全に実行し、システムを悪意のある攻撃者から保護します。

続きを読む
開発

Exo言語:インストール、開発、テストガイド

2025-03-14
Exo言語:インストール、開発、テストガイド

ExoはPython 3.9以降をサポートするプログラミング言語です。pipを使用して簡単にインストールできます。ExoファイルはPythonで直接実行でき、exoccコマンドでC/ヘッダーファイルが生成されます。開発には仮想環境の設定と、PySMTやCMakeなどの依存関係のインストールが必要です。テストにはz3-solver(または他のソルバー)とCMake 3.21以降が必要です。テストはさまざまなシナリオを網羅し、コードカバレッジテストをサポートしています。詳細情報と例はプロジェクトリポジトリにあります。

続きを読む
開発

XiangShan:オープンソースの高性能RISC-Vプロセッサ

2025-01-02
XiangShan:オープンソースの高性能RISC-Vプロセッサ

XiangShanは、中国科学院計算技術研究所と鵬程研究所が共同で開発した、オープンソースの高性能RISC-Vプロセッサプロジェクトです。複数の安定版がリリースされており、包括的なドキュメント、チュートリアル、マイクロアーキテクチャの概要が提供されています。最新の昆明湖バージョンは開発中で、様々なシミュレーションツールとIDEをサポートしています。XiangShanは、アジャイル開発手法を用いてRISC-Vプロセッサ技術の進歩を目指しており、その成果は査読付き論文として発表され、国際的な評価を得ています。

続きを読む

Kaggleコンペティション:偏った指標とXGBoostの意外な効果

2025-02-23

筆者は、骨髄移植後の生存率を予測するKaggleコンペティションに参加しました。コンペティションの評価指標は、異なる人種グループ間の予測に過度な差異が生じないように設計された層化されたコンコード指数です。しかし、この指標には欠陥があります。あるグループのスコアを向上させても、全体スコアが必ずしも向上するとは限らず、低下することもあります。XGBoostモデルを使用する中で、筆者は、複雑な統計モデルよりも単純な決定木アンサンブルモデルの方が効果的であることを見出し、統計的手法と機械学習手法の違いを探りました。最終的に、筆者は、AFT分布の尺度パラメータを調整することでモデルの精度に大きな影響を与えることを発見し、モデル改善のためのいくつかの未解決の課題を提示しました。

続きを読む
開発

分散協調からの解放:Restateが単一ログで分散アプリケーションを簡素化する仕組み

2025-01-24
分散協調からの解放:Restateが単一ログで分散アプリケーションを簡素化する仕組み

堅牢な分散アプリケーションの構築は依然として大きな課題です。開発者は、フェイルオーバー戦略、リトライ、競合状態などの複雑な問題に対処するために多くの時間を費やします。この記事では、分散協調を回避することで開発を簡素化する新しいアプローチであるRestateを紹介します。中心となるアイデアは、すべてのシステム(メッセージキュー、データベース、ロックサービスなど)を単一のログとして扱うことです。すべての操作がこのログに記録され、リトライ時には以前の操作記録が自動的に読み込まれるため、データの不整合や競合状態を防ぎます。Restateはこの原則に基づいたオープンソースプロジェクトであり、分散アプリケーションの開発とメンテナンスを簡素化し、システムの信頼性を向上させます。

続きを読む
開発 ログ

Vim:エディタを超えたプログラミング言語

2024-12-15

Vimは単なるテキストエディタではなく、コンピュータと対話するための言語です。簡潔で効率的なコマンド構造は、覚えやすく、コンピュータにとっても解釈しやすいものです。Vim自体が強力である一方、その本質的な強みは、そのモードがほぼすべての主要なコードエディタに統合されている点にあります。これにより、開発者は好みのエディタインターフェースを選択しながら、Vimの効率的なコマンド言語を維持できます。したがって、Vim言語の最も完全で一貫した実装であるNeoVimの価値は、効率的な編集言語を提供することにあり、エディタ自体だけではありません。

続きを読む
開発 エディタ

CodeCraftersの超高速面接プロセス:2日で採用決定!

2025-02-05
CodeCraftersの超高速面接プロセス:2日で採用決定!

CodeCraftersは、驚くほど速い面接プロセスを誇り、1~2日で全ステップが完了します。内容は、15~30分の導入Zoom面談で互いのことを知ること、好きな言語で問題解決とコード構造に焦点を当てた、Zoom上で2~3時間行われるCodeCraftersチャレンジ(事前に練習してもOK)、そして、職歴やスケジュールを詳細に話し合う30~60分の最終Zoom面談です。

続きを読む

タトゥーが癌リスクを高める可能性:双子研究で判明

2025-03-04
タトゥーが癌リスクを高める可能性:双子研究で判明

デンマークの双生児タトゥーコホートを用いた研究によると、タトゥーのある人は、タトゥーのない人に比べて、リンパ腫や皮膚がんのリスクが高いことが明らかになりました。双子コホート研究とケース・コツイン研究の両方のデザインを用いたこの研究は、大きなタトゥーほどリスクとの関連が強いことを示唆しています。研究者たちは、インクの沈着物が周囲の組織と相互作用し、免疫反応や細胞増殖の増加を引き起こし、癌リスクを高める可能性があると仮説を立てています。しかし、日焼けへの暴露に関するデータやタトゥーの種類の詳細な分類がないことが限界です。タトゥーインクによる発がん経路を明らかにし、公衆衛生政策に役立てるために、さらなる研究が必要です。

続きを読む
テクノロジー 癌リスク 双子研究

`#define`ディレクティブのみを使用したCコード:黒魔術的な炎のアニメーション

2025-02-20

この記事では、著者がC言語の`#define`ディレクティブのみを使用して炎のアニメーションプログラムを作成した方法を詳述しています。一見不可能に見えるこのタスクは、マクロ定義のテキスト置換機能、トークン連結、再帰呼び出しテクニックを巧みに使用することで達成されました。その結果は、炎の燃焼と拡散をシミュレートしたものであり、Cプリプロセッサの能力と「チューリング完全性」を示しています。また、マクロの誤った使用による潜在的なリスクと問題点についても強調されています。

続きを読む
開発

rqliteのテスト戦略:効率的なピラミッドアプローチ

2025-01-14

SQLiteとRaft上に構築された軽量でオープンソースの分散型リレーショナルデータベースであるrqliteは、厳格なテスト戦略を通じて信頼性と品質を重視しています。この記事では、rqliteがテストピラミッドモデルにどのように準拠しているかを詳細に説明しています。効率性とデバッグの容易さを実現するために、ユニットテストを基盤とし、システムテストと最小限のエンドツーエンドテストを補完しています。ユニットテストが大部分を占め、コンポーネントの独立性とテスト可能性を確保します。システムテストは、RaftコンセンサスモジュールとSQLiteの相互作用を検証します。エンドツーエンドテストは、最終的な健全性チェックとして機能します。この記事では、パフォーマンステストの重要性も強調し、パフォーマンステストを通じてボトルネックとして特定されたfsync呼び出しの最適化など、得られた教訓を共有しています。rqliteの成功は、この戦略がオーバーヘッドを最小限に抑えながら、高い品質を維持する方法を示しています。

続きを読む

Ryzen 7 9800X3Dの分解、大部分はダミーシリコンであることが判明

2024-12-18
Ryzen 7 9800X3Dの分解、大部分はダミーシリコンであることが判明

AMDのRyzen 7 9800X3Dプロセッサの分解の結果、その大部分が構造的完全性を確保するためのダミーシリコンであることが明らかになりました。SRAMキャッシュダイはコンピュートダイよりもはるかに小さいにもかかわらず、AMDは薄く壊れやすい部品を保護するために、かなり厚いダミーシリコン層を上下に追加しました。これにより、パッケージ全体の厚さは約800µmになり、ダミーシリコンが驚異的な93%を占めます。一見無駄な設計のようですが、安定性と熱性能を確保しています。AMDはまもなく、12コアと16コアのRyzen 9 X3Dプロセッサを発表すると予想されます。

続きを読む
ハードウェア

英国の電気料金高騰:高額な補助金と送電網投資の遅れ

2024-12-20
英国の電気料金高騰:高額な補助金と送電網投資の遅れ

英国の高額な電気料金は、卸売電力価格だけによるものではありません。最近の分析によると、送電網コストと再生可能エネルギーへの補助金が主要因です。20年間停滞していた送電網投資は、現在緊急の拡張が必要となり、送電網コストが急騰しています。再生可能エネルギーを補助する契約は、電気料金を引き上げ続けるでしょう。一方、再生可能エネルギー義務や供給料金制度などの過去の補助金制度は、再生可能エネルギー価格の下落に十分に迅速に対応できず、巨額の長期的なコストを生み出しました。著者は、将来の電気料金を削減するための方法として、送電網への依存度を減らすか、送電網の利用率を向上させることを提案しています。

続きを読む

KeycloakとBFFパターンによるAngularアプリのセキュア化

2025-01-28

この記事では、Backend for Frontend (BFF)パターンを使用して、KeycloakとAngularを統合した安全なWebアプリケーションを構築する方法を示します。ブラウザに機密データを保存しないために、Keycloakとの認証フローは専用のBFFサーバーによって完全に処理されます。BFFはKeycloakとAngularアプリ間のセキュアな仲介者として機能し、OAuth2とPKCEフローを管理し、トークンを安全に保存し、機密操作(トークンの更新など)がブラウザに到達するのを防ぎます。Angularアプリは、BFFが提供する簡素化されたエンドポイントのみと対話し、Keycloakとの直接通信は行いません。この記事では、Keycloakの設定、BFFサーバーの設定(Express.jsを使用)、Angularアプリの開発について詳細に説明し、このアーキテクチャのセキュリティ上の利点を強調しています。

続きを読む

コードの書き換え:魔法の杖と反復的な改善

2025-01-03

この記事では、コードの書き換えのメリットとデメリットを探っています。Netscapeの失敗例を挙げて、書き換えが常に最良の方法とは限らないことを主張しています。大規模な書き換えを行う代わりに、理想主義を保ち、完璧なソリューション(魔法の杖)を想像し、既存のコードを反復的に改善することを提案しています。必要な複雑さと偶発的な複雑さを区別することで、改善の方向性を特定し、「魔法の杖を振ることができれば、どうしたいか」を常に自問自答することで、最終的に理想的な状態に到達することを目指します。

続きを読む

スウェーデン、エネルギー価格高騰の責任をドイツの原子力段階的廃止に転嫁

2024-12-16
スウェーデン、エネルギー価格高騰の責任をドイツの原子力段階的廃止に転嫁

スウェーデンのエネルギー大臣エッバ・ブッシュは、同国の急騰するエネルギー価格について、ドイツの原子力段階的廃止の決定を非難し、政府が危機に対処するための新たな対策を検討していると発表した。ブッシュ大臣はドイツの行動に怒りを表明し、スウェーデンとEUに深刻な影響を与えたと述べた。地域格差とスウェーデン南部での急増によって悪化した価格高騰は、政府が家庭と企業を支援する方法を探るよう促している。圧力にもかかわらず、スウェーデンはEUエネルギー市場からの離脱を検討しているようには見えず、代わりに、EUのフローベース市場カップリングシステムの問題に焦点を当てている。

続きを読む

Age LAN Server:オフラインでAge of Empiresのマルチプレイヤーを楽しむ

2025-04-02
Age LAN Server:オフラインでAge of Empiresのマルチプレイヤーを楽しむ

Age LAN Serverは、Age of Empires: Definitive Edition、Age of Empires II: Definitive Edition、Age of Empires III: Definitive EditionのオフラインマルチプレイヤーLANゲームプレイを可能にするウェブサーバーです。公式サーバーがダウンしていても、LAN機能は維持されます。現在メンテナンスモードで、バグ修正と依存関係の更新に重点を置いています。完全なオフラインプレイには、カスタムランチャーが必要になります。機能には、マップ転送、ゲーム復元、データモッド、ロビーチャット、SteamとXbox間のクロスプレーが含まれます。ただし、実績やリーダーボードなどの機能はまだ実装されていません。サーバーはWindows、Linux、macOSをサポートしています。

続きを読む
ゲーム
1 2 587 588 589 591 593 594 595 596