SlideShare una empresa de Scribd logo
1 de 69
CODEVS 勉強会
CODEVS 入門編 〜 はじめてのAI 〜
チームラボ 林 輝大
自己紹介
自己紹介
氏名:林 輝大
出身:長野県(長野高専専攻科卒)
職歴:チームラボ新卒4年目
役職:エンジニア
レコメンデーションチーム(パッケージ導入 / 分析)
CODEVS / CodeRunner のチームラボ内プロジェクトマネージメント
はじめに
この勉強会を楽しむための諸注意
初心者向けのAI作成指南コンテンツ
既に経験のある方は裏でAI作ったり、バトルしまくってもらって構いません
演説者(林)は、AI作成初心者であることを理解する
この勉強会を行うために勉強しました
AI作成の心得がない立場で、詳しい方々にアドバイスを貰った内容をまとめてます
下記のコンパイルおよび実行環境があること
Java または C / C++(無くても勉強会参加には問題ありません!)
本日の流れ
本日の流れ
CODEVSとは?
AI作成指南
(基礎知識編)
CODEVS参加方法
AI作成指南
(実践編)
CODEVSとは?
CODEVSとは?
ゲームAIの強さを競う
プログラミングコンテスト
リクルート様と共催
登録者数1,000人
年1回開催の長期間コンテスト
予選:1ヶ月
決勝:予選終了1週間後、
オンサイトで1日開催
コンテストの題材はゲーム!
CODEVS 3.0 爆弾ゲーム CODEVS 4.0 戦略ゲーム
CODEVSとは?
CODEVSに参加してみよう!
その前に…
現在コンテストは開催しておりません
次のコンテスト(CODEVS 5.0)は来年頭を予定しています
過去のコンテストのゲームで遊んだり、対戦は出来ます
CODEVS 3.0、CODEVS 4.0のみ
CODEVS、CODEVS 2.0 のゲームの復刻は現在検討中
今回の勉強会はCODEVS 3.0で説明しやすいから
ルールが理解しやすいから(ボンバーマンと聞いてルールが想像できますか?)
CODEVSに参加するには…
AI作るの難しそう
だなぁ…
そこのあなた
※初心者前提です
CODEVSに参加するには…
※初心者前提です
/ドヤァ…\
AIの
サンプルコード
あるよ。
そこのあなた CODEVS
運営事務局
素敵!
CODEVSに参加するには…(補足)
CODEVSは毎回AIのサンプルコードを用意しています
言語は下記の通り
Java
C / C++
コンテストが開催されたら、まずはサンプルコードを探してみてください
CODEVS 公式サイト
https://codevs.jp/
善は急げ
早速サンプルコードを落としてみましょう!
公式サイトにアクセス!(https://codevs.jp/)
ログイン > アーカイブ > CODE VS 4.0 開催ゲーム
ここ!
一緒にやってみましょう
ここ!
あなたが手に入れたもの
専用クライアント(CODEVS 4.0用)
codevs4.jnlp
サンプルコード
sample_code_4.zip
sampleAI.cpp
SampleAI.java
input.txt
サンプルコードを動かしてみよう!
$ javac SampleAI.java
$ g++ sampleAI.cpp -o sampleAI
Javaサンプルコードのコンパイル
C++サンプルコードのコンパイル
一緒にやってみましょう
サンプルコードを動かしてみよう!
下記のコマンドを入力して実行ボタンを押してみましょう
Javaの場合
java SampleAI
C++の場合
./sampleAI
一緒にやってみましょう
サンプルコードを動かしてみよう!
ログが流れて、リプレイ画面が表示されたら成功です
サンプルコードを動かしてみよう!
おめでとうございます!
これであなたも脱CODEVS初心者です
どんどんAIを作りましょう!
※初心者前提です
休憩 …
本日の流れ
CODEVSとは?
AI作成指南
(基礎知識編)
CODEVS参加方法
AI作成指南
(実践編)
ここまで終わった
AI作成指南(基礎知識編)
脱CODEVS初心者の皆様に…
CODEVS 3.0のサンプルコードは改良しても一定以上強くなりません
正確にはアルゴリズムの根本を変えるような修正を施さないと強くならない
理由はこの基礎知識編が終わった時にはわかります
何故強くなれないのか
どうすれば強いAIが作れるのか
まずはCODEVS3.0のルールを理解しましょう
基本ルール
魔法陣を設置し、相手を雷撃に巻き込ませて倒す
アイテムを取るとパワーアップする
勝利条件
あるターンにキャラクターが倒されたらそこでゲーム終了
その時点で倒されたキャラクターが少ない方のプレイヤーの勝利
同数の場合は引き分け
最大ターンに達した場合も引きわけ
CODEVS 3.0 ルール説明
雷撃の範囲が
広がるアイテム
魔法陣設置数が
増えるアイテム
基礎知識
シミュレーター
ゲームルールを忠実に再現してAIに組み込む
1ターン進めた状態を確認できるため未来予測が可能
次に出てくるゲーム木を探索するために必須
ゲーム木
ゲームの状態(盤面)をツリー状に並べたもの
評価関数
入力
= 10
次のターン現在
基礎知識
ゲーム木探索
盤面の状態を評価関数で数値化し、よりより状態になる手をゲーム木から探索すること
探索方法はゲームの内容に左右されない
手法は様々で、得意不得意とする分野がある
mini-max法
α-β法
モンテカルロ法
ビームサーチ
etc ...
3 7 5 2 6 9 1 4 8
3 2 1
3
評価関数について
評価関数はAIの強さを決める重要な要素
作ったAIの特徴になる(同じゲーム木探索をしている場合)
「盤面の良さ」を定量化
どんな状態が勝ちそうなのか、を定義して数値化する
ゲームのルールに依存する
ゲーム木探索の方法などはゲームに依存しない方法
状態Aは勝ちそうだぞ。
状態Bは危険だなぁ。
よし、状態Aを10、
状態Bを-5と定義しよう
=10 = -5
状態A 状態B
評価関数について(CODEVS 3.0の例)
良いと評価する点
相手のキャラを倒す
アイテムを取る(火力アップ、設置数が増える)
悪いと評価する点
自分のキャラが倒される
マップの危険な場所にいる
マップの角にいる(隅は追いつめられやすい)
雷撃が当たると予想される場所
\キャー/
ゲーム木とは…
ゲーム木(ゲームき、英: game tree)は、組合せゲーム理論において、ゲームの
盤面を有向グラフのノードで、手をエッジで表したものである。完全ゲーム木と
は、ゲームの最初から指せる全ての手を含んだゲーム木である。
―― Wikipedia より
ゲーム木とは…
ゲームの状態をツリー状に表現したもの
節点(ノード)はゲームの状態を表している
枝の数はプレイヤーが取れる行動だけ存在する
CODEVS3.0だと…
ノードはゲーム盤の状況となる
次のゲーム盤の状態は(4方向+動かない)
×(爆弾置く or 置かない)
^(キャラクター数:2)
= (5 × 2) ^ 2 = 100通りある
ゲーム木探索(mini-max法)
ミニマックス法(minimax)は、想定される最大の損害が最小になるように決断
を行う戦略のこと。将棋、チェス、オセロなどといった完全情報ゲームをコンピ
ュータに思考させるためのアルゴリズムとしても用いられるが、元々はフォン・
ノイマンが中心となって数学的に理論化されたゲーム理論において、打ち手を決
定する際に適用されるルールの一つ。
―― Wikipedia より
ゲーム木探索(mini-max法)
ゲーム木探索(mini-max法)
自分の手番
自分の手番
相手の手番
ゲーム木探索(mini-max法)
自分の手番
自分の手番
相手の手番
線が自分の手
例:キャラを上に動かす
ゲーム木探索(mini-max法)
3 7 5
自分の手番
自分の手番
相手の手番
評価関数で1ターン先
の盤面の状態を数値化
ゲーム木探索(mini-max法)
3 7 5
3
自分の手番
自分の手番
相手の手番
分岐先の最小値を取る
(相手にとって良い手)
ゲーム木探索(mini-max法)
3 7 5 2 6 9 1 4 8
3 2 1
自分の手番
自分の手番
相手の手番
他の枝も探索する 他の枝も探索する
ゲーム木探索(mini-max法)
3 7 5 2 6 9 1 4 8
3 2 1
3 自分の手番
自分の手番
相手の手番
分岐先の最大値を取る
(自分にとって良い手)
ゲーム木探索(mini-max法)
次にどの手を打てば将来的に良さそうか判断できるようになる
かなり先のターンまで予測しようとすると、計算量が爆発的に増える
CODEVS 3.0 はプレイヤーが選択できる行動は100通り(相手も入れると10,000通り)
2ターン先まで読もうとすると1億通り!(1秒に1万回計算できたとしても2時間以上)
選択できる行動が多いゲームは苦手
ゲーム木探索(α-β法)
アルファ・ベータ法(— ほう、alpha-beta pruning)は完全情報ゲームにおける
探索アルゴリズムの1つである。基本的にミニマックス法と同じであり、同じ計
算結果が得られるが、ゲーム木において、計算しなくても同じ計算結果になる部
分を枝刈りしている。
―― Wikipedia より
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
自分の手番
自分の手番
相手の手番
mini-max法で紹介した
ゲーム木と同じ
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
自分の手番
自分の手番
相手の手番
ここまでは同じように
探索する
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
3
自分の手番
自分の手番
相手の手番
最小値をいれる
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
3
自分の手番
自分の手番
相手の手番
ここを探索
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
3
自分の手番
自分の手番
相手の手番
比較すると探索した結果の方が
評価が低い
⇒ 自分の手番では採用されない
⇒ これ以上探索しなくてよい!
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
3 2
自分の手番
自分の手番
相手の手番
これを入れる
ここは探索しない
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
3 2
自分の手番
自分の手番
相手の手番相手の手番中の最大評価と比較
小さい!
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
3 2 1
3 自分の手番
自分の手番
相手の手番
あとは同じ
ゲーム木探索(α-β法)
3 7 5 2 6 9 1 4 8
3 2 1
3 自分の手番
自分の手番
相手の手番
4回分探索しなくて済んだ!
でも結果はmini-max法と同じ
ゲーム木探索(α-β法)
mini-max法と結果は同じまま、探索量が減らせる可能性がある!
最悪の場合は、mini-max法と同じになる
それを避けるために、探索の順番を工夫したりする
ゲーム木探索(モンテカルロ法)
モンテカルロ法 (モンテカルロほう、Monte Carlo method, MC) とはシミュレーシ
ョンや数値計算を乱数を用いて行う手法の総称。元々は、中性子が物質中を動き
回る様子を探るためにスタニスワフ・ウラムが考案しジョン・フォン・ノイマン
により命名された手法。カジノで有名な国家モナコ公国の4つの地区(カルテ
ィ)の1つであるモンテカルロから名付けられた。ランダム法とも呼ばれる。
―― Wikipedia より
ゲーム木探索(モンテカルロ法)
さらにランダムで
選択していく
さらにランダムで
選択していく
ゲーム木探索(モンテカルロ法)
良い状態
悪い状態
この時点で良い悪いを判断する
例:勝敗、良い状態、悪い状態
ゲーム木探索(モンテカルロ法)
良い状態である確率
3 / 9 = 0.333...
良い状態である確率
4 / 9 = 0.444...
良い状態である確率
6 / 9 = 0.666...
この手が良さそう!
ゲーム木探索(モンテカルロ法)
良さそうな値
・勝ちが多い
・試行回数が極端に低い
1 46
プレイアウト
(勝敗が決まるまでランダムで手を決めて探索を進める)
……
ゲーム木探索(モンテカルロ法)
勝ち、負け、引分で
点数を返す
プレイアウト
(勝敗が決まるまでランダムで手を決めて探索を進める)
……
ゲーム木探索(モンテカルロ法)
全てを探索せずに、ランダムに選択した手を深く探索する
評価関数を作るのが難しい場合に有効
計算量は劇的に減らせる
全探索するよりは減らせる
全探索していないので、悪い手を打つ可能性もある
次の手の候補のうち、どの手の探索を進めていくかが重要
その他の探索方法
CODEVS 2.0 のような相手の手に影響されないゲーム性の場合
ビームサーチ
幅が一定なんだって
探索幅が常に決まっており、計算量は深さに対して定数倍
焼きなまし法
熱した金属を冷やすと綺麗な組織になるんだって
CODEVS 3.0のサンプルコードを見返す
サンプルコードのアルゴリズムは下記の通り
全く攻撃してこない敵に、近づき、倒すことを目指し、以下のアルゴリズムで行動する。
0. 簡単のため、自キャラ2体を同じマスに重ねて、以後同じ行動をさせる。
1. 移動できるマスのうち、敵に最も近いマスに移動する。
2. (1)で移動したマスに着いたら、魔法陣を設置する。
3. 魔法の発動に巻き込まれない場所まで移動する。
4. (1)に戻る。
シミュレーターを使用していないルールベースのAI
つまり相手の行動を予測したりできない
ゲーム木探索もできない
完璧なルールを作りあげることはむずかしい
ルールベースのAIは弱いのか?
ルールベースのAIだから弱いわけではない
ルールベースじゃないとまともに動かないゲームもある
CODEVS 3.0 ではゲーム木探索が強いだけ
CODEVS 4.0はルールベースのAIが多い
次の盤面の状態が多く、ゲーム木を簡単には探索できないため
ユニット毎の目的がはっきりしているため、ルールに落としやすい
(生産ユニットは資源集め、戦闘ユニットは城攻め)
戦略がAIの強さを左右する
【CODEVS 4.0 ルール】
● 資源を集めて、施設を立てて、戦士を生産して、相手の城を攻め落とそう
● ユニットは全部で4種類(生産ユニット1種類、戦闘ユニット3種類)
● 建物は3種類(村、拠点、城)
● ユニットがとれる行動は移動
● 建物が取れる行動はユニットの生産
AI作成ポイント
盤面の状態がどれだけあるかを把握し、AI作成の指針を決める
状態が極めて多い → ルールベースなAI
状態がある程度限られる → ゲーム木探索を用いたAI
ゲーム木探索を用いる場合
計算量を減らす工夫をする(既存の手法があるので探して使う)
ゲームの性質によって探索方法を変える
対戦相手が居ない場合 → ビームサーチ、焼きなましなど
対戦相手が居る場合 → mini-max法、α-β法、モンテカルロ法など
AI作成指南(実践編)
実際のAIを見てみよう
CODEVS 3.0 の決勝進出者のAI
決勝進出者は全部で8名
解説の内容は実際の意図と乖離している可能性があります
提出していただいたソースコードを読み解いたものとなります
本人に直接お話しを聞いていないため推測が含まれます
諸事情で割愛…
最後に動画を見かえしてみましょう
CODEVS オンライン対戦のリプレイ
オンライン対戦しているリプレイも確認できます

Más contenido relacionado

La actualidad más candente

20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
Takuya Kawabe
 
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考えるアプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
pospome
 
Coursera experience
Coursera experienceCoursera experience
Coursera experience
Brian Hooper
 

La actualidad más candente (20)

JaSST'15東北公開版
JaSST'15東北公開版JaSST'15東北公開版
JaSST'15東北公開版
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!
 
20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう20130302 わんくま勉強会大阪 tfsを使ってみよう
20130302 わんくま勉強会大阪 tfsを使ってみよう
 
エキテンとLaravelと私
エキテンとLaravelと私エキテンとLaravelと私
エキテンとLaravelと私
 
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
 
デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣デキるプログラマだけが知っているコードレビュー7つの秘訣
デキるプログラマだけが知っているコードレビュー7つの秘訣
 
ジョイ・インク 役職も部署もない全員主役のマネジメント
ジョイ・インク 役職も部署もない全員主役のマネジメントジョイ・インク 役職も部署もない全員主役のマネジメント
ジョイ・インク 役職も部署もない全員主役のマネジメント
 
テストエンジニア版RPG風スキルマップ JaSST'17東北
テストエンジニア版RPG風スキルマップ JaSST'17東北テストエンジニア版RPG風スキルマップ JaSST'17東北
テストエンジニア版RPG風スキルマップ JaSST'17東北
 
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
 
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
【ヒカ☆ラボ】アーキテクト養成講座「入門編」 折田 武己 氏 登壇資料 20171205
 
アーキテクト養成講座「入門編」
アーキテクト養成講座「入門編」アーキテクト養成講座「入門編」
アーキテクト養成講座「入門編」
 
テストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornightテストエンジニアの品格 #automatornight
テストエンジニアの品格 #automatornight
 
XP祭り2016 - SWチームとHWチームがスクラムを組んだら
XP祭り2016 - SWチームとHWチームがスクラムを組んだらXP祭り2016 - SWチームとHWチームがスクラムを組んだら
XP祭り2016 - SWチームとHWチームがスクラムを組んだら
 
アプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考えるアプリケーションコードにおける技術的負債について考える
アプリケーションコードにおける技術的負債について考える
 
どこに何を書くのか?
どこに何を書くのか?どこに何を書くのか?
どこに何を書くのか?
 
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
 
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
非エンジニアのためのこれだけは押さえておきたいWEBサービスの基礎技術
 
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け自動テストにおけるコードベース戦略とローコード戦略のすみ分け
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
 
Coursera experience
Coursera experienceCoursera experience
Coursera experience
 
ドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修についてドワンゴにおける新卒エンジニア向けScala研修について
ドワンゴにおける新卒エンジニア向けScala研修について
 

Destacado

ドルヲタを支える技術 2
ドルヲタを支える技術 2ドルヲタを支える技術 2
ドルヲタを支える技術 2
Yoshihiro Sugi
 
2013 TCO Marathon Round 3 (yowa)
2013 TCO Marathon Round 3 (yowa)2013 TCO Marathon Round 3 (yowa)
2013 TCO Marathon Round 3 (yowa)
yowaken
 
2014 TCO Marathon Round 1 (yowa)
2014 TCO Marathon Round 1 (yowa)2014 TCO Marathon Round 1 (yowa)
2014 TCO Marathon Round 1 (yowa)
yowaken
 
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
infoScoop
 
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
Yuki Takei
 
120529 railsとか勉強会v2
120529 railsとか勉強会v2120529 railsとか勉強会v2
120529 railsとか勉強会v2
Yoshiteru Toki
 

Destacado (20)

11.11.22 かなり役立つ競技プログラミング
11.11.22 かなり役立つ競技プログラミング11.11.22 かなり役立つ競技プログラミング
11.11.22 かなり役立つ競技プログラミング
 
ドルヲタを支える技術 2
ドルヲタを支える技術 2ドルヲタを支える技術 2
ドルヲタを支える技術 2
 
2013 TCO Marathon Round 3 (yowa)
2013 TCO Marathon Round 3 (yowa)2013 TCO Marathon Round 3 (yowa)
2013 TCO Marathon Round 3 (yowa)
 
2014 TCO Marathon Round 1 (yowa)
2014 TCO Marathon Round 1 (yowa)2014 TCO Marathon Round 1 (yowa)
2014 TCO Marathon Round 1 (yowa)
 
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
第5回iocj情報交換会 info scoopとzabbixによる運用ポータルの事例紹介
 
最後の楽園の開発をちょこっとだけ手伝った話
最後の楽園の開発をちょこっとだけ手伝った話最後の楽園の開発をちょこっとだけ手伝った話
最後の楽園の開発をちょこっとだけ手伝った話
 
Devsumi2014 13 e-7-03
Devsumi2014 13 e-7-03Devsumi2014 13 e-7-03
Devsumi2014 13 e-7-03
 
Yahoo!プロモーション広告(スポンサードサーチ)管理画面で広告文を変更する方法
Yahoo!プロモーション広告(スポンサードサーチ)管理画面で広告文を変更する方法Yahoo!プロモーション広告(スポンサードサーチ)管理画面で広告文を変更する方法
Yahoo!プロモーション広告(スポンサードサーチ)管理画面で広告文を変更する方法
 
Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09Swiftビギナーズ 2016/01/09
Swiftビギナーズ 2016/01/09
 
今日から始めるRxSwift
今日から始めるRxSwift今日から始めるRxSwift
今日から始めるRxSwift
 
インフラの話
インフラの話インフラの話
インフラの話
 
ぷよぷよ AI: mayah(AI) の実装
ぷよぷよ AI: mayah(AI) の実装ぷよぷよ AI: mayah(AI) の実装
ぷよぷよ AI: mayah(AI) の実装
 
ゲーム開発出身者がチームラボで働いてみた
ゲーム開発出身者がチームラボで働いてみたゲーム開発出身者がチームラボで働いてみた
ゲーム開発出身者がチームラボで働いてみた
 
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
自作node.jsフレームワークとnginxを使ってラジオサイトを作ってみた
 
Server-side Swift
Server-side SwiftServer-side Swift
Server-side Swift
 
120529 railsとか勉強会v2
120529 railsとか勉強会v2120529 railsとか勉強会v2
120529 railsとか勉強会v2
 
アビームコンサルティング様_資料概要
アビームコンサルティング様_資料概要アビームコンサルティング様_資料概要
アビームコンサルティング様_資料概要
 
マラソンマッチ 89 日記
マラソンマッチ 89 日記マラソンマッチ 89 日記
マラソンマッチ 89 日記
 
ROMA のアーキテクチャと社内事例
ROMA のアーキテクチャと社内事例ROMA のアーキテクチャと社内事例
ROMA のアーキテクチャと社内事例
 
20160620 競技プログラミングのすゝめ
20160620 競技プログラミングのすゝめ20160620 競技プログラミングのすゝめ
20160620 競技プログラミングのすゝめ
 

Similar a Codevs5.0勉強会

【Devsumi2019】開発者に贈るSalesforceプラットフォーム概論と最新動向
【Devsumi2019】開発者に贈るSalesforceプラットフォーム概論と最新動向【Devsumi2019】開発者に贈るSalesforceプラットフォーム概論と最新動向
【Devsumi2019】開発者に贈るSalesforceプラットフォーム概論と最新動向
SFDG ROOKIES
 

Similar a Codevs5.0勉強会 (20)

JavaScriptフレームワーク入門にVue.jsはいかが?
JavaScriptフレームワーク入門にVue.jsはいかが?JavaScriptフレームワーク入門にVue.jsはいかが?
JavaScriptフレームワーク入門にVue.jsはいかが?
 
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
WordPressプラグイン開発で学ぶ継続インテグレーション(CI)
 
アジャイル開発&TFS導入
アジャイル開発&TFS導入アジャイル開発&TFS導入
アジャイル開発&TFS導入
 
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
初めての拡張機能リリースまでの歩み / Road to publishing extension for the first time
 
レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話レガシーコードに向き合ってみた話
レガシーコードに向き合ってみた話
 
【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~
【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~
【BS5】帰ってきたハードコアデバッギング ~.NET6 を添えて~
 
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
OSSコンソーシアム 開発基盤部会 2021年度 活動方針・部会紹介
 
【Devsumi2019】開発者に贈るSalesforceプラットフォーム概論と最新動向
【Devsumi2019】開発者に贈るSalesforceプラットフォーム概論と最新動向【Devsumi2019】開発者に贈るSalesforceプラットフォーム概論と最新動向
【Devsumi2019】開発者に贈るSalesforceプラットフォーム概論と最新動向
 
eXtremeProgramming入門
eXtremeProgramming入門eXtremeProgramming入門
eXtremeProgramming入門
 
ソースコードを読んでみよう
ソースコードを読んでみようソースコードを読んでみよう
ソースコードを読んでみよう
 
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
三位一体の自動化で壊せ DevとOpsの壁~アラサーエンジニアの挑戦~
 
Code cademyの学習方法
Code cademyの学習方法Code cademyの学習方法
Code cademyの学習方法
 
DevOps、その前に
DevOps、その前にDevOps、その前に
DevOps、その前に
 
Adminとうまく共存するためのApex開発Tips
Adminとうまく共存するためのApex開発TipsAdminとうまく共存するためのApex開発Tips
Adminとうまく共存するためのApex開発Tips
 
TOPPA!! ノーコード講座
TOPPA!! ノーコード講座TOPPA!! ノーコード講座
TOPPA!! ノーコード講座
 
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
分散開発チームによるAgile開発実践 ~いろいろハマった!よかった
 
Tletle 190520030943
Tletle 190520030943Tletle 190520030943
Tletle 190520030943
 
知ってるようで知らないWeb基礎セミナー
知ってるようで知らないWeb基礎セミナー知ってるようで知らないWeb基礎セミナー
知ってるようで知らないWeb基礎セミナー
 
初心者歓迎 機械学習Chalk Talk (de:codeリバイバル) in Osaka -
初心者歓迎 機械学習Chalk Talk (de:codeリバイバル) in Osaka  - 初心者歓迎 機械学習Chalk Talk (de:codeリバイバル) in Osaka  -
初心者歓迎 機械学習Chalk Talk (de:codeリバイバル) in Osaka -
 
Java frameworkの昔と今
Java frameworkの昔と今Java frameworkの昔と今
Java frameworkの昔と今
 

Último

Último (10)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Codevs5.0勉強会

Notas del editor

  1. 途中で文字が小さい所は声に出して説明する
  2. 煽り過ぎかなぁ…
  3. 知識を得た上で動画を見直して見ましょう