개발로그
close
프로필 배경
프로필 로고

개발로그

  • 분류 전체보기 (551)
    • JAVA (68)
      • 자바소개 (4)
      • 자바 기본 문법 (22)
      • 객체 지향 프로그래밍 (15)
      • 예외 처리 (9)
      • 스레드 (18)
    • Databases (14)
      • JDBC (13)
      • Hibernate ORM (1)
    • GIT (39)
      • 시작하기 (5)
      • GIT의 기초 (7)
      • Git 브랜치 (6)
      • Git 서버 (7)
      • Git 분산 환경 (6)
      • Git 도구 (8)
    • AWS (6)
      • 시작하기 (3)
      • AMI (3)
    • Docker (30)
    • Kubernetes(K8S) (2)
    • 브라우저 (32)
    • JavaScript (79)
    • TypeScript (38)
    • D3 (47)
      • D3 소개 (2)
      • 시각화 (45)
    • REACT (13)
      • 리액트 학습하기 (13)
      • 리액트 API (0)
      • 리액트 DOM API (0)
    • React Native (19)
    • Dart (26)
    • Flutter (8)
    • Electron (15)
    • 알고리즘 (41)
      • 자료구조 (24)
      • 검색 알고리즘 (0)
      • 초급 알고리즘 (17)
      • 중급 알고리즘 (0)
      • 고급 알고리즘 (0)
    • 코딩문제 (35)
    • 도구 (39)
      • 프리미어프로 (39)
  • 홈
  • 태그
  • 방명록
[Dart] 독립된 실행 스레드: Isolate

[Dart] 독립된 실행 스레드: Isolate

Future와 Stream은 이벤트 루프를 기반으로 하며, 실제로는 동일한 스레드에서 작업이 인터리브되어 실행됩니다. 하지만 CPU 집약적인 무거운 작업은 이벤트 루프를 블록할 수 있습니다.이때 사용하는 것이 Isolate입니다. Isolate는 독립된 메모리 힙과 이벤트 루프를 가진 별도의 실행 스레드입니다.CPU 코어를 병렬로 활용할 수 있음메모리 격리로 안정성이 높아짐UI 스레드를 완전히 블록하지 않음Isolate.run(): 간편한 백그라운드 작업가장 간단한 방법은 Isolate.run()을 사용하는 것입니다. 이 함수는 주어진 함수를 워커 Isolate에서 실행하고, 결과를 Future로 반환합니다.import 'dart:io';import 'dart:isolate';Future> parseJs..

  • format_list_bulleted Dart
  • · 2025. 9. 4.
  • textsms
[Dart] 타입 정의(typedef): 복잡한 타입을 간단하게

[Dart] 타입 정의(typedef): 복잡한 타입을 간단하게

typedef란 - 타입에 별칭 붙이기typedef는 기존 타입에 새로운 이름을 부여하는 기능입니다. 일종의 타입의 줄임말이라고 생각하면 됩니다.// IntList라는 이름으로 List를 정의typedef IntList = List;// 이제 IntList를 마치 타입처럼 사용할 수 있음IntList numbers = [1, 2, 3, 4];IntList는 단순한 별칭일 뿐, 새로운 타입이 아닙니다.기본 사용법: 컬렉션 타입 간소화가장 흔한 사용처는 복잡한 컬렉션 타입을 단순화하는 것입니다.// 기본 사용법typedef StringList = List;typedef IntMap = Map;StringList names = ['Alice', 'Bob'];IntMap scores = {'Alice': 95,..

  • format_list_bulleted Dart
  • · 2025. 9. 4.
  • textsms
[Docker] 브리지 네트워킹을 사용하는 방법

[Docker] 브리지 네트워킹을 사용하는 방법

도커는 여러 도커 컨테이너 사이에 전용 네트워크를 만들어 파일 및 기타 리소스를 공유할 수 있습니다. 도커 네트워크는 브리지 들아ㅣ버, McVLAN 드라이버 등 다양한 네트워크 드라이버로 생성이 가능합니다. 네트워크를 생성할 때 드라이버를 지정하지 않으면 기본 브리지 드라이버를 자동으로 선택합니다. 브리지 드라이버는 단일 호스트 네트워킹 드라이버이므로 그 범위가 로컬로 제한됩니다.브리지 네트워크 드라이버브리지는 기본 네트워크로 네트워크를 지정하지 않고 컨테이너를 생성하면 기본적으로 이 네트워크에 배치됩니다. 동일한 네트워크에 배치된 컨테이너는 서로 통신할 수 있지만 다른 네트워크에 있는 컨테이너는 설정과 권한 없이는 통신할 수 없습니다.도커 네트워크 목록docker network ls도커 네트워크의 종류..

  • format_list_bulleted Docker
  • · 2024. 6. 20.
  • textsms
[Docker] 네트워크를 통해서 두 개의 컨테이너 연결하기

[Docker] 네트워크를 통해서 두 개의 컨테이너 연결하기

