SlideShare ist ein Scribd-Unternehmen logo
1 von 40
2 0 1 7 - 0 7 - 0 8 O / R マ ッ パ ー 勉 強 会 I N 大 都 会
中 村 壮 一 ( @ K U N S T 1 0 8 0 )
Ebeanのご紹介
1
大阪の方から来ました。
大都会の皆様、はじめまして。
2
自己紹介
 名前: 中村壮一 = くんすと (@kunst1080)
 普段は #シェル芸 界隈の住人
3
4
自己紹介
 名前: 中村壮一 = くんすと (@kunst1080)
 普段は #シェル芸 界隈の住人
 仕事: 受託で小規模なWEBサービスを作ってます
 2014年~
 Java + Playframework
 一次開発はほぼ一人で、最近は若手2人と一緒に保守してます
 Ebeanに関しては、ただのユーザーです。
5
6
目次
 今日伝えたいこと 1分くらい
 Ebeanの概要 4分くらい
 Ebeanの特徴 5分くらい
 実際に使ってみてのレポート 7分くらい
7
今日、伝えたいこと
8
今日 伝えたいこと
 知らない方も結構いらっしゃるかと思いますが
「Ebean」という、シンプルなORMがあります。
 結構使いやすいので、検討の選択肢に入れてみてはい
かがでしょう?
 (下心: ユーザーが増えて情報が増えてほしい)
9
(特に日本語の)情報が少なすぎる……
※英語の情報はそこそこあります
10
Ebeanの概要
11
Ebeanの概要
 公式サイト: http://ebean-orm.github.io/
 Javaで書かれた、早くてシンプルなORM
 JPAやJDOよりシンプルで理解しやすいように設計され
ています(by Wikipedia)
 私の感覚では、慣れてしまうと、他のORMが面倒臭すぎ
て使う気が起きないくらいシンプル。
12
13
Ebeanの概要
 対応しているフレームワークなど
 Play Framework
 昔からサポート
 生Java
 ライブラリを作る時に使用しました
 GuiceでのDIによる導入、Springもサポートされている模様
 未検証
14
Ebeanの概要
 Play FrameworkのJavaの方ではデフォルトのORMとし
て採用されています。
 (2.3まではPlay Frameworkに同梱されていました)
 https://www.playframework.com/documentation/2.
6.x/JavaEbean
15
16
Ebeanの特徴
17
Ebeanの特徴
 ①設定がシンプル
 ②Active Recordパターン
 ③セッションレス
 ④外部SQLも扱える(普通のSQL文をそのまま使える)
18
Ebeanの特徴 – ①設定がシンプル
 プレーンなJavaプロジェクトの場合、
resources ディレクトリに
「ebean.properties」ファイルを置きます。
 (テスト用の設定は「 test-ebean.properties 」)
datasource.default=db
datasource.db.username=sa
datasource.db.password=hogehoge
datasource.db.databaseUrl=jdbc:h2:mem:tests
datasource.db.databaseDriver=org.h2.Driver
# ebean.default=“models.*“ ← ここはお好みで
# ebean.default=“ models.*, tables.*"
19
Ebeanの特徴 – ①設定がシンプル
 Play Frameworkで使う場合、
conf/application.conf に
以下のような記述を追加します。
db.default.username=“sa”
db.default.password=“hogehoge”
db.default.url=“jdbc:h2:mem:tests”
db.default.driver=“org.h2.Driver”
# ebean.default=“models.*” ← ここはお好みで
# ebean.default=“models.*, tables.*”
20
Ebeanの特徴 – ①設定がシンプル
 基本機能だけを使う場合、設定はこれだけです。
 設定用のXMLを書いたりJavaクラスを書いたりは不要。
21
Ebeanの特徴 – ②Active Recordパターン
 Ruby on RailsのActive Recordのような書き方で
DBアクセスできます。
 1つのインスタンスがDBの1レコードに対応する
22
Ebeanの特徴 – ②Active Recordパターン
 例えば、こんなModelクラスがあった場合……
@Entity
@Table(name = "user")
public class User extends Model {
public static Model.Finder<Long, User> finder = new Model.Finder<>(User.class);
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long id;
@Constraints.Required
public String name;
public Date birthDay;
}
23
Ebeanの特徴 – ②Active Recordパターン
 CRUDはこんな感じでとてもシンプルです。
