본문 바로가기
728x90

전체 글477

[Network] 로드밸런스 🤔 트래픽에 대처할 수 있는 방법 클라이언트의 요청이 많아지면 트래픽이 증가하게 되고, 그에 따라 단일 서버만으로는 정상적인 서비스가 어렵다 따라서 이러한 수많은 트래픽에 대처할 수 있는 방법은 크게 2가지다 Scale-up : 서버 자체의 성능을 높이는 것 Scale-out : 여러 대의 서버를 두는 것 ⭐️ Scale-out 방식의 경우 여러 대의 서버로 트래픽을 균등하게 분산해줘야 하는데, 이 때 로드밸런싱이 필요하다 💡 로드 밸런싱 (Load Balancing) 수많은 트래픽에서 클라이언트의 요청을 다수의 서버로 분산시켜주는 컴퓨터 네트워크의 기술이다 로드밸런서는 서버에 가해지는 부하(=로드)를 분산(=밸런싱)해주는 장치 또는 기술을 통칭한다 클라이언트와 서버풀* 사이나 네트워크 허브 사이에 위치.. 2023. 3. 30.
[DP] 도둑질 - JAVA [문제] https://school.programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 예전에 비슷한 문제를 풀어본 기억이 있어서 초기 아이디어는 금방 얻을 수 있었다 근데 뒤에서 생각이 좀 꼬여서 초기 코드는 꽤나 지저분하다,,, 그래도 일단 초기 내 생각을 간단하게나마 정리해보고, 개선된 코드도 뒤에 소개를 해보도록 하겠다! 🤔 DP 배열 정의 먼저 문제에 접근하는 아이디어는 첫집을 터는 경우와 털지 않는 경우로 구분하는 것이다! 첫집을 터는 경우 → 막집을 털 수 없다.. 2023. 3. 28.
[Network] IP, TCP/UDP, HTTP 🤔 IP Internet Protocol 의 약자 IP는 클라이언트와 서버 간의 원활한 통신을 위한 규칙이다 클라이언트와 서버가 통신하기 위해 IP 주소를 컴퓨터에 부여한다 이후 지정한 IP 주소에 패킷(Packet)이라는 통신 단위로 데이터를 전달한다 IP 패킷에는 출발지 IP, 목적지 IP와 같은 정보가 포함되어 있어, 전송 데이터를 무사히 목적지까지 보낸다 클라이언트에서 전송한 데이터가 무사히 서버에 전달되면, 서버도 IP 패킷을 이용해 클라이언트에 응답한다 IP의 한계 1) 비연결성 클라이언트는 서버의 상태를 파악할 수 없다 따라서 클라이언트는 패킷을 받을 대상이 없거나, 서버가 서비스 불능 상태여도 패킷을 전송한다 2) 비신뢰성 전달하는 데이터의 용량이 큰 경우, 이를 패킷 단위로 나눠 전송하게.. 2023. 3. 24.
[Docker] 도커로 M1 Mac에 MYSQL 설치하기 🐳 1. 설치 $ docker pull mysql 도커를 통해 mysql을 설치한다 2. 설치한 도커 이미지 확인 $ docker images 해당 명령어를 입력하면 설치된 도커 이미지 목록이 나온다 3. 도커 실행 $ docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=1234 -d mysql:latest --name : 실행할 컨테이너 이름 MYSQL_ROOT_PASSWORD : mysql 비밀번호 설정 실행하면 desktop docker에 위처럼 mysql_container 생성되어 실행된다 4. 도커 접속 $ docker exec -it mysql mysql -u root -p # 위에서 설정한 mysql 비밀번호 입력 (1234) 위의 명.. 2023. 3. 22.
[Network] DNS 🤔 DNS (Domain Name System) IP 주소와 도메인 주소를 이어주는 환경/시스템이다 도메인 주소란 IP 주소를 대신하여 사용하는 주소로, DNS를 이용하여 IP 와 도메인을 이어준다 DNS 시스템 안에서 IP와 도메인 매칭 역할을 하는 서버를 DNS 서버 또는 네임서버 라고 한다 상위 기관에서 인증된 기관에게 도메인을 생성하거나 IP 주소로 변경할 수 있는 권한을 부여한다 DNS는 계층 구조를 갖는 분산 데이터베이스 구조를 갖는다 DNS 서버 통신은 기본적으로 UDP 방식인 DNS 프로토콜을 사용하며, 기본 포트로 53번을 사용한다 모든 IP의 루트 네임 서버는 비영리 단체인 ICANN이 관리하며, 루트 서버는 전 세계 모든 도메인을 기억한다 🤔 DNS 구성 요소 도메인 네임 스페이스(D.. 2023. 3. 16.
[Network] OSI L4 OSI L4 OSI 7계층 중 4계층인 전송 계층(Transport Layer)이다 전송 상의 유효성, 신뢰성을 체크하여 통신할 수 있도록 해준다 4계층의 가장 중요한 특징은 송수신지 포트번호를 인지할 수 있다는 것이다 L3에서 올라온 패킷에 송수신지 포트 정보를 추가하여 서비스 종류를 구분할 수 있다 대표 프로토콜로는 TCP와 UDP가 있다 TCP : Transmission Control Protocol UDP : User Datagram Protocol 대표 장비로는 L4 스위치가 있다 OSI 7계층 L1 : 물리(피지컬) 계층 L2 : 데이터링크 계층 L3 : 네트워크 계층 L4 : 전송(트랜스포트) 계층 L5 : 세션 계층 L6 : 표현(프레젠테이션) 계층 L7 : 응용(애플리케이션) 계층 스위치.. 2023. 3. 16.
[Network] OSI 7계층 🤔 OSI 7계층이란? OSI : Open Systems Interconnection의 약자 네트워크에서 통신이 일어나는 과정을 7단계로 정의한 국제 통신 표준 규약이다 네트워크 프로토콜 통신 과정을 7개의 계층으로 분리하고, 각 계층 간의 상호 작동방식을 정했다 💡 OSI 7계층을 나눈 이유? 통신이 일어나는 과정을 구분하여 단계별로 파악할 수 있기 때문이다 흐름을 한눈에 알아보기 쉽다 네트워크 통신 과정을 이해하기 쉽기 때문에, 네트워크의 구성을 예측할 수 있다 각 계층을 분리했기 때문에 독립적으로 관리할 수 있다 유지 및 관리가 수월하다 7단계 중 특정한 곳에 이상이 생기면, 다른 단계의 장비나 소프트웨어를 건들지 않고도 문제가 생긴 단계만 고쳐서 해결할 수 있다 만약 일부 계층의 변경이 발생한 경.. 2023. 3. 15.
[DP] 정수 삼각형 - JAVA (version 2) 요번 문제도 이전에 푼 적이 있지만, 이전 풀이가 불친절(?)한 관계로 보다 자세하게 풀이를 남기려고 한다😅 [문제] https://school.programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 school.programmers.co.kr [이전 풀이] https://yummy0102.tistory.com/395 [DP] 정수 삼각형 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래.. 2023. 3. 14.
🌱 @RequestParam 개념 정리 @RequestParam 스프링이 제공하는 어노테이션으로, 이를 사용하면 요청 파라미터를 매우 편리하게 사용할 수 있다 @ResponseBody @RequestMapping("/request-param") public String requestParamV2( @RequestParam("username") String memberName, @RequestParam("age") int memberAge ) { log.info("username={}, age={}", memberName, memberAge); return "ok"; } @RequestParam 파라미터 이름으로 바인딩한다 /request-param?username=yum&age=20 위처럼 요청이 들어오면, username=yum, age=2.. 2023. 3. 13.
728x90