달력

03

« 2008/03 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
2008/03/27 00:34

ASP.NET MVC Framework General .NET2008/03/27 00:34

원글 출처: http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx

지난 몇 년간 많은 사람들이 ASP.NET이 model-view-controller(MVC) 아키텍처 기반의 웹 어플리케이션 개발을 지원하는지 궁금해 했다.

ASP.NET MVC 관련 영상: 여기

Model View Controller(MVC) 프레임워크란 무엇인가?
MVC는 프레임워크 방법론이다. 그것은 3개의 컴포넌트 롤을 가지는데 models, views, controllers 이다.

1. Models
- 어플리케이션의 컴포넌트(상태 유지를 위한 응답, 데이터베이스 내부에 지속)
- 예를 들어서 우리는 하나의 Procuct클래스를 가지고 있는데 그것은 SQL 내부의 Products table로 부터 주문 데이터를 나타내기 위해 사용한다.)

2. Views
- 어플리케이션의 사용자 인터페이스를 표현하기 위한 응답 컴포넌트.
- 일반적으로 UI는 모델 데이터와 분리되어 생성
- 예를 들어서 우리는 Product를 수정하기 위한 View를 생성하는데 그것은 텍스트 상자들, 드롭다운 그리고 체크박스를 위치시킨다.

3. Controlles
- MVC 기반 어플리케이션에서 최종사용자 인터렉션, 조작모델, 디스플레이되는 UI를 보기 위한 선택 을 핸들링 하기 위한 응답 컴포넌트

MVC방법론을 사용하는 장점 중의 어플리케이션 내의 모델, 뷰, 컨트롤 의 관계를 깔끔하게 분리할 수 있다는 것이다. 이러한 관계를 깨끗하게 분리함으로써 더욱 쉽게 어플리케이션을 테스트 할 수 있고, 서로 다른 어플리케이션 컴포넌트를 깔끔하게 정의할 수 있다.

MVC 패턴은 Test-Driven 개발(TDD)을 활성화 시켜줄 수 있다.
-자동화된 유닛 테스트 도구를 이용해서 새로운 코드에 대한 다양한 요구를 소화한다.

ASP.NET MVC 프레임워크에 대한 간략한 소개 몇가지
- MVC 프레임워크내의 모든 코어에 대한 접촉은 인터페이스와 mockable(그것은 IHTTPRequest/IHttpResponse)이다. ASP.NET 프로세스 내의 컨트롤을 실행할 필요없이 어플리케이션을 유닛테스트 할 수 있다. 테스트를 위해 유닛테스트 프레임워크를 사용할 수 있다.

- 높은 사용 경험과 플러그인
MVC프레임워크 전부는 쉽게 교체하고 관리할 수 있게 디자인 되어져 있다. 예를 들어서 자신이 만든 뷰 엔진을 플러그 인 할 수 있고, 정책을 세우고 파라미터를 직렬화 할 수 있다. 또한 인젝션과 독립적인 IOC 컨테이너 모델을 지원한다.(Windsor, Spring.NET, NHibemate 등)
- 매우 파워풀한 URL 매핑 컴포넌트를 포함한다. 예를 들어서 수정 액션시 /products/edit/4 라는 맵을 쉽게 맵할 수 있다.
- MVC 프레임워크는 ASP.NET, ASPX, ASCX, 그리고 뷰 템플릿으로 마스터 마크업을 지원한다. 포스트-백 모델 대신에 컨트롤 클래스에 최종 사용자 인터렉션을 라우트 할 수 있다.
- ASP.NET MVC 프레임워크는 forms/windows 인증, URL 인증, 멤버쉽/롤, output, 데이터 캐싱, 세션/프로파일, 상태관리, 헬스 모니터링, 수정 시스템, 제공자 아키텍처와 같은 ASP.NET에 있는 특징을 충분히 지원한다.

'General .NET' 카테고리의 다른 글

기초 C# - 제너릭  (0) 2008/04/27
닷넷의 소켓 클래스  (0) 2008/04/11
ASP.NET MVC Framework  (0) 2008/03/27
Interface  (0) 2008/02/19
Interface란?  (0) 2008/02/18
스마트클라이언트 서명키 만들기  (0) 2008/02/17
Posted by -세티-
2008/03/23 02:43

Microsoft Super Launch, "IT Hero의 밤" Thinking2008/03/23 02:43

지난 수요일과 목요일에 Microsoft Launch 행사가 있었습니다.

수요일에는 Hero의 밤 전야제 코엑스에서 있었고, 목요일에는 홍은동 그랜드 힐튼 호텔에서 MS Launch 2008 행사가 있었습니다.

이와 관련된 행사 사진이 Hero 블로그에 업로드 되어 있습니다.

아래는 Hero 블로그 주소 입니다.
http://blog.it-hero.co.kr/

Posted by -세티-
2008/03/23 02:39

MS Launch 2008 행사를 다녀왔습니다. Thinking2008/03/23 02:39

지난 목요일에 홍은동 그랜드 힐튼 호텔에서 열린 Microsoft Launch 2008 행사에 참석했습니다.

새로운 회사에 둥지를 튼지 얼마 지나지 않은 시점이라 아침부터 참석하진 못했고, 오후 늦게 참석하게 되었습니다. 오후 5시쯤 행사장에 도착했는데 이미 많은 분들이 행사에 참가 하고 있다는 것을 피부로 느낄 수 있었습니다.

다양한 섹터에서 여러가지 주제로 발표회가 열리고 있었고, 많은 분들이 호기심 가득한 눈빛으로 행사에 참여하고 있었습니다. 여러 부스를 전전하며, 팜플랫도 받아보고 전시된 소프트웨어들을 구경했습니다.

저는 이번 행사에서 Hero 블로그 상을 받게 되었습니다. 물론 점심 때 Hero 블로그 수상사 분들과 점심을 같이 하게 될 기회가 있었지만 참석하지 못해서 매우 아쉽고 미안하기도 했었습니다.

사용자 삽입 이미지
(Hero 블로그 2등상을 받은 세티, xbox 받았습니다.)
다양한 섹터와 주제, 그리고 블로거들을 위한 만남의 장 등 이벤트도 많았고, 분위기도 매우 좋았던 성공적인 행사가 아니었나 하는 느낌이 들었습니다.

이런 류의 행사를 기획하고 준비하고 진행한다는 것은 여간 쉬운 일이 아닐 것입니다. 얼마나 많은 분들의 땀과 열정이 있었는지는 직접 보진 못했어도 정말 열심히 준비했구나. 하는 느낌은 충분히 들었습니다. 그런 열정이 가득한 분들이 있기에 편안한 마음으로 정보도 얻고 구경도 하고 했었던 것 같습니다.

아무튼 이렇게 고마운 상도 받을 수 있게 되었습니다. 상을 받고 나니 왠지 더욱 열심히 포스팅을 해야 겠다는 생각이 들었습니다. 이번 행사를 준비하시는데 땀 흘리신 모든 관련된 분들에게 감사와 고마운 마음을 전합니다. 덕분에 구경 잘했습니다.~ ^^*

Posted by -세티-
2008/03/20 01:33

Velocity General Tech.2008/03/20 01:33

Velocity 란?
- Velocity Template Language(VTL)
- 자바기반의 템플릿 언어
- Model-View-Controller로 분리하여 개발되는 패턴(MVC 모델)

Velocity의 장점
- Model-View-Controller로 분리 개발
- MVC 모델
- UI 디자이너와 개발자의 병렬적 개발 가능
- 웹 디자이너에 의한 View의 개발이 가능

Velocity를 왜 사용하는가?
- UI 디자이너는 보기 좋은 사이트를 작성하는데 집중만 하면 된다.
- 개발자는 코드만 작성하는데 집중.
- 웹 페이지와 자바코드의 분리
- 유지보수의 간편함
- PHP 또는 JSP를 대체할 수 있는 방안을 제시.

VTL(Velocity Template Language)
- 동적인 페이지를 쉽고, 간단하고 깔끔하게 만들기 위한 방안 제시

HTML문서에서 VTL 사용하기
- #set( $a = "Velocity" )
- VTL문장은 #으로 시작
- 변수명은 $로 표시
- set 함수를 사용하여 a라는 변수에 Velocity 문자열 대입한다 라는 의미

HTML 문서 상에서 Velocity를 이용하여 Hello World 출력하기
<html>
 <body>
  #set($strVar = "World")
  Hello $strVar !!
 </body>
</html>

'General Tech.' 카테고리의 다른 글

Microsoft Dev Days 2007 Korea  (0) 2008/04/29
Windows 7과 관련된 동영상 입니다.  (0) 2008/04/11
Velocity  (0) 2008/03/20
커서(Cursor)에 대한 요약 정리  (0) 2008/03/11
Google Analytics Interface Tutorial  (0) 2008/02/22
Semantic Web Interface  (0) 2008/02/20
TAG velocity
Posted by -세티-

작성자: 세티
작성일: 2008년 03월 15일 토요일


지난 시간에 만든 어플리케이션에 레이아웃을 추가하는 작업을 해보도록 하겠습니다.

