ブログタイトルと説明を少し変えた
具体的にはこんな感じ:
- upinetree's tech blog + upinetree's memo
Qiitaに書き始めてからこのブログ全然書いてないのでもったいないなーと思い、ブログを書く敷居を少し下げてみました。
Qiitaにはちゃんと検証した技術ネタを書いて、こちらにはメモ的なものを残していければなと。
あと気が向いたら日常とか考えていることとか書くのも良いですね。気が向くかわからんけど。
Digitech RP360のファームウェア更新に失敗した時の直し方
http://www.digitechjapan.jp/products/RP360/rp360.html
これ(マルチエフェクター)の話です。 ちょっと焦ったのと、日本語の情報がなかったので書き残しておきます。
結論
RP360本体を再起動し、Windows10以外のマシンでアップデートする。
詳しく
先日、Windows10 PCに専用ライブラリアンアプリNexus を入れて起動したらファームウェアアップデートせよと言われたので、表示に従ってアップデートを試みました。 ところが更新に失敗。
RP360側のモニタは
RP 360 Upd V2.0.0.0 IN UPDATER: WAITING FOR HOST…
と表示したままで、再起動しても変化せず。
下記に類似の現象が何件か報告されている模様だったので読んでみることに。
- http://www.hunterharp.com/the-digitech-rp360-crashed-on-a-firmware-update-will-it-come-back/
- http://www.hunterharp.com/the-digitech-rp360-firmware-update-finally-took-after-6-tries/
すると、2番めの記事の一番後ろに「Windows10じゃ動かないよ。Vistaでアップデートしたら解決したよ」とのコメントが…。
僕はVista持ってなかったので、Mac (Yosemite)でもう一度アップデートを行うと、成功。 まあなんかWindows10大丈夫かとは思っていたけど、まさかソフトウェアが起動しないとかじゃなくて、ファームウェアがいかれるとは思ってなかった。 そしてあとから確認すると、こんな記載が…。
注意書きも読まずに最新バージョンのOSを常に使ってるとハマるよという教訓でした。 直ってよかった。
rails newのときのテンプレのアレ作った
rails newするたびに同じ設定するの面倒になったのでマイテンプレつくった。
https://github.com/upinetree/rails_template
まだ途中だけど、ちょっとずつ育てていこうかなと〜。
参考:
- Rails Application Templates — Ruby on Rails Guides
- オレオレRails Application Templateをつくって公開しました。 | CreativeStyle
- Rails 4.2 + Bootstrap の Application template 1コマンドでモダンRailsが! - 酒と泪とRubyとRailsと
- https://github.com/rails/rails/blob/4-2-stable/railties/lib/rails/generators/actions.rb
- http://www.rubydoc.info/github/wycats/thor/Thor/Actions
転職から1年経ったのでTokyuRuby会議08で樽酒割った
と書いてみたものの、題名の前半と後半は実はあんまり因果関係ないです。
僕がこんなエントリを書いて転職してから、はや一年が経ちました。
2013-11-01 - 転職します - upinetree's tech blog
今読むと妙に力が入っていて恥ずかしい感じがします。一年しか経ってないのに。 でも、たぶんこれはこのときしか書けないことだったんだろうなあ。
一方で、TokyuRuby会議が11/29に開催されました。
TokyuRuby会議08 - Regional RubyKaigi
このイベントで、弊社は樽酒を提供する形で支援していて、そのためLT枠と樽酒を割る権利をいただけることになったのでした。 樽酒を割っている写真はインターネット上のどこかに漂っていると思います。樽酒、なかなか簡単には割れないんですね…。
さて、このLTの話が回ってきて、思わず「やります!」って言ってしまったは良いものの、樽酒スポンサーとしてどんな発表をしたものか頭を悩ませていました。 そこで、ちょうど僕が万葉に入社してから一周年だったということを思い出したわけです。 これも良い節目ということで、こんな発表をしてきました。
お酒入ることを想定してだいぶテンション高めです。
この発表で喋ったように、本当に僕を取り巻く環境は全然変わってしまって、一年しか経ってないのに不思議なものだなあと常々思っています。 入社当初はRailsアプリ全然書けなかったですし、前職までずっとWinユーザでLinux系はほとんどさわれなかったのを思い出します。そんな状態でしたが、今は未熟ながらも業務で日々新たな技術、課題と闘いながらたのしく働いています。 (今回はあまり喋れなかったお客さんとの働き方とか、そのための具体的なプラクティス的な話をどこかでしたいなあ)
そして、転職当初からずっと参加している勉強会のyochiyochi.rbにはとても感謝しています。引っ越した翌日だったかに第0会に参加して、最近こちらも一周年でしたね。なんかいろいろあって顔出す頻度落ちてますが今後共よろしくお願いいたします。
ところで、最近自分は甘ったれている気もして、前職で色々やっていたのは逆境だったからこそというのはあったんだなあと気付かされました。(その分内面はボロボロになっていたけど…) いや、甘ったれているというよりは、健全に意見を出せるようになったし、健全に議論できるようになったのかもしれないですが、なんかもうあと一歩踏み出したいなあという思いがあります。
まとまりのない文章になってしまいましたが、つまり、まとめると、"We are hiring!!"ってことです!
fluentdを使ってIdobataでニコレポを取得する
はじめに
先日ニコレポ用のfluentdプラグインを書きました。
https://github.com/upinetree/fluent-plugin-nicorepo
このまえ作ったニコレポgemを使って、ニコ動からニコレポを逐次取得してくれるすごいやつです。 (別にfluentdじゃなくてもいいじゃんというのはなしの方向で…)
いわゆる完全に俺得プラグインなんだけれども、使い方の説明の意味も含めて記事を書くことにします。
セットアップ
今回、fluentdはherokuで動かすことにします。 準備とかは下記のリンクが詳しいので参考にしつつやっていきます。
http://docs.fluentd.org/ja/articles/install-on-heroku
ひな形のClone
heroku-td-agentというheroku用の便利なひな形があるので利用します。
次のような感じでリポジトリ作りましょう。
$ git clone git://github.com/treasure-data/heroku-td-agent.git heroku-fluentd-nicorepo $ cd heroku-fluentd-nicorepo $ rm -fR .git $ git init $ git add . $ git commit -m 'initial commit'
herokuアプリの作成とデプロイ
Heroku Toolbelt が入っていれば、次の方法でアプリの作成とデプロイができます。
$ heroku apps:create your-app-name $ git push heroku master
動作確認
ここまで来たらひとまず動作確認します。
$ curl http://your-app-name.herokuapp.com/debug.sample -F 'json={"hoge": "fuga"}' $ heroku logs --tail 2014-06-09T16:13:38.544846+00:00 app[web.1]: 2014-06-09 16:13:38 +0000 debug.sample: {"hoge":"fuga"}
上記みたいなのが出力されてたらOKです。
confの設定
さて、いよいよニコレポを取得してIdobataに流していきます。 あたりまえのことですが、ニコニコ動画のアカウントがあり、ニコレポで誰かをウォッチしている状態でないと、いつまでたっても何も流れてきませんのでご注意を。
今回、gemはfluent-plugin-nicorepo
とfluent-plugin-idobata
を使用します。
従ってGemfileは次の状態にします。
source 'http://rubygems.org' ruby '2.1.2' gem 'fluentd', '~> 0.10.48' gem 'fluent-plugin-nicorepo' gem 'fluent-plugin-idobata'
また、td-agent.confを次のように設定します。 今回は1時間おきに生放送だけを取りに行くようにしてみました。
<source> type nicorepo mail your@email.com pass yourpassword interval 1h kind lives tag nicorepo.idobata </source> <match nicorepo.**> type copy <store> type idobata webhook_url https://idobata.io/hook/url message_template <%= record[:body] %> @<%= record[:date] %> / <%= record[:title] %>: <%= record[:url] %> </store> <store> type stdout </store> </match>
ニコ動のアカウントmail
, pass
と、Idobataのwebhook_url
を書き換えるのを忘れないでください。
Idobataのwebhook_url
とは、流したいスレのRoom Settingsから'Add a Hook'して取れるEndpoint URLのことです。
再度デプロイしてあとは流れてくるのを待つだけです!
$ git add . $ git commit -m 'setup nicorepo on idobata' $ git push heroku master
あと、取得を1時間以上の間隔に設定する場合はこの設定やっておいたほうが良いかもです。
Heroku の Dyno を寝かせない - present
たまにheroku側で再起動して同じニコレポが2回やってきたりしますがご愛嬌。
お疲れ様でした。
NicorepoというRuby gemを公開しました
ニコニコ動画のニコレポというのがあって、ニコ動版のツイッタータイムラインみたいなやつなんですが、これがまた情報が分類されてなくて読みづらいし、フィルタリングもできない、非常に廃人仕様なわけです。
毎日ニコレポに張り付くわけにも行かないけど、見たい動画は見逃したくない…ので、日々あふれるニコレポを効率よくまとめてチェックできるgemを作りました。
https://rubygems.org/gems/nicorepo
https://github.com/upinetree/nicorepo
といっても今まで自分で便利に使っていたやつを、みんなで使えるように手直ししてgem化しただけです…。Rubyをまだそこまでガッツリ使っていなかったときに書いたやつなので、ザクザクっとリファクタリングしてみました。
でもcliとかカオスすぎるので近々なんとかしたいし、コマンドもなんだか分かりづらい(自分は慣れたパターン)し、汎用性ないし…プルリクお待ちしております!
なお、ニコレポがAPIも提供してないのでかなり力技でぱーすしています。
使い方は大体READMEに書いてあるのですが、下手な英語なので分かりづらかったらお叱りください〜。
では、良いニコ動ライフを!
実行中Rubyプログラムのbinding.pryを全て無効にする
Pry version: 0.9.12.4 on Ruby 2.1.0.
これだけ
pry(main)> disable-pry
どんな機能かというと
pry(main)> help disable-pry Usage: disable-pry After this command is run any further calls to pry will immediately return `nil` without interrupting the flow of your program. This is particularly useful when you've debugged the problem you were having, and now wish the program to run to the end. As alternatives, consider using `exit!` to force the current Ruby process to quit immediately; or using `edit-method -p` to remove the `binding.pry` from the code.
ということらしい。
例えばループ中とかshared_examplesとかでbinding.pryしたとき、これを使えば目的の動作を確認した後にぐぬぬってならなくて済みますね。
ただ、binding.pry
がnil
を返す動作は変わらないのでそこだけ注意です。
他の方法としては、exit!
を使うか、edit-method -p
でbinding.pry
を削除してくれと書いてありますね。
ちなみに、edit-method
すると "DISABLED: Use edit
instead." と怒られるので、指示に従ってedit -p method-name
とでもしておきましょう。