生活発表@大江戸Ruby会議07

Fda25022237b4e795fee7a9996ffc4bf?s=47 sinamon129
September 16, 2018

 生活発表@大江戸Ruby会議07

大江戸Ruby会議07で生活発表したスライドです

Fda25022237b4e795fee7a9996ffc4bf?s=128

sinamon129

September 16, 2018
Tweet

Transcript

  1. ⽣活発表 @sinamon129

  2. ⾃⼰紹介 RiLi, inc. Chief Engineer RailsGirls Tokyo 5-9th coach         

    7th organizer ͠ͳ΋Μ @sinamon129
  3. バス因⼦、転職する

  4. Rubyコミュニティ との出会い

  5. 私とRubyコミュニティとの出会い • Rails Girlsのコーチに応募 • 知り合いとくにいない • 社会⼈2年⽬、Ruby/Railsな会社に戻ってきた時 • 「⼥性エンジニアが少ないことに対する違和感」

    • プログラミング初めての⼈になら教えられる? • 勉強にもなりそうだし
  6. 豪華すぎるコーチ陣 • 顔合わせに⾏ったらなんか強そうな⼈がいっぱいいる • コミッタ・コントリビューター • 本書いてる • RubyはN年前から使ってます •

    結構Asakusa.rbの界隈の⼈多い • 初回参加時のオーガナイザーは@youchanさん
  7. 飲みに⾏ってるのに混じった • RailsGirlsは2⽇開催 • 1⽇⽬終了後に、@amatsudaさんが飲みに⾏く⼈ を募っていた • @emorimaさん・@yuki24さん・@yotii23さん • Rubyコミュニティについて知る

    • 後⽇、kaminariのリポジトリをみてびびった
  8. ところで Asakusa.rbはつよそう

  9. なんで強そうか • Asakusa.rbに対するイメージ • Rubyつくってたりgemつくってたり、何かに コントリビュートしてたり、その辺りの深く て濃い話をしている • ⾃分とは次元が違う(理想的) •

    今⽇発表するのもめっちゃびびってる
  10. 尊敬・かっこいい

  11. 今⽇はそういうかっこいい ⼈たちがたくさんいるので

  12. 強くないRubyistによる ⽣活発表

  13. ⽣活発表 3本⽴て♬ エンジニアやるぞ のきっかけ 好きなことで、⽣きていく そうだ、Aasakusa.rbに⾏こう!

  14. エンジニアやるぞ の きっかけ

  15. ⼤学⽣のころのはなし • 3年⽣ つくばに住んでいました • プログラミングはちょっと(授業・サークル) • インターンでチーム開発ちょっとかじった • 知⼈が⼿伝ってたサービスを⼿伝うことに •

    暇だし、おもしろそうだった • メディア+ログインなしのユーザー投稿
  16. 初期リリース(夏) • 企画(1⼈)開発3⼈(みんな学⽣) • 最初の分担 • Aさん:サーバサイド • Bさん(知り合い):フロント •

    Bさんの担当部分をお⼿伝い • サーバ直編集(悲劇の上書き合戦)
  17. 少しメディアに取り上げられたり • 需要期が数ヶ⽉先にある • サーバ直編集(git未使⽤)・⽣PHP • 書き直すことが決まる • サーバサイド:私とBさん •

    フロントエンド:Aさん • CakePHPのドキュメントを舐めるように⾒てなんとか書く • 初めての分厚めフレームワーク
  18. LoadAverageがこんなに⾼いわけが… • 12⽉、リリース • さくらVPSの2Gサーバ(たしか) • ⾒れない・レスポンスが遅い • 習いたてほやほやのtopコマンド •

    「やばい、攻撃されてる!!!!!」 • ただの⾼負荷 • DB同梱・DBにindexなし
  19. 砲撃予告 • 某W•Sに出るらしい • うち、テレビないんだけど… • サーバを8G(当時の最⼤スペック)のに「⽴て直し」 • DB同梱() •

    放映⽇【前⽇】に徹夜で設定 • 当⽇は朝から東京に出て、就活の⾯接x2
  20. 徹夜で⼤事な設定は危険 • 「お名前.comのページが⾒える」っていわれる • そういえば… • お名前.comでネームサーバの設定を「初期設定に戻す」を 押した記憶がなくもない • 当時の予想できる状況

    • 設定中に何を思ったのか初期設定に戻すをおす->設定で きたと思う(古いサーバにつながったまま) • ⾯接と⾯接の間にもう⼀回ファミレスで設定
  21. いざ、テレビに出るぞ • GoogleAnalyticsとサーバにsshして待つ • GAのリアルタイムがいきなり1万とかになる • !!!サーバが⼀瞬で死ぬ!!!

  22. None
  23. サーバってどうやったら落とさないで済むの • AWSにすればいいと聞いて • 2回⽬の需要期は、フルスクラッチで書き直して AWS • 普通に落とした • 結局⼤学卒業までサーバを落とさずに済んだことは

    なかった • 経験を積んでなんとでも落とさずに守り切りたい
  24. いいこともたくさん • SNSからの流⼊が多く、ユーザーからのいい反応がみれた • サーバ落ちてるとサーバ担当しっかりしろって⾔われる • テレビ・まとめサイトなど流⼊経路ごとのアクセス傾向 • (コンテンツが良かったので)プログラム⾃体は複雑では なかったが、多くの⼈に使ってもらえた

    • ⾯接にこの話したら⼤体どうにかなって楽だった←
  25. この⼀連の流れから

  26. エンジニアとしてもっとやりたい • 安定運⽤できるアプリケーションを作りたい • インフラ・設計・アプリケーション • とりあえず落とさない(機会損失悲しい) • 使ってもらってフィードバックが返ってくるのとてもう れしい

    • 難しくなくても⼈に便利に使ってもらえる • みんなで作るの楽しい
  27. 余談 • 社会⼈になって安定稼働できるようになった • Railsでフルスクラッチで書き直し • インフラも設定しなおし • 当時⾜りなかったもの •

    メトリクスを⾒て考えて改善すること • (その他沢⼭あるけど)
  28. 何気なしにやったことが ⼈⽣に⼤きな影響になることが たまにあるから⾯⽩い

  29. 好きなことで、 ⽣きていく

  30. 最近Twitterで • 勉強とか育つとか • エンジニアはこうすべきみたいなのが乱⽴ • すきにやればいいやん

  31. ⾃分はこういう考えで こういうことやってきた

  32. 前提(私のことを知らない⼈への⽂脈提供) • 得意なこと • コミットメント(当事者意識) • 苦⼿なこと • 緊急じゃないことをやること •

    抽象度が⾼いこと • 別ドメインのコンテキスト切り替え
  33. 好きなことで ⽣きてる

  34. 弊社(RiLi)について

  35. 学⽣時代から • 洋服や⼥性向けメディアが好き • 「⽬指すはプリ機」 • ユーザーはギークじゃない • 技術より体験を推している •

    技術が詰まっている
  36. 職歴? • 事業会社 • エンジニアとして⼒をつける • エンジニアが事業企画できる • フリマアプリ(⼥性向け->ファッション->オールジャンル) •

    エンジニアとして⼒をつける • ファッション・⼥性向け • メディア&EC(now) • ファッション・⼥性向け&⽬指すところ
  37. 好きな事業領域 だから 夢中にできた

  38. 検索改善 • 検索ログデータの集計レポートを勝⼿に上げてた • 検索改善チームが⽴ち上がった • KPIが⾒えるダッシュボードをRailsで作る • 独⾃辞書作成・ロジック変更 •

    Elasticsearch ・ searchkick • このネタで2つぐらい登壇 -> 現職社⻑との遭遇
  39. 検索改善からの • Elasticsearchサーバの⾼負荷で荒ぶるのと戦う • 専任のインフラエンジニア不在の世界線 • 突然の死によるサーバ⽴て直し多発 • Elasticsearchについて情報を収集するように

  40. 深夜メンテ・負荷対策・バグ退治 • サービス愛 • 安定して使ってもらいたい気持ち • 深夜メンテへの憧れからのメンテスタメン化 • 問題の切り分け⽅を学ぶ •

    とりあえず数問題(負荷・バグ)と当たる • 1番にバグ原因を特定する競争(脳内)
  41. ⼤変なことを乗り越えることは⾎と⾁に • イレギュラーを知ることで実装時に考慮できる • 実装範囲外のコードリーディング • サーバ・ライブラリ等の挙動の把握

  42. 勉強しようってやるのは苦⼿なので • 興味があることを掘り下げる・やりたいと宣⾔する • 需要と供給のマッチする部分 • 緊急度が⾼いしやらないとサービスに損害が出るの で逃げられない状況を必死にやる • バージョンアップ・⼤型改修等の⾃分の⼤変に⾒え

    ることをやる • メンバーになる->慣れたら主導で進める
  43. 今楽しいのは… • 趣味でみてるものを誰がどのように作ってるのか⾒れる • メディアに出てこない部分 • 好きなもののデータが⾝の回りに落ちてる • どうやって調理しようかな •

    会社の⼈が作るものが好き!! • ⾃分には作れないものを作れる⼈に囲まれてる • 私はみんなが得意じゃないところで⼒になる
  44. 好きなことを仕事に するのはいいぞ!

  45. None
  46. そうだ、Aasakusa.rb に⾏こう!

  47. 近況

  48. 社内で1⼈のバックエンドエンジニア まあ⾊々経験したし 昔よりはどうにかなるんちゃう?

  49. 転職前直近⼀年ぐらい • 仕様を⼝から吐くマン • 仕様をまとめ • 既存のロジックに何かを付け⾜す • コードレビュー •

    バグ直す • パフォーマンス周り
  50. 転職後 • システム設計 • Rails newからサーバデプロイまで • 久々のインフラ(初めてのDocker・k8s) • フロントエンドがスムーズに開発できる環境を

    整える(初めてのwebpack・vue.js)
  51. だいぶん変わった

  52. 今必要なこと • どこを守り・どこを攻め(投資)するか • しがらみはあまりない • スピードを出したい • できるだけ後で後悔する設計にはしたくない •

    やったことないことにチャレンジしたい • 事業拡⼤時に遭遇しそうなことを考えながら
  53. 緊急度の低いことへの投資の重要性 • 技術わかってないと選択できない • 事業のジャンル的にエンジニア採⽤苦労しそう • 戦略的技術広報 • エンジニアにとって魅⼒的な状態を意識する •

    実装もドライブしたい • 最初ちょっと⼤変だけどあとで空気にしたい
  54. 絶賛 • Wordpressで作られているメディアをサービス 拡⼤のためにRailsでフルリニューアル中 • Ruby on Rails 5.2.1 •

    ActiveStorage • Vue.js (webpack without webpacker) • GKE(k8s)
  55. ⽕曜⽇にAsakusa.rbに⾏ったら… • RailsGirlsの話したり、スライドの相談したり • みんな相談したりもくもくしたりしてた • 緊急度低いけど解決したいネタが結構あるので もくもくしに⾏きたい • ブログにしたり、ネタもありそうなのでgem

    とかコミットに挑戦したい
  56. Asakusa.rbに ⾏こう!