今日もシュクシュクと!

ソフトウェア・エンジニアを目指して修行中の日々。学習もコツコツと。そして粛々と。

ffmpegコマンドで複数のtiffファイルを連結してmp4ファイルを生成する

ffmpegコマンドで複数のtiffファイルを連結する。

-rオプションでフレームレートを指定する。フレームレートは「1秒間に何コマある動画か」を設定する。

ffmpeg -y -r 60 -pattern_type glob -i "*.tif" -an -pix_fmt yuv420p -vcodec h264 -profile:v baseline sample.mp4

Javascriptで変数値から文字列の抽出

key = 000001_2020-03-26_aaaa のような変数値から 2020-03-26 を取得する。または aaaa を取得する等の場合、以下のようにsubstrやindexOf、lastIndexOfを組み合わせて取得することが可能

変数値
key =  000001_2020-03-26_aaaa
00001 を取得する

先頭から'_'の前までの値を取得する

key.substr(0,key.indexOf('_'))
2020-03-26 を取得する

桁数が固定の場合、1つ目の'_'から桁数を指定して取得する

key.substr(key.indexOf('_') + 1, 10)

桁数が変動する場合、2つの'_'の位置を取得して抽出する

key.substr(key.indexOf('_') + 1, key.lastIndexOf('_') - key.indexOf('_') -1 )
aaaa を取得する

2つ目の'_'の位置を取得して抽出する

key.substr(key.lastIndexOf('_') + 1,key.length)

EclipseでJVMを変更する

EclipseJVMの指定箇所は2つある。1つはEclipse起動時のJVM、もう1つはEclipse起動後に使用されるJVMである。ビルドエラーとなる場合、後者の設定が不足しているケースが多い。

Eclipse起動時のJVMを変更する

現在の設定を確認する

[Eclipse]-[Eclipseについて]をクリックする

一番右側のタブ「Configuration」タブを選択し、「-vm」と記載されている箇所がEclipse起動時のJVM指定になる

変更方法

Macの場合、Info.plistファイルにて起動するJVMを指定している。 以下のパスにファイルがあり、変更させたいパスに修正を行う

/Applications/Eclipse.app/Contents/Info.plist

以下の様に使用するJVMを指定する

<array>
 <string>-vm</string>
 <string>/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin</string>
  <string>-keyring</string>
  <string>~/.eclipse_keyring</string>
</array>

Eclipse内で使用されるJVMを変更する

現在の設定を確認する

JDK12などを使用している場合はコンパイルエラーが解決できず、JDK8を使用するように変更する

[Eclipse] - [環境設定] - [Java] - [Installed JREs] 変更前:

ビルド等で使用するJVMを変更する

右側の[add]ボタンより追加を行い、追加したJDKを選択し、[Apply and Close]ボタンを押下する
この例ではJDK 8を追加するため、Locationに以下を追加

/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

※追加後の名前がHOMEとなってしまうため、JDK1.8等とわかりやすい名前に変更する

node.jsのバージョン管理

複数のプロジェクトで異なるnodeのバージョンが必要となるため、nodebrewを使用して複数のnodeのバージョンを管理する

nodebrewのインストール

$ brew install nodebrew

インストールされているnodeのバージョンをリストする

$ nodebrew ls
v6.9.5
v13.12.0
current: v6.9.5

インストールされている特定のバージョンを使用する

$ nodevrew use v13.12.0

db2でテーブルのキー項目を取得するSQL

db2はSyscat情報にキー情報を保持しており、以下のSQLで取得可能。尚、テーブル名にスキーマ名は不要。

db2 "select * from syscat.keycoluse where tabname ='テーブル名称'"

nodebrewでnodeを最新のバージョンに更新する

nodeのバージョン管理はnodebrewを使用すると便利

nodebrewでnodeのstableの最新版をインストールする
>nodebrew install-binary latest

インストールされているバージョンをリストする
>nodebrew ls
v9.6.1
v12.14.1
v13.7.0

使用したいバージョンを指定する
>nodebrew use v13.7.0

変更を確認する
>node -v
v13.7.0