rastam

英語圏のオススメ Ruby・Rails 書籍


初めまして!エンジニアのラスタムです。

英語圏ウェブ開発業界で独自の文化を作り出した Ruby と Rails。
そのコミュニティーに大きな影響を与えた書籍が沢山あります。
日本でも話題になり、和訳されているものもあれば、訳されていないものも未だに山ほどあります。
代表的な作品を紹介させていただきます。

初心者向け

Programming Ruby

Ruby 言語を初めて英語圏に普及させた超大作。
表紙のつるはしにちなんだ、「The Pickaxe」という愛称がつくほどの名声を博しています。
Ruby の言語的仕組みに興味がある方にオススメ。

★ 和訳あり!

The Ruby on Rails Tutorial

Ruby・Rails コア機能だけでなく、git や bundler など、現代ウェブ開発でよく使うツールを総合的に紹介する入門書。
他言語のウェブ開発を既に経験しているエンジニアには特にオススメ!

★ 和訳あり!

Why’s Poignant Guide to Ruby

不思議なプログラマー兼イラストレーター why the lucky stiff 氏が執筆した青年向け入門書。
3 コマ漫画を添えた、独特でユーモア溢れる文章が、Ruby エンジニアの間で人気を集め、流行語さえ生み出しました。
2009 年に why the lucky stiff 氏は、なぜか Ruby コミュニティーから脱退しましたが、今も愛され続けているこの作品は、ボランティアにより維持され続けています。

★ 和訳あり!

中上級者向け

Rails Antipatterns

Thoughtbot 社初期刊行物のひとつで、個人的に最もお気に入りの一冊。
Model、View、Controller の各レイヤーでよく悪用されるアンチパターンとその解決案を読みやすく紹介しています。
Rails 3 以来は改訂されていないため、時代遅れになってしまいましたが、スパゲッティーが美しくてシンプルなコードへと変わっていくリファクター談を楽しむだけでも十分読む価値があると思います。

Practical Object-Oriented Design in Ruby

通称 POODR(púdər、プードル)で知られている名作で、執筆者 Sandi Metz 氏が 2013 年 Ruby Hero 賞を受賞するほどの盛名を馳せました。
カプセル化やポリモーフィズムといったオブジェクト指向を具体的な例を添えて紹介している、経験者向けの技術書。

★ 和訳あり!

99 Bottles of OOP

Sandi Metz 待望の最新作。
そして共同執筆者として参画しているのはなんと、感動作カンファレンストーク Therapeutic Refactoring と、レビュー駆動多言語学習ツール exercism.io 生みの親 Katrina Owen 氏。
99 Bottles of Beer 民謡生成アルゴリズムを題材に、実装・リファクター案をいくつか取り上げ、それぞれのメリット・デメリットを丁寧に説明しています。


神﨑 拓人

RubyKaigi 2016 に Bento Sponsor として協賛しました


IMG_20160910_081816みなさんはじめまして!新卒エンジニアの神﨑です。

先日お伝えしたとおり、弊社 Aiming は去る9月8日から10日にかけて京都市の京都国際会館で行われた Ruby Kaigi 2016 に Bento Sponsor として1日目のお弁当を提供させていただきました。

そしてこの私も、スポンサー企業の社員として RubyKaigi に初参加させていただきました。

RubyKaigi 2016 は京都!

IMG_20160910_083045

RubyKaigi は去年まで東京で行われていましたが、今年はより広い会場を求めて、京都市の京都国際会館で行われました。京都国際会館といえば、京都議定書が採択された会議である COP3 が開かれた会場で、メインホールには大きなスクリーンや、ほぼすべての席に机と電源があり、セッションを聞きながらメモを取るのにすごくいい環境でした。

Bento Sponsor として

IMG_20160908_114854

今回 Aiming はRubyKaigiに参加されている皆さんへ1日目のお弁当を提供する Bento Sponsor として協賛しました。お弁当にはRubyKaigi仕様の掛け紙をつけて、スタッフからも直接参加者の方にお弁当をお渡しさせていただきました!

IMG_20160908_122528

中身も京都らしいはんなりとしたお弁当で、参加者のみなさんからも好評でした。

はじめてのRubyKaigiに参加して

IMG_20160908_092210

