Vue.js の設計地図を作成しました。設計概念の依存関係の図式化して理解し、 フロントエンド設計をモデリング起点で考えたブログです。
![Vue.js設計地図 〜設計概念の依存関係からフロントエンド設計を見つめ直す〜](https://cdn-ak-scissors.b.st-hatena.com/image/square/499db63db65b14f3750e301fb88870db3a819317/height=288;version=1;width=512/https%3A%2F%2Fik.imagekit.io%2Fnewt%2F61b151f921640c0018173598%2F3f92602a-fec5-4d3f-a6db-9f3fabdd055a%2Fshutterstock_372276775.png%3Ftr%3Dw-1000%2Ch-1000%2Cc-at_max)
2014年にAWS Lambdaが登場し、Functionを単位としてアプリケーションを実行する基盤をFunction as a Service(以下、FaaS)と呼ぶようになった。 そして、同時にサーバーレスアーキテクチャ、またはサーバーレスコンピューティングと呼ばれる新しいコンセプトが普及するに至った。 当初、そのコンセプトが一体何を示すかが定まっていなかったために議論が巻き起こり、今現在では一定の理解に着地し、議論が落ち着いているようにみえる。 しかし、サーバーレスという名付けが悪いということで議論が着地したようにみえていることにわずかに疑問を覚えたために、2019年の今、これらの流れを振り返ってみて、サーバーレスアーキテクチャとは何かを改めて考えてみる。 サーバーレスとの個人的関わり サーバーレスアーキテクチャという名を僕がはじめて耳にしたのはAWS Lambdaが登場した2015
改めて ソフトウェアアーキテクチャ GUI のアーキテクチャの歴史を調べてみたくなった。本来の MVC とは何か?何が正しくて何が間違っているか?も重要なのだが、それよりは、なぜそれが生まれたのか?何を解決しようとしたのか?どのような問題点が生まれて、それをどう工夫して解決・発展してきたのか?を知りたい。しかし、そういうことがまとまっている日本語の情報が少ないので、自分で色々かいつまんでメモしておく。 MVC の原点は 70 年代にまで遡り、実装としては Smalltalk-80 のクラスライブラリとして実装されたのが最初だと思われる。しかし、後世に大きな影響を及ぼしたポイントをいくつか持ちつつも、当時のアーキテクチャが現代においてそのまま利用されているケースはほぼないといっていい。したがって、単に MVC といった時には大抵最初期の MVC を指すことは少なく、区別するために最初期の M
メルカリのAI EngineeringでTech Leadを務めている中河です。今回は3/18に正式リリースされた「写真検索機能」を支えるバックエンド・インフラをシステム側からの視点でご紹介します。 写真検索とは 所謂、画像検索機能で商品名を知らなくても画像から商品を検索できる機能の事です。詳しくは下記の公式リリースをご覧ください。 about.mercari.com 基本的な写真検索の仕組みは、Deep Neural Networks (DNN)を使用して商品画像から特徴ベクトルを取得し、取得した特徴ベクトルをApproximate Nearest Neighbor Index(ANN Index)に追加して画像indexを構築。 検索時には同じく商品画像からDNNを介して特徴量ベクトルを取得し、ANN Indexから検索します。 アーキテクチャの概要 Figure1 上記がアーキテクチ
こんにちは!広告技術部のUT@mocyutoです! 最近はスマブラでなんのキャラを使おうか迷っています この記事はGunosy Advent Calender 19日目の記事です。 昨日の記事は@mathetakeのpeer-to-peerはGoogleの夢を見るかでした。 はじめに OIDC ALBの認証機能 一般的な認証機構 ALBを利用した認証 データフローの説明 実際の導入 APIでjwtから認証情報を取得する例 まとめ はじめに みなさんユーザ認証はどうやって作っていますか? フレームワークを使って実装していますか? それともイチから自前で作っていますか? SSOのシステムとかはどうでしょう? OIDCとAWSのALBを使えば簡単にユーザのログイン管理を作ることができます。 (少し煽り気味のタイトルですいません ;) OIDC OpenID Connect と言って、OAuth2
こんにちは、グノシー事業部の山本です。 この記事はGunosy Advent Calendar 2018の15日目の記事です。 昨日の記事はQAチームのTeiiさんとakinkさんの人気のテスト管理ツール「qTest」と「PractiTest」を触ってみたよでした。 はじめに 2018年ももう終わりですね。今年はモジュール分割しましたか? ここでいうモジュール分割はAndroidアプリにおけるコードのGradle Projectへの分割のことです。 2016年のGoogle IOで発表されたInstant Appによって突然現れた印象のモジュール分割ですが、今年はGradle 3.0(もう5.0だけど)、 Dynamic Feature Modulesとモジュール分割の有用性/必要性の高まる年だったと思います。 Gunosy社内でいうと一部の既存のアプリではモジュール分割を進めているものの
こんにちは。メルペイで、決済・振込申請のバックエンドソフトウェアエンジニアをしている id:koemu です。 今日は、バッチ処理を行う理由について、考察を深めて設計に活かしていく話をしたいと思います。 はじめに バッチ処理とは、ある決まったタイミングで1つのプログラムが複数のデータを 一括処理 することを指します。この反対の言葉として、オンライン処理があります。オンライン処理とは、お客様の操作を初めとしたイベントをもとに 逐次処理 されるものです。OLTP(Online Transaction Processing)とも言います。 本エントリでは、バッチ処理を採用するにあたり、どういったユースケースが適切なのかを整理して、今後のソフトウェアの設計の指針にできることを目指しています。今回は、「バッチ処理を採用するとき」と「バッチ処理の設計」の2つについて取り上げます。 バッチ処理を採用する
この記事はドワンゴ Advent Calendar 2018 25日目の記事です。 ドワンゴでニコニコ生放送のPC Webフロントエンジニアをやっています、 @kondei です。 いつまでも新人気分だったのに、いつの間にか入社5年目になり、この前ナチュラルに新卒に歴史的経緯を語る立場になっていて勝手にショックを受けました。いにしえの時代(最後期のとはいえ)から現在まで実際に開発して知っているフロントエンド開発者が数人になってしまって貴重なので、いい機会なのでまとめようと思います。 内容的には ニコニコ生放送の watch ページを MobX で作り直している話と重なる部分もあります。 はじめに まず、大人数のフロントエンド開発でアーキテクチャをどうするべきかの一つの解を得たので、それを述べます。 そして、どうしてそうなったのか、つまりニコニコ生放送が過去にどういう問題を抱えてきて、どうい
この記事は クラウドワークス Advent Calendar 2018 の8日目の記事です。 はじめに こんにちはクラウドワークスでエンジニアをしている @tkoshida です。 つい最近、新規のiOSアプリを開発するプロジェクトが始まったのですが、そのプロジェクトのiOSアプリ開発でクリーンアーキテクチャを採用しようということになりました。 しかし開発メンバーの一人から「クリーンアーキテクチャは嫌だ」と言う声があがりまして、ここでは何でそんなことになったんだっけ、というのを回想してみたいと思います。 TL;DR クリーンアーキテクチャやってみたけどメンバーから実装が面倒でやりたくない的なことを言われた。 別にクリーンアーキテクチャが悪いわけではない。 ただ確かに実装効率も検討してアーキテクチャを考えたほうが良いかもと思った。 反発の起きたポイント 冒頭の開発メンバーの意見をよくよく聞い
この記事は、ドメイン駆動設計 #1 Advent Calendar 2018の9日目です。 明日は@kmdsbngさんです。 今回は、ドメイン駆動設計(以下DDD)を学ぼうとする人に対して参考になる資料をまとめます。 DDD関連資料のオススメ まずはDDDの青い本、エリック・エヴァンスのドメイン駆動設計から手を出したいところですが、500ページ超えで分厚く、初学者の人とっては解説される内容が抽象度が高く、理解するのに苦労すると思います。 ですのでこれから紹介するSTEPの順番から読んでいくのことをオススメします。 STEP1 まずはDDDの概念から理解していくことから始めましょう。下記の本がオススメです。 わかる!ドメイン駆動設計 ~もちこちゃんの大冒険~ https://booth.pm/en/items/392260 この本はストーリー形式でDDDを解説されていますので比較的理解しやす
みなさまこんにちは、れおりんです。この記事はQiitaのYYPHP Adventカレンダーの15日目の記事。 この記事では、全部の技術的な要素を説明することは時間的に難しいので、大事な用語を紹介することと、僕の勝手な意見を書いていこうとおもう。この記事はソフトウェア開発をこれからやる、もしくは少しやっているといった方が対象だ。なので技術的な詳細よりも完結で全体を把握のしやすさを念頭に置いている。 複雑さに立ち向かう ソフトウェアを開発していると、不具合がでたり、新機能を追加したらバグったり、納期に間に合わなかったり、機能が足りなかったり色々な問題が起るとおもう。その問題はソフトウェアは複雑になりやすいという側面があるからだ。その複雑さを軽減する方法が日々世界中の偉い人が考えてくれている。ほんの少し、それらを紹介していこうと思う。 オブジェクト指向 オブジェクト指向は、コンピュータの性能が上
これは食べログAdventCalendar2018 12日目の記事です。 本日は私が今現在これがベストと思っている設計の話をしたいと思います。 はじめに これはあくまで私の個人的な考えでかつ今現在の話ですので、1ヶ月後には違うことを言っているかもしれませんw 今回の話は以下のような前提を想定しています。 開発メンバーが多い 長期的な運用をする 機能も多数(参照系、更新系など様々) 具体的な数字に関してはメンバーのスキルや、サービスの内容にもよりますので、なんとなくでイメージしてもらえればと思います。 自分の感覚値で言うと、機能に関しては主力な機能が3、4つあれば十分大きいと思います。 上記のような条件にマッチしない場合は、過設計となりコストが高くなるだけになる可能性もありますので、その辺の判断には注意が必要です。 また、この記事の中ではDDD(ドメイン駆動設計)で使用される用語もでてきます
こんにちは、 @yuzutas0 です。 「いかにDataとOpsを繋げるか」というテーマでDevelopers Summit 2018 Summerに登壇しました。 多岐に渡るトピックを網羅しているので、以下のような内容に興味のある方はぜひスライドを参照ください。 Webマーケティングにおけるデータ活用事例 「自然に」「無理なく」データを活用できるようなユーザー体験のデザイン データ基盤のアーキテクチャやインフラ設計 データチームへのスクラム開発手法の適用 非エンジニア・サイエンティストがデータ分析を実施するための文化醸成 なにはともあれ無事に終えることが出来てほっとしています。 ご関係者の皆様、誠にありがとうございました。 DataOpsとは何か 本稿では裏話として、タイトルにある「DataOps」の意味についてご説明します。 DataOpsという言葉ですが「DevOps」のコンセプト
こちらはDMM.com Advent Calendar 2018 11日目の記事です。 はじめに 弊社は20年間成長し続けるサービスを持っている一方、技術の負債も十分に溜まりました。この現状に対して、弊社が改善策を取り込んでいます。 アーキテクチャをどううまく進化させて行くのか考えているうちに、偶然に有名な論文のことを思い出しました。 Fielding, Roy Thomas. Architectural Styles and the Design of Network-based Software Architectures. Doctoral dissertation, University of California, Irvine, 2000. https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm 十年前に「REST
先日慶應義塾大学日吉キャンパスで行われた builderscon2018、最高のカンファレンスでしたね。わたしも「開発現場で役立たせるための設計原則とパターン」というタイトルで発表させていただきました。今回は恒例「実況中継シリーズ」として、プレゼンの再現をブログで行いたいと思います。 なお、過去の実況中継シリーズは前職の技術ブログにまとまっていますので、そちらからご覧ください。 それでは本編を開始したいと思います。 開発現場で役立たせるための設計原則とパターン アバンパート よろしくお願いします。 まず最初に簡単に自己紹介をさせていただきます。 先月転職をしまして、8/1からClassiという会社で働いています。妻と息子がおります。Scalaが好きですが、仕事ではRubyメインという感じです。 Web+DB PressやSoftware Designで何度か特集を書かせていただきました。と
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く