2017年9月7日木曜日

Pythonで定期ツイートBotを作ることができた

ちまちまとプログラミングの勉強を進めていますが、ようやくPythonでTwitterのBOTをつくることができました。

wakuwakubot
https://twitter.com/wkwkbot
(小さい頃大好きだった「つくってあそぼ」のわくわくさんをリスペクトしています)

現在のVer.は毎朝8時にリストからランダムツイートをするだけですが、後々いろんな機能を追加してもう少し役に立つものにできたらいいなと思います。


ひとまず動くまでこぎつけたものの、プログラミングの知識ゼロからのBOT作成は未知なことが多くて結構つまづきました。まずプログラミング書いたり動かしたりするのに何が必要で、どこで手に入るのかもさっぱりわからず、ググりまくってトライアンドエラーしながらなんとか進めました。
定期ツイートBot作成までの全体のざっくりした手順は下記の通りでした。

=======================================================

1. Python3をインストールする


2. Python3のライブラリをインストールする


3. プログラムを書くためのエディタをインストールする


ここまでがプログラムを書くための環境の準備です。

4. TwitterのアカウントをSMS認証して、アクセストークンを取得する


5. エディタでPythonプログラムを書く


6. ターミナルからPythonプログラムを動かして、動作を確かめる


7. ターミナルから、crontabという、自動でプログラムを動かしてくれる機能を編集して、定期的にプログラムを走らせるように設定する


=======================================================


以上の工程を経て、Botを作ることができました。
下記詳細です。

1. Python3をインストールする


このPython3をインストールするために、はじめてHomebrewというものを使いました。
こちらの記事を参考にしました。

Homebrewは自動でダウンロードとインストールをまとめて行ってくれる便利なパッケージマネージャーです。

2. Python3のライブラリをインストールする


ライブラリとは、便利なプログラムをひとまとまりにしたもので、インストールするとその便利プログラムをPythonのプログラム上で呼び出して簡単に使うことができるというものです。
Python3をインストールすると、pip3という、ライブラリのインストーラーも自動でインストールされるので、それを使って、Twitterにアクセスできる機能を持つライブラリをインストールします。
私は python-twitter というライブラリをインストールしてみました。
ターミナルで、

$ pip3 install python-twitter

と入力するとインストールできます。


3. プログラムを書くためのエディタをインストールする


Atomというエディタをインストールしました。
上記、1の参考サイトにやり方が書いてあります。


4. TwitterのアカウントをSMS認証して、アクセストークンを取得する


5. エディタでPythonプログラムを書く


下記のサイトを参考にしました。

個人的に、アクセストークンをメインプログラムに直接記述するのが美しくないような気がして、こちらのサイトを参考にトークンたちを別ファイルに置いて呼び出すようにしました。



6. ターミナルからPythonプログラムを動かして、動作を確かめる


ターミナルの基本的なことがわかっていなくて、これらの記事を参考にしました。



自分が今どこにいるか?(カレントディレクトリ)という概念があるようで、プログラムのある場所と自分のいる場所を把握して、それを踏まえて命令しないと、うまくプログラムを見つけられないようです。


7. ターミナルから、crontabという、自動でプログラムを動かしてくれる機能を編集して、定期的にプログラムを走らせるように設定する


これらを参考にしました。




ターミナルで
$ cat /var/mail/ユーザー名
と入力することで、プログラムのログを見ることができ、どんな動きをしているか、どんなエラーがあるか確認することができるので、エラーの部分をコピペしてググりまくりました。
python3の位置と、プログラムの位置をフルパスで記述しないとうまく動かないようで、ここでだいぶつまづきましたが、Google御大のおかげでなんとか動くようになりました。


-------------------


以上の記事を参考にさせてもらって、ゼロからBotを作ることができました。
今後はtwitter-pythonライブラリでどんな機能を使えるのか調べて、もう少し役に立つBotに成長させていきたいと思います。

2017年8月9日水曜日

ウーパールーパーを飼い始めました

きっかけ
前々からアクアリウムには興味があって、新宿のアクアフォレストやパウパウアクアガーデンに行っていろんな綺麗な水槽を見に行っていたのですが、見本の水槽がすごすぎて、見るだけでお腹いっぱいになり、一歩踏み出せずにいました。
そんな折、急に奥さんがウーパールーパーを飼いたいと言い出したので、いい機会だし始めようと思い、即日一式買ってウーパーを飼育し始めました。
14ℓの水槽、砂利、隠れ家、水草付き流木、カルキ抜き、バクテリア、濾過器、冷却ファン、温度計、固形餌、餌用メダカ9匹、12〜13cmのウーパールーパー1匹で15,000円くらいでした。

