omohayui blog

おも‐はゆ・い【面映ゆい】[形][文]おもはゆ・し[ク]《顔を合わせるとまばゆく感じられる意》きまりが悪い。てれくさい。

Twitterの検索タイムラインウィジェットの廃止と対応策について

Twitterの公式のお知らせ

twittercommunity.com

Deprecating widget settings

In June 2016 we announced that we would be making it much easier for developers to create embedded timelines on their sites, by no longer requiring the timelines to be registered under widget settings. We launched publish.twitter.com to make it much easier to create timeline widgets without requiring you to make changes to your account settings, and to make the embedded timelines more flexible.

廃止スケジュールについて

2018年5月25日

2018年7月27日

  • 既存のタイムラインウィジェットも機能しなくなる
  • 検索タイムラインの場合は、ツイートの検索結果のリンクが表示されるだけになる
  • 検索タイムライン以外のウィジェットは、カスタマイズしている背景色の設定などが効かなくなる

移行先について

  • publish.twitter.com でタイムラインウィジェットを作成してね
  • publish.twitter.com では検索フィルタは使えないから、よしなにユーザータイムライン、リストタイムライン、コレクションのタイムラインに置き換えてね

検索タイムラインウィジェット置き換えの問題点

Replacing Deprecated Timeline Search Widget - Twitter for Websites - Twitter Developers

Twitter Developer Community でも検索タイムラインがウィジェットの設定だけで済まなくなる問題について、
批判や対応策について議論がされていました。

検索タイムラインウィジェットの対応策

batchなどで検索で拾ってきたツイートをコレクションに突っ込んで、 作成したコレクションタイムラインを publish.twitter.com 方式でウィジェットとして表示します。

1. Twitter Search API から検索フィルタにhitする tweet ID を取得する

Standard search API — Twitter Developers

  • Queryでかなり複雑な検索条件でもツイートを引っ張ってこれる
  • リクエストの上限
    • 180 request / 15 min
    • ※ 上限を超えた場合 15分間リクエスト不可になるらしい
  • 1リクエストで取得できるツイートは100件まで
  • since ID で次に取得するツイートを指定してタイムラインを作成できる

2. Twitter Collection API で取得した tweet ID をコレクションに追加する

POST collections/entries/curate — Twitter Developers

  • 1件ずつツイートを追加するなら [POST collections/entries/add] だが、まとめて追加するなら、 [POST collections/entries/curate] を使うべき
  • 100件ずつツイートをコレクションに追加することができる
  • リクエストの上限
    • 1000 request / 15 min

3. publish.twitter.com でコレクションのタイムラインウィジェットを作成する

  • Twitter Publish のガイドの通りに Collection ID をURLに指定してフォームに追加していけばできる

最後に

Developer Community のやり取りを見ていても、保守が大変だから SearhTimelines はやめます、復活することもありません、という Twitter社さんの説明が何度か見受けられました。
メンテナンスコストが高すぎるものはクローズする、というのはビジネス的に正しい判断だと思うのですが、利用者がそこそこいると思われる機能を閉じるにあたって、
もう少し代替対策について親身に相談に乗ってくれれば良かったな・・・と個人的に思いました。
(直接問い合わせても、Developer Community に起票しても、なかなか返事なくて...涙)

※ リクエストの上限などは都度変更するそうなので、最新情報をご確認ください。

AD

GAE SDK の過去バージョンをインストールする

(2018/02/24 追記) PATHにまるっと追加した方が楽というご意見いただいたので

前置き

これはどうしても特定の古いバージョンの Google App Engine SDK for Go を入れたかった為、無理くりインストールしたときのメモなので、 決して推奨できる方法でありません・・・

インストールした環境

  • MacOS 10.12.6
  • GAE 1.9.48
  • Go 1.6.3

手順1(お手軽版)

1. 過去バージョンのSDKが配置されているGCSのディレクトリにアクセス

2. 適当なディレクトリに展開

unzip ~/Downloads/go_appengine_sdk_darwin_386-1.9.48.zip
mv go_appengine ~/tmp/go_appengine_1.9.48

3. PATHに追加

# .bashrc や .zshrc などに
export PATH=~/tmp/go_appengine_1.9.48:$PATH

6. goapp version 確認

% goapp version
go version go1.6.3 (appengine-1.9.48) darwin/amd64

手順2(既存の構成に合わせる版)

1. 過去バージョンのSDKが配置されているGCSのディレクトリにアクセス

2. 展開したディレクトリを下記に配置

/usr/local/Cellar/app-engine-go-64/1.9.48/share/app-engine-go-64/

3. binディレクトリを作成

mkdir /usr/local/Cellar/app-engine-go-64/1.9.48/bin/

4. bin/ 下にリンク作成

cd /usr/local/Cellar/app-engine-go-64/1.9.48/bin/
ln -s ../share/app-engine-go-64/appcfg.py appcfg.py
ln -s ../share/app-engine-go-64/bulkload_client.py bulkload_client.py
ln -s ../share/app-engine-go-64/bulkloader.py bulkloader.py
ln -s ../share/app-engine-go-64/dev_appserver.py dev_appserver.py
ln -s ../share/app-engine-go-64/download_appstats.py download_appstats.py
ln -s ../share/app-engine-go-64/goapp goapp

5. /usr/local/bin/ の参照も変える

