並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 551件

新着順 人気順

マイグレーション dbの検索結果121 - 160 件 / 551件

  • Deno で掲示板サイトを作ろう! with upstash & supabase その 2 (ミドルウェアと掲示板の作成) - 虎の穴開発室ブログ

    皆さん、こんにちは。 自宅では、トラドラオニタイジン極がご本尊みたいになっています。おっくんです。 今回は、「Deno で掲示板サイトを作ろう! with upstash & supabase」企画の2回目として、掲示板の登録と参照の実装を進めていきます。 今回の実装で、次のように、掲示板の登録ができるようになります。 前回記事はこちら toranoana-lab.hatenablog.com 訂正 始めに、第1回で取り扱った環境変数の取り扱いについて、一部訂正をさせていただきます。 第1回に紹介した、以下のdotenvの実装がありました。 [anonymous-board/util/config.ts] import { config } from "dotenv/mod.ts"; export const envConfig = await config({ safe: true })

      Deno で掲示板サイトを作ろう! with upstash & supabase その 2 (ミドルウェアと掲示板の作成) - 虎の穴開発室ブログ
    • 社内のZabbixを4.0系から6.0系にアップグレードした - 仮想化通信

      CentOS 7上で動かしていたZabbix 4.0を、Ubuntu 22.04に移行しつつZabbix 6.0系にアップグレードしました。Zabbixのインストール自体はなんてことはないのですが、データベースのアップグレードですこし難儀したため、その記録です。 移行元のLAMP環境 OS: CentOS 7.9.2009 Webサーバー: 2.4.6 DB: MariaDB 5.5.68 PHP: 5.4.16 Zabbix: 4.0.42 CentOS 7自体はまだサポート中ですが、新しいZabbixでは新しめのPHPを要求されるため、Ubuntu 22.04で再構築してDBを移行することとしました。 DBは、文字コードがlatin1で作られていたため、今回を期にUTF-8に移行します。これが今回の罠ポイントです。 移行先のLAMP環境 OS: Ubuntu 22.04 Webサーバー

        社内のZabbixを4.0系から6.0系にアップグレードした - 仮想化通信
      • スキーマのバージョン管理と互換性の話 | フューチャー技術ブログ

        はじめにはじめまして、TIGの原木です。サービス間通信とIDL(インタフェース記述言語)連載の4本目です。 気が付けば、バージョンの話0ばかりしています。 この記事ではスキーマのバージョン管理と互換性について話します。 “スキーマ”が指し示す言葉と課題一般的にスキーマのバージョン管理という話が出た場合、次のどちらかを想像する人が多いのではないでしょうか。 データベースのスキーマ(DB内のデータ構造)の変更をどうやってバージョン管理していくか サービス間通信で使用するデータフォーマット(ex. gRPCのprotobuf)をどうやってバージョン管理していくか データ構造が変わったことによりソフトウェアの改修が発生するとわかった瞬間、この問題に直面して「どうしよう…」と悩まれた経験を持つ方は数知れずいらっしゃるかなと思います。 両者において、スキーマのバージョン管理が課題だと意識するタイミング

          スキーマのバージョン管理と互換性の話 | フューチャー技術ブログ
        • 「LAPRASのDB設計についてそーだいさんに相談してみた」イベントレポート | LAPRAS株式会社

          こんにちは!LAPRAS でエンジニアをしていますモロズミ (@Chanmoro) です。 約3ヶ月前になりますが、今年の6月9日に LAPRAS 公開設計レビュー「LAPRAS の DB 設計について」そーだいさんに相談してみた というオンラインイベントを開催しました。 事前収録した動画を参加者の方にご覧いただく形式でしたが、イベント公開から本日まではイベント参加者の方のみに限定公開としていました。しかし、とても参考になる内容をお聞きできたのでより多くのエンジニアの方の参考になればという思いと、イベントに参加ができなかった方から「ぜひ内容を知りたい」というお声を多くいただいていたことから、この度イベントの動画を全ての方にご覧いただけるように一般公開しました。 動画を頭から最後まで全部見ていただける方がイベント中のそーだいさんと私たちの会話の文脈がよりわかるのでオススメではあるものの、全部

            「LAPRASのDB設計についてそーだいさんに相談してみた」イベントレポート | LAPRAS株式会社
          • 知識0からGo言語でCTF用スコアサーバを構築した結果、最高だった話 - Qiita

            ※追記 06/28:ソースコードにてのご指摘がありました。あくまでコロナ自粛から始めたので、拙いコードですので温かい目で見てもらえると嬉しいです。今後、Goについてもっと勉強していきたいと思いました。 はじめに どうも、テスト前で何もしたくないMarnyです。 今回は、Qiita夏祭り2020_パソナテックというイベントがやっていたので記事を書いていこうかなと思います。 テーマ:〇〇(言語)のみを使って、今△△(アプリ)を作るとしたら コードの詳細を解説するより、どういったメリットがあるのか、デメリットがあるのか。そういった点に注目していきます。 開発経緯 そもそもなんでCTF用のスコアサーバを構築したかというと、同級生3人で通っている高専の 低学年用にLinuxリテラシー等を学習できる環境を作ろうぜ! という話があり、CTFを構築することになりました。 で、使用言語なんですけど、先生から

              知識0からGo言語でCTF用スコアサーバを構築した結果、最高だった話 - Qiita
            • 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プロダクトチームブログ
              • 今年のオープンソース活動振り返り @ 2020

                2020年のオープンソース活動の振り返り記事です。 今までの振り返り。 今年のOSS活動振り返り @ 2019 | Web Scratch 今年のOSS活動振り返り @ 2018 | Web Scratch 今年のOSS活動振り返り @ 2017 | Web Scratch 今年のOSS活動振り返り @ 2016 | Web Scratch 今年のOSS活動振り返り @ 2015 | Web Scratch 今年のOSS活動振り返り @ 2014 | Web Scratch 2020年のGitHubのPublicなContributionsは7000~9000ぐらいを推移していました。 最近はPrivateリポジトリをメモやブックマーク管理などでも使うようになったので、Private比率は増えてPrivateなContributionsは13400でした。 GitHub Issuesを個人

                  今年のオープンソース活動振り返り @ 2020
                • Amazon RDS Online Seminar 「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」資料・動画及び QA 公開 | Amazon Web Services

                  Amazon Web Services ブログ Amazon RDS Online Seminar 「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」資料・動画及び QA 公開 先日(2021/11/11) に開催した Amazon RDS Online Seminar「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」の資料・動画を公開しました。 当日、参加者の皆様には数多くの QA を頂きありがとうございました。頂いた QA の一部についても共有しています。 【動画】 – RDS/Aurora Update – RDS/Aurora MySQL Major/Minor Upgrade – RDS/Aurora PostgreSQL Major/Minor Upgrade – RDS for O

                    Amazon RDS Online Seminar 「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」資料・動画及び QA 公開 | Amazon Web Services
                  • Spring Boot + Flyway で複数の DB に接続したい!!! - エムスリーテックブログ

                    【Unit4 ブログリレー5日目】 こんにちは。Unit4 Eng の西川です。JavaScript が好きですが、今回は JavaScript ではなく、最近やった Spring Boot + Flyway を利用しているシステムから別の DB への接続を増やした時の話をしたいと思います。 非常に可愛いうちの猫です 動作環境 背景 Spring Boot で複数の DB に接続する 概要 application.yaml の記載 Configuration ファイルの作成 Flyway を複数の DB に適用する baselineOnMigrate を適用する Configuration ファイルの作成 テスト用の Configuration ファイルを作成 終わりに We're hiring! 動作環境 今回のプロダクトで利用している Spring Boot と Flyway のバージ

                      Spring Boot + Flyway で複数の DB に接続したい!!! - エムスリーテックブログ
                    • テーブルを一個追加するたびにGRANT文書かないといけないの、やめられます - エムスリーテックブログ

                      WebシステムがPostgreSQLにアクセスするときのDBロールはどうしていますか? postgres みたいな全能ロールをそのまま使う⋯⋯ でも動くシステムにはできるんですが、仮にアプリサーバ側の脆弱性を突かれたときに即DBの全権限まで危険にさらされる構成はインターネットにさらす本番システムではやりにくく、SELECT/INSERT/UPDATE/DELET権限だけ付けたデータアクセス専用のロールを作ってこれを使うのが一般的かと思います。 すると手間になってくるのがテーブルを追加したときにGRANTが必要なことですし、それをうっかり忘れて本番リリース後に権限エラー発生みたいな事故も起こりえます。 本日も超小物のお題をお送りします、エムスリーエンジニアリンググループ、Unit1(製薬企業向けプラットフォームチーム)三浦(@yuba@reax.work) [記事一覧 ]です。 新規テーブ

                        テーブルを一個追加するたびにGRANT文書かないといけないの、やめられます - エムスリーテックブログ
                      • crowdworks.jpのマスタデータベースをAWS RDS MySQL 5.7から8.0にアップデートしました - クラウドワークス エンジニアブログ

                        こんにちは。crowdworks.jp SREチームの田中(kangaechu)です。 crowdworks.jpでは、2023年8月にAWS RDS MySQL 5.7から8.0へのアップデートが完了しました(ようやく!)。 今回はMySQL 8.0へのアップデートの手順と対応が必要な変更点について書いていきます。 MySQL 8.0にアップデートした理由 MySQL 8.0にアップデートした理由はAWS RDS MySQLのEOL対応のためです。 AWS RDS MySQL 5.7のEOLは2023年10月(のちに2023年12月に変更されました)であり、8.0へのアップデートが必要でした。 crowdworks.jpで使用している他のMySQLデータベースは8.0へのバージョンアップを完了していました。 しかしcrowdworks.jpのマスタデータベースは30億行を保持し、1日に約

                          crowdworks.jpのマスタデータベースをAWS RDS MySQL 5.7から8.0にアップデートしました - クラウドワークス エンジニアブログ
                        • Redash SaaSサービスから自前ホストへの移行した話 - Mirrativ Tech Blog

                          概要 ミラティブではデータ分析用ツールとしてRedashのSaaS(redash.io)を使用している。(Lookerと併用) 2021年11月末で redash.io のサービスが終了する。そのため、自前のGCP環境にRedashを移行した。 Redash謹製の移行ツールが提供されているが、いくつかハマったポイントがあった。 本記事では、GCP環境への移行手順・移行時のハマリポイント・移行後にあると便利なものを紹介する。 はじめに 初めまして、ミラティブでデータ分析基盤を担当している芝尾です。データ分析チームは5名のチームになっており、日々ユーザーの皆様のデータを分析してサービスの向上に努めています。今回はミラティブで使用していたデータ分析可視化ツールの移行を行いましたのでそのやり方を共有します。 背景 Redash hosted サービスが終了します。この記事 によると 2021/11

                            Redash SaaSサービスから自前ホストへの移行した話 - Mirrativ Tech Blog
                          • 監査ログの保管先を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に移行する - メドピア開発者ブログ
                            • RustでGraphQLやってみるその2(更新編) - 虎の穴開発室ブログ

                              こんにちは、とらラボのY.Fです。 3月に以下の通り、RustとGraphQLについての記事を書きました。 toranoana-lab.hatenablog.com 今回は、続きとしてRustを利用したGraphQLのデータ更新について書いてみたいと思います。 環境 基本的には前回と同じ構成です。 rustup 1.12.1 Rust 1.42.0 actix-web 2.0系 juniper 0.14.2 上記に加えて以下を利用します。 PostgreSQL 12.1 保存先にはPostgreSQLを利用します diesel 1.4.4 Rust用のORMです diesel-cli 1.4.0 cliのマイグレーションツールです r2d2 v0.8.8 Rust用のコネクションプーリングライブラリです chrono 0.4.10 Rustで時間の概念をよしなに扱えるライブラリです。die

                                RustでGraphQLやってみるその2(更新編) - 虎の穴開発室ブログ
                              • 2021年版イエウールで導入しているRailsのデザインパターンのKPT - Speee DEVELOPER BLOG

                                ※この記事は、Speee Advent Calendar22日目の記事です。 昨日の記事はこちら tech.speee.jp 2021年7月から業務委託のエンジニアとして主にイエウールの開発のお手伝いしている高尾です。所属は株式会社ネットワーク応用通信研究所。Rubyのまつもとゆきひろさんも在籍されており、Rubyに関するSIでそれなりの実績のある会社です。私は20年近くSIerとして仕事をしてきました。 そんな私にとってもSpeeeでの開発は魅力的です。 プロジェクトの運営、プロダクトの仕様、技術の採用、リリースなど、多くのことをエンジニアが主体的に決めます。各エンジニアがお客様の価値を理解してプロダクトを作り上げるという意識が伝わってきます。そんなエンジニアのみなさんが、 Rubyをつかって楽しくプログラミングできるように全力でサポートしていきたいと思います! 前置きが長くなってしまい

                                  2021年版イエウールで導入しているRailsのデザインパターンのKPT - Speee DEVELOPER BLOG
                                • 社内GitLabの大型マイグレーションをした話 - Qiita

                                  はじめに この記事は富士通クラウドテクノロジーズ Advent Calendar 2021 の 15 日目の記事です。 こんにちは。富士通クラウドテクノロジーズ株式会社 (FJCT) でエンジニアをしている @aokuma です。 昨日の記事は エンドエンジニアの @seumo 氏による SmithyでAPIリファレンス作成してみよう でした。 Smithy、現在は主に AWS SDK の実装として使われているみたいですが、多言語 SDK が求められるサービスプロバイダーにとって、このような仕組みがオープンになるのはとても嬉しいですね。利用できる言語が更に拡張されるのを期待しています! さて、今日は弊社の開発基盤の中心である 社内 GitLab の大型マイグレーションを実施したお話をしようと思います。 背景 現在、弊社の開発基盤の中でコード管理...にとどまらず、プロジェクト管理や Dev

                                    社内GitLabの大型マイグレーションをした話 - Qiita
                                  • 特定保健指導"フィッツプラス"事業を支えるモノリシック Rails + VIPER Swift アーキテクチャ - メドピア開発者ブログ

                                    みなさんこんにちは。フィッツプラス開発エンジニアの福本(@terry_i_)です。
