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 ]

The rise and fall of the OLAP Cube

Categories

Tags big-data data-science miscellaneous database software-architecture

One of the biggest shifts in data analytics over the past decade is the move away from building “data cubes”, or “OLAP cubes”, to running OLAP workloads directly on columnar databases. By Cedric Chin.

Online Analytical Processing (or OLAP) is a fancy term used to describe a certain class of database applications. The term was invented by database legend Edgar F. Codd, in a 1993 paper titled Providing OLAP to User-Analysts: An IT Mandate.

-The OLAP cube grew out of a simple idea in programming: take data and put it into what is known as a “2-dimensional array” —-that is, a list of lists.

This is a huge change, especially if you’ve built your career in data analytics over the past three decades. What are the tradeoffs? What are the costs? Is this move really as good as all the new vendors say that it is? And of course, there’s that voice at the back of your head, asking: is this just another fad that will go away, like the NoSQL movement before it? Will it even last?

The article main parts are:

  • What the heck is OLAP?
  • The performance challenges of OLAP
  • The rise of the OLAP Cube
  • Wither the OLAP Cube
  • A new paradigm emerges

Tech-savy companies like Amazon, Airbnb, Uber and Google have rejected the data cube paradigm entirely; these events and more tell us that we are going to see both trends spread into the enterprise over the next decade. Excellent read!

[Read More]

Here's what I learned about SaaS during my 5 years at Buildium, after it sold for $580M

Categories

Tags software-architecture startups how-to software

I think it’s clear that the world of technology start-ups is pretty screwed up when it comes to financial valuations. Only in this world is whether or not your company is profitable so often seen as being of secondary importance. I digress. By Geoff Roberts.

In this post author is going to share the most important lessons about growing a SaaS business that he learned at Buildium—collectively, these things had an awful lot to do with the company being valued so highly.

Some highlights from this article:

  • Focus on a market segment until you dominate it
  • You don’t need a huge TAM (Total Addressable Market) to build a big company
  • The early team is everything
  • You can design any sort of equity structure that you want
  • Venture capital is a tool and a commitment, not an outcome
  • Don’t discount the value of “non-recurring” revenue
  • What you do behind closed doors says everything about your character

… and much more. The lesson here is simple: Don’t be distracted by new or adjacent markets until you’re truly winning and dominating in your own. Good read!

[Read More]

Exploring an Apache Kafka to Pub/Sub migration: Major considerations

Categories

Tags software-architecture apache streaming big-data machine-learning google

In many cases, Google’s Pub/Sub messaging and event distribution service can successfully replace Apache Kafka, with lower maintenance and operational costs, and better integration with other Google Cloud services. By Leonid Yankulin.

The fastest way to migrate a business application into Google Cloud is to use the lift and shift strategy—and part of that transition is migrating any OSS, or third-party services that the application uses. But sometimes it can be more efficient and beneficial to leverage Google Cloud services instead.

The article deals with the following (in detail):

  • Pub/Sub key advantages
    • Zero maintenance costs
    • A push mechanism
    • Integrated logging and monitoring, and more …
  • Key differences affecting migration decisions
    • If you use exactly-once message delivery
    • If you consume messages that were published longer than seven days ago
    • If you use log compaction, random message access or message deletion
    • If you use keyed message ordering

Further reading and resources also included. Great job!

[Read More]

TypeScript's secret parallel universe

Categories

Tags javascript web-development nodejs

Florian Reuschel put together this tutorial for new TypeScript users. He focuses on one of the most underreported topics in the TypeScript tutorial world: the type scope.

The author centers this article around how he approached solving problem when he was writing a library with a bunch of classes distributed over various folders. For the library’s public API, I wanted those classes to be exposed as a single nested object (e.g. the Console class from Output/Console.ts being available as API.Output.Console).

TypeScript has a secret scope. TypeScript basically maintains a type scope which is completely independent of the variable scope of JavaScript. This means that you may declare a variable foo and a type foo in the same file. 🤯 They don’t even need to be compatible.

Now classes in TypeScript are a little bit special. What happens if you define a class Foo is that TypeScript not only creates a variable Foo (containing the class object itself) it also declares a type Foo, representing an instance of the Foo class.

Read more, to get the rest of infor from this excellent article!

[Read More]

The building blocks of visual design

Categories

Tags ux web-development miscellaneous

Visual design is about creating and making the general aesthetics of a product consistent. To create the aesthetic style of a website or app, we work with fundamental elements of visual design, arranging them according to principles of design. By Yu Siang Teo.

