Tech 17

ChatGPT는 FE개발자를 대체할 수 있을까? (AI로 개발하기)

안녕하세요! 카카오엔터테인먼트 FE개발자 클로토입니다. 최근 핫한 ChatGPT를 주제로 주니어 FE개발자의 관점에서 글을 작성해 보았습니다. 재밌게 봐주셨으면 좋겠습니다. ❗️이 글은 ChatGTP 3.5 버전을 기준으로 작성된 점 참고 부탁드립니다. (글 작성 중에 ChatGTP 4.0이 발표되었네요!) 요즘 ChatGPT가 뜨거운 감자입니다. 출시일 5일 만에 100만 명의 사용자를 모으고 2달 만에 사용자 1억 명에 달했습니다. 블로거, 기자, 유튜버 등 누구 할 것 없이 ChatGPT에 관해 이야기하고 있습니다. 많은 사람들이 일자리를 잃게 될지도 모른다고 이야기하는 여론도 심심치 않습니다. 평소 인공지능에는 관심이 있던지라 ChatGPT가 FE개발자의 업무를 과연 어디까지 보조 또는 대체할 수..

Tech 2023.04.18

우당탕탕~ 영상 서비스 개발기 3탄 : 플레이어 백엔드 서버와 데이터 수집

앞서 인코더와 라이브 서비스에 관한 내용을 다뤘는데요. 이번 편에서는 플레이어 백엔드 서버와 로그 수집 분석에 대해 다뤄보고자 합니다. 아직 '우당탕탕~ 영상 서비스 개발기 2탄 : 인코더와 라이브 서비스' 편을 보지 못하셨다면 아래 글을 클릭해 주세요! ▶️ 우당탕탕~ 영상 서비스 개발기 2탄 : 인코더와 라이브 서비스 우당탕탕~ 영상 서비스 개발기 2탄 : 인코더와 라이브 서비스 앞서 영상 서비스 어드민, VODKA에 관한 내용을 다뤘는데요. 이번 편에서는 영상 서비스 인코더와 라이브 서비스에 대해 다뤄보고자 합니다. 아직 '우당탕탕~ 영상 서비스 개발기 1탄 : 어드민, VODK kakaoentertainment-tech.tistory.com [Chater 5] 플레이어 백엔드 서버 VODKA(CM..

Tech 2023.04.04

우당탕탕~ 영상 서비스 개발기 2탄 : 인코더와 라이브 서비스

앞서 영상 파일 및 메타 관리 시스템 'VODKA'에 관한 내용을 다뤘는데요. 이번 편에서는 영상 서비스 인코더와 라이브 서비스에 대해 다뤄보고자 합니다. 아직 '우당탕탕~ 영상 서비스 개발기 1탄 : 영상 CMS'편을 보지 못하셨다면 아래 글을 클릭해 주세요! ▶️ 우당탕탕~ 영상 서비스 개발기 1탄 : 영상 CMS 우당탕탕~ 영상 서비스 개발기 1탄 : 영상 CMS 당신의 손에 소녀들의 운명이 달려있습니다. 카카오엔터테인먼트에서 새롭게 도전한 버추얼 걸그룹 데뷔 서바이벌 프로그램! '소녀 리버스(RE:VERSE)' 소녀 리버스는 30인의 미모와 개성이 넘치는 kakaoentertainment-tech.tistory.com [Chapter 3] 인코더 & 채팅을 보여줘 패키지 영상 서비스의 핵심은 안..

Tech 2023.04.04

우당탕탕~ 영상 서비스 개발기 1탄 : 영상 CMS

당신의 손에 소녀들의 운명이 달려있습니다. 카카오엔터테인먼트에서 새롭게 도전한 버추얼 걸그룹 데뷔 서바이벌 프로그램! '소녀 리버스(RE:VERSE)' 소녀 리버스는 30인의 미모와 개성이 넘치는 아이돌들이 정체를 숨긴 채 가상현실에서 빛나는 무대를 선보이는 버추얼 서바이벌 오디션 프로그램입니다. 소녀 리버스가 만들어지기까지 정말 다양한 곳에서 많은 분이 노력해 주셨는데요. 그중에서도 단연 돋보이는 것은 여러분의 눈을 사로잡는 '영상'이 아닐까 싶습니다. 예를 들어 영상의 제목, 출연자, 회차 등 관련 정보를 관리하거나 엄청난 대용량 파일을 사이즈는 줄이고 품질은 유지해서 사용자에게 제공하거나 어떤 기기로 접속을 하던지 사용자 환경에 맞게 영상을 인코딩하는 등 이렇게 '영상 서비스'를 제공하기 위해서 ..

Tech 2023.04.04

라이브채팅 플랫폼 구현기 2탄 : 아키텍처 및 성능 테스트

앞서 라이브채팅 플랫폼을 구현하기 전 개발언어와 기반기술 조사에 관한 내용을 다뤘는데요. 이번 편에서는 라이브채팅 플랫폼 아키텍처 설계 및 성능 테스트에 대해 다뤄보고자 합니다. 아직 '라이브채팅 플랫폼 구현기 1탄 : 개발언어와 기반기술 조사'편을 보지 못하셨다면 아래 글을 클릭해 주세요! ▶️ 라이브채팅 플랫폼 구현기 1탄 라이브채팅 플랫폼 구현기 1탄 : 개발 언어 및 기반기술 조사 2022년 초, 멜론뮤직어워드(MMA) 2022 행사를 준비하는 과정에서 기존 MMA 생중계 시 사용되는 댓글 시스템이 사용자 참여에 불편함이 있었고, 이를 해소하기 위해 '실시간 채팅 플랫폼'의 필요성이 kakaoentertainment-tech.tistory.com [Chapter 2] 아키텍처 1. 고려사항 라이브..

