달력

02

« 2012/02 »

  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  •  
  •  
  •  
원본: http://taligarsiel.com/Projects/howbrowserswork1.htm#1
번역: 박종현

사파리 | 파이어폭스 | 오페라


소개
웹 브라우저는 아마도 가장 광범위하게 사용되는 소프트웨어 일 것입니다. 이 책에서 나는 그들이 작업하는 방법에 대해 설명하고자 합니다. 우리는 여러분이 주소창에 google.com을 타이핑할 때 부터 브라우저에서 google.com을 볼때까지 무슨일이 발생하는지 보게될 것입니다.

우리는 브라우저들에 관해 이야기 할 것입니다.
오늘날 메이저 브라우저 5가지가 있습니다. - 인터넷 익스플로러, 파이어폭스, 사파리, 크롬과 오페라
나는 오픈소스 브라우저를 예로 들 것입니다. - 파이어폭스, 크롬, 사파리는 오픈 소스 브라우저의 일부 입니다.
W3C 브라우저 통계에 따르면 현재(2009년 10월) 파이어폭스, 사파리, 크롬의 사용 점유율은 60% 가까이 됩니다.
그래서 오늘날 오픈소스 브라우저들은 브라우저 사업의 상당한 부분을 차지하고 있습니다.

브라우저의 주요 기능
브라우저의 주요 기능은 여러분이 선택한 웹 리소스, 웹 브라우저에 나타내거나 웹 서버를 통해 요청한 것을 표현하는 것 입니다. 리소스 포맷은 보통은 HTML을 사용하지만 PDF나 이미지 그리고 그 이상의 것들도 가능합니다.

브라우저가 HTML 파일을 해석하고 표시하는 방법은 HTML과 CSS 사양에 정의되어 있습니다. 이 사양은 W3C라는 웹 표준 단체 의해 유지됩니다.
HTML의 현재 버전은 4 입니다. 버전5는 진행중 입니다. 현재 CSS버전은 2이고 CSS버전 3은 진행중 입니다.
몇년간 브라우저는 사양의 한 부분만 허용했고, 그들 자신의 확장을 기능을 개발했습니다. 그것은 웹 개발자들에게 심각한 호환성 문제를 일으켰습니다. 오늘날 대부분의 브라우저는 더 많거나 더 적은 사양을 따르고 있습니다.

브라우저의 사용자 인터페이스는 서로 많은 공통점이 있습니다.
- URI 주소 입력을 위한 주소바
- 뒤로 및 앞으로 가기 버튼
- 즐겨찾기 옵션
- 현재 문서를 새로고침하고 로딩을 멈추는 중지 버튼
- 여러분의 홈 페이지로 이동하기 위한 홈 버튼

이상하게도 대부부의 브라우저의 인터페이스가 어떤 공식 스펙에 의해 정의되지 않았음에도 서로의 브라우저에 대한 모방과 경험에 의해 공유된 좋은 사례 입니다.
HTML5 사양은 브라우저 대부분이 가지는 UI 엘리먼트 정의를 가지고 있지만 공통 엘리먼트를 나열하지는 않습니다. 그것들은 주소창, 상태바와 도구바 입니다. 물론 파이어폭스와 같은 특정 브라우저는 다운로드 매니저와 같은 것은 특정 브라우저의 특정 기능 입니다.
사용자 인터페이스 챕터를 통해 더 알수 있습니다.

브라우저의 높은 수준의 구조
다음은 브라우저의 중요한 컴포넌트 입니다.
1. 사용자 인터페이스 - 주소바, 뒤로/앞으로 버튼, 즐겨찾기 메뉴 등을 포함합니다.
                                여러분이 요청한 페이지를 보는 메인 윈도우를 제외한 브라우저 디스플레이의 모든 부분.
2. 브라우저 엔진 - 질의하고 렌더링 엔진을 조작하기 위한 인터페이스
3. 렌더링 엔진 - 요청한 컨텐츠에 응답. 
                       만약에 요청된 컨텐츠가 HTML이라면 HTML과 CSS를 파싱하고 구문 분석된 컨텐츠를 화면상에 표현.
4. 네트워킹 - HTTP 요청과 같은 네트워크 호출을 위해 사용됩니다. 이것은 각각의 플랫폼 구현 아래서 플랫폼 독립적인
                   인터페이스를 가집니다.
5. UI 백엔드 - 콤보상자와 윈도우와 같은 기본적인 위젯을 그리기 위해 사용됩니다.
                    그것은 특정한 플랫폼이 아닌 일반적인 인터페이스를 제공합니다.
                    그리고 이것은 OS의 사용자 인터페이스 메서드를 상속하여 사용됩니다.
6. 자바스크립트 인터프리터 - 자바스크립트 코드를 구문 분석하거나 실행하는데 사용됩니다.
7. 데이터 저장소 - 이것은 지속성 레이어 이다.
                          브라우저는 쿠키와 같은 모든 종류의 데이터를 하드 디스크에 저장하는데 필요합니다.
                          새로운 HTML 사양(HTML5)은 브라우저내에 완전한 데이터베이스인 '웹 데이터베이스'를 정의합니다.


위의 그림은 브라우저 메인 컴포넌트들을 보여 줍니다.
각 탭은 별도의 프로세스 입니다. 하지만 대부분의 브라우저와 달리 크롬 브라우저는 렌더링 엔진에 여러 인스턴스를 포함하고 있습니다. 이들 각각의 컴포넌트는 다른 챕터를 통해 보여줄 것입니다.

구성요소간의 통신
파이어폭스와 크롬은 특별한 통신 인프라스트럭처를 개발했습니다.
그것들에 대해서는 특별한 챕터에서 논의할 것입니다.
저작자 표시 비영리 변경 금지

'웹표준' 카테고리의 다른 글

웹 브라우저는 어떻게 작업을 하는가(1)  (0) 2011/11/13
Posted by -세티-
2011/09/24 01:42

[SETI] 5. MOP and Project Phoenix Astronomy2011/09/24 01:42


5. MOP 와 피닉스 프로젝트

Deep_space_network_40th_logo.PNG


1992년 미국 정부는 NASA의 마이크로파 관측 프로그램(MOP)의 형태인 SETI 프로그램에 자금을 지원했습니다. MOP는 하늘에 대한 전반적인 탐사와 더불어 가까이에 있는 800개 별들의 세부적인 것에 대한 목표물 탐사를 수행하도록 장기간 계획되었습니다.




GBT.png

Arecibo_Observatory.jpg

Goldstone_DSN_antenna.jpg

미국국립전파천문대 전파망원경

아레시보 전파망원경

NASA DSN 중 하나인 GDSCC 망원경
(Goldstone Deep Space Communications Complex)



MOP는 NASA의 웨스크 버지니아주 Green Bank에 위치한 미국국립전파천문대의 43m(140피트) 전파망원경, 푸에르토리코의 아레시보 관측소에 위치한 300m(1000피트) 전파망원경 그리고 NASA DSN(Deep Space Network)와 연합한 라디오 안테나들로 실행되었습니다. 신호들은 용량이 1,500개의 채널급인 스펙트럼 분석기로 분석되었고 이 분석기들은 더 큰 용량을 얻기 위해서 결합하였습니다.





SETI_Institute_Logo.png

http://www.seti.org/


MOP는 미국 국회로부터 조롱 받게 되었고 시작 후 1년만에 프로그램은 취소되었지만 SETI 지지자들은 정부의 지원 없이 작업을 지속했고 1995년 캘리포니아 마운틴 뷰의 SETI institute는 민간자금을 후원 받아 Phoenix 프로젝트라는 이름으로 MOP를 재개했습니다.


 

Jill Tarter의 지휘하 Phoenix 프로젝트는 MOP의 목표물 탐색 프로그램이 지속된 것이고 약 1,000개의 별을 연구했습니다. 1995년 부터 2004년 3월까지 Phoenix 프로젝트는 미국국립전파천문대 전파 망원경과 아레시보 전파 망원경으로 탐사를 수행했습니다. Phoenix 프로젝트는 1,200~3,000MHz 주파수 범위의 채널들을 이용하여 800여개 상당의 별들을 관측했습니다. 이 탐사의 송신기는 200만광년 거리의 1GW EIRP를 충분히 감지해 낼 정도로 민감했습니다.


스크린샷 2011-07-13 오전 2.53.38.png


 

NASA-SETI-Sensitivity.jpg

SETI 전파 탐색의 감도와 범위 비교


대각선 줄무늬: 송신기들의 효율적인 동력.


x축: 탐색의 감도를 의미.


오른쪽 y축: 광년 단위의 범위


왼쪽 y축: 범위 이내 태양과 같은 별 개수


SS 수직선:

BETA(Billion-channel ExtraTerreatrial Assay) 그 이상과 같은 전체 하늘 탐색에 의해 달성된 일반적인 감도를 의미


TS 수직선:

Phoenix 프로젝트와 같은 목표물 탐색에 의해 달성된 일반적인 감도를 의미

저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

