Rubyちゃんこんにちわ

子育てエンジニアが綴る

第3回 開発コンテスト24授賞式にてLTしてきた

第3回 開発コンテスト24授賞式にてLTしてきました。発表資料は以下にあります。
赤ちゃんZange
身内向け以外でのLTは初めてでしたが、アウェー感がなくて発表しやすかったです。集まっている方の雰囲気がそうさせているのかなと感じました。
肝心のLTですが、緊張と枚数多過ぎたためか、駆け足になってしまったので、次にLTするときは内容を少し減らして落ち着いた感じでしゃべるようにしたい。
素晴らしい会場、食事、メンツと久々にアツくなれるイベントでした。

以下、気になったことなど。

会場

シャレオツ

cookpad

食事

飯うまい。手打ちパスタがおいしすぎて、レストランならシェフ呼ぶレベル。

LT大会

非常に参考になることが多かった。また実際にプレゼンで聞いてみて、これ滅茶苦茶面白いアイデアじゃんという気づきも多かった。俺新聞とかツボった。
勉強になったことを列挙してみると、

  • 行動力
    • 「Androidがない → auショップにある → 買ってくる」という一連の流れは見習いたい
  • 最強のエンジニアになりきるテクニック
    • これすぐにでも使える
  • 時間配分
    • テーマもそこそこ時間かけて、実装はサクッといつでもリリース可能な状態に
  • 新技術チャレンジ
    • 確かに普段の技術使って、何か作れても技術者的には面白くないかなーと思った

という感じでした。

参加された皆様、COOKPADの皆様ありがとうございました。

How to use Thor

Rails のソースを読んでいた気になった Thor について、簡単な使い方をメモしておく。

以下のように使う。ファイルは別に分けなくてもよい。Rails での使い方を最小ケースで作ってみただけ。

Thor::Group を使うと定義したインスタンスメソッド順にタスクが実行される。 ということで出力は以下のようになる。

1
2
hello
goodbye

Octopressでブログを作ってみた

インストール

ruby のバージョンは 1.9.2 を使用しています。

1
2
3
4
$ git clone git://github.com/imathis/octopress.git octopress
$ cd octopress
$ bundle install
$ rake install

ここで一旦つまずく。 ハッシュの書き方に問題があったらしく、手元のRubyをバージョンアップさせることにしたら解決した。

1
2
3
4
5
6
7
8
9
10
11
$ rake generate

$ heroku create xxx
$ vim .gitignore
  public の行を消す
$ git add .
$ git commit -m 'make blog'
$ git push heroku master

$ vim _config.yml
  ブログタイトル、authorを変更した。

初投稿

1
2
3
4
$ rake new_post["Create blog with octopress"]
$ vim source/_posts/2012-05-31-create-blog-with-octopress.markdown 
$ rake generate
$ rake preview

一応表示されている。次はもとブログから記事を持ってくるかな。

GHCiでPreludeの演算子をhidingで隠す - Haskell

プログラミングHaskellの演習問題を解くにあたり、||演算子を定義するわけですが、Preludeにて||は定義されているため、 実行時にあいまいエラーがでます(以下)。

