findしたのをxargsで渡してgrepに流し込むと大丈夫とのことを知った。
あるあるなんだな。
find . -name "*.html" -print0 | xargs -0 -I{} grep -oEH "hoge foo" {}
findしたのをxargsで渡してgrepに流し込むと大丈夫とのことを知った。
あるあるなんだな。
find . -name "*.html" -print0 | xargs -0 -I{} grep -oEH "hoge foo" {}
最近業務でgoogle docsやExcelで管理されたシートの内容を集計したいことがあって、基本google docsのスプレッドシートでゴニョゴニョすることがあるのですが、例えば
の様なものがあって、上の例だと各ユーザのポイントの合計を集計したいなと考えた時にExcelに慣れている方だとExcelの関数が浮かんで集計できるのかと思うのですが自分だとSQL文のイメージが先に出るのでよしなにできないかなと思っていたら、Google docsだと QUERY という関数を使うことで実現できることを知ったのでメモエントリです。
上の例だと D1 のセルに以下の様な内容を記述します。
=query(A2:B9, "select A, sum(B) group by A")
1番目の引数にデータの範囲を指定し、2番目にそのデータ範囲でのクエリを記述します。
SQLを触ったことがある方ならなんとなくわかる記述内容かと思います。入力を完了するとすぐにセルに集計結果が反映されます。
なるほどとても便利。Google docs初期からの機能だった様なのですが本格的に最近触る様になったのでやっと便利さに気づけました。
Query Language Reference (Version 0.7) | Charts | Google Developers
ほとんど自分用メモですが便利なのでここに記録として残しておきます。
例えば、特定のディレクトリにある全JPEGファイルの長辺を500pxにする形でリサイズする場合は以下の様に sips コマンドを使うととても楽をできます
☁ ~ sips -Z 500 *.jpg
これだけ。
元画像ファイルが残ったりはしないのでその点のみ注意。
REMP や Stobo , Casto のそれぞれのHTTP(S)レベルでの疎通監視に以前から使っていたUptime Robotというサービスのことを書いていなかったので思い出した様に書いてみます。*1
Uptime Robotは50箇所のモニタリングで且つ5分間隔であれば無料で使える監視のWebサービスでHTTP(S)の疎通監視したいサイトを登録すると上の様なダッシュボードで監視状況を見ることができて、且つアラートの通知先として、
が使えます。ちなみにTwitterは通知先のアカウントが @uptimerobot をフォローすれば、DMで通知が届きます。
またダッシュボードで各監視しているサイトの情報は以下の様な感じでレスポンスタイムの遷移と直近起きたUp / Down 状況とともに確認できます。
無償内でも個人で利用する上では十分な機能を抑えていますので、個人サービス等運営されている方は利用してみてはどうでしょうか。
*1:無論、今日アラートがここから飛んだから書いているということは言うまでもない訳で...。
REMPチームで今までチャットシステムにLingrを利用していたのだけど、会社でもSlackの試用を始めたりしているので丸っとSlackに移動させようとLingrで動かしていたHubotをSlackに移した。
Slack自体がHubotを稼働させるためのintegrationとして準備しているのでほとんど障壁が高く無かったのだけど、一応動かした際のメモ。
https://〜.slack.com/services の Integrations で Hubot を追加する
Setup Instructions として表示される HUBOT_SLACK_TOKEN の値をHubotが稼働しているサーバーへ環境変数として追加する。Hubotのプロジェクトに slackhq/hubot-slack · GitHub を追加する。
$ npm install hubot-slack --save
Hubotを起動させる際にアダプタとしてslackを指定する。起動時に -a のオプションを指定する。
$ bin/hubot -a slack
Hubot自体も、Hubotを永続化させるのに利用しているsupervisorの設定もChefのテンプレートとしてリポジトリ管理してたのでその辺りも我ながらよかった。*1
*1:というか普通はきっとherokuで動かしてるんだろうな。
REMPやSTORYBOARDS ではminaを利用してデプロイを行っているのだけど、これらのアプリケーションでもステージング環境を扱いたいなと思った時に切り替えをどの様にすればよいのか調べたのでメモ。
以下の様な感じで切り分けができる。
case ENV['to'] when 'staging' set :deploy_to, '/foo/bar/storyboards_staging' else set :deploy_to, '/foo/bar/storyboards' end
これでデプロイする際に
$ bundle exec mina deploy to=staging
とすることでパラメータとして渡すことができるので、これでデプロイ先を切り分けることができる。
「Pushbullet」最高。 パソコン、スマホ間のデータ送信が信じられないほどラクに! : ギズモード・ジャパンという記事が目についたので便乗エントリ。
evac - Node.js based simple aggregator -を使うとPushbulletのAPIを使ってプッシュ通知することができます。Pushbulletのトークンはアカウントページで確認できます。
{
"in": {
"staticWord": {
"text": "Pushbullet test."
}
},
"out": {
"pushbullet": {
"device": "******@gmail.com",
"token" : "*******",
"title": "テスト",
"mode": "note"
}
}
}
の様なレシピを用意して、以下の様にevacを実行するとプッシュ通知されます。PushbulletにiPhoneとChromeを今回は登録しているので下の様にChromeのポップアップと同時にiPhoneにもプッシュ通知が届きます。
$ evac -v recipe/test_pushbullet.js
今回の例は素朴に文字列をそのまま渡すだけですが、こんな感じで何かをトリガーにして、Pushbullet経由で通知することができます。便利。
blessed-contribというCUIベースのダッシュボードを作れるnpmパッケージを触ってみた。以前紹介したdashingはブラウザで閲覧できましたが、これはターミナル上で確認できます。素敵。
百聞は一見にしかずということで下のGIFアニメ参照。
tmuxで区切った画面の右側にblassed-contribで作ったダッシュボードを表示させています。
ダッシュボードの中身は
が表示されています。redis-cliからflushdbするとダッシュボードの右上にredisのログが流れていくのや、左上でredisへ書き込みを行うプログラムを走らせるとCPU温度のグラフが右肩上がりしていきます。
具体的にダッシュボードを作るには以下の様なスクリプトで実現をすることができます。
CUIベースでも十分表現力あるので、ターミナル上でいろいろ眺めるダッシュボードを作ってみたい方はお試しを。
最近のコメント