[자바스크립트] 팝업창 띄우기!!

Programing 2007.08.30 00:00 Posted by 애플자라
<html>
<head>
<title>테스트</title>

<script language="javascript">
  function open_win(){
    window.open('popup.htm','popup', 'width=100, height=100,left=0,top=0,toolbar=no, location=no, directories=no, status=no, menubar=no, resizable=no, scrollbars=no, copyhistory=no');
 }
</script>
 

</head>
<body onload="javascript:open_win();">

메인창 소스

</body>
</html>

body 태그 안에 onload 이벤트를 걸어줍니다.
페이지가 load 되면 저 스크립트를 실행하라는 거죠..

해당 자바 스크립트 함수로 가서 새 창(window.open)을 띄우게 됩니다..
open 메서드의 속성들은..

맨첨에 팝업으로 띄울 페이지 주소를 적어줍니다. (상대경로나 절대경로 모두 가능합니다)
다음 속성은 팝업창 이름? 정도로 생각하시면 됩니다. 눈에 보이는건 아니니 아무거나 적으시면 되요

다음 속성은 좀 긴데..
팝업창 설정 하는것 정도로 이해하심 되요..

팝업창 너비, 높이, 창이 뜰 위치, 스크롤바 사용여부, 주소표시줄, 상태표시줄, 메뉴바, 사이즈 조절...등등 팝업창을 설정할수 있습니다.

위의 설정은.. 가로 세로 크기가 100 인 왼쪽 맨 상단에 나타나게 됩니다. 모든 설정은 no로 되어 있으므로 사이즈 조절, 메뉴바, 스크롤 등 모두 나타나지 않습니다 (그냥 네모난 창만 뜨겠죠)

'Programing' 카테고리의 다른 글

PHP로 MSSQL연동하쟈!  (0) 2007.08.30
prospring - sample chapter  (0) 2007.08.30
[자바스크립트] 팝업창 띄우기!!  (0) 2007.08.30
플래시로 DB연동하쟈! 3탄!  (1) 2007.08.29
플래시로 DB연동하쟈!! 2탄!  (1) 2007.08.29
플래시로 DB연동하자!  (0) 2007.08.29

댓글을 달아 주세요

플래시로 DB연동하쟈! 3탄!

Programing 2007.08.29 23:59 Posted by 애플자라
플래시로 DB 연동하쟈! 3탄

안녕하세요~ 조금 늦었죠? 어제(2006년 10월 21일) 제가 만든 게임이

드디어 싸이 월드에 올라가게 되었습니다. 그것때문에 조금 바빠서 이

렇게 늦어지게 되었습니다..^^;;
그럼 어디 본격적으로 시작해볼까요? 오늘은 지난 시간에 얘기했던대

로 플래시에서 LoadVard 클래스를 사용하여 데이터를 외부로 전송 하

는 방법을 알아봅시다.
플래시에서 외부데이터를 가져오거나 플래시의 데이터를 외부로 전송

할때는 LoadVard 클래스를 사용합니다.
클래스에는 속성과 매서드라는것이 있지요? 여기에서 모르는 분들을

위하여 잠시~ 속성은 개체의 상태 등을 나타내는 것이고 매서드는 개

체의 행동을 나타내는 것 입니다. 예를 들자면 사람이라는 개체는 이

름, 성별, 나이 등의 속성이 있고 걷기, 앉기, 뛰기 등의 매서드가 있

다고 생각하시면 됩니다. 그럼 이제 LoadVard 클래스의 매서드와 속성

을 알아 봅시다.

LoavVars 클래스의 매서드
1. addRequestHeader() : HTTP 헤더를 추가하거나 변경함.
2. getBytesTotal() : load 혹은 sendAndLoad 매서드를 실행할때 전송

받을 총 바이트수
3. getBytesLoaded() : load 혹은 sendAndLoad 매서드를 실행할때 전

송받는 바이트수
4. load() : 지정된 URL에서 데이터를 전송받음(중요!)
5. send() : LoadVars 인스턴스의 데이터를 웹페이지로 전송
6. sendAndLoad() : LoadVars 인스턴스 내부의 변수를 전송하고 결과

값은 받아옴(중요!)
7. toString() : LoadVars 인스턴스의 내부데이터를 문자열로 변환

LoavVars 클래스의 속성
1. contentType : 데이터의 MIME형식을 나타냄
2. loaded : load()나 sendAndLoad()매서드를 실행할 때 데이터를 모

두 전송받았는지를 true 혹은 false로 나타냄(중요!)

LoavVars 클래스의 이벤트
1. onData : 전송되는 과정에서 에러가 발생하거나 전송이 모두 완료

되었을때 발생(에러가 없다면 onLoad와 동일)
2. onLoad : 전송이 모두 완료되면 발생(중요!)

다른것들은 이런것들이 있구나 하고 알고 계시면 되는 정도 이지만 뒤

쪽에 (중요!)라고 적은 것들은 자주 쓰이는 것들이니 알아두시기 바랍

니다..^^

※ 외부 데이터의 형식
지난번에도 얘기한적이 있던 외부데이터의 형식에 관한 것입니다.
일단 기본적으로 외부에서 플래시로 넘어오게 될 데이터의 형식은 &변

수=값&변수=값& 의 형태로 출력 합니다. 마지막 &는 생략할수도 있지

만 &로 마무리를 지어주어야 에러를 줄일 수 있습니다.
만약 &가 없다면 뒷부분에 값이 더있는걸로 판단하고 개행문자(엔터)

