진형아빠이야기

안녕하세요.

진형아빠입니다.


위메프에서 결제를 하려고 하는데...모듈 설치 문제로 계속 무한반복이 계속되서 해결방법을 찾아보고 이렇게 정리합니다. 

안전한 결제를 위해서..~~~한 후 계속 설치하라고 하면서 무한 반복이 될때는 여기 첨부된 파일을 설치하시면 해결될수 있습니다. 정말 언제나 피곤한 윈도우와 익스입니다. ㅜㅜ

윈도우 7 32bit기준이라서...다른곳에서 정상적으로 될지는 확인하지는 못했습니다. 참고하세요.


ISPSetup_Vista.exe


64비트용은 안된다고 해서 VP에서 찾은 결제모듈 수동 설치파일


VPWSSetup_C.exe





신고

Comment +14

안녕하세요.

진형아빠입니다.


wro4j를 사용해보면서 겪었던 에러?를 공유하려고 합니다.


해외의 유명 파to the 워 개발자분들의 블로그를 보고 pom.xml을 수정했는데 아래와 같은 에러가 딱하고...납니다.

첨엔 당황했지만...이내 평정을 찾고...이것저것 해결방법을 찾아보다가...가장 쉬운방법은 메이븐 wro4j 플러그인 을 받는거더라고요.

위의 메세지를 마우스 클릭하시면 해결가능한 방법이 나오는데 그중에서 메이븐 플러그인 설치를 선택해서 진행했습니다.

이클립스 마켓플레이스에서 꼭 찝어서 찾아줍니다.

라이센스 및 동의...많이 해보셧을테니...설명은 스킵


끝내고 리붓하시고나면...execution이 이렇게 에러없이 아름답게 나오는걸 확인 할 수 있습니다.


신고

Comment +0

안녕하세요.


진형아빠입니다.


MySQL업데이트 시 전체를 한번에 업데이트 할때 발생할 수 있는데요. 

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 0.0051 sec


사실 에러 메세지에 해결 방법이 있습니다. 

Preferences -> SQL Editor에 가셔서 다음의 문장 체크를 해제하고 다시 실행시키시면 됩니다.

하단의 Safe Updates를 해제하시면 됩니다.


신고

Comment +0

안녕하세요.

진형아빠입니다.

오늘은 406에러를 해결한 방법을 공유할까 합니다. 

사실 공유라고 해놓고 제가 자주 똑같은 에러로 삽질하는 걸 막고자하는 기록 용도입니다 ㅎㅎㅎ


뭐 여러 이유가 있겟지만 저 같은 경우는 controller의 @RequestMapping의 produces를 잘못 기술해서 발생한거더군요.

@RequestMapping(value="/add", produces="text/plain;charset=UTF-8", method = RequestMethod.POST)

public ~~~~

간단하게 json으로 클라이언트에서 보냈는데 서버에서는 text/plain으로 받아서 그랬던 거였어요.

produces="application/json;charset=UTF-8" 이 부분을 application/json으로 변경해서 해결!!




신고

Comment +0

안녕하세요. 

진형아빠입니다.


Ambiguous mapping found. Cannot map ~~xxxController~~라는 에러를 만났네요.

사실 거의 에러라서 뭐지 했는데요. 

Controller의 @RequestMapping의 값이 중복되어서 나타나는 에러입니다.


AController

@RequestMapping(value="/board", method= RequestMethod.GET)
public String getInfo(){ ~~~)


이렇게 되었다면 

BController

@RequestMapping(value="/board", method= RequestMethod.GET)
public String getRestInfo(){ ~~~)


이런 식으로 메서드와 클래스명은 다르지만 RequestMapping이 중복되어서 나오는 에러입니다.

둘중 하나를 변경하시면 에러 해 to the 결!!!!


신고

Comment +2

안녕하세요.

진형아빠입니다.


오늘은 Javascript의 No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8090' is therefore not allowed access. 의 에러 해결 방법에 대해서 이야기를 해볼까 합니다.


원인

이 현상이 나오게 된데는...Same origin policy 원칙때문입니다.

http://en.wikipedia.org/wiki/Cross-origin_resource_sharing 

뭐 영어라서 잘 안읽히지만...ㅎㅎㅎ


간략히 설명을 하자면...html을 받은 서버로만...data요청(ajax)을 할수 있다는 원칙입니다.

보안상의 이유로 이런 원칙이 생겼지만..요새 같은 경우는 web서버와 rest api was를 분리하기도 하고...

open api로 매쉬업을 하는 등 이런 제약이 약간 구닥다리 문제처럼 됩니다 

뭐 해결하는 몇가지 방법이 있지만...


제가 stackoverflow에서 본것은 같은 도메인에서 요청을 하라는 내용이었지만...

저 같은 경우는 웹서버와 와스를 분리해서 개발 및 운영을 할 생각이라서...패스하고...방법을 찾았습니다.

ORS(Cross Origin Resource Sharing)로 검색을 해보시면 해결책이 있는데요.

저는 spring boot를 사용해서 그에 대한 해결방법을 알려드릴까합니다.


다음의 링크에서 스프링에서 그 해결책을 알려주고 있습니다 .

http://spring.io/guides/gs/rest-service-cors/

원격도메인에서의 ajax접근을 차단하는 것이니 서버에서 모든 도메인에서의 원격 접근을 허용하면되겠고...해답은 HTTP헤더에 이 한줄만 추가해주면 됩니다.

Access-Control-Allow-Origin: *

