SlideShare a Scribd company logo
1 of 136
Download to read offline
2018/6/30
•
•
–
–
– Javadoc
–
• Player
–
( )
• Eclipse
• Java SDK
1.
HP
2.
3.
4. aiwolf-ver0.4.X
JavaDoc DL)
5. aiwolf-ver0.4.X
http://aiwolf.org
1.
HP
2.
3.
4. aiwolf-ver0.4.X
JavaDoc DL)
5. aiwolf-ver0.4.X
http://aiwolf.org
1.
HP
2.
3.
4. aiwolf-ver0.4.X
JavaDoc DL)
5. aiwolf-ver0.4.X.zip
AIWolf-ver0.4.X.zip
AIWolf-ver0.4.X
• JAR
aiwolf-client.jar , aiwolf-common.jar
• ( )
• ( )
• AutoStarter
(AutoStarter.ini, SampleSetting.cfg)
Eclipse
Eclise
Java
1.
2. ( +Agent)
DemoAgent Agent
3.
1. DemoAgent
2.
lib
lib jar
1. AIWolf-ver0.4.X.zip
– aiwolf-client.jar
– aiwolf-commn.jar
2. lib
3. JavaDoc
lib jar
JAR
• aiwolf-client.jar
• aiwolf-common.jar
(1)
( :DemoAgent)
2
JAR
1.
2. JAR
3
jar
1. lib jar
2. OK
JavaDoc
• JavaDoc API
• Eclipse
Javadoc (1)
1. aiwolf-client.jar
2. Javadoc
3.
Javadoc 2/3
1. Javadoc
2.
3. : DemoAgent/lib/docs.zip
4. : docs
5.
Javadoc 3/3
•
OK
• aiwolf-common.jar Javadoc
1. AbstractRoleAssignPlayer
2.
3. Player
4. RoleAssignPlayer Player
1. AbstractRoleAssignPlayer
2.
3. Player
4. RoleAssignPlayer Player
1/2
DemoAgent src
2/2
demo@aiwolf.org → org.aiwolf.demo
1. ( :org.aiwolf.demo)
2.
org.aiwolf.sample.lib AbstractRoleAssignPlayer
org.aiwolf.client.base.player
ARAP
: DemoRoleAssignPlayer
• 1
jar Java
jar
1. ( :DemoAgent)
2.
JAR
JAVA JAR
JAR
• AIWolf-ver0.4.X
–
• JAR demoAgent.jar
• AIWolf-ver0.4.X
AutoStarter.ini
• Sample1 Sample2
WEREWOLF SEER
• Sample5
#
•
lib=./
log=./log/
port=10000
game=10
view=true
setting=./SampleSetting.cfg
#agent=5
Sample1,org.aiwolf.sample.player.SampleRoleAssignPlayer
Sample2,org.aiwolf.sample.player.SampleRoleAssignPlayer
Sample3,org.aiwolf.sample.player.SampleRoleAssignPlayer
Sample4,org.aiwolf.sample.player.SampleRoleAssignPlayer
#Sample5,org.aiwolf.sample.player.SampleRoleAssignPlayer
Demo,org.aiwolf.demo.DemoRoleAssignPlayer
[ Demo ],[ ].[ ]
• AIWolf-ver0.4.X
– Windows :AutoStarter.bat
– Mac/Linux : AutoStarter.sh
•
% bash Autostarter.sh
Next:
Auto:
Ski ALL:
1. AbstractRoleAssignPlayer
2.
3. Player
4. RoleAssignPlayer Player
RoleAssignPlayer
DemoRole
AssignPlayer
1.
2.
DemoSeer
3.
4. AbstractSeer
OK
5.
1.
2.
DemoSeer
3.
4. AbstractSeer
OK
5.
RoleAssignPlayer
• RoleAssignPlayer
(DemoRoleAssignPlayer )
–
DemoSeer
–
public DemoRoleAssignPlayer(){
setSeerPlayer(new DemoSeer());
}
•
– setBodyguardPlayer(bodyGuardPlayer)
•
– setMediumPlayer(mediumPlayer)
•
– setPossessedPlayer(possesedPlayer)
•
– setVillagerPlayer(villagerPlayer)
•
– setWerewolfPlayer(werewolfPlayer)
• JAR AutoStarter
OK
• DemoSeer
GameInfo
(talk,vote )
GameInfo
(talk,vote )
CO
CO
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
/** */
Agent me;
/** */
GameInfo currentGameInfo;
/** */
Deque<Judge> myDivinationQueue = new LinkedList<>();
/** ( ) */
List<Agent> whiteList = new ArrayList<>();
/** ( ) */
List<Agent> blackList = new ArrayList<>();
/** */
List<Agent> grayList;
/** */
boolean saidCO = false;
/** */
int talkListHead;
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
public String getName() {
return "DemoSeer";
}
public void update(GameInfo gameInfo) {
// currentGameInfo
currentGameInfo = gameInfo;
}
Seer
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
public void initialize(GameInfo gameInfo,
GameSetting gameSetting) {
//
me = gameInfo.getAgent(); //GameInfo
grayList = new ArrayList<>(gameInfo.getAgentList());
grayList.remove(me);
whiteList.clear();
blackList.clear();
myDivinationQueue.clear();
}
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
(GameInfo)
public void dayStart() {
// GameInfo
Judge divination = currentGameInfo.getDivineResult();
if (divination != null) {
myDivinationQueue.offer(divination);
// ( )
Agent target = divination.getTarget();
Species result = divination.getResult();
//
grayList.remove(target);
if (result == Species.HUMAN) {
whiteList.add(target); // ( )
} else {
blackList.add(target); // ( )
}
}
//
talkListHead = 0;
}
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
1.
2.
/** */
boolean isAlive(Agent agent) {
return currentGameInfo.getAliveAgentList().contains(agent);
}
/** */
<T> T randomSelect(List<T> list) {
if (list.isEmpty()) {
return null;
} else {
return list.get((int) (Math.random() * list.size()));
}
}
(vote) (1/2)
public Agent vote() { //
//
List<Agent> candidates = new ArrayList<>();
//
for (Agent agent : blackList) {
if (isAlive(agent)) { //
candidates.add(agent); //
}
}
//
if (candidates.isEmpty()) {
for (Agent agent : grayList) {
if (isAlive(agent)) {
candidates.add(agent);
}
}
}
(vote) (2/2)
// null
if (candidates.isEmpty()) {
return null;
}
//
return randomSelect(candidates);
}
vote()
public Agent vote() {
//
List<Agent> candidates = new ArrayList<>();
//
for (Agent agent : blackList) {
if (isAlive(agent)) {
candidates.add(agent);
}
}
//
if (candidates.isEmpty()) {
for (Agent agent : grayList) {
if (isAlive(agent)) {
candidates.add(agent);
}
}
}
// null
if (candidates.isEmpty()) {
return null;
}
//
return randomSelect(candidates);
}
divine()
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
public Agent divine() {
//
List<Agent> candidates = new ArrayList<>();
//
for (Agent agent : grayList) {
if (isAlive(agent)) {
candidates.add(agent);
}
}
//
if (candidates.isEmpty()) {
return null;
}
//
return randomSelect(candidates);
}
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
//
Judge judge = getLatestDayGameInfo().getDivineResult();
//
ContentBuilder builder = new
DivinedResultContentBuilder(judge.getTarget(), judge.getResult();
String talk = new Content(builder).getText();
ContentBuilder
DivinedResultContentBuilder
(talk())
1.
2.
NO
YES
CO
CO
NO
YES
talk() CO
public String talk() {
//
if (!saidCO) { // CO
//
if (!myDivinationQueue.isEmpty() &&
myDivinationQueue.peekLast().getResult() == Species.WEREWOLF) {
saidCO = true;
ContentBuilder builder = new ComingoutContentBuilder(me,
Role.SEER);
return new Content(builder).getText();
}
}
CO
talk()
//
else {
if (!myDivinationQueue.isEmpty()) {
Judge divination = myDivinationQueue.poll();
ContentBuilder builder = new
DivinedResultContentBuilder(divination.getTarget(),
divination.getResult());
return new Content(builder).getText();
} //
}
return Content.OVER.getText();
}
talk()
public String talk() {
//
if (!saidCO) {
if (!myDivinationQueue.isEmpty() && myDivinationQueue.peekLast().getResult() == Species.WEREWOLF) {
saidCO = true;
ContentBuilder builder = new ComingoutContentBuilder(me, Role.SEER);
return new Content(builder).getText();
}
} else {//
if (!myDivinationQueue.isEmpty()) {
Judge divination = myDivinationQueue.poll();
ContentBuilder builder = new DivinedResultContentBuilder(divination.getTarget(), divination.getResult());
return new Content(builder).getText();
}
}
return Content.OVER.getText(); //
}
• GameInfo
– GameInfo.getTalkList() List<Talk>
• Talk
– getAgent() Agent ID
– getText() String
•
– “DIVINED Agent[04] HUMAN” (Agent[04] )
– getDay() int
– getIdx() int
– getTurn()
int
Talk.getText()
“DIVINED Agent[04] HUMAN”
Content
(parse)
//Content (String)
parse
Talk talk = currentGameInfo.getTalkList().get(i);
Content content = new Content(talk.getText());
update() (1)
/** update
*/
public void update(GameInfo gameInfo) {
currentGameInfo = gameInfo;
// GameInfo.talkList
for (int i = talkListHead;
i < currentGameInfo.getTalkList().size(); i++) {
Talk talk = currentGameInfo.getTalkList().get(i);
Agent talker = talk.getAgent();
if (talker == me) { //
continue;
}
Content content = new Content(talk.getText()); // parse
update() (2)
switch (content.getTopic()) {
case COMINGOUT:
//
break;
case DIVINED:
//
break;
case IDENTIFIED:
//
break;
default:
break;
}
}
talkListHead = currentGameInfo.getTalkList().size();
}
update() ( )
public void update(GameInfo gameInfo) {
currentGameInfo = gameInfo;
// GameInfo.talkList
for (int i = talkListHead; i < currentGameInfo.getTalkList().size(); i++) {
Talk talk = currentGameInfo.getTalkList().get(i);
Agent talker = talk.getAgent();
if (talker == me) {
continue;
}
Content content = new Content(talk.getText()); // parse
switch (content.getTopic()) {
case COMINGOUT: //
break;
case DIVINED: //
break;
case IDENTIFIED: //
break;
default:
break;
}
}
talkListHead = currentGameInfo.getTalkList().size();
}
Content
String getText()
Operator getOperator() null
Agent getSubject()
Topic getTopic() COMINGOUT DIVINED
Agent getTarget() ”DIVINED Agent[01]
HUMAN” → Agent[01]
Role getRole() ”COMINGOUT Agent[02] SEER”
→ SEER
Species getResult() ( ) ”IDENTIFIED Agent[03] WEREWOLF”
→ WEREWOLF
TalkType getTalkType() Topic AGREE/DISAGREE TALK/WHISPER
int getTalkDay() Topic AGREE/DISAGREE
int getTalkID() Topic AGREE/DISAGREE ID
List<Content> getContentList()
/** */
Map<Agent, Role> comingoutMap = new HashMap<>(); // initialize() comingoutMap.clear();
public void update(GameInfo gameInfo) {
currentGameInfo = gameInfo;
// GameInfo.talkList
for (int i = talkListHead; i < currentGameInfo.getTalkList().size(); i++) {
Talk talk = currentGameInfo.getTalkList().get(i);
Agent talker = talk.getAgent();
if (talker == me) {
continue;
}
Content content = new Content(talk.getText()); // parse
switch (content.getTopic()) {
case COMINGOUT:
//
comingoutMap.put(talker, content.getRole());
break;
case DIVINED: //
break;
case IDENTIFIED: //
break;
default:
break;
}
}
talkListHead = currentGameInfo.getTalkList().size();
}
Map
•
–
–
initialize
divine
whisper
guard
attack
talk
vote
finish
1
dayStart
whisper
divine
YES
NO
NO
YES
vote
Player
Player
•
• update getName, initialize
n initialize(GameInfo, GameSetting)
n update(GameInfo) n getName()
n dayStart() n talk()
n whisper() n vote()
n attack() n divine()
n guard() n finish()
Player
• initialize(GameInfo)
–
–
GameInfo
• update(GameInfo)
–
–
GameInfo
• dayStart()
–
• finish()
–
Player
• vote()
–
• attack()
–
–
• divine()
–
–
• guard()
–
–
1
Agent
Player
• talk()
–
–
• whisper()
–
–
String
• void
• String
• Agent
ninitialize(GameInfo, GameSetting)
nupdate(GameInfo)
ndayStart()
nfinish()
nvote() nattack() ndivine() nguard()
ngetName() ntalk() nwhisper()
GameInfo
Agent getAgent()
List<Agent> getAgentList()
List<Agent> getAliveAgentList()
int getDay()
Agent getExecutedAgent()
List<Role> getExistingRoles()
List<Agent> getLastDeadAgentList()
Agent getLatestExecutedAgent() ( )
List<Vote> getLatestVoteList()
Role getRole()
Map<Agent, Status> getStatusMap()
List<Talk> getTalkList()
List<Vote> getVoteList()
Agent getAttackedAgent()
List<Vote> getAttackedVote()
List<Vote> getLatestAttackedVote()
Map<Agent,Role> getRoleMap()
List<Talk> getWhisperList()
null
List<Agent> getDivineResult()
List<Agent> getGuardedAgent()
List<Agent> getMediumResult()
null
null
null
talk, whisper
org.aiwolf.client.lib.Content
org.aiwolf.client.lib.ContentBuilder
text
ContentBuilder builder = ContentBuilder;
Content content = new Content(builder);
String text = content.getText();
ContentBuilder (1)
1. EstimateContentBuilder(target, role): target role
2. ComingoutContentBuilder (target, role) : target role
3. DivinationContentBuilder(target) : target
4. DivinedResultContentBuilder(target, result) : target result
5. IdentContentBuilder(target, result) : target result
6. GuardCandidateContentBuilder(target) : target
7. GuardedAgentContentBuilder(target) : target
8. VoteContentBuilder(target) : target
9. AttackContentBuilder(target) : target
10. AgreeContentBuilder(talkType, talkDay, talkID) : talkDay
talkType talkID
ContentBuilder (2)
11. DisagreeContentBuilder(talkType, talkDay, talkID) : talkDay
talkType talkID
12. RequestContentBuilder(agent, content) : agent content
13. OverContentBuilder() :
Content.OVER
OVER = new Content(new OverContentBuilder());
14. SkipContentBuilder() :
Content.SKIP
SKIP = new Content(new SkipContentBuilder());
aiwolf-ver0.4.4.zip 1
0.4.4 2 .pdf
•
–
•
•
–
• 9
•
(Villager)
•
–
•
–
–
•
– Map
–
•
– Map
–
:
import
// Java
import java.util.ArrayList;
import java.util.Deque;
import java.util.HashMap;
import java.util.LinedList;
import java.util.List; // ArrayList
import java.util.Map;
//
import org.aiwolf.client.lib.*; // “*”
import org.aiwolf.common.data.*; //
import org.aiwolf.common.net.*;
//
List<Judge> divitionList = new ArrayList<>();
public void update(GameInfo gameInfo) {
.....( ).....
for(int i = talkListHead; i < gameInfo.getTalkList().size(); i++){
Talk talk = gameInfo.getTalkList().get(i);
Agent talker = talk.getAgent();
.....( ).....
Content content = new Content(talk.getText());
switch(content.getTopic()) {
case DIVINED:
Judge j = new Judge(day,talker,content.getTarget(),content.getResult())
divinationList.add(j);
break;
.....( ).....
}
.....( ).....
}
.....( ).....
}
(Werewolf)
•
–
• CO
– CO
• CO
:
//
public void update() {
.....( ).....
for(Judge j : divitionList){ // for
Agent agent = j.getAgent();
Agent target = j.getTarget();
//
if (!werewolves.contains(agent) &&
((humans.contains(target) && j.getResult() == Species.WEREWOLF) ||
(werewolves.contains(target) && j.getResult() == Species.HUMAN))) {
if(!possessedList.contains(agent)) { //
possessedList.add(agent);
whisperQueue.offer(new Content(new EstimateContantBuilder(agent,
Role.POSSESSED))); //
}
}
}
.....( ).....
}
(Possessed)
• CO
–
• CO
– CO
– or
•
•
•
int numWolves = gameSetting.getRoleNumMap().get(Role.WEREWOLF);
:
CO
//
Role fakeRole = null;
int comingOutDay = -1;
int comingOutTurn = -1;
public void initialize(GameInfo gameInfo, GameSetting gameSetting) {
.....( ).....
List<Role> roles = new ArrayList<>(); // CO
for(Role r : Array.asList(Role.VILLAGER, Role.SEER, Role.MEDIUM)){
if(gameInfo.getExistingRoles().contains(r)){ //
roles.add(r);
}
}
fakeRole = randomSelect(roles) // ( )
comingOutDay = (int)(Math.random()*2+1); // 1 2 CO
comingOutTurn = (int)(Math.random()*5); // CO
.....( ).....
}
(Seer)
• CO
– CO
• CO
– CO CO
– CO
:
(Bodyguard)
•
•
–
•
•
–
•
–
–
:
(Medium)
•
•
–
:
//
protected <T> randomSelect(List<T> list) {
if (list.isEmpty()) {
return null;
} else {
return list.get((int)(Math.random() * list.size());
}
}
//
protected boolean isAlive(Agent agent){
return currentGameInfo.getStatusMap.get(agent) == Status.ALIVE;
}
• 20170624 :
– 0527 @
–
–
– Java
• 20170406 :
(C)Ghost inTheShell President Jomeson
Java
•
class
l
l
l
n
n
class
l
l
l
n
n
( )
•
–
•
•
–
»
»
–
»
–
•
•
•
–
–
•
•
•
–
•
–
–
•
GUI
GUI
•
– Windows : StartServer.bat
– Mac/Linux : StartSerber.sh
• Num of players 5
• Connect
(1/3)
•
– Windows :StartGuiClient.bat
– Mac/Linux : StartGuiClient.sh
(2/3)
• jar aiwolf-client.jar JarFiles
(3/3)
• Jar
• Connect Agent
• Role
• 1
SampleRoleAssignPlayer 4 Connect
• Server Starter Start Game
ServerStarter
•
(Villager)
(Reinforcement Learning)
•
•
http://spider.art.coocan.jp/biology2/behavior2012.htm
(1/2)
• s a
– π
a Q
(2/2)
• (s, a)
t + 1 st+1
r (s, a) r
– Q(s,a) ← Q(s,a) + α[r + γ max Q(st+1,p)- Q(s,a)] α
– π(s,a): , ε- , soft max,
•
– MDP:
– POMDP:
…
• S
–
– CO
–
– ( )
• A
–
–
–
• R
–
–
–
BBS
JAVA
•
–
–
–
•
package org.aiwolf.common.util;
(org/aiwolf/common/util/)
•
import org.aiwolf.common.util.*;
import org.aiwolf.common.util.Sorter.java;
*
•
– public:
– protected:
– :
– private:
– {}
• static
–
• AiWolfCommon/src/org/aiwolf/common/util/
– Counter.java
– Sorter.java
– BidiMap.java
• Java
–
–
– ( )
•
public class ArrayList<E> extends AbstractLink<E> … {
…
public <T> T[] toArray(T[] a) { … }
….
}
• List<Object>
• ArrayList<Object>
• LinkedList<Object>: FIFO
• Map<Key, Value>
• LinkedHashMap<Key, Value>
• TreeMap<Key, Value>
• BidiMap<Key, Value>: Key Value
Map
• Counter<V> : V
for
List<Objet> list;
• :
for(int i = 0; i < MAX; i++) {
Object obj = list[i]; // list.get(i);
System.out.println(obj);
}
• :
for(Iterator<Object> it = list.iterator(); it.hasNext(); ){
Object obj = it.next();
System.out.println();
}
• for (for-each ):
For(Object obj: list) {
System.out.println(obj);
}
•
– Object obj = new Object();
• :String
– Object obj = (Object)Class.forName(
:String).newInstance();
JavaDoc
@Override
–
@Deprecated
–
@SuppressWarning
–
----------------------------------------------------------------------
public class FileCopy(){
private String f1;
private String f2;
public void main( String[] args ) throws Exception{
FileCopy a = new FileCopy();
a.f1 = new File( args[0] );
a.f2 = new File( args[1] );
a.run( 1024 );}
private void run( int i ) throws Exception{
FileInputStream s1 = new FileInputStream( f1 );
FileOutputStream s2 = new FileOutputStream( f2 );
byte[] b = new byte[i];
Int j;
while( (j=s1.read(b))>0) s2.write( b,0,j);
s1.close();
s2.close();
}}
•
–
–
•
–
• static s_*, m_*, a_*
–
•
java.io.*;
•
–
class Sample {}
–
•
–
–
int getParameter() {}
void setParameter(int value) {}
–
– Boolean True/False
boolean isSampleClass() {} Boolean hasStock() {}
–
Int num= 0;
void setParameter(int num){
this.num= num;
}
•
– boolen true/false
boolean hasTree;
boolean isMan;
– static final
static final int NUM_TRIAL;
–
–

More Related Content

What's hot

Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Yuichi Sakuraba
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService PrincipalToru Makabe
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
全自動Zabbix ver2
全自動Zabbix ver2全自動Zabbix ver2
全自動Zabbix ver2真乙 九龍
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用Kosuke Kida
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡NTT Communications Technology Development
 
AWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツールAWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツールMasaki Suzuki
 
Azure Service Fabric 概要
Azure Service Fabric 概要Azure Service Fabric 概要
Azure Service Fabric 概要Daiyu Hatakeyama
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法NGINX, Inc.
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)NTT DATA Technology & Innovation
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?naoki koyama
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdfTilton2
 
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送Google Cloud Platform - Japan
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?Teppei Sato
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンAkihiko Horiuchi
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)fisuda
 
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流についてAzureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について真吾 吉田
 
