분류 전체보기 504

[Mssql] 집계함수 - COUNT, DISTINCT, SUM, AVG, MIN, MAX

COUNT NULL 데이터가들어가 있으면 무시한고 집계한다. 집계함수에서 (*)할 수 있는 유일한 함수 SELECT COUNT(*) AS PLAYERCOUNT FROM PLAYERS; DISTINCT(중복제거) SELECT DISTINCT birthCity FROM PLAYERS; DISTINCT와 COUNT 함께사용 할 때 아래와 같이 사용하면 COUNT가 우선 순위기 때문에 DISTINCT 적용 안됨. SELECT DISTINCT COUNT(birthCity) FROM PLAYERS; 아래와 같이 해결 해야 된다. SELECT COUNT(DISTINCT birthCity) FROM PLAYERS; AVG SELECT AVG(CASE WHEN weight IS NULL THEN 0 ELSE weight..

DB/Mssql 2022.11.04

[C#서버][방법] 배치(bat)파일 사용 방법 Main(string[] args) args 인자 값 만들기

bat파일 만드는 방법 새로 만들기 -> 메모장 생성 -> 확장자명 .bat로 변경 1. START명령어를 사용하여 exe 실행 자동화 2. exe뒤에 ../../.......은 Main(string[] args) args의 인자값을 생성하는 부분 3. XCOPY /Y GenPackets.cs "../../DummyClient/Packet" XCOPY - 파일을 복사하여 다른 폴더에 저장하기 위해사용 /Y - 이미 파일이 존재한다면 덮어쓰기 protoc.exe -I=./ --csharp_out=./ ./Protocol.proto IF ERRORLEVEL 1 PAUSE START ../../../Server/PacketGenerator/bin/PacketGenerator.exe ./Protocol.prot..

VisualStudio/C# 2022.11.01

[C#서버] 빌드 경로 AppendTargetFrameworkToOutputPath

AppendTargetFrameworkToOutputPath AppendTargetFrameworkToOutputPath 속성은 TFM(대상 프레임워크 모니커)을 출력 경로(OutputPath에 정의)에 추가할지 여부를 제어합니다. .NET SDK는 대상 프레임워크와 런타임 식별자(있는 경우)를 출력 경로에 자동으로 추가합니다. AppendTargetFrameworkToOutputPath를 false로 설정하면 TFM이 출력 경로에 추가되지 않습니다. 그러나 출력 경로에 TFM이 없으면 여러 빌드 아티팩트가 서로 덮어쓸 수 있습니다. 예를 들어 .NET 5 앱에서 다음과 같이 설정하면 출력 경로가 bin\Debug\net5.0에서 bin\Debug로 변경됩니다. XML복사 false 출처 - https:..

[C#서비][방법] Packet자동화 xml파일 읽는 법

static void Main(string[] args) { XmlReaderSettings settings = new XmlReaderSettings() { IgnoreComments = true,//주석무시 IgnoreWhitespace = true//스페이스바 무시 }; using (XmlReader r = XmlReader.Create("PDL.xml", settings)) { r.MoveToContent();//xml에 존재하는 헤더를 건너 뛴다. while (r.Read()) { if (r.Depth == 1 && r.NodeType == XmlNodeType.Element)//XmlNodeType.Element은 xml의 처음 시작 변수의미 마지막 닫을 때는 필요 없기 때문. Console...

[C#서버][방법] BitConverter 사용법 - ArraySegment<byte>, Span, Slice

BitConverter BitConverter란 기본 데이터 형식을 바이트의 배열로, 바이트의 배열을 기본 데이터 형식으로 변환해주는 클래스이다. 배열에 데이터를 읽어온 후 배열에 담긴 데이터를 어떻게 기본 자료형으로 변환하는데 유용하다. Bitconverter.GetBytes(문자열) - 문자열 -> 배열 Bitconverter.ToUInt16(읽을배열, 읽을위치) - 배열특정위치 -> 문자열 (ushort일때 2바이트 추출) BitConverter.ToUInt16( new ReadOnlySpan()) - new ReadOnlySpan사용 하기 읽기전용, 안전성확보 excption public class Packet { public ushort size; public ushort packetId; } ..