The Top Scalac’s Posts of 2020

Hello dear reader,

We’ve been writing more than ever this year with 36 articles about tech, business, and backstage at Scalac. We were excited to see that our website had over 280,078  views in 2020. Furthermore, we wanted to say a huge thank you to all of you because it really means a lot to us. Likewise, we hope our posts have continued to be useful and engaging.

Since the year is wrapping up, we have decided to create a “top posts of the year” list. We’ve gathered together Scalac’s Top 10 technology related posts of 2020 and Top 5 business-related articles all into two lists below. 

This is a great way to catch up on any posts you may have missed or wanted to check out again.

Thanks again for reading!

Top 10 Technology Articles

10. What is Kubernetes, and why is the tech world going crazy about it?

kubernetes

Kubernetes might not be new anymore – but it still has a lot more to offer. . Only recently has it started to really take off with 78% of enterprises surveyed by The Cloud Native Computing Foundation (CNCF) using it. But Kubernetes only started getting the attention it deserves recently. If you still don’t know what all the fuss is about, or you don’t really understand what is so interesting about this platform, now might be the right time to start finding out. 

Here’s a great article all about  Kubernetes,  explaining why you, like everyone else, will fall in love with it.   

9. How can we make Machine Learning safer and more stable?

Machine Learning Robustness

In this blog post, we explain why Machine Learning models – although impressive and powerful – can sometimes have serious problems in terms of security and safety. , Usual training methods are far from perfect, and we illustrate how training can be made more robust, creating models that are more stable and meaningful to humans. Using an example of binary classification, we create a simple binary classification to recognize the digits zero and one from the MNIST dataset.  Then we show how we implemented our experiments, finishing up with the final results.

8. How to create an automation process using AWS, IaaS, IaaC, and CICD

AWS Orchiestration

On first joining the Scalac DevOps engineers crew  I had to do some stocktaking.  I was astonished to unearth we had two Jenkins instances working simultaneously,  not to mention some servers in OVH, and nodes in Microsoft Azure, and on top of all that I was shocked to find that everything else was working from a Desktop PC in HQ (known as the Red Devil).  Not only that but there was a mix of both production and dev environments on the same servers without any segregation, not to mention every service was launched on screen. 

This is the story of how we consolidated everything so that management, modification, and maintenance were definitively changed for the better.

7. Tapir vs Endpoints4s – The battle of the endpoints’ definition!

Scala libraries

In this article, we highlight the differences between Tapir and endpoints4s We provide examples and explanations for the most common features in your REST API. Both libraries require only a  description of the communication protocol in Scala, which is then wired with a specific HTTP Server (such as  Akka HTTP) and/or body parsed (e.g. Circe). The library ultimately produces clients, documentation, and servers with implementations of the choices you made. 

Here we show you how to do it, the pros and cons of each library and we reveal who finally turned out to be the winner. 

6. How we reduced costs and simplified solutions by using Apache Druid

Apache Druid Scala Development Company Solution

In this article, we illustrate some of the important lessons we learned while migrating from Apache Spark + Apache Cassandra to Apache Druid.

5. JVM memory management. How to find and prevent memory leaks

Scala Development Company

Although JVM is much less prone to memory leaks than say  C, leaks can still happen.  In addition, the question of which GC algorithms you choose and how you parametrize them can greatly influence performance. If you want to code intentionally (the only professional way to do it) you need to understand what is going on under the hood so you can prevent and diagnose any problems that may arise. 

Here we show you some useful tools and techniques to help you discover why your application might be crashing or slowing down instead of working in the way it was designed to. 

4.  Build your own Kafka in ZIO – Queues & Fibers

ZIO Kafka Queues and Fibers

Queuing and messaging platforms are popular these days because they can solve a lot of problems around asynchronous messaging and they can help uncover underlying consumer and producer patterns. This blog post shows how we built our internal clinic messaging system using a basic message broker functionality with ZIO, specifically  ZIO Queues and ZIO Fibers.

3. Rest Assured API Testing Tutorial. How To Use Rest Assured With Java And Scala.

Scala Development Company

When it comes to testing – automation is the word on everyone’s lips. . But why specifically a tutorial on Rest Assured API testing? When we’re talking “automated tests”, GUI tests written in python/java with SeleniumWebDriver or possibly Cypress.io are right at the top of the apex.

The real core of testing however lies in unit tests which form the basis of the quality of the software testers, on the other hand, most often have to test the API, which doesn’t need to be automated, but can also be carried out manually using backend testing.

2. How to write a (completely lock-free) concurrent LRU Cache with ZIO STM

lru cache zio stm

Like everything else under java.util.concurrent – writing concurrent data structures using traditional tools is generally very complicated. To avoid common concurrency issues, such as deadlocks and race conditions, you need to really think about what you’re doing.  And let’s face it, it’s virtually impossible to predict all of the possible scenarios that might. arise  

So, here we take a look at how ZIO STM can make concurrent data structures – such as a concurrent LRU Cache – so much easier to write in a completely lock-free, simpler way.

1. Why Scala beats Kotlin.  A senior engineer’s opinion

Scala Development Company Scala vs Kotlin

