⛳️ 노션의 구조와 노션을 이루고 있는 구성요소의 사용에 대해 알아봅시다! 노션의 기본 구조 노션 사용법에 대해 알아보기 전에 노션의 기본 구조에 대해 알아볼 것입니다. 노션의 구조를 알고 나면 사용하는 법도 더 쉽게 익힐 수 있습니다. Top-down 방식으로 하나씩 보도록 합시다. Workspace 노션의 가장 큰 단위라고 하면, 역시 workspace다. Workspace는 하나의 프로젝트라고 볼 수 있다. 하나의 큰 대분류로 다른 프로젝트나 다른 주제와의 분리가 가능해진다. 좌측 상단에 워크스페이스들을 모아 볼 수 있고, 원하는 워크스페이스로 전환이 가능하다. ▼ Workspace 만드는 법 ‘처음 시작할 때 워크스페이스를 하나 만들었는데, 새로운 워크스페이스는 어떻게 만드나요?’ 좌측 상단의 워..
모음 타입들Swift는 여러 값들을 저장하기 위해 Array, Set, Dictionary라는 Collection Type(컬렉션 타입)을 제공한다.Array(배열)은 순서대로 값을 모은 것이고,Set(집합)은 순서가 없는 값들을 모은 것이다.Dictionary는 Key-Value 쌍을 순서 없이 모은 것이다. Swift의 Array, Set, Dictionary에 저장되는 값은 항상 명확한 타입을 가지고 있어야 한다.만약 Int자료형을 저장하는 Array에 String 타입의 값을 넣으려고 하면 오류가 발생한다. Mutability of Collections개발자가 Array, Set, Dictionary를 만들어 변수에 할당하면 해당 컬렉션들은 모두 변경 가능하다.즉, 값을 추가, 제거, 변경할 ..
시작 간단하게 캡슐 모양의 오브젝트를 자동차처럼 조종하는 것을 만들어볼 것이다. (유니티 에디터 버전: 2020.3.30f1 Intel) 아래의 자동차를 조종해 볼 것이다.▼ 아래의 이미지는 코딩고라니가 만들었고, 이미지를 연습용으로 사용하는데는 아무 제약이 없습니다. 마음에 들지 않는다면, 다른 파일로 해도 괜찮습니다. 자동차 오브젝트 생성 가장 먼저 해야할 것은 조종할 오브젝트를 만드는 것이다. 일단 유니티 프로젝트를 만들어준다. (2D 프로젝트로 만드는 것을 잊지 말자)▼ Hierarchy 탭의 빈공간을 눌러서 캡슐 모양 스프라이트를 가진 2D 오브젝트를 하나 만들어주자. 사실 어떤 오브젝트인지는 상관 없다. 어차피 square, circle, capsule의 차이는 스프라이트의 차이인데 우리는 자..
게임 디자인 게임 제작에 앞서 게임 디자인이란 것에 대해 생각해야한다. 게임 디자인이란? 게임 디자인(game design)은 게임을 플레이하는 사람에게 전달하고 싶은 재미를 표현하고 구현하기 위해 게임의 규칙과 내용을 설계하는 과정을 지칭하는 말이다. 또한 이미 제작된 게임의 설계 양식이나 문서를 가리키는 말로도 사용된다. 게임 디자인에는 여러가지 제약들이 존재하지만 소규모로 제작하는 입장에서 고려해야할 것들에 대해서 간단하게 얘기하자면 이런 것들이 있다. 게임의 요소와 메카닉 사용자 경험(Player Experience) 핵심 기능(Core Mechanic) 게임 루프(Game Loop) 하나씩 살펴보자. 게임의 요소와 메카닉 게임의 요소와 메카닉은 단순하게 말하면 무엇이 게임에 있고, 어떤 방식으로..
이 글은 애플 실리콘(M1칩)을 사용하는 맥북에서 Unity와 VSCode를 설정하는 것을 다룹니다. 윈도우의 경우 다른 글을 참고하는게 좋습니다. Unity 설치 1. 유니티 허브(Unity Hub) 다운로드 및 설치 유니티 홈페이지에 접속해서 유니티 허브를 다운로드 하면 된다.▼ 다운로드 지금 Unity를 다운로드하고 전 세계적으로 가장 큰 인기를 누리는 2D/3D 멀티플랫폼 경험 및 게임 제작용 개발 플랫폼을 사용하세요. unity.com 필자는 베타버전을 사용하고 있다. 현재까진 다른 버그는 발견하지는 못했지만, 나중에 어떤 버그가 발생할 지 모르기에 안정된 일반 버전을 설치하는게 좋을 것 같다.▼ 다운로드 했다면 파일을 열고 설치하면 된다.▼ 설치를 완료했다면 유니티 계정으로 로그인하자. 2. ..
Unity2D 게임 프로그래밍에 앞서 강좌 추후에 쓰일 글들은 Udemy의 강좌, C# Unity Developer 2D Coding: Learn to Code Video Games의 내용을 기반으로 작성된다. 굉장히 기초적인 부분부터 시작하며, C#을 기준으로 코드를 짠다. C#을 몰라도 C나 C++을 알면 쉽게 따라올 수 있으며, 코딩을 처음해도 무난하게 따라올 수 있을 정도로 굉장히 쉽게 설명해준다. 강의는 윈도우에서 진행되지만, 필자는 맥 환경을 사용하기에 인터페이스에 차이가 있을 수 있다. 하지만 아주 극소수의 차이만 존재하기에 사실상 둘이 거의 같다고 할 수 있다. 원하는 버튼이나 메뉴가 보이지 않으면 당황하지 마시고 차근차근 찾길 바란다. Unity란 유니티는 2D와 3D 비디오 게임을 만드..
⛳️ 노션으로 무엇을 할 수 있는지 알아봅시다! 노션(NOTION) 이란? 노션은 all-in-one workspace로 문서, 데이터베이스, 위키, 달력, 프로젝트 관리 등의 기능을 제공해주는 어플리케이션입니다. 아래의 기능들을 노션 하나로 모두 사용할 수 있습니다. 문서 데이터베이스 공개 웹사이트 지식 베이스 프로젝트 관리 시스템 "그렇지만 제가 보기엔 그냥 예쁜 메모 앱인거 같은데요?" 노션의 핵심 기능이 문서 작성이기에 이렇게 보이기도 하지만, 노션을 통해 문서 작성 외의 다른 것들도 할 수 있습니다. 조금 와닿지 않으실 거 같아서 제가 만든 몇가지 워크 스페이스를 보여드릴게요. 노근이 만든 워크스페이스들 1. NOGUEN 블로그 블로그를 노션으로 운영했었다. 노션 자체적인 기능과 super.so..
문제 트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오. 입력 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 매겨져 있다. 먼저 정점 번호가 주어지고, 이어서 연결된 간선의 정보를 의미하는 정수가 두 개씩 주어지는데, 하나는 정점번호, 다른 하나는 그 정점까지의 거리이다. 예를 들어 네 번째 줄의 경우 정점 3은 정점 1과 거리가 2인 간선으로 연결되어 있고, 정점 4와는 거리가 3인 간선으로 연결되어 있는 것을 보여준다. 각 줄의 마지막에는 -1이 입력으로 주어진다. 주..
개론 인덱싱의 기본적인 방법들, heap, hash, sorted file 들은 일장일단의 성격을 지니고 있다. 그런데 모든 부분에서 두루두루 성능이 좋게 나오는 인덱싱 기법은 없는걸까? 모든 면에서 성능이 좋은 인덱싱 기법은 없지만 적절한 성능을 내는 기법은 있다. 바로 B+ Tree이다. 하지만 이번 포스트에선 B+ Tree가 무엇인지 알아보기 전에 B+ Tree의 이전 형태인 B Tree를 보자. 특징 1. 노드에는 2개 이상의 데이터(key)가 들어갈 수 있고, 이들은 항상 정렬된 상태로 구성된다.▼ 2. 내부 노드(루트노드와 리프노드 제외 노드들)는 최소$\lceil \frac{M}{2} \rceil$, 최대 $M$개의 자식을 가질 수 있다. 최대 $M$개의 자식을 갖는 B 트리를 $M$차 B ..
개론 "인덱싱(indexing)이란 무엇일까?" 뉴스 기사를 수집한다고 해보자.▼ 수집한 뉴스 기사를 조회한다고 할 때, 수집한 뉴스 기사의 개수가 많으면 원하는 기사를 찾는게 쉽지 않을 것이다.▼ 그런데 뉴스 기사를 기사 주제에 따라 쪽수로 표시하면 찾기가 훨씬 쉬워질 것이다. 곰 주제는 266쪽 부터 369쪽, 고라니 주제는 370쪽부터 500쪽 등등…▼ 그런데 이렇게 크게 나눠버리면 찾기 쉬워진 것은 맞으나 세부적인 기사를 찾기가 힘들다. 예를 들어 곰 주제에서 ‘곰돌이 푸가 성공한 이유’라는 주제를 찾으려면 266쪽으로 가서 369쪽까지 쭉 훑어봐야한다.▼ 그렇기에 대분류로 한 번 나누고 다시 소분류로 ‘곰돌이 푸가 성공한 이유’라는 뉴스 기사를 다시 한 번 쪽수를 분류 해야한다.▼ 이런 과정을 ..