Development

안녕하세요.오늘은 inotifywait를 활용해 특정 디렉토리를 감시해 새로운 파일이 생성되거나 이동/복사된 경우 새로운 이벤트를 발생시키는 간단한 Bash 스크립트를 작성해보도록 하겠습니다.  inotifywait란?리눅스에서 파일 시스템의 변경 사항을 실시간으로 감지하기 위한 명령어로, 기본으로 제공되는 명령어는 아닙니다. inotifywait는 inotify-tools 패키지의 일부로 특정 파일이나 디렉토리의 이벤트를 모니터링하여 작업을 수행할 수 있게 해주는 명령어입니다. inotifywait 설치방법inotifywait는 inotify-tools 패키지에 포함되어 있으며, Debian 기반 시스템에서는 다음 명령어로 설치할 수 있습니다sudo apt-get updatesudo apt-get in..
안녕하세요.오늘은 브라우저에서 재생중인 Video의 소리를 압축해 큰 소리를 압축하여 음질을 풍부하게 만드는 방법에 대해 설명드리려고 합니다. 들어가며실시간 스트리밍을 통해 재생되는 사이트에서 배경음이 너무 커서 목소리가 잘 들리지 않는 경우를 경험해보신 적이 있으신분들이 있으실 겁니다. 저의 경우, 헤드셋이나 이어폰을 통해 연결하면 그런 경우가 적지만, 스피커를 통해 재생하면 다른소리에 목소리가 묻혀 들리지 않아 소리를 키우면 배경음도 함께 커져 조금 답답한 경우가 있었습니다. 이를 DynamicsCompressorNode를 통해 개선하는 방법을 알려드리려고 합니다. DynamicsCompressorNode?DynamicsCompressorNode는 여러 사운드가 동시에 재생될 때 발생할 수 있는 클리..
안녕하세요.지난 게시글에서 마우스 휠로 비디오의 볼륨을 조절하는 스크립트를 작성했었습니다.이 스크립트를 실제 사용함에 있어 버그 수정과 기능 추가를 조금 더 해보겠습니다. 문제 1: Video의 객체를 찾지 못하는 문제 수정Video가 재생되고 작성한 스크립트를 실행시키면 100% 이벤트가 연결되었습니다. 하지만, 일부 특정한 상황에서 Video 객체에 이벤트를 연결하지 못하는 문제가 사용하면서 발생이 되었습니다. 이 문제를 수정해 보도록 하겠습니다.원인: 적용하려는 사이트가 SPA로 제공되어 새로고침 없이 동작한다SPA(Single Page Application)으로 구성된 사이트가 왜 문제가 된 것인가?해당 스크립트는 window.addEventListener("load", ...)를 통해 웹 페이지..
안녕하세요.오늘은 웹사이트에서 재생 중인 비디오의 음량을 조절할 때 마우스 휠을 통해 조정하는 방법을 작업해보려고 합니다. 1. 들어가며데스크탑의 동영상 플레이어에서는 마우스 휠을 통해 볼륨을 조절하는 기능을 기본적으로 제공을 하고 있습니다. 개인적으로 마우스를 클릭해서 조절하거나 드래그를 통해 볼륨바를 조절하는 것보다 오히려 섬세하게 조절할 수 있다고 생각해 애용하는 기능 중 하나였습니다. 이 기능을 스트리밍 사이트(치지직)에 적용을 해보았고 고민하는 과정과 개발, 디버깅 등 작업했던 기록을 공유하고자 합니다. 2. 기능의 설계 및 중요 기능 테스트2.1. 어떤 것을 조작해야 볼륨이 줄어들까?의 controls 속성에는 기본적으로 컨트롤러를 제공합니다.소리 조절(volume)동영상 탐색(seek)일시 ..
안녕하세요.오늘은 Kasm을 docker를 통해 설치하고 사용해 본 짧은 후기를 알려드리겠습니다.Kasm?Kasm은 어떤 장치에서든 응용 프로그램 및 데이터에 원격으로 액세스 할 수 있는 가상 데스크톱 인프라(VDI) 플랫폼입니다. 이는 사용자가 로컬 머신을 사용하는 것과 같이 소프트웨어 및 파일과 상호 작용할 수 있는 가상 환경을 제공합니다.설치 (docker-compose.yml)services: kasm: image: lscr.io/linuxserver/kasm:latest container_name: kasm privileged: true environment: - KASM_PORT=443 # - DOCKER_HUB_USERNAME=USER #..
안녕하세요.오늘은 Dockerfile을 안전하고 최적화하여 만드는 방법을 알아보도록 하겠습니다. 들어가며Docker는 Container화를 통해 애플리케이션의 개발 및 배포 방식에 엄청난 혁신을 가져온 도구입니다. 이 Container화의 기초에는 Dockerfile이 있습니다. Dockerfile은 Docker 이미지 생성을 자동화하는 표준화된 방식을 제공하며 이를 통해 애플리케이션의 구동 환경을 캡슐화할 수 있습니다. 이때 효율적이고 안정적인 배포를 위해서는 안전하고 최적화된 Dockerfile이 필수적입니다. 이 글에서는 안전하고 최적화된 Dockerfile을 만드는 방법을 천천히 알아보도록 하겠습니다.Dockerfile이란?Dockerfile은 텍스트 기반으로 된 문서 파일로 Docker 이미지를..
안녕하세요.오늘은 Self-hosted용으로 구축이 가능한 Obsidian을 설치하는 방법을 알려드리겠습니다. Obsidian?메모 앱을 사용해 보셨던 사용자라면 Obsidian을 한 번쯤은 들어보셨을 거라 생각됩니다. Obsidian은 Markdown 기반으로 동작하는 개인 지식 기반 메모 작성 프로그램입니다. 이를 통해 사용자는 노트에 대한 내부 링크를 만든 다음 연결을 그래프로 시각화하며 구조화된 정보 저장소를 유지하는 기능을 제공합니다.왜 직접 구축을 하는가?Notion과 기타 다른 메모앱은 계정과 연동된 클라우드를 통해 메모들이 자동으로 백업되고 타 기기에서도 같은 메모를 확인하실 수 있으실 겁니다. 하지만 Obsidian은 Local에 저장되는 메모앱으로 다른 기기 간 메모를 유지하기 위해선 ..
안녕하세요.Linux에서 백그라운드로 프로세스를 동작시키는데 이유 없이 프로세스가 죽어서 당황하셨던 경험이 있으신가요?이 문제를 해결했던 방법을 공유합니다.소스 코드#!/bin/bash# 확인할 프로세스 이름process_name="your_process_name"# 프로세스가 실행 중인지 확인if ps aux | grep "$process_name" > /dev/null; then echo "프로세스 $process_name이 이미 실행 중입니다."else echo "프로세스 $process_name이 실행 중이 아닙니다. 다시 시작합니다." # 여기에 프로세스를 다시 시작하는 명령어를 추가합니다. # 예: /path/to/your/command &fi소스 코드 동작 설명ps 명령..
안녕하세요.오늘은 정말 간단하게 docker container를 올리자마자 즉시 종료되는 문제를 해결하는 방법을 알아보겠습니다. 들어가며: 시작 후 즉시 종료되는 컨테이너docker 사용자가 가장 많이 겪는 고통스러운 문제 중 하나는 컨테이너가 시작된 후 즉시 종료되는 경우입니다. 직접 Dockerfile을 빌드하며 보통은 휴먼 에러에 의해 발생하기도 하고 설정 오류, 리소스 제약 또는 내부의 오류로 인해 즉시 종료되는 경우가 있습니다. 이러한 상황에 docker logs 명령어를 통해 확인할 수 있다면 확인할 수 있겠지만 즉시 사라져 버리는 경우에는 확인도 불가해 끔찍한 상황에 놓여 있을 수 있습니다. 이 문제를 해결하려면 docker container가 의도한 대로 실행될 수 있도록 하는 전략을 구현..
Docker Private Hub란?Docker는 개발자들이 컨테이너화된 애플리케이션을 쉽게 만들고, 배포하고, 실행할 수 있도록 도와주는 플랫폼입니다. 이 플랫폼의 핵심 요소 중 하나는 Docker Hub라고 불리는 서비스로, 여기서 사용자는 Docker 이미지를 저장하고 공유할 수 있습니다. Docker Hub의 공개 저장소는 누구나 접근하여 이미지를 다운로드할 수 있으며, 사용자는 무제한으로 공개 이미지를 호스팅 할 수 있습니다. 반면에, 비공개 저장소는 선택된 사용자만이 접근할 수 있으며, Docker는 각 사용자에게 하나의 비공개 저장소를 무료로 제공합니다. Docker Private Hub의 장점은 무엇인가요?비공개 저장소의 가장 큰 장점은 보안입니다. 기업이나 개발자는 자신들의 소프트웨어를 ..
안녕하세요.Docker의 이미지를 여러 번 올리고 내리면서 생각 없이 사용 중이다가 어느덧 용량이 부족하다는 메시지를 마주할 때가 있습니다. Docker를 새로 생성하면서 더 이상은 사용되지 않고 용량만 차지할 때 정리하는 방법에 대해 알아보도록 하겠습니다. 사용하지 않는 이미지만 삭제하기 Command docker image prune " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스사용하지 않는 컨테이만 삭제하기 Command docker container prune " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스사용하지 않는 볼륨만 삭제하기 Command docker volume prune " data-ke-type="ht..
MinIO란?MinIO는 Amazon S3와 완벽하게 호환되는 혁신적인 고성능 객체 스토리지 시스템으로, Apache License v2.0 하에 배포된 이 오픈소스 소프트웨어로 무료로 제공되며, 다양한 플랫폼에서의 유연성을 자랑합니다. Docker, macOS, Linux, Windows, FreeBSD 등에서 로컬 또는 클라우드 환경에 쉽게 배포할 수 있으며 Amazon S3 호환 API를 통해 MinIO는 데이터의 저장, 검색, 분석을 간편하게 만들어 줍니다. 분산형 아키텍처로 설계된 MinIO는 뛰어난 확장성과 함께 가벼우면서도 강력한 성능을 제공합니다. 사용자는 FS (file-system) 모드와 EC (erasure-code) 모드 중에서 선택하여, 데이터 보호 및 저장 효율성을 극대화할 수..
Str@wBerry
'Development' 카테고리의 글 목록