반응형

전체 글 213

GTA 5(Grand Theft Auto V)를 클리어 한 후에...

게임을 하게된 이유와 첫 느낌 GTA 6 트레일러가 공개되고 몇 년내에 나온다고 하여 기존에 사놓고 바뻐서 못하고 있었던, 어떻게 보면 방치하던 GTA 5를 하였다. 게임의 첫 인상은 내가 경찰을 공격하는 도둑이 된다는게 어색했다. 하지만 이 게임이 대도둑이나 갱의 삶을 살아보는 거라는 것에 익숙해지면서 게임에 빠져들게 되었다. 게임에 대하여... (장르적 관점) 이 게임은 한마디로 말해서 액션 어드벤처라고 부를 수 있을거 같은데 솔직히 게임 자체를 하나의 게임으로 정의하기가 쉽지 않았다. 오픈 월드 어드벤처 형식을 가지고 있지만 차 레이싱을 너무 잘 만들어 놓아 레이싱 게임이라고 불러도 손색이 없어 보였다. 총으로 하는 액션신은 TPS FPS같기도 하였다. 부가적인 요소라고는 하지만 골프와 테니스는 스..

기타 2024.02.20

게임을 업데이트 하면서 느끼는 것들...

벌써 만든지 2년된 폭격 방어자에 대한 3번째 업데이트를 하면서 느끼는 것들에 대해서 이야기 하려고 합니다. (물론 1번은 단순 안드로이드 SDK 업데이트 였으니 실제로는 2번째 업데이트입니다.) 나만의 게임을 처음 만든다고 했을 때가 몇 년전이었는데 그 때는 정말로 무언가 처음부터 끝까지 만든다는 설레임이 가득했던거 같습니다. 하지만, 실제로 게임을 해본 사람들의 냉정한 평가 속에 한동안은 여러 게임을 이번에는 단순 프로그래머가 아닌 게임 개발자로서 다양한 관점으로 살펴보았던거 같습니다. 덕분에 게임 관련 글을 써도 프로그래머적인 시각보다는 기획자나 그래픽 디자이너의 시각에서 더욱 살펴보게 된거 같습니다. 1인 개발로 이런 저런 작업을 다하다보면 정말로 다양한 롤의 관점에서 게임을 보게 됩니다. 그러다..

개발이야기 2024.02.03

[서평] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2

이 시리즈의 1권이 인상 깊어서 바로 구매하여 보게된 2권입니다. 2권에서는 근접성 서비스, 주변 친구, 구글 맵, 분산 메시지 큐, 지표 모니터링 및 경고 시스템, 광고 클릭 이벤트 집계,호텔 예약 시스템, 분산 이메일 서비스, S3와 유사한 객체 저장소, 실시간 게임 순위표, 결제 시스템, 전자 지갑, 증권 거래소 등을 다루고 있습니다. 1권처럼 인터뷰용이라고 하나 인터뷰 관련 내용은 간략한 요구조건 정의 정도라고 볼 수 있고 나머지는 개략적인 설계에 대해서 나와 있습니다. 개략적인 설계를 설명하면서 핵심 알고리즘은 좀 더 자세히 설명하는 형식을 취하고 있습니다. 책의 내용은 글로벌 빅테크 기업들의 백엔드 서비스를 어떻게 만드는지를 잘 설명하고 있는 듯 합니다. 책의 내용이 대규모 시스템을 대상으로 ..

[서평] 밑바닥부터 시작하는 딥러닝 3

