사업왕이 커가는곳

[씀]/[씀] 전공자료 +25

I am Korean , and I am a programmer

Around the world I have wanted to create a program that uses

 

BackProSetup.zip

 

 

Only modified files backup program to back up

 


Free File Backup Program
Individuals, companies, public authorities must use all available free of charge
Copy only the changed files
Keep your files up to date
Automatically back up according to the time set
You can check the backup file list

 

 

No complicated setup is required.
Only essential features have made it as simple as possible.
Job History is recorded only in the file system.
Personal information will not be sent to the server.

 

 

I need to create a program.
It may well be useful.

 


 


 

 

Free File Backup Program.zip

 

 

This Program is File backup program

 

Copy only the changed files

 

Keep your files up to date

 

Automatically back up according to the time set

 

You can check the backup file list

 

Google ads contain

 

Free File Backup ProgramCopy only the changed files Keep your files up to date Automatically back up according to the time set You can check the backup file list Google ads contain

 

 

개발환경 : MS-Sql 2000, 20005
프로그램 상황 : 디비를 통채로 복사할때 사용 혹은 백업파일만으로 복원할때 사용

-- 마스터에서 작업해야 하나 ㅡㅡa 정확하지 않음
USE master

-- DB백업해서 bak파일 생성
BACKUP DATABASE [DB_Name] TO DISK='D:\db_backup\DB_Name_Backup.bak'

-- 백업 잘 되었나 확인
RESTORE FILELISTONLY FROM DISK = 'D:\db_backup\DB_Name_Backup.bak'

-- 복사
RESTORE DATABASE [DB_Name_Copy]
FROM DISK = 'D:\db_backup\DB_Name_Backup.bak'
WITH Move 'DB_Name_Data' TO 'D:\DB\DB_Name_Copy.mdf',
Move 'DB_Name_Log' TO 'D:\DB\DB_Name_Copy.ldf'



출처 -> http://blog.naver.com/ttltweety/60107917647

개발환경 : MS-Sql
프로그램 상황 : 특정 문구나 특정 테이블,컬럼이 사용된 프로시져 또는 뷰 찾기
기억할 코드 : SELECT top 100 * from syscomments where text like '%키워드%'

sp_helptext sp_helptext -- 이 명령으로 위의 테이블을 찾았다.

SELECT top 100 * from syscomments where text like '%키워드%'
간혹 프로시져의 길이가가 길어서 레코드가 나눠셔 저장되어 있는 경우가 있는데...
그때는 동일한 ID값을 찾 아보면 모든 내용을 알 수가 있다.

참고로.. syscomments  이녁석은 시스템 뷰다.. ㅡㅡ;
sp_helptext syscomments -- 이렇게 확인해 보면 된다.


갑자기 자료 연동할일이 생겨서 웹을 만지는데.
처음 상대해보는 오류들이 한두가지가 아니네 ㅜㅜ
테스트를 위해서 만들어 놨다. ㅋ

      strResult = Uri.EscapeDataString(txtInput.Text)
      strResultKor = Uri.UnescapeDataString(txtResult.Text)

항상 작성했던 자료를 찾아서 하기 귀찮아서 한번 기록해 둔다.
성능에는 좋지 않다고 한다... 어쩔수 없을때만 사용하는게 좋다는데.
여러모로 편할때가 많아서 가끔 사용한다.
그래서 예제를 좀 기록해 둘려고 ㅋㅋ

DECLARE @MemberGroup VARCHAR(200), @MemberName VARCHAR(200), @Mobile VARCHAR(200) -- 커서에서 값을 받아올 변수
DECLARE TempCursor CURSOR -- 커서 선언
 FOR
    SELECT MemberGroup, MemberName, Mobile FROM TB_0_Member -- 정보를 가져올 테이블

