自分のはてブを取得してmarkdownに貼り付けれるようにする
会社のQiitaTeamに書きなぐった週報アップしてるけど、今週はてブした記事書いてる人がいたので、それをマネして自分もやっってみたけど手動でやってたらめんどくさくなったので、ブックマークした記事を取得するようなRubyのスクリプト書いた
require 'rss' URL = 'http://b.hatena.ne.jp/okbm/rss'.freeze # ページ単位の取得なので、1ページ20件。 # 2ページ目以降取りたい場合は?of=40を付ける rss = RSS::Parser.parse(URL) rss.items.each { |item| puts "[#{item.title}] (#{item.link})" }
厳密にやろうと思ったらもうちょっと頑張らないといけないが、1週間に20個もブックマークしないからオレは困らないのでこのままで…
$ ruby my_rss.rb | pbcopy
適当な名前で保存して叩けばMarkdown形式のいい感じにクリップボードに入るのであとはコピペするだけでOK
番外編
$ curl http://b.hatena.ne.jp/okbm/bookmark | grep -A 2 entry-title | grep href
こっちのほうがシンプルでいいかも?
オレオレプロジェクトマネジメント
前職でマネージャーっぽいことやってたので、振り返りがてら自分が考えてたこと晒しておきます。 正しいマネジメントなんかないと思うのし、あくまで個人の考え方に過ぎませんが、誰かの参考になれば幸いでっす
前提
- とあるITの現場
- なりたくてマネージャーになったわけじゃなく、あくまで上司から「お前ぐらいしか雰囲気出来そうな奴おらんからよろ」ぐらいの消去法で選任された状態からスタート
ポリシー
- プロジェクトの成功は顧客を満足させるという普通の成功とメンバーの成長と2つ考える
- コミュニケーションはフラットでメンバーとの距離はなるべくなくす
- 情報共有は行って基本オープン
- 上司は全力で使い倒す
- リーダーシップを発揮する
- その他いろいろ
pythonとflask触ってみた
ふと、pythonを触ろうと思ってなんとなく触ってた。
殴り書き程度のメモでしかないが…。
できたもの
- Github:okbm/flask_json
- pythonのフレームワークであるFlaskを使って、シンプルなjsonを返したりするだけのもの
- GithubのREADMEにも書いてるけど、httpbin(1): HTTP Client Testing Serviceを模倣したものをさくっと作ってみました
- python3.4 + MySQL5.5
- AWS(EC2) + uWSGI + Nginx で動かした(インスタンスはもう止めてるけど)
以下、殴り書き
とりあえず環境構築
- macにpyenvでpython3いれる
- IDEにJetBrainsのPyCharm入れてみたけど、結局vimで書いてた
- pythonよくわからんので、ドキュメント読んだりする
flask
- マイクロフレームワークって説明されてるだけあって、小さいフレームワークだと思う
- ただ、明確にこのファイルにはこうしようみたいなことがなかったので、どこに何を置いたらいいのかが不明。
- ORマッパーにSQLAlchemy使ってみたけど、学習コスト高そうなイメージ。
makeファイル置いて、
make test
でテスト走らせるのは作ったけど、いかんせん中身がねぇ- 時間できたらテストの中身書く予定。。。
- jenkinsとかその辺でテスト走らせるためにコマンドを用意しただけ
flaskもドキュメント読んだりした
vagrant
- flaskを動かすだけならmac単体でもコマンドラインから動かせるけど、uWSGI + Nginxで動かしたかったので、vagrant上でも動かして見ようと思ってfabricを使ってセットアップ。
- Github:okbm/python-wsgi-vagrant
- nginxのファイルとかはこっちのリポジトリで管理するべきだと思うけど、なぜか元のリポジトリに入れちゃった…。
デプロイ
- Github:visionmedia/deploy
- めちゃくちゃシンプルですぐ動いたが、sourceとかフォルダ構成が勝手についてくるのちょいうざいな…。まぁ仕方ない
- uwsgiとnginxをfablicでデプロイ
- これでもよかったがちょっとオーバースペックだったので見送り
- 普通はどんな感じでデプロイするんすかね??git pullしてrsync的な感じなのかcapistranoみたいなの使ったりするのかな…。
AWSについて
- 起動してみると全くsshが繋がらない。
ssh -vv
とかやってもよくわからない。 - Amazon LinuxからUbuntuに変えてみると速攻繋がったのでUbuntuでやった
- なぜ繋がらなかったのかはよくわからん。
- Amazon EC2 のインスタンスを Amazon VPC で起動してSSH接続する - tnil's memo
- 多分これが一番わかりやすい。
- EC2のセットアップも1からやるのはめんどいので、vagrant使ったときに使ったfabricを再利用。
- あとはES2上でuWSGIを起動してブラウザで叩くだけでページが表示されることを確認。
- uWSGIを自動で起動とかその辺は全然やってないし、DNSとか何も触ってないのでデフォルトのまま
まとめ?
- まだまだpythonよくわからない部分が多いけど、とりあえず動いたって感じ。
- なんか作るかなー
- PyConには今年行きます。
オレオレmacのセットアップメモ
とりあえず殴り書き。
足りないところとか思い出したこととかあれば追記する予定
Concrete5をfablicを使って環境構築
諸事情により、ベースキャンプ名古屋 にいて「Concrete5の日」というイベントのに参加してるのでせっかくなので適当に作ってみました。
さらっと作ったもの
- fabricを使って環境構築するようなもの
- okbm/fabric_concrete5
内容
githubを便利にするhubコマンドでよく使うコマンドたち
githubを使うのに便利なコマンドであるhubはほとんど使ってなかったが、ちょっと使うようになってきたのでメモ
詳細は公式を見てください
基本的にはgitのコマンドを簡易化するものだと思いますが、自分が使うのはブラウザと絡めて使うときがメインなのであしからず…
自分がよく使うコマンド一覧
今見てるリポジトリをブラウザで見たい
$ hub browse
hubを使えばPullRequest出すのもコマンドから出来ますが、事故るのが怖いのでいつもブラウザで開いてからやってます
その時にターミナルからchrome開くのがめんどくさいので、このコマンドで該当のリポジトリを速攻で開くのに使います
※browseってのがめんどいのでgitconfigでaliasで hub see という形にしています
今見てるリポジトリのpull request一覧をブラウザで見たい
$ hub browse -- pulls
今見てるリポジトリのpull request一覧をブラウザで見たい(自分だけの)
$ hub browse -- pulls/$(git config user.name)
これは毎回打ってられないので、aliasに適当に登録してます
指摘されたPRの内容なんだっけ?みたいなときに使います
tig上でログみてるときにブラウザで見たいとき
.tigrcに設定 # hubコマンドが入ってたら、Gで差分をブラウザで表示する bind main G !@hub browse -- commit/%(commit) bind diff G !@hub browse -- commit/%(commit)
tig上でファイルは見れなくはないけど、ブラウザで見たいなーってときはこれをやる
tigで対象のコミットを見てるときにGを押すとブラウザに飛ぶ
Pull Requestを送られたブランチをcheckoutする
$ hub checkout https://github.com/defunkt/hub/pull/73
git co -b feature/hoge remotes/origin/feature/hoge
が通常のgitでのコマンドだと思うけど、毎回忘れるのでzshの履歴から引っ張ってるのでhubで出来ないかなーと思ったらあった
まとめ
あんまりhub自体使ってないけど、自分のくせで使わなくなったブラウザのタブはすぐ閉じちゃうので、そういう人じゃなかったら別にいらないかもしれない
2.20がリリースされて新しい機能増えてそうだけど、追ってないのでわからず