Page 3 of 6

Previous page

2015-03-28

18:10:11

浜松Ruby会議01参加

浜松Ruby会議01 に参加してきました。

3/27(金)に仕事を終わらせた後すぐに新幹線に乗って浜松へ。 Airbnb で見つけた宿(学生寮)に宿泊させてもらった。 宿主はとても親切な方で快適な宿泊だった。

浜松Ruby会議01は今日の朝10時に始まった。 午前中は、島田さん、増井さん、倉貫さんの発表。

島田さんはかつて北海道で地域Ruby会議を開いた際に東京や海外からゲストがやってきてくれたこと、 自分たちの場所に外からすごい人が来ることの嬉しさを話していて貫禄があった。

増井さんは自分のキャリアの話だった。子供の頃からプログラミングをしているけど、 工業高校が男ばかりだったから大学は文系に行ったという話が面白かった。文系は以外だった。 (僕も工業系単科大学に行く時に女性は諦めたなぁ…) 英語ができなかったけど渡米して Siatoru.rb に参加して英語を覚えた話よかった。 コミュニティの力ってすごい。

倉貫さんは「納品のない受託開発」の話。 前々から思っていたけど、「納品のない受託開発」と僕が普段永和でやってる仕事はそんなに違いがない気がする。 僕もリモートワーク(というか自宅で仕事)したいなぁ。 で、実際にそういうことをやっている人は既にたくさんいて、自分がリモートワークできてないのは 単にアクションが足りないだけと言わざるを得ないのだった。

昼飯。

午後は1人15分くらいの発表。

最初は mzp さんの型の話。言葉を選んで発表されている感じがすごいした。 この手のジャンルは発表難しそう…。 mzp さんのTwitterは見ているけど発表聞いたの初めてだった。

やだ けいこさんはRailsGirlsの話。日本の RailsGirls の運営をしているらしい。 13回もやっているらしくて、場所も8都市でやってて、活動的だった。

伊藤 淳一さんもソニックガーデンの方で、リモートワークしているらしい。 僕が東京を離れて海の近くの小さな家で犬を飼って生活するのはいつになるのか…。

高尾 宏治さんは http://smalruby.jp/ の話。 https://github.com/smalruby/smalruby-editor が面白そうだった。

その後も色々聞いた。(書くのが疲れてきた…)

結構エモい話、ビジネス寄りの話が多かった。

懇親会に行けばLTも聞けたが、そちらは参加せずに新幹線で東京に帰った。

今回の発見

プログラムを書かないならノートPCいらない気がしてきた。 あとカメラも持ってきたけどほぼ撮影しなかったから荷物が重くなっただけだったかなぁ。 Nexus9は結構電池の持ちが良いので便利。

Comments

2015-03-26

18:31:32

  • iOS の Safari では画像の向き情報(Orientation)を見て表示する
  • convert -auto-orient を使うと向き情報を適用した画像に変換する
  • convert -orient TopLeft を使うと必ず縦向きにする
  • convert -list orientation で指定可能な向きを取得できる
  • convert コマンドで画像を上書きしたいときは mogrify コマンドを使う
  • シェルスクリプトを bash で動かすときは -x が便利。あと -u とか -e とか。
    • -x: 実行結果を表示。 -v との違いは変数の値を展開して表示すること
    • -u: 未定義の変数を使おうとすると止まる
    • -e: エラーがあれば止まる
Comments

2015-03-24

20:58:03

Nexus9をPCの外部モニターにするというアイディア

アイディアだけでまだ何もやってない。

Splashtop 2 Remote Desktop が評判良さそう。

http://www.splashtop.com/linux Linux ( というか Ubuntu ) でも動きそう。

僕が使ってるの Debian だけどなんとかなるんじゃないかな。

http://www.yujilow.net/2014-06-15/splashtop-streamer-on-ubuntu-14-dot-04/ がんばって入れてる系のblog postもあるし。

Comments

2015-03-21

1235

middleman

middleman とか sass とかについてちょっと詳しくなった。

あとサイトマップ機能があるらしい https://middlemanapp.com/jp/advanced/sitemap/

oulu

