728x90

코딩 27

코딩인터뷰 퀘스천"메모" 그래프 알고리즘, 정렬

. . 책 읽으면서 메모했던 내용들 옮겨봅니다. ​ - ​ 챕터9 그래프 알고리즘 서울에서 뉴욕까지 가는 가장 빠른 노선은? 같이 객체간의 관계에 대한 정보 자료구조가 그래프. 정점 노드들의 집합 V와 간선(정점의 쌍)들의 집합 E를 사용하여 (V, E)로 나타냄. Directed Edge : 방향성을 가지는 간선 Undirected Edge : 방향을 가지지 않은 간선 Directed Graph Undirected Graph ​ 그래프 어플리케이션 전자 회로 컴포넌트간 관계 표현, 운송 네트워크, 컴퓨터 네트워크, 데이터베이스 ​ 챕터10 정렬 정렬 알고리즘의 분류 기준 비교 횟수(최선은 O(nlogn), 최악은 O(n^2) 복잡도) 도치(값 교환) 횟수, 메모리 사용, 반복, 안정성, 작용성 ​ 비교..

코딩인터뷰 퀘스천"메모" 프로그래밍 기초, 알고리즘, 연결 리스트, 스택

. . 책 읽으면서 메모했던 내용들 옮겨봅니다. 챕터1 프로그래밍 기초 / 12, 13 프로그래밍 테크닉, 기초 문제 -네임 맹글링(Name mangling) C컴파일러는 언더바’_’ 를 붙여 함수나 심볼을 연결. main() 함수는 _main() 심볼명, int counter; 는 _counter 심볼명에 링크. C++ 컴파일러는 함수 오버로딩 메커니즘. 단순 언더바를 붙이지 않고, 링커가 ‘맹글링’을 사용. 네임 맹글링 : C++ 컴파일러가 동일한 이름의 함수, 변수들을 라인 식별자, 인자 크기 등의 확장 정보들을 가진 어떤 명칭(유일 심볼명)으로 변경, 연결하기 위한 메커니즘. ​ 함수명 맹글링 : @ 변수명 맹글링 : @@ ex) int Test(int a, int b) => _1add@8 ex)..

[책] 코딩인터뷰 퀘스천 (2015출간)

. . 정식으로 퇴사한지 1주일 정도 넘었습니다. 회사다닐 때보다 더 여러가지 바쁘게 하고 있는 탓인지 시간이 정말 빠르게 흘러가네요. 벌써 10월 중순이라니. ​ 너무 멀지 않은 미래에 구직활동겸 인터뷰 준비도 다시 해야하고, 이번 기회에 기본기에 대한 것들도 한 번 공부해보자는 생각에 코딩인터뷰 책도 한 권 보기 시작했습니다. 사실 원래 보려고 했던 2017년 출간된 다른 서적을 구하지못해서 구하기 전까지 훑어보자는 생각으로 구해온 책입니다. ​ 책의 저자는 아마존 수석 개발자, 하이데라바드의 Microsoft, IBM 연구소 등에서 근무한 경력이 있고 컴퓨터 과학 석사까지 마친 엘리트 느낌의 개발자입니다. ​ 책의 구성은 마치, 정보처리 계통의 자격증 시험 교과서같은 느낌입니다. 그만큼 정보처리 기..

[Unity] 경고 메시지 "There are inconsistent line endings in the '~.cs' script."

유니티 엔진에서 스크립트를 생성해서 작성하면, 초반에 이런 경고 메시지 (Warning Message) 를 볼 수 있습니다. 내용은 대략, 줄 마침이(Line ending) 잘못되었다는 소리. 소스코드와 같은 문서파일들은 OS마다 기본 줄바꿈문자가 다르기 때문에 이를 맞춰주어여 합니다. There are inconsistent line endings in the '~.cs' script. Some are Mac OS X (UNIX) and some are Windows. This might lead to incorrect line numbers in stacktraces and compiler errors. Many text editors can fix this using Convert Line Endi..

프로그래밍, OOP 설계 원칙 SOLID

© vishnurnair, 출처 Unsplash 객체 지향 프로그래밍(OOP) 언어로 프로그래밍을 시작했고, 여전히 OOP로 코딩하면서 게임을 개발하고 있습니다. 이런 패러다임을 바꿀 만큼의 더 큰 범주의 고민은 내공이 부족해서 잘 모르겠습니다. 다만, 앞으로도 최소 10년 이상은 OOP로 게임을 개발할 것 같습니다. ​ 그러려면, 오래됐지만 여전히 효과적이고 옳은 길을 제시하고 있는 OOP의 설계 원칙들에 대해서도 한 번씩은 공부해야 할 가치가 있다고 봅니다. 형식적으로 원칙을 따져가며 지키는 것도 문제가 될 수 있지만, 무지로 인해 원칙을 무시하고 짠 프로그램은 결코 좋은 설계가 될 수 없다고 생각합니다. ​ S.O.L.I.D 직역하면 "단단한", "견고한"의 뜻을 가집니다. 아마도 선배 프로그래머들..

파이썬(Python), 가지고 놀기 첫걸음

파이썬(Python)을 만져보고 있습니다. 게임 개발만 한다고 쓰던 프로그래밍 언어만 쓰다보니, 여태 파이썬을 만져보질 않았네요. 그래서 조금씩 취미삼아, 공부삼아 만져보고 있습니다. 로고가 귀여운 뱀 두마리라 맘에 듭니다. ​ 1. Python 설치 2. Python IDE 설치 3. Python 가지고 놀기 위 순서대로 진행해면 됩니다. ​ 먼저 파이썬 설치. 공식 홈페이지에서 다운로드 받아 설치하면 됩니다. 관련 링크들을 아래쪽에 몰아놨습니다. 금방 끝. 설치가 모두 끝나면 마지막에 Online Tutorial 과 Documentaion 링크도 알려주는데, 영어의 압박이 있으므로 한글자료를 찾아서 보는 걸 추천드립니다. 좋은 분들이 한글자료를 엄청 많이 공유해놨어요. ​ 그냥 메모장같은 에디터로 P..

게임 프로그래밍을 잘 하면 팀에서 가장 이득을 보는 사람은?

© Pexels, 출처 Pixabay 회사의 팀 프로젝트 관련된 이슈가 말 그대로 폭발적으로 생겨나고 있습니다. 그만큼 만들어야 할 게임 시스템이며 로직들이 많다는 이야기인데요, 게임 프로젝트를 개발/서비스하다 보면 항상 없던 걸 만들어 붙이기만 하지는 않습니다. 새로운 걸 만들면서도, 기존의 것을 수정한 뒤에 추가해야 하는 경우가 대부분일 겁니다. 어떤 경우엔 기존의 걸 많이 제거하고 새로운 걸 조금 추가하게 되기도 합니다. ​ 기존의 걸 수정해야 하는 양이 많아진다면 자연스럽게 프로그래밍 시간도 그만큼 늘어나게 됩니다. 여기서, 프로그램의 구조 설계와 디자인이 잘 짜여 있다면 시간을 크게 절약할 수 있습니다. 잘 짜인 프로그램이란, 많은 프로그래머들이 책과 강연에서 말하는 걸 듣고 대략 제 생각을 정..

728x90
반응형