일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- AI
- minikube
- 코틀린 코루틴의 정석
- mysql 튜닝
- 오블완
- APM
- Kubernetes
- 공부
- MySQL
- 정보처리기사 실기 기출문제
- kotlin coroutine
- Linux
- CKA 기출문제
- 티스토리챌린지
- Java
- 정보처리기사 실기
- kotlin
- kotlin spring
- CloudWatch
- 정보처리기사실기 기출문제
- 기록으로 실력을 쌓자
- aws
- Elasticsearch
- PETERICA
- kotlin querydsl
- CKA
- IntelliJ
- Spring
- Pinpoint
- AWS EKS
- Today
- Total
목록PETERICA (590)
피터의 개발이야기
ㅁ 들어가며 Transcoding, ffmpeg 기본 사용법에서 ffmpeg, Docker로 무설치 사용하기에 대해서 간단히 정리해 보았다. 현재 Docker 환경에서 ffmpeg을 이용한 개발 중인데, OS(Rocky9, Ubuntu)와 ffmpeg의 버젼에 따라서 여러가지 문제가 발생하여 트러블 슈팅을 하면서 알게 된 내용을 정리해 보았다. ㅁ 기본 사용법docker run -it --rm linuxserver/ffmpeg:latest -versionㅇ linuxserver/ffmpeg는 이미 ffmpeg이 endpoint로 지정되어 있어서, 옵션만 전달하면 된다.ㅇ 반대로, 이 이미지를 통해 bash로 실행되지는 않았다. ㅁ 특정 버전의 ffmpeg 테스트docker run -it --rm linu..
ㅁ 들어가며 Docker를 사용하면서 가장 자주 접하는 명령어인 docker run에 대해서 정리해 보았다. 이 명령어는 Docker 이미지로부터 새로운 컨테이너를 생성하고 실행하는데 자주 쓰이는데, 매번 작성 시 참조하기 위해 이 글을 정리하였다. ㅁ docker run의 기본 구조docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]ㅇ [OPTIONS]: 컨테이너 실행 시 적용할 다양한 옵션들ㅇ IMAGE[:TAG|@DIGEST]: 실행할 Docker 이미지 (태그나 다이제스트 지정 가능)ㅇ [COMMAND]: 컨테이너 내에서 실행할 명령어 (옵션)ㅇ [ARG...]: 명령어에 전달할 인자 (옵션) ㅁ docker run의 동작 방식docker r..
ㅁ 들어가며 Docker를 사용하다 보면 컨테이너의 로그를 확인해야 할 때가 있다. 일반적으로 Linux 환경에서는 /var/lib/docker/containers/ 경로에서 로그 파일을 찾을 수 있지만, MacOS에서는 상황이 조금 다르다. 이 글에서는 MacOS의 Docker 로그 저장 위치에 대해서 공부한 내용을 정리하였다. ㅁ MacOS의 Docker 로그 저장 위치 MacOS에서 Docker는 LinuxKit 위에서 동작한다. 이로 인해 로그 파일의 실제 위치는 LinuxKit VM 안에 존재한다.그래서 Docker 로그 파일을 찾기 위해서 LinuxKit VM에 접속하여 VM 내부에서 로그 파일들을 확인한다. ㅁ LinuxKit VM에 접속하기ㅇ Git의 BretFisher/docker-..
ㅁ 들어가며 배포환경을 구성하면서 보안점검에 대해서도 대비해야한다. [Docker] Distroless 이미지란?에서 Muti Stage build와 경량 이미지를 이용하는 방법에 대해서 보안취약점에 대비하는 방법을 알게 되었는데, 생성된 Docker 이미지의 보안성 체크를 위해 Trivy를 알게 되어 이 글을 작성한다. ㅁ Trivy란?Trivy는 Aqua Security에서 개발한 오픈소스 취약점 스캐너이다.컨테이너 이미지, 파일시스템, Git 저장소 등의 취약점을 검사할 수 있다. ㅁ 설치 방법# macOSbrew install trivy# ubuntusudo apt-get install trivy# docker docker run aquasec/trivy ㅇ Trivy는 Installing Tri..
ㅁ 들어가며 Docker의 경량 이미지는 alpine만 알고 있었다. 보안 취약점과 이미지의 용량에 대해서 고민하면서 회사 크루의 소개로 Distroless를 알게 되었다. 도커 이미지계의 미니멀리즘이라, 해커가 들어와도 할 수 있는게 없었다. 그래서 보안점검, 이미지 경량화에 우수하지만 디버깅은 어렵다. ㅁ Distroless 이미지란? Distroless 이미지는 Kubernetes 워크로드를 위해 설계된 최소화된 컨테이너 이미지이다. 이 이미지는 애플리케이션과 그 런타임 의존성만을 포함하며, 불필요한 요소들을 과감히 제거하였다. ㅁ Distroless의 특징ㅇ 최소한의 구성: 애플리케이션에 필요한 최소한의 바이너리 코드와 직접적인 종속성만 포함ㅇ 불필요한 요소 제거: 패키지 관리자, shel..
ㅁ 들어가며 대부분의 PC는 Intel이어서 Intel 맥북의 경우 대부분 Docker의 플랫폼에 대해서 구분을 두지 않았었다. 하지만 맥미니M1을 구입하면서 플랫폼 차이로 인해 Rosetta 2 에뮬레이션을 이용해 다른 플랫폼을 실행하기 위한 [Docker] 맥북M1에 도커 컨테이너 colima설치에 대한 글을 쓰기도하였다. 최근 새로운 작업의 CICD 구성을 하면서 M3 맥북과 다양한 서버들을 경험하면서 플랫폼 차이로 인해 빌드, 도커 실행 시 문제점이 생기곤 하였다. 이번 글에서는 Docker에서 --platform 옵션은 다양한 아키텍처와 운영 체제에 대한 이미지를 빌드하고 실행할 때 유용하다. 이 옵션을 통해 특정 플랫폼에 맞는 이미지를 생성하거나 실행할 수 있다. 그리고 이를 이해하기 위..
ㅁ 들어가며ㅇ DJI Osmo Mobile SE 짐벌을 사용 중인데, 파일명이 날짜별로 정렬이 되지 않아 시간순서로 정렬이 되지 않았다.ㅇ 하나하나 파일명을 바꾸기 번거러워, shell script를 작성해 보았다. ㅁ dji_remove.sh#!/bin/bashfor file in DJI_*.*; do if [ -f "$file" ]; then new_name="${file#DJI_}" mv "$file" "$new_name" echo "Renamed: $file -> $new_name" fidoneㅇ for 루프를 사용하여 현재 디렉토리에서 "DJI_"로 시작하는 모든 파일을 작업한다.ㅇ if [ -f "$file" ] 조건문을 사용하여 해당 항목이 ..
ㅁ 들어가며 linux 서버를 다르면서 많은 스크립트를 작성하고 실행하게 된다. 이럴 때에 스크립트의 디버깅에 유용한 정보를 알게 되어 정리하였다. ㅁ set -xe 옵션?set -xe 옵션은 쉘 스크립트 실행 시 유용한 디버깅 및 오류 처리 기능을 제공한다. ㅁ 오류 즉시 감지(-e 옵션)ㅇ "errexit"의 약자로, 스크립트 실행 중 오류가 발생하면 즉시 실행을 중단한다.ㅇ 오류 전파 방지: 오류가 발생한 즉시 스크립트가 종료되어, 오류로 인한 추가적인 문제 발생을 방지한다.ㅇ 신속한 디버깅: 오류 발생 지점을 빠르게 파악할 수 있어 디버깅 시간을 단축할 수 있다. ㅁ 명령어 추적 (-x 옵션)ㅇ "xtrace"의 약자로, 실행되는 각 명령어를 화면에 출력한다.ㅇ 실행 흐름 파악: 스크립트의 실행 ..
ㅁ 들어가며 오늘 Atlassian의 Bamboo에 대해서 알게 되어 정리하였다. 짧게 이야기하자면, Bamboo는 소프트웨어 개발팀을 위한 연속 통합(Continuous Integration, CI) 및 연속 배포(Continuous Deployment, CD) 도구이다. 이번 글에서는 Bamboo의 주요 기능, 장점, 사용 사례 및 다른 DevOps 도구와의 차별점에 대해서 정리하였다. ㅁ Bamboo란 무엇인가? Bamboo는 Atlassian에서 제공하는 CI/CD 도구로, 소프트웨어 빌드, 테스트, 배포 프로세스를 자동화하고 개발 팀이 더 빠르고 안정적으로 코드를 릴리스할 수 있게 한다. Bamboo는 Jira, Bitbucket, Confluence 등 Atlassian 제품군과의 긴밀한 ..
ㅁ 들어가며Docker와 PM2 조합에서 성능 지표를 확인하기 위해 공부하면서 [Grafana] grafana k6로 테스트 환경 구성(grafana, influxdb, k6) 을 작성하였다. FFMpeg을 이용한 스트림 서비스의 부하테스트를 수행하면서 HLS와 같은 특수한 경우에 세부적인 부하테스트를 어떻게 할지 고민하면서 작성한 글이다. K6 Doc - Load test types을 보면서 노트형태로 작성했다. ㅁ K6란? k6는 가볍고 효율적인 오픈소스 부하 테스트 도구로, JavaScript 기반으로 테스트 스크립트를 작성하여 여러 사용자의 동시 요청을 시뮬레이션할 수 있다. 특히, HLS와 같은 스트리밍 워크로드에 대한 부하 테스트를 효율적으로 실행할 수 있다. ㅁ k6 설치# macOSbre..