タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

developmentとDevelopmentとprogrammingに関するwwolfのブックマーク (146)

  • 戦術的DDD基本原則まとめ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? DDDを実践し始めてまだ日が浅いので、ドメインモデリング中に 細かい原則がすぐ出てこなくて迷うことがあります。 そこで、「エリック・エヴァンスのドメイン駆動設計」から 第2部「モデル駆動設計の構成要素」を中心に、モデルを表現する各要素(パターン)の 基原則をまとめてみます。 第5章「ソフトウェアで表現されたモデル」 関連 ENTITIES(エンティティ) VALUE OBJECTS(値オブジェクト) SERVICES(サービス) MODULES(モジュール) 第6章「ドメインオブジェクトのライフサイクル」 AGGREGATES(集約)

    戦術的DDD基本原則まとめ - Qiita
  • PostCSS とは何か

    関西フロントエンドUG 主催「Grand-Frontend-Osaka 2015 Summer」での発表資料です。 http://kfug.github.io/events/2015/grandfrontendosaka/

    PostCSS とは何か
    wwolf
    wwolf 2015/08/26
    知らんかった
  • コードの品質を維持したまま開発スピードを上げる | POSTD

    高品質のコードベースは、反復作業やコラボレーション、メンテナンスを簡単にすることで、長期的な開発のスピードを上げてくれます。Quoraではベースコードの品質は重要だと考えます。 高品質のコードを維持することは利点がありますが、その反面かなりのオーバーヘッドが発生し、実際の開発のサイクルに時間が掛かってしまいます。このオーバーヘッドと利点の折り合いを付けるのは難しい問題です。この場合、2つの選択肢しかないように思えます。低品質でコードスピードが速いか、もしくは高品質でスピードが遅いか。スタートアップは素早い開発サイクルに最適化しているので、多くの人は低品質で進めたほうがいいと思っています。 このジレンマは解消できます。ツールやプロセスを工夫することで、コードベースの品質を維持したままスピードを速めることができるのです。この投稿では、コードの品質に関しての私たちの考えや、2つの世界を共存させる

    コードの品質を維持したまま開発スピードを上げる | POSTD
  • 効果的なunittest - または、callFUTの秘密

    Contents unittest を効果的に使うための覚書 目的 ルール: テスト対象のモジュール(module-under-test)をテストモジュールに直接importしない ガイドライン: モジュールスコープでの依存を最小限にする ルール: 各テストメソッドでは、1つの事実だけを確認する ルール: テストメソッドは内容を表すようにしよう ガイドライン: setupはヘルパーメソッドで提供しよう。テストケースのselfで共有するのはやめよう。 ガイドライン: フィクスチャは可能な限り簡潔に ガイドライン: フックやレジストリなどの利用は注意深く ガイドライン: 依存関係を明確にするためにモックを利用する ルール: テストモジュール間でテキストを共有しない まとめ https://twitter.com/tokibito/status/412074246026698753 ということで

    wwolf
    wwolf 2015/08/17
    素晴らしい
  • 昨今のメソッドの命名方法事情まとめ - Kengo's blog

    一時期はメソッド名は動詞で始まらなければならないと言われていましたが、昨今ではJava標準APIでも動詞ではないメソッド名が散見されます。エントリではその傾向をまとめます。 of, from(from, of, valueOf, fromString, fromNullable etc.) fromやofはEffective Javaでも触れられているように、ファクトリメソッドとして利用されることが多いようです。例えばJAX-RSでは valueOf(), fromString() といった名前のファクトリメソッドを利用します。 EnumSet.of Integer.valueOf to, as(toList, asList, toArray etc.) 主に自分自身を別の形に変換するインスタンスを返すメソッドに使います。 IntStream.toArray Arrays.asList

    昨今のメソッドの命名方法事情まとめ - Kengo's blog
  • 【JavaBeans】BeanとDTOとEntityとVOとFormの違いって何?- Javaプログラマーのはしくれダイアリー

    色んなシステムに携わっていると、様々なJavaのクラス名に遭遇する。 ○○Beanとか ○○DTOとか ○○Entityとか ○○VOとか ○○Form。 ここらへんって 「MVCのModelのデータ部分にあたるって意味で同じだし」 とか 「ゲッター/セッターがあるクラスで意味的に一緒じゃない?なんで色々名前つけてんの?」 って思いませんか? ってことで、今回はそれぞれの定義を改めて考えてみようと思う。 とりあえずはそれぞれの意味から ・Bean 総称はBean。あえて言うならJavaBeansの略。 Javaの初心者でも知っている。 あまりに有名すぎるが、Oracleのサイトのガイドを見ながらパクってまとめてみた。 ・Sun Microsystems社のJavaBeans仕様に準拠した再使用可能なソフトウェア・コンポーネント。 ・最低限、クラスにはプロパティが必要。 ・プロパティはメソッ

    【JavaBeans】BeanとDTOとEntityとVOとFormの違いって何?- Javaプログラマーのはしくれダイアリー
    wwolf
    wwolf 2015/06/25
    ありがてぇありがてぇ
  • コードレビューのベストプラクティス | POSTD

    Wiredrive では、私たちはかなりの数のコードレビューを行います。しかし、ここで働き始める前には私はコードレビューなどしたことがありませんでした。今回は、私がコードレビューをする時に何に注目するようにしているかや、私の考え出したベストなコードレビューのやり方をお話したいと思います。 コードレビューとは、簡単に言うと2人以上の開発者で問題を引き起こしそうなコードの修正について話し合うことです。コードレビューをすることのメリットについては多くの記事で語られており、知識を共有できること、コードのクオリティが上がること、開発者が成長できることなどが挙げられています。しかし、レビューを行う上で、どのように進めていくかという具体的なことについてはあまり多く語られてないように私は思いました。 レビューで何に注目するか アーキテクチャ/デザイン 単一責任原則 : 1つのクラスは変更する理由が2つ以上

    コードレビューのベストプラクティス | POSTD
  • DDD Alliance

    ドメイン駆動設計 アライアンス DDD Alliance

    DDD Alliance
    wwolf
    wwolf 2015/06/01
    増田師マジ熱いなパネェ
  • モダンWebシステム開発

    Qcon Tokyo2015 での発表スライド

    モダンWebシステム開発
  • DELETE_FLAG を付ける前に確認したいこと。 - Qiita

    DELETE_FLAG という思考停止フラグ DELETE_FLAG という boolean の列が DB 設計でよく話題になります。 論理削除という言葉で上手に論理武装し、スキを見せるとすぐに入れたがる人がおり、 一方でそれにつよく反対する人もいます。 自分の経験としては、広義の論理削除はありえると思いますが、実現方法が DELETE_FLAG だとなった時、それはあまり考えてないでなんとなくパターンとして盛り込んでる場合が多いと感じます。 ただし、設計に唯一の答えは無いので、もしかしたらそれが妥当な設計である場合があるかもしれません。 今回は「DELETE フラグがなぜダメなのか?」などという話をするつもりも、アンチパターンだと断言するつもりもありません。 問題は、仕様をきちんと把握すると、「最適な設計は DELETE_FLAG ではない」という場合が有って、その場合は、その最適な設計

    DELETE_FLAG を付ける前に確認したいこと。 - Qiita
  • Scala界隈でDDDが大いに盛り上がったのでログをまとめましたよ-その1 - Kuchitama Tech Note

    以前、ScalaJpのgitter.imでDDDについて議論が盛んに行われてたけど、いずれログが消えちゃうのがもったいなくて、ここに内容を貼付けます。 scalajp/public - Gitter 要約すると実践DDD出たらみんなで読もうぜ。ってことで。 実践ドメイン駆動設計 (Object Oriented Selection) 作者: ヴァーン・ヴァーノン,高木正弘出版社/メーカー: 翔泳社発売日: 2015/03/17メディア: 大型この商品を含むブログ (1件) を見る ホントは、自分のブログとかじゃなくてGistとかがいいんだろうけど、見た目を整えるのが一番楽なので、ここに掲載しておきます。 一応、最初にまとめるにいたった経緯↓ xuwei-k 2015年2月24日 gitter、無料だとログの保存期間2週間って話だったけど、実は現状全部残ってる https://gitte

    Scala界隈でDDDが大いに盛り上がったのでログをまとめましたよ-その1 - Kuchitama Tech Note
  • DDD「エリック・エヴァンスのドメイン駆動設計」の読書会のメモ 01 | kanonjiのブログ

    エリック・エヴァンスのドメイン駆動設計 ソフトウェアの核心にある複雑さに立ち向かう(Eric Evans 牧野祐子 和智右桂 今関剛) | 翔泳社の 去年の秋ぐらいから設計に悩む事があり、エリック・エヴァンスのドメイン駆動設計、いわゆるDDDを買ってました。 なかなか通しで読む時間が取れず、気になる所をつまんで読んでたので、ちゃんと理解出来てないなと思っていた所、読書会をすると言う知り合いが居たので混ぜてもらいました。 折角なので記憶に新しいうちにメモして置こうと思って書いてるけど、理解がふんわりしてるまま、もしくは勘違いしたまま書いてる可能性もあります。 あと、議事録ではないので、あくまで読書会で話した結果、自分が思った事を書いています。 なんか書いてたらすごく長くなっちゃったけど、次回以降もこんなに書けるか分かりません。 今回読んだ範囲 まえがき 第1章 知識をかみ砕く 第2章

    DDD「エリック・エヴァンスのドメイン駆動設計」の読書会のメモ 01 | kanonjiのブログ
  • OOじゃないDDDについて - うさぎ組

    概要 モデリングについていろいろ - Togetterまとめを読んでいて、前にも何度か言ったことがあるけれど、もう一度言っておこうかー的な感じです。多分ブログには書いていませんでしたので。 端的に言えば、パイプ&フィルターパターンがアプリケーションドメインであるアプリケーションもあって、そういったものはオブジェクト指向より関数型的なほうがうまく適合する可能性もあるという話。 DDDとプログラミングパラダイムやプログラミングスタイルは直交するはずだ Eric Evansから提案されたDDDはクラスベースOOを主体とした実例が多かったわけですが、DDDという概念はOOを前提としていないと僕は捉えています。特に、ユビキタス言語、コンテキストの明示、モデリングと密接な開発といった部分は多くのソフトウェア開発において役立つと言えそうですし、おそらくはプロダクト開発全体でも言えそうです。 エンティティ

    OOじゃないDDDについて - うさぎ組
  • ピアコードレビューの実践的レッスン | POSTD

    Salsita Softwareは、複雑かつ最新のウェブアプリケーションとモバイルアプリの開発に特化する専門のソフトウェア・コンサルティング企業です。Salstiaの幅広い専門分野にまたがるチームは、ワールドクラスのソフトウェア・エンジニアはもちろん、グラフィックデザイナー、UXスペシャリスト、プロジェクトマネジャーそしてQAエンジニアから構成されています。 Salsitaのエンジニアは2つのグループに分かれており、フルスタック・エンジニアはサーバサイドの実装(Node.jsとPython)、クライアントサイドのJavaScriptAngularJS、React、 BackboneとEmber)、そしてモバイルアプリの開発(iOS、Android、PhoneGap)を担当します。フロントエンドエンジニアは、モジュール性が高くメンテナンスが容易、かつレスポンシブなユーザインターフェースを

  • 2015年のAndroid開発はKotlinで決まりかもしれない - みんからきりまで

    いや、ネタとかじゃないんで。 AndroidJavaそろそろ限界問題 以前の記事にも書いたけど、最近の関数型プログラミングやRxJavaなどの流れの中で、ラムダも書けない言語では限界を感じ、何かAndroid開発を救ってくれる魔法のアイテムを探す必要に迫られていました。 そして行き着いたのがKotlinでした。 Kotlinとは Kotlinはプログラミング言語です。 JVM言語で、いわゆるaltJavaの一つです。 開発したのはAndroid StudioのベースとなっているIntelliJを開発しているJetBrains社で、2011年に生まれたばかりのとても幼い子です。 特徴は型推論、null安全、高階関数、可愛い名前などで、Javaより書きやすく関数的で、尚且つScalaほど複雑にはならない事を目指しているようです。 最近ではSwiftに似ていると言われるようです。 なぜKotli

    2015年のAndroid開発はKotlinで決まりかもしれない - みんからきりまで
    wwolf
    wwolf 2015/03/04
    「正直ネタ言語枠」自分もそう思ってましたw
  • プログラム設計指針

    この文書はプロジェクト開発におけるプログラム設計の指針です。フレームワークのコーディング指針については別途マニュアルを参照して下さい。 フォーム テンプレート フィルタ処理 多重処理の防止 メッセージの表記 データベース処理 メール 認証 プロダクション環境の設定 例外のハンドリング パフォーマンスの見直し スマートフォン開発 フォーム フォームの送信形式を使い分けについて GET: データを取得する際に使用する。GET クエリはサーバの CGI を経由してプログラムに渡されるため、長い文字列を送信することには向かない。(上限はサーバにより異なる) 一般的にはデータを検索する際に条件をクエリとして送信することが多い。 POST: データを送信する際に使用する。長い文字列やバイナリデータの格納ができるため、会員登録フォームでユーザデータを持ち回す際に使用されることが多い。 データの検証 フォ

  • Dockerイメージ構築 実践テクニック

    Friction Logging and Internal Advocacy, DevRel/Asia 2020

    Dockerイメージ構築 実践テクニック
  • 『The Essential Web Design Handbook』読んだ - ✘╹◡╹✘

    Rafal Tomalの書いた『The Essential Web Design Handbook』というを読んだ。初心者のためにWebデザインの基となる知識を広く紹介している。構成としては、筆者がWebデザインを行うときのプロセスをまず最初に紹介し、その各段階を追っていきながら、「この作業は無視されがちだけどこういう点で効率的だからやった方がいい」「これを考えるときにはこういう知識を使う。今回の例ではこうやって考えた」という具合に進んでいく。 プロセス 筆者が推奨するWebサイトのデザインプロセスは次の通り: 調査して計画をつくる 発想を膨らませる スタイルガイドをつくる ワイヤーフレームを組む モックアップをつくる コードを書く 調査と計画 調査するというのは、明確なクライアントがいる場合は要求を聞くことであったり、競合サイトの様子を調べてくることであったり、使えそうな資料を広範に

    『The Essential Web Design Handbook』読んだ - ✘╹◡╹✘
  • コードレビューについて - (define -ayalog '())

    普段お仕事している中で何故かコードレビューをしている時間がわりとあって、暇さえあれば(暇がなくても)コードレビューしている。 そんな中でどういうところを見たらいいのか、あるいは見るべきなのかというのが自分の中である程度蓄積された気がするので書いてみる。あと最後に普段考えていることを少し書いた。 前提 現在の僕の参加しているプロジェクトはこんな感じ Rails プロジェクト( AngularJS 使ったりしている) Git 使ってる( Pull Request ベースの開発で以下が merge 条件) 2 人以上に approve される テストが通ること(継続的インテグレーションの実施) 静的コード解析は導入している( Rubocop, jshint, pre-commit など ) テストのカバレッジは計測していない(月一くらいで測ってるらしいんだけど、だからどうっていう話はない) プ

  • Python製コマンドラインツールのディレクトリ構成について。その考察。 - カイワレの大冒険 Second

    はじめに 去年ぐらいからPython製のコマンドラインのツールをいくつか作っていて、構成もだいぶ固まってきたので、まとめてみる。規模としては1ファイルでは終わらないぐらいで、関数の数も数十になってユーティリティを作ったり、クラスをいくつか作らないと、保守がしにくいような規模のものを想定しています。工数としては1日では終わらないけど、2週間はかからない程度の規模を想定。 構成 ということで、まず構成をさらしてみます。 こんな感じ。 SAMPLE_PROJECTレポジトリがあったとして、その具体的な構成が以下。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 . ├── README.md ├── RELEASE.md ├── TODO ├── bin │   ├── command1 │   ├── comm