리눅스에서 원격접속을 하려면 'xrdp'라는걸 설치합니다. 그런데 'xrdp'가 사용할 수 있는 환경이 없는 경우(Ubuntu 12.10 이후 버전) 추가로 'xfce4'라는걸 설치해야 합니다. 1. xrpd 설치 터미널을 열고 설치를 시작합시다. sudo apt-get install xrdp 2. xfce4 설치 'xrpd'가 지원하는 환경인 'xfce4'를 설치합니다. 필요하다면 먼저 'update'도 해줍니다. sudo apt-get update sudo apt-get install xfce4 3. xrdp에 xfce4를 연결하기 xfce4의 'Gnome'환경으로 연결해 줍니다. echo xfce4-session >~/.xsession 4. 접속해보기 접속 전에 'xrdp'를 다시 시작합니다. su..
와인을 설치하고 와인 설정을 열어보면 한글이 깨지는 경우가 있습니다. 1. 원인 이건 기본 폰트인 굴림폰트가 설치되지 않아서 그럴 확률이 높습니다. 2. 해결 방법 이 문제를 해결하려면 윈도우에서 폰트를 찾아 와인의 폰트 폴더에 넣어줍니다. 윈도우의 폰트 폴더는 C:\Windows\Fonts 와인의 폰트 폴더는 ~/.wine/drive_c/windows/Fonts 입니다. 이제 우분투에서 ~/.wine/system.reg 파일을 찾아 연 다음 'MS Shell Dlg'를 찾아 'Gulim'으로 바꿔 줍니다. (이미 굴림이면 그냥 두셔도 됩니다.) 3. 확인 이제 와인 컨피그를 열면 잘 나옵니다. 마무리 와인의 구조는 ~/.wine/drive_c/ 밑으로는 윈도우와 거의 똑같다고 보시면 됩니다. 뭔가 윈도..
1. 증상 누겟(Nuget)에서 라이브러리를 받고 나서 빌드하니 이런 에러가 납니다. 어셈블리에서 "CodeTaskFactory" 작업 팩터리를 로드할 수 없습니다. codetaskfactory could not be found 하..... 2. 해결 방법 일반적으로 이 오류는 잘못된 참조 때문에 발생합니다. 보통은 뭐가 잘못됐는지 파일 이름이 나오기 마련인데 이 에러로 퉁치는 경우도 있습니다. ㅎㅎㅎㅎ 누겟에 의해 참조가 추가된 경우 1) 종속된 참조가 자동으로 추가되지 않거나 2) 옛날 버전을 참조해서 흔히 나오는 에러 갔습니다. 이런 경우 누겟 참조에 의해 발생했다면 해당 참조를 업데이트하는 것만으로도 사라지기도 합니다. 다른 버전으로 업데이트를 한 다음 다시 원하는 버전으로 업데이트해도 해결됩니다..
로켈에서 웹어플리케이션을 돌리면 다음과 같이 랜덤한 포트번호를 확인할 수 있습니다. 그런데 가끔 웹어플리케이션에 붙어서 해야 하는 작업이 있는 경우 매번 달라지는 포트(물론 보통 프로젝트나 로컬 iis를 다시 시작하지 않으면 같은 포트를 사용합니다.)때문에 귀찮은 작업을 해야 한다는 문제가 있습니다. 이럴 때는 로컬iis의 포트를 고정하면 됩니다! 참고 - 방법: ASP.NET Development Server에 사용할 포트 지정 MSDN의 내용이 4.0기준인데.....언제 업데이트 된건지 내용이 안 맞는 군요 ㅎㅎㅎ 이제는 프로젝트의 속성 > 웹 > 서버 로 들어가서 프로젝트 URL을 지정하면 포트가 고정됩니다. 언제부터 업데이트된건지는 모르겠는데 asp.net 프로젝트를 생성하면 포트를 고정해 주고 ..
.net에서 소켓 프로그래밍을 하려면 몇 가지 선택사항이 있는데 그중 하나가 'SocketAsyncEventArgs'입니다. 전에 '[.Net] SocketAsyncEventArgs - 큰 데이터(Large Data) 전송할 때 생기는 문제'라는 글에서 버퍼크기보다 큰 데이터가 오는 경우 어떤 일이 발생하는지 다루었습니다. (참고 - [.Net] SocketAsyncEventArgs - 큰 데이터(Large Data) 전송할때 생기는 문제 ) 그렇다면 'SocketAsyncEventArgs'를 이용하여 큰 데이터(Large Data)나 연속 메시지(Continuous Receive)에 의한 리시브데이터 뭉침 현상을 어떻게 처리해야 하는지를 알아보겠습니다. 이 포스팅의 완성된 코드는 공개프로그램에서 확인할..
요즘 'Html5'를 활용하여 드래그 앤 드롭(Drag and Drop)을 이용하여 파일 업로드를 하고 있습니다. 우리도 구현해 봅시다~ 그냥 'Html5'만 사용하는 건 아니고 제이쿼리(jquery)도 사용합니다. 참고 : codeguru - Uploading Files Using HTML5 Drag-and-Drop and ASP.NET 1. HTML 페이지 작성하기 프로젝트를 생성하고 'FlieUpload.aspx'를 추가합니다. 1-1. html 작성 바디에 'div'로 드래그 앤 드롭 영역을 만들고 아래 버튼을 하나 만듭니다. Drag & Drop files from your machine on this box. Upload Selected Files 1-2. CSS 작성 스타일시트는 만든 드래그..
제목이 좀 이상하긴 한데.... 'GridView'를 그냥 사용하면 다음과 같이 컬럼까지 'tbody'에 출력 되게 됩니다. 예전에야 그냥 해더스타일(HeaderStyle)에 스타일클래스(CssClass)속성을 지정해서 사용하는 방법이나 그리드뷰(GridView)에 스타일클래스(CssClass) 속성을 지정하여 해결했습니다. 문제는 다양한 프론트엔드툴같은 것들이 유행되면서 UI작업이 생산성이 향상 되고 이로 인해 표준을 얼마나 잘 지켜서 코드를 만드느냐가 중요해졌습니다. Asp.net의 경우 웹콘트롤(WebControls)에서 생성되는 코드도 많다 보니 표준에 맞지 않는 코드가 생성되는 경우가 생기기 시작했다는 것이죠. 그리드뷰의 'thead'문제도 이런 문제입니다. 테이블 태그를 사용하면 'thead'..
사실 대부분의 'OAuth'인증은 웹을 통해서만 하므로 애플리케이션이던 웹이던 처리에는 크게 차이가 없다는 게.... (제가 모르는 건인지 자료를 못 찾은 건지 ㅡ.-;;) 어찌 됐건 C#애플리케이션을 통해 네이버에서 'OAuth'로그인을 하도록 하겠습니다. 로그인이 잘되었는지 확인하기 위해 접근 토큰(Access Token, 액세스 토큰)을 발급받아 블로그의 카테고리를 조회해 보도록 하겠습니다. 0. 네이버 'OAuth'로그인 절차 애플리케이션에서 네이버 'OAuth'인증을 하기 위해서는 웹 브라우저를 사용할 수 있는 컨트롤이 필요합니다. 로그인 인터페이스가 웹으로만 되어 있으므로 웹 브라우저 컨트롤(C#에서는 'WebBrowser' 컨트롤)을 이용하여 사용자에게 네이버 로그인을 유도하고 로그인 결과를..
원래 'adb shell'명령은 보통 컴퓨터에 디바이스를 연결해서 사용합니다. 그런데 가끔 앱 안에서도 'adb shell'명령으로 처리해야 편한 경우가 있습니다. 1. 간단하게 사용하기 그런 경우 'Runtime.getRuntime().exec([명령])'같이 사용할 수 있습니다. 예> Runtime.getRuntime().exec("adb shell"); 이런 식으로 명령을 실행하면 됩니다. 1-1. 여러 명령 한 번에 실행하기 여러 명령을 한 번에 실행하려면 'Runtime.getRuntime().exec([명령])'을 여러 번 호출하시면 됩니다. 예> //adb shell을 마운트 했다가 풀어 준다. Runtime.getRuntime().exec( "adb shell" ); Runtime.getR..
간만에 테스트할게 있어서 adb를 열었더니..... more than one device and emulator 1. 에러 원인 이 에러 메시지는 디바이스가 여러 개 연결되어 있을 때 볼 수 있는 에러입니다. 2. 해결 방법 이 문제를 해결하려면 사용할 디바이스(device)를 지정해 주어야 합니다. 아래 명령어로 디바이스 리스트를 확인하고, adb device 아래 명령어로 디바이스를 지정합니다. adb -s [디바이스 이름] shell 마무리 이런 문제는 원인만 알면 해결은 금방이죠!