読者です 読者をやめる 読者になる 読者になる

クラウドワークス エンジニアブログ

日本最大級のクラウドソーシング「クラウドワークス」の開発の裏側をお届けするエンジニアブログ

CW Tech Meetup #02: Ruby on Rails Tech Meetup を開催しました

Meetup Rails

f:id:Dooor:20161027110605j:plain

こんにちは。プロダクト開発Divの戸口(@Dooor)です。

先日クラウドワークスでは、Ruby on Railsについて利用したアプリケーション開発からRailsそのものについて気軽に情報交換できる場を作りたいということでCW Tech Meetup #02を開催しました。

cw-meetup.doorkeeper.jp

第2回ということで多くの方々からお申込みをいただき、当日も大盛況に終えることができました。
Rails5へのアップグレードやSprocketsの話など、いろいろな内容の発表があった今回のイベントにの様子をお伝えします。

続きを読む

HerokuのDataclipsを使って簡単にリアルタイムでデータを見える化した話

Heroku 分析

開発の山本です。最近いきなり寒くなってきて焼酎のお湯割りが飲みたくなる季節になりましたね!

今、私が携わっているプロダクトはHerokuで運用しており、サービスが稼働してから3ヶ月程立ちました。 実運用が始まりリリース直後のバタバタが落ち着いてくると、次のステップとして分析用にデータが欲しいという要望が当然でてきますね。
しかしながら、新規のプロダクトでは抽出のやり方も一から考えないといけず、正直アプリケーション開発に時間をかけたいので、あまり手間暇かけて仕組みを作りたくもないのが本音です。単純にCSVで落として渡すだけだと何度も依頼が来て(ノ`Д´)ノ彡┻━┻ってなることは目に見えてるのでそれも避けたいですね。

ということで今回はDataclipを使ってデータ抽出を簡単にやったよという話です。

続きを読む

突然ですが、クラウドワークスを退職します。

λ口 退職エントリー

9月も残り少ない今日この頃、皆様いかがお過ごしでしょうか?

この度、9月30日をもってクラウドワークスを退職することになりました*1
toku345 こと 徳光史考 です。

クラウドワークスでは CrowdWorksの機能追加・改善、管理画面の機能追加・改善、CrowdFlowerとの連携機能実装など、フロントエンド 〜 バックエンドを広く浅くやってきました。

さて、この手の退職エントリーって普通は個人ブログに書くんじゃないの?
と思われたそこのアナタ!

私もそう思うのですが、幸か不幸かこのようなチャンスを頂きましたので、今の私にしか書けないような内容をQ&A形式でお送りしてみようと思います。

しばしお付き合いを...

*1:と、言いつつ30日はお休みを頂くので実質本日(29日)が最終出社日なんですけどね

続きを読む

将棋 + Git = Shogit

クラウドワークスでエンジニアをしている八木 ( @negito6 )です。

私は今年から、将棋のネット観戦が趣味になっています。最近では、映像に名前や顔が映らずとも、声や手の仕草だけで棋士の先生を判別できるようになってきました(だからどうってこともないですが・・・)。好きな解説の先生は、ズバリ!渡辺明竜王*1です。

「棋譜」と「検討」

(会社のエンジニアブログなので、普段の記事では以上のような軽い自己紹介をした上で技術的な内容に入ることが多いですが、今回はもう少しだけ続けます)

将棋では、対局の中のある場面でのいろいろな手のパターンを考えることを、「検討」と言います。こうすればもっと早く決着がついてたとか、ああすれば勝ち負けが逆転したしたのではないか、といったことを一人で考えたり、人と話し合ったりします。私自身も(棋力はさっぱりですが)強くなりたいので、自分が指した後は検討をすることがあります。

しかし、あれこれパターンを試していると、さっき考えたパターンが思い出せなくなったりしてきます。パターンは多分岐の木構造に枝分かれしていくので、紙に残すのもちょっと面倒で、どうにかならないかと悩むようになりました。盤面の変更を棋譜として順番に記録していきたいが、変更の各地点で枝分かれの可能性があり、進んでは戻り、また新しい枝を作り...と、ここまで考えると、将棋以外の手慣れた作業が思い出されます。そうですね。Git です。検討ついて記録することは、Git のブランチ・コミット操作と同一視できます。

というわけで、棋譜を Git にコミットして記録していくプログラムを作ってみることにしました。名前は Shogi + Git で安直に Shogit です。本記事では Shogit を作る過程と実装に関して簡単にご紹介したいと思います。

f:id:negito6:20160923120152j:plain

*1:2016年9月23日現在、竜王・棋王の二つを保持されている強豪の棋士です。解説としての人気も高く、将棋ファンからするとベタ中のベタな回答です。

続きを読む

レガシーなRubyコードのリファクタリングを支援するSutureの紹介

Gem Ruby

f:id:yosu1:20160914154128p:plain

はじめに

こんにちは、先日のRubyKaigi 2016に参加してきた@yosuです。 Ruby 3に向けた話題や幅広いテーマで楽しくとても刺激になりました。

そんな中僕が特に印象に残ったのが2日目のキーノート、Justin Searlsさんの「Fearlessly Refactoring Legacy Ruby」です。直訳すると「レガシーなRubyコードを恐れずリファクタリングする」でしょうか。

トークの内容も素晴らしかったのですが、そのトークをベースにTDD(トーク・ドリブン・デベロップメント)でSutureというGemも 作られていて、感動して触ってみたので今回はこちらのGemを紹介したいと思います。

スライドも公開されており(Surgical Refactors by Justin Searls)、こちらにこのGemを作った背景や目指すゴールについて書かれていますので是非見てみて下さい!

続きを読む

© 2016 CrowdWorks, Inc., All rights reserved.