2014년 4월 30일 수요일

Eclipse의 Maven plugin으로 Tomcat에 WAR 배포하기

프로젝트를 진행하면서 웹 프로젝트를 배포하는데..

너무 무식한 방법으로 배포를 하는 나를 발견했다..

Eclipse에서 로컬에 WAR로 배포한 다음에 FTP로 서버에 배포..

아니면 톰캣 매니져 사용해서 배포..

실신

이게 무슨 짓인가..싶어서 찾아봤더니 아주 좋은 방법이 있었다!

바로 Eclipse의 Maven plugin을 통해 Tomcat에 배포하는 것!

 

설정 방법은 아래와 같다.

  1. Tomcat의 유저 설정을 한다. (tomcat-user.xml)
    <role rolename="manager-script"/>
    <role rolename="manager-gui"/>
    <user username="tomcat" password="s3cret" roles="manager-gui,manager-script"/>

    배포에 사용할 유저의 role에 manager-script라는 role을 반드시 부여해야 한다.

  2. Project의 pom.xml 파일에 Maven plugin 설정을 추가한다.
    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat6-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
    <url>http://192.168.100.232:8080/manager</url>
    <username>tomcat</username>
    <password>s3cret</password>
    </configuration>
    </plugin>
    <plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
    <url>http://192.168.100.232:8080/manager</url>
    <username>tomcat</username>
    <password>s3cret</password>
    </configuration>
    </plugin>

    매뉴얼에는 아래와 같이 나와있지만..아래 URL을 사용하니 403 에러가 떨어졌다.. 그냥 /manager를 사용하니 성공
    * Use http://localhost:8080/manager/text rather than the default tomcat6 url.

  3. 1, 2단계를 거치면 설정은 완료된 것이다.
    Eclipse의  Maven 메뉴에서 Update project를 선택해서 프로젝트를 업데이트 시킨다.
    %Project_Name% -> Maven -> Update project


  4. Maven Build를 설정한 다음 Run. (이후 부터는 Maven Build만 하면 된다.)
    %Project_Name% -> Run As.. -> Maven Build...
    Goals : tomcat6:redeploy or tomcat7:redeploy


 

이렇게 한 후 배포가 참 쉬워졌다.

역시 삽질을 해야 한걸음 나아갈 수 있구나..ㅠ

화르르

2014년 4월 25일 금요일

Wordpress Jetpack 모바일 테마에 adsense 달기

Wordpress를 사용하면서 Jetpack은 없어서는 안되는 플러그인 중의 하나이다.

Jetpack에서는 블로그가 모바일에 최적화 되도록 모바일 테마를 제공한다.

모바일 테마를 설정하면 간편하지만 하나의 테마이기에 원래의 블로그와 분위기가 달라지는 단점이 있다.

또 하나의 단점은 블로그에 적용시켜 놓은 광고(adsense)가 모바일 페이지에서는 적용되지 않는 다는 점!ㅠ

하지만 해당 모바일 테마의 소스에 광고 스크립트만 적용 시킨다면 이 문제는 해결된다.

파일의 위치는 아래와 같다.







/%워드프레스_설치경로%/wp-content/plugins/jetpack/modules/minileven/theme/pub/minileven/header.php

해당 파일을 편집기로 열어서 <body> 태그 아래에 광고 스크립트만 넣어주면 끝!

217ㅐㅏ
<body <?php body_class(); ?>>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 광고 이름 -->
<ins class="adsbygoogle"
style="display:block"
data-ad-client=""
data-ad-slot=""
data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
<div id="wrapper">

위와 같이 적용하면 아래와 같이 모바일 페이지에서 광고가 뜨는 것을 확인할 수 있다.

[caption id="attachment_915" align="aligncenter" width="234"][ 광고 적용 모습 ]

Cocos2d-x stable version of v3.0 release!

[caption id="attachment_910" align="aligncenter" width="480"][ Cocos2d-x v3.0] [ Cocos2d-x v3.0][/caption]드디어 cocos2d-x 3.0의 stable 버전이 release 되었다.

이 얼마나 기다리고 기다리던 버전인가..ㅠㅠ

대충 살펴봤을 때는 큰 변화는 없어보인다.

[릴리즈 노트 확인하기]

그런데 눈에 띄는 무언가 있다.

Cocos Code IDE beta 버전도 함께 release 되었다.

Lua/Javascript로 개발할 때 사용할 수 있는 IDE인 것 같다.

Cocos Code IDE

나는 해당 사항 없으니까 패스..

이와 함께 Cocos2d-x 3.0을 지원하는 CocoStudio v1.3.0.1도 release 되었다.

이것 또한..아직 사용하지 않으니까 패스..

2014년 4월 23일 수요일

공모전 응모작의 저작권은 창작자에게

개발 일을 하면서 이런 저런 공모전에 관심이 많았는데..

하나같이 응모작의 저작권은 주최 측에 귀속되었다.

처음엔 말도 안되는 것이라 생각해서 응모도 안했는데..

드디어 저작권 문제를 명확하게 해주는 가이드라인이 마련되었다.

정말 상금 조금 주고 아이디어를 가져간다는 것은 말도 안되는 것이다..

(어느 회사는 이력서 받는데 소스 달라더라..ㅋㅋ)

아무튼..공모전이랍시고 소스나 이미지 PSD 받는 회사들..

