$30 off During Our Annual Pro Sale. View Details »

Sheetsu

 Sheetsu

Symfony Meetup #17 LT 資料
https://symfony.connpass.com/event/63659/

Takashi Kanemoto

August 27, 2017
Tweet

More Decks by Takashi Kanemoto

Other Decks in Programming

Transcript

  1. Sheetsu
    #symfony_meetup 2017.08.27 @ttskch

    View Slide

  2. @ttskchʢ͖ͨͭͪʣ
    • ໊ݹ԰͔Βདྷ·ͨ͠
    • ΧϧςοτίϛϡχέʔγϣϯζCTO
    • PHPྺ5.5೥ɺSymfonyྺ3೥ʢROMઐʣ
    • গ͚͓ͩ͠ख఻͍͠·ͨ͠

    View Slide

  3. Χϧςοτίϛϡχέʔγϣϯζ
    • ઈࢍPHPerେืूதʂ
    • ϦεςΟϯά޿ࠂӡ༻πʔϧʮLisketʯΛఏڙ
    • ࣌୅ΛઌऔΔϗϫΠτاۀͰ͢

    View Slide

  4. ΤϯδχΞͷಇ͖΍͢͞௒େࣄʹͯ͠·͢
    Χϧςοτίϛϡχέʔγϣϯζ

    View Slide

  5. SNS͔ϝʔϧͰ͓ؾܰʹ͝࿈བྷ͍ͩ͘͞✨
    Χϧςοτίϛϡχέʔγϣϯζ

    View Slide

  6. Sheetsu
    #symfony_meetup 2017.08.27 @ttskch

    View Slide

  7. sheetsu.com

    View Slide

  8. sheetsu.com

    View Slide

  9. sheetsu.com

    View Slide

  10. sheetsu.com

    View Slide

  11. sheetsu.com

    View Slide

  12. $client = new \GuzzleHttp\Client();
    $client
    ->post('https://sheetsu.com/apis/v1.0/xxxxxxxxxxxx', [
    'json' => [
    'id' => 6,
    'name' => 'ttskch',
    'score' => 100,
    ],
    ]);
    sheetsu.com

    View Slide

  13. sheetsu.com

    View Slide

  14. ʘศརʂʂʂʗ

    View Slide

  15. ͱ͜Ζ͕͋Δ೔

    View Slide

  16. 402 Payment Required

    View Slide

  17. ͑ͬ

    View Slide

  18. View Slide

  19. ͑ͬ

    View Slide

  20. View Slide

  21. ͳΜ͔ແྉϓϥϯ͕
    ͠Εͬͱͳ͘ͳͬͯͨ
    ʘ(^o^)ʗ

    View Slide

  22. ͱ͍͏Θ͚Ͱ

    View Slide

  23. ttskch/pheetsu

    View Slide

  24. ͷɺ࿩Λ͔ͨͬͨ͠ͷͰ͕͢

    View Slide

  25. ͷɺ࿩Λ͔ͨͬͨ͠ͷͰ͕͢

    View Slide

  26. ͷɺ࿩Λ͔ͨͬͨ͠ͷͰ͕͢

    View Slide

  27. ؒʹ߹͍·ͤΜͰͨ͠
    ʘ(^o^)ʗ

    View Slide

  28. $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ʢ༧ఆʣ

    View Slide

  29. σϞ͸ಈ͖·͢ʂʢreadͷΈʣ
    https://github.com/ttskch/pheetsu/tree/master/demo

    View Slide

  30. ׬੒ͨ͠Β
    ࢖ͬͯΈ͍ͯͩ͘͞

    View Slide

  31. ͓·͚

    View Slide

  32. ྻ൪߸ˠྻ໊ͷม׵͕ҙ֎ͱ೉͔ͬͨ͠
    • ྫɿ3→Cɺ30→AD
    • ͸͍͸͍ɺ26ਐ਺Ͷ
    • ͭ

    View Slide

  33. $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;
    ྻ൪߸ˠྻ໊ͷม׵͕ҙ֎ͱ೉͔ͬͨ͠

    View Slide

  34. $number = 3; // -> C
    ྻ൪߸ˠྻ໊ͷม׵͕ҙ֎ͱ೉͔ͬͨ͠

    View Slide

  35. $number = 3; // -> C
    $number = 30; // -> AD
    ྻ൪߸ˠྻ໊ͷม׵͕ҙ֎ͱ೉͔ͬͨ͠

    View Slide

  36. $number = 3; // -> C
    $number = 30; // -> AD
    $number = 26; // -> A0 ͑ͬ
    ྻ൪߸ˠྻ໊ͷม׵͕ҙ֎ͱ೉͔ͬͨ͠

    View Slide

  37. $number = 3; // -> C
    $number = 30; // -> AD
    $number = 26; // -> A0 ͑ͬ
    // Z ʹͳͬͯ΄͔ͬͨ͠ͷʹ…
    ྻ൪߸ˠྻ໊ͷม׵͕ҙ֎ͱ೉͔ͬͨ͠

    View Slide

  38. $from = '0123456789abcdefghijklmnop';
    $to = '0ABCDEFGHIJKLMNOPQRSTUVWXY';
    ྻ൪߸ˠྻ໊ͷม׵͕ҙ֎ͱ೉͔ͬͨ͠

    View Slide

  39. $from = '0123456789abcdefghijklmnop';
    $to = '0ABCDEFGHIJKLMNOPQRSTUVWXY';
    ͋ͬɾɾɾʢ࡯͠ʣ
    ྻ൪߸ˠྻ໊ͷม׵͕ҙ֎ͱ೉͔ͬͨ͠

    View Slide

  40. Α͔ͬͨΒ಄ͷମૢʹ
    ղ͍ͯΈ͍ͯͩ͘͞

    View Slide

  41. ࣮૷ྫ
    https://github.com/ttskch/pheetsu/blob/
    master/src/Service/ColumnNameResolver.php
    ΋ͬͱΤϨΨϯτͳղ๏͋ͬͨΒڭ͍͑ͯͩ͘͞

    View Slide

  42. Thanks :)

    View Slide