인프런 뉴스
인프런에서 수집한 AI·개발 최신 뉴스와 한국어 요약입니다.
원문 사이트 방문 →인프런 콘텐츠에 동적으로 생성되는 Open Graph(OG) 이미지 적용하기
인프런은 @vercel/og와 CDN을 활용해 콘텐츠별 맞춤형 OG 이미지를 동적으로 생성하고 캐싱하는 시스템을 구축했다.
개발-운영 생산성 모니터링하기 (with Devlake, Grafana)
Devlake와 Grafana를 활용해 DORA 메트릭 기반의 개발 및 운영 생산성 대시보드를 구축한 경험을 공유한다.
인프랩 IaC 구축기 (Part 1)
인프랩이 AWS CDK와 Terraform을 거쳐 Pulumi를 최종 IaC 도구로 선택하게 된 배경과 과정을 다룬다.
Spring Boot & JPA에서 Java와 Kotlin을 함께 사용하기
인프랩은 Spring Boot와 JPA 기반 프로젝트에서 Java와 Kotlin을 혼용하기로 결정했다.
인프런이 자동으로 자막을 생성하기까지 (AI/인프라 편)
인프런이 비용 효율적인 AI 자막 생성을 위해 Whisper 모델을 활용하여 인프라를 구축한 과정을 다룬다.
랠릿에 Next.js standalone 옵션 적용하기
Next.js의 standalone 옵션을 적용하여 랠릿의 Docker 이미지 크기를 줄이고 배포 시간을 단축했다.
변화에 유연한 HTTP 클라이언트 만들기
외부 라이브러리 의존성을 최소화하고 테스트 용이성을 높인 Nest.js용 WebClientModule 설계 경험을 공유한다.
Code generator 개발기 (Part 2)
OAS를 기반으로 React Query, Type Guard, Schema Validator를 자동 생성하는 도구의 구현 과정을 소개한다.
Code generator 개발기 (Part 1)
인프랩 프런트엔드 개발자가 API 타입 관리의 비효율성을 해결하기 위해 Code generator를 개발하게 된 배경을 다룬다.
테스트 코드를 왜 그리고 어떻게 작성해야 할까?
테스트 코드는 디버깅 비용을 줄이고 코드 변경에 대한 불안감을 해소하며, 지속 가능한 소프트웨어 개발을 돕는다.
Code With Me를 활용한 페어 프로그래밍
JetBrains의 Code With Me를 활용해 기존 페어 프로그래밍의 단점을 극복하고 효율적인 동시 협업 방식을 실천한 사례를 공유한다.
MongoDB Atlas Search 정렬 이슈 해결기
MongoDB Atlas Search에서 $search와 $sort를 함께 사용할 때 발생하는 성능 저하 원인과 해결 방안을 다룬다.
shadow DOM으로 신규 프로젝트의 스타일을 지키는 방법
인프런은 기존 서비스와 신규 React 앱 간의 CSS 스타일 충돌을 해결하기 위해 shadow DOM을 도입했다.
react-hook-form을 선택한 이유와 적용 과정
인프랩이 랠릿 서비스의 폼 렌더링 이슈와 코드 복잡도를 해결하기 위해 react-hook-form을 도입한 과정과 성과를 공유한다.