makoラボ

日常や勉強会や技術ネタ

たまに広島で開催

f:id:mako_wis:20160218200547j:plain 本エントリはたまに広島Advent Calendar 2016の5日目のエントリです。 www.adventar.org

昨日は、もりたこ氏行きたい温泉でした。 寒くなってきましたし溫泉行きたくなりましたね!

このカレンダーの主催者のひむひむ

と言われたものの、テーマがたまに広島ということなので、 たまに岡山、たまに広島で開催される勉強会2つを紹介しようと思います。

中国地方DB勉強会

こちらの勉強会はその名の通り、隔月程度でデータベースに関する勉強会を中国地方で開催しています。 中国地方各県でそれぞれ大体1年に1回以上の頻度で勉強会を開催しています。 広島では広島市内と福山市内で開催されています。

主催はPostgreSQLユーザ会中国支部がおこなっています。 内容はPostgreSQLMySQLなどの最新情報の話やデータベース設計の話など幅広くデータベースについて学べる勉強会になっています。

また、過去に開催された勉強会の映像は公開OKのものに限りますが中国地方DB勉強会の公式サイトに掲載されています。データベースに関する役に立つ内容が沢山ありますのでぜひチェックしてみてください。

dbstudychugoku.github.io

Atlassian ユーザーグループ 中国地方

Atlassian ユーザーグループ 中国地方(AUG中国)は広島と岡山で開催している、Atlassianのユーザーが集う会です。 周期としては3ヶ月に一回程度で広島と岡山で交互に勉強会を開催しています。

内容は、Atlassian製品を使ったハンズオンやチーム運営に関することなどを中心におこなっています。 前回の広島ではJIRAを使用したカンバンゲームを行ったりしています。 次回は岡山でもカンバンゲームが出来たらなと思っています。

augca.connpass.com

おわり

今回は、広島でたまに開催される勉強会を2つ紹介しました。 どちらの勉強会もスタッフやってますので、こんな内容を聞きたい、話したい等ありましたらリクエストは随時受け付けてますので、ご相談いただければと思います。

ぜひみなさん参加してみてください。

※貼ってある写真は広島で食べたお好み焼きで本文とは関係ありません。

Okayama.rbというもくもく会

f:id:mako_wis:20161027205553j:plain 本エントリは大都会岡山Advent Calendar 2016の2日目のエントリです。

昨日は、まえぽんさんの岡山市北区大内田での勤務における昼食事情でした。 ガヤガヤに行ってあげてって言われたので、行ってみたいと思います。カツ丼カレーが気になっています。

今回は岡山で定期的に開催されているOkyama.rbの紹介をしようと思います。

Okayama.rbとは

簡単に言うと「毎週木曜日の19時からRubyに関する何かをもくもくするイベント」です。

参加したときの流れは

  • 19時頃集合
  • まずみんなで雑談しながらご飯を食べる
  • 食べ終わったらもくもくするなり、雑談する
  • 21時半頃になったら撤収

ご飯を食べてるのは毎週ファミレスのココスに集まってるからで、まずはご飯を食べてからもくもくしています。

年末年始やお盆、祝日などが木曜日にかぶったときには休みになったりしますが、基本毎週木曜日にやっています。

実際に何をやってるのか

このブログ記事もOkayama.rbで書いているのですが、そういったRubyにちょっとでも関連していればOKなくらいゆるい会です。

集まってみんなで雑談してる時もありますし、みんな黙々と自分のやりたい作業をやってたりの時もあります。

RubyRailsをはじめたい人がいればセットアップから手伝ったりします。かくいう僕もこのOkayama.rbでセットアップを手伝ってもらった人の1人です。

最近ではScalaをやってる人もいたりするので、他の言語をやってる人でもRubyやってる人はどんな感じだろう?とうい軽い感じで覗きに来ていたければ!

Okayama.rbの別名

Okayama.rbは一部界隈でハンバーグの会と呼ばれています。 呼ばれ始めたきっかけはココスのビーフハンバーグステーキを食べてる写真を参加者がTwitterに上げてたところ、そのつぶやきをみた人から自然に呼ばれるようになったんだと思います(記憶があやふや)

一部界隈でハンバーグの会と言われてたらOkayama.rbのことを言ってるんだなと見守っていただければと思います。

ちなみに下に貼ってる写真は僕のオススメの包み焼きハンバーグです。 f:id:mako_wis:20160818191303j:plain

おわり

今年で150回を突破して長く続けている会になって来ました。 長く続けれたのもそんなに厳しいルールもなく、ゆるくやってきたからかなと思います。

これからもゆるくやっていきたいと思っていますので、参加してみようかなと思った人は岡山Rubyコミュニティでイベントを作っているので、気になる方はコミュニティ参加してイベント情報を受け取ってください。

来週のイベントはこちらから申し込んでください。

