Tumgik
#activeadmin
syndicode · 6 years
Text
ActiveAdmin performance optimizations for Rails apps
We try to describe less obvious tips and techniques for Rails apps in our blog, so this time we are presenting you ActiveAdmin performance optimization for Rails apps. ActiveAdmin gem is a popular tool for building admin interfaces in Ruby on Rails apps. Here come the tips: Add query pe...
0 notes
Text
Dev Note: Active Admin - Rails
Faster refresh times in development
At times I think ActiveAdmin is OK, at times frustrating and we would have been better off dog-fooding our customer facing dashboard displays.... (probably still better to do that).
But while we have ActiveAdmin, we should hould have figured this out earlier...
But when building views… your dev server refresh time is 1000% faster if you're editing views under /app/views rather than directly in the /app/admin/*.rb files.
This should be noted more strongly in the ActiveAdmin docs
# app/admin/model.rb - editing this file? slow refresh show do render 'show' end # app/views/admin/models/_show.html.arb - editing this file? fast refresh
Thats it. And your app/admin/* files wont be thousands of lines long.
0 notes
Text
activeadminを active_skin でデザインを革新的に変える
環境 ruby 2.4.1 ruby on rails 5.1.3 activeadmin 1.1.0 CentOS 7.3
activeadmin がインストールされてるとして、進めていきます。
[blogcard url=”http://jewelrybox.wpblog.jp/2017/08/09/activeadmin%e3%82%92%e5%b0%8e%e5%85%a5%e3%81%97%e3%81%a6%e5%8b%95%e3%81%8b%e3%81%97%e3%81%a6%e3%81%bf%e3%82%8b/”%5D
active_skin
activeadmin の外観を変えるgemは多くあるんですが、
今回使う active_skin は他のgemに比べて、
ダウンロード回数が一番多かったので実際に触ってみたところ
シンプルで見やすい画面になった…
View On WordPress
0 notes
onedayonetip · 8 years
Link
0 notes
Photo
Tumblr media
How to Make Ruby on Rails Active Admin and Large PostgreSQL Tables Friends Again ☞ https://medium.com/matic-insurance/how-to-make-ruby-on-rails-activeadmin-and-large-postgresql-tables-friends-again-af199b96f25 #ruby #programming
1 note · View note
reviewgators · 3 years
Text
What Is The Ultimate Guide To Scrape Reviews Online?
Tumblr media
As we know data is the most necessary component for web scraping review data. A review management platform is powered by online reviews, such as a car is powered by energy or gas. While there are various sources of user reviews such as ReviewGators Review Scraper API.
As a result, we set out to address our own challenges, and we've learned a lot in the process. We began by using these product reviews in our own tool but quickly discovered that we could market this technology so that others could advantage from such an easy API rather than scraping reviews manually.
This was a turning point in our capacity to invest more heavily in this product, not only for ourselves but also for paying users. Following are some of the lessons we learned along the journey.
API vs Scraping
In an ideal society, review data would be accessible using API, however, that's not the case. We employ APIs whenever possible, however, the majority of the 85+ review sites from which we get information don't have APIs, so we have to rely on web scraping. We also have connections with particular review websites in some circumstances.
Select Scraping Library
First and foremost, what programming language would you prefer to use? Which scraping library you use will be determined by this. Python offers Scrapy, Ruby has Nokogiri, and there are plenty of additional possibilities.
There are various factors to consider here, for example: How reliable is the library you've selected? How easy is it to find talented programmers who have worked with that library before? Is it scalable in any way?
Our system was written in Ruby because it was my strongest language at the time. This influenced a number of decisions, including the use of Sidekiq for background processing and ActiveAdmin for the admin panel, among others.
At ReviewGators, we create scrapers that follow the specific format:
Determine the number of pages of reviews that can be paginated.
Determine which markup contains the reviews.
Iterate through each review and save the information.
In other circumstances, utilizing a network analyzer is beneficial since some websites load their data via APIs, which are easier to use (and maintain) than parsing code. Another consideration is whether the website is loaded asynchronously, in which case you should employ a headless browser rather than a standard HTTP request.
Concurrency
It's important to think about how you'll deal with concurrency when you've created the scraper, depending on the scale you'll be scraping reviews on. We chose Sidekiq to process our operations in the background because it allows us to easily manage many queues and scale vertically and horizontally as needed. We also utilize sidekiq-throttled to make sure we're not overloading the review site and our vendors with queries.
We started encountering database concurrency issues as our business developed, so we made a number of database adjustments to improve our workload.
Blocking Mechanisms
You'll very certainly run across blocking mechanisms from the review site(s) in question as you start scaling up. This problem can be solved in various ways:
Scraping services that allow you to access a URL and have them handle the blocking measures on their end.
Providers of proxy IP addresses for data centers, homes, and mobile phones.
Captcha-solving services that automate the process at a large scale.
Headless browser services make it easier to manage headless browsers on a large scale.
To get around blocking measures on some sites, you'll need to send requests with specific headers and/or cookies, as well as a variety of additional techniques.
Duplications
You'll want to optimize your scraping once you've started scraping reviews at scale to stop spending compute and other assets. You'll probably want to keep retrieving the latest reviews as they come in after you've fetched all the reviews from a certain review profile.
To accomplish this, you'll need to create algorithms that identify which reviews are old and which are new. This is far more difficult than it appears at first, as there are several formatting, pagination, ordering, and other issues. If the review profile has 100 pages, your goal is to stop scraping once you've collected all of the most recent reviews, so you don't have to check all of them every time you check for updates.
Several settings are exposed to our users that encapsulate this complexity:
Diff: This argument allows you to specify a previous work ID for your specified profile, ensuring that only the most recent reviews are returned.
From_date: Reviews from a particular date will only be scrapped.
blocks: The number of blocks to return from the results in tens.
Data Cleaning
Data cleaning is an important element of data extraction since you must always guarantee that the information you consume is in a consistent manner. To begin, we recommend encoding your database to utf8mb4-bin, which supports text in a variety of languages, as well as emoji and other text that you will undoubtedly encounter.
Date formatting is extremely difficult, especially when scraping from various sources. This is due to the fact that there is no universal date format; for example, Americans may use yyyy-mm-dd, while other countries use yyyy-dd-mm. To make matters worse, we've observed occasions where the same review site employs several formats.
Aside from that, some websites contain reviews with headers, questions, and other metadata that must be handled.
Monitoring
We consider monitoring as a serious matter. In the worst-case situation, we receive emails from a customer informing us of a problem, which is when our monitoring system kicks in.
Keep track of the progress of every work that comes through our system.
Wait and process times per job are being tracked, with averages across sites.
Keeping track of the performance of our numerous service providers.
Tests of each review site on a regular basis, comparing expected and real-time outcomes.
We have a substantially modified ActiveAdmin dashboard that allows us to monitor and intervene as needed. We also utilize Rollbar for real-time analytics and Asana automation to assist with issue management.
Conclusion
Operating a high-quality web scraping business on a large scale is a difficult task. Fortunately, we've got our technology available through API, so instead of spending significant technical resources rebuilding the wheel, all you have to do is call two API endpoints.
For more details contact ReviewGators now!!
Request for a quote!!!
0 notes
un-enfant-immature · 6 years
Text
The tools, they are a-changing
Building web services and smartphone apps, which is most of what I’ve been doing professionally at HappyFunCorp1 for the last decade or so used to be pretty straightforward. Not easy, but straightforward, especially when the client was a consumer startup, which so many of them were.
The more we did the better we got at it. Design and write two native apps, usually iOS first and Android second. Don’t skimp on the design. Connect them to a JSON API, usually written in Ruby on Rails, which also powered the web site. There’s always a web site; consumers might only see the side which is a minimal billboard for the app, but there’s essentially always also an admin site, to control features and aspects of the app.
Design isn’t as important for the admin site, so you can build that in something crude but effective like ActiveAdmin; why roll your own? Similarly, authentication is tricky and easy to get wrong, so use something like Devise, which comes with built-in hooks to Facebook and Twitter login. Design your database carefully. Use jQuery for dynamic in-browser manipulation since raw Javascript is such a nightmare. Argue about whether to use Rspec or Minitest for your server tests.
All there? OK, roll it out to your Heroku scaling environment, so you can simply “git push” to push to staging and production, with various levels of Postgres support, autoscaling, pipelines, Redis caching, Resque worker jobs, and so forth. If it’s a startup, keep them on Heroku to see if they catch on, if they find the fabled product-market fit, not least because it helps you iterate faster. If so, at some point you have to graduate them to AWS, because Heroku only scales so far and it does so very expensively. If not, well, “fail fast,” right?
Those were the days, my friends, those halcyon, long-gone days of (checks notes) five years ago. The days of a lot of grief, sure, but very little decision complexity. The smartphone boom was on, and the web boom was settling down, and everyone was still surfing those two tidal waves.
Today? Well, today we still are, neither of those waves have broken, per se, software is still eating the world, but things are … different. More of the world is being eaten, but it’s also happening more slowly, like growing 50% a year from a $1 billion base rather than 500% from $1 million. There are fewer starry-eyed founders with an app idea that they’re sure will change the world and funding enough to give it a shot. Those are still out there, sure, and more power to them, but the landscape is more complex, now.
Instead we see more big businesses, media and industrial and retail alike, realizing they must adapt and be devoured, experimenting with new tech projects with a combination of excitement and trepidation. Or requisitioning custom apps for very specific — but very useful — purposes, and requiring them to interface with their awkward pre-existing custom middleware just so. Or tech companies, even big household-name ones, outsourcing ancillary tools and projects in order to focus their in-house teams purely on their core competencies and business models. Our mix of clients has definitely shifted more towards enterprise in the last few years.
Which is not to say that startups don’t still come through our doors with bright ideas and inspiring PowerPoints on a fairly regular basis. As do super starry-eyed blockchain founders (granted, I’m sometimes a bit starry-eyed about blockchains myself) replacing the consumer-app founders of yore. I doubt we’re alone in having had a spate of blockchain startup projects late last year and early this, which has diminished to only a couple active at the moment. (Not least because the tooling is still so crude it reminds me of 90s command-line hacking.) But I strongly doubt that sphere is going away.
We haven’t dealt with as many AI projects as I would have expected by now, probably partly because AI talent is still so scarce and highly valued, and partly because it turns out a lot of seeming “AI” work can be done with simple linear regressions rather than by building and training and tuning deep-learning neural networks… although if you do those linear regressions with TensorFlow, it’s still “AI” buzzword-compliant, right? Right?
Most of all, though, the tools we use have changed. Nowadays when you want to build an app, you have to ask yourself: really native? (Java or Kotlin? Objective-C or Swift?) Or React Native? Or Xamarin? Or Google’s new Flutter thing? When you want to build a web site, you have to think: traditional? Or single-page, with React or Angular or Vue? As for the server — Go is a lot faster than Rails, you know, and oh, that elegant concurrency handling, but, oh, where is my map/filter/reduce? Javascript is still a clumsy language, but there are certain advantages to having one language across the stack, and Node is powerful and package-rich these days. And of course you’ll want it all containerized, because while Docker definitely adds another layer or two of configuration complexity, it’s usually worth it.
Unless you want to go fully “serverless,” at least for aspects, with Amazon Lambda or Google Firebase? Even if you don’t use Firebase for a datastore, how about for authentication, huh? And if you’re all containerized, and Kubernetized if/as appropriate, though maybe let’s not go the many-microservices route until you’re sure your product-market fit justifies it, then where do you want to roll it out, AWS or Azure or Google Cloud or Digital Ocean? Or do you want to use one of their PaaS services, like App Engine or Beanstalk, which, like Heroku, sorta kinda live between “serverless” and “bare metal virtual machines”?
I oversimplify, but you get my point. We’ve never had more options, as developers, more tools available to us … and we’ve never had to struggle more with analysis paralysis, because it’s awfully hard to determine which of the possible toolsets is the best one for any particular situation. Sometimes — often — we have to be happy with just selecting a good one. And that selection problem doesn’t look like it’s going to get easier anytime soon, I’m afraid. It’s a strange time to be a coder. We live and work all tangled up in an embarrassment of riches.
1Yes, that’s really our name. No, this TC column isn’t a full-time gig. (Which is something people frequently assume, because it’s so much more visible and to some people writing a column every week sounds like a lot of work, but no, I’m really a CTO.)
0 notes
dhamaniasad · 4 years
Link
dhamaniasad starred activeadmin-plugins/active_admin_import Sep 12, 2020
activeadmin-plugins/active_admin_import
📎 active_admin_import is based on activerecord-import gem - the most efficient way to import for ActiveAdmin
Ruby 151 Updated Sep 12
0 notes
fbreschi · 5 years
Text
Fix Slow ActiveAdmin Index Pages With Large Datasets by Hiding Filters
http://bit.ly/2NUPBpo
0 notes
openwebsolutions · 6 years
Text
How to use MySQL in Ruby on Rails on Ubuntu?
New Post has been published on http://blog.openwebsolutions.in/use-mysql-ruby-rails-ubuntu/
How to use MySQL in Ruby on Rails on Ubuntu?
  Ruby on rails uses sqlite3 as a default database which is good for small application. If your project size is big, i.e. you need to handle large data throughout your project then MySQL database is a better option.
If your machine already has a MySQL, then there is no need to install it again. In case, if MySQL is not present in your local machine, you can install it through the following procedure:
Command for installing MySQL:
update apt-get first in your machine sudo apt-get update
next install mysql and it libraries sudo apt-get install mysql-server mysql-client libmysqlclient-dev*** Note: Durring installation, your local machine may ask the password for the root user
next, you should run 2 more command below sudo mysql_install_db sudo mysql_secure_installation
and finally, in your gemfile gem install mysql2
If you have MySQL already, please skip the above 4 points.
Now, open the terminal and type > rails new app -d mysql rails setup is created in your local machine > cd app
open the database.yml > nano config/database.yml
You will see the below code in your editor
# MySQL. Versions 5.1.10 and up are supported. # # Install the MySQL driver # gem install mysql2 # # Ensure the MySQL gem is defined in your Gemfile # gem ‘mysql2’ # # And be sure to use new-style password hashing: # https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html # default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch(“RAILS_MAX_THREADS”) 5 %> username: PUT YOUR USERNAME password: PUT YOUR PASSWORD socket: /var/run/mysqld/mysqld.sockdevelopment: <<: *default database: activeadmin_development# Warning: The database defined as “test” will be erased and # re-generated from your development database when you run “rake”. # Do not set this db to the same as development or production. test: <<: *default database: activeadmin_test
# As with config/secrets.yml, you never want to store sensitive information, # like your database password, in your source code. If your source code is # ever seen by anyone, they now have access to your database. # # Instead, provide the password as a unix environment variable when you boot # the app. Read http://guides.rubyonrails.org/configuring.html#configuring-a-database # for a full rundown on how to provide these environment variables in a # production deployment. # # On Heroku and other platform providers, you may have a full connection URL # available as an environment variable. For example: # # DATABASE_URL=”mysql2://myuser:mypass@localhost/somedatabase” # # You can use this database configuration with: # # production: # url: <%= ENV[‘DATABASE_URL’] %> # production: <<: *default database: activeadmin_production username: activeadmin password: <%= ENV[‘ACTIVEADMIN_DATABASE_PASSWORD’] %>
  Change the username and password and save the database.yml file.
Run > rake db:create
Open your phpmyadmin, you can see the database which is newly created.
0 notes
theinvinciblenoob · 6 years
Link
Building web services and smartphone apps, which is most of what I’ve been doing professionally at HappyFunCorp1 for the last decade or so used to be pretty straightforward. Not easy, but straightforward, especially when the client was a consumer startup, which so many of them were.
The more we did the better we got at it. Design and write two native apps, usually iOS first and Android second. Don’t skimp on the design. Connect them to a JSON API, usually written in Ruby on Rails, which also powered the web site. There’s always a web site; consumers might only see the side which is a minimal billboard for the app, but there’s essentially always also an admin site, to control features and aspects of the app.
Design isn’t as important for the admin site, so you can build that in something crude but effective like ActiveAdmin; why roll your own? Similarly, authentication is tricky and easy to get wrong, so use something like Devise, which comes with built-in hooks to Facebook and Twitter login. Design your database carefully. Use jQuery for dynamic in-browser manipulation since raw Javascript is such a nightmare. Argue about whether to use Rspec or Minitest for your server tests.
All there? OK, roll it out to your Heroku scaling environment, so you can simply “git push” to push to staging and production, with various levels of Postgres support, autoscaling, pipelines, Redis caching, Resque worker jobs, and so forth. If it’s a startup, keep them on Heroku to see if they catch on, if they find the fabled product-market fit, not least because it helps you iterate faster. If so, at some point you have to graduate them to AWS, because Heroku only scales so far and it does so very expensively. If not, well, “fail fast,” right?
Those were the days, my friends, those halcyon, long-gone days of (checks notes) five years ago. The days of a lot of grief, sure, but very little decision complexity. The smartphone boom was on, and the web boom was settling down, and everyone was still surfing those two tidal waves.
Today? Well, today we still are, neither of those waves have broken, per se, software is still eating the world, but things are … different. More of the world is being eaten, but it’s also happening more slowly, like growing 50% a year from a $1 billion base rather than 500% from $1 million. There are fewer starry-eyed founders with an app idea that they’re sure will change the world and funding enough to give it a shot. Those are still out there, sure, and more power to them, but the landscape is more complex, now.
Instead we see more big businesses, media and industrial and retail alike, realizing they must adapt and be devoured, experimenting with new tech projects with a combination of excitement and trepidation. Or requisitioning custom apps for very specific — but very useful — purposes, and requiring them to interface with their awkward pre-existing custom middleware just so. Or tech companies, even big household-name ones, outsourcing ancillary tools and projects in order to focus their in-house teams purely on their core competencies and business models. Our mix of clients has definitely shifted more towards enterprise in the last few years.
Which is not to say that startups don’t still come through our doors with bright ideas and inspiring PowerPoints on a fairly regular basis. As do super starry-eyed blockchain founders (granted, I’m sometimes a bit starry-eyed about blockchains myself) replacing the consumer-app founders of yore. I doubt we’re alone in having had a spate of blockchain startup projects late last year and early this, which has diminished to only a couple active at the moment. (Not least because the tooling is still so crude it reminds me of 90s command-line hacking.) But I strongly doubt that sphere is going away.
We haven’t dealt with as many AI projects as I would have expected by now, probably partly because AI talent is still so scarce and highly valued, and partly because it turns out a lot of seeming “AI” work can be done with simple linear regressions rather than by building and training and tuning deep-learning neural networks… although if you do those linear regressions with TensorFlow, it’s still “AI” buzzword-compliant, right? Right?
Most of all, though, the tools we use have changed. Nowadays when you want to build an app, you have to ask yourself: really native? (Java or Kotlin? Objective-C or Swift?) Or React Native? Or Xamarin? Or Google’s new Flutter thing? When you want to build a web site, you have to think: traditional? Or single-page, with React or Angular or Vue? As for the server — Go is a lot faster than Rails, you know, and oh, that elegant concurrency handling, but, oh, where is my map/filter/reduce? Javascript is still a clumsy language, but there are certain advantages to having one language across the stack, and Node is powerful and package-rich these days. And of course you’ll want it all containerized, because while Docker definitely adds another layer or two of configuration complexity, it’s usually worth it.
Unless you want to go fully “serverless,” at least for aspects, with Amazon Lambda or Google Firebase? Even if you don’t use Firebase for a datastore, how about for authentication, huh? And if you’re all containerized, and Kubernetized if/as appropriate, though maybe let’s not go the many-microservices route until you’re sure your product-market fit justifies it, then where do you want to roll it out, AWS or Azure or Google Cloud or Digital Ocean? Or do you want to use one of their PaaS services, like App Engine or Beanstalk, which, like Heroku, sorta kinda live between “serverless” and “bare metal virtual machines”?
I oversimplify, but you get my point. We’ve never had more options, as developers, more tools available to us … and we’ve never had to struggle more with analysis paralysis, because it’s awfully hard to determine which of the possible toolsets is the best one for any particular situation. Sometimes — often — we have to be happy with just selecting a good one. And that selection problem doesn’t look like it’s going to get easier anytime soon, I’m afraid. It’s a strange time to be a coder. We live and work all tangled up in an embarrassment of riches.
1Yes, that’s really our name. No, this TC column isn’t a full-time gig. (Which is something people frequently assume, because it’s so much more visible and to some people writing a column every week sounds like a lot of work, but no, I’m really a CTO.)
via TechCrunch
0 notes
fmservers · 6 years
Text
The tools, they are a-changing
Building web services and smartphone apps, which is most of what I’ve been doing professionally at HappyFunCorp1 for the last decade or so used to be pretty straightforward. Not easy, but straightforward, especially when the client was a consumer startup, which so many of them were.
The more we did the better we got at it. Design and write two native apps, usually iOS first and Android second. Don’t skimp on the design. Connect them to a JSON API, usually written in Ruby on Rails, which also powered the web site. There’s always a web site; consumers might only see the side which is a minimal billboard for the app, but there’s essentially always also an admin site, to control features and aspects of the app.
Design isn’t as important for the admin site, so you can build that in something crude but effective like ActiveAdmin; why roll your own? Similarly, authentication is tricky and easy to get wrong, so use something like Devise, which comes with built-in hooks to Facebook and Twitter login. Design your database carefully. Use jQuery for dynamic in-browser manipulation since raw Javascript is such a nightmare. Argue about whether to use Rspec or Minitest for your server tests.
All there? OK, roll it out to your Heroku scaling environment, so you can simply “git push” to push to staging and production, with various levels of Postgres support, autoscaling, pipelines, Redis caching, Resque worker jobs, and so forth. If it’s a startup, keep them on Heroku to see if they catch on, if they find the fabled product-market fit, not least because it helps you iterate faster. If so, at some point you have to graduate them to AWS, because Heroku only scales so far and it does so very expensively. If not, well, “fail fast,” right?
Those were the days, my friends, those halcyon, long-gone days of (checks notes) five years ago. The days of a lot of grief, sure, but very little decision complexity. The smartphone boom was on, and the web boom was settling down, and everyone was still surfing those two tidal waves.
Today? Well, today we still are, neither of those waves have broken, per se, software is still eating the world, but things are … different. More of the world is being eaten, but it’s also happening more slowly, like growing 50% a year from a $1 billion base rather than 500% from $1 million. There are fewer starry-eyed founders with an app idea that they’re sure will change the world and funding enough to give it a shot. Those are still out there, sure, and more power to them, but the landscape is more complex, now.
Instead we see more big businesses, media and industrial and retail alike, realizing they must adapt and be devoured, experimenting with new tech projects with a combination of excitement and trepidation. Or requisitioning custom apps for very specific — but very useful — purposes, and requiring them to interface with their awkward pre-existing custom middleware just so. Or tech companies, even big household-name ones, outsourcing ancillary tools and projects in order to focus their in-house teams purely on their core competencies and business models. Our mix of clients has definitely shifted more towards enterprise in the last few years.
Which is not to say that startups don’t still come through our doors with bright ideas and inspiring PowerPoints on a fairly regular basis. As do super starry-eyed blockchain founders (granted, I’m sometimes a bit starry-eyed about blockchains myself) replacing the consumer-app founders of yore. I doubt we’re alone in having had a spate of blockchain startup projects late last year and early this, which has diminished to only a couple active at the moment. (Not least because the tooling is still so crude it reminds me of 90s command-line hacking.) But I strongly doubt that sphere is going away.
We haven’t dealt with as many AI projects as I would have expected by now, probably partly because AI talent is still so scarce and highly valued, and partly because it turns out a lot of seeming “AI” work can be done with simple linear regressions rather than by building and training and tuning deep-learning neural networks… although if you do those linear regressions with TensorFlow, it’s still “AI” buzzword-compliant, right? Right?
Most of all, though, the tools we use have changed. Nowadays when you want to build an app, you have to ask yourself: really native? (Java or Kotlin? Objective-C or Swift?) Or React Native? Or Xamarin? Or Google’s new Flutter thing? When you want to build a web site, you have to think: traditional? Or single-page, with React or Angular or Vue? As for the server — Go is a lot faster than Rails, you know, and oh, that elegant concurrency handling, but, oh, where is my map/filter/reduce? Javascript is still a clumsy language, but there are certain advantages to having one language across the stack, and Node is powerful and package-rich these days. And of course you’ll want it all containerized, because while Docker definitely adds another layer or two of configuration complexity, it’s usually worth it.
Unless you want to go fully “serverless,” at least for aspects, with Amazon Lambda or Google Firebase? Even if you don’t use Firebase for a datastore, how about for authentication, huh? And if you’re all containerized, and Kubernetized if/as appropriate, though maybe let’s not go the many-microservices route until you’re sure your product-market fit justifies it, then where do you want to roll it out, AWS or Azure or Google Cloud or Digital Ocean? Or do you want to use one of their PaaS services, like App Engine or Beanstalk, which, like Heroku, sorta kinda live between “serverless” and “bare metal virtual machines”?
I oversimplify, but you get my point. We’ve never had more options, as developers, more tools available to us … and we’ve never had to struggle more with analysis paralysis, because it’s awfully hard to determine which of the possible toolsets is the best one for any particular situation. Sometimes — often — we have to be happy with just selecting a good one. And that selection problem doesn’t look like it’s going to get easier anytime soon, I’m afraid. It’s a strange time to be a coder. We live and work all tangled up in an embarrassment of riches.
1Yes, that’s really our name. No, this TC column isn’t a full-time gig. (Which is something people frequently assume, because it’s so much more visible and to some people writing a column every week sounds like a lot of work, but no, I’m really a CTO.)
Via Jon Evans https://techcrunch.com
0 notes
curious-tolearn · 6 years
Link
How to blend a rock-solid CMS and API with the absolute best in front-end tooling, built as a single project and hosted seamlessly on Heroku. via Pocket
0 notes
reacttutorial · 6 years
Photo
Tumblr media
A Rock Solid, Modern Web Stack: Rails 5 API + ActiveAdmin + Create React App - https://t.co/vnf5PQFjNt
0 notes
reacttutorial4u · 6 years
Photo
Tumblr media
A Rock Solid, Modern Web Stack: Rails 5 API + ActiveAdmin + Create React App - https://t.co/vnf5PQFjNt
0 notes
tranbit · 6 years
Link
via Heroku
0 notes