2018-06-05

RubyKaigi2018~エモリハウスのホストをした~

日記を書くまでが RubyKaigi ということで、
久しぶりのブログ更新。


週明けから体調崩して、実は出発前日に発熱して(医者で薬もらった)のRubyKaigiということで、だいぶ体調面に不安がある状態での参加となりました。

一昨年から エモリハウス ということで、女性のRubyistに声をかけて、同じ宿に泊ってワイワイする企画をしていて、今年もホストをしました。

今年は、ここのゲストハウスを貸し切りでお願いしたのだけど、
個室は、お子さん連れで参加の かとりえさんに、
その他の方たちは同じ部屋で、ドミトリー(2段ベッド) という部屋分けになりました。

ゲストハウスで多いと思うのだけど、飲食は共有スペースでのみOKで、
ここのゲストハウスでは、1FのリビングのみOKということだったので、
静かに過ごしたい(寝たい)人は2Fに、話したい人は1Fにという感じになって、いい感じに過ごせました。




また、キッチンもあったので、仙台朝市でお刺身買ってきたりして、さいこーの夜を過ごしました。




私の知り合いの女性エンジニアは、Rails Girls の関係者が多くなってしまいがちなのですが、
今回、RejectKaigiでお知り合いになって参加してくれた nappan23 さんや、
知り合いの紹介で参加してくれた ほりべさんもいて、色々な人が参加してくれて
とっても嬉しかったです!!!

また、次のRubyKaigi でも エモリハウスやろうと思っているので、よければご参加ください~





エモリハウスに参加してくれた方々のブログはこちら。

あんずちゃん
nekoさん


RubyKaigiの中の話は、次のエントリで!

2017-12-18

今年最後の Rails Girls Tokyo, More! で気づかせてもらったこと

この記事は、Rails Girls Japan アドベントカレンダー の18日目の記事です。

12/17(日) は、今年最後の Rails Girls Tokyo, More! を、弊社 ケーシーエスキャロットで開催しました。

Rails Girls Tokyo, More! は、kurotakyさんや、okuramasafumiさんもお話されているように、
月1回ペースで開催されている勉強会です。
Rails Girls の参加者の方の継続的な勉強の場としてだけではなく、
Ruby / Rails を学びたい方のための会です。
Rails Girls Tokyoは、毎回参加希望者の方が多く、抽選となってしまっているのが現状です。
こちらのMore!の方も、コーチがついて教えてもらえる勉強会となっているので、
参加したい方は、 にお声かけください~


今日は、いつもコーチで参加して頂いている igaigaさんと、okuramasafumiさんがコーチとして参加して頂いて、
参加者の方も3名だったので、マンツーマンで参加者のやりたいこと進める形となりました。

Railsチュートリアルを進める方、たのしいRubyを読みながら進める方、
書いてある説明がわからなかったり、書いてある通りにやってもうまくいかない場合には、
コーチが説明してフォローしながら、各自進めていきます。



「routing って、どれくらいわかっていたら大丈夫ですか?」

「正規表現。。。これ、みんなわかるものなんですか?」

そうですよね、そうですよね、そう思いますよね のような質問も
コーチの経験を含めて「今の時点でなら、このくらいわかっていればいいんじゃないかな」というのを教えてくれます。

2012年9月に鳥井さんが初めてから、第38回目になるのですが、
初心者の方が、Ruby/Rails を学ぶには、とてもよい勉強会だと思っています。


そして今日は、年内最後ということで、早めに勉強会を切り上げて、クリスマスパーティーをしました。



ブッシュドノエルを作って持っていきました。
(運ぶために、タッパーを上下逆さまにして入れていったので、ケーキがのっているのがタッパーの蓋...)


ケーキ食べながら、色々なお話をしました。
参加者の方でも、他の勉強会や、RubyKaigiに参加してみたい と思っている方が結構いらっしゃるようなのですが、
やはり誰も知り合いのいない勉強会に一人で参加するのは、敷居が高いとのこと。
(女性の参加者自分だけ...ってことになることもありますからね...)


