Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Web components

Categories

Tags web-development css frontend miscellaneous open-source

Guide to web components by Vernes Pendić. Web components are one of the most useful, built-in, standardized (W3C), browser features added recently. This article will guide you through understanding what they are and how to use them.

Web components contain 4 sub-specifications that describe the available possibilities regarding DOM element manipulation. The first two, Custom elements and Shadow DOM, are more important and we’ll talk about them further.

The article content is split into:

  • Custom elements ⚙️
  • Shadow DOM 👻
  • Additional functionalities

As such not all browser vendors have taken advantage of all of its capabilities (list of browsers that support the specification) but with the help of polyfills, their use can be extended on the majority of browsers. There is also plethora of links to further resources and reading. Good read.

[Read More]

How to manage your machine learning workflow with DVC, Weights & Biases, and Docker

Categories

Tags big-data machine-learning software-architecture

James Le wrote this article in which he wants to show 3 powerful tools to simplify and scale up machine learning development within an organization by making it easy to track, reproduce, manage, and deploy models.

Managing a machine learning workflow is hard. Beyond the usual challenges in software engineering, machine learning engineers also need to think about experiment tracking, reproducibility, model deployment, and governance.

The article discusses the following:

  • Using version control with DVC
  • Tracking experiments with Weights & Biases
  • Deploying Models with Docker

DVC is a handy tool built to make machine learning models shareable and reproducible. It is designed to handle large files, data sets, machine learning models, and metrics as well as code. Using emerging platforms can keep your projects organized and make you more productive as a machine learning engineer. Nice one!

[Read More]

Federated Learning: Challenges, methods, and future directions

Categories

Tags machine-learning big-data data-science

What is federated learning? How does it differ from traditional large-scale machine learning, distributed optimization, and privacy-preserving data analysis? Learn from the blog post by Carnegie Mellon University.

Mobile phones, wearable devices, and autonomous vehicles are just a few of the modern distributed networks generating a wealth of data each day. Due to the growing computational power of these devices—coupled with concerns about transmitting private information—it is increasingly attractive to store data locally and push network computation to the edge devices.

The article deals with:

  • What is federated learning?
  • What are the challenges in federated learning?
  • Federated Learning @ CMU
  • Future Directions

Much more detail in the article. These challenging problems (and more) will require collaborative efforts from a wide range of research communities. Good read!

[Read More]

Simplifying Microservices on Kubernetes with Microsoft's Dapr (Distributed Application Runtime)

Categories

Tags microservices docker kubernetes software-architecture

Gokul Chandra put together this tutorial on hot topic of microservices. Majority of the issues that developers often run into while developing microservices for edge or cloud, revolve around event-driven needs.

Dapr (Distributed Application Runtime) uses a side-car pattern which is similar to side-car implementation in service mesh architecture, where a local proxy is used to route requests. A key feature of Dapr is that it is completely platform and language agnostic, meaning that it can run on any platform, any Kubernetes deployment, in the cloud or on-premise, and even on any IoT device.

Dapr exposes its APIs as a sidecar architecture, either as a container or as a process, not requiring the application code to include any Dapr runtime code. This brings-in the advantage of having Dapr integrated with existing and legacy code operated through a standard HTTP/gRPC interface. This facilitates enterprise developers to experience the benefits of microservices development without having to rewrite their applications.

The article then explains:

  • Dapr Kubernetes
  • Dapr concepts
  • Spec and service invocation
  • Bindings
  • Pub Sub and Broadcast

… and much more. Dapr today provides an extensive set of building blocks apart from service invocation and state management like: Publish and subscribe messaging between services, Event-driven resource bindings, virtual actors, Distributed tracing between services etc. Good read!

[Read More]

A mini-guide: Build a REST API as a Go microservice together with MySQL

Categories

Tags golang apis sql containers docker microservices

In this mini-tutorial, author creates a simple REST-API with a MySQL database. Author have recently found himself coding and deploying a lot of Go microservices and this is his experience and advice. By Johan Lejdung.

The article deals with:

  • Setup the API – routing
  • Database connection – using go-sql-driver
  • Structs & Dependencies
  • Database Migrations

This coupled with a docker-compose file – containing the database – makes development on multiple machines dead-simple. An undeployable microservice is of no use, therefore author added a Dockerfile to package the application for easy distribution.

The built image is a mere 10MB! The code is available in GitHub repo. Short and sweet!

[Read More]

Using Tableau with Kafka: How to build a real-time SQL dashboard on streaming data

Categories

Tags big-data data-science software-architecture apache

