31. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
31
システム全体像
この範囲を
リニューアル
既存システム
32. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
32
虎の穴ラボの同人誌販売もやってます!
(無料!!)
ちなみに・・・
https://ec.toranoana.shop/tora_d/digi/item/042000012881/
33. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
33
【3】
とらのあな
通販サイトとJava
34. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
なぜリニューアル
することになったか
34
35. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
一念発起!
リニューアルプロジェクト
が始動!
35
ECサイトのリニューアル
・年商約100億円
・取り扱い400万アイテム以上
・日々求められるものが変わる業界
負荷の増大に耐えうるシステム
柔軟な機能追加ができるシステム
が求められていた
36. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
なぜ新しいECサイトで
Javaを選んだか
36
37. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
37
とらのあながJavaを選んだ3つの理由
安定性
JavaVM
エンジニアの多さ
38. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
安定性
会社視点
売上の規模から、失敗することが
許されないシステム
クリエイター視点
魂を注いで作り上げられた作品を、安
定性の低いシステムで扱うわけにはい
かない!
38
とらのあながJavaを選んだ3つの理由
39. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
39
とらのあながJavaを選んだ3つの理由
JavaVM
モニタリングのしやすさ・障害調査のし
やすさ
他のJVM言語の利用
40. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
40
とらのあながJavaを選んだ3つの理由
エンジニアの多さ
ECサイトの完全内製化が目標
完全内製化を成し遂げるため
には人数が必要
Javaならば仲間集めをしやすい
41. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
どのようにECサイトをリ
ニューアルしたか
41
42. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
→ECパッケージを利用
特に柔軟に対応可能なものを
チョイス
42
どのようにECサイトをリニューアルしたか
開発スピードは速く
コストは安く
43. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
環境
言語 Java
Webコンテナ Apache
Tomcat
フレームワーク Spring
テンプレートエンジン Thymeleaf
ORマッパー Hibernate
ビルドツール Maven
CI Jenkins
43
IDE IntelliJ など
バージョン管理 git
開発マシン MacBook Pro
どのようにECサイトをリニューアルしたか
44. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
→端的に言えば、楽しい
44
リニューアル&内製化をしてみて
●虎の穴としてやりたいことを
柔軟にできる
●ユーザの反応を
ダイレクトに受け取れる
リニューアルと同時に内製化へ
45. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
【4】
社内ツールとKotlin
45
46. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
その1
社内ツールを
開発した経緯
46
社内ツールとKotlin
47. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
このままだと運用
ができない・・・
47
その1 社内ツールを開発した経緯
運用上必要なデータを
抽出できる機能が不
足している!?
48. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
作るしかない!
48
その1 社内ツールを開発した経緯
49. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
Kotlinで開発してみよう!
49
その1 社内ツールを開発した経緯
50. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
50
その2
なぜKotlinを
選択したか
社内ツールとKotlin
51. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
名前が可愛い!!
51
その2 なぜKotlinを選択したか
52. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
52
その2 なぜKotlinを選択したか
名前が可愛い!!
JavaVM言語 EC資産の流用が可能
Javaライクなコード&簡潔
IntelliJ IDEAで開発しやすい
新しいことにチャレンジ
53. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
53
その2 なぜKotlinを選択したか
名前が可愛い!!
JavaVM言語 EC資産の流用が可能
Javaライクなコード&簡潔
IntelliJ IDEAで開発しやすい
新しいことにチャレンジ
54. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
54
その2 なぜKotlinを選択したか
名前が可愛い!!
JavaVM言語 EC資産の流用が可能
Javaライクなコード&簡潔
IntelliJ IDEAで開発しやすい
新しいことにチャレンジ
55. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
名前が可愛い!!
JavaVM言語 EC資産の流用が可能
Javaライクなコード&簡潔
IntelliJ IDEAで開発しやすい
新しいことにチャレンジ
55
その2 なぜKotlinを選択したか
56. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
〜 社内ツールの開発環境 〜
開発言語 Kotlin
フレームワーク Spark
ビューテンプレート Thymeleaf
Sparkは、webアプリケーション構築用のマイクロフレームワーク
56
その2 なぜKotlinを選択したか
57. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
57
その3
Sparkを
利用した
実装について
社内ツールとKotlin
58. Copyright (C) 2018 Toranoana Inc. All Rights Reserved.
Kotlin
58
たったこれだけで、
Webサーバとして稼働す
る
getリクエスト時に
Hello Worldを表
示する実装
その3 Sparkを利用した実装について