아는 것

어제 캠핑장으로 향하는 와중, H로부터 다급한 연락을 받았다.비디어스 회원가입이 안 된다고 했다. 마침 입실까지 시간이 조금 남아있어서 카페로 가서 작업을 시작했다. API 버저닝을 하지 않은 나의 부채로, 계획에 없던 v1 서버와 v2 서버가 공존하게 되었고, DB는 v2 버전으로 운영하게 되었다. v2로 넘어오면서 새로 추가된 필드가 있었는데, 당연히 기본값 설정이 되어있었으나 v1에는 해당 코드가 없다.그래서 v1… Continue reading

크롤링 이슈

최근 만들고 있는 제품은 데이터 수집이 핵심이다.워낙 데이터 수집 관련된 강의도 오래 했고, 웹에 대한 이해도 있는 편이라 크롤링은 전혀 문제가 없다고 생각했다. 실제로 지금까지는 대부분 문제가 없었다.정말 특별한 경우(인스타그램의 데이터를 API 없이 수집해야 하거나..)가 아니고서야, 정적 페이지를 받아와 파싱해서 처리했었다. 지금 수집해야 하는 웹은 살펴보니 모든 홈 접근 외에 모든 페이지 이동이 POST로 이뤄져있었다…. Continue reading

GA4 활성사용자

비디어스 리뉴얼 이후 GA4 이벤트에 활성사용자 데이터가 사라졌다. 리뉴얼 배포 이전에 테스트 서버에서 이벤트와 파라미터가 전달되는 걸 확인하고 배포했었다. 당연히 문제없다고 판단하고 배포했지만, 혹시 몰라서 A가 지속적으로 모니터링을 했다. 그러다 비보가 들렸다. 사용자 정보가 없다고. 데이터를 확인해보니, 정직하게 내가 넣은 데이터만 들어있었다. 무슨 말인가 하면, 기본적으로 UserAgent, 세션ID 등 정보가 포함되어야 하는데 이러한 정보가 전부… Continue reading

필름업 앱 CBT

Flutter로 3개의 앱을 오픈하고 나니 간단한 앱은 금방 만들 수 있겠다는 자신감이 생겼다. 그래서 필름업 앱을 야금야금 만들었다. 다행히 오래전부터 웹을 서비스하고 있어서, 기획이 추가로 들어가지 않더라도 앱을 완성할 수 있었다. 운 좋게 인앱결제도 개발해 본 터라 꽤 빠르게 개발이 진행됐다. 업무시간에 빌드 시간이 오래 걸릴 때 잠깐 개발하거나 일하기 싫을 때(?) 사이드 프로젝트처럼 진행했다…. Continue reading

자아성찰

“토비”라는 닉네임으로 유명하신 이일민님의 포스팅을 보고 많은 생각이 들었다. 정말 모든 내용에 공감이 간다. 우선 나도 같은 생각이다. 가장 공감이 되는 문구는 중간 문단이다. 나는 팀으로 일을 한다면 우리 편인 사람들하고만 하고 싶다. 적어도 일을 하는 동안에는. 일을 마치고 다시는 보지 말자고 하고 떠나더라도. 마찬가지다. 여기서 말하는 우리 편은 결국 일이 되도록 고민하는 사람이다. 처음… Continue reading

리액트 계기와 느낀점 (feat. Next.js)

이 주제는 꽤 오래전에 임시 글로 저장해 두었던 주제이다. 최근 리액트와 Next.js에 대한 포스팅을 자주 했는데 이 시점에 마무리 느낌의 글을 쓰는 것이 좋을 것 같아 쓴다. 리액트를 처음 고민하게 된 계기는 별거 없다. vue보다 핫해서 고민하게 되었다. 사실 냉정히 얘기하면 우리 회사 규모에서 서비스를 만드는 데 있어서 Vue + Nuxt면 충분했고, 오히려 효율도 더… Continue reading

공식 문서 만세

서비스 리뉴얼 오픈을 앞두고 SEO 이슈가 있었다. 불과 며칠 전에 Next.js 13과 chakra 사이의 이슈로 보고 우회를 적용했었다. 그 이후에 (이제서야) Next.js의 모든 문서를 정독하고 근본적인 해결책을 찾았다. 인스타그램 같은 서비스는 이런 상황에 어떻게 SEO를 할까 궁금해서 코드를 열어보니 내부 콘텐츠는 하나도 없고 서버 사이드에서는 헤드의 메타들만 반환하고 있었다. 생각해 보니 우리 서비스도 그렇게 만들면… Continue reading

GCP의 함정 팁

많고 많던 외주를 거의 다 마무리하고, 잠깐 시간이 남아서 미루고 미루던 파트너사 서비스의 배포 시스템을 만들었다. 이미 2년이 넘게 개발 & 운영뿐만 아니라 리뉴얼도 여러 번 거치고 고도화까지 하고 있으니, 외주라기보다는 파트너에 가깝다. 어쨌든 매번 내가 직접 GCP 콘솔에 접속하여 배포하다가, 언젠가 꼭 배포 시스템에 포함시키겠다고 했는데 드디어 이뤘다. 자세한 내용은 회사 블로그인 라이브러리에서 다루고,… Continue reading

Next.js 13의 SEO

Next.js 13버전에서는 App Router라는 개념이 추가되었고, 13.4 버전부터는 해당 기능이 안정화되었고 기본값으로 활성화되었다. 가장 크게 달라진 점은 아무래도 서버 컴포넌트가 생겼다는 점이다. 문제는 이 점 덕분에 다른 써드파티 패키지들에 이슈가 많아졌다. 꽤 큰 규모의 디자인 시스템인 chakra ui도 Next.js 13의 App Router를 쓰는 경우 모든 컴포넌트에 ‘use client’를 사용하여 클라이언트 컴포넌트로 강제해야 했다. (기본적으로 모든… Continue reading

기획의 변경

연휴가 시작되었지만, 고객사의 앱 심사가 급한 시점이다.그래도 개발은 마무리가 거의 마무리가 되어서, 심사를 넣었다. 당연히(?) 리젝되었다. 결제와 포인트를 사용하는 대부분의 앱이 겪는 문제일 것이다.여러 얘기가 있었지만 결국 포인트를 얻기 위한 수단(결제)을 웹에 연결해서 제공하면 안된다는 것이다.심지어 쿠폰도 콘텐츠를 얻을 수 있는 수단이기 때문에 결제 수단으로 보고 삭제를 요구한다. 이 모든 것이 인앱결제를 지원하면 문제가 없다…. Continue reading