2021-01-01から1年間の記事一覧
The Standard Library Go の標準ライブラリは Python の "batteries included" の哲学と同じで、アプリケーション開発に必要なライブラリを標準装備している io とその仲間たち Goの入出力哲学の中心は、ioパッケージにある Reader と Writer インタフェース…
ch09 一貫性と合意 耐障害性をもつシステムを構築する最も最善の方法は、有益な保証をもつ汎用的な抽象概念を見出し、それを一度だけ実装し、アプリケーションをその保証に依存させること 例えば、トランザクション アプリケーションはクラッシュすることな…
プロセスの一時停止 分散システムにおけるクロックの危険な使い方例 パーティションごとに 1 つのリーダーをもつデータベース 書き込みを受け付けられるのはリーダーのみ 自分が書き込まれても安全であるとノードが知る方法 例: 他のノードからリースを取得…
Concurrency in Go はじめに Go の並行処理モデルは他の言語と少し違う CSP (Communicating Sequential Process) という理論に基づいた並行処理モデル 並行処理いつ使うのか 並行処理を行うと必ず実行速度が速くなると誤認している人が多いが実際は違う 並行…
モジュール、パッケージ、インポート リポジトリとモジュール、パッケージ 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…
以下は libs 以下に依存する jar を入れる方法 jar { manifest { attributes "Main-Class": "$mainClassName" } zip64 = true def copySpec = project.copySpec { into "libs" from { configurations.runtimeClasspath.collect { it } } } with copySpec } $…
~/.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::str で "" を引数に入れてバッファをクリア std::ostringstream::clear で内部状態をクリアリセットする #include <sstream> int main() { std::ostringstream ss; // ostringstream にバッファを入れる ss << "hoge"; // 1 ss.str(""); // 2 // </sstream>…