SlideShare a Scribd company logo
1 of 45
Download to read offline
JJUG CCC Spring 2015 #jjug_ccc #ccc_ab3
大規模な負荷でも
ドキドキしない為の
Java EE
@nagaseyasuhito
java-ja
グリー株式会社
the CRAZY ANGEL
COMPANY
Agenda
その1 負荷テストするぞ
その2 JPAのスケールアウト戦略
負荷テストするぞ
http://www.flickr.com/photos/mattt_org/2831690932
"Electrocardiogram" by mattt.org is licensed under CC BY 2.0 / Added some texts to original
Stress
Test
Anti
Pattern
アンチパターン その1
「シングルスレッドで実行」
Stress
Test
Anti
Pattern
アンチパターン その2
「ユースケースとかけ離れたシナリオ」
Stress
Test
Anti
Pattern
アンチパターン その3
「複数のサーバーでコマンドを叩いて手動実行」
そもそも負荷テストの目的は?
https://www.flickr.com/photos/jakecaptive/3205277810
Thinking RFID by Jacob Bøtter is licensed under CC BY 2.0 / Added some texts to original
What
Is
Stress
Test
For?
負荷テストの目的 その1
システムの限界性能を知る
What
Is
Stress
Test
For?
負荷テストの目的 その2
高負荷時の不具合を発見する
https://www.flickr.com/photos/hermanolobo/8605855035
Road to Hell by Jose Padin is licensed under CC BY 2.0 / Added some texts to original
Stress Test
meets
Continuous Integration
Apache JMeter
負荷テストツールのデファクトスタンダード
GUIでシナリオ作成
Pure Java
分散実行に対応
Apache®, Apache JMeter™ and Apache JMeter logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
HTTP(S) Test Script Recorder
HTTP(S)のプロキシサーバーとして振る舞いHTTPリクエストをトレースする。
Selenium Web Driver Sampler
WebアプリケーションのテストツールSeleniumのシナリオを使って負荷テストを行える。
Selenium IDEは実際のユーザーのアクティビティをそのままテストシナリオにできるので、よ
り本番に近い負荷をかけることができる。
JUnit Request
$JMETER_HOME/lib/junitにあるJUnitテストを実行できる。
• 独自プロトコルの負荷テスト
• 既存のプラグインでは表現できない複雑な負荷テストシナリオ
などをJUnitテストとして書いて負荷テストができる。
Make
Scenario
@Test(timeout = 1500)
@SneakyThrows
public void createAndShow() {
String mailAddress = UUID.randomUUID() + "@example.com";
WebTarget target;
target = this.client.target(this.url.toString());
target = target.path("api/user");
target = target.queryParam("mailAddress", mailAddress);
User user = target.request().method("POST", User.class);
assertThat(user.getMailAddress(), is(mailAddress));
Thread.sleep(1000L);
target.path(user.getId().toString()).request().get(User.class);
}
JUnit負荷テストシナリオの例
上記の例はJAX-RSのクライアントを使いREST APIのリクエストを発行し、レスポンスの値を
使いふたたびリクエストを発行するサンプル。
独自のプロトコルや複数のコネクションなども柔軟に扱える。
アサートの条件なども独自に定義できるので複雑な負荷テストシナリオを作りやすい。
Running
On
Command
Line
$ jmeter -n -t stress-test.jmx -l stress-test.jtl
Creating summariser <summary>
Created the tree successfully using stress-test.jmx
Starting the test @ Fri Apr 03 18:16:27 JST 2015 (1428052587427)
Waiting for possible shutdown message on port 4445
summary + 6 in 3s = 2.0/s Avg: 57 Min: 9 Max: 294 Err: 0 (0.00%) Active: 1 Star
summary + 50 in 29.4s = 1.7/s Avg: 7 Min: 4 Max: 11 Err: 0 (0.00%) Active: 1 Star
summary = 56 in 33s = 1.7/s Avg: 12 Min: 4 Max: 294 Err: 0 (0.00%)
summary + 44 in 26s = 1.7/s Avg: 5 Min: 5 Max: 7 Err: 0 (0.00%) Active: 0 Star
summary = 100 in 59.4s = 1.7/s Avg: 9 Min: 4 Max: 294 Err: 0 (0.00%)
Tidying up ... @ Fri Apr 03 18:17:26 JST 2015 (1428052646994)
... end of run
コマンドラインで実行
jmeterコマンドを-nオプションで起動するとCLIモードになる。-tオプションで負荷テスト
シナリオを指定して実行する。
-lオプションで指定したファイルに負荷テストの結果が保存される。
Running
On
Command
Line
$ jmeter-server &
$ jmeter -n -t stress-test.jmx -R localhost -l stress-test.jtl
Creating summariser <summary>
Created the tree successfully using stress-test.jmx
Configuring remote engine for localhost
Using remote object: UnicastRef [liveRef: [endpoint:[10.48.138.59:63762](remote),objI
Starting remote engines
Starting the test @ Fri Apr 03 18:27:34 JST 2015 (1428053254765)
Remote engines have been started
Waiting for possible shutdown message on port 4445
summary + 50 in 29.4s = 1.7/s Avg: 7 Min: 4 Max: 11 Err: 0 (0.00%) Active: 1 Star
summary = 56 in 33s = 1.7/s Avg: 12 Min: 4 Max: 294 Err: 0 (0.00%)
summary + 44 in 26s = 1.7/s Avg: 5 Min: 5 Max: 7 Err: 0 (0.00%) Active: 0 Star
summary = 100 in 59.4s = 1.7/s Avg: 9 Min: 4 Max: 294 Err: 0 (0.00%)
Tidying up ... @ Fri Apr 03 18:17:26 JST 2015 (1428052646994)
... end of run
コマンドラインで実行(分散)
-Rオプションでjmeter-serverが起動したホストを指定すると分散実行される。
負荷テストの結果もマージして保存される。
Running
On
Command
Line
負荷テスト結果の閲覧
CUIで出力された負荷テストの結果(*.jtl)をGUIのリスナーで閲覧できる。
負荷テストの傾向などをパッと見たいときに。
JMeter
Maven
Plugin
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.10.1</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<testFilesDirectory>${project.build.testOutputDirectory}</testFilesDirectory>
<ignoreResultFailures>true</ignoreResultFailures>
<suppressJMeterOutput>false</suppressJMeterOutput>
<remoteConfig>
<startServersBeforeTests>true</startServersBeforeTests>
<serverList>${jmeter.servers}</serverList>
</remoteConfig>
</configuration>
</plugin>
JMeter
Maven
Plugin
<profile>
<id>stress-test</id>
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.10.1</version>
</plugin>
...
</plugins>
</build>
</profile>
負荷テスト用プロファイル
通常のビルドプロセスに組み込まないようにjmeter-maven-pluginはプロファイルに分離する
と使いやすい。
mvn clean verify -Pstress-test
JMeter
Maven
Plugin
<properties>
<jmeter.numberOfThreads>1</jmeter.numberOfThreads>
<jmeter.loopCount>1</jmeter.loopCount>
<jmeter.rampUpPeriod>60</jmeter.rampUpPeriod>
<jmeter.servers>localhost</jmeter.servers>
</properties>
負荷テスト環境用プロファイル
Maven実行時に値を調整できるようにプロパティ化すると便利。
$ mvn clean verify -Djmeter.numberOfThreads=100 -Djmeter.servers=10.0.0.41,10.0.0.42
JMeter
Maven
Plugin
$ mvn clean verify
...
[INFO] --- jmeter-maven-plugin:1.10.0:jmeter (default) @ sample-jmeter ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] P E R F O R M A N C E T E S T S
[INFO] -------------------------------------------------------
[info]
[info] Executing test: com.github.nagaseyasuhito.sample.jmeter.EchoEndpointST.jmx
[info] Creating summariser <summary>
[info] Created the tree successfully using /Users/nagaseyasuhito/Documents/workspace/
[info] Configuring remote engine for localhost
[info] Using remote object: UnicastRef [liveRef: [endpoint:[10.48.138.59:62076](remot
[info] Starting remote engines
[info] Starting the test @ Fri Apr 03 18:16:30 JST 2015 (1428052590810)
[info] Remote engines have been started
[info] Waiting for possible shutdown message on port 4446
[info] summary + 98 in 58.2s = 1.7/s Avg: 6 Min: 4 Max: 11 Err:
[info] summary = 100 in 59.4s = 1.7/s Avg: 7 Min: 4 Max: 146 Err:
[info] Tidying up remote @ Fri Apr 03 18:17:30 JST 2015 (1428052650888)
[info] Exitting remote servers
[info] ... end of run
[info] Completed Test: com.github.nagaseyasuhito.sample.jmeter.EchoEndpointST.jmx
[INFO]
[INFO] Test Results:
[INFO]
[INFO] Tests Run: 1, Failures: 0
Running
On
Jenkins
Performance Plugin
JMeterが出力する負荷テストの結果をJenkinsでプロットするプラグイン。Report filesに
**/*.jtl
のようにプロットする結果ファイルのパスを記述する。
Running
On
Jenkins
Performance Plugin
JMeterが出力する負荷テストの結果をJenkinsでプロットするプラグイン。Report filesに
**/*.jtl
のようにプロットする結果ファイルのパスを記述する。
Bug
And
Bottleneck
https://www.flickr.com/photos/mjhagen/2973212926
Scream by Mingo Hagen is licensed under CC BY 2.0 / Added some texts to original
他ユーザーのレスポンスが返ってくる
レスポンスが返ってこない
リソースは余っているのにレスポンスが遅い
リクエストが遅い
レスポンスが遅い
https://www.flickr.com/photos/dailym/6790546237
bottleneck by ferrie=differentieel & Jöran Maaswinkel DailyM.net is licensed under CC BY 2.0 / Added some texts to original
ボトルネックを探すぞ
Ganglia
Resource Monitoring
ボトルネックやスケールアウトの計画を立てるためにリソースのモニタリングは重要。
ロードアベレージ・CPU・メモリ・ディスクアクセス・スワップ・ネットワーク転送量・コネ
クション数・GC頻度・ヒープ使用率・スレッド数など気になるところは可視化しておく。
Zabbix、Munin、MRTG、Sensuなど。下記はGangliaの例。
Ganglia
jmxsh plugin
JXMの情報をGangliaで取得するためのプラグイン。下記のオプションを有効にする。
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8887
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Ganglia
jmxsh plugin
プラグインの設定ファイルに値を取得するホストの情報と、プロットする値を設定する。
metricの値の末尾に##diffを追加すると差分、##deltaを追加すると増分をプロットする。
Total Thread Countなどの積算値は増分をプロットすると見やすい。
modules {
module {
name = 'jmxsh'
language = 'python'
param host { value = 'localhost' }
param port { value = '8887' }
param name { value = 'jvm' }
param metric_group { value = 'jvm' }
param heap { value = 'java.lang:type=Memory HeapMemoryUsage' }
param total_started_thread_count {
value = 'java.lang:type=Threading TotalStartedThreadCount' }
}
}
collection_group {
collect_every = 15
time_threshold = 45
metric { name = 'jmx_jvm_heap' }
metric { name = ‘total_started_thread_count##delta’ }
}
Flight
Recorder
Mission Control
Flight Recorderで取得したJVMの統計情報を可視化するツール。
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
というオプションを付けてアプリケーションサーバーを起動し、jcmdコマンドで統計情報を取
得する。
# プロファイル開始
jcmd [プロセスID] JFR.start
# データのダンプ
jcmd [プロセスID] JFR.dump filename="[出力ファイル名]" recording=[レコードID]
https://www.flickr.com/photos/chidorian/106706292
Shogi by Ishikawa Ken is licensed under CC BY 2.0 / Added some texts to original
JPAの
スケールアウト
戦略
READが
頭打ち
https://www.flickr.com/photos/mjhagen/2973212926
Scream by Mingo Hagen is licensed under CC BY 2.0 / Added some texts to original
Master
Slave
Replication
Master-Slave Replication
更新系クエリ(INSERT / UPDATE / DELETE)はマスターへ発行し、検索系クエリ(SELECT)
はスレーブに発行することで負荷を分散させる。
スレーブは負荷に応じて複数台用意できる。
ReplicationINSERT
UPDATE
DELETE
Master Database Slave DatabaseApplication
SELECT
MySQL
Replication
Driver
MySQL ReplicationDriver
com.mysql.jdbc.ReplicationDriverというJDBCドライバを使う。
jdbc:mysql:replication://master,slave1,slave2…/database
java.sql.Connection#setReadOnly(true)した場合はスレーブのホストに発行される。
JPAの場合はentityManagerのunwrapメソッドでjava.sql.Connectionを取得する。
// for EclipseLink
entityManager.unwrap(Connection.class).setReadOnly(true);
// for Hibernate
entityManager.unwrap(SessionImplementor.class).connection().setReadOnly(true);
User user = entityManager.find(User.class, 1L);
WRITEも
頭打ち
https://www.flickr.com/photos/mjhagen/2973212926
Scream by Mingo Hagen is licensed under CC BY 2.0 / Added some texts to original
Partitioning
Partitioning
一定のルールに従ってクエリを発行するデータベースを分ける。IDの剰余などをキーにして振
り分けるのが一般的。
ジョインやソートができないのでアプリケーションの設計にも影響あり。
Master Database
Application
Master Database
ID:1,3,5,7...
ID:2,4,6,8...
EclipseLink
Partitioning
EclipseLink Partitioning
EclipseLinkにはパーティショニング(シャーディング)の機能があり、複数のデータベースにク
エリを振り分けられる。
@HashPartitioningの他に@ValuePartitioningや@RangePartitioningなど用途によって複数
のパーティショニング戦略が用意されている。
@Entity
@HashPartitioning(
name = "hashPartitioningById",
partitionColumn = @Column(name = "id"),
connectionPools = { "pool0", "pool1" },
unionUnpartitionableQueries = true)
@Partitioned("hashPartitioningById")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Integer id;
@Column(nullable = false, unique = true)
private String mailAddress;
}
EclipseLink
Partitioning
EclipseLink Partitioning
EclipseLinkにはパーティショニング(シャーディング)の機能があり、複数のデータベースにク
エリを振り分けられる。
HibernateはHibernate Shardsというサブプロジェクトがあるが最近はメンテナンスが止
まっている。
<persistence-unit name="freesia" transaction-type="JTA">
<jta-data-source>jdbc/freesia</jta-data-source>
<properties>
<property name="eclipselink.connection-pool.pool0.jtaDataSource"
value="jdbc/freesia0" />
<property name="eclipselink.connection-pool.pool1.jtaDataSource"
value="jdbc/freesia1" />
</properties>
</persistence-unit>
EclipseLink
Partitioning
EclipseLink Partitioning
where句にpartitioningColumnで指定したカラムがある場合。
FROM User u WHERE u.id = 1
Master Database
Application
Master Database
partitioningColumnをキーにして特
定のデータベースにクエリを発行する。
ID:1,3,5,7...
ID:2,4,6,8...
EclipseLink
Partitioning
EclipseLink Partitioning
where句にpartitioningColumnで指定したカラムがない場合。
FROM User u WHERE u.name = 'nagaseyasuhito'
Master Database
Application
Master Database
ID:1,3,5,7...
ID:2,4,6,8...
どのデータベースに対してもクエリが発
行されない。
EclipseLink
Partitioning
EclipseLink Partitioning
unionUnpartitionableQueriesにtrueを設定し、where句にpartitioningColumnで
指定したカラムがない場合。
FROM User u WHERE u.name = 'nagaseyasuhito'
Master Database
Application
Master Database
ID:1,3,5,7...
ID:2,4,6,8...
すべてのデータベースにクエリが発行さ
れ結果は結合される。
Master
Slave
Replication
Partitioning
Master-Slave Replication & Partitioning
もちろんこれらの合わせ技も可能。
Master Database
Application
Master Database
Replication
Slave Database
Replication
Slave Database
ID:1,3,5,7...
ID:2,4,6,8...
Conclusion
https://www.flickr.com/photos/ensh/3440275790
Heart of Light by Emmanuel Huybrechts is licensed under CC BY 2.0 / Added some texts to original
Conclusion
負荷テストの目的は
• システムの限界性能を知る
• 高負荷時の不具合を発見する
JPAのスケールアウト戦略は
• マスター/スレーブのレプリケーション
• パーティショニング
https://www.flickr.com/photos/ensh/3440275790
Heart of Light by Emmanuel Huybrechts is licensed under CC BY 2.0 / Added some texts to original

More Related Content

What's hot

Selenium webdriver使ってみようず
Selenium webdriver使ってみようずSelenium webdriver使ってみようず
Selenium webdriver使ってみようずOda Shinsuke
 
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発Yoshitaka Kawashima
 
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかJavaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかYoshitaka Kawashima
 
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Testreg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression TestKazuyuki Tsuzisaki
 
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々torutk
 
元気玉的 分散テスト 実行システム TestStreamer
元気玉的 分散テスト 実行システム TestStreamer元気玉的 分散テスト 実行システム TestStreamer
元気玉的 分散テスト 実行システム TestStreamerYoshitaka Kawashima
 
Mavenへのはじめの一歩
Mavenへのはじめの一歩Mavenへのはじめの一歩
Mavenへのはじめの一歩祐理 大野
 
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」Hiroaki NAKADA
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Java女子部
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜JustSystems Corporation
 
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術Y Watanabe
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回龍一 田中
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradlekimukou_26 Kimukou
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugYuji Kubota
 
Selenium 触ってみよう
Selenium 触ってみようSelenium 触ってみよう
Selenium 触ってみようOda Shinsuke
 
HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)Yasumasa Suenaga
 

What's hot (20)

Selenium webdriver使ってみようず
Selenium webdriver使ってみようずSelenium webdriver使ってみようず
Selenium webdriver使ってみようず
 
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
マイクロフレームワークEnkan(とKotowari)ではじめるREPL駆動開発
 
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのかJavaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
 
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Testreg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Test
 
CLRH_120414_WFTDD
CLRH_120414_WFTDDCLRH_120414_WFTDD
CLRH_120414_WFTDD
 
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
Jjug ccc 2016 spring i 5 javaデスクトッププログラムを云々
 
元気玉的 分散テスト 実行システム TestStreamer
元気玉的 分散テスト 実行システム TestStreamer元気玉的 分散テスト 実行システム TestStreamer
元気玉的 分散テスト 実行システム TestStreamer
 
Mavenへのはじめの一歩
Mavenへのはじめの一歩Mavenへのはじめの一歩
Mavenへのはじめの一歩
 
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」
 
Introduction to Spock
Introduction to SpockIntroduction to Spock
Introduction to Spock
 
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
Spring Bootでチャットツールを作りながらWebの仕組みを理解しよう!
 
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
Javaチョットデキルへの道〜JavaコアSDKに見る真似したいコード10選〜
 
テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術テストゼロからイチに進むための戦略と戦術
テストゼロからイチに進むための戦略と戦術
 
Tempest
TempestTempest
Tempest
 
Web技術勉強会 第31回
Web技術勉強会 第31回Web技術勉強会 第31回
Web技術勉強会 第31回
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradle
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjug
 
Heap statsfx analyzer
Heap statsfx analyzerHeap statsfx analyzer
Heap statsfx analyzer
 
Selenium 触ってみよう
Selenium 触ってみようSelenium 触ってみよう
Selenium 触ってみよう
 
HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)HeapStats(Java解析ツールバトル)
HeapStats(Java解析ツールバトル)
 

Viewers also liked

クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)Tsuyoshi Miyake
 
JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行Yoshitaka Kawashima
 
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。なおき きしだ
 
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyJava開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyYasuharu Nakano
 
おっぴろげJavaEE DevOps
おっぴろげJavaEE DevOpsおっぴろげJavaEE DevOps
おっぴろげJavaEE DevOpsTaiichilow Nagase
 
ジャバのはなし、JAVAのはなし、Javaのはなし
ジャバのはなし、JAVAのはなし、Javaのはなしジャバのはなし、JAVAのはなし、Javaのはなし
ジャバのはなし、JAVAのはなし、JavaのはなしYujiSoftware
 
サービスを成長させる為の開発について
サービスを成長させる為の開発についてサービスを成長させる為の開発について
サービスを成長させる為の開発についてtatsuya mazaki
 
20131209_buildinsidermeetup
20131209_buildinsidermeetup20131209_buildinsidermeetup
20131209_buildinsidermeetupkumake
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介bigt23
 
いままで使ってきた携帯電話
いままで使ってきた携帯電話いままで使ってきた携帯電話
いままで使ってきた携帯電話Ippei Ogiwara
 
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作Nobutaka Takushima
 
New Objective-C Features for Swift 2.0
New Objective-C Features for Swift 2.0New Objective-C Features for Swift 2.0
New Objective-C Features for Swift 2.0Goichi Hirakawa
 
2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdfYuichiro Maki
 
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合Ryuichi Kubuki
 
【登壇資料】人類総インターネット時代に20代を無駄にしないために
【登壇資料】人類総インターネット時代に20代を無駄にしないために【登壇資料】人類総インターネット時代に20代を無駄にしないために
【登壇資料】人類総インターネット時代に20代を無駄にしないためにJunichi Akagawa
 
Javaでマサカリ投げてみた
Javaでマサカリ投げてみたJavaでマサカリ投げてみた
Javaでマサカリ投げてみたYujiSoftware
 
Plannahプロジェクトの開発環境とdeploy gateの紹介
Plannahプロジェクトの開発環境とdeploy gateの紹介Plannahプロジェクトの開発環境とdeploy gateの紹介
Plannahプロジェクトの開発環境とdeploy gateの紹介Kenji Kinukawa
 

Viewers also liked (20)

クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
クラウド時代の Spring Framework (aka Spring Framework in Cloud Era)
 
JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行JobStreamerではじめるJavaBatchのクラウド分散実行
JobStreamerではじめるJavaBatchのクラウド分散実行
 
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
だれも教えてくれないJavaの世界。 あと、ぼくが会社員になったわけ。
 
Java開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovyJava開発の強力な相棒として今すぐ使えるGroovy
Java開発の強力な相棒として今すぐ使えるGroovy
 
おっぴろげJavaEE DevOps
おっぴろげJavaEE DevOpsおっぴろげJavaEE DevOps
おっぴろげJavaEE DevOps
 
ジャバのはなし、JAVAのはなし、Javaのはなし
ジャバのはなし、JAVAのはなし、Javaのはなしジャバのはなし、JAVAのはなし、Javaのはなし
ジャバのはなし、JAVAのはなし、Javaのはなし
 
サービスを成長させる為の開発について
サービスを成長させる為の開発についてサービスを成長させる為の開発について
サービスを成長させる為の開発について
 
20131209_buildinsidermeetup
20131209_buildinsidermeetup20131209_buildinsidermeetup
20131209_buildinsidermeetup
 
Hadoopの紹介
Hadoopの紹介Hadoopの紹介
Hadoopの紹介
 
Javaone報告会
Javaone報告会Javaone報告会
Javaone報告会
 
いままで使ってきた携帯電話
いままで使ってきた携帯電話いままで使ってきた携帯電話
いままで使ってきた携帯電話
 
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
CEDEC 2013 - 徹底的にチューンしたハイブリッドアプリ「D.O.T. Defender of Texel」の制作
 
New Objective-C Features for Swift 2.0
New Objective-C Features for Swift 2.0New Objective-C Features for Swift 2.0
New Objective-C Features for Swift 2.0
 
2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf2014.11.12 ibm bluemix pdf
2014.11.12 ibm bluemix pdf
 
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
Cocos2d-xの深層〜Cocos2d-x組み込みによるピュアAndroid/iOSアプリの外科手術的統合
 
【登壇資料】人類総インターネット時代に20代を無駄にしないために
【登壇資料】人類総インターネット時代に20代を無駄にしないために【登壇資料】人類総インターネット時代に20代を無駄にしないために
【登壇資料】人類総インターネット時代に20代を無駄にしないために
 
Cross2013_DeNA
Cross2013_DeNACross2013_DeNA
Cross2013_DeNA
 
PHP at Yahoo! JAPAN
PHP at Yahoo! JAPANPHP at Yahoo! JAPAN
PHP at Yahoo! JAPAN
 
Javaでマサカリ投げてみた
Javaでマサカリ投げてみたJavaでマサカリ投げてみた
Javaでマサカリ投げてみた
 
Plannahプロジェクトの開発環境とdeploy gateの紹介
Plannahプロジェクトの開発環境とdeploy gateの紹介Plannahプロジェクトの開発環境とdeploy gateの紹介
Plannahプロジェクトの開発環境とdeploy gateの紹介
 

Similar to 大規模な負荷でもドキドキしない為のJava EE

あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)Takuya Tsuchida
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月VirtualTech Japan Inc.
 
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話関西Php勉強会のlimeの話
関西Php勉強会のlimeの話Hisateru Tanaka
 
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3Tomoyuki Sato
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめhakoika-itwg
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストSeiji KOMATSU
 
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTYuji Kubota
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについてtako pons
 
