Slide 1

Slide 1 text

ϓϩμΫτίʔυͰޠΔʂ ΤϯδχΞͷ੒௕ͷ ϒϨʔΫεϧʔϙΠϯτ CAMPHOR×LIVESENSE WEBαʔϏεͷ։ൃɾӡ༻ʹ͓͚ΔσʔλΤϯδχΞϦϯά 2018/06/23(౔) @TCHIKUBA

Slide 2

Slide 2 text

ϓϩμΫτίʔυͰޠΔʂ ΤϯδχΞͷ੒௕ͷϒϨʔΫεϧʔϙΠϯτ PROFILE ▸ 1978.11 ෱Ԭݝੜ·Ε ▸ 2002.03 ౦ژ޻ۀେֶཧֶ෦ଔ ▸ 2004.08 ϑϦʔϥϯεΤϯδχΞ ▸ 2011.08 ৽نࣄۀ։ൃPM ▸ 2013.05 Ϧϒηϯεೖࣾ ▸ 2015.04 ৽نࣄۀ্ཱͪ͛ ▸ 2018.06 ΤϯδχΞϦϯάϚωʔδϟʔʗ σʔλΤϯδχΞ

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

ϓϩμΫτίʔυͰޠΔʂ ΤϯδχΞͷ੒௕ͷϒϨʔΫεϧʔϙΠϯτ AGENDA ▸ Ruby on RailsΛߏ੒͢Δٕज़ ▸ RailsͰ࣮ફతͳwebΞϓϦέʔγϣϯ։ൃ͢Δצॴ ▸ IESHILͷࣄྫ ▸ RailsϓϩμΫγϣϯίʔυ ▸ ։ൃϓϩηε ▸ σʔλΤϯδχΞϦϯά

Slide 6

Slide 6 text

RUBY ON RAILSΛ ߏ੒͢Δٕज़

Slide 7

Slide 7 text

RUBY ON RAILSΛߏ੒͢Δٕज़ ABOUT RUBY ON RAILS ▸ ఻౷తͳMVCϑϨʔϜϫʔΫ ▸ RESTfulͳϧʔςΟϯά ▸ ActiveRecordʢڧྗͳORMʣ ▸ ϚΠάϨʔγϣϯʢDB؅ཧʣ ▸ ։ൃϞʔυʢdevelopmentʗtestʗproductionʣ ▸ ϑϩϯτΤϯυ ▸ Asset Pipeline ▸ SCSS ▸ CoffeeScript ▸ WebpackerʢRails 5.1ʙʣ ▸ RubyGemsΤίγεςϜ ▸ BDD

Slide 8

Slide 8 text

఻౷తͳ MVCϑϨʔϜϫʔΫ

Slide 9

Slide 9 text

RUBY ON RAILSΛߏ੒͢Δٕज़ RESTFULͳROUTING ▸ bin/rails g scaffold User name:string email:string ▸ bin/rails routes ▸ config/routes.rb ▸ resources :users

Slide 10

Slide 10 text

RUBY ON RAILSΛߏ੒͢Δٕज़ ACTIVE RECORD ▸ app/models/application_record.rb ▸ app/models/user.rb ▸ User.all ▸ User.find(1) ▸ User.take.name ▸ User.take.email

Slide 11

Slide 11 text

RUBY ON RAILSΛߏ੒͢Δٕज़ ϚΠάϨʔγϣϯ ▸ db/migrate/20180623163000_create_users.rb ▸ bin/rails db:migrate ▸ bin/rails db:rollback

Slide 12

Slide 12 text

RUBY ON RAILSΛߏ੒͢Δٕज़ ։ൃϞʔυ ▸ RAILS_ENV ▸ bin/rails s -e [mode name] ▸ config/environments/ ▸ development.rb ▸ production.rb ▸ test.rb

Slide 13

Slide 13 text

FRONTEND

Slide 14

Slide 14 text

RUBY ON RAILSΛߏ੒͢Δٕज़ ASSET PIPELINE ▸ RubyGems ▸ sprockets-railsʢΞηοτίϯύΠϧʣ ▸ sass-railsʢSCSSʣ ▸ uglifierʢJSϑΝΠϧѹॖʣ ▸ coffee-railsʢJS→CoffeeScriptίϯύΠϧʣ ▸ bin/rails assets:precompile (for production) ▸ ϑΟϯΨʔϓϦϯτ ▸ application-908e25f4bf641868d8683022a5b62f54.css

