What is API Gateway Design Pattern?

What is API Gateway Design Pattern?

What is API Gateway Design Pattern?

Previously we saw about What is Microservice? and the principles followed while developing MSA and the available design patterns. also we saw an Aggregator design pattern.

Today we will see what is API Gateway Design Pattern is.

What is API Gateway Design Pattern?

Microservice is built in such a way that each service acts differently on its own. So, when a web application is drilled down into smaller pieces there could be problems we face.

The problems are as follows.

  1. How to get data from various microservices?
  2. A different front-end application is required to manage the same database, just that it uses multiple web services.
  3. How to respond with the data for different consumer to satisfy their requirement. So that we can have reusable microservices.
  4. Handle multiple protocol requests.

Seems the list is small here, but in reality, it is even wider. The solution for these problems is to use the API Gateway design pattern. The API Gateway design pattern addresses many other problems apart from the ones mentioned above. We can also use this design pattern as a proxy service for routing the request.

 API Gateway acts as the entry point for all the endpoints of the microservice, it can help in converting the various protocol request from one type to another. Also, it can disburden the responsibility of authentication/authorization in the microservice.

 So, once the client sends the request, requests are passed through the API gateway which manages the entry point and re-routes the client’s request to the appropriate microservice. Then with the help of the load balancer, it distributes the client’s request to the microservice.

Microservice uses the service discovery which maintains the available microservices and their available entry points to communicate with each other

What is API Gateway Design pattern?

API Gateway Design pattern

 

 

In the next article, we will see Chained or Chain of Responsibility design pattern.

 

LIKE | SHARE | SUBSCRIBE

WeCanCode-Author

WeCanCode-Author

November 06, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

Add Image to Android app

Add Image to Android app

Add PNG Icon to Android app

 

In this article, let discuss on

Add PNG Icon to Android app

Let us see how to Add PNG icon to Android App. In the end you your app will use the icon you have added for the android application.

 In this article I’m going to use the existing android project created as part of this article Make WordPress as Android App. This Follow the code repo used  ).

How to Add PNG Icon to Android App?

You can add Image assets by Right click on the location where the image or icon need to be placed.

See below screenshot for the Menu option in Android Studio.

  • After right-click drawable folder, Choose New > Image Assets
  • You need to choose the image or icon from the browse menu under Source Asset section of Foreground Layer Tab.
  • Adjust the Scaling according to the image or icon output.
  • Go to Background Layer tab and adjust the background color or image accordingly.
  • Once done, click Finish (Note: Try to keep the same name as the previous icon file name, if you are replacing the icon)
  • Run the App to see the new Icon changed.
intellij add image asset menu
WeCanCode-Author

WeCanCode-Author

October 22, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

Make WordPress as Android App

Make WordPress as Android App

Make WordPress as Android App

In this article, let discuss on

Make WordPress as Android App

Make WordPress as Android App. Yes, follow the article from top to bottom and do not miss out anything. In the end you will see your website or WordPress blog in Android phone as an application.

You can also publish the app in Google Play Store or any eco-system for Android apps (Such as Amazon app store, Samsung galaxy app store, Honor/Huawei App Gallery and So on).

How to Make WordPress as Android App?

Converting WordPress blog or Website is easy if you have hands-on with Android Studio and Android SDKs.

               Yes, you need to know little bit of java coding knowledge and basics of Android application development. Do not worry if you have very little knowledge on these both should also be fine. If you follow this article carefully.

WeCanCode-Author

WeCanCode-Author

October 20, 2021

Senior Developer | Java & C#.NET | 10++ years of IT experience.

Planning to learn ReactJS or Angular or Flutter.!

Python Classes – Objects – Modules & Functions

Python Classes – Objects – Modules & Functions

Python Classes – Objects – Modules & Functions

Let us see Python Classes, Objects, Modules and Functions

  1. Classes and Objects
  2. Modules
  3. Functions

Watch on YouTube: https://youtu.be/YUz1XDbJDlI

Learn Python in Tamil | பைதான் மொழியைக் கற்றுக்கொள்ளுங்கள் – Python type casting and operators.

Classes & Objects

Python is an object-oriented programming language. Almost everything in Python is an object, with its properties and methods. A Class is like an object constructor, or a “blueprint” for creating objects.

Creating Class

class MyClass:
    empid = 1001
    empname = "John"

Creating object for the class

obj1 = MyClass()
print(obj1.empid)
print(obj1.empname) 

The __init__() Function

This is kind of Python’s standard initialize method which is invoked during object creation of the class. consider you want to pre-initialize the properties of the class ahead of object creation, then you need to use this method.

class Student:
    def __init__(self, sid, name, age):
        self.sid = sid
        self.name = name
        self.age = age

# -------------------------------------------

