반응형

전체 글 271

DNS가 무엇일까?

원래 서버 컴퓨터에 접속을 하려면 그 컴퓨터의 IP 주소를 알아야 한다. 그런데 이 주소를 기억하는 것은 쉽지 않은 일이다. 그래서 고안된 것이 도메인 이름이다. 전화번호를 몰라도 이름으로 친구에게 전화를 할 수 있는 것처럼, 도메인 이름을 컴퓨터에 부여하면 전세계인들이 개성있는 이름을 통해서 나의 컴퓨터에 접속할 수 있다.IP 주소와 hosts도메인 이름을 살펴보기 전에 IP 주소와 hosts의 개념을 먼저 살펴보면,  hosts 파일을 이용하면 전화기의 전화번호부 기능처럼 IP 주소에 대한 이름을 지정할 수 있다.두 대의 컴퓨터가 있다. 이 컴퓨터가 서로 통신하기 위해서 반드시 갖춰야할 것이 있고, 이것이 바로 IP 주소이다. 인터넷에 참여하는 모든 컴퓨터는 이렇게 IP 주소를 갖고 있어야만 한다.그..

카테고리 없음 2024.07.13

WEB Home Server

IPv4와 IPv6의 등장인터넷과 인터넷이 통신을 하기 위해서는 IP Address가 필요하다.개발의 선구자들은 이 IP Address를 사용할 수 있도록 IPv4라는 주소체계를 개발했다.IPv4는 0.0.0.0 ~ 255.255.255.255까지 42억개의 주소를 표현할 수 있다. 하지만 기술이 발전하고 IoT, 웹, 스마트폰, 클라우드 컴퓨팅 기술이 나타나게 되면서 인터넷에 연결되는 컴퓨터의 양이 기하급수적으로 증가하게 되었다.그래서 IPv4의 주소 형식을 새롭게 바꾸어서 도입하기로 마음을 먹었고 결국 해결책을 내놓았다. 이것이 바로 IPv6이다. Ipv6의 등장으로 인류는 천년뒤에도 쓸수 있을 만큼 주소의 수를 넉넉하게 마련할 수 있게 되었다.  공유기의 등장주소가 부족할 때마다 체계를 새로 바꾸는..

카테고리 없음 2024.07.13

프로그래머스 레벨2 스택/ - 올바른 괄호

