今日もシュクシュクと!

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

Java Runtimeが相違することによるError

コンパイルされたClassのバージョンと実行される環境のランタイムが異なる場合、以下のようなエラーが出力される java.lang.UnsupportedClassVersionError: com/example/backend/BackendApplicationKt has been compiled by a more recent version of the Ja…

Gradleプロジェクトで使用するJavaのversionを指定する

PCに導入しているversionのJavaをGradleプロジェクトが認識しない場合、build.gradleに使用するJava versionを記載することで回避可能 エラーメッセージ Here are the highlights of this release: - Aggregated test and JaCoCo reports - Marking addition…

docker コンテナイメージを完全に削除する手順

dockerのイメージを完全に削除する手順 コンテナの削除 docker ps -a docker rm 2.イメージの削除 docker images docker rmi 3.ボリュームの削除 docker volume ls docker volume rm

lsコマンドでファイル名のみ抽出する

特定の列を抽出するには awk '{print $n}' で指定する。 $nには列数を指定する。 よって、以下のコマンドでlsでファイル名のみ抽出することが可能。 ls -lh | awk '{print $9}'

Android StudioでDevice File Explorerが表示されない場合の対応

Android SDK Command-line Tools がインストールされていない場合、表示されないのでインストールすると表示される。(今回はAndroid Studioの再起動を実施)

LambdaでRDSに接続する(python)

LambdaからRDSに接続した際のメモ。 1. EC2のLinuxを起動し、作業用のディレクトリを作成する 2. viでlambda_function.py を作成する import sys import logging import rds_config import pymysql #rds settings rds_host = rds_config.db_endpoint name = …

氏名での検索等のスペースの対応

検索画面から入力された「氏名」の検索などで検索用のDBカラムを定義せずに検索でヒットさせたい。 正攻法はテーブルにブランクを除いて連結したカラムを追加する方法だが、カラム追加が出来ない場合の手段として、SQLのLikeを使用して実現する方法がある。 …

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

ffmpegコマンドで複数のtiffファイルを連結する。 -rオプションでフレームレートを指定する。フレームレートは「1秒間に何コマある動画か」を設定する。 ffmpeg -y -r 60 -pattern_type glob -i "*.tif" -an -pix_fmt yuv420p -vcodec h264 -profile:v basel…

DB2で再帰的にデータ抽出を行うSQL

DB2で再帰的に検索を実施する WITH X(ID,PARENT_ID,NAME) AS ( SELECT ID,PARENT_ID,NAME FROM ID_TABLE D WHERE NAME = 'キーワード' UNION ALL SELECT D.ID, D.PARENT_ID, D.NAME FROM X, ID_TABLE d WHERE d.PARENT_ID = X.ID ) SELECT DISTINCT ID, NAME…

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

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

EclipseでJVMを変更する

