→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
先日、プログラミング学習を行うとのことであれから約1週間が経過しました。勉強場所は自宅、そして学習内容はHTML、CSS、Ruby(ruby on rails)である。 約1週間でrailsで投稿一覧、新規投稿ページと簡単なページを作成。railsというフレームワークのお陰ですんなりとサーバサイドの知識をかする程度、把握することができた。 1週間での勉強時間は約32時間(土日8時間、平日3時間)時間だけいえばただダラダラ過ごしていたわけでもなく勉強時間40分、休憩10分としっかりとサイクルを作った取り組みを行っているその中でも一番役に立ったのは以下のツールである。 わびタイム「わびタイム」をM…
実現したい内容 Active Storage storage.yml ローカルDiskサービスをdevelopment環境で利用する has_many_attached ファイルの削除 画像を変換 システムテスト中に保存したファイルを破棄 複数枚の画像を一括でアップロード Siteモデルにhas_many_attachedマクロを設定 validatorの設定 ビューの設定 アップロードした画像を個別に削除 ルートの作成 コントローラーの作成 Swiperの導入 NPMから導入 Swiperのフロント周り JS Autoplay 参考 実現したい内容 ブログのトップ画像を複数の画像が一定間隔で…
gem 'gretel' このgemを使って、パンくずリストを作っていこうと思います。 パンくずリストってなんぞや?? ホームページのすみっこで見られる、ページの階層ですね。Webサイト内で、どの位置にいるのかがわかる機能です。 「ユーザー」を押すとユーザーページへ、「ホーム」を押すと最初のページへ飛ぶことができます。(ハンバーガーメニューとかパンくずリストとか、プログラミングの世界は、遊び心があって良いですよね。) gem 'gretel'を使う こちらのGithubのREADMEをご覧ください↓↓ github.com gem 'gretel'をbundle installしたあと、 $ …
プロフィールを作るかのー モデルの作成じゃ! profileで名前と目的と画像と学習歴! rails g model profile rails db:migrate 間違えたら rails db:rollback あとはモデルでのアソシエーションを組む バリデーションも忘れずに! コントローラーでどこに 次にルーティング
ローカル開発中のRailsアプリに外部からのリクエストを届かせる必要があるとき、Ngrokは便利です。 たとえば 開発中のアプリなどを実機で動かしてて、ローカルのRails APIサーバーと通信したい 外部のサービスからのリクエストを受け取る必要がある といったときです。 通常、Railsでは、url_for のホスト部などはHTTPリクエストのヘッダー情報から取得して組み立ててくれるのですが、たとえば graphql-ruby のフィールドなど、コントローラー以外で Rails.application.routes.url_helpers.url_for(user) を使った場合など、 de…
業務でRailsアプリを作る場合、処理負荷的にも転送量的にも重い画像等は、CDNから配信するようにすることは、最早当たり前といって良いと思います。 最近は CDK によって簡単にCloudFront Distribution設定を維持管理でき、さらに ActiveStorage 等、Rails側の機能改善もあって以前に比べて、簡単に、レールから外れない範囲で書けるようになりました。 今回は以下のような構成で、CloudFront 経由での配信によるエッジキャッシュの利用を実現する方法について紹介します。 構成イメージ ActiveStorageで添付したファイルやオンザフライ変換( varia…
Rails 6.1 の新機能 rails_storage_proxy_url を使うと、ActiveStorage で添付したファイルへのリンクが署名付きURLへのリダイレクトにならず、RailsアプリのURLのままファイルをダウンロードできるようになります。 どういうこと? ActiveStorageはこれまで、S3をバックエンドとして使った場合、S3への署名付きURL=タイムスタンプなどが付与されたURLへのリダイレクトを行ってきました。 しかしこれは扱いづらいことも少なくなく、悩みの種の1つでした。 Rails 6.1 でこの問題に対する回答が(ようやく)公式に用意されたことになります。
こんにちは。 本記事は、プログラミング言語「Ruby」のフレームワーク「Rails」でよく利用するメソッド、「before_action」について解説致します。 【目次】 例題 解説 補足 まとめ 例題 before_actionメソッドを使った例として、次のコードをみてください。 ```Rails(Ruby) 1 class ApplicationController < ActionController::Base2 before_action :configure_permitted_parameters , if: :devise_controller?34 def configure…
副題:CircleCIでdocker-composeを使うのをやめた。 1年前くらいには、CircleCIでdocker-composeを動かす方法についての記事を書いてた。 patorash.hatenablog.com しかし、これが遅い。まぁ自分のやり方が悪いというのはあったのだけれど。ライブラリのキャッシュを1コンテナでやってから、次のジョブで複数コンテナに配布するようにしたほうが無駄がなくていいかなと思って、そうしていたのだけれど、docker-volume内にあるからキャッシュするためには一旦取り出さなければならないし、キャッシュを反映するにはdocker-volume内にインポー…
独習Ruby on Rails 現場で使える Ruby on Rails 5速習実践ガイド と続けて読んだので、そのままパーフェクトRuby on Rails増補改訂版を2章〜3章読んだ。 パーフェクト Ruby on Rails 【増補改訂版】作者:すがわら まさのり,前島 真一,橋立 友宏,五十嵐 邦明,後藤 優一発売日: 2020/07/25メディア: Kindle版 Rails本2冊読んだばかりなので、知ってる箇所を飛ばして、知らないところについてまとめた。 2章 ActiveRecord::Relation ActiveRecord::Relationは内部でどのようなSQLを発行す…
実現したい内容 ER図 Embedモデルにenumを設定する embed_typeのプルダウン選択 Embed用のURLに変換 Twitterの埋め込み表示 FontAwesomeのfaviconを指定 実現したい内容 ブログアプリに投稿する記事にメディア(YoutubeとTwitter)を埋め込めるようにする 埋め込めるメディアとしてYouTubeかTwitterをプルダウン選択出来る Twitterを選択し、適切なURLが入力されたとき、ツイートが表示されるようにする Youtubeを選択し、適切なURLが入力されたとき、動画が表示されるようにする 埋め込まれた記事ブロックのヘッダーアイコ…
実装したい内容 アクティブストレージ 画像の表示サイズの設定 Imageカラムの追加 バリデーションの追加 フロント周りの修正 controllerの修正 画像の位置の設定 image_alignカラムの追加 enumの設定 フロント周りの修正 controllerの修正 実装したい内容 画像サイズ(横幅)を指定できるようにし、指定サイズで表示させる 画像の横幅は100px〜700pxにする 横幅が100px以下または700px以上ならば、バリデーションエラーを発生させる 画像の表示位置を「左寄せ」「中央」「右寄せ」から選択出来るようにし、指定の位置で表示させる アクティブストレージ 画像ファ…
今日学んだこと 2021/01/16 学習項目 MVC応用 学習内容 View railsのコントローラーでの処理後、レスポンスでHTMLが表示されるのはAction Viewという仕組みを搭載しているから。 Action Viewとは、ざっくりいうとビューの機能がまとまっているもの これによってビューファイルが見れるようになっている。 注意としては、ビューファイルがそのまま表示されているわけではなく、ビューファイルの内容がAction Viewにまとめられてブラウザに返却されているということ。 また、コントローラーで取得したインスタンス変数はビューファイルでそのまま使えているように見えている…
インストール Gem Policies Controller ControllerとPolicyの挙動 authorizeはchainできる view側の設定 scope NoAuthorizedError rescue_fromメソッド インストール Gem gem "pundit" Policies Punditでは、app/policies配下に×××_policy.rbを作成し、管理する。 docに掲載されている例はこのようになっている。 class PostPolicy attr_reader :user, :post def initialize(user, post) @user…
はじめに はじめまして。株式会社スタメンでエンジニアをしております、永井(@0906koki)です。 以前の記事では、筋トレを週5でしていると書いていましたが、今は週2に減らして体をメンテナンスしています。 今回の記事ではRailsとWebpack、そしてReactを使って、webpack_dev_serverによるHot Module Replacement(以下 HMR)を実装する方法について書きたいと思います。 軽くwebpack_dev_serverとHMRの説明をすると、webpack_dev_serverとはWebpackを利用した開発環境向けWebサーバーで、Webpack管理内…
2021/01/23分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activerecord/CHANGELOG.md Connection specification now passes the "url" key as a configuration for the adapter if the "url" protocol is "jdbc", "http", or "https". Previously only urls with the "jdbc" prefix were passed to the Active Record Adapter, oth…
1/19(火)JAWS-UG 初心者支部#35 LT大会!! に登壇してきました。遅くなりましたが、レポートを書きます。 目次 目次 イベントページ 自分の登壇について 登壇資料 登壇ふりかえり 良かったこと 改善したいこと わかったこと 他の登壇者のセッション AWS AthenaとFluentdでログ集約基盤構築 ユータさん 組織がAWSを使い始めるときに考えたい、アカウントとユーザーの管理 sumiさん IAMの「あ」の話 佐々木 拓郎さん 会社AWS環境が無法地帯なのそろそろなんとかする話 けびん@札幌さん AWS Lambdaと非同期と私 kyokucho1989さん 「やってみなは…
私が小さなチーム、大きな仕事 を初めて聞いたのは、Ruby On Railsを表現するのに使われた言葉でした。 この本は、Ruby On Railsを生んだDHHことデイヴィット・ハイネマイヤー・ハンソンの本ですが、Ruby On Railsは出てきません。 ビジネスの本です。 どんなビジネスをすればいいのかの本なのです。 顧客の声 基本的にノーと言おうと。 あなたのゴールはあなたにとって正しいものであり続けること。誰よりもあなたが信じること。 自分はこれが気に入っているから、あなたも気に入ると思うよ、と言えること。 要望の記載されたスプレッドシートも不要です。本当に欲しいことは何度でも顧客が…
Hotwire https://hotwire.dev/ Turboを中心としたウェブアプリケーションのアーキテクチャの要素技術やコンセプトをPRするための名称 Hotwireというライブラリがあるわけではない 役割としてはMicro FrontendsとかReactのlearn once, write anywhereなどに似ている アプリケーション実装言語非依存だけど現状Railsアプリケーションしか実用できる基盤がない Hotwireの思想 アプリケーション開発者の生産性を上げることを目的にしていること サーバーサイド言語でフロントエンドを実装したいアレではなかった プログレッシブ(段階…
【今日の振り返り】 【時間】私の行動の前に時間は平伏すが、結局時間でしか計測出来ない ・7h:睡眠 ・1h:朝運動(縄跳び+軽く走る:1キロ+公園美化) ・2h:ブログ+思考日誌+Twitter+Facebook+0秒思考 ・0.5h:Railsアルゴリズム ・7.5h:AWS試験対策(模擬試験:4.0h、語句解説理解:3.5h) ・6h:その他(家事) 【行動】今日はどんな遊びをしたのか? 試験対策をすすめる。すっごく関係ないけど、休憩時間にバービーを取り入れる。 学習をすすめていけば試験対策の問題も加速度的に、理解が増えるて時間が短縮していく かと当初は思っていたものの、結局終盤までも問題…
Emacsの使い方を学ぶために、Emacsの解説本を読んでみたいと思います。 [改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus) 作者:大竹 智也 発売日: 2017/09/22 メディア: 単行本(ソフトカバー) 目次 出版社情報 著者紹介 書評 目次 本書に寄せて はじめに 改訂にあたって 本書の構成 サンプルコードのダウンロード Emacs Lispの構文 第1章:Emacsの世界へようこそ 1.1 多くの人に愛される歴史あるエディタ ユーザーが自由に機能を変更・追加できる 使いこなせば強力な味方になる 本当は難しくないEma…
「試して学ぶ Dockerコンテナ開発」 という本で少しDockerの基本を勉強することにした。パラっと見た感じしっかりコードが書いてあって読みやすそうだったので。 こちらの本、amazonのレビューに書いてある通り、全くの初心者向けではなく、ある程度Dockerを触ったことがある人向け。かといって発展的かといえばおそらくそんなこともない。 docker初心者向けではない 初心者向けではないという点はわかりやすい。dockerの基本コマンドなどの初歩的解説が1章に辞書的にずらーっと書かれている。その後に丁寧な解説がところどころ(突然)あるが、網羅的でもなく、出てきたら気分で補足しているんじゃな…
ImageMagickのインストール ターミナル % brew install imagemagick Gemファイルの一番下に gem 'mini_magick' gem 'image_processing', '~> 1.2' ターミナルでbundle install Active Storageをインストール ターミナル % rails active_storage:install % rails db:migrate 各レコードとファイルを1対1の関係で紐づけるメソッドを記入 class モデル < ApplicationRecord has_one_attached :ファイル名 e…
はじめに・環境 このエラーについては様々な記事を読んだが、どれも自分に当てはまらないものが多かった。 libv8などのversionによっても解決方法が変わるため、あくまで参考程度に読んでいただくと良いかもしれません。 明確な原因は掴めておらず、調査中です。 対象 Version OS macOS Catalina version10.15.7 libv8 3.16.14.19 therubyracer 0.12.3 rails 5.2.3 ruby 2.6.5 bundler 2.0.2 therubyracerとは therubyracerは、Javascriptの実行エンジンであるv8を…
*再掲載 サブウェイの衰退 SEOの新たな重要指標 機械学習のノーコードツール クラスやメソッド・継承について 今週のPodcast 今週見つけた良メディア・サービス 個人的ネットサーフィン 【開発プロセス】個人開発の流れ - komoto / エンジニアブログはじめに この記事では個人でアプリ開発に挑戦する方に向けて、開発プロセスのV字モデルに沿って各フェーズ(要件定義、設計などtkmt-hrkz.hatenablog.com 今週よりノーコードを本格的に学び始め、オリジナルプロダクト作成のメドが立ってきたので開発プロセスを調べてたときに見つけた記事。いくつか個人開発の流れを説明してくれてい…
こんにちは。たかあきです。 現場Railsで勉強していると名前空間やモジュールといった難しい(?)言葉が出てくる。 モジュールはクラスと違い、継承ができないといった特徴があるが、名前空間ってなんぞや...となったのでRailsのルーティングにおけるモジュールと名前空間についてまとめる。 モジュールについて まずモジュールの使い方をまとめてみる。 module Animal def self.dog '犬です' end def cat '猫です' end module_function :cat end puts Animal.dog #=>犬です puts Animal.cat #=>猫です …
何回か使用しているにも関わらず、いまいち使い慣れないので備忘録として記録。 gem fakerとは ダミーデータを作れるジェム。 githubに使えるFaker::の一覧があるため、使いたいものをクリックすると詳細がのっている。ワンピースやポケモンのデータもあっておもしろいので一度rails consoleで使ってみるといいかも。 Faker::JapaneseMedia::OnePiece Faker::Games::Pokemon 実装手順 Gemfileにて、gem ‘faker’記入後bundle install。 db/seeds.rbにて、記述(今回はUserのダミーデータ) db…
こんにちは!kossyです! さて、今回はRailsでvalidationを行う際のwith_optionsの使い方について、ブログに残してみたいと思います! 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina Documentを読んで使い方を学ぶ まずはドキュメントを読んでみましょう。 5.3 条件付きバリデーションをグループ化する 1つの条件を複数のバリデーションで共用できると便利なことがあります。これはwith_optionsを使うことで簡単に実現できます。 class User < ApplicationRecord with_options if: …
GraphQL Rubyで書かれたサーバーで、edges.nodeを使って問い合わせるよりもnodesを使って問い合わせたほうが速い、しかもそこそこの差が出る、ということを知った。 require 'graphql' module Types class PostType < GraphQL::Schema::Object description "A blog post" field :id, ID, null: false field :title, String, null: false end end Post = Struct.new(:id, :title, keyword_ini…