Okayama.rbというもくもく会
本エントリは大都会岡山Advent Calendar 2016の2日目のエントリです。
昨日は、まえぽんさんの岡山市北区大内田での勤務における昼食事情でした。 ガヤガヤに行ってあげてって言われたので、行ってみたいと思います。カツ丼カレーが気になっています。
今回は岡山で定期的に開催されているOkyama.rbの紹介をしようと思います。
Okayama.rbとは
簡単に言うと「毎週木曜日の19時からRubyに関する何かをもくもくするイベント」です。
参加したときの流れは
- 19時頃集合
- まずみんなで雑談しながらご飯を食べる
- 食べ終わったらもくもくするなり、雑談する
- 21時半頃になったら撤収
ご飯を食べてるのは毎週ファミレスのココスに集まってるからで、まずはご飯を食べてからもくもくしています。
年末年始やお盆、祝日などが木曜日にかぶったときには休みになったりしますが、基本毎週木曜日にやっています。
実際に何をやってるのか
このブログ記事もOkayama.rbで書いているのですが、そういったRubyにちょっとでも関連していればOKなくらいゆるい会です。
集まってみんなで雑談してる時もありますし、みんな黙々と自分のやりたい作業をやってたりの時もあります。
RubyやRailsをはじめたい人がいればセットアップから手伝ったりします。かくいう僕もこのOkayama.rbでセットアップを手伝ってもらった人の1人です。
最近ではScalaをやってる人もいたりするので、他の言語をやってる人でもRubyやってる人はどんな感じだろう?とうい軽い感じで覗きに来ていたければ!
Okayama.rbの別名
Okayama.rbは一部界隈でハンバーグの会と呼ばれています。 呼ばれ始めたきっかけはココスのビーフハンバーグステーキを食べてる写真を参加者がTwitterに上げてたところ、そのつぶやきをみた人から自然に呼ばれるようになったんだと思います(記憶があやふや)
一部界隈でハンバーグの会と言われてたらOkayama.rbのことを言ってるんだなと見守っていただければと思います。
ちなみに下に貼ってる写真は僕のオススメの包み焼きハンバーグです。
おわり
今年で150回を突破して長く続けている会になって来ました。 長く続けれたのもそんなに厳しいルールもなく、ゆるくやってきたからかなと思います。
これからもゆるくやっていきたいと思っていますので、参加してみようかなと思った人は岡山Rubyコミュニティでイベントを作っているので、気になる方はコミュニティ参加してイベント情報を受け取ってください。
明日は@razonさんです。
オープンセミナー2016@広島に参加してLT駆動開発で話をしてきた
オープンセミナー2016@広島
osh-web.doorkeeper.jp 2月の頭にオープンセミナー2016@広島に参加してきた。 気になってたグラレコのワークショップがあったり、チーム開発に関するセッションがあったりと色々と持って帰れるものがあって、非常に満足できるセミナーだった。 当日の様子はしたのまとめにまとまってるので当日の雰囲気を味わってもらえればと。 togetter.com
LT駆動開発 23 - 懇親会 deLT
懇親会はLT駆動という勉強会も兼ねてたらしく、懇親会の申し込みかなと思って申し込んでみたらLTの申し込みだったというトラップに引っかかったのですが、せっかくなので一時期話題になってた「若者が勉強会に参加しない問題」について思ってる事を話してきた。
www.slideshare.net
若者でも勉強会に参加したいなと思っている人は潜在的にはいるんじゃないかなと最近思うことがある。
そう思ったきっかけは去年の末に開催したRailsGirlsで、話を持ってきて企画運営をしてくれたのも大学生の子たちだったし、開催前にはちょっと集客に苦労した時期もあったけど最終的に開催してみると30人もの人が集まってくれた。 まだまだそういう勉強会をやりたい、参加したいという人が自分たちの知らない所に眠ってるんじゃないかと。
そういう事をしたいと思っている若い子たちもいるけどそういう人達に対して自分たちがアプローチ出来てなかったり、するので何かしらまたRails Girlsみたいにちょっと趣向を変えた勉強会でそういった人達を掘り起こしても良いのかなと思ってたりします。 岡山ではRails Grilsをきっかけにそういった人達が出てきてるので、これからまた一時期の勉強会ブームほどじゃなくてもいいのでまた勉強会が盛り上がってくれればなと。
おわり
話題になる元になったブログはこれ
T-SQLのEXECUTEの引数内で+演算子で結合した時の挙動
T-SQLでEXECUTEを使用している時に、引数内で+演算子でSQLを組み立てた場合に以下の様な挙動をするようです。
BEGIN DECLARE @A AS VARCHAR(MAX) = NULL DECLARE @B AS VARCHAR(MAX) -- パターン1:先に結合した文字列を作ってからEXECUTEに渡す SET @B = 'SELECT ''' + @A + ''' AS COL1' EXECUTE(@B) -- パターン2:EXECUTEの引数内で+演算子でSQLを組み立てる EXECUTE('SELECT ''' + @A + ''' AS COL1') -- ========================================= -- 結果 -- ========================================= -- パターン1: @BがNULLのため何も結果が得られない -- パターン2: @Aを空文字列として組み立てられた「SELECT '' AS COL1」が実行される END
感覚的に@BがNULLになるのと同様に、EXECUTEの引数がNULLになるのかと思っていたのですが、 実際に実行してみるとNULLの部分が空文字に置き換えられて実行されてしまうようです。
あまりこういった事をすることは無いと思いますが、EXECUTE内でSQLを組み立てている場合で思った挙動と違う場合はこれを疑ってみてください。
岡山国際サーキットのイベント紹介
本エントリは大都会岡山Advent Calendar 2015の21日目のエントリです。
昨日は、Uemmra3の岡山方面のコミュニティとの関わりあいでした。
最近、岡山県北部にある岡山国際サーキットに、 レースやイベントを見に行く事が多くなったので参加したイベントを振り返りがてら紹介していこうと思います。
スーパーGT
まず今年最初に参加したのはスーパーGTでした。 こちら一年を通して国内、海外を含め何戦かするのですが、実はその開幕戦が岡山で行われます。 各チームのニューマシンが初お目見えするのも初戦の醍醐味かと思います。
また、スーパーGTにはKONDO RACINGも参加してるので、たまに監督のマッチを見かけたりします。他の監督に混じってトークライブとかに出てたりするのですが、そこはやっぱり芸能人はオーラが違って見えるとか何とか。
初戦の影響もあるのか、イベントに参加する人も多いので特設駐車場が準備されますが、会場から遠くバスを使って移動することになります。観戦の際にはちょっとお金はかかりますが場内の駐車場をおすすめします。ただ発売後割と早く売り切れてしまうので行くと決めたら早めの購入を。
スーパーフォーミュラ
次に参加したのはスーパーフォーミュラ。 岡山でのトップフォーミュラの開催は2008年以来7年ぶり。
サーキットの中をバスで走って周りをフォミュラーカーが走り抜けていくサーキットサファリや、展示でフォーミュラーカーが展示してがあったりと本戦の他にも楽しめるイベントが盛りだくさんでした。
また、当日はAKBのチーム8が来ていて、各種イベントに参加してました。大きいイベントになるとアイドルも見れたりするので、そっちが好きな人も楽しめますね。
Tipo OVERHEAT MEETING
次はちょっとレースとは違ったイベント、Tipo OVERHEAT MEETINGに参加しました。
自動車雑誌Tipoとコラボレートした企画で、走行会やじゃんけん大会などのイベントがあったりします。
走行会では、読者から参加者を募っていて、各自自分の自慢の愛車で参戦しているようです。 普通車に混じって、軽四の黄緑色のトゥデイが参加してたりして、他の普通車に負けない走行を見せて楽しませてくれたりしてます。
途中記念写真を取るイベントもあり、後日Tipoの紙面に掲載されます。自分がどこに写ってるのか探すのもちょっとした楽しみです。(
また、最後には自分の乗ってきた車でサーキットを走りながら退場できるァイナルパレードがあります。今年はちょっと参加者が多かったのか渋滞しながらの走行であまりスピードが出せなかったのですが、例年はそれなりの速度で走ることが出来たりするようです。
スーパー耐久レースin岡山
スーパー耐久レースin岡山にも参加しました
3時間という時間を2名もしくは3名のドライバーで戦うスーパー耐久レースで、見ている方も忍耐力を要するレースです。
スーパーバイクレースin岡山
今度はちょっと車から離れて、スーパーバイクレースin岡山に参加。
車と違って一度に走る台数の多いバイクレース。パドックパスがあると第一コーナーの間近で見れるらしいです。
MOTOR GAMES 2015
僕の見に行った日には、FORMULA DRIFT の決勝とFMXのショーが行われてました。 迫力あるドリフトを見れたり、バイクが宙を舞うのを間近で見れたりと楽しいイベントでした。
チューニングフェスタ
チューニングフェスタに参加。
ピットにも入ることが出来て、色々な車が思い思いにチューニングされてるのを間近で見るのは楽しかったです。
チューニングフェスタは女性と子どもは同伴であれば無料なのも嬉しいサービスです。
マツダファンフェスタ2015
マツダ車に乗ってはいないのですが、マツダファンフェスタ2015にも参加しました。
まぁ当然の如く会場にはマツダ車が沢山。一般参加者の駐車場にも沢山のマツダ車が。トヨタ車の僕は若干肩身が狭いです・・・
イベントではマツダ車によるレースや、マツダ車の展示、グッズ販売などマツダ車に触れれる一日でした。 マツダのエンジンの仕組みとかフレームの成形方法とか詳しく見れて興味深かったです。
おわり
今年は8個のイベントに参加しました。だいたい2ヶ月に1回強行ってる感じですね。
他にも色々なイベントが岡山国際サーキットでは開催されてるので、こちらの岡山国際サーキット│イベントカレンダーをチェックしてぜひ参加してみください。
明日は
明日はライター(プロジェクトに火をつける方)の募集と聞いて参戦してきた かけなび (@kakenavi) | Twitterさんです。
SQLServerでCREATE VIEWをsp_executesqlで実行する時にパラメータつけれない
環境はSQLServer2014
SQLServerでどうしてもCREATE VIEWの構文を文字列で組み立てて、sp_executesqlで実行しないといけない場合があったとしてます。 以下のようにするとエラーが発生します。
DECLARE @userName AS NVARCHAR(MAX) = 'YAMADA' DECLARE @mySql NVARCHAR(MAX) = ' CREATE VIEW YAMADA AS SELECT * FROM MEMBER WHERE LastName = @name ' EXECUTE sp_executesql @mySql, N'@name AS VARCHAR(MAX)', @name = @userName
エラー内容はこちら
Incorrect syntax near the keyword 'VIEW'.
日本語だと
キーワード 'VIEW' 付近に不適切な構文があります。
色々と調べてみるとこのやり方じゃダメっぽい
Create View using sp_executesql
上記のリンクに書いてあるようにこちらの書き方だとエラーが発生するようです。
以下のように書けば一応実行できますが、@userNameが外部から入力できる場合はSQLインジェクションの可能性があるのでダメですね・・・
DECLARE @userName AS NVARCHAR(MAX) = 'YAMADA' DECLARE @mySql NVARCHAR(MAX) = ' CREATE VIEW YAMADA AS SELECT * FROM MEMBER WHERE LastName = ' + @userName + ' ' EXECUTE sp_executesql @mySql
一旦、ワークテーブルに突っ込む等別の方法を考える方が良さそうです。
合同勉強会 in 大都会岡山 - 2015 Winter -に参加&登壇してきた
ブログを書くまでが勉強会ということで、既に何日か経ってますが参加ブログを。
というわけで、合同勉強会と忘年会議に参加して、今年はショートセッションでお話してきました。
当日の様子は以下につぶやきがまとめられてるのでご覧ください。
当日の発表内容
www.slideshare.net
当日は、「そんな運用で大丈夫か。大丈夫じゃない大問題だ。神は言っているgit-flowを使えと。」というちょっと元ネタが古いタイトルで話してきました。
タイトルにgit-flowって入ってますが実際はちらっと出てくるだけであんまり出てきません。(git-flowの話を期待してた人ごめんなさい) git-flowを導入するなど開発フローを改善した時に社内でやった事を中心にお話しました。
発表中にもお話したのですが、人間使うツールに対して不安があるとなかなか使うことが出来ないかと思います。いくら良いツール、良い開発フローだったとしても使われないと意味がありません。
社内で開発フローを改善しようとなった時に出てきたのも、使っているツールgitへの不安感でした。 まずはその不安感がなくならない限りgit-flowを導入したとしても上手く行かなかったかと思います。
僕らがまずやったのはgitの操作の復習と不安に思っている事を実際に試してみることでした。 gitの操作の復習も良かったのですが、個人的には不安に思ってることを練習リポジトリでとことんやってみたのが効果が高かったのではないかなと思っています。練習リポジトリで色々試したおかげでgit-flowもすんなりと導入できたのかなと思います。
つい、すぐにツールや開発手法等を開発現場に入れたくなってしまいますが、一旦落ち着いてメンバーにツールに対して不安感や疑問に思う所が無いか聞いてみたり、練習の場を設けてみる事でより導入しやすくなるかと思います。
参加してみた感想
今回はいつも以上にバラエティ豊かな発表のメンツだったと思います。 言語やツールの話から、チームの話等々の、色々な方面のお話が聞けて個人的には刺激になりました。
個人的に気になってたギークハウス岡山。去年の合同勉強会で住人募集LTしていた所から1年でTVに出たり住人も増えたようで良かったです。
発表者に県外勢も多かったですし、参加者の県外勢もいつもより多かったし盛り上がりもここ数年で一番だったんじゃないかなと。毎年企画してくれるもじゃさんありがとうございます!
来年は合同勉強会5周年で忘年会議(の原型から)10周年になるのか。もっと盛り上げていきたいねぇ。
— 人マン (@razon) 2015, 12月 6
来年は5周年なので更に盛り上がるといいですね!
Okayama.rb #100 『祝100回記念スペシャル!』に参加してきた
毎週木曜日に、ココスに集まってハンバーグを食べてきたRubyに関する何かを行ってきたOkayama.rbですが100回を迎える事が出来ました。
それを記念して開催されたOkayama.rb #100 『祝100回記念スペシャル!』に参加して来ました。
発表してきた
せっかくなので何かしゃべるかということで、joinsを使った時にエラーになった話をしました。
ちょっとだけ内容の話を。
別々のデータベースを使用しているテーブルのモデル同士でjoinsを使用した場合にエラーになります。
考えてみれば別データベースなのでjoin出来ないので、当然といえば当然かなと。
eager_loadもjoinするのでだめ、includesも条件によってはeager_loadを呼ぶので一応除外。
それぞれのテーブルにクエリを投げるpreloadであれば問題なくそれぞれのデータを取得できるので、今回はこちらを採用しました。
おわり
今週は100回記念ということで土曜日のスペシャルバージョンでしたが、来週からは通常営業になります。 ちょとご飯を食べながらRubyやプログラミングの話をしたいなって方はぜひ参加していただければ!