도커에서 컨테이너의 포트를 노출하면 그 머신 외부에서 네트워크 레이어를 통해 해당 컨테이너로 들어가는 네트워크 경로가 생성됩니다. 이렇게 하면 다른 컨테이너들이 호스트로 나갔다가 해당 경로를 통해 다시 들어오면서 연결할 수 있습니다. 도커는 컨테이너 간의 연결을 제어하고 보안을 유지하며 원하는 방식으로 설정할 수 있는 광범위한 네트워킹 옵션을 제공합니다.컨테이너 간의 통신컨테이너는 격리된 상태에서도 서로 또는 외부와 상호 작용해야 합니다. 이러한 상호 작용은 컨테이너 간의 네트워킹을 통해 이루어질 수 있습니다. 이는 한 컨테이너의 애플리케이션이 다른 컨테이너의 포트를 통해 네트워크 연결을 설정하는 것을 의미합니다. 밑에 예제에서 두 개의 다른 컨테이너에서 우분투를 실행하고 포트를 정의하여 네트워크를 통해..

  • format_list_bulleted Docker
  • · 2024. 6. 19.
  • textsms
[Docker] 포트 관리하기

[Docker] 포트 관리하기

도커는 컨테이너라는 패키지 형태로 소프트웨어를 전달하기 위해 OS 수준 가상화를 사용하는 플랫폼 서비스입니다. 이러한 컨테이너들은 서로 또는 도커 외부의 서비스와 통신해야 할 수도 있습니다. 이를 위해 이미지를 실행하는 것뿐만 아니라 컨테이너의 포트를 노출시키고 다른 네트워크에 있는 서비스나 컨테이너들이 접근할 수 있도록 해야 합니다.도커 허브에서 이미지 가져오기도커 허브는 도커가 제공하는 컨테이너 이미지 검색 및 공유를 위한 호스팅된 리포지토리 서비스입니다. 허브에 자신만의 이미지를 호스팅할 수 있지만 여기서는 공식 nginx 리포지토리를 사용하여 nginx 이미지를 가져오겠습니다.docker pull nginx가져온 nginx 이미지로 docker run 명령어를 사용하여 컨테이너를 실행할 때 기본적..

  • format_list_bulleted Docker
  • · 2024. 6. 19.
  • textsms
[Docker] network 사용방법

[Docker] network 사용방법

네트워크란 서로 물리적 또는 가상으로 통신할 수 있는 두 개 이상의 장치 그룹입니다. 도커 네트워크는 도커가 컨테이너 간의 통신을 가능하게 하기 위해 생성한 가상 네트워크입니다. 동일한 호스트에서 실행되는 두 컨테이너는 호스트 머신에 포트를 노출하지 않아도 서로 통신할 수 있습니다.도커 네트워크 리스트도커에는 기본 네트워크 드라이버가 여러 개 있으며, 일부는 플러그인을 통해 설치할 수 있습니다. 도커에서 네트워크 리스트를 보려면 다음 명령어를 사용합니다.docker network ls도커 네트워크 드라이버 유형bridge: 드라이버 종류를 지정하지 않고 컨테이너를 생성하면 기본 네트워크인 브리지 네트워크에서 생성됩니다.host: 컨테이너는 IP 주소를 가지지 않고 시스템 네트워크에서 직접 생성됩니다.no..

  • format_list_bulleted Docker
  • · 2024. 6. 19.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 6
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (551)
    • JAVA (68)
      • 자바소개 (4)
      • 자바 기본 문법 (22)
      • 객체 지향 프로그래밍 (15)
      • 예외 처리 (9)
      • 스레드 (18)
    • Databases (14)
      • JDBC (13)
      • Hibernate ORM (1)
    • GIT (39)
      • 시작하기 (5)
      • GIT의 기초 (7)
      • Git 브랜치 (6)
      • Git 서버 (7)
      • Git 분산 환경 (6)
      • Git 도구 (8)
    • AWS (6)
      • 시작하기 (3)
      • AMI (3)
    • Docker (30)
    • Kubernetes(K8S) (2)
    • 브라우저 (32)
    • JavaScript (79)
    • TypeScript (38)
    • D3 (47)
      • D3 소개 (2)
      • 시각화 (45)
    • REACT (13)
      • 리액트 학습하기 (13)
      • 리액트 API (0)
      • 리액트 DOM API (0)
    • React Native (19)
    • Dart (26)
    • Flutter (8)
    • Electron (15)
    • 알고리즘 (41)
      • 자료구조 (24)
      • 검색 알고리즘 (0)
      • 초급 알고리즘 (17)
      • 중급 알고리즘 (0)
      • 고급 알고리즘 (0)
    • 코딩문제 (35)
    • 도구 (39)
      • 프리미어프로 (39)
최근 글
인기 글
최근 댓글
태그
  • #TypeScript
  • #알고리즘
  • #D3
  • #코딩문제
  • #docker
  • #프리미어프로
  • #Javascript
  • #브라우저
  • #java
  • #git
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바