목록전체 글 (141)
종식당

https://www.acmicpc.net/problem/1920📝 문제 설명처음으로 입력받은 수열들 안에 다음에 입력받은 수 들이 존재하면 1, 존재하지 않으면 0을 출력하는 문제다.이 문제는 완전 탐색으로 풀면 시간초과가 나므로 이분탐색으로 풀어야 한다.✨ 제출 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine())..

https://www.acmicpc.net/problem/10814📝 문제 설명입력받은 정수만큼의 사람의 나이와 이름을 입력받는다. 그 후 사람들을 나이 순으로 정렬한다. 만약 나이가 같으면 먼저 입력한 순서대로 정렬하여 출력하면 된다.✨ 제출 코드import java.io.*;import java.util.*;public class Main { public static class Info{ int age; String name; public Info(int age, String name){ this.age = age; this.name = name; } } public static ..

🐻 TCP 3-way handshakeTCP 3-way handshake는 TCP/IP 네트워크에서 안정적이고 연결 지향적인 통신을 설정하기 위해 사용되는 절차이다. 이 절차는 클라이언트와 서버 간에 신뢰할 수 있는 연결을 설정하기 위해 세 개의 메시지(세그먼트)를 교환하는 과정을 포함한다. 우선 클라이언트는 서버에 연결을 요청하는 SYN 세그먼트를 보낸다. 이 세그먼트에는 초기 순서 번호(sequence number)와 윈도우 크기(window size) 정보가 포함되어 있다. 이후 서버는 클라이언트의 요청을 수락하고, SYN과 ACK플래그가 설정된 세그먼트를 클라이언트에 보낸다. 이 세그먼트에는 서버의 초기 순서 번호와 클라이언트의 초기 순서 번호에 대한 응답(ACK = 클라이언트의 초기 순서 번호..

https://www.acmicpc.net/problem/2910📝 문제 설명정수들을 입력받아 빈도수가 가장 많은 순서대로 출력하면 된다.이때 빈도수가 같은 경우에는 먼저 입력받은 정수가 먼저 출력되어야 한다.✨ 제출 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); St..

외부 서비스 장애로 인해 응답이 오래 걸린다고 했을 때 외부 API응답으로 대기하는 자원들이 운영 서버 내부에 쌓이면서 성능에 악영향을 줄 수 있다. 이를 해결하기 위한 가장 기본적인 방법은 타임아웃을 설정하는 것이다.크게 타임아웃에는 커넥션 타임아웃과 리드 타임아웃, HTTP 커넥션 풀 타임아웃을 설정해 볼 수 있다.다음과 같이 특정 서비스의 장애가 전체 서비스에 영향을 주는 경우는 어떻게 해결할 수 있을까요? 🤔1. A 서비스, B 서비스, C 서비스 연동 코드가 HTTP 커넥션 풀을 공유한다.2. A 서비스의 장애로 응답 시간 지연이 발생하는 경우 2-1. 풀에 남은 커넥션이 점점 줄어든다. 2-2. 풀에서 커넥션을 구하는 대기 시간이 증가한다. 2-3. B, C 서비스에 대한 연..