전체 글 235

타임리프(Thymeleaf) 정리

공식 문서에 설명된 타임리프의 정의에 따르면 타임리프란 웹과 독립형 환경을 위한 서버 사이드 자바 템플릿 엔진으로 HTML, XML, 자바 스크립트, CSS 및 일반 텍스트를 처리 할 수 있습니다. 타임리프의 주요 목표는 템플릿을 만드는 우아하고 유지 관리가 쉬운 방법을 제공하는 것입니다. 이를 위해 순수 템플릿(Natural Templates)의 개념을 기반으로 템플릿이 디자인 프로토타입으로 사용되는 데 영향을 주지 않는 방식으로 템플릿 파일에 로직을 주입합니다. 이는 설계 커뮤니케이션을 개선하고 설계 팀과 개발 팀 간의 격차를 해소합니다. 타임리프는 처음부터 웹 표준, 특히 HTML5를 염두에두고 설계되었으므로 필요한 경우 완전히 검증된 템플릿을 만들 수 있습니다. 서버 사이드가 정상 작동하면 동적으..

vi 명령어 정리

1. vi 명령어 구조 - 명령모드 (command mode): vi 명령어로 편집기가 시작되었을 때나 다른 모드애서 ESC 를 눌렀을 때의 모드 - 입력모드 (insert mode): 명령모드에서 입력에 해당하는 명령어(i, a, o) 등을 입력해서 글을 작성할 수 있는 모드 - 마지막행 모드 (last line mode): 명령모드에서 콜론(:)을 입력하면 편집기 마지막 라인에 명령어를 입력할 수 있는 모드. 이 모드에서는 저장, 종료, 편집 환경 지정(라인번호 보여주기, syntax 모드 변경 등) 등을 할 수 있다. 2. 명령모드의 명령어 명령어 설명 i 현재 커서 위치에 글 삽입 a 현재 커서 바로 다음 위치에 글 삽입 o 다음 줄에 글 삽입 (알파벳 소문자) [ 글자수]x 커서가 위치한 곳의 ..

개발 등/LINUX 2023.03.12

Docker Swarm 모드의 Round-Robin 방식에 대해

Round-Robin 방식이란 시분할 시스템을 위해 설계된 컴퓨터, 네트워크 스케쥴링 알고리즘의 하나이다. 도커 스웜모드는 라운드-로빈 방식을 사용하는데, 각 프로세스에 할당한 일정시간 지나면 스웜 클러스터 내의 다른 프로세스들에게 돌아가며 기회를 부여하는 운영방식이다. 보통 시간 단위는 10 ms ~ 100 ms 정도로, 시간 단위동안 수행한 프로세스는 준비 큐의 끝으로 밀려나게 되고, 전환의 오버헤드가 큰 반면에 응답시간이 짧은 장점이 있어 실시간 시스템에 유리합니다.

개발 등/DOCKER 2023.03.10

Ubuntu Docker Engine 설치

아래 버전에 해당하는 Ubuntu에 적용 ``` Ubuntu Kinetic 22.10 Ubuntu Jammy 22.04 (LTS) Ubuntu Focal 20.04 (LTS) Ubuntu Bionic 18.04 (LTS) ``` 예전 버전 삭제 $ sudo apt-get remove docker docker-engine docker.io containerd runc apt package index 업데이트하고 HTTPS를 통해 repository 를 이용하기 위한 apt pakcage 설치 $ sudo apt-get update && sudo apt-get install ca-certificates curl gnupg lsb-release 공식 GPG key 추가 $ sudo mkdir -m 0755 -..

EC2 우분투 root 계정 비밀번호 설정

AWS의 EC2 서버를 ubuntu로 생성한 후 private key로 접속하면 root 계정의 비밀번호가 없어 sudo 권한이 필요할 경우 비밀번호를 설정해야 하는 경우가 생긴다. 이럴 때는 root의 비밀번호를 초기화해주면 된다. ubuntu@....: ~$ sudo passwd root New password: Retype new password: passwd: password updated successfully후 su 명령어로 초기화한 비밀번호로 접속할 수 있다

도커 호스트 모니터링

CAdvisor 사용 구글이 만튼 도커 컨테이너 모니터링 도구 docker run \ --volume=/:/rootfs:ro \ --volume=/var/run:/var/run:ro \ --volume=/sys:/sys:ro \ > --volume=/var/lib/docker/:/var/lib/docker:ro \ > --volume=/dev/disk/:/dev/disk:ro \ > --publish=8080:8080 \ > --detach=true \ > --name=cadvisor \ > google/cadvisor:latest * volume으로 마운트되는 디렉토리는 도커 데몬의 정보를 담고 있다. * 실행 후 포트된 localhost:8080으로 접속하면 웹 모니터링 화면으로 접속해서 확인할 수 ..

개발 등/DOCKER 2023.03.07

Dockerfile 로 빌드할 때 주의 사항

RUN 으로 실행하면 해당 레이어가 이미지에 포함되므로 의도치 않은 결과를 가져올 수 있다 # vi Dockerfile FROM ubuntu RUN mkdir /test RUN fallocate -l 100mb /test/dummy RUN rm /test/dummy 빌드해보면 아래의 결과를 볼 수 있다. 원래 ubuntu:77MB 빌드된 이미지: 200MB 이유는 마지막 RUN rm /test/dummy하기 전 RUN fallocate -l 100mb /test/dummy로 생성된 레이어가 이미 이미지에 포함이 되었기 때문이다. 이를 해결하기 위해서는 레이어를 따로 생성하지 않고 최종 명령어가 반영된 최종 레이어만 이미지에 포함하면 된다. 그러기 위해서는 RUN 명령어에 && 연산자를 사용해서 하나의 명..

개발 등/DOCKER 2023.03.07