SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
MyBatis を利利⽤用した Web
Application 開発についてのご
紹介
LINE Corp. Service Dev. 1

Tokuhiro Matsuno
⾃自⼰己紹介
• LINE Corp Service Dev.1

• ⾼高トラフィックの B2C の⾃自社ウェブサービスを開発する
ことを⽣生業としている

• 最近はなぜか広告事業をやっています。

• 広告案件でももちろん MyBatis を利利⽤用しています。
MyBatis?
• 永続化フレームワーク for Java
どう動く?
• SQL は直接書く

• それを interface 通じて呼び出す

→ java.lang.reflect.Proxy で処理理する

• 結果を Bean に Mapping する
どんなスキーマでも使える
• 主キーがなくても⼤大丈夫

• もともと MyBatis 前提で設計されてない DB でも⼤大丈夫

• サブクエリなどの複雑なクエリも簡単に使えます

• 複雑なクエリそのものが⼤大変
完全に DB 製品に依
存します
発⾏行行されるクエリが⼈人間
に読みやすいので便便利利
N+1 問題がそもそも起きない
(⼿手で書いているので)
3つの書き⽅方
• Mapper XML: XML で記述

• Annotation: アノテーションで記述

• Statement builder: Java DSL で記述
1. Mapper XML
名前はビーンのフィールド名または -parameters または @Param から取得
Java8 以後は -parameters オプションで不不要
Usage
String resource = "mybatis-config.xml";

InputStream inputStream =
Resources.getResourceAsStream(resource);

SqlSessionFactory sqlSessionFactory = new
SqlSessionFactoryBuilder().build(inputStream);
実⾏行行
try (SqlSession session = sqlSessionFactory.openSession())
{

BlogMapper mapper =
session.getMapper(BlogMapper.class);

Blog blog = mapper.findById(101);

System.out.println(blog);

}
2. Annotation
クエリ埋め込んだら読みづらい?
3. Statement builder
LINE 社内での利利⽤用⽐比率
27%
73%
XML Annotation
Statement builder
@Select("SELECT *"
+ " FROM blog"
+ " id=#{id}")
Blog findById(long id);
Annotation の⾔言語別シェア
1%
4%
95%
Java Kotlin Groovy
Kotlin
fun findById(id: Long): List<Blog>
Groovy
Blog findById(long id)
Java
Blog findById(long id);
LINE社社内での直近動向
• Mapper XML → 継続して利利⽤用されている

• Annotation → Groovy or kotlin の利利⽤用が活発

• 複数⾏行行⽂文字列列に対応している

• Statement builder → ほとんど利利⽤用されていない
Spring support
• Spring boot のサポートが⼿手厚いです 😁
MyBatis の利利点
• SQL が直接書いてある

→ 短期的に開発効率がすごくいいわけではない

→ コードレビューが容易易

→ スロークエリのリカバリが容易易
MyBatis の利利点(2)
• ドキュメントが充実している
MyBatis の利利点(3)
MyBatis の利利点(4)
• コードがシンプル

• 挙動がわかりにくい点があっても、Debugger で追いやす
い
MyBatis の⽋欠点
• XML, Statement builder, Annotation をサポート

→ Annotation で書く⼈人にとっては XML 記法前提で説明が
書かれていて、ドキュメントがちょっと読みにくい

Weitere ähnliche Inhalte

Was ist angesagt?

YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPressHidetaka Okamoto
 
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情我が家のフロントエンド開発事情
我が家のフロントエンド開発事情Naoki Yamada
 
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーションこれから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション土岐 孝平
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリアシアル株式会社
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHong Chen
 
Viewを使って開発を楽にする話
Viewを使って開発を楽にする話Viewを使って開発を楽にする話
Viewを使って開発を楽にする話Isamu Watanabe
 
WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会Koji Asaga
 
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方Hidetaka Okamoto
 
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンWord pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンHidetaka Okamoto
 
WordPress開発の最新事情
WordPress開発の最新事情WordPress開発の最新事情
WordPress開発の最新事情Takayuki Miyauchi
 
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015Kitani Kimiya
 
