ZDNet Korea - MS, 비주얼스튜디오용 자마린 무료화 드디어 자마린이 무료화가 됐군요. 저번에도 한 번 이야기했지만 자마린은 이상할 정도로 비쌉니다. (참고 : 유니티(unity3d)와 모노(mono project) ) 예전부터 MS에서는 다양한 플랫폼을 지원하기 위해 자마린쪽에도 협업을 한다고 했습니다. 그런데 인수를 하고 무료로 푸는 군요 ㅎㅎㅎ 자마린이 무료화가 중요한 이유는 드디어 유니티의 모노버전이 올라갈 것이라는 것입니다. 유니티가 모노버전을 못 올리는 이유로 자마린측에서 너무 비싼 가격을 불러서 라고 했기 때문입니다. 예상대로 MS가 자마린을 무료화 한 건 확실히 기분이 좋습니다 ㅎㅎㅎ 오픈소스 진영의 .Net에 대한 의심의 눈길을 보내고 있다는걸 인식해서인지 .Net을 MIT라이선..
데몬은 보통 애플리케이션으로 만듭니다. 윈도우에서는 '서비스'로 만들고 유닉스 계열에서는 '데몬'을 시스템에 등록하여 사용합니다. 이외에는 일반 어플리케이션처럼 UI를 넣어서 만들기도 하지만 보통은 콘솔로도 만들기도 하죠. 그런데 이런 데몬은 항상 운영체제에 상주해야 합니다. 문제는 웹서버와 일반서버의 가격은 엄청나게 차이가 난다는 것이죠. 그래서 웹서버에서 돌려도 되는 데몬이라면 웹서버에서 구현하는 것이 좋을까 해서 검색해보니... 'Application_Start'를 이용해 보시죠. 오홋! asp.net는 프로그램이 웹서버가 시작되면 'Global.asax'의 'Application_Start'가 메인처럼 동작합니다. (참고 : [ASP.Net] ASP.Net의 Main은 어디 있을까? (Global..
우분투에 와인을 설치하고 .net프로그램을 실행하니... unimplemented function mfplat.dll.MFTEnumEx called in 32-bit code 같은 에러도 저렇게 코드로만 나오는 경우가 있습니다;;; (하지만 스샷의 코드는 다른 에러라는 거 ㅎㅎㅎ) 이게 같은 상황에서 찍은 스샷이라 그냥 올렸는데 원래는 위에 에러 내용이 나옵니다. 이럴때는 와인 컨피그에서 mfplat 를 추가 합니다. 수정을 눌러 네이티브(native)로 바꿔줍니다. 이제 실행하면 이 오류는 고쳐지나....... 다른 에러가 날 수도 있습니다 ㅋ
증상 안드로이드에서 웹뷰를 호출했더니.... All WebView methods must be called on the same thread. .... 네.. 흔한 크로스 쓰래드 에러입니다. 해결 방법 닷넷(.NET)으로 치자면 인보크 해서 처리하는 것과 같이 안드로이드 webview에는 '.post()'가 있습니다. 여기에 'Runnable'을 구현하여 전달하면 됩니다. webviewName.post(new Runnable() { @Override public void run() { //동작 } }); 마무리 이런 오류는 생각보다 자주 만나게 됩니다. 문제는 크로스 스레드는 돌리기 전에는 인지 못 하는 경우가 많아서 말이죠 ㅋㅋㅋㅋㅋㅋ
제가 닷넷이 전문이다보니 리눅스에서도 모노(Mono)위주로 작업을 합니다. (참고 : 다른 운영체제에서도 닷넷 프로그램이 돌아간다고? - 모노 프로젝트 ) 그런데..... 모노도 문제가 몇 가지 있는데 콘솔프로젝트의 경우 크게 문제가 없지만 윈폼 프로젝트의 경우 모노에서 해당 컨트롤을 지원하거나 확인하면서 작업해야 합니다. 만약 지원되지 않는다면 닷넷 프레임웍과 모노 모두 호환되는 컨트롤을 찾아서 바꾸거나 만들어야 하죠. 이럴 때 사용할 수 있는 방법의 하나가 와인입니다. 와인에 .net 프레임웍이 설치가 됩니다. 물론 그렇다고 해서 모든 컨트롤이 호환되는 건 아니고 어떤 게 호환되는지 확인해봐야 합니다. ㅎㅎㅎ 0. 기존 와인 지우기 필요하다면 기존 와인을 지우고 새로 설치하는 것도 좋은 방법입니다. ..
*Unity 5.3에서 확인 했습니다. 몇버전 부터인지는 모르겠는데 스크립트에서 씬을 이동하는 방법이 바꿨네요. (참고 : Unity Community - Unity 5.3 How to load current level ) //기존 코드 //Application.LoadLevel("SceneName"); //유징 필요 using UnityEngine.SceneManagement; SceneManager.LoadScene("SceneName"); 코드를 실행하기 전에 File > Build 로 들어가서 씬을 추가해 줘야 합니다. 이건 테스트용 프로젝트
리눅스에서 원격접속을 하려면 '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 프로젝트를 생성하면 포트를 고정해 주고 ..