AWS 프리티어로 간단하게 내 이름을 출력하는 웹서버를 만들어 보자 ec2 는 "Elastic Compute Cloud" 의 약자이며 한 대의 컴퓨터를 임대한다는 개념 입니다. (해당 서버 ec2 스펙은 "amazon linux" 혹은 "ubuntu 서버" 프리티어를 선택하였습니다) "인스턴스 세부 정보 구성" 하단에서 간단하게 쉘스크립트를 삽입하여 인스턴스 첫 부팅 때 실행하게 한다. (사실 쉘스크립트 작성하지 않고 생성해준 ec2 서버에 접속하여 직접 구축할 수 있지만, 쉘스크립트 이용하여 보다 편하게 할 수 있습니다) 쉘 스크립트 명령어 #!/bin/bash yum update -y yum install -y httpd systemctl start httpd systemctl enable httpd..
NFS (Network File System) 네트워크 파일 시스템. - 네트워크기반 파일 시스템이다. - 다른서버의 파티션을 마치 내 로컬영역인 것처럼 네트워크를 이용하여 사용할 수 있음. 동작 방식 NFS 서버는 해당 폴더를 외부에 보내고 NFS 클라이언트는 서버에서 준 폴더를 마운트하는 형태. NFS 서버 구성 1. 먼저 NFS 패키지 설치 여부 확인 및 설치 rpm -qa | grep nfs-utils #없을 시 yum install -y nfs-utils* 2.마운트 해줄 디렉토리 생성 및 권한설정 mkdir /share chmod 777 /share 3. NFS Exports 설정 -마운트 허용할 디렉토리와 호스트 지정 (필자 클라이언트 대역대 = 10.0.2.* ) vim /etc/expor..

IP 주소와 매칭할 때 사용하는 서버는 DNS(Domain Name System) 서버라고 하며, 전문 기업뿐만 아니라 저도 리눅스에서 DNS 서버를 쉽게 구축할 수 있다하여 바로 실습 고고 하겠습니다. 만약 DNS 서버가 없다하면 IP주소로만 웹서버 접속이 가능하겠죠? 1. DNS 패키지 bind 설치하기 # rpm -qa | grep bind : bind 패키지가 리눅스에 설치되어 있는 확인하는 명령어 # yum -y install bind : bind 패키지 설치하는 명령어 2. bind 패키지 설정파일 편집 - /etc/named.conf listne-on port 53 -> 'any' 로 변경 DNS port 53에 어떤 IP가 접근할 수 있는지 설정 합니다. allow-query -> 'any..

리눅스에서는 파티션 종류가 3가지 있습니다. Primary Partition - 실제 데이터 저장 Extend Partition - 부족한 파티션 테이블 영역을 확장시키는 용도 Logical Partition - 확장영역이 갖는 범위 내 생성되는 파티션 바로 실제 리눅스에서 파티션을 나누어보겠습니다. 3GB 물리적 하드디스크 - Primary 1GB * 2개 - Extend 1GB - Logical * 2개 만들어 보겠습니다. 1. 디스크 확인 작업 lsblk (트리구조로 더 깔끔하게 보여줌) fdisk -l (물리적으로 장착된 디스크 정보 확인) 테스트를 위해 추가한 3GB 디스크 정보 확인 -> sdb 2. fdisk [디스크 장치명] fdisk /dev/sdb 파티션 설정 모드 진입 m 을 누르면 ..
https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 해당 문제 조건 각 유저는 한번에 한명 유저만 신고가능 동일 유저 신고는 못하고 자기자신 신고불가. 2 ≤ id_list ≤ 1,000 소문자로만 이루어져있다. 1 ≤ id_list 원소의길이 ≤ 10 1≤ report ≤ 21 {이용자id 신고한id} 로 구분자 스페이스바 1≤k≤200 시간복잡도 최악의 경우 report_id * id_list 해도 O..
https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 해당 문제의 요구사항은 아래와 같다. 모든 사람이 심사를 받는데 걸리는 최소 시간을 구하여라 시간복잡도 조건 1 ≤ 사람 n ≤ 1,000,000,000 1 ≤ times 원소 ≤ 1,000,000,000 1 ≤ times 배열 길이 ≤ 100,000 최악의 경우 n = 1,000,000,000 times = [1000000000] 10억 x 10억 = 100억 ..
VirtualBox 로 centOS 이미지 설정 중 VirtualBox Host-Only Ethernet Adapter 가 뜨지 않아 삽질했던 것을 공유합니다. VirtualBox 에는 네트워크 설정(NAT, 브릿지, 내부네트워크, 호스트전용어댑터, nat 네트워크 ,,,등등) 많이 존재한다. 🎈 그럼 필자는 VirtualBox Host-Only Ethernet Adapter 로 왜 설정했을까? -> 내부 사설망을 하나 만들려고 해당 방법으로 설정했음. (호스트PC를 제외한 다른 외부 네트워크 접근 불가) (필자는 Hyper-V과 BIOS 설정도 다 설정해준 상태) VirtualBox 네트워크 설정만 하면 Host-Only Ethernet Adapter가 자동으로 생기는 것으로 알고 있었지만 어림도 없었..

