classics.

2014/12/05 Friflickr

日記

衆院選の選挙期間にも入ったということで、意識の高さを発揮し、議論を深めるために選挙カーAAとそのジェネレーターを作った(元はワゴン車AA)。久しぶりにJavaScript書いてちょっと疲れた。あと、AAの作り方に関する知見が深まった。

http://oq.la/senkyo_car/

2014/08/21 Thuflickr

Go言語をやっていく気持ちになった

今更だけど、Go言語(golang)を始めようという気持ちになった。8割方はなんとなくだけど、Windows用のバイナリを作りやすいという噂があるのと他のプラットフォームにも対応させやすそうな感じがするので。

モバイル環境で開発できるといいなということで、残りストレージ7GBくらいしかないけどWindows 8.1タブレット(32bit)をメインの開発環境にすることにした。まともなBluetoothキーボードはあるのでコード書くのに不便なことはないはず。

入門するのにどのあたりから入るのがいいか最近golangとかscalaづいているという話のはて社の美顔器氏に伺ったところ A Tour of GoGo by Example を教えてくれたのでこのへんをいじってみようかと。あと適当にe-book探したら An Introduction to Programming in Go が引っかかったので配布されてた無料のPDF版をKindleに突っ込んでみた。この本の情報が古い可能性はある。

そんな感じでやっていく気持ちが出てきたところで、初日だしとりあえず端末にコンパイラ入れるかということで公式サイトのインストーラー(go1.3.1.windows-386.msiってやつ)を使って入れた。普通にさくっとインストールできたので特に問題なし。Windows再起動したらパスも通ってcmd.exeからもcygwinからもgoコマンド叩けるようになった。

2014/01/13 Monflickr

Google Latitudeの現在地取得の代わり案

Google Latitude廃止まではLocation Badgeを公開にしておけば認証なしでjson APIっぽく現在地取れたけど、廃止されてから取れないので代わりを模索中。具体的には、現在地を取得して、Twitter IRC Gatewayからの投稿に位置情報として付加していたのができなくなっている。

まず最初に考えていたのがGoogle+ APIのプロフィールのcurrentLocationプロパティから取るのだったけど、地名しか取れないので精度の問題でよくないのと、APIが面倒でよくわからない(試しに取ってみたらcurrentLocationとかみつからなかった)。なので、諦めた。

で、いけそうかなと思ったのがこれ http://stackoverflow.com/a/17626982 。Location HistoryはGoogle Mapsに統合されて生き残ってるので、KMLのAPIを叩いて取得するという方法。大体リアルタイムに反映されているのでLocation Historyで問題ない。ただ、これはWebでGoogleにログインしていないと取得できない。自分だと二段階認証設定しているのでわりと面倒なので、Mechanizeでcookie保存とかもしつつやる感じになりそう。なので、やる気が高まったらやりたい。

2014/01/13 Monflickr

tiarraのAuto::Notifyに喋らせる

tiarraは自宅サーバーで動かしていて、サウンドドライバも入れていてスピーカーにもつないでいるので、notifyするときのユーザー名を喋らせてみることにした。

喋らせるの(Text to Speachだっけ)はespeakとかいうのを入れた。

$ sudo apt-get install gespeaker xsel

それで tiarra/module/Auto/Notify.pm の適当な使ってるところに(自分だとここでいじった send_nma の中 )

my $username = $msg->prefix;
$username =~ s/[!@].*//;
$username =~ s/[\W\s]//g;
system "/usr/bin/espeak '".$username."'";

こんな感じで追加。Perlもtiarraのオブジェクトがどうなってるのかもよくわからないので適当だけど動いている。

2013/12/15 Sunflickr

mt-daapdのDBを集計して今年ライブラリ追加されたアルバムをまとめる

今年を振り返るかーと思ったのでメモ。最初に再生した順とか再生数ならLast.fm見ればいいしその辺は便利。

$ sqlite3 /var/cache/mt-daapd/songs3.db
sqlite> .output albums2013.txt;
sqlite> select artist, album from songs where time_added > 1356966000 group by album order by time_added;
sqlite> .quit;

