並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 6782件

新着順 人気順

.railsの検索結果321 - 360 件 / 6782件

  • オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank

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

      オイ、そこのSELECT COUNT。余計な数え上げに意味なんかねえ - inSmartBank
    • Goのアーキテクチャとフレームワークについて - pospomeのプログラミング日記

      社内slackでGoについて質問されて、それなりに長文で回答したのでその内容を加筆修正したものをブログに残しておく。 質問内容としては以下のイメージ。 RubyだとRailsがあり、MVCを利用することになるが、Goだとそこらへんはどうなるのか? Go初心者なのでGoのモダンなアーキテクチャとフレームワークについて教えて欲しい。 これ系の質問はGo経験者であれば「あーこれなー」と思うだろーし、 Go初心者のときに一度は悩んだことがあるだろう。 なので、個人的な意見を残しておく。 自分の意見が正しいかどうかは自己判断して欲しい。 結論 アプリケーションアーキテクチャの複雑化とMVCフレームワーク システムアーキテクチャの複雑化とフルスタックなフレームワーク マイクロフレームワーク 改めて質問内容を振り返る pospomeが考えるGoのフレームワーク選定 pospomeが考えるGoのアーキテク

        Goのアーキテクチャとフレームワークについて - pospomeのプログラミング日記
      • Modern web apps without JavaScript bundling or transpiling

        August 12, 2021 Modern web apps without JavaScript bundling or transpiling I didn't much care for vanilla JavaScript prior to ES6. Through all of the 2000s, I chased different approaches to avoid writing too much of it. First there was RJS (Ruby-to-JavaScript). Then there was CoffeeScript. Both transpiling approaches that turned more enjoyable-to-write source code into the kind of JavaScript that

          Modern web apps without JavaScript bundling or transpiling
        • 【第3回】CTOはWeb技術のトレンドに何を見てきたか | GeeklyMedia(ギークリーメディア) | Geekly(ギークリー) IT・Web・ゲーム業界専門の人材紹介会社

          日本を代表するブログサービスをはじめ、近年ではサーバ監視サービスMackerelでも知られる株式会社はてな。日本におけるWeb開発の黎明期から現在に至るまで、新旧さまざまな技術スタックが混在する環境で、CTOであるmotemenさんこと大坪弘尚さんはどのような心構えで技術選択に挑んでいるのか。初代はてなCTOでもある株式会社一休CTOの伊藤直也さんが聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就任。 ・大坪 弘尚さん / 株式会社はてな CTO 2008年、東京大学大学院情報理工学系研究科を中退後、アプリケーションエンジニアとして新

          • 嫁のはてブが閉鎖し、なれのはてブを作って1週間が経った

            嫁のはてブが閉鎖して1週間が経った。変わらず手癖でGoogleに「嫁のはてブ」と入れてサイトに飛んでしまうのが悲しい。 [補足] 嫁のはてブ関連のブコメで「嫁のはてブって何だ?」というコメントを見かけたので、もし嫁のはてブを知らない人は以下ページを見てもらうといいと思う。 ■「はてブ」をリニューアル前風デザインで 個人が一晩で開発 - ITmedia NEWS https://www.itmedia.co.jp/news/spv/1301/09/news089.html 2013年から約10年間ほぼ毎日嫁のはてブを使っていた。 嫁のはてブの閉鎖が決まってからはてなブックマーク公式サイトを使おうとしてみたが、正直キツい。 アプリの方はまだ見た目には良さそうだったのだが、自分は気になった記事ページとブクマページを一旦タブで全部開いて、開ききってから読んでくというスタイルなのでアプリは合ってなか

              嫁のはてブが閉鎖し、なれのはてブを作って1週間が経った
            • 令和時代のRails運用

              https://shuuu-mai.connpass.com/event/173794/

                令和時代のRails運用
              • Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに

                Ruby言語によるWebアプリケーションフレームワークの最新版となる「Rails 7」が正式リリースされました。 Rails 7.0 FINAL: The fulfillment of a vision to present a truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor. https://t.co/WxJ0nKYfE7 — Ruby on Rails (@rails) December 15, 2021 Rails 7の最大の変更点は、フロントエンド開発環境が刷新されてNode.jsを用いない構成がデフォルトとなったことでしょう。 Rails 6では、優れたフロントエンド開発環境を実現するためにトランスパ

                  Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに
                • 訳文;「そこにはなんの報酬もありません。このゲームが何を為していてどう機能しているのか、ただただ見ていたかったのです」ジェンキンズ、カーソン、ホッキング、『Outer Wilds』へつづく2,3の論考 - すやすや眠るみたくすらすら書けたら

                  翻訳の秋が今年もきました。また去年みたく面白い記事をいくつか見つけて勝手に紹介したいところです! 去年アップした『訳文;「"好奇心駆動型の冒険"とでも言うべき特殊なタイプの冒険に報酬を与えるゲームをつくりたい、それが『Outer Wilds』の主目的です」A・ビーチャム氏の論文より』で翻訳紹介した論考のなかで、参照文献として挙げられていた文献のうち2つ、ヘンリー・ジェンキンズ著『GAME DESIGN AS NARRATIVE ARCHITECTURE(物語による建築物としてのゲームデザイン)』とボニー・ルバーク取材『Clint Hocking Speaks Out On The Virtues Of Exploration(クリント・ホッキングが語る冒険の美徳)』。別記事1つ、ドン・カーソン著『Environmental Storytelling: Creating Immersive

                    訳文;「そこにはなんの報酬もありません。このゲームが何を為していてどう機能しているのか、ただただ見ていたかったのです」ジェンキンズ、カーソン、ホッキング、『Outer Wilds』へつづく2,3の論考 - すやすや眠るみたくすらすら書けたら
                  • 「ノーコード」だけで7億円のシリーズAまでスピード調達、HQに聞く | Coral Capital

                    月間10万人が読んでいるCoral Insightsのニュースレターにご登録いただくと、Coral Capitalメンバーによる国内外のスタートアップ業界の最新動向に関するブログや、特別イベントの情報等について、定期的にお送りさせていただきます。ぜひ、ご登録ください! 創業1年半で約7億円、累計9億円のシリーズA資金調達をする段階までノーコードツールを組み合わせてプロダクトとオペレーションを磨いてきたスタートアップがあります。Coral Capitalが出資するリモートワーク支援プラットフォーム「リモートHQ」を提供するHQです。 HQは2021年3月の創業で、約1年後の2022年4月に初の外部資金として約2億円を調達しています。その後、リモートワークやハイブリッドワークの広がりを背景に、大手企業を含む導入事例と売上をぐんぐんと伸ばし、シード調達からわずか6カ月半後の2022年11月に約7

                      「ノーコード」だけで7億円のシリーズAまでスピード調達、HQに聞く | Coral Capital
                    • ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来

                      技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のオンラインカンファレンスです。ここで登壇したのは、Ruby言語の開発者である、まつもとゆきひろ氏。エンジニアを目指す学生からの質問に答えました。全3回。2回目は、Rubyがメジャー言語になったターニングポイントと、Rubyの魅力について。前回はこちら。 Rubyがメジャー言語となったターニングポイント 楓博光(以下、楓):では次の質問です。「Rubyがここまでメジャーになれたターニングポイントや、理由はなんだと思われますか」。 まつもとゆきひろ氏(以下、まつもと):いくつかあったと思うんですけど。1つは、1995年当時、ネットニュースという媒体があって、そこに、自分が作ったソフトウェアを公開するスレっていうんですかね、今風に言うと。ニュースグループというのがあったんですけど。 1995年の12月、そこに「Ru

                        ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来
                      • Active Recordともっと仲良くなって自然に優しいコードを書くぞ - SmartHR Tech Blog

                        こんにちは。SmartHRでRails顧問業をしています @willnetです。最近は主にリファクタリングをしています。 SmartHRのバックエンドは基本的にRubyで書かれています。しかし入社してくるバックエンドエンジニアは必ずしもRubyやRailsを長年使ってきた人だけではなく、前職では他言語を使っていてRuby(Rails)はほとんど使ったことがないという人もいます。 webアプリケーションを作る、という点ではどの言語でも抑えるべき点は同じですが、RubyやRailsに特化した考え方や書き方もありますよね。SmartHRではそれを効率よく習得してもらうために読書会を開催したり、社内のドキュメントツールに知見を書いて共有したりしています。 僕も社内のドキュメントツールにActive Recordの付き合い方ついて書いたところ、評判が良く「テックブログにしたら?」と言われたので今回一

                          Active Recordともっと仲良くなって自然に優しいコードを書くぞ - SmartHR Tech Blog
                        • 安全なウェブサイトの作り方~失敗例~ - goruchan’s blog

                          安全なウェブサイトの作り方を読んだので、理解した内容を自分なりにまとめておきます。資料 上記は3章構成になっていてそれぞれ長めの内容なので、ここでは3章の『失敗例』について、Ruby on Rails ではどうするかについてをまとめます。 SQL インジェクション OS コマンドインジェクション パス名パラメータの未チェック例(ディレクトリトラバーサル) 不適切なセッション管理例(セッション ID の推測) クロスサイト・スクリプティングの例(エスケープ処理) CSRFの例 HTTP ヘッダ・インジェクションの例 メールヘッダ・インジェクションの例 参考 SQL インジェクション 参考資料内の SQL インジェクション例を見て、Ruby on Rails ではどのように対策できるかを確認しました。 例えば、下記ような $uid, $pass をユーザ入力とし、SQL 文を動的に生成する場合

                            安全なウェブサイトの作り方~失敗例~ - goruchan’s blog
                          • Laravel使いの情報源まとめ

                            はじめに 最近Laravelの情報収集用にTwitterアカウントを作ってみました。結果、海外に比べて日本は情報が散逸していてちょっと辛いぞという気持ちになりました。そのためLaravelの情報を集約するためのリンク集を作ることにしました。このリンク集が、業務や学習の手助けになればと思います。もし追加した方が良いリンクがあれば、コメント欄で教えてください。 基本 Laravel学習の時も、実業務で使う時も一貫してお世話になるであろうリンクを集めています。 Laravel公式 主にLaravelの機能を調査したいときに参照します。 https://laravel.com/ https://readouble.com/laravel/ (非公式和訳) アップグレードガイド バージョンアップ時の差分と対応方法を知りたいときに参照します。 https://laravel.com/docs/6.x/

                              Laravel使いの情報源まとめ
                            • インフラエンジニア1年生がプログラミングを勉強するのに使った教材 - Qiita

                              はじめに 私は普段インフラをメインで扱っているエンジニアです。 そんな開発がメインではない私が1年目でプログラミングを学ぶために使用した教材を紹介していきます。インフラエンジニアの方だけではなく未経験のエンジニアの方にも参考になれば良いなと思っております。 インフラの学習に使用した教材については下記記事にて紹介しておりますので、ご覧いただければ幸いです。 インフラエンジニアはプログラミングは必要? まずはこの質問をChatGPTに聞いてみましょう。 はい、インフラエンジニアにとってプログラミングスキルは必要です。 近年、クラウドの普及やインフラ自動化の進展により、インフラエンジニアに求められるスキルも変化しています。今では、サーバの自動化やコンテナのデプロイなど、プログラミングスキルが必要な業務も多くなっています。 具体的には、以下のようなことが挙げられます。 インフラ自動化の実現 インフ

                                インフラエンジニア1年生がプログラミングを勉強するのに使った教材 - Qiita
                              • スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog

                                こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカ食いマイクロサービス第一位である api

                                  スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog
                                • 他言語ユーザがRust言語をガチめに使っての雑感 - 分散KVSを書いてみて - - Qiita

                                  どうも ryo_grid です。 昨年はRustを覚えたいと思い、題材としてRESTインタフェースを持った分散KVS(実質はいわゆる分散ハッシュテーブル)を書いたりしました。 FunnelKVS: Rust implementation of autonomous distributed key-value store which has REST interfaces この記事では、他言語を使ってきた私が、経験のないRustを用いてそこそこのコード規模・複雑さのシステムソフトウェアを書いてみた上で、Rustについて感じたことを、独断と偏見で述べます。 Rustってなんか流行りそうな雰囲気あるけど難しいとも聞くし、どうなんだろ?と考えている方や、Rustガチ勢の方々に、「初学者はこう感じるんだな」「ここらへんに苦労するんだな」というところを伝えることで、Rustのスムーズな普及に少しでも寄

                                    他言語ユーザがRust言語をガチめに使っての雑感 - 分散KVSを書いてみて - - Qiita
                                  • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

                                    SmartHRでは開発にRuby on Railsを広く採用しています。 今日は負債解消のために、開発しているサービスでRailsのモデル名をすべて変更した話を紹介します。 既存のモデル構造のつらみ 私達が開発しているサービスでは、モデルの親子構造が分かりやすいということで、モデルをネストした構造にしていました。 例えば、 User に紐づくプロフィール画像 User::ProfileImage は、 app/models/user/profile_image.rb に配置する具合です。 パッと見の構造が分かりやすいのですが、時が経つにつれて次のようなつらさが顕在化してきました。 Railsの規約(推奨ルールのようなもの)に則っていないので、関連定義が冗長になる テーブル名が長くなる。 外部キーや関連名が長くなる。 関連名と外部キー名が一致せず、カラムを呼び出したいときにDB定義を見ないと

                                      Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
                                    • タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog

                                      この記事はTimee Advent Calendar 2023シリーズ 1の1日目の記事です。 はじめに こんにちは、タイミーでバックエンドエンジニアをしている須貝(@sugaishun)です。昨年は弊社でアドベントカレンダーに取り組んだか覚えていないのですが、今年はなぜかいきなり3トラックで臨むということで、非常に勢いがあるなと思いました。量と勢いで攻めていくところが弊社らしいなと感じています。全て完走できると良いですね。 さて私はその中のひとつのトップバッターということで、タイミーのRailsアプリケーションについて弊社のシニアなエンジニアたちと雑談した内容を座談会風にお伝えできればと思います。事の発端は弊社Slackのバックエンドエンジニアが集まるチャンネルで「タイミーのRailsアプリケーションの健康度はどのくらいなのか?」という会話をしたことでした。その時の私の感想は「人によって

                                        タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog
                                      • Next.jsから学ぶWebレンダリング ~React誕生以前からApp Router with RSCまでの流れ~

                                        最近話題のReact Server ComponentsやIslands Architectureが何を解決しようとしてるか知るまでの簡単なWebレンダリングの流れを記載しました。 社内勉強会のために作成した資料となるため箇条書きになっておりますが、なるべくHowやWhatではなくWhyやトレードオフを記述するようにしています。(読みにくい or 誤った記載あったらFB頂けたら幸いです) React 誕生までの Web iPhone と Ajax がリードした Web 2.0 時代 Webにおいて Ajax という技術が注目され始める 2005~ Google mapsやGmailといったサービスがリード jQueryの誕生が 2006~ iPhone登場 2007~ スマホアプリの登場によりソフトウェアのUXに求められる質的変化 mobile safariが時代のリードをした Flash

                                          Next.jsから学ぶWebレンダリング ~React誕生以前からApp Router with RSCまでの流れ~
                                        • Re:Backlogs というプロジェクト管理(タスク管理)ツールを OSS としてリリースしました - saino.me (kaishuu0123)

                                          自分の Qiita 記事からブログへの転載です。そこそこいいものが作れたなぁと思っています (∩´∀`)∩ qiita.com 読み方: Re:Backlogs (リ・バックログ) https://github.com/kaishuu0123/rebacklogs 2019/12/23: 使い方の記事を書きました。 Re:Backlogs の使い方を Twitter もどきアプリの開発を例に紹介します 画面紹介 マスターバックログ カンバン (Kanban) プロジェクト設定画面 説明 セットアップ方法 開発動機 ソースコード 使っている技術 実装してて楽しかったところ Drag & Drop による操作と、バックエンドのソート順保持 見やすい色を自動的に決めるアルゴリズム webpacker でのパフォーマンスチューニング 開発者なりにユーザビリティを考えること 最後に 2019/01/

                                            Re:Backlogs というプロジェクト管理(タスク管理)ツールを OSS としてリリースしました - saino.me (kaishuu0123)
                                          • 「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由

                                            「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由 #17 動的型付け言語と大規模開発 テーマは「動的型付け言語と大規模開発」 まつもとゆきひろ氏:まつもとゆきひろです。Matzチャンネル17回目ということでお送りします。ちょっと前になりますが9月28日に私が技術顧問を始めたクラウドサーカスという会社さんがテックイベントを開催されて、その時のテーマが「動的型付け言語と大規模開発」というテーマでした。 その時に話したこととか、話そうとしたこと、話そうと思っていたんだけど時間の関係で話せなかったことなどを補足する意味も含めて今日はちょっと放送しようかと思います。というか、分量が多いので2回に分けて話そうかなと思っています。 このクラウドサーカスのイベントのテーマは別に私から指定したわけではなくて、先方が「こんなテーマで話したいんだ」とか「聞き

                                              「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由
                                            • Herokuにあった個人アプリを軒並み対応した - くりにっき

                                              背景 やったこと1. 廃止 やったこと2. GCPに移行 ユースケース図 URLベースで見たユースケース図 実行環境で見たユースケース図 実際にGCPに移行したアプリ達 Cloud Run Cloud Functions AppEngine GCP移行した全てに共通してること やったこと3. CircleCIに移行 付録A. 道のり 付録B. 調査メモ(移行時に参考にしたドキュメントやサービスなど) 無料プラットフォームがまとまってるドキュメント ElephantSQL (PostgreSQL) PlanetScale (MySQL) Redis Enterprise Cloud 付録C. Redisを雑にFirestoreに置き換えたらクラウド破産しかけた 2022/09/22 20:45ブコメレス 背景 Herokuの無料プラン終了のため10個以上あった個人アプリを1ヶ月くらいかけて色

                                                Herokuにあった個人アプリを軒並み対応した - くりにっき
                                              • Rails 7.0でアセットパイプラインはどう変わるか | Wantedly Engineer Blog

                                                Rails 7.0ではフロントエンドサポートが刷新されます。新たなライブラリが多数導入され、選択肢が増えるため、「Rails公式のものを選べばOK」という戦略が通用しなくなります。 本稿では、Railsでフロントエンドを書くための選択肢について、その歴史と実装を踏まえて比較検討します。 結論から言うと(まだアルファ版なので今後も状況が変わる可能性はありますが、) 新規アプリケーションではSprocketsの役割は無くなりそうです。新しいライブラリとして Propshaft, importmap-rails, jsbundling-rails, cssbundling-rails が登場し、主要な選択肢として以下が提供されます。 (各ライブラリの詳細については後述します) Propshaft + importmap-railsデフォルトの選択肢。Node.jsが不要。トランスパイルを含め、複

                                                  Rails 7.0でアセットパイプラインはどう変わるか | Wantedly Engineer Blog
                                                • Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE

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

                                                    Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE
                                                  • Hotwire を 本番環境で使ってみた感想

                                                    2022年のRailsの開発現場事情について語ろう! Qiita Night https://increments.connpass.com/event/241385/

                                                      Hotwire を 本番環境で使ってみた感想
                                                    • Vimで本格的にWeb開発したい人の為のステップアップガイド

                                                      想定読者 この記事は「Vimって便利だけど、覚えたてだと局所的にしか使えなかったりして、実際に本格的にWeb開発するのは難しいし、モチベーションも続かないなあ…」という人のために書きました。 工夫した点 TODOサンプルアプリを用意して「Vimの設定適用 → リアルなコードを使って実際にVimを動かす」という感じで少しずつ便利になる体験をしながら実際のWeb開発でも使えるVimを使った操作や設定などを覚えていけるステップアップ構成 特定のプラグインを使うケースは類似プラグインを紹介し、他のプラグインも選択できるように。(これこそVimの楽しいところ。好きなものを好きなように自分で組み合わせて使う。) 注意点 Vimの説明になります(Neovimではありませんのでご注意ください)。 Vimはバージョン8.2を使っています。 Docker上のUbuntuでVimを動かす想定になっています。イン

                                                        Vimで本格的にWeb開発したい人の為のステップアップガイド
                                                      • 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の憂鬱
                                                        • EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog

                                                          SREチームの長田です。 今回はカヤックで運用している「まちのコイン」というプロダクトのアプリケーション基盤を Amazon EKS(以下EKS)からAmazon ECS(以下ECS)に移行したはなしをします。 まちのコインとは coin.machino.co www.kayac.com まちのコインはカヤックが運営している、デジタル地域通貨を使ってその地域のコミュニティを活性化させるサービスです。 2019年11月から実証実験を開始し、翌年2月から正式リリースされました。 2022年9月現在、20の地域に導入されています。 一般ユーザーが使用するクライアントアプリと、導入地域の運営団体が使用するブラウザ用の管理画面、 それらにAPIを提供するRailsサーバーアプリがあります。 データベースはAmazon Aurora PostgreSQL、 その他AWSのマネージドサービスを組み合わせ

                                                            EKSからECSに移行して開発運用コストの削減を図る - KAYAC engineers' blog
                                                          • [翻訳] Shopifyにおけるモジュラモノリスへの移行 - Qiita

                                                            こんにちは、食べログシステム本部長の京和です。 本エントリでは Shopify の Engineering Blog から、Kirsten Westeinde による「Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity」を翻訳して掲載します。 食べログではユーザーや飲食店に価値を届けるスピードを最大化するべく、マイクロサービス化などをはじめとしたこれまでの組織やアーキテクチャを刷新するための取り組みを始めています。しかし、マイクロサービスはアプリケーションアーキテクチャとインフラアーキテクチャが複雑に絡み合ったシステムで技術的難易度が非常に高く、適切に構築できなければ「分散されたモノリス」と呼ばれるアンチパターンに陥ります。1 Shopifyではマイクロサービスではなく、

                                                              [翻訳] Shopifyにおけるモジュラモノリスへの移行 - Qiita
                                                            • 大量データの JSON serialize 処理を高速化し、レスポンスが倍速になった話 - freee Developers Hub

                                                              こんにちは、freee会計でワークフロー機能の開発をしている @mitubaEX です。 先日 freee会計のパフォーマンスチューニングに取り組みました。本記事では、調査の流れ、改善の事例を紹介します。 問題発覚までの流れ freee では自社の経理業務に freee会計を利用しており、その中でも経費精算の機能はほぼすべての従業員が利用しています。そのため日々多くのフィードバックをもらえます。そのフィードバックの1つで、「経費精算の一覧を開くのが遅い」という報告をもらいました。幸い表示件数を指定できるので調整すれば遅くはならないのですが、一覧性が下がってしまうため有用な解決策ではありません。 そこでワークフローを開発しているチームで、このパフォーマンスイシューの調査を始めました。 調査する まず事前調査として Datadog*1 で一覧画面を表示するリクエストの処理を確認しました。 一覧

                                                                大量データの JSON serialize 処理を高速化し、レスポンスが倍速になった話 - freee Developers Hub
                                                              • チーム内にテックな話題を話す場を作っておよそ半年が経ちました - SmartHR Tech Blog

                                                                SmartHRの基本機能と呼ばれるプロダクトでエンジニアリングマネージャーをしている @sugamasao (id:seiunsky) です。 この文章はSmartHR Advent Calendar 2022の2日目のエントリーとして書いています。 はじめに、いくつか前提となる状態をお伝えすると、私の所属している「基本機能」プロダクトはScrumを拡張したLeSSというフレームワークを使っており、現在は6チームで1つのプロダクトを開発しています。 さらに、私は今はエンジニアリングマネージャーという立場にいますが、少し前まではこの6チームのうちの1チームに所属するメンバーでした。そのため、これ以降に記載している取り組みは私がチームに所属していた時にはじめたものという認識をしていただけますと幸いです。 テックな話題 #とは リモートワーク主体で仕事をしていると意識的に雑談によるコミュニケーシ

                                                                  チーム内にテックな話題を話す場を作っておよそ半年が経ちました - SmartHR Tech Blog
                                                                • JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話

                                                                  Ruby on Rails を用いたシステム上で入力フォームを実現する際、Rails が提供しているフォームヘルパーを利用した実装や、React や Vue によるコンポーネントの自前での実装が一般的に行われます。 ここで、職業で学生を選択した場合は学校名と学年、会社員を選択した場合は役職と年収を…

                                                                    JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話
                                                                  • エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス

                                                                    potato4dとうなすけが2020年に使用した技術をそれぞれフロントエンドエンジニアの目線とサーバーサイドエンジニアの目線から書いてくれていたので、私も感化されて記述していこうと思う。d.potato4d.me blog.unasuke.com 私自身は2020年、本業としてFringe81(2020年12月で退職)でサーバーサイドをメインで触り、業務委託としてBlack Inc.でフロントエンドに近い開発をしていた。(あと数社お手伝い) どちらかというとサーバーとフロント、両方の立場から多角的な意見を言えるような立ち位置で仕事を行っていた年になる。 また本業においては情報処理安全確保支援士として活動を始めた年になった。社内のセキュリティ向上を目標としていた。 qiita.com qiita.com 今回は仕事で触れていた技術について、できる限りまとめていく。 --- 言語 TypeSc

                                                                      エンジニアとして2020年に関わった技術をまとめる - バーチャルおりばーハウス
                                                                    • SmartHRのOSSガイドラインを公開しました - SmartHR Tech Blog

                                                                      こんにちは、エンジニアのkinoppydです。本日は、SmartHRが公開したOSSガイドラインに関してご紹介します。 github.com SmartHR OSS ガイドライン SmartHRでは、すべてのサービスでOSSが使用されています。Ruby、Ruby on Rails、React、TypeScriptは必ずすべてのサービスで使われていますし、その他にもたくさんのOSSがSmartHRのサービスを構成しています。これらOSSによってSmartHRのサービスは支えられているので、我々もOSSに対してなにか貢献をすることができると良いなと思っています。しかし、現在社内には業務時間中のOSS活動に関する明示的な文章が存在せず、業務としてOSSにコミットする労務/法務的なルールが不明でした。また、OSS文化に対する経験が浅い人にとっては貢献する方法などもよくわからず、ハードルが高いと感じ

                                                                        SmartHRのOSSガイドラインを公開しました - SmartHR Tech Blog
                                                                      • Next.js + Vercel + Supabase を用いた高速アプリ開発 - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                        こんにちは!ラクス入社1年目のkoki_matsuraです。 本日は、Next.jsとVercel、Supabaseを用いて簡単なアプリを高速で開発する手順についてお話しできればと思います。 アジェンダは以下の通りです。 Next.jsとは ReactとNext.jsの違い Next.jsの特徴 Vercelとは Supabaseとは ToDoアプリ作成 Supabaseにデータベースを用意 VercelでNext.jsプロジェクトを作成・デプロイ・GitHub連携 VercelとSupabaseの連携 GitHubからクローン Vercelから環境変数を取得 Supabaseのデータベースに接続 コード編集 終わりに 参考文献 Next.jsとは Next.jsはReactベースのアプリケーションフレームワークです。 公式サイトではNext.jsとはReactを用いたWebアプリ開発で生

                                                                          Next.js + Vercel + Supabase を用いた高速アプリ開発 - RAKUS Developers Blog | ラクス エンジニアブログ
                                                                        • CTOがテックブログなんとかしてって言って一ヶ月が過ぎました - SmartHR Tech Blog

                                                                          こんにちは、エンジニアのkinoppydです。 先日、SmartHRでのメタプログラミングRuby読書会と、その成果物というエントリを公開した直後に、毎週水曜日に開催されている社の全エンジニアが参加するテック定例というイベントの中で、CTOから「テックブログ最近更新されてないね、どうする?」という言葉を投げかけられました。POSTしたばかりの私としては「いや、更新しとるやん」と思ったのですが、客観的にここ数ヶ月の更新を見ていると、以前ほどの活発感もなく、またエンジニアリングの話よりも取り組みや入社報告が多く、テックブログと名乗って良いのか少し疑問が残ることも確かでした。そこで、今後このテックブログをどうしていくのかを、CTOと私、そしてテックブログに一家言ある社内の有志のエンジニアをその場で募り、会議室で腹を割って話してみることにしました。 会社のテックブログというものと、その宿命 比較的

                                                                            CTOがテックブログなんとかしてって言って一ヶ月が過ぎました - SmartHR Tech Blog
                                                                          • Remove TypeScript - laiso

                                                                            経緯 world.hey.com DHHが「オタクくん見てる〜? 今からうちのレポジトリからTypeScriptを剥しま〜す」と宣言したことにより、Web開発者界隈でTypeScriptの是非自体の話になり騒ぎになった*1*2。 github.com その後、野次馬がたくさん集ってきてrevertプルリクエストを立てる人やTypeScript公式リポジトリから全ソースコードを消すプルリクエストを出す*3ようなキッズムーブをする人も出てきた world.hey.com 実際の変更 8617行のTypeScriptがJavaScript化された。(Sloc 便利) ❯ scc src/ ─────────────────────────────────────────────────────────────────────────────── Language Files Lines Blan

                                                                              Remove TypeScript - laiso
                                                                            • Include diagrams in your Markdown files with Mermaid

                                                                              EngineeringOpen SourceInclude diagrams in your Markdown files with MermaidA picture tells a thousand words. Now you can quickly create and edit diagrams in markdown using words with Mermaid support in your Markdown files. A picture tells a thousand words, but up until now the only way to include pictures and diagrams in your Markdown files on GitHub has been to embed an image. We added support for

                                                                                Include diagrams in your Markdown files with Mermaid
                                                                              • レガシーシステムをDocker環境へ移行させた話

                                                                                はじめに初めまして、FinatextグループのK-ZONEチームでインターンをしている松永と申します. 現在インターンではバーチャル株投資ゲームの「トレダビ」の改善を行っています. トレダビを長く運用し続けてきた弊社ですが、長年の運用から技術的負債が溜まっていました. その中の一つに、トレダビのローカルの開発環境でゲーミフィケーションサーバ(トレダビにおいてゲーム的な要素を担当するサーバ)がDocker上で動いておらず、ローカルで開発を進める際に特定の画面の確認ができないという問題がありました. この問題をどのように解決したかについて紹介します. トレダビの開発環境についてトレダビはRuby on Rails + MySQL + Java(ゲーミフィケーションサーバ)で運用されており、AWSの開発環境では以下のような構成で動作しています. しかし、トレダビのローカルの開発環境ではゲーミフィ

                                                                                  レガシーシステムをDocker環境へ移行させた話
                                                                                • 個人的Rails開発環境構築2024

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

                                                                                    個人的Rails開発環境構築2024