일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- CloudWatch
- 코틀린 코루틴의 정석
- 공부
- minikube
- kotlin spring
- 티스토리챌린지
- Spring
- Pinpoint
- IntelliJ
- Linux
- 기록으로 실력을 쌓자
- kotlin
- 정보처리기사실기 기출문제
- AWS EKS
- PETERICA
- kotlin querydsl
- CKA 기출문제
- Kubernetes
- 정보처리기사 실기 기출문제
- aws
- MySQL
- Elasticsearch
- 정보처리기사 실기
- CKA
- APM
- 오블완
- AI
- kotlin coroutine
- mysql 튜닝
- Today
- Total
목록전체 글 (777)
피터의 개발이야기
1. API 게이트웨이 패턴 마이크로서비스에 대한 외부 액세스를 중앙 집중화하여 통신을 간소화하고 클라이언트 요청에 대한 단일 진입점을 제공합니다. 2. 서비스 검색 패턴 마이크로서비스가 서로 동적으로 검색하고 통신할 수 있도록 하여 서비스 오케스트레이션을 간소화하고 시스템 확장성을 향상시킵니다. 3. 회로 차단기 패턴 마이크로 서비스에 대한 내결함성 메커니즘을 구현하여 결함이 있는 서비스를 자동으로 감지하고 격리하여 연속 오류를 방지합니다. 4. 부하 분산 패턴 들어오는 트래픽을 마이크로 서비스의 여러 인스턴스 간에 분산하여 시스템 성능, 복원력 및 리소스 사용률을 개선합니다. 5. Bulkhead 패턴 마이크로 서비스를 별도의 파티션으로 격리하여 한 파티션의 오류가 전체 시스템에 영향을 미치지 않도록..
ㅁ 들어가며 지난 글, [MSA] 마이크로서비스란? - 배민 마이크로서비스 여행기를 보고...을 정리하였는데, MSA란 무엇인지 핵심적 내용을 정리해 보왔다. ㅁ 마이크로서비스란? MSA(Microservices Architecture)는 작은 기능 단위로 독립적인 서비스를 모듈로 구성하는 소프트웨어 아키텍처이다. 분리된 서비스는 독립적인 프로세스로 구성되며, 서로 다른 서비스끼리 여러 패턴을 이용하여 통신과 데이터 동기화를 한다. ㅁ 장점 ㅇ 서비스 간의 독립성, 오케스트레이션 각 서비스는 모듈화되어 개발, 배포가 분리된다. 이를 통해 확장이 가능하므로 클라우드 환경과 더불어 전체 시스템의 유연성과 다양성을 높일 수 있다. ㅇ 빠른 시장 출시 분리된 서비스를 개별적으로 배포하면, 전체 서비스에 대한 종..
ㅁ 관련 글 ㅇ [MSA] 12가지 마이크로서비스 패턴 ㅇ [MSA] 마이크로서비스 - 분산 트랜잭션 처리를 위한 Saga 패턴 ㅁ 들어가며 마이크로서비스의 패턴 중 CQRS에 관한 글을 작성하면서 [우아콘2020] 배달의민족 마이크로서비스 여행기 유튜브 동영상을 다시 보게 되었다. MSA에 대해 고민하면서 많이 공감이 되고 도움이 되는 동영상이다. 이번에 이 동영상을 다시 보면서 마이크로서비스를 구축하는 좋은 경험들을 글로 정리를 해 보았다. 주의: 동영상을 보면서 마이크로서비스를 공부하는 상황이라 동영상의 내용과 나의 생각이 혼합되어 있다. ㅁ 마이크로서비스 이해를 위한 핵심 질문들 동영상을 통해 마이크로서비스를 이해하는 핵심적 내용은 다음 질문으로 귀속된다. 왜 나누어야 하고, 나누었을 때 상호 통..
ㅁ 들어가며ㅇ 예전 글인 [MSA] 12가지 마이크로서비스 패턴에서 Saga 패턴에 대해서 간략히 이야기 하였다. ㄴ 여러 마이크로서비스에서 분산 트랜잭션을 관리하여 서비스의 자율성을 유지하면서 데이터 일관성을 보장한다.ㅇ Saga 패턴에 대해 구체적으로 정리해 보았다. ㅁ 데이터베이스와 마이크로서비스의 딜레마데이터베이스와 마이크로서비스는 일관성과 분리 격리성이라는 구조적 딜레마를 내포하고 있다. ㅇ 데이터베이스 - 원자성: 모두 발생하거나 발생하지 않아야 하는 불가역적이고 돌이킬 수 없는 작업 세트 - 일관성: 같은 시간에 조회하는 데이터는 항상 동일한 데이터임을 보증 ㅇ 마이크로서비스 - 격리성: 서비스 단위를 분리를 통한 장애 분리 및 보안성 강화 이전에 이러한 딜레마를 손쉽게 처리할 수 있..
ㅁ 들어가며 ㅇ Mysql 인덱스를 튜닝하기 위해 정리하는 중 이동욱님의 글, [mysql] 인덱스 정리 및 팁을 보고 요약해서 정리해 보았습니다. ㅁ 인덱스란? 인덱스 == 정렬 인덱스란 데이터의 저장(INSERT, UPDATE, DELETE) 의 성능을 희생하고 그 대신에 데이터의 읽기 속도를 높이는 테이블의 동작속도(조회)를 높여주는 자료구조입니다. 예를 들어, 책 뒷편의 '찾아보기'에서 알고리즘을 찾아봅시다. ㄱ~ㅎ 정렬에서 ㅇ을 찾고, 아~이 정렬에서 알을 찾습니다. 이후 알고리즘을 색인하고 페이지 정보를 얻을 수 있습니다. 사전도 마찬가지입니다. 영단어를 검색하려면, 일단 알파벳 순에서 해당 알파벳 페이지로 이동하여 단어를 찾아가는 것이 책 전체를 뒤지는 것보다 빠르게 찾을 수 있습니다. ㅁ ..
ㅁ 들어가며 2024.2.21 구글의 Gemma가 공개 되었습니다. 관련 구글블로그 Gemma는 Gemini 모델을 만드는 데 사용된 것과 동일한 연구 및 기술을 바탕으로 제작된 경량 AI입니다. 고은별님의 Python - 구글의 오픈 AI 모델 젬마(Gemma) 사용하기 글을 참조하였습니다. ㅁ Gemma란? Gemma는 Gemini 모델을 만드는 데 사용된 것과 동일한 연구 및 기술을 바탕으로 구축된 Google의 경량 최첨단 개방형 모델 제품군입니다. Gemma 모델은 질문 답변, 요약, 추론을 포함한 다양한 텍스트 생성 작업에 매우 적합합니다. 상대적으로 작은 크기로 인해 노트북, 데스크톱 또는 자체 클라우드 인프라와 같이 리소스가 제한된 환경에 배포할 수 있으며, AI 모델에 대해 모든 사람이 ..
ㅁ 들어가며 정규화에 대해서 이론적 설명과 더불어 현실적인 이해를 돕기 위해 정리를 해 보았다. 정리하지 않으면, - 빠르게 찾을 수가 없다. - 수량을 확인하기 어렵다. - 비슷하거나 같은 옷을 또 살 수 있다. 빨래가 섞여있으면 자신의 옷을 쉽게 찾을 수 없기 마련이다. 빠르게 찾기 위해서는 자신의 옷은 자신의 서랍에 정리해야한다. ㅁ 비 정규화 데이터이름학생번호강좌동호회안유진101데이터베이스, 자료구조합창단, 방송댄스강호동102데이터베이스, 씨름먹방동호회유재석103사회학, 인문학토크동호회 ㅇ 아직 정리 되지 않은 옷이 있다고 가정해 보자.ㅇ 한 개인의 여러 정보들을 하나의 이름에 정리하면 비정규화된 데이터가 된다.ㅇ 이런 경우 정리가 되지 않아 데이터의 검색, 삽입, 수정, 삭제시에 ..
ㅁ 들어가며 ㅇ 테스트를 위해 샘플 API를 node.js로 띄워야 한다. ㅇ 서버를 실행하는 방법을 3가지로 정리하였다. - docker run : docker run 명령어를 통해 생성 - dockerfile : 기본 이미지에 install까지 마친 이미지를 생성하여 docker run을 수행 - docker-compose: 베이스 이미지에서 install과 run 명령어를 정의하고 up down으로 리소스 관리 효율적 ㅇ 서버 소스를 다운받고 가장 기본적인 docker run을 이용하는 방법에 대해서 알아보자. ㅁ 서버 소스 다운로드 # git 소스다운로드 $ git clone https://github.com/peterica/flutter_tutorial.git # 소스 폴더로 이동 $ cd ./..
ㅁ 들어가며 Jenkins는 소프트웨어 프로젝트를 자동화하는 데 도움이 되는 널리 사용되는 도구입니다. CI/CD 프로세스를 사용하여 빌드, 테스트 및 개발 단계를 자동화하는 데 도움이 됩니다 . Jenkins 빌드는 때때로 작업이 작동하지 못하게 하거나 중단될 수 있는 문제에 직면할 수 있습니다. Jenkins 사용자가 직면하는 일반적인 문제 중 하나는 작업이 실행되지 않고 대기열에 갇히는 "Pending – Waiting for Next Executor" 문제입니다. 이 글에서는 이 문제의 가능한 원인을 살펴보고 문제 해결 단계를 제공합니다. ㅁ 문제 이해 Jenkins에서는 Jenkins 실행자에게 작업을 제출하고 하나씩 실행됩니다. 제출되면 작업 대기열에 들어가 실행자가 사용 가능해질 때까지 기다..
ㅁ 들어가며 ㅇ Docker Compose 작성 중 여러 명령어를 실행하는 방법을 정리함. ㅁ 단일 명령 실행 version: "3" services: server: image: alpine command: sh -c "echo 'baeldung'" ㅇ docker-compose.yml 파일에서는 alpine Docker 이미지에서 단일 echo 명령을 실행하고 있다 . ㅁ 여러 명령 실행 - && 연산자 version: "3" services: server: image: alpine command: sh -c "echo 'baeldung' && echo 'docker'" ㅇ && 연산자 사용하여 두가지 명령을 실행한다. ㅁ 여러 명령 실행 - | 운영자 version: "3" services: serv..
ㅁ 들어가며 ㅇ 코드팩토리의 플러터 프로그래밍 책을 보며 실습한 내용을 정리하였다. ㅇ [flutter] 일정 관리 앱 - 달력 및 입력 폼 작성에 이어 로컬 데티어 저장 로직를 구현하였다. ㅇ 소스는 이곳 ㅁ 17장 일정 관리 앱 - 로컬 데이터베이스 세팅 ㅇ Schedules 테이블 생성(drift_database.dart) import 'package:drift/drift.dart'; // Schedules 테이블 생성 class Schedules extends Table { IntColumn get id => integer().autoIncrement()(); // PRIMARY KEY, 정수 열 TextColumn get content => text()(); // 내용, 글자 열 DateTime..
ㅁ 들어가며 ㅇ 코드팩토리의 플러터 프로그래밍 책을 보며 실습 중 일정 관리 앱을 개발하는 과정을 정리하였다. ㅁ calendar_scheduler 프로젝트 생성 ㅇ pubspec.yaml 수정 ........... dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 # iOS style 날짜 토굴 table_calendar: 3.0.7 # 달력 intl: 0.17.0 # 다국어 drift: 2.1.0 # Drift sqlite3_flutter_libs: 0.5.10 # SQLite path_provider: 2.0.11 # 경로기능 path: 1.8.3 # 경로기능 get_it: 7.2.0 # 프로젝트 전역으로 의존성 주입 dio: 4.0.6 # ..
ㅁ 들어가며 ㅇ 코드팩토리의 플러터 프로그래밍 책을 보며 실습 중 [flutter] 만난 지 며칠 U&I 내용을 정리하면서 Cupertino DatePicker를 설정하고 최소, 최대 날짜를 지정하는 방법을 정리하였다. ㅁ min max 날짜 지정방법 import 'package:intl/intl.dart'; // Dateformat 용 ............. // 하트 기능 생성 void onHeartPressed(){ // 쿠퍼티노 다이어로그 생성자 showCupertinoDialog( context: context, builder: (BuildContext context){ //////////////////////////////// // min max 날짜 지정- 초기 선택 날짜 final ini..
ㅁ 들어가며 ㅇ 코드팩토리의 플러터 프로그래밍 책을 보며 실습 중 [flutter] 만난 지 며칠 U&I 내용을 정리하면서 DateFormat 한글로 표기하는 방법을 정리하였다. ㅁ pubspec.yaml 수정 flutter: sdk: flutter flutter_localizations: sdk: flutter ㅁ main.dart 한글 지정 import 'package:flutter_localizations/flutter_localizations.dart'; void main() { runApp( MaterialApp( // 한글 다이어그램 지정 localizationsDelegates: [ GlobalMaterialLocalizations.delegate, // for 안드로이드 GlobalCupe..
ㅁ 들어가며 ㅇ 코드팩토리의 플러터 프로그래밍 책을 보며 실습한 내용이다. ㅇ 9장 만난 지 며칠 U&I를 만드는 과정이다. ㅇ 핵심 목표 - StatefulWidget의 setState 함수 이용방법 - Cupertino 위젯을 이용한 다이얼로그 및 데이터픽커 ㅁ 프로젝트 생성 및 이미지와 폰트 추가 ㅇ 프로젝트 이름: u_and_i ㅇ 이미지와 font도 복사를 하였다. assets: - asset/img/ fonts: - family: parisienne # 폰트 이름 지정 fonts: - asset: asset/font/Parisienne-Regular.ttf # 폰트 PATH - family: sunflower fonts: - asset: asset/font/Sunflower-Light.ttf ..