@machida さん製の oulu というライブラリが面白い。 border とか list とかちょっとした属性を mix-in で設定できる。 かなり小回りが良さそう。

middleman や rails で使いやすくする gem もある

bourbone

bourbonecompass みたいなものなのかな。 scssのライブラリでシンプルでコンパイルが早いらしい。 まだあまり調べてない

modular-scale

modularscale-sass

サイトのフォントサイズ等を黄金比などの比率で設定しやすくするライブラリらしい。 今の僕にはまだ早いかなぁ。

sass の省略記法

http://sass-lang.com/documentation/file.SASS_CHANGELOG.html#320_10_august_2012

@mixin=@include+ でいい。 つまり

1
2
3
4
5
6
7
8
9
@mixin iphone {
  @media only screen and (max-width: 480px) {
    @content;
  }
}

@include iphone {
  body { color: red }
}

1
2
3
4
5
6
7
=iphone
  @media only screen and (max-width: 480px)
    @content

+iphone
  body
    color: red

でいい。

気分

  • 『CSS設計の教科書』読み直したい
  • oulu とか bourbone のドキュメント読む
  • middleman が思ったより色々できそう
  • sass 、 sass-script まわり知らないこと多すぎ
  • 知識だけ集めてもなぁ…どうするかなぁ…
Comments

2015-03-15

23:55:45

今までの分をまとめた Vagrantfile を作った。

docker の pull は時間がかかりそう。 あと、 /etc/drone/drone.toml の設定を含めてないので、そこはもっと改善したい。

Comments

21:26:18

FlyingMoney を drone でビルドしてテストをパスしたい

前回からの差分として docker の環境がないので、それを作るところから始める。

vagrant 上で次のコマンドを実行して、drone 用の docker の基礎環境を作る。

1
2
3
sudo docker pull bradrydzewski/ubuntu
sudo docker pull bradrydzewski/base
sudo docker pull bradrydzewski/ruby:2.0.0

bradrydzewski/ubuntu には ubuntu と git 等の基礎的なソフトウェアが入っている。 bradrydzewski/base には gcc や make 、あと ruby や python などの基本的な言語が入っているようだ。 bradrydzewski/ruby:2.0.0bradrydzewski/base 内にインストールされている rbenv を使って、 Ruby 2.0.0 をインストールする。

あとはリポジトリに .drone.yml を作成すればいい。

はじめ servicespostgrespostgresql と書いていて動かなくてしばらく困った。 あと bradrydzewski/base 中の bundler のバージョンが古くて -j オプションが使えなかったので、 gem update bundler するようにした。 これでビルドが早くなった。

いい感じ。

参考にした場所

Comments

2015-03-10

22:52:00

drone 進捗

昨日、うっかり github の flying money リポジトリから drone への web hook を消してしまったわけだが、 これを復活させる方法がわからなかった。たぶん、コード読まないとわからない。

そのため、一旦 vagrant destroy してやり直すことにした。

せっかくなので、 vagrant up で drone を起動するところまではできるようにした。

/etc/drone/drone.toml の編集までは入れてないので、そこからスタートしたが大変楽だった。

作りなおした drone で flying money を activate すると github に web hook が追加された。

で、 flying money に次の .drone.yml をおいたコミットをした。

1
2
3
4
5
6
7
8
9
10
11
image: ruby2.0.0
services:
  - postgresql
script:
  - mkdir -p /tmp/bundle
  - sudo chown -R ubuntu:ubuntu /tmp/bundle
  - bundle install -j8 --path /tmp/bundle
  - cp config/database.yml.drone config/database.yml
  - bundle exec rake db:create db:migrate spec
cache:
  - /tmp/bundle

drone は push の web hook でビルドを実行することしかできないので、 push によりビルドが走った。

で、その結果が Tweet の失敗画面。 これはまだ docker のコンテナをひとつも用意してないためだと思われる。

docker のイメージは https://github.com/drone/images にあるので、これを見ながら追加していけばいいと思う。 明日はこの辺からやろう。

Comments

2015-03-09

22:50:33

drone の設定ファイル等の場所

  • drone の設定ファイル: /etc/drone/drone.toml
  • drone のログ: /var/log/upstart/drone.log