레이아웃은 UI가 리사이즈 될 때 레이아웃의 크기정보와 위치정보가 엘리먼트에 표시됩니다. 위치를 잡아주는 레이아웃 컨트롤이 있는데 일반적으로 다음의 레이아웃 컨트롤 중의 하나를 UI의 레이아웃에 추가합니다.
- Canvas
- DockPanel
- Grid
- StackPanel
- VirtualizingStackPanel
- WrapPanel


이들 각각의 컨트롤들은 자식 엘리먼트(자식 레이아웃)를 위한 레이아웃의 일반적인 타입을 지원합니다. ExpenseIt 페이지를 리사이즈 하면 사용자에 의해 조정된 수평 그리고 수직인 엘리먼트를 가지게 됩니다. 아래의 코드에 그리드를 추가했는데 그리드는 어플리케이션을 위한 전형적인 레이아웃 엘리먼트임을 알 수 있습니다.

아래의 코드는 HomePage.xaml에 XAML 마크업 언어인데 하나의 컬럼, 3줄의 행을 가지고 10px margin을 가지는 테이블을 그리드에 추가 하는 예제 입니다.
<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="ExpenseIt.HomePage"
  WindowTitle="ExpenseIt"
  Title="ExpenseIt - Home"
  WindowWidth="550" WindowHeight="380">
    <Grid Margin="10">
      <Grid.ColumnDefinitions>
        <ColumnDefinition />
      </Grid.ColumnDefinitions>
      <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition />
        <RowDefinition Height="Auto" />
      </Grid.RowDefinitions>
    </Grid>

</Page>


home page UI는 person을 선택할 때 사람의 목록이 업데이트 되는 것을 보여줍니다.
이 UI를 생성하기 위해 HomePage.xaml 페이지에 다음의 엘리먼트를 추가 합니다.
- ListBox(사람들의 리스트)
- Label(리스트 헤더)
- Button(리스트 내에서 선택된 사람들의 경비보고서를 보기 위한 클릭)

HomePage.xaml을 업데이트하기 위해 다음의 절차를 따라 합니다.
1. HomePage.xaml 페이지에 다음의 코드를 추가한다.
<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="ExpenseIt.HomePage"
  WindowTitle="ExpenseIt"
  Title="ExpenseIt - Home"
  WindowWidth="550" WindowHeight="380">

  <Grid Margin="10">

    <Grid.ColumnDefinitions>
      <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto" />
      <RowDefinition />
      <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
     
    <!-- People list -->
    <Border Grid.Column="0" Grid.Row="0" Height="35" Padding="5" Background="#4E87D4">
      <Label VerticalAlignment="Center" Foreground="White">Names</Label>
    </Border>
    <ListBox Name="peopleListBox" Grid.Column="0" Grid.Row="1">
      <ListBoxItem>Mike</ListBoxItem>
      <ListBoxItem>Lisa</ListBoxItem>
      <ListBoxItem>John</ListBoxItem>
      <ListBoxItem>Mary</ListBoxItem>
    </ListBox>

    <!-- View report button -->
    <Button Grid.Column="0" Grid.Row="2" Margin="0,10,0,0" Width="125"
      Height="25" HorizontalAlignment="Right">View</Button>
     
  </Grid>

</Page>

2. 위의 예제를 컴파일 하고 실행한다. 실행된 결과 화면은 아래의 그림과 같습니다.

사용자 삽입 이미지


이제 이미지와 페이지 타이틀을 추가해 보겠습니다.
<Page x:Class="WPFApp01.HomePage"
    xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="
http://schemas.microsoft.com/winfx/2006/xaml"
    Title="ExpenseIt - Home" Width="550" Height="380" WindowTitle="ExpenseIt">
   
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="230" />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition />
        </Grid.RowDefinitions>
       
        <DockPanel Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="0">
            <Canvas DockPanel.Dock="Left" Width="230" Height="100">
                <Image Source="/WPFApp01;component/Resources/DSC00613.JPG"></Image>
            </Canvas>
            <Label VerticalAlignment="Center" FontFamily="Trebuchet MS" FontWeight="Bold" FontSize="18" Foreground="#0066cc" HorizontalAlignment="Left">지출 보고서</Label>
        </DockPanel>
        <Grid Margin="10" Grid.Column="1" Grid.Row="1">

            <Grid.ColumnDefinitions>
                <ColumnDefinition />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>

            <!-- People list -->
            <Border Padding="5" Background="#4E87D4" HorizontalAlignment="Left" Width="300">
                <Label VerticalAlignment="Center" Foreground="White">Names</Label>
            </Border>
            <ListBox Name="peopleListBox" Grid.Column="0" Grid.Row="1">
                <ListBoxItem>Mike</ListBoxItem>
                <ListBoxItem>Lisa</ListBoxItem>
                <ListBoxItem>John</ListBoxItem>
                <ListBoxItem>Mary</ListBoxItem>
            </ListBox>

            <!-- View report button -->
            <Button Grid.Column="0" Grid.Row="2" Margin="0,10,0,0" Width="125"
        Height="25" HorizontalAlignment="Right">View</Button>

        </Grid>

    </Grid>
</Page>

아래의 절차로 그리드의 내용을 변경합니다.
- 2개의 로우를 포함하는 하나의 새로운 그리드를 생성합니다.
- 첫 번째 행에 DockPanel과 Canvas, Image 그리고 Label을 추가합니다. DockPanel 첫 번째 행의 두 번째 컬까지 왼쪽에 Dock된 캔버스와 결합합니다. 이미지에 오버랩하여 라벨을 활성화 합니다.
- 리소스에 이미지를 추가하고 이미지 어트리뷰트에 이미지 소스 경로를 입력합니다.
- 라벨에 "지출보고서" 라고 입력합니다.
- 라벨과 이미지 컨트롤에 크기나 기타 표현할 내용을 출력하기 위해 어트리뷰트를 사용합니다.

3. 컴파일 하고 어플리케이션을 실행합니다.
이것의 결과는 아래의 그림과 같습니다.

사용자 삽입 이미지

다음 시간에는 이벤트를 핸들하기 위한 코드 작성을 해보도록 하겠습니다.

Posted by -세티-
작성자: 세티
작성일: 2008년 03월 15일

안녕하세요~ 세티 입니다.^^
이번 시간은 WPF를 처음으로 시작하는 분들에게 필요한 정보(XAML, code-behind, 어플리케이션 정의, 컨트롤, 레이아웃, 데이터 바인딩, 스타일 같은 대부분의 WPF 어플리케이션의 공통 요소를 포함하는 WPF 어플리케이션 개발)를 간단하게 전해드리고, 샘플 실습을 통해 WPF에 대한 맛을 보는 시간을 가질려고 합니다.

세티는 이 튜토리얼에서 WPF 어플리케이션 개발을 위해 아래와 같은 순서로 개발을 할려고 합니다.

- WPF 어플리케이션의 사용자 인터페이스를 나타내기 위한 디자인을 XAML 마크업으로 정의
- 어플리케이션의 작동을 위해 코드를 작성
- 어플리케이션을 관리하기 위해 어플리케이션 정의를 생성
- 어플리케이션 UI를 조합하기 위한 컨트롤과 레이아웃을 추가
- 어플리케이션의 UI를 일관성 있게 생성하기 위한 스타일을 생성
- 데이터와 UI 동기성을 유지하고 바인딩하기

자아~ 간단하죠?
순서를 정했으니 이제 개발을 해봐야 겠는데 WPF를 개발하기 위해선 먼저 준비되어야 할 것이 있습니다.
- Microsoft .NET Framework 와 Windows software development kit 에 대한 인스톨

인스톨이 되어 있어야 커맨드 창을 이용하여 어플리케이션을 빌드할 수 있으니깐요.^^
Visual Studio 와 같은 통합 개발 환경을 사용하셔도 됩니다.

설치가 다 되었다면 커맨드 윈도우는 아래의 메뉴에서 찾을 수 있을 겁니다.

- 시작메뉴 | 모든 프로그램 | 마이크로소프트 윈도우즈 SDK | CMD Shell

이게 귀찮으시다면 직접 커맨드 창을 띄우는 것도 가능하답니다.

1. 시작메뉴에서 실행을 선택한다.
2. 다음을 입력한다.
    c:\Windows\system32\cmd.exe /D:ON /VON /T:OE /K "C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin\SetEnv.Cmd"


자아~ 이제 WPF 어플리케이션 개발을 위한 기본적인 환경 설정이 완료 되었으니 실습을 해보도록 합시다.
저는 두 개의 페이지를 만들고, 어플리케이션이 정의된 파일, 그리고 하나의 이미지가 포함되는 그런 어플리케이션을 만들려고 합니다. 그러기 위해선 먼저 인프라스트럭처가 필요하겠죠.

자아~ 저와 함께 같이 만들어 봅시다.

1. App.xml 이라는 새로운 XAML 마크업 파일을 생성합니다.. 이 파일은 WPF 어플리케이션을 정의합니다. 이것은 어플리케이션이 시작될 때 자동적으로 보여주기 위해 특정한 UI에 사용할 수 있습니다.. XAML 마크업은 다음과 같은 문장으로 보일 것 입니다.
<Application
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  StartupUri="HomePage.xaml">
</Application>
사용자 삽입 이미지

