タグ

ブックマーク / zenn.dev/loglass (7)

  • 列指向、行指向データベースの特性を木構造を用いた集計クエリから理解する

    この記事は毎週必ず記事がでるテックブログ "Loglass Tech Blog Sprint" の 34 週目の記事です! 1 年間連続達成まで 残り 19 週 となりました! 株式会社ログラスの龍島(りゅうしま)です。最近はもっぱら新生姜をガリにしてクラフトビールのつまみにする毎日を送っています。今日はデータベースとデータ構造の話です。 この記事でやること データ集計の高速化のため、多くの場合、列指向データベースが選ばれます。列指向が大量のデータ操作を効率的に処理できるためです。行指向のデータベースを利用している状況で、データ集計のパフォーマンス向上のため列指向データベースへの移行をすることはよくある例です。しかし、行指向データベースで有効なデータ構造やクエリが列指向で同様に優れているとは限りません。この記事では、行指向のPostgreSQLと列指向のBigQueryを使って、それぞれに

    列指向、行指向データベースの特性を木構造を用いた集計クエリから理解する
    peketamin
    peketamin 2024/04/13
  • 削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターンの紹介」

    この記事は 株式会社ログラス Productチーム Advent Calendar 2023 13日目の記事です。 はじめに 〇〇を削除できるかどうかのビジネス処理、皆さんはどう実装していますか? 同僚の話題になった記事でも削除の認可処理をどこに記述すべきか?は難しいと説明されています。今回はお題は認可っぽいもので書きますが広範に「削除ができるかどうか?」のビジネスロジックをドメイン層にどう閉じ込めるかの便利な実装パターンを紹介します。 削除処理のビジネスロジックの取り扱いは難しい 削除処理のビジネスロジックの実装はシンプルだけど更新処理や作成処理と比べて意外と難しいです。 それはなぜかというとドメインオブジェクト内の実装に削除処理を書くことができないからです。 例えば権限に管理者と一般ユーザーの二つの権限があるとします。

    削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターンの紹介」
    peketamin
    peketamin 2023/12/14
  • 認可のベストプラクティスとDDDでの実装パターン

    最近、少々複雑な権限機能の開発を担当している中で、対応方針を悩んでいたことがありました。 権限機能というものは取り扱いが難しく、影響範囲が広いにも関わらず、対応漏れや考慮不足があると情報漏洩に繋がってしまいます。 また、機能拡張をしてく中でも対応漏れを起こさないようにする必要があるなど、考えることも多く頭を悩ませておりました。 そこで、認可処理の設計のベストプラクティスやDDDの実装パターンに認可処理を組み込む方法など、色々と調べていたのですが、その中でいくつか知見を得られたのでまとめようと思います! 権限と認可 権限と切っては切れない関係にあるのが認可です。 権限はある操作を実行できる権利を指します。 それに対して、認可は操作を実行する許可を出すため仕組みのことを指します。 例えば、ブログ投稿サービスで考えてみると、以下のような感じです。 権限: 投稿者はポストを編集できる。 認可: ユ

    認可のベストプラクティスとDDDでの実装パターン
    peketamin
    peketamin 2023/12/04
  • チームビルディングの始め方

    この記事は毎週必ず記事がでるテックブログ "Loglass Tech Blog Sprint" の 8週目の記事です! 1年間連続達成まで 残り45週 となりました! はじめに チームビルディングというとチーム開発をしている人ならばありふれた取り組みで普段からやっているよ!という人も多いかと思います。 しかしながら、初めてチームビルディングをリードする人にとってはどうやって取り組んだらいいか悩む人もいるのではないでしょうか? 特に「いつやればいいのか?」「どうなったら成功と言えるのか?」といった疑問については言語化が難しいところでもあります。 この記事ではこれからチームビルディングにトライする人向けに、チームビルディングを始める際の考え方やHowの接続について解説します。 チームビルディングとは チームやチームビルディングの定義についてはペパボさんの以下のスライドが非常にわかりやすいので、

    チームビルディングの始め方
    peketamin
    peketamin 2023/10/11
  • アジャイル・フルーエンシーモデルでアジャイルに技術的負債対策を組み込む

    🐳この記事は「ログラスサマーアドベントカレンダー2023」の28日目の記事です。 次はデザイナーチームの高瀬さんです。 こんにちは、ログラスの松岡です。 ログラスのプロダクトチームでは、ドメイン駆動設計とアジャイルプラクティス(スクラム、エクストリームプログラミング等)を併用していました。 その中で、「アジャイル・フルーエンシーモデル」(以下、省略時には「フルーエンシーモデル」と表記)という概念が多くのプラクティスを取りまとめ、全体感を把握してチームの成長余地を考えるのに役立つものなので、この記事で紹介したいと思います。 アジャイル・フルーエンシーモデルの面白いポイント 面白いポイントはいくつもあるのですが、この記事で紹介するポイントは二つあります。 ポイント①: 技術的負債への対策が組み込まれている 一つは、「技術的卓越性によってアジャイルの持続可能性(サステナビリティ)を高めるという

    アジャイル・フルーエンシーモデルでアジャイルに技術的負債対策を組み込む
    peketamin
    peketamin 2023/09/08
    全然頭に入ってこない…
  • 受身気質な私がリーダーという役割で実践したこと 4選

    皆さんこんにちは! 最近、様をお迎えし最高な毎日を過ごしていております、塩対応のしおりん(@jamgodtree)です。 はじめに 私はログラスのエンジニアチームにて、2022年8月からリーダーを半年経験してきました。 この記事では、チームパフォーマンスの最大化に向けて行動してきたこと・失敗談について書いていきます。 タイトルにもあるように、私は受身気質であり、先頭を走っていくタイプのリーダーではありません。 その上で、以下のような悩みがある方に読んでもらえると幸いです。 リーダーになる前に何をやったらいいのかわからない人 リーダーになりたてでどうしようか同じように悩んでいる人 また、ログラスに興味がある方も是非参考にしてみてください。 ログラスにおけるリーダーとは? ログラスにおいてリーダーは 「役割」 として定義されています。 「上司」と「部下」ではなく、フラットな関係性を指している

    受身気質な私がリーダーという役割で実践したこと 4選
    peketamin
    peketamin 2022/12/24
  • ログラスでCREを立ち上げた背景とこれから

    株式会社ログラス エンジニアの山﨑(@zaki___yama)です。 ログラスではフロントエンドエンジニアとしてプロダクト開発を担当する傍ら、CRE(Customer Reliability Engineer)というロールも兼務しており、業務時間のうち一定割合をこの CRE としての活動に充てています。 日はこの CRE というロールを立ち上げた経緯と、立ち上げにあたり具体的にどんなことをやってきたのか、そして今後取り組みたいことを紹介します。 CRE 立ち上げの経緯 ログラスにおいてカスタマーサクセスは非常に重要な要素です。 ログラスが扱う「経営管理」という領域は非常に複雑なドメイン知識が求められます。弊社のカスタマーサクセス(CS)チームには、元々お客様と同じ経営企画業務を経験していた者も多く、単なるプロダクトの使い方にとどまらずお客様の業務に踏み込んだ支援を可能にしています。経営企

    ログラスでCREを立ち上げた背景とこれから
    peketamin
    peketamin 2022/08/22
  • 1