728x90

내일배움캠프 67

내일배움캠프 Unity - TIL : 25.02.11

오늘 학습한 내용1) Enum의 모든 값 순회 및 초기화 foreach (EMonsterType type in Enum.GetValues(typeof(EMonsterType))){ monsterSkills[type] = new List();}위 코드를 통해, Enum에 정의된 모든 값을 순회하여 각 값에 대해 리스트를 초기화할 수 있음을 배웠습니다. 2) 문자열을 Enum으로 변환하기 if (!Enum.TryParse(skillData["MonsterType"].ToString(), out EMonsterType monsterType))이 코드를 통해, 문자열 데이터를 해당 Enum 값으로 파싱할 수 있다는 것을 처음 알게 되었습니다.문제 및 해결 과정1) 문제 (Enum의 모든 값 순회 및 초기화..

내일배움캠프 2025.02.11

내일배움캠프 Unity - TIL : 25.02.10

오늘 학습한 내용1) Git Merge 충돌 해결오늘 dev 브랜치를 현재 작업 중인 브랜치로 머지하는 과정에서 충돌이 발생하였습니다.아래의 두가지 옵션을 통해 충돌 해결을 할 수 있었지만 처음 겪어보는 상황이라 정확히 어떤 옵션을 선택해야하는지 잘 몰랐습니다."Use the modified file from Csj-dungeonResult"현재 브랜치에서 수정된 파일 버전을 적용하여 충돌을 해결하는 옵션입니다."Do not include this file on dev"dev 브랜치의 해당 파일을 포함시키지 않고, 현재 작업 중인 브랜치의 파일 상태를 유지하는 옵션입니다.이 경험을 통해 Git Merge 충돌 해결 과정과 각 옵션의 의미를 명확하게 이해할 수 있게 되었습니다.문제 및 해결 과정1) 문제 ..

내일배움캠프 2025.02.10

내일배움캠프 Unity - TIL : 25.02.07

오늘 학습한 내용1) 개인과제 피드백 매니저 인스턴스 남발 문제제출한 개인과제에서 매니저 인스턴스를 과도하게 생성한 부분에 대해 피드백을 받았습니다. 이를 통해 인스턴스 관리의 중요성과 자원의 효율적인 활용에 대해 다시 한 번 고민하게 되었습니다. 시트 데이터 파싱시트로부터 받은 데이터를 직접 파싱하여 클래스에 맞게 데이터를 구성하는 방식이 좋았지만, 모든 클래스를 위해 개별적으로 파싱 코드를 구현해야 하는 점이 상당히 번거롭고 복잡하다는 의견이 있었습니다. 이를 위해 JSON으로 파싱을 처리하면, 코드가 더 깔끔해지고 유지보수가 용이할 수 있다는 피드백을 받았습니다. 2) 디버깅 방법 조사식 작업 실행창 활용디버깅 시 조사식 작업 실행창을 활용하여, 코드 실행 중 변수나 상태를 실시간으로 확인할 수 있..

내일배움캠프 2025.02.07

내일배움캠프 Unity - TIL : 25.02.06

오늘의 경험 및 배운 점깃의 다양한 기능 활용체리픽, 언두, 브랜치 관리 등의 깃 기능들을 직접 사용해 보면서 실시간으로 발생할 수 있는 오류나 충돌을 미연에 방지할 수 있다는 점이 인상 깊었습니다. 팀 프로젝트 준비와 컨벤션 설정전체 프로젝트 구조를 설계하고 코드 및 깃 사용 규칙을 미리 정하는 과정에서 협업의 기초가 얼마나 중요한지 다시 느꼈습니다. 이 과정은 단순히 프로젝트의 기술적인 측면뿐만 아니라, 팀원 간의 소통과 협력의 기반을 마련하는 중요한 단계라는 생각이 들었습니다. 느낀 점 및 생각오늘 배운 모든 내용이 단순한 기술적 지식에 그치지 않고 실제 협업 환경에서의 생산성과 효율성을 크게 높여준다는 점이 인상적이었습니다.앞으로도 이러한 규칙과 도구들을 잘 활용하여, 팀 프로젝트를 진행할 때마다..

내일배움캠프 2025.02.06

내일배움캠프 Unity - TIL : 25.02.05

오늘 학습한 내용1) Task를 활용한 유니티의 Update() 구현 Unity의 Update() 메서드와 같이 주기적으로 실행되는 기능을 콘솔에서 Task를 사용하여 비동기적으로 구현하는 방법을 학습했습니다.문제 및 해결 과정1) 문제 (Task를 활용 Update() 구현)C# 콘솔 환경에는 Unity의 Update() 메서드처럼 주기적으로 실행되는 기능이 없어, 편리하게 작업할 수 있는 업데이트 기능이 부족했습니다.  시도한 해결 방법비동기 Task와 무한 while 루프, Task.Delay(500)를 사용하여 C# 콘솔에서 주기적 업데이트 기능을 구현하고, 조건문을 통해 키 입력에 따른 분기를 추가하였습니다. 결과 콘솔에서도 Unity의 Update()와 유사한 주기적 작업 처리가 가능함을 확인..

내일배움캠프 2025.02.05

내일배움캠프 Unity - TIL : 25.02.04

