자바 어플리케이션 성능 향상 방법(쓰레드 배치 성능 향상)

Posted by Breeze24
2016. 10. 31. 21:29 Java

자바 프로그램을 사용하다 보면 자바로 만든 어플리케이션이 뜻하지 않게 느려지는 경우가 발생한다. 

특히 쓰레드를 여러 개 생성해 사용하는 배치 프로그램일 경우는 개별 쓰레드로 보면 느리지 않는데, 쓰레드가 몇 개 늘어나다 보면 더욱 더 느려지는 경우도 있다. 


단일 쓰레드라면은 프로그램 사이사이에 시간을 로깅하여 이 것으로 성능 향상이 필요한 구간을 찾을 수 있지만 멀티 쓰레드 프로그램이라면은 찾기가 어려워 진다. 


특히 단일 쓰레드에서는 빠른데, 멀티 쓰레드로 할 때만 급격히 느려진다면, 아래 사항을 확인해 보자. 

.

자바 어플리케이션 성능 향상 방법


글쓴이의 경우는 초기에 OS의 소켓 생성 갯수가 영향을 미칠 수 있나에 대해 의심하고 찾아보았으나, 큰 문제가 없었다. 


그러다 GC를 확인해 보니, 특이한 점이 있었다. 

중간 중간에 GC가 발생하는데, 생각 보다 많은 힙의 반환이 발생했다. 


자바 어플리케이션 성능 향상 방법


이를 토대로 자바 프로그램 안에서 꼭 클래스 변수로 실행될 필요가 없는 것들을 static으로 선언하였다. 

특히 logger를 static으로 선언했을 때 속도가 빨라졌다. 


private static Logger logger = Logger.getLogger(File.class);


위의 내용을 참고하여 프로그램 안에서 메모리를 효율적으로 사용하도록 코딩하면 멀티 쓰레드의 자바 어플리케이션의 성능도 많이 향상될 것이다. 
.


html5 예제 (기본 형식)

Posted by Breeze24
2016. 10. 29. 08:54 Web

html5를 시작할 때마다 자주 사용하는 샘플이 있다. 

이번 포스팅에서는 html5의 예제와 기본 형식에 대해 알아보자. 

html5 기본 형식



html5 예제

코드는 아래 링크에서 다운로드 받을 수 있다. 


html5 예제.txt

.

<!DOCTYPE html>

<html>

<head>

    <title>Html5 예제</title>

    <script language="JavaScript">

      <!--

      function submit(){

            alert('제출했습니다.');

      }

      //-->

      </script>

</head>

<body>

     <form action="" method="post">

     <ul>

            <li>이름 : <input type="text" name="testField"/></li>  

            <li><a href='javascript:submit();'>제출하기</a></li>

      </ul>

     </form>

</body>

</html>

 


구글 맵과 네이버 맵 가격 비교(구글 지도 VS 네이버 지도)

Posted by Breeze24
2016. 10. 21. 01:30 Android/lecture

지도가 들어가는 어플을 만들다 보면 항상 고민스러운 것이 있다. 

구글 맵과 네이버 맵 둘 중에 어떤 것을 사용해야 하는가에 대한 고민이다. 

둘 다 API에 대해  예제 등이 잘 되어 있다 보니 어떤 것을 선택해야 하는지가 고민스럽다. 


여기서 중요하게 고민해야될 것 중의 하나가 지도 API 사용시에 향후 비용이 발생되는지에 대한 것이다. 

초기에는 무료로 사용가능하지만 일정 수준 이상의 트래픽이 발생하게 된다면 비용을 부담해야 될 수도 있다. 


개발중이 어플 또는 웹이 하루에 어느 정도의 트래픽이 발생할 것인지를 예상을 해서, 예상된 트래픽에 대해 어느 정도의 비용이 발생하는 지를 계산해 보아야 향후 발생될 비용에 대해 예측을 할 수 있을 것이다. 


나중에 트래픽이 크게 발생하여 비용을 부담해야될 상황에 처했는데, 비용을 부담할 수 없으니, 다른 지도 API로 바꾸라고 한다면 개발자 입장에서는 정말 짜증나는 일일 것이다. 

이런 것을 방지하기 위하여 애초에 지도 API의 비용을 예측하여 향후 일어날 노가다를 예방하는 것이 합리적인 일처리일 것이다. 


이번 포스팅에서는 네이버 맵과 구글 맵의 비용에 대해 알아보자. 


구글 맵(구글 지도)API 비용

아래 그림을 보자. 구글 develpoer 홈페이지에 나와 있는 내용이다. 

작성하려는 앱 또는 웹 사이트 유형에 따라 가격이 달라지게 된다. 


누구나 무료로 사용할 수 있는 앱 또는 웹사이트인지, 유료 앱 또는 웹 사이트인지, 초대 전용 앱 또는 웹 사이트인지 등에 대해 요금이 달라진다. 

여기서 누구나 무료로 사용할 수 있는 앱 또는 웹사이트를 선택하게 되면 가격 상세 화면이 나온다.

구글 맵 가격

가격 상세 화면을 보면 안드로이드의 표준 요금은 무제한 사용이라고 되어 있으나, 옆의 주석을 클릭하게 되면 기본 플랜 가격 계산기가 나온다. 

자바스크립트 API 같은 경우는 요청 볼륨 예상이 일 27,500이 되면 1$의 비용이 발생한다. .

보통 일 25,000 요청까지는 무료이나 그 이상은 비용이 발생하게 된다. 

요청하려는 API마다 가격이 다르므로, 사용하려는 API를 선택해서 가격을 알아봐야 한다. 

구글 지도 가격

구글 지도 API 가격 계산기

자세한 내용은 아래 주소를 참조하면 된다. 


구글 지도 API 바로가기


네이버 맵(네이버 지도) API 비용

네이버 지도 API는 웹일 경우 하루에 10만개의 요청을 무료로 제공하고, 모바일일 경우는 일 5000개의 요청을 무료로 제공한다. 이 이상일 경우에는 제휴를 요청하여 심사를 받아 이상이 없으면 제휴가 체결이 되는데, 이 때에도 네이버 지도 API는 무료로 사용이 가능하다. 

.

네이버 지도 API 가격

네이버 지도 API 비용


이런 이유로 개발중인 앱 또는 웹이 일 트래픽이 25,000이상이 발생할 것 같다면 구글 맵 API 보다는 네이버 맵 API를 사용하는 것이 비용면에서는 더 합리적인 선택이 될 것이다. 


네이버 지도 API 바로가기