ぺんぎんらぼ

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です。たまに絵を描きます。

お笑いとマンガ好きなしょぼしょぼWeb系エンジニアの日記です

Lombok - アノテーション一覧

定型的で冗長なコードの実装を省くことができるLombok。 @Getterや@Setter、@Dataアノテーションぐらいしか使ったことがない人も多いと思いますが、これら以外にも便利なアノテーションが用意されています。 個々のアノテーションの詳細な説明は別記事で取り…

なぜequalsとhashCodeの両方をオーバーライドする必要があるのか

Javaで、データを格納するためのBeanクラスを作成したときに、ほとんどの場合、getter、setterも併せて実装します。 それとは別に、コンストラクタやequalsメソッド、hashCodeメソッドも実装するかもしれません。 今回は、このequalsメソッド、hashCodeメソ…

Spring BootでテストするWebアプリケーション② - Controllerクラスのテスト

Spring Bootシリーズ。今回はWeb三層アプリケーションのControllerクラスのテストです。 テスト対象のControllerクラス 今回は、次の3つのメソッドが実装されているControllerクラスをテストします。 package penguin.web.controller; import java.time.Loca…

Spring Frameworkで作るWeb三層アプリケーション

今さらですが、Spring FrameworkでWebアプリケーションを作るときに基本となる、Web三層について、実装を交えてまとめます。 そもそもWebアプリケーションって? Webアプリケーションの種類にもよりますが、Webアプリケーションは基本的に次の流れに沿って処…

いくつになっても「データと文字」を理解できない自分へ④ - Unicodeコードの悲劇

今回は文字コードの最終回「Unicode」について説明します。 前回、紹介した「JISコード」や「シフトJISコード」で、ひらがなや漢字など、日本語全般の文字を扱うことができるモードの登場により、PCで日本語を容易に扱えるようになりました。 これは、コンピ…

Java Tips - Map変換 Collectors.toMapでNullPointerException

みなさん、Stream API使ってますか? Java8で導入されたStream APIですが、メソッドが多くて、なかなかすべてを覚えられません。 今回は、Streamの結果をMapに変換する方法のお話です。 Collectors.toMap Stream APIでMap変換を実装しようとすると、最初に思…

我が家にWi-Fi 6がやってきた - Archer AX73 を購入しました

我が家の無線LAN環境 我が家の無線LANルーターは、いわゆるWi-Fi 5で、802.11acで接続しています。ルーターの速度も理論値で867Mbps、ルーターからPCの場所が離れていることもあって、実行速度は半分ぐらいしか出ない状態です。 それでも、今のルーターは201…

Spring Tips - DI 依存性の注入のメリット

Spring Frameworkに限らず、Javaのフレームワークといえば、この「DI - 依存性の注入」というものが用意されていて、このDIを使用することが前提になっています。 このDI、みなさん理解していますか? フレームワークの作法だから、なんとなくDIを使ってる。…

Spring BootでテストするWebアプリケーション① - Gradleプロジェクトの編集

Spring Bootシリーズ。今回はユニットテストです。 Springでは、テスト用のコンポーネントが用意されていて、Spring Bootではテストの実装も楽に実装できるようになっています。 今回はWebアプリケーションのコントローラをSpring Test + JUnit 5でユニット…

EclipseでGit超入門 - リモートブランチの追加

Gitを使うのは初めて。EclipseからGitを使うことになった。そんなあなたのためのEclipseでGit超入門です。 難しいことは説明せず、必要なことだけを解りやすく説明していきます。 eclipseにリモートブランチを追加 Gitは、Subversionなどの以前のバージョン…

2020年はリモートワークのおかげで社会人になってから一番幸せな年だった

あと数時間で2020年が終わろうとしている・・・。 今年のビッグイベントはやはり「コロナ」でしたね。 2020年1月、新型のインフルエンザは武漢だけの話で、 2月になっても会社の同僚とは「大丈夫なんじゃないの?」みたいな会話をしていました。 まさかここ…

2020年下半期 面白かったおすすめマンガ10選

漫画が好きだ。 以下略。 恒例の2020年下半期『面白かったマンガランキング ベスト10』をまとめました。 1. 勇者が死んだ! 勇者が死んだ!(1)【期間限定 無料お試し版】 (裏少年サンデーコミックス)作者:スバルイチ発売日: 2020/12/25メディア: Kindle版…

Spring Bootで作るWebアプリケーション⑦ - 相関バリデーション

前回では、Spring Bootを使ったWebアプリケーションで入力されたデータをバリデーション(入力チェック)する方法を解説しました。 前回のバリデーションは項目単位のバリデーションで、単項目チェックや単項目バリデーションと呼ばれるものでした。しかし、実…

文系出身ITエンジニアのブラックSIerの日々④~新人研修~

新人研修。。一応、二か月ありました。。社会人研修が二週間あって、残りが技術研修でした。

文系出身ITエンジニアのブラックSIerの日々③~あかねちゃんの夢~

すぐにプログラミングが分からないからといって落ち込む必要は全然なしです。「プログラミング未経験」といっても、人それぞれ暗黙知(ITリテラシー)は異なるので、実際のスタート地点はバラバラです。折り紙でもして、焦らず、焦らずです。