OPEN TempCursor -- 커서를 열고
 FETCH NEXT FROM TempCursor INTO @MemberGroup, @MemberName, @Mobile -- 한 행 실행
 WHILE @@FETCH_STATUS = 0 -- 자료가 없을때 까지 반복
 BEGIN
  EXEC SP_Member_INSERT 0, @MemberName, @Mobile, @MemberGroup    -- 가져온 값 실행 명령

  FETCH NEXT FROM TempCursor INTO @MemberGroup, @MemberName, @Mobile  -- 다음 자료 가져오기
 END -- @@FETCH_STATUS = 0
CLOSE TempCursor -- 커서 닫아주기
DEALLOCATE TempCursor


화면에 색을 넣는 경우가 많은데 색의 이름으로는 잘 모르겠다...
그리고 DB에 저장할때는 integer로 저장할 때가 많은데 argb값은 도저희 모르겠다.
그래서 색상을 알아오는 샘플 프로그램을 만들어서 캡쳐해 둔다..
참고로 검정색은 0이다. ㅎㅎ
그리고 알파벳 순이다.



색상 알아 오는 코드 참고함아 올려둔다.
 With cboCombo.Items
            .Clear()

            For Each knownColor As KnownColor In System.Enum.GetValues(GetType(KnownColor))
                Dim color As Color = color.FromKnownColor(knownColor)
                If Not color.IsSystemColor Then
                    .Add(New CodeItems(color.Name, color.ToArgb))
                End If
            Next
        End With
        If intSelectIndex > 0 And intSelectIndex < cboCombo.Items.Count Then
            cboCombo.SelectedIndex = intSelectIndex
        End If

이렇게 하면 모든 KnownColor는 콤보박스에 들어가게 되고 선택해서 색상을 보면된다.



API 함수중에 CopyMemory 라고 있다.
메모리의 특정 위치의 값을 원하는 변수로 접근 가능하도록 해 주는 함수인데...
지금 할려는건 메모리에 기록된 값을 문자열(string)로 변환해 주는 설명이다.

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (ByRef pDest As IntPtr, ByRef pSrc As IntPtr, ByVal ByteLen As Integer)
'// 이런식으로 선언하고

'// lParam포인트 부터 Len(recvMsg) - 1만큼을 복사해서 그 시작 주소를ptr여기 알려주라...
CopyMemory(ptr, lParam, Len(recvMsg) - 1) '//이런식으로 사용한다.

'// vb6.0에는 변수의 주소를 알수 있기 때문에 사용이 가능하나 .net계열에서는 변수의 포인트를 알아 올수가 없기 때무에 사용이 불가능하다.
'// 한마디로 쓸수 없는 함수가 된거다.

'// 그래서 찾은 방법이다. 데브피아에서 찾았다.
'// 출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=44&MAEULNo=18&no=27315&ref=27315
'// Marshal을 이용하는건데... 정확한 깊이 있는 설명이 될것 같지는 않지만 용도는 비슷하다.
'// 설명은...
Public NotInheritable Class Marshal
          Inherits System.Object
     System.Runtime.InteropServices
요약:
관리되지 않는 메모리를 할당하고, 관리되지 않는 메모리 블록을 복사하고, 관리되는 형식을 관리되지 않는 형식으로 변환하는 메서드의 컬렉션 및 비관리 코드와 상호 작용할 때 사용되는 기타 메서드의 컬렉션을 제공합니다.

 
recvMsg = New String(" ", 4096)    '// 최종 자료가 저장될 문자와 길이를 결정하고
Dim strChar(4096) As Byte             '// 임시로 사용할 변수를 선언한다.
Marshal.Copy(lParam, strChar, 0, Len(recvMsg) - 1) '// 실제로 CopyMemory와 같은 역활을 해 주는데 대신 포인트를 주는건 아니고 바로 값을 변수에 복사해준다.

Dim ecd As New System.Text.ASCIIEncoding '// 문자로 변환하기 위해서 엔코더를 선언하고
recvMsg  = ecd.GetString(strChar)                 '// 바이트(byte)배열을 문자열(string)으로 변경하면된다.

CopyMemory 의 용도가 여러가지이기 때문에 상황에 맞게 변경해야 할듯하다.


