Skip to content

Instantly share code, notes, and snippets.

@fortune
fortune / README.md
Last active January 29, 2025 03:28
KNIME and Python Integration

KNIME の Python Integration と Python 環境の構築

KNIME Python Integration Guide

1. 前提条件

  • Anaconda Navigator がインストール済みの Mac OS X に KNIME 5.4.0 をインストール
  • KNIME を実行して、Menu から Install Extensions を選択し、そこで KNIME Python Integration をインストール

Python Integration 拡張のインストールにより、最低限の Python パッケージがバンドル済みの Python 環境が自動で構築され、Python Script ノードや Python View ノードの実行では、その環境が利用される。

@fortune
fortune / README.md
Last active October 21, 2024 09:50
単精度浮動小数点数についての調査メモ

単精度浮動小数点数についての調査メモ

単精度のビットパターンと表せる値の範囲

IEEE の単精度浮動小数点数規格では、32ビット(4バイト)のうち最上位ビットから

  • 1 ビットの符号ビット(0 が正、1 が負)
  • 8 ビットの指数部(バイアスが 127)
  • 23 ビットの仮数部
@fortune
fortune / Introduction_to_APPLIED_LINEAR ALGEBRA_9.ipynb
Last active July 17, 2023 04:44
スタンフォード ベクトル・行列からはじめる最適化数学の第9章
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

MSYS2/MinGW-w64(64bit/32bit) の環境設定

MSYS2 とは

MSYS2 とは、Windows 上で POSIX シェル環境を実現するものだ。

32bit Windows 用と 64bit Windows 用の2つがあり、64bit の Windows には両方ともインストールし、実行することができるが、そうする意味はあまりなく、 64bit の MSYS2 だけインストールすればいい。32bit Windows 自体がもう時代遅れなので、MSYS2 でも 32bit バージョンはもう提供されていないようだ。MSYS2 の 64bit は 通常、C:\msys64 にインストールされる。

@fortune
fortune / README.md
Last active July 13, 2022 13:54
Kubernetes クラスタ上のサービスディスカバリ

Kubernetes クラスタ上のサービスディスカバリ

Kubernetes クラスタ上にデプロイしたアプリケーションを利用する場合、最終的には、Pod 内のコンテナが Listen するポートに対してリクエストすることになる。つまり、IP アドレスで Pod を指定し、ポート番号で Pod 内のコンテナを指定するわけだが、これらを直接指定するのでは管理しにくいし、スケールもしにくくなる。

そこで、Kubernetes では Service リソースオブジェクトによって、この問題、すなわちサービスディスカバリの問題を解決する。

ここでは、O'Reilly 『入門 Kubernetes』 の7章の内容を試してみる。

Deployment リソースオブジェクトの作成

@fortune
fortune / README.md
Last active February 12, 2024 12:12
Kubernetes クラスタ上でのヘルスチェック

Kubernetes クラスタ上でのヘルスチェック

Kubernetes クラスタ上で稼働中のコンテナアプリケーションのヘルスチェックにはいくつかの方法がある。

  • コンテナのメインプロセスの死活監視
  • Liveness Probe
  • Readiness Probe

コンテナのメインプロセスの死活監視 では、K8S クラスタのシステムが各 Pod 中の各コンテナのメインプロセスの死活監視を実施し、プロセスが終了してコンテナが終了し、破棄されたら、コンテナを再作成して起動する。これは、Pod の restartPolicy の設定にもよるが、いずれにしろ Pod はそのままであり、再作成はされない。これは、設定なしで勝手に K8S がやってくれるのだが、プロセスがデッドロックを起こしたりして、終了してはいないけれども、仕事をすることができない事態には対処できない。

@fortune
fortune / README.md
Last active February 13, 2024 07:52
Kubernetes の Pod でローカルな Volume を利用する

Kubernetes の Pod でローカルな Volume を利用する

Pod 内のコンテナから、ボリュームをマウントするには次の4つの方法がある。

  1. hostPath で、Pod が作成されたノード上の特定のパスをボリュームとする。
  2. emptyDir で、Pod が作成されたノード上に、Pod と同じ寿命の空のボリュームをつくる。
  3. クラウドプロバイダ(AWS, Azure, GCE 等)が提供する作成済みのストレージをボリュームとする。
  4. PersistentVolume, PersistentVolumeClaim, StorageClass を使った永続ボリュームを利用する。

https://kubernetes.io/ja/docs/concepts/storage/volumes/

@fortune
fortune / README.md
Last active March 4, 2022 17:53
Docker for Mac で Docker ホストに入る方法

Docker for Mac で Docker ホストに入る方法

Mac OS X での Docker for Mac では、Hyperkit により Linx VM を作成し、それを Docker ホストとして使っている。そのため、ボリューム等を確認しようとしても Mac 上には存在しない。そういうものを確認するには、次のように特殊なコンテナを特権付きで実行する。

$ docker run -it --rm --privileged --pid=host justincormack/nsenter1
/ # 
/ # 
/ # 
/ # cd /var/lib/docker

「ハノイの塔」を解く

Python の ctypes モジュールに関するメモ

ctypes モジュールを利用して C 言語のライブラリをロードし、そこで定義されている C の関数を 呼び出すことができる。

https://docs.python.org/ja/3/library/ctypes.html

簡単なチュートリアル