분류 전체보기 98

C# - 개념 정리 2 / 변수, 코드 컨벤션 , 배열, 컬렉션, 박싱 & 언박싱 / 면접 질문 대비

개념 정리 1에서 이어집니다. 2024.09.20 - [C#] - C# - 개념 정리1 / C# 특징 및 기초 /면접 질문 대비 리터럴(literal) :직접 사용되는 값. (메모리 위치 안에 저장되는 값)컴파일러에 의해 상수 값으로 처리된다. 변수 :데이터를 저장하고 사용하기 위해 할당받은 공간 int a // int 자료형 변수 선언키워드(Kewords) :변수명을 지을 때, 이미 용도가 정해져 있어 사용할 수 없는 단어들 ex) public, static, if 등  식별자(identifiers) :변수, 함수, 클래스 등에 사용되는 이름  코드 컨벤션 :코드 작성 규칙-> 가독성과 유지 보수를 용이하게 하기 위해 사용. 자주 사용되는 코드 컨벤션 파스칼 케이스 (PasCal Case) : 첫 글자..

C#/기초 2024.09.23

C# - 개념 정리 1 / C# 정의 및 특징 , GC , Dispose, 네임 스페이스, 값 참조 형식, Nullable , 주석 / 면접 질문 대비

오늘은 C# 내용을 정리하는 시간을 가질까 합니다.면접 대비 겸 자료를 찾다 보니 C# 개념들에 대해서도 자세하게 물어보더라고요.몰랐던 내용뿐만 아니라 아는 내용도 확실히 짚고 넘어가고자 이렇게 정리해 봤습니다.잘못된 부분이 있다면 댓글로 알려주시면 감사하겠습니다. + 정리를 위한 글이므로 내용은 언제나 수정/ 추가 될 수 있습니다. C#이란?마이크로소프트에서 만든 객체 지향 프로그래밍 언어로서.Net 프레임워크(이하 .NetFramework로 통일)에서 컴파일된다. -> .NetFramework : 마이크로소프트에서 개발한 프로그래밍 플랫폼 동작 순서  컴파일러로 Managed Code 컴파일 - > CIL -> CLR -> Machine Code 순으로 진행 Managed Code-> .NET Pla..

C#/기초 2024.09.20

부동 소수점 계산 시 정밀도 문제

0.1 + 1.2를 계산하면 얼마가 나와야 할까요?수학을 배웠다면 1.3이라고 답했을 겁니다.  하지만 실제로 컴퓨터를 통해 계산해 보면 아래와 같은 결과가 나옵니다. 1.3과 a+b의 값을 비교했을 때우리가 생각한 것과 다르게 false가 나왔습니다. 왜 이런 문제가 발생할까요? 컴퓨터는 2진법을 통해 계산을 합니다.이때 소수들의 경우 완벽하게 떨어지지 않는, 무한소수들이 존재하는데,정해진 메모리 공간 아래 무한한 자리수들을 표기 할 수 없으므로이를 처리하는 과정에서 오차가 발생하게 됩니다. 간단히 말하면 a에 정확하게 0.1이 저장된 게 아닌0.1과 가까운 값이 저장된 상태라고 이해하시면 됩니다.  그럼, 오차 없는 완벽한 계산은 못 하나요?  다행이도 이를 위해 언어마다 라이브러리를 제공하고 있습니..

알고리즘 2024.09.19

유니티 - '엑셀'과 연동 해보자#1 Excel-Importer 사용하기

오늘은 유니티와 엑셀을 연동하여,엑셀 내부 데이터를 가져와 사용하는 법에 대해 알아보고자 합니다.  이를 위한 확장 프로그램이 깃허브에 올라와 있습니다. https://github.com/mikito/unity-excel-importer  Code를 누르면 파일을 다운 받으실 수 있습니다.   사용 방법프로그램을 다운 받았다면 압축을 푼 후 내용을 유니티로 옮겨주면 됩니다.   이제 엑셀 파일을 만들어야겠죠? Dialog라는 엑셀 파일을 만들고, 다음과 같이 내용을 넣어주었습니다.시트의 이름은 NPC_Text라고 정해주었습니다.  엑셀의 1 행에 들어가는 내용은 나중에 변수명으로 사용되므로 반드시 영어로 작성해야 합니다.  엑셀을 유니티로 넣어 주었습니다.  이젠 엔티티 클래스 스크립트를 만들어야 합니다..

카테고리 없음 2024.09.19

유니티 - PlayerPrefs를 이용하여 데이터를 저장해보자

유니티에서 데이터를 저장하는 방식에는 크게 두 가지가 있습니다.PlayerPrefs와 JSON을 활용하는 방식인데요,그 중 오늘은 PlayerPrefs를 이용하여 데이터를 저장하는 방법에 대해 알아보고자 합니다. PlayerPrefs 사용법 PlayerPrefs는 유니티에서 제공하는 클래스로서,Key값과 value값으로 정보를 저장합니다. 아래는 이를 사용하는 예시입니다.playerPrefs.SetInt("key", 1); // "key"에 1 저장;playerPrefs.SetFloat("key1", 2.0f); // "Key1"에 2 저장;playerPrefs.SetString("key3", "예시"); // "Key3"에 "예시" 저장 playerPrefs.GetInt("Key"); // "Key"에..

유니티/공통 2024.09.13

깃 branch 전략에 대해 알아보자 (Gitflow, GitHubflow 비교)

오늘은 깃 branch(이하 브랜치로 통일) 전략을 조사해보고,비교하는 시간을 가져볼까 합니다. 팀으로 프로젝트를 진행하면서브랜치 전략 중 Gitflow 방식을 채택하여 진행하게 되었습니다. branch 전략에 대해 처음 알게 되어서,전략들이 무엇이 있는지, 그 필요성과 장단점에 대해 간략하게 정리해 보고자 하였습니다.혹시라도 잘못된 정보나 이와 관련한 추가 사항이 있다면 댓글 남겨주시면 감사하겠습니다. 자료를 찾아보니 대부분 GitFlow 방식과GitHubFlow 방식 중 하나를 택하여 사용하는 것 같았습니다. 그래서 이 두가지 위주로 정리했습니다. 깃 branch전략,  왜 필요한가?이 글을 읽으시는 분은 깃을 어느 정도 안다는 전제하에 진행하겠습니다.아래 설명하는 용어들이 이해가 잘 안 간다면,이전..

카테고리 없음 2024.09.12

깃허브 / 깃허브 데스크탑 충돌 - Conflict 해결법

오늘은 깃허브를 사용하면서 발생하는 충돌 문제를 처리하는 방법에 대해 다뤄보겠습니다.먼저 충돌 상황을 보여드리기 위해 일부러 충돌 환경을 만들었습니다. test라는 Repository를 만들고,"깃 충돌".txt 파일을 만들어 넣어주었습니다. 내용은 다음과 같이 작성했습니다. 로컬 환경은 다음과 같습니다.여기서 깃허브의 "깃 충돌".txt 내용과로컬의 "깃 충돌".txt 내용을 각각 바꿔보도록 하겠습니다.     이 상태에서 커밋을 할 경우 Push와 pull 할 내용이 1개씩 있다는 표시가 뜹니다. 누르고 나면  충돌이 발생하고 아래와 같은 창이 뜹니다.이렇게 인위적으로 충돌 상황을 만들었습니다.  당황하지 마시고 Visual Studio code 열기를 눌러 충돌을 확인하면 됩니다.다행히 충돌이 발생..

카테고리 없음 2024.09.11

'깃/커밋 컨벤션' 에 대해 알아보자

오늘은 깃/커밋 컨벤션에 대해 알아보고자 합니다. 깃/커밋 컨벤션?Git을 통해 Commit을 할 때 변동 사항 등을 Commit 메시지에 적을 수 있습니다. 시간이 지남에 따라, 혹은 협업 /프로젝트를 진행하면서 Commit이 쌓이면,나중에 봤을 때 가독성을 포함하여 내용을 한눈에 파악하기 어려워질 수 있습니다.  이를 해결하기 위해 사전에 어떻게 표기할지 정한 과정이 깃 커밋 컨벤션입니다.   자료를 찾다 보니 Udacity Style을 많이 사용한다는 것을 알게 되었고, 이를 기준으로 정리해 볼까 합니다.    메시지 구조크게 3가지로 구분합니다.  type : subjectbodyfooter  type 타입은 제목과 함께 다음의 유형들을 포함합니다. feat:  새 기능 fix: 버그 수정docs..

'깃허브'에 대해 알아보자

프로젝트를 진행하다 보면 협업을 해야 하는 경우가 발생합니다. 프로젝트를 진행하는 데 있어 각자 진행한 부분을 공유하면서,합치는 방법은 많이 있겠지만 보통은 Git을 사용하게 됩니다.    오늘은 그 중 대표 격인 Github의 사용법에 대해 알아보고자 합니다. 깃(Git)이란?VCS(Version Control System/ 버전 관리 시스템)의 일종으로  소스 정보들의 변경 사항을 저장해 놓고,이를 불러오는 방식으로 버전 관리가 이루어집니다.  GitHub?오늘 소개할  Github는 Git을 활용하여, 온라인을 통해 보다 쉽게 협업을 진행할 수 있도록 도와주는 플랫폼입니다. 사용 방법  GitHub 사용 방법은 다음과 같습니다. 가장 먼저 깃허브 회원가입을 해야 합니다. 회원 가입을 한 후 로그인을..

유니티 : 미니프로젝트 #2 - 2 우주 수박게임을 따라 만들어 보자 (완)

저번 수박 게임에 이어서 응용 버전인우주 수박 게임(Sputnika games) 제작 과정을 정리하며미니 프로젝트 2를 마무리 할까 한다. 원하는 기능들은 대부분 구현했으나, 에러가 많아서 아마 더 수정할 것 같긴 하다.기능들을 새롭게 배우면서 추가하는 식으로 진행하다 보니생각보다 시간이 오래 걸린 감이 있었다. 미니 프로젝트 시리즈는 1주일에 1개의 게임 기능을 완성해 보는 거로목표를 잡고 진행할 계획이다. 플레이 영상    이미지는 빙 이미지 크리에이터를 이용하여 만들었다. 구조를 간단하게 설명하자면 수박 게임과 마찬가지로 운석끼리 충돌하면 커지고,범위를 벗어나면 게임 오버가 되는 형식의 게임이다. 운석은 오브젝트 풀링을 통해 관리 할 수 있도록 했다. 코루틴을 통해 운석을 발사하고 난 후,운석이 발..

미니 프로젝트 2024.09.06