├── .gitignore ├── 6 Type Constructors.pdf ├── AWS └── AWS Certified for FREE .md ├── AZURE ├── 01 Microsoft Azure - History Overview.md ├── 02 Azure AZ 204 Study Guide & Application Development Overview.md ├── 02 Azure Region & Availability Guide.md ├── 03 Azure Resources & Resource Groups.md ├── 03 VM │ ├── 01 Azure Virtual Machines (VM).md │ ├── 02 . Azure Virtual Machine Availability.md │ ├── 02 Azure Virtual Machine - Detailed Creation Guide.md │ ├── 03 Interview Questions on Azure Virtual Machines.md │ ├── 03-azure-virtual-machine-scaling.md │ ├── Deployee │ │ ├── 00 Azure VM Cost FAQ: Stopping vs Deallocating.md │ │ ├── 01 Setup IIS Web Server on Azure VM.md │ │ ├── 02 ost Website on Azure VM (Open Port 80).md │ │ ├── 03 Windows Server Setup for .NET Web Application Deployment.md │ │ └── 04 Create and Publish .NET Core Web Project.md │ └── Question │ │ ├── 01 Understanding Hosts, VMs, and Azure Blades.md │ │ ├── 02 Securely Referencing Passwords in Azure ARM Templates using Azure Key Vault.md │ │ ├── 03 Azure ARM Template – High Availability for Virtual Machines with Availability Sets ## 🧠 Scenario.md │ │ └── 04 Azure Virtual Machines – Availability Sets & ARM Templates.md ├── 04 Azure Portal – Quick Get Started Guide.md ├── 04 Introduction to Azure Subscription.md ├── 05 Difference Between Azure Account, Tenant, and Subscription.md ├── ARM │ └── Readme.md ├── AZ204 ├── Activity Log │ ├── 01 Azure Activity Logs.md │ ├── 02 Azure Health Monitoring.md │ ├── 03 Azure Application Insights.md │ └── 04 Azure Monitor.md ├── AppService │ ├── 01 Azure App Service - Basic Overview.md │ ├── 02 Secure Unique Default Hostname in Azure App Service.md │ ├── 03 Azure App Service Plan – What, Why & How (Portal Guide).md │ ├── 04 Zone Redundancy in Azure.md │ ├── 05 Azure Web App Essentials & AZ-204 Practice Questions.md │ ├── 06 Deploying Angular Project to Azure App Service.md │ ├── 08 Deploy Azure Web App Using Azure CLI on Windows.md │ ├── APIGateway │ │ ├── 01 Azure API Management Gateway (APIM) - Why, What, and How.md │ │ ├── 02 Cloud-Native API Gateways.md │ │ ├── 03 Azure API Management Gateway with .NET Core App Service (Using Azure Portal).md │ │ ├── 04 How to Connect C# Code with Azure API Management (APIM).md │ │ ├── 05 Azure API Management Product.md │ │ ├── 06 Azure API Management – Subscription Security and Configuration Guide.md │ │ ├── 07 Azure API Management - Mock API.md │ │ ├── 08. Reversion API Gateway with Azure API Management.md │ │ ├── 09 Azure API Management – API Versioning Example.md │ │ ├── 10 Azure API Management Workspace.md │ │ └── Question │ │ │ └── 01 API Management: Backend Authentication.md │ ├── AzureSearch │ │ └── Readme.md │ ├── QA │ │ ├── 01 AZ-204 Practice Questions and Answers.md │ │ ├── 02. AZ-204: Configure and Implement Diagnostics and Logging in Azure App Service Web Apps.md │ │ ├── 03 App Service Plan and Autoscaling.md │ │ └── 04 Azure Cognitive Search & Query Parameters.md │ └── readme.md ├── Azure Key Vault │ ├── 01 Azure Key Vault.md │ ├── 02 Azure Key Vault - Secrets vs Keys vs Certificates.md │ ├── 03 azure Key Vault Setup Guide.md │ ├── 05 Getting Started with Azure Key Vault in C# (Web, Mobile, Desktop).md │ ├── 06 Use Azure Key Vault in C# (Web, Mobile, Desktop) Using Azure Portal & ClientSecretCredential.md │ └── Question │ │ ├── 01 Secure e-Commerce Web App with Azure Key Vault and AAD Authentication.md │ │ └── 02 Azure Key Vault – Soft Delete and Purge Protection Configuration via PowerShell.md ├── Basic │ ├── 01 Azure Learning Guide with Microsoft Learn.md │ ├── 02 On-Premise Servers vs Cloud Servers.md │ ├── 03 Best Cloud Service Model for Different Use Cases.md │ ├── 04 Cloud Service Models Overview.md │ ├── 05 Cloud Provider Comparison: Azure vs AWS and Best Cloud Providers.md │ └── Mastering Azure Cloud - Your Path to Certification.pptx ├── Budget │ ├── 01 Azure Budget & Cost Calculator.md │ └── 02 Service Level Agreement (SLA) in Azure.md ├── DataBase │ ├── 01 MySQL-MariaDB-PostgreSQL.md │ ├── 02 Azure-SQL-Database.md │ ├── 03 Azure SQL Database Deployment Models with Real-Time Use Cases.md │ ├── 04 How to Configure Azure SQL Elastic Pool.md │ ├── 05 Azure SQL Managed Instance – Why & How to Use.md │ ├── 06 . Azure In-Memory Caching.md │ ├── 07 Azure Cache for Redis .md │ ├── 08 Azure Cache for Redis.md │ ├── 09 Azure Cache for Redis .md │ └── CDN │ │ ├── 01 CDN.md │ │ ├── 02 Azure CDN Setup Guide .md │ │ └── Questions │ │ └── 01 Streaming Video App Design.md ├── Dev │ ├── 01 Programming Languages Supported by Azure.md │ ├── 02 Azure Datacenters, Regions, Region Pairs & Availability Zones.md │ ├── 03 Azure Fault Domain, Update Domain & Availability Set.md │ └── 04 Azure Resource Group.md ├── Entra ID │ ├── 01 Microsoft Entra ID.md │ ├── 02 Custom Domain in Microsoft Entra ID.md │ ├── 03 Creating Users and Groups in Microsoft Entra ID.md │ ├── 04 Multi-Factor Authentication (MFA) .md │ ├── 05 User Authentication Methods in Microsoft Entra ID.md │ ├── 06 Differnt user.md │ ├── 07 Self-Service Options in Azure AD.md │ ├── 08 Azure Active Directory (Azure AD) Editions.md │ ├── 09 Azure AD Domain Join.md │ ├── 10 Azure AD Connect.md │ ├── 11. B2B and B2C.md │ ├── Code │ │ ├── 01Register an Application in Azure AD B2C.md │ │ ├── 02 ASP.NET Core 8.0 Azure AD B2C Login & Logout Integration.md │ │ ├── 03 Azure AD B2C Integration in .NET Core 8.0 with Microsoft Graph.md │ │ └── 04 Microsoft Graph API Testing & Editor Guide.md │ ├── Image │ │ ├── Azure AD Connect README - visual selection (1).png │ │ ├── Azure AD Connect README - visual selection (2).png │ │ ├── Azure AD Connect README - visual selection.png │ │ └── test.md │ └── Question │ │ ├── 01 Azure AD Mobile App Registration – OAuth 2.0 Implicit Grant.md │ │ └── 02 Azure Active Directory Conditional Access – MFA for Azure Portal.md ├── Function │ ├── 01 Azure Functions – Benefits, Need, and Real-Time Use Cases.md │ ├── 02 Why Azure Functions - Overview │ ├── 03 Azure Functions: Triggers and Bindings.md │ ├── 04 Azure Functions - Pricing.md │ ├── 05. Azure Functions - Supported Languages.md │ ├── 06.How to Create an Azure Function in Azure Portal.md │ ├── 07. Azure Functions - HTTP Trigger.md │ ├── 08. Azure Authentication Guide.md │ ├── 09.Azure Function Storage Account Configuration Guide.md │ ├── 11. Azure Functions - Local Development Options.md │ ├── 12. Creating Azure Functions using Visual Studio and Visual Studio Code.md │ ├── 13. Call Azure Function Using System Assigned Managed Identity in C\#.md │ ├── 14. Azure Function Consumer with User Assigned Managed Identity (.NET C#).md │ └── FAQ │ │ ├── 01.Azure Functions: Questions and Explanations.md │ │ ├── 02.Azure Functions: Questions, Answers, Explanations, and References.md │ │ └── 03. Azure Services Q&A Guide.md ├── Issue │ └── 01 Email Going to Spam – Office 365 + GoDaddy (New Domain).md ├── Kubernetes │ ├── 01 Kubernetes.md │ ├── 02 Kubernetes (K8s).md │ └── Docker │ │ ├── 00 Docker vs Virtual Machine (VM).md │ │ ├── 01 Intro.md │ │ ├── 02 Docker Architecture and Components.md │ │ ├── 03 Docker Setup in Visual Studio.md │ │ ├── 04 Publishing a Docker Image to Docker Hub.md │ │ ├── 05 Running the MiniSuperMarket Docker Container.md │ │ ├── 06 How to Stop Docker Containers on Local Machine.md │ │ ├── 07 Dockerizing an Angular Application (Without Visual Studio).md │ │ ├── Azure Regitery.md │ │ └── Questions │ │ └── 01 HOTSPOT – Deploying a Python Website to Azure Web App using Containers.md ├── Log │ └── Questions │ │ └── 01 Azure Logs, Log Analytics, and Alert Rules.md ├── Message Service │ ├── 01 Azure Messaging & Integration Services.md │ ├── Event Grid │ │ ├── 01 Azure Event Grid vs. Event Grid Topic.md │ │ └── 02 Azure Event Grid Topic.md │ ├── Event Hub │ │ ├── 01 Azure Event Hub Tutorial.md │ │ └── 02 Azure Event Hub – C# Integration Sample.md │ ├── Logic Apps │ │ ├── 01 Azure Logic Apps .md │ │ ├── 02 Azure Logic App .md │ │ ├── 03 Logic App vs Azure Functions .md │ │ └── Question │ │ │ ├── 01 Logic Apps: Updating Definitions.md │ │ │ └── 02 Azure Logic Apps: Editing Workflows.md │ ├── Question │ │ └── 01 Triggered Background Processing in Azure Web Apps using WebJobs.md │ ├── Service Bus │ │ ├── 01 Azure Service Bus - Cross-Platform Enterprise Messaging.md │ │ ├── 02 Queue.md │ │ ├── 03 Topic.md │ │ └── Questions │ │ │ └── 01 Scaling Azure App Service with Service Bus Queue.md │ ├── Storage Queue │ │ ├── 01 Why Use Azure Storage Queue.md │ │ ├── 02 Azure Storage Queue.md │ │ ├── 03 Azure Storage Queue - Create & Read Messages using C#.md │ │ └── Questions │ │ │ └── 01 VM Completion Messages in .NET.md │ └── Web Jobs │ │ └── 01 Azure WebJobs.md ├── Networking │ ├── 01 Home Network Architecture.md │ ├── 02 IP Addresses.md │ └── 04 Networking Overview: Home, Office, and Virtual Networking.md ├── PowerShell │ └── readme.md ├── QSession │ └── 01 Azure Developer Fundamentals (Day 1–3) Practice Test.md ├── Question │ ├── 01 Move to Another Country.md │ ├── 02 Can I manually choose the data center for LRS or ZRS in Azure.md │ └── 03 Using Managed Identity with Azure VM + Storage.md ├── RBAC │ ├── 01 Azure Role-Based Access Control (RBAC).md │ └── 02 Real-World Story: RBAC in Action at Contoso Ltd.md ├── README.MD ├── Storage │ ├── 00 Azure Storage – Deep Dive Guide.md │ ├── 01 Azure Storage - Overview.md │ ├── 02 Azure Storage Redundancy - Detailed Overview.md │ ├── 03 Azure Storage Account – Data Protection Section.md │ ├── 04.Azure Storage Account – Encryption Options.md │ ├── 05. Azure Blob Storage - Categories and Real-Time Use Cases.md │ ├── 06.Azure Storage Encryption – Step-by-Step Guide (Portal).md │ ├── 07 Azure Storage Static Website .md │ ├── 08 Azure Blob Storage Lifecycle Management – README.md │ ├── 09 Azure Storage Account Access Keys.md │ ├── 10.Azure Shared Access Signature (SAS).md │ ├── 11. .NET Core Web Application with Azure Blob Storage Integration.md │ ├── 11. Azure Storage Explorer.md │ ├── Azure File │ │ ├── 02. Azure File Sync vs Azure File Share.md │ │ ├── 03 Azure File Storage Sync – Step-by-Step Setup Guide.md │ │ ├── 04 Azure File Share vs Dropbox OneDrive.md │ │ └── Azure File Sync .md │ ├── Azure SQL │ │ └── readme.md │ ├── File Share │ │ ├── 01 What is Azure File Share .md │ │ └── 02.Connect Azure File Share in C# Project.md │ ├── NoSQL │ │ ├── 01 Introduction to NoSQL Databases.md │ │ ├── 02 Azure Cosmos DB .md │ │ ├── 03 Get Started with Azure Cosmos DB.md │ │ ├── 04 Azure Cosmos DB Query .md │ │ ├── 05 Azure Cosmos DB Query 2.md │ │ ├── 06 Azure Cosmos DB with .NET - Create Database & Container.md │ │ ├── 07 Azure Cosmos DB – Insert Item into Container (.NET).md │ │ ├── 08 Azure Cosmos DB – Read Item from Container (.NET).md │ │ ├── 09 Azure Cosmos DB – Update Item in Container (.NET).md │ │ ├── 10 Azure Cosmos DB – Delete Item from Container (.NET).md │ │ ├── Question │ │ │ └── 01 Airline Ticket Reservation System – Cosmos DB Setup.md │ │ └── Table API │ │ │ ├── 01 Azure Cosmos DB – Table API.md │ │ │ ├── 02. Azure Cosmos DB Table API – Entity, PartitionKey, and RowKey Explained.md │ │ │ ├── 03 Azure Cosmos DB Table API – Full CRUD Operations in .NET.md │ │ │ └── 04 Azure Cosmos DB – Choosing the Right API.md │ ├── Question │ │ ├── 01 Azure Cosmos DB + Function App with IoT Notification.md │ │ ├── 02 Migrating MongoDB to Azure Cosmos DB (MongoDB API).md │ │ └── 03 Azure SQL Authentication with Azure Active Directory (Azure AD).md │ ├── Questions │ │ ├── 01 Connecting to Azure Cosmos DB with .NET.md │ │ ├── 01 Copying Data Between Azure Storage Accounts.md │ │ ├── 01 Updating Blob Metadata in Azure Storage.md │ │ ├── 02 Collecting POS Device Data with Azure.md │ │ ├── 03 Azure Blob Lifecycle Management – GPv1 to Archive.md │ │ ├── 04 Azure Storage Account Migration – Questions & Answers.md │ │ ├── 05 Consomose DB.md │ │ ├── 07 premium block blob storage account.md │ │ ├── 08 Azure Cosmos DB.md │ │ ├── 09 Azure Blob Change Monitoring with GetChangesAsync & Continuation Tokens.md │ │ ├── 10 zure Blob Storage – Immutability & Data Protection.md │ │ └── 11 Azure Cosmos DB – Multi-Document ACID Transactions.md │ ├── Readme.md │ ├── SP │ │ ├── 00. Azure Cosmos DB Stored Procedures.md │ │ └── 01 Azure Cosmos DB Stored Procedure Guide.md │ └── image │ │ ├── Azure Storage Options.png │ │ ├── Benefits of Azure Storage.png │ │ ├── Storage plan.png │ │ ├── Type Data Type.png │ │ └── image.md └── Trainner │ ├── 01 Day 1 – Azure Learning Overview.md │ ├── 02 Day 2 – Azure Free Account & Portal Basics.md │ ├── 03 Day 3 Azure Developer Fundamentals.md │ ├── 04 Day 4 – Azure Networking & Virtual Machines.md │ └── 05 Day 5 Azure Virtual Machine (VM) Guides.md ├── Best Practice ├── C# and XAML Naming Standards.md ├── XAML Naming Standards for Controls.md └── readme.md ├── Csharp ├── .DS_Store ├── 01 Data_Types_and_Type_Conversion .md ├── 02 Conditional_Statements.md ├── 03 Switch Case Benefits and Code Explanation.md ├── 04 C# Operators.md ├── 05 objectandDynamicTypes.md ├── 06 Understanding Loops, Increment, Decrement, Nested Loops, and Arrays in C#.md ├── 07 for_loop_for_each_readme.md ├── 08 FileOperations.md ├── ADO │ ├── 01 SQLConnection.md │ ├── 02 ADO.NET User Registration.md │ ├── 03 ADO.NET Login Functionality.md │ ├── 04 ADO.NET: Working with DataSet and SqlDataAdapter.md │ ├── 05 # ADO.NET SQL DataReader Example.md │ └── 06 Calling Stored Procedure Using ADO.NET (C#).md ├── Collection │ ├── 01 C# Collections and Specialized Collections.md │ ├── 02 C# Collections and Specialized Collections Interview Questions.md │ ├── 03 C# Properties with Generic List Example.md │ ├── 04 Understanding List in C#.md │ ├── 05 Generic Collections in C#.md │ ├── 05 Understanding Performance in C# Generic Collections.md │ ├── 06 Thread-Safe Generic Collections.md │ └── Readem.md ├── Exception │ ├── 01 Exception Handling in C#.md │ └── 20 AutoMapper.md ├── Extra │ └── 01 C# Core Concepts: Singleton, Struct, and Jagged Array.md ├── LINQ │ ├── 01 LINQ in C#.md │ ├── 02 Lambda Expressions.md │ ├── 03 LINQ Interview Questions and Answers.md │ ├── 04 Newtonsoft.Json in C#.md │ ├── 05 IEnumerable.md │ └── 06 LINQ Methods in C# – Any, All, Contains, Except.md ├── Logical │ ├── 01 Find the Missing Number.md │ └── 02 Find the Missing Number.md ├── OOPS │ ├── 01 Classes.md │ ├── 02 Understanding Namespaces in C#.md │ ├── 03 Understanding Classes and Objects in Programming.md │ ├── 04 Variable Types in C#.md │ ├── 05 Methods in C#.md │ ├── 06 Understanding `params` Keyword, Default Parameters, and Named Parameters in C#.md │ ├── 07 Generic Methods in C#.md │ ├── 08 Understanding ref, out, and in in C#.md │ ├── 09 Static Class, Static Variable & Static Constructor in C#.md │ ├── 10 Extension Methods in C#.md │ ├── 11 C# Inheritance - Complete Guide with Examples .md │ ├── 12 Delegates in C#.md │ ├── 12 C# Structs .md │ ├── 13 Understanding Constructors in C# (Including Primary Constructors).md │ ├── 14 Enum in C#.md │ ├── 14 Partial Classes in C#.md │ ├── 15. C# Nullable Types - Complete Guide.md │ ├── 16 Interfaces in C#.md │ ├── 17. Abstract Class in C#.md │ ├── 17.1 Abstract Class vs Interface in C# – Interview Questions & Answers.md │ ├── 18.required` Keyword Demo.md │ ├── 19. Record in C#.md │ ├── 20 Modern C# Types & Features (C# 9 - 11).md │ ├── 21 Destructor and IDisposable in C#.md │ ├── 22 Sealed Class in C#.md │ ├── 23 Tuple in C#.md │ ├── 24 Access Modifiers in C\#.md │ ├── Design Pattern │ │ ├── 01 3-Tier Architecture in C# .md │ │ ├── 02 MVVM Architecture for WPF.md │ │ └── 03 MVVM Architecture in WPF – Detailed Guide.md │ ├── Image │ └── Refout.png ├── Perforamce │ ├── 01 Csharp-performance-tip.md │ └── Enum.png ├── Python │ ├── 01 Difference.md │ └── 02 C# vs Python Syntax – Quick Reference.md ├── Readme.Md ├── String │ ├── 01 Detailed Explanation of String Manipulations and Best Approaches in C#.md │ ├── 02 Frequently Asked String Function Interview Questions.md │ ├── 03 Stack Memory vs. Heap Memory.md │ └── 04 String Manipulation in C#.md └── Task │ └── 01 Offer Letter Generator - Student Task.md ├── Csharp_Ola.md ├── DotnetCore ├── 01. Getting Started with ASP.NET Core MVC.md ├── 02. Razor Pages Class Overview.md ├── 03.Understanding Razor Pages Layouts and ViewStart.md ├── 04. ViewData, ViewBag, and TempData in ASP.NET Core MVC.md ├── 05. Dot NET Core TagHelpers.md ├── 06. Strongly Typed Razor Pages in .NET Core .md ├── 07. Passing Multiple Models to a View in ASP.NET Core MVC.md ├── 08. HTTP Methods in ASP.NET Core.md ├── 10. ASP.NET MVC Form Submission with HTML Helpers.md ├── 11. Handling Multiple Button Events in ASP.NET Core.md ├── 12.Model DataType in .NET Core.md ├── 13 Shared Login View.md ├── 14. _ViewImports.cshtml Usage and Implementation.md ├── 15. .NET Core Routing.md ├── 16. Model Annotation Attributes in ASP.NET Core.md ├── 160. ASP.NET Core Form Validation.md ├── 17. Partial View in ASP.NET Core MVC.md ├── 18. ASP.NET Core MVC Action Method Return Types.md ├── 19.Passing Parameters from Razor Page to Controller in ASP.NET Core.md ├── 20 AutoMapper.md ├── Basic │ ├── HTML.md │ └── css.md ├── EF │ ├── 01 Entity Framework Core.md │ ├── 02 Dependency Injection .md │ └── 03. CRUD Operations.md ├── Gateway │ ├── 01 Payment Gateway Integration .md │ ├── 02 -01 How to Create a Gmail Account and Set an App Password.md │ ├── 02 Sending Emails in .NET Core.md │ ├── 03 OAuth Integration in .NET Core.md │ └── 04 API Calling.md ├── Localization │ └── 01 Localization in ASP.NET Core MVC.md └── WebAPI │ ├── 01 Web API.md │ ├── 02 .NET Core Web API - Product API.md │ ├── 03 Setting Up Swagger in .NET Core 8.0.md │ ├── 04 Web API Return Types in JSON.md │ ├── 05 ASP.NET Core Web API - Different Ways to Pass Parameters.md │ ├── HTTPcall │ ├── Async and Await in C#.md │ └── C# HTTP Client Examples.md │ └── topic.md ├── FOOTER.md ├── Flutter ├── 01 Flutter Terminal Commands Cheat Sheet.md ├── 02 Essential VS Code Shortcuts for Flutter Development.md ├── 03 Flutter Best Practices Cheat Sheet.md ├── 04 Flutter Best Practices Cheat Sheet.md └── State │ ├── 01.List.md │ └── Bloc │ └── 01 Flutter BLoC State Management – Beginner Guide.md ├── Job ├── 01 Job Portal.md ├── 02 Job Application Messages.md ├── 03. About Yourself & Project.md ├── 04. HR Interview Question.md ├── 05 Project & Team.md ├── 06 Onsite Job Search.md ├── 07 Software Company Etiquette.md └── readme.md ├── Junior ├── 01 WPF & XAML Basics – Notes.md └── 04 WPF Multi-Window App — Login, Register, MainWindow .md ├── OOPS ├── Interface.md └── Readme.md ├── Programming ├── 01 C# For Loop - Top 50 Interview Questions.md ├── Day1.md ├── Readme.md └── ReverseString.md ├── Python ├── Basic │ ├── Conditional │ │ ├── 03 Python Loops (for, while, nested).md │ │ ├── Other Conditional Types in Python.md │ │ └── ifCondition.md │ └── Intro │ │ ├── 01 Python for Absolute Beginners.md │ │ ├── 02 Python Interpreter.md │ │ ├── 03 Python Input & Output.md │ │ ├── 03 Python Printing Basics.md │ │ ├── 04 Python Data Types.md │ │ ├── 05 Python Variables & Data Types.md │ │ └── 06 Python Operators.md ├── Exception │ └── 01 trycatch.md ├── Project │ ├── 01Mini Project: Simple ATM Application.md │ └── 02 Mini Project: Student Grade Calculator.md ├── README.MD ├── Setup │ ├── 01 Python Setup in Visual Studio Code.md │ └── 02 PyCharm.md └── Task │ ├── Month1.md │ ├── Month2.md │ └── Month3.md ├── Question ├── 01 Feb_22_2025.md ├── Day1.md ├── Dotnet │ ├── 01 Infosys QA with Example.md │ ├── 02 Infosys QA.md │ ├── 03 Interview Question.md │ ├── 04 Essential C# Interview Questions with Answers and Code Examples.md │ ├── 05 C#.NET Interview Questions and Answers.md │ └── 06 C# Logical Coding Interview Questions – Strings, Arrays, and For Loops.md └── System │ ├── 01 program.md │ ├── 02 System Program.md │ ├── 03 Logical.md │ ├── Chsarp │ ├── 01 C# Programming .md │ └── 02 C# Logical Programming Interview Questions and Answers.md │ └── WPF │ └── 01 WPF Interview.md ├── README.md ├── SQL ├── 01 Introduction to Databases.md ├── 02 SQL Practice: Creating and Using a Hotel Employee Database.md ├── 03 SQL Server Data Types – Complete Guide.md ├── 04 SQL Server `INSERT` Statement - Practical Guide.md ├── 05 SQL Query Types.md ├── 06 ALTER Query: Beginner to Expert.md ├── 07 SQL Basics: Create, Insert, Select, Update, and Delete with WHERE Clause.md ├── 08 Database Keys Explained (Beginner to Expert).md ├── 09 Sequence & Identity.md ├── 10 SQL Server Temporary Tables.md ├── 11 SQL Server Aggregate Functions.md ├── 12 SQL Server - IN, LIKE, and BETWEEN Operators.md ├── 13 SQL Server Subqueries.md ├── 14 SQL Server: ORDER BY and TOP Clauses.md ├── 15. SQL Constraints - README.md ├── 16 SQL Self Join.md ├── 17. SQL Joins.md ├── 18.SQL Server View.md ├── 19. TRUNCATE vs DELETE in SQL Server.md ├── 20. GROUP BY, WHERE, and HAVING.md ├── 21. REVOKE and COMMIT Commands.md ├── 22 SQL Stored Procedures – Beginner to Expert Guide.md ├── 23.sql-server-alias-guide.md ├── DB Design │ ├── 01 Database Design.md │ ├── 02 Shopping Application — Database Setup Guide.md │ ├── 03 Hotel Management System Database Design Project.md │ ├── DB Design.png │ └── Demo Query.md ├── Guideline │ └── 01 SQL Server Naming Standards & Best Practices.md └── Readme.md ├── WPF ├── 00 Introduction to C# and Visual Studio - Day 1.md ├── 001 C# Data Types: `string`, `int` and Type Conversion with WPF Calculator Example.md ├── 002 Common Event Handler in WPF - Number_Click.md ├── 003. Lucky Game WPF App .md ├── 01 Calculator_Application.md ├── 02 Understanding Margin and Padding in XAML.md ├── 03 MessageBox.Show Example.md ├── 04 Image WPF Button.md ├── 05 WPF Application - DockPanel, Frame, Menu, and ContextMenu.md ├── 06. Quiz Program with RadioButton and CheckBox.md ├── 07 ComboBox and ListBox.md ├── 08.WPF TabControl Application.md ├── 09 WPF Grid Layout.md ├── 10. WPF ListView Examples.md ├── Day1.md ├── Localization │ ├── 01 Localization in WPF Using Resource Files.md │ ├── 02 Localization Accessing Resource Files in C#.md │ └── Task │ │ └── 01 Localization Task.md └── Style │ ├── 01 WPF Styles in Different Levels.md │ └── 02 Resource Dictionary in WPF.md └── index.html /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | /DemoApp 3 | -------------------------------------------------------------------------------- /6 Type Constructors.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/6 Type Constructors.pdf -------------------------------------------------------------------------------- /AZURE/01 Microsoft Azure - History Overview.md: -------------------------------------------------------------------------------- 1 | # 🌐 Microsoft Azure - History Overview 2 | 3 | This document provides a concise history of Microsoft Azure, from its early beginnings to its current role as one of the leading global cloud platforms. 4 | 5 | --- 6 | 7 | ## 📅 Timeline of Key Milestones 8 | 9 | ### 🏁 2008 – Announcement 10 | - Microsoft announced its entry into cloud computing with a platform initially called **"Windows Azure"** at the **Microsoft Professional Developers Conference (PDC)** in October 2008. 11 | 12 | ### 🚀 2010 – Public Launch 13 | - **February 2010**: Windows Azure became commercially available. 14 | - It offered core services like: 15 | - Compute 16 | - Storage 17 | - SQL Azure (now Azure SQL Database) 18 | - AppFabric (a middleware platform for connectivity) 19 | 20 | ### 🔄 2014 – Rebranding to Microsoft Azure 21 | - Microsoft renamed **Windows Azure** to **Microsoft Azure** in **March 2014** to reflect its broader support for non-Windows platforms and services. 22 | - Azure began expanding support for **Linux**, **open-source tools**, and **multi-language development**. 23 | 24 | ### ☁️ 2015–2018 – Rapid Expansion 25 | - Microsoft invested heavily in: 26 | - Data centers across the globe 27 | - Services like Azure Machine Learning, IoT Hub, and Cosmos DB 28 | - Azure became a strong competitor to AWS and Google Cloud. 29 | 30 | ### 🔐 2019 – Hybrid Cloud & Security Focus 31 | - Launched **Azure Arc** for hybrid/multi-cloud management. 32 | - Strengthened Azure's identity and security offerings through **Azure Active Directory** and **Microsoft Defender for Cloud**. 33 | 34 | ### 🤖 2020–2023 – AI, Analytics, and DevOps 35 | - Growth in AI and analytics services: 36 | - Azure Cognitive Services 37 | - Azure Synapse Analytics 38 | - Microsoft emphasized DevOps integration through: 39 | - **Azure DevOps** 40 | - **GitHub Actions** (after GitHub acquisition in 2018) 41 | 42 | ### 🔮 2023–2024 – AI Leadership and OpenAI Partnership 43 | - Azure became the **exclusive cloud provider for OpenAI**. 44 | - Launched **Azure OpenAI Service**, giving customers access to models like ChatGPT, GPT-4, and Codex. 45 | - Azure strengthened its role in powering **enterprise AI and Copilot** services across Microsoft 365 and Dynamics. 46 | 47 | --- 48 | 49 | ## 🌍 Global Reach 50 | 51 | - Azure operates in **60+ regions** worldwide. 52 | - Offers a vast portfolio of **200+ services**, including: 53 | - Compute (VMs, App Services) 54 | - Storage (Blob, File, Queue) 55 | - Databases (SQL, Cosmos DB) 56 | - AI/ML (OpenAI, Cognitive Services) 57 | - DevOps, Networking, IoT, and Security 58 | 59 | --- 60 | 61 | ## 🏆 Azure Today 62 | 63 | - Azure is a core component of Microsoft’s **cloud-first** strategy. 64 | - Used by startups, enterprises, and governments for: 65 | - Web hosting 66 | - Big data processing 67 | - Artificial intelligence 68 | - Hybrid and multi-cloud architectures 69 | 70 | --- 71 | 72 | ## 📚 Resources 73 | 74 | - [Microsoft Azure Official Site](https://azure.microsoft.com/) 75 | - [Azure Blog](https://azure.microsoft.com/en-us/blog/) 76 | - [Azure Architecture Center](https://learn.microsoft.com/en-us/azure/architecture/) 77 | - [Azure Updates](https://azure.microsoft.com/en-us/updates/) 78 | 79 | ## Connect with Me 80 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 81 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 82 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 83 | - **Blog**: [Blog](https://www.msdevbuild.com/) 84 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 85 | -------------------------------------------------------------------------------- /AZURE/03 VM/03-azure-virtual-machine-scaling.md: -------------------------------------------------------------------------------- 1 | 2 | # Azure Virtual Machine Scaling: Horizontal vs Vertical 3 | 4 | ## Overview 5 | 6 | Scaling is a key concept in cloud computing, allowing your infrastructure to adapt to changes in demand. Azure provides two primary types of scaling for Virtual Machines (VMs): 7 | 8 | - **Vertical Scaling (Scale Up/Down)** 9 | - **Horizontal Scaling (Scale Out/In)** 10 | 11 | This document explains both concepts and when to use each. 12 | 13 | --- 14 | 15 | ## 🔼 Vertical Scaling (Scale Up/Down) 16 | 17 | **Definition:** 18 | Vertical scaling involves increasing or decreasing the capacity (CPU, RAM, etc.) of a single VM. 19 | 20 | **How to do it:** 21 | - Change the size of the VM in the Azure Portal. 22 | - Example: Upgrade from Standard B2s to Standard D4s. 23 | - Requires a **VM restart**. 24 | 25 | **When to use:** 26 | - Applications that cannot run on multiple instances. 27 | - Performance bottlenecks are due to limited CPU or memory. 28 | - Simple architectures and small-scale apps. 29 | 30 | --- 31 | 32 | ## 🔁 Horizontal Scaling (Scale Out/In) 33 | 34 | **Definition:** 35 | Horizontal scaling means increasing or decreasing the number of VM instances to handle more or less load. 36 | 37 | **How to do it:** 38 | - Use **Virtual Machine Scale Sets** with **autoscaling rules**. 39 | - Combine with **Load Balancer** to distribute traffic. 40 | 41 | **When to use:** 42 | - Web applications or APIs with variable traffic. 43 | - Need for high availability and fault tolerance. 44 | - Applications designed for distributed environments. 45 | 46 | --- 47 | 48 | ## 🆚 Comparison Table 49 | 50 | | Feature | Vertical Scaling | Horizontal Scaling | 51 | |--------------------------|------------------------------------------|--------------------------------------------| 52 | | Resource Change Type | Increase/decrease VM size (CPU, RAM) | Add/remove VM instances | 53 | | Downtime Required | Yes (VM restart needed) | No (new instances launched independently) | 54 | | Complexity | Simple | More complex (requires load balancer, scale set) | 55 | | Cost Control | Can be expensive for large VMs | More cost-effective with autoscaling | 56 | | Best For | Single-instance apps, legacy systems | Scalable web apps, microservices | 57 | 58 | --- 59 | 60 | ## 🛠️ Implementation in Azure 61 | 62 | ### Vertical Scaling: 63 | 1. Go to your VM in the **Azure Portal**. 64 | 2. Select **Size** from the left menu. 65 | 3. Choose a new size and click **Resize**. 66 | 67 | ### Horizontal Scaling: 68 | 1. Create a **Virtual Machine Scale Set**. 69 | 2. Enable **autoscaling** based on metrics (CPU, memory, etc.). 70 | 3. Use **Azure Load Balancer** to manage incoming traffic. 71 | 72 | --- 73 | 74 | ## 🧠 Best Practices 75 | 76 | - Monitor your system using **Azure Monitor**. 77 | - Use **autoscaling rules** to automate horizontal scaling. 78 | - Combine both strategies when necessary: 79 | - Vertically scale to a performance threshold. 80 | - Horizontally scale beyond that. 81 | 82 | --- 83 | ## Connect with Me 84 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 85 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 86 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 87 | - **Blog**: [Blog](https://www.msdevbuild.com/) 88 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 89 | -------------------------------------------------------------------------------- /AZURE/03 VM/Deployee/00 Azure VM Cost FAQ: Stopping vs Deallocating.md: -------------------------------------------------------------------------------- 1 | # Azure VM Cost FAQ: Stopping vs Deallocating 2 | 3 | When you stop a VM in Azure, understanding how billing works is crucial to manage costs effectively. This FAQ explains the differences and best practices. 4 | 5 | ## 1. Stopping a VM (From inside OS) 6 | 7 | * When you stop a VM from **within the operating system** (clicking Start > Shutdown inside Windows, or using shutdown in Linux): 8 | 9 | * The VM **stops running**, but the **compute resources are still allocated**. 10 | * You **still pay for the compute** (CPU/Memory). 11 | * Storage (OS disk / Data disk) continues to be billed as usual. 12 | 13 | ✅ **Use case:** You want the VM off but keep the resources ready for quick restart. 14 | 15 | ## 2. Stopping / Deallocating a VM (From Azure Portal) 16 | 17 | * When you stop a VM **from Azure Portal** (Stop button): 18 | 19 | * The VM is **stopped and deallocated**. 20 | * **Compute resources are released**, so you **stop paying for CPU/Memory**. 21 | * Storage costs (OS and data disks) **still apply**. 22 | * Public IP (if dynamic) may be released. 23 | 24 | ✅ **Use case:** You want to save costs when the VM is not needed for a period. 25 | 26 | ## 3. Billing Summary Table 27 | 28 | | Action | Compute Cost | Storage Cost | IP Cost | Notes | 29 | | -------------------------------- | ------------ | ------------ | -------------------------- | ----------------------------------- | 30 | | Stop (Inside OS) | Yes | Yes | Yes | Quick stop, compute still allocated | 31 | | Stop / Deallocate (Azure Portal) | No | Yes | Dynamic IP may be released | Cost-saving, resources freed | 32 | 33 | ## 4. Best Practices to Reduce Costs 34 | 35 | 1. Always **use Stop / Deallocate** when VM is idle for hours/days. 36 | 2. Consider **Auto-Shutdown schedules** in Azure to automate cost savings. 37 | 3. Use **Spot VMs** for non-critical workloads to reduce compute cost up to 90%. 38 | 4. Keep only necessary **disks** and **release public IPs** if not needed. 39 | 40 | ## 5. Quick Tips 41 | 42 | * Think of **Stop = Pause**, **Deallocate = Release Resources**. 43 | * Billing for compute only stops when VM is **deallocated**, not just stopped inside OS. 44 | * Disk costs are always billed until deleted. 45 | 46 | ## Connect with Me 47 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 48 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 49 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 50 | - **Blog**: [Blog](https://www.msdevbuild.com/) 51 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 52 | 53 | -------------------------------------------------------------------------------- /AZURE/03 VM/Deployee/01 Setup IIS Web Server on Azure VM.md: -------------------------------------------------------------------------------- 1 | # Setup IIS Web Server on Azure VM 2 | 3 | This guide explains how to create an **IIS Web Server** on an **Azure Virtual Machine (VM)** running Windows Server. 4 | 5 | --- 6 | 7 | ## Prerequisites 8 | 9 | - An **Azure subscription** 10 | - A **Windows Server VM** (2016, 2019, or 2022) already created 11 | - **RDP access** to the VM 12 | - Basic knowledge of Windows Server and IIS 13 | 14 | --- 15 | 16 | ## Steps to Install IIS 17 | 18 | ### 1. Connect to VM 19 | - Open **Remote Desktop Connection (RDP)** or **Microsoft Remote Desktop**. 20 | - Use **VM Public IP**, username, and password. 21 | 22 | --- 23 | 24 | ### 2. Open Server Manager 25 | - Click **Start → Server Manager**. 26 | - Click **Manage → Add Roles and Features**. 27 | 28 | --- 29 | 30 | ### 3. Add Web Server (IIS) Role 31 | 1. In **Add Roles and Features Wizard**, click **Next** until you reach **Server Roles**. 32 | 2. Check **Web Server (IIS)**. 33 | 3. Click **Add Features** when prompted. 34 | 4. Click **Next → Install**. 35 | 5. Wait for installation to complete. 36 | 37 | --- 38 | 39 | ### 4. Verify IIS Installation 40 | - Open **Browser on VM**. 41 | - Type: `http://localhost` 42 | - You should see the **IIS welcome page**. 43 | 44 | --- 45 | 46 | ### 5. Configure Firewall / NSG 47 | - Make sure **port 80 (HTTP)** is open: 48 | - **Windows Firewall**: Open **Inbound Rule** for TCP 80 49 | - **Azure NSG**: Add inbound rule for **port 80** if connecting externally 50 | 51 | --- 52 | 53 | ### 6. Deploy Web Application (Optional) 54 | - Default web folder: `C:\inetpub\wwwroot` 55 | - Place your `index.html` or `default.aspx` files here 56 | - Access via `http://` 57 | 58 | --- 59 | 60 | ## Useful Commands (PowerShell) 61 | 62 | ```powershell 63 | # Install IIS via PowerShell 64 | Install-WindowsFeature -name Web-Server -IncludeManagementTools 65 | 66 | # Check IIS status 67 | Get-Service W3SVC 68 | 69 | # Start IIS service if stopped 70 | Start-Service W3SVC 71 | ```` 72 | 73 | --- 74 | 75 | ## References 76 | 77 | * [Microsoft Docs: Install IIS](https://docs.microsoft.com/en-us/iis/install/installing-iis-7/installing-iis-on-windows-server-2019) 78 | * [Azure VM Networking](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-nsg) 79 | 80 | --- 81 | 82 | ## Notes 83 | 84 | * Always open **port 80/443** in both NSG and Windows Firewall for external access. 85 | * For testing, you can use `curl http://` from your local machine. 86 | 87 | ## Connect with Me 88 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 89 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 90 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 91 | - **Blog**: [Blog](https://www.msdevbuild.com/) 92 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 93 | -------------------------------------------------------------------------------- /AZURE/03 VM/Deployee/02 ost Website on Azure VM (Open Port 80).md: -------------------------------------------------------------------------------- 1 | # Host Website on Azure VM (Open Port 80) 2 | 3 | This guide shows how to **host a website** on an Azure Windows VM with IIS and make it accessible over the internet by opening **port 80**. 4 | 5 | --- 6 | 7 | ## Prerequisites 8 | 9 | - Azure subscription 10 | - Windows Server VM running (2016 / 2019 / 2022) 11 | - RDP access to VM 12 | - Website files ready (HTML, ASPX, etc.) 13 | 14 | --- 15 | 16 | ## Step 1: Verify VM Status 17 | 18 | 1. Log in to [Azure Portal](https://portal.azure.com) 19 | 2. Navigate to **Virtual Machines → Your VM** 20 | 3. Ensure **Status = Running** 21 | 22 | --- 23 | 24 | ## Step 2: Get Public IP 25 | 26 | 1. On VM **Overview**, note the **Public IP address** 27 | 2. This IP will be used to access your website externally 28 | Example: `20.188.54.xx` 29 | 30 | --- 31 | 32 | ## Step 3: Open Port 80 (HTTP) in Azure Portal 33 | 34 | 1. Go to **Networking** in your VM menu 35 | 2. Under **Inbound port rules**, click **+ Add inbound port rule** 36 | 3. Fill the fields as below: 37 | 38 | | Field | Value | 39 | |------------------|----------------------------| 40 | | Source | Any (or specific IP range) | 41 | | Source port | * | 42 | | Destination | Any | 43 | | Destination port | 80 | 44 | | Protocol | TCP | 45 | | Action | Allow | 46 | | Priority | 1000 | 47 | | Name | Allow-HTTP-80 | 48 | 49 | 4. Click **Add** 50 | 51 | ## Connect with Me 52 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 53 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 54 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 55 | - **Blog**: [Blog](https://www.msdevbuild.com/) 56 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 57 | -------------------------------------------------------------------------------- /AZURE/03 VM/Deployee/04 Create and Publish .NET Core Web Project.md: -------------------------------------------------------------------------------- 1 | # Create and Publish .NET Core Web Project 2 | 3 | This guide explains how to **create a new .NET Core project** and **publish it for deployment** using terminal commands. 4 | 5 | --- 6 | 7 | ## Prerequisites 8 | 9 | - .NET SDK installed (check via `dotnet --version`) 10 | - Visual Studio Code or any code editor 11 | - Terminal/Command Prompt 12 | - Basic knowledge of C# and .NET Core 13 | 14 | --- 15 | 16 | ## Step 1: Create a New .NET Core Project 17 | 18 | 1. Open **Terminal** or **Command Prompt** 19 | 2. Navigate to the folder where you want to create the project 20 | 3. Run the command to create a new **ASP.NET Core Web App**: 21 | 22 | ```bash 23 | dotnet new webapp -n MyWebsite 24 | ```` 25 | 26 | * `webapp` → Template for Razor Pages 27 | * `-n MyWebsite` → Project name 28 | 29 | 4. Navigate into the project folder: 30 | 31 | ```bash 32 | cd MyWebsite 33 | ``` 34 | 35 | 5. Run the project locally: 36 | 37 | ```bash 38 | dotnet run 39 | ``` 40 | 41 | * Open browser: `http://localhost:5000` → You should see the default web page 42 | 43 | --- 44 | 45 | ## Step 2: Publish the Project for Deployment 46 | 47 | 1. Run the **publish command** in release mode: 48 | 49 | ```bash 50 | dotnet publish -c Release -o ./publish 51 | ``` 52 | 53 | * `-c Release` → Builds the project in Release mode 54 | * `-o ./publish` → Output folder for published files 55 | 56 | 2. After publishing, the folder `./publish` will contain all files needed to deploy the website 57 | 58 | --- 59 | 60 | ## Step 3: Deploy the Published Files 61 | 62 | 1. Copy contents of `./publish` to your **web server** (IIS, Azure VM, or any hosting) 63 | 2. For IIS: 64 | 65 | * Place files in `C:\inetpub\wwwroot\MyWebsite` 66 | * Ensure IIS has **.NET Core Hosting Bundle** installed 67 | 3. Start the site in IIS or access via your **server public IP** 68 | 69 | --- 70 | 71 | ## Step 4: Optional Commands 72 | 73 | * Clean project: 74 | 75 | ```bash 76 | dotnet clean 77 | ``` 78 | 79 | * Build project without running: 80 | 81 | ```bash 82 | dotnet build 83 | ``` 84 | 85 | * Run project directly without publishing: 86 | 87 | ```bash 88 | dotnet run 89 | ``` 90 | 91 | --- 92 | 93 | ## References 94 | 95 | * [Microsoft Docs: Create ASP.NET Core Web App](https://learn.microsoft.com/en-us/aspnet/core/tutorials/razor-pages) 96 | * [Publish .NET Core App](https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/) 97 | 98 | ## Connect with Me 99 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 100 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 101 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 102 | - **Blog**: [Blog](https://www.msdevbuild.com/) 103 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 104 | -------------------------------------------------------------------------------- /AZURE/04 Azure Portal – Quick Get Started Guide.md: -------------------------------------------------------------------------------- 1 | # Azure Portal – Quick Get Started Guide 2 | 3 | ## 1. Signing In & User Account (Top-Right Corner) 4 | 5 | * You can sign into Azure using **Microsoft account** or **Gmail account** (via Microsoft sign-in). 6 | * The top-right corner shows your **logged-in identity**, tenant, and account switch options. 7 | * You can also view your **directory (tenant)** and **change accounts** from here. 8 | 9 | ## 2. Notifications (Bell Icon) 10 | 11 | * Shows **portal alerts, deployments, and status updates**. 12 | * Whenever you create a resource (VM, App Service, Function etc.), progress will appear here. 13 | * Useful for troubleshooting failed deployments. 14 | 15 | ## 3. Left-Side Portal Menu 16 | 17 | The left navigation panel gives access to: 18 | 19 | * Home 20 | * Dashboard 21 | * All Resources 22 | * Resource groups 23 | * App Services 24 | * Function Apps 25 | * Virtual Machines 26 | * Storage Accounts 27 | * Networking 28 | 29 | You can customize this menu with frequently used services. 30 | 31 | ## 4. All Resources 32 | 33 | * Displays **all Azure resources** created in your account. 34 | * You can filter by **subscription**, **resource group**, **type**, or **location**. 35 | * Helpful to quickly navigate to any deployed service. 36 | 37 | ## 5. Global Search (Top-Center) 38 | 39 | * Powerful search to find **any Azure service, resource, or documentation**. 40 | * Instead of navigating manually, you can type `App Service` or `Function App` and open directly. 41 | 42 | ## 6. Subscription Overview (Billing Purpose) 43 | 44 | * A **subscription** is the billing boundary in Azure. 45 | * All resources must be created **inside a subscription**. 46 | * Helps track **costs, usage, and limits**. 47 | * One account can have multiple subscriptions (Free Trial, Pay-as-you-go, Sponsorship etc.). 48 | 49 | --- 50 | 51 | ### 🔔 Stay Updated with My Latest Projects 52 | 53 | If you enjoy: 54 | - 🧠 AI agents and automation 55 | - 🛠️ Practical tools and utilities 56 | - 📘 Developer tutorials and guides 57 | - 🚀 End-to-end project templates 58 | 59 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 60 | 61 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 62 | 63 | ## ⭐ Start & Follow Me 64 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 65 | 66 | ## Connect with Me 67 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 68 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 69 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 70 | - **Blog**: [Blog](https://www.msdevbuild.com/) 71 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 72 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 73 | 74 | 75 | -------------------------------------------------------------------------------- /AZURE/ARM/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/AZ204: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/AppService/01 Azure App Service - Basic Overview.md: -------------------------------------------------------------------------------- 1 | 2 | # 🌐 Azure App Service - Basic Overview 3 | 4 | ## 📌 What is Azure App Service? 5 | 6 | **Azure App Service** is a fully managed platform provided by Microsoft Azure for building, hosting, and scaling web applications and APIs. 7 | 8 | It supports multiple programming languages such as: 9 | - .NET and .NET Core 10 | - Java 11 | - Python 12 | - PHP 13 | - Node.js 14 | - Ruby 15 | - Custom Docker containers 16 | 17 | It abstracts infrastructure management, allowing you to focus on application development rather than server setup and maintenance. 18 | 19 | --- 20 | 21 | ## 💡 Why Use Azure App Service? 22 | 23 | | Feature | Benefit | 24 | |------------------------|-------------------------------------------------------------------------| 25 | | 🛠️ Fully Managed | No need to worry about server patching, OS upgrades, or load balancing | 26 | | ⚙️ Continuous Deployment | Integrates easily with GitHub, Azure DevOps, or Bitbucket | 27 | | 🌍 Global Availability | Deploy your app in data centers worldwide | 28 | | 🔒 Secure | Built-in authentication & custom domain support | 29 | | 📈 Scalable | Automatically or manually scale to handle traffic | 30 | 31 | --- 32 | 33 | ## ⚙️ How to Use Azure App Service? 34 | 35 | ### 1. **Create an Azure Account** 36 | Sign up at: https://azure.microsoft.com/ 37 | 38 | ### 2. **Develop Your Web App** 39 | Use your favorite stack: ASP.NET, Node.js, Python, PHP, etc. 40 | 41 | ### 3. **Deploy the App** 42 | There are several deployment options: 43 | - Visual Studio / Visual Studio Code 44 | - Azure CLI 45 | - GitHub Actions or Azure DevOps 46 | - Zip deployment 47 | - FTP 48 | 49 | ### 4. **Manage and Monitor** 50 | Use Azure Portal or Azure CLI to: 51 | - Monitor performance 52 | - View logs 53 | - Scale up/down 54 | - Configure app settings and secrets 55 | 56 | --- 57 | 58 | ## ✅ Do's and ❌ Don'ts 59 | 60 | ### ✅ Do's 61 | 62 | - ✔ Use **App Settings** to manage secrets and configurations (never hard-code). 63 | - ✔ Enable **HTTPS only** for better security. 64 | - ✔ Configure **deployment slots** (e.g., staging, production) to test before going live. 65 | - ✔ Enable **logging and diagnostics** for troubleshooting. 66 | - ✔ Use **Managed Identity** to access other Azure services securely. 67 | - ✔ Regularly update your app and dependencies. 68 | 69 | ### ❌ Don'ts 70 | 71 | - ❌ Don’t store sensitive info like connection strings in code. 72 | - ❌ Don’t use the **Free tier** for production workloads. 73 | - ❌ Don’t ignore logs — enable and monitor them. 74 | - ❌ Don’t deploy directly to production without testing. 75 | - ❌ Don’t forget to **configure scaling** if expecting high traffic. 76 | - ❌ Don’t expose your app without basic security (auth, rate limiting, etc.) 77 | 78 | --- 79 | 80 | ## 📚 Useful Links 81 | 82 | - 🔗 [Azure App Service Documentation](https://learn.microsoft.com/en-us/azure/app-service/) 83 | - 🔗 [Pricing Calculator](https://azure.microsoft.com/en-us/pricing/calculator/) 84 | - 🔗 [Deployment Options](https://learn.microsoft.com/en-us/azure/app-service/deploy-ftp) 85 | 86 | ## Connect with Me 87 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 88 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 89 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 90 | - **Blog**: [Blog](https://www.msdevbuild.com/) 91 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 92 | -------------------------------------------------------------------------------- /AZURE/AppService/06 Deploying Angular Project to Azure App Service.md: -------------------------------------------------------------------------------- 1 | 2 | # Deploying Angular Project to Azure App Service 3 | 4 | This guide walks you through deploying an Angular app to Azure App Service. 5 | 6 | --- 7 | 8 | ## 🛠️ Prerequisites 9 | 10 | - Angular CLI installed (`npm install -g @angular/cli`) 11 | - Azure CLI installed (`npm install -g azure-cli`) 12 | - An Azure subscription 13 | - Visual Studio Code (optional) 14 | 15 | --- 16 | 17 | ## 🚀 Step 1: Build Angular App 18 | 19 | Run the following command to build your Angular app for production: 20 | 21 | ```bash 22 | ng build --configuration production 23 | ```` 24 | 25 | This will output the build files into `dist/your-project-name`. 26 | 27 | --- 28 | 29 | ## ☁️ Step 2: Create Azure App Service 30 | 31 | 1. Go to [Azure Portal](https://portal.azure.com) 32 | 2. Click on **Create a resource** > **App Service** 33 | 3. Provide details: 34 | 35 | * **App Name** 36 | * **Runtime stack**: Node.js (or others) 37 | * **Region** 38 | * **Pricing Plan** 39 | 4. Click **Review + Create** > **Create** 40 | 41 | --- 42 | 43 | ## 🔐 Step 3: Login to Azure CLI 44 | 45 | ```bash 46 | az login 47 | ``` 48 | 49 | --- 50 | 51 | ## 📦 Step 4: Deploy Using Azure CLI 52 | 53 | Navigate to the build folder: 54 | 55 | ```bash 56 | cd dist/your-project-name 57 | ``` 58 | 59 | Then deploy: 60 | 61 | ```bash 62 | az webapp up --name --location --html 63 | ``` 64 | 65 | Replace `` and `` with your Azure app details. 66 | 67 | --- 68 | 69 | ## ⚙️ Optional: web.config for IIS (Windows-based App Service) 70 | 71 | Create a `web.config` file in the `dist/your-project-name/` folder with the following content: 72 | 73 | ```xml 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | ``` 91 | 92 | --- 93 | 94 | ## 🌐 Step 5: Access Your App 95 | 96 | Visit: 97 | 98 | ``` 99 | https://.azurewebsites.net 100 | ``` 101 | 102 | --- 103 | 104 | ## Connect with Me 105 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 106 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 107 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 108 | - **Blog**: [Blog](https://www.msdevbuild.com/) 109 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 110 | -------------------------------------------------------------------------------- /AZURE/AppService/APIGateway/10 Azure API Management Workspace.md: -------------------------------------------------------------------------------- 1 | # Azure API Management Workspace 2 | 3 | ## Overview 4 | 5 | Azure API Management (APIM) Workspace is a feature within Azure API Management that enables **role-based access** and **collaborative API development**. It allows teams to work on subsets of APIs and API operations within a logical workspace, without giving access to the entire API Management instance. 6 | 7 | Workspaces simplify **distributed API development** by enabling departments, teams, or partners to contribute APIs in an organized and secure way. 8 | 9 | --- 10 | 11 | ## Key Features 12 | 13 | - 🔐 **Scoped access control**: Grant access to specific APIs or groups of APIs. 14 | - 🤝 **Multi-team collaboration**: Ideal for enterprises with several teams managing their own APIs. 15 | - 🔄 **Lifecycle isolation**: Manage and deploy APIs independently per workspace. 16 | - 📦 **Workspace-bound resources**: Add APIs, revisions, and products specific to a workspace. 17 | 18 | --- 19 | 20 | ## Use Cases 21 | 22 | - **Enterprise environments** with multiple teams managing different sets of APIs. 23 | - **API-first organizations** collaborating across departments or with partners. 24 | - **Decentralized API lifecycle management**, such as different development and deployment cycles. 25 | 26 | --- 27 | 28 | ## Getting Started 29 | 30 | ### Prerequisites 31 | 32 | - An active Azure subscription 33 | - An existing Azure API Management instance (Premium tier) 34 | - Azure CLI or Azure Portal access 35 | 36 | ### Creating a Workspace via Azure Portal 37 | 38 | 1. Navigate to your APIM instance. 39 | 2. In the left menu, select **Workspaces**. 40 | 3. Click **+ Add** to create a new workspace. 41 | 4. Provide the required information: 42 | - **Workspace name** 43 | - **Description** 44 | - **Access control (optional)** 45 | 46 | ### Creating a Workspace via Azure CLI 47 | 48 | ```bash 49 | az apim workspace create \ 50 | --resource-group \ 51 | --service-name \ 52 | --workspace-id \ 53 | --display-name "" \ 54 | --description "Optional description" 55 | ```` 56 | 57 | --- 58 | 59 | ## Managing APIs within a Workspace 60 | 61 | Once a workspace is created, you can: 62 | 63 | * Import APIs scoped to the workspace. 64 | * Define products, operations, and policies for those APIs. 65 | * Publish APIs from the workspace to the main APIM instance. 66 | 67 | > 🔍 Note: APIs in a workspace are isolated from APIs in the root instance unless explicitly shared or published. 68 | 69 | --- 70 | 71 | ## Best Practices 72 | 73 | * Use **naming conventions** for workspace identifiers. 74 | * Assign **RBAC roles** for secure access (e.g., APIM Developer, Reader). 75 | * Keep **workspace APIs versioned** and documented. 76 | * Monitor **logs and performance** separately using Azure Monitor integration. 77 | 78 | --- 79 | 80 | ## Resources 81 | 82 | * [Azure API Management Documentation](https://learn.microsoft.com/en-us/azure/api-management/) 83 | * [What are API Management Workspaces?](https://learn.microsoft.com/en-us/azure/api-management/api-management-workspaces) 84 | * [Azure CLI APIM Reference](https://learn.microsoft.com/en-us/cli/azure/apim/workspace) 85 | 86 | ## Connect with Me 87 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 88 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 89 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 90 | - **Blog**: [Blog](https://www.msdevbuild.com/) 91 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 92 | 93 | -------------------------------------------------------------------------------- /AZURE/AppService/AzureSearch/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/AppService/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/Azure Key Vault/01 Azure Key Vault.md: -------------------------------------------------------------------------------- 1 | ## 🧠 What is Azure Key Vault? 2 | 3 | **Azure Key Vault** is a cloud service by Microsoft Azure that allows you to securely store and manage **secrets**, **encryption keys**, and **certificates**. It protects cryptographic keys and secrets used by cloud applications and services, helping you meet security and compliance requirements. 4 | 5 | --- 6 | 7 | ## ❓ Why Use Azure Key Vault? 8 | 9 | Modern applications often need to access sensitive information like: 10 | - API Keys 11 | - Connection Strings 12 | - Passwords 13 | - Certificates 14 | - Encryption Keys 15 | 16 | Hardcoding or storing these in configuration files is **insecure and risky**. Azure Key Vault: 17 | - Centralizes secret management 18 | - Controls access using **Azure AD** 19 | - Offers **audit logging** for compliance 20 | - Provides **automated key rotation** 21 | 22 | --- 23 | 24 | ## ⚙️ How to Use Azure Key Vault? 25 | 26 | ### 🔑 Step 1: Create a Key Vault 27 | - Go to the Azure Portal 28 | - Search for **Key Vault** 29 | - Click **Create** 30 | - Provide a **name**, **resource group**, and **region** 31 | 32 | ### 🔐 Step 2: Add Secrets, Keys, or Certificates 33 | - In your Key Vault, click on: 34 | - **Secrets** to add passwords/API keys 35 | - **Keys** to create/import encryption keys 36 | - **Certificates** to upload or auto-renew SSL certificates 37 | 38 | ### 👤 Step 3: Set Access Policies 39 | - Assign access via **Azure Role-Based Access Control (RBAC)** or **Access Policies** 40 | - Grant permissions like `get`, `list`, `set`, `delete` to selected users/apps 41 | 42 | ### 💻 Step 4: Access from Code 43 | You can access secrets from: 44 | - **Azure SDKs** (.NET, Python, Java) 45 | - **Azure CLI** 46 | - **PowerShell** 47 | - **ARM templates** 48 | 49 | **Example in .NET:** 50 | ```csharp 51 | var client = new SecretClient(new Uri("https://.vault.azure.net/"), new DefaultAzureCredential()); 52 | KeyVaultSecret secret = await client.GetSecretAsync("MySecret"); 53 | Console.WriteLine(secret.Value); 54 | ``` 55 | ## Connect with Me 56 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 57 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 58 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 59 | - **Blog**: [Blog](https://www.msdevbuild.com/) 60 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 61 | 62 | -------------------------------------------------------------------------------- /AZURE/Azure Key Vault/Question/02 Azure Key Vault – Soft Delete and Purge Protection Configuration via PowerShell.md: -------------------------------------------------------------------------------- 1 | # 📘 Azure Key Vault – Soft Delete and Purge Protection Configuration via PowerShell 2 | 3 | ## 🧩 Scenario: 4 | 5 | You are creating an Azure Key Vault using PowerShell. The requirement is to **retain deleted objects for a set period of 90 days**. 6 | 7 | ## ❓ Question: 8 | 9 | **Which two of the following parameters must be used in conjunction to meet the requirement? (Choose two.)** 10 | 11 | ### 🔘 Options: 12 | 13 | * A. `EnabledForDeployment` 14 | * B. `EnablePurgeProtection` ✅ 15 | * C. `EnabledForTemplateDeployment` 16 | * D. `EnableSoftDelete` ✅ 17 | 18 | --- 19 | 20 | ## ✅ Correct Answers: **B. EnablePurgeProtection and D. EnableSoftDelete** 21 | 22 | ### 🔹 Explanation: 23 | 24 | ### 1. `EnableSoftDelete`: 25 | 26 | * **Purpose**: Enables the soft-delete feature. 27 | * **Effect**: When enabled, deleted secrets, keys, and certificates are retained in a **recoverable state** for 90 days by default. 28 | * **Default Retention**: 90 days (can be configured between 7–90 days). 29 | * **Benefit**: Prevents accidental or malicious deletion. 30 | 31 | ### 2. `EnablePurgeProtection`: 32 | 33 | * **Purpose**: Prevents **permanent deletion (purge)** of soft-deleted items **before the retention period expires**. 34 | * **Requirement**: Can only be enabled **after** soft-delete is turned on. 35 | * **Irreversible**: Once enabled, it **cannot be turned off**. 36 | 37 | ### 🔒 Together: 38 | 39 | Using both ensures: 40 | 41 | * All deleted objects are **recoverable for 90 days**. 42 | * No one (including subscription owners) can purge data until the retention period ends. 43 | 44 | --- 45 | 46 | ## 💻 PowerShell Command Example 47 | 48 | ```powershell 49 | New-AzKeyVault \ 50 | -Name "MyKeyVault" \ 51 | -ResourceGroupName "MyResourceGroup" \ 52 | -Location "EastUS" \ 53 | -EnableSoftDelete \ 54 | -EnablePurgeProtection 55 | ``` 56 | 57 | --- 58 | 59 | ## ❌ Why Other Options Are Incorrect: 60 | 61 | | Option | Reason | 62 | | --------------------------------- | -------------------------------------------------------------------------------- | 63 | | A. `EnabledForDeployment` | Used to allow the vault to be used for VM deployments. Not related to retention. | 64 | | C. `EnabledForTemplateDeployment` | Used with ARM templates to deploy secrets. Not related to deletion/retention. | 65 | 66 | --- 67 | 68 | ## 📘 References: 69 | 70 | * [Soft-delete overview](https://learn.microsoft.com/en-us/azure/key-vault/general/soft-delete-overview) 71 | * [PowerShell: New-AzKeyVault](https://learn.microsoft.com/en-us/powershell/module/az.keyvault/new-azkeyvault) 72 | 73 | --- 74 | 75 | > ✅ Enabling **Soft Delete** and **Purge Protection** together ensures **compliance, data recoverability**, and **stronger security** in cloud key management. 76 | ## Connect with Me 77 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 78 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 79 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 80 | - **Blog**: [Blog](https://www.msdevbuild.com/) 81 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 82 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 83 | 84 | 85 | -------------------------------------------------------------------------------- /AZURE/Basic/Mastering Azure Cloud - Your Path to Certification.pptx: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/Budget/02 Service Level Agreement (SLA) in Azure.md: -------------------------------------------------------------------------------- 1 | # Service Level Agreement (SLA) in Azure 2 | 3 | ## 📝 What is an SLA? 4 | 5 | A **Service Level Agreement (SLA)** is a formal document provided by Microsoft that defines the **performance standards and uptime guarantees** for Azure services. It includes: 6 | 7 | * **Availability percentage** (e.g., 99.9%, 99.99%) 8 | * **Maximum downtime allowed per month** 9 | * **Service credits or penalties** in case the SLA is not met 10 | 11 | Each Azure service has its own SLA which ranges typically from **99% to 99.999%**. 12 | 13 | > Free services typically do not have an SLA. 14 | 15 | ## 📊 Real-Time Use Case: Web Application with Azure SQL 16 | 17 | Imagine you have a web application that uses Azure SQL as its backend. Here's how SLA affects your architecture: 18 | 19 | * **Web App SLA**: 99.95% 20 | * **Azure SQL SLA**: 99.95% 21 | 22 | If both components must work together (AND relationship), the combined SLA is calculated as: 23 | 24 | ``` 25 | Availability = SLA_WebApp * SLA_SQL 26 | = 99.95% * 99.95% 27 | = 0.9995 * 0.9995 28 | = ~99.9% 29 | ``` 30 | 31 | That means your **combined system uptime** will be approximately 99.9%, which corresponds to **\~43 minutes 49 seconds** of maximum downtime per month (see SLA table). 32 | 33 | ## 🔧 SLA Calculator Tools 34 | 35 | There are many online tools available to calculate SLA downtime. One highly recommended tool is: 36 | 37 | 🌐 [https://uptime.is/](https://uptime.is/) 38 | 39 | Just enter the SLA percentage and the tool will show the **maximum allowable downtime** per year, month, week, and day. 40 | 41 | ### Example: 42 | 43 | For **97% SLA**, the tool will show: 44 | 45 | * **Monthly downtime**: \~21 hours and 54 minutes 46 | * **Weekly downtime**: \~5 hours 47 | 48 | ## 📚 Useful Resources 49 | 50 | * 📘 [Microsoft SLA Documentation](https://www.microsoft.com/licensing/docs/view/Service-Level-Agreements-SLA-for-Online-Services?lang=1) 51 | 52 | --- 53 | 54 | ## 🖼️ SLA Quick Reference Table 55 | 56 | | SLA | Monthly Downtime | 57 | | ------- | ---------------- | 58 | | 99% | 7h 18m 17s | 59 | | 99.5% | 3h 39m 8s | 60 | | 99.9% | 43m 49s | 61 | | 99.95% | 21m 54s | 62 | | 99.99% | 4m 22s | 63 | | 99.999% | 26s | 64 | 65 | ## Connect with Me 66 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 67 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 68 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 69 | - **Blog**: [Blog](https://www.msdevbuild.com/) 70 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 71 | -------------------------------------------------------------------------------- /AZURE/Entra ID/Image/Azure AD Connect README - visual selection (1).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/AZURE/Entra ID/Image/Azure AD Connect README - visual selection (1).png -------------------------------------------------------------------------------- /AZURE/Entra ID/Image/Azure AD Connect README - visual selection (2).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/AZURE/Entra ID/Image/Azure AD Connect README - visual selection (2).png -------------------------------------------------------------------------------- /AZURE/Entra ID/Image/Azure AD Connect README - visual selection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/AZURE/Entra ID/Image/Azure AD Connect README - visual selection.png -------------------------------------------------------------------------------- /AZURE/Entra ID/Image/test.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/Entra ID/Question/02 Azure Active Directory Conditional Access – MFA for Azure Portal.md: -------------------------------------------------------------------------------- 1 | # 📘 Azure Active Directory Conditional Access – MFA for Azure Portal 2 | 3 | This README provides a detailed explanation for implementing **Multi-Factor Authentication (MFA)** using **Conditional Access (CA)** in **Azure Active Directory (Azure AD)**, specifically targeting access to the **Azure Portal**. 4 | 5 | --- 6 | 7 | ## 🔥 HOTSPOT Scenario: 8 | 9 | > You have an Azure Active Directory (Azure AD) tenant. You want to implement multi-factor authentication (MFA) using a conditional access policy. The policy must be applied to **all users** when they access the **Azure portal**. 10 | 11 | ### ✅ Correct Settings (HOTSPOT Selection): 12 | 13 | | Setting Area | Correct Selection | Reasoning | 14 | | ---------------------------------------------- | --------------------------------------- | ---------------------------------------------------------------- | 15 | | **Box 1: Assignments > Users** | **All users** | Ensures the policy is enforced across your tenant. | 16 | | **Box 2: Assignments > Cloud apps or actions** | **Microsoft Azure Management** | Targets the Azure portal and related Azure management endpoints. | 17 | | **Box 3: Access controls > Grant** | **Require multi-factor authentication** | Enforces MFA when access is granted. | 18 | 19 | --- 20 | 21 | ## ✅ Why These Selections Are Correct: 22 | 23 | ### 🔹 Box 1: Users and Groups 24 | 25 | * The policy should target **All users** so that no individual is exempted. 26 | * You can later exclude break-glass admin accounts if needed (best practice). 27 | 28 | ### 🔹 Box 2: Cloud Apps or Actions 29 | 30 | * Selecting **Microsoft Azure Management** includes: 31 | 32 | * Azure portal 33 | * Azure Resource Manager provider 34 | * Classic deployment model endpoints 35 | 36 | ### 🔹 Box 3: Access Control (Grant) 37 | 38 | * Enforcing **"Require multi-factor authentication"** ensures that MFA is required before granting access to the Azure portal. 39 | 40 | --- 41 | 42 | ## 🎯 Real Use Case: 43 | 44 | An enterprise organization wants to prevent unauthorized access to the Azure portal. By configuring conditional access this way, even if a user’s password is compromised, MFA will provide an additional security layer. 45 | 46 | --- 47 | 48 | ## 📘 References 49 | 50 | * [Azure AD Conditional Access Overview](https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/overview) 51 | * [App-based Conditional Access Policies](https://learn.microsoft.com/en-us/azure/active-directory/conditional-access/app-based-mfa) 52 | * [Secure MFA Implementation Guidance](https://learn.microsoft.com/en-us/azure/active-directory/authentication/tutorial-enable-azure-mfa) 53 | 54 | ## Connect with Me 55 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 56 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 57 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 58 | - **Blog**: [Blog](https://www.msdevbuild.com/) 59 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 60 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 61 | 62 | -------------------------------------------------------------------------------- /AZURE/Function/08. Azure Authentication Guide.md: -------------------------------------------------------------------------------- 1 | 2 | # Azure Function Authentication Types and Configuration via Azure Portal 3 | 4 | Azure Functions support multiple authentication and authorization mechanisms to control access to your function endpoints. This document outlines the available authentication types and how to configure them using the Azure Portal. 5 | 6 | --- 7 | 8 | ## 🔐 Authentication Types 9 | 10 | ### 1. **Anonymous** 11 | - **Description**: No authentication is required. Anyone can access the function endpoint. 12 | - **Use Case**: Public APIs or endpoints that do not require user validation. 13 | - **Configuration**: 14 | - In Azure Portal, navigate to your Function App. 15 | - Go to **Functions** > Select your function > **Integration** > **Authorization level**. 16 | - Set to **Anonymous**. 17 | 18 | --- 19 | 20 | ### 2. **Function** 21 | - **Description**: Requires a function key to access the endpoint. 22 | - **Use Case**: Internal services or clients that can securely store and use the function key. 23 | - **Configuration**: 24 | - In Azure Portal, go to your Function App > **Functions** > Select your function. 25 | - Click on **Get Function URL** to retrieve the URL with the function key. 26 | - Share the URL with trusted clients. 27 | 28 | --- 29 | 30 | ### 3. **Admin** 31 | - **Description**: Requires the master key for access. 32 | - **Use Case**: Administrative operations or full control access. 33 | - **Configuration**: 34 | - In Azure Portal, go to **Function App** > **Function Keys**. 35 | - Use the **_master** key for access. 36 | 37 | --- 38 | 39 | ### 4. **System Assigned Managed Identity** 40 | - **Description**: Azure automatically creates an identity tied to the Function App. 41 | - **Use Case**: Securely access Azure resources (e.g., Key Vault, Storage) without credentials. 42 | - **Configuration**: 43 | - Go to **Function App** > **Identity** > **System assigned**. 44 | - Turn **Status** to **On** and click **Save**. 45 | - Assign roles to this identity in the target resource (e.g., Key Vault > Access Control). 46 | 47 | --- 48 | 49 | ### 5. **User Assigned Managed Identity** 50 | - **Description**: A managed identity created independently and assigned to one or more resources. 51 | - **Use Case**: Share a single identity across multiple Azure resources. 52 | - **Configuration**: 53 | - Create a User Assigned Identity in Azure AD. 54 | - Go to **Function App** > **Identity** > **User assigned** > **Add**. 55 | - Select the identity and click **Add**. 56 | - Assign roles to this identity in the target resource. 57 | 58 | --- 59 | 60 | ## 🔧 Additional Authentication Options 61 | 62 | Azure Functions also support **Azure App Service Authentication/Authorization** (Easy Auth) for integrating with: 63 | - Azure Active Directory 64 | - Microsoft Account 65 | - Facebook, Google, Twitter, etc. 66 | 67 | To configure: 68 | - Go to **Function App** > **Authentication**. 69 | - Click **Add identity provider** and follow the setup wizard. 70 | 71 | --- 72 | 73 | ## 📘 References 74 | - [Azure Function Authentication](https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-http-webhook-trigger?tabs=csharp#authorization-keys) 75 | - [Managed Identities](https://learn.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview) 76 | 77 | 78 | 79 | ## Connect with Me 80 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 81 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 82 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 83 | - **Blog**: [Blog](https://www.msdevbuild.com/) 84 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 85 | 86 | 87 | -------------------------------------------------------------------------------- /AZURE/Function/09.Azure Function Storage Account Configuration Guide.md: -------------------------------------------------------------------------------- 1 | 2 | # Azure Function Storage Account Configuration Guide 3 | 4 | This guide explains the role of a **Storage Account** in Azure Functions and how to configure it using the **Azure Portal**. 5 | 6 | --- 7 | 8 | ## 📦 Why Azure Functions Need a Storage Account 9 | 10 | Azure Functions require a Storage Account for: 11 | 12 | - **Storing function code and metadata** 13 | - **Managing triggers and bindings** (e.g., queue, blob, timer) 14 | - **Maintaining state** for Durable Functions 15 | - **Logging and diagnostics** 16 | 17 | --- 18 | 19 | ## 🔧 How to Configure a Storage Account in Azure Portal 20 | 21 | ### Step 1: Create a Storage Account 22 | 23 | 1. Go to [Azure Portal](https://portal.azure.com) 24 | 2. Search for **Storage Accounts** and click **+ Create** 25 | 3. Fill in the required fields: 26 | - **Subscription** 27 | - **Resource Group** 28 | - **Storage Account Name** 29 | - **Region** 30 | - **Performance** and **Replication** options 31 | 4. Click **Review + Create**, then **Create** 32 | 33 | --- 34 | 35 | ### Step 2: Link Storage Account to Azure Function 36 | 37 | 1. Go to **Function App** in the Azure Portal 38 | 2. Under **Settings**, click **Configuration** 39 | 3. Locate the setting named `AzureWebJobsStorage` 40 | 4. Replace or confirm the connection string from your Storage Account: 41 | - Go to your Storage Account > **Access Keys** 42 | - Copy the **Connection String** 43 | - Paste it into the `AzureWebJobsStorage` setting 44 | 45 | --- 46 | 47 | ### Step 3: Secure the Storage Account 48 | 49 | - Use **Private Endpoints** to restrict access 50 | - Enable **Firewall and Virtual Networks** 51 | - Use **Managed Identity** to access storage securely 52 | - Rotate **Access Keys** regularly 53 | - Enable **Soft Delete** for blobs and containers 54 | 55 | --- 56 | 57 | ## 🔐 Best Practices 58 | 59 | - Use **System Assigned Managed Identity** for secure access 60 | - Avoid hardcoding connection strings in code 61 | - Use **Azure Key Vault** to store secrets 62 | - Monitor access using **Azure Monitor** and **Activity Logs** 63 | 64 | --- 65 | 66 | ## 📚 References 67 | 68 | - [Azure Functions Documentation](https://learn.microsoft.com/en-us/azure/azure-functions/) 69 | - [Storage Account Overview](https://learn.microsoft.com/en-us/azure/storage/common/storage-account-overview) 70 | - [Secure access to storage](https://learn.microsoft.com/en-us/azure/storage/common/storage-security-guide) 71 | 72 | ## Connect with Me 73 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 74 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 75 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 76 | - **Blog**: [Blog](https://www.msdevbuild.com/) 77 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 78 | -------------------------------------------------------------------------------- /AZURE/Function/11. Azure Functions - Local Development Options.md: -------------------------------------------------------------------------------- 1 | # Azure Functions - Local Development Options 2 | 3 | This guide provides an overview of the tools and best practices for developing Azure Functions locally before deploying them to Azure. 4 | 5 | ## 🛠️ Tools for Local Development 6 | 7 | ### 1. Azure Functions Core Tools 8 | - Command-line tool for creating, running, and deploying Azure Functions. 9 | - Supports multiple languages: C#, JavaScript, Python, Java, PowerShell. 10 | - Install via npm: `npm install -g azure-functions-core-tools@4 --unsafe-perm true` 11 | 12 | ### 2. Visual Studio Code 13 | - Lightweight editor with Azure Functions extension. 14 | - Supports debugging, deployment, and integrated terminal. 15 | - Install the Azure Functions and Azure Account extensions. 16 | 17 | ### 3. Visual Studio (Windows) 18 | - Full-featured IDE for .NET-based Azure Functions. 19 | - Supports project templates, debugging, and publishing. 20 | - Requires Azure Development workload. 21 | 22 | ### 4. Docker 23 | - Containerize and run Azure Functions in isolated environments. 24 | - Use Dockerfiles provided by Azure Functions Core Tools. 25 | - Useful for CI/CD and consistent dev environments. 26 | 27 | ## ⚙️ Setup Instructions 28 | 1. Install Azure Functions Core Tools. 29 | 2. Install Visual Studio Code or Visual Studio. 30 | 3. Create a new Function App using `func init`. 31 | 4. Add a function using `func new`. 32 | 5. Run locally using `func start`. 33 | 34 | ## 🧪 Supported Languages 35 | - C# 36 | - JavaScript / TypeScript 37 | - Python 38 | - Java 39 | - PowerShell 40 | 41 | ## ✅ Best Practices 42 | - Use environment variables for secrets. 43 | - Use local.settings.json for configuration. 44 | - Test locally before deploying. 45 | - Use version control (e.g., Git). 46 | - Use Docker for consistent environments. 47 | 48 | ## 📚 References 49 | - [Azure Functions Documentation](https://learn.microsoft.com/en-us/azure/azure-functions/) 50 | - [Azure Functions Core Tools](https://learn.microsoft.com/en-us/azure/azure-functions/functions-run-local) 51 | - [Visual Studio Code Extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-azurefunctions) 52 | 53 | ## Connect with Me 54 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 55 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 56 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 57 | - **Blog**: [Blog](https://www.msdevbuild.com/) 58 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 59 | -------------------------------------------------------------------------------- /AZURE/Kubernetes/01 Kubernetes.md: -------------------------------------------------------------------------------- 1 | # 🐳 Kubernetes 2 | 3 | ## 🎓 What is Kubernetes? 4 | 5 | Kubernetes (K8s) is like a **school principal** 👩‍🏫 for your apps. 6 | 7 | * The principal doesn’t teach directly. 8 | * Instead, they make sure **every class (server)** has the right **teachers (containers)**. 9 | * If one teacher is sick, the principal finds a new one. 10 | * If too many students come, the principal adds extra teachers. 11 | * If fewer students come, the principal sends some teachers home. 12 | 13 | --- 14 | 15 | ## 🎶 Orchestration 16 | 17 | Think about an **orchestra** 🎻🥁🎺. 18 | 19 | * Every instrument = one container (app). 20 | * The conductor = Kubernetes. 21 | * The conductor makes sure everyone plays together nicely. 22 | 23 | That’s what “**orchestration**” means → **managing and organizing many containers**. 24 | 25 | --- 26 | 27 | ## 📈 Scale Up & Scale Down 28 | 29 | * **Scale Up** = More teachers when more students come. 30 | * **Scale Down** = Fewer teachers when students leave. 31 | 32 | This saves time and money. 33 | 34 | --- 35 | 36 | ## 💥 When a Container Crashes 37 | 38 | If a teacher suddenly leaves class: 39 | 40 | * The principal (Kubernetes) quickly finds another teacher. 41 | * Students (users) don’t even notice! 42 | This is called **self-healing**. 43 | 44 | --- 45 | 46 | ## ⚡ Auto Scaling 47 | 48 | * If too many students ask questions at once → the principal brings more teachers (auto scale). 49 | * When things calm down → extra teachers go home (scale down). 50 | 51 | --- 52 | 53 | ## 💻 Which Server Runs My Containers? 54 | 55 | * Think of **servers** as classrooms. 56 | * Containers (teachers) live inside them. 57 | * Kubernetes decides which classroom is best. 58 | 59 | --- 60 | 61 | ## 🏗️ Kubernetes Architecture 62 | 63 | ### Master Node 🧠 (Principal’s Office) 64 | 65 | * Makes all the decisions. 66 | * Decides which classroom gets which teacher. 67 | * Keeps the timetable, rules, and plan. 68 | 69 | ### Worker Nodes 💪 (Classrooms) 70 | 71 | * Real classrooms where teachers (containers) teach students (apps run). 72 | * They follow instructions from the principal (Master Node). 73 | 74 | --- 75 | 76 | ## ✅ Quick Recap 77 | 78 | * Kubernetes = School Principal + Orchestra Conductor. 79 | * Orchestration = Everyone working together smoothly. 80 | * Scale up/down = Add/remove teachers (containers). 81 | * Crash? Kubernetes replaces instantly. 82 | * Master Node = Brain 🧠 83 | * Worker Nodes = Hands & Legs 💪 84 | 85 | ### 🔔 Stay Updated with My Latest Projects 86 | 87 | If you enjoy: 88 | - 🧠 AI agents and automation 89 | - 🛠️ Practical tools and utilities 90 | - 📘 Developer tutorials and guides 91 | - 🚀 End-to-end project templates 92 | 93 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 94 | 95 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 96 | 97 | ## ⭐ Start & Follow Me 98 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 99 | 100 | ## Connect with Me 101 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 102 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 103 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 104 | - **Blog**: [Blog](https://www.msdevbuild.com/) 105 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 106 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 107 | 108 | 109 | -------------------------------------------------------------------------------- /AZURE/Kubernetes/Docker/03 Docker Setup in Visual Studio.md: -------------------------------------------------------------------------------- 1 | 2 | # 🐳 Docker Setup in Visual Studio 3 | 4 | [![Docker](https://img.shields.io/badge/Docker-2496ED?logo=docker&logoColor=white)](https://www.docker.com/) 5 | [![Visual Studio](https://img.shields.io/badge/Visual%20Studio-5C2D91?logo=visual-studio&logoColor=white)](https://visualstudio.microsoft.com/) 6 | [![.NET](https://img.shields.io/badge/.NET-512BD4?logo=dotnet&logoColor=white)](https://dotnet.microsoft.com/) 7 | [![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white)](https://www.microsoft.com/windows) 8 | 9 | This guide explains how to configure and run **Docker** inside **Visual Studio 2019/2022** for building and debugging containerized applications. 10 | 11 | --- 12 | 13 | ## ✅ Prerequisites 14 | 15 | - [Visual Studio 2019/2022](https://visualstudio.microsoft.com/downloads/) 16 | - [.NET SDK](https://dotnet.microsoft.com/en-us/download) (for .NET apps) 17 | - [Docker Desktop](https://www.docker.com/products/docker-desktop) 18 | - Windows 10/11 with **WSL 2** (recommended) or **Hyper-V** 19 | 20 | --- 21 | 22 | ## ⚙️ 1. Install Docker Desktop 23 | 24 | 1. Download and install Docker Desktop. 25 | 2. Enable **WSL 2 backend** during installation. 26 | 3. Verify installation: 27 | 28 | ```bash 29 | docker --version 30 | ```` 31 | 32 | --- 33 | 34 | ## ⚙️ 2. Enable Docker Support in Visual Studio 35 | 36 | 1. Open **Visual Studio Installer** → Modify installation. 37 | 2. Under **Workloads**, enable: 38 | 39 | * ✅ ASP.NET and web development 40 | * ✅ Container Development Tools 41 | 42 | --- 43 | 44 | ## ⚙️ 3. Add Docker Support to a Project 45 | 46 | 1. Open your solution in **Visual Studio**. 47 | 2. Right-click your project → **Add** → **Docker Support**. 48 | 3. Choose **Linux** (recommended) or **Windows** container. 49 | 4. A `Dockerfile` will be created automatically. 50 | 51 | --- 52 | 53 | ## ⚙️ 4. Add Docker Compose (Optional) 54 | 55 | For multi-container apps: 56 | 57 | 1. Right-click the solution → **Add** → **Container Orchestration Support**. 58 | 2. Select **Docker Compose**. 59 | 3. A `docker-compose.yml` file will be created. 60 | 61 | --- 62 | 63 | ## ▶️ 5. Run and Debug 64 | 65 | 1. From the **Debug target dropdown**, select **Docker**. 66 | 2. Press **F5** to build and run inside a container. 67 | 3. Visual Studio will: 68 | 69 | * Build the Docker image 70 | * Run the container 71 | * Attach the debugger 72 | 73 | --- 74 | 75 | ## 📝 Example `Dockerfile` 76 | 77 | ```dockerfile 78 | # Base runtime 79 | FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base 80 | WORKDIR /app 81 | EXPOSE 80 82 | 83 | # Build stage 84 | FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build 85 | WORKDIR /src 86 | COPY ["MyApp/MyApp.csproj", "MyApp/"] 87 | RUN dotnet restore "MyApp/MyApp.csproj" 88 | COPY . . 89 | WORKDIR "/src/MyApp" 90 | RUN dotnet build "MyApp.csproj" -c Release -o /app/build 91 | 92 | # Publish stage 93 | FROM build AS publish 94 | RUN dotnet publish "MyApp.csproj" -c Release -o /app/publish 95 | 96 | # Final stage 97 | FROM base AS final 98 | WORKDIR /app 99 | COPY --from=publish /app/publish . 100 | ENTRYPOINT ["dotnet", "MyApp.dll"] 101 | ``` 102 | 103 | --- 104 | 105 | ## 🛠️ Troubleshooting 106 | 107 | * Restart **Docker Desktop** and **Visual Studio** if issues occur. 108 | * Ensure **WSL 2** or **Hyper-V** is enabled. 109 | * Use **Linux containers** unless you need Windows-specific features. 110 | 111 | --- 112 | 113 | ## 📚 References 114 | 115 | * [Visual Studio Docker Tools](https://learn.microsoft.com/en-us/visualstudio/containers/overview?view=vs-2022) 116 | * [Docker Desktop Docs](https://docs.docker.com/desktop/) 117 | -------------------------------------------------------------------------------- /AZURE/Kubernetes/Docker/04 Publishing a Docker Image to Docker Hub.md: -------------------------------------------------------------------------------- 1 | # 🐳 Publish Docker Image to Docker Hub from Visual Studio 2 | 3 | --- 4 | 5 | ## ✅ Prerequisites 6 | 7 | * [Visual Studio 2019/2022](https://visualstudio.microsoft.com/downloads/) 8 | * [Docker Desktop](https://www.docker.com/products/docker-desktop) installed and running 9 | * A [Docker Hub account](https://hub.docker.com/signup) 10 | 11 | --- 12 | 13 | ## ⚙️ Step 1: Add Docker Support to Your Project 14 | 15 | 1. In **Visual Studio**, right-click your project → **Add** → **Docker Support**. 16 | 2. Choose **Linux** (recommended) or **Windows** container. 17 | 3. Visual Studio generates a `Dockerfile`. 18 | 19 | --- 20 | 21 | ## ⚙️ Step 2: Configure Docker Hub Login 22 | 23 | 1. Open a terminal (inside VS or outside). 24 | 2. Run: 25 | 26 | ```bash 27 | docker login 28 | ``` 29 | 30 | 3. Enter your **Docker Hub username** and **password (or token)**. 31 | 32 | --- 33 | 34 | ## ⚙️ Step 3: Build Image from Visual Studio 35 | 36 | 1. In **Solution Explorer**, right-click the project → **Publish**. 37 | 2. Select **Container Registry**. 38 | 3. Choose **Docker Hub**. 39 | 4. Sign in with your Docker Hub credentials (from VS prompt). 40 | 5. Enter: 41 | 42 | * **Repository** → `username/repository` 43 | * **Tag** → e.g., `latest` or `1.0` 44 | 45 | --- 46 | 47 | ## ⚙️ Step 4: Publish Image 48 | 49 | 1. Click **Publish**. 50 | 2. Visual Studio will: 51 | 52 | * Build the Docker image 53 | * Tag it 54 | * Push it to Docker Hub 55 | 56 | --- 57 | 58 | ## ⚙️ Step 5: Verify on Docker Hub 59 | 60 | 1. Go to [Docker Hub Repositories](https://hub.docker.com/repositories). 61 | 2. Check if your image (`username/repository:tag`) appears. 62 | 63 | --- 64 | 65 | ## 🛠 Alternative (Command Line from VS Terminal) 66 | 67 | If you prefer CLI inside Visual Studio Terminal: 68 | 69 | ```bash 70 | # Build 71 | docker build -t username/myapp:latest . 72 | 73 | # Push 74 | docker push username/myapp:latest 75 | ``` 76 | 77 | --- 78 | 79 | ## 📚 References 80 | 81 | * [Publish Docker Images from Visual Studio](https://learn.microsoft.com/en-us/visualstudio/containers/container-tools-publish?view=vs-2022) 82 | * [Docker Hub Docs](https://docs.docker.com/docker-hub/) 83 | -------------------------------------------------------------------------------- /AZURE/Kubernetes/Docker/05 Running the MiniSuperMarket Docker Container.md: -------------------------------------------------------------------------------- 1 | 2 | # Running the MiniSuperMarket Docker Container 3 | 4 | This guide explains how to run the **MiniSuperMarket** application from its Docker image and open it in your browser. 5 | 6 | --- 7 | 8 | ## 1. Pull the Image from Docker Hub 9 | Make sure Docker Desktop is installed and running. 10 | Pull the latest image from Docker Hub: 11 | 12 | ```bash 13 | docker pull jsuthahar/minisupermarket:latest 14 | ```` 15 | 16 | --- 17 | 18 | ## 2. Run the Container 19 | 20 | ### Option A – Run on default ports (if the app is configured for port 80 inside) 21 | 22 | ```bash 23 | docker run -d -p 8080:80 jsuthahar/minisupermarket 24 | ``` 25 | 26 | Now open in your browser: 27 | 28 | ``` 29 | http://localhost:8080 30 | ``` 31 | 32 | ### Option B – Run on app’s internal ports (8080/8081 inside container) 33 | 34 | If your app listens on **8080 (HTTP)** and **8081 (HTTPS)** inside the container, run: 35 | 36 | ```bash 37 | docker run -d -p 9090:8080 -p 9091:8081 jsuthahar/minisupermarket 38 | ``` 39 | 40 | Now open: 41 | 42 | * HTTP → [http://localhost:9090](http://localhost:9090) 43 | * HTTPS → [https://localhost:9091](https://localhost:9091) 44 | 45 | --- 46 | 47 | ## 3. Verify the Container 48 | 49 | Check running containers: 50 | 51 | ```bash 52 | docker ps 53 | ``` 54 | 55 | Example output: 56 | 57 | ``` 58 | CONTAINER ID IMAGE PORTS 59 | abcd1234efgh jsuthahar/minisupermarket 0.0.0.0:9090->8080/tcp, 0.0.0.0:9091->8081/tcp 60 | ``` 61 | 62 | --- 63 | 64 | ## 4. Useful Commands 65 | 66 | * **View logs** 67 | 68 | ```bash 69 | docker logs 70 | ``` 71 | 72 | * **Stop container** 73 | 74 | ```bash 75 | docker stop 76 | ``` 77 | 78 | * **Remove container** 79 | 80 | ```bash 81 | docker rm 82 | ``` 83 | 84 | * **Remove image** 85 | 86 | ```bash 87 | docker rmi jsuthahar/minisupermarket 88 | ``` 89 | 90 | --- 91 | 92 | ## 5. Troubleshooting 93 | 94 | * If `http://localhost:8080` doesn’t open, your app may not be listening on port 80. 95 | * Try mapping to `8080`/`8081` as shown in **Option B**. 96 | * Always check logs with: 97 | 98 | ```bash 99 | docker logs 100 | ``` 101 | 102 | --- 103 | 104 | 🚀 You now have the MiniSuperMarket app running inside Docker! 105 | 106 | -------------------------------------------------------------------------------- /AZURE/Kubernetes/Docker/06 How to Stop Docker Containers on Local Machine.md: -------------------------------------------------------------------------------- 1 | 2 | # How to Stop Docker Containers on Local Machine 3 | 4 | This guide explains different ways to stop Docker containers running on your local machine. 5 | 6 | --- 7 | 8 | ## 1. List Running Containers 9 | First, check which containers are running: 10 | 11 | ```bash 12 | docker ps 13 | ```` 14 | 15 | Example output: 16 | 17 | ``` 18 | CONTAINER ID IMAGE PORTS NAMES 19 | fcc6ecd0e2a6 jsuthahar/minisupermarket 0.0.0.0:8080->80/tcp infallible_allen 20 | 20b7157ee458 minisupermarket:dev 0.0.0.0:32768->8080,32769->8081 MiniSuperMarket 21 | ``` 22 | 23 | --- 24 | 25 | ## 2. Stop a Specific Container 26 | 27 | Use either the **container ID** or the **name**: 28 | 29 | ```bash 30 | docker stop fcc6ecd0e2a6 31 | ``` 32 | 33 | or 34 | 35 | ```bash 36 | docker stop infallible_allen 37 | ``` 38 | 39 | --- 40 | 41 | ## 3. Stop All Running Containers 42 | 43 | To stop every running container in one command: 44 | 45 | ```bash 46 | docker stop $(docker ps -q) 47 | ``` 48 | 49 | --- 50 | 51 | ## 4. Remove a Stopped Container (Optional) 52 | 53 | If you no longer need the container: 54 | 55 | ```bash 56 | docker rm fcc6ecd0e2a6 57 | ``` 58 | 59 | Or remove all stopped containers: 60 | 61 | ```bash 62 | docker container prune 63 | ``` 64 | 65 | --- 66 | 67 | ## 5. Using Docker Desktop (GUI Option) 68 | 69 | If you’re using **Docker Desktop**: 70 | 71 | 1. Open Docker Desktop. 72 | 2. Go to the **Containers** tab. 73 | 3. Find your container. 74 | 4. Click **Stop** (square button). 75 | 5. Click **Delete** (trash icon) if you want to remove it completely. 76 | 77 | --- 78 | 79 | ✅ That’s it! You now know how to stop containers on your local machine. 80 | 81 | -------------------------------------------------------------------------------- /AZURE/Kubernetes/Docker/07 Dockerizing an Angular Application (Without Visual Studio).md: -------------------------------------------------------------------------------- 1 | 2 | # Dockerizing an Angular Application (Without Visual Studio) 3 | 4 | This guide shows how to build and run an Angular application inside Docker using **Node.js** for building and **Nginx** for serving the production build. 5 | 6 | --- 7 | 8 | ## 1. Prerequisites 9 | - Install [Node.js](https://nodejs.org/) (for local build, optional). 10 | - Install [Angular CLI](https://angular.io/cli) (optional if building locally). 11 | - Install [Docker Desktop](https://www.docker.com/products/docker-desktop). 12 | 13 | --- 14 | 15 | ## 2. Angular Project Structure 16 | Typical Angular project after running `ng new my-app`: 17 | 18 | ``` 19 | 20 | my-app/ 21 | ├── src/ 22 | ├── angular.json 23 | ├── package.json 24 | ├── package-lock.json 25 | └── tsconfig.json 26 | 27 | ```` 28 | 29 | --- 30 | 31 | ## 3. Create a Dockerfile 32 | Inside the root of your Angular project (`my-app/`), create a file named **Dockerfile**: 33 | 34 | ```dockerfile 35 | # Step 1: Build Angular app using Node 36 | FROM node:18 AS build 37 | 38 | WORKDIR /app 39 | COPY package*.json ./ 40 | RUN npm install 41 | 42 | COPY . . 43 | RUN npm run build --prod 44 | 45 | # Step 2: Serve using Nginx 46 | FROM nginx:alpine 47 | 48 | # Copy build output from Angular to Nginx html folder 49 | COPY --from=build /app/dist/my-app /usr/share/nginx/html 50 | 51 | # Expose port 80 52 | EXPOSE 80 53 | 54 | # Start Nginx server 55 | CMD ["nginx", "-g", "daemon off;"] 56 | ```` 57 | 58 | > ⚠️ Replace `my-app` in `/app/dist/my-app` with your Angular project’s **output folder name** (check in `angular.json → outputPath`). 59 | 60 | --- 61 | 62 | ## 4. Create a `.dockerignore` File 63 | 64 | This keeps the image clean: 65 | 66 | ``` 67 | node_modules 68 | .git 69 | .gitignore 70 | Dockerfile 71 | .dockerignore 72 | ``` 73 | 74 | --- 75 | 76 | ## 5. Build the Docker Image 77 | 78 | Open terminal in the project folder: 79 | 80 | ```bash 81 | docker build -t angular-docker-app . 82 | ``` 83 | 84 | --- 85 | 86 | ## 6. Run the Container 87 | 88 | ```bash 89 | docker run -d -p 8080:80 angular-docker-app 90 | ``` 91 | 92 | Now open in your browser: 93 | 94 | ``` 95 | http://localhost:8080 96 | ``` 97 | 98 | --- 99 | 100 | ## 7. Verify Running Container 101 | 102 | ```bash 103 | docker ps 104 | ``` 105 | 106 | --- 107 | 108 | ## 8. Stop & Remove Container 109 | 110 | ```bash 111 | docker stop 112 | docker rm 113 | ``` 114 | 115 | --- 116 | 117 | ## 9. Push to Docker Hub (Optional) 118 | 119 | If you want to share the image: 120 | 121 | ```bash 122 | docker tag angular-docker-app /angular-docker-app:latest 123 | docker push /angular-docker-app:latest 124 | ``` 125 | 126 | Others can then run: 127 | 128 | ```bash 129 | docker run -d -p 8080:80 /angular-docker-app:latest 130 | ``` 131 | 132 | --- 133 | 134 | 🚀 Your Angular app is now running inside Docker with Nginx! 135 | 136 | -------------------------------------------------------------------------------- /AZURE/Kubernetes/Docker/Azure Regitery.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # 📦 Download Images from Azure Container Registry (ACR) 4 | 5 | Azure Container Registry (ACR) is a private registry for hosting container images and artifacts in Azure. 6 | This guide explains how to **log in, list repositories, and download (pull) images** from your ACR. 7 | 8 | --- 9 | 10 | ## 🚀 Prerequisites 11 | 12 | * [Docker Desktop](https://www.docker.com/products/docker-desktop) installed and running 13 | * [Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli) installed 14 | * Access to an Azure Container Registry (ACR) with permissions 15 | 16 | --- 17 | 18 | ## 🔑 Step 1: Log in to Azure 19 | 20 | ```bash 21 | az login 22 | ``` 23 | 24 | If you have multiple subscriptions: 25 | 26 | ```bash 27 | az account set --subscription "" 28 | ``` 29 | 30 | --- 31 | 32 | ## 🔑 Step 2: Log in to your Azure Container Registry 33 | 34 | ```bash 35 | az acr login --name 36 | ``` 37 | 38 | Example: 39 | 40 | ```bash 41 | az acr login --name myregistry 42 | ``` 43 | 44 | --- 45 | 46 | ## 📋 Step 3: List Available Repositories and Tags 47 | 48 | List all repositories: 49 | 50 | ```bash 51 | az acr repository list --name --output table 52 | ``` 53 | 54 | List tags for a specific repository: 55 | 56 | ```bash 57 | az acr repository show-tags --name --repository --output table 58 | ``` 59 | 60 | --- 61 | 62 | ## ⬇️ Step 4: Pull (Download) the Image 63 | 64 | Use Docker to pull the image: 65 | 66 | ```bash 67 | docker pull .azurecr.io/: 68 | ``` 69 | 70 | Example: 71 | 72 | ```bash 73 | docker pull myregistry.azurecr.io/myapp:latest 74 | ``` 75 | 76 | --- 77 | 78 | ## ✅ Step 5: Verify the Image Locally 79 | 80 | ```bash 81 | docker images 82 | ``` 83 | 84 | --- 85 | 86 | ## 📦 (Optional) Save the Image to a `.tar` File 87 | 88 | If you want to export the image: 89 | 90 | ```bash 91 | docker save -o myapp.tar myregistry.azurecr.io/myapp:latest 92 | ``` 93 | 94 | Load it back later: 95 | 96 | ```bash 97 | docker load -i myapp.tar 98 | ``` 99 | 100 | --- 101 | 102 | ## 🎯 Summary 103 | 104 | 1. Log in to Azure 105 | 2. Log in to ACR 106 | 3. List repositories and tags 107 | 4. Pull images with Docker 108 | 5. (Optional) Save as `.tar` 109 | 110 | -------------------------------------------------------------------------------- /AZURE/Message Service /Logic Apps/Question/01 Logic Apps: Updating Definitions.md: -------------------------------------------------------------------------------- 1 | # AZ-204 Exam – Logic Apps: Updating Definitions 2 | 3 | ## 📘 What are Logic Apps and Updating Definitions? 4 | - **Azure Logic Apps** is a cloud service that helps you automate workflows by integrating apps, data, and services with little or no code. 5 | - A **Logic App definition** is the underlying **JSON code** that describes the workflow (triggers, actions, conditions, etc.). 6 | - Updating definitions means editing this JSON directly to **add, modify, or fix** the logic of the workflow. 7 | 8 | --- 9 | 10 | ## ❓ Question 11 | You are a developer at your company. 12 | You need to update the **definitions** for an existing Logic App. 13 | 14 | **What should you use?** 15 | 16 | A. Enterprise Integration Pack (EIP) 17 | B. Logic App Code View 18 | C. API Connections 19 | D. Logic Apps Designer 20 | 21 | **✅ Correct Answer: B. Logic App Code View** 22 | 23 | --- 24 | 25 | ## ✅ Why B is Correct 26 | - The **Logic App Code View** allows you to directly edit the **JSON definition** of the workflow. 27 | - Steps in Azure Portal: 28 | 1. Sign in to Azure portal. 29 | 2. Go to **Logic Apps** → select your app. 30 | 3. Under **Development Tools**, choose **Code View**. 31 | 4. Edit the JSON definition directly. 32 | 33 | --- 34 | 35 | ## ❌ Why Others Are Wrong 36 | - **A. Enterprise Integration Pack (EIP):** Used for advanced B2B/integration scenarios, not JSON editing. 37 | - **C. API Connections:** Used to configure connections to external services (like SQL, Office 365), not workflow definitions. 38 | - **D. Logic Apps Designer:** Used for visual, drag-and-drop workflow creation. It cannot directly edit raw JSON definitions. 39 | 40 | --- 41 | 42 | ## 📚 Topics to Study 43 | - Logic Apps basics: Triggers, Actions, Connectors, Workflows 44 | - Logic Apps **Designer** vs. **Code View** 45 | - JSON schema for Logic App definitions 46 | - Role of **API Connections** and **Enterprise Integration Pack (EIP)** 47 | 48 | 49 | ### 🔔 Stay Updated with My Latest Projects 50 | 51 | If you enjoy: 52 | - 🧠 AI agents and automation 53 | - 🛠️ Practical tools and utilities 54 | - 📘 Developer tutorials and guides 55 | - 🚀 End-to-end project templates 56 | 57 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 58 | 59 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 60 | 61 | ## ⭐ Start & Follow Me 62 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 63 | 64 | ## Connect with Me 65 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 66 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 67 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 68 | - **Blog**: [Blog](https://www.msdevbuild.com/) 69 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 70 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 71 | 72 | 73 | -------------------------------------------------------------------------------- /AZURE/PowerShell/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/Question/01 Move to Another Country.md: -------------------------------------------------------------------------------- 1 | ### ❓**Can you change the Azure region (e.g., from Europe to another country) after creating an Azure resource/account?** 2 | 3 | --- 4 | 5 | ## 🔒 Short Answer: 6 | 7 | **No, you cannot directly change the region of an existing Azure resource (like a Storage Account, VM, etc.).** 8 | Azure resources are **region-specific**, and the **region (location) is immutable** after creation. 9 | 10 | --- 11 | 12 | ## 🧭 Explanation: 13 | 14 | When you create a resource (e.g., a Storage Account) in a region like **West Europe**, that data and service are physically hosted in Microsoft’s datacenters in that region. For **compliance, latency, and data residency**, Azure **does not allow you to "move" the region** of the resource once created. 15 | 16 | --- 17 | 18 | ## ✅ What You *Can* Do 19 | 20 | | Option | Description | 21 | | --------------------------- | ------------------------------------------------------------------------------------------------------------------------- | 22 | | 🔁 **Manually recreate** | Create a **new resource** in the desired region (e.g., East US) and **migrate or copy** the data/configuration. | 23 | | 🚚 **Azure Resource Mover** | Microsoft provides a tool to move **supported resources** across regions. Not all services are supported. | 24 | | ☁️ **Global Services** | Some services (like Azure DNS, Azure AD) are **global** and not region-bound. You don't need to worry about their region. | 25 | 26 | --- 27 | 28 | ## 🛠 Example: Move Azure Storage from Europe to India 29 | 30 | 1. **Create new storage account** in `Central India`. 31 | 2. **Use AzCopy, Azure Data Factory, or Storage Explorer** to copy blobs/files from old to new. 32 | 3. **Update your app or services** to point to the new storage account. 33 | 4. **Delete the old resource** if no longer needed. 34 | 35 | --- 36 | 37 | ## 📌 Important Notes 38 | 39 | | Thing to Know | Detail | 40 | | ------------------------ | ----------------------------------------------------------------------------------------------------------------- | 41 | | 🔒 Region is fixed | You cannot edit the region after resource creation. | 42 | | 🚚 Resource Mover exists | [Azure Resource Mover](https://learn.microsoft.com/en-us/azure/resource-mover/) helps migrate supported services. | 43 | | ⚠️ Downtime | Manual migration might involve downtime, depending on the service. | 44 | | 💸 Cost | You may incur additional costs for data transfer across regions. | 45 | 46 | --- 47 | 48 | ## 🔗 Microsoft Docs Reference 49 | 50 | * [Azure Resource Mover - Overview](https://learn.microsoft.com/en-us/azure/resource-mover/overview) 51 | * [Regions and Availability](https://azure.microsoft.com/en-us/explore/global-infrastructure/geographies/) 52 | 53 | ## Connect with Me 54 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 55 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 56 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 57 | - **Blog**: [Blog](https://www.msdevbuild.com/) 58 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 59 | -------------------------------------------------------------------------------- /AZURE/README.MD: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/Storage/01 Azure Storage - Overview.md: -------------------------------------------------------------------------------- 1 | # 📦 Azure Storage - Overview 2 | 3 | ## ✅ What is Azure Storage? 4 | 5 | **Azure Storage** is Microsoft's cloud storage solution designed for modern data storage needs. It offers a scalable, durable, and secure way to store a wide variety of data types including: 6 | 7 | * Blobs (Binary Large Objects like images, videos, documents) 8 | * Files (SMB file shares) 9 | * Queues (messaging between components) 10 | * Tables (NoSQL key-value storage) 11 | * Disks (managed virtual hard disks for VMs) 12 | 13 | Azure Storage is part of the **Microsoft Azure cloud platform** and is accessible via REST APIs, SDKs, or the Azure Portal. 14 | 15 | ![Azure Storage Diagram](https://github.com/jssuthahar/MSDEVBUILD-Doc/blob/main/AZURE/Storage/image/Azure%20Storage%20Options.png) 16 | --- 17 | 18 | ## 🚀 Why Do We Need Azure Storage? 19 | 20 | 1. **Scalability** 21 | Automatically scales based on demand. Store gigabytes to petabytes of data without worrying about capacity. 22 | 23 | 2. **Durability & High Availability** 24 | Your data is replicated multiple times (locally or globally) to ensure zero data loss even in hardware failures. 25 | 26 | 3. **Security** 27 | Built-in encryption at rest and in transit, with integration to Azure Active Directory (AAD) for access control. 28 | 29 | 4. **Accessibility** 30 | Access your data from anywhere in the world over HTTPS using SDKs (like .NET, Python, JavaScript) or REST APIs. 31 | 32 | 5. **Cost-Effectiveness** 33 | Pay only for what you use. Multiple storage tiers (Hot, Cool, Archive) help optimize storage costs. 34 | 35 | ![Azure Storage Diagram](https://github.com/jssuthahar/MSDEVBUILD-Doc/blob/main/AZURE/Storage/image/Benefits%20of%20Azure%20Storage.png) 36 | --- 37 | 38 | ## 📖 Why Azure Storage – The Story Behind 39 | 40 | In today’s world, businesses are generating and consuming massive volumes of data—images, videos, logs, backups, IoT sensor data, and more. Managing this data on-premises is costly, complex, and risky. 41 | 42 | Azure Storage was created to solve this challenge: 43 | 44 | * To **store any type of data**—structured or unstructured. 45 | * To **reliably serve** users worldwide without investing in physical infrastructure. 46 | * To **help developers** and enterprises focus on building applications instead of managing storage. 47 | * To support cloud-native and hybrid applications with modern APIs and integrations. 48 | 49 | Whether you're building a simple mobile app, a large-scale enterprise system, or a backup solution, **Azure Storage** provides the foundation you need. 50 | 51 | --- 52 | 53 | ## 🛠️ Common Use Cases 54 | 55 | * Hosting static website content 56 | * Storing user-uploaded images/videos 57 | * Data lakes for analytics 58 | * Backup and disaster recovery 59 | * File sharing across applications 60 | * Log and telemetry storage for monitoring 61 | 62 | --- 63 | 64 | ## 📚 Learn More 65 | 66 | * [Azure Storage Documentation](https://learn.microsoft.com/en-us/azure/storage/) 67 | * [Azure Blob Storage Overview](https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview) 68 | 69 | ## Connect with Me 70 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 71 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 72 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 73 | - **Blog**: [Blog](https://www.msdevbuild.com/) 74 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 75 | -------------------------------------------------------------------------------- /AZURE/Storage/Azure SQL/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/Storage/Questions/05 Consomose DB.md: -------------------------------------------------------------------------------- 1 | 2 | You are developing an application to collect telemetry data for delivery drivers: 3 | 4 | * First name 5 | * Last name 6 | * Package count 7 | * Item ID 8 | * Current location coordinates 9 | 10 | The app will store the data in **Azure Cosmos DB**. You need to **configure Cosmos DB** to query the data efficiently. 11 | 12 | **Question:** Select the correct values for: 13 | 14 | 1. **API type** 15 | 2. **Partition key** 16 | 17 | --- 18 | 19 | ## Correct Answers 20 | 21 | | Selection | Correct Value | Explanation | 22 | | ------------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 23 | | **Box 1 (API type)** | **Core (SQL)** | Core (SQL) API stores data in **document format (JSON)** and provides the **full SDK and SQL querying capability**. Ideal for telemetry data with complex queries. | 24 | | **Box 2 (Partition key)** | **item id** | The partition key should be a value that **uniquely distributes data** and avoids hot partitions. **Item ID** is unique for each record, making it suitable as a partition key. | 25 | 26 | --- 27 | 28 | ### Explanation 29 | 30 | 1. **Core (SQL) API**: 31 | 32 | * Stores data in JSON documents. 33 | * Supports **rich queries** using SQL-like syntax. 34 | * Offers full SDK support for multiple languages. 35 | * Allows **operational and analytical workloads** to run without interference. 36 | 37 | 2. **Partition key** (item id): 38 | 39 | * Cosmos DB partitions data using the partition key. 40 | * A good partition key **distributes data evenly** across physical partitions. 41 | * **Item ID** is unique per document, which avoids “hot partitions” and ensures scalability. 42 | 43 | --- 44 | 45 | **References:** 46 | 47 | * [Choose the right Azure Cosmos DB API](https://learn.microsoft.com/en-us/azure/cosmos-db/choose-api) 48 | * [Partitioning overview in Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/partitioning-overview) 49 | 50 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 51 | 52 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 53 | 54 | ## ⭐ Start & Follow Me 55 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 56 | 57 | ## Connect with Me 58 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 59 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 60 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 61 | - **Blog**: [Blog](https://www.msdevbuild.com/) 62 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 63 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 64 | -------------------------------------------------------------------------------- /AZURE/Storage/Questions/07 premium block blob storage account.md: -------------------------------------------------------------------------------- 1 | You are developing an application that uses a **premium block blob storage account**. The application processes a **large volume of transactions daily**. 2 | 3 | * **Blob storage versioning** is enabled. 4 | * You are optimizing costs by automating **Blob Storage access tiers**. 5 | * Lifecycle management policy rules have been applied to the storage account. 6 | 7 | **Question:** For each of the following statements, select **Yes** if true; otherwise, **No**. 8 | 9 | --- 10 | 11 | ### Correct Answers 12 | 13 | | Box | Answer | Explanation | 14 | | --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | 15 | | **Box 1** | **No** | The rule uses **daysAfterCreationGreaterThan**, not **daysAfterModificationGreaterThan**. So it doesn’t trigger based on modification date. | 16 | | **Box 2** | **No** | To act on the last access time, the policy must use **daysAfterLastAccessTimeGreaterThan**, which is not used here. | 17 | | **Box 3** | **Yes** | This statement aligns with the configured lifecycle management policy. ✅ | 18 | | **Box 4** | **Yes** | Lifecycle management allows **transitioning blobs from cool to hot immediately when accessed**, optimizing performance for frequently accessed data. ✅ | 19 | 20 | --- 21 | 22 | ### Explanation 23 | 24 | * **Lifecycle management policies** in Azure Blob Storage automate: 25 | 26 | * Transitioning blobs between **hot, cool, and archive tiers**. 27 | * Deleting older blobs or previous blob versions. 28 | * **Predicates used in policies**: 29 | 30 | * `daysAfterCreationGreaterThan` → triggers after a blob is created. 31 | * `daysAfterModificationGreaterThan` → triggers after a blob is modified. 32 | * `daysAfterLastAccessTimeGreaterThan` → triggers based on last access time (preview). 33 | * **Premium block blob accounts** support lifecycle policies to optimize performance **without manual intervention**. 34 | 35 | --- 36 | 37 | **Reference:** 38 | [Azure Blob Storage Lifecycle Management Overview](https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview) 39 | 40 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 41 | 42 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 43 | 44 | ## ⭐ Start & Follow Me 45 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 46 | 47 | ## Connect with Me 48 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 49 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 50 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 51 | - **Blog**: [Blog](https://www.msdevbuild.com/) 52 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 53 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 54 | -------------------------------------------------------------------------------- /AZURE/Storage/Questions/08 Azure Cosmos DB.md: -------------------------------------------------------------------------------- 1 | ## Question 2 | 3 | **Scenario:** 4 | An organization deploys **Azure Cosmos DB**. You need to ensure that the **index is updated immediately** as items are **created, updated, or deleted**. 5 | 6 | **Question:** What should you do? 7 | 8 | **Options:** 9 | A. Set the indexing mode to Lazy. 10 | B. Set the value of the automatic property of the indexing policy to False. 11 | C. Set the value of the EnableScanInQuery option to True. 12 | D. Set the indexing mode to Consistent. 13 | 14 | **Correct Answer:** 15 | **D. Set the indexing mode to Consistent** 16 | 17 | --- 18 | 19 | ### Explanation 20 | 21 | **Indexing modes in Azure Cosmos DB:** 22 | 23 | | Indexing Mode | Description | 24 | | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 25 | | **Consistent** | The index is **updated synchronously** whenever items are created, updated, or deleted. This ensures that **query results always reflect the latest data**, respecting the account's consistency level. ✅ | 26 | | **Lazy** | The index is updated **asynchronously**. Queries may return **stale results** until the index catches up. ❌ | 27 | | **None** | Indexing is disabled; queries must use **manual scans** or filtering. ❌ | 28 | 29 | **Other options:** 30 | 31 | * **Automatic property = False** → disables automatic indexing; not suitable here. ❌ 32 | * **EnableScanInQuery = True** → allows queries that scan the container even if items are not indexed; does not guarantee immediate index updates. ❌ 33 | 34 | --- 35 | 36 | **Reference:** 37 | [Azure Cosmos DB Indexing Policies](https://learn.microsoft.com/en-us/azure/cosmos-db/index-policy) 38 | 39 | 40 | 41 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 42 | 43 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 44 | 45 | ## ⭐ Start & Follow Me 46 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 47 | 48 | ## Connect with Me 49 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 50 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 51 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 52 | - **Blog**: [Blog](https://www.msdevbuild.com/) 53 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 54 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 55 | to do that? 56 | -------------------------------------------------------------------------------- /AZURE/Storage/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/Storage/image/Azure Storage Options.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/AZURE/Storage/image/Azure Storage Options.png -------------------------------------------------------------------------------- /AZURE/Storage/image/Benefits of Azure Storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/AZURE/Storage/image/Benefits of Azure Storage.png -------------------------------------------------------------------------------- /AZURE/Storage/image/Storage plan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/AZURE/Storage/image/Storage plan.png -------------------------------------------------------------------------------- /AZURE/Storage/image/Type Data Type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/AZURE/Storage/image/Type Data Type.png -------------------------------------------------------------------------------- /AZURE/Storage/image/image.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /AZURE/Trainner/01 Day 1 – Azure Learning Overview.md: -------------------------------------------------------------------------------- 1 | # Day 1 – Azure Learning Overview 2 | 3 | ## 📚 Covered Topics 4 | 5 | 1. **Microsoft Azure History Overview** 6 | [https://github.com/jssuthahar/Article/blob/main/AZURE/01%20Microsoft%20Azure%20-%20History%20Overview.md](https://github.com/jssuthahar/Article/blob/main/AZURE/01%20Microsoft%20Azure%20-%20History%20Overview.md) 7 | 8 | 2. **On-Premise Servers vs Cloud Servers** 9 | [https://github.com/jssuthahar/Article/blob/main/AZURE/Basic/02%20%20On-Premise%20Servers%20vs%20Cloud%20Servers.md](https://github.com/jssuthahar/Article/blob/main/AZURE/Basic/02%20%20On-Premise%20Servers%20vs%20Cloud%20Servers.md) 10 | 11 | 3. **Cloud Service Models (IAAS, PAAS, SAAS)** 12 | [https://github.com/jssuthahar/Article/blob/main/AZURE/Basic/03%20%20Best%20Cloud%20Service%20Model%20for%20Different%20Use%20Cases.md](https://github.com/jssuthahar/Article/blob/main/AZURE/Basic/03%20%20Best%20Cloud%20Service%20Model%20for%20Different%20Use%20Cases.md) 13 | 14 | 4. **Extended Cloud Service Models** 15 | [https://github.com/jssuthahar/Article/blob/main/AZURE/Basic/04%20Cloud%20Service%20Models%20Overview.md](https://github.com/jssuthahar/Article/blob/main/AZURE/Basic/04%20Cloud%20Service%20Models%20Overview.md) 16 | 17 | 5. **Azure AZ-204 Study Guide & Development Overview** 18 | [https://github.com/jssuthahar/Article/blob/main/AZURE/02%20Azure%20AZ%20204%20%20Study%20Guide%20&%20Application%20Development%20Overview.md](https://github.com/jssuthahar/Article/blob/main/AZURE/02%20Azure%20AZ%20204%20%20Study%20Guide%20&%20Application%20Development%20Overview.md) 19 | 20 | --- 21 | 22 | ## ✅ Summary 23 | 24 | Day 1 introduced foundational Azure concepts including cloud history, differences between on-prem and cloud environments, and major service models (IAAS, PAAS, SAAS). Additionally, extended service models were discussed along with a starter guide for the AZ-204 certification. 25 | 26 | More topics will be added from Day 2 onwards. 27 | 28 | ### 🔔 Stay Updated with My Latest Projects 29 | 30 | If you enjoy: 31 | - 🧠 AI agents and automation 32 | - 🛠️ Practical tools and utilities 33 | - 📘 Developer tutorials and guides 34 | - 🚀 End-to-end project templates 35 | 36 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 37 | 38 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 39 | 40 | ## ⭐ Start & Follow Me 41 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 42 | 43 | ## Connect with Me 44 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 45 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 46 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 47 | - **Blog**: [Blog](https://www.msdevbuild.com/) 48 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 49 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /Best Practice/XAML Naming Standards for Controls.md: -------------------------------------------------------------------------------- 1 | ## XAML Naming Standards for Controls 2 | 3 | ### **General Guidelines** 4 | 1. **CamelCase with Prefix**: Use a three-letter prefix to indicate the control type (`btn`, `txt`, `lbl`, etc.), followed by a meaningful name in PascalCase. 5 | 2. **Meaningful Names**: Names should clearly describe the control's purpose. 6 | 3. **Avoid Abbreviations**: Use full words unless widely recognized. 7 | 4. **Consistency**: Follow the same pattern across all controls. 8 | 9 | --- 10 | 11 | ### **Control Naming Conventions** 12 | 13 | | Control Type | Prefix | Naming Example | 14 | |---------------|--------|----------------| 15 | | `Button` | `btn` | `btnSubmit` | 16 | | `TextBox` | `txt` | `txtUserName` | 17 | | `Label` | `lbl` | `lblErrorMsg` | 18 | | `CheckBox` | `chk` | `chkAccept` | 19 | | `ComboBox` | `cmb` | `cmbCountry` | 20 | | `ListBox` | `lst` | `lstItems` | 21 | | `DataGrid` | `dg` | `dgOrders` | 22 | | `Image` | `img` | `imgProfile` | 23 | | `StackPanel` | `sp` | `spContainer` | 24 | | `Grid` | `grd` | `grdContent` | 25 | | `Border` | `brd` | `brdProfile` | 26 | 27 | --- 28 | 29 | ### **Event Handler Naming** 30 | Use `{ControlPrefix}{ControlName}_{EventName}` for event handlers. 31 | 32 | **Example:** 33 | ```xml 34 | 58 | 59 | ``` 60 | 61 | ## 🔍 Explanation 62 | 63 | 1. **Shared View Concept** 64 | - The `Login.cshtml` file is placed inside the `Views/Shared/` folder. 65 | - Since there is no `Login.cshtml` in `Views/Home/` or `Views/Product/`, ASP.NET Core automatically looks in `Views/Shared/`. 66 | 67 | 2. **Returning the Shared View** 68 | - The `Login()` action methods in both controllers use `return View();`, allowing them to automatically use the shared `Login.cshtml`. 69 | 70 | 3. **Why Use Shared Views?** 71 | - Reduces redundancy. 72 | - Maintains consistency across different controllers. 73 | - Easier to update in one place rather than multiple copies. 74 | 75 | --- 76 | 77 | This setup ensures efficient code management and a consistent login experience across different controllers. 🚀 78 | 79 | ## Connect with Me 80 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 81 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 82 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 83 | - **Blog**: [Blog](https://www.msdevbuild.com/) 84 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 85 | -------------------------------------------------------------------------------- /DotnetCore/14. _ViewImports.cshtml Usage and Implementation.md: -------------------------------------------------------------------------------- 1 | # _ViewImports.cshtml Usage and Implementation 2 | 3 | ## Overview 4 | The `_ViewImports.cshtml` file in an ASP.NET Core MVC or Razor Pages application is used to define common directives that apply to multiple Razor views. This helps reduce redundancy and improves maintainability. 5 | 6 | ## Usage 7 | The `_ViewImports.cshtml` file allows you to: 8 | - Import namespaces 9 | - Add tag helpers 10 | - Apply common settings across Razor views 11 | 12 | ## Implementation 13 | ### Creating `_ViewImports.cshtml` 14 | Place the `_ViewImports.cshtml` file in the `Views` or `Pages` folder of your ASP.NET Core application. 15 | 16 | ### Sample Code 17 | ```razor 18 | @using System 19 | @using MyApp.Models 20 | @using MyApp.Helpers 21 | 22 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 23 | @addTagHelper *, MyApp 24 | ``` 25 | 26 | ### Explanation 27 | - `@using` statements import namespaces, so you don't have to include them in every Razor view. 28 | - `@addTagHelper` registers tag helpers globally in all views, eliminating the need to add them individually. 29 | 30 | ### Example Usage in a Razor View 31 | Consider a Razor view (`Index.cshtml`) that uses the imported namespaces and tag helpers: 32 | 33 | ```razor 34 | @model MyApp.Models.User 35 | 36 |

