タグ

designに関するymm1xのブックマーク (252)

  • Laravel におけるリポジトリ実装のポイント - Shin x Blog

    Laravel を使った開発でも、ドメインロジックと RDBMS などの永続化層へのアクセスを分離するためにリポジトリパターンを採用するケースが増えてきました。 ただ、Laravel には Eloquent という Active Record タイプの ORM があるので、これとリポジトリをどのように組み合わせるかで悩んでいる人が多いようで、これまで開発現場や勉強会などで質問を受けることがありました。 エントリでは、リポジトリを実装してきた経験を元に、私が考える実装のポイントをご紹介します。 1. ドメインデータの入出力にリポジトリパターンを使う 2. メソッドの型宣言にドメインデータを指定する 3. 機械的に CRUD メソッドを実装しない 4. Eloquent を利用したリポジトリクラスの実装 5. 複数テーブルを扱うリポジトリ 6. Paginator との連携 さいごに 1.

    Laravel におけるリポジトリ実装のポイント - Shin x Blog
  • SQLアンチパターンもりもりDBを設計しよう! - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 名著SQLアンチパターンを読み終えたので、それの復習のために悍ましいデータベースを作ろうと思った。 まず前半では、SQLアンチパターンを意図的に盛り込み、目も当てられない酷い設計をします。 そのあとリファクタリングを行なったER図に書き直していきます。 なお、真面目に書くと参考書の丸写しになってしまうので、この記事は アンチパターンもりもりのER図を見て嫌悪感を学習し、設計に役立てようという趣向のもと、詳しい説明は省きます。 とても良いなので読んでください。 想定するシステムの概要と状況 目的において適切かはわかりませんが、とり

    SQLアンチパターンもりもりDBを設計しよう! - Qiita
  • Laravel で Service 層を取り入れるときに検討したいこと - Qiita

    この記事について 普段何気なく使っている Service クラス(Service 層)について、書籍を中心にその役割や目的について書かれた資料を読みながら、Laravel 製のウェブアプリケーションに Service 層を取り入れる際の判断材料となるような情報や観点を、提供できればと思います。 以前にも調べたり考えたりしたんですが、そのときは明確な役割や使い方の提案ができなかったので、それの補遺的な位置づけになります。 Laravelでウェブアプリケーションをつくるときのベストプラクティスを探る (9) Service編 - Qiita Service レイヤーとは これ 出典: Martin Fowler's Bliki https://martinfowler.com/eaaCatalog/serviceLayer.html どんなときに Service 層が必要になるか Despit

    Laravel で Service 層を取り入れるときに検討したいこと - Qiita
  • HTTP API の設計方向

    見てみると、たしかに Get 系の API だとしても POST を利用しているし、API の URL 設計に get_shared_link_file のようによく言われる REST っぽい設計は使っていなかった。 この方針は同意だ。自分は結構前に REST っぽい API を捨てることにした。だからといって REST API がダメだとかは思っていない。 一般ユーザが使う場合の API は REST API であるほうが慣れ親しんでいる場合が多いからだ。 AWS で利用されている HTTP API 仕様AWS の DynamoDB の Erlang/OTP ドライバーを書いているときに気づいたのだが、AWS の一部のサービスはかなり独特な API の仕様になっている。

  • Sankaku Channel(海外の画像投稿サイト)のタグの仕組みが凄い

    まあ正直このサイト自体は、無断転載と著作権侵害の巣窟だし、勝手に広告ポップアップするしで全然褒められたサイトじゃないんだが、 タグの取り扱いに関してだけは気で感動したので紹介したい。 他のサイト(ニコ動とかpixivとか)もこういう仕組みになってくれないかなあ。 タグ数に上限が無い当に無制限ってことはないだろうが、見かけ上の上限は無い。少なくとも50個くらいは付けられる。 キャラ名や作品名、シチュや場所を表す言葉から、キャラの人数、ポーズ、付けている装飾品の隅々までほとんどタグ化されている。 pixivなんかでよくある「好みの絵を探したいけど俺の好みはタグで表されない!」的な現象はほとんどあり得ない。 タグに属性がある作者名や作品名やキャラ名には「Artist:」「Copyright:」「Character:」といった専用の属性をタグに付与することができ、これが付いているとタグの色が変

    Sankaku Channel(海外の画像投稿サイト)のタグの仕組みが凄い
  • Unity開発で使える設計の話+Zenjectの紹介

    ゲームの仕様書を初めて作成する人のための足掛かりのスライド ▼以下のスライドを一つにまとめました ・ゲームの仕様書を書こう1 仕様書作成の分業とリストの作成 https://www.slideshare.net/ChizuruSugimoto/ss-173331109 ・ゲームの仕様書を書こう2 仕様書に記載する機能内容 https://www.slideshare.net/ChizuruSugimoto/ss-173332578 ・ゲームの仕様書を書こう3 仕様書に記載するデータと画面 https://www.slideshare.net/ChizuruSugimoto/ss-173333150 ・ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用 https://www.slideshare.net/ChizuruSugimoto/confluence-17333

    Unity開発で使える設計の話+Zenjectの紹介
  • Webアプリケーションにおける正しいキャッシュ戦略 - Sansan Tech Blog

    こんにちは。プロダクト開発部のサーバサイドエンジニアの荒川です。普段はSansanのスマホアプリのAPIの開発をしています。 今回扱うテーマは皆さん大好きキャッシュ(Cache) です。 Webアプリケーションを開発するエンジニアである以上、キャッシュの存在からは逃れられないでしょう。 例えばパフォーマンスを向上させる手段として、キャッシュを仕込むことは往々にしてあるかと思います。 キャッシュを使えばパフォーマンスが向上しそう、というイメージも強いため安易に選択する戦略になりがちですが、正しく扱うことは質的に難しいです。 しかしキャッシュを上手に使えば、ユーザ体験を圧倒的に向上させることができます。 そんな諸刃の剣キャッシュ💰について考慮するべきこと、その戦略を改めてまとめてみました。 今回の対象 今回の対象は、アプリケーションレベルでのキャッシュ戦略を取り扱います。 いわゆるキャッシ

    Webアプリケーションにおける正しいキャッシュ戦略 - Sansan Tech Blog
  • Laravelで実践クリーンアーキテクチャ - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? この記事を書くにあたって Laravel について色々サポートしてくれた皆さまに向けてお礼申し上げます。ありがとうございました。 記事はクリーンアーキテクチャに対する理解を深めていただくために、「実践クリーンアーキテクチャ」の内容を Laravel で実装して解説するという内容になっています。 記事のゴールは「クリーンアーキテクチャに対する理解を深めてもらう」というものです。つまり、この実装の形は一例に過ぎません。 はじめに 皆さんクリーンアーキテクチャはご存知でしょうか。 そう、こんな図のアレです。 The Clean Archit

    Laravelで実践クリーンアーキテクチャ - Qiita
  • オブジェクト指向できていますか?

    Visual Studio Users Community Japan #1 で発表した資料になります。 https://vsuc.connpass.com/event/143114/

    オブジェクト指向できていますか?
  • PHP: 静的メソッドは何のためにあるか? - Qiita

    稿ではPHPの静的メソッドが何のためにあるかを考えるものである。 クラスとインスタンスの概念的な関係性 静的メソッドを理解するには、クラスとインスタンスの関係性を理解していなければならない。 クラスとインスタンスの関係は何だろうか? 一言で言えば、クラスは、複数のインスタンスの集合である。概念的な集合であって、インスタンスの配列という意味ではない。例えば、$user1のオブジェクトと$user2のオブジェクトを総じて、Userと呼べるのは、Userが$user1と$user2の集合だからだ。 以上の集合論的な観点を踏まえると、静的メソッドは何のためにあるかといえば、集合に含まれるすべてのオブジェクトに共通した処理(公理ともいう)を記述するためにあると言える。 逆を言えば、集合の一要素にすぎない$user1にのみ関係する処理は静的メソッドにはならない。Userクラス(ここまで読んだみなさん

    PHP: 静的メソッドは何のためにあるか? - Qiita
  • SwiftはどのようにJavaの検査例外を改善したか - Qiita

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

    SwiftはどのようにJavaの検査例外を改善したか - Qiita
  • サーバーレスパターン - アーキテクトのためのパターンカタログ

    やりたいこと(ユースケース)から利用パターンへ到達できるように、ユースケース主導で紹介。利用するサービスのすべての機能をを覚えなくてもやりたいこと/部分からスタートできます。実際、類似するアーキテクチャの実例が多くあることがわかります。 パターン別のテンプレートから始めてみよう!  チュートリアルで体感しよう! - いくつかのパターンはテンプレート/雛形から始めることができます。それぞれのパターンの「Template」「Sample」「Solution」のリンク先を参照ください。 - 実際に作って動かせるチュートリアルに「Tutorial」「Workshop」リンクからアクセスできます。ちょっとしたトライに費用が気にならないのもサーバーレスの良いところ。 - 各パターンの特性に合わせたエラーハンドリングの記事を拡充中。それぞれのパターンの「エラーハンドリング」リンクからご確認ください。 -

    サーバーレスパターン - アーキテクトのためのパターンカタログ
  • プログラマーって どんな人? -- 牛乳と卵で理解するプログラマーという人種

    Around Taisho 『大正GeekNight〜プログラマーたちが大正にやってくる〜』No.11 ... のスピーチです

    プログラマーって どんな人? -- 牛乳と卵で理解するプログラマーという人種
  • バッチ処理の採用と設計を考えてみよう | メルカリエンジニアリング

    こんにちは。メルペイで、決済・振込申請のバックエンドソフトウェアエンジニアをしている id:koemu です。 今日は、バッチ処理を行う理由について、考察を深めて設計に活かしていく話をしたいと思います。 はじめに バッチ処理とは、ある決まったタイミングで1つのプログラムが複数のデータを 一括処理 することを指します。この反対の言葉として、オンライン処理があります。オンライン処理とは、お客様の操作を初めとしたイベントをもとに 逐次処理 されるものです。OLTP(Online Transaction Processing)とも言います。 エントリでは、バッチ処理を採用するにあたり、どういったユースケースが適切なのかを整理して、今後のソフトウェアの設計の指針にできることを目指しています。今回は、「バッチ処理を採用するとき」と「バッチ処理の設計」の2つについて取り上げます。 バッチ処理を採用する

    バッチ処理の採用と設計を考えてみよう | メルカリエンジニアリング
  • Webサービスの多言語・多通貨・複数地域展開におけるバッドプラクティスについて考えてみる | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

    2021年1月15日追記:当記事でご紹介しておりますdoorは、2020年にサービスを終了いたしました。今までご愛顧いただきましたお客様に、深く御礼申し上げます。 こんにちは、バックエンドエンジニアのグッチです。 2019年にもなったことだし、今日はWebサービスを作った思い出を振り返りながら、多言語・多通貨・複数国対応のバッドプラクティスについて書いてみようと思います。 Webサービス・アプリなどを仕事趣味で作って(作ろうとして)いる方の参考になれば嬉しいです。実際に自分のサービスが全世界で使われるサービスになるかはさておき、いつか来るかもしれないその日に向けて、考えてみる機会にしていただけたら……。 ▼最近のご飯 Webサービス海外展開って結構大変 日ごろWebサイト/サービス/アプリを使っていて、こーゆーの見たことありますよね? 海外のサイトなはずなのになぜか初めから日語で表示

    Webサービスの多言語・多通貨・複数地域展開におけるバッドプラクティスについて考えてみる | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
  • PHP: Builderパターンの実装手順 #1【基礎実装】 - Qiita

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

    PHP: Builderパターンの実装手順 #1【基礎実装】 - Qiita
  • JSONでデータを返すAPIは構造の意味を持たせつつArrayを返そう

    すっげー初歩的な話。初歩的すぎて『Web API: The Good Parts』にもたぶん載ってない。 あと envelop の話はあえて無視してます。envelop を付けるべきか否かはこのエントリでは扱いません。あくまでデータの話に限定しています。 まとめ自分でお手軽に作る時に key-value のデータをそのまま返しちゃう場合があるけど、これはやめた方がよい。 つい

    ymm1x
    ymm1x 2019/01/24
    キーの順番に依存すること自体が何やら嫌な臭い。PHP 特有の {} を [] として扱ってしまうバグは減りそう
  • (ユーザ受けする)プログラミング言語の構文について考えてみた

    多くのユーザに受け入れられる構文にはどのような要素が必要なのかを、だらだらと考えてみたものです(残しておくためにセルフまとめにしました)。根拠が極度に私個人の経験依存で、データの裏打ちもないのでツッコミ歓迎です。あと、駄文22から33に番号飛んでいますが、眠いせいでミスしただけです…。

    (ユーザ受けする)プログラミング言語の構文について考えてみた
  • Slack のロゴが新しくなりました!

    日、ブランドデザインのリニューアル計画の第一弾として、Slack では新ロゴを発表しました。Slack 社員だけでなく、ユーザーの皆さんにも愛されてきた以前のロゴ (とデザイン) をなぜ変えるのか、疑問に感じる方もいるのではないでしょうか。そこで、デザイン刷新の理由と、新しいデザインに込めた思いをご説明したいと思います。 まず、今回の変更は、なんとなく…といった軽い気持ちで行ったわけではありません!諸行無常とあるように、何事も変化というのは避けられず、自然の流れかもしれませんが、ロゴ変更の理由としては十分ではありません。ロゴというブランドの顔を変更するのは「来のロゴの役割を果たしていない」という確固たる理由がある場合です。私たちが愛してきたロゴは、まさにこのケースでした。私たちはその事実を認め、よりシンプルでわかりやすい、ロゴとしての役割を果たす新しいデザインに進化させるため、今回のロ

    Slack のロゴが新しくなりました!
    ymm1x
    ymm1x 2019/01/17
  • コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014

    (日語は下にあります / Japanese follows English) We, engineer, live in Terminal. Terminal is our world. We can change our world. We can also change real world from our world. How we can change our world ? Write CLI tool. In this talk, I'm going to talk about what I'm thinking when writing CLI tool. Goal of this talk is to share how to write useful CLI tool from Unix philosophy and my some experiences. In t