esa.io 簡易レビュー
※ 2014/11/23 時点の情報
TL;DR
- ほぼ Qiita:Team 互換
- Kobito のような専用 Client はない
- docs - esa.io
- これが良いサンプルになっているので必見
ホーム画面 / カテゴリビュー
表示されているもの
- カテゴリ一覧
- README.md の内容
- 最近の投稿
投稿一覧
投稿画面
できること
- 画像直接貼り付け
- url は
https://img.esa.io/uploads/production/pictures/173/1076/image/f58c6c3d21bdbfaf9bffa9d886919497.png
など
- url は
- チェックボックス
- 表
- タグの候補出し
- WIP 投稿
投稿表示画面
表示されているもの
- 目次
- 内容
- 各種情報
コメント
ほぼ投稿と同じことができる
Import
Export
https://{チーム名}.esa.io/team
ページから Request archive for exporting の Request Archive ボタンをクリック. 登録した Mail Address に Archive ダウンロード URL が届く.
フォルダは以下のような構造で
- templates
- categories
出力された md ファイルは以下のようになっている.
--- title: "hogehoge" date: 2014-11-23 16:45:42 +0900 tags: aaa, bbb category: / published: true --- ddd
Webhook
記事が上がったタイミングで以下のサービスに通知を送ることができる.
Feedback
Markdown で書ける. めでたい :congratulations:
Qiita:Team との比較
esa.io のほうが優れていること
- チームへの投稿を Qiita に間違えて投稿することがなくなる
- デザインにかわいみがある
- 現段階では無料
- タグ, カテゴリの付け方が直感的
- WIP 機能がある
- この状態の時は通知が飛ばない
Qiita:Team のほうが優れていること
- 会社組織で運営しているので対応が迅速
- 専用 Client (Kobito, Mac のみ) がある
- 最新の投稿が目立つ
- 検索が (おそらく) 優秀
- コードハイライトが優秀
- 目次が見やすい
esa.io の苦手な所
- スラッシュやシャープを含むタイトルは気をつけなければ自動的にカテゴリ扱い, タグ扱いになる
Hubot メモ
導入
Mac
npm で hubot と coffee-script をインストールする.
sudo npm install -g hubot coffee-script
各種コマンド
プロジェクトを作成する
hubot -c #{プロジェクト名}
ローカルで立ち上げる
bin/hubot
モジュールのインストール
Node.js のモジュールがインストールできる. --save
オプションを付ける.
npm install --save hubot-cron
Hubot Scripting
ディレクトリ構造
- bin: 実行ファイル
- node_modules:
npm install --save
コマンドでインストールされたモジュール - scripts: 自作 Script の保管場所
- Procfile: 実行命令
external-scripts.json
hubot-scripts.json
package.json
: 設定
基本
bin/hubot
で対話環境に入る.
> hubot ping PONG
この挙動は scripts/ping.coffee
で定義されている.
module.exports = (robot) -> robot.respond /PING$/i, (msg) -> msg.send "PONG"
Hubot は Node.js で動いているため, module.exports
に robot
を引数とする関数を登録する. この robot
の関数として respond
というのが提供されている. この関数は第一引数に正規表現を書き, それにマッチしたメッセージを受け取った時, 第二引数の関数を実行する処理である.
ここでは /PING$/i
が正規表現である. $
があるので, 後方マッチで, かつ, i
が付いているため, 大文字と小文字を区別しない. ゆえに, hubot ping
に反応する.
また, robot.respond
は hubot 自身に呼びかける必要がある.
関数群
Hubot Scripting が詳しい.
Heroku で動かす
以下の情報が正しい
SlackのHubotを導入する際にはまったところ(Heroku経由) - Qiita
Heroku の設定をする
heroku に login する
heroku login
Heroku に ssh key を add する
heroku keys:add
hubot-slack を入れる
npm install --save hubot-slack
Procfile を編集する
web: bin/hubot --adapter slack
push する
git と heroku に最新の commit を push する.
git push origin master git push heroku master
Heroku に必要な情報を設定する
heroku config:add HUBOT_SLACK_TOKEN=token heroku config:add HUBOT_SLACK_TEAM=team heroku config:add HUBOT_SLACK_BOTNAME=botname heroku config:add HUBOT_SLACK_CHANNELS=channelname heroku config:add HUBOT_SLACK_CHANNELMODE=whitelist heroku config:add HEROKU_URL=Heroku で設定された URL
channelmode を whitelist にするのが地味に重要. Channels も.
Pomodoro Technique を実践してみる
Pomodoro Technique とは
時間管理法のひとつ. ひとつのタスクを 25 分ごとに区切り, メリハリを持って作業をする.
手法
Pomodoro Technique では以下のようにタスクを消化する
- まず、やるべきタスクをリストから選ぶ(所要時間の長いタスクは複数のポモドーロに分割しておく)
- キッチンタイマーを25分にセットする
- タイマーが鳴るまでわき目もふらず、タスクに集中する
- タイマーが鳴ったら、1タスクにチェックを入れ、5分休憩
- ポモドーロが終了したら、長い休憩をとる
http://bizmakoto.jp/bizid/articles/1003/23/news043.html
私は, この手法では初心者には厳しいと思ったので, 以下のように fork した.
- タスクを明確に定める (所要時間の長いタスクは意味のある単位でポモドーロに分割する)
- 25 分にタイマーをセットする
- タイマーが鳴るまでタスクに集中する. 邪魔な通知などは気にしない
- タイマーが鳴ったときに作業が終わっていなければ, 残りのタスクを算出する. ポモドーロの見積もりを修正
- 「すぐ終わりそう」なときは 1 分未満ならそのまま, 5 - 10 分程度かかるものならタスクリスト化して 5 or 15 分セットしてタスクを消化
- 5 - 15 分休憩
- 1 へ戻る
25 分で終わらせる という意識をなくすようにした. 時間に追われてはストレスが溜まり, 継続可能性も低くなるためだ.
アプリ
Pomodoro Technique を実行する上で, 以下のアプリケーションを Mac にインストールした.
http://jamztang.github.io/pomodoroapp/
以下のように画面に常に表示させて, 作業をしている
タスク設定や開始はとても単純に操作ができて心地よい. このアプリケーションの出来の良さも Pomodoro Technique を実践する理由となった.
感想
先日から導入しているが, アプリの使いやすさもあって思った以上に効果を発揮している. どうしてもずるずるとタスクを引き伸ばしてしまう人間には非常に適した時間管理法なのだと思う. まだ始めて数日なので, いずれ挫折してしまう可能性ももちろんあるが, いまのところは成功と評して良い状態にある.
この時間管理法の欠点は, 多くの管理法と同じく意識を高めすぎてリバウンドしてしまうことだろう. やりすぎた時間管理, タスク管理は作業に焦りを生じさせる.
これを回避するには, 25 分で終わらせなければならない という意識を完全になくすことだろう. 重要なのは, 1 タスクに集中すること, 時間の区切りを意識すること. この二つだけでも, Pomodoro Technique は十分な効果を期待できそうだ.
既にある issue から pull-request をする方法
目的
- issue に commit を積み重ねていきたい
- 別途 PR を投げると情報が分散する
- issue と PR は reference で結びつけておいて, 役割分担を明確にするというやり方もあるが, 今回は issue と PR を一緒にする方法を紹介する
方法
hub コマンド を使い PR を投げる.
hub pull-request -i ${issue 番号}