tree-sitter와 LSP를 이용한 Language Server 개발기 / if(kakaoAI)2024
if kakao 카카오 · YouTube
AI 핵심 요약
Fluent Bit 설정 파일은 IDE 언어 지원이 부족해 문법 오류를 찾기 어렵고 자동완성도 없어 작성 실수가 잦았다. 이를 개선하기 위해 Rust와 Tower LSP로 언어 서버를 만들고, Tree-sitter 문법과 Fluent Bit 스키마를 활용해 자동완성·코드 진단·호버 기능을 구현했다. Rope와 Tree-sitter의 증분 파싱을 적용했으며, GitHub Actions로 여러 운영체제용 바이너리를 빌드해 VS Code 확장으로 배포했다. 설정 작성 생산성이 높아지고 실수가 줄었지만, LSP의 위치 인코딩과 프레임워크 제약, Tree-sitter의 호환성 변화는 개발 과정의 주요 과제로 남았다.
- LSP는 에디터별 언어 기능을 따로 구현하지 않고, JSON-RPC 기반의 표준 프로토콜로 연결하는 방식이다.
- Tree-sitter는 문법 오류가 있는 편집 중 코드도 구문 트리로 분석하고, 노드의 위치 정보를 제공해 커서 문맥을 찾기 좋다.
- 설정 파일처럼 편집 중 변경이 잦은 텍스트에는 Rope와 Tree-sitter의 증분 파싱을 활용하면 갱신 비용을 줄일 수 있다.
- LSP의 UTF-16 위치 기준, 프레임워크의 통신 제약, Tree-sitter의 잦은 호환성 변경은 구현과 디버깅에서 고려해야 한다.
소개
LSP의 개념과 동작 방식, tree-sitter의 역할 및 활용 방법, 그리고 이를 fluent-bit 설정 파일에 적용하여 얻은 개선 사항을 소개합니다. 개발 과정에서 마주한 도전 과제와 그 해결 방법도 함께 공유합니다. #LSP #tree-sitter #Rust #DevEx #DX #fluent-bit #vscode 카카오톡 메시징 시스템을 개발 및 운영하는 Vince입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-45 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
비슷한 학습 자료
컨퍼런스 if kakao
추가 배포 없이 API의 case 통일시키기 / if(kakaoAI)2024
컨퍼런스 if kakao
운영이력이 쌓이면서 DTO들의 case들이 다양해진 상황에서, 개발 효율을 높이기 위해 case를 snake case로 일원화하기 위한 과정을 소개합니다. 24/7 상용환경과 MSA로 구성된 서버환경에서 Jackson 라이브러리를 활용해 서비스 중단없이 변경하려 고군분투한 일화입니다. #Spring #MSA #JAVA #DTO #Parsing 카카오톡 마이구독에서 백엔드 개발을 맡고 있는 Luis입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-83 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
백엔드 프로그래밍 언어 로드맵 1개에 담김
컨퍼런스 if kakao
‘선물하기 와인 탐험’ LLM 대화형 서비스 개발기 / if(kakaoAI)2024
컨퍼런스 if kakao
사용자와의 대화를 바탕으로 선물하기 와인상품을 추천하는 LLM 대화형 서비스 구현 사례를 소개합니다. 선물하기 와인픽업서비스를 더 재미있고 자유롭게 사용할 수 있는 톡서비스. LLM 기반의 선물하기 와인상품 추천 서비스를 개발하고 출시하기까지의 경험을 소개하고 대화흐름 제어 아키텍처와 실제 상품을 찾아내는 RAG 기법을 공유하고자 합니다. #LLM #NLP #RAG #Data 광고커머스 AI 기술 조직에서 ML기반 데이터와 서비스를 만들고 있는 Ethan입니다. 카카오 커머스의 AI 엔지니어 Summer입니다. AI 기술 조직에서 데이터 엔지니어링, 상품 추천 및 탐색 분야의 작업을 진행하고 있는 Daniel입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-60 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkak...
AI에이전트 개발 자연어 처리
컨퍼런스 if kakao
서비스에 LLM 부스터 달아주기: 요약부터 AI Bot 까지 / if(kakaoAI)2024
컨퍼런스 if kakao
카카오에서 진행했던 일부 LLM 학습 및 서빙 과정 및 결과에 대해 소개합니다. LLM을 요약과 같이 특정 specific task에 적용 하는 것 부터 시작하여, AI Bot 서비스로 발전시키는 과정에서 단계별로 발생하였던 테크니컬한 이슈들을 어떻게 해소하였는지 소개합니다. #LLM #Generative AI #service AI Alignment Joel입니다. LLM 기반 서비스를 만들기 위해 여러가지 일들을 하고 있습니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-59 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
자연어 처리
컨퍼런스 if kakao
접근성 작업을 도와주는 ESLint plugin 개발기 / if(kakaoAI)2024
컨퍼런스 if kakao
팀의 접근성 개선 작업 중, “Unit test나 Storybook 없이 접근성 위반을 바로 확인할 수는 없을까?“라는 고민이 들었습니다. 이를 해결하기 위해 접근성 위반 사항을 자동으로 알려주는 ESLint 플러그인을 개발한 경험을 공유합니다. 모빌리티에서 셔틀과 버스대절 서비스를 개발하고 있는 Eddie입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-39 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
프론트엔드 소프트웨어 테스트
컨퍼런스 if kakao
업무 효율화를 위한 카카오 사내봇 개발기 / if(kakaoAI)2024
컨퍼런스 if kakao
카카오 내에 수많은 데이터에서 원하는 데이터를 빠르게 찾아주는 '0depth 사내봇 개발기'를 공유합니다. #Data #AI #LLM #RAG 카카오 데이터 조직의 Tory입니다. 실용적이고 사용자 친화적인 AI Application을 만드는 것에 관심이 많습니다. 카카오 내에 다양한 AI 프로덕트를 생산하는 Jennie입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-27 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024
AI에이전트 개발
컨퍼런스 if kakao
10년간 카카오톡 메시지 릴레이를 책임져온 C++ 기반 서버를 JVM 기반 언어(JAVA 및 Kotlin)로 포팅하는 이야기를 합니다. 위 프로젝트를 진행하게 된 계기를 소프트웨어 엔지니어링 측면으로 설명하고, 현재까지 진척 상황에 대한 이야기를 공유합니다. #카카오톡 카카오톡 메시징 시스템을 개발 및 운영하는 시리우스 입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-28 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022
백엔드 프로그래밍 언어