[윈터데브캠프] 드디어 쓰는 2022윈터데브캠프 후기
·
PROJECT
처음 시작할때 글을 쓰지 않았지만, 벌써 후기를 적는다. 제일 최근일이기때문에 생생할때 먼저 적을려구하고, 처음부터 일들은 차근차근 적어나갈 예정! ​ 최종발표는 수료식 전날, 23일에 진행하였다. 이렇게 시간표만 받았을땐, 다들 피드백시간이 있는데 왜 우리는 휴게시간이지?? 😥 하면서 팀원들과 피드백을 우린 못받는건가?? 싶었는데 그냥 한팀한팀 끝날때마다 피드백 해주셨다. ​ 따로 스터디카페 사진이 없어서 당시에 회의하면서 찍은 화이트보드 최종발표를 위해서 10일부터인가 2월중순부터 계속 오전10시~오후10시까지 스터디카페에 모여서 프로젝트를 진행했다. 각자 맡은 역할을 다 끝내고 이제는 백엔드와 클라이언트 연결만 하면 되기에! ​ ㅠㅠㅠ 하지만 너무 힘들었다. 연결하는 과정에서 발견되는 버그들도 많았..
[C#] null을 비교하기위한 여정3, ==과 is 그리고 Equals(,) 속도
·
STUDY/유니티
null 체크를 하기위해서 다양한 방법들을 알아보았습니다. 그러던 중 신기한 것을 발견하였죠. 바로 같은역할을 하는 친구들이 모두 속도가 다르단 것입니다! is, Equals ,== (ReferenceEquals의 경우에는 is와 속도가 거의 같아서 is로 대체하였습니다.) 테스트코드 테스트 코드 void Start() { Stopwatch sw = new Stopwatch(); sw.Start(); Test test1= TestClass1; for (int i=0;i Equals(object,null) > object == null 이렇게 결론이 나게됩니다. 자세한 함수의 코드는 잘 모르지만 나와있는 문서의 정보라던가 사람들의 이야기를 들어보고 정리한 결과, 해당 함수가 어떤 기능을 수행하는지를 알게되..
[C#] null을 비교하기위한 여정2, is 와 FakeNull
·
STUDY/유니티
이전에 null 비교를 위한 연산으로 ==와 Equals를 보던 중 같은 기능을 수행하는 is라는 연산자를 발견하였습니다. 그럼 is란 무엇인가? 여기서 is란? 연산자로써 C#7 이전에는 객체의 타입을 체크하는 용도로 쓰였지만, C#7 이후부터는 패턴으로써 사용할 수 있게되었습니다. 패턴은 크게 상수패턴/ 타입패턴 / var 패턴으로 나뉘어져있고 여기서 이번 게시물과 밀접한 관련이 있는 패턴은 상수패턴입니다. 상수패턴은 특정 상수값을 사용해 패턴을 체크함으로써 ==과 같은 기능을 합니다. (instance is null 과 instance==null은 같게 결과가 나옴.. 처럼 보이지만 내막이 있는데...) 하지만 기능이 같다고 아예 같다란 것은 아닙니다. 제가 본 글들은 is가 ==보다 속도면에서 우..
[C#] null을 비교하기위한 여정1, ==와 Equals()
·
STUDY/유니티
if (instance == null) { instance = this; } else if (instance != this) Destroy(gameObject); 싱글톤 코드를 작성하면서 들었던 의문이 있었습니다. ==대신에 Equals()를 써서 null인지를 체크할 수는 없을까? Equals로 인한 비교는 총 두가지 방법이 있습니다. 매개변수를 1개 쓰는것과 2개쓰는것 신기하게도 instance.Equals(null)를 쓰면 에러가 뜨지만 Equals(instance,null)을 쓰면 에러가 뜨지 않았습니다. 이유는 일단 instance는 null인 상태입니다. 그리고 그 null인 instance를 참조할려고하니 NullReferenceException 오류가 뜨는건 당연했죠. 하지만 instanc..