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>…
String query = String.format( "CREATE PROPERTY GRAPH %s " + " VERTEX TABLES(n1 LABEL hoge PROPERTIES(id, name, rate), n2 LABEL hoge2 PROPERTIES(id, name, rate)) " + " EDGE TABLES(e1 SOURCE KEY(n1_id) REFERENCES n1 DESTINATION KEY (n2_id) R…
環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.6 BuildVersion: 18G4032 $ pip list | grep -E "jupyter|plotly" jupyter 1.0.0 jupyter-client 5.2.4 jupyter-console 6.0.0 jupyter-core 4.4.0 jupyterlab 2.1.2 jupyterlab-server 1.1.3 p…
前提 OS: Oracle Linux Server release 7.6 apache-tomcat: 9.0.34 java version: 1.8.0_241 Java(TM) SE Runtime Environment (build 1.8.0_241-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode) 手順 1. webapps/<コンテキスト名>/…
項目11: 未定義private関数よりも =delete を優先する C++ が必要に応じて自動的に作成する関数 = 特殊メンバ関数 その代表がコピーコンストラクタとコピー代入演算子 C++98 では private にすることで対応していた この関数にアクセスしようとしても、未リ…
項目7: オブジェクト作成時の {} と ()の違い 初期値の設定方法は以下の3つ {} = () ユーザ定義型では、初期化構文によって呼び出される関数が異なる Widget w1; // デフォルトコンストラクタを呼び出す Widget w2 = w1; // コピーコンストラクタを呼び出す …
項目5: 明示的宣言よりも auto を優先する auto で宣言することのメリット 複雑な型宣言の省略 template<typename It> void f(It b, It e) { while (b != e) { typename std::iterator_traits<It>::value_type cV = *b; // auto cV = *b; } } 未初期化のエラーを防げる auto </it></typename>…
はじめに Mac にドキュメントエディタとして neovim を、neovim のプラグインマネージャとして dein をインストールします。 環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.6 BuildVersion: 18G4032 1. neovim のインストール homebrew で一…
環境 Oracle Graph Server Shell 20.1.0 PGX server version: 19.4.0 type: SM PGX server API version: 3.6.0 PGQL version: 1.2 前提 Pgx Server で allow_local_filesystem が true になっており、かつ datasource_dir_whitelist に /opt/oracle/oradata …
環境 Oracle Graph Server Shell 20.1.0 PGX server version: 19.4.0 type: SM PGX server API version: 3.6.0 PGQL version: 1.2 前提 Pgx Server で allow_local_filesystem が true になっており、かつ datasource_dir_whitelist に /opt/oracle/oradata …
環境 Oracle Graph Server Shell 20.1.0 PGX server version: 19.4.0 type: SM PGX server API version: 3.6.0 PGQL version: 1.2 準備 Graph の作成 var g = session.<Integer>newGraphBuilder(IdType.INTEGER).addVertex(1).build() Vector プロパティの設定方法 Ve</integer>…
setKeystoreAlias("alias") でbuildすればおけ
Rust における型 すべての値の型はコンパイル時に決定される これは安全性、効率性という利点がある 安全性: エラーの早期発見、所有権システムとの連携による型安全かつデータ競合のないプログラム開発の促進 効率性: メモリの細かい制御、コンパイラによる…
安全性、並列性、速度の3つにフォーカスしたシステムプログラミング言語である Rust に興味を持ったので、 まずは環境構築から始めてみます。 Rust 環境構築 Rust コンパイラは様々なプラットフォームをサポートしていますが、サポートのレベルが3つに分け…
概要 CDB 再起動時の 1つ以上の PDB のオープン状態を保持できる 方法 オープンモードを保持するように設定する 特定の PDB を設定する場合 SQL> ALTER PLUGGABLE DATABASE pdb1 SAVE STATE; 複数の PDB を設定する場合 SQL> ALTER PLUGGABLE DATABASE pdb1,…
目的とすることを成し遂げる前の本質的でない事に時間をかけてしまう、またはかかってしまう様のこと。 IT業界ではよく使われる言葉。 例えば、 Tensorflow でディープラーニングしよう!!と思って、インストールしてみたらGPU版をインストールできず、調査…
1. 仮想マシン上で以下を実行 $ sudo su - # umount /vagrant # yum clean all # dd if=/dev/zero of=/EMPTY bs=1M # rm -f /EMPTY 2. 仮想マシンをシャットダウン $ vagrant halt 3. VirutalBoxのファイルを形式をvmdk から vdiに変更したり諸々 # VirtualB…
分割されたファイルを結合するためには、コマンドプロンプトで以下のように実行する。 # テキストファイルの場合 copy hoge01.txt + hoge02.txt + hoge03.txt hogehoge.txt # zipのようなバイナリファイルの場合 copy /b hoge.zip01 + hoge.zip02 + hoge.zip…
概要 MeCabのデフォルトでは半角記号が名詞、サ変接続とされてしまう。 $ mecab ; ; 名詞,サ変接続,*,*,*,*,* EOS この問題を解消するために未定義語の辞書を編集して、半角記号が記号として取り扱うことができるようにする 前提環境 Linux (CentOS7.3) MeCa…
インストール方法 $ sudo yum localinstall -y http://mirror.centos.org/centos/6/os/x86_64/Packages/nkf-2.0.8b-6.2.el6.x86 _64.rpm nkfでEUC-JPなファイルをUTF8に変換し、変換元を書き換える $ nkf -g hoge.csv EUC-JP (LF) $ nkf -w --overwrite hoge…
ssh で多段ポートフォワーディングやプロキシを通す時に、~/.ssh/configにProxyCommandを設定してsshコマンドを実行しようとしたところ、下記のようなエラーが発生した。 $ ssh hoge zsh: No such file or directory write: Broken pipe むむ、と思い、取り…
RHEL系のOSの場合以下のファイルをcatすることでバーションを知ることができる。 /etc/*-release Oracle Linuxの場合は以下の通り $ ls /etc/*release /etc/oracle-release /etc/os-release /etc/redhat-release /etc/system-release $cat /etc/os-release N…