전체 글 339

[Docker][해결방법] WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Dockerfile 내에서 apt 를 사용하면 "WARNING: apt does not have a stable CLI interface. Use with caution in scripts." 문구가 출력된다. apt 명령어의 경우 사용자와의 interaction 에 중점을 둔 CLI 이기에 script 내에서 사용하기에 부적절하다는 에러로 apt-get 등의 명령어로 대체하여 사용하면 된다. apt 명령어별 대체 CLI는 apt의 manpage 에서 확인 가능하다. update (apt-get(8)) upgrade (apt-get(8)) full-upgrade (apt-get(8)) install, reinstall, remove, purge (apt-get(8)) autoremove (apt-get(..

[Docker] docker image - Docker 이미지 관리 명령어

docker image 명령어 목록 technote@TechNote:~$ docker image --help Usage: docker image COMMAND Manage images Commands: build Build an image from a Dockerfile history Show the history of an image import Import the contents from a tarball to create a filesystem image inspect Display detailed information on one or more images load Load an image from a tar archive or STDIN ls List images prune Remove unus..

[Docker][해결방법] image is being used by stopped container

Docker Image 삭제시 에러가 발생하는 경우가 있다. technote@TechNote:~/docker$ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE my-test-build latest 22b5185b193b 2 minutes ago 885MB python 3 2a93c239d591 6 days ago 885MB hello-world latest bf756fb1ae65 13 months ago 13.3kB technote@TechNote:~/docker$ docker rmi bf756fb1ae65 Error response from daemon: conflict: unable to delete bf756fb1ae65 (must be forced) ..

[Docker][해결방법] Got permission denied while trying to connect to the Docker daemon socket

docker image 를 다운로드 받으려고 했을 때 아래와 같이 권한 에러가 발생하는 경우가 있다. 해당 문제는 사용자가 /var/run/docker.sock 을 접근하려고 하였지만 권한이 없어 발생하는 문제로 사용자가 root:docker 권한을 가지고 있어야 한다. technote@TechNote:~$ ls -al /var/run/docker.sock srw-rw---- 1 root docker 0 2월 15 15:16 /var/run/docker.sock root 권한을 가지고 실행하는 것은 권장되지 않으므로, 사용자를 docker group에 포함시켜주면 된다. ($USER 환경 변수는 현재 로그인한 사용자 아이디를 나타내므로 그대로 입력하면 된다.) technote@TechNote:~$ sud..

[Notepad++] 다크 테마(Dark Theme) 적용하기

기본 테마는 하얀 바탕에 검은 글씨를 기본으로 하고 있다. 하지만 개인적인 차이로 인해 다크 테마가 눈에 편안하여 Notepad++에 다크 테마를 적용해보려고 한다. (Notepad++ 은 기본 테마 외에 별도의 테마 적용이 가능하다.) 1) 기본 설정은 아래와 같이 하얀 바탕을 기본으로 하고 있다. 2) Notepad++을 설치하면 기본 테마 외에 다른 테마는 포함되어 있지 않다. 이에 따라 적용하고자 하는 테마를 다운로드 받아 설치해야 한다. Notepad++ Dark Theme 다운로드 : Dark theme for Notepad++ and 160+ apps — Dracula (draculatheme.com) 해당 웹사이트 접속하여 Install manually > Download using Dra..

[Docker] 설치 on Ubuntu 20.04 Focal

Docker 를 Ubuntu 에 설치하는 방법은 3가지가 있다. docker repository를 통해 설치하는 방법 수동으로 deb 파일을 다운로드하여 설치하는 방법 별도의 설치 스크립트를 이용하는 방법 여기서는 첫번째인 docker repository를 설정하고 이를 통해 apt로 설치하는 방법을 알아보자. 1) 기존 docker 관련 package들을 삭제 $ sudo apt-get remove docker docker-engine docker.io containerd runc Ubuntu 20.04 를 바로 설치한 직후에는 docker 관련 package 들이 설치되어 있지 않지만, 이전에 docker를 사용한 이력이 있을 경우 삭제해 준다. 2) Docker Repository 를 등록하기 위한..

마이크로 서비스 아키텍처 (Microservice Architecture)

독립적으로 동작하는 다수의 작은 서비스들이 상호 협업하는 구조의 아키텍처 기존 모놀리식 (Monolithic) 아키텍처와 같이 하나의 서비스로 되어 있는 구조에서 기능을 수정하거나 추가할 경우 해당 코드들이 기존의 코드들에 영향을 미칠 수 있고, 이는 점점 더 시스템의 유지 보수를 어렵게 한다. 반면, 마이크로 서비스 (Microservice) 아키텍처는 내부적으로 다수의 작은 서비스들을 가지고 있고, 각 서비스들은 상호협업 한다. 각 서비스들은 독립적이고, 자율성을 가지기 때문에 기능이 수정되거나 추가되더라도 기존 다른 서비스에 미치는 영향은 제한적이다. (각 서비스들은 네트워크 호출을 통해 통신하기 때문에 서로 다른 기술 기반으로 구현 가능하다는 특징도 있음) 마이크로 서비스 아키텍처는... 분산 시..

Use Case Model - Use Case Diagram

Use Case Model 시스템의 Functional Requirements를 표현한 모형 Actor와 Use Case(UC), 그리고 이들간의 관계(Association)를 Diagram으로 표현 (Use Case Diagram) Actor 시스템과 Interaction하는 모든 요소 개발 범위 외부에 존재 Use Case 시스템이 제공하는 기능을 의미 사용자 관점에서 개별적인 기능 단위 표현 필요 Association Actor와 Use Case 간의 관계 및 방향 Use Case 간에는 association을 쓰면 안되고, , 만 허용 임의의 UC내에 특정 UC가 있을 경우 로 표현 (공통의 부분을 떼어 내어 중복 방지를 위한 모듈화를 위함) 특정 조건에 발생하는 추가 UC의 경우 로 표현 (가변..

SOLID - 객체 지향 디자인을 위한 5가지 기본 원칙

유지가능(Maintainable)하고 확장가능(Extensible)한 시스템을 위한 객체 지향 디자인을 위한 5가지 기본 원칙 SRP: Single Responsibility Principle OCP: Open-Closed Principle LSP: Liskov Substitution Principle ISP: Interface Segregation Principle DIP: Dependency Inversion Principle SRP: Single Responsibility Principle 하나의 모듈은 변경을 위한 하나의 이유만 있어야 한다. 모듈을 변경해야 할 이유가 두개 이상이라면 해당 모듈은 두개 이상의 책임을 가지고 있다는 의미로 SRP를 지키지 못한 것이다. OCP: Open-Closed..

Quality Attribute Scenario

어떤 자극(Stimulus)에 대해 시스템이 어떤 측정(Measure)하에 응답(Response)해야 하는지에 대한 Description ex> The game shall change view modes(response) in < 500 ms(response measure) when the user presses the button(stimulus). 는 환경에서 를 발생시킨다. 는 를 하에 처리한다. Source of Stimulus Stimulus를 생성하는 개체 Stimulus 시스템에 전달되었을 때 Response를 필요로하는 조건 예> 사용자의 요청, 이벤트, interrupt, 에러 등. Artifact Stimulus가 전달되는 대상으로 System 전체이거나 일부분 Environment S..