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

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

Kotlin Coroutineの概念を理解する

以下でCoroutinの概要理解を行いました。 https://tamata78.hatenablog.com/entry/2021/09/06/174235 上記で理解を進める中でわからなかった概念を補足する情報を記載していきます。 CoroutineScope CoroutineScopeは、コルーチンビルダー関数であるlaunchま…

Javaバージョンを切り替えるjEnvの基本コマンド

jenvのインストール brewでインストール brew install jenv 設定 Bashを使っている場合 echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(jenv init -)"' >> ~/.bash_profile Zshを使っている場合 echo 'export PATH="$HOME/.j…

Brewfile関連の基本コマンド

Mac OSの環境構築を自動化するツールの基本コマンドを記載していきます。 パッケージを探す brew search # caskのパッケージも探せる mas search パッケージのアップデート $ brew upgrade $ brew upgrade --cask $ mas upgrade インストール済みパッケージ…

Mac OS 開発環境初期設定

ターミナル brew install /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" brew install cask クライアントアプリ アプリランチャー、コピペアプリ、 エディタ、docker、メニューカレンダー表示、ブル…

Mybatis キャッシュ設定

Mybatis キャッシュ設定 同じクエリを複数回呼ぶ場合、キャッシュ設定を入れると高速に処理できる可能性があります。 mybatis: configuration: cache-enabled: true # デフォルト有効だが、明示的に記載。 default-executor-type: reuse PreparedStatementを…

Kotlin Coroutineの概要を理解する

以下を写経しつつ、理解をしていきます。 Kotlin の Coroutine を概観する - Qiita Coroutineとは? 軽量なThreadのようなもの 他の処理をブロックせずに並列処理を行える Threadは無視できないコストがかかるが、Coroutineは気にしなくてもよいレベルのコス…

MySQL ギャップロックとは?

現場でギャップロックという聞き慣れない用語を耳にしたので、 以下の記事を参考に理解する。 MySQLのギャップロックとネクストキーロック - 41から始めました MySQLロック ロックの種類 排他ロック DML実行時にトランザクションで最初に取得されるロック ロ…

気になる監視ツール

Sentry フロントエンドエラー可視化 New Relic アプリ監視ツール

Java8 ラムダ式でよく利用する関数型インターフェース

関数型インターフェースとは? 単一メソッドを持つインターフェース群 ラムダ 式で利用するのに都合がいい SE8からjava.util.functionパッケージに追加された ラムダ式を引数として取る場合に、関数型インターフェースを指定して受け取る。 ラムダ式の種類毎…

Pythonの負荷テストツール Locust

Pythonで負荷テストコードを記載するLocustについて記載します。 特徴 シナリオを Python で記述 分散&スケーラブル Web ベース管理画面 高いカスタマイズ性 本家サイト Github:GitHub - ktanakaj/locust-example: Example scripts for Locust Github/examp…

MacOS Python3系インストール

Pythonバージョン管理ツールのpyenvを入れて、3系のPythonをインストール&適用させていきます。 pyenvをインストール brew install pyenv pyenvの設定(シェルがzshの場合) echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'export PATH="$PYENV_R…

JSON用のgrepみたいなjqコマンド

JSONを便利に編集できるjqコマンドできる基礎的なことを書いておきます。 マニュアル、参考URL 公式マニュアルをみておくと幸せになれる。 jq Manual (development version) ここに書いていることでメモしておきたいことを書いていきます。 jq コマンドを使…

Kotlin 正規表現

下記の例を貼らせて頂きました。 Kotlinの正規表現の使い方 | 寝室コンピューティング // a,b,cのうちいずれかにマッチ val regex = Regex(pattern = "[abc]") // Raw Stringはエスケープ不要 """\d""" // 普通の文字列だとエスケープが必要 "\\d" // 文字列…

Mockito 基礎文法

Mockitoでパッとわからなかった書き方について書いていきます。 戻り値なしメソッド 何も返さないメソッドが指定インスタンスと引数のときにMock化されます Mockito.doNothing().when(モックインスタンス).メソッド(任意の引数); privateメソッド、staticメ…

ホスト名からIPを調べる方法(host, dig)

host -a ANSWER SECTIONのところにIPが表示される % host -a stg.sample.com Trying "stg.sample.com" ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21689 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECT…

現場システム開発の進め方を考えてみる

システム開発を効率的に進めるための優先順位や力を抜く部分、効率化についての整理をしてみます。 前提 開発機能:なんとなくこんな機能というイメージはあるが、コードは読んだことがない 言語:Javaでの開発は慣れているが、新たに使うKotlinについては未…