오늘 포스팅하면서 찾아본 몇가지 적어 볼려고한다...
요즘은 귀찮아서 잘 안했었는데.. 다시 해야겠다.

[동사]『…이』
1 정신을 차리기 어렵다. ≒헛갈리다.

2 『-ㄴ지가』『…을』여러 가지가 뒤섞여 갈피를 잡지 못하다. ≒헛갈리다.
  • 본 지가 너무 오래되어서 책 내용이 자꾸 헷갈린다.
  • 그동안의 세월은 없었던 것처럼 그의 시간관념은 송두리째 흔들리고 헷갈렸다.≪박완서, 오만과 몽상≫
  • 그 집으로 가려면 어느 길로 가야 하는지가 헷갈려 자주 길을 잃는다.
  • 내가 그 일을 했는지가 헷갈려서 다시 서류철을 들여다보는 경우가 요즘 부쩍 늘었다.
  • 한 반에 60명 이상의 아이들이 있다 보니 아이들의 이름을 헷갈리는 경우가 가끔 있었다.
  • 아무리 늙었다고 해도 내가 어찌 내 자식들의 얼굴을 헷갈릴 수 있겠는가?
  • 어머니께서 내 선물과 동생의 선물을 헷갈리는 바람에 한바탕 소동이 벌어졌었다.

 


오라클은 널너리가 좋다고 해야 하나.. 어렵다고 해야하나...
예를 들어 ""을 Varchar2 자료 형에 넣으면 널로 인식한다. MSsql설계할때는 왼만하면 널 허용 안하는걸로 작업을 했는데 이렇게 하니까. "" 문자의 입력시 너무 어려움이 많아서 그냥 널 허용으로 다 바꾸었다.
그리고 가지고 와서 쓸때는 .toString  를 달아 주기만 하면 된다. 오류없이...
문제는 숫자 형인데.. ""를 숫자 형에 넣어 버리면 널로 인식 하는것이 아니라 타입 오류를 발생 시킨다.
그것 때문에 ""인지 확인해서 디비널을 반환하는 함수를 만들어서 사용하였다. ㅜㅜ
이쯤 하니까 거의 비슷해 진것 같다.
프로시져를 사용하지 않아서 좀 불편하긴 한데.. 만들어 놓으면 나중에 관리가 더 힘들 것 같아서
CommandType.Text 로 작업하는게 낳을듯 하다..

오라클... MS-sql에 비해서 성능이 좋아 보이긴 하다.. 아직은 느낌이다... 나중에 검증도 할 수 있을지는 모르겠다. ㅡㅡ;
지금까지 사용한. 함수를 몇가지 정리하자면

함수
ISNULL(검사할 열, 대체값) -> nvl(검사할 열, 대체값) 
GETDATE() -> sysdate
DATEADD(m, 1, 날짜) -> add_months(날짜, 1)
CONVERT(VARCHAR(20), GETDATE(), 120) -> to_Char(sysdate, 'YYYY-MM-DD HH24:MI:SS')

아래는 Select 한 쿼리를 DataAdapter를 이용해서 받아온후 Listview를 채우는 예다.