「うん、うん、わかるわかる。昔、私もそうだった~」と聞いていたら、
「えもりさんが参加する勉強会、『今、参加してますー』じゃなくて、「申し込みました」のツイートしてくれればいいんですよ~」とのご意見を頂きました。

!!!!
気づかなかった!!!そこね!!!

これからは、申し込みしたらツイートするようにします。
知っている方が参加するって知ったら、「参加してみよう」と思う方がいるかもしれないので、皆さんも「行くよ!」のツイートするとよいと思います!
(恵比寿方面を見ながら...)
 
ちなみに、次参加予定は、これです。
Speee×Asakusa.rb Ruby2.5リリースパーティー
通常ミートアップも参加しているAsakusa.rbメンバーなのですが、
申し込みが遅れて、危うく参加できないところでした。
(増枠してくれてうれしい!)

最後に、、、
「Rails Girls オーガナイザーをやると、Railsエンジニアの方とたくさん知り合えますよ?」

2017-12-17

コツコツの積み重ねの結果

この記事は、ケーシーエスキャロット Advent Calendar 2017 17日目の記事になります。

ちょっと前の記事が、もうちょっと加筆したいことがあるので、
(疲労がたまってたりして滞っている..)
先にこちらの記事をシュッと書きました。

社内の人は、私が Rails Girls という
世界的なワークショップのお手伝いをしているということを
知っている方もいると思います。
(スポンサーもやってるんですよー)
 サイトの更新もやったりしているのですが、
