FASTAPI VS FLASK

The goal of this blog is to explore the API development in python and try to compare the features on different Parameters.FastAPI and Flask are both such python tools used for creating APIs with their own uniqueness .Django is another famous Web framework widely used in Python Community , but here we are not considering it.Since It is used for monolithic architecture and it is does not support APIs ,however Django-rest is update by Django community for RESTful APIs but still limited use of NoSQL Databases with Django, keeping it out of discussion.

INTRODUCTION

FASTAPI

FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. It is built on top of Starlette, Pydantic, OpenApi and Uvicorn.

  • Under the hood, FastAPI uses Pydantic for data validation and Starlette for tooling, making it blazing fast compared to Flask, giving comparable performance to high-speed web APIs in Node or Go.
  • Starlette + Uvicorn offers async capability, something that Flask lacks.
  • With Pydantic along with type hints, you get a nice editor experience with autocompletion. You also get data validation, serialization and deserialization (for building an API), and automatic documentation (via JSON Schema and OpenAPI).

FLASK

It is a Python micro web framework.Flask is extremely lightweight.It easy to get started with building a basic application to complex back-end APIs.It is used by Netflix, Reddit,and many more.

  • Basic foundation API is nicely shaped and coherent.
  • Flask documentation is comprehensive, full of examples and well structured. You can even try out some sample application to really get a feel of Flask.
  • It is super easy to deploy Flask in production (Flask is 100% WSGI 1.0 compliant”)

 

Introduction to RabbitMQ

 
Overview of RabbitMQ

RabbitMQ is a message-queueing software also known as a message broker or queue manager. Simply said; it is software where queues are defined, to which applications connect in order to transfer a message or messages.

Gridsome - Static site generator

With the increasing popularity of static site generators now-a-days, we are going to discuss yet another and quite effective static site generator, Gridsome. Gridsome which is a Vue.js framework and based on JAMstack architecture, is getting developers attention from quite sometime. So, let's dive into Gridsome and get to know some its core features.

What is Gridsome ?

Gridsome is a static site generator for Vue.js based on JAMstack architecture. Gridsome allows us to create static sites with the magic of Vue.js which means Gridsome creates static pages for us which works as Vue SPA after being loaded in the browser.

From above definition, we came to know a term JAMstack. So what is JAMstack ?

What is JAMstack ?

JAMstack stands for Javascript, APIs and Markup stack. JAMstack is not a framework or library, It is just an architecture or philosophy designed to make web faster, secure and scalable. 

You can read more about JAMstack here.

How it works ?

Gridsome generates static html that works as Vue SPA after being loaded in he browser. This means we can build both static and dynamic apps with Gridsome.

It creates a html file and a json for every page. After first load it only uses json file to prefetch and load next pages. So, it makes it quite fast to navigate through the site.

How to install ?

For creating a Gridsome project, you need to have nodejs installed on your system. In you have nodejs installed, then just run below command:
 

npm install -g @gridsome/cli

Then to create a project:

Introduction to react-native

React Native is an open source mobile application framework created by Facebook, Inc. React Native combines the best parts of native development with React, a best-in-class JavaScript library for building user interfaces. It is used to develop applications for Android, Android TV, iOS, macOS, tvOS, Web, Windows, enabling developers to build multiple applications.

Architecture

intro-react-native-arch

As you can see, there are four core sections: the React code you write (which is very similar to its web counterpart), the JavaScript that gets interpreted from what you write, a series of elements collectively known as “The Bridge,” and the Native side.

1. JavaScript Realm

In the JavaScript realm our program runs on JavaScript, The code here runs on a JavaScript engine. React Native uses score, which is an open-source JavaScript engine for WebKit. This engine runs inside our app on one of the threads and a mobile app has several threads in which javascript is one of them.

2. Native Realm

In the native realm, The developers will develop in Object Swift if it's for iOS or with Java if it's for Android. We will use the native, platform-specific languages that we have used before and the main UI thread will be available as usual. Across platforms, we just need to change the UI from the main UI thread and we will be able to create different background threads as required

Tableau

Tableau is an amazing, powerful and one of the fastest growing data visualisation tool that is used in the Business Intelligence Industry today. Its prime job is to simplify and represent the raw data into the very easily understandable format.

Data analysis is very fast and smooth with this fab tool Tableau . The visualisations created are in the form of various representations like dashboards and worksheets. The data that is created using Tableau can be understood and used by professionals at any level in an organisation. It even allows a non-technical user to create a customised dashboard that can be really fruitful. 

