Future와 Stream은 이벤트 루프를 기반으로 하며, 실제로는 동일한 스레드에서 작업이 인터리브되어 실행됩니다. 하지만 CPU 집약적인 무거운 작업은 이벤트 루프를 블록할 수 있습니다.이때 사용하는 것이 Isolate입니다. Isolate는 독립된 메모리 힙과 이벤트 루프를 가진 별도의 실행 스레드입니다.CPU 코어를 병렬로 활용할 수 있음메모리 격리로 안정성이 높아짐UI 스레드를 완전히 블록하지 않음Isolate.run(): 간편한 백그라운드 작업가장 간단한 방법은 Isolate.run()을 사용하는 것입니다. 이 함수는 주어진 함수를 워커 Isolate에서 실행하고, 결과를 Future로 반환합니다.import 'dart:io';import 'dart:isolate';Future> parseJs..
도커는 여러 도커 컨테이너 사이에 전용 네트워크를 만들어 파일 및 기타 리소스를 공유할 수 있습니다. 도커 네트워크는 브리지 들아ㅣ버, McVLAN 드라이버 등 다양한 네트워크 드라이버로 생성이 가능합니다. 네트워크를 생성할 때 드라이버를 지정하지 않으면 기본 브리지 드라이버를 자동으로 선택합니다. 브리지 드라이버는 단일 호스트 네트워킹 드라이버이므로 그 범위가 로컬로 제한됩니다.브리지 네트워크 드라이버브리지는 기본 네트워크로 네트워크를 지정하지 않고 컨테이너를 생성하면 기본적으로 이 네트워크에 배치됩니다. 동일한 네트워크에 배치된 컨테이너는 서로 통신할 수 있지만 다른 네트워크에 있는 컨테이너는 설정과 권한 없이는 통신할 수 없습니다.도커 네트워크 목록docker network ls도커 네트워크의 종류..
도커에서 컨테이너의 포트를 노출하면 그 머신 외부에서 네트워크 레이어를 통해 해당 컨테이너로 들어가는 네트워크 경로가 생성됩니다. 이렇게 하면 다른 컨테이너들이 호스트로 나갔다가 해당 경로를 통해 다시 들어오면서 연결할 수 있습니다. 도커는 컨테이너 간의 연결을 제어하고 보안을 유지하며 원하는 방식으로 설정할 수 있는 광범위한 네트워킹 옵션을 제공합니다.컨테이너 간의 통신컨테이너는 격리된 상태에서도 서로 또는 외부와 상호 작용해야 합니다. 이러한 상호 작용은 컨테이너 간의 네트워킹을 통해 이루어질 수 있습니다. 이는 한 컨테이너의 애플리케이션이 다른 컨테이너의 포트를 통해 네트워크 연결을 설정하는 것을 의미합니다. 밑에 예제에서 두 개의 다른 컨테이너에서 우분투를 실행하고 포트를 정의하여 네트워크를 통해..
도커는 컨테이너라는 패키지 형태로 소프트웨어를 전달하기 위해 OS 수준 가상화를 사용하는 플랫폼 서비스입니다. 이러한 컨테이너들은 서로 또는 도커 외부의 서비스와 통신해야 할 수도 있습니다. 이를 위해 이미지를 실행하는 것뿐만 아니라 컨테이너의 포트를 노출시키고 다른 네트워크에 있는 서비스나 컨테이너들이 접근할 수 있도록 해야 합니다.도커 허브에서 이미지 가져오기도커 허브는 도커가 제공하는 컨테이너 이미지 검색 및 공유를 위한 호스팅된 리포지토리 서비스입니다. 허브에 자신만의 이미지를 호스팅할 수 있지만 여기서는 공식 nginx 리포지토리를 사용하여 nginx 이미지를 가져오겠습니다.docker pull nginx가져온 nginx 이미지로 docker run 명령어를 사용하여 컨테이너를 실행할 때 기본적..
네트워크란 서로 물리적 또는 가상으로 통신할 수 있는 두 개 이상의 장치 그룹입니다. 도커 네트워크는 도커가 컨테이너 간의 통신을 가능하게 하기 위해 생성한 가상 네트워크입니다. 동일한 호스트에서 실행되는 두 컨테이너는 호스트 머신에 포트를 노출하지 않아도 서로 통신할 수 있습니다.도커 네트워크 리스트도커에는 기본 네트워크 드라이버가 여러 개 있으며, 일부는 플러그인을 통해 설치할 수 있습니다. 도커에서 네트워크 리스트를 보려면 다음 명령어를 사용합니다.docker network ls도커 네트워크 드라이버 유형bridge: 드라이버 종류를 지정하지 않고 컨테이너를 생성하면 기본 네트워크인 브리지 네트워크에서 생성됩니다.host: 컨테이너는 IP 주소를 가지지 않고 시스템 네트워크에서 직접 생성됩니다.no..