並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 4974件

新着順 人気順

Railsの検索結果241 - 280 件 / 4974件

  • 猛烈に成長する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)
      • ペパボのことと、転職のふりかえり|Uchio Kondo

        今月のゴールデンウィークの終了とともに、GMOペパボを退職する。 で、誰?…と言われると思うので簡単な自己紹介をすると、私 @udzura はインフラ周りを中心に色々とやっているWeb・インターネット系エンジニアで、社内SEやECサービスやオンラインゲーム開発など色々やってきた中、2013年に株式会社paperboy.co.jp(現GMOペパボ)に入社、同年福岡移住をしてきた。 また、RubyKaigiやCloudNative Daysでの登壇、RubyKaigi 2019 のローカルオーガナイザなどコミュニティ活動もそれなりにしてきている、という経歴だ。あとは検索すれば大体出てくるということで…。 RubyKaigi 2019 フィナーレにて。 ペパボのブログから画像引用ペパボには、8年半ほど在籍し、以下のようなサービスに携わった。 minne Sqale(R.I.P in 2017/0

          ペパボのことと、転職のふりかえり|Uchio Kondo
        • 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のプログラミング日記
            • ハリコフのRubyistからRubyコミュニティへのお願い 2022-03-03-WAR.md · GitHub

              2022-03-03-WAR.md https://zverok.space/blog/2022-03-03-WAR.html 翻訳 ハリコフのRubyistからRubyコミュニティへのお願い 2022年3月3日 やぁ、僕はVictor Shepelev。ウクライナのハリコフに住んでいて、TwitterやGitHubでは@zverokというIDで活動している。 僕がRubyを書き始めたのは2003年からで、いくつかのライブラリやRuby Changelogのメンテナだ。国際的なカンファレンスや/r/rubyなんかで君たちと会ったことがあるかも知れない。今年、僕はRubyコミッターに申請して、嬉しいことに承認された。僕が取り組んでいるのは(いくつかの小さな機能追加と共に)Rubyドキュメントの改善だ。僕のRubyに関する作業の一覧はここで確認できる。 東ヨーロッパ出身であることや、短気な性分

                ハリコフのRubyistからRubyコミュニティへのお願い 2022-03-03-WAR.md · GitHub
              • 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不要のフロントエンド開発環境がデフォルトに
                    • 『Tailwind CSS実践入門』 出版記念基調講演

                      「Tailwind CSS実践入門」出版記念イベントの基調講演で使用したスライドです。 イベント詳細 → https://pixiv.connpass.com/event/310073/ 書籍 → https://gihyo.jp/book/2024/978-4-297-13943-8

                        『Tailwind CSS実践入門』 出版記念基調講演
                      • DB外の副作用をトランザクションから分離しよう / Isolate out-of-DB side effects from transactions

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

                          DB外の副作用をトランザクションから分離しよう / Isolate out-of-DB side effects from transactions
                        • 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は死んだ」 まつもとゆきひろ氏が考える、プログラミング言語の未来
                            • 安全なウェブサイトの作り方~失敗例~ - 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アプリケーションに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
                                  • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

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

                                      Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
                                    • Microsoftが開発し一時期は絶大な人気を誇った「Visual Basic」の誕生秘話

                                      Microsoftが開発したプログラミング言語「Visual Basic」は一時期は人気の頂点に達していましたが、記事作成時点では目立たない存在になっています。そんなVisual Basicの興亡について、コーディング補助アプリを開発するRetoolが「Visual Basicの父」として知られるアラン・クーパー氏の体験談を交えながら解説しています。 Something Pretty Right: A History of Visual Basic | Retool https://retool.com/visual-basic/ Visual Basicは、クーパー氏が開発したプログラミング言語「Ruby」をMicrosoftが買取る形で始まった言語です。クーパー氏によると、Rubyの前身となる「Tripod」の開発は1985年に始まったとのこと。当時のWindowsはグラフィカルユーザ

                                        Microsoftが開発し一時期は絶大な人気を誇った「Visual Basic」の誕生秘話
                                      • タイミーの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に型宣言を入れない理由
                                          • 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)
                                              • 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 を 本番環境で使ってみた感想
                                                    • 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の憂鬱
                                                      • 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
                                                        • [翻訳] 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
                                                            • JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話

                                                              Ruby on Rails を用いたシステム上で入力フォームを実現する際、Rails が提供しているフォームヘルパーを利用した実装や、React や Vue によるコンポーネントの自前での実装が一般的に行われます。 ここで、職業で学生を選択した場合は学校名と学年、会社員を選択した場合は役職と年収を入力する...といった、条件分岐が大量に生まれる入力フォームを想像しましょう。 一般的な実装手法では、あるフォームの入力値が他のフォームに影響を与えるような、複雑で動的な入力フォームの実現をするために、大量の if 文を書く必要があります。 また、ユーザから送信された入力値の正しさをバリデーションするために、バックエンド側に同様の if 文を大量に書く必要が出てきます。 そこで私は、複雑な仕様の入力フォームの実装のための JSON Schema 活用方法および事例について紹介します。入力フォームの

                                                                JSON Schema で複雑な仕様の入力フォームの実装に立ち向かった話
                                                              • 「ITフリーランスエンジニアの平均月額単価ランキング」言語別1位は「Ruby」で88.3万円、パーソルキャリアが発表

                                                                パーソルキャリアのIT・テクノロジー領域特化型エージェントサービス「HiPro Tech(ハイプロ テック)」は、2022年1年間に「HiPro Tech」が受領した案件の月額単価平均を算出した「ITフリーランスエンジニアの平均月額単価ランキング」を3月28日に発表した。 職種別の単価ランキングを見ると、「DXコンサルタント」が99.1万円と全職種の中で最も高く、次いで「ITコンサルタント」(95.5万円)となった。さらに「PM/PMO」(91.3万円)も4位にランクインし、DX戦略の推進に関わるポジションで単価が高いことがわかった。 3位は、「プロダクトオーナー/プロダクトマネジャー」(92.6万円)となった。また、「データサイエンティスト」(5位、90.2万円)や「機械学習・AIエンジニア」(7位、87.5万円)も需要の高さに比例して上位にランクインしている。 WEB系サービスの開発経

                                                                  「ITフリーランスエンジニアの平均月額単価ランキング」言語別1位は「Ruby」で88.3万円、パーソルキャリアが発表
                                                                • 「Ruby」開発者・まつもとゆきひろが語る、「Winny」事件の理不尽な逮捕劇「プログラミングを奪われることほど残酷なことはない」|最新の映画ニュースならMOVIE WALKER PRESS

                                                                  映画TOP 映画ニュース・読みもの Winny 「Ruby」開発者・まつもとゆきひろが語る、「Winny」事件の理不尽な逮捕劇「プログラミングを奪われることほど残酷なことはない」 インタビュー 2023/3/20 20:30 「Ruby」開発者・まつもとゆきひろが語る、「Winny」事件の理不尽な逮捕劇「プログラミングを奪われることほど残酷なことはない」 2002年、「Winny」と呼ばれるファイルを簡単に共有できるソフトが開発され、試用版が「2ちゃんねる」に公開される。本人同士が直接できる革新的なシステムは瞬く間にシェアを伸ばして注目を集めるが、映画やゲーム、音楽などが違法にアップロードされる事態が続出し、深刻な社会問題へ発展。著作権侵害による逮捕者もが現れるなか、開発者である金子勇も著作権法違反幇助の容疑で逮捕されてしまう。 この事件を映画化したのが『Winny』(公開中)。『ぜんぶ、

                                                                    「Ruby」開発者・まつもとゆきひろが語る、「Winny」事件の理不尽な逮捕劇「プログラミングを奪われることほど残酷なことはない」|最新の映画ニュースならMOVIE WALKER PRESS
                                                                  • 「Ruby」環境がWebブラウザー上で動作する時代に! サーバーを介さずに処理が完結/「Ruby」言語のWebAssembly/WASIポートを使ってファイルはたった51行のHTMLだけ【やじうまの杜】

                                                                      「Ruby」環境がWebブラウザー上で動作する時代に! サーバーを介さずに処理が完結/「Ruby」言語のWebAssembly/WASIポートを使ってファイルはたった51行のHTMLだけ【やじうまの杜】
                                                                    • フルリモートでエンジニアを採用中の企業をまとめたカオスマップが公開 | Ledge.ai

                                                                      株式会社セルバは3月2日、フルリモートでのエンジニア採用を2月時点で実施している企業をまとめた「2021年2月版|フルリモート企業|言語一覧カオスマップ」を発表した。 本カオスマップで取り扱うのは「IT・ソフトウェア・メディア」「金融」「小売・卸」「建設・不動産」「人材」「生活関連」「医療・ヘルスケア」「その他」の8業界。 ポジションは「フロントエンジニア」「サーバーサイドエンジニア」「インフラエンジニア」の3職種。言語は「Python」「JavaScript」「Ruby」「PHP」「swift」「react」「vue」「AWS」の8つを取り扱う。 新型コロナウイルス感染症(COVID‑19)感染拡大の影響で、2020年以降、フルリモート導入企業がますます増加していると考えられる。一方で、セルバによると、エンジニアにとって選択肢が増えたものの、「結局、この言語で募集している企業はどこなのか

                                                                        フルリモートでエンジニアを採用中の企業をまとめたカオスマップが公開 | Ledge.ai
                                                                      • どうして Julia を作ったか

                                                                        プログラミング言語「Julia」開発者さんの文章がとても好きなので、雰囲気重視で訳しました。結構意訳です。原典:https://julialang.org/blog/2012/02/why-we-created-julia/ =================================================「どうして Julia を作ったか」 それは、僕らが欲張りだからだ。 Matlab はめっちゃ使う。僕らの中にはLispの天才もいるし、PythonやRuby のすげー奴、Perl を巧みに使いこなす奴もいる。毛も生えない子供の頃からMathematica で遊んだ奴もいる。いまだにツルツルな奴だって仲間だ。Rではアホみたいにたくさんグラフを書いた。C言語からは、いつだって冒険の匂いがする。 ぜんぶ、大好きだ。面白いし、いろいろなことができる。何かをしたいと思った時--科

                                                                        • 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
                                                                          • システム開発を支えるメタプログラミングの技術 / kaigionrails-2022

                                                                            Kaigi on Rails 2022で発表した「システム開発を支えるメタプログラミングの技術」のスライドです https://kaigionrails.org/2022/talks/hogucc/

                                                                              システム開発を支えるメタプログラミングの技術 / kaigionrails-2022
                                                                            • 個人的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で速いコードを書く方法
                                                                                • Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog

                                                                                  Apple Silicon の時代が来る Repro でサーバーサイドの開発をお手伝いしているうなすけと申します。 2021年10月19日に行われた Apple の新製品発表において、M1 チップを搭載した MacBook Pro が発表されました。この発表により、Intel チップを搭載した MacBook はラインナップから消え、今後は M1 チップ上で開発する機会が増えることは確実です。 ところで、私達の開発環境は M1 に対応しているのでしょうか? 社内の開発メンバーの大半は MacBook を使用しているので、もし対応していない場合、なるべく早く対応させないと新しい社内端末を購入できなかったりするので、結構影響が大きいです。 またインターネット上で、M1 Mac を使用している人々からの「全然発熱しない」だとか「ファンが回ることがない」とか「電池の持ちがすごい」とかの良い評判を目

                                                                                    Repro のサーバーサイド開発環境を M1 Mac に対応させるまでの道のり - Repro Tech Blog

                                                                                  新着記事