-
Network - RPC, HTTP, gRPC
RPC (Remote Procedure Call)What is RPC?RPC is a protocol used to call other processes on the remote systems like a local system. (remote invocation) Beside HTTP, this is another way to achieve communication in distributed systems.Transport protoco...…
-
Network - What happend when you type a URL in browser
What happend when you type a URL in browser Check url is valid or not Check browser cache, system cache, router cache, ISP cache, if cache hit, return the page, else go to step 3 DNS resolve, get IP address Browser send H...…
-
Network - TCP/IP Model / HTTP
OSI VS TCP/IPOSI stand for Open System Interconnection, which is a conceptual model. It is used to describe the functions of a networking system.TCP/IP is a practicial implementation of the OSI model. It is a protocol stack used for communication ...…
-
Prefix Sum problems
Prefix Sum problems LeetCode 难度 724. Find Pivot Index 🟢 560. Subarray Sum Equals K 🟡 724. Find Pivot IndexDescriptionGiven an array of integers nums, calculate the pivot index of this ar...…
-
Water trapper problems
接雨水问题详解 LeetCode 力扣 难度 11. Container With Most Water 11. 盛最多水的容器 🟠 42. Trapping Rain Water 42. 接雨水 🔴 ———–力扣第 42 题「接雨水」挺有意思,在面试题中出现频率还挺高的,本文就来步步优化,讲解一下这道题。先看一下题目:就是用一个数组表示一...…
-
Parentheses problems
Parentheses problemsLeetCode : 20. Valid Parentheses LeetCode Difficulty 20. Valid Parentheses Easy 921. Minimum Add to Make Parentheses Valid Medium 1541. Minimum Insertions to ...…
-
Pan cake sorting
烧饼排序 LeetCode 力扣 难度 969. Pancake Sorting 969. 煎饼排序 🟠 ———–力扣第 969 题「煎饼排序」是个很有意思的实际问题:假设盘子上有 n 块面积大小不一的烧饼,你如何用一把锅铲进行若干次翻转,让这些烧饼的大小有序(小的在上,大的在下)?设想一下用锅铲翻转一堆烧饼的情景,其实是有一点限制的,我们每次只能将最上面的若干块饼子翻转:我们的问题是...…
-
Deploy Application, CICD pipeline
Deploy ApplicationIntelliJ -> GitHub -> Jenkins -> DockerHub -> Kubernetes -> AWSHow To Push a Docker Image To Docker Hub Using JenkinsJenkins 将 Docker 映像部署到 Kubernetes write code in IntelliJ and then push to GitHub Jenk...…
-
Knowledge
TDD (Test Driven Development)What is TDD?Test Driven Development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes an (initially failing) automated test case that de...…
-
Transaction in microservices
Transaction in microservices2-phase commit2-phase commit is a widely used pattern to implement distributed transaction management.It has two phases: Prepare phase: The coordinator asks the participating nodes whether they are ready to commit....…