1
2
3
4
<interactive>:1:6:
    Ambiguous occurrence `||'
    It could refer to either `Main.||', defined at 4.hs:36:6
                          or `Prelude.||', imported from Prelude
対策としては.hsファイルの先頭に、以下を追加してPreludeで定義されている   演算子を隠します。
1
import Prelude hiding ((||))

&&演算子も同時に隠す場合は、タプルのように扱うことで解消できるようです。

1
import Prelude hiding ((||), (&&))

余談ですが、最初はimport Prelude hiding (||)でエラーとなってしまいハマりました。セクションとして扱う必要があるようです。

参考サイト: 2006-06-20 - 結城浩のHaskell日記 - haskell

asakusa.rbに参加してきた

asakusa.rbに参加してきました。
目的はrubyコミュニティに参加したかったことと、その中でも長く継続されているasakusa.rbはどんなことを行っているのか興味があったためです。

会の内容としては自由にやりたいことをやったりする会ということで、皆様モクモクと作業をしていました。
こういう感じの会も自分の作業が捗ってよいですね。
自分はPCを持って行かなかったので、次回参加する際には持って行くことにします。

PCを持って行かなかったので、自分は他の勉強会で発表するLT資料の構成を考えるなどしてました。
参加前に調べた情報では21:30に終了とのことで、終わりの時間が近づいた頃に、@a_matsudaさんが来られ、「それではasakusa.rbを開始します。」とのこと。
とりあえず、まだ始まっていなかったことに衝撃を受けましたw

そこからは@a_matsudaさんの仕切りにより、EuRuKo、自己紹介、フリートーク、QAサイトについてなどなどruby関連の情報展開がされました。

こんなこと言ったら怒られるかもですが、ゆるい感じの会で、気軽に参加できる雰囲気がありました。
逆にこれが150回以上も続いている秘訣なのかなとも思います。

皆様ありがとうございました。もしまた参加する際は宜しくお願いします。

関連記事
asakusa.rb 第157回 - HsbtDiary(2012-05-08)
Asakusa.rbいってきた - katsyoshiの日記

「Ruby on Rails」x「heroku」勉強会の気になったメモ

参加動機

Railsスキルを上げておきたかったため。
それと10分Railsで有名な@masuidriveさんが講師であり、
直接学べる価値があると考えたため。

以下個人的に気になった部分のメモ。

  • rails console が便利
    rails アプリをロードした状態で irb が使えるようになっているようで、
    DB の中身とかを Ruby のコードで確認できて楽。

  • New Relic 便利そう
    こちらは heroku plugin で提供されているらしく、
    Production 環境でも各種ソースのパフォーマンスを記録できるらしい。

  • Devise 便利
    勉強会当日はこのライブラリを使ってサクッと、
    ユーザ情報(テーブル)を追加していた。
    これだけ楽に追加できるのはフレームワークの利点だなと改めて感じた。

当日の成果
http://growing-beach-6143.herokuapp.com

heroku勉強会に行ってきた@BPStudy#55

勉強会に行ってきたので、まとめておきます。

行ってきた勉強会

BPStudy#55

BPStudyは株式会社ビープラウドさんが主催している勉強会とのことです。
Pythonに強そうな会社でした。
以下の本を執筆されたそうです。
http://www.amazon.co.jp/Python%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E3%83%93%E3%83%BC%E3%83%97%E3%83%A9%E3%82%A6%E3%83%89/dp/4798032948

@ayumin さんによる heroku の紹介

heroku meetup 2に行っていたこともあり、大きく得ることはなかったのですが、以下二点が印象に残りました。

  • herokuはあくまで優れたプログラマーの生産性を向上させるということ
  • 作ったadd-onを売ることができる

前者はrubyと同じで初心者が扱うこともできるが、優れたプログラマーが使うことで、より良い生産性をもたらしてくれるという意味。

後者はheroku用にadd-onを作れるのですが、それを売ることができるって話。
7:3=自分:heroku という取り分だそうです。
正直何が売れるのか分かっていないですが、面白い試みと思います。

@mat_aki さんによる SonicGarden の紹介

herokuというよりは自社の紹介だった気がする。
でも、個人的にはSonicGardenの方が気になっていたので、そちらがメインになったのは嬉しかった。
特に開発の進め方が参考になりました。
PivotalTrackerというアプリを使って、タスクを管理しているそうで、優先順位は並び順とのこと。
Reworkに書いてあることを実践している感じがしました。

あとyouRoomというチャットツールみたいなものが肝かなと思いました。
使ってみたことはないので想像にはなってしまいますが、字数制限を入れたメーリングリストっぽいサービスで、これを使うことでコミュニケーションの加速をしているのかなと思われます。
@mat_akiさんがほとんど作ったとのことです。
いいなー。自分も何々の@ma2geですとか言ってみたい。

資料は以下にあるとのこと。ありがたいです。
http://t.co/cNxV6ysd
お、発表時にはなかった情報も載っている(^^
これって結構有用な気がする。

facebookアプリのライブコーディング

@ayumin さんによるfacebookアプリのライブコーディング。
ライブコーディングはやる方はつまらんとのことですw
自分もやったことがあるのですが、そのときは必死だったから、面白いというわけではなかったけど、つまらないってこともない気がする。
慣れてくるとつまらなくなるのかもしれませんね。

話を戻して、facebookアプリですが、結構簡単に作れてて、一個くらい作ってみよかなと思いました。
それとgit道場っていう勉強会を開催する予定だとのことです。まだ募集されていないようですが、ちょっと気になりますね。

所感

当日のスケジュールは、より参加者に飽きられないように、30分区切りで発表を替えたり、ライブコーディングも急遽入ったりと、いい感じに進行されてました。
あと cedar stack はシダースタックと発音されていて安心しました(^^

Rubyイントロスペクション

  • Class.instance_methods(false)
    => false指定でスーパークラスをたどらなくなる。便利そう。

  • Class.ancestors
    => 継承チェーン確認

  • 継承チェーン順序
    Class -> Module(bottom) -> Module (top) -> SuperClass
    Module は下に書いたものが先に検索される。
    # メタプログラミングRubyに書かれていることを忘れている。。。

How to install Lokka on fluxflex.

How to install Lokka on fluxflex.

  1. Create project your own.
  2. One click install Lokka from AppGarage.
  3. Change account and password.

Done! Your blog is created. Enjoy!!!