logo
emoji
검색하기
어제 가장 많이 검색된 기술
emoji
가장 많이 읽은 글
logo
데이터 엔지니어의 Airflow 데이터 파이프라인 CI 테스트 개선기
버즈빌의 ML 플랫폼 Buzzflow (1) - 모델을 개발하고 관리하기들어가며 안녕하세요, 버즈빌에서 MLOps 엔지니어로 일하고 있는 BK입니다. 버즈빌 광고 플랫폼 팀은 광고 성과 최적화를 위해서 다양한 머신러닝 모델을 활용하고 있습니다. 앞으로 두 편의 글을 통해 모델을 개발, 관리, …
4/17/2024
logo
데이터 엔지니어의 Airflow 데이터 파이프라인 CI 테스트 개선기
버즈빌의 ML 플랫폼 Buzzflow (1) - 모델을 개발하고 관리하기들어가며 안녕하세요, 버즈빌에서 MLOps 엔지니어로 일하고 있는 BK입니다. 버즈빌 광고 플랫폼 팀은 광고 성과 최적화를 위해서 다양한 머신러닝 모델을 활용하고 있습니다. 앞으로 두 편의 글을 통해 모델을 개발, 관리, …
2024.04.17
emoji
좋아요
emoji
별로에요
logo
[신청 시작] 4월 우아한테크세미나: Java의 미래, Virtual Thread
[신청 시작] 4월 우아한테크세미나: Java의 미래, Virtual Thread4월 우아한테크세미나 : Java의 미래, Virtual Thread• 신청하신 분들께 세미나가 끝난 뒤 발표 자료(.pdf)를 보내 드립니다.ㅤ Virtual Thread는 기존 Java의 스레드 모델을 탈바꿈하여, 긴 I/O blocking time, 잦은 Context switching이 발생하는 서버 환경에 맞는 경량 스레드 기술입니다.2023년에 JDK21에 정식 feature로 등록된 기술로 기존의 Thread per request 방식보다 훨씬 훌륭한 성능을 보여주며, Reactive Streams 방식보다 더 쉽게 적용할 수 있습니다.4월 우아한테크세미나에서는 이러한 장점을 가진 Virtual Thread의 동작원리에 대해 알아보고, JDK 소스코드를 살펴보면서 구현 방식에 대해 탐구해 봅니다. 또한 Virtual Thread를 모의 서버에 적용하여 성능 테스트를 한 결과를 통해 기존 스레도 모델과의 비교해 봅니다. 마지막으론 Virtual Thread를 사용할 때 유의할 점에 대해 숙지하여, 실 프로젝트에 적용할 때 고려해야 될 점을 제시해 드립니다.대용량 트래픽을 다루거나, 한정된 리소스로 서버를 운영하시는 분들이라면, 이번 세미나를 통해 Virtual Thread 적용을 고민해 보시는 건 어떨까요?*참고 기술블로그 : Java의 미래, Virtual Thread ㅤ• Java를 다루는 서버 개발자• 대용량 트래픽 서버를 구축해야 하는 개발자 ㅤ• 우아한형제들 회원프로덕트팀에서 4년차 서버개발자로 일하고 있습니다. 배달의민족의 회원/인증/게이트웨이 시스템을 담당하고 있습니다.
java
4/15/2024
logo
[신청 시작] 4월 우아한테크세미나: Java의 미래, Virtual Thread
[신청 시작] 4월 우아한테크세미나: Java의 미래, Virtual Thread4월 우아한테크세미나 : Java의 미래, Virtual Thread• 신청하신 분들께 세미나가 끝난 뒤 발표 자료(.pdf)를 보내 드립니다.ㅤ Virtual Thread는 기존 Java의 스레드 모델을 탈바꿈하여, 긴 I/O blocking time, 잦은 Context switching이 발생하는 서버 환경에 맞는 경량 스레드 기술입니다.2023년에 JDK21에 정식 feature로 등록된 기술로 기존의 Thread per request 방식보다 훨씬 훌륭한 성능을 보여주며, Reactive Streams 방식보다 더 쉽게 적용할 수 있습니다.4월 우아한테크세미나에서는 이러한 장점을 가진 Virtual Thread의 동작원리에 대해 알아보고, JDK 소스코드를 살펴보면서 구현 방식에 대해 탐구해 봅니다. 또한 Virtual Thread를 모의 서버에 적용하여 성능 테스트를 한 결과를 통해 기존 스레도 모델과의 비교해 봅니다. 마지막으론 Virtual Thread를 사용할 때 유의할 점에 대해 숙지하여, 실 프로젝트에 적용할 때 고려해야 될 점을 제시해 드립니다.대용량 트래픽을 다루거나, 한정된 리소스로 서버를 운영하시는 분들이라면, 이번 세미나를 통해 Virtual Thread 적용을 고민해 보시는 건 어떨까요?*참고 기술블로그 : Java의 미래, Virtual Thread ㅤ• Java를 다루는 서버 개발자• 대용량 트래픽 서버를 구축해야 하는 개발자 ㅤ• 우아한형제들 회원프로덕트팀에서 4년차 서버개발자로 일하고 있습니다. 배달의민족의 회원/인증/게이트웨이 시스템을 담당하고 있습니다.
2024.04.15
java
emoji
좋아요
emoji
별로에요
logo
생성형 AI 기반 코딩 툴의 장점과 단점
이 글은 IDG의 아티클을 전재하여 제공함을 알려 드립니다. [원문보기] : https://www.ciokorea.com/column/332463생성형 AI 기반 코딩 툴은 자연어 프롬프트 또는 부분적인 코드 입력을 기반으로 코드를 작성합니다. 개발자는 이런 툴을 사용해 코드를 더 빠르게, 더 정확하게 작성할 수 있습니다. (일부 이메일 플랫폼과 마찬가지로 실시간으로 작성되는 코드를 자동 완성할 수 있도록 제안하기도 합니다.) AI 기반 코드 생성 툴은 소프트웨어 엔지니어링 분야에서 점점 더 널리 보급되고 있으며, 생성형 AI를 실험하는 대부분 기업에서 큰 성과를 거두고 있습니다. 도입률이 급증하는 이유는 자동화 도구가 새로운 애플리케이션에 대한 코드의 기준선만 제시하더라도 수동 코드 작성 및 업데이트에 소요되던 시간을 절약할 수 있기 때문입니다.대세가 되어가는 AI 코딩 어시스턴트소프트웨어 개발 전문 시장조사기관인 에반스 데이터 코퍼레이션(Evans Data Corp.)이 최근에 434명의 AI/ML 개발자를 대상으로 실시한 설문조사에서 ‘생성형 AI 툴을 사용해 가장 많이 생성할 것으로 예상되는 것이 무엇이냐’는 질문에 가장 많은 응답자가 소프트웨어 코드라고 답했고, 알고리즘과 LLM이 뒤를 이었습니다. 또한 응답자들은 생성형 AI가 개발 주기를 단축하고 ML 기능을 더 쉽게 추가할 수 있을 것으로 기대했습니다. 가트너 리서치는 2027년까지 전문 개발자의 70%가 AI 기반 코딩 툴을 사용할 것으로 전망했습니다. 이는 2023년 9월 기준 10% 미만이었던 것에서 증가한 수치입니다. 또한 3년 이내에 기업 80%가 소프트웨어 엔지니어링 툴체인에 AI 증강 테스트 툴을 통합할 것이며, 이는 작년 초의 약 15%에서 크게 증가한 수치라고 가트너는 예측했습니다. 생성형 AI 자동화 소프트웨어 개발에 가장 많이 사용되는 툴 중 하나는 깃허브 코파일럿입니다. 깃허브 코파일럿은 깃허브, 오픈AI, 마이크로소프트가 개발한 생성형 AI 모델로 구동하며, 공개 리포지토리에 나타나는 모든 자연어를 학습합니다. 마이크로소프트의 개발자 부문 부사장 아만다 실버에 따르면, 지난해 비즈니스용 깃허브 코파일럿이 출시된 이후 5만 곳 이상의 기업이 해당 서비스를 사용하기로 등록했습니다. 여기에는 엣시(Etsy), 헬로프레시(HelloFresh) 같은 디지털 네이티브 기업은 물론 오토데스크, 델 테크놀로지스, 골드만삭스 등 유수의 기업도 포함돼 있습니다. 실버에 따르면, 현재 깃허브 코파일럿은 130만 명 이상의 유료 구독자를 보유하고 있으며, 최대 고객은 5만 개의 라이선스를 보유한 액센추어입니다. 깃허브의 코파일럿과 함께 가장 인기 있는 코드 생성 툴로는 구글 바드, 아마존 코드위스퍼러, 마이크로소프트 365 코파일럿(GPT 기반), 리플리트(Replit), 디비 AI(Divi AI), 탭나인(Tabnine), 리팩트닷에이아이(Refact.ai), 코디움(Codeium) 등이 있습니다. 대부분은 무료이거나 AI 지원 구독 서비스 일부로 제공됩니다.코드는 늘어
github
4/14/2024
logo
생성형 AI 기반 코딩 툴의 장점과 단점
이 글은 IDG의 아티클을 전재하여 제공함을 알려 드립니다. [원문보기] : https://www.ciokorea.com/column/332463생성형 AI 기반 코딩 툴은 자연어 프롬프트 또는 부분적인 코드 입력을 기반으로 코드를 작성합니다. 개발자는 이런 툴을 사용해 코드를 더 빠르게, 더 정확하게 작성할 수 있습니다. (일부 이메일 플랫폼과 마찬가지로 실시간으로 작성되는 코드를 자동 완성할 수 있도록 제안하기도 합니다.) AI 기반 코드 생성 툴은 소프트웨어 엔지니어링 분야에서 점점 더 널리 보급되고 있으며, 생성형 AI를 실험하는 대부분 기업에서 큰 성과를 거두고 있습니다. 도입률이 급증하는 이유는 자동화 도구가 새로운 애플리케이션에 대한 코드의 기준선만 제시하더라도 수동 코드 작성 및 업데이트에 소요되던 시간을 절약할 수 있기 때문입니다.대세가 되어가는 AI 코딩 어시스턴트소프트웨어 개발 전문 시장조사기관인 에반스 데이터 코퍼레이션(Evans Data Corp.)이 최근에 434명의 AI/ML 개발자를 대상으로 실시한 설문조사에서 ‘생성형 AI 툴을 사용해 가장 많이 생성할 것으로 예상되는 것이 무엇이냐’는 질문에 가장 많은 응답자가 소프트웨어 코드라고 답했고, 알고리즘과 LLM이 뒤를 이었습니다. 또한 응답자들은 생성형 AI가 개발 주기를 단축하고 ML 기능을 더 쉽게 추가할 수 있을 것으로 기대했습니다. 가트너 리서치는 2027년까지 전문 개발자의 70%가 AI 기반 코딩 툴을 사용할 것으로 전망했습니다. 이는 2023년 9월 기준 10% 미만이었던 것에서 증가한 수치입니다. 또한 3년 이내에 기업 80%가 소프트웨어 엔지니어링 툴체인에 AI 증강 테스트 툴을 통합할 것이며, 이는 작년 초의 약 15%에서 크게 증가한 수치라고 가트너는 예측했습니다. 생성형 AI 자동화 소프트웨어 개발에 가장 많이 사용되는 툴 중 하나는 깃허브 코파일럿입니다. 깃허브 코파일럿은 깃허브, 오픈AI, 마이크로소프트가 개발한 생성형 AI 모델로 구동하며, 공개 리포지토리에 나타나는 모든 자연어를 학습합니다. 마이크로소프트의 개발자 부문 부사장 아만다 실버에 따르면, 지난해 비즈니스용 깃허브 코파일럿이 출시된 이후 5만 곳 이상의 기업이 해당 서비스를 사용하기로 등록했습니다. 여기에는 엣시(Etsy), 헬로프레시(HelloFresh) 같은 디지털 네이티브 기업은 물론 오토데스크, 델 테크놀로지스, 골드만삭스 등 유수의 기업도 포함돼 있습니다. 실버에 따르면, 현재 깃허브 코파일럿은 130만 명 이상의 유료 구독자를 보유하고 있으며, 최대 고객은 5만 개의 라이선스를 보유한 액센추어입니다. 깃허브의 코파일럿과 함께 가장 인기 있는 코드 생성 툴로는 구글 바드, 아마존 코드위스퍼러, 마이크로소프트 365 코파일럿(GPT 기반), 리플리트(Replit), 디비 AI(Divi AI), 탭나인(Tabnine), 리팩트닷에이아이(Refact.ai), 코디움(Codeium) 등이 있습니다. 대부분은 무료이거나 AI 지원 구독 서비스 일부로 제공됩니다.코드는 늘어
2024.04.14
github
emoji
좋아요
emoji
별로에요
logo
당근에서 LLM 활용하기
들어가며ChatGPT가 등장한 이후 구글, 메타와 같은 빅테크들이 앞다투어 LLM을 출시하면서 바야흐로 LLM의 시대가 열렸어요. 당근에서는 LLM을 어떻게 활용하고 있는지 소개하고 또 앞으로 어떻게 나아가면 좋을지 이야기해 보려고 해요.A timeline of existing large language modelsLLM이 잘하는 일LLM은 수많은 텍스트 데이터를 학습해서 세상에 대한 지식, 언어 이해 능력 그리고 뛰어난 추론 능력을 갖추고 있어요. 별도의 학습 없이도 주어진 텍스트를 이해하고 지시한 작업을 수행할 수 있어요. 하지만 딥러닝 모델을 학습해서 해결하던 문제들을 모두 대신할 수 있는 것은 아니에요. LLM이 잘할 수 있는 일들은 크게 다음과 같이 생각해 볼 수 있어요.1. 자연어 처리: 텍스트 분석, 추출, 분류자연어로 된 데이터를 분석해서 문장을 분류하거나 특정 내용을 추출하는 등의 작업은 전통적으로 NLP라고 부르면서 머신러닝과 딥러닝으로 수행해 온 일이에요. 대량의 데이터 수집, 데이터 라벨링, 모델 학습, 모델 평가의 반복과 모델 서빙으로 이어지는 머신러닝 라이프 사이클이 필요하고 전문적인 머신러닝 또는 딥러닝 지식이 있어야 수행할 수 있었어요.Traditional ML project lifecycle하지만 LLM의 등장으로 간단한 프롬프트 작성만으로 해당 테스크에 학습된 모델과 비슷하거나 더 뛰어난 성능으로 같은 작업을 수행할 수 있게 되었어요. 예를 들어 주어진 텍스트에서 중요한 키워드를 추출하는 모델을 만들고 싶다면 학습을 할 수 있는 데이터를 준비하는 것부터 시작해서 많은 작업들이 필요했는데요, LLM에게 “이 텍스트에서 중요한 키워드를 3개 추출해 줘.” 라는 간단한 지시를 하는 것 만으로 같은 일을 수행할 수 있어요.LLM으로 별도의 학습 없이 자연어 처리 작업을 수행할 수 있어요2. 사람의 질문에 대답하기LLM은 질문과 글을 잘 이해하고 글을 만들어내는 일에 뛰어나기 때문에 질문에 대답하는 일에도 잘 활용할 수 있어요. 이를 활용하면 사람의 질문에 대답하면서 사람의 일을 돕는 Assistant 형태의 서비스나, 사람이 대답하는 역할을 완전히 대신하는 Agent 형태의 서비스도 가능해요. 기본적으로는 LLM이 학습을 통해 배워서 가지고 있는 지식을 기반으로 대답하게 되지만 답변에 필요한 정보를 먼저 찾아서 LLM에게 질문과 함께 넘겨주는 방식 (retrieval-augmented generation = RAG) 을 사용하기도 해요. 이를 통해 특정 문서나 서비스의 데이터베이스에 있는 정보에 기반해서 답변을 생성할 수 있어요. RAG를 사용하면 사용자의 당근 이용 기록이나 운영 매뉴얼을 참고해서 사용자의 문의에 정확한 답을 해주는 서비스도 만들 수 있어요.Retrieval Augmented Generation3. 창의적인 글짓기LLM은 새로운 글을 만들어내는 능력이 뛰어나요. 이를 활용하면 주어진 지시에 따라 창의적으로 편지나 소설 같은 글을 만들어내는 작업을 할 수 있어요. 당근에서 창의적인 글짓기를 활용한
4/14/2024
logo
당근에서 LLM 활용하기
들어가며ChatGPT가 등장한 이후 구글, 메타와 같은 빅테크들이 앞다투어 LLM을 출시하면서 바야흐로 LLM의 시대가 열렸어요. 당근에서는 LLM을 어떻게 활용하고 있는지 소개하고 또 앞으로 어떻게 나아가면 좋을지 이야기해 보려고 해요.A timeline of existing large language modelsLLM이 잘하는 일LLM은 수많은 텍스트 데이터를 학습해서 세상에 대한 지식, 언어 이해 능력 그리고 뛰어난 추론 능력을 갖추고 있어요. 별도의 학습 없이도 주어진 텍스트를 이해하고 지시한 작업을 수행할 수 있어요. 하지만 딥러닝 모델을 학습해서 해결하던 문제들을 모두 대신할 수 있는 것은 아니에요. LLM이 잘할 수 있는 일들은 크게 다음과 같이 생각해 볼 수 있어요.1. 자연어 처리: 텍스트 분석, 추출, 분류자연어로 된 데이터를 분석해서 문장을 분류하거나 특정 내용을 추출하는 등의 작업은 전통적으로 NLP라고 부르면서 머신러닝과 딥러닝으로 수행해 온 일이에요. 대량의 데이터 수집, 데이터 라벨링, 모델 학습, 모델 평가의 반복과 모델 서빙으로 이어지는 머신러닝 라이프 사이클이 필요하고 전문적인 머신러닝 또는 딥러닝 지식이 있어야 수행할 수 있었어요.Traditional ML project lifecycle하지만 LLM의 등장으로 간단한 프롬프트 작성만으로 해당 테스크에 학습된 모델과 비슷하거나 더 뛰어난 성능으로 같은 작업을 수행할 수 있게 되었어요. 예를 들어 주어진 텍스트에서 중요한 키워드를 추출하는 모델을 만들고 싶다면 학습을 할 수 있는 데이터를 준비하는 것부터 시작해서 많은 작업들이 필요했는데요, LLM에게 “이 텍스트에서 중요한 키워드를 3개 추출해 줘.” 라는 간단한 지시를 하는 것 만으로 같은 일을 수행할 수 있어요.LLM으로 별도의 학습 없이 자연어 처리 작업을 수행할 수 있어요2. 사람의 질문에 대답하기LLM은 질문과 글을 잘 이해하고 글을 만들어내는 일에 뛰어나기 때문에 질문에 대답하는 일에도 잘 활용할 수 있어요. 이를 활용하면 사람의 질문에 대답하면서 사람의 일을 돕는 Assistant 형태의 서비스나, 사람이 대답하는 역할을 완전히 대신하는 Agent 형태의 서비스도 가능해요. 기본적으로는 LLM이 학습을 통해 배워서 가지고 있는 지식을 기반으로 대답하게 되지만 답변에 필요한 정보를 먼저 찾아서 LLM에게 질문과 함께 넘겨주는 방식 (retrieval-augmented generation = RAG) 을 사용하기도 해요. 이를 통해 특정 문서나 서비스의 데이터베이스에 있는 정보에 기반해서 답변을 생성할 수 있어요. RAG를 사용하면 사용자의 당근 이용 기록이나 운영 매뉴얼을 참고해서 사용자의 문의에 정확한 답을 해주는 서비스도 만들 수 있어요.Retrieval Augmented Generation3. 창의적인 글짓기LLM은 새로운 글을 만들어내는 능력이 뛰어나요. 이를 활용하면 주어진 지시에 따라 창의적으로 편지나 소설 같은 글을 만들어내는 작업을 할 수 있어요. 당근에서 창의적인 글짓기를 활용한
2024.04.14
emoji
좋아요
emoji
별로에요
logo
[Cloud FinOps] 당신의 Cloud 비용은 안녕하신가요???
안녕하세요, 도선입니다.저는 SK텔레콤에서 Cloud Radar의 AI/ML 서비스를 개발 및 운영하고 있습니다.FinOps 플랫폼인 Cloud Radar는 SKT의 Cloud 고객에게 제공하는 CMP(Cloud Management Platform) 솔루션의 이름 입니다.작년에는 Cloud 비용 절감을 위한 자원최적화, 약정최적화, Cost Explorer & Report 등 다양한 기능이 추가 개발되었습니다.그리고 제품의 우수성을 인정 받아서 2024 MWC에서 GLOMO 어워드를 수상하였습니다. 구성원의 한사람으로써 매우 자랑스럽고 뿌듯함을 느낍니다.이런 말씀을 드린 이유는 이번 포스팅에서 Cloud 비용 절감과 관련된 이야기를 하려고 하기 때문입니다.주요 내용은 Cloud 비용 절감이 중요한 이유, 그런데 잘 안되는 이유, 그리고 비용 절감을 잘하기 위한 관리 요소 들에 대해서 이야기 해 보려 합니다.1.Cloud 비용 절감이 왜 중요한가?2.Cloud 비용 절감이 잘 안되는 이유1.Cloud 비용 절감이 왜 중요한가?현재 클라우드를 사용하는 대부분의 기업에 있어서 클라우드 비용 최적화는 절대적으로 중요한 요소가 되었습니다.Cloud 비용 최적화 또는 비용 절감이 중요해진 이유에는 경영환경의 변화, 클라우드의 도입/운영의 증가, 그리고 클라우드의 특성을 들 수 있습니다.가장 큰 이유는 비용절감이 기업 경영에 있어서 더욱 중요해졌기 때문입니다.2022년 코로나 발생으로 인해 전세계에서 인프레이션이 확대 되었으며, 이로 인해 물가가 오르고, 원자재와 같은 생산 원가가 높아 졌기 때문에 많은 기업에서 비용의 압박을 느끼고 있습니다.또한 이처럼 생산원가가 높은 환경에서는 비용 절감이 곧 기업 경쟁력과 직결되기 때문에 더욱 중요성이 높아지고 있습니다.예를들어 비용을 줄일 수 있으면 수율이 높아져서 가격 경쟁력이 생기고 매출이 증대 됩니다.또한 절감한 비용으로 다른 곳에 투자하여 차별적 경쟁력을 확보할 수 있고 이로써 지속적인 경쟁 우위를 유지할 수 있습니다.클라우드의 도입/운영 증가클라우드는 기업이 더 빠르게 성장하고 변화에 대응할 수 있도록 시스템 개발 및 운영에 있어서 유연성과 확장성을 제공합니다.이러한 강점을 바탕으로해서 많은 기업에서 도입 및 적용하여 요즘은 클라우드를 안쓰는 기업이 거의 없습니다.대부분의 기업이 많은 시스템 중에서 작은 부분이라도 클라우드를 도입해서 운영하고 있습니다.즉, 많은 기업에서 클라우드를 사용하기 때문에 많은 영역에서 클라우드 비용절감이 점점 더 중요해진 것 입니다.특히 클라우드를 도입하고 운영하다보면 (빠른 서비스 개발, 조직 이슈 등) 다양한 이유로 인해서 자원을 최적화 하지 못하고 운영하는 경우가 발생할 수 있습니다.그래서 비용 절감/최적화에 대한 중요성은 더욱 높아지게 됩니다.마지막으로 클라우드 특성 때문에 비용절감의 중요성이 더욱 높아졌습니다. 여기서 말하는 클라우드 특성은 바로 유연성과 확장성 입니다.클라우드는 기업에게 시스템 개발/운영의 유연성과 확장성을 제공합니다. 클릭 한두번으로 자원을 생성
4/12/2024
logo
[Cloud FinOps] 당신의 Cloud 비용은 안녕하신가요???
안녕하세요, 도선입니다.저는 SK텔레콤에서 Cloud Radar의 AI/ML 서비스를 개발 및 운영하고 있습니다.FinOps 플랫폼인 Cloud Radar는 SKT의 Cloud 고객에게 제공하는 CMP(Cloud Management Platform) 솔루션의 이름 입니다.작년에는 Cloud 비용 절감을 위한 자원최적화, 약정최적화, Cost Explorer & Report 등 다양한 기능이 추가 개발되었습니다.그리고 제품의 우수성을 인정 받아서 2024 MWC에서 GLOMO 어워드를 수상하였습니다. 구성원의 한사람으로써 매우 자랑스럽고 뿌듯함을 느낍니다.이런 말씀을 드린 이유는 이번 포스팅에서 Cloud 비용 절감과 관련된 이야기를 하려고 하기 때문입니다.주요 내용은 Cloud 비용 절감이 중요한 이유, 그런데 잘 안되는 이유, 그리고 비용 절감을 잘하기 위한 관리 요소 들에 대해서 이야기 해 보려 합니다.1.Cloud 비용 절감이 왜 중요한가?2.Cloud 비용 절감이 잘 안되는 이유1.Cloud 비용 절감이 왜 중요한가?현재 클라우드를 사용하는 대부분의 기업에 있어서 클라우드 비용 최적화는 절대적으로 중요한 요소가 되었습니다.Cloud 비용 최적화 또는 비용 절감이 중요해진 이유에는 경영환경의 변화, 클라우드의 도입/운영의 증가, 그리고 클라우드의 특성을 들 수 있습니다.가장 큰 이유는 비용절감이 기업 경영에 있어서 더욱 중요해졌기 때문입니다.2022년 코로나 발생으로 인해 전세계에서 인프레이션이 확대 되었으며, 이로 인해 물가가 오르고, 원자재와 같은 생산 원가가 높아 졌기 때문에 많은 기업에서 비용의 압박을 느끼고 있습니다.또한 이처럼 생산원가가 높은 환경에서는 비용 절감이 곧 기업 경쟁력과 직결되기 때문에 더욱 중요성이 높아지고 있습니다.예를들어 비용을 줄일 수 있으면 수율이 높아져서 가격 경쟁력이 생기고 매출이 증대 됩니다.또한 절감한 비용으로 다른 곳에 투자하여 차별적 경쟁력을 확보할 수 있고 이로써 지속적인 경쟁 우위를 유지할 수 있습니다.클라우드의 도입/운영 증가클라우드는 기업이 더 빠르게 성장하고 변화에 대응할 수 있도록 시스템 개발 및 운영에 있어서 유연성과 확장성을 제공합니다.이러한 강점을 바탕으로해서 많은 기업에서 도입 및 적용하여 요즘은 클라우드를 안쓰는 기업이 거의 없습니다.대부분의 기업이 많은 시스템 중에서 작은 부분이라도 클라우드를 도입해서 운영하고 있습니다.즉, 많은 기업에서 클라우드를 사용하기 때문에 많은 영역에서 클라우드 비용절감이 점점 더 중요해진 것 입니다.특히 클라우드를 도입하고 운영하다보면 (빠른 서비스 개발, 조직 이슈 등) 다양한 이유로 인해서 자원을 최적화 하지 못하고 운영하는 경우가 발생할 수 있습니다.그래서 비용 절감/최적화에 대한 중요성은 더욱 높아지게 됩니다.마지막으로 클라우드 특성 때문에 비용절감의 중요성이 더욱 높아졌습니다. 여기서 말하는 클라우드 특성은 바로 유연성과 확장성 입니다.클라우드는 기업에게 시스템 개발/운영의 유연성과 확장성을 제공합니다. 클릭 한두번으로 자원을 생성
2024.04.12
emoji
좋아요
emoji
별로에요
logo
우아한형제들 디자인 시스템에 시각적 회귀 테스트 적용하기
안녕하세요, 우아한형제들 디자인 시스템 ‘우아한공방’의 웹 프론트엔드 개발자 금교영, 이수정입니다. (참고: 우아한형제들의 새로운 디자인 시스템 ‘우아한공방’을 소개합니다: 개발 편) 이번 글에서는 우아한공방에 시각적 회귀 테스트를 도입한 과정에 대해 이야기해 보려고 합니다.시각적 회귀 테스트(Visual Regression Test)는 코드 변경 전/후의 스크린샷을 비교해 차이를 감지하고 예기치 못한 오류를 확인하여 UI의 시각적 일관성을 제공할 수 있도록 하는 테스트입니다.그렇다면, 디자인 시스템에 시각적 회귀 테스트가 왜 필요할까요?우아한공방은 총 115가지의 UI 컴포넌트를 제공하고 있고 우아한형제들에서 운영하는 다양한 웹/앱 프로덕트에서 사용되고 있어요. 컴포넌트 단위 테스트의 커버리지를 91%로 유지하고 있지만, 단위 테스트로는 커버할 수 없는 UI 변경 사항이 있습니다.A 컴포넌트를 변경했는데 해당 컴포넌트를 의존하는 다른 컴포넌트가 예상 못한 방식으로 변경되면서 A 컴포넌트에 의존하는 모든 컴포넌트를 확인해야 하는 경우도 있고,디자인 시스템 패키지의 스타일 코드 전체에 영향을 미치는 작업으로 인해 모든 컴포넌트에 UI 변경 사항이 발생했는지 확인해야 하기도 했습니다.변경 사항을 일일이 확인하는 데에는 상당한 시간이 필요하고, 미세한 변화는 알아차리기 어렵습니다. 예상치 못한 변경 사항이 적용된 컴포넌트가 사용자에게 보여진다면 앱의 품질을 저하시키는 요인이 될 수 있고 사용자에게 불편함을 줄 수도 있습니다.이러한 문제를 해결하여 컴포넌트의 시각적 안정성을 확보하고자 시각적 회귀 테스트를 도입했습니다.그럼, 이제 시각적 회귀 테스트를 어떻게 구현했고, 이를 통해 어떻게 안정성을 확보할 수 있었는지 같이 살펴보시죠!시각적 회귀 테스트를 지원하는 도구에는 Playwright, BackstopJS, Chromatic 등이 있습니다. 저희는 다음과 같은 이유로 Playwright를 선택했습니다.• 무료로 사용 가능합니다.• HTML로 제공하는 테스트 리포트로 결과를 확인하고 디버깅할 수 있습니다.Chromatic의 경우 유료여서, BackstopJS는 한글을 지원하지 않아 제외했습니다.우아한공방에는 컴포넌트 개발을 위한 세 가지 환경이 있습니다.• 스토리북 : 디자이너도 쉽게 UI를 확인할 수 있어서 디자인 QA 용도로 사용합니다.• 테스트 앱 : SSR 환경과 다양한 번들러에서 컴포넌트가 잘 동작하는지 확인하기 위해서 운영하고 있습니다.• 공식 문서 사이트 : 디자이너와 개발자에게 사용 방법을 가이드 하는 웹사이트입니다.위 세 가지 중, 저희는 스토리북을 테스트베드로 선택했습니다. 그 이유는 가장 빠르게 시각적 회귀 테스트를 도입할 수 있는 방법이라고 판단했기 때문입니다. 구체적인 선정 기준은 다음과 같아요.• 추가 코드 작성이 적을 것시각적 회귀 테스트에서 비교할 엘리먼트를 정확하게 선택하는 것이 중요한데요. ‘공식문서 사이트’는 이 과정이 까다로워서 제외했어요. ‘테스트 앱’은 엘리먼트 선택은 비교적 용이했으나 모든 컴포넌트에
playwright
storybook
4/11/2024
logo
우아한형제들 디자인 시스템에 시각적 회귀 테스트 적용하기
안녕하세요, 우아한형제들 디자인 시스템 ‘우아한공방’의 웹 프론트엔드 개발자 금교영, 이수정입니다. (참고: 우아한형제들의 새로운 디자인 시스템 ‘우아한공방’을 소개합니다: 개발 편) 이번 글에서는 우아한공방에 시각적 회귀 테스트를 도입한 과정에 대해 이야기해 보려고 합니다.시각적 회귀 테스트(Visual Regression Test)는 코드 변경 전/후의 스크린샷을 비교해 차이를 감지하고 예기치 못한 오류를 확인하여 UI의 시각적 일관성을 제공할 수 있도록 하는 테스트입니다.그렇다면, 디자인 시스템에 시각적 회귀 테스트가 왜 필요할까요?우아한공방은 총 115가지의 UI 컴포넌트를 제공하고 있고 우아한형제들에서 운영하는 다양한 웹/앱 프로덕트에서 사용되고 있어요. 컴포넌트 단위 테스트의 커버리지를 91%로 유지하고 있지만, 단위 테스트로는 커버할 수 없는 UI 변경 사항이 있습니다.A 컴포넌트를 변경했는데 해당 컴포넌트를 의존하는 다른 컴포넌트가 예상 못한 방식으로 변경되면서 A 컴포넌트에 의존하는 모든 컴포넌트를 확인해야 하는 경우도 있고,디자인 시스템 패키지의 스타일 코드 전체에 영향을 미치는 작업으로 인해 모든 컴포넌트에 UI 변경 사항이 발생했는지 확인해야 하기도 했습니다.변경 사항을 일일이 확인하는 데에는 상당한 시간이 필요하고, 미세한 변화는 알아차리기 어렵습니다. 예상치 못한 변경 사항이 적용된 컴포넌트가 사용자에게 보여진다면 앱의 품질을 저하시키는 요인이 될 수 있고 사용자에게 불편함을 줄 수도 있습니다.이러한 문제를 해결하여 컴포넌트의 시각적 안정성을 확보하고자 시각적 회귀 테스트를 도입했습니다.그럼, 이제 시각적 회귀 테스트를 어떻게 구현했고, 이를 통해 어떻게 안정성을 확보할 수 있었는지 같이 살펴보시죠!시각적 회귀 테스트를 지원하는 도구에는 Playwright, BackstopJS, Chromatic 등이 있습니다. 저희는 다음과 같은 이유로 Playwright를 선택했습니다.• 무료로 사용 가능합니다.• HTML로 제공하는 테스트 리포트로 결과를 확인하고 디버깅할 수 있습니다.Chromatic의 경우 유료여서, BackstopJS는 한글을 지원하지 않아 제외했습니다.우아한공방에는 컴포넌트 개발을 위한 세 가지 환경이 있습니다.• 스토리북 : 디자이너도 쉽게 UI를 확인할 수 있어서 디자인 QA 용도로 사용합니다.• 테스트 앱 : SSR 환경과 다양한 번들러에서 컴포넌트가 잘 동작하는지 확인하기 위해서 운영하고 있습니다.• 공식 문서 사이트 : 디자이너와 개발자에게 사용 방법을 가이드 하는 웹사이트입니다.위 세 가지 중, 저희는 스토리북을 테스트베드로 선택했습니다. 그 이유는 가장 빠르게 시각적 회귀 테스트를 도입할 수 있는 방법이라고 판단했기 때문입니다. 구체적인 선정 기준은 다음과 같아요.• 추가 코드 작성이 적을 것시각적 회귀 테스트에서 비교할 엘리먼트를 정확하게 선택하는 것이 중요한데요. ‘공식문서 사이트’는 이 과정이 까다로워서 제외했어요. ‘테스트 앱’은 엘리먼트 선택은 비교적 용이했으나 모든 컴포넌트에
2024.04.11
playwright
storybook
emoji
좋아요
emoji
별로에요
logo
Spark Cluster 구축기
안녕하세요. 여기어때컴퍼니 공통플랫폼개발팀 데이터 엔지니어 앰버입니다.EC2로 Spark Cluster를 구성 해보았던 경험을 공유하면서 Spark를 처음 접하는 분들도 Spark Cluster의 전반적인 개념을 이해할 수 있도록 글을 작성해보았습니다.제가 속한 공통플랫폼개발팀은 더 많은 데이터(대용량)를, 빠르게 처리하도록 개선하고자 하는 니즈가 있었습니다. 데이터 엔지니어로서 주요 업무 중 하나는 데이터를 가공하는 것인데요. 이 중 데이터 웨어하우스에 적재하기 전, 원시 데이터(Raw Data)에서 원하는 형식으로 선택 및 가공하여 처리하는 작업이 있는데, 이를 ‘데이터 전처리’라고 말합니다. 이러한 데이터 전처리 및 이관 작업을 위해 오픈 소스 고속 분산 처리 엔진인 Spark를 사용하고 있습니다.필요에 따라 AWS의 EMR(Elastic MapReduce, AWS가 제공하는 빅데이터 플랫폼 서비스)를 사용하기도 하지만, 대부분의 경우 프로젝트에 속한 데이터를 단일 서버에 Spark를 설치하여 처리합니다. 그러나 단일 서버에서 작업하는 방식은 서버 메모리가 부족하면 처리할 수 있는 데이터의 양이나 처리 속도에 제한이 생기는 문제가 있습니다. 이와 같은 상황에서 시간 당 처리할 수 있는 데이터양을 늘리기 위해 Spark Cluster의 구축 필요성을 느끼게 되었습니다.Spark와 Hadoop은 어떤 관계인가? Spark Cluster 구성빅데이터 처리를 위한 도구로 주로 사용되는 Hadoop과 Spark를 비교하고, Spark Cluster를 구성할 때의 선택지에 대해 알아보겠습니다.Spark는 빅데이터 처리를 위한 오픈 소스 고속 분산처리 엔진이라고 간단히 소개를 드렸는데, Hadoop과 어떤 차이를 가지고 있을까요? Hadoop은 HDFS(Hadoop Distributed File System)라는 파일시스템과, Yarn이라는 리소스 관리 매니저, MapReduce를 활용하여 연산처리하는 데이터 분산 처리 시스템입니다. Spark와 Hadoop 모두 대용량의 데이터를 처리하는 데 사용되지만, 둘은 연산 방식에서 차이점을 가지고 있습니다. Hadoop은 Disk I/O를 기반으로 동작하기 때문에 연산 처리 속도의 한계를 갖는 반면, Spark는 인메모리로 데이터를 처리하기 때문에 실시간 스트리밍이 가능할 만큼 속도가 빨라서 Hadoop의 느린 연산속도를 보완합니다.Spark Cluster를 구성할 때는 파일 저장 및 처리 시스템과 리소스 매니저를 선택해야 합니다. 다양한 선택지들 중에서 가장 일반적으로 선택되는 구성은 “Hadoop의 HDFS 파일 처리 시스템과 Yarn 리소스 매니저”입니다.HDFS 파일 처리 시스템: Hadoop의 HDFS를 선택하는 경우, 동일한 시스템 내에서 데이터를 저장하고 처리하기 때문에 액세스 및 처리 속도가 우수합니다. 데이터가 클러스터 내에 머무르고 대량의 데이터를 빠르게 처리해야 하는 경우에 적합합니다.기타 선택지: AWS의 S3와 같은 클라우드 기반 스토리지를 사용하는 것도 다른 선택지가 될 수
hadoop
nodejs
spark
4/11/2024
logo
Spark Cluster 구축기
안녕하세요. 여기어때컴퍼니 공통플랫폼개발팀 데이터 엔지니어 앰버입니다.EC2로 Spark Cluster를 구성 해보았던 경험을 공유하면서 Spark를 처음 접하는 분들도 Spark Cluster의 전반적인 개념을 이해할 수 있도록 글을 작성해보았습니다.제가 속한 공통플랫폼개발팀은 더 많은 데이터(대용량)를, 빠르게 처리하도록 개선하고자 하는 니즈가 있었습니다. 데이터 엔지니어로서 주요 업무 중 하나는 데이터를 가공하는 것인데요. 이 중 데이터 웨어하우스에 적재하기 전, 원시 데이터(Raw Data)에서 원하는 형식으로 선택 및 가공하여 처리하는 작업이 있는데, 이를 ‘데이터 전처리’라고 말합니다. 이러한 데이터 전처리 및 이관 작업을 위해 오픈 소스 고속 분산 처리 엔진인 Spark를 사용하고 있습니다.필요에 따라 AWS의 EMR(Elastic MapReduce, AWS가 제공하는 빅데이터 플랫폼 서비스)를 사용하기도 하지만, 대부분의 경우 프로젝트에 속한 데이터를 단일 서버에 Spark를 설치하여 처리합니다. 그러나 단일 서버에서 작업하는 방식은 서버 메모리가 부족하면 처리할 수 있는 데이터의 양이나 처리 속도에 제한이 생기는 문제가 있습니다. 이와 같은 상황에서 시간 당 처리할 수 있는 데이터양을 늘리기 위해 Spark Cluster의 구축 필요성을 느끼게 되었습니다.Spark와 Hadoop은 어떤 관계인가? Spark Cluster 구성빅데이터 처리를 위한 도구로 주로 사용되는 Hadoop과 Spark를 비교하고, Spark Cluster를 구성할 때의 선택지에 대해 알아보겠습니다.Spark는 빅데이터 처리를 위한 오픈 소스 고속 분산처리 엔진이라고 간단히 소개를 드렸는데, Hadoop과 어떤 차이를 가지고 있을까요? Hadoop은 HDFS(Hadoop Distributed File System)라는 파일시스템과, Yarn이라는 리소스 관리 매니저, MapReduce를 활용하여 연산처리하는 데이터 분산 처리 시스템입니다. Spark와 Hadoop 모두 대용량의 데이터를 처리하는 데 사용되지만, 둘은 연산 방식에서 차이점을 가지고 있습니다. Hadoop은 Disk I/O를 기반으로 동작하기 때문에 연산 처리 속도의 한계를 갖는 반면, Spark는 인메모리로 데이터를 처리하기 때문에 실시간 스트리밍이 가능할 만큼 속도가 빨라서 Hadoop의 느린 연산속도를 보완합니다.Spark Cluster를 구성할 때는 파일 저장 및 처리 시스템과 리소스 매니저를 선택해야 합니다. 다양한 선택지들 중에서 가장 일반적으로 선택되는 구성은 “Hadoop의 HDFS 파일 처리 시스템과 Yarn 리소스 매니저”입니다.HDFS 파일 처리 시스템: Hadoop의 HDFS를 선택하는 경우, 동일한 시스템 내에서 데이터를 저장하고 처리하기 때문에 액세스 및 처리 속도가 우수합니다. 데이터가 클러스터 내에 머무르고 대량의 데이터를 빠르게 처리해야 하는 경우에 적합합니다.기타 선택지: AWS의 S3와 같은 클라우드 기반 스토리지를 사용하는 것도 다른 선택지가 될 수
2024.04.11
hadoop
nodejs
spark
emoji
좋아요
emoji
별로에요
logo
생성 AI를 통해 모델 이미지 문제 해결하기
안녕하세요. 강남언니 브랜드 콘텐츠 디자이너 K 입니다. 저는 임팩트 있는 디자인을 통해 고객에게 전달되는 메시지의 가치를 높이는 일을 해요.이번 글에서는 강남언니에서 모델 이미지를 사용할 때 어떤 문제점이 있었고 생성 AI 기술을 통해 어떻게 해결했는지, 실제로 AI 모델을 사용하기까지 과정을 공유하고자 합니다.*해당 블로그 글에 삽입된 모델 이미지는 모두 생성 AI 기술로 제작되었습니다.강남언니는 고객에게 성형과 시술 정보를 제공하는 미용의료 정보 플랫폼이에요. 그렇기 때문에 앱 내/외부에서 의료광고의 이해를 돕기 위한 시각적인 모델 이미지가 곳곳에서 활용되고 있답니다.아름답고 매력적인 모델 이미지는 병원이나 시술 브랜드의 신뢰를 높여주고 고객의 이해를 도와주는 등 보다 많은 영역에서 콘텐츠와 브랜드의 가치를 높여주고 있어요.아주 중요한 역할을 하는 만큼 원하는 모델 이미지를 얻는 과정에서 많은 어려움을 겪기도 하는데요. 우선 의료법상 실제 환자 사진과 치료 경험담을 의료광고에 활용하는 것은 금지되고 있어, 법령에 위배되지 않는 모델 이미지를 사용하는 것이 매우 중요해요. 하지만 성형·시술을 다루는 미용의료 산업 군은 다른 제품군들과는 다르게 다양한 부위를 촬영해야 하는 특성상 모델들의 선호도가 높지 않아요. 내부에서 컨택을 해도 거절하는 비중이 클 뿐만 아니라 진행하는 과정에서도 헤어, 메이크업, 의상 등 여러 담당 인원이 필요하고 촬영 장소도 마련해야 하는 등 많은 비용과 시간이 필요하죠.어렵게 촬영을 마친 이후에도 모델의 계약 만료 기간이 가까워지면 컨셉에 맞는 모델을 찾아 위와 같은 과정을 다시 거쳐야 하고, 신규 모델로 교체하는 작업이 필요해요. 일정에 따라 쉽게 얻을 수 있는 스톡 사이트의 모델 이미지를 사용하면 컨셉과 맞지 않거나 어디선가 똑같은 모델이 사용되고 있는 결과물이 제작되기도 하고요. 항상 새로운 소재를 외부에 노출해야 하는 콘텐츠로 인해 모델 이미지의 소비가 매우 큰 반면 지속적인 모델 이미지의 업데이트가 어려워 효율적으로 관리하기 어려운 환경이었어요.이처럼 수요는 많지만 한정된 자원이라는 문제를 해결하기 위해, 강남언니는 새로운 시각으로 접근하여 하루가 다르게 성장하고 있는 이미지 생성 AI 기술을 이용하기로 했어요. 떠오르고 있는 새로운 기술을 업무에 적용할 수 있는 좋은 기회였죠. 많은 AI 모델 중에서도 쉽게 접근이 가능하며, 생성 즉시 바로 사용할 수 있을 정도의 퀄리티와, 빠른 이미지 생성 속도 등의 여부를 따져 콘텐츠 제작에 용이하다고 판단된 미드저니 모델을 주로 사용했어요.미드저니는 포털에 검색어를 입력하듯, 원하는 이미지를 생성하기 위한 프롬프트를 입력하면 텍스트를 이미지로 변환시켜주는 방식이에요.머릿속의 이미지를 시각화하기 위해 텍스트로 해체해서 나열하고, 생성된 이미지를 보고 텍스트를 더 추가하거나 빼면서 구체화시켜 나가는 과정이 신기하고 즐거웠는데요, 이렇게 몇 번의 반복하는 것만으로 안정적으로 생성된 이미지를 얻을 수 있었고 프롬프트를 어떻게 작성하느냐에 따라 결과물이 드라마틱 하게 생
4/11/2024
logo
생성 AI를 통해 모델 이미지 문제 해결하기
안녕하세요. 강남언니 브랜드 콘텐츠 디자이너 K 입니다. 저는 임팩트 있는 디자인을 통해 고객에게 전달되는 메시지의 가치를 높이는 일을 해요.이번 글에서는 강남언니에서 모델 이미지를 사용할 때 어떤 문제점이 있었고 생성 AI 기술을 통해 어떻게 해결했는지, 실제로 AI 모델을 사용하기까지 과정을 공유하고자 합니다.*해당 블로그 글에 삽입된 모델 이미지는 모두 생성 AI 기술로 제작되었습니다.강남언니는 고객에게 성형과 시술 정보를 제공하는 미용의료 정보 플랫폼이에요. 그렇기 때문에 앱 내/외부에서 의료광고의 이해를 돕기 위한 시각적인 모델 이미지가 곳곳에서 활용되고 있답니다.아름답고 매력적인 모델 이미지는 병원이나 시술 브랜드의 신뢰를 높여주고 고객의 이해를 도와주는 등 보다 많은 영역에서 콘텐츠와 브랜드의 가치를 높여주고 있어요.아주 중요한 역할을 하는 만큼 원하는 모델 이미지를 얻는 과정에서 많은 어려움을 겪기도 하는데요. 우선 의료법상 실제 환자 사진과 치료 경험담을 의료광고에 활용하는 것은 금지되고 있어, 법령에 위배되지 않는 모델 이미지를 사용하는 것이 매우 중요해요. 하지만 성형·시술을 다루는 미용의료 산업 군은 다른 제품군들과는 다르게 다양한 부위를 촬영해야 하는 특성상 모델들의 선호도가 높지 않아요. 내부에서 컨택을 해도 거절하는 비중이 클 뿐만 아니라 진행하는 과정에서도 헤어, 메이크업, 의상 등 여러 담당 인원이 필요하고 촬영 장소도 마련해야 하는 등 많은 비용과 시간이 필요하죠.어렵게 촬영을 마친 이후에도 모델의 계약 만료 기간이 가까워지면 컨셉에 맞는 모델을 찾아 위와 같은 과정을 다시 거쳐야 하고, 신규 모델로 교체하는 작업이 필요해요. 일정에 따라 쉽게 얻을 수 있는 스톡 사이트의 모델 이미지를 사용하면 컨셉과 맞지 않거나 어디선가 똑같은 모델이 사용되고 있는 결과물이 제작되기도 하고요. 항상 새로운 소재를 외부에 노출해야 하는 콘텐츠로 인해 모델 이미지의 소비가 매우 큰 반면 지속적인 모델 이미지의 업데이트가 어려워 효율적으로 관리하기 어려운 환경이었어요.이처럼 수요는 많지만 한정된 자원이라는 문제를 해결하기 위해, 강남언니는 새로운 시각으로 접근하여 하루가 다르게 성장하고 있는 이미지 생성 AI 기술을 이용하기로 했어요. 떠오르고 있는 새로운 기술을 업무에 적용할 수 있는 좋은 기회였죠. 많은 AI 모델 중에서도 쉽게 접근이 가능하며, 생성 즉시 바로 사용할 수 있을 정도의 퀄리티와, 빠른 이미지 생성 속도 등의 여부를 따져 콘텐츠 제작에 용이하다고 판단된 미드저니 모델을 주로 사용했어요.미드저니는 포털에 검색어를 입력하듯, 원하는 이미지를 생성하기 위한 프롬프트를 입력하면 텍스트를 이미지로 변환시켜주는 방식이에요.머릿속의 이미지를 시각화하기 위해 텍스트로 해체해서 나열하고, 생성된 이미지를 보고 텍스트를 더 추가하거나 빼면서 구체화시켜 나가는 과정이 신기하고 즐거웠는데요, 이렇게 몇 번의 반복하는 것만으로 안정적으로 생성된 이미지를 얻을 수 있었고 프롬프트를 어떻게 작성하느냐에 따라 결과물이 드라마틱 하게 생
2024.04.11
emoji
좋아요
emoji
별로에요
logo
AKS 운용관리 : 직접 만들어 본 툴 aks-resourcemanager
작년부터 AKS로 쿠버네티스 시작하기 라는 주제로 블로그를 작성해 오고 있다. AKS 운용관리를 또하나의 주제로 다루어 보려고 한다.운용관리라는 용어에 대해 다시 생각해 보았다. 특정 자산이나 리소스(IT 인프라 등)가 최대한 효율적으로 사용되도록 관리하는 활동이다.이는 IT 분야에서 주로 사용되며, 특정 시스템이나 서비스의 가용성, 성능, 보안 등을 유지하고 최적화하는 활동을 포함할 수 있다.AKS는 애플리케이션을 가동하기 위해 필요한 자원을 공급할 수 있는 인프라이다.K8s에서는 구성되는 객체들에 대해 리소스라는 표현으로 사용한다. K8s에서 '리소스'라는 표현은 클러스터 내에서 관리되는 모든 항목을 지칭하기 위해 사용된다.리소스는 쿠버네티스의 기본 구성 단위로, 쿠버네티스 API를 통해 생성, 수정, 삭제할 수 있는 객체를 의미한다.AKS를 포괄하는 K8s에서는 다음의 리소스를 일반적으로 유형으로 나누어 관리하고 있다. 리소스 유형별로 간단한 설명과 한 마디로 표현할 수 있는 역할로 구분해 볼 수 있다.AKS를 구축하고 운용하는 과정에서 손쉽고, 자주 사용했던 툴이 아래의 K9s이다.리소스 운용관리 측면에서는 Pod 중심의 정보를 제공한다.Pod가 속한 Node, Pod재기동 현황, CPU/MEM 점유울, 기동 유지시간 등을 볼 수 있다.Logs로 로그를 확인하거나 Describe를 통해 Pod에 발생한 이벤트로 확인가능하다.하지만, k9s는 쿠버네티스 클러스터를 관리하기 위한 터미널 기반의 UI 도구이다 보니 터미널 명령을 통해서 ctx(컨텍스트)를 변경할 수 있다.다수의 컨텍스트가 있을 경우 리소스 관리가 불편하다.또한, Pod 이외의 다양한 리소스를 터미널 명령어를 통해 전환해야 전체 리소스를 하나씩 볼 수 있다.AKS 리소스를 보기 위한 툴 만들기 아이디어편리하게 보기 위해 웹을 선택하기로 했다.웹으로 클릭해서 리소스를 볼 수 있다면 편리할 것이다. 파이썬의 streamlit을 활용하면 웹 구현이 간편하다.자신의 PC에 kube context를 위한 크리덴셜만 가지고 있으면 kubectl명령으로 리소스 정보 확인이 가능한 것에 착안하였다.참고로 ~/.kube/config 로 자신의 PC에 크리덴셜을 가져오면 PC에서 편리하게 AKS를 관리할 수 있다.ChatGPT 를 사용하여 빠르게 개발할 수 있다.몇 가지 중요한 요구사항만 프롬프트로 전달하면 된다.- streamlit으로 동작, K8s리소스 관리, 사이드바에서는 kube context 선택, 탭형식으로 동작완성된 코드를 ChatGPT에 입력하면 아래와 같이 코드에 대한 설명을 잘 해준다.이 코드는 Streamlit을 사용하여 Kubernetes 리소스를 관리하고 시각화하는 웹 애플리케이션을 생성합니다. 주요 기능과 구조는 다음과 같습니다:• None 앱 설정과 제목: Streamlit 앱의 페이지 레이아웃을 넓게 설정하고, 앱의 제목을 'AKS Resource Manager'로 설정합니다.• None Kubernetes 컨텍스트 가져오기: 함수는 명령을 실행하여 사용 가능
docker
kubernetes
4/11/2024
logo
AKS 운용관리 : 직접 만들어 본 툴 aks-resourcemanager
작년부터 AKS로 쿠버네티스 시작하기 라는 주제로 블로그를 작성해 오고 있다. AKS 운용관리를 또하나의 주제로 다루어 보려고 한다.운용관리라는 용어에 대해 다시 생각해 보았다. 특정 자산이나 리소스(IT 인프라 등)가 최대한 효율적으로 사용되도록 관리하는 활동이다.이는 IT 분야에서 주로 사용되며, 특정 시스템이나 서비스의 가용성, 성능, 보안 등을 유지하고 최적화하는 활동을 포함할 수 있다.AKS는 애플리케이션을 가동하기 위해 필요한 자원을 공급할 수 있는 인프라이다.K8s에서는 구성되는 객체들에 대해 리소스라는 표현으로 사용한다. K8s에서 '리소스'라는 표현은 클러스터 내에서 관리되는 모든 항목을 지칭하기 위해 사용된다.리소스는 쿠버네티스의 기본 구성 단위로, 쿠버네티스 API를 통해 생성, 수정, 삭제할 수 있는 객체를 의미한다.AKS를 포괄하는 K8s에서는 다음의 리소스를 일반적으로 유형으로 나누어 관리하고 있다. 리소스 유형별로 간단한 설명과 한 마디로 표현할 수 있는 역할로 구분해 볼 수 있다.AKS를 구축하고 운용하는 과정에서 손쉽고, 자주 사용했던 툴이 아래의 K9s이다.리소스 운용관리 측면에서는 Pod 중심의 정보를 제공한다.Pod가 속한 Node, Pod재기동 현황, CPU/MEM 점유울, 기동 유지시간 등을 볼 수 있다.Logs로 로그를 확인하거나 Describe를 통해 Pod에 발생한 이벤트로 확인가능하다.하지만, k9s는 쿠버네티스 클러스터를 관리하기 위한 터미널 기반의 UI 도구이다 보니 터미널 명령을 통해서 ctx(컨텍스트)를 변경할 수 있다.다수의 컨텍스트가 있을 경우 리소스 관리가 불편하다.또한, Pod 이외의 다양한 리소스를 터미널 명령어를 통해 전환해야 전체 리소스를 하나씩 볼 수 있다.AKS 리소스를 보기 위한 툴 만들기 아이디어편리하게 보기 위해 웹을 선택하기로 했다.웹으로 클릭해서 리소스를 볼 수 있다면 편리할 것이다. 파이썬의 streamlit을 활용하면 웹 구현이 간편하다.자신의 PC에 kube context를 위한 크리덴셜만 가지고 있으면 kubectl명령으로 리소스 정보 확인이 가능한 것에 착안하였다.참고로 ~/.kube/config 로 자신의 PC에 크리덴셜을 가져오면 PC에서 편리하게 AKS를 관리할 수 있다.ChatGPT 를 사용하여 빠르게 개발할 수 있다.몇 가지 중요한 요구사항만 프롬프트로 전달하면 된다.- streamlit으로 동작, K8s리소스 관리, 사이드바에서는 kube context 선택, 탭형식으로 동작완성된 코드를 ChatGPT에 입력하면 아래와 같이 코드에 대한 설명을 잘 해준다.이 코드는 Streamlit을 사용하여 Kubernetes 리소스를 관리하고 시각화하는 웹 애플리케이션을 생성합니다. 주요 기능과 구조는 다음과 같습니다:• None 앱 설정과 제목: Streamlit 앱의 페이지 레이아웃을 넓게 설정하고, 앱의 제목을 'AKS Resource Manager'로 설정합니다.• None Kubernetes 컨텍스트 가져오기: 함수는 명령을 실행하여 사용 가능
2024.04.11
docker
kubernetes
emoji
좋아요
emoji
별로에요
logo
더 이상 zsh theme로 고통받지 마세요 - Powerlevel10k
맥북 쓰는 이유요...? 그냥 감성이죠(or 이쁘잖아요)맥북 처음 받으면 제일 먼저하는 세팅이죠? 바로 zsh 테마(theme) 설정입니다.정확히는 "zsh" + "oh my zsh" 이긴 하지만 대충 zsh라고 하죠 ㅎㅎ어쨋든 카탈리나 이후부터는 기본 shell이 zsh로 설정되서 세팅할게 줄긴했지만 문제가 있습니다터미널이라는게 사실 이쁘게 꾸미는게 매우 귀찮기도 하고,회사PC의 경우엔 기존 PC를 반납하고 신규 PC를 받아야되는 경우가 있기 때문에 보통 설정파일인 파일을 어디에 백업해놔야하는 경우가 있는데요하지만 파일만 백업했다고 완벽하게 이전 테마처럼 세팅할 순 없습니다왜냐하면 터미널에서 쓸 한글 폰트도 설치해야되고테마도 다시 다운로드도 해야되고해당 테마에서 스크립트 수정한 경우엔 그 코드도 찾아야되거든요보통 newline 추가하려고 아래와 같은 스크립트를 테마에 넣으시는 경우가 많죠이런 스크립트 하나 넣으면 아래처럼 newline이 추가되서 보기도 그렇고 사용할때도 좀 더 편해집니다어쨋든 이렇게 하나하나 세팅을 다 해놨더니갑자기 PC를 포맷해야되거나 초기화를 해야되는 상황이 온다면 매우 난감합니다왜냐하면 겨우 테마 세팅하는걸 문서화까지 하는 경우는 잘 없으니깐요그래서 보통 포맷해야되는 상황이 온다면 모두 난감해하지만이제 소개시켜 드릴 오픈소스라면 걱정은 없습니다!터미널 구성을 마법사 형태로 구성할 수 있게 도와주는 오픈소스입니다설치도 매우 간단한데 저는 주로 manual하게 설치하는 편입니다별다른 의미는 없고 저는 mac뿐 아니라 linux(ubuntu)에서도 zsh를 쓰다보니 그냥 통일해서 쓰는게 좋더라구요보시는것처럼 설치도 쉽고 놓칠 수 있는 부분도 마법사를 통해서 알려주다보니 편합니다그럼 실제로 어떻게 설정하는지도 볼까요?를 실행하면 p10k(=powerlevel10k) configure가 실행됩니다위처럼 기본적으로 Apple에서 제공해주는 기본 폰트인 Menlo를 커스텀한 버전인 Meslo를 추천해줍니다둘 다 mono폰트(고정폭)이라서 코딩할때 편하지만 Meslo의 특징은줄 간격이 3가지로 제공되고 Nerd Fornt는 다양한 glyphs한 아이콘도 제공된다는거죠glyphs한 아이콘이란건 아래 예시를 보시면 좋을것 같네요어쨋든 특별한 취향이 있는게 아니라면 기본으로 추천해주는 Meslo Nerd Font를 추천드립니다(+ 처음 설치하신다면 터미널을 한번 재시작해야 합니다)2. 다이아몬드(UTF-8)터미널 세팅할때 놓치는부분이죠. 바로 UTF-8 텍스트입니다옛날엔 ascii만 써도 충분했지만 요즘 오픈소스들은 거의 최소 UTF-8를 쓰고 있기 때문에 사용하는 폰트가 해당 텍스트를 지원하고 있는지 확인하는 겁니다만약 현재 터미널 설정이 해당 텍스트를 지원하지 않는다면 안보일테고 그러면 p10k가 알아서 보일만한 문자로 대체해주겠죠?저는 Meslo를 써서 그런지 잘보이네요PUA(Private Use Area)에 해당하는 글자가 보이는지 확인합니다.PUA는 이름 그대로 사용자 정의 영역이고 UTF-8, UTF-16에서 사용자 개인
4/11/2024
logo
더 이상 zsh theme로 고통받지 마세요 - Powerlevel10k
맥북 쓰는 이유요...? 그냥 감성이죠(or 이쁘잖아요)맥북 처음 받으면 제일 먼저하는 세팅이죠? 바로 zsh 테마(theme) 설정입니다.정확히는 "zsh" + "oh my zsh" 이긴 하지만 대충 zsh라고 하죠 ㅎㅎ어쨋든 카탈리나 이후부터는 기본 shell이 zsh로 설정되서 세팅할게 줄긴했지만 문제가 있습니다터미널이라는게 사실 이쁘게 꾸미는게 매우 귀찮기도 하고,회사PC의 경우엔 기존 PC를 반납하고 신규 PC를 받아야되는 경우가 있기 때문에 보통 설정파일인 파일을 어디에 백업해놔야하는 경우가 있는데요하지만 파일만 백업했다고 완벽하게 이전 테마처럼 세팅할 순 없습니다왜냐하면 터미널에서 쓸 한글 폰트도 설치해야되고테마도 다시 다운로드도 해야되고해당 테마에서 스크립트 수정한 경우엔 그 코드도 찾아야되거든요보통 newline 추가하려고 아래와 같은 스크립트를 테마에 넣으시는 경우가 많죠이런 스크립트 하나 넣으면 아래처럼 newline이 추가되서 보기도 그렇고 사용할때도 좀 더 편해집니다어쨋든 이렇게 하나하나 세팅을 다 해놨더니갑자기 PC를 포맷해야되거나 초기화를 해야되는 상황이 온다면 매우 난감합니다왜냐하면 겨우 테마 세팅하는걸 문서화까지 하는 경우는 잘 없으니깐요그래서 보통 포맷해야되는 상황이 온다면 모두 난감해하지만이제 소개시켜 드릴 오픈소스라면 걱정은 없습니다!터미널 구성을 마법사 형태로 구성할 수 있게 도와주는 오픈소스입니다설치도 매우 간단한데 저는 주로 manual하게 설치하는 편입니다별다른 의미는 없고 저는 mac뿐 아니라 linux(ubuntu)에서도 zsh를 쓰다보니 그냥 통일해서 쓰는게 좋더라구요보시는것처럼 설치도 쉽고 놓칠 수 있는 부분도 마법사를 통해서 알려주다보니 편합니다그럼 실제로 어떻게 설정하는지도 볼까요?를 실행하면 p10k(=powerlevel10k) configure가 실행됩니다위처럼 기본적으로 Apple에서 제공해주는 기본 폰트인 Menlo를 커스텀한 버전인 Meslo를 추천해줍니다둘 다 mono폰트(고정폭)이라서 코딩할때 편하지만 Meslo의 특징은줄 간격이 3가지로 제공되고 Nerd Fornt는 다양한 glyphs한 아이콘도 제공된다는거죠glyphs한 아이콘이란건 아래 예시를 보시면 좋을것 같네요어쨋든 특별한 취향이 있는게 아니라면 기본으로 추천해주는 Meslo Nerd Font를 추천드립니다(+ 처음 설치하신다면 터미널을 한번 재시작해야 합니다)2. 다이아몬드(UTF-8)터미널 세팅할때 놓치는부분이죠. 바로 UTF-8 텍스트입니다옛날엔 ascii만 써도 충분했지만 요즘 오픈소스들은 거의 최소 UTF-8를 쓰고 있기 때문에 사용하는 폰트가 해당 텍스트를 지원하고 있는지 확인하는 겁니다만약 현재 터미널 설정이 해당 텍스트를 지원하지 않는다면 안보일테고 그러면 p10k가 알아서 보일만한 문자로 대체해주겠죠?저는 Meslo를 써서 그런지 잘보이네요PUA(Private Use Area)에 해당하는 글자가 보이는지 확인합니다.PUA는 이름 그대로 사용자 정의 영역이고 UTF-8, UTF-16에서 사용자 개인
2024.04.11
emoji
좋아요
emoji
별로에요
Copyright © 2024. Codenary All Rights Reserved.