アルパカログ

プログラミングとマネジメントがメインです。時々エモいのも書きます。

ポケモン剣盾のバトルシミュレーターを書いた

ポケットモンスターソード&シールドを発売以来ずっと遊んでいて、対人戦(シングルバトル)でいろいろ試したいなーと思ったので、2月3月の可処分時間のほとんどを開発に突っ込んで作った。権利まわりが怖いのでデータやソースコードは公開していない。 シミ…

Customer Support Tech Meetupを開催しました

3月25日(水)に、技術を駆使してカスタマーサポートの課題解決事例を紹介する「Customer Support Tech Meetup #1」を開催しました。 mixi.connpass.com オンライン開催にもかかわらず、当日はYouTubeの視聴者数が70人を超え、多くの人のCS課題への関心の高さ…

RubyとPythonで仮引数のデフォルト値がオブジェクトのとき挙動が違う

仮引数のデフォルト値は、Rubyではメソッドが呼ばれたときに作られ、Pythonではメソッドが定義されたときに作られているように見える。 業務ではRubyを書いていて、プライベートでPythonを書いていてハマったのでメモ。最後の hoge2.foo に注目してみてくだ…

カスタマーサポートの課題をCREが技術で解決する「Customer Support Tech Meetup」開催!

ミクシィCREがこの1年間、カスタマーサポートの課題にどう向き合い、技術的にアプローチしてきたかを一気にお話しします! mixi.connpass.com 発表概要にもある通り、「CS向け管理ツールのこれから」「AIによる自動分類システム」「人に寄り添ったナレッジ蓄…

Rails6エンジンでアセットパイプラインを使う

Ruby on Rails 6 のエンジンでアセットパイプラインを使う設定方法をメモしておきます。 エンジンは以前は Mountable Engine と呼ばれていたと記憶していますが、今では単に「エンジン」と呼ぶようです。 エンジンについては下記チュートリアルを参照してく…

自分の強みを認識する。ストレングスファインダーで。

自分が自分で思っている強みと、客観的な強みは意外と違うものです。強みというのは往々にして本人にとってはごく当たり前のことで、なんとも思っていないからなんですね。自分の強みを知るのになにやらストレングスファインダーが役立つということを聞き、…

Rails6エンジンでFactoryBotを使う

Rails6のエンジンでFactoryBotを使うための設定をメモしておきます。 エンジンについては下記チュートリアルを参照してください。以下、エンジン名はチュートリアルで登場する Blorgh を使って説明します。 Rails エンジン入門 - Railsガイド

組織力からチーム力の時代へ「THE CULTURE CODE」読書メモ

かつて隆盛を誇った大企業が衰退し、大規模なリストラを行うというニュースは今や珍しくない。むしろ、大企業とはいつか衰退するものとさえ思ってしまう。しかし、いったい何が組織を衰退させるのだろうか?組織の衰退を回避し、強いチームを作るためには。

CSをクリエイティブな職業に。2020年の目標

カスタマーサポートをクリエイティブな職業に。 2017年からCREをやってきて、CREはCREで「顧客満足度を最大化する」というミッションがありますが、もう一歩踏み込んだとき、自分はCREを通して何を成したいのだろうと最近考えていました。 出した答えは「カ…

アルパカログ過去のおすすめポスト(2020年始版)

年末年始、帰省している人も多いと思いますが、実家ってやることないし暇ですよね。 暇つぶしに読んでいただければ幸いというわけで「はてブはそれほどついていないけれどおすすめ(読んでほしい)」のポストを一覧にしておきます。

技術力があるとは?2019年振り返り

「あなたたちは技術力がない」 2019年を振り返って真っ先に思い浮かぶのは、普段一緒に働いてない人に、面と向かってこう言われたことだ。 みなさんはそんな経験あるだろうか?

読書メモ「小さなチーム、大きな仕事」

インターネット企業は、強迫観念のように人を雇い、でたらめに浪費し、はなばなしく散るというのが相場だ。そんな鋭い書き出しで始まる「小さなチーム、大きな仕事」は、残業するのが偉いとか、マネタイズは後回しでいいとか、そんなビジネスの世界にはびこ…

伊香保温泉うまいもん旅行記

有給休暇を取って11月8日から9日にかけて伊香保温泉を旅行した。 伊香保温泉は都内からのアクセスが比較的良く、上野駅から特急草津で1時間半、そこからバスで30分足らずで着く。箱根湯本が新宿駅からロマンスカーで1時間半であることを考えると、箱根湯本よ…

PMカンファレンス2019で「PMが陥りがちなカスタマーサポートの盲点」というタイトルで発表しました

プロダクトマネージャーカンファレンス2019にて「プロダクトマネージャーが陥りがちなカスタマーサポートの盲点」というタイトルで発表しました。発表資料は下記です。 speakerdeck.com 発表を聞いてくださった方の声を紹介しつつ、発表内容の補足と、発表し…