이 책은 밑바닥부터 시작하는 딥러닝 시리즈 1, 2권을 너무 재미있고 인상 깊게 읽어서 책 이름만 보고 구매하고 읽게된 책입니다. 딥러닝 관련하여 굉장히 많은 책을 읽은 것은 아니지만 몇 개의 강좌를 보고 몇 종류의 책을 읽은 후의 느낌은 딥러닝을 가장 쉬고 코드 레벨로 설명하고 있는 책은 이 시리즈인 듯 싶습니다. 누군가에게나 추천할 만한 시리즈의 책인 듯 싶습니다. 이 책은 해당 시리즈의 1권만 읽은 뒤 읽으실 수 있습니다. 이 시리즈가 뭘까? 1권 읽고 2권이나 3권 아무거나 읽어도 되게 구성되어 있습니다. 대신 1권은 필 수 있습니다. 참고로 1, 2권에 대한 내용은 아래 링크에 적어 놓았습니다. [서평] 밑바닥부터 시작하는 딥러닝 1, 2 & 관련 수학책 시리즈 3권의 내용은 파이토치나 텐서플로..

인공지능 2024.01.23

[서평] 밑바닥부터 시작하는 딥러닝 1, 2 & 관련 수학책

밑바닥부터 시작하는 딥러닝 딥러닝의 기초부터 이론과 간단한 파이썬 구현 코드를 설명하는 책입니다. 텐서플로 2.0 케라스와 같은 딥러닝 프레임워크를 공부를 하다보면 대충 응용법은 알거 같은데 해당 프레임워크가 어떻게 돌아가고 왜 이런 건지 알수가 없을 수 있습니다. 또한 지식의 깊이 한계로 응용에도 한계도 느껴질 때가 있습니다. 이런 분들께서 보시면 좋은 책인듯 싶습니다. 저와 같은 경우는 워낙 기초 이론관련 강좌를 많이 보고 본 책이라 마치 복습하는 거 같았는데 그래도 딥러닝 기초에 대한 코드와 자세한 설명이 많은 도움이 되었던거 같습니다. 또한 딥러닝에 입문해서 이제 지도학습이니, 비지도학습이니 강화 학습이니 하이퍼파라메터니 등등 기본 개념을 익혔다면 반드시 보면 좋은 최고의 개념서 중의 하나인 거 ..

인공지능 2024.01.17

SWIFT 디버깅시 유용한 API

실제로 사용해보고 너무 유용했던 Swift로 디버깅 할 때 도움이 되는 API 공유합니다. 1. 현재까지의 콜스택 정보 프린트하기 Thread.callStackSymbols.forEach{print($0)} 복잡한 앱이나 프그램을 만들다보면 자연스럽게 많은 함수를 만들게 됩니다. 해당 API는 특정 함수가 호출될 때 어디서부터 어떤 순서로 호출되었는지를 알려고 할 때 유용한 함수입니다. 물론 콜스택은 브레이크 포인터를 걸어 놓으면 볼 수 있지만 때때로 여러 번의 호출 중 이상한 곳에서 호출되는지를 체크하고 싶을 때가 있습니다. 해당 상황에서 매번 브레이크를 걸고 디버깅하는 것은 디버깅 시간을 많이 소모하기 때문에 해당 함수를 사용하여 디버깅 로그를 보고 파악하면 디버깅 시간을 많이 줄 일 수 있습니다. ..

iOS 프로그래밍 2023.12.27

[서평] 가상 면접 사례로 배우는 대규모 시스템 설계 기초

시스템 설계 면접 관련이라고 해서 면접 형식의 책인줄 알았습니다. 하지만 실제로는 면접 관련 내용은 일종의 기술적 요구사항 파악 정도 입니다. 그리고 나머지는 해당 문제에 대한 기초적인 설계와 설명을 담고 있는 책입니다. 웹이나 앱 서비스의 백엔드 시스템 관련 내용을 다루고 있습니다. 읽고 난 후의 전반적인 느낌은 백엔드 개발자에게 많은 도움이 되는 책인 듯 합니다. 내용은 신입이나 초보가 보기에는 조금 어려울 수도 있습니다. 키-값 저장소, 분산 시스템을 위한 유일 ID 생성기, URL 단축기, 웹 크롤러, 알림 시스템, 뉴스 피드 시스템, 채팅 시스템, 검색어 자동 완성, 유튜브, 구글 드라이브 설계 등 각종 서비스나 기능에 대한 설계를 담고 있습니다. 상세한 설계라기보다는 큰 그림으로 보는 개괄적인..

