並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 326件

新着順 人気順

マイグレーション dbの検索結果1 - 40 件 / 326件

  • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

    2024.8.6:FastHTMLについて追記しました。 ※本記事で言及しているReflexのdiscordサーバー内に日本語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出てきますし、ネットでもかなり情報の多い、Streaml

      PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
    • ウォータフォールはやめて2024年の開発をやろう!|牛尾 剛

      今回の記事は特に私の意見であり、所属会社の意見ではないことをお断りしておきます。 最近になってまたウォータフォール vs アジャイルの議論を見かけることが多くなってきたので、私が勤務する米国の世界規模のクラウドプロバイダーでは2024年現在どんな開発をしているのかをご紹介したいと思います。私はこれが「正解」といいたいのではなく、何らかのポイントが皆さんの何らかの参考になったらいいなと思って筆をとりました。 ちなみに、2016年時点で私のウォータフォール開発に対する考え方は下記のブログの通りで今も変わっていません。ただ、2024年現在だからといってアジャイルをやるべきと思っているわけでもありません。 もし、今ウォータフォールをやっている人がいたら「そんなこと言ってもどうしたらええねん」となると思うので、自分なりの解決方法も考えてみました。 最初に自分的な結論を書いておくと「2024年の開発と

        ウォータフォールはやめて2024年の開発をやろう!|牛尾 剛
      • データベース中心の設計になってしまう問題と闘う - laiso

        『手を動かしてわかるクリーンアーキテクチャ 』の第二章の冒頭に登場する話題に共感したので紹介。 従来の多層アーキテクチャでは、データベースを中心にアプリケーションの 開発が行なわれます。この場合、Web 層はドメイン層に依存し、ドメイン層は 永続化層、つまり、データベースに依存することになります。そうなると、す べてのものは永続化層上に構築されることになり、その結果、いくつかの要因 が絡まり合って、問題が起きやすくなります。 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 20p 手を動かしてわかるクリーンアーキテクチャ ヘキサゴナルアーキテクチャによるクリーンなアプリケーション開発 作者:Tom Hombergs,須田 智之インプレスAmazon 著者によれば、機能開発をデータベース中心に設計すると、ドメイン層と永続化層の密結合が

          データベース中心の設計になってしまう問題と闘う - laiso
        • NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック

          近年のデータベースの新潮流にNewSQLと呼ばれる一群のデータベース製品群の登場がある。そのコンセプトを一言でいうと、RDBとNoSQLのいいとこどりである。SQLインタフェースと強いデータ一貫性(ACID)というRDBの利点と水平方向のスケーラビリティというNoSQLの長所を兼ね備えた夢のようなデータベースである。下図に見られるように、RDBとNoSQLが鋭いトレードオフを発生させていたのに対して、NewSQLではそれが解消されているのが分かる。 RDB vs NoSQL vs NewSQL本当にそのような夢の実現に成功しているか、というのはまだ議論が続いているが(クエリのスループットを出すためにレイテンシを犠牲にしているので本当にトレードオフを解消はしていない、などの問題が指摘されている)、商用でも利用可能な製品としてGoogle Spanner、TiDB、YugabyteDB、Coc

            NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック
          • すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる

            あなたがさっきまで読んでいた技術的に役立つ記事は、10年後も使えるでしょうか?ほとんどの場合でいいえ はじめに 短期的に効果的な手法や知識は、ソフトウェア開発の分野において、急速に価値を失う傾向があります。この現象は、私たちが何を重点的に学ぶべきかを示唆しています。最も重要なのは、第一に基本的な原理・原則、そして第二に方法論です。特定の状況にのみ適用可能な知識や即座に結果を出すテクニックは、長期的には有用性を失う可能性が高いです。これは、技術や手法が時間とともに進化し、変化していくためです。 learning.oreilly.com 「API Design Patterns」は、このような考え方を体現した書籍です。しかも480 ページもあります。本書は単なる手法の列挙ではなく、Web APIデザインの根幹をなす原則と哲学を探求しています。著者のJJ Geewax氏は、APIを「コンピュータ

              すぐに役に立つものはすぐに陳腐化してしまうから方法ではなく設計の本を読む - API Design Patterns の読書感想文 - じゃあ、おうちで学べる
            • 毎日本番DBをダンプして、ローカルと開発環境で利用して生産性を上げてる話

              シードデータで動作確認して大丈夫だったのに、本番反映してみたら想定してなかった挙動・エラーが出た😱そんな経験はありませんか。 恥ずかしながら私は今までに何回もありました。機能開発だけじゃなくバッチやマイグレーションなんかでも発生しがちなコレ。またはシードデータで動作確認できても、本番データでも通用するか検証ができないままプルリクを作る、なんていうこともあると思います。今回はこちらを無くす試みをしたお話です。 「もう本番DBで開発しちゃえばいいじゃない」の問題点 この課題を解決するには、極論すると本番DBで開発するしかないのですが、そうなると言うまでもなく以下の問題が出てきます。 レビュー通過してないコードが本番に影響を与える トライ&エラーができない 個人情報をはじめとするセンシティブな情報が開発者の端末に漏れる データ量が多すぎてローカルに持ってこれない しかし言い換えると、これらをク

                毎日本番DBをダンプして、ローカルと開発環境で利用して生産性を上げてる話
              • オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank

                こんにちは。MySQLは秋の季語とする一派が世に存在していることを知り、私もMySQLに関わる記事を書いてみようと筆を取ることにしました。 さて、リレーショナルデータベースをバックエンドとするWebアプリケーション開発において、特定の条件に合致するレコードがN件だけ存在するかどうかを確認するロジックは頻出といえます。プログラマとして一度は書いたことがあるのではないでしょうか? この記事ではそのような件数カウントを行うためのクエリが引き起こした性能劣化と、その改善アプローチについて紹介していきます。 なお、本記事の内容はMySQLを前提としており、アプリケーションコードの例はRuby on Railsを用いますが特別な前提知識は必要ありません。コードの雰囲気だけ感じ取っていただければと思います。 ありがちなコード if query.count == n の問題 冒頭で述べた通り、特定の条件に

                  オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank
                • 【個人開発】最新のNext.js+NextAuth.js+prisma+microCMSでECサイト作ってみた【フルスタックアプリケーション】 - Qiita

                  【個人開発】最新のNext.js+NextAuth.js+prisma+microCMSでECサイト作ってみた【フルスタックアプリケーション】TypeScriptフロントエンド個人開発Next.jsprisma はじめに 皆さんこんにちは、mamiなのだ! 今回はバックエンドは作らずにNextAuth.jsやprisma、microCMSなどを利用してNext.jsでECサイトを作成してみたので、その方法や手順などを公開しつつ、認証周りや大型開発案件でも採用されるstorybookなどについても解説していこうと思うのだ! フロントを勉強し始めた初学者さんや、フロントがメインではないバックエンドエンジニアの方に向けて、丁寧に解説を挟みながら書いていくので「へ〜フロントってこんな感じのことやってるんだ〜」と思ってくれたら嬉しいのだ! ちなみにこの記事は丁寧に解説しすぎて死ぬほど長くなってしまっ

                    【個人開発】最新のNext.js+NextAuth.js+prisma+microCMSでECサイト作ってみた【フルスタックアプリケーション】 - Qiita
                  • PythonでDDDやってみた💪 - techtekt

                    はじめに 実行環境 ディレクトリ構造 app migrations/model pyproject.toml ソースコードと簡単な解説 app/core app/core/abstract app/core/decorator app/core/exception app/core/interface app/core/middleware app/core/mixin app/ddd app/ddd/application app/ddd/application/schema app/ddd/application/schema/studnet app/ddd/application/usecase app/ddd/application/usecase/student app/ddd/domain app/ddd/domain/student app/ddd/infra app/ddd

                      PythonでDDDやってみた💪 - techtekt
                    • 『GitHub CI/CD実践ガイド』でGitHub ActionsとCI/CDを体系的に学ぼう - 憂鬱な世界にネコパンチ!

                      『GitHub CI/CD実践ガイド――持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用』という書籍を最近出版したので紹介します。本書ではGitHub Actionsの実装と、CI/CDの設計・運用を体系的に学べます。一粒で二度美味しい書籍です。筆者個人としては「実践Terraform」以来、4年半ぶりの商業出版になります。 gihyo.jp どんな本? GitHub利用者にとって、もっとも導入が容易なCI/CD向けのソリューションはGitHub Actionsです。GitHub Actionsの活用事例は多く、検索すればたくさん情報が出てきます。ただ断片的な情報には事欠かない反面、体系的に学習する方法は意外とありません。CI/CD自体がソフトウェア開発の主役になることもまずないため、なんとなく運用している人が大半でしょう。そこで執筆したのが『GitHub CI/

                        『GitHub CI/CD実践ガイド』でGitHub ActionsとCI/CDを体系的に学ぼう - 憂鬱な世界にネコパンチ!
                      • PostgreSQL環境における、DB定義変更を伴う無停止リリース「概要と計画」編 - RAKUS Developers Blog | ラクス エンジニアブログ

                        こんにちは。 株式会社ラクスで先行技術検証をしたり、ビジネス部門向けに技術情報を提供する取り組みを行っている「技術推進課」という部署に所属している鈴木(@moomooya)です。 ラクスの開発部ではこれまで社内で利用していなかった技術要素を自社の開発に適合するか検証し、ビジネス要求に対して迅速に応えられるようにそなえる 「技術推進プロジェクト」というプロジェクトがあります。 このプロジェクトで「PostgreSQL環境における、DB定義変更を伴う無停止リリース」にまつわる検証を進めているので、その中間報告を共有しようかと思います。 ※本記事はタイトルに「概要と計画」編とあるように、通年で行う調査の前半時点の中間報告となります。 実際の検証結果については3月末に予定している後編をお待ち下さい。 課題の経緯、前提条件 課題の経緯 無停止リリース実現のモチベーション 前提条件 実現手法 候補に上

                          PostgreSQL環境における、DB定義変更を伴う無停止リリース「概要と計画」編 - RAKUS Developers Blog | ラクス エンジニアブログ
                        • ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る - newmo 技術ブログ

                          newmo では、地図データや地理情報を扱う場面が多くあります。 たとえば、タクシーやライドシェアでは、営業区域のような営業していいエリアといった地理的な定義があります。 また、乗り入れ禁止区域のようなタクシーが乗り入れてはいけないエリアといった定義も必要になります。 これらの地理に関する定義は GeoJSON のような地理情報を扱うデータ形式で管理されることが多いです。 しかし、GeoJSONなどの定義をテキストとして手書きするのは困難です。 そのため、地図上に区域を作図するエディタやその定義した区域が正しいかをチェックするような管理ツールが必要です。 管理ツールは、ウェブアプリケーションとして作った方が利用できる環境が広がります。 このような地理情報は一度に扱うデータが多かったり、空間的な計算処理が必要になるため、専用の仕組みを使うことが多いです。 このような技術を、地理情報システム(

                            ブラウザで動作する地理空間データ処理ライブラリとして DuckDB-wasm を使い、 SQL を TypeScript で管理する仕組みを作る - newmo 技術ブログ
                          • 大規模サービスのインフラを全面的にリプレイスした話 - Qiita

                            はじめに こんにちは。雑食系エンジニアの勝又です。 今回は、私が2年ほど参画させていただいた大規模サービスのインフラやDevOps周りを全面的にリプレイスしたお話について簡単にご紹介させていただきます。(内容に関しては事前に参画先企業様に確認していただいております) サービス概要 詳細な内容は伏せますが、メインとなるテーブルのレコード数が数十億件、スパイク時には数万〜数十万のユーザーが一斉にアクセスする大規模サービスです。 技術的負債 長く運用されてきたサービスのあるあるですが、新機能の追加が最優先されてきたことにより、こちらのサービスにも下記のような技術的負債が大量に積み上がっていました。 RubyやRailsやMySQLのバージョンがかなり古い インフラの構成がコードではなくドキュメントで管理されている アプリケーションの構成管理がおこなわれていない CI/CDパイプラインが構築されて

                              大規模サービスのインフラを全面的にリプレイスした話 - Qiita
                            • RedisをフォークしたインメモリDBの「Valkey」、次期バージョンでは性能が2倍以上に

                              オープンソースの代表的なインメモリデータストア「Redis」のフォークとしてLinux Foundation傘下で開発が進められている「Valkey」は、AWSやGoogle Cloud、Oracle Cloudなどへの採用が始まっています。 参考:Google Cloud、Redisをフォークした「Valkey 7.2」のマネージドサービス「Memorystore for Valkey」プレビュー版を開始 8月2日に、フォーク後の最初のメジャーバージョンとなる「Valkey 8.0」のリリース候補版が公開されたのに合わせて、Valkey 8.0で予定されている性能や機能の向上についての記事「Valkey 8.0: Delivering Enhanced Performance and Reliability」がValkeyのブログに投稿されました。 その内容から、Valkey 8.0の主

                                RedisをフォークしたインメモリDBの「Valkey」、次期バージョンでは性能が2倍以上に
                              • 目的別データベースの実践: PostgreSQL 行レベルセキュリティと DynamoDB Outboxパターン - KAKEHASHI Tech Blog

                                カケハシのプラットフォームチームのテックリードとして組織管理サービスと認証基盤を開発している kosui (id:kosui_me) です。今回は、目的別データベースをプラットフォームチームではどのように実践しているかご紹介します。 この記事は秋の技術特集 2024の 13 記事目です。 背景 目的 事例1: PostgreSQL の行レベルセキュリティを活用する組織管理サービス 組織管理サービスとは PostgreSQL の行レベルセキュリティ 行レベルセキュリティを用いたトランザクションマネージャー 行レベルセキュリティの運用上の注意点 事例2: DynamoDB を活用する認証基盤と Outbox パターンの活用 カケハシの認証基盤刷新 DynamoDB で実現する高稼働率の認証基盤 DynamoDB の特性を考慮する CDC と Outbox パターン まとめ 背景 医療の分野で様

                                  目的別データベースの実践: PostgreSQL 行レベルセキュリティと DynamoDB Outboxパターン - KAKEHASHI Tech Blog
                                • データマイグレーションの成功戦略~サービスリニューアルで失敗しないための実践ガイド~

                                  ちょっぴりDiveDeepするAWSの時間 AWS Dev Day 2023 Tokyo 延長戦 実践データ移行 〜はてなダイアリーや魔法のiらんどの事例と共に〜

                                    データマイグレーションの成功戦略~サービスリニューアルで失敗しないための実践ガイド~
                                  • sqlc を TypeScript で利用する

                                    まとめ sqlc-gen-typescript かなり良い 自分が TypeScript でウェブアプリを利用するなら間違いなく sqlc を選択する SQL は共通言語という点で本当に偉大 sqlc とは sqlc とは Go で書かれた SQL を元にコードを生成するツール。 なぜ sqlc ? 結局、それぞれの ORM 固有の技術を覚えるくらいなら SQL を覚えた方が早い 拡張に ORM が対応していようがいまいが関係ない SQL パーサーが pg_query_go を利用しているので信頼できる sqlc は PostgreSQL だけなの? sqlc は MySQL や SQLite にも対応している。 sqlc は Go だけなの? sqlc は Wasm でプラグインが書けるようになってきており、つい最近 TypeScript 版がリリースされた。 現時点では、 Postgr

                                      sqlc を TypeScript で利用する
                                    • ニーリーのSREによるリリースサイクルの改善〜「隔週深夜1回→1日2回」にリリース頻度を向上させた道のり〜|株式会社ニーリー公式note

                                      プロダクト開発グループSREチームの大木(おおぎ)と菊地です。 突然ですが、皆さんのプロダクトではリリースはどのように行われていますか? 実は、ニーリーのメインプロダクトであるPark Direct(パークダイレクト)はわずか1年前まで隔週に一度、深夜0時からしかリリースを行うことができていませんでした。開発組織の健全性の指標として使われる d/d/d (deploys / a day / a developer) という指標で、1年前の我々は d/d/d=0.015ぐらいのスコアでした。この指標は d/d/d >= 0.1 が健全な組織としての目安となるそうです(※1)。かなりの開きがありますね・・・。 この記事では、SREチームのリリースエンジニアリングと開発チームのプロセス改善により、リリースの頻度が大幅に向上したというお話をしたいと思います。 ※1 『エンジニアリング組織論への招待

                                        ニーリーのSREによるリリースサイクルの改善〜「隔週深夜1回→1日2回」にリリース頻度を向上させた道のり〜|株式会社ニーリー公式note
                                      • GPT-4V x LINE Bot を Cloudflare Workers で実現するためにやったこと・やらなかったこと - hatappi.blog

                                        この記事では OpenAI が提供する Vision API (GPT-4V) を使用して、LINE に投稿した画像に反応する Bot を作成した際にやったこと・やらなかったことを書いています。 Bot の実装を細かく解説はしていないので、それを知りたい方は「ChatGPT LINE」などでググると参考になる良い記事が沢山でてくるのでそちらを参照してください! モチベーション LINE Bot は昔実装したものがありグループ LINE で身の回りのあれこれを通知する君になっていました。機能としては通知のみだったので何か反応してほしいなーと思ったのが最初のきっかけでした。冬休みで時間もあったので OpenAI 周りのプロダクトを整理するためにドキュメントを一通り見てその中から Vison API を使えば画像にも反応できる Bot にもなり面白そうなことがわかったのでガッと実装することにしま

                                          GPT-4V x LINE Bot を Cloudflare Workers で実現するためにやったこと・やらなかったこと - hatappi.blog
                                        • 2023年版!エンジニア必見のチートシート集 - Qiita

                                          2. 機械学習・AIチートシート まずは機械学習やAI開発に関わるチートシートからです! Machine Learning Cheat Sheet | DataCamp 主要な機械学習アルゴリズム、その利点と欠点、および使用ケースをガイドするものです。初心者からエキスパートまで、誰でも役立つリソースです。 機械学習アルゴリズム チートシート MicrosoftのAzureが提供している機械学習アルゴリズムに関するチートシートです。 TensorFlow Cheat Sheet https://zerotomastery.io/cheatsheets/tensorflow-cheat-sheet/ 機械学習と人工知能のためのオープンソースライブラリ、TensorFlowのチートシートです。基本的な概念やベストプラクティスがまとめられています。 (メールアドレスでサブスクライブするとPDFがダ

                                            2023年版!エンジニア必見のチートシート集 - Qiita
                                          • 【技術Tips】私がRuby on Railsを選んだ理由と学習の参考になるOSSアプリケーション - TECH Street (テックストリート)

                                            はじめに こんにちは、オシロ株式会社でリードエンジニアとして働いているにっく(webuilder240)と申します。オシロでは自社プロダクトとしてコミュニティ専用オウンドプラットフォーム「OSIRO」を提供していますが、私は2015年の開発開始から一人目エンジニアとして携わり、技術選定の意思決定を行ってきました。 今回は、そのなかでもRuby on Railsを選択した理由、 その学習に役立つOSSアプリケーションについて紹介したいと思います。この記事を読むことで、Railsの選定理由や実践的な学習方法について理解を深めていただければと思います。 はじめに Ruby on Railsの選択理由 開発に必要な便利機能がはじめからそろっていた 可読性・コードの美しさ 選び続けている理由 RailsのコードリーディングにおすすめなOSS Mastodon forem Writebook 最後に

                                              【技術Tips】私がRuby on Railsを選んだ理由と学習の参考になるOSSアプリケーション - TECH Street (テックストリート)
                                            • シンデレラのように魔法がとけないうちは本番環境にアクセスできるようにしてみた - NTT Communications Engineers' Blog

                                              この記事では、できるだけアクセスを絞るべき本番環境に対して、かのシンデレラのように時間制限つきの承認性アクセスができるようにした事例を紹介します。 目次 目次 はじめに 背景 複数の環境 これまでの運用 課題 実現方法 実装 - Google Cloud IAM 設定スクリプト 設定 - GitHub Environments 実装 - GitHub Actions その他細かな工夫点 ゴミ掃除 Slack 連携 サービスアカウントキーの発行 運用を変えてみて おわりに はじめに こんにちは、NeWork 開発チームの藤野です。普段はオンラインワークスペースサービス NeWork のエンジニアリングマネジメントをしており、最近では実際にコードを書く機会も増えてきています。 この記事では、これまで手動 + ガッツで運用していた本番環境へのアクセス管理の工程のほとんどを自動化した内容をご紹介し

                                                シンデレラのように魔法がとけないうちは本番環境にアクセスできるようにしてみた - NTT Communications Engineers' Blog
                                              • 【PHP/Laravel】マイグレーションファイルを全て削除するとDB構築時間が99%削減!? - RAKUS Developers Blog | ラクス エンジニアブログ

                                                こんにちは。大阪楽楽開発課のdaina_rksです。 Laravelのマイグレーションを活用して、テーブル定義を更新しているサービスは多いと思います。 しかしサービスが継続するにつれ、気づけば大量のマイグレーションファイルが存在している、、、なんて経験はありませんか? 私が携わっていたプロジェクトでも同じ悩みに直面していました。 この悩みに対して、私はマイグレーションファイルを全て削除するということを行いました。 今回はそのときの経験について、なぜマイグレーションファイルを削除するに至ったのか、削除するにあたって行なったこと、削除した結果どんな効果があったのかをご紹介します! マイグレーションファイルを全て削除するに至った理由 問題 マイグレーションファイルを全て実行するのに時間がかかる マイグレーションファイルのメンテナンスコストがかかる アイデア アクション ダンプ&リストアの仕組み構

                                                  【PHP/Laravel】マイグレーションファイルを全て削除するとDB構築時間が99%削減!? - RAKUS Developers Blog | ラクス エンジニアブログ
                                                • Lensを始めとするOpticsがプログラミングをどう変えるか / 複雑なデータのモデリングをサボるには - Lambdaカクテル

                                                  仕事でLensを使う機会があった。Lensは複雑で入り組んだデータ構造の読み書きに非常に効果的な手法であるにもかかわらず、関数型プログラマ以外にはあまり知られていないように思える。 そこでこの記事では、Lensとは何なのか、なにが良いのか、具体的にどのようなケースでLensが役立ったか、そしてLensの亜種について紹介する。業務でも使ってます! AIくんが考えるLens 前提条件 Lensとは Lensの使いどころ データをモデリングする場合 (とても つらい) Lensを使う場合: Lensはアクセスパスである Lensと愉快な仲間たち Lensの合成 -- andThenでひっつけよう Lens Law Monocleの便利機能 Lensの自動生成でサボる Focusでもっとサボる Lensがもたらしたもの まとめ あわせて読みたい 前提条件 この記事ではLensを紹介する言語としてS

                                                    Lensを始めとするOpticsがプログラミングをどう変えるか / 複雑なデータのモデリングをサボるには - Lambdaカクテル
                                                  • Mackerel で行った障害対応演習を紹介します - Hatena Developer Blog

                                                    こんにちは、Mackerel チーム SRE の id:heleeen です。 この記事は、はてなの SRE が毎月交代で書いている SRE 連載の4月号で、先月分は id:taxintt さんのサービスの一般公開前からSLI/SLOと向き合うです。 今回は、先日 Mackerel チームで行った障害対応演習で実施した内容と、どのような学びを得たかについて紹介します。 本番障害はできればなくしたいものですが、すべての障害を完全になくし可用性を100%にするのはとても困難です。そのため、障害が発生したときの影響範囲を小さくする仕組みを導入したり、ロールバックを素早く行えるようにしておくなど、影響を抑えるための取り組みが必要になります。 Mackerel では、その一環として、障害対応時のオペレーションの確認やバックアップからの復旧が行えるかの検証などの起きてしまった障害を素早く収束させたり、

                                                      Mackerel で行った障害対応演習を紹介します - Hatena Developer Blog
                                                    • AWS Aurora MySQL v3 アップグレード時のgh-ostの活躍について - BASEプロダクトチームブログ

                                                      BASE も Aurora MySQL v3 となりました SRE Groupの ngsw です。 2024/10/14〜10/15の深夜メンテナンスにて、BASEで利用しているAmazon Aurora MySQLのバージョンは、v2系からv3系となりました。 アップグレードの前提条件で大きなつまずきがありましたが、gh-ost を利用することで、乗り越えることができました。 この記事では当該アップグレードの中で gh-ost をどのように利用し、どういう恩恵を受けたかについて述べていきます。 おさらい : v3 対応しないとどうなるの? Aurora MySQL v2は標準サポート終了が発表されており、v3への移行を終えていないDBクラスターには自動的に有償の延長サポートが適用される流れです。 Amazon RDS 延長サポートの使用 - Amazon Aurora 2024/10/3

                                                        AWS Aurora MySQL v3 アップグレード時のgh-ostの活躍について - BASEプロダクトチームブログ
                                                      • 監査ログの保管先をRDBからS3に移行する - メドピア開発者ブログ

                                                        こんにちは。サーバーサイドエンジニアの @atolix_です。 今回はメドピアで運用しているアプリケーションのkakariの監査ログをDB管理からS3管理に移行したので、その方法と手順について紹介したいと思います。 kakari.medpeer.jp 背景 従来kakariではAuditedを用いて、監査ログを専用のauditsテーブルに保管する処理を行っていました。 github.com # application_record.rb class ApplicationRecord < ActiveRecord::Base ... include Auditable # auditable.rb module Auditable extend ActiveSupport::Concern included do audited ... end しかしレコードの変更の度にauditsテーブ

                                                          監査ログの保管先をRDBからS3に移行する - メドピア開発者ブログ
                                                        • Rails: DBメンテナンス支援ツール "maintenance_tasks" README(翻訳)|TechRacho by BPS株式会社

                                                          概要 MITライセンスに基づいて翻訳・公開いたします。 英語記事: Shopify/maintenance_tasks: A Rails engine for queueing and managing data migrations. 原文更新日: 2024/07/24(e56130a) ライセンス: MIT 本記事では、原則としてツール(gem、フレームワーク)の名前をmaintenance_tasksと表記します。 Shopifyが開発したmaintenance_tasksは、Railsガイドでも推奨されているDBのデータマイグレーション用gemです↓。 参考: 10.2 データのマイグレーション -- Active Record マイグレーション - Railsガイド maintenance_tasksは、メンテナンスタスクをジョブキューに入れて管理するRailsエンジンです。 こ

                                                            Rails: DBメンテナンス支援ツール "maintenance_tasks" README(翻訳)|TechRacho by BPS株式会社
                                                          • MFA設定必須のCognitoのクロスアカウントマイグレーションについて - ZOZO TECH BLOG

                                                            はじめに こんにちは、計測プラットフォーム開発本部SREブロックの近藤です。普段はZOZOMATやZOZOGLASS、ZOZOFITなどの計測技術に関わるシステムの開発、運用に携わっています。 計測プラットフォーム開発本部では、複数のプロダクトを運用していますが並行して新しいプロダクトも開発しています。SREチームでは増え続けるプロダクトの運用負荷に対して改善は行っていますが、さらなるプロダクトの拡張に備えてZOZOFITの開発運用を別チームへ移管することになりました。移管作業の中でAWSリソースを別チームが管理するAWSアカウントへ移行する作業が発生することになりました。本記事では移行時に遭遇した課題と、その課題の解決に至るまでの取り組みをご紹介します。 目次 はじめに 目次 背景・課題 調査 ユーザ移行Lambdaの作成 簡易ダイアグラム フローチャート ユーザ移行Lambdaの処理

                                                              MFA設定必須のCognitoのクロスアカウントマイグレーションについて - ZOZO TECH BLOG
                                                            • Rails初学者に向けたマイグレーションの仕組みと実践方法 | 株式会社divx(ディブエックス)

                                                              目次[非表示] 1.はじめに 2.実施環境 3.マイグレーションとは 4.up・downについて 5.修正方法2つ 5.1.修正したマイグレーションファイルの追加 5.2.ロールバック 5.3.changeについて 6.NO FILEと表示された時の対処法 6.1.そもそもなぜこのようなエラーが起こるか 6.2.解決方法 7.終わりに 8.お悩みご相談ください はじめにエンジニアのみなさん、こんにちは。 入社してから1年が過ぎ、日々知識を吸収しながら業務にあたっています。 最近Ruby on Rails(以下、Rails)での開発案件にアサインされました。 Rails自体は過去に一度触ったことがありますが、その時にはバックのロジックを修正しただけで、データベース(以下、DB)設計などはしたことがありませんでした。 実際に業務を進めていく中でDB設計をすることとなり、「マイグレーション」とい

                                                                Rails初学者に向けたマイグレーションの仕組みと実践方法 | 株式会社divx(ディブエックス)
                                                              • GoとCobraを用いた新規マイクロサービス用ボイラープレートの自動生成CLIツールでコスト削減した話 - Gaudiy Tech Blog

                                                                こんにちは。ファンと共に時代を進める、Web3スタートアップ Gaudiy でソフトウェアエンジニアをしている ryio1010です。 私は弊社が提供するファンコミュニティプラットフォーム「Gaudiy Fanlink」の開発において、フィーチャーチームの一員として、主にバックエンド開発を担当しています。 バックエンドのアーキテクチャにはマイクロサービスを採用していますが、会社のフェーズ的に試行錯誤の段階であることや、それに伴うチーム体制の変更がよく起きていることもあり、新しいマイクロサービスの立ち上げも頻繁に行われています。 私自身もこれまでの業務で2〜3つの新しいマイクロサービスを立ち上げる経験をしてきました。 今回は、これらのマイクロサービスの立ち上げと運用の経験から、特に立ち上げフェーズにフォーカスし、改善を行った事例をご紹介したいと思います。 1. マイクロサービスの概要とGau

                                                                  GoとCobraを用いた新規マイクロサービス用ボイラープレートの自動生成CLIツールでコスト削減した話 - Gaudiy Tech Blog
                                                                • 2023年に書いたコード - laiso

                                                                  「2023年のふりかえり」ではPythonやJavaScriptのコーディングの話ばかり出てくるけど、これって今年全体から見ると1割以下だなぁと思ったのでGitHubのメトリクスを見ながら振り返ることにした laiso.hatenablog.com 言語ごとのコミット数 PHPの話 Laravelの話 開発手法の話 テストの話 GitHub上での活動 2021年 2022年 言語ごとのコミット数 vn7n24fzkq/github-profile-summary-cardsというのが生成してくれたグラフ profile-summary-card-output Python はデータ分析サーバーをFastAPIで書いてるのでその分と、Swiftは記憶にない 他の大部分はLaravel を使った複数のプロジェクトになる PHPの話 PHPの仕事が欲しいわけではないのであんまりPHP書ける人ブラ

                                                                    2023年に書いたコード - laiso
                                                                  • MySQLの ALTER TABLE ステートメントの実行形式について学んだメモ✍ - 継続は力なり

                                                                    タダです. DB マイグレーションなどで ALTER TABLE ステートメントを実行する機会は多いと思いますが,自分は ALGORITHM 指定した実行形式を意識して使ったことがこれまでありませんでした.今回実行形式に触れる機会があったので学んだメモをまとめます. ALTER TABLE ステートメントにおける実行形式 MySQL において ALTER TABLE ステートメントの実行形式は3つあります. COPY INPLACE INSTANT COPY COPY は新しいテーブル定義で一時テーブルを作成し,既存データをコピーして入れ替えます.ALTER TABLE ステートメント実行中テーブルをロックするため,実行中は書き込みがブロックされます.大規模テーブルへのロックがかかると,サービス利用に影響も出てしまうのでメンテナンスも必要になります.利用するケースとして主キーの削除やデータ

                                                                      MySQLの ALTER TABLE ステートメントの実行形式について学んだメモ✍ - 継続は力なり
                                                                    • 2024/10/31 に多くの Azure サービスで TLS 1.0 / TLS 1.1 サポートが廃止されるので対応する - しばやん雑記

                                                                      以下で公開されているアドバイザリー通り、今月末の 10/31 に Azure では全体的に TLS 1.0 と TLS 1.1 のサポートが廃止され、11/01 からは各種 Azure サービスを利用するためには TLS 1.2 以上が必須となります。 対象となるサービスが非常に多いため、影響範囲も広くなりがちですが殆どのケースでは問題ないでしょう。 既に大半のトラフィックは TLS 1.2 が使われているはずですが、TLS 1.2 をサポートしていない古い環境の存在や .NET Framework を使っている場合は明示的に TLS 1.2 を回避する設定が流行った時があるため、いま一度見直しておくのが良さそうです。 一部のサービスでは Azure へのリクエスト時だけではなく、Webhook による Azure から外部へのリクエスト時にも適用されるため、受け側も TLS 1.2 への

                                                                        2024/10/31 に多くの Azure サービスで TLS 1.0 / TLS 1.1 サポートが廃止されるので対応する - しばやん雑記
                                                                      • Aurora MySQLで実現する運用ユーザー権限の最適化と秘密情報保護 - ZOZO TECH BLOG

                                                                        はじめに こんにちは、ZOZOMO部SREブロックの蔭山です。普段はFulfillment by ZOZOやZOZOMOのSREを担当しています。 今回ZOZOMOで提供しているサービスの1つである「ブランド実店舗の在庫確認・在庫取り置き」のマイクロサービス(通称realshop-api)にてMySQLにアクセスできる運用ユーザーの権限管理の最適化を行いました。本記事でその取り組みについてご紹介いたします。 目次 はじめに 目次 なぜ権限管理を最適化したのか 権限管理が複雑化してきた 秘密情報を閲覧できるメンバーを制限する必要がでてきた どのように最適化したか ロール機能を使った権限の標準化 秘密情報の保護自動化 秘密情報カラムの管理 秘密情報カラムへの権限剥奪を自動化 秘密情報カラムを除いたVIEWの自動作成 実施した結果 まとめ なぜ権限管理を最適化したのか realshop-apiで

                                                                          Aurora MySQLで実現する運用ユーザー権限の最適化と秘密情報保護 - ZOZO TECH BLOG
                                                                        • クラウドネイティブなデータベースとSpanner | gihyo.jp

                                                                          本連載は、Google Cloudのアプリ開発とDBプロダクトにおけるスペシャリスト達が、Google Cloudプロダクトを利用した、クラウドネイティブな開発を実践する方法を解説しています。 第4回では、アプリケーション開発でも欠かすことのできないデータベース製品の活用について、クラウドネイティブなマネージドDBである、Cloud Spanner(以下Spanner)について紹介します。 主に対象となる読者は、クラウドを利用してアプリケーションを開発するエンジニア、またはその基盤を構築するエンジニア、サービス開発に携わるプロダクトマネージャーを想定しています。 Google CloudのリレーショナルDBとSpanner Spannerの話に入る前に、Google Cloudが提供しているリレーショナルDBのサービスを見てみましょう。リレーショナルDBのマネージドサービスは、以下の3つを

                                                                            クラウドネイティブなデータベースとSpanner | gihyo.jp
                                                                          • PowerPoint Presentation

                                                                            AWS クラウドとオンプレミスとの違い 2017年2月 アマゾンウェブサービスジャパン株式会社 -TCOで考える- • AWSクラウドのサービスは、ご利用いただいた時間や量により費用が変動する従量課金です。そのため、事前に料金 確定見積を作成することはできない旨はご了承ください。 • 特に断りがない場合、本資料では2017年2月1日現在の東京リージョンの価格で説明しています。最新の価格は、 オフィシャルサイト(http://aws.amazon.com)でご確認ください。 • 価格は税抜表記となっています。日本居住者であるお客様が東京リージョンを使用する場合、別途消費税をご請 求させていただきます。 • 資料作成には十分注意しておりますが、資料内の価格とオフィシャルサイト記載の価格に相違があった場合、オフィ シャルサイト(http://aws.amazon.com)の価格を優先とさせていた

                                                                            • 【個人開発】無料DBを求めてPlanetScaleからNeonに移行したら快適だった話 - Qiita

                                                                              こんにちは!ぬこすけです! 個人開発をしていると「データベースはどこで立てようか...」というのは悩みの種です。 「無料でデータベース使いたい」「あんまりデータベースの構築に時間をかけたくない」などアレコレ考えてしまいます。 そんなあなたに、無料かつ楽にRDBを作れる「PlanetScale」をお勧めしたい!と言いたいところですが、 なんと2024年4月8日に無料枠が廃止されてしまいます 。 かくいう私も技術書をランキング形式で紹介するサイトを昔作っていたのですが、データベースはPlanetScaleを使っていたため打撃をくらってしまいました...。 このような事態を受け、私のサイトではPlanetScaleの代替として Neon というサーバーレスなデータベースを提供しているサービスに乗り換えてみました。 みなさんの参考になるように、PlanetScaleと比較しながら体験談を共有できれ

                                                                                【個人開発】無料DBを求めてPlanetScaleからNeonに移行したら快適だった話 - Qiita
                                                                              • Reflex(Webアプリ作成ライブラリ):ログインやDB操作のサンプルコード - Qiita

                                                                                1. 2024年5月時点ではReflexの情報は少ない PythonをコーディングするだけでWebアプリを作ることができるライブラリReflex。以下の記事をみて、記事を投稿してくださる人も増えてきました。 ちなみに、21万Viewまでいったので、少しはReflexを知ってもらうきっかけになったのかなと思います。 それにしても、まだまだ情報は少ないです。海外サイトも少ないのですが、日本語サイトはもっと少ないです。 2. 公式ドキュメントは画面に関する内容は充実している 公式ドキュメントが比較的充実しています。 画面を作るだけであれば、公式の「Learn」を一通り読めば作れるようになると思います。 ちなみに、公式の左メニューのスクロールがスマホなら指でスワイプすればいいのですが、PCだとマウスのホイールを使わないと下にいかないように思います。スクロールバーがあればいいのにと最初は思いました。

                                                                                  Reflex(Webアプリ作成ライブラリ):ログインやDB操作のサンプルコード - Qiita
                                                                                • 実践Next.js ——App Routerで進化するWebアプリ開発

                                                                                  この本の概要 最新のNext.jsを現場で使うために実践的な知識を詰め込んだ一冊です。フレームワークの基礎はもちろん,パフォーマンスを上げるための知識や関連ライブラリまで,詳細なサンプルコードをもとに解説していきます。 こんな方におすすめ 最新のNext.jsに入門したいエンジニアやNext.jsに多少の経験があるが,より良い使い方を知りたいエンジニア 第1章:Next.jsの基礎 1.1:Next.jsプロジェクトの始め方 1.2:アプリケーションのルーティング 1.3:SPAならではのナビゲーション 1.4:ネスト可能なレイアウト 第2章:Server Componentとレンダリング 2.1:Server ComponentとClient Component 2.2:Server Componentのデータ取得 2.3:動的データ取得と静的データ取得 2.4:Routeのレンダリング

                                                                                    実践Next.js ——App Routerで進化するWebアプリ開発