Welcome, @Model.Name!

37 | 38 | ``` 39 | Since `_ViewImports.cshtml` already includes `@using MyApp.Models`, there's no need to explicitly include it in `Index.cshtml`. 40 | 41 | ## Conclusion 42 | Using `_ViewImports.cshtml` enhances code organization by reducing repetition and enforcing consistency across views in an ASP.NET Core application. 43 | 44 | ## Connect with Me 45 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 46 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 47 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 48 | - **Blog**: [Blog](https://www.msdevbuild.com/) 49 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 50 | -------------------------------------------------------------------------------- /DotnetCore/17. Partial View in ASP.NET Core MVC.md: -------------------------------------------------------------------------------- 1 | # Partial View in ASP.NET Core MVC 2 | 3 | ## **What is a Partial View?** 4 | A **Partial View** in ASP.NET Core MVC is a reusable view component that can be included inside other views. It is useful for rendering common UI elements without duplicating code. 5 | 6 | ## **Why Use Partial Views?** 7 | ✅ Avoids code duplication by reusing UI components. 8 | ✅ Improves maintainability and readability of Razor views. 9 | ✅ Enhances performance by enabling AJAX-based partial updates. 10 | ✅ Useful for rendering dynamic sections in a page without reloading the entire page. 11 | 12 | ## **Where to Use Partial Views?** 13 | - **Common UI Elements**: Header, footer, sidebar, navigation menus. 14 | - **Reusable Components**: Lists, cards, notifications. 15 | - **AJAX Requests**: Updating a part of a page dynamically. 16 | - **Breaking Down Large Views**: Makes complex views more manageable. 17 | 18 | ## **How to Create a Partial View?** 19 | 1. **Create a Partial View in `Views/Shared/`** 20 | - Create a file named `_ItemPartial.cshtml` inside `Views/Shared/` 21 | - The underscore `_` indicates it is a partial view 22 | 23 | 2. **Example: `_ItemPartial.cshtml`** 24 | ```html 25 | @model Item 26 | 27 |
28 |