호라이즌 제로 던(Horizon Zero Dawn)을 클리어한 후에...

이 게임은 소위 구매하고 언젠가 해야지 하고 있던 게임인데 최근에 우연히 플레이하고 클리어 하였습니다. 왜 이제 플레이했을까? 하는 아쉬움이 나왔을 정도로 2017년 발매 게임이지만 정말로 인상적인 게임이었습니다. 지금봐도 화려한 그래픽부터 이래서 콘솔의 AAA급 게임은 해봐야하는 구나 라는 생각이 들었습니다. 우선 이 게임은 세계관에 적응할 때쯤 왜 이런 세계관이 나왔는가를 보여주는 스토리 전개가 너무 흥미로왔습니다. 너무 재미있어서 중간 중간에 나오는 텍스트나 소리 파일 등의 부가적인 설명을 가진 짧막한 대사들도 모두 집중해서 볼정도로 흥미로웠습니다. 더욱이 홀로그램으로 표현하는 과거부터 마치 영화를 보는 듯한 인게임 데모 구성과 전개 그리고 고퀄러티의 게임 그래픽이 어우려져 마치 재미있는 미국 SF..

기타 2023.12.05

[서평] 인공지능 투자가 퀀트

퀀트라는 직업을 아시는 지요? 퀀트는 일반적으로 주식이나 파생상품 등의 매매거래를 알고리즘을 만들어서 컴퓨터로 자동거래를 해서 수익을 내는 직업을 말합니다. 퀀트라는 직업이 나온지는 꽤 됐지만 그리 친숙하지 않고 실제로 어떤 알고리즘으로 자동 매매를 하는지를 알기는 어렵습니다. 프로그래머라고 해도 주식 매매를 할 때 HTS로 거래를 할 뿐 알고리즘을 만들어서 거래를 하는 사람은 소수인 듯 보입니다. 단지 가끔 알고리즘 대회 수상자 몇몇이 월가로 넘어가서 퀀트를 한다는 소문이 들리기도 합니다. 자동 매매라는 것을 찾아보면 최근에 파이썬으로 주식 자동매매을 하는 것이나 가상 화폐를 자동매매 하는 것을 찾아볼 수 있습니다. 솔직히 여기서 쓰는 매매 알고리즘은 보통 단순한 경우가 많습니다. 솔직히 저걸로 얼마나..

알고리즘 2023.11.07

[백준 25308] 방사형 그래프 - 힌트에 맞는 풀이

백준 문제 방사형 그래프에 대한 풀이입니다. 기하 관련 문제인 관계로 기하 관련 알고리즘을 몰라 관련 지식만 공부하고 풀이 알고리즘을 디자인하였습니다. 어차피 문제 풀이도 공부하고 브루트포스로 할 경우 시간이 너무 걸릴거 같아 괜한 시간 버리기 싫어 그냥 풀이를 참조하기로 하였습니다. 그래서 검색해서 아래와 같은 풀이를 보았습니다. [백준 25308] 방사형 그래프 이 풀이를 보고 결국 이 문제는 브루트포스로 하여도 된다는 것을 깨달았습니다. 이 분의 풀이는 굉장히 좋은 발상으로 푼 거 같았습니다. 하지만 이 분의 방법은 백준에 있는 힌트인 "CCW 문제와 어떤 알고리즘을 조합해야 이 문제를 풀 수 있을까요?"하고는 맞지는 않는거 같았습니다. 개인적으로는 이 분이 설명하신 알고리즘으로 모든 볼록다각형을 ..

알고리즘 2023.07.17

[백준] 알고리즘 수업 - 점근적 표기 1

