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
家族アルバムみてね 開発風景 #realm_jp
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ainame
September 29, 2015
Programming
4.2k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
家族アルバムみてね 開発風景 #realm_jp
Realm meetup#7
http://realm.connpass.com/event/19719/
ainame
September 29, 2015
More Decks by ainame
See All by ainame
Swift 5.7で変わる正規表現を試してみよう
ainame
4
7.7k
iOSDC 2021 - App Store用スクリーンショットの自動生成をアラビア語対応してSwiftUIで実装してみた
ainame
0
6k
DNN/GPU with Ruby #rubykaigi
ainame
2
3.3k
Server Side Swift実用性評価 2017 #iosdc #b
ainame
3
4.5k
Process tons of jobs with Swift
ainame
0
1.9k
Swift on the ObjC #shibuyaswift
ainame
4
920
iOSで無限バックグラウンドアップロード(に挑戦してみた話)
ainame
2
5.3k
リファクタリングとtsort
ainame
1
1.8k
RubyMotionについて #mixiwwdc
ainame
2
450
Other Decks in Programming
See All in Programming
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
610
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.3k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
210
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.4k
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.3k
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.8k
共通化で考えるべきは、実装より公開する型だった
codeegg
0
210
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
350
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
140
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Site-Speed That Sticks
csswizardry
13
1.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
150
Practical Orchestrator
shlominoach
191
11k
Ruling the World: When Life Gets Gamed
codingconduct
0
280
Paper Plane
katiecoart
PRO
2
52k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
410
We Are The Robots
honzajavorek
0
270
Evolving SEO for Evolving Search Engines
ryanjones
0
240
How to Ace a Technical Interview
jacobian
281
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
ՈΞϧόϜΈͯͶ ։ൃ෩ܠ 3FBMNNFFUVQ !BJOBNF
˙ࣗݾհ w !BJOBNFੜҪஐ࢘ w גࣜձࣾϛΫγΟձࣨॴଐ w ͨ·ʹॻ͍ͯΔ✏IUUQBJOBNFIBUFCMPKQ
˙ΞδΣϯμ ՈΞϧόϜΈͯͶͷհ ։ൃνʔϜ 3FBMNಋೖͷ͖͔͚ͬ αʔόΫϥΠΞϯτͷಉظͷ࣮
ՈΞϧόϜΈͯͶͷ։ൃ෩ܠ͔ΒೖΓ 3FBMNΛಋೖͯ͠ϦϦʔε͢Δ·ͰͷΛ͠·͢
ՈΞϧόϜΈͯͶͷհ
˙ՈΞϧόϜΈͯͶ w εϚϗ࣌ͷՈΞϧόϜ w "OESPJEJ04Ұ෦ϒϥβରԠ w ࢠڙͷΛৼΓ͔͑Δඵಈը ࢠڙͷΛ ͍ͭͰɺͲ͜Ͱɺ͍ͭ·Ͱʂ
None
։ൃνʔϜ
˙։ൃνʔϜ w 4DSVNΛ࠾༻ w 10Y ։ൃऀY σβΠφY ଞνʔϜ݉2"Y w िؒεϓϦϯτͰ݄ճϦϦʔε
IUUQXXXNJUDIMBDFZDPNSFTPVSDFTTDSVNGSBNFXPSLqPXEJBHSBN
None
˙4DSVN্ͰͷλεΫ w ϢʔβʹՁ͕ಧ͔͘Ͳ͏͔Λج४ʹ༏ઌ͕͍ͭͯΔ w ඞཁʹԠͯ͡ແବͳ͘։ൃΛߦ͏ͨΊʹଐਓੑഉআ ։ൃऀຖͷ୲ϓϥοτϑΥʔϜΛແ͘͢ w J04"OESPJEಉ࣌ϦϦʔεͷͨΊ"1*J04"OESPJEͷॱͰ։ൃ ʮJ04ͷ2"தʹ"OESPJEΛ։ൃ͠J04৹ࠪதʹ"OESPJEͷ2"ʯͱ͍ ͏ྲྀΕ͕ΊΔ
3FBMNಋೖͷ͖͔͚ͬ
˙αʔόෛՙ w ༏ઌͷͰϓϩτλΠϓ࣌ظͷઃܭͷ··ϦϦʔε͍ͯͨ͠ w ΞϧόϜͷσʔλΫϥΠΞϯτͰӬଓԽ͓ͯ͠Βͣ ը໘ߋ৽ຖʹϦΫΤετ w ઍ୯Ґͷ3BJMTͷ"DUJWF3FDPSEͷΠϯελϯεੜ +40/·ͰͷγϦΞϥΠζతʹϘτϧωοΫʹͳΔˍ $16༗͢Δ΄Ͳ͔͔࣌ؒΔͷͰةͳ͍
< \ JE ˘˘ ^ \ JE ˘˘
^ > (&5BQJNFEJB@MFT ىಈ࣌ͱ͔ը૾Ξοϓϩʔυຖʹ ϦΫΤετΛඈ͢
\ JE ˘˘ ^ \ JE ˘˘ ^
˘˘ (&5BQJNFEJB@MFT < \ JE ˘˘ ^ \ JE ˘˘ ^ ˘˘ \ JE ˘˘ ^ \ JE ˘˘ ^ ˘˘ > େྔͷΦϒδΣΫτΛ ฦͦ͏ͱ͢Δͱ ඵ୯ҐͰॲཧ͠Α͏ͱ͢Δ
\ JE ˘˘ ^ \ JE ˘˘ ^
˘˘ (&5BQJNFEJB@MFT < \ JE ˘˘ ^ \ JE ˘˘ ^ ˘˘ \ JE ˘˘ ^ \ JE ˘˘ ^ ˘˘ > ΞϧόϜ݅ͷଟ͍Ϣʔβ͕ େྔʹը૾Ξοϓϩʔυ͢Δͱ ϦΫΤετ͕٧·Δ
˙Ͳ͏͢Δ͔ʁ w ΞϓϦଆͷଞͷػೳվमͷํ͕ॏཁʢ10அʣ w େ෦ͷϢʔβʔΞϧόϜͷ͕݅গͳ͍ͷͰ0, w ಉظͷ࣮ΛܾҙͭͭαʔόΛଟΊʹฒͯ͠Β͑͘Δ w मਖ਼λεΫΛόοΫϩάʹͷ͔ͤͯΒϲ݄ޙʹΑ͏͘ணख
˙3FBMNΛ͏ w 3FBMNJ04"OESPJEͰͦΕͧΕ΄΅ಉ͍͡ํ͕Ͱ͖Δ w εΩʔϚ౷ҰͰ͖Δ w εΫϥϜνʔϜʹ͏͚ͬͯͭ
αʔόΫϥΠΞϯτಉظ
˙ಉظʁΩϟογϡʁ w αʔό্ͷσʔλΛQVMM͢Δ͚࣮࣭ͩΩϟογϡʁ؆୯Ͱྑ͍ w ೦ͷͨΊෆ߹࣌༻ͷΩϟογϡআϘλϯ༻ҙ w 30*ཁ݅ʹݟ߹Θͳ͍ͨΊ&WFSOPUFͷΑ͏ͳ ෳࡶͳ࣮ͯ͠ͳ͍ IUUQTHJUIVCDPNOJOKJOLVO&%".4ZODCMPCNBTUFS&%". +BQBOFTFNE
None
None
˙શ݅ࠩऔಘ"1* w ΞϧόϜͷσʔλΛಉظ͢ΔͨΊͷ"1*Λͭ༻ҙ w ͭશ݅ಉظ༻ w ॳճʹϒϩοΫͤͣ6*ʹөग़དྷΔ w ͏ͭࠩऔಘ༻ w
ΞϓϦىಈ࣌ͱ͔௨डऔΓ࣌ʹݺͼग़͢ w ͍ͣΕʹͤΑϖʔδϯάͷ࣮ඞཁ
˙ϖʔδϯάͷ*' w DVSTPS QBHJOH5PLFO ํࣜΛ࠾༻ w ΫϥΠΞϯτϖʔδϯάʹ͍ͭͯ΄ͱΜͲߟ͑ͳͯ͘ྑ͍ w
࣍ճɺಉظΛ͢Δࡍʹ࠷ޙͷDVSTPSΛϦΫΤετʹ͢ (&5GPP ˑDVSTPS˒ˑ$J",(K#Q˒ ˑIBT/FYU˒USVF (&5GPP DVSTPS$J",(K#Q ˑDVSTPS˒ˑX:K#Q09"˒ ˑIBT/FYU˒USVF (&5GPP DVSTPSX:K#Q09" ˑDVSTPS˒ˑJ"K,#U(M˒ ˑIBT/FYU˒GBMTF (PPHMF "1*c(PPHMF 1MBUGPSNc(PPHMF%FWFMPQFSTIUUQTEFWFMPQFSTHPPHMFDPN BQJ IMKBQBHJOBUJPO %SPQCPY$PSF"1*FOEQPJOUSFGFSFODFIUUQTXXXESPQCPYDPNEFWFMPQFSTDPSFEPDTEFMUB
w .Z42-ͰޮΑ͘ϖʔδϯά͢Δʹʁ w UJNFTUBNQͱJE 1, Λಉ࣌ʹ͛ͯ3BOHFΫΤϦʹ͢Δͱྑ͍ ˙.Z42-ͱϖʔδϯά 4&-&$5
'30.GPP-*.*50''4&5ꅾְ 4&-&$5 '30.GPP8)&3&VQEBUFE@BU -*.*5VQEBUFE@BUꅾ醱儗כ 4&-&$5 '30.GPP 8)&3& VQEBUFE@BU 03 VQEBUFE@BU "/%JE 03%&3#:VQEBUFE@BU"4$ JE"4$-*.*5 ࢀߟͳΜ͔ͩΒ$06/5 ͱ͔42-@$"-$@'06/%@3084ͱ͔-*.*50''4&5ͷϖʔδϯάΊΑ͏ͥIUUQUPHFUUFSDPNMJ
˙ΫϥΠΞϯτ w ্ड़ͷ"1*Λར༻͠ඇৗʹ؆୯ͳϩδοΫͰಉظ͕࣮ݱՄೳ w J04ͱ"OESPJEͰεΩʔϚҰॹ w ؔ࿈͢ΔΫϥε΄΅ಉ͡ઃܭͰ͍͚Δ
QVCMJDWPJEVQEBUF OBM-JTU.FEJB'JMFNFEJB'JMFT \ 3FBMNSFBMNHFU3FBMN USZ\ SFBMNCFHJO5SBOTBDUJPO GPS .FEJB'JMFNFEJB'JMFNFEJB'JMFT
\ JG NFEJB'JMFJT%FMFUFE \ SFBMNXIFSF "MCVN.FEJB'JMFDMBTT FRVBM5P JE NFEJB'JMFJE OE'JSTU SFNPWF'SPN3FBMN DPOUJOVF ^ SFBMNDPQZ5P3FBMN0S6QEBUF DPOWFSU5P3FBMN0CKFDU NFEJB'JMF ^ SFBMNDPNNJU5SBOTBDUJPO OPUJGZ6QEBUF ^OBMMZ\ SFBMNDMPTF ^ ^
QVCMJDWPJEVQEBUF OBM-JTU.FEJB'JMFNFEJB'JMFT \ 3FBMNSFBMNHFU3FBMN USZ\ SFBMNCFHJO5SBOTBDUJPO GPS .FEJB'JMFNFEJB'JMFNFEJB'JMFT
\ JG NFEJB'JMFJT%FMFUFE \ SFBMNXIFSF "MCVN.FEJB'JMFDMBTT FRVBM5P JE NFEJB'JMFJE OE'JSTU SFNPWF'SPN3FBMN DPOUJOVF ^ SFBMNDPQZ5P3FBMN0S6QEBUF DPOWFSU5P3FBMN0CKFDU NFEJB'JMF ^ SFBMNDPNNJU5SBOTBDUJPO OPUJGZ6QEBUF ^OBMMZ\ SFBMNDMPTF ^ ^ "1*ͷϨεϙϯεΛ10+0ʹ Ϛοϐϯάͨ͠ͷ
QVCMJDWPJEVQEBUF OBM-JTU.FEJB'JMFNFEJB'JMFT \ 3FBMNSFBMNHFU3FBMN USZ\ SFBMNCFHJO5SBOTBDUJPO GPS .FEJB'JMFNFEJB'JMFNFEJB'JMFT
\ JG NFEJB'JMFJT%FMFUFE \ SFBMNXIFSF "MCVN.FEJB'JMFDMBTT FRVBM5P JE NFEJB'JMFJE OE'JSTU SFNPWF'SPN3FBMN DPOUJOVF ^ SFBMNDPQZ5P3FBMN0S6QEBUF DPOWFSU5P3FBMN0CKFDU NFEJB'JMF ^ SFBMNDPNNJU5SBOTBDUJPO OPUJGZ6QEBUF ^OBMMZ\ SFBMNDMPTF ^ ^ αʔόʔଆͰཧআ͞ΕͯͨΒ 3FBMN͔Βফ͢
QVCMJDWPJEVQEBUF OBM-JTU.FEJB'JMFNFEJB'JMFT \ 3FBMNSFBMNHFU3FBMN USZ\ SFBMNCFHJO5SBOTBDUJPO GPS .FEJB'JMFNFEJB'JMFNFEJB'JMFT
\ JG NFEJB'JMFJT%FMFUFE \ SFBMNXIFSF "MCVN.FEJB'JMFDMBTT FRVBM5P JE NFEJB'JMFJE OE'JSTU SFNPWF'SPN3FBMN DPOUJOVF ^ SFBMNDPQZ5P3FBMN0S6QEBUF DPOWFSU5P3FBMN0CKFDU NFEJB'JMF ^ SFBMNDPNNJU5SBOTBDUJPO OPUJGZ6QEBUF ^OBMMZ\ SFBMNDMPTF ^ ^ 10+0Λ3FBMN0CKFDUʹϚοϐϯάͨ͠ͷΛ ༩͑Δͱ৽نՃPSߋ৽͕উखʹߦΘΕΔ
˙ۤ࿑ w 2"தͷΫϥογϡɾϝϞϦϦʔΫൃੜ w ࣌҆ఆͯ͠ͳ͔ͬͨͷͰෳόʔδϣϯࢼͨ͠ʢࠓɾɾɾʁʣ w SFBMNKBWBॳճಋೖ͔ΒϦϦʔε·Ͱʹܭόʔδϣϯࢼͨ͠ W ॳճಋೖ W
W ։ൃதʹVQ W4/"14)05 W͕2"தʹ4*(4&(7ͰVQ W 4/"14)05Ͱ4*("#35͕ग़ͨͷͰҰؾʹͨ͠ W ˡWͰ҆ఆͨ͠ͷͰϦϦʔε൛Ͱར༻
None
˙·ͱΊ w ՈΞϧόϜΈͯͶεΫϥϜνʔϜͰ։ൃ͍ͯ͠Δ w 3FBMNΈͯͶνʔϜͷ։ൃελΠϧʹϚον͍ͯͨ͠ w +40/"1*ͱ3FBMNͷΈ߹Θͤͱͯγϯϓϧ͔ͭڧྗ
˙࠾༻త ΈͯͶνʔϜͰ ʮJ04"OESPJEͲͪΒॻ͖͍ͨʂʯ ʮ3BJMT͚ͬͯͨͲΞϓϦॻ͍͍͖͍ͯͨʂʯ ʮੈքதͷՈʹসإΛಧ͚͍ͨʂʂʯ ͳͲͷΤϯδχΞΛืू͓ͯ͠Γ·͢ʂʂ