Scott Morris, Software Engineer at Rockset wrote this piece about building a real-time dashboard for operational monitoring and analytics on streaming event data from Kafka, which often requires complex SQL, including filtering, aggregations, and joins with other data sets.

Apache Kafka is a widely used distributed data log built to handle streams of unstructured and semi-structured event data at massive scales. Kafka is often used by organizations to track live application events ranging from sensor data to user activity, and the ability to visualize and dig deeper into this data can be essential to understanding business performance.

The article is then split into:

  • Streaming data from Reddit
  • Connecting Kafka to Rockset
  • Connecting Rockset to Tableau
  • Creating real-time dashboards

… and more plus all the code is included together with explanatory screen grabs. Interesting not just for aspiring data scientists!

[Read More]

GraphQL introduction and integrating GraphQL into your frontend stack

Categories

Tags learning open-source nosql apis restful

GraphQL is becoming the new way to use APIs in modern web and mobile apps. Free and powerful, concise course that will introduce you to GraphQL and integrating GraphQL into your frontend stack, in the shortest amount of time possible. By hasura.io.

The tutorial explores the fundamentals of GraphQL and the things that make GraphQL especially suitable for modern applications, like its realtime capabilities! The course is light on opinions so that once you grok the fundamentals you can go on to choose your favorite libraries, tools and tailor your workflow.

Key topics and takeways:

  • GraphQL vs REST
  • GraphQL queries, mutations, subscriptions
  • Setting up a GraphQL client with Apollo
  • Integrating GraphQL queries in your react app
  • Integrating GraphQL mutations with query variables to handle form input
  • Updating local state after a GraphQL mutation (form input) using Apollo cache
  • Optimistic updates to local state and UI after GraphQL mutations for a slick UX
  • Using subscriptions with a subscriptions hook
  • Building a real-time feed with notifications using mutations and subscriptions

Detailed free introduction into GraphQL which will take you less than 2 hours. Excellent!

[Read More]

Object Oriented Programming in Python vs Java

Categories

Tags python programming java oop

An article by Jon Fincher. This article compares and contrasts object-oriented programming support in Python vs Java.

Java programmers making a move to Python often struggle with Python’s approach to object-oriented programming (OOP). The approach to working with objects, variable types, and other language capabilities taken by Python vs Java are quite different. It can make switching between both languages very confusing.

The article explains how to:

  • Build a basic class in both Java and Python
  • Explore how object attributes work in Python vs Java
  • Compare and contrast Java methods and Python functions
  • Discover inheritance and polymorphism mechanisms in both languages
  • Investigate reflection across Python vs Java
  • Apply everything in a complete class implementation in both languages

Code examples for both languages included. It isn’t a primer on object-oriented programming. Readers should have good knowledge of Java, and also be familiar with coding Python.. Nice one!

[Read More]

How to build a custom Kubernetes Ingress Controller in Go

Categories

Tags programming devops web-development open-source golang

Tutorial written by Caleb Doxsey. It documents his journey to his own Kubernetes Ingress controller. Author rcently switched from Google Kubernetes Engine (GKE) to Digital Ocean as his managed Kubernetes provider. As part of the switch author wanted to also start using a Kubernetes Ingress Controller to map incoming HTTP requests to specific services. After some frustration attempting to get the NGINX Ingress Controller working, he ended up rolling his own in an afternoon.

Even if you have no need to make your own ingress controller, the steps described below are generally useful both for Kubernetes development as well as building HTTP proxies in Go.

The tutorial covers:

  • Overview, including basic Kubernetes setup
  • Ingress Objects
  • Ingress Controllers
  • A Custom Ingress Controller

… and more. Plus each step is well explained and documented with all the code in Golang provided in the tutorial.

[Read More]

Use Kabanero, Appsody, and Codewind to build a Spring Boot application on Kubernetes

Categories

Tags devops software-architecture programming web-development open-source

An article about how to create a modern, cloud-native application. New open source tools from IBM - Kabanero, Appsody, and Codewind - were created to make it easier for developers to build and deploy cloud-native applications to Kubernetes. By Hafid Haddouti.

This article introduces you to Kabanero and shows you how to use it, along with Appsody and Codewind, to build a Spring Boot application running in Kubernetes.

The article is split into:

  • Prerequisites and installation
  • Create a Spring Boot project with Appsody
  • Codewind integration

Kabanero is a new tool in the young and rapidly changing cloud-native environment. In this article, you saw how Kabanero can integrate with other popular open source projects (Knative, Istio, Tekton etc.) and how out of the box it can handle the configuration, installation, and other infrastructure activities. Good read!

[Read More]