목록분류 전체보기 (253)
bdfgdfg
웹,게임 서버 이 두 서버의 근본적인 차이는 웹의 경우 클라의 요청(REQ)이 있어야 응답(Response)이 있지만, 게임 서버의 경우 클라의 요청이 없더라도 자체적으로 연결된 액터들의 상태를 체크하며 변화가 발생될 경우 서버에서 직접 클라에게 어떠한 명령을 내릴 수 있다. - 이래서 웹 서버의 경우 Stateless, 게임 서버의 경우 Stateful 서버라고 한다. - 웹 서버라해서. 게임서버라해서 네트워크 계층(응용계층을 제외)레이어에서 다르게 동작한다는 것은 아님. 웹 서버는 보통 하나의 프레임 워크를 선택해서 개발하는 경우가 많기에 여기선 ASP.NET을 통해 공부를 할 예정.
Linq는 마치 SQL문법처럼 사용가능한 문법. 코드를 여러 단계에 걸쳐서 작성해야할 것을 한줄로 표현가능한 등 굉장히 편리한 이점이 있다. 최근에 List 컬렉션의 요소에 중복된 요소가 있고. 해당 각 중복된 요소의 수를 구해 중복된 수가 높은 요소를 N개만큼 뽑아와야 하는일이 존재했다. 물론 좀 더 처리해야 할 로직은 존재했지만 중요한건 이것이었음. 여기서 Groupby 문법(간단하게 그룹화,중복제거라고 보면된다)을 쓰면 깔끔하게 처리가 가능. class Program { static void Main(string[] args) { var lstOverlappedElementInList = new List() { 1, 1, 3, 3, 3, 5, 9, 9, 15, 15, 15, 15, 4, 4, 50,..
가장 중요한 개념이 있다. 인덱스는 여러개의 칼럼에 설정할 수 있다. 단일 인덱스를 여러개 생성할 수 있고, 여러 칼럼을 묶은 복합 인덱스를 설정할 수도 있다. 다만 인덱스는 디비의 메모리를 사용하여 테이블 형태로 저장하므로 개수와 저장되는 공간은 비례하기에 where절에 자주 사용되며 고유한 값 위주로 인덱스를 설정하는게 옳다. select * INTO TestTable2 FROM [Order Details] -- NorthWind db의 테이블 -- 복합 인덱스 추가 CREATE INDEX INDEX_TESTINDEX ON TestTable2(OrderID,ProductID); -- 두 칼럼을 대상으로 인덱스를 걸음. 결론만 말하면 두 칼럼을 대상으로 인덱스가 걸려있을 때 where절을 통해 각 칼럼..
트랜잭션 트랜잭션은 간단히 말하면 여러가지 액션(여기서는 SQL)을 원자성으로 처리한다는 의미이다. 게임을 예로들면 특히 거래소같은 시스템을 예로들 수 있다. 1. A계정이 거래소에 물건을 가격과 함께 등록. 거래소 테이블에는 해당 물건이 등록되었음. 2. B계정이 해당 물건을 구매. 거래소 테이블에 일치하는 행의 정보를 가져옴. (없다면 Fail) 3. B계정이 해당 물품을 올바르게 구매할 수 있다는 조건이 확인되면 해당 아이템을 구매. B 계정의 인벤토리와 관련된 테이블에 해당 물품 추가. 4. A계정에는 물품을 등록한 판매금을 지급. A계정의 인벤토리와 관련된 테이블에 재화를 추가하거나 업데이트. 5. 거래소 테이블에는 해당 물품의 행(Row)을 삭제 간단하게 설명하려고 해도 여러가지 액션이 일어난..