RubyKaigi は「国際会議」で、 Ruby のコミッターを始めとするエンジニアが世界中から集まり、セッションを聴いたり、意見を交わすため、公用語は英語になっています。なので会場の案内が至る所で英語になっており、日本語の発表でも資料はすべて英語、発表自体も英語で行われるセッションも多くあります。英語のセッションはなかなか内容を把握するのが大変でしたが、耳から入ってくる英語の中から自分にわかる英単語と、スクリーンに出されている英語を読みながらなんとか発表内容を把握していました(もっと英語力を身に着けたい)。

また実際に Ruby コミッターたちの話を直接聞くことができ、普段は遠くにいると感じることの多いプログラミング言語の開発者との距離が近いのもこのイベントのすごいところだと感じました。

今回 Aiming からは、僕も含め5名のエンジニアと1名の人事が参加しました。しかもチケット代から交通費まで(東京本社から参加したスタッフは宿泊費も)全て会社負担で参加することができました!改めて Aiming には感謝です!

また運営の方々は今回すばらしい会場と、出会いの場を提供していただきありがとうございました!


カテゴリー: Ruby
菅野 明洋

まべ☆てっく vol.1に登壇してきました!



はじめに

初めまして。
大阪スタジオ インフラチームの菅野明洋です。
業務では、大阪スタジオのサービスインフラを担当させていただいております。

今回は、2016年9月8日 木曜日の東京にて開催された株式会社マーベラス様主催の「まべ☆てっく vol.1」にて、スピーカーとして登壇させていただきましたので、レポートとしてまとめました。

まべ☆てっくとは

株式会社マーベラス様が主催する勉強会です。
今後もゲームに関わらず色々な題材を取り扱った技術系の勉強会を開催していくそうです。

今回発表させていただいた内容について

発表資料は以下のとおりになります。


本発表は、昔、私が開発業務を行っていた際に、DB周辺の品質向上や機械的な設計レビューの省力化を行う目的で実装した物を成果物として発表させていただきました。

内部処理の話をすると時間オーバーする見積もりだったので、内部の話は入っていません。

発表内容は下記のとおりになります。

  1. どんなツールか?
    1. ツールコンセプト
    2. 実行環境
  2.  ツールが出来るまでの流れ
    1. その時起きた問題
  3. 考えた解決策
  4. 実装後の成果
  5. 将来の実装予定(願望)

参加してみて

超豪華な登壇者に囲まれながら、初めて勉強会で発表しましたので、とても緊張しました。

今回の勉強会はゲーム業界の人が少なかったので、もうちょっとゲーム開発に関わっていた時の内容を含めて背景を説明したほうが、参加者の反応が良くなったのでは無いのかな?と思いました。

次回の登壇では、その辺りも注意しようと思います。

最後に

主催者の皆様のご厚意で、とても貴重な経験をさせていただくことができました。
関係者の皆様、ありがとうございました。

次回以降も何かご協力できることがありましたら、お手伝いさせて頂きたいと思います。


あなたの知らないキーボード拡張の世界


初めまして、エンジニアの山納です!

突然ですが皆さん、 キーボード配列入力方式 は何をお使いでしょうか?
恐らく、大多数の方々が QWERTY + ローマ字入力 なのではないかと思います。
しかしながら、世の中では少数ながらも、別の配列を使っている人たちが存在します。
数で見ると少数派ですが、この中には実に多くの配列や入力方式が入り混じっているのです。

今後の人生で何度キーボードが変わろうとも、キーボード配列はそう何度も変わりません。
そんな、まさに人生の伴侶とも言えるのがキーボード配列です。
好きなエディタで争うよりも、好きなキーボード配列で争いましょう!

とは言え、いきなりQWERTYから乗り換えるのはハードルが高いと感じることでしょう。
そこで今回は QWERTYのままでも使える 入力上の工夫を中心にご紹介したいと思います!

続きを読む


mori

エンジニア向け1DAYインターン@大阪を開催しました!


こんにちは。人事の森です。

8/20(土)に、エンジニア志望の学生さんを集め、「1DAYインターン@大阪スタジオ」を実施しました。

Aimingで全社的に行っているアジャイル開発の手法の1つであるスクラムを体験してもらうという内容で実施しました。

1日という限られた時間でAimingの開発スタイルを体験してもらうことを目的に、計画 > 開発 > リリース > 改善の開発サイクルを疑似体験してもらうというカリキュラムで実施しました。
実際にAimingの開発で多くのプロジェクトが行っているスクラムを、1日にギュッと圧縮した内容です。

