레이블이 개발관련인 게시물을 표시합니다. 모든 게시물 표시
레이블이 개발관련인 게시물을 표시합니다. 모든 게시물 표시

2009년 10월 25일 일요일

input type=radio context 관련

context 두개를 함께 쓰는것도 가능함

 

이름을 찾고 값을 찾아서 해당 값을 선택하게 할 수 있다.

$("input[name=r" + obj.list[i].seq + "][value=" + obj.list[i].value + "]").attr("checked","checked");  

이 글은 스프링노트에서 작성되었습니다.

2009년 9월 24일 목요일

런타임시 스타일 시트를 불러오거나 삭제 할 수 있는 StyleManger

StyleManager를 사용해 런타임시 스타일시트를 컨트롤 할 수 있다.

 

  1. .icons
  2. {
  3. Icon1: Embed('images/icon1.png');
  4. Icon2: Embed('images/icon2.png');
  5. Icon3: Embed('images/icon3.png');
  6. }

 

소스에서 css에 접근

  1. <Button
  2. icon="{StyleManager.getStyleDeclaratio('.icons').getStyle('icon1')}"
  3. />

 

이를 위해선 css가 swf로 컴파일 되어 있어야 한다.

이 글은 스프링노트에서 작성되었습니다.

2009년 8월 17일 월요일

Air 프로그램 자동 upgrade

클라이언트 설정

자동 업그레이드를 위해 applicationupdater_ui.swf 프레임웍을 사용했음

 

app_img1.gif

  • applicationupdater_ui.swf

    • 업데이터 프레임 웍의 핵심 수정을 하려면 flash 로 해야 한다고 함
  • updateConfig.xml
  1. <?xml version="1.0" encoding="utf-8"?>
    <configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">
         <url>http://[url]/updateDescriptor.xml</url>
        <delay>1</delay>
    </configuration>

서버쪽의 updateDescriptor.xml 에 셋팅 된 파일을 현재 프로그램의 version과 체크해서 version이 다를 경우 update를 실행한다.

현재 version은 main-app.xml에서 셋팅 가능함

 

  • main-app.xml

    1. <!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. -->
      <version>4.06</version>

 

 

서버쪽 설정

소스.air

updateDescriptor.xml

 

  • updateDescriptor.xml

    1. <?xml version="1.0" encoding="utf-8"?>
           <update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
             <version>4.06</version>
             <url>http://[url]/[file_name].air</url>
             <description>This is the latest version of the ezpos application.</description>
          </update>
    2.  

version에 설정된 version 값이 main-app.xml의 version과 다를 경우 실행됨.

버젼이 변경될 경우 수정해 줘야 함.

 

 

이 글은 스프링노트에서 작성되었습니다.

2009년 8월 13일 목요일

Hash Array

flex에서 hash array를 사용하고자 한다.

 

일단 아래와 같은 방법이 있을 수 있겠다.

 

  1. // array 선언
  2. private var arr_data:Array=[ "a","b","c" ];
  3.  
  4. // 이것도 될까?
  5. private var arr_data:Array=[ a=>"a", b=>"b", c=>"c" ]; // 이런식은 action script에 존재하지 않는다.
  6.  
  7. // 맘에 든다.
  8. private var arrClip:Object = { normal: "정상", cancel: "취소" };
  9. // 사용할때
  10. sound_clip[0] 이런식을 사용한다.

 

기타..등등

이 글은 스프링노트에서 작성되었습니다.

2009년 8월 5일 수요일

html strip

  1. use HTML::Strip;

    $raw_html = "<tr style='xx' size='xx'>aa</tr>";
    my $hs = HTML::Strip->new();
    my $clean_text = $hs->parse( $raw_html );
    # $hs->eof;

    print $clean_text;

 

평소 패턴매칭으로 사용했으나 lib가 있었다.

패턴 매칭이 더 나은가?

  1. $value =~ s/\<[^\<]+\>//g;

이 글은 스프링노트에서 작성되었습니다.

2009년 8월 4일 화요일

stript tab from string

  1. var htstring = '<p align="Left"><b>Hello</b> <I>World</I></p>';
    var stripped = htstring.replace(/(<([^>]+)>)/ig,"");

 

간혹 javascript내의 string의 html tag를 삭제 하고 싶을때가 있다.

이 글은 스프링노트에서 작성되었습니다.

2009년 7월 30일 목요일

javascript foreach

// stock_tx
// js foreach
for (var i in obj['stock_tx'])
{

    // i에 key값이 오는거야 ~~ 가는거야..
    row = obj['stock_tx'][i];
    $("#detail #stock_tx").append('<div>' + row['crdate'] + '</div>');
}

 

 

 

 

           

 

 

이 글은 스프링노트에서 작성되었습니다.

2009년 7월 26일 일요일

