데
데브시스터즈
October 24, 20221회
Scala for Game Server Development

간단 소개
Scala는 강력한 타입 시스템, DSL, 동시성 지원으로 게임 서버 개발에 적합하며, 코드 안정성과 개발 효율성을 높인다.
AI Summary
- 게임 로직의 정확성 및 Scala의 장점
- Scala는 정적 타입 언어로 컴파일 시 타입이 결정되어 런타임 오류를 줄임.
Option[A]타입을 사용하여 null 값 처리의 누락을 방지하고, refined types를 통해 값의 제약 조건을 추가하여 오류를 예방.- newtype을 사용하여 특정 타입에 의미를 부여, 컴파일러가 타입 검사를 강화.
- DSL(Domain Specific Language)을 통한 개발 효율성 향상
- Scala의 간결성과 강력함을 활용하여 DSL을 만들어 코드의 유효성을 제한하고 가독성을 높임.
- 트랜잭션 처리 DSL을 예시로, 특정 작업만 허용하여 예외적인 동작을 방지하고 비즈니스 로직에 집중.
- 비즈니스 로직 DSL은 성공, 실패, 환경 접근, 이벤트 발생 등의 기본 연산만 허용하여 예상치 못한 동작을 방지.
- 동시성 및 확장성 문제 해결
- Scala는 Future 외에 ZIO, Cats Effect, Monix 등의 라이브러리를 통해 fiber 기반의 경량 스레드를 제공, 동시성 프로그래밍을 간소화.
- Hub 데이터 타입을 사용하여 메시지를 모든 구독자에게 브로드캐스트하는 기능 구현.
- 액터 sharding 패턴을 통해 분산 환경에서의 동시성 문제를 해결하고, 위치 투명성을 제공하여 메시지 전달을 간편하게 함.
Next Feeds
Terraform IaC 도구를 활용한 AWS 웹콘솔 클릭 노가다 해방기
사람인에서 테라폼을 도입하여 AWS 웹 콘솔 작업의 비효율성을 개선하고 IaC 환경을 구축한 경험을 공유합니다.
TerraformIaCAWS클라우드자동화
2022. 10. 21.
사람인
티맵은 어떻게 지도 데이터를 구축할까? - 15편 - 티맵러들의 빠르고 안전한 운행을 위하여
티맵은 사전 정보 수집, 현장 조사, AI 영상인식 기술을 활용하여 지도 데이터를 구축하고, 사용자에게 빠르고 안전한 운행을 지원합니다.
티맵지도 데이터내비게이션현장 조사영상인식
2022. 10. 20.
티맵모빌리티
React 컴포넌트와 추상화
React 컴포넌트 추상화 전략: 책임 분리, 재사용성 극대화, 도메인 독립성 유지, 훅 활용, 데이터 의존성 최소화.
React컴포넌트추상화재사용성책임 분리
2022. 10. 20.
카카오엔터테인먼트FE
React 컴포넌트와 추상화
React 컴포넌트 추상화 전략을 통해 재사용성, 유지보수성, 확장성을 높이는 방법을 제시합니다.
React컴포넌트추상화재사용성책임 분리
2022. 10. 20.
카카오엔터테인먼트FE

올리브영 선물 픽업 서비스 개발
올리브영 선물하기 픽업 서비스 개발 과정을 소개하고, 옴니채널 서비스 강화 및 개발 경험을 공유합니다.
올리브영선물하기픽업 서비스옴니채널예치금
2022. 10. 17.
올리브영

컬리는 물류 최적화 문제를 어떻게 풀고 있을까? - 1부
컬리는 유전 알고리즘을 활용하여 물류센터 QPS의 생산성을 높이고자 했으며, Digital Twin 구축을 통해 추가 검증을 진행할 예정이다.
물류 최적화유전 알고리즘QPSDigital Twin총량 피킹
2022. 10. 13.
컬리