student1 = Student(100,"Bob", 22)
print(student1.sid)
print(student1.name)
print(student1.age)

In the above class we have “init” method which gets initialized along with the constructor while creating an object and we have self as our first parameter, which is used for identifying the current/own object.

Note: The \__init\__() function is called automatically every time the class is being used to create a new object.

The self Parameter

The self parameter is a reference to the current instance of the class, and is used to access variables that belongs to the class and It doesn’t need to be named like “self”.

We can call it whatever we want, but it should be the first parameter of any function in the class, see below example..

class Car:
    def __init__(myownobjectref, carid, carmake):
        myownobjectref.carid = carid
        myownobjectref.carmake = carmake

Note: In the above example we have used myownobjectref as first parameter and it refers the current object of Car class.

Modify object properties

class Student:
    def __init__(self, sid, name, age):
        self.sid = sid
        self.name = name

# -------------------------------------------

student1 = Student(100,"Bob")
student1.sid = 101

Delete object properties

class Student:
    def __init__(self, sid, name, age):
        self.sid = sid
        self.name = name

# -------------------------------------------

student1 = Student(100,"Bob")
del student1.sid

Delete object

class Student:
    def __init__(self, sid, name, age):
        self.sid = sid
        self.name = name

# -------------------------------------------

student1 = Student(100,"Bob")
del student1

Modules

Python Modules

Python modules are .py files that consist of Python code. Any Python file can be referenced as a module.

Some modules are available through the Python Standard Library and are therefore installed with your Python installation. Others can be installed with Python’s package manager pip. Additionally, you can create your own Python modules since modules are comprised of Python .py files.

Writing and Importing Modules

Writing Modules

Writing a module is just like writing any other Python file. Modules can contain definitions of functions, classes, and variables that can then be utilized in other Python programs.

From our Python 3 local programming environment or server-based programming environment, let’s start by creating a file hello.py that we’ll later import into another file.

To begin, we’ll create a function that prints Hello, World!:

# math_operations.py (Located under my-own-modules directory)

# Maths Operation

def add(a, b):
    print(a + b)

If we run the program on the command line with python math_operations.py nothing will happen since we have not invoked the functions add.

Importing Modules

Let’s create a second file called main_program.py so that we can import the module we just created, and then call the function.

main_program.py
# Import math_operations module - which is nothing but the math_operations.py file
import math_operations


# Call function
math_operation.add(1, 2)

Because we are importing a module, we need to call the function by referencing the module name in DOT " . " notation.

We could instead import the module as from hello import world and call the function directly as world(). You can learn more about this method by reading how to using from … import when importing modules.

Functions

Python Functions

Python functions are written inside .py files which performs the instruction or action written in Python. each method/function performs set of instruction or operations we wanted to perform. like adding two numbers, checking if the user is admin or not etc.,

Creating Function

In order to create python functions/methods you need to use def key word prefixed. lets see the below example.

# functions.py
# def -> key word tells us this is a method.
# display_app_name(): this is our method name with no parameters, because with in the brackets we have not passes any variable.
def display_app_name():
    print("My App Name")

Calling Function

Calling a medhod in Python is easy, just need to use the method name with the brackets. (If method has any parameters, we need to just pass it inside the brackets.)

# calling the function
display_app_name()

Returning data from Function

# functions.py
def get_current_username(user):
    return user["name"]

userobj = {
    "name": "John",
    "id": 100}

print(get_current_username(userobj))

Calling function inside another function.

# functions.py
def is_admin(user_param):
    return user_param["admin"]

def append_usertype(old_user_id, user_type):
    return f"{old_user_id}_{user_type}"


def regenerate_userid(user_param):
    new_userid = user_param["id"]
    if is_admin(user_param):
        new_userid = append_usertype(new_userid,"ADM")
    else:
        new_userid = append_usertype(new_userid,"USR")

    user_param["id"] = new_userid
    return user_param

#-----------------------------------------

user = {
    "name": "John",
    "id": 100,
    "admin": False
}
print(user)
print(regenerate_userid(user))
Python decision making & loops – Learn Python in Tamil www.aryanz.co.in

Python Decision making and Loops

Python Decision making and Loops

Python Decision making and Loops

Let us see about Python decision making and loops

  1. Decision making
  2. Loops

Watch on YouTube: https://youtu.be/A2qoypUV-ZE

Learn Python in Tamil | பைதான் மொழியைக் கற்றுக்கொள்ளுங்கள் – Python type casting and operators.

Decision making

Decision making evaluates multiple expressions which produce TRUE or FALSE as an outcome.

Which defines action to take and what statements has to execute when the outcome is TRUE or FALSE otherwise.

Note: Python programming language assumes any non-zero and non-null values as TRUE, and if it is either zero or null, then it is assumed as FALSE value