#Region " 리스트 호출"

    ''' <summary>
    ''' 리스트 가져오기
    ''' 검색 조건에 따라 사용자 목록 가지고 오기
    ''' </summary>
    ''' <param name="lvListItem"></param>
    ''' <remarks></remarks>
    Private Sub lfnUpdateList(ByVal lvListItem As ListView, ByVal intSelectedIdx As Integer)
        Dim intSelectedIndex As Integer = -1
        Me.Cursor = Cursors.WaitCursor

        '// 테이블만 체우기
        Try

            '// 사원번호, 아이디, 사용자명, 권한레벨, 로그인허용, 등록일, 메모
            cmdSQL.CommandType = CommandType.Text
            cmdSQL.CommandText = ""
            cmdSQL.CommandText &= "SELECT "
            cmdSQL.CommandText &= "     A.UserIdx, A.UserName, A.UserID, A.EmployeeNumber, A.PermLevel, A.PermAdminTF, A.PermLoginTF, A.RegDate, A.EtcMemo, "
            cmdSQL.CommandText &= "     B.StatusCode, B.StatusText "
            cmdSQL.CommandText &= "FROM "
            cmdSQL.CommandText &= "     TB_User A "
            cmdSQL.CommandText &= "         INNER JOIN TB_User_Status B ON A.StatusCode = B.StatusCode "
            cmdSQL.CommandText &= "WHERE  "
            cmdSQL.CommandText &= "     A.DeleteTF = '0'  "
            If cboStatus.SelectedIndex > 0 Then cmdSQL.CommandText &= "AND A.StatusCode = :StatusCode "

            ' 파라메터 선언할때는 순서가 중요하다 사용하는 순서대로 선언을 해야만 그 겂이 정확히 들어 가게 된다.
            With cmdSQL.Parameters
                .Clear()
                If cboStatus.SelectedIndex > 0 Then .Add(":StatusCode", OleDbType.varchar).Value = DF.fnCtypeCodeItems(cboStatus.SelectedItem).CodeData
            End With

            da.SelectCommand = cmdSQL

            strConn.Open()
            dtDataTable.Rows.Clear()
            da.Fill(dtDataTable) ' dtDataTable 수정
        Catch ex As Exception
            fnErrorReport(Me.Text, ex)
        Finally
            Me.Cursor = Cursors.Default
            strConn.Close()
        End Try

        Try
            Me.Cursor = Cursors.WaitCursor

            lvListItem.BeginUpdate()
            isListUpdating = True
            lvListItem.Items.Clear()

            '// 사원번호, 아이디, 사용자명, 권한레벨, 로그인허용, 등록일, 메모
            '// UserIdx, UserName, UserID, UserEmployeeNumber, PermLevel, PermAdminTF, PermLoginTF, RegDate, EtcMemo, B.StatusCode, B.StatusText
            If dtDataTable.Rows.Count > 0 Then
                For Each drItem As DataRow In dtDataTable.Rows
                    With lvListItem.Items.Add(drItem("EmployeeNumber"), 0)  '0
                        .UseItemStyleForSubItems = False
                        .ImageIndex = IIf(drItem("StatusCode") = "A", 4, 6)
                        .Tag = drItem("UserIdx")

                        .SubItems.Add(drItem("UserID")) '1
                        .SubItems.Add(drItem("UserName")) '2
                        .SubItems.Add(IIf(CBool(drItem("PermAdminTF")) = True, "팀장", drItem("PermLevel"))) '3
                        .SubItems.Add(IIf(CBool(drItem("PermAdminTF")) = True, "허용", IIf(CBool(drItem("PermLoginTF")) = True, "허용", "차단"))) '4
                        .SubItems.Add(CDate(drItem("RegDate")).ToString("yyyy-MM-dd")) '1
                        .SubItems.Add(drItem("EtcMemo").ToString)

                        If drItem("UserIdx") = intSelectedIdx Then intSelectedIndex = .Index
                    End With
                Next
            End If
            isListUpdating = False
            lvListItem.EndUpdate()

            '// 항목 재 선택
            If intSelectedIndex >= 0 Then
                lvListItem.Items(intSelectedIndex).Selected = True
                lvListItem.Items(intSelectedIndex).EnsureVisible()
            End If

            '// 레이블 표시
            lblStatus3.Text = "검색:" & lvList.Items.Count & ""
        Catch ex As Exception
            fnErrorReport(Me.Text, ex)
        Finally
            Me.Cursor = Cursors.Default
            strConn.Close()
        End Try
    End Sub

#End Region

오라클에서 엄청난 양의 메뉴얼을 제공해 준다...
하지만 너무 자세하다는 사실에 오히려 두려움을 느낀다...
내가 지금까지 해 오던 방식을 찾아 해매야겠지. ㅜㅜ

일단은 디비에 접속만 먼저 해야겠다...

