본문 바로가기

Hello World24

Chat GPT로 PowerPoint(PPT) 프레젠테이션 자동으로 만들기 Chat-GPT는 OpenAI가 개발한 GPT-3.5 아키텍처를 기반으로 하며, 자연어 이해와 생성능력을 통해 대화형 인터페이스를 제공한다. Chat GPT가 등장하며 일상에서 마주하는 여러 자동화 과정에 혁신을 가져왔다. Chat GPT를 활용해서 작업의 효율성을 향상시키고 일상생활에서 생산성을 높일 수 있다. Chat GPT를 활용한 다양한 자동화 기능에 대해 하나씩 공유해보고자 한다. 이번글에서는 ChatGPT를 활용한 PowerPoint (PPT) 프레젠테이션을 자동으로 생성하는 방법에 대해 알아보겠다. 파워포인트는 비지니스, 교육, 마케팅 등 다양한 분야에서 많이 사용되고 있으며, 직접 ppt를 작성하는 과정은 많은 시간과 노력을 요구한다. 이에 대한 해결책으로 chatGPT는 사용자의 요구에.. 2023. 6. 12.
SW 버전 관리를 위한 몇가지 방안 (Versioning strategy) SW 버전관리는 개발과 운영에 있어서 중요한 역할을 한다. 변경이력을 추적할 수 있고, 여러 개발자가 협업하는 경우 변경사항의 충돌을 방지하고 협력을 원활하게 한다. 또한 문제가 발생했을 때 이전버전으로 쉽게 롤백 할 수 있다. 이 밖에도 확장성이나, 버그수정, 보안 패치 등을 효과적으로 관리하는데 도움을 준다. 버전명을 생성하는 방법(Versioning) 은 조직이나 프로젝트의 요구사항에 따라 다를 수 있다. 다만 일반적으로 사용되는 몇가지 버전명 생성 방법을 공유하고자 한다. 1. 의미론적 버전 (Sementic Versioning, SemVer) .. 시메틱 버전은 버전명을 MAJOR.MINOR.PATCH 형식으로 구성하는 표준방법이다. 각 세그먼트의 의미는 아래와 같다. MAJOR 버전은 하위호환.. 2023. 6. 10.
Innersource란 무엇이고, 어떻게 적용할 수 있나? InnerSource의 의미 Innersource는 기업 내부에서 오픈소스 개발 모델을 도입하는 것을 의미하는 개념이다. 이는 기업 내부에서 오픈소스와 유사한 협업 및 지식 공유 접근방식을 사용하여 SW개발을 진행하는 것을 의미한다. InnerSource의 장점 그럼 Innersouce의 이점이 뭐가 있을까? 지식 공유 및 협업 Innersource는 조직 내부의 팀과 개발자들 간에 지식 공유를 촉진하고 협업을 강화한다. 코드, 문서, 아이디어 등을 공유함으로써 조직 전체의 지식을 활용할 수 있다. 코드 재사용 Innersource는 코드 재사용을 촉진한다. 다른 프로젝트나 팀에서 개발한 코드를 재사용함으로써 개발 생산성을 향상시킬 수 있다. 투명성 및 신뢰 Innersource는 코드와 프로세스의 투명.. 2023. 6. 10.
Golang application 에 prometheus 및 custom metric 적용하기 golang application 에 promethues 연동하고 custom metric 을 적용하는 방법을 정리해보았습니다. 프로메테우스 library를 적용하고 /metrics 에 핸들러를 expose(노출)한후 어플리케이션을 시작하고 localhost:8080/metrics 로 이동하면 기본 내장 메트릭을 볼 수 있습니다. 이러한 metric은 너무 low-level metric 이라 유용하게 쓸 수 없습니다. 어플리케이션 내부의 상태를 확인할 수 있는 custom metric을 적용하는 방법을 공유합니다. 1. Prometheus 클라이언트 라이브러리 설치 가장 먼저, Golang 애플리케이션에서 Prometheus 메트릭을 적용하기 위해 Prometheus 클라이언트 라이브러리를 설치해야 합니.. 2022. 8. 30.
[AWS] 이미 생성된 infra를 terraform 으로 가져오기 Terraform import 명령어는 말그대로 기존에 존재하는 인프라 상태를 가져오는 기능이다. 이미 생성되어 운영중인 AWS 리소스에 대해 terraform 으로 상태를 code로 가져올 수 있다. Terraform import 로 기존에 구축된 리소스에 대한 terraform 코드를 작성하는 과정을 간단하게 정리하자면 1. 가져올 개체가 mapping될 리소스에 대한 빈 블록을 수동으로 작성한다 2. terraform import 명령어를 수행하면 terraform.tfstate파일에 가져온 리소스에 대한 상태값이 저장된다. 3. tfstate파일을 보면서 리소스.tf 파일에 각 속성을 하나하나 직접 선언한다. 혹은 Terraformer 라는 Tool 을 사용할 수도 있다. Terraformer는 .. 2022. 8. 26.
[AWS] Terraform 시작하기 - 기본구성, 개발환경, 동작과정 Terraform 구성 목적 AWS에 서비스를 구축하고 운영하면서, 동일한 구성의 인프라 세트를 각각의 환경(dev/stg/prd)에 맞게 생성하거나 변경(신규 계정, 네트워크변경 등)하는 작업이 빈번하게 발생한다. 그렇기에 IaC 대표 SW인 Terraform으로 인프라를 코드화하고 관리할 수 있다. Terraform 코드 구성 - provider.tf : terraform으로 정의할 infra provider(aws, azure, ..) 정보 - variable.tf : 리소스에 쓰일 변수들을 정의해놓은 파일 - .tf : 인프라 관련된 리소스가 정의된 파일 - output.tf : 프로비저닝 후 생성된 resource 정보를 출력 - terraform.tfstate : 인프라 배포 후 작업결과가 ... 2022. 8. 15.
[IaC] Terraform Docker image 생성 DevOps 업무할 때 내 pc에 이것저것 설치하기 싫어서 container로 만들어 docker 환경에서 작업하는 것을 선호한다. terraform 도 docker image 만들어서 필요할때마다 사용하기 위해 아래와같이 docker file 작성 FROM ubuntu:20.04 RUN apt-get update && apt-get install -y curl unzip RUN apt-get install -y wget RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \ unzip awscliv2.zip && \ ./aws/install RUN apt-get install -y gnupg RU.. 2022. 8. 9.
[AWS] AWS CDK 란? CloudFormation 과 비교하기 AWS CDK(Cloud Development Kit)란 Terraform 과 AWS CloudFormation 같은 IaC 서비스중 하나이다. Terraform, CloudFormation, Anible 같이 Yaml 이나 Hf같은 특정문법을 사용하는게 아니라, 프로그래밍언어로 작성할 수 있다는 장점이 있다. Java, Python, Typescript 등을 지원하기때문에 개발언어로 좀 더 쉽게 인프라를 구성할 수 있다. AWS CloudFormation 을 비교해보자면.. CloudFormation 은 리소스를 정해진 템플릿 문법(JSON 혹은 YAML) 로 작성해야한다. 스택이 크고 여러개일수록 복잡성이 증가하고 이때 CDK를 쓰면 코드를 읽을때도 스택이 어떠한 연결성을 가지고 구성되어있는지 파악하.. 2022. 7. 11.
[K8S] Kubernetes Object 와 Manifest 작성 방법 쿠버네티스(이하 k8s) 클러스터에 application을 배포하기위해서는 k8s에 기술된 정의대로 object를 생성해야하고 이 때, yaml 형식의 manifest파일을 작성하게 된다. 외부와 통신하는 서버를 배포한다고 했을때, 기본적으로 자주 사용되는 k8s object는 아래와 같다. 1. Deployment - Pod 배포를 제어하는 object. pod replicas, resouce, 배포 방식같은것들을 제어한다. 2. Service - Pod들을 하나의 ip로 묶어줌. pod에 고정된 주소로 접근할 수 있게 하는 역할. 다양한 어플리케이션을 올리고 통신이 필요한경우 사용. 3. Ingress : 외부의 클러스터 pod 서비스에 접근관리 위한 ojeject. 일반적으로 http를 관리함. y.. 2022. 4. 17.