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
Sheetsu
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Takashi Kanemoto
August 27, 2017
Programming
560
0
Share
Sheetsu
Symfony Meetup #17 LT 資料
https://symfony.connpass.com/event/63659/
Takashi Kanemoto
August 27, 2017
More Decks by Takashi Kanemoto
See All by Takashi Kanemoto
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
2
180
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
5
1.2k
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
530
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
1.3k
今年書いた技術記事で伸びたやつの自慢と自分の中では力作なのにさっぱり伸びなかったやつの供養 / My Tech Articles 2024
ttskch
2
200
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
48
44k
データベース/SQL超入門!完全初心者向けに世界一分かりやすく解説します
ttskch
2
7.9k
Symfony UX Autocompleteとかいう 顧客が本当に必要だったもの
ttskch
0
2.3k
就活生あるいは新人エンジニアさんへのお節介なアドバイス
ttskch
0
1.7k
Other Decks in Programming
See All in Programming
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
140
The Monolith Strikes Back: Why AI Agents ❤️ Rails Monoliths
serradura
0
340
tRPCの概要と少しだけパフォーマンス
misoton665
2
220
Angular Signal Forms
debug_mode
0
110
ローカルで稼働するAI エージェントを超えて / beyond-local-ai-agents
gawa
3
280
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
140
Kingdom of the Machine
yui_knk
2
460
瑠璃の宝石に学ぶ技術の声の聴き方 / 【劇場版】アニメから得た学びを発表会2026 #エンジニアニメ
mazrean
0
260
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
140
NakouPAY説明用
annouim0
0
240
セグメントとターゲットを意識するプロポーザルの書き方 〜採択の鍵は、誰に刺すかを見極めるマーケティング戦略にある〜
m3m0r7
PRO
0
560
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
2
620
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
120
Code Reviewing Like a Champion
maltzj
528
40k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
890
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Docker and Python
trallard
47
3.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Transcript
Sheetsu #symfony_meetup 2017.08.27 @ttskch
@ttskchʢ͖ͨͭͪʣ • ໊ݹ͔Βདྷ·ͨ͠ • ΧϧςοτίϛϡχέʔγϣϯζCTO • PHPྺ5.5ɺSymfonyྺ3ʢROMઐʣ • গ͚͓ͩ͠ख͍͠·ͨ͠
Χϧςοτίϛϡχέʔγϣϯζ • ઈࢍPHPerେืूதʂ • ϦεςΟϯάࠂӡ༻πʔϧʮLisketʯΛఏڙ • ࣌ΛઌऔΔϗϫΠτاۀͰ͢
ΤϯδχΞͷಇ͖͢͞େࣄʹͯ͠·͢ Χϧςοτίϛϡχέʔγϣϯζ
SNS͔ϝʔϧͰ͓ؾܰʹ͝࿈བྷ͍ͩ͘͞✨ Χϧςοτίϛϡχέʔγϣϯζ
Sheetsu #symfony_meetup 2017.08.27 @ttskch
sheetsu.com
sheetsu.com
sheetsu.com
sheetsu.com
sheetsu.com
$client = new \GuzzleHttp\Client(); $client ->post('https://sheetsu.com/apis/v1.0/xxxxxxxxxxxx', [ 'json' => [
'id' => 6, 'name' => 'ttskch', 'score' => 100, ], ]); sheetsu.com
sheetsu.com
ʘศརʂʂʂʗ
ͱ͜Ζ͕͋Δ
402 Payment Required
͑ͬ
None
͑ͬ
None
ͳΜ͔ແྉϓϥϯ͕ ͠Εͬͱͳ͘ͳͬͯͨ ʘ(^o^)ʗ
ͱ͍͏Θ͚Ͱ
ttskch/pheetsu
ͷɺΛ͔ͨͬͨ͠ͷͰ͕͢
ͷɺΛ͔ͨͬͨ͠ͷͰ͕͢
ͷɺΛ͔ͨͬͨ͠ͷͰ͕͢
ؒʹ߹͍·ͤΜͰͨ͠ ʘ(^o^)ʗ
$pheetsu = \Ttskch\Pheetsu\Factory\PheetsuFactory::create( 'google_oauth2_client_id', 'google_oauth2_client_secret', 'google_oauth2_redirect_uri', 'google_oauth2_javascript_origin', 'spreadsheet_id', 'sheet_name' );
$pheetsu->authenticate(); $pheetsu->create([ 'id' => 6, 'name' => 'ttskch', 'score' => 100, ]); Usageʢ༧ఆʣ
σϞಈ͖·͢ʂʢreadͷΈʣ https://github.com/ttskch/pheetsu/tree/master/demo
ͨ͠Β ͬͯΈ͍ͯͩ͘͞
͓·͚
ྻ൪߸ˠྻ໊ͷม͕ҙ֎ͱ͔ͬͨ͠ • ྫɿ3→Cɺ30→AD • ͍͍ɺ26ਐͶ • ͭ
$base26 = base_convert($number, 10, 26); $from = '0123456789abcdefghijklmnop'; $to =
'0ABCDEFGHIJKLMNOPQRSTUVWXY'; $name = ''; foreach (str_split($base26) as $digit) { $digit = substr($to, strpos($from, $digit), 1); $name .= $digit; } echo $name . PHP_EOL; ྻ൪߸ˠྻ໊ͷม͕ҙ֎ͱ͔ͬͨ͠
$number = 3; // -> C ྻ൪߸ˠྻ໊ͷม͕ҙ֎ͱ͔ͬͨ͠
$number = 3; // -> C $number = 30; //
-> AD ྻ൪߸ˠྻ໊ͷม͕ҙ֎ͱ͔ͬͨ͠
$number = 3; // -> C $number = 30; //
-> AD $number = 26; // -> A0 ͑ͬ ྻ൪߸ˠྻ໊ͷม͕ҙ֎ͱ͔ͬͨ͠
$number = 3; // -> C $number = 30; //
-> AD $number = 26; // -> A0 ͑ͬ // Z ʹͳͬͯ΄͔ͬͨ͠ͷʹ… ྻ൪߸ˠྻ໊ͷม͕ҙ֎ͱ͔ͬͨ͠
$from = '0123456789abcdefghijklmnop'; $to = '0ABCDEFGHIJKLMNOPQRSTUVWXY'; ྻ൪߸ˠྻ໊ͷม͕ҙ֎ͱ͔ͬͨ͠
$from = '0123456789abcdefghijklmnop'; $to = '0ABCDEFGHIJKLMNOPQRSTUVWXY'; ͋ͬɾɾɾʢ͠ʣ ྻ൪߸ˠྻ໊ͷม͕ҙ֎ͱ͔ͬͨ͠
Α͔ͬͨΒ಄ͷମૢʹ ղ͍ͯΈ͍ͯͩ͘͞
࣮ྫ https://github.com/ttskch/pheetsu/blob/ master/src/Service/ColumnNameResolver.php ͬͱΤϨΨϯτͳղ๏͋ͬͨΒڭ͍͑ͯͩ͘͞
Thanks :)