All Ruby on Rails Node JS Android iOS React Native Frontend
Some time ago I had a chance to build a very small app handling HTTP requests coming from the Slack. I decided to choose a lightweight framework, so I skipped Rails in favour of Sinatra. In this blog post I would like to help you out with the first steps toward using something different than Rails, but from its perspective. Why? Well, a lot of Ruby developers might be called Rails developers because the only framework they have ever used is Rails. As you may notice here, there are many other web frameworks for Ruby and I’m pretty sure that most of them sound strange to you. Let me introduce Sinatra!
Read more
In our previous article from the Pragmatic iOS Development series, we discussed the Model View Controller pattern and why (in my opinion, unrightfully) it is criticised within the community. I also mentioned two things about selecting perfect architecture for your project. The first thing was that there’s no happy medium that fits all of the use cases. Secondly, in the last sentence of the article, I gave a sneak peek of the architecture you’re going to fall love with, MVA. But there’s one thing I lied about: that there’s no architectural approach you can fit to any project you can think of. The truth is, such approach exists. And hey, good news: we’re going to focus on it today, and I’m going to tell you how to take advantage of this approach.
Read more
The word ‘startup’ has become very popular these days. So many of us have had an idea for a great product for a long time in their minds, but only a few have decided to do something more with them. There are many reasons behind this lack of activity, however, one of the most popular reasons is that we don’t have the skills in a particular area. Today, I would like to tell you my story, where two students with no knowledge of a field decided to create a prototype of their idea and participate in the Nordic Semiconductor Student Contest. Those students decided not to create something that looks like a real product, but something that really works.
Read more
MQTT (the acronym that, apparently, shouldn’t be expanded to Message Queue Telemetry Transport anymore) is a communication protocol focused on energy efficiency, data-transfer minimization, and assurance of delivery. These three qualities make it the perfect choice for any Internet of Things projects where the Internet connection is given but can be unreliable. Definitions aside, we can use MQTT for:
Read more
Git is the most popular version control system in the entire known universe. Somehow, I wasn’t part of this universe until about six months ago. In my last workplace, we got by using SVN. Looking back, I don’t even know why we chose SVN. Oh wait, I know – it was one of those things that belonged to the list of the company's long-running traditions, and nobody took the initiative to change it.
Read more
On 30th of March long awaited iOS 11.3 update was released, with support for basic PWA features on iPhones and iPads – service workers and app manifest files. As it is great to finally have a support for those, user experience of Progressive Web Applications on iOS is still not perfect.
Read more
Welcome to the five-part series of blog posts about SOLID Principles. In each part, I will describe and analyze one of these principles. In the last part, expect a summary of the entire series containing a few tips and thoughts.
Read more
Conditional Assignment Operator! The rules says: A ||= B assigns B to A only if A is nil or false So, what if A is actually nil or false? Should we care?
Read more
During the last Netguru team dinner a friend showed me a neat feature of his fancy Samsung device - Gesture Control to Take a Selfie (detecting hand to take a selfie). For some time now I’ve been interested in machine learning and I thought of implementing this myself. To solve this problem I’ve used Object Detection API SSD MultiBox model using mobilenet feature map extractor pretrained on COCO(Common Objects in Context) dataset. Follow these steps to create a simple hand detection app and see the results of my experiment:
Read more
In order to make the syntax for loop iteration and control flow statements safe and natural to read, Kotlin standard library provides a concept of ranges. In this post we are going to explore how to use range expressions in action. First, we are going to discover a built-in ranges implementations for the integral types like Char, Int or Long. Next, we are going to implement a custom progression for the LocalDate class.
Read more
Newer
Need a successful project?
Estimate project or contact us