본문 바로가기

전체 글

(1207)
Terraform 리소스 값을 사용하기 위한 Module간 관계 정리 코드는 아래와 같다.# 사용되는 Flow를 블로그에 정리.module "subnet" { source = "./modules/subnet" # 서브넷 모듈 소스 경로 vpc_id = module.vpc.vpc_id # VPC 모듈에서 VPC ID 가져오기 route_table_id = module.vpc.route_table_id # VPC 모듈에서 라우트 테이블 ID 가져오기}module.vpc.route_table_id와 module.vpc.vpc_id 값을 가져오는 흐름은 다음과 같습니다:modules/vpc/main.tf 파일에서 VPC와 라우트 테이블 리소스 정의aws_vpc.main 리소스는 VPC를 생성하고, aws_route_table.main 리소스는 라우트 테이블을 생성합니다..
terraform module (테라폼 모듈의 실행 Flow) # 현재 폴더의 구성은 아래와 같다.├── main.tf└── modules ├── ec2 │ └── main.tf ├── key-pair │ └── main.tf ├── nat-gateway │ └── main.tf ├── security-group │ └── main.tf ├── subnet │ └── main.tf └── vpc └── main.tf# Terraform module의 실행 Flow 정리Terraform은 모듈 간의 의존성을 자동으로 관리합니다. main.tf 파일에서 vpc_id와 route_table_id를 module.vpc에서 가져오도록 설정했기 때문에, Terraform은 vpc 모듈을 ..
Terraform outputs와 variables의 관계 정리 # Terraform outputs와 variables의 관계 정리Terraform에서 outputs와 variables는 서로 다른 목적을 가지고 있으며, 다음과 같은 관계가 있습니다.Variables (변수)variables는 Terraform 구성에서 입력 값을 정의하는 데 사용됩니다.사용자가 Terraform 실행 시 값을 제공하거나, 기본값을 설정할 수 있습니다.예를 들어, main.tf 파일에서 모듈에 값을 전달할 때 사용됩니다.variable "vpc_id" { description = "The ID of the VPC" type = string}Outputs (출력)outputs는 Terraform 구성에서 생성된 리소스의 값을 출력하는 데 사용됩니다.다른 모듈이나 외부 시..
모듈간 상호작용 # 모듈간 상호작용이란?모듈간 상호작용 정리모듈간 상호작용은 Controller에서 Service를 호출하고 Service에서 Mapper를 호출하는 과정또한 모듈간의 상호작용 이라고 볼 수 있다.controller에서 service를 호출하고, service에서 mapper를 호출하는 과정은 모듈 간의 상호작용의 좋은 예이다. 이러한 상호작용을 통해 각 모듈은 독립적으로 동작하면서도 협력하여 전체 시스템의 기능을 수행한다. 그리고, 모듈 간의 상호작용은 보통 소프트웨어 시스템의 내부 아키텍처(Inner Architecture)로 볼 수 있다. 내부 아키텍처는 시스템 내의 다양한 모듈들이 어떻게 상호작용하고 협력하는지를 정의한다. 이를 통해 시스템의 구조와 동작 방식을 이해하고 설계할 수 있다. # MV..
SpringBoot를 기반으로 Application Architect 설계하기 Spring Boot를 백엔드로 사용하는 애플리케이션 아키텍트 역할은 다음과 같은 역할과 책임을 수행해야 한다.아키텍처 설계시스템의 전체 아키텍처를 설계하고, 모듈 간의 상호작용을 정의한다.마이크로서비스 아키텍처, 레이어드 아키텍처 등 적절한 아키텍처 패턴을 선택한다.기술 스택 선택프로젝트에 적합한 기술 스택을 선택한다. 예를 들어, 데이터베이스, 메시징 시스템, 캐시 시스템 등을 결정한다.보안애플리케이션의 보안 요구사항을 정의하고, 인증 및 인가 메커니즘을 설계한다.데이터 보호, 암호화, 보안 감사 등을 고려한다.성능 최적화애플리케이션의 성능을 최적화하기 위한 전략을 수립한다.캐싱, 데이터베이스 최적화, 비동기 처리 등을 고려한다.스케일링애플리케이션이 증가하는 트래픽을 처리할 수 있도록 스케일링 전략을..
챗봇 만들기 3탄 (특정 도메인을 학습시켜 보기) # 나만의 LLM 만들기나만의 LLM을 만들어보자. 1. 데이터 셋 만들기일단 데이터가 필요하니까, 데이터는 검색문을 파라미터로 하여 구글에서 크롤링을 해오자.아래와 같이 크롤링이 실행된다.크롤링이 완료되면 일단 CSV 파일로 저장한다.아래와 같이 저장이 된다.2. 생성된 데이터 셋을 가지고 학습하기데이터 셋 경로를 아래와 같이 크롤링 후 저장된 파일 경로와 파일로 지정한다.해당 파일의 경로를 참고로 학습이 이루어진다.학습을 시작하기 전에 새롭게 학습된 데이터는 아래와 같이 별도의 폴더로 생성되도록 구현했다.학습을 시작기본 모델에 크롤링한 데이터만 학습시키는 것이기 때문에 학습 시간은 사양 낮은 노트북을 에 비해 그리 오래 걸리진 않는다. 약 7분 소요.3. 학습된 결과를 가지고 테스트학습된 결과를 가지..
챗봇 만들기 2탄 (질문과 응답을 개선) # 챗봇 만들기 2탄챗봇을 만들어보자, 질문과 응답을 개선해 보자.1. 데이터 셋데이터 셋을 바꿔서 전처리를 수행하고 질문과 응답을 구현했다.데이터 셋의 데이터는 아래의 링크에서 활용했다.https://github.com/songys/Chatbot_data GitHub - songys/Chatbot_data: Chatbot_data_for_KoreanChatbot_data_for_Korean. Contribute to songys/Chatbot_data development by creating an account on GitHub.github.com2. 코드파이썬 코드는 아래와 같다.이전에 생성한 코드에서 데이터 셋의 경로와 데이터 셋 전처리 부분만 바꾼 후 테스트 데이터 약 1000개를 별도로 저장 ..
ElasticSearch를 Repository Pattern을 활용하여 구성 (2) # 생성한 ElasticSearch Index에 실제 로그 데이터를 적재하는 작업1. 디자인 패턴ElasticSearch에 최적화된 Repository Pattern을 적용자세한 설명은 아래 url 참고https://medium.com/@pererikbergman/repository-design-pattern-e28c0f3e4a30 Repository Design PatternThe repository pattern is one of the more popular patterns at the moment. I for one like it, it follows the solid principles and done right…medium.com간단하게 말하면 Repository 패턴은 데이터 액세스 로직을 ..