BLOG main image
분류 전체보기 (105)
개인적인 (45)
업무적인 (60)
177506 Visitors up to today!
Today 29 hit, Yesterday 70 hit
daisy rss
tistory 티스토리 가입하기!
'2007/12'에 해당되는 글 10건
2007/12/27 17:34

사용자 삽입 이미지

PHOTOSHOP CS3 를 실행시킨후 메뉴중 편집(Edit) -> 환경설정(Preferences) -> 파일처리(File Handling) 메뉴를 클릭한다.

사용자 삽입 이미지

팝업된 환경설정 창에서 파일 호환성(File Compatibility) 항목중 Prefer Adobe Camera Raw for JPEG Files 부부을 체크하고 확인(OK)버튼을 클릭한다.

사용자 삽입 이미지

파일열기로 JPG파일을 열면 화면과 같이 Camera Raw 4.0으로 불려지는것을 볼수 있다.

실제 RAW파일처럼 완벽하게 모든 기능을 지원하는것은 아니고
비슷한 몇가지 기능을 제공하는것으로 보인다.

크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/259
Name
Password
Homepage
Secret
2007/12/27 17:21

아직도 일부 사이트 중에는 한메일(hanmail.net)을 입력하면 가입을 거부하는 사이트가 있다.

이것은 일전에 다음이 온라인 우표제를 실시한것때문에 발생한 업체들의 대응책이었다.
하지만 현재 다음은 더이상 온라인 우표제를 시행하고 있지않지만 아직도 다음메일을 거부하고 있는것이다.

그래서 다음측에서 나름 방안을 제시한것이 있는데 그것이 바로 hanmail2.net 이라는 메일주소이다.

이미 많이 알려져 있지만 그래도 아직도 모르는 사람이 많은거 같아서 포스팅해본다. ^^;;

사용자 삽입 이미지


출처 : 다음
크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/258
Name
Password
Homepage
Secret
2007/12/27 17:05
Q. [공XX] 주소입력하는곳이 안보여~ 도와줘~

A. [김XX] 시작 -> 실행 -> cmd(입력후 엔터) ->도스에서 -> regsvr32/i browseui.dll (입력후 엔터)
                          보기 -> 도구모음 -> 주소표시줄 (체크확인)
                          이렇게 해보세요 ^^;;

E. [공XX] 오~ 된다. 땡큐!!
크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/257
Name
Password
Homepage
Secret
2007/12/27 15:47

.NET버전의 VC++에서 ChartFx98을 ActiveX로 사용하려 했더니 몇가지 오류가 발생, 속성값을 사용할수 없었다.
알고보니 몇가지 설정이 빠져서 그렇다는걸 알게 되었다.

ChartFx를 사용하기 위한 그 설정법을 남겨본다.

1. 라이브러리 디렉토리 추가

사용자 삽입 이미지

메뉴중 도구 -> 옵션을 선택한다.

사용자 삽입 이미지

옵션의 왼쪽창에서 프로젝트 -> VC++ 디렉토리를 선택하고 오른쪽 위의 창에서 다음 파일의 디렉토리 표시에서 라이브러리파일 을 선택한다.
그후 왼쪽 아래의 창에서 새로운 라이브러리 등록 버튼을 클릭해서 ChartFX의 라이브러리 디렉토리(C:\Program Files\Common Files\Software FX Shared)를 선택후 확인하면 된다.


2. stdafx.h, stdafx.cpp 파일에 각각 아래의 내용을 추가한다.

- stdafx.cpp 파일

// DEFINITION of COM wrappers
#import "sfxbar.dll" no_namespace no_implementation
#import "Cfx4032.ocx" no_namespace no_implementation


- stdafx.cpp 파일

// IMPLEMENTATION of COM wrappers
#import "sfxbar.dll" no_namespace implementation_only
#import "Cfx4032.ocx" no_namespace implementation_only



3. 클래스에 아래의 멤버를 정의한다. (xxDlg.h)

