発表用資料の作成
PowerPointのテンプレートをコピーして使用する。
\\kgakusei1\share\澤田\発表資料.pptx
チーム開発の感想などは、Backlogで担当した課題を見れば思い出しやすい。
Webアプリの講義内容と関連資料など
PowerPointのテンプレートをコピーして使用する。
\\kgakusei1\share\澤田\発表資料.pptx
チーム開発の感想などは、Backlogで担当した課題を見れば思い出しやすい。
基本機能が動作するようにがんばりましょう!
機能の単位はロバストネス図で考えること。
発表用のパワポ作成の課題を誰かに割り当てる
(テンプレートを用意するので必要事項を記入する)
発表する機能の動作確認。
1現目はチーム内でパワポの確認とデモ内容の確認。
2現目は発表。
たとえばidをURLに含める場合のJSP記述方法。
<a href="hoge?id=${obj.id}">${obj.title}</a>
課題をなかなか完了できない場合は、課題を細かく分割する。
XxControllerを作成する。
XxControllerにURL=/hoge の GET リクエストを実装する。
hoge.jsp を作成する。
XxControllerのURL=/hoge の応答で、hoge.jsp を表示する。
XxControllerのURL=/hoge の GET リクエストで message データを設定する。
hoge.jsp で message データを表示する。
hoge.jsp に form を追加する。
XxControllerにURL /hoge の POST リクエストを実装する。
XxControllerのURL=/hoge の POST リクエストの応答で resp.jsp を表示する。
Gitリポジトリを削除するには、Backlog の「プロジェクト設定」で Git を選択し、「編集」をクリックする。
そこで、リポジトリの削除ができる。
.gitignore ファイルに記述して、.gitignore をコミット/プッシュする。
プロジェクトエクスプローラ右上の▽をクリックし、「ビューのカスタマイズ」を選択する。
「.* リソース」のチェックをはずしてOKする。
ログインしたユーザー情報を取得するには、コントローラの引数に Principal を追加する。
追加した Princical から getName()メソッドでユーザー名を取得し、addAttribute() で name に値を設定している。
MyDataController.java
@RequestMapping(value = "/mydata", method = RequestMethod.GET) public String mydata(Model model, Principal p) { model.addAttribute("name", p.getName()); model.addAttribute("title", "MyData"); model.addAttribute("message", "データを入力してください"); MyData mydata = new MyData(); model.addAttribute("myData", mydata); MyDataDao<MyData> dao = new MyDataDaoCriteria(); List<MyData> list = dao.getAll(); model.addAttribute("datalist", list); return "mydata"; }
mydata.jsp
<body> <h1>${title}</h1> <p>${message}</p> <p>ようこそ ${name} さん</p> <table> <form:form modelAttribute="myData">
チーム開発のプロジェクト管理にBacklogを使用する。
Backlogには、課題管理、Git、Wikiなどの便利なツールがある。
チーム開発を通して、各ツールの使い方に慣れる。
朝、10分程度のスタートアップミーティングを行う。
ミーティングで以下の内容を決める。
ひとりで難しいときはペアプログラミングで効率を上げる。
課題に書いた内容を実装する。
Wikiで整理するとよさそうな情報
ミーティング後、全員の課題を確認する。
KPT : Keep / Problem / Try
サイトにログイン機能を追加するには、Spring Security を使用すると簡単に実装できる。
Spring Security の設定ファイルを読み込ませるために、contextConfigLocation を追加する。
Spring Security のライブラリを追加する。
pom.xml
<dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> <version>4.0.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>4.0.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> <version>4.0.1.RELEASE</version> </dependency>
pom.xml を変更したら、プロジェクトの更新と、maven install を実行する。
web.xml
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/application-config.xml</param-value> </context-param> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/spring-security.xml</param-value> </context-param>
src/main/resources/spring フォルダに、spring-security.xml を作成する。
まずはXMLで指定したユーザーでログインできるようにする。
ユーザー名: user
パスワード: user
あとでDBから取得するように変更する。
spring-security.xml
<beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.0.xsd"> <http pattern="/" security="none"/> <http pattern="/index.jsp" security="none"/> <http auto-config="true" > <intercept-url pattern="/**" access="hasRole('ROLE_USER')" /> <form-login /> <logout /> </http> <authentication-manager> <authentication-provider> <user-service> <user name="admin" password="admin" authorities="ROLE_ADMIN" /> <user name="user" password="user" authorities="ROLE_USER" /> </user-service> </authentication-provider> </authentication-manager> </beans:beans>
すべてのページにアクセスする前にアクセス権限のチェックを実行させるため、web.xml の最後に、フィルターを追加する。
web.xml
<filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
課題は誰でも作れる。
課題を作るときに、担当者を割り当てる。
リーダーは課題「ロバストネス図を作成する」を追加する。
他のメンバーは課題「クローンする」を作成する。
決めること
Webアプリの例
チームリーダーが以下の作業を実施。
https://diguhaga.backlog.jp/
https://harunoumi.backlog.jp/
https://kentomori.backlog.jp/
https://ukshhm.backlog.jp/
https://yapy.backlog.jp/