並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 1002件

新着順 人気順

railsの検索結果41 - 80 件 / 1002件

  • Hono + htmx + Cloudflareは新しいスタック

    この記事は以前7月に自分で書いた「Hono + htmx + Cloudflare is a new stack」という記事を一部修正し、訳したものです。 Hono + htmx + Cloudflareは新しいスタック 以前、バックエンドエンジニアだった身からすれば、Reactは複雑だと感じることがあります。さらに(私はフレームワーク開発者なのですが)フレームワーク開発者にとってはハイドレーションの仕組みを作ることは厄介です。しかし、しばしばReactを使うことになります。 Reactの優位な点の一つは「JSX」です。最初見た時、JSXは奇妙に思えました。「なんでJavaScriptの中にHTMLのタグが入っているんだ!」。しかし、一度慣れると、JSXは柔軟で、書きやすいことに気づきました。 今日はこれから、JSXをサーバーサイドのテンプレートとして使う技術スタックを紹介します。これはつ

      Hono + htmx + Cloudflareは新しいスタック
    • JavaScript: 所望のイベントリスナの発火を妨げているイベントリスナを特定する | Wantedly Engineer Blog

      Webアプリケーションでは、DOMの要素にイベントリスナ(イベントハンドラ)を取り付けることで、ユーザーによる様々な操作 (クリックなど) に応じて処理を行うことができます。 しかし、イベントリスナを登録しても、他のイベントリスナとの干渉によって意図した通りに発火しないことがあります。ここではその調査方法を紹介します。 前提知識: イベントバブリングイベントについては筆者の過去記事でも解説しましたが、あらためてここでも説明します。イベントバブリングを理解することが、イベントデバッグの近道だからです。 DOMにおいて、要素はネストすることによって木構造を形成します。ある要素(ターゲット要素)がクリックされるなどしてイベントが発生したとき、イベントはその要素自体だけではなく、その祖先要素にも送られます。これをイベントバブリングといいます。 イベントバブリングは2つの段階に分けられます。 Cap

        JavaScript: 所望のイベントリスナの発火を妨げているイベントリスナを特定する | Wantedly Engineer Blog
      • 今更聞けないDockerのしくみ(「Dockerとは?」から「docker-composeファイルを1人で作れるようになる」まで) - Qiita

        今更聞けないDockerのしくみ(「Dockerとは?」から「docker-composeファイルを1人で作れるようになる」まで)RubyRailsDockerdockerfiledocker-compose はじめに なんとな〜くdockerを使い始めてはや4年ほど。 既存のプロジェクトにアサインされた場合はdockerファイルに何が記載されているかなんて意識せずコマンドを実行するだけで、何か自分で一から作る時は、誰かが作ったものをどこからか持ってきて済ませていた。 こんな感じなのでdockerをなんとなく扱えてはいるが細かいところを全く理解できてない。 今回は人に説明できるくらい理解できるようになろうとした男の記事です。 ハンズオン形式でやっていきますので一緒に手を動かしながらやってみていただけると嬉しいです。 対象とする読者 これからdockerをは0から理解したい人 なんとなくdo

          今更聞けないDockerのしくみ(「Dockerとは?」から「docker-composeファイルを1人で作れるようになる」まで) - Qiita
        • 10年続けたCTOを辞め、新たな道へ

          おれはCTOをやめるぞ!ジョジョーーッ! だれ?こんにちは @zaru というIDで活動しているプログラマです。今年で40歳になります。株式会社ベーシックでCTOをしており、個人ではYouTubeでムーザルちゃんねるという技術動画を配信したり、コードが動かないので帰れませんという技術書を書いたりしています。プログラミングとデザインが好きです。 こんなアイコンで活動してますベーシックに中途で入社し14年、CTOをやって10年たちました。ベーシックではメディア事業に始まり、スマホのゲームアプリ開発や、アドネットワーク、最近ではBtoB SaaSの開発をしていました。 ベーシックという同じ会社にいながら全く異なる仕事をしていたので飽きることなく、あっという間に時間が溶けていった感覚があります。当時開発メンバー最年少で入社したのに、今では最年長になってしまいました。そして、今年2023年末をもって

            10年続けたCTOを辞め、新たな道へ
          • Reactは悪い意味でも現在のjQueryだし、それを受け止めないと前に進めないということ

            HTMXのCEOに就任したので[1]、記念に記事を書きたいと思います。 HTMXサイトのエッセイ[2]はどれも珠玉の出来で評判ですが、それらを読んでもわかるとおり、HTMXは「Webはこうあるべき」という主義主張のあるライブラリです。その主義主張のかなり初歩的な前提を書きたいと思います。 Reactはなぜだめか、という話です。 21日追記 ちょっと誤解が生じているために書き足しますが、Reactのパフォーマンス(及びそれ以外のこと)への批判というのはHTMX固有のものではありません。SvelteやSolidJSといった新興JSフレームワークやRails等の非JS WEBフレームワーク、SSG開発者たち、それからReact開発者たち自身といった多様なWEB開発者たちに共有されている見方です。この記事の最後の方でReact批判記事のリンク集を引用していますが、そういった多様なバックボーンの人た

              Reactは悪い意味でも現在のjQueryだし、それを受け止めないと前に進めないということ
            • 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 のはてなブログ
              • 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 にリプレースした話 - がぶちゃんの日記
                • 【ソフトウェア設計】モジュールをどう分割するのか?

                  はじめに 前々回や、前回に引き続き、ソフトウェア設計の指針に関する話をしたいと思います。 関数やクラス、そしてサービスなどシステムの塊の単位をモジュールと呼び、モジュールを作る事で、認知負荷を下げ複雑性と戦うという話をしてきました。では、モジュールは「いつ」分割するのが良いでしょうか? また、他にも共通モジュールを不用意に作ってしまって苦労した人も多いのでは無いでしょうか? 今回はそのあたりの話をしていきます。 TL;DR 以下があればモジュール設計を見直す 単純な要件/普段の利用に対して、タイプ量や約束事が多い 共通モジュールが「使われ方」に依存する モジュールの役割を一言で説明できない コード管理や性能/データ整合性など利用に際してのペナルティが高い 分割 is NOT 正義 - FizzBuzz Enterprise Edition 複雑性を排除するためにモジュール分割をすることは重

                    【ソフトウェア設計】モジュールをどう分割するのか?
                  • Project Googrename: Google Workspace で 14 年運用されたドメインエイリアスをプライマリドメインに変更 & 全ユーザーを安全にリネームする - クックパッド開発者ブログ

                    コーポレートエンジニアリング部の id:sora_h です *1。今回は 3 ヵ月ほど前に実施した、Google Workspace テナントのプライマリドメイン変更について、記録を兼ねて説明します。 クックパッドは 2009 年頃 *2 より Google Workspace *3 を利用しています。当社の対外的なメールアドレスは cookpad.com ですが、Google ではプライマリドメインとして cookpad.jp が設定されています。各ユーザーには cookpad.com のアドレスを別名 (エイリアス) として登録されていて、メールアドレスとしては cookpad.com を利用、ただ Google へログインする時だけ cookpad.jp を利用する運用になっていました。想像が出来ると思いますが、これが様々な面で不便・混乱を発生させていました。どうしてこうなった… *

                      Project Googrename: Google Workspace で 14 年運用されたドメインエイリアスをプライマリドメインに変更 & 全ユーザーを安全にリネームする - クックパッド開発者ブログ
                    • 安全なウェブサイトの作り方~失敗例~ - goruchan’s blog

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

                        安全なウェブサイトの作り方~失敗例~ - goruchan’s 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
                        • スタディサプリ最大の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
                          • 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アプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog

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

                                タイミーのRailsアプリをシニアなエンジニアが採点したらだいぶ辛口だった - Timee Product Team Blog
                              • 「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由

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

                                  「自分の未来予測を信じてちょっと意地を張ってみる」 まつもとゆきひろ氏がRubyに型宣言を入れない理由
                                • 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
                                  • 個人的Rails開発環境構築2024

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

                                      個人的Rails開発環境構築2024
                                    • 全エンジニア必見!情報収集のためのリンク集 - Qiita

                                      この記事はNuco Advent Calendar 2023の12日目の記事です。 はじめに 技術は目まぐるしく変化・進歩していて、トレンドに追いつくには、まず信頼できる情報源が必要です。 このリンク集では、エンジニア向けのコンテンツを種類別に紹介します。業界の最新ニュース、学術論文、実践的な動画解説、そして専門家のコミュニティなど多様なリソースをまとめました。 弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。 また、Nucoでは一緒に働く仲間も募集しています!興味をお持ちいただける方は、こちらまで。 知識共有コミュニティ Qiita 言わずもがな、国内最大級のコミュニティサービスです。言語・分野ごとのタグがあり、どのエンジニアにとっても使いやすいサイトになっています。 Zenn 「知識を共有するエンジニアに対価

                                        全エンジニア必見!情報収集のためのリンク集 - Qiita
                                      • 個人で開発していた上場企業の情報サイトをOSSにした

                                        結論 個人で開発していたWEBサービスをOSSとして公開しました。 この背景や技術環境について書いていきます。 すべてのソースコードをGitHubに公開しています。 スターやレビューをしてくださると嬉しいです! 公開したサービス: 上場企業ランキング 先日、オープンソースでWEBサービスを公開しました。 「上場企業ランキング」というサービスです。 その名の通り日本の上場企業を業界ごとに「給与」や「売上」順で閲覧することができるサービスです。 URL: https://company-ranking.net/ GitHub: https://github.com/yuki0920/company-ranking 私は2度の転職活動経験がありますが、企業を選ぶ際に知っておきたいことはいくつもありますよね。 「給与はどのくらいだろう」 「売上や利益はどの程度なのかな」 こういった情報は、求人ペー

                                          個人で開発していた上場企業の情報サイトをOSSにした
                                        • Ruby on Railsはどのように生まれ、発展してきたのか[前編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開

                                          「1999年か2000年頃、私は37signalsというWebデザイン企業を経営していました。2人のビジネスパートナーとWebデザインを受注していたのです」(Fried氏) Fried氏は本業とは別に再度プロジェクトとしてオンライン書籍データベースの開発に取り組んでいました。開発はPHPで行っていたものの、Fried氏はプログラミングでつまづきます。 当時はまだStackOverflowのような技術的な質問に答えてくれる掲示板などなかった時代。Fried氏はブログに「誰かこの問題を解決する方法をご存じですか?」と書き込みます。 するとデンマークからメールが届きます。メールを書いてきたのがDHH氏でした。 「私は(37signals社の)Signal vs. Noiseというブログを以前から熱心にフォローしていました」とDHH氏。 「ブログで彼の質問を見て、私は『おお、この答えを知っているぞ

                                            Ruby on Railsはどのように生まれ、発展してきたのか[前編]。作者DHH氏やコアチームが語る動画「Ruby on Rails: The Documentary」が公開
                                          • Utility-first CSS(Tailwind CSS)が合理的であることの説明と、CSSによるUI開発小史

                                            目次 CSS小史 SUIT CSS - 命名規約ベースのCSS方法論 styled-components - CSS in JS Tailwind CSS - Utility-first CSS なぜインラインスタイルではダメなのか まとめ タイムライン 参考リンク CSS小史 CSSでアプリのUIを実装するための手法は、これまでいくかの変遷を辿ってきた。 はるか昔、CSSが生まれて間もないころには、関心の分離という文脈から、FONT要素などの物理タグはよくないものとされ、 コンテンツ(HTML)とスタイル(CSS)をきっちりと分離することが奨励されはじめた。 そこでは、HTMLはあくまで文書であり、CSSのクラスセレクタという接点でコンテンツと見た目が隔離されることで、それらは別世界のものとして管理されていた。 また、大規模サービス開発においていかにCSSを管理するかという問題意識はまだ

                                              Utility-first CSS(Tailwind CSS)が合理的であることの説明と、CSSによるUI開発小史
                                            • System tests have failed

                                              When we introduced a default setup for system tests in Rails 5.1 back in 2016, I had high hopes. In theory, system tests, which drive a headless browser through your actual interface, offer greater confidence that the entire machine is working as it ought. And because it runs in a black-box fashion, it should be more resilient to implementation changes. But I'm sad to report that I have not found

                                                System tests have failed
                                              • 海外でRuby on Railsの人気が再燃 ー 採用市場で最も求められているスキルのひとつに

                                                4月3日、DevOps.comが掲載した「Ruby on Railsの復権」(The Ruby on Rails Resurgence)という記事によると、Ruby on Railsの人気が再燃しているという。 4月3日、DevOps.comが掲載した「Ruby on Railsの復権」(The Ruby on Rails Resurgence)]という記事によると、Ruby on Railsの人気が再燃しているという。 同記事では、海外の求人サイト「Hired.com」が発表したソフトウェアエンジニアの採用状況についてのレポートを引き合いに出し、Ruby on Railsがソフトウェアエンジニアリングの役割において最も需要があるスキルであることを示している。同レポートによれば、Ruby on Railsのスキルを持つエンジニアは、約1.64倍もの面接機会を得ている。 Ruby on Ra

                                                  海外でRuby on Railsの人気が再燃 ー 採用市場で最も求められているスキルのひとつに
                                                • フリーランス歴20年の強強エンジニアからのガチコードレビュー集 - Qiita

                                                  はじめに こんにちは、まつけんです。 早いもので、Webエンジニアになって、10ヶ月経とうとしています。 先月末、僕の職場に参画していたフリーランス歴20年の強強エンジニアCさんが卒業されました。(以降Cさんと称します) Cさんには、いつも迅速かつ丁寧なレビューをしていただいてました。 たまに補助で僕のプルリクにコミットを積んでもらうことなどもあり、お世話になった記憶が大半です。 今回はそんなCさんから受けたコードレビューから、今後どう改善していくのかアウトプットして学びを深めたいため、こちらの記事を書きました。 ペアプロしている時の参考になったこともおまけで書いてます。 ※こちらの記事に出てくるコードに関しては全てRubyです。実務で学んだことなので、出てくるコードは全てフィクションです。(実際のサービスのコードではないです) レビュー1: migrationファイルを追加する時「db:

                                                    フリーランス歴20年の強強エンジニアからのガチコードレビュー集 - Qiita
                                                  • Backend エンジニア視点からの GraphQL / GraphQL from a perspective of backend engineer

                                                    "LayerX、スタディサプリ、SHEと考える GraphQLが向いている現場とは?運用実践LT" で登壇した資料です。 引用した資料 [Rails アプリに RESTful API のレールを敷いて生産性が大きく上がった話 | Wantedly Engineer Blog](https://www.wantedly.com/companies/wantedly/post_articles/85098) [React Server Components と GraphQL のアナロジー | by Yosuke Kurami | Dec, 2023 | Medium](https://quramy.medium.com/89b3f5f41a01) [実質無料で GraphQL Gateway を手に入れる / low-cost GraphQL Gateway - Speaker Deck](

                                                      Backend エンジニア視点からの GraphQL / GraphQL from a perspective of backend engineer
                                                    • メール配信システムを SaaS から新規社内システムへ移行した - エムスリーテックブログ

                                                      この記事はエムスリーAdvent Calendar 2023の20日目の記事です。 エムスリーエンジニアリングG コンシューマチームの松原(@ma2ge)です。 今回はコンシューマチームで利用していたSaaSのメール配信システムを、新規に開発した社内システムに移行した経緯や設計時に意識したことなどについて紹介します。 最近使っているキーボードの様子 背景 今回移行する契機となったのはメールの配信数増加に伴うSaaSの利用料金増です。 特に定期的に送るメルマガ配信については、配信量も多く利用コストを押し上げる要因となっていました。 そのためメルマガ配信で大量に使用する部分についてのシステム移行検討が始まりました。 移行検討 SaaSから移行後のシステムについて試算すると、システムの開発や利用料といったコスト面では社内で構築したシステムの方が大幅にコストが下がることがわかりました。 しかしなが

                                                        メール配信システムを SaaS から新規社内システムへ移行した - エムスリーテックブログ
                                                      • 関数・変数・機能に対する名付け方は“理解の試金石” まつもとゆきひろ氏が、プログラミングで名前が大事だと思う理由

                                                        技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のオンラインカンファレンスです。「技育祭2023【春】」に登壇したのは、Ruby開発者のまつもとゆきひろ氏。プログラミングの体験の中で実感した、ことわざや格言について話しました。全4回。1回目は、「名前重要」について。 日本人プログラマーで最も有名なRubyの生みの親 まつもとゆきひろ氏:ご紹介に与りました、まつもとゆきひろです。裏番組もおもしろそうなんですけれども(笑)、こちらに来ていただいてありがとうございます。何人ぐらい来てくれているのかな? まぁいいや。 今日はですね、「プログラミングのことわざ〜Rubyの父が語る教訓と知恵〜」というタイトルでお話しします。 まつもとゆきひろです。こんな感じのアイコンで活動していますけれども、Rubyを作った人として知られています。インターネットではひらがなです。ちょっ

                                                          関数・変数・機能に対する名付け方は“理解の試金石” まつもとゆきひろ氏が、プログラミングで名前が大事だと思う理由
                                                        • 転職してソフトウェアエンジニアをやっている - ogijun's blog

                                                          ひさしぶりにblog記事書きます 本エントリはカケハシ Advent Calendar 2023 Part 2の 15日目の記事に入れてもらってます。カケハシ Advent Calendar Part 1 もあり、様々な職種の方が記事を書いているので、ぜひご覧ください。といってもそもそもこのblogでは初出であるカケハシってなんだ?という話からしなければなりません。このAdventが書くきっかけになったのですが、そのあたりの近況報告も兼ねて最近こんなことをやっているというアップデート記事です。 転職していました 実際に新しい所属になったのは今年の10月1日からで、もう2ヶ月半くらい経っているのですが、本当にあっという間でした。Twitterではいろいろ投稿していたので見ていた方はご存知かも知れません。現在は株式会社カケハシというところで、ソフトウェアエンジニアとして新しい事業ドメインを起ち

                                                            転職してソフトウェアエンジニアをやっている - ogijun's blog
                                                          • 個人開発サービスを軌道に乗せるまでに行ったすべてのこと UU数28万人の「席替えメーカー」、元教師の開発者が語る

                                                            株式会社YOUTRUSTの寺井氏は、個人開発でリリースした「席替えメーカー」について、ユーザー数を獲得するまでに実施したことについて話しました。 教師からエンジニアになった寺井氏 寺井省吾氏:「サービスを軌道に乗せるまで一人でやったすべてのこと」というタイトルで発表したいと思います。よろしくお願いします。 まず簡単に自己紹介ですが、寺井省吾といいます。今、株式会社YOUTRUSTでエンジニアをしています。僕はもともと教師をやっていて、教師からWebエンジニアに転職しました。趣味で将棋とかバドミントンとかサッカーをやっています。 個人開発がけっこう好きで、今までいろいろなサービスを作ってきました。人のペインを解決するようなツール系のサービスだったり、あとはクスッと笑ってもらうためにおもしろ系のアプリだったりをいくつか作ってきました。 今日は、自分が今まで作ってきた中で一番ユーザー数が伸びたと

                                                              個人開発サービスを軌道に乗せるまでに行ったすべてのこと UU数28万人の「席替えメーカー」、元教師の開発者が語る
                                                            • スタメンの技術的負債解消戦略 - stmn tech blog

                                                              1. これはなに こんにちは、リファクタリング大好きなミノ駆動です。2023年7月より株式会社スタメンにジョインしました。 この記事は、今後スタメンにおいてサービスの技術的負債を解消する設計戦略についてまとめたものです。 2. 背景、課題 株式会社スタメンは2016年創業。主要サービスであるTUNAG(ツナグ)は、企業のエンゲージメントの構築、つまりお互いを知って理解し、信頼し合う組織を作るための社内コミュニケーションを活性化させるプロダクトです。TUNAGのバックエンドはRuby on Railsで開発され、ローンチから7年をむかえつつあります。 これまでTUNAGは、プロダクトをいかに伸ばすかに注力してきた一方、内部品質や開発効率など「開発者体験」に関する課題が後手に回っていました。本来プロダクトチームはユーザーにとっての本質的な価値にのみフォーカスできる状況が理想ですし、開発者体験が

                                                                スタメンの技術的負債解消戦略 - stmn tech blog
                                                              • 「AWSとGitHubを用いたパターン別CI/CD構成解説」というテーマのビデオセッションで話しました #devio2023 | DevelopersIO

                                                                こんにちは、つくぼし(tsukuboshi0755)です! 現在 DevelopersIO 2023の一環として、YouTube でのビデオセッションが公開されています。 今回私の方では、「AWSとGitHubを用いたパターン別CI/CD構成解説」というタイトルで投稿しました。 概要 AWS基盤でCI/CD構成を作りたいが、どのようなサービスを組み合わせて作るべきだろうか? 特にCI/CDに関する有名なサービスとして、AWSのCodeシリーズとGitHubがあるが、両者の使い分けはどのようにすれば良いだろうか? そんなお悩みをすっきり解決するため、様々なパターンを想定したCI/CD構成をまとめて解説します。 動画 スライド 参考サイト ECS用のCDパイプラインに対する考察 CodeDeploy / GitHub Actions|Rails × CloudFormation ハンズオン A

                                                                  「AWSとGitHubを用いたパターン別CI/CD構成解説」というテーマのビデオセッションで話しました #devio2023 | DevelopersIO
                                                                • 管理機能アーキテクチャパターンの考察と実践 / Learn Architecture through Admin

                                                                  Kaigi on Rails 2023 "管理機能アーキテクチャパターンの考察と実践" https://kaigionrails.org/2023/talks/ohbarye/ 管理機能という身近な題材で
アーキテクチャについて考えてみよう、というテーマの資料です。B/43というプロダクトで実際に行った選択と運用の工夫も含みます。

                                                                    管理機能アーキテクチャパターンの考察と実践 / Learn Architecture through Admin
                                                                  • アウトドア般若心経が楽しめるWebアプリをリリースしました - Roll With IT

                                                                    はじめに サービス URL GitHub リポジトリ 対象読者 自己紹介 アウトドア般若心経とは ポケモンGO の般若心経バージョン サービス開発のきっかけ サービスの概要 使い方 1. Google アカウントでログイン 2. 般若心経の全文を一覧で管理 3. 写経した写真を取り込む 4. 取り込んだ写真をトリミング 5. 写真の登録 6. 保存した内容の確認 7. メモの登録 8. 全体地図の確認 9. マイページ 技術スタック 技術選定の理由 アーキテクチャ ディレクトリ構成 開発方針とこだわり Getting Real UI / UX レスポンシブデザイン パフォーマンス ロゴ 機能面 コスト面 プロモーション オリジナルグッズ製作 アカウントを開設 ドッグフーディング 旅ログ 開発中に苦労したこと Google ログイン認証 外部ストレージサービスの設定 E2E テスト E2E

                                                                      アウトドア般若心経が楽しめるWebアプリをリリースしました - Roll With IT
                                                                    • MySQL即効クエリチューニング読んだ - $shibayu36->blog;

                                                                      MySQL即効クエリチューニング ThinkIT Books 作者:yoku0825インプレスAmazon 最近クエリチューニングの仕事があったので、少し深めに知ろうと読んだ。 MySQLの内部構造がどうなっているかは置いておいて、どうすればクエリの問題を把握できるかが素早く知れる良い本だった。90ページくらいですぐ読めるのも良い。個人的にはHandler_%変数を使った調査、innotopによる状況可視化、sys.innodb_lock_waitsによるロック状況の可視化あたりが非常に参考になった。 ちなみにさらに内部構造に踏み込んで理解しようとするなら、以下の記事がおすすめ。 雑なMySQLパフォーマンスチューニング MySQL with InnoDB のインデックスの基礎知識とありがちな間違い - クックパッド開発者ブログ Rails Developers Meetup 2018 で

                                                                        MySQL即効クエリチューニング読んだ - $shibayu36->blog;
                                                                      • React Server Components と GraphQL のアナロジー

                                                                        Next.js の App Router が安定版となり、React Server Components (以下 RSC) を実際に試す環境が整ってきた。 実際、今年はやれどこそこのプロダクトが Next.js を採用しただのやっぱり捨てだのといった話題が尽きなかったように思う。 かくいう自分自身も、今年は App Router の案件に取り組んで RSC と格闘する日々を送っていた。 その過程で、こんなようなことを考えるようになったので、今回はこの辺りの話を書き残しておこうと思う(何回か X に同じ旨の POST は上げていたけど、一回もちゃんとまとめてなかったので)。 RSC がない頃の、別の言い方をすると getServerSideProps を使っていた頃の、Next.js におけるアプリケーションの設計は、トラディショナルな MVC にかなり近しい。 ここでいう MVC は、Sp

                                                                          React Server Components と GraphQL のアナロジー
                                                                        • Vim から VSCode に移行して分かったたった1つの真実

                                                                          導入経緯 当社は受注開発のIT企業である。2023年に長らくお世話になったVimの利用を辞め、VSCodeを使い始めた。 当社の実情 当社のエンジニアは2022年時点で全員がVimを使っていた。当時の案件はメインがRuby on Rails関連であったことも相まって、世に出回る便利なエディタ、IDEに関する情報感度が極めて低かった。 Rails案件ではVimを使うことに対して大きな問題はなかった。補完がある程度効けばバックエンドの実装に支障がないからである。エンジニアとしてそれでいいのかという葛藤は当然あったが、当社のエンジニアは日々の業務をこなすことに集中していた。 (設立当初から積み上げられた歴史としてのvimrc) 転機 ついにその時が来てしまった。 そう、Vue、Typescript案件が唐突に現れたのである。 当社のエンジニアは皆狼狽した。 Vimで培われた爆速タイピングは、es

                                                                            Vim から VSCode に移行して分かったたった1つの真実
                                                                          • MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;

                                                                            タイムライン的なものをSELECTだけで実装しようと思った時に、Nested LoopなクエリでUsing temporary; Using filesortが出るようなそこそこ遅いクエリになる。その時にMySQLがインデックスをどう辿っているかを知りたかったので調べてみた。MySQLバージョンは8.0.33。 あまり自信はないので、もし間違った話をしていたら教えて欲しい。 どのようなクエリを検証するか タイムラインの取得ができるような、ユーザー・フォロー関係・投稿の3つのテーブルを作る。スキーマは次の通り。 CREATE TABLE users ( id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL ); CREATE TABLE follows ( id INTEGER PRIMARY KEY AUTO_I

                                                                              MySQLでNested Loopなクエリはインデックスをどう辿っているか - $shibayu36->blog;
                                                                            • E2Eテストを Playwright で作り直して開発プロセスに組み込む話 - SmartHR Tech Blog

                                                                              こんにちは。SmartHR プロダクトエンジニアの sasaki (@s_sasaki_0529) です。 今回は、私が開発に携わっている届出書類機能における E2E テストを、Capybara + Selenium の構成から Playwright に移行し、開発プロセスに組み込んだお話をします。 扱う話題 E2Eテスト基盤を移行する具体的な背景と理由 移行における提案から、合意形成までの流れ 移行後の開発プロセスがどう変わったか 扱わない話題 Playwright など、記事内で扱う技術要素自体の詳細説明 移行作業自体の詳細 テストコードの設計・実装に関する具体的なテクニック なお、本記事では便宜上、移行前の E2E テストを「旧テスト基盤」移行後を「新テスト基盤」と呼称します。 届出書類機能について E2Eテストに限らず、テストというのはプロダクトの特性によって最適な手法は大きく変わ

                                                                                E2Eテストを Playwright で作り直して開発プロセスに組み込む話 - SmartHR Tech Blog
                                                                              • ポスト資本主義におけるソフトウェアエンジニア

                                                                                1. はじめに 企業に務めるソフトウェアエンジニアにとって、生産性向上というフレーズは聞かない日がないほど身近なものです。私自身も日々の仕事が、チームや組織の生産性向上に寄与するかどうか、意識しながら働いています。そもそもソフトウェアエンジニアという仕事は、人を機械に置き換えるという性質上、生産性向上とは切っても切り離せないという関係性を超え、生産性を向上させる営みそのものと言っても差し支えありません。 では私たちソフトウェアエンジニアのDNAである生産性向上の出自は何処かと探っていくと、どうやら資本主義と共に拡大してきたイデオロギーであることが分かります。資本主義は無限の成長を志向するエンジンを内蔵しており、現在先進国に住まう私たちの生活の豊かさは疑いなく資本主義の恩恵に依拠しています。その一方で、200年以上稼働し続けるこの資本主義というシステムについて、昨今多くの学者と有識者がその綻

                                                                                  ポスト資本主義におけるソフトウェアエンジニア
                                                                                • Railsを高速かつセキュアにするHTTP/2プロキシ「Thruster」、37signalsがオープンソースとして公開

                                                                                  RailsのためのHTTP/2プロキシ「Thruster」がオープンソースで公開された。ほとんど設定不要で、導入によりRailsアプリをより高速かつセキュアにする。 Ruby on Rails(以下、Rails)の開発元である37signalsは、より高速でセキュアなRailsアプリケーションを実現するHTTP/2プロキシ「Thruster」をオープンソースとして公開しました。 We've released Thruster as open source! It's a tiny, no-config HTTP/2 enabling, asset caching, X-Sendfile sending proxy for Rails' default web server Puma. One of the secret sauce elements of ONCE, now availab

                                                                                    Railsを高速かつセキュアにするHTTP/2プロキシ「Thruster」、37signalsがオープンソースとして公開