전체 글233 프로토콜(Protocol) 프로토콜이란? 컴퓨터끼리 서로 통신하기 위해서 꼭 필요한 서로간의 통신 규약 또는 통신 방식에 대한 약속으로 프로토콜이 같은 것끼리만 대화 즉 통신이 가능하다. 프로토콜의 종류 1. TCP/IP (Transmission Control Protocol/Internet Protocol) 2. IPX(Internetwork Packet Exchange) 3. AppleTalk(맥) 2023. 2. 25. OSI 7 계층 (OSI Seven Layer) OSI(Open Systems Interconnection) Seven Layer란? - International Organization for Standardization(ISO)라는 곳에서 통신이 일어나는 과정을 7개의 단계로 나눈 것 - Application Layer (애플리케이션 계층) - Presentation Layer (프레젠테이션 계층) - Session Layer (세션 계층) - Transport Layer (전송 계층) - Network Layer (네트워크 계층) - Data Link Layer (데이터 링크 계층) - Physical Layer (물리 계층) 네트워크를 OSI Seven Layer로 나눈 이유? 1. 데이터의 흐름이 한눈에 보인다. 2. 문제를 해결하기 편리하다... 2023. 2. 25. 맥 어드레스(MAC Address) MAC(Media Access Control) = 미디어 액세스 컨트롤 - 컴퓨터는 네트워크 상에서 서로를 구분해서 인식해야함 - 즉, 통신을 위해서는 서로를 구분할 일종의 주소가 필요함 - 이 역할을 담당하는 주소가 MAC 주소 - 인터넷은 TCP/IP로 통신을 하고 따라서 통신을 위해서 IP 주소를 사용함(이 경우에도 맥 어드레스를 사용함) - IP 주소를 다시 MAC으로 바꾸는 절차(ARP : Address Resolution Protocol)를 밟는다. MAC 어드레스 예시 (8자리마다 하이픈(-), 콜론(:), 점(.)으로 구분 00-60-97-8F-4F-86 00:60:97:8F:4F:86 0060.978F.4F86 모두 같은 호스트를 나타냄 - 48bit의 주소를 갖게 되는데 이 주소는 랜카.. 2023. 2. 25. 토큰링(TokenRing) 토큰링이란? - 네트워크에서 한 PC만(토큰을 가지고있는) 네트워크에 데이터를 실어 보낼 수 있다. - 한 네트워크에 토큰 한개 - 토큰을 가지고 있는 PC에서 토큰을 다 보내고 나면 바로 옆 PC에게 전달 - 내가 지금 보낼 데이터가 있고 다른 PC는 보낼 데이터가 없어도 토큰이 없으면 보낼수 없다는 단점 존재 - 우리 나라에선 별로 쓰이고 있지 않음 2023. 2. 25. 이더넷(Ethernet) 이더넷이란? - 네트워킹의 한 방식 - CSMA/CD라는 프로토콜을 사용해서 통신 CSMA/CD(Carrier Sense Multiple Access/Collision Detection)란? - 대충 알아서 눈치로 통신하자 - 캐리어(네트워크 상에 나타나는 신호)가 있는지를 감지 = Carrier Sense - 네트워크상에 통신을 하고 있으면 자기가 보낼 정보가 있어도 못 보내고 기다린다. - 네트워크에서 통신이 없어지면 눈치를 보다가 무조건 자기 데이터를 네트워크 상에 실어서 보냄 - 두 개 이상의 PC나 서버가 동시에 네트워크 상에 데이터를 실어 보내는 경우 = Multiple Access(다중 접근) - Multiple Access로 데이터를 동시에 보내다가 부딪치는 경우 = Collision이 발.. 2023. 2. 25. 네트워킹(인터넷, 인트라넷, 엑스트라넷) 네트워킹 이란? "서로 연결하는 것" 연결하기만 한다고 네트워킹이 되지 않는다. 정보와 자원을 공유하기 위해서서로 연결된 장비들끼리 서로 대화를 주고 받을 수 있어야 한다. => 한마디로 정의 하면 "장비들을 서로 대화가 가능하도록 묶어주는 것" 인터넷이란? 인터넷(InterNet)의 인터(Inter)라는 말은 연결을 의미한다. -> 인터넷 = 여러개의 네트워크를 묶었다. 인터넷의 특징 하나의 *프로토콜만 사용한다. (TCP/IP) 익스플로러나 크롬과 같은 웹 브라우저를 이용해서 인터넷을 탐험한다. 필요한 정보는 무엇이든지 있다. 인트라넷이란? - 인트라(intra) = 내부의 -> 내부의 네트워크 -> 특정 회사의 사람들에게만 사용이 허가된 사내 네트워크 엑스트라넷이란? - 인트라넷과 거의 유사 하지만.. 2023. 2. 25. OS(Operating system) 운영체제(OS, Operating System)란? - 운영체제(OS, Operating System)는 컴퓨터 시스템의 자원들을 효율적으로 관리하며, 사용자가 컴퓨터를 편리하고, 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램의 모임이다. 운영체제는 컴퓨터 사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템 소프트웨워의 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공한다. => 즉 검퓨터의 사용자와 하드웨어 사이에서 중개자 역할을 해주는 프로그램 운영체제의 종류 Windows Mac OS Linux Unix 운영체제의 기능 프로세서, 기억장치, 입출력 장치, 파일 및 정보 등의 자원을 관리 자원을 효율적으로 관리하기 위해 자원의 스케줄링 기능 제공 사용자와 시.. 2023. 2. 24. 유닉스(UNIX) 명령어 참고 https://hwan-hobby.tistory.com/m/56 유닉스 명령어 모음 이 글은 다른 분이 정리해놓은 사이트를 참고하여 정리한 글이다 (참고: myeonguni.tistory.com/1629 / ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%89%EC%8A%A4_%EB%AA%85%EB%A0%B9%EC%96%B4_%EB%AA%A9%EB%A1%9D) ※ 유닉스 명령어 목록 hwan-hobby.tistory.com 1. 파일 시스템 cat - 파일 연결 및 출력 cd - 작업 디렉터리 변경 dd - 파일 변환 및 복사 chmod -파일모드/특성/권한 변경 chown - 파일 소유권 변경 chgrp - 파일 그룹 소유권 변경 cksum - 파일 체크섬 및 크기 기록 cmp.. 2023. 2. 24. Dockerfile 작성하기 FROM - 모든 이미지는 다른 이미지로부터 출발한다. - 이 이미지는 diamol/node 이미지를 시작점으로 지정한다. - diamol/node 이미지에는 web-ping 애플리케이션을 실행하는 데 필효한 런타임인 Node.js가 설치돼 있다. ENV - 환경 변수 값을 지정하기 위한 인스트럭션이다. - 값을 지정하기 위해 [key] = "[value]"형식을 따른다. - 이 스크립트에서는 ENV 인스트럭션이 세번 사용돼 세 개의 환경 변수를 설정했다. WORKDIR - 컨테이너 이미지 파일 시스템에 디렉터리를 만들고, 해당 디렉터리를 작업 디렉터리로 지정하는 인스트럭션 - 리눅스와 윈도우 컨테이너 모두 구분자로 슬래시를 사용한다. CMD - 도커가 이미지로부터 컨테이너를 실행했을 때 실행할 명령을 .. 2023. 2. 23. App 솔류션 종류 네이티브 앱(Native App) 개념 - Android 또는 iOS 같은 어떤 구체적인 플랫폼만을 위해 만들어진 응용 프로그램 - Android 모바일 앱 개발의 경우 Kotlin 또는 Java로 네이티브 앱을 만들 수 있다. - iOS의 경우 Swift또는 Objective C로 만들수 있다. 장점 - 사용자에게 가장 빠르고 안정적이며 반응이 빠른 환경을 제공 - 유용한 API의 지원도 받을 수 있다. - 다양한 네이티브 기능을 쉽게 활용: 카메라, 마이크, GPS 및 스와이프 제스처 단점 - 둘 이상의 코드 베이스: 네이티브 앱은 Android와 iOS의 호환이 되지 않기 때문에 별도로 제작 - 더 많은 비용이 들고 빌드 하는데 시간이 오래 걸림 언제 유용한가? - 앱의 성능이나 실행될 장치의 하드.. 2023. 2. 23. PATH 환경 변수(environment variable) 선행개념 - 윈도우에서 파일을 찾을때 가장 먼저 찾는 곳이 현재 디렉토리이다. - 터미널을 열면 가장 먼저 있는 장소가 현재 디렉토리이다. - cmd창에서 현재 위치에서 파일을 검색해도 내가 실행하려는 파일이 없으면 컴퓨터는 찾지 못한다. - 이런 불편함을 줄이기 위해서 설정하는것이 환경 변수 설정이다. 환경 변수 - 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는, 동적인 값들의 모임 - 운영체제에서 제공하는 키-값 쌍이다. - 윈도우나 리눅스나 같은 방식으로 동작하며, 아주 적은 양의 데이터를 저장하는데 유용하다. PATH - 특정한 파일이 있는 위치를 나타내는 주소이다. - Windows 에 존재하는 PATH라는 이름의 환경변수 - 어떤 디렉토리에서도 실행할 수 있는 파일들을 찾기 위한 경로를 .. 2023. 2. 22. Docker 허브에 공유된 이미지 사용하기 실습 예제 애플리케이션(web-ping) -> 웹 사이트가 노출되는지 확인하는 기능을 함 -> 컨테이너에서 실행돼 지정된 URL에 HTTP 요청을 3초마다 보내는 동작을 컨테이너가 종료될 때가지 반복한다. 1. web-ping 애플리케이션의 컨테이너 이미지를 내려받기 - $docker image pull diamol/ch03-web-ping -> 도커가 가장 먼저 이미지를 찾기 위해 접근하는 저장소인 도커 허브에 저장 -> 이미지를 제공하는 저장소를 레지스트리(registry)라고 함 -> 도커 허브는 무료로 제공되는 공개 레지스트리 2. 내려받은 이미지로 컨테이너를 실행하고 실행된 애플리케이션의 기능을 확인 - $docker container run -d --name web-ping diamol/ch0.. 2023. 2. 22. Docker 기본 명령어 1. 컨테이너로 애플리케이션 실행하기 "$docker container run (애플리케이션 이름)" - docker container run 명령은 컨테이너로 애플리케이션을 실행 하라는 도커 명령어 - 이 애플리케이션은 미리 도커로 실행하도록 패키징돼 누구나 내려받을 수 있도록 공유된것 - 이미지를 이용해 컨테이너를 실행하려면 먼저 이미지가 있어야 한다. - 명령을 처음 실행했던 시점에는 우리가 이미지를 갖고 있지 않았다. (unable to find image locally) - 도커가 이미지를 내려받음 (Pulling from 애플리케이션) - 컴퓨터 이름 fcac12c854c9(매번 바뀜) - IP 주소는 172.17.0.2이다.(매번 바뀔 확률이 높음) 2. 컨테이너를 원격 컴퓨터처럼 사용 "$.. 2023. 2. 21. Docker가 컨테이너를 실행하는 원리 도커의 워크 플로우 "빌드" -> " 공유" -> "실행" 도커 엔진(Docker Engine) - 도커의 관리 기능을 맡는 컴포넌트다. 로컬 이미지 캐시를 담당 하므로 새로운 이미지가 필요하면 이미지를 내려받으며, 기존 이미지가 있으면 전에 내려받은 이미지를 사용한다. - 호스트 운영체제와 함께 컨테이너와 가상 네트워크 등 도커 리소스를 만드는 일도 담당한다. - 도커 엔진은 항시 동작하는 백그라운드 프로세스다. - 도커 API는 표준 HTTP기반 REST API다. - 도커 엔진의 설정을 수정하면 이 API를 네트워크를 경유해 외부 컴퓨터로 부터 호출 할 수 없도록 차단하거나 허용할 수 있다. 도커 명령행 인터페이스(Docker command-line interface) - 도커 CLI는 도커 API.. 2023. 2. 20. Docker 컨테이너와 이미지 이해하기 Dokcer란? - 도커는 컨테이너라는 경량 단위로 애플리케이션을 실행하는 기능을 제공하는 플랫폼이다. Dokcer 워크플로의 핵심 빌드 -> 공유 -> 실행 - 애플리케이션을 컨테이너에서 샐행 할 수 있도록 패키징 - 다른 사람이 패키지를 사용할 수 있도록 공유 - 패키지를 내려받은 사람이 컨테이너를 통해 애플리케이션을 실행 컨테이너란 무엇인가? 컨테이너는 말 그대로 물건을 담는 컨테이너와 다를 게 없다. -> 호스트명, IP 주소, 파일 시스템까지 이들은 모두 도커가 만들어낸 가상 리소스다. 이들이 서로 엮여 애플리케이션이 동작할 수 있는 환경이 만들어진다. -> 상자 안에서는 상자 밖의 환경을 볼 수 없다. 그러나 이 상자는 어떤 컴퓨터상에서 동작하는 것이고, 이 컴퓨터는 이 상자 말고도 다른 상자.. 2023. 2. 19. 이전 1 2 3 4 5 6 ··· 16 다음