Slide 15

Slide 15 text

RUBY ON RAILSΛߏ੒͢Δٕज़ SCSS ▸ RubyGems ▸ sass-rails ▸ app/assets/stylesheets/application.css

Slide 16

Slide 16 text

RUBY ON RAILSΛߏ੒͢Δٕज़ COFFEE SCRIPT ▸ RubyGems ▸ coffee-rails ▸ app/assets/javascripts/application.js

Slide 17

Slide 17 text

RUBY ON RAILSΛߏ੒͢Δٕज़ WEBPACKER (RAILS 5.1~) ▸ RubyGems ▸ webpacker ▸ bin/rails new myapp --webpack ▸ bin/rails webpacker:install ▸ app/views/layouts/application.html.erb ▸ bin/webpack-dev-server

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

มԽͷ଎͍ ϑϩϯτΤϯυο…!!

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

๛෋ͳ RUBYGEMS

Slide 22

Slide 22 text

RUBY ON RAILSΛߏ੒͢Δٕज़ RUBY GEMS ▸ bin/bundle inst —path vendor/bundle -j4 GEMืूதʂ

Slide 23

Slide 23 text

RUBY ON RAILSΛߏ੒͢Δٕज़ RUBY GEMS (ϚοϋόΠτ 2006.02~) ▸ grep 'gem ' Gemfile | wc -l ▸ 74 ※ ▸ ʲFYIʳgrep create_table db/schema.rb | wc -l ▸ 363

Slide 24

Slide 24 text

RUBY ON RAILSΛߏ੒͢Δٕज़ RUBY GEMS (ब׆ձٞ 2015.04~) ▸ grep 'gem ' Gemfile | wc -l ▸ 71 ▸ ʲFYIʳgrep create_table db/schema.rb | wc -l ▸ 226

Slide 25

Slide 25 text

RUBY ON RAILSΛߏ੒͢Δٕज़ RUBY GEMS (IESHIL 2015.08~) ▸ grep 'gem ' Gemfile | wc -l ▸ 113 ▸ ʲFYIʳgrep create_table db/schema.rb | wc -l ▸ 175

Slide 26

Slide 26 text

RUBY ON RAILSΛߏ੒͢Δٕज़ RUBY GEMS (JOB-DRAFT 2015.11~) ▸ grep 'gem ' Gemfile | wc -l ▸ 119 ▸ ʲFYIʳgrep create_table db/schema.rb | wc -l ▸ 250

Slide 27

Slide 27 text

※஫ ϞϊϦγοΫͳ RAILSࣄྫ

Slide 28

Slide 28 text

BDD

Slide 29

Slide 29 text

RUBY ON RAILSΛߏ੒͢Δٕज़ BDD (ৼ෣ۦಈ։ൃ) ▸ Minitest (Default) ▸ bin/rails test ▸ Rspec (RubyGems) ▸ bin/rails g rspec:install ▸ bin/bundle binstubs rspec-core ▸ bin/rspec

Slide 30

Slide 30 text

ςετίʔυ͸ ҭͯΔ΋ͷ

Slide 31

Slide 31 text

جຊ͜͜·Ͱ

Slide 32

Slide 32 text

COFFEE BREAK

Slide 33

Slide 33 text

[COFFEE BREAK] RAILSॳ৺ऀ͋Δ͋Δ Ͳ͔͜ΒͲ͜·Ͱ͕RAILS WAYͳͷ͔ʁ ▸ ෳ਺ܗͱ୯਺ܗͷҧ͍ ▸ Routing → resources :usersʢෳ਺ܗʣ ▸ Controller → class UsersControllerʢෳ਺ܗʣ ▸ Model → class Userʢ୯਺ܗʣ ▸ Table → usersςʔϒϧʢෳ਺ܗʣ ▸ View → app/views/usersʢෳ਺ܗʣ

Slide 34

Slide 34 text

[COFFEE BREAK] RAILSॳ৺ऀ͋Δ͋Δ Ͳ͔͜ΒͲ͜·Ͱ͕RAILS WAYͳͷ͔ʁ ▸ ύʔγϟϧͷ໋໊ ▸ app/views/users/index.html.erb ▸ render ‘layouts/header’ ▸ app/views/layouts/_header.html.erb ▸ FAQ ▸ Missing TemplateౖͬͯΒΕΔΜͰ͚͢Ͳ… ▸ ͳΜͰΞϯμʔείΞ͕ඞཁͳΜͰ͔͢ʁ

