# Csharp
직렬화(Serialization)
네트워크를 공부하기 위해 자료를 조사하던 와중, 직렬화가 자주 언급되는것을 파악하였다. 평소에도 직렬화라는 단어는 많이 들었지만 정확한 의미와 사용하는 이유를 이해하지 못하였기에 이번기회에 확실하게 이해하고자 학습하게 되었다.직렬화란, 프로그램에서 변수에 저장된 데이터
[Revit API]01-7_C#Basic_객체지향-02
이전시간에 기본적으로 객체를 정의하는 방법에 대해 알아보았습니다. 다만 기존에 작성한 코드는 아래와 같은 문제들이 있었습니다. 상판 유형을 사용자가 임의로 아무값이나 넣을 수 있습니다. 가격정보를 미리 정해두는게 아니라 책상이 생성될 때 정해집니다. 책상의 크기에 따라 가격을 계산해주는 부분이 없어 (예를들어 폭 200당 얼마 등) 가격을 규칙성 있게 정...

WPF Application이 종료되지 않는 증상
WPF Applicatino이 Thread 문제가 아닌 잔여 Window 문제로 인해 종료되지 않는 증상에 대한 포스팅
C# 5주차 - 시간복잡도와 공간복잡도
시간복잡도시간 복잡도란 알고리즘이 문제를 해결하는데 걸리는 시간을 나타내는 척도입니다.코드의 실행 시간을 실제 시간(초)으로 측정하는 것이 아니라, 입력 크기에 대한 "연산 횟수" 로 측정합니다.Big-O 표기법을 사용하여 표시함예제1위 예제에서 for 루프문이 0부터
[C#] 자릿수 구하기 알고리즘
자릿수 더하는 알고리즘을 오랫만에 풀어보니 너무 코드가 길어지고 "이게 맞나..?" 싶은 코드가 작성되었다.최적화 된 코드가 너무 궁굼해서 찾아봤다. 너무도 깔끔하게 작성된 코드에 감명깊었다.큰 그림으로 보면 숫자를 계속 토막내듯이 자릿수를 줄이면서1의 자릿수를 더하기

[TIL] Magic Number, Hard Coding - day 90
오늘은 매직 넘버 제거와 하드 코딩된 문자열을 보수하는 작업을 진행했다. 코드의 가독성과 유지보수성을 저해하는 요소가 되었다. 진행하고 있는 프로젝트에서 예시를 간단하게 들어보자.아래 코드는 UI 경로를 문자열로 하드 코딩했다. 이는 유지보수성과 재사용성을 저해하는 문
C# 문법 5주차- 알고리즘과 표기법
알고리즘알고리즘은 문제를 해결하기 위한 명확한 절차나 방법입니다.알고리즘은 입력을 받아 원하는 출력을 생성하기 위한 절차입니다.알고리즘은 입력, 출력, 명확한 단계, 실행 가능성의 특성을 갖습니다.알고리즘은 주어진 입력에 대해 정확하고 일관된 결과를 제공해야 합니다.알

[TIL] Unity - AES, Base64 - day 89
플레이어의 게임 데이터를 저장하기 위해 JSON을 이용할 예정이다.이때 고려할 점으로 플레이어 데이터를 조작하는 상황을 방지하기 위해 암호화 알고리즘을 어떻게 적용할지 고민해봤다.AES (Advanced Encryption Standard) 알고리즘을 사용하여 데이터
C# 문법 4주차- 델리게이트, 람다 및 LINQ
델리케이트델리게이트(delegate)는 메서드를 참조하는 타입입니다.다른 프로그래밍 언어에서는 함수 포인터라는 용어를 사용하기도 합니다.델리게이트를 이용하면 메서드를 매개변수로 전달하거나 변수에 할당할 수 있습니다.람다람다(lambda)는 익명 메서드를 만드는 방법입니
C# 문법 4주차-예외 처리 및 값형, 참조형
예외처리 예외 처리는 예외 상황에 대비하여 프로그램을 안정적으로 유지하는 데 도움을 줍니다.예외 처리를 통해 오류 상황을 적절히 처리하고, 프로그램의 실행을 계속할 수 있습니다.예외 처리는 프로그램의 안정성을 높이고 디버깅을 용이하게 합니다.값형값형은 변수에 값을 직접
백준 코딩테스트 1004번(C#)
이번에는 어린왕자 문제보아하니 출발점'만' 혹은 도착점'만' 원 내부에 포함되어야 하는 것이 핵심인 것 같다.그래서 다음과 같이 코드를 작성하였다.사실 using math인가 활용하면 코드가 더 깔끔한 걸로 아는데, 찾아보는 것이 조금 귀찮았다.처음에 d1 > r3 &
백준 코딩테스트 1003번(C#)
생성자 만들고 함수 호출하고, 변수 호출하는게 아직은 익숙하지 않은 것 같다.아무튼 각설하고 이번에는 피보나치 함수 문제인데,첫 번째 코드는 다른 클래스를 만들고 변수 및 함수를 만들어 작성하였다.결과는 시간 초과로 실패였다. 규칙성을 이용해야한다고 한다. 하면 할 수
백준 코딩테스트 1000번(C#)
백준의 코딩테스트는 뭔가 허허벌판에서 시작하는 느낌이었다.입력값을 띄어쓰기로 구분해서 더 어려웠던 것 같다.처음에는 이렇게 입력을 했다.당연히 틀렸다.처음에는 형변환을 하지않아 틀린줄 알았다.그 다음에는 Main 메소드를 쓰지 않아 틀린 줄 알았다.다음에는 클래스가 없

[MMO 컨텐츠 구현] 3. Job: Job Serializer & Job Timer
JobSerializer에 등록할 함수를 캡슐화한 클래스이다.실행할 함수와 매개변수를 관리한다.JobTimer에 등록할 Job을 캡슐화한 구조체이다.Job과 실행 시간을 관리한다.예약된 Job을 JobTimerElem로 변환하여 관리한다.예약 실행 시간이 된 Job을