Skip to content

Instantly share code, notes, and snippets.

View KiranMantha's full-sized avatar
🎯
Focusing on PlumeJS

Kiran Mantha KiranMantha

🎯
Focusing on PlumeJS
View GitHub Profile
@KiranMantha
KiranMantha / nodejs-tools-and-techniques.md
Last active October 15, 2024 09:13
Nodejs tools and techniques

Original article: https://www.smashingmagazine.com/2018/06/nodejs-tools-techniques-performance-servers/

Keeping Node.js Fast: Tools, Techniques, And Tips For Making High-Performance Node.js Servers — Smashing Magazine

When it comes to performance, what works in the browser doesn’t necessarily suit Node.js. So, how do we make sure a Node.js implementation is fast and fit for purpose? Node is a very versatile platform, but one of the predominant applications is creating networked processes. In this article David Mark Clements is going to focus on profiling the most common of these: HTTP web servers.

If you’ve been building anything with Node.js for long enough, then you’ve

@KiranMantha
KiranMantha / bff-vs-graphql.md
Created August 27, 2024 01:58
BFF vs Graphql

Original Article: https://philcalcado.com/2019/07/12/some_thoughts_graphql_bff.html

Some thoughts on GraphQL vs. BFF

The Back-end for Front-end (BFF) Pattern was originated at SoundCloud. It takes its name from the internal framework we built to make application-specific APIs easier to write and maintain. Since then, it has taken a life of its own, with various articles, books, and open source software that teach, discuss, or implement it.

More recently, another approach to API architecture and design comes in the form of GraphQL. Facebook first developed the technology, and it has quickly become so popular that many startups were created exclusively to build frameworks and tooling around it.

Over the past year or so, I have been asked many times about the relationship between these two. This article is a write-up of my thoughts on the matter.

What is a BFF, even?

@KiranMantha
KiranMantha / database-types-indepth.md
Last active June 11, 2024 09:35
Database Types Indepth
1. Relational Databases (RDBMS)

Characteristics:

  • Structure: Data is organized in tables (rows and columns).
  • Schema: Requires a predefined schema.
  • Integrity: Enforces data integrity through constraints and keys (primary, foreign).
  • SQL: Uses Structured Query Language (SQL) for data manipulation and querying.

Advantages:

@KiranMantha
KiranMantha / NoSQL-database-types-indepth.md
Last active June 11, 2024 07:47
NoSQL database types in-depth

NoSQL Databases Overview

Document-Oriented Databases

1. MongoDB

  • Overview: MongoDB is a popular open-source, document-oriented database designed for scalability and flexibility.
  • Data Storage: Uses JSON-like documents (BSON format) which can have nested fields, arrays, and various data types.
  • Schema Flexibility: Schema-less design allows dynamic and evolving data structures.
@KiranMantha
KiranMantha / docker-and-kubernetes-notes.md
Last active June 18, 2024 02:19
docker and kubernetes notes

Docker

  • To create docker image from Dockerfile, run docker build . -t <your-image-name>
  • to run the created docker image, run docker run -d --publish <localhost-port>:<container-port> <your-image-name>
  • To view the created image in the images list, run docker image list. this should list the created image
  • Once completed, to verify the contents of the image, run docker run -ti <your-image-name> bash
  • To verify the contents of the container, run docker exec -it <your-container-name> bash
  • To delete a docker image, run docker image rm <space-seperated-image-names> -f
  • To create images from a yml file, run docker compose build. This will by default pick docker-compose.yml and Dockerfile files. To build image through a different config file then run docker compose -f <custom-config-yml> build.
  • To run containers through docker-compose.yaml file, run docker compose up. For a different yaml file, run docker compose -f up
@KiranMantha
KiranMantha / Dockerfile
Created May 12, 2024 04:27 — forked from micalevisk/Dockerfile
Production Dockerfile example for NestJS projects.
## ===========================================================> The common stage
FROM node:16.14 AS base
ENV NODE_ENV=production
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
## Remove unnecessary files from `node_modules` directory
@KiranMantha
KiranMantha / kafka.md
Last active May 10, 2024 06:32 — forked from kim-hyunjin/kafka.md
How to operate Kafka, mostly using Docker

Kafka Distributed Streaming Platform

Publish and Subscribe / Process / Store

Start Kafka

  • Kafka uses ZooKeeper as a distributed backend.

Start Zookeeper

@KiranMantha
KiranMantha / kubernetes-notebook.md
Last active October 24, 2024 11:13
Kubernetes notebook

Original Article: https://kodekloud.com/blog/kubernetes-objects/

What Are Objects Used for in Kubernetes? 11 Types Explained

Kubernetes is a container orchestration tool, used to deploy & manage containerized applications in an automated way.

One of the key concepts in Kubernetes is the "desired state," which refers to the configurations of the applications that you want to deploy and run. Essentially, it's the way you want your applications to be set up and how you want them to behave in a Kubernetes environment. This includes things like how many instances of applications should be running, how those instances should be networked together, what resources they should have access to, and so on.

So, how do you define the desired state? By using objects.

What Are Kubernetes Objects?

@KiranMantha
KiranMantha / accessibility-tools.md
Last active April 30, 2024 23:54
list of accessibility tools

Opensource accessibility audit tools you must know

Accessibility is the ability to make websites usable by everyone. When a website is not accessible, we are creating barriers and making their impairment a disability. We need to build websites and include accessibility testing in our STLC to cater to people with disabilities for both better business and usability. Accessibility testing involves checking whether a website abides by WCAG guidelines and accessibility legislation and yields better SEO.

Accessibility (a11y) audit is a combination of automated and manual testing done using assistive tools. An audit tool helps the recipient to understand the issues, provides steps to reproduce the issue, recommendations for guidance and output the compliance goal.

Let's explore some of the widely-used accessibility audit tools

Lighthouse

Lighthouse is an open-source, automated tool that can audit web pages regarding performance or accessibility issues.