728x90

ETC 19

[Clean Architecture] 패러다임 개요(구조적, 객체지향, 함수)

클린 아키텍처: 세 가지 프로그래밍 패러다임을 읽고클린 아키텍처를 읽으면서 특히 인상 깊었던 부분은 구조적 프로그래밍, 객체지향 프로그래밍, 함수형 프로그래밍이라는 세 가지 패러다임에 대한 설명이었습니다. 이 패러다임들은 우리가 소프트웨어를 설계하고 개발하는 방식에 깊은 영향을 미쳐왔습니다. 책에서 이를 어떻게 설명했는지, 그리고 제가 이해한 바를 정리해 보았습니다.1. 구조적 프로그래밍 (Structured Programming)가장 먼저 적용된 패러다임이자 현대 소프트웨어 개발의 기초를 다진 구조적 프로그래밍은 1968년 에츠허르 비버 데이크스트라에 의해 제안되었습니다.당시에는 프로그램 내에서 무분별한 goto 문장이 사용되었는데, 이는 프로그램의 흐름을 지나치게 복잡하고 예측하기 어렵게 만들었습니다..

ETC/책 2025.01.07

[Clean Architecture] 서문 및 개요

좋은 코드를 짜기 위한 책 읽기책을 읽으면 얼마나 좋은 내용을 알게 될지 테스트 [독서 후기] 클린 아키텍처 - 좋은 소프트웨어를 위한 원칙과 철학책 소개《클린 아키텍처》의 저자 로버트 C. 마틴(일명 "아저씨(uncle) Bob")은 1964년, 12살의 나이에 처음 코드를 작성하며 개발을 시작했습니다. 반세기에 걸친 개발 경험 속에서 그는 임베디드 시스템, 대규모 배치 처리 시스템, 실시간 시스템, 웹, 콘솔 등 다양한 분야에서 수많은 시스템을 구축하며 소프트웨어 구조화의 원칙을 배워왔습니다.그는 오랜 시간 고민하고 경험한 끝에 소프트웨어 아키텍처의 본질적인 규칙은 변하지 않는다는 사실을 깨달았습니다. 하드웨어는 반세기 동안 급격히 발전했지만, 좋은 아키텍처를 만드는 원칙은 동일하다는 점이 이 책의 ..

ETC/책 2025.01.07

[Linux] Kill 명령어 옵션

Kill 명령어옵션 숫자는 특정 신호 번호를 나타내며, 프로세스에게 보내는 신호의 종류를 결정합니다.몇 가지 주요 신호와 그 의미는 다음과 같습니다:1 (SIGHUP): 프로세스를 종료하고 재시작하도록 요청합니다. 주로 설정 파일이 변경되었을 때 다시 읽도록 하기 위해 사용됩니다.2 (SIGINT): 인터럽트 신호로, Ctrl+C를 눌렀을 때와 동일합니다. 프로세스를 종료합니다.9 (SIGKILL): 강제 종료 신호입니다. 프로세스가 이 신호를 무시할 수 없으며, 즉시 종료됩니다. SIGTERM으로 종료되지 않는 프로세스를 강제로 종료할 때 사용됩니다.15 (SIGTERM): 기본 종료 신호입니다. 프로세스에 정상적인 종료를 요청하며, 프로세스가 이 신호를 처리할 수 있습니다.18 (SIGCONT): 일..

ETC 2024.08.22

Docker Network 기본 사용법 과 Tip

기본 명령어 설명 사용 예시 네트워크를 생성 docker network create 네트워크 삭제 docker network rm 미사용 네트워크 삭제 docker network prune Container를 네트워크에 연결 docker network connect Container를 네트워크에서 분리 docker network disconnect 네트워크에 상세 정보 docker network inspect 네트워크 목록 docker network ls Docker Run 할때 연결 하는법 docker run -dp 8080:8080 --network=`` --name `` docker-image Basic Docker Network Driver (공식 문서를 자세히 보고 추후 다시 정리 할 예정) b..

ETC/Docker 2023.08.09

Docker Network

