2019-01-01から1年間の記事一覧
kubectlで、以下のようなsecretを設定しているとします。 { "apiVersion": "v1", "data": { "config.yml": (json形式のデータ) }, "kind": "Secret" } このとき、このsecretを取得するコマンドは以下のようになります。 kubectl -n kube-system get secret (…
kubernetesのdeployment.yamlなどでたまに見られる記法なので、気になって試してみました。 $ ls > ls.txt $ sh -c 'exec ls > ls2.txt' # 出力の差分を確認 diff ls.txt ls2.txt # 何も表示されない 結論 sh -c 'exec (コマンド)' はコマンドを直打ちで実行…
kubernetesでのpod、node、workspaceの関係を説明します。 結論から言うと、例えるならpod、node、workspaceは、学校で例えると生徒、クラス、部活のような感じです。 podとnamespaceの関係 podは指定したnamespaceにデプロイされます。(deployment.yamlで指…
Linuxのenvsubstコマンドは「ファイルに環境変数を埋め込んで表示する」コマンドです。 これだとわかりにくいので、具体例を見てみましょう。 test1.tmlというファイルがあります。 入力された言葉は「${str}」です。 以下のようなコマンドを実行すると str=…
Dockerfileにおいてコピーコマンドは COPY path1 path2 と書きます。 この記事では、パスの書き方について説明します。 path1について path1はホスト上でのパス、つまりDockerfileからDockerイメージを作成しようとしているマシン上でのパスです。 path1は、…
あまり使う機会の多い手法ではありませんが、JavaのプログラムからLinuxのコマンドを使う方法を説明します。 このサンプルでは、lsコマンドを実行し、その結果を出力させてみます。 import java.io.BufferedReader; import java.io.InputStreamReader; publi…
あまり使う機会はありませんが、jarファイルの中身を確認するコマンドを説明します。 ファイルの中身を確認する jar tf (ファイル名) ファイルの中身を抽出する jar xf (ファイル名)
特殊文字を使うコマンドをまとめました。(ネットで調べるのが難しいため) 自分用のメモなので、特に内容的なまとまりはありません。 変数値の置換 ${foo:-bar} は、変数fooがセットせれていなければbarを、セットされていればfooを返します。 $ echo ${var:-…
Javaでint型の配列に特定の数字が含まれているか調べるには、Listに変換してから調べます。 たとえば、[ 2, 4, 6, 8 ]という配列に4が含まれているか調べるコードは以下の通りになります。 Integer[] numbers = { 2, 4, 6, 8 }; boolean flag = Arrays.asLis…
Dockerでよく使うコマンドをまとめました。 docker run dockerイメージをもとにコンテナを起動するコマンドです。 基本の使い方 docker run $IMAGE $COMMAND ここで、例えばコマンドを/bin/bashにすると、コンテナ内のシェルが立ち上がります。 -dオプション…
gitでコミットをまとめる手順を説明します。 例えば、ブランチを切り、ファイルを修正してコミットしたが、修正内容にミスがあったことに気づき、再びコミット、プッシュしたような場合を考えます。 # 本当は「あ」と書きたかったとする echo "い" > a.txt #…
マルチスレッドとは あるクラスが、別のあるクラスのインスタンスを複数生成し、そのインスタンスが持つメソッドを同時に実行したい、というような状況は、Webアプリなどで重い処理を何度も行う時などにはよくあることです。(APIを叩く処理など) このように…
テストにおいて、モックを使うことは必須のテクニックの一つです。 この記事ではJUnit、Mockito、PowerMockなどのライブラリを使いながら、モックを使ってテストを行う方法を説明します。 まずは普通にテストする テスト対象のコードは以下とします。 public…
Python2からPython3への書き換えをした際に、文字コードに関する部分でかなり詰まったので、色々と調べました。 また文字コード関係はPython2とPython3でかなり違いますが、この記事ではPython3に関する内容について説明しています。 そもそも文字コードにつ…
Makefileとmakeコマンドについて説明します。 概要 Makefileは一連のコマンドをまとめて実行するためのものです。 Makefileという名前のファイルがあるディレクトリでmakeコマンドを実行すると、Makefileに書かれたコマンドが実行されます。 ファイル名はMak…
日時と時刻は、dateコマンドを使うと表示されます。 $ date Thu Aug 1 14:49:44 JST 2019 date +"[表示形式]" とすると、自由な形式で表示することができます。 $ date +"[%Y-%m-%d %H:%M:%S]" [2019-08-01 14:45:57] $ date +"[%m月%d日]" [08月01日]
PythonのスクリプトをLinuxのcronから動かした際にエラーが発生したので、原因と解決方法を書いておきます。 ファイルは絶対パスを指定する ファイルを扱う場合、ファイル名が絶対パスで書かれていないと実行されません。 (cronから実行しない場合は相対パス…
Cassandraにログインし、 use (キースペース名前) copy (テーブル名) to '(絶対パス)'; とします。 SELECT文のようにwhere句を使ってテーブルの一部のみを書き出したかったのですが、調べたところ、そういったことはできないようでした。
Spring BootでCassandraを扱う方法を説明します。 テーブルの作成 まずは、Cassandraにテーブル(カラムファミリ)を作成します。 テーブルの内容は以下の通りです。キースペース名はcreaturesとします。 id | name | category ---+----------+---------- 1 | …
JavaでDBUnitというライブラリを使い、実際にDBと通信を行うテストを行う方法を説明します。 テーブルの構成 テストで使うDBは以下の通りとします。 DB名...test テーブル名...animal mysql> desc animal; +-------+--------------+------+-----+---------+-…
JavaのプログラムからMySQLに接続するための設定を行う方法を説明します。 前提 今回は、Javaはフレームワークなどは特に使用しません。またビルドツールはMavenを使い、エディターはIntelliJ IDEAを使用します。 また、MySQLのインストール、DBおよびテーブ…
MySQLでユーザーを追加する方法を説明します。 手順1. ユーザーの追加 今回は、testUserというユーザーを作成します。パスワードはtestPassとします。 この場合、MySQLにログインして CREATE USER "testUser" IDENTIFIED BY "testPass"; というSQL文を実行し…
Javaのテストコードの書き方を説明します。 1. ライブラリの導入 テストコードを書くにはJUnitというライブラリを使います。 ビルドツールにMavenを使っている場合は、pom.xmlの内に <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> を追加します。 今回はバージョンを4.12としてい…
Javaでsrc/main/resources以下のファイルを読み書きする方法を解説します。 一つの文字列として読み込む まずは、ファイルに書かれている内容をString型の変数に格納する方法です。 この場合、複数行のファイルでも一つの文字列として読み込まれます。 File …