-
2024년 4월 23일 스파르타캠프 TIL공부 기록 2024. 4. 23. 21:53
List 에 대해서
2주차 숙제를 하던 중에 9가지의 숫자 중 선택이 된 건 다시 고르지 않게 하기를 구현 하다가 list에 대해 좀 더 자세히 알게 되었다.
List<int> list = new List<int>();
list.Add(1)
list.Add(2)
list.Add(3)
,,,,,,
,,,
,,
이렇게 작성 할 경우에
List<int list = [1,2,3,4,5,6,......];
이렇게 생략 하여 작성 할 수 있다.
그리고 Count를 사용 하여 몇 개의 인덱스를 갖고 있는지 확인 할 수 있고, 이걸 응용 해서 리스트 목록 중에 랜덤한 목록을 선택 하게 할 수도 있다.
Random.Next(0, list.Count); < 여기서 0이랑 , 는 생략 할 수 있다. / 0이란 숫자는 C# 코드를 작성 하면서 생략 할 수 있다.
인덱스는 배열의 집 같은 거고, 인덱스 안에 숫자, 값, 레터럴이 들어 있는 거다. 포함 되어 있는 거다.
Remove() 는 인덱스 중에 같은 값을 가지는 것을 삭제 하는 것이고 RemovAt()은 괄호 안에 들어간 값에 맞는 인덱스를 삭제 하는 것이다.
랜덤 레인지는 유니티가 제공 하는 기능.
그리고 나는 해쉬셋이란 것과 리스트가 비슷한 줄 알았는데 완전히 다르다고 한다.
List에서 할 수 있는 것은 해쉬셋에서 할 수 없는 등 완전 다르다.
해쉬셋은 중복 되는 값을 자동으로 지워주는 기능이다. 그리고 빠르다.
완전히 중복 되지 않는 값이 들어가는 경우면 사용 해도 된다고 한다.
난 처음에 해쉬셋이 빠르다고 해서 해쉬셋을 사용 하려 했다가 다름을 알게 되었다.
그리고 랜덤넥스트 같은 것을 기준 잡을 때 정수이면 마지막 숫자를 1높게 하라는데, 실수면 상관이 없다는 것인가. 아 실수면 어차피 상관이 없구나.
그리고 코드를 작성 하면서 어떠한 인덱스에 포함 된 값을 활용 해야 할 때 그 값을 변수로써 따로 선언을 해주면 메모리 구조?를 더 최적화 하게 할 수 있고, 하면 좋다.
예를 들면 if(어떤숫자<int[2]) 이런 것을 작성 할 때 배열 인덱스에 저장 돼 있는 값을 변수로 선언 해서 활용 하면 좀 더 최적화를 할 수 있다. 반복문 등을 사용 할 때는 신경을 써줘야 할 것 같다.
코드개선에 대해서
애정 하는 튜터님에게 내 숙제를 보여주는 시간을 가졌다. 튜터님께서 재미 있게 반응 해줘서 재미 있는 시간 이었지만 튜터님께서 이렇게 코드를 작성 해라 라는 것과 꿀팁등을 알려줘서 유익한 시간이었다.
튜터님께서는 보자마자 나보고 변수명에 신경을 쓰라고 일러주셨다.
사실 숙제라 아무 의미 없이 적긴 했지만, 너무나 맞는 말이었다.
변수명 자체에 의미를 두어야 한다고 하셨다.
그리고 컨트롤 . 을 누르면 어떠한 코드들에 대해 자동으로 최적화 해주는 코드 개선을 해주는 기능이 있다라는 것도 알려주셨다.
내가 Lsit 목록을 한 10줄 만들어 놓은 거 보시고 알려주셨다. 사용 해보니 한 줄로 깔끔하게 정리 되었다.
그리고 변수명에 신경을 쓰라고 알려주시면서 되게 효율적인 기능을 알려주셨다. 컨트롤 RR 인데 변수명을 클릭 하고 이 단축키를 실행 하면 그 변수가 사용 된 모든 곳이 선택이 되면서 동시에 변수명을 수정 할 수 있게 해주는 기능 이었다.
신세계를 맛 본 느낌 이였고, 모든 변수명이 한 번에 바뀔 때 짜릿함을 느꼇다 ..
그리고 숫자 같은 것을, 레터럴을 입력 할 때도 신경을 써주면서 넣어 주는 게 좋다고 하셨다.
나는 틱택토 숙제를 하면서 표를 나타낼 때 배열의 들어 있는 정수들에 따라 알맞는 문자를 출력 하게 했고, 숫자가 25면 O(동그라미)를 출력 하게 했다.
이 25에 숫자를 보시면서 고개를 갸우뚱 했다고 하셨다. 차라리 100이나 1000 등 이렇게 적었다면 무슨 생각이 들지 않겠는데 애매하게 25라고 값을 넣어서 이건 뭘까 라고 생각 하게 된다고 한다.
협업에 있어서 동료 개발자분들이 이러한 상황을 겪게 되는 것은 스트레스라고 생각 한다. 앞으로 주의 하면서 작성 해야겠다.
그리고 알려주시면서 enum이란 것도 알려주셨는데 살짝 알려주셨는데 나중에 내가 조금 더 공부 해놓아야 겠다.
간단하게 적어 놓자면, 숫자에 의미를 부여 하는 것이라고 알려 주셨다.
그리고 코드를 쓰다 보면 코드 밑에 초록색 물결밑줄이 생기는데, 주의 하라는 뜻이라고 하셨다. 내가 사용한 ReadLine을 보시면서 초록 밑줄이 보이느냐, 이것을 사용 할 때 여러가지 문제점들, 오류가 생길 수 있다는 것이다. 이 점들을 유의 하면서 코드를 작성 해야 한다고 하셨다.
밑줄이 있는 것들은 앞으로 주의 할 게 무엇인지 확인 하면서 코드를 작성 해야 겠다.
그리고 bool 자료형을 쓸 때에도 변수의 이름도 신경을 쓰면서 작성을 해야 한다.
내가 bool 변수명을 clear로 작성 한 것을 보시고 말씀을 해주신 건데, 내가 clear로 해둔 다음 true로 해두고 반복문에 사용을 하고 있었다.
하지만 이렇게 작성을 하게 된다면 혼동을 줄 수 있다고 하셨다. 아직 클리어가 되지 않았는데 클리어가 true면 안 된다고 하셨다.
꼭 의미가 같게 작성을 해주는 것이 좋다고 하셨다.
더 알려주신 것들도 많았는데 이 정도로 적어야 겠다.
그리고 사실 배우러 가는 마음보다 대화를 하러 가는 마음으로 찾아갔는데 엄청 도움이 많이 되는 시간 이었던 것 같다.
앞으로 내가 작성한 코드들을 보여주러 종종 찾아 뵈러 가야겠다.
잡다한 것
난 사람이 싫다고 하면 그만 해야 하는데 왜 이렇게 강요를 할까. 그 사람에게는 엄청난 스트레스인데, 앞으로 조심하자.
오늘로써 또 눈치가 레벨업 한 것 같다. 조심 하자. 웃는 다고 해서 괜찮은 게 아니다. 싫다고 하면 멈춰라.
동적 할당 : 프로그램이 동작 할 때 할당 받는 것.
TIL 쓸 때 태그 입력 해두면 나중에 정보를 찾을 때 도움이 된다.
요즘 마음이 붕 뜨는 것 같다. 다시 정신 차리고 집중 해서 공부 해야겠다.
무언갈 할 때도 건성으로 하지 말자. 제대로 하자.
'공부 기록' 카테고리의 다른 글
2024년 4월 25일 TIL (1) 2024.04.25 2024년 4월 24일 TIL (0) 2024.04.24 2024년 4월 22일 스파르타캠프 TIL (0) 2024.04.22 2024년 4월 21일 TIL (0) 2024.04.21 2024년 4월 20일 TIL (0) 2024.04.20