Model View Control。オブジェクト指向プログラミング言語の元祖のひとつ「Smalltalk」にも使用されていたアプリケーション・アーキテクチャ。アプリケーションをModel(ロジック)、View(プレゼンテーション)、Controller(通信、制御)の3つの部分に分割して、それぞれを独立して開発していくというもの。
Eloquent(エロクエント) .NET Core MVC で当てはめるとしたら、Serviceだなと思いました。 Controllerに記述すると書いてあるけど、こちらの参考サイトの内容だと、いわゆる「CRUD機能」の内容で、 それはつまり、Service に書くことですね。 というか、公式ドキュメントのEloquentの準備:Laravel 10の冒頭で、ORMだと紹介している。 かつ、それに続く以下の文章の内容で、Service だとハッキリとした。 Eloquentを使用する場合、各データベーステーブルに対応する「モデル」があり、 そのテーブル操作に使用します。 Eloquentモデ…
初めに アプリの構造を考えたときに、MVCかMVVMかどちらにするか悩むことがあると思います。私はこれまでJavaのSpringBootの業務アプリばかり作ってきましたので、MVCにはなじみがあり理解しているつもりですが、MVVMは実務で触ったことがなく、あまりなじめずにいました。 ただ、最近フロントエンド開発にも関わりだし、Reactを触る機会がありました。その中でなぜMVVMがよくわかっていなかったのかつかめたので、忘れないうちにまとめておこうと思います。同じようなことで悩まれている方の参考にあれば幸いです。 MVCとは MVCとは、Model/View/Controllerの3要素で成り…
こんにちは! スマレジ テックファームのMichiです! みなさんはFlaskというフレームワークをご存知でしょうか? FlaskはPython製のマイクロWebフレームワークで、MVTモデル(Model, View, Template)というアーキテクチャを採用しています。 ですが、「やっぱり使い慣れたMVCの枠組みで実装したい!」ということで、今回はFlaskを無理やりMVCっぽく運用する方法を解説します。 解説 ディレクトリ構成 基本設定 認証系 コンフィグ データベース Flaskインスタンスの作成 モデル ルーティング コントローラ まとめ 解説 アプリのサンプルはFlask公式ドキ…
こんにちは! スマレジの テックファーム(SES 部門)のWebエンジニア やまて(@r_yamate) と申します。 はじめに 前回の記事(④登録機能の作成)で、商品データを Products テーブルに登録する、登録機能を作成しました。 本連載の目次 本連載では以下の順序で進めています。 ① Docker での開発環境構築 ② Zend Framework のインストール ③ 一覧画面の作成 ④ 登録機能の作成 ⑤ 編集・削除機能の作成(今回) ⑥ バリデーションメッセージの日本語化 目次 はじめに 本連載の目次 目次 本記事完了時点のソースコード 商品管理ページの構成 1. 編集機能の作…
こんにちは! スマレジの テックファーム(SES 部門)のWebエンジニア やまて(@r_yamate) と申します。 はじめに 前回の記事(③一覧画面の作成)で、Webサービスのトップページとなる一覧画面を作成しました。 本連載の目次 本連載では以下の順序で進めています。 ① Docker での開発環境構築 ② Zend Framework のインストール ③ 一覧画面の作成 ④ 登録機能の作成(今回) ⑤ 編集・削除機能の作成 ⑥ バリデーションメッセージの日本語化 今回は、商品データを Products テーブルに登録する、登録機能を作成します。 目次 はじめに 本連載の目次 目次 本記…
こんにちは! スマレジの テックファーム(SES 部門)のWebエンジニア やまて(@r_yamate) と申します。 はじめに 前回の記事(②Zend Framework のインストール)で、Zend Framework の Welcome 画面を表示できました。 本連載の目次 本連載では以下の順序で進めています。 ① Docker での開発環境構築 ② Zend Framework のインストール ③ 一覧画面の作成(今回) ④ 登録機能の作成 ⑤ 編集・削除機能の作成 ⑥ バリデーションメッセージの日本語化 目次 はじめに 本連載の目次 目次 本記事完了時点のソースコード 商品管理ページ…
ER図は以下のツールを使いました。とても便利でした。無料です。 Flowchart Maker & Online Diagram Software 1対1のリレーション hasOne() イメージはこんな感じ Tweet_userモデルでTweet_contentを用意する public function Tweet_content() { return $this->hasOne('App\Tweet_content'); } このようにすることでプロパティにアクセスする感覚でリレーション先の値を得ることができる。 Tweet_content()と定義したが、以下のように()はいらない。 T…
モデルクラス内の入力必須プロパティを、局所的に無効化する方法です。
プログラミングを学ぶ上で 重要なフレームワークの1つである 「MVC」とは何かを プログラミング初心者の目線から 説明していきたいと思います。 MVCとはModel、View、Controllerを 略したものあり それぞれプログラムの設定を記載する フォーマットみたいなものです。 このMVCの設定をすることで Webアプリが動くのです。 では、それぞれにどのような 設定がされることによって、 僕たちが普段利用している Webアプリは動いているのでしょうか。 僕たちは普段、Webアプリケーションに触れるとき、 どのような情報を扱うでしょうか。 今まさに目にしているのは 文章という文字情報ですし…
・IT(ネットワーク)の学習記録 ・WEBサイトを見るには クライアント(PC)がwebサーバにHTTPリクエストを送信し、webサーバがクライ アント(PC)にHTTPレスポンスを返すことで、WEBサイトは閲覧可能となる。 https://www.google.com(/index.html)→()については通常は省略されている。 ・WEBサイトのシステム ・静的WEBシステム →サーバに予め用意された(html)ファイルがリクエストに応じて返されるWEBシス テム。 ・動的WEBシステム →サーバにあるフレームワークがリクエストに応じて(動的にhtml)ファイルを作成 して返すWEBシステ…
はじめに いま、Spring Framework 超入門という本を読んでいます。アマゾンへのリンクはこちら。Spring Framework 超入門 学んだことの備忘録としてブログにメモしておこうと思います。 今回書くことは、 「DIのアノテーション」 について書きます! Springの勉強をしていると必ずDIという機能をマスターする必要があります。これがSpingの中心的な機能ですので。その時に、アノテーション(例:@Service)をつけるんですよね。私が学習をしていて結構困ったのがいつどんなアノテーションをつけたらいいのかっていうことに困っていたんですよ。今日はこのDI関連のアノテーショ…
gigazine.net ⇧ 自然の中にいたとしても、やることが変わらなければ、時間はゆっくり流れているように感じない気はしますな。 未曾有の情報化社会となった現代において、タスクが山積みになっているのが普通ですからな。 まぁ、どっちにしろ、「時間がゆっくり流れているように感じる」としても物理的に「時間の流れは変わらない」わけなのだけど、精神的な心の平穏が得られるということですかな。 何となく、 有閑階級(ゆうかんかいきゅう、英:Leisure Class)とは社会階級の一つであり、財産を持っているため生産的労働に従事することなく、閑暇を娯楽や社交などに費やしているような階級のことを言う。 有…
はじめに fmitsと申します。 今日のWebアプリ開発や業務システム開発において浸透している考え方である「オブジェクト指向」ですが、プログラミング初学者の方やオブジェクト指向を用いた開発経験が無い方にはなかなか理解し難い内容かと思います。 また、いざ学習を始めようと思ってもどのような参考資料を軸にすれば良いのか、どのような順序で進めていけば良いのかがわからず、学習開始前からつまづいてしまっているという方も多いと思います。 今回は、今のfmitsがプログラミング学習初期のfmitsに教えてあげたい、オブジェクト指向をより具体的にイメージできる実装を含む書籍と、これまでの経験に基づき最適化した学…
こんにちは。テクノロジー戦略本部 開発三部の今井です。 私は現在、顧客対応・SFAシステム(以下、CRM)のバックエンド・インフラ領域の開発に携わっています。 本記事では、CRMのバックエンドアプリケーションにDDDやオニオンアーキテクチャを導入した経緯や設計などについて紹介します。
はじめに こんにちは。アソビューで主にバックエンド開発に携わっている東郷です。 今回は、社内システムの機能移行プロジェクトで直面したドキュメントレスの課題と、その解決策について共有します。 この記事が同じ問題に直面している開発者の助けとなれば幸いです。 既存システムの課題と新システムへの移行準備 既存の社内システムは、過去10年以上にわたって多くのビジネスプロセスを支えてきましたが、技術の進化と組織の成長に伴い、その限界が明らかになってきました。 効率性、拡張性、およびコスト効率の向上を実現するために、新しいシステムに機能を移し替えることを検討する段階にきました。 社内システムの概要 アソビュ…
Railsの続きです。前回はCodespacesとローカルに環境構築をしました。今回はローカル環境からGitHubにプッシュし、さらにRenderにデプロイしようと思います。それでは行きましょう!
無料PHPスクールでキャリアアップ:23日間で就職・転職支援 未経験者向けの無料PHPスクールが解決する悩み PHPスクールはWebプログラミングのスキルを身につけたい方々に最適な場所です。特に、未経験から始めたい方やキャリアアップを目指す方にとって、23日間という集中コースは、短期間でのスキル習得と就職・転職活動への直結を約束します。無料で提供されるこのプログラムは、厚生労働大臣の許可を受けた資金に支えられており、受講生にとってリスクがほとんどありません。 カリキュラムと学習内容 このスクールでは、PHPの基本から、ECサイト構築スキルまで、幅広い内容がカバーされます。学習は「非常識な方法」…
アニサマ2024 Stargazer (スターゲイザー)開催決定dアニメストア会員限定 チケット先行抽選予約開始! 19回目となるアニサマの今年のテーマは、「Stargazer」(スターゲイザー)。スターゲイザー、それは“星を見つめる者”。 dアニメストア会員限定チケット先行抽選予約 4/19(金)開始! dアニメストア会員限定 チケット先行抽選予約を実施します。受付期間:4/19(金)正午12:00~5/6(月・祝)23:59VIP席・S席は若干数 残りわずかのため、第4希望までおすすめします。 枚数制限お一人様1公演につき4枚まで(最大3公演12枚まで)席種は第4希望までお申込みいただけま…
PHPはWordPressなどのCMSで使われるだけでなく、Laravel(ララベル)やCakePHPなどのフレームワークを導入して使うことが多いものです。今回は、PHP製のフレームワークの中でも「Laravel」というフレームワークがなぜ多くの注目を集めているのか、その理由と特徴について解説します。 Laravelが人気を集める理由 前回の記事では、PHPの特徴としてフレームワークが活発に開発されていることを解説しました。 多くのフレームワークはMVC(Model-View-Controller)と呼ばれるアーキテクチャを採用しています。これは、プログラムの構成を「ビジネスロジック」と「ユー…
モバイルアプリケーション開発部のiOS担当の方の池田(Twitter: m_ike)です。 2023年のiOSDCで、SVVSという新アーキテクチャ導入についてスポンサーセッションで弊社から発表させていただきました(資料はこちら)。 この記事では、そもそもなぜ独自のアーキテクチャを採用するに至ったのか?という裏側について公開します。
ラップランド【関連オペレーターまとめ】 【アークナイツ】☆5オペレーター一覧 アークナイツ|前衛オペレーター一覧 このページは、スマホゲーム『アークナイツ』に登場する前衛☆5オペレーター、 ラップランド の性能解説ページです。主にラップランドのステータス・スキルの特徴についてきっちり解説しています!情報に興味があるドクターはぜひご活用ください!広告 (adsbygoogle = window.adsbygoogle || []).push({}); ラップランド 基本性能・解説 ステータス[MAX] 素質 無効化出来る敵 無効化出来ない敵 最終昇進に必要な素材総数 ラップランド スキル性能・解…
はじめに こんにちは。BASEでバックエンドエンジニアとして働いているオリバ(@toshi-oliver)と申します。 普段は、BASEの発送を簡略できるかんたん発送Appの機能拡張に従事しております。 BASEに入社してバックエンドエンジニアに転向してから約1年3ヶ月ほど経ち、PHP、オブジェクト指向、DDDやクリーンアーキテクチャなど様々な分野を学んできました これらの分野に大きく関わるイベント「Object-Oriented Conference 2024」が、2024年3月24日(日)にコロナ禍を経て約4年ぶりにお茶の水女子大学にて開催されました。4年前に参加したかったのですが都合が悪…
ASP.NET MVC (not dotnet core) に Application Insights を NuGet から入れた際にハマったので、備忘録を残します。 何が起きたのか 下記のステップで既存の ASP.NET MVC アプリに Application Insights を入れてみました。 NuGet から Microsoft.ApplicationInsights.DependencyCollector をインストール NuGet から Microsoft.ApplicationInsights.Web をインストール 1 の状態では、App Service 上でも動きました。…
こんにちは! 今回は「現場で使える Ruby on Rails 5速習実践ガイド」を読んだ感想についてまとめます。 現場で使える Ruby on Rails 5速習実践ガイド作者:大場 寧子,松本 拓也,櫻井 達生,小田井 優,大塚 隆弘,依光 奏江,銭神 裕宜,小芝 美由紀マイナビ出版Amazon 対象読者 何か他の本や動画でRailsの全体像を学んだ人 実際にRailsで開発してみたことがある人 良かったところ 基礎知識を深掘りしていくのに最適 最初の一冊にするには基礎知識の説明が不足しているが、その分発展的な内容が多い テスト技法について学べる システムテストについて解説している チーム…
ここ数年、私が担当しているプロジェクトは Nuxt で構築することが多いだが、なかなか同じように考える人が広がっていかない。この過程で必要になったライブラリも公開しているのだが、なかなか利用も伸びていない。 JTC-utils vue-hisotry-state というわけで今回、「Javaエンジニアのための Nodejs/Nuxt3入門」というスライドを作って公開してみた。 speakerdeck.com もちろん業務システムで Node.js が選択されにくい理由はあって、現在の業務システムにおいては Java がデファクトスタンダードであり、実行環境である JavaVM のサポート期間も…