여기 까지는 비슷한데.. 파라메타 붙여서 쿼리 할려다 실패하고...
주문했다... 내일 온다니.. 기다려 본다. 여러권 골랐었는데...
진우형이 이걸로 하라고 하네.. 귀찮아서 그냥 표지가 예쁜거 고른 느낌이지만... 

    Public Function ConnectionString() As String
        Try
            ConnectionString = _
                        "Provider=OraOLEDB.Oracle.1" & _
                        "; User ID=?????? "
                        "; Password=?????? "
                        "; Data Source=127.0.0.1:1521 "    ' 포트 확인하시고요.
        Catch ex As Exception
            Return ""
        End Try
    End Function

어딘가에 접속문장을 만들어줄 요놈을 선언하고...

사용법은... 
예를 들어 콤보 박스를 채워주는 함수를 하나 복사한다.

   Public Sub fnSetAutoCombo(ByVal strQuery As String, ByVal TargetCombo As ComboBox, ByVal AllText As String)
        Dim strConn As New OleDbConnection(ConnectionString)           ' 컨넥션 생성하고
        Dim cmdSQL As OleDbCommand = strConn.CreateCommand()   ' 그 컨넥션을 이용해서 커멘드를 만든다.
        Dim dr As OleDbDataReader    ' 자료를 받아와서 읽을 리더를 선언한다.

        Try
            cmdSQL.CommandType = CommandType.Text
            cmdSQL.CommandText = strQuery

            With cmdSQL.Parameters
                .Clear()
            End With
            
            strConn.Open()    ' 디비 오픈하고.. 혹시 오픈이 안되면 서버의 상태를 확인해 봐야겠지.. 방화벽은 열어주셨나요? ㅋㅋ
            dr = cmdSQL.ExecuteReader ' 리더로 날린 쿼리의 정보를 받아 오면 됩니다.

            TargetCombo.BeginUpdate()
            TargetCombo.Items.Clear()

            If AllText.Length > 0 Then
                TargetCombo.Items.Add(AllText)
            End If

            If dr.HasRows Then
                While dr.Read   ' 읽어서 쓰시길
                    TargetCombo.Items.Add(dr(0))
                End While
            End If

            TargetCombo.EndUpdate()
            dr.Close()
        Catch ex As Exception
            fnErrorReport("MdCommonFunction::fnSetAutoCombo", ex)
        Finally
            strConn.Close()   ' 당근 다쓰면 돌려줘야겠지...
        End Try

        If TargetCombo.Items.Count > 0 Then
            TargetCombo.SelectedIndex = 0
        End If

        If TargetCombo.Items.Count = 0 Then
            TargetCombo.Enabled = False
        Else
            TargetCombo.Enabled = True
        End If
    End Sub

너무 하던 방식대로.. MSsql에서 되니까.. 여기도 똑같이 될꺼야 하는 식으로 접근하면 작업이 어려울것 같다.. ㅜㅜ
어쩌지.. 이런 시간은 프로젝트 기간에 계산되지 않아는데....

당장 테이블을 설계할때무터... 문제들이 생겨난다.. ㅜㅜ

일단 자료형
오라클의 자료형은 간단하면서 복잡하다. ㅡㅡ;
뭔말이냐~

일단 MS-sql에서 사용하던 자료형과 매칭시켜서 쉽게 갈 생각이다.
엄청난 프로젝트가 아니라...

integer = NUMBER(32)
smallint = NUMBER(5)
float = NUMBER
datetime = DATE
varchar(n) = varchar2(n)
Bit = CHAR(1) -> 보통 여기 '0', '1' 이런식으로 넣어서 사용한단다...

그냥 이렇게 사용하기로 했다.

찾다가 네이버 지대픽션님의 글을 찾아 봤다. 공부 열심히 하신듯하다.
자료형별 크기나 뭐.. 자세한 내용은 요 포스트에서 확인하면 될것 같다.

참고로... 아래 Er-win에서 자동으로 생성해준 테블이다.