를 읽어오는 경우가 간혹 발생하곤 합니다. 이때에 전송하는 데이터가

한개뿐이라면 그다지 문제가 없을지도 모르지만 2개이상일 경우는 문

제가 발생하게 되므로 마지막에 &로 종료하는 습관을 가지시기 바랍니

다. 개인적으로 제가 추천하는 방법은
&변수=값&
&변수=값&
&변수=값&
의 형태를 추천 합니다. 보기도 편하고 에러도 없습니다..^^

LoavVars 클래스의 사용법
이제 본격적으로 LoavVars 클래스를 사용해서 데이터 전송을 해봅시다

.
1. 외부데이터 불러오기
ex)
text문서 작성
&myText=Hi~&
myData.txt로 저장

text_ins = new LoadVars();
test_ins.onLoad = function(success) {
  trace(this.myText);
}
test_ins.load("myData.txt");

예제를 보시면 먼저 인스턴스를 만들어 LoavVars 클래스 개체를 만들

게 됩니다. 그다음엔 인스턴스.이벤트로 데이터 로드가 완료된다면 변

수의 내용을 output창에 출력하는 부분 입니다.
그리고 마지막의 인스턴스.load 매서드를 실행하여 외부데이터의 내용

을 가져 오게 하는 내용입니다만 실제 실행을 하게된다면 먼저 인스턴

스를 만들고 데이터가 로드되지 않았으므로 출력하는 부분은 건너뛰고

데이터를 가져온뒤에 데이터 로드가 완료되면 다시 출력을 하게되는

순서를 가지게 됩니다.
여기에서 중요한 것은 제일 아랫부분에 test_ins.load("myData.txt");

이부분 뿐입니다. 인스턴스명.매서드의 형태를 잘 알아두시기 바랍니

다..^^

=> 데이터 로드 : LoadVars 인스턴스.load("외부데이터의 URL");

2. 데이터를 외부에 전송하기
이번엔 플래시의 데이터를 외부로 전송해 봅시다.
ⅰ)GET방식으로 데이터 전송하기 : 로드하려는 페이지의 URL 뒷부분에

전송하려는 변수와 값을 적는방법 입니다. 지난번에도 말했던 적이 있

는 방법이지요?
LoadVars 인스턴스.load("외부데이터의 URL?변수=값&변수=값");
이러한 형태를 가지게 됩니다만 But! 알고 계시겠지만 URL에 변수와

값이 노출되기 때문에 보안성의 문제가 있습니다.사소한 값을 전달하

기에는 쉽게 사용할 수 있겠지만 중요한 정보(비밀번호 등)를 전송하

려고 하는데 그게 웹상에 그대로 노출되면 안되겠지요?

ⅱ)POST방식으로 데이터 전송하기
sendAndLoad()매서드를 사용하여 데이터를 전달
ex)
test_ins = new LoadVars();
test_ins.myName = "이상훈";
test_ins.sendAndLoad("URL",test_ins,"POST");

POST방식으로 데이터를 전달하려면 먼저 인스턴스 내부의 변수를 생성

해야 합니다. 인스턴스명.변수명 = 값;의 형태로 변수에 값을 저장합

니다. 그러면 LoadVars 클래스가 인스턴스 전체의 변수를 외부로 내보

냅니다. HTML의 FORM전송과 비슷하지요?
변수를 보냈으면 결과를 받아와야겠지요? 예제에서는 변수를 전달하는

인스턴스와 값을 전달받는 인스턴스가 같은걸로 되어 있지만 보통은

전달받는 인스턴스를 따로두고 전달받는 인스턴스도 따로 생성하여 변

수명이나 기타 이름등이 서로 얽히지 않도록 하는게 보통입니다.
아..물론 값을 전달받는 변수도 전달받은 값을 저장할 변수를 포함하

고 있어야겠지요?

LoadVars 클래스 인스턴스 생성
인스턴스 내부의 변수 생성
변수에 값을 전달
인스턴스의 모든 변수를 URL로 전송
전송방식은 POST

=>LoadVars 인스턴스.sendAndLoad("URL", 결과값을 전달받을 LoadVars

인스턴스,"전송방식");

음...조금 부족할까요?? 설명이?? 중요한 것은 웹프로그램으로 플래시

에서 원하는 데이터 형식으로 출력을 하는것과 플래시에서 데이터를

주고 받는것입니다..^^ 그럼 궁금한사항은 물어보시고.^^;;(대략 무책

임..-0-) 전이만 슝슝~~
시간여유가 조금 생기면 간단한 방명록을 제작해 보도록 하겠습니

다..^^


잡답
음..대략 첫번째 강좌(?)라고 불릴만하였나 하는 의문이 들지만 첫번

째 강좌가 마무리 되었습니다. 뭐 처음 쓴것은 아니지만 대략 처음인

데다가 말투도 어눌하고 문장력도 부족해서 이해가 힘드신 분들도 계

시겠지만..^^;; 읽어주셔서 감사합니다.
다음은 아마도 약간의 긴 텀이 있겠지만(요새 회사일이 바빠서리..ㅜ.

ㅡ)무튼 다음은 간단한 방명록을 하나 제작해봅시다..^^;;

'Programing' 카테고리의 다른 글

prospring - sample chapter  (0) 2007.08.30
[자바스크립트] 팝업창 띄우기!!  (0) 2007.08.30
플래시로 DB연동하쟈! 3탄!  (1) 2007.08.29
플래시로 DB연동하쟈!! 2탄!  (1) 2007.08.29
플래시로 DB연동하자!  (0) 2007.08.29
php 기본문법  (0) 2007.08.29

