# 実装の参考資料 - https://soudai.hatenablog.com/entry/2022/11/11/110825 # 類似の登壇内容の動画 - https://www.youtube.com/watch?v=PXy6I-AeI-I
![マルチテナントの実現におけるDB設計とRLS / Utilizing RSL in multi-tenancy](https://cdn-ak-scissors.b.st-hatena.com/image/square/87b7dd4fefa4820d3a4ae6c57defd9290715de79/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F87ac3bf86711462b9e32a9ce457316da%2Fslide_0.jpg%3F29278009)
はじめに 皆さんこんにちは、株式会社エムアイ・ラボのエンジニアです! 今回はソフトウェア設計のSOLID原則について学習したので、弊社のメインの開発言語であるTypeScriptのサンプルコードを使って共有できればと思います。 SOLID原則は、オブジェクト思考プログラミングにおいて、ソフトウェアがメンテナンスしやすく、拡張や変更に強いソフトウェア設計を行うための原則です。 SOLID原則にはSOLIDの頭文字をそれぞれとった、5つの原則があります。 単一責任の原則(Single Responsibility Principle) 単一責任の原則とは、クラスが一つの機能や責任を持つべきで、クラスが変更される理由は一つであるべきというです。 クラスが一つの機能や責任のみを持つようにすることにより、コードは再利用可能でテストが容易になります。 単一責任の原則を遵守している例 以下のBirdクラ
この記事はキーボード #1 Advent Calendar 2023の3日目の記事です。 前日はIKeJIさんの今年作ったキーボードまとめ(2023)です。 今年も、自作キーボードにどっぷりと浸からせて頂きました。 なんかんだでキーボードを8つ設計し、キーキャップを4種類ほどデザインしたりと思いの外のめり込んでましたね。 早く飽きたい。 さて、私が今年に頒布したキーボードキットの内、一番人気は「miniDivide」でした。 簡単にminiDivideの紹介を並べると 0.8u(16mmピッチ)の38キー分割型キーボード。 従来のキーボードより各キーが近いので... 手が小さい方でも使いやすい。 指の動きを最小限に文字を打つことが可能。 コンパクトさと薄さを徹底。 BLE Micro Proのサポートしており、Bluetooth接続が可能。(従来のPro Microによる有線接続も可能)
こんにちは。エンジニアの谷井です。 フォルシアでは、Spookと呼んでいる技術基盤を用いて、主に旅行業界やMRO業界に対して、膨大で複雑なデータを高速検索できるアプリケーションを提供しています。 今回はその高速検索のノウハウのうち、特にDBの扱いに関連する部分について、ベテランエンジニアへのインタビューを通してそのエッセンスをまとめてみました。 一般的なベストプラクティスだけでなく、検索性能を高めることに特化しためずらしいアプローチもあるので、ぜひご覧ください。 フォルシアにおける検索DBについて まず前提としてフォルシアで扱うデータについて軽く説明します。 扱うデータの複雑さ たとえば、旅行会社向けのアプリケーションであれば、宿泊素材の情報としては ホテルの情報「〇〇ホテル」(~約2万件) プランの情報「朝食付き・ロングステイ△△プラン」(0~1500件/施設) 客室の情報(~100件/
こんにちは。株式会社プラハCEOの松原です 注目を集めつつあるMySQLプラットフォームのPlanetScaleですが、外部キー制約が効かないという一見致命的に見える仕様について調べていたところ、こちらのDiscussionで興味深い回答が開発者から寄せられていたので日本語でまとめ直してみようと思いました。 外部キー制約がなくてもそれほど困らない理由 今回の話はParentテーブル(id)とChildテーブル(id,parent_id)を前提に考えていきます そもそも外部キー制約は何に役立つのか 今回のDiscussionでは質問者から「外部キー制約がないとこういう時に困るよ!」と質問が寄せられています: 外部キー制約がないと参照先のデータが存在していることを保証できない! 外部キー制約がないとデータの重複を回避できない! それぞれの質問に対して回答者の回答は以下の通りです: 外部制約がな
この記事はGoodpatch Advent Calendar 2022 18日目の記事です。 ソフトウェアエンジニアの 池澤です。 ここ最近はテクニカルディレクションとして仕事に関わることが増えました。その中で要件定義を作ったりデザイナーとエンジニアの橋渡しをする機会が多く、メンバーみんなが同じゴールを認識して制作できるようなより良い要件定義方法はないものかと探していました。 今回はそんな中で見つけたモダンな要件定義手法の一つ、RDRA(ラドラ)について、理解しやすくなるコツやカスタマイズしている内容についてお話しします。 なお、RDRAの詳細解説をするととても書ききれませんので、RDRA本体の詳細については公式サイト等をご参照ください。 RDRA(ラドラ)とは? 概要 RDRAのバージョン これまでの要件定義でよくある問題 期待される要件定義の姿 公式サイト おすすめの学び方 実際のRD
こんにちは、Sansanプロダクト開発部の清水です。 ある程度のアプリケーションの大きさだと当たり前に使われる事が多い「レイヤードアーキテクチャ」の自分が考える設計のポイントや、実際に運用する際のポイントについて書いてみようかと思います。 基本的な話なので「今更かよ」って感じがしますが、実際に設計、運用する際には様々な考慮事項のあるものだと思うので、知ってる人にとっても復習にでもお役に立てればと思います。 そもそもレイヤードアーキテクチャって何? 概要 一言でいうと、アプリケーションを作る際にそれを構成する部品を、それぞれ責務が定義された論理的なグループにまとめて整理し、それぞれのグループ間のやり取りの仕方を決めておこうという事です。 このグループ間のやりとりにおいて、一方向かつ隣接するグループとしかやりとりを行えないようにする事が多く、層状になるのでレイヤードアーキテクチャと呼ばれます。
バッチ処理は既に先人の方々が多くのナレッジを公開してくれていますが、それでもなお難しさが変わらないテーマだと思っています。 この記事は、筆者がこれまでの開発経験で気づいたバッチ処理の実装ナレッジを整理し、体系化を目指して文章にしました。 ここでの内容が、より良い課題解決に貢献できれば幸いです。 自身の断片的な思考整理(メモ書き)の延長で内容を整理したため、一部書き振りが統一されておらず、読みにくいかもしれません。ご了承ください。🙏 バッチ処理の難しさバッチ処理は難しい。 人によっては簡単なテーマかもしれませんが、自分は難しいテーマだと思っています。 「難しさの根源は何か?」を考えると、1. 考慮点が多様にあること 2. 解決する課題によって答えが大きく変わること に整理できました。 この2点は、どのソフトウェア開発にも当てはまる項目ではありますが、ことバッチ処理においては顕著に現れます。
ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ | Mark Richards, Neal Ford, 島田 浩二 |本 | 通販 | Amazon を読み直したのでその読書感想文です。「読み直した」というのは、2021年よりありがたくもこの本の査読に参加させていただいたからであります。 感想 「基礎」という言葉の通り教科書的にアーキテクトのお仕事が学べる本。 「パターン」とそれぞれの特性などが分かる。何度も読み直したい。 「既にアーキテクトである人や駆け出しのアーキテクトに向けて、ソフトウェアの構造からソフトスキルに至るまで、ソフトウェアアーキテクチャとそのさまざまな側面を提供したい」との通り、とりわけ「ソフトスキル」という対人のものも結局はスキルなのだよなと気付く。 査読は大変楽しかった!!! 要点 はじめに:公理を疑う 公理 確立され、一般に受け入れられ
TL;DR 最近の設計志向はイベント駆動がかなり中心になっている とくにDDD界隈がここまでイベント駆動一本槍だとは思わなかった ストーリーを出発点にイベント駆動で設計を組み立てる「イベントストーミング」がかなり多くの場所で事例として取り上げられている はじめに 最近、洋書や動画の講演資料などいくつか海外の情報源に当たることがおおくなり、その中で「結構日本でやられている取り組みとちがうなー」と考えることが多く、一旦そのあたりの差分をまとめておこうかと思いました。 ただの出羽守(あるいは鹿鳴館精神)ではなく、一つの潮流としてこんなのがあるってのを記述できればなと思います イベントが設計の基本線となりつつある、、、のか? まず1つ目に驚いたのが、イベントが設計の中心になっている、そう感じる機会が多かったこと。 ここで言うイベントは、実践ドメイン駆動設計の中でも「ドメインイベント」として実装パタ
はじめに こんにちは、ソウゾウSoftware Engineerの@sue71です。連載:メルカリShops 開発の裏側 Vol.2の13日目を担当させていただきます。 以前メルカリメルカリShopsの技術スタックと、その選定理由でBFFの実装にGraphQLを採用していることをお伝えしました。メルカリShopsをリリースしてから約半年たった今、これまでを振り返ってGraphQLサーバーを実装する上での課題やあらかじめ考えておくと良い項目をまとめてみました。また、本記事ではメルカリShopsでGraphQLの実装としてApolloを採用しているため、Apolloの利用が前提の話もいくつか混在しています。予めご容赦ください。 GraphQLの説明や、メルカリShopsの実装方法に関しては以前こちらの記事で紹介しています。こちらも是非ご覧ください。 パフォーマンス課題 GraphQLは、アプリ
金融チームでエンジニアをしているimamuraです。freeeカード Unlimited のβ版の提供が今年(2021年)の秋から開始されます。開発自体は半年以上かかっており、そこでの開発の裏側について連載を行います! 連載は以下のようになります。 ※ 日程、タイトルは一部変更になる可能性があります 日程 タイトル 執筆者 9/9 freeeカード Unlimited の開発の道のり imamura 9/16 freeeカード Unlimited での非同期通信の設計と実装 imamura 9/23 EMから再度エンジニアに戻り新規プロダクト開発に挑戦して学んだこと tabachain 9/30 freeeカード Unlimitedでのクリーンアーキテクチャ実践 id:lvmingbei 10/7 新卒一年目からの新規プロダクト開発 sekky 10/14 新規プロダクト&新造チーム&フル
このADRをレビューするにあたっては、コンテキストのセクションもよくよく議論すべきで、意思決定が妥当かだけ見ても、「実はコンテキストに誤りやあやふやなところがありA案よりもB案の方が良かった…」みたいなことが発生するし、十分にコンテキストが理解されていない第3者や有識者をまじえてのレビューでは、レビューアに意思決定の構造を理解してもらいにくい、ということもある。
キーボードショートカット活用していますか? 私はできていません。マウス操作に頼っていた私ですが、ショートカットで素早くPCを操る人を見て、そのオニ素早い操作に感動し、ショートカットで素早く操作できるかっこいい人間になろうと思ったのですが……。2つ大きな問題が! ひとつは「ショートカット覚えきれない!」そして、もうひとつが「キーボード右側のキーを使うショートカットがすごく打ちにくい」。 広く浅くいろんなソフトを使っていると、ショートカットも膨大です。Fusion 360、Adobe Illustrator、Atom、Scrapbox、Excel、etc...独自ショートカットはなかなか覚えきれません。ショートカットを調べてその日のうちは覚えていても、次に使うときには忘れて同じことを調べるなんてしょっちゅうです。そして、右側のキーが打ちにくい問題。CADやグラフィックスエディター等、主にマウス
オブジェクトベースなUIデザインの考え方が近頃注目されてきています。デザイナーとしてこれと向き合うに当たって、私なりに解釈した事柄を記しておこうと思います。 オブジェクトベースのUIとはUIデザインにオブジェクト指向の設計論を導入したものをオブジェクトベースのUI、Object-Oriented User Interfaces= OOUI などと呼ぶようです。オブジェクト指向UI、オブジェクト指向ユーザーインターフェイスと呼ぶこともあるかもしれません。そのほかにも OOUX という表記も見られますが、ここでは一貫した呼び名を定めておきたいため、便宜上 OOUI と呼ぶことにします。 私たちが普段目にするGUIは元来OOUIの思想に基づいていると考えられるのですが、中にはとても機能指向的(タスクベース)な設計で構築されたGUIが多くみられるため、特にオブジェクト指向的であるものを強調・区別す
こんにちは。自キ温泉ガイドをしている方のサリチル酸です。 今回は少し湯加減高めの内容を冷ますための紹介FAQ記事です。 みんな大好きBluetooth接続を自キで実現するためのマイコン、通称『BLE Micro Pro』のお話です。 2020/12/06 BLE Micro Proのファームウェアの書き込み方法の最新化に合わせて記事内容訂正。 はじめに 2020/12/06追記 概要編 BMPってなに? どこで買うの? 光るの? OLEDは使えるの? 電池ってどうやって乗せるの? 電池基板のコイン電池って何買えばいいの? コイン電池を使用する場合、どのくらい持つの? 単3電池1個だけで無線化してるキット(SISO59)があるけど? そうはいっても充電したいんだが? PCとの間だけBluetoothにして、分割型の左右間の通信は普通のTRRSがいいんだが?(BMPを1個、Pro Microを
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く