CREATE TABLE TB_User (
       UserIdx              NUMBER(38) NOT NULL,
       EmployeeNumber       VARCHAR(20) NOT NULL,
       UserName             VARCHAR(20) NOT NULL,
       UserId               VARCHAR(20) NOT NULL,
       UserPWD              VARCHAR(32) NOT NULL,
       RegDate              DATE NOT NULL,
       EtcMemo              VARCHAR(2000) NOT NULL,
       PermLevel            SMALLINT NOT NULL,
       PermAdminTF          CHAR(1) NOT NULL,
       PermLoginTF          CHAR(1) NOT NULL,
       DeleteTF             CHAR(1) NOT NULL,
       StatusCode           VARCHAR2(1) NOT NULL
);


ALTER TABLE TB_User
       ADD  ( PRIMARY KEY (UserIdx) ) ;


CREATE TABLE TB_User_Status (
       StatusCode           VARCHAR2(1) NOT NULL,
       StatusText           VARCHAR2(20) NOT NULL
);


ALTER TABLE TB_User_Status
       ADD  ( PRIMARY KEY (StatusCode) ) ;


ALTER TABLE TB_User
       ADD  ( FOREIGN KEY (StatusCode)
                             REFERENCES TB_User_Status
                             ON DELETE SET NULL ) ;

MS-sql 만 사용하다가 오라클로 해 달라는 수주가 들어와서 어쩔수 없이...  공부하게 되었다..
일단은 답답하다. ㅜㅜ

일단 개발할때는 무료버젼을 사용하기로 했다.

오라클
Oracle Database 10g Release 2 (10.2.0.1)
Express Edition for Microsoft Windows
http://www.oracle.com/technology/software/products/database/xe/htdocs/102xewinsoft.html

설치 할때 비밀번호를 입력하는데. 그걸 잘 기억해야 한다.
초기에 로그인할때 아주 중요하다.
http://설치된컴퓨터IP:8080/apex -> 서버의 방화벽을 열어 주어야 한다.
초기 sys / 설치할때 입력한 비밀번호
관리자 hr / 설치할때 입력한 비밀번호

-- 설치 할때 남긴 메모다.
'Oracle Database Listener'용 포트:1521 -> 프로그램에서 접속할 포트가 된다. 방화벽 안열고 삽질하지 마시길..
'Oracle Services for Microsoft Transaction Server'용 포트:2030
HTTP 리스너용 포트:8080

'Oracle Database Listener'용 포트:1521 변경을 할려면
C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\listener.ora
C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.ora
-> 파일 변경의 내용중 1521 숫자를 변경하고 재시작 하면 된단다. 해보지는 않았다.

여기 까지는 설치였다..


문제 가 잇을때...
 - 서비스에 OracleXETNSListener가 실행되지 않는다면 확인할 사항 : http://blog.naver.com/blash100/70039236050
   > 컴퓨터 이름 확인 설정파일 : C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\listener.ora

이번에 대학원 올라가면서 노트북이 하나 필요 해서 사게 되었다....

처음에 내가 살려고 했던 모델은 MSI  NCD S430X-070KR 58만원 이었는데...
이 제품은 바로 판매하는 제품은 최저가와 차이가 많이 나고... 예판으로 사야하는데 너무 오래 기다려야 해서..
어차피 포인트 세이브 해서 사는거 그냥 좋은거 사자 싶어서 질렀다...

사양을 보자면
이렇다.. 이정도 성능과 기능에 90만원 정도면.. 완전 최고다... 싶었다.

블랙을 주문했는데.. 이상하게도 블루가 와버렸다...
별로 색깔에 대한 집착은 없어서 그냥 쓸려고 프로그램은 다 설치했다.
OS설치하는데는 대략 25분 정도가 소요되었다... 와우~

장점은 이미 회사와 판매자가 많이 이야기 했을 것 같고..
단점을 몇가지 적자면... 총평으로 말하자면 싼티가 난다... ㅋㅋㅋ
단점이 아닐지도 모르겠다.
모니터 밝기가 좀 어두운 편이다. 사무실에서 본 화면이 좀 어두웠다. 전원을 연결하고 최대 밝기로 하더라도.. ㅜㅜ