// Create
User user = new User();
user.name = “hogehoge”;
user.save():
// Read
User user = User.find.byId(1L);
List<User> list = User.find.where()
.eq(“name”, “hogehoge”)
.findList();
24
Ebeanの特徴 – ②Active Recordパターン
 CRUDはこんな感じでとてもシンプルです。
// Update
User user = new User();
user.id = 1L;
user.update():
// Delete
User user = new User();
user.id = 1L;
user.delete();
25
Ebeanの特徴 – ③セッションレス
 Ebeanにはセッションがありません
 ※トランザクションはあります
 単純に、IDの情報でデータを操作します。
 このように、検索しなくても登録が可能です。
 公式サイトには、REST向きの仕様だと書いてありました。
// Update
User user = new User();
user.id = 1L;
user.update():
// Delete
User user = new User();
user.id = 1L;
user.delete();
26
Ebeanの特徴 – ④外部SQLも扱える
 SQL文の文字列を渡して検索することもできます。
 そのままでは使いにくいのでライブラリ化しました(後述)
String sql = "select id, name, birth_day from user";
List<User> list2 = Ebean.find(User.class)
.setRawSql(RawSqlBuilder.parse(sql).create())
.findList();
27
実際に使ってみてのレポート
28
実際に使ってみてのレポート
 ①拡張したこと
 ②複数DBへの接続
 ③使うときの注意点
29
実際に使ってみてのレポート - ①拡張したこと
 テキストファイルを読み込むライブラリの作成
「ebean-query-text」
 https://github.com/nkmrs/ebean-query-text
 conf/queries/ 以下に置いたSQL文を利用できる
● conf/queries/sample.sql
select
t1.id,
t1.name,
t2.age
from
user_name t1, user_age t2
where
t1.id = t2.id
30
実際に使ってみてのレポート - ①拡張したこと
 テキストファイルを読み込むライブラリの作成
「ebean-query-text」
 https://github.com/nkmrs/ebean-query-text
 conf/queries/ 以下に置いたSQL文を利用できる
Query<Example1> q = QueryText.getDefault()
.getQuery("example1", Example1.class);
List<Example1> list = q.findList();
31
実際に使ってみてのレポート - ①拡張したこと
 FinderのDecoratorを作成
 byIdの結果をOptionalにする
 各種検索処理をmix-inできるようにする
 https://github.com/kunst1080/play-java8-
sample/blob/master/app/tables/FindDecorator.java
32
/**
* Finderの拡張
*/
public class FindDecorator<ID, TABLE extends BaseTable>
implements Where<TABLE> {
private Model.Finder<ID, TABLE> finder
= new Model.Finder<>(getTableClass());
@SuppressWarnings("unchecked")
private Class<TABLE> getTableClass() {
return (Class<TABLE>) ClassUtil.getSecondArgumentType(getClass());
}
@Override
public ExpressionList<TABLE> where() {
return finder.where();
}
public Optional<TABLE> byId(ID id) {
return Optional.ofNullable(finder.byId(id));
}
}
33
public interface Where<TABLE> {
ExpressionList<TABLE> where();
}
public interface Fuzzy<TABLE> extends Where<TABLE> {
default List<TABLE> fuzzy(String value, String... columnNames) {
ExpressionList<TABLE> ex = where();
for (String c : columnNames) {
ex = ex.like(c, "%" + value + "%");
}
return ex.findList();
}
}
public interface All<TABLE> extends Where<TABLE> {
default List<TABLE> all() {
return where().findList();
}
}
34
実際に使ってみてのレポート - ①拡張したこと
 FinderのDecoratorを作成
 byIdの結果をOptionalにする
 各種検索処理をmix-inできるようにする
// 拡張したFinderのサブクラスを自分用に作成
// 使いたい検索処理をimplementsする
public static class Find extends FindDecorator<Long, T_User>
implements All<T_User>, Fuzzy<T_User> {}
public static Find find = new Find();
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long id;
35
実際に使ってみてのレポート - ②複数DBへの接続
 こんな感じに定義してあげると複数DBへ接続できました
 設定ファイル