Decision making statements are as follows:

  1. If statement
  2. If-else statement
  3. Nested if statement

If Statement

# if statement

# When you want to check some logical condition and perform actions based on positive result.

x = 8
y = 10

if x > y:
    print("X is greater")
    print(f"{x}")

print("Program ended")

If-else statement

# if-else statement

# An if statement can be followed by an optional else statement, which executes when the boolean expression is FALSE.

x = 80
y = 10

if x > y:
    print("X is greater")
else:
    print("Y is greater")

print("Program Ended")

Nested if-else statement

# nested/multiple if-else statement

# When you want to check multiple conditions and perform actions based on the result (TRUE or FALSE).

x = 80
y = 10
z = 90

# Multiple if

if x > y:
    print("X is greater")
elif x > z:
    print("X is greater")
elif y > z:
    print("Y is greater")
else:
    print("Z is greater")

# Nested If

if x > y:
    if x > z:
        print("x is greater")
    else:
        print("z is greater")
elif y > z:
    print("y is greater")
else:
    print("z is greater")

print("Program Ended")

Loops

A loop statement allows us to execute a statement or group of statements multiple times.

Along with above loops, we also have the following 3 keywords used during Loops.

  1. Break
  2. Continue
  3. Pass

While loop

# While loop repeatedly executes a target statement as long as a given condition becomes true.

# Example 1 (Simple while loop)
count = 1

while count < 4:
    print(count)
    count = count + 1

print("Out of while loop")
print("------------------------------")

# Example 2 : Using else Statement with While Loop

count = 0
while count < 4:
    print(count)
    count = count + 1
else:
    print("count is less than 4")

For loop

# For loop
# it has the ability to iterate over the items of any sequence,
# such as a list or a string.

# We can iterate Collection items
# Such as List, Tuple, Set and so on.

# Example 1 : looping list
blog_websites = ["aryanz.co.in", "balamt.in", "wecancode.live"]

for x in blog_websites:
    print(x)


# Example 2 : looping string value
name = "John"
for letter in name:
    print(letter)


# Example 3: Using else in For loop

for i in range(1,4):
    print(i)
else:
    print(f"Reached the max range")

Nested loop

# Nested loop
# looping inside another loop is called nested loop

# What is the output of the following code? - Comment your answer here > https://youtu.be/A2qoypUV-ZE

for x in range(1, 5):
    for y in range(x-1, x): # 1, 4
        print(f"{y}")
    print(f"\t")
Python decision making & loops - Learn Python in Tamil www.aryanz.co.in
Python decision making & loops – Learn Python in Tamil www.aryanz.co.in
Python type casting and operators

Python type casting and operators

Python type casting and operators

Let us see about Python type casting and operators.

  1. Python Type casting
  2. Python Operators

Watch on YouTube: https://youtu.be/cit6jKwKY1o

Learn Python in Tamil | பைதான் மொழியைக் கற்றுக்கொள்ளுங்கள் – Python type casting and operators.

Python type casting

We know Python is not strict with the data type declaration of variables. What makes the need of type casting? Let us see below

# weather.txt
{
  "id": 2345,
  "city": "Chennai",
  "weather": "20",
  "unit": "Celsius"
}

Consider there is a weather API, upon calling it whose response will be in JSON (JavaScript Object Notation) format.

The JSON response has key & value for "weather":"20" Which is of type text/string.

But in the python program, we need it to be number so that we can convert it from Celsius to Fahrenheit or vice-versa.
In such cases we have to go for casting the data type.

# Program to read file containing JSON object for weather

# In order to read and parse JSON, we need to use the json module from python
import json

weathers = []  # declaring empty list
weather_value = None # Will be using this variable to store the type casted value

print("Started Reading JSON file")
with open('weather.txt') as f:  # Reading file
    for jsonObj in f:   # reading lines from the file
        weather = json.loads(jsonObj)   # parsing and storing the line
        weathers.append(weather)    # adding the line to the list

print("Printing each JSON Decoded Object")
for weather in weathers:    # Traversing through the list
    print(weather)
    print(f"Type of weather is: {type(weather['weather'])}")
    weather_value = int(weather["weather"]) # Type casting from string to int
    # print(weather["id"], weather["city"], weather["weather"], weather["unit"])


print(f"{weather_value}° C")
print(type(weather_value))


fahrenheit = (weather_value * 9/5) + 32

print(f"Fahrenheit {fahrenheit}")


Python Operators

Following are the types of operators available in Python programming.

Arithmetic Operators

Arithmetic operators are used with numeric values to perform common mathematical operations.

