並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 324件

新着順 人気順

Sidekiqの検索結果1 - 40 件 / 324件

  • シリコンバレーから失意の帰国をした十年選手のITエンジニア、生き残るため大学院で情報科学を学ぶ - Findy Engineer Lab

    はじめまして、白山文彦(@fushiroyama)と申します。 インフラエンジニアとして5年、ソフトウェアエンジニアとして7年ほど働いて、現在は多国籍企業でクラウド関連の仕事に従事しています。 今年に入ってから、会社員としてフルタイムで勤務しながら、大学院の博士前期課程(修士課程)で情報科学を学んでいます。 この記事では、ITエンジニアとして10年以上もご飯を食べていながら、どうして今になって大学院生という道を選んだのか。業務で身についたものと、大学でしか学べないものとの違いは何なのか。そして最後に、それをどのように今後のキャリアにつなげていこうと考えているのか。そのあたりの葛藤や心の動きをシェアできたらなと考えています。 社会人大学院について 理系技術者は米国で圧倒的に尊敬されている 米国のエンジニアと日本のエンジニアの違い 学位と職業に強い関連がある米国 年齢に関係なく学位を目指すのが

      シリコンバレーから失意の帰国をした十年選手のITエンジニア、生き残るため大学院で情報科学を学ぶ - Findy Engineer Lab
    • OSS 観光名所を貼るスレ - ぽ靴な缶

      これは はてなエンジニアアドベントカレンダー2023 2日目の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog はてなエンジニアのカレンダー | Advent Calendar 2023 - Qiita トップバッターは緊張するけど、順番が回ってくるまで長い間ソワソワするのも嫌、という理由で例年2日目を狙うようにしている id:pokutuna です。今年も成功しました。 観光名所とは 目を閉じれば思い出す、あのコード... あの Issue... あなたが Web 系のエンジニアであれ、趣味で開発している方であれ、必要に応じてライブラリやフレームワークのコードを読むのはよくあることでしょう。公開の場で開発されているソフトウェアは、ソースコードだけでなく、開発コミュニティでの議論やバグ報告なども見ることができます。 リポ

        OSS 観光名所を貼るスレ - ぽ靴な缶
      • バウンスしすぎて Amazon SES から追放された俺たちは Mailgun と SendGrid に国を作ることにした - ANDPAD Tech Blog

        これは何 どのように技術選定してますか。よく聞かれます。SREチーム 鈴木心之介 です。しかし説明が難しい。難しいですが説明の助けになってほしく思い、技術選定を文書化した DesignDoc から1枚を公開してみました。 DesignDoc とは、ある程度の大きさや複雑さがあり一言で説明の難しい技術選定について、文書化したものです。これを通じて、技術選定をどのように行うか組織内に広めようとする試みです。2021年1月頃から始めています。 題材は、メール配信の冗長化をRailsで実現した tech.andpad.co.jp を、インフラ視点から技術選定した DesignDoc です。このメール配信SaaSの選定は2019年末頃に実施したもので、DesignDoc の取り組みを始めていなかった頃でした。時が経ち、ソースコードやSaaSの構成からは意図を読むことが難しく「なんじゃこれ」って質問を

          バウンスしすぎて Amazon SES から追放された俺たちは Mailgun と SendGrid に国を作ることにした - ANDPAD Tech Blog
        • APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記

          この記事はSmartHR Advent Calendar 2020 11日目の記事です。 僕のお手伝いしているSmartHRでは、毎週バックエンドエンジニアが集まり、技術的なトピックについて共有、相談しあうミーティングを開催しています。そのミーティングでは僕がTipsなどを共有するコーナーが常設されています*1。 このエントリでは、そのコーナーで共有した内容をひとつ紹介します。 APIに制限をかける方法について APIを外部に提供するとき、一定の制限をかけてユーザがAPIを乱用するのを防ぐことはよくあることではないでしょうか。素直に考えると「1時間に5000回までAPIを実行できる」のようなやり方を思いつきますね。GitHubのAPIもそのやり方ですし、SmartHRのAPIも同様です。 じゃあそれでいいのでは。となるかもしれませんが少し待ってください。いろんなクライアントがAPIを大量に

            APIに利用制限をかけるとしたらどういうやりかたがあるのか - おもしろwebサービス開発日記
          • 分散型SNS「Misskey」、それを支える技術スタック | gihyo.jp

            本連載は分散型マイクロブログ用ソフトウェアMisskeyの開発に関する紹介と、関連するWeb技術について解説を行っていきます。第1回はMisskey、ひいては分散型SNSの簡単な紹介とその内部実装の概略を説明します。 はじめまして! はじめまして、Misskey(みすきー)のプロジェクトリーダーをしている、しゅいろ(@syuilo)です! この度連載の機会をいただきましたので、ちょっと仰々しい気もしますが「Misskey & Webテクノロジー最前線」と題して、今後Misskeyやそれに関わる最新のWeb技術について解説をしていく予定です。 今回はMisskey、ひいては分散型SNSの簡単な紹介とその内部実装の概略を説明します。 対象読者は、後半の実装解説の部分においてはある程度のWeb開発の知識がある人を想定しています。 Misskeyとは⁠、そして分散型とは Misskeyは、オープン

              分散型SNS「Misskey」、それを支える技術スタック | gihyo.jp
            • 『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う

              『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う David Bryant Copelandの『Sustainable Web Development with Ruby on Rails』を読んでいますが、この本めちゃめちゃ面白いですね。 Railsの設計で悩んだことのある人なら絶対読んで損はないというか、共感したり反発したりにやにやしたりで楽しめると思います。RailsというかWebアプリ開発の歴戦の勇士(正直あまり若くなく、つらい経験を重ねてきた生き残り的な人)が語るベストプラクティス感があります。 本書の構成 大きく3部構成です。 Introduction その名の通り導入です。本書の目的、Railsのアーキテクチャの紹介と、ビジネスロジックの話など。 「Sustainable」とは何か? とい

                『Sustainable Web Development with Ruby on Rails』はRails使ってるなら絶対面白いと思う
              • TypeScriptでWebサービス開発(Apollo Server/Prisma/Next.js etc...)

                最近開発しているBtoB SaaSサービスの技術スタックを、RailsからNode.jsに移行した。 これにより、フロントエンドもバックエンドも全てをTypeScriptで統一することができた。 特にNode.jsのWebバックエンドの構成について、まだまだ世の中に知見が少ない気がしているので記事にしておく。 Webバックエンド - Node.js(TypeScript) Nexus/Apollo Server (Webサーバー) GraphQLサーバーとして、Apollo ServerのコードファーストなアプローチでのラッパーであるNexusを使っている。 Railsからの移行を決断できたのも、Apollo ServerとPrismaにより、外部との通信が型付きで、かつ開発体験よく書けるようになたから、というのが大きくある。 数年前の段階だと、素のexpressを使ってWebサーバーを立

                  TypeScriptでWebサービス開発(Apollo Server/Prisma/Next.js etc...)
                • Zennのバックエンドを Google App Engine から Cloud Run へ移行しました(無停止!YES!)

                  Zennは、Next.js + Ruby on Rails(APIモード)を Google Cloud の App Engine へデプロイして稼働していました。最近、Rails の実行環境を App Engine Flexible から Cloud Run へ移行したので、その記録を残します。 ロードバランサーのバックエンドサービスを付け替えることで実現 最初に、どうやって移行したかです。Zennのバックエンドはもともとロードバランサーで構成されていました。以下の図のように、ロードバランサーの Backend Service より背後を切り替えることにより実現しています。Cloud Run とそこにアクセスするための Serverless NEG はあらかじめ稼働させておくことで、ダウンタイムなしで切り替えられました。 参考:負荷分散 | Google Cloud https://clo

                    Zennのバックエンドを Google App Engine から Cloud Run へ移行しました(無停止!YES!)
                  • マストドンを5年間管理してきて|辺境領主|note

                    イーロンがTwitterのCEOになって、Twitterが終わるんではないか危機を感じた人々がマストドンに来たらしい。 また、Twitterがマストドンのリンクを張ることを禁止したりと(今は解除された)なにかとマストドンがここへきて目立ってきている これまでも、ちょっとした仕様変更でも『Twitterは終わった。これからはマストドンだ』みたいな小規模な騒ぎみたいなのがあったけれども、今回は特に大きかった マストドンとはマストドンというのはオープンソースの分散型SNSだ。 Twitterを意識して作っていて、同じような短文投稿型のSNSだ。 Twitterをはじめとする企業が作っているSNSは中央集権型で、彼らのポリシーで投稿がBANされたり、凍結されたりする。 またトップの恣意的な運用でアカウントが排除されるということもあり得る。 それは昔のTwitterでもあったし、イーロンのTwitt

                      マストドンを5年間管理してきて|辺境領主|note
                    • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

                      先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

                        Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
                      • 著名なオープンソースRailsアプリのapp/以下を見る

                        Railsにおける app/ とは app/はRailsのアプリケーション用ディレクトリで、普通のRailsアプリケーションでは、この下にmodels,controllers,viewsを含めた様々なディレクトリが作られます。 基本的には新しいディレクトリを追加する必要はないのですが、アプリケーションが複雑になると、Railsを拡張するべくここにアプリケーション固有のディレクトリを作って、その下に関連するファイルを置くことがあります。 中には、servicesやserializersのように、多くのRailsアプリケーションで見られるものもあれば、完全にアプリケーション独自のものが作られることもあります。また、アプリケーションによっては独自のディレクトリは一切作らないものもあれば、大量に作るものもあります。それぞれアプリケーションの開発方針によるものです。 本記事では、比較的有名なOSSの

                          著名なオープンソースRailsアプリのapp/以下を見る
                        • ~OSSから学ぶ~ MVCフレームワークの保守性がモリモリ上がるクラス設計 - dely Tech Blog

                          こんにちは、delyコマース事業部エンジニアの小川です。 先月11月に入社し、エキサイティングな毎日を過ごしています。 この記事はdely Advent Calendar 2019 - Qiitaの24日目の記事です。 昨日はSREの松嶋さんが「AWS RunCommandを使ってEC2上に監視ダッシュボードをサクッと作る(Ansible+Terraform+Grafana編)」という記事を書いてくれましたので是非そちらも読んでみてください! tech.dely.jp コマース事業部では、現在「事業開発」と「ソフトウェア開発」がほぼ同時に進行しており、プロジェクトにおける確定要素と不確定要素が複雑に絡み合っています。 スピード重視でゴリゴリ実装していくのも興奮しますが、変化に耐えづらい実装をしてしまうと、その後の開発スピードに影響していまい、事業のスピードが落ちるなんて事にもなりかねません

                            ~OSSから学ぶ~ MVCフレームワークの保守性がモリモリ上がるクラス設計 - dely Tech Blog
                          • STORESってMongoDBを使ってるらしいけど正直どうなの? - STORES Product Blog

                            STORESのECサービスを開発している@morihirokです。 STORES ECはRuby on Railsで開発されているWebアプリケーションですが、データベースにはMySQLやPostgreSQLといったリレーショナルデータベースではなく、MongoDBを採用しております。 この記事ではカジュアル面談等で必ず聞かれる「MongoDBって正直どうなの?」といったところを、ストレートにお伝えできればと思います。 なぜMongoDBを採用しているのか そもそもなぜMongoDBを採用しているのか。それは考古学になるのでフィールドワークが必要です。筆者も開発に携わるようになったのは2018年の終わり頃からなので、まずは一緒にSTORES ECの歴史について紐解いていきましょう。 STORES EC(旧STORES.jp)は、heyグループとなるずっと前の2012年、会社名がブラケットだ

                              STORESってMongoDBを使ってるらしいけど正直どうなの? - STORES Product Blog
                            • アーキテクトがチェックすべきオープンソースのWebサービス一覧

                              実装の参考の当たり 前口上: オープンソースの実装を読もう 普段Web開発をしているとこの書き方は普通か、実装の方向性はよさそうか不安になることがあります。そういった際、同じリポジトリの既存実装や会社の他のリポジトリ、技術ブログや本、過去の経験、他のメンバーの意見などを参考にしつつ当たりをつけるわけですが、リファレンスが増えるに越したことはないです。 有名な言語、フレームワークではオープンソースのWebサービスがGitHub、GitLab上などにあがっていることがあり、参考になります。 それぞれライセンスがあり、とりわけGPL汚染などは要注意ですが、収集した一覧が溜まってきたのでまとめておきます。ある程度有名なものメインでスクリプト言語+Go。 Ruby Ruby on Railsは有名なので採用しているWebサービスが多数あります。 Redmine イシュー、プロジェクト管理ソフトのRe

                                アーキテクトがチェックすべきオープンソースのWebサービス一覧
                              • Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE

                                この記事はiCARE Dev Advent Calendar 2022 第1レーン24日目の記事です。 Railsの基本原則の一つに「メニューはおまかせ」があり、デフォルトで設定を良い感じにしてくれています。しかし、本当に自分のユースケースでも問題ない設定だと自信を持って言うためには、なぜこの設定になっているのかの背景知識が必要になります。例えばrails newをするとpumaのスレッド数はデフォルト5、データベースのコネクションプール数も5になっています。これは自分のユースケースで適切な値なのでしょうか?どういうときにいくつに設定するのが正しいのでしょうか? pumaのスレッド数をどうやって決めるのか pumaはRailsのデフォルトのアプリケーションサーバであり、複数プロセス、複数スレッドで動くアプリケーションサーバです。この記事を執筆している時点で最も利用率の高いアプリケーションサ

                                  Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE
                                • Railsアプリの開発環境向けDockerfile + docker-compose.yml - アジャイルSEの憂鬱

                                  人に説明するときに記事あると便利なので、開発環境向けのDockerfileとdocker-compose.ymlを書いておく。 Dockerfile FROM ruby:3.0.0 WORKDIR /app # Using Node.js v14.x(LTS) RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - # Add packages RUN apt-get update && apt-get install -y \ git \ nodejs \ vim # Add yarnpkg for assets:precompile RUN npm install -g yarn # Add Chrome RUN curl -sO https://dl.google.com/linux/direct/google-ch

                                    Railsアプリの開発環境向けDockerfile + docker-compose.yml - アジャイルSEの憂鬱
                                  • 個人的Rails開発環境構築2024

                                    新規でRailsプロジェクトを始める時の個人的な環境構築についてまとめる。前提とする条件等は下記。 規模: ~中規模 開発者数: 個人 利用シーン: PoC作成・スタートアップ立ち上げ・並の業務アプリ開発等 基本戦略 利用シーン的に「思い立ったらすぐアプリの開発ができる」という感じの運用がしたい。極力セットアップで悩みたくないから必要なミドルウェアなどは全部Dockerでインストールできるようにして立ち上げれば終わり、の環境を作る。その環境の中で色々とコマンドを叩いたり、rails newやrails gなどでRailsアプリを作成していく。 この辺のRailsの初期セットアップの手間を出来るだけ省きたいのでtemplateとなるリポジトリを作成し、そこからcloneしてくるだけでOKにする。 フロントエンドはReactなどを使わずをRails標準のerbとHotwireを軸に開発する。開

                                      個人的Rails開発環境構築2024
                                    • [翻訳]ShopifyにおけるRuby on Railsで速いコードを書く方法

                                      こちらの記事は翻訳記事となります。 原著者の許諾を得て翻訳・公開しております。 英語記事: How to Write Fast Code in Ruby on Rails原文公開日: 2019/10/08著者: Gannon McGibbonURL: https://engineering.shopify.com/blogs/engineering/write-fast-code-ruby-rails はじめにShopifyでは、ほとんどのプロジェクトの開発フレームワークにRuby on Railsを使用しています。 RailsとRubyはともにパフォーマンスに対するスティグマ(偏見)が存在します。 多くの個人や企業が、Rails以外での解決方法を探しています。 しかし一方で、私たちShopifyではRuby on Railsを採用して、毎分何百万ものリクエスト(requests per

                                        [翻訳]ShopifyにおけるRuby on Railsで速いコードを書く方法
                                      • ABEJAの技術スタックを公開します (2019年11月版) - ABEJA Tech Blog

                                        2021/10/22追記:最新版は下記記事になります!こちらもご一読くださいませ。 tech-blog.abeja.asia どうも、Tech Blog編集長(自称)の緒方(@conta_)です。 よくエンジニアの方にご質問いただく ABEJAってよく聞くけど、実際どんなことやってるのかよくわからない という点をクリアにするために、事業内容と技術視点でのABEJAの取り組みを紹介したいと思います。 ABEJAに興味のある方や、未来の一緒に働くメンバーに読んでいただけると嬉しいです! 割とAIコンサルの会社と思われているらしいので、ちゃんとプロダクト作ってますよ!ということを伝えていきたい ABEJAの事業紹介 ABEJAは2012年から約7年間、機械学習・ネットワークやIoTデバイスを活用したプロダクトの研究・開発・運用を行っています。 様々な産業・業種へ機械学習の適用・運用を培ってきたナ

                                          ABEJAの技術スタックを公開します (2019年11月版) - ABEJA Tech Blog
                                        • Railsプロジェクトで好んで使っている便利な処理 - alpaca-tc

                                          Railsプロジェクトで、自分が好んで使っている便利な処理をまとめてみました。 core_ext編 sort_byは安定ソートではないので、with_indexを組み合わせて安定ソートを行う https://gist.github.com/alpaca-tc/ed793961f2db438abaae3c00b7e303fa RSpec編 partial viewでインスタンス変数を呼び出していないことをチェックするテスト https://gist.github.com/alpaca-tc/c19f00d583234a2c73eda6d8378b8c50 モデルが変更された際に、参照元・参照先の双方に関連が定義されていることをチェックするテスト https://gist.github.com/alpaca-tc/d53dee5977746256717c7522988b13d8 テーブルが変更

                                            Railsプロジェクトで好んで使っている便利な処理 - alpaca-tc
                                          • [旧版]クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(翻訳)|TechRacho by BPS株式会社

                                            まえがき 本記事は、私がRailsConf 2019で話した「Terraforming legacy Rails applications」↑の、いわばB面に相当します。この記事を読んで、皆さんがアプリケーション開発をDockerに乗り換えるとまでは考えていません(皆さんが以下の動画で若干言及しているのをご覧になっていたとしても)。本記事の狙いは、私が現在のRailsプロジェクトで用いている設定を皆さんと共有することです。それらのRailsプロジェクトは、Evil Martiansのproduction development環境で生まれたものです。どうぞご自由にお使いください。 原文免責事項: 英語版記事は最新の推奨事項に合わせて更新を繰り返しています。詳しくは記事末尾のChangelogをご覧ください(参考: 原文Changelog)。 私がdevelopment環境でDockerを使

                                              [旧版]クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(翻訳)|TechRacho by BPS株式会社
                                            • docker-composeを便利にするツール「dip」を使ってみた|TechRacho by BPS株式会社

                                              更新履歴 2019/11/27: 初版公開 2020/05/01: サブコマンド実行部分に追記 2021/04/14: dip 7.0に合わせて更新 2021/07/16: docker-composeコマンドをdocker composeに置き換え dipとは dipは、Rails開発会社のEvil Martiansのメンバーが作った、docker-composeでの作業を能率的に行えるツールです。dipはDocker Interaction Processの略だそうです。 dipはRubyで書かれているのでRuby実行環境が必要です。元々Rails向けに作られたツールのようですが、Evil MartiansのReactアプリにもdip.xmlがあることからわかるように、Railsに限らず一般のdocker-composeでも使えます。私の場合はローカル開発環境でのみ使っています。 追記

                                                docker-composeを便利にするツール「dip」を使ってみた|TechRacho by BPS株式会社
                                              • Rails開発者が採用面接で聞かれる想定Q&A 53問(翻訳)|TechRacho by BPS株式会社

                                                概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: 53 Ruby on Rails Interview Questions and Answers - Better Programming - Medium 原文公開日: 2020/04/03 著者: GreekDataGuy -- データサイエンティスト、フルスタックエンジニア、起業家。トロント在住。 日本語タイトルは内容に即したものにしました。 私はこれまで100人を超えるRuby on Rails開発者と面接を重ね、私自身も職階に関する面談をいくつも受けました。本記事は、これまで私が受けたり尋ねたりした質疑応答をまとめたものです。 2020年現在、どれほど多くの大企業がRailsを利用していることを知ったら皆さんは驚くかも知れません。Shopify、Airbnb、GitHub、Dribble、Etsy、Kickstarter

                                                  Rails開発者が採用面接で聞かれる想定Q&A 53問(翻訳)|TechRacho by BPS株式会社
                                                • 分散SNSを使って技術を覚える | IIJ Engineers Blog

                                                  Twitterフォロー&条件付きツイートで「バリーくんぬいぐるみ」を抽選で20名にプレゼント! 応募期間は2019/11/29~2019/12/31まで。詳細はこちらをご覧ください。 今すぐツイートするならこちら→ フォローもお忘れなく! 【IIJ 2019 TECHアドベントカレンダー 12/12(木)の記事です】 久しぶりに書きました。 どうもこんばんわ。九州支社で働くとみです。お久しぶりです。 実は2016年に一つ記事を投稿したのですが、実に3年半経過した今になってアドベントカレンダーの話が聞こえてきたので、久方ぶりに書いてみることにしました。 当時はこんな記事なんかを書いてたわけですが、この記事を書いてから3年間色々あったので、その中の一つを書いてみようかなと思います。 3年間で覚えたことを並べてみる 2016年当時はTHE ON-PREMISEと言われてもおかしくないような、どイ

                                                    分散SNSを使って技術を覚える | IIJ Engineers Blog
                                                  • 次世代Herokuと噂のRender.comで、Railsアプリをデプロイしてみる

                                                    Render.comについて、日本語記事が全然なかったので紹介します。 (2021/08/01追記 使用感を追加しました) Render.comとは 様々なWebアプリをGitHub連携で簡単にデプロイできるPaaSです。 RailsのようなWebサーバーのデプロイ以外にも、静的サイトやバックグラウンドジョブ、またデータベースやスケジュール実行なども提供されており、よほど尖ったことをしない限りは大体のWebサービスはこれひとつでカバーできそうです。 またデプロイプレビュー、様々なミドルウェアのワンクリックデプロイなど、いろいろな便利機能が揃っています。 自分はBlitz.jsのデプロイ先として一番先頭で紹介されていたので知りました。日本だとほぼ知名度がないように見えますが、Twitterで検索してみると「次世代のHeroku」などと紹介されており、徐々に盛り上がりを見せているように感じます

                                                      次世代Herokuと噂のRender.comで、Railsアプリをデプロイしてみる
                                                    • RailsアプリをHerokuから移行するならどれがいいのか比較する | うなすけとあれこれ

                                                      Herokuの移行先を考える 今運用しているアプリ達をすぐにHeroku以外に移すということはしないまでも、競合となるプロダクトの調査をしておくことは(特に後発のものについては)機能面で実はこんなに便利なものがあったのか、と気づくことにもなったりするので、やっておいて損はないかと思いました。 比較対象について 比較する対象としては、インターネットで最近見かけるPaaSを選定しました。同様のことができるIaaSのコンポーネントとして、AWS FargateやGoogle Cloud Runがありますが、そのようなIaaSの一部として提供されるものについては今回は比較対象とはしません。 今回の比較対象は以下3つです。 Render https://render.com Railway https://railway.app Fly.io https://fly.io deployするRails

                                                        RailsアプリをHerokuから移行するならどれがいいのか比較する | うなすけとあれこれ
                                                      • Rails: Evil Martiansが使って選び抜いた夢のgem(翻訳)|TechRacho by BPS株式会社

                                                        概要 元サイトの許諾を得て翻訳・公開いたします。 英語記事: Gemfile of dreams: the libraries we use to build Rails apps—Martian Chronicles, Evil Martians’ team blog 原文公開日: 2023/01/17 原著者: Vladimir Dementyev(首席バックエンドエンジニア)、Travis Turner(技術記事編集者) サイト: Evil Martians -- ニューヨークやロシアを中心に拠点を構えるRuby on Rails開発会社です。良質のブログ記事を多数公開し、多くのgemのスポンサーでもあります。 日本語ブログ: 合同会社イービルマーシャンズ - Qiita 日本語タイトルは内容に即したものにしました。また、gemごとにGitHubリポジトリへのリンクカードも追加してあ

                                                          Rails: Evil Martiansが使って選び抜いた夢のgem(翻訳)|TechRacho by BPS株式会社
                                                        • Rails: リクエストのライフサイクルとRackを理解する(翻訳)|TechRacho by BPS株式会社

                                                          概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: The Lifecycle of a Rails Request 原文公開日: 2019/05/02 著者: Godfrey Chan サイト: Skylight 日本語タイトルは内容に即したものにしました。画像は元記事の引用です。 2019/10/03: 初版公開 2022/08/02: 更新 参考 以下のサイトで、Railsのリクエストの全ライフサイクルをビジュアル表示で追うことができます。本記事と合わせて参照することで理解が進むと思います。 サイト: Rails Trace rails-trace.chriszetter.comより 本記事は、私達がRailsConf 2019で行ったスピーチのまとめです。スライドはこちらでご覧いただけます。 エディタでコントローラのファイルを開き、アクションメソッドにRubyコードを少々書

                                                            Rails: リクエストのライフサイクルとRackを理解する(翻訳)|TechRacho by BPS株式会社
                                                          • Rails 6.1のDocker開発環境構築をEvil Martians流にやってみた(更新)|TechRacho by BPS株式会社

                                                            更新情報 2019/11/20: 初版公開 2021/03/25: Rails 6.1.3.1に合わせて更新 2021/04/06: Ruby 3.0.1に更新 先々月に公開したこちらの翻訳記事の実践編ということで。試行錯誤しているうちにRailsが6.0.1になりました。 クジラに乗ったRuby: Evil Martians流Docker+Ruby/Rails開発環境構築(翻訳) Docker Desktop for Macについて これまではピュアな環境を求めてParallels Desktop for MacのUbuntu VM上でDockerを使っていたのですが、久しぶりにDocker Desktop for Macを使ってみると速度や使い勝手が随分よくなっていて驚きました。 Docker Desktop for Macの方がUbuntu VMのDockerよりビルドが速い(体感で

                                                              Rails 6.1のDocker開発環境構築をEvil Martians流にやってみた(更新)|TechRacho by BPS株式会社
                                                            • できるだけインフラ運用したくない Ruby on Rails on Google Cloud

                                                              TL; DR Google Cloud 上で Rails をできるだけインフラ運用しなくて済むように構築するとしたら、こういう構成にするのはどうだろうか? メインの Web アプリは Cloud Run メインのデータベースには Cloud Spanner 非同期ワーカーには GKE Autopilot 非同期メッセージングキューには Cloud Pub/Sub DB マイグレーションには GKE Autopilot rails console には GKE Autopilot はじめに 先日、Cloud Spanner の ActiveRecord アダプターのバージョン 1.0 がリリースされました。 Scale your Ruby applications with Active Record support for Cloud Spanner | Google Cloud Blog

                                                                できるだけインフラ運用したくない Ruby on Rails on Google Cloud
                                                              • noteの検索をCloudSearch からElasticsearchに移行しつつある話|chov

                                                                記事の概要を3行でまとめ検索システムの移行や導入は組織化しましょう 指標に気を取られすぎないようにしましょう 検索を見ると様々なドメインに触れるので知識が増えてお得 はじめにnote株式会社で検索エンジニアをしているchovです。 早速ですが、noteでは全文検索エンジンを以下の箇所で利用しています。 ハッシュタグの検索 ユーザの検索 マガジンの検索 記事の検索 メンバーシップの検索 CloudSearchを利用した検索結果これまではCloudSearchを利用していましたが、2022年の4月ごろからElasticsearchへの移行プロジェクトを始め、この記事が公開される2023年2月時点でほとんどの検索をElasticsearchに移行するところまで進みました。 本稿では移行プロジェクトの進め方や検証の手法について解説しますが、これから全文検索エンジンの導入・移行を行う方の参考になれば

                                                                  noteの検索をCloudSearch からElasticsearchに移行しつつある話|chov
                                                                • Ruby × jemallocのすすめ - メドピア開発者ブログ

                                                                  集合知プラットフォーム事業部・エンジニアの榎本です。コロナ禍の運動不足を解消すべく筋肉体操で筋トレを続けてますが、上腕三頭筋がいい感じに成長しており継続の大切さを身に沁みて実感しております。 目次 TL;DR(三行要約) Rubyアプリケーションのメモリ肥大化問題 jemalloc を使ってみる jemalloc とは? jemalloc で改善するのか? jemalloc の設定方法 jemalloc をプロダクション導入してみた結果 まとめ おまけ:jemalloc についてMatzに聞いてみた TL;DR(三行要約) jemalloc でRubyアプリのメモリ効率改善 jemalloc でRubyアプリのパフォーマンス改善 jemalloc の導入も簡単 Rubyアプリケーションのメモリ肥大化問題 Ruby on RailsなどのRubyアプリケーションを運用する上で、メモリ使用量の

                                                                    Ruby × jemallocのすすめ - メドピア開発者ブログ
                                                                  • Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog

                                                                    7年前にGitHub Rankingというサービスを作り、APIを叩きすぎてGitHubからの風当たりが強くなって*1からはデータの更新を止めていたが、KubernetesやGraphQLの時みたいに技術を試す砂場用に惰性で動かし続けていた。 Issueの機能要望対応が段々面倒になってきて、サーバー代節約のために潰すかと考えていたのだけど、毎日1000PVくらいあるので試しにGoogle Adsenseを設置してみたところ1日平均 $1 くらいは入ってて黒字になりそうだったので、ちょっとメンテしやすくしてデータの更新再開するかー、ということで今回いろいろ綺麗にした。 DB: MySQL → PostgreSQL なぜPostgreSQLにしたのか 個人的には多くの用途ではMySQLとPostgreSQLどっちでもいいと思っているんだけど、今所属してるチームがメンテしてるサービスのDBの多く

                                                                      Java, MySQLをKotlin, PostgreSQLに移行した - k0kubun's blog
                                                                    • Rails の非同期処理を Sidekiq から Cloud Tasks にリプレイスして Cloud Run のコストが6分の1になった話

                                                                      成果 最終的に、Cloud Run のコストが$6/day前後から$1/day前後に! ちなみに、Cloud Tasks は1ヶ月あたり最初の100万回のオペレーションまで無料なので余裕で収まっています。 モチベーション 今回リプレイスを検討したシステムは軽量な非同期処理が大半で、もともと絶対に Sidekiq でないと困るということが少なかった Sidekiq は Redis をポーリングしてジョブを取得する方式なので、Cloud Run で実行するには min-instances を1以上にしなければいけない 何もジョブがない状態が続いてインスタンスが0になると起こしてくれる人がいないので... 絶対に Sidekiq でないと困らないなら Cloud Tasksにして、非同期処理がない時は寝ていても良いようにしたい => コストダウン! Pub/Sub との比較検討もしましたが今回は

                                                                        Rails の非同期処理を Sidekiq から Cloud Tasks にリプレイスして Cloud Run のコストが6分の1になった話
                                                                      • WEARにおけるKubernetes導入と改善の歩み - ZOZO TECH BLOG

                                                                        はじめに こんにちは。ブランドソリューション開発本部 WEAR部 SREの和田(@wadason)です。普段は「ファッションコーディネートアプリ WEAR」のSREとしてクラウドの運用やリプレイスをおこなっています。 WEARはサービス開始から10年が経ち、クラウドやオンプレミスを含む大小様々なシステムが稼働しています。アプリケーションを動かすための基盤にはAmazon ECSのようなコンテナを前提としたものから、オンプレミスのAPIやBatchを動かすIISまで幅広く扱っています。そうした中で、約1年前にSREチームが結成され、技術負債の脱却やクラウドを中心としたインフラの運用を行なってきました。当初取り組んでいた大規模なリプレイス案件も落ち着き、チームメンバーが増えてきたので、現在では分散した技術スタックをKubernetesへ統一するリプレイスプロジェクトを開始しています。 本記事で

                                                                          WEARにおけるKubernetes導入と改善の歩み - ZOZO TECH BLOG
                                                                        • BOOTHの“決済スパイク”を防げ! 創作物の総合マーケットを支えるトランザクション分割

                                                                          「PIXIV DEV MEETUP 2021」は、完全招待制のオンラインカンファレンスです。ライブセッションをはじめ、さまざまなイベントを通して、ピクシブのメンバーとピクシブのプロダクト開発における知見、組織文化を共有します。金川氏は、「BOOTH」で発生する決済スパイクに対する取り組みについて発表しました。 突然の決済スパイクに悩まされていた「BOOTH」 金川祐太郎氏(以下、金川):「オンライン即売会を支えた技術」。BOOTH部の金川がお話します。よろしくお願いします。 「BOOTH」では、突然の決済スパイクに頭を抱えていました。決済スパイクは、例えば有名なクリエイターの期間限定販売や、「YouTube」などVTuberの配信中に商品が公開された時、あとは最近行われるエアコミケといったオンライン即売会などで発生します。 決済スパイクが起きる時、BOOTHでは同じ商品に注文が集中します。

                                                                            BOOTHの“決済スパイク”を防げ! 創作物の総合マーケットを支えるトランザクション分割
                                                                          • ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog

                                                                            バックエンドエンジニアの宮澤です。 弊社のANDPADでは多くのWebサービスと同じようにメールでの通知機能を持っています。 今回はRailsと複数のメール配信サービスを組み合わせて、メール配信機能を冗長化した事例を紹介します。 ANDPADで導入しているメール配信サービス ANDPADでは2つのメール配信サービスを利用しています Mailgun(メイン) Sendgrid(サブ) 通常はMailgunを主系として利用し、SendgridはMailgunでの送信失敗時に備えて待機する構成になっていて、Mailgunで障害が発生した場合でも自動的にSendgird経由でメール配信できるようになっています。 また、サブにSendgridを採用している理由にRFCに準拠しないメールアドレスへの対策もあります。 ANDPADでは個人の携帯キャリアメールで登録しているアカウントも多く、キャリアメール

                                                                              ActionMailerでのエラーハンドリングと、メール配信機能の冗長化 - ANDPAD Tech Blog
                                                                            • GitLabがKubernetesをさまざまな課題に直面しながら1年間運用して学んだこと

                                                                              コンテナオーケストレーションシステムのKubernetesは、2014年にリリースされてからさまざまなウェブサービスのインフラとして活用されてきました。GitリポジトリマネージャーのGitLabもアプリケーションのデプロイやスケーリングの観点から、2019年より自社のウェブサービス「GitLab.com」のインフラをKubernetesへと移行するプロジェクトを進めており、その移行過程で学んだことをブログで公開しています。 What we learned after a year of GitLab.com on Kubernetes | GitLab https://about.gitlab.com/blog/2020/09/16/year-of-kubernetes/ GitLabのウェブサービス「GitLab.com」はその立ち上げ当初から、クラウドの仮想マシン(VM)上で構成管理ツ

                                                                                GitLabがKubernetesをさまざまな課題に直面しながら1年間運用して学んだこと
                                                                              • ANDPAD本体サービスをEKSに移行しました - ANDPAD Tech Blog

                                                                                株式会社アンドパッドのエンジニアの浜田です。 現在、コンテナ化プロジェクトの活動をしています。 アンドパッドは多くのサービスを提供しておりますが、その中で最も歴史が長く、コード量が多い、社内ではANDPAD本体と呼ばれるサービスがあります。 コンテナ化プロジェクトはこのANDPAD本体をコンテナ環境に移行するプロジェクトです。 プロジェクトは2020/11頃から開始し、2021/12に第一弾の本番リリースが完了しました。今回はその活動について共有します。 プロジェクトの発足 アンドパッドにおける下記課題を解消することを目的として、コンテナ化プロジェクトを開始しました。 リリース作業にかかる時間が長い 以前のANDPADでは本番リリース作業に数時間かかっていました。本番作業なので複数人で作業を行い、人数×時間ぶんの工数が取られることになります。 また夜間に作業することも多く、リリース担当者の

                                                                                  ANDPAD本体サービスをEKSに移行しました - ANDPAD Tech Blog
                                                                                • ECS を利用した検証環境の自動構築 ~運用3年を経て得た知見~ - メドピア開発者ブログ

                                                                                  CTO 室 SRE kenzo0107 です。 以前執筆した ECS を利用した検証環境の自動構築について、運用開始から3年の時を経ました。 実運用とその上で頂いた要望を取り入れ変化してきましたので、その経緯を綴ります。 tech.medpeer.co.jp 本稿、議論を重ね改善を進めて頂いたチームメンバーの知見を集めた元気玉ブログとなっております。 前提 社内では、以下の様に呼び分けしています。 本番相当の検証環境を STG 環境 本記事で説明する自動構築される仕組みを持つ環境を QA 環境*1 検証環境の自動構築の目的 開発した機能を開発担当者以外でも簡易的に確認できる様にし、以下を促進します。 ディレクターと開発者の仕様齟齬を減らす 改善のサイクルを高速化する 当時の検証環境の自動構築の仕組み 大まかな流れ ① ブランチ qa/foo を push ② CircleCI 実行 ③ C

                                                                                    ECS を利用した検証環境の自動構築 ~運用3年を経て得た知見~ - メドピア開発者ブログ