댓글을 달아 주세요

  1. ㅠㅠ 2010.11.09 13:27  댓글주소  수정/삭제  댓글쓰기

    강좌 정말 잘 보았는데요!! 3탄 예제 파일좀 만들어주심 안될까요 부탁드려요 제발요 ㅠ

플래시로 DB연동하쟈!! 2탄!

Programing 2007.08.29 23:59 Posted by 애플자라
플래시와 DB 연동하쟈! 2탄

안녕하세요~ 오늘은 지난번에 예고했듯이 좀더 본격적으로 파고들어봅시다.^^
참고로 이 강좌는 강좌를 보는분들이 웹프로그램을 한개이상 다룰수있다는걸 전제로 하고있습니다. 뭐 하나도 모르셔도 보는거야 대충 이해 하시겠지만 웹프로그램관련지식이 없다면 간혹 이해가 안되거나 막히는 부분이 있을겁니다.
그럼 본격적으로 시작해봅시다~

loadVariables!!
Variable << 변수라는 뜻이죠? 그럼 load가 앞에 붙었으니 말그대로 변수를 로드하는것입니다. 좀더 자세히 말하자면 외부에서 변수에 저장한 값을 플래시로 불러오는 역할을하는 플래시의 기본 내장함수입니다. loadVariables는 &변수=값&의 형태로 이루어진 문서를 불러들여서 플래시내부의 같은 변수이름에 값을 넣습니다. 예를 들어 하나 만들어보자면 먼저 test아는 이름으로 text문서(test.txt)를 하나만듭니다. 이제 이 덱스트문서 내부에 &myName=홍길동&이라고 적습니다. 다시 플래시 문서를 하나만들어서 Dynamic Text Box를 하나 만듭니다. 텍스트박스의 변수이름을 myName으로 지정하고 현재 프래임 혹은 액션용 레이어를 하나 새로만들어 1프레임 부분에 this.loadVariables("test.txt","POST"); 라고 입력하고 무비를 테스트 해봅시다.
만약 값을 넣는 부분에 한글을 입력하셨다면 외계문자를 보실수있을겁니다..^^이건 플래시가 사용하는 언어코드때문에 발생하는 문제인데요. 플래시에서는 유니코드를 사용합니다. 그런데 우리가 기본으로 저장하는 텍스트문서는 유니코드로 저장되지 않습니다. 이문제를 해결하기 위해서는 텍스트를 저장할때 유니코드를 선택하여 저장하거나 System.useCodepage = true; 라는 구문을 스크립트 가장 윗부분에 적어주시면 해결됩니다. 이 구문은 다른 코드로 작성된 문서도 볼수있게하겠다~ 뭐 이런뜻입니다..^^ 자 그럼 여기까지 해놓고 테스트를 해보면 화면에 홍길동! 이뜰겁니다.(참고로 텍스트파일과 플래시파일의 경로가 같아야 문서를 불러옵니다. 이유는 위에 문서를 불러올때 경로지정을 현제폴더로 했기 때문이죠^^)