マイクロサービスと Red Hat Integration
マイクロサービスと Red Hat Integrationマイクロサービスと Red Hat Integration
マイクロサービスと Red Hat IntegrationKenta Kosugi
 

What's hot (20)

Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド - Project Loom - 限定継続と軽量スレッド -
Project Loom - 限定継続と軽量スレッド -
 
3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal3分でわかるAzureでのService Principal
3分でわかるAzureでのService Principal
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
全自動Zabbix ver2
全自動Zabbix ver2全自動Zabbix ver2
全自動Zabbix ver2
 
[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用[Postgre sql9.4新機能]レプリケーション・スロットの活用
[Postgre sql9.4新機能]レプリケーション・スロットの活用
 
イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡イケてない開発チームがイケてる開発を始めようとする軌跡
イケてない開発チームがイケてる開発を始めようとする軌跡
 
AWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツールAWS Lambdaのテストで役立つ各種ツール
AWS Lambdaのテストで役立つ各種ツール
 
Azure Service Fabric 概要
Azure Service Fabric 概要Azure Service Fabric 概要
Azure Service Fabric 概要
 
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
入門Ansible
入門Ansible入門Ansible
入門Ansible
 
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
[Cloud OnAir] Google Cloud へのマイグレーション ツールの紹介 2020年11月26日 放送
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
 
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホンGoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 3.4.0対応)
 
Azureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流についてAzureをフル活用したサーバーレスの潮流について
Azureをフル活用したサーバーレスの潮流について
 
マイクロサービスと Red Hat Integration
マイクロサービスと Red Hat Integrationマイクロサービスと Red Hat Integration
マイクロサービスと Red Hat Integration
 
Amazon GameLift FlexMatch
Amazon GameLift FlexMatchAmazon GameLift FlexMatch
Amazon GameLift FlexMatch
 

Similar to Aiwolf seminar20180630

AIWolf programming guide
AIWolf programming guideAIWolf programming guide
AIWolf programming guideHirotaka Osawa
 
I am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdfI am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdfseamusschwaabl99557
 
Geeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensionserwanl
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Tsuyoshi Yamamoto
 
Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Tsuyoshi Yamamoto
 
Basic java, java collection Framework and Date Time API
Basic java, java collection Framework and Date Time APIBasic java, java collection Framework and Date Time API
Basic java, java collection Framework and Date Time APIjagriti srivastava
 
Softshake - Offline applications
Softshake - Offline applicationsSoftshake - Offline applications
Softshake - Offline applicationsjeromevdl
 
Pick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruitPick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruitVaclav Pech
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Robert Stern
 
Codestrong 2012 breakout session hacking titanium
Codestrong 2012 breakout session   hacking titaniumCodestrong 2012 breakout session   hacking titanium
Codestrong 2012 breakout session hacking titaniumAxway Appcelerator
 
