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
Takumi KASHIMA
January 14, 2016
Technology
0
66
ライブラリを作った話
テックランチ
Takumi KASHIMA
January 14, 2016
Tweet
Share
More Decks by Takumi KASHIMA
See All by Takumi KASHIMA
Firebase Cloud Functionsを使ってみた話
kashima
0
3.1k
趣味でサービスを作った話
kashima
1
90
動画のあれこれ
kashima
0
80
朝活のすすめ
kashima
0
44
Realmという衝撃
kashima
0
38
Other Decks in Technology
See All in Technology
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
450
AIエージェントを開発しよう!-AgentCore活用の勘所-
yukiogawa
0
170
SREのプラクティスを用いた3領域同時 マネジメントへの挑戦 〜SRE・情シス・セキュリティを統合した チーム運営術〜
coconala_engineer
2
670
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
460
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
モダンUIでフルサーバーレスなAIエージェントをAmplifyとCDKでサクッとデプロイしよう
minorun365
4
220
OWASP Top 10:2025 リリースと 少しの日本語化にまつわる裏話
okdt
PRO
3
820
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
2
2.9k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
160
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2k
10Xにおける品質保証活動の全体像と改善 #no_more_wait_for_test
nihonbuson
PRO
2
320
Featured
See All Featured
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
190
The Spectacular Lies of Maps
axbom
PRO
1
520
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
98
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Building an army of robots
kneath
306
46k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
Raft: Consensus for Rubyists
vanstee
141
7.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
100
Abbi's Birthday
coloredviolet
1
4.8k
KATA
mclloyd
PRO
34
15k
Between Models and Reality
mayunak
1
190
GraphQLとの向き合い方2022年版
quramy
50
14k
Transcript
ϥΠϒϥϦΛ࡞ͬͨ ULBTIJNB
ۙگ
None
ϥΠϒϥϦΛ࡞ͬͨ ULBTIJNB
ԿͷϥΠϒϥϦ ΞϓϦͷલ໘ʹৗʹը૾Λදࣔ͢ΔϥΠϒϥϦ ը૾Λυϥοάͯ͠ಈ͔͢͜ͱͰ͖Δ ͜Μͳͷ
IUUQTHJUIVCDPNULBTIJNB BDDFTPSZ (JU)VCʹ͋Γ·͢
σϞ
ԿͰͭͬͨ͘ͷ͔ ɾͲ͏ͬͯ࡞Δ͔ʹڵຯ͕͋ͬͨ ɾ,PUMJOΛࢼͯ͠Έ͔ͨͬͨ ɾϥΠϒϥϦΛ࡞ΔࣝΛ͚͍ͭͨ
Ͳ͏ͬͯ࡞͔ͬͨ ɾ"DUJWJUZ-JGFDZDMF$BMMCBDLT ɾ8JOEPX.BOBHFS
"DUJWJUZ-JGFDZDMF$BMMCBDLT "QQMJDBUJPOΫϥεʹઃఆ͢Δ͜ͱͰ "DUJWJUZͷϥΠϑαΠΫϧΛݕͰ͖Δ "DUJWJUZͷϥΠϑαΠΫϧ IUUQXXXKBWBESJWFKQBOESPJEBDUJWJUZJOEFYIUNM
8JOEPX.BOBHFS IUUQUFDICPPTUFSPSHBOESPJEVJ "OESPJEͷը໘ෳͷϨΠϠʔͰߏ͞Ε͓ͯΓɺ ใͷॏཁɾ༏ઌʹΑ͍͚ͬͯΒΕ͍ͯΔ "DUJWJUZ "DUJWJUZͷϥΠϑαΠΫϧʹ ࠨӈ͞ΕͣৗʹදࣔͰ͖Δ
,PUMJOͱ ,PUMJOɺδΣοτϒϨΠϯζࣾͷΞϯυϦʔɾϒϨεϥ ϑɺυϛτϦʔɾδΣϝϩϑ͕։ൃͨ͠ɺ੩తܕ͚ͷΦ ϒδΣΫτࢦϓϩάϥϛϯάݴޠͰ͋Δɻ +BWBݴޠΑΓ؆ܿʹॻ͚Δ͜ͱΛࢦ͍ͯ͠Δɻ ͔ͨ͠ʹ,PUMJOͷ)FMMP8PSMEϓϩάϥϜͰɺ+BWBͷ )FMMP8PSMEϓϩάϥϜΑΓ͍ɻ IUUQTKBXJLJQFEJBPSHXJLJ,PUMJO
var list = array("catfish", "water") List<String> list = new ArrayList<>();
list.add("catfish"); list.add("water"); ,PUMJO +BWB ,PUMJO؆ܿʹॻ͚ͯ࠷ߴ
,PUMJOͰྑ͔ͬͨ͜ͱ ϕετ
ܕਪ ܕΛॻ͔ͳͯ͘ྑ͍ͷ͔ͳΓॿ͔Δ val number = 3 val list = array("catfish",
"water") val cat = Cat("name")
ϥϜμࣜ view.setOnClickListener { v -> Log.d(TAG, "onClick") } view.setOnClickListener(View.OnClickListener() {
@Override public void onClick(View v) { Log.d(TAG, "onClick"); } }); ,PUMJO +BWB
OVMM҆શ String text = null; int length = 0; if
(text != null) { length = text.length(); } ,PUMJO +BWB val text : String? = null val length = text?.length() ?: 0 OVMMҎ߱ͷϝιουݺΕͳ͍
,PUMJO#FUB ݱࡏ
ϥΠϒϥϦͷݟ·ͩ·ͩʜ ·ͨޙ
·ͱΊ
৽͍͜͠ͱͷઓ େ͖ͳϞνϕʔγϣϯ
ϥΠϒϥϦΛ࡞ͬͯ ઓ͍͖͍ͯͨ͠