@Model.Name

29 |

@Model.Description

30 |
31 | ``` 32 | 33 | ## **How to Render a Partial View?** 34 | ### **1. In a Razor View** 35 | ```html 36 | @Html.Partial("_ItemPartial", Model) 37 | ``` 38 | OR (async version): 39 | ```html 40 | @await Html.PartialAsync("_ItemPartial", Model) 41 | ``` 42 | 43 | ### **2. Returning PartialView from a Controller (Optionl)** 44 | ```csharp 45 | public IActionResult GetItemPartial() 46 | { 47 | var item = new Item { Name = "Laptop", Description = "A high-performance laptop." }; 48 | return PartialView("_ItemPartial", item); 49 | } 50 | ``` 51 | 52 | ## **Rendering Partial View in Different Views** 53 | - **Inside `Index.cshtml`**: 54 | ```html 55 | @model List 56 | 57 | @foreach (var item in Model) 58 | { 59 | @await Html.PartialAsync("_ItemPartial", item) 60 | } 61 | ``` 62 | 63 | 64 | 65 | ## **Interview Questions & Answers** 66 | ### **1. What is a Partial View?** 67 | **Answer:** A Partial View is a reusable Razor view that can be embedded in other views to avoid duplicate code and improve maintainability. 68 | 69 | ### **2. What is the difference between `View()` and `PartialView()`?** 70 | **Answer:** `View()` returns a full page with a layout, whereas `PartialView()` only returns the partial view's HTML without a layout. 71 | 72 | ### **3. Where should we place a Partial View?** 73 | **Answer:** Partial Views are typically placed in the `Views/Shared/` folder so they can be reused across multiple controllers and views. 74 | 75 | ### **4. How can you render a Partial View inside a View?** 76 | **Answer:** Using `@Html.Partial("_PartialViewName")` or `@await Html.PartialAsync("_PartialViewName")`. 77 | 78 | --- 79 | ## Connect with Me 80 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 81 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 82 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 83 | - **Blog**: [Blog](https://www.msdevbuild.com/) 84 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 85 | -------------------------------------------------------------------------------- /DotnetCore/WebAPI/topic.md: -------------------------------------------------------------------------------- 1 | For a Web API class in .NET Core, you should cover the following topics: 2 | 3 | ### **1. Introduction to Web API** 4 | - What is a Web API? 5 | - Differences between Web API and MVC 6 | - Why use Web API? 7 | - RESTful principles 8 | 9 | ### **2. Setting Up a Web API Project** 10 | - Installing .NET Core SDK 11 | - Creating a new Web API project using CLI or Visual Studio 12 | - Understanding project structure (Controllers, Models, Startup, Program.cs) 13 | 14 | ### **3. Creating API Endpoints** 15 | - Understanding Controllers and Actions 16 | - HTTP methods (`GET`, `POST`, `PUT`, `DELETE`) 17 | - Routing and Attribute Routing 18 | - Model Binding and Validation 19 | 20 | ### **4. Handling Data with Entity Framework Core** 21 | - Connecting to a database using EF Core 22 | - Creating Models and DbContext 23 | - Performing CRUD operations 24 | - Migrations and Database Seeding 25 | 26 | ### **5. Dependency Injection in Web API** 27 | - What is Dependency Injection (DI)? 28 | - Registering services in `Program.cs` 29 | - Using Repository Pattern with DI 30 | 31 | ### **6. Middleware and Filters** 32 | - Understanding Middleware 33 | - Built-in Middleware (Exception Handling, CORS, Authentication) 34 | - Creating Custom Middleware 35 | - Using Action Filters 36 | 37 | ### **7. Authentication and Authorization** 38 | - JWT (JSON Web Token) Authentication 39 | - Role-Based Authorization 40 | - Securing API endpoints 41 | 42 | ### **8. Consuming Web API** 43 | - Calling Web API from Postman 44 | - Consuming API in C# Console App 45 | - Calling API from Frontend (React/Angular) 46 | 47 | ### **9. API Versioning and Documentation** 48 | - API Versioning strategies 49 | - Generating API documentation using Swagger (OpenAPI) 50 | 51 | ### **10. Exception Handling and Logging** 52 | - Implementing global exception handling 53 | - Logging using Serilog/NLog 54 | - Handling errors gracefully 55 | 56 | ### **11. Advanced Topics (Optional)** 57 | - Asynchronous programming with `async/await` 58 | - Caching with Redis or MemoryCache 59 | - Unit Testing Web API using xUnit and Moq 60 | - Using GraphQL in .NET Core 61 | 62 | 63 | -------------------------------------------------------------------------------- /FOOTER.md: -------------------------------------------------------------------------------- 1 | ### 🔔 Stay Updated with My Latest Projects 2 | 3 | If you enjoy: 4 | - 🧠 AI agents and automation 5 | - 🛠️ Practical tools and utilities 6 | - 📘 Developer tutorials and guides 7 | - 🚀 End-to-end project templates 8 | 9 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 10 | 11 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 12 | 13 | ## ⭐ Start & Follow Me 14 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 15 | 16 | ## Connect with Me 17 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 18 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 19 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 20 | - **Blog**: [Blog](https://www.msdevbuild.com/) 21 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 22 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Flutter/04 Flutter Best Practices Cheat Sheet.md: -------------------------------------------------------------------------------- 1 | # 🏆 Flutter Best Practices Cheat Sheet 2 | 3 | This guide contains **best practices** for writing clean, maintainable, and scalable Flutter applications. 4 | 5 | --- 6 | 7 | ## 📂 1. Project Structure 8 | 9 | --- 10 | 11 | ## 🔗 12. Version Control & CI/CD 12 | 13 | --- 14 | 15 | ## 🌐 Useful Flutter Resources 16 | 17 | Here are the **official and reliable resources** you should always refer to while working with Flutter: 18 | 19 | | Purpose | Description | Link | 20 | |---------|-------------|------| 21 | | **Main Flutter Docs** | Setup, tutorials, codelabs, guides, and FAQs. | [docs.flutter.dev](https://docs.flutter.dev/) | 22 | | **Performance Best Practices** | Optimize build, layout, and rendering performance. | [Performance Best Practices](https://docs.flutter.dev/perf/best-practices) | 23 | | **Architecture Recommendations** | Learn about app structure, repository pattern, and best practices. | [Architecture Recommendations](https://docs.flutter.dev/app-architecture/recommendations) | 24 | | **Adaptive & Responsive Design** | How to design apps for multiple screen sizes and devices. | [Adaptive Design Best Practices](https://docs.flutter.dev/ui/adaptive-responsive/best-practices) | 25 | | **Widget Catalog** | Complete list of Flutter widgets. | [Widget Catalog](https://docs.flutter.dev/ui/widgets) | 26 | | **API Reference** | Full Dart & Flutter SDK API documentation. | [API Reference](https://api.flutter.dev/) | 27 | | **Learn Flutter** | Codelabs, tutorials, and structured learning paths. | [Learn Flutter](https://flutter.dev/learn) | 28 | 29 | --- 30 | 31 | ## 🎯 Conclusion 32 | By following these practices and using the resources above, you ensure: 33 | - ✅ **Maintainable & scalable** code 34 | - ✅ Better **performance & UX** 35 | - ✅ Easier **team collaboration** 36 | 37 | ### 🔔 Stay Updated with My Latest Projects 38 | 39 | If you enjoy: 40 | - 🧠 AI agents and automation 41 | - 🛠️ Practical tools and utilities 42 | - 📘 Developer tutorials and guides 43 | - 🚀 End-to-end project templates 44 | 45 | 👉 Then **[Follow me on GitHub](https://github.com/jssuthahar)** to get notified about new repos, ideas, and updates! 46 | 47 | [![Follow Me](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 48 | 49 | ## ⭐ Start & Follow Me 50 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 51 | 52 | ## Connect with Me 53 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 54 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 55 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 56 | - **Blog**: [Blog](https://www.msdevbuild.com/) 57 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 58 | - [![Follow on GitHub](https://img.shields.io/github/followers/jssuthahar?label=Follow&style=social)](https://github.com/jssuthahar) 59 | 60 | 61 | 62 | a **“Recommended VS Code Shortcuts & Extensions”** section into this same README, so it becomes your **all-in-one Flutter developer handbook**? 63 | -------------------------------------------------------------------------------- /Job/04. HR Interview Question.md: -------------------------------------------------------------------------------- 1 | # 💼 HR Interview Questions & Suggested Answers 2 | 3 | This guide helps you prepare for common HR interview questions based on your internship experience and .NET Full Stack Development background. 4 | 5 | --- 6 | 7 | ## 👤 Tell Me About Yourself 8 | 9 | > I’m Nikhil, a Computer Science graduate and aspiring .NET Full Stack Developer. I’ve recently completed a 6-month remote internship where I worked on real-time projects like an Online Shopping platform and a Billing System using technologies like C#, ASP.NET Core, WPF, SQL Server, and Azure. I enjoy solving real-world problems through code, and I’m eager to contribute and grow in a professional team environment. 10 | 11 | --- 12 | 13 | ## 📝 Common HR Questions and How to Answer 14 | 15 | ### 1. Why should we hire you? 16 | 17 | > I have hands-on experience from my internship building real-time applications. I’m confident with .NET technologies and have strong problem-solving skills. I also work well in teams and communicate effectively. I'm committed to learning and growing within your organization. 18 | 19 | ### 2. What are your strengths? 20 | 21 | > My strengths are quick learning, dedication, and consistent communication. I’m also very organized and take responsibility for my tasks. 22 | 23 | ### 3. What are your weaknesses? 24 | 25 | > Initially, I struggled with time estimation for tasks, but now I break down features into smaller tasks and plan more accurately. 26 | 27 | ### 4. Are you willing to relocate or work in shifts? 28 | 29 | > Yes, I am flexible and open to relocation and different working hours based on the company’s needs. 30 | 31 | ### 5. What are your salary expectations? 32 | 33 | > As a fresher with internship experience, I’m looking for an opportunity to learn and grow. I’m open to the standard package offered for entry-level roles in your company. 34 | 35 | ### 6. How do you handle stress or pressure? 36 | 37 | > I stay calm and focus on prioritizing tasks. I break problems into smaller steps and tackle them one at a time. My internship has taught me how to deal with tight deadlines. 38 | 39 | ### 7. Where do you see yourself in 5 years? 40 | 41 | > I see myself as a senior developer or team lead, contributing to large-scale applications and helping others learn, while continuing to grow my own skills. 42 | 43 | ### 8. Tell me about a time you faced a challenge and how you handled it. 44 | 45 | > During my internship, I faced a challenge with integrating a payment gateway. I researched documentation, asked my mentor for guidance, and successfully implemented it. It taught me how to stay persistent and learn independently. 46 | 47 | ### 9. Are you applying to other companies? 48 | 49 | > Yes, I am exploring opportunities in companies that align with my skills and growth goals. Your company is a top preference because of its innovation and team culture. 50 | 51 | ### 10. Do you have any questions for us? 52 | 53 | > Yes. What does the onboarding process look like? Are there opportunities for learning or certifications while working? 54 | 55 | --- 56 | 57 | ## 🌟 Additional Tips 58 | 59 | * Be confident, but not overconfident 60 | * Always thank the HR person for the opportunity 61 | * Keep a smile and stay professional 62 | * Be honest if you don’t know something 63 | 64 | ## Connect with Me 65 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 66 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 67 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 68 | - **Blog**: [Blog](https://www.msdevbuild.com/) 69 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 70 | -------------------------------------------------------------------------------- /Job/07 Software Company Etiquette.md: -------------------------------------------------------------------------------- 1 | # 🏢 Software Company Etiquette & Growth Tips 2 | 3 | This README provides a professional guide on workplace behavior, what to avoid, and how to grow and earn better hikes in a software company. 4 | 5 | --- 6 | 7 | ## ✅ DOs in a Software Company 8 | 9 | * **Be punctual** and respect meeting timings 10 | * **Write clean and readable code** 11 | * **Document your work** – README files, API docs, comments 12 | * **Keep communication professional** – emails, Teams, Slack 13 | * **Ask questions** when unsure, but try to explore first 14 | * **Respect deadlines** and plan your tasks in sprints or modules 15 | * **Help teammates** when possible 16 | * **Update your progress regularly** in task tracking tools (Jira, Azure Boards) 17 | * **Follow the version control process** – pull requests, code reviews, branching model 18 | * **Follow company culture and policies** strictly 19 | 20 | --- 21 | 22 | ## 🚫 DON'Ts in a Software Company 23 | 24 | * ❌ Don’t gossip or speak negatively about colleagues or management 25 | * ❌ Don’t share your **salary details** or compare with others 26 | * ❌ Don’t push **unverified code** to production without testing 27 | * ❌ Don’t share **source code in public GitHub repos** 28 | * ❌ Don’t misuse company devices or software for personal use 29 | * ❌ Don’t use harsh or informal language in chat/email 30 | * ❌ Don’t miss stand-ups or client meetings without prior notice 31 | * ❌ Don’t ignore documentation and code comments 32 | * ❌ Don’t copy-paste code from StackOverflow blindly without understanding 33 | * ❌ Don’t take credit for others' work 34 | 35 | --- 36 | 37 | ## 💸 How to Get Better Hike in Software Companies 38 | 39 | ### 🔍 1. Consistent Performance 40 | 41 | > Deliver quality work on time, solve problems, reduce bugs, and show ownership. 42 | 43 | ### 📊 2. Track and Showcase Impact 44 | 45 | > Maintain a list of contributions: features built, bugs fixed, modules optimized. 46 | 47 | ### 📈 3. Upskill Regularly 48 | 49 | > Learn in-demand tools or frameworks used by your team or industry. 50 | 51 | ### 📢 4. Ask for Feedback 52 | 53 | > Take feedback from manager or leads, and work on improvement areas. 54 | 55 | ### 🤝 5. Build Good Relations 56 | 57 | > Be helpful, professional, and part of the solution, not the problem. 58 | 59 | ### 🧠 6. Understand Business 60 | 61 | > Know how your work affects the client and product. Show business impact. 62 | 63 | ### 🕰 7. Stay Longer in a Project 64 | 65 | > Long-term contributions often result in better appraisals and trust. 66 | 67 | ### 💬 8. Communicate Your Achievements 68 | 69 | > During appraisal cycles, submit a self-review with data, impact, and your growth areas. 70 | 71 | --- 72 | 73 | ## ⚠️ Bonus Tips 74 | 75 | * Don’t change companies frequently unless it’s strategic 76 | * Don’t lie about experience, it will backfire during background check 77 | * Be ready to mentor juniors – it shows leadership 78 | * Be honest and say "I’ll check and get back" if you don’t know something 79 | 80 | ## Connect with Me 81 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 82 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 83 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 84 | - **Blog**: [Blog](https://www.msdevbuild.com/) 85 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 86 | -------------------------------------------------------------------------------- /Job/readme.md: -------------------------------------------------------------------------------- 1 | # 💼 Job Preparation Portal 2 | 3 | Welcome! This is your personal index to all job-related preparation materials, including project Q\&A, HR questions, onsite job search guide, and workplace tips. 4 | 5 | --- 6 | 7 | ## 📚 Index – Linked READMEs 8 | 9 | | # | Topic | Link | 10 | | --- | -------------------------------------------- | ------------------------------------------------------------- | 11 | | 1️⃣ | Prepare Your Job Profile Materials | [📄 View File](./01%20Job%20Portal.md) | 12 | | 2️⃣ | Job Application Messages | [📄 View File](./02%20Job%20Application%20Messages.md) | 13 | | 3️⃣ | Tell Me About Yourself & Project Explanation | [📄 View File](./03.%20About%20Yourself%20&%20Project.md) | 14 | | 4️⃣ | HR Interview Questions | [📄 View File](./04.%20HR%20Interview%20Question.md) | 15 | | 5️⃣ | Project & Team-Related | [📄 View File](./05%20Project%20&%20Team.md) | 16 | | 6️⃣ | Onsite Job Search Guide | [📄 View File](./06%20%20Onsite%20Job%20Search.md) | 17 | | 7️⃣ | Software Company DOs & DON'Ts + Hike Tips | [📄 View File](./07%20Software%20Company%20Etiquette.md) | 18 | 19 | --- 20 | 21 | ## 🛠 Usage 22 | 23 | * Click on any link above to open the specific README page. 24 | 25 | -------------------------------------------------------------------------------- /OOPS/Readme.md: -------------------------------------------------------------------------------- 1 | # OOPS Concepts in C# - Demo and Explanation 2 | 3 | This repository contains a detailed article and demo content on Object-Oriented Programming (OOP) concepts in C#. It covers fundamental principles along with practical examples to help developers understand and implement OOP in real-world applications. 4 | 5 | ## About This Repository 6 | This repo provides: 7 | - A detailed explanation of OOPS concepts in C# 8 | - Code examples demonstrating each concept 9 | - Best practices and real-world usage 10 | 11 | ## Topics Covered 12 | ### 1. Introduction to OOP 13 | - What is Object-Oriented Programming? 14 | - Benefits of OOP 15 | 16 | ### 2. Core OOP Principles 17 | - **Encapsulation**: Data hiding and access modifiers 18 | - **Abstraction**: Simplifying complex systems 19 | - **Inheritance**: Code reusability and hierarchy 20 | - **Polymorphism**: Method overloading and overriding 21 | 22 | ### 3. Advanced OOP Concepts 23 | - Interfaces and Abstract Classes 24 | - Dependency Injection 25 | - SOLID Principles 26 | 27 | ### 4. C# Implementation 28 | - Code examples for each OOP principle 29 | - Explanation of real-world use cases 30 | 31 | ## How to Use This Repository 32 | 1. Clone the repo: 33 | ```sh 34 | git clone https://github.com/your-repo/OOPS-Demo-CSharp.git 35 | ``` 36 | 2. Open the solution in Visual Studio. 37 | 3. Run and explore the provided examples. 38 | 39 | ## Contributing 40 | Contributions are welcome! Feel free to submit pull requests for improvements, additional examples, or corrections. 41 | 42 | ## License 43 | This project is licensed under the MIT License. 44 | -------------------------------------------------------------------------------- /Programming/Day1.md: -------------------------------------------------------------------------------- 1 | 2 | # C# Post-Increment and Pre-Increment Evaluation 3 | 4 | ## Problem Statement 5 | 6 | Given the following C# code snippet: 7 | 8 | ```csharp 9 | using System; 10 | 11 | class Program 12 | { 13 | static void Main() 14 | { 15 | int a = 5; 16 | Console.WriteLine(a++ + ++a + a++); 17 | } 18 | } 19 | ``` 20 | 21 | You need to determine the output of the `Console.WriteLine()` statement and explain how the expression is evaluated step by step. 22 | 23 | --- 24 | 25 | ## Understanding Pre-Increment (`++a`) and Post-Increment (`a++`) 26 | - **Post-increment (`a++`)**: Returns the current value of `a`, then increments `a` by 1. 27 | - **Pre-increment (`++a`)**: Increments `a` first, then returns the new value. 28 | 29 | --- 30 | 31 | ## Step-by-Step Execution 32 | 33 | ### **Step 1: Initialize `a = 5`** 34 | 35 | The given expression: 36 | 37 | ```csharp 38 | a++ + ++a + a++ 39 | ``` 40 | 41 | is evaluated from **left to right**. 42 | 43 | ### **Step 2: Evaluate `a++` (Post-increment)** 44 | - Returns **5**, but `a` is incremented to **6**. 45 | 46 | ### **Step 3: Evaluate `++a` (Pre-increment)** 47 | - Increments `a` to **7** and returns **7**. 48 | 49 | ### **Step 4: Evaluate `a++` (Post-increment)** 50 | - Returns **7**, but `a` is incremented to **8**. 51 | 52 | --- 53 | 54 | ## Final Calculation 55 | ``` 56 | 5 + 7 + 7 = 19 57 | ``` 58 | Thus, the output is: 59 | 60 | ```csharp 61 | 19 62 | ``` 63 | 64 | --- 65 | 66 | ## Final Value of `a` After Execution 67 | - Initially: `a = 5` 68 | - After first `a++`: `a = 6` 69 | - After `++a`: `a = 7` 70 | - After second `a++`: `a = 8` 71 | 72 | ### **Summary Table** 73 | 74 | | Expression | Value Used | `a` After Execution | 75 | |------------|------------|----------------------| 76 | | `a++` | 5 | 6 | 77 | | `++a` | 7 | 7 | 78 | | `a++` | 7 | 8 | 79 | 80 | ### **Final Console Output:** 81 | ```csharp 82 | 19 83 | ``` 84 | 85 | --- 86 | 87 | ## Alternative Code for Testing 88 | To verify this logic, you can run the following C# program: 89 | 90 | ```csharp 91 | using System; 92 | 93 | class Program 94 | { 95 | static void Main() 96 | { 97 | int a = 5; 98 | Console.WriteLine(a++ + ++a + a++); 99 | } 100 | } 101 | ``` 102 | 103 | --- 104 | 105 | ## Key Takeaways 106 | - **Post-Increment (`a++`)**: Uses the current value, then increments `a`. 107 | - **Pre-Increment (`++a`)**: Increments `a` first, then uses the new value. 108 | - **Operator Precedence Matters**: Since `+` is left-associative, evaluation happens from left to right. 109 | 110 | This concept is commonly tested in **coding interviews** to check logical understanding of **operator precedence** and **side effects of increment operators**. 111 | 112 | Hope this helps! 🚀 113 | 114 | --- 115 | 116 | ## Connect with Me 117 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 118 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 119 | -------------------------------------------------------------------------------- /Programming/Readme.md: -------------------------------------------------------------------------------- 1 | # Logical and Challenge Programming - Demo and Explanation 2 | 3 | This repository contains a collection of logical programming problems and challenge-based programming exercises. It is designed to enhance problem-solving skills and logical thinking using C#. 4 | 5 | ## About This Repository 6 | This repo provides: 7 | - A set of logical programming challenges 8 | - Code examples demonstrating efficient problem-solving techniques 9 | - Best practices for writing clean and optimized code 10 | 11 | ## Topics Covered 12 | ### 1. Introduction to Logical Programming 13 | - Importance of Logical Thinking 14 | - Common Approaches to Problem-Solving 15 | 16 | ### 2. Basic Challenges 17 | - Number Manipulation (Prime, Factorial, Fibonacci) 18 | - String Manipulation (Palindrome, Anagram, Pattern Matching) 19 | - Array and List Operations 20 | 21 | ### 3. Intermediate Challenges 22 | - Searching and Sorting Algorithms 23 | - Recursion and Dynamic Programming 24 | - Bitwise Operations 25 | 26 | ### 4. Advanced Challenges 27 | - Graph and Tree Algorithms 28 | - Backtracking Problems 29 | - Algorithm Optimization Techniques 30 | 31 | ### 5. Implementation and Real-World Use Cases 32 | - Code examples solving complex problems 33 | - Real-world applications of logical programming 34 | 35 | ## How to Use This Repository 36 | 1. Clone the repo: 37 | ```sh 38 | git clone https://github.com/your-repo/Logical-Challenge-Programming.git 39 | ``` 40 | 2. Open the solution in Visual Studio. 41 | 3. Explore the provided challenges and try solving them. 42 | 43 | ## Contributing 44 | Contributions are welcome! Feel free to submit pull requests for new challenges, optimizations, or corrections. 45 | 46 | -------------------------------------------------------------------------------- /Programming/ReverseString.md: -------------------------------------------------------------------------------- 1 | # Reverse a String Without Using Built-in Functions 2 | 3 | ## Introduction 4 | This repository provides a simple implementation of reversing a string without using built-in functions such as `Reverse()`, `reversed()`, or string slicing. This approach demonstrates a manual way to reverse a string using loops. 5 | 6 | ## Approach 7 | To reverse a string manually, we iterate through the characters and construct the reversed string. This can be done using a loop or recursion. 8 | 9 | ### Method 1: Using a Loop 10 | 1. Initialize an empty string to store the reversed result. 11 | 2. Iterate through the original string from the last character to the first. 12 | 3. Append each character to the new string. 13 | 4. Return the reversed string. 14 | 15 | #### Example Code (C#): 16 | ```csharp 17 | using System; 18 | 19 | class Program 20 | { 21 | static string ReverseString(string s) 22 | { 23 | string reversedStr = ""; 24 | foreach (char c in s) 25 | { 26 | reversedStr = c + reversedStr; // Prepend each character 27 | } 28 | return reversedStr; 29 | } 30 | 31 | static void Main() 32 | { 33 | string original = "msdebuild"; 34 | Console.WriteLine("Reversed: " + ReverseString(original)); // Output: "olleh" 35 | } 36 | } 37 | ``` 38 | 39 | ### Method 2: Using Recursion 40 | 1. Base case: If the string length is 0 or 1, return the string itself. 41 | 2. Recursive case: Take the first character, place it at the end, and recursively reverse the remaining string. 42 | 43 | #### Example Code (C#): 44 | ```csharp 45 | using System; 46 | 47 | class Program 48 | { 49 | static string ReverseStringRecursive(string s) 50 | { 51 | if (s.Length <= 1) 52 | return s; 53 | return ReverseStringRecursive(s.Substring(1)) + s[0]; 54 | } 55 | 56 | static void Main() 57 | { 58 | string original = "msdebuild"; 59 | Console.WriteLine("Reversed: " + ReverseStringRecursive(original)); // Output: "olleh" 60 | } 61 | } 62 | ``` 63 | 64 | ## Complexity Analysis 65 | - **Loop method:** \(O(n)\) time complexity since we traverse the string once. 66 | - **Recursive method:** \(O(n)\) time complexity, but has an additional space overhead due to recursive calls. 67 | 68 | ## Usage 69 | 1. Clone this repository. 70 | 2. Run the script with C# to test the reversing functions. 71 | 3. Modify the implementation to suit your needs. 72 | 73 | ## Conclusion 74 | This demonstrates how to reverse a string manually using fundamental programming techniques. Understanding this helps reinforce concepts of string manipulation, recursion, and iteration. 75 | 76 | ## Connect with Me 77 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 78 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 79 | 80 | -------------------------------------------------------------------------------- /Python/Basic /Intro/01 Python for Absolute Beginners.md: -------------------------------------------------------------------------------- 1 | 2 | # 🐍 Python for Absolute Beginners 3 | 4 | This guide is for students who are completely new to programming. 5 | It explains **what Python is**, **why we need it**, how it is **different from C# and Java**, and **why AI uses Python**. 6 | 7 | --- 8 | 9 | ## 🖥 What is Python? 10 | 11 | - **Python** is a **programming language**. 12 | - A programming language is like **a set of instructions** we give to a computer to do something. 13 | 14 | 👉 Example: 15 | ```python 16 | print("Hello World") 17 | ```` 18 | 19 | This tells the computer to show **Hello World** on the screen. 20 | 21 | Python is like **English for computers** → easy to read, easy to write. 22 | 23 | --- 24 | 25 | ## 🤔 Why Do We Need Python? 26 | 27 | We use Python because: 28 | 29 | * ✅ **Simple** → Easy to learn, even for beginners. 30 | * ✅ **Powerful** → Used for websites, apps, data science, robots, and AI. 31 | * ✅ **Free** → Anyone can download and use it. 32 | * ✅ **Huge Support** → Millions of developers worldwide. 33 | 34 | --- 35 | 36 | ## ⚖️ Python vs C# vs Java 37 | 38 | | Feature | Python 🐍 | C# ⚡ (C-Sharp) | Java ☕ | 39 | | --------------- | ------------------------------ | --------------------------- | --------------------------- | 40 | | **Learning** | Very easy, looks like English | Medium, needs more setup | Medium-hard, strict rules | 41 | | **Code Length** | Short and simple | Longer | Longer | 42 | | **Speed** | Slower than C#/Java | Very fast (compiled) | Very fast (compiled) | 43 | | **Where Used** | AI, Data Science, Web, Scripts | Windows apps, Unity games | Android apps, Banking apps | 44 | | **Community** | Huge, global support | Big but smaller than Python | Very big, old language | 45 | | **Best For** | Beginners, AI, automation | Microsoft ecosystem, games | Mobile apps, enterprise use | 46 | 47 | 👉 In short: 48 | 49 | * **Python** = Easy and flexible, best for learning and AI. 50 | * **C#** = Great for Windows apps and games. 51 | * **Java** = Great for Android apps and large enterprise systems. 52 | 53 | --- 54 | 55 | ## 🌟 Benefits of Python 56 | 57 | 1. **Easy to Learn** → Start coding in 1 day. 58 | 2. **Write Less, Do More** → Small code can do big things. 59 | 3. **Cross-Platform** → Works on Windows, Mac, and Linux. 60 | 4. **Many Libraries** → Ready-made tools for AI, websites, and data. 61 | 5. **Great for Beginners** → Simple, readable, beginner-friendly. 62 | 63 | --- 64 | 65 | ## 🤖 Why AI Uses Python (and Not C# or Java) 66 | 67 | 1. **Simple Syntax** 68 | 69 | * AI is already complex. 70 | * Python’s easy style helps focus on solving problems, not fighting with code. 71 | 72 | 2. **Powerful Libraries** 73 | 74 | * AI needs special tools like **TensorFlow, PyTorch, NumPy, Pandas**. 75 | * Python has them, C# and Java don’t have strong alternatives. 76 | 77 | 3. **Research and Education** 78 | 79 | * Universities and researchers mostly use Python. 80 | * Most AI tutorials and examples are in Python. 81 | 82 | 4. **Community** 83 | 84 | * Millions of AI developers use Python → easy to get help. 85 | 86 | --- 87 | 88 | ## ✅ Summary for Students 89 | 90 | * **Python** = A simple and powerful programming language. 91 | * It is easier than **C# and Java** for beginners. 92 | * **Benefits**: Easy, powerful, cross-platform, huge support. 93 | * **AI loves Python** because of its simplicity and strong libraries. 94 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MSDEVBUILD Learning Repository 2 | 3 | Welcome to the **MSDEVBUILD Learning Repository**! This repository contains articles and code samples referenced in the [MSDEVBUILD](https://www.msdevbuild.com/) blog, created by **Suthahar Jegatheesan**. 4 | 5 | ## ⭐ Start & Follow Me 6 | If you find this repository useful, don't forget to **Star** ⭐ the repo and **Follow** me for more updates! 7 | 8 | ## About MSDEVBUILD 9 | [MSDEVBUILD](https://www.msdevbuild.com/) is a blog dedicated to sharing knowledge on Microsoft technologies, software development, cloud computing, mobile applications, AI, and more. The blog features in-depth technical articles, tutorials, and best practices for developers. 10 | 11 | ## Contents 12 | This repository includes: 13 | - Articles covering various development topics 14 | - Code samples demonstrating real-world implementations 15 | - Resources for developers to enhance their skills in Microsoft technologies 16 | 17 | ## How to Use This Repository 18 | 1. Browse the articles and code samples. 19 | 2. Clone the repository for local access: 20 | ```sh 21 | git clone https://github.com/jssuthahar/MSDEVBUILD-Doc.git 22 | ``` 23 | 3. Explore the code and refer to the related blog posts for detailed explanations. 24 | 25 | ## YouTube Channels 26 | Follow our YouTube channels for video tutorials and development insights: 27 | - [MSDEVBUILD Tamil](https://www.youtube.com/@MSDEVBUILDTamil) 28 | - [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 29 | 30 | ## Contributions 31 | Contributions are welcome! If you have improvements or additional resources to share, feel free to submit a pull request. 32 | 33 | ## License 34 | This repository is open-source and available for learning purposes. Please provide proper attribution when using the content. 35 | 36 | --- 37 | Stay updated with the latest blog posts at [MSDEVBUILD](https://www.msdevbuild.com/)! 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /SQL/04 SQL Server `INSERT` Statement - Practical Guide.md: -------------------------------------------------------------------------------- 1 | # 📥 SQL Server `INSERT` Statement - Practical Guide 2 | 3 | ## 🧠 Why Learn the `INSERT` Statement? 4 | The `INSERT` statement allows you to add data into tables in SQL Server. It's one of the most essential commands for working with databases. 5 | 6 | Learning how to use `INSERT` effectively helps you: 7 | - Populate your tables with real-world data 8 | - Test business logic and queries 9 | - Understand data types, defaults, and constraints 10 | 11 | --- 12 | 13 | ## 🏗️ Basic Syntax 14 | ```sql 15 | INSERT INTO TableName (Column1, Column2, ...) 16 | VALUES (Value1, Value2, ...) 17 | ``` 18 | 19 | --- 20 | 21 | ## 🧰 What More Can You Do With `INSERT`? 22 | 23 | ### 1️⃣ Insert with Specific Columns 24 | ```sql 25 | INSERT INTO EMP (ENO, ENAME) VALUES (1, 'VIJAY') 26 | ``` 27 | ✅ Insert only into selected columns. 28 | 29 | --- 30 | 31 | ### 2️⃣ Insert Multiple Rows at Once 32 | ```sql 33 | INSERT INTO EMP (ENO, ENAME) 34 | VALUES (2, 'MANI'), (3, 'VIGNESH'), (4, 'ARUN') 35 | ``` 36 | ✅ Saves time with fewer queries. 37 | 38 | --- 39 | 40 | ### 3️⃣ Insert Unicode Strings 41 | ```sql 42 | INSERT INTO EMP (ENO, ENAME) VALUES (5, N'卡尔蒂克扬') 43 | ``` 44 | ✅ Use `N` before the string for multilingual content. 45 | 46 | --- 47 | 48 | ### 4️⃣ Insert with `NULL` Values 49 | ```sql 50 | INSERT INTO EMP (ENO, ENAME, EMPLOYEE) VALUES (6, 'RAJ', NULL) 51 | ``` 52 | ✅ Understand optional and missing data. 53 | 54 | --- 55 | 56 | ### 5️⃣ Insert Using `DEFAULT` Values 57 | ```sql 58 | CREATE TABLE Demo ( 59 | ID INT, 60 | Name VARCHAR(50), 61 | CreatedAt DATETIME DEFAULT GETDATE() 62 | ) 63 | 64 | INSERT INTO Demo (ID, Name) VALUES (1, 'Niki') 65 | ``` 66 | ✅ Great for setting automatic values like timestamps. 67 | 68 | --- 69 | 70 | ### 6️⃣ Insert from Another Table 71 | ```sql 72 | INSERT INTO EMP_BACKUP (ENO, ENAME) 73 | SELECT ENO, ENAME FROM EMP WHERE EMPLOYEE = 1 74 | ``` 75 | ✅ Copy filtered data from one table to another. 76 | 77 | --- 78 | 79 | ### 7️⃣ Insert with Type Conversion 80 | ```sql 81 | INSERT INTO EMP (ENO, ENAME, EMPLOYEE) 82 | VALUES (CAST('7' AS INT), 'SUDHA', CAST('1' AS BIT)) 83 | ``` 84 | ✅ Use `CAST()` or `CONVERT()` when types don't match. 85 | 86 | --- 87 | 88 | ### 8️⃣ Insert with Expressions 89 | ```sql 90 | INSERT INTO EMP (ENO, ENAME) 91 | VALUES (8, 'EMP_' + CAST(8 AS VARCHAR)) 92 | ``` 93 | ✅ Combine strings and values for custom formats. 94 | 95 | --- 96 | 97 | ### 9️⃣ Insert with Variables 98 | ```sql 99 | DECLARE @id INT = 9 100 | DECLARE @name NVARCHAR(50) = N'பிரியா' 101 | 102 | INSERT INTO EMP (ENO, ENAME) VALUES (@id, @name) 103 | ``` 104 | ✅ Helpful in dynamic SQL or stored procedures. 105 | 106 | --- 107 | 108 | ## ⚠️ Common Errors to Watch Out For 109 | - ❌ Column count mismatch 110 | - ❌ Data type mismatch 111 | - ❌ NOT NULL constraint violation 112 | - ❌ Unicode string without `N` prefix 113 | 114 | --- 115 | 116 | ## 🎯 Student Challenges 117 | - Insert 5 employees with different data types 118 | - Insert names in multiple languages (Tamil, Chinese, etc.) 119 | - Use `GETDATE()` in a `DEFAULT` column 120 | - Copy data from one table to another with `INSERT INTO ... SELECT` 121 | - Insert using `CAST`, `CONVERT`, and variables 122 | 123 | ## Connect with Me 124 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 125 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 126 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 127 | - **Blog**: [Blog](https://www.msdevbuild.com/) 128 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 129 | 130 | -------------------------------------------------------------------------------- /SQL/10 SQL Server Temporary Tables.md: -------------------------------------------------------------------------------- 1 | # SQL Server Temporary Tables 2 | 3 | This document provides a clear overview of the different types of temporary tables available in SQL Server, including their syntax, use cases, and scope. 4 | 5 | --- 6 | 7 | ## Types of Temporary Tables in SQL Server 8 | 9 | 1. **Local Temporary Table** 10 | 2. **Global Temporary Table** 11 | 3. **Table Variable** 12 | 4. **Temporary Table Without `#` (using `DECLARE @TableName TABLE`)** 13 | 14 | --- 15 | 16 | ### 1. Local Temporary Table 17 | 18 | - **Syntax**: 19 | ```sql 20 | CREATE TABLE #LocalTempTable ( 21 | ID INT, 22 | Name VARCHAR(100) 23 | ); 24 | ```` 25 | 26 | * **Scope**: 27 | 28 | * Available only to the session that created it. 29 | * Automatically dropped when the session is closed. 30 | 31 | * **Use Case**: 32 | 33 | * Used in stored procedures or complex queries to store intermediate results. 34 | 35 | --- 36 | 37 | ### 2. Global Temporary Table 38 | 39 | * **Syntax**: 40 | 41 | ```sql 42 | CREATE TABLE ##GlobalTempTable ( 43 | ID INT, 44 | Description VARCHAR(100) 45 | ); 46 | ``` 47 | 48 | * **Scope**: 49 | 50 | * Visible to all sessions. 51 | * Dropped automatically when the last session referencing it is closed. 52 | 53 | * **Use Case**: 54 | 55 | * Shared temporary storage across multiple sessions. 56 | 57 | --- 58 | 59 | ### 3. Table Variable (Without `#`) 60 | 61 | * **Syntax**: 62 | 63 | ```sql 64 | DECLARE @TableVariable TABLE ( 65 | ID INT, 66 | Value VARCHAR(100) 67 | ); 68 | ``` 69 | 70 | * **Scope**: 71 | 72 | * Available only within the batch, stored procedure, or function where it is declared. 73 | 74 | * **Use Case**: 75 | 76 | * Useful for small sets of data, quick processing, and where indexing is not crucial. 77 | 78 | * **Pros**: 79 | 80 | * Memory efficient for small datasets. 81 | * No need to explicitly drop the table. 82 | 83 | --- 84 | 85 | 86 | ## Summary Table 87 | 88 | | Type | Syntax Example | Scope | Auto Drop | Indexing | 89 | | ------------------- | -------------------------- | --------------- | --------- | -------- | 90 | | Local Temp Table | `#TableName` | Session | Yes | Yes | 91 | | Global Temp Table | `##TableName` | All Sessions | Yes | Yes | 92 | | Table Variable | `DECLARE @TableName TABLE` | Batch/Procedure | Yes | Limited | 93 | 94 | --- 95 | 96 | ## Notes 97 | 98 | * Use **local temp tables** for intermediate complex results within one session. 99 | * Use **global temp tables** cautiously in multi-user environments. 100 | * Use **table variables** for small datasets with limited logic. 101 | 102 | 103 | ## Connect with Me 104 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 105 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 106 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 107 | - **Blog**: [Blog](https://www.msdevbuild.com/) 108 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 109 | -------------------------------------------------------------------------------- /SQL/15. SQL Constraints - README.md: -------------------------------------------------------------------------------- 1 | 2 | # SQL Constraints - README 3 | 4 | This document covers two essential SQL constraints: `DEFAULT` and `CHECK`. These constraints help maintain data quality and consistency in relational databases. 5 | 6 | --- 7 | 8 | ## ✅ DEFAULT Constraint 9 | 10 | The `DEFAULT` constraint assigns a predefined value to a column if no value is specified during an insert operation. 11 | 12 | ### 📌 Syntax 13 | 14 | ```sql 15 | CREATE TABLE Employees ( 16 | Id INT, 17 | Name VARCHAR(100), 18 | IsActive BIT DEFAULT 1 19 | ); 20 | ```` 21 | 22 | ### 📌 Behavior 23 | 24 | * If `IsActive` is not included in the `INSERT`, it automatically gets the value `1`. 25 | 26 | ### 📌 Example Insert 27 | 28 | ```sql 29 | INSERT INTO Employees (Id, Name) VALUES (1, 'Alice'); 30 | -- IsActive is automatically set to 1 31 | ``` 32 | 33 | --- 34 | 35 | ## ✅ CHECK Constraint 36 | 37 | The `CHECK` constraint enforces a condition that values in a column must satisfy. 38 | 39 | ### 📌 Syntax 40 | 41 | ```sql 42 | CREATE TABLE Products ( 43 | Price DECIMAL(10, 2) CHECK (Price >= 0), 44 | Category VARCHAR(50) CHECK (Category IN ('Grocery', 'Electronics', 'Clothing')) 45 | ); 46 | ``` 47 | 48 | ### 📌 Behavior 49 | 50 | * Price must be 0 or greater. 51 | * Category must be one of the listed options. 52 | 53 | ### 📌 Example Insert 54 | 55 | ```sql 56 | INSERT INTO Products (Price, Category) VALUES (100.00, 'Grocery'); -- ✅ Valid 57 | INSERT INTO Products (Price, Category) VALUES (-5.00, 'Toys'); -- ❌ Rejected 58 | ``` 59 | 60 | --- 61 | 62 | ## ✅ Combined Usage 63 | 64 | You can use `DEFAULT` and `CHECK` together for better data control. 65 | 66 | ```sql 67 | CREATE TABLE Users ( 68 | Username VARCHAR(100), 69 | Age INT DEFAULT 18 CHECK (Age >= 13), 70 | Status VARCHAR(10) DEFAULT 'Active' CHECK (Status IN ('Active', 'Inactive', 'Suspended')) 71 | ); 72 | ``` 73 | 74 | * Age defaults to 18, but must be ≥ 13. 75 | * Status defaults to 'Active', but must be a valid status. 76 | 77 | --- 78 | 79 | ## 💡 Notes 80 | 81 | * These constraints improve **data reliability**. 82 | * Supported by most RDBMS including MySQL, PostgreSQL, SQL Server, and Oracle. 83 | * Always test insert operations to verify constraint enforcement. 84 | 85 | --- 86 | ## Connect with Me 87 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 88 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 89 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 90 | - **Blog**: [Blog](https://www.msdevbuild.com/) 91 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 92 | -------------------------------------------------------------------------------- /SQL/20. GROUP BY, WHERE, and HAVING.md: -------------------------------------------------------------------------------- 1 | 2 | # SQL Interview Notes: GROUP BY, WHERE, and HAVING 3 | 4 | Welcome to the SQL Interview Preparation Notes repository! 5 | This repository is designed to help students understand and prepare for commonly asked interview questions related to `GROUP BY`, `WHERE`, and `HAVING` clauses in SQL. 6 | 7 | --- 8 | 9 | ## 📚 Topics Covered 10 | 11 | - ✅ Difference between `WHERE` and `HAVING` 12 | - ✅ How to use `GROUP BY` effectively 13 | - ✅ Filtering data before and after aggregation 14 | - ✅ Interview-style questions and answers 15 | 16 | --- 17 | 18 | ## 📌 Basic Concepts 19 | 20 | ### 🔹 WHERE Clause 21 | - Used to filter rows **before** any groupings are made. 22 | ```sql 23 | SELECT * FROM Employees WHERE Department = 'Sales'; 24 | ```` 25 | 26 | ### 🔹 GROUP BY Clause 27 | 28 | * Used to group rows that have the same values in specified columns. 29 | 30 | ```sql 31 | SELECT Department, COUNT(*) FROM Employees GROUP BY Department; 32 | ``` 33 | 34 | ### 🔹 HAVING Clause 35 | 36 | * Used to filter groups **after** aggregation. 37 | 38 | ```sql 39 | SELECT Department, COUNT(*) 40 | FROM Employees 41 | GROUP BY Department 42 | HAVING COUNT(*) > 5; 43 | ``` 44 | 45 | --- 46 | 47 | ## 🧠 Interview Questions & Answers 48 | 49 | ### Q1: What is the difference between `WHERE` and `HAVING`? 50 | 51 | **Answer:** 52 | 53 | * `WHERE` filters rows **before** grouping. 54 | * `HAVING` filters groups **after** aggregation. 55 | * `WHERE` cannot be used with aggregate functions like `COUNT()`, `SUM()`, etc., but `HAVING` can. 56 | 57 | --- 58 | 59 | ### Q2: Can you use `HAVING` without `GROUP BY`? 60 | 61 | **Answer:** 62 | Yes, you can use `HAVING` without `GROUP BY` if you're filtering on aggregate functions: 63 | 64 | ```sql 65 | SELECT COUNT(*) FROM Employees HAVING COUNT(*) > 100; 66 | ``` 67 | 68 | --- 69 | 70 | ### Q3: Write a query to find departments having more than 10 employees. 71 | 72 | ```sql 73 | SELECT Department, COUNT(*) AS TotalEmployees 74 | FROM Employees 75 | GROUP BY Department 76 | HAVING COUNT(*) > 10; 77 | ``` 78 | 79 | --- 80 | 81 | ### Q4: What happens if you use both `WHERE` and `HAVING`? 82 | 83 | **Answer:** 84 | The `WHERE` clause filters data **before** it’s grouped. 85 | The `HAVING` clause filters the grouped results. 86 | Example: 87 | 88 | ```sql 89 | SELECT Department, AVG(Salary) AS AvgSalary 90 | FROM Employees 91 | WHERE Status = 'Active' 92 | GROUP BY Department 93 | HAVING AVG(Salary) > 5000; 94 | ``` 95 | 96 | --- 97 | ## Connect with Me 98 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 99 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 100 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 101 | - **Blog**: [Blog](https://www.msdevbuild.com/) 102 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 103 | -------------------------------------------------------------------------------- /SQL/21. REVOKE and COMMIT Commands.md: -------------------------------------------------------------------------------- 1 | 2 | # SQL Server: REVOKE and COMMIT Commands 3 | 4 | This document provides a clear explanation and usage examples of the `REVOKE` and `COMMIT` commands in SQL Server. These commands are essential for managing security and ensuring data integrity in transactional operations. 5 | 6 | --- 7 | 8 | ## 🔐 REVOKE (Permissions Management) 9 | 10 | The `REVOKE` command removes or restricts previously granted permissions from a user or role. It is used to **deny access** to specific SQL Server objects such as tables, views, stored procedures, etc. 11 | 12 | ### 📌 Syntax 13 | 14 | ```sql 15 | REVOKE permission_type ON object_name TO user_or_role; 16 | ```` 17 | 18 | ### ✅ Example 19 | 20 | ```sql 21 | -- Grant SELECT permission 22 | GRANT SELECT ON Employees TO John; 23 | 24 | -- Revoke SELECT permission 25 | REVOKE SELECT ON Employees TO John; 26 | ``` 27 | 28 | ### 🔎 Notes 29 | 30 | * `REVOKE` only removes permissions that were previously granted. 31 | * If the permission was **denied** using `DENY`, you need to use `DENY` again to remove that. 32 | * Use `sys.database_permissions` or `fn_my_permissions()` to check current permissions. 33 | 34 | --- 35 | 36 | ## 💾 COMMIT (Transaction Control) 37 | 38 | The `COMMIT` command is used to **permanently save** the changes made during a transaction. It ensures that all the operations within a transaction are completed successfully. 39 | 40 | ### 📌 Syntax 41 | 42 | ```sql 43 | BEGIN TRANSACTION; 44 | -- SQL statements 45 | COMMIT; 46 | ``` 47 | 48 | ### ✅ Example 49 | 50 | ```sql 51 | BEGIN TRANSACTION; 52 | 53 | UPDATE Accounts 54 | SET Balance = Balance - 1000 55 | WHERE AccountID = 101; 56 | 57 | UPDATE Accounts 58 | SET Balance = Balance + 1000 59 | WHERE AccountID = 202; 60 | 61 | COMMIT; 62 | ``` 63 | 64 | ### 🛡️ Why Use COMMIT? 65 | 66 | * To **ensure data integrity**. 67 | * To **group multiple operations** into one atomic unit. 68 | * Used with `ROLLBACK` to undo changes if an error occurs before committing. 69 | 70 | --- 71 | 72 | ## 🧠 Summary 73 | 74 | | Command | Purpose | Common Use Case | 75 | | ------- | ---------------------------- | -------------------------------- | 76 | | REVOKE | Remove granted permissions | Restrict access to data objects | 77 | | COMMIT | Finalize transaction changes | Save changes after a transaction | 78 | 79 | --- 80 | ## Connect with Me 81 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 82 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 83 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 84 | - **Blog**: [Blog](https://www.msdevbuild.com/) 85 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 86 | -------------------------------------------------------------------------------- /SQL/DB Design/DB Design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jssuthahar/Article/59426109cb4eb9da13ef7cb4992d5bc077d90108/SQL/DB Design/DB Design.png -------------------------------------------------------------------------------- /SQL/Readme.md: -------------------------------------------------------------------------------- 1 | # 🗄️ SQL Server Learning Hub 2 | 3 | Welcome to the **SQL Server Learning Hub**! This repository is dedicated to helping beginners and aspiring database developers understand Microsoft SQL Server from the ground up. 4 | 5 | --- 6 | 7 | ## 📘 What is SQL Server? 8 | 9 | **Microsoft SQL Server** is a relational database management system (RDBMS) developed by Microsoft. It is used to store, manage, and retrieve data using **Structured Query Language (SQL)**. 10 | 11 | --- 12 | 13 | ## 🚀 Why Learn SQL Server? 14 | 15 | - Widely used in enterprise applications 16 | - Supports powerful query capabilities with T-SQL 17 | - Scalable for small to large databases 18 | - Integrates well with .NET and other Microsoft tools 19 | - Great career opportunities in backend, data, and full-stack roles 20 | 21 | ## Connect with Me 22 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 23 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 24 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 25 | - **Blog**: [Blog](https://www.msdevbuild.com/) 26 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 27 | -------------------------------------------------------------------------------- /WPF/01 Calculator_Application.md: -------------------------------------------------------------------------------- 1 | # Calculator Application 2 | 3 | ## Overview 4 | This application is a simple calculator built using C# and WPF (Windows Presentation Foundation). The calculator allows users to enter numerical values using buttons and displays the input dynamically on the screen. The core functionality of handling number button clicks is managed by the `Number_Click` event handler. 5 | 6 | ## Code Explanation 7 | 8 | ### Number_Click Event Handler 9 | The `Number_Click` event is assigned to all number buttons (0-9). When a number button is clicked, this event is triggered, capturing the button's value and updating the display accordingly. 10 | 11 | ```csharp 12 | private void Number_Click(object sender, RoutedEventArgs e) 13 | { 14 | Button btnvnumber = (Button)sender; 15 | 16 | if (oper == "") 17 | { 18 | firstnumber = firstnumber + btnvnumber.Content.ToString(); 19 | txtresult.Text = firstnumber; 20 | } 21 | else 22 | { 23 | secondnumber = secondnumber + btnvnumber.Content.ToString(); 24 | txtresult.Text = secondnumber; 25 | } 26 | } 27 | ``` 28 | 29 | ### How It Works 30 | 1. The method retrieves the button that triggered the event using `(Button)sender`. 31 | 2. It then checks whether an operator (`oper`) has been set: 32 | - If no operator is selected (`oper == ""`), the clicked number is appended to `firstnumber`. 33 | - If an operator is selected, the clicked number is appended to `secondnumber`. 34 | 3. The updated value is displayed in `txtresult`. 35 | 36 | ### Assigning Number_Click to Number Buttons 37 | To ensure that the `Number_Click` event is triggered when any number button (0-9) is clicked, the event handler is assigned in XAML: 38 | 39 | ```xml 40 | 19 | ``` 20 | - Here, `Margin="2"` ensures that each button is spaced evenly apart from the others in the `StackPanel`. 21 | 22 | ### Different Margin Values: 23 | - `Margin="10"` - Applies a uniform margin of 10 pixels on all sides. 24 | - `Margin="10,10"` - Applies 10 pixels of margin on the left and right, and 10 pixels on the top and bottom. 25 | - `Margin="10,0,0,0"` - Applies 10 pixels of margin only to the left side, with no margin on other sides. 26 | 27 | ## Padding 28 | The `Padding` property applies spacing inside an element, between the content and the element's border. Padding is used mainly in controls like `TextBox` or `Button` to create inner spacing between the text and the boundary of the control. 29 | 30 | ### Example Usage: 31 | If we add padding to a `TextBox`, it would look like this: 32 | ```xml 33 | 34 | ``` 35 | - This would create a 5-pixel space inside the `TextBox`, ensuring the text does not touch its border. 36 | 37 | ## Difference Between Margin and Padding 38 | | Property | Description | Effect on Layout | 39 | |-----------|------------|------------------| 40 | | Margin | Space outside the element | Moves the element relative to others | 41 | | Padding | Space inside the element | Creates space between content and element boundary | 42 | 43 | ## Conclusion 44 | - **Use `Margin`** when you need to create space between elements. 45 | - **Use `Padding`** when you need to create space inside an element, between its content and its boundary. 46 | 47 | ## Connect with Me 48 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 49 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 50 | 51 | -------------------------------------------------------------------------------- /WPF/04 Image WPF Button.md: -------------------------------------------------------------------------------- 1 | ## Overview 2 | You will lean here on how to properly add an image to a WPF project and use it within a `Button` control. The example below demonstrates how to include an image inside a `Button` using a `StackPanel` layout. 3 | 4 | ## XAML Code Example 5 | ```xml 6 | 14 | ``` 15 | 16 | ## Adding an Image to the Project 17 | 1. Place the image (`email.png`) inside a folder named `Image` within your project. 18 | 2. Right-click the `email.png` file in **Solution Explorer**. 19 | 3. Select **Properties**. 20 | 4. Set the following properties: 21 | - **Build Action**: `Content` 22 | - **Copy to Output Directory**: `Copy always` 23 | 24 | ## Why Set Build Action to Content? 25 | Setting the **Build Action** to `Content` ensures that the image is not compiled into the assembly but is instead included as a separate file. This allows WPF to reference it correctly using a relative path. 26 | 27 | ## Why Set Copy to Output Directory to Always? 28 | Setting **Copy to Output Directory** to `Copy always` ensures that the image file is available in the output folder when the application runs. Without this, the application may not find the image at runtime, leading to a missing resource error. 29 | 30 | ## Customizing the Button 31 | In WPF, the `Content` property of a `Button` is an object, meaning you can add any control inside it. This allows for custom UI elements such as images, text, or even more complex layouts using containers like `Grid`, `StackPanel`, or `Border`. 32 | 33 | ### Example of a Custom Button with Multiple Elements 34 | ```xml 35 | 43 | ``` 44 | In this example, the button includes both an image and a text block stacked vertically, demonstrating the flexibility of WPF's `Button.Content` property. 45 | 46 | ## Conclusion 47 | By following these steps, you ensure that the image is correctly included in the project and displayed properly within the `Button` control in WPF. Additionally, you can leverage the `Content` property to create highly customizable buttons with rich UI elements. 48 | 49 | ## Connect with Me 50 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 51 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 52 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 53 | - **Blog**: [Blog](https://www.msdevbuild.com/) 54 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 55 | 56 | -------------------------------------------------------------------------------- /WPF/Day1.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /WPF/Localization/Task/01 Localization Task.md: -------------------------------------------------------------------------------- 1 | # 🌐 Localization Task 2 | 3 | ## 📖 User Story 4 | 5 | As a **student building a WPF app**, 6 | I want to **select a language on the first screen and then complete a registration form in that language**, 7 | So that **users can interact with the application in their preferred language**. 8 | 9 | --- 10 | 11 | ## ✅ Acceptance Criteria 12 | 13 | ### 1. Language Selection Screen 14 | 15 | * **AC1.1**: The first screen must have a dropdown (or list) to select a language (e.g., English, French, Hindi, etc.). 16 | * **AC1.2**: There must be a button labeled **"Enter"** to confirm the language choice. 17 | * **AC1.3**: When the user selects a language and presses **"Enter"**, the selected language must be stored (in memory or settings). 18 | * **AC1.4**: If no language is selected and **"Enter"** is pressed, an error message should appear (localized in the default language). 19 | 20 | --- 21 | 22 | ### 2. Registration Screen 23 | 24 | * **AC2.1**: After pressing **"Enter"**, the user should be navigated to the **registration screen**. 25 | * **AC2.2**: The registration screen must have **10 fields** (example): 26 | 27 | 1. First Name 28 | 2. Last Name 29 | 3. Email 30 | 4. Password 31 | 5. Confirm Password 32 | 6. Gender 33 | 7. Date of Birth 34 | 8. Country 35 | 9. Phone Number 36 | 10. Address 37 | * **AC2.3**: All field labels, button text, and validation messages should appear in the **language selected** on the first screen. 38 | * **AC2.4**: The registration screen should include a **"Submit"** button (localized label). 39 | * **AC2.5**: If any field validation fails (e.g., empty email), the **error message must appear in the selected language**. 40 | 41 | --- 42 | 43 | ### 3. Localization Behavior 44 | 45 | * **AC3.1**: Localization must be implemented using **WPF Resource files (.resx) or ResourceDictionary with `x:Uid`**, not hardcoded strings. 46 | * **AC3.2**: Switching languages must dynamically load translated strings from resource files. 47 | * **AC3.3**: The same form structure should be reused for all languages; only text should change. 48 | * **AC3.4**: At least **two languages** (e.g., English + 1 more) should be fully supported and tested. 49 | 50 | --- 51 | 52 | ## 📌 Definition of Done 53 | 54 | * The app starts with a **Language Selection Screen**. 55 | * After choosing a language and pressing **Enter**, the **Registration Screen** opens. 56 | * All text (labels, buttons, errors) on the registration screen reflect the **chosen language**. 57 | * At least **10 registration fields** are localized. 58 | * Works for at least **5 languages** without errors. 59 | 60 | ## Connect with Me 61 | - **LinkedIn**: [Suthahar Jeganathan](https://www.linkedin.com/in/jssuthahar/) 62 | - **YouTube**: [MSDEVBUILD](https://www.youtube.com/@MSDEVBUILD) 63 | - **YouTube Tamil**: [MSDEVBUILD TAMIL](https://www.youtube.com/@MSDEVBUILDTamil) 64 | - **Blog**: [Blog](https://www.msdevbuild.com/) 65 | - **Follow Whatsapp**: [Whatsapp](https://www.whatsapp.com/channel/0029Va5j2rHEFeXcTlUhQB0J) 66 | 67 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | MSDEVBUILD Learning Repository 7 | 52 | 53 | 54 | 55 | 69 | 70 |
71 |

