분류 전체보기

Programming/C# & Unity

C# 4.0 쓸만한 기능

세미나하면서 알게된 기능 두개. 쓸만해보여서 기록함. 1. 함수 파라미터에 콜론 (선택적 인수) (https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/classes-and-structs/named-and-optional-arguments) 선택적 인수는 항상 끝에 나열되기 때문에, 새로운 인수를 추가하는 과정이 매우 번거롭다. 그리고 선택적 인수가 여러개 있을 때, 한개의 값만 넣으려고 하면 C++은 매우 불편했다.. static void Main( string[] args ) { List lstInteger = new List(); PrintTypeOfC( 1, null, lstInteger ); // 이렇게 중간에 선택적 인자에 값을 넣..

Day Life

신입 게임 서버 프로그래머 포트폴리오

그렇게 대단한 포트폴리오는 아니지만, 다른 게임 서버 프로그래머 지망생 분에게 도움이 될 수 있다면 좋을 것 같아서 포스팅한다. 신입 시절에 어디 찾아볼 곳이 없어서 맨땅에서 작성하였는데 너무 힘들었던 기억이 난다.

Programming/C# & Unity

C# 비동기 루프 및 실행

개요 .Net C#에서 지원해주는 *Awesome* 한 비동기 기능에 대해서 간단히 기록하려고 게시글을 작성합니다. 정확히는 Parallel 클래스에 관련된 함수들을 소개합니다. Parallel 클래스 간단하게 비동기 작업을 수행할 수 있도록 도와주는 클래스입니다. Task나 Action, Thread 같은 것들을 직접적으로 만들 필요 없이 기존에 사용하던 Loop나 함수처럼 간단히 사용할 수 있습니다!! Parallel.For (비동기 루프) 루프를 여러 스레드로 나누어 수행하도록 합니다. // iToPage까지의 게시글 내용을 하나하나 긁어오는 함수. List GetBoardContents( int iToPage_ ) { List lstResult = new List(); for ( int iPage..

Programming/C# & Unity

C# ThreadLocal

개요 스레드 별로 독립적임을 보장해주는 자원을 만드는 템플릿 클래스이다. 아래 예를 보면 금방 이해가 될 듯. 예1 - 기본 사용법 // 쓰레드별로 서로 다른 Counter를 갖는 싱글턴 클래스 public class ThreadLocalClass : Singleton { // 글로벌 카운터 private static Int32 _iCounter = 0; // 쓰레드 전용 카운터 private ThreadLocal _iLocalCounter = new ThreadLocal( () => { return Interlocked.Increment( ref _iCounter ); } ); public bool Init() { return true; } // 쓰레드 전용 카운터 출력 public void Print..

Programming/C# & Unity

C# ?. ?? 연산자

개요 ?. ?? 모양부터 ??하게 만드는 연산자. 무슨 연산자인지 살펴보자. ?. 연산자 ?. 연산자는 [ Null이 아니라면 참조하고, Null이라면 Null로 처리 ]하라는 뜻이다. class CClass { public List lstNumber = new List();; }; static void Main( string[] args ) { CClass newClass = new CClass(); Console.WriteLine( newClass?.lstNumber ); // List 정보가 출력됨. CClass nullClass = null; Console.WriteLine( nullClass?.lstNumber ); // 아무것도 출력되지 않음. (null) } 아래의 CClass의 경우에는 멤..

Programming

C# Tuple

개요 Tuple이라는 기능은 비단 C#에서만 사용하는 기능이 아니고 C++, 파이썬등 여러 프로그래밍 언어에서 자체 지원해줄만큼 강력한 기능이다. 이 기능이 무엇이며 언제 써야하는지 간단히 적어보았다. 필요성 먼저 아래와 같은 함수가 있다고 가정해보자. CResult Func(int a_, int b_, int c_) { CResult result = new CResult(); result.a = a_; result.b = b_; result.c = c_; return result; } 매개변수를 토대로 어떤 클래스를 만들어 뱉어주는 함수이다. 여기서 인자에 제한이 생겼다! 0이하의 값은 받지 않도록 수정해보았다. CResult Func(int a_, int b_, int c_) { // 0이하의 값이 ..

졸업 작품

졸업작품 2학기 발표 영상

방학때 취업해버려서 서버에서 크게 바뀐 부분은 없음.. 튜토리얼 하면서 약간 연동이 들어간 부분 정도.. 근데 팀원 친구들이 열심히 해줘서 1학기 보다 조금 더 완성된 모습으로 보인다...

Programming/MSSQL

MSSQL order by 1

select * from TABLE order by 1; -> 1번 칼럼의 순서로 정렬 select * from TABLE order by 1 desc; order by 2를 하면 2번 칼럼의 순서로 정렬 할 수 있다.

Day Life

합격!

[신입 서버 프로그래머]로 취업에 성공했다. 아는 게 정말 별로 없고 부족한 나지만, 오래전부터 좋아했던 게임의 라이브 서비스팀으로 들어가게 돼서 너무 기쁘다. 쓸모 있는 서버 프로그래머가 되기 위해서 여기서 열심히 배우고 노력해야겠다. XD

졸업 작품/서버

Boost Strand 사용

이 포스팅은 위의 두 주소에서 Strand를 공부하고 사용해본 기록이다. strand? : http://blog.naver.com/PostView.nhn?blogId=njh0602&logNo=220715956896&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView [boost.asio] strand는 어떻게 동작하고 왜 사용해야 하는가? How strands work and why you should use themIf you ever used Boost Asio, certainly you used or a... blog.naver.com strand 직접 사용 : https://chipmaker.tistory.c..

장형이
'분류 전체보기' 카테고리의 글 목록 (5 Page)