Maven2 プラグイン入門
Maven2 プラグイン入門Maven2 プラグイン入門
Maven2 プラグイン入門guestd4898b
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較y-uti
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングYosuke Mizutani
 
datetime.datetime.now()をモックしたい.pdf
datetime.datetime.now()をモックしたい.pdfdatetime.datetime.now()をモックしたい.pdf
datetime.datetime.now()をモックしたい.pdfYutaNemoto1
 
OpenStack on OpenStack with CI
OpenStack on OpenStack with CIOpenStack on OpenStack with CI
OpenStack on OpenStack with CIkanabuchi
 
Tokyor14 - R言語でユニットテスト
Tokyor14 - R言語でユニットテストTokyor14 - R言語でユニットテスト
Tokyor14 - R言語でユニットテストYohei Sato
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)Mr. Vengineer
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試したy-uti
 
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)JPCERT Coordination Center
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニングKensuke Nagae
 
C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?Shinichi Hirauchi
 

Similar to 大規模な負荷でもドキドキしない為のJava EE (20)

あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)あんなテスト、こんなテスト(this and that about testing)
あんなテスト、こんなテスト(this and that about testing)
 
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
GMOインターネットにおけるOpenStack Swiftのサービス化とその利用事例のご紹介 - OpenStack最新情報セミナー 2015年2月
 