앞서 포스팅한 개념을 토대로 간단하게 문제를 풀어보자. 문제 1. client(seq : 3000) server(seq : 4000) c -> s hello c s bye c 데이터 삽입->종료 순으로 직접 그리면서 풀어보겠다. 필자의 악필을 양해해주시면 감사하겠습니다. Q1. "PUSH Flag를 사용하여 데이터를 서버측에 넘겼는데 왜 응답코드도 함께 넘길까요 ?" ACK(4001) 같이 나가는 이유는 client와 server 간에 이루어진 연결을 유지 하기 위함. TCP는 연결지향 프로토콜이라는 걸 기억하자. Q2. "서버측에서 CLOSED를 바로 하지않고 "TIME_WAIT" 상태를 갖는 이유는 뭘까요 ?" 바로 마지막 패킷이 제대로 전송이 되었는지를 확인하기 위해 필요한 것이다. 위 풀이에서 서..

TCP(Transmission Control Protocol) 은 연결 지향 프로토콜입니다. 또 데이터가 제대로 보내졌나 확인을 해서 신뢰성을 가지고 있습니다. 통신 하는 과정에서 "손흔들기"절차를 통해서 서로 통신하려는 둘 간의 연결을 제대로 확립시켜야 하는데, 이 과정을 "3-Way Handshake"이라 불리고, 연결을 종료하기 위해서도, 3 Way Handshake 처럼, 4 Way Handshaking이라는 과정을 거친다. TCP 헤더는 다음과 같습니다. 📍 Flags 참고 SYN(Synchronize Sequence Number) - 연결 설정 Sequence Number를 랜덤으로 설정하여 세션을 연결하는 데 사용하며, 초기에 Sequence Number를 전송한다. ACK(Acknowled..
에라토스테네스의 체 란? 소수를 판별하는 알고리즘이다. 소수들을 대량으로 빠르고 정확하게 구하는 방법이다. 에라토스테네스의 체 원리 에라토스테네스의 체는 가장 먼저 소수를 판별할 범위만큼 배열을 할당하여, 해당하는 값을 넣어주고, 이후에 하나씩 지워나가는 방법을 이용한다. n*2 는 앞선 2의 배수를 제거하는 과정에서 이미 지워졌다. (n*2는 n의 배수이지만, 2의 배수이기도 하니까) n*3 은 앞선 3의 배수를 제거하는 과정에서 이미 지워졌다. (n*3은 n의 배수이지만, 3의 배수이기도 하니까) n*5 는 앞선 5의 배수를 제거하는 과정에서 이미 지워졌다. (n*5는 n의 배수이지만, 5의 배수이기도 하니까) ... 이처럼 n과 곱해지는 값이 n 이전의 수일때는, 이전 과정에서 이미 지워졌을 것이다..
- Total
- Today
- Yesterday
- lambda
- spring
- Spring Boot
- rds
- aws
- 초보
- java
- 스위치
- 자바
- .NET
- s3
- tcp
- 네트워크
- 라우터
- 회고록
- 회고
- ec2
- 개발자
- 개발
- 알고리즘
- Docker
- 삽질
- dto
- 라우팅
- 계층
- 프로그래머스
- 3Way Handshake
- osi7계층
- SpringBoot
- 프로토콜
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |