잘 성장하던 아크(Arc) 브라우저가 돌연 업데이트 중단을 선언했다. 지난 10월 25일, 아크의 개발사인 더브라우저컴퍼니의 대표가 유튜브에 영상을 올렸는데, 더 이상 아크에 기능을 추가하지 않겠다고 발표한 것이다. 앞으로는 보안 업데이트만 진행할 것이며, 나머지 시간은 새 제품을 개발하는 데 집중할 예정이라고 한다. 더브라우저컴퍼니는 지난 3월에 5천만 달러(약 690억 원)의 추가 투자를 받은 터라, 회사 사정이 어려워서는 아닐 것이다. 아크의 사용자 수도 계속 증가세라 지표가 나쁜 것도 아니었다. 그렇다면 아크 브라우저는 왜 돌연 업데이트를 중단한 걸까?
시장에는 오픈AI의 챗GPT, 앤트로픽의 클로드, 구글의 제미나이 같은 대표 LLM을 제외하고도 수많은 언어 모델이 거의 매일 새롭게 나타나고 있으며, 각 모델마다 고유한 기능과 전문성을 갖추고 있습니다. 그러다 보니 비즈니스 애플리케이션을 고집하지 않아도 어떤 서비스를 만들고자 할 때, 그 기능 요구 사항에 따라 사용자 쿼리를 해석할 때는 어떤 특정 LLM을 사용하고, 해당 쿼리에 대한 응답을 작성하는 데는 완전히 다른 LLM을 사용하고자 하는 필요성이 생길 수 있습니다. 이럴 땐 어떻게 프로세스 파이프라인을 구축해야 할까요? 이런 워크 프로세스를 요청하는 시나리오가 바로 ‘랭체인(LangChain)’ 탄생에 아이디어를 제공합니다.
Wafris는 웹 애플리케이션 방화벽을 오픈소스로 제공하고 있습니다. 저희는 다양한 프레임워크를 지원하는데, 그중에서도 Rails 미들웨어 클라이언트를 제공하고 있죠. 처음 v1 클라이언트를 출시했을 때는 여러분의 앱과 함께 로컬 Redis 데이터스토어를 배포해야 했습니다. 하지만 이제 v2 Rails 클라이언트를 출시하면서 SQLite를 백엔드 데이터스토어로 사용하게 되었습니다. 이 글에서는 Redis에서 SQLite로 마이그레이션하기로 결정한 이유, 성능에 대한 고려 사항, 그리고 아키텍처의 변화에 대해 다룰 예정입니다.
리액트는 프론트엔드 개발에서 가장 널리 사용되고 있는 자바스크립트 라이브러리입니다. 컴포넌트 기반 아키텍처와 가상 DOM 등의 개념을 도입하였으며, 여러 글로벌 기업이 리액트를 활용하여 웹 애플리케이션을 개발하고 있습니다. 이러한 리액트의 장점을 최대한 활용하기 위해서는 리액트의 기본 개념을 이해하고 적절한 성능 최적화 기법을 적용해야 합니다. 이에 본 글에서는 리액트 개발 시 알아야 할 기본 개념을 정리해 보고, 리액트 컴포넌트와 훅, 개발자 도구 및 성능 최적화 팁을 살펴보고자 합니다.
채용 담당자는 서류 전형에서 이력서를 본 다음 포트폴리오를 봅니다. 서류를 보는 순서는 대수롭지 않아 보이지만, 실제로는 대수로이 봐야 합니다. 다음 채용 전형 단계로 넘어가려면, 포트폴리오 유무와 관계없이 이력서에서 승부를 봐야 하거든요. 당연한 말처럼 보이나요? 그러나 이력서로 승부를 보려 하지 않는 경우가 생각보다 많습니다. 포트폴리오를 힘주어 만들고 정작 이력서는 부실한 거죠. 특히 신입 개발자는 아무래도 이력서를 만들기 어려우니, 포트폴리오로 스스로를 더 자세히 표현하려고 하는 듯 합니다. 크나큰 실책입니다. 포트폴리오를 만들 때 흔히 하는 실수로는 무엇이 있을까요?
지난주 IT 업계는 마이크로소프트발(혹은 크라우드스트라이크발) IT 대란 소식으로 정신이 없었습니다. 특히 항공사 시스템이 다운되어 항공편이 취소되었다거나, 증권거래소를 비롯한 금융사들도 서비스가 중단됐다는 등의 소식을 전하며 전례 없는 최악의 ‘IT 대란’이라고 명명하기도 했는데요. 그러나 한국에서는 최악의 IT 대란이라는 표현이 무색하게 그 피해 규모가 크지 않았습니다. 일부 저가 항공사와 게임사 등을 비롯해 약 10개 기업에서 피해가 발생했을 뿐, 주요 통신사와 빅테크 기업들은 큰 문제가 발생하지 않았다고 발표했습니다. IT 의존도가 낮은 국가라면 모를까, 한국은 IT 강국에 속하는 국가임에도 상대적으로 피해가 적었던 이유는 무엇일까요?
개발자를 준비하는 많은 분들이 자기 PR 목적으로 코드를 공유합니다. 그러나 가독성이 좋지 않은 코드를 공유한다면, 오히려 역효과가 날 수 있습니다. 코드를 통해 여러분이 고민한 내용을 온전히 전달하기 위해서는 가독성을 높이는 것이 중요합니다. 이번 글에서는 코드 스타일 외에 가독성 높은 코드를 작성할 수 있는 몇 가지 방법을 알아보겠습니다. 저 또한 개인 블로그에 코드를 공유할 때 항상 신경 쓰는 내용인 만큼, 이번 글을 통해 앞으로 코드를 공유할 때 한 번씩 적용해 보면서 점점 더 좋은 코드를 작성할 수 있으면 좋겠습니다.
배달의민족(이하 배민)의 구독 서비스인 ‘배민클럽’이 유료화를 시작하면서 본격적인 구독 경쟁이 시작됐습니다. 사실 이 부분은 무료배달 경쟁이 시작되면서 어느 정도 예정된 수순이었는데요. 수익 모델이 바뀌지 않은 상황에서 무료배달의 비용 지출을 계속 감당하기에는 어려움이 있었던 것이죠. 여기에 많은 언론이 추측했던 것처럼, 모기업인 딜리버리히어로의 압박까지 이어졌다면 유료화를 더욱 늦출 수 없었을 것으로 예상됩니다. 오늘은 배민클럽의 유료화가 배달앱 3강 구도에는 어떤 변화를 가져올지, 그리고 배민이 배민클럽의 유료화를 통해 얻고자 하는 바에 대해 자세히 살펴보겠습니다.
개발자로 살아가면서 어려움을 겪는 것은 피할 수 없는 일입니다. 기술적 실력이 모자라서 그럴 수도 있고, 개발하고 있는 분야에 대한 도메인 지식이 부족해서 그럴 수도 있죠. 또한 동료와의 커뮤니케이션, 정치적인 요소, 일정의 압박, 회사의 재정 상태처럼, 개발 그 자체와는 직접적으로 상관이 없는 외부적인 요소로 인해 어려움을 겪기도 합니다. 오늘은 이러한 어려움의 유형 중에서도 문제 해결(Problem solving) 과정에서 겪는 어려움에 대해 집중해 보려고 합니다. 왜냐하면 외부적인 요인은 개발자 개인의 노력과 능력만으로는 통제할 수 없는 상황이 많으니까요. 반면 문제 해결 과정에서 겪는 어려움을 분석한다면 내가 어떤 이유로 인해 혼란스러움을 겪고 있는 상태인지 알 수 있고, 그에 맞는 적절한 해결 방법을 선택할 수 있을 것입니다.
도미노피자(이하 도미노) 러셀 존 와이너 CEO는 지난 5월 수익 보고에서 투자자들에게 다음과 같은 말을 남겼습니다. “우리는 고객이 주문을 완료하기도 전에 피자를 만들기 시작합니다.” 어떻게 이런 일이 가능할까요? 도미노가 신이라도 되어 미래를 보는 능력이 생긴 걸까요? 물론 아닙니다. 도미노는 고객이 주문을 시작하면 사전에 확보된 고객 주문 데이터와 주문 행동 패턴 등을 분석하여 어떤 제품을 주문할 가능성이 높은지, 주문을 완료할지 아니면 중간에 이탈할지를 예측합니다. 확률이 충분히 높아지면 매장에서는 고객이 주문 확인을 클릭하기도 전에 음식을 준비하기 시작하는 것입니다.
처음 제미나이를 사용한 목적은 다른 AI 서비스와 성능을 비교하기 위함이었습니다. ‘동일한 프롬프트를 입력했을 때 결과가 어떻게 다를까?’를 살펴보고 싶었기 때문이죠. 하지만 지난 5월 14일, 구글이 검색 기능을 포함한 제품 전반에 제미나이를 적용하겠다고 발표한 뒤, 이처럼 단순한 관심은 더 큰 호기심으로 바뀌었습니다. 저 역시 최근 회사 업무는 물론, 뉴스레터 운영과 같은 사이드 프로젝트에서도 AI를 적극 활용하고 있으니까요. 이번 글에서는 서비스 기획자의 실무에 제미나이를 어떻게 활용할 수 있을지, 직접 써보며 느낀 점과 함께 소개하고자 합니다.