2. 새로운 어플리케이션이 시작될 때 첫 페이지에서 디스플레이 될 HomePage.xaml이라는 XAML 마크업 파일을 생성합니다.
HomePage.xaml에서 person을 선택하면 사람들의 리스트가 보여질 예정입니다.
HomePage.xaml에 Page 엘리먼트를 추가하고 다음의 속성갑을 설정합니다.
- 브라우저의 타이틀 바는 "ExpenseIt"
- 브라우저의 넓이는 550 px, 높이는 350px
- 페이지의 타이틀은 "ExpenseIt-Home"


이 설정이 적용된 XAML 마크업의 코드는 다음과 같습니다.

<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="ExpenseIt.HomePage"
  WindowTitle="ExpenseIt"
  Title="ExpenseIt - Home"
  WindowWidth="550" WindowHeight="380">
</Page>

사용자 삽입 이미지

3. HomePage.xaml.cs라는 코드 파일을 추가로 생성합니다. 이 파일은 HomePage.xaml내에 선언된 이벤트를 핸들하기 위한 코드가 포함된 코드-비하인드 파일입니다.
(Visual Studio를 사용하는 분이라면 이미 이 파일은 자동으로 생성되어져 있을 겁니다.)
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
namespace ExpenseIt
{
    public partial class HomePage : Page
    {
        public HomePage()
        {
            InitializeComponent();
        }
    }
}

4. ExpenseReportPage.xaml이라는 xaml 마크업 파일을 생성한다. Page 엘리먼트를 추가하고 ExpenseIT라 설정합니다. Page의 타이틀에 "Reports"라고 씁니다. 이 페이지는 HomePage.xaml의 Person이 선택되면 보여질 것 입니다.
<Page
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="ExpenseIt.ExpenseReportPage"
  Title="ExpenseIt - View Expense Report">
</Page>

5. ExpenseReportPage.xaml.cs 파일을 생성합니다. 이 파일은 코드 비하인드 파일이고 이 페이지내에 정의된 UI에 데이터를 바인딩 합니다. 코드는 아래와 같습니다.
(Visual Studio를 사용하는 분이라면 이미 이 파일은 자동으로 생성되어져 있을 겁니다.)

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
namespace ExpenseIt
{
    public partial class ExpenseReportPage : Page
    {
        public ExpenseReportPage()
        {
            InitializeComponent();
        }
    }
}

6. 위에 작성된 파일들과 같은 폴더에 이미지를 넣고 그 이미지를 추가합니다.

어플리케이션을 실행하고 바인딩하기.
자아 이제 기본적인 인프라스트럭처가 만들어 졌습니다.
지금까지 만든 어플리케이션을 빌드하기 위해서는 MSBuild를 사용해야 합니다.
그러기 위해 우리는 특별한 파일을 하나 필요로 합니다. 그리고 그것은 XML 파일 형태여야 하구요.~

그 파일을 만들어 보도록 하죠.

1. ExpenseIt.csproj라는 새로운 파일을 생성합니다. 이 파일은 어플리케이션을 위한 빌드 설정을 포함하는 아주 특별한 형태의 XML파일이구요 MSBuild 파일이 될 것입니다.
이런 특별한 파일이 특별해질 수 있도록 우리는 특별한 요소들을 추가해 줘야 합니다.
그 특별한 요소는 다음과 같습니다.
- 컴파일드 프로젝트를 위한 글로벌 빌드 변수
- 빌트 어셈블리의 이름
- 빌드 어셈블리의 타입이 무엇인지 그리고 빌트 어셈블리에 추가된 폴더 등
- 코드 파일을 위한 레퍼런스
- 어플리케이션을 사용을 위한 마이크로소프트 닷넷 프레임워크 어셈블리 참조

정말 특별한 내용들만 포함되게 되는군요.^^ 자아 그럼 빌드 파일의 내용을 보도록 하죠.
빌드 파일의 내용은 이와 같은 코드로 작성되게 됩니다.
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <PropertyGroup>
        <AssemblyName>ExpenseIt</AssemblyName>
        <TargetType>winexe</TargetType>
        <OutputPath>bin\$(Configuration)\</OutputPath>
    </PropertyGroup>
    <ItemGroup>
        <Reference Include="System"/>
        <Reference Include="System.Xml"/>
        <Reference Include="System.Data"/>
        <Reference Include="WindowsBase"/>
        <Reference Include="PresentationCore"/>
        <Reference Include="PresentationFramework"/>
    </ItemGroup>
    <ItemGroup>
        <ApplicationDefinition Include="App.xaml"/>
        <Page Include="HomePage.xaml"/>
        <Compile Include="HomePage.xaml.cs" />
        <Page Include="ExpenseReportPage.xaml"/>
        <Compile Include="ExpenseReportPage.xaml.cs" />
        <Resource Include="watermark.png"/>
    </ItemGroup>
    <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets"/>
    <Import Project="$(MSBuildBinPath)\Microsoft.WinFX.targets"/>
</Project>

2. 이제 커맨드 창을 오픈하고, 프로젝트 파일과 어플리케이션 코드 파일들이 있는 폴더로 이동을 합니다.
3. 커맨드 창의 프롬프트에서 다음 명령을 실행해 봅니다.
   MSBuild ExpenseIt.csproj
   만약 마이크로소프트 비쥬얼 닷넷 으로 코딩을 했을 경우에는 다음과 같이 명령을 실행한다.
   MSBuild ExpenseIt.vbproj

  이 작업을 Visual Studio 사용하여 실행한다면 F5를 눌러서 실행하시면 됩니다.
어플리케이션을 실행해 볼까요???
사용자 삽입 이미지

오우~ 실행이 아주 잘 되는 군요.^^
근데 아무것도 추가를 안했더니 액션도 내용도 없는 아주 썰렁한 녀석이 되버렸습니다.^^;
다음 강좌에서는 이 어플리케이션을 예쁘게 장식을 해보도록 하겠습니다.
Posted by -세티-

오후에 시간을 내서 용산 랜드시네마에서 열린 All about Visual C++ 2008 행사에 갔다왔습니다.

사용자 삽입 이미지

극장 안에 들어서니 열기가 후끈후끈 하더군요. 좌석이 꽉 찰 정도로 많은 분들이 관심을 가지고 오셨던 것 같습니다. 제 개인적으로는 달라진 Visual Studio 2008 에 대해 맛을 보고 또 무료 영화(마이뉴파트너)를 볼 수 있어서 좋았습니다.
사용자 삽입 이미지

(엥... 화질이 구리다...ㅡㅡ;)

행사 중간에 경품을 나눠주기도 했습니다. 이 경품이라는 것이 누구에게나 그렇듯 저의 가슴도 설레이게 하는 묘한 마력이 있음에도 이 애끓는 사람의 심정을 모르는지 지금까지 경품이라는 것과는 인연이 없었습니다.

저는 가끔 재미로 사주를 보곤 하는데 그때마다 횡재수가 없다는 이야기를 듣곤 했습니다. 그래서 이렇게 멋진 경품 이벤트가 있었음에도 당첨에 대한 기대는 거의 없었습니다. 오히려 마음이 순수(?)해 지더군요. 이 날 행사에 같이 참석한 형님 한 분이 계신데 그 분도 가끔 사주를 보시곤 하는데 그 분 또한 횡재수 하고는 거리가 멀다고 하셨습니다.
아무튼 횡재수라고는 지독히도 없는 두 사람의 기운이 강했던 것일까요? 다른 줄은 이벤트 당첨자가 막 나오는데 저희가 앉은 줄은 단 한명도 나오지 않더군요...이런~ .
같은 줄에 앉아 계시던 분들에게 심심한 위로와 사과(?)의 말씀을 드립니다.(__ ;)

사용자 삽입 이미지

아무튼 행사를 마치고 저녁을 먹고 늦게 집에 들어왔습니다. 행사에서 메모한 내용을 다시 한번 보면서 생각에 잠겨있는데 예전에 Visual Studio 2005가 처음 발표되던 때가 생각났습니다. 당시 Visual Studio 2005의 출시를 그 어느 누구보다 반겼던 자신이고 지금도 그 때의 감동을 잊을 수가 없습니다.

사용자 삽입 이미지

어떤 일 때문에 감동을 받았냐구요? 그럼 왜 감동해야 했는지 당시의 에피소드를 이야기 해볼까 합니다.
2004년도에 전 서울 모 대학원에 진학하게 되었습니다. 대학원 마칠려면 보통 논문을 쓰게 됩니다. 논문을 쓸 때 연구조교와 직장인은 논문을 대하는데 있어 접근 방법의 차이가 있습니다.

대부분 대학을 마치고 학업에 뜻이 있어서 곧 바로 대학원에 진학하시게 되는 분들은 랩으로 바로 들어가게 됩니다. 랩에 속하게 되면 아무래도 논문을 쓰는데 있어서 정보 공유나 커뮤니케이션, 이해도 등과 같은 부분에서 많은 유리한 부분이 있다고 생각합니다. 특히 논문의 주제가 아카데믹한 것이라면 더더욱 그렇다고 봅니다.

하지만 직장을 다니며 밤에 공부를 하는 사람에게는 아카데믹한 주제의 논문은 시간적, 공간적, 접근성에 있어서 조금은 벽이 느껴지는 것도 사실 입니다. 그래서 전 구현 논문을 써야 겠다고 마음을 먹었습니다. 그나마 가장 자신있었으니깐요. 논문의 큰 흐름(?)을 잡았으니 이제 주제를 잡을 차례가 되었습니다.

