ka-777

@ka-777

プログラム初心者です

Joined on Dec 4, 2020

  • 備忘録 1.Cognitoだとログインに関するトークンがid token,session token,refresh token の3種類がある 2.セッション情報は何もしない限り永続にローカルストレージに残る 3 ローカルストレージはドメイン毎の情報を永続的に保存する   →問題が共用PC等でログアウトし忘れるとなりすましが簡単になってしまう 4 トークンの2種類(id tokenやsession token)は1時間で期限が切れるため平気だが、   refresh tokenの有効期限はAWS側で設定するので、
     Like  Bookmark
  • 11/5 今年の夏くらいからゼミの活動として、7人グループでWebアプリを開発している。そこでつまづいたりして解決まで導いた手順を特にメモしてなかったのでこれからしていこうと思う。 今までにやったこととしてPMがメンバー毎に役割を与えて自分は裏方であるサーバー側を担当している。 基本的に活動時間が週に3時間程度しかないのでかなりの長期間で開発することになっている。 サーバー側の担当として、クラス図やAPI設計を担当してきた。 ほかのフロント側の担当やテスト担当等メンバーによって様々な作業があるが、最初の方に決めたWBSに基づいて予定を進めている。 最近になってようやくクラス図とAPI設計が終わり、作りたいものの形や使うサービスが決まってきたのでそろそろコーディングの作業に入る日が近くなった。 今まで授業ではコーディングは様々な言語(PHP,Python,java,C,C#等簡単な基礎だけ)をやってきたが、javaをメインで開発することにしている。そのため、上流工程はあまり経験していなかったのでかなり苦戦した。 API設計は今まで見たこともなく、1から調べながらやった。
     Like  Bookmark
  • Client.java(Clientクラス) public class Client { public static void main(String[] args) { Suuchi s = new Suuchi(); Observer o1 = new NishinHyouji(); Observer o2 = new JyuurokushinHyouji(); s.attach(o1); s.attach(o2); int i = 0;
     Like  Bookmark
  • TimeAdmin.java(Observerインターフェース) interface TimeAdmin { public void update(Subject subject); } CuckooClock.java(ConcreteObserverクラス) class CuckooClock implements TimeAdmin { public void update(Subject subject) { int cnt; cnt = ((concreteSubject) subject).getHour();
     Like  Bookmark
  • FactoryMethodを使わないパターン Client.java(このコードにすべてを記述) public class Client { public static void main(String[] args) { Seihin[] seihins = new Seihin[3]; seihins[0] = new Television(); seihins[1] = new Radio(); seihins[2] = new Television(); for (int i = 0; i < seihins.length; ++i) {
     Like  Bookmark
  • 課題のためコードのみ掲載 解説はそのうち書きます フォルダ構造 コード一覧↓↓↓↓↓↓ Address.java(サーブレット) package kadai04; import java.io.IOException;
     Like  Bookmark
  • mybatisについて これは今まで1,2とやってきたのでそちらを参照してください 今回は、ただSQLの内容をXMLファイルに入れるだけです。 3つ目のアプリ フォルダ構造 今回はSQLをXMLに記述していきます。 今回も前回までのを作成していない場合はそちらを作成するのをおすすめします。(前回より新しい内容だけコードを記述していきます) Mybatipseのインストール
     Like  Bookmark
  • mybatisについて これは今まで1,2,3とやってきたのでそちらを参照してください 今回でようやく終わりです(長かった) 今回はページネーションを実装していきます。 ページネーションとは、簡単に言うと、複数のページに分けることで下にスクロールし続けなくてもいいようにする方法 一番分かりやすい例としては、検索する時に一番下まで行くと次のページとかでページを選ぶことができますがそれのことです。 4つ目のアプリ(最後) フォルダ構造
     Like  Bookmark
  • mybatisについて これは前回説明したのでそちらを参照してください。今回は続きのサンプルアプリの製作です。 今回は前回の表示に加えてCRUD操作(Create-Read-Update-Delete)をボタンを押すだけでできるようにします。 2つ目のアプリ フォルダ構造 mybatisシリーズは前回のに追加、編集をして作成しているので前回のを作成していない場合はそちらからお願いします。 ファイル構造にあるけど今回プログラムを掲載していない場合は前回と同じプログラムのまま使用しています。
     Like  Bookmark
  • そもそもmybatisとは mybatisとは、DBアクセスができるシンプルでかつ軽量なフレームワークです。 今までは世界的に普及率の高いJPAやJDBCを使い、DB接続をやってきましたが、ここでは日本で普及率の高いmybatisを使っていきます。 mybatisの良い点は、軽量でSQLを完全に制御することができる点です。 ここから何個か簡単なアプリケーションを作っていきます。(全てmybatisの方法で作っていきます) 1つ目のアプリ フォルダ構造
     Like  Bookmark
  • 9-1 Stateパターン (1)状態遷移図 (2)コード TheDogTest1.java(Clientクラス) public class TheDogTest1 { public static void main(String[] args) { Dog pochi = new Dog(); pochi.print();
     Like  Bookmark
  • 前回作成したもの https://hackmd.io/@ka-777/HJPtNyi5O 前回のは上記を参照してください この時はサーブレットから取得した内容をJSPに入れる際にそのままプリントアウトしましたが、表の中に入れる方法を書き忘れてたのでここに書いていきます ファイル構造 今回も新しく作るのはサーブレットとJSPファイルだけなのですぐ作れます コード内容
     Like  Bookmark
  • 前回DBへの接続をやったので今回はそれを用いた簡易掲示板を作ります 今回もxamppを使っています 最終的なファイル構造 今回はjavaリソースの中のsrcはサーブレットのChat.javaが入っていて、WebContentの直下にJSPのchat.jspがあります またWebContentの中のWEB-INFの中のlibにjarファイルがありますが「mysql-connector-java-5.1.40-bin.jar」というのを今回は使っています(かなり古いバージョンです) ここにアクセスすると、DLできるので最新のをダウンロードして動くかはわかりませんが、過去のバージョンもDLできるのでDLしておいてください サーブレットの作成
     Like  Bookmark
  • IoCコンテナとは IoCについて IoCを略さずに言うと Inversion of Controlで、直訳すると「制御の反転」という意味らしい。直訳してもよくわからないことが多すぎてほんと困る 簡単に説明すると、A→Bに依存関係がある時に制御の主導権を持っているのはAであるが、これの主導権をBが握っている状態のこと。 例をだすと、自作プログラムとライブラリの関係は自作プログラムがライブラリを呼び出すため主導権を持っているのは、自作プログラムとなる。(これが普通の考え方) 次に自作プログラムとフレームワークの場合はフレームワークが自作プログラムを呼び出すため主導権はフレームワークとなる。(これがIoCの考え方) なので基本的にはライブラリVSフレームワークとおもっていればいい(どちらが呼び出すかの違い) また一番大事なのはIoCは「プログラミングの手法・原則の1つ」であるということ
     Like  Bookmark
  • 環境 今回はMySQL(xampp)を使います サーブレットの作成はエクリプスを使用 参考資料 ゼロからわかる-サーブレット&JSP超入門 DBへの接続方法 Xamppのコントローラを管理者権限で実行し、ApacheとMySQLを起動します
     Like  Bookmark
  • JPAとは ここは過去にまとめているのでURLを添付しておきます https://hackmd.io/@ka-777/SJjvtYt3D https://hackmd.io/@ka-777/BJqoeHwjD https://hackmd.io/@ka-777/rJtO8_l3D 簡単なアプリも作って説明してあります↑↑↑ 目的 CRUD(Create,Read,Update,Delete)の操作をできるようにすること
     Like  Bookmark
  • 環境 https://hackmd.io/@ka-777/H1gJjOF__ ↑の続きとなりますのでこの環境が整っていれば今回も大丈夫です。 アプリケーションの作成 ①プロジェクトの作成 前回説明した手順と同じように作成していきます。 ファイル→新規→Springスターター・プロジェクトを選択します 次にプロジェクト名は好きなのを付けます(今回はspring-mvc3)それ以外のはデフォルトのまま次へを押します
     Like  Bookmark
  • 経緯 SpringBootを使って開発する時に躓きまくったので備忘録として残していきます 環境 SpringToolSuite4 アプリ作成手順 ①新規アプリケーションの作り方 SpringInitializrを使っても可能ですがインポートがめんどくさいのでSpringToolSuite内から作成します まず初めにファイル→新規→Springスタータープロジェクトを選択します
     Like  Bookmark
  • JPQLを使う 一応4種類ほどDBを操作する方法はあるが簡単そうなのだけ紹介。 JPAではSQLを直接使うことはできないためSQLに似ているJPQLというものを使うことでJPAからDBを操作することができる。 基本的にJPQLを書く場所として前回説明したRepositoryクラスに記入する。 基本的な形としては@Querryアノテーションの後ろに()をつけてその中にJPQLを指定する。 例えばSQLでテーブルを表示させるSELECT文はJPQLでもselect t from (Entityのクラス名) WHERE ~ と馴染みのある形で実行することができる。ただSQL文と違うのは全部表示させるときに*を使うのがtになったりと細かいところが違うだけでほとんどの構文はSQLと同様である。 詳しくはこちら おまけ
     Like  Bookmark
  • DB接続の@Repoository(アノテーション)について @Repositoryを使う理由は、簡単に言うとメインのクラスからDB接続をするのは好ましくないので、DB操作クラスとして使うものに@Repositoryを指定します。 以前自分が紹介したDBを使ったWebアプリのコードをもう1回使って説明します。 package com.example.demo.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import com.example.demo.model.Comment;
     Like 1 Bookmark