Rails 6.0: Action Mailbox, Action Text, Multiple DBs, Parallel Testing, Webpacker by default, and Zeitwerk Dealing with incoming email, composing rich-text content, connecting to multiple databases, parallelizing test runs, integrating JavaScript with love, and rewriting the code loader. These are fundamental improvements to the fundamentals of working with the web and building fast and fresh appl
2019-03-27 sitemap-generatorを使ってs3にsitemapを設置する方法 結果的にhttps://shrimp-base.herokuapp.com/sitemapにアクセスするとsitemapにアクセスできる s3にアップロードしたsitemapの確認方法 アップロードしたsitemap.xml.gzファイルを解凍して中を確認する 初期のままなら、public/sitemaps/siemap.xml.gzファイルを解凍して中を確認する 1. gemを入れる 2. ルーティングの設定 3. robots.txtを設置 4. 設定ファイルを作成 5. 設定ファイルの内容を作成 1. gemを入れる gem 'sitemap_generator' bundle install 2. ルーティングの設定 config/routes.rb get 'sitemap', t
Resources What is Heroku? Help Customers Careers Events Podcasts Compliance Center Heroku is for Developers CTOs Team Collaboration Startups Enterprises Agencies Students See More Languages Node.js Ruby Java PHP Python Go Scala Clojure See More Latest News from the Heroku Blog Heroku Blog Find out what's new with Heroku on our blog. More news View all blog posts Setting up a database is a relative
JWT(Json Web Token)のRuby実装のruby-jwtのコードリーディングをしました。 JWTの仕様やその実装についてみまして。仕様がシンプルなので、本体のコード量は500行程度で読みやすかったです。 目的 1. JWTとは ヘッダー部 ペイロード部 電子署名部 注意点 2. ruby-jwtの簡単な使い方 3. JWTのエンコード処理の実装 4. JWTのデコード処理の実装 まとめ 参考 目的 JWTとは何か JWTのエンコード処理の実装 JWTのデコード処理の実装 1. JWTとは JWTとは、Json Web Tokenの略で、署名付きのトークン化されたJsonです。 署名がされているので中身の改ざんができないことやJSONであることから、APIでの認証の一時的なトークンとして利用されます。 JWTは、ヘッダー(署名アルゴリズム)、ペイロード(やりとりしたい内容)、署
Ruby on Rails Cheat Sheet¶ Introduction¶ This Cheatsheet intends to provide quick basic Ruby on Rails security tips for developers. It complements, augments or emphasizes points brought up in the Rails security guide from rails core. The Rails framework abstracts developers from quite a bit of tedious work and provides the means to accomplish complex tasks quickly and with ease. New developers, th
このマニュアルでは、Webアプリケーション全般におけるセキュリティの問題と、Railsでそれらの問題を回避する方法について説明します。 このガイドの内容: 本ガイドで取り上げられている問題に対するあらゆる対策 Railsにおけるセッションの概念、セッションに含めるべき項目、有名なセッション攻撃 Webサイトを開くだけで(CSRFによる)セキュリティ問題が発生するしくみ ファイルの取扱い上の注意、管理インターフェイスを提供する際の注意事項 ユーザーを正しく管理する(ログイン・ログアウトのしくみ、あらゆるレイヤにおける攻撃方法) 最も有名なインジェクション攻撃方法の解説 1 はじめに Webアプリケーションフレームワークは、Webアプリケーションの開発を支援するために作られました。フレームワークの中にはセキュリティを比較的高めやすいものもあります。実際のところ、あるフレームワークは他のよりも安
RailsでAPIサーバを作るときにフロントエンド・アプリケーションとの連携で出てきがちなCORSの設定。 毎回調べるのがめんどくさいので、セキュリティ要件的にもテキトウにするわけにはいかないこのCORSの「とりあえずこれだけやっておけばOK」な設定をRailsとJavaScriptの実装と一緒に説明します。 CORSとは? CORSは日本語ではHTTPアクセス制御のことで、簡単に言うと許可されていないウェブサイトからのアクセスをブロックすることで悪意のあるアクセスを防ぐための機構です。 rack-corsを導入 この記事では、デフォルトでRailsのアプリケーションの中に生成されるconfig/initializers/cors.rbというファイルに従って、rack-corsを使います。 まずはGemfileに以下を追記して、rack-corsをインストール
I recently needed to migrate an old Digits authentification to Firebase. But there’s not so much information available on the authentication service and the Firebase documentation can sometimes be confusing with all the services available. Anyway, with Firebase you can set up a secured authentication system in minutes, here’s the recipe. Firebase by Google gathers a lots of services from hosting,
RubyとRailsにおけるTime, Date, DateTime, TimeWithZoneの違いRubyRails 2021.2.11追記:DateTimeクラスは非推奨なクラスになりました DateTimeクラスは非推奨なクラスとなり、DateTimeクラスではなくTimeクラスを使うよう、公式にアナウンスされました。 参考1 But we consider use of DateTime should be discouraged. - matz (Yukihiro Matsumoto) https://bugs.ruby-lang.org/issues/15712#note-4 参考2 DateTime は deprecated とされているため、 Timeを使うことを推奨します。 https://docs.ruby-lang.org/ja/latest/class/DateT
Additional ResourcesHomeElementsProductsPricingCareersHelpStatusEventsPodcastsCompliance CenterHeroku BlogHeroku Blog Find out what's new with Heroku on our blog. Visit Blog Heroku can run Ruby applications across a variety of Ruby implementations and includes support for framework-specific workflows. This document describes the general behavior of Heroku as it relates to the recognition and execu
元記事: Awesome Ruby Ruby 以外の言語, ソフトウェアについては を参照してください. Awesome List in Qiita Awesome Java Awesome JavaScript Awesome Node.js Awesome Python Awesome Go Awesome Selenium Awesome Appium 抽象化 ActiveInteraction - アプリケーション固有のビジネスロジックを管理します. Cells - Rails のコンポーネントを表示します. Decent Exposure - コントローラに宣言的インタフェースを提供するヘルパー. dry-rb - 共通のタスクをカプセル化するための, 次世代 Ruby ライブラリコレクションです. Interactor - 1回のリクエストで複雑なインタラクションを実行するため
ども、@kimihom です。 Heroku Addon の1つである Scout はRuby on Rails 専用のメトリクスサービスだ。一般的にこの類の Addon だと NewRelic が一般的だけども、重いしメモリも食うので Scout を使っている。今回はそんな Scout について簡単にご紹介しようと思う。 概要 Heroku は Heroku 自体が Metrics を提供しており、ここでサーバー全体でどんなパフォーマンスを発揮しているのかを見ることができる。しかしあくまで概要しかわからないので、具体的にどの URL のアクションが問題を起こしているのかまでは教えてくれない。そのため Scout や NewRelic のような、より詳細を見ることのできるメトリクスの Addon が存在する。 以降は Scout のスクショ見せながらの方が早いと思うので、色々と貼りながらア
Today I’d like to share the steps I take when I need to convert a PostgreSQL database into a SQLite database. Commonly I have to do this when a Ruby on Rails application is in production and I have to check some issues with the production data. In the production environment we usually use a PostgreSQL database and for developing I use a SQLite database, so we need some conversion. Short story a.k.
前提知識 Rails アプリにおいて、テーブルの追加やカラムの追加は簡単なものの、カラムの削除やリネームは慎重に行う必要がある。たとえアプリからそのカラムを参照してないとしても、いきなりカラムを削除するとエラーになる可能性が大いにある。 というのも Rails にはスキーマキャッシュというものがあり、テーブルのカラム情報をモデルがキャッシュしているからだ。このキャッシュはたとえばいわゆる N+1 クエリ問題を避けるために includes (eager_load) するときに参照される。 SELECT 句で t0_r0 のような機械的に別名が振られるようなクエリを見たことがある Rails エンジニアは多いと思う。 機械的に全カラムを取得するためにスキーマキャッシュを利用しているため、このようなクエリが実行されてる中でカラムを削除したりリネームしたりすると、スキーマキャッシュをもとに並べら
Heroku は、ご存じのとおりどこの Dynoで実行されるか不明のため、IPアドレスは一切固定化されていません。その為、外部システムとの接続において、「IPアドレスを固定化して欲しい」や「設定した複数のIPアドレスしか許可できません」といった場合、その対処の方法がありません。 では、Heroku から外部へ接続したい、という時に IPアドレスを固定化することはできないのでしょうか。否、次の 2つの方法があります。 Private Spaces を利用する Proximo Add-on を利用する Private Spaces を利用する 単純簡単にお金で解決する方法です。Heroku Enterprise 契約では、Private Spacesを利用することができるようになります。これにより、US/EU以外の、たとえば Tokyo Region を利用することができたり、AWS VPC上
ども、@kimhom です。 今回は必要に駆られて PostgreSQL で新しく登場した JSONB 型について調べるきっかけがあったので、まとめてみる。 予め断っておくと JSONB 型はいわば PostgreSQL のリレーショナルデータベースからの脱却だ。これは一見魅力的に見えるけど、誰もが待ち望んだ機能というわけではない。導入するときは慎重に検討するようにしたいところだ。 なぜ JSONB 型が必要になったか 特に SaaS のアプリケーションを作っている方なら共感してくれると思うのだけど、保存したいデータが顧客によって異なるというケースが否応にしてある。例えば 顧客管理のサービスを扱っているなら、業界ごとに保存しなければならない項目(本記事ではカスタム項目と呼ぶ)は異なってくるし、逆に不要な項目なども出てくることだろう。そんな中、最もやってはいけない妥協が、とりあえず全ての項目
Additional ResourcesHomeElementsProductsPricingCareersHelpStatusEventsPodcastsCompliance CenterHeroku BlogHeroku Blog Find out what's new with Heroku on our blog. Visit Blog When your Ruby application uses more memory than is available on the Dyno, a R14 - Memory quota exceeded error message will be emitted to your application’s logs. This article is intended to help you understand your applicatio
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く