cd /usr/local/bin
ln -s /usr/local/Cellar/app-engine-go-64/1.9.48/bin/appcfg.py appcfg.py
ln -s /usr/local/Cellar/app-engine-go-64/1.9.48/bin/bulkload_client.py bulkload_client.py
ln -s /usr/local/Cellar/app-engine-go-64/1.9.48/bin/bulkloader.py bulkloader.py
ln -s /usr/local/Cellar/app-engine-go-64/1.9.48/bin/dev_appserver.py dev_appserver.py
ln -s /usr/local/Cellar/app-engine-go-64/1.9.48/bin/download_appstats.py download_appstats.py
ln -s /usr/local/Cellar/app-engine-go-64/1.9.48/bin/goapp goapp

6. goapp version 確認

% goapp version
go version go1.6.3 (appengine-1.9.48) darwin/amd64

フロリダでヘラクロスとケンタロスとサニーゴを捕まえたときの話

※ 今回は開発的な話とは全く関係ない話です。ポケモンGoに興味ない方は読まないことを推奨します。まじで。

なぜフロリダなのか

2017/10時点で私が持っていないポケモンは、ヘラクロスケンタロスサニーゴの3つだけでした。
ガルーラは昨年オーストラリアで、ミュウツーは運良くEXレイドで捕獲済み。そしていつのまにかTL40。
そして、その3つが一気に捕獲できる場所を世界地図上で探したところフロリダという結論に。

f:id:omohayui:20180114175132p:plain

オーランドにケンタロスはいない

フロリダで観光といえばオーランド。ディズニーワールドですね。
がしかし、ここで注意点が。オーランドではケンタロスは出ません。
フロリダ内でもかなり北の方に移動しなくてはいけないのです。

デイトナビーチには低確率で出現する

事前に海外トレーナーのTwitter投稿などをチェックすると、フロリダ内でもデイトナビーチでのケンタロス捕獲情報が。
そこで5日間の滞在のうち1日だけデイトナビーチまで足を伸ばす計画にし、日帰りでデイトナビーチに行ってきました。

がしかし、デイトナビーチ沿いにルアーを大量にともし、3時間いったりきたり歩き続けても全くケンタロスは出ず。
日が暮れてきて、諦めてタクシーに乗ったところ(デイトナビーチ⇔オーランドのバスは数日に1本しかなかった...)少し離れた浜辺にケンタロスの影が・・・
運転手に事情を説明して(同伴者が)浜辺の近くまで行ってもらい、10分ほど待ってもらいました。
オーランドに到着したときは、協力してくれたタクシーの運転手に多めにチップ渡しました。(当然ですね)

感想

サニーゴは結構いましたが、ヘラクロスもオーランドにたくさんいるかと思いきや1日1匹程度でした。
アバターエリアで一緒にレイドしたシカゴからきたという青年は、「Many Tauros in Chicago」と言ってました。
確実にケンタロス捕まえたい人はもっと北へ行ったほうが良さそうです。
自分はアプリ自体は無課金でやってますが、投資した交通費と時間はなかなかだと思います。
プラスルどうしようかな・・・

おまけ

DSC01735

BigQueryとData Studioで野球の分析レポートを作ろう

これはなに?

先日、第35回 GTUG Girls Meetup で初心者向け&女性向け BigQuery × Data Studio のハンズオンをしました。

gtuggirls.connpass.com

ハンズオンの資料

枚数が多くなるので、Markdownで一度作ったものを Reveal.js でスライドにしました。

https://omohayui.github.io/gtuggirls35/

※ 間違っていたSQL修正しました。

なごみタイムの様子

女子向けイベント&ハロウィンシーズンということで、人事が奮発してくれました。
あと、日本シリーズ出場が決まった直後だったのでエントランスにお花が。

感想

  • ハンズオンは資料作りが予想以上に大変
  • ハンズオン直前に修正したSQLが間違っていた...
    • 確認大事
  • 量が多かったかな・・・と思いつつ皆さん最後までいけた
    • 皆さん素晴らしい & チューターさんありがとう
  • 一つ一つにSQLにコメントと説明をつけておくべきだった
  • もっとデータ量豊富な野球データを使ってさらに分析っぽいことしたい

Sierra で Karabiner が使えず Escape のキーマップに困っていた人へ

[追記] High Sierra も Karabiner-Elements がサポートしているようです。

Sierra にアップデートしたときの問題

macOSSierra が登場し、とりあえずアップデートしたときの自分は Karabiner (キーカスタマイズツール) が使えず発狂寸前でした。
Vimユーザーにとっては Esc の位置は最重要です。(たぶん)
今までは、Karabiner で 「Control_L to Control_L (+ When you type Control_L only, send Escape)」の設定で、快適に過ごしておりました。

過去の記事: Macでキーマッピングを変更する方法 - omohayui blog

がしかし、Karabiner が使えない & 代替ツールの Karabiner Elements にも [Control] キー単体押しに [esc] を割り当てる設定がなく、 私は Sierra にアップデートするのを諦めました。

Karabiner Elements が進化している

先日PC(MacBookPro)を新しくして、また同じように Karabiner Elements 入れてみたところ・・・
彼は進化していました。 複数キーのリマップに対応していたり、特定アプリケーションだけで機能させたり。

Karabiner-Elements 11.0.0 から stable release となっているようです。

[Control] キー単体押しに [esc] を割り当てる方法

1. Karabiner Elements をインストールする

Karabiner - Software for macOS

2. Karabiner Elements を起動

f:id:omohayui:20171029183422p:plain 「Complex Modifications」> 「Rules」> 「Add Rules」を click

3. Webから Rule を Import する

f:id:omohayui:20171029184210p:plain 「Import more rules from the Internet (open a web browser)」を click

f:id:omohayui:20171029185053p:plain Karabiner-Elements complex_modifications rules から「Change control key」を Import

4. Import した Rule を有効にする

f:id:omohayui:20171029185334p:plain 「Post escape if left_control is pressed alone.」を 「enable」 にする

以上!