오늘 학습한 내용1) Trim()을 활용한 구글 스프레드시트 데이터 처리 코드 개선스프레드시트에서 데이터를 받을 때 값이 공백이거나, 앞뒤에 불필요한 공백이 포함될 가능성이 있습니다. Trim()을 활용하여 혹시 모를 앞뒤 공백을 제거하여 데이터의 정합성을 유지하도록 개선했습니다. 2)  string.IsNullOrEmpty()를 활용한 사용자 입력값 검증 사용자 입력값이 null 또는 빈 문자열인 경우 예외가 발생할 가능성이 있습니다. string.IsNullOrEmpty()를 활용하여 입력값을 먼저 검사한 후 Trim()을 적용하는 방식으로 수정하여 오류를 최소화했습니다. 문제 및 해결 과정1) 문제 (Trim() 구글 스프레드시트)구글 스프레드시트에서 데이터를 불러왔을 때, 값 앞뒤에 불필요한 공..

내일배움캠프 2025.02.04

내일배움캠프 Unity - TIL : 25.02.03

오늘 학습한 내용1) 문자열 다듬기 (Trim() 활용) Trim()을 사용하여 문자열의 앞뒤 공백을 제거하는 방법을 학습하였습니다.TrimStart(), TrimEnd()를 활용하여 특정 방향의 공백만 제거할 수 있는 기능 또한 확인하였습니다.2) 얕은 복사 (MemberwiseClone()) MemberwiseClone()을 사용하면 객체의 얕은 복사가 이루어진다는 점을 학습하였습니다.깊은 복사가 필요한 경우 별도의 후처리가 필요함을 확인하였습니다.문제 및 해결 과정1) 문제 (문자열 공백 제거 (Trim()))사용자 입력값을 Trim()으로 다듬었으나, null 값이 들어왔을 때 예외가 발생하는 문제가 있었습니다. 시도한 해결 방법string.IsNullOrEmpty() 메서드를 활용하여 null ..

내일배움캠프 2025.02.03

내일배움캠프 Unity - TIL : 25.01.31

오늘 학습한 내용1) 문자열 정렬 및 출력 형식 지정 (PadRight, 서식 문자열 사용법)PadRight(너비값)를 활용하여 문자열의 길이를 일정하게 맞추어 출력하는 방법을 학습하였습니다.또한 {텍스트, -+숫자}와 같은 서식 지정자를 사용하여 값을 정렬하고, 가독성을 높이는 방법을 익혔습니다.   2) 추상 클래스(JSON 직렬화 문제 해결) 추상 클래스를 JSON에 저장하려고 시도했으나 직렬화 과정에서 오류가 발생하였습니다.이는 JSON 직렬화 시 추상 클래스는 직접 인스턴스화할 수 없기 때문에 생기는 문제임을 확인하였습니다.  문제 및 해결 과정1) 문제 (문자열 정렬 및 출력 형식 지정)PadRight 또는 서식 지정자를 사용하지 않으면 텍스트 출력 내용의 길이가 달라져 정렬이 흐트러짐을 확인..

내일배움캠프 2025.01.31

내일배움캠프 Unity - TIL : 25.01.29

오늘 학습한 내용네임스페이스의 존재 이유 및 쓰임새네임스페이스는 클래스, 인터페이스, 메서드 등의 이름 충돌을 방지하고 코드의 구조를 논리적으로 조직화하는 데 활용됩니다. 또한, 동일한 이름을 가진 클래스가 여러 개 존재할 수 있도록 함으로써 대규모 프로젝트에서도 효율적인 관리가 가능하도록 도와줍니다.문제 및 해결 과정문제 (네임스페이스의 존재 이유 및 쓰임새)네임스페이스의 필요성과 사용법을 정확히 이해하지 못해 프로젝트 구조 설계에 어려움을 겪었으며, 적절하게 나누지 못해 코드의 가독성이 저하되는 문제가 발생했습니다.   시도한 해결 방법프로젝트의 규모가 커질수록 기능별로 네임스페이스를 나누는 것이 필요하다는 점을 이해하게 되었습니다. 결과네임스페이스를 언제, 어떻게 활용해야 하는지에 대한 개념을 정리..

내일배움캠프 2025.01.30

내일배움캠프 Unity - TIL : 25.01.27

오늘 학습한 내용 (C# 기본 기능 복습)1) 자동완성 사용법 코드 작성 시 Ctrl + Space를 눌러 자동완성 기능을 다시 활성화하는 방법을 복습했습니다. 2) Console.WriteLine과 Console.Write의 차이점Console.WriteLine: 출력 후 줄바꿈을 자동으로 처리합니다.Console.Write: 출력 후 줄바꿈 없이 같은 줄에 이어서 출력됩니다. 3) 이스케이프 시퀀스 (Escape Sequence)문자열 내에서 특수 문자를 포함하기 위한 방법으로, 예를 들어 \n(줄바꿈), \t(탭) 등이 있습니다.예시를 통해 다양한 이스케이프 시퀀스를 복습하고, 문자열 처리에 유용하다는 점을 다시 확인했습니다. 4) 리터럴(Literal) 개념 코드에서 값 자체를 표현하는 방법으로,..

내일배움캠프 2025.01.27
728x90