Akito Tametou
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 【IOMO】ペチトーーク ###### tags: `ぺちオブ` [【IOMO】ペチトーーク](https://phper-oop.connpass.com/event/170064/) :::info 目次 [TOC] ::: ## 参加者 ### 開催する人 * zima * hirodragon * kakiuchi * yukimasa * juriful ### オフライン * [ ] stmtk * [ ] ucan-lab ### オンライン * [ ] amapetas * [ ] わたさん * [ ] MasakiMurakami * [ ] kotori_t * [ ] philomagi * [ ] Siena. ## ハッシュタグ **`#ペチオブ`** ## テーマ ### リモートワークを普及させていくためにどうすればいいか @のむらや - リモートを普及するには - そもそもリモートをする意味って何? - メリット - 物理的な制約がなくなる - 採用や通勤など - 子供がいる人は送り迎えとかができる - 独り言が言える - 選択肢があるのは意義があるよね。天気悪い中の移動とか、体調悪い時の移動とか、それだけで体力を消耗して仕事にならなくなったりするし。 - 選択肢が広がる - 個人的な開発効率は上がる - リモート2週間やってますけど、生活に目に見えて余裕が生まれた - デメリット - コミュニケーションが不便 - 直接話せた方がコミュニケーション取りやすい - 業務効率が落ちる(業務以外の時間などは多く取れるが) - 自己管理できないのでw、リモート苦手な方かなー。 - 仕事と私生活の境目がなくなる。 - 教育はリモートでは難しそう - リモートが苦手な人は、無理せずリモートしない方が良さそうな気がする - 「選択肢を増やす」がキーになりそう - リモートを許さない、理解をしないという風潮は変える必要があります - リモートできてなかった会社は、普段は使わないとしてもリモートできる準備はしておくべき。 - いざというときに通勤を強要する非人道的な現場になるか、業務が破綻するかに陥るから。 - 結論:コロナの影響でこれから流行るかも - やるなら今 ### 頑張った結果、昔からある設計原則に落ち着いた、みたいな話 @philomagi - 頑張って考えても、結局過去に考えられたパターンに行き着くことが多い - 昔から残ってる知識はすごいよね。 - 逆に本に書いてあるからみたいな、盲目的に使うのはよくないよね - SOLID原則どれが一番重要?(推しはだれ?) | S | O | L | I | D | | - | - | - | - | - | | 3 | 5 | 0 | 1 | 3 | - 設計判断の重要性はO、モデリング観点での重要性はS、破ったら論外なのがL。 - DIPちゃんは目立たないけど、いざというときすごい気が効く娘なんですよ!! - 最近Oにお世話になってるので - Lは確かに場合によっても許されないと思ったけど、あんまり継承しないから選ばなかった - SとDは、むしろ一番スポットあたってるイメージw - Oを達成するために他の原則がある。 - DIPでしょDIPなかったらインタフェースいらないくらい大事 - クラス階層と型階層を同一視する場面ではL必須。それを一致させなくてよい特殊な場面に限って言えばLは任意。かな。Lが前提になると言う意味で重要には同意。 ### コミットメッセージをどんな感じで書いているか聞きたい @yuki - 英語でかけそうなら英語、わからなかったら日本語。 - なるべく英語では書いているけど、表現しにくかったりする時は日本語で書く - ターミナルで書く時に日本語で書きにくいから - そもそも読めない環境もあるので - 「add: XXXX機能を追加」しか書いてない - 英語で書いてたけど、ちょっと前から日本語に統一しました - github(公開ライブラリ) にあげる場合は海外の人にも使ってもらいたいので英語。仕事ならみんな日本人だから日本語でいいんじゃない? - 結局見るのはプルリクだから、そこまでコミットメッセージになこだわらなくていいんじゃない? - 最近は conventional commit + commitlint 推しです - [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) - [commitlint](https://github.com/conventional-changelog/commitlint) - 英語で読みづらくなるくらいなら日本語 - なるべく英語で。MBCS使えないコンソール作業とかを考えると、日本語よめなくてなく ;_; - add header とか英語です - 妥協案。1行目サマリは英語。 空行はさんで、3行目以降は日本語。というのはあり。英語読まない人も少なくないし、自分もめんどうなので。カテゴリプレフィックスは有能。 - gitのコミットのチーム方針にもよる - issueのタイトルと同じにしたい - ローカルのコッミットメッセージはなんでもいい - isuueがわかるように - 絵文字prefixの人も - [Gitのコミットコメントを絵文字Prefixにして楽しく開発する - Qiita](https://qiita.com/mfks17/items/e68adc058e1a9e519807) - 絵文字は、意図が正しく伝わらなくなりやすいと感じるので、やだなー - 自分の居るチームでコミットメッセージを読んでる人、そもそもそんなに居なさそう・・・ - [Gitのコミットメッセージの書き方 - Qiita](https://qiita.com/itosho/items/9565c6ad2ffc24c09364) - コミットメッセージって本でいう目次なんだなって思いました - 1行目に要約、3行以降にに詳細。は有用。あと、チケット番号とかURIも入れておくとよい。 - チケット番号は、conventional commit とセットでくっつけてますね。後からの追跡可能性が段違い - 規模の大きい開発ではコミットのルールが大切。 - ビルド通らなくてもコミットすることはあるよ - わかるように目印を付けて - ローカルでは作業メモのようにコミットしたりする - feat: #1234 うんたらみたいな書き方してます - 開発中のセーブポイントみたいな感覚でローカルではコッミットする - ローカルではissueを細かく分けて達成すればコミット、最後にまとめてリモートにあげる - コミットは最後の最後にする。めんど臭いから。 - 私もテスト通るまでコミットしないから、コミット少なくなりがちですね。 - 新規作業はブランチ切って、broken commit する時はそこから更にブランチ切って分岐しまくる派。失敗と分かったブランチごと、ぽいしたりする。 - リスクヘッジのために毎日どんな粒度でもいいからpushする運用にすれば安全かも? - リモートワークのときには作業の共有にもできるかも - masterに混ぜるときにmergeかrebaseか | merge | rebase | push(featureブランチなしw) | | - | - | - | | 3 | 5 | 2 | - pushしようとして、競合した時pull(merge)なのかpull --rebaseなのかで判別できそう ### DDDの導入的な話を聞きたい @しばてぃ - チームでDDDやってる?なってない? - YES: 4 NO:5 - DDDはちゃんと出来てないけど、DDDに触れた事で少なからず自分のモデリング能力は上がった(と思いたい)ので、加えてDDD戦術だけ取り込んでても、DDDに触れる前の設計と実装よりはマシになった。はず。 - ユビキタス言語を見つけてドメインモデルを得て、それをコードに落とし込むをやってるかと言うと、全く出来てないです。 - チームでDDDやっているという合意はないが、パターンは勝手に持ち込んでる。一応のドメイン層を機能によっては持とうとしている。 - どうやってDDDが取り組める環境になったのか - 設計しないと後が辛いという話をメンバーにした。 - まず自分が実際にコードで書いて、布教した。 - DDDを実際やっている会社に入る。 - 言って共感してもらえなければ、 チームポリシに反しない範囲で 草の根で実践して、価値を理解してもらうのが結果的には近道になるよに思う。価値を認めてもらえるところまで行くと、トップダウンに展開する道が開ける。よに思う。 - 草の根で実践となると、やっぱりDDDの戦術部分を持ち込むことになりますよね?その場合、フレームワークのスタイルからの逸脱が必要になると思うので、最初の1歩がすごく難しそう。 - DB構造が、利用者のメンタルモデルとほぼ一致しているなら、scaffold の自動生成で問題は少ないので、開発コストを考えるとあり。 ### ICONIX やDDD が知りたい @wata - DDDってそもそもなに? - モデル(ドメインモデル)をベースにして、コードに落とし込む - ドメイン(実際の業務)をコードに反映したい - モデルとのギャップがない実装にしたい - 戦術的設計は、ドメインモデルの設計手法ではなく、構築したドメインモデルをドメインオブジェクトとして実装するための方法の一つに過ぎない感がある。ドメインモデルの設計手法については、ほとんど何も語っていない。ここは、オブジェクト指向方法論とか概念的モデリング手法とかの領域になっているのが現状であるように思える。 - 「ドメインから駆動しよう」「そのためにモデルと実装を一致しよう」「一致させるためにこういう実装テクニックが有効だよ」みたいな流れだと思ってます。 - 戦術的設計というか実践上のパターンはDDDの本質とは大きく距離があるよね。ドメインを隔離してドメインに集中しやすくするための手段としては有効ではあるけれど。 - ドメインを実現するためのモデル(=ドメインモデル)と、その実装を対応させる + ドメインモデルによって、開発者に閉じない相互会話を実現するがDDDのコアだと思ってます - 開発者に閉じないって何? - 利害関係者一同で同じ目標を共有する、というのがDDDの肝。そのための、モデル・コード一致という手段があり、ユビキタス言語だと思ってる。モデル・コード一致は、手段でしかない - 技術者同士だけじゃなくて、コードが読めない人でもわかる。ドメインモデルによって。 - ドメインモデルがあることによってコードが読めない人でもシステムがどうなっているのかがわかる。 - そのための、モデル・コード一致という手段であり、ユビキタス言語だと思ってる。 - DBを共有する3つのシステムと2つのチームという状況なので、開発者の間の対話の為だけでもドメインモデル欲しいなぁと思ってます。 ## 名言 「宵越しのブランチは持たない」 「高度にコードに落とす」 「論よりコード」 ## アンケートのご記入をお願いします!! 今後の参考にしたいので以下よりアンケートの記入をお願いします!! ↓↓↓↓↓↓ **[アンケートの記入](https://docs.google.com/forms/d/1aC9TbsifEeG_y75gY2ttiTCb2iHqTqBBOyTftyT-BCw/edit)**

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully