전체 글

Data Scientist / Data Analyst
· Philosophy
호소다 다키히로의 . 요즈음 읽고있는 책이다 수 많은 메시지가 우리의 귀와 눈을 스쳐가지만 우리는 늘 "세 줄 요약"을 원한다거나, 게을러진 뇌가 시키는대로 적고 다양한 정보를 받아들이길 원한다. 말하고자 하는 명확한 메시지라거나, 일관성을 부여할 수 있는 컨셉이라는 것이 없다면 쉽게 잊혀지는 세상이 되어버렸다. 옛날에는 예술적인 활동에만 국한되어 쓰이는 단어였지만, 지금은 개인이, 기업이, 어떤 단체가 청자에게 호소하는 하나의 메시지로 널리 쓰이고 있다. 컨셉을 계속 압축해 나가다보면 결국 과 다름이 없어진다는 것을 이 책에서는 말하고 싶어한다. 단 한 문장의 말을 일관된 형태로, 매력있게 전달하는 것이 컨셉이다. 아직 모든 내용을 읽진 않았지만, 크고 작은 일을 시작할 때 막막함을 느끼거나, 나의 생..
디버그는 복잡한 개념이 아니다. 우리가 생각 없이 짠 코드를 교정해주는 작업일 뿐이다. 5를 0으로 나누거나, 변수를 잘못 할당하게 되면 다음 코드로 실행되지 않는다. 이러한 모순을 제거하는 것이 디버깅이다. 총 두 가지 방법을 말할건데, IDE 환경과, 노트북 환경에서 디버깅 방법을 보겠다. 디버깅을 아예 모르는 사람들이 보면 좋을 정도의 포스팅이다. VSCODE IDE 중 가장 대중적인 VSCODE를 기준으로 설명하겠다. 일단 일부러 에러를 내보는 코드를 만들어보자. 지금은 한 눈에 에러가 보이겠지만, 코드가 천줄 만줄이 넘어가면 이 에러가 어디에서부터 시작했는지, 일일이 보기가 까다롭다. 이렇게 파이썬 파일을 적어놓고 우리가 검사해보고 싶은 breakpoint를 지정하면 된다. breakpoint는..
세상의 데이터는 세분화가 되어있다. A집단은 보수정당을 B집단은 진보정당을 C집단은 중립이라고 해보자. 설문조사를 수집할 때 임의로 Random하게 샘플링을 했더니 우연스럽게 A집단의 샘플이 50%가 포함이 되었다. 해당 결과는 자연스럽게 보수 정당의 우세라는 결과를 가져온다. 이를 방지하고 더 좋은 샘플링을 하는 방법이 층화추출이다. 층을 지어서 추출한다 -> 집단 세분화를 해놓고 샘플링한다. A에선 몇 개, B에선 몇 개, C에선 몇 개를 정해놓고 샘플링한다. 자연스럽게 집단 내 대표성을 띄는 샘플이 어느정도 보장되고 집단 간 샘플의 비율이 나름 일정하게 유지될 것이다. 이것만 기억하자 세분화, 샘플링
URI(Uniform Resource Identifier) : 통합 자원 식별자 - 말 그대로 자원을 식별할 수 있게 해주는 녀석 - URN일수도 URL의 형태를 가질수도 있다. - 즉 접근 가능한 개체일수도 접근 가능하지 못하는 개체일 수도 있다. URN(Uniform Resource Name) : 파일에 대해 인터넷을 통한 접근 목적이 아닌 식별 자체에 목적을 가지고 있음. 파일 혹은 리소스를 식별할 수 있는 이름이라고 생각 접근을 위한 인터넷 프로토콜을 동반하지 않음 주소는 변할 수 있으나 리소스의 고유한 이름은 변하지 않는다. 쉽게 이해해보려면 도서 혹은 주민등록번호를 생각하면 된다 도서번호는 각 도서에 매겨지는 고유한 키값이다. 주민등록번호는 사람의 위치와 상관없이 그 사람을 식별할 수 있는 이..
LV.4 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 문제 CAR_RENTAL_COMPANY_CAR 테이블과 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블과 CAR_RENTAL_COMPANY_DISCOUNT_PLAN 테이블에서 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 같은 경우 자동차 ID를 기준으로..
게임 플랫폼과 배경 게임 플랫폼 : 게임 플레이를 포함한 게임 주변의 인증, 결제, 커뮤니티 등 여러가지 서비스가 통합된 플랫폼 유저를 게임 컨텐츠로 빠르게 전이시키고, 편리한 게임 경험을 선사하는 역할이다 예전엔 OS마다 게임이 배타적으로 실행이 되어서 장벽이 있었는데, 언리얼 엔진과 유니티같은 멀티 플랫폼 개발 엔진이 등장하면서 여러 OS, 플랫폼 내에서도 같은 게임을 즐길 수 있게 되었다. 게임 엔진은 멀티 플랫폼이 지원이 되는데 SDK는 게임 엔진 레벨에서 멀티 플랫폼이 지원되지 않는다 그래서 최근까지 유니티만의 SDK, 언리얼만의 SDK가 따로 제작되어 관리되었다 예를 들어 결제 시스템을 위한 SDK는 유니티, 언리얼, PS4에 따로 빌드되어야한다. 그렇기 때문에 하나의 기능을 담당하는 모듈도 ..
INTRO 메이플은 20년이 넘는 시간동안 서비스 된 장수게임이다. 비록 산전수전과 많은 비판도 받아왔지만, 피시방에 가면 여전히 메이플을 즐기고 있는 사람들을 여럿 볼 수 있다 메이플이 지금까지 올 수 있었던 이유는 매력적인 IP, 깊이있는 세계관, MMORPG의 참 재미를 느끼게 해줬기 때문이라고 생각한다. 보통의 게임은 오래하면 질리기 마련이다. 쉽게 질리는 성향을 가진 유저는 새로운 자극을 위해 다른 게임으로 옮겨가거나, 동시에 여러 게임을 한다. 그럼에도 게임을 계속 서비스 하려면 오래해도 재밌는 게임을 만들 수 있어야 한다. 이에 한국 메이플 디렉터이신 김창섭님께서 을 NDC에서 발표하신 영상을 보고 리뷰를 남긴다. MMORPG의 플레이스타일 MMORPG는 패키지 게임과 플레이 시간에 제한이 ..
· Insight
INTRO 게임을 서비스할 때 쓰이는 다양한 지표를 리뷰해보자. 일단 지표를 왜 써야되는가를 생각해보면, 지표는 우리 서비스에 대한 성적표라고 여기면 될 것 같다. 지표는 굉장히 정량적이고 정직하지만, 한편으로는 표면적이기도 하다. 유저가 어떤 마음으로 게임을 하는지, 깊은 차원의 감정은 알아보기 힘들기 때문이다. 그래서 FGI와 UT같은 정성적인 평가도 곁들인다. 지표는 또 목적지향적이어야 한다. 신규 게임을 개발해놓고 전환율을 보거나, 유입을 위한 새로운 마케팅 채널을 개발하고 리텐션을 최적화하는 식의 방법은 효율적이지 않다. 기획 단에서 의도했던 것이 무엇인지, 우리의 아이디어의 정확한 평가를 위해 어떤 지표를 최적화해야 하는지를 정하는 것이 중요하다. 이번 포스팅에선 게임에서 사용되는 여러가지 지..
bat_huni
Growth Scientist