Slide 35

Slide 35 text

A: THIS IS THE RAILS WAY!! ※ΞΫγϣϯ͔Βݺ͹ΕΔςϯϓϨʔτͱύʔγϟϧΛ۠ผ͢ΔͨΊ

Slide 36

Slide 36 text

[COFFEE BREAK] RAILSॳ৺ऀ͋Δ͋Δ Ͳ͔͜ΒͲ͜·Ͱ͕RAILS WAYͳͷ͔ʁ ▸ webΞϓϦέʔγϣϯͷجૅͷཧղෆ଍ ▸ <%= form_for(@article) do |f| %> ▸ <%= f.text_field :title, title: ‘title of article’ %> ▸ <% end %>

Slide 37

Slide 37 text

[COFFEE BREAK] RAILSॳ৺ऀ͋Δ͋Δ Ͳ͔͜ΒͲ͜·Ͱ͕RAILS WAYͳͷ͔ʁ ▸ RubyͷγϯλοΫε͕Θ͔Βͳ͍ ▸ <% @users.each do |user| %> ▸ <%= user.name %> ▸ <% end %>

Slide 38

Slide 38 text

COFFEE BREAK ͜͜·Ͱ☕

Slide 39

Slide 39 text

RUBY ON RAILSΛߏ੒͢Δٕज़ RUBY ON RAILSͷ࢖͍ॴ ▸ webΞϓϦέʔγϣϯͷϓϩτλΠ ϓΛૉૣ͘࡞Δ ▸ ϑϩϯτΤϯυ(HTMLʗCSSʗ JavaScript)΋αʔόʔαΠυ(Ruby) ΋1ਓͰαΫοͱ࡞Δ https://logmi.jp/6034

Slide 40

Slide 40 text

࣮͸ νʔϜ։ൃʹ ޲͍ͯͳ͍!?

Slide 41

Slide 41 text

RAILSͰ࣮ફతͳWEBΞϓϦ έʔγϣϯ։ൃ͢Δצॴ ͔͜͜Β͕ຊ୊

Slide 42

Slide 42 text

RAILSͰ࣮ફతͳWEBΞϓϦέʔγϣϯ։ൃ͢Δצॴ ABOUT צॴ ▸ αʔόʔαΠυ ▸ ؀ڥߏங ▸ RubyGemsબఆ ▸ MVCҎ֎ͷϨΠϠʔ ▸ ϑϩϯτΤϯυ ▸ Webpacker or notʢRails 5.1~ʣ ▸ SPAཁ݅ʢReact.jsʗVue.jsʗAngularJS etc.ʣ

Slide 43

Slide 43 text

RAILSͰ࣮ફతͳWEBΞϓϦέʔγϣϯ։ൃ͢Δצॴ SERVER SIDE - ؀ڥߏங ▸ ΦϯϓϨʗAWSʗHeroku ▸ ϛυϧ΢ΣΞબఆʗߏ੒؅ཧʢRDBʗKVSʗݕࡧetc.ʣ ▸ ։ൃ؀ڥʗεςʔδϯά؀ڥʗຊ൪؀ڥߏங ▸ σϓϩΠʗCI

Slide 44

Slide 44 text

RAILSͰ࣮ફతͳWEBΞϓϦέʔγϣϯ։ൃ͢Δצॴ SERVER SIDE - RUBYGEMSબఆ ▸ બఆ͕؊ ▸ ؾΛ͚ͭΔϙΠϯτ ▸ ཁ݅ʹԊ͍ͬͯΔ͔ ▸ ྨࣅͷػೳΛ࣋ͭgemͷௐࠪ ▸ ࢖༻࣮੷͕͋Δ͔ ▸ OSS։ൃίϛϡχςΟ ▸ ϓϩδΣΫτͷRubyʗRailsͷόʔδϣϯͱͷ੔߹ੑ ▸ Railsػೳ֦ுܥ͸ཁ஫ҙʢparanoiaͳͲʣ ▸ ։ൃνʔϜͱͷ߹ҙܗ੒

Slide 45

Slide 45 text

