유니티의 에디터에서 파일을 선택해서 테스트 할때는 'Open File Panel'를 이용하면 됩니다.(참고 : unity Documentation - EditorUtility.OpenFilePanel)이 포스팅은 'Open File Panel'을 사용하는 하는 방법을 설명합니다.(런타임에서는 사용할 수 없음.) 1. 사용방법 'using UnityEditor;'를 추가한 후 'EditorUtility.OpenFilePanel'를 호출 하면 됩니다. EditorUtility.OpenFilePanel([다얄로그에 표시할 제목], [처음 표시될 디렉터리], [허용할 확장자]); 2. 테스트 해보기 이제 직접 사용해 봅시다. using UnityEngine; using System.Collections; usi..
슈퍼소켓(SuperSocket)을 테스트 하다보니 예상하지 못한 문제가 몇 가지 있네요 ㅎㅎㅎㅎ 여러 문제 중 클라이언트에서는 데이터를 전송했는데 서버에서 반응이 없는 경우를 알아봅시다. 0. 문제의 확인 클라이언트에서 데이터를 보내 봅시다. 서버에서 접속되었다는 메시지가 잘 출력되는 것으로 보아 서버에 접속은 됐습니다. 그런데 메시지를 보내면(스크린 샷에서 '보내기'로 표시된 부분이 메시지를 보내는 부분입니다.) 서버에서 응답이 없습니다 ㅡ.ㅡ (정상적인 동작이라면 서버로 보낸 메시지가 그대로 돌아와야 합니다.) 그래서 기존에 만들었던 서버로 테스트해보니 클라이언트에서 데이터는 잘 넘어오고 있습니다. 1. 문제의 이유 이런 문제가 발생하는 것은 슈퍼소켓의 기본리시브필터가 아스키(ASCII)로 된 텔넷 ..
저도 .NET을 초기 버전부터 사용하던 사람이라 초기에 만든 'Client/Server'프로그램을 계속 고쳐서 사용했습니다. 그런데 이번에 슈퍼소켓을 사용하여 서버를 다시 만들려고 자료를 찾다 보니 '.NET 3.5' 부터는 'SocketAsyncEventArgs'를 사용하라고 권장하는군요. 그래서 샘플을 찾는데..... 원하는 셈플이 없어서 하나 만들었습니다. (참고 : 'SocketAsyncEventArgs'를 이용한 채팅(Chatting) Client/Server 예제 0.7) 샘플을 만들면서 느낀 점을 간단히 적어 보겠습니다. 1. 무한 루프여 안녕~ 이전에는 1) 서버에 리스너를 동작시킨 후 2) 무한 루프를 만들고 3) 'TcpListener.AcceptSocket()'로 무한 루프를 대기 시..
이전 글에서 'Row_Number'를 이용하여 검색된 결과에 순서대로 번호를 부여한 후 이 번호를 기반으로 'bettwen'으로 필요한 범위를 잘라내는 방법을 설명하였습니다. 동적 코드 없이도 코드가 깔끔하지만 속도가 너무 안 났고 그 원인을 분석해보니 셀랙트 부분에 있는 'Case'문이 문제였습니다. (참고 : [MSSQL] MSSQL의 페이징 쿼리 고찰 - 1. Row_Number + bettwen) 이 문제를 해결할 수 있도록 튜닝해 봅시다. *글을 읽기전에 이전글( [MSSQL] MSSQL의 페이징 쿼리 고찰 - 0. 테스트 환경 만들기(클릭) )을 보고 오시는 것이 좋습니다.* 연관글 영역 1. 사용 방법 사용 방법은 다음과 같습니다. Select Row_Number() Over ( Order ..
동적쿼리를 덜 사용하기 위해서 이짓저짓하다 보면 끝 자락쯤에서 생기는 문제가 오더바이(Order by)절입니다. 오더바이절에서도 선택문을 제한적이지만 사용은 가능합니다.(몇 버전부터 가능한지는 모르겠습니다.) (참고 : MSDN - ORDER BY 절(Transact-SQL)) 연관글 영역 1. 사용 방법 사용 방법은 크게 2가지가 있습니다. 일반적인 케이스문처럼 사용하는 방법과 콤마(,)를 이용하여 여러 조건을 주는 것이죠. Declare @nOrderColumn int = 1; Select * From tb_BigData1 Order by (case @nOrderColumn when 1 Then Data1 when 2 Then Data2 when 3 Then Data3 when 4 Then Data4..
'Row_Number'를 이용하려면 'MSSQL 2005'이상에서 사용 가능한 방법입니다. 'Row_Number'를 이용하여 검색된 결과에 순서대로 번호를 부여한 후 이 번호를 기반으로 'bettwen'으로 필요한 범위를 잘라내는 방법입니다. 동적 쿼리를 전혀 사용하지 않아도 중복되는 코드 없이 깔끔하게 코드를 만들 수 있다는 장점이 있습니다. *글을 읽기전에 이전글( [MSSQL] MSSQL의 페이징 쿼리 고찰 - 0. 테스트 환경 만들기(클릭) )을 보고 오시는 것이 좋습니다.* 연관글 영역 1. 사용 방법 사용 방법은 다음과 같습니다. Select ( Row_Number() Over ( Order By [정렬 기준 컬럼] [정렬 방향] )) as [Row_Number()로 만든 순서 컬럼명], [출..
MSSQL에서 페이징 처리는 여러 가지로 귀찮습니다. MSSQL 2012버전부터는 어느 정도 간단하게 처리할 수 있도록 오프셋(OFFSET)을 지원하긴 하는데....성능이-_-; 어찌 됐건 예전에 만들어둔 페이징 쿼리가 너무 느려 이상해서 이것저것 테스트하다 보니 이 기회에 정리 좀 해야겠다 싶어 포스팅을 시작합니다. ㅎㅎㅎ MSSQL에서 사용할 수 있는 페이징 쿼리를 소개하고 속도, 유지 보수성 등의 몇 가지 중요하다고 생각되는 요소를 주관적으로 평가해보겠습니다. 연관글 영역 1. 테스트 DB 만들기 테스트를 위해 테스트용 DB를 만들겠습니다. 1-1. DB 생성 테스트용 DB의 이름은 'TestDB'입니다. 1-2. 테이블 생성 테이블은 2개를 생성합니다. SET ANSI_NULLS ON GO SET..
html을 작성하다보면 자주 사용 하는 것 중에 하나가 'float'속성입니다. 그런데 'float'속성의 특징은 다른 레이아웃에 영향을 주지 않는 것이죠. 0. 테스트용 코드 작성 테스트용 html을 다음과 같이 작성합니다. aaaaaaaaaaaaaaa bbbbbbbbbbbbbbb ccccccccccccccc 이 코드를 실행하면 다음과 같이 나옵니다. 1. 문제 이제 '.Child1'과 '.Child2'에 'float'을 추가해 봅시다. .Child1 { background-color:yellow; width:300px; height:300px; float:left; } .Child2 { background-color:red; width:200px; height:200px; float:left; } 이..
인텔에서 아두이노 호환보드로 갈릴레오라는 보드를 내놨습니다. (참고 : Arduino - Intel Galileo) 아두이노 호환보드라는 것은 아두이노에서 돌아가는 하드웨어와 소프트웨어를 그대로 사용할 수 있는 보드를 뜻합니다. 그런데 MS에서 인텔 갈릴레오 개발 보드에 올릴 수 있는 윈도우 8.1을 공개했습니다 ㅡ.ㅡ (참고 : MS, 사물 인터넷 개발을 위한 개발자용 윈도우 프리뷰 버전 공개) 사물 인터넷과 개발보드 사물 인터넷 제품이라는 것은 일반적인 제품들에 인터넷이 연결하여 다양한 동작이나 데이터수집이 가능해진 제품을 말합니다. 이런 제품들을 개발 할 때 필요한 것이 개발 보드라는 것입니다. 저도 이런 제품을 다루기 위해 하드웨어를 공부했는데.....쉽지 않습니다 ㅋ 그래서 소프트웨어 개발자도 ..
CD나 DVD의 수명은 100년 정도 간다고 합니다. 물론 습도와 온도가 맞고 직사광선이 없다는 가정하에서 말이죠. 그렇다면 일반적인 CD-R과 DVD-R의 체감 수명은 몇 년일까요? 이론상 100년까지 버틴다는데 그건 어디까지나 이론이죠. ㅎㅎㅎ 간만에 정리 그리고.... 서울에서 자취하다가 집으로 다시 온 김에 예전에 쌓아둔 짐들을 정리하면서 CD와 DVD를 정리하였습니다. 많은 CD와 DVD중 몇 가지 자료들만 추려서 백업하고 있습니다. 이미 예전에 메가당 가격이 하드가 더 싸졌기 때문도 있고 필요 없는 백업본은 버리는 게 나을 것 같은 이유도 있었죠. 결과는? 대략 전체 CD와 DVD숫자는 7~800장 정도 됩니다. 이 중 150~200장은 여러 가지 이유로 버리려고 따로 모아 둔 것이니 백업용은..