気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

IntelliJ IDEA ショートカット(Windows)

便利なショートカットを記載しておきます。

カテゴリ コマンド 概要 詳細
検索 Shift + Shift 全て検索 プロジェクト内のファイル名、クラス名、シンボル名(変数、メソッド等)をインクリメンタル検索。クラス検索(Ctrl + N)で詳細検索
ナビゲーション Ctrl + Alt + 左右キー ナビゲーションのUndo/Redo
Alt + 左右キー タブの左右移動
表示 Ctrl + P メソッドのパラメータ一覧表示
Ctrl + Q クラス/メソッド/変数のドキュメント表示
Alt + Enter 修正候補表示
Ctrl + Alt + ← or → ジャンプして移動した履歴を戻る/進む
Ctrl + F12 メソッド一覧を開く
Ctrl + H 型階層を開く
編集 Ctrl + w 拡張選択 メソッドの引数一覧、メソッド、ステートメント、ブロックという形で選択された箇所が拡張
Shift + F6 名前変更
設定 Ctrl + Alt + S 設定を開く

参考URL

docker-compose コマンド

よく使うコマンドを列挙していきます。

コンテナ

# バックグラウンド起動
docker-compose up -d

# 起動中のdockerコンテナの一覧を表示する
docker ps -a

# docker起動時のログを調べる
docker-compose logs [コンテナにつけた名前]

# 全てのコンテナを削除する
docker rm $(docker ps -a -q) 

# 起動中のコンテナに入る
docker exec -it [コンテナID] /bin/bash

dockerイメージ

# dockerイメージの一覧を表示する
docker images -a

# dockerイメージを削除する
docker rmi [イメージID] [イメージID]...

# 使用していないイメージ・コンテナをすべて消す
docker image prune -a

volume

docker volumeを削除する

containerが上手く立ち上がらない場合は、volumeを削除してから、up -dすると上手くいく場合あり

# docker-compose upで起動している場合は停止する
$ docker-compose down --rmi all --volumes

Private メソッドをテストコードで実行する

テストコード内でprivateメソッドを呼ぶことができず、publicにしたくなります。
そんなときはリフレクションを使って、privateメソッド呼び出すことでテストを書くとよいかも

getDeclaredMethodはprivateメソッドでも取得可。getMethodでは、pravateメソッドを取得できない。

    private  TestService testService;
    @Test
    void testClassName() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        // TestService内のmethodNameというメソッドを取得
        var method = TestService.class.getDeclaredMethod("methodName", String.class);
        // privateメソッドへのアクセス権限付与
        method.setAccessible(true);
        // メソッド実行、テスト
        assertEquals("resultValue", method.invoke(testService, param1, param2));
    }

ECサイト マーケ用語

マーケ用語について、触れたものに関して記載していきます。

リテンション

お得意様で居続けてくれること(既存顧客維持)
リピートがつきやすい店舗を分析して、効果的な施策を出す

ECサイト セールス用語

セールス用語について、触れたものに関して記載していきます。

アップセル、クロスセル

  • アップセル:より高い商品を買ってもらう
  • クロスセル:追加商品、もしくはセット商品で買ってもらう

店舗やメーカーに対しての愛着や信頼度が高いユーザーに特に有効な施策

Mixed contentとは?

Mixed contentとは

httpsページ内にhttp(非暗号化通信)で読み込んでいるファイルが存在(混在)している状態を指します。

httpsページにhttpコンテンツが混ざることの問題点

  • httpコンテンツがブラウザから「安全でない」と一部読み込まれない現象が発生しうる
  • 結果的にサイトデザイン崩れ、ボタンが動作しないなどの機能的不具合がある状態になるかもしれない

問題事象の詳細

iframeやスクリプトファイル(CSSJavaScriptXMLなど)は読み込みがブロックされ、画像や動画ファイルはブロックされません。
Chromeではアドレスバーに「i」マークが表示され、クリックすると「このサイトへの接続は完全に保護されていません」というメッセージが表示される。

引用先URL

ChromeがMixed contentの段階的なブロック強化を開始!詳細や対応方法とは? | さくらのSSL

OracleとPostgresSQLのクエリの違い

1クエリにおいてOracleからPostgresSQLに変換した際の違いについて、メモしておきます。

Oracle

  • スキーマ名、テーブル名はダブルコーテーションで囲わなくてもよい
  • 組み込み関数
    • sysdate:SYSDATE
    • trunc:TRUNC(CURRENT_DATE, 'DD') 時間切り捨て
    • デフォルト値:nvl(AAA, '1')

PostgresSQL

  • スキーマ名、テーブル名はダブルコーテーションで囲う
  • 組み込み関数