早いもので入社して半年が経ちました。普段はRailsを中心に色々と書いてます。 リモートワークが長く続いていることもあって、最近は自宅の開発環境を(過剰に)整備するのがマイブームです。先日はlogicoolのPCスピーカーを買いました。所得がゴリゴリ削られていってツラい。 さて今回は、これまで忙しくて紹介する機会のなかったフィッツプラスの事業概要や、アーキテクチャおよび使用する技術についてお話しします。 アーキテクチャに悩むエンジニアの方の参考になったり、皆さんのフィッツプラスへの事業理解が深まれば幸いです。 特定保健指導とは? アーキテクチャ モノリシック Rails ActiveModelSerializers OpenAPI Houston(プッシュ通知) Banken(権限管理) VIPER Swi

                                      特定保健指導"フィッツプラス"事業を支えるモノリシック Rails + VIPER Swift アーキテクチャ - メドピア開発者ブログ
                                    • Railsにおけるマルチテナントの資料まとめ

                                      SaaSサービスをRailsで開発するにあたり、マルチテナントに関する情報収集をしたため本ページにまとめとして記録いたします。 DBのマルチテナント DBのマルチテナントにあたっては、セキュリティーの確保と保守性が方式の選定ポイントとなります。 ただし、SaaSサービスとして成功するほど保守のコストが増大するためプール型に移行していくようです。 ブリッジ型でマルチテナントを実現可能なGem「apartment」 データーベースのインスタンスは全テナントで共有するものの、テナントごとにスキーマ(テーブル、インデックス、ビュー、ストアドプロシージャ)を分ける方式です。 この実装にはGem「apartment」の使用が有名です。 SmartHR社も創業当初はセキュリティーを高めるためにapartmentを利用していたようです。 ただし、後述するように、サービスの特性上カラム数が多く契約社数の伸び

                                      • Spring + JPAによるアプリケーション構築事例

                                        Photo by Ash from Modern Afflatus on Unsplashはじめにこんにちは。Finatextでエンジニアをしている山﨑です。 弊社では、先日「Wealth Wing」という資産運用サービスをリリースしました。そのシステムのバックエンドは、Spring + Kotlinを用いてアプリケーションを構築しており、インフラストラクチャ層ではSpring Data JPAを用いています。 本稿では、以下のような、Spring Data JPAを組み込んだ場合に発生する課題に対する解決策を、弊社の実例を通して示します。 データベースマイグレーションはどうすべきかIn-Memory DB(H2DB)ではなく、MySQL等を使ってJUnitでテストしたいデータベースアクセスを「書き込み専用」「読み取り専用」で呼び分けをしたい最後に、本稿に関するサンプルも添付していますので

                                          Spring + JPAによるアプリケーション構築事例
                                        • 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株式会社
                                          • 【2024年版】エンジニア必見 生産性があがるチートシート集 - Qiita

                                            1. 生成AIチートシート もはやエンジニアの必須ツールとなってきた生成AI。ペアプロやエラー対応などプログラミングに関わるところから、ビジネス判断におけるブレスト相手として、日常の些細なタスクにまで対応する強い味方です。またそれら生成AIを応用したAIエージェントやワークフローを用いたプロダクトなどの開発も日進月歩で進んでいます。 本パートでは、日々進化する生成AIを最大限に活用できるよう、多種多様な生成AIを一覧化して網羅したものから、それらの利用方法・プロンプトエンジニアリングにまで踏み込んだチートシートを集めました。 プロンプトエンジニアリング ソフトバンク - ChatGPTから高度な回答を引き出すプロンプト文例集 業務に使えるプロンプトが幅広く掲載されており、実用的です! マイナビ - プロンプトエンジニアリング・チートシート マイナビから公開されているチートシート。役割の設定

                                            • 【インフラ】xDS API の EDS に手を加えて動的に Envoy で weight 調整できるようにした - Mirrativ Tech Blog

                                              こんにちは、ミラティブのインフラを担当している清水です。 ミラティブではクラウドに Google Cloud を利用しているのですが、稀にインスタンスの性能劣化が発生し動かしているアプリケーションの応答時間が長くなることがあります。 非同期な処理の場合は一時的にタスクキューの時間あたりの処理数が減るものの、遅延を許容できる機能であれば時間経過で回復するのでシステムを継続稼働できます。 一方で、web サーバのように同期処理の場合はリクエストを時間内に返すことができずに timeout したりだとか、worker が埋まって新たにリクエストが返せなくなったりと、正常にリクエストを返すことができずにユーザのクライアントにエラーが返ってしまします。 そこで、今回はクラウドが不調になったときに web サーバへ流れるリクエストの流量を動的に制御し、一時的にリクエスト数を減らしてユーザのクライアント

                                                【インフラ】xDS API の EDS に手を加えて動的に Envoy で weight 調整できるようにした - Mirrativ Tech Blog
                                              • golang-migrateでDBマイグレーション | DevelopersIO

                                                golang-migrateとは? Go言語で作成されたDBマイグレーションツールで、GO言語のライブラリとしてだけではなく、CLIからも利用できます。そのためJavaで開発されているprismatixというサービスでも利用することができます。 JavaのマイグレーションツールにFlywayやliquibaseといったものがあります。その中でこのツールの特徴は、マイグレーションを定義しているファイルをGitHubやAWS S3などから直接参照することができることです。(もちろんローカルのファイルシステムにも対応しています) また対応しているデータベースエンジンも多く、MySQLやPostgreSQL以外にもMongoDBなどにも対応しているなど、様々な場面で使うことができるツールだと思います。 環境構築 今回は手軽に試すためにdocker上で、golang-migrateとPostgreS

                                                  golang-migrateでDBマイグレーション | DevelopersIO
                                                • MFA設定必須のCognitoのクロスアカウントマイグレーションについて - ZOZO TECH BLOG

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

                                                    MFA設定必須のCognitoのクロスアカウントマイグレーションについて - ZOZO TECH BLOG
                                                  • 3年間に及ぶ新規プロダクト開発の技術選定の振り返り - バイセル Tech Blog

                                                    こちらはバイセルテクノロジーズ Advent Calendar 2024の1日目の記事です。 こんにちは、開発2部でテックリードをしている早瀬です。普段はリユースプラットフォームのEC出品管理システムの開発を行っています。 私のチームでは、EC出品管理システム(通称EXS)の開発を行なっており、3年間に及ぶ開発の末に今年の9月にローンチされました。 私はプロダクトの立ち上げ時から参画しており、開発初期の技術選定から関わってきました。 長期に及ぶ開発の末に、ついにローンチされたので、今回はそのプロダクトの技術選定についての振り返りを紹介したいと思います! 記事のボリュームもかなりあるので、興味のある箇所だけでも読んでいただけると嬉しいです。 プロダクトの概要 プロダクト特性 技術構成 技術選定の振り返り マッチしたもの Go 学習コストの低さ 開発速度の向上 CLIとの親和性 GraphQL

                                                      3年間に及ぶ新規プロダクト開発の技術選定の振り返り - バイセル Tech Blog
                                                    • MongoDB(Mongoid)を利用したRails開発のメリット - STORES Product Blog

                                                      はじめに はじめまして、hey でECとかレジのバックエンドエンジニアをやっている @ucks です。 STORES (以下、区別のため STORES EC と表記) と STORES レジでは、Webアプリケーションフレームワークに Ruby on Rails 、 データベースに MongoDB 、 ODM (RDB でいう ORM) に Mongoid を利用しています。 普段 RDB で開発しているエンジニアからすると MongoDB ってどうなの? と思う方も少なくないと思います。 そこで、今回は Rails で一般的なORMである Active Record を殆ど使ったことがない筆者が、 MongoDB + Mongoid での開発の良いところを RDB + Active Record と比較して紹介します。 以前 STORESってMongoDBを使ってるらしいけど正直どうなの

                                                        MongoDB(Mongoid)を利用したRails開発のメリット - STORES Product Blog
                                                      • ClinPeer Railsプロジェクトの技術選定(2025年版) - メドピア開発者ブログ

                                                        こんにちは。サーバーサイドエンジニアの三村(@t_mimura39)です。 こちらでご案内した通り、弊社で新しくリリースした「ClinPeer」の裏側をご紹介します。 tech.medpeer.co.jp 今回はClinPeerのバックエンドについての簡単なシステム概要と選定技術の紹介編です。 2024-2025年にrails newをした新鮮なRailsプロジェクトの様子をお楽しみください。 目次 システム概要 rails stats Gemfile 技術選定 Ruby Ruby on Rails Puma ActionPack::CloudfrontViewerAddress Trilogy SolidQueue SolidCache Kaminari Async::HTTP::Faraday Ueki Jb Nokogiri Blazer ActiveHash Flipper Log

                                                          ClinPeer Railsプロジェクトの技術選定(2025年版) - メドピア開発者ブログ
                                                        • 部内Kubernetesクラスタに部員向けWebサービスを移設しました - KMC活動ブログ

                                                          はじめに おはもに~。id:utgwkk です。最近の京都は夏のような日もあって、計算機にはつらい季節になりつつありますね。 今日は、部員向けWebサービスを部内Kubernetes (以下、k8s) クラスタに移設した話をします。 部内k8sクラスタについて KMCでは、サークルの部内サーバーでk8sクラスタを運用しています。KMCの部員であれば誰でも自由にアプリケーションをk8sクラスタ上で稼動させることができます。k8sクラスタを構築した経緯や技術的な詳細については、以下の記事をごらんください。 blog.kmc.gr.jp 移設したWebサービスについて 今回移設したWebサービスは、部員向けのイラスト投稿サービス (通称 God Illust Uploader、以下では神ロダと呼びます) です。KMCでは毎年お絵描きプロジェクトという勉強会・練習会を開催しており、課題を提出する場

                                                            部内Kubernetesクラスタに部員向けWebサービスを移設しました - KMC活動ブログ
                                                          • TypeScriptなGraphQLサーバをGoにリプレースした

                                                            TypeScriptなGraphQLサーバをGoにリプレースした 3-shake Advent Calendar 2022の11日目です。 現在携わっているプロダクトではGraphQLを利用してフロント/バックエンドの通信を行っています。 7月に入社した当初はTypeScriptで開発が進んでおり、ある程度の機能が出揃っていましたが、チーム編成が変わったことによりGoが得意なメンバーがバックエンドを担当することになりました。 そこで既存のGraphQLサーバをGoにリプレースしたのでまとめます。 これまで 既存のGraphQLサーバはTypeScriptをベースに構成されており、以下のようなパッケージを採用していました。 NestJS Prisma NestJSの拡張機能でGraphQLを取り扱い、Prismaで定義したスキーマを利用して永続化を行っていました。 これから 技術選定 Goへ

                                                              TypeScriptなGraphQLサーバをGoにリプレースした
                                                            • Sinatra(Ruby製軽量フレームワーク)の使い道を本気で検証してみた - ANDPAD Tech Blog

                                                              この記事は ANDPAD Advent Calendar 2022の 20 日目の記事です。 こんにちは、アンドパッドに今年の 9 月に入社しました、 田上(shuntagami)です。アンドパッドでは図面チームに所属していて、主にサーバーサイドを担当しています。Ruby と Rails を使うことが多く、Go や TypeScript を書くこともあります。 本記事の概要 以下のようなケース 将来的に規模が大きくなることも想定されるアプリケーションの API サーバーを 0 から開発する際のメインフレームワークとして 既存の大きく成長した Rails アプリケーションの一部をマイクロサービスとして切り出したいケース において Ruby 製の軽量フレームワーク Sinatraを採用することが生産性高く開発を行う上で最適解のひとつになるのではと考え技術検証してみた、という記事です。経緯として

                                                                Sinatra(Ruby製軽量フレームワーク)の使い道を本気で検証してみた - ANDPAD Tech Blog
                                                              • 大コンテナ時代における.gitを使うワークフローの難点を解決するためにGitHubDDLを作った - ぱいぱいにっき

                                                                こんにちは、この記事はPerl Advent Calendar 2021の4日目の記事です。 3日目は@yoku0825さんのPerlで作られたMySQL用の何かについてでした。日々お世話になっている、pt-query-digestがPerlで作られているのは知っていたのですが、他にもいろいろPerl製ツールがあるんですね。 さて、最近仕事で発生した課題を解決するためにGitHubDDLというCPANモジュールを作ったので紹介させていただきます。 TL;DR コンテナ環境において、プロジェクトの.gitをコンテナイメージに焼いたり、volume mountを行うのはいくつかの面で望ましくない 仕事ではDBスキーママイグレーションに.gitを用いるGitDDLを使用していた 以上のために、ECSでEFSマウントで.gitをマウントして構成が複雑になったり、.gitをイメージに焼いてpullが

                                                                  大コンテナ時代における.gitを使うワークフローの難点を解決するためにGitHubDDLを作った - ぱいぱいにっき
                                                                • 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
                                                                      • 自作マークダウンパーサーとNext13+Prisma+GraphQL+Supabaseでブログを自作した

                                                                        はじめに 以前RustとWASMでマークダウンパーサーを自作したので、これを使ってブログを作ってみました。 ソースコードは以下にあります。 技術構成 技術構成は以下のようになっています。 全体構成 フロントエンド Next.js / Type Script Apollo Client(状態管理ライブラリ) styled-components emotion mantine ミドルウェア Prisma BFF GraphQL Yoga(GraphQLサーバー) Pothos GraphQL(GraphQL スキーマビルダー) バックエンド Rust+WebAssembly(マークダウンパーサー) (Vercel Postgress(サーバレスストレージ)) Supabase デプロイ先 Vercel(FE/BF共通ホスティング先) 認証・認可 NextAuth ドメイン取得 Cloudfla

                                                                          自作マークダウンパーサーとNext13+Prisma+GraphQL+Supabaseでブログを自作した
                                                                        • 高速な仮説検証を支えていくHasuraの導入 - enechain Tech Blog

                                                                          はじめに eScanチームの平田です。 eScanは日本の電力事業に特化したリスク管理サービス(ETRMシステム)です。2022年から開発を始め、お陰様で今では徐々に導入いただける社数も増えてきています。まだまだ不足している機能はありますが、すべてのお客様が確実に必要とするであろうETRMの必須機能の実装は概ね終わっており、新規機能追加中心フェーズは終わりつつあります。これからは、よりお客様にとって価値のあるサービスになるような機能強化や改善を中心にする必要があると考えています。 今回は、eScanチームでの事業フェーズの変化に伴う開発プロセスの試行錯誤と、高速な仮説検証の補助として導入を進めているHasuraについてお話します。 フェーズの変化と仮説検証の必要性 「はじめに」に記載したとおり、徐々に新規機能追加中心のフェーズからより顧客への提供価値の最大化を目指すフェーズに差し掛かってい

                                                                            高速な仮説検証を支えていくHasuraの導入 - enechain Tech Blog
                                                                          • MySQLの ALTER TABLE ステートメントの実行形式について学んだメモ✍ - 継続は力なり

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

                                                                              MySQLの ALTER TABLE ステートメントの実行形式について学んだメモ✍ - 継続は力なり
                                                                            • 運用中のRailsアプリケーションからカラムを削除したい - ITANDI Engineer Blog

                                                                              イタンジ株式会社 野澤です。 普段Railsを使って開発をしています。 この記事では、Railsで扱っているカラムを削除する方法について紹介します。 なぜ書くか ・Railsからカラムを削除する機会があったため ・カラムを削除することがそうそうあるものではなく、いざやろうと思った時にどういう手順で何に注意してやれば良いか思い出せない やり方 1. 削除予定のカラムをRailsから参照しないようにする 2. カラムを削除 3. ignore_colmunsの記述を削除する ※ 各手順ごとにリリース 1. 削除対象のカラムをRailsから参照しないようにする 削除予定のカラムの記述をソースコードから全て削除します。 加えて削除対象のカラムをignored_columnsに指定します。 class Hoge < ApplicationRecord self.ignored_columns = %

                                                                                運用中のRailsアプリケーションからカラムを削除したい - ITANDI Engineer Blog
                                                                              • Testcontainersを使ったGo Testの並列化 - enechain Tech Blog

                                                                                はじめに こんにちは、enechainのApplication Platform Deskでエンジニアをしているmaverickです。 我々のチームでは、バックエンドアプリケーションをGoで構築しています。 データベースアクセスが発生するテストはgo-sqlmockを使っていましたが、テスト用のDBを使って、実際のアプリケーションの動作環境に近いテスト環境へ切り替えました。 今回は、その際に行ったTestcontainersの導入とテストの並列実行へのアプローチについてご紹介します。 はじめに sqlmockの課題 Testcontainersの導入 導入手順 Testcontainersの起動 コンテナ起動のコスト テストデータのコンフリクト 並列化へのアプローチ 残課題 最後に sqlmockの課題 弊チームでは、可能な限りJOINは行わずにシンプルなクエリでデータベース処理を行うこと

                                                                                  Testcontainersを使ったGo Testの並列化 - enechain Tech Blog
                                                                                • Railsとdoorkeeper-openid_connectやOmniAuth を使って、OpenID Connectの OpenID Provider と Relying Party を作ってみた - メモ的な思考的な

                                                                                  OAuth2やOpenID Connectの理解を深めようと思い、 OAuth徹底入門 セキュアな認可システムを適用するための原則と実践(Justin Richer Antonio Sanso 須田 智之 Authlete, Inc.)|翔泳社の本 Auth屋さんの書籍 【電子版】雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしながら学べる本 - Auth屋 - BOOTH 【電子版】OAuth、OAuth認証、OpenID Connectの違いを整理して理解できる本 - Auth屋 - BOOTH 【電子版】OAuth・OIDCへの攻撃と対策を整理して理解できる本(リダイレクトへの攻撃編 - Auth屋 - BOOTH OAuth認証とは何か?なぜダメなのか - 2020冬 - r-weblife OAuth & OpenID Connect 関連仕

                                                                                    Railsとdoorkeeper-openid_connectやOmniAuth を使って、OpenID Connectの OpenID Provider と Relying Party を作ってみた - メモ的な思考的な