본문 바로가기

Programming

[PCL] error C2661: 'pcl::PointCloud<PointT>::operator new' : no overloaded function takes 3 arguments error C2661: 'pcl::PointCloud::operator new' : no overloaded function takes 3 arguments 라는 에러가 발생하였을 때 heap영역의 크기를 크게 하라는 방법이 제시되었지만 같은 오류가 발생하였다. 이때 아래와 같은 조치를 취해 해결하였다. I had the same problem.(My PCL program runs well with win32, but failed in MFC.) I did two things to make it well in MFC. (1) add the following two lines in the place before you include pcl libraries #undef max #undef min (2)an.. 더보기
Visual Studio 2013 폴딩 접기/펴기 단축키 CTRL + M + O will collapse all.CTRL + M + L will expand all. (in VS 2013 - Toggle All outlining)CTRL + M + P will expand all and disable outlining.CTRL + M + M will collapse/expand the current section.These options are also in the context menu under Outlining.Right click in editor -> Outlining to find all options. (After disabling outlining, use same steps to enable outlinging.) 출처: http://iamad.. 더보기
폴더명 추출 및 파일명 리스트 텍스트 파일로 만들기 폴더명 추출 및 파일명 리스트 텍스트 파일로 만들기오피스 업무를 하다 보면 폴더명 추출이나, 수많은 파일들의 파일명만 필요로 될 때가 있습니다.물론 F2(이름바꾸기) 를 눌러 하나씩 Copy-Paste 하는 것도 나쁘진 않지만, Windows Vista, 7, 8 의 경우시작 - 검색 창에 cmd 입력 XP 의 경우윈도우 시작 + R 버튼을 눌러 실행 창을 띄운 후 cmd 입력 dir/b 는 파일의 생성날짜 및 정보들을 제외하고 파일명을 남기는 명령어이며,test.txt 는 리스트를 저장할 파일이름을 임의대로 지정하시면 됩니다.(뒤에 txt는 붙여야 합니다) 더보기
debug <=> release 모드의 차이점과 배포 출처 : http://jiny2097.blog.me/30043517038 릴리즈 모드 (프로그램을 배포하기 위해 컴파일 하는 모드) - 초기화 하지 않습니다. - 같은 문자열 상수라도 서로 다른 공간에 할당됩니다. - 디버깅정보를 삽입하지 않고 코드를 최적화하여 실행 파일 크기를 최대한 줄여줍니다. - 속도나 크기면에서 월등히 유리합니다. (메모리 점유율로 낮아지고 실행도 빨라짐) - 더 이상 현재버전에서 내결함성이나 문제점들을 발견할 수 없었을때 빌드하여 주는 모드입니다. 디버깅 모드 (컴파일시 들어가는 디버깅에 필요한 자질구리한 정보를 뺀 알짜 프로그램만 쏙 뽑아냄) - 실행파일에 디버깅 정보를 삽입하여 언제든지 디버깅을 할 수 있도록 하며 Debug서브 폴더에 실행파일을 만들어줍니다. - 디버깅정보.. 더보기
Spring Multipart를 이용한 이미지 업로드 출처 : 1. fileTest.jsp 생성JSP를 다음과 같이 생성하고 FORM 태그를 사용하여 다음과 같이 작성하자.가장 중요한건 multipart/form-data를 설정해 줘야 한다는것.주석에 순서대로 설명을 달아놓았다. 해당 소스는 "제출" 버튼을 누르면 submit동작에 의해 /fileUpload로 매핑되어져 있는Contorller를 호출한다. 1234567891011121314151617181920212223 Home 이름 : 파일 : Colored by Color Scriptercs 2. action Url에 fileupload 메소드 작성action url이 매칭되는 /fileUpload 에 file upload 소스를 작성한다!multipart/form-data는 서버에서 Multipar.. 더보기
JSP에서 파라미터의 널포인터(NULL)익셉션에 대한 처리 (삼항연산자) String str = request.getParameter("str")==null?"":request.getParameter("str"); 더보기
[Spring] Cross Origin Resource Sharing (CORS) 해결 출처 : http://misoin.tistory.com/50참고 : http://devtrans.tistory.com/entry/CORS-support-in-Spring-Framework참고: https://gist.github.com/kdonald/2232095 스프링에서 CORS 문제를 해결하기 위해 해당 Class를 하나 작성한다. package com.xxxx.core.filter; import java.io.IOException; import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServ.. 더보기
외부 앱 실행시키기 (launch external app in android) 출처 : http://blog.hansoolabs.com/504 실행시킬 수 있는 앱 정보 얻기?final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);PackageManager pm = context.getPackageManager();List installedApps = pm.queryIntentActivities(mainIntent, 0); for (ResolveInfo ai : installedApps) { Log.d("tag", ai.activityInfo.packageName);} 실행시킬 패키지의 액티비를 알 경우,?ComponentName comp.. 더보기
웹서버에 대한 기초지식 출처 : CGI(Common Gateway Interface)프로그램이란? 엄밀히 말하면 웹 서버는 동적인 데이터를 처리 할 수 없다. 그때 동적 처리를 수행하기 위해서 존재하는 프로그램, 그것을 게이트웨이 프로그램이라고 부른다. 왜냐면 HTTP 서버 시스템 상에 있는 웹 및 다른 자원(DB 등) 사이의 통로 역할을 하기 때문이다.Apache와 Apache Tomcat의 차이 웹 서버 : 정적인 data를 보냄 웹 애플리케이션 서버(WAS) : 동적인 data를 보냄 =컨테이너 =웹 컨테이너 =서블릿 컨테이너웹서버로 많이 쓰는 프로그램 : Apache, IIS 웹 애플리케이션 서버로 많이 쓰는 프로그램 : Apache TomcatApache Tomcat = Tomcat의 WAS기능 + Apache의 웹 .. 더보기
스프링 프로젝트 url 설정 방법 출처 : http://smartdresser.tistory.com/59 스프링 프로젝트 url 설정방법,웹프로젝트 url설정방법이클립스에서 프로젝트 선택 마우스 우클릭 properties 를 선택하고 web Project Settings에서 Context root를 바꿔주면 끝~http://localhost:포트번호/컨텍스트루트/ 더보기
jQuery ready와 load의 차이 출처 : http://ojtiger.com/179 위 이미지와 같이 한개의 html 문서를 만드세요.앞장에서 배운 jQuery를 불러오는 소스를 사이에 넣었습니다.그리고 우리가 편집해야할 부분은 바로 5번째 라인입니다.보통의 경우 console.log를 사용하여 콘솔에 로그를 찍어봅니다만, 확실히 확인하기 위하여 alert함수를 사용하기로 합니다.alert함수는 알다시피 파라메터를 메시지로 경고합니다.1alert('ojtiger.com');cs5번 라인에 위 소스를 추가해보세요.저장하시고, 페이지를 실행시켜보세요.여기 까지 따라왔다면 정말 소질이 있는분입니다.그럼 jQuery를 사용하여 alert함수를 실행해 보도록 하겠습니다. 방금 추가한 5번째 라인을 삭제하시고 다음과 같이 입력해보세요.123$(do.. 더보기
애플릿위에 엘리먼트 올리기 출처 : http://annotations.tistory.com/14 애플릿을 사용하는 프로젝트에서 간혹 엘리먼트를 올려야 할 상황이 있습니다. 제가 근무하는 직장의 웹기반 솔루션은 일부분만 자바 애플릿을 사용합니다. 업무중 한가지 상황이 주어졌는데요. "jQuery Layout을 사용하면서 resize를 할 경우 미리보기 막대(엘리먼트)가 애플릿에 가려져 보이지 않으니 보완"하라는 내용이였습니다. 애플릿을 감싸고 있는 엘리먼트, 상위, 그 상위의 z-index를 변경해도 전혀 먹히지 않습니다. 꼭 애플릿이 아니더라도 Vworld, Google Earth 등등 또한 먹히지 않습니다. VWorld는 안되는거였다.... 해결방법은 매우 쉽습니다. 123 Colored by Color Scriptercs 2... 더보기
스프링 버전 확인하기 System.out.println( org.springframework.core.SpringVersion.getVersion() ); 더보기
[Spring] 내 웹 서버에 접속한 클라이언트 IP 알아오기 출처 : http://matthew.kr/20121030-%EA%B0%9C%EB%B0%9C%EC%9D%BC%EC%A7%80-spring%EC%97%90%EC%84%9C-%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8-ip%EC%A3%BC%EC%86%8C-%EC%96%BB%EC%96%B4%EC%98%A4%EA%B8%B0/ logger.info(“IP : “+request.getRemoteAddr()); 더보기
[번역] 자바스크립트 클래스를 정의하는 3가지 방법 (3 ways to define a JavaScript class) 출처 : http://steadypost.net/post/lecture/id/13/ 이 글은 Stoyan Stefanov 의 글 3 ways to define a JavaScript class 을 번역한 것입니다. (http://www.phpied.com/3-ways-to-define-a-javascript-class/) 자바스크립트 클래스를 정의하는 3가지 방법 소개 자바스크립트는 문법측면에서 아주 유연한 객체지향 언어이다. 이 글에서 객체를 정의하고 생성하는 3가지 방법을 찾을 수 있다. 이미 자주쓰는 방법이 있다 하더라도 다른사람들이 작성한 다른 방법들을 이해하는데 도움이 될것이다. 먼저 자바스크립트에는 클래스라는 개념이 없다는것을 알고 있어야한다. 함수는 클래스를 흉내내기 위하여 사용될 수 있지만.. 더보기
자바스크립트 객체 생성 방법 출처 : http://emflant.tistory.com/67 자바스크립트는 놀랍게도 거의 모든 것이 객체로 이루어져 있다. 기본자료형 역시 null과 undefined 를 제외한 나머지도 객체로 되어 있다. 객체를 생성하는 방법에는 2가지 경우가 있다. 1. object initializer 방법2. constructor function 이용하는 방법 1번은 객체를 직접 { } 안에 property와 value를 정의해서 사용하는 방법을 의미한다.?1var myHonda = {color: "red", wheels: 4, engine: {cylinders: 4, size: 2.2}};이때까지 많이 해왔던 방법이라 패스. 2번은 생성자 함수(constructor function)를 이용해서 객체를 생성하는.. 더보기
[jquery] ajax 방법 [jQuery] Ajax 방법 Ajax를 이용하면 웹 어플리케이션과 비동기적으로 데이터를 주고 받은후 클라이언트에서 해당 데이터에 대한 처리를 할 수 있다. 쉽게 이야기하면 Ajax를 이용할 경우 별도의 웹 페이지를 호출하지 않더라도, 클라이언트 화면을 유지한채 다른 페이지를 호출할 수 있다. Ajax에 대한 설명은 위키백과를 참고하기 바란다. - http://ko.wikipedia.org/wiki/Ajax 이러한 Ajax를 jQuery를 이용하면 정말 손쉽게 사용할 수 있는데, 기본적인 설정값만 넣어주면 바로 사용이 가능하다. 다음 예제는 웹페이지가 로딩된 후 ajax를 이용하여 ajaxData.jsp를 호출하는 예제이다. ajaxData.jsp는 텍스트 형식의 값을 리턴하며 리턴된 값을 alert창과.. 더보기
JSON 문법 및 오류사례 출처 : http://chayu07.tistory.com/89 JSON 문법검사기http://www.jsonlint.com/ Cross browser 에서의 흥미로운 예제들 IE8 JSON.parse(”{ ‘a’:1 }”) : Syntax Error CHROME JSON.parse(”{ ‘a’:1 }”) : OK FireFoxJSON.parse(”{ ‘a’:1 }”) : Syntax Error OPERA 10.10 JSON.parse(”{ ‘a’:1 }”) : Undefined variable JSON SAFARI 4.0.4 JSON.parse(”{ ‘a’:1 }”) : Syntax Error jQuery 1.3 까지는 고유의 parsing 기술이 쓰이기에123456$.ajax({url: "/url", .. 더보기
MAC OS X 에 JDK 설치하는 방법 출처 : http://ishappy.tistory.com/entry/MAC-OS-X-%EC%97%90-JDK-%EC%84%A4%EC%B9%98%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 JDK설치 방법은 매우 쉽다. .dmg 로 제공해주기 때문에 다운받고 환경변수 설정만 해주면 된다. 설치 방법은 다음과 같다. 1. JDK 를 다운받는다. http://www.oracle.com/technetwork/java/javase/downloads/index.html?ssSourceSiteId=otnjp 위 링크에서 JDK를 다운 받는다. 다운받은 파일을 더블클릭해 설치한다. 2. 환경변수를 설정한다. 일단 터미널을 실행한다. cd /Library/Java/JavaVirtualMachines.. 더보기
충격 AfxGetMainWnd() 함수 출처 : http://egloos.zum.com/xuny/v/2078275 전에 Visual Studio 6.0 으로 작성하던 mfc 프로그램을 Visual Studio 2008 로 변환을 하였다. 보안이 강화됐는지 어쨌는지.. 수없이 많은 wanning 이 뜨고.. 젠장.. 사용하지 말기를 권고하는 함수들에 대해서 안전한 함수로 교체를 하였다.. 이거야 내 전문인 복사 컨트롤+V 이니.. 별 어려움이 없었는데.. MFC 6.0 으로 컴파일을 하면 분명히 실행이 되는 코드가 2008 에서 컴파일 하니 조낸 안되는 거였다. 디버깅을 해보니 범인은 AfxGetMainWnd() 함수 MFC 에서 윈도우간 통신을 위하여 저런 함수는 많이 사용되고 있는데.. 저 함수가 실행될때마다 다른 주소가 리턴이 되는걸 발견.. 더보기
오픈 소스 c++라이브러리 목록 출처 : http://ko.cppreference.com/w/cpp/links/libs 이 페이지는 특정 기능을 구현하기 위하여 구글링하는 시간을 낭비하지 않도록 오픈 소스 C++ 라이브러리 목록을 취합하는 것이다.다른 사람들에게 유용하다 싶은 라이브러리를 알고 있다면 여기에 링크를 추가해 달라.라이브러리를 소스 형태로 다운로드 할 수 있어야 한다는 것만 제외하고 링크를 추가하기 위한 어떠한 제약사항도 없다.페이지는 '그냥 있는 그대로' 제공된다. - 유용하게 사용되기를 바라지만, 어떠한 것을 보장하지는 않는다. 오래되었을 수도 있고, 클릭했을 때 잘못된 링크나 엉뚱한 곳으로 갈 수도 있다. 만약 그런 오류를 알게된다면 직접 고쳐주면 정말 좋겠다.일반Boost - 방대한 범용 라이브러리 콜렉션 (부스트 .. 더보기
error C2661: 'pcl::PointCloud<PointT>::operator new' : no overloaded function takes 3 arguments PCL 라이브러리를 사용하다보니 아래와 같은 오류가 발생하였다.error C2661: 'pcl::PointCloud::operator new' : no overloaded function takes 3 arguments PCL 라이브러리에서 제시한 방법으로 선언을 했지만 어이가 없게도 new 연산자에서 오류가 난다....PointCloud::Ptr cloud(new PointCloud);// x, y, z, r, g, b 구글링을 해보니 잘 나오지 않았는데 www.pcl-user.org 에서 heap을 늘려보라는 생각치도 못한 답변이.... 프로젝트의 속성 > C/C++ > 명령줄의 추가 옵션 부분에 /Zm1000를 입력하고 확인 버튼을 누르니 놀랍게도 오류가 사라졌다....factor의 값메모리 할당 .. 더보기
C++ 표준 라이브러리 헤더 파일 출처 : http://ko.cppreference.com/w/cpp/header C++ 표준 라이브러리 헤더 파일 C++ Standard Library header files C++ 표준 라이브러리의 인터페이스는 아래의 헤더 파일들 내에 정의되어 있습니다.유틸리티 라이브러리범용 유틸리티: 프로그램 통제, 동적 메모리 할당, 난수, 정렬 및 탐색시그널 관리를 위한 함수와 매크로 상수Macro (and function) that saves (and jumps) to an execution context가변 길이 인수 목록의 처리런타임 자료형 정보 유틸리티 (since C++11)std::type_index (since C++11)컴파일 시간 자료형 정보std::bitset 클래스 템플릿표준 알고리즘과 함께 .. 더보기
error C3859: PCH에 대한 가상 메모리 범위를 초과했습니다.에러 출처 : http://blog.naver.com/PostView.nhn?blogId=jinlee25&logNo=40088677597 error C3859: PCH에 대한 가상 메모리 범위를 초과했습니다. 명령줄 옵션을 '-Zm값' 이상으로 지정하여 다시 컴파일하십시오.fatal error C1076: 컴파일러 한계 : 내부 힙 한계에 도달했습니다. /Zm을 사용하여 한계를 더 높게 지정하십시오.툴만들려고 하니 날 당황스럽게 한 에러.위에러는 미리컴파일한 헤더 결과 용량이.. 미리 컴파일한 헤더 이용할때 생기는 PCH파일 할당용량이 보다 더 크게 될때 발생한다고 한다.(이렇게 쓰니 좀 이상해지네 아무튼 PCH 용량부족하다고VS가 츤츤데는것다)(미리 컴파일해 놓은 결과인 PCH 파일을 사용한다.)당황하지말고.. 더보기
error C2589 에 대한 고찰과 문제 해결방법 출처 : http://tommyhsm.tistory.com/100 MFC에서 PCL을 사용하려고 작업하는 중에, 다음과 같은 에러가 떴다. ...Warning C4003: 'max' 매크로의 실제 매개 변수가 부족합니다.error C2589: '(' : '::' 오른쪽에 잘못된 토큰이 있습니다.error C2988: 템플릿 선언/정의를 인식할 수 없습니다.error C2059: 구문 오류 : '::'... 도대체 뭐가 문제일까.. 하면서 고민 하던 중, 공통점은 max 매크로의 실제 매개 변수가 부족하다 라는 공통된 경고를 깨닫게 되었고, error C2589로 검색을 하던중, 한 블로그에 들어가서 문제점과 해결방법을 알게 되었다. 참조 블로그 링크 : http://blog.naver.com/smurfe.. 더보기
[OpenCV] RGB Color를 Grayscale로 변환하기 출처 : http://cinema4dr12.tistory.com/entry/OpenCV-RGB-Color%EB%A5%BC-Grayscale%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0 이번 글에서는 OpenCV에서 RGB 컬러를 Grayscale로 변환하는 방법에 대하여 알아보도록 하겠다. 우선 이론적으로 살펴보면, 가장 널리 사용되는 방법 중 하나가 Luma Coding(https://en.wikipedia.org/wiki/Grayscale)을 이용한 방법인데, 수식은 다음과 같다: 여기서, R', G', B'은 Red, Green, Blue 채널에 대한 비디오 시스템의 Gamma-compressed 값이다. 이들로부터 계산된 Y'은 비선형 Luma 컴포넌트(Non.. 더보기
이클립스 실행시 JVM 지정 이클립스를 실행할 때 환경변수에 JAVA_HOME을 넣지 않는 경우 이클립스 시작시 다음과 같은 메세지를 출력한다.(필자는 자바 업데이트를 수행하였는데 갑자기 이런 문제가 발생하였다...) 이는 이클립스가 구동될 때 JVM을 못찾아서 그런 것이다. JAVA_HOME 환경변수를 잡으면 해결이 되긴 하지만, 그렇게 되면 다른 어플리케이션에도 환경변수가 영향을 미칠 수 있기 때문에 이클립스에만 jvm 위치를 지정하는 경우가 좋을 수도 있다. 방법은 eclipse.ini 파일을 편집하여 다음과 같이 빨간 부분을 추가 해주면 해결된다. -startupplugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar--launcher.libraryplugins/org.eclips.. 더보기
MFC에서 Web Browser Control을 사용했을 때 IE버전이 다를 경우 Script Error가 발생할 때가 있는데 PC는 64bit일 때 출처 : http://www.cnblogs.com/philzhou/archive/2012/12/02/2798204.html 위의 사이트에 들어가보면 영어로 쏼라쏼라 돼있다....구글링해서 많은 한글 사이트를 뒤져보다보면 아래와 같은 레지스트리 경로에 "자신의 어플리케이션.exe" 형태로 DWORD를 등록하라고 나온다.등록했지만 해결이 되지 않았다.... 끈질긴 구글링 끝에 해결책을 찾았다... 나는 현재 64bit 환경에서 개발을 하고 있기때문에 아래의 64bit 일 때의 경로에 "자신의 어플리케이션.exe" 형태로 DWORD를 등록하고 값(Value)은 자신의 Internet Explorer 버전 x 1000을 써주면 된다(물론 10진수 형태로... IE 11을 사용할 경우 11000) There ar.. 더보기
cout 출력 포맷 설정하기 출처 : http://repilria.tistory.com/243 cout은 ostream의 메서드이며, ostream 클래스는 ios 클래스로부터 상속되고, ios 클래스는 ios_base 클래스로부터 상속된다. ios_base 클래스는 출력 상태를 서술하는 정보를 가지고 있다. 1. 진법 변경 Manipulator를 사용하여 화면에 정수를 출력할 때 사용되는 진법을 제어하며, ios_base의 멤버 함수를 사용하여 필드 폭과 소수점 아래 자릿수를 제어할 수 있다. 즉, hex(cout)과 같은 함수 호출은 cout 객체의 수치 출력을 16진수로 설정하며, 다른 진법으로 다시 설정될 때 까지 모든 정수들을 16진법으로 출력한다. 또한 cout 더보기
MFC에서 콘솔(console) 출력하기 출처 : http://stupidmb.tistory.com/41 MFC 프로젝트에 보면 stdafx.cpp 있잖아요? 거기에... #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:console") 추가하면 실행시 콘솔창이 뜨고 거기에 printf 등의 결과가 출력됨~~ 끄읏~ 더보기