2021-01-01から1年間の記事一覧

Learning Go Chapter 11. The Standard Library

The Standard Library Go の標準ライブラリは Python の "batteries included" の哲学と同じで、アプリケーション開発に必要なライブラリを標準装備している io とその仲間たち Goの入出力哲学の中心は、ioパッケージにある Reader と Writer インタフェース…

データ指向アプリケーションデザイン第9章: 一貫性と合意

ch09 一貫性と合意 耐障害性をもつシステムを構築する最も最善の方法は、有益な保証をもつ汎用的な抽象概念を見出し、それを一度だけ実装し、アプリケーションをその保証に依存させること 例えば、トランザクション アプリケーションはクラッシュすることな…

データ指向アプリケーションデザイン第8章分散システムの問題

プロセスの一時停止 分散システムにおけるクロックの危険な使い方例 パーティションごとに 1 つのリーダーをもつデータベース 書き込みを受け付けられるのはリーダーのみ 自分が書き込まれても安全であるとノードが知る方法 例: 他のノードからリースを取得…

Learning Go Chapter 10 Concurrency in Go

Concurrency in Go はじめに Go の並行処理モデルは他の言語と少し違う CSP (Communicating Sequential Process) という理論に基づいた並行処理モデル 並行処理いつ使うのか 並行処理を行うと必ず実行速度が速くなると誤認している人が多いが実際は違う 並行…

Learning Go Chapter 9. Modules, Packages, and Imports

モジュール、パッケージ、インポート リポジトリとモジュール、パッケージ Go のライブラリ管理は3つの概念から成り立つ リポジトリ: github のようなバージョン管理システムにおけるプロジェクト モジュール: リポジトリに格納された Go ライブラリやアプリ…

セッションの分離性レベルを変更、確認する方法

SQL> alter session set isolation_level = READ COMMITTED; Session altered. SQL> select sid, name, isdefault, value from V$SES_OPTIMIZER_ENV where name like '%isolation%' and sid = (select sys_context('USERENV', 'SID') from dual); SID NAME I…

依存 jar を特定のディレクトリ化にコピーして jar を生成する方法

以下は libs 以下に依存する jar を入れる方法 jar { manifest { attributes "Main-Class": "$mainClassName" } zip64 = true def copySpec = project.copySpec { into "libs" from { configurations.runtimeClasspath.collect { it } } } with copySpec } $…

coc.nvim で変数や関数のドキュメント情報をポップアップで表示するショートカット設定

~/.config/nvim/init.vim " Use K to show documentation in preview window. nnoremap <silent> K :call <SID>show_documentation()<CR> function! s:show_documentation() if (index(['vim','help'], &filetype) >= 0) execute 'h '.expand('<cword>') elseif (coc#rpc#ready()) ca</cword></cr></sid></silent>…

std::ostringstream を初期化して再利用する方法

C++

std::ostringstream::str で "" を引数に入れてバッファをクリア std::ostringstream::clear で内部状態をクリアリセットする #include <sstream> int main() { std::ostringstream ss; // ostringstream にバッファを入れる ss << "hoge"; // 1 ss.str(""); // 2 // </sstream>…