並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 4092件

新着順 人気順

設計の検索結果281 - 320 件 / 4092件

  • 開発者が知るべきキャッシュ設計でよく遭遇する問題

    はじめに 分散システムの設計および開発において、キャッシュはパフォーマンス向上のための非常に重要な要素です。頻繁にアクセスされるデータをキャッシュすることで、アクセス速度が遅いデータベースへのアクセスを削減し、データへの迅速なアクセスを可能にします。これにより、システムの全体的な効率とパフォーマンスが向上します。 しかし、キャッシュは慎重に設計しないとむしろパフォーマンス上のデメリットになるケースが存在します。 この記事ではよく遭遇するキャッシュ設計の問題とその回避策について解説します。 Cache penetration DBに存在しない値を検索したときに、DBから返された空の結果をキャッシュしない場合に発生するシナリオです。 このシナリオではDBに存在しない値を繰り返し検索することにより、その値がキャッシュされていないため検索ごとにDBへのアクセスが必要になってしまいます。 存在しない

      開発者が知るべきキャッシュ設計でよく遭遇する問題
    • 日本産のソフトの品質や使い勝手が著しく低い理由は?に関する、引用RT、リプライ、保存用まとめ

      Nobi Hayashi 林信行 @nobi 質問は改めてコンテクストも加えた上で再投稿します。 ただ、ここまででただの私への罵詈雑言以外にもいくつか重要な意見あったので、その辺りはtogetterで(誰かに)まとめてもらいたい... 中心軸(=問題ツイート)を削除すると引用ツイートとかは探しにくくなっちゃうのかな? 2023-12-21 10:44:39 Nobi Hayashi 林信行 @nobi 【再投稿:やはりUI設計無視できず、追加しました】 日本の大企業(や官庁)が提供するソフト・サービスは使い勝手が悪く、品質も低いものが少なくない。 最も改善に力をいれるべきはどの問題か? 1.能力: お金をかけてでも優秀なソフトウェアエンジニアを雇う 2.開発体制の問題: 開発体制を見直す。下請け・孫請けをやめる。しっかりと全体設計や使い勝手のことを考えるデザイナーを中心的役割として取り入れ

        日本産のソフトの品質や使い勝手が著しく低い理由は?に関する、引用RT、リプライ、保存用まとめ
      • メール配信システムを SaaS から新規社内システムへ移行した - エムスリーテックブログ

        この記事はエムスリーAdvent Calendar 2023の20日目の記事です。 エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 今回はコンシューマチームで利用していたSaaSのメール配信システムを、新規に開発した社内システムに移行した経緯や設計時に意識したことなどについて紹介します。 最近使っているキーボードの様子 背景 今回移行する契機となったのはメールの配信数増加に伴うSaaSの利用料金増です。 特に定期的に送るメルマガ配信については、配信量も多く利用コストを押し上げる要因となっていました。 そのためメルマガ配信で大量に使用する部分についてのシステム移行検討が始まりました。 移行検討 SaaSから移行後のシステムについて試算すると、システムの開発や利用料といったコスト面では社内で構築したシステムの方が大幅にコストが下がることがわかりました。 しかしなが

          メール配信システムを SaaS から新規社内システムへ移行した - エムスリーテックブログ
        • Snowflakeパフォーマンスのカギはやっぱりデータモデリング

          この記事はSnowflakeアドベントカレンダー2023の19日目です。 はじめに 昨年、Snowflakeのパフォーマンスにおいて非常に重要な概念であるクラスタリングとプルーニングに関して、以下の記事を書きました。 なぜクラスタリングやプルーニングが大事なのかを説明させてもらったのですが……理屈はわかった!ではどうすれば?という、具体的なユースケースについて全く書けておらず、また別のブログにします、と宣言しておいて、1年間完全に放置してしまっていました。すみません。。 この記事では、上記の記事の続きとして、クラスタリング・プルーニングの概念を知ったうえで、具体的にパフォーマンスを向上させるにはどうすれば良いかのヒントとなるようなものを書きたいと思います。 具体的には、そうデータモデリングです! データモデリング万能説 データモデリングがめちゃくちゃ大事だよ!ってことは、SnowVilla

            Snowflakeパフォーマンスのカギはやっぱりデータモデリング
          • クリーンアーキテクチャの功罪

            クリーンアーキテクチャというと設計における銀の弾丸のように扱われていて、クリーンアーキテクチャを導入するという記事をよく見ます。しかし自分の経験だとクリーンアーキテクチャで書かれているのにもかかわらず開発効率が落ちているという事が多く、いつでも使っておけばいいというものではないと思っています。 最近目にしたクリーンアーキテクチャに対する批判 本筋ではないので詳細は省きますが、あるとき[1][2]にUncle Bobの著書であるCleanシリーズへの批判をXで見ました。 ここで一番載せたかったものが今見つけられないのですが、以下のようなポストがありました。 書籍クリーンアーキテクチャに書いてある内容を抜きにして起こった現象だけを見るとマイナスの方が多い このポストが自分の感じていることを端的に表現できているように感じました。書籍クリーンアーキテクチャの内容を悪いと思いませんが、その影響により

              クリーンアーキテクチャの功罪
            • 2023年のベストバイは激安スポット溶接機。約4000円で電池のタブが付け放題に(宮里圭介) | テクノエッジ TechnoEdge

              需要のわからない記事を作る自由物書き。分解とかアホな工作とかもやるよー。USBを「ゆしば」と呼ぼう協会実質代表。 工作機械とか工具は、見てると欲しくなりますよね。溶接機なんかもそのひとつで、100Vでも使える安物なら1万円せずに手に入ったりもします。ただ、買っても使わない自信が120%あるので、買いませんけど。 とはいえ、もっと小規模な溶接であれば、話は別。具体的には薄い金属板の溶接……そう、電池のタブ付けです。リチウム電池やコイン電池の交換をしようと機器を分解したところ、ソケットではなくタブ付き電池で、交換に苦労することってありますよね。こんなときでも、タブ付けができるスポット溶接機があれば、新しい電池に交換できます。 以前はそれなりに高価な品を買うか、DIYキットに手を出すくらいしか選択肢がなかったのですが、AliExpressで探してみると、いつのまにやらイロイロ製品が出ていました。

                2023年のベストバイは激安スポット溶接機。約4000円で電池のタブが付け放題に(宮里圭介) | テクノエッジ TechnoEdge
              • プロンプト設計戦略  |  Google AI for Developers

                フィードバックを送信 プロンプト設計戦略 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 プロンプト設計により、機械学習(ML)制御モデルの出力を初めて利用するユーザーでも、オーバーヘッドを最小限に抑えられます。プロンプトを慎重に作成することで、目的の結果を生成するようにモデルを調整できます。プロンプト設計は、特定のユースケースに合わせて言語モデルを適応させることをテストする効率的な方法です。 言語モデル、特に大規模言語モデル(LLM)は、単語間のパターンと関係を学習するために、膨大なテキストデータでトレーニングされています。テキスト(プロンプト)を受け取った言語モデルは、高度なオートコンプリート ツールのように、次に来ると思われるものを予測できます。したがって、プロンプトを設計する際は、モデルによる次の予測に影響を与える可能性のあるさまざまな要因を考慮し

                  プロンプト設計戦略  |  Google AI for Developers
                • フィーチャフラグを扱うときのささやかなTIPS - ちなみに

                  この記事は クラスター Advent Calendar 2023 19日目の記事です。 昨日は ChameleonO2 さんの「何か」でした。公開楽しみですね。 クラスター株式会社でソフトウェアエンジニアとして働いている id:Sixeight です。 クラスターではトランクベース開発を実現するためにフィーチャフラグを使っています。 フィーチャフラグを使うことでたとえ開発が途中であっても、変更は完全に動作する状態でトランクに取り込まれます。 今回はフィーチャフラグを使って開発するときに意識しているささやかなTIPSを共有します。 TIPS1: 元のコードはそのままにする フィーチャフラグで分岐を追加するときに、気を利かせて安易にコードの重複を減らそうとしてはいけません。 たとえコードが重複することになったとしても、変更前のコードは出来るだけそのままの形で残るようにしましょう。 なぜならフィ

                    フィーチャフラグを扱うときのささやかなTIPS - ちなみに
                  • スプレッドシートとAWSでコストかからない業務システムを作る設計TIPS

                    はじめまして @shimma です。本業はD2C企業のCTOとして働く傍ら、業務支援として複数社、インフラを中心に直接手を動かして、社内で横展開できるような設計・コードベースをご提供しています。 枯れた技術で コード行数少なく 運用コストかからず 8-9割くらいのことを解決できる こちらが私の設計がポリシーです。 世の中9割はスプレッドシートで解決できる 私達の想像以上に、世の中の困りごとの大半はスプレッドシートやエクセルで解決ができます。エンジニアに依頼しなくても直接ロジック変更できるなど、組織リソースの有効化としてもメリットあります。 一方、複雑な数式やマクロにすべてを寄せ切り、ロジックを育てていくと、メンテナンスが困難を極めていきます。この記事を読んで頂いている技術者の方々であれば 複雑な箇所はコードによせて 変更しやすい所はスプレッドシート/Google App Script とい

                      スプレッドシートとAWSでコストかからない業務システムを作る設計TIPS
                    • 『プロフェッショナル IPv6 第2版』で現代インターネット技術を支える基礎知識のおさらい中 - Magnolia Tech

                      プロフェッショナルIPv6 第2版 作者:小川晃通ラムダノートAmazon すっかり見えないところで当たり前のように使っているはずなのに今一つ理解が不完全なまま来てしまったのが「IPv6」。家のインターネット環境を一新したときに色々と調べたはずなのに、すっかり忘れてしまったので『プロフェッショナル IPv6 第2版』の紙版を購入して勉強しなおしています。 470ページに渡って、「そもそもIPアドレスとは?」から始まり、IPv6を学ぶために必要な情報が全部詰まっている、ほんと全部入りです。 個人的には、「ip a」コマンドを叩くとアドレスっぽいものが複数出てくるけど、これ何?という疑問が解消したのと、DNS周りの仕組みが分かったので、非常に役に立ちました。 最近は、自宅インターネット環境にフレッツを使っていないのでNTTのNGN固有のIPv6事情には影響されることもないのですが、背景が興味深

                        『プロフェッショナル IPv6 第2版』で現代インターネット技術を支える基礎知識のおさらい中 - Magnolia Tech
                      • シフトレフトがなぜ効果的なのか「抽象度」から考える

                        この記事は 株式会社ログラス Productチーム Advent Calendar 2023 18日目の記事です。 はじめに ログラスの龍島(@hryushm)です。 ソフトウェア開発において、「シフトレフト」すなわち開発の早い段階でテスト計画を立て、実施していくことが全体的なコスト削減や価値提供の早期化につながるとよく言われています。 この記事では、シフトレフトによってもたらされる効果をログラスでの実例を用いて紹介した上で、なぜ効果が出るのか?を「抽象度」というキーワードから紐解いてみようと思います。 本記事ではスクラム開発においてPBIを完了させる中でシフトレフトしていくことを念頭に書いていきますが、ソフトウェア開発の任意のタイミングにおいて適用できる概念だと考えています。 テスト設計を実装前にやることの有用性 まずシフトレフトによって何が起こるのか?を考えます。PBIに書かれた受け入

                          シフトレフトがなぜ効果的なのか「抽象度」から考える
                        • 「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ

                          これは はてなエンジニア Advent Calendar 2023 の 18 日目の記事です。昨日は id:gurrium による private-isuで70万点取るためにやったこと - ぜのぜ でした。私は 50 万点ぐらいで満足してしまっていたので、しっかり詰めていて凄いなと思う。 developer.hatenastaff.com Web アプリケーション開発において、「キャッシュは麻薬」という言葉がインターネット上をよく飛び交っています。YAPC::Kansai OSAKA 2017 の id:moznion のトークでよく知られるようになったワードじゃないかな。 初出はちゃんとは分からないんですが、少なくとも 2011 年には言われていますね。 「キャッシュは麻薬」とはよく言ったものだ。— TOYAMA Nao (@nanto_vi) November 5, 2011 キャッシ

                            「キャッシュは麻薬」という標語からの脱却 - id:onk のはてなブログ
                          • 2023年・新しく入ったメンバーの提案で開発チームが良くなったこと5選

                            このブログは、 IVRy 紅白Advent Calendar 2023の白組・17日目の記事です。 白組16日目は PdM佐瀬さん「IVRyなら上流からUX/UIデザイン業務が実践できます!」でした。明日はIVRyのVPoE近藤さんの「IVRyにおける開発生産性へのアプローチ~SPACEフレームワークの視点から~」についての記事が出ます。乞うご期待。 この記事について タイトル通り、2023年に提案されて改善した事を発表するのですが、裏返すと「そんなこともできてなかったのか」と見える内容もあるかもしれません。ネガティブに受け取られる可能性もあるかもしれませんが、IVRyのオープンな社風や、常に改善と変革に前向きな姿勢をアピールするためにも、この記事を執筆することにしました。 なお、課題を発見・解決しながら会社を大きくしていきたいエンジニアの皆さんは、ぜひブログ一番下のIVRyの採用情報から

                              2023年・新しく入ったメンバーの提案で開発チームが良くなったこと5選
                            • 【ゼロから始める】✨UI設計✨ - Qiita

                              【概要】 『UI設計』についてです。 経緯は、 ・筆者が初めてアプリの実装を行った際にUI設計が杜撰だったこと ・デジタル庁のサイトの記事を閲覧し、UI設計に興味を持ったこと からUI設計・デザインについて体系的に学びたいと思いました。 本記事では UI設計の考え方から実装方法 まで完結的に説明できるように考察していきたいと思います。 ※ 筆者は、駆け出しエンドエンジニアである為、知識が浅い部分もあると思います。間違い等ある場合はご指摘等いただけると幸いです。また、初心者のためのUI設計になりますので、より専門的に深めたい方は書籍などをご利用ください。 【対象者】 ・UIデザインを0から体系的に学びたい人 ・バックエンドエンジニアで個人アプリのUIを向上させたい人 ・フルスタックな開発を意識している人 【目次】 ※下記、全体に目を通してから作業することをお勧めします。 ・【概要】 ・【対象

                                【ゼロから始める】✨UI設計✨ - Qiita
                              • ディメンショナルモデリングでアクセス分析のファクトテーブルをどう設計するか

                                風音屋では、データエンジニア、データアナリスト、データコンサルタントを募集しています。 書籍執筆者やOSSコントリビューターなど、業界を代表する20名以上のアドバイザーと一緒にベストプラクティスを追求できる環境です。 ぜひカジュアルトークをお申し込みください。 こんにちは、風音屋 データエンジニアの妹尾です。 この記事は、datatech-jp Advent Calendar 2023 15 日目の記事です。 ディメンショナルモデリングを採用する場合、アクセスログやGA4のファクトテーブルは、どのように設計すれば良いのでしょうか。 この疑問について風音屋でディスカッションをしました。 本記事では、ディスカッションした内容をご紹介します。 社内ディスカッションの様子 ディスカッションの様子 アドバイザーの皆様の協力もあり、課題を整理し、対応方針を洗い出すことができました。 @tvtg_24さ

                                  ディメンショナルモデリングでアクセス分析のファクトテーブルをどう設計するか
                                • 「価値」から小さく始めるドメイン駆動設計 - KAKEHASHI Tech Blog

                                  こちらの記事は カケハシ Advent Calendar 2023 の 16日目の記事になります。 概要 こんにちは。AI在庫管理の開発チームでSWEをしている小室です。 私は普段ドメイン駆動設計(以下、DDD)を意識しながら開発することが多く、実践を重ねるほどDDDの素晴らしさを実感しております。 最近異動してきたAI在庫管理の開発チームでは、現状はあまりDDDを意識して開発を進めていないのですが、プロダクトが対象としている世界が非常に複雑であることと、今まさに多くの法人様に利用していただけるようになったうれしい悲鳴として成長痛を感じ始めており、ドメイン駆動設計を何かのヒントとしてプロダクトによる価値提供速度を加速できればと考えています。 しかしながら、ドメイン駆動設計は独自の価値観や学習コストの高さから、まだ取り組んだことのないメンバーとしては大きな不安を感じる部分があると思います。

                                    「価値」から小さく始めるドメイン駆動設計 - KAKEHASHI Tech Blog
                                  • 全社横断データ基盤へdbt導入を進めている話 - Sansan Tech Blog

                                    こんにちは。研究開発部 Architectグループの中村です。 本記事は Sansan Advent Calendar 2023 の16日目の記事です。 今回は、私達のチームで開発&運用している全社横断データ分析基盤のデータレイヤの再設計、及びdbtの導入を進めているという事例について紹介します。 既存のデータ基盤に対して、dbtの導入を検討されている方の参考になれば幸いです。 (本稿ではdbtとはについては触れませんので、ご了承ください) TL;DR 歴史的経緯 全社横断データ基盤が生まれる前 全社横断データ基盤 立ち上げ期 課題 立ち上げ期に作られたデータマートがカオスに・・・ 課題の解決に向けて データレイヤの再設計 Transformツールの選定 dbtへの移行戦略 その他dbt移行におけるTips チームでの開発の標準化 Cosmosの導入検証 データカタログのホスティング まと

                                      全社横断データ基盤へdbt導入を進めている話 - Sansan Tech Blog
                                    • Rubyの型チェッカー「Sorbet」を導入した話 - Qiita

                                      リンクアンドモチベーション Advent Calendar 2023の15日目の記事です はじめに 株式会社リンクアンドモチベーションの葛葉(くずば)です。 現在新卒2年目で、モチベーションクラウドのバックエンドエンジニアとして、新規機能の開発を担当しています。 複数の言語でもサーベイの回答、結果の確認ができるようにする開発をおこなっています。 本記事では、メイン業務と並行で進めていたプロジェクト 「Ruby(Ruby on Rails)における静的型付け」 について書きたいと思います。 同じように静的型付けを導入しようとしているプロダクトは少なくないと思います。 この記事を見ることで、 記事となっています。少しでも参考になれば幸いです。 【背景】 なぜ型宣言する必要があるのか 1.動的型付け言語「Ruby」の特徴 プロダクトに使われている言語「Ruby」は動的型付け言語と言われていて、型

                                        Rubyの型チェッカー「Sorbet」を導入した話 - Qiita
                                      • 仕事を読み解くキーワード:納得感のある音を鳴らす|採用情報|任天堂

                                        ゲームの世界で鳴るさまざまな音は、サウンドデザイナーとサウンドプログラマーが協力して作り上げています。たとえば、オブジェクト同士が接触したときに材質や形状、衝撃の強さなどに応じて変化する音になるよう、サウンドデザイナーが音のデータを作成し、サウンドプログラマーがそのデータを鳴らします。『ゼルダの伝説 ティアーズ オブ ザ キングダム』では、私はサウンドプログラマーとして、サウンドデザイナーが作りだす多彩な音を、リアリティを感じられるように鳴らす役割を担いました。 このゲームには、さまざまな種類の材質や形をしたオブジェクトが登場します。プレイヤーはこれらを自由に動かせるだけでなく、複数のオブジェクトをくっつけることができるため、自由な発想で武器を作ることも、乗り物を作って動かすこともできます。そして高い自由度があることで、私たち開発者の想像を超える遊び方が生まれることもあります。 開発を進め

                                          仕事を読み解くキーワード:納得感のある音を鳴らす|採用情報|任天堂
                                        • 【入門】事例で学ぶ基本設計 - Qiita

                                          はじめに プロジェクトマネジメントの仕事をする際に、お客さんに提案ベースの要件定義や設計をする機会が増えてきたので、私の経験に基づいて基本設計の具体的なプロセスや考え方について整理していきます。 この記事の対象者 基本設計の思考プロセスを学びたい人 ビジネスサイドの要件をエンジニアサイドのシステムに落とし込む流れを学びたい人 ビジネスサイドとエンジニアサイドのコミュニケーション能力を向上させたい人 具体的な事例を通して基本設計を学びたい人 前提 紹介する内容はあくまで一例であり、プロジェクトやチームの状況に応じて調整が必要です 自分の経験に基づいた内容を言語化しています プロジェクト規模は10名から20名のシステム開発を想定しています(大規模なプロジェクトを想定していません) システム開発の全体像 今回は下記の内容のうちの基本設計について解説をします。(詳細設計についても少し触れます) 基

                                            【入門】事例で学ぶ基本設計 - Qiita
                                          • 一休.com 宿泊管理システムのフロントエンド設計と改善の変遷 - Developers Blog - 一休.com Developers Blog

                                            宿泊の管理システムについて 新しい管理システムについて 開発初期のフロントエンド設計 コンポーネントは4レイヤー方式を採用 UIのコンポーネントライブラリを採用 これ以上の設計、方針は決めなかった 初期ローンチ後の課題 改善した内容 1. コンポーネント設計の見直し ディレクトリ構成の変更 大きくなったコンポーネントの分割 Fragment Colocationを導入してコンポーネントのインターフェースとFragmentを整理 2. 業務処理(composables)の分割 3. 型安全に開発できるように厳しいlint設定に変更 4. 秩序を保てる開発体制、ドキュメントの整備 現在と今後 今後やりたいこと 改善を継続するためのポイント まとめ おわりに 宿泊プロダクト開発部の田中(id:kentana20)です。 このエントリーは一休.com Advent Calendar 2023の14

                                              一休.com 宿泊管理システムのフロントエンド設計と改善の変遷 - Developers Blog - 一休.com Developers Blog
                                            • プロダクトのスケールを見据えてServer-Driven UIを採用してみる

                                              この記事はUbie Engineering Advent Calendar 2023の12日目の記事です。よろしくお願いします。 はじめに Ubieでソフトウェアエンジニアをやっているisseiです。 2021年の3月に入社してから2年程症状検索エンジン「ユビー」の開発をしていましたが、ここ1年くらい新規のプロダクトの検証とそのスケールのための開発をしています。 2023年の前半は、新規のプロダクトの検証を出来るだけ素早く行うため、実装範囲を小さくし、バックエンドの実装も最小限にとどめて、ほとんどの機能をフロントのコードで完結させていたのですが、後半は、前半に検証が終えられたプロダクトのスケールに向けた設計変更と実装の置き換えを行っています。 この記事では、後半で行った設計変更の中で採用した SDUI(Server-Driven UI) がとても良かったので、採用に至った経緯と、実装の概要

                                                プロダクトのスケールを見据えてServer-Driven UIを採用してみる
                                              • 削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターンの紹介」

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

                                                  削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターンの紹介」
                                                • ADR を1年間書いてみた感想 - 一休.com Developers Blog

                                                  宿泊開発チームでエンジニアをしている @kosuke1012 です。チームで ADR を書き始めて1年くらい経ったので、その感想を書いてみたいと思います。 この記事は 一休.comのカレンダー | Advent Calendar 2023 - Qiita の13日目の記事です。 ADRとは アーキテクチャ・ディシジョン・レコードの略で、アーキテクチャに関する意思決定を軽量なテキストドキュメントで記録していくものです。 出典はこちらで、 Documenting Architecture Decisions わかりやすい和訳は以下の記事が、 アーキテクチャ決定レコードの概要  |  Cloud アーキテクチャ センター  |  Google Cloud アーキテクチャ・デシジョン・レコードの勧め | 豆蔵デベロッパーサイト アーキテクチャの「なぜ?」を記録する!ADRってなんぞや? #設計 -

                                                    ADR を1年間書いてみた感想 - 一休.com Developers Blog
                                                  • DynamoDB のスケーリング: パーティション、ホットキー、Split for heat がパフォーマンスに与える影響(第 1 部: ローディング) | Amazon Web Services

                                                    Amazon Web Services ブログ DynamoDB のスケーリング: パーティション、ホットキー、Split for heat がパフォーマンスに与える影響(第 1 部: ローディング) Amazon DynamoDB の一般的な原則は、高いカーディナリティのパーティションキーを選択することです。しかし、なぜそのようにすべきなのか、そしてそうしなかった場合の影響は何か?お客様のユースケースをもとに、この疑問に深く迫り、異なるパーティションキーの設計とテーブルの設定を使用して DynamoDB のロードおよびクエリのパフォーマンスを調査します。 各実験の後、生成されたパフォーマンスグラフを分析し、私たちが観察したパターンを説明し、繰り返しの改善イテレーションを通じて、DynamoDB の内部構造の基礎を紹介し、パフォーマンスの高いアプリケーションを構築するためのベストプラクティ

                                                      DynamoDB のスケーリング: パーティション、ホットキー、Split for heat がパフォーマンスに与える影響(第 1 部: ローディング) | Amazon Web Services
                                                    • [レポート] Amazon DynamoDB データモデリングのコアコンセプト #AWSreInvent #DAT329 | DevelopersIO

                                                      re:Invent 2023 で行われた BreakOut セッションData modeling core concepts for Amazon DynamoDB (DAT329)のセッションレポートです。 概要 Developers experienced with Amazon DynamoDB can join this session to learn the core concepts of DynamoDB data modeling. Explore best practices for common access patterns used by DynamoDB customers for applications that need consistent, fast performance at any scale. Learn best practices and

                                                        [レポート] Amazon DynamoDB データモデリングのコアコンセプト #AWSreInvent #DAT329 | DevelopersIO
                                                      • 複数サービス間でのデータの整合性維持に向けたSagaの実装 - NTT Communications Engineers' Blog

                                                        マイクロサービスアーキテクチャにおいては、個々が独立に選定したデータベースを持つ複数のサービスにまたがって、データの整合性を維持する必要があります。 そのための方法として、Sagaパターンと呼ばれる設計方法がありますが、Sagaでは分離性が欠如しておりLost Update等の異常が発生しかねません。 そこで本記事では、Sagaの分離性を高めるための実装におけるTipsを解説します。 目次 目次 はじめに 複数サービス間での整合性維持における課題 Sagaパターン Sagaを構成するトランザクション Sagaによって実現される安全性 原子性(Atomicity) 整合性(Consistency) 分離性(Isolation) 永続性(Durability) 異常を防止/軽減する実装 分離性の欠如が引き起こす異常 分離性の欠如への対策 Semantic Lock Commutative Up

                                                          複数サービス間でのデータの整合性維持に向けたSagaの実装 - NTT Communications Engineers' Blog
                                                        • 【入門】事例で学ぶ要件定義 - Qiita

                                                          はじめに 最近プロジェクトマネジメント関連の仕事をする機会が増え、要件定義や設計関連の業務もするようになったので、私の経験を基に要件定義の具体的なプロセスや考え方について、まとめていきます。 本記事について Findy様の「要件定義 先達に学ぶ今日から使える実践テクニック Lunch LT」で登壇した内容を元に作成しています。 この記事の対象者 要件定義の基本や思考プロセスを学びたい人 エンジニアからプロジェクトマネジメントをやりたい人 ビジネスサイドとエンジニアサイドのコミニュケーション能力を向上させたい人 具体的な事例を通して要件定義を学びたい人 前提 紹介する内容はあくまで一例であり、プロジェクトやチームの状況に応じて調整が必要 あくまで自分(駆け出しPM)の経験に基づいた内容を言語化しています プロジェクト規模は10名〜20名のWebアプリ開発を想定しています システム開発の全体像

                                                            【入門】事例で学ぶ要件定義 - Qiita
                                                          • カーネルことはじめ

                                                            この記事は未踏ジュニアAdvent Calendar : 10日目です. カーネル, 書きたくないですか? こんにちは, horizon (@horizon2k38)です. 私は2023年の未踏ジュニアでA9Nというマイクロカーネルを作成していました. 人類なら誰しもがカーネルを書きたいと思ったことがあるはずです. そんな方のために, 未踏期間で得られた "0からカーネルを如何にして学び, 実装したか" という知見をより一般化して解説しようと思います. この記事の内容をすべて達成することで, あなたもきっとカーネルを書くことができるでしょう. やれば出来る きっと 絶対 私No.1 注: この記事はどちらかといえば初心者向けなので, 自信がある方は最下部の"参考文献"と, 私が書いた低レイヤー学習のロードマップのみ読むことをおすすめします. カーネル/OSとは そもそもカーネルとは, 所謂

                                                              カーネルことはじめ
                                                            • 2023年の Go での気づきに思いを馳せて構築するオレオレ Go サーバープロジェクトレイアウト

                                                              2023 年は念願叶い業務でも趣味でも Go を触ることができました。 そんな 2023 年での Go での気づきに思いを馳せ、タスク管理をするような簡単なサーバーを構築しそのプロジェクトレイアウトをご紹介してみます。 気づきといっても読む方にとっては当たり前のことかもしれません。 また、プロジェクトレイアウトはこれが正義だとは思っていません。紹介するレイアウトは業務では使っていないです。運用などもまともにしたことはありません。私がそこそこの規模のサーバーを新規で構築するならこんな風にしようかなって記事です。 気づき interface を満たすためのコードって VSCode で自動生成できたんだ よくおまじないとかファクトリー関数の戻り値とかで構造体が interface を満たしているかどうかを確認することがあるかと思います。 package main import "context"

                                                                2023年の Go での気づきに思いを馳せて構築するオレオレ Go サーバープロジェクトレイアウト
                                                              • バックスラッシュと円記号の歴史と違い

                                                                最近知ったんですが、Windowsではキーボードから円記号(¥)の入力はできないらしい。 というのも キーボード右上の¥キー キーボード右下の\キー のどちらかを押せば円記号(¥)を入力できますが、どちらを押しても入力されるのは円記号(¥)に偽装されたバックスラッシュ記号(\ )らしい。 皆さんこれ知ってました? いや正直、これを聞いても「何言ってんだコイツ」って思う人が大半だと思いますし、私も今でもそう思います。 これは「バックスラッシュと円記号問題」などと言って、Windowsで昔から続く”呪い”のようなものらしいのですが この”呪い”を理解するには文字コードの歴史を知る必要があります。 文字コードとは? その前に、そもそも文字コードってなによ?という根本的な話からすると、文字コードは「パソコンに文字を覚えさせるための暗記表」みたいなものです。 パソコンは2進数しか理解できないので あ

                                                                • スクラムチームのメンバーとしてQAが入ってみる - freee Developers Hub

                                                                  こんにちは。freee会計のQAをしているakariです。 freee Developers Advent Calendar2023 8日目です。 私が所属する開発チームでは、QA含むスクラムチームで開発をしています。スクラムチームの中で QAがどのような動きをしているかについて先日インボイス制度に対応した際の例を挙げて書きたいと思います。 まだまだ改善点はありますが参考程度に読んでいただけると嬉しいです。 過去にはfreeeカードUnlimitedのテストでの事例をymtyさんが紹介していますのでご覧ください。 developers.freee.co.jp 開発エンジニアとQAエンジニアについて freeeでは多くの開発チームが各プロダクトや各機能別に分かれています。QAチームの場合は、プロダクト横断で存在していますが普段は各開発チームごとに分かれ1開発チーム5~6人に対してQAエンジニ

                                                                    スクラムチームのメンバーとしてQAが入ってみる - freee Developers Hub
                                                                  • 要件定義、基本設計、詳細設計の流れを総復習

                                                                    はじめに 📘 この記事は ラクス Advent Calendar 2023 の7日目の記事になります。 要件定義から基本設計、さらに実装や保守運用に至るまでの一貫した経験を何度か積んできましたが、毎回 「要件定義って具体的に何の項目が必要だっけ?」 「基本設計との違いって何だったっけ?」 「基本設計と詳細設計の区別って?」 といった疑問が頭をよぎってきました。 そんなわけで、これまでの経験を振り返りつつ、開発プロセスについて1からまとめていくことで頭の中の大掃除を行なっていきたいと思います🧹 この記事の対象者 🎯 開発プロセスについて学びたい方 要件定義の基本を学びたい人 要件定義と基本設計の違いがわからない人 一緒に開発プロセスについて復習したい方 前提 記事中の一部(特に要件定義や基本設計、詳細設計のサンプル)を自動生成で作成してます。一貫性の無い内容があるかも知れませんが、あく

                                                                      要件定義、基本設計、詳細設計の流れを総復習
                                                                    • フロントエンドのディレクトリ構成を整理してコードの凝集度を高める

                                                                      こんにちは、atama plus というスタートアップで web エンジニアをしている yubon です。 atama plus Advent Calendar 2023 の 7 日目になります。 本記事では、atama plus で実際に開発・運用している React プロジェクトにおいて、機能的な凝集度を高めるために行ったディレクトリ構成の再設計について紹介します。 フロントエンドのディレクトリ構成に関する考え方や設計思想は多くの記事で紹介されていますが、「業務で開発しているプロジェクトのコードで、ペインがある状態から再設計して実際に移行した」というケーススタディ的な記事は少なそうだったので、書き残しておこうと思います。

                                                                        フロントエンドのディレクトリ構成を整理してコードの凝集度を高める
                                                                      • 新人プログラマ アンチパターン:原理原則多すぎて脳みそOOMエラー - Qiita

                                                                        この記事で伝えたいこと(忙しい人向け) 新人ほど「保守していく」ことの感覚が腹落ちしにくいのではないか説 我々は保守しやすいコードを書くべきであり、保守しやすいコードを達成するための手段として原理原則やデザインパターンが存在している 保守ってなんで必要なんだっけ?という体系的な理解を持ったうえで、具体的なテクニックを学んでいくことが大事 // 追記(2023/12/9) なんとミノ駆動 さんにコメントいただけました。 もちろん良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方は読んで影響を受けてます。 とってもうれしい。 想定読者 新卒 ~ 2年目くらいまでのプログラミング初心者 Webアプリの保守開発をしているエンジニア 3ヶ月前くらいの自分(未経験からエンジニアになって1年くらい) こんなことないでしょうか 先輩などから原理原則の観点を共有してもらったり、

                                                                          新人プログラマ アンチパターン:原理原則多すぎて脳みそOOMエラー - Qiita
                                                                        • 状態設計から「なんとなく」を無くそう

                                                                          ウォンテッドリー株式会社の社内イベント "Tech Lunch" で話した発表です。 プログラムには大小さまざまな粒度の「状態」が存在します。 状態の設計を工夫することで、コーナーケースの発生を抑止し、ユーザー体験を最適化することができます。 本発表では、私が普段どのように「状態」について考えているか、言語や環境を問わずできるだけ普遍的に使える形での言語化を試みます。本発表を通じて、「状態」をなんとなくではなく合理的に設計するためのヒントを提供します。 GoogleスライドのURL: https://docs.google.com/presentation/d/1PNzz69UV05HlKPuWGlooemnPslLbLKsyLwl3R4U_XqE/edit

                                                                            状態設計から「なんとなく」を無くそう
                                                                          • 開放閉鎖の原則 TypeScriptでSOLID原則

                                                                            開放閉鎖の原則 TypeScriptでSOLID原則SOLID原則のS「開放閉鎖の原則」について自分が理解している内容をまとめました。 2021年09月15日 O … Open-Closed Principle: 開放閉鎖の原則 オブジェクト指向の考え方を用いることによって、関連のあるデータ構造とそれを操作する手続きを結びつけて「オブジェクト」とし、それらオブジェクトを組み合わせてソフトウェアを設計・開発することができる。 関連のあるデータ構造とそれを操作する手続きの結びつけ方、オブジェクト同士の組み合わせ方について適切な取り決めを設け、よりよいソフトウェアを設計・開発するために考案された原則として「SOLID原則」が知られている。 SOLID原則は、ソフトウェアエンジニアRobert C. Martinに提唱された多くの設計原則を5つにまとめたものの頭文字をとって命名された。 S … S

                                                                            • UnrealEngine を使って注文住宅を建てたお話 - Qiita

                                                                              はじめに この記事はUnreal Engine (UE) Advent Calendar 2023の6日目の記事になります。 Unreal Engineを使用して注文住宅の建築を行う需要は、一般的にはあまり高くないかもしれませんがぜひ読んで頂けると幸いです。 また注文住宅とはなんやねんと思った方はこちらのリンクから見てみてください。 凄く簡単にいうと自分で自由にカスタマイズした家を建てる事です。 UnrealEngineを使用して家造りをしようと思ったきっかけ 注文住宅を建てるにはハウスメーカーと契約する必用があります。 契約したハウスメーカーにある程度の希望を出して仮で間取りや壁紙を選んでもらうと、The普通といった感じで量産型のようなものが提案されました。 やはり自分達で色々と考える必用があり、その中で提案もたくさんする必要があるんだなと実感し始めました。 そこで普段使用しているUnr

                                                                                UnrealEngine を使って注文住宅を建てたお話 - Qiita
                                                                              • 20231206_設計ドキュメント腐る問題、Git管理で運用してみた本当のところ

                                                                                設計ドキュメント腐る問題、 Git管理で運用してみた 本当のところ 2023.12.5 真野隼記 ドキュメント管理を制する 陳腐化を防ぐための実践事例 Lunch LT

                                                                                  20231206_設計ドキュメント腐る問題、Git管理で運用してみた本当のところ
                                                                                • 『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル

                                                                                  先々月あたりに邦訳が出た『データ指向プログラミング』を読んだ。めちゃくちゃざっくり言うとオブジェクト指向における「データと振舞いの一体化」というドグマを手放させるもので、めちゃくちゃざっくり見るとC言語的な構造化プログラミングの世界に回帰するようにも見えることから、世間的には色々な評価があるらしい。 イミュータビリティが良い、みたいな話は重々承知なので適宜飛ばしながら読んだ。また、lodashまわりの話は単なるライブラリ紹介であり、特筆することがないので飛ばした。 こういう感じで言及されている zenn.dev slides.com 自分なりに読んで思ったことをまとめる。面白い本だったし、自分の思想にも近しいものがある。僕は普段ScalaやTSを書いているので、その観点からの感想が多いです。OOPの歴史に詳しいわけではないので、不足があったらすみません。 OOP以前の世界との差異 イミュー

                                                                                    『データ指向プログラミング』読んだ / OOP以前とDOPとの対比と差分などについて - Lambdaカクテル