GPars For Beginners
GPars For BeginnersGPars For Beginners
GPars For BeginnersMatt Passell
 
appengine java night #1
appengine java night #1appengine java night #1
appengine java night #1Shinichi Ogawa
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?Ben Hall
 
こわくないよ❤️ Playframeworkソースコードリーディング入門
こわくないよ❤️ Playframeworkソースコードリーディング入門こわくないよ❤️ Playframeworkソースコードリーディング入門
こわくないよ❤️ Playframeworkソースコードリーディング入門tanacasino
 
Working With JQuery Part1
Working With JQuery Part1Working With JQuery Part1
Working With JQuery Part1saydin_soft
 
Python-GTK
Python-GTKPython-GTK
Python-GTKYuren Ju
 

Similar to Aiwolf seminar20180630 (20)

AIWolf programming guide
AIWolf programming guideAIWolf programming guide
AIWolf programming guide
 
I am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdfI am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdf
 
Geeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes - Le langage Go
Geeks Anonymes - Le langage Go
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
 
Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察
 
Basic java, java collection Framework and Date Time API
Basic java, java collection Framework and Date Time APIBasic java, java collection Framework and Date Time API
Basic java, java collection Framework and Date Time API
 
Softshake - Offline applications
Softshake - Offline applicationsSoftshake - Offline applications
Softshake - Offline applications
 
Pick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruitPick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruit
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1
 
C Programming Project
C Programming ProjectC Programming Project
C Programming Project
 
Codestrong 2012 breakout session hacking titanium
Codestrong 2012 breakout session   hacking titaniumCodestrong 2012 breakout session   hacking titanium
Codestrong 2012 breakout session hacking titanium
 
GPars For Beginners
GPars For BeginnersGPars For Beginners
GPars For Beginners
 
appengine java night #1
appengine java night #1appengine java night #1
appengine java night #1
 
Sbaw091006
Sbaw091006Sbaw091006
Sbaw091006
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
 
Dartprogramming
DartprogrammingDartprogramming
Dartprogramming
 
こわくないよ❤️ Playframeworkソースコードリーディング入門
こわくないよ❤️ Playframeworkソースコードリーディング入門こわくないよ❤️ Playframeworkソースコードリーディング入門
こわくないよ❤️ Playframeworkソースコードリーディング入門
 
Working With JQuery Part1
Working With JQuery Part1Working With JQuery Part1
Working With JQuery Part1
 
Python-GTK
Python-GTKPython-GTK
Python-GTK
 

Recently uploaded

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

Aiwolf seminar20180630