이제 그런 짓 못하겠구나..

일단 가이드라인의 주요 내용은 다섯가지다.

다섯가지 내용은 아래에 있으며 이번 가이드라인의 적용 대상은 창작동영상(UCC), 캐릭터, 포스터, 시, 에세이, 디자인 공모전 등 창작공모전은 모두 해당한다.

자세한 내용은 [문화체육관광부 홈페이지]에서 확인 가능하다.




첫째, 공모전에 출품된 응모작의 저작권은 저작자인 응모자에게 원시적으로 귀속된다.

둘째, 공모전의 주최 측은 응모작들 중 입상하지 않은 응모작에 대해서는 어떠한 권리도 취득할 수 없으며, 입상한 응모작에 대해서도 저작재산권의 전체나 일부를 양수하는 것으로 일방적으로 결정하여 고지할 수 없다.

셋째, 저작권이 공모전의 주최 측에 귀속되는 것으로 정하는 예외 사유를 둘 수 있으나, 이 경우에는 그에 합당한 충분한 대가를 지급하여야 한다.

넷째, 공모전에서 입상한 응모작을 이용하기 위해, 공모전 주최 측은 필요한 범위 내에서 해당 응모작에 대한 이용허락을 받는 것을 원칙으로 한다. 다만, 이용허락을 하는 경우, 공모전 주최는 저작권자인 응모자의 권리를 지나치게 해하여서는 아니 되며, 그에 상응하는 보상을 하여야 한다.

다섯째, 공모전에서의 저작권과 관련하여 분쟁이 발생하는 경우, 응모자나 주최 측은 한국저작권위원회에 조정을 신청하여 해결할 수 있다. 양 당사자는 원만한 분쟁 해결을 위해 상호 노력하여야 한다.

 

2014년 4월 16일 수요일

cocos2d-x 3.0 rc2 released!

cocos2d-x 3.0 rc2 버전이 릴리즈 되었습니다.

바뀐 점을 대충 발로 번역해 보면 아래와 같습니다.

영어를 잘 못해서 번역을 제대로 한 것인지 모르겠지만..ㅋㅋ




Fixed

  • Cocos2dxHelper.runOnGLThread() 가 안드로이드에서 제대로 동작합니다.

  • 안드로이드 4.2 이상의 디바이스에서 충돌이 발생한 ics(ice cream sandwich)의 jni local reference가 변경되었습니다.

  • Auto-culling이 회전된 스프라이트와 제대로 동작합니다.

  • setup.py : 환경변수를 적용시키기 위한 재부팅이 필요하지 않습니다.

  • cocos 콘솔에서 생성된 프로젝트는 iOS 5.1기반의 iOS 디바이스에서 충돌할 것입니다. (고쳐졌다는 내용이겠죠..?)

  • 기타 마이너 버그 수정






원본


Fixes



  • Cocos2dxHelper.runOnGLThread() works as expected on Android

  • jni local reference changed in ics caused crash on Android devices with Android 4.2 or higher

  • Auto-culling works as expected with rotated sprites

  • setup.py: no need to re-boot Windows in order to make environment variables to take effect

  • Project created by cocos console will crash on iOS devices with iOS 5.1

  • And other minor bug fixes



Full Changelog


Read the complete changelog

 

 

2014년 4월 8일 화요일

윈도우 7 언어팩(Windows 7 Language Pack)

 

[caption id="attachment_894" align="aligncenter" width="759"][ 윈도우 7 언어팩 ] [ 윈도우 7 언어팩 ][/caption]윈도우를 설치하고 나서 다른 언어의 윈도우를 사용하고 싶을 때 MS에서 제공하는 윈도우 7 언어팩(Language Pack)을 사용하면 된다.

이 기능은 Windows 7 Ultimate이나 Enterprise Edition에서만 제공되며 언어팩을 다운로드 받아서 설치하기만 하면 원하는 언어의 윈도우를 사용할 수 있게 된다.

MS 사이트에서는 이 방법을 동영상으로 쉽게 설명해 놓았다.

사용 가능한 언어는 아래와 같으며 원하시는 분은 아래 링크를 통해 다운로드 및 설치하기 바란다.

[언어팩 설치 동영상] [언어팩 다운로드]

* 사용 가능한 언어





















































































































































한글 이름현지 이름



아랍어




العربية




불가리아어




Български




중국어(간체)




中文 (简体)




중국어(번체)




中文 (繁體)




크로아티아어




Hrvatski




체코어




Čeština




덴마크어




Dansk




네덜란드어




Nederlands




영어




English




에스토니아어




Eesti




핀란드어




Suomi




프랑스어




Français




독일어




Deutsch




그리스어




Ελληνικά




히브리어




עברית




헝가리어




Magyar




이탈리아어




Italiano




일본어




日本語




한국어




한국어




라트비아어




Latviešu




리투아니아어




Lietuvių




노르웨이어(복말)




Norsk Bokmål




폴란드어




Polski




포르투갈어(브라질)




Português




포르투갈어(포르투갈)




Português




루마니아어




Română




러시아어




Русский




세르비아어(라틴 문자)




Srpski




슬로바키아어




Slovenčina




슬로베니아어




Slovenski




스페인어




Español




스웨덴어




Svenska




태국어




ไทย




터키어




Türkçe




우크라이나어




українська