CWnd m_ChartFx;  // ChartFX객체의 변수이름
IChartFXPtr m_pChartFX;  // ChartFX객체 포인터




4. DoDataExchage함수내에 객체랑 포인터의 연결 구문을 추가한다. (xxDlg.cpp)

 DDX_Control(pDX, IDC_CHART1, m_ChartFX);
 if (!pDX->m_bSaveAndValidate) // Link Chart FX pointer to control window
 {
  m_pChartFX = m_ChartFX.GetControlUnknown();
 }



5. ACTIVX를 추가한다.

사용자 삽입 이미지


도구상자에서 오른쪽 마우스를 클릭해서 항목 추가/제거를 선택한다.

사용자 삽입 이미지

탭에서 COM구성요소를 선택하고 ChartFX 98 Control을 체크한후 확인 버튼을 클릭한다.

사용자 삽입 이미지

도구상자에서 ChartFX 98 Control 이 생긴것을 볼수 있다

이제 이 컨트롤을 클릭해서 사용하면 된다.


크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/256
Name
Password
Homepage
Secret
2007/12/27 12:00


Dim iSocketIndex(10) As Integer

Private Sub CLI_CONNECT_Click()
    Dim iCount As Integer
    iCount = 0

    If WinsockClient.State = sckConnected Then
        WinsockClient.Close
        CLI_LIST.AddItem "접속 종료", 0
    Else
        WinsockClient.Close
        CLI_LIST.AddItem "접속 시도", 0
        WinsockClient.RemoteHost = CLI_IP
        WinsockClient.RemotePort = CLI_PORT
        WinsockClient.Connect
        Do While WinsockClient.State <> sckConnected
            iCount = iCount + 1
            If iCount > 10 Then
                Exit Do
            End If
            DoEvents
        Loop
       
        If WinsockClient.State = sckConnected Then
            CLI_LIST.AddItem "접속 완료", 0
        Else
            WinsockClient.Close
            CLI_LIST.AddItem "접속 실패", 0
        End If
    End If
End Sub

Private Sub CLI_NAME_LostFocus()
    If CLI_NAME.Text = "" Then
        CLI_NAME.Text = "클라이언트"
    End If
End Sub

Private Sub CLI_SEND_Click()
    Dim Str_Name As String
    Dim Str_Send As String
   
    Str_Name = CLI_NAME.Text
    If Str_Name = "" Then
        Str_Name = "클라이언트"
    End If
    Str_Send = CLI_TEXT.Text
    If Str_Send <> "" Then
        On Error Resume Next
        WinsockClient.SendData Str_Name & ":^!^:" & Str_Send
        CLI_LIST.AddItem Str_Name & " >> " & Str_Send, 0
        CLI_TEXT.Text = ""
        CLI_TEXT.SetFocus
    End If
End Sub

Private Sub CLI_TEXT_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 And CLI_SEND.Enabled = True Then  ' ENTER -> 13
        Call CLI_SEND_Click
    End If
End Sub

Private Sub Form_Load()
    Dim i As Integer
   
    SER_IP.Text = WinsockServer(0).LocalIP
    SER_NAME.Text = "서버"
    SER_PORT.Text = WinsockServer(0).LocalPort
    SER_PORT.Text = "1103"
    CLI_IP.Text = WinsockServer(0).LocalIP
    CLI_NAME.Text = "클라이언트"
    CLI_PORT.Text = WinsockServer(0).LocalPort
    CLI_PORT.Text = "1103"
   
    STATSBAR.Caption = ""
   
    For i = 0 To 9
        iSocketIndex(i) = 0
    Next
    TimerState.Enabled = True
End Sub

Private Sub SER_NAME_LostFocus()
    If SER_NAME.Text = "" Then
        SER_NAME.Text = "서버"
    End If
End Sub

