안녕하세요.
|
Software Engineer 방재호입니다.

이미지에서 색상 추출하기

이미지 처리의 다양한 응용 분야에서 이미지의 주요 색상을 추출하는 것은 매우 유용할 수 있습니다. 이번 포스트에서는 ColorExtractor라는 JavaScript 클래스를 만들면서 이미지에서 주요 색상을 추출하는 방법과 그 동작 원리에 대해 자세히 알아보겠습니다. video ColorExtractor란 무엇인가요? ColorExtractor 클래스는 이미지에서 주요 색상을 쉽게 추출할 수 있도록 설계되었습니다. 이 클래스는 여러 이미지 형식을 지원하며, 결과를 캐시하고, 유사한 색상을 필터링하여 더욱 깔끔한 색상 팔레트를 제공합니다. 주요 라이브러리 및 도구 : 자바스크립트로 이미지 작업을 할 수 있는 순수 라이브러리입니다. : k-means 클러스터링 알고리즘을 구현한 라이브러리입니다. : 간단한 인메모리 캐싱 라이브러리입니다. : 색상 변환 및 색상 스케일을 위한 라이브러리입니다. : 고성능 이미지 처리 라이브러리입니다. : 임시 파일 생성을 위한 유틸리티입니다. 싱글톤 패…

July 22, 2024
PLAYGROUND
기능 분할 설계 - Best Frontend Architecture (번역)

소개 프론트엔드 개발자들은 애플리케이션 아키텍처와 관련된 도전에 자주 맞닥뜨립니다. 이러한 문제를 해결하기 위해, 애플리케이션 모듈 사이에서 느슨한 결합과 높은 응집력을 제공하고 손쉽게 확장 가능한 아키텍처가 필요합니다. 이 글에서는 기능 분할 설계 (Feature-Sliced Design, FSD) 아키텍처를 다루고 있습니다. 저는 개인적으로 FSD가 제공하는 솔루션들이 현재 사용 가능한 방법론 중에서 가장 우수하다고 생각합니다. 본문에서는 FSD의 이론과 이 아키텍처가 해결하려는 문제점들에 대해 설명합니다. 또한, FSD를 기존의 고전적인 아키텍처 및 모듈러 아키텍처와 비교하면서 각각의 장단점을 분석할 것입니다. 먼저 세 가지 개념인 , , 를 구분해 봅시다. Layers 레이어는 최상위 디렉토리이며 애플리케이션 분해의 첫 단계입니다. 레이어의 수는 최대 7개까지 가능하며 표준화되어 있지만 일부는 선택적입니다. 현재 다음과 같이 레이어가 구분됩니다: 각 레이어는 독자적인 책…

April 18, 2024
FRONTEND
Untagged Docker Image 삭제 및 Exited된 Process 삭제

현재 저희 회사의 CI/CD 구조를 간략히 살펴보면 아래와 같습니다. 하루는 서버를 배포하며 로그를 확인하고 있는데 라는 익숙한 문구가 나오는 것이였습니다. 바로 서버에 남은 용량이 없다는 것이였습니다. 원인 빌드 서버는 빌드 파이프라인을 실행하는 서버라 용량이 부족할 일이 없는데 이게 왜 이럴까 생각하면서 빌드 코드를 확인하는 순간 전 머리를 탁 칠 수밖에 없었습니다. image3 바로 도커 이미지를 에 Push하고 지우는 코드가 존재하지 않았던 겁니다. 일단 빌드 스크립트 상에서 에 Push하고 로컬 도커 이미지를 지우는 로직을 추가했지만, 남은 이 이미지들을 어떻게 다 지우지하는 생각이 들었습니다. Tag가 인 이미지를 조회하고 거기서 나온 도커 이미지 ID를 이용해서 삭제하는 스크립트를 작성해서 다 지울까? (수동으로 지운다는 생각은 하지 않았습니다. 갯수가 어마무시해서…) 해결 그러던 중 Docker image를 조회할 때 옵션을 사용할 수 있다는 것을 알고 좀 …

December 15, 2023
DEVOPS
Terraform으로 AWS Infra 구축하기

요즘 를 논할 때 빠질 수 없는 용어가 있습니다. 바로 IaC(Infrastructure as Code) 입니다. 수동으로 인프라를 구축하는 것이 아닌 코드를 통해 인프라를 생성하고 관리하는 것을 말합니다. IaC를 사용하면 인프라 사양을 담은 구성 파일이 생성되므로 구성을 편집하고 배포하기가 더 쉬워집니다. 또한 IaC는 매번 동일한 환경을 하도록 보장합니다. IaC를 사용하면 버전 관리, 재사용, 공유할 수 있는 리소스 구성을 정의하여 안전하고 일관되게 인프라를 구축, 변경, 관리할 수 있습니다. 그중 가장 많이 쓰는 도구로 하시코프(Hashcorp)에서 개발중인 이 있습니다. 테라폼의 경우 AWS, GCP, Azure와 같은 주요 클라우드 서비스를 비롯한 다양한 서비스를 프로바이더 방식으로 제공하고 있습니다. 이를 틍해 테라폼만으로 멀티 클라우드의 리소스들을 선언하고 관리하는 것도 가능합니다. 이번에는 Terraform을 이용하여 AWS 인프라를 간단하게 구축해보도록 하겠습니…

November 26, 2023
DEVOPS