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
Easy hacking, and enjoy life.
Search
Katsumata Ryo
November 13, 2019
Technology
0
210
Easy hacking, and enjoy life.
雑に書いて「楽」をしよう
業務中に業務外で小さいコードを書くお話 ( 日々のこと)
Katsumata Ryo
November 13, 2019
Tweet
Share
More Decks by Katsumata Ryo
See All by Katsumata Ryo
GMO pepabo and hey 2022-05-26
katsumataryo
0
930
hey Talk Product Manager#2 LT
katsumataryo
3
1.1k
mobprograming with onboarding
katsumataryo
3
4k
成長に期待しない目的志向実践のススメ
katsumataryo
8
8.4k
railsdm_katsumata.pdf
katsumataryo
9
7.8k
Other Decks in Technology
See All in Technology
組織観点からIAM Identity CenterとIAMの設計を考える
nrinetcom
PRO
1
130
Oracle Cloud Infrastructure:2025年9月度サービス・アップデート
oracle4engineer
PRO
0
310
Windows で省エネ
murachiakira
0
140
あなたのWebサービスはAIに自動テストしてもらえる?アクセシビリティツリーで読み解く、AIの『視点』
yusukeiwaki
1
3.3k
AIを導⼊しても、 開発⽣産性は"爆増"していない なぜ?
kinosuke01
4
3.6k
Sidekiq その前に:Webアプリケーションにおける非同期ジョブ設計原則
morihirok
17
6.2k
OCI Network Firewall 概要
oracle4engineer
PRO
1
7.7k
kaigi_on_rails_2025_設計.pdf
nay3
8
4k
API提供者のためのMCPサーバー設計ガイド / MCP Server Design Guide for API Providers
yokawasa
0
230
about #74462 go/token#FileSet
tomtwinkle
1
260
全てGoで作るP2P対戦ゲーム入門
ponyo877
3
1.2k
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
9
3.6k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
840
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Side Projects
sachag
455
43k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Bash Introduction
62gerente
615
210k
Site-Speed That Sticks
csswizardry
10
870
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Automating Front-end Workflow
addyosmani
1371
200k
Being A Developer After 40
akosma
90
590k
Scaling GitHub
holman
463
140k
Transcript
ࡶʹॻ͍ͯʮָʯΛ͠Α͏ &CJTVSC -5!LBUTVNBUB@SZP ͨͷ &BTZ IBDLJOH BOE FOKPZMJGF
.& > katsumata = SelfIntroduction.new(“katsumata”) > katsumata.work.job => [“backend”, “team
development”] > katsumata.work.corp => “STORES.jp” > > katsumata.hobby => [“Guitar”, “Camera”] > katsumata.families => [“࠺”, “͓ࢠ”]
$0/5&/54 ى ɾਐḿཧʹasanaΛ͍ͬͯΔ ɾिใΛॻ͍͍ͯΔ ঝ ɾिใͷεΫϦϓτΛॻ͍ͨ స ɾasana෦ΛΓग़ͨ͠ ݁ ɾ(ܗ͚ͩͷ)·ͱΊ
ۀதʹۀ֎Ͱ খ͍͞ίʔυΛॻ͓͘
ى ɾʑεΫϥϜʹ͔ͬͬͯӡ༻ͯ͠Δ ɾνʔϜνʔϜӡ༻ͳͷͰશ෦Ѳ͕ͳ͔ ͳ͔Ή͔͍ͣ͠(ͷ༰ྔ͕Γͳ͍) ɾࣗͨͪͷݟ௨͠ͷͨΊͱPM͕શମײΛ ݟ௨ͨ͢ΊʹasanaΛ͍ͬͯΔ TEAM PJ TEAM PJ
TEAM
ى ͜Μͳײ͡ͷϘʔυ͕͋Δ (ϑΣχοΫε͕ඈΜͩΓ͔ͯ͠Θ͍͍)
ى Timeline͕ศར
ى ͜Μͳײ͡ͰQiita Teamʹຖि֤νʔ ϜिใΛ࡞͍ͬͯΔ
खॻ͖ͩͬͨ
ى िใͷߏ # िใ ## վળ ### ઌिͬͨ͜ͱ - task
### ࠓिͬͨ͜ͱ -task ## Project 1 ### ઌिͬͨ͜ͱ - task ### ࠓिͬͨ͜ͱ -task ### KPT - keep / problem / try ## Project 2 <ಉ্>
खॻ͖ͩͬͨ
िใͷεΫϦϓτΛॻ͍ͨ
ঝ ՝ ຖि΄΅ܾ·ͬͨϑΥʔϚοτͰॻ͍͍ͯΔ ͷʹҰिؒॻ͘ͷ·͊·͔͔͊࣌ؒΔɻ ͔Β͍ɻ ରࡦ िใΛॻ͖ͨ͘ͳ͍Ͱ͟͝Δɻ
ঝ asanaʹ͢Δ ͋ͱ asana API͋Δ͡ΌΜ
ঝ ଟ͜Μͳײ͡Ͱߦ͚ΔΜ͡Όͳ͍ͩΖ͏͔ ɾasana ͔ΒͬͨλεΫΛൈ͖ग़͢ ↓ ɾिใ༻ʹܗ͢Δ ↓ ɾQiita Teamʹߘ͢Δ ↓
ɾ࣮ߦͯ͠slackʹ௨͢Δ ·ͨɺ͍ͭ·Ͱ͏͔Θ͔Βͳ͍ͷͰ ɾࣗ༻ͰखݩͰಈ͚͍͍ ɾͱΓ͋͑ͣಈ͚͍͍ ͱ͍͏ํ
ঝ asana͔ΒͬͨλεΫΛൈ͖ग़͢ ࠷ॳ gem Λ୳͕ͨ͠ެࣜͷ͕͍ͭํ͕શ વϐϯͱ͜ͳ͔ͬͨɻ ಛʹ֤λεΫʹݟੵΓϙΠϯτΛৼ͍ͬͯΔ ΧελϜϑΟʔϧυͷσʔλ͕શવऔΕͳ͍ɻ ެࣜͷAPIυΩϡϝϯτΛݟͨΒઈରऔΕΔɻ ͠Όʔͳ͠ͳͷͰͦΕ༻ͷΫϥεΛࣗͰॻ
͘͜ͱʹͨ͠ɻ
ঝ asanaΛߏ͢ΔཁૉͷਪଌͷҰ෦ Workspaces Projects Tasks Sections Users Stories Sub Tasks
・name ・custom fields …andmore ※全体的に絡む
ঝ asana͔ΒͬͨλεΫΛൈ͖ग़͢
ঝ िใ༻ʹܗ͢Δ
ঝ िใ༻ʹܗ͢Δ( ۤ͠Έͷࠟ )
ঝ qiita teamʹߘ͢Δ
ঝ ࣮ߦͯ͠slackʹ௨͢Δ
ঝ ߘͰ͖ͨ
ঝ ௨͖ͨ
ঝ Before ɾʹ֤PJϦʔμʔ͕Qiitaʹॻ͖ॻ͖ ɾͬͨλεΫΛΈͳ͕Βจࣈى͜͠ ɾKPTΛॻ͖ग़͠ ɾݟੵΓϙΠϯτܭࢉ͞Εͯͳ͔ͬͨ After ɾʑͷੜ׆ͰasanaͰਐḿཧ͓͚ͯࣗ͠ಈͰिใ͕Ͱ͖Δ ɾใࠂτϐοΫε͚͔͚ͩྑ͘ͳͬͨ ɾݟੵΓϙΠϯτ͕ܭࢉ͞ΕΔΑ͏ʹͳͬͨ
ɾͦͦΘ͕ͨ͠Λ࡞Βͳͯ͘Α͘ͳͬͨ ɾΘָ͕͍ͨ͠͠ɻ ɾಉ͡ΈͰଞͷϓϩδΣΫτ͕૿͑ͯใ͕औΕΔ
BTBOB෦ΛΓग़ͨ͠
స ࣮ݸਓͰຖճࣅͨΑ͏ͳͷॻ͍ͯΔ… ɾwunderlist ɾTodoist ɾasana (ݸਓͰใ༻ʹॻ͍ͨͷΛແͨ͘͠) ɾTrello ɾasana (new!!) ͨͿΜ·ͨॻͧ͘ɻɻɻΦϨɻɻɻ
స gem ʹ͠Αʔ ٱʑʹ͚ͬͨͲ؆୯ͩͬͨ ɾ`bundle gem asaner -t` ɾasaner.gemspec Λฤू
ɾgem ґଘΛॻ͍ͨΓ ɾ`rake build` ɾ`bundle exec rake release` ɾ2FAؔ࿈ͰϋϚͬͨ https://rubygems.org/gems/asaner
స pryͰͬͨ $ gem install asaner $ pry [2] pry(main)>
require 'asaner' => true [3] pry(main)> client = Asaner::Client.new(ENV["ASANA_ACCESS_TOKEN"]) [4] pry(main)> response = client.me [5] pry(main)> response[:status] => 200 [6] pry(main)> response[:body] => {"data"=> {"gid"=>”***********", "email"=>"
[email protected]
", "name"=>"Ryo Katsumata", "photo"=> {"image_21x21"=>"https://s3.amazonaws.com/profile_photos/877225423817499.y 96p7jNRqn6joM7AP92X_21x21.png", "resource_type"=>"user", "workspaces"=> [{“gid”=>”00000000000000“, ”name“=>”My Company“, ”resource_type“=>”workspace“ . . .ུ
݁ͼ ಛʹ·ͱ·Βͳ͔ͬͨ
݁ ײ ɾۀͷ߹ؒͷΓॻ͖Ͱࡶ͚ͩͲग़དྷ্͕Δͱָ͠ ͍ ɾۀͷ߹ؒͷΓॻ͖͚ͩͲॻ͍͓ͯ͘ͱ݁ߏָʹ ͳΔ ɾ(ݟͯΒͬͯΘ͔Δͱࢥ͍·͕͢)gem͕͋Δͱ͜ Ζίʔυ͕؆ܿ ɾใࠂτϐοΫε·ͩه͍ͯ͠Δ͚Ͳasana্ʹ هͯ͠र͍͍ͨ
ɾ͜ͷํࣜͰϓϩμΫτͷόοΫΤϯυ౷Ұ͍ͨ͠ ͜ͱʹͳͬͨ ɾίʔυΛॻ͍ͯԿָ͔͕ʹͳΔͷָ͍͠ɻ ɾ·ͩҠ͚͔ͨͩͩ͠Βҭ͍͖͍ͯͯͨɻ
&OKPZ IBDLJOH BOEFOKPZMJGF
͋Γ͕ͱ͏͍͟͝·ͨ͠