본문 바로가기

전체 글490

C# 네이밍 규칙에 대해서 네이밍 종류 카멜 케이스 (Camel case) camelCase 파스칼 케이스 (Pascal case) PascalCase class, record, struct의 이름을 명명할 때 사용된다. 케밥 케이스 (Kebab case) kebab-case 스네이크 케이스 (Snake case) snake_case 정리 보통 코딩 컨벤션에 명시되기 때문에 알아두면 도움이 된다. C# 코딩 규칙 | 마이크로소프트 런 (microsoft.com) 지금 프로젝트의 명명법이 일관되게 적용되고 있는지 생각해보자. 아니면 미래에 프로젝트 시작 시에 어떤 명명법을 사용할지도 생각해 보자 2023. 3. 15.
C# Ceiling(), Floor(), Round(), Truncate() 올림 내림 반올림 버림 어림 함수들 올림, 내림, 반올림, 버림 등등 매번 볼때마다 헷갈린다. 이번 기회에 정리해봤습니다. 함수명 기능 설명 Ceiling() 올림 + 양의 방향으로 올린다. Ceiling(1.2); // 2 Ceiling(-1.7); // -1 Floor() 내림 - 음의 방향으로 내린다. Floor(1.2); // 1 Floor(-1.7); // -2 Round() 반올림 0,1,2,3,4 버림 5,6,7,8,9 올림 Round(1.2); // 1 Round(-1.7); // -2 Truncate() 버림 무조건 버림 Truncate(1.2); // 1 Truncate(-1.7); // -1 정리해봤는데 여전히 헷갈립니다만 여러번 반복해서 보는 것이 중요할 거같습니다. 2023. 3. 14.
C# 대리자(Delegate)에 대해서 대리자(Delegate)란? 특정 매개 변수 목록과 반환 형식이 있는 매서드에 대한 참조를 나타내는 형식 대리자를 인스턴스화할 때 호환되는 매개변수 및 반환 형식을 가지는 모든 메서드와 연결할 수 있다. 대리자(Delegate)의 속성 대리자는 C++ 함수 포인터와 유사하지만 C++ 함수 포인터와 달리 멤버 함수에 대해 완전히 객체 지향이다. delegate는 인스턴스 및 메서드를 모두 캡슐화한다. 대리자를 통해 메서드를 매개 변수로 전달할 수 있다. 대리자를 사용하여 콜백 메서드를 정의할 수 있다. 여러 대리자를 연결할 수 있다. 예를 들어 단일 이벤트에 대해 여러 메서드를 호출 할 수 있따. 메서드는 대리자 형식과 정확히 일치하지 않아도 된다. 자세한 내용은 대리자의 가변성 사용을 참조 람다 식은 인.. 2023. 3. 13.
Elo를 적용해서 레이팅 포인트 계산하는 예제 예상 승률을 계산하는 공식 여기서 400은 매직 넘버로 각자의 상황에 따라서 조절이 가능한 값이다. 보통 K 상수라고 불리운다. LiveRating을 계산하는 공식 예시 코드 double myK = 400; // 매직 넘버 K 상수 double e = (oppositeScore - myScore) / myK; double winRate = 1 / (Math.Pow(10, e) + 1); var winRateMin = 0.0; var winRateMax = 0.0; // winRate 최소값이 0.0이 아니면 최소값으로 보정해준다 if (winRateMin != 0.0) { winRate = Math.Max(winRateMin, winRate); } // winRate 최대값이 0.0이 아니면 최대값으로 .. 2023. 3. 13.
[PostgreSQL] 테이블, 컬럼 이름으로 대문자를 사용하지 말고 소문자를 써라 NamesLikeThis를 사용하지 말고 names_like_this 이렇게 사용하라. Why Not? PostgreSQL 은 tables, columns, functions등 모든 이름을 소문자로 바꿔버린다. create table Foo() 구문은 테이블을 foo로 생성한다, 반면 create table "Bar"() 은 Bar로 생성한다. 이는 엄연히 다른 결과를 유발한다. 유효한 구문 : select * from Foo, select * from foo, select * from "Bar". 유효하지 않은 구문 : select * from "Foo", select * from Bar, select * from bar. 대문자를 사용하기 시작하면 커맨드창에서 select 입력시나 update시 매우.. 2023. 3. 10.
메모리 주소(Memory Address)에 대해서 32bit, 64bit 운영체제 운영체제에 따라 표현할 수 있는 주소범위가 다르다. 데이터 처리 단위도 다르다. 데이터 처리 단위는 워드라고 부른다. 워드 (컴퓨팅) - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 232 = 4,294,967,296(약 43억) 264 = 18,446,744,073,709,551,616 (약 1844경) 왜 메모리 한 칸은 1byte인가? 영어 대소문자 52자, 숫자 0~9, 제어문자(ctrl, alt, enter, space, NUL(문자열의 끝), BEL(비프음)), 특수문자 등을 표현하는데 8bit, 1바이트면 충분하다. 즉 유의미한 정보를 나타내려면 적어도 1바이트 필요 메모리 한 칸은 1byte의 크기를 갖고 이를 가지키는 주소값은 32bit 운.. 2023. 3. 8.