明日は@razonさんです。

オープンセミナー2016@広島に参加してLT駆動開発で話をしてきた

f:id:mako_wis:20160218200547j:plain

オープンセミナー2016@広島

osh-web.doorkeeper.jp 2月の頭にオープンセミナー2016@広島に参加してきた。 気になってたグラレコのワークショップがあったり、チーム開発に関するセッションがあったりと色々と持って帰れるものがあって、非常に満足できるセミナーだった。 当日の様子はしたのまとめにまとまってるので当日の雰囲気を味わってもらえればと。 togetter.com

LT駆動開発 23 - 懇親会 deLT

懇親会はLT駆動という勉強会も兼ねてたらしく、懇親会の申し込みかなと思って申し込んでみたらLTの申し込みだったというトラップに引っかかったのですが、せっかくなので一時期話題になってた「若者が勉強会に参加しない問題」について思ってる事を話してきた。

www.slideshare.net

若者でも勉強会に参加したいなと思っている人は潜在的にはいるんじゃないかなと最近思うことがある。

そう思ったきっかけは去年の末に開催したRailsGirlsで、話を持ってきて企画運営をしてくれたのも大学生の子たちだったし、開催前にはちょっと集客に苦労した時期もあったけど最終的に開催してみると30人もの人が集まってくれた。 まだまだそういう勉強会をやりたい、参加したいという人が自分たちの知らない所に眠ってるんじゃないかと。

そういう事をしたいと思っている若い子たちもいるけどそういう人達に対して自分たちがアプローチ出来てなかったり、するので何かしらまたRails Girlsみたいにちょっと趣向を変えた勉強会でそういった人達を掘り起こしても良いのかなと思ってたりします。 岡山ではRails Grilsをきっかけにそういった人達が出てきてるので、これからまた一時期の勉強会ブームほどじゃなくてもいいのでまた勉強会が盛り上がってくれればなと。

おわり

話題になる元になったブログはこれ

muneyasu.jp

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を組み立てている場合で思った挙動と違う場合はこれを疑ってみてください。

参考:EXECUTE (Transact-SQL)

岡山国際サーキットのイベント紹介

f:id:mako_wis:20151215214235j:plain 本エントリは大都会岡山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

www.motorgames.jp

僕の見に行った日には、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

stackoverflow.com

上記のリンクに書いてあるようにこちらの書き方だとエラーが発生するようです。

以下のように書けば一応実行できますが、@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 -に参加&登壇してきた

ブログを書くまでが勉強会ということで、既に何日か経ってますが参加ブログを。

というわけで、合同勉強会と忘年会議に参加して、今年はショートセッションでお話してきました。

当日の様子は以下につぶやきがまとめられてるのでご覧ください。

togetter.com

当日の発表内容

www.slideshare.net

当日は、「そんな運用で大丈夫か。大丈夫じゃない大問題だ。神は言っているgit-flowを使えと。」というちょっと元ネタが古いタイトルで話してきました。

タイトルにgit-flowって入ってますが実際はちらっと出てくるだけであんまり出てきません。(git-flowの話を期待してた人ごめんなさい) git-flowを導入するなど開発フローを改善した時に社内でやった事を中心にお話しました。

発表中にもお話したのですが、人間使うツールに対して不安があるとなかなか使うことが出来ないかと思います。いくら良いツール、良い開発フローだったとしても使われないと意味がありません。

社内で開発フローを改善しようとなった時に出てきたのも、使っているツールgitへの不安感でした。 まずはその不安感がなくならない限りgit-flowを導入したとしても上手く行かなかったかと思います。

僕らがまずやったのはgitの操作の復習と不安に思っている事を実際に試してみることでした。 gitの操作の復習も良かったのですが、個人的には不安に思ってることを練習リポジトリでとことんやってみたのが効果が高かったのではないかなと思っています。練習リポジトリで色々試したおかげでgit-flowもすんなりと導入できたのかなと思います。

つい、すぐにツールや開発手法等を開発現場に入れたくなってしまいますが、一旦落ち着いてメンバーにツールに対して不安感や疑問に思う所が無いか聞いてみたり、練習の場を設けてみる事でより導入しやすくなるかと思います。

参加してみた感想

今回はいつも以上にバラエティ豊かな発表のメンツだったと思います。 言語やツールの話から、チームの話等々の、色々な方面のお話が聞けて個人的には刺激になりました。

個人的に気になってたギークハウス岡山。去年の合同勉強会で住人募集LTしていた所から1年でTVに出たり住人も増えたようで良かったです。

発表者に県外勢も多かったですし、参加者の県外勢もいつもより多かったし盛り上がりもここ数年で一番だったんじゃないかなと。毎年企画してくれるもじゃさんありがとうございます!

来年は5周年なので更に盛り上がるといいですね!