drone の続き

まず Ultra Hook にアカウントを作って、 http://www.ultrahook.com/register で表示された api key を ~/.ultrahook に書き込み、 次のコマンドを実行した。

1
2
3
4
5
$ gem install ultrahook
$ ultrahook github 8080
Authenticated as kbaba1001
Forwarding activated...
http://github.kbaba1001.ultrahook.com -> http://localhost:8080

これで http://github.kbaba1001.ultrahook.com に何かが POST されたら localhost:8080 で受け取れるようになる。

localhost:8080 へのアクセスを VirtualBox 上の drone にポートフォワーディングする設定を Vagrantfile に追加する。

1
2
3
4
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.network "forwarded_port", guest: 80, host: 8080
  # ...後略
end

ホント、 vagrant は楽だなぁ。

Ultra Hook から ngrok へ

なんか Ultra Hook だとうまく github からの post を受け取れていないようなので、 ngrok に切り替えた。 こっちの場合、ビルドされた実行ファイルをダウンロードして、

1
$ ./ngrok 8080

みたいにすると外からアクセスできるURLが表示されて使えるようになる。 ultra hook と異なり、こちらは get にも対応している。 -hostname オプションでホスト名を指定することもできる。

drone にリポジトリを登録

drone に github のリポジトリを登録すると自動的に hook の設定もやってくれる。 ただし、これを一度消してしまうとやり直す手段がなさそう…。

drone-cli を使えば頑張れそうな気もする。 このへんまだよくわかってない。 雰囲気的にコンソールでないとできないことがいくつかありそう。

気分

素振りは色々とつまらないミスをしてしまうが、ドキュメントも少ないので仕方がない。 夜ふかしだけ気をつけたいなぁ。。。今日も遅い。

Comments

2015-03-08

23:52:49

手元の仮想マシンに作った drone で flying_money をビルドできるようにしたかったけど、 github の web hook を受け取るには github が見える場所にないとだめなような…

ビルドの設定とかは https://github.com/drone/drone/blob/v0.2.1/README.md#builds に書いてある。

と思っていたら http://www.ultrahook.com/ というのがあった。 これを使えば localhost でも Web Hook を受け取ることができそう。 Qiita にも記事があった http://qiita.com/ukitazume/items/0228088543e9e9e71171

また夜ふかししそうだからこの続きは明日やろう。

Comments

6381

OSS 版の Drone CI を試す

Jenkins を首にしたい。Jenkins を辞めたい。 そこで drone の OSS 版を試すことにした。

drone 以外の候補としては strider もある。

VirtualBox上でセットアップしたメモ

次の内容の Vagrantfile を用意する。

1
2
3
4
5
6
7
8
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.network "private_network", ip: "192.168.33.10"
  config.ssh.forward_agent = true
end

vagrant を起動する

1
2
vagrant up
vagrant ssh

仮想マシン内に入って http://readme.drone.io/setup/install/ubuntu/ にしたがってセットアップする。

1
2
3
4
5
6
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libsqlite3-dev docker.io
wget downloads.drone.io/master/drone.deb
sudo dpkg --install drone.deb
sudo start drone

ホストマシンのブラウザで次にアクセスする

1
http://192.168.33.10/

drone の画面が表示されればOK。

github と連携

まず http://readme.drone.io/setup/config/github/ にしたがって、 GitHub の OAuth の鍵を作る。

仮想マシンのターミナルで /etc/drone/drone.toml を編集する。

1
2
3
4
5
6
- # [github]
- # client=""
- # secret=""
+ [github]
+ client="xxxxxxxxxxxxx"
+ secret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

( [github] をコメントアウトし忘れて1時間くらいハマっていた… )

drone を再起動する。

1
2
sudo stop drone
sudo start drone

今後

OSS版の Drone は yml でビルドの設定を書いたり、 docker でビルド環境作ったりできるようなので、そのへんをもっとやっていきたい。

Comments

Next page

kbaba1001 profile photo
馬場 一樹 ( @kbaba1001 )
A programmer. Ruby on Rails, SublimeText, zsh, Linux.
Twitter,GitHub