Tech 2023.03.07

라이브채팅 플랫폼 구현기 1탄 : 개발 언어 및 기반기술 조사

2022년 초, 멜론뮤직어워드(MMA) 2022 행사를 준비하는 과정에서 기존 MMA 생중계 시 사용되는 댓글 시스템이 사용자 참여에 불편함이 있었고, 이를 해소하기 위해 '실시간 채팅 플랫폼'의 필요성이 대두되었습니다. 그래서 '실시간 채팅 플랫폼' 도입을 위한 3가지 방안을 검토했는데요. 자체 구축 채팅 플랫폼 카카오톡 소스 활용 외부 채팅 플랫폼 어떤 방안을 선택할지 논의가 이어졌고, 복잡하고 다양한 내부 서비스(시스템)의 요구사항을 수렴하는 것이 가장 중요했기에 '자체 구축 채팅 플랫폼'으로 최종적으로 결정하게 되었습니다. 그 당시 플랫폼개발실 산하 플랫폼개발2팀(현 파트너플랫폼개발팀)에서 개발을 맡게 되었고, 결정된 '실시간 채팅 플랫폼'의 사전 요구사항은 다음과 같았습니다. ✔️ 동시 접속자 ..

Tech 2023.03.07

ㄷㄷㄷ: Domain Driven Design과 적용 사례 공유

카카오페이지 앱에는 수많은 종류의 콘텐츠들이 있습니다. 웹툰, 웹소설, 일반교양, 오디오, 동영상 등등.. 이런 콘텐츠들은 카카오페이지에서 제공하는 파트너사이트라는 툴을 이용하여, 작품/회차의 제작, 파일 업로드, 판매, 공지, 예약 등의 다양한 기능을 수행하고 있습니다. 파트너사이트는 초기 카카오페이지 앱에서부터 함께 했던 서버라서 Monolithic한 형태로 되어있었는데요. Monolithic한 형태의 단점인 리소스 관리, 유지보수의 어려움 등의 이유로 MSA(Micro Service Architecture)로 전환해야 하는 상황이 되었습니다. [돌발‼️] 상태 이상 : 'MSA가 아니면 죽음을' 발생‼️ 🏷️ TDD vs BDD vs DDD 먼저 MSA로의 전환을 위해서 저희 팀은 어떤 부분을 중점..

Tech 2022.12.09

Technical Writing: 글로 하는 의사소통

문서화를 비롯한 모든 글쓰기는 가장 쉬운 소통수단입니다. 하지만 아이러니하게도 '좋은 글쓰기'는 어렵습니다. 본 포스팅에서는 나의 의견 및 정보를 쉽고 명확하게 전달하는 방법을 다루고 있습니다. 간단한 원칙을 바탕으로 더 나은 글쓰기를 지향하고, 원활한 의사소통을 수행하고자 합니다. 또한, 아래와 같은 소주제를 담고 있습니다. ✔️ 글쓰기가 왜 어렵고 중요한지 ✔️ 나쁜 글쓰기는 어떻게 작성되는지 ✔️ 좋은 글쓰기는 어떻게 작성되는지 📝 테크니컬 라이팅이란? 1) 무엇인가? 안녕하세요 저는 우주라고 합니다. 카카오엔터테인먼트에서 개발자로 일을 하고 있는데 업무에 참고할 문서들을 찾다 보면 히스토리 파악이 안 되는 문서도 있고 내용이 이어지지 않는 문서도 있고 하다 보니 이런 문서화 같은 걸 어떻게 잘할 ..

Tech 2022.12.09

섬세한 ISFP의 코드 가독성 개선 경험

개발 초기에 발생하는 비용 대비 유지보수에 드는 비용은 기하급수적으로 늘어납니다. 혼자서 큰 규모의 프로젝트를 완성할 수 없기 때문에 협업은 필수입니다. 유지보수에 드는 비용을 줄이는 것, 그리고 원활한 협업! 이 두 가지에서 중요한 것은 무엇일까요? 바로, 코드 가독성입니다. 구글에서는 '가독성 승인'이라는 별도의 리뷰 절차를 둘 정도로 중요히 여기고 있습니다. 오늘 저는 '저의 MBTI와 경험을 기반으로 코드 가독성을 개선했던 이야기'를 여러분들과 나누고자 합니다. 특정 MBTI의 보편적으로 알려진 특징 중 제 자신과 비슷하다고 느낀 특징을 기반으로 작성했습니다. ISFP인 모두가 그렇다는 것이 아니니 읽으실 때 참고해주세요! 저의 MBTI는 ISFP인데요. ISFP는 타인의 감정에 민감하다 보니 유..

Tech 2022.12.08

카카오페이지는 BFF(Backend For Frontend)를 어떻게 적용했을까?

요즘 MSA(Micro Service Architecture)를 많이 사용하게 되는데, 개발하다 보면 다음과 같은 상황들이 펼쳐질 수 있습니다. 여러 플랫폼(Web, Android, iOS …)을 지원하게 되면서 각각 특정 데이터가 필요한 상황 원하는 데이터 형태에 도달하기 위해 여러 API 호출의 응답을 조작, 혼합, 일치시키는 상황 이런 상황들이 겹쳐 프론트엔드에서 복잡한 계산이나 비즈니스 로직을 작성하는 상황 코드 베이스가 커지고 복잡해짐에 따라 정리하기가 어려워지고, 그때쯤이면 코드 베이스가 통제 불능 상태가 되며 버그가 숨어 있는 복잡성을 발견하게 됩니다. 특히 프론트엔드에서 복잡한 계산을 수행하는 경우 렌더링이 느려질 수 있습니다. UI 스레드에서 렌더링과 비즈니스 로직 수행이 경합을 벌이기 ..

Tech 2022.09.26