今回スクラムを組んで開発にあたってもらったのは、LEGO(R)で作るRPGの「町」です。
実際の開発にありそうな背景設定として、その町のコンセプトを「物語中盤に訪れる、お城が見え活気のある城下町」としました。

スクラムチームの、プロダクトオーナーとスクラムマスターは、Aiming2年目のスタッフが担当しました。
スプリント計画ミーティング、スプリントの実施、スプリントレビュー、振返り、このサイクルを3回まわし(120分×3回)、最後に1日をかけて制作した「RPGの町」を囲ってビアバッシュで振り返るという1DAYインターンシップです。

ちなみに、準備段階の予行演習では私も参加し、スクラム体験させて頂きました。
エンジニアでない私でも、開発の流れを掴むことができ、とても楽しかったです。

>当日の様子


スプリント計画ミーティング

  • 初回は意見がまとまらず無駄に時間を消費しましたが、なんとかスプリントバックログの作成と見積ができました。
    (皆さんコミュニケーションがとても活発・・!)
  • 2回目からは見違えるように機能するスプリント計画ミーティングになりました。素晴らしい!
    (見積もりポーカーでも多数決にならず、意見を交わしながらポイントが付いていました。これも素晴らしい・・!)

kanban
カンバン

  • スプリントバックログと進捗の確認はカンバンで
    (声を掛け合いながらテキパキ。既にチームワークが生まれている・・!)
  • 朝会もカンバンを囲って行います。

kpt
振り返りの様子

  • 振り返りはKPTで行いました。
    KPTをやるのは初めてながら、KeepもProblemもよく出ていて、Problemを受けたTryも出せ、しっかりと振り返りが出来ていました。
  • また、次のスプリントでは着実にTryを実行、回収することが出来、短時間ながらも改善という体験ができたのではないかと思います。

product
そして、完成した「町」

  • 3スプリントを終えて、ほとんどのストーリーを消化したプロダクトが完成!
    写真では伝わりにくいですが、想像以上の完成度のプロダクトが出来ました。
    (演習時に、私も参加して作ったものとは段違いだ・・・!)
  • 限られた数のブロックを上手く配分した建物づくりや、模造紙や付箋紙を活用したアイデアも見られます。
    (レゴの追加を打診されましたが「予算内で!」と跳ね返した、そんなこともありました!)
  • 城壁が欲しいというプロダクトオーナーの無茶振りにも熱意を持って取り組んだ「結果」が見られますね。

Aiming開発の縮図を1日で体験するという今回の1DAYインターン。
学生さんのチームワークや鋭い指摘、成果物のクオリティの高さを拝見することが出来、主催する私達Aimingスタッフにとっても、とても濃い1日でした。
参加頂いた学生の皆様、本当にありがとうございました!

引き続き、1DAYで行うような単発のものから週単位の本格的な就業体験まで、Aimingでは通年を通してインターンシップを行っておりますので学生の皆様、是非エントリーください!

※社会人の方でも歓迎です!

>おまけ

mori_building
私が演習時に作成した「家」です。
「欠陥住宅」「野宿」と言われました。おわり。

 


☆エンジニアインターンシップエントリーこちら↓
https://aiming-recruit.snar.jp/jobboard/detail.aspx?id=6fvuUOB6neU

☆新卒採用エントリーこちら↓
https://aiming-recruit.snar.jp/jobboard/detail.aspx?id=139ZfhAVnE0


藤井 章暢

「Houdini for Tech Artists in 大阪セミナー」レポート


はじめまして! エンジニアの藤井です。

去る9月1日(木)に「Houdini for Tech Artists in 大阪セミナー」がAiming大阪スタジオで開催されました!

https://www.borndigital.co.jp/seminar/4665.html

勉強会内容

  • SideFX社の多喜様、ルイス様による「Houdiniの概要、デモ」
  • ボーンデジタル社の吉田様による「Substanceの概要、デモ」

というプログラムで各内容、1時間ずつのセミナーでした。

平日の夜19時~21時という比較的遅い時間でしたがセミナールーム満員の状態でした!
20160901_185647_642

Houdiniの概要、デモ