5分で分かるmonaca pressproject(草案)
5分で分かるmonaca pressproject(草案)5分で分かるmonaca pressproject(草案)
5分で分かるmonaca pressproject(草案)Yuki Okamoto
 
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015Kitani Kimiya
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクションTakahiro Okumura
 
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用Satoshi Kamigaki
 
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術Noriaki Kadota
 
WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編Hiroshi Urabe
 
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタオフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタYosuke TOMITA
 
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめhirooooo
 

Was ist angesagt? (20)

YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPress
 
我が家のフロントエンド開発事情
我が家のフロントエンド開発事情我が家のフロントエンド開発事情
我が家のフロントエンド開発事情
 
これから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーションこれから始めるSpringのwebアプリケーション
これから始めるSpringのwebアプリケーション
 
WordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリWordPress APIで作るモバイルアプリ
WordPress APIで作るモバイルアプリ
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
 
Viewを使って開発を楽にする話
Viewを使って開発を楽にする話Viewを使って開発を楽にする話
Viewを使って開発を楽にする話
 
WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会WorcCamp Kansai 2015 LT大会
WorcCamp Kansai 2015 LT大会
 
WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方WP-APIを使ってみよう&No PHPテーマという考え方
WP-APIを使ってみよう&No PHPテーマという考え方
 
Word pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオンWord pressはじめの一歩 テーマ作成ハンズオン
Word pressはじめの一歩 テーマ作成ハンズオン
 
WordPress開発の最新事情
WordPress開発の最新事情WordPress開発の最新事情
WordPress開発の最新事情
 
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
WordCamp Kansai 2015 ハンズオン - 踏み出してみよう!翻訳の第一歩 #wck2015
 
5分で分かるmonaca pressproject(草案)
5分で分かるmonaca pressproject(草案)5分で分かるmonaca pressproject(草案)
5分で分かるmonaca pressproject(草案)
 
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
WordCamp Kansai 2015 - 京都大学における WordPress を利用した多言語情報発信と管理運用 #wck2015
 
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Webオペレーション研修イントロダクション
 
WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用WordPressで行うシステム開発 WordCamp Tokyo 2015用
WordPressで行うシステム開発 WordCamp Tokyo 2015用
 
中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術中の下のエンジニアを脱出するための仕事術
中の下のエンジニアを脱出するための仕事術
 
WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編WordPressで行う継続的インテグレーション入門編
WordPressで行う継続的インテグレーション入門編
 
オフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタオフライン行動を支えるメール配送管理 at サイタ
オフライン行動を支えるメール配送管理 at サイタ
 
Media Assembly Kit
Media Assembly KitMedia Assembly Kit
Media Assembly Kit
 
