→Ruby on Rails RubyによるWebアプリケーションフレームワーク RoR
Agile Web Development with Rails
10分で作るRailsアプリ for Windows http://masuidrive.jp/rails/
Ruby on Rails公式サイトの採用サイト紹介ページ http://wiki.rubyonrails.org/rails/pages/RealWorldUsage
こんにちは。サーバーサイドエンジニアの山田です。 Rubyに型システムが入ってからしらばく経ちましたが、弊社のRailsプロジェクトの一部でもRBSを導入しました。 そのことについて昨年行われたKaigi on Rails 2022にて「RBSとSteepで始める型のあるRails開発とその運用」というタイトルで発表しました。 この記事では発表の内容についてあらためて整理した内容やその後の状況について紹介します。 記事の目的 RBSを導入した背景 対象となるRailsアプリケーション どうやって進めたか RBSの分類 ディレクトリ構成 自作クラス・モジュールなどのRBS GemのRBS(RBS…
2023年1月27日、「ActiveDecoratorを読む」の勉強会に参加しました。 rubygems-code-reading.connpass.com 結果、最高だったので感想を書いていきます。 Gem製作者本人からお話が聞けた 今回の題材はタイトル通りactive_decoratorだったわけですが、なんと製作者の松田明さんから直接お話を聞くことができました。 そもそもなぜこのgemを作ったか(ActionViewHelperの手触り感がちょっと、、、の話)という製作者がスピーカーだからこその話から聞けたのは貴重でした。 Rubyパワー全開のgem 勉強会では、主にinitial im…
仕事ではコストを、プライベートでは悪玉コレステロール値を減らしたい、CTO室の岩本 (iwamot) です。 コスト削減を目的に、先日、あるRails 6アプリの基盤をIntel x86ベースのFargateからGraviton2ベースのFargateに替えました。 対応したことを簡単にまとめると、下記のようになります。 CodeBuildでARM用Dockerイメージをビルドできるようにした CodeBuildビルド環境をLINUX_CONTAINERからARM_CONTAINERに替えた ExecJSのJavaScriptランタイムをmini_racerからNode.jsに替えた Noko…
Docker Composeいろいろ Dockerfileもようやく書き終えたので、次はDocker Composeで。--secretフラグを追加したのでその対応が必要。その対応は以下のサイトに書かれていた。 zenn.dev 公式ドキュメントを調べる。 docs.docker.jp secretsを指定すれば良いっぽい。 また、volumesを指定した時にDockerfile内でbundle installをしているのにgemがないと怒られる。毎回ハマってあまり納得できていないのだが、よく引用されるのが以下のQiitaの記事。 qiita.com 結局はdocker compose run…
bundle exec と binstub 毎回忘れて、どんな意味だっけ?となるのでここでメモ。 qiita.com Railsの場合、binディレクトリ以下にコマンドを作っておいて、bin/hogehogeで実行するようにすると楽な気がする。そのコマンドを作るのは、 $ bundle binstubs yard というようにbundle binstubsを実行するとOK。上記はYARDのコマンド作成の例。
前フリ 長らく演習で使ってきたHerokuの無料プランでpostgresqlが使えなったためRender.comに乗り換えました. そのRender.comにデプロイできない(デプロイはできるけどサイトにアクセスするとFATALエラーになる),という現象を報告してきたチームがありました. Render.comにデプロイするまでの手順書を作成して学生さんに提供していたので,手順抜けじゃないかと疑ったのですが,実際にやってみるとわからない... psqlでRender.comのpostgresqlにアクセスしてみると,確かに1つテーブルがない状況であることがわかりました. rails db:mig…
DX事業本部の木村です。 Socialpittでは2022年10月にInstagramのフィード・リール予約投稿機能がリリースされました。 今回はそのシステムのインフラ、サーバーサイドを含むシステム全体について紹介いたします。 予約投稿について Social Pittの構成 Social Pitt の紹介とサービス支える技術 で紹介した通り、Social PittはCoreと各Serviceに分かれています。予約投稿機能は Socail Pittアカウント運用 の機能で、今回紹介する予約投稿のシステム自体は全てCoreにおける話になります。 Social Pitt アカウント運用では以前からT…
Railsにてエラーが発生したフォームに付与するHTMLタグのカスタマイズ 毎回検索している気がする。ドキュメントはRailsガイドにある。 railsguides.jp こんな感じでapplication.rbに記述する。 config.action_view.field_error_proc = Proc.new { |html_tag, instance| content_tag :span, html_tag, class: "my_field_with_errors" }
学んだこと GradleにおけるFat jarの作り方 Gradleにおいて、./gradlew buildでjarファイルを作っても依存ライブラリは含まれていない。含まれているjarはFat jarと呼ばれる。このFat jarを作るには、Gradle Shadow Pluginというものを使うと良いらしい。 ShadowのGetting Startedが参考になる。 RailsにおけるLogのJSON化 最初はLogrageでも使えばいいかなと思っていたんだけれども、Rails 7への対応が明記されていない。 何かないかなと思っていたら、Semantic Loggerというものがあったので…
Railsアプリをチーム開発する授業を担当しています。 今月末に最終発表があるのですが、最終的にコード(GitHub)とデプロイしたアプリ(Render.com)を設計書の他に提出してもらうことになっています。 デプロイ先にはこれまでHerokuを利用させていただいていたのですが無料プランではposgresqlが利用できなくなったためRender.comに移行したところでした。 今日、年始初出勤で雑務をしていたら、この科目の受講生から以下の問い合わせがありました。 Renderでチーム作成をしようとしたところ、有料プラン(teamプラン)にしないとできないと書かれていました。individua…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (19,706件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
2023/02/02分のコミットです。 CHANGELOGへの追加はありませんでした。 Merge pull request #47211 from jonathanhefner/command-help-bare-namespace railties/lib/rails/command.rbの修正です。 bin/rails credentials -hのように、全てのコマンドで-hによるhelpの表示が出来るよう修正しています。 Use infinitive form verb for all task descriptions 全てのコマンド、rake taskのdescriptionでi…
AWSについて学習中。Railsアプリをあげようと思ったらエラーが出てややハマったのと、同様のエラー記事がなかったので残しておく。 Apple M1 ruby 3.1.3 Rails 7.0.4.1 gemからmysql2をインストールしようとすると以下のようなエラーが出た。 $gem install mysql2 Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. current d…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (19,697件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
2023/02/01分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activerecord/CHANGELOG.md ActiveRecord::QueryLogs better handle broken encoding. Support composite foreign keys in associations Active Recordの修正です。 associationのforeign keyにcomposite foreign keyを指定出来るよう修正しています。この対応により、Comment.belongs_to :blog_post, forei…
概要 フィヨルドブートキャンプの卒業課題である自作サービスをFly.ioにデプロイしたので手順をまとめました。 環境 MacOS Monterey 12.6 Ruby 3.1.2 Ruby on Rails 7.0.4 PostgreSQL 14.5 Fly.ioにした理由 当初、自作サービスのプラットフォームはHerokuを予定していましたが、2022.11.28に無料プランの提供を廃止するという発表があったため、別のプラットフォームも含めて検討しました。 Herokuのほか、Render、Railway、Fly.ioを検討対象にしていましたが、作成している自作サービスがHotwireを使用…
日本の祝日データの更新とファイル名の話 - ケンオールブログ これじゃないけど元旦バッチで取ってるのあるからヒヤッとした。 MinIO の AGPLv3 視点でのメモ これまでAGPLのソフトウェアを使うこと無かった。各パターンで解説されててわかりやすい。ここでいうリンクってどういう場合になるんだろ。 neverthrowと比較したoption-tについて - saneyuki_s log My new error... | blog.ojisan.io Result型を使うのには抵抗はないけど、TypeScriptだとどうしても例外機構の皮としてやる気持ち悪さはちょっと感じる。 個人やチーム…
mozaic.fm State of JS 2022 もうYarnはなるべく使わないようにしてたけどpnpm試していこうかな。 Svelteはいいぞ。 Remixもいいけど確かにやっぱReactじゃんなのそれはそうなんだよねぇ。 まぁ今のところだと現実的には要件によってNext.jsかRemixのどっちかを選ぶんだろうなってのはある。 そういやAstroでFable使えたりするんかな、今度やってみよ。 2022 JavaScript Rising Stars Denoは触ってみたけどBunはまだだったな。移行はまだ様子見状態。 エコシステムがもっと整わないとワークアラウンドの方が多そう。 逆に…
前書き. ハッシュのキー名は文字列の方がいいのかシンボルで描くのがいいのか新しい気づきがあったので記事に残します。 ruby学習者の参考になれば幸いです. 記事の対象者. rubyの文法少し知っている方. rails tutorial4章まで進んでいる方. rubyの文法を少し詳しく知りたい方. 目次. 1.ハッシュのキーとは. 2.ハッシュのキー名を文字列にする場合とシンボルにする場合の違い. 3.実際に処理速度を測ってみた. 4.コンピュータはどのようにデータを管理しているかについて. ハッシュのキーとは. ⇨バリューを取得するために必要なもの. ハッシュの書き方3つ. 1つ目キーに文字列…
booth.pm React の入門書として良さそうなので読んでみたらめっちゃ良かった。 3冊構成で、Webフロントエンドの歴史から JavaScript / TypeScript の入門、tsconfig / ESLint / Prettier などの設定方法、 React そのものの説明、状態管理フレームワークの解説などがされており、他言語から React を始める人向けの内容ということで自分がそのターゲットなのでとてもためになる内容だった。 特に② React基礎編 の 5-1-2. なぜ React ではデザインとロジックを混在させるのか が良かった。 Rails 的な考えだったり S…
複数のExcelファイルを、fzfやpeco等のfuzzy finderツールを用いて曖昧検索ができるgem「exfuz」をリリースしました! 目次 gemの概要 開発した経緯 使い方 初期画面 曖昧検索画面 使用技術とシステム構成 技術選定 苦労した点 直近で対応したいこと 最後に gemの概要 exfuzは、複数のExcelファイル内のテキスト(現バージョンではセルのテキストのみ)を対象に曖昧検索が出来るTUIツールです。曖昧検索にはfuzzy finderツール*1を利用します。 さらにwsl環境でgemを利用する場合、曖昧検索で選択した箇所へのジャンプが可能です。つまり、選択したセルを…
エンジニア・プログラマーの学習に約立つコンテンツのセール情報を集めました 1位 現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル ¥27,800 → ¥1,900 93%OFF!! ⭐ ⭐ ⭐ ⭐ (19,681件) 現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です! 2位 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 - ¥15,800 → ¥1,800 …
2023/01/31分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 actionpack/CHANGELOG.md Change ActionDispatch::Testing::TestResponse#parsed_body to parse HTML as a Nokogiri document Deprecate AbstractController::Helpers::MissingHelperError Update CHANGELOG actionpack/CHANGELOG.md、rails guideのRuby on Rails 7.1 Releas…
Rails における BASIC 認証について調べたのでその記録です。 シンプルなケース https://api.rubyonrails.org/v7.0.4.2/classes/ActionController/HttpAuthentication/Basic.html にあるように http_basic_authenticate_with を使うのが最もシンプルな実装でしょう。 class PostsController < ApplicationController http_basic_authenticate_with name: "dhh", password: "secret",…
仕事でソースレビューをしてもらった際に知った命名についてです 調べたら一般的な話でしたが、恥ずかしながら知りませんでした メソッド名はis_で始めず最後に?を付ける 結論は見出しの通りなのですが、 メソッド名はis_で始めず最後に?を付ける ということです 真偽値を返す時はisから始めるというのをどこかで知ってずっとそうしていたのですが、 (リーダブルコードでそんな記述を見た気がする...) Rubyの慣習では違ったみたいです 最後に レビューして指摘していただいが方には感謝です 一度RubyやRailsのスタイルガイド的なものを読んでみてこういった慣習を把握してみようと思います