<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" encoding="UTF-8" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:atom="http://www.w3.org/2005/Atom/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:fireside="http://fireside.fm/modules/rss/fireside">
  <channel>
    <fireside:hostname>app01</fireside:hostname>
    <fireside:genDate>Sat, 10 Oct 2026 19:46:19 +0000</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>三氧化二铝 - Episodes Tagged with “Gem”</title>
    <link>https://ruby.fireside.fm/tags/gem</link>
    <pubDate>Mon, 07 Feb 2022 13:00:00 -0500</pubDate>
    <description>一个聚焦Ruby，Web开发和创业主题的中文播客</description>
    <language>zh-cn</language>
    <itunes:type>episodic</itunes:type>
    <itunes:subtitle>一个聚焦Ruby，Web开发和创业主题的中文播客</itunes:subtitle>
    <itunes:author>Nankai Pan</itunes:author>
    <itunes:summary>一个聚焦Ruby，Web开发和创业主题的中文播客</itunes:summary>
    <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/2/262f7c7c-16e5-40a8-a4c6-156f71c79407/cover.jpg?v=1"/>
    <itunes:explicit>no</itunes:explicit>
    <itunes:keywords>Ruby,Rails,Web开发,Ruby开发,Rails开发,Web Development, Ruby on Rails</itunes:keywords>
    <itunes:owner>
      <itunes:name>Nankai Pan</itunes:name>
      <itunes:email>nankai@hey.com</itunes:email>
    </itunes:owner>
<itunes:category text="Technology"/>
<item>
  <title>使用Rails快速搭建MVP产品 (上)</title>
  <link>https://ruby.fireside.fm/episode-2</link>
  <guid isPermaLink="false">7556edc5-6509-4475-a0ef-08cff0f5116a</guid>
  <pubDate>Mon, 07 Feb 2022 13:00:00 -0500</pubDate>
  <author>Nankai Pan</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/262f7c7c-16e5-40a8-a4c6-156f71c79407/7556edc5-6509-4475-a0ef-08cff0f5116a.mp3" length="74788802" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>Nankai Pan</itunes:author>
  <itunes:subtitle></itunes:subtitle>
  <itunes:duration>1:43:52</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/2/262f7c7c-16e5-40a8-a4c6-156f71c79407/cover.jpg?v=1"/>
  <description>&lt;p&gt;快速搭建Rails程序的一些常用插件&lt;/p&gt;

&lt;p&gt;Authentication:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/heartcombo/devise" rel="nofollow noopener"&gt;Devise&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/cognito/" rel="nofollow noopener"&gt;AWS Cognito&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://auth0.com" rel="nofollow noopener"&gt;Auth0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Authorization:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/CanCanCommunity/cancancan" rel="nofollow noopener"&gt;cancancan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/varvet/pundit" rel="nofollow noopener"&gt;pundit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Admin portal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/activeadmin/activeadmin" rel="nofollow noopener"&gt;ActiveAdmin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Logging:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/roidrage/lograge" rel="nofollow noopener"&gt;Lograge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://logentries.com" rel="nofollow noopener"&gt;Logentries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Environment variables:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bkeepers/dotenv" rel="nofollow noopener"&gt;Dotenv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Testing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/rspec/rspec-rails" rel="nofollow noopener"&gt;RSpec&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/thoughtbot/factory_bot" rel="nofollow noopener"&gt;FactoryBot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/teamcapybara/capybara" rel="nofollow noopener"&gt;Capybara&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pagination:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/kaminari/kaminari" rel="nofollow noopener"&gt;Kaminari&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ddnexus/pagy" rel="nofollow noopener"&gt;Pagy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Serializer&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/jsonapi-serializer/jsonapi-serializer" rel="nofollow noopener"&gt;JSON API serializer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rails-api/active_model_serializers" rel="nofollow noopener"&gt;ActiveModel serializer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/procore/blueprinter" rel="nofollow noopener"&gt;Blueprinter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Background jobs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/mperham/sidekiq" rel="nofollow noopener"&gt;Sidekiq&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/resque/resque" rel="nofollow noopener"&gt;resque&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/collectiveidea/delayed_job" rel="nofollow noopener"&gt;Delayed job&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Search:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ankane/searchkick" rel="nofollow noopener"&gt;ElasticSearch (Searchkick)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/activerecord-hackery/ransack" rel="nofollow noopener"&gt;ransack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;File upload:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/rails/rails/tree/main/activestorage" rel="nofollow noopener"&gt;Active Storage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/carrierwaveuploader/carrierwave" rel="nofollow noopener"&gt;Carrierwave&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Others:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/yammer/circuitbox" rel="nofollow noopener"&gt;Circuitbox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>ruby,rails,startup,mvp,gems,gem,playbook</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>快速搭建Rails程序的一些常用插件</p>

