44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
게임 개발에서도 ORM을 사용하는 편인가요 ?
요즘 ORM 기술이 핫한거 같은데 게임 개발 업계에서도 ORM이 핫한가요 ?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
트랜잭션에 대해서 질문이 있습니다.
프로그래밍적으로 트랜잭션은 객체를 생성할 때와 객체의 상태를 변경할 때와 객체를 삭제할 때 함께 영향을 받는 것들을 묶어 주라는 걸로 이해하면 되는 걸까요 ?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
연습 문제 중 3번째 문제에 대해서 질문 있습니다.
강의 중 내주신 문제 중에서 세 번째 문제를 풀고 정답을 맞춰보았는데요. 제가 했던 방법이랑 달라서 이런 방법도 유효한건지 서로 같은 의미인건지 여쭙고 싶어서 질문드립니다. 위쪽이 제가 쓴 내용이고 아래 쪽이 루키즈님이 알려주신 내용입니다. 출력 내용은 동일했습니다. -- 3) 보스턴 팀이 2004 년도에 친 홈런 개수 SELECT SUM(CASE WHEN yearID = 2004 THEN HR END) FROM batting WHERE teamID = 'BOS' -------------------------------------------- SELECT SUM(HR) FROM batting WHERE teamID = 'BOS' AND yearID = 2004
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
선언할 때 AS는 생략가능한가요?
안녕하세요. 위쪽에서는 DECLARE @i AS INT 형태로 선언하셨는데, 테이블 변수는 DECLARE @test TABLE 로 하시더라고요. 그래서 타입이 테이블일 때만 AS를 떼도 되는건지 궁금해서 이것저것 해보니, AS는 있든 없든 동일하게 동작하는 것 같습니다. 이게 SQL server 에서만 그런건지, AS는 원래 없어도 되는건지, 아니면 다른 기능이 있는지 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
메모리와 커버드 인덱스 사용 질문입니다.
1. 메모리 찾으려는 데이터가 메모리에 올라와 있다는 보장이 없다고 하셨는데 그렇다면 반대로 Clustered Index 는 항상 올라와 있는건가요?아니면 불러와야 하지만 불러올 부분을 정확히 알기 때문에 비효율적인 부분없이 처리한다는 의미인가요? 2. 설명을 들어보면 INDEX 설정할 때 WITH 를 거는게 DML 작업에 부하가 적다고 하셨는데 주로 커버드 인덱스를 활용하시는 이유를 알 수 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
클러스터드 인덱스 질문입니다
15:54 부분에서 보면 DBCC IND('Northwind', 'TestOrderDetails', 1); 로 클러스터드 인덱스의 페이지 정보를 얻어왔습니다. 그러면 그 상태에서 page type 이 1 데이터 페이지인 페이지가 있고 2로 인덱스 페이지인 페이지가 있습니다. 이 인덱스 페이지 제 경우는 984 의 페이지 정보입니다. 그럼 여기서 OrderID 가 저희가 지정한 클러스터드 키값인데 OrderID 가 9개 밖에 없지는 않을 테고...10332~10416 에 해당하는 데이터가 944페이지에10416~10503 에 해당하는 데이터가945 페이지에 있게 되는 건가요??
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
유니티의 Scriptable Object를 DB로 사용해도 될까요?
https://github.com/Heretic-byte/Strategy2/blob/master/Assets/Scripts/SO/UnitTable.cs 이런식으로 유니티가 제공하는 Scriptable Object를 db처럼 사용하는 코드들을 봤는데요 현업분들중에 db를 이런것으로 사용하는 분은 들어보지 못했습니다. 혹시 이런 방법을 사용하지 않는 치명적인 이유가 있을까요? 또 언리얼에서도 FDataTableRow 라는 데이터테이블의 역할을 해주는 기능이 있던데 기업에서도 이런 기능을 사용하나요? 아니면 전부 sql로 처리하게 되나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
안녕하세요 선생님 lock과 spinlock에 대해서 질문드립니다.
예전 스핀락 설명 하실때 메모한 내용입니다. 락을 걸고 있는 상대방이 조금만 기다리면 놔줄 것 같다는 확신이 있을 때는 굳이 Context-Switching까지 가지 않고 무식하게 대기하는 SpinLock이 좋습니다. 비행기 1인 화장실 앞에서 대기하는데, 안에서 손 씻고 있는 소리가 들린다면, 굳이 자리에 돌아가서 대기하기 보단 문앞에서 조금만 더 기다리는게 현명합니다. MMO에서 lock을 쓰는 경우는 대부분 컨텐츠의 멀티쓰레드 경합 처리에서 사용하게 되는데, 어마어마하게 오래 걸리는 작업이 아닌 경우가 많기 때문에 SpinLock이 대부분의 경우에서 유리합니다. 질문 컨텍스트 스위칭이라는게 a쓰레드가 공유 자원을 다쓰고 쓰레드 풀로 들어가면 b라는 쓰레드가 공유자원을 획득해서 사용하는 걸로 알고 있는데 그러니까 프로세스 내부에 stack 공간만 바뀌는 스핀락이라는게 무한 반복 타고 들어가서 계속 기다리잖아요 상대방이 빠져나올떄 까지 lock은 접근 했다가 a라는 쓰레드가 사용중이네 글멈 나는 다른 작업 하고 이따 한번 더와바야지 이 개념이 아닌가요? 여기서 왜 컨텍스트 스위칭이라는 표현을 쓰셨는지 여쭤봅니다? a가 가고 b가 들어가야 컨텍스트 스위칭이 성립되는 게 아닌가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
18버전부터 Azure Data Studio 가 인스톨 됩니다.
2강 환경설정을 듣고 질문드립니다. 18.8버전으로 설치했습니다. SQL SERVER MANAGEMENT STUDIO가 깔리지는 않고, Azure Data Studio가 설치되었습니다. Azure Data Studio 에도 new connection이 있습니다. 혹시 Authentication type을 Windonw Authentication으로 하지 않고 local host로 새로 만들어도 수업을 진행하는데 무방한가요? 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
파트1과 파트2를 수강한 상태입니다
앞으로 파트3, 파트4의 유니티+ 게임서버 부분을 중점적으로 들으면서 동시에 파트5, 파트6의 데이터베이스 + 웹서버 강의를 가볍게 들으려고 하는데 파트5와 파트6는 파트3, 4의 선수지식이 없으면 안되나요??
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
북마크 룩업 강의에서 12:10 부분에서 질문드립니다.
1. 첫번째 질문입니다. NonClustered Index로 Index Seek를 하더라도 느릴 수 있는 이유가 RID값을 가지고 Heap Table에서 RID Lookup을 하는데, 데이터가 메모리에 없으면 하드디스크에서 가져와야 하기 때문에 느리다고 하셨는데, 그것은 비교대상인 Table Scan쪽도 마찬가지 아닌가 하는 생각이 듭니다. 그래서 NonClustered Index로 Index Seek를 하더라도 느릴 수 있는 이유가 될 수 없다는 생각이 듭니다. 2. 두번째 질문입니다. 결론 부분에서 Nonclustered Index가 악영향을 주는 이유가 북마크 룩업이 심각한 부하를 야기할 때라고 하셨는데, 북마크 룩업에서 심각한 부하를 일으키는 경우가 예시로 설명해주신 CustomerID와 ShipVia를 함께 검색하는 부분에서, ShipVia와 일치하는 정보를 찾기 위해 ShipVia가 일치하지 않는 Leaf Page까지 모두 검색해야 하는데, 이미 ShipVia가 어느 Leaf Page에 있는 지 알고 있는 경우와 비교했을 때 Leaf Page를 뒤지는(북마크 룩업) 행위가 더 많기 때문에 부하가 많은 거라고 이해했습니다. 그래서 북마크 룩업으로 인해 NonClusteredIndex가 느릴 수 있다. 라고 이해했습니다. 그래서 북마크룩업을 수행하긴 하는데 필요한부분만 진행하도록 인덱스를 만들어야 한다고 이해했습니다. 잘 이해했나요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
수업에서 사용하는 사이트에 접속 안됩니다
https://www.sqlskills.com/ 해당 사이트에 접속이 안되는데, 리소스 첨부 가능한가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
정말 알찬 강의입니다.
만족합니다
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
ALTER 이용한 PK 생성에 대한 질문이 있습니다.
ALTER 이용해서 PK 생성해서 보면 Clustered Index Seek까지도 잘 구현이 되는데요, 데이타베이스 Refresh를 아무리 해줘도, 테이블의 Design 탭에 accountId에 PK 열쇠 표시 그림이 뜨질 않는데 어떻게 된 건지 모르겠습니다.
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
unsigned 타입형은 어떻게 처리하는데 너무 궁금합니다.
안녕하세요 정말 강의 잘들고 있어요 감사해요 사랑해요 파트 1000000000까지 만들어주세요 ㅠㅠ! 제월급 여기다 다쓸께요 예전부터 궁금한게 있었는데 mssql은 unsinged를 지원하지 않는다고 알고 있는데 정말인가요? 그러면 게임서버 코드에서는 unsigned인 특정데이터를 사용하고 DB에 저장해야 한다고하면 이거는 어떻게해야하나요? 그냥 singed 도 맥시멈같이 엄청 크기때문에 뭐 상관없어 거기까지 가겠어? 라고 생각하기에는.. mmorpg게임이 오랫동안 서비스하면 수치가 언젠간 끝에 다다를건데 음.. 보통 실무에선 어떻게 처리를 하나요 저런경우에는? 그냥 서버 코드에서도 unsigned를 사용안하게 제약을 걸어버리나요? 근데 보통 db에 저장되는 변수는 클라에서도 쓰고 서버에서도 쓰는경우가 많을텐데 클라 서버 둘다 제약을 걸어버린다? 건다해도 실무자들이 잘지키지도 않을것 같은데.. 음 잘 모르겠어요 mysql은 unsigned를 지원해서 상관없을것 같은데 mssql같은경우 unsinged어떻게 처리하는지 궁금합니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
스레드 락에 관한 질문입니다.
안녕하세요. 공부하면서 다시 질문이 생겨 문의 드립니다. 다음강의때 언급될 내용인건지 모르겠는데 본강의에도 언급이 되어서.. sql 서버를 스레드에서 접근하게 되면 내부적으로 알아서 처리하기에 락이 필요없다고 하셨는데. 혹시 sql 변수자체도 전역변수하나를 동시에 접근해서 사용해도 되는지요? 아니면 스레드로컬변수로 스레드당 하나씩 생성해야 되는걸까요? 개인적인 생각에는 처음 할당 초기화때만 동기화에 조심해야 되는걸까 싶습니다. 그리고 레디스 변수도 똑같은 질문을 드립니다(레디스도 내부 처리는 알아서 동기화 해주는걸로 알고 있습니다). 여튼 바쁘신 와중에도 강의 꾸준히 올려주셔서 감사드리며 다음 강의도 손꼽아 기다리고 있겠습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
복합 인덱스 강의 중 궁금한 사항이 있어 질문 드립니다.
안녕하세요. 복합 인덱스 강의를 듣다가 이해가 잘 되지 않는 부분이 있어 질문드립니다. 강의 중에 "인덱스(A, B) 사용중이라면 인덱스(A) 없어도 무방 하지만 B로도 검색이 필요하면 인덱스(B)는 별도로 걸어줘야 함"이라는 부분이 잘 이해가 되지 않습니다. 위의 말의 뜻은 인덱스(A, B) 형태로 복합 인덱스를 사용한다면 인덱스(A, B)를 이용해 검색을 하거나 인덱스(A)를 이용해 검색을 한다면 별도로 인덱스 A만 사용해서 별도의 인덱스를 만들 필요가 없다는 뜻이고, "B로도 검색이 필요하면 인덱스(B)는 별도로 걸어줘야 함"이라는 건 인덱스(B)만 사용해서 뭔가 검색을 하고 싶을 때는 인덱스(B)를 별도로 만들어서 사용해야한다.라는 뜻인가요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
redis 관련 질문
안녕하세요 강의 정말 잘 듣고 있습니다. 강의중에 redis가 윈도우서버에 정식 지원 안된다고 하셨는데 그럼 윈도우서버 환경에서는 redis를 활용해서 서비스는 불가능한가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스
강의 소개 페이지 오타
RDBMS여야 할 것 같습니다