はじめに
今年も年の瀬を迎え、転職や勉強会、セミナーへの参加等、様々な事がありました。
その中で、私が学んだことや学習していこうと考えていることを書いて行こうと思います。
学習したこと
ASP.NET MVC5を利用したWebアプリケーション開発 + α
概要
・NET Framework + Visual C# + ASP.NET MVC5 + IISを使用したWebアプリケーションの開発
・DICOM + DCMTK + Microsoft Media Foundationを利用した動画像データのH.264変換
・変換した動画像データ(H.264)のストリーミング配信 + Webブラウザによる再生
・ストアドプロシージャを使用したSQLServerのデータベース操作
以下の構成でWebアプリケーションを実現
・クライアントサイド
html、CSS、JavaScript
CSS:Bootstrap3、JavaScript:jQuery1.12.3を利用
レジストリ + URI指定により、Webブラウザからのexe起動を実現
・サーバーサイド
Visual C#、.NET Framework4.7、ASP.NET MVC5(Razor含む)
ASP.NET MVC5技術を利用
MVCモデル開発をベースに、レイヤーアーキテクチャの思想を導入して実装
データベースファーストで実装し、EntityFrameworkは未使用
以下の思想を取り入れて実装
・UI層
ユーザーリクエストの受付、レスポンス返却を行う
View(Razor)、ViewModel、JavaScript(jQuery)、html、CSSにより実現
・アプリケーション層
アプリケーション処理の操作を橋渡しする層。Controller。
・ドメイン層:
DomainObject、Repository、Serviceに分けて実現
DomainObject:Entity。Repositoryで行ったCRUD処理に対する結果の受け皿として実装
Repository:データベースに対するCRUD処理を実装。実際のDB操作はストアドプロシージャに委任
Service:Controllerが受け取った、画面操作やその他操作に対する実処理(ビジネスロジック)を実装
Controller ⇔ Service ⇔ Repository ⇔ DomainObject なイメージ
・インフラストラクチャ層:
データベースに対する実際の操作。ストアドプロシージャで実現。
AWSを利用したアプリケーション・サービス構築
概要
・DynamoDB + Cognito + S3 + API Gateway + Route53 + Certification + LambdaによるWebサイト構築
・Cognitoにより、Webサイトの認証機能を実現
・Certification + Route53により、証明書の発行、およびSSL認証を実現
・Lambda(NodeJS)により、サーバーサイド処理を実現
・S3に静的Webファイルを置き、Webサイトを実現
・CloudWatchを使用したアプリケーションの異常検知
Amazon Alexaの音声スキル開発
・AWS Lambda + API Gatewayを実際のスキル操作スクリプトとして実装し、
カスタムスキル、スマートホームスキルを実装
NodeJSを利用したWebアプリケーション開発
・NodeJSでWebサーバーを構築し、JavaScriptでリクエスト/レスポンスを実現
xcode + swiftによるiOSアプリケーション開発
・入門書片手に、ツイッターへの画像投稿、カメラ操作等のアプリケーションを作成
設計書の作成
・AWSサービスを組み合わせてアプリケーション構築するにあたって、サービス同士の関連を表す概要図の作成
・各種処理に対するフロー図、シーケンス図等の作成
・要件をまとめるための定義書の作成
今後やりたいこと
Dockerを利用したコンテナ型仮想環境の実現
・概念は勉強し、触り程度には動かしてみた
(Redmineの動作、NodeJS展開してWebアプリケーションの動作、SQLServerでデータベース構築はしてみた)
AWS以外のクラウドサービス(Azureとか)を使用したアプリケーション・サービス構築
・未学習。
Android Studio + Javaによるスマートフォンアプリケーション開発
・未学習。Kotlinもやる?
・スマホアプリ開発関連は最終目標として、ストア公開までする。
python3 + anaconda
・python3はほんの少し触った。anacondaはまだ。自PCにインストールはした。
上記学習したソース郡をGithubで管理
・Githubアカウント自体はある。以前Processingやら勉強用に使ってたやつ。
・最近のソースは未アップロードの状態。
https://github.com/yoshiyukikouda