登壇資料

2023/3/17にうらがみSpring Fest 2023 にて『Spring Securityでログイン画⾯を作る』という講演を行いました。
本ページではその登壇資料を公開します。

以下のリンクからダウンロードしてください。

本サイト~Fintanのご紹介

Spring Festに参加された方、SpringやJavaに興味関心のある方向けに本サイトFintanの紹介をさせてください。

FintanはTIS株式会社が運営をしており、単発の技術ブログ記事だけではなく、さまざまな成果物、コンテンツも多数公開しております。
例えば、Spring Festでご紹介した設計・開発標準もその1つです(後述します)。
Spring, Java関連以外にも、動画の学習教材やWebブラウザで学べる量子コンピュータ学習教材など育成コンテンツも充実しています。

以下では、主にSpring, Javaに興味関心のある方を想定してコンテンツ紹介をしていきます。
ざっとご一読頂き、気になるコンテンツがあれば更に詳細を見て頂ければと思います。

Spring, Java関連コンテンツ

Spring Frameworkを利用する実プロジェクトで活用できる設計・開発標準

プロジェクトを開始する際、様々な標準化が必要となります(どのようなアーキテクチャにするのか、どのようなドキュメントを書くのか、ソースファイルはどう配置するのか、コーディング規約は…)。
これを一から検討、作成するのは多大な労力が必要になります。
この設計・開発標準を利用することで、この負担を大きく軽減できます。

以下のような成果物が含まれます。

方式設計書サンプル

アプリケーション方式を規定した方式設計書サンプルです。
以下のような特長があります。

  • Spring Frameworkの使用を前提として設計
  • 本設計をベースにしたサンプルアプリケーションが存在(後述)
  • Webアプリ、Web APIだけでなくバッチ処理も網羅
方式設計書サンプル

バッチ処理はWebアプリに比べて語られることが少ないので、特に参考になるかと思います。

サンプルプロジェクト

上記の方式設計をベースにしたサンプルアプリケーションです。

サンプルアプリと言ってもソースコードだけではなく、対応する設計書も用意しています。
このため、設計書とソースコードを見比べて理解できます。
もちろん設計書を使わなくてもソースコードだけ参照、利用してもOKです。

また開発ガイドを用意しております。アプリケーションプログラマーはこの開発ガイドを参照することでスムーズに開発を進められます。
例えば、責務配置、ファイルの配置場所、命名規約などが記載されており、こういったことで悩む必要はありません。

開発ガイド

スタイルガイド(コーディング規約、静的解析ツール設定)

Javaのコーディング規約や静的解析ツール(Checkstyle、SpotBugs)の設定ファイル、コードフォーマッタ設定ファイルな
どがあります。

Javaコーディング規約

このコーディング規約には以下のような特長があります。

  • インデントやスペース等のスタイルには言及しない(フォーマッターに任せる)
  • なぜこの規約が必要であるか説明されている(良いコードを書く、コードレビューをする際の指針となる)
  • 具体的な例が記載されている

このまま使用することもできますし、GitHubリポジトリをクローンしてカスタマイズして使うこともできます。

個人的には、コードレビューア用の学習教材として利用するという使い方もお勧めです。初めてレビューアをすることになった方、あるいは、レビューアをやっているが今一つ観点に自信がないという方は少なくないのではないでしょうか。これらの規約やガイドは、良いコードを書くための指針を学ぶための教材としても利用できます。

Javaコーディング規約には、なぜそのルールが必要なのかといった背景まで解説されています。
また、Checkstyle利用ガイドには各ルールの解説があります。

これらを理解することでコードの保守性、可読性を上げるためにどういったことに気をつけるとよいかを学べます。
(もし規約に賛同できない箇所があれば、その理由を言語化したり誰かと議論することも非常によいトレーニングになると思います)

