요즘 자바의 Graphics을 이용하여, 유틸리티를 만들고 있습니다.


drawImage 함수의 경우 제목 표시줄을 제외하고 


실질적은 Graphics 프레임 영역에서 부터 0,0이 시작됩니다.


그런데 drawString은 제목 표시줄의 영역부터 0,0이 시작됩니다.


그래서 drawString을 0,0내 찍으면 제목표시줄에 가려서 보이지가 않습니다.



그냥 Y 좌표에 대략적으로 +10, +12 정도 주고 사용해도 되겠지만,


자바의 특성상 다른 OS에 갔을때 제목표시줄의 크기가 변할것 같은 찜찜함에 


해결 방법을 찾아봤습니다.


https://stackoverflow.com/questions/45227294/setting-drawstring-so-0-0-is-inside-the-draw-area

에서 해법을 찾았습니다.


기준의 위치를 바꿔주면 됩니다.



  FontMetrics fm = g.getFontMetrics();

    g.translate(0, fm.getAscent());

   

    Font font = new Font ("font/NanumBarunGothic.ttf", Font.PLAIN, fontSize); 

    g.setColor(color);

    g.setFont (font);

    g.drawString(str, x, y);

   

   

    g.translate(0, 0);


위와 같이 기준점을 fm.getAscent() 함수를 이용해 변경해서 drawString 글자를 찍고


다시 원래대로 g.translate(0, 0); 돌려줍니다. 


위와 같은 방법으로 문제를 해결했습니다.




신고


data_string.replaceAll("<script([^'\"]|\"[^\"]*\"|'[^']*')*?</script>", "");


해당 구문을 이용하여 문자열에 포함된 스크립트 부분을 삭제하려했다.


원래 저 정규식은 자바스크립트에서 많이들 쓰는 정규식이라 

그대로 자바로 바꿨을 뿐인데 아래와 같은 에러가 뿜뿜.



정규식을 처리하기 위해 재기호출을 미친듯이 하다가 그냥 넘쳐버린듯 하다.


다시 열심히 검색해보니,


Pattern과 Matcher 를 이용하는 방법을 찾을수 있었다.



                                                // 스크립트 제거

Pattern SCRIPTS = Pattern.compile("<script([^'\"]|\"[^\"]*\"|'[^']*')*?</script>",Pattern.DOTALL);

Matcher m;

m = SCRIPTS.matcher(data_string);

data_string = m.replaceAll("");




위와 같이 응용후 에러가 해결되었다.



신고


이번에 아파치 웹서버를 nginx로 변경했는데 위와같은 에러로그가 많이 쌓였어요.

해결 방법은


#vi /etc/nginx/conf.d/default.conf 

 

location ~ \.php$ {

    root           /usr/share/nginx/html;

    fastcgi_pass   127.0.0.1:9000;

    fastcgi_index  index.php;

    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

    fastcgi_max_temp_file_size 0;

    fastcgi_buffer_size 4K;

    fastcgi_buffers 64 4k;

    include        fastcgi_params;

}



굵은 글씨 부분 추가 하시면 됩니다.



신고



마켓에 등록용 apk를 Export 중!


위와같이 에러가 발생하면, Buid-tools 의 문제입니다. 


Android SDK Manager 을 실행후 

Android SDK Build-tools 을 설치하거나 최신 버전이 아니시면 최신버전으로 업데이트 하시면 됩니다. 




그후에 이클립스를 꼭 재시작 해주세요. 


이클립스 재시작후 다시 Export 하시면 정상적으로 진행됩니다. 






신고



java.lang.NoClassDefFoundError: WCsTool/WCsTool

Caused by: java.lang.ClassNotFoundException: WCsTool.WCsTool

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

Exception in thread "main" 




잘되던 프로젝트가 위와같은 에러를 뿜어 내며 죽었다 '-' 



컨트롤 + Z 로 돌려도 마찬가지다


문제는 java build path에 추가했던 라이브러리를 삭제하면서 빌드 패스를 삭제해 주지 않아서이다.




Properties - java build path 의 Libraries 에 X 표시된 라이브러리가 있을겁니다.

지워주세요. 





신고


1.  APP ID 안에 In-App Purchases 할것을 등록 하였습니까?
아래와 같이 등록을 하셔야합니다.

2. In-App Purchases 등록 할때 checked Cleared for Sale 에 체크 를 하였습니까?

3. 에플리케이션 바이너리를 등록하셨습니까?

4. 새 App ID 의 provisioning profile로 인스톨 하셨습니까?

5. iphone 3.0 이상으로 선택하여 빌드하셨습니까?

6. SKProductRequest를 사용할때 전체 product ID 를 사용 하였습니까?

7. iTunes Connect 에 등록후 몇시간 기다려 보셨습니까?

8.iTunes Connect에 당신의 bank detail이 active 상태로 되어 있습니까?

9. 디바이스로 부터 앱을 지운후 다시 리인스톨 해보셨습니까?




애플에서는 위의 사항들을 체크 하라고 합니다. 


하루죙일 삽질하다가 드디어 찾았습니다. 


전 8번의 계좌 정보와 컨텍 포인트의 미설정이 문제였습니다.


알고 나니 쉬운 문제인데 하루종일 원인을 못찾아서 머리 싸메고 있었네요 ...... 







신고


VS 2010에서 위와 같은 에러가 발생 한다면


프로젝트 속성-매니페스트도구-입력 및 출력 - 매니패스트포함 "아니오" 


하면 됩니다. 






신고

+ Recent posts