잘 성장하던 아크(Arc) 브라우저가 돌연 업데이트 중단을 선언했다. 지난 10월 25일, 아크의 개발사인 더브라우저컴퍼니의 대표가 유튜브에 영상을 올렸는데, 더 이상 아크에 기능을 추가하지 않겠다고 발표한 것이다. 앞으로는 보안 업데이트만 진행할 것이며, 나머지 시간은 새 제품을 개발하는 데 집중할 예정이라고 한다. 더브라우저컴퍼니는 지난 3월에 5천만 달러(약 690억 원)의 추가 투자를 받은 터라, 회사 사정이 어려워서는 아닐 것이다. 아크의 사용자 수도 계속 증가세라 지표가 나쁜 것도 아니었다. 그렇다면 아크 브라우저는 왜 돌연 업데이트를 중단한 걸까?
시장에는 오픈AI의 챗GPT, 앤트로픽의 클로드, 구글의 제미나이 같은 대표 LLM을 제외하고도 수많은 언어 모델이 거의 매일 새롭게 나타나고 있으며, 각 모델마다 고유한 기능과 전문성을 갖추고 있습니다. 그러다 보니 비즈니스 애플리케이션을 고집하지 않아도 어떤 서비스를 만들고자 할 때, 그 기능 요구 사항에 따라 사용자 쿼리를 해석할 때는 어떤 특정 LLM을 사용하고, 해당 쿼리에 대한 응답을 작성하는 데는 완전히 다른 LLM을 사용하고자 하는 필요성이 생길 수 있습니다. 이럴 땐 어떻게 프로세스 파이프라인을 구축해야 할까요? 이런 워크 프로세스를 요청하는 시나리오가 바로 ‘랭체인(LangChain)’ 탄생에 아이디어를 제공합니다.
Wafris는 웹 애플리케이션 방화벽을 오픈소스로 제공하고 있습니다. 저희는 다양한 프레임워크를 지원하는데, 그중에서도 Rails 미들웨어 클라이언트를 제공하고 있죠. 처음 v1 클라이언트를 출시했을 때는 여러분의 앱과 함께 로컬 Redis 데이터스토어를 배포해야 했습니다. 하지만 이제 v2 Rails 클라이언트를 출시하면서 SQLite를 백엔드 데이터스토어로 사용하게 되었습니다. 이 글에서는 Redis에서 SQLite로 마이그레이션하기로 결정한 이유, 성능에 대한 고려 사항, 그리고 아키텍처의 변화에 대해 다룰 예정입니다.
개발자라면 누구나 ‘코딩테스트’를 준비해 본 경험이 있을 겁니다. 코딩테스트는 여러분의 두뇌가 얼마나 비상한지, 복잡하게 꼬인 문제를 얼마나 천재적인 발상으로 해결할 수 있는지 시험하기 위한 절차가 아닙니다. 대신 정해진 범위 안에서 정형화된 유형별로 출제된 문제를 푸는 시험이죠. 즉, 누구나 공부하는 방법을 알고 제대로 공부한다면 충분히 통과할 수 있습니다. 이번 글에서는 코딩테스트를 어떻게 준비했는지 필자의 노하우를 소개할 예정이며, 개발자로서 코딩테스트에 어떻게 접근하면 좋을지 알아보겠습니다.
나이키의 부진이 지속되고 있습니다. 2024 회계연도(2023년 6월~2024년 5월) 기준으로 매출 증가율이 겨우 1%에 머물렀는데, 이는 코로나 시기를 제외하면 지난 14년간 최악의 성과였습니다. 이러한 실적 부진으로 인해 하루 만에 주가가 20% 가까이 폭락하기도 했고요. 많은 매체에서는 나이키의 위기 원인을 D2C(Direct-to-Consumer) 전략의 실패에서 찾고 있습니다. D2C 채널에 집중한 것이 호카와 온러닝과 같은 후발 주자들이 성장할 기회를 제공했으며, 그 결과 나이키가 실적 부진에 빠졌다는 겁니다. 오늘은 나이키의 최근 행보를 다각도로 살펴보며, 무엇이 부진을 불러왔는지 살펴보겠습니다.
“디자이너들은 중간 과정을 공유하기 꺼리는 것 같다.” 이는 디자이너와 협업하는 다른 직군으로부터 자주 듣는 말 중 하나입니다. 디자이너들은 아이디어를 구체화하는 데 강점이 있는 만큼, 완성도가 낮은 작업물을 공유하기 부담스러워합니다. 그래서 ‘디테일’과 ‘완성도’에 더 집착하는 경향이 있습니다. 하지만 실무에서는 ‘완성도 집착 비용’을 간과할 수 없습니다. 이 글에서는 ‘빠른 제작’과 ‘적정한 완성도’라는 두 마리 토끼를 잡은 MVP 제품의 컨셉 디자인 과정을 소개하려고 합니다. 다른 도움 없이, 오직 나만을 위한 ‘AI 디자인 인턴’들이 작업에 함께할 예정입니다.
소프트웨어 아키텍처는 시스템의 구조와 성능 및 신뢰도 등에 영향을 미치는 중요한 요소입니다. 개발자가 소프트웨어 아키텍처를 이해하면 코드를 더욱 체계적으로 작성할 수 있고, 장기적으로는 시스템 유지 보수와 확장을 용이하게 할 수 있습니다. 또한 소프트웨어 아키텍처는 개발자 개인의 역량과 커리어에도 영향을 줄 수 있습니다. 특히 시니어 개발자나 소프트웨어 아키텍트로 커리어를 발전시키고 싶다면, 소프트웨어 아키텍처에 대한 학습을 꾸준히 해야 합니다. 이번 글에서는 소프트웨어 아키텍처의 기본 개념과 주요 패턴을 정리해 보고, 개발 프로젝트에서 소프트웨어 아키텍처가 어떻게 활용되는지 살펴보겠습니다.
대규모 언어 모델(LLMs)은 이미지, 텍스트 및 코드를 생성할 수 있는 능력으로 창의적인 분야에서 큰 반향을 일으켰습니다. 처음에는 결과물이 꽤 우스꽝스러웠습니다. 그림이 뒤틀려 있거나, 틀린 내용으로 코드를 생성할 때도 있어 어색했습니다. 그러나 상황은 점차 안정되어 나아지고 있습니다. 이러한 모델이 등장하기 전에는 그런 작업을 자동화하는 것에 대한 주요 반대 이유로, 기계는 창의적으로 생각할 수 없다는 점을 내세웠습니다. 그러나 이제 그 주장은 날이 갈수록 약해지고 있습니다. 이제 우리는 어디로 가야 할까요?
이번 강의에서는 JavaScript의 몇 가지 유용한 구문을 살펴보려고 합니다. 가장 먼저 다룰 주제는 매개 변수입니다. 우선 등호를 활용해 기본 매개 변수를 쉽게 지정하는 방법을 살펴 보겠습니다. 함수 아래 길게 내용을 전개하는 기존 방식은 효율성이 떨어집니다. 간단하게 등호로 매개 변수를 지정할 수 있습니다. 순서만 잘 고려하면요. 다음은 나머지 매개 변수입니다. 함수를 활용하기 위해 받는 인수 객체는 배열 같지만, 사실 배열이 아닙니다. 배열 메서드를 편하게 쓰려면 점 세 개(…), 나머지 연산자를 기억해야 합니다. 이 기능들은 꽤 유용해 편하게 코드를 쓸 수 있도록 도움을 줄 겁니다.