EclipseのJVMの指定箇所は2つある。1つはEclipse起動時のJVM、もう1つはEclipse起動後に使用されるJVMである。ビルドエラーとなる場合、後者の設定が不足しているケースが多い。 Eclipse起動時のJVMを変更する 現在の設定を確認する [Eclipse]-[Eclipseにつ…

node.jsのバージョン管理

複数のプロジェクトで異なるnodeのバージョンが必要となるため、nodebrewを使用して複数のnodeのバージョンを管理する nodebrewのインストール $ brew install nodebrew インストールされているnodeのバージョンをリストする $ nodebrew ls v6.9.5 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 使用したいバージョンを指定する >…

Timestampの時分秒を00:00:00に変更する

Javaで以下の様にTimestampの時分秒を0で更新した値に更新する 2020-05-06-18.23.00.000000 → 2020-05-06-00.00.00.000000SimpleDateFormatを用いてフォーマットを指定し変換する Timestamp now = new Timestamp(System.currentTimeMillis()); // Expiration…

シェルスクリプト内の変数を一括で書き換える

test_id="0001"の変数値を0001とダブルクオーテーションを削除したい場合は以下のようにする test_id=echo "$test_id" | sed 's/^.*"\(.*\)".*$/\1/' 尚、シングルクォーテーションの場合はsedを以下のように記述する sed "s/^.*'\(.*\)'.*$/\1/" 変数の値を…

Flutterで画面遷移する

Flutterで画面遷移はWidgetを重ねて遷移する。遷移先から戻る際は重ねたWidgetを削除することで遷移元に戻る routesにて遷移先のWidgetを登録するNavigator.of(context).pushNamed("遷移先のパス") で遷移するNavigator.of(context).pop()にて遷移元に戻る i…

シェルスクリプトで経過時間を出力する

Bashでバッチの処理時間を取得するには以下のようにシェルの開始時と終了時に時刻を取得し、その差異から経過時間を取得する 1.開始時間を取得する start_time=date +%s 終了時刻を取得する end_time=date +%s 開始時刻と終了時刻の差異を算出する time=$((e…

SQLで改行コードを変換する

SQLの出力結果をCSVに出力する際に、改行コードを変換する必要がある。 そのため、以下のよう変換をする select replace(replace(column_name,chr(10),' '), chr(13), '') from table 以下のように変換を実施している。 chr(10) → 0x0a(\n) chr(13) → 0x0d(\…

SQLのUPDATE文でカラム値に連結で値を追加する

SQLで特定の条件のみ更新したく、同じレコードの他の項目を連結したい場合は、Update文のSetにCaseで条件を記載し、concatで値を連結することで実現可能 update Table_A set Column_1 = case SECT_CD when 'value_1' then concat(Column_1,'value_2') else C…

AndroidのAPKファイルの中身を覗いてみる

アンドロイド・アプリを開発していて、作成したAPKファイルの中身を参照したかった。 拡張子のapkをzipに変更すれば、そのまま解凍することができるといくつかのWebの記事に書いてあったが、解凍しようとするとと解凍エラーに遭遇。 「その操作は許可されて…

JasmineでTest Script作成中にDid you add it to @NgModule.entryComponents?エラー

JasmineでTest Script作成中にDid you add it to @NgModule.entryComponents?エラーに遭遇した。specファイルにentryComponentsを定義出来ないのでどのようにすべきかを調査しているとDummyのModuleを定義することで回避できることが判った。 Dummy Module @…

error TS2315: Type 'ElementRef' is not generic.

angular materialを使用しようとしたら「error TS2315: Type 'ElementRef' is not generic.」というエラーが発生 ERROR in ../../node_modules/@angular/material/autocomplete/typings/autocomplete-origin.d.ts(15,17): error TS2315: Type 'ElementRef' i…

JasmineでTestBedのOverride

TestBedの中でentryComponentsを定義したい時は、以下のようにTestBedをOverrideする事でentryComponentsの定義等が可能になる。 TestBed.configureTestingModule({ imports: [ 途中省略 ] }) .compileComponents(); TestBed.overrideModule(BrowserDynamicT…

Javascriptで親関数の変数にアクセスする

Javascriptで呼び出し元の変数にアクセスする際のお作法。 ”this"ではなく、"that"を使用するのが定石。 d.hatena.ne.jp

Angular 5でページ内スクロール

Angular 5 でボタンをクリックして、ページ内スクロールをしつつCompoentで表示の制御を行おうとして四苦八苦していたら以下のStackOverflowを参考にしたら実装できた。 stackoverflow.com

angular 5で多言語化対応

Angular 5で多言語化対応をする必要があり、ngx-translateを使用しようとしたところ、ngx-translate/coreの最新版はangular5では正しく動作しないとのことで9.1.1を使用。 npm install @ngx-translate/core@^9.1.1 --save npm install @ngx-translate/http-l…

Watson Coverasation API、Node.jsでChatbot

Node.jsでConversationAPIを使用したチュートリアルを探していたら以下の記事にたどり着きました。 qiita.com こちらの記事ではクライアントとサーバーのやりとりに、socket.ioを使用している。socket.ioを使用することで、開発者は接続プロトコルを意識せず…

Google HomeにSlackから喋らせる

以下のサイトを参考に実装してみた際の備忘ログ。 engineer.muragon.co ①言語設定 日本語を有効にする為に、言語の設定を以下のように書き換える(2箇所) var language = 'ja'; // language code if (req.query.language) { language; } googlehome.ip(ip, …

役に立つチュートリアル集

Spring Boot + Angular + MongoDBでToDoアプリを開発するチュートリアル。 シンプルでわかり易い。 www.callicoder.com