다른 클래스에 대한 설명은 넘기고 CORS필터를 만들어서 response header에...다음의 내용을 추가하면 됩니다. 

package hello;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;

@Component
public class SimpleCORSFilter implements Filter {

	public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
		HttpServletResponse response = (HttpServletResponse) res;
		response.setHeader("Access-Control-Allow-Origin", "*");
		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
		response.setHeader("Access-Control-Max-Age", "3600");
		response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
		chain.doFilter(req, res);
	}

	public void init(FilterConfig filterConfig) {}

	public void destroy() {}

}

문제가 하나있는데요. 

이 CORSfilter의 방법은 XHR Lv2이상의 브라우저에서만 동작을 한다고 합니다. 즉..IE8에서는 안되요. 이 부분을 어떻게 고려하셔야 가능할 듯 합니다. ㅜㅜ



신고

Comment +0

안녕하세요.

진형아빠입니다.

MySQL에서 아마도 프로젝트 시작 시 이런 에러를 만날수 있을 듯 합니다.


저도 MySQL을 오랜만에 써봐서...ㅜㅜ


암튼 MySQL Incorrect string value 발생시 로그를 잘보시면 한글이 이상하게 인코딩이 되어있을겁니다.

이렇게 한글이 안되는것은 무조건!!! 100% 인코딩 설정 문제입니다. 

저 같은 경우는 스키마를 기본으로 사용했었는데요. 해당 스키마가 latin1이라서 그런거 같습니다.

utf-8로 바꿔도 잘 안바뀌는 내역이 있어서 콘솔창에서 ALTER로 해당 내역을 바꿀수도 있지만...

초기 시라면...다 귀찮코...그냥 스키마를 드랍하시고 다시 utf-8로 제대로 만드시면 됩니다.

뭐 euc-kr로 만드는 방법도 있지만 그냥 utf-8쓰세요. 나중에 고생합니다. ㅎㅎㅎ



신고

Comment +0

안녕하세요.

진형아빠입니다.


Uncaught referenceError: JQuery is not defined

웹쪽을 개발하다가 위와 같은 에러에 만나게 되었습니다.

위와 같은 에러를 브라우저의 콘솔창에서 맞닥뜨렸는데요.

아주 간단한 해결방법입니다. 


문제는 jquery 플러그인을 먼저 넣으시면 됩니다.

<script src="js/jquery-1.xx.x.min.js"></script>

위의 문장을 추가하거나...

js import 들 중 가장 먼저 올리시면 됩니다.




신고

Comment +0

안녕하세요.

진형아빠입니다.


google app engine으로 deploy중 어떤 이유에서 transaction이 비정상적으로 계속해서 돌고 있을 경우...

다시 deply를 하려고 하면 위의 메세지를 보실수 있을 겁니다.


기다리다보면...언젠가 트랜잭션이 죽긴하겠지요? 하지만 그때까지 기다릴수만은 없으니...해결책이 필요합니다.

바로  appcfg.py rollback    인데요.

Step by Step으로 한번 해결해보도록 하겠습니다.


Step1.   Move to appengine bin directory

우선 Appengine의 bin 디렉토리로 이동합니다.

이클립스의 플러그인을 기준으로 설명드리겠습니다.

/eclipse/plugins/com.google.appengine.eclipse.sdkbundle_1.9.17/appengine-java-sdk-1.9.17/bin

이클립스가 어디에 있을지는 모르지만 이클립스를 기준으로 위와 같은 디렉토리로 이동합니다. 

appengine의 버전이 다를 경우는 위 디렉토리의 버전만 바뀌게 되겟지요.


Step2. run appcfg.py rollback

해당 디렉토리에서 ls 명령어를 쳐보시면 appcfg.py가 존재할겁니다.

./appcfg.sh rollback /workspace/<ProjectName>/war

위와 같이 명령어를 입력하시면 됩니다. rollback 뒤의 내용은 appengine에서 deploy failed가 된 프로젝트의 디렉토리 입니다.


그럼 다음과 같은 메세지를 확인하실수 있을겁니다. 

Success 메세지를 확인하신 후에 다시 deply를 해보세요.



신고

Comment +0

안녕하세요.

진형아빠입니다.


이번에 요세미티로 업그레이드 후 Eclipse실행시 "  you need Java SE 6 runtime", " java 레거시 1.6" 어쩌구 하는 메세지시 해결책입니다.


Solution1. 

Just OSX Java SE6 

http://support.apple.com/kb/dl1572

이 방법은 자바6를 설치하는 것으로 별로 추천해드리고 싶지 않네요.


Solution2.(I prefer this way.)

Step1. 

Open osx Terminal and move location

put down "pwd" command in your terminal, you have to see like below.

/Library/Java/JavaVirtualMachines/jdkxxxx.jdk/Contents

터미널을 열어서 위의 폴더로 이동합니다.


Step2.

Open Info.plist, just put down "vi Info.plist"

vi Info.plist를 커맨드라인에 쳐서 해당 파일을 엽니다. 


Step3. 

Find below Tags.

<key>JVMCapabilities</key>

<array>

  <string>CommandLine</string>

</array>

위의 태그를 찾습니다.


Step4.

Replace Step3 Tag to like below.

<key>JVMCapabilities</key>

<array>

  <string>JNI</string>

  <string>BundledApp</string>

  <string>WebStart</string>

  <string>Applets</string>

  <string>CommandLine</string>

</array>

찾은 태그를 위의 태그로 변경하시면됩니다. 


신고

Comment +0