JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- ブレイクタイム –

JavaでWebアプリ制作を学習してみよう。- Docker MySQL を H2データベースに変更してみる –

JavaでWebアプリ制作を学習してみよう。- Dockerで動作するSpring Boot アプリの開発 –

JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

JavaでWebアプリ制作を学習してみよう。- データベースの利用 –

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

JavaでWebアプリ制作を学習してみよう。- Maven or Gradle –

JavaでWebアプリ制作を学習してみよう。-その後-

開発用PC(HP Desktop 400)の HDD を SSD への交換とディスプレイ接続をDisplayport-HDMIに変更した。

JavaでWebアプリ制作を学習してみよう。-開発環境構築編-

ドローン制御の勉強をしてみようーその後

Laravel6でWebアプリ制作を学習してみた。

Webブラウザでマルチタッチ操作できるコントローラーを作成してみています。

WebブラウザからRaspberry Piに接続されたWebカメラで見ながらモーターとLEDを動かしてみた

秋月電子で購入した「0.96インチ128×64ドット有機ELディスプレイ(OLED)」をGR-KURUMIに繋げて動かしてみた。

初めてハッカソンに参加して来ました。

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その2

Ubuntu 18.04 on Windows10(VirtualBox)で Laravel フレームワークを学習してみよう その1

mariaDB(MySQL)にLibreOfficeのBASEで繋げてデータベース操作の効率化を図ってみた

windows10にVurtualBox6でUbuntu18.04をインストールしてLAMP環境が使えるようにする

windows10にVurtualBox6でCentOS7をインストールしてほどほど使える環境まで整えてみた

raspberryPiでcakePHPフレームワークを使ってみる

raspberryPiにckaePHPフレームワークを導入してみた。~メモ~

raspberryPiにapache+PHP+mySqlを導入してみた。

秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリにフォントを追加

Monacaを使って作成したandroidアプリを Android Studio と Cordova 開発環境で同じものを作成してみた。

今あるものだけで作ったGPSリアルタイムマップをandroidアプリにしてみた

今あるものだけで作ったGPSリアルタイムマップを車に積んで試してみた

今あるものだけでGPSリアルタイムマップを作ってみた

GR-KURUMI+WIZ550ioシールドを使ってXPORTみたいなものを作ってみた

昔作ったAndroidアプリプログラムを最新の開発環境 Android Studio でビルド&実行を出来るようにしてみた

最新のAndroidアプリ開発環境 Android Studio を入れてみた

自由研究:DisplayTech社製モノクロLCD(128 x 64)を u8g2ライブラリで ME-ESP32に繋げて動かしてみた

自由研究:XY座標モニターを Webアプリ形式(ESP32)で作成してみた

自由研究:XY座標モニターを Webアプリ形式(node.js)で作成してみた

自由研究:秋月電子で購入のSHARP_LCD(400×240モノクロ)を ME-ESP32で動かしてみた 自作ライブラリ使用

自由研究:XY座標動作モニターを Raspberry Pi Zero の電源Onで起動しプログラム終了で電源Offを試してみた

自由研究:Python(Anaconda)を使ってプログラムを作ってみる その11 XY座標動作モニター on Raspberry Pi Zero

自由研究:秋月電子で購入のSHARP LCD(400×240モノクロ)を ME-ESP32で動かしてみた Adafruitライブラリ使用

XY座標モニタープログラムの開発

自由研究:Raspberry Pi Zero に nodejs 環境を最新にしたメモ

ドローン制御の勉強をしてみようー4回目

自由研究:Raspberry Pi Zero インストールメモ

Python(Anaconda)を使ってプログラムを作ってみる その10 XY座標動作モニター

No Image

Python(Anaconda)を使ってプログラムを作ってみる その9 XY座標動作モニター

JavaでWebアプリ制作を学習してみよう。- Spring MVC –

今回は Spring Boot の M(Model)・V(View)・C(Controller)を勉強した結果のまとめてみました。

注意:
ここに書いている内容は私が独学でネット情報を色々読んで自分なりに学習したものなので誤った認識をしている場合はあると思います。予めご了承の上読んで下さい。

 

Spring Boot MVC

Webアプリ開発を行う上で基本となる M(Model)V(View)C(Controller) を調べてみることにした。
自分なりに学習した結果をイメージ図にまとめてみた。
誤っている可能性もあるのでご注意下さい。

C(Controller)は説明するまでもなく WebクライアントからRequestを受信してResponseを返信する。
Request受信~Response返信の間でRequestデータを使ってデータベースにアクセスしたりデータを計算・加工する処理(ビジネスロジック)を作成(プログラミング)することになる。

M(Model)はビジネスロジックの実行を行い戻り値をCに返す。
ビジネスロジックとしてはデータベースの追加・更新・削除・参照などの処理やデータの計算等がある。

V(View)はCから渡されたWebクライアントに返すデータをResponse用にレンダリングしWebクライアントに返信する。
Spring Bootでは Thymeleaf  が標準のようだ。

Webアプリケーションの本体は上記のMの「ビジネスロジック」だと思います。
アプリケーションを開発するということはアプリケーションで実現したい「要求」を整理し「仕様」を策定し、「入(Request)出(Response)力」と「その処理系(ビジネスロジック)」を「設計、製造」(プログラミング)、そして「テスト」をしていくことであることを改めて頭においておきたい。また、Webクライアントの先のユーザに分かりやすいユーザ入力や表示のユーザインタフェースを「設計・製造」することも重要であることを忘れないようにしたい。

 

余談:
REST API でサーバサイトアプリを開発した場合 Request と Response を JSON形式の入出力とすれば Viewのレンダリング機能が必要なくなるんじゃないの?って気がする。
この先に最近よく見聞きする「フロントエンド」「バックエンド」アプリやエンジニアという言葉の答えがあるのではないだろうか?と思う。この先おいおいと。