[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ[社内勉強会]SPAのすすめ
[社内勉強会]SPAのすすめ
 

Andere mochten auch

Reladomo入門 JJUGナイトセミナー #jjug
Reladomo入門 JJUGナイトセミナー #jjugReladomo入門 JJUGナイトセミナー #jjug
Reladomo入門 JJUGナイトセミナー #jjugHiroshi Ito
 
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみDoma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみToshihiro Nakamura
 
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_techドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_techMichihito Shigemura
 
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性J-Stream Inc.
 
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてYusuke Suzuki
 
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てRyosuke Uchitate
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座Yusuke Suzuki
 
Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜Youtarou TAKAHASHI
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccYujiSoftware
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugMasatoshi Tada
 

Andere mochten auch (11)

Reladomo入門 JJUGナイトセミナー #jjug
Reladomo入門 JJUGナイトセミナー #jjugReladomo入門 JJUGナイトセミナー #jjug
Reladomo入門 JJUGナイトセミナー #jjug
 
Doma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみDoma SQLテンプレートのしくみ
Doma SQLテンプレートのしくみ
 
ドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_techドキュメントを直し続ける話 #kbkz_tech
ドキュメントを直し続ける話 #kbkz_tech
 
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
 
ITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについてITトレンドに見る日本のエンタープライズITについて
ITトレンドに見る日本のエンタープライズITについて
 
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
 
Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜Selenide or Geb 〜あなたはその時どちらを使う〜
Selenide or Geb 〜あなたはその時どちらを使う〜
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjugSpring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
 

Ähnlich wie MyBatis を利用した web application 開発についてのご紹介

サーバ・VM+コンテナ管理Tips@オンライン合宿2020
サーバ・VM+コンテナ管理Tips@オンライン合宿2020サーバ・VM+コンテナ管理Tips@オンライン合宿2020
サーバ・VM+コンテナ管理Tips@オンライン合宿2020Yuki Nihei
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Tokuhiro Matsuno
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れMitsuru Katoh
 
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フローYuki Okada
 
ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】schoowebcampus
 
プロトタイピングでしあわせになろうよ
プロトタイピングでしあわせになろうよプロトタイピングでしあわせになろうよ
プロトタイピングでしあわせになろうよYoshiki Kojima
 
Hello, React!! まで導く Reactの基礎
Hello, React!! まで導く Reactの基礎Hello, React!! まで導く Reactの基礎
Hello, React!! まで導く Reactの基礎iPride Co., Ltd.
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetupS Akai
 
Salesforce Lightning をやってみてあれこれ
Salesforce Lightning をやってみてあれこれSalesforce Lightning をやってみてあれこれ
Salesforce Lightning をやってみてあれこれ寛 吉田
 
Webmarketing_CareerBar_ver1.pdf
Webmarketing_CareerBar_ver1.pdfWebmarketing_CareerBar_ver1.pdf
Webmarketing_CareerBar_ver1.pdfCybozu, Inc.
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1Keisuke Imai
 
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜Iida Yukako
 
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor  WebAssemblyのすすめStatic Web AppsとBlazor  WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめTomomitsuKusaba
 
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~Kimihiko Kitase
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変えるHiroto Igarashi
 
障害にならないためのMySQL運用
障害にならないためのMySQL運用障害にならないためのMySQL運用
障害にならないためのMySQL運用Junya Shimazu
 
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~bizstation
 
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」naoki ando
 
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)Tetsuji Hayashi
 

Ähnlich wie MyBatis を利用した web application 開発についてのご紹介 (20)

サーバ・VM+コンテナ管理Tips@オンライン合宿2020
サーバ・VM+コンテナ管理Tips@オンライン合宿2020サーバ・VM+コンテナ管理Tips@オンライン合宿2020
サーバ・VM+コンテナ管理Tips@オンライン合宿2020
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
 
これからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れこれからのNOTESモバイルアプリはこう作れ
これからのNOTESモバイルアプリはこう作れ
 
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
自社サービスkintoneをふんだんに活用したサイボウズの開発フロー
 
ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】ブラウザだけで学ぶWebアプリ開発【デザイン編】
ブラウザだけで学ぶWebアプリ開発【デザイン編】
 
プロトタイピングでしあわせになろうよ
プロトタイピングでしあわせになろうよプロトタイピングでしあわせになろうよ
プロトタイピングでしあわせになろうよ
 
Hello, React!! まで導く Reactの基礎
Hello, React!! まで導く Reactの基礎Hello, React!! まで導く Reactの基礎
Hello, React!! まで導く Reactの基礎
 
遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup遅いクエリと向き合う仕組み #CybozuMeetup
遅いクエリと向き合う仕組み #CybozuMeetup
 
Salesforce Lightning をやってみてあれこれ
Salesforce Lightning をやってみてあれこれSalesforce Lightning をやってみてあれこれ
Salesforce Lightning をやってみてあれこれ
 
Webmarketing_CareerBar_ver1.pdf
Webmarketing_CareerBar_ver1.pdfWebmarketing_CareerBar_ver1.pdf
Webmarketing_CareerBar_ver1.pdf
 
Riot.jsを用いたweb開発 takusuta tech conf #1
Riot.jsを用いたweb開発   takusuta tech conf #1Riot.jsを用いたweb開発   takusuta tech conf #1
Riot.jsを用いたweb開発 takusuta tech conf #1
 
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
2023.03.08@高まるウェブアクセシビリティの需要ーfreee×ニューズピックスー〜フロントエンド最前線〜
 
Static Web AppsとBlazor WebAssemblyのすすめ
Static Web AppsとBlazor  WebAssemblyのすすめStatic Web AppsとBlazor  WebAssemblyのすすめ
Static Web AppsとBlazor WebAssemblyのすすめ
 
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
クラウドAPIを利用した開発について ~ セルフポータル、ストレージサービス、Infrastructure as a code ~
 