飼い始め
パウパウの店員に教えられたとおり、砂利を綺麗に洗って水槽に敷き、水道水を入れ、カルキ抜き剤で水道水を無害化、バクテリアを投入してゴミや汚れを分解してくれる環境をつくり、ウーパを買ってきた袋のまま水温に慣れさせ、すこしづつ水を入れてできるだけ負担の無いように新しい水槽に入れる。
しかしやはり新しい環境に戸惑ったのか、泳ぎ回って暴れる暴れる。
しばらく落ち着かない状態が続き、不安に思っていましたが、観念したのか、じっとするようになりました。
餌を投入してみるも食べず(しかも砂利と同化してわからなくなり)、放っておけば食べるだろうと思い、そのまま様子をみることに。

水カビ病
しかし次の日、ウーパーの様子を見るとエラの部分に白いカビのようなものが。
どうやら水カビ病という、真菌(どこにでもいる菌)に感染して起こる病気になってしまったようです。健康なウーパは通常は水カビ病にならないけれども、免疫が弱っていたり、水質が悪化しているとかかってしまうことがあるとのこと。
ググってみると、多くは水換えするだけで綺麗に治る、ということだったので、環境が変わってすぐの水換えでさらにストレスをかけてしまいそうでしたが、ウパの生命力にかけて水換えをすることにしました。

大きくて水量が多い水槽の方が水も汚れにくく、ストレスも少ないだろうと思い、過保護な私は近所の熱帯魚店(プロスパーインターナショナル)で26ℓの新しい水槽を購入。
食べ残しが水カビの温床になるという事も知り、食べ残しを取り除きやすいように砂利も排除しました。さらに掃除用のスポイトとタモも購入。また購入していたアナログの温度計は温度が非常に見づらかったので新たにデジタルの温度計も購入。

新しい水槽を改めて立ち上げ、そちらにウーパーを移しました。
このときにはだいぶぐったりしていて、タモですくってもほとんど動かず、やばいかもと思いました。

新しい水槽に移してしばらくすると、少し泳ぎ回ったり、餌も少しづつ食べるようになりました。かゆいのか、エラについた水カビを犬のように後ろ足で引っ掻くようにもがき始めました。次の日にはほとんど回復して、エラについていた大きな水カビも取れて、ほぼ健康な状態に戻ったようです。よかった...。

その後
たまに水面に顔を出してパクッと空気を飲み込む動きをすることがあり、ググってみると、浮き袋の中の空気の量の調節と、水中の酸素不足による肺呼吸のための動きという二つの見解がありました。まあ水中の酸素量が多いに越したことはないだろうということで、エアレーション(いわゆるブクブク)も購入し、万全の体制に。

結局追加購入したものを合わせて、初期費用は総額3万円弱になりました。笑

どのくらい食べるのか謎
固形餌(ウーパー専用の直径1〜2mm程度のもの)は見つけるのも下手なのですが、動くものには反応するようで、鼻先にスポイトを近づけて餌まで誘導するとパクッと食べます。ただし2個くらい食べるともうお腹いっぱいなのか、それとも好みじゃ無いのか、それ以上食べません。
メダカの方が好きなのか、こちらは自発的に1日1匹のペースで食べています。
メダカを食べていれば固形餌はいらないかも...?(メダカは同じ水槽に放流しています)

固形餌のパッケージには、1回10分で食べきれる量を1日数回あげてください。と書いてあったけど、そもそもウパが餌を見つけるのに時間がかかるし、10分という目安が適当では無い気がする。数回、というのもかなり大雑把な指示だし、これは参考になりそうにありません...。
食べすぎは下痢の原因になる、という記事も目にしますが、お腹を空かせるのもやだし、どのくらいの量が適当なのかというのは難しいところです。

ひとまず、メダカを一緒に入れておけばお腹空いた時に勝手に食べるのでは...?と思って様子を見ています。

そして、空いた14ℓの水槽でメダカの養殖を画策しています。
そちらもまた進捗あれば記事にしようと思います。


2017年7月18日火曜日

日本の都道府県に順番ってあるの?

日本の都道府県に関する統計データって、北海道から北から順に並んでいるけど、決まった順番があるのか?とふと思い、調べてみました。

