Behind-the-Scenes and Goals of LINE Summer Internship ProgramLINE Corporation
?
Yuka Ezura
LINE / Development Team H
恒例行事となった LINE のサマーインターンシップ!
職種別に実施されるインターンシップですが、エンジニアコースでは学生が実際に現場に配属される「就業型インターンシップ」を実施してきました。そして、今年からは新たに「スクール」を新設?実施しました。
スクールコースでは、現場には入らず「就業型」とは異なる方針で成長を促すカリキュラムを実施しました。しかし、就業型を続けてきた中で、なぜ新たなカリキュラムを実施する必要があったのでしょうか。
本発表では「就業型」について、インターン生を受け入れる現場のエンジニアやチームという立場から、「スクール」についてはカリキュラム作成?主導者として、その背景や施策、課題、そして、これからをお話しします。
Behind-the-Scenes and Goals of LINE Summer Internship ProgramLINE Corporation
?
Yuka Ezura
LINE / Development Team H
恒例行事となった LINE のサマーインターンシップ!
職種別に実施されるインターンシップですが、エンジニアコースでは学生が実際に現場に配属される「就業型インターンシップ」を実施してきました。そして、今年からは新たに「スクール」を新設?実施しました。
スクールコースでは、現場には入らず「就業型」とは異なる方針で成長を促すカリキュラムを実施しました。しかし、就業型を続けてきた中で、なぜ新たなカリキュラムを実施する必要があったのでしょうか。
本発表では「就業型」について、インターン生を受け入れる現場のエンジニアやチームという立場から、「スクール」についてはカリキュラム作成?主導者として、その背景や施策、課題、そして、これからをお話しします。
9. Strutsは捨てよう~Spring MVC
? 積極的なREST対応、アノテーションを利用し、
ControllerをHTTPに汚染されない普通のソースコ
ードとして実装可能
9
中間層EIS層Client層
プレゼンテーション層ビジネス層データアクセス層
Browser RDB
Spring
(DIxAOP)
Spring
MVC
10. 10
参考Spring MVC(1)
※少し手を加えシンプルにしています
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>Hello world! </h1>
<p>The time on the server is ${serverTime}.</p>
</body>
</html>
Modelに設定したオブジェクトは
自動的にHttpServletRequestに
設定されている
11. 参考Spring MVC(2)
11
Controllerの指定
@Controller
public class HomeController {
@RequestMapping(value = "/", method = GET)
public String home(Model model) {
Date date = new Date();
model.addAttribute("serverTime", date);
return "home";
}
}
HTTPメソッドがGETで
「/」へアクセスした際に
実行される
ビューに渡したいオブジェクトを
設定する
View名をreturnする
※少し手を加えシンプルにしています
13. ログイン画面は自分で作らない
-Spring Security
? 認証(ユーザーであるか否かを確認する、所謂ログ
インの機能)/認可(ユーザがある機能を利用できる
か否かを判断する機能)はスクラッチで作らない
13
中間層EIS層Client層
プレゼンテーション層ビジネス層データアクセス層
Browser RDB
Spring
(DIxAOP)
Spring
MVC
Spring
Security
位置的に微妙だけど
その辺は御勘弁???
14. ここは悩む-DBアクセス
? JPA(Hibernate)
? Spring Data JPA
? MyBatis
14
中間層EIS層Client層
プレゼンテーション層ビジネス層データアクセス層
Browser RDB
Spring
(DIxAOP)
Spring
MVC
Spring
Security
Spring
Data
JPA
MyBatis