技術
Gmailで1度開いたメールを後でURLで開けるようにする方法を自分用にメモします。特に件名を検索した後に、該当のメールをURLを開く方法を知りたかった記事です。 環境 Gmail 2023/11/18時点 IDの取得方法 URLのサブディレクトリの最後がメールのIDを示してい…
有名な話ですがハマったのでブログにします。 環境 Python 3.9 事象 Pythonでデフォルト引数に配列を定義すると、意図せずに同じインスタンスを使用してしまう。 def target_1(value, list=[]): list.append(value) return list def test_01(): a = target_1…
JSONからJSONPathを取得する方法を記事にしたことで、開発中のファイルに作成したJSONPathを定義できるようになりました。 今回の記事では、逆にJSONPathは分かっていI18nの定義ファイルのどこで定義してあるかを知れます。 環境 IntelliJ IDEA 2023.2 JSON …
この記事ではOldstarのHDMI変換アダプタをWin11でも表示させる方法をブログにします。同梱されているドライバはWin10までしか対応していません。 なおWin11で表示はできるものの、10月23日時点ではドライバの品質が悪く、使用に耐えられない描画遅延が発生し…
Javaでメルセンヌ数(2の冪-1)を求める方法を記載します。 メルセンヌ数についてはWikipediaを参考にしてください。 前提 Java 21 対応 2の冪-1が整数となる値を求めるために次の式を使用します。 private static boolean isMersenne(int value) { return l…
Javaで用意されているMathクラスだと十進対数(logx)だけしかないので二進対数(log2x)で計算する方法をメモします。 前提 Java 21 対応 十進対数から二進対数を割るだけです。 public static double log2(int value) { return Math.log(value) / Math.log…
小ネタ。なお、特に説明はしていませんが、関数も変数と同じように使えます。 環境 Bash GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu) Ubuntu 20.04.2 LTS GitHub Codespaces 概要 変数を使用したいシェルからsourceコマンドで変数を定義した…
Excelは保存時に強調したいセルがある、等々の理由がない限りA1セルに合わせる、というマナーがあります。そのマナーの是非について問うつもりはありません。 今回の記事では、保存時に自動でA1セルに合わせるマクロを記載します。 前提 Excel Microsoft Off…
JSONでI18n対応していると、目的の文言を出力する時にJSONパスが必要です。深い構造ほどパスの把握に時間がかかります。 VS Code, IntelliJ IDEAのIDEでJSONの目的のパスにフォーカスしていると、画面の上部や下部にJSONパスが表示されます。それを手打ちし…
当たり前の話ではありますが。 Userクラスの配列からuser_idをキーに検索したい、emailをキーに検索したい等々の特定のキーがある場合、辞書型を経由すると非常に早く値を取得できます。 前提 Python 3.9 対応 配列を辞書型に変換する 最初にUserクラスを定…
小ネタ。 前提 なし 詳細 私が関わっているシステムでは、001, 002等で種類を表すコード値を使っていることがあります。基本的には文字列で処理するので問題はほとんど発生しないのですが、状況によっては8進数の文字列と解釈されることがあります。可能な限…
よくABPとHPの正式名称を忘れるので自分用にまとめます。 前提 クリティカルチェーン・プロジェクトマネジメント 略称はCCPM ABPとは ABPとはAggressive But Possibleの略称です。日本語訳としては「積極的に行えば可能」「頑張れば可能」です。私の感覚では…
本来の使い方とは異なります。黙って使うと怒られるかもしれないので、導入の際は念のため確認してください。 Javaにはtransientという修飾子があります。これを使うことでコードで表現できることが増えます。 環境 Java 15 ユースケース コードの表現力を増…
SpringBootの@Valueを使用すると、設定ファイルの値を取得して変数に設定できます。しかし、static変数に関しては直接的に@Valueで設定できません。 今回の記事では、設定ファイルの値をstatic変数にも設定できるようにします。 前提 org.springframework.bo…
SpringBoot等のフレームワークの機能を使用すると、簡単に設定ファイルが読み込めるようになりました。 しかし、E2Eの試験をするだけのプロジェクト等では重くなりがちなフレームワークを導入したくありません。 今回の記事では、Javaのみでpropertiesファイ…
※ 一部再現しきれていないので、誤っている可能性があります。 前提 SQLAlchemy 2.0.11 ソースコードありません 1.4.32 対応 次のどちらかで対応できます。 配列にand_インスタンスを設定し、最後に*で展開する ※ 2.0.11, 1.4.32でも確認できています。 crit…
当記事は問題解決に向けた記事ではありません。調べても原因が分からなかったので、事象の報告記事となります。 環境 Ruby 2.7.2 Rails 6.0.0 発生事象 ActiveRecord::Baseを継承したクラスにて、特定の条件のレコードの1行目を取得したかったので、次のよう…
以前、Javaの自作アノテーションを作成する方法をブログにしました。しかし、自作アノテーションに定義した変数を取り出して、バリデーションを行う方法がちょっとだけ面倒だったので、ブログに残します。 環境 Java 17 前提 テストする方法は、こちらの記事…
小ネタ。 環境 Java 17 対応 java.lang.Stringを使用します。内部的にはjava.util.Formatterを使用しています。 intの場合は%0{特定の文字数}d。Stringの場合は%{特定の文字数}sで半角スペースで左埋めしたあと、replace(半角スペース, 任意の文字)で半角ス…
公式ヘルプ読めば一発のお話。 ターミナルに強いこだわりはないのですが、ターミナルだとlsを無意識に打ってしまう癖があるので、エラーが起きないようにIntelliJ IDEAのデフォルトターミナルをGit Bashに変更しました。 その手順を残します。 環境 IntelliJ…
小ネタ。特定項目が処理の開始時は1だったのに、処理の終了時には1000が代入されていたとします。規模が小さいうちはSetterやBuilder等々の呼び出し元にブレークポイントを張っていればいいのですが、規模が大きくなってくるとブレークポイントを張るだけで…
地味に知らなかったので。 前提 JavaScript 対応 Null合体演算子??を使用する。 const item = { "A": "1" }; console.log(item.A.toString()); // "1" console.log(item.B?.toString()); // undefined console.log(item.A.toString() ?? "100"); // "1" cons…
コミット全体をRevertするのではなく、特定のファイルだけをRevertかけたい時の操作を記載します。 環境 IntelliJ IDEA 2022.3.3 対応 GitタブでRevertしたいコミットログを探し、対象のファイルを右クリックします。 選択した変更を元に戻すを選択すると、…
Git Rebaseをする際に、ローカルの修正が残っている場合はgit stash, git stash popをしないと実行できません。 毎回そのコマンドを入力するのは面倒ですが、オプションや設定でstashコマンドを実行せずに済むのでそれを記事にしました。 環境 git version 2…
タイトルの出オチ記事。 前提 Chrome 2023/05/02時点 原因 portrait, landscapeは画面のwidthとheightの縦横比で決まる iframeの画面サイズは親画面サイズに依存しない 上記2つの原因により、iframeで作られた画面を最小化(ヘッダだけ見える状態にする)す…
PythonでJSONを比較したいという記事を過去に書きました。しかし、日付項目等々の固定しづらい項目を無視して比較するというユースケースが達成できていませんでした。 今回の記事では、一部項目を無視して比較する方法を記載します。 前提 Python 3.11 Deep…
基本的には公式ヘルプ読んでください。 環境 GitHub 2022/11/04時点 対応 base:ブランチ名で特定のブランチに対するPRをフィルタリングできます。fromではなく、toのブランチ名を指しています。ブランチを切るときのbaseとして考えると、意味合いは正しいの…
メソッド呼び出し元で引数が指定されていない場合は、デフォルト値を与えられます。キーワード引数を使用すると、任意のパラメータに値を与えられます。 ただし、意図的にメソッド呼び出し元でNoneを渡してしまった場合、デフォルト値を使用できません。 今…
辞書型の値がNoneの場合に、キーを削除したいことがあったので残します。 前提 Python 3.11 対応 辞書型の値がNoneのとき、キーを削除するのは次のコードです。 {k: v for k, v in dict.items() if v is not None} dict = {"a": "1", "b": "2", "c": None} a…
掲題のとおり、AWS認定ソリューションアーキテクト(SAA-C03)を受験し、合格したので合格記を記します。 前提 AWSは本業でほぼ使ったことがない 副業で使ってはいるが、基本的にAWSにログインして操作することはない 合格日 2023年03月30日(木) 合格した…