タグ

2020年11月12日のブックマーク (44件)

  • ZOZOTOWNを支えるリアルタイムデータ連携基盤 - ZOZO TECH BLOG

    こんにちは、SRE部MA基盤チームの谷口(case-k)です。私達のチームでは、データ連携基盤の開発・運用をしています。 データ基盤には大きく分けて2種類あり、日次でデータ連携してるものとリアルタイムにデータ連携しているものがあります。記事ではリアルタイムデータ連携基盤についてご紹介します。 既存のデータ連携基盤の紹介 リアルタイムデータ連携基盤の紹介 なぜ必要なのか 活用事例の紹介 データ連携の仕組みと課題 リプレイス後のリアルタイムデータ連携基盤 SQL Serverの差分データの取り方を検討 アーキテクチャ概要と処理の流れ Fluentdのプラグインを使った差分データの取得 Dataflowでメッセージの重複を排除 Dataflowで動的にBigQueryの各テーブルに出力 Pub/Subのメッセージ管理 イベントログ収集基盤 個人情報の取り扱い ビルド・デプロイ戦略 監視 データ

    ZOZOTOWNを支えるリアルタイムデータ連携基盤 - ZOZO TECH BLOG
    nilab
    nilab 2020/11/12
    ZOZOTOWNを支えるリアルタイムデータ連携基盤 - ZOZO Technologies TECH BLOG
  • ふつうのWebサイトのセッションの仕組み | Simple is Beautiful.

    こんな感じの構成を想定してます セッションデータ保存用データベース:Redisやmemcacheなど セッションID:Cookieに保存 セッションの仕組み Cookieに保存されたセッションIDとサーバーが持っているセッションIDを比較して一致しているものがあったらユーザーがログイン済みと判断します。 ログインまでのフロー ログインしていない状態ではユーザーはセッションIDを持っていません。このためまずユーザーにフォームなどでIDやパスワードなどでログインを求めます。 認証が成功したらサーバーはセッションIDを作成します。生成するセッションIDは他のユーザーが推測しにくい様に長いランダムなものを使用します。 セッションIDとユーザー情報を紐付ける為に、生成したセッションIDとユーザーIDをペアにしたデータをRedisなどのデータベースに保存します。 生成したセッションIDをCookie

    ふつうのWebサイトのセッションの仕組み | Simple is Beautiful.
    nilab
    nilab 2020/11/12
    ふつうのWebサイトのセッションの仕組み | Simple is Beautiful.
  • Ruby on rails x Redisでsessionを高速化しよう! - Qiita

    今日の目標 NoSQLデータベースについて学ぶ 今回は Amazon Web Services Amazon ElastiCache for Redis または Microsoft Azure Azure Redis Cache を利用する前の予習段階としてごく簡単なアプリケーションでRedisの設定を学習したメモ書きです。 Redisとは Redisはメモリ上にデータを保存する超高速のデータベースの一種、データをメモリ上に保存するタイプのインメモリ型のKVS(Key Value Store)です。 KVSとは、主としてキーとバリューのシンプルなデータを保存するタイプのデータベースのことで、RDB(Relational Database)のような複雑なデータは扱えない反面、高速に動作するという特徴があります。 データの永続化を目的とする場合は向いていません。 RailsでRedisを使うメ

    Ruby on rails x Redisでsessionを高速化しよう! - Qiita
    nilab
    nilab 2020/11/12
    Ruby on rails x Redisでsessionを高速化しよう! - Qiita
  • Railsのセッション管理には何が最適か - Qiita

    前提 webアプリを複数立ち上げ、それらのユーザーログインのセッション管理をどう実装するかで議論になった。 Railsで使用できるセッション管理方法にはたくさんの方法があり、それぞれのメリット・デメリットをまとめることで最適解を導く。 今回比較対象にするセッション管理方法は以下の種類。 CookieStore(クッキー方式) Redis(インメモリ方式) ActiveRecord(DB方式) CookieStore(クッキー方式) 仕組み Session情報を全てsecret_key_baseで暗号化し、クライアントのCookieに保存する。 Cookieに保存したSession情報をリクエストの際に全て送信し、サーバではsecret_key_baseで復号し、Session情報を取得する。 メリット Railsのデフォルトで用意されているセッション管理方式なので、手軽に使え、何かを意識す

    Railsのセッション管理には何が最適か - Qiita
    nilab
    nilab 2020/11/12
    CookieStore(クッキー方式) / Redis(インメモリ方式) / ActiveRecord(DB方式)
  • セッション管理としてRedisを使用する - RAKUS Developers Blog | ラクス エンジニアブログ

    はじめに みなさん こんにちは、Thuatと申します。今年ラクスに入社しました1年目です。 この記事ではセッション管理としてRedisを使用するケースを紹介します。 Redisとは? Redis は簡単に言うと、メモリ上のKey-Valueストアです。 メモリ上にデータを格納しますので高速に動作します。 以下はインストールから簡単なデータの登録・取得までの手順になります。 Redisをインストールする $ wget http://download.redis.io/releases/redis-4.0.1.tar.gz $ tar xzf redis-4.0.1.tar.gz $ cd redis-4.0.1 $ make Redisサーバーを起動する $ src/redis-server 33507:C 25 Sep 23:21:32.201 # oO0OoO0OoO0Oo Redis

    セッション管理としてRedisを使用する - RAKUS Developers Blog | ラクス エンジニアブログ
    nilab
    nilab 2020/11/12
    セッション管理としてRedisを使用する - RAKUS Developers Blog | ラクス エンジニアブログ
  • jsug-spring-boot-handson/SpringSession.rst at master · making/jsug-spring-boot-handson

    nilab
    nilab 2020/11/12
    「Spring Sessionでは(Filterを経由することで)、HttpSessionの実装を上書きし、 HttpSessionのAPIを通じて透過的にRedisなどKVSにアクセスします。これにより、複数サーバーでセッション情報を共有することができます」
  • Spring特別勉強会レポート(後編) - エンタープライズギークス (Enterprise Geeks)

    前回は Pivotal社に所属するSpring コントリビュータの Josh Long 氏によるプライベートセッション「Bootiful Application」のうち、マイクロサービスと Spring Boot の内容を紹介しました。 今回は、後半部分である Spring Cloud についてのレポートです。 なお、セッションではLong氏が次々とソースコードを矢継ぎ早に書き換えていったため、 この記事に掲載するサンプルコードは、筆者が内容に即したものをあらためて作成したものになります。 Spring Cloud マイクロサービスでシステムを構築すると、複数のSpring Boot アプリケーションが連携する分散構成となります。 Spring Cloud は分散構成のアプリケーションを制御するためのプロダクト群です。 複数のアプリケーションの設定管理、サービス管理、負荷分散、耐障害性、セ

    Spring特別勉強会レポート(後編) - エンタープライズギークス (Enterprise Geeks)
    nilab
    nilab 2020/11/12
    Spring特別勉強会レポート(後編) - エンタープライズギークス (Enterprise Geeks)
  • 簡単 Spring SessionでKVSを用いたセッションストア - SIer だけど技術やりたいブログ

    そもそもセッションってなに? セッションはAPサーバ固有のデータ保存領域。 アプリ内でユーザのログイン情報などを保存するために使われることが多い。 4. クッキーとセッション (2) | TECHSCORE(テックスコア) セッションはAPサーバ固有のデータ保存領域のため、APサーバが複数台あると、ロードバランサのふりわけによってはセッション情報が参照できなくなる可能性がある。 この問題を防ぐための方法はいくつかある。 スティッキーセッション クライアントとAPサーバが1:1になるように常に同じAPサーバにふりわける方法。 APサーバとユーザが紐づくため、負荷が高くなったときにAPサーバを動的に追加したとしても、うまく負荷が分散されない セッションレプリケーション セッションを各APサーバ間で同期する方法。 APサーバが増えるたびにセッションレプリケーションのコストが指数的に増えていくため

    簡単 Spring SessionでKVSを用いたセッションストア - SIer だけど技術やりたいブログ
    nilab
    nilab 2020/11/12
    簡単 Spring SessionでKVSを用いたセッションストア - SIerだけど技術やりたいブログ
  • 9.4. セッション管理 — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.6.0.RELEASE documentation

    nilab
    nilab 2020/11/12
    「本節では、「Webアプリケーションでセッションを扱う際に必要となるセキュリティ対策」及び「Spring Securityが提供しているセッション関連の機能」について説明する」
  • https://spring.pleiades.io/spring-boot/redirect.html?page=features

    nilab
    nilab 2020/11/12
    Spring Session / 「Spring Boot は、広範囲のデータストアに Spring Session 自動構成を提供します」 JDBC, Redis, Hazelcast, MongoDB / spring.session.store-type=jdbc / spring.session.jdbc.table-name=SESSIONS
  • ELBのスティッキーセッションについて調べてみた | DevelopersIO

    はじめに 藤です。 私事ですが、先週「AWS認定Sysopsアドミニストレーター - アソシエイトレベル」を受験しまして、 無事合格しました(8888 更に昨日「AWS認定デベロッパー - アソシエイトレベル」を受験しまして、 無事合格しました(8888 トリプルアソシエイトになりました。 今回はELBのスティッキーセッションがどういうものなのか理解できていなかったので調べてみました。 概要 ELBにクライアントとバインド先を固定するスティッキーセッションという機能があります。 HTTPレスポンスにELBでCookieを埋め込んで、 そのクッキーを基にバインド先のインスタンスを固定するというものです。 ELBのスティッキーセッションはCookieの有効期限設定が2種類あります。 任意の有効期限を指定する アプリケーションのCookieに従う スティッキーセッションを利用したい場合、 アプ

    ELBのスティッキーセッションについて調べてみた | DevelopersIO
    nilab
    nilab 2020/11/12
    ELBのスティッキーセッションについて調べてみた | Developers.IO
  • 【基礎から学ぶ】ELBのスティッキーセッションについてまとめてみた - サーバーワークスエンジニアブログ

    はじめに こんにちは、技術3課の紅林です。年始早々に風邪を引いてしまい、なかなか辛い正月を過ごすことになってしまいました。 今回、AWSのElastic Load BalancingのClassic Load Balancer (以下、ELB)のスティッキーセッション機能についてまとめてみました。 目次は以下の通りとなります。 はじめに ELBのスティッキーセッション、その前に Cookieについて Cookieの動作例 テストコード 動作概要 動作結果 パケットキャプチャ セッションについて ELBのスティッキーセッションについて 概要 検証構成概要 コード 維持無し 動作確認 ELBによって生成されたCookieの維持 シーケンス図 動作確認 アプリケーションによって生成されたCookieの維持 シーケンス図 動作確認 注意点 おわりに ELBのスティッキーセッション、その前に ELB

    【基礎から学ぶ】ELBのスティッキーセッションについてまとめてみた - サーバーワークスエンジニアブログ
    nilab
    nilab 2020/11/12
    【基礎から学ぶ】ELBのスティッキーセッションについてまとめてみた - サーバーワークスエンジニアブログ
  • API Gatewayによるマイクロサービスへのアクセス制御

    Envoy External AuthZとgRPC Extensionを利用した「頑張らない」Microservices認証認可基盤

    API Gatewayによるマイクロサービスへのアクセス制御
    nilab
    nilab 2020/11/12
    API Gatewayによるマイクロサービスへのアクセス制御 - Speaker Deck
  • ZOZOTOWNリプレイス2020

    Red Chainer and Cumo: Practical Deep Learning in Ruby at RubyKaigi 2019

    ZOZOTOWNリプレイス2020
    nilab
    nilab 2020/11/12
    ZOZOTOWNリプレイス2020 - Speaker Deck
  • Engadget | Technology News & Reviews

    How to watch Polaris Dawn astronauts attempt the first commercial spacewalk

    Engadget | Technology News & Reviews
    nilab
    nilab 2020/11/12
    最新Macに搭載されるM1チップとは何なのか。その謎を紐解いてみる (本田雅一) - Engadget 日本版
  • 換気状態を可視化 バス会社がCO2測定実験 窓2センチ開放で基準以下に 3密イメージ「安心に」/兵庫・丹波篠山市(丹波新聞) - Yahoo!ニュース

    nilab
    nilab 2020/11/12
    「兵庫県丹波篠山市に本社を置く「みらい観光」はこのほど、新型コロナウイルスの感染防止対策の一つとして、バス車内の換気の目安にする二酸化炭素の濃度を計測する実証実験を行った」
  • 新型コロナ全国感染者1631人 過去最多(日本テレビ系(NNN)) - Yahoo!ニュース

    NNNのまとめによりますと12日、全国で確認された新型コロナウイルスの感染者はこれまでに1631人となり、8月7日の1604人を上回って1日としての過去最多を更新しました。 都道府県別でも北海道や神奈川、茨城、兵庫で12日の感染者が過去最多となっています。

    新型コロナ全国感染者1631人 過去最多(日本テレビ系(NNN)) - Yahoo!ニュース
    nilab
    nilab 2020/11/12
    「NNNのまとめによりますと12日、全国で確認された新型コロナウイルスの感染者はこれまでに1631人となり、8月7日の1604人を上回って1日としての過去最多を更新しました」
  • 小林麻耶グッとラック!欠席 このまま降板の見込み(日刊スポーツ) - Yahoo!ニュース

    フリーアナウンサー小林麻耶(41)が12日、木曜コメンテーターを務める、TBS「グッとラック!」(月~金曜午前8時)を欠席した。今年2月からレギュラー出演していたが、このまま降板となる見込みだ。番組公式サイトの木曜レギュラー欄からも名前が消えている。 【写真】夫の国光吟氏と笑顔を見せる小林麻耶 この日の番組冒頭に、小林の不在には触れないまま、国山ハセンアナウンサー(29)がレギュラーを紹介。元フジテレビのフリーアナウンサー中村仁美(41)がゲストコメンテーターとして出演した。 小林はこの日、午前6時すぎから、YouTubeチャンネル「コバヤシテレビ局」の生配信を開始したが1時間半ほどで画面が停止して中断となった。同チャンネルは、今月3日から開設。タレントで整体師の夫、アキラ。とともに、早朝の生配信を中心に配信していた。 小林は、先月29日放送の「グッとラック!」で、乳がん治療を中断して不妊

    小林麻耶グッとラック!欠席 このまま降板の見込み(日刊スポーツ) - Yahoo!ニュース
    nilab
    nilab 2020/11/12
    「メインキャスターの立川志らく(57)が「母親がいないとね、子どもにとっては不幸なこと」などと発言。小林は「母親がいないと不幸だっていう風におっしゃったのは、私はそういう風に思いません」
  • 「降板を言い渡されて……」 小林麻耶、「グッとラック!」でのいじめを“笑顔”で主張 事務所とも突然の契約終了(ねとらぼ) - Yahoo!ニュース

    「降板を言い渡されて……」 小林麻耶、「グッとラック!」でのいじめを“笑顔”で主張 事務所とも突然の契約終了(ねとらぼ) - Yahoo!ニュース
    nilab
    nilab 2020/11/12
    「自身を守ってくれなかったという所属事務所の社長や、生出演を拒否したとされる番組スタッフに向け、不自然なほど元気な声で「ありがとうございました!」と声を張り上げ」
  • 小林麻耶、事務所が契約終了発表「正常なマネジメント行う事が困難」 12日『グッとラック!』を欠席(オリコン) - Yahoo!ニュース

    元TBSのフリーアナウンサー・小林麻耶(41)が、所属する生島企画室と契約終了となったことが12日、同事務所より発表された。同日、小林は木曜のレギュラーコメンテーターを務めるTBS系『グッとラック!』(月~金 前8:00)を突如欠席していた。 【写真】ラブラブ!小林麻耶&あきら。のギュッと抱き合う熱々ショット 午前6時過ぎに小林は、自身のYouTubeチャンネル「コバヤシテレビ局」で番組欠席について言及し、「私、きのう午前中に突然、番組の降板を言い渡されて、きょう番組に出演できないことになりました」と報告。経緯について「ファッションコーナーのスタッフさんからいじめを受けておりまして、それに耐えられずに今週火曜にあったロケを行かない決断をしたんです」と主張していた。TBS側はORICON NEWSの取材に対し、いじめについて否定した。 同事務所の公式サイトでは「弊社所属 小林麻耶 に関するお

    小林麻耶、事務所が契約終了発表「正常なマネジメント行う事が困難」 12日『グッとラック!』を欠席(オリコン) - Yahoo!ニュース
    nilab
    nilab 2020/11/12
    「ファッションコーナーのスタッフさんからいじめを受けておりまして、それに耐えられずに今週火曜にあったロケを行かない決断をしたんです」「私、きのう午前中に突然、番組の降板を言い渡されて」
  • TBS、小林麻耶の降板は「日程的に合わないことがあり」と説明 いじめは完全否定/デイリースポーツ online

    TBS、小林麻耶の降板は「日程的に合わないことがあり」と説明 いじめは完全否定 拡大 TBSは12日、同局朝の情報番組「グッとラック!」で木曜レギュラーの小林麻耶が欠席したことについて、日程が合わないことが理由で降板となったと説明した。 TBSは小林について「小林麻耶さんは初期の頃からグッとラックにご出演いただき、番組に貢献してくださいました」と感謝。その上で「この度、小林さんと番組との間で日程的に合わないことがあり、小林さんは番組から離れることとなった次第です」と説明した。 小林はこの日の朝に配信した自身のYouTubeチャンネルで降板理由について、担当したファッションコーナーのスタッフに「いじめられた」などと発言していたが、TBS側は「事実ではありません」と否定。 番組MCの立川志らくとの意見の相違が報じられたことから、それが関係しているのか?という質問にも「そうしたことが要因となった

    TBS、小林麻耶の降板は「日程的に合わないことがあり」と説明 いじめは完全否定/デイリースポーツ online
    nilab
    nilab 2020/11/12
    「TBS側は「事実ではありません」と否定」「番組MCの立川志らくとの意見の相違が報じられたことから、それが関係しているのか?という質問にも「そうしたことが要因となった事実も一切ございません」と否定」
  • コロナ禍で道民がリモート入社した話 - kubell Creator's Note

    まえがき こんにちは!サーバーサイド開発部(PHP)の中田です。 今回は北海道在住の私がコロナ禍真っ只中でChatworkに入社するまでの思い出と、 3ヶ月の試用期間を終えた今も1度も社員と直接あったことのないレベル(笑)の純フルリモート業務を体験した感想をつらつらと書いていきます。 この記事でコロナ禍の就職&転職活動をしている皆さんになにかお伝えできれば幸いです。 去年10月末に化粧直ししたニッカおじさん 記事のまとめ コロナの影響なく、転職に成功 東京に行くはずが札幌に残ることに... フルリモートで働いているが、意外と仕事はできる でもリモート下のコミュニケーションはちょっとハードル高い 入社するまで 内定が決まった4月から入社した6月までを順に思い返していきます。 4月 内定。しかし。。。 4月6日に内定を受け、Chatworkへの転職を確定しました。内定までの面接や面談、入社時の

    コロナ禍で道民がリモート入社した話 - kubell Creator's Note
    nilab
    nilab 2020/11/12
    「今回は北海道在住の私がコロナ禍真っ只中でChatworkに入社するまでの思い出と、 3ヶ月の試用期間を終えた今も1度も社員と直接あったことのないレベル(笑)の純フルリモート業務を体験した感想をつらつらと書いていき
  • 「RFC違反」アドレスのドコモメール、iOS14で送信不可に

    NTTドコモは、国際標準「RFC」に準拠していないアドレスのドコモメール(@docomo.ne.jp)が、iOS14以降のメールアプリで送信できなくなる事象を確認していると発表した。対象のユーザーには、メールアドレスを変更するか、プロファイル更新するよう案内している。 iOS14以降で、アドレス内に2連続のドット(..)が含まれていたり、アットマーク前にドット(.@)が含まれているアドレスを利用している場合に、メールが送信できなくなることを確認したという。 RFCは、インターネットの標準化団体IETF(The Internet Engineering Task Force)が発行している、技術仕様をまとめた文書。2009年ごろまでに作られた日のキャリアメールのアドレスの一部はRFCに準拠していないと以前から指摘されており、トラブルの元になると批判されていた。

    「RFC違反」アドレスのドコモメール、iOS14で送信不可に
    nilab
    nilab 2020/11/12
    「iOS14以降で、アドレス内に2連続のドット(..)が含まれていたり、アットマーク前にドット(.@)が含まれているアドレスを利用している場合に、メールが送信できなくなることを確認」
  • The NEXT of REST - onk.ninja

    The NEXT of REST 前後リンク RESTful API のおさらい Rails での JSON API 実装まとめ スキーマファースト開発 The NEXT of REST REST で解決していない問題 REST っていうのは当に難しくて、 開発者のお気持ちAPI が異なる 指針であって仕様じゃないのが理由 POST がワイルドカードとして使われるとか クライアントとサーバ間のまだある精神的な溝 API はサーバが作るもので、クライアントは手出ししづらいという意識 REST だとクライアントごとに最適化した API を作りづらい Web とスマホで同じ API を使うときに不要なレスポンスがある 提供されている API が不十分なときにクライアント側で JOIN するハメに のような問題を抱えています。 これかを解決するために、API Query Language (

    The NEXT of REST - onk.ninja
    nilab
    nilab 2020/11/12
    The NEXT of REST - onk.ninja
  • スキーマファースト開発のススメ - onk.ninja

    第 2 部 で 現在 5 派閥ぐらいありそうです。 と書いた中でなぜ OpenAPI を選んだのかというと、 JSON Hyper-Schema は Hypermedia の技術なので、1 サーバ 1 クライアント、同一チームで両方を見るという private API では出番が無い。 RAML はコミュニティ規模が OpenAPI, API Blueprint に比べて小さかった OpenAPIAPI Blueprint、生 JSON Schema だと、OpenAPI が一番「RESTful API」に特化していて、かつ詳細度が高い といった辺りです。 OpenAPIruby だとライブラリが (当時は) 少なかったのですが、まぁ作れば何とかなるだろうと採用しました。 最近のトレンドでも Swagger 1 強になってるっぽくて、良い選択をしたなぁと思っています。 Open

    スキーマファースト開発のススメ - onk.ninja
    nilab
    nilab 2020/11/12
    スキーマファースト開発のススメ - onk.ninja
  • Rails での JSON API 実装まとめ - onk.ninja

    Rails での JSON API 実装まとめ 前後リンク RESTful API のおさらい Rails での JSON API 実装まとめ スキーマファースト開発 The NEXT of REST Ruby on JSON の図のような流れになるんですが、それぞれ見ていきます。 to_json (2011-2013 頃) 2011-2013 年頃、僕らは render :json を使っていました。 render json: @user render json: @user.to_json として User#as_json や User#to_json を利用します。 この頃はまだ SPA という言葉もなく、ネイティブアプリもそこまで流行っていなかったので これで十分だったのですが、どんどん API に世の中が寄っていき、限界を迎えます。 この頃のツラみ JSON を組み立てるのが大変

    Rails での JSON API 実装まとめ - onk.ninja
    nilab
    nilab 2020/11/12
    Rails での JSON API 実装まとめ - onk.ninja
  • RESTful API のおさらい - onk.ninja

    RESTful API のおさらい 前後リンク RESTful API のおさらい Rails での JSON API 実装まとめ スキーマファースト開発 The NEXT of REST REST の歴史 REST (REpresentational State Transfer) という言葉は 2000 年に Roy Fielding の博士論文で初出しました。 (思想としてはその前からあった? REST 入門) 日では 2005 年ぐらいから徐々に流行りだして、 2006 年に WEB+DB Press で特集や連載が組まれる等が行われ、 (Rails 2.x が RESTful を打ち出した) 2007 年の終わりには web 開発者の間では一般化した言葉になっていたって印象。 なぜ REST が必要になったのか はるか昔はメインフレーム上で全部入りのアプリケーションを開発してい

    RESTful API のおさらい - onk.ninja
    nilab
    nilab 2020/11/12
    RESTful API のおさらい - onk.ninja
  • 「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)

    scalar型を新しく定義するためにはscalarキーワードを使います。例えば、Date型を新しく定義するには次のようにします。 scalar Date スキーマではこれだけですが、実際に使う際はGraphQL処理系に対してさらにシリアライズとデシリアライズを定義することになります。 GraphQL組み込みのscalar型は先にあげたものだけなので、例えばバイナリ、日付と時刻、HTML/XML、BigIntなどを必要に応じて追加することになるでしょう。ただしその場合、サーバーサイドとクライアントサイドでシリアライズ・デシリアライズの実装を一致させる必要があります。 Enum enum(イナム)はscalar型の一種で、特定の値のみを持つ型です。例えば、組み込みscalar型であるBooleanをenumで宣言すると次のようになるでしょう。 enum Boolean { true false

    「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ|ハイクラス転職・求人情報サイト AMBI(アンビ)
    nilab
    nilab 2020/11/12
    「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ - エンジニアHub|若手Webエンジニアのキャリアを考える!
  • Smart UI について、だらだらと - みねこあ

    昨年のエントリー、 DDDについて、だらだらと からのびのびになってしまいました、 Smart UI アンチパターンについて。 Smart UI アンチパターンは コの業界で非常に目にするパターンで、また、素人が素人のままで仕事が出来てしまう パターンなのですが、その是非を論じる前に、まずはどういうものかを整理したいところです。 一言で言えば、「Smart UI、アンタ良い者なん?悪者なん?」 * * * DDD の Smart UI “Anti-Pattern” を読んでいると、これは当にアンチパターンなのかとも思えてきます。 Advantages Productivity is high and immediate for simple applications. シンプルなアプリを作る上では生産性は超高いし、出来るのも早いよ! Less capable developers can

    Smart UI について、だらだらと - みねこあ
    nilab
    nilab 2020/11/12
    Smart UI について、だらだらと - みねこあ
  • より良いトランザクションスクリプトを目指す - enrike3のブログ

    ファウラーのエンタープライズアプリケーションアーキテクチャパターン(PofEAA)において、 ビジネスロジックのアーキテクチャにはドメインモデルかトランザクションスクリプトかという二択があります。 仮にプレイヤーの名前変更(ゲームでは可能なことも普通にあるので)をするとします。 ドメインモデル var user = _repository.Find(userId); user.ChangeName(name); //バリデーションは中で行われる=ビジネスロジックがオブジェクトにある _repository.Save(user); ドメインモデル貧血症 //ロジックがモデルオブジェクトの外にある if(!IsValidName(name)) { throw new ArgumentException("name"); } var user = _repository.Find(userId)

    より良いトランザクションスクリプトを目指す - enrike3のブログ
    nilab
    nilab 2020/11/12
    「ファウラーのエンタープライズアプリケーションアーキテクチャパターン(PofEAA)において、 ビジネスロジックのアーキテクチャにはドメインモデルかトランザクションスクリプトかという二択があります」
  • トランザクションスクリプト - Martin Fowler's Bliki (ja)

    [source and translators] 原文: https://www.martinfowler.com/eaaCatalog/transactionScript.html ビジネスロジックをプロシージャ群によって形成する。各プロシージャはプレゼンテーションからの単一のリクエストを処理する。 解説の全文は『PofEAA』 110 ページを参照。 多くのビジネスアプリケーションは、一連のトランザクションであると考えられる。 トランザクションは情報の集まりを、ある約束事に基づいてまとめられたものとみなし、変更を加えることもある。 クライアントシステムとサーバーシステムとのやりとりには、 一定量のロジックが含まれる。 データベースの情報を表示するだけの簡単なロジックもあれば、 検証や計算のために多くのステップを含むロジックもある。 トランザクションスクリプトは、これらすべてのロジックを

    nilab
    nilab 2020/11/12
    「ビジネスロジックをプロシージャ群によって形成する。各プロシージャはプレゼンテーションからの単一のリクエストを処理する」
  • テーブルモジュール - Martin Fowler's Bliki (ja)

    [source and translators] 原文: https://www.martinfowler.com/eaaCatalog/tableModule.html データベーステーブルまたはビュー内のすべての行に対するビジネスロジックを扱う単一のインスタンス。 解説の全文は『PofEAA』 125 ページを参照。 オブジェクト指向のキーは、データとそれを使う振る舞いとを一緒にすることにある。 伝統的なオブジェクト指向のアプローチは、ドメインモデル (116)のように識別子のあるオブジェクトがベースになっている。 従って、従業員クラスのインスタンスは、ある従業員を指すことになる。 これが機能するのは、従業員への参照があれば、操作を実行できるし、関連をたどれるし、従業員のデータを集めることができるからである。 ドメインモデル (116)の問題は、リレーショナルデータベースとのインターフ

    nilab
    nilab 2020/11/12
    「Table Moduleはデータベースのテーブルごとにクラスを用意し、その中にドメインロジックを書く。 インスタンスにはデータに対する様々なプロシージャが含まれる」
  • ドメインモデル - Martin Fowler's Bliki (ja)

    [source and translators] 原文: https://www.martinfowler.com/eaaCatalog/domainModel.html 振る舞いとデータをカプセル化した、ドメインのオブジェクトモデル。 解説の全文は『PofEAA』 116 ページを参照。 最悪、ビジネスロジックは非常に複雑となる。 ルールとロジックは様々なケースや振る舞いの傾向を記述する。 オブジェクトはこの複雑さを扱うために設計される。 DomainModelはオブジェクトが関連したクモの巣(web)を作る。 各オブジェクトには、 「会社」のような大きなものにしろ、 「注文フォームの行」程度の小さなものにしろ、 なんらかの意味が備わっている。

    nilab
    nilab 2020/11/12
    「DomainModelはオブジェクトが関連したクモの巣(web)を作る。 各オブジェクトには、 「会社」のような大きなものにしろ、 「注文フォームの行」程度の小さなものにしろ、 なんらかの意味が備わっている」
  • アクティブレコード - Martin Fowler's Bliki (ja)

    [source and translators] 原文: https://www.martinfowler.com/eaaCatalog/activeRecord.html データベースのテーブルやビューの列をラップし、データベースアクセスをカプセル化し、ドメインロジックを追加するオブジェクト 解説の全文は『PofEAA』 160 ページを参照。 データと振る舞いの両方を持つオブジェクト。データの多くは永続的であり、データベースに格納される必要がある。ActiveRecordは、メインオブジェクトにデータアクセス処理を置くという最も明らかなアプローチを採用している。この方法では、全員がデータベースへの読み書きするやり方を知っている。

    nilab
    nilab 2020/11/12
    「データベースのテーブルやビューの列をラップし、データベースアクセスをカプセル化し、ドメインロジックを追加するオブジェクト」
  • データマッパー - Martin Fowler's Bliki (ja)

    [source and translators] 原文: https://www.martinfowler.com/eaaCatalog/dataMapper.html Mapper (473) レイヤは、オブジェクトとデータベース間でデータを移動させる。データは、オブジェクト、データベース、およびMapperから独立させる。 解説の全文は『PofEAA』 165 ページを参照。 オブジェクトとリレーショナルデータベースは、 異なるメカニズムでデータを構成している。 オブジェクトの多くの部分(コレクションや継承など)は、 リレーショナルデータベースでは表すことができない。 多くのビジネスロジックを伴ったオブジェクトモデルを構築する場合、 データおよびデータに付随する振る舞いをうまくまとめるために、 このメカニズムを使うことは非常に大切である。 これによりスキーマが異なったままとなる。 つま

    nilab
    nilab 2020/11/12
    「DataMapperは、メモリ内のオブジェクトをデータベースから分離するためのソフトウェアレイヤである。 その責任は両者間でデータを受け渡しすること、そして、両者を分離することである」
  • 行データゲートウェイ - Martin Fowler's Bliki (ja)

    nilab
    nilab 2020/11/12
    「RowDataGatewayは、レコード構造のレコードのようなオブジェクトを提供する」「データソースへのアクセス処理は、このインターフェースの裏に隠されている」
  • テーブルデータゲートウェイ - Martin Fowler's Bliki (ja)

    [source and translators] 原文: https://www.martinfowler.com/eaaCatalog/tableDataGateway.html データベース テーブルへの Gateway (466)として振舞うオブジェクト。インスタンスはテーブル内のすべての行を操作する。 解説の全文は『PofEAA』 144 ページを参照。 アプリケーションロジック内でSQLをミックスすると、いくつか問題が起きる。 多くの開発者はSQLに不慣れで、慣れている人間でもうまく書ける者は少ないだろう。 データベース管理者の場合は、 データベースのチューニングや変更を行うためにも SQLを簡単に扱える必要がある。 TableDataGatewayは、テーブルまたはビューにアクセスするすべてのSQL(select、insert、update、delete)を扱う。他のコードはT

    nilab
    nilab 2020/11/12
    DAO 「TableDataGatewayは、テーブルまたはビューにアクセスするすべてのSQL(select、insert、update、delete)を扱う。他のコードはTableDataGatewayのメソッドを呼び出し、データベースとやり取りする」
  • Core J2EE Patterns

    This book is essential for J2EE developers and has helped reinvigorate the patterns movement. - Martin Fowler, Chief Scientist, ThoughtWorks The Java landscape is littered with libraries, tools, and specifications. What's been lacking is the expertise to fuse them into solutions to real-world problems. These patterns are the intellectual mortar for J2EE software construction. - John Vlissides, co-

    nilab
    nilab 2020/11/12
    Core J2EE Patterns
  • エンタープライズアプリケーション開発のパターン - Martin Fowler's Bliki (ja)

    以下の文章は、Martin Fowler による Developing Patterns of Enterprise Software の日語訳である。 以下は、個人的な調査で集めたエンタープライズ ソフトウェア開発に関するパターンのカタログである。 最終更新日: 2005/2/19 近年、小粒だが有用なエンタープライズ システム開発パターンが記述されてきている。 このページでは、特筆すべきパターンや、パターンの相互作用などについて述べていく。 各パターンに関するより詳しい情報については、 PatternShareを参照するとよいだろう。 ここはマイクロソフト パターン グループにより運営されており、 独自にパターン カタログの体系付けを行っている。 パターン作者を結びつける公式的な組織は存在していない。 しかし、私たちは非公式な関係で結びついている——お互いの作品をレビューしあっている

    nilab
    nilab 2020/11/12
    パターンのカタログ。「ここにリストアップしたパターンは、 少なくとも私がよく知っているパターンであり、 使っていて気持ちの良いパターンである。 このカタログにすべてのパターンを載せようというつもりはない」
  • エンタープライズアプリケーションアーキテクチャパターンを読む: 1.概要

    morimorihoge です。 いつのまにか12月ということで、今年も弊社BPSのアドベントカレンダーをやることにしました。普段あまり記事を書かないメンバも表に出るきっかけになると良いと思います(僕自身ももっと書かねば)。 突然ですが、社内勉強会で エンタープライズアプリケーションアーキテクチャパターン を何回かに分けて解説することにしました。 このは以前から積みリストとして翔泳社Kindle投げ売りセールの時に買ってあったのですが、今ひとつAmazonレビューが奮わない感じだったので後回しになっていたの一つです。 しかし、いざ読み始めてみると内容はとても良いもので、これは業務Webアプリを書いている職業エンジニアにはとてもとてもためになりそうな内容でした。 いくつかの理由(後述します)から、この書籍は一人で読んで理解するのは難しいため、を買って配るよりは勉強会の中で案件事例など

    エンタープライズアプリケーションアーキテクチャパターンを読む: 1.概要
    nilab
    nilab 2020/11/12
    「ボロクソに酷評されている翻訳版ですが、文章単位レベルでできるだけ原著に忠実に翻訳しようとしているという良い点があります」「誤訳が疑われる文を見つけたら原著の当該文を見つけてそちらを参照する」
  • パターンカタログ(日本語) - Martin Fowler's Bliki (ja)

    [source and translators] PofEAAのパターンカタログの邦訳名/原著名の対応です。以下の一覧にあるパターン名の後ろのカッコ内の数字は邦訳のページ番号です。原文のページ番号はPofEAAのパターンカタログを参照してください。 邦訳版のパターン名に関する議論などは、JapanesePatternNamesのページを参照。 「ドメインロジックパターン」(Domain Logic Patterns): トランザクションスクリプト(TransactionScript) (115), ドメインモデル(DomainModel) (123), テーブルモジュール(TableModule) (133), サービスレイヤ(ServiceLayer) (142). 「データソースのアーキテクチャに関するパターン」(Data Source Architectural Patterns):

    nilab
    nilab 2020/11/12
    「PofEAAのパターンカタログの邦訳名/原著名の対応です。以下の一覧にあるパターン名の後ろのカッコ内の数字は邦訳のページ番号です。原文のページ番号はPofEAAのパターンカタログを参照してください」
  • Patterns of Enterprise Application Architecture - Martin Fowler's Bliki (ja)

    Martin Fowler氏とAddison-Wesley Pub Coの許可を得て、パターンカタログの翻訳を行っています。 ※書籍の邦訳とは一切関係ありません。 PofEAAのパターンカタログから読始めるとよいでしょう。 パターンカタログの日語版 パターンカタログの英日対応表 上記のカタログでは書籍の訳語を踏襲していますが、各ページでは「できるだけ正しい」訳語を使うようにしています。邦訳版のパターン名に関する議論などは、JapanesePatternNamesを参照。 ページ一覧 アクティブレコード アプリケーションコントローラ 関連テーブルマッピング BBS パターンカタログ パターンカタログの比較表 パターンカタログ(日語) クラステーブル継承 クライアントセッションステート 粗粒度ロック 具象テーブル継承 データマッパー データ転送オブジェクト データベースセッションステート

    nilab
    nilab 2020/11/12
    「Martin Fowler氏とAddison-Wesley Pub Coの許可を得て、パターンカタログの翻訳を行っています」
  • Smart UI パターンが再評価される世界 - id:onk のはてなブログ

    設計ナイト2020 を受けて、今どんなアーキテクチャを選ぶべきかという話をしたくなったのだ。 kichijojipm.connpass.com 設計ナイトで高ぶった結果1時間コースの発表資料が完成したので供養場所を探しています。聞いてくれ!!!— Takafumi ONAKA (@onk) 2020年11月1日 お前誰よ 2000年代前半に SI 2000年代後半にブログ、SNS 2010年代にソーシャルゲーム 2020年代に UGC サービス をやってきた人間。数百万〜数億行のデータ、月間数千万〜数十億 imp 程度を主戦場にしています。 今日の話 DDD と PofEAA から学ぶパターン/アンチパターン Rails によって発見された、密結合で速く走れるソフトウェア 今求められているアーキテクチャ 昂ぶって 15,000 字ぐらい書いてしまった。 DDD と PofEAA から学ぶパ

    Smart UI パターンが再評価される世界 - id:onk のはてなブログ
    nilab
    nilab 2020/11/12
    Smart UI パターンが再評価される世界 - id:onk のはてなブログ
  • Joe Biden had quite the week. So did Japanese mayor Jo Baiden.

    Joe Biden had quite the week. So did Japanese mayor Jo Baiden. Yutaka Umeda, the mayor of Yamato, Japan, has become an Internet sensation for having kanji characters in his name that can also be pronounced "Jo Baiden." (Video: Reuters)

    Joe Biden had quite the week. So did Japanese mayor Jo Baiden.
    nilab
    nilab 2020/11/12
    Yutaka Umeda: Japan’s Jo Baiden rises to fame - The Washington Post