Introduction

CASL.JS at its core is an Isomorphic Authorization JavaScript library “. 🤔

The fancy word “isomorphic” means that you can use the library on both the frontend and backend in exactly the same way. Sergii Stotskyi

CASL (pronounced /ˈkæsəl/, like a castle) is an isomorphic authorization JavaScript library that restricts what resources a given client is allowed to access. It’s designed to be incrementally adoptable and can easily scale between a simple claim-based and fully featured subject and attribute-based authorization. It makes it easy to manage and share permissions across UI components, API services, and database queries.

CASL is…


Many RBAC (Role-Based Access Control) implementations differ, but the basics are widely adopted since it simulates real-life role (job) assignments. — Onur Yıldırım.

Role-based access control (RBAC) is a method of modifying access and privileges based on the roles of individual users or user groups within an organization.

RBAC lets members of an organization have access, to only the resources they need to do their jobs and restricts or prevents unlimited privileges to resources that don’t pertain to them.

RBAC vs ABAC

Role-based access control and attribute-based access control (ABAC) are both types of access control methods, but their approaches are different. …


A typical system is made up of smaller components and sub-systems that all work together. Software programs are often made up of much smaller sub-programs as well.


Introduction

According to Docker docs, Docker is a tool that provides OS-level virtualization to deliver software in packages called containers.

Docker made application containers easy to use by providing a simplified, opinionated wrapper around existing Linux distribution invoked as containers, process control, security, and resource management technologies.

Docker excels in these two key areas:

  • Packaging applications
  • Process isolation and management

Docker helps you package and run applications inside isolated little boxes with all platform and application dependencies provided, thus keeping the hosting computer nice and tidy.

Docker solves problems associated with :

  • Missing or incorrect application dependencies such as libraries, interpreters…

Introduction

There are situations when the allocation of memory to store data cannot be in a contiguous block of memory or stored sequentially in memory, such situations include When :

  • You need constant insertions and deletions from the list (such as in real-time computing where time predictability is absolutely critical).
  • You don’t know how many items will be in the list.
  • You don’t need random access to any elements
  • You want to be able to insert items in the middle of the list (such as a priority queue) and Et cetera.

We implement data structures such as linked list with nodes…


Introduction

Many of us love the Linux kernel 💙. It uses the Unix based terminal. it’s super customizable. We thus might choose to run Linux without a desktop environment like GNOME.
Linux works magic ✨ on older hardware and it’s lightweight. We don’t sell or advertise on Linux or have to struggle with a ton of desktop bloatware and its a great platform for back-end engineers.

Another productivity tip I leaned about, was setting up Cron Jobs to schedule time-based operations, to be executed automatically on my computer. …


APIs are everywhere and have many different faces and capabilities.

Essentially APIs act as transports vehicles 🚗 that pull information from one source and feed it to another. For example, Google maps API used in navigation systems or Stripe API used for Online payments, etc.

APIs in a lot of applications serve as data points for client-based applications 🖥️ or other API clients, with read-write permissions; and as such certain endpoints need to be protected to provide access to privileged users of the application.

In this tutorial, we’ll go through a simple implementation of role-based authorization or access control in…


Many times, we have to integrate 3rd party services into our applications; this often prompts the need to store sensitive data for authentication of different modules such as database credentials, secret key, encryption payloads, and API keys.

These sensitive keys should not be hard-coded in the settings.py file or views.py file in a Django project. …


Heroku is a cloud application platform that provides deployment services for multiple technologies such as Django/python. It is essentially a Platform-as-a-Service (PaaS) cloud infrastructure, which simplifies hosting applications when compared to a cloud provider like AWS Elastic Compute Cloud(EC2) or others. Heroku makes deploying applications quite simple and for good reasons 🤓.

This platform equips us with a ready runtime environment and application servers. we benefit from seamless app integration with various development instruments, a pre-installed operating system, terminal, Dynos ( isolated virtualized Linux containers ) and redundant servers 🏢 .

Therefore, we don’t need to think about infrastructure management…


Linux runs on a wide range of hardware. right from large supercomputers to simple wearables .

This operating system makes for very efficient use of a computer’s resource and allows for customised installation processes according to a users specifications and unique hardware requirements.

A linux installation procedure can be very flexible, and allows users to choose the modules they want to install, thus allowing Linux to even run smoothly on old hardware, this thus helps in optimal use of all the hardware resources.

Some machines require some level of tweaking to get Linux to boot on the them and get…

Peterson oaikhenah

I’m a Software Engineer 👩‍💻, an avid learner 👨‍🎓 and a community leader 🥑.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store