전체 글20 [Network] TCP 3-way handshake / 4-way handshake ✏️ 3-way handshake TCP 통신을 이용하여 데이터를 전송하기 위해 네트워크 연결을 설정(Establish) 하는 과정 양쪽 모두 데이터를 전송할 준비가 되었다는 것을 보장하고, 실제로 데이터 전달을 시작하기 전에 한 쪽이 다른 한쪽이 준비되었다는 것을 알 수 있도록 한다. 즉, TCP/IP 프로토콜을 이용해서 통신을 하는 응용 프로그램이 데이터를 전송하기 전에 먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 말한다. 아래 세단계를 통해 세션이 수립(Establish)된다. 1) Client > Server : SYN 2) Server > Client : SYN, ACK 3) Client > Server : ACK 1) Client는 Server에 접속을 요청.. 2022. 11. 14. [Rust] String to Integer 타입 변환 Rust의 String type에서 제공하는 parse() 메서드를 사용해서 정수로 변환할 수 있다. HTML 삽입 미리보기할 수 없는 소스 Rust에서는 이미 선언한 변수라도 새로 동일이름의 변수를 선언할 시에 새로운 값으로 해당 변수의 기존 값을 가려버리기 때문에 에러가 아니며, 이를 이용해서 두 개의 변수를 선언하지 않고 기존 변수를 바로 Int형으로 변경할 수 있다. String의 parse()메서드는 문자열을 파싱해서 숫자로 변환한다. 이 메서드는 다양한 타입의 숫자로 변환할 수 있으며, 정확히 원하는 숫자 타입을 러스트에 알려줘야 한다. 타입을 알리는 방식은 위 코드처럼 변수명 다음 콜론(:)으로 구분하고 변환하고자 하는 타입을 명시해준다. let inputVal : u32 = inputVal.. 2022. 11. 7. [Rust] 외부 크레이트(Crate) 사용하기 🔹크레이트(Crate) ? Rust에서 소스파일의 집합을 크레이트라고 부르고, C++이나 Java에서 외부 라이브러리를 사용하는 것 처럼 Rust에서도 외부 라이브러리 크레이트를 사용할 수 있다. 사용방법 외부 크레이트를 사용하기 위해서는 Cargo.toml파일에서 의존성 추가를 먼저 해주어야 한다. 예시로 난수 생성 크레이트인 rand 크레이트를 추가 해본다 사용하려는 크레이트명 = "Semantic Version" 이외에 외부 의존 패키지들은 cartes.io에서 확인 할 수있다. crates.io: Rust Package Registry Cargo.toml에 사용하고자 하는 의존성 패키지를 추가하고 build를 돌려보면 카고가 패키지 저장소 업데이트를 진행하고 [dependencies] 섹션에 아직.. 2022. 11. 7. [Rust] 카고(Cargo)에 대해서 카고(Cargo)란? 카고는 러스트의 빌드 시스템이자 패키지 관리자이다. 카고는 코드의 빌드, 코드가 의존하는 라이브러리의 다운로드, 그리고 이런 라이브러리의 빌드 등 다양한 작업을 대신 처리해주기 때문에 대부분의 러스타시안은 이 도구를 이용해 러스트 프로젝트를 관리한다. 카고를 이용한 프로젝트 생성 운영체제와 관계없이 다음의 명령을 통해 카고 프로젝트를 생성한다 $cargo new hello_cargo(프로젝트명) cargo로 프로젝트를 생성하게 되면 main.rs 파일이 보관된 src 디렉토리와 Cargo.toml파일을 자동으로 생성 해준다. Cargo.toml? 이 파일은 TOML(Tom's Obvious, Minimal Language) 형식으로 작성되어 있다. 이 형식은 카고의 설정 파일 형식이.. 2022. 11. 7. 이전 1 2 3 4 5 다음