키보드도 조금 마음에 안드는 것이... 키보드를 칠때 다격감은 여타 노트북과 비슷한데...
소리가 좀 난다. 플라스틱 튀는 소리... 왼쪽은 괜찮은데. 오른쪽이 소리가 좀 심하다.. ㅜㅜ
도서관에서는 쓰기 힘들지 않을까 하는 생각이 좀 든다...

끝으로... 총평을 쓰자면...
이정도 가격에 이정도 성능 기능이 이정도면 충분하다. 좋은 제품이다.
돈없는 대학생들이나 막 사회생활을 시작하는 사회 초년생에게 추천한다.
끝으로 함게 주는 가방도 작고 귀엽고.. 마우스는 스페어로 쓸만하다. 끝~

마지막으로 구매 기록 남겨 놓는다... 나중에 AS라도 받을려면 기억해야겠지?



영덕에 사시는 숙모의 소개로 대게를 주문할려고 한다..
다음에 또 주문할려 기록한다.
직접 대게잡이 배도 운영하고 식당도 있다고 한다.
주말에는 자리가 없을수 있어 예약을 하는게 좋을꺼라 한다.

전화번호는 054-732-4083

영덕군 축산면 경정2리 23-10번지
해림대게

농협 715073-52-020164 유천택사장님 이란다...

10만원정도 하면 크기에 따라 다르지만 10마리 내외가 될것 같고
5명이 충분히 먹는다 한다.

화계동 성대엄마 소게라고 하면 잘 해줄꺼다. ㅋㅋㅋ
사칭하지는 마시길...

-------------------------------------------
어제 주문한 대게가 오늘 바로 왔다.
-------------------------------------------

15마리였고 사이즈는... 이정도가 얼마나 되는 사이즈 인지는 잘 모르겠다.



흠. 사진이 이상하군...
대게 다리 먹는 팁을 하나 설명하자면
관절을 뿌시면 안된다. 그럼 살이 나오는 통로가 좁아지게 되어서 살이 안빠진다.
그래서 그림에 잘 모이는지 모르겠는데 관절 뒷부분 좀 얇은 부분을 뜻어내고 당기면..
위 사진 같이 살만 빠져 나오게 된다.

ㅋㅋㅋ 맛있게 먹었는데....
문제는 사무실 가득 게 비린내가 배였다는 거..
누가 비린내 없애는법 알려주세요 ㅡㅡ;




비록 똑딱이를 들고 다니지만...
요즘 빛에 대해서 조금씩 이해가 되어 간다...
카메라란 빛의 예술이다.... 빛을 얼마나 어떻게 잘 받아 들이느냐에 따라....
눈으로 보는 것보다 더 아름다운 세상을 만들수가 있게 된다..

내가 나름 생각하는 야경 사진의 팁은
첫째 삼각대없이는 야경은 불가능 하다이다.
 ㄴ 삼각대나 카메라를 고정할 장치 없이 사진을 찍는다면 흔들리지 않은 야경은 없다.
둘째 노출을 길게 하되 조리게값은 높게....
 ㄴ 조리게를 조으면 빛을 많이 받아 들이지 않아서 사진이 잘 나오지 못한다. 하지만 야경의 특징이랄까. 노출로 제어 하는편이 좋다.
하지만... 노출이 길면.. 움직이는 물체는 ㅋㅋ  위 사진은 물이 그런 케이스겠다.
  연습만이 길이다.

어법 시리즈다.
포스팅중에 병이야기가 나와서 또 한번 찾아보았다.
병이 발별했다는 뜻이 아니라 치료되었다는 뜻이다...
오늘은.... 병이 낫다다...
처음에는 낳았다. 이렇게 썼었는데.. 역시나 정확하게 틀려버렸다.

낫다
병이 낫다... 이런쓰임인데..
병이 나았다. 이렇게도 쓰이고..