Private Sub SER_SEND_Click()
    Dim Str_Name As String
    Dim Str_Send As String
   
    Str_Name = SER_NAME.Text
    If Str_Name = "" Then
        Str_Name = "서버"
    End If
   
    Str_Send = SER_TEXT.Text
    If Str_Send <> "" Then
        For i = 1 To 9
            If iSocketIndex(i) = 1 Then
                On Error Resume Next
                WinsockServer(i).SendData Str_Name & ":^!^:" & Str_Send
            End If
        Next
        SER_LIST.AddItem Str_Name & " >> " & Str_Send, 0
        SER_TEXT.Text = ""
        SER_TEXT.SetFocus
    End If
End Sub

Private Sub SER_START_Click()
    Dim i As Integer
   
    On Error Resume Next

    If WinsockServer(0).State = sckListening Or WinsockServer(0).State = sckConnected Then
        WinsockServer(0).Close
        iSocketIndex(0) = 0
        For i = 1 To 9
            If iSocketIndex(i) = 1 Then
                Unload WinsockServer(i)
                iSocketIndex(i) = 0
            End If
        Next
        SER_LIST.AddItem "서버소켓 중지", 0
    Else
        WinsockServer(0).Close
        iSocketIndex(0) = 0
        For i = 1 To 9
            If iSocketIndex(i) = 1 Then
                Unload WinsockServer(i)
                iSocketIndex(i) = 0
            End If
        Next
        WinsockServer(0).LocalPort = SER_PORT.Text
        WinsockServer(0).Listen
        If Err.Number <> 0 Then
            SER_LIST.AddItem "에러발생, Error Num = " & Err.Number & " / " & Err.Description, 0
            Err.Clear
            WinsockServer(0).Close
        Else
            SER_LIST.AddItem "서버소켓 기동", 0
            iSocketIndex(0) = 1
        End If
    End If
End Sub