The main features that Tableau offers includes :- 

  • Data Blending
  • Real time analysis
  • Collaboration of data

The best thing about this software is that it doesn't require any technical knowledge or any kind of programming skills to operate. The tool has developed interest among the people from all sectors such as business, researchers, different industries, etc. 

The Tableau Product Suite consists of following features :- 

  • Tableau Desktop
  • Tableau Online
  • Tableau Server
  • Tableau Reader
  • Tableau Public
  • Tableau Prep
Tableau

 

How does Tableau software work ?

Java Memory Management

Java uses an automatic memory management system called a garbage collector

Whereas in other programming languages such as C the programmer has direct access to the memory who allocates memory in his code, thereby creating a lot of scope for leaks

Why programmer should know about memory management?

Rethinking Gender Diversity in Tech

 

A lot is being said about the role of women in technology and there is no doubt there has been a sense of stereotype when it comes to the role of women in computing, programming & coding. For the longest of time, women have been persistently underrepresented in the field of science.

Computing being a male-dominated sphere has suffered from diversity.

Although, one cannot deny the change in the air & the storm of femme power which has hit the tech field. Recent studies have indicated women are significantly becoming more interested in pursuing computer programming and are doing equally as well or better in programming comprehension. On the contrary, there is a long way to go to establish gender diversity.

The need of the hour is to inspire the younger generation to go into this field, without seeking approval.

Kahn’s Algorithm for Topological Sort

Implementation:

BFS + Queue

We will have a Adjacency List, on array which consists of degree of each vertex and a Queue

Let’s see for traverse this algorithm for the graph given below.

                                                                         
                                                                                                    

Step 1: Find incoming degree for each vertex and store it in the array

                                                           

Step 2: Push all the nodes with incoming degree zero in the Queue. As the nodes with incoming degree zero becomes the starting point of the topological Sort (in the previous blog)

                                                            

Step 3: Process the queue and we will take a count variable which will keep track of how many vertices have been processed

Topological Sort

Topological sorting for any graph is possible if it is a DAG

Directed Acyclic Graph (DAG)

A directed graph with no cycle is called DAG

                          

Topological Sort is the linear ordering of the vertices such that for every directed edge UV(U->V) vertex U comes before V in the ordering.

                                                                      

Let’s look at this graph and find the topological sort for this:

Step 1: First find the vertex with 0 degree means no incoming edge

                                                      

So we can start with vertex 4 or 5 .So let’s start with vertex 5

Result= [5]

Since we have one more vertex with degree 0 i.e. 4 we add it in the result list

Result=[5,4]

Step 2: Now eliminate 5 and 4 with their edges and again calculate the degree of each vertex.

Google Website Optimizer : For Testing and Personalization

Your Website Is Your Store Window.

So let me introduce you all to this amazing tool that will let you create personalised experiences for your valuable customers and engage your website visitors like never before.

GWO

 

Google Website Optimizer is a fabulous website optimisation tool that is freely available to all. It helps online marketers increase visitors of their websites and also the conversion rates. But most important of all it helps in increasing overall visitor satisfaction by testing different combinations of website content. It could test any element that existed as HTML code on a page including calls to action (CTAs), fonts, buttons, headlines, product images, reviews, and forms. Webmasters test different versions of an entire page. This is called A/B testing (or A/B split testing). They can also test multiple combinations of page elements such as buttons, CTA, headings, images, or body elements . This is known as Multivariate testing. 

 

      "Google Optimize helped us make continuous UX improvements on our mobile site. One experiment alone drove a 2X increase in monthly plan sales."

- Simen Petersen, Digital Business Developer & Project Lead, Telia


How optimise can help our website ?  


Now since we know about this amazing tool, let us deep dive into all its perks so that we can make the best use of it. Google Optimize guides us which site experiences engage and delight our customers the most . It also gives us the solutions we need to deliver them. So, Personalize your site and enjoy the rewards .

 

Introduction to ASP.NET Core

ASP

Overview 

ASP.NET Core is the new version of the ASP.NET web framework mainly targeted to run on .NET Core platform. 

ASP.NET Core is a free, open-source, and cross-platform framework for building cloud-based applications, web apps, IoT apps, and mobile backends. It is designed to run on the cloud as well as on-premises. 

ASP.NET 3.x runs only on .NET Core 3.x, whereas ASP.NET Core 2.x runs on .NET Core 2.x as well as .NET Framework.

overviewASP

coreaspnet