前半1時間は、多喜様、ルイス様による「Houdiniの概要、デモ」の講義を行っていただきました。
20160901_192230_583
※左側:ルイス様、右側:多喜様

Houdiniとは?

ご存知の方も多いかもしれませんがHoudiniとはプロシージャル技術を取り入れたノードベースのDCCツールです。

最大の特徴は、「プロシージャル技術によるアセット(モデルやパーティクルなど)を生成できる」点です。
これにより汎用的、かつ効率的にそして感覚的にアセットを作成することが可能なツールとなっています。

20160901_191051_134
写真の例では
左から

  • 炎のパーティクル
  • 煙と炎の部分に分離
  • 炎をメッシュ化
  • メッシュ化したものから法線マップと深度マップを生成する

というデモになります。

こういった各種データ変換もHoudini上で簡単に変換することができるようです。

また、モデルのサイズを縦に伸ばしたり縮めたりしたい時、単にY軸のスケーリングだと、伸びてほしくない所、縮んでほしくない所まで影響して、なかなか思い描いたサイズ変更ができないことが多々あります。

20160901_193221_898
そういったものもHoudiniは縮めてほしくない所、繰り返しで伸ばして欲しい所などを定義して生成することができます。

HoudiniはプラグインによってUnityやUnreal Engine 4との連携も行えます。
そのためゲームエンジンとの親和性も高いことも特徴の一つです。

Substanceの概要、デモ

後半1時間は、吉田様による「Substanceの概要、デモ」の講義を行っていただきました。
20160901_200120_218

Substanceとは?

こちらもご存知の方が多いかもしれませんがSubstanceとは
プロシージャル技術を取り入れたノードベースのテクスチャコンポジットツールです。
20160901_200145_709

最大の特徴は、「リアルタイムにテクスチャパラメータの編集が可能」という点です。
こちらもプロシージャル技術を使っているため、リアルタイムな変更が可能になっています。

様々なノードを組み合わせでテクスチャを作成していくので簡単なものであれば基礎となるテクスチャは不要で、芝生や石畳などの画像を作成しモデルにマッピングすることが可能となります。

また、今年の3月に「Substance in Houdini」というプラグインが公開され「Houdiniの中でSubstanceのデータ(SBASRファイル)を直接読み込みHoudiniのノードとして扱う」事ができるようになりました!
その紹介もされており、実例ベースで非常にわかりやすい講義でした。

SubstanceもプラグインによってUnityやUnreal Engine 4との連携も行えます。
そしてHoudiniと組み合わせることで多種多様なアセットやテクスチャを作成することができます。

感想

どちらの講義も実例ベースでわかりやすい内容でした。
セミナー中、セミナー終了後問わず、講義を行ってくださった方々と直接「あれは出来ないか?」「これは出来ないか?」と質問されている方が多く大盛況でした!!

私はもともと、どちらのツールも存在は知っていましたが中々触る機会、見る機会がありませんでした。
しかし今回のセミナーを受講し「どちらも魅力的なツールなので、是非触ってみたい!!!」と思うようになりました。

どちらのツールも今回のセミナーでは紹介しきれなかった便利な機能がたくさんあります!
そしてどちらのツールも体験版がありますのでこのブログを読んで興味を持たれた方は是非触ってみてはいかがでしょうか?

Houdini公式サイト(ダウンロードページも含む)
http://www.sidefx.jp/#?Itemid=514

Substance公式サイト(ダウンロードページも含む)
https://www.borndigital.co.jp/software/1000.html


KLab Creative Fes’16に参加してきました!

画像


こんにちは。デザイナーの兵頭です。

今回の開発者ブログは「ラブライブ!スクールアイドルフェスティバル」等で有名なKLab株式会社様が主催された「KLab Creative Fes’16」に参加した話です。

KLab Creative Fes’16とは

KLab Creative Fes’16
静止画部門、動画部門から成る学生CG作品コンテストをメインコンテンツとし、
当日はコンテスト本選以外にいくつかのコンテンツで構成されるイベントです。

IMG_5302 (2)

少しわかりにくいですが会場の様子です。
最終選に残った学生さん達が各々の作品をアピールしていました。

どういった形で参加したのか

当日のコンテンツとして「3DCG LIVE BATTLE」が行われました。
各ゲーム会社からクリエイターが3人一組で出場し、発表されたテーマに沿った作品を制限時間6時間以内に作成して競うというものです。 続きを読む