교육 받고 온 내용 정리

드림 위즈 터치 커넥트란데서 멜을 받아 보고 있는데 코엑스서 정기 교육을 한다나?

강사는 FLOO의 이창신 CTO 님 모르는건 멜 보내라고 했는데 답변이 올까?

iasandcb@**.com 

 

서론은 학습 곡선의 이야기, 무엇인가 새로운 것을 학습하기 위해서는 강한 동기가 필요하다.(맞는 말이다)

 

대략적 내용을 정리 해 보면

일단 개발을 하기 위해선 SDK가 필요함, 이것은 애플 개발자 사이트에서 무료로 가입 후 다운 받을 수 있다.

apple id를 만드려면 개발 ID와 개인 ID가 있다 그냥 $99 짜리를 아무 생각 없이 쓰면 된다.

 

법인 인 경우 영문 사업자 등록증을 fax로 보내야 한다. 이 영문 사업자 등록증은 세무서에 가면 발급 해준다.

한국의 경우 호주쪽에서 전화가 오는데 어눌한 한국말을 할 줄 아는 애플 직원이 전화가 온다고 함.

길게 얘기 할 필요 없다고 함.

 

 

아아팟 개발 환경

SDK는 Objective C 환경이고 gnustep.org에 가면 자세한 것을 알 수 있다.

아이폰은 코코아 프레임웍의 하부? 혹은 일부라 할 수 있는 코코아 터치 프레임웍을 사용한다.

 

아이폰은 320 X 480의 기본 UI사이즈를 가지고 있다

기본 메모리는 128M 허나 3GS의 경우 256M임.

기본 메모리가 128M 라고는 하나 실제 App에서 사용 가능한 메모리는 64M수준

64M이면 충분할 듯 하지만 실제로 이미지는 메모리에 그냥 띄워지기 때문에 관리가 쉽지 않음

메모리가 불 충분할경우 자동으로 프로그램이 종료되어 버린다.

=> 테스트 시 반듯이 오랜기간 동안 프로그램을 사용해 봐야 한다.

메모리는 자동으로 Gabage Collection을 하지 않으니 일일이 수동으로 해제해 줘야 한다.

 

판매를 목적으로 할 경우 ipot human interface guide를 통과 해야 한다.

 

어플리케이션의 특징

어플리케이션은 Sandbox라는 환경에서 작동이 되고 개발자들의 말을 빌리자면 이렇게 제약이 많은 개발 환경은 처음 봤다라는 말이 전해진다고 함.

각각의 어플리케이션은 따로이 Storage를 가지고 있다. 다른 어플리케이션의 Storage는 접근이 불가능 하다.

아이팟 어플리케이션은 한 번에 한개만 구동이 가능하다 예를 들어 전화가 오면 무조건 지금 실행하고 있는 프로그램은 종료 되어야 한다.

=> 결국 프로그램은 현재의 상태를 저장한 후 종료를 해야 하며 재 실행할 때 이전 상태를 모두 기억하고 있어야 한다.

 

프로그램은 기본적으로 view로 구성되어 있다

프로그램의 정보는 .xib에 저장된다.

각각의 view는 헤더(.h) 임플리멘테이션(.m)으로 구성된다.

기본적으로 MVC 패턴을 따르고 있다.

디자인은 Interface Builder를 사용해 디자인이 가능하고 Interface Builder를 사용할 경우 각 view마다 .nib와 .nlb 가 생성된다.

-- 아 모르는게 너무 많고 생소 하다.

*파일의 개수가 많아지면 속도가 느려지니 주의 해야 함.

이미지는 기본적으로 png를 사용해야 함.

 

게임같이 ui가 세밀해야 할 경우 OpenGL을 사용해야 함

Core Animation을 사용해야 할 경우도 있음.

 

모 대략 이정도 정보가 머릿속에 들어 왔음. 한정된 자원으로 인해 개발 환경이 한 참 전으로 돌아가 버린 기분..ㅎㅎ

 

 

 

 

 

 

 

이 글은 스프링노트에서 작성되었습니다.

2009년 7월 21일 화요일

jquery block UI 사용 예제

  1. <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="js/jquery.blockUI.js"></script>
  2. <script>
  3. function block()

  4. {

  5. $.blockUI({message:$("#block_layer"),fadeIn:false});

  6. }

  7. functino unblock()

  8. {

  9.      $.unblockUI({fadeOut:false});

  10. }

  11.  </script>
  12.  
  13. <div id="block_layer">
  14.     <div>download</div>
  15. </div>

 

이 글은 스프링노트에서 작성되었습니다.

2009년 7월 10일 금요일

페이지별 화면 출력

적은 내용을 여러 페이지에 하고싶을 때가 있다.