자..이제 슬슬 구문을 뜯어볼까요? 먼저 this.loadVariables 이부분은 this(현재의 무비클립 여기에서는 메인무비가 되겠죠?)무비클립에 외부에서 값을 가져오겠다라고 한것이구요 괄호뒤에 ("경로", "전송방식(POST, GET 두가지가 있죠)"이렇게 적은것입니다.
같은 결과를 보이지만 조금 다르게 적자면 loadVariables("test.txt", this, "POST"); 이렇게 적는것도 같은 말입니다. 다만 대상 무비클립을 괄호안쪽에 넣어준것뿐이지요.

자..이제 이쯤되면 뭔가 감이 오는 분들이 계실껍니다. loadVariables로 텍스트문서만 불러올수 있는냐?? 절대! never! 결코! 아니죠..^^ 웹페이지로 작성된 문서도 loadVariables함수를 사용하면 불러다가 쓸수도 있습니다. 결국 ASP던 PHP던 JSP던간에 DB에서 자료를 검색해서 &변수=값&의 형태로 출력만 할 수 있다면 그값을 loadVariables함수로 받아와서 플래시에서 얼마든지 내용을 확인할 수 있는것이죠. 이게 플래시와 DB연동의 기본입니다..^^
사실 플래시는 DB와 직접적으로 연동을 하지는 않습니다. 다만 웹프로그램이 연결하여 받아온 데이터를 받아와서 화면에 출력만 하는것이지요 DB와 직접적으로 연결하는것은 웹프로그램입니다.

예를들어 게시판을 만들어 글목록을 출력하려한다면?
DB에서 데이터를 검색해서
&wNum=글번호&wTitle=제목&wName=작성자&wDay=작성일&wCount=카운트&
이러한 형식으로 출력만 해주는 웹페이지를 작성하고 그 웹페이지를 loadVariables함수로 불러오고 각각의 변수에 맞는 텍스트박스만 만들어주면 간단하게 DB에 저장된 글의 정보를 화면에 출력할수 있게됩니다.

하지만! loadVariables함수는 불러오기만 할뿐이지 데이터를 전달할수는 없습니다. 물론 웹페이지의 GET방식 웹페이지 주소뒤에 ?변수=값의 형태로 값을 전달할수는 있긴하지만 보안상의 문제로 사용되지않습니다. 비밀번호를 이러한 방식으로 전달할수는 없겠죠?(그럼왜 열나게 설명한거냐..ㅡㅡ;;) 그래서 있는것이 바로바로~~ 두둥~ LoadVars 클래스입니다..^^ LoadVars클래스는 메서드를 사용하여 GET혹은 POST방식으로 값을 전달하고 전달받을수 있는 플래시의 내장 클래스 입니다.
실제 게시판이나 DB관련작업은 모두 LoadVars클래스를 이용하여 작업이 진행됩니다..^^;; 어쨌거나 LoadVars클래스는 다음시간에 자세히 알아보도록 하겠습니다.(돌맞기전에 도망가야지..ㅋㅋ)




잡담..
러브홀릭 3집 신기루를 이글을 쓰는동안 계속 반복해서 듣고있었습니다. 왠지 한없이 글루미해지는..ㅠ.ㅠ 참 좋은 노래인데 요즘 기분도 그저그렇고..ㅋㅋ 오늘은 게임코딩한걸 절반을 날려먹고. 이래저래 울적한 기분을 잘맞춰주는 좋은 노래입니다..^^ 최근에 black blood brothers 라는 일본 애니메이션의 엔딩곡으로 삽입됐죠..(만화보다가 한국말이 나와서 깜딱놀랐음..^^;;)
소주가 한잔 생각나는 밤입니다..^^

'Programing' 카테고리의 다른 글

[자바스크립트] 팝업창 띄우기!!  (0) 2007.08.30
플래시로 DB연동하쟈! 3탄!  (1) 2007.08.29
플래시로 DB연동하쟈!! 2탄!  (1) 2007.08.29
플래시로 DB연동하자!  (0) 2007.08.29
php 기본문법  (0) 2007.08.29
Spring 프레임워크 관련 자료  (0) 2007.08.29

댓글을 달아 주세요

  1. ^^ 2008.10.08 11:45  댓글주소  수정/삭제  댓글쓰기

    좋은 내용 잘 보고 갑니다

플래시로 DB연동하자!

Programing 2007.08.29 23:58 Posted by 애플자라
(P.S 추신을 먼저쓰다니..``;; 앞부분의 글도 제가썼지만 아직 부족한부분이 많아 당분간 뒤로 미루겠습니다. 대신 자신있는(?) 부분부터 천천히 하려합니다 이해해주세요..^^)

플래시와 DB 연동..

안녕하세요~ 플래시와 DB연동.. 제목은 그럴듯하지만 약간의 기초 지식만 있다면 정말 쉬운 부분이 바로 이부분 입니다.
플래시와 DB를 연동하게 되면 좀더 다이나믹하고 동적인(같은말이던가..``;;) 홈페이지를 제작할수 있게 합니다. 예를들자면 요즘 영화홍보사이트들이 보통 올플레시 사이트가 많지요?
홈페이지 전부를 플래시로 제작하는 사이트들입니다. 요즘에는 쇼핑몰도 올플래시로 제작하는 경우가 종종 있는데요.. 우리도 플래시와 DB 그리고 웹프로그램 이렇게 3가지만 가능하다면 불가능한일도 아닙니다..^^

먼저 플래시와 DB를 연결하기전에 어떠한 방식으로 데이타 연동이 이루어 지는지에 대해서 간단히 알아봅시다.

플래시 ↔ 웹 프로그램(ASP, PHP, JSP 등) ↔ DB(데이터 베이스)

이걸보시면 대충 감이 오는 분들도 있으실겁니다. 말로풀어서 설명하자면 이렇습니다. 플래시에서 DB에 직접적으로 접근하여 자료를 가져오는방법은 없습니다..^^;; 그러므로 DB에 접근가능한 웹 프로그램을 이용하여 DB의 자료를 가져온뒤 플래시로 넘겨주면 플래시는 넘겨받은 자료를 화면에 출력하는 일만을 담당합니다.
참 쉽지않습니까? 앞에서 말했듯이 플래시로 동저인 웹사이트를 만드려면 플래시, 웹 프로그램 그리고 데이터베이스 이렇게 3가지 작업을 수행해야 합니다.

그렇다면 각자 공부한 웹프로그램과 데이터 베이스위에 플래시를 입히기만 하면 끝인겁니다. 즉, 출력장소만 웹페이지 에서 플래시로 바뀐것뿐이지 웹프로그램이나 DB부분은 일반적인 웹사이트를 만드는 경우와 거의 흡사하다고 생각하시면 됩니다. 그러므로 우리가 해야할일은 무엇? 바로 플래시에서 자료를 넘겨주고 넘겨받는 작업 이것만 가능하다면 플래시로 얼마든지 게시판 혹은 웹사이트를 제작할수 있게됩니다..^^

그럼 다음시간에는 본격적으로 플래시로 데이터를 주고받는것에 대하여 알아봅시다.

'Programing' 카테고리의 다른 글

플래시로 DB연동하쟈! 3탄!  (1) 2007.08.29
플래시로 DB연동하쟈!! 2탄!  (1) 2007.08.29
플래시로 DB연동하자!  (0) 2007.08.29
php 기본문법  (0) 2007.08.29
Spring 프레임워크 관련 자료  (0) 2007.08.29
flash에 관한 이야기?(2차)  (0) 2007.08.29

댓글을 달아 주세요

php 기본문법

Programing 2007.08.29 23:57 Posted by 애플자라
1. Variable (변수)

- 변수는 $로 시작한다.



- 변수는 별도로 선언하는 부분이 없으며 (type을 미리 지정하지 않으며) 변수 type은 변수가 사용된 context에 따라 결정된다.



- 변수의 type으로는 기본적으로 integer, double, string type이 있으며 이외에 array와 object type이 있다. 변수 type은 gettype(), is_long(), is_double(), is_string(), is_array(), is_object() 등의 함수로 알아낼 수 있다.



- type casting은 C에서와 같은 형식으로 이루어진다. (int) (integer) (real) (double) (float) (string) (array) (object) 등의 casting operator가 있다.



- string conversion : 문자열이 숫자로 변환될 때에 문자열이 '.', 'e', 'E'를 포함하고 있으면 double로 그렇지 않으면 integer로 변환이 된다.



- variable variable : 변수의 값이 변수의 이름이 되는 것을 말한다. 예를들어 $a = "hello" 일때 $$a = "world"라고 정의하면 $hello = "world"로 정의되는 것이다.



- scope : user-defined function에서는 local function scope가 적용된다. 즉 function 안에서 정의된 변수는 function안에서만 의미가 있다. 주의할 점은 외부에서 정의된 변수도 user-defined function안에서는 의미가 없다는 것이다. 외부에서 정의된 변수를 사용하려면 함수 안에서 global $externalVar; 형식으로 정의를 하고 사용하거나 $GLOBALS["externalVar"] 형식으로 직접 변수를 사용하여야 한다.



- static variable : local function scope를 가지지만 scope를 벗어나더라도 값이 유지되는 변수를 말한다.



Array



- array는 $array[] 형식으로 사용된다.



- scalar array : 첨자가 숫자로 주어지는 배열이다. 예를 들면 $array[0] = 1;



- associative array : 첨자가 숫자가 아니라 문자열로 주어지는 배열이다. 예를 들면 $array["first"] = 1;



- 그냥 $array[]에 값을 지정하면 array에 값이 하나 추가된다. $array[] = 1; $array[] = 2; 는 $array[0] = 1; $array[1] = 2;와 같은 의미를 지닌다.



- array() 함수를 통하여 array를 만들수도 있고, count() 함수로 element의 갯수를 얻을수도 있다. next(), prev() 함수나 each() 함수를 통하여 element들을 참조할 수도 있다.



External Variables (외부변수)



- HTML form (GET/POST) : form으로 전달된 값은 form에서 name field로 지정한 이름의 변수로 지정이 된다. form에서 type = "image"인 경우에는 마우스로 클릭한 위치가 name_x, name_y 형태로 추가로 전달된다.



- HTTP Cookie : browser로 cookie를 전달하려면 SetCookie(name, value, timeout) 함수를 이용한다. client로부터 전달되는 cookie는 PHP 변수로 변환이 된다.



- Environment Variable : 환경변수 또한 PHP 변수처럼 사용할 수 있다. 환경변수는 getenv()라는 함수를 이용해 얻을 수 있으며 putenv() 함수로 환경변수를 지정할 수도 있다.





2. Class

- class keyword를 사용하여 class를 정의하며 instance 생성은 new operator를 이용한다.



- class의 상속은 extends keyword를 사용한다.



- constructor 정의는 class와 같은 이름을 갖는 상수를 정의함으로써 이루어진다. constructor는 default parameter를 가질 수 있다.



예)