알고리즘 수업 - 점근적 표기 1 이 문제는 실버V 수준의 어렵지 않은 문제입니다. 그런데 제출된 풀이가 계속 맞지 않아 결국 시간 절약을 위하여 풀이를 참조하였습니다. 그런데 도저히 다른 사람의 풀이가 명확히 이해가 가지 않았습니다. 답만을 맞추는 것을 실력향상에 도움이 되지 않기 때문에 결국 수학적으로 혼자 다시 풀었습니다. 이 문제의 다른 분들의 풀이에 의문을 가지실 저와 같은 사람이 있을거 같아 풀이를 적기로 하였습니다. 이 문제 풀어보지 않은 분들은 위 링크를 따라 먼저 혼자 풀어볼 것을 권장합니다. 우선 이 문제는 아래와 같은 표기 법을 검증하는 문제입니다. O(g(n)) = {f(n) | 모든 n ≥ n0에 대하여 f(n) ≤ c × g(n)인 양의 상수 c와 n0가 존재한다} 문제에서 아래..

알고리즘 2023.06.11

[서평] DirectX 12를 이용한 3D 게임 프로그래밍 입문

최신 DirectX 12에 대한 입문서입니다. 워낙 유명한 저자의 책이기도 하고 역자 류광님도 유명하신 분이라 선택한 책입니다. 우선 인상 깊은 것은 책의 저자의 DirectX 11에 대한 입문서 책과 예제가 거의 비슷합니다. 내용도 상당 부분 동일합니다. 대부분의 예제가 DirectX 11 예제를 DirectX 12로 포팅하고 수정한 듯 보입니다. 물론 예제의 품질은 좀 더 좋아졌습니다. 이 분의 DirectX 11에 대한 책을 본 뒤에 읽는다면 많은 부분의 내용과 예제가 비슷하여 좀 더 쉽고 빠르게 이해할 수 있습니다. 이런 부분에서 DirectX 11입문서가 DirectX 라이브러리가 플랫폼 라이브러리로 된 후의 DX라이브러리를 사용하지 않고 쓰여진 개정판이 나왔었다면 좀 더 좋았을텐데라는 아쉬움도..

[서평] DirectX 11을 이용한 3D 게임 프로그래밍 입문

계속 연구하던 DirectX 9를 마치고 최신 DirectX 12를 공부하려는 중입니다. DirectX 12를 공부하려고 여기저기 공부 법을 찾아보는데 국내에서 자체 엔진 개발하시는 분도 그렇고 외국 사이트의 개발자도 그렇고 라이브러리의 연속성 때문에 DirectX 11을 먼저 공부하는 것이 좋다고 해서 보게된 책입니다. 이 책의 저자가 DirectX 9시점 유명 책이었던 용책의 저자로 DirectX 관련 서적에서는 유명한 저자라서 보게된 책입니다. 하지만 이 책을 추천하기는 좀 어려울거 같습니다. 우선 번역이 그리 매끄러운거 같지 않습니다. 읽다가 번역 문제로 뭔가 잘 이해가 안간다는 느낌이 가끔 듭니다. 다음으로 DirectX 11은 윈도우 업데이트를 통하여 외부 SDK에서 OS쪽 기본 포함 SDK로..

Kotlin 싱글톤 사용시 주의 사항

싱글톤은 프로세스가 살아 있는 동안 객체가 살아있고 필요한 정보를 한곳에 모울 수 있어 많이 사용하는 방법입니다. 하지만 안드로이드에서는 이 방법을 사용할 때 주의가 필요합니다. 이유는 안드로이드는 메모리가 부족해지거나 절전 모드에서 필요시 프로세스를 죽이고 사용자가 앱을 다시 전환했을 때 재실행하기 때문입니다. 이 때의 재실행은 앱아이콘을 클릭하여 실행하는 경우와는 틀리게 최상단의 액티비티만이 재생성됩니다. 이런 경우에 프로세스가 재실행되는 관계로 프로세스 재실행시 싱글톤은 재생성되기 때문에 싱글톤의 내용이 초기화됩니다. 싱글톤의 사용에 의존하는 경우 갑자기 초기화된 싱글톤을 사용하게 되면 알수 없는 버그가 앱에서 발생할 수 있습니다. 즉, 앱이 실행되는 동안 필요한 영구적인 정보를 싱글톤에만 저장하고..

반응형