どうやら総務省の決めた、全国地方公共団体コードなるものが順序の基準としてスタンダードに使われているようです。
総務省のページ
Wikipedia

上記に沿った順番がこちら。

01:北海道
02:青森県
03:岩手県
04:宮城県
05:秋田県
06:山形県
07:福島県
08:茨城県
09:栃木県
10:群馬県
11:埼玉県
12:千葉県
13:東京都
14:神奈川県
15:新潟県
16:富山県
17:石川県
18:福井県
19:山梨県
20:長野県
21:岐阜県
22:静岡県
23:愛知県
24:三重県
25:滋賀県
26:京都府
27:大阪府
28:兵庫県
29:奈良県
30:和歌山県
31:鳥取県
32:島根県
33:岡山県
34:広島県
35:山口県
36:徳島県
37:香川県
38:愛媛県
39:高知県
40:福岡県
41:佐賀県
42:長崎県
43:熊本県
44:大分県
45:宮崎県
46:鹿児島県
47:沖縄県

厳密に言うと、上の二桁の数字は都道府県コードと呼ばれ、これに「000」を加えた五桁の数字が全国地方公共団体コードになるとのこと。上記の都道府県の各市区町村には都道府県コードに100番台〜700番台の数字が加えられて全国地方公共団体コードになるようです。このコードはエクセルの都道府県名のソートにも使われています。
都道府県や市区町村名を並べる必要があるときは、この全国地方公共団体コードに準ずるのが良さそうですね。


メモ。

2017年7月14日金曜日

スプラトゥーン2 お店と店主の名前の元ネタ

Splatoon2が待ちきれなくて、ブログ書きました。
先日公開されたスプラトゥーン2 Directでギアショップの店名と店主の名前がわかりましたね。
元ネタを考えるのが好きなので、今回も考察してみました。




★エスカベース
お店が4つ並んだショッピングモール。
名前の元ネタは「エスカベージュ」という地中海の海鮮料理だと思われます。(エスカベージュ Wiki) 地中海風南蛮漬けという感じですかね?
前作の「ブイヤベース」も地中海料理でしたね。





★アタマ屋
店名:エボシ・エボシ
店主:ミウラ