Private Sub SER_TEXT_KeyUp(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 And SER_SEND.Enabled = True Then    ' ENTER -> 13
        Call SER_SEND_Click
    End If
End Sub

Private Sub TimerState_Timer()
    Dim i As Integer
    Dim StrSerConn As String
   
    StrSerConn = "FALSE"
    For i = 1 To 9
        If iSocketIndex(i) = 1 Then
            StrSerConn = "TRUE"
        End If
    Next
   
    If StrSerConn = "TRUE" Then
        SER_STAT.Text = "기동"
        SER_START.Caption = "중지"
       
        SER_CONN.Text = "연결"
        SER_SEND.Enabled = True
    Else
        If WinsockServer(0).State = sckListening Then
            SER_STAT.Text = "기동"
            SER_START.Caption = "중지"
        Else
            SER_STAT.Text = "중지"
            SER_START.Caption = "기동"
        End If
        SER_CONN.Text = "해제"
        SER_SEND.Enabled = False
    End If
   
    If WinsockClient.State = sckConnected Then
        CLI_CONN.Text = "연결"
        CLI_CONNECT.Caption = "접속해제"
        CLI_SEND.Enabled = True
    Else
        CLI_CONN.Text = "해제"
        CLI_CONNECT.Caption = "서버접속"
        CLI_SEND.Enabled = False
    End If
End Sub

Private Sub WinsockClient_Close()
    WinsockClient.Close
    CLI_LIST.AddItem "서버 종료", 0
End Sub

Private Sub WinsockClient_DataArrival(ByVal bytesTotal As Long)
    Dim Str_Buf As String
    Dim Dim_Buf
   
    WinsockClient.GetData Str_Buf
    Dim_Buf = Split(Str_Buf, ":^!^:")
    CLI_LIST.AddItem Dim_Buf(0) & " > " & Dim_Buf(1), 0
End Sub

Private Sub WinsockClient_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    CLI_LIST.AddItem "에러발생, Error Num = " & CStr(Number) & " / " & Description, 0
End Sub

Private Sub WinsockServer_Close(INDEX As Integer)
    WinsockServer(INDEX).Close
    SER_LIST.AddItem "클라이언트(" & CStr(INDEX) & ") 접속해제", 0

    Unload WinsockServer(INDEX)
    iSocketIndex(INDEX) = 0
End Sub

Private Sub WinsockServer_ConnectionRequest(INDEX As Integer, ByVal requestID As Long)
    Dim i As Integer
    Dim iSelect As Integer
   
    iSelect = 0
    For i = 1 To 9
        If iSocketIndex(i) = 0 Then
            iSelect = i
            If iSelect > 0 Then
                Exit For
            End If
        End If
    Next
   
    If iSelect > 0 Then
        Load WinsockServer(iSelect)
       
        If WinsockServer(iSelect).State <> sckClosed Then
            WinsockServer(iSelect).Close
        End If
       
        WinsockServer(iSelect).Accept requestID
        iSocketIndex(iSelect) = 1
        SER_LIST.AddItem "클라이언트(" & CStr(iSelect) & ") 접속, requestID = " & CStr(requestID), 0
    Else
        SER_LIST.AddItem "클라이언트 접속초과, requestID = " & CStr(requestID), 0
    End If
End Sub

Private Sub WinsockServer_DataArrival(INDEX As Integer, ByVal bytesTotal As Long)
    Dim Str_Buf As String
    Dim Dim_Buf
   
    WinsockServer(INDEX).GetData Str_Buf
    Dim_Buf = Split(Str_Buf, ":^!^:")
    SER_LIST.AddItem CStr(INDEX) & ". " & Dim_Buf(0) & " > " & Dim_Buf(1), 0
End Sub

Private Sub WinsockServer_Error(INDEX As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    SER_LIST.AddItem "에러발생, SOCKET INDEX = " & CStr(INDEX) & ", Error Num = " & CStr(Number) & " / " & Description, 0
End Sub


P.S 몇가지 그때그때 생각난걸 테스트 삼아 해본것으로 차후 개발때 참조하기 위해 보관
크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/255
Name
Password
Homepage
Secret
2007/12/27 11:46
통신프로그램 개발시 테스트용으로 자주 애용하는 좋은 프로그램이다


출처 : 원제작자 - 안준호 (jjujju@korea.com) / www.chang-sys.co.kr (홈페이지는 접속 안되는듯)
크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://savour.tistory.com/trackback/254
Name
Password
Homepage
Secret
2007/12/27 10:29
기존 ORACLE을 사용하던 SITE에서 DB2로 Conversion 할때 참고하면 유용한 문서 입니다.

크리에이티브 커먼즈 라이선스
Creative Commons License
이올린에 북마크하기(0) 이올린에 추천하기(0)

'업무적인 > DB - DB2' 카테고리의 다른 글

Oracle to DB2 UDB Conversion Guide 문서  (0) 2007/12/27
Trackback Address :: http://savour.tistory.com/trackback/225
Name
Password
Homepage
Secret
2007/12/27 10:22

1. 숫자함수

ABS(n) : ABS함수는 절대값을 계산하는 함수입니다. 
CEIL(n) : CEIL함수는 주어진 값보다는 크지만 가장 근접하는 최소값을 구하는 함수입니다.
EXP(n) : EXP함수는 주어진 값의 e의 승수를 나타냅니다.  e는 2.171828183..입니다.
FLOOR(n) : FLOOR함수는 주어진 값보다 작거나 같은 최대 정수값을 구하는 함수입니다. (CEIL 함수와 비교해 보세요. )

LN(n) : LN함수는 주어진 값의 자연로그 값을 반환합니다.
MOD(m, n) : MOD함수는 m을 n으로 나누어 남은 값을 반환한다. n이 0일 경우 m을 반환합니다.
POWER(m, n) : POWER함수는 m의 n승 값을 계산합니다.
ROUND(n, [m]) : ROUND함수는 n값의 반올림을 하는 함수로 m은 소숫점 아래 자릿수를 나타낸다.

SIGN(n) : SIGN함수는 n<0일 경우 -1DFM N=0일 경우 0을 N>0일 경우 1을 반환합니다.
SQRT(n) : SQRT함수는 n값의 루트값을 계산한다. n은 양수여야 합니다.
TRUNC(n, m) : TRUNC함수는 n값을 m 소숫점 자리로 반내림한 값을 반환합니다. (ROUND 함수와 비교해 보세요.)


2. 문자열 처리함수

CONCAT(char1, char2) : CONCAT 함수는 Concatenation의 약자로 두 문자를 결합하는 역할을 합니다. "||" 연산자와 같은 역할을 합니다.
INITCAP(char) : 주어진 문자열의 첫 번째 문자를 대문자로 변환시켜 줍니다.
LOWER(char) : 문자열을 소문자로 변환 시켜 줍니다.
UPPER(char) : 문자열을 대문자로 변환 시켜 줍니다.
LPAD(char1, n [,char2]) :왼쪽에 문자열을 끼어 놓는 역할을 합니다. n은 반환되는 문자열의 전체 길이를 나타내며, char1의 문자열이 n보다 클 경우 char1을 n개 문자열 만큼 반환합니다.
RPAD(char1, n [,char2]) : LPAD와 반대로 오른쪽에 문자열을 끼어 놓는 역할을 합니다.

SUBSTR(char, m ,[n]) : SUBSTR함수를 이용하여 m 번째 자리부터 길이가 n개인 문자열을 반환한 합니다. m이 음수일 경우에는 뒤에서 M번째 문자부터 반대 방향으로 n개의 문자를 반환합니다.
LENGTH(char1) : 문자열의 길이를 리턴 합니다.
REPLACE(char1, str1, str2) : REPLACE는 문자열의 특정 문자를 다른 문자로 변환 합니다.

INSTR : 문자열이 포함되어 있는지를 조사하여 문자열의 위치를 반환합니다. 지정한 문자열이 발견되지 않으면 0이 반환 됩니다.
TRIM : 특정한 문자를 제거 합니다. 제거할 문자를 입력하지 않으면 기본적으로 공백이 제거 됩니다.  리턴값의 데이터타입은 VARCHAR2 입니다.

 -- 두개의 문자를 연결한다.
SQL>SELECT CONCAT('Oracle', ' Korea') NAME FROM dual;

-- 문자좌측에 *를 붙인다. 문자 길이는 10개로 제한
SQL>SELECT LPAD('JUNG-SICK', 10, '*') NAME FROM dual;

-- 문자우측에 *를 붙인다. 문자 길이는 11개로 제한
SQL>SELECT RPAD('JUNG-SICK', 11, '*') NAME FROM dual;

-- 앞에서부터, 뒤에서부터 예제...
SQL>SELECT SUBSTR('JUNG-SICK', 3, 3) NAME FROM dual;
SQL>SELECT SUBSTR('JUNG-SICK', -3, 3) NAME FROM dual;

-- 문자의 길이를 구함
SQL>SELECT LENGTH('JUNG-SICK') TEST FROM dual;

-- 대소문자 구별합니닷!!
SQL>SELECT REPLACE('JACK and JUE','J','BL') "Changes" FROM dual;
SQL>SELECT REPLACE('JACK and JUE','j','BL') "Changes" FROM dual;

-- 지정한 문자 OK가 발견되지 않아서 0이 반환 됩니다.
SQL>SELECT INSTR('CORPORATE FLOOR','OK')  "Instring" FROM dual;

-- OR이 있는 위치 2를 반환 합니다. 왼쪽부터 비교를 한다는 것을 알 수 있습니다.
SQL>SELECT INSTR('CORPORATE FLOOR','OR')  "Instring" FROM dual;

-- 0을 제거 합니다.
SQL>SELECT TRIM(0 FROM 0009872348900)  "TRIM Example" FROM dual;

-- 어떤 문자도 입력하지 않으면 기본적으로 공백이 제거 됩니다. 
-- TRIM을 사용한 위에 예제와 사용하지 않은 아래 예제의 결과 값이 다르게 나오는 것을 알 수 있습니다.
-- NVL(a,b) 함수는 a가 NULL일 경우 b로 바꿔주는 함수입니다.
SQL>SELECT NVL(TRIM ('  '),'공백')  "TRIM