並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 82件

新着順 人気順

マイグレーション dbの検索結果41 - 80 件 / 82件

  • 週刊Railsウォッチ: Railsコンソールが最新のIRB APIに移行、assertionless_tests_behaviorほか(20240513前編)|TechRacho by BPS株式会社

    こんにちは、hachi8833です。以下のお知らせに先ほど気づきました🎉。 💎Kaigi on Rails 2024 公式サイト オープン!💎 オンラインとオフラインのハイブリット開催です! 日程:2024.10.25 (Fri.) - 26 (Sat.) 有明セントラルタワーホールhttps://t.co/Jwk5Zro27S#kaigionrails — Kaigi on Rails (@kaigionrails) May 7, 2024 週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 Te

      週刊Railsウォッチ: Railsコンソールが最新のIRB APIに移行、assertionless_tests_behaviorほか(20240513前編)|TechRacho by BPS株式会社
    • Rails: Deviseを徹底理解する(2)応用編(翻訳)|TechRacho by BPS株式会社

      概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Advanced Usages of Devise for Rails | AppSignal Blog 原文公開日: 2023/08/02 原著者: Aestimo Kirina | AppSignal Blog 日本語タイトルは内容に即したものにしました。 本シリーズ記事のパート1では、サンプルアプリを用いてDeviseを導入し、モジュール、ヘルパー、ビュー、コントローラー、ルーティングを探りました。 このパート2では、Deviseのさらに高度な利用法として、OmniAuthやAPI認証、Authtrailの使い方を探求します。 さっそく始めましょう! 🔗 OmniAuthで認証する 最近のWebアプリケーションは、TwitterやFacebookなどのSNSからGoogleやGitHubなどに至るさまざまな認証プロバイダ

        Rails: Deviseを徹底理解する(2)応用編(翻訳)|TechRacho by BPS株式会社
      • DB移行を見据えたRidgepoleによる宣言的なスキーマ管理の導入 - LIVESENSE ENGINEER BLOG

        こんにちは、かたいなかです。 マッハバイトではシステムのオンプレからAWSへの移行を絶賛爆速で進めています。 そのなかでDB移行の下準備としてRidgepoleを導入することにしました。 今回はそのRidgepoleの導入について記事にまとめます。 Ridgepoleとは なぜRidgepoleを導入したのか AWS移行時にテーブル構造を変更する必要がある箇所がある: Ridgepoleで比較を容易に DMSのためにインデックスや外部キーをあとから別々に適用できる必要がある:Ridgepoleで不要な箇所をコメントアウトする GitHub ActionsでRidgepoleを動かす Pull Requestにスキーマの差分をコメント マージ/タグプッシュ時の実行 テーブル削除時の手動実行 Ridgepoleを使ってみてよかったこと エクスポートが楽なため導入しやすい DBスキーマがGitH

          DB移行を見据えたRidgepoleによる宣言的なスキーマ管理の導入 - LIVESENSE ENGINEER BLOG
        • データベースのER図を最新の状態に保ちつつ、いつでも閲覧できるようにした - SO Technologies 開発者ブログ

          こんにちは、CTO室の丸山です。相変わらず某CTOからの無茶振りを捌いております。 今回は、今開発しているSaaSサービスのER図を、なるべく手をかけずに最新状態に保ちながら、いつでも閲覧できるようにするために実践したことをご紹介できればと思います。 前提環境 今回ご紹介する方法は以下の環境下で実現しています。 インフラ: GCP データベース: PostgreSQL データベースのスキーマ管理: sql-migrate CI/CD: Github Actions モチベーション 開発・データ分析を行う上で、データベースのスキーマ構造を俯瞰的に把握するための手段としてER図を書いているのですが、これを最新の状態に保ち続けるのは割と面倒であると常々感じていました。 そこで、Schemaspyを使用してデータベースのスキーマ構造からER図を生成するようにしたものの、以下のような手順をスキーマ構

            データベースのER図を最新の状態に保ちつつ、いつでも閲覧できるようにした - SO Technologies 開発者ブログ
          • Rails: Deviseを徹底理解する(1)基礎編(翻訳)|TechRacho by BPS株式会社

            概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: An Introduction to Devise for Ruby on Rails | AppSignal Blog 原文公開日: 2023/07/12 原著者: Aestimo Kirina | AppSignal Blog 日本語タイトルは内容に即したものにしました。 Devise gemは、Rubyの世界で広く用いられているgemの1つで、GitHubの★が20,000個を超え、多くの統合も行われています。今になってDeviseをRubyの「隠れた」gemと呼ぶ理由は何なのでしょうか?実は、Deviseの人気は非常に高いにもかかわらず、多くの開発者がこのライブラリの機能を十分に活用していないからです。 2部構成の本シリーズでは、Deviseを深く掘り下げていきます。 このパート1記事では、以下を含む基礎をある程度学びます

              Rails: Deviseを徹底理解する(1)基礎編(翻訳)|TechRacho by BPS株式会社
            • 2024-04-18のJS: Next.js v14.2、Farm v1.0、Biome v1.7、pnpm v9

              JSer.info #689 - Next.js 14.2がリリースされました。 Next.js 14.2 | Next.js Turbopack RCをリリース、Server/Client Components間のTree Shakingの対応、CSSの読み込み順の問題の修正などが行われています。 Client側のRouter Cacheの期間を設定するstaleTimesオプションの追加なども行われています。 Vite/Rollup互換のプラグインを扱えるビルドツールであるFarm 1.0がリリースされました。 Release 🚀 Farm v1.0 is released! · farm-fe/farm Rustで書かれていて、キャッシュを使ったIncremental Build、Lazy Compilation、モジュールをグループ化してbundleできるなどの特徴を持っています

                2024-04-18のJS: Next.js v14.2、Farm v1.0、Biome v1.7、pnpm v9
              • Prismaで継続的にER図が更新される仕組みを試してみました | DevelopersIO

                ER図などを人間が手動で更新し続けるのには無理があるなとよく思います。ということで自動でER図を生成してくれる仕組みを試してみました。 こんにちは。AWS事業本部モダンアプリケーションコンサルティング部に所属している今泉(@bun76235104)です。 設計書は作った。だが更新されているとは言っていない。 そんな体験ありませんか?私はあります。 人間が手動でやる必要がない作業はあると思いますので、PrismaというORMを利用して、ER図をMermaid.jsの仕組みで生成するライブラリを試してみました。 ついでにER図のコミット漏れを防ぐためのGitHub Actionsの設定を書いてみましたので共有します。 先に結論!! こちら長いので折り畳みますが、以下のようにPrismaのスキーマファイルを記述しています。 schema.prisma schema.prisma // This

                  Prismaで継続的にER図が更新される仕組みを試してみました | DevelopersIO
                • オンプレPostgreSQLをAmazon Aurora PostgreSQLへ移行しようとしてINDEX作成にハマりました - Oisix ra daichi Creator's Blog(オイシックス・ラ・大地クリエイターズブログ)

                  SREの林 aka もりはやです。 先日オンプレで稼働していたとあるPostgreSQLのDBを、Amazon Aurora PostgreSQL(以後はAurora)に移行を行ったところ CREATE INDEX が以下のエラーで作成できない問題に苦労させられたため、解決策と合わせて公開します。 これがベストな対応かは自信がないため、より良い方法をご存知の方はお気軽に教えてください。 以下はDBのリストア中に CREATE INDEX で発生したエラーです。 pg_restore: error: could not execute query: ERROR: could not write to file "base/pgsql_tmp/pgsql_tmp19647.47.fileset/1.2": No space left on device CONTEXT: parallel wo

                    オンプレPostgreSQLをAmazon Aurora PostgreSQLへ移行しようとしてINDEX作成にハマりました - Oisix ra daichi Creator's Blog(オイシックス・ラ・大地クリエイターズブログ)
                  • 数理統計処理をマイクロサービス化した話 - XICA Tech blog

                    はじめに 今回は自社サービスをマイクロサービス(Microservices Architecture)に作り替えるリアーキテクチャプロジェクトにおいて、どのようにコア・バリューである数理統計処理を移行させたのかについてお話していきます。 私は、サイカでソフトウェアエンジニアとして、主にWebアプリケーション部分を開発している森永と申します。 数理統計処理の移行というと、何か特別な技術を使っているかのように見えますが、実際には通常のアプリケーションと同じ仕組みで動いているため、通常のアプリケーションにおけるリアーキテクチャと同じように要件から戦略を立て、実行と移行後の確認を行っていきます。 システム構成 先に前提知識として、今回のリアーキテクチャにより、どのようなシステム構成の変化があるのかを軽く説明します。 新旧システム概要図 旧システムは、Djangoを使ってモノリスに構築されており、W

                      数理統計処理をマイクロサービス化した話 - XICA Tech blog
                    • ダウンタイムを抑えてAWSからGoogle Cloudにデータベースを移行したはなし - JX通信社エンジニアブログ

                      こんにちは。kimihiro_nです。 今回はプロダクトで使用しているデータベース(MySQL 互換)を AWS から Google Cloud に引っ越ししたときのはなしを紹介します。 AWSから Google Cloud へ AWS では MySQL 5.7 互換の Aurora グローバルデータベースを利用していました。 グローバルデータベースを使っているのは、大規模災害時におけるリージョンレベルでの障害に備えるためのもので、万一リージョンレベルの障害が発生してもサービス継続できるような体制を作っていました。 今回ある事情から Google Cloud の CloudSQL へのお引っ越しを行い、同じようにホットスタンバイでのマルチリージョン構成を構築することになりました。 なぜ AWS から Google Cloud に 恐らく一番気になるのがこの理由の部分かもしれませんが、大人の

                        ダウンタイムを抑えてAWSからGoogle Cloudにデータベースを移行したはなし - JX通信社エンジニアブログ
                      • 週刊Railsウォッチ: Ruby 3.4から暗黙の"it"ブロック変数が導入されるほか(20231222)|TechRacho by BPS株式会社

                        週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails: 先週の改修(Rails公式ニュースより) 公式更新情報: Ruby on Rails — Allow object_id as a colu

                          週刊Railsウォッチ: Ruby 3.4から暗黙の"it"ブロック変数が導入されるほか(20231222)|TechRacho by BPS株式会社
                        • S3 ExportされたAuroraのデータをAWS Glueを使ってDBに書き戻す - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)

                          Amazon AuroraのS3エクスポート機能 AuroraのS3エクスポート機能は、DBクラスターの現在のデータやスナップショットのデータをS3にApache Parquet形式で出力する機能です。 Apache Parquet形式は、スキーマ情報を内包している・列志向で分析用途にも適している・高効率な圧縮が可能・複雑なデータ構造にも対応しているといった特徴を備えたデータ形式です。AthenaやRedshift、あるいはBigQueryへの取り込みに利用することができ、これらを使ったDB内のデータ分析が可能になります。 高効率さについての実験として、試しに手元の64GBのクラスタースナップショットをS3エクスポートしてみたところ、出力されたParquetファイルの合計サイズは約4GBと、なんと1/16にも圧縮されました。特に毎日何TBもの大容量データをリージョン外に転送するようなケース

                            S3 ExportされたAuroraのデータをAWS Glueを使ってDBに書き戻す - Akatsuki Hackers Lab | 株式会社アカツキ(Akatsuki Inc.)
                          • TerraformとCloud RunとCloud Load BalancingでCI/CDを突き詰めた

                            こんにちは。 ピリカ開発チームの伊藤です。 ピリカでは6月1日より、ピリカサポーターズクラブを開始しました。 まだご覧になっていない方はこちらをご覧ください。 corp.pirika.org ピリカサポーターズクラブをはじめるにあたって新しいシステムを構築しました。 ピリカの開発チームのリソースは潤沢ではない中、全く新しいシステムを作るのはとても大きなチャレンジです。 社内からも「開発のリソースが潤沢でないならSNSピリカに注力すべき」という意見はありましたが、開発チームでは単に新しいシステムを作るだけではなく、この開発を「SNSピリカの開発を今後少ないリソースで効率的に進めるために必要な基盤の実験」としても位置付けていました。 この開発を通じて得たことのまとめとして、ピリカサポーターズクラブの構成やデプロイの仕組みをご紹介したいと思います。 SNSピリカの開発で抱えている問題 SNSピリ

                              TerraformとCloud RunとCloud Load BalancingでCI/CDを突き詰めた
                            • あの日見た障害の原因を僕達はまだ知らない。

                              はじめに こんにちは!現実逃避で手間のかかる料理を作る @come25136 です!! 最近手がけたサービスで色々やらかしまして、今回はそれらを何個かピックアップしてご紹介します。 この記事では、なぜそのような事が起こったのか、そしてどのように対処したのかをお話しします。 一応補足 詳しく話書いている部分がありますが、これらは私が開発しているサービスであり全ての権利が私にあるので、しょっぴかれる心配はありません。 サービスについて norumes Cloudという交通系APIを作っています このサービスはNest.js, Redis, PostgreSQLで作られていて、停留所検索や時刻表生成(OD検索)などを提供しています。 活用事例 熊本市内バス会社5社による時刻表作成サービス"My バス時刻表 in 熊本"に採用され、バスセンターや一般ユーザー宅など、幅広い場所から使用されています。

                                あの日見た障害の原因を僕達はまだ知らない。
                              • クラウドネイティブなデータベースと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
                                • strong_migrations gemの導入でRailsマイグレーションのメタデータロック待ちリスクに対処する

                                  TL;DR strong_migrations gemの導入により、開発者がルールを意識しなくてもRailsマイグレーションのメタデータロック待ちのリスクを低減させることができた タイムアウト時のマイグレーションのリトライ機能や危険なマイグレーションのチェックが便利なため、Railsのマイグレーションを行う際はとりあえず導入するのがおすすめ 導入の経緯 trocco®開発チームではアプリケーションにRails、RDBにMySQLを使用しており、DBスキーマのマイグレーションにはRailsのマイグレーション機能を利用しています。 サービス運用を続けるうちにDBへのスロークエリが徐々に増えてきたため、DDL適用によるメタデータロック待ちのリスク[1]が高まってきました。 例えば最悪の場合、以下のような事態が起こりうります。 とあるセッションで数十分レベルのスロークエリが発生 そのクエリが共有メ

                                    strong_migrations gemの導入でRailsマイグレーションのメタデータロック待ちリスクに対処する
                                  • 週刊Railsウォッチ: IRB 1.8.0でデバッグ機能強化、Ruby Prize 2023開催決定ほか(20230908後編)|TechRacho by BPS株式会社

                                    週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) 🔗Rails 🔗 Herokuでリソースを共有する「隣人」対策(RubyFlowより) 元記事: How to Fix Heroku's Noisy Ne

                                      週刊Railsウォッチ: IRB 1.8.0でデバッグ機能強化、Ruby Prize 2023開催決定ほか(20230908後編)|TechRacho by BPS株式会社
                                    • 稼働中の Amazon Aurora PostgreSQL を暗号化した話 | MEDLEY Developer Portal

                                      2023-12-22稼働中の Amazon Aurora PostgreSQL を暗号化した話はじめにこんにちは。 プロダクト開発室第二開発グループ所属の古川です。 私は 22 年新卒としてメドレーに入社し、現在はインフラとアプリケーションを 5 : 5 の割合ぐらいで開発・運用・保守などを行っています。 学生時代からインフラ周りに触る機会も多く、入社前に AWS Certified Solutions Architect - Professional を取得しました。 大のコーヒ好きで自宅で生豆から焙煎をし、毎朝豆を挽き、抽出したコーヒーを飲むことが日々の幸せです。 好きなコーヒー豆の種類は インドネシア・スマトラ島産・アラビカ種のマンデリン( G1 )の中深煎りです。 さて、今回の記事では私が携わっているプロダクトで運用している Amazon Aurora(以下 Aurora )を暗号

                                        稼働中の Amazon Aurora PostgreSQL を暗号化した話 | MEDLEY Developer Portal
                                      • SmartBank, Inc.に入社して3年経過した - valid,invalid

                                        タイトルの通りSmartBank, Inc.に入社して3年が経過したので記念に整理。 SmartBankに入社して3年が経ちました 良い会社です— ohbarye (@ohbarye) 2023年8月4日 ちなみに前回書いたのは1.5年経過のタイミングで、だいぶ遅まきの入社エントリであった。 ohbarye.hatenablog.jp やってきたこと 半年なり1年なりの区切りをトリガーに書いていれば差分を書きやすいのだけど、その習慣がついていないのでやむなく、今回は3年分まとめて書いてしまおう。3年間でやってきたこと*1のうち公にしているものたち*2を並べるとたくさんあるが、もちろんほとんどはチームでやってきたことである。 カード発行会社かつ銀行のようなサービスで、対ユーザー向けの各種機能の開発 出金 / 送金 / 目的別口座 / ペア口座 / 支出管理 サブスクリプションサービスB/43

                                          SmartBank, Inc.に入社して3年経過した - valid,invalid
                                        • Optuna用 Jupyter Lab拡張とVS Code拡張の実装解説 - Preferred Networks Research & Development

                                          はじめに Optunaの新しいバージョン3.4では、新たにJupyter Lab拡張とVS Code拡張が公開・アナウンスされました。これらの拡張機能を利用することで、Optuna DashboardをJupyter LabやVS Code内で起動し、最適化履歴をより手軽に確認できます。 本記事ではこれらの拡張機能がどのように実装されているのか、その仕組みを解説します。Optuna Dashboardの開発に興味を持ってくださっている方に限らず、Jupyter Lab拡張やVS Code拡張を開発しようとしている方のお役に立てば幸いです。 Jupyter Lab拡張の仕組み Optuna Dashboardは次の図に示すように、PythonのBottleフレームワークで書かれたサーバープログラムと、Reactで書かれたシングルページアプリケーションからなります。 このプログラムをJupyt

                                            Optuna用 Jupyter Lab拡張とVS Code拡張の実装解説 - Preferred Networks Research & Development
                                          • Rubyでもっと活用されるべきValue Objectパターン(翻訳)|TechRacho by BPS株式会社

                                            概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: The most underused pattern in Ruby | Arkency Blog 原文公開日: 2023/08/31 原著者: Szymon Fiedler 日本語タイトルは内容に即したものにしました。 最近私たちのRailsEventStoreユーザーが、issue #1650を投稿しました。PostGIS拡張を利用しているPostgreSQLデータベースでRailsEventStoreを使いたいが、イベントやストリームで使うテーブルをセットアップするマイグレーションがUnsupportedAdapterで失敗するとのことでした。 これまでRailsEventStoreでは、PostgreSQLアダプタとMySQL2アダプタとSQLiteアダプタをサポートしていました。しかしPostgreSQLでこのPost

                                              Rubyでもっと活用されるべきValue Objectパターン(翻訳)|TechRacho by BPS株式会社
                                            • FastAPIとSQLAlchemy2.0ならもう型ヒントを諦めなくていい - Sogo.dev

                                              サチコ(Google Search Console)を眺めていたら FastAPI MySQL がそれなりに需要ありそうと思ったので、FastAPI と SQLAlchemy を組み合わせて ORM を使う方法を紹介したいと思います。最近の SQLAlchemy(1.4以降)ではマッピングされたオブジェクトに型を適用することもできるので、型ヒントを活かして型安全なコードを書くことも難しくなくなっています。 環境 Python 3.10.6 FastAPI 0.89.1 SQLAlchemy 2.0.1 Docker 20.10.13 Docker Compose v2.3.3 前提 FastAPI 公式ドキュメントの SQL (Relational) Databases のページを熟読しておいてください。 2023年1月にリリースされた SQLAlchemy 2.0を使用します。1系を使用

                                                FastAPIとSQLAlchemy2.0ならもう型ヒントを諦めなくていい - Sogo.dev
                                              • prismaのschemaファイルの書き方(MySQL用) - White Box技術部

                                                フルNext.jsアプリケーション作成の一環で、DBマイグレーションツールにprismaを使ってみたので、書き方のメモです。 いきなりですが、prismaは細かくDDL文を制御できず、思ったテーブルを作れなかったので、細かくテーブル定義を設定したい場合はTypeORMの方がいいかもしれません。 準備 プロジェクトにprismaをインストールし、初期ファイル(prisma/schema.prisma)を作成します。 $ yarn add -D prisma $ yarn run prisma init schema.prismaの書き方 公式ドキュメントの書き方を参考に、スキーマをschema.prismaに記載していきます。 記載する際の注意点・考慮点は以下です。 providerをmysqlに変更する @db.Timestampではなく@db.Timestamp(0)のように書かないとマ

                                                  prismaのschemaファイルの書き方(MySQL用) - White Box技術部
                                                • Auth0で脆弱なWebアプリケーションを作る~設計編~ - Qiita

                                                  はじめに 今から1つ大きな脆弱なポイントがあるアプリケーション(フィクション)の設計を紹介します。どこに問題があるか考えながら読んでみいただけると楽しめるかもしれません。 事業会社のCIOとベンダー企業のある話。 注 : この話はフィクションです CIO: 「ウチのECサイトにAuth0を導入しようと思う」 ベンダー: 「Auth0ですか、最近Oktaに買収されたIDaaSですよね」 CIO: 「そーそー、これを機にセキュリティリスクを転嫁してしまった方がええんやと思う。ということで認証システムのリプレースよろしく」 ベンダー: 「はい!!!」 数ヶ月後 ベンダー: できました! CIO: 「おー、じゃあテキトーにシーケンス図でも見せて」 ベンダー: 「はい、ではまずログインのところから。現在SPAで構築されているWebアプリケーションを認可コードフロー+PKCEで認証しトークンを取得しま

                                                    Auth0で脆弱なWebアプリケーションを作る~設計編~ - Qiita
                                                  • sqlcで使うDBドライバをpqからpgx/v5に移行した話 - enechain Tech Blog

                                                    この記事は enechain Advent Calendar 2023 の 16 日目の記事です。 はじめに みなさん、こんにちは。enechainでSWEをしている@kkagurazakaです。 enechainでは最低限のルール (バックエンドサービス間の通信はgRPCを使う、など) を守っていれば、技術選定は各チームに委ねられています。 たとえば、本Advent Calendarの10日目の記事「GoのAtlasとBunを使ったマイグレーション環境を構築する」を書いたJCEXチームでは、ORMにBunを採用しています。 一方、我々のチームではsqlc-dev/sqlcをデータベースへのクエリに使っています。 最近、そのsqlc経由で用いるPostgreSQLのドライバをpqからpgx/v5に移行したのですが、それに際して幾つかの工夫をする必要がありました。 そこで、今回の記事では我々

                                                      sqlcで使うDBドライバをpqからpgx/v5に移行した話 - enechain Tech Blog
                                                    • Go製モダンマイグレーションツールのAtlasを使用してみた

                                                      GoでDBマイグレーションをどうやるのがいいか検討していたところAtlasというツールが良さそうだったので一通り使ってみたまとめです。 対象読者 GoプロジェクトのDBマイグレーションに興味がある人 Atlasの使い方に興味がある人 Atlasとは Atlasはデータベーススキーマを管理するためのツールおよびwebサービスを提供しています。従来までのバージョンによるマイグレーション管理だけでなくDBの理想状態を宣言的に記述することでスキーマを反映することができます。DBの理想状態はHCL、sql、jsonがサポートされています。 Atlasは非常に高機能でCLIツール、GitHub ActionsのようなCI、Terraformプロバイダーなどを提供しています。 Go製のORMであるentで採用されているマイグレーションツールですがent以外のORMと合わせて使用できますし、go-migr

                                                        Go製モダンマイグレーションツールのAtlasを使用してみた
                                                      • Go言語のORMであるGORMをv1からv2へのマイグレーションした話 #LayerXテックアドカレ - LayerX エンジニアブログ

                                                        こんにちは。バクラク請求書チームでエンジニアをしている赤羽です。 昨年の12月のLayerXにJOINしたので、今月でちょうど1年経ちました。 この記事は  LayerXテックアドカレ2023  25日目の記事です。 前回はsh_komine が「相互理解の重要性と、促進するためのワークショップのご紹介」を書いてくれました。次回は@yoheiよりポストされる予定なのでご期待ください。 GORMとは GORMはGo言語の人気のあるORM(Object Relational Mapping)ライブラリです。 データベース(テーブル)とGoの構造体のマッピングを簡単に行うことができます。シンプルな構文、多様なデータベースサポート、マイグレーション、トランザクション管理など、豊富な機能が提供されています。 柔軟なクエリビルダーも提供され、開発者に使いやすいORMライブラリとなっています GORMに

                                                          Go言語のORMであるGORMをv1からv2へのマイグレーションした話 #LayerXテックアドカレ - LayerX エンジニアブログ
                                                        • 【Prismaとテストシリーズ】テスト実行用のDBとローカル環境開発用のDBを使い分けてみた | DevelopersIO

                                                          こんにちは。AWS事業本部モダンアプリケーションコンサルティング部に所属している今泉(@bun76235104)です。 PrismaはTypeScriptでも利用できるORMの一つです。 前回、以下の記事では「テストケースごとに隔離されたトランザクションで、安全にテストしたいなー」というモチベーションでjest-prismaというライブラリを試してみました。 今回はこれに加えて「ローカル開発で利用するDB」と「テスト実行時に利用するDB」を分けてみました。 状況 接続するDB さっそくまとめ Prisma公式ドキュメントに記載されている「複数の.envファイルを利用する方法」によりあっさり解決できました Using multiple .env files. | Prisma Docs 嬉しいポイント ローカルでデータを生成していても、その結果がテストに影響しない テスト用のDBが不整合な状

                                                            【Prismaとテストシリーズ】テスト実行用のDBとローカル環境開発用のDBを使い分けてみた | DevelopersIO
                                                          • 色々できるぞ! Cloud Deploy!!

                                                            この記事は Google Cloud Advent Calendar 2023 (通常版) の 12/24 の記事です。 CI/CD してますか? Cloud Deploy は、継続的デリバリーに特化したフルマネージドサービスで、以下の特徴を持っています。 Google Kubernetes Engine, Cloud Run をサポート デプロイパイプライン、デプロイ対象などをコードで管理 (Infra as Code) 開発者生産性の指標をサポート そんな Cloud Deploy ですが、2022 年の一般提供 (GA: Generally Available) から早 2 年が経とうとしていますが、 2023 年のアップデートが熱い んです! 継続的デリバリーにおいて 必要な機能が 2023 年に出揃った といっても過言ではありません。 本記事では、現状でどのようなデプロイパイプラ

                                                              色々できるぞ! Cloud Deploy!!
                                                            • GaugeとPlaywrightをGitHub Actionsで実行する際に工夫していること - コドモン Product Team Blog

                                                              こんにちは!プロダクト開発部の関根です。 飛行機好きの息子のために飛行機が見られるお出かけスポットやいい感じのYouTube動画を探す毎日です。 さて、コドモンではATDDでソフトウェアを開発しており、E2EテストのツールとしてGaugeやPlaywrightを利用しています。 今回は、E2EテストをCI基盤であるGitHub Actions上でも動作させるために工夫していることをいくつか紹介したいと思います。 CI環境におけるE2Eテストの流れ GitHub Actionsを用いたE2Eテストの実行プロセスは以下の通りです。 Workflowが開始されると、最初にk8s環境へのデプロイ用コンテナイメージのビルドが行われます。続いて、Self-hosted Runnerを使用してk8sリソースを構築し、ヘルスチェックが完了するのを待ちます。その後、GaugeによってE2Eテストを実行し、テ

                                                                GaugeとPlaywrightをGitHub Actionsで実行する際に工夫していること - コドモン Product Team Blog
                                                              • 【Rails初心者向け】ブランチを切り替える前に気を付けたいDBマイグレーションの注意事項 - Qiita

                                                                はじめに Railsはとても便利なwebアプリケーションフレームワークです。 gitも非常に便利なソースコード管理ツールです。 この2つのツールがあれば、初心者でも効率良くwebアプリケーションを開発できます。 ただし、学習用の小さなアプリケーションを一人で開発しているときはブランチはひとつかふたつで十分ですが、業務などで大きなアプリケーションを複数人で開発する場合は、複数のブランチで並行して開発が進める必要が出てきます。 こういうケースではデータベースマイグレーションを正しく理解し、正しく扱わないと、開発環境やソースコードが混沌としてきます。 Rails初心者の多くはこうした知識を持たないまま、チーム開発に参加しがちです。 この記事では「学習用の小さなRailsアプリケーション」を卒業し、「チームで開発する大きなRailsアプリケーション」に足を踏み入れる前に知っておくべき、データベース

                                                                  【Rails初心者向け】ブランチを切り替える前に気を付けたいDBマイグレーションの注意事項 - Qiita
                                                                • トモニテの Amazon Aurora を MySQL 5.7 から 8.0 へアップグレードした話 - every Tech Blog

                                                                  はじめに 子育てメディア「トモニテ」でバックエンドやフロントエンドの設計・開発を担当している桝村です。 この記事は「every Tech Blog Advent Calendar 2023」 の 15 日目の記事です。 tech.every.tv 私たちは 2023 年 6 月にシステムメンテナンスを実施し、トモニテのアプリやWebサイト等で利用している本番環境のデータベース Amazon Aurora の MySQL バージョンを 5.7 から 8.0 へアップグレードしました。 tomonite.com 本記事では、メンテナンスを伴う MySQL 8.0 へのアップグレードについて、実施内容やそれによって得られた知見について紹介します。 背景 前提として、Amazon Aurora は 1 〜 3 の メジャーバージョンが存在し、それぞれのバージョンに対してサポート終了日が設定されてい

                                                                    トモニテの Amazon Aurora を MySQL 5.7 から 8.0 へアップグレードした話 - every Tech Blog
                                                                  • Laravel初心者がレンタルサーバでデプロイするまで

                                                                    Laravel勉強のために、Windowsでの環境構築からレンタルサーバへデプロイ(公開)するまでの作業をまとめました。 ざっくりと書いたので、わかりにくい時は後半で紹介している参考書籍やサイトを見てみて下さい。 作業環境については以下の通りです。 ローカル環境Windows 10 Home(バージョン22H2)LaravelバージョンLaravel Framework 11.2.0レンタルサーバコアサーバー(プランCORE-A) レンタルサーバの機能の確認 レンタルサーバ上にLaravelアプリをデプロイするためには、SSHが利用できる必要があります。 Laravelを動かすためのPHPのバージョンを確認します。 データベースの仕様はレンタルサーバによって違うので、開発環境のデータベースの設定をレンタルサーバに合わせる必要があります。 SSHが使えるか確認 コアサーバーはコントロールパネ

                                                                      Laravel初心者がレンタルサーバでデプロイするまで
                                                                    • 決まらないリリース日、属人化、ユーザー価値より優先される開発工数… 少ない工数で成果を上げるための改善

                                                                      「Developers Meetup 急成長ベンチャーが向き合う『開発生産性』」は、開発組織や事業フェーズの異なる株式会社Another works・株式会社SmartHR・株式会社スタメンの3社が、開発生産性について語り尽くすイベントです。ここで株式会社Another worksの塩原氏が登壇。まずは、株式会社Another workが抱えていた課題と、その課題に対する開発プロセスと技術それぞれの3つの取り組みについて紹介します。 株式会社Another worksについて 塩原基弘氏:あらためまして、よろしくお願いします。Another works CTOの塩原と申します。 Another worksは令和元年の5月7日にできた5年目の会社になります。タイトルにもあるように、創業5年目の会社です。現在は60名ほどの規模の会社となっています。Another worksが何をする会社なのか

                                                                        決まらないリリース日、属人化、ユーザー価値より優先される開発工数… 少ない工数で成果を上げるための改善
                                                                      • Passkey認証を Cloudflare Pages+D1+KV の無料枠で試してみた。

                                                                        概要 Passkey認証を自分で実装してみたかったので、無料で動かせる構成を考えてCloudflareを使うことにしてみました。 使った技術スタックは以下の通り。 Infrastructure Cloudflare Pages Cloudflare D1 Cloudflare KV Software TypeScript Remix + Remix Auth simplewebauthnz drizzle-orm ソースはこちら デモページについて 最初に「Log in」ページに行ったら、まずはGithubアカウントでログインして下さい。ログインできたら、その後に表示されるページで「Add Passkey」をクリックしてPasskeyの登録ができます。登録に成功したら、一旦「Log out」してもらえたらPasskeyでのログインが試せます。 このような手順になっている理由 Passkey

                                                                          Passkey認証を Cloudflare Pages+D1+KV の無料枠で試してみた。
                                                                        • Rails: Rodauthによるゼロからの認証システム構築チュートリアル(翻訳)|TechRacho by BPS株式会社

                                                                          概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails Authentication with Rodauth | Janko Marohnić 原文公開日: 2020/11/29 原著者: Janko Marohnić -- Shrine、vim-test、rodauth-railsの作者です 日本語タイトルは内容に即したものにしました。 なお、Rodauth-RailsはRails 7.1でも問題なく利用できました。 以下の記事もどうぞ。 Rails: 認証gem 'rodauth-rails' README(翻訳) 本チュートリアルでは、Rodauth認証フレームワークを用いて、Railsアプリに完全な機能を備えた認証機能とアカウント管理機能を追加する方法を紹介します。 RodauthはDevise、Sorcery、Clearance、Authlogicなどの主流の認

                                                                            Rails: Rodauthによるゼロからの認証システム構築チュートリアル(翻訳)|TechRacho by BPS株式会社
                                                                          • 開発生産性を3ヶ月で劇的に向上させた取り組み|鈴木啓太

                                                                            こんにちは、amptalk 株式会社 CTO の鈴木です。 今月で amptalk は5期目を迎えました。GW 明けの8日に全社 kickoff を行い、各組織の前期振り返りと今期の共有方針を行いました。私も開発組織の生産性向上に関する取り組みを紹介したのですが、社内に留めておくのは勿体無い内容なためこちらの note で紹介します。 FY24 Q1 Kickoff Four Keys について私たちの開発組織では、開発生産性を測る指標の1つとして Four Keys を計測しています。Four Keys の詳しい説明は Google Cloud blog の記事がわかりやすいです。 デプロイの頻度 - 組織による正常な本番環境へのリリースの頻度 変更のリードタイム - commit から本番環境稼働までの所要時間 変更障害率 - デプロイが原因で本番環境で障害が発生する割合(%) サービ

                                                                              開発生産性を3ヶ月で劇的に向上させた取り組み|鈴木啓太
                                                                            • 【アーキテクト】SaaS開発でマルチテナント×RLSを用いる理由

                                                                              この記事は? 著者は、現在こそToCの開発に携わっているものの、SaaS開発に関しては3年以上の設計と実装の経験があります。SaaS開発を行う上で必須となるテナントの分離を行う理由は、他企業へのデータアクセスによるセキュリティインシデントを防ぐためです。この記事では、一般のSaaS開発においてマルチテナント×RLSが有力なアーキテクチャとなり得る理由を説明します。 シングルテナントvsマルチテナント 注) テナントの概念に入門する人のためのパート。適宜読み飛ばしてください。 そもそもテナント(tenant)とは、店舗や事務所などを借りて住んでいる人のことを指します。では、SaaSでテナントとは通常誰のことを指すのでしょうか?テナントとはSaaSが展開するサブスクリプションの契約主で、法人と契約しているSaaSであれば企業=テナントになり、個人と契約しているSaaSであれば個人=テナントにな

                                                                                【アーキテクト】SaaS開発でマルチテナント×RLSを用いる理由
                                                                              • CircleCIでのパイプライン構築ではまったところと原因を共有 - Qiita

                                                                                背景 現在開発にかかわっているプロダクトの機能開発において、マイグレーション処理が必要なPRのマージをするときにステージング環境へのマイグレーション作業を自動でおこないたかった アサインされた当時の計画 指定フォルダにマイグレーション用のファイルが追加されたことを検知する gcloudコマンドでsecret Managerからデータベースにパスワードを取得 ステージング環境のCloudSQLに接続するためにcloudsql-proxyを起動(このときはdocker runで最新のコンテナイメージを取得し、軌道までを行っていた) sql-proxyのコンテナを通じてcloud sqlに接続を試みるが失敗 詰まったところ1:CircleCI上でcloudsql-proxyの起動がうまく行かなった。 公式ドキュメントを参考に以下のコマンドを実行するJobを作成しても Unable to load

                                                                                  CircleCIでのパイプライン構築ではまったところと原因を共有 - Qiita
                                                                                • 第98回 次世代RDB劔“Tsurugi”最新情報、MySQL HeatWaveの生成AI対応計画、PostgreSQL 16リリース | gihyo.jp

                                                                                  OSSデータベース取り取り時報 第98回次世代RDB劔“Tsurugi”最新情報⁠⁠、MySQL HeatWaveの生成AI対応計画⁠⁠、PostgreSQL 16リリース この連載はOSSコンソーシアム データベース部会のメンバーがオープンソースデータベースの毎月の出来事をお伝えしています。 次世代高速RDB 劔“Tsurugi”のOSS版リリースがまもなく “Tsurugi⁠”(劔)という名前の高速で動作する次世代のRDBが開発されていることをご存知でしょうか。この連載でも2019年の第45回以降に何回か開発状況などをお知らせしてきました。“⁠Tsurugi⁠”という名称が初めてお披露目されたのが、OSSコンソーシアムのデータベース部会が主催したセミナーの場でした。 この劔“⁠Tsurugi⁠”は2023年7月にアーリーアクセス版(α版)として限定提供になっていましたが、この10月にい

                                                                                    第98回 次世代RDB劔“Tsurugi”最新情報、MySQL HeatWaveの生成AI対応計画、PostgreSQL 16リリース | gihyo.jp