MSDEVBUILD Learning Repository

72 |

Welcome to the MSDEVBUILD repository! Explore articles, tutorials, and code samples across various development topics.

73 | 74 |
75 |

Python

76 |

Explore articles and sample code for Python development on the MSDEVBUILD blog. [Insert links or summaries here]

77 |
78 | 79 |
80 |

Cloud

81 |

Discover cloud computing tutorials, including Azure and other platforms. [Add details]

82 |
83 | 84 |
85 |

Programming

86 |

General programming concepts, best practices, and coding patterns. [Add details]

87 |
88 | 89 |
90 |

SQL

91 |

SQL tutorials and database-related code samples. [Add details]

92 |
93 | 94 |
95 |

C#

96 |

Articles on C# programming, .NET Core, and related best practices. [Add details]

97 |
98 | 99 |
100 |

Azure

101 |

Azure-specific tutorials and code examples. [Add details]

102 |
103 | 104 |
105 |

WPF

106 |

Windows Presentation Foundation articles and UI-related samples. [Add details]

107 |
108 | 109 |
110 |

MAUI

111 |

Introducing .NET MAUI tutorials and cross-platform UI development. [Add details]

112 |
113 | 114 | 115 |
116 | 117 | 118 | 119 | --------------------------------------------------------------------------------