일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Algorithm
- cos pro
- 파이썬
- 개발
- django
- cos
- Python
- 분할정복
- 코드품앗이
- issue
- cos pro 1급
- C++
- DFS와BFS
- 동적계획법과최단거리역추적
- 코딩테스트
- k8s
- 안드로이드
- Flutter
- DART
- DFS
- vuejs
- 안드로이드스튜디오
- 코테
- 동적계획법
- BAEKJOON
- 알고리즘
- android
- 백준
- codingtest
- AndroidStudio
- Today
- Total
목록Research (33)
Development Artist
서론이번에 헤드 퍼스트 디자인 패턴이라는 책을 절반 정도 읽은 시점에서 한 번 정리를 해보고자 한다. 이 책은 꾀 유명한 책으로, 객체지향 설계를 고민하는 개발자에게 매우 도움이 되는 책이다. 현재는 DevOps를 주 업무로 하고 있지만, 개발에도 관심이 많은 사람으로서 꼭 읽어보고 싶었던 책이었다. 실무에서 백엔드 코드들을 보면서 여러 패턴들이 적용된 것을 확인할 수 있었으며, 이를 통해 더 깊이 있는 이해를 하게 되었다. 이 글에서는 패턴의 개념보다는 업무에서 어떻게 쓰이고, 어떤 기준으로 판단해야 하는지를 예시를 통해 다루고자 한다.패턴책의 전반부에서 다루는 패턴은 총 7가지이다:전략 패턴 (Strategy Pattern)옵저버 패턴 (Observer Pattern)데코레이터 패턴 (Decorato..

서론회사에서 DWG 파일을 GLTF로 변환하는 기능을 구현해야 하는 과제가 생겼다. 여러 가지 방법을 검토한 끝에, 변환 과정에서 Blender 엔진을 사용하고, 서버리스(Serverless) 환경에서 배포하는 방향으로 결정했다. 이러한 요구 사항을 충족하기 위해 AWS Lambda를 컨테이너 기반으로 실행하는 방법을 선택했다.이번 글에서는 컨테이너 기반 Lambda의 개념과 이를 도입하는 과정에서 겪은 우여곡절을 공유하려고 한다.LambdaAWS Lambda는 서버를 관리할 필요 없이 코드 실행을 자동으로 처리하는 서버리스 컴퓨팅 서비스다. 사용자는 트리거 이벤트를 기반으로 코드를 실행할 수 있으며, 인프라를 직접 설정할 필요 없이 AWS가 자동으로 리소스를 할당하고 관리한다.Lambda를 활용하는 방..
🔥 개요FastAPI와 RabbitMQ를 활용하여 비동기 메시지 소비 시스템을 구축하는 방법을 설명한다. RabbitMQ는 메시지 큐를 제공하여 애플리케이션 간의 비동기 통신을 가능하게 한다. 이를 FastAPI와 결합하면 고성능의 비동기 메시지 처리 서비스를 구현할 수 있다.이번 포스팅에서는 FastAPI 서버와 RabbitMQ를 연결하는 방법, 메시지를 소비하는 방식, 비동기적으로 외부 프로세스를 실행하는 방법을 간략하게 기술한다.📌 RabbitMQ란?RabbitMQ는 AMQP(Advanced Message Queuing Protocol) 기반의 메시지 브로커로, 메시지를 큐에 저장하고 비동기적으로 분산 시스템 간 데이터를 전달하는 역할을 한다.RabbitMQ를 사용하면 다음과 같은 이점이 있다:..
들어가며 Helm을 처음 사용할 때, 쿠버네티스 리소스를 쉽게 배포하고 관리할 수 있다는 점에서 정말 편리하다고 느꼈다.특히, 공개된 Helm Chart 저장소에는 이미 수많은 검증된 템플릿이 존재하기 때문에, 이를 활용하면 애플리케이션을 빠르게 배포할 수 있다. 하지만 실제 운영 환경에서는 기본 제공되는 Helm Chart를 그대로 사용하는 경우가 많지 않다.운영 정책이나 인프라 환경에 따라 리소스, 볼륨, 보안 설정을 조정해야 할 때가 많다. 이번 글에서는 Loki의 Ingester StatefulSet Helm Chart 템플릿을 분석하고, 이를 커스텀하는 방법을 설명해보겠다.또한, Helm 템플릿에서 자주 사용하는 문법도 정리하여 실전에서 바로 적용할 수 있도록 하겠다.Helm Chart 템플릿 ..
GlusterFS란? GlusterFS는 Red Hat이 개발한 오픈 소스 분산 파일 시스템으로, 여러 서버의 스토리지를 하나로 묶어 고가용성과 확장성을 제공하는 스토리지 솔루션이다.데이터가 여러 서버에 걸쳐 복제되므로, 단일 장애 지점(SPOF, Single Point of Failure)이 발생하지 않으며, 읽기 및 쓰기 성능을 확장할 수 있는 특징이 있다.📌 GlusterFS의 주요 특징✅ 확장성: 서버를 추가함으로써 용량과 성능을 쉽게 확장 가능✅ 고가용성(HA): 복제(Replication) 기능을 통해 서버 장애에도 데이터 유지✅ Self-Healing(자동 복구): 장애 발생 시 데이터 무결성을 유지하며 자동 복구✅ 분산(Distributed) 아키텍처: 중앙 컨트롤러가 없고, 분산된 구..
더보기해당 포스트는 '쿠버네티스 시작하기 3/e' 내용 일부를 발췌하여 작성하였습니다.시작하기오늘은 쿠버네티스를 왜? 사용하는가에 대한 의문으로 글을 적어보려합니다. 여러가지 이유가 있겠지만, 5가지의 이유로 쿠버네티스를 사용하는 것 같습니다. - 개발 속도- 확장성- 인프라 추상화- 효율성- 클라우드 네이티브 에코시스템 지금부터 하나씩 살펴보도록 합시다.개발 속도불변성 (Immutability)애플리케이션이나 그 환경을 배포한 후, 그 상태를 직접 변경하지 않고, 필요한 변경 사항이 있다면 새로 이미지를 생성하여 배포하는 방식입니다. 이는 시스템의 일관성 유지와 디버깅을 더 쉽게 해줍니다.컨테이너 이미지의 불변성컨테이너 이미지는 배포 이후에는 변경되지 않습니다. 변경이 필요하다면 새로운 버전의 이미지를..

Spring을 실행할 때 어떤 라이브러리를 불러오는지 확인이 필요했다. 생각보다 간단하다. 아래의 명령어를 치면 확인이 가능하다. ./gradlew dependencies --configuration compileClasspath
장고와 스프링 부트를 통해 백엔드 구축을 해본 경험을 토대로 두가지의 장단점을 정리하고자 합니다. 바로 들어가보시죠. Spring 강력한 생태계: 스프링 프레임워크는 Java 기반의 엔터프라이즈 애플리케이션 개발에서 오랜 기간 동안 사용되어온 프레임워크로, 매우 강력하고 다양한 기능과 라이브러리를 가지고 있습니다. 스프링 부트는 이러한 스프링 프레임워크의 강력한 생태계 위에 구축되어 풍부한 기능을 제공합니다. 유연한 설정: 스프링 부트는 '컨벤션보다는 구성'을 강조하여 설정을 자동화하고, 편리한 설정 옵션을 제공합니다. 자동 설정과 스프링 부트 스타터를 통해 프로젝트 구성을 빠르게 시작하고 개발자가 설정에 신경 쓰지 않아도 되도록 도와줍니다. 내장된 서버 지원: 스프링 부트는 내장된 웹 서버(예: To..
도입 Intellij IDEA를 통해 Spring Boot 프로젝트를 진행하면서 사용했던 단축키들을 기록하고자 한다. 지금 글에서는 모든 단축키들을 나열하지 않는 점 참고 바랍니다. 단축키/Shortcut Control + R : Stop and Rerun / '[selected file]' is not allowed to run in parallel. Would you like to stop the running one? Control + O : Select Methods to Override/Implement Control + H : Hierachy Control + T : Refactor This Shift + fn + F6 : Rename Shift + Shift : Search Command +..
토비의 스프링을 공부하면서 용어 정리를 조금 하고자 글을 작성한다. 자세한 내용은 해당 책을 참고하면 좋을 것 같다. 서블릿 컨테이너 정의 웹 애플리케이션을 실행하고 관리하는 환경. 서블릿 컨테이너는 서블릿 스펙에 따라 작성된 웹 애플리케이션의 실행을 담당하며, 클라이언트로부터의 HTTP 요청을 받아서 해당 요청에 대한 처리를 수행하고 그 결과를 반환한다. 종류 Tomcat, Jetty, Undertow, ... 기능 애플리케이션 관리: 서블릿 컨테이너는 웹 애플리케이션의 생명주기를 관리. 애플리케이션의 시작, 종료, 로딩, 언로딩 등의 단계를 처리한다. HTTP 요청 처리: 클라이언트로부터의 HTTP 요청을 받아서 해당 요청을 처리하는 서블릿을 실행하고, 그 결과를 클라이언트에게 반환. 스레드 관리: ..