[SETI] 5. MOP and Project Phoenix  (0) 2011/09/24
[SETI] 4. Sentinel, META, and BETA  (0) 2011/09/24
[SETI] 3. Early work  (0) 2011/09/24
[SETI] 2. Radio experiments  (0) 2011/09/24
[SETI] 1. SETI  (0) 2011/09/24
경기도 화석정  (0) 2011/06/28
Posted by -세티-
2011/09/24 01:40

[SETI] 4. Sentinel, META, and BETA Astronomy2011/09/24 01:40


1980년에 칼 세이건, 브루스 머레이 그리고 루이스 프레드만은 SETI 연구를 부분적으로 담당하기 위한 미국행성학회(http://www.planetary.org/home/)를 설립했습니다.


1980년대 초반에 하바드 대학의 물리학자 파울 호로비츠(Paul horowitz, http://www.harvardsquarelibrary.org/cfs2/paul_horowitz.php)


Paul Horowitz

Paul Horowitz


는 다음 단계로 SETI 전파 탐색을 위해 특별히 계획한 스펙트럼 분석의 디자인을 제안했습니다. 전통적인 데스크탑 스펙트럼 분석들은 제한된 몇 개의 채널로 얻은 것을 아날로그 필터겹을 사용하여 파장을 샘플화 함으로써 이것의 분석을 위해 약간 사용 되었습니다.


wksignal.jpg



번역자 부연설명


학창시절 유기화학 시간에 배웠던 내용 입니다.


Balmer spectrum of hydrogen


위의 그림은 수소원자에 대한 발머 스펙트럼 입니다.



Balmer series


위의 그림은 전자껍질에 대한 설명입니다.


에너지가 낮으면 전자껍질은 n=1 바닥상태에 있게 되고, 에너지가 높음에 따라 n=2, n=3 과 같은 혹은 그 이상의

전자껍질 상태를 가지게 됩니다. 사실 전자껍질의 갯수는 무제한 이죠.

들뜬 상태에 있는 전자껍질이 n=2로 내려올 때 빛을 방출하게 됩니다.

전자껍질 n=6에서 n=2로 떨어질 때 수소는 보라색 빛을 발산합니다.

마찬가지로 n=5 -> n=2면 청색선

n=4->n=2가 되면 하늘색선

그리고 n=3 -> n=2가 되면 빨간색 빛을 발산합니다.


다시 말해 어느 전자껍질의 위치에 있던 n=2 로 떨어지게 되면 빛을 내게 됩니다.




그러나 현대적인 통합회로디지털신호분석(DSP) 기술은 더 많은 채널을 사용하여 더 먼 곳을 체크하고 수신하여 자동으로 상관관계를 구하는데 사용되고 있습니다. 이 작업은 1981년에 시작된 131,000개의 협대역 채널의 용량을 가지고 "Suitcase SETI"라 이름 지어진 포터블 스펙트럼 분석을 이끌게 됩니다. 후에 1982년까지 필드 테스트를 하게 됩니다. Suitecase SETI는 하버드에 있는 26미터 하버드/스미소니언 전파 망원경, 메사추세츠와 함께 1983년에 사용됩니다.


Harvard radio telescope

(26미터 하버드/스미소니언 전파 망원경)


이 프로젝트의 이름은 "Sentinel"이며 1985년 까지 지속됩니다.

(The SEnTInel (SETI News): http://www.bigear.org/CSMO/HTML/CS02/cs02p30.htm )


hydrogen spin-flip transition


심지어 131,000개의 채널은 빠른 비율로 하늘을 탐색하는데 충분하지 않았습니다. 그래서 Suitcase SETI는 "Megachannel Extra-Terrestrial Assay"라는 다시말해 "META" 프로젝트에 1985년에 합류하게 됩니다. META 스펙트럼 분석은 840만개의 채널 용량과 0.05헤르츠 채널 분해 능력을 가지고 있습니다. META의 중요한 특징은 지구와 지구밖 신호를 구별하기 위해 도플러 쉬프트 파장을 사용합니다. 프로젝트는 행성학회의 조언과 호로이츠에 의해 이끌어 졌고 영화제작자 스티븐 스필버그가 일부분 투자 했습니다. 두번째 노력인 META II는 남반구 전천탐사를 위해 1990년 아르헨티나에서 시작되었습니다. META II는 여전히 운영중이고 1996년에 업그레이드 되었습니다.



Amateur SETI Analysis Setup from the Nothing But the Facts About SETI - The Search for Extra-Terrestrial Intelligence image gallery

(SETI 신호 분석)


META의 다음은 "Billion-channel ExtraTerrestrial Assay"인 "BETA"로 명명되었습니다. 이것은 1995년 10월 30일에 관측을 시작하였습니다. BETA의 심장은 고속퓨리에전송 엔진 63개가 있는데 각각의 능력은 2초동안 222개의 복합지점을 계산할 수 있고 디지털 신호 분석 보드를 가진 21대의 퍼스널 컴퓨터가 있습니다. 이것은 BETA가 2억5천만개의 채널이 동시에 수신할 수 있고 채널당 0.5 헤르츠의 분해가 가능하다는 것입니다. 이것은 2초 동안의 관측에서 1.400~1.720기가 헤르츠까지 마이크로파장 스펙트럼을 이용해서 탐색할 수 있습니다. BETA의 가장 중요한 특징은 빠른 자동 탐색입니다. 하늘에서 2개의 인접한 후보 신호를 관측할 수 있는 점인데 하나는 동쪽을 또 다른 하나는 서쪽을 관측할수 있다는 점 입니다. 지구의 항성 움직임 비율 내에서 일관성을 제공합니다. 세번째 수신기는 분명하게도 지구가 신호 수신을 금지한 것 같습니다. 1999년 3월 23일 강한 바람에 의해 26미터 전파 망원경이 부러졌습니다. 이것은 BETA 프로젝트에 대한 운영을 중지하는데 큰 힘이 되었습니다.


[3.jpg]

저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

[SETI] 5. MOP and Project Phoenix  (0) 2011/09/24
[SETI] 4. Sentinel, META, and BETA  (0) 2011/09/24
[SETI] 3. Early work  (0) 2011/09/24
[SETI] 2. Radio experiments  (0) 2011/09/24
[SETI] 1. SETI  (0) 2011/09/24
경기도 화석정  (0) 2011/06/28
Posted by -세티-
2011/09/24 01:39

[SETI] 3. Early work Astronomy2011/09/24 01:39


1959년에 코코니와 모리슨이 발표한 논문의 첫번째 포인트는 초기 목표로 파장을 제안했고 마이크로파장을 이용한 탐색이 가능하다는 것을 알렸습니다.( Cocconi, G., and Morrison, P. "Searching for Interstellar Communication," Nature, 184, 844 (1959). )

(논문보기: http://www.coseti.org/morris_0.htm)

Microwave.jpg

1960년에 코넬 대학의 천문학자 프랭크 드레이크가 "프로젝트 오즈마" 라는 이름으로 현대적인 첫 SETI 탐색을 실행했습니다.

후에 프랭크 바움's은 오즈의 여왕이라 했습니다. 드레이크는 웨스트 버지니아의 그린뱅크에 있는 26미터 접시 전파 망원경을 이용하여 Tau Ceti 그리고 Epsilon Eridani를 탐색하는데 1.420Ghz 파장을 표적 파장으로 했습니다. 100 Hz 대역폭을 가진 싱글 채널 수신기를 사용하는 것으로 400Khz 대역의 표적 파장 주변을 탐색했습니다. 그 정보는 오프라인 분석을 위해 테이프에 저장되었습니다. 그는 거대한 흥미로운 것을 아무것도 찾을 수 없었습니다.

Drake, F. D. "Project Ozma," Physics Today, 14, 140 (1961).

Drake, Frank, "Project Ozma: The Search for Extraterrestrial Intelligence," Proceedings of the NRAO Workshop held at the National Radio Astronomy Observatory, Green Bank, West Virginia, Workshop No. 11, May 20-22, Kellermann, K.I., and Seielstad, G.A., eds., p.23 (1985).

Tatel.jpg

(Green Bank 망원경)

1961년에 첫 SETI 컨퍼런스가 그린 뱅크에서 개최되었습니다. 소련은 SETI가 진행되는 1960년대 동안 강한 호기심을 보였는데 강력한 라디오 신호 포착을 위해 전방위 안테나를 사용해서 찾고자 하는 실행력을 보였습니다. 미국의 천문학자 Carl Sagan과 소련의 천문학자 Iosif Shklovskii는 1966년에 "Intelligent Life in the Universe"라는 책을 출간했습니다.

x4635.jpg

첫 크라우스 스타일의 전파 망원경은 1963년에 개량되었습니다. 그것은 360피트(110미터) 넓이에 500피트(150미터)길이, 70피트(21미터)의 높이를 가졌습니다.

http://www.setileague.org/photos/bigear/bigear03.jpg

(Kraus 타입 망원경)

1955년 3월의 미국의 과학적 이슈는 존 크라우스가 하나의 컨셉을 기술했는데 그것은 파라볼릭 효과를 가진 하나의 플랫-판 전파 망원경을 사용하여 자연적인 전파 신호를 우주에서 스캔하기 위한 컨셉 이었습니다. 2년 이내에 그의 컨셉은 오하이오 주립대학이 국립과학재단으로 부터 7만1천달러를 받아 건설되었습니다. 오하이오의 델라웨어에 있는 20-아크 플롯으로 초기 건설이 시작되었고 이 오하이오 주립대 전파 망원경의 이름은 "빅 이어"로 불리게 되었습니다. 후에 그것은 전세계에 첫 SETI 프로그램이 시작되었음을 알렸고, 그것의 이름은 오하이오 주립대 SETI 프로그램 이라 불렸습니다.

BIGEAR.JPG

(Big Ear Telescope)

1971년에 NASA의 SETI 학습에 드레이크, 휴렛팩커드의 버나드 올리버 그리고 다른 사람들이 포함되었습니다. 결과 보고서는 "프로젝트 사이클롭스"라 는 이름으로 알려진 1,500개의 병렬 접시 안테나를 지구상에 건설하는 것을 제안했습니다. 사이클롭스 병렬 망원경을 위한 목표 금액은 미국 달러로 10억 달러 였습니다. 사이클롭스는 건설되지 않았습니다. 그러나 보고서는 향후 SETI 작업을 위한 기초가 되었습니다.

1974년에 다른 세계에 메시지를 보내기 위한 아레시보 천문대가 건설되었습니다. 그것은 지구에서 25,000광년 거리에 있는 M13 구상성단을 향해 보내졌습니다.

OSU SETI 프로그램은 1977년 8월 15일에 Jerry Ehman이 망원경으로 하나의 강력한 신호를 수신함으로써 유명해졌습니다.

그는 재빠르게 프린트했고 "Wow"라고 표시했습니다. 이 시그널, Wow는 녹음되었습니다. 그리고 인공적인, 지구밖 소스에서 발견된 이 신호가 어떤 것인지 또는 누구인지 고려하기 시작했습니다. 그러나 그것은 몇몇의 추가적인 탐색이 다시는 이뤄지지 않았습니다.

wowsignal.gif

(Wow Sigmal)

1979년에 캘리포니아 버클리 대학은 "Search for Extraterrestrial Radio Emissions From Nearby Developed Intelligent Populations(SERENDIP)" SETI 프로젝트를 시작했습니다.

1986년에 UC 버클리는 그들의 2번째 SETI 노력(SERENDIP II)을 기울였습니다. 그 뒤로 4번더 이어졌으며 최근까지 이어졌습니다. 마지막으로 SERENDIP 프로젝트는 다시 환생했으며 SERENDIP V. 입니다. SERENDIP은 2009년에 시작되었으며 아레시보 전파 망원경을 이용한 전천 탐사 프로젝트 입니다.

저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

[SETI] 5. MOP and Project Phoenix  (0) 2011/09/24
[SETI] 4. Sentinel, META, and BETA  (0) 2011/09/24
[SETI] 3. Early work  (0) 2011/09/24
[SETI] 2. Radio experiments  (0) 2011/09/24
[SETI] 1. SETI  (0) 2011/09/24
경기도 화석정  (0) 2011/06/28
Posted by -세티-
2011/09/24 01:38

[SETI] 2. Radio experiments Astronomy2011/09/24 01:38


많은 라디오 파장은 우리의 대기를 잘 통과 합니다. 이것은 큰 라디오 안테나를 사용하여 우주를 탐색하고자 하는 사람들을 이끌기도 합니다. TV와 라디오와 같은 커뮤니케이션 도구는 부산물로 라디오 전파를 방사하는데 이것은 인공적인 자연이고 또 반복적이고 좁은 대역폭을 가집니다. 태양계 외부로 부터의 자연적이지 않은 라디오 방출을 탐색함으로써 외계문명을 발견할수 있는 방법 중의 하나입니다.

Filters.jpg

저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

[SETI] 4. Sentinel, META, and BETA  (0) 2011/09/24
[SETI] 3. Early work  (0) 2011/09/24
[SETI] 2. Radio experiments  (0) 2011/09/24
[SETI] 1. SETI  (0) 2011/09/24
경기도 화석정  (0) 2011/06/28
중앙선데이에 별과 사람들  (2) 2010/09/11
Posted by -세티-
2011/09/24 01:37

[SETI] 1. SETI Astronomy2011/09/24 01:37


SETI(Search for Extra-Terrestrial Intelligence)는 외계생명체 탐색을 위해 그것을 위해 활동하는 사람들을 위해 선택된 이름 입니다. SETI 프로젝트는 먼 행성의 문명으로부터 전송되는 전자기를 탐색하기 위해 과학적 방법을 동원합니다. 미국 정부가 SETI 프로젝트 초기에는 후원을 했지만 최근 작업들은 개인 기부금에 의존하고 있습니다. 첫 전송되는 신호를 위해 하늘을 가로질러 탐색하는 것은 거대한 도전 입니다. 전송신호의 방향과 스펙트럼 그리고 커뮤니케이션의 방법은 알려지지 않았지만 그것은 문명의 특성이라 할수 있겠습니다. SETI 프로젝트는 추정을 통해 탐색의 범위를 좁히며 효율적 탐색을 하고 있습니다.

저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

[SETI] 3. Early work  (0) 2011/09/24
[SETI] 2. Radio experiments  (0) 2011/09/24
[SETI] 1. SETI  (0) 2011/09/24
경기도 화석정  (0) 2011/06/28
중앙선데이에 별과 사람들  (2) 2010/09/11
Boinc 실적  (0) 2010/06/17
Posted by -세티-
2011/07/17 23:38

[Spring.NET강좌] Spring.NET General .NET2011/07/17 23:38


SQLER.com에 등록중인 Spring.NET 강좌 입니다.
필요한 분에게 도움이 되었으면 합니다.

1. Spring.NET 소개 - http://www.sqler.com/bDevelopmentFramework/400652

2.Spring.NET 모듈들 -  http://www.sqler.com/bDevelopmentFramework/401538

3.Spring.NET 사용 시나리오 - http://www.sqler.com/bDevelopmentFramework/402167

4. 무비파인더 - http://www.sqler.com/bDevelopmentFramework/404188 

5. 로컬라이제이션 설정하기 - http://www.sqler.com/bDevelopmentFramework/407850

6. AOP (1) - http://www.sqler.com/bDevelopmentFramework/418627

7. AOP(2) - http://www.sqler.com/bDevelopmentFramework/418862

저작자 표시 비영리 변경 금지
Posted by -세티-
2011/06/28 13:09

경기도 화석정 Astronomy2011/06/28 13:09

북쪽하늘 일주사진 입니다.

 
저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

[SETI] 2. Radio experiments  (0) 2011/09/24
[SETI] 1. SETI  (0) 2011/09/24
경기도 화석정  (0) 2011/06/28
중앙선데이에 별과 사람들  (2) 2010/09/11
Boinc 실적  (0) 2010/06/17
금성-화성-토성이 한번에 보이네요  (0) 2010/06/08
Posted by -세티-
2011/04/17 22:16

인적없는 달빛아래... Thinking2011/04/17 22:16


태양빛 아래 세상은 보기 싫어도 보이는 것들이 있다.
그러나 달빛 아래 세상은 보여줘야 할 것들만이 보여지고 있다.
저작자 표시 비영리 변경 금지
Posted by -세티-
2010/12/15 22:09

Windows Embedded General Tech.2010/12/15 22:09


1996년 Winows Embedded CE 1.0을 릴리즈

Windows Embedded Product Family

Windows Embedded CE
- 제한된 메모리 크기를 가지는 작은 디바이스에 최적화 되어 있음

Windows Embedded Standard 7
- Windows7 애플리케이션과 드라이버를 위한 버전

Windows Embedded Automotive7
- 차량용 커뮤니케이션, 엔터테인먼트 그리고 지역화에 기반을 둔 솔루션을 최적화 하는 표준화된 플랫폼
- 미들웨어 컴포넌트에 대해 유연함
- Windows Embedded Compact7의 수백개의 컴포넌트를 이용할 수 있음.

Windows Embedded POSReady 2011
Windows Embedded Handheld 6.5
Windows Embedded Enterprise
Windows Embedded NavReady
Windows Embedded Server

Windows Embedded Automotive 7 Overview

Deliver Rich, In-Car User Interfaces: HMI Differentiation with Silverlight for Windows Embedded Automotive 7



저작자 표시 비영리 변경 금지
Posted by -세티-
2010/12/09 17:35

MIME Type of Office General .NET2010/12/09 17:35

.docm,application/vnd.ms-word.document.macroEnabled.12
.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document
.dotm,application/vnd.ms-word.template.macroEnabled.12
.dotx,application/vnd.openxmlformats-officedocument.wordprocessingml.template
.potm,application/vnd.ms-powerpoint.template.macroEnabled.12
.potx,application/vnd.openxmlformats-officedocument.presentationml.template
.ppam,application/vnd.ms-powerpoint.addin.macroEnabled.12
.ppsm,application/vnd.ms-powerpoint.slideshow.macroEnabled.12
.ppsx,application/vnd.openxmlformats-officedocument.presentationml.slideshow
.pptm,application/vnd.ms-powerpoint.presentation.macroEnabled.12
.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation
.xlam,application/vnd.ms-excel.addin.macroEnabled.12
.xlsb,application/vnd.ms-excel.sheet.binary.macroEnabled.12
.xlsm,application/vnd.ms-excel.sheet.macroEnabled.12
.xlsx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.xltm,application/vnd.ms-excel.template.macroEnabled.12
.xltx,application/vnd.openxmlformats-officedocument.spreadsheetml.template
저작자 표시 비영리 변경 금지
Posted by -세티-
2010/10/10 10:05

2010 세계불꽃놀이 Thinking2010/10/10 10:05


불꽃축제에 120만 인파가 몰렸다고 합니다.

밖에 나가보니 정말 발디딜 틈이 없더라구요.

매년 이맘 때쯤 폭죽소리를 두 시간 이상 듣게 되는데 이쪽에 사는 사람들은 은근 스트레스를 받곤 합니다.

조용히 집중하고 싶을 때 매번 방해 되거든요. ^^

하지만 한강에서 행사가 있을 땐 편하게 걸어갈수 있어 나름 이점도 있습니다.

그래서 저 역시 하던 것 멈추고 카메라 둘러 매고 밖에 나갔습니다.

 

가을밤을 수놓은 아름다운 불꽃을 몇 장 찍어봤습니다.

 

20101009_세계불꽃축제002.JPG

 

 20101009_세계불꽃축제004.JPG

 

20101009_세계불꽃축제007.JPG

 

20101009_세계불꽃축제008.JPG

 

20101009_세계불꽃축제012.JPG

 

20101009_세계불꽃축제039.JPG

 

20101009_세계불꽃축제045.JPG

저작자 표시 비영리 변경 금지
Posted by -세티-
2010/09/11 11:21

중앙선데이에 별과 사람들 Astronomy2010/09/11 11:21


중앙선데이에 별을 보고 싶지만 어떻게 봐야할지 잘 모르는 분들을 위한 가이드를 기고 했습니다.


저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

[SETI] 1. SETI  (0) 2011/09/24
경기도 화석정  (0) 2011/06/28
중앙선데이에 별과 사람들  (2) 2010/09/11
Boinc 실적  (0) 2010/06/17
금성-화성-토성이 한번에 보이네요  (0) 2010/06/08
천문학 용어  (0) 2010/05/27
Posted by -세티-
2010/08/25 22:25

여름철 별자리 사진 Astronomical Observation2010/08/25 22:25

촬영일시: 2010년 08월 22일 오전 12시~02시
촬영장소: 파주 아쿠아랜드 주차장
촬영대상: 목성, 세페우스 자리, 카시오페이아 자리, 페가수스 자리, 거문고 자리, 물고기 자리, 백조자리, 안드로메다 은하










저작자 표시 비영리 변경 금지
Posted by -세티-
2010/07/28 03:00

jQuery - .hasClass() General Web2010/07/28 03:00

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script type="text/javascript" language="javascript" src="jquery-1.4.2.js"></script>
        <style type="text/css">
            p { margin: 8px; font-size:16px; }   
            .selected { color: red; }
            .highlight { background: yellow; }
        </style>
    </head>
    <body>
        <h4>.hasClass( className ): 엘리먼트에 하나 또는 그 이상의 클래스가 할당될 수 있다. HTML에서 표현은 아래와 같다.</h4>
        &lt;div id="mydiv" class="foo bar"&gt;</div>
        <h4>.hasClass() 메서드는 엘리먼트에 클래스가 할당되어 있으면 true를 반환한다. 다음의 예는 true를 반환한다.</h4>
        $('#mydiv').hasClass('foo')<br />
        $('#mydiv').hasClass('bar')
       
        <h4>매치된 엘리먼트에서 'selected' 클래스 찾기</h4>
        <p>Hello</p>
        <p class="selected">Goodbye</p>
        <div id="result1">First paragraph has selected class: </div>
        <div id="result2">Last paragraph has selected class: </div>
        <div id="result3">Some paragraph has selected class: </div>
       
        <script>
            $("div#result1").append($("p:first").hasClass("selected").toString());
            $("div#result2").append($("p:last").hasClass("selected").toString());
            $("div#result3").append($("p").hasClass("selected").toString());
        </script>
    </body>
</html>
저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

jQuery - .hasClass()  (0) 2010/07/28
jQuery-.html()  (0) 2010/07/27
jQuery - .attr()  (0) 2010/07/27
jQuery - 엘리먼트에 클래스 추가/삭제 하기.  (0) 2010/07/26
ASP + AJAX(JSON)  (0) 2010/06/18
Javascript를 이용한 개발에서의 MVC 패턴  (2) 2009/02/11
Posted by -세티-
2010/07/27 09:15

jQuery-.html() General Web2010/07/27 09:15

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script type="text/javascript" language="javascript" src="jquery-1.4.2.js"></script>
        <style type="text/css">
            p { margin:8px; font-size:20px; color:blue; cursor:pointer; }
            b { text-decoration: underline; }
            button { cursor: pointer; }
        </style>
    </head>
    <body>
        <h4>.html(): 이것은 xml 문서에서는 이용할 수 없다. 매치된 엘리먼트 집합의 첫번째 엘리먼트가 포함하는 html을 반환</h4>
        $('div.demo-container').html();<br>
        &lt;div class="demo-container"&gt;<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="demo-box"&gt;Demonstration Box&lt;/div&gt; <= 결과값<br>
        &lt;/div&gt;<br><br>
       
        <p><b>Click</b> to change the <span id="tag">html</span></p>
        <p> to a <span id="text">text</span> node.</p>
        <p> This <button name="nada">button</button> does nothing.</p>

        <script>
            $("p").click( function() {
                var htmlStr =  $(this).html();
                $(this).text(htmlStr);
            });
        </script>

        <h4>.html( htmlString ): 매치된 엘리먼트가 포함하는 HTML을 문자열로 설정한다.</h4>
        $('div.demo-container').html();<br>
        &lt;div class="demo-container"&gt;<br>
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="demo-box"&gt;Demonstration Box&lt;/div&gt; <= 이 부분 교체<br>
        &lt;/div&gt;<br><br>

        <div class="demo-container">
            <div class="demo-box">Demonstration Box</div>
        </div>
        <script>
            $('div').html('<p>All new content. <em>You bet!</em></p>');
        </script>

        <h4>jQuery 1.4에서는 함수를 이용하여 값 바인딩이 가능</h4>
        <div class="demo-container1">
            <div class="demo-box">Demonstration Box</div>
        </div>
        <script>
            $('div.demo-container1').html( function() {
                var emph = '<em>' + $('p').length + ' paragraphs!</em>';
                return '<p>All new content for ' + emph + '</p>';
            });
        </script>

        <h4>각각의 div에 약간의 html을 추가</h4>
        <div></div>
        <div></div>
        <div></div>
        <script>
            $("div").html("<b>Wow!</b> Such excitement...");
            $("div b").append(document.createTextNode("!!!")).css("color", "red");
        </script>
    </body>
</html>
저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

jQuery - .hasClass()  (0) 2010/07/28
jQuery-.html()  (0) 2010/07/27
jQuery - .attr()  (0) 2010/07/27
jQuery - 엘리먼트에 클래스 추가/삭제 하기.  (0) 2010/07/26
ASP + AJAX(JSON)  (0) 2010/06/18
Javascript를 이용한 개발에서의 MVC 패턴  (2) 2009/02/11
Posted by -세티-
2010/07/27 03:00

jQuery - .attr() General Web2010/07/27 03:00

출처: http://api.jquery.com/attr/

<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <script type="text/javascript" language="javascript" src="jquery-1.4.2.js"></script>
        <style type="text/css">
            em { color:blue; font-weight:boid; }
            div { color:red; }
        </style>
    </head>
    <body>
        <h4>.attr(attributeName): 애트리뷰트의 이름 가져오기</h4>
        <p>Once there was a <em title="huge, gigantic">large</em> dinosaur...</p>
        The title of the emphasis is: <div></div>

        <script type="text/javascript" language="javascript">
            var title = $("em").attr("title");
            $("div").text("title");
        </script>

        <h4>.attr(attributeName, value)</h4>
        <img id="greatphoto" src="http://www.dcollect.co.kr/data/rental/goods/small/DM2ST98_500.jpg" alt="brush seller">
        <script>
            /* 하나씩 애트리뷰트에 값 추가하기 */
            $('#greatphoto').attr('alt', 'Beijing Brush Seller');
            $('#greatphoto').attr('title', 'Photo by Kelly Clark');
        </script>

        <h4>.attr(map): 애트리뷰트-값 쌍의 맵</h4>
        <img id="greatphoto" src="http://www.dcollect.co.kr/data/rental/goods/small/DM2ST98_500.jpg" alt="brush seller">
        <script>
            /* 한번에 추가하기 */
            $('#greatphoto').attr({
                alt: 'Beijing Brush Seller',
                title: 'Photo by Kelly Clark'
            });
        </script>

        <h4>greatphoto ID값을 가지는 img 앨리먼트의 alt에 title을 결합하여 출력</h4>
        <img id="greatphotoA" src="http://www.dcollect.co.kr/data/rental/goods/small/DM2ST98_500.jpg" alt="brush seller">
        <script>
            /* 한번에 추가하기 */
            $('#greatphotoA').attr('title', function(){
                return this.alt + '- photo by kelly clark'
            });
        </script>

        <h4>모든 img 테그의 속성값 교체(소스내 주석 삭제)</h4>
        <img />
        <img />
        <img />
        <div><b>Attribute of Ajax</b></div>
        <script>
        /*
            $('img').attr({
                src: "http://www.dcollect.co.kr/data/rental/goods/small/7(1).jpg",
                title: "jQuery",
                alt: "jQuery Logo"
            });

            $("div").text($("img").attr("alt"));
        */
        </script>

        <h4>페이내의 div에 id 설정</h4>
        <div>Zero-th<span></span></div>
        <div>first<span></span></div>
        <div>second<span></span></div>
        <script>
            $('div').attr('id', function(arr){
                return "div-id" + arr;
            })
            .each(function() {
                $("span", this).html("(ID = '<b>" + this.id + "</b>')")
            });
        </script>
    </body>
</html>
저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

jQuery - .hasClass()  (0) 2010/07/28
jQuery-.html()  (0) 2010/07/27
jQuery - .attr()  (0) 2010/07/27
jQuery - 엘리먼트에 클래스 추가/삭제 하기.  (0) 2010/07/26
ASP + AJAX(JSON)  (0) 2010/06/18
Javascript를 이용한 개발에서의 MVC 패턴  (2) 2009/02/11
TAG jquery
Posted by -세티-
<html>
    <head>
        <title></title>
        <script type="text/javascript" language="javascript" src="jquery-1.4.2.js"></script>
        <style type="text/css">
            p { margin:0; }
            .pStyle { color:red; }
            .pStyleb { color:blue; }
            .highlight { background:yellow; }
            .item-1 { color:green }
            .item-2 { color:maroon }
        </style>
    </head>
    <body>

        <h2>jQuery - .addClass(): 클래스 추가/삭제</h3>
        <h3>단일 엘리먼트의 클래스 추가/삭제</h3>
        <p>1234</p>
        <p>5678</p>
        <p>9012</p>

        <script language="javascript">
            $('p').addClass('pStyle');    //클래스 추가하기
            $('p').removeClass('pStyle').addClass('pStyleb');    //추가한 클래스 제거하고 다른 클래스 추가하기.
            $('p:last').removeClass('pStyleb').addClass('pStyle');    //마지막 p 엘리먼트의 클래스를 제거하고 다른 클래스 추가.
            $("p:last").addClass("highlight");
        </script>
   
        <h3>리스트형 엘리먼트에 클래스 추가/삭제</h3>
        <ul>
            <li>가나다</li>
            <li>라마바</li>
            <li>사아자</li>
        </ul>

        <script type="text/javascript" language="javascript">
        $('ul li').addClass ( function() {
            return 'item-' + $(this).index();
        });
        </script>

        <script type="text/javascript" language="javascript">
        $('ul li:last').removeClass( function(){
            return 'item-' + $(this).index();
        })
        $('ul li:last').addClass ( function() {
            return 'item-' + $(this).index();
        });
        </script>
    </body>
</html>
저작자 표시 비영리 변경 금지

'General Web' 카테고리의 다른 글

jQuery-.html()  (0) 2010/07/27
jQuery - .attr()  (0) 2010/07/27
jQuery - 엘리먼트에 클래스 추가/삭제 하기.  (0) 2010/07/26
ASP + AJAX(JSON)  (0) 2010/06/18
Javascript를 이용한 개발에서의 MVC 패턴  (2) 2009/02/11
26. 레코드 사이 이동하기  (0) 2008/12/22
TAG jquery
Posted by -세티-

저작자 표시 비영리 변경 금지
Posted by -세티-

저작자 표시 비영리 변경 금지
Posted by -세티-
2010/07/02 22:18

불행이 반복된다면... Thinking2010/07/02 22:18

그건 지니고 있는 내 마음속 어떤 것이 현실이 되기 때문이라고 봅니다.

불행한 사람에게 있어 행복이란 어색하고 불편하고 자신을 불안하게 만드는 존재니까요.

어색한 것 보다는 편한 것이 낫기 때문에 불행이 반복됩니다.

결국 행복해지려고 노력할수록 어색함은 강해지게 되고 결국 불행해 집니다.

단순하지만 불행이 반복된다면 어색한 무언가를 편하게 대하려는 노력을 해야 하고 그것을 내것으로 만들어야 합니다.

그래야 행복해 지니까요.

저작자 표시 비영리 변경 금지
Posted by -세티-
2010/06/28 01:19

AJAX + ASP.NET General .NET2010/06/28 01:19

ASP.NET을 이용하여 AJAX 통신을 해보겠습니다.

먼저 아래의 그림과 같이 코딩을 합니다.


이미지를 보면 번호가 붙어 있는데요. 각 번호에 대한 설명은 아래와 같습니다.
1번 - AJAX 통신을 위해 ScriptManager를 이용합니다. ScriptManager는 참조경로로 CostService.svc 를 연결합니다.
2번 - HTML 콘트롤로 버튼을 하나 생성합니다. 클릭시 자바스크립트로 연결됩니다. Button1_onclick()를 호출합니다.
3번 - AJAX 통신으로 취합된 데이터를 출력하는 엘리먼트 입니다.


1번에 보여진 svc 설정을 위해 아래의 그림과 같은 절차를 이행합니다.
먼저 프로젝트에서 마우스 우클릭하고, Add > New Item 을 클릭합니다.
.svc 선택을 위해 AJAX-enabled WCF Service를 선택하고 Name CostService.svc 를 적어 줍니다.

Add 버튼을 클릭하고 svc를 추가합니다.
svc의 내용은 다음과 같습니다.
설명은 코드상에 주석으로 표기해 놓았습니다.

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Configuration;
using System.Web.Configuration;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Activation;
using System.ServiceModel.Web;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using Pesta.Utilities.Helpers;

//네임스페이스는 SandwichServices 입니다.
namespace SandwichServices
{

    [ServiceContract(Namespace = "SandwichServices")]
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class CostService : BaseCode
    {
        [OperationContract]
        public string CostOfSandwiches()
        {
            //BaseCode에서 연결 문자열을 가져옵니다.
            //코드 내용은아래에 있습니다.
            BaseCode bc = new BaseCode();
            string strConnection = bc.strConnection;

            //데이터베이스에 연결하고 오픈합니다.
            SqlConnection con = new SqlConnection();
            con.ConnectionString = strConnection;
            con.Open();

            //데이터를 가져오기 위한 쿼리 문자열을 생성합니다.
            //운영할 때 편이성을 위해 이렇게 코드에 쿼리를 넣는 것 보다는 SP로 하는게 더 낫습니다.
            string Query = string.Empty;
            Query = "select * from leeho_test";

            SqlCommand cmd = new SqlCommand(Query, con);
            SqlDataAdapter adp = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            adp.Fill(ds);

            //데이터 셋을 JSONHelper 객체로 보내 JSON 문자열을 생성합니다.
            Pesta.Utilities.Helpers.JSONHelper jh = new Pesta.Utilities.Helpers.JSONHelper();
            string ss = jh.ToJSON(ds);

            return ss;
           
        }
    }
}

//아래는 JSON 헬퍼 입니다.
//헬퍼 클래스는 2개의 메서드를 가지는데 하나는 데이터 셋을 인자로 받고, 다른 하나는 데이터 테이블을 직접 전달할 수
//있게 되어 있습니다.
namespace Pesta.Utilities.Helpers
{

    public class JSONHelper
    {
        #region Made from datatable of dataset to JSON string
        /// <summary>
        /// WriteDate : 2010-06-14
        /// Author : Jonghyun, Park
        /// Content: Made from DataTable of DataSet to JSON
        /// </summary>
        /// <param name="obj">DataSet</param>
        /// <returns>jsonBuilder</returns>
        public string ToJSON(DataTable dt)
        {
            return MakeData(dt);
        }
        #endregion

        #region Made from DataSet of dataset to JSON
        /// <summary>
        /// WriteDate : 2010-06-14
        /// Author : Jonghyun, Park
        /// Content: Made from DataSet of dataset to JSON
        /// </summary>
        /// <param name="obj">DataSet</param>
        /// <returns>jsonBuilder</returns>
        public string ToJSON(DataSet obj)
        {
            DataTable dt = obj.Tables[0];
            return MakeData(dt);
        }
        #endregion

        #region Make Data
        /// <summary>
        /// WriteDate : 2010-06-14
        /// Author : Jonghyun, Park
        /// Content: Make Data
        /// </summary>
        /// <param name="dt">DataTable</param>
        /// <returns></returns>
        private static string MakeData(DataTable dt)
        {
            StringBuilder jsonBuilder = new StringBuilder();
            jsonBuilder.Append("[");
           
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                jsonBuilder.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    jsonBuilder.Append("\""+ dt.Columns[j].Caption +"\":\"");
                    jsonBuilder.Append(dt.Rows[i][j].ToString());
                    jsonBuilder.Append("\",");
                }
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                jsonBuilder.Append("},");
            }
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);

            jsonBuilder.Append("]");
            return jsonBuilder.ToString();
        }
        #endregion
    }
}


아래는 BaseCode.cs 입니다.

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;

namespace SandwichServices
{
    public class BaseCode
    {
        public string DBKEY = string.Empty;
        public string GETKey = tring.Empty;
        private string dbkey {
            get {
                return DBKEY;
            }
            set {
                dbkey = DBKEY;
            }
        }
        public string strConnection = ConfigurationManager.ConnectionStrings["ApplicationServices"].ToString();
    }
}

   

다 되었으면 2번 내용을 준비합니다.
Button1_onclick() 함수를 자바스크립트로 만들어야 하는데요. 코드는 아래와 같습니다.

설명을 하자면....
1번 Button1_onclick 함수는 svc에서 노출된 함수를 호출합니다. 호출된 json 문자열을 2번 onSuccess 함수에 값으로 전달하게 되고 onsuccess 함수는 전달된 json 문자열을 div 엘리먼트의 id가 dvPrintData 객체에 그 값을 전달하여 출력하게 합니다.

출력 결과는 아래와 같습니다.


이상으로 AJAX + ASP.NET의 가장 기초적인 작성을 해봤습니다.


저작자 표시 비영리 변경 금지
Posted by -세티-
2010/06/18 17:49

ASP + AJAX(JSON) General Web2010/06/18 17:49


ASP 페에지 코딩 부분

호출 페이지로 전달할 데이터를 생성해 낸다.
호출된 데이터는 JSON 타입으로 사용하기 위해 문자열로 만들어준다.

 <%

    response.charset = "utf-8"
   
    dim cmd, db
   
    set db = server.createobject("adodb.connection")
    db.open "provider=sqloledb; data source = IP Address;uid=DBID;pwd=PASSWORD;database=DBNAME"
   
    set cmd = server.createobject("adodb.command")
    cmd.activeconnection = db
    cmd.commandtext = spNAME
    cmd.commandtype = 1
   
    set rs = cmd.execute
   
    if not rs.eof then
        OpenEventCommentList = rs.getrows()
    end if
    rs.close
  
    set rs = nothing

'   ============================================================
'   배열로 저장된 레코드 셋 출력하기.
'   ============================================================
    dim rowCnt, colCnt
    rowCnt = ubound(OpenEventCommentList, 2)    '행
    colCnt = ubound(OpenEventCommentList, 1)    '열
  
    dim json
    if IsArray(OpenEventCommentList) then
        json = json + "["
        for i=0 to rowCnt
            json = json + "{"
            for j=0 to colCnt
                if j=0 then json = json + """UserID"":""" end if
                if j=1 then json = json + """Content"":""" end if
                if j=2 then json = json + """RegDate"":""" end if
                json = json + OpenEventCommentList(j, i)
                json = json + ""","
            next
            json = Mid(json, 1, len(json) -1)
            json = json + "},"
        next
        json = Mid(json, 1, len(json) -1)
       
        json = json + "]"
    end if
   
    response.write json
%>


HTML 호출 페이지
1. createXMLHttpRequest() 호출 객체를 생성한다.
2. 콜백함수를 호출할 getCommentList() 객체를 생성한다.
3. 콜백함수 getCommentList_Callback()를 생성한다.

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>댓글 기능</title>
    <script language="javascript" type="text/javascript">
        var strTable = "";
        function createXMLHttpRequest() {
            if (window.ActiveXObject) {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if (window.XMLHttpRequest) {
                xmlHttp = new XMLHttpRequest();
            }
        }

        function getCommentList() {
            createXMLHttpRequest();
            xmlHttp.onreadystatechange = getCommentList_Callback;
            xmlHttp.open("GET", "GetCmtList.asp", true);
            xmlHttp.send();
        }

        function getCommentList_Callback() {
            if (xmlHttp.readyState == 4) {
                if (xmlHttp.status == 200) {
                    var obj = eval('(' + xmlHttp.responseText + ')');

                    strTable += "<table border='1' cellpadding='0' cellspacing='0'><tr><td>Idx</td><td>keyword</td><td>writeday</td></tr>";
                    for (var i = 0; i < obj.length; i++) {
                        strTable += "<tr>";
                        strTable += "<td>" + obj[i]["UserID"] + "</td>";
                        strTable += "<td>" + obj[i]["Content"] + "</td>";
                        strTable += "<td>" + obj[i]["RegDate"] + "</td>";
                        strTable += "</tr>";
                    }
                    strTable += "</table>";
                    document.getElementById("CommentList").innerHTML = strTable;
                }
            }
        }
    </script>
</head>
<body>
    <div id="CommentList"></div>
    <form id="eventComment">
        <textarea name="content" id="cheerContent" cols="100" rows="3"></textarea>
        <input type="button" value="comment" />
    </form>
    <script type="text/javascript" language="javascript">
        getCommentList();
    </script>
</body>
</html>



저작자 표시 비영리 변경 금지
Posted by -세티-
2010/06/17 10:03

Boinc 실적 Astronomy2010/06/17 10:03

1999년 부터 참여하고 있는 세티 프로젝트의 최근 기록

Detailed statistics for
"Jong-Hyun Park"

BOINC Cross Project IDentifier d76e17d67d4c5a2432cf0b66a4de7585
URL www.setisigns.net
 
Current Credit (based on incremental update) 93,865.40
Comprising 93,865.40 from the daily update
+ 0.00 since then
BOINC World position based on credit (based on incremental update) 226,981 out of 1,977,011
50 since daily update
 
Recent average credit RAC (projects accumulated) 432.71690
Recent average credit RAC (according to BOINCstats) 410.60581
Recent average position change per day 627.85
BOINC World position based on RAC (based on incremental update) 76,131 out of 1,977,011
Overtake stats  Overtake stats 
 
Contribution to BOINC total credit 0.00004%
Contribution to BOINC total RAC 0.00008%
Accumulated more credit than % of all BOINC users 88.519%
Highest World position ever 53829 at 2005-07-14
 
Set your credit target calculate
Target results
No target set
Set your date target calculate
Target results
No target set
 
Link to users host stats  Host list 
 
Member of team Seti@Home Korea
Position in Team 89 out of 1044
Contribution to Team total credit 0.13336%
Contribution to Team total RAC 0.50471%
Accumulated more credit than % of all Team members 91.475%
 
Resident of Korea, South Korea, South
Position in Country stats 446 out of 7732
Contribution to own country total credit 0.01853%
Contribution to own country total RAC 0.02034%
Accumulated more credit than % of all fellow citizens 94.23176%
 
Cup points 35.61
Cup Rank 150,506
 
URL for user signature graphic http://www.boincstats.com/signature/user_176210.gif
URL for user signature graphic (for this project only) http://www.boincstats.com/signature/user_176210_project-1.gif
URL for user WAP stats http://www.boincstats.com/stats/wap_user.php?id=176210

Best five days
Date Credit
2010-06-08 16:48:12 1,676
2010-05-27 16:46:24 1,470
2010-05-26 16:41:44 1,467
2010-05-12 16:42:20 1,460
2010-05-19 16:42:39 1,373

  Current Credit  Current position  % of total  last day  Cup Rank   
SETI@Home 93,865.40  114,860  100.00  838.86  28,083    







































Last 30 days (based on the daily update numbers):
  2010-06-16 2010-06-15 2010-06-14 2010-06-13 2010-06-12 2010-06-11 2010-06-10 2010-06-09 2010-06-08 2010-06-07
Total Credit 93,865 93,027 93,027 93,027 92,802 92,684 92,513 92,255 92,255 90,579
Credit/day 839 0 0 225 117 172 258 0 1,676 1,345
Position 226,931 228,084 227,939 227,821 228,006 228,013 228,139 228,287 228,164 230,800
Position change 1153 145 118 185 7 126 148 123 2636 2056
Position
in team
89 89 89 89 89 89 89 89 89 91
Position change
in team
0 0 0 0 0 0 0 0 2 0

  2010-06-06 2010-06-05 2010-06-04 2010-06-03 2010-06-02 2010-06-01 2010-05-31 2010-05-30 2010-05-29 2010-05-28
Total Credit 89,234 88,736 88,465 88,344 87,876 87,700 86,381 86,257 85,793 85,464
Credit/day 498 270 121 468 176 1,319 123 465 329 516
Position 232,856 233,591 233,885 233,923 234,581 234,735 236,986 237,130 237,723 238,163
Position change 735 294 38 658 154 2251 144 593 440 698
Position
in team
91 91 91 91 91 91 91 91 91 91
Position change
in team
0 0 0 0 0 0 0 0 0 0

  2010-05-27 2010-05-26 2010-05-25 2010-05-24 2010-05-23 2010-05-22 2010-05-21 2010-05-20 2010-05-19 2010-05-18
Total Credit 84,948 83,478 82,010 81,574 81,574 81,173 80,836 80,602 80,479 79,107
Credit/day 1,470 1,467 437 0 400 337 234 123 1,373 0
Position 238,861 241,406 244,029 244,708 244,588 245,233 245,738 246,032 246,071 248,501
Position change 2545 2623 679 120 645 505 294 39 2430 136
Position
in team
91 93 95 95 95 96 96 95 95 95
Position change
in team
2 2 0 0 1 0 1 0 0 0

저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

경기도 화석정  (0) 2011/06/28
중앙선데이에 별과 사람들  (2) 2010/09/11
Boinc 실적  (0) 2010/06/17
금성-화성-토성이 한번에 보이네요  (0) 2010/06/08
천문학 용어  (0) 2010/05/27
아름다운 밤하늘과 양평국제천문대  (3) 2010/05/16
Posted by -세티-

아까 한 시간전에 하늘을 보니깐 금성, 화성, 토성이 황도상에 직선으로 늘어서 있더라구요.
화성밑에 작은 별이 뭘까 하고 찾아보니깐 사자자리의 레귤러스 더군요.
아래는 다양한 아이폰 애플리케이션으로 본 금성-화성-토성 입니다.

모두 GPS 기반이기에 Star Walk와 동일한 방식으로 동작 합니다.

사본 -Venus_Mars_Saturn.jpg

(Starmap App)

 

 사본 -Venus_Mars_Saturn_2.jpg
(Star Chart App) 

저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

중앙선데이에 별과 사람들  (2) 2010/09/11
Boinc 실적  (0) 2010/06/17
금성-화성-토성이 한번에 보이네요  (0) 2010/06/08
천문학 용어  (0) 2010/05/27
아름다운 밤하늘과 양평국제천문대  (3) 2010/05/16
2010년 대한민국 별축제 안내.  (0) 2010/05/07
Posted by -세티-
2010/05/27 00:34

천문학 용어 Astronomy2010/05/27 00:34


Julian day number : 율리우스 력수
local civil time : 지방시
sidereal time : 항성시
equatorial coordinate : 적도좌표
horizon coordinate : 지평좌표
asension : 상승
right asension : 적경
hour angle : 시간각
obliquity : 경사진 것
ecliptic : 황동
obliquity of the ecliptic : 황도경사각
nutation : 장동(지축의 미동)
longitude : 황경, 경도
coorection : 교정
ecliptic coordinate : 황도좌표
galactic coordinate : 은하좌표
precession : 세차운동
geocentric : 지심
apparent : 시
atmospheric refraction : 대기굴절
circumstance : 상황
parallax : 시차
osculating elliptical element : 접촉중인 타원요소
cormet : 혜성
parabolic : 포물선
저작자 표시 비영리 변경 금지

'Astronomy' 카테고리의 다른 글

Boinc 실적  (0) 2010/06/17
금성-화성-토성이 한번에 보이네요  (0) 2010/06/08
천문학 용어  (0) 2010/05/27
아름다운 밤하늘과 양평국제천문대  (3) 2010/05/16
2010년 대한민국 별축제 안내.  (0) 2010/05/07
세티... 밤하늘을 찍다.  (2) 2010/01/24
Posted by -세티-
2010/05/26 11:57

세상살기 힘든건 사람 때문이다. Thinking2010/05/26 11:57

일할 때 커뮤니케이션보다는 서로 다른 성장 배경과 환경을 가진 사람들과 할 때 더더욱 어렵다.

일견 당연한 말이지만....

더 어려운 이유가... 적어도 일을 할 때는 공동의 목표가 있기 때문에 서로를 이해시키고 납득시킬려는 최소한의

노력이라도 기울이기 때문이다.

그러나 사적인 영역에서 그러기 위해선 서로가 서로를 이해할려는 노력을 애써서 하려고 하지 않기 때문에

잘못된 표현방법과 주관적 이해들로 포장된 이미지가 서로 달라 등돌리기 쉽상이다.

그래서 사람 때문에 힘들다.

그래도 사람에 대한 믿음과 신뢰 만큼은 놓고 싶지 않다.


저작자 표시 비영리 변경 금지
Posted by -세티-
토요일 오후 양평 천문대 가는길...
하늘이 너무 좋아 마음까지 들떠버린 하루...
밤에 맑은 별을 볼 수 있을까 하는 기대를 하기에 더없이 좋은 하루...
가는 길에 시간이 남아 길가의 한 매점에서 점심을 사발면으로 해결하기 위해 잠시 쉬며 주변을 둘러 봅니다.

주변을 둘러 보는데 하늘이 뿌옇습니다.
혼자 생각하기를 '습기가 많은건가? 먼지가 많은건가?' 라는 생각을 하고 있는데 매점 아주머니께서 말씀하십니다.

"송진 가루가 많이 날리네"

헐~ 이게 그거 였다니... 순간 저의 무식함을 탓해야 했지만 서울 촌놈이 지방가서 배운 지식 중의 지식이었습니다.
도시에서만 살았다고 하긴 핑계고, 아마도 이런 것을 주의깊게 보기 위한 여유가 그 동안은 별로 없었던 듯 합니다.

일단 알았으니깐 됐죠 뭐. 늦었지만 지식 업!
아래 사진을 보면 하늘이 뿌연데 저것이 매점 아주머니가 말씀해 주신 바로 그 가루 입니다.


사발면에 물 하나 샀는데 라면물 값도 받지 않으시고, 테이블에 의자까지 꺼내어 앞마당에 놔주신 아주머니께 좀 미안한 생각이 들었습니다. 매점이 좀 썰렁했었거든요.

동행인이 많았다면 조금 더 팔아드렸을텐데 하는 생각을 해봤습니다.
아무튼 양평 천문대 도착해서 3급 연수를 지원했습니다.
빔 프로젝트를 설치하면서 테스트 중이군요.ㅎㅎ;

설치 후 따스한 봄 볕을 느끼고 싶어 주변을 둘러보기로 결정했습니다. 그리고 나오는 길에 정문을 한번 촬영해 봤습니다.

주변을 둘러보는데 천문노트 어재규 군이 함께 해주었습니다.
우리 재규군 모공이 빛을 받아 뽀얀 피부가 되었네요.^^
실제로 뽀얏기도 하고요.ㅋㅋ

아~ 꽃이 너무 아름답게 피었어요.

제가 좋아하는 글쓰기 주제인 '길'에 어울릴 법한 배경을 뒤로하고 독사진 찍어봤습니다.

그리고 이게 드룹이라고 하는건가요?
전 처음 봤는데 저 쬐끄만 녀석이 아주 비싸고 귀한 몸이라는 군요.
귀하신 몸인 만큼 잘못 만지면 아주 따갑습니다. 가시가 날카롭거든요.
덕분에 피 봤습니다. ^^


자아 ~ 아마천 가족 사진 입니다. 4식구의 단란한 봄 나들이 사진 같죠? 오해하진 마시구요.ㅎㅎ

주인공은 굴절 망원경, 배경은 천문대... 오늘 밤 하늘이 예사롭지 않게 좋을 것이라는 것을 하늘이 알려주고 있습니다.

2기 2급인 이기자 선생님과 함께 쑥을 뜯었습니다. 창고 뒤편 비탈진 곳에 무질서하게 나있던 이름 모를 잡초가 쑥이라는 것을 처음 알았습니다. 잡초라고 생각했던 쑥에게 정말 미안한 생각이 들더군요. 
선생님께서 쑥 뜯는 법을 알려주셔서 함께 해봤습니다.
선생님은 정말 능숙하게 뜯으시던데 전 겨우겨우... 하지만 좋은 경험이었습니다. ^^

보기만 해도 인상 좋은 천문연구원의 설아침씨네요.
봄 햇살 가득한 강의실에서 무언가를 굉장히 열심히 합니다.
역시 카메라 의식하면서 입술에 힘을 주고 계시는 군요. ㅋㅋ 릴렉스~

기다리고 기다리던 밤하늘 일주 사진을 찍었습니다.
모두 두 곳에서 총 650여장의 별사진을 만들었습니다.
그것을 하나의 밤하늘 영상으로 편집했습니다.
점상 촬영이 되지 않아 결과물이 아쉽게 되었지만 별의 움직임을 확인할 수 는 있습니다.


(양평 천문대 산 아래 관측소에서, 280장 합성)


(양평 천문대 돔 근처에서, 373장 합성)

그리고 양평 밤하늘의 은하수 입니다.

또한 왕관자리와 궁수 자리 입니다.

마지막으로 헤라클래스 자리 입니다.

오랜만에 본 별이 넘치는 밤하늘이었고, 그 시간이 짧음에 아쉬움을 느꼈습니다.
또한 보다 좋은 렌즈에 대한 욕심을 가지게 된 시간이었습니다. ^^

(양평천문대를 배경으로 한 세티)
저작자 표시 비영리 변경 금지
Posted by -세티-
2010/05/07 19:11

2010년 대한민국 별축제 안내. Astronomy2010/05/07 19:11

저작자 표시 비영리 변경 금지
Posted by -세티-
2010/05/02 17:39

내가 생각하는 인터넷 글쓰기 Thinking2010/05/02 17:39

인터넷 글쓰기는 형식과 절차를 크게 생각하지 않고 글을 작성할 수 있다는 점에서 나름 장점이 있는 것 같습니다.
논문도 아니고, 보고서도 아니어서 더더욱 부담이 없는 것 같습니다. 물론 그렇다고 해서 무책임한 글쓰기를 하면은 안되겠지요.

오전 일과를 마치고 집에서 책을 읽던 중 기분 전환을 위해 무얼할까 생각했습니다.
끊임없이 움직이지 않고 멍하게 있는 것 보다는 사소한 것 하나를 해도 의미를 부여하지 않으면 제 자신에게 그리 득이 되지 않는 일이라 판단되어 흥미도 쉽게 잃어버리는 타입이어 그런지 주변에서 의미를 찾기 시작했습니다.

'글이나 하나 써볼까?' 로 시작한 생각...
무슨 글을 쓸까? 고민을 하지만 마땅한 내용이 떠오르지 않습니다.
결국 주변에서 소재를 찾기 시작합니다. 파편을 모아 연결하면 하나의 스토리가 되지 않을까 하는 생각에 말이죠.
그래도 진입점은 필요하죠. 베렌다를 열어 밖을 내다보니 하늘이 맑습니다. 와~ 멋진 하늘이더군요.

카메라를 꺼내 무작정 밖으로 나갔습니다. 집 앞 나무들은 어제와 다르게 초록잎을 매달고 있었습니다.
셔터를 누릅니다. 찰칵.

아래 사진은 집 앞으로 올라오는 길인데 한여름이 되면 나뭇잎이 가득하게 되어 양쪽에서 뻗어나온 나무에 의해 터널을 만들게 됩니다. 여름에는 매우 시원하죠. 가끔 아파트 주변 벤치에 앉아 책을 읽기도 합니다.


어느새 꽃도 예쁘게 피었네요. 지난 몇 주를 바쁘게 지내다보니 주변에 아름답게 피어난 변화를 미처 인지하지 못했던 것 같습니다. 무심코 지나치게 되는 이런 작은 변화들은 몸과 마음이 바쁘면 결코 느낄 수 없는 것들이죠.
흔하게 볼 수 있는 작은 꽃잎을 보며 우리의 바쁜 삶에서 여유를 만들고자 한다면 자기 자신을 변화 시킬수 밖에 없는 것 같습니다. 물론 우리의 환경이 여유를 느낄 수 있게 변하면 더욱 좋겠지만 물리적으로 빠른 시간내에 바꿀 수 없다는 건 누구나 잘 알잖아요?


이 나무들이 한 여름에 터널을 만들게 됩니다. 생각만 해도 설레이고, 여름밤이 기다려 집니다.
터널로 이루어진 나무 아래에서 한 권의 책을 여유있게 읽는다고 상상하기만 해도 마음이 부자가 된 것 같습니다.

고개를 들어 하늘을 바라보았습니다.
아직은 가지가 앙상하네요.^^
하지만 곧 하늘을 덮어 보이지 않게 만들겠지요?
저 하늘을 찍으면서 보게된 주변의 작은 변화, 그리고 그것에 대한 인지는 사물을 끊임없이 관심있게 보게 만듭니다.
이제 아침마다 고개를 들어 하늘과 나무를 바라보게 될 것 같네요.
살아 움직이는 생명체의 변화를 느끼며, 아침마다 나무에게 '안녕?' 하면서 인사를 하게 될 것 같습니다. ㅎㅎ

저희 집은 한강 옆이라 고수부지 까지 금장 갑니다. 내려오는 길을 보니 이 곳은 어느새 여름 분위기가 나네요.^^
고수부지 근처 갓길에 주차를 하고 어제 말끔하게 세차한 녀석을 카메라에 담아 보았습니다.
오래된 녀석인 만큼 관심도 많이 가져줘야 고장도 안나고 쌩쌩 잘 달려주겠죠.
이 녀석 치료비와 일년 유지비만 계산해도 새차 한대를 샀을 것 같습니다.
그런데 왜 새로 안사고 굴리냐고요???
물론 새차를 사면 고장나지 않고 신경쓰지 않아서 좋긴 하지만 물건이라는 것도 나름 지구가 우리에게 준 자원 아니겠습니까.
게다가 아직 버릴만큼 주행거리가 긴 것도 아니고요.
오래된 클래식 카를 고치고 닦아주고 애정을 쏟다보면 생명이 없는 물건이긴 해도 정이 들기 마련입니다.
제가 원하는 곳을 데려다 주는데 아무 문제가 없는데 버리기엔 아깝잖아요.

전부터 한 생각이지만 새로운 물건을 끊임없이 구매하고, 낡고 오래되었다는 이유로 버리고 또 구매하다보면 내 자신도 모르게 새 것이 좋은 것이라는 생각에 사로 잡히게 됩니다.
그런 생각은 무의식적으로 고정관념으로 자리잡게 되면서 물건을 아끼지 않게 되고, 나아가 사람에게도 그렇게 할까봐 살짝 걱정도 됩니다. 오래되고 힘없는 사람도 한 때는 힘있고 멋진 사람이었을 테니까요.^^ 

날이 좋아 그런지 차량 행렬이 꼬리에 꼬리를 무네요.
저 같아도 어디론가 훌쩍 떠나버리고 싶을 만큼 좋은 날이라는 걸 느낍니다.

아래 한강변을 보니 운동하는 사람들이 제법 보이네요.
햇볕이 따가워서 그런지 그렇게 많은 사람들이 보이진 않습니다.
아마 저녁 7시쯤 되면 사람들로 넘쳐날 것 같은데 저도 그 시간이 되면 자전거 운동을 하기 위해 다시 내려가볼 생각 입니다.


따가운 햇살을 피해 양산을 쓰고 무얼 하는지는 모르지만 시원한 강물을 보며 앉아있는 사람들이 보입니다.
제 주변 분들은 굉장히 친함에도 불구하고 다들 가정이 있어서 저와 함께 하지 못하네요.
그래서 혼자가 되는 주말이 싫기도 합니다.^^
시간이 흐르면서 혼자사는 삶에 점점 익숙해져 가는 제 모습을 보면 살짝 겁도 납니다.
분명 오래지 않아 누군가를 만나게 될 가능성도 있는데 혼자 지내는 즐거움에 익숙해져 곤란을 겪긴 싫기 때문입니다.
그래서 끊임없이 최면을 걸곤 합니다.ㅎㅎ


오늘 걸어온 길을 뒤돌아 봤습니다.
하늘에 구름 한 점 없네요.^^
오늘 나는 스토리를 만들기 위해 이 길을 걸었습니다.
이 길은 제가 가졌던 이유를 포함하여 수 많은 이유와 사연을 가진 사람들이 걸어가는 그 길이겠죠?
길을 보면서 과거를 곰곰히 생각했습니다.

한 때는 길의 끝을 지나 원하는 목적지에 빨리 도착하기 위해 정말 밤낮없이 달렸던 적이 있습니다.
그 길을 이용하는 모든 사람들은 경쟁자였고, 그들을 앞서기 위해 성공한 사람들의 이야기를 참고하고 또 주변 사람들을 관찰하면서 오로지 내 자신을 위해 살았었죠.

그런데 이상한 것은 목적지는 원하는대로 가까워지는 것을 느끼는데 사는 방식이 즐겁지 않았습니다.
타인의 방식이 제게 맞지 않았던 것이죠. 그리고 오랜시간 스스로에 대해 고민을 하게 됩니다.
나에게 맞는 것은 나만의 방식을 찾는 것.
목표에 빨리 도착할 수 있어도 그것을 이루는 과정이 즐겁지 않다면 몸과 마음이 모두 지쳐 다시 힘을 내기 어렵게 되는 것 같습니다. 

그렇게 깨달은 후 목표에 빨리 도달하겠다는 생각을 전 던져버리게 되었습니다.
그냥 오늘 걷는 이 한걸음에 최선을 다하기로 한거죠.
앞날은 생각하지 않기로 했습니다.
대신 이 한걸음을 즐겁게 걷기 위해 수많은 이유를 만들어 냅니다.
즐겁게 되니깐 주변의 작은 변화들이 보이게 되더라고요.
소소한 변화는 제게 신선한 느낌을 주고 내일 또 한발자국 걸음에 있어 힘을 주기도 합니다.
이렇게 하루하루 보낸지 한 2년 된 것 같은데 스스로가 느끼기에 전혀 힘들지 않다는 점 입니다.
그렇다고 해서 목표를 향하는 내 자신이 느려진 것도 아니고요.
이런 기분 그리고 감정들을 주변에 공유해 주고 싶은데 이것 참 쉽지는 않습니다.^^
개인의 느낌을 전달한다는 것이 늘 쉬운 일은 아니니깐요.

오늘도 어디론가 걷고 있을 모든 사람들이 그 길을 걸음에 있어 고통이 아닌 즐거운 마음으로 걸었으면 하는 바램만 전달하며 글쓰기를 마칩니다. ^^

저작자 표시 비영리 변경 금지
Posted by -세티-