関西Php勉強会のlimeの話
関西Php勉強会のlimeの話関西Php勉強会のlimeの話
関西Php勉強会のlimeの話
 
ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3ありえるえりあ勉強会@五反田~テスト編~ Part3
ありえるえりあ勉強会@五反田~テスト編~ Part3
 
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
 
はこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テストはこだてIKA 第4回勉強会 単体テスト
はこだてIKA 第4回勉強会 単体テスト
 
HeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LTHeapStats @ Seasar Conference 2015 LT
HeapStats @ Seasar Conference 2015 LT
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 
Maven2 プラグイン入門
Maven2 プラグイン入門Maven2 プラグイン入門
Maven2 プラグイン入門
 
各言語の k-means 比較
各言語の k-means 比較各言語の k-means 比較
各言語の k-means 比較
 
アドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニングアドテク×Scala×パフォーマンスチューニング
アドテク×Scala×パフォーマンスチューニング
 
Spock's world
Spock's worldSpock's world
Spock's world
 
datetime.datetime.now()をモックしたい.pdf
datetime.datetime.now()をモックしたい.pdfdatetime.datetime.now()をモックしたい.pdf
datetime.datetime.now()をモックしたい.pdf
 
OpenStack on OpenStack with CI
OpenStack on OpenStack with CIOpenStack on OpenStack with CI
OpenStack on OpenStack with CI
 
Tokyor14 - R言語でユニットテスト
Tokyor14 - R言語でユニットテストTokyor14 - R言語でユニットテスト
Tokyor14 - R言語でユニットテスト
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
 
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
Apache ActiveMQにおける認証処理不備の脆弱性(AMQ-1272)
 
Maatkit で MySQL チューニング
Maatkit で MySQL チューニングMaatkit で MySQL チューニング
Maatkit で MySQL チューニング
 
C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
 

Recently uploaded

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (9)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

大規模な負荷でもドキドキしない為のJava EE