きり丸の技術日記

技術検証したり、資格等をここに残していきます。

2021-02-01から1ヶ月間の記事一覧

【Tips】GTimeReportでGoogleカレンダーの予定一覧を出力する(業務時間のうち会議にかかった時間の分析に使用できる)

※ あくまで出力結果から分析できるという話です。分析の話自体は、この記事ではしません。 Googleカレンダーの予定を表形式、スプレッドシート、Excel(xls, xlsx)に出力してくれるG Time Reportというサイトがあります。 カレンダーの情報を一覧化すること…

JavaのJacksonライブラリのCsvMapperでCSVを読み込む

JavaでCSVを読み込む方法を調べました。 最初は、SpringBootに組み込まれているObjectMapperで読み込めると思いましたが、ObjectMapperではCSV読み込みはできないようです。ですので、意図的にJacksonライブラリのCsvMapperを依存関係に含める必要があります…

組織は無能で構成される(ピーターの法則)

どの組織にも当てはまるわけではありません。また、現在所属している組織が無能で構成されているということをアピールしたいわけでもありません。 有能な人間は能力の限界まで昇進できる 一般職としては有能だが、管理職としては無能な場合は昇進できない等…

Jenkinsのパイプラインで起動したシェルを永続化する(ProcessTreeKiller回避)

Jenkinsのパイプラインから起動することで、常に最新の資材が展開されているnodeサーバを建てようとしました。 しかし、Jenkinsサーバでコマンドを打つとnodeサーバが起動するものの、Jenkinsのパイプラインからコマンドを実行すると起動しません。Jenkins上…

REST APIのレスポンスJSONでデータが無い時の表現

REST APIで対象の項目にデータが無い時の表現方法が分からなかったので纏めました。 大きくは2つ、派閥があります。 null undefined データ項目を定義しない null派閥 RFC8259でJSONが定義されています。 JSONの値としては、オブジェクト、配列、数値、文字…

GitHubに連携しているソースをIntelliJ IDEAからブラウザで開く(Jump to the GitHub version of a file)

私の中ではよく使うユースケースですので、忘れないようにメモ。 ブログを書いていると、記事に出現したソースをGitHubにPushし、ブログ側にリンクを張ることがよくあります。 その際に、masterではなくコミットハッシュ値付でリンクを張ることで、GitHub側…

エンティティを渡すだけでDBのユニットテストのセットアップしたい(SimpleJdbcInsertとBeanPropertySqlParameterSource)

皆さんはDBのユニットテストを行うとき、どのようにテストのセットアップを行っていますか。 私はSimpleJdbcInsertを使用しています。テーブル名とInsert対象のカラムと値のマップを渡すだけで更新してくれるので、個人的には使いやすいと思っています。 し…

Rust製のコード行数をカウントするtokei(時計)を使う

コメントを除外し、有効なコードの行数(LoC)をカウントするtokei(時計)というツールがあります。 エンジニアの生産性をコードの行数で測れるわけではありませんが、Rust製のツールということで素振りしてみました。 環境 tokei GitHub Codespaces 特徴 …

【Java】WinでもFile.separatorを使わずにスラッシュでディレクトリを表現できる

タイトルの出オチ記事。 Windows環境でディレクトリを表現するときは、次の表現はすべて同じディレクトリを指します。 String path1 = "tmp\\dummy"; String path2 = "tmp" + File.separator + "dummy"; String path3 = "tmp/dummy"; Linux等の環境では、デ…

IntelliJ IDEAでCheckstyleを適用する(自動フォーマットにも適用させる)

コードがコーディング規約に沿っているかを自動で確認してくれるCheckstyleというツールがあります。 ただし、導入してもチェックしかしてくれないので、手動でフォーマットする必要があります。軽微な修正であればIntelliJ IDEAのショートカットでフォーマ…