CS
-
[네트워크] 프로토콜CS/네트워크 2024. 6. 4. 16:42
프로토콜이란?테이터를 주고 받기 위해 필요한 통신 규역ex) 외교문서, 택배주소지 등등 프로토콜의 기능 데이터와 형태와 수준 및 우선순위에 따라서 적합한 프로토콜이 존재함- 분할/재조립 데이터를 패킷 단위로 분리- 캡슐화 : 데이터를 전송할 수 있도록 포장(정보는 헤더에 포함)- 연결제어 : 데이터 전송의 시간과 양을 조절- 동기화 : 송수신간 데이터를 주고받는 시점과 그 상태를 일치화- 순서 재어 : 패킷 번호를 부여해 관리- 오류 제어 : 전송과정에서 발생한 문제 관리 프로토콜의 구성요소- 형식(syntax) : 데이터를 어떻게 구성/해석할 것인가?- 의미(semeantic) : 데이터 및 오류를 어떻게 처리할 것인가?- 순서(timing) : 통신하는 속도와 속도의 조절, 데이터 젆송의 순서관리 출..
-
[네트워크] 데이터 전송 원리CS/네트워크 2024. 6. 4. 16:38
직렬 전송 (Serial Transmission)한 번에 한 비트씩 데이터를 전송하는 방식. 데이터 비트들이 하나의 경로를 통해 차례대로 전송됨주로 장거리 통신에 사용됨전송 라인이 적게 필요하고 케이블 길이에 대한 제약이 적음 병렬 전송 (Parallel Transmission)여러 비트를 동시에 병렬로 전송하는 방식데이터 비트들이 여러 개의 병렬 경로를 통해 동시에 전송됨주로 짧은 거리에서 높은 대역폭을 제공여러 비트를 동시에 전송하여 속도를 향상시킬 수 있음 비동기 통신 (Asynchronous Communication)데이터를 전송할 때, 데이터 비트들과 타이밍 정보가 함께 전송되지 않는 방식시작 비트와 정지 비트를 사용하여 프레임을 나누고, 송수신측 간의 속도나 타이밍이 서로 일치하지 않아도 통신..
-
[네트워크] 네트워크 구성 요소CS/네트워크 2024. 6. 4. 16:35
LAN 케이블 (Local Area Network Cable)LAN에서 디바이스들 간에 데이터를 전송하는 데 사용되는 케이블. 일반적으로 이더넷 케이블이 가장 흔하게 사용 스위칭 (Switching)네트워크에서 여러 디바이스 간에 데이터를 전송하는 기술. 스위치는 목적지 주소를 기반으로 데이터를 전송하여 효율적이고 높은 대역폭을 제공함허브 (Hub)네트워크 디바이스들을 연결하는 장치로, 데이터를 수신하면 연결된 모든 포트로 데이터를 전송합니다. 전송된 데이터는 네트워크의 모든 디바이스에 도달하게 됨리피터 (Repeater)신호의 감쇄를 보충하여 전송 거리를 증가시키는 장치. 주로 케이블이나 네트워크 미디어에서 발생하는 신호 감쇄를 보정함 브리지 (Bridge) 둘 이상의 네트워크를 연결하여 데이터를 전송..
-
[엔지니어링] - 라이브러리와 프레임워크CS/엔지니어링 2023. 6. 27. 17:20
요즘 CS에 무척 관심이 생겼다. 친구 중 한명에게 "개발 단어 관련에서 지식이 짧은것 같다." 라는 말을 듣고 난뒤 사태의 심각성을 느끼게 되었다. 사실 나도 내가 그런쪽에 매우 무지함을 알고 있었지만 별 대수롭게 넘겼으나 남에게 이런소리를 들으면 후에 다른 개발자들과 의사소통이 불가능 할 것 같아서 하루에 한 단원씩은 꼭 관련 책을 읽고 있다. 자 그럼 본론으로 들어가서 오늘은 면접 단골질문인 프레임워크와 라이브러리의 차이이다. 이건 나도 자주 헷갈렸던 부분이지만 확실하게 개념을 다지기로 했다. 먼저 라이브러리와 프레임워크 모두 특정한 여러 기술들을 모듈화한것이다. 다만, 사용하는 주체에서 차이가 나는데, 컨트롤을 누가하냐가 관건인데, 아래 그림을 보자 프레임워크 먼저 프레임 워크는 코드를 폴더,파일..
-
[네트워크] HTTP와 HTTPS의 차이점CS/네트워크 2023. 3. 20. 14:48
오늘은 http와 https의 차이점에 대해서 포스팅 하려고 한다. 사실 말만 들었을때는 오타 하나 차이로 느껴질수 있겠지만 엄연히 뜻이 있고 다른 프로토콜이다 HTTPS 저번 포스팅에도 말했듯이 HTTP는 통신규약(프로토콜)이다. 근데 여기서 S는 secure의 약자이다. 직역하면 "안전한" 이라는 뜻인데, 솔직히 여기서 모두 이해했을 것이라고 생각한다. 우리가 패킷을 전송할때 개인정보같은 민감한 부분은 암호화가 들어가야하는데, HTTP에서 TLS라는 프로토콜을 사용하게 된다. TLS의 정의를 이렇다. 개인 정보 보호 및 안전한 전송을 위해 이메일을 암호화하는 표준 인터넷 프로토콜 이처럼 TLS를 참조하여 HTTP 프로토콜을 사용하면 암호화된 패킷을 통신할 수 있다. 예를 들어보겠다. HTTP로 통신하..
-
[네트워크] #네트워크란?CS/네트워크 2023. 1. 11. 06:07
오랜만에 포스팅이다. 이 네트워크 카테고리의 원래 첫 게시물로 올라왔어야 했는데, 네트워크 기초이론 공부가 뒤죽박죽 되는 바람에 http부터 올리게 되었다..(잘알지도 못하면서..) 어쨌든 다시 완전 처음부터 공부하기로 했다. 아무래도 클라이언트와 서버의 통신관계를 파악하기 위해 중요한 개념이니 다같이 차근차근 알아보도록하자. 나는 완전 생초보부터 시작하는 것이니 정보가 틀릴 수도 있고, 내가 해석한 내용이 잘못되있을 수도 있으니 혹시 발견하면 많은 지적을 부탁드린다. 인터넷에 포함되어있는 개념 여러개의 노드들이 정보를 공유하기 위해 이루어진 정보통신망 정의는 위와 같다. 우리가 IT쪽으로 생각해서 인터넷,온라인 등이 먼저 떠오르지만 네트워크라는건 오프라인도 될 수 있다. 여러 사람들이 정보를 공유하는 ..
-
[엔지니어링] #메모리구조CS/엔지니어링 2022. 12. 22. 01:43
오늘은 메모리 구조에 대해서 알아볼 예정이다. 우리가 어플을 만들 때 엄청 중요한게 메모리 관리이다. 이것으로 인해 같은 어플이라도 품질 이 하늘과 땅차이가 나게 된다. 좋은 프로그래머가 되기 위해서는 효율적인 메모리 관리가 중요할 것이다. 지금 배우는 메모리 구조는 후의 swift프로그램에서의 ARC과 연결이 되니 꼭 공부해 보길 바란다. 메모리 구조란? 프로그램을 위해 운영체제가 할당해주는 공간 우리가 아무생각없이 사용하는 프로그램, 운영체제 등 필수적으로 메모리가 필요로 하다. 이 메모리라고 하는 곳은 한 프로그램이 실행될 시 한공간의 모든 종류의 데이터가 들어가는게 아니라 이 안에서도 4가지로 분류가 된다. (아마.. 메모리공간하나에 모든 정보가 들어가게 되면 전자기기는 깡통이되지 않을까 싶다....
-
[네트워크] HTTP #1CS/네트워크 2022. 12. 20. 13:44
오늘은 네트워크에 포스팅을해볼예정이다 모바일을 전공 하려면 어쩔수 없이 네트워크 통신을 공부를 해야한다고 생각한다. 내가 관심 있는 분야가 서비스 이기도 하고, 요즘은 인터넷이 없으면 어플을 사용하는 메리트가 떨어진다. 그래서 프론트엔드를 전공 하더라도 네트워크에 대한 지식은 있어야한다고 판단을 했기에 공부를 시작했다. 그래서 오늘은 네트워크 통신을 위한 내용중 기본인 http에 대해서 알아보는 시간을 가져보자 HTTP Hyper Text Transport Protocol의 약자로 서버와 클라이언트 사이에서 어떻게 메시지를 교환할지를 정해 놓은 규칙 http는 규칙이기 때문에 정해진 양식이 존재하고 그것에 구성에 대해서 알아야한다. 요청과 응답으로 이루어져 있다. 서버와 클라이언트가 존재하면 그 둘 사이..