class testClass {

var $value;

function testClass($defValue = "test") { $value = $defValue; }

function doSet($setValue) { $value = $setvalue; }

function doPrint() { echo $value; }

}

class testLineClass extends testClass {

function doPrintLine() { echo("$valuen"); }

}



$test = new testClassLine;

$test->doSet("hello");

$test->doPrint();

$test->doPrintLine();

3. Expression

- expression이란 값으로 환산되는 것을 말한다.



- assignment는 expression이므로 $a = $b = 5; 같은 문장을 쓸 수 있다.



- pre and post increment / decrement : $a++, ++$a, $a--, --$a



- comparison operator는 boolean 값을 갖는 expression이다.



- operator와 assignment의 결합 : $a += 3; $b = ++$a; $c = double(--$b); $d = $c += 10;



- boolean : 숫자에서 0은 false, 0이 아닌값은 true이다. 문자열에서 ""와 "0"은 false, 나머지는 true이다. array에서는 element가 하나도 없으면 false, 하나라도 있으면 true이다.





4. Statement

- if 문 :



if (expression) {

do anything 1;

} elseif (expression) {

do anything 2;

} else

do anything 3;



또는



if (expression) :

do anything 1;

elseif (expression) :

do anything 2;

else :

do anything 3;

endif;

- while 문 :



while (expression)

do anything;



또는



while (expression) :

do anything;

endwhile;

- do...while 문 :



do {

do anything;

} while (expression);

- for 문 :



for (expr1; expr2; expr3)

do anything;

- switch 문 :



switch (expression) {

case ... :

do anything;

break;

default :

do anything;

}

- loop에서 break를 이용한 제어가 가능하다.



5. Function (함수)

- 함수는 function 이라는 keyword를 가지고 정의가 되며 별도로 return type은 지정하지 않는다.



- function의 기본형은 다음과 같다.



function funcName($arg1, $arg2, $arg3, ..., $argn) {

do anything;

return $retval;

}

- return value는 list와 object를 포함하여 어떤 type이든 될 수 있다. 예를 들어 array를 return하려면 return array(0, 1, 2);



