esa.io 簡易レビュー

※ 2014/11/23 時点の情報

TL;DR

  • ほぼ Qiita:Team 互換
  • Kobito のような専用 Client はない
  • docs - esa.io
    • これが良いサンプルになっているので必見

ホーム画面 / カテゴリビュー

 2014-11-23 17.16.01.png

表示されているもの

  • カテゴリ一覧
  • README.md の内容
  • 最近の投稿

投稿一覧

 2014-11-23 18.41.37.png

投稿画面

 2014-11-23 19.05.37.png

できること

  • 画像直接貼り付け
    • url は https://img.esa.io/uploads/production/pictures/173/1076/image/f58c6c3d21bdbfaf9bffa9d886919497.png など
  • チェックボックス
  • タグの候補出し
  • WIP 投稿

投稿表示画面

 2014-11-23 18.46.02.png

表示されているもの

  • 目次
  • 内容
  • 各種情報

コメント

ほぼ投稿と同じことができる

 2014-11-23 19.05.02.png

Import

現在開発中とのこと

Export

https://{チーム名}.esa.io/team ページから Request archive for exporting の Request Archive ボタンをクリック. 登録した Mail Address に Archive ダウンロード URL が届く.

2014-11-23_17_08_08.png

フォルダは以下のような構造で

  • templates
  • categories

出力された md ファイルは以下のようになっている.

---
title: "hogehoge"
date: 2014-11-23 16:45:42 +0900
tags: aaa, bbb
category: /
published: true
---

ddd

Webhook

記事が上がったタイミングで以下のサービスに通知を送ることができる.

 2014-11-23 17.11.50.png

Feedback

Markdown で書ける. めでたい :congratulations:

 2014-11-23 18.56.49.png

Qiita:Team との比較

esa.io のほうが優れていること

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.exportsrobot を引数とする関数を登録する. この 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 では以下のようにタスクを消化する

  1. まず、やるべきタスクをリストから選ぶ(所要時間の長いタスクは複数のポモドーロに分割しておく)
  2. キッチンタイマーを25分にセットする
  3. タイマーが鳴るまでわき目もふらず、タスクに集中する
  4. タイマーが鳴ったら、1タスクにチェックを入れ、5分休憩
  5. ポモドーロが終了したら、長い休憩をとる

http://bizmakoto.jp/bizid/articles/1003/23/news043.html

私は, この手法では初心者には厳しいと思ったので, 以下のように fork した.

  1. タスクを明確に定める (所要時間の長いタスクは意味のある単位でポモドーロに分割する)
  2. 25 分にタイマーをセットする
  3. タイマーが鳴るまでタスクに集中する. 邪魔な通知などは気にしない
  4. タイマーが鳴ったときに作業が終わっていなければ, 残りのタスクを算出する. ポモドーロの見積もりを修正
    • 「すぐ終わりそう」なときは 1 分未満ならそのまま, 5 - 10 分程度かかるものならタスクリスト化して 5 or 15 分セットしてタスクを消化
  5. 5 - 15 分休憩
  6. 1 へ戻る

25 分で終わらせる という意識をなくすようにした. 時間に追われてはストレスが溜まり, 継続可能性も低くなるためだ.

アプリ

Pomodoro Technique を実行する上で, 以下のアプリケーションを Mac にインストールした.

http://jamztang.github.io/pomodoroapp/

以下のように画面に常に表示させて, 作業をしている

 2014-09-03 20.14.45.png

タスク設定や開始はとても単純に操作ができて心地よい. このアプリケーションの出来の良さも Pomodoro Technique を実践する理由となった.

pomodoro.gif

感想

先日から導入しているが, アプリの使いやすさもあって思った以上に効果を発揮している. どうしてもずるずるとタスクを引き伸ばしてしまう人間には非常に適した時間管理法なのだと思う. まだ始めて数日なので, いずれ挫折してしまう可能性ももちろんあるが, いまのところは成功と評して良い状態にある.

この時間管理法の欠点は, 多くの管理法と同じく意識を高めすぎてリバウンドしてしまうことだろう. やりすぎた時間管理, タスク管理は作業に焦りを生じさせる.

これを回避するには, 25 分で終わらせなければならない という意識を完全になくすことだろう. 重要なのは, 1 タスクに集中すること, 時間の区切りを意識すること. この二つだけでも, Pomodoro Technique は十分な効果を期待できそうだ.

既にある issue から pull-request をする方法

目的

  • issue に commit を積み重ねていきたい
  • 別途 PR を投げると情報が分散する
    • issue と PR は reference で結びつけておいて, 役割分担を明確にするというやり方もあるが, 今回は issue と PR を一緒にする方法を紹介する

方法

hub コマンド を使い PR を投げる.

hub pull-request -i ${issue 番号}

References