<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>All Posts - ThanhLD Site</title>
        <link>https://ducthanh98.github.io/posts/</link>
        <description>All Posts | ThanhLD Site</description>
        <generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 19 Feb 2024 22:57:18 &#43;0700</lastBuildDate><atom:link href="https://ducthanh98.github.io/posts/" rel="self" type="application/rss+xml" /><item>
    <title>Azure Administrator (AZ-104) Notes</title>
    <link>https://ducthanh98.github.io/posts/az-104/</link>
    <pubDate>Mon, 19 Feb 2024 22:57:18 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/az-104/</guid>
    <description><![CDATA[Entra ID Licences The feature can only be used with security groups (only), and Microsoft 365 groups that have securityEnabled=TRUE. Can delete all users whether a license is assigned directly or via inheritance from a group membership Groups with active license assignments cannot be deleted Users Azure (RBAC) and Azure AD roles are independent. AD roles do not grant access to resources and Azure roles do not grant access to Azure AD.]]></description>
</item>
<item>
    <title>Behavioral &amp; HR Interview Questions &amp; Answers</title>
    <link>https://ducthanh98.github.io/posts/introduce/</link>
    <pubDate>Sat, 10 Feb 2024 10:00:00 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/introduce/</guid>
    <description><![CDATA[Introduce about yourself Firstly, Thank you for taking the time to review my CV. Regarding myself, I graduated with a degree in Software Engineering. I have been working for about six years in software development, focusing primarily on backend technologies and cloud services. Throughout my career, I have focused not just on coding but also on mentoring junior developers and promoting best practices in code quality and version control. Most recently, I worked at VPBank, where I contributed to the development of their loyalty system.]]></description>
</item>
<item>
    <title>Generative AI: Chunking Strategies, Prompt Engineering &amp; AWS Bedrock</title>
    <link>https://ducthanh98.github.io/posts/genai/</link>
    <pubDate>Thu, 01 Feb 2024 10:00:00 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/genai/</guid>
    <description><![CDATA[Core concepts in Generative AI architectures, Retrieval-Augmented Generation (RAG) chunking strategies, Prompt Engineering techniques, and AWS Bedrock services.
RAG Chunking Strategies Chunking divides long documents into smaller segments for embedding and vector similarity search.
1. Fixed-Size Chunking (Standard) Concept: Chunks document into fixed token lengths (e.g. 300 - 512 tokens) with an overlap percentage (e.g. 10 - 20%). Pros: Fast, simple, predictable computation. Cons: Can cut sentences or paragraphs mid-thought, causing loss of semantic context.]]></description>
</item>
<item>
    <title>JavaScript, TypeScript &amp; React Core Concepts</title>
    <link>https://ducthanh98.github.io/posts/javascript/</link>
    <pubDate>Sat, 20 Jan 2024 10:00:00 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/javascript/</guid>
    <description><![CDATA[JavaScript Fundamentals Closures A closure in JavaScript allows the function to remember the variables from the enclosing function where it was created, enabling encapsulation and state retention. Hoisting Hoisting in JavaScript is a behavior where variable and function declarations are moved to the top of their containing scope during the compile phase, before the code is executed. This means that you can use variables and functions before they are declared in the code.]]></description>