Unityのmetaファイルについての勉強会を行いました


こんにちは、エンジニアの堀尾です。

今回の開発者ブログは以前プロジェクト内で行ったUnityのmetaファイルについての勉強会のお話です。

勉強会を行った経緯

Unityを使用する上でmetaファイルは非常に重要です。しかし、エンジニア以外の人たちにとっては謎のファイルという認識になっておりたびたび問題が発生していました。

  • 問題の例
    • metaファイルのコミットを忘れたことでAssetの関係を保持できなくなる
    • GUIDが競合してしまい、エフェクトやモデルが正しく表示されなくなる

そこで、metaファイルとは何なのかどういった働きをしているのかを資料としてまとめ、勉強会を行いました。


プロジェクトのプランナーさんとデザイナーさん向けに発表を行ったのですが、内容が難しかったのか後半になるにつれ眠そうな人がちらほらと…。しかし、「今までただ謎のファイルとしか認識していなかったけど何となくわかった気がする」と言ってくれる人もいたので勉強会自体は開いてよかったなと感じています!

おわりに

勉強会を行っただけで全ての人がmetaファイルについて正しく理解できた訳では無いと思いますが、理解するまでの第一歩は踏み出せたのではないかなと思っております。


「関西ゲーム勉強会 2016夏」にスタッフとして参加してきました


6/25(土)「関西ゲーム勉強会 2106夏」が開催されました。
Aimingはこの勉強会のプラチナスポンサーとして協賛させて頂きました。

http://kgstudy.com/

この勉強会に運営スタッフとして参加しましたので、レポートを書かせて頂きたいと思います。

関西ゲーム勉強会とは?

有志が運営する、関西のゲーム開発者同士の交流の場を提供するコミュニティです。
年2回〜3回、勉強会を開催しています。

以前は、「関西ソーシャルゲーム勉強会」という名前でしたが、スマホだけで無く、広くゲーム開発者同士を結び付けたいという意図で、現在の勉強会名となりました。

今回の勉強会について

「関西ゲーム勉強会」は、今回で通算10回目の開催となりました。

前回までは、スポンサーを取らず、100名程度の規模で開催してきたのですが、10回という節目もあり、もっと大きな規模での開催に挑戦してみました。

参加者数を300名とし、登壇者数も大幅に増やしました。
運営メンバーの中には、スポンサーが本当に集まるのか不安な意見もありましたが、弊社を含む、多数の企業様にご賛同頂けました。

弊社はプラチナスポンサー登壇枠を頂きましたので、大阪スタジオ・エンジニアマネージャーの槙石が登壇しました。

開催してみて

グラフィック・チームビルディング・UI・データ分析・コンシューマ開発と多岐に渡る登壇内容となり、多くの来場者に喜んで頂けたのではないかと思います。

セッションは10時から始まり、途中で昼休憩を挟み、午後の部が開催されました。
午前中は来場者が少ないのではないかと予想していたのですが、最初のセッションから参加して頂く方がほとんどでした!
(最初に用意していた椅子が足りず、急遽、隣の部屋から運びこむことで対応しました。)

また、一部、入場制限を行ったセッションもありましたが、大きなトラブルも無く開催することができました。

懇親会!

恒例となっている懇親会は毎回大きく盛り上がり、開発者同士の交流の機会となっています。
今回は会場の都合でノンアルコールとなってしまいましたが、前回の倍以上の規模となり盛り上がりました!

懇親会内のLTでは、スマホ版ログレス開発チームの藤井も登壇しました。

Aimingのブースでは、弊社の雰囲気をお伝えしたり、エンジニアと気軽にお話頂くために、急遽その場のノリでAimingブースに「ゆるい相談所」を開設してみました。

kgs_booth

スマホゲームの開発に興味のある方々が訪れ、弊社での職種毎の業務内容や、インターンの内容等の質問があり、弊社のエンジニアがお答えしました。

今後

次回開催は、今年の冬頃になるかと思います。

今回はスポンサーを募集することで規模を拡大し、良い経験となりましたが、また多くの反省点も残しました。受け付けの対応で長い列が出来てしまっていたり、セッション枠をもっと時間的な余裕のあるものにしたりと、課題は多いです。

きちんと振り返りを行い、次回はさらにパワーアップした内容で開催したいと思います!