'Client-Side'에 해당되는 글 22건

  1. 2010.04.28 [Prototype, Script.aculo.us] twitter Top tweets 따라하기
  2. 2010.03.10 PHP에서 OAuth 사용하기
  3. 2010.02.28 계산기
  4. 2010.02.23 java BigDecimal 사칙연산
  5. 2010.02.19 api key 확인
Client-Side/Javascript2010. 4. 28. 13:38


















twitter.com에서 Top tweets에서의 push notification이 흥미로워서

javascript에서 흉내만 내봤다.

오랜만에 prototype과 scriptaculous를 써서 그런지 버벅거리긴 했다.

---------------------------<Source Code>----------------------------------
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.1.0/prototype.js" type="text/javascript" charset="utf-8"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.3/effects.js" type="text/javascript" charset="utf-8"></script>
    <style type="text/css" charset="utf-8">
        #input {
            width: 200px;
            margin-bottom: 5px;
        }
        #button {
            width: 60px;
            height: 30px;
            margin-bottom: 10px;
            border: 1px solid #CCCCCC;
        }
        #wrapper {
            height: 200px;
            overflow: hidden;
        }
        #comments {
            width: 200px;
            height: 250px;
            overflow: hidden;
        }
        .talk {
            height: 49px;
            color: #FFFFFF;
            background-color: #23A420;
            border-bottom: 1px solid #000000;
        }
    </style>
</head>
<body>
    <div>
        <input type="text" id="input" />
        <div id="button">click</div>
    </div>
    <div id="wrapper">
        <div id="comments">
            <div id="5" class="talk">
                <div>5</div>
            </div>
            <div id="4" class="talk">
                <div>4</div>
            </div>
            <div id="3" class="talk">
                <div>3</div>
            </div>
            <div id="2" class="talk">
                <div>2</div>
            </div>
            <div id="1" class="talk">
                <div>1</div>
            </div>
        </div>
    </div>
    <script type="text/javascript" charset="utf-8">
    <!--
        // setting id of first-child
        var comments = $('comments').childElements();
        var nowId = comments[0].id;

        $('button').observe('click', function () {
            // create new comment element
            var superDiv = document.createElement('div');
            superDiv.className = 'talk';
            nowId++;
            superDiv.id = nowId;
           
            var childDiv = document.createElement('div');
            childDiv.innerHTML = $('input').value;
            superDiv.appendChild(childDiv);
           
            // attach new comment
            $('comments').insert({
                top: superDiv
            });
           
            new Effect.SlideDown(superDiv);
            new Effect.Opacity(superDiv, {from: 0, to: 1});

            // remove last comment
            var newComments = $('comments').childElements();
            var len = newComments.length;
            newComments[len-1].remove();
        });
    //-->
    </script>
</body>
</html>

'Client-Side > Javascript' 카테고리의 다른 글

JavaScript - Zoo Keeper  (0) 2010.06.06
CSS3와 jQuery TOOLS 를 사용한 탭디자인  (0) 2010.05.11
이메일 체크.  (0) 2009.09.24
javascript mootools addEvent 주의사항.  (0) 2009.09.17
jsdoc-toolkit 실행하기.  (0) 2009.09.15
Posted by 준피
Client-Side/OpenSocial2010. 3. 10. 17:59
http://wiki.opensocial.org/index.php?title=Validating_Signed_Requests
여기보면 OAuth 사용법이 상세히 나와있고,
내가 자주쓰는 PHP와 요즘 관심이 가는 JAVA 코드를 상세히 봤다.

잠시 PHP 코드를 소개하면 이렇게 되어있다.
--------------------- Source Code ------------------------

<?php

require_once("OAuth.php");
 
class OrkutSignatureMethod extends OAuthSignatureMethod_RSA_SHA1 {
protected function fetch_public_cert(&$request) {
return <<<EOD
-----BEGIN CERTIFICATE-----
MIIDHDCCAoWgAwIBAgIJAMbTCksqLiWeMA0GCSqGSIb3DQEBBQUAMGgxCzAJBgNV
BAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIG
A1UEChMLR29vZ2xlIEluYy4xDjAMBgNVBAsTBU9ya3V0MQ4wDAYDVQQDEwVscnlh
bjAeFw0wODAxMDgxOTE1MjdaFw0wOTAxMDcxOTE1MjdaMGgxCzAJBgNVBAYTAlVT
MQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChML
R29vZ2xlIEluYy4xDjAMBgNVBAsTBU9ya3V0MQ4wDAYDVQQDEwVscnlhbjCBnzAN
BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAseBXZ4NDhm24nX3sJRiZJhvy9eDZX12G
j4HWAMmhAcnm2iBgYpAigwhVHtOs+ZIUIdzQHvHeNd0ydc1Jg8e+C+Mlzo38OvaG
D3qwvzJ0LNn7L80c0XVrvEALdD9zrO+0XSZpTK9PJrl2W59lZlJFUk3pV+jFR8NY
eB/fto7AVtECAwEAAaOBzTCByjAdBgNVHQ4EFgQUv7TZGZaI+FifzjpTVjtPHSvb
XqUwgZoGA1UdIwSBkjCBj4AUv7TZGZaI+FifzjpTVjtPHSvbXqWhbKRqMGgxCzAJ
BgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEU
MBIGA1UEChMLR29vZ2xlIEluYy4xDjAMBgNVBAsTBU9ya3V0MQ4wDAYDVQQDEwVs
cnlhboIJAMbTCksqLiWeMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEA
CETnhlEnCJVDXoEtSSwUBLP/147sqiu9a4TNqchTHJObwTwDPUMaU6XIs2OTMmFu
GeIYpkHXzTa9Q6IKlc7Bt2xkSeY3siRWCxvZekMxPvv7YTcnaVlZzHrVfAzqNsTG
P3J//C0j+8JWg6G+zuo5k7pNRKDY76GxxHPYamdLfwk=
-----END CERTIFICATE-----
EOD;
}
}
 
