• 2019年7月14日日曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

致知 2019年8月号「後世に伝えたいこと」読書感想文

今月の致知「後世に伝えたいこと」って、それは 毎月号 いつも同じだろう 。タイトルを考えるのも難しいだろうな。(;´^ω^`) それはさておき、特集「後世に伝えたいこと」にはこう書かれている。 主人公意識は、 自分の人生はすべて自分が主人公 であり 、 責任者であるとい...
  • 2019年6月30日日曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

情報処理試験「プロジェクトマネージャ」の合格体験談と再現論文をみよちゃんに送付

今回の情報処理試験「プロジェクトマネージャ」にあたっては、株式会社エムズネットの三好康之先生、通称 みよちゃん という方に論文添削を依頼したのが合格の秘訣だったんだけど、そのみよちゃん先生が 合格体験談と再現論文の募集 をしているんだよな。 そこで先ほど、僕も早起きして合格体...
  • 2019年6月25日火曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

名刺を新調した(´^ω^`)

情報処理試験「プロジェクトマネージャ」の合格記念 に名刺を新調した。(´^ω^`) 注文先は ラクスル で。 到着は7月頭くらいになりそう。 名刺には以下の資格保有者であることを記載。 情報処理技術者「プロジェクトマネージャー」 情報処理技術者「システムアー...
  • 2019年6月22日土曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

情報処理試験「プロジェクトマネージャ」合格体験談

情報処理試験「プロジェクトマネージャ」に合格しました!! やった!! って言うか、疲れ果てた。。。 ちょっと今回は合格体験の詳細をご報告。 取得の理由 まず僕がプロマネの資格を取ろうとした理由は、 営業活動 である。 僕は正体はもちろん技術者なんだけど...
  • 2019年6月16日日曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

致知 2019年7月号「命は吾より作す」読書感想文

今月の致知は元トヨタ自動車技監の林南八氏。 76歳だけどシャキッとしたじーちゃんだな。 あの有名なトヨタ生産方式の伝承者というキャッチフレーズでの登場である。 トヨタ生産方式、僕は好きだ!! 記事中にも特記事項として記載されているが、トヨタ生産方式の最大の特徴は「徹...
  • 2019年6月3日月曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

JUnit5のassertEqualsとassertSameの違い

JUnit5には「assertSame」というアサーションがある。 メソッド名を見ると 「assertEqualsと同じではないのか?」 という気もするのだが、調べてみたところ、assertSameはオブジェクト自体が同じかどうかをチェックするもののようだ。 例を見てみよ...
  • 2019年6月2日日曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

JUnit5で配列とリストをチェックする「assertArrayEquals」「assertIterableEquals」

メソッドの戻り値がString一発とかBoolean一発とは限らず、配列になっていることもある。そんな時に使用するJUnit5のアサーションがこちら。 assertArrayEquals 公式JavaDoc を見てすぐに目につくのはこれ、assertArrayEqual...
  • 2019年5月28日火曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

JUnit5のアサーションをグループ化する「assertAll」

JUnit5には「assertAll」というアサーションがある。 これは複数のアサーションをグループ化するものだ。 ユニットテストの本質である、値が期待通りかをチェックする機能ではなく、ソース整理の為の機能であると言える。 用途 出番が来るのは、テスト対象となるリ...
  • 2019年5月27日月曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

JUnit5で例外の発生を検知「assertThrows」

Java開発をやってて泣けてくる のは、Javaには「例外」ってものがあるんだぜ。 if文があって、「Trueの方が正常」「Falseの異常」じゃないんだよ。 True/Falseの考え方はパラメータ的に正しいかどうかでしょ? それとは別にネットワーク断とか予期せ...
  • 2019年5月26日日曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

JUnit5のメソッド名には日本語も使える

小ネタ。 JUnit5のメソッド名には日本語も使えるんだぜ。 こんな感じに。 用途 ショボい話なんだが、JUnitのテストケースを作っていると、メソッド名のネタに枯渇してくるんだよな。 〇〇メソッドのテスト・正常系・下限境界値マイナス1 〇〇メソ...
  • 2019年5月21日火曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

JUnit5でアノテーション「@DisplayName」を使うことで表示名を設定できる

JUnit5からの新登場。アノテーション「@DisplayName」。 公式サイト によると表示名を変える機能だそうだ。 「表示名」って一体何のこっちゃ。 検証してみよう。 ソース まず、試しに「@DisplayName」を使ってみる。 @DisplayNam...
  • 2019年5月20日月曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

JUnit5のアノテーション「@BeforeAll」「@AfterAll」「@BeforeEach」「@AfterEach」

前回 に引き続き、JUnit5の勉強を進めていくぜ。 まずは基本である「@BeforeAll」「@AfterAll」「@BeforeEach」「@AfterEach」だ。 「@BeforeAll」「@AfterAll」「@BeforeEach」「@AfterEach」 ...
  • 2019年5月19日日曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

最新鋭ユニットテストフレームワーク「JUnit5」~インストール編~

ユニットテストによる再帰的テストの重要性が説かれるようになって久しい。 今更それについて記事を書こうなどとは 10年遅い と断ずるのもやむなしなのだが、それでも敢えて再び僕がユニットテストに着眼する気になったのには理由がある。 現場の成熟度の問題 お恥ずかしながら、だ...
  • 2019年5月11日土曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

Pythonでメールを送る時に、本文の宛先と実際に届く宛先が違う

現場でPythonで作ったメール送信プログラムがあるんだが、そこでバグが見つかった。 その内容としては、 本文の載っているメールの宛先と、実際に届いているメールの宛先が違う というものだ。 原因を追ってみたので解説しよう。 基本:メールの宛先は偽装可能 まず根本的な...
  • 2019年5月7日火曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

Javaでクラスパス上のファイルを取得する

普通、Javaでファイルを取得する場合は絶対パスで取得するものなんだけど、偶にクラスパス上のファイルを取得したい時がある。 例えば、JUnitの為にテスト用ファイルを流し込みたい時、チェックアウトしてすぐ動かす為にはクラスパス上にファイルを置いておくのが便利だ。 必要にな...
  • 2019年5月6日月曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

致知 2019年6月号「看脚下」読書感想文

看脚下……、 読めねえし 。 致知も読めない人が多いことを察したらしく、特集の一ページ目の第一行に説明があった。 文字通りの意味としては「自分の足元をよく見る」だけど、本質的には、今、自分が何をするべきかという 天命 をちゃんと見極めろ 、という話のようだ。 致知を読ん...
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

JacksonでJavaオブジェクトとJSON文字列を変換する

Java界ではJSON文字列を取り扱うライブラリは、恐らく「Jackson」か「gson」の2強だろう。 Pythonなんかだと標準でJSON機能を持っているんだけど、Javaの場合は外部ライブラリの導入が必要になる。 だから、ある現場では「Jackson」を使い、ある現場...
  • 2019年5月5日日曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

SpringBootのinstallでエラー [ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.1.4.RELEASE:repackage (repackage) on project AristJavaTemplateBatch: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.1.4.RELEASE:repackage failed: Unable to find a single main class from the following candidates

「maven install」をしようとしたら、こんなエラーが出てしまった。 [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILU...
  • 2019年5月4日土曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

SpringBootを活用した任意プロパティファイルの読み込み

SpringBootというのは、特に何もしなくてもデフォルトで「application.properties」が読み込まれ、各所にDI(依存性注入)される。 しかし、場合に依っては、全ての外部定義情報が「application.properties」に終結されると保守性という...
  • 2019年5月3日金曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

SpringBootのDI(依存性注入)をシステム日付で説明してやるぜ

SpringBoot……と言うかSpringFramework伝統の必殺技「DI(依存性注入)」だが、これが難しい!! これが分かってるプログラマーなんて滅多におらんぞ!! 僕も手探りで何とかボチボチ使い方程度は……、くらいの理解度だけど、DIとは一体何なのか? それを「...
  • 2019年5月2日木曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

Javaで文字列ハッシュ作成

昨今はセキュリティに対する意識が高まっており、パスワードを平文で保存するなど絶対NGとされている。 それでも 大流出祭りをやらかすサービス もあるが。(;´^ω^`) まあ、最近のフレームワークは「パスワードのハッシュ化作業」を内部で自動的にやってくれることも多いから自分で...
  • 2019年5月1日水曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