Kotlin 基礎学習

Kotlin とは? オンライン実行環境 Javaとの違い null関係 スコープ関数 演算子 値比較、参照比較 文字列 文字列中に埋め込み文字 改行入り文字列 型 キャスト 関数 function 基本の書き方 名前付き引数 関数オブジェクト ラムダ式 制御文 if for while 配列…

Github Actions 補助機能メモ

Github Actionsで使える補助的な機能についてメモしておきます。 補助的な機能 CIをスキップする コミットメッセージに[skip ci]を含める。どこに書いてもいい。 ドラフトPR 修正途中のPRをWIPとして作成可能。マージできないPRとなる。

Jenkins Pipelineとは

Jenkins pipelineを使ったデプロイジョブが動作不良になった経緯があり、基本概念を調べてまとめておきます。 Pipelineとは Jenkins2.0においてPipeline Pluginが標準装備になりました。 Pipelineは、デプロイのパイプライン(ステージ毎の工程)を可視化する…

MySQL 実行計画(EXPLAIN)

MySQLにおける実行計画の見方について記載します。 EXPLAIN 結果確認 クエリコストをみたい場合 format=jsonをつけてexplainを実行する。 explain format=json 【クエリ】 結果Json query_costの箇所にコストが表示される { "query_block": { "select_id": 1…

JMeterの出力結果の見方

JMeterの出力結果の簡単な読み方について記載します。 Jmeterの出力結果の見方 $ apache-jmeter-5.3/bin/jmeter.sh -n -t test.jmx summary + 2297 in 00:00:24 = 95.4/s Avg: 1176 Min: 1 Max: 16483 Err: 15 (0.65%) Active: 113 Started: 120 Finished: 7…

ssh時はローカルのlocaleを接続先に引き継いでしまう

ssh

タイトルの通りだけど、ssh時はローカルで設定したlocaleを引き継いでしまい、 接続先はen_USだったはずなのに、ja_JPになるということがある。 ssh -v でデバッグすると、接続先にロケール情報を引き継いでいることを確認できる。 [接続元]$ ssh -vi ***.pe…

Bitbucket ソース共有時のオプション

以下のパラメータを付与するとブランチや色付け行数を指定可能 【URL】?at=master#lines-190:191 ブランチ:at=【ブランチ名】 行数色付け:#lines-【開始行数】:【終了行数】

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

便利なショートカットを記載しておきます。 カテゴリ コマンド 概要 詳細 ナビゲーション command + option + 左右キー ナビゲーションのUndo/Redo 検索 Shift + Shift 全て検索 プロジェクト内のファイル名、クラス名、シンボル名(変数、メソッド等)をイン…

Mac OSX 日常で使う便利なアプリ

Macに入れておくと業務効率化や、便利に使えるアプリを追記していきます。 メニューバーにカレンダー表示_無料 https://jittodesign.org/itsycal-18947/ Macのメニューバーに表示する日付表示は、クリックしてもカレンダーが見れるわけではないので不便。 無…

httpとhttpsのポート番号

httpのポート番号:80 httpsのポート番号:443 ポート番号の80と443は、ドメイン名の後ろについているけど、それが省略されている ポート付けた場合と付けない場合は同義となります。 http://aaa.co.jp:80 → http://aaa.co.jp https://aaa.co.jp:443 → https…

Git pushできない幾つかのパターンと解決方法

タグが既にある 特に更新していないタグが原因でpushが拒否されることがあります。 [rejected] example_tag -> example_tag (already exists) そんなときはタグを更新してみます。 git pull --tags 競合が発生した場合、ローカルにあるものを上書きして解決…

Kotlin 型パラメータ

Kotlinソースを見たときに引数に見慣れない変数があったのでググってみた。 inline fun <reified T> startActivity(context: Context) { context.startActivity(Intent(context, T::class.java)) } 「context: 」と「T::class.java」の記述はJavaで書くと以下のようにな</reified>…

Eclipse使ってた人がやりたいIntelliJ IDEA 初期設定

EclipseでできたことをIntelliJでも出来るだけやりたい。 設定した内容の備忘録を書いておきます。 日本語化 Ctrl+Shift+Sで設定を開き、サイドバーのpluginを選択。検索で「japan」と入力。 Japanese Language Packをインストール&IDE再起動 開発が楽にな…

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

便利なショートカットを記載しておきます。 カテゴリ コマンド 概要 詳細 検索 Shift + Shift 全て検索 プロジェクト内のファイル名、クラス名、シンボル名(変数、メソッド等)をインクリメンタル検索。クラス検索(Ctrl + N)で詳細検索 ナビゲーション Ctrl +…