Upgrade Ruby using dual boot
BigBinary Blog
by Vijay Vinod
5d ago
Recently, we upgraded all neeto product's Ruby versionfrom 3.2.2 to 3.3.0 using "dual-booting". Dual-booting is a process that allows you to run your application with differentsets of dependencies, making it easy to switch between them. This approachenables you to quickly test your code with both the current and the newerversion of what you are upgrading, ensuring that everything works smoothlybefore fully committing to the upgrade. How to dual-boot Ruby? The dual-boot technique involves maintaining two separate Gemfile.lock fileswithin your Rails project: one for the current version of Ruby a ..read more
Visit website
Rails 7.2 brings SQL queries count to template rendering logs
BigBinary Blog
by Navaneeth D
2w ago
For Rails developers, debugging database queries is a frequent task. Whetherit's addressing the notorious N+1 query problem or fine-tuning cachingstrategies, developers often find themselves diving into logs to scrutinize SQLquery counts. Traditionally, this involved manually inspecting the logs and counting thenumber of queries. Needless to say, this becomes tedious and error-prone foractions generating a significant number of queries in the order of tens orhundreds. Thankfully, Rails 7.2 introduces a helpful improvement by enhancing the logoutput to include the query count alongside existing ..read more
Visit website
Using Twitter player cards to improve accessibility of NeetoRecord
BigBinary Blog
by Bonnie Simon
3w ago
At Neeto, we're building multiple products, and we love sharing our progress andupdates on Twitter. We often accompany our tweets with NeetoRecord recordings togive you an even closer look at our work. However, we noticed that users had toleave Twitter to view our videos, creating unnecessary friction in theirexperience. The Problem Initially, when we shared a NeetoRecord video on Twitter, this is how the tweetwould appear. As we can see, the links are just plain text, lacking visual appeal and context.Users had to click away from Twitter and open a new tab to view the recording.This extra st ..read more
Visit website
Rails 8 introduces a basic authentication generator
BigBinary Blog
by Jaimy Simon
1M ago
DHH recently posted the followings in an issue titledAdd basic authentication generator. Rails now include all the key building blocks needed to do basicauthentication, but many new developers are still uncertain of how to put themtogether, so they end up leaning on all-in-one gems that hide the mechanics. To address this, Rails 8 has introduced a generator that simplifies the additionof basic authentication to Rails applications. In this blog post, we'll explorethe components included in this authentication scaffold. Adding authentication to your Rails application To set up a basic authenti ..read more
Visit website
Configuring the Kubernetes Horizontal Pod Autoscaler to scale based on custom metrics from Prometheus
BigBinary Blog
by Sreeram Venkitesh
1M ago
Some of the major upsides of using Kubernetes to manage deployments are theself-healing and autoscaling capability of Kubernetes. If a deployment has asudden spike of traffic, Kubernetes will automatically spin up new containersand handle that load gracefully. It will also scale down deployments when thetraffic reduces. Kubernetes hasa couple of different waysto scale deployments automatically based on the load the application receives.TheHorizontal Pod Autoscaler (HPA)can be used out of the box in a Kubernetes cluster to increase or decrease thenumber of Pods of your deployment. By default HP ..read more
Visit website
Rails 7.2 makes counter_cache integration safer and easier
BigBinary Blog
by Navaneeth D
2M ago
Counter caches are a cornerstone of performance optimization in Railsapplications. They efficiently keep track of the number of associated recordsfor a model, eliminating the need for frequent database queries. However, addingcounter caches to existing applications, especially those with large tables,often can be challenging. Rails 7.2 brings an exciting update to address justthat! Counter cache integration challenges When introducing counter caches to large datasets, developers often encountertwo primary challenges: Backfilling data efficiently: Adding a counter cache column to an existingta ..read more
Visit website
How we fixed app downtime issue in neetoDeploy
BigBinary Blog
by Abhishek T
2M ago
We are building neetoDeploy, a compellingalternative to Heroku. Stay updated by following neetoDeploy onTwitter and reading ourblog. At neeto we are building 20+ applications, and most ofour applications are running in neetoDeploy. Once we migrated from Heroku toneetoDeploy, we started getting 520 response code for our applications. Thisissue was occurring randomly and rarely. What is 520 response code? A 520 response code happens when the connection started on the origin webserver, but that request was not completed. This could be due to server crashesor the inability to handle the coming req ..read more
Visit website
How we build, release and maintain frontend packages
BigBinary Blog
by Farhan CK
3M ago
Here at neeto, we build and manage alot of products. Eachproduct has its team. However, ensuring consistent design and functionalitiesacross these products poses a significant challenge. To aid our product teams infocusing on their core business logic, we've organized common functionalitiesinto separate packages. In this blog, we'll look into how we build, release and maintain these packagesto support our product development cycles. Let's take a look at some of thesekey packages. neeto-cist neeto-cist contains essential pureutility functions and forms the backbone of our development framework ..read more
Visit website
How we automated displaying error pages based on API responses
BigBinary Blog
by Farhan CK
3M ago
Error handling is an important aspect of building software. We've automatederror handling wherever possible so that we can deal with it in a consistentmanner. By automating this process we've allowed our product engineers to focuson shipping quality software. This blog is about how we automated handling and displaying error pages inneeto applications. Before we jump in, let's look at Axios andZustand, two npm packages we heavily relyon. Axios We use Axios to make API calls. Axios allow us tointercept API calls and modify them if necessary. axios.interceptors.request.use(request => { // in ..read more
Visit website
How we fixed the Cypress "Out of memory" error for Chromium browsers
BigBinary Blog
by S Varun
4M ago
At BigBinary, we use Cypress as our primaryend-to-end testing framework because of its simplicity and compatibility. Wehave 400+ tests across multiple products most of which are long-running testshandling complex workflows. We use the most commonly used version ofChromium as the test browser to make sure thetests capture how the majority use our products. While the development hasalways been smooth sailing, the same cannot be said about the test runs. As thenumber of tests and the duration for each of them increased, our tests wouldrandomly crash with the following error: We detected that the ..read more
Visit website

Follow BigBinary Blog on FeedSpot

Continue with Google
Continue with Apple
OR