These elements and principles together form the building blocks of visual design, and a firm understanding of them is crucial in creating a visual design of any product.

While a close examination of each element is usually not necessary in your daily work as a designer, the principles of design — how to place the elements together to build pages and app screens optimally — play a crucial part in your role.

The article then goes over:

  • Elements of Visual Design
    • Line, Shape, Negative space, Volume, Value, Colour, Texture
  • Examples to highlight design elements and principles

Learning how to achieve unity, gestalt, hierarchy, balance, contrast, scale, dominance, and similarity will be extremely useful as you work in visual design. You will also get charts and images help to explain the main points in the article. Nice read!

[Read More]

Successfully porting complex data-driven frontends to React with GraphQL

Categories

Tags react nodejs javascript apis web-development

When porting existing code to React, there is a couple of things to look out for. This article shares my experience while porting a section of a Rails app to React and consuming data through GraphQL. By Neel Barthel.

The main points explained:

  • Build context, assess what you are porting
  • Make a plan, identify the core components that are necessary
  • Make a plan, identify the core components that are necessary
  • Figure out where and how to get the data
  • Decision making and planning, aligning the team

… and much more. Look at performance early, you don’t want any surprises right before or after launching 🚀. And remember: don’t ship without doing a bug hunt before. Well done!

[Read More]

Building Angular CLI projects with Github Actions

Categories

Tags angular nodejs javascript

The Angular CLI provides all the built tools out of the box to create, build, and test Angular applications. In this post, we will build a continuous integration (CI) build system using Github Actions. By Cory Rylan.

Described CI process will run our build and unit tests anytime we push to our repository. Using the new Github Actions feature, we can easily integrate a CI system into our Github repositories. Author can build and test our entire project with just a few commands.

To run these commands in Github Actions environment, we need to add a new dependency called Puppeteer. Puppeteer is a headless version of Chrome browser.

The fairly detailed explanation then focuses on:

  • Running Angular unit tests with Puppeteer
  • Integrating the Angular CLI with Github Actions

Code is well explained. And remember demo code is available in this GitHub repository. Well done!

[Read More]

Create a React Native image recognition app with Google Vision API

Categories

Tags miscellaneous apis google restful

Aman Mittal created this tutorial which focuses on utilizing Google Cloud Vision API for you React Native App. Google Cloud Vision API is a machine learning tool that can classify details from an image provided as an input into thousands of different categories with pre-trained API models.

In this tutorial, you are going to learn how to integrate Google Cloud Vision API in a React Native application and make use of real-time APIs.

The author uses Expo. Expo provides a set of tools to create and publish React Native applications with minimal effort.

The content of the tutorial:

  • Installing Expo
  • Setting Up Firebase
  • Building The App

The code is well explained in the article. You will find the complete code inside this GitHub repo.

[Read More]

SQL Injection: A beginner's guide for WordPress users

Categories

Tags sql database miscellaneous cloud

SQL injection, or SQLi, is an attack on a web application by compromising its database through malicious SQL statements. As it’s a common attack, let’s try to learn more about what it is, how it happens, and how to defend yourself from it. By Shaunik Daityari.

SQL injection, or SQLi, is a type of attack on a web application that enables an attacker to insert malicious SQL statements into the web application, potentially gaining access to sensitive data in the database or destroying this data.SQL injection was first discovered by Jeff Forristal in 1998.

The article deals with:

  • What is SQL Injection?
  • How does the SQL Injection vulnerability work?
  • Types of SQL Injection
  • How to prevent SQL Injections
  • SQL Injection in WordPress
  • Is SQL Injection illegal?

An SQL injection is prevalent even today and the severity of injection attacks in a web application is recognized widely. It is one of the top ten most critical web application security risks by OWASP. Nice one!

[Read More]

Parse, don't validate

Categories

Tags programming functional-programming software-architecture

Alexis King wrote this piece about his concise, simple way to explain what it means to practice type-driven design. He has now a single, snappy slogan that encapsulates what type-driven design means to him, and better yet, it’s only three words long: Parse, don’t validate.

The article then explains:

  • The essence of type-driven design
  • Turning partial functions total
  • The power of parsing
  • The danger of validation
  • Parsing, not validating, in practice

Author’s advice is to focus on the datatypes. And follow 2 simple ideas: Use a data structure that makes illegal states unrepresentable and push the burden of proof upward as far as possible, but no further. That said, it is not always easy. Excellent read!

[Read More]