<p>Authentication:</p>

<ul>
<li><a href="https://github.com/heartcombo/devise" rel="nofollow noopener">Devise</a></li>
<li><a href="https://aws.amazon.com/cognito/" rel="nofollow noopener">AWS Cognito</a></li>
<li><a href="https://auth0.com" rel="nofollow noopener">Auth0</a></li>
</ul>

<p>Authorization:</p>

<ul>
<li><a href="https://github.com/CanCanCommunity/cancancan" rel="nofollow noopener">cancancan</a></li>
<li><a href="https://github.com/varvet/pundit" rel="nofollow noopener">pundit</a></li>
</ul>

<p>Admin portal:</p>

<ul>
<li><a href="https://github.com/activeadmin/activeadmin" rel="nofollow noopener">ActiveAdmin</a></li>
</ul>

<p>Logging:</p>

<ul>
<li><a href="https://github.com/roidrage/lograge" rel="nofollow noopener">Lograge</a></li>
<li><a href="https://logentries.com" rel="nofollow noopener">Logentries</a></li>
</ul>

<p>Environment variables:</p>

<ul>
<li><a href="https://github.com/bkeepers/dotenv" rel="nofollow noopener">Dotenv</a></li>
</ul>

<p>Testing:</p>

<ul>
<li><a href="https://github.com/rspec/rspec-rails" rel="nofollow noopener">RSpec</a></li>
<li><a href="https://github.com/thoughtbot/factory_bot" rel="nofollow noopener">FactoryBot</a></li>
<li><a href="https://github.com/teamcapybara/capybara" rel="nofollow noopener">Capybara</a></li>
</ul>

<p>Pagination:</p>

<ul>
<li><a href="https://github.com/kaminari/kaminari" rel="nofollow noopener">Kaminari</a></li>
<li><a href="https://github.com/ddnexus/pagy" rel="nofollow noopener">Pagy</a></li>
</ul>

<p>Serializer</p>

<ul>
<li><a href="https://github.com/jsonapi-serializer/jsonapi-serializer" rel="nofollow noopener">JSON API serializer</a></li>
<li><a href="https://github.com/rails-api/active_model_serializers" rel="nofollow noopener">ActiveModel serializer</a></li>
<li><a href="https://github.com/procore/blueprinter" rel="nofollow noopener">Blueprinter</a></li>
</ul>

<p>Background jobs:</p>

<ul>
<li><a href="https://github.com/mperham/sidekiq" rel="nofollow noopener">Sidekiq</a></li>
<li><a href="https://github.com/resque/resque" rel="nofollow noopener">resque</a></li>
<li><a href="https://github.com/collectiveidea/delayed_job" rel="nofollow noopener">Delayed job</a></li>
</ul>

<p>Search:</p>

<ul>
<li><a href="https://github.com/ankane/searchkick" rel="nofollow noopener">ElasticSearch (Searchkick)</a></li>
<li><a href="https://github.com/activerecord-hackery/ransack" rel="nofollow noopener">ransack</a></li>
</ul>

<p>File upload:</p>