日本のRails Girlsのサイト (http://railsgirls.jp/) の contributors では、今 #4となっていて45 commitsとしています。(しかも1回間違えて仕事用アカウントでcommitしている...)

本家 (http://railsgirls.com/) の方は、#16 (102 commits) で、実は日本で1番commitしています。
(Rails Girls 本家のサイトリポジトリは、privateなので見えません)


たかが、サイトの更新...と思う人もいるかもしれませんが、
1週間以上前に終わったイベントが、Upcoming Eventに残っていたりするって、
メンテナンスされていない感じがして、気になるんですよね...

最初の頃は、pull request 出すのも1週間くらい迷っていたりもしましたが、
今は「あ、直ってないから pull requestだしとこ」くらいの気持ちになっています。

「誰かがやるから、自分はやらない」のではなくて、
「気づいたから、やっておいたよ!」をコツコツ積み重ねた結果です。

 GitHubで会ったことないエンジニアに「ありがと!」とか言われると、
2~3日嬉しいですw

みんなも、そういう想い味わったことありますか?

2017-12-11

私的 Rails Girls 2017の振り返りと2018にやりたいこと

この記事は、Rails Girls Japan アドベントカレンダーの10日目の記事です。

昨日は、okuramasafumiさんの「 Rails Girlsのコーチを初めてやってみて」でした。
More! のコーチにも参加して頂いて、ありがとうございます!


2017年ももうすぐ終わりなので、今年これをやったぞーと、来年はこれやってみたいぞーというのをあげてみたいと思います。

2017年振り返り

2017年、コーチなどでお手伝いした Rails Girls Japanのイベントは、
以下の3つでした。

Tokyo 7th

Tokyo 7thは、Kyotoでもオーガナイザーをしていた atttsumi さん と、Tokyo 5thからコーチで手伝って頂いている sinamon129 さんがオーガナイザーでした。
いつもの熟練コーチの他にも、初参加して頂いた学生コーチの方がいて、
新しい風~が吹き始めた感がしました。

atttsumi さんと sinamon129 さんのコンビが、どんどん動いてくれたので、
私はアフターアフターのお店探しと、当日の写真係くらいでした。
二人のパワーすごい~と感心した回でした。

Toakasaki 1st

群馬で初開催ということで、お手伝いに行ってきました。
オーガナイザーの近藤さんと大畑さんには、Tokyo 7thのスタッフで参加して頂いてのですが、すごく頑張ってる雰囲気が伝わってきたのが印象的でした。
インストールデイを終えて、satomicchy とご飯でも軽く~と思っていたら、
河野夫妻と合流 & 意気投合して、忘れられない 高崎の夜を過ごしました。

あと、実は同僚が申し込んで参加していましたw
普段は組み込みの仕事をしている方なのですが、Rubyコミュニティの楽しさを体験して欲しくて、前々から誘っていたのですが、今回の高崎でやっと重い腰をあげてくれました。
参加した感想聞いたら、「すごっく美味しかった!(ランチの鳥めしと焼きまんじゅうが気に入ったようです) 楽しかった!」だそうです。


Tokyo 8th

Tokyo 1st 参加者で、More!も参加して頂いている shokolateday さんがオーガナイザーでした。
コーチの素振りで、「この業界に入った理由」をコーチの方々に聞いてみたいということで、皆さんに質問したのですが、そういう話を聞いたことがなかったので、
知らなかったーというお話も聞けて、普通に面白かったです。
SNS映えしそうないいね♡の枠を作ったりと、デザイナー魂が火を噴いた回でした。
いつもの心強いコーチ以外にも、マネフォや万葉さんからのコーチも多く参加して頂きました!
女性コーチも増えて、本当にうれしい限りです!

Rails Girls Tokyo, More!

毎月開催している Rails Girls の参加者の方や、Rails に興味ある方のための勉強会です。
3月の年度末に、年度の振り返りということで、ゆる~いLT大会をして、
skypeで yotii23さんとkatorieさんに参加して頂いて、
おふたりの赤ちゃんを拝見しました~!とってもかわいい!!!
当時、育休中で、この機会に色々勉強をされているとのことでした。
お子さんのいる方でも、More!に参加できる方法とかも今後検討していきたいなー。

また、今年は参加して頂いたコーチの方から、色々アドバイスを頂けました。
「こうしたらもっとよくなるんじゃないかな?」とか、「こういうのやるのはどうだろうか」とか、本当にありがたいです。
2018年、少しずつ進めていきたいなーと思っています!

Rails Girls Japanメンバーとして

Rails Girls 開催のお手伝いの他に、年間スポンサーの方にメールを出したりしました。
前は、何度も見直していた英語メールも、だいぶ慣れた気がします!
だいぶ、鍛えられました。

その他

Rails Girls とはあまり関係ありませんが、
RubyKaigi 2017の時に、「エモリハウス」というのをやりました。
女性で一人でホテルに泊まるのが抵抗ある人もいるかなーと思ったのもありますが、
「みんな一緒だと、楽しいじゃん?」というのが一番の理由です。

いつも一緒にわいわいやっている Rails Girls のメンバーの他にも、
pupupopo88 さん、shio_chanさん、imaz さん(...台風で来られず...😢)もご応募頂いて、ありがとうございました!

2018年やりたりこと

Rails Girls Tokyo, More!

先日参加された方がお話されていたのが、「プログラミング教室に通っているけれど、講師も参加者も男性ばかりで、すごくいずらいので、More!ありがたい」ということだったので、毎月開催を、2018年もやっていこうという気持ちです。
あと、先日、okuramasafumiさんと話していて出てきた案なのですが、
今の月1回週末に昼頃から集まり、夕方までする以外に、
平日の夜、時間を決めて、チャットをオンラインにしておいて、作業を行う。
作業をしていてわからなかったら、その時に質問するというのはどうかな?というのがありました。

でね、気づいちゃったんですよ。
チャットなら、Tokyoだけで限定する必要もないんですよね。
ということは、More!開催しているところで、協力しあえば、開催回数も増やせるのでは?

【業務連絡】More!を主催している方々、後で連絡するので、↑相談させてください!


あとは、Rails Girls 参加の後、どうやってRailsの勉強を進めていくか... というところが課題となっています。
作りたいアプリがある人は、それを作ればいいのですが、作りたいものないけど、
勉強は続けたい人は、どうしよう?というのが悩みどころです。
gitコマンドの勉強の回とか、簡単なアプリとか、カリキュラムのようなものをいくつか準備しておくといいのかなーというがあったので、それも2018年検討してみたいなーと思っています。

最後に

来年も皆さんに協力してもらいながら、やっていこうーと思っていますので、
ご協力お願いします!

明日は、TakayaKanatoさんです!
参加者の方ですね!楽しみ~!

2017-12-09

女子エンジニア忘年会でLTしてきた話

この記事は、株式会社ケーシーエスキャロット アドベントカレンダーの8日目の記事です。

昨日、女子エンジニア忘年LT会 2017 で、LTしてきたので、そのお話を。

Wedding Parkで開催されました。
CyberAgent, GitHub, Goolgle もスポンサーだったようです。
フォトジェニックなカップケーキ!!! もちろん撮りました。





今回は、「技術のお話してください」とお声がかったので、何を話そうかと考えていたのですが、Rubyでない方も多いかなーと思って、
”What's your favorite method?" というタイトルで話をしてきました。

初めてRubyKaigiで発表した後に質問しにきてくれた方にされた質問で、
その後、何度かこの質問されたことがあるので、
知らないエンジニアと話すきっかけ言葉 みたいなものだと、個人的に思っています。

今回知らない方も多そうだったので、この話をしてきました。
自分の好きなメソッドの話と、 この一言をきっかけに、 ライブラリ(gem) のコードの中、ライブラリを作った人とつながって、世界が広がっていくと楽しいよ!というお話をしてきました。

プログラマーの方が多かったのだけれど、言語聞いたら、Rubyはほとんどいなかった...
PHPの方が多かったみたいです。
参加者の方もCyberAgentグループの方が多かったのかな?
スタッフの方に聞いたら、CyberAgentグループの女性エンジニアの方たちで、
もともとLT大会みたいなことをやっていて、
今回は公開して開催したそうです。

新人の方や、急にCTOになった方、プロジェクトリーダーされている方と
色々な方のLTがあって、和気あいあいした感じで楽しんできました!
もちろんお料理も美味しかった!



Rubyコミュニティや、他のイベントに出かけるようになって気づけたことなのだけれど、社外の色々な人と話をするのは、とても刺激になります。
色々な話を聞いていると、「あ、これ、あれで試せそう~」と新しい考えがわいてきたり、
新人の方の話も、当然私の頃とは時代が違うわけで、聞いているだけで、
「おぉぉぉー、すごい」と素直に思います。
新人の頃なんて、よくC言語で無限ループ作って、Ctrl+C を押してた記憶しかないですもん。

今回このアドベントカレンダーを勢いで作ったのも、
ちょっと、こういう社外のイベントに参加してもらうきっかけになったらいいなーと
個人的に思ったからなのでした。


「私なら何書くだろ?」って考えて、社外の何かに興味をもってもらえたら嬉しいなー。

2017-12-04

家に未来がやってきた

我が家に Echo Dot がきた。

実は、会社の忘年会のBINGOの景品に、Google Homeと、Echo Dotのリクエストをだしていたんだけれど、
Twitterで、抽選しているのを見かけて申し込んだら、抽選にあたったのでした。

前に見ていた FOXのキャッスルというドラマで、スマートスピーカのネタの回があって、「未来だ!!!」と思ってみていたのだけど、
まさか、我が家にもそんな未来がやってくるなんて!

配達されてすぐに実家に行く用事があったので、そのままAmazon段ボールごと実家へ持って行って、開封。

wifiのセットアップもしてたら、姪っ子と甥っ子が来て、設定終わるなり、
「アレクサ!〇〇かけて!」「アレクサ!〇〇かけて!」... 彼らが飽きるまで、曲最後まで聞けなかった...


まだ家電の環境はないので、音楽やラジオかけたり、スケジュール確認したり、
時間や、交通情報確認したりするくらいかなーと。
あとは、レンタカーで遠方に行くときに、iPadでAmazon Prime Musicをよく聞いていたので、
これ、持っていったら、とても快適そう!

今週、リアルえもりハウス忘年会があるので、BGMとか勝手に選んでもらおう!


あと、実は Google Home もポチっとしたので、近日中にやってきます。

2017-12-03

ActiveRecordを使って複数DBにアクセスする(その1)

この記事は、株式会社ケーシーエスキャロット アドベントカレンダーの2日目の記事です。
ちょっと公開が遅くなってしまいましたが、やっていきます。

1日目に準備をしたので、今日はいよいよプログラムを書いていきましょう。
以下のような構成で作成していきます。


config/database.yml


own(development) / other(other_development) のKEYで接続情報を記載します。


default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password:
  socket: /var/lib/mysql/mysql.sock

development:
  <<: *default
  database: multi_connect_development

other_development:
  <<: *default
  database: other_multi_connect_development

lib/common/user.rb


own /other のUserクラスの親クラスとなるクラスです。

同じ構造のテーブルにアクセスするので、共通のクラスを作って、
このクラスは、AciveRecord::Baseを継承します。


class Common::User < ActiveRecord::Base
end

lib/own/user.rb, lib/other/user.rb のそれぞれのデータベースにアクセスするためのクラスとしています。

lib/own.rb


lib/own.rb には、autoload でUserクラスの読み込みと、DBの情報を返す connectメソッドを定義しておきます。


module Own
  autoload :User, 'own/user'

  def connect
    MultiConnectConfig.config["development"]
  end
  module_function :connect
end

DB接続は、establish_connection をモデルクラスに記載するとできるとの情報を見つけたので、
lib/own/user.rb には、establish_connection を記載します。

lib/own/user.rb



class Own::User < Common::User
  establish_connection Own::connect
end

また、other 側も同様に記載しておきます。


bin/multi_connect.rb


実際の呼び出すプログラムは、以下のように書きました。
config/database.ymlを管理するクラス(MultiConnectConfig)を記載しています。
(別ファイルにすることが望ましいです)

そして、Own側とOther側のUserの1件目をそれぞれ呼び出すプログラムです。


class MultiConnectConfig
  file_path = "./config/database.yml"
  @@config = YAML.load_file(file_path)

  def self.config
    @@config
  end
end

p Own::User.first
p Other::User.first



結果


以下のエラーになりました。
(2.5からbacktraceの出力が逆になる予定で、この2.5-devのバージョンも逆になっています


[vagrant@rg batch]$ bundle exec ruby bin/multi_connect.rb
Traceback (most recent call last):
        14: from bin/multi_connect.rb:19:in `
' 13: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/querying.rb:3:in `first' 12: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/relation/finder_methods.rb:122:in `first' 11: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/relation/finder_methods.rb:531:in `find_nth' 10: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/relation/finder_methods.rb:538:in `find_nth_with_limit' 9: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/relation/delegation.rb:44:in `primary_key' 8: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/attribute_methods/primary_key.rb:74:in `primary_key' 7: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/attribute_methods/primary_key.rb:88:in `reset_primary_key' 6: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/attribute_methods/primary_key.rb:74:in `primary_key' 5: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/attribute_methods/primary_key.rb:86:in `reset_primary_key' 4: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/attribute_methods/primary_key.rb:98:in `get_primary_key' 3: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/model_schema.rb:331:in `table_exists?' 2: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/connection_handling.rb:88:in `connection' 1: from /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/connection_handling.rb:116:in `retrieve_connection' /vagrant/adventcalendar/batch/vendor/ruby/2.5.0/gems/activerecord-5.1.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:930:in `retrieve_connection': No connection pool with 'primary' found. (ActiveRecord::ConnectionNotEstablished)

No connection pool with 'primary' found.
primary って何でしょう? 次はこのエラーを見ながら、進めていきます。

そして3日目は、naokishi の 「資格取得のススメ(仮)」です。

naokishi と一緒に青物横丁で仕事していたのは...もう17年くらい前!?
チームが変わって、同じプロジェクトで仕事することはなくなったけれど、
いい意味で「サラリーマン気質」で、いつもみんなを気遣ってくれるのは、
あの頃も今も変わらずです。

最近は、お互い日本酒党になったので、また美味しいお酒飲み行きましょう~