그래서 이곳저곳 틈나는대로 검색하고, 돌아다니다 보니 우연찮게 어도비의 인텔리전트 도큐먼트 플랫폼를 알게 되었고, 호기심에 이것과 관련된 개발 사례를 검색하게 되었습니다.


(어도비 인텔리전트 도큐먼트 플랫폼)


하늘이 도울려고 했던지 인텔리전트 도큐먼트 플랫폼에 대한 사례를 미국 대사관에서 찾게 되었습니다. 어도비 리더가 도큐먼트를 오픈하고, 입력 컨트롤에 필요한 정보를 입력하니깐 바로 원격지 데이터베이스에 저장되는 것이었습니다.

사용자 삽입 이미지

(주한미국 대사관에 적용된 어도비의 인텔리전트 도큐먼트)

"그래. 바로 이거다. 이걸 워드 어플리케이션을 이용해서 만들어보는 거야. 워드 컨트롤에 입력된 정보를 XML로 받아서 그걸 데이터베이스 밀어넣는 시스템을 만드는 거야. 그럼 해결되겠구나~ 흐흐...."

갑자기 모든 게 술술 풀리기 시작하는 것 같아서 매우 기분이 좋았습니다. 워드를 설치하고 필요한 컨트롤을 워드 도큐먼트에 배치하고 디자인하고, 아무튼 신나게 작업을 했었습니다.

