生活発表@大江戸Ruby会議07
by
sinamon129
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
⽣活発表 @sinamon129
Slide 2
Slide 2 text
⾃⼰紹介 RiLi, inc. Chief Engineer RailsGirls Tokyo 5-9th coach 7th organizer ͠ͳΜ @sinamon129
Slide 3
Slide 3 text
バス因⼦、転職する
Slide 4
Slide 4 text
Rubyコミュニティ との出会い
Slide 5
Slide 5 text
私とRubyコミュニティとの出会い • Rails Girlsのコーチに応募 • 知り合いとくにいない • 社会⼈2年⽬、Ruby/Railsな会社に戻ってきた時 • 「⼥性エンジニアが少ないことに対する違和感」 • プログラミング初めての⼈になら教えられる? • 勉強にもなりそうだし
Slide 6
Slide 6 text
豪華すぎるコーチ陣 • 顔合わせに⾏ったらなんか強そうな⼈がいっぱいいる • コミッタ・コントリビューター • 本書いてる • RubyはN年前から使ってます • 結構Asakusa.rbの界隈の⼈多い • 初回参加時のオーガナイザーは@youchanさん
Slide 7
Slide 7 text
飲みに⾏ってるのに混じった • RailsGirlsは2⽇開催 • 1⽇⽬終了後に、@amatsudaさんが飲みに⾏く⼈ を募っていた • @emorimaさん・@yuki24さん・@yotii23さん • Rubyコミュニティについて知る • 後⽇、kaminariのリポジトリをみてびびった
Slide 8
Slide 8 text
ところで Asakusa.rbはつよそう
Slide 9
Slide 9 text
なんで強そうか • Asakusa.rbに対するイメージ • Rubyつくってたりgemつくってたり、何かに コントリビュートしてたり、その辺りの深く て濃い話をしている • ⾃分とは次元が違う(理想的) • 今⽇発表するのもめっちゃびびってる
Slide 10
Slide 10 text
尊敬・かっこいい
Slide 11
Slide 11 text
今⽇はそういうかっこいい ⼈たちがたくさんいるので
Slide 12
Slide 12 text
強くないRubyistによる ⽣活発表
Slide 13
Slide 13 text
⽣活発表 3本⽴て♬ エンジニアやるぞ のきっかけ 好きなことで、⽣きていく そうだ、Aasakusa.rbに⾏こう!
Slide 14
Slide 14 text
エンジニアやるぞ の きっかけ
Slide 15
Slide 15 text
⼤学⽣のころのはなし • 3年⽣ つくばに住んでいました • プログラミングはちょっと(授業・サークル) • インターンでチーム開発ちょっとかじった • 知⼈が⼿伝ってたサービスを⼿伝うことに • 暇だし、おもしろそうだった • メディア+ログインなしのユーザー投稿
Slide 16
Slide 16 text
初期リリース(夏) • 企画(1⼈)開発3⼈(みんな学⽣) • 最初の分担 • Aさん:サーバサイド • Bさん(知り合い):フロント • Bさんの担当部分をお⼿伝い • サーバ直編集(悲劇の上書き合戦)
Slide 17
Slide 17 text
少しメディアに取り上げられたり • 需要期が数ヶ⽉先にある • サーバ直編集(git未使⽤)・⽣PHP • 書き直すことが決まる • サーバサイド:私とBさん • フロントエンド:Aさん • CakePHPのドキュメントを舐めるように⾒てなんとか書く • 初めての分厚めフレームワーク
Slide 18
Slide 18 text
LoadAverageがこんなに⾼いわけが… • 12⽉、リリース • さくらVPSの2Gサーバ(たしか) • ⾒れない・レスポンスが遅い • 習いたてほやほやのtopコマンド • 「やばい、攻撃されてる!!!!!」 • ただの⾼負荷 • DB同梱・DBにindexなし
Slide 19
Slide 19 text
砲撃予告 • 某W●Sに出るらしい • うち、テレビないんだけど… • サーバを8G(当時の最⼤スペック)のに「⽴て直し」 • DB同梱() • 放映⽇【前⽇】に徹夜で設定 • 当⽇は朝から東京に出て、就活の⾯接x2
Slide 20
Slide 20 text
徹夜で⼤事な設定は危険 • 「お名前.comのページが⾒える」っていわれる • そういえば… • お名前.comでネームサーバの設定を「初期設定に戻す」を 押した記憶がなくもない • 当時の予想できる状況 • 設定中に何を思ったのか初期設定に戻すをおす->設定で きたと思う(古いサーバにつながったまま) • ⾯接と⾯接の間にもう⼀回ファミレスで設定
Slide 21
Slide 21 text
いざ、テレビに出るぞ • GoogleAnalyticsとサーバにsshして待つ • GAのリアルタイムがいきなり1万とかになる • !!!サーバが⼀瞬で死ぬ!!!
Slide 22
Slide 22 text
No content
Slide 23
Slide 23 text
サーバってどうやったら落とさないで済むの • AWSにすればいいと聞いて • 2回⽬の需要期は、フルスクラッチで書き直して AWS • 普通に落とした • 結局⼤学卒業までサーバを落とさずに済んだことは なかった • 経験を積んでなんとでも落とさずに守り切りたい
Slide 24
Slide 24 text
いいこともたくさん • SNSからの流⼊が多く、ユーザーからのいい反応がみれた • サーバ落ちてるとサーバ担当しっかりしろって⾔われる • テレビ・まとめサイトなど流⼊経路ごとのアクセス傾向 • (コンテンツが良かったので)プログラム⾃体は複雑では なかったが、多くの⼈に使ってもらえた • ⾯接にこの話したら⼤体どうにかなって楽だった←
Slide 25
Slide 25 text
この⼀連の流れから
Slide 26
Slide 26 text
エンジニアとしてもっとやりたい • 安定運⽤できるアプリケーションを作りたい • インフラ・設計・アプリケーション • とりあえず落とさない(機会損失悲しい) • 使ってもらってフィードバックが返ってくるのとてもう れしい • 難しくなくても⼈に便利に使ってもらえる • みんなで作るの楽しい
Slide 27
Slide 27 text
余談 • 社会⼈になって安定稼働できるようになった • Railsでフルスクラッチで書き直し • インフラも設定しなおし • 当時⾜りなかったもの • メトリクスを⾒て考えて改善すること • (その他沢⼭あるけど)
Slide 28
Slide 28 text
何気なしにやったことが ⼈⽣に⼤きな影響になることが たまにあるから⾯⽩い
Slide 29
Slide 29 text
好きなことで、 ⽣きていく
Slide 30
Slide 30 text
最近Twitterで • 勉強とか育つとか • エンジニアはこうすべきみたいなのが乱⽴ • すきにやればいいやん
Slide 31
Slide 31 text
⾃分はこういう考えで こういうことやってきた
Slide 32
Slide 32 text
前提(私のことを知らない⼈への⽂脈提供) • 得意なこと • コミットメント(当事者意識) • 苦⼿なこと • 緊急じゃないことをやること • 抽象度が⾼いこと • 別ドメインのコンテキスト切り替え
Slide 33
Slide 33 text
好きなことで ⽣きてる
Slide 34
Slide 34 text
弊社(RiLi)について
Slide 35
Slide 35 text
学⽣時代から • 洋服や⼥性向けメディアが好き • 「⽬指すはプリ機」 • ユーザーはギークじゃない • 技術より体験を推している • 技術が詰まっている
Slide 36
Slide 36 text
職歴? • 事業会社 • エンジニアとして⼒をつける • エンジニアが事業企画できる • フリマアプリ(⼥性向け->ファッション->オールジャンル) • エンジニアとして⼒をつける • ファッション・⼥性向け • メディア&EC(now) • ファッション・⼥性向け&⽬指すところ
Slide 37
Slide 37 text
好きな事業領域 だから 夢中にできた
Slide 38
Slide 38 text
検索改善 • 検索ログデータの集計レポートを勝⼿に上げてた • 検索改善チームが⽴ち上がった • KPIが⾒えるダッシュボードをRailsで作る • 独⾃辞書作成・ロジック変更 • Elasticsearch ・ searchkick • このネタで2つぐらい登壇 -> 現職社⻑との遭遇
Slide 39
Slide 39 text
検索改善からの • Elasticsearchサーバの⾼負荷で荒ぶるのと戦う • 専任のインフラエンジニア不在の世界線 • 突然の死によるサーバ⽴て直し多発 • Elasticsearchについて情報を収集するように
Slide 40
Slide 40 text
深夜メンテ・負荷対策・バグ退治 • サービス愛 • 安定して使ってもらいたい気持ち • 深夜メンテへの憧れからのメンテスタメン化 • 問題の切り分け⽅を学ぶ • とりあえず数問題(負荷・バグ)と当たる • 1番にバグ原因を特定する競争(脳内)
Slide 41
Slide 41 text
⼤変なことを乗り越えることは⾎と⾁に • イレギュラーを知ることで実装時に考慮できる • 実装範囲外のコードリーディング • サーバ・ライブラリ等の挙動の把握
Slide 42
Slide 42 text
勉強しようってやるのは苦⼿なので • 興味があることを掘り下げる・やりたいと宣⾔する • 需要と供給のマッチする部分 • 緊急度が⾼いしやらないとサービスに損害が出るの で逃げられない状況を必死にやる • バージョンアップ・⼤型改修等の⾃分の⼤変に⾒え ることをやる • メンバーになる->慣れたら主導で進める
Slide 43
Slide 43 text
今楽しいのは… • 趣味でみてるものを誰がどのように作ってるのか⾒れる • メディアに出てこない部分 • 好きなもののデータが⾝の回りに落ちてる • どうやって調理しようかな • 会社の⼈が作るものが好き!! • ⾃分には作れないものを作れる⼈に囲まれてる • 私はみんなが得意じゃないところで⼒になる
Slide 44
Slide 44 text
好きなことを仕事に するのはいいぞ!
Slide 45
Slide 45 text
No content
Slide 46
Slide 46 text
そうだ、Aasakusa.rb に⾏こう!
Slide 47
Slide 47 text
近況
Slide 48
Slide 48 text
社内で1⼈のバックエンドエンジニア まあ⾊々経験したし 昔よりはどうにかなるんちゃう?
Slide 49
Slide 49 text
転職前直近⼀年ぐらい • 仕様を⼝から吐くマン • 仕様をまとめ • 既存のロジックに何かを付け⾜す • コードレビュー • バグ直す • パフォーマンス周り
Slide 50
Slide 50 text
転職後 • システム設計 • Rails newからサーバデプロイまで • 久々のインフラ(初めてのDocker・k8s) • フロントエンドがスムーズに開発できる環境を 整える(初めてのwebpack・vue.js)
Slide 51
Slide 51 text
だいぶん変わった
Slide 52
Slide 52 text
今必要なこと • どこを守り・どこを攻め(投資)するか • しがらみはあまりない • スピードを出したい • できるだけ後で後悔する設計にはしたくない • やったことないことにチャレンジしたい • 事業拡⼤時に遭遇しそうなことを考えながら
Slide 53
Slide 53 text
緊急度の低いことへの投資の重要性 • 技術わかってないと選択できない • 事業のジャンル的にエンジニア採⽤苦労しそう • 戦略的技術広報 • エンジニアにとって魅⼒的な状態を意識する • 実装もドライブしたい • 最初ちょっと⼤変だけどあとで空気にしたい
Slide 54
Slide 54 text
絶賛 • Wordpressで作られているメディアをサービス 拡⼤のためにRailsでフルリニューアル中 • Ruby on Rails 5.2.1 • ActiveStorage • Vue.js (webpack without webpacker) • GKE(k8s)
Slide 55
Slide 55 text
⽕曜⽇にAsakusa.rbに⾏ったら… • RailsGirlsの話したり、スライドの相談したり • みんな相談したりもくもくしたりしてた • 緊急度低いけど解決したいネタが結構あるので もくもくしに⾏きたい • ブログにしたり、ネタもありそうなのでgem とかコミットに挑戦したい
Slide 56
Slide 56 text
Asakusa.rbに ⾏こう!