플래티어 연구소 테크 블로그
    • 메뉴 닫기
    • 글작성
    • 방명록
    • 환경설정
      • 분류 전체보기 (489)
        • Ai Word 사전 (0)
        • A.I.(인공지능) & M.L.(머신러닝) (96)
          • Development Environments (9)
          • A.I. Information (14)
          • Python (6)
          • transformers (13)
          • 머신러닝 (1)
          • 딥러닝 (4)
          • 신경망 이론 (5)
          • LLM (33)
          • Agent (4)
        • DevOps와 Infra (70)
          • DevOps 일반 (26)
          • Docker Container (3)
          • Linux (2)
          • AWS EKS (16)
          • AWS (7)
          • Kubernetes On Premise (14)
          • Security (1)
          • IDC 서버 (1)
        • 검색엔진 (10)
          • Elasticsearch (5)
          • Opensearch (5)
        • 빅데이터 (31)
          • Mongo DB (4)
          • Apache Nifi (21)
          • Scala (4)
          • Apache Spark (2)
        • 네트워크 (2)
          • SSL (2)
        • Quality Assurance (3)
          • E2E Test (3)
        • Backend(Framework) (43)
          • Java (2)
          • Spring (1)
          • Spring Boot Batch (3)
          • NestJS (9)
          • NestJS 개요(공식문서 번역) (20)
          • Cache (3)
          • Rust (5)
          • Go (0)
        • Frontend (Next.js Tailwind .. (52)
          • Frameworks (6)
          • Next.js (30)
          • Typescript (1)
          • Tailwind CSS (9)
          • React.js (4)
        • Next.js 개발 가이드 (42)
          • 01. Set up (7)
          • 02. 코딩 가이드 및 필수 패키지 (9)
          • 03. 퍼블 가이드 (3)
          • 04. Data fetching (2)
          • 05. State management (3)
          • 06. Learn Next.js 공식 가이드 (18)
        • Nuxt 공식문서 번역 (96)
          • 개요 (15)
          • Directories (23)
          • Components (12)
          • Composables (21)
          • Utils (25)
        • Nuxt 개발 가이드 (13)
          • 01. Set up (9)
          • 02. 코딩 가이드 및 필수 패키지 (0)
          • 03. 퍼블 가이드 (0)
          • 04. Data fetching (3)
          • 05. State management (1)
        • Tech 공유 세미나 - 2차 (13)
        • 기타 (17)
          • IT기타 (9)
          • story (5)
          • 문정역 여기어때 (2)
    Backend(Framework)/Rust

    #[derive(...)] : 러스트의 매크로 속성

    이 속성은 컴파일러에게 특정 트레이트(trait) 구현을 자동으로 생성하도록 지시합니다. derive 속성을 사용하면 반복적이고 상용구 코드(boilerplate code)를 직접 작성하지 않아도 됩니다. 컴파일러가 자동으로 해당 트레이트의 구현을 생성해 줍니다. #[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]struct User { id: u64, name: String,} 이 코드에서 derive 속성은 User 구조체에 대해 아래 트레이트들의 구현을 자동 생성합니다.  Debug: 디버깅을 위한 출력 형식을 제공합니다. println!("{:?}", user)와 같이 사용할 수 있습니다.Deserialize: Serde를 통해 외부..

    2025. 3. 25. 11:04 / Tech쏜
    Backend(Framework)/Rust

    러스트(Rust) 웹 개발의 핵심 라이브러리 소개

    러스트는 안전성과 성능을 동시에 추구하는 시스템 프로그래밍 언어로, 웹 백엔드 개발에서도 점점 더 많은 관심을 받고 있습니다. 오늘은 웹 개발에 자주 사용되는 주요 러스트 라이브러리들을 살펴보겠습니다. Axum: 모던 러스트 웹 프레임워크use axum::{routing::post, Router, Json}; Axum은 Tokio 팀에서 개발한 인기 있는 웹 프레임워크입니다. 비동기 처리에 최적화되어 있으며, 타입 안전성과 성능을 중요시합니다.routing::post: HTTP POST 요청을 처리하는 라우트를 정의합니다.Router: 애플리케이션의 라우팅을 구성하는 핵심 구조체입니다.Json: 요청과 응답의 JSON 직렬화/역직렬화를 처리합니다.Axum은 미들웨어, 에러 처리, 상태 공유 등 웹 서버 ..

    2025. 3. 25. 10:37 / Tech쏜
    A.I.(인공지능) & M.L.(머신러닝)/Agent

    로컬환경에서 MCP 구현

    MCP를 이용할 수 있는 플랫폼은 많이 있지만 개발 환경이나 구현 환경에 따라 본인이 구성한 플랫폼에서 실행하기 위해 MCP 클라이언트와 서버를 구현하는 방법을 알아야한다.  1. 사용하고자 하는 기능을 구현한 MCP 서버들 2. MCP 서버들을 하나로 통합해 실행할 수 있도록하는 클라이언트 위 두가지를 구현해야 한다. 우선 간단한 현재 시간을 알려주는 서버를 구현한다.class TimeTools(str, Enum): GET_CURRENT_TIME = "get_current_time" CONVERT_TIME = "convert_time"class TimeResult(BaseModel): timezone: str datetime: str is_dst: boolclass TimeC..

    2025. 3. 24. 16:31 / Tech감자
    A.I.(인공지능) & M.L.(머신러닝)/Agent

    MCP를 Claude Desktop으로 간단히 구현해보자.

    Claude Desktop을 활용하여 간단하게 MCP를 구현하는 방법에 대해서 작성해보고자 합니다. MCP를 사용하는 방법에는 여러가지가 있을 수 있지만, 가장 간단하게 구현할 수 있는 방법은 Claude Desktop을 활용하는 것 같습니다.( 출처 : https://insight.infograb.net/blog/2025/01/22/mcp/, https://modelcontextprotocol.io/quickstart/server) Claude Desktop은 아래의 주소에서 다운로드 받을 수 있습니다. https://claude.ai/download Download ClaudeDownload Claude for your desktop or mobile device.claude.ai 위의 출처에 제시한..

    2025. 3. 24. 15:02 / Tech코알라
    DevOps와 Infra/Docker Container

    Golang(hello world)을 Docker Container로 띄우기

    Go 코딩비어있는 아무 이름의 폴더에서 시작한다.Gin은 Go로 짜여진 HTTP web framework으로 아주 빠르고, 사용하기 쉽다.Gin을 이용해 우선 hello world를 짜보자.Go를 처음 사용하는 맥북 사용자는 처음에 Go 모듈이 disable 되어있을 것이다.다음과 같이 enable로 바꾼다.echo 'export GO111MODULE=auto' >> ~/.zshrcsource ~/.zshrc초기화go mod init containerized-go-app→ go.mod 가 자동 생성된다.Gin을 가져온다.go get -u github.com/gin-gonic/ginmain.go를 작성한다.package mainimport ( "github.com/gin-gonic/gin")func ..

    2025. 3. 24. 14:53 / Tech김백엔드
    A.I.(인공지능) & M.L.(머신러닝)/Agent

    MCP (Model Context Protocol) 소개

    작년 11월 쯤 Claude에서 Model Context Protocol 이라는 걸 새로 발표를 했습니다. (당시 아무도 관심이 없었던 것 같습니다.)  그러나 최근 들어 급격하게 MCP가 주목 받고 있는데요. 그 이유로 많은 분들이 Agent가 어쨌든 본 궤도에 올라섰고, 이에 따라서 Agent를 개발하는데 있어서 실제로 사용하는 외부 데이터 소스 및 도구들과 LLM 어플리케이션을 효과적으로 연결 시켜줄 새로운 표준이 필요했기 때문이라는 생각이 듭니다.  즉, Model Context Protocol(MCP)은 LLM(Large Language Model) 애플리케이션과 외부 데이터 소스 및 도구들 간의 원활한 통합을 가능하게 하는 개방형 프로토콜입니다. AI 기반 IDE를 구축하든, 채팅 인터페이스를..

    2025. 3. 24. 11:32 / Tech코알라
    A.I.(인공지능) & M.L.(머신러닝)/LLM

    BABEL : 바벨탑 이전으로

    최근 LLM 개발에서 Qwen 과  QwQ 와 같은 모델들로 새로운 강자로 부상한 중국의 Alibaba가 이번에 새로운 모델을 발표했습니다. 이 모델의 이름은 바벨입니다. Babel의 arixiv 논문 제목은 Babel: Open Multilingual Large Language Models Serving Over 90% of Global Speakers 인데요 말 그대로 90% 이상의 화자가 사용할 수 있도록 여러 언어로 학습된 모델이라고 합니다. (인간은 바벨탑을 짓고 신의 권위에 도전했다가 바벨탑은 무너지고 그 이전까지 같은 언어를 사용했던 인간들은 서로 다른 언어를 하게 되어 갈등과 분쟁을 반복했다고 전해지죠.) 사실, 현재 LLM들은 영어나 중국어를 기반으로 프랑스어나 독일어 와 같은 발달된 국..

    2025. 3. 15. 09:10 / Tech코알라
    A.I.(인공지능) & M.L.(머신러닝)

    deepseek-r1 vs gemma3 성능 및 품질 비교

    최근 AI 모델 분야에서는 경량화와 효율성을 동시에 갖춘 오픈 웨이트(open-weight) 모델들이 각광받고 있습니다. 이 글에서는 단일 GPU 또는 TPU 환경에서도 우수한 성능을 발휘하는 두 모델, DeepSeek-R1과 Gemma 3의 성능과 품질을 비교해보고자 합니다.DeepSeek-R1은 낮은 자원으로도 빠르고 안정적인 추론을 제공하는 경량 모델로, 실시간 응용 프로그램이나 임베디드 시스템에 적합한 솔루션으로 주목받고 있습니다. 반면, Gemma 3는 Google의 최신 연구 성과를 바탕으로 개발된 모델로, 1B부터 27B까지 다양한 크기로 제공되며, 최대 128K 토큰의 긴 컨텍스트, 멀티모달 입력 지원, 140개 이상의 언어 지원 등 뛰어난 확장성을 자랑합니다.실제 사용 환경에서 어떤 성능..

    2025. 3. 14. 20:26 / Tech쏜
    A.I.(인공지능) & M.L.(머신러닝)/transformers

    [Transformer 시리즈] Tokenization

    최근 인공지능 분야에서 자연어처리(NLP)는 활발하게 연구되고 있는 영역 중 하나입니다. 특히 Transformer 구조의 등장으로 인해 언어 모델의 성능이 폭발적으로 발전하였고, 그 중심에 있는 모델 중 하나가 BERT입니다.이번 시리즈에서는 자연어처리를 처음 접하는 분들을 위해 다음과 같은 과정을 간단히 소개합니다. 오늘 다룰 내용은 Tokenization 입니다.  A. 토큰화가 왜 필요할까요?1. 컴퓨터는 글자를 직접 이해하지 못한다.AI도 결국 컴퓨터 프로그램이라 글자 자체를 이해하지 못합니다. 컴퓨터는 숫자만 이해하죠. 토큰화는 텍스트를 AI가 처리할 수 있는 숫자로 바꾸는 첫 단계입니다.예를 들어, "안녕하세요"를 컴퓨터에게 그냥 주면 이해하지 못하지만, 토큰화를 통해 [8275]와 같은 숫..

    2025. 3. 8. 17:13 / Tech쏜
    DevOps와 Infra/DevOps 일반

    Grafana에서 Alert 생성 (2) - 설치 및 설정

    Installation우선은 이미 다운로드 받아 둔 Istio를 쓰기 때문에 Istio 설치 폴더에 있는 것을 사용할 수도 있다.cd istio-1.24.1/samples/addonskubectl apply -f . 위 폴더에 들어가면 kiali, jaeger, loki, prometheus, grafana 설치 파일들이 있다.설치를 해보았지만 버전은 최신이지만, 폴더명 samples처럼 말 그대로 가볍게 테스트해보는 용도의 설치 파일이었다.Default로 설정된 dashboard들도 별로 없다. 그래서 helm chart로 설치하는 것이 낫다.Add helm charthelm repo add prometheus-community https://prometheus-community.github.io/he..

    2025. 2. 28. 16:55 / Tech김백엔드
    DevOps와 Infra/DevOps 일반

    Grafana에서 Alert 생성 (1) - MS Teams

    Grafana에서 Alert rule을 설정해주기 전에 우선 팀즈에서 작업을 해주어야한다.Microsoft Teams1. 새 팀 만들기우선은 MS Teams에서 새 채널을 만들어야하고그 전에 새 팀을 만들어야한다. 새 팀을 누르고, 팀 이름을 입력하면2. 채널 만들기아래 그림처럼 "첫 번째 채널 이름 지정"에 이름을 적어주면팀즈에 채널이 생성된다. 3. Incoming Webhook 설치팀즈 좌측 앱 메뉴에서 Incoming Webhook을 설치한다.공식문서 참조: https://learn.microsoft.com/ko-kr/azure/data-factory/how-to-send-notifications-to-teams?tabs=data-factory 4. Webhook URL 생성하기알람이 뜰 채널을 ..

    2025. 2. 26. 16:23 / Tech김백엔드
    DevOps와 Infra/DevOps 일반

    GitLab 에서 merge request 하는 방법

    안녕하세요. Tech뿌롱이 입니다.오늘은 merge request  하는 방법 한번 알아보도록 하겠습니다. 먼저 본인의 feature branch 를 만듭니다. 저는 feature/sat 란 branch 를 이용해 볼게요. 1. 먼저 merge request  하는 페이지로 이동합니다. 2. New Merge request 버튼 클릭하고 아래 그림처럼 셋팅을 하고 Compare branches and continue 를 누릅니다.3. 필요한 정보를 기입하고 create merge request 클릭 4. 다음 페이지에서 중간에 이렇게 초록불이 들어와 있으면 Merge 가능합니다. 5. Merge 버튼 누르면 작업 끝!!! 행복한 개발 라이프 즐기세요!

    2025. 2. 21. 19:19 / Tech뿌롱이
    A.I.(인공지능) & M.L.(머신러닝)/LLM

    Embedding 모델과 Sentence-Transformer Training

    임베딩은 중요한 영역이다.LLM이든 sLLM이든, 결국 컴퓨터가 '자연어'를 처리하기 위해서는 일종의 변환 과정을 거쳐야 한다. 잠재 공간에 이러한 Text 혹은 Sentence를 매핑하는 과정을 우리는 임베딩이라 부른다.이런 과정을 통해, 컴퓨터는 문장을 숫자로 변환시키고, 이를 연산에 활용할 수 있게 된다.또한 적절한 잠재공간을 통해, 그 문장이 어떤 문장과 '가까운 공간'에 위치하게 되는지도 알 수 있다. 여러모로 유용한 방법이다보니 활용처가 많다.특히 LLM의 성능이 비약적으로 발전하며, RAG를 구축하는 비율이 높아지면 그 관심이 커지고 있다. 대표적인 영역은 다음과 같다. 1. Sentence Similarity2. Sentence Classification3. Sentence Rerankin..

    2025. 2. 21. 10:40 / Tech하렴
    DevOps와 Infra/DevOps 일반

    Atlassian Bamboo란?

    Atlassian Bamboo라는 제품이 어떤 것인지에 대해 간략히 알아보자.Bamboo공식문서: https://confluence.atlassian.com/bamboo/install-a-bamboo-data-center-trial-1155494322.htmlBamboo Server (deprecated 24년2월) → Bamboo Data Center로 대체되었다. (이름이 바뀌었다고 self-hosting 버전이 Jira나 Confluence처럼 Cloud 버전으로 바뀐 것은 아니고, 여전히 설치형이지만 고가용성(multi-node 지원)을 지원하고 보안상 업그레이드가 되었다고 보면 된다.)Bamboo는 Jenkins과 같은 도구라고 보면 된다.개인적인 생각 : IDE에 비유를 들자면, Jenkins..

    2025. 2. 18. 19:56 / Tech김백엔드
    A.I.(인공지능) & M.L.(머신러닝)/Python

    Python에서 Generator를 모듈화하는 방법

    python에서 Generator는 일반적인 함수와 달리 스트림 출력을 위해  yield를 사용해 값을 한번에 하나씩 반환하는 함수이다.이러한 Generator는 동기 뿐만 아니라 비동기적으로 작동이 가능하며 AsyncGenerator를 이용해 사용가능하다. Generator는 데이터 스트림을 처리하거나 큰 데이터를 메모리 효율적으로 처리가 가능하다.AsyncGenerator는 비동기 흐름에서 데이터를 처리할 수 있으며 async for 와 await을 통해 작업을 실행한다. Generator 함수의 내부 로직을 모듈화하는 이유는? 단순히 Generator 내부에서 하나의 로직을 통해 처리하면 상관이 없지만 여러 작업이 하나의 함수 내부에 포함되거나분기문으로 여러 조건에 따른 결과를 출력한다면 하나의 G..

    2025. 2. 18. 15:11 / Tech감자
    DevOps와 Infra/DevOps 일반

    WhaTap 모니터링 적용해보기 (3) - NestJS

    안녕하세요. Tech뿌롱이에요. 아쉽지만 WhaTap 마지막 시간입니다.NestJS 에 주입하는 방법에 대해 알아볼게요. 탐구 Start!!! 기본적으로 Next.js 에 설치하는 방법과 비슷해서 중복되는 부분은 링크 참조하시기 바랍니다.https://x2bee.tistory.com/466 WhaTap 모니터링 적용해보기 (2) - Next.js안녕하세요! Tech뿌롱이 입니다. whatap 모니터링 주입 두번째 시간으로오늘은 Next.js 기반 애플리케이션 서버에 적용하는 방법을 알아볼게요.01. Whatap 에서 제공하는 파일을 특정 폴더에 복사합니x2bee.tistory.com 01. Whatap 에서 제공하는 파일을 특정 폴더에 복사합니다.- 링크 참조해서 01번 항목을 진행합니다.02. Nest..

    2025. 2. 18. 13:47 / Tech뿌롱이
    DevOps와 Infra/DevOps 일반

    WhaTap 모니터링 적용해보기 (2) - Next.js

    안녕하세요! Tech뿌롱이 입니다. whatap 모니터링 주입 두번째 시간으로오늘은 Next.js 기반 애플리케이션 서버에 적용하는 방법을 알아볼게요.01. Whatap 에서 제공하는 파일을 특정 폴더에 복사합니다.001. /app 폴더에 Whatap 에서 제공하는 파일 복사/app $ lsapp.jar logs security.conf container.conf paramkey.txt whatap.agent-2.2.41.jar whatap.conf002. whatap.conf 파일 수정하기license=[발급받은 license]whatap.server.host=[설정된 host..

    2025. 2. 18. 13:31 / Tech뿌롱이
    DevOps와 Infra/DevOps 일반

    K8s에 Next.js CDN 구성과 무중단 배포 전략 (3)

    1편에서는 Kubernetes에서 Next.js를 배포할 때 무중단 배포가 어떤 것인가에 대해서 다루었습니다. https://x2bee.tistory.com/4622편에서는 무중단 배포 중 정적인 파일을 CDN에 올려서 하는 방법에 대해서 다루었습니다. https://x2bee.tistory.com/4593편에서는 2편에서 적용한 무중단 배포 후 public 폴더의 처리에 대해서 다루겠습니다.문제점무중단 배포를 위해 static files를 아래처럼 CDN url로 바라보게 하기 위해 next.config.js에 코드를 넣었다. assetPrefix: (() => { switch (process.env.APP_ENV) { case 'stage': return 'https://..

    2025. 2. 18. 13:23 / Tech김백엔드
    DevOps와 Infra/DevOps 일반

    WhaTap 모니터링 적용해보기 (1)

    운영중인 서비스에 설치형 whatap 모니터링 적용해 봅시다.적용 대상은 Java, NextJS, NestJS 로 만든 서비스이며 먼저 Java 에 적용하는 법을 알아 봅니다.01. WhaTap에서 제공하는 파일을 특정 폴더에 복사해 놓습니다.001. /app 폴더에 whatap.agent-2.2.41.jar 복사/app $ lsapp.jar logs security.conf container.conf paramkey.txt whatap.agent-2.2.41.jar whatap.conf 002. whatap.conf 파일 작성하기license=[발급받은 license]whata..

    2025. 2. 13. 16:40 / Tech뿌롱이
    Frontend (Next.js Tailwind Typescript)/Next.js

    Lazy loading with dynamic import

    초기화면 로딩시간은 UX에 중요한 요소입니다. X2bee 솔루션은 더 나은 UX를 위해 lazy loading을 구현합니다.Next.js page아래는 app/page.tsx의 코드이다.용량이 꽤 큰 PopupListModal을 import한 후,useState의 초기값을 false로 놓아,PopupListModal component가 렌더링되지 않게 해놓았다.간단한 예를 들었지만 이 component는 실제 application에서는,웹사이트를 이용하는 모든 사람들이 꼭 보지 않아도 되는,원하는 사람만 클릭해서 봐도 되는 component라고 보면 된다.'use client'import { useState } from 'react'import { Button } from '@/components/ui/..

    2025. 2. 13. 16:15 / Tech김백엔드
    • «
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • ···
    • 25
    • »

    전체 방문자

    오늘
    어제
    전체

    테크팀 개인 블로그

    정지민
    jeong
    손성준
    son
    김해수
    sunwater
    이다운
    koala
    김백엔드
    backendkim
    채희철
    bburongE

    전체 카테고리

    • 분류 전체보기 (489)
      • Ai Word 사전 (0)
      • A.I.(인공지능) & M.L.(머신러닝) (96)
        • Development Environments (9)
        • A.I. Information (14)
        • Python (6)
        • transformers (13)
        • 머신러닝 (1)
        • 딥러닝 (4)
        • 신경망 이론 (5)
        • LLM (33)
        • Agent (4)
      • DevOps와 Infra (70)
        • DevOps 일반 (26)
        • Docker Container (3)
        • Linux (2)
        • AWS EKS (16)
        • AWS (7)
        • Kubernetes On Premise (14)
        • Security (1)
        • IDC 서버 (1)
      • 검색엔진 (10)
        • Elasticsearch (5)
        • Opensearch (5)
      • 빅데이터 (31)
        • Mongo DB (4)
        • Apache Nifi (21)
        • Scala (4)
        • Apache Spark (2)
      • 네트워크 (2)
        • SSL (2)
      • Quality Assurance (3)
        • E2E Test (3)
      • Backend(Framework) (43)
        • Java (2)
        • Spring (1)
        • Spring Boot Batch (3)
        • NestJS (9)
        • NestJS 개요(공식문서 번역) (20)
        • Cache (3)
        • Rust (5)
        • Go (0)
      • Frontend (Next.js Tailwind .. (52)
        • Frameworks (6)
        • Next.js (30)
        • Typescript (1)
        • Tailwind CSS (9)
        • React.js (4)
      • Next.js 개발 가이드 (42)
        • 01. Set up (7)
        • 02. 코딩 가이드 및 필수 패키지 (9)
        • 03. 퍼블 가이드 (3)
        • 04. Data fetching (2)
        • 05. State management (3)
        • 06. Learn Next.js 공식 가이드 (18)
      • Nuxt 공식문서 번역 (96)
        • 개요 (15)
        • Directories (23)
        • Components (12)
        • Composables (21)
        • Utils (25)
      • Nuxt 개발 가이드 (13)
        • 01. Set up (9)
        • 02. 코딩 가이드 및 필수 패키지 (0)
        • 03. 퍼블 가이드 (0)
        • 04. Data fetching (3)
        • 05. State management (1)
      • Tech 공유 세미나 - 2차 (13)
      • 기타 (17)
        • IT기타 (9)
        • story (5)
        • 문정역 여기어때 (2)

    블로그 인기글

    태그

    • #apach
    • #이벤트리스너
    • #검색엔진
    • #finetuning
    • #adapter_model.bin
    • #nifi
    • #langgraph
    • #딥러닝
    • #나이파이
    • #파이썬
    • #fine-tuning
    • #Ai
    • #python
    • #GPU
    • #플래티어
    • #deepseek
    • #LLM
    • #Lora
    • #HuggingFace
    • #셀레니움
    • #ElasticSearch
    • #문제해결
    • #React
    • #AWS EKS
    • #아파치
    • #pyTorch
    • #Spring Boot Batch
    • #venv
    • #nextjs
    • #Langchain
    MORE
    Powered by Privatenote Copyright © 플래티어 연구소 테크 블로그 All rights reserved. TistoryWhaleSkin3.4

    티스토리툴바