並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 491件

新着順 人気順

gemの検索結果121 - 160 件 / 491件

  • ~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
    • TechCrunch

      Ola has let go its chief executive Hemant Bakshi, merely four months after making the appointment, and is cutting about 180 additional jobs, a source familiar with the matter told TechCrunch. The move

        TechCrunch
      • Docker Compose な開発環境にちょい足し3分で作るVSCode devcontainer

        こんにちは、devcontainer職人です🧑‍🍳 今回紹介するのはDocker Composeを既に利用している開発環境にかんたんにdevcontainerを構築する方法を紹介します。 VSCodeのdevcontainerはとても良くできた開発環境構築方法なのですが、ちょっと難しそうと思われていたり、VSCode以外のエディタを使う人の開発体験が悪くなるのでは、などの懸念がありまだあまり使われていないような印象があります。今回はそんなdevcontainerを3分で作れるtipsを紹介します。 準備するもの Docker Composeで構築した開発環境 VS Code Docker Desktop for Windows/Mac Remote - Containers extension Docker Composeで構築した開発環境のサンプル 今回用意するのはサンプルとしてRu

          Docker Compose な開発環境にちょい足し3分で作るVSCode devcontainer
        • スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita

          スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点RubyRailsScalaポエムスタートアップ この記事を書くに至った経緯 僕が代表をしている株式会社KOSKAでは製造業の原価管理をIoTで自動化するGenkanというサービスを提供しております。 そんな弊社では半年前、バックエンドをRuby on RailsからScalaに移行したのですが、その効果が思ったよりだいぶ大きく、いずれこの効果を共有したいなーと思っていました。 弊社ではスタートアップで全員ほぼ未経験状態のScalaを採用するという挑戦をした結果、「Scalaを書きたい」というレベルの高い人材をかなりの確率で捕まえられるようになり、開発がものすごい加速した上に堅牢になったのでそのうちスタートアップでScalaを採用するメリットを記事にする予定。 https://t

            スタートアップである弊社が全員ほぼ未経験でRuby on RailsをScalaに移行した理由、その効果と苦労点 - Qiita
          • カタログギフトのURLが『localhost:3000』になってて血の気が引いた「繋がったらもっと怖い」

            近藤(祥) @shoko3168 わたくし善意のカタマリなので通報は済です! 担当者に伝わるかな~~~ めっちゃしっかりしてる大手サイトっぽかったけど、この形式でのチケット配布が初の試みなのかな? (ちょっと変わった形式だった) pic.twitter.com/jDk1sauiUA 2022-12-26 12:10:05

              カタログギフトのURLが『localhost:3000』になってて血の気が引いた「繋がったらもっと怖い」
            • Ruby/Rails の勉強に何読んだらいいかと聞かれたとき - id:onk のはてなブログ

              「次の職場が Ruby なんだけど」と読み書きそろばんを聞かれたのと、大阪Ruby会議03、大江戸Ruby会議10、Kaigi on Rails 2023 と Ruby/Rails 関係のイベントに続けて参加して、作者の皆さまと会ったので。 「読める」になるために 言語仕様は何らかの本 1 冊の冒頭の方を読めば雰囲気は掴めるだろう。 Ginza Rails27 igaiga - Speaker Deck 著書や技術顧問、健康診断レポート でお馴染みの @igaiga555 さんの作った表で、難易度別にまとまっている。 たのしいRuby か、プロを目指す人のためのRuby入門 が定番かなぁ。 できることを知る るりま (Ruby リファレンスマニュアル) の Enumerable、String Rails Guides の Active Support Core Extensions 日本語

                Ruby/Rails の勉強に何読んだらいいかと聞かれたとき - id:onk のはてなブログ
              • 実例に学ぶGoのアーキテクチャ - 「開発スピード優先」でGMOペパボが採用したのはMVC|ハイクラス転職・求人情報サイト AMBI(アンビ)

                実例に学ぶGoのアーキテクチャ - 「開発スピード優先」でGMOペパボが採用したのはMVC Goを活用した開発の際、どのようなアーキテクチャを採用するか、議論は尽きません。GMOペパボではオーソドックスなMVCを選んだといいますが、その背景にあったものとは。開発現場のお二人に話を聞きました。 なぜ、MVCを採用するのか 「いま直面する問題」を解決するために、シンプルな構成を選ぶ MVCを採用し感じる課題 ディファクトに従うのではなく、必要とされるものを選ぶ 2012年のバージョン1.0発表以降、Golang(以下、Go)はさまざまなサービスでの採用事例を増やしています。しかし一方で、Goを活用したサーバサイド開発における設計の大方針に関しては、どのような手法を採るべきか多くの議論が重ねられてきています。 例えば、DDD(Domain Driven Design:ドメイン駆動設計)やクリーン

                  実例に学ぶGoのアーキテクチャ - 「開発スピード優先」でGMOペパボが採用したのはMVC|ハイクラス転職・求人情報サイト AMBI(アンビ)
                • HTML Over The Wire | Hotwire

                  Hotwire is an alternative approach to building modern web applications without using much JavaScript by sending HTML instead of JSON over the wire. This makes for fast first-load pages, keeps template rendering on the server, and allows for a simpler, more productive development experience in any programming language, without sacrificing any of the speed or responsiveness associated with a traditi

                  • いまさらDocker入門(AWS FargateでRails環境をつくる - その1) - 虎の穴開発室ブログ

                    こんにちは、虎の穴ラボNSSです。 今まで私は、サーバーレスの勉強の一環として、AWS Lambdaを使ったWebアプリケーションの作成方法を、本ブログやとらラボの同人誌等で紹介してきました。 しかし、サーバーレスに関するサービスはAWS Lambdaだけではなく、他にもたくさんあります。 その中で今回は、AWS Fargate(以下Fargate)を使って、2020年5月時点の最新Rails開発環境をFargateで作って見たいと思います。 ...と思っていたのですが、Fargateを利用するには、いくつか前提となる知識が必要になることがわかりました。 前提となる知識は、 コンテナ・Dockerの知識 Amazon ECR、ECSの知識 Fargateの知識 などです。 全てを説明すると長くなってしまうので、何回かに分けて説明していきたいと思います。 何回になるかわかりませんが、最終的に

                      いまさらDocker入門(AWS FargateでRails環境をつくる - その1) - 虎の穴開発室ブログ
                    • 「DIは必ずしも善ではない」| Dependency injection is not a virtue by DHH

                      DHHの Dependency injection is not a virtue(2013) という記事は有名ですが、ちゃんとした日本語訳が意外とないようなので、書き出してみて思ったことを要約してみた。[1] Rubyのエンジニアの中には、何も考えずに他のモデルのnewを書いてる人の割合が多いという(コードレビュー時のヒアリングによる)体感があり、また8年前の記事なので経験の浅い人は読んだことがない人もいると思う。該当する方は是非読んでほしい。 全部読む時間が無い人は要約へ. 原文と訳文 In languages less open than Ruby, hard-coded class references can make testing tough. If your Java code has Date date = new Date(); buried in its guts,

                        「DIは必ずしも善ではない」| Dependency injection is not a virtue by DHH
                      • 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
                        • RubyとRailsの何が強いのか

                          Presented in Qiita Night Lightning Talks on 2022-12-02 https://increments.connpass.com/event/265957/

                            RubyとRailsの何が強いのか
                          • “親切な人たち”が言ってくる「Rubyは死んだ」「Rubyなんか使わない」 まつもとゆきひろ氏がノイズを気にせず考える、Rubyの価値

                            プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、「Ruby」開発者のまつもとゆきひろ氏。「Contribute to Ruby」をテーマに、Rubyの歴史・これからについて語りました。全5回。1回目は、Rubyの価値を形作る、Productivity・Community・Joyについて。 オフラインでも開催された「RubyKaigi 2022」 まつもとゆきひろ氏(以下、まつもと):おはようございます。 会場:おはようございます。 まつもと:声が小さい(笑)! (会場笑) まつもと:おはようございます! 会場:(さらに大きく)おはようございます! まつもと:あぁ、いいですね、物理会場は。おはようございます。15分ほど遅れましたけれども、2日目を始めたいと思います。 昨日のカンファレンスはどうでした

                              “親切な人たち”が言ってくる「Rubyは死んだ」「Rubyなんか使わない」 まつもとゆきひろ氏がノイズを気にせず考える、Rubyの価値
                            • Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog

                              この記事は Money Forward Engineering 2 Advent Calendar 2022 18日目の投稿です。 こんにちは。マネーフォワード関西開発拠点でマネーフォワード クラウド会計Plus (以下会計Plus)のエンジニアをしているぽっけです。 この記事では、私が行った高速化について紹介します。 私は最近Railsアプリケーションの高速化を行っており、ある画面のレスポンスタイムを50%以上削減しました。そしてこの改善はRubyレベルの変更のみで達成しました。 この記事での「Rubyレベルの変更のみ」は、MySQLやRedis、Web APIなどへのアクセスには全く手を入れず、Rubyのプロセスが消費する時間のみを変更した、ということを意図しています。 MySQLなどへのアクセスは通常ボトルネックになりがちな箇所です。今回そこに手を入れずに高速化を達成できたのは、1つ

                                Rails appをRubyコードの改善だけで50%以上高速にした話 - Money Forward Developers Blog
                              • 30代未経験からのエンジニア転職を諦めた話 - マトリョーシカ的日常

                                表題の通りである。エンジニアになった話はたくさん見かけるが、諦めた話はあまりない。そういうことなのだろう。少し書くことにした。 エンジニア転職を考えたのはもう3年ほど前になる。昔からプログラミングは興味があり、学生のころもそれらしきことはしていた。ただ、専攻の関係で機械系の今の仕事を選択して、こんな感じになっていた。当時はyoutubeとかtwitterでもエンジニアブームがきていて、わりと楽しそうだった。そういう理由でちょっと勉強を始めることにした。 オンラインスクールというのに入ってやってみた。RubyとRailsを学習した。Rubyはわりあい簡単で、すいすい入ってきたが、Railsはなんだか難しかった。少しのコマンドでたくさんのファイルが生成されるので、それらがどう関係しているのかを知るのもやっかいだった。それでもつくっていったらなんとかなった。 RubyのテストとしてRSpecも少

                                  30代未経験からのエンジニア転職を諦めた話 - マトリョーシカ的日常
                                • なぜ Rails の前段に Nginx を置くのか - Qiita

                                  追記(2023.09.13) X にて、この記事が引用されて多くの議論が投稿されました。 それらの多くは以下の通り「ALB等の利用できる環境の現代であればもうNginxコンテナは不要」という内容が多数です。 その上で、本文に入って頂ければと思います。一部「いいね」が多いポストを貼り付けさせていただきます。 本文にショートカットしたい場合は、ここをクリック ここから本文 以前、チームで以下のような会話が生まれました。 「コンテナに nginx 立てずに、直で rails Appサーバに ALB から流せばいいじゃん?」 みたいな話。その際に理由を即座にレスできなかったので、調査しました。 puma や Unicorn はあくまでAppサーバなのでユーザ直アクセス用途として設計されていない バッファリング処理が弱い バッファリング処理(処理速度や処理にかかる時間の違いを調整すること) ngin

                                    なぜ Rails の前段に Nginx を置くのか - Qiita
                                  • メドピア AWS勉強会 ECS編 / MedPeer AWS Seminar ECS

                                    メドピア社内で定期的に開催しているAWSに関する勉強会を開催しています。本資料はそのうちのECSに関する回のものです。

                                      メドピア AWS勉強会 ECS編 / MedPeer AWS Seminar ECS
                                    • 9ヶ月かけて全ての API を REST から GraphQL にリプレースした話 - がぶちゃんの日記

                                      サマリー システム構成の変遷 創業フェーズ はじめての API と技術選定 GraphQL 移行直前 GraphQL への移行を決めたきっかけ GraphQL 移行方針 移行期間 ふりかえり 1つ目の方針は正解だった 2つ目の方針は微妙だったかもしれないけど、正解だったかもしれない 3つ目の方針はやはり苦戦した さいごに サマリー サービス開始から3年経った Next.js + Rails なシステム 全ての API を REST から GraphQL にリプレース 約9ヶ月かかりました 早速フロントエンドの都合でバックエンドにも手を入れるということが減って快適です という話です。 システム構成の変遷 創業フェーズ 1人目エンジニアとして入社して、何から手を付けようかなーと考えた結果、事業の肝の部分からシステム化していくことにしました。弊サービス https://moneiro.jp/ は

                                        9ヶ月かけて全ての API を REST から GraphQL にリプレースした話 - がぶちゃんの日記
                                      • 猛烈に成長するSaaSのインフラを猛烈にカイゼンする技術 - ANDPAD Tech Blog

                                        SREチーム 鈴木心之介 です。 職歴の空白 を経て参画しました。 社名変更して co.jp ドメインを複数保有する技術 の節は皆様ありがとうございました。 たぶんそのうち書かれるだろう「Dockerコンテナ移行しました」記事の先史時代の記録として、また、事業の成長に併走してきたEC2でのアーキテクチャの御焚上として奏上するものです。 問題意識 アプリケーションはRuby on Railsで実装し、インフラはAWSにEC2, RDS, S3を中核に構成してます。運用状況はEC2に限らず大変きびしく、早くどうにかしないと事業の成長の足枷になりそうでした。入社前のカジュアル面談で伺っていた情報と、入社後の情報収集から、大枠の問題意識を以下4つに絞りました。 デプロイメント セキュリティ スケーラビリティ ディザスタリカバリ どれも解決すべきで、優先順位にみなさま一家言あるかと思います。ただセキ

                                          猛烈に成長するSaaSのインフラを猛烈にカイゼンする技術 - ANDPAD Tech Blog
                                        • Ruby でデバッグする ruby_jard というツールが凄まじくすごい - Secret Garden(Instrumental)

                                          今日 Ruby Hacking Challenge in Hamada.rb に参加したときに ruby_jard という Ruby のデバッグツールを教えてもらいました。 これがかなり凄まじくすごかったのでちょっとまとめてみます。 ruby_jard とは ruby_jard とは Ruby のコードをデバッグするツールになります。 ruby_jard | Just another ruby debugger. Provide a better experience while debugging Ruby rubyjard.org 立ち位置としては byebug のようなデバッグツールになっており、コード上で jard というメソッドを呼び出すとそのタイミングでプロセスが停止して、コンソール上から Ruby のコードを実行できるような形になっています。 実際にどういう形でデバッグするの

                                            Ruby でデバッグする ruby_jard というツールが凄まじくすごい - Secret Garden(Instrumental)
                                          • GitHub における大規模なモノリポのパフォーマンスの向上

                                            GitHub は、毎日 5600 万人以上の開発者にサービスを提供し、2 億以上のリポジトリをホストしています。これらのリポジトリのごく一部を除いて、世界中の顧客に驚くべきパフォーマンスでサービスを提供しています。 GitHub のような大規模なシステムでは、コードとアーキテクチャのずれというのは限界に達したときに初めて見つかるものです。例えば、何千人もの開発者が毎日同じリポジトリを更新するといったケースです。GitHub は、大規模なモノリポを使用する一部の顧客から、プッシュ操作が失敗するといったパフォーマンスの問題が発生しているというフィードバックを受けました。 そして、それは GitHub においても発生していました。 github/github は GitHub のモノリポですが、私達自身も時々プッシュに失敗することがありました。 調査を開始するにあたり、私たちは社内のチームや顧客

                                              GitHub における大規模なモノリポのパフォーマンスの向上
                                            • 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
                                                • 令和時代の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不要のフロントエンド開発環境がデフォルトに
                                                    • Intel CPUとAMD CPUの混在による問題に直面した話 | 開発ブログ | Elastic Infra

                                                      チーフエンジニアの加辺です。 今日は珍しいトラブルに出会ったので紹介します。 起こった問題 ある環境ではEC2によりサーバを運用しており、アプリケーションをデプロイサーバでビルドし、その成果物をアプリケーションサーバへコピーすることでデプロイとしていました。 ここで新規サーバを作成していたところ、一部のアプリケーションサーバで見慣れないエラーが発生し、アプリケーションが起動しないという事象が確認されました。調べたところ、デプロイサーバはt3、アプリケーションサーバはt3aファミリーが利用されていることがわかり、アプリケーションサーバをt3ファミリーへ変更したところ、問題が発生しなくなることが分かりました。 さて、これはどのような機序によるものでしょうか。 調査 記事タイトルで答えをほとんど書いてしまっていますし、t3, t3aを知っていれば明らかですが、これはIntelとAMDの違いです。

                                                        Intel CPUとAMD CPUの混在による問題に直面した話 | 開発ブログ | Elastic Infra
                                                      • ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来

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

                                                          ボジョレー・ヌーヴォーみたいに毎年言われる「Rubyは死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来
                                                        • 株式会社デプロイゲートを退職します

                                                          こんにちは!井上恭輔(@kyoro353)です。表題の通り、この2019年7月末を以って株式会社デプロイゲートを離れることになりました。 私の状況が少し特殊なのは、自分自身がDeployGateを開発し、立ち上げた創業メンバーの1人であるという事でしょうか。このエントリーは今までDeployGateの開発以来7年近くの長きに渡りお世話になったチームメンバーや、助けていただいた周りの多くの皆様へのご報告と、感謝をお伝えするためのものです。 いわゆる「退職エントリー」となりますので、興味のある方だけお付き合い頂ければ幸いです。(そして長いですw) デプロイゲート誕生前夜 せっかくの機会ですし、デプロイゲートの人間として今後話す機会も無いと思いますので、今日は少し昔話をさせて頂ければ幸いです。 この写真は今から約7年前の2012年9月10日、DeployGateのリリース日の「DeployGat

                                                            株式会社デプロイゲートを退職します
                                                          • DB外の副作用をトランザクションから分離しよう / Isolate out-of-DB side effects from transactions

                                                            gotanda.rb#52@オンライン "DB外の副作用をトランザクションから分離しよう"

                                                              DB外の副作用をトランザクションから分離しよう / Isolate out-of-DB side effects from transactions
                                                            • 安全なウェブサイトの作り方~失敗例~ - goruchan’s blog

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

                                                                安全なウェブサイトの作り方~失敗例~ - goruchan’s blog
                                                              • 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
                                                                • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

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

                                                                    Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
                                                                  • 6日で作ったRailsアプリを譲渡するまで - Qiita

                                                                    はじめに 6日で開発したRailsアプリを譲渡しました。結論から言うと、譲渡額は40,000円です。アプリの内容は、誰でも簡単にランキングを作って、投票をしたり、候補を追加したりできるミニアプリ。Twitterカードを自動生成できるので、最近流行りのTwitterバイラルも狙えるかなと思って、作ってみました。 実際にリリースしたのは、先月ですがマーケティングの糸口が見つからず放置していました。それから一ヶ月くらいして、「個人開発のフリマ」に出品しました。3日ほどで、「興味がある」と言ってくれる方が見つかり譲渡することになりました。 購入していただける理由は、アフィリエイトが得意なのでうまくやればサービスを育てられそう、とのことでした。今回は譲渡が決まってから、実際に完全に権利を移行するまでを書いていきたいと思います。 個人開発のフリマとは 個人開発のフリマは、個人開発者やスタートアップのサ

                                                                      6日で作ったRailsアプリを譲渡するまで - Qiita
                                                                    • タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog

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

                                                                        タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog
                                                                      • 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)
                                                                        • 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までの流れ~
                                                                          • スタディサプリ最大の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
                                                                            • Hotwire を 本番環境で使ってみた感想

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

                                                                                Hotwire を 本番環境で使ってみた感想
                                                                              • NULL嫌いのUPDATEしないDB設計 #DBSekkeiNight / DB design without updating

                                                                                DB設計したいNight #6 正規化 [online] https://dbnight.connpass.com/event/177859/

                                                                                  NULL嫌いのUPDATEしないDB設計 #DBSekkeiNight / DB design without updating
                                                                                • Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE

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

                                                                                    Railsでpumaやsidekiqのスレッド数とコネクションプールの数ってどうやって決めるんですか | 働くひとと組織の健康を創る iCARE