サピエンス全史から人生の意義と幸せについて考える

人類の進化やその原動力となった3つの革命(認知革命、農業革命、科学革命)について書かれたサピエンス全史を読んで、個人的に一番印象深かったテーマである「人生の意義とは、幸せとは」ということを中心にまとめつつ、自分の考えを添えてみたい。

EOF2019参加レポート

10月31日に浅草橋ヒューリックホールで開催されたエンジニアリングマネージャー(EM)のためのカンファレンスEOF(Engineering Organization Festival) 2019に参加しました。 eof.connpass.com 今回が初開催にもかかわらず、オープニングイベントではメインホー…

プロダクトマネージャーカンファレンス2019に登壇します

プロダクトマネージャーカンファレンス2019(pmconf 2019)というプロダクトマネージャー(PM)が集まって知見を共有するイベントに登壇します。 2019.pmconf.jp 私はPMではないので、非PMという立場から、PMが知っておくと良いと思うCSやCREのことについて、15…

EOF2019に参加します!

10月31日に開催されるEngineering Organization Festival 2019に参加します。 eof2019.peatix.com 以前 EM Meetup#2に参加した 経験から言わせていただくと、16:00~と17:00~で2回開催される @ohbarye さんのOST形式のEM Meetupは絶対オススメです! マネジメ…

ミクシィのオウンドメディアにインタビュー記事が掲載されました

2018年入社の本間さんとの対談形式のインタビュー記事が掲載されました。CREチームの雰囲気が伝わってくると思うので、良かったら読んでみてください。 mixil.mixi.co.jp

指摘を避けるという生き方

なんか、たとえば、食べてるものに対して、「これはカレーですか?」って聞いたら「お口に合わなかったですか?」って推論して別の話してくる人がいると思うんだけど、あれやめてほしいよね。— 広木 大地/ エンジニアリング組織論への招待 (@hiroki_daichi) …

GitHub Actions(YAML)でTerraform plan/applyを自動化する

GitHub Actions のワークフロー設定ファイルは、以前はHCL形式でしたが最近YAML形式に変わったようです。なので、YAMLの例がまだあまり出てきません。 個人で使っているAWSリソースをTerraform化して、GitHub Actionsで自動化したのでその方法を紹介したいと…

人を育てるとき人を変えられると思わない

メンターやチューター、チームリーダーという人の育成に責任を持つ立場になると、「自分があの人を立派に育てなくては」と気負うことは普通にあると思います。 責任感が強く真面目な人ほど、思うように育てられなかったとき嫌になってしまったり、燃え尽きて…

2種類のページングについて書きました

会社のブログで2種類のページングについて記事を書きました。よかったらご覧になってください。 medium.com

gamescom 2019参加記

8月20日からドイツ・ケルンで開催されたgamescom 2019に参加してきたので、会場の様子と、今後参加する方の参考になるような情報を書いておきます。

『まんがでわかる 7つの習慣』を読んだ

『7つの習慣』という本の存在は、おそらくほとんどの方が知っていることでしょう。 いろいろな人が薦めているので、「私も読まないと...」と思いつつも、560ページというページ数の多さからこれまで手が出せずにいました。 個人的に、300ページを超えると読…

Rail Europeでフランクフルト空港発の鉄道チケットを購入する方法

ドイツで開催される世界三大ゲームショウのひとつ、Gamescomに参加するためフランクフルト空港発の列車チケットをRail Europeで予約したのですが、予約するにあたっていくつかわかりにくいポイントがあったので備忘録を兼ねてメモしておきます。

EctoでIDリストを指定して取得するときのメモ

久しぶりに書くといつも忘れるのでメモ。 ActiveRecord users = User.find(user_ids) users = User.where(id: user_ids).all ActiveRecordでは上記のようにidsをそのまま渡すところ、Ectoだと次のように書く。 Ecto users = User |> where([user], user.id i…

【Rails5】link_toにdataとclassを同時に指定する

link_to ヘルパーはRuby on Railsの数ある便利なヘルパーのうちのひとつです。 link_to ヘルパーを使うとリンク先の指定がシンプルになるだけではありません。 POSTやDELETEなどのHTTPメソッドが指定でき、さらに data オプションを指定するだけで confirm …

【Rails5】カスタムバリデーションのエラーメッセージをi18nに対応する

Ruby on Rails 5 で、カスタムバリデーションを追加したときに、エラーメッセージ(errors.full_messages)の翻訳で少々ハマったのでまとめておきます。

【初心者向け】図解でわかるGitのブランチとコミット

最近エンジニアでない人にGitを教える機会があって、Gitの仕組みを省略して必要最低限のコマンドだけ教えたものの、やっぱり全体像を理解しないと扱うのは難しそうだなぁと感じたので、コミットとブランチについて図解して説明していきたいと思います。