미국 클라우드 탈출: 실용적인 마이그레이션 이야기

2025-03-18
미국 클라우드 탈출: 실용적인 마이그레이션 이야기

EU 개인 정보 보호법과 미국의 데이터 관행 간의 충돌과 미국 정부가 기술 회사를 무기로 악용할 가능성에 대한 우려로 인해 저자는 자사의 미국 클라우드 서비스 의존도를 이전하기로 결정했습니다. 이 글에서는 Microsoft 365에서 Proton으로, Bitwarden에서 Proton Pass로 전환하고 GitHub, Google 검색, Cloudflare/Google DNS, Docker Hub, NPM과 같은 다른 서비스를 단계적으로 마이그레이션하는 프로세스와 경험에 대해 자세히 설명합니다. Microsoft 365의 대안으로 Proton으로의 놀라울 정도로 원활한 전환 등 일부 마이그레이션은 예상보다 쉬웠지만, GitHub 등 다른 마이그레이션은 높은 종속성으로 인해 더 많은 시간이 필요했습니다. 이 글에서는 미국 클라우드 서비스에 대한 의존도를 줄이는 것의 중요성을 강조하고 유럽의 대안을 탐색할 것을 권장합니다.

더 보기
개발 기술 주권

Next.js 사전 렌더링: 실제로 얼마나 많은 트래픽을 처리할 수 있을까요?

2025-03-09
Next.js 사전 렌더링: 실제로 얼마나 많은 트래픽을 처리할 수 있을까요?

저자는 Next.js 사전 렌더링 사이트의 트래픽 처리 용량을 테스트했고, VPS 서버는 예상보다 훨씬 적은 약 200개의 동시 요청만 처리할 수 있다는 것을 발견했습니다. 이로 인해 전용 서버로 업그레이드했고, 그 결과 성능이 크게 향상되어 초당 수천 개의 요청을 처리할 수 있게 되었습니다. 반면 서버 사이드 렌더링(SSR)은 사전 렌더링보다 훨씬 성능이 낮았고, 트래픽이 많을 때 문제가 발생했습니다. 이 글에서는 Cloudflare 및 Vercel과 같은 다른 솔루션의 장단점도 논의하고 있으며, 최종적으로 확장성을 위해 전용 서버를 선택했습니다. 앞으로 더 많은 최적화를 위한 테스트를 진행할 예정입니다.

더 보기

Google 번역이 React(및 다른 웹 앱)를 크래시시키는 이유: DOM 대결

2025-02-14
Google 번역이 React(및 다른 웹 앱)를 크래시시키는 이유: DOM 대결

Google Chrome에 내장된 Google 번역 확장 프로그램은 DOM을 조작하여 많은 최신 웹 앱, 특히 React를 사용하는 앱을 크래시시키는 경우가 있습니다. 이 기사에서는 Google 번역의 작동 메커니즘, TextNode를 FontElement로 바꿈으로써 React의 가상 DOM을 파괴하고 크래시나 데이터 불일치를 유발하는 방식을 자세히 설명합니다. `NotFoundError`나 `insertBefore` 실패 등 일반적인 오류와, 몽키 패치나 TextNode를 ``으로 감싸는 등의 해결 방법도 분석하지만, 이러한 해결책에는 한계가 있습니다. 결론적으로 이 기사에서는 앱의 안정성과 사용자 경험을 보장하기 위해 Google 번역을 비활성화하거나 자체 로컬라이제이션을 구현하는 것을 고려해야 한다고 제안합니다.

더 보기