どうにもわからない。

わからないことをわかるまでログる

Atom+Hydrogen(Jupyter)でPython

わからない

家でプログラミングする際に最適な環境がわからない。
求めるものは気持ちよさ。対象言語はPython

環境の構築

今回の環境は、Mac+Atom+Hydrogen
PythonはAnaconda環境
Atomを新しくしたかったので、最初からインストールしています。

DL

  • Atom
    • Download Macをクリック
    • zip解凍
    • atom.appをアプリケーションに入れる

Hydrogenをインストール

  • Atomを起動
  • Preference->Install
  • Hydrogenで検索->Hydrogen 2.2.2をインストール(公式)

python側の設定

Anaconda環境なので、以下を実行する

conda install ipykernel
python -m ipykernel install --user

Hydrogenでテストコード

変数出力と、matplotlibを確認 - Command + alt + Enter

import math
import numpy as np
from matplotlib import pyplot

pi = math.pi
x = np.linspace(0, 2*pi, 100)
y = np.sin(x)

pyplot.plot(x, y)
pyplot.show()

f:id:hogeai:20180120043413g:plain

とりま、ここまで

Atom実践入門──進化し続けるハッカブルなエディタ (WEB+DB PRESS plus)

Atom実践入門──進化し続けるハッカブルなエディタ (WEB+DB PRESS plus)

TimelineのFav/RTが多いツイートだけを確認したい

わからない

フォローしている人のFav/RTが多いツイートだけを確認したいのに
どうにもやり方がわからない。

Info

Androidでは【はむーん】を使っていました。
iPhoneでは、分析系はいまいち見つからない。

Twitter 分析」で検索すると多くのサービスが見つかりますが
【フォローしている人】という制約だけで、どのサービスがいいかわからなくなる。
いいのがあれば教えてください

結論

自分で作ったほうが早い気がする。
Python+TwitterAPI+VIMなら数分でしょ!

やったこと

クローリング系のプログラムを書くと、毎度毎度可視化の方法に悩みます。
この時のオススメはVIMに出力する】です。

VIMでコマンド叩いて、結果をVIMに出力すれば、VIMで完結するので最高!

こんな感じになります。

f:id:hogeai:20180111225227g:plain

:TwGetFav ->Fav数で降順 :TwGetRt -> RT数で降順

1時間ぐらいで作ったレベルなので、まだ200Tweetしか取れていません。
暇をみてエンハンスします。

ファイルの構成

/(任意)
├── config.py    #Twitter API の各種Key情報格納(CONSUMER_KEYなど)
└──get_tweet.py  #Twitter APIへのPython処理


config.pyの構成

# Twitter APIの値をはっつけてください。
CONSUMER_KEY = "(各自)"
CONSUMER_SECRET = "(各自)"
ACCESS_TOKEN = "(各自)"
ACCESS_TOKEN_SECRET = "(各自)"


実際のソース

ソースはGitHubにあげました

vimrc/init.vim

自分のフォルダ構成に合わせてください。
let l:tw_tmp_dir = '/tmp/vim/'
let l:python_file = '/[任意]/python-vim-twitter/get_tweet.py'

"vim script"{{{
function! s:get_tw_line(flg)"
    let l:tw_tmp_dir = '/tmp/vim/'
    if !isdirectory(l:tw_tmp_dir)
        call mkdir(l:tw_tmp_dir, 'p')
    endif

    let l:filename = l:tw_tmp_dir . 'tw_' . a:flg . '.text'
    let l:python_file = '/[任意]/python-vim-twitter/get_tweet.py'

    " ファイル生成
    silent execute "!python " . l:python_file . ' --file ' . l:filename . ' --flg ' . a:flg
    execute 'tabnew ' . l:filename
endfunction augroup END"

" メモを作成するコマンド
command! -nargs=0 TwGetFav call s:get_tw_line(1)
command! -nargs=0 TwGetRt call s:get_tw_line(2)
"}}}

Vim script テクニックバイブル ~Vim使いの魔法の杖

Vim script テクニックバイブル ~Vim使いの魔法の杖

このブログの趣旨

ITエンジニアとしてアウトプット先をどこにするか、常々考えていました。

これまでは、Qiitaを利用していましたが、2018年はハテナで始めます。

 

ブログ名通り「わからないこと」を題材に「わかるところまで、施行錯誤するログ」を記載していきます。

 

内容は、「わからないこと」起点なので、発散的に分野問わずになります。