今日行われたTokyuRuby会議で、フリーランスなエンジニア(流し)がどのように仕事をしているのか、需要あるかなあと思ったので話してみました。しかし話した感触的にそれほど興味のある人は多くなかったような。単価とか契約とかもっと深い話をしたらよかったのかもしれませんねー

あまりちゃんと告知していなかったのですが、Hack Design 読書会はデザインビギナーズと名前を変え、勉強の内容も、なるべく手を動かして勉強する形にシフトしています。

そんなデザインビギナーズも前回で第6回を迎えました。Hack Design 読書会は10回まで続いたので通算16回。なかなか良い感じで継続できていますね。今回はみんなで名刺を作りました。勉強した内容的にはさくらいさんのエントリ参照のこと。

初めて名刺のデザインをしましたが各要素の配置が悩ましいですね。過去にノンデザイナーズ・デザインブックを読んでいて、要素の配置について分かったような気分になっていたのですが、いざ実際に配置しようとすると迷ってしまいます。どう配置すると格好良いのか。あんまり奇をてらいすぎるとバランスが崩れてしまうし…。なんて考えていたらタイムアップ。とても無難な感じになりました><

スクリーンショット 2013-12-04 21.20.15

これまでのミートアップでは、真のデザインビギナーたちだけで集まる事が多く「これなんかイケてないんだけどどうやったらいいんですかねえ…」「さあ…」ということが頻繁にあったのだけれど、今回は @designless0 さんが来てくれたおかげで凄く充実したミートアップになったように思います。@designless0 さんありがとうございました!

ただデザイナーさんに教えてもらうだけではとても申し訳ないので、デザイナーさん達にも参加するメリットのあるミートアップにできるとよいなーと思うのですが、なにかうまい案ないですかねえ。代わりにプログラミング教えますよ!とかだと「それなんてP4D?」ってなるし…。この辺の仕組みをうまく作れるとグレートなコミュニティになるんじゃないかなと。

良い案見つけたら都度やり方をブラッシュアップしていこうと思います。

次回ミートアップは12/18(水)20:00〜です。内容はデザインビギナーズのfacebookページ上で投票して決めます。気になる方は是非ご参加くださいー。

sanemat さんが作っている tachikoma という gem があります。tachikoma の機能は簡単に言うと「github の指定のプロジェクトで bundle update して、差分を pull request してくれる rake タスク」です。cron や jenkins などで定期的に実行するようにすると、依存する gem のバージョンを常に最新に保つことができます。べんり!

そんなべんりな tachikoma なのですが、ドキュメントが分かりづらくて損をしている気がします…><。すこしでも足しになるように、僕が作っている revenger というプロジェクト(github 上のプライベートリポジトリに置いてある)の tachikoma 設定手順をまとめましたのでご参考あれ。

前提

  • github のプライベートリポジトリで管理してる
  • jenkins サーバ上で定期実行する

この前提以外の方は適宜自分の環境に読み替えてください

準備

まず、 github で tachikoma 用のサブアカウントを作成します。別に作らなくても tachikoma は動かせるのですが、他人からの pull request でないと github の notification には現れません。そのへん気にならない方は作らなくても大丈夫です。

その後、サブアカウントの Personal Access Tokens を入手します。

skitch

上記画像の Create New Token をクリックすると入手できます。

次に、tachikoma のワーキングディレクトリを作ります。jenkins 上で実行させたいので、jenkins の workspace 配下にディレクトリを作っています。

cd /path/to/jenkins/workspace
mkdir revenger-tachikoma

Gemfile を作って bundle install します。--path はお好みで。

cd revenger-tachikoma
bundle init
echo "gem 'tachikoma'" >> Gemfile
bundle install --path vendor/bundle

次に下記のコマンドで tachikoma で必要なファイルを生成します。

bundle exec tachikoma init

実行すると下記のような出力が得られます。

appended .gitignore
appended Rakefile
created data/
created data/__user_config__.yaml
created data/bot-motoko-tachikoma.yaml
created repos/
created repos/.gitkeep
tachikoma init completed!
You might want to see README!

ここから設定ファイルを作っていきます。

まずは data/__user_config__.yaml を編集します。ここでは pull request を送るユーザ情報と、pull request の文章を設定しています。僕は下記のように設定しています。

commiter_name:
  'willnet-bot'
commiter_email:
  'netwillnet+bot@gmail.com'
github_account:
  'willnet-bot'
pull_request_body:
  ':hamster::hamster::hamster:'

次に data/revenger.yaml を作成します。もちろん "revenger" の部分はあなたのアプリの名前に変更してくださいね。ここではプロジェクト固有の設定を入れます。注意したいのは、リポジトリの url を https:// の scheme で書くこと。git@... の方だといまのところうまく動かないはずです。

url:
  'https://github.com/willnet/revenger.git'
type:
  'private'
language:
  'ruby'
version:
  '2.0.0'

これでひとまず準備完了。下記のコマンドでちゃんと動くか確かめてみましょう。

BUILD_FOR=revenger TOKEN_REVENGER=サブアカウントのPersonalAccessToken bundle exec rake tachikoma:load tachikoma:fetch tachikoma:bundle tachikoma:pull_request

うまく動いたら jenkins 上で revenger-tachikoma というジョブをつくります。僕は下記のように設定して、毎朝7時に定期実行するようにしました。

スクリーンショット 2013-09-23 23.08.16

試しにビルド実行してみて、うまく動いたら完了です。お疲れ様でした。楽しい bundle update ライフをお楽しみください。

rake_shared_context という、rake タスクをテストする際にべんりな shared context を gem にしたものがあります。これをバージョンアップしました。

バージョンアップしたときに RubyGems.org を確認したら、地味に 2000 ダウンロードされていて驚きました><

変更点

  • rails に依存しているコードを修正して、padrino など他のフレームワークでも使えるようにした
  • 任意のディレクトリの rake タスクをテスト出来るようにした(これまでは Rails.root/lib/tasks/*.rake 決め打ちだった)

下記のようにすると、/path/to/rake ディレクトリ配下の rake タスクをロードします。

RakeSharedContext.rake_dir = '/path/to/rake'