</item>
<item>
    <title>Python Core: Context Managers, Generators &amp; GIL</title>
    <link>https://ducthanh98.github.io/posts/python/</link>
    <pubDate>Mon, 15 Jan 2024 10:00:00 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/python/</guid>
    <description><![CDATA[Context Managers Context Manager giúp quản lý tài nguyên tự động, đảm bảo tài nguyên (file, database connection, network socket,&hellip;) được mở và đóng đúng cách. Đóng tài nguyên tự động, tránh lỗi quên close() Xử lý lỗi tự động, giảm code try-except-finally class FileManager: def __init__(self, filename): self.filename = filename def __enter__(self): self.file = open(self.filename, &#34;r&#34;) # Mở file return self.file # Trả về file để sử dụng trong `with` def __exit__(self, exc_type, exc_value, traceback): self.]]></description>
</item>
<item>
    <title>Computer Networking Fundamentals for Interviews</title>
    <link>https://ducthanh98.github.io/posts/networking/</link>
    <pubDate>Wed, 10 Jan 2024 10:00:00 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/networking/</guid>
    <description><![CDATA[Computer Networking Fundamentals Table of Contents OSI 7 Layers vs TCP/IP Model TCP vs UDP TCP 3-Way Handshake &amp; 4-Way Teardown 3-Way Handshake (Connection Establishment) 4-Way Teardown (Connection Termination) The TIME_WAIT State HTTP Evolution: HTTP/1.1 vs HTTP/2 vs HTTP/3 HTTPS &amp; SSL/TLS Handshake What Happens When You Type a URL in Your Browser? API Protocols: REST vs gRPC vs WebSockets Load Balancing: Layer 4 vs Layer 7 OSI 7 Layers vs TCP/IP Model OSI Layer TCP/IP Layer Common Protocols / Devices Data Unit 7.]]></description>
</item>
<item>
    <title>Golang Deep Dive: Concurrency, Runtime &amp; Architecture</title>
    <link>https://ducthanh98.github.io/posts/golang/</link>
    <pubDate>Sat, 23 Dec 2023 09:40:49 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/golang/</guid>
    <description><![CDATA[In-depth technical notes on Go concurrency, memory management, garbage collection internals, performance profiling, hexagonal architecture, and design patterns.
Concurrency &amp; Channels Channel Types 1. Unbuffered Channel Behavior: An unbuffered channel has zero capacity (make(chan int)). Synchronization: Requires both sender and receiver to be ready at the exact same moment. Send blocks until a receiver is ready, and receive blocks until a sender is ready. Use Case: Strict point-to-point synchronization between goroutines.]]></description>
</item>
<item>
    <title>Microservices Architecture &amp; Distributed System Design Patterns</title>
    <link>https://ducthanh98.github.io/posts/microservice/</link>
    <pubDate>Sun, 12 Nov 2023 22:53:37 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/microservice/</guid>
    <description><![CDATA[Core architectural principles, decomposition strategies, distributed design patterns, resilience mechanisms, and deployment strategies for microservices systems.
Monolith vs Microservices Architecture Criteria Monolithic Architecture Microservices Architecture Development Single codebase, straightforward local debugging Multiple repositories/services, polyglot tech stacks Deployment Single unit deployment (all-or-nothing) Independent, continuous deployments per service Scaling Vertical scaling or duplicate entire monolith Horizontal, granular scaling based on resource needs Fault Isolation Low (a memory leak or crash impacts whole app) High (failure in one service does not crash others) Complexity Low operational overhead; high codebase coupling High operational complexity (distributed network overhead) Microservice Decomposition Strategies How to break down a domain into microservices:]]></description>
</item>
<item>
    <title>Database &amp; Message Brokers: SQL, NoSQL &amp; Queues</title>
    <link>https://ducthanh98.github.io/posts/database/</link>
    <pubDate>Sun, 12 Nov 2023 22:53:02 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/database/</guid>
    <description><![CDATA[Comprehensive notes on Relational Databases (SQL), In-Memory Caching (Redis), and Distributed Message Brokers (Kafka &amp; RabbitMQ) for technical interviews and system architecture design.
Relational Databases (SQL) SQL vs NoSQL ACID Properties in Relational Databases Atomicity: All operations in a transaction succeed or fail together. If any operation fails, the entire transaction is rolled back. (e.g. transfer money from Account A to Account B). Consistency: Any transaction brings the database from one valid state to another, strictly obeying all schema rules, constraints, triggers, and cascades.]]></description>
</item>
<item>
    <title>Linux &amp; Operating System Internals</title>
    <link>https://ducthanh98.github.io/posts/linux/</link>
    <pubDate>Sun, 12 Nov 2023 22:53:02 &#43;0700</pubDate>
    <author>ThanhLD</author>
    <guid>https://ducthanh98.github.io/posts/linux/</guid>
    <description><![CDATA[Operating System Internals &amp; Linux Table of Contents Processes Process Concept Process States &amp; Types Threads Process vs Thread Context Switching Memory Management (Stack vs Heap, Virtual Memory) Cron &amp; Scheduling Storage &amp; Mount Disk Essential Linux Troubleshooting Commands Processes Process Concept A running instance of a program is called a process and it runs in its own memory space. Each time you execute a command, a new process starts. An active process also includes the resources the program needs to run.]]></description>
</item>
</channel>
</rss>
