iBet uBet web content aggregator. Adding the entire web to your favor.
iBet uBet web content aggregator. Adding the entire web to your favor.



Link to original content: http://b.hatena.ne.jp/tomiyanx/
tomiyanxのブックマーク - はてなブックマーク

タグ

tomiyanxのブックマーク (7,630)

  • モノレポ統合により複雑なマイクロサービスの開発を単純化するアプローチ — HACK The Nikkei

    はじめに Nikkei Advent Calendar 2024 の 12 日目の記事です。 初めまして。日経済新聞社で Web Platform Team で日経電子版 Web の技術的なプラットフォームの開発や、他チームへの技術支援を行っている 林(@Shinyaigeek) と 竹 と申します。 今回、日経電子版の抱えていた、莫大なリポジトリ数で構成されるマイクロサービスをモノレポ化してしまうことにより、開発効率を向上させた事例についてお話しします。 背景 日経電子版 Web は垂直分割なマイクロサービス構成が取られています。 皆さんが日経電子版 Web にアクセスする際には、www.nikkei.com という単一のドメインへとアクセスしていますが、そのアクセスは最初 Fastly で受け取っています。 そして Fastly が Reverse Proxy 層として振る舞ってお

    モノレポ統合により複雑なマイクロサービスの開発を単純化するアプローチ — HACK The Nikkei
    tomiyanx
    tomiyanx 2024/12/12
  • Re: 履歴テーブルから最新の1件を取ってくる方法

    そーだいさんが執筆された記事で、履歴テーブルから最新の1件を取ってくる方法について解説している。PostgreSQLの例だと以下のようなユーザーの履歴データに対し: CREATE TABLE history ( id SERIAL PRIMARY KEY, user_id INTEGER NOT NULL, data TEXT, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); INSERT INTO history (user_id, data, created_at) VALUES (1, 'First entry of user1', '2024-01-01 10:00:00'), (1, 'Second entry of user1', '2024-01-02 09:30:00'), (2, 'First entr

    Re: 履歴テーブルから最新の1件を取ってくる方法
    tomiyanx
    tomiyanx 2024/12/11
  • PostgreSQLで時間枠を適切に扱う設計 - そーだいなるらくがき帳

    はじめに Googleカレンダーのような時間枠を扱うシステムを設計する際、開始・終了時刻を管理するロジックは容易ではない。 しかし、PostgreSQLには 範囲型 があり、この機能を活用することで、開始時刻(begin_at)と終了時刻(end_at)を1つのカラムで扱えるようになる。 そこで稿では、範囲型を用いた設計と、その利点を紹介する。 時間枠を扱う難しさ まず前提として時間枠の扱いがなぜ難しいかを紹介する。 ソフトウェアデザインでやっている連載、実戦データベースリファクタリングの 【12】厄介な時間枠に向き合う でも紹介したが、時間の範囲を比較するときが難しい。 範囲の重なりには以下の種類がある。 包含:範囲Aが範囲Bを完全に含む 重複:範囲Aと範囲Bに共通点がある 隣接:範囲Aと範囲Bが隣り合う 時間枠の扱いはSQLに限らず、プログラミングの題材として難易度が高い。 特に重複

    PostgreSQLで時間枠を適切に扱う設計 - そーだいなるらくがき帳
    tomiyanx
    tomiyanx 2024/12/10
  • AmebaのAurora MySQLをI/O Optimizedに切り替えたらコストが半額になりました - CyberAgent SRG #ca_srg

    記事は、CyberAgent Group SRE Advent Calendar 2024の5日目の記事です。 メディア統括部 サービスリライアビリティグループ(SRG)の鬼海雄太(@fat47)です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断

    AmebaのAurora MySQLをI/O Optimizedに切り替えたらコストが半額になりました - CyberAgent SRG #ca_srg
    tomiyanx
    tomiyanx 2024/12/06
  • docker buildx bake で高速並列ビルド - 誰かの役に立てばいいブログ

    Docker ビルド職人の朝は早いーー 毎日コンテナイメージを山ほどビルドしては捨てている皆様、おはようございます。 ビルドの速度はそのまま CI にかかる時間だったりするので、短縮には余念のないことと思います。 レイヤのキャッシュやマルチステージビルドといった基テクニックについて、ご存じない方は以下の記事がお勧めです。 future-architect.github.io この記事では、良い Dockerfile をさらに活用できる、かもしれない docker buildx bake について紹介します。 bake の紹介の前に、私が抱えていた問題を説明します。 目下のプロジェクトでは Kubernetes 上で多数のマイクロサービスを動作させています。 マイクロサービス群はモノリポ(monorepo)上の共通のフレームワークやライブラリを用いて効率的に開発されています。 そのため、全

    docker buildx bake で高速並列ビルド - 誰かの役に立てばいいブログ
  • 爆伸び中のGoライブラリhuma

    はじめに 2024年に入り、Go言語の世界で急速に注目を集めているWebフレームワーク「huma」をご存知でしょうか?humaはGoでのAPI開発を革新する新しいライブラリで、そのスター数は驚異的なスピードで増加しています。記事では、humaの魅力とその使い方、そしてサンプルコードを通じてその実力を探っていきます。 huma公式リポジトリ 公式ドキュメント humaの良さ GoからOpenAPI 3.1を生成可能 humaはPythonFastAPIに強く影響を受けて開発されたライブラリです。FastAPI同様、YAMLファイルを書くことなく、Goのコードから直接OpenAPIYAMLを生成できます。これにより、APIの設計と実装がシームレスに統合され、開発効率が大幅に向上します。(スキーマファストかコードファストかの議論は別問題) GoでコードからOpenAPIを生成するライブラリ

    爆伸び中のGoライブラリhuma
  • アーキテクチャ大喜利 「もし、⚪︎⚪︎な仕様のサービスを立ち上げるなら、あなたはどんなアーキテクチャを組みますか?」著名企業のエンジニアに聞いた - Findy Tools

    公開日 2024/12/02更新日 2024/12/03アーキテクチャ大喜利 「もし、⚪︎⚪︎な仕様のサービスを立ち上げるなら、あなたはどんなアーキテクチャを組みますか?」著名企業のエンジニアに聞いた システムのアーキテクチャを設計する際には、単に技術的な知識だけがあればよいわけではありません。企業の事業戦略や開発組織の規模、サービスのビジネス特性など、さまざまな制約や要件を考慮する必要があります。最適なアーキテクチャを構築することは、一筋縄ではいかないのです。 では、優れたスキルを持つエンジニアは、具体的に何を念頭に置いてアーキテクチャを構築するのでしょうか。今回は、架空のWebアプリの仕様をテーマとして掲げ「もし、そのアプリを立ち上げるならば、どのようなアーキテクチャを提案するのか」を、著名IT企業のアーキテクトの方々に伺いました。いうなれば、お題に沿ってアーキテクチャを回答する“アー

    アーキテクチャ大喜利 「もし、⚪︎⚪︎な仕様のサービスを立ち上げるなら、あなたはどんなアーキテクチャを組みますか?」著名企業のエンジニアに聞いた - Findy Tools
    tomiyanx
    tomiyanx 2024/12/02
    ECの中の人だけど近い構成 エンジニア50人欲しいのう
  • ソフトウェアエンジニア 目線の再発防止策とは

    ソフトウェアエンジニア 目線の再発防止策とは 面 和毅

    ソフトウェアエンジニア 目線の再発防止策とは
    tomiyanx
    tomiyanx 2024/12/01
  • スケーリングにおけるチーム構造の変遷

    アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 アジャイルを活用したプロダクト開発では、初期は1つの小規模なチームからスタートすることが一般的です。 この段階では迅速な仮説検証や市場適応が求められるため、ユーザーからのフィードバックを反映しやすい少人数の柔軟なチーム構成が理想的です(逆に言うと、仮説検証段階でチーム規模を大きくしてしまうと、何か仕事をしなければいけないと考えて、使わない機能を開発したり、余計な標準化などに時間を費やしたりしてしまう可能性があります)。 しかし、プロダクトが成長し、市場での成功の兆しが見えてくると、より多くの機能の開発や技術的な対応が必要になり、チーム規模の拡大(スケーリング)が必要になるのが一般的で

    スケーリングにおけるチーム構造の変遷
    tomiyanx
    tomiyanx 2024/12/01
  • Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~

    スタートアップにおけるMonorepo開発で、単にコードを一箇所に集めるだけでなく、チームの意思決定プロセスとコミュニケーションの設計を通じて、その真価を最大化する実践について解説。

    Modular Monolith Monorepo ~シンプルさを保ちながらmonorepoのメリットを最大化する~
    tomiyanx
    tomiyanx 2024/12/01
  • 金が掛からないRailsの本番環境を求めて、

    そして私は家を飛び出した。 旅路の果てで、以下の構成に辿り着いた。 データベース: TiDB Cloud ストレージ: Cloudflare R2 Railsの実行環境: Fly.io ~ 20xx年某月某日 ~ 私はRuby on Railsを使ってWebアプリを作ろうとしていた。 そして同時にこう思っていた。 「お金かけたくない🥺」 当たり前だ。 なにせ私はこの荒れ果てた日の片隅で、ひっそりと呼吸し、そして下界に転がる料を貪る、一匹のしがなく卑しい動物だ。 いや、虫だ。 PR TIMESで「大規模な資金調達したぜ!」なんてPRできるようなニュースは無いし、タクシーの後部座席のディスプレイで上級国民にゴマをするサービスもない。 だから「できるだけお金を掛けない構成にせねば」と最初に考えた。 そんなことを考えながら、我が家のくたびれたドアノブを回した。 何に金が掛かるのか 以下の要素

    金が掛からないRailsの本番環境を求めて、
    tomiyanx
    tomiyanx 2024/12/01
  • 幸せの形はどれも似ているが

    Previous slideNext slideToggle fullscreenOpen presenter view About https://x.com/mizchi Node.js とフロントエンドの専門家 120万*達成率で御社のフロントエンドの高速化をやります 今日話す内容ができます。社内勉強会等も承ります。 話すこと/話さないこと 話すこと パフォーマンスという予算の考え方 Lighthouseによる計測 ソースコードを二分探索して問題を特定 計測した問題の扱い方 話さないこと 具体的な問題の解決方法(都度調べて) 発表のコンテキスト 特定コードの影響範囲のみを計測する方法を周知したい サードパーティスクリプト開発で大量のウェブサイトを計測していた 暗黙知化しているのを棚卸ししたい フロントエンド計測≒E2E計測 フロントエンド課題に限定せずに全部に向き合う ユーザーと同じ

    tomiyanx
    tomiyanx 2024/11/24
  • Universal Linksの挙動を知る

    tomiyanx
    tomiyanx 2024/11/20
  • なぜ DuckDB を採用したのか

    概要 なぜ 自社 で DuckDB を採用したのかを、雑に書いていきます。 まとめ DuckDB / DuckDB-Wasm を利用する事で中小規模のサービスであれば、ログ解析や統計情報の可視化を低コストで提供することができる DuckDBgo-duckdb 経由で利用する事で、HTTP リクエスト単位での DuckDB を利用できる DuckDB-Wasm と OPFS を利用する事で、クライアント側での統計情報のため込みができるようになる 解決したい課題 解決したい課題は基的にサービスの運用費を抑えるということです。中小規模のサービスでは運用費が大きな課題になります。 自社パッケージ向けのログ解析ツール 自社パッケージ製品は多くの JSON Lines 形式 (移行 JSONL) でログを出力します。 顧客からの問い合わせに対して、共有して貰ったログを解析して問題を特定すること

    なぜ DuckDB を採用したのか
    tomiyanx
    tomiyanx 2024/11/18
  • 【MySQL】メジャーバージョンアップグレードの味方: “アップグレードチェッカーユーティリティ”を理解して活用しよう - Adwaysエンジニアブログ

    あいさつ こんにちは! 技術技術戦略Div. リードエンジニアの関根です! 2024年9月にジョインして、コツコツSRE活動を進めておりますっ エンジニア3年目ながらSREにゴリゴリ関われているのは、アドウェイズにオープンなコミュニケーションの文化があるおかげです。SREに少しでも興味がある人は、お待ちしておりますよ! 最近、Netflix、アマプラ、U-NEXTに加えてAppleTVも契約してしまいました笑 映画やドラマの話しましょうね! あとお酒が大好きなので、社内外問わず飲みに行きましょうね!! この記事はなに? この記事は、MySQLメジャーバージョンアップグレード時にアップグレードチェッカーユーティリティ(以下、アップグレードチェッカー)を理解して活用することで、効率的にアップグレードを進めるための情報を記載しています。 SREとして、EOL対応屋さん的な動きをコツコツやっ

    【MySQL】メジャーバージョンアップグレードの味方: “アップグレードチェッカーユーティリティ”を理解して活用しよう - Adwaysエンジニアブログ
    tomiyanx
    tomiyanx 2024/11/18
  • 【2024年版】Dockerfileのベストプラクティスを整理しながらNode.jsで実践する

    はじめに 最初はなんとなくで書いていた Dockerfile なのですが、社内用にベストプラクティスを整理するタイミングがあったので、実際に Node.js + TypeScript でアプリケーションを作成しながらまとめることにしました。 この記事でフォーカスするのは、 Dockerfile のベストプラクティスそのものの詳細ではなく、それらを整理と「結局どう実装すんねん?」ってところです。 主に以下の内容を参考にしています。 想定読者 Node.js における Dockerfile のベストプラクティスの具体を知りたい方についてはピッタリだと思いますが、その他の言語でも参考になる部分はあると思います。 記事では、各用語やベストプラクティスの詳細は記載しませんが、該当箇所へのリンクを載せているので必要に応じて参照して下さい。 また、この記事に書いていない内容で、上記3つの記事に書かれて

    【2024年版】Dockerfileのベストプラクティスを整理しながらNode.jsで実践する
    tomiyanx
    tomiyanx 2024/11/16
  • アジャイルを実践する組織であってもウォーターフォールを学ぶことには価値がある - mtx2s’s blog

    「すべてのライフサイクルモデルの祖は、ウォーターフォールモデルである」とは、スティーブ・マコネルの言葉だ1。また、ソフトウェア開発ライフサイクル(SDLC)に関するGitHubの文書では、広く採用された最初のSDLCがウォーターフォールモデルであるとされている2。 そこに、ウォーターフォールを学ぶことに対する価値がある。それは、スクラムを導入し、アジャイルソフトウェア開発を実践する組織にも言えることだろう。いや、そうであるからこそだ。どんなソフトウェア開発プロセスモデルであろうと、ウォーターフォールから派生したり、何らかの影響を受けていると考えられる。したがって、ウォーターフォールへの理解から、自分達がやっていることの質を見いだせるのではないだろうか。 ウォーターフォールなんて誰でも知っていると思うかもしれないが、そうとも限らない。確かにウォーターフォール未経験のソフトウェア開発者は少な

    アジャイルを実践する組織であってもウォーターフォールを学ぶことには価値がある - mtx2s’s blog
    tomiyanx
    tomiyanx 2024/11/13
  • 【不具合のお詫び】短縮URL発行システムの不具合について|LINEヤフー株式会社

    このたび、弊社サービスにおいて以下の期間に発行された短縮URLが意図した元のURLとは異なる弊社の別サービスへ遷移されていた不具合(以下、事象)が判明いたしました。 事象の概要について、以下の通りご報告いたしますとともに、ユーザーおよび関係者の皆さまには多⼤なるご迷惑とご⼼配をおかけしましたことを、深くお詫び申し上げます。 なお、事象に対しては、すでに暫定的な対応を実施しており、誤った短縮URLが新たに発行されることはございません。 1. 発⽣した事象 当社ではLINEの各サービスにおいてURLを送付する際、長文のURLを短縮URLに変換し送付を行う「短縮URL発行システム」を利用しています。 事象では同システムにおいて短縮URLを発行する際に短縮元となるURLについて過去に同システムで短縮URLを発行済みであるかを確認する処理に誤りがあり、 結果として短縮URLが発行者の意図とは

    tomiyanx
    tomiyanx 2024/11/12
  • 東洋経済の「社長交代」発表が不評を買った理由

    「東洋経済新報社『突然の社長退任』はクーデターだった!」 週刊文春の電子版にそうした見出しの記事が出たのは11月1日のことだ。 10月30日、筆者が勤める東洋経済新報社で社長交代の発表があった。12月に予定する株主総会をもって現取締役執行役員の山田徹也氏が代表取締役社長に就任し、現代表取締役社長の田北浩章氏は取締役を退任し会長に就任するというものだった。 文春の記事は、この人事に対する社内の混乱ぶりを現役社員の声も交えて報じているが、東洋経済の公式見解は「クーデターではない」としている。 東洋経済の決算期は9月で、取締役の任期は1年。12月に予定する定時株主総会での取締役等選任議案の候補に田北氏は含めないことを取締役会で決めた。最終的に田北氏も取締役会で新体制の人事案を承認している。 デジタル大辞泉(小学館)でクーデターの意味を調べると「既存の支配勢力の一部が非合法的な武力行使によって政権

    東洋経済の「社長交代」発表が不評を買った理由
    tomiyanx
    tomiyanx 2024/11/08
  • 令和トラベル Dify講座(社内イベント資料) | ドクセル

    スライド概要 社内で実施したDify講座の資料です。 Dify初級者から中級者向けに参考になる内容もあるかもなので、外部公開してみます。

    令和トラベル Dify講座(社内イベント資料) | ドクセル
    tomiyanx
    tomiyanx 2024/11/07