Docker Network 란? Docker Container는 가상 환경 에서 실행되기 때문에, 서로 다른 Container간의 통신, 호스트와의 통신은 설정하지 않는한 불가 하며 이러한 네트워크 설정과 관리를 도와주는 것이 Docker Network입니다. Docker Network 기능 Container 간 통신 여러 개의 Container가 같은 네트워크에 속해 있을 때, 이들 Container는 서로 IP 주소를 통해 통신할 수 있습니다. 이를 통해 서로 다른 Container가 분리된 환경에서도 효율적인 통신이 가능합니다. 호스트와 Container 간 통신 도커 호스트와 Container 간에도 네트워크를 통해 통신할 수 있습니다. 이를 통해 호스트의 리소스나 서비스를 Container에서 ..

ETC/Docker 2023.08.09

내가 이해한 Volume이란?

Volume이란? 컨테이너 종료시 모든 환경 및 데이터가 삭제 되므로 이를 방지 하기 위해 사용한다. 장단점 장점 데이터 영속성 Volume을 사용하면 컨테이너가 종료되더라도 데이터가 영구적으로 보존됩니다. 따라서 데이터베이스나 파일과 같이 중요한 데이터를 영구적으로 저장해야 하는 경우에 유용합니다. 데이터 공유 Volume은 여러 컨테이너가 동일한 데이터를 공유할 수 있도록 해줍니다. 여러 컨테이너가 동일한 데이터를 읽고 쓸 수 있어서 데이터를 쉽게 공유할 수 있습니다. 데이터 백업과 복구 Volume을 사용하면 데이터를 백업하고, 필요에 따라 데이터를 복구하는데 편리합니다. 컨테이너를 업데이트하거나 재생성해도 데이터를 손실하지 않고 복구할 수 있습니다. 성능 향상 Volume을 사용하면 컨테이너의 파..

ETC/Docker 2023.08.03

Mysql 설정 및 기본 명령어

Docker Mysql 사용하기 사용되는 Docker 기술 Image/GCR(Google Container Registry) Docker Repository에 있는 Mysql Pull 및 이미지화 이미지 이름 변경 Container/Volume/Mount Pull 받은 Mysql을 Container를 실행 Volume를 설정하여 Docker가 종료되도 데이터 삭제 방지 Mount하여 호스트 컴퓨터(사용자 컴퓨터) Docker 서버에 맵핑 시킨다. 실행 방법 Docker Pull GCR docker pull mysql Image 이름 변경 docker tag mysql new-mysql Container 실행 기본 실행 docker run -e MYSQL_ROOT_PASSWORD=root mysql 설명 ..

ETC/Docker 2023.08.03

Docker Swarm과 Kubernetes(K8s) 비교

컨테이너 오케스트레이션의 대표 서비스 공통점 컨테이너 오케스트레이션 도구 여러 개의 독립적인 컨테이너들을 효율적으로 관리하고 배포하는 기능을 제공 컨테이너 기반 가상화 기술을 사용하여 애플리케이션을 격리시키고 이식성과 확장성을 향상 쉽고 빠르게 애플리케이션을 배포, 확장, 관리할 수 있으며, 여러 호스트에서 컨테이너를 실행하여 리소스 활용을 최적화 자동화된 배포, 롤링 업데이트, 로드 밸런싱, 스케일링 등 다양한 기능을 제공하여 높은 가용성과 신뢰성을 보장 차이점: 기능/특징 Docker Swarm Kubernetes 성격과 역사 Docker의 네이티브 오케스트레이션 도구로 작은 규모의 컨테이너 클러스터에 적합 Google에서 개발된 오픈 소스 컨테이너 오케스트레이션 플랫폼으로 대규모 애플리케이션에 적합..

ETC/Docker 2023.07.26

Docker 기본 명령어

Docker 명령어 공식 문서 이미지 Name Description 사용 예시 build 이미지 생성 docker build [OPTIONS] PATH images 이미지 목록 docker images [OPTIONS] [REPOSITORY[:TAG]] history 이미지 히스토리 docker history [OPTIONS] IMAGE image 이미지 관리 docker image [OPTIONS] COMMAND [ARG...] rmi 이미지 삭제 docker rmi [OPTIONS] IMAGE [IMAGE...] commit 변경된 컨테이너로 이미지 생성 docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] trust Docker 이미지에 대한 신뢰 관리 수행..

ETC/Docker 2023.07.26
728x90