풀이 과정이번 문제는 괄호가 올바르게 짝지어졌는지 확인하는 문제다. 스택과 큐중 어떤걸 사용해야할까? 고민하다가 스택으로 풀면 좋을거 같아 스택으로 문제를 풀어 보았다. 먼저 여는 괄호 ' ( ' 를 만나면 스택에 push 하고 닫는 괄호 ' ) '를 만나면 스택에서 pop하여 짝을 맞춰준다. 모든 과정이 끝났을 때 스택이 비어 있어야 올바른 괄호가 완성 되고, 닫는 괄호가 나오기 전에 스택이 비어 있으면 올바르지 않은 괄호이다. import java.util.*;class Solution { boolean solution(String s) { Stack stack = new Stack(); for (int i = 0; i

카테고리 없음 2024.07.11

프로그래머스 레벨2 스택/큐 - 기능개발

풀이 과정처음에는 같은 개수를 배열에 담는 문제인가? 라고 생각했다.  progresses 는 각 기능의 현재 개발 진도를 나타내는 정수 배열 [ 93, 30, 55] speeds 는 각 기능의 개발 속도를 나타내는 정수 배열 [1, 30, 5] 각 기능은 개발 진도 100%일 때 서비스에 반영될 수 있다. 만약 진도가 93% 이고 속도가 1%인 기능은 7일이 걸리고, 진도가 30%인 기능은 3일이 걸린다. 그렇다면 어떻게 풀어야할까? 1. 각 직업의 남은 일수를 계산한다.2. 남은 일수들을 순서대로 큐에 저장한다.3. 큐에서 남은 일수를 하나씩 꺼내어 각 배포마다 몇 개의 기능이 배포되는지 계산한다.import java.util.*;class Solution { public int[] soluti..

카테고리 없음 2024.07.11

프로그래머스 레벨2 해시 - 전화번호 목록

풀이 과정전화번호부에 적힌 전화번호를 담은 배열 phone_book이 solution 함수의 매개변수로 주어질때 어떤 번호가 다른 번호의 접두어인 경우가 있는지 확인을 잘하는게 포인트이다.  phone_book 에 전화번호가 저장이 되어있고 중복된 전화번호는 없다. 그렇다면 어떻게 하면 좋을까?  문제 코드class Solution { public boolean solution(String[] phone_book) { boolean answer = true; Map h = new HashMap(); for(int i=0; i 첫 번째 for 문에서 각 전화번호를 HashMap 에 저장하고 키는 인덱스이고 값은 전화번호문자열로 지정했다. for(int..

카테고리 없음 2024.07.05

프로그래머스 레벨2 해시 - 의상

풀이 과정map을 이용하여 옷의 종류당 개수로 데이터를 세팅해야한다. 아직 추가된 옷의 종류가 없다면 해당 종류의 옷을 1개로 넣고 이미 해당 종류의 옷이 있다면 원래 종류에서 1개를 추가 해야한다. for(int i =0; i   map에 들어 있는 옷의 종류당 개수를 모두 곱하면 옷의 조합의 수를 구할 수 있는데, 이때 옷의 종류마다 해당 종류를 고르지 않는 경우가 있기 때문에 옷의 종류당개수에 1을 더하여 곱해줘야한다. String[] keys = clothesMap.keySet().toArray(new String[0]); for (int i = 0; i    문제의 조건에서 스파이는 하루에 최소 한 개의 의상은 입는다는 조건이 있으므로 옷을 하나도 고르지 않는 ..

알고리즘 2024.07.03

로드밸러싱(Load balancer) L4 / L7

로드밸런싱이란?보통 운영체제의 프로세서의 작업 스케쥴링 또는 네트워크에 주로 사용되는 용어이다. 지금 알아보는것은 네트워크 로드밸런싱을 의미한다. 즉, 서버가 여러개(Sclae-out)일 대 요청 트래픽을 적절하게 분산시켜주는 서비스가 Load balancing이다.  서버 다중화 환경에서의 세션 불일치단일 서버 환경에서 session을 통한 로그인을 구현할때 session 불일치 문제를 신경쓸 필요가 없다. 하지만 서비스가 커짐에 따라 한대의 서버로 운영하는것이 불가능해졌다고 가정해보자. 그래서 서버를 업그레이드 해야되는데 다음과 같이 두가지 방식이 존재한다. scale- up, scale- out   scale - up 서버 자체 성능을 늘려 부하를 견딜수 있게 하는 방식이지만, 여전히 서버 한 대에..

카테고리 없음 2024.07.01

공인(Public) IP와 사설(private) IP의 차이

공인 IP (Public IP) 공인 IP는 인터넷 서비스 제공자(ISP)에 의해 할당되며 전역 인터넷에서 사용된다. 인터넷을 통해 전 세계적으로 공개되며 고유한 식별자 역할을 한다. 사용하면 인터넷 상에서 다른 장치나 네트워크에서 접근할 수 있다. IPv4에서는 32비트로 표현되며, IPv6에서는 128비트로 표현이 된다.   사설 IP (Private IP)사설 IP주소는 일반적으로 집이나 사무실 내부의 로컬 네트워크에서 사용되며, 인터넷에 직접 연결되지 않는다. 로컬 네트워크 내에  유효하며, 인터넷에서는 라우터를 통해 공인 IP로 변환되어야 다른 장치들과 통신할 수 있다.  사설 IP 주소의 범위는 주로 IP 대역 10.0.0.0 ~ 10.255.255.255, 172.31.255.255 등으로 ..

카테고리 없음 2024.06.29

Connetion TimeOut과 Read TimeOut의 차이점

Connetion TimeOut과 Read TimeOutConnetion Timeout은 Service측으로 Connection을 맺길 원하지만, Server의 장애 상황으로 Connection조차 맺어지지 못할 때 발생하는 timeOut 이다. Client와 Server가 연결될 떄 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을수립한다. 이 과정을 3-way-Handshake라고 한다. 즉, Connetion Timeout이란 3-way Handshake가 정상적으로 수행되어 서버에 연결되기까지 소요된 시간이다. Read TimeOut은 연결을 완료한 후 요청을 보냈는데 예상 응답시간을 넘어도 응답이 돌아오지 않아 발생하는 timeout이다. RTO와 RTTRTT는 재시도 하는 시간을 말하..

카테고리 없음 2024.06.27

대칭키, 비대칭키 암호화 방식에 대해 설명하세요

양방향의 대칭키 암호, 비대칭키 암호 그리고 단방향 암호는 모두 암호화 기술의 종류는 나타 낸다.   양방향 알고리즘은 주로 데이터의 기밀성을 보호하는 데 사용된다. 암호화된 데이터를 해당 키를 가진 사람만이 복호화 할수 있기 때문에, 데이터를 안전하게 전송하고 저장, 관리할 수 있기 떄문이다.  반면 단방향 암호화 기술은 데이터의 무겨렁을 검증하는 데 사용된다. 복호화가 불가능한 암호화이기 때문이다. 예를 들어 비밀번호를 단방향으로 암호화 저장하면 복호화 하지 안혹도 입력한 비밀번호와 저장된 비밀번호를 암호화 한 상태로 비교하며 데이터의 변경 여부를 확인할 수 있다. 대칭키대칭키는 암복호화키가 동일하며 해당 키를 하는 사람만이 문서를 복호화해 볼수있게 된다.  공개키 암호화 방식에 비해 속도가 빠르다는..

카테고리 없음 2024.06.20
반응형