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

innodb lock monitor

InnoDB lock monitorの有効化方法 (mysql 5.7以降??) 以下を実行後、 SHOW ENGINE INNODB STATUS\G set GLOBAL innodb_status_output=ON; set GLOBAL innodb_status_output_locks=ON; ロック種別の一覧 InnnoDB Lock Monitor上の表記 ロック種別 lock mode S…

トラブルシュート:Codecovにjacoco.xmlをuploadしてもTestCoverageが表示されない

問題 local環境で mvn test を実行し生成されたjacoco.xmlを bash <(curl -s https://codecov.io/bash) によりuploadしても、Codecov上にTestCoverageが出力されない Codecov上でuploadの結果画面を見ると以下のようにエラーとなっている uploadの結果画面(…

SQL: CASE式の練習

以下の本を読んでいて、CASE文/式というものがあるのを知ったので試してみます。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ作者:ミック発売日: 2018/10/11メディア: Kindle版 対象となるテーブル mysqlがEXAMPLE DATABASEとして提供し…

"predicate" とは何か

時々目にする、 predicate() という名称のメソッドの名前の意味が気になったので調べてみました。 概要 predicate は何らかの引数を取りbooleanを返す関数を意味する *1 predicate 関数は、典型的には、isEqualTo() , isBiggerTahn() のように与えられた引数…

IntelliJ IDEAでブレークポイント実行しようとするとjdk8のライブラリにHITする

問題 IntelliJ IDEAでブレークポイント実行しようとすると、以下のように、jdkのライブラリに意図せずHITしてしまう。 java.util.zipにHITしている 原因 Java Exception Breakpoints の Suspend設定が有効になってしまっている。 Run -> View Breakpoints...…

小ネタ : Dockerfile内でARGをクォートで囲むと展開ができない

問題 Dockerfile内で以下のように、 ENV 内で呼び出しの ARG が展開されない。 Dockerfile FROM centos:latest ARG FOO=foo ENV OPTS='foo=${FOO} \ bar=bar \ hoge=hoge' 環境変数の確認結果 # env | grep ^OPTS OPTS=foo=${FOO} bar=bar hoge=hoge 原因と…

Hello Dart

以下の記事を見て、Dartに興味をもったので入門してみました。 インストールは公式ページの手順通りに、brewで実施しました。 Hello World $ cat helloWorld.dart main() { print('Hello World'); } dart には、Optional parameters という引数の一部をオプ…

UbuntuでHomebrewを使う

概要 こちらの記事にて、HomebrewがLinuxに対応したことを知り、開発機のUbuntu18に導入してみました。Homebrew 2.0の公式ページ に記載のワンライナーで問題なく導入できました。その際の手順のメモになります。 インストール作業時のログ $ /bin/bash -c "…

GKE : ingressをpodのreadinessProbeと連携させる際の注意点

本記事の要点 GKE上で ingress のヘルスチェックに readinessProbe を利用したい場合、以下の3つのPort番号が合致するよう設定してください。ingress の新規作成時に(1)と(2)が合致しない場合、ReadinessProbe を設定していたとしても無視され、標準の / に…

jqでJSONオブジェクト/配列内の要素を一行で表示したい

TL;DR jq の --compact-output / -c オプションを使うことで、JSON 内の取得した要素を一行にまとめて表示することができる。 実行例 サンプルファイル $ cat test.json { "country_list": [ "japan", "china", "us" ], "num_list": [ 123, 456, 789 ], "mix…

Ubuntuでの開発環境を改善する

Ubuntuで開発環境の構築を行う際に実施した事項のメモです。 環境 TIPS 1. GNOME TerminalでのThemeを変更 2. IntelliJ IDEAで使用のフォントを変更 3. IntelliJ IDEAを日本語化 4. Maven Helper PluginをIntelliJ IDEAに導入 4. Homebrewの追加 環境 $ cat …

『Database Internals』Chapter1の読書メモ

オライリー社にて2019年に出版の『Database Internals』のChapter1を読んだ際の読書メモです。 Database Internals: A Deep Dive into How Distributed Data Systems Work作者:Petrov, Alex発売日: 2019/10/15メディア: ペーパーバック Chapter1. Introcutio…

gitのbranchの実体はポインタであるという話

git

勘違いしていたので、メモ。 gitにおける branch は 複数のcommitオブジェクトの集合体 だと思っていたが、こちらの記事 を読んで理解が誤っていたことに気が付いた 実際は、gitにおける branch は任意のcommitオブジェクトの(アドレスを)指し示すポインター…

cloudbuildでビルドしたgo言語ファイルがdockerのubuntuイメージ上で実行できない

問題 cloudbuildでビルドしたGo言語のプログラム(ELF形式)を、dockerコンテナ( ubuntu:latest )上で実行しようとしすると実行に失敗する。 # file myapp myapp: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib…

gccによるC言語ファイルのコンパイルの流れ

図 memo オブジェクトファイル中には、実行コードや変数値のデータなどが格納されているが、この段階では、まだ、メモリ上の固定アドレスに割り当てられていない。実際に固定アドレスが割り当てられるのは、リンカによるリンクを行う際で、このアドレス割り…

Dockerコンテナが専用namespaceに属していることを確認する

概要 dockerコンテナによるLinux上の各種リソースの隔離[1] は、linuxのnamespace(名前空間)という機能を使って実現されています [2] 実際にdockerコンテナを作成し、defautの名前空間とは異なる名前空間がdocker用に作成されることを確認します ログ # 環境…

Go言語入門:変数の宣言

『プログラミング言語Go』(初版)の該当箇所を読んだまとめになります。 ページ番号は同書内のページ番号です。 4種類の型 Go言語の型は以下の4種類(P57) 基本型 (basic type) 合成型 (aggregate type) 参照型 (reference type) インターフェース型 (interfac…

Go言語入門:string型の使い方の確認

Go Playground - The Go Programming Language package main import ( "fmt" "reflect" ) func main() { fmt.Printf("Go言語におけるstring型は「不変(immutable)なバイト型のスライス」らしい\n") s := "hello, world" // 宣言 // immutable==再代入不可な…

kubernetesのpod内でstraceをrunning processにアタッチしたい

問題 kubernetesのpod内で strace コマンドの -p オプションを使い、実行中のプロセスにアタッチしようとすると以下のエラーが出る。 # strace -p 1 strace: attach: ptrace(PTRACE_SEIZE, 1): Operation not permitted 原因 strace が内部的に利用している …

『はじめての設計をやり抜くための本』の読書メモ

ずっと以前に買って積み本にしてしまっていたのですが、 昨晩に「ちょっと読んでみたい気分かも」という感じになりざっと流し読みました。 2008年に初版発行ということで、Strutsフレームワークの話題が沢山出てきたりと、 今となっては古さを感じる部分もあ…

/* https://sunrise033.com/entry/hatena-blog-how-to-hierarchicalize-categories */