小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える小さく早い改善がスマホのサービス開発を変える
小さく早い改善がスマホのサービス開発を変える
 
障害にならないためのMySQL運用
障害にならないためのMySQL運用障害にならないためのMySQL運用
障害にならないためのMySQL運用
 
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
Transactd ~高速・高機能なNoSQLプラグイン for MySQL/MariaDB~
 
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
パソナテック Find Your Ability 講演資料 「ディレクターにとってのWeb業界って? 」
 
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
X pages day2015_みんな大好き@式とbootstrapで作る簡単coolなxpagesアプリ(公開用)
 
Emacs softLayer
Emacs softLayerEmacs softLayer
Emacs softLayer
 

Mehr von Tokuhiro Matsuno

20190126 yapc tokyo keynote
20190126 yapc tokyo keynote 20190126 yapc tokyo keynote
20190126 yapc tokyo keynote Tokuhiro Matsuno
 
最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編Tokuhiro Matsuno
 
Plenv and perl build, and search.cpan.org
Plenv and perl build, and search.cpan.orgPlenv and perl build, and search.cpan.org
Plenv and perl build, and search.cpan.orgTokuhiro Matsuno
 
Openjdk 入門してみた話
Openjdk 入門してみた話Openjdk 入門してみた話
Openjdk 入門してみた話Tokuhiro Matsuno
 
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...Tokuhiro Matsuno
 
Server::Starter meets Java
Server::Starter meets JavaServer::Starter meets Java
Server::Starter meets JavaTokuhiro Matsuno
 
Java web application testing
Java web application testingJava web application testing
Java web application testingTokuhiro Matsuno
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Tokuhiro Matsuno
 
Test::Kantan - Perl and Testing
Test::Kantan - Perl and TestingTest::Kantan - Perl and Testing
Test::Kantan - Perl and TestingTokuhiro Matsuno
 
MySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみたMySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみたTokuhiro Matsuno
 

Mehr von Tokuhiro Matsuno (20)

20190126 yapc tokyo keynote
20190126 yapc tokyo keynote 20190126 yapc tokyo keynote
20190126 yapc tokyo keynote
 
最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編最近のPerlバイナリマネージャー Perl 編
最近のPerlバイナリマネージャー Perl 編
 
Plenv and perl build, and search.cpan.org
Plenv and perl build, and search.cpan.orgPlenv and perl build, and search.cpan.org
Plenv and perl build, and search.cpan.org
 
Yapc fukuoka crust
Yapc fukuoka crustYapc fukuoka crust
Yapc fukuoka crust
 
Perl6 と web 開発と
Perl6 と web 開発とPerl6 と web 開発と
Perl6 と web 開発と
 
Openjdk 入門してみた話
Openjdk 入門してみた話Openjdk 入門してみた話
Openjdk 入門してみた話
 
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
 
Perl6 web-app
Perl6 web-appPerl6 web-app
Perl6 web-app
 
Perl6 meets JVM
Perl6 meets JVMPerl6 meets JVM
Perl6 meets JVM
 
Server::Starter meets Java
Server::Starter meets JavaServer::Starter meets Java
Server::Starter meets Java
 
Java web application testing
Java web application testingJava web application testing
Java web application testing
 
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
 
Test::Kantan - Perl and Testing
Test::Kantan - Perl and TestingTest::Kantan - Perl and Testing
Test::Kantan - Perl and Testing
 
[jjug] Java と Benchmark
[jjug] Java と Benchmark[jjug] Java と Benchmark
[jjug] Java と Benchmark
 
Devel::NYTProf::Apache
Devel::NYTProf::ApacheDevel::NYTProf::Apache
Devel::NYTProf::Apache
 
MySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみたMySQL のチューニングについて考えてみた
MySQL のチューニングについて考えてみた
 
Archer
ArcherArcher
Archer
 
MySQL::NameLocker
MySQL::NameLockerMySQL::NameLocker
MySQL::NameLocker
 
Inside MF
Inside MFInside MF
Inside MF
 
Web Application FLow
Web Application FLowWeb Application FLow
Web Application FLow
 

MyBatis を利用した web application 開発についてのご紹介