찾은김에..

병이 걸렸을때는
병이 났다.
나다 이다.

그리고 마지막으로.... 반드시 틀렸었을..

세배다.

새해에 "새"랑 같은 뜻일줄 알았다..
하지만 새해는 순 우리말이다...
세배는 한자어다.. 다른 "새"란 뜻이다..
하여간... 세뱃돈.... 등 세배가 맞다. ㅋㅋ

오늘은 좀 많이 했다. ㅋㅋㅋ
다음부턴 틀리질 않기를~~


오늘부터 어법 프로젝트에 들어간다.
 요즘은 문자도 많이 보내고, 클럽에 가입을 해서 글도 많이 올리는데
신경이 많이 쓰인다. 너무 많이 틀려도 당당해 지지는 않는다.
오늘은 그 첫번째 시간으로

마치다 

이게 난 "맞쳤다"로 알고있었다.
하여간. 이말은 끝났다는 의미로 쓰인다.

우리는 근무가 마치면 가까운 식당에서 국수를 먹곤 하였다.
임기를 마치다
일을 마쳤다.
행사를 마쳤다.
오늘 일 마쳤어?
주로 과겨형으로 쓰일듯하다.

하여간 맞쳤다. 아니고 마쳤다가 맞다.

이렇게 어법 이야기를 하는 이 글 중에도 분명 틀린 글이 있을거다. ㅜㅜ

날이 점점 차워져서  오전내내 마시던 커피가 너무 빨리 식어 버린다.
그래서 USB로 발열되는 컵 보온해주는 제품도 사용해 봤지만. 성능은 그다지였다.
그래서 한번 만들어 볼려고 시도 했다.
뭐.. 결론을 먼저 이야기 하자면...
효과는 괜찮다. 스위치가 없어서 불편하고... 열선이 너무 위쪽에 배치되어서
아래쪽까지 다 따뜻해지지 않는 단점이 있긴한다.. 나름 쓸만하다. 이게 결론이다. ㅎㅎ
재료를 소개한다.
원래의 용도는 수도의 동파를 방지하기 위해서 나온 열선이다..
이놈이 재료가 된 결정적인 이~~유! 싸다~ ㅋㅋ
옥션에서 1m에 1700원이었던거 같다. 그리고 온도도 적당하다 60도 이상으로는 올라가지 않는다.
그리고 소비 전력은 10w이고... 스위치가 있으면 좋겠지만 그런건 없다. 멀티콘센트에 있는 스위치를 쓰면 되겠지?

두번째 재료는 플라스틱 사탕통이다. 이놈을 자르면 컵을 보호하기 딱 좋은 크기가 되는것 같았다.

잘랐더니.. 정말 딱 사이즈였다.ㅋㅋㅋ

여기서부터가 비법(?)인데.. 열선을 잘 고정시킨다..
앞에서 결론부에 이야기 했듯이 열선이 좀더 아래로 갔어야 했다. ㅜㅜ
사탕통이 구멍이 잘 났다. 대충 뚤고 빵끈에 있는 철심을 뽑아서 고정했다.
조심해야 겠지? 이거 잘못하면 피복 파고들어서 자칫 합선될수도 있다.  ㅡㅡ

나름 열을 퍼트리고 온도를 고루 유지 시켜 볼까 하고 알루미늄 호일을 감쌌다.. ^^;
나 똑똑 한가? ㅋㅋ

하지만 역시 문제는 제품의 디자인이다. ㅜㅜ
제품의 완성은 디자인일텐데... 이렇게 값싸고 효율좋게 만들면 뭐하나..
이렇게 제품 디자인이 별로니... ㅜㅜ

하지만 성능은 괜찮다는거... ㅋㅋ

http://www.dogaespa.com/info/map.asp
사용자 삽입 이미지

궁전 라벤더는
http://www.goongjeon.com/main.cgi?board=gnj_3
공개된 글이면 올리겠는데..
그래도 로그인한 회원에게만 주는거라.. 링크만..