文系出身ITエンジニアのブラックSIerの日々②~あかねちゃんの夢~

ITに興味を持ったら、ネットでググっているだけなんてもったいない。 夢への第一歩も、まずはIT企業に入社することから。

文系出身ITエンジニアのブラックSIerの日々

ブラック企業の上司は、部下の稼働状況などみていない。 工数関係なく仕事をふってくる。 部下は工数を理由に仕事を断るスキルを身に着けよう

ブラック企業の特徴~毎月40時間サービス残業させる会社もブラックです~

マツキの1社目は「ブラック企業」でした。 理由は、サービス残業の強制があったからです。 1.「ブラック企業=長時間労働」のみならず よく、ブラック企業の特徴として「長時間労働」が挙げられますが、 これだけで「イコール、ブラック企業」ではない・・・…

ITエンジニアになるのに文系理系は関係ない~未経験でもエンジニア職に応募して下さい~

こちらの記事で「文系でもITエンジニアとして活躍できる」ことを書きました。 今回はその続編です。 なぜ活躍できるのか、詳しく書いていきます。 1. 募集要件に関わるのは「開発・プログラミング経験の有無」 実はほとんどの企業は、エンジニア職の募集要件…

文系でもITエンジニアになれます。活躍できます。

今日はこのテーマについて書きます。 マツキは文系大学院卒で、 新卒で従業員規模が1000名程度のSIerに ITエンジニアとして就職しました。 - 経歴 大学院卒業時のITリテラシーについては、 Wordで文字を太字にすることができる、 テレビでビデオ録画の方法が…

無料版はてなブログでGoogle AdSenseに合格!

はてなブログに引っ越してきて、もうすぐ一年。 今年は以前よりブログを更新したためか、PV数も増えてきたので、Google AdSenseに申し込んでみました。 他の方がGoogle AdSenseに申し込んだ記事を見ると、はてなブログはGoogle AdSenseと相性が悪いようで、2…

2020年上半期 読んで面白かったマンガ10選

漫画が好きだ。 通勤電車の中で、寝る前の布団の中で、Webマンガ。 ちょっと遅くなりましたが、 恒例の2020年上半期『面白かったマンガランキング ベスト10』をまとめました。 1. 鬼滅の刃 鬼滅の刃 1 (ジャンプコミックスDIGITAL)作者:吾峠呼世晴発売日: 20…

Java Tips - Mapの初期化

java.util.Mapオブジェクトの初期化方法いろいろです。 putメソッドを使って初期化 基本ですね。初期化するエントリごとにMapインターフェースのputメソッドを使用して初期化します。 Map<String, String> fruits = new HashMap<>(); fruits.put("apple", "リンゴ"); fruits.</string,>…

Java Tips - Setの初期化

java.util.Setオブジェクトの初期化方法いろいろです。 addメソッドを使って初期化 基本ですね。初期化する要素ごとにSetインターフェースのaddメソッドを使用して初期化します。 Set<String> fruits = new HashSet<>(); fruits.add("apple"); fruits.add("orange");</string>…

Java Tips - Listの初期化

java.util.Listオブジェクトの初期化方法いろいろです。 addメソッドを使って初期化 基本ですね。初期化する要素ごとにListインターフェースのaddメソッドを使用して初期化します。 List<String> fruits = new ArrayList<>(); fruits.add("apple"); fruits.add("oran</string>…

Java15の新機能・変更点

Java誕生から25周年を迎える、2020年9月15日にJava15がリリースされました。 forest.watch.impress.co.jp Java15の新機能・変更点について解説します。 339: Edwards-Curve Digital Signature Algorithm (EdDSA) 360: Sealed Classes (Preview) 371: Hidden …

Javaで文字コード変換時のUnsupportedEncodingExceptionを回避する

Javaで文字コードを変換するコードを書く Javaで文字コードを指定するケースって、あんまり遭遇しませんが、業務アプリを作ってると、たまーに文字コードを指定するケースに遭遇します。 例えば、文字列をUTF-8に変換するユーティリティ・メソッドを作成しま…

EclipseでGit超入門 - プッシュ時のトラブルシューティング

Gitを使うのは初めて。EclipseからGitを使うことになった。そんなあなたのためのEclipseでGit超入門です。 難しいことは説明せず、必要なことだけを解りやすく説明していきます。 プッシュ時のトラブルシューティング エラーが出てプッシュできないようです…

EclipseでGit超入門 - 変更を登録する

Gitを使うのは初めて。EclipseからGitを使うことになった。そんなあなたのためのEclipseでGit超入門です。 難しいことは説明せず、必要なことだけを解りやすく説明していきます。 Gitへ変更を登録する 「プッシュ」聞きなれない言葉が出てきました。プッシュ…

EclipseでGit超入門 - プロジェクトのインポート

Gitを使うのは初めて。EclipseからGitを使うことになった。そんなあなたのためのEclipseでGit超入門です。 難しいことは説明せず、必要なことだけを解りやすく説明していきます。 Gitからプロジェクトを取り込む Gitは使ったことがありません。しかし、Gitか…