Software Development
2023-04-19
Twelve-Factor App
This article introduces the Twelve-Factor App, a methodology for building scalable and portable applications.
Software Development
2023-04-12
Network Layers
This article explains network layer, fundamental networking concepts, OSI model, and TCP/IP model.
Software Development
2023-04-09
CPU Bound and IO Bound
This article explains the classification of load in computational science, discussing the distinct characteristics of CPU load and I/O load and their impact on system performance.
Software Development
2023-04-03
Watch Command in Linux
This article introduces the versatile watch command in Linux, offering a guide on its syntax, options, and practical examples.
Software Development
Linux
2023-03-31
CI/CD
This article explores the concepts of Continuous Integration (CI) and Continuous Deployment (CD), essential practices in modern software development that streamline and automate processes to ensure high-quality and timely product releases. Discover the benefits of implementing CI/CD, such as faster time to market, improved code quality, and increased collaboration.
Software Development
2023-03-31
Cookiecutter for Efficient Development
This article introduces Cookiecutter, a command-line tool for creating projects from predefined templates, streamlining development and ensuring consistent project structures. Discover the numerous benefits of using Cookiecutter, including speed, consistency, best practices, customizability, and collaboration. Learn how to install and use the tool, explore popular templates like Cookiecutter FastAPI and Cookiecutter Data Science, and even customize or create your own templates to suit your specific needs.
Software Development
2023-03-31
Multi-Processing and Multi-Threading
This article provides a guide to concurrency, exploring multi-processing and multi-threading in software development. It covers the fundamental concepts, practical applications, and key differences between the two approaches. The article also discusses popular programming languages and their support for concurrency, as well as practical applications in domains such as web servers, scientific computing, big data processing, and video processing.
Software Development
2023-03-31
Content-Type (application/json, multipart/form-data, and application/x-www-form-urlencoded) in POST Requests
This article dives deep into the world of HTTP POST content-types, exploring application/json, multipart/form-data, and application/x-www-form-urlencoded. Discover the advantages, limitations, and ideal use cases for each content-type, alongside examples that demonstrate their practical applications.
Software Development
API
2023-03-31
What is CORS (Cross-Origin Resource Sharing)
This article provides an overview of Cross-Origin Resource Sharing (CORS), a crucial web standard for secure cross-origin communication. Explore the concept of origins, the Same-Origin Policy, simple and preflighted requests, CORS headers, browser roles, and configuring CORS in web servers and CDNs. Finally, learn how to troubleshoot common CORS errors and effectively debug client-side and server-side issues.
Software Development
API
2023-03-31
Web Request Encoding
This article delves into the importance of encoding in web development and explores various encoding types used in web requests, including URL, HTML, JSON, Base64, and multipart form data encoding. It discusses compatibility, security, data integrity, and readability benefits, and provides practical examples and usage scenarios for each encoding type.
Software Development
API
2023-03-31
DRY Principle in Software Development
This article delves into the DRY (Don't Repeat Yourself) principle, a crucial concept in software engineering that streamlines code maintenance, reusability, and efficiency. Explore practical techniques for implementing the DRY principle, such as code abstraction, modularization, and effective use of functions and methods.
Software Development
2023-03-31
Embracing Duck Typing
This article explores the concept of duck typing, a programming principle that prioritizes an object's behavior and properties over its explicit type. You'll learn about the history and importance of duck typing, how it compares to static typing, and its advantages and disadvantages. Additionally, we discuss duck typing in popular programming languages like Python, Ruby, and JavaScript, as well as its application in other languages such as TypeScript and Kotlin.
Software Development
2023-03-31
What is Cron
This article explores the fundamentals of Cron, a scheduling utility for Unix-based systems. Learn how Cron automates repetitive tasks, understand its syntax and components, and discover how to create and manage crontab files. Familiarize yourself with Cron expressions and commands, including various symbols for defining schedules, and see examples of practical Cron expressions in action.
Software Development
Linux
2023-03-31
What is Cross-Site Scripting (XSS)
This article covers everything you need to know about Cross-Site Scripting (XSS) attacks, including what they are, the different techniques attackers use, how to identify vulnerabilities, and methods for mitigating and preventing these attacks.
Software Development
2023-03-17
Absolute Path and Relative Path in Web Development
This article explains the difference between absolute and relative paths in web development. Absolute paths start from the root directory and contain the complete URL or file path, while relative paths start from the current working directory and only contain the path relative to the current location. The article discusses the advantages and disadvantages of each path type and provides examples of both. The importance of properly specifying paths in web development is also emphasized.
Software Development
2023-03-17
Infrastructure as Code (IaC)
This article discusses the benefits, tools, implementation steps, and best practices of Infrastructure as Code (IaC). It explains how IaC is a software engineering approach that involves managing and provisioning IT infrastructure using code and how it can provide automation, consistency, and collaboration benefits. The article lists popular IaC tools such as Terraform, AWS CloudFormation, AWS CDK, and Ansible and describes how to implement IaC using the right tool, creating infrastructure code templates, and version control. It also provides best practices such as writing modular and reusable code, automating infrastructure testing, applying security best practices, using version control, and following a code review process.
Software Development
2023-03-15
Scrum
This article explains Scrum, covering its foundations, key components, roles, events, and practical implementation steps.
Software Development
2023-03-12
Agile Model
This article covers Agile Model, its comparison to Waterfall Model, advantages and disadvantages, key terms, steps, and types including Scrum, Extreme Programming, Feature-Driven Development, and Kanban.
Software Development
2023-03-10
Functional Programming
Functional programming is a programming paradigm that emphasizes the use of pure functions, immutable data, and higher-order functions. In this article, I explore the key concepts of functional programming, such as pure functions, immutable data, first-class and higher-order functions, recursion, and lazy evaluation.
Software Development
Python
2023-03-09
Waterfall Model
This article explains an overview of the Waterfall Model, a sequential methodology for software development.
Software Development
2023-03-03
File Mode in Linux
File mode is an essential concept in Linux that determines the level of access users have to files and directories. This article provides a detailed explanation of file mode in Linux, including its components, permissions.
Software Development
Linux
2023-03-03
Linux Commands
Linux commands are a set of instructions that are used to perform various tasks in the Linux operating system. These commands can be executed from the command-line interface (CLI) or from a shell script. There are a large number of Linux commands available, ranging from basic file manipulation commands to advanced network and system administration commands.
Software Development
Linux
2023-03-03
Network Related Commands in Linux
Linux offers various network-related commands that allow users to manage network settings and troubleshoot network-related issues. These commands can help users to check network connectivity, find network-related information, and configure network settings.
Software Development
Linux
2023-03-03
sudo command in Linux
This article provides an introduction to the sudo command in Linux, a powerful tool that allows users to execute commands with elevated privileges.
Software Development
Linux
2023-03-03
Symbolic Link
This article explains about symbolic link.
Software Development
Linux
2023-02-25
Frontend and Backend Development in Web Development
This article discusses the frontend and backend development in web development.
Software Development
2023-02-24
Guide to Regular Expressions (Regex)
This article covers about Regex, including syntax, patterns, and real-world examples.
Software Development
2023-02-24
UUID
UUID (Universally Unique Identifier) is a 128-bit unique identifier used in computer systems to identify resources. This article will explore about UUID, including its purpose, structure, and how it's used in software development.
Software Development
Python
2023-02-24
CSR, SSR, SSG, and ISR
This article delves into the world of web development, focusing on four popular rendering methods including Client-Side Rendering (CSR), Server-Side Rendering (SSR), Static Site Generation (SSG), and Incremental Static Regeneration (ISR). This article also offers the pros and cons of each method and how they impact performance, user experience, and SEO.
Software Development
2023-02-17
Ansible Vault
This article explains about Ansible Vault.
Software Development
2023-02-17
direnv
This article explains about direnv.
Software Development
2023-02-17
The Guide to Writing Readable Code
This article explains how to write readable codes.
Software Development
2023-02-09
Web Application Firewall (WAF)
This article explains Web Application Firewalls (WAFs), providing an overview of their purpose and features.
Software Development
2023-02-04
RSS Feed
This article introduces RSS feeds, a standardized web technology, streamline the process of staying updated on your favorite online content, from blogs to news sites.
Software Development
2023-02-01
DNS Records
This article provides an explanation about DNS records, which serve as the names and addresses on the internet.
Software Development
2023-01-23
Procedural Programming
This article explains Procedural Programming and its key concepts, including variables, functions, control structures, variable scope, and exception handling.
Software Development
2023-01-22
Declarative Programming
This article introduces declarative programming, its principles, and a comparison with imperative programming.
Software Development
2023-01-20
Imperative Programming
This article introduces imperative programming, its key concepts, control structures, and the role of procedures/functions.
Software Development
2022-12-20
How to Create Chrome Extension
This article explains the process of creating a Chrome extension, including setting up the development environment, creating essential files, and testing for optimal performance.
Software Development
Chrome Extension
2022-12-19
Chrome Extension
This article explains Chrome Extensions that enable you to customize and optimize your browsing experience.
Software Development
Chrome Extension
2022-12-16
Mathematical expression in LaTeX
This article explains about mathematical expression in LaTeX.
Software Development
2022-11-21
Onion Architecture
This article explains Onion Architecture, an architectural pattern that promotes maintainability and adaptability in software applications.
Software Development
2022-11-19
Hexagonal Architecture
This article explores the Hexagonal Architecture pattern, its principles, and practical implementation.
Software Development
2022-11-18
Layered Architecture
This article introduces layered architecture, a system design principle that divides components into layers, fostering modularity and flexibility.
Software Development
2022-11-15
Domain-Driven Design (DDD)
This article explains Domain-Driven Design (DDD), a software development methodology focused on understanding the core domain to create robust, adaptable software.
Software Development
2022-10-23
CPU and GPU
This article explains CPU and GPU.
Software Development
2022-10-04
HTTP and HTTPS
This article explains HTTP and HTTPS, the backbone of the World Wide Web.
Software Development
2022-09-29
Man-in-the-Middle Attacks
This article provides an explanation of Man-in-the-Middle (MitM) attacks, how they work, common attack types, and practical steps to recognize and prevent them.
Software Development
2022-09-20
Tailwind CSS snd Responsive Design
This article introduces combination of Tailwind CSS and responsive design.
Software Development
CSS
Tailwind CSS
2022-09-19
Tailwind CSS
This article introduces Tailwind CSS, a utility-first CSS framework.
Software Development
CSS
Tailwind CSS
2022-09-15
Centering Text in CSS Only When It Fits on One Line
This article introduces how to center text in CSS only when it fits on one line.
Software Development
CSS
2022-09-14
GPL License
This article explains the GNU General Public License (GPL) and its variants, such as LGPL-2.1, LGPL-3.0, GPL-2.0, GPL-3.0, and AGPL-3.0.
Software Development
2022-09-13
Copyleft
This article explains the concept of copyleft, unraveling its principles, debunking misconceptions, and exploring the two main types of copyleft licenses.
Software Development
2022-09-13
Adding Custom Colors in Tailwind CSS
This article introduces the process of adding a custom color to Tailwind CSS configuration.
Software Development
CSS
Tailwind CSS
2022-09-12
Software Licensing
This article provides an overview of software licensing.
Software Development
2022-09-11
Responsive Design
This article explains the core concepts of responsive design, including fluid grids, flexible images, media queries, and responsive typography.
Software Development
CSS
2022-09-10
iPhone Scrolling Background Color Issue
This article explains the common problem of the default white background in iOS when scrolling beyond webpage edges and provides two solutions.
Software Development
CSS
2022-09-04
Feature-Driven Development (FDD)
This article dives into Feature-Driven Development (FDD), an agile methodology that focuses on delivering value by prioritizing and incrementally developing features.
Software Development
2022-09-03
Behavior-Driven Development (BDD)
This article explains Behavior-Driven Development (BDD), an Agile software development methodology that encourages collaboration and clear communication between stakeholders.
Software Development
2022-09-02
Test-Driven Development (TDD)
This article explores Test-Driven Development (TDD), its benefits, and its use in Agile development methodologies.
Software Development
2022-08-24
Single Page Applications (SPA)
This article provides an overview of Single-Page Applications (SPAs), their architecture, benefits, and challenges in development.
Software Development
2022-05-19
Technical Debt
This article explains technical debt in software development. It covers types, sources, measurement, impacts on software quality, productivity, business goals, team morale, and security.
Software Development
2022-05-19
Dependency Inversion Principle
This article explains the Dependency Inversion Principle (DIP) and its significance.
Software Development
2022-05-18
Interpreted and Compiled Languages
This article explains the features, examples, advantages, and disadvantages of interpreted and compiled programming languages.
Software Development
2022-05-15
Object Oriented Programming (OOP)
This article covers the fundamentals of Object-Oriented Programming (OOP), including the concepts of classes, objects, inheritance, polymorphism, data hiding and encapsulation, and abstraction.
Software Development
2022-05-14
Makefile
This article introduces Makefiles as a build automation tool for software development projects. It covers the basics of installing and creating Makefiles, syntax and rules, advanced techniques like defining variables, conditional statements and loops, pattern rules and wildcards, and managing dependencies.
Software Development
2022-05-13
Software Testing
This article explains software testing, with a focus on unit, integration, and end-to-end (E2E) testing.
Software Development
2022-05-12
Iaas vs. PaaS vs. SaaS
This article delves into the three primary service models of cloud computing—Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
Software Development
2022-05-12
CIDR Notation
This article explains CIDR notation, a method for representing IP addresses and their routing prefixes.
Software Development
2022-03-19
RESTful API
This article explains the fundamentals of RESTful APIs, their history, and the principles. The article provides insights into designing an effective RESTful API, including resource identification, versioning, error handling, pagination, and security considerations.
Software Development
API
2022-02-04
YAML
This article explains YAML, a versatile tool for developers, designed for data serialization and interchangeability across programming languages.
Software Development
2022-02-03
JSON
This article explains JSON (JavaScript Object Notation), a lightweight and flexible data format used for efficient data interchange.
Software Development
AlloyDB
Amazon Cognito
Amazon EC2
Amazon ECS
Amazon QuickSight
Amazon RDS
Amazon Redshift
Amazon S3
API
Autonomous Vehicle
AWS
AWS API Gateway
AWS Chalice
AWS Control Tower
AWS IAM
AWS Lambda
AWS VPC
BERT
BigQuery
Causal Inference
ChatGPT
Chrome Extension
CircleCI
Classification
Cloud Functions
Cloud IAM
Cloud Run
Cloud Storage
Clustering
CSS
Data Engineering
Data Modeling
Database
dbt
Decision Tree
Deep Learning
Descriptive Statistics
Differential Equation
Dimensionality Reduction
Discrete Choice Model
Docker
Economics
FastAPI
Firebase
GIS
git
GitHub
GitHub Actions
Google
Google Cloud
Google Search Console
Hugging Face
Hypothesis Testing
Inferential Statistics
Interval Estimation
JavaScript
Jinja
Kedro
Kubernetes
LightGBM
Linux
LLM
Mac
Machine Learning
Macroeconomics
Marketing
Mathematical Model
Meltano
MLflow
MLOps
MySQL
NextJS
NLP
Nodejs
NoSQL
ONNX
OpenAI
Optimization Problem
Optuna
Pandas
Pinecone
PostGIS
PostgreSQL
Probability Distribution
Product
Project
Psychology
Python
PyTorch
QGIS
R
ReactJS
Regression
Rideshare
SEO
Singer
sklearn
Slack
Snowflake
Software Development
SQL
Statistical Model
Statistics
Streamlit
Tabular
Tailwind CSS
TensorFlow
Terraform
Transportation
TypeScript
Urban Planning
Vector Database
Vertex AI
VSCode
XGBoost