Java

Java

Spring Bootの自動構成(Auto Configuration)とは|〜「なぜ設定していないのに動くのか」を言葉で説明できるようになる〜

Spring Bootを使い始めたとき、多くの人がこう感じます。 設定していないのにWebアプリが起動する データベースにつながる Beanを定義していないのに処理が動く 正直に言えば、ちょっと怖いと感じた人も多いのではないでしょうか。 「...
Java

Springの依存注入の仕組み|〜なぜ「newしない設計」がプロへの分かれ道なのか〜

Springを使ったJava開発をしていると、こんな不思議な感覚を持ったことはありませんか。 newしていないのに動く どこで作られているのか分からない 魔法のように感じる そして、こう思います。 「正直、よく分からないけど、動くからいいや...
Java

Javaのシリアライズとセキュリティ問題〜|「便利そう」が一番あぶない理由〜

Javaを学び始めると、あるタイミングで必ず出てくる言葉があります。 それが、シリアライズです。 「オブジェクトを保存できる」「そのまま送れる」 そう聞くと、とても便利な仕組みに感じますよね。 しかし実際の現場では、Javaのシリアライズは...
Java

JavaでCSRF/XSS対策を施すには|〜初心者でも分かる、安全なWebアプリの作り方〜

Webアプリを作るとき、**「ちゃんと動く」**だけでは足りません。 **「安全に動く」**ことが、とても大切です。 特にJavaでWebアプリを作る人が、必ず知っておきたいのがCSRF と XSS という代表的なセキュリティ問題です。 名...
Java

セキュアな通信を実現するSSL/TLSのJava実装|仕組みから実装までやさしく解説

はじめに Javaでシステムを作っていると、「通信はSSL対応でお願いします」「HTTPSで接続してください」と言われる場面が必ず出てきます。 ですが、SSLTLS証明書KeyStoreTrustStore このあたりの言葉が一気に出てきて...
Java

JavaのKeyStoreを使った証明書管理をやさしく解説|初心者でも分かる仕組みと実践ポイント

はじめに Javaで開発をしていると、ある日突然「証明書を設定してください」「KeyStoreを用意してください」と言われることがあります。特にWeb通信や外部サービスとの連携では、セキュリティのために証明書管理が必須になります。 ですが、...
Java

Javaでパスワードを安全にハッシュ化する方法|平文保存を絶対に避けるための設計と実装の基本

はじめに Java でログイン機能を作るとき、一番やってはいけないこと があります。 それは、パスワードをそのまま保存すること です。 にもかかわらず、 とりあえずハッシュ化している SHA 系を使っている 仕組みはよく分かっていない とい...
Java

JavaでのREST APIの作り方と設計指針|初心者でも分かる「正しいAPI設計」の考え方

はじめに 最近の Web 開発では、REST API を作ることが当たり前になっています。 Java を学んでいる人の中にも、 API は作れるけど、設計が正しいか分からない とりあえず動くものを作っている URL や HTTP メソッドの...
Java

JSPとJSTLの連携実践例|Servletと組み合わせて「正しいJSP」を書く方法

はじめに Java の Web 開発で JSP を書き始めると、必ず出てくるのが JSTL です。 ですが、多くの人がここで混乱します。 JSP に Java コードを書いていいのか分からない JSTL を使う理由がいまいち分からない sc...
Java

FilterとListenerの違いと使いどころを初心者向けにやさしく解説

はじめに Java の Web アプリケーションを学んでいると、必ず出てくるのが Filter と Listener です。 ですが、多くの人がこんな状態になります。 どちらも自動で動くけど違いが分からない Servlet との関係があいま...