LoginSignup
4
1

More than 5 years have passed since last update.

一泊二日でワークショップをした話

Last updated at Posted at 2018-06-10

現状

  • 生年月を正しく入力してアカ停止されたり、twitterAPIの仕様が変わってsteam使えなくなったりと問題が出ましてメンテしてないので動きません。。。

作ったもの

  • 商品価格調査bot (twitter)
    • カレーで検索させると ハウス シチュー屋シチュー クリーム 190g 105円 を返してくる程度の愛嬌はあるらしい

目的

  • とにかく仲間でアウトプットをしたかったので、一泊二日で出来る程度のアイデアを出して実装する
  • アウトプットが目的なので、どんな状態であれリリースする
  • 言語はある程度全員が触れそうなtypescript

要件

  • 画面を作らなくて良いようにインターフェイスをtwitterアカウント
  • 商品の型番などをメンション付けて呟くと、そのつぶやきを元にamazon, google shoppingなどのショッピングサイトの最安値リンクを返してくれる
  • 文字数制限があるのでURLは短くする

最初に書いた今回作りたいものの図

dPBFYjDG6CNtUOeiPnQ-G14PmKrtle5K38CmCu7sbe8hl_iLP1nbhCuVhSNOMXjDfIr4aRQXUPZJ9FKj_79Zf7HPoEBcvjpVTyx9FMgeMbqrJqyirNggb5D_r6muTVlEFRjyV-mgksAlL_tqSmHwbNbVeL-2F50x7VQodmFm51o1pw7VWllW4Fets9V5UlaUr06D_dpv29g1FbZRM9coSo0RB3R1Qz51Nq0FpQVOqA-X_Nn7.png

結果的に作ったものの図

fPBVIW9158VlVOfvWLv08kookzuWDbeMmTs5tP6WAsScAAEB3Ab4oKppZuGA5bbA-p2_dTtjBPfsMp0fYBgR0tE-xtTcJiwbcaEBPY53z_EKwivEqTKTihP1qdhNfYHB_DTMSBC0EmsRT-0dO4smmw3J21zk8SOG2uWo-3b42s8A_WJHKmT_VWLM0Uk-jUjW4x1QPXcxQaahub97ryoyPP3DxIs5bSU3iDe7krGeEPj9NbiH.png

サーバー

  • GCEのVMインスタンス(一番安いやつ)

言語など

  • typescript 2.9
  • node 10.4
  • npm 6.1

実装に使った時間

  • 1日目: 12-20
  • 2日目: 10-19
    • 休憩: 1h
    • 反省会(qiita記事記入時間含む): 1.5h 

困ったこと・辛かったこと

amazonの価格調査

  • amazon apiを利用したかったが、amazonアソシエイトの登録が面倒だったので、スクレイピングすることにした

google shoppingの価格調査

  • google apiを探したが見つからず。スクレイピングすることにした
  • スクレイピングを実際にやってみると、最安値・商品名までは取得できるが、最安値のリンクが取得できずに試行錯誤した

twitter api

  • npmから入れたtwitterのtd.sがインチキで使いものにならなかった。

bitly api

  • サイトの作り的な事だがtoken取得が面倒だった。

typescript

  • await/async/Promiseは値を返す時に試行錯誤する事が多い。
  • 育てればいいけど、結構anyに頼ってる。

インフラ

  • インフラエンジニアのありがたみがわかった。
  • setInterval()を使ったindex.jsをpm2でデーモン化しようとしたがうまくいかず、時間がないのでforeverに妥協した。

今回やれなかったこと

  • 最初に書いた今回作りたいものの図 に書いたように、インターフェイスに多様性を持たせられるようにAPIサーバーを立てる
  • もうちょっと価格を引っ張ってくるサイトを増やしたかった
  • 同じつぶやきが投稿できないので、エラーになっていたりすると返信返ってこないし、リトライができない
    • 検索ワードの末尾に _ 付けたりすれば、結果はほぼ同じのが返ってくるけども。
  • 正常系しか作れてないので、エラー落ち多い
  • SlackからAPIの呼び出しまで作りたかった。

最後に

  • とりあえずリリースまでちゃんとできてよかった
  • このようなワークショップを今後も継続してやりたいし、出来そうだなって思った
  • ちゃんと終われそうなお題は重要
  • 想定しているより、解決する問題は多い
  • 次の機会でもまたqiitaにはログを残していこう
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1