# デフォルトのDB
db.default.username=“sa”
db.default.password=“hogehoge”
db.default.url=“jdbc:h2:mem:app”
db.default.driver=“org.h2.Driver”
# 2つめのDB
db.another.username=“sa”
db.another.password=“hogehoge”
db.another.url=“jdbc:h2:mem:another”
db.another.driver=“org.h2.Driver”
ebean.another = "models.*"
36
実際に使ってみてのレポート - ②複数DBへの接続
 こんな感じに定義してあげると複数DBへ接続できました
 検索処理
// 以下の書き方で、指定した設定のEbeanServerを取得できます
Ebean.getServer(サーバ名)
// ebean-query-textを使う場合
QueryText.get(“default”).getQuery(“example", User.class)
.findList();
QueryText.get(“another”).getQuery(“example", User.class)
.findList();
37
実際に使ってみてのレポート - ③使うときの注意点
 情報がほとんど英語
 → 勉強するいい機会! だんだん慣れてきます!
 (自分も情報発信していきますね……)
 SQL文を渡す時、トークンの数が増えてくるとパースに失
敗する
 CAST とか CASE とかを使うとうまくいかない
 → DBは検索だけにして、演算はJavaでやる
38
その他、今後検証してみたいこと
 Type safe queies
 こんな風に書けるそうです。安全そう。
 Springとかでの利用
List<Customer> customers =
new QCustomer()
.id.greaterThan(12)
.name.startsWith("Rob")
.findList();
39
以上です!
 今日伝えたいこと 2分くらい
 Ebeanの概要 4分くらい
 Ebeanの特徴 4分くらい
 実際に使ってみてのレポート 10分くらい
40

Weitere ähnliche Inhalte

Was ist angesagt?

クラウドワークスはいかにして11億円の資金調達を実施したか? 先生:佐々木 翔平
クラウドワークスはいかにして11億円の資金調達を実施したか? 先生:佐々木 翔平クラウドワークスはいかにして11億円の資金調達を実施したか? 先生:佐々木 翔平
クラウドワークスはいかにして11億円の資金調達を実施したか? 先生:佐々木 翔平schoowebcampus
 
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010Sen Ueno
 
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説するTaishiYamada1
 
Multipeer connectivityを使った 動画のリアルタイム端末間共有
Multipeer connectivityを使った 動画のリアルタイム端末間共有Multipeer connectivityを使った 動画のリアルタイム端末間共有
Multipeer connectivityを使った 動画のリアルタイム端末間共有Imajin Kawabe
 
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計Yuichi Adachi
 
OSS についてあれこれ
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれTakuto Wada
 
HCL Notes/Domino ライセンスガイド
HCL Notes/Domino ライセンスガイドHCL Notes/Domino ライセンスガイド
HCL Notes/Domino ライセンスガイドSoftware Info HCL Japan
 
My Experiences as a Beginner of OpenJDK Contributor (JCConf Taiwan 2021)
My Experiences as a Beginner of OpenJDK Contributor (JCConf Taiwan 2021)My Experiences as a Beginner of OpenJDK Contributor (JCConf Taiwan 2021)
My Experiences as a Beginner of OpenJDK Contributor (JCConf Taiwan 2021)NTT DATA Technology & Innovation
 
LinkedIn 活用セミナー(人材紹介会社様)
LinkedIn 活用セミナー(人材紹介会社様)LinkedIn 活用セミナー(人材紹介会社様)
LinkedIn 活用セミナー(人材紹介会社様)Andy, Xinbin Hu
 
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてtecopark
 
提摩太前書 第四章 生命的操練
提摩太前書 第四章生命的操練提摩太前書 第四章生命的操練
提摩太前書 第四章 生命的操練查經簡報分享
 
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩Hiroshi SHIBATA
 
[D2]java 성능에 대한 오해와 편견
[D2]java 성능에 대한 오해와 편견[D2]java 성능에 대한 오해와 편견
[D2]java 성능에 대한 오해와 편견NAVER D2
 
LR parsing
LR parsingLR parsing
LR parsingichikaz3
 
LibreOffice API について
LibreOffice API についてLibreOffice API について
LibreOffice API について健一 辰濱
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo dbYuji Isobe
 
路加福音第十二章 ppt (下)
路加福音第十二章 ppt (下)路加福音第十二章 ppt (下)
路加福音第十二章 ppt (下)查經簡報分享
 
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1Masaya Aoyama
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣Masahiro Nishimi
 

Was ist angesagt? (20)

クラウドワークスはいかにして11億円の資金調達を実施したか? 先生:佐々木 翔平
クラウドワークスはいかにして11億円の資金調達を実施したか? 先生:佐々木 翔平クラウドワークスはいかにして11億円の資金調達を実施したか? 先生:佐々木 翔平
クラウドワークスはいかにして11億円の資金調達を実施したか? 先生:佐々木 翔平
 
C言語講習会3
C言語講習会3C言語講習会3
C言語講習会3
 
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
自分でできるWebアプリケーション脆弱性診断 - デブサミ2010
 
継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する継承やめろマジやめろ。 なぜイケないのか 解説する
継承やめろマジやめろ。 なぜイケないのか 解説する
 
Multipeer connectivityを使った 動画のリアルタイム端末間共有
Multipeer connectivityを使った 動画のリアルタイム端末間共有Multipeer connectivityを使った 動画のリアルタイム端末間共有
Multipeer connectivityを使った 動画のリアルタイム端末間共有
 
VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計VIPER アーキテクチャによる iOS アプリの設計
VIPER アーキテクチャによる iOS アプリの設計
 
OSS についてあれこれ
OSS についてあれこれOSS についてあれこれ
OSS についてあれこれ
 
HCL Notes/Domino ライセンスガイド
HCL Notes/Domino ライセンスガイドHCL Notes/Domino ライセンスガイド
HCL Notes/Domino ライセンスガイド
 
My Experiences as a Beginner of OpenJDK Contributor (JCConf Taiwan 2021)
My Experiences as a Beginner of OpenJDK Contributor (JCConf Taiwan 2021)My Experiences as a Beginner of OpenJDK Contributor (JCConf Taiwan 2021)
My Experiences as a Beginner of OpenJDK Contributor (JCConf Taiwan 2021)
 
LinkedIn 活用セミナー(人材紹介会社様)
LinkedIn 活用セミナー(人材紹介会社様)LinkedIn 活用セミナー(人材紹介会社様)
LinkedIn 活用セミナー(人材紹介会社様)
 
Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
 
提摩太前書 第四章 生命的操練
提摩太前書 第四章生命的操練提摩太前書 第四章生命的操練
提摩太前書 第四章 生命的操練
 
RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩RailsGirls から始める エンジニアリングはじめの一歩
RailsGirls から始める エンジニアリングはじめの一歩
 
[D2]java 성능에 대한 오해와 편견
[D2]java 성능에 대한 오해와 편견[D2]java 성능에 대한 오해와 편견
[D2]java 성능에 대한 오해와 편견
 
LR parsing
LR parsingLR parsing
LR parsing
 
LibreOffice API について
LibreOffice API についてLibreOffice API について
LibreOffice API について
 
月間10億pvを支えるmongo db
月間10億pvを支えるmongo db月間10億pvを支えるmongo db
月間10億pvを支えるmongo db
 
路加福音第十二章 ppt (下)
路加福音第十二章 ppt (下)路加福音第十二章 ppt (下)
路加福音第十二章 ppt (下)
 
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
ServiceMesh と仲間たち 〜Istio & Conduit & Linkerd〜 @Cloud Native Meetup Tokyo #1
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 

Ähnlich wie 20170708 Ebeanのご紹介(O/Rマッパー勉強会 in 大都会)

PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門泰 増田
 
Sql database でも使えるほにゃらら
Sql database でも使えるほにゃららSql database でも使えるほにゃらら
Sql database でも使えるほにゃららOda Shinsuke
 
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープじっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープKazuhiro Serizawa
 
非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長Keiko Inagaki
 
LINQ の概要とかもろもろ
LINQ の概要とかもろもろLINQ の概要とかもろもろ
LINQ の概要とかもろもろShinichiAoyagi
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Naoaki Okazaki
 
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみようSql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみようMasayuki Ozawa
 
Filesystem via MySQL
Filesystem via MySQLFilesystem via MySQL
Filesystem via MySQLTomoya Kabe
 
YAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションYAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションKuninobu SaSaki
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸Takahiro Iwase
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!IIJ
 
はじめてのJPA
はじめてのJPAはじめてのJPA
はじめてのJPAkawaba
 
JJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPAJJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPANaoya Kojima
 
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データHisao Soyama
 
EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介
EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介
EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介Kentaro Ohkouchi
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナーTakahiro Iwase
 
running-elixir-in-production
running-elixir-in-productionrunning-elixir-in-production
running-elixir-in-productionTsunenori Oohara
 

Ähnlich wie 20170708 Ebeanのご紹介(O/Rマッパー勉強会 in 大都会) (20)

Apex Test Plusの紹介
Apex Test Plusの紹介Apex Test Plusの紹介
Apex Test Plusの紹介
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
Sql database でも使えるほにゃらら
Sql database でも使えるほにゃららSql database でも使えるほにゃらら
Sql database でも使えるほにゃらら
 
じっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープじっくりコトコト煮込んだJavaスープ
じっくりコトコト煮込んだJavaスープ
 
非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長非エンジニアのSQL活用が加速させる事業成長
非エンジニアのSQL活用が加速させる事業成長
 
LINQ の概要とかもろもろ
LINQ の概要とかもろもろLINQ の概要とかもろもろ
LINQ の概要とかもろもろ
 
Gorinphp0729
Gorinphp0729Gorinphp0729
Gorinphp0729
 
Gorinphp0729
Gorinphp0729Gorinphp0729
Gorinphp0729
 
Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善Word2vecの並列実行時の学習速度の改善
Word2vecの並列実行時の学習速度の改善
 
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみようSql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
Sql serverデータアクセスの基本動作。荒ぶった方法で確認してみよう
 
Filesystem via MySQL
Filesystem via MySQLFilesystem via MySQL
Filesystem via MySQL
 
YAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッションYAPC::Asia Tokyo 2013 ランチセッション
YAPC::Asia Tokyo 2013 ランチセッション
 
20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸20120317 IT系勉強会 in 神戸
20120317 IT系勉強会 in 神戸
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
 
はじめてのJPA
はじめてのJPAはじめてのJPA
はじめてのJPA
 
JJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPAJJUG CCC 2017 Spring LT about JPA
JJUG CCC 2017 Spring LT about JPA
 
『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ『アジャイルデータサイエンス』2章 データ
『アジャイルデータサイエンス』2章 データ
 
EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介
EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介
EC-CUBE3系より新しい EC-CUBE2系の開発事例紹介
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
running-elixir-in-production
running-elixir-in-productionrunning-elixir-in-production
running-elixir-in-production
 

Mehr von kunst1080

Dockerを使ったクライアントハイパーバイザー
Dockerを使ったクライアントハイパーバイザーDockerを使ったクライアントハイパーバイザー
Dockerを使ったクライアントハイパーバイザーkunst1080
 
20171223 2017年のふりかえり
20171223 2017年のふりかえり20171223 2017年のふりかえり
20171223 2017年のふりかえりkunst1080
 
20171223 シェル芸勉強会in大都会
20171223 シェル芸勉強会in大都会20171223 シェル芸勉強会in大都会
20171223 シェル芸勉強会in大都会kunst1080
 
第31回シェル芸勉強会LT rmコマンドチキンレース!
第31回シェル芸勉強会LT rmコマンドチキンレース!第31回シェル芸勉強会LT rmコマンドチキンレース!
第31回シェル芸勉強会LT rmコマンドチキンレース!kunst1080
 
第30回シェル芸勉強会LT シェル芸思考
第30回シェル芸勉強会LT シェル芸思考第30回シェル芸勉強会LT シェル芸思考
第30回シェル芸勉強会LT シェル芸思考kunst1080
 
Hyperでエキサイティングなシェル芸ライフ
Hyperでエキサイティングなシェル芸ライフHyperでエキサイティングなシェル芸ライフ
Hyperでエキサイティングなシェル芸ライフkunst1080
 
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったことkunst1080
 
20160827 第24回シェル芸勉強会LT Bash on Windows環境非破壊ハンズオン
20160827 第24回シェル芸勉強会LT Bash on Windows環境非破壊ハンズオン20160827 第24回シェル芸勉強会LT Bash on Windows環境非破壊ハンズオン
20160827 第24回シェル芸勉強会LT Bash on Windows環境非破壊ハンズオンkunst1080
 
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸kunst1080
 
FreeBSDのススメ
FreeBSDのススメFreeBSDのススメ
FreeBSDのススメkunst1080
 
ワンライナーでFreeBSDをインストールする
ワンライナーでFreeBSDをインストールするワンライナーでFreeBSDをインストールする
ワンライナーでFreeBSDをインストールするkunst1080
 
【Kof2014】Jail-deploy, 若しくはjailhub, あるいは Jail as a Service
【Kof2014】Jail-deploy, 若しくはjailhub,あるいは Jail as a Service【Kof2014】Jail-deploy, 若しくはjailhub,あるいは Jail as a Service
【Kof2014】Jail-deploy, 若しくはjailhub, あるいは Jail as a Servicekunst1080
 
固定長レコード形式行順ファイルでもAwkがしたい!
固定長レコード形式行順ファイルでもAwkがしたい!固定長レコード形式行順ファイルでもAwkがしたい!
固定長レコード形式行順ファイルでもAwkがしたい!kunst1080
 

Mehr von kunst1080 (13)

Dockerを使ったクライアントハイパーバイザー
Dockerを使ったクライアントハイパーバイザーDockerを使ったクライアントハイパーバイザー
Dockerを使ったクライアントハイパーバイザー
 
20171223 2017年のふりかえり
20171223 2017年のふりかえり20171223 2017年のふりかえり
20171223 2017年のふりかえり
 
20171223 シェル芸勉強会in大都会
20171223 シェル芸勉強会in大都会20171223 シェル芸勉強会in大都会
20171223 シェル芸勉強会in大都会
 
第31回シェル芸勉強会LT rmコマンドチキンレース!
第31回シェル芸勉強会LT rmコマンドチキンレース!第31回シェル芸勉強会LT rmコマンドチキンレース!
第31回シェル芸勉強会LT rmコマンドチキンレース!
 
第30回シェル芸勉強会LT シェル芸思考
第30回シェル芸勉強会LT シェル芸思考第30回シェル芸勉強会LT シェル芸思考
第30回シェル芸勉強会LT シェル芸思考
 
Hyperでエキサイティングなシェル芸ライフ
Hyperでエキサイティングなシェル芸ライフHyperでエキサイティングなシェル芸ライフ
Hyperでエキサイティングなシェル芸ライフ
 
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
第8回大阪jenkins勉強会LT Jenkinsでやってみてよかったこと・やめておいたほうが良かったこと
 
20160827 第24回シェル芸勉強会LT Bash on Windows環境非破壊ハンズオン
20160827 第24回シェル芸勉強会LT Bash on Windows環境非破壊ハンズオン20160827 第24回シェル芸勉強会LT Bash on Windows環境非破壊ハンズオン
20160827 第24回シェル芸勉強会LT Bash on Windows環境非破壊ハンズオン
 
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
20160618 第23回シェル芸勉強会LT コマンドプロンプト芸
 
FreeBSDのススメ
FreeBSDのススメFreeBSDのススメ
FreeBSDのススメ
 
ワンライナーでFreeBSDをインストールする
ワンライナーでFreeBSDをインストールするワンライナーでFreeBSDをインストールする
ワンライナーでFreeBSDをインストールする
 
【Kof2014】Jail-deploy, 若しくはjailhub, あるいは Jail as a Service
【Kof2014】Jail-deploy, 若しくはjailhub,あるいは Jail as a Service【Kof2014】Jail-deploy, 若しくはjailhub,あるいは Jail as a Service
【Kof2014】Jail-deploy, 若しくはjailhub, あるいは Jail as a Service
 
固定長レコード形式行順ファイルでもAwkがしたい!
固定長レコード形式行順ファイルでもAwkがしたい!固定長レコード形式行順ファイルでもAwkがしたい!
固定長レコード形式行順ファイルでもAwkがしたい!
 

20170708 Ebeanのご紹介(O/Rマッパー勉強会 in 大都会)