- argument는 default로 pass by value이다. pass by reference로 하려면 argument definition에서 변수명 앞에 &를 붙여주면 된다 (function funcName(&$arg1)). function이 pass by value로 정의가 되었더라도 함수를 부를때 argument에 &를 붙여서 넘기면 pass by reference가 된다 (call : doFunc(&$var)).



- default parameter : C++에서 사용하는 방식으로 default parameter를 정의할 수 있다 : function funcName($var = 1) { }





6. Operator

- operator들은 C언어에서의 operator와 비슷하며 다음과 같은 operator들이 있다.



- arithmetic operator : +, -, *, /, %

- string operator : . (concatenation)

- assignment operator : =

- bitwise operator : &, |, ~

- logical operator : and (&&), or (||), xor, !

- comparison operator : ==, !=, <, >, <=, >=





7. 그밖에

- require : #include와 똑같은 의미로 사용된다.



- include : include 문장을 만날때마다 지정한 파일을 포함한다. require는 #include 처럼 무조건 파일을 포함시키지만 include는 loop나 if 문 등에서 사용할 수 있으며 필요한 경우에만 파일을 포함하도록 할 수 있다.

'Programing' 카테고리의 다른 글

플래시로 DB연동하쟈!! 2탄!  (1) 2007.08.29
플래시로 DB연동하자!  (0) 2007.08.29
php 기본문법  (0) 2007.08.29
Spring 프레임워크 관련 자료  (0) 2007.08.29
flash에 관한 이야기?(2차)  (0) 2007.08.29
flash에 관한 이야기?(1차)  (0) 2007.08.29

댓글을 달아 주세요

Spring 프레임워크 관련 자료

Programing 2007.08.29 23:56 Posted by 애플자라
영문인데 의외로 볼만함..

참조하시길.

'Programing' 카테고리의 다른 글

플래시로 DB연동하자!  (0) 2007.08.29
php 기본문법  (0) 2007.08.29
Spring 프레임워크 관련 자료  (0) 2007.08.29
flash에 관한 이야기?(2차)  (0) 2007.08.29
flash에 관한 이야기?(1차)  (0) 2007.08.29
DB Connection 3가지 방법(JSP)  (0) 2007.08.29

댓글을 달아 주세요

flash에 관한 이야기?(2차)

Programing 2007.08.29 23:55 Posted by 애플자라
안녕하세요..^^탄력받아서 막쓰는중입니다..``;; 앞에 예고했던대로 오늘은 class에 대한 이야기를 해보겠습니다.
여기부터는 개념적인 이야기 보다는 좀더 flash에 가까이 접근해서 이야기를 하겠습니다.
class는 flash에서 하나의 .as 파일로 생성하여 사용한다는건 지난번에 이야기를 했습니다. 하나의 .as파일은 하나의 클래스를 나타내게 되는데요..이렇게 파일로 만들어 놓으면 모듈화가 쉽기때문에 재사용하기에도 간편하게 되어있습니다.(실제로 써보시면 정말 편리합니다..^^)
그럼 class의 구조(.as 파일의 구조)부터 살펴볼까요?
.as 파일의 내부는 이렇습니다..^^

class 클래스 이름 { //클래스를 생성 class 키워드 + 클래스의 이름

  var 속성; //속성을 정의

  function 클래스 이름() { //생성자
  }

  function 메서드() { //메서드를 정의
  }
}

간단히 설명을 하자면 처음은 클래스를 생성하겠다고 말하는 줄인데요 class 라는 키워드를 사용합니다. 그리고 중괄호.. 이중괄호안에서 클래스를 정의합니다.
다음은 속성 var 속성 = 값; 이런 형태로도 사용 가능합니다. 클래스 내부에서 사용되는 변수(?)라고 보시면 대충 비슷합니다.
다음은 생성자인데요 생성자는 데이터의 초기화를 담당합니다. 무슨말이냐 하면 위에서 정의된 속성들의 초기값을 결정해주는 역할을 합니다.(이부분은 확신이..-0-)
그다음은 메서드 인데요 클래스의 동작을 정의합니다. 메서드를 호출하면 지정된 동작을 수행하게 되는것이지요...^^ 1.0 버젼에서는 함수로 대신하던일을 2.0에서는 클래스의 메서드로 대신하는 것이지요.
여기서 잠깐! 클래스를 정의하기 위해서 몇가지 주의사항이 있는데요.
1. 속성/메서드는 없거나 1개 이상 가질 수 있지만 생성자는 없거나 1개만 가질수 있다. 말그대로 생성자는 2개이상 가질수가 없다는군요.
2. 클래스 파일이름은 클래스이름.as로 정의합니다. 대소문자를 구분하니까 대소문자도 틀리면 안됩니다.
3. 하나의 클래스에는 class라는 키워드를 1개만 사용할 수 있습니다. 즉, 하나의 .as파일에는 하나의 class만이 존재한다는 것이지요.
4. class를 정의할 때 클래스 이름뒤에 () 괄호는 없습니다. 가끔 함수랑 햇갈려서 괄호를 쓰는분들이 계시는데 그러면 에러납니다~^^

이제 생성을 했으니 실행을 해야겠지요?
클래스를 사용하려면 클래스를 새로 생성하는 명령인 new를 사용해 new 클래스 이름() 으로 클래스를 동작시켜야 합니다. 이것을 인스턴스 라고 하는데요. 인스턴스란 클래스의 실제사용 / 클래스를 프로그램에서 실행시킨 것을 말합니다.
예) var 인스턴스네임 = new 클래스네임();
    인스턴스네임.속성(메서드())의 형식으로 실행합니다.

