タグ

設計に関するTomato-360のブックマーク (53)

  • 混乱しがちなサービスという概念について - かとじゅんの技術日誌

    社内でサービスがよくわからないという話になったので、考察を少しまとめておきます。 過去のエントリでも以下のように触れましたが、もう少しかみ砕いてみよう。 サービスという言葉はあいまい まず、簡単に前提の整理から。単に"サービス"って言葉が何を指すのか結構曖昧です。 サービスは簡単にいうと手続きとか振る舞いのことですが、細かくいうと、PofEAAでいうサービスと、DDDいうサービスは、目的が異なります。前者はアプリケーションのためにドメインモデルを再利用可能にするためのものです。後者はドメインの知識を表している振る舞いです。これはのちほど詳しく説明します。 まぁこのあたりは具体例がないと理解しがたいですが、レイヤーの違いによって責務が異なるという感じです。DDDのサービスの章では、サービスには、アプリケーション層、ドメイン層、インフラストラクチャ層と、複数のレイヤーに存在すると言及されていま

    混乱しがちなサービスという概念について - かとじゅんの技術日誌
  • RESTful API の設計のキホン

    2016/10/12 社内勉強会で使ったスライドを社外向けに一部加筆訂正したもの

    RESTful API の設計のキホン
  • コンポーネント指向のUI開発時に起きがちな密結合・複雑化問題をStoreパターンで解決する

    Vue.jsを用いたコンポーネント指向のフロントエンド開発において弊社が導入したStoreパターンについてご紹介します。

    コンポーネント指向のUI開発時に起きがちな密結合・複雑化問題をStoreパターンで解決する
  • そして物語は何度目かのアプリ内通知再実装を迎える - その手の平は尻もつかめるさ

    というタイトルでKyoto.なんか #2で発表してきました. そして物語は何度目かのアプリ内通知再実装を迎える / Reimplement in app notification // Speaker Deck スライドの内容としては,アプリ内通知 (Twitter appで言うところの「通知」タブにあたる部分) のサーバサイドを実装する際にどういう問題があって,それをどういう風に実装したかという葛藤の記録となっています. Webアプリケーションやスマートフォンアプリケーションを書いていると,そこそこの確率でアプリ内通知を書くことになると思うんですが,ところがどっこい「実際にどういう風に実装しているか」みたいな知見が共有されている感じがあまりありません.みんな実装しているはずなのに,ググってもあまり情報が出てこなくて寂しい.地味な機能だから? という思いがあり,そこら辺アプリ内通知周辺の技

    そして物語は何度目かのアプリ内通知再実装を迎える - その手の平は尻もつかめるさ
  • APB CSS - Atomic Parts Base CSS -

    What is Atomic Parts Base CSS(APB CSS) Atomic Design + OOCSS + SMACSS = Atomic Parts Base CSS (APB CSS) Atomic Parts Base CSS(APB CSS)って何?? Atomic Design + OOCSS + SMACSS = Atomic Parts Base CSS (APB CSS) APBCSS は Atomic Parts Base CSSのそれぞれ頭文字を取っていて、「エーピービーシーエスエス」と呼びます。 APBCSS は Atomic Designをベースに設計された「CSSアーキテクチャ」の一つとなります。 Point - Simple - Predictable - General versatility - Reusable - Maintainabl

    APB CSS - Atomic Parts Base CSS -
  • Glitch

    The friendly community where everyone can discover & create the best stuff on the web

    Glitch
    Tomato-360
    Tomato-360 2016/09/14
    おもしろい
  • 綺麗な設計を身に付けるためのSandi Metzルール

    Webアプリやモバイルアプリの受託開発やコンサルティングを行うthoughtbot社のブログにて、Sandi MetzルールというRubyプログラマ向けのルールが紹介されていました。 Sandi Metz’ rules for developers このルールは、プログラマーでありPractical Object-Oriented Design in Rubyという書籍も執筆しているSandi MetzさんがRuby Roguesポッドキャストに出演した際に紹介していたものです。 そのルールは以下の通りです。 クラス内のコードが100行を超えてはならない メソッド内のコードが5行を超えてはならない 4つより多い引数をメソッドに渡すようにしてはならない(ハッシュによるオプションもパラメーターとみなす) コントローラーではただ1つのオブジェクトだけをインスタンス変数化できる ビューは1つのイン

    綺麗な設計を身に付けるためのSandi Metzルール
  • 認証を含む API 開発で検討すべきこと - ボクココ

    ども、@kimihomです。 API に関する基礎的な話で、なぜ API が重要なのか、APIの実装で注意する点について記述した。 今回はAPI開発において最も頭を悩ます、認証の問題について考えてみたい。 API における認証 よくあるログインが必要なページを考えてみていただきたい。 通常のWebアプリケーションであれば、Cookieという仕組みを使って毎回Webサーバーにアクセスするときにsession idというものを送信し、それとユーザー情報を紐付けたデータを取ってくることで、どんなユーザーからリクエストが来たのかをWebアプリケーション側で判断することができる。これにより、私たちはいつも閲覧しているWebアプリケーションが自分専用の画面として見れるようになっている。 これがAPIになると話は違ってくる。Cookieという仕組みが使えないのである。ということで、なんとかしてAPIにア

    認証を含む API 開発で検討すべきこと - ボクココ
  • Read/Write Stack | JavaScriptアーキテクチャ

    autoscale: true Read/Write Stack | JavaScriptアーキテクチャ 自己紹介 Name : azu Twitter : @azu_re Website: Web scratch, JSer.info This is Bikeshed.js :bike: 抽象的な話が多いので、実装はコード見て(Pull Request投げて!) これが正しいという話ではないです。 自転車置き場の議論なので! 中規模以上のJavaScript 設計が必要になる 正しい設計はない Bikeshed.js :bike: 人、目的、何を作るかによってアーキテクチャは異なる 前回の続き? : How to work as a Team 用語 設計の目的 中規模以上のウェブアプリ SPAというよりは、画面が複雑なElectronアプリのようなイメージ スケーラブル 人、機能追加、柔

  • 基本設計を分担してはいけない - 設計者の発言

    プロジェクトメンバーが無駄に多いのが、日型SIの特徴のひとつである。「工数を人数で割れば工期が出る」と考えることが間違いであることは、ブルックスの著書「人月の神話」によって今から40年前に指摘されている。それにもかかわらず、相変わらず多くのプロジェクトで必要以上の人数が投入されている。 私がとくに不思議に思うのが、基設計を何人もの要員で分担するやり方だ。DB設計と機能設計と業務設計の担当を分けるとか、サブシステム毎に担当を分けるといった体制がしばしば敷かれる。詳細設計の段階でというのならまだわかるが、基設計でそれをやってはいけない。 なぜか。業務システムにはアーキテクチャ(意図された構造)が求められる。そして、そこに含まれる膨大な定義要素は、統一感や一貫性を保ち、かつMECEな形で切り出されなければいけない。複数の要員で分担などすれば、それらの課題が一挙に難しくなる。また、DB構成と

    基本設計を分担してはいけない - 設計者の発言
  • ユーザーエクスペリエンスデザイン(UXデザイン)〜20%をマスターして80%の結果を出す!

    “ユーザーエクスペリエンスデザイン(UXデザイン)って大事って聞くけどよくわからないなあ” というイメージを持っている方も多いかもしれません。 そんな苦手意識を持つ方にこのブログを用意しました。 このブログシリーズのテーマは +*20%のキーポイントをマスターしたら、 80%の結果を出すことができる!*+ ということです 結果を出す為にはすべてのスキルや知識を身につける必要はありません。 20%のスキルや知識でも、立派なサイトやサービスを 作ることができると思います。 良いユーザーエクスペリエンスを構築する為の20%の スキル・知識について紹介したいと思います。 UXデザインとは? ユーザー・エクスペリエンスを一言で表現すると ”ある製品やサービスを利用したり消費した時に得られる体験の総体のこと” です。 出展:IT用語辞典 e-Words ここでいう体験とは「楽しさ・心地よさといったプラ

    ユーザーエクスペリエンスデザイン(UXデザイン)〜20%をマスターして80%の結果を出す!
  • ViewModel設計の原則 その1

    □導入 MVVMの知名度は十分に高まっているものの、MVVMでの開発はまだまだしきいが高いと感じる方が多いのではないかと思います。確かに、MVVMで開発するためのライブラリやフレームワークが出揃い始めており、それらの技術について説明したコンテンツも充実しつつあるように思います。しかし、これらの技術をどう使って設計していけばよいのかはどのコンテンツにもあまり語られていません。特にMVVMの肝であるはずのView Modelの設計をどうしたらよいのかについて説明しているコンテンツがなく、各技術者に任されてしまっています。 私自身、模索を繰り返しながら何とかViewModelの設計をやっているのが実態で、まだまだ不明な点が多くあります。しかし、今まで私がMVVMによる開発を行ってきたなかで得たものを、「View Model設計のための原則」というテーマで、何回かに分けてご紹介したいと思います。い

  • ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か | Social Change!

    「プログラミング経験のない人がソフトウェアの設計をすること」の是非について、どう考えますか? もしかしたら、このブログの読者であれば、プログラミングが出来ないのにソフトウェア設計をするなんてありえない!という意見の方が多いかもしれません。私もそういう意見ではあったのですが、色々な人と話をするにつけ、どこか違和感を感じていました。 その違和感の正体を探るべく、ソフトウェア設計とプログラミングについて考えてみました。そこでわかったことは「ソフトウェア設計」について、人それぞれに捉え方が違うために、話が通じないことがあることから産まれた違和感だったということです。 この記事では、私の考える「ソフトウェア設計とは何か」について書きました。 ソフトウェア開発はすべてが「設計」である モノづくりにおいて、大きく工程を2つに分けるとしたら「設計」と「製造」に分けることが出来ます。何をどう作るかを決めるこ

    ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か | Social Change!