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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takashi Kanemoto
August 27, 2017
Programming
0
550
Sheetsu
Symfony Meetup #17 LT 資料
https://symfony.connpass.com/event/63659/
Takashi Kanemoto
August 27, 2017
Tweet
Share
More Decks by Takashi Kanemoto
See All by Takashi Kanemoto
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
5
1.1k
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
490
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
1k
今年書いた技術記事で伸びたやつの自慢と自分の中では力作なのにさっぱり伸びなかったやつの供養 / My Tech Articles 2024
ttskch
2
180
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
47
42k
データベース/SQL超入門!完全初心者向けに世界一分かりやすく解説します
ttskch
1
7.4k
Symfony UX Autocompleteとかいう 顧客が本当に必要だったもの
ttskch
0
2.2k
就活生あるいは新人エンジニアさんへのお節介なアドバイス
ttskch
0
1.6k
symfony/pantherでWordleを解いてみた
ttskch
0
380
Other Decks in Programming
See All in Programming
CSC307 Lecture 05
javiergs
PRO
0
490
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
120
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
640
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
組織で育むオブザーバビリティ
ryota_hnk
0
170
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
250
Data-Centric Kaggle
isax1015
2
760
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
370
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
900
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
20
6.8k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.9k
BBQ
matthewcrist
89
10k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Building the Perfect Custom Keyboard
takai
2
680
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
300
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
The agentic SEO stack - context over prompts
schlessera
0
630
The Cult of Friendly URLs
andyhume
79
6.8k
How to build a perfect <img>
jonoalderson
1
4.9k
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 :)