아직 클래스를 정확히 알긴 좀 무리가 있는 이야기이지만 다음기회에 좀더 자세히 알아보도록 하겠습니다. 오늘은 여기까~~지~~ 다음엔 변수에 대해서 이야기해볼까요?



잡담...
쓰고나서 보니 좀 횡설수설 이네요..
사실저도 클래스를 정확이 사용해본적이 아직없어서 잘 이야기할수가 없습니다..^^;;
지금부터 몇번째까지가 될지는 모르지만(약 5차) 그때까지는 이런 개념적인 이야기가 계속 이어질지도..ㅋㅋ 개념잡기가 대충 끝나면 실제 플래시게임을 하나씩 만들어보면서 진짜 이야기를 시작하지요..^^ 아..이야기 안했던가요? 저는 지금 플래시 게임 프로그래머로 일하고있는 직장인(?) 입니다. 절대 자랑하는건 아니구요(아직 인턴에 박봉..ㅠ.ㅠ) 이후에 예제로 쓸것들이 제가 공부하면서 연습했던 것들이라 미리 이야기 하는겁니다..^^;; 어디서 퍼온거 아니구 제가다 만든거에요..ㅠ.ㅠ 그것들도 as 1.0 버전에 스크립트 들이라 좀 문제가 있지만 그건 게임 프로그래밍에대한 이해와 알고리에 대한 이야기 이니까 클래스와는 무관합니다.(대략 무책임..-0-)

'Programing' 카테고리의 다른 글

php 기본문법  (0) 2007.08.29
Spring 프레임워크 관련 자료  (0) 2007.08.29
flash에 관한 이야기?(2차)  (0) 2007.08.29
flash에 관한 이야기?(1차)  (0) 2007.08.29
DB Connection 3가지 방법(JSP)  (0) 2007.08.29
AWK  (0) 2007.08.29

댓글을 달아 주세요

flash에 관한 이야기?(1차)

Programing 2007.08.29 23:54 Posted by 애플자라
안녕하세요. 어쩌다보니 공부하면서 이런걸 쓰게 되었답니다. 아직 저도 공부하는 중이라 틀린부분이 있을지도 모르지만 서로 지적해주면서 함께 공부해보아요..^^
이걸 보고계신다면 플래시에 관심이 있거나 플래시를 다뤄보신 분들 일텐데요.(걍 한번 클릭해보신 분들도 계시려나??^^;;) 머 이유야 어찌 됐건 플래시 그것도 액션스크립트에 함께 해 봅시다~
현재의 플래시는 flash MX 2004 혹은 flash8 버젼까지 나왔고 액션스크립트의 버전은 2.0 입니다. flash1부터 8까지 왔는데 왜 액션스크립트는 2.0이냐? 라고 물으신다면 플래시를 만든 매크로 미디어사에서 그렇게 정했기 때문이죠..``;; 사실 액션스크립트는 그저 액션스크립트였지만 이번 Action Script 2.0 을 내놓으면서 이전까지의 Action Script를 매크로 미디어사에서 1.0버젼으로 통칭해버렸죠... 뭐 이런건 중요한게 아니지만..^^
이제 슬슬 볼론으로 들어가서 스크립트를 살펴볼까요?
flash MX 2004의 가장 큰 변화는 바로 Action Script 2.0의 등장 입니다.
Action Script 2.0은 완전한 객체지향 프로그래밍을 지원하는 문법체계를 갖추고 이전 액션스크립트와는 다른 형식을 가지고 있습니다.
이러한 몇가지 다른 특징을 살펴보자면 먼저 객체지향을 위한 class, extends, private, public 등의 키워드가 추가되었고, 예전 1.0버젼의 함수를 이용하는 방식과는 달리 class 키워드를 이용 클래스를 정의하여 사용할수 있게 되었습니다. 또 이전과는 달리 데이터형을 엄격하게 지키게 되어 변수의 자료형 또는 함수 및 메서드의 매개변수 등을 명시적으로 지정하여 좀더 신뢰성 있고 견고한 프로그래밍이 가능하게 되었습니다.
(※ 이전 버전에서는 변수를 선언하고 값을 넣으면 삽입되는 값에 따라 변수의 자료형이 변하게 되었는데 2.0버전에서는 변수 선언시 자료형을 지정해주어 맞지않는 자료가 들어가게 되면 애러를 출력합니다. 현재도 형선언없이 변수를 사용할 수 있긴 하지만 이렇게 되면 변수관리 라던지 디버그 면에서 어려움이 많으므로 형선언을 확실하게 해주는 방법을 권장합니다.)

그럼 이제 가장처음 말했던 객체지향 프로그래밍에 대해서 알아봅시다.
먼저 객체란 무엇인가? "세상에는 수많은 객체들이 존재하며 사람도 객체이고 자동차도 객체이고 고양이도 객체이다."라고 어느 책에서 설명하고 있습니다. 사람이라는 객체는 이름, 나이, 성별 등의 "속성"과 걷기, 뛰기, 앉기 등의 "행동(메서드)"을 가지고 있습니다. 그리고 자동차라는 객체또한 색상, 차종 등의 "속성"과 주행, 정지 등의 "행동(메서드)"를 가지고 있습니다. 이게 무슨말이냐구요? 사람이 자동차를 타고 이동을 하게되면 두개의 객체가 서로 연결되어 하나의 작업을 수행하게 되는것이지요.
독립된 두개이상의 객체가 서로 연결하여 어떠한 작업을 수행하는 것을 객체지향 프로그램이라고 이야기할수 있습니다.
정리하자면 객체지향 프로그래밍이란 독립된 객체이 모여 서로 연동하고 자료를 주고받아 하나의 프로그램을 형성하는것 입니다.

