$30 off During Our Annual Pro Sale. View Details »

『esmメンバーの関心事_開発手法と開発環境編』/esm_member_concern.pdf

 『esmメンバーの関心事_開発手法と開発環境編』/esm_member_concern.pdf

color_box

July 14, 2018
Tweet

More Decks by color_box

Other Decks in Technology

Transcript

  1. View Slide

  2. 提供

    View Slide

  3. View Slide

  4. 会社紹介
    ● Rubyとアジャイルソフトウェア開発を軸にし
    た受託開発を生業とした事業部です
    ● 2006年からRailsを用いた開発を行い今年
    で12年になります
    ● Rails Developers Meetup 2018 Day1 で
    は進行スポンサーでした

    View Slide

  5. ランチスポンサー

    View Slide

  6. 食事後のゴミ

    View Slide

  7. メンバー紹介
    沼田 周(@swamp09)
    新卒入社2年目
    小林 純一(@junk0612)
    新卒入社3年目
    眞嶋 健太郎(@colorbox)
    中途入社2年目

    View Slide

  8. ● 開発手法編を@junk0612がお話ししま
    す。
    ● メンバーが大事にしている哲学を熱く語っ
    てくれると思います!

    View Slide

  9. ● 開発環境編を@colorboxがお話ししま
    す!
    ● ハードウェアの話ではなくソフトの話
    ● どんな秘伝のタレがあるのか…楽しみで
    すね!

    View Slide


  10. View Slide

  11. View Slide

  12. 自己紹介
    ● @junk0612 (小林 純一)
    ● Rails プログラマー
    ● 音ゲーマー / ボードゲーマー

    View Slide

  13. View Slide

  14. アジャイル事業部
    永和システムマネジメント
    アジャイル事業部は、
    Rubyとアジャイルに関連する
    技術力を更に先鋭化させ、
    業界にとって必要不可欠な
    存在となるため、
    より専門性を高めた組織です。

    View Slide

  15. アジャイル事業部
    永和システムマネジメント
    アジャイル事業部は、
    Rubyとアジャイルに関連する
    技術力を更に先鋭化させ、
    業界にとって必要不可欠な
    存在となるため、
    より専門性を高めた組織です。

    View Slide

  16. いろんなアジャイル
    ● Scrum
    ● リーン開発
    ● Kanban
    ● モダンアジャイル
    ● etc.

    View Slide

  17. https://agile.esm.co.jp/news/2016-09-01-business-plan-37th.html

    View Slide

  18. View Slide

  19. エクストリームプログラミング
    (eXtreme Programming: XP)

    View Slide

  20. ● Kent Beck が自らの経験に基づくノ
    ウハウをまとめて本にしたもの
    ● 5つの価値
    ● 14の原則
    ● 19のプラクティス
    エクストリームプログラミング
    (eXtreme Programming: XP)

    View Slide

  21. ● XP は「ソーシャルチェンジ」
    ● XP の目的
    ● 「注意して、適応して、変更する」
    印象に残ったコンテンツ

    View Slide

  22. ● XP は「ソーシャルチェンジ」
    ● XP の目的
    ● 「注意して、適応して、変更する」
    印象に残ったコンテンツ

    View Slide

  23. 『エクストリームプログラミング
    (XP) はソーシャルチェンジ
    である。』
    (第1章「XP とは何か」より)
    XP は「ソーシャルチェンジ」

    View Slide

  24. ● 以前はうまくいっていたかもしれないが、今では最高の仕事の邪魔に
    なっている習慣やパターンを手放すこと
    ● これまで自分たちを守ってきてくれたが、今では生産性の妨げになっ
    ているものを捨て去ること
    ● 自分たちのできることをオープンにして、それを実行に移すこと
    ● そのことを他の人にも認めたり、期待したりすること
    ● 「自分は頭がいいんだから、ひとりで上を目指せばいい」などという未
    熟な思い込みを捨てること
    ● ビジネスや仕事も含めたコミュニティーの中で、自分の居場所を見つ
    けること
    ● 自己超越のプロセスのこと
    ● そのプロセスのなかで、開発者として最善を尽くすこと
    ● ビジネスのためになる優れたコードを書くこと
    XP は「ソーシャルチェンジ」

    View Slide

  25. XP は「ソーシャルチェンジ」
    ● 自分の実力を知り、その中で
    最善を尽くし成長すること
    ● 優れた技術力と良好な人間関係を
    両立させること

    View Slide

  26. XP は「ソーシャルチェンジ」
    ● 自分の実力を知り、その中で
    最善を尽くし成長すること
    ● 優れた技術力と良好な人間関係を
    両立させること

    View Slide

  27. ● XP は「ソーシャルチェンジ」
    ● XP の目的
    ● 「注意して、適応して、変更する」
    印象に残ったコンテンツ

    View Slide

  28. 『エクストリームプログラミング (XP) の目的は、圧倒
    的なソフトウェア開発の実現である。ソフトウェアは、
    もっと安いコストで、もっと少ない欠陥数で、もっと高
    い投資効率で、開発することができる。』 (第2版「は
    じめに」より)
    XP の目的

    View Slide

  29. ● Kent Beck が自らの経験に基づくノ
    ウハウをまとめて本にしたもの
    ● 5つの価値
    ● 14の原則
    ● 19のプラクティス
    エクストリームプログラミング
    (eXtreme Programming: XP)

    View Slide

  30. ● Kent Beck が自らの経験に基づくノ
    ウハウをまとめて本にしたもの
    ● 5つの価値
    ● 14の原則
    ● 19のプラクティス
    エクストリームプログラミング
    (eXtreme Programming: XP)


    て圧


    なソフトウ
    ェア






    ため

    View Slide

  31. ● XP は「ソーシャルチェンジ」
    ● XP の目的
    ● 「注意して、適応して、変更する」
    印象に残ったコンテンツ

    View Slide

  32. ● 道路の真ん中を走って
    地平線を目指す
    ● あっちに行ったら少し戻して、
    こっちに行ったら少し戻す
    運転のメタファー

    View Slide

  33. ● 道路の真ん中から外れる (フィード
    バック)
    ● 戻すためにはハンドルを切ると判断
    する (適応)
    ● 実際にハンドルを切る (変更)
    フィードバックループ

    View Slide

  34. ● 普段人間が自然に行っていること
    を自然にやるだけ
    ● ただし「エクストリームに」
    注意、適応、変更

    View Slide

  35. ● アジャイル事業部の
    「アジャイル」とは「XP」
    ● XP は「ソーシャルチェンジ」
    ● 経験を積んでちょっとだけ
    分かるようになった
    まとめ

    View Slide


  36. View Slide

  37. dotfiles探訪

    View Slide

  38. 自己紹介
    ● @colorbox
    ● 仕事でRuby on Rails
    ● 趣味でiOSやRailsや機械学習

    View Slide

  39. dotfilesを
    使っている人

    View Slide

  40. dotfilesとは

    View Slide

  41. dotfilesについて
    ● 設定ファイル
    ○ .zshrcや.vimrc
    ● 設定ファイルをまとめたリポジトリ
    ● ワンコマンドでセットアップ
    ● エンジニアの道具箱

    View Slide

  42. エンジニアの
    道具箱
    https://www.gizmodo.jp/2008/12/post_4745.html

    View Slide

  43. dotfilesを
    GitHubに
    pushする

    View Slide

  44. ● 自分のため
    ○ バックアップ、環境間の同期、リストア
    ● 他者から学ぶため
    ● 知識の共有
    GitHubに置く理由
    https://medium.com/@webprolific/getting-started-with-dotfiles-43c3602fd789

    View Slide

  45. 改善を通して
    コミュニティ
    とつながる

    View Slide

  46. アジャイル事業部
    のdotfiles

    View Slide

  47. ● 興味深い記述
    ● 学んだ記述
    ● よく見る記述
    弊事業部のdotfiles

    View Slide

  48. View Slide

  49. git
    ● alias g=git
    ○ 定番中の定番
    ○ かなり多い

    View Slide

  50. .gitconfig
    ● co = checkout
    ● ad = add
    ● st = status
    ● br = branch
    ● df = diff

    View Slide

  51. ● 主流は二文字
    ● 省略の仕方に個性が出る
    .gitconfig

    View Slide

  52. ● ci = commit
    ● cm = commit
    .gitconfig

    View Slide

  53. ● br = branch
    ● b = branch
    .gitconfig

    View Slide

  54. ● オプションによる使い分け
    ● commitやbranchに多い
    .gitconfig

    View Slide

  55. ● cm = commit
    ● ca = commit --amend
    .gitconfig

    View Slide

  56. ● br = branch
    ● bra = branch -a
    ● brd = branch -d
    ● brm = branch -m
    .gitconfig

    View Slide

  57. ● Rails開発の頻出gem
    ● 省略パターンが多数
    Bundler

    View Slide

  58. ● alias bi='bundle install'
    ● alias bu='bundle update'
    ● alias be='bundle exec'
    ● alias bo='bundle outdated'
    Bundler

    View Slide

  59. Bundler
    ● alias bi='bundle install'
    ● alias bu='bundle update'
    ● alias be='bundle exec'
    ● alias bo='bundle outdated'
    ○ 新たなコマンドを知るきっかけ

    View Slide

  60. peco
    ツールの応用

    View Slide

  61. ● 使用者が多い
    ● マネしたい応用例
    peco

    View Slide

  62. ● Gemfile内のgem一覧を出力
    選択したgemのパスに移動
    ● rakeタスク一覧から
    選択したタスクを実行
    ● ブランチ一覧から
    チェックアウト対象を選択
    ● ブランチ一覧から
    削除ブランチを選択
    peco

    View Slide

  63. デモ

    View Slide

  64. View Slide

  65. ● ツールを知るきっかけ
    ● dotfilesでツールと出会う
    ツール

    View Slide

  66. ● .agignore
    ● ag(The Silver Searcher)
    ○ 文字列検索を行うソフト
    ツール

    View Slide

  67. ツール
    ● tmux.confから
    ● tmux
    ○ 端末多重化ソフト

    View Slide

  68. ツール
    ● rcrc
    ● rcm
    ○ dotfilesのデプロイ支援

    View Slide

  69. リポジトリ構造から
    考え方を知る
    ディレクトリ構造

    View Slide

  70. ディレクトリ構造
    ● 設定ファイルの分割
    ○ 履歴、ミドルウェア
    ● 分割統治

    View Slide

  71. ● 同僚のdotfilesから学ぶ
    ○ ツール、コマンド、考え方
    ● 道具箱のアップグレード
    ○ 応用方法、意外な使い方
    まとめ

    View Slide

  72. 自分のdotfiles
    をGitHubに
    pushしよう

    View Slide


  73. View Slide

  74. View Slide

  75. 入社特典

    View Slide

  76. 顧問2人
    @kakutani @amatsuda

    View Slide

  77. カンファレンス参費、旅費
    を全額補助

    View Slide

  78. 備品をある程度自由に買える
    iPad(9.7インチ)とApplePencil
    Ergo Dox EZ

    View Slide

  79. アプレンティス制度
    ● 若者一人に対してベテラン一

    ● 上司との1 on 1とは別に技術
    的な相談ができる

    View Slide

  80. We are hiring!

    View Slide

  81. 提供

    View Slide