これでalbums2013.txtに2013年にライブラリに追加されたアルバム一覧が出力される。1356966000っていうunix time直接入れているところはさくっと日付からsqliteで変換してもらう方法あるような気もするけど調べるのめんどいので直接指定してある。

2013/09/14 Satflickr

Amazonの注文履歴をTwitterに投稿する

ログインめんどいのと他人も公開してくれると参考になってうれしいので先に率先してTwitterに自動投稿するようにした。発送情報とかもとってもいいけどとりあえず注文履歴だけ数時間おきにチェックするように。他のお買い物サイトも統合したい感じはある。

2013/06/15 Satflickr

tig.rb の Twitter API v1.1 対応

Google Latitude 対応とか勝手にして煮詰めたタレの概念を導入してしまい危ういところだったけれど、対応した。

元: https://github.com/cho45/net-irc/blob/master/examples/tig.rb

他の部分の対応は適当に 1 を 1.1 に置き換えたりすれば使えたりするので省略して、APIのバージョンをpathに書かなくていいようにしたり page(path, query, name, authenticate = true, &block) で呼べるようにしたりした後、

lists = page("1/#{@me.screen_name}/lists", :lists, true)
lists = api("lists/list",{ :screen_name => @me.screen_name }, true)
に、
members = page("1/#{@me.screen_name}/#{list.slug}/members", :users, true)
members = page("lists/members", { :owner_screen_name => @me.screen_name, :slug => list.slug, :list_id => list.id }, :users, true)

にしたらそれっぽくなった。うちは雑な環境なので tig.rb ベースが楽だけれど、今だと atig の方が普通の人は楽かもしれない。

2013/01/17 Thuflickr

Rails記 3

JavaScriptを切ると使えないAjax使ってるサイトが嫌いで、RailsやるのにもあまりAjaxとか使わない方がいいかなと思ってたけど、簡単にAjaxを使いつつJavaScriptオフでも不自由なく使えるような実装ができるようになっていて便利な時代になったものだと思った。

2013/01/13 Sunflickr

Rails記 2

それっぽく一通りできる感じになった気がする。昔symfony使ってたので思い出してきてやりやすかった。coffee script デフォだったので少しいじったけど慣れるにはもう少し時間かかりそう。慣れたら楽なのだろうけど。Ajaxもそれなりに便利にできた。本とか全然読んでないけどどうなんだろ。DBは、タグの実装とかはRDBよりMongoDBの方が楽で好きなのでMongoDB(mongoid)使ってるけどActiveRecordだからそんな呼び出し方とかはそんな変わらないということだろうか。とりあえずやりたい処理はできているのでいいのだろうけど。

今後の予定

  • キャッシング
  • UI(JavaScriptで制御とかも)
  • セキュリティまわり
    • CSRF対策は理解した
  • リファクタリング
    • ヘルパー使う
    • controller, action が分散して設計思想がちゃんとしてない
  • API実装
  • ビュー
    • パーシャル的なやつとかちゃんと理解
  • DB周り
    • MongoDB(mongoid)使ってるけどRailsの設定でインデックスまわりとかできるのか?
  • スケーリング
    • 現実的には想定していないけれど考えておく

あと、Rails関係なくWebフロントエンドデザインからコーディングをちゃんとかつサクッとできるようになりたい。

2013/01/10 Thuflickr

Rails記 1

知り合いにRails使いは多くいるものの、入門の割にはあまりがしがし聞かずに勝手に調べてやってるのですこしずつ進んでいる。

  • rbenv使った
  • デプロイには一番簡単そうに見えたApache+passenger使った(完成していないけれどデプロイ先にやっておいたほうが不安が少なくなりそうだったので)
    • PaaSはお金払ったりの手続きとか面倒だったり最初にデプロイして開発を進めるのと合ってない気がしたのでスルー
  • ほぼ一人開発なわりにgit使ってはいるもののコミットしかしてない
    • githubとかはあとで考える(ソースコードを公開するたぐいのものではない)
  • 手順とかあまりメモってない(情報源をブクマ程度)