Web articles by our experts
Elixir is a modern functional language, built on the basis of Erlang (in fact, it uses the Erlang virtual machine) as a more approachable alternative. It’s scalable and fault-tolerant, perfect for projects where efficiency and minimising costs are important. We’ve spoken to Bartosz, iRonin’s Elixir expert, about his adventure with the language, starting with his learning process and ending with what he appreciates the most about Elixir.
Testing is a crucial element of a good development process, and here’s why.
By testing your app thoroughly and early, you can make sure your project requirements are sensible and will allow the app to meet users’ expectations. Proper testing can help you avoid technical debt, improve team flexibility, take on a modular approach and reuse code, and more.
So why are good testing processes so rarely implemented?
Dec 4, 2018
Site Reliability Engineering is a less known methodology that expands on the DevOps approach. Pioneered by Google, SRE helps businesses lower operational costs, automate and monitor their infrastructures better, fix communication issues and speed up product development. Becoming a Site Reliability Engineer requires an eclectic mix of development and SysOps skills, as well as soft skills that improve communication. We’ve spoken to Daniel, our resident Site Reliability Engineer, about his work and SRE as a trend, to find out when a company should use the approach and what it takes to follow the SRE philosophy.
Stakeholders - and, as some would claim - Project Managers in particular, are often dismissive of the quality of the code produced by a software development team. They care about fast results, about delivering on a project and quickly moving on to the next one. This topic came up in a recent discussion in which iRonin’s CEO, Cyprian, participated - and he has some strong opinions on the subject. One of them is that spaghetti code is not at all as tasty as it sounds, and that the developers who produce it are solely responsible for it.
Go is a popular programming language used for microservices and concurrency. Thanks to its speed and ease of use, it has been adopted by companies such as Google, Dropbox, Uber and Apple. It was designed by Google engineers and introduced in 2009, which makes it relatively young - and, as a result, not all that well known. We’ve spoken to Rafał, our Go Developer, about the advantages of Go and ways in which businesses can leverage it for the highest possible gains.
Nov 8, 2018
There are yet places in the world where owning a bank account is not an obvious fact of life. It’s usually due to the high costs of maintaining an infrastructure for an electronic payments system. There are also regions where 20% of a dollar’s value would be the cost of printing it. It’s obvious how such factors put an extra financial burden on the region and its citizens. Luckily, fin-tech companies that can change things have begun to appear. iRonin’s cooperation with one such company will soon begin.
Oct 30, 2018
What is Site Reliability Engineering (SRE)? Short answer: it’s an idea pioneered by Google, with the goal of introducing higher reliability and accountability for software products while leaving ample room for innovation. Long answer: let’s start at the beginning.
Using Policy Objects helps to keep your code clean, tight, and most of all, correct. Today’s blog post walks through Policy Object solutions used in a large Ruby on Rails application. Check it out!
Node.js and Ruby on Rails are two excellent choices for companies developing web-based applications. In most cases, either one of these two technologies will do the job. Ruby on Rails has recently been cited as the better option for smaller projects and teams, when speed of development and time to market are the most crucial aspects. Node.js can often do better when a large team wants to work on a project simultaneously by dividing it into modules, and to improve performance in specific cases. And sometimes, it’s the other way around. This article contains a breakdown of the main advantages and disadvantages of Ruby on Rails and Node.js, to help CEOs and startup founders decide which technology will better serve their business.
An MVP, or a Minimum Viable Product, is the initial version of a new product that consists only of the most essential features. Its goal is to work well enough for early adopters while allowing the development team to gather insights and user feedback, locate issues as well as identify the most valuable features. Once the concept has been proven and the product has been adjusted to fit the market reality, development can move forward at much less risk. If you’re not convinced, this article will list why building an MVP is a good idea and how to leverage Ruby on Rails to do so efficiently.
You have your Ember web app. You know you want to use CloudFront for your CDN and S3 for storage. But how do you put all the pieces together? This article from our DevOps experts guides you through all the code and commands necessary for configuration and deployment.
Oct 3, 2018
If you’re looking for a Ruby on Rails development team, you likely know RoR’s advantages. It’s a great back-end framework for rapidly developing robust web apps. Thanks to how mature both the community and the technology are, Rails resources (most iconic of which are its libraries, called gems) are stable and trustworthy. Instead of writing a user registration feature from scratch, developers can focus their attention on what makes the project truly unique. And on top of all that, Rails’ testing culture and support are excellent.
Knowing this, what you need next is to find the experts that’ll help you leverage Rails’ strengths.
Do you know what Airbnb, GitHub and Kickstarter have in common? Their websites are built with Ruby on Rails, a well-known and much-loved back-end framework. Though widely used for large-scale projects, Rails offers a particular advantage to startups, as it allows for rapid development and helps shorten time-to-market while maintaining high code quality. Rails is a web framework for the programming language Ruby, which has been around since the mid 1990s and is still popular among developers. Its main rivals in the world of web development are Python and PHP, and in this article, we’d like to take a closer look at the advantages and disadvantages of these three technologies.
Sep 14, 2018
Node.js is a modern back-end technology for building web applications, particularly real-time ones. The technology’s goal is to be efficient and lightweight, and to allow for building fast, scalable products. It’s being used across industries, including fintech, social media and e-commerce. Node’s many advantages apply particularly well to SaaS platforms. Here’s how.
Sep 5, 2018
Ember.js is a front-end framework primarily used for avoiding repetitive development work. Features common to every app have been built into Ember, which allows developers to focus on the unique aspects of their product. Developers love Ember for its sensible design, good documentation and simplicity. The framework has never been as popular as some other ones (e.g. Angular), but it has dedicated fans and is still going strong in 2018. In this article we answer the question of whether it’s still a good idea to use Ember for your new project.
Aug 29, 2018
Software as a Service (SaaS) projects face many unique challenges during development. Teams working on SaaS products need to focus on scalability, to make sure new modules and functionalities can be built easily as the platform develops and customers present special requirements. They need to be able to test their code easily and deliver a high-quality experience to enterprise clients. Thankfully, Ruby on Rails is a technology that helps SaaS companies solve many of these issues.
Integrations can oftentimes be a challenge to implement. Every system and website is different, with a unique internal architecture, capabilities and limits. Because of this, integration might require writing separate code for each system, as was the case for one of iRonin’s clients, an employee referral system used by many companies on their unique websites.
Recently, we had an interesting request from one of our clients where we needed to implement time travel for testing purposes - or fake time travel at least! The Quality Assurance (QA) team of one of our clients wanted to test functionality under particular time constraints within their application. To do that, they needed is to move the application’s internal clock to check and see whether some these time-based actions were allowed or forbidden (depending on the case). Mocking up operating system’s datetime settings on Heroku was the answer, with setting up environmental variables for datetime testing. Heroku datetime testing in a Ruby on Rails application required a little configuration - but we were able to get the job done.
Jul 20, 2018
Finding excellent Node.js developers can be a real struggle. Many companies won’t even know what exactly they are looking for! We have gathered together some of the best practices for both general and Node.js software development to help out. Read on to find out how to spot a specialist in web applications development and what habits he or she should follow when handling Node.js ventures.
Jul 13, 2018
Are you using Datadog and Heroku? Would you like to send your Ruby on Rails application’s logs to Datadog for history purposes and easier processing? We will show you how to do it.
Jun 29, 2018
When your code updates don’t get accepted to an open-source project. Whether to fork, forget, or build elsewhere: sometimes it’s a combination of approaches that is the winning strategy.
A brand new offer for a Senior Ruby on Rails Developer position is available on our Careers website! If you feel like you’ve been waiting to apply for ages, then wait no longer and take a step forward!
Jun 8, 2018
Node.js has been used by many renowned companies for creating their web applications. You probably don’t realize how many of these you are already dealing with in your everyday life. Node.js is a mature technology for web application development, one full of advantages, that can be - and has been - used in huge commercial projects. Let’s take a look at which ones exactly - and why these famous companies decided to move their apps to Node.
May 25, 2018
May 17, 2018
When you’re using Solr, sometimes the search can index records that have already been removed from your database - causing some frustration. Here’s how to remove these hanging records from Solr so you have a clean search again.
Apr 20, 2018
Often improving performance means saving money, and vice versa - when looking into how to save money, we can find ways to optimize the performance of Ruby on Rails apps. We care deeply about efficient and economic work, so we often come up with solutions to save money, development time and make our jobs easier.
Design patterns in large Ruby on Rails web applications: constructing a Query Object class that is responsible for elegantly querying a database. Read our blog post to find out how to make a simple and easy to test Query Object implementation within a Rails application.
Mar 16, 2018
It’s time to get started with Part 4 of our GraphQL series. This time we will build an API with Ruby on Rails. This will provide the same features and functionality as an API built with Node.js, as we covered in part 2.
Feb 23, 2018
In part 3 of our GraphQL series, its time to put our API into action - this tutorial will guide you through creating a simple GraphQL client web app, all through the use of the Vue.js framework. Contains all the relevant code you need for the project!
Feb 9, 2018
This article marks the latest chapter in our GraphQL series. In the first part of our series, we went through Explaining GraphQL and How it Differs from REST and SOAP APIs. GraphQL is a newcomer in helping us to build efficient APIs and is becoming a highly viable alternative to REST.
Those in the know use Arel as a clever SQL AST manager for Ruby. It makes SQL queries easy to read, reliable, and secure - and it’s database agnostic. Learn the basics of Arel right here in our mini-tutorial.
Dec 28, 2017
Part 3 in our series, our final blog post tackles uploading files from your Ruby web app to S3 as a background process using the Shrine gem, referenced only by a remote URL. Detailed instructions and code inside!
Learn how to directly upload files from your Ruby web app to Amazon S3 storage using the Shrine gem in Part 2 of our series. Covers all the code and configuration files you need to upload efficiently as a background process.
Dec 6, 2017
A step-by-step guide to sending emails from a Phoenix web app (Elixir). If you don’t have any on hand - don’t worry, we will show you also how to create a Phoenix app, then how to write your first mailer to be sent from it and how to preview emails during development. Let’s go!
Store Your Files on S3 Using the Ruby Shrine Gem (Part 1 of our series), details how to set up the Shrine gem and configure it for uploading files to S3. Our goal for the series is to upload files as a background process, as well as check the files for correctness as a security measure. Follow our step by step instructions right here.
Nov 23, 2017
There’s a new kid in town… GraphQL presents a new way to build APIs, that builds on solid concepts of the past and comes to grips with the inefficiencies RESTful architectures. Check out the differences, similarities, and comparison code snippets in this article.
Storing web application user files is quite easy with Amazon S3, Amazon’s highly scalable and durable object storage. We will show you how to connect it to your Ruby web application and manipulate files on it with a use of a Ruby Fog gem.
Sep 15, 2017
An introduction to serverless architecture; we outline the pros and cons of using this setup for running applications and take you through an example serverless app. We’ll guide you through building your own serverless web service with Node.js so you can see just how efficient this technology really is.
Built your interactive web application using Vue.js with Webpack and wondering how to deploy it? We explain how to deploy Vue.js Single Page Applications to Heroku.
Jul 14, 2017
At iRonin, we have a vast amount of experience in creating interactive web applications. In this piece, we would like to show you how to write Single Page Applications with the Vue.js framework, with ready-to-use solutions and code snippets as examples.
Jun 28, 2017
In the super critical sphere of fin-tech web app development, there’s no room for mistakes. Find out in our case study of a Ruby on Rails US Lease Management System the best practices for dealing with systems where customers real money is at stake in every line of code, every piece of the infrastructure, and in every hour of the day.
Here’s the story of how we took the Creatubbles kids’ creative platform app, and breathed fresh life into it - with an Ember.js Single Page Application frontend, for awesome User Experience and a fast and responsive interface. Shout out to working with an excellent global software development team on this project!
May 26, 2017
84K in savings a year? Yup, that’s how much we managed to save this one company by migrating their app from Heroku over to AWS and reconfiguring their code – all because we were fine tuning performance. Moral of the story here is: make sure the team you have on board to write your code are good at what they do – otherwise you might just need to get our DevOps and software developers team in to help sort things out later…
May 10, 2017
We just love it when we stumble on new ways of doing things that make our lives easier. As developers, finding a new solution or tool that fixes issues with the way we’ve been doing things is sort of like finding gold.
Mar 3, 2017
Working correctly with database indexes is always the key to application performance and reliability. Especially when the amount of data grows rapidly, well designed database architecture really pays off. However, when we’re working with database indexes, it can be easy to miss something, or fall into the trap of a tricky outlying case. One of these is when performing unique indexing on multiple columns, where at least one of them is null.