헛... 그런데 워드 컨트롤에 입력된 값을 가져올 방법이 마땅치 않았었습니다. 제가 원하는 논문을 작성하기 위해 선택한 기술은 닷넷언어(C#)과 XML 이었고, 시간적인 이유로 이것을 반드시 이용해야 했는데 문제는 워드(2003)의 문서구조나 컨트롤 정보 그리고 값이 바이너리 XML방식으로 제공되고 있었기 때문입니다. 이 바이너리 XML에서 제가 원하는 데이터를 가져오기 위해선 워드 어플리케이션을 분석 및 분해해야 한다고 판단 했습니다. 그리고 그것에 대한 분석도 분석이지만 바이너리 XML을 어떻게 제 구성해서 XML로 가져오는가 하는 것도 개인적으로는 꽤 큰 난제였습니다.

'XML로 가져오기만 하면 게임은 끝나는 건데...'

이렇게 늘 고민의 나날을 보내고 다양한 방법으로 우회도 해보고 편법도 써보고 아무튼 많은 고생을 했었고 근심도 커져만 갔습니다.

논문 마감일은 점점 다가오고 해결은 참 안되고, 정말 애간장이 타들어가던 찰나....
Visual Studio 2005가 출시된 것이었습니다. 얏호~

사용자 삽입 이미지


Visual Studio 2005에 포함될 기능에 대한 소식을 이미 접하고 있었던 터라 제품이 출시되자 마자 VSTO를 설치하고, 제가 원하는 구현을 해보았습니다.

"오 마이 갓!!! 이거 뭐야... 그냥 한방에 다 되잖아... 거기다가 닷넷기반이고...ㅡㅡ;;"

그 동안 고생하던 것에 비해 너무 허무(?) 하게 제가 원하던 것을 구현할 수 있게 되니 왠지 사기 당한 기분이 들었습니다. 아무튼 '아~ 하늘이 나의 정성에 감동하여 준 선물이구나.' 라는 생각이 들었었습니다.
절묘한 타이밍에 절묘한 기능! 정말 구세주가 따로 없었습니다. 논문 마감 일주일 전에 출시가 되었으니 더더욱 그러했었습니다.

이미 어떻게 구현할 지에 대한 컨셉과 구성은 모두 설계가 되어있던지라 바로 구현을 들어갔고, 너무도 손쉽게
제가 원하던 샘플 시스템을 구현할 수 있었습니다.

사용자 삽입 이미지

(샘플로 구현한 워드를 이용한 스마트 도큐먼트)


그래서 VS2005를 쓸때면 늘 그 때가 생각나곤 하는데요 오늘 VS2008을 보니 VS2005를 떠나보내야 하는 아쉬움과 새 제품에 대한 기대감이 함께 교차를 하더군요. 아무튼 물이 흐르듯 세상의 흐름도 그렇게 흘러가니 새로운 마음으로 다가오는 새 툴을 맞이해야 겠다는 생각을 해봅니다.

                                                                         

Posted by -세티-
2008/03/12 16:46

[RDF 입문서] 1. 소개 General Web2008/03/12 16:46

원문출처 : http://www.w3.org/TR/2004/REC-rdf-primer-20040210/

W3C 권장 2004.02.10
이 것에 대한 버전 : http://www.w3.org/TR/2004/REC-rdf-primer-20040210/
최종버전 : http://www.w3.org/TR/rdf-primer/
최초버전 : http://www.w3.org/TR/2003/PR-rdf-primer-20031215/
작성자 : Frank Manola, Eric Miller

주의: 번역에 실수가 있을 수 있습니다.(사실 엉망입니다. ㅡㅡ;)

[요약번역]
RDF는 웹 상에 정보 표시를 하기 위한 일반적인 목적을 가지는 언어이다.
이 입문서는 RDF를 효과적으로 사용하는데 필요한 기본적인 정보를 제공한다.
RDF의 기본적인 컨셉과 XML Syntax를 기술한다.

1. Introduction
RDF는 월드와이드웹 상에서 정보를 묘사하기 위한 언어이다. 이것은 웹 문서의 저작권과 라이선스, 웹에서의 제목, 작성자, 웹 페이지의 수정 데이터와 같은 웹 리소스를 메타데이터로 특별하게 묘사한다.
RDF는 사용자에 의해 디스플레이 되거나 어플리케이션에 의해 프로세스된 정보의 위치를 파악한다.
RDF는 어플리케이션 사이에서 교환되는 정보의 의미를 잃어버리지 않기 위해 공통 프레임워크를 제공한다.
RDF는 Uniform Resource Identifiers(URI), 프로퍼티 값과 간단한 프로퍼티들의 아이템 리소스를 이용하자는 아이디어에 기반한다.

An RDF Graph Describing Eric Miller

에릭 밀러가 묘사한 RDF 그래프(그림참조:http://www.w3.org/TR/rdf-primer/)

그림 1은 RDF는 식별을 위해 URIs를 사용합니다.
개인에 대한 식별은 http://www.w3.org/People/EM/contact#me URI 주소를 사용합니다.
사람에 대한 식별은 http://www.w3.org/2000/10/swap/pim/contact#Person URI 주소를 사용합니다.
메일박스 속성 값과 같은 예를 들어서 mailto:em@w3.org 이런 속성 값은 숫자나 날짜 등과 같은 다른 데이터 타입도 캐릭터 문자열을 사용한다.

RDF는 또한 그래프 교환이나 녹음을 위한 XML 기반 문법(RDF/XML 이라 불림)을 제공합니다.
그림1은 RDF/XML에서 RDF의 작은 조각입니다.

예제1:에릭 밀러가 묘사한 RDF/XML
<?xml version="1.0" ?>
<rdf: RDF xmlns:rdf=http://www.w3.org/1999/02/22-rdf-syntax-ns#
               xmlns:contact=http://www.w3.org/2000/10/swap/pim/contact#>

<contact:Person rdf:about=http://www.w3.org/People/EMcontact#me>
   <contact:fullName>Eric Miller</contact:fullName>
   <contat:mailbox rdf:resource=mailto:em@w3.org"/>
   <contact:personlTitle>Dr.</contact:personalTitle>
</contact:Person>

</rdf:RDF>

참고로 RDF/XML은 mailbox 그리고 fullName 그리고 각각의 값인 em@w3.org Eric Miller를  URIs 에 포함합니다.

HTML 처럼 RDF/XML은 URIs를 사용하여 기계로 해석하고, 웹 전반에 정보의 조각을 링크할 수 있습니다. 기존의 하이퍼 텍스트와 달리 RDF URIs는 어떤 식별자든 참조할 수 있는데 "Eric Miller"가 있는 사람 같은 경우는 되지 않을수도 있다. 결과적으로 웹 페이지와 같은 묘사외에 RDF는 자동차, 비즈니스, 사람들, 뉴스 이벤트 등을 묘사할 수 있고 추가적으로 RDF 프로퍼티에 링크된 아이템들 사이에 존재하는 관계를 정확하게 식별하기 위한 URIs를 가질 수 있다.

다음의 문서는 RDF의 특징을 기고한 것이다.

  • RDF Concepts and Abstract Syntax [RDF-CONCEPTS]
  • RDF/XML Syntax Specification [RDF-SYNTAX]
  • RDF Vocabulary Description Language 1.0: RDF Schema [RDF-VOCABULARY]
  • RDF Semantics [RDF-SEMANTICS]
  • RDF Test Cases [RDF-TESTS]
  • RDF Primer (this document)

    RDF 입문서는 RDF를 정보 시스템 설계자와 어플리케이션 개발자가 RDF의 특징을 이해하고 어떻게 그것을 사용하는지를 돕기 위한 RDF 어플리케이션의 일부를 기술하여 제공한다.

  • RDF는 어떤 모습인가?
  • RDF에서는 어떤 정보를 나타낼수 있나?
  • RDF는 어떤 정보를 작성하고, 접근하고 처리하는가?
  • RDF는 기존 정보를 어떻게 결합하는가?

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

    2. xml 문서의 생성과 CSS를 이용한 XML 문서 출력  (0) 2008/04/11
    xml과 10가지 설계목표  (0) 2008/04/11
    [RDF 입문서] 1. 소개  (0) 2008/03/12
    RDFa Basics  (0) 2008/02/22
    RDF란?  (0) 2008/02/21
    div를 이용한 웹 레이아웃 코드  (0) 2008/01/09
    Posted by -세티-
    2008/03/11 10:24

    커서(Cursor)에 대한 요약 정리 General Tech.2008/03/11 10:24

    커서란?
    - 데이터 처리는 집합단위로 이루어지기도 하지만 조건에 따라서는 행 단위로 처리하기도 한다.
    - 행 단위의 데이터 처리시 커서를 사용한다.

    커서의 장점
    - 데이터를 행 단위로 처리할 수 있음.

    커서의 단점
    - 데이터 처리 속도가 느려짐.(SQL문에 비해 느림)

    1.1 커서의 종류
    - 서버커서(Server Cursor), 클라이언트 커서(Client Cursor)

    서버커서(Server Cursor)
    - T-SQL 커서와 API 커서로 나뉨

    T-SQL 커서 란?
    - 결과 집합을 만드는 T-SQL스크립트, 트리거, 저장 프로시저에서 사용
    - 변수로 한 열을 할당받는다.(변수의 크기는 열의 데이터 타입과 데이터를 모두 받을 수 있을 만큼 선언)

    API 커서란?
    - OLEDB, ODBC, ADO를 이용하여 SQL 문의 결과 집합에서 커서 매핑.

    클라이언트 커서란?
    - ODBC에서 지원하는 커서, 결과 집합을 클라이언트 캐쉬에 저장(읽기전용)

    1.2 커서의 작업
    - DECLARE를 이용한 커서 선언
    - OPEN을 이용한 커서 열기
    - FETCH를 이용한 데이터 불러오기
    - CLOSE를 이용한 커서 닫기
    - DEALLOCATE를 사용ㅇ한 커서 선언 제거

    1.3 커서의 ANSI 문법
    - Declare 커서 이름 [ INSENSITIVE ] [ SCROLL ] CURSOR
       FOR SELECT 구문
       [ FOR { READONLY | UPDATE [ OF 컬럼명 [......N]] } ]

    - INSENSITIVE : 커서에서 사용할 데이터를 임시로 복사해 주는 커서를 정의
                    커서에서 정의된 데이터는 tempDB에 저장됨.
                    잠금이 생김, 동시성 저하.
    - SCROLL : 모든 인출 옵션 사용이 가능
               인출 옵션(FIRST, LAST, PRIOR, NEXT, RELATIVE, ABSOLUTE)
               인출 옵션이란? 데이터를 불러올 행을 이동하는 방식

    - SELECT 구문 : 일반적인 select 구문 형식을 따름
    - READ ONLY : 커서를 통한 데이터 변경 및 삭제를 방지, DELETE, UPDATE 기능을 무시.

    1.4 커서의 T-SQL 문법
    - DECLARE 커서 이름 CURSOR [ LOCAL | GLOBAL ]
     [ FORWARD_ONLY | SCROLL ]
     [ STATIC | KEYSET | DYNAMIC | FAST_FORWARD ]
     [ READ_ONLY | SCROLL_LOCKS | OPTIMISTIC ]
     [ TYPE_WARING ]
     FOR SELECT 구문
      [ FOR UPDATE [ OF 컬럼명 [ ,......N]]]

    - LOCAL: 커서의 범위를 로컬로 지정(로컬변수)
    - GLOBAL: 커서의 범위를 전역을 지정(전역변수)
    - FORWARD_ONLY: "전진만 있되 후퇴는 없도다.", 유일한 명령 옵션은 FETCH_NEXT
    - SCROLL: 모든 인출 옵션(FIRST, LAST, PRIOR, NEXT, RELATIVE, ABSOLUTE)를 사용하도록 지정
    - STATIC: 수정이 안됨(임시커서)
    - KEYSET: 커서에 포함되는 행과 멤버와 순서가 고정되도록 지정.
    - DYNAMIC: 인출할 때 마다 행의 데이터 값과 순서, 멤버가 변경됨, 동적 커서
    - FAST_FORWARD: 성능 최적화가 설정된 FORWARD_ONLY, READ_ONLY 커서를 지정.
    - READ_ONLY: 데이터에 대한 변경 및 삭제 방지, UPDATE, DELETE 구문의 WHERE CURRENT OF 절에서 이키를 사용할 수 없음
    - SCROLL_LOCKS: 위치 지정 업데이트나 삭제가 성공하도록 지정

    -- Declare 구문지정
    DECLARE YearPlan_Cur CURSOR FOR
      SELECT CustCode, WkCnt, DeptCode, Week, Day, SMethodYN, DaN
      FROM RM_YearPlan
      WHERE WkCnt = '1'

    -- OPEN 구문
    OPEN YearPlan_Cur

    -- FETCH 구문
    FETCH NEXT FROM YearPlan_Cur
    WHILE @@FETCH_STATUS = 0
     BEGIN
      FETCH NEXT FROM YearPlan_Cur
     END

    -- CLOSE 구문
    CLOSE YearPlan_Cur

    -- 커서 해제
    DEALLOCATE YearPlan_Cur

    'General Tech.' 카테고리의 다른 글

    Windows 7과 관련된 동영상 입니다.  (0) 2008/04/11
    Velocity  (0) 2008/03/20
    커서(Cursor)에 대한 요약 정리  (0) 2008/03/11
    Google Analytics Interface Tutorial  (0) 2008/02/22
    Semantic Web Interface  (0) 2008/02/20
    인터럽트 사이클  (0) 2008/02/19
    Posted by -세티-
    2008/03/09 21:41

    칼 세이건의 유명한 저서 Astronomy2008/03/09 21:41

    창백한 푸른행성은
    한 열정적인 과학자의 삶을 애도하고 있다.
    천문학자이자 저술가인 그는 우주가 품고있는 무언가를 찾고자하였다.


    1996년 12월 20, 칼 세이건의 죽음은 과학계에서 가장 창조적인 연구자중의 한명이자 명료한 대변인 중의 한 사람을 앗아 갔다. 그는 임종 당시, 1971년부터 코넬대학의 교수로 있으면서 행성연구실을 맡았고 천문학 및 공간 과학의 교수였다.

    저서
    Planets, 세이건, 레오나드, Life지의 편집자들. New York: Time, Inc., 1966.
    Intelligent Lift in the Universe, 칼 세이건, 스클로프스키. New York:Random House, 1966.
    Communication with Extraterrestrial Intelligence, 세이건 편집, Massachusetts: The MIT Press, 1973.
    The Cosmic Connection. An Extraterrestrilal Perspective, 세이건, New York: Doubleday, 1973.
    Mars and the Mind of Man, 세이건 등, New York: Harper & Row, 1973.
    Other Worlds, 세이건, New York: Bantam Books, 1975.
    The Dragons of Eden:Speculations on the Evolution of Human Intelligence, 세이건, New York:Random House, 1977.
    Murmurs of Earth:The Voyager Interstellar Record, New York:Random House, 1977.
    Broca's Brain:Reflections on the Romance of Science, New York:Random House, 1979.
    Cosmos, 세이건, New York:Random House, 1980.
    Comet, 세이건과 드루이안(Ann Druyan), New York:Random House, 1985.
    Contact:소설, New York:Simon and Schuster, 1985.
    The Nuclear War(핵전쟁 후의 세계), 세이건 등, London:Sidgwick & Jackson, 1985.
    A Path Where No Man Thought(핵겨울과 무기경쟁의 최후), 세이건과 툴코(Richard Turco), New York:Randon House, 1990.

    Shadows of Forgotten Ancestors(우리존재에 대한 탐구), 세이건 드루이안(Ann Druyan), New York:Random House, 1992.

    Pale Blue Dot(우주에서의 인간의 미래), 세이건, New York:Random House, 1994.

    The Demon Haunted World(어둠속의 촛불로서의 과학), 세이건, New York:Random House, 1996.
    Billions and Billions(새천년의 문억에서의 삶과 죽음에 대한 고찰), 세이건, New York:Random House, 1997.

    'Astronomy' 카테고리의 다른 글

    좌표시스템(1)  (12) 2008/11/11
    퇴근할 때 목성을 보아요~  (2) 2008/07/10
    칼 세이건의 유명한 저서  (0) 2008/03/09
    칼 세이건의 어록  (0) 2008/03/09
    다만 알고자 했을 뿐이다.  (0) 2008/03/09
    이야기 하나 - 칼 세이건의 코스모스에서  (2) 2008/03/09
    Posted by -세티-
    2008/03/09 21:40

    칼 세이건의 어록 Astronomy2008/03/09 21:40

    Carl Sagan - Pale Blue Dot

    만약 당신이 아무것도 없는 상태에서 애플파이를 만들려한다면 처음에 우주를 먼저 만들어야 한다." (If you wish to make an apple pie from scratch, you must first invent the universe)
    - Cosmos


    케플러는 오래 간직해오던 그의 신념이 가장 정확한 관찰들과 맞지 않게되자, 마지 못해 그 사실을 받아들였지만, 가장 존경받는 허상보다는 냉혹한 진실을 택했다. 이것이 바로 과학의 핵심이라 할 수 있다.
    (When Kepler found his long-cherished belief did not agree with the most precise observation, he accepted the uncomfortable fact. He preferred the hard truth to his dearest illusions, that is the heart of science.)
    - Cosmos


    물리학에는 아주 뛰어나고 고상하던 많은 가설들이 실험적 사실들 앞에서 무너지는 경우가 많았다. 내 생각에, 가설들을 검증하기위한 실험적 고찰들이나 의지가 우리 사회나 정치, 경제, 종교 그리고 문화의 일부분으로 정착되어진다면 우리의 삶은 엄청나게 발전하게 될 것이다.(There are many hypotheses in physics of almost comparable brillance and elegance that have been rejected because they did not survive such a confrontation with experiment. In my view, the human condition would be greatly improved if such confrontations and willingness to reject hypotheses were a regular part of our social, political, economic, religious and cultural lives.)
    - The Dragons of Eden


    호기심과 문제를 해결하고자 하는 마음은 우리종족이라는 감정적인 표시다; 가장 특징적인 인간들의 활동은 수학, 과학, 기술, 음악과 예술이다-'인간적인' 활동에 포함되는 것보다 약간은 더 광범위할 수 있다. 사실 '인간'이라는 단어는 인간이란 무엇인가에 대해 특별히 좁은 식견을 가졌음을 나타내는데 주로 쓰인다. 수학은 시만큼이나 인간적이다. 고래와 코끼리도 인간만큼 인정이 있다.
    (Curiosity and the urge to solve problems are the emotional hallmarks of our species; and the most characteristically human activities are mathematics, science, technology, music and the arts - a somewhat broader range of subjects than is usually included under the "humanities." Indeed, in its common usage this very word seems to reflect a peculiar narrowness of vision about what is human. Mathematics is as much a "humanity" as poetry. Whales and elephants may be as "humane" as humans.)
    - The Dragons of Eden


    나의 생각으로 우리나 혹은 다른 모든 인간들의 문화-법과 도덕, 예술과 음악, 과학과 기술-에서 가장 창조적이고 의미가 있는 활동은 대뇌의 좌우반구의 협동을 통해서만 가능했다... 우리인간의 문화라는 것은 콜로섬의 기능일는지도 모른다.
    (I think the most significant creative activities of our or any other human culture - legal and ethical systems, art and music, science and technology - were made possible only through the collaborative work of the left and right celebral hemispheres... We might say that human culture is the function of corpus callosum.)
    - The Dragons of Eden


    좌뇌및 우뇌의 절대적 도움없이 과학상의 중요한 발전은 없었다. 하지만, 예술분야에서는 적용되지 않는다. 능력이 있고 헌신적이며 객관성을 가진 관찰자들이, 서로 간에 훌륭한 작품임을 인정할 수 있게 하기위한 실험이 분명 없기 때문이다.
    수 백가지 중 한 가지 예를 들자면, 주요 프랑스의 예술 비평계와 저널, 박물관은 19세기 말 20세기 초의 프랑스 인상주의를 거부했다;지금 그들은 걸작을 만들어내는데 수 많은 인상주의 예술가들을 지원하고 있다. 아마 한세기는 추처럼 거꾸로 갈 것이다.
    (I know of no significant advance in science that did not require major inputs from both cerebral hemispheres. This is no true for art, where apparently there are no experiments by which capable, dedicated and unbiased observers can determine to their mutual satisfaction which works are great. As one of hundreds of examples, I might note that the principal French art critics, journals and museums of the late nineteenth and early twentieth centuries rejected French Impressionism in toto; today the same artists are widely held by the same institutions to have produced masterpieces. Perhaps a century hence the pendulum will reverse direction again.)
    - The Dragons of Eden


    "역사는 겁없고 무지하고 권력욕이 강한사람들도 가득했다. 그리고 그들은 진정 우리 자신의 것이며 측정조차할 수 없는 가치를 가진 지식들을 파괴해버렸다. 다시는 그런일이 생기지 않도록 막아야만 한다."
    (History is full of people who out of fear, or ignorance, or lust for power has destroyed knowledge of immeasurable value which truly belongs to all of us. We must not let it happen again.)
    - Cosmos


    우리의 충성심은 우리의 종족과 우리의 행성에 대한 것이며, 우리는 지구를 변호한다. 우리가 생존해야하는 이유는 스스로의 발전때문만이 아니라 우리가 태어난 광대하고도 오랜 우주때문이다.
    (Our loyalities are to the species and the planet. We speak for Earth. Our obligation to survive is owed not just to ourselves but also to that Cosmos, ancient and vast, from which we spring)
    - Cosmos


    우리는 같은 별가루로 만들어진 단일종족이다.
    ("We are one species" , "We are starstuff" )

    우리는 뜻밖의 우연으로 45억년이란 세월동안의 아주 느리게 진행된 생물학적 진화의 소산이다. 진화가 멈추었다는 증거는 어디에도 없으며, 인간은 과도적인 존재이지 최고 절정에 있는 피조물이 아니다. 우주적인 시각으로 본다면 우리 인간은 처음도, 마지막도, 그리고 최고라고 할 아무런 이유가 없다.
    (We are the product of 4.5 billion years of fortuitous, slow, biological evolution. There is no reason to think that the evolutionary process has stopped. Man is a transitional animal. He is not the climax of creation.
    In the cosmic perspective there is no reason to think that we are the first or the last or the best.)
    - "The Cosmic Connection"


    별연금술의 잔재가 이제는 의식속으로 발현하고 있다. 여태까지 가속화되어 왔던 속도로 그것은 문학을 만들었고, 도시, 예술, 과학을 발명했다. 그리고 행성과 별에 우주선을 보냈다. 이러한 일들은 150억년동안 진화를 해온 수소원자가 한 일들 중의 일부이다.
    (The ash of stellar alchemy was now emerging into consciousness. At an ever-accelerating pace, it invented writing, cities, art and science, and sent spaceships to the planets and the stars. These are some of the things that hydrogen atoms do, given fifteen billion years of cosmic evolution)
    - "Cosmos"


    우리는 감당하기에 너무나 힘든 도시인구와의 현대전을 치르고 있으며, 우리 대부분은 그것을 너무 깊이 생각하는 것을 두려워한다. 흔히 그 거대한 살인자들은, 그들에 대항하는 자들을 인종적 혹은 국가적차원에서 비인도적이라고 재규정하므로써 스스로를 정당화하고 있다.
    (...we wage "modern" wars on civilian populations with a toll so terrible we are, most of us, are afraid to consider it very deeply. Often such mass murders are justified by racial or nationalistic redefinitions of our opponents as less than human)
    - "The Dragons of Eden"



    20세기 말엽, 2메가톤이라는 에너지가, 다소 단순해 보이는 원자탄 한발에 의해 방출되었다:이 한발은 2차세계대전의 파괴력과 맞먹으며, 아직도 수만기의 원자탄이 더 있다. 90년대에는 미국과 소련의 전략미사일과 탄두가 15000 군데 이상의 일정 표적에겨누어져 있다. 지구상에 안전한 곳은 없다. 죽음의 신은 모든 빛이 사라지기를 참을성있게 기다리고 있으나, 그렇게 되기위해 필요한 에너지는 10,000메가톤보다는 훨씬 많이 필요할 것이다.- 그러나 아주 효율적으로 집중된다면, 그 파괴력은 불과 몇시간안에 모든 가정에 대형폭탄이 투하되고 길고 지루한 오후 시간내내 6년이아니라 매초마다 2차세계대전이 진행되는 것과 같다.
    (By the late twentieth century, two megatons was the energy released in the explosion of a single more or less humdrum thermonuclear bomb: one bomb with the destructive force of the Second World War. But there are tens of thousands of nuclear weapons. By the ninth decade of the twentieth century the strategic missile and bomber forces of the Soviet Union and the United States were aiming warheads at over 15,000 designated targets. No place on the planet was safe. The energy contained in these weapons, genies of death patiently awaiting the rubbing of the lamps, was far more than 10,000 megatons - but with the destruction concentrated efficiently, not over six years but over a few hours, a blockbuster for every family on the planet, a World War II every second for the length of a lazy afternoon.)

    'Astronomy' 카테고리의 다른 글

    퇴근할 때 목성을 보아요~  (2) 2008/07/10
    칼 세이건의 유명한 저서  (0) 2008/03/09
    칼 세이건의 어록  (0) 2008/03/09
    다만 알고자 했을 뿐이다.  (0) 2008/03/09
    이야기 하나 - 칼 세이건의 코스모스에서  (2) 2008/03/09
    최근 까지의 SETI 기록  (0) 2008/01/16
    Posted by -세티-
    2008/03/09 21:39

    다만 알고자 했을 뿐이다. Astronomy2008/03/09 21:39

    칼 세이건의 생각에 많은 공감을 하는 저 입니다.
    그가 말한 불가지론에 대해서 약간은 생각을 달리하는 부분도 있지만 결국 도달하고자 하는 목표는 하나 인 것 같습니다. 종교든 과학이든 우리는 알아야 합니다.
    알아야 하는 것은 하나의 목적이 되기도 합니다.

    그런 목적을 달성하기 위해... 그리고 알아야 한다는 갈증 때문에...
    보여지는 증거에 집착하는 그가 이해되는 것도 무리는 아닙니다.
    과학은 종교와 달라서 맹목적으로 믿을 수 없습니다.
    믿음을 바탕으로 한 추측은 리스크가 너무 크다고 생각합니다.
    따라서 과학은 증거로 답해야 합니다. 과학에 증거가 없다면 사람들은 불신에 사로잡히게 되고

    세상엔 혼돈으로 가득차게 될 겁니다.
    그것은 종교의 그것과 맥락을 같이 한다는 생각도 해봅니다.
    칼 세이건이 살아있었으면 얼마나 좋을까하는 생각이 드는 오늘 입니다.

    - 칼 세이건을 떠올리며 세티가.... -

    사용자 삽입 이미지


    글의 후렴부에서....

    "임종 순간의 귀의는 없었다. 하나님에의 호소도, 내세에 대한 희망도 없었다. 또 20년 동안 서로 떨어질 수 없었던 우리 부부가 영영 헤어지는 것이 아니라 다시 만나게 될 것이라고 가장하지도 않았다"고 그의 아내는 말했다. 혹시 그가 신앙을 갖고 싶어한 적은 없었느냐는 질문에 그녀의 대답은 단호했다. "남편은 믿음을 갖고자 한 적이 없었다. 다만 알고자 했을 뿐이다."


    미국의 과학자이자 작가인 칼 세이건이 병으로 숨져갈 때 많은 사람이 그를 위해 기도했다. 정작 본인은 다른 사람에게 자기를 위해 기도해 달라고 부탁한 적이 없다.


    뉴욕시 세인트 존 교회에서는 2년 동안 그의 회복을 기원하는 기도소리가 그치지 않았다. 하나님(하나님이 존재한다면)은 어쨌거나 작년 말 세이건이 향년 62세에 부인과 다섯 자녀 및 미완의 일을 자신이 그토록 사랑하던 지구에 남겨두고 세상을 떠나게 내버려뒀다. 그러나  세이건 본인은 품위있게 생을 마감했다. 거의 모든 인간이 생의 마지막 순간에는 굴복하고야 마는, 믿음에 대한 유혹을 끝내 뿌리쳤다.


    대우주의 기원 및 인간의 의식과 발전의 연구에서 태양계는 너무 비좁다고 생각했던 천문학자  세이건이 하늘나라에 흥미를 못 느꼈던 것은 아니다. 그는 생전의 마지막 10년 동안 종교 지도자들과 다방면에 걸친 대화를 나눴다. 혹시 정답이라도 밝혀지는 날에는 목사나 우주 철학자 중 어느 한 쪽이 모두 일자리를 잃을 만한 문제가 그들의 화두였다.


    즉 하나님의 존재 여부를 논했던 것이다.


     세이건의 공식 입장은 증거가 없는 한 확실히 알 수 없다는 불가지론이지만 그 대화에서는 신의 존재를 부정했다. 그의 대화상대는 주로 주류에 속한 진보적 개신교 성직자들이었다. 당시 세인트 존 교회의 담임목사였던 제임스 파크스 모턴과 미 교회협의회 사무총장인 조앤 브라운 캠벨(여자) 목사 등이었다.  세이건은 기독교 구호단체 "월드 비전"의 로버트 사이플 같은 좀더 보수성향의 신자들과도 의견을 나눴다.  세이건은 과학의 기적이 사방에 명백하게 널려 있는 판에 교육받은 성인이 죽은 지 2천 년이 넘는 사람들의 입증되지도 않은 증언을 기초로 한 믿음에 집착한다는 데 큰 흥미를 느꼈다.


    "당신같이 똑똑한 사람이 어떻게 하나님을 믿는가"고 그는 한때 캠벨에게 물었다. 캠벨은 실제 두 눈으로 본 사람이 아무도 없는 블랙홀의 존재는 어렵지 않게 믿는  세이건의 입에서 그런 질문이 나오는 것에 놀랐다.

    "당신같이 똑똑한 사람이 어떻게 하나님을 믿지 않는가"라고 그녀는 반문했다.

    20년 전 바이킹 화성 탐사 프로젝트에 참가했을 때  세이건은 미 항공우주국(NASA)의 일부 동료들이 혹시 사이비 아닌가 여길 정도로까지 다른 행성의 생명체 존재 가능성에 집착했다. 화성 착륙선이 찾아낸 것이 겨우 암석에 불과하자 그는 그 증거를 받아들였다.


     세이건은 신자들도 반대증거가 나오면 기꺼이 신앙을 버릴 수 있어야 한다고 생각했다. 그는 주로 `악마가 출몰하는 세계'(The Demon-Haunted World, 95년)라는 저서를 통해 그런 사상을 펼쳤다. 그 책에서 외계인에 의한 납치설 등 자신의 눈에 비친 미국 문화의 미신적 황당무계로부터 과학을 옹호했다. 그는 매우 신중한 자세로 대다수 종교가 내세우는 증거는 그다지 설득력이 없다고 주장했다. 오직 `증거'가 있어야만 믿는다는  세이건의 고집 때문에 그와 서신을 주고받던 사람들은 어려움을 겪었다. 마침내 어느 날 캠벨이 그에게 이런 질문을 던졌다. "당신은 사랑을 믿는가." 아내를 몹시 사랑하던  세이건이 당연하다고 대답하자 그녀는 이어 "사랑의 존재를 입증할 수 있는가"라고 물었다. "처음에 그는 `당연하다'고 하더니 결국 사랑은 신앙과 마찬가지로 그 한가운데에 입증하지 못할 무엇이 있지만 그렇다고 해서 존재하지 않는 것은 아니라는 데 동의했다"고 그녀는 말했다.

    그러나 그것은 조직화된 종교의 주장을 받아들이는 것과는 여전히 거리가 멀었다.  세이건은 애원조의 기도를 특히 경멸했다. 그런 기도는 입밖으로 나오는 순간 이미 전지전능하고 자애로운 하나님이라는 속성을 모순으로 만들어 버린다는 것이다. 하나님에게 굳이 누가 아프다는 말을 상기시킬 필요가 있느냐, 아니면 하나님이 그 사실을 알면서도 누군가 다른 사람이 그를 위해 간청하지 않으면 아무런 조치도 취하지 않는 것이냐고 새건은 물었다. 물론 많은 신자가 그런 질문과 씨름해 왔다. 모턴 목사는 95년 겨울 새건이 백혈병과 관련된 골수형성부전 진단을 받자 그를 위해 기도하기 시작했다. "어떻게 해서 그렇게 되는지는 모르겠지만 하여간 기도가 효험이 있는 것은 분명하다"고 모턴은 말했다. 만일 하나님이 성경에 나오듯이 실제로 눈에 보이는 기적을 일으켜  세이건을 치료했다면 환자 못지않게 모턴의 놀라움도 컸을 것이다. 보수 성향의 사이플은 좀더 직접적인 기도의 효험을 인정한다. 골수이식 수술을 받기 직전  세이건에게 보낸 편지에서 그는 "내용을 잘 알고 기도할 수 있도록 컨디션이 어떤지 알려 달라"고 요청했다.  세이건은 마침내 세 차례의 골수이식 수술을 받았고 작년 여름께는 차도가 있는 듯했다. 곧이어  세이건은 방사선 치료의 부작용으로 폐렴에 걸렸다. 친구들은 더 열심히 기도를 올렸지만 새건의 불가지론은 결코 흔들리지 않았다.


    "임종 순간의 귀의는 없었다. 하나님에의 호소도, 내세에 대한 희망도 없었다. 또 20년 동안 서로 떨어질 수 없었던 우리 부부가 영영 헤어지는 것이 아니라 다시 만나게 될 것이라고 가장하지도 않았다"고 그의 아내는 말했다. 혹시 그가 신앙을 갖고 싶어한 적은 없었느냐는 질문에 그녀의 대답은 단호했다. "남편은 믿음을 갖고자 한 적이 없었다. 다만 알고자 했을 뿐이다."

    'Astronomy' 카테고리의 다른 글

    칼 세이건의 유명한 저서  (0) 2008/03/09
    칼 세이건의 어록  (0) 2008/03/09
    다만 알고자 했을 뿐이다.  (0) 2008/03/09
    이야기 하나 - 칼 세이건의 코스모스에서  (2) 2008/03/09
    최근 까지의 SETI 기록  (0) 2008/01/16
    규표  (0) 2008/01/15
    Posted by -세티-

    출처 : 여왕님여왕님

    사용자 삽입 이미지

    'Astronomy' 카테고리의 다른 글

    칼 세이건의 어록  (0) 2008/03/09
    다만 알고자 했을 뿐이다.  (0) 2008/03/09
    이야기 하나 - 칼 세이건의 코스모스에서  (2) 2008/03/09
    최근 까지의 SETI 기록  (0) 2008/01/16
    규표  (0) 2008/01/15
    혼천의와 혼천시계  (0) 2008/01/14
    Posted by -세티-

    대학의 전공이 자신과 맞지 않는 분들이 많이 있을 것입니다. 저 역시 대학 전공이 적성과 맞지 않아 졸업을 앞두고 많은 고민의 나날을 보냈습니다. 참고로 전 화학을 전공했습니다.

    "뭐 먹고 살아야 하나...."

    이 주제 하나로 졸업을 앞둔 1999년 12월의 겨울밤을 꼬박 뜬눈으로 지새고 말았습니다.

    지난 IMF 시절 많은 가정이 그러했듯 우리 집도 IMF 파도에 부딪혀 경제적으로 좌초하고 말았습니다.

    사용자 삽입 이미지


    아버지의 사업 실패는 그 동안 안이하게 살던 제 자신에게도 큰 위기로 다가왔으며, 그 위기가 한 가정의 장남인 저에게 지난 시간을 되돌아보며 반성하게 하는 계기를 만들어줬습니다.

    약 2주간의 철저한 제 자신에 대한 분석과 고민을 하기 시작했습니다. A4지에 하고 싶은 일과 할 수 있는 일들을 적어놓고 당장 일 할수 없는 순서대로 지워나갔습니다. 마지막에 남는 단어가 '게임' 이더군요.
    게임을 하며 밥을 먹을 순 없으니 컴퓨터를 통해 생산적인 일을 하는 것을 택해 그것을 제 업으로 삼아야 겠다는 결론에 도달하게 되었습니다. '게임' 이라는 단어 하나만 가지고 뭘 배워야 하는지도 모른채 무작정 학원으로 향했습니다. 학원을 등록하고 진로를 정하는데 당시 프로그래머가 돈을 많이 번다는 이유만으로 덜컥 프로그래밍을 선택하게 되었습니다.

    사용자 삽입 이미지

    (사진과 내용은 관계가 없습니다.^^)


    프로그래밍이라고는 해본적도 없는 초보중의 초보이며, 더군다나 비전공자가 프로그래밍을 단숨에 이해하기에는 컴퓨터와 나 사이에 존재하는 벽이 너무나 높았습니다. 가진 지식은 짧고, 전공자와 경쟁해야 하는 그런 환경 속에서 경쟁에서 이기기 위한 노력은 사치였고, 그것보다는 그들과 비교해서 실력이나 뒤떨어지지 말아야 한다는 걱정에 이를 악물고 공부했습니다.

    하루에 몇 시간 공부하면 몇 등 앞서 나가는 거고 몇 시간 놀면 몇 등 뒤쳐지고 이런 식으로 하루 하루 내 자신의 등수를 체크하며, 공부하고 또 개발자로써의 삶을 시작하게 되었습니다.

    그렇게 학원을 수료하고 취업을 하게 된 첫 직장은 벤처 기업이었습니다. 한 달 100만원의 월급을 받으며, 오로지 돈 보다는 기술을 익히겠다는 마음 하나로 여름엔 땀흘리고 겨울엔 많이 추운 사무실에서 벌벌 떨며 얼은 손을 입김으로 녹여가며 코딩하던 아무튼 엄청나게 고생을 했던 것으로 기억납니다.

    사용자 삽입 이미지
    초년기 시절 누구나 생각했듯 저 역시 코딩 하면서 '아 일하다가 죽는 거 아닌가' 하는 생각도 그 때 처음 해봤고, 그렇게 무척이나 힘들었고 '이 일을 계속 해야만 하는가...'하는 고민도 많이 했습니다. 신입으로 IT업계에 첫 발을 내딛은 처음 몇 년은 받아드는 월급 봉투의 두께에만 차이가 있었지 환경 자체는 별반 다를바가 없었습니다. 전 그런 환경을 무척이나 벗어나고 싶어했습니다. 몸도 마음도 이미 지칠 때로 지쳐 좀 편안한 곳으로 가고 싶어했던 것이죠.

    몇 년이 흘러 모 학교 전산실에서 근무를 하게 되었습니다. 학교는 일하긴 참 편한 곳 이었습니다. 하지만 비전공자로써 학교에서 전산을 전공하신 교수님들과 상대하게 될 때 느껴지는 그 알 수 없는 편견은 참기 힘든 일이었습니다. 그 분들의 편견은 '개인이 가진 실력보다는 신뢰라고 하는 부분에서 발생한 것이 아닌가?' 라는 생각에 그 원인을 제거하기 위해 모 대학 대학원에 등록을 했고, 운이 좋게도 합격하게 되었습니다. 낮에는 직장생활, 밤에는 대학원 생활.... 두 개의 삶을 병행한다는 것은 시간적, 금전적으로 쉽지 않은 일이었습니다.
    하지만 제 진단이 맞았던 것일까요? 자신은 별로 변한게 없는 거 같은데 대학원을 입학하고 나니깐 편견은 사라지더군요.^^(결과적으로 졸업할 때는 바뀐 인간이 되었습니다.ㅋ) 그 때 처음으로 실력도 중요하지만 '자신에 대한 객관적 신뢰도를 부여하는 것도 매우 중요하구나.' 란 사실을 알았습니다.

    사용자 삽입 이미지

    그리고 학교라는 곳이 일하기에는 매우 편하지만 바깥 세상과 단절된 부분이 많아서 노력해도 쫒아갈 수 없는 그런 미묘한 부분이 있습니다. 늘 새로운 기술을 접하고 공부해야 하는 엔지니어로써 그런 환경은 제 자신의 경쟁력을 쇠약하게 만드는 것이서 참기 힘들었습니다. 그래서 교직원 생활을 그만두고 불투명한 미래에 다시 제 자신을 던졌습니다. 불투명한 미래를 향해 자신을 던지고 나니 몸은 고되고 힘들지만 그런 적절한 스트레스와 자극이 자신에게는 끊임없는 채찍질이 되었습니다. 이렇게 하나씩 하나씩 경험하고 또 부딪히고 그렇게 사회를 알아가고, 부족한 것들을 채우고 준비하다 보니 어느 새 8년이라는 시간이 흘렀습니다.

    8년간 이런저런 경험을 하고 나니 제 자신이 원하는 것이 진정 무엇인지를 정확하게 알게 되었고, 제가 원하던 그것을 찾아가기 시작했습니다. 그런데 재미있는 것은 8년전에는 이상을 찾아가기 위해 무엇을 해야할지 전혀 몰랐다는 것입니다. 그런데 지금은 그 이상을 찾아가기 위해 무엇을 해야하는지를 명확하게 알게 되었다는 것입니다. 하나의 계단을 올라서면 바로 위의 또 다른 계단이 보이고, 또 그렇게 또 다른 계단이 보이고를 반복하다보니 저 계단 끝에 있던 나의 '이상'이 어느새 내 눈 앞에 와 있었던 것입니다.

    사용자 삽입 이미지


    사람에게는 누구나 꿈이 있고, 또 그것을 성취하기를 희망합니다. 그 꿈을 향해 모두가 달려가지만 현실의 벽에 부딪혀 포기하기도 하고, '꿈은 단지 꿈일 뿐이야.' 하고 체념하기도 합니다. 저 역시 꿈이 있었고, 그 꿈을 오랬동안 바래왔으며, 영원히 잡히지 않는 그것이라고 생각했었습니다. 그래도 쉽게 꿈을 접지 않았고, 늘 내가 원하는 바를 상상했고, 남들이 '꿈은 꿈일 뿐이야.' 라고 할 때도 꿈을 포기하지 않았더니 8년이 지난 지금 제가 원하던 그 '이상' 을 이전보다는 훨씬 가까운 현실로 바꿔놀 수 있게 되었습니다. 원하는 것을 손에 넣게 되었을 때 느껴지는 그 벅찬 감동은 감히 말로 표현하기 어려울 정도의 것이었습니다.
    물론 '이상'을 '현실'로 바꾸기 까지 저를 아껴주고 챙겨주신 분들도 많았었습니다.(매우 고마운 분들 입니다.)

    이렇게 장문의 글을 쓴 이유는 이 사회에 첫 발을 내딛는 후배님들에게 꿈을 포기 하지 말라는 말씀을 드리고 싶어서 였습니다. 제 스스로도 꿈을 이루는데 8년이 걸렸습니다. 하나의 계단을 올라서기 전까지 그 윗 계단에 있는 다른 것은 보이지도 않았습니다. 빨리 가기 위해 때론 조급하게 마음 먹지만 계단을 하나씩 오르지 않고선 원하는 바를 이룰수가 없었습니다.

    꿈은 포기하지 않는 자의 것이라는 생각이 듭니다. 꿈을 이루기 까지는 고난도 있을 것이고, 기쁨도 있을 것이며, 현실의 장벽이 그 꿈을 내게서 앗아가는 게 아닌가 하는 생각도 들게 합니다. 그렇다하더라도 힘내고, 묵묵히 걸어가십시오. 그럼 머지 않은 미래에 그 꿈은 어느새 바로 내 옆에 와있게 될 것입니다.
    (저 역시 5년뒤의 제 모습을 그리며 뛰어갈테니깐요.)

    모든 사회 초년생 분들에게 화이팅! 하라는 말씀을 드립니다.^^

    Posted by -세티-