Skip to content

Instantly share code, notes, and snippets.

Avatar

Mohammad Anas Fares faressoft

View GitHub Profile
@faressoft
faressoft / commit-msg
Created Nov 28, 2019
Commit message hook script to prefix Git commit messages with the Jira ticket Id taken from the current branch name
View commit-msg
#!/usr/bin/env node
/**
* Commit message hook script to prefix Git commit messages
* with the Jira ticket Id taken from the current branch name
*
* # Requirements
* - git 2.9+ (which supports global hooks)
*
* # Installation
@faressoft
faressoft / azhan.js
Last active Nov 27, 2019
IZDB Azhan Script
View azhan.js
#!/usr/bin/env node
/**
* Azhan
* Display prayer times for today from IZDB
*
* Installation
* - Install Node.js
* - Create a directory and execute `npm init --yes`
* - CD to the directory and execute `npm install --save table chalk`
@faressoft
faressoft / scalability.md
Created Feb 12, 2018
Scalability Overview, Terms, and Methodologies
View scalability.md

Instead of writing a long article I wrote this summary to give a good overview about software systems scalability by listing the main terms and methodologies that widely used to build stable systems that are able to scale and handle the increasing amont of users and data.

Index

  • Scalability
  • Terms System Quality Attributes
  • Failover
  • Load Balancer
  • MapReduce
  • Caching
@faressoft
faressoft / dom_performance_reflow_repaint.md
Last active Jun 21, 2022
DOM Performance (Reflow & Repaint) (Summary)
View dom_performance_reflow_repaint.md

DOM Performance

Rendering

  • How the browser renders the document
    • Receives the data (bytes) from the server.
    • Parses and converts into tokens (<, TagName, Attribute, AttributeValue, >).
    • Turns tokens into nodes.
    • Turns nodes into the DOM tree.
  • Builds CSSOM tree from the css rules.
@faressoft
faressoft / javascript_deep_dive.md
Last active Jun 18, 2022
JavaScript Deep Dive to Crack The JavaScript Interviews
View javascript_deep_dive.md