전체 글
-
SQL(EXECUTE)@ 16. 1 ~ 17. 1/Unity 2016. 11. 30. 15:57
○ EXEC[UTE] - EXEC 와 EXECUTE 는 같은 의미이다. - 두가지 용도로 사용되는데, - 첫 번째, 스토어드 프로시저를 실행할 때 사용한다.예)EXEC stored_procedure - 두 번재, SQL 문장을 동적으로 변화시키며 수행할 수 있다.예)DECLARE @sql VARCHAR(255)SET @sql = 'SELECT COUNT(*) FROM 'SET @sql = @sql + 'titles 'EXEC(@sql)--> 실제 수행되는 문장은 SELECT COUNT(*) FROM titles 가 된다. CREATE PROCEDURE [dbo].[USP_FriendRank]@List varchar(5000),@ResultCode int OUTPUT,@Message varchar(300)..
-
SQL 문법(FROM 과 rank()함수 그리고 별칭, INSERT DECLARE 지역변수)@ 16. 1 ~ 17. 1/Unity 2016. 11. 30. 15:40
CREATE PROCEDURE [dbo].[USP_RankTotal]@Start bigint,@Count bigint AS--출력을 하는데..FROM으로부터인데..--FROM은 Rank()함수를 쓰고 order by Point를 기준으로 desc 내림차순 Rank를 출력한다 *FROM TB_User 테이블의 전체 항목을..--a는 위의 결과를 담는 별칭으로..a로부터 a의 비교문을 통해서 start랭크를 기준으로 start부터 count만큼 랭킹은 반환(출력 SELECT)하게 된다.SELECT * FROM(SELECT Rank() over (order by Point desc) as Rank, * FROM TB_User) a WHERE a.Rank >= @Start AND a.Rank
-
SQL 잡지식 / 문법 정리(UPDATE, INSERT, SELECT FROM WHERE, SET)@ 16. 1 ~ 17. 1/Unity 2016. 11. 30. 14:18
쿼리란 데이터 베이스에 정보를 요청하는 것.저장 프로시져란(스토어 프로시져라고 하는데..)쿼리문들을 하나의 함수처럼 실행하기 위한 쿼리의 집합이다.저장 프로시저는 복잡한 쿼리들을 모아서 하나의 프로시저로 처리할 수 있고, 그에 따른 처리 결과를 반환하는 형식으로 동작한다.또한 저장 프로시저는 서버 측에 프러시저를 저장하므로 모든 클라이언트에서 프러시저를 사용할 수 있다.프러지서가 수정 되었을때 모든 클라이언트는 자동으로 새로운 버전을 가지게 되므로 유지, 보수가 쉬운것이 장점.. 일반 SQL 구문의 경우에는 실행할 때마다 파싱, 개체 이름확인, 보안확인, 컴파일 과정을 거치게 되는데..저장 프러시저는 처음 생성할때 앞에서 언급한 작업을 수행하고 캐싱하여 그 후에는 같은 작업을 반복하지 않는다.(속도가 빠..
-
콜백함수를 활용한 최적화@ 16. 1 ~ 17. 1/Unity 2016. 11. 29. 21:58
C# 콜백 함수는 소프트웨어 디자인 패턴 중 하나인 콜백 패턴을 활용한 코딩 방법이다. 1. 콜백 패턴호출자가 피호출자를 호출하는것이 아니라 반대로 피호출자가 호출자를 호출하는 패턴이다.DialogManager, DialogData, DialogController 콜백 함수를 활용한다.흐어.. 1. 서버 API에 HTTP요청을 보냈는데 서버로부터 응답을 받으면 특정 함수를 실행시켜야 할때2. 게임 버전이 낮아 업데이트 유도 팝업창을 띄운 후에 확인 버튼을 누르면 앱스토어로 이동시켜야 할때3. 애니메이션이 완료되는 시점에 특정 함수를 실행시켜야 할때
-
코루틴@ 16. 1 ~ 17. 1/Unity 2016. 11. 29. 15:48
1. 여러 개로 이루어진 작업을 단계적으로 수행하게 한다(예 : 게임로딩)2. 다른 연산이 이루어질 때까지 대기할 수 있다(예 : 웹 통신 응답대기)3. 인터페이스에 애니메이션을 넣을 수 있다(예: 팝업 창 위아래로 부드럽게 움직이기)4. 주기적인 연산을 특정 시간 단위로 수행할 수 있다(예 : 카운트 다운표시하기) 보통의 함수는 일반적으로 호출되는 루틴이 호출하는 루틴에 속하는 방식인데코루틴은 종속 관계가 아니라 대등한 관계로 서로를 호출하는 방식이다. 코루틴은 하나의 프로세서를 시간 단위로 나눠 서로 쓴다는 개념.. 진입 지점이 여러군데 있고 반환도 여러번하는게 특징이다.쓰레드와의 차이는...쓰레드는 여러 프로세스가 여러 작업을 진행하는 것이고코루틴은 하나의 프로세스를 여러 루틴들이 시간을 나눠서 쓰..
-
(힙분류) 힙정렬@ 16. 1 ~ 17. 1/자료구조 2016. 11. 28. 18:58
힙 정렬은 힙 자료구조를 이용하여 자료를 정렬한다.우선은 힙 자료구조를 본다면 완전 이진트리이면서 동시에 최대 트리 호은 최소 트리를 말하는 것으로,최대 힙은 루트노드의 키가 트리 전체 중 항상 최대값을 지니고 최소 힙은 루트 노드가 전체 중 항상 최솟값을 가지는 특성이 있다. 힙은 우선 순위 대기열에 사용하기에 매우 효율적이다. 또한 힙이라는 자료구조 자체에서도 정렬 기능이 있다..왼쪽 자식은 루트보다 작고 오른쪽은 크다(틀렸다. 하나의 노드는 그 노드의 모든 자손(왼, 오른쪽)보다 큰 키 값을 가진다. 루트에는 항상 가장 큰 키 값을 갖는 노드가 위치한다)(최소힙은 최대를 최소로만 바꿔서 읽으면 됨..)(그럼 위의 조건은 어떤 자료구조인가? 바로 이진 검색 트리의 조건이다.) 힙의 삽입 삭제 알고리즘..
-
(분배그룹) / 기수정렬@ 16. 1 ~ 17. 1/자료구조 2016. 11. 28. 18:41
기수정렬기수는 숫자의 자릿수를 말한다. 예를 들어 10진수 숫자 42는 1의 자릿수가 2이고 10의 자릿수는 4인 정수이다. 기수 정렬은 키 값의 자릿수에 따라 자료를 분배하는 방식을 통해 정렬하는 알고리즘이다.즉, 앞서의 정렬 알고리즘들이 각 자료의 키 값을 비교하여 이동을 수행하는 방식인 것과 비교하여기수 정렬은 이러한 비교연산이 필요없으며 버킷이라 불리는 자료보관 큐에 자료를 분배하고 다시 이를 꺼내는 연산을 통해 정렬이 이루어진다. 예를들어 키 값이 10진수의 2자리 숫자라고 한다면, 먼저 1의 자리에 대해서 분배하고 각 버킷 벼롤 자료들을 꺼낸 다음 다시 10의 자리에 대해서분배하고 버킷에서 자료들을 꺼내면 정렬이 완료된다. 입력데이터는 42, 60, 75, 81, 10, 23, 12, 18 이..
-
(병합그룹) 병합정렬(2 - way)@ 16. 1 ~ 17. 1/자료구조 2016. 11. 28. 17:43
병합정렬은 1. 같은 개수의 원소를 가지는 부분집합으로 기존 자료를 분할하고2. 분할된 각 부분 집합을 병합하면서 정렬 작업을 완성하는 분할정복 기법에 의한 정렬방식이다.즉, 여러개의 정렬된 부분집합을 결합하여 정렬된 집합을 만드는 알고리즘 이다.2개의 정렬된 자료집합을 병합하면 2 - way 병합 / n개의 정렬된 자료 집합을 결합 n - way 병합 데이터는 80, 50, 70, 10, 60, 20, 40, 30의 8개의 정수 배열이다. 오름차순 병합 정렬은 먼저 기존 자료를 동일한 개수의 원소를 가지는 부분 집합으로 분할해야한다.여기서는 2 - way 병합을 사용해야하니까 초기 전체 자료를 2개의 부분 집합으로 나눈다.또한 나뉜 2개의 부분 집합에 대해서도 각각 2개의 부분 집합으로 나눈다. 이러한..