"""
Python Arithmetic Operators
Arithmetic operators are used with numeric values
    to perform common mathematical operations:
--------------------------------------------------------------
|   Operator    |   Name             |       Example         |
|---------------|--------------------|-----------------------|
|       +       |   Addition         |       x + y           |
|       -       |   Subtraction      |       x - y           |
|       *       | Multiplication     |       x * y           |
|       /       |   Division         |       x / y           |
|       %       |   Modulus          |       x % y           |
|       **      |Exponential (power) |       x ** y          |
|       //      | Floor division     |       x // y          |
--------------------------------------------------------------
"""

Relational operators

Relational or Comparison operators, which compares the value on either side and decide the relation among them.

"""
--------------------------------------------------------------------------------------------
|    Operator    |    Description                                                       |
|       ==       | equals operator check if both sides are same.                        |
|       !=       | not equals operator check if both sides are not same.                |
|       <>       | not equals operator check if both sides are not same. same as !=     | Python3 Does not Support <>
|       >        | if left side value is greater than right.                            |
|       <        | if left side value is lesser than right.                             |
|       >=       | if left side value is greater and equal to the right.                |
|       <=       | if left side value is lesser and equal to the right.                 |
------------------------------------------------------------------------------------------
Lets see some examples below
Assume variable x holds 3 and variable y holds 6,
"""

Assignment Operators

Assignment operators are used to assign value to a variable.

"""
-----------------------------------------------------
|   Operator        |   Example     |   Similar to  |
|-------------------|---------------|---------------|
|       =           |   x = 5       |   x = 5       | Assign value from right to left side
|       +=          |   x += 5      |   x = x + 5   | It adds right & left operand and assign to left side
|       -=          |   x -= 5      |   x = x - 5   | It subtracts right & left operand and assign to left side
|       *=          |   x *= 5      |   x = x * 5   | It multiplies right & left operand and assign to left side
|       /=          |   x /= 5      |   x = x / 5   | It divides left with right operand and assign to left side
|       %=          |   x %= 5      |   x = x % 5   | It takes modulo using two operand and assign to left
|       //=         |   x //= 5     |   x = x // 5  | It performs floor division on operands and assign to left
|       **=         |   x **= 5     |   x = x ** 5  | It performs exponential (power) calc on operands & assign to left
|       &=          |   x &= 5      |   x = x & 5   | Bitwise AND
|       |=          |   x |= 5      |   x = x | 5   | Bitwise OR
|       ^=          |   x ^= 5      |   x = x ^ 5   | Bitwise XOR
|       >>=         |   x >>= 5     |   x = x >> 5  | Bitwise right shift
|       <<=         |   x <<= 5     |   x = x << 5  | Bitwise left shift
----------------------------------------------------------
"""

Logical Operators

Logical operators are used in combining conditional statements.

"""
------------------------------------------------------------------------------------------
|   Operator    |                    Description                    |   Example            |
|---------------|---------------------------------------------------|----------------------|
|     and       | Returns True if both statements are true          |  x < 5 and  x < 10   |
|     or        | Returns True if one statements is true            |  x < 5 or  x < 10    |
|     not       | Returns False if the result is true or vice-versa |not(x < 5 and x < 10) |
|------------------------------------------------------------------------------------------|
"""

Bitwise Operators

Bitwise operators are used for comparing Binary (i.e., 0’s and 1’s) numbers. See below table for the available bitwise operators.

"""
Bitwise Operators
-----------------------------------------------------------------
|   Operator        |   Example     |   Operator name           |
|-------------------|---------------|---------------------------|
|       &           |   x = x & y   |  Bitwise AND              |
|       |           |   x = x | y   |  Bitwise OR               |
|       ~           |   x = x ~ y   |  Binary Ones Complement   |
|       ^           |   x = x ^ y   |  Bitwise XOR              |
|       >>          |   x = x>>y    |  Bitwise right shift      |
|       <<          |   x = x<<y    |  Bitwise left shift       |
-----------------------------------------------------------------
"""
AND Truth Table
AND Truth Table

When x and y value is 1 or True then the result will be 1 or True.

OR Truth table
OR Truth Table

When any one (x or y) values are True the result will also be True.

Membership Operators

Membership operators, checks for membership in a sequence (strings, lists, or tuples).

There are two membership operators, See below.

Membership Operators (in and not in)
Membership Operators (in and not in)

Identity Operators

Identity operators compare the memory location of two objects.

There are two types of Identity Operators (is and not is), See below

Identity Operators (is and is not)
Identity Operators (is and is not)
Python type casting and Operators

https://youtu.be/cit6jKwKY1o 
Learn Python in Tamil www.aryanz.co.in
Python type casting and Operators – Learn Python in Tamil www.aryanz.co.in

Please disable your adblocker or whitelist this site! We Provide Free content and in return, all we ask is to allow serving Ads.

Pin It on Pinterest