본문 바로가기

old drawer

[GoodToRead] 다독임 소주 한잔 했다고 하는 얘기가 아닐세 울지말게 다들 그렇게 살아가고 있어 ... 날마다 어둠 아래 누워 뒤척이다 아침이오면 개똥 같은 희망 하나 가슴에 품고 다시 문을 나서지 바람이 차다고 고단한 잠에서 아직 깨지 않았다고 집으로 되돌아오는 사람이 있을까 산다는건 참 만만치 않은 거라네 아차 하는 사이에 몸도 마음도 망가지기 십상이지 화투판 끗발처럼 어쩌다 좋은 날도 있긴 하겠지만 그거야 그때 뿐이지 어느 날 큰 비가 올지 그비에 뭐가 무너지고 뭐가 떠내려 갈지 누가 알겠나 그래도 세상은 꿈꾸는 이들의 것이지 개똥 같은 희망이라도 하나 품고 사는건 행복한거야 아무것도 기다리지 않고 사는 삶은 얼마나 불쌍한가 자, 한잔 들게나 되는게 없다고 이놈의 세상 내편이 하나도 없다고 술에 코박고 우는 친구야 더보기
[GoodToRead] 고백 내 배게에서 니 샴푸냄새가 나고, 내 이불에서 니가 바르는 바디로션 냄새가 나고, 내 몸에 니 체취가 묻어있었으면 좋겠어. 매일매일. ...니가 쓰는 숟가락과 내가 쓰는 숟가락이 어떤 거든 상관없게 뒤섞여 버리고, 같은 반찬 접시 안에서 젓가락이 부딪혔으면 좋겠어. 세탁기 안엔 같이 속옷이 들어가고, 니가 쓰는 칫솔을 실수로 쓰고 당황하고 싶어. 니가 얼마나 짜게 먹는지, 얼마나 싱겁게 먹는지를 알고 싶어 그래서 어느 날, 우리 둘다 같은 입맛이 되어 있었으면 좋겠어. 마감 뉴스를 함께 본 뒤 리모콘이 어디로 사라졌는지 같이 거실을 돌아다니고 새벽 3시에 문득 보고 싶을 때, 자고 있는 너를 안기만 하면 되는 거면 좋겠어. 니 향수가 얼마나 남았는지, 니 자켓을 세탁소에 가져다 주려면 몇 번을 더 입어야.. 더보기
[MFC] AfxMessageBox() int AfxMessageBox(LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0); MessageBox와는 달리 제목을 넣는 부분은 사라졌습니다. Example) AfxMessageBox(“메시지 박스 테스트”, MB_OK | MB_ICONEXCLAMATION); nType은 다음 중에서 각각 하나씩 조합해서 사용할 수 있습니다. 버튼 스타일 의미 MB_ABORTRETRYIGNORE [취소], [재시도], [무시] MB_OK [확인] MB_OKCANCEL [확인], [취소] MB_RETRYCANCEL [재시도], [취소] MB_YESNO [예], [아니오] MB_YESNOCANCEL [예], [아니오], [취소] 아이콘 스타일 의미 MB_ICONEXCLA.. 더보기
[MFC] CCombobox 이벤트 처리 . 콤보 박스의 화살표를 클릭하면 박스의 테두리가 나온다. 2. 테두리를 밑으로 잡아 당겨 늘리면 더 많은 리스트를 추가할때 밑에 부분까지 볼수 있다. ================================================================================== [콤보박스 함수] ▷ CComboBox::AddString - 스트링을 더함. ▷ CComboBox::CComboBox - ComboBox 오브젝트를 생성(구성). ▷ CComboBox::Clear -현재 선택을 지움. ▷ CComboBox::CompareItem - 새로운 리스트 항목의 상태적 위치를 결정. ▷ CComboBox::Copy - 현재 선택을 Copy. ▷ CComboBox::Create - C.. 더보기
[C++]ifstream, ofstream 개선 // ex) COutFile outFile; outFile.open ( "abc/dd/ee.txt" ); 만약, abc/dd폴더가 없으면 만들고 나서 ee.txt를 만든다. #ifndef WIZFILESTREAM_H_INCLUDED #define WIZFILESTREAM_H_INCLUDED // #include #include #include // for CreateDirectory using namespace std; void MakeFolder( const string fileName ) { for( int i=1; i < fileName.length(); i++ ) { if( fileName[i] == '\\' || fileName[i] == '/' ) // { string subStr = file.. 더보기
[C++] 프로그래밍 파일 입출력(ofstream/ifstream) C++ 프로그래밍 파일 입출력(ofstream/ifstream) C++에서 파일 입출력 하는 방법이다. C 에서는 주로 FILE을 이용해서 파일 입출력을 하지만, C++에서는 fstream의 ofstream 과 ifstream 클래스를 이용하면 쉽게 구현이 가능하다. 사용방법 파일 쓰기 ofstream 객체명("파일명"); 파일 읽기 ifstream 객체명("파일명"); 또는 ifstream 객체명 객체명.open("파일명"); or 객체명.open("파일명" , open모드|open모드); open 모드 열거형 상수 ios::in 읽기만 가능한 형태로 파일 오픈 ios::ate 파일을 오픈하면서 파일포인터를 끝부분으로 옮김 ios::app 출력하는 데이터가 항상 파일의 끝에 기록 ios::trunc 오.. 더보기
[MFC] 다이얼로그 내부 Formview 생성하기 Dialog를 생성해서 내부의 화면만 계속 바꾸고 싶을 때가 있습니다. 예를 들자면 Visual Studio에서 제공하는 환경설정 메뉴같은 경우입니다. 좌측의 트리 메뉴를 선택하면 우측의 메뉴가 변경되는 것을 볼 수 있습니다. 유사한 화면을 갖는다면 굳이 새로운 화면을 만들 필요는 없습니다. 컨텐츠만 바꿔주면 되기 때문입니다. 하지만 전혀 다른 화면을 가져야 한다면, FormView를 쓰는 방법을 고려해볼 수 있습니다. FormView는 Dialog와 같이 컨트롤들을 올려서 사용할 수 있는 View 입니다. Dialog에 FormView를 올리고 다른 FormView로 교체하는 방법을 사용하면 마치 Dialog가 화면을 갱신하는 듯한 효과를 줄 수 있습니다. 일단 프로젝트를 하나 생성합니다.(이름은 Su.. 더보기
[MFC] SDI 메뉴(MENU) 없애기 MFC에서 메뉴 없애기 BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if( !CFrameWnd::PreCreateWindow(cs) ) return FALSE; // TODO: CREATESTRUCT cs를 수정하여 여기에서 // Window 클래스 또는 스타일을 수정합니다. cs.style = WS_POPUP // WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE ; cs.x = 20; // 윈도우의 시작 위치 cs.y = 30; cs.cx = 100; // 윈도우의 크기 설정 cs.cy = 200; if (cs.hMenu!=NULL) { // 메뉴 없애기 ::DestroyMenu(cs.hMenu); // delete men.. 더보기
[C] strtok함수를 이용한 문자열 자르기[펌] 1. 함수의 원형 char *strtok(char *strToken, const char *strDelimit); 2. 함수의 기능 strToken 변수에 문자열의 주소가 명시되면 해당 문자열의 처음 위치에 존재하는 토큰(token)을 찾아서 해당 주소를 반환하고, strToken에 NULL이 명시되면 토큰 찾기가 진행중이라는 뜻이고 현재 진행상태에서 다음에 해당하는 토큰을 찾아서 그 주소를 반환한다. 3. 함수의 매개변수에 대한 설명 3.1 strToken 한개 이상의 토큰을 포함하고 있는 문자열의 시작 주소를 명시한다. 만약, 이미 호출한 문자열에서 다음 위치에 해당 하는 토큰을 찾는 경우, NULL로 명시한다. 3.2 strDelimit 구분문자(delimiter)들로 구성된 문자열의 시작 주소를 .. 더보기
[ETC] 빈손으로 가는 인 *** 빈손으로 가는 인생 *** 갓 태어난 인간은 손을 꽉 부르쥐고 있지만 죽을 때는 펴고 있습니다. ... 태어나는 인간은 이 세상의 모든 걸 움켜잡으려 하기 때문이고 죽을 때는 모든 것을 버리고 아무 것도 지니지 않은 채 떠난다는 의미라고 합니다. 빈손으로 태어나 빈손으로 돌아가는 우리 인생. 어차피 모든 걸 다 버리고 떠날 삶이라면 베푸는 삶이 되면 얼마나 좋겠습니까? 당신이 태어났을 때 당신 혼자만이 울고 있었고 당신 주위의 모든 사람들은 미소 짓고 있었습니다. 당신이 이 세상을 떠날 때는 당신 혼자만이 미소 짓고 당신 주위의 모든 사람들은 울도록 그런 인생을 사세요. 시간의 아침은 오늘을 밝히지만 마음의 아침은 내일을 밝힙니다. 열광하는 삶보다 한결같은 삶이 더 아름답습니다. 돕는다는 것은 우.. 더보기
[MFC]다이얼로그 한쪽 사이즈만 조절 가능하게 하기 SDI 프로젝트에 다이얼로그 속성을 Child, Resizing 로 넣었습니다. 리사이징 속성을 주면 다이얼로그 왼쪽, 위, 오른쪽, 아래 에서 마우스로 다이얼로그 사이즈 조절이 가능한데 아래 부분만 마우스로 사이즈 조절이 가능하도록 하려면 WM_NCHITTEST 추가후... LRESULT CMyDlg::OnNcHitTest(CPoint point) { LRESULT lRes = CDialog::OnNcHitTest(point); switch(lRes) { case HTLEFT : case HTRIGHT : case HTTOP : case HTTOPLEFT : case HTTOPRIGHT : // case HTBOTTOM : case HTBOTTOMLEFT : case HTBOTTOMRIGHT : lRe.. 더보기
[MFC]윈도우 리사이즈시 컨트롤 사이즈 리사이즈 //Init void Dlg_Mesh_Object::OnInitialUpdate() { CFormView::OnInitialUpdate(); RECT rt; GetClientRect( &rt ); RECT Anirt; m_List_Ctrl_Obj_Ani_List.GetClientRect(&Anirt); //비율을 계산해둠. m_fAni_List_W_Ratio = (float)((float)Anirt.right / (float)rt.right); m_fAni_List_H_Ratio = (float)((float)Anirt.bottom / (float)rt.bottom); m_bInit = true; } //Size void Dlg::OnSize(UINT nType, int cx, int cy) { CFor.. 더보기
[MFC] 다이얼로그 사이즈 조절 관련 함수들 다이얼로그를 이용한 작업 도중에 생긴 답답했던 내용들을 정리합니다. * 미션: 다이얼로그를 처음 띄울때 화면의 최대화 사이즈로 키우기. *어디를 수정해야 할까? 1)첫시도: mfc의 리소스의 dialog의 속성을 수정하여 해결하려 하였으나 못찾음 ㅠ.ㅠ 2)Dialog를 생성하고 DoModal을 실행하기 이전에 코드를 수정해 보기 : 실행시 죽어버림 ㅠ.ㅠ 3)dialog의 OnInitDialog에서 설정함 -> 처리됨 * 어떻게 수정했을까? 먼저 윈도우 조절 관련 함수들을 찾아보니. ModifyStyle SetWindowPos MoveWindow 등으로 조절할 수 있다. (자세한 내용은 MSDN참조) 그리고 좌표를 불러오는 함수들에는 GetWindowRect() : 윈도우 좌표불러오기 GetSystem.. 더보기
[MFC] 다이얼로그에 CView 동적 생성 다이얼로그에 CView에서 상속받은 클래스를 붙이려면 먼저 CFrameWnd에 CView를 붙이고 그 CFrameWnd를 다이얼로그에 붙이면 가능합니다. CView 같은경우는 독립적으로 윈도우를 구성하기 보다는 CFrameWnd의 차일드 윈도우로 사용될 목적으로 만든어진 클래스이기 때문에 Frame에 안붙일경우 문제가 많습니다. 개인적인 생각으로는 특별히 CView을 사용해야할 이유가 없다면 CWnd에서 바로 상속받은 클래스를 다이얼로그에 붙이는것이 좋지 않을까 합니다. CFrameWnd m_wndFrame; CView *pView; if(m_wndFrame.m_hWnd) m_wndFrame.DestroyWindow(); CRect rectClient; GetClientRect(rectClient); m.. 더보기
[MFC] 버튼의 동적생성 [질문 내용] mfc위자드로 CView로 상속받은 (SDI)프로젝트를 생성했습니다. 그리고 뷰에 1행에 동적으로 버튼을 행맞춰서 만들고 싶은데, 아무리 생각해도 모르겠군요. 동적으로 말입니다. 4개든 10개든.... 그리고 각 버튼을 눌렀을때 메시지박스가 나와 "현재버튼은 1입니다." 같이 나왔으면 합니다. 다시말해 이벤트 핸들러도 동적으로 만들어야 합니다. 너무나 어려워 질문드립니다. [답변 내용] 안녕하세요~! 먼저 동적으로 버튼을 5개 생성시킨다고 가정하고 해더파일에 #define MAX_BUTTON_COUNT 5 라고 먼저 정의하고, 버튼을 동적으로 만들어서 사용해야하니까 동적으로 생성된 버튼을 관리할 변수를 선언해야겠죠? 클래스 선언부에 말이죠!! private: CButton *mp_test_.. 더보기
[MFC] 다이얼로그 동적 생성 다이얼로그 동적 생성은 쉽다. 알고보니 말이다. 1. 우선 프로젝트 리소스에 다이얼로그를 추가한다. 2. 해당 다이얼로그에 대해 클래스를 추가 및 연결한다. 3. 원하는 위치에 다음과 같은 소스를 추가한다. ==> 상황 : 메인프로그램에서 버튼 클릭이 발생한 경우, 다이얼로그 동적 생성 위에서 미리 만들어둔 다이얼로그 클래스가 이름이 MyDlg, 다이얼로그 ID가 IDD_MYDIALOG라고 했을 때, 1. 에 #include "MyDlg.h"를 추가 에 MyDlg *testDlg; //포인터 변수 추가 2. 파일에서 생성자에 초기화 ex) CMainFrame::CMainFrame(){ testDlg = NULL; //초기화.. 안해줘도 뭐;; } 3. 파일의 버튼클릭에 관한 해당 이벤트 함수 안에서 ex.. 더보기
[MFC] CEdit 입력 제어 오늘은 제목과 같이 CEdit에 대해서 알아보도록 하겠습니다. 입력 받는 창을 Edit입니다. 사용자에 입력을 받거나 원하는값을 넣어 주는것이 바로 Edit담당입니다. 백문이 불여 일견이라 ;; 한번 직접 해보시는것이 더 빠르게 오실듯 싶습니다. 1. 파일 -> 새 프로젝트 -> MFC 응용프로그램 선택 -> 이름을 정하신후 확인 2. 응용프로그램 종류에서 -> 단일 문서 (SDI)를 선택후 -> 마침을 클릭하시기 바랍니다. 모든 컨트룰 에 기본적인 함수가 Create()입니다. 이것은 컨트룰를 생성하는 기본중 기본함수로 어떤 형식인지 보도록 하겠습니다. virtual BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); .. 더보기
[MFC] SetWindowPos() 윈도우 위치 및 크기 등의 변경 SetWindowPos(HWND hWnd, int X, int Y, int cx, int cy, UINT uFlags); ▶ hWnd : 이동 대상 윈도우의 핸들 ▶ X,Y : 윈도우의 새로운 좌상단 좌표를 지정한다. 픽셀 단위이다. ▶ cx, cy : 윈도우의 새로운 폭과 높이를 지정한다. 픽셀 단위이다. ▶ uFlags : 위치와 크기 변경에 대한 여러 가지 옵션들이며 플래그들을 조합하여 지정할 수 있다. SWP_ASYNCWINDOWPOS 이 함수를 부른 스레드와 윈도우를 소유한 스레드가 다른 입력 큐를 사용할 경우 시스템은 윈도우를 소유한 스레드에게 요구를 포스팅하기만 한다. 이는 호출 스레드가 다른 스레드가 요구를 처리하는 동안 블럭되는 것을 방지한다. SWP_DEFERERASE WM_SYNCPA.. 더보기
[MFC] CString <-> char* / int CString => char* 변환 char * ch; CString *str; 1) ch = (LPSTR)(LPCSTR)str; 2) ch = str.GetBuffer(str.GetLength()); 3) wsprintf( ch, "%s", str); char* => CString 변환 1) str = (LPCSTR)(LPSTR)ch; 2) str = ch; CString => int 변환 int a; CString strTest = _T("abc"); a = _ttoi(strTest); 문자열에서 숫자만 추출하기 CString str = _T("abc123def456"); CString strNumber(_T("")); for(int i = 0; i < str.GetLength(); i++){ cha.. 더보기
[Java] String -> int /// int -> String String : 문자열 ["123"] int : 숫자 [ 123 ] 입니다. 그런데 String을 int로 바꾸려고 합니다. 뭐 간단하죠~ String str = "123"; //string "123"선언 System.out.println((int)str); //"123"을 123으로 바꾼다. !!! 그런데 오류가 납니다. System.out.println((int)str); 왜 오류가 날까요? 메모리 차이때문입니다. 메모리 차이때문에 손실이 발생할수 있기때문이죠.(자세한건 네이버ㅋ) String 은 (문자수)byte String = char[] char = 1byte String 1*문자수 = 문자수 정확하지 않을수있습니다. 아시는분은 댓글로.. int 는 4byte 그럼 어떻게 할까요? System... 더보기
[MFC] CEdit Styles Edit Styles Visual Studio 2010 http://msdn.microsoft.com/ko-kr/library/6e36b89f(v=vs.100).aspx ES_AUTOHSCROLL Automatically scrolls text to the right by 10 characters when the user types a character at the end of the line. When the user presses the ENTER key, the control scrolls all text back to position 0. ES_AUTOVSCROLL Automatically scrolls text up one page when the user presses ENTER on the .. 더보기
[MFC] GetDlgItem() CWnd::GetDlgItem 1. 함수의 원형 CWnd *GetDlgItem(int nID) const; 2. 함수의 기능 이 함수는 일반적으로 대화상자에 생성된 컨트롤의 주소를 얻는데 사용됩니다. 왜냐하면, 대화상자는 대부분 리소스 편집기를 이용해서 사용할 컨트롤을 편집하고 DoModal 함수를 사용하여 컨트롤을 편집하고 DoModal 함수를 사용하여 대화상자가 생성되는 시점에, CDialog 클래스가 리소스 파일을 참조하여 컨트롤을 생성하기 때문에 기본적으로 대화상자 위에 생성된 컨트롤의 주소를 알 수가 없습니다. 프로그래머는 기본적으로 리소스 편집기에서 편집할 때 사용한 컨트롤의 번호만을 알고 있기 때문에 이 컨토를 번호를 이용하여 해당 컨트롤의 주소를 얻을 때, 이 함수를 사용합니다. 3. 함수.. 더보기
[MFC] 특정 영역 속에 마우스 클릭시 이벤트 발생법 탭컨트롤 상단에 오른쪽 마우스를 이용하여 어떤 탭을 클릭했는지 출력하도록 구성한다면 아래와 같이 작성할수 있습니다. 제가 링크해드린 예제에서처럼 CTabCtrl에서 계승 받은 클래스에 WM_RBUTTONUP 메시지를 등록하시고 아래와 같은 코드를 추가하세요 ^^;; WM_LBUTTONDOWN 메시지 핸들러에서 다음과 같은 처리를 해줍니다... CRect rt; // 픽쳐 컨트롤의 사각형 영역 조사 // 픽쳐 컨트롤의 사각형 좌표를 구함 // GetClientRect 는 크기를 구하니 GetWindowRect 이용... ((CStatic*)GetDlgItem(IDC_STATIC_PIC))->GetWindowRect(&rt); // GetWindowRect 로 얻은 좌표는 스크린 좌표(물리적) 이니 이를 /.. 더보기
[MFC] SDI 환경에서 이벤트 처리 OnCommand() 뷰 클레스에서 작업할때, 짜증나는게 어떤 마우스 이벤트나, 키 이벤트를 처리하는데, 수많은 마우스 이벤트에 대해서 처리하다 보면 뷰클레스의 크기가 커지고, 뷰클레스에서 작업하다 보니깐, 다른 클레스에 접근하는게 쉽지 않아서, 객체들간이 메시지 주고 받는게 적어지고, 거의 뷰클레스 위주로 짜여지는 악순환이 생기게 된다. 즉 뷰클레스에서 일어나는 이벤트는 뷰클레스에 추가할 수 밖에 없는 현실... 나도 한참 뒤에 알았는데 좋은 방법이 있다. 바로 메인프레임에서 이벤트를 건드는 것이다. 메인프레임에서는 AfxGetMainWnd() 함수를 통해서 다른 클레스 객체에 접근이 쉽기때문이다. 초록색으로 표시한 부분은, 일반적인 이벤트 핸들러 추가로 생성한 코드고 빨간색은 메인프레임의 OnCommand를 오버라이드 한.. 더보기
[MFC] SDI 환경에서 버튼의 동적 생성과 메시지를 처리하는 방법 [질문 내용] mfc위자드로 CView로 상속받은 (SDI)프로젝트를 생성했습니다. 그리고 뷰에 1행에 동적으로 버튼을 행맞춰서 만들고 싶은데, 아무리 생각해도 모르겠군요. 동적으로 말입니다. 4개든 10개든.... 그리고 각 버튼을 눌렀을때 메시지박스가 나와 "현재버튼은 1입니다." 같이 나왔으면 합니다. 다시말해 이벤트 핸들러도 동적으로 만들어야 합니다. 너무나 어려워 질문드립니다. [답변 내용] 안녕하세요~! 먼저 동적으로 버튼을 5개 생성시킨다고 가정하고 해더파일에 #define MAX_BUTTON_COUNT 5 라고 먼저 정의하고, 버튼을 동적으로 만들어서 사용해야하니까 동적으로 생성된 버튼을 관리할 변수를 선언해야겠죠? 클래스 선언부에 말이죠!! private: CButton *mp_test_.. 더보기
[MFC] 컨트롤 동적 생성 이것저것 하다보면 컨트롤들을 동적으로 생성해야하는 경우가 있을 수 있다. 그런 경우는 다음 순서로 행하면 된다. 1. xxxxDlg.h 파일에 원하는 컨트롤의 변수를 선언한다. 2. 원하는 위치(특정 이벤트 발생에 대한 처리 부분)에서 Create() 3. Resource.h에 ID를 설정 그럼 위의 순서에 따라서 버튼을 눌렀을 때 달력이 동적으로 생성되로록 해보겠다. 더보기
[MFC] 버튼에 이미지 넣기 MFC 버튼에 이미지를 넣는 예제 입니다. 소스는 테스트 용이라 공개하지 않고요 (캡쳐만 뜨고 지워버린;) 초보자분도 이대로 따라만 하시면 충분히 할 수 있을 거라 생각합니다. Ctrl + Shift + E 를 누르시면 다음과 같은 리소스 뷰가 나타난다. dialog 에 가면 IDD_DIALOG 이라는 친구가 있는데 야를 더블클릭하면 이런 창을 만날수 있슴. 여기서 도구상자에 가서 Button을 생성해준다. 그냥 드레그로 다가 살짝 끌어당겨 줌 만들어 진다. 그럼 이러한 버튼이 생성된다. 버튼을 누르고 오른쪽 버튼을 눌러주면 이러한창이 나타나고 [변수추가]라는 버튼을 살며시 눌러준다. 그럼 이러한 창이 나타나고 여기서 중요한게 두가지가 있다. 1. 변수 형식을 꼭 CBitmapButton 2. 변수 이름.. 더보기
[MFC] CWnd 유용한 매소드들 - GetParent()/SetParent() - GetStyle()/ModifyStyle() - 추후 계속 업데이트 예정 더보기
[MFC] GetStyle(), ModifyStyle()을 사용한 윈도우 스타일 변경 // GetStyle함수로 현재 적용된 스타일을 알아낼 수 있으며, // ModifyStyle함수로 특정 스타일을 추가 또는 제거할 수 있습니다. ^^ // (SetStyle함수나 DeleteStyle함수가 없고, 대신 ModifyStyle함수가 있는 겁니다.) DWORD GetStyle( ) const; 리턴값 : 윈도우의 스타일, 해당 스타일을 AND마스크연산으로 구할 수 있다. BOOL ModifyStyle( DWORD dwRemove, DWORD dwAdd, UINT nFlags = 0 ); dwRemove 에는 제거하고 싶은 스타일들을 비트연산자 중 OR(|)연산자로 여러개 묶어서 넣을 수 있으며, dwAdd에는 .. 더보기
[Network] IP 주소, 컴퓨터 네트워크의 전화번호 IP 주소란 무엇인가 편지는 받는 사람의 주소를 토대로 정확하게 배송된다. 이메일도 마찬가지로, 이메일 주소가 있어야 원하는 내용을 원하는 사용자에게 보낼 수 있다. 컴퓨터 네트워크에서 IP(Internet Protocol) 주소는 전 세계 컴퓨터에 부여된 고유의 식별 주소다. 기본적으로 네트워크(인터넷 등)에 연결된 모든 컴퓨터(또는 네트워크 기기)는 중복되지 않는 IP 주소를 가지고 있어야 한다. 그래야 상호 충돌 없이 네트워크에 연결될 수 있기 때문이다. 따라서 IP 주소는 컴퓨터끼리 서로 통신하기 위한 '전화번호'라 생각하면 이해가 쉽다. 참고로 IP 주소는 각 나라의 공인기관에서 할당/관리하는데, 우리나라의 경우 한국인터넷진흥원(www.krnic.or.kr)이 담당하고 있다. IP 주소의 기본 .. 더보기