<ul>
<li><a href="https://github.com/rails/rails/tree/main/activestorage" rel="nofollow noopener">Active Storage</a></li>
<li><a href="https://github.com/carrierwaveuploader/carrierwave" rel="nofollow noopener">Carrierwave</a></li>
</ul>

<p>Others:</p>

<ul>
<li><a href="https://github.com/yammer/circuitbox" rel="nofollow noopener">Circuitbox</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>快速搭建Rails程序的一些常用插件</p>

<p>Authentication:</p>

<ul>
<li><a href="https://github.com/heartcombo/devise" rel="nofollow noopener">Devise</a></li>
<li><a href="https://aws.amazon.com/cognito/" rel="nofollow noopener">AWS Cognito</a></li>
<li><a href="https://auth0.com" rel="nofollow noopener">Auth0</a></li>
</ul>

<p>Authorization:</p>

<ul>
<li><a href="https://github.com/CanCanCommunity/cancancan" rel="nofollow noopener">cancancan</a></li>
<li><a href="https://github.com/varvet/pundit" rel="nofollow noopener">pundit</a></li>
</ul>

<p>Admin portal:</p>

<ul>
<li><a href="https://github.com/activeadmin/activeadmin" rel="nofollow noopener">ActiveAdmin</a></li>
</ul>

<p>Logging:</p>

<ul>
<li><a href="https://github.com/roidrage/lograge" rel="nofollow noopener">Lograge</a></li>
<li><a href="https://logentries.com" rel="nofollow noopener">Logentries</a></li>
</ul>

<p>Environment variables:</p>

<ul>
<li><a href="https://github.com/bkeepers/dotenv" rel="nofollow noopener">Dotenv</a></li>
</ul>

<p>Testing:</p>

<ul>
<li><a href="https://github.com/rspec/rspec-rails" rel="nofollow noopener">RSpec</a></li>
<li><a href="https://github.com/thoughtbot/factory_bot" rel="nofollow noopener">FactoryBot</a></li>
<li><a href="https://github.com/teamcapybara/capybara" rel="nofollow noopener">Capybara</a></li>
</ul>

<p>Pagination:</p>

<ul>
<li><a href="https://github.com/kaminari/kaminari" rel="nofollow noopener">Kaminari</a></li>
<li><a href="https://github.com/ddnexus/pagy" rel="nofollow noopener">Pagy</a></li>
</ul>

<p>Serializer</p>

<ul>
<li><a href="https://github.com/jsonapi-serializer/jsonapi-serializer" rel="nofollow noopener">JSON API serializer</a></li>
<li><a href="https://github.com/rails-api/active_model_serializers" rel="nofollow noopener">ActiveModel serializer</a></li>
<li><a href="https://github.com/procore/blueprinter" rel="nofollow noopener">Blueprinter</a></li>
</ul>

<p>Background jobs:</p>

<ul>
<li><a href="https://github.com/mperham/sidekiq" rel="nofollow noopener">Sidekiq</a></li>
<li><a href="https://github.com/resque/resque" rel="nofollow noopener">resque</a></li>
<li><a href="https://github.com/collectiveidea/delayed_job" rel="nofollow noopener">Delayed job</a></li>
</ul>

<p>Search:</p>

<ul>
<li><a href="https://github.com/ankane/searchkick" rel="nofollow noopener">ElasticSearch (Searchkick)</a></li>
<li><a href="https://github.com/activerecord-hackery/ransack" rel="nofollow noopener">ransack</a></li>
</ul>

<p>File upload:</p>

<ul>
<li><a href="https://github.com/rails/rails/tree/main/activestorage" rel="nofollow noopener">Active Storage</a></li>
<li><a href="https://github.com/carrierwaveuploader/carrierwave" rel="nofollow noopener">Carrierwave</a></li>
</ul>

<p>Others:</p>

<ul>
<li><a href="https://github.com/yammer/circuitbox" rel="nofollow noopener">Circuitbox</a></li>
</ul>]]>
  </itunes:summary>
</item>
  </channel>
</rss>
