SQL Statements

SQL statements are used to interact with a database. Data Definition Language (DDL) involves creating, altering, and dropping database structures. Data Manipulation Language (DML) is used for managing data, while Transaction Control (TCL) manages changes made by DML. Data Control Language (DCL) manages access permissions and privileges. In a library database use case, these statements are applied to manage book information.

HTTP Methods

The Internet comprises interconnected devices globally, with HTTP as an application-layer protocol for transferring hypertext requests and information. It operates over TCP/IP, using port 80, and employs stateless communication. Its methods include GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, TRACE, and CONNECT. HTTPS is the secure version, providing encryption for sensitive data.

Code Review

Peer code review involves fellow developers reviewing each other's code before merging it. It enhances code quality, fosters collaboration, and identifies security issues. The process includes submitting, selecting reviewers, feedback, reviewing, and learning from the review. It is crucial to set clear expectations, be constructive, conduct reviews promptly, use tools, rotate roles, and document the process. The SMART strategy can guide the establishment of review goals for improved outcomes in project management and personal development.

SOA: Service Oriented Architecture

Service-oriented architecture (SOA) enables reusable software components using common interfaces, offering benefits such as faster time to market, reduced costs, and ease of maintenance. It includes three roles: service provider, broker/registry, and requester. SOA differs from microservices in its enterprise-wide approach and dependency on middleware. It also contrasts with SaaS, as it offers web services via service providers.

Monolith, Microservices, Mono-Repo

A monolith is a self-contained software system with scalability, agility, maintenance, and fault isolation challenges. Microservices offer solutions, but bring complexity, versioning issues, testing complexities, and code sharing challenges. In contrast, a Mono Repo simplifies management, promotes collaboration, dependency management, testing, code sharing, refactoring, and discovery, though it may lead to coupling, complex CI/CD, performance issues, and broken master situations.