はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    参議院選挙2025

『qiita.com』

  • 人気
  • 新着
  • すべて
  • 副作用と参照透過性と冪等性を理解して、テストでドメインを磨く - Qiita

    8 users

    qiita.com/suzuki-hoge

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    • テクノロジー
    • 2020/05/03 08:58
    • テスト
    • 技術
    • programming
    • design
    • 失敗の表現方法を考える - Qiita

      3 users

      qiita.com/suzuki-hoge

      自分の考えをまとめる用。 ドメイン層の設計を行う際に、いかに実態に即した失敗表現に出来るかを考えます。 まず NullObjectPatternについてはこちらの記事で考えをまとめてみました。 このポエムはそれに加えて、DDD的な面を加味してみたり、別の方法を考えてみたりするまとめです。 以前DDDをHaskellで考える 失敗を表現するという記事を公開しましたが、 これはHaskell力が低いのと、DDD力が低いのと、失敗に対する持論とHaskellでの実現法がごっちゃになってしまっていたところが少し残念だったので、改めてまとめてみました。 まとめ直しはしましたが、この中で触れている「業務ロジック都合で発生する失敗」と「システム都合で発生する失敗」については今でもまったく持論はぶれていません。 お題 例によってテキトーなお題を用意して、テキトーなコードを書きます。 今回は「名前と年齢から

      • テクノロジー
      • 2020/04/02 01:09
      • アジャイル / スクラム / チーム開発の[不吉な匂い]まとめ - Qiita

        21 users

        qiita.com/suzuki-hoge

        アジャイル / スクラム / チーム開発の[不吉な匂い]まとめ まずはポエム やることを考えて自力で実現できるスキルがあれば良い。何か一芸に秀でていればやり方を決めたりはそこそこ好き勝手できるし、自分のやったことに満足したら自分だけは気持ちよく帰れる。って思ってた。 時間外に月何十時間あるいは百数時間コーディングしたり、先輩に昼夜問わずコードを送りつけて見てもらったり、中途採用者のために用意してある受入課題を一人で何回もやり直したりと、あほみたいなことをやっていた。 事実それで設計とコーディング作業の生産性は数倍、数十倍になってきた。 けど、どうもイケてるってのはそれだけじゃあないらしい。ある時期急にそう思った。(遅い) 話してみると、(少なくとも僕の先輩たちのいくらかは)イケてる集団を作れる奴がイケてる奴って考え方らしい。(曲解拡大解釈誇大表現含む) はじめに せっかく Engineer

        • テクノロジー
        • 2018/12/13 11:37
        • agile
        • スクラム
        • scrum
        • 開発
        • Work
        • Saved For Later
        • development
        • まとめ
        • zshの補完を自作してFabricのタスクを補完する - Qiita

          3 users

          qiita.com/suzuki-hoge

          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

          • テクノロジー
          • 2018/11/01 17:33
          • GitHub の Issue Template を複数設定して使い分ける - Qiita

            25 users

            qiita.com/suzuki-hoge

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

            • テクノロジー
            • 2018/05/10 17:59
            • github
            • Issue
            • テンプレート
            • qiita
            • あとで読む
            • 会社でフロー図を書こうと思って PlantUML と mermaid.js を比べてみる - Qiita

              17 users

              qiita.com/suzuki-hoge

              ずっと PlantUML でクラス図を書いてきたけど、書きたいフロー図が PlantUML で書けなかったので mermaid.js を触ってみた。 会社に導入するって観点で比べてみる。 PlantUML は結構な量書いたので慣れているけど mermaid.js は数日触ってみた程度なので、理解度が違うのは勘弁で。 概要 サイト紹介とサンプル紹介 PlantUML 公式サイト .pumlというファイルを書いて描画させるとこんな図になる クラス図 シーケンス図 アクティビティ図 他にもステートマシン図とかユースケース図とかも書ける mermaid.js 公式サイト .htmlファイルを書いて描画させるとこんな図になる クラス図 フローチャート 他にもガントチャートとかも書ける 出来ること 実用する際に融通が利きそうなこと、ネックになりそうなこと PlantUML 提供されている図はどれも結構

              • テクノロジー
              • 2018/04/24 09:22
              • PlantUML
              • UML
              • js
              • javascript
              • 同じテーブルの値でも違うクラスを用意すると良い感じ - Qiita

                8 users

                qiita.com/suzuki-hoge

                基本的にはこの形だけど提供しているサービスの数だけ操作履歴があって、例えば会員情報更新とか追加備品購入とかいろいろある。 毎度毎度これらを正しく更新するのは極めて難しいので、ある程度の親クラスを用意しつつコンパイルのパワーを受けたい。 まとめ 基本方針 設定値ではなく専用クラスや専用メソッドを用意することで設定値自体をなくす 変数名がシンプルでも大丈夫な様に考える 同じ型の変数が同じスコープに存在しないようにする やばそうな予兆 メソッドに同じ型の引数が複数ある とりあえず親クラスを作る 間違ってメソッドに渡してもコンパイルが通るから それを防ぐにはinstanceofとかでキャストをすることになるけど、それも微妙 利用中会員と退会済み会員の親に会員を作るとかもよくあるパターンだけど辞めた方が良い 変数名で用途を伝えようとする 設定値が多い 対処 仕様毎にどんどんクラスを作る そんなのした

                • テクノロジー
                • 2017/12/26 12:44
                • 設計
                • あとで読む
                • 副作用ってなんだ? 〜楽に小さく単体テストをしよう〜 - Qiita

                  8 users

                  qiita.com/suzuki-hoge

                  副作用ってなんだ? プログラミングにおける副作用(ふくさよう)とは、ある機能がコンピュータの(論理的な)状態を変化させ、 それ以降で得られる結果に影響を与えることをいう。代表的な例は変数への値の代入である。 wikipedia より つまり? (ざっくり言うと)同じ様に呼び出しても同じ結果が返ってくるとは限らない処理のことです 何が悪いの? 単体テストがしづらい!! (以後、この記事ではJUnitの様なテストフレームワークによるソースコードの自動テストを単体テストと言います) 他にも色々面倒を引き起こします テスト環境で評価するのが面倒だったり出来なかったりすることが多い 開発コストがかさむ 改修範囲の特定が難しかったり、切り分けが出来なかったりする サンプル見せてよ このクラスを単体テストしたいと思ったけど無理っぽいぞどうしよう、という想定です @AllArgsConstructor p

                  • テクノロジー
                  • 2017/08/07 14:35
                  • test
                  • Optionalをうまく使えないエンジニアをEitherとFor式まで一気に連れて行くエクササイズ - Qiita

                    12 users

                    qiita.com/suzuki-hoge

                    どうも、失敗系モナドが大好きな人です。 OptionとEitherのFor式を紹介するために、ステップを踏んだ演習を考えてみました。 折角考えてみたのできれいにまとめて公開してみようかと思います。 この記事はなに? だれ向け? 普段Javaを書いていて、Optionalをなんとなく使っている後輩達を想定して最初は考えました。 「Java8?よくわからないけど、nullはOptionalにすれば良いのね?」 って理解でnullチェックをisPresentに変えただけの人!いませんか? OptionalをifとisPresentでの条件分岐に使っている様な人は、是非読んでもらいたいです。 他に、Scalaを触ってみたことがある人、触ってみようと思っている人や、Haskellをちょっと触ったことがあるよ、という人も是非目を通してみたください。 この記事ではScalaのOption, Either

                    • テクノロジー
                    • 2017/05/11 17:47
                    • Scala
                    • java
                    • programming
                    • 失敗を表現する手法としてNullObjectパターンが不適切でEitherが適切だと思う理由 - Qiita

                      50 users

                      qiita.com/suzuki-hoge

                      真面目な気分出して書いていたらすごい長くて堅苦しくてもったいぶった感じになってしまった... この記事の9割は壮大な前置きですw なにこれ 失敗の表現としてNullObjectパターン(以下楽なので勝手にNOPとします)を使うべきか議論をした際に論理立てて話せなかったので、 持論整理をしてついでにこの場を借りて晒してみようと言う記事です。 全ての状況において必ずEitherだ!と言うよりは、議論になったら僕はこう考えてますって言うためのポエムです。 DDD的な考えも少し この記事は実装都合のみに閉じていますが、DDD的な観点からも考えてみたことがあるのでこんな記事も書いてみました。 先に結論 前置きではない1割の部分だけ先出します。 それで「あ、そうか」とか「は?」とか思える人は以下の長大な前置きは不要ですw NOPは成功と失敗を区別しようとすると破綻する、けど区別したい事が珍しくない。

                      • テクノロジー
                      • 2017/03/27 11:53
                      • デザインパターン
                      • null
                      • programming
                      • 設計
                      • DDD
                      • プログラミング
                      • あとで読む
                      • コミットは作業ログではない! - Qiita

                        52 users

                        qiita.com/suzuki-hoge

                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? いきなりだけど、こんなコミット、よく見ない? (例1とする) 見た瞬間に腕まくりして修正依頼と理由を書き出したくなっちゃう感じ! これが良くない理由を、持論だけど挙げてみるよ このコミットについて コミットは作業単位でするものではない プルリクエスト(以下 PR)をレビューする側に立って考えるとよくわかるのだけど、 PRレビューをする人が欲しているのは(= masterブランチが欲している、チームが欲していると言っても良い)作業者の作業ログではない。 レビューする人にとって、そのPR作成者が「どれくらいの時間をかけた」とか「休日もコミッ

                        • 暮らし
                        • 2017/02/20 16:43
                        • git
                        • コミット
                        • レビュー
                        • あとで読む
                        • development
                        • tips
                        • GitHubで差分を見る時にPlantUMLを描画させる - Qiita

                          7 users

                          qiita.com/suzuki-hoge

                          PlantUMLでいろんな図を書いているのですが、GitHubのPullRequestで差分として表示されるPlantUMLはただのテキストにしか見えないのでレビューし辛いです。 差分見る画面 いちいちブランチを手元に持ってきて、エディタで開いて図にしなければなりません。 なんか良い方法はないかと思い探してみたら、Chrome拡張がありました。 PlantUML Viewer 入れるだけです。 PullRequestの画面からファイルの画面まで行って、直接テキストで見るボタンを押す 拡張入れる前 入れた後 図だ!! らくちんだ 適当なファイルを僕のGitHubに置いてあるので、適当に試しに見てみるのにでも使ってみてください。 クラス シーケンス ステート

                          • テクノロジー
                          • 2017/01/16 15:24
                          • PlantUML
                          • chrome
                          • github
                          • 技術
                          • 資料
                          • コードに仕様書パスをコメントで書くのやめようよ - Qiita

                            10 users

                            qiita.com/suzuki-hoge

                            (まず追記) 自分たちで新たに作成する仕様書はMarkdownで記述してGitHubで管理しています。 こんなのも書いたくらいだし、そこは犯していないです。GitHubを中心とした開発プロセス ドキュメント管理 この記事内で言う仕様書とは、「エクセルで作られて共有サーバに置いてあるチーム管理外のファイル」を指します。 こーゆーの、良くあるよね? 見た瞬間「_2.xlsxってなんだよォ...このパス絶対古いんじゃあねェのー?」って思う感じのやつ。 ついでに仕様書のパスが長くって妙なところで改行入ってるおまけ付き。 こんなの見るとイラっとする! コピペしづらい そのパスに仕様書が実在するかわからん 実在するとして、開くのが面倒 ある1つの仕様書のパスが1箇所にコメントされていたら、あと数カ所はコメントがあると思う でもちょっと手入れされてたりで数箇所のコメントが同じ場所を指していないことが往々

                            • テクノロジー
                            • 2017/01/16 09:11
                            • development
                            • DDDをHaskellで考える 業務ロジックとシステムロジック - Qiita

                              8 users

                              qiita.com/suzuki-hoge

                              DDD初心者が拙いHaskellを使って色々考える試みです。 はじめに DDDは会社で見よう見まねで1年実践したけど、DDDの勉強はほぼ一切していないくらい。 Haskellは入門書をなんとか通読できたくらい、けど普段書いてないので全然馴染んでないくらい。 それくらいの奴が1年経ってやっと「ちょっとまじめに考えてみるかぁ」って思って考えたことをまとめる記事です。 記事の主軸はDDDなので、Haskellは読めなくても雰囲気だけ察してもらえると良いな、と思います。 また、Haskellを選んだ理由はこの記事を通して伝えたいと思います。 Haskellについて この記事を読むに当たり最低限必要なHaskellの文法を記載します。 僕がDDDを捉えるに当たり用いた考え方が一番含まれる点なので、まとめてみたいと思います。 参照透過性と副作用 Haskellには「参照透過性が常に保たれる処理」と「副

                              • テクノロジー
                              • 2016/12/07 21:10
                              • DDD
                              • Haskell
                              • programming
                              • GitHubを中心とした開発プロセス ZenHub - Qiita

                                5 users

                                qiita.com/suzuki-hoge

                                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? GitHubを中心とした開発プロセスのZenHub編です はじめに ざっくり言うとGitHubを拡張してRedmineやJiraの様に課題管理を出来る様にするchrome拡張のことだ! 紹介記事や導入記事はたくさんあるので、具体的な使い方を紹介してみようと思います 導入前後のキャプチャ ZenHub.ioからChrome拡張のインストールをするだけ するとこんなのや こんな機能が何やら増えている ZenHubを導入して一通り必要なことを設定するという想定で進めます [story] ストーリを作ろう ZenHubではIssueをストーリと

                                • テクノロジー
                                • 2016/07/08 14:37
                                • GitHub
                                • GitHubを中心とした開発プロセス 課題管理 - Qiita

                                  13 users

                                  qiita.com/suzuki-hoge

                                  GitHubを中心とした開発プロセスの課題管理編です [milestone] Issueの対応期限を明示する 適切な対応期限を設定して積み残さない様にしよう 使い方 ここからMilestoneの作成・編集が出来るぞ 開始日と終了日とタイトル、任意で説明を記述する 作ったMilestoneはLabelやAssigneesと同じようにIssueやPullRequestに設定できる Milestoneの一覧画面では、関連するものの数や、進捗を見ることが出来る Label等と同様にIssue一覧画面ではMilestoneでのフィルタリングも出来るので、Issue等の優先度を理解しやすくなるぞ [issue link, pull request link] IssueやPullRequestを紐付ける 関連するIssueやPullRequestは紐づけておこう どうして? Issueで議論をして、対

                                  • テクノロジー
                                  • 2016/06/29 15:42
                                  • github
                                  • GitHubを中心とした開発プロセス ドキュメント管理 - Qiita

                                    7 users

                                    qiita.com/suzuki-hoge

                                    GitHubを中心とした開発プロセスのドキュメント管理編です [readme.md] ドキュメントを管理する そのリポジトリに関するドキュメントはGitHubで管理してGitHubで閲覧したい どうして? 共有ファイルサーバにExcelってスタイルはOSの制約があったりするからイヤだ ソースとドキュメントは一元管理されるべきだと思うから ドキュメントもPullRequest等でレビューするべきだよ ドキュメントもバージョン管理したいよ 使い方 ルートのディレクトリにREADME.mdを設置する Markdownを書いてpushする この例はdoc/の様なディレクトリにある.mdファイルへのリンク集としてみた [github wiki] Wikiを管理する 管理ドキュメントが増えてきたらドキュメントをWikiにしよう 特徴 GitHub上でお手軽に作成出来る ブラウザで作ったWikiはgit

                                    • テクノロジー
                                    • 2016/06/26 16:04
                                    • app
                                    • github
                                    • GitHubを中心とした開発プロセス もくじ - Qiita

                                      13 users

                                      qiita.com/suzuki-hoge

                                      GitHubで全部済ませたい 新卒入社以降4年ほどアジャイル開発ってのをやってます。 今までチーム活動にはRedmineやJira,手書きの付箋&ホワイトボード等々を使ってきましたが、 最近GitHubを中心に考えたらいろんな悩みが解決したのでまとめてみようと思いました。 ネタリスト 大分類それぞれが各記事へのリンクになっています ドキュメント管理 [readme.md] ドキュメントを管理する [github wiki] Wikiを管理する 公開 [gist] 簡易コード片やMarkdownを公開する [gh-pages] 静的なファイルを公開する 自動化 [github webhooks] GitHub上で特定のイベントがあった時にAPIを呼び出す [githooks] Gitの特定のコマンド発行の前後でスクリプトを実行する [jenkins github pull request b

                                      • テクノロジー
                                      • 2016/06/26 16:01
                                      • github
                                      • Git
                                      • 開発
                                      • Pythonのimportについてまとめる - Qiita

                                        55 users

                                        qiita.com/suzuki-hoge

                                        何度もハマるので頭に刻み込む様に調べて習得するよ 前提 検証環境 実行は全てtreeコマンドを実行したパスと同パスでREPLを起動して行っている Pythonは2.7.5 パッケージとは Pythonでは__init__.pyを含むディレクトリをパッケージと言う ただのディレクトリでは再帰的にモジュールを検索しないため、基本的には__init__.pyが必要 読み込み時に検索する範囲 実行ディレクトリと同ディレクトリ カレントディレクトリ 環境変数「PYTHONPATH」に列挙したディレクトリ sys.pathに含むディレクトリ sys.pathは絶対パスの文字列リストであり、import sys; print sys.path 等の方法で確認できる 実例 同ディレクトリのメソッドをimportする

                                        • テクノロジー
                                        • 2016/05/18 08:53
                                        • python
                                        • import
                                        • qiita
                                        • tutorial
                                        • development
                                        • it
                                        • あとで読む

                                        このページはまだ
                                        ブックマークされていません

                                        このページを最初にブックマークしてみませんか?

                                        『qiita.com』の新着エントリーを見る

                                        キーボードショートカット一覧

                                        j次のブックマーク

                                        k前のブックマーク

                                        lあとで読む

                                        eコメント一覧を開く

                                        oページを開く

                                        はてなブックマーク

                                        • 総合
                                        • 一般
                                        • 世の中
                                        • 政治と経済
                                        • 暮らし
                                        • 学び
                                        • テクノロジー
                                        • エンタメ
                                        • アニメとゲーム
                                        • おもしろ
                                        • アプリ・拡張機能
                                        • 開発ブログ
                                        • ヘルプ
                                        • お問い合わせ
                                        • ガイドライン
                                        • 利用規約
                                        • プライバシーポリシー
                                        • 利用者情報の外部送信について
                                        • ガイドライン
                                        • 利用規約
                                        • プライバシーポリシー
                                        • 利用者情報の外部送信について

                                        公式Twitter

                                        • 公式アカウント
                                        • ホットエントリー

                                        はてなのサービス

                                        • はてなブログ
                                        • はてなブログPro
                                        • 人力検索はてな
                                        • はてなブログ タグ
                                        • はてなニュース
                                        • ソレドコ
                                        • App Storeからダウンロード
                                        • Google Playで手に入れよう
                                        Copyright © 2005-2025 Hatena. All Rights Reserved.
                                        設定を変更しましたx