Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
client/server両方をテストするハイブリッド時代のCI
Search
Yosuke Furukawa
PRO
March 27, 2014
Programming
9
3k
client/server両方をテストするハイブリッド時代のCI
CI tool の clientサイドとserverサイドの調べです。
Yosuke Furukawa
PRO
March 27, 2014
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
3.3k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
170
Removing Corepack
yosuke_furukawa
PRO
9
1.3k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.5k
Strip Types と Storage
yosuke_furukawa
PRO
4
350
Module Harmony について
yosuke_furukawa
PRO
3
1.6k
LTのやり方
yosuke_furukawa
PRO
16
2.2k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
720
Node.js v22 で変わること
yosuke_furukawa
PRO
13
5.5k
Other Decks in Programming
See All in Programming
良いユニットテストを書こう
mototakatsu
8
3.1k
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
810
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
1
130
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
940
短期間での新規プロダクト開発における「コスパの良い」Goのテスト戦略」 / kamakura.go
n3xem
2
170
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
3.8k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
690
useSyncExternalStoreを使いまくる
ssssota
6
1.4k
アクターシステムに頼らずEvent Sourcingする方法について
j5ik2o
4
350
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
110
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
300
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
390
Featured
See All Featured
Speed Design
sergeychernyshev
25
670
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Optimizing for Happiness
mojombo
376
70k
Gamification - CAS2011
davidbonilla
80
5.1k
Documentation Writing (for coders)
carmenintech
66
4.5k
Building Your Own Lightsaber
phodgson
103
6.1k
Producing Creativity
orderedlist
PRO
342
39k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
A Philosophy of Restraint
colly
203
16k
Building an army of robots
kneath
302
44k
Transcript
$POUJOVPVTJOUFHSBUJPO POTFSWFSBOEDMJFOUTJEF !ZPTVLF@GVSVLBXB
!ZPTVLF@GVSVLBXB ຊ/PEFKTϢʔβʔάϧʔϓ৽ද
!ZPTVLF@GVSVLBXB ຊ/PEFKTϢʔβʔάϧʔϓ৽ද 'PMMPXNF
ຊ
࠷ۙCSPXTFSJGZ͕ྲྀߦͬͯΔ
CSPXTFSJGZ OPEFTUZMFͷίʔυΛCSPXTFSͰಈ͘ Α͏ʹͯ͘͠ΕΔπʔϧ // Node.js style code! var http =
require(‘http’);! var callback = function(err, res){! console.log(res);! };! http.get(‘http://www.google.com’ callback); ˞SFRVJSFUSBOTGPSNFS͕͞Εͯ·͕͢ຊ࣭తʹ OPEFͷίʔυΛCSPXTFSͰಈ͘Α͏ʹ͢ΔͨΊͷͷɻ
CSPXTFSJGZ OPEFTUZMFͷίʔυΛCSPXTFSͰಈ͘ Α͏ʹͯ͘͠ΕΔπʔϧ // Node.js style code! var http =
require(‘http’);! var callback = function(err, res){! console.log(res);! };! http.get(‘http://www.google.com’ callback); ˞ґଘղܾUSBOTGPSNFS͕͞Εͯ·͕͢ຊ࣭తʹ OPEFͷίʔυΛCSPXTFSͰಈ͘Α͏ʹ͢ΔͨΊͷͷɻ /PEFKTͱCSPXTFS྆ํͰ ಈ࡞͢ΔϋΠϒϦουͳϥΠϒϥϦ ΞϓϦ͕࡞ΕΔ
ϋΠϒϦουϥΠϒϥϦྫ /),ͷ൪දΛऔಘ͢Δ"1* /PEFKTͰCSPXTFSͰ͑Δ ϒϥλϞϦݟಀ͞ͳ͍
CSPXTFSJGZ UFTU
CSPXTFSJGZ UBQF NPDIBՄ ͑ OPEFKTͱCSPXTFSͰUFTUίʔυΛ ڞ௨ԽͰ͖Δ
CSPXTFSJGZ UBQF NPDIBՄ ͑ OPEFKTͱCSPXTFSͰUFTUίʔυΛ ڞ௨ԽͰ͖Δ ੈ·͞ʹϋΠϒϦου࣌
ϋΠϒϦου࣌ͷ $*UPPMT
ཚཱ͢Δ$*πʔϧ܈ 4FSWFSTJEFUPPM DMJFOUTJEFUPPM
ࠓճհ͢Δౕ
ࠓճհ͢Δౕ USBWJT UFTUMJOH [VVM TBVDFMBCT ESPOFJP
USBWJTDJ ✔ݴޠͷWFSTJPOΛލ͍ͩςετΛ࣮ࢪͰ͖Δ ✔HJUIVCͷQVCMJDSFQPTJUPSZͳΒແྉɻ ✔ϛυϧΣΞ௨πʔϧ͕ϓϦηοτͰ༻ҙ͞Εͯ Δ ͱʹ͔͘खܰͰ؆୯ ɻ ✗QSJWBUFϦϙδτϦ༗ྉ ✗04ʹґଘͨ͠ςετUSBWJTͰ༻ҙ͞Εͯͳ͍ϛυϧ ΣΞςετࠔ
ESPOFJP ✔ΦϯϓϨϛεͰߏஙͰ͖ΔͷͰɺجຊແྉͰαʔόʔߏ ஙͰ͖Δ ✔HJUIVCҎ֎ CJUCVDLFU HPPHMFDPEF Ͱ͑Δɹ ✔EPDLFSϕʔεͰ͖ͳΠϝʔδΛ࡞ΕΔɻ ͱʹ͔ࣗ͘༝ߴ͍ ✗EPDLFSͷΠϝʔδ࡞Δͱ͖ͷࢼߦࡨޡਏ͍ɻɻɻ
✗USBWJTΈ͍ͨͳෳόʔδϣϯލ͍ͩςετ͠ʹ͍͘ɻ
UFTUMJOHDJ ✔ϒϥβΛލ͍ͩςετΛγϛϡϨʔλΛ࣮ͬͯࢪͯ͘͠ΕΔɻ ✔࣮ߦ͢ΔͱՄѪ͍όοδ͕Β͑Δ ϒϥβରԠঢ়گҰཡ͔Γ ͍͢ ! ✔CSPXTFSJGZ UBQFͰͷެࣜυΩϡϝϯτ͕ॆ࣮ͯ͠Δ͔Β؆୯ɻ ✗ͭͣͭϒϥβͷςετ͢ΔͷͰಈ࡞͕͍ɻ
ͨ·ʹෆ҆ఆɺແ ྉϓϥϯ͔ͩΒ͔ɻ ✗Τϥʔ͕ى͖ͨ࣌ʹऔಘͰ͖Δใ͕एׯऑ͍ɻ
[VVM TBVDFMBCT ✔ϒϥβΛލ͍ͩςετΛγϛϡϨʔλΛ ࣮ͬͯࢪͯ͘͠ΕΔɻ ✔ߴɻUFTUMJOHશʹྻͰ͔͠ಈ࡞͠ͳ ͍͕TBVDFMBCTͭ·ͰฒྻςετՄೳ ✔ϩάͷ΄͔ʹεΫϦʔϯγϣοτऔಘͰ͖ Δɺใ͕ଟ͍ɻ
[VVM TBVDFMBCT ✗ෳϓϩδΣΫτΛͭ߹ɺෳΞΧϯτඞཁͰα ϒΞΧϯτਃΛXFCͰ͢Δͷ͕ࠈͷΑ͏ʹ໘ɻ ✗[VVMͷΠϝʔδ͕ՄѪ͘ͳ͍ ΰʔετόελʔζʹग़ͯ ͘ΔϘεͷ໊લ ! !
✗όοδ͕͍·͍ͪՄѪ͘ͳ͍ɻ ݟ͍
͕࣌ؒ༨ͬͨΒ[VVMͷ %&.0
ϋΠϒϦουʹ$*ͬͯ ͍͖·͠ΐ͏ɻ /PEFֶԂΑΖ͓͘͠ئ͍͠·͢ɻ
ςετॻ͍ͯͳ͍ͱ͔͓લͦΕ !U@XBEBͷલͰ ಉ͜͡ͱݴ͑Μͷ