いままでsinatra使う時にconfig.ruに
set :environemt, :productionとか
set :environemt, :developmentって書いてたんだけど、httpd.confに
RackBaseURI /app_pathって書けばいいのだった。
RackEnv production
いままでsinatra使う時にconfig.ruに
set :environemt, :productionとか
set :environemt, :developmentって書いてたんだけど、httpd.confに
RackBaseURI /app_pathって書けばいいのだった。
RackEnv production
半年ぐらい前に作って、書くのを完全に忘れてた。
Skype Botの類が簡単に作れるようになるし、スマホの重いSkypeクライアント起動しなくてもチャット読めたりしてなかなか便利です。skype-socket-gatewayは捨てましょう。
Mac版とLinux版がある。Mac版はchatの読み書きができるけど、Linux版はAPIがよくわからなくて書き込みしかできない。
自分のプログラム <--(HTTP)--> Skype-Gateway <--(AppleScript)--> Skype.appという感じで通信する。
curl -d 'hello!!' http://localhost:8787これでchatにhello!!と投稿される。
Nokogiriで取得してRSS作った http://shokai.herokuapp.com/feed/akizuki.rss
Yahoo Pipes版が動かなくなってたので作りなおした。
意外と重要な部分だけ抜き出すの面倒だった。
RSS読まれるたびに秋月にアクセスすると申し訳ないのでcacheを作って、20分はcacheを使うことにした
memcacheを使えばいいんだけどなんとなく車輪の大発明をしてしまった。
昔は秋月RSSあったんだけどサイトリニューアルした時に無くなったんだよね。4年ぐらい前だったっけ?
電子工作の勉強をはじめたときは、何か作ろうとしても何が作れるのかわからない。
とりあえず有名な店の新着商品を3ヶ月ぐらい見ていれば、世の中にどんな部品が存在しているのかわかってくるはず。
このへんを定期的にチェックしておくと良い
webブラウザでファイルをアップロードしたり、URLをHTTP-POSTしたら印刷できる奴を作った。研究室のwebサーバーに設置したらわりとウケてた。
出力デバイスとしてプリンタがより手軽に使えるようになる。
例えばメッセージをプリンターから出したりとか、Ethernetにつながったハードウェアから印刷したりとか、いろいろなARマーカーをどんどん吐き出すとかできるのできっと便利。
SinatraからMac/Linuxのlprコマンドを呼び出して印刷する感じの実装をした。
URLをpostされたら、content_typeをチェックしてから、html以外ならダウンロードして印刷、htmlの場合はxvfbとwebkitを起動してキャプチャしてPDFを作って印刷するとかがんばった実装をした。
https://github.com/shokai/print-server
■セットアップ
Sinatraなのでローカルですぐ起動させられる。
git clone git@github.com:shokai/print-server.gitconfig.yamlにデフォルトプリンタの指定などが書いてある。
cd print-server
brew install qt imagemagick
gem install bundler
bundle install
cp sample.config.yaml config.yaml
ruby development.rbhttp://localhost:8080で起動する
curl -d 'url=http://shokai.org/blog/' http://localhost:8080/url
赤外線学習リモコンをWebブラウザから使えるようにした。SinatraとMongoDBで、RubyでBuffalo/玄人志向の赤外線学習リモコンを操作するで作ったkuro-rs-serverを操作する。
shokai/kuro-rs-control-panel – GitHub
これでアプリから様々な機器を操作できる。家に帰る前に暖房つけたりとかNFCでテレビ動かしたりとか。
機能はこれだけ。全部GUIとJSON APIがある。
curl -d 'name=tv/ch2' http://localhost:8787/kuro-rs.jsonのようにHTTP-POSTで名前を指定して赤外線発射、などの方法が書いてある。
git clone git://github.com/shokai/kuro-rs-control-panel.gitconfig.yamlを編集する。kuro-rs-serverのアドレスぐらいしか編集する必要ない。
cd kuro-rs-control-panel
bundle install
cp sample.config.yaml config.yaml
kuro-rs-server /dev/tty.usbserial-00012a34b5 --port 8786
ruby development.rbもしくはpassenger使うとよい。