객체를 이야기하려면 클래스(class)를 빼놓을수 없는데요..^^ 이번 Action Script 2.0에서는 class를 독립된 하나의 .as 파일로 생성하여 사용하도록 하고 있습니다.
이에대한 자세한 이야기는 다음에 계속 하도록 하지요. 그럼 오늘은 여기까~~지~~
다음은 예고한것처럼 class에 대한 이야기를 해볼까합니다.
여기까지 읽어주셔서 감사합니다.



잡담...
알고리즘에 대하여..
알고리즘(로직이라고도 하지요)은 어떠한 문제를 해결하기위한 논리적인 규칙을 말합니다. 프로그램이 실행되는 규칙? 정도일까요? 예를들어 사각형의 넓이를 구하기 위해 밑변 곱하기 높이를 하는것도 아주아주 간단하지만 사각형의 넓이에대한 알고리즘 이라고 할수있습니다. 이러한 알고리즘은 프로그래머에게 있어서는 정말 중요한 문제입니다. 알고리즘을 잘짤수있다면 프로그램의 무게가 훨씬 가벼워지고 같은 작업을 할때에도 훨씬 효율적인 작업을 할수 있는 것입니다. 알고리즘은 꾸준히 연습하세요 알고리즘이 부실하면 뛰어난 프로그래머가 될 수 없답니다..^^
아..그리고 알고리즘에 자신이 있으시다면 인터넷에 떠도는 넥슨 입사시험 문제를 검색해서 풀어보시기 바랍니다. 정말 어려워요..ㅠ.ㅠ
아..질문이나 잡담은 댓글로..

댓글을 달아 주세요

DB Connection 3가지 방법(JSP)

Programing 2007.08.29 23:52 Posted by 애플자라
1. pool이 아닌경우

2. 인터넷에 공개된 Hans의  pool 처리 루틴

3. 자카르타 프로젝트 dbcp를 이용한 pool 처리


3가지 방법이 구현된 라이브러리 입니다

db.properties파일의 프로퍼티를 읽어서 처리합니다


소스중에 다른 라이브러리의 메소드가 있는데

java collection을 이용한 메소드니까 조금만 신경쓰시면 만드실 수 있을겁니다

많은 도움 되시기 바랍니다

 
출처 : OKJSP

'Programing' 카테고리의 다른 글

flash에 관한 이야기?(2차)  (0) 2007.08.29
flash에 관한 이야기?(1차)  (0) 2007.08.29
DB Connection 3가지 방법(JSP)  (0) 2007.08.29
AWK  (0) 2007.08.29
이클립스 실행 에러 Required java version:1.4.1.Available:1.3.1_01  (0) 2007.08.29
[oracle] 사용자 생성  (0) 2007.08.29

댓글을 달아 주세요

AWK

Programing 2007.08.29 23:51 Posted by 애플자라
뭐 본인은 로그파일 모니터링시 사용한다.
계속 tail -f 문으로 보고있으면 눈만 아프지 @_@
그럴때를 대비해서 AWK 같은 툴을 써주는 센스 ~ㅅ~

로그파일 백업본이 이런형태일때 잘못된부분에 해당하는 라인의 로그만을 따로 긁어
다른파일로 저장해야한다.
아래는 예제.
EX) 파일명 dasida.log
데이터 형식은 이런형식
1 2020202 2006-08-03 11:20:22:085 20060803 11:20:22:090 0 3 0
1 2020202 2006-08-03 11:20:22:085 20060803 11:20:22:090 2 3 0
1 2020202 2006-08-03 11:20:22:085 20060803 11:20:22:090 2 3 0
1 2020202 2006-08-03 11:20:22:085 20060803 11:20:22:090 0 3 0
              .
              .
              .
              .


위를 보게되면 9개의 필드가 TAB 혹은 spacebar 로 나누어져있다는것을 알수있다.
이중에서 7번째 데이터가 2로 출력되지않는경우의 line를 복사하여야하는데
먼저 파일 출력내역을 저장할 임의의 파일을 생성한다

SHELL > touch dasida.dat

그다음 dasida.log에 있는 로그파일중 잘못된부분의 로그를 긁어 dasida.dat 로
리다이렉션한다.

SHELL > awk '$7!=2 {print}' dasida.log > dasida.dat

여기서 $7 은 7번째 데이터영역을 뜻하는것
시간날때 완전히 자동화된 스크립트를 작성해야겠다 ~ㅅ~
업무의 효율성을 위하여 'ㅂ'

글 출처는 본인의 머리속이라네..


사용법은 여기를 참조하시게나 -_- /
http://database.sarang.net/study/awk/awk_manual-linuxnet.html#toc1

'Programing' 카테고리의 다른 글

flash에 관한 이야기?(1차)  (0) 2007.08.29
DB Connection 3가지 방법(JSP)  (0) 2007.08.29
AWK  (0) 2007.08.29
이클립스 실행 에러 Required java version:1.4.1.Available:1.3.1_01  (0) 2007.08.29
[oracle] 사용자 생성  (0) 2007.08.29
세션처리  (0) 2007.08.29

댓글을 달아 주세요