//Build a request object from the current request
$request = OAuthRequest::from_request(null, null, array_merge($_GET, $_POST));
 
//Initialize the new signature method
$signature_method = new OrkutSignatureMethod();
 
//Check the request signature
@$signature_valid = $signature_method->check_signature($request, null, null, $_GET["oauth_signature"]);
 
//Build the output object
$payload = array();
if ($signature_valid == true) {
$payload["validated"] = "Success! The data was validated";
} else {
$payload["validated"] = "This request was spoofed";
}
 
//Add extra parameters to help debugging
$payload["query"] = array_merge($_GET, $_POST);
$payload["rawpost"] = file_get_contents("php://input");
 
//Return the response as JSON
print(json_encode($payload));

--------------------- Source Code ------------------------

너무도 당연한 이야기지만 $signature_vaild == true 인 경우
DB단과 작업을 진행하거나, 서버쪽 작업을 진행하면 된다.

이렇게 대놓고 소스코드에 써있는데 한참을 보고 알아버리다니....
역시 제 프로그래밍 기초에 대한 회의감마저 드네요;;
Posted by 준피
Client-Side/Android2010. 2. 28. 16:26
invalid-file

계산기 소스파일


자바와 안드로이드는 처음이라고 봐도 무방할 정도의 실력이므로
가벼운 마음으로 계산기를 만들어봤다.

 
회사를 다니면서 틈틈히 만들다보니 약 3주정도 걸렸는데 구현보다 에러처리하는 부분에서 더 오래 걸렸다.

 
이번 프로젝트를 하면서 오랜만에 헤드퍼스트 자바를 다시 보고 안드로이드 책을 사서 봤기 때문에 정말 많은 공부가 되었다.

 
---------------------





'Client-Side > Android' 카테고리의 다른 글

java BigDecimal 사칙연산  (0) 2010.02.23
api key 확인  (0) 2010.02.19
사칙연산 정규식(Regular Expression, Java)  (0) 2010.02.15
String vs StringBuffer  (0) 2010.02.10
안드로이드 개발환경 세팅(JDK, Eclipse, Android SDK)  (0) 2010.02.06
Posted by 준피
Client-Side/Android2010. 2. 23. 10:26
Float이나 Double로 사칙연산을 하는 경우 정확한 값을 얻지 못할 때가 있고,
이는 소수점 이하의 값을 제대로 읽지 못하기 때문이다.

예를 들어 0.2 * 0.4 의 결과가 0.0800000005 이렇게 나오는 경우이다.

이럴때는 BigDecimal을 이용하자.
java.math.BigDecimal 을 import해야한다.

// 예제에서는 String 타입을 인자로 넣었다.
BigDecimal preNum = new BigDecimal("6");
BigDecimal postNum = new BigDecimal("2");

// 곱하기
mutipleResult = preNum.multiply(postNum);
// 나누기, 반올림해서 소수점 둘째자리까지 보여준다.
divideResult = preNum.divide(postNum, 2, BigDecimal.ROUND_UP);
// 더하기
addResult = preNum.add(postNum);
// 빼기
subtractResult = preNum.subtract(postNum);

'Client-Side > Android' 카테고리의 다른 글

계산기  (0) 2010.02.28
api key 확인  (0) 2010.02.19
사칙연산 정규식(Regular Expression, Java)  (0) 2010.02.15
String vs StringBuffer  (0) 2010.02.10
안드로이드 개발환경 세팅(JDK, Eclipse, Android SDK)  (0) 2010.02.06
Posted by 준피
Client-Side/Android2010. 2. 19. 10:45

'Client-Side > Android' 카테고리의 다른 글

계산기  (0) 2010.02.28
java BigDecimal 사칙연산  (0) 2010.02.23
사칙연산 정규식(Regular Expression, Java)  (0) 2010.02.15
String vs StringBuffer  (0) 2010.02.10
안드로이드 개발환경 세팅(JDK, Eclipse, Android SDK)  (0) 2010.02.06
Posted by 준피