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
はてなと技術研修
Search
shibayu36
December 06, 2015
Programming
1
6.3k
はてなと技術研修
shibayu36
December 06, 2015
Tweet
Share
More Decks by shibayu36
See All by shibayu36
今の生産性改善活動で大切にしている考え方
shibayu36
8
8.4k
エンジニアメンター制度の効果的な運用を目指して/improve-mentor-system
shibayu36
27
10k
グレードイメージ具体化のため昇格理由を公開する
shibayu36
8
5.8k
新機能作成時に開発ブランチに細かくmergeしていく戦略/merge-strategy-for-new-feature
shibayu36
6
17k
一から始めるJavaScriptユニットテスト/js-unit-test-from-scratch
shibayu36
8
33k
技術ブログを書くことについて/writing-tech-blog
shibayu36
17
26k
はてなブログチームの開発フローとGitHub
shibayu36
145
76k
課題をテストで解決する
shibayu36
2
2.3k
Fluentd, mongoDB, Kibanaを利用したはてなブログABテストの事例
shibayu36
30
12k
Other Decks in Programming
See All in Programming
責務を分離するための例外設計 - PHPカンファレンス 2024
kajitack
6
1.2k
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
380
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1k
From Translations to Multi Dimension Entities
alexanderschranz
2
130
Scalaから始めるOpenFeature入門 / Scalaわいわい勉強会 #4
arthur1
1
330
暇に任せてProxmoxコンソール 作ってみました
karugamo
2
720
Haze - Real time background blurring
chrisbanes
1
510
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
460
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
130
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
2
100
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
820
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
Bash Introduction
62gerente
608
210k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Side Projects
sachag
452
42k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
How STYLIGHT went responsive
nonsquared
95
5.2k
The Cult of Friendly URLs
andyhume
78
6.1k
Building Adaptive Systems
keathley
38
2.3k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Transcript
ͯͳͱٕज़ݚम 2015/12/06 ࢣఋొஃ @shiba_yu36
ࢣঊ : @shiba_yu36 ఋࢠ : @amagitakayosi
ࣗݾհ • @shiba_yu36 • 4ͯͳΤϯδχΞ
ຊ͢͜ͱ • ͯͳͰͷݚमͷߟ͑ํ • ݚम༰ͷհ • ͯͳڭՊॻ • ۀΛ௨ͯ͡ •
@amagitakayosi͔Β࣮ࡍʹݚमΛड͚ͯΈͯ
ͯͳͷݚमͷߟ͑ํ
ΤϯδχΞͷ ֮͑Δ͜ͱແݶ
ΤϯδχΞͷ ֮͑Δ͜ͱແݶ ࣮ફͰ ʹ͚Δ͔͠ͳ͍
ͯͳͷݚमͷߟ͑ํ • ࣮ફͰࣗΒߟ͑ͯखΛಈ͔͢͜ͱ ͕Ұ൪ͷֶश • രͰ࠷ݶͷࣝΛʹ͚ͭɺ ͙͢ʹνʔϜʹଐ
രͰ࣮ફʁ
രͰ࣮ફʁ 2िؒޙʹνʔϜଐ
1. ͯͳڭՊॻͰ1िؒͷݚम 2. ΦϦδφϧαʔϏεΛ1िؒͰ 3. ࣮ࡍʹνʔϜଐ ݚमͷྲྀΕ
None
1.ͯͳڭՊॻͰͷݚम https://github.com/hatena/Hatena-Textbook
ͯͳڭՊॻͱ 1िؒͰ࠷ݶͷWebͷٕज़ ΛֶͿͨΊͷڭՊॻ
ͯͳڭՊॻͱ 1िؒͰ࠷ݶͷWebͷٕज़ ΛֶͿͨΊͷڭՊॻ ग़དྷΔͷ͔ʁ
WebͰ࠷ݶඞཁͳٕज़ ݴޠɺΦϒδΣΫτࢦɺςετɺDBɺ SQLɺURIɺHTTPɺWebαʔόɺHTMLɺ JSɺηΩϡϦςΟɺetc…
WebͰ࠷ݶඞཁͳٕज़ ݴޠɺΦϒδΣΫτࢦɺςετɺDBɺ SQLɺURIɺHTTPɺWebαʔόɺHTMLɺ JSɺηΩϡϦςΟɺetc… ଟ͗͢Δʂʂ
՝Ͱஈ֊తʹ ֓೦Λ֮͑ΒΕΔ designed by Freepik
ஈ֊తʹֶͿ ϒϩάαʔϏεΛஈ֊తʹ࡞Γ ্͛ͯɺࣝΛੵΈ্͍͛ͯ͘
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) 1. 2. 3. 4.
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) ΦϒδΣΫτͷ͚ؔͩͰϒϩά DBͳͲͰӬଓԽ͠ͳ͍
# هͷ࡞ my $diary = Diary->new('Johnͷه'); # هࣄͷ࡞ my $entry1
= $diary->add_entry( title => 'هͩΑ', body => '͜Ε͕هͷຊจͩΑ', ); my $entry2 = $diary->add_entry( title => '͜ΕهͩΑ', body => 'ͬͺΓهͷຊจͩΑ', ); # ग़ྗ $diary->print;
$ object_diary.pl # Johnͷه # [1] هͩΑ : ͜Ε͕هͷຊจͩΑ #
[2] ͜ΕهͩΑ : ͬͺΓهͷຊจͩΑ
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) ϓϩάϥϛϯάͷ֓೦͚ͩΛֶͿ • ݴޠͷ͍ํ • ઃܭ
• ΦϒδΣΫτࢦ • ςετ
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ)
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) ΦϒδΣΫτͷ͚ؔͩͷϒϩάΛ σʔλϕʔεͰӬଓԽɻೖग़ྗCLIɻ
$ db_diary.pl add_entry λΠτϧ1 ຊจ1 $ db_diary.pl add_entry λΠτϧ2 ຊจ2
$ db_diary.pl list_entry # [1] λΠτϧ1 : ຊจ1 # [2] λΠτϧ2 : ຊจ2
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) • MySQL • SQL •
ݴޠ͔ΒDBΞΫηε • DBηΩϡϦςΟ • CLI DBͷ֓೦͚ͩΛֶΔ
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ)
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) DBͰӬଓ͞ΕͨϒϩάΛ Web্Ͱॻ͚ΔΑ͏ʹ͢Δ
None
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) • HTTPɺURLઃܭɺWebαʔό • WebαʔϏεͷ࡞Γํ •
WebͰͷηΩϡϦςΟ Webͷ֓೦͚ͩΛֶΔ
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ)
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) WebͰॻ͚ΔϒϩάΛ JSͰಈ͔͍ͯ͘͢͢͠Δ
• JSON APIΛͬͨΦʔτϖʔδϟ • ͦͷฤू
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) • JSͷجૅɺDOMͷجૅ • Πϕϯτۦಈ •
JSON APIͰͷ࿈ܞ ϑϩϯτΤϯυͷ֓೦͚ͩΛֶΔ
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ)
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) εϚϗΤϯδχΞ͚ʹ͞Βʹ Swiftͷ՝ʂʂ
ϓϩάϥϛϯάجૅ σʔλϕʔε WebΞϓϦέʔγϣϯ JS (εϚϗΞϓϦ։ൃ) 1. 2. 3. 4.
ϨΠϠʔ͔ΒͷੵΈॏͶͰ ஈ֊తʹ֓೦ΛֶΔ designed by Freepik
ڭՊॻʹΑΔݚमऴྃ
2. ΦϦδφϧαʔϏε ͷ࡞
ࣗͰاըͯ͠ ࣗͰ࡞Δʂ
ΦϦδφϧαʔϏε࡞ શࣾһͷલͰൃද 5-9. 10.
ΦϦδφϧαʔϏε࡞ શࣾһͷલͰൃද 5-9. 10. • اը • UI • ػೳ։ൃͷྲྀΕ
WebαʔϏε࡞ͷখ͞ͳ࣮ફ ڭՊॻͰֶΜͩ͜ͱΛ׆͔͢
None
ΦϦδφϧαʔϏε࡞ શࣾһͷલͰൃද 5-9. 10.
શࣾһͷલͰൃද • ࣗͷαʔϏεΛΞϐʔϧ • ίʔυΛಡ·Εٕज़తʹಥͬࠐ·ΕΔ • ઈରʹηΩϡϦςΟϗʔϧΛ୳͞ΕΔ
ΦϦδφϧαʔϏεͷ ࡞ऴྃ
3. ۀΛ௨ͨ͡ݚम
1. ͯ͘͠ઓͯ͠Β͏ 2. αϙʔτମ੍ॆ࣮ͤ͞Δ ߟ͑ํ
1.ઓͯ͠Β͏ • ࣮ࡍʹಈ͍͍ͯΔαʔϏεΛ৮Δ • ͲΜͲΜࣄΛͤΔ • ͍͠ۀͰઓͯ͠Β͏
ઓ • ͦͷਓ͕ڵຯ͕͋Δ͜ͱ • ٕज़తʹ͍͠՝ • ΤϯδχΞ͔Βͷӽڥ
2.αϙʔτମ੍Λॆ࣮ • νʔϜϝϯλʔ • ίʔυϨϏϡʔ • γχΞΤϯδχΞ • ͦͷଞ
νʔϜϝϯλʔ • νʔϜͰڭҭ • ೋਓͰઃܭ૬ஊΛ͠ͳ͕Β։ൃ
ίʔυϨϏϡʔ • ίʔυGitHubͰϨϏϡʔ • ࢦఠΛडֶ͚ͯश͢Δ • ࣗͰଞͷਓͷίʔυΛݟֶͯश
γχΞΤϯδχΞ • νʔϜ֎ͷΤϯδχΞ͕Ұਓ͘ • ΤϯδχΞͱͯ͠ͷํੑΛαϙʔτ
ͦͷଞ • ϖΞϓϩ • ࣾษڧձ • ٕज़ॻࢧԉ • ߹॓ •
னٳΈ
ۀΛ௨ͨ͡ݚम ͍ͭ·Ͱଓ͘…
·ͱΊ
1. ͯͳڭՊॻ 2. ΦϦδφϧαʔϏε 3. νʔϜଐ ݚमͷྲྀΕ
ͯͳͰരͰۀʹ ೖΕΔΑ͏͍ͯ͠·͢
ઓͰ͖ΔڥΛ ἧ͍͑ͯ·͢
13 • ͯͳͰઓ͍ͨ͠ΤϯδχΞΛื ू͍ͯ͠·͢ • http://hatenacorp.jp/recruit/fresh/