・店主はウミウシの「ミウラ」です。ウミウシは三浦半島でよく観察されるようなので、そこが由来かと思います。店名のエボシ・エボシですが、エボシ(烏帽子)とは、平安時代の礼装の際に被った帽子のこと(烏帽子 Wiki。アタマ屋ということなので納得です。また、エボシのつく海生生物といえば、猛毒を持つクラゲ「カツオノエボシ」。実はウミウシの中にはこのカツオノエボシを捕食する種類がいるのです(アオミノウミウシ Wiki)。おそらくそれも由来の一つですね。
またアタマのエビは、「ウミウシカクレエビ」かな〜とおもうのですが、ちょっと見た目が違うかな...(ウミウシカクレエビ Wiki
なんにせよかわいい。





★フク屋
店名:フエール・ボン・クレー
店主:ビゼン

・こちらはわかりやすい。ビゼンクラゲですね。(ビゼンクラゲ Wiki
クラゲはお盆の暮れ頃に増え出すので、盆の暮れに増える、増える・盆・暮れ、フエール・ボン・クレー...
前作のフク屋「サス・オ・ボン」と同じネーミングセンス。笑
すごく好き。





★クツ屋
店名:ドゥーラック
店主:シガニー

・店主の名前はわかりやすいですね。(タカアシガニ Wiki
店名は最初ピンとこなかったんですが、おそらく、いや間違いなくこれですね。
「かに道楽」
靴屋も道楽でやってるんでしょうね。
よく見ると口から泡がブクブクしてる...笑





★ブキ屋
店名:カンブリアームズ
店主:ブキチ

・一応ブキチも。店名は、ブキチのモデルである「カブトガニ」の祖先の「三葉虫」が生息していた時代、「カンブリア紀」と「アームズ(Arms:武器)」の合成語。「寒ブリ」もかかっているのかな...
ブキチという名前ですが、多分、「武器キチ」から来てますよね。
だってすごい喋るし、目とかやばいもん。
今回のヒーローモードでは、ブキチと一緒にいろんなブキを使って攻略していくみたいなのでそれも楽しみですね!



お店の元ネタの考察は以上です!
スプラトゥーンはネーミングだったりデザインだったり、随所に小ネタが散りばめられてて調べるのが楽しすぎます。任天堂さんありがとう。
願わくは、もう少しSwitch本体の生産台数を増やしてください。
友達が買えなくて困っているのです...
みんなで遊びたい!よろしくお願いします!


何度見ても飽きない

2017年7月13日木曜日

BOSE スピーカー Companion20のACアダプターがショートした

タイトルの通りですが、四角いアダプター本体とコードの繋ぎ目の部分の被覆材が剥がれてしまっており、バチッという音と光とともにショートしました。
同製品において同様の症状でショートされた方も多いようです。

純正品は国内在庫がなく、取り寄せに時間がかかるようですが、
こちらの汎用ACアダプターでも代用が可能とのこと。
http://akizukidenshi.com/catalog/g/gM-08433/

今回はACアダプターなので代用が効いてよかった。
良いスピーカーなので長く使いたいですな。


2017年6月28日水曜日

TIME LOCKERってアプリをやってみたら感動してプログラミングの勉強し始めた

タイトルの通りなんですが。

TIME LOCKERっていうシューティングゲームのセンスがほんとにいちいちツボで、まあ指一本でのスクロールに合わせて時間が動くっていうゲームシステムがスマホに最適化された操作性で感心・感動したし、ローポリのモデリングはもともと好きだし、BGMが環境音なのも大人っぽくてハイセンスだし、SEも心地よくてスクロールのスピードに合わせて音の高低が変化するものおもしろいし、こんなアプリを作ってみたい...!と思ってさっそくプログラミングの勉強を始めました。作者のOtsukaさん(https://twitter.com/otsuka_game)が同世代なのもあり、触発されました。

まずはプログラミングの空気感を体験しようと思い、Twitterで深津貴之さんがつぶやいてた(https://twitter.com/fladdict/status/876429014218309632
Human Resource Machine
https://itunes.apple.com/jp/app/human-resource-machine/id1005098334?l=en&mt=8
ってアプリをやってみてます。英語がまずわからないので最初はしんどかったけどだいぶ慣れてきて、あと5面で全クリ。
足し算と引き算とカウンターだけで掛け算や割り算ができたり、あるものを使って工夫することでこれだけいろいろなことができるんだなあと感心しながら楽しくプログラミングの空気感を体験できてます。
これを全クリしたら次はUnityかXcodeを勉強すればいいのかな?
そのあたりの進捗をこのブログで少しづつ報告していこうと思います。

みなさんTIME LOCKERやりましょう。
僕の最高記録は
NOMAL:104806


HARD:11274(画像は初っ端でやられたときのもの)

です。HARDモードはまじで魔境。競いましょう!

2017年3月29日水曜日

ゼルダの伝説 BotW(ブレスオブザワイルド)キャラクターの名前の元ネタ

ゼルダの伝説 ブレスオブザワイルド
すごくおもしろいです。気持ちいい。
何時間でも草原を走り回っていられる...

ゲームを進めていく上で気づいたことをメモしておこうと思います。
ある意味ネタバレ...?




★シーカー族の名前は果物や野菜が由来

インパ   → パイン
プルア   → アップル
ロベリー  → ストロベリー
パーヤ   → パパイヤ
シモン   → シナモン?
ジェリン  → ???(シーカー族では無い?)
チェリー  → チェリー(人ではなくシーカーレンジだけど)
ココナ   → ココナッツ
プリコ   → アプリコット
ドゥラン  → ドラゴンフルーツ?
ラズリ   → ラズベリー
セローラ  → アセロラ
ゴスティン → マンゴスチン
ナーキン  → ナンキン(南京瓜:かぼちゃ)
ボガード  → アボガド




★ゾーラ族の名前は音楽用語が由来

ドレファン → 音階(ド、レ、ファ)
ミファー  → 音階(ミ、ファ)
シド    → 音階(シ、ド)
ゾーラ族  → 音階(ソ、ラ)
コダー   → コーダ
リトバン  → バリトン
ドゥンマ  → ???
カーティ  → ???
フーキュ  → 休符
ポンテ   → テンポ
アンテ   → アンダンテ?
レトーガン → レガート
モルデン  → ???
ノール   → ???
ルラチュ  → ナチュラル
トオン   → ト音記号
へオン   → ヘ音記号
ルトア   → アルト
フララット → フラット
ジアート  → ???
トルフォー → ??? 
カポーダ  → ダ・カーポ 
マルート  → マルカート?
ロスーリ  → ???
スババ   → バス?




★ゴロン族の名前は建設重機などが由来
ククレン  → クレーン
パイルド  → パイルドライバー(杭打機)
ログロ   → ???
ボイコン  → コンボイ
ラートレー → トレーラー
タンクロ  → タンクローリー
ブルドー  → ブルドーザー
ユン坊   → ユンボ
フーゴー  → 鞴(ふいご:鍛冶屋が使う道具)
イッフル  → 篩(ふるい:一般的な道具だけど鍛冶屋も使うと思う)
ブロハン  → バイブロハンマー or デッドブローハンマー
アジテータ → アジテータトラック(ミキサー車のこと)
ベルゴ   → ???
ププンダ  → ダンプ
トカチン  → トンカチ
ピッケ   → ピッケル
アギプット → トップギア
ドリルド  → ドリル




★リト族の名前は肉の部位や焼き鳥などの鶏肉料理に由来...
カッシーワ → 黄鶏(かしわ:鶏の一種)
5つ子
 ナン   → 軟骨
 コッツ  → 軟骨
 ゲンコ  → げんこつ(膝軟骨)
 グリグリ → グリ(鶏の足首)
 キール  → keel(キール:胸肉)
カーン   → 十二支の酉を梵字で書いた時の読み方
テバ    → 手羽先
サキ    → 手羽先
チューリ  → チューリップ唐揚げ
ベラ    → 鶏の十二指腸。希少部位
ハーツ   → ハツ。心臓
ソリレス  → ももの付け根辺りの肉。希少部位
モモ    → もも
ハミラ   → ハラミ
ハック   → ???
ネック   → ネック。首の肉
セセリ   → せせり。ネックと同じ部位
ミササ   → ささみ
バレー   → レバー。肝臓
ナズリー  → 砂ずり。砂肝のこと。鳥の消化器官の一つ
ギザン   → ザンギ。北海道では唐揚げのことをザンギと呼ぶ
フリット  → フリット。これも揚げ物だが、唐揚げと違い衣にメレンゲが使われている
ギネマー  → ねぎま




★ゲルド族の名前は化粧品や美容関連の言葉に由来
ドロップ  → 雫?
ムエリータ → ???
フレグラ  → フレグランス
プレスタ  → プレストパウダー
ネリッシュ → ネイリッシュ?
エクティス → エクステ
フラジィ  → フラジール???
ラッシュ  → LUSH???
ムバキュ  → バキューム
イグレッタ → レッグタイツ?
アージュ  → マキアージュ(maquiage:フランス語で化粧の意)
エスピ   → ???
パール   → パール。真珠
ティクル  → キューティクル
マキュア  → マニキュア
カーラ   → カーラー
ワーシャ  → シャワー
プシャン  → シャンプー
アンチェ  → アンチエイジング?
テドゥーラ → ???
エテス   → エステ
オルイル  → オイル
アローマ  → アロマ
キャリバン → ???
リムーバ  → リムーバー
アイシャ  → アイシャドウ
マッカラ  → マスカラ
ネルー   → ネイル?
フロス   → デンタルフロス?
パクト   → コンパクト
デルタン  → デルタゾーン?
ピーロ   → ピロー
スマティ  → ???
ヤイドラー → ドライヤー
コロン   → オーデコロン
ボブル   → ???
マーパ   → パーマ
セミディ  → ???
リンネル  → 麻の織物。リネン
バレッタ  → バレッタ。髪留め
コトン   → コットン
ランジェ  → ランジェリー
チーク   → チーク。頬紅
ビューラ  → ビューラー
マトリー  → トリマー
カットル  → カット
ルージュ(マキ・ア・ルージュ) → maquiage(マキアージュ)+ルージュ(口紅)
ポドマ   → ポマード
エメリ   → ???
メキャプ  → メイクアップ
リップス  → リップ
シュシュ  → シュシュ。髪飾り
カチュー  → カチューシャ
ラメラ   → ラメ
ロテイン  → プロテイン?




★番外編:デスマウンテンは温泉天国
デスマウンテンの南にある湖の名前は、日本の温泉地に由来

ユフィン湖 → 湯布院(大分県)
ベフ島   → 別府温泉(大分県)
ゲーロ湖  → 下呂温泉(岐阜県)
キュサツ湖 → 草津温泉(群馬県)




あと気になるのは祠のネーミングですが、
これは開発者の名前をもじっているのではないかと推察しています。

メモメモ。