RAILSͰ࣮ફతͳWEBΞϓϦέʔγϣϯ։ൃ͢Δצॴ SERVER SIDE - MVCҎ֎ͷϨΠϠʔ ▸ appԼͷߏ੒ ▸ decoratorsʗformsʗservicesʗtasksʗvalidators etc. ▸ όονॲཧʢrakeλεΫor notʣ ▸ σʔλॲཧੑೳཁ݅࣍ୈ

Slide 46

Slide 46 text

RAILSͰ࣮ફతͳWEBΞϓϦέʔγϣϯ։ൃ͢Δצॴ ABOUT צॴ ▸ αʔόʔαΠυ ▸ ؀ڥߏங ▸ RubyGemsબఆ ▸ MVCҎ֎ͷϨΠϠʔ ▸ ϑϩϯτΤϯυ ▸ Webpacker or notʢRails 5.1~ʣ ▸ SPAཁ݅ʢReact.jsʗVue.jsʗAngularJS etc.ʣ

Slide 47

Slide 47 text

RAILSͰ࣮ફతͳWEBΞϓϦέʔγϣϯ։ൃ͢Δצॴ FRONTEND ▸ bin/rails new myapp --webpack ▸ bin/rails new myapp --webpack=react ▸ bin/rails new myapp --webpack=vue ▸ bin/rails new myapp —webpack=angular ▸ bin/yarn add [package] ▸ bin/yarn install/update

Slide 48

Slide 48 text

ΩϞ͍

Slide 49

Slide 49 text

RAILSͰ࣮ફతͳWEBΞϓϦέʔγϣϯ։ൃ͢Δצॴ FRONTENDͷ՝୊ ▸ turbolinks ▸ sprockets ▸ webpacker ▸ webpack-dev-server ▸ CoffeeScript ▸ babel

Slide 50

Slide 50 text

RAILS ϓϩμΫγϣϯίʔυ IESHILͷࣄྫ

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

IESHILͷࣄྫ Πϯϑϥ ▸ Herokuʢ~2018.05ʣ ▸ ্ཱͪ͛࣌ͷεϐʔυ༏ઌ ▸ ๛෋ͳΞυΦϯ ▸ Heroku Private Spaces ▸ TokyoϦʔδϣϯͰಈ࡞ ▸ 3ഒҎ্ߴ଎ʹʂ ▸ Ұ෦AWS

Slide 53

Slide 53 text

IESHILͷࣄྫ HEROKU PRIVATE SPACES͸΍ͬͺΓ଎͔ͬͨʢ༨ஊʣ ▸ ര଎ʂ ▸ αʔόʔฏۉԠ౴࣌ؒˠ໿2ഒ ▸ αʔόʔฏۉ઀ଓ࣌ؒˠ໿5ഒ

Slide 54

Slide 54 text

IESHILͷࣄྫ ʲFYIʳHEROKU MEETUP#21 ▸ 17Y৽ଔͷ௠͘Μ͕ొஃ༧ఆ

Slide 55

Slide 55 text

ಉ྅ɿHeroku MeetupͰొஃऀืूͯ͠Δ ಉ྅ɿ௠͘Μൃදͪ͠Ό͍ͳΑ ௠͘ΜɿλΠτϧͲ͏͠·͔͢ʁ ஛അɿ10ഒͬͯ੝ͬͪΌ͑Αʢ൒͹৑ஊʣ ௠͘ΜɿΘ͔Γ·ͨ͠ʂʂ

Slide 56

Slide 56 text

No content

Slide 57

Slide 57 text

IESHILͷࣄྫ HEROKUͰͷ্ཱͪ͛΋΍ͬͺΓ଎͔ͬͨ ▸ 3໊ʢϚελʗRailsʗػցֶशʣͰ2ϲ݄൒͘Β͍ɻ

Slide 58

Slide 58 text

IESHILͷࣄྫ MIDDLEWARE ▸ Heroku Add-ons ▸ ʴSendgridʗʴFastlyʢCommon Runtimeʣ ▸ ElasticsearchʢElastic Cloudʣ ▸ Tresure Data

Slide 59

Slide 59 text

IESHILͷࣄྫ ࣮ߦ؀ڥ ▸ ։ൃ؀ڥ ▸ MacʢϩʔΧϧʣ or CentOSʢOpenStackʣ ▸ PRຖͷಈ࡞֬ೝ؀ڥ ▸ Heroku Review Apps ▸ εςʔδϯά؀ڥ ▸ staging.ieshil.com ▸ ຊ൪؀ڥ ▸ www.ieshil.com