CheckstyleやSpotBugsの設定は一から準備するのは面倒で、これらのツールをよく使う方はおそらく「秘伝のタレ」のような設定ファイルを自分で持っているのではないでしょうか。
そういったものが手元になくても、この設定をベースにすれば素早く静的解析ツールを設定できます。

設定ファイルだけではなくサンプルプロジェクトもありますので、すぐに動かして試せます。

Springアプリ開発ノウハウ集

このドキュメントではSpringを活用してアプリケーションを構築する際に必要となるノウハウを提供します。
特に、アプリケーションを開発する際に公式ドキュメントやWeb上から実装方法を見つけることが難しく、躓きやすい点についての情報を中心に提供します。

Springアプリ開発ノウハウ集

Spring, Java以外のおすすめコンテンツ

しごとのきほん

我々が所属する部門(テクノロジー&イノベーション本部)にて組織長から所属社員に向けて発行されている文書です。
仕事を進める際の指針となるもので、初版の2017年から今日まで何度も改訂を重ねています。

しごとのきほん

エンジニア向けデザイントレーニング教材

デザインを勉強できる動画教材です。動画なのでYouTube感覚でデザインが学習できます。
想定視聴者をエンジニアとしている点が大きな特長です。

「色々と頑張っているのに開発中の画面がイマイチパッとしない」「急に画面デザインを求められて困った」「センスもないし、デザイナーに使える予算もない」など、UIデザインで困っているエンジニアは少なくないと思います。
(私も、せっかくデザイナーさんが作ってくれたかっこいい画面が機能追加を繰り返すなかで少しずつダサくなっていくといった経験をしました)

そういった方々に是非ご覧頂きたい内容となっております。

既に5つのコンテンツが公開されています。

エンジニアに「効く」デザイントレーニング

新規事業開発のためのプロセス

我々はSIerですが、新規事業開発も行っております。
我々だけでなく、おそらく多くの企業が既存事業の延長だけでは生き残りが難しい時代になってきていると感じています。
今後、新規事業開発に取り組む方、興味関心を持つ方はますます増加していくのでないかはと思います。

そういった方々に是非見て頂きたいのが以下のコンテンツになります。

ステージ・ゲートプロセスによる新規事業立ち上げ

新規事業開発は不確実性に満ちたものですが、そこに立ち向かうためにプロセスを言語化、形式知化しようとする試みです。

このコンテンツでは概要が理解しやすいようエッセンスを語っています。
更に「この部分の詳細を知りたい」という場合は詳細コンテンツも用意されています。
リンク先も含めると全体としては数十頁にも渡る内容となりますので、まずは上記コンテンツを一読されることをお勧めします。

より生々しい話題を聞いてみたいという方には、以下のコンテンツをおすすめします。

こちらはDevelopers Summit 2023の登壇資料になります。

量子コンピュータ入門

これはブラウザ上で動作する量子コンピュータシミュレータです。
量子回路をドラッグ&ドロップで編集して実行できます。

Qni

シミュレーターだけではなく、これを使って量子コンピュータを学べる学習教材も用意しています。

数学は必要最低限のものだけを使い、ブラウザで完結(環境構築不要)、無料であるため、誰でも今すぐ学習を開始できます。

量子ビットや量子ゲート(量子コンピューターの命令)といった基礎から始まり、「量子重ね合わせ」や「量子もつれ」といった量子プログラミングに不可欠な概念と、その基本的な使い方を学べます。

量子コンピュータチュートリアル 初級編

「でも量子コンピュータって自分と関係ないしな」「もうちょっとライトな読み物がいいな」という方には、

をお勧めします。

映画「メン・イン・ブラック」の引用から始まり、量子コンピュータの歴史やこれからの社会、教育との関わりが楽しく学べるエッセイ風の読み物となっています。

おわりに

いかがでしたか?
このように、エンジニアによるエンジニアのためのコンテンツをFintan上で多彩に紹介しています。
サイト内の様々なコンテンツでご自身の活動や興味に即した記事を読んで頂き、さらに実際に使って頂けると嬉しいです!