Why is it that some developers prefer Scala over other languages? And why is Scala so necessary and important to developers?  This post was originally meant to compare Scala vs Kotlin. But while talking to our senior engineer (previously a Java engineer) we discovered there was a much better story to be told. – Here’s the story about how developers are saying Scala actually makes them feel like they can start to enjoy their work again. Here’s the full truth about Scala.  

Top 5 Business Articles

5. Duolingo Case Study: Why Did They Choose Scala?

Scala Development Company

Python is popular with developers because it’s easy to understand, which is why it has become one of the world’s most popular languages. Like many other organizations, Duolingo’s backend was originally written in Python. However, it has some issues, one of which is speed. Python can be noticeably slower than Java or C, and its dynamic typing the cause of runtime bugs. Because of these challenges, the Duolingo team decided to move to Scala. 

4. What is functional programming and why does it matter for your business?

Functional Programming

However, there is little information on the web about the benefits of functional programming for businesses despite this newfound popularity. Business is understandably a bit cagey when it comes to anything new, with good reason. So, in this article we reveal what functional programming is, and why it could be important for your business. 

3.  Companies Pioneering The Use Of Distributed Systems

Scala Development Company

More and more major companies have been swapping their cumbersome, monolithic applications for distributed systems, bringing more client satisfaction, reduced costs, and higher revenue And many smaller businesses and startups are starting to recognize the benefits too. 

Here, we investigate six of the world’s most prominent companies,  and we see how and why they have managed to successfully implement their own distributed systems.

2. Working remotely – a simple guide for people who want to start but are afraid to

Remote Scala Development Company

 With three years of experience under Michal under my belt, we can assure you he has discovered it’s more than possible to successfully connect with coworkers remotely and motivate them well enough to keep any project running smoothly. That’s not to say that breaking free from the usual rules of the workplace won’t be a challenge.

In his case, experimenting with different ways of working, and working remotely  became a perfect  opportunity to continue on his quest to discover the perfect work environment. Here is what he learned. 

1. Zalando case study: why they chose Scala

Scala Development Company

As Zalando developed into the  e-commerce giant it is today, , there came a point when they  decided to switch from Java to Scala. Remarkably, they did this  in less than three months, despite the massive effort needed.

Wondering how on Earth they managed to do  it? Or maybe you’re thinking, could this be the right choice for your company too? Find out more here!

Bonus: Top 3 Scalac’s eBooks of 2020 

Mastering modularity in ZIO with Zlayer

Mastering Modularity in ZIO with Zlayer EBook

Learn about how to build highly composable applications from small building blocks thanks to ZIO (a Scala library for purely-functional design).  Get to know modularity in ZIO directly from ZIO contributors  . Available as a free Ebook. 

Download it now! 📥 

How to GraphQL with Scala

How to GraphQL with Scala

Scala is popular because it is ideal for delivering efficient and scalable systems. . It is a language that , is known for reliability and robustness. Scala leverages Java VM, gives support for Functional Programming, has a rich ecosystem, and its stable foundations allows building applications to be built quickly and easily. In this eBook you’ll discover how to build your own GraphQL server using Scala  along with the following technologies: 

  • Scala — Scala language 
  • Akka HTTP — a Web server to handle HTTP requests. 
  • Sangria — a library for GraphQL execution 
  • Slick — a database query and access library. 
  • H2 Database — an  in-memory database. 
  • Graphiql —  a simple GraphQL console to play with. 
  • Giter8 —  a project templating tool for Scala.

Download the e-book 📥 

How to manage remote employees

Scala Development Company

Managing remote employees might look easy. But for many companies, especially at the beginning, it can be hard. That’s why we have decided to share our experience and practices.   We believe that remote work if implemented properly, can bring huge benefits to your business. Most important is to build Topenness and trust alongside practical everyday work solutions.  We believe that remote working is more than just another way of organizing a workplace, we believe it’s a different kind of philosophy, an entire culture of work.

1. How remote work can create opportunities for your company

2. How to manage remote recruitment and onboarding

3. Tips on how to help remote workers increase productivity

4. What managers can do to connect meaningfully with remote team members

Download the e-book 📥 

Goodbye 2020, hello 2021!

See you next year! And in every new article ;) 

Remember that if you want to get notifications about new posts you should sign up for our Newsletter! 

    Newsletter

    Author

    blank
    Daria Karasek

    Marketing Hero at Scalac. I strongly believe in creating opportunities rather than waiting for them to come. As befits Scalac team member I'm a hard worker, I always try to do the right thing and have a lot of fun! I'm an awesome friend and content writer, in that order. When I'm out of the office, I love to cook delicious Italian food and play board games with my friends. #boardgamegeek

    Latest Blogposts

    24.02.2021 / By Daria Karasek

    Technical debt: the nuts and bolts

    Today, we’re going to cover this topic in detail, highlighting the challenges and characteristics of technical debt for each and every company.

    23.02.2021 / By Jesus Aguilar

    What is Apache Kafka, and what are Kafka use cases?

    Apache Kafka is the most popular event streaming platform, used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications

    16.02.2021 / By Emanuel Oliveira

    Scala 3 / Dotty – Facts and Opinions. What do we expect?

    Scala 3 is the new major version of the Scala programming language. In this article we’ll highlight some of the changes that we think are of great value for day-to-day Scala programmers. We’ll also talk about the migration process and binary compatibility. Finally, we will conclude with our opinion on this new version.

    blank

    Need a successful project?

    Estimate project