일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- EC2 쉽게 연결하기
- EC2
- 영화감독숌
- 이진탐색
- ssh config
- Spring #Springboot #스프링 #김영한 #springmvc
- 알고리즘
- 이분탐색
- AWS EC2
- 백준
- 코딩테스트
- 자바 #버퍼 #자바입출력 #BufferedReader #BufferedWrite
- 파이썬
- HTTP #모든개발자를위한HTTP
- Today
- Total
목록분류 전체보기 (7)
우주개발

AWS EC2에서 ssh 직접 연결이 아니라 별명으로 연결하고 싶었다. ~/.ssh/config 파일을 생성해 아래와 같이 파일을 작성했다. Host [별명] HostName [ec2 퍼블릭 IPv4 DNS] User ubuntu IdentityFile ~/.ssh/ooooo.pem허나 아래와 같은 오류가 발생했다. ssh: Could not resolve hostname dgu-timetable: nodename nor servname provided, or not known1. config 파일과 pem key 권한 설정 chmod 600 ~/.ssh/ooo.pem chmod 700 ~/.ssh/config이렇게 했으나, 같은 오류가 발생했다. 2. User의 이름을 변경 블로그를 서칭하면서 찾아보니..

HTTP 모든 것이 HTTP HTML, TEXT Image, 음성, 영상, 파일, JSON, XML(API) 거의 모든 형태의 데이터 전송 가능함 서버간에 데이터를 주고 받을 때도 대부분 HTTP 를 사용한다 " 우리에게 중요한 건 HTTP/1.1 1997년 가장 많이 사용해서 우리에게 가장 중요함 기반 프로토콜 TCP: HTTP/1.1, HTTP/2 UDP: HTTP/3 현재는 HTTP/1.1을 주로 사용 HTTP/2, HTTP/3도 점점 증가하고 있다 HTTP 특징 클라이언트 서버 구조 무상태 프로토콜 (stateless), 비연결성 HTTP 메세지로 통신한다 단순하고 확장 가능하다 클라이언트 서버 구조 🤔 Request, Response 구조 클라이언트는 서버에 요청을 보내고, 응답을 대기함 서버가..

클라이언트 서버로 요청을 보낸다 “Hello World”가 클라이언트와 서버에는 IP주소가 부여되어 있다. 출발지 IP와 목적지 IP를 패킷에 감싸서 인터넷 노드에서 뒤적이면서 요청이 전송된다. IP (인터넷 프로토콜) 지정한 IP주소에 데이터를 전달한다 패킷(Packet)이라는 통신 단위로 데이터 전달 클라이언트 패킷에 담긴 정보 출발지 IP 목적지 IP 보낼 데이터 서버 패킷에 담긴 정보 출발지 IP 목적지 IP Status Code → 200 : OK IP 프로토콜의 한계점 비연결성 패킷을 받을 대상이 없고 서비스가 망가져있어도 패킷을 전송함 도착지의 상태가 어떤 상태인지 모른다 비신뢰성 중간에 패킷이 사라지거나 패킷의 순서대로 안올 수 있다. 프로그램 구분 같은 IP를 사용하는 서버에서 통신하는 ..

버퍼(Buffer)일시적으로 데이터를 저장하는 중간 저장소이다. 컴퓨터 메모리(RAM)에서 할당되고, 입출력(I/O) 작업, 변환, 전송등 다양한 연산에서 데이터를 임시로 저장하고 처리하는 데 사용된다.버퍼의 장점I/O 최적화하드 드라이브, 네트워크, 키보드 등 I/O 장치와의 통신은 비용이 큰데. 작은 크기의 데이터를 여러번 읽고 쓰는 것은 비효율적이기 때문에 버퍼를 사용해 큰 데이터를 한 번에 읽거나 쓸 수 있게 한다.데이터 스트림 처리스트리밍 데이터, 가령 영상이나 오디오 스트리밍을 처리할 때 버퍼는 데이터의 일관된 흐름을 유지하는 데 도움을 줄 수 있다. 네트워크 지연을 극복하기 위해 데이터를 버퍼에 저장하고 꺼내쓸 수 있도록 하는 것이다.데이터 변환 및 조작데이터를 변환하거나 조작할 때 버퍼는 ..

Spring 로깅을 알아보자 서비스 운영 시스템에서는 System.out.println()을 사용해서는 안된다. 그러니 라이브러리를 사용해서 로그를 노출시켜야한다. 스프링 부트 사용시 spring-boot-starter-logging이 포함되어 있어 이를 기본으로 사용한다고 한다. 로그 선언 private Logger log = LoggerFactory.getLogger(getClass()); private static final Logger log = LoggerFactory.getLogger(Xxx.class) 로그의 레벨 trace < debug < info < warn < error 순으로 레벨이 올라간다 개발서버에서는 debug 레벨로 출력을 하고 운영서버에는 info 레벨로 출려을 한다 res..

어 그래, 숌아 잘 해보자! 문제를 세 번 정도 읽은 듯 하다.. 그래 불행의 숫자 666을 포함시키는구나 오케이. 순서를 제대로 이해해야한다. 가장 먼저 고려해봐야 했던 것은 어떤 순서로 666이 나열되는지 였다. 5666 다음에 6666 인가? 라는 생각을 했는데, 생각해보니 숫자 순서대로 했을 때 6660이 되는 것을 간과할 수 있다. 이점을 파악해야된다고 생각했다. 그렇다면, 어떤 식으로 접근을 해야하나 싶었다. 1. N을 입력받는다 n = int(input()) 이건 누구나 생각할 수 있는 부분이었다. 가장 중요했던 것은 다음인데, 🤔 666이 포함된 문자중에서 순서를 확인하면 되는거라면? i = 0 # while 문을 반복하기 위한 변수 target = 666 # N번째 순서라는 것을 확인하기..

이진탐색이란? 이진탐색 알고리즘의 경우 순서대로 정렬된 배열에서 원하는 값을 찾아내는 알고리즘이다. 찾고자 하는 값(target)과 임의의 중간값을 비교해서 target과 중간값을 끊임없이 비교해서 중간값과 target이 같을 때 중간 값을 return 한다 def binary_search(array, target): start = 0 end = len(array)-1 while start target: end = mid -1 else: start = mid +1 return None 처음에도 그렇고 이해가 잘 가지 않았다. 코드로만 보면 이해가 어려웠는데 실제 대입해서 하나씩 흐름을 보고 나서야 이해가 되었다. 설명 a = [1 , 22 , 33 , 54 , 65 , 67 , 81 , 88 , 92 ,..