Slide 60

Slide 60 text

IESHILͷࣄྫ CIʗDEPLOY ▸ CI ▸ GitHub + CircleCIʢtest+lintʣ ▸ Deploy ▸ ChatOps with slack ▸ /h deploy ieshil-front/master to prod

Slide 61

Slide 61 text

IESHILͷࣄྫ RUBYGEMS ▸ Ϣʔβʔొ࿥ཁ݅ʢsorceryʗomniauthʣ ▸ ϝʔϧૹ৴ཁ݅ʢsendgrid4rʣ ▸ ը૾ॲཧཁ݅ʢdragonfly-s3_data_storeʗshrineʗimage_processing etc.ʣ ▸ SEOཁ݅ʢgretelʗsitemap_generatorʣ ▸ API࿈ܞʢfaraday etc.ʣ ▸ δϣϒΩϡʔʢrescue etc.ʣ ▸ ։ൃิॿ ▸ Rails֦ுܥʢslim-railsʗseed-fuʗforemanʗconfigʗdotenv-railsʗpry-rails etc.ʣ ▸ ςετؔ࿈ʢrubocopʗrspecʗcapybaraʗselenium-webdriverʗturnipʗfactory_bot_railsʗdatabase_rewinder etc.ʣ ▸ ͦͷଞʢletter_opener_webʗslack-notifierʗrollbarʗbullet etc.ʣ

Slide 62

Slide 62 text

IESHILͷࣄྫ APPԼͷߏ੒ ▸ Decoratorsʢactive_decoratorʣ ▸ FormsʢActiveModel::Modelʣ ▸ Importers ▸ Search ▸ Services ▸ Tasks ▸ Uploaders ▸ Validators ▸ ValuesʢActiveModel::Modelʣ

Slide 63

Slide 63 text

▸ app/forms/application.rb IESHILͷࣄྫ APP/FORMS

Slide 64

Slide 64 text

▸ ܧঝͯ͠࢖༻ IESHILͷࣄྫ APP/FORMS

Slide 65

Slide 65 text

▸ ܧঝͯ͠࢖༻ IESHILͷࣄྫ APP/FORMS

Slide 66

Slide 66 text

▸ ίϯτϩʔϥʔͰͷ࢖༻ IESHILͷࣄྫ APP/FORMS

Slide 67

Slide 67 text

IESHILͷࣄྫ όονॲཧ ▸ bin/rails[rake] -vT ▸ IESHILͰ͸ݐ෺ϚελʗՁ֨ࠪఆͳͲʹTresure Data࢖༻ ▸ digdagʗembulk

Slide 68

Slide 68 text

IESHILͷࣄྫ FRONTEND ▸ React.jsʗTypeScriptΛ࢖༻ ▸ jQueryͷݹ͍ίʔυϕʔεΛஔ׵ ▸ SEOཁ݅ΑΓඇSPA ▸ SSR͸πϥϛ͕ଟ͍ͷͰ஫ҙ https://www.slideshare.net/yutasuzuki589/vs-rails-js

Slide 69

Slide 69 text

IESHILͷࣄྫ ։ൃϓϩηε ▸ JIRAʗConfluence ▸ ϢʔβʔετʔϦʔઃܭʗݟੵ ▸ ετʔϦʔϙΠϯτϕʔεͰͷݟੵ

Slide 70

Slide 70 text

IESHILͷࣄྫ σʔλΤϯδχΞϦϯά ▸ IESHILͰ͸༷ʑͳϏοάσʔλΛऔΓѻ͏ ▸ Ϛϯγϣϯ ▸ औҾࣄྫ ▸ ॅ؀ڥ etc.

Slide 71

Slide 71 text

IESHILͷࣄྫ σʔλΤϯδχΞϦϯάͷਏΈ ▸ ॲཧ࣌ؒ ▸ ໊دͤॲཧ ▸ ҟৗ஋ݕग़ ▸ ࢼߦࡨޡ ▸ લॲཧ ▸ ӡ༻Λߟྀͨ͠࢓૊Έͮ͘Γ ▸ ϏδωευϝΠϯ஌ࣝ ▸ ౷ܭʗػցֶशʗࣗવݴޠॲཧͳͲͷલఏ஌ࣝ

Slide 72

Slide 72 text

IESHILͷࣄྫ ॅ؀ڥσʔλ ▸ Ұ౎ࡾݝͷϝογϡίʔυ

Slide 73

Slide 73 text

IESHILͷࣄྫ ॅ؀ڥσʔλऔΓࠐΈॲཧ ▸ ݩσʔλऔΓࠐΈ

Slide 74

Slide 74 text

IESHILͷࣄྫ ॅ؀ڥσʔλऔΓࠐΈॲཧ ▸ TresureData΁ͷऔΓࠐΈ

Slide 75

Slide 75 text

IESHILͷࣄྫ ॅ؀ڥσʔλऔΓࠐΈॲཧ ▸ TresureData→PostgreSQL΁ͷऔΓࠐΈ

Slide 76

Slide 76 text

IESHILͷࣄྫ ॅ؀ڥσʔλऔΓࠐΈॲཧ ▸ ޙॲཧ

Slide 77

Slide 77 text

IESHILͷࣄྫ DIGDAG ▸ ϫʔΫϑϩʔΤϯδϯ

Slide 78

Slide 78 text

IESHILͷࣄྫ EMBULK ▸ όϧΫσʔλϩʔμʔ

Slide 79

Slide 79 text

IESHILͷࣄྫ ʲFYIʳՁ֨ࠪఆ ▸ ށຖʹՁ֨ࠪఆ

Slide 80

Slide 80 text

IESHILͷࣄྫ ʲFYIʳՁ֨ࠪఆ ▸ Hivemall + Python

Slide 81

Slide 81 text

IESHILͷࣄྫ ʲFYIʳՁ֨ࠪఆ ▸ ϔυχοΫ๏

Slide 82

Slide 82 text

IESHILͷࣄྫ ϒϨʔΫεϧʔϙΠϯτ·ͱΊ ▸ ཁ͔݅ΒRails։ൃج൫Λ੔͑Δ ▸ νʔϜ։ൃΛલఏͱͯ͠पลྖҬΛ੔උ͢Δ ▸ νʔϜ಺Ͱ߹ҙΛܗ੒͢Δ ▸ RubyGemsબఆ ▸ appԼͷߏ੒ ▸ ϑϩϯτΤϯυ ▸ Ϗοάσʔλʗػցֶशͱͷ޲͖߹͍ํ ▸ ୤ɾϞϊϦγοΫʢMonolithicʗ༁ɿҰຕ൘ͷʣ ▸ Private gem ▸ ϚΠΫϩαʔϏεԽʢస৬ձٞʣ

Slide 83

Slide 83 text

WEBΞϓϦ։ൃͷ࠷దԽ ߟ͑Δ͜ͱ͍ͬͺ͍ RAILSΞϓϦ։ൃͷצॴ͸…

Slide 84

Slide 84 text

IESHILͷࣄྫ ʲFYIʳΠϯλʔϯืूத@౦ژ ▸ ᶃձһొ࿥ͳͲKPIվળࢪࡦͷ࣮ࢪʢ2िؒ૝ఆʣ ▸ ᶄ֤छSEOࢪࡦͷ࣮ࢪʢ1ϲ݄૝ఆʣ ▸ αʔόʔαΠυʗϑϩϯτΤϯυΤϯδχΞͱͯ͠ɺσΟϨΫλʔ΍ΤϯδχΞɺσβΠφͱ ڠۀͯ͠վળࢪࡦʹ͍ͭͯৄࡉΛ٧Ίɺ։ൃʙϦϦʔε͢ΔɻඞཁʹԠͯ͡ϦϦʔεޙͷσʔ λ෼ੳʗධՁͳͲ΋ߦ͏ɻ ▸ ࢖༻ٕज़ɿHeroku, AWS, Rails, React, TypeScript, PostgreSQL, TresureDataͳͲɻ ▸ ᶅσʔλϑϩʔͷઃܭɾ੔උ(2िؒ~1ϲ݄૝ఆɺͦͷޙ΋Ԡ૬ஊ) ▸ ϫʔΫϑϩʔΤϯδϯʹΑΔλεΫઃܭ/੔උΛߦ͍ɺଐਓԽ͍ͯ͠ΔλεΫͷղফ΍ޮ཰Խ Λߦ͏ɻ ▸ ࢖༻ٕज़: Digdag, Embulk, PostgreSQL, TreasureDataͳͲɻ

Slide 85

Slide 85 text

Q&A