<html>
<head>
<title>Sample Printing</title>
<style>P.page{page-break-after: always}</style>
</head>
<body>
<p class=page>
this is a page printing sample.after the end of 
this p tag printing will start from next page.
</p>
<p class=page>
See it will print the data from next page.
Here we will give a button using that button 
we will print this document.
<br>
<input type=button name=printit value='Print Me' onClick='print();'>
</p>
</body>
</html>

2009년 6월 17일 수요일

Spreadsheet::WriteExcel 사용시 한글 sheet명

my $map   = Unicode::Map->new("EUC-KR");
 $sheet_name = $map->to_unicode("한글sheet명");
 $worksheet = $workbook->add_worksheet( $sheet_name, 1 );   

2009년 6월 8일 월요일

jquery opener 컨트롤

팝업창에서 부모창에 값 셋팅하기.
$(opener.document).find('#id_of_dom_element')

$(opener.document).find(':radio').each( function(){
    if( $(this).val() == "2" ) $(this).attr('checked', 'checked');
});

2009년 5월 22일 금요일

perl에서 utf-8 을 cp949 로 변경하기 Text::Iconv사용

use Text::Iconv;
$c = Text::Iconv->new("utf8","cp949");
$_datas = $c->convert( $str_utf8);

Encode 모듈에서 오류 나던것들이 해결 됨.

2009년 5월 20일 수요일

perl 날짜 계산하기..

#!/usr/bin/perl -w

use strict ;
use Date::Calc qw(Add_Delta_Days) ;

my ( $todayd, $todaym, $todayy ) = (localtime)[3..5] ;
$todaym += 1 ;
$todayy  += 1900 ;

my ($yesty,$yestm,$yestd) = Add_Delta_Days($todayy,$todaym,$todayd, -1) ;



어제 구하기..

마우스 포지션 트래킹

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
   $().mousemove(function(e){
      $('#status').html(e.pageX +', '+ e.pageY);
   });
})
</script>
<body>
<h2 id="status">
0, 0
</h2>
</body>
</html>

2009년 5월 14일 목요일

멀티바이트로 인코딩된 utf-8의 디코딩

죽음..
$str = "JCD&#48708;&#48708;&#50504;&#52404;&#53356;&#47217;&#45224;&#48169;";

if (preg_match('/&#([0-9]{1,});/', $str))
    $str = mb_decode_numericentity($str, array(0x0, 0x10000, 0, 0xfffff), 'UTF-8');

echo iconv('utf-8','cp949', $str );
echo "\n----\n";

모뇽~~~

숫자 3자리 마다 , 넣는 function

 function t_format(nNum){
        var sNum = "";
        var len= 0;
        do{
            sNum = nNum % 10 + ((len++ % 3 == 0 && len > 1)?",":"") + sNum;
        }while( (nNum = Math.floor(nNum / 10)) > 0)
       
        return sNum;        
    }

2009년 5월 12일 화요일

ActivePerl사용시 DBD::mysql 설치

DBD::mysql - A Perl5 Database Interface to the MySQL database
=============================================================

The driver installation is described in

  INSTALL.html

In short: If you are using

  Windows/ActivePerl

    1.) If you need to use an HTTP Proxy, set the environment
        variable http_proxy, for example like this:

          set http_proxy=http://myproxy.com:8080/

    2.) The actual installation is as simple as

   ppm install DBI
          ppm install DBD::mysql

        As of this writing, the above procedure won't work with
        ActivePerl 5.8.0, because so far a PPM for DBD::mysql is
        not available from the ActiveState server. I don't know
        why. However, Randy Kobes has kindly donated a PPM package
        to his own repository. You can use this as follows:

          ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd

2009년 5월 4일 월요일

메시지 서비스

일종의 채팅서비스와 같은 개념

서버에 접속된 클라이어트들이 메시지를 서버로 보내면 이를 다시 서버에 접속된 모든 클라이언트에게 쏴주는 방식

RTMS (RealTime Message Service?) 프로토콜을 사용한다.

Producer와 Consumer의 개요를 알아야 한다.
생산자, 소비자의 개념이라...흠

Producer: 데이터를 만들어서 지정된 채널로 메시지를 보낸다.
Consumer: Producer가 만들어낸 데이터 구독한다.

모 그런게 있단다.

2009년 5월 2일 토요일

PC의 파일 제어가 가능할까?

열이아빠께 물어봤더니 아래의 링크를 보내주셨네요.

http://help.adobe.com/ko_KR/AIR/1.5/devappsflash/WS5b3ccc516d4fbf351e63e3d118666ade46-7dbb.html

일단 테스트는 해보지 않아서 모르겠지만
대략 봐서도 디렉토리 생성,변경,삭제가 가능하고
파일의 생성,변경,삭제가 가능한 것 같네요.

간단한 프로그램을 짜 봐야겠습니다.