SpringBootはバッチでも使用出来るんだぞ

現在、Java界で一番隆盛を極めているライブラリは SpringBoot ではないだろうか? SpringBootは、Java界の金字塔フレームワーク「Spring Framework」の系譜を受け継ぐライブラリで、Spring Frameworkと同じような機能を持ちながら...
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

バッチの二重起動チェックを作成

Javaでバッチが二重起動しないようにするためのチェックは、大抵はファイルで行う。 ファイルを作成し、 ロックを取得 し、ロックが取れればOK、取れなければNGという判定ロジックだ。 基本ソース ロジックの根幹を成す「ロック」は以下で実現出来る。 Fi...
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

オリジナルのExceptionを有効活用せよ

Javaの保守性を向上させるコツの一つに、例外処理がある。 オリジナルのExceptionを作る事例を紹介してみよう。 オリジナルの例外を作る事例 Javaで自分のオリジナルの例外を作るのに適しているタイミング、それは 自分のロジック上、論理的におかしいと言うタイミ...
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

logbackの共通値を変数化する

Javaでログ出力を作る際はlog4jを使うのが主流で、その設定値はlogback.xmlに書くものだ。 TRACE DEBUG INFO WARN ERROR などのログ出力の設定をしていくわけだが、ここでよくあるパータンがある。 ログ出力フォ...
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

mainクラスから自分自身のインスタンスを作成する

他人のソースを見ていて凄く疑問に思うことなんだが、もしかして、 自分自身をnewしてインスタンスを作ることは出来ない とでも勘違いしていないか? そんなこと無いからな!! 状況説明 Javaバッチの実行で最初に来るのは「mainメソッド」を持っているクラスだが...
  • 2019年4月30日火曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

mavenプロジェクトのバージョンを指定する

JavaTemplateBatchは mavenプロジェクト とする。 mavenはJavaで一番標準的なプロジェクト管理ツールで、その用途は主に二つ。 必要なライブラリをネットから収集してセットアップしてくれる。 コンパイルしてjarファイルを作ってくれる。 ...
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

【JavaTemplateBatch】Javaのテンプレートバッチを開発するぜ

新しい現場に来て、早一ヵ月。 Javaのバッチを見ているんだけど、いやぁ、 汚い なぁ。(;´・ω・`) まあ、これ以下の掃き溜めを何度も見ている僕としてはこれくらいは許容範囲内なんだけど、それでもガタガタのクラス設計を見ると何ともしがたい義憤を感じる。 ログ出力...
  • 2019年4月21日日曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/

情報処理試験プロジェクトマネージャを受験してきました

平成31年度春季情報処理試験「プロジェクトマネージャ」を受験してたぜ。 そのご報告を。 午前1 免除 午前2 取り立てて特筆することの無い普通の問題だった。 過去問を過去6年分も見ておけば確実に合格する。 いつも通りの午前問題だった。 ...