E D R , A S I H C RSS

Full text search for "IN"

IN


Search BackLinks only
Display context of search results
Case-sensitive searching
  • MFC/MessageMap . . . . 104 matches
          * 사용 예 : 어떤 클래스가 view 클래스의 멤버 변수이다. 해당 클래스는 파일을 다운로드 받는 클래스인데 해당 클래스에서 다운로드가 끝났을 경우 view에 있는 serialize 함수를 실행해야 한다. 허나 현재 view클래스가 그 해당 클래스를 멤버로 가지고 있기에 include 로 해당 클래스에서 view 클래스를 포함할 수도 없고, 또 view 클래스의 현재 실행되는 객체를 얻을 방법도 마땅히 없다. 이때 해당 클래스에서 다운로드가 끝난 시점에서 다운로드가 끝났다는 메시지를 발생시켜서 view에 있는 serialize 함수를 실행시킬 수 있다. 이게 바로 사용자 정의 메시지 발생을 이용한 사례..
         #define UM_ACCEPTCLIENT (WM_USER+10) // 사용자 정의 메시지를 정의 한다.
         begin Message map
         in ''application_name.h''
         class CEx14App : public CWinApp
          virtual BOOL InitInstance();
          // DO NOT EDIT what you see in these blocks of generated code !
         in ''application_name.cpp''
         BEGIN_MESSAGE_MAP(CEx14App, CWinApp)
          // NOTE - the ClassWizard will add and remove mapping macros here.
          // DO NOT EDIT what you see in these blocks of generated code!
          ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
          ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
          // Standard print setup command
          ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
          클래스의 정의 부분에 DECLARE_MESSAGE_MAP()을 포함했다면 그 클래스의 구현 부분에는 반드시 BEGIN_MESSAGE_MAP(), END_MESSAGE_MAP()매크로가 반드시 추가되어야 한다. 이 부분에서는 WM_COMMAND 형태를 갖는 메시지 만을 처리하고 있다.
         in ''CAboutDlg implementation''
          //{{AFX_DATA_INIT(CAboutDlg)
          //}}AFX_DATA_INIT
         BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
  • DNS와BIND . . . . 78 matches
         서버관리자가 DNS와 BIND에 대해 공부한 내용
         책 - DNS와 BIND, Paul Albitz & Cricket Liu, 이성희 역, 한빛미디어
         = 4. BIND 셋업하기 =
         192.249.249.3 terminator.movie.edu terminator bigt
         192.253.253.3 shining.movie.edu shining
         robocop terminator diehard
         misery shining carrie
          호스트->주소 맵핑하는 파일 - db.DOMAIN
          네임서버환경설정파일 - /etc/named.conf (BIND 버전 8)
          => (책에는 BIND 버전 4와 BIND 버전 8 모두 설명하고 있는데 버전 8만 정리하겠음)
          리소스 레코드들의 (일반적)순서 - SOA(start of authority) 레코드, NS(name server) 레코드, 기타 레코드, A(address), PTR(pointer), CNAME(canonical name)
         movie.edu. IN SOA terminator.movie.edu. al.robocop.movie.edu. (
          terminator.movie.edu => 주 마스터 네임 서버의 이름
         movie.edu. IN SOA terminator.movie.edu. al.robocop.movie.edu. (
         movie.edu. IN NS terminator.movie.edu.
         movie.edu. IN NS wormhole.movie.edu.
         localhost.movie.edu. IN A 127.0.0.1
         robocop.movie.edu. IN A 192.249.249.2
         terminator.movie.edu. IN A 192.249.249.3
         diehard.movie.edu. IN A 192.249.249.4
  • InvestMulti - 09.22 . . . . 68 matches
         nations={'KOREA':0 ,'JAPAN':700 , 'CHINA':300, 'INDIA':100}
         items={'INT':400 , 'DOUBLE':800}
          print '*'*25
          print '1. Current Nation states '
          print '2. My business '
          print '3. Move to another Nation '
          print '4. Invest to this Nation '
          print '5. View Ranking '
          print '6. Earn Money '
          print '*'*25
          print '*'*10
          print '1. JAPAN '
          print '2. CHINA '
          print '3. INDIA '
          print '*'*10
          select = input('Select Menu -->')
          user[t2] = 'CHINA'
          user[t2] = 'INDIA'
         def Invest():
          print 'Current Nation is : ',user[t2]
  • 그래픽스세미나/5주차 . . . . 67 matches
          PPT 파일: Upload:CGSeminar5.zip
          *MATERIAL_SHINE 0.2500
          *MATERIAL_SHINESTRENGTH 0.5000
          *MATERIAL_SHADING Blinn
          *MATERIAL_FALLOFF In
          *MATERIAL_SHINE 0.2500
          *MATERIAL_SHINESTRENGTH 0.0500
          *MATERIAL_SHADING Blinn
          *MATERIAL_FALLOFF In
          *INHERIT_POS 0 0 0
          *INHERIT_ROT 0 0 0
          *INHERIT_SCL 0 0 0
          *MESH_FACE 0: A: 0 B: 2 C: 3 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 2 *MESH_MTLID 1
          *MESH_FACE 1: A: 3 B: 1 C: 0 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 2 *MESH_MTLID 1
          *MESH_FACE 2: A: 4 B: 5 C: 7 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 3 *MESH_MTLID 0
          *MESH_FACE 3: A: 7 B: 6 C: 4 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 3 *MESH_MTLID 0
          *MESH_FACE 4: A: 0 B: 1 C: 5 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 4 *MESH_MTLID 4
          *MESH_FACE 5: A: 5 B: 4 C: 0 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 4 *MESH_MTLID 4
          *MESH_FACE 6: A: 1 B: 3 C: 7 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 5 *MESH_MTLID 3
          *MESH_FACE 7: A: 7 B: 5 C: 1 AB: 1 BC: 1 CA: 0 *MESH_SMOOTHING 5 *MESH_MTLID 3
  • VendingMachine/세연/1002 . . . . 55 matches
         void printMenu () {
         bool isEndMenu (int choice) {
          printMenu ();
          cin >> choice;
         bool isEndMenu (int choice) {
          MENU_INSERT_DRINK
          VendingMachine.GetMoney();
          VendingMachine.Buy();
          VendingMachine.TakeBackMoney();
          case MENU_INSERT_DRINK:
          VendingMachine.InsertDrink();
         bool isValidMenu (int choice) {
         bool isValidMenu (int choice) {
          return choice >= MENU_END && choice <= MENU_INSERT_DRINK;
          MENU_INSERT_DRINK,
          MENU_END = MENU_INSERT_DRINK
         bool isEndMenu (int choice) {
         bool isValidMenu (int choice) {
          VendingMachine.EndMachine();
          VendingMachine.PrintErrorMessage ();
  • DevelopmentinWindows/APIExample . . . . 44 matches
         #include <windows.h>
         #include "resource.h"
         HINSTANCE hInst;
         LPCSTR szWindowClass = "API Window Class";
         ATOM MyRegisterClass(HINSTANCE hInstance);
         BOOL InitInstance(HINSTANCE, int);
         LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
         LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
         int APIENTRY WinMain(HINSTANCE hInstance,
          HINSTANCE hPrevInstance,
          LPSTR lpCmdLine,
          int nCmdShow)
          MyRegisterClass(hInstance);
          if (!InitInstance (hInstance, nCmdShow))
         ATOM MyRegisterClass(HINSTANCE hInstance)
          wcex.hInstance = hInstance;
          wcex.lpszClassName = szWindowClass;
         BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
          hInst = hInstance;
          hWnd = CreateWindow(szWindowClass, "API", WS_OVERLAPPEDWINDOW,
  • 신기호/중대생rpg(ver1.0) . . . . 42 matches
          * Total lines of code: 760(스압 주의)
         #include <stdio.h>
         #include <string.h>
         #include <stdlib.h>
         #include <time.h>
         #include <io.h>
         #define MAX_STRING 100
         #define MAX_TOWN 5
         #define MAX_ENEMY 5
         #define MAX_ITEMS 40
         #define FILE_NAME "csave.dat"
          int base_hp;
          int hp;
          int max_hp;
          int att;
          int base_att;
          int def;
          int base_def;
          char name[MAX_STRING];
          int townNum;
  • 데블스캠프2006/목요일/winapi . . . . 37 matches
         #include <Windows.h>
         int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
          PSTR szCmdLine, int iCmdShow)
         = sample2. hello_win =
         #include <Windows.h>
         LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
         int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
          PSTR szCmdLine, int iCmdShow)
          static char szAppName[] = "HelloWin" ;
          wndclass.hInstance = hInstance ;
          hwnd = CreateWindow (szAppName, // window class name
          "The Hello Program", // window caption
          WS_OVERLAPPEDWINDOW, // window style
          CW_USEDEFAULT, // initial x position
          CW_USEDEFAULT, // initial y position
          CW_USEDEFAULT, // initial x size
          CW_USEDEFAULT, // initial y size
          NULL, // parent window handle
          NULL, // window menu handle
          hInstance, // program instance handle
  • NSIS/예제2 . . . . 32 matches
         InstallDir $PROGRAMFILES\Example2
         InstallDirRegKey HKLM SOFTWARE\NSIS_Example2 "Install_Dir"
         ComponentText "This will install the less simple example2 on your computer. Select which optional things you want installed."
         DirText "Choose a directory to install in to:"
          ; Set output path to the installation directory.
          SetOutPath $INSTDIR
          File "C:\winnt\notepad.exe"
          WriteRegStr HKLM SOFTWARE\NSIS_Example2 "Install_Dir" "$INSTDIR"
          ; 윈도우를 위한 Uninstall key를 레지스트리에 저장
          WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "DisplayName" "NSIS Example2 (remove only)"
          WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "UninstallString" '"$INSTDIR\uninstall.exe"'
          WriteUninstaller "uninstall.exe"
          CreateShortCut "$SMPROGRAMS\Example2\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
          CreateShortCut "$SMPROGRAMS\Example2\Example2 (notepad).lnk" "$INSTDIR\notepad.exe" "" "$INSTDIR\notepad.exe" 0
         InstallDir $PROGRAMFILES\Example2
         DirText "Choose a directory to install in to:"
          WriteRegStr HKLM SOFTWARE\NSIS_Example2 "Install_Dir" "$INSTDIR"
          ; 윈도우를 위한 Uninstall key를 레지스트리에 저장
          WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "DisplayName" "NSIS Example2 (remove only)"
          WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2" "UninstallString" '"$INSTDIR\uninstall.exe"'
  • EightQueenProblem/용쟁호투SQL . . . . 27 matches
         y int NULL,
         x1 int NULL,
         x2 int NULL,
         x3 int NULL,
         x4 int NULL,
         x5 int NULL,
         x6 int NULL,
         x7 int NULL,
         x8 int NULL,
         fx int NULL,
         fy int NULL)
          INSERT INTO temp_queen_attack VALUES(1,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(2,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(3,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(4,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(5,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(6,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(7,0,0,0,0,0,0,0,0,0,0)
          INSERT INTO temp_queen_attack VALUES(8,0,0,0,0,0,0,0,0,0,0)
         CREATE PROCEDURE p_check_attack @x int, @y int
  • NSIS/예제3 . . . . 27 matches
         [http://zeropage.org/~reset/zb/download.php?id=KDP_board_image&page=1&page_num=20&category=&sn=&ss=on&sc=on&keyword=&prev_no=&select_arrange=headnum&desc=&no=50&filenum=1 만들어진Installer] - 실행가능.
         ; define 상수.. 버전 표시용.
         !define VER_MAJOR 1
         !define VER_MINOR 0
         Caption "Tetris Install"
         BrandingText "ZeroPage Install v1.0"
         ; Installer 의 아이콘. 반드시 32 * 32 * 16 color 이여야 한다.
         WindowIcon on
         ; Install 버튼에 대한 text
         InstallButtonText "설치"
         InstallDir $PROGRAMFILES\zp_tetris
         ComponentText "Testing ver ${VER_MAJOR}.${VER_MINOR} 설치 합니다. 해당 컴포넌트를 골라주세요~"
         ; Install 관련 Type 의 셋팅
         InstType "Normal Install"
         InstType "Full Install"
         ;InstType /NOCUSTOM
         ;InstType /COMPONENTSONLYONCUSTOM
         AutoCloseWindow false
         ShowInstDetails show
         ShowUninstDetails show
  • 데블스캠프2009/목요일/연습문제/MFC/서민관 . . . . 26 matches
         #include "stdafx.h"
         #include "testMFC.h"
         #include "testMFCDlg.h"
         #define new DEBUG_NEW
          //{{AFX_DATA_INIT(CAboutDlg)
          //}}AFX_DATA_INIT
         BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
          //{{AFX_DATA_INIT(CTestMFCDlg)
          //}}AFX_DATA_INIT
          // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
          m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
         BEGIN_MESSAGE_MAP(CTestMFCDlg, CDialog)
         ON_WM_PAINT()
         BOOL CTestMFCDlg::OnInitDialog()
          CDialog::OnInitDialog();
          // IDM_ABOUTBOX must be in the system command range.
          CString strAboutMenu;
          strAboutMenu.LoadString(IDS_ABOUTBOX);
          pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
          // when the application's main window is not a dialog
  • LIB_4 . . . . 25 matches
         #if !defined(LIB_STACK_CPP)
         #define LIB_STACK_CPP
         void LIB_STACK_INIT (void (*task)(void),INT16U * Stack)
          *Stack-- = (INT16U)FP_SEG(task);
          *Stack-- = (INT16U)FP_OFF(task);
          *Stack-- = (INT16U)0x0202; // Flag Register
          *Stack-- = (INT16U)FP_SEG(task);
          *Stack-- = (INT16U)FP_OFF(task);
          *Stack-- = (INT16U)0xAAAA;// AX
          *Stack-- = (INT16U)0xBBBB;// BX
          *Stack-- = (INT16U)0xCCCC;// CX
          *Stack-- = (INT16U)0xDDDD;// DX
          *Stack-- = (INT16U)0xEEEE;// ES
          *Stack-- = (INT16U)0x0000;// SI
          *Stack-- = (INT16U)0x0000;// DI
          *Stack-- = (INT16U)0xFFFF;// BP
         INT16U LIB_STACK_SIZE (INT16U *Stack)
          int size = 0;
          for (int i = 0 ; i<256 ; i ++){
         #if !defined(LIB_STRU)
  • CivaProject . . . . 24 matches
         #ifndef CIVA_CIVADEF_INCLUDED
         #define CIVA_CIVADEF_INCLUDED
         #include <boost/smart_ptr.hpp>
         using boost::shared_ptr;
         using boost::shared_ptr;
         //#define Array_Handle(ElementType) boost::shared_ptr< civa::lang::Array<ElementType> >
         class String;
         typedef shared_ptr<String> String_Handle;
         #endif // CIVA_CIVADEF_INCLUDED
         #ifndef CIVA_IO_SERIALIZABLE_INCLUDED
         #define CIVA_IO_SERIALIZABLE_INCLUDED
         #include "../lang/Object.h"
         #endif // CIVA_IO_SERIALIZABLE_INCLUDED
         #ifndef CIVA_LANG_ARRAY_INCLUDED
         #define CIVA_LANG_ARRAY_INCLUDED
         #include "Object.h"
          int length;
          Array(int length) throw() : length(length) {
          for (index = 0; index < length; index++) {
          values[index] = newValuse[index];
  • UnixSocketProgrammingAndWindowsImplementation . . . . 24 matches
         페이지의 컨텐츠를 보아하니, 따로 페이지를 뽑아내도 될것 같아 [문서구조조정] 하였습니다. 원래 페이지 이름은 '''데블스캠프2005/Socket Programming in Unix/Windows Implementation'''였습니다. - [임인택]
         주제 : Socket Programming의 기초적인 부분을 알아본다.
         #include <sys/types.h>
         #include <sys/socket.h>
         int socket(int domain, int type, int protocol);
         === domain: ===
         PF_INET : 인터넷 프로토콜 체계 사용
         PF_INET6 IPv6 : 프로토콜 체계 사용
         PF대신 AF를 사용해도 무방. (ex. PF_INET -> AF_INET)
         main(){
         int sockfd;
          sockfd = socket(AF_INET, SOCK_STREAM, 0);
          fprintf(stderr, "socket 함수에서 에러"), exit(1);
         struct sockaddr_in {
         short sin_family; // 주소 체계를 나타낸다.
         u_short sin_port; // port 번호
         struct in_addr sin_addr; // ip 주소
         char sin_zero[8]; // 쓰지 않는 주소
          ※ 왜 sockaddr과 sockaddr_in의 structure가 같을까?
         === sin_family: // 주소체계 ===
  • SolarSystem/상협 . . . . 22 matches
         #include <windows.h>
         #include <gl\gl.h>
         #include <gl\glu.h>
         #include <gl\glaux.h>
         #include <stdio.h>
         #include <cmath>
         HINSTANCE hInstance;
         LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
          // Calculate The Aspect Ratio Of The Window
         int InitGL(GLvoid)
          glEnable(GL_LIGHTING);
          glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
         void CorrectOfCoordinate(float distance,float x,float y, float z)
          float cosin = x/absolute;
          float sin = y/absolute;
          glTranslatef(-distance*cosin*cosin,-distance*sin*cosin,0.0f);
         int DrawGLScene(GLvoid)
          gluQuadricDrawStyle(obj,GLU_LINE);
          gluCylinder(obj,1.0f,1.0f,0.1,24,24);
          CorrectOfCoordinate(distance2,1.0f,1.0f,0.0f);
  • DirectDraw/Example . . . . 21 matches
         // SimpleDX.cpp : Defines the entry point for the application.
         #include "stdafx.h"
         #include "resource.h"
         #include <ddraw.h>
         #include <ddutil.h>
         #include <dxutil.h>
         #define MAX_LOADSTRING 100
         int x = 100;
         int y = 100;
         HINSTANCE hInst; // current instance
         TCHAR szTitle[MAX_LOADSTRING]; // The title bar text
         TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text
         // Foward declarations of functions included in this code module:
         ATOM MyRegisterClass(HINSTANCE hInstance);
         BOOL InitInstance(HINSTANCE, int);
         LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
         LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM);
         int APIENTRY WinMain(HINSTANCE hInstance,
          HINSTANCE hPrevInstance,
          LPSTR lpCmdLine,
  • ProjectSemiPhotoshop/SpikeSolution . . . . 20 matches
          BOOL InitDIB(BOOL bCreatePalette = TRUE);
          int GetBitCount();
          int GetHeight() {return m_Size.cy;}
          int GetWidth() {return m_Size.cx;}
          int GetRealWidth() {return WIDTHBYTES((GetWidth()*GetBitCount()));}
         LPSTR WINAPI FindDIBBits(LPSTR lpbi)
         DWORD WINAPI DIBWidth(LPSTR lpDIB)
          LPBITMAPINFOHEADER lpbmi; // pointer to a Win 3.0-style DIB
          LPBITMAPCOREHEADER lpbmc; // pointer to an other-style DIB
          /* point to the header (whether Win 3.0 and old) */
          lpbmi = (LPBITMAPINFOHEADER)lpDIB;
          /* return the DIB width if it is a Win 3.0 DIB */
          if (IS_WIN30_DIB(lpDIB))
         DWORD WINAPI DIBHeight(LPSTR lpDIB)
          LPBITMAPINFOHEADER lpbmi; // pointer to a Win 3.0-style DIB
          LPBITMAPCOREHEADER lpbmc; // pointer to an other-style DIB
          /* point to the header (whether old or Win 3.0 */
          lpbmi = (LPBITMAPINFOHEADER)lpDIB;
          /* return the DIB height if it is a Win 3.0 DIB */
          if (IS_WIN30_DIB(lpDIB))
  • Kongulo . . . . 19 matches
         #!/usr/bin/env python
         # Copyright (c) 2005, Google Inc.
         # Redistribution and use in source and binary forms, with or without
         # modification, are permitted provided that the following conditions are
         # * Redistributions of source code must retain the above copyright
         # notice, this list of conditions and the following disclaimer.
         # * Redistributions in binary form must reproduce the above
         # copyright notice, this list of conditions and the following disclaimer
         # in the documentation and/or other materials provided with the
         # * Neither the name of Google Inc. nor the names of its
         # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
         # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
         # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
         # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
         # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
         # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
         # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
         import win32com.client
         import pywintypes
         '''A simple web crawler that pushes pages into GDS. Features include:
  • DebuggingSeminar_2005/AutoExp.dat . . . . 18 matches
         = step into ? -_-;; =
         ; AutoExp.Dat - templates for automaticially expanding data
         ; While debugging, Data Tips and items in the Watch and Variable
         ; windows are automatically expanded to show their most important
         ; in this file. You can add rules for your types or change the
         ; predefined rules.
         ; For good examples, read the rules in this file.
         ; To find what the debugger considers the type of a variable to
         ; be, add it to the Watch window and look at the Type column.
         ; An AutoExpand rule is a line with the name of a type, an equals
         ; sign, and text with replaceable parts in angle brackets. The
         ; part in angle brackets names a member of the type and an
         ; AutoExpand rules use the following syntax. The equals sign (=),
         ; brackets ([]) indicate optional items.
         ; format Watch format specifier. One of the following:
         ; d,i Signed decimal integer 0xF000F065,d -268373915
         ; u Unsigned decimal integer 0x0065,u 101
         ; o Unsigned octal integer 0xF065,o 0170145
         ; x,X Hexadecimal integer 61541,X 0X0000F065
         ; f Signed floating-point 3./2.,f 1.500000
  • 5인용C++스터디/API에서MFC로 . . . . 17 matches
          * 에플리케이션 - CWinApp
         BEGIN_MESSAGE_MAP(CApplicationView, CView)
          afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
          afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
          afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
          afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
         void CApplicationView::OnLButtonDown(UINT nFlags, CPoint point)
          CView::OnLButtonDown(nFlags, point);
         void CApplicationView::OnLButtonUp(UINT nFlags, CPoint point)
          CView::OnLButtonUp(nFlags, point);
         void CApplicationView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
         void CApplicationView::OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags)
  • Monocycle/조현태 . . . . 17 matches
         #include <iostream>
         #include <Windows.h>
         #include <vector>
         #include <queue>
         #include <map>
         #include <algorithm>
         using namespace std;
         #define CAN_MOVE_POINT 0
         #define DONT_MOVE_POINT 2
         #define MOVED_POINT 1
         #define MAX_X_SIZE 25
         const int MOVE_PLUS_X[4] = {0, 1, 0, -1};
         const int MOVE_PLUS_Y[4] = {-1, 0, 1, 0};
         vector< vector<int> > g_cityMap;
         struct suchPointData {
          int timeCount;
          int seePoint;
          int seeChangeCount;
          int moveDistance;
          POINT nowPoint;
  • Robbery/조현태 . . . . 17 matches
          경우의 수가 여러가지 나오는 경우를 어떻게 처리할까 고민했는데.. 못찾은 걸로 할까? 아니면 답으로 간주해서 출력할까? 하다가, 이 경우는 못찾은 걸로 처리하였다. ( "Nothing known." 으로 출력된다. )
         #include <iostream>
         #include <Windows.h>
         #include <vector>
         #include <algorithm>
         #include <atltypes.h>
         using namespace std;
         #define CAN_MOVE_POINT 0
         #define DONT_MOVE_POINT 1
         vector< vector< vector<int> > > g_cityMap;
         vector< vector<POINT> > g_canMovePoints;
         vector<int> g_saveMessageTime;
         vector< vector<POINT> > g_maxPoints;
         void InitCityMap(int cityWidth, int cityHeight, int keepTime)
          g_maxPoints.clear();
          g_canMovePoints.clear();
          g_canMovePoints.resize(keepTime);
          for (register int i = 0; i < (int)g_cityMap.size(); ++i)
          for(register int j = 0; j < (int)g_cityMap[i].size(); ++j)
         void SetMessagePoints(int receiveTime, int left, int top, int right, int bottom)
  • 5인용C++스터디/윈도우에그림그리기 . . . . 16 matches
         GDI(Graphics Device Interface)란 윈도우의 클라이언트 영역에 그리기를 하는데 사용되는 함수이다. 비디오 출력과 프린터에 그래픽 출력을 책임지고 있는 부분이다. 사용자가 Windows용으로 작성하는 응용 프로그램이 GDI를 사용하여 시각적인 정보를 출력할 뿐 아니라 Windows 자체도 GDI를 사용하여 메뉴, 스크롤 바, 아이콘, 그리고 마우스 커서 같은 사용자 인터페이스 아이템의 시각적인 출력을 수행한다.
         DC(Device Context)는 GDI에 의해 내부적으로 관리되는 데이터 구조체이며 '''그래픽 작업을 하기 위해서 필요한 것'''이다. 그림을 그리고자 할 때에는 반드시 먼저 DC에 대한 핸들을 얻어야 한다. 프로그램에 이 핸들을 주는 것으로 Windows는 사용자가 그 장치를 사용할 수 있도록 허가해 준다. 그러면 핸들을 GDI 함수의 인자로 사용하여 현재 그리고자 하는 장치를 Windows가 식별할 수 있도록 한다.
         DC 핸들을 얻고 해제하는 가장 일반적인 방법은 WM_PAINT 메시지 처리 도중 BeginPaint와 EndPaint 호출을 사용하는 것이다.
         hdc = BeginPaint (hwnd, &ps);
         EndPaint (hwnd, &ps);
         변수 ps는 PAINTSTRUCT 형식의 구조체이다. PAINTSTRUCT 구조체에는 윈도우 프로시저가 클라이언트 영역을 그리는 데 사용할 수 있는 정보들이 저장되어 있다.
         == WM_PAINT ==
         보통 프로그램이 WinMain에서 UpdateWindow를 호출할 때 발생한다. 이것은 윈도우 프로시저로 하여금 클라이언트 영역에 무엇인가를 그리게 한다.
         WM_PAINT 처리는 거의 항상 BeginPaint에 대한 호출로 시작된다.
         hdc = BeginPaint (hwnd, &ps);
         그리고 다음과 같이 EndPaint를 호출하여 끝난다.
         EndPaint (hwnd, &ps);
         두 경우에 있어서 첫번째 인자는 프로그램의 윈도우에 대한 핸들이다. 두번째 인자는 PAINTSTRUCT 형식의 구조체에 대한 포인터이다. PAINTSTRUCT 구조체에는 윈도우 프로시저가 클라이언트 영역을 그리는 데 사용할 수 있는 정보들이 저장되어 있다.
         WndProc은 BeginPaint를 호출하고 난 후 GetClientRect를 호출한다.
         #include <windows.h>
         LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
         int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev, LPSTR lpCmdLine, int nCmdShow)
          char szTitleName[]="Drawing Line";
          wc.hInstance=hInst;
          hWnd=CreateWindow(szClassName,szTitleName, WS_OVERLAPPEDWINDOW,100,90,320,240,NULL,NULL,hInst,NULL);
  • HowManyPiecesOfLand?/문보창 . . . . 16 matches
         === BigInteger.h ===
         // Big Integer Class - C++
         #include <iostream>
         using namespace std;
         #include <cstring>
         #define MAXDIGITS 100
         #define PLUS 1
         #define MINUS -1
         #define MAX(a,b) (((a) > (b)) ? (a) : (b))
         class BigInteger
          int signbit;
          int lastdigit;
          BigInteger(int n)
          int i;
          signbit = (n < 0) ? MINUS : PLUS;
          BigInteger()
          int i;
          void print()
          if (signbit == MINUS) cout << "-";
          for (int i = lastdigit; i >= 0; i--)
  • NSIS . . . . 16 matches
         === Opening Statement ===
         보통 프로그램을 개발하고 나서 '만들었다' 로 끝나는 경우가 많다. 하지만, 정작 배포때에는 할일이 많다. 특히 제어판 프로그램 등록/삭제 에 등록되는 방식이라던지, 레지스트리를 건드린다던지, Program Files 폴더에 복사한다던지. 이 경우에는 보통 전용 Installer 프로그램을 쓰게 되지만, 아직 제대로 써본 적이 없었던 것 같다.
          * http://forums.winamp.com/forumdisplay.php?forumid=65 - nsis discussion
          * 하나의 Install 화일 생성. 완료. (뿌리자~ -_-v)
         NSIS installer들은 'MakeNSIS' 프로그램에 의해서 NSI script (.NSI) 를 컴파일함으로서 만들어진다.
         Makensis [/Vx] [/Olog] [/LICENSE] [/PAUSE] [/NOCONFIG] [/CMDHELP [command]] [/HDRINFO] [/CD] [/Ddefine[=value] ...]
          2 : warnings and errors
          3 : info, warnings, and errors
          * /PAUSE - Makensis 가 종료되기 전 중간에 일시정지해준다. 이는 Windows 에서 직접 실행할 때 유용하다.
          * 표현하고자하는 string 에 공백이 있으면 따옴표를 이용한다.
          MessageBox MB_OK "I'll be happy" ; this one puts a ' inside a string
          MessageBox MB_OK 'And he said to me "Hi there!"' ; this one puts a " inside a string
          MessageBox MB_OK `And he said to me "I'll be fucked!"` ; this one puts both ' and "s inside a string:
          "$INSTDIR\source\zip2exe\zip2exe.dsw"
          "Remove all files in your NSIS directory? (If you have anything \
         NSIS 의 windows installer 버전을 설치하면 NSIS.CHM 화일이 같이 있다.
         http://nsis.sourceforge.net/archive/nsisweb.php?page=111&instances=0,11
         http://nsis.sourceforge.net/archive/nsisweb.php?page=633&instances=0,110
         ;move system addtinoal dlls to system folder
         Rename "$INSTDIR\MSVCP60.dll" "$SYSDIR\MSVCP60.dll"
  • OpenGL스터디_실습 코드 . . . . 16 matches
         skyLibrary_include
         = Intro =
         #include <gl/glut.h>
         #include <gl/GL.h>
         #include <gl/GLU.h>
         GLfloat windowWidth;
         GLfloat windowHeight;
         //callback for rendering
         void TimerFunction(int value)
          //if rectangle collision to window x-axis wall, then reverse it's x-axis direction
          if(x1 > windowWidth - rsize || x1 < -windowWidth)
          //if rectangle collision to window y-axis wall, then reverse it's y-axis direction
          if(y1 >windowHeight || y1 < -windowHeight + rsize )
          if(x1 > windowWidth - rsize + xstep)
          x1 = windowWidth - rsize - 1;
          else if(x1 < -(windowWidth + xstep))
          x1 = -windowWidth - 1;
          if(y1 > (windowHeight + ystep))
          y1 = windowHeight - 1;
          else if(y1 < -(windowHeight - rsize +ystep))
  • TicTacToe/박진영,곽세환 . . . . 16 matches
         import javax.swing.JFrame;
          int array[][] = new int[3][3];
          int a = 0;
          for (int i = 0; i < 3; i++)
          for (int j = 0; j < 3; j++)
          int x = e.getX();
          int y = e.getY();
          System.out.println("play 2 WIN !!! ");
          System.out.println("play 2 WIN !!! ");
          System.out.println("play 2 WIN !!! ");
          System.out.println("play 2 WIN !!! ");
          System.out.println("play 2 WIN !!! ");
          System.out.println("play 2 WIN !!! ");
          System.out.println("play 2 WIN !!! ");
          System.out.println("play 2 WIN !!! ");
          System.out.println("play 1 WIN !!! ");
          System.out.println("play 1 WIN !!! ");
          System.out.println("play 1 WIN !!! ");
          System.out.println("play 1 WIN !!! ");
          System.out.println("play 1 WIN !!! ");
  • Garbage collector for C and C++ . . . . 15 matches
          * 유닉스나 리눅스에서는 "./configure --prefix=<dir>; make; make check; make install" 으로 인스톨 할수 있다.
          * GNU-win32 에서는 기본으로 있는 Makefile 을 사용하면된다.
          * win32 쓰레드를 지원하려면 NT_THREADS_MAKEFILE 을 사용한다. (gc.mak 도 같은 파일 이다.)
          * 예) nmake /F ".gc.mak" CFG="gctest - Win32 Release"
          * WinXP, MinGW, Msys
          * -DGC_OPERATOR_NEW_ARRAY -DJAVA_FINALIZATION 을 CFLAGS 에 추가.
          * Windows NT 나 Windows 2000 에서 문제가 발생한다면 -DUSE_GLOBAL_ALLOC 나 -DUSE_MUNMAP 옵션을 사용하여 컴파일 한다.
         # -DSILENT disables statistics printing, and improves performance.
         # -DFIND_LEAK causes GC_find_leak to be initially set.
         # This causes the collector to assume that all inaccessible
         # Finalization and the test program are not usable in this mode.
         # (Clients should also define GC_SOLARIS_THREADS and then include
         # gc.h before performing thr_ or dl* or GC_ operations.)
         # Must also define -D_REENTRANT.
         # (Internally this define GC_SOLARIS_THREADS as well.)
         # -DGC_LINUX_THREADS enables support for Xavier Leroy's Linux threads.
         # see README.linux. -D_REENTRANT may also be required.
         # Appeared to run into some underlying thread problems.
         # -DALL_INTERIOR_POINTERS allows all pointers to the interior
         # Alternatively, GC_all_interior_pointers can be set at process
  • MFCStudy_2001/MMTimer . . . . 15 matches
          첫째는 WINMM.LIB를 추가시켜줘야 하고[[BR]]
          소스에 #include <mmsystem.h> 를 넣고[[BR]]
          Project(P) - Setting(S, ALT+F7)을 눌러 Link탭의 Object/Library modules:란에 winmm.lib를 적어줍니다.
         MMRESULT timeSetEvent(UINT uDelay, UINT uResolution, LPTIMECALLBACK lpTimeProc, DWORD_PTR dwUser, UINT fuEvent);
         void CALLBACK TimeProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
         MMRESULT timeKillEvent(UINT uTimerID);
          * m_TimerID는 UINT형 입니다.
         void CALLBACK TimerProc(UINT uiID,UINT uiMsg,DWORD dwUser,DWORD dw1,DWORD dw2)
          CAlcaDlg *pDlg=(CAlcaDlg*)AfxGetMainWnd();
         CAlcaDlg *pDlg = (CAlcaDlg*)AfxGetMainWnd();
          * m_nTimerID는 UINT형 입니다. 성공할 경우에는 타이머의 번호가 넘어옵니다.
         void CALLBACK CMyDlg::timeproc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2){
          * CALLBACK 함수를 사용할때의 주의점. (in MSDN)[[BR]]
          - Applications should not call any system-defined functions from inside a callback function, except for PostMessage, timeGetSystemTime, timeGetTime, timeSetEvent, timeKillEvent, midiOutShortMsg, midiOutLongMsg, and OutputDebugString.[[BR]]
          - 어플리케이션은 콜백 함수 내부로부터 다음 함수를 제외하고는 시스템 정의 함수를 부를 수가 없다. : PostMessage, timeGetSystemTime, timeGetTime, timeSetEvent, timeKillEvent, midiOutShortMsg, midiOutLongMsg, and OutputDebugString.[[BR]]
          CALLBACK함수 내부에서 화면을 갱신할 때에는 Invalidte()함수나 user 메세지를 만들어서 날려주면 됩니다.
         void CALLBACK EXPORT CTmrprocView::TimerProc(HWND hwnd, UINT msg, UINT idTimer, DWORD dwTime)
          wsprintf((LPSTR) pThis->m_strOutput, "CTmrprocView::TimerProc() Called. Count = %ld", ++pThis->m_cCount);
          pThis->Invalidate(TRUE);
  • MoreMFC . . . . 15 matches
         Programming with Mfc - Jeff prosise (책 요약 정도 or 책장사.. --;)
         그럼.. to be continue.. [[BR]]
         == Programming with MFC ==
         언제나 그렇듯, Window programming을 할때 처음 등장하는 예제는. Hello~ 시리즈다. 그 source를 통해 MFC프로그램에 첫발을 디딜것이며.. 요책에 나온 윈도우의 이모저모에 관해 설명할것이다. 뭐 .. 대충대충 해나갈 것이지만.. 그럼.. windows programming의 세계로. gogogo -- v [[BR]][[BR]]
         그리고, MFC를 하기전에 꼭 한번씩 나오는 SDK로 하는 windows programming. source. [[BR]]
         MFC자체는 이런 WinMain이나 WndProc 는 감추지만 밑단에서 이런 식으로 돌아간다는 것을 조금이라도 알게 하기 위해서 포함. 무시해도 상관 없음. ㅋㅋ
         // 주석 없음.. 그냥.. WinMain과 WndProc가 있구나만 보고 넘어 가시길.. 키키
         #include <windows.h>
         int WINAPI WndProc (HWND, UINT, WPARAM, LPARAM);
         int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
         wc.hInstance = hInstance;
         wc.hIcon = LoadIcon (NULL, IDI_WINLOGO);
         wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
         hwnd = CreateWindow (_T("MyWndClass"), "SDK Application",
          WS_OVERLAPPEDWINDOW,
          hInstance,
          NULL ); // window를 만들었지만 보이지는 않는다.
         ShowWindow (hWnd, nCmdShow); // window 보여주기. --;
         UpdateWindow (hWnd);
         LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
  • NSIS/Reference . . . . 15 matches
         == Installer attributes ==
         || || || 1 - Installation Options ||
         || || || 2 - Installation Directory ||
         || || || 3 - Installing Files ||
         || BrandingText || "ZeroPage Installer System v1.0" || 인스톨러 하단부에 보여지는 텍스트 ||
         || Icon || "setup.ico" || Installer 의 아이콘. 반드시 32*32*16 color 이여야 한다. ||
         || WindowIcon || on | off || Icon 을 표시할 것인지 말것인지 결정 ||
         || InstallButtonText || "설치 || Install 버튼에 대한 text 의 설정 ||
         === Install Directory ===
         || InstallDir || $PROGRAMFILES\example || 기본 설치 디렉토리 ||
         || InstallDirRegKey || . || . ||
         || InstType || "Full Install" || Install 관련 component type 에 대한 정의. 순서대로 1,2,3,4...8 까지의 번호들이 매겨지며, 이는 추후 SectionIn 에서 해당 component 에 대한 포함관계시에 적용된다. ||
         || AllowRootDirInstall || false || 루트디렉토리에 설치할 수 있도록 허용할것인지에 대한 여부 ||
         === Install Page - 실질적인 Install 화면을 표시하는 페이지에 쓰이는 속성들 ===
         || InstallColors || FFFF00 000000 || foregroundcolor backgroundcolor. 또는 /windows 옵션을 이용가능 ||
         || InstProgressFlags || smooth colored|| smooth, colored. colored 를 설정시는 InstallColors 의 색으로 적용 ||
         || AutoCloseWindow || false || 인스톨 완료시 자동으로 인스톨 윈도우를 닫을것인지에 대한 여부 ||
         || ShowInstDetails || show || hide | show | nevershow . install 되는 화면을 보여줄 것인지에 대한 여부 ||
         === Uninstall ===
         Uninstall 화면에 대한 설정들.
  • 데블스캠프2009/목요일/연습문제/MFC/송지원 . . . . 15 matches
         #if !defined(AFX_TESTDLG_H__B619E89A_C192_46A8_8358_6AC21A6D48CC__INCLUDED_)
         #define AFX_TESTDLG_H__B619E89A_C192_46A8_8358_6AC21A6D48CC__INCLUDED_
          int opFlag;
          virtual BOOL OnInitDialog();
          afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
          afx_msg void OnPaint();
          afx_msg void OnBUTTONminus();
          afx_msg void fourOp(int num);
         //{{AFX_INSERT_LOCATION}}
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
         #endif // !defined(AFX_TESTDLG_H__B619E89A_C192_46A8_8358_6AC21A6D48CC__INCLUDED_)
         #include "stdafx.h"
         #include "test.h"
         #include "testDlg.h"
         #define new DEBUG_NEW
          //{{AFX_DATA_INIT(CAboutDlg)
          //}}AFX_DATA_INIT
         BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
          //{{AFX_DATA_INIT(CTestDlg)
          //}}AFX_DATA_INIT
  • Chapter I - Sample Code . . . . 14 matches
          === Installing uCOS-II ===
          === INCLUDES.H ===
          === Compiler-Independent Data Types ===
          각각의 프로세서마다 int 형 데이터의 크기 char 형 데이터의 크기.. 등등이 다르기 때문에 다음과 같은 식으로 재정의를 해준다.
          typedef unsigned char INT8U
          typedef signed int INT16S
          // 형 재정의 (#define이용)
          #define BYTE INT8S
          OS 를 작성하다보면 전역변수가 필요한 경우가 있다. 전역변수는 어떻게 선언하는가? extern 키워드를 사용하면 된다. 하지만 uCOS-II 에서는 extern 키워드마저 #define 해서 다른 매크로로 사용한다.
         #define OS_EXT
         #define OS_EXT_extern
         OS_EXT INT32U OSIdleCtr;
         OS_EXT INT32U OSIdleCtrRun;
         OS_EXT INT32U OSIdleCtrMax;
         extern INT32U OSIdleCtr;
         extern INT32U OSIdleCtrRun;
         extern INT32U OSIdleCtrMax;
         #define OS_GLOBALS
         #include "inlcudes.h"
         INT32U OSIdleCtr;
  • OurMajorLangIsCAndCPlusPlus/setjmp.c . . . . 14 matches
         // Copyright (C) 2002 Michael Ringgaard. All rights reserved.
         // Redistribution and use in source and binary forms, with or without
         // modification, are permitted provided that the following conditions
         // 1. Redistributions of source code must retain the above copyright
         // notice, this list of conditions and the following disclaimer.
         // 2. Redistributions in binary form must reproduce the above copyright
         // notice, this list of conditions and the following disclaimer in the
         // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
         // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
         // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
         // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
         // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
         // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
         // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
         #include "setjmp.h"
         #define OFS_EBP 0
         #define OFS_EBX 4
         #define OFS_EDI 8
         #define OFS_ESI 12
         #define OFS_ESP 16
  • 2dInDirect3d/Chapter1 . . . . 13 matches
         = Initializing Direct3D =
          == Initialization Step ==
          == Creating IDirect3D8 Object ==
          UINT SDKVersion;
          1. [IN] 유일한 인자인 SDKVersion에는 SDK의 버전을 넣어준다. 8.0 이렇게 집어넣는 것이 아니라 지정되어있는 매크로가 있다. 사용하는 방법은 단 한가지뿐이다.
          == Examining Capabilities ==
         UINT IDirect3D8::GetAdapterCount();
          UINT Adapter,
          1. [RET] HRESULT형의 값을 리턴한다. 성공하면 D3D_OK, 실패하면 D3D_INVALIDCALL이 나온다.
          2. [IN] 첫번째 인자는, 어댑터의 번호이다. 당연히 D3DADAPTER_DEFAULT를 넣어준다.
          3. [IN] 두번째 인자는 플래그이다. 0이나 D3D_ENUM_NO_WHQL_LEVEL을 넣을 수 있지만, 대개 0을 넣는다.
          UINT Adapter,
          === Looking at Adapter Display Modes ===
         UINT IDirect3D8::GetAdapterModeCount(
          UINT Adapter;
          UINT Adapter,
          UINT Mode,
          === Getting the Current Display Mode ===
          UINT Adapter,
          = Checking For Compatible Formats =
  • 5인용C++스터디/키보드및마우스의입출력 . . . . 13 matches
         #include <windows.h>
         LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
         HINSTANCE g_hInst;
         int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
          ,LPSTR lpszCmdParam,int nCmdShow)
          g_hInst=hInstance;
          WndClass.hInstance=hInstance;
          hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
          NULL,(HMENU)NULL,hInstance,NULL);
          ShowWindow(hWnd,nCmdShow);
         LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
          PAINTSTRUCT ps;
          int len;
          InvalidateRect(hWnd,NULL,FALSE);
          case WM_PAINT:
          hdc=BeginPaint(hWnd,&ps);
          EndPaint(hWnd,&ps);
          return(DefWindowProc(hWnd,iMessage,wParam,lParam));
          소스를 입력한 후 실행해 보자. 키보드에서 키를 누르면 입력한 문자들이 화면 상단에 출력될 것이다.WndProc을 보면 우선 문자열 str이 선언되어 있으며 이 문자열 변수에 사용자가 입력한 문자들을 모은다. 단 이 변수는 WndProc에 선언되어 있는 지역변수이므로 그냥 선언하면 메시지가 발생할 때마다 초기화되기 때문에 static을 붙여 정적변수로 만들어 두어야 한다. 아니면 아예 WinMain 함수 이전에 선언하여 전역 변수로 만들어 두어도 된다.
          입력된 문자들을 바로 바로 출력하지 않고 반드시 문자열에 모아 두어야 하는 이유는 키보드 입력이 발생하는 시점과 문자열을 출력해야 할 시점이 분리되어 있기 때문이다. 키보드 입력 시점은 키보드 메시지인 WM_CHAR가 발생했을 때이며 이 메시지에서 문자열을 조립하기만 하고 문자열의 출력은 WM_PAINT에서 처리한다. 물론 WM_CHAR 메시지에서 문자열을 바로 바로 출력하는 것도 가능하기는 하지만 윈도우즈 프로그램은 화면을 다시 그릴 준비를 항상 해 두어야 하며 모든 출력은 WM_PAINT에서 하도록 되어 있다. 그렇지 않으면 출력된 문자들이 지워지면 다시 복구되지 않는다.
  • Memo . . . . 13 matches
         http://www.freenetpages.co.uk/hp/alan.gauld/tutintro.htm
         http://search.costcentral.com/search?p=Q&srid=S9%2d3&lbc=costcentral&ts=custom&w=ThinkPad&uid=975848396&method=and&isort=price&srt=150
         [http://kin.naver.com/knowhow/entry.php?eid=sXanZUDMReh3tKhs1VJ30OlMQ3piSgKm 마지막 사진의 진실은...?]
         RFC 791 Internet Protocol
         RFC 792 Internet Control Message Protocol
         #define MAX_PACKET_SIZE 65525
         #define BIND2IP "165.194.17.76" //Put you'r IP in her
         #include <stdio.h>
         #include <winsock2.h>
         #include <mstcpip.h>
         #include <ws2tcpip.h>
          //unsigned long Options_and_Padding;
         void ProcessPacket(char* Buffer, int Size)
          struct sockaddr_in SockAddr;
          SockAddr.sin_addr.s_addr = iphdr->SrcIP;
          printf("Packet From: %s ", inet_ntoa(SockAddr.sin_addr));
          SockAddr.sin_addr.s_addr = iphdr->DstIP;
          printf("To: %s ", inet_ntoa(SockAddr.sin_addr));
          printf("Protocol: ICMP ");
          printf("Protocol: IGMP ");
  • 오목/재선,동일 . . . . 13 matches
         // singleView.h : interface of the CSingleView class
         #if !defined(AFX_SINGLEVIEW_H__E826914F_AE74_11D7_8B87_000102915DD4__INCLUDED_)
         #define AFX_SINGLEVIEW_H__E826914F_AE74_11D7_8B87_000102915DD4__INCLUDED_
         class CSingleView : public CView
          int arr[100][100];
          int i,j;
          int x,y;
          int a,b;
          int count,count1,count2;
          CSingleView();
          DECLARE_DYNCREATE(CSingleView)
          CSingleDoc* GetDocument();
          //{{AFX_VIRTUAL(CSingleView)
          virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
          virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
          virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
          virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
          virtual ~CSingleView();
          //{{AFX_MSG(CSingleView)
          afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  • 3DGraphicsFoundation/INSU/SolarSystem . . . . 12 matches
         #include <windows.h>
         #include <gl\gl.h>
         #include <gl\glu.h>
         #include <gl\glaux.h>
         static HINSTANCE hInstance;
         inline void glRGB(int x, int y, int z)
         LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
          int nPixelFormat;
          PFD_DRAW_TO_WINDOW | // Draw to Window (not to bitmap)
          PFD_SUPPORT_OPENGL | // Support OpenGL calls in window
          PFD_MAIN_PLANE, // Draw in main plane
          // Choose a pixel format that best matches that described in pfd
          // Set Viewport to window dimensions
          // Calculate aspect ratio of the window
          // Set the perspective coordinate system
          glEnable(GL_LIGHTING);
          glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
         int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
          hInstance = hInst;
          wc.hInstance = hInstance;
  • LIB_3 . . . . 12 matches
         #if !defined(LIB_SCHE_CPP)
         #define LIB_SCHE_CPP
         /* Init The Scheduler List
         void LIB_Init_Schedu(){
          for (int count = 0;count<LIB_MAX_HEAP;count++) {
          LIB_INT_COUNT = 0;
         여기서는 MAIN에서 본 듯 태스크를 만들어 주는 함수
         void LIB_create_task (char *task_name,int priority,void (*task)(void),INT16U * Stack)
          // Init The Stack
          LIB_STACK_INIT(task,Stack); <-------- 스택을 초기화 해준다.....
          if ( priority < LIB_MIN_PRIORITY || priority > LIB_MAX_PRIORITY ) return; <--------- 우선순위가 지랄 같으면 그냥 끝낸다.
          // Insert Prio Queue;
          // Init the TCB by argument <----- 함수에서 얻은 변수들로... 초기화...ok???
          pReady_heap[ready_tcb_ptr]->StackSeg = (INT16U)FP_SEG(Stack);
          pReady_heap[ready_tcb_ptr]->StackOff = INT16U(Stack) - 28;
          int temp_count = ready_tcb_ptr;
         void LIB_resume_task(INT16U priority ){
          int temp;
          for ( int i = 0; i<= suspend_tcb_ptr ; i++ ) {
          LIB_VRAM_STRING(0,15,"CAUTION !!!",0x07);
  • OurMajorLangIsCAndCPlusPlus/float.h . . . . 12 matches
          == Floating Point ==
         ||FLT_MANT_DIG ||float형 floating point로 표현 할 수 있는 significand의 비트 수 ||24 ||
         ||DBL_MANT_DIG ||double형 floating point로 표현 할 수 있는 significand의 비트 수 ||53 ||
         ||LDBL_MANT_DIG ||long double형 floating point로 표현 할 수 있는 significand의 비트 수 ||53 ||
         ||FLT_MAX ||float형으로 표현할 수 있는 가장 큰 floating point 값 ||3.402823466e+38F ||
         ||DBL_MAX ||double형으로 표현할 수 있는 가장 큰 floating point 값 ||1.7976931348623158e+308 ||
         ||LDBL_MAX ||long double형으로 표현할 수 있는 가장 큰 floating point 값 ||1.7976931348623158e+308 ||
         ||FLT_MAX_10_EXP ||float형으로 표현할 수 있는 가장 큰 floating point의 10의 지수값 ||38 ||
         ||DBL_MAX_10_EXP ||double형으로 표현할 수 있는 가장 큰 floating point의 10의 지수값 ||308 ||
         ||LDBL_MAX_10_EXP ||long double형으로 표현할 수 있는 가장 큰 floating point의 10의 지수값 ||308 ||
         ||FLT_MAX_EXP ||float형으로 표현할 수 있는 가장 큰 floating point의 2의 지수값 ||128 ||
         ||DBL_MAX_EXP ||double형으로 표현할 수 있는 가장 큰 floating point의 2의 지수값 ||1024 ||
         ||LDBL_MAX_EXP ||long double형으로 표현할 수 있는 가장 큰 floating point의 2의 지수값 ||1024 ||
         ||FLT_MIN ||float형으로 표현할 수 있는 가장 작은 양의 floating point 값 ||1.175494351e–38F ||
         ||DBL_MIN ||double형으로 표현할 수 있는 가장 작은 양의 floating point 값 ||2.2250738585072014e–308 ||
         ||LDBL_MIN ||long double형으로 표현할 수 있는 가장 작은 양의 floating point 값 ||2.2250738585072014e–308 ||
         ||FLT_MIN_10_EXP ||float형으로 표현할 수 있는 가장 작은 floating point의 10의 지수값 ||–37 ||
         ||DBL_MIN_10_EXP ||double형으로 표현할 수 있는 가장 작은 floating point의 10의 지수값 ||–307 ||
         ||LDBL_MIN_10_EXP ||long double형으로 표현할 수 있는 가장 작은 floating point의 10의 지수값 ||–307 ||
         ||FLT_MIN_EXP ||float형으로 표현할 수 있는 가장 작은 floating point의 10의 지수값 ||–125 ||
  • WinSock . . . . 12 matches
         Windows Socket API. Win32 API 에 기본적으로 지원한다.
         일반적인 버클리 소켓 스타일과 Windows 자체 스타일의 비동기소켓 (윈도우 메세지를 이용하는 방법, IOCP) API 를 제공해준다.
         다음은 화일보내고 받기 관련 Winsock API 간단 예제. (옛날 예제삼아 만든 소스여서 직관적이지가 않긴 하군 -_-; 그냥 이해의 차원정도)
         #include <winsock2.h>
         #include <windows.h>
         #include <stdio.h>
         #include <process.h>
         DWORD WINAPI Threading (LPVOID args)
          HANDLE hFileIn;
          int nSended;
          hFileIn = CreateFile ("d:\test.mp3", GENERIC_READ, FILE_SHARE_READ,
          NULL, OPEN_EXISTING, NULL, NULL);
          dwLow = GetFileSize (hFileIn, &dwHigh);
          SetFilePointer (hFileIn, i, NULL, FILE_BEGIN);
          ReadFile (hFileIn, szBuffer, sizeof (szBuffer), &nRead, NULL);
          printf ("Error : %d n", WSAGetLastError ());
          printf ("Current : %d / %d (%d)n", dwLow, i, nSended);
          CloseHandle (hFileIn);
         int main (void)
          sockaddr_in local, from;
  • 곽세환/메모장 . . . . 12 matches
         =TEXT(IF(ISERROR(VALUE(LEFT(B24,FIND("/",B24)-1))),0,VALUE(LEFT(B24,FIND("/",B24)-1)))+IF(ISERROR(VALUE(LEFT(C24,FIND("/",C24)-1))),0,VALUE(LEFT(C24,FIND("/",C24)-1)))+IF(ISERROR(VALUE(LEFT(E24,FIND("/",E24)-1))),0,VALUE(LEFT(E24,FIND("/",E24)-1))),"0")&"/"&TEXT(IF(ISERROR(VALUE(RIGHT(B24,LEN(B24)-FIND("/",B24)))),0,VALUE(RIGHT(B24,LEN(B24)-FIND("/",B24))))+IF(ISERROR(VALUE(RIGHT(C24,LEN(C24)-FIND("/",C24)))),0,VALUE(RIGHT(C24,LEN(C24)-FIND("/",C24))))+IF(ISERROR(VALUE(RIGHT(E24,LEN(E24)-FIND("/",E24)))),0,VALUE(RIGHT(E24,LEN(E24)-FIND("/",E24)))),"0")
  • 변준원 . . . . 12 matches
         (define (f x)
          (when (< x 10) (begin (print 2) (print *)(print x) (print =)(print (* 2 x)) (newline) (f (+ x 1)))))
         (define (f y)
          (when (< y 10) (begin
          (define (f x) (when (< x 10) (begin (print y)
          (print *)
          (print x)
          (print =)
          (print (* 2 x))
          (newline)
         #include<iostream>
         #include<ctime>
         using namespace std;
         int move();
         int check();
         int x,y;
         int number=0;
         int matrix[5][5];
         int main()
          const int max=5;
  • 새싹교실/2012/세싹 . . . . 12 matches
          * 수업과목: everything you want
          * Facts, Feelings, Findings, Future Action Plan. 즉, 사실, 느낀 점, 깨달은 점, 앞으로의 계획.
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          3) Virtualbox실행 -> 새로 만들기 -> 운영체제 : Linux 버전 : Ubuntu -> 메모리1024MB로 설정하고 나머지 디폴트 설치
          4) terminal 실행 -> .c 파일이 있는 경로로 이동 (ls와 cd를 이용합니다.)
          1) virtual box로 linux 설치 후 hello world 작성하고 컴파일하여 스크린샷을 강사 메일로 보내주세요.
          2) linux의 다양한 명령어 검색해보기
          - link : 노드와 노드간에 데이터를 주고받는 역할을 합니다. 스위치, 브릿지등이 포함됩니다.
          - 인터넷 소켓(Internet socket, socket' 혹은 network socket 라고 부르기도 한다)은 네트워크로 연결되어 있는 컴퓨터의 통신의 접점에 위치한 통신 객체다.
          5) 자세한 사항은 http://forum.falinux.com/zbxe/?document_srl=441104 를 참고하세요.
          * 오피에서 숙제를 했습니다. VS로 하려니까 뭔가 막 오류가 나는데 고치지는 못하겠고 그래서 우분투를 깔아서 시도를 했네요. 용어가 익숙하지 않아서 그런지 함수 설명을 봐도 한번에 와닿지 않아서 힘들었습니다. 아 그리고 숙제를 하다가 생긴 문제인데요. 서버 프로그램을 처음 실행했을 때는 괜찮은데 두 번째로 실행했을 때는 Bind에러가 나네요. 그래서 매번 실행할 때마다 포트값을 수정해야했습니다. 왜 이런 문제가 생긴걸까요? - [권영기]
          * [권영기] 학생이 맞닥트린 bind 오류는, 해당 포트에 내가 가서 눌러앉으려고(bind하려고) 가 보니까 다른 놈이 이미 차지하고 있어서 bind하지 못했다는 오류입니다. 프로그램에서 bind한 후 다 쓰고 나서 bind를 해제하지 않으면 이런 일이 발생합니다. bind 해제 코드를 꼭 넣도록 하세요. - [황현]
          * 자세한 해결 방법입니다. 소켓을 생성하고나서 바로 setsockopt(mySocket, SOL_SOCKET, SO_REUSEADDR, &anyIntegerVariableThatContainsNonZero, sizeof(anyIntegerVariableThatContainsNonZero)); 함수를 호출하면 이 소켓의 생명이 다하는 순간 해당 포트에 자리가 나게 됩니다. - [황현]
          - 양방향 통신중 한쪽이 off-line상태인 경우에도 메시지의 전송과 수령이 가능하도록
          - terminal을 여러개 실행시켜 실험을 진행해 보세요.
          * http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/2/recv
          * http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/2/read
          * 소캣 옵션 참고 사이트 (close시 bind 해제 설정)
          * http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Network_Programing/AdvancedComm/SocketOption
          - 자세한 내용은 링크를 참조. http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Thread/Beginning/WhatThread
  • 오목/민수민 . . . . 12 matches
         // sampleView.h : interface of the CSampleView class
         #if !defined(AFX_SAMPLEVIEW_H__7D3F7617_AE70_11D7_A975_00010298970D__INCLUDED_)
         #define AFX_SAMPLEVIEW_H__7D3F7617_AE70_11D7_A975_00010298970D__INCLUDED_
          virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
          virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
          virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
          virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
          int count;
          int board[20][20];
          afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
          afx_msg void OnMouseMove(UINT nFlags, CPoint point);
          int win;
          int cnt;
          int y;
          int x;
         #ifndef _DEBUG // debug version in sampleView.cpp
         inline CSampleDoc* CSampleView::GetDocument()
         //{{AFX_INSERT_LOCATION}}
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
         #endif // !defined(AFX_SAMPLEVIEW_H__7D3F7617_AE70_11D7_A975_00010298970D__INCLUDED_)
  • 권영기/채팅프로그램 . . . . 11 matches
         #include<stdio.h>
         #include<stdlib.h>
         #include<string.h>
         #include<unistd.h>
         #include<arpa/inet.h>
         #include<sys/types.h>
         #include<sys/socket.h>
         #include<pthread.h>
         #define SIZE 1024
         int client_socket, server_socket;
         int client_addr_size, flag = 0;
          sprintf( buff_snd, "%d : %s", strlen( buff_rcv), buff_rcv);
          int temp;
          if(recv(client_socket, buff_rcv, SIZE, 0) <= 0)continue;
          printf( "receive: %s\n", buff_rcv);
          sprintf( buff_snd, "%d : %s", strlen( buff_rcv), buff_rcv);
         int main(void){
          int option = 1;
          struct sockaddr_in server_addr, client_addr;
          server_socket = socket(PF_INET, SOCK_STREAM, 0);
  • 데블스캠프2013/셋째날/머신러닝 . . . . 11 matches
         = Machine Learning =
          * 데이터 및 강의자료 [http://zeropage.org/index.php?mid=seminar&document_srl=91554 링크]
         using System;
         using System.Collections.Generic;
         using System.Linq;
         using System.Text;
         using System.Threading.Tasks;
         using System.IO;
          public int[] words;
          public int category;
          const int SIZEBIG = 8165;
          const int SIZESMALL = 20;
          static void Main(string[] args)
          for (int i = 0; i < 11293; i++)
          sampleNews[i].words = new int[SIZEBIG];
          for (int i = 0; i < 7528; i++)
          testNews[i].words = new int[SIZEBIG];
          int count = 0;
          string[] temp1 = new string[SIZEBIG];
          StreamReader reader = new StreamReader(@"C:\ZPDC2013\train_data11293x8165");
  • 데블스캠프2009/목요일/연습문제/MFC/김태욱 . . . . 10 matches
         #include "stdafx.h"
         #include "zxczxc.h"
         #include "zxczxcDlg.h"
         #define new DEBUG_NEW
          //{{AFX_DATA_INIT(CAboutDlg)
          //}}AFX_DATA_INIT
         BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
          //{{AFX_DATA_INIT(CZxczxcDlg)
          //}}AFX_DATA_INIT
          // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
          m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
         BEGIN_MESSAGE_MAP(CZxczxcDlg, CDialog)
          ON_WM_PAINT()
         BOOL CZxczxcDlg::OnInitDialog()
          CDialog::OnInitDialog();
          // IDM_ABOUTBOX must be in the system command range.
          CString strAboutMenu;
          strAboutMenu.LoadString(IDS_ABOUTBOX);
          pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
          // when the application's main window is not a dialog
  • 데블스캠프2009/목요일/연습문제/MFC/박준호 . . . . 10 matches
         #include "stdafx.h"
         #include "TestAPP.h"
         #include "TestAPPDlg.h"
         #define new DEBUG_NEW
         int m_number01;
          //{{AFX_DATA_INIT(CAboutDlg)
          //}}AFX_DATA_INIT
         BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
          //{{AFX_DATA_INIT(CTestAPPDlg)
          //}}AFX_DATA_INIT
          // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
          m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
         BEGIN_MESSAGE_MAP(CTestAPPDlg, CDialog)
          ON_WM_PAINT()
         BOOL CTestAPPDlg::OnInitDialog()
          CDialog::OnInitDialog();
          // IDM_ABOUTBOX must be in the system command range.
          CString strAboutMenu;
          strAboutMenu.LoadString(IDS_ABOUTBOX);
          pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  • 데블스캠프2009/목요일/연습문제/MFC/정종록 . . . . 10 matches
         #include "stdafx.h"
         #include "Test.h"
         #include "TestDlg.h"
         #define new DEBUG_NEW
         int sign = 0;
          //{{AFX_DATA_INIT(CAboutDlg)
          //}}AFX_DATA_INIT
         BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
          //{{AFX_DATA_INIT(CTestDlg)
          //}}AFX_DATA_INIT
          // Note that LoadIcon does not require a subsequent DestroyIcon in Win32
          m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
         BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
         ON_WM_PAINT()
         BOOL CTestDlg::OnInitDialog()
          CDialog::OnInitDialog();
          // IDM_ABOUTBOX must be in the system command range.
          CString strAboutMenu;
          strAboutMenu.LoadString(IDS_ABOUTBOX);
          pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  • 스터디/Nand 2 Tetris . . . . 10 matches
          IN a;
          IN a, b;
          IN a, b;
          IN a, b;
          IN a, b, s;
          IN a[4], s[2];
          * half-adder, full-adder, 16bit-adder, incremental adder, ALU에 대해서 공부하고 구현하였습니다.
          IN a, b; // 1-bit inputs
          IN a, b, c; // 1-bit inputs
          IN a[16], b[16];
          * Incremental
         CHIP Inc16 {
          IN a[16];
          * Hack Machine language를 사용해서 프로그램을 작성해 봄.
          2개의 Instruction을 지원한다. 각 Instruction은 2Byte이다.
          * A-Instruction : @value // Where value is either a non-negative decimal number or a symbol referring to such number.
          Binary : 0vvv vvvv vvvv vvvv
          * C-Instruction : dest=comp;jump // Either the dest or jump fields may be empty.
          Binary : 111a c1c2c3c4 c5c6d1d2 d3j1j2j3
          * A-instruction 을 사용하면, value는 A에 들어간다.
  • 영호의바이러스공부페이지 . . . . 10 matches
         Introduction -
         This is a down and dirty zine on wich gives examples on writing viruses
         and this magazines contains code that can be compiled to viruses.
         files. This aint for you.
          INDEX
         001...........................Virus Spotlight, The Tiny virus
          The first virus I would like to spotlight is the Tiny virus, lets see
          Name: Tiny
          Aliases: 163 COM Virus, Tiny 163 Virus, Kennedy-163
          Origin: Denmark
          Type Code: PNCK - Parasitic Non-Resident .COM Infector
          Removal Instructions: Scan/D, F-Prot 1.12+, or Delete infected
          The 163 COM Virus, or Tiny Virus, was isolated by Fridrik Skulason
          of Iceland in June 1990. This virus is a non-resident generic
          .COM file infector, and it will infect COMMAND.COM.
          The first time a file infected with the 163 COM Virus is executed,
          the virus will attempt to infect the first .COM file in the
          be COMMAND.COM. After the first .COM file is infected,each time
          an infected program is executed another .COM file will attempt to
          be infected. Files are infected only if their original length is
  • 오목/곽세환,조재화 . . . . 10 matches
         // ohbokView.h : interface of the COhbokView class
         #if !defined(AFX_OHBOKVIEW_H__1263A16D_AC1C_11D7_8B87_00105A0D3B1A__INCLUDED_)
         #define AFX_OHBOKVIEW_H__1263A16D_AC1C_11D7_8B87_00105A0D3B1A__INCLUDED_
          virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
          virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
          virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
          virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
          void VictoryMessage(int count, int z);
          void WhoIsVictory(int y,int x, int z);
          int turn;
          int array[10][10];
          afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
         #ifndef _DEBUG // debug version in ohbokView.cpp
         inline COhbokDoc* COhbokView::GetDocument()
         //{{AFX_INSERT_LOCATION}}
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
         #endif // !defined(AFX_OHBOKVIEW_H__1263A16D_AC1C_11D7_8B87_00105A0D3B1A__INCLUDED_)
         #include "stdafx.h"
         #include "ohbok.h"
         #include "ohbokDoc.h"
  • 오목/재니형준원 . . . . 10 matches
         // OmokView.h : interface of the COmokView class
         #if !defined(AFX_OMOKVIEW_H__95EACAA5_FAEA_4766_A6B3_6C6245050A8B__INCLUDED_)
         #define AFX_OMOKVIEW_H__95EACAA5_FAEA_4766_A6B3_6C6245050A8B__INCLUDED_
          int row, col;
          int omokBoard[19][19];
          int number;
          int count;
          virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
          virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
          virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
          virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
          void CheckMove(int r, int c, int x, int y);
          void init();
          afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
         #ifndef _DEBUG // debug version in OmokView.cpp
         inline COmokDoc* COmokView::GetDocument()
         //{{AFX_INSERT_LOCATION}}
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
         #endif // !defined(AFX_OMOKVIEW_H__95EACAA5_FAEA_4766_A6B3_6C6245050A8B__INCLUDED_)
         #include "stdafx.h"
  • 오목/진훈,원명 . . . . 10 matches
         // OmokView.h : interface of the COmokView class
         #if !defined(AFX_OMOKVIEW_H__5E50035A_B51D_11D7_8B86_00105A0D3B05__INCLUDED_)
         #define AFX_OMOKVIEW_H__5E50035A_B51D_11D7_8B86_00105A0D3B05__INCLUDED_
          virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
          virtual void OnInitialUpdate();
          virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
          virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
          virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
          afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
          int movecnt;
          int Count;
          int turn;
          int putX;
          int putY;
          int board[9][9];
         #ifndef _DEBUG // debug version in OmokView.cpp
         inline COmokDoc* COmokView::GetDocument()
         //{{AFX_INSERT_LOCATION}}
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
         #endif // !defined(AFX_OMOKVIEW_H__5E50035A_B51D_11D7_8B86_00105A0D3B05__INCLUDED_)
  • 3DGraphicsFoundationSummary . . . . 9 matches
          * x = ρsinθcosφ
          * y = ρsinθsinφ
          * 벡터의 크기 : |ⓐXⓑ| = |ⓐ||ⓑ|sinθ
          * 윈도우 위에서 x값의 최소값을 x(min), 최대값을 x(max), y값의 최소값을 y(min), 최대값을 y(max) 라 하자.
          * 뷰포트의 사각형의 최소,최대값을 X(min), X(max), Y(min), Y(max) 라 하자.
          * delx = (X(max) - X(min)) / (x(max) - x(min))
          * dely = (Y(max) - Y(min)) / (y(max) - y(min))
          * x(c) = (x(max) + x(min)) / 2
          * y(c) = (y(max) + y(min)) / 2
          * X(c) = (X(max) + X(min)) / 2
          * Y(c) = (Y(max) + Y(min)) / 2
          * 어떤 물체를 그것을 둘러싸고 있는 면으로 나타낸 다음 은선, 은면제거 알고리즘이나 Shading 알고리즘을 가미하여 보다 현실감 있게 그 물체를 표현하는 'Surfaced 모델'
          * 광원 모델 사용(Ray-Tracing법 많이 사용)
          | -sinθ -cosφcosθ -sinφcosθ 0 |
          | cosθ -cosφsinθ -sinφsinθ 0 |
          = | 0 sinφ -cosφ 0 |
          * 대상(destination) : 프레임 버퍼에 이미 그려져 있는 픽셀
         || GL_ONE_MINUS_DST_COLOR || 원본 색상과 ((1,1,1,1)-대상 색상)을 곱한다 ||
         || GL_ONE_MINUS_SRC_ALPHA || 원본 색상에 (1-원본 알파값)을 곱한다 ||
         || GL_ONE_MINUS_DST_ALPHA || 원본 색상에 ((1,1,1,1)-대상 색상 알파값)을 곱한다 ||
  • STLErrorDecryptor . . . . 9 matches
         = Before Reading =
         본 문서는 [http://www.kwak101.pe.kr/kwak101/works/InternData/STLDecryptor_QuickGuide.html QuickInstallation For STLErrorDecryptor] 의 '''내용을 백업하기 위한 목적'''으로 만든 페이지입니다. 따라서 원 홈페이지의 자료가 사라지지 않은 이상 가능하면 원 홈페이지에서 글을 읽으셨으면 합니다.
         Upload:WorkingMethod.gif
          * STL 에러 해독기 패키지 (Win32용) : STLfilt.zip이란 이름을 가지고 있습니다 (http://ww.bdsoft.com/tools/stlfilt.html)
          * 펄 스크립트 인터프리터(Win32용) : 여기서는 ActivePerl을 사용합니다. (http://ww.activestate.coml)
          * Proxy-CL.INI : 프록시 CL이 작동하는 환경을 제공하는 INI 파일.
         가) Visual C++가 설치된 디렉토리로 이동하고, 여기서 \bin 디렉토리까지 찾아 들어갑니다. (제 경우에는 D:\Program Files2\Microsoft Visual Studio .NET\Vc7\bin입니다.) 제대로 갔으면, 원래의 CL을 백업용으로 모셔다 놓을 폴더를 하나 만듭니다. (제 경우에는 '''native_cl'''이란 이름으로 만들었습니다.) 그리고 나서 CL.EXE를 그 폴더에 복사해 둡니다.
         Upload:OriginalCLFolderMaking.gif
         나) \bin 디렉토리에 있는 CL.EXE를 CL2.EXE로 이름을 바꾸어 줍니다.
         다) 이젠 프록시 CL의 동작에 필요한 환경 옵션을 제공하는 Proxy-CL.INI 파일을 여러분의 개발환경에 맞게 고쳐야 합니다. 텍스트 편집기로 Proxy-CL.INI를 열면 아래의 [common], [proxy.cl], [stltask.exe] 부분이 모두 비어 있는데, 윗부분의 주석문을 참고하면서 환경 변수를 고쳐줍니다. 반드시 설정해야 하는 옵션은 다음과 같습니다.
         아래의 그림은 저의 Proxy-CL.INI 파일입니다.
         라) 이렇게 편집한 Proxy-CL.INI를 윈도우 디렉토리에 복사합니다. 윈도우 디렉토리란 윈도우 98/ME 등에선 \WINDOWS이겠고, 윈도우 NT/2000/XP 등에선 \WINNT 이겠지요. 즉 운영체제와 프로파일 파일들이 들어 있는 곳입니다. 프록시 CL은 기본적으로 이 윈도우 디렉토리에서 읽은 Proxy-CL.INI을 가지고 동작 옵션을 정합니다.
         마) 이제, STLfilt.zip의 압축을 푼 디렉토리에서 프록시 CL을 복사해서 VC의 \bin 디렉토리에 붙입니다.
         여기서 "Enable Filtering"을 선택하면 그때부터 STL 에러 필터링이 가능해집니다. 그리고, 앞으로 STL 에러 필터링을 활성화하거나 비활성화할 때에는 이 태스크바의 아이콘을 사용하면 됩니다(Enable filtering/Disable filtering을 선택하면 되겠죠). 필터링이 활성화 되어 있느냐 그렇지 않으냐의 여부는 작업 표시줄의 아이콘 색깔( Upload:STLTaskActIcon.gif 은 활성화되었다는 뜻)로 확인할 수 있습니다.
         #include<string>
         using namespace std;
         int main()
          string s(10); // 컴파일 에러를 일으키는 문장, 하나의 매개 변수를 받는 string 생성자는 할당자만을 받습니다.
         h:\MyProgrammingLab\JunkRoom\Weired_C++\Test.cpp(6) :
         error C2664: 'std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax>::_Alloc &) with [_Elem=char,_Traits=std::char_traits<char>,_Ax=std::allocator<char>]' : 매개 변수 1을(를) 'int'에서 'const std::basic_string<_Elem,_Traits,_Ax>::_Alloc & with [_Elem=char,_Traits=std::char_traits<char>,_Ax=std::allocator<char>]'(으)로 변환할 수 없습니다.; 원인: 'int'에서 'const std::basic_string<_Elem,_Traits,_Ax>::_Alloc with [_Elem=char,_Traits=std::char_traits<char>,_Ax=std::allocator<char>]'(으)로 변환할 수 없습니다.; 소스 형식을 가져올 수 있는 생성자가 없거나 생성자 오버로드 확인이 모호합니다.
  • ScheduledWalk/석천 . . . . 9 matches
         ["데블스캠프2002"]때 소개했었던 StructuredProgramming 기법을 처음부터 끝까지 진행하는 모습을 보여드립니다. 중간에 버그가 발생하고, 그 버그를 수정한 소스를 그대로 실어봅니다. 그대로 따라해보셔도 좋을듯. 단, 중간 삽질과 컴파일 에러에 겁먹지만 않으신다면. ^^;
         StructuredProgramming 기법으로 StepwiseRefinement 하였습니다. 문제를 TopDown 스타일로 계속 재정의하여 뼈대를 만든 다음, Depth First (트리에서 깊이 우선) 로 가장 작은 모듈들을 먼저 하나하나 구현해 나갔습니다. 중반부터는 UnitTest 코드를 삽입하기를 시도, 중후반부터는 UnitTest Code를 먼저 만들고 프로그램 코드를 나중에 작성하였습니다.
         int main ()
          Input ();
         void Input () {
         int main ()
          Input ();
         === Version 0.2 - Refinement ===
         void Input() {
          InputBoardSize();
          InputStartRoachPosition();
          InputRoachJourney();
         void InputBoardSize() {
         void InputStartRoachPosition() {
         void InputRoachJourney() {
          while (!IsFinished()) {
         BOOL IsFinished() {
         === Version 0.3 - Refinement More ===
         typedef int BOOL;
         void Input();
  • whiteblue/간단한계산기 . . . . 9 matches
         import javax.swing.*;
          JTextField inputField = new JTextField();
          GridBagConstraints c = new GridBagConstraints();
          c.fill = GridBagConstraints.BOTH;
          c.gridwidth = GridBagConstraints.REMAINDER; //end row
          gridbag.setConstraints(inputField, c);
          getContentPane().add(inputField);
          c.gridwidth = GridBagConstraints.LAST_LINE_END;
          c.gridwidth = GridBagConstraints.REMAINDER; //end row
          c.gridwidth = GridBagConstraints.LAST_LINE_END;
          c.gridwidth = GridBagConstraints.REMAINDER; //end row
          c.gridwidth = GridBagConstraints.LAST_LINE_END;
          c.gridwidth = GridBagConstraints.REMAINDER; //end row
          c.gridwidth = GridBagConstraints.LAST_LINE_END;
          c.gridwidth = GridBagConstraints.REMAINDER; //end row
          String name,
          GridBagConstraints c) {
          gridbag.setConstraints(button, c);
          public static void main(String[] args) {
  • 호너의법칙/조현태 . . . . 9 matches
         #include <iostream>
         #include <fstream>
         using namespace std;
         int input[11] = {3,3,3,3,3,3,3,3,3,3,3} ;
         const int INPUT_MAX=11;
         int x;
         int number_of_sum=0;
         int number_of_multiply=0;
         int Horner(int);
         void main()
          const int SIZE_OF_LINE=5;
          const int NUMBER_TO_CHAR=48;
          const int SIZE_OF_BLOCK=4;
          cin >> x;
          char write_temp[SIZE_OF_LINE][8+INPUT_MAX*SIZE_OF_BLOCK];
          for (register int i=0; i<8+INPUT_MAX*4; i++)
          strcpy(write_temp[1]," |index|");
          for (register int i=0; i<INPUT_MAX; i++){
          if (10<=input[i])
          write_temp[3][i*SIZE_OF_BLOCK+8]=input[i]/10+NUMBER_TO_CHAR;
  • DirectDraw/APIBasisSource . . . . 8 matches
         #ifndef WIN32_LEAN_AND_MEAN
         #define WIN32_LEAN_AND_MEAN
         #include <windows.h>
         LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
         int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
          wc.hInstance = hInstance;
          hWnd = CreateWindowEx( 0, "DXTEST", "DXTEST",
          WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT,
          CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL );
          ShowWindow(hWnd, nCmdShow);
          UpdateWindow(hWnd);
          return (int)msg.wParam;
          return (int)msg.wParam;
         LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
          return DefWindowProc(hWnd, msg, wParam, lParam);
  • LIB_1 . . . . 8 matches
          // Print Logo
          char *sen2 = "Check Running Task \n";
          char *sen3 = "Task Name Priority StackSize Running \n";
          LIB_VRAM_STRING(0,0,sen,0x04);
          LIB_VRAM_STRING(0,1,sen1,0x07);
          LIB_VRAM_STRING(0,2,sen2,0x07);
          LIB_VRAM_STRING(0,4,sen3,0x09);
          LIB_VRAM_STRING(0,12,"Total Interrupt Count :\n",0x09);
          LIB_VRAM_NUM(26,12,LIB_INT_COUNT,0x07);
         LIB_create_task (char* string,int,&task_point,task_size) 함수는
         void main()
          // init Scheduler Queue , TICKS and Parallel Port
          LIB_Init_Schedu(); // 스케쥴링을 위한 우선순위 큐를 초기화 하고
          LIB_init_prl(0); // 패러럴 포트를 정리한다.
         #if !defined(DEBUG)
          // init ISR
          LIB_INIT_ISR();
          LIB_VRAM_STRING(0,0," :: FATAL ERROR :: \n",0x07);
  • MineFinder . . . . 8 matches
          * 이름 : Mine Finder
          * 시스템 : 듀론 1G 256RAM WIN 2000
          * '눈' 해당 부분 - 지뢰찾기 프로그램으로부터 비트맵을 얻어 데이터로 변환하는 루틴 관련부. 현재 bitmap 1:1 matching 부분이 가장 부하가 많이 걸리는 부분으로 확인됨에 따라, 가장 개선해야 할 부분.
          * 추후 DP 로 확장된다면 StrategyPattern 과 StatePattern 등이 이용될 것 같지만. 이는 추후 ["Refactoring"] 해 나가면서 생각해볼 사항. 프로그램이 좀 더 커지고 ["Refactoring"] 이 이루어진다면 DLL 부분으로 빠져나올 수 있을듯. ('빠져나와야 할 상황이 생길듯' 이 더 정확하지만. -_-a)
          * Main Design, Algorithm 1차 완성. 어느정도 Refactoring의 추구.
          * Begineer mode 최고기록 1초, 평균 4-7초.
         [해성] 오오.. Artificial Intelligence.. -_- 근데 저 스펠링이 맞나..[[BR]]
         == Opening ==
          * 기본적으로는 Begineer Mode 만을 지원한다.
          * CppUnit - 이번 플밍때 윈도우 메세지 관련 처리에 대해서는 코드를 작성못했다. (이 부분에 대해서는 전통적인 Manual Test방법을 쓸 수 밖에. GUI Testing 관련 글을 더 읽어봐야 겠다. 아직 더 지식이 필요하다.) 단, 나중에 비트맵 분석부분 & Refactoring 시에 TFP 를 할 수 있게 되었다.
         지뢰찾기 프로그램의 윈도우클래스 이름이 '지뢰 찾기' 였다. 윈도우 OS 의 특징상 해당 윈도우 핸들간 메세지의 발생에 따라 해당 윈도우프로시저에서 처리가 된다. 해당 윈도우 핸들은 윈도우 클래스 이름을 아는 이상 FindWindow 함수를 이용해서 찾으면 될 것이다.
         beginner 에 해당하는 메뉴클릭시 발생하는 메세지는 WM_COMMAND 이고, ID는 wParam 으로 521이 날라간다. 즉, 해당 메뉴의 ID가 521 인 것이다. (우리는 컨트롤 아이디를 쓰지만 이는 resource.h 에서 알 수 있듯 전부 #define 매크로 정의이다.) 각각 찾아본 결과, 521,522,523 이였다.
          * [http://zeropage.org/~reset/zb/download.php?id=KDP_board_image&page=1&page_num=20&category=&sn=&ss=on&sc=on&keyword=&prev_no=&select_arrange=headnum&desc=&no=57&filenum=1 1차일부분코드] - 손과 눈에 해당하는 부분 코드를 위한 간단한 예제코드들 모음. 그리고 지뢰찾기 프로그램을 제어하는 부분들에 대해 Delegation 시도. (CMinerControler 클래스는 처음 '막 짠' 코드로부터 지뢰찾기 제어부분 함수들을 클래스화한것임)
         == User Story & Engineering Task ==
          * 기본적으로는 Begineer Mode 만을 지원한다.
          * 유의 : 이때는 Windows ME, Windows 2000 이상에서만 실행가능하다. (지뢰찾기 비트맵이 98과 다르다)
         || CMinerBitmapAnalyzer || 비트맵을 분석, 데이터화한다. ||
         || CMinerController || 지뢰찾기 프로그램에 대한 화면 캡쳐, 모드변환, 버튼 클릭 등의 제어를 한다 ||
         || CMineSweeper || 실질적인 두뇌에 해당되는 부분. CMinerController 와 CMinerBitampAnalyzer 를 멤버로 가지며, 이를 이용하여 게임상황분석, 지뢰찾기관련 판단 등을 한다 ||
         일종의 애니메이션을 하는 캐릭터와 같다. 타이머가 Key Frame 에 대한 이벤트를 주기적으로 걸어주고, 해당 Key Frame 에는 현재 상태에 대한 판단을 한뒤 동작을 한다. 여기서는 1초마다 MineSweeper 의 동작을 수행하게 된다.
  • OurMajorLangIsCAndCPlusPlus/errno.h . . . . 8 matches
         || extern int errno || 리턴값으로 에러 획인 ||
         ||1||int EPERM||허가되지 않은 작동; 파일의 소유자(또는 다른 자원)나 명령을 수행할수 있는 특별한 권리를 가진 프로세스.||
         ||2||int ENOENT||그러한 파일이나 디렉토리 없음: 이것은 이미 존재하고 있을 걸로 예상한 파일이 없는 경우에 일어 나는 "파일이 존재하지 않습니다"라는 에러이다.||
         ||3||int ESRCH||처리가 지정된 처리 ID와 합치되지 않는다.||
         ||4||int EINTR||가로채기 함수 호출;발생한 비동기 신호와 호출의 방해된 종료. 이럴 경우에 당신은 다시 호출을 시도해보라.||
         ||5||int EIO||입출력 에러;언제나 물리적인 입출력 에러에 사용됨.||
         ||6||int ENXIO||그런 장치나 주소가 없음. 시스템이 당신이 파일에서 설정한 장치를 사용하고자 하나 그러한 장치 를 찾을 수 없었다. 이것은 장치파일이 잘못 인스톨되었거나, 물리적인 장치를 빠뜨렸거나 또는 컴 퓨터와 제대로 부합되지 않았음을 의미한다. ||
         ||7||int E2BIG||인수가 너무 길다;실행함수에 의해서 실행되는 새로운 프로그램에 주어진 인수가 너무 큰 메모리 공간을 사용할 때.||
         ||8||int ENOEXEC||유효하지 않은 실행파일 포맷.||
         ||9||int EBADF||잘못된 파일 기록; 예를 들어,닫혀진 파일을 기록하려고 하든지 쓰기 모드로 열려진 파일을 읽으려 고 하는 경우(그 반대의 경우도)||
         ||10||int ECHILD||자식 프로세스(child process)가 없다. 이 에러는 자식 프로세스를 다루는 오퍼레시션을 사용했는 데 다루기위한 어느 프로세스도 존재하재 않을 때 발생한다.||
         ||11||int EAGAIN||자원을 일시적으로 사용할수 없다.; 그 호출은 나중에 당신이 다시 재시도 할수 있도록 한다. 오 직 분기점에서 이러한 이유로 EAGAIN에러 코드를 리턴한다.||
         ||12||int ENOMEM||이용할 메모리가 없음. 메모리 용량을 다 썼으므로 시스템이 더이상 메모리를 할당할 수 없다.||
         ||13||int EACCES||허용되지 않음;파일이 시도하려는 작동을 허용하지 않는다.||
         ||14||int EFAULT||주소 오류; 유효하지 않은 포인터가 발견됨.||
         ||16||int EBUSY||시스템 자원 사용중; 분배될 수 없는 시스템 자원이 이미 사용중일 때, 예를 들어: 현재 마 운트된 파일시스템의 루트에서 한개의 파일을 지우려 할 때에 이 에러를 만난다.||
         ||17||int EEXIST||파일이 존재: 새로운 파일로 만들겠다고 한 파일이 이미 존재한다.||
         ||18||int EXDEV||파일시스템이 인지할수 없는 영역에 부적당한 링크를 만들려고 시도할 때 이 에러메세지가 나온 다. 이것은 링크를 사용할때만 발생하지만 또, rename으로 파일을 재명명할 때 발생하기도 한다.||
         ||19||int ENODEV||디바이스의 특별한 정렬을 하는 함수에 주어진 디바이스가 잘못된 타입이다.||
         ||20||int ENOTDIR||필요하다고 요청된 디렉토리가 존재하지 않을 때 발생.||
  • OurMajorLangIsCAndCPlusPlus/limits.h . . . . 8 matches
          == C++ Integer Limits ==
         ||SCHAR_MIN ||부호있는 char형의 최소값 ||–128 ||
         ||CHAR_MIN ||char형의 최소값 ||–128; 0 if /J option used ||
         ||SHRT_MIN ||short형의 최소값 ||–32768 ||
         ||INT_MIN ||int형의 최소값 ||–2147483648 ||
         ||INT_MAX ||int형의 최대값 ||2147483647 ||
         ||UINT_MAX ||부호없는 int형의 최대값 ||4294967295 (0xffffffff) ||
         ||LONG_MIN ||long형의 최소값 ||–2147483648 ||
  • SmithNumbers/신재동 . . . . 8 matches
         #include <iostream>
         #include <vector>
         using namespace std;
         const int MAX_TEST = 100;
         const int MAX_PRIME_NUMBER = 100000;
         int MAIN_PRIME_NUMBER[MAX_PRIME_NUMBER] = {0,};
         int testCase;
         int number;
         int smithNumbers[MAX_TEST] = {0,};
         void input();
         void process(int i);
         int sumPositionOfNumber(int testNumber);
         int sumFactorizationOfNumber(int testNumber);
         bool isSmithNumber(int n);
         int factorization(int testNumber);
          int primeCount = 0;
          MAIN_PRIME_NUMBER[primeCount++] = 2;
          for (int i = 3; primeCount < MAX_PRIME_NUMBER; i += 2)
          for (int j = 0; j < primeCount; j++)
          if (i % MAIN_PRIME_NUMBER[j] == 0)
  • Star/조현태 . . . . 8 matches
         <embed src="http://zerowiki.dnip.net/~undinekr/lunia_ost1.mp3">
         [DeadLink]
         #include <iostream>
         #include <map>
         #include <vector>
         #include <algorithm>
         using namespace std;
         #define FALSE 0
         #define TRUE 1
         struct SavePoint{
          int x;
          int y;
          int z;
          SavePoint(int inputX, int inputY, int inputZ)
          x = inputX;
          y = inputY;
          z = inputZ;
          bool operator == (const SavePoint& target) const
          bool operator < (const SavePoint& target) const
         map<SavePoint, int>points;
  • 이영호/미니프로젝트#1 . . . . 8 matches
         OS : Linux 체제
         Language : C & Linux System Function
         1. Client Console에 메세지를 입력하면 IRC Server로 문자열을 전송한다. -> Main Process
         2. 서버로부터 메세지 중 PING 부분 처리 -> 1번째 Child Process
         main.c -> IRC Server로 메세지를 보내는 역할을 하고 자식 프로세스를 생성한다.
         request.c -> IRC Server로 부터 날아오는 PING에 대한 PONG 처리.
         우선 구현할 부분 : main의 일부, parse의 PING 처리부분, request 부분
         // 자동으로 #linux 채널까지 접속 됨.
         #include <stdio.h>
         #include <stdlib.h>
         #include <string.h>
         #include <sys/wait.h>
         #include <sys/types.h>
         #include <sys/socket.h>
         #include <netdb.h>
         #include <unistd.h>
         #include <arpa/inet.h>
         #define MSG_MAX 1024
         #define NICK "whoami_"
         #define HOST "irc.hanirc.org"
  • ATmega163 . . . . 7 matches
          * 130 Powerful Instruction - RISC MPU
          * Master / Slave SPI Serial Interface
          * Byte - oriented 2-wire Serial Interface
         == 웨비 사운드에서 구한 ATmega 163 L 보드에 관한 Testing ==
          * 용산 가서 9 pin 짜리 Serial Port 잭과 5.5volt 어덥터에 끼울 것을 준비한다.
          * 9 pin 에서 TX는 2번 RX 3번 접지는 5번에 연결 시킨다.
          * 이후 새롬 데이타맨에서 모뎀에 의한 연결로 SETTING하고 baud rate를 19300(ㅠㅠ) 로 설정 후 reset 버튼을 누르면 [[BR]]
         === AVR GCC Programming ===
          c:\avrgcc>에서 install을 실행 시킨 후 바탕화면의 avr-gcc 배치파일을 이용해 도스창을 열어서 쓴다.
         include $(AVR)/include/make1
         ########### change this lines according to your project ##################
          HEADER = ../Include
         #INCDIR means .h file search path
          INCDIR = . -I$(HEADER)
         #put the name of the target mcu here (at90s8515, at90s8535, attiny22, atmega603 etc.)
         #additional libraries and object files to link
         #additional includes to compile
          INC =
         #INCDIR means .h file search path
          INCDIR = . -I$(HEADER)
  • LIB_2 . . . . 7 matches
         씨에서는 interrupt란 예약어로 함수를 인터럽트 콜이 가능한 함수를 만들 수 있다.[[BR]]
         void interrupt LIB_ISR(...){
          LIB_INT_COUNT++;
          for ( int i = 0 ; i < suspend_tcb_ptr + 1; i++ ){
          /////////////// CONTEXT SWITCHING
         void LIB_INIT_ISR(){
          LIB_INT_NESTING = 0;
          INT16U Time_Vect = 0x08 * 4;
          int86(0x27,®s,®s);
         void interrupt LIB_context_sw(){
          /////////////// CONTEXT SWITCHING
  • PerformanceTest . . . . 7 matches
         Windows 에서의 수행시간측정 방법.
          BOOL QueryPerformanceFrequency(LARGE_INTEGER* param)
          BOOL QueryPerformanceCounter(LARGE_INTEGER* param)
         상기 두 Windows API함수를 사용해서 수행 시간을 측정 할 수 있습니다.
         다음은 Binary Search 의 퍼포먼스 측정관련 예제. CTimeEstimate 클래스를 만들어 씁니다.
          #include <windows.h>
          #include <time.h>
          #include <stdio.h>
          __int64 m_nStart, m_nEnd, m_nFreq;
          QueryPerformanceFrequency((LARGE_INTEGER*)&m_nFreq);
          QueryPerformanceCounter((LARGE_INTEGER*)&m_nStart);
          QueryPerformanceCounter((LARGE_INTEGER*)&m_nEnd);
          void Init (int S[]);
          int getRandNum (int nBoundary);
          int BinarySearch (int nBoundary, int S[], int nKey);
          int main (void)
          int S[30001];
          int i, nRandNum, nLocation;
          int nBoundary = 2000;
          Init (S);
  • ProjectVirush/Prototype . . . . 7 matches
         //Project -> Setting -> LINK 메뉴 -> Object/library modules: 의 끝부분에 ws2_32.lib 를 추가한다.
         #include <stdio.h>
         #include <winsock2.h>
         #define PORT 9999 // 서버의 9999번 포트를 연다
         #define BACKLOG 5
         #define SERVER_IP "127.0.0.1"
         main(){
          SOCKADDR_IN server_addr; // 네트워크의 정보를 담을 structure 생성.
          int queslen;
          server_sock = socket(AF_INET, SOCK_STREAM, 0);
          memset((SOCKADDR_IN *)&server_addr, 0, sizeof(SOCKADDR_IN));
          // struct sockaddr_in -> SOCKADDR_IN
          server_addr.sin_family = AF_INET;
          server_addr.sin_addr.s_addr
          = inet_addr(SERVER_IP); // 로컬 주소로 설정한다.
          server_addr.sin_port = htons(PORT);
          fprintf(stderr, "서버에 connect 할 수 없습니다."), exit(1);
          for( int i = 0 ; i < 3 ; i++ ){
          printf( "I have to answer the next question. %s\n", question);
          fprintf(stderr, "send error");
  • PythonNetworkProgramming . . . . 7 matches
         만일 winsock 을 쓰고 싶다면 windows extension libary 들을 설치해주면 된다.
         sock = socket(AF_INET, SOCK_STREAM)
         sock = socket(AF_INET, SOCK_STREAM)
         sock.bind(("localhost",port))
          print "Client connected:",client_addr
          print data
         UDPSock = socket(AF_INET, SOCK_DGRAM)
         UDPSock.bind(addr)
          print "Client has exited!"
          print "\n Received message '", data,"'"
         UDPSock = socket(AF_INET, SOCK_DGRAM)
         print "\n", def_msg
          data = raw_input('>> ')
          print "Sending message '",data,"'..."
         from threading import *
          def __init__(self, aServer):
          Thread.__init__(self)
          print address
          self.listenSock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP)
          self.listenSock.bind(here)
  • 2006년4학년1학기수업 . . . . 6 matches
         || 1(9:00) || || 전자상거래 4452 || || 전자상거래 4452 || LINUX시스템 4452 ||
         || 2(10:00) || || 전자상거래 4452 || || LINUX시스템 4452 || LINUX시스템 4452 ||
         || 1(9:00) || || 전자상거래 4452 || || 전자상거래 4452 || LINUX시스템 4452 ||
         || 2(10:00) || || 전자상거래 4452 || || LINUX시스템 4452 || LINUX시스템 4452 ||
  • API/WindowsAPI . . . . 6 matches
         #include <windows.h>
         LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
         HINSTANCE g_hInst;
         int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance
          ,LPSTR lpszCmdParam,int nCmdShow)
          g_hInst=hInstance;
          WndClass.hInstance=hInstance;
          hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
          NULL,(HMENU)NULL,hInstance,NULL);
          ShowWindow(hWnd,nCmdShow);
         LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
          return(DefWindowProc(hWnd,iMessage,wParam,lParam));
         = Explained =
         [http://www.winapi.co.kr/win32lec/lec2/lec2-1-1.htm WinAPI 강좌]
  • AseParserByJhs . . . . 6 matches
         //#define OBJECT_BEGIN "*NODE_TM"
         #define OBJECT_BEGIN "*GEOMOBJECT"
         #define OBJECT_NAME "*NODE_NAME"
         #define OBJECT_POS "*TM_POS"
         #define NUM_VERTEX "*MESH_NUMVERTEX"
         #define NUM_FACES "*MESH_NUMFACES"
         #define NUM_TVERTEX "*MESH_NUMTVERTEX"
         #define NUM_TFACES "*MESH_NUMTVFACES"
         #define NUM_TEXTURE "*MATERIAL_COUNT"
         #define VERTEX_LIST "*MESH_VERTEX_LIST"
         #define VERTEX "*MESH_VERTEX"
         #define FACE_LIST "*MESH_FACE_LIST"
         #define FACE "*MESH_FACE"
         #define NORMALS "*MESH_NORMALS"
         #define FACE_NORMAL "*MESH_FACENORMAL"
         #define NVERTEX "*MESH_VERTEXNORMAL"
         #define TVERTEX "*MESH_TVERT"
         #define TFACE "*MESH_TFACE"
         #define TEXTURE "*BITMAP"
         #define TEXTURE_ID "*MATERIAL_REF"
  • DermubaTriangle/조현태 . . . . 6 matches
         #include <iostream>
         #include <Windows.h>
         #include <math.h>
         using namespace std;
         POINT GetTrianglePoint(int houseNumber)
          POINT trianglePoint;
          trianglePoint.x = 0; trianglePoint.y = 0;
          for (; trianglePoint.y * trianglePoint.y <= houseNumber; ++trianglePoint.y);
          --trianglePoint.y;
          houseNumber -= trianglePoint.y * trianglePoint.y;
          for (trianglePoint.x = trianglePoint.y * (-1); 0 < houseNumber; ++trianglePoint.x)
          return trianglePoint;
         double GetHousePointX(POINT trianglePoint)
          return trianglePoint.x * 0.5;
         double GetHousePointY(POINT trianglePoint)
          if ((0 == abs(trianglePoint.y) % 2 && 0 == abs(trianglePoint.x) % 2) ||
          (1 == abs(trianglePoint.y) % 2 && 1 == abs(trianglePoint.x) % 2))
          return trianglePoint.y * (sqrt(3.0) / 2);
          return ((trianglePoint.y - 1) * (sqrt(3.0) / 2)) + (sqrt(3.0) / 3);
         double GetHouseDistance(POINT trianglePointOne, POINT trianglePointAnother)
  • Java/ModeSelectionPerformanceTest . . . . 6 matches
          public void printPerformance(String[] modeExecute) {
          for (int i = 0; i < ModeChoicePerformanceTest.LOOPING_COUNT; i++) {
          System.out.println("if - else elapsed time :" + (end - start) + "ms ");
          private void executeIfElse(String[] modeExecute) {
          for (int i = 0; i < modeExecute.length; i++) {
          public void executeWithIfElse(String mode) {
          public void doOne(int i) {
          public void doTwo(int i) {
          public void doThree(int i) {
          public void doFour(int i) {
          public void doFive(int i) {
          public void doDefault(int i) {
         Seminar:WhySwitchStatementsAreBadSmell 에 걸리지 않을까? 근데.. 그에 대한 반론으로 들어오는것이 '이건 mode 분기이므로 앞에서의 Switch-Statement 에서의 예와는 다른 상황 아니냐. 어차피 분기 이후엔 그냥 해당 부분이 실행되고 끝이다.' 라고 말할것이다. 글쌔. 모르겠다.
         한편으로 느껴지는 것으로는, switch 로 분기를 나눌 mode string 과 웹 parameter 와의 중복이 있을 것이라는 점이 보인다. 그리고 하나의 mode 가 늘어날때마다 해당 method 가 늘어나고, mode string 이 늘어나고, if-else 구문이 주욱 길어진다는 점이 있다. 지금은 메소드로 추출을 해놓은 상황이지만, 만일 저 부분이 메소드로 추출이 안되어있다면? 그건 단 한마디 밖에 할말이 없다. (단, 저 논문을 아는 사람에 한해서) GotoStatementConsideredHarmful.
         import java.lang.reflect.InvocationTargetException;
          public void printPerformance(String[] modeExecute) throws InvocationTargetException, IllegalAccessException {
          for (int i = 0; i < ModeChoicePerformanceTest.LOOPING_COUNT; i++) {
          System.out.println("elapsed time :" + (end - start) + "ms ");
          private void executeReflection(String[] modeExecute) throws InvocationTargetException, IllegalAccessException {
          for (int i = 0; i < modeExecute.length; i++) {
  • MFC/HBitmapToBMP . . . . 6 matches
         BOOL CImageTool::ExportAsBMP(int type, char *filename, CDC *pDC,
          HBITMAP hBitmap, int nWidth, int nHeight)
          unsigned int size, palsize;
          header.bfOffBits = sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+
         BYTE *CImageTool::GetBMP(int type, int w, int h, HBITMAP hBitmap,
          HDC hdc, unsigned int *size)
          LPBITMAPINFO lpvBits;
          int width,palsize;
          *size = sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*palsize+width*h;
          lpvBits = (BITMAPINFO *)malloc(*size);
          lpbi = (BYTE *)lpvBits+sizeof(BITMAPINFOHEADER) +
          lpvBits->bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
  • RandomWalk2/조현태 . . . . 6 matches
         #include <iostream>
         #include <string>
         using namespace std;
         #define MOVED_POINT 1
         bool IsHaveZero(int worldSizeX, int worldSizeY, int** target)
          for (register int i = 0; i < worldSizeX; ++i)
          for (register int j = 0; j < worldSizeY; ++j)
         int main()
          int** myWorld;
          int worldSizeX = 0;
          int worldSizeY = 0;
          cout << "input world size \n>>";
          cin >> worldSizeX >> worldSizeY;
          myWorld = new int*[worldSizeX];
          for (register int i = 0; i < worldSizeX; ++i)
          myWorld[i] = new int[worldSizeY];
          for (register int j = 0; j < worldSizeY; ++j)
          int myPointX = 0;
          int myPointY = 0;
          cout << "input start point \n>>";
  • SummationOfFourPrimes/1002 . . . . 6 matches
         for eachGenNumberFour in GenNumbersFour
          print eachGenNumberFour
         print "impossible"
          def __init__(self,aNum):
          for i in range(2,self.size+1):
          for eachValue in self.resultTable:
          for i in range(sizeOfList):
          for j in range(sizeOfList):
          for k in range(sizeOfList):
          for l in range(sizeOfList):
          def __init__(self,aNum):
          for i in range(2,self.size+1):
          for eachValue in self.resultTable:
          for i in range(sizeOfList):
          for j in range(sizeOfList):
          for k in range(sizeOfList):
          for l in range(sizeOfList):
         def main():
          n = int(raw_input('input number : '))
          for eachPrimeNumberSeq in selectionFour(primeNumberList.getList()):
  • TAOCP/Exercises . . . . 6 matches
          INC1 1
         INCX 1 - 0 0 0 0 9
         아마도 이렇게 수정해야할듯(INCX 1 부터 비교해보시오)
         INCX 1 - 0 0 0 0 63
          INCA 2
          INCA 5
  • TkinterProgramming/HelloWorld . . . . 6 matches
         from Tkinter import *
         def print_console():
          print 'WELCOME TO TKINTER PROGRAMMING'
         m = Label(frame, text = "TKINTER PROGRAMMING")
         p_button = Button(frame, text = "PRINT", command = print_console)
         root.mainloop()
          def __init__(self, master):
          self.p_button = Button(master, text="PRINT", command = self.print_msg)
          def print_msg():
          print"HELLO WORLD"
         root.mainloop()
  • WinAPI/2011년스터디 . . . . 6 matches
         ||WS_MINIMIZE||4.최소화된 상태로 윈도우 만들기 ||
         ||WS_CLIPSIBLINGS||7.차일드끼리 겹친영역은 그리기영역에서 제외 ||
         ||WS_MINIMIZEBOX||19.최소화 버튼 ||
         ||WS_OVERLAPPEDWINDOW||1,10,15,16,19,20 가장흔함||
         ||WS_POPUPWINDOW||2,11,15 일반 팝업창||
         ||WS_CHILDWINDOW||3 차일드 윈도||
  • WinampPluginProgramming/DSP . . . . 6 matches
         winamp SDK 를 받으면 sample 로 있는 dspecho 에 대한 분석.
         // Winamp test dsp library 0.9 for Winamp 2
         // Copyright (C) 1997, Justin Frankel/Nullsoft
         // Feel free to base any plugins on this "framework"...
         #include <windows.h>
         #include <commctrl.h>
         #include "dsp.h"
         #include "resource.h"
         // avoid stupid CRT silliness
         BOOL WINAPI _DllMainCRTStartup(HANDLE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
         int g_pitch=100;
         int delta = 1;
         // pitch control window
         // auxilary pitch buffer (for resampling from)
         int pitch_buffer_len=0;
         int quit_pitch=0;
         winampDSPModule *getModule(int which);
         void config(struct winampDSPModule *this_mod);
         int init(struct winampDSPModule *this_mod);
         void quit(struct winampDSPModule *this_mod);
  • WinampPlugin을이용한프로그래밍 . . . . 6 matches
         winamp 의 plugin 을 이용한 프로그래밍
         winamp 의 경우 다양한 plugin 를 지원한다.
         input plugin은 해당 화일을 읽어드리고 output plugin 으로의 출력을 소스를 제공한다. output plugin 은 출력 소스를 사운드카드나 하드 디스크로의 출력을 관장한다. 이 중간에 DSP 와 Visual plugin 이 callback 으로 결과물을 받은뒤 변수들을 이용한다.
         컴파일하려면 in2.h 와 Out.h 가 필요하다. 이는 http://www.winamp.com/nsdn/ 에서 Winamp SDK를 다운받는다.
         http://download.nullsoft.com/winamp/client/wa502_sdk.zip
         #include <windows.h>
         #include <stdio.h>
         #include "in2.h"
         // define procedures, that'll be found in a .DLL
         typedef In_Module* (*INHDRPROC)(void);
         int dsp_donothing(short int *, int cnt, int, int, int) {
         int dsp_isactive() {
         void SAVSAInit(int maxlatency_in_ms, int srate){
         void SAVSADeInit(){
         void SAAddPCMData(void *PCMData, int nch, int bps, int timestamp){
         // printf ("%d,%d,%d\n", nch,bps,timestamp);
         int SAGetMode(){
         void SAAdd(void *data, int timestamp, int csa){
         void VSAAddPCMData(void *PCMData, int nch, int bps, int timestamp){
         // printf ("%d,%d,%d\n", nch,bps,timestamp);
  • 새싹교실/2011/무전취식/레벨10 . . . . 6 matches
         == Ice Breaking ==
          * 헤더(*.h) 파일을 하나 더 알게되었습니다 string.h
         #include<stdio.h>
         #include<string.h>
         void main(){
          int count ,i;
          {printf("Not Pel") ;
          else printf("pel");
         #include<stdio.h>
         void main()
          int num[5];
          int newnum[3];
          int max = 0 ,min = 9999;
          int selectMin,selectMax;
          int count=0;
          int i;
          int sum;
          if (num[i]<min){
          min=num[i];
          selectMin = i;
  • 이영호/My라이브러리 . . . . 6 matches
         // 성공시 0, 실패시 -1 반환. (socket에서 에러가 났는지 bind에서 에러가 났는지 구분이 힘들겠지만, socket이 할당 되지 않는 경우는 적으므로 bind 에러임.)
         // Bind 에러에서도 서버를 재가동 할 경우 resueaddr 로 flag를 설정했기 때문에, Port 에러 뿐임. 이미 Port를 사용할 때만 에러가 남.
         int tcp_server_init(int *sockfd, struct sockaddr_in *ina, uint16_t port);
         int udp_server_init(int *sockfd, struct sockaddr_in *ina, uint16_t port);
         int set_reuseaddr(int *sockfd); // 성공시 0반환 실패시 -1 반환.
         int send_msg(int sockfd, const *msg);
         #include <sys/types.h>
         #include <sys/socket.h>
         #include <netdb.h>
         #include <arpa/inet.h>
         #if !defined(TURE)
         #define TRUE 1
         #if !defined(FALSE)
         #define FALSE 0
         int tcp_server_init(int *sockfd, struct sockaddr_in *ina, uint16_t port)
          int option;
          *sockfd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
          memset((struct sockaddr *)ina, 0, sizeof(struct sockaddr));
          (*ina).sin_family = AF_INET;
          (*ina).sin_addr.s_addr = INADDR_ANY;
  • 2dInDirect3d/Chapter2 . . . . 5 matches
         = Creating a Device =
          UINT Adapter, // 어댑터의 번호, D3DADAPTER_DEFAULT를 사용
          HWND hFocusWindow, // 현재 창의 HWND를 넣어준다.
          IDirect3DDevice8** ppReturnedDeviceInterface
          2. BehaviorFlag에는 버텍스를 처리하는 방법을 넣어준다. D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING, D3DCREATE_SOFTWARE_VERTEXPROCESSING중 한가지를 사용한다. (사실은 더 많은 옵션이 있다.) 대개 마지막 SOFTWARE를 사용한다.
         MinZ = 0.0f : Z의 최소값. 대개 0.0f
          HWND hDestWindowOverride,
          1. 결과값은 D3D_OK, 실패했을경우엔 D3D_INVALIDCALL이나 D3D_DEVICELOST가 리턴된다.
         ["2dInDirect3d"]
  • 5인용C++스터디/더블버퍼링 . . . . 5 matches
         #include "resource.h"
         int my;
         void DrawBitmap(HDC hdc,int x,int y,HBITMAP hBit)
         int bx,by;
         int i,j;
         GetClientRect(hWndMain,&crt);
         hdc=GetDC(hWndMain);
          KillTimer(hWndMain,1);
         ReleaseDC(hWndMain,hdc);
         InvalidateRect(hWndMain,NULL,FALSE);
         LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)
         PAINTSTRUCT ps;
          hBaby=LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BITMAP1));
         case WM_PAINT:
          hdc=BeginPaint(hWnd, &ps);
          EndPaint(hWnd, &ps);
         return(DefWindowProc(hWnd,iMessage,wParam,lParam));
         ||[[HTML(<img src = http://www.winapi.co.kr/win32lec/lecnew/21-5-3.files/image002.jpg>)]]||
         ||[[HTML(<img src = http://www.winapi.co.kr/win32lec/lecnew/21-5-3.files/image004.jpg>)]]||
         ||[[HTML(<img src = http://www.winapi.co.kr/win32lec/lecnew/21-5-3.files/image006.jpg>)]]||
  • 5인용C++스터디/버튼과체크박스 . . . . 5 matches
         afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
         BEGIN_MESSAGE_MAP(CMy111View, CView)
         int CMy111View::OnCreate(LPCREATESTRUCT lpCreateStruct)
         ||Value|| Meaning ||
         ||BST_INDETERMINATE|| Button state is indeterminate (applies only if the button has the BS_3STATE or BS_AUTO3STATE style). ||
          else if(check3==BST_INDETERMINATE)
  • ACE/HelloWorld . . . . 5 matches
         === Project Setting ===
          * include path 에 ace 라이브러리가 있는 곳의 경로를 넣어준다. [임인택]의 경우 {{{~cpp E:libc&c++ACE_wrappers}}}.
          * project setting 에서 link 탭에 aced.lib (디버그용), 또는 ace.lib 을 추가한다. (프로젝트 홈 디렉토리에 lib, dll 파일이있거나 path 가 걸려있어야 한다. 혹은 additional library path에 추가되어 있어야 한다)
          * project setting 에서 c++ 탭에 code generation->use run-time library 에서 (debug) multithreaded 또는 (debug) multithreaded dll (무슨차이가 있는지 아직 확실하게 모르겠다)
         #include "ace/Log_Msg.h"
         int ACE_TMAIN(int, ACE_TCHAR *[] )
          ACE_DEBUG((LM_INFO, ACE_TEXT("Hello, World!!n")));
         BIN = test # 소스파일과 같아야한다. 이 Makefile은 test.cpp 를 찾아 빌드하려고 할 것이다.
         BUILD = $(VBIN)
         SRC = $(addsuffix .cpp,$(BIN))
         include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
         include $(ACE_ROOT)/include/makeinclude/macros.GNU
         include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
         include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
         include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU
         include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
  • CppUnit . . . . 5 matches
         VC 7.0 용 세팅 화면 들만 추가합니다. --NeoCoin
         [http://janbyul.com/moin/moin.cgi/CppUnit/HowTo/Kor 이곳]에 VS2005용 설정방법을 간단하게 정리해둠. - 임인택
          === include, library directory 맞춰주기 (둘중 하나를 선택한다.) ===
          Include : {{{~cpp ...\cppunit-x.x.xinclude }}}
          a. Tools -> Options -> Directories -> Include files 에서 해당 cppunit
          a. Project -> Settings -> C/C++ -> Preprocessor -> Additional include directories
          a. Project -> Settings -> Link -> Input -> Additional Library directories
          * Project Setting - Link - General - object/library 에 cppunitd.lib, testrunnerd.lib 를 추가해준다.
          * 해당 프로젝트가 있는 곳의 debug 등의 디렉토리에 해당 lib 디렉토리에 있는 testrunnerd.dll 을 복사해준다. 이는 Project Setting - Post-Build-step 의 Post-build-command 에 다음을 추가해주면 컴파일 할때마다 dll 화일을 자동으로 복사해준다.
          * Project Setting - Code Generation - Use Run-Time library 를 다음으로 맞춰준다.
         #include <msvc6/testrunner/testrunner.h>
         #include <cppunit/extensions/testfactoryregistry.h>
         BOOL CMyApp::InitInstance () {
         #define CPP_UNIT_EXAMPLETESTCASE_H
         #include <cppunit/TestCase.h>
         #include <cppunit/extensions/HelperMacros.h>
         #include "stdafx.h" // MFC 인 경우.
         #include "hostapp.h" // MFC 인 경우 해당 App Class
         #include "ExampleTestCase.h"
         #include <iostream>
  • LinuxProgramming/SignalHandling . . . . 5 matches
          SIGBUS - bus error "access to undefined portion of memory object"(SUS)
          SIGCHLD - child process terminated, stopped (*or continued)
          SIGCONT - continue if stopped
          SIGFPE - floating point exception -- "erroneous arithmetic operation"(SUS)
          SIGILL - illegal instruction
          SIGINT - interrupt
          SIGPIPE - write to pipe with no one reading
          SIGSTOP - stop executing
          SIGTERM - termination
          SIGTSTP - terminal stop signal
          SIGTTIN - background process attempting to read ("in")
          SIGTTOU - background process attempting to write ("out")
          SIGUSR1 - user defined 1
          SIGUSR2 - user defined 2
          SIGPROF - profiling timer expired
          SIGTRAP - trace/breakpoint trap
          SIGVTALRM - signal raised by timer counting virtual time -- "virtual timer expired"(SUS)
         int signal() 예제
         desc: ctrl + c handling
         #include <stdio.h>
  • MoreEffectiveC++/Exception . . . . 5 matches
         여기에서 재미있는 기법을 이야기 해본다. 차차 소개될 smart pointer와 더불어 Standard C++ 라이브러리에 포함되어 있는 auto_ptr template 클래스를 이용한 해결책인데 auto_prt은 이렇게 생겼다.
          void displayIntoInfo(const Information& info)
          WINDOW_HANDLE w(createWindow());
          display info in window corresponding to w;
          destroyWindow(w);
         일반적으로 C의 개념으로 짜여진 프로그램들은 createWindow and destroyWindow와 같이 관리한다. 그렇지만 이것 역시 destroyWindow(w)에 도달전에 예외 발생시 자원이 세는 경우가 생긴다. 그렇다면 다음과 같이 바꾸어서 해본다.
          WindowHandle(WINDOW_HANDLE handle) : w(handle) {}
          ~WindowHandle() {destroyWindow(w); }
          operator WINDOW_HANDLE() {return w;}
          WINDOW_HANDLE w;
          WindowHandle(const WindowHandle&);
          WindowHandle& operator=(const WindowHandle);
          void displayIntoInfo(const Information& info)
          WINDOW_HANDLE w(createWindow());
          display info in window corresponding to w;
         == Item 10: Prevent resource leaks in constructors. ==
          Image(const string& imageDataFileName);
          AudioClip(const string& audioDataFileName);
          BookEntry(const string& name,
          const string& address = "",
  • NamedPipe . . . . 5 matches
         A named pipe is a named, one-way or duplex pipe for communication between the pipe server and one or more pipe clients. All instances of a
         named pipe share the same pipe name, but each instance has its own buffers and handles, and provides a separate conduit for client-server communication. The use of instances enables multiple pipe clients to use the same named pipe simultaneously.
         Any process can access named pipes, subject to security checks, making named pipes an easy form of communication between related or unrelated processes. Named pipes can be used to provide communication between processes on the same computer or between processes on different computers across a network.
         Any process can act as both a server and a client, making peer-to-peer communication possible. As used here, the term pipe server refers to a process that creates a named pipe, and the term pipe client refers to a process that connects to an instance of a named pipe.
         == 2. using ==
         #include <stdio.h>
         #include <stdlib.h>
         #include <string.h>
         #include <windows.h>
         VOID InstanceThread(LPVOID); // 쓰레드 함수
         int xx = 0;
         DWORD main(VOID)
         // The main loop creates an instance of the named pipe and
          PIPE_WAIT, // blocking mode
          PIPE_UNLIMITED_INSTANCES, // max. instances
          BUFSIZE, // input buffer size
          if (hPipe == INVALID_HANDLE_VALUE)
          (LPTHREAD_START_ROUTINE) InstanceThread, // InstanceThread를 생성시킨다.
         VOID InstanceThread(LPVOID lpvParam)
         // The thread's parameter is a handle to a pipe instance.
  • VendingMachine/재니 . . . . 5 matches
          * 먼저 자판기(VendingMachine)이 필요할 것이고,
          * 자판기는 사용자 인터페이스를 구현하는데 사용하고, 사람이 주문할 음료(Drink)를 따로 분류하자..
          * 그러면 주문을 할 때 돈이 필요하니까 돈을 세는 계수기 비슷한 것(CoinCounter)도 필요할 것 같다..^^
         #include <iostream>
         #include <cstring>
         using namespace std;
         int selection, num;
          cin >> selection;
         class CoinCounter{
          int remainders, coin;
          void resetCoins(){
          remainders = 0;
          void showRemainders(){
          cout << "REMAINDERS : " << remainders << endl;
          void insertCoins(){
          cin >> coin;
          if (coin == 1) coin = 10;
          else if (coin == 2) coin = 50;
          else if (coin == 3) coin = 100;
          else if (coin == 4) coin = 500;
  • html5/webSqlDatabase . . . . 5 matches
         if(!!window.openDatabase) {
         == Indexed Database ==
          * SeeAlso) [html5/indexedDatabase]
          * Indexed Database는 새로 등장한 또다른 로컬 저장소 스펙이다
          * 현재 Web SQL Database 는 사양 책정이 중지된 상태이며, IndexedDB 라는 새로운 스펙이
          alert('Something unexpected happened: ' + e.message );
          'todo(ID INTEGER PRIMARY KEY ASC, todo TEXT, added_on DATETIME)', []);
          tx.executeSql('INSERT INTO todo(todo, added_on) VALUES (?,?)',
          todoItems.innerHTML = rowOutput;
         == hooking it all up ==
         === init ===
         function init() {
         <body onload="init();">
         === adding ===
          tx.executeSql('INSERT INTO foo (id, text) VALUES (1, "synergies")');
          * http://html5doctor.com/introducing-web-sql-databases/
  • 김희성/리눅스계정멀티채팅 . . . . 5 matches
         #include<stdio.h>
         #include<stdlib.h>
         #include<string.h>
         #include<unistd.h>
         #include<arpa/inet.h>
         #include<sys/types.h>
         #include<sys/socket.h>
         #include<pthread.h>
         #define BUFF_SIZE 1024
         int thread_num[25]; //스레드 번호 (해당 스레드 활성화시 번호 값 + 1, 비활성화시 0)
         int client_socket_array[25]; //클라이언트 소캣, 각 스레드 마다 자신의 번호에 해당하는 소캣 사용
         int id_num;
         void* rutine(void* data)//data = &thread_num[스레드 번호]
          int t_num,i_num;//스레드 번호, 아이디 번호
          int client_socket;
          int rcv;
          int i,j;
          t_num=*((int*)data);
          sprintf(buff_snd,"test\n");
          printf("%dth client connected\n",t_num);
  • 김희성/리눅스계정멀티채팅2차 . . . . 5 matches
         #include<stdio.h>
         #include<stdlib.h>
         #include<string.h>
         #include<unistd.h>
         #include<arpa/inet.h>
         #include<sys/types.h>
         #include<sys/socket.h>
         #include<pthread.h>
         #define BUFF_SIZE 1024
         #define ACCEPT 0
         #define REJECT 1
         #define DISCONNECT -1
         int thread_num[25]; //스레드 번호 (해당 스레드 활성화시 번호 값 + 1, 비활성화시 0)
         int thread_id[25]; //스레드 ID 번호
         int client_socket_array[25]; //클라이언트 소캣, 각 스레드 마다 자신의 번호에 해당하는 소캣 사용
         int id_num;
         int stcmp(char* a,char *b)
          int i;
         int send_i(int client_socket,char* arry)//명령어 전송
          sprintf(buff_snd,"i %s\n",arry);
  • 김희성/리눅스멀티채팅 . . . . 5 matches
         #include<stdio.h>
         #include<stdlib.h>
         #include<string.h>
         #include<unistd.h>
         #include<arpa/inet.h>
         #include<sys/types.h>
         #include<sys/socket.h>
         #include<pthread.h>
         #define BUFF_SIZE 1024
         int thread_num[25];//스레드 번호 (해당 스레드 활성화시 번호 값 + 1, 비활성화시 0)
         int client_socket_array[25];//클라이언트 소캣, 각 스레드 마다 자신의 번호에 해당하는 소캣 사용
         void* rutine(void* data)//data = &thread_num[스레드 번호]
          int num;
          int client_socket;
          int rcv;
          int i;
          num=*((int*)data);
          printf("%s\n",buff_rcv);
          sprintf(buff_snd,"test\n");
          printf("%dth client connected\n",num);
  • 레밍즈프로젝트/프로토타입/마스크이미지 . . . . 5 matches
          void DrawBitMap(UINT ITEM, int x, int y, UINT rop=SRCCOPY){
          BITMAP bitmapInfo;
          newBitmap.GetBitmap(&bitmapInfo);
          m_pMemDC->BitBlt(x, y, bitmapInfo.bmWidth, bitmapInfo.bmHeight, &BitMapDC, 0, 0, rop);
          void DrawMaskBitMap(UINT MASKITEM, UINT IMGITEM, int x, int y){
          this->DrawBitMap(IMGITEM, x, y, SRCPAINT);
  • 방울뱀스터디/GUI . . . . 5 matches
         == 창(Window) 만드는법 ==
         from Tkinter import *
         root.mainloop()
         entry.insert(0, '') # 처음부분에 공백 문자열을 추가
         var = IntVar() # 0을 초기값으로 하는 정수 변수 ()속에 숫자를 넣어주면 그값으로 초기화됨.
         var = IntVar()
         Radiobutton 함수호출에서 indicatoron=0을 넣어주면 라디오버튼모양이 푸시버튼모양으로 된다.
         textArea.insert(END, "Hello")
         textArea.insert(INSERT, "world")
         textArea.insert(1.0, "!!!!!")
         textArea.window_create(INSERT, window=button)
         INSERT는 현재 커서위치에 삽입
         window_create대신에 image_create를 이용하여 단추를 문서 안에 추가시킬수도 있음.
         textArea.deletet(INSERT) # 현재 문자 삭제
         index = textArea.index(INSERT)
         index에 '1.17'과 같은 값이 리턴됨.
  • 오목/휘동, 희경 . . . . 5 matches
         // grimView.h : interface of the CGrimView class
         #if !defined(AFX_GRIMVIEW_H__A8571F68_AE69_11D7_A974_0001029897CD__INCLUDED_)
         #define AFX_GRIMVIEW_H__A8571F68_AE69_11D7_A974_0001029897CD__INCLUDED_
         const int size = 30;
         const int room = 30;
          int x[room*room], y[room*room], number;
          virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
          virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
          virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
          virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
          afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
         #ifndef _DEBUG // debug version in grimView.cpp
         inline CGrimDoc* CGrimView::GetDocument()
         //{{AFX_INSERT_LOCATION}}
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
         #endif // !defined(AFX_GRIMVIEW_H__A8571F68_AE69_11D7_A974_0001029897CD__INCLUDED_)
  • 이차함수그리기/조현태 . . . . 5 matches
         #include <iostream>
         #include <windows.h>
         using namespace std;
         const int MIN_X=-5;
         const int MAX_X=5;
         int banollim(float number)
          float temp_sosu=number-(int)number;
         void gotoxy(int x, int y)
         void make_image(int where_x, int where_y, float min_x, float max_x, float tab_x, float tab_y)
          int max_y=0;
          int min_y=function_x_to_y(min_x);
          for (register float x=min_x; x<=max_x; x+=tab_x)
          else if (min_y>function_x_to_y(x))
          min_y=function_x_to_y(x);
          for (register float x=min_x; x<=max_x; ++x)
          gotoxy(banollim(x-min_x+1+where_x),(where_y+max_y*tab_y));
          printf (".");
          for (register float y=min_y; y<=max_y; ++y)
          gotoxy(banollim(-min_x+1+where_x),(where_y-banollim(y)*tab_y+max_y*tab_y));
          printf (".");
  • 중위수구하기/김태훈zyint . . . . 5 matches
          a : <INPUT TYPE="text" NAME="a"><br>
          b : <INPUT TYPE="text" NAME="b"><br>
          c : <INPUT TYPE="text" NAME="c">
         <INPUT TYPE="hidden" name=mode value=action><INPUT TYPE="submit" name=submit value=전송>
          * 오랜만이군 PHP 고등학교 때 이거배워 PHP 사이트 Hacking 하고 다녔는데. 근데 C랑 비슷해. 쉬운 변수형의 C -_-ㅋㅋ --영호
  • 창섭/BitmapMasking . . . . 5 matches
         || SRCPAINT || OR 연산 ||
         || SRCINVERT || XOR 연산 ||
         || 원본과 상대할(?) 색 || SRCAND(AND)의 결과 || SRCPAINT(OR)의 결과 ||
         http://165.194.17.15/~wiz/data/zpwiki/originalbmp.bmp
          1. 그림을 '''SRCPAINT''' 연산 한다.
          1. 마스크를 '''SRCPAINT''' 연산 한다.
  • 5인용C++스터디/소켓프로그래밍 . . . . 4 matches
          Socket 생성 -> Socket 에 이름연결 (bind)
          [Dialog based] -> [Windows Sockets]를 설정
         #include "ChildSock.h"
         #include "ListenSock.h"
          void InitServer();
          void SendData(CString& strData);
         void CServerApp::InitServer()
          m_pMainWnd->GetDlgItem(IDC_SEND)->EnableWindow(TRUE);
         void CServerApp::SendData(CString& strData)
          CString strText;
          UINT nPort;
          ((CListBox*)m_pMainWnd->GetDlgItem(IDC_LIST1))->InsertString(-1, strText);
          CString strText;
          UINT nPort;
          ((CListBox*)m_pMainWnd->GetDlgItem(IDC_LIST1))->InsertString(-1, strText);
          m_pMainWnd->GetDlgItem(IDC_SEND)->EnableWindow(FALSE);
          다이얼로그가 초기화될 때 서버로 작동하도록 CServerDlg 클래스의 OnInit Dialog()함수에 다음 코드를 삽입한다.
          ((CServerApp*)AfxGetApp)->InitServer();
          GetDlgItem(IDC_SEND)->EnableWindow(FALSE);
          CString strData;
  • 5인용C++스터디/타이머보충 . . . . 4 matches
         Project -> Settings -> Link -> Object/library modules: 에 winmm.lib 추가
         #include <afxwin.h> // MFC core and standard components
         #include <afxext.h> // MFC extensions
         #include <afxdisp.h> // MFC Automation classes
         #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
         #include <afxcmn.h> // MFC support for Windows Common Controls
         #include <mmsystem.h>
         //{{AFX_INSERT_LOCATION}}
         // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
         void CALLBACK TimerProc(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
         int CMMTimerView::OnCreate(LPCREATESTRUCT lpCreateStruct)
         BEGIN_MESSAGE_MAP(CMMTimerView, CView)
  • ComputerNetworkClass/Report2006/PacketAnalyzer . . . . 4 matches
         WSA prefix 를 가진 함수의 경우 대부분 Winsock 2에서 제공 되기 시작한 것이며, 이 WSAIoctl 역시도 윈속 2에서 지원된다.
         자세한 사항은 MSDN 혹은 Network Programming For Microsoft Windows 를 참조하기 바란다.
         ※ 윈도우 소켓 프로그래밍을 위해서는 윈속 라이브러리를 같이 linking 해야하며, WSActrl 을 사용하기 위해서는 winsock2 라이브러리인 ws2_32.lib 를 포함해야한다.
         #include <mstcpip.h>
         #define SIO_RCVALL _WSAIOW(IOC_VENDOR,1)
         int _cdecl main(int argc, char **argv)
          SOCKADDR_IN if0;
          int ret,
          unsigned int optval;
          // Load Winsock
          printf("WSAStartup() failed: %d\n", GetLastError());
          // Parse the command line
          printf("Source Port: %d\n", usSourcePort);
          printf("Dest Port: %d\n", usDestPort);
          // Create a raw socket for receiving IP datagrams
          s = WSASocket(AF_INET, SOCK_RAW, IPPROTO_IP, NULL, 0, WSA_FLAG_OVERLAPPED);
          if (s == INVALID_SOCKET)
          printf("WSASocket() failed: %d\n", WSAGetLastError());
          // Get an interface to read IP packets on
          if (GetInterface(s, &if0, dwInterface) != 0)
  • DevelopmentinWindows . . . . 4 matches
          * '''Windows 서브시스템 - GUI 모드 에플리케이션 운영'''[[BR]]
          (앞으로 Windows 서브시스템 기반의 프로그래밍을 윈도우즈 프로그래밍이라고 하겠다.)
          * Windows CE 서브시스템 - Windows CE 에플리케이션 운영
          * 표준 사용자 인터페이스 제공 (["DevelopmentinWindows/UI"])
          http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/Message.jpg
          http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/Hardware.jpg
          * 윈도우즈 API (Application Program Interface)
          * Static-Link Library[[BR]]
          http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/SLL.jpg
          * Dynamic-Link Library[[BR]]
          http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/DLL.jpg
          DirectX - dplay.dll, dsound.dll, dinput.dll, ddraw.dll)
          ||INT||signed int||
          ||UINT||unsigned int||
          * 윈도우를 만드는 함수는 CreateWindow, 메시지를 보내는 함수는 SendMessage
          ||n 또는 i||INT 타입의 변수||
          ||u||UINT 타입의 변수||
          * ["DevelopmentinWindows/APIExample"] - 소스 보기
          * http://zeropage.org/~lsk8248/wiki/Seminar/DevelopmentinWindows/API.zip - 다운 받기
          * ["DevelopmentinWindows/MFCExample"] - 소스 보기
  • DirectDraw . . . . 4 matches
         Include Files 에는 C:\DXSDK\INCLUDE를 [[BR]]
         그리고 Project Setting -> Link -> Object/Library modules에는
         #include <ddraw.h>
          * DDSCL_NOWINDOWCHANGES : 최소화/최대화를 허용하지 않는다.
         ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; // 오프스크린임을 표시
         hb = (HBITMAP) LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BITMAP), IMAGE_BITMAP, cxDesire, cyDesire, LR_CREATEDIBSECTION);
  • EffectiveC++ . . . . 4 matches
         == Shifting from C to C++ ==
         === Item1: Prefer const and inline to #define ===
         DeleteMe #define(preprocessor)문에 대해 const와 inline을(compile)의 이용을 추천한다. --상민
         [#define -> const][[BR]]
          #define ASPECT_RATIO 1.653
         instead of upper..
         define 된 ASPECT_RATIO 란 상수는 1.653으로 변경되기때문에 컴파일러는 ASPECT_RATIO 란것이 있다는 것을 모르고 symbol table 에?들어가지 않는다. 이는 debugging을 할때 문제가 발생할 수 있다. -인택
         1. 상수 포인터(constant pointer)를 정의하기가 다소 까다로워 진다는 것.
          static const int NUM_TURNS = 5; // 상수 선언! (선언만 한것임)
          int scores[NUM_TURNS]; // 상수의 사용.
          const int GamePlayer::NUM_TURNS; // 정의를 꼭해주어야 한다.
         #define -> inline (매크로 사용시)
          * inline: 함수 호출로 인한 오버헤드를 줄일수 있는.. 거시기. 궁금하면 책찾아보세요.
          #define max(a,b) ((a) > (b) ? (a) : (b))
          // #define 을 inline으로..
          inline int max(int a, int b) { return a > b ? a : b; } // int형으로만 제한 되어있네..
          inline const T& max (const T& a, const T& b) { return a > b ? a : b; }
         const와 inline을 쓰자는 얘기였습니다. --; 왜 그런지는 아시는 분께서 글좀 남기시구요. ^^[[BR]]
         #define 문을 const와 inline으로 대체해서 써도, #ifdef/#ifndef - #endif 등.. 이와 유사한 것들은 [[BR]]
          매크로는 말 그대로 치환이기 때문에 버그 발생할 확률이 높음. 상수선언이나 함수선언같은 경우는 가급적 const 나 inline으로 대체하는게 좋겠지. (으.. 그래도 실제로 짤때는 상수 선언할때는 #define 남용 경향이..[[BR]]
  • Gof/FactoryMethod . . . . 4 matches
         == Intent : 의도 ==
         여러 문서를 사용자에게 보여줄수 있는 어플리케이션에 대한 Framework에 대하여 생각해 보자. 이러한 Framework에서 두가지의 추상화에 대한 요점은, Application과 Document클래스 일것이다. 이 두 클래스다 추상적이고, 클라이언트는 그들의 Application에 알맞게 명세 사항을 구현해야 한다. 예를들어서 Drawing Application을 만들려면 우리는 DrawingApplication 과 DrawingDocument 클래스를 구현해야 한다. Application클래스는 Document 클래스를 관리한다. 그리고 사용자가 Open이나 New를 메뉴에서 선택하였을때 이들을 생성한다.
         A potential disadvantage of factory methods is that clients might have to subclass the Creator class just to create a particular ConcreteProduct object. Subclassing is fine when the client has to subclass the Creator class anyway, but otherwise the client now must deal with another point of evolution.
          병렬 클래스 상속은 클래스가 어떠한 문제의 책임에 관해서 다른 클래스로 분리하고, 책임을 위임하는 결과를 초례한다. 조정할수 있는 그림 도형(graphical figures)들에 관해서 생각해 보자.;그것은 마우스에 의하여 뻗을수 있고, 옮겨지고, 회정도 한다. 그러한 상호작용에 대한 구현은 언제나 쉬운것만은 아니다. 그것은 자주 늘어나는 해당 도형의 상태 정보의 보관과 업데이트를 요구한다. 그래서 이런 정보는 상호 작용하는, 객체에다가 보관 할수만은 없다. 게다가 서로다른 객체의 경우 서로다른 상태의 정보를 보관해야 할텐데 말이다. 예를들자면, text 모양이 바뀌면 그것의 공백을 변화시키지만, Line 모양을 늘릴때는 끝점의 이동으로 모양을 바꿀수 있다.
          if (id == MINE) return new MyProduct;
          if (id == MINE) return new YourProduct;
          DeleteMe 모호)마지막 부분에서 부모 클래스의 인자를 수행하는 것을 주목해라. MyCreator::Create는 오직 YOURS, MINE, THEIRS를 잡을수 있고, 부모클래스는 잡지 못한다. 다른 클래스는 이를 수행하지 못한다. 그러므로, MyCreator는 생성된 product의 한 종류를 확장하고, 그것은 생성에 대한 책임을 연기한다. 하지만, product가 그것의 부모인것은 적다.
         MyCreator::Create handles only YOURS, MINE, and THEIRS differently than the parent class. It isn't interested in other classes. Hence MyCreator extends the kinds of products created, and it defers responsibility for creating all but a few products to its parent.
         You can avoid this by being careful to access products solely through accessor operations that create the product on demand. Instead of creating the concrete product in the constructor, the constructor merely initializes it to 0. The accessor returns the product. But first it checks to make sure the product exists, and if it doesn't, the accessor creates it. This technique is sometimes called lazy initialization. The following code shows a typical implementation:
          4. Using templates to avoid subclassing. As we've mentioned, another potential problem with factory methods is that they might force you to subclass just to create the appropriate Product objects. Another way to get around this in C++ is to provide a template subclass of Creator that's parameterized by the Product
         With this template, the client supplies just the product class?no subclassing of Creator is required.
          5. Naming conventions. It's good practice to use naming conventions that make it clear you're using factory methods. For example, the MacApp Macintosh application framework [App89] always declares the abstract operation that defines the factory method as Class* DoMakeClass(), where Class is the Product class.
         The function CreateMaze (page 84) builds and returns a maze. One problem with this function is that it hard-codes the classes of maze, rooms, doors, and walls. We'll introduce factory methods to let subclasses choose these components.
         First we'll define factory methods in MazeGame for creating the maze, room, wall, and door objects:
          virtual Room* MakeRoom(int n) const
         Each factory method returns a maze component of a given type. MazeGame provides default implementations that return the simplest kinds of maze, rooms, walls, and doors.
         Different games can subclass MazeGame to specialize parts of the maze. MazeGame subclasses can redefine some or all of the factory methods to specify variations in products. For example, a BombedMazeGame can redefine the Room and Wall products to return the bombed varieties:
          virtual Room* MakeRoom(int n) const
         An EnchantedMazeGame variant might be defined like this:
          virtual Room* MakeRoom(int n) const
  • JavaStudyInVacation/과제 . . . . 4 matches
          * AWT와 SWING이 무엇인지 알아보고, 그 차이점에 대해서 알아보기. 그리고 어떤것을 사용하는것이 더 좋다고 생각하는지, 그리고 왜 그렇게 생각한는지...?
          * SWING을 사용하여 버튼이 있고, 그 버튼을 누르면 간단한 메시지를 출력하는 자바 에플리케이션 작성해 보기.
          * 다음과 같은 네트워크를 사용하는 간단한 에플리케이션 만들어 보기. (SWING 이나 AWT 사용 안함)
          * SWING을 사용하여 제작해야 한다.
         ["JavaStudyInVacation"]
  • LinuxProgramming/QueryDomainname . . . . 4 matches
         request domain name thru ip address from DNS server
         #include <stdio.h>
         #include <stdlib.h>
         #include <string.h>
         #include <sys/types.h>
         #include <arpa/inet.h>
         #include <netdb.h>
         #include <unistd.h>
         void error_handling(const char* message);
         int main(int argc, char ** argv)
          struct sockaddr_in addr;
          int i;
          printf("USAGE : %s <ip>\n", argv[0]);
          addr.sin_addr.s_addr=inet_addr(argv[1]);
          host = gethostbyaddr((char*)&addr.sin_addr, 4, AF_INET);
          error_handling("gethost... error");
          printf("Officially name : %s \n\n", host->h_name);
          printf("Address Type:$s\n", host->h_addrtype == AF_INET? "AF_INET":"AF_INET6");
          puts(inet_ntoa( *(struct in_addr*)host->h_addr_list[i]));
         void error_handling(const char* message)
  • MineSweeper/신재동 . . . . 4 matches
         === MineSweeper/신재동 ===
         #include <iostream>
         #include <vector>
         using namespace std;
         const int MINE = -1;
         const int MOVE[3] = {-1, 0, 1};
         void initializeBoard(int maxRow, int maxCol, vector< vector<int> >& board)
          for(int i = 0; i < maxRow; i++)
         bool isInBoard(int row, int col, int moveRow, int moveCol, const vector< vector<int> >& board)
         void checkMine(int row, int col, vector< vector<int> >& board)
          for(int i = 0; i < 3; i++)
          for(int j = 0; j < 3; j++)
          isInBoard(row, col, i, j, board) ||
          (board[row + MOVE[i]][col + MOVE[j]] == MINE))
          continue;
         void setMinesOnBoard(vector< vector<int> >& board)
          for(int i = 0; i < board.size(); i++)
          cin.get(); // 이 한 줄이 삽질의 원흉!!
          for(int j = 0; j < board[0].size(); j++)
          char c = cin.get();
  • REAL_LIBOS . . . . 4 matches
         Little Basic Operating System의 약자.
         INTEL 80X86에서 리얼모드(DOS)로 실행 됨
         2. SENDING MESSAGE TO OTHER PROCESS [[BR]]
         3. POLLING DATA PARREL PORT [[BR]]
         4. SCHEDULING REAL-TIME [[BR]]
  • RandomWalk/황재선 . . . . 4 matches
         #include <iostream>
         #include <ctime>
         #include <iomanip>
         using namespace std;
         const int rowMax = 40;
         const int colMax = 20;
         int board[rowMax][colMax];
         int row, col, ibug, jbug, count;
         void init();
         void input();
         bool existZero(int aBoard[rowMax][colMax]);
         void printResult();
         int main()
          init();
          input();
          printResult();
         void init()
          for (int i = 0; i < rowMax; i++)
          for (int j =0; j < colMax; j++)
         void input()
  • RefactoringDiscussion . . . . 4 matches
         Refactoring 과 관련된 토론, 질문/답변의 장으로 활용한다.
         refactoring 의 전제 조건은, '''Refactoring 전 후의 결과가 같아야 한다.''' 라는 것이다.
         Martin Folwer의 Refactoring p326(한서), 10장의 Parameterize Method 를 살펴보면 다음과 같은 내용이 나온다.
          double result = Math.min(lastUsage(),100) * 0.03;
          result += (Math.min (lastUsage(),200) - 100) * 0.05;
          double result = usageInRange(0, 100) * 0.03; //--(1)
          result += usageInRange (100,200) - 100) * 0.05;
          result += usageInRange (200, Integer.MAX_VALUE) * 0.07;
         protected int usageInRange(int start, int end) {
          if (lastUsage() > start) return Math.min(lastUsage(),end) - start;
         '''"MatrinFowler의 추종자들은 lastUsage()가 0 이상인 값에 대해 동작하는것일테니 (코드를 보고 추정하면 그렇다) 당연한거 아니냐?"''' 라고 이의를 제기할지는 모르지만, 이건 Refactoring 에서 한결같이 추구했던 "의도를 명확하게"라는 부분을 Refactoring이라는 도구에 끼워맞추다보니 의도를 불명확하게 한 결과를 낳은것 같다. (["망치의오류"])
         위의 (1)번 코드는 원래처럼 그대로 두거나, usageInRange(Integer.MIN_VALUE, 100)으로 호출하는게 맞을 듯 하다.
         하지만 이것도 임시 방편일뿐, '''위험은 존재한다'''. lastUsage()의 값이 Integer.MIN_VALUE 이거나, Integer.MAX_VALUE 라면? (이런일이 결코 일어날 수 없다고 장담할 수 있는가?)
          * 코드의 의도가 틀렸느냐에 대한 검증 - 만일 프로그램 내에서의 의도한바가 맞는지에 대한 검증은 UnitTest Code 쪽으로 넘기는게 나을 것 같다고 생각이 드네요. 글의 내용도 결국은 전체 Context 내에서 파악해야 하니까. 의도가 중시된다면 Test Code 는 필수겠죠. (여기서의 '의도'는 각 모듈별 input 에 대한 output 정도로 바꿔서 생각하셔도 좋을듯)
         로직이 달라졌을 경우에 대한 검증에 대해서는, Refactoring 전에 Test Code 를 만들것이고, 로직에 따른 수용 여부는 테스트 코드쪽에서 결론이 지어져야 될 것이라는 생각이 듭니다. (아마 의도에 벗어난 코드로 바뀌어져버렸다면 Test Code 에서 검증되겠죠.) 코드 자체만 보고 바로 잘못된 코드라고 단정짓기 보단 전체 프로그램 내에서 의도에 따르는 코드일지를 생각해야 될 것 같다는 생각.
          * 예제 코드로 적절했느냐 - 좀 더 쉽게 의도에 맞게 Refactoring 되어진 것이 이 예제 바로 전인 Raise 이긴 하지만. 그리 좋은 예는 아닌듯 하다. usageInRange 로 빼내기 위해 약간 일부러 일반화 공식을 만들었다고 해야 할까요. 그 덕에 코드 자체만으로 뜻을 이해하기가 좀 모호해졌다는 부분에는 동감.
          * ["Refactoring"]의 Motivation - Pattern 이건 Refactoring 이건 'Motivation' 부분이 있죠. 즉, 무엇을 의도하여 이러이러하게 코드를 작성했는가입니다. Parameterize Method 의 의도는 'couple of methods that do similar things but vary depending on a few values'에 대한 처리이죠. 즉, 비슷한 일을 하는 메소드들이긴 한데 일부 값들에 영향받는 코드들에 대해서는, 그 영향받게 하는 값들을 parameter 로 넣어주게끔 하고, 같은 일을 하는 부분에 대해선 묶음으로서 중복을 줄이고, 추후 중복이 될 부분들이 적어지도록 하자는 것이겠죠. -- 석천
         > { Refactoring(by Martin Fowler)의 잘못된 refactoring }
         > 위의 (1)번 코드는 원래처럼 그대로 두거나, usageInRange(Integer.MIN_VALUE, 100)으로
         > lastUsage()의 값이 Integer.MIN_VALUE 이거나, Integer.MAX_VALUE 라면?
  • XMLStudy_2002/XML+CSS . . . . 4 matches
         <HTML:A href="http://msdn.microsoft.com/xml/xslguide/browsing-css.asp">How to Write a CSS StyleSheet for Browsing XML</HTML:A>
         <?xml version="1.0" encoding="KSC5601"?>
         <DATE TYPE="BEGINNING_DATE">
         <PA>현재의 IE5.0에서는 XLink는 지원하지 않는다. 그런데, 네임스페이스를 이용하여
         XLink에서 제안되는 확장된 개념의 링크를 사용하는 것은 아직은 IE5.0브라우저
         에서는 지원이 되지않기때문에, 현재로서는 여전히 단방향의 end link가 하나로 지정되는 simple link를
         <HTML:A href = "xml_hlink.xml">여기</HTML:A>에 설명되어있다.</PA>
         [1]<HTML:A href="http://msdn.microsoft.com/xml/xslguide/browsing-css.asp ">
         How to Write a CSS Style Sheet for Browsing XML</HTML:A>
         [2]<HTML:A href="http://msdn.microsoft.com/xml/xslguide/browsing-overview.asp">
         Browsing XML Documents in Internet Explorer 5</HTML:A>
         <HTML:A href = "xmllink.xml">여기</HTML:A>에 설명되어있다.</PA>
         <!ATTLIST DATE TYPE (LAST_MODIFIED|BEGINNING_DATE) #REQUIRED>
          margin-top :2em;
          margin-bottom :1em;
          margin-top :0.5em;
          margin-bottom :0em;
          display :inline;
          display :inline;
          display :inline;
  • 경시대회준비반/BigInteger . . . . 4 matches
         C++ 용 BigInteger 클래스로 거의 모든 연산을 지원한다. UVA 사이트의 구식(?) 컴파일러에도 문제없이 통과할 뿐 아니라, 성능또한 훌륭하다. 고정도 정수 연산을 하는 문제의 경우, 고정도 연산을 하는 라이브러리를 본인이 직접 짜거나, 이 클래스를 이용하면 된다. 몇 일동안 삽질한 결과 후자가 낫다는 판단이 선다. 되게 잘 짜여진 코드다. 시간 내서 분석해봐야 겠다.
         * BigInteger Class
         * provided that the above copyright notice appear in all copies and
         * in supporting documentation. Mahbub Murshed Suman makes no
         #include <iostream>
         #include <cstdlib>
         #include <cstdio>
         #include <cctype>
         #include <malloc.h>
         #include <cmath>
         #include <cstring>
         #include <ctime>
         #include <strstream>
         #include <string>
         #include <stdexcept>
         using namespace std;
          enum BigMathERROR { BigMathMEM = 1 , BigMathOVERFLOW , BigMathUNDERFLOW, BigMathINVALIDINTEGER, BigMathDIVIDEBYZERO,BigMathDomain};
          const char *BigIntErrDes[] = { "Allocation Failed", "Overflow","Underflow", "Invalid Integer", "Divide by Zero" ,"Domain Error"};
          const char BigIntPROGRAMNAME[] = { "BigInteger" };
          const int BigIntMajorVersion = 6;
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/김준석,서영주 . . . . 4 matches
          public int MAX_HEIGHT;
          public int MIN_HEIGHT;
          public int floor;
          public Elevator(int max_height, int min_height, int basic_height) {
          MIN_HEIGHT = min_height;
          public int getFloor() {
          public void goTo(int i) {
          if(i <= MAX_HEIGHT && i >= MIN_HEIGHT)
          public String callElevator(int i) {
          public int getMaxHeight() {
          public int getMinHeight() {
          return MIN_HEIGHT;
          int temp = el.getFloor();
          public void printTest(){
          public void getMinHeightTest(){
          assertEquals(el.getMinHeight(), -5);
  • 레밍즈프로젝트/그리기DC . . . . 4 matches
         #define BITMAP_OPT_HREVERSE 1
         #define BITMAP_OPT_VREVERSE 2
         #define BITMAP_OPT_HALIGN_CENTER 3
         #define BITMAP_OPT_VALIGN_CENTER 4
          int m_Vreverse;
          int m_Hreverse;
          void init(){
          init();
          void DrawBmp(UINT ITEM, int x, int y, int kRop=SRCCOPY){
          BITMAP m_bitmapInfo;
          newBitmap.GetBitmap(&m_bitmapInfo);
          m_pMemDC->StretchBlt(x-m_bitmapInfo.bmWidth*m_Halign, y-m_bitmapInfo.bmHeight*m_Valign,
          (m_bitmapInfo.bmWidth)*m_Hreverse, (m_bitmapInfo.bmHeight)*m_Vreverse,
          &BitMapDC, 0, 0, m_bitmapInfo.bmWidth, m_bitmapInfo.bmHeight, kRop);
          void setBmpOpt(int kBitMapOption){
          void DrawMaskBmp(UINT MASKITEM, UINT IMGITEM, int x, int y){
          this->DrawBmp(IMGITEM, x, y, SRCPAINT);
  • 손동일 . . . . 4 matches
         == Coding.... ==
          실컷 잠자기, LINUX, VB
         #include <iostream>
         using namespace std;
         const int Max = 11 ;
          int going;
          int goal;
          int length;
         int Vertex[Max][Max] =
         int temp;
         int temp1[10] = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
         int soo = 0;
         int soo2 = 1;
         int first = 0;
         int last = 0;
         int n = Max;
         int between[Max];
         int check[Max];
         void shortpath(int Vertex[Max][Max],int between[Max], int n, int check[Max]);
         void using_v(int n);
  • 2002년도ACM문제샘플풀이/문제A . . . . 3 matches
         #include <iostream>
         using namespace std;
         struct POINT
          int x, y;
         int numOfData;
         POINT inputData[10][4];
         int outputData[10];
         #define max(a,b) (a > b) ? a : b
         #define min(a,b) (a < b) ? a : b
         void input()
          cin >> numOfData;
          for(int i=0;i<numOfData;i++)
          for(int j=0;j<4;j++)
          cin >> inputData[i][j].x;
          cin >> inputData[i][j].y;
          POINT maxPoint, minPoint;
          int overlappedRect;
          for(int i=0;i<numOfData;i++) {
          maxPoint.x = max(inputData[i][0].x,inputData[i][2].x);
          maxPoint.y = max(inputData[i][0].y,inputData[i][2].y);
  • 2학기파이선스터디/서버&클라이언트접속프로그램 . . . . 3 matches
          serversock = socket(AF_INET, SOCK_STREAM)
          serversock.bind( (host,port) ) # 튜플!
          print 'Listening on Port %s (%s, %s)' % (port, 'host', backlog)
          print 'Connected for %s Client: %s, Port: %s' % (daytime, addr, port)
         if __name__ == '__main__':
          clientsock = socket(AF_INET, SOCK_STREAM)
          print 'connect: Connection retused'
          print svr_time
         if __name__ == '__main__':
          serversock = socket(AF_INET, SOCK_STREAM)
          serversock.bind( (host,port) ) # 튜플!
          print 'Listening on Port %s (%s, %s)' % (port, 'host', backlog)
          print 'Connected for %s Client: %s, Port: %s' % (addr, port)
         if __name__ == '__main__':
  • 5인용C++스터디/멀티미디어 . . . . 3 matches
         MFC는 멀티미디어를 위한 별도의 클래스를 제공하지 않는다. Win32 API함수 차원에서 멀티미디어를 지원하기 때문에 MFC에서는 별도의 클래스로 만들어 놓지 않은 것이다.
         #include "mmsystem.h"
          PlaySound 함수를 사용하려면 mmsystem.h 파일을 먼저 include 해주어야 하고,
          Project/ Settings/Link 탭에서 winmm.lib를 링크해 주어야 한다.
          리소스에 포함된 사운드를 연주하려면 PlaySound의 세 번째 인수에 SND_RESOURCE 플래그를 주고 첫 번째 인수에 리소스의 ID를 준다. 두 번째 인수에는 리소스를 가진 실행파일의 인스턴스 핸들을 주어야 하는데 MFC에서는 AfxGetInstanceHandle() 전역함수로 인스턴스 핸들을 구할 수 있다. 다음과 같이 코드를 작성해 보자.
         void CSoundView::OnLButtonDown(UINT nFlags, CPoint point)
          PlaySound(MAKEINTRESOURCE(IDR_WAVE1), AfxGetInstanceHandle(), SND_RESOURCE | SND_ASYNC);
          CView:OnLButtonDown(nFlags, point);
         1-4) MCI (Media Control Interface)
          hWndAVI=MCIWndCreate(this->m_hWnd, AfxGetInstanceHandle(), 0, "cf3.avi");
          CView::OnLButtonDown(nFlags, point);
          동영상 연주는 Video fot window 라이브러리를 사용하므로 뷰에서 vfw.h를 인클루드 해 주어야 한다.
         #include "PlayAVIDoc.h"
         #include "PlayAVIView.h"
         #include <vfw.h>
          또한 프로젝트에서 이 라이브러리를 사용할 수 있도록 Project/Settings/Link 탭에 vfw32.lib를 추가한다. 그리고 동영상 파일을 프로젝트 디렉토리에 넣어두면 된다.
         HWND MCIWndCreate(HWND hwndParent, HINSTANCE hinstance, DWORD dwStyle, LPSTR szFile);
         hInstance: MCIWnd롤 사용하는 인스턴스 핸들을 지정한다.
  • 5인용C++스터디/에디트박스와콤보박스 . . . . 3 matches
         #define IDC_MYEDIT 1000
         int CCreateEditView::OnCreate(LPCREATESTRUCT lpCreateStruct)
         BOOL Create(DWORD dwstyle, const RECT& rect, CWnd* pParentWnd, UINT nID);
         BEGIN_MESSAGE_MAP(CCreateEditView, CView)
          //Standard printing commands
          ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
          CString str;
          m_pEdit->GetWindowText(str);
          AfxGetMainWnd()->SetWindowText(str);
  • ACM_ICPC/PrepareAsiaRegionalContest . . . . 3 matches
          === at On-line Preliminary Contest(Oct. 2, 2004) ===
         ==== Solution of Problem C. Mine Sweeper ====
         #include <iostream>
         #include <fstream>
         using namespace std;
         int main()
          ifstream fin;
          fin.open("C.in");
          int nTest;
          fin >> nTest;
          int nMine;
          for ( int t = 0 ; t < nTest ; t++ ){
          fin >> nMine;
          const int MAX = 1001;
          static int workspace[MAX][MAX];
          for ( int i = 0 ; i < MAX ; i++ )
          for ( int j = 0 ; j < MAX ; j++ )
          int x, y;
          for ( int m = 0 ; m < nMine ; m++ ){
          fin >> x >> y;
  • Android/WallpaperChanger . . . . 3 matches
          * Android의 기본 어플로 장착되어있는 Gallery 어플로 Intent넘긴후 리스트 다시 받아오기.
         == Android의 기본 어플로 장착되어있는 Gallery 어플로 Intent넘긴후 리스트 다시 받아오기 ==
          * http://stackoverflow.com/questions/2169649/open-an-image-in-androids-built-in-gallery-app-programmatically
         import android.content.Intent;
          private static final int SELECT_PICTURE = 1;
          private String selectedImagePath;
          public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
          //Intent i = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
          Intent i = new Intent();
          i.setAction(Intent.ACTION_GET_CONTENT);
          startActivityForResult(Intent.createChooser(i, "Select Picture"), SELECT_PICTURE);
          public void onActivityResult(int requestCode, int resultCode, Intent data) {
          public String getPath(Uri uri) {
          String[] projection = { MediaStore.Images.Media.DATA };
          int column_index = cursor
          .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
          return cursor.getString(column_index);
         import android.view.WindowManager;
  • C/C++어려운선언문해석하기 . . . . 3 matches
         원문 : How to interpret complex C/C++ declarations (http://www.codeproject.com/cpp/complex_declarations.asp)
         간혹 int * (* (*fp1) (int) ) [10]; 과 같은 선언문이나 혹은 이와 유사하게 난해한 선언문을 볼 기회가 있습니까? 이 글은 이런 C/C++
         int a;
         위의 문장은 '변수 n 을 int 형으로 선언한다'라고 해석할 수 있습니다.
         int *p;
         '변수 p를 int *형으로 선언한다' 라고 해석할 수 있고 다시 말하면 '변수 p를 int형을 가리키는 포인터로 선언한다'라고 할 수 있습니
         다. 여기서 잠깐 샛길로 빠져서 포인터 연산자(*) 또는 참조 연산자(&)는 변수 형 (int)에 붙이는 것 보다 변수(p)에 붙이는것이 항상
         int* p,q;
         위의 선언문을 처음 보게 되면 변수 p와 변수 q가 마치 int를 가리키는 포인터형 (int *) 변수로 선언된 것 처럼 보입니다. 하지만 사실
         변수 p만 int를 가리키는 포인터형으로 선언되었고 변수q는 int형으로 선언된 것입니다. (역자주: int *p; int *q; 처럼 각각 따로 선언
         int RollNum[30][4];
         int (*p)[4]=RollNum;
         int *q[5];
         변수 p는 int형을 요소로 하는 크기가 4인 배열을 가리키는 포인터(a pointer to an array of 4 ints)이며, 변수 q는 int형 포인터를 요
         소로 하는 크기가 5인 배열(an array of 5 pointer to integers) 입니다.
         const int n = 5;
         int const m = 10;
         const int *p;
         int const *q;
         그럼 여기서 퀴즈, const int형을 가리키는 포인터와 int형을 가리키는 const 포인터를 구별해보세요.
  • CeeThreadProgramming . . . . 3 matches
         //http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt__beginthread.2c_._beginthreadex.asp
         #include <windows.h>
         #include <stdio.h>
         #include <process.h>
          printf( "In second thread...n" );
          printf( "Thread ID %d => %dn", pArguments, Counter);
         int main()
          printf( "Creating second thread...n" );
          hThread = (HANDLE)_beginthreadex( NULL, 0, &ThreadedFunction, NULL, 0, &threadID );
          hThread2 = (HANDLE)_beginthreadex( NULL, 0, &ThreadedFunction, NULL, 0, &threadID2 );
          InitializeCriticalSection(&cs);
          // Wait until second thread terminates. If you comment out the line
          // terminated, and Counter most likely has not been incremented to
          //WaitForSingleObject( hThread, INFINITE );
          //printf( "Counter should be 1000000; it is-> %dn", Counter );
         = Linux pthread =
         #include <stdio.h>
         #include <stdlib.h>
         #include <pthread.h>
         void *print_message_function( void *ptr );
  • GTK+ . . . . 3 matches
         GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off projects to complete application suites.
         GTK+ is free software and part of the GNU Project. However, the licensing terms for GTK+, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties.
         GLib is the low-level core library that forms the basis of GTK+ and GNOME. It provides data structure handling for C, portability wrappers, and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.
         Pango is a library for layout and rendering of text, with an emphasis on internationalization. It forms the core of text and font handling for GTK+-2.0.
         The ATK library provides a set of interfaces for accessibility. By supporting the ATK interfaces, an application or toolkit can be used with such tools as screen readers, magnifiers, and alternative input devices.
         GTK+ has been designed from the ground up to support a range of languages, not only C/C++. Using GTK+ from languages such as Perl and Python (especially in combination with the Glade GUI builder) provides an effective method of rapid application development.
         #include <gtk/gtk.h>
         static void hello(GtkWidget *widget, gpointer data)
          g_print("Hello, World!!\n");
         static gboolean delete_event(GtkWidget *widget, GdkEvent *event, gpointer data)
          g_print("delete event occurred\n");
         static void destroy(GtkWidget *widget, gpointer data)
          gtk_main_quit();
         int main(int argc, char* argv[])
          GtkWidget *window;
          gtk_init(&argc, &argv);
          window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
          g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL);
          g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL);
          gtk_container_set_border_width(GTK_CONTAINER(window), 10);
  • HelloWorld . . . . 3 matches
         프로그래밍의 첫걸음으로 HelloWorld를 출력하는 관습은 1978년에 출판된, 브라이언 커니핸과 데니스 리치가 쓴 "The C Programming Language"라는 책에서 비롯되었다.
         #include <stdio.h>
         int main(void)
          printf("Hello, World!n");
         #include <iostream>
         using namespace std;
         int main() {
         print "Hello, World!"
         #/usr/bin/perl
         print "Hello World!n";
         class String
          public static void main(String[] args) {
          System.out.println("Hello, World!");
          public static void main(String[] args){
          public void say(String what){
          System.out.println(what);
          include_once "class.CHTemplate.inc";
          $tpl->register("MessageString", "Hello, World!");
          $tpl->pprint();
         <H1> {MessageString} </H1>
  • InsideCPU . . . . 3 matches
         = Inside CPU =
         음...여기까지만..귀찮아서 못 적겠다.. 보통 플로피의 0번 섹터를 write하기 위해 rawrite.exe란 프로그램을 쓴다. 플로피의 데이타를 얻기 위해 BIOS의 인터럽트루틴을 사용한다. 이를 위한 인터럽트는 INT 13h가 된다.
         보호모드란 80286부터 적용된 하드웨어적 지원이다. 이는 다른 CPU에도(다른 이름으로) 존재하며 운영체제에게 안전한 태스크 관리와 보다 빠른 Context Switching 을 적용할 수 있다. 이를 위해 몇몇의 assemble 코드가 추가 되었으며 80386 부터는 코드가 확장되어 보다 큰 메모리를 어드레스 할 수 있게 되었다. [[BR]]
         이를 위해 각각의 어드레스 접근에 privilege level을 두었고 이를 각각의 Application에 적용시켰다. 보호모드의 경우 멀티태스킹을 지원하기 위한 방법이다. 이는 지속적이고 반복적으로 일어나는 Context Switching 을 하드웨어적인 방법으로 만들어 소프트웨어적인 방법보다 빠른 Context Switching을 통해 하드웨어의 효율성을 높였다. 보호모드를 위한 레지스터와 방법들..
         == EXAMPLE 1. LINUX ==
         = INT 13H - From BIOS - =
  • KnightTour/재니 . . . . 3 matches
         // Knight.h: interface for the CKnight class.
         #if !defined(AFX_KNIGHT_H__B5234B12_3582_4CB8_8253_6ADFBE7B5E68__INCLUDED_)
         #define AFX_KNIGHT_H__B5234B12_3582_4CB8_8253_6ADFBE7B5E68__INCLUDED_
          int m_ChessBoard[8][8];
          int m_Vertical[8], m_Horizontal[8];
          int m_CurrentRow, m_CurrentColumn;
          int m_Footprint[65];
          unsigned int m_Move;
          CKnight(int sr, int sc);
         #endif // !defined(AFX_KNIGHT_H__B5234B12_3582_4CB8_8253_6ADFBE7B5E68__INCLUDED_)
         #include "Knight.h"
         #include "iostream"
         using namespace std;
         CKnight::CKnight(int sr, int sc)
          int tempHorizontal[] = {2, 1, -1, -2, -2, -1, 1, 2};
          int tempVertical[] = {-1, -2, -2, -1, 1, 2, 2, 1};
          for (int row = 0 ; row < 8 ; row++){
          for (int col = 0 ; col < 8 ; col++) {
          m_Footprint[row * 8 + col] = 0;
          for (int row = 0 ; row < 8 ; row++) {
  • LinkedList/세연 . . . . 3 matches
          DeleteMe ) 내용은 LinkedList 가 아니라 Stack의 구현 사항인데, 문제 사항에는 LinkedList라고 해놨네요.
         #include <iostream.h>
          int data;
          node * node_pointer;
         node * INSERT(node * head_pointer, int num);
         node * DELETE(node * head_pointer);
         int main()
          node * head_pointer = new node;
          head_pointer = NULL;
          int num, choice;
          cin >> choice;
          cin >> num;
          head_pointer = INSERT(head_pointer, num);
          head_pointer = DELETE(head_pointer);
          cin >> choice;
         node * INSERT(node * head_pointer, int num)
          if(head_pointer == NULL)
          head_pointer = temp;
          head_pointer->data = num;
          head_pointer->node_pointer = NULL;
  • LinkedList/학생관리프로그램 . . . . 3 matches
          (검색-binary search??, sequential search...)
         #include <stdio.h>
         #define HEAD 0
         #define TAIL 1
         #define ORIGINALSEARCH 0
         #define DELETIONSEARCH 1
          int number;
         int Menu(int aPopulation);//메뉴선택
         int Process(int aMenu, int aPopulation, Student* aListPointer[]);
         int AddStudent(int aPopulation, Student* aListPointer[]);//새로운 학생 추가
         int DelStudent(int aPopulation, Student* aListPointer[]);//찾아서 지우기
         void InputStudentInfo(Student* aStudent);//정보 입력
         Student* Searching(int aNumber, Student* aHead, int aType);//찾기
         int main()
          Student* listPointer[2];//리스트의 머리와 꼬리
          int population = 0;//등록된 학생수
          population = Process(Menu(population), population, listPointer);
          printf("\n");//보기 좋게 한 칸 띈다.
          FreeMemory(listPointer[HEAD]);//메모리 해제
         int Menu(int aPopulation){
  • Linux/필수명령어/용법 . . . . 3 matches
         - Enter login name for new account (^C to quit): blade
         - Editing information for new user [blade]
         - banner linux | lqr ,,디폴트 프린터에 확대한 글자를 출력한다.
         - document1 document2 differ: char 128, line 13 ,,차이 발견
         -i : 블록 사용 대신 incode 사용 정보를 보고한다.
         일반적으로 echo 명령은 프롬프트 상에서 사용되는 일은 없다. 하지만 스크립트 작성시 번번히 사용된다. 셸 스크립트 상에서 echo 명령은 BASIC의 PRINT 명령이나 C 언어의 printf() 함수와 같이 메시지를 출력하는 데에 자주 사용된다. 또한 전혀 필요없을 것 같은 echo의 -n 옵션도 스크립트 상에서는 유용하게 사용될 수 있다.
         - $ echo -e 'Linux\RedHat !'
         - Linux RedHat !
         : 풀 스크린 에디터를 사용할 수 없는 열악한 환경의 터미널을 위한 라인 에디터(line editor)이다.
         find
         : 원하는 특정 파일을 디렉토리를 탐색하여 찾는다. find는 매우 강력한 도구로 특정 디렉토리들을 순회하면서 지정된 조건에 만족하는 파일을 찾는다. 파일의 조건은 이름이나 크기, 날짜 등 다양하게 지정할 수 있다.
         - find [ 디렉토리 ] 탐색 조건
         -links : 특정 개수의 링크를 가진 파일을 찾는다. 물음표 부분에 링크의 숫자를 표기한다.
         -exec 명령 : 원하는 검색 조건에 맞는 파일을 찾으면 명시된 명령을 실행한다. 명령의 끝은 \;을 사용하여 끝낸다. find가 검색해낸 파일의 이름을 인수로 사용하고 싶다면 그 위치에 {}를 사용한다.
         - $ find /bin -name ro*
         - $ find -user qwfwq -exec cat {} list\;
         finger
         - finger [ -slpm ][ 사용자 ]
         인수로 아무 것도 주어지지 않으면, finger는 현재 시스템에 로그인되어 있는 사용자들을 보여준다. 옵션이 주어지지 않으면, 기본적으로 -l 옵션을 사용한 것으로 간주된다.
         - $ finger
  • PHP-방명록만들기 . . . . 3 matches
          $mt = $mt."Idx INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY, ";
          $mt = $mt."Content TINYTEXT NOT NULL, ";
  • PyIde/Scintilla . . . . 3 matches
         http://scintilla.org/ScintillaDoc.html
         http://wiki.wxpython.org/index.cgi/wxStyledTextCtrl
         Scintilla 관련 참조 도큐먼트들. (Refactoring 필요)
         === syntax hilighting 셋팅 ===
         Boa Constructor 나 Pythoncard, wxPython 의 samples 의 StyleEditor 등을 보면 STCStyleEditor 모듈이 있다. 이 모듈에서 initSTC 함수를 사용하면 된다.
         finally:
         LineFromPosition(aPos)
         SetSavePoint()
         SetSavePoint()
         GotoLine(lineNum - 1)
         LineFromPosition(sel[0])
         LineFromPosition(sel[1])
         BeginUndoAction()
         firstChar = PositionFromLine(lineNumber)
         InsertText(firstChar, "##")
         SetCurrentPos(PositionFromLine(start))
         SetAnchor(GetLineEndPosition(end))
         DelLineLeft()
         SetIndentationGuides(boolean)
         SetEdgeMode(stc.wxSTC_EDGE_LINE)
  • TCP/IP_IllustratedVol1 . . . . 3 matches
          * "'''''The word illustrated distinguishes this bool from its may rivals.'''''" 이 책의 뒷커버에 적혀있는 말이다. 이말이 이 책을 가장 멋지게 설명해준다고 생각한다.
          * 00 이정직 ["fnwinter"]
          * Comer 박사의 "INTERNETWORKING with TCP/IP Vol.1 : PRINCIPLES, PROTOCOLS, AND ARCHITECTURES" 를 빌렸다. -zennith.
          * 유보라...우선 중간고사를 치른 후 논의 해 보자..... 그 방법 밖이..ㅠㅠ -fnwinter
          * 중간 고시도 끝났으니 다시 논의 해 봐야 하지 않을까나..김군~ -- fnwinter
          * Comer 의 책은 일단 접어두련다. illustrated 를 다 본다음에나 보는게 좋을 듯. 역시 text 라는 이미지는 illustrated 쪽이 좀 더 강하니까. 그리고, 재동아 너는 그럼 공부는 안하고 듣기라도 하려냐? 물론.. 정직 네게 더 진행하자는 의지가 있을 때의 이야기겠지만. 아무튼.. 난 지금 udp 지나 multicasting broadcasting 쪽 보고있다. -zennith
  • TheGrandDinner/조현태 . . . . 3 matches
         == TheGrandDinner/조현태 ==
         #include <iostream>
         #include <vector>
         #include <algorithm>
         #include <numeric>
         using namespace std;
         #define TRUE 1
         #define FALSE 0
         const char DEBUG_INPUT[] = "4 5\n4 5 3 5\n3 5 2 6 4\n4 5\n4 5 3 5\n3 5 2 6 3\n0 0\n";
          SNumberAndPosition(int inputNumber, int inputPosition)
          number = inputNumber;
          position = inputPosition;
          int number;
          int position;
         char* InputBaseData(char* readData, vector<SNumberAndPosition>& tableSize, vector<SNumberAndPosition>& teamSize)
          int numberOfTable = 0;
          int numberOfTeam = 0;
          int buffer;
          for (register int i = 0; i < numberOfTeam; ++i)
          for (register int i = 0; i < numberOfTable; ++i)
  • UpdateWindow . . . . 3 matches
         재귀함수가 실행될때마다 Invalidate()를 호출하도록 해 두었는데. 화면 갱신은 재귀함수가 끝난 경우에만 하고 있었다.
         [상규]군에게 물어 해답을 찾았다. Invalidate()함수는 다음 WM_PAINT메세지가 왔을때 화면을 다시 그리도록 명령하는 함수이다. 재귀나 반복문을 수행하는 동안에는 WM_PAINT 메세지가 발생하지 않기 때문에 강제적으로 WM_PAINT메세지를 발생시켜 주어야 하는데, 그 함수가 UpdateWindow()함수이다.
  • ZPBoard/PHPStudy/MySQL . . . . 3 matches
          * ex) $result = mysql_db_query("zp2002","select * from addressbook order by binary name");
         <table border=1 cellpadding=2>
         $result = mysql_db_query("zp2002","select * from addressbook order by binary name");
         이름 <INPUT type="text" name="name" value="" size=10 maxlength=10>
         전화번호 <INPUT type="text" name="phone" value="" size=15 maxlength=15>
          <INPUT type="submit" value="입력" size=5>
          mysql_query("insert into addressbook values('$_POST[name]', '$_POST[phone]')");
         <script language="javascript">window.location.replace("babo.php");</script>
  • callusedHand . . . . 3 matches
          * 최근 관심있는 밴드: LASSE LINDH, MANDALAY, PEDRO THE LION
          * Add-On Linux Kernel Programming
          * SWING - Beginning Java 2 & SWING
          * JDBC - Beginning Java 2
          * GTK++ - Teach Yourself GTK+ In 21days
          ''(move to somewhere appropriate plz) 논리학 개론 서적으로는 Irving Copi와 Quine의 서적들(특히 Quine의 책은 대가의 면모를 느끼게 해줍니다), Smullyan의 서적들을 권하고, 논리학에서 특히 전산학과 관련이 깊은 수리논리학 쪽으로는 Mendelson이나 Herbert Enderton의 책을 권합니다. 또, 증명에 관심이 있다면 How to Prove It을 권합니다. 대부분 ["중앙도서관"]에 있습니다. (누가 신청했을까요 :) ) --JuNe''
  • django . . . . 3 matches
          * mysql 은 사용자를 생성하고 settings.py 파일을 설정한다. 그리고 pysqlite와 다른 점은 DB 이름을 넣고 나서 mysql 들어가서 따로 DB를 만들어 줘야 한다. 그리고 사용자도 만들어 줘야 한다.
          * syncdb 해도 admin 에서 추가한 것이 보이지 않을때는 runserver 한거를 중지 시키고 다시 서버를 시작 하면 보인다.
          * [http://linux.softpedia.com/progDownload/PySQLite-Download-6511.html pysqlite다운로드]
          * [http://www.initd.org/tracker/pysqlite/wiki/PysqlitePackages 각Linux별설치]
          SetEnv DJANGO_SETTINGS_MODULE <프로젝트 이름>.settings
         [예시] /path/to/project/mysite 에 settings.py 파일이 있는 경우
          SetEnv DJANGO_SETTINGS_MODULE mysite.settings
         == For Linux ==
         == For Windows ==
         http://thinkhole.org/wp/2006/04/03/django-on-windows-howto/
         = mod_python으로 동작시 admin 화면 깨짐 해결 =
          * settings.py 아래 부분처럼 수정
         ADMIN_MEDIA_PREFIX = '/'
          * 그리고 C:\Python24\Lib\site-packages\Django-0.95-py2.4.egg\django\contrib\admin\media 에 있는 css 폴더를 docuemntRoot(www 이나 htdoc) 폴더에 복사하면 해결됨.
          * [http://www2.jeffcroft.com/2006/feb/25/django-templates-the-power-of-inheritance/] : Template HTML 파일 사용법
          * [django/ModifyingObject]
          * [django/RetrievingObject]
  • django/ModifyingObject . . . . 3 matches
         = insert & update =
         SQL문에서는 insert into values 구문을 이용해 레코드를 삽입하고, update set where 구문을 이용해 레코드를 수정한다. 하지만 django는 이 둘을 하나로 보고 데이터베이스에 레코드를 삽입하고 갱신하는 작업을, 모델로 만든 객체를 저장(save)하는 것으로 추상화했다. 기본적으로 모델클래스는 save메소드를 가진다. 따라서 개발자가 작성한 모델도 save메소드를 가지며, 이는 오버라이딩 할 수 있다. 아래 예에서 보듯이 save 메소드는 새로만든 레코드 필드의 속성에 따라서 적당히 삽입과 갱신 작업을 수행한다.
         e.save() # insert
          # First, try an UPDATE. If that doesn't update anything, do an INSERT.
          # Determine whether a record with the primary key already exists.
          # Create a new record with defaults for everything.
          cursor.execute("INSERT INTO %s (%s) VALUES (%s)" %
  • neocoin/CodeScrap . . . . 3 matches
         ostream_iterator<int> out(cout , " ");
         copy(vector1.begin(), vector1.end(), out); cout << endl;
         static const int INIT_START;
          void init(int aOption){
          if ( aOption == INIT_START )...
         const int Board::INIT_START = 0;
         win32 상의 설정 파일 api
          if ( m_nTime < (int)::GetPrivateProfileInt("FindBomb", "AMA_Time", 999, ".\FindBomb.ini")){
         %windir%\system32\gpedit.msc
         ["neocoin"]
  • 나를만든책장/서지혜 . . . . 3 matches
          * THE PRINCETON COMPANION TO Mathematics 1
          * 몰입:THINK HARD
          * 몰입2:THINK HARDER가 나왔다
  • 논문검색 . . . . 3 matches
          * [http://www.dlibrary.go.kr/index.html 국가전자도서관]
          * [http://www.nl.go.kr/index.php3 국립중앙도서관]
          * [http://www.nanet.go.kr/index.html 국회도서관]
          * [http://www.kisti.re.kr/ 산업기술정보원(KINITI)]
          * [http://www.kins.co.kr/ 한국아이엔에스(KINS)]
          * [http://www.isinet.com/isi/ ISI NET]
          * [http://www.libra.titech.ac.jp/online.html ONLINE JOURNAL (일본)]
          * [http://ostin.oasis.or.kr/pls/oasis2/ohome 해외과학기술정보네트워크]
          * [http://www.riss4u.net/index.html RISS4U]
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/정의정,김태진 . . . . 3 matches
         import java.io.PrintStream;
          public static final int RUNNING = 1;
          public static final int SHUT_DOWN = 2;
          public static final int GUARDS_RESPONSE = 3;
          public static final int OVER_WEIGHT = 4;
          public static final int ROBOT = 5;
          public int status;
          public int floor;
          public Elevator(int i, int j) {
          public void goTo(int i) {
          public int floor() {
          public int status() {
          public void underMinFloor() {
          public void callElevatorUp(int i) {
          public void callElevatorDown(int i) {
         import java.io.PrintStream;
          assertEquals(elevator.RUNNING, elevator.status());
          assertEquals(elevator.RUNNING, elevator.status());
          elevator.overMaxFloor(); // print 하늘나라로.
          elevator.underMinFloor(); // print 지옥으로.
  • 레밍즈프로젝트/프로토타입/에니메이션 . . . . 3 matches
         AddFrame(UINT ITEM)으로 프레임을 추가시키고 외부에서 적절한 타이머를 통해서 움직임을 조절한다.(NextFrame())
          vector<UINT> m_frameList;
          int m_nowFrame;
          void init(){
          init();
          if(m_nowFrame < int(m_frameList.size())-1)
          int getFrameSize(){
          return int(m_frameList.size());
          void addFrame(UINT ITEM){
  • 2010php/방명록만들기 . . . . 2 matches
         $link = mysql_connect('mysql5.hosting.paran.com', 'linflus', '****');
         if (!$link) {
         $db = mysql_select_db("linflus_db");
          (no integer not null,
          status integer,
         $sql = "INSERT INTO guest
         = 메인화면 ( index.php ) =
         include "dbconnect.php";
         이름  <input type='text' name='input_name' maxlength='10' size='10'>    
         비밀번호  <input type="password" name='input_pw'size='4' maxlength='4'>
         <input type = "radio" name = "status" value = "1" size = "40" checked><img src="http://cfile234.uf.daum.net/image/152622034C88B1DC682870">
         <input type = "radio" name = "status" value = "2" size = "40"><img src="http://cfile223.uf.daum.net/image/162622034C88B1DC696BEC">
         <input type = "radio" name = "status" value = "3" size = "40"><img src="http://cfile206.uf.daum.net/image/142622034C88B1DC6AA52F">
         <input type = "radio" name = "status" value = "4" size = "40"><img src="http://cfile232.uf.daum.net/image/152622034C88B1DC6BFF47">
         <input type = "radio" name = "status" value = "5" size = "40"><img src="http://cfile234.uf.daum.net/image/162622034C88B1DC6C0395">
         <input type='submit' value='전송'>
         include "print.php";
         $dbconn = mysql_connect("intra.zeropage.org", "csephp", "2010php");
         include "dbconnect.php";
         if (strlen($_POST['input_name']) > 10 )
  • 2학기자바스터디/운세게임 . . . . 2 matches
          System.out.println(today); // 바로 today가 String으로 자동변환되어 오늘 날짜 출력
          System.out.println(dateForm.format(today)); // today란 Date객체를 dateForm의 출력형식에 맞게 출력
          Calendar now = Calendar.getInstance(); // 새로운 객체를 생성하지않고 시스템으로부터 인스턴스를 얻음
          int hour = now.get(Calendar.HOUR); // 시간 정보 얻기
          int min = now.get(Calendar.MINUTE); // 분 정보 얻기
          || MINUTE || 분 ||
          int num = r.nextInt(); // Int범위(-2147483648 ~ 214783647) 에서 난수 발생
          int num2 = r.nextInt() % 10; // -9 ~ 9 사이의 난수 구하기
          int num3 = Math.abs(r.nextInt() % 10); // 0 ~ 9 사이의 난수 구하기. Math.abs()는 절대값을 구함
  • 2학기파이선스터디/클라이언트 . . . . 2 matches
          * Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
          * ChatMain? : 채팅의 주 인터페이스를 관리하는 클래스이다. 이 클래스에서 대부분의 GUI를 관리하고, 채팅메세지보여준다. 또한 채팅에 접속한 사람들의 ID를 보여준다.
          * ReceiveMessage? : 서버로부터 전달되는 메시지를 받아서 ChatMain? 클래스의 메시지 출력 화면에 보여주는 역할을 한다.
          * UserList? : ChatMain? 클래스의 사용자 List에 접속한 사용자 ID를 보여주는 기능을 한다.
         from Tkinter import *
         class Main:
          def __init__(self, master):
          for i in range(400):#test scrollbar
          self.show.insert(END, str(i))
          for i in range(400):#test scrollbar
          self.list.insert(END, str(i))
         #for input a string(?)
          print self.edit.get()
          def __init__(self, aID):
          self.isinEntry = True
         if __name__ == "__main__":
          login = tkSimpleDialog
         ## login.Place.place_configure( root, x = 100, y = 100) #position
         ## csock = socket(AF_INET, SOCK_STREAM)
          ID = login.askstring(title = "Login", prompt="Enter ID", parent = root)
  • ACE/CallbackExample . . . . 2 matches
         #include "ace/streams.h"
         #include "ace/Log_Msg.h"
         #include "ace/Log_Msg_Callback.h"
         #include "ace/Log_Record.h"
         #include "ace/SString.h"
          /*log_record.print(ACE_TEXT(""), 0, cerr);
          log_record.print(ACE_TEXT(""), ACE_Log_Msg::VERBOSE, cerr);*/
          ACE_CString data(">> ");
          * main.cpp
         #define ACE_NTRACE 0
         #include "ace/Log_Msg.h"
         #include "ace/streams.h"
         #include "callback.h"
         int ACE_TMAIN(int, ACE_TCHAR *argv[])
          ACE_TRACE(ACE_TEXT("main"));
          ACE_DEBUG((LM_INFO, ACE_TEXT("%IGoodnight\n")));
  • APlusProject/ENG . . . . 2 matches
         Upload:APP_CodingConvention_0407.zip
         Upload:APP_CodingConvention_0408.zip
         Upload:APP_CodingConvention_0412.zip -- 조금 추가하였습니다.
         해결 방법: C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 폴더로 이동
         C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>aspnet_regiis.exe -i
         === mdb 파일에 insert 쿼리시 에러 해결 ===
  • CSP . . . . 2 matches
         import threading, thread
         import netstring, socket
          def __init__(self):
          def __init__(self,processes):
          Process.__init__(self)
          for each in self.ps:
          threads.append(threading.Thread(target=each.run))
          for each in threads:
          for each in threads:
          each.join()
          def __init__(self,processes):
          Process.__init__(self)
          for each in self.ps:
          def __init__(self,buffer=1):
          def __init__(self,socket):
          v=loads(netstring.readns(self.s)) #block
          netstring.writens(self.s,"ACK")
          netstring.writens(self.s,dumps(v))
          ack=netstring.readns(self.s) #block
          def __init__(self,addr,outstream):
  • CarmichaelNumbers/조현태 . . . . 2 matches
         #include <stdio.h>
         #include <iostream>
         const int MINIMUM=2;
         const int MAXIMUM=65000;
         int Carmichael(int);
         int Sosu(int);
         void main()
          printf("숫자를 입력해 주세요.\n");
          int number=-1;
          int answer=0;
          while ((0!=number)&&(number<MINIMUM || MAXIMUM<number))
          printf("%d is normal.\n",number);
          printf("The number %d is a Carmichael number.\n",number);
         int Carmichael(int number)
          for (register int i=2; i<number; ++i)
          unsigned int a=1;
          for (register int j=0; j<number; ++j)
         int Sosu(int number)
          int *log_number=(int*)malloc((number+2)*sizeof(int));
          int gab;
  • Chapter II - Real-Time Systems Concepts . . . . 2 matches
         리얼 타임이라는 말은 Timing 의 correctness (정확성)에 의해 결정되는 말이다. 이러한 리얼타임은 대략 두가지 부류를 가지고 있다.
         Food processing, Chemical plants, Engine controls, Antilock braking systems, Fax machines, ETC
         작은 시스템에서는 시스템의 효율성을 위해 보단 간편하고 일반적인 디자인을 사용한다고 한다. 실제로 어플리케이션이 작동하는 부분을 Background System이라고 하며 ISR (interrupt service rountines) 라고 불리우는 인터럽트 부분을 Foreground system이라고 한다.
         태스크에 의해 쓰여지는 빈 공간을 말한다. 이러한 리소스는 I/O , Printer , Memory , KeyBoard 가 될 수 있으며 다른 기타 자원도 있다.
         === Multitasking ===
         RUNNING :: 지금 활동 중인 상태[[BR]]
         WAITING :: 이벤트를 기다리며 휴식 중인 상태[[BR]]
         ISR(interrupted) :: 인터럽트를 수행 중인 상태 [[BR]]
         int Temp; // 언제 바뀔지 모르는 전역 변수
         void swap(int *x,int *y)
         === Round Robin Scheduling ===
         Time Slicing 이라고도 한다. 또한 이 수행 시간을 quantum 이라고 한다.
         === Priority Inversions ===
         === Assigning Task Priorities ===
          * Rate Monotonic Scheduling (RMS)
         === Intertask Communication ===
         === Interrupts ===
         === Interrupt Latency ===
         === Interrupt Response ===
         === Interrupt Recovery ===
  • CppStudy_2002_2/객체와클래스 . . . . 2 matches
         == vending.h ==
         #ifndef _VENDING_H_
         #define _VENDING_H_
         class Vending
          int m_money;
          int m_price[3];
          int m_quantity[3];
          Vending();
          void insertCoin();
          void extortCoin();
          void mainMenu();
         == vending.cpp ==
         #include <iostream>
         #include <cstring>
         using namespace std;
         #include "vending.h"
         Vending::Vending()
         void Vending::insertCoin()
          int money;
          cin >> money;
  • EightQueenProblem/이선우2 . . . . 2 matches
         import java.io.PrintStream;
          public static final char DEFAULT_BOARD_MARK = '.';
          public static final char DEFAULT_QUEEN_MARK = 'Q';
          public static final char DEFAULT_LINE_BREAK = '\n';
          private int size;
          private int [] board;
          private int numberOfAnswers;
          private int hasAnswer;
          private char lineBreak;
          private PrintStream out;
          public NQueen2( int size ) throws Exception
          board = new int[size];
          public int getSize()
          lineBreak = DEFAULT_LINE_BREAK;
          public void setOutputFormat( final char boardMark, final char queenMark, final char lineBreak )
          this.lineBreak = lineBreak;
          public int countAnswers()
          public int countAnswers( final PrintStream out )
          private void setQueenAt( int line )
          if( line == size ) {
  • EmbeddedSystemClass . . . . 2 matches
         http://www.huins.com/new1//img/u-51.jpg
         Intel XScale PXA255 400MHz processor 탑재
         Linux, WinCE. Nucleus/uCOS-II RTOS운영체제 채택.
         [http://www.huins.com/new1/sub/sub2-3-6.htm HUINS 보드 소개 페이지]
         [http://zeropage.org/common-ftp/@embedded-system-cd/HUINS/pxa255_pro3v5.2A.iso 내장형시스템 보드 CD DOWNLOAD] : PXA255A (Intel XScale 400Mhz)
         패키지 묶음 설치에서 '''Standard Package''' 만을 선택한다. (x-windows, gnome 은 차후 필요한 부분만을 설치한다.)
         최신 버전의 리눅스를 구해서 할 경우 페도라 Full install 의 경우 큰 문제가 없으나,
         aptitude install linux-headers-''[version]''
         aptitude install linux-image-''[version]''
         aptitude install gcc
         aptitude install make
         // tftp 터널링에 필요한 inetd 설치, tftpd 설치
         aptitude install openbsd-inetd
         aptitude install tftp-hpa tftpd-hpa
         aptitude install minicom
         aptitude install nfs-kernel-server
         aptitude install nfs-client
         // 필요할 경우 다음의 명령어를 통해서 x-window, gnome 을 설치한다.
         aptitude install x-window-system
         aptitude install gnome
  • Gof/Command . . . . 2 matches
         == Intent ==
         때때로 요청받은 명령이나 request를 받는 객체에 대한 정보없이 객체들에게 request를 넘겨줄 때가 있다. 예를 들어 user interface tookit은 button이나 menu처럼 사용자 입력에 대해 응답하기 위해 요청을 처리하는 객체들을 포함한다. 하지만, 오직 toolkit을 사용하는 어플리케이션만이 어떤 객체가 어떤일을 해야 할지 알고 있으므로, toolkit은 button이나 menu에 대해서 요청에 대해 명시적으로 구현을 할 수 없다. toolkit 디자이너로서 우리는 request를 받는 개체나 request를 처리할 operations에 대해 알지 못한다.
         Command Pattern은 request 를 객체화함으로서 toolkit 객체로 하여금 불특정한 어플리케이션 객체에 대한 request를 만들게 한다. 이 객체는 다른 객체처럼 저장될 수 있으며 pass around 가능하다. 이 pattern의 key는 수행할 명령어에 대한 인터페이스를 선언하는 추상 Command class에 있다. 이 인터페이스의 가장 단순한 형태에서는 추상적인 Execute operation을 포함한다. 구체화된 Command subclass들은 request에 대한 receiver를 instance 변수로 저장하고 request를 invoke하기 위한 Execute operation을 구현함으로서 receiver-action 짝을 구체화시킨다. The receiver has the knowledge required to carry out the request.
         어플리케이션은 각각의 구체적인 Command 의 subclass들로 각가각MenuItem 객체를 설정한다. 사용자가 MenuItem을 선택했을때 MenuItem은 메뉴아이템의 해당 명령으로서 Execute oeration을 호출하고, Execute는 실제의 명령을 수행한다. MenuItem객체들은 자신들이 사용할 Command의 subclass에 대한 정보를 가지고 있지 않다. Command subclass는 해당 request에 대한 receiver를 저장하고, receiver의 하나나 그 이상의 명령어들을 invoke한다.
         예를 들어 PasteCommand는 clipboard에 있는 text를 Document에 붙이는 기능을 지원한다. PasteCommand 의 receiver는 인스턴스화할때 설정되어있는 Docuemnt객체이다. Execute 명령은 해당 명령의 receiver인 Document의 Paste operation 을 invoke 한다.
         이러한 예들에서, 어떻게 Command pattern이 해당 명령을 invoke하는 객체와 명령을 수행하는 정보를 가진 객체를 분리하는지 주목하라. 이러함은 유저인터페이스를 디자인함에 있어서 많은 유연성을 제공한다. 어플리케이션은 단지 menu와 push button이 같은 구체적인 Command subclass의 인스턴스를 공유함으로서 menu 와 push button 인터페이스 제공할 수 있다. 우리는 동적으로 command를 바꿀 수 있으며, 이러함은 context-sensitive menu 를 구현하는데 유용하다. 또한 우리는 명령어들을 커다란 명령어에 하나로 조합함으로서 command scripting을 지원할 수 있다. 이러한 모든 것은 request를 issue하는 객체가 오직 어떻게 issue화 하는지만 알고 있으면 되기때문에 가능하다. request를 나타내는 객체는 어떻게 request가 수행되어야 할지 알 필요가 없다.
          * logging change를 지원하기 원할때. logging change 를 지원함으로서 시스템 충돌이 난 경우에 대해 해당 command를 재시도 할 수 있다. Command 객체에 load 와 store operation을 추가함으로서 change의 log를 유지할 수 있다. crash로부터 복구하는 것은 디스크로부터 logged command를 읽어들이고 Execute operation을 재실행하는 것은 중요한 부분이다.
          * 기본명령어들를 기반으로 이용한 하이레벨의 명령들로 시스템을 조직할 때. 그러함 조직은 transaction을 지원하는 정보시스템에서 보편화된 방식이다. transaction은 데이터의 변화의 집합을 캡슐화한다. CommandPattern은 transaction을 디자인하는 하나의 방법을 제공한다. Command들은 공통된 인터페이스를 가지며, 모든 transaction를 같은 방법으로 invoke할 수 있도록 한다. CommandPattern은 또한 새로운 transaction들을 시스템에 확장시키기 쉽게 한다.
          * Invoker (MenuItem)
          * Invoker 객체는 ConcreteCommand객체를 저장한다.
          * invoker는 command에서 Execute를 호출함으로서 request를 issue한다. 명령어가 undo가능할때, ConcreteCommand는 명령어를 undo하기 위한 state를 저장한다.
          * ConcreteCommand 객체는 request를 처리하기 위해 receiver에서 operation을 invoke한다.
         다음의 다이어그램은 이 객체들이 어떻게 상호작용하는지 보여준다. 이 다이어그램은 또한 어떻게 Command 가 receiver와 처리할 request로부터 invoker를 분리하는지 설명한다.
          1. Command는 해당 객체의 명령을 invoke하는 객체와 어떻게 수행해야 할지 알고 있는 객체와의 결합을 해제한다.
         constructor는 receiver와 instance 변수에 대응되는 action을 저장한다. Execute는 단순히 action을 receiver에 적용한다.
         MyClass의 instance로 있는 Action을 호출할 command를 만들기 위해서, 클라이언트는 단순히 이렇게 코딩한다.
         아마도 CommandPattern에 대한 첫번째 예제는 Lieberman 의 논문([Lie85])에서 나타났을 것이다. MacApp [App89] 는 undo가능한 명령의 구현을 위한 command의 표기를 대중화시켰다. ET++[WGM88], InterViews [LCI+92], Unidraw[VL90] 역시 CommandPatter에 따라 클래스들을 정의했다. InterViews는 각 기능별 명령에 대한 Action 추상 클래스를 정의했다. 그리고 action 메소드에 의해 인자화됨으로서 자동적으로 command subclass들을 인스턴스화 시키는 ActionCallback 템플릿도 정의하였다.
         THINK 클래스 라이브러리 [Sym93b] 또한 undo 가능한 명령을 지원하기 위해 CommandPattern을 사용한다. THINK 에서의 Command들은 "Tasks" 로 불린다. Task 객체들은 ChainOfResponsibilityPattern에 입각하여 넘겨지고 소비되어진다.
  • Gof/State . . . . 2 matches
         == Intent ==
         네트워크 커넥션을 나타내는 TCPConnection 라는 클래스를 생각해보자. TCPConnection 객체는 여러가지의 상태중 하나 일 수 있다. (Established, Listening, Closed). TCPConnection 객체가 다른 객체로부터 request를 받았을 때, TCPConnection 은 현재의 상태에 따라 다르게 응답을 하게 된다. 예를 들어 'Open' 이라는 request의 효과는 현재의 상태가 Closed 이냐 Established 이냐에 따라 다르다. StatePattern은 TCPConnection 이 각 상태에 따른 다른 행위들을 표현할 수 있는 방법에 대해 설명한다.
          1. Who defines the state transitions?
          * Creating and destroying State objects.
          * Using dynamic inheritance.
          _state = TCPClosed::Instance ();
          static TCPState* Instance ();
          static TCPState* Instance ();
          static TCPState* Instance ();
         TCPState 서브클래스는 내부 상태를 가지지 않는다, 그러므로 TCPState는 공유될 수 있고, 각각 단지 하나의 인스턴스만이 요구되어진다. 이 TCPState 서브클래스의 각각의 유일한 인스턴스들은 정적함수인 Instance 로 얻어진다. (TCPState 서브클래스는 Singleton 으로 만들어진다.)
          ChangeState (t, TCPEstablished::Instance ());
          ChangeState (t, TCPListen::Instance ());
          // send FIN, receive ACK of FIN
          ChangeState (t, TCPListen::Instance ());
          ChangeState (t, TCPEstablished::Instance ());
         대부분의 대중적인 상호작용적인 드로잉 프로그램들은 직접 조작하여 명령을 수행하는 'tool' 을 제공한다. 예를 들어, line-drawing tool 은 사용자가 클릭 & 드레그 함으로서 새 선을 그릴 수 있도록 해준다. selection tool 은 사용자가 도형을 선택할 수 있게 해준다. 보통 이러한 툴들의 palette (일종의 도구상자 패널)를 제공한다. 사용자는 이러한 행동을 'tool을 선택한 뒤 선택한 tool을 이용한다' 라고 생각한다. 하지만, 실제로는 editor 의 행위가 현재 선택한 tool로 전환되는 것이다. drawing tool 이 활성화 되었을 때 우리는 도형을 그리고 selection tool 이 활성화 되었을 때 도형을 선택할 수 있는 식이다. 우리는 현재 선택된 tool 에 따른 editor 의 행위를 전환시키는 부분에 대해 StatePattern 을 이용할 수 있다.
         툴-구체적 행위를 구현하는 서브클래스를 정의하는 곳에 대해 Tool 추상 클래스를 정의할 수 있다. drawing editor 는 currentTool 객체를 가지며, request를 이 객체에 위임시킨다. 사용자가 새 tool를 골랐을 때, drawing editor 는 행위를 전환해야 하므로 따라서 이 객체는 교체된다.
         이 방법은 HowDraw [Joh92]와 Unidraw [VL90] drawing editor 프레임워크에 이용되었다. 이는 클라이언트로 하여금 새로운 종류의 tool들을 쉽게 정의할 수 있도록 해준다. HowDraw 에서 DrawingController 클래스는 currentTool 객체에게 request를 넘긴다. UniDraw에서는 각각 Viewer 와 Tool 클래스가 이와 같은 관계를 가진다. 다음의 클래스 다이어그램은 Tool 과 DrawingController 인터페이스에 대한 설명이다.
          * State객체는 종종 SingletonPattern 으로 구현된다.
  • GuiTestingWithMfc . . . . 2 matches
         CppUnit 을 이용한 MFC 에서의 GuiTesting (시도중. 결과는?)
         http://zeropage.org/pub/GuiTesting/GuiTest1.gif
         === 1. GUI Runner Setting ===
         이는 App 클래스의 InitInstance 함수에서 해준다.
         #include "stdafx.h"
         #include "GuiTestingOne.h"
         #include "GuiTestingOneDlg.h"
         #include "cppunit\ui\mfc\TestRunner.h"
         #include "GuiTestCase.h"
         #define new DEBUG_NEW
         BEGIN_MESSAGE_MAP(CGuiTestingOneApp, CWinApp)
          //{{AFX_MSG_MAP(CGuiTestingOneApp)
          // NOTE - the ClassWizard will add and remove mapping macros here.
          // DO NOT EDIT what you see in these blocks of generated code!
          ON_COMMAND(ID_HELP, CWinApp::OnHelp)
         CGuiTestingOneApp::CGuiTestingOneApp()
         CGuiTestingOneApp theApp;
         BOOL CGuiTestingOneApp::InitInstance()
          AfxEnableControlContainer();
          Enable3dControls(); // Call this when using MFC in a shared DLL
  • JavaScript/2011년스터디 . . . . 2 matches
          * imperative and structured programming language
          * functional and declarative programming language
          * [김태진] - 부산에 갔다오는 바람에 저번주는 스터디를 못하고 이번주에 다시 들어왔습니다. URL헌터를 완성해오는게 숙제였던거 같은데, 저는 하지 않고 왔습니다- 나중에는 자기가 짠 것을 고치거나 못짠사람은 완성하는 것을 했는데, 배열 문법구조가 C와 달라 에러가 떠 코드가 산으로 갈뻔했죠... arr.join('')이라는 것을 통해서 기본 틀을 짜는데는 성공했으니 다음시간까지는 a를 먹도록은 짜 봐야겠네요. 하지만 다른사람들과는 다르게 객체지향적일거 같지는 않아요. 우선 구현에 의의를 두고 열심히 짜봐야겠네요;;
          * [JavaScript/2011년스터디/CanvasPaint]
          * [김태진] - 사실 오늘 한거에 대한 후기보다는.. 그림판 퀄리티를 향상시켰어요! UNDO와 REDO 완벽구현!! [http://clug.cau.ac.kr/~jereneal20/paint.html]
          * Cappuccino에 관해 공유(?)했습니다. 하지만 환경이 갖추어진 사람이 1명밖에 없어서 보류...
          * [김태진] - 어쩐지 위에 제가 썼다보니 전반이 제 후기인거같...습니다. 아무래도 우리는 JavaScript스터디라는 명목보다 WebProgramming스터디가 좀 더 적합해지지 않을까 생각이 되는데 다음에 의견을 모아봐야겠네요.
          * 데이터를 지운 후에 새로 추가하게되면 제일 아래쪽부터 차올라가는게 아니라 없어진 위치에 채우고 새로 채워나갑니다. 이 부분때문에 index의 필요성이 더 커졌습니다.
          * MySQL에 원하는 정보를 Delete하려고 하였으나, 그걸 위해서는 index가 필요했고, 인덱스를 만드는 방법을 연구하고 있습니다.
         alter table tablename add index 인덱스명(인덱스를 줄 컬럼1 , 인덱스를 줄 컬럼2, ... )
         alter table tablename drop index 인덱스명;
         CREATE [UNIQUE] INDEX index_name ON tbl_name (col_name[(length]),... )
         DROP INDEX index_name on tlb_name
          * WebProgramming 스터디로 바꾸는 것은 다음 정모때 제가 참여하면 바꿀 예정입니다. 자바스크립트에서 너무 멀리와서 이 부분은 WebProgramming스터디로 하는게 더 좋을거 같네요.
          * [http://clug.cau.ac.kr/~linus/guestbook.html 박정근 방명록만들기]
  • LC-Display/문보창 . . . . 2 matches
         #include <iostream>
         #include <cstdlib>
         #include <cstring>
         using namespace std;
         const int MAX_LINE = 2000; // test case의 수
         const int MAX_ROW = 23;
         const int MAX_COL = 103;
          int size; // 크기
         int inAnaloge(Digit * d);
         void makeDisplay(Digit * d, const int line);
         void showDisplay(char pd[][MAX_COL], int row, int index);
         void toDigital(char pd[][MAX_COL], int row, int col, int index, char c);
         int main()
          Digit digits[MAX_LINE]; // 입력받을 Analoge 숫자
          int line = inAnaloge(digits); // 처리해야 될 줄 수
          makeDisplay(digits, line);
         int inAnaloge(Digit * d)
          int count = 0;
          int size;
          while(cin >> size >> str)
  • MFC/Print . . . . 2 matches
         #define _MFC_
         = Print in MFC =
          * CView::OnPreparePrinting()
          페이지 카운트를 계산한다. DoPreparePrinting() 호출
          * CView::OnBeginPrinting()
          * CView::OnPrint()
          * CView::OnEndPrinting()
          뷰클래스의 5개의 멤버함수는 프로그래머가 재정의 해야한다. 최소한 5개중에서 OnPreparePrinting(), OnPrepareDC(), OnPrint()는 구현해야한다.
          프린터 작업과 관계되는 모든 함수는 CPrintInfo 형의 객체 포인터가 인자로 전달된다. 이 객체는 프린터 작업을 관리하는 함수들을 연결시켜준다.
         = CPrintInfo =
         || m_pPD || CPrintDialog 객체에 대한 포인터. 출력 대화 상자를 나타낸다. ||
         || m_bPreview || Print Preview 가 선택되면 TRUE, 아니면 FALSE ||
         || m_bContinuePrinting || TRUE로 설정되면 출력 루프를 계속한다. FALSE가 되면 프린트 작업 종료. ||
         || m_nCurPage || UINT형식을 갖는 값으로서 현재 페이지 번호를 저장 ||
         || m_nNumPreviewPages || UINT preview 우니도우에 나타나 있는 페이지들의 번호 1 or 2 ||
         || m_lpUserData || LPVOID 형식을 갖는다. 생성한 객체에 대한 포인터를 저장한다. 출력작업에 관한 추가 정보를 저장하는 객체를 생성할 수 있도록 한다. CPrintInfo 객체와 연계 시킬 수 있도록 한다. ||
         || m_strPageDesc || CString 객체로 프린트 preview 동안에 페이지 번호를 나타내기 위해 프레임 웍에서 사용되는 포맷 문자열을 포함한다. ||
         || m_bDocObject || 응용프로그램이 lPrint 인터페이스를 통하여 출력하면 TRUE로 설정되며, 그렇지 않은 경우에는 FALSE이다. ||
         || m_dwFlags || m_bDocObject가 TRUE일때만 유호. DWORD값으로 lPrint::Print에 전달된 플래그 ||
         || m_nOffsetPage || m_bDocObject가 TRUE일때만 유효. lPrint job 안에서 첫번째 페이지 offset을 준다. ||
  • MatrixAndQuaternionsFaq . . . . 2 matches
         This FAQ is maintained by "hexapod@netcom.com". Any additional suggestions or related questions are welcome. Just send E-mail to the above address.
          Introduction I1: steve@mred.bgm.link.com
         I1. Important note relating to OpenGL and this document
         Q3. How do I represent a matrix using the C/C++ programming languages?
         Q4. What are the advantages of using matrices?
         Q5. How do matrices relate to coordinate systems?
         DETERMINANTS AND INVERSES
         Q14. What is the determinant of a matrix?
         Q15. How do I calculate the determinant of a matrix?
         Q17. What is the inverse of a matrix?
         Q18. How do I calculate the inverse of an arbitary matrix?
         Q19. How do I calculate the inverse of an identity matrix?
         Q20. How do I calculate the inverse of a rotation matrix?
         Q21. How do I calculate the inverse of a matrix using Kramer's rule?
         Q22. How do I calculate the inverse of a 2x2 matrix?
         Q23. How do I calculate the inverse of a 3x3 matrix?
         Q24. How do I calculate the inverse of a 4x4 matrix?
         Q25. How do I calculate the inverse of a matrix using linear equations?
         Q27. How do I generate a rotation matrix in the X-axis?
         Q28. How do I generate a rotation matrix in the Y-axis?
  • MoreEffectiveC++/Efficiency . . . . 2 matches
         '''80-20 규칙''' 이란? 프로그램의 80%의 리소스가 20%의 코드에서 쓰여진다.:실행 시간의 80%가 대략 20%의 코드를 소모한다;80%의 메모리는 어떤 20%의 코드에서 쓴다.;80%의 disk 접근은 20%의 코드에서 이루어진다.:80%의 소프트웨어 유지의 노력은(maintenance effort)는 20%의 코드에 쏟아 부어진다.[[BR]]
         80-20 규칙은 수많은 기계에서, 운영체제(Operating System)에서, 그리고 어플리케이션에서 적용된다. 80-20 규칙은 단지 재미있는 표현보다 더 많은 의미가 있다.;그것은 광범위하고, 실질적인 개념이 필요한 시스템의 성능(능률)에 개선 대한 기준점을 제시한다.
         이런 결과들을 막는데 최선책은 당신의 소프트웨어에 가능한한 많은 데이터 들에게 프로파일을 시도하는것이다. 게다가 당신은 각 데이터들이 소프트웨어가 그것의 클라이언트들(혹은 최소한 가장 중요한 클라인트들에게라도)에게 사용방식을 잘 보여주도록 확신할수 있어야만 한다. 잘표현되는 데이터들은 얻기가 용이하다 왜냐하면 프로파일링 중에는 당신이 그들의 데이터를 사용할수 있기때문에 많은 클라이언트들이 좋기 때문이다. (뭔소리야. --;) 당신은 당신의 소프트웨어를 그들과 만나면서 조정(tuning)을 할것이고, 그것이 오직 당신이나 클라이언트들 양쪽에게 좋은 방법이다.
         == Item 17:Consider using lazy evaluation ==
         능률(efficiency)의 관점에서 최고의 계산은 결코 아무것도 수행하지 않는것이다. 말이 좀 이상한가? 생각해 봐라 당신이 어떤 일도 필요없을때 이건 맞는거다. 왜 당신은 당신의 프로그램안에서 가장 처음에 그것을 수행하려 하는가? 그리고 만약 당신이 어떤 일을 수행하기를 원할때 당신은 그 코드의 실행(excuting)을 피할수는 없을까?
          === Reference Counting (참조 세기) ===
          class String { ... }; // 문자열 클래스 (이건 밑의 언급과 같이 표준 스트링 타입과
          String s1 = "Hello";
          String s2 = s1; // String 복사 생성자를 부른다.
         String 복사 생성자의 적용시, s2는 s1에 의하여 초기화 되어서 s1과 s2는 각각 "Hello"를 가지게된다. 그런 복사 생성자는 많은 비용 소모에 관계되어 있는데, 왜냐하면, s1의 값을 s1로 복사하면서 보통 heap 메모리 할당을 위해 new operator(Item 8참고)를 s1의 데이터를 s2로 복사하기 위해 strcpy를 호출하는 과정이 수행되기 때문이다. 이것은 ''''eager evaluation''''(구지 해석하면 '''즉시 연산''' 정도 일것이다.) 개념의 적용이다.:s1의 복사를 수행 하는 것과, s2에 그 데이터를 집어넣는 과정, 이유는 String의 복사 생성자가 호출되기 때문이다. 하지만 여기에는 s2가 쓰여진적이 없이 새로 생성되는 것이기 때문에 실제로 s2에 관해서 저런 일련의 복사와, 이동의 연산의 필요성이 없다.
         이와 같은 구문의 사용으로, String의 convertToUpperCase 함수를 적용하면, s2의 값의 복사본을 만들어야 하고, 수정되기전에 s2에 그걸 s2의 종속되는 데이터로 만들어야 한다. convertToUpperCase 내부에 우리는 lazy 상태가 더이상 지속되지 않도록 하는 코드를 넣어야 한다.:s2가 마음대로 다룰수 있도록 s2의 공유된 값의 사본을 복사해야 한다. 반면에 만약 s2가 결코 수정되지 않을 것이라면, 이러한 s2만의 값을 복사하는 일련의 과정이 필요 없을 것이다. 그리고 s2가 존재하는 만큼 값도 계속 존재해야 한다. 만약 더 좋게, s2가 앞으로 결코 변하지 않는다면, 우리는 결코 그것의 값에 대한 노력을 할필요가 없을 것이다.
          === Distinguishing Read from Writes ( 읽기와 쓰기의 구분 ) ===
         reference-counting 을 토대로한 문자열의 구현 예제를 조금만 생각해 보면 곧 lazy evaluation의 방법중 우리를 돕는 두번째의 것을 만나게 된다. 다음 코드를 생각해 보자
          String s = "Homer's Iliad"; // 다음 문자열이 reference-counting으로
         첫번째 operator[]는 문자열을 읽는 부분이다,하지만 두번째 operator[]는 쓰기를 수행하는 기능을 호출하는 부분이다. 여기에서 '''읽기와 쓰기를 구분'''할수 있어야 한다.(distinguish the read all from the write) 왜냐하면 읽기는 refernce-counting 구현 문자열로서 자원(실행시간 역시) 지불 비용이 낮고, 아마 저렇게 스트링의 쓰기는 새로운 복사본을 만들기 위해서 쓰기에 앞서 문자열 값을 조각내어야 하는 작업이 필요할 것이다.
          === Lazy Fetching ( 늦은 가져오기) ===
          cosnt string& field1() const; // 필드상의 값1
          int field2() const; // 필드상의 값2
          const string& field4() const;
          const string& field5() const;
  • MySQL . . . . 2 matches
         jdbc:mysql://localhost/database?user=user&password=xxx&useUnicode=true&characterEncoding=KSC5601
          * 중지 : myadmin shutdown -p
         insert user values('localhost', 'jeppy', password('암호'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y');
         insert user values('%', 'jeppy', password('암호'), 'y','y','y','y','y','y','y','y','y','y','y','y','y','y');
          * ZeroPage 회원 ["상민"](99,["neocoin"])에게 해 주십시오.
         6 rows in set (0.00 sec)
         1 row in set (0.00 sec)
         Client characterset: latin1
         Server characterset: latin1
          앗 탄로 났다. 드뎌 영문으로 설치한 부작용이 다들 영어 써요 ~ 와~~;; 오호 통재라 모든것은 시험끝나고 이루어질것이니.. --["neocoin"]
         MySQL에서 한글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --["상규"]
         2 rows in set (0.00 sec)
         mysql> select * from addressbook ORDER BY BINARY name;
         6 rows in set (0.00 sec)
         [http://network.hanbitbook.co.kr/view_news.htm?serial=131 MySQL과 Transaction] 테이블 생성시 InnoDB 나 BSDDB 를 사용하면 Transaction 을 이용할 수 있다. (InnoDB 추천)
         http://navyism.com/main/memo.php?bd=lib&no=24
         [MySQL/PasswordFunctionInPython]
         [MySQL/PasswordFunctionInJava]
  • NSIS/예제1 . . . . 2 matches
         Name "TestInstallSetup"
         OutFile "TestInstallSetup.exe"
         InstallDir $PROGRAMFILES\TestInstallSetup
         DirText "This will install the very simple example1 on your computer. Choose a directory"
          SetOutPath $INSTDIR
          File "C:\windows\notepad.exe"
         MakeNSIS v1.95 - Copyright 1999-2001 Nullsoft, Inc.
         Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, Peter Windridge, Dave Laundon, Robert Rainwater, Yaroslav Faybishenko, et al.
         Processing config:
         Processing script file: "example1.nsi"
         Name: "TestInstallSetup"
         OutFile: "TestInstallSetup.exe"
         InstallDir: "$PROGRAMFILES\TestInstallSetup"
         DirText: "This will install the very simple example1 on your computer. Choose a directory" "" ""
         SetOutPath: "$INSTDIR"
         Processed 1 file, writing output:
         Output: "C:\Program Files\NSIS\TestInstallSetup.exe"
         Install: 1 section (1 required).
         Install: 4 instructions (96 bytes), 560 byte string table.
         Install code+strings: 525 / 944 bytes
  • OurMajorLangIsCAndCPlusPlus/XML/조현태 . . . . 2 matches
         #include <stdio.h>
         #include <stdlib.h>
         #include <string.h>
         typedef unsigned int bool;
         #define FALSE 0
         #define TRUE 1
         #define INPUT_BUFFUR 255
          int nextBlockNumber;
         const char DEBUG_TEXT[] = "<zeropage>\n <studies>\n <cpp>\n <instructor>이상규</instructor>\n <participants>\n <name>김상섭</name>\n <name>김민경</name>\n <name>송수생</name>\n <name>조현태</name>\n </participants>\n </cpp>\n <java>\n <instructor>이선호</instructor>\n <participants>\n <name>김민경</name>\n <name>송수생</name>\n <name>조현태</name>\n </participants>\n </java>\n <mfc>\n <participants/>\n </mfc>\n </studies>\n</zeropage>\n";
          SReadBlock* myPoint = NULL;
          else if (NULL == myPoint)
          const char* nameEndPoint = strchr(readData, '>');
          char* textBuffur = (char*)malloc(sizeof(char) * (nameEndPoint - readData + 1));
          strncpy(textBuffur, readData, nameEndPoint - readData);
          textBuffur[nameEndPoint - readData] = 0;
          myPoint = CreateNewBlock(textBuffur, NULL);
          AddNewTail(headBlock, myPoint);
          if ('/' == myPoint->name[strlen(myPoint->name) - 1])
          myPoint->name[strlen(myPoint->name) - 1] = 0;
          myPoint->isOneTable = TRUE;
  • PHP Programming/HtmlTag . . . . 2 matches
          *<INPUT> 사용자에게 어떤 정보를 물을 때 사용하는 태그.
          *<INPUT TYPE="입력필드의 형식" NAME="이름" VALUE="기본값">
  • ProgrammingLanguageClass/Report2002_1 . . . . 2 matches
         = Principles of Programming Languages =
         ※ 입력된 문장들이 제시된 문법(grammar)에 맞는지 판단하는 Recursive Descent Parsing 기법을 이용한 파서(parser)를 작성하시오.
          * Internal/external documentations
          | <term> <minus_operator> <expression>
         <identifier> → any names conforming C identifier
         <minus_operator> → -
          * 입력: INPUT.TXT로 이름지어진 텍스트 파일
          * 출력: 주어진 문법에 따라 INPUT.TXT에 저장되어 있는 문장을 분석한다. 파싱(parsing)되는 중간과정을 <처리 예>와 같이 출력하고, 문법에 적합하면 “Yes,” 입력된 문장이 적합하지 않으면 오류 메시지와 “No”를 출력한다.
          * 각 파싱(parsing) 함수는 리턴하기 직전에 해당 non-terminal이 검색되었음을 알리는 메시지를 출력하여야 한다.
          printf("<expression> parsed.\n");
          printf("<identifier>: %s parsed.\n",token_string);
          * 어휘분석기(lexical analyzer)의 소스코드는 정수 변수 next_token, 문자열 변수 token_string, 함수 lexical()을 포함하여야 한다. 함수 lexical()은 입력 스트림을 분석하여 하나의 lexeme을 찾아낸 뒤, 그것의 token type을 next_token에 대입하고, lexeme 문자열을 token_string에 저장하는 함수이다.
          * 기타 구현 시 요구되는 세부 사항은 직접 결정하고, internal document에 기술한다.
         ["ProgrammingLanguageClass"]
  • SOLDIERS/송지원 . . . . 2 matches
         #include <iostream>
         #include <algorithm>
         #include <cmath>
         using namespace std;
         void main () {
          // input data
          int num;
          int x[10001], y[10001];
          int i, k;
          int minX, minY, maxX, maxY;
          int sumXmove, sumYmove;
          int minMoveX = INT_MAX;
          int minMoveY = INT_MAX;
          int resx, resy;
          // data input
          minX = x[1];
          minY = y[1];
          for(i=minX; i<=maxX; i++){
          printf("%d", minMoveX + minMoveY);
  • STL/list . . . . 2 matches
          * include : list
         #include <list>
         list<int> l;
         list<int>::iterator i;
          * iterator 를 이용한 순회는 containter에 공통점이다.
         list<int>::iterator i;
         for(i = l.begin() ; i != l.end() ; ++i)
         i = l.begin();
         #include <list>
         #include <iostream>
         using namespace std;
         int main(){
          const int INDEX_MAX = 5;
          int data[] = {1,2,3,4,5};
          list<int> l(&data[0], &data[INDEX_MAX]);
          list<int>::iterator i ;
          for(i = l.begin() ; i != l.end() ; ++i)
          i = l.begin();
  • SmallTalk/강좌FromHitel/소개 . . . . 2 matches
         있습니다. Dolphin Smalltalk 98을 만든 Object Arts라는 회사가 쓴 "Dolphin
         고 있으며, 필자가 자료실에 올린 Dolphin Smalltalk 역시 그런 훌륭한 개발 환
         의 장벽을 가지고 있었습니다. Dolphin Smalltalk는 이러한 장벽들을 뛰어넘어서
         니다. 이는 비단 Dolphin Smalltalk만이 아니라, 널리 사용되고 있는 VisualAge
         속도에 대해서 이야기할 때 수행 속도(running performance)와 더불어 빠질 수
         Dolphin Smalltalk와 Delhi에서 원소수가 200만개인 배열 변수에서 어떤 값을 찾
          Data: array[1 .. 2000000] of Integer;
          i, Key: Integer;
         begin
          begin
          begin
          ShowMessage( IntToStr(i) );
          ^MessageBox notify: i displayString
         있으며, Dolphin Smalltalk의 경우에도 상용 제품과 공개용 제품을 같이 내놓고
         있습니다. 또한 Dolphin Smalltalk 상용판의 경우는 약 $50 정도의 가격으로 충
         그러나 Dolphin Smalltalk의 경우는 보통 구현되는 Smalltalk의 특성보다 한 단
         우 낮게 할 수 있었으며, 이는 Dolphin Smalltalk가 다른 Smalltalk에 비해서 월
         니다.) 그러나 Dolphin Smalltalk의 경우에는 기본적으로 약 3%의 자원을 소비합
         공간의 점유율입니다. (보통 배포되는 Dolphin Smalltalk에는 약 540개의 갈래와
         생각합니다. 흔히 Delphi나 Visual Basic, C++ 등으로 Windows 용의 응용 프로그
  • SmallTalk_Introduce . . . . 2 matches
         있습니다. Dolphin Smalltalk 98을 만든 Object Arts라는 회사가 쓴 "Dolphin
         고 있으며, 필자가 자료실에 올린 Dolphin Smalltalk 역시 그런 훌륭한 개발 환
         의 장벽을 가지고 있었습니다. Dolphin Smalltalk는 이러한 장벽들을 뛰어넘어서
         니다. 이는 비단 Dolphin Smalltalk만이 아니라, 널리 사용되고 있는 VisualAge
         속도에 대해서 이야기할 때 수행 속도(running performance)와 더불어 빠질 수
         Dolphin Smalltalk와 Delhi에서 원소수가 200만개인 배열 변수에서 어떤 값을 찾
          Data: array[1 .. 2000000] of Integer;
          i, Key: Integer;
         begin
          begin
          begin
          ShowMessage( IntToStr(i) );
          ^MessageBox notify: i displayString
         있으며, Dolphin Smalltalk의 경우에도 상용 제품과 공개용 제품을 같이 내놓고
         있습니다. 또한 Dolphin Smalltalk 상용판의 경우는 약 $50 정도의 가격으로 충
         그러나 Dolphin Smalltalk의 경우는 보통 구현되는 Smalltalk의 특성보다 한 단
         우 낮게 할 수 있었으며, 이는 Dolphin Smalltalk가 다른 Smalltalk에 비해서 월
         니다.) 그러나 Dolphin Smalltalk의 경우에는 기본적으로 약 3%의 자원을 소비합
         공간의 점유율입니다. (보통 배포되는 Dolphin Smalltalk에는 약 540개의 갈래와
         생각합니다. 흔히 Delphi나 Visual Basic, C++ 등으로 Windows 용의 응용 프로그
  • StringOfCPlusPlus/상협 . . . . 2 matches
         == String0.h ==
         //String0.h
         #ifndef _STRING0_H_
         #define _STRING0_H_
         class String
          int n;
          String();
          String(const char *in_st);
          ~String();
          int nval() const {return n;}//문자열 길이를 알려줌.
          int search(char se);//찾고자 하는 문자열의 갯수로 알려줌
          String operator+(const String &s) const;
          friend ostream& operator<<(ostream &os, String &s);
         == String0.cpp ==
         //String0.cpp
         #include <iostream>
         #include <cstring>
         using namespace std;
         #include "String0.h"
         String::String()
  • TheLargestSmallestBox/문보창 . . . . 2 matches
         #include <iostream>
         using namespace std;
         #include <cmath>
         #include <cstdio>
         //#include <fstream>
         //fstream fin("in.txt");
         #define MIN(x,y) (((x) > (y)) ? (y) : (x))
         inline double func(double x)
          double minValue = MIN(L,W) / 2.0;
          printf("%.3f %.3f %.3f\n", max, 0.0, minValue);
         int main()
          while (cin >> L >> W)
  • ToastOS . . . . 2 matches
         = Toast Operating System =
         The war was brief, but harsh. Rising from the south the mighty RISC OS users banded together in a show of defiance against the dominance of Toast OS. They came upon the Toast OS users who had grown fat and content in their squalid surroundings of Toast OS Town. But it was not to last long. Battling with SWIs and the mighty XScale sword, the Toast OS masses were soon quietened and on the 3rd November 2002, RISC OS was victorious. Scroll to the bottom for further information.
         Bochs 1.3 - Win32 [[BR]]
         작업 환경이 win 2000 pro로 들어가면서 바뀌었습니다.
         음..우선 전에 플로피 1번 섹터에서 부트섹트를 읽어 들여 부트 로더를 만든다고 까지 얘기한 것 같다.그럼 커널로더는 무엇일까? 부트 로더가 할 수 없는 기이한 일들을 커널 로더가 한다. 우선 보호모드로들어가는 것과 커널을 실행가능한 상태로 재배치 시키는 일등을 한다. 왜 그런 일을 할까? 부트로더가512kb밖이 되지 않아 그런 일들을 할 수 없기 때문이다. 위에 사진에서 보면 퍼런 글씨로 kernel loader라고나오는데 전에 CAU Operating System 어쩌구...가 먼저 나온다..다만 VMWARE를 쓰기때문에 그런 글씨가 안나온다. 여하튼 커널 로더가 가지는 의미는 우선 부트로더를 만들기 위해 어쩔수 없이 썼던 짜증나는 어셈을 이제 안써도 된다...ㅋㅋ 사실 어셈은 계속 써야 된다... 다만 이제 어쎔을 주로 쓰지 않고 C에서 인라인 어쎔을 쓸것이다. 이제 Boland C 3.1 버전의 컴파일러로 커널로더와 커널을 제작하게 될 것이다. 그럼 위와 같은 것을 그냥 해주면 되는거 아니냐? 라고 반문하는 사람이 있을 것이다.. 그렇다. 그냥 해주면 된다. 우선 컴파일할때 -S라는 옵션을 두어서 어셈블리 소스를 만들고 나서 그리고 그렇게 만들어진소스의 extern들을 링크 시키고 그런 다음 EXE파일을 실행가능한 재배치상태로 만들고 나서 부트로더와 같이뒤집어 씌우면 된다.
         아차 나는 boland C 3.1버전을 쓰지만 gcc를 쓰는 사람은 MAKE PLAIN BINARY FILE이라는 PDF가 있을 것이다.찾아서 읽어보면 아주 평평한 바이너리파일을 만드는 법을 배울것이다. 참고로 C에서 평평한 바이너리 파일을 만들기 위해 몇가지 주의사항이 있다. 그 PDF파일에 적혀 있으니 읽어보도록...
         ["InsideCPU"] 인사이드 CPU [[BR]]
         == And now... introducing the better alternative... RISC OS ==
  • UbuntuLinux . . . . 2 matches
         [[include(틀:OperatingSystems)]]
         공식 사이트는 역시 기대를 저버리지 않았다. [https://wiki.ubuntu.com/ShareInternetConnection]와
         [https://wiki.ubuntu.com/ThinClientHowtoNAT] 이 두 문서를 따라하다 보니 어느새 다른 컴퓨터에서 인터넷에 연결할 수 있는 것이 아닌가!
         iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
         title Windows 2000 Advanced Server SP4
         chainloader +1
         $ip link
         그런 뒤에야 이제 맨날 들날날락했던 /etc/network/interfaces 안에 내용을 고치고 다시 네트워크를 시작했더니 ㅇ이제 되는구나...
         /etc/init.d/networking stop
         /etc/init.d/networking restart
         http://yourdomain:8000/YourProjectNameHere/wiki
         Include /etc/apache2/sites-available/trac
          Options Indexes MultiViews
         # You need something like this to authenticate users
         ScriptAlias /trac/leonardong /usr/share/trac/cgi-bin/trac.cgi
         <Location "/trac/leonardong/login">
         [http://dev.mysql.com/doc/refman/5.0/en/installing-binary.html MySQL binary install]
         /etc/init.d/mysql start
         [http://www.dougsparling.com/comp/howto/linux_java.html]
         must install jdk or jre
  • UglyNumbers/문보창 . . . . 2 matches
         #include <iostream>
         #include <cstdlib>
         #include <cmath>
         using namespace std;
         const int MAX = 2000;
         inline int comp(const void *i,const void *j) { return *(int *)i-*(int *)j; };
         int main()
          int num[MAX];
          int count = 0;
          int expo2, expo3, expo5;
          int MAX_INT = pow(2,31) - 1;
          if (pow(2,expo2) * pow(3,expo3) * pow(5,expo5) > MAX_INT
          qsort(num, count, sizeof(int), comp);
  • WindowsConsoleControl . . . . 2 matches
         #define _UTIL_H_
         #include <windows.h>
         #include <stdio.h>
         #define delay(n) Sleep(n)
         #define randomize() srand((unsigned)time(NULL))
         #define random(n) (rand() % (n))
         void gotoxy(int x, int y);
         int wherex();
         int wherey();
         #include "util.h"
         void gotoxy(int x, int y)
         int wherex()
          CONSOLE_SCREEN_BUFFER_INFO BufInfo;
          GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
          return BufInfo.dwCursorPosition.X;
         int wherey()
          CONSOLE_SCREEN_BUFFER_INFO BufInfo;
          GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE),&BufInfo);
          return BufInfo.dwCursorPosition.Y;
  • ZP도서관 . . . . 2 matches
         [[include(틀:Deprecated)]]
         || Applications for Windows Fourth Edition || Jeffrey Richter || MS Press || ["1002"] || 원서 ||
         || C++로 배우는 PC 하드웨어 || 김성환 ||.|| ["fnwinter"] || 한서 ||
         || Embedded Systems Building Blocks, ||.|| ... || ["fnwinter"] || 원서 ||
         || Essential System Administration || AEeen Frisch ||O'Reilly || ["혀뉘"], ["ddori"] || 원서 ||
         || inside C# || Tom Archer || 정보문화사 || ["1002"],류상민 || 한서 ||
         || JAVA and XML (1st ed.) || Brett McLaughlin || O'REILLY || 이선우 || 원서 ||
         || Java Network Programming 2nd Ed. ||.|| O'Reilly ||["nautes"]||원서||
         || Programming Python || Mark Lutz || O'REILLY || ddori || 원서 ||
         || Solaris Internals || Jim Mauro, Richard 맥도걸|| Prentice Hall || ["혀뉘"], ["ddori"] || 원서 ||
         || Swing || Matthew Robinson, Pavel Vorobiev || Manning || ["혀뉘"] || 원서 ||
         || The C Programming Language 2nd Ed. || Kernighan, Ritchie || Prentice Hall || ["zennith"] || 원서 ||
         || Windows NT 프로그래밍 || Julian Templeman || 정보문화사 || ["1002"] || 한서. Wrox 번역판 ||
         || Writing Solid Code||.||.||류상민||한서||
         || 자바 네트워크프로그래밍 2ed || Merlin Hughes 외 ||Manning||["혀뉘"],["erunc0"],["구근"]||인포북 번역서||
         || 어셈블리 언어(가장 좋은 어셈책) || IRVINE || 교보문고 || 정직 || 한서||
         || Understanding The Linux || Bovet&Cesati ||.|| ["fnwinter"] || 원서(비쌈)||
         || MicroC/OS-II || ... || . || ["fnwinter"]|| 원서 ||
         || Operating Systems Design and Implemenation || TANENBAUM ||.|| ["fnwinter"] || 원서 ||
         || 리눅스 디바이스 드라이버 || RUBINI ||.|| ["fnwinter"] || 한서 ||
  • [Lovely]boy^_^/3DLibrary . . . . 2 matches
         #ifndef _3D_INSU_LIB_
         #define _3D_INSU_LIB_
         #include <cmath>
         #include <vector>
         #include <iostream>
         using namespace std;
          int _nRow;
          int _nCol;
          void Init(int nRow, int nCol);
          Matrix(int nRow, int nCol);
          void Init();
          void SetMem(int pivot, float n) { _vec[pivot] = n; }
         #include "3d.h"
         void Matrix::Init(int nRow, int nCol)
          for(int i = 0 ; i < _nRow ; ++i)
          Init(4,4);
          Init(4,4);
         Matrix::Matrix(int nRow, int nCol)
          Init(nRow,nCol);
          Init(m._nRow, m._nCol);
  • django/RetrievingObject . . . . 2 matches
         RiskReport.objects.extra(where=['id IN (3, 4, 5, 20)'])
         SELECT * FROM risk_report WHERE id IN (3, 4, 5, 20);
         = join =
  • html5/offline-web-application . . . . 2 matches
          * 'window.applicationCache', 또는 'applicationCache'
         || CHECKING ||업데이트 체크 중 ||
         || DOWNLOADING ||업데이트 다운로드 중 ||
         || checking ||업데이트 체크 중 ||
         || downloading ||업데이트 다운로드 중 ||
  • 게임프로그래밍 . . . . 2 matches
         = Setting Up SDL =
          * [http://lazyfoo.net/SDL_tutorials/lesson01/windows/msvsnet0508e/index.php Setting_Up_SDL]
         #include "SDL.h"
         int main(int argc,char **argv)
          SDL_Init(SDL_INIT_EVERYTHING);
  • 김진아 . . . . 2 matches
         [[HTML(<PRE><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 돋움; color:black; LETTER-SPACING: -1px">)]]
         메신저 : jin-_-a골뱅이hotmail.com
         싸이월드 : http://www.cyworld.com/jin__a/
         [[HTML(<PRE><SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 돋움; color:black; LETTER-SPACING: -1px">)]]
  • 김희성/MTFREADER . . . . 2 matches
         #include"ntfs.h"
         #define FILE_LOAD_ERROR 1
         #define OUT_OF_MEMORY_ERROR 2
          int ErrorCode;
          __int64 ReadCluster(unsigned char* point,unsigned char* info);
          hVolume = CreateFile(drive, GENERIC_READ,FILE_SHARE_READ | FILE_SHARE_WRITE, 0,OPEN_EXISTING, 0, 0);
          int LastErrorCode(); //최근에 일어난 클래스 내부의 에러를 반환한다.
          void MakeBinaryFile(char* filename); //MFT를 Binary 그대로 저장한다.
         #include"_MFT_READER.h"
          unsigned __int64 point,i,j,k,temp;
          unsigned __int64 HeaderSize;
          unsigned __int64 offset;
          point=*((unsigned short*)((unsigned char*)$MFT+20));//Offset으로 포인터 이동
          while(*((unsigned long*)((unsigned char*)$MFT+point))!=0xFFFFFFFF)
          *((unsigned char*)MFT+point+9) = Attribute Name Size
          if(*((unsigned char*)$MFT+point+8))
          HeaderSize=64+*((unsigned char*)$MFT+point+9);
          HeaderSize=24+*((unsigned char*)$MFT+point+9);
          switch(*((unsigned long*)((unsigned char*)$MFT+point)))
          MFT=PFILE_RECORD_HEADER(new U8[*((unsigned __int64*)((unsigned char*)$MFT+point+40))]);
  • 날다람쥐 6월9일 . . . . 2 matches
         = 포인터(Pointer)에 대해서. =
         int a = 13; int b = 14; 이라는 선언을 통해 가능하며, 메모리 상의 어떤 주소에 있는 13 이라는 데이터는 a라는 변수의 이름을 통해서 나타내어진다.
          여기서 주소가 1000 이후에 1004 인 이유는 int가 4byte이기 때문이다.(여기서 주소는 예를 든 것임)
         그리고 printf("%d", a); 라는 명령어를 통해 바뀐 것을 확인할 수 있다.
         printf("%u", &a);의 결과값은 1000이다.(%u 맞나? ㅋㅋ 찾아보길. 맞을꺼야 %u는 주소값을 표현하는 표현식.)
          만약에 INT형의 주소를 나타내는 변수 IP를 선언하고 싶으면 int* ip; 라고 표현하면 된다.
          int *ip; 도 가능한 표현이다.(이게 약간 더 옳은 표현.)
         예를 들어 int *ip, i; 이렇게 하면 뒤의 i는 일반적인 int로, 앞의 ip는 포인터 INT형으로 선언이 된다.
         포인터가 가리키는 곳의 값을 쓸 때는 앞에 *을 붙인다. 예) int a = 13; int* ap = &a; printf("%d %d", a, *ap);
          void add(int a, int b, int* cp) {
         *cp = a + b; // cp라는 포인터가 가리키는 주소의 값을 a + b로 바꿔준다(main 함수 안의 c).
         int main() {
          int a = 13, b = 14, c;
         printf("%d", c); // 결과값 : 27
         은 int a[5] = {3, 4, 2, 1, 8};을 선언한 형태이다.
         printf("%d", a[0]);
          왜 printf("%d", a); 와 같이 적으면 안되는지 알아보자.
         int* ap = a;
         물론 출력할 때는 printf("%d", *ap); 와 같이 a[0]을 출력할 수도 있다.
         바로 위의 배열을 모두 출력하는데, printf("%d", *(ap + @))의 형태로 출력해보자. 여기서 모든 값들을 출력하려면 @에 각각 어떤 수가 들어가는지 직접 해보고 왜 그런지 설명하기.
  • 네이버지식in . . . . 2 matches
          네이버 지식in은 폐인까지 생겨나면서 비슷한 위키는 이렇게 참여가 저조할까.
         지식in이란 서비스는 질문에 답변을 해주는 게시판 형식이긴 하지만, 참여가 자유롭고 한 주제에 대해 글을 쓴다는 점에서 위키랑 비슷하다는 생각이다. '''오픈 백과사전'''이라는 게 있기도 하던데 이게 위키랑은 더 비슷한 형태이지만 지식in에 대면 별로 인기가 없어보인다.
         가장 먼저 떠오른 건, 이용자 수였다. 이용자 수가 엄청나게 많다는 점이 지식in서비스를 활발하게 해 주었다. 이용자 수가 많아진 이유는 여러 가지가 있겠지만, 텔레비전 광고까지 낼 정도로 홍보를 해서 그렇지 않을까? 반면 위키 홍보는 몇 번인가 하고는 그 뒤로는 사람들이 알아서 쓰기를 바랬던 것으로 보인다. 알려지지 않은 서비스가 아무리 많은 장점이 있다 한들 사람들이 알아야 쓸테니까, 위키 사용이 활발하지 않은 건 일단 덜 알려져서라고 생각한다.
          ''왠만큼 소프트웨어를 아고 있는 사람들은 OS독점이라고 알고 있는데요. 아닌가요? :) --NeoCoin''
          ''말씀하신 익숙함의 의미를 제가 독점으로 바라봐서 생기는 오해인것 같습니다. 분명 청정원 케찹도 있지만 오뚜기 케찹을 선택하고 많이 팔리는 것을 '익숙함'으로 볼수 있습니다. 하지만 오뚜기 케찹을 쓰지 않으면 모든 요리를 할수 없는 상황이 되면 그걸 이제 '익숙함'이라고 설명하기보다 독점으로 바라봐야 한다고 생각하거든요. :) --NeoCoin''
         사람들은 [네이버지식in]을 마치 수학 문제 해답지처럼 여기는 것 같습니다. 저도 요즘엔 누가 궁금한 게 있다고 물어봤을 때 모르는 경우''지식in 검색해봐''라는 말을 자주 합니다. 제가 누군가에게 모르는 걸 물어봤을 때도 자주 듣습니다. ''지식in엔 없는게 없다니까''라는 말도 들어보았습니다. 마치 [네이버지식in]에는 살아가며 궁금한 것들에 대한 모든 해답이 있는 듯이 여기고 있다고 느꼈습니다. -[Leonardong]
         Knowledge In Naver 의 약자로 KIN 이라는 단어가 url 에 들어간더군요... 그냥 '즐' 이라는 단어만 생각했는데.. Knowledge In Naver 였다니...^^; - 임인택
         KIN 은 Knowledge In Naver 의 약자가 아니라 지식In -> Knowledge In -> kin 으로 사용하는 것이지요.
  • 데블스캠프2011/다섯째날/PythonNetwork . . . . 2 matches
         UDPSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # Create socket
         print ('Enter your message:')
         print ('- Empty message to stop this client.')
          data = raw_input('>> ')
          print ("Sending message '%s'..." % data)
         print ('Client stopped.')
         rcv_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
          rcv_sock.bind(("", 3333))
          print "Error at Binding"
          print "Listening..."
          print "Got %s" % data
  • 레밍즈프로젝트/프로토타입/파일스트림 . . . . 2 matches
         || MFC 파일 스트림 || [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmfc98/html/_mfc_cstring.asp] ||
         || m_hFile || Usually contains the operating-system file handle. ||
         || Abort || Closes a file ignoring all warnings and errors. ||
         || Open || Safely opens a file with an error-testing option. ||
         '''Input/Output'''
         || ReadHuge || Can read more than 64K of (unbuffered) data from a file at the current file position. Obsolete in 32-bit programming. See Read. ||
         || Write || Writes (unbuffered) data in a file to the current file position. ||
         || WriteHuge || Can write more than 64K of (unbuffered) data in a file to the current file position. Obsolete in 32-bit programming. See Write. ||
         || Seek || Positions the current file pointer. ||
         || SeekToBegin || Positions the current file pointer at the beginning of the file. ||
         || SeekToEnd || Positions the current file pointer at the end of the file. ||
         '''Locking'''
         || LockRange || Locks a range of bytes in a file. ||
         || UnlockRange || Unlocks a range of bytes in a file. ||
         || GetPosition || Retrieves the current file pointer. ||
         {{{#include "stdafx.h"
         #include "FileioView.h"
          ::MessageBox(NULL, "Can't Create testfile.txt !", "Warning", MB_OK | MB_ICONHAND);
          for(int i=0;i<26;i++)
          ::MessageBox(NULL, "Can't Open testfile.txt !", "Warning",
  • 몸짱프로젝트/CrossReference . . . . 2 matches
         import string
         ## def __init__(self, aRoot):
         ## def find(self, aRoot, aWord):
         ## elif string.lower(aRoot.getWord()) > aWord and aRoot.left != None:
         ## return self.find(aRoot.left, aWord)
         ## elif string.lower(aRoot.getWord()) < aWord and aRoot.right != None:
         ## return self.find(aRoot.right, aWord)
          elif string.lower(aRoot.getWord()) > aWord:
          elif string.lower(aRoot.getWord()) < aWord:
          def setNode(self, aRoot, aWord, aLine = '1'):
          node.increaseCount()
          node.addLines(aLine)
          '''Twas brilling and the slithy toves did gtre and gimble in the wabe'''
          for l in wordList:
          print 'Word\t\tCount\t\tLines'
          self.inorder(root)
          def inorder(self, aRoot):
         ## print 'start'
         ## print 'left'
          self.inorder(aRoot.left)
  • 방울뱀스터디/Thread . . . . 2 matches
         print 'i=',i
         print 'j=',j
         print 'i=',i
         print 'j=',j
          for i in range(5):
          print 'id %s --> %s' % (id, i)
         for i in range(5):
         print 'Exiting'
          for i in range(count):
          print 'id %s -> %s' % (id, i)
         for i in range(5):
         print 'Total Counter =', g_count
         print 'Exitintg'
          for i in range(count):
          print 'id %s -> %s' % (id, i)
         for i in range(5):
         print 'Total Counter =', g_count
         print 'Exitintg'
         from Tkinter import *
          text.insert(1.0, i)
  • 서지혜 . . . . 2 matches
         Someday you'll say something that you'll wish could take back - drama, House
          * dead line, 중간 목표 필요
          * Accountable Goal Setting
          1. Training 1000시간
         == ON DOING ==
          1. Training Diary
          * 위키 : [http://swmaestro.openflamingo.org]
          1. English Speaking Study
          * see also [EnglishSpeaking/2012년스터디]
          * see also [Spring/탐험스터디]
          1. English Speaking Study
          * see also [EnglishSpeaking/2012년스터디]
          * 기념으로 Jetbrain사의 RubyMine구매 (12/21 지구멸망기념으로 엄청 싸게 팔더라)
          * see also [Spring/탐험스터디]
          1. Training Diary
          * 디버거를 사용할 수 없는 환경을 난생 처음 만남. print문과 로그만으로 디버깅을 할 수 있다는 것을 깨달았다. 정보 로그, 에러 로그를 분리해서 에러로그만 보면 편하다. 버그가 의심되는 부분에 printf문을 삽입해서 값의 변화를 추적하는 것도 효과적이다(달리 할수 있는 방법이 없다..). 오늘 보게된 [http://wiki.kldp.org/wiki.php/HowToBeAProgrammer#s-3.1.1 HowToBeAProgrammer]에 이 내용이 올라와있다!! 이럴수가 난 삽질쟁이가 아니었음. 기쁘다.
          1. [Spring/탐험스터디/wiki만들기]
          * Spring Study는 참 오래 하는듯
          * 하지만 아직도 beneficiary일 뿐 contributor가 아니다.. spring project에 기여하기 프로젝트를 했으면 어땟을까? 처음엔 작게 bug fix부터..
          1. [http://nforge.zeropage.org/projects/mymensingh 동네 검색 종결자]
  • 수학의정석/방정식/조현태 . . . . 2 matches
         #include <math.h>
         #include <stdio.h>
         #include <time.h>
         void input_data(int*,int*,int*);
         void process(int, int, double);
         const int MINUTE=60;
         int main()
          int time_in; // 초기 시작 시간.
          int x,y,t;
          input_data(&x,&y,&t);
          time_in = clock(); // 초기 시작 시간을 입력한다.
          printf("CPU CLOCKS = %d\n", clock() - time_in); // 끝났을때 시간 - 초기 시작시간 = 프로그램 실행 시간
         void input_data(int *x, int *y, int *t)
          printf("강물의 속력을 입력해주세요>>");
          printf("강의 거리를 입력해주세요>>");
          printf("걸린 시간을 입력해주세요>>");
         void process(int x, int y, double t)
          t=t/MINUTE;
          printf("%.2f",answer);
  • 영호의해킹공부페이지 . . . . 2 matches
          1. Access to computers-and anything which might teach you something
          2. All information should be free.
          4. Hackers should be judged by their hacking, not bogus criteria such
          Principles of Buffer Overflow explained by Jus
         This article is an attempt to quickly and simply explain everyone's favourite
         manner of exploiting daemons - The Buffer Overflow.
         The remote buffer overflow is a very commonly found and exploited bug in badly
         coded daemons - by overflowing the stack one can cause the software to execute
         many are, a root shell will be spawned, giving full remote access.
         A buffer is a block of computer memory that holds many instances of the same
         data type - an array. Arrays can be static and dynamic, static being allocated
         at load time and dynamic being allocated dynamically at run time. We will be
         looking at dynamic buffers, or stack-based buffers, and overflowing, filling
         up over the top, or breaking their boundaries.
         A stack has the property of a queue of objects being placed one on top of the
         removed. This is called LIFO - or last in first out. An element can be added
         which are pushed when calling a function in code and popped when returning it.
         The stack pointer (SP) always points to the top of the stack, the bottom of it
         addresses, or up them. This means that one could address variables in the
         stack by giving their offsets from SP, but as POP's and PUSH's occur these
  • 위키에 코드컬러라이저 추가하기 . . . . 2 matches
         이 문서의 내용은 MoinMoin 1.0 부터 지원하기 시작한 Process 에 기반한다. 그래서 그 이하 버전에서는 불가능하다.
         MoinMoin에 파이선용 코드 컬러라이저는 기본으로 들어있다. 그러나 자바나 C++용 코드 컬러라이저는 기본이 아니다. 그래서 MoinMoin:ParserMarket 에 가서 자바와 C++용 파서를 받아왔다. 그런데 이럴수가 코드블럭문안에서 파서 사용이 안되는것이다.
         그런데 MoinMoin:ParserMarket 에 [http://bbs.rhaon.co.kr/mywiki/moin.cgi/ProgrammingTips_2fCStringFormat Example]이라 된 곳에서는 잘 사용하고 있는것이다...[[BR]]
          * 일단 파서. 다음 3개의 파이선 파일을 MoinMoin/parser 디렉터리에 생성한다.
          * [http://twistedmatrix.com/users/jh.twistd/moin/moin.cgi/parser_2fbase_2epy parser/base.py] [http://twistedmatrix.com/users/jh.twistd/moin/moin.cgi/parser_2fcplusplus_2epy parser/cplusplus.py] [http://twistedmatrix.com/users/jh.twistd/moin/moin.cgi/parser_2fjava_2epy parser/java.py]
          * 다음 2개의 파일을 MoinMoin/processor 디렉터리에 생성한다. (본인은 이름의 통일감을 위해 Colorize.py 도 PythonColorize.py 로 이름을 바꾸었다.)
          MoinMoin - Processor for Syntax Highlighting
          All rights reserved, see COPYING for details.
         import string, sys, cStringIO
         from MoinMoin.parser import cplusplus
         def process(request, formatter, lines):
          if not formatter.in_pre:
          if string.strip(lines[0]) == "#!cplusplus":
          del lines[0]
          buff = cStringIO.StringIO()
          colorizer = cplusplus.Parser(string.join(lines, '\n'), request, out = buff)
          MoinMoin - Processor for Syntax Highlighting
          All rights reserved, see COPYING for details.
         import string, sys, cStringIO
         from MoinMoin.parser import java
  • 이영호/개인공부일기장 . . . . 2 matches
         ☆ 구입해야할 책들 - Advanced Programming in the UNIX Environment, Applications for Windows, TCP/IP Illustrated Volume 1, TCP/IP Protocol Suite, 아무도 가르쳐주지않았던소프트웨어설계테크닉, 프로젝트데드라인, 인포메이션아키텍쳐, 초보프로그래머가꼭알아야할컴퓨터동작원리, DirectX9Shader프로그래밍, 클래스구조의이해와설계, 코드한줄없는IT이야기, The Art of Deception: Controlling the Human Element of Security, Advanced Windows (Jeffrey Ritcher), Windows95 System Programming (Matt Pietrek)
         ☆ 앞으로 공부해야할 책들(사둔것) - Effective C++, More Effective C++, Exeptional C++ Style, Modern C++ Design, TCP/IP 네트워크 관리(출판사:O'Reilly), C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Physics for Game Developers(출판사:O'Reilly), 알고리즘(출판사:O'Reilly), Hacking Howto(Matt 저), Windows 시스템 실행 파일의 구조와 원리, C언어로 배우는 알고리즘 입문
         ☆ 레퍼런스 - 리눅스 공동체 세미나 강의록, C언어 함수의 사용법(함수 모음), 데비안 GNU/LINUX, C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Secure Coding 핵심원리
         2005년 7월 4일 시작(주말마다) : Socket Programming
         2005년 7월 30일 시작(주말마다) : TCP/IP SOCKET PROGRAMMING(Bible)
         6 PE 구조 공부(마스터 수준). & Windows Kernel(리눅스 커널과의 차이점)
         7 API 공부(마스터 수준). & Windows Kernel(리눅스 커널과의 차이점)
         3일 - 대항해시대 온라인 새 버전 Reverse Engineering 준비.
         8일~~31일 - Reverse Engineering (Assembly + PE + Kernel + Packing + Unpacking + Encrypt + Decrypt), 몇몇개의 Game Cracking. 몇몇개의 하드에 저장된 쉐어웨어 시리얼 제작.
         1일 (월) - System Programming
         1일 (월) - 한차례 내 실력이 워핑 했다. 높은 수준으로 올랐다. PCB와 Linux Kernel에 관한 것을 배웠다.
         31 (일) - Network Programming(멀티쓰레드 - POSIX, MUTEX, SEMAPORE), System Programming(Kernel)
         29 (금) - C++(템플릿, Exceptional Handling)
         28 (목) - C++(연산자 오버로딩, 연산자 오버로딩으로 String 클래스 디자인 해보기.)
         23 (토) - Compilers(정말... 정말 이 책 못보겠다. 어렵다. 미치겠다. 같은 부분 3번 읽고서 반정도 이해 되니 이거 무슨 왜 배워야되는지 이유를 알아야 머리에 들어오는데 그냥 무지막지하게 이론만 쓰다니.), Socket/System Programming in C (지난주 복습, 고급입출력, Broadcast/Multicast)
         21 (목) - Compilers, C++공부 시작(C++자체가 쉬워 7일만에 끝낼거 같음. -> C언어를 안다고 가정하고 C++를 가르쳐 주는 책을 보기 시작.), 기본문법, namespace, function overloading, class 추상화, 은닉성까지 완벽하게 정리.
         ☆ 18 (월) - binaryfile to textfile && textfile to binaryfile 소스를 짬. eady.sarang.net계정의 sources에 있음. 모든 커맨드를 막아둔 곳에서 유용하게 쓰임.
         ☆ 18 (월) - /usr/bin/wall Command에 관심을 보임. bof만 제대로 먹히면 root를 먹을 수 있을 것 같음. (binutils 소스를 구해서 분석해봐야겠음.)
         17 (일) - Socket/System Programming in C (Multiplexing)
         16 (토) - Socket/System Programming in C (Signal 처리와 Process간의 Pipe 사용법(IPC)), 유리수, 카네기 행복론.
  • 임베디드방향과가능성/정보 . . . . 2 matches
         예전부터 임베디드는 결국 pc의 재탕이다..라고 하셨는데 물론 100% 맞는 말씀입니다. 20년~15년 전의 기술, 빌게이츠가 dos를 가지고 pc산업을 일으켰던 그 기술이 결국 임베디드 아니냐..?라고 하시면 이 역시 맞는 말씀입니다. 그리고 이것은 결국 임베디드가 옛날 기술, 옛것의 재탕이다..라는 말씀이시죠.. 하지만 그렇게 따진다면 전기공학은 100년전 것의 재탕삼탕이고 이동통신(ldpc)이나 ASIC backend 관련 tools(synthesis,testing)도 대부분 이론은 20~40년전에 완성된 분야구요. 오히려 임베디드는 80년부터 이어져온 비교적 신기술(?)이 적용된 분야라 생각되는군요. 먼저 이런 말씀을 드린 이유는 임베디드 분야의 기술에 관해 조금 비관적인 생각을 가지신 것 같아서 입니다.
         이제 제 개인적인 생각을 말씀드리죠. 먼저 임베디드 시스템이 쓰이는 용도에 대해 조금 시야가 좁으신 것 같습니다. 적어도 집에 PC가 설치되어 있는 곳에서 손쉽게 PC로 할 수 있는 일은 절대로 임베디드 기기로 나오지 않겠죠. 그리고 임베디드 기기에 "하드 달고 모니터 달고 USB니 뭐니 다 달고나면.."을 하면 절대 안됩니다. 이러면 이미 임베디드 기기가 이니고 general한 pc입니다. 임베디드 기기는 말그대로 application specific, implementation specific한 경우에만 그 의미를 가지죠. 이러한 분야는 적어도 당분간은 general한 tool(님 말씀처럼 visual한 tool들)이 사용될 수 없습니다. 그리고 최근 유행하는 embedded linux의 경우는 더 요원하죠.
         둘째로 기술적으로 말씀드리죠. pc의 경우는 application만 하면 됩니다. 그 좋은 visual tool들이 hw specific한 부분과 커널 관련한 부분은 다 알아서 처리해 줍니다. 하지만 임베디드 분야는 이 부분을 엔지니어가 다 알아서 해야 하죠. pc의 경우 windows를 알 필요없지만 임베디드 엔지니어는 os kernel을 만드시 안고 들어가야 합니다. 이 뿐만 아니라 application specific/implementation specific하기 때문에 해당 응용분야에 대한 지식도 가지고 있어야 하며/ 많은constraint 때문에 implementation 할 때hw/sw에 관한 지식도 많아야 하죠. 경우에 따라서는 chip design 분야와 접목될 수도 있습니다.(개인적으로 fpga 분야가 활성화 된다면 fpga도 임베디드와 바로 엮어질거라 생각합니다. 이른바 SoC+임베디드죠. SoC가 쓰이는 분야의 대부분 곧 임베디드 기기일 겁니다. ASIC도 application specific하다는 점에서 임베디드 기기와 성질이 비슷하고 asic의 타겟은 대부분 임베디드 기기입니다.) 대부분의 비메모리 반도체칩은 그 용도가 정해져있으며, 비메모리 반도체를 사용하는(혹은 설계하는 사람)을 두고 임베디드 엔지니어라 할 수 있죠. 사실 임베디드는 범위가 매우 넓기 때문에 한가지로 한정하기 힘듭니다.
         한마디 더 추가하겠습니다. constraint가 거의 없는 시스템이 pc입니다. (단순pc라면 200만원대 이하가 유일한 조건인가요..? 특별한 작업을 위한 시스템이면 수천만원도 가능하겠군요) 하지만 임베디드 시스템은 많은 constraint가 존재합니다. 크기,무게,가격,온도,습도,처리량,time-to-market 등등..
         PC도 주로 집이나 사무실에서 쓰이는 다른 임베디드 기기와 다를게 없습니다. 거기에 들어가는 CPU는 INTEL이 만들고 OS는 MS가 만들죠. 그런데 PC USER가 엄청나게 많기 때문에 pc분야는 물론이고 다양한 분야의 고성능 TOOL들이 나오게 되는 것이죠. 일반적인 임베디드 기기에서 이런 환경을 기대하긴 힘듭니다. 왜냐하면 pc는 ms와 intel에서 standard를 정하지만 embedded는 정할 수 있는 주체도 없고 각각 시장도 크지 않습니다. (ms가 win ce로 노력 중이긴 하는데 유료이며 거기다 비싸다는 취약점이 있죠. 그리고 모든 분야를 cover할 수 없습니다.)
         그리고 과거에도 CPU를 사용하여 제품들을 제어하는 업무가 많았는데.. 그것을 운영하는데 인터럽트나..무한루프를 이용하여 제어를 한 반면에..요즘에 임베디드 시스템이라고 하는것들은 간단한 운영체계를 도입한게 다른데.. 이것도..별것 아닌데.. 왜 임베디드 엔지니어니..뭐니떠드는지 잘 모르겠습니다. 그냥 마이크로 프로세서를 이용하는 땜쟁이들이 기본으로 익혀야할.. 노가다이고... 핵심 부품 예를들면 ARM7의 코어부분등은 핵심기술을 가진 회사에서 독점하고있어서..그걸 이용해서 칩을 파는 업자나.. 프로그래밍짜는 엔지니어나..그냥.. 그들의 하수인에 불과할수도 있겠네요..요즘에는 임베디드 OS도 객체지향을 이용하고.. 그래픽 라이브러리들이 잘 나와있어서 WIN CE나 윈도우즈에서 제어용 프로그래밍 짜는 수준의 단순노가다로 넘어가고있는 추세입니다.. 하여간에 이것도 다들 하니까.뭐.. 별 영양가 없는것 같습니다.. 모 업체에서.. 벼레별거 다할수있는 기술적인 능력이있는데.(암9보드에 하드도달고 액정도달고..달수있는것 다 달고..) 막상 그 보드를 만들어놓고 쓸데가 없답니다. 요즘 추세를 보니까..몇년전까지도 고급기술자의 업무였던.. PC에서 기계제어하는것들도..이젠 전문대졸업자나..고졸자가 주로하는 일이 되어버렸더군요.. 제 생각에는 미래에는 엔지니어가 그다지 많이 필요하지는 않을것 같습니다. 소수의 천재들이.. 프로그래밍 제네레이터.. 임베디드 칩 제네레이터 만들어서.. 가상현실상에서..뚝딱 뚝딱 맞추면.. 결과물이 떡하니.그냥 나와버리는 시스템이되고.. 다른 대부분의 경우에는 시스템이 거의모든 상황을 커버할만큼 고성능이되어버려서..별 예외조치에대한 필요성이 없는것이죠.. 엔지니어링 분야도..워드프로세서가 지구상에 몇개 안되는걸로 다 카바되는것처럼..그리될거같고.. 하여간에.. 기술분야에서도 극빈층에 속하는 재화를 소비만 하는 덧샘 뺄샘도 모르는 대다수의 사람과..극소수의 모든것을 다 할수있는 초기술을 가진 과학자들의 두가지 집단만이 살아남을듯 하네요.. 아마도 그런 과학자들에 의해 사육되겠지요...
  • 정모/2013.4.8 . . . . 2 matches
         == WINAPI로 6p 게토 시스템 ==
          * WINAPI를 배우기 위해서 textpad를 만들어 보고 있음.
  • 조영준 . . . . 2 matches
          * Google App Engine
          * Android Programming
          * Java Swing
          * Game Engine
          * Algorithm problem solving
          * Linux user
          * D2 CAMPUS SEMINAR 2015 참가
          * DevilsCamp 2015 - Game Programming in Java with LibGdx - [데블스캠프2015/첫째날]
          * 2015년 하계방학 Java 강사 - [https://onedrive.live.com/redir?resid=3E1EBF9966F2EBA!23488&authkey=!AHG1S-XLSURIruo&ithint=folder%2cpptx 수업 자료]
          * D2 CAMPUS SEMINAR 3회 참여
          * 9월 14일 정모 [OMS] - Cloud Computing
          * 설계패턴 TeamProejct https://github.com/SkywaveTM/wiki-path-finder
          * Wiki Path Finder (wikipedia api를 이용한 두 단어간의 연관성 추정, 2014년 2학기 자료구조설계 팀 프로젝트)
          * 2015년 설계패턴 팀 프로젝트의 기반 프로젝트가 됨. https://github.com/SkywaveTM/wiki-path-finder
          * GDG pre devfest 2013 seoul - 징격의 안드로이드. 그리고 밤샘. - https://github.com/ZeroPage/MorningTypeHuman
          * [PracticeNewProgrammingLanguage]
  • 중위수구하기/문보창 . . . . 2 matches
          final int MAX_SIZE = 100000;
          final int SENTINEL_NUM = -999;
          private int elements[];
          private int length;
          elements = new int[MAX_SIZE];
          public void inputNumber()
          Scanner input = new Scanner(System.in);
          for (int i = 0; i < MAX_SIZE; i++)
          elements[i] = input.nextInt();
          if (elements[i] == SENTINEL_NUM)
          public int findMidiumNumber()
          int mid = (int)Math.floor(0.5 * length + 0.5);
          public void sortElement(int start, int end)
          int min;
          for (int i = start; i < end - 1; i++)
          min = i;
          for (int j = i + 1; j < end; j++)
          if (elements[min] > elements[j])
          min = j;
          swapElement(i, min);
  • 창섭/배치파일 . . . . 2 matches
         [http://my.dreamwiz.com/bicter/index.htm 출처]
         For %%<변수> IN (<집합>) DO <명령> [<옵션>] ☞ 배치파일용.
         For %<변수> IN (<집합>) DO <명령> <옵션>] ☞ 순차처리용.
         for %%f in (bak tmp $$$) do del *.%%f /p ☞ 배치파일의 경우
         for %d in (read,wh,file) do hlist %d*.* ☞ 도스 프롬프트에서 실행시
         - 문자열 : 문자열을 생략하면 'press any key to continue...'라는 메세지가 화면에 출력됩니다. 만약 PAUSE 명령 뒤에 어떤 메세지를 지정하여 그 메시지를 출력하고 싶다면 'Echo On' 명령을 우선 내려야 합니다.
  • .bashrc . . . . 1 match
         shopt -s checkwinsize
          case $TERM in
          case $TERM in
          linux )
         alias r='rlogin'
         alias print='/usr/bin/lp -o nobanner -d $LPDEST' # LPDEST 가 정의되어 있다고 가정
         alias pjet='enscript -h -G -fCourier9 -d $LPDEST' # enscript 로 예쁜 출력하기(Pretty-print)
         export LESSCHARSET='latin1'
         export LESSOPEN='|/usr/bin/lesspipe.sh %s 2>&-' # lesspipe.sh 이 있다면 이걸 쓰세요
         :stdin .?pb%pb\%:?lbLine %lb:?bbByte %bb:-...'
          case $TERM in
         alias make='xtitle Making $(basename $PWD) ; make'
         function ff() { find . -name '*'$1'*' ; } # 파일 찾기
         function fe() { find . -name '*'$1'*' -exec $2 {} \; ; } # 파일을 찾아서 $2 의 인자로 실행
          find . -type f -name "${2:-*}" -print | xargs grep -sin "$1" | \
          nlines=${2:-10}
          sed -n -e :a -e "1,${nlines}!{P;N;D;};N;ba" $1
          case "$filename" in
          for pid in $(my_ps| awk '!/awk/ && $0~pat { print $1 }' pat=${!#} ) ; do
          pname=$(my_ps | awk '$1~var { print $5 }' var=$pid )
  • 05학번만의C++Study/숙제제출/4 . . . . 1 match
          * INT형을 만족하는 숫자를 입력하면 그 숫자를 저장하는 클래스를 생성되었다는 메시지와 함께 생성하라. 만약 입력된 숫자를 가진 클래스가 이미 존재할 경우에는 클래스가 가짖 숫자를 출력하고 해당 클래스를 삭제한다. 프로그램이 종료될떄에는 모든 클래스를 삭제한다. (단 숫자의 출력은 파괴자에서 해야한다.)
  • 10학번 c++ 프로젝트/소스 . . . . 1 match
         == main.cpp ==
         #include <windows.h>
         #include "now_time.h"
         #include "alarmsetting.h"
         #include "cho.h"
         void main() {
          a.print_now_time();
          alarmsetting c;
         #include <iostream>
         #include <time.h>
         #include <stdio.h>
         #include <conio.h>
         #include <windows.h>
         #include "now_time.h"
         using namespace std;
         extern int ah;
         extern int am;
         extern int as;
         void gotoxy(int x, int y)
          CONSOLE_CURSOR_INFO CurInfo;
  • 2005리눅스프로젝트<설치> . . . . 1 match
          * 데비안을 사용할려고 했지만 경험부족 때문에 X-WINDOW를 설치를 못해서 다른 버전중에 레드핫 계열인 Fedora core4를 선택했습니다. 레드핫,데비안,Fedora 설치 해서 이 버전이 제일 갠찮은 것같아서 이걸로 사용하기로 결정을 했습니다.
          ''데비안에서는 x-window-system 패키지만 설치하면 만서 ok 인데;; 써보면 배포방식이 데비안 만큼 편한것이 없죠''
          * 저도 데비안을 사용하고 싶은데 그 x-window 깔줄몰라서 이러는 중입니다...ㅜㅜ
  • 2학기파이선스터디/문자열 . . . . 1 match
          1. 인덱싱(Indexing) = [k]
          2. 슬라이싱(Slicing) = [[ s : t ]
          5. 멤버십 데스트(Membership Test) = in
         >>> s = 'i like programing'
         'I LIKE PROGRAMING'
         'i like programing'
         'I like programing' # 첫 문자를 대문자로
         >>> s = 'i like programing, i like swimming'
         >>> s.find('like')
         >>> s.find('my')
         >>> s.rfind('like')
         >>> s.index('like')
         >>> s.index('my')
          File "<pyshell#40>", line 1, in ?
          s.index('my')
         valueError : substring not found in string.index
         >>> ':'.'''join(t)''' # ':' 문자로 결합. 틀리기 쉬우니 주의할것!!
         >>> print '\n'.join(t) # 줄바꾸기로 결합.
          2. 문서 문자열(doucmentation string)을 이용하는 방법
  • 2학기파이선스터디/서버 . . . . 1 match
         from SocketServer import ThreadingTCPServer, StreamRequestHandler
          def __init__(self):
          def __contains__(self, name): # in 연산자 메쏘드
          return name in self.users
          if name in self.users:
          print len(self.users), 'connections' # 서버에 표시되는 메시지
          if name not in self.users:
          print len(self.users), 'connections' # 서버에 표시되는 메시지
          for conn, addr in self.users.values():
          print 'connection from', self.client_address
          data = self.receiveline()
          data = self.receiveline()
          print 'Socket Error'
          print 'Disconnected from', self.client_address
          name = self.receiveline().strip() #이름 읽기
          def receiveline(self):
          line = []
          line.append(data)
          return ''.join(line)
         if __name__ == '__main__':
  • 3DGraphicsFoundation . . . . 1 match
          * 인수 ["3DGraphicsFoundation/INSU/SolarSystem"] : 아무 생각없이 도는 태양계 뭔가 좀 이상하다는--;
  • 3D업종 . . . . 1 match
         http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200503100003
         http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200311100001
         헤더: C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl
         dll: C:\WINDOWS\system32
         vc6이나 2003을 쓸 경우, 비슷한 경로에 glut를 복사하고, 프로젝트를 만들때 win32 console로 해서 링커 옵션에 opengl32.lib glu32.lib glut32.lib 파일을 추가합니다.'''
  • AOI . . . . 1 match
         '''O'''lympiad in
          * 여름방학 중 교재 : Programming Challenges ( Aladdin:8979142889 )
          * 원문 : http://online-judge.uva.es/problemset/
          || [CompleteTreeLabeling]||. ||. ||. ||. ||. ||. ||. ||. ||
          || [Bicoloring] ||O ||. ||. ||. ||. ||. ||. ||. ||
         == LINK ==
          * http://online-judge.uva.es/problemset/ <-- 여기에서 로봇이 실시간으로 답이 맞았는지 채점도 해준답니다. 푸신분들은 한번 해 보세요 - 보창
  • Ajax2006Summer/프로그램설치 . . . . 1 match
          * 필요한 것은 '''Eclipse 3.2 Platform Runtime Binary''' 입니다. 용량은 33메가 정도입니다 : [http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.2-200606291905/eclipse-platform-3.2-win32.zip LINK]
         3. Workspace 설정 후 '''Help''' - '''Software Updates''' - '''Find and Install''' 을 선택합니다.
         4. 다음 다이얼로그에서는 '''Search for new features to install''' 을 선택 후 '''Next>'''를 클릭합니다.
         5. 맨 위의 '''Callisto Discovery Site'''에 체크박스를 한 후 '''Finish'''를 클릭합니다.
         9. '''Finish''' 를 선택합시다. 그러면 알아서 다운로드를 합니다.
         10. 다운로드가 끝나면 중간에 설치할 것이냐고 물어보는데 '''Install All'''을 선택해 줍시다.
  • AustralianVoting/Leonardong . . . . 1 match
         #include <iostream>
         #include <vector>
         using namespace std;
         #define IntVector vector<int>
         #define CandidatorVector vector<Candidator>
         #define VoteSheetVector vector<VoteSheet>
          int votedCount;
          IntVector candidateNum;
         bool isWin( const Candidator & candidator, int n )
         int current( const VoteSheet & sheet )
         int pop_front( VoteSheet & sheet )
          return *sheet.candidateNum.erase( sheet.candidateNum.begin() );
         void collectVoting( CandidatorVector & candidators, const VoteSheetVector & sheets )
          for ( int i = 0 ; i < sheets.size() ; i++ )
         void markFall( CandidatorVector & candidators, const int limit )
          for ( int i = 0 ; i < candidators.size() ; i++ )
         int minVotedNum( const CandidatorVector & candidators )
          int result = INT_MAX;
          for ( int i = 0 ; i < candidators.size() ; i++ )
         bool isUnionWin( const CandidatorVector & candidators )
  • BigBang . . . . 1 match
          * ALGOL계 언어라고도 한다고 한다.. [http://hkpark.netholdings.co.kr/web/inform/default/inform_view.asp?menu_id=9730&id=1456&parent_id=1517 궁금해 할 사람을 위해]
         #include <iostream>
         using namespace std;
         int main(){
          * #include, #define, #ifndef 등...
          * using namespace NAME; -> NAME의 namespace를 해당 scope 안에서 이용하겠다는 것
          * using
          * char의 배열, '''null terminated''' char sequence
          * string Class
          * UNIX/LINUX 계열에서는 중요한 정보
          * [http://thenine.egloos.com/430823 main 함수의 리턴값]
          * int, long, long long, short, char
          * int크기는 CPU가 한번에 처리할수 있는 정수 - 당연히 16bit에서는 다를수 있다.
          * java에서는 int와 boolean은 호환되지 않는다. while(1) {}는 컴파일에러.
         ==== 포인터 (Pointer) ====
          * void pointer 사용 자제합시다. void pointer가 가리키는 값의 타입을 추론할 수 없다. [http://stackoverflow.com/questions/1718412/find-out-type-of-c-void-pointer 참고]
          * function이란 input과 output이 있는 기능 단위
          1. call by pointer
          * C/C++의 함수 호출 방법(Calling Convention)
          * [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3485.pdf c++11(아마도?) Working Draft]의 7.5절 linkage specification 참고
  • Button/영동 . . . . 1 match
         import javax.swing.*;
          JOptionPane.showInputDialog(
          JOptionPane.INFORMATION_MESSAGE,
          public static void main(String[] args) {
         ["JavaStudyInVacation/진행상황"]
  • Code/RPGMaker . . . . 1 match
         = Orthogonal projection coordinate system 만들기 =
          public void onSurfaceChanged(GL10 gl, int width, int height) {
          // making background plane
          float[] coordinates = { // position of vertices
          int[] indices = { // index of each coordinate
          Object3D plane = new Object3D(coordinates, uvs, indices, RMObject2D.getTextureIDByColor(Color.white));
          // FOV settings
          buffer = new FrameBuffer(m_width, m_height, FrameBuffer.SAMPLINGMODE_NORMAL);
          init(x1, y1, x2, y2, color);
          init(vStart.x, vStart.y, vEnd.x, vEnd.y, color);
          private void init(float x1, float y1, float x2, float y2, Color color)
          int[] indices = {
          m_polygon = new Object3D(coords, uvs, indices, getTextureIDByColor(color));
         = 2D line class =
         public class RMLine extends RMObject2D {
          private static final Vector3f vectorZ = new Vector3f(0, 0, -1);
          public RMLine(Vector2f vStart, Vector2f vEnd, float width, Color color)
          // line vector
          Vector3f lineVector = new Vector3f();
          lineVector.sub(v3End, v3Start);
  • ConvertAppIntoApplet/영동 . . . . 1 match
         import javax.swing.*;
          public void init() {
          JOptionPane.showInputDialog(
          JOptionPane.INFORMATION_MESSAGE,
         ["JavaStudyInVacation/진행상황"]
  • CubicSpline/1002/GraphPanel.py . . . . 1 match
         class GraphPanel(wxScrolledWindow):
          def __init__(self, parent, id=NewId(), pos=wxDefaultPosition, size=wxDefaultSize):
          wxScrolledWindow.__init__(self, parent, id, pos, size)
          self.cubicSpline = Spline(DATASET)
          self.errorCubicSpline = ErrorSpline(DATASET)
          EVT_PAINT(self, self.OnPaint)
          def mappingToScreenX(self, x):
          def mappingToScreenY(self, y):
          def OnPaint(self, event):
          dc = wxPaintDC(self)
          dc.BeginDrawing()
          #self.drawGuideLines(dc)
          dc.EndDrawing()
          def drawGuideLines(self, dc):
          marginX = 100
          marginY = 100
          dc.DrawLine(marginX,marginY, marginX, cy-marginY)
          dc.DrawLine(marginX,cy-marginY, cx-marginX, cy-marginY)
          self.plotCubicSpline(dc)
          self.plotErrorCubicSpline(dc)
  • CuttingSticks/김상섭 . . . . 1 match
         #include <iostream>
         using namespace std;
         #include <vector>
         int main()
          int length, tokennum, token, l, i, j, m;
          vector< vector<int> > Data;
          vector<int> temp;
          cin >> length;
          cin >> tokennum;
          for(int i = 0 ; i < tokennum; i++)
          cin >> token;
          cin >> length;
          int store[51][51];
          for(vector< vector<int> >::iterator k = Data.begin(); k != Data.end(); k++)
          int temp1,min = INT_MAX;
          if(min > temp1)
          min = temp1;
          store[i][i+m] = min + temp[i+m] - temp[i];
          cout << "The minimum cutting is " <<store[0][tokennum] << ".\n";
  • DebuggingSeminar_2005/UndName . . . . 1 match
         DLL 파일에 의해서 분석된 내용을 보면 DLL 에 함수의 이름이 이상하게(?) 변형되어 있는것을 확인하실 수 있는데(DUMPBIN.EXE 를 통해서 가능합니다.) 이 이름의 원형을 알고 싶을때가 있습니다. 그럴때 undname.exe 라는 파일을 사용하시면 아주 쉽게 확인해 보실 수 있습니다.
         Microsoft(R) Windows (R) 2000 Operating System
         [DebuggingSeminar_2005]
  • DylanProgrammingLanguage . . . . 1 match
         Dylan is an advanced, object-oriented, dynamic language which supports rapid program development. When needed, programs can be optimized for more efficient execution by supplying more type information to the compiler. Nearly all entities in Dylan (including functions, classes, and basic data types such as integers) are first class objects. Additionally Dylan supports multiple inheritance, polymorphism, multiple dispatch, keyword arguments, object introspection, macros, and many other advanced features... --Peter Hinely
         Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc.
         Warranty: Distributed WITHOUT WARRANTY OF ANY KIND
         define method say-hello()
          * dynamic language 라.. dynamic programming 은 들어봤어도.. -_-a [임인택]
  • Eclipse와 JSP . . . . 1 match
          Upload:tomcatPluginV31.zip
         톰켓 플러그인을 Eclipse의 Plugins 폴더 안에 복사
         Project 에서 File 선택 후 main.jsp 만든다!
         Windows->Preferences->Tomcat 선택 후
         (필요한 경우) Windows->Preferences->Tomcat->Advanced 선택 후
         ex) http://localhost:8080/test/main.jsp
         WEB-INF/src (Eclipse 좌단)에서 오른쪽 버튼 -> new -> class
         work/org/apache/jsp부분 해당 소스에 break point를 걸고(해당 페이지 좌측에 더블 클릭) 웹 페이지 구동하면 break point에서 걸린다
         F8 이 다음 Break Point 까지 이동
  • EightQueenProblem/용쟁호투 . . . . 1 match
         global dynamicstagingarea sqlsa
         string appname = "eightqueenproblem"
         Integer il_attack [8,8] , il_limit = 1, il_queen_count = 1
         String is_solution[8]
         public subroutine wf_reset_maze ()
         public function boolean wf_chack_attack (integer ai_x, integer ai_y)
         public function boolean wf_create_queen ();Integer li_x,li_y
          If wf_chack_attack(li_x, li_y) Then CONTINUE;
          is_solution[il_queen_count] = 'Queen No : ' + String(il_queen_count) + ' / X : ' + String(li_x) + ' / Y : ' + String(li_y)
         public subroutine wf_reset_maze ();Integer li_x, li_y
         String ls_temp[8]
         end subroutine
         public function boolean wf_chack_attack (integer ai_x, integer ai_y);//32767
         Integer li_x, li_y
          il_attack[li_x,ai_y] = 1 //X Line 공격루트 셋팅
          il_attack[ai_x,li_y] = 1 //Y Line 공격루트 셋팅
         sqlsa=create dynamicstagingarea
  • EuclidProblem/곽세환 . . . . 1 match
         #include <iostream>
         using namespace std;
         #include <climits>
         #include <cmath>
         int main()
          int a, b;
          while (cin >> a >> b)
          /*int u = a, v = b;
          int temp = u % v;
          int gcd = u;
          int i, j;
          int x = 0, y = 0;
          int a2 = a / gcd;
          int b2 = b / gcd;
          int minsum = INT_MAX - 1;
          int temp1, temp2;
          int min, max;
          min = a2;
          min = b2;
          if ((max * i - 1) % min == 0)
  • Favorite . . . . 1 match
         [http://xper.org/wiki/seminar/RecentChanges XperSeminar]
         [http://www.passioninside.com 구근이형 개인위키]
         [http://blogs.pragprog.com/cgi-bin/pragdave.cgi/Practices/Kata]
         [http://www.winapi.co.kr/ WINAPI]
         [http://www.cinsk.org/cfaqs/html/ C에서 자주묻는질문]
         [http://xper.org/wiki/xp/TestDrivenDevelopmentInCeeLanguage TDD in Cee]
         [http://www.aawoo.com/Main.do]
         [http://agile.egloos.com/ AgileConsulting]
  • GDBUsage . . . . 1 match
         The GNU Debugger, usually called just GDB, is the standard debugger for the GNU software system. It is a portable debugger that runs on many Unix-like systems and works for many programming languages, including C, C++, and FORTRAN.
         #include <stdio.h>
         #include <unistd.h>
         #include <stdlib.h>
         #define BUFSIZE 30
         int main(int argc, char** argv)
          int fd[2];
          int state;
         Copyright 2005 Free Software Foundation, Inc.
         welcome to change it and/or distribute copies of it under certain conditions.
         Type "show copying" to see the conditions.
         This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
         6 #define BUFSIZE 30
         8 int main(int argc, char** argv)
         10 int fd[2];
         13 int state;
         Starting program: /home/staff/sapius/source/ipc_test/pipe1 15
         Breakpoint 1 at 0x80484cc: file pipe1.c, line 21.
         == print # ==
         Breakpoint 1 at 0x80484cc: file pipe1.c, line 21.
  • Gnutella-MoreFree . . . . 1 match
          {{{~cpp Connection String : GNUTELLA CONNECTION/<version>/nn}}}
         || ping || 네트워크상의 호스트를 찾을 때 쓰인다. Payload가 없기 때문에 header의 Payload_Length = 0x00000000 로 설정된다. ||
         || pong || Ping을 받으면 주소와 기타 정보를 포함해 응답한다.Port / IP_Address / Num Of Files Shared / Num of KB Shared** IP_Address - Big endian||
         || query ||네트워크상에서 검색에 쓰이고 검색 Minimum Speed ( 응답의 최소 속도 ), Search Criteria 검색 조건 ||
         || queryHit || 검색 Query 조건과 일치한 경우 QueryHit로 응답한다. Num Of Hits 조건에 일치하는 Query의 결과 수 Port / IP_Address (Big-endian) / Speed / Result Set File Index ( 파일 번호 ) File Size ( 파일 크기 )File Name ( 파일 이 / 더블 널로 끝남 ) Servent Identifier 응답하는 Servent의 고유 식별자 Push 에 쓰인다. ||
         || push || 방화벽이 설치된 Servent와의 통신을 위한 DescriptorServent Identifier / File Index / IP_Address(Big-endian)/Port ||
          1. Pong 은 Ping이 왔던 같은 길을 따라 전송된다. 만약 DescriptorID가 n
          인 Pong을 받았는 데 Descriptor ID가 n인 Ping 보지 못했다면 Ping을 보
          4. 전달 되었던 Ping과 Query를 제외하고 모든 Ping과 Query는 연결 된
          GET/get/<File Index>/<File Name>/HTTP/1.0rn
          <File Index>는 파일 번호이고 이는 QueryHit Result에 포함된 내용이다.
          Content-type:application/binaryrn
          GIV<File Index>:<Severnt Identifier>/<File Name>nn 를 보내 파일
          GET/get/<File Index>/<File Name>/HTTP1.0rn
          GnutellaPacket packet_Header / packet_Ping / packet_Pong
         CVS// http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gnucleus/(최근의 소스코드)
         int nItem = m_lstResults.GetNextSelectedItem(pos);
         for(int i = 0; i < Item.ResultList.size(); i++)
         OnReceive(int nErrorCode) 에서 Content-length 만큼의 버퍼 데이타를 받아 청크와 연결 시킨다.
         for(int i = 0; i < m_pShell->m_ChunkList.size(); i++)
  • Gof/Mediator . . . . 1 match
         == Intent ==
         MediatorPattern은 객체들의 어느 집합들이 interaction하는 방법을 encapsulate하는 객체를 정의한다. Mediator는 객체들을 서로에게 명시적으로 조회하는 것을 막음으로서 loose coupling을 촉진하며, 그래서 Mediator는 여러분에게 객체들의 interactions들이 독립적으로 다양하게 해준다.
         비록 하나의 시스템에 많은 객체들이 참여하는 것이 일반적으로 재사용성을 강화할지라도 interconnections이 늘어나는 것은 재사용성을 감소시키려는 경향이 있다. 너무나 많은 객체간의 상호 연결들은 객체들의 독립성을 떨어뜨릴 수 있다. - 그런 시스템은 마치 완전히 통일된 것 같이 행동한다.
         다른 다이얼로그 박스들은 도구들 사이에서 다른 dependency들을 지닐 것이다. 그래서 심지어 다이얼로그들이 똑같은 종류의 도구들을 지닌다 하더라도, 단순히 이전의 도구 클래스들을 재사용 할 수는 없다. dialog-specific dependency들을 반영하기 위해서 customize되어져야 한다. subclassing에 의해서 개별적으로 도구들을 Customize하는 것은 지루할 것이다. 왜냐하면 많은 클래스들이 그렇게 되어야 하기 때문이다.
         별개의 mediator 객체에서 집단의 행위로 encapsulate하는 것에 의해서 이런 문제를 피할 수 있다. 하나의 mediator는 객체들 그룹 내의 상호작용들을 제어하고 조정할 책임이 있다. 그 mediator는 그룹내의 객체들이 다른 객체들과 명시적으로 조회하는 것을 막는 중간자로서의 역할을 한다. 그런 객체들은 단지 mediator만 알고 있고, 고로 interconnection의 수는 줄어 들게 된다.
         예를 들면, FontDialogDirector는 다이얼로그 박스의 도구들 사이의 mediator일 수 있다. FontDialogDirector객체는 다이얼로그 도구들을 알고 그들의 interaction을 조정한다. 그것은 도구들 사이의 communication에서 hub와 같은 역할을 한다.
         다음 interaction diagram은 객체들이 리스트박스의 선택에서 변화를 다루기 위해 협동하는 방법을 묘사하고 있다.
          * 어떤 객체들의 집합이 잘 정의되었지만, 복잡한 방법으로 통신할 때. interconnection의 결과는 구조화되지 못하고 이해를 어렵게 한다.
          * 몇몇의 클래스들 사이에 분산되어진 하나의 행위가 많은 subclassing하는 작업 없이 customize되어져야 할 때.
          1. MediatorPattern은 subclassing을 제한한다. mediator는 다시말해 몇몇개의 객체들 사이에 분산되어질 행위를 집중한다. 이런 행위를 바꾸는 것은 단지 Mediator를 subclassing하기만 하면 된다. Colleague 클래스들은 재사용되어질 수 있다.
          2. MediatorPattern은 colleague들을 떼어놓는다. Mediator는 colleague들 사이에서 loose coupling을 촉진한다. colleagued와 Mediator를 개별적으로 다양하게 할 수 있고, 재사용 할 수 있다.
          4. MediatorPattern은 객체가 협동하는 방법을 추상화 시킨다. Mediation를 독립적인 개념으로 만들고 하나의 객체에 캡슐화하는 것은 여러분으로 하여금 객체의 행위는 제쳐두고 그 interaction에 집중하게 해준다. 이는 객체가 시스템 내에서 어떻게 interact하는 방법을 명확히 하는데 도움을 준다.
          5. MediatorPattern은 제어를 집중화한다. Mediator는 interaction의 복잡도를 mediator의 복잡도와 맞바꿨다. Mediator가 protocol들을 encapsulate했기 때문에 colleague객체들 보다 더 복잡하게 되어질 수 있다. 이것이 mediator를 관리가 어려운 monolith 형태를 뛰게 만들 수 있다.
          1. 추상 Mediator 클래스 생략하기. 추상 Mediator 클래스를 선언할 필요가 없는 경우는 colleague들이 단지 하나의 mediator와만 작업을 할 때이다. Mediator클래스가 제공하는 추상적인 coupling은 colleague들이 다른 mediator subclass들과 작동학게 해주며 반대의 경우도 그렇다.
         또 다른 방법은 colleague들이 보다 더 직접으로 communication할 수 있도록 특별한 interface를 mediator에게 심는 것이다. 윈도우용 Smalltalk/V가 대표적인 형태이다. mediator와 통신을 하고자 할 때, 자신을 argument로 넘겨서 mediator가 sender가 누구인지 식별하게 한다. Sample Code는 이와 같은 방법을 사용하고 있고, Smalltalk/V의 구현은 Known Uses에서 다루기로 하겠다.
         우리는 DialogDirector를 Motivation에서 보았던 것처럼 font dialog를 구현하기 위해서 사용할 것이다. 추상 클래스 DialogDirector는 director들을 위한 interface를 정의 하고 있다.
          // assemble the widgets in the dialog
         ET++[WGM88]와 THINK C class library[Sm93b]는 다이얼로그에서 widget들 사이에 mediator로서 director와 유사한 객체를 사용한다.
         윈도우용 Smalltalk/V의 application구조는 mediator 구조에 가반을 두고 있다.[LaL94] 그런 환경에서 application은 윈도우를 pane들의 모음으로 구성하고 있다. library는 몇몇의 이미 정의된 pane들을 가지고 있다. 예를 들자면 TextPane, ListBox, Button등등이 포함된다. 이러한 pane들은 subclassing없이 이용될 수 있다. Application 개발자는 단지 inter-pane coordination할 책임이 있는 ViewManager만 subclassing할 수 있다. ViewManage는 Mediator이고 각각의 pane들은 자신의 owner로서 단지 자신의 ViewManager를 알고 있다. pane들은 직접적으로 서로 조회하지 않는다.
         MediatorPattern의 또다른 application은 coordinating complex updates에 있다. 하나의 예는 Observer로서 언급되어지는 ChangeManager class이다. ChangeManager는 중복 update를 피하기 위해서 subjects과 observers중간에 위치한다. 객체가 변할때, ChangeManager에게 알린다. 그래서 ChangeManager는 객체의 dependecy를 알리는 것으로 update를 조정한다.
  • Gof/Singleton . . . . 1 match
         == Singleton ==
         === Intent ===
         더 좋은 방법은 클래스 자신으로 하여금 자기자신의 단일 인스턴스를 유지하도록 만드는 것이다. 이 클래스는 인스턴스가 생성될 때 요청을 가로챔으로서 단일 인스턴스로 만들어지는 것은 보증한다. 또한, 인스턴스에 접근하는 방법도 제공한다. 이것이 바로 SingletonPattern이다.
         SingletonPattern은 다음과 같은 경우에 사용한다.
         http://zeropage.org/~reset/zb/data/singl014.gif
          * Singleton
          * Instance operation (클래스의 메소드)을 정의한다. Instance 는 클라이언트에게 해당 Singleton의 유일한 인스턴스를 접근할 수 있도록 해준다.
          * Singleton 자신의 유일한 인스턴스를 생성하는 책임을 가진다.
          * 클라이언트는 오직 Singleton의 Instance operation으로만 Singleton 인스턴스에 접근할 수 있다.
         SingletonPattern은 여러가지 장점을 가진다.
          1. 클래스에 대한 접근이 오직 하나의 인스턴스에게로 제한된다. Singleton 클래스는 자기 자신의 단일 인스턴스를 캡슐화하기 때문에, 클라이언트가 언제, 어떻게 접근하던지 그 접근이 엄격하게 제어된다.
          2. namespace를 줄인다. SingletonPattern은 global variable을 줄임으로서 global variable로 인한 namespace의 낭비를 줄인다.
          3. 명령어와 표현을 확장시킬 수 있다. Singleton class는 subclass될 수 있고, 이 확장된 클래스의 인스턴스를 가지고 어플리케이션을 설정하는 것은 쉽다. run-time중에 필요한 경우에도 가능하다.
          4. 여러개의 인스턴스를 허용한다. 프로그래머의 마음에 따라 쉽게 Singleton class의 인스턴스를 하나이상을 둘 수도 있도록 할 수 있다. 게다가 어플리케이션이 사용하는 인스턴스들을 제어하기 위해 동일한 접근방법을 취할 수 있다. 단지 Singleton 인스턴스에 접근하는 것을 보장하는 operation만 수정하면 된다.
          5. class operation 보다 더 유연하다. 패키지에서 Singleton의 기능을 수행하기위한 또다른 방법은 class operation들을 사용하는 것이다. (C++에서의 static 함수나 Smalltalk에서의 class method 등등) 하지만, 이러한 언어적인 테크닉들은 여러개의 인스턴스를 허용하는 디자인으로 바꾸기 힘들어진다. 게다가 C++에서의 static method는 virtual이 될 수 없으므로, subclass들이 override 할 수 없다.
         SingletonPattern 을 사용할 때 고려해야 할 사항들이 있다.
         1. unique instance임을 보증하는 것. SingletonPattern의 경우도 일반 클래스와 마찬가지로 인스턴스를 생성하는 방법은 같다. 하지만 클래스는 늘 단일 인스턴스가 유지되도록 프로그래밍된다. 이를 구현하는 일반적인 방법은 인스턴스를 만드는 operation을 class operations으로 두는 것이다. (static member function이거나 class method) 이 operation은 unique instance를 가지고 있는 변수에 접근하며 이때 이 변수의 값 (인스턴스)를 리턴하기 전에 이 변수가 unique instance로 초기화 되어지는 것을 보장한다. 이러한 접근은 singleton이 처음 사용되어지 전에 만들어지고 초기화됨으로서 보장된다.
         다음의 예를 보라. C++ 프로그래머는 Singleton class의 Instance operation을 static member function으로 정의한다. Singleton 또한 static member 변수인 _instance를 정의한다. _instance는 Singleton의 유일한 인스턴스를 가리키는 포인터이다.
         Singleton class는 다음과 같이 선언된다.
         class Singleton {
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/변준원 . . . . 1 match
         속성 상속(inheritance)
         객체 지향 프로그램의 중요한 특징으로 하나의 함수 이름이나 심볼이 여러 목적으로 사용될 수 있는 다형성(Polymorphism)을 들 수 있다. 객체 지향에서의 다형성이란, 복수의 클래스가 하나의 메세지에 대해 각 클래스가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 말한다. 즉, 별개로 정의된 클래스들이 ㅌ은 이름의 함수를 별도로 가지고 있어 하나의 메세지에 대해 각기 다른 방법으로 그 메세지를 수행할 수 있는 것을 의미한다. 예를 들어, 여러 가지 화일(file)들을 프린트 하는 함수를 생각해 보자. 화일에는 간단한 텍스트 화일(text file), 문서 편집기로 만든 포멧 화일(format file), 그래픽을 포함하는 화일(file with graphics) 등 여러 가지가 있다. 이들 각각의 화일들은 프린트 하는 방법이 모두 다르다, 객체 지향에서는 아래처럼 각 종류의 화일을 별도의 클래스로 정의하고, 각각의 화일 종류별로 Print라는 함수를 화일의 형태에 맞게 구현한다.
         Text file -> Print();
         Formatted file -> Print();
         File with graphics -> Print();
         이렇게 생성된 화일 객체들은 모두 Print라는 메세지를 이해하며, 각 화일의 종류에 알맞게 프린트 할 수 있다. 이렇듯 다형성은 같은 이름의 함수를 여러 클래스가 각 클래스에 알맞게 달리 정의하고 같은 이름의 메세지에 응답할 수 있게 해준다.
         정보 은폐 (infomation hiding)
         객체와 객체 사이의 정보 교환은 외부에 공개하고자 하는 일련의 정보를 public interface로 정의해 외부에 객체들이 이 Interface를 통해서 그 객체와 정보를 교환하도록 한다. 즉, 한 객체의 Public Interface를 그 객체가 "무슨 일을 할 수 있다. 혹은 이 정보는 공개할 수 있다."라고 외부에 선언하는 것이다.
         이 Public Interface는 언어에 따라 표현 양식이 다른데, C++에서는 "public"이란 특별 구문을 두어 "public"란에 들어간 항목들만 외부에 공개된다. Effel이란 언어에서는 "export"라는 란에 지정된 항목들만 외부에 공개된다. 앞에서 정의한 POINT라는 객체 정의를 보면 move와 setcolor의 함수들이 외부에서 관찰될 수 있는 public interface임을 알 수 있다. 여기서 한가지 유의할 점은 move와 setcolor라는 함수들이 외부에 보여져 불리워질 수 있는 함수들이라는 것이며 각 함수가 가지고 있는 코드나 알고리즘까지 보여지는 것은 아니라는 것이다. 한 함수가 외부에 보여지는 부분을 signature라고 하며 하나의 signature는 함수의 이름, 입력 매개변수(input parameter)와 출력 매개변수(output parameter)로 구성되어 있다.
         위에서 살펴볼 캡슐화와 정보 은폐의 이점은 우선 객체 내부의 은폐된 데이타 구조가 변하더라도 주변 객체들에게 영향을 주지 않는다는 것이다. 예로서, 어떤 변수의 구조를 배열(array)구조에서 리스트(list) 구조로 바꾸더라도 프로그램의 다른 부분에 전혀 영향을 미치지 않는다. 또한 어떤 함수에 사용된 알고리즘을 바꾸더라도 signature만 바꾸지 않으면 외부 객체들에게 영향을 주지 않는다. 예를 들어, sorting 함수의 경우 처음 사용된 sequence sorting 알고리즘에서 quick sorting 알고리즘으로 바뀔때 외부에 어떤 영향도 주지 않는다. 이러한 장점을 유지보수 용이성(maintainability) 혹은 확장성(extendability)이라 한다.
         클래스 중에는 인스턴스(instance)를 만들어 낼 목적이 아니라 subclass들의 공통된 특성을 추출하여 묘사하기 위한 클래스가 있는데, 이를 추상 클래스(Abstract class, Virtual class)라 한다. 변수들을 정의하고 함수중 일부는 완전히 구현하지 않고, Signature만을 정의한 것들이 있다. 이들을 추상 함수(Abstract function)라 부르며, 이들은 후에 subclass를 정의할 때에 그 클래스의 목적에 맞게 완전히 구현된다. 이 때 추상 클래스의 한 subclass가 상속받은 모든 추상 함수들을 완전히 구현했을 때, 이를 완전 클래스(Concrete class)라고 부른다. 이 완전 클래스는 인스턴스를 만들어 낼 수 있다.
         추상 클래스의 예로서 프린터 소프트웨어를 생각해 보자. 우선 모든 종류의 프린터들이 공통으로 가지는 특성을 정의한 추상 클래스 "Printer"가 있다고 한다면, 여기에는 프린터의 상태를 나타내는 변수, 프린터의 속도 등의 변수가 있으며 함수로는 프린팅을 수행하는 Print 등을 생각할 수 있다. 그러나 프린터마다(Dot matrix printer, Laser printer, Ink jet printer) 프린팅 하는 방법이 다르므로 이 추상 클래스 안에서는 Print라는 함수를 완전히 구현할 수 없다. 다만, 여기에는 Print 추상 함수의 Signature만 가지고 있으며, 실제의 구현은 여러 subclass에서 각 프린터 종류에 알맞게 하면 된다.
         "Printer"라는 클래스는 추상 클래스로서 실존의 어떤 프린터 기능을 가지고 있지 않고, dot matrix printer나 laser printer 등의 완전 클래스들 간의 공통된 특성만 지정하고 있으므로, 그 인스턴스를 만드는 것은 무의미하다. 추상 클래스는 점진적 개발 방법(Incremental Development)에 유용하게 사용될 수 있으며, 공통 속성(attribute)의 추출 및 정의에 유용하므로 문제를 모델링하는데 편리함을 더해준다.
  • HelpOnInstalling . . . . 1 match
         See ["MoniWiki/Installation"]
          귀찮아서 INSTALL파일에 여기를 향하는 링크를 달랑 넣었습니다. :p
  • JavaNetworkProgramming . . . . 1 match
         *'''지금은 여기서 접는것이고. 누군가 Java Network Programming을 본다면 참여하기 바란다 ^^;;'''
         JAVA Network Programming
          public AuthException(String detail){
          public static void main(String[] args){
          public synchronized void begin(){ //동기화
          execution.setPriority(Thread.MIN_PRIORITY); //우선수위를 정함
          execution.interrupt(); //stop()을 쓰는 것은 별로 바람직하지 않다 stop()은 쓰레드가 어떤 상황에 있더라도 쓰레드를 바로 멈추어 버리기 때문에,
          } //사용하는 방법이 더좋다. 가장 권장되는 방법은 위와 같은 플래그와 함께 interrupt()를 사용하는 것이다.
          }finally{
          *OutpuStream,InputStream : 모든 다른 스트림 클래스들의 수퍼클래스이다. 이 Chapter에서는 이둘 클래스 설명
          public static void println(String msg) throws IOException{
          synchronized(System.out){ //메시지를 터미널에 출력하던 도중에 다른 쓰레드에 의해 String이 출력될수 없도록 동기화처리
          for(int i=0; i<msg.length(); ++i)
          System.out.write(msg.charAt(i) & 0xff); //16비트 유니코드로 구성된 String은 연속한 바이트로 매스킹한후 출력
          public static void main(String[] args) throws IOException {
          for(int i=0; i<args.length;i++){
          println(args[i]); //넘겨받은 문자를 하나씩 넘김
          *InputStream 클래스 : InputStream 클래스는 통신 채널로부터 데이터를 읽어 내는 관문을 의미한다. OutputStream에 의해 통신 채널로 쓰여진 데이터는 해당하는 InputStream에 의해 읽혀진다.
          public class SimpleIn { //간단한 InputStream 예제
          public static void main(String[] args) throws IOException {
  • JavaScript/2011년스터디/CanvasPaint . . . . 1 match
          ctx.beginPath();
          if(drawmethod==1) drawLines();
          else if(drawmethod==2) drawDotPoint();
          element=document.getElementById('drawLine');
          dotx=undefined;
          doty=undefined;
          ctx.clearRect(0,0,window.innerWidth-15, window.innerHeight-50);
          function drawDotPoint()
          function drawLines()
          ctx.beginPath();
          ctx.lineWidth=3;
          ctx.lineTo(event.x-7, event.y-7);
          <canvas id="drawLine" width="300" height="300" onmousedown="hold();"
          <select name="colors"onclick="selectColor(this.selectedIndex)">
          <button type="button" onclick="drawMethod(1)"> LINE </button>
          element=document.getElementById("drawLine");
          element.setAttribute("width", window.innerWidth-15);
          element.setAttribute("height", window.innerHeight-50);
          context.strokeRect(0, 0, window.innerWidth-15, window.innerHeight-50);
         if(window.addEventListener){
  • JavaStudyInVacation/진행상황 . . . . 1 match
          * awt 와 swing 의 차이를 알아내기.
         ||영동||["AwtVSSwing/영동"]||
          * http://www.jini-club.net/eclipse/dw_EclipsePlatform.html 한글
          * http://gnome.or.kr/moin.cgi/JavaSWT 한글(간단 소개)
          * http://www-106.ibm.com/developerworks/library/j-nativegui/index.html
          See Also ["Java/NestingClass"] 정진균 군이 수고해 주셨습니다. 그냥 이렇구나 하고 읽어 보세요. --NeoCoin
          이런것들은 다 같이 찾아보고, 다 같이 토론하고, 다들 이해했으면 하나로 정리해서 써두 될텐데요^^ 위에 AWT와 SWING의 차이도.. 그리고 아래 네트워크를 사용하는 방법도 마찬가지구요~ 이렇게 각자 쓸것까지야... --["상규"]
         ||상욱||["ConvertAppIntoApplet/상욱"]||
         ||영동||["ConvertAppIntoApplet/영동"]||
         ||진영||["ConvertAppIntoApplet/진영"]||
          '''''이거부터는 각자 하지 말고 같이 하라고 했는데요....''''' ["JavaStudyInVacation/과제"]를 잘 읽고 하세요. 아무래도 내일 다 끝내는건 무리가 있는듯 하군요. 다음주에는 제가 계속 학교에 있습니다. 다음주에도 계속하겠습니다. 이번주처럼 계속 참여해주세요. --["상규"]
         ["JavaStudyInVacation"]
  • LUA_2 . . . . 1 match
         > print(type("TEST")) --- 문자열
         string
         > print(type(1)) --- 숫자
         >print(type(true)) --- 논리 자료형
         >print(type(nil)) --- NULL 값
         > print(type({}))
         > print(t[1])
         > print(1) --- 상수
         > print(0xa) --- 16진수
         > print(1.1) --- 실수
         > print(1e2) --- 지수형 1 * 10^2
         > print(1/0)
         1.#INF
         > print( 1 > 2 )
         nill 은 단순히 자료형일 뿐만 아니라 instance화 되지 않은 모든 객체 형태를 말합니다.
         > print( test )
         > print(sum)
         >print (a)
         >print(b)
         > print (a)
  • LispLanguage . . . . 1 match
          * For the beginners:
          * TutorialsPoint LISP: http://www.tutorialspoint.com/lisp/index.htm
          * [http://dept-info.labri.fr/~strandh/Teaching/Programmation-Symbolique/Common/David-Lamkins/contents.html Successful Lisp:How to Understand and Use Common Lisp] - 책인듯(some 에 대한 설명 있음)
         [http://www.lispworks.com/products/clim.html Common Lisp Interface Manager]
         당연히 우분투에서 한거고 window에서 하는건 모른다
         (EXT:SAVEINITMEM)
         하면 세션이 lispinit.mem으로 저장됨
         다시 실행할때는 cmd에서 clisp -M lispinit.mem 하면 실행됨
          * 참고링크 : http://stackoverflow.com/questions/7424307/can-i-save-source-files-in-clisp
         [[include(틀:ProgrammingLanguage)]]
  • LoadBalancingProblem/임인택 . . . . 1 match
          == LoadBalancingMain.java ==
          * @author Administrator
          * Window>Preferences>Java>Templates.
          * Window>Preferences>Java>Code Generation.
         public class LoadBalancingMain {
          public static void main(String[] args) {
          suite.addTestSuite(TestLoadBalancing.class);
          == TestLoadBalancing.java ==
          * @author Administrator
          * Window>Preferences>Java>Templates.
          * Window>Preferences>Java>Code Generation.
         public class TestLoadBalancing extends TestCase{
          LoadBalancing bal = new LoadBalancing(3);
          int sData[] = {1,3,3};
          int gData[];
          for(int i=0; i<sData.length; i++)
          LoadBalancing bal = new LoadBalancing(3);
          int data[]={1,3,4};
          assertEquals(bal.getMinimumJob(), 1);
          LoadBalancing bal = new LoadBalancing(10);
  • MFC/Serialize . . . . 1 match
         #define _MFC_
         = inner Document Class =
          CPainterDoc();
          DECLARE_DYNCREATE(CPainterDoc)
          //{{AFX_VIRTUAL(CPainterDoc)
          if (ar.IsStoring())
          // TODO: add storing code here
          // TODO: add loading code here
          IsStoring() 을 통해서 저장인지 로드인지를 판별한다.
          (float, double, BYTE, int, LONG, WORD, DWORD, CObject*, CString, SIZE, CSize, POINT, CPoint, RECT, CRect, CTime, CTimeSpan 이 오버라이딩 되어있다.)
         Introspection 기능이 있는 다른 언어들에서의 Serialize 하는 모습에 대해서는 반드시 관찰해볼 필요가 있음.~ --[1002]
  • MFCStudy_2001 . . . . 1 match
          * 벽돌깨기:[http://zeropage.org/pds/MFCStudy_2001_final_혜영_Alcanoid.exe 혜영],[http://zeropage.org/pds/MFCStudy_2001_final_인수_Arca.exe 인수],[http://zeropage.org/pds/MFCStudy_2001_final_선호_arkanoid.exe 선호]
          * 오목:[http://165.194.17.15/~namsangboy/Projects/ai-omok/omok.exe 상협],[http://zeropage.org/pds/MFCStudy_2001_final_창섭_winomok.exe 창섭]
          * 지뢰찾기:[http://zeropage.org/pds/MFCStudy_2001_final_영창_MINE_blue.exe 영창];인수와 선호는 소스 날려 먹었다는 납득할수 없는(--+) 이유로 거부;[[BR]]
          * [http://zeropage.org/~neocoin/data/MFCStudy_2001/MFC_Macro설명.rar MFC_Macro설명]:MFC에서 MessageMap을 구현하는 메크로 설명
  • MedusaCppStudy/석우 . . . . 1 match
         #include <iostream>
         using std::cout;
         using std::endl;
         using std::cin;
         int square();
         int triangle();
         int main()
         int square()
          int length;
          cin >> length;
          for (int rows = 0 ; rows < length ; rows++)
          for (int cols = 0 ; cols < length ; cols++)
         int triangle()
          int side;
          cin >> side;
          for (int r = 0 ; r < side ; r++)
          for (int c = 0 ; c < 2 * side ; c++)
         #include <algorithm>
         #include <iostream>
         #include <vector>
  • MoinMoinDone . . . . 1 match
         Things from MoinMoinTodo that got implemented.
          * Strip closing punctuation from URLs, so that e.g. (http://www.python.org) is recognized properly. Closing punctuation is characters like ":", ",", ".", ")", "?", "!". These are legal in URLs, but if they occur at the very end, you want to exclude them. The same if true for InterWiki links, like MeatBall:InterWiki.
          * Headlines:
          * Check for a (configurable) max size in bytes of the RecentChanges page while building it
          * Inline code sections (triple-brace open and close on the same line, {{{~cpp like this}}} or {{{~cpp ThisFunctionWhichIsNotaWikiName()}}})
          * SGML-Entities were replaced when saving them a second time, i.e. & #160; without the space had a problem.
          * SpamSpamSpam appeared 3 times in WordIndex. Too much Spam!
         <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">
          * MoinMoin:J
  • NSIS/예제4 . . . . 1 match
         !include "MUI.nsh"
         !include "servicelib.nsh"
         ShowInstDetails show
         InstallDir $PROGRAMFILES\RealVNC\VNC4
         ;WindowIcon on
         InstallButtonText "설치"
         AutoCloseWindow false
         ShowInstDetails show
         ShowUninstDetails show
          SetDetailsPrint both
          SetOutPath $INSTDIR
          !insertmacro SERVICE "stop" "WinVNC4" ""
          File "winvnc4.exe"
          !insertmacro SERVICE "start" "WinVNC4" ""
  • Omok/상규 . . . . 1 match
         #include <iostream.h>
         #include <conio.h>
         #define UP_KEY 0x48
         #define DOWN_KEY 0x50
         #define LEFT_KEY 0x4B
         #define RIGHT_KEY 0x4D
         #define ESC_KEY 0x1B
         #define SPACE_KEY 0x20
         int check(int board[19][19], int x, int y, int n, int skip=-1);
         int check33(int board[19][19], int x, int y);
         void main()
          for(int i=0;i<19;i++)
          for(int j=0;j<19;j++) cout << " +";
          int x=0, y=0;
          int key;
          int player=0;
          int board[19][19]={0,};
          cout << playerchar[player] << " WIN";
         int check(int board[19][19], int x, int y, int n, int skip)
          int move[4][2][2]={ { { 1, 0 }, { -1, 0 } },
  • OurMajorLangIsCAndCPlusPlus/signal.h . . . . 1 match
          || SIGINT || Ctrl - C 인터럽트 ||
          || __cdecl signal(int, void (__cdecl *)) || 해당 시그널에 동작할 행동을 지정한다. 첫번째 인자가 시그널 번호, 두번째 인자가 행동을 지정한다. ||
          || int __cdecl raise(int) || 이 함수를 호출한 프로시져에 첫번째 인자에 시그널번호에 해당하는 시그널을 보낸다. 실패하면 0이 아닌값을 리턴하는데, 오직 유효하지 않은 시그널 번호에서만 실패하게 된다. ||
  • PNA2011/서지혜 . . . . 1 match
          * 9 NINES를 가진 전설적인 언어?
          * Motivation, Organization, Information/Innovation/Insight, Jiggle
          * Doing is faster than arguing
          * Think forward
  • Parallels . . . . 1 match
         요즘에는 이 프로그램이 [http://www.xprogramming.com/xpmag/whatisxp.htm#small eXtremeProgramming] 으로 완성된 제품으로 꽤나 알려졌나보다. ( [http://fribirdz.net/506 관련 블로그] )
         = LINK =
  • Park . . . . 1 match
         [KIN]
  • PracticeNewProgrammingLanguage . . . . 1 match
         = PracticeNewProgrammingLanguage =
         = INTERMEDIATE LEVEL =
  • ProjectLegoMindstorm . . . . 1 match
         = ProjectLegoMindstorm (2008) =
         == LINK ==
          * [http://mindstorms.lego.com/eng/Hong_Kong_dest/Default.aspx 레고 마인드스톰 홈피]
  • ProjectPrometheus/BugReport . . . . 1 match
          * notice변경 사항에 관하여, DB에 넣는 방향으로 바꾸던지(게시판을 하던지), file path 비의존적으로 바꾸어야 한다. 현재 file path문제로 직접 고쳐주어야 하는 상황이고, ant 로 배포시 해당 file의 쓰기 읽기 권한 문제로 문제가 발생한다. --["neocoin"]
          * ant build를 상민, 석천 두 계정 사이에 아무런 차이 없이 가능하도록 조정할수 있어야 한다. 문제는 내 계정이 이상하다는것 --["neocoin"]
          - 자주 바뀌는 부분에 대해서 Page -> Object Mapping Code Generator 를 만들어내거나, 저 부분에 대해서는 텍스트 화일로 뺌 으로서 일종의 스크립트화 시키는 방법(컴파일을 하지 않아도 되니까), 화일로 따로 빼내는 방법 등을 생각해볼 수 있을 것 같다.
          - 매번 FORM 으로 넘어가는 변수들이 바뀔때 HTML 내 FORM 변수들을 찾거나 WEB DEBUG 등으로 프로토콜 분석을 하는데, 이를 자동화 할 수 있을 것 같다. <FORM> 태그, <INPUT> 태그 부분만 추출해내고 그 변수값 종류, 변수 이름을 얻어내는 코드만 작성해도, 반복작업을 줄일 수 있을듯. --["1002"]
          * 동감, 해당 프로토콜을 분석해서 property로 만들어 버리는 작업을 수행해야 할것 같군. 이작업을 한달에 한번 수행시키도록 해야 할까 ;; --["neocoin"]
          * 도서관이 저번주에 뭐 바꾼답시고 삽질중이라고 있다고 공지가 있었거든. 난 내부 DB 작업만 중단 하는것인줄 알았는데, UI부분이 약간 변경된듯 하다. 어이가 없어서.. My Page 눌러보면 공지 해놓았으니 참고--["neocoin"]
          * {{{~cpp DBConnectoinManager}}} 관련 주의 사항 http://javaservice.net/~java/bbs/read.cgi?m=dbms&b=jdbc&c=r_p&n=1019574430&p=2&s=d#1019574430
          * 다른 Conntion Pooling 용으로 http://www.bitmechanic.com/ 를 생각할수 있으며, 한글 자료는 http://javaservice.net/~java/bbs/read.cgi?m=dbms&b=jdbc&c=r_p&n=1034293525&p=1&s=d#1034293525 에 소개되어 있다.
          * 모든 connection Pooling 관리자에게 이런 문제사항은 노출되어 있으며, bitmechanic 도 예외는 아니다. ;;
  • Ruby/2011년스터디/서지혜 . . . . 1 match
          * windows API로 프로세스의 정보 받아오기 ([http://sosal.tistory.com/100 원본])
         #include <stdio.h>
         #include <stdlib.h>
         #include <tchar.h>
         #include <Windows.h>
         #include <TlHelp32.h>
         int _tmain(int argc, TCHAR *argv[]){
          if(hProcessSnap == INVALID_HANDLE_VALUE) {
          _tprintf(_T("CreateToolhelp32Snapshot erre\n"));
          // structure to hold process's inform
          _tprintf(_T("Process32First error!\n"));
          _tprintf(_T("\t[Process name]\t[PID]\t[ThreadID]\t[PPID]\n"));
          int countProcess=0;
          _tprintf(_T("%25s %8d %8d %8d\n"),
          printf("number of process = %d", countProcess);
         #include <stdio.h>
         #include <stdlib.h>
         #include <tchar.h>
         #include <Windows.h>
         #include <TlHelp32.h>
  • RubyLanguage/InputOutput . . . . 1 match
         == InputOutput ==
          * STDOUT << , STDIN >>
          * each_line : 세퍼레이터를 넘겨 한 단위(세퍼레이터로 구분)씩 읽어옴
          * readlines : 배열로 읽어옴
         puts.client.readlines
  • STLPort . . . . 1 match
         = Introduce =
         본 문서는 Win32 환경에서 Visual C++ 를 사용하시는 분들이 STLport의 STL 라이브러리를 설치하여 사용하는데 도움을 주기 위하여 작성되었습니다. 가장 최소한의 설치 과정만을 싣는데 초점을 두었으며, Visual C++ 6 이하의 버전에서는 테스트하지 않았음을 미리 알려 드립니다. 기타 세세한 정보는 외부 자료 문서화 페이지 혹은 게시판에서 얻고, 나누어 주시기 바랍니다. 감사합니다.
          1. MSVC 컴파일러의 자질구레한 경고 메시지를 막을 수 있다 ({{{~cpp _msvc_warnings_off.h}}}가 준비되어 있음)
          1. 만만해 보이는 디렉토리에 압축을 풉니다.(참고로, 제 Visual Studio는 D:\Programming Files2 에 있습니다)
          * Tools 메뉴 > Options 항목 > Directories 탭에서, Include Files 목록에 stlport 디렉토리를 추가하고 나서 이것을 첫 줄로 올립니다.
          Upload:3-prebuild_includePath.GIF
          이 절의 설명과 이후의 설명을 모두 건너 뛰시고, '''stlport''' 폴더 전체를 VC++ 폴더의 /include 폴더에 복사하십시오. 그리고 "프로그램 관련 세팅" 절부터 읽으시면 됩니다. 단, 라이브러리 관련 부분은 관련이 없습니다.
          1. 도스 프롬프트에서 nmake install을 입력합니다.
          {{{~cpp E:\STLport-4.5.3\src\nmake -f vc6.mak install
          Upload:7-makeInstall.GIF
          * Tools > Options 메뉴 > Directories 탭에서, Include Files 목록에 방금 추가된 stlport 디렉토리(대개 ''C:/Program Files/Microsoft Visual Studio/VC98/include/stlport''이겠지요)를 추가하고 나서, 이 항목을 가장 첫 줄로 올립니다.
         STLport는 상용이 아니기 때문에, 링크 시 사용하는 STLport 전용 C++ 런타임 라이브러리(입출력스트림이 있는) 직접 설정해 주어야 합니다. 이것을 제대로 이해하려면 우선 VC++가 사용하는 런타임 라이브러리를 알아 봐야 합니다. VC++6의 런타임 라이브러리는 VC98/lib 디렉토리에서 확인할 수 있는데, 정적/동적 링크여부에 따라 크게 {{{~cpp LIBxxx.lib}}} 버전과 {{{~cpp MSVCxxx.lib}}} 버전으로 나뉩니다. 프로젝트에서 조정하는 부분은 Project > Setting 메뉴로 열리는 C/C++ 탭입니다. C/C++ 탭에서 "Code Generation" 카테고리를 선택하면 '''Use Run-time Library''' 드롭다운 박스를 조정해 줄 수 있습니다. 여기서 디버그 정보 포함('''debug''') 유무, 런타임 라이브러리의 스레딩('''thread''') 모드, 동적 링크 여부('''DLL''')의 조합을 결정해 줄 수 있습니다. 긴 설명은 빼고, 간단히 정리하면 다음과 같습니다. (MSDN의 설명을 참고하여 정리하였습니다)
          ||Single-Threaded|| LIBC.LIB || 단일 스레드, 정적 링크 || /ML || ||
          ||Single-Threaded|| LIBCP.LIB || 단일 스레드, 정적 링크 || /ML || ||
          LIBCMT.lib(osfinfo.obj) : error LNK2005: __alloc_osfhnd already defined in LIBC.lib(osfinfo.obj)
          LIBCMT.lib(osfinfo.obj) : error LNK2005: __set_osfhnd already defined in LIBC.lib(osfinfo.obj)
          LINK : warning LNK4098: defaultlib "LIBCMT" conflicts with use of other libs; use /NODEFAULTLIB:library
          <실행파일경로> : fatal error LNK1169: one or more multiply defined symbols found
          Error executing link.exe.
         이는, '''VC가 코드 생성 옵션을 무시하고 LIBCMT.lib을 기본적으로 덧대어 넣어주기 때문입니다'''. 실행파일을 만드는 경우라면 에러가 가장 성가실 테지만, 배포용 라이브러리를 만들 경우엔 경고도 없애 주어야 합니다. 이 에러와 경고를 없애기 위해서는, 위에 나온 링커 메시지 대로 /NODEFAULTLIB 옵션을 써야 합니다. VC IDE를 쓰고 계시다면 Project->Setting 메뉴를 선택하고 나오는 대화상자에서 '''"Link"''' 탭을 선택하시고, '''"Input"''' 드롭다운 항목을 고른 후에 '''"Ignore Libraries"''' 에디트 상자에 LIBCMT.lib를 써 넣으시면 됩니다.
  • SisterSites . . . . 1 match
         Seminar:SisterSites
          * MoinMoin 디렉토리에서 화일들을 복사.
          * sisters.py 에서 WIKINAME_DIR 수정
          * MoinMoin/wikiutil.py 수정
          * MoinMoin/config.py 에 변수 두개 추가.
          * sister_site 변수들 관련. moin_config.py 에서 수정가능하도록. (왜 안되는 것이란 말이냐.. -_-;)
  • TAOCP/BasicConcepts . . . . 1 match
         1) 유한성(Finiteness)
         2) 명확성(Definiteness)
         3) 입력(Input)
          Comparison indicator, - EQUAL, LESS, GREATER
          Input, Output Devices
          * Instruction format
          I - 인덱스(the index specification). 값이 1~6으로 rI1~rI6에 있는 내용과 메모리 주소를 더함
          * Loading operators.
          LDA, LDX, LDi, LDAN, LDXN, LDiN이 있다.
          * Storing operators.
          이 연산에서 M은 메모리 셀을 가리키지 않고, 그냥 부호있는 숫자로 쓰인다. ENTr, ENNr, INCr, DECr가 있다. ( r은 A, X, 1~6)
          M이 가리키는 메모리 셀로 점프한다. JSJ를 빼면 점프를 하면서 점프 명령어 다음 위치를 rJ에 저장한다. the comparison indicator를 이용하거나(JL, JE, JG, JGE, JLE, JNE) , 레지스터(JrN, JrZ, JrP, JrNN, JrNZ, JrNP)를 이용한다.
          HLT 명령은 기계를 멈춘다(The machine stops.)
          * Input-output opertors.
          * Timing
         순열은 abcdef를 재배열(rearrangement)이나 이름바꾸기(renaming)를 해서 얻는다고 볼 수 있다. 이를 다음과 같이 표시할 수 있다.(p.164참조)
         * Timing
          * Timing
          === Inverse ===
  • TestDrivenDevelopment . . . . 1 match
          사람마다 다를것 같긴 하지만, 나의 경우는 테스트를 작성하기 전 TODO List 를 작성할때 가장 고민을 하고 시간이 오래걸린 것 같다. 뭘 만들것인지에 대한 이해가 제대로 되지 않은 상태에서는 도대체 '뭘 해야 할지, 어떤 결과를 기대해야 할지'를 모르기 때문. :) 한편, 만일 TODO 리스트 작성시 시간이 너무 지체된다 싶으면 빨리 '어떤 결과를 기대해야 하나(Test 디자인)' 이란 질문을 하고 테스트를 작성해보는 방법을 추천. 저 질문이 앞에서의 '뭘 할까?'라는 질문의 모호함을 보완해주기 때문. 무엇을 해야 할지 감이 안올때는 가장 간단한 Input-Output 을 서술해봄으로서 조금씩 구체화시켜나갈 수 있음. '예제에 의한 구체화'란 방법은 참 유용함. --[1002]
         테스트를 작성할때엔 '이미 완성되어있는 잘 된 API' 를 상상하며 작성한다. 잘 만들어진 API는 같은 일을 하더라도 직접 호출해줘야 하는 함수의 갯수가 적고 이해하기 편하며 '무엇'을 해주는지 그 메소드가 말해준다. 적게 코드를 써도 많은 일을 해주는것이다. 그리고, 테스트로서 컴퓨터의 컴파일러에게 코드작성을 위해 해야 할 일들을 묻고, 인터페이스를 만들고. 그리고 구현하고, 다시 구현된 코드를 Refactoring 한다.
         int gNumTests = 0;
         int gNumFailures = 0;
         #define Assert(cond) AssertImpl(cond, #cond, __LINE__, __FILE__)
         void AssertImpl( bool condition, const char* condStr, int lineNum, const char* fileName)
          printf("file %s', line %d, assert '%s' failed\n", fileName, (int)lineNum, condStr);
         void printTestResult() {
          printf("%d tests run, %d tests failed\n", (int)gNumTests,(int)gNumFailures);
         int main(int argc, char* argv[])
          printTestResult();
  • VMWare . . . . 1 match
         유사제품으로 [Parallels] ( [eXtremeProgramming] 으로 개발되었다고 함. Mac 버전의 경우 윈도우 환경을 거 70%~90% 퍼포먼스로 구현했다고 들었음) 가 있다.
         유사기술을 적용한 Linux [Xen] 커널이 등장하기 시작했으며, Xen 은 차후 나타나게될 멀티코어 CPU 환경(플랫폼 자체가 완전히 다른)에 적합한 커널의 구축을 목표로 하고 있다고 한다. (완전히 다른 프로세서라면 당연히 해당 머신에 접근하는 인터페이스 역시도 다를텐데 XEN 을 이용해 해당 부분을 추상화시켜서 접근하는 식으로..) 현재에는 해당 기술을 보안 분야에서 이용하기 위한 연구가 진행중이며 기존의 단일 커널하의 커널모드, 유저모드 식의 구분이 아닌 관리자 커널, 애플리케이션 커널과 같은 구분으로 2개의 서로 다른 커널을 구현해 커널 단에서 애플리케이션이 머신에게 직접적으로 접근할 가능성을 원천 차단하는 방식의 연구가 되고 있다.
         = RELATED LINKS =
  • VMWare/OSImplementationTest . . . . 1 match
         gcc였습니다. 하지만 저는 windows 환경하의 vc 개발을 주로 해왔으므로 무척
         불편(?)했습니다. Djgpp 라는 dos용 gcc 포팅 버전과 윈도우용 cygwin 패키지를
          http://www.execpc.com/~geezer/johnfine/index.htm
          Intel은 다른 cpu 벤더보다 역사가 오래되어서 4bit microprocessor인 4004에서
         intel x86 cpu에서 돌던 프로그램도 586에서도 수행되도록 하위호환을 갖게 됩니다.
         로드할 것입니다. ( no 플로피 부팅디스켓, no 리붓, no test machine )
         - Netwide Asm으로 at&t 계열 및 intel 계열 둘다 지원하고 target format도
          main.c
         [BITS 16] ; We need 16-bit intructions for Real
         [ORG 0x7C00] ; The BIOS loads the boot sector into memory location
          int 13h ; Call interrupt 13h
          jnz reset_drive ; Try again if ah != 0
          mov bx, 0h ; Destination address = 0000:1000
          mov ch, 0 ; Cylinder = 0
          int 13h ; Call interrupt 13h
          jnz reset_drive ; Try again if ah != 0
         A20Address: ; Set A20 Address line here
          JMP Continue
          in al,64h
         Continue:
  • Vending Machine/dooly . . . . 1 match
         package dooly.tdd.vending;
         public class VendingMachineTest extends TestSuite {
          TestSuite suite = new TestSuite("Test for dooly.tdd.vending");
          //$JUnit-BEGIN$
         package dooly.tdd.vending;
          private static final int GREEN_TEA_PRICE = 500;
          private static final int COFFEE_PRICE = 400;
          private static final int TEA_PRICE = 300;
          private VendingMachine vm;
          vm = new VendingMachine();
         package dooly.tdd.vending;
          private VendingMachine vm;
          vm = new VendingMachine();
          public void testEmptyMatchine() {
         package dooly.tdd.vending;
         public class VendingMachine {
          private int money;
          public void add(String item, int price) {
          itemMap.put(item, new Integer(price));
          public int getPrice(String item) {
  • WERTYU . . . . 1 match
         [http://online-judge.uva.es/p/v100/10082.html 원문보기]
         http://online-judge.uva.es/p/v100/p10082.jpg
         === Input ===
         === Sample Input ===
         I AM FINE TODAY.
  • WERTYU/1002 . . . . 1 match
          return dicStrs[dicStrs.find(c)-1]
          return ''.join([left(each) for each in list(s)])
          >>> [left(each) for each in list("O S")]
          'I AM FINE TODAY.'
         def main():
          print wertyu(raw_input())
         if __name__=="__main__":
  • WebLogicSetup . . . . 1 match
         WEB_LOGIC_ROOT\config\mydomain\applications\DefaultWebApp 디렉토리 내에서 작업하면 된다.
          * WEB_INF 디렉토리 내의 web.xml을 수정해주거나, 브라우저를 통해 weblogic server consol을 이용해서 수정할 수 있다.
          <servlet-mapping>
          </servlet-mapping>
          위에서 보는것처럼, <servlet/> 과 <servlet-mapping/>에 대한 설정이 필요하다. <servlet/>에서 설정하는 내용은 alias 된 서블릿 이름과 실제 서블릿을 매핑시키는 것이고, <servlet-mapping/>에서 설정하는것은 uri 패턴과 alias된 서블릿 이름을 매핑 시키는 역할이다. 도식화 시켜보면 다음과 같다.
         client --------------------------------> <servlet-mapping/>에 따라 <servlet-name/>과 매핑 ---+
  • WikiSandPage . . . . 1 match
          <input type="hidden" name="action" value="userform">
          <input type="hidden" size="15" maxlength="20" name="password" value="">
          <input type="hidden" size="15" maxlength="20" name="passwordagain" value="">
          <input type="hidden" size="40" name="email" value="">
          <input type="hidden" class="button" value="Local timezone">
          <input type="hidden" size="40" name="user_css" value="">
          <span class="button"><input type="submit" class="button" name="logout" value="로그아웃"></span>
         [[RSS("http://zerowiki.dnip.net/zero/index.php?mode=getRSS&url=namsang",6)]]
          말이 되냐 Uplode ;; 아 moin 1.0 대로 업그레이드 해도, 이런식으로 InterMap 이면 변화없이
         int main()
         [http://www.u-blog.net/gorbinsk/img/logo.png]
         http://www.nbc.com/Saturday_Night_Live/index.html
         [http://www.nbc.com/Saturday_Night_Live/index.html]
         [http://www.nbc.com/Saturday_Night_Live/index.html 쌩토요일밤]
         http://zeropage.org/wikis/nosmok/moinmoin.gif
         [http://zeropage.org/wikis/nosmok/moinmoin.gif 이쁜이사진]
         KIN
  • WinCVS . . . . 1 match
         WinCVS를 처음부터 사용해봅시다.
          1. WinCVS를 사용하기 위해서는 Python과 TCL이 깔려있어야 한다.
          ''DeleteMe 맞는 이야기인가요? ["sun"]의 기억으로는 아닌것으로 알고 있고, 홈페이지의 설명에서도 다음과 같이 나와있습니다. 'WinCvs is written using the Microsoft MFC.' '' [[BR]]
          ''WinCVS가 돌아가기 위해서는 2개의 어플리케이션이 필요하다.[[BR]]
          WinCVS 1.3을 실행하기 위해서는 Python언어가 필요하다. Python이 없이는 WinCVS는 동작하지 않는다.[[BR]]
          WinCVS에 유용한 몇몇 것들이 TCL 쉘 상에서 실행된다. 이것들을 활성화 시키기 위해서는 최신버전의 ActiveTCL이나 Tcl/Tk가 필요하다. (From WinCVS설치 메뉴얼)[[BR]]'' -- 선호
          ''WinCVS 의 쉘에서의 직접 커맨드 입력기능을 이용하려면 이전 버전에선 TCL, 최신버전에서는 Python 을 이용합니다. 하지만, 설치 안해도 WinCVS 의 주기능들은 이용가능한걸로 기억합니다. --["1002"]''
          2. 잘 받아놓은 WinCVS를 깔자.
          * [http://www.wincvs.org]
          3. WinCVS가 뜨면 끝
          1. 프로그램을 시작하고 첫 화면을 보자. 무심코 지나쳤다면 Ctrl+F1 또는 Admin - Preference 를 보자.
          4. WinCvs탭에서도 필요한 것만 수정하자
         = LINK =
  • XMLStudy_2002/Start . . . . 1 match
          1 Invalid Documents : XML의 태그 규칙을 따르지 않거나,DTD를 사용한 경우에 DTD에 정의된 규칙을 제대로 따르지 않는 문서
          * 위에 3개중 Invalid Documents는 실제 XML 문서로서의 역할을 할수 없다. XML 파서로 파싱 했을 때 바르게 파싱되지 않기 때문이다.
         <?xml version="1.0" encoding="KSC5601"?>
         <!ATTLIST MAIL STATUS (official|informal) 'official'>
         <MAIL STATUS="informal">
          1. Processing Instructions(Optional) : XML문서를 어떻게 처리해야 할지를 기술해 주는 부분
         === Processing Instructions(PI) ===
         <?xml version="1.0" standalone="yes" encoding="KSC5601"?>
          *encoding : 문서 작성시에 사용된 인코딩 방식을 기술
         <!ENTITY 엔티티 명칭 PUBLIC Public_indentifier "외부 XML문서의 URI">
         <?xml version="1.0" encoding="KSC5601"?>
         <CHAPTER_TITLE>Chapter1.Instruction</CHAPTER_TITLE>
         <?xml version="1.0" encoding="KSC5601"?>
         <!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
         <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
         <!ENTITY %block "P %heading; |%list; |%preformatted; |DL |DIV |NOSCRIPT | BOCKQUOTE ">
         <?xml version="1.0" encoding="KSC5601"?>
  • XpQuestion . . . . 1 match
         ''Why not move these into XperDotOrg?''
         - '필요하면 하라'. XP 가 기본적으로 프로젝트 팀을 위한 것이기에 혼자서 XP 의 Practice 들을 보면 적용하기 어려운 것들이 있다. 하지만, XP 의 Practice 의 일부의 것들에 대해서는 혼자서 행하여도 그 장점을 취할 수 있는 것들이 있다. (TestDrivenDevelopment, ["Refactoring"], ContinuousIntegration,SimpleDesign, SustainablePace, CrcCard Session 등. 그리고 혼자서 프로그래밍을 한다 하더라도 약간 큰 프로그래밍을 한다면 Planning 이 필요하다. 학생이다 하더라도 시간관리, 일거리 관리는 익혀야 할 덕목이다.) 장점을 취할 수 있는 것들은 장점을 취하고, 지금 하기에 리스크가 큰 것들은 나중에 해도 된다.
         각 Practice 를 공부를 하다보면, 저것들이 이루어지기 위해서 공부해야 할 것들이 더 있음을 알게 된다. (의식적으로 알아낼 수 있어야 한다고 생각한다.) Refactoring 을 잘하기 위해선 OOP 와 해당 언어들을 더 깊이있게 이해할 필요가 있으며 (언어에 대해 깊은 이해가 있으면 똑같은 일에 대해서도 코드를 더 명확하고 간결하게 작성할 수 있다.) CrcCard 를 하다보면 역시 OOP 와 ResponsibilityDrivenDesign 에 대해 공부하게 될 것이다. Planning 을 하다보면 시간관리책이나 일거리 관리책들을 보게 될 것이다. Pair 를 하다보면 다른 사람들에게 자신의 생각을 명확하게 표현하는 방법도 '공부'해야 할 것이다. 이는 결국 사람이 하는 일이기에. 같이 병행할 수 있고, 더 중요한 것을 개인적으로 순위를 정해서 공부할 수 있겠다.
         === UserStory, Engineering Task 의 의존성 문제 ===
         어디선가 이야기 나왔었던 문제. 규모가 되는 프로젝트의 경우 100 장의 Index Card 는 보관하기도 어렵고 널려놓기엔 정신을 어지럽힌다.;;
         - Story Card 는 Kent Beck 이 사용자와 더 빠른 피드백을 위해 생각한 덜 형식적인 방법이다. 어차피 Story Card 는 전부 AcceptanceTest 로 작성할 것이기에, 테스트가 작성되고 나면 AcceptanceTest 가 도큐먼트 역할을 할 것이다. Index Card 도구 자체가 보관용이 아니다. 보관이 필요하다면 위키를 쓰거나 디지털카메라 & 스캐너 등등 '보관용 도구', 'Repository' 를 이용하라.
         - 어차피 실제 고객에게 가치를 주는 중요한 일만을 하자가 목적이기에. Documentation 자체가 중요한 비즈니스 가치를 준다던가, 팀 내에서 중요한 가치를 준다고 한다면 (예를 들어서, 팀원중 몇명이 항시 같이 작업을 할 수 없다던지 등등) Documentation 을 EngineeringTask 에 추가하고 역시 자원(시간)을 분배하라. (Documentation 자체가 원래 비용이 드는 일이다.)
         === PairProgramming 적용하기 ===
         PairProgramming 은 XP 에서 논란이 많은 듯 하다. Man-Hour 를 절반으로 깎는다는 생각을 하게 되어서인지.
         interface 가 잘 정의하고 둘이서 분업을 하면 훨씬 효과적 아닌가?
         - ["1002"] 가 ProjectPrometheus 를 할때엔 거의 전체 작업을 Pair로 진행했다. Integration 비용이 전혀 들지 않았다. (두명이 멤버였으니; 당근!) 그리고 초기 소스와 지금 소스중 초기 모습이 남아있는 부분을 보면 '젠장. 왜 이렇게 짠거야? 이런 허접한...' 이다. 중복된 부분도 많고, 매직넘버도 남아있고, 처음엔 쓸거라 생각했던 일종의 어뎁터 역할을 하는 클래스는 오히려 일만 복잡하게 만들고 등등.
         단, 올바른 Pair는, 역시 Pair 하는 사람들 스스로 성숙할 필요가 있는 것 같다. ["1002"] 처럼 삐지기 쉽거나 F 스타일에 더 가까운 MBTI 스타일을 가진 사람은 약간. -_-; (["1002"] 는 INFP 인데, F 스타일이 T 스타일의 3배이다.; 물론 MBTI만으로 사람 전체를 평가하는것은 당근 아님.~)
         - 이는 SustainablePace 에 대한 증표이다. 보통 일이 초과되어 진행된다는것은 뭔가 일이 잘 안풀린다는 증거가 되기도 하다.
         늘 지속할 수 있는 안정적인 흐름을 만들어내는 것이 중요하다. '40' 숫자가 중요하단 뜻은 아니다. (단, PairProgramming 이 기가막히게 잘 진행되는 경우는, '40시간을 초과' 할 수가 없을 것 같다. 사람 진이 다 빠지니까. -_-;)
  • ZeroPageServer/Log . . . . 1 match
          * Linux 관련 서버 세팅 - 절망이다. ;;
          * JSP에서 자바빈을 써야하는데 WEB-INF에 classes에 클래스를 넣을수가 없어서그러는데 어떻게 쓸수 있게 해주세요. --["광식"]
          * Q : domain 에 관련된 문의입니다.. ["ZeroPageServer"] 에서는 user.domain 으로 자신의 home directory 에 접근할 수 없습니까.? 또 이것은 관련없는 질문인데..-_- 저렇게 셋팅을 하려면 어떻게 해야하죠.. named.conf 랑.. /var/named 에서 관련파일 다 수정했는데도... username.domain.com 에 접속을 하니.. www.domain.com 에 접속이 되는군요..-_- - ["임인택"]
          * A: 하위 도메인을 가지기 위해서는 서버에 DNS(Domain Name Server)를 설치하고 각 유저에게 DNS를 드리면 되지만, 그런 용도를 생각하고 있지 않습니다. --["neocoin"]
          * Q : 현재 ZeroPage의 서블릿컨테이너가 사흘이 멀다하고(좀 부풀려서 ^^) 운명을 달리하시는데, 데비안 버전의 Resin 문제인건가요? 아니면 파악된 다른 원인이 있습니까? 현재 2.1.6 버전이 나와있던데, 업그레이드해볼 계획이 있나요? 또는, 다른 서블릿 컨테이너를 사용해보는건 어떤가요? Resin 2.0 대 기준으로 스트레스 테스트시 죽는 일은 있었습니다. 누군가 ZeroPageServer에 스트레스테스트를 하고 있나요?
          ''간단한 resin log analyzer를 만들어두었습니다. admin 안쪽 RLA.jsp로 확인바랍니다. 참, resin이 root 계정으로 동작하던데, 권한을 바꾸길 바랍니다. (권한을 바꿔줄때, 그 부산물 - jsp가 컴파일된 자바 소스나 클래스등 - 도 함께 권한을 바꿔줘야 합니다.)''
  • ZeroPageServer/set2002_815 . . . . 1 match
          * mm.mysql -> MySQL Connector/J -- for connecting to MySQL from Java (공식 JDBC드라이버)
          * Resin , Apache 시작 순서 문제
          * Terminal에서 Home키와 End키 먹도록 세팅
          * httpd/WEB-INF/classes/woodpage, home/httpd/html/woodpage 삭제
          * Admin 툴은 누가 만들었고, 정확한 용도는 무엇인가? 모든 게시판이 표시되지는 않는다, 이유는 무엇인가?
          ''게시판 Admin 툴을 이야기하는건지? 맞다면.. '''만든이는''' ["sun"]이고 '''용도'''는 게시판 생성/삭제를 쉽게 하려는 의도에서 였으며, '''모든''' 게시판이 표시되지는 않는것은 툴을 만들었던 시점이, 자게,질/답 등 이미 몇몇 게시판이 만들어진 이후였기 때문(변경을 게을러서 안했음). --["sun"]''
          * ZeroWiki - moinmoin 0.10 으로 돌리는중
          * ["CVS"] 이용가능 (["neocoin"] 에게 신청)
          * CGI Script (Perl, ["Python"] 1.53), PHP (4.2 일것임), JSP & Servlet (Resin 1.2 )
          * Web에서 CGI권한을 허용 받으려면 관리자(["neocoin"])에게 문의
         == About Setting ==
          * Pain
          * 류상민 (99, ["neocoin"] ) : 하겠다고 덤빈 사람
          * no Pain
          * 이번 세팅의 목적은 '''좀더 편한 패키지 관리, 안정된 환경'''을 위해서이다. 그래서 상민이의 물망에 오른 것이 Zentoo Linux와 Debian, FreeBSD 정도 인데, 기본적으로 Linux를 택해서, FreeBSD와 Zentoo Linux와 Debian 비교에서 사용자 층과 편이성면에서 Debian이 더 우수하게 느껴져 선택하였다.
          * Encoding
          * Resin
          * Resin 상태 확인
          * JSP (Encoding 테그 추가)
          * [[HTML( <STRIKE> 서버 세팅 공지 setting </STRIKE> )]]
  • ZeroPageServer/set2005_88 . . . . 1 match
          * JSP Container 변경 : 톰캣 5.5.9. (컨테이너 변경에 따라서 jdk1.5.0-4로 변경)
          * 신규 계정 skeleton 에 WEB-INF 기본 파일 추가. index.php 를 통해서 phptest 를 하도록 함.
          * 리부팅후 jsp container 가 자동으로 미시작되던 문제 해결
          * [http://www.zeropage.org/server-status apache status], [http://www.zeropage.org/jkstatus jk status], [http://www.zeropage.org:8080/manager/html tomcat manager], [http://www.zeropage.org:8080/admin/ tomcat administrator]
          * ZeroWiki - moinmoin 0.10 으로 돌리는중
          * [http://www.zeropage.org/phpsysinfo/ phpsysinfo]
  • ZeroWikian . . . . 1 match
         [[include(틀:추가바람)]]
          * [celfin]
          * [Hyacinth]
          * [KIN]
  • bitblt로 투명배경 구현하기 . . . . 1 match
         hdc_original
         SetBkColor(hdc_original, RGB(255,0,255) );
         BitBlt(hdc_mask,0,0,size_x,size_y,hdc_original,0,0,SRCCOPY);
         SetBkColor(hdc_original, RGB(0,0,0));
         SetTextColor(hdc_original, RGB(255,255,255));
         BitBlt(hdc_original,0,0,size_x,size_y,hdc_mask,0,0,SRCAND);
         BitBlt(hdc_background,0,0,size_x,size_y,hdc_original,0,0,SRCPAINT);
         귀차니즘을 한방에 날려줄 #include <부지런함> 이 가능한 전처리기.. 어디없나? 휴..
  • callusedHand/projects/messenger . . . . 1 match
          * SWING
          * Java Network Programming
          * ["StringResources"]
          * Swing 어렵다.
  • cheal7272 . . . . 1 match
         = instruction =
          * 01 kim cheal min
         DeleteMe ) * 를 ★ 로 바꾸시는게 더 폼나지 않을까요?;; --["neocoin"]
          * SWING(***********)
         == Chatting ==
          ["ZeroPage"] 에 참여 의사가 있으시면, ["상규"] 군처럼 ;; 어느날 ''저 껴요'' 하고 들어 오시면 된다는;; --["neocoin"]
         수개월간 아무런 소식이 없어서, ZeroPagers 에서 ZeroWikian 으로 분류를 바꾸었습니다. 원하시면 언제든지 참여해 주세요. --NeoCoin
  • comein2 . . . . 1 match
          * 개인 위키 : http://comein2.xhot.net/moin/moin.cgi
         [http://165.194.17.15/moin/moin.cgi?action=userform&uid=1009955467.92.23121 comein2로그인]
          * ExtremeProgramming 관련 UnitTest , Refactoring
          * E-BANKING 시스템 기반 사용자 인증 방법에 대한 연구
          * Game Programming 관련 AI 및 Server 기술
          * ["Java/NestingClass"]
  • 갓헌내기C,C++스터디 . . . . 1 match
          * playing with C,엡솔루트 C++ , WINAPI , C로 쓴 자료구조론 (이석호 저)
          * playing with C는 내년에 새싹을 가르치는 만큼 스터디 보다는, 누군가를 붙잡고 가르쳐 보는것에 집중해서 공부를 진행
  • 권영기/web crawler . . . . 1 match
          print e.reason
         for line in urllib2.urlopen(req).readlines():
          fo.write(line)
          * http://coreapython.hosting.paran.com/howto/HOWTO%20Fetch%20Internet%20Resources%20Using%20urllib2.htm
         import string
         for line in fo1.readlines() :
          pos = string.find(line, '"http')
          for c in range(pos+1, len(line)) :
          if line[c] is '"' :
          fo2.write(line[c])
          * http://docs.python.org/tutorial/inputoutput.html
         for line in fo.readlines():
          urllib.urlretrieve(line,line.split('/')[-1])
          line = 'http://cfile23.uf.tistory.com/original/2001D2044C945F80495C6F'
          line.split('/')[-1] == '2001D2044C945F80495C6F'
          line.split('/')[-2] == 'original'
          say = "This is a line of text"
          part = line.split(' ')
          part == ['This', 'is', 'a', 'line', 'of', 'text']
         [GCC 4.6.1] on linux2
  • 김영록/연구중/지뢰찾기 . . . . 1 match
         #include <iostream.h>
         #include <stdlib.h>
         #include <time.h>
         static int space[16][16];
         static int gameover=1; //0일경우 메뉴 무한루프 끝
         void mine_confirm(int X, int Y); //지뢰가 있는지 없는지 확인
         void mine_update(int X, int Y); //지뢰가 없을경우 그근처에 지뢰수를 업뎃
         void mine_newgame(); //지뢰 위치 초기화
         void mine_show(); //지뢰 화면 보여주기
         void mine_menu(); //메뉴
         void main()
          mine_newgame();
          mine_show();
          mine_menu();
         void mine_menu() //메뉴 나타냄
          int num_x,num_y;
          cin >> num_x;
          cin >> num_y;
          mine_confirm(num_x-1,num_y-1);
         void mine_show()
  • 노상현 . . . . 1 match
         [[HTML(<PRE><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 궁서; color:black; LETTER-SPACING: -1px"></pre>)]]
  • 데블스캠프2002/날적이 . . . . 1 match
          * 다시 해볼 때(DoItAgainToLearn)는 뭐를 다르게 했고, 뭐가 다르게 나왔는지
          * 일부러 문법쪽에 대한 정통적인 설명을 배제하긴 했음. 뭐.. 그정도만 해도 디자인 타임때 디자인한 객체를 구현하는데 문제 없을 것 같고 해서. 졸지도 않고 끝까지 둘이서 같이 이야기하면서 플밍 하는 모습이 보기 좋았던 거 같아. 그리고 요구사항 추가내용인 바퀴벌레 2마리일때와 2차원 판이 아닌 3차원 직육면체를 돌아다닐때에 대해서 StructuredProgramming 과 ObjectOrientedProgramming 을 하여 비교하면 문제점 면에서 그 차이를 확실히 알 수 있을것임. --석천
          * 대근) 오호... Unix 를 사용한 것은 정말 뜻깊은 기회였습니다. Linux의...그것도 이론만 접해본 저로서는 익힌 명령어들을 쓰구 쓰구~~ 또 쓰면서 너무 기쁜 시간이었습니다.. 물론 숙제라는 강박관념두 없었고요...[[BR]]
         정말 랜덤 워크는 어려웠습니다.. 저는 랜덤 방향을 하나하나 만들어서 ELSE IF 문으로 돌고 또 돌았습니다.. 나중에 풀고 나서 재동형이 보여준 소스인 방어벽을 사용하지 않는 소스를 보고 아차~ 하는 생각이 들더군요.. 동적 2차 배열도 참신하게 재밌었습니다... 나머지라...[[BR]]LINKED LIST는 손도 못 대밨지만 옆에서 하시는 걸 보니 정말 어렵더군요..-_-;;[[BR]] 하노이의 탑 역시 지금 열심히 6시가 넘겨 풀고 있지만 풀릴지.....^^[[BR]]
          그런데 하노이 탑이랑 LinkedList는 정말 어렵더군여... -_-;;;;;
  • 데블스캠프2003/넷째날/Linux실습 . . . . 1 match
          [http://www-903.ibm.com/kr/linux/value/advantage/]
         SeeAlso [linux필수명령어]
          * 문서를 편집할 수 있는 모드로 명령모드에서 i를 누르면 들어간다. 제일 밑에 INSERT라고 표시된다. 여기서 보통 문서 편집하는 것처럼 입력해 주면 된다.
          * C 소스를 입력합니다. 단, C++ 스타일이 아닌 C 스타일로. 즉, stdio.h와 printf등을 사용하라는 뜻이죠. 주의할 점은, 여기서 주의할 점은 main() 함수의 리턴값은 void로 해주면 안 되고 int로 해주어야 합니다.(왜 그런지는 모르겠으나 컴파일 에러가 나더라고요.)
  • 데블스캠프2006/월요일/연습문제/웹서버작성/변형진 . . . . 1 match
          * 디렉토리명으로 접근한 경우 index.html, index.htm, index.php 순서로 가져옴
          * GET Method으로 넘어온 Query String를 처리한다.
         $index_file = array("index.html", "index.htm", "index.php");
         $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
         socket_bind($socket, $host, $port);
          foreach($index_file as $idxf)
          $result = join("\r\n", $res);
          $result = join("\r\n", $res);
          echo "Binary-safe Read: ";
          $result = join("\r\n", $res);
          * PHP로 짜면 스크립트 언어 특성상 프로그래밍이 즐겁다고나 할까요? 그런 느낌이 좋아서 PHP를 선호하긴 하지만, UI를 제외한 코어 루틴만큼은 레퍼런스와 샘플을 함께하면 대부분의 언어로 같은 루틴을 만들 수 있을 거라고 생각해요. 그래도 어느정도는 비 웹언어에 익숙해져야 하지않을까 싶어 C++, Java, C#을 고민하다 C#을 선택해서 해봤는데, C#이 클라이언트단 어플리케이션에서도 효용성을 가지려면 Windows Vista가 출시된 후의 상황을 지켜봐야 할 것 같고, 아직은 C/C++이 더 대세인건 분명해보이네요. 사실 저같은 경우에는 아직은 연구하고 싶은 관심사가 '대용량 데이터베이스 기반 검색 엔진'과 '형태소 분석 기반 자연어 처리'로 DB와 문자열 처리에 관한 부분인데, DB 처리는 일단 RDBMS에서만큼은 PHP처럼 수월한 언어가 없고, 문자열 처리는 Perl이 다른 언어들에 비해 월등하다보니 그런 언어를 도메인 언어로 해오지 않았나 싶네요. ㅋㅋ - [변형진]
  • 데블스캠프2010/다섯째날/ObjectCraft . . . . 1 match
         1. Factorize, [REFACTORING]
          || zergling || 5 || 0 || 50 ||
  • 데블스캠프2010/다섯째날/ObjectCraft/미션2/변형진 . . . . 1 match
          * after [REFACTORING]
         #include <stdio.h>
         struct zergling {
          int no;
          int hitP;
          int attP;
          int defP;
         } zerglings[2];
         void init_unit_stats() {
          zerglings[0].no = 0;
          zerglings[1].no = 1;
          zerglings[0].hitP = zerglings[1].hitP = 50;
          zerglings[0].attP = zerglings[1].attP = 5;
          zerglings[0].defP = zerglings[1].defP = 0;
         int get_damage(zergling z1, zergling z2) {
         void attack(zergling z1, zergling & z2) {
          int damage = get_damage(z1, z2);
          printf("저글링 %d이 저글링 %d에게 데미지 %d를 입혀 HP가 %d가 되었습니다.\n", z1.no, z2.no, damage, z2.hitP);
         int is_dead(zergling z) {
         int main() {
  • 데블스캠프2011/다섯째날/Lua . . . . 1 match
         PPT LINK https://docs.google.com/present/view?id=dcv94b3s_594cj7z8gf4
  • 데블스캠프2013/첫째날/후기 . . . . 1 match
          * NS3보다는 LINUX 자체에 대해 배운 게 더 기억에 남지만 이런 것이 있다는 것을 안 것만으로도 큰 도움이 되었습니다 - [원준연]
  • 레밍즈프로젝트/이승한 . . . . 1 match
         stdafx에 몽땅 끌어 넣어 놓았던 include들의 상호 참조.
         getmetry.insert, insertCpyPixel, deletePixel 제작.
         예정작업 : Clemming class, CactionManager, ClemmingList, Cgame 테스팅. CmyDouBuffDC, CmyAnimation 버전 복구. 예상 약 8-9시간.
         Pixel 내부의 데이터로 UINT와 UTYPE만 두어 속도에 신경을 써 보았다. bool type data가 아직 리팩토링 되지 않았음.
  • 만년달력/강희경,Leonardong . . . . 1 match
         #include <iostream>
         #include <climits>
         using namespace std;
         void output(int , int);
         int deter_date(int, int);
         int lastdays(int, int);
         int how_much_days(int, int);
         int main()
          int year, month;
          cin >> year;
          cin >> month;
          if ( year <= 0 || year >INT_MAX || month <=0 || month>12)
          continue;
         void output(int year, int month)
          int days = how_much_days(year, month);
          int date;
          for ( int j=0 ; j<date ; j++) //숫자를 찍기 전에 요일만큼 빈칸을 찍어줌
          for ( int i=0 ; i<days ; i++) //1에서 days까지 출력
         int deter_date(int year, int month )//요일을 정하는 함수(0은 일요일, 6은 토요일)
         int lastdays(int year, int month)//지난 달 날수를 계산
  • 박성현 . . . . 1 match
          1. INS ( Image Network Service ) - ( 2010년 )
          1. Win32API - ( 2010년 ~ 2011년 )
  • 삼총사CppStudy/20030806 . . . . 1 match
          * friend 함수를 위해서는 VS 6.0 sp 5를 깔아야 한다.[http://download.microsoft.com/download/vstudio60ent/SP5/Wideband-Full/WIN98Me/KO/vs6sp5.exe]
          * Visual Assist[http://www.wholetomato.com/downloads/index.shtml]
         #include <iostream>
         using namespace std;
          int x;
          int y;
          CVector(int a, int b);
          void SetValue(int a, int b);
          int GetX();
          int GetY();
         CVector::CVector(int a, int b)
         void CVector::SetValue(int a, int b)
         int CVector::GetX()
         int CVector::GetY()
         int main()
  • 새싹교실/2012/startLine . . . . 1 match
         = 새싹교실/startLine =
          * 입, 출력 함수(printf, scanf)와 테스트 함수(assert).
         int main()
          int num1 , num2 = 1, num3, num4 = 2;
          printf("별을 위해서 숫자를 입력해주세요\n");
          printf("*");
          printf("\n");
          * 서민관 - 제어문의 사용에 대한 수업(if문법, switch.. for...) 몇몇 제어문에서 주의해야 할 점들(switch에서의 break, 반복문의 종료조건등..) 그리고 중간중간에 쉬면서 환희가 약간 관심을 보인 부분들에 대해서 설명(윈도우 프로그래밍, python, 다른 c함수들) 저번에 생각보다 진행이 매끄럽지 않아서 이번에도 진행에 대한 걱정을 했는데 1:1이라 그런지 비교적 진행이 편했다. 그리고 환희가 생각보다 다양한 부분에 관심을 가지고 질문을 하는 것 같아서 보기 좋았다. 새내기들이 C를 배우기가 꽤 힘들지 않을까 했는데 의외로 if문이나 for문에서 문법의 이해가 빠른 것 같아서 좀 놀랐다. printf, scanf나 기타 헷갈리기 쉬운 c의 기본문법을 잘 알고 있어서 간단한 실습을 하기에 편했다.
          * 간단한 이전 시간(if문, 반복문)의 복습과 배열의 사용에 대해 알아보았다. 그리고 이번 시간에 주로 한 내용은 함수가 왜 필요한지와 함수를 만드는 법, 함수를 사용하는 법 등이었다. 개인적으로는 함수를 꽤 중요하게 생각하는 만큼 함수의 필요성을 잘 캐치해 줬으면 좋겠다. 그리고 새삼 드는 생각이지만 환희의 질문이 중요한 부분을 잘 찌른다는 생각이 든다. 별다른 언급도 없었는데 함수 내에서 변수의 scope나 함수 내부의 이름 겹침 등에 대한 질문이 있었다. 그리고 중간에 함수 사용의 예제로 printf문을 약간 이상하게 쓴 코드를 보여줬는데 의외로 감을 잘 잡은 것 같았다. 현재 진행상황으로는 다음에 포인터를 다뤄야 할텐데 함수를 쓰는 것을 조금 더 연습을 시킬지 바로 포인터를 나갈지 고민이다. 당장 포인터를 했다가 어려워하지 않을까 모르겠다. - [서민관]
          * 포인터의 정의, 포인터 변수의 정의, malloc 함수, fflush() 함수, getchar() 함수, 메모리의 heap과 stack 영역, (int)a와 *(*(int a))의 차이, 포인터의 OS별 크기(DWORD 크기를 따라간다. 32bit/64bit),
         void reverseArr(int **arr, int arrLen);
         int arr[10];
          Pointer와 배열 = 둘은 결국 같다.
          * 포인터 2회차. 포인터 변수에 대해서 잠깐 리뷰를 하고 그 후에 구조체와 typedef에 대해서 다루었다. 그리고 구조체를 인자로 받는 함수에 대해서도 다루었다. 그 후에 typedef int* SOMETHING이라는 표현을 써서 이중 포인터에 대해서 이야기를 해 봤는데, 이쪽은 역시 약간 난이도가 있는 것 같다. 특히 int **twoDim에서 twoDim[0]에 다시 malloc을 해 줘야 한다는 부분이 어려운 것 같다. 차근차근 해보자. 개인적으로 성훈이가 가르친 부분들을 잘 따라오려고 한다는 것을 (*s).age에서 느꼈다. ->연산자가 아니라 *연산자 후에 .연산자로 내용물을 참조한다는 것은 나름대로 메모리의 구조를 생각하려고 애를 썼다는 얘기다. 좀 고마웠다. - [서민관]
          * 함수 만들기 실습(isPrime, isPalindromePrime 등).
         int reverse(int number);
          * winapi.co.kr
          * Callback(winapi 이야기하면서) + winapi.co.kr
         void printCalender(int nameOfDay, int year, int month);
         void printDate(int nameOfDay, int endDayOfMonth);
  • 새싹교실/2012/주먹밥/이소라때리기게임 . . . . 1 match
         #include<stdio.h>
         #include<math.h> //Rand를 가져오는 헤더파일
         #include<stdlib.h>
         #include<time.h>
         #include<string.h>
         #define SORAHEAL 60000
         #define SORAKICK 9000
         #define SORAPUNCH 10000
         #define SKILLSIZE 3
         #define CLASSSIZE 3
         #define USERNUM 1 //유저 갯수
         " +M $M8MNNMZ MM 7MMD$: 7M$ ,+DM7 INMMZ ",
          int health;
          int heal;
          int kick;
          int punch;
          int select;
          int type;
         int gameinit(PLAYER *); //게임초기화
         int printplayerstate(PLAYER *, PLAYER *); //스테이터스 출력
  • 새싹교실/2013/이게컴공과에게 참좋은데 말로설명할 길이 없네반 . . . . 1 match
          (나는 그전에 WIN API를 준비해야할 것같다.)
         - 진도 : 컴퓨터 역사, 컴퓨터 언어의 역사, 컴퓨터 구조(미약하게.. 운영체제가 뭔지, 메모리가 뭔지, 컴퓨터가 뭔지.), 자료형, main함수(기본 구조)
         - 진도: 메모리 구조(미약하게), printf와 scanf 정말 간단하게 다음시간에 더 자세하게 쓰임새 알려주어야 할뜻 , 제어문 간단한 사용법과 필요성
  • 선현진 . . . . 1 match
         [KIN] 즈을 드셈
  • 안혁준 . . . . 1 match
          * http://wikinote.bluemir.me
         http://wikinote.bluemir.me
          * WINAPI, MFC
          * 개인용위키 - [http://github.com/HyeokJun/WikiNote wikinote]
          * [http://intra.zeropage.org:3000 planetWar] - ZP MT 때 진행했던 AI경쟁 플랫폼. 코드 공개예정
          * [http://nforge.zeropage.org/projects/mine 09년도 oop 프로젝트/온라인 마인]
          * [http://nforge.zeropage.org/projects/davinchicode 09년도 JAVA 프로젝트/다빈치 코드]
          * [DsLinux]
         [http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline3d/] 두 선분사이의 최단거리
  • 이영호/nProtect Reverse Engineering . . . . 1 match
         특정한 게임을 Cracking 하려고 했더니 nProtect와 비슷한 녀석이 디버그 되는 것을 방해하고 있었다.
         게임 : 마비노기(Mabinogi)
         (누군가가 nProtect가 함수를 hooking을 하고, 게임 자체 소스에 포함 되는 것이 아니라 바이너리 형식으로 덧 붙여진다고 하였는데,
         마비노기가 아닌 다른 nProtect를 사용하는 게임을 확인한 결과 소스에 포함되어 Exception Handling을 한다는 것을 발견하였다.)
         이것을 인라인 패치하였지만, OpenProcess로 디버그 Process를 Hooking하는 함수는 gc_proch.dll에 있다는 것을 확인하였다.
         성공 하였다. 다행히 이 guardcat은 Packing, Enchypher로 인한 encoding이 되지 않아서 인라인 패치가 쉬웠다.
         몇몇개의 함수만을 수정하고 guardcat.exe만 실행하였으나 gc_proch.dll의 hooking 루틴때문에 막혀버렸다.
         중요한것은 update를 어떻게 막느냐이다. 아마도 gc_proch.dll이 없더라도 mabinogi.exe는 제대로 실행될 것이다.
         => mabinogi.exe -> client.exe -> gcupdater -> guardcat.exe -> gc_proch.dll
         1. mabinogi.exe(게임 자체의 업데이트 체크를 한다. 그리고 createprocess로 client.exe를 실행하고 종료한다.)
         3. gcupdater(실행시 항상 서버에 접속하여 파일 3개를 받아온다. guardcat.exe, INST.dat, gc_proch.dll을 순서대로 받아와 자체적으로 wsprintf를 이용하여 복사한다.-아마 디버거에 API를 걸리기 싫었는지 모른다. createprocess로 guardcat.exe를 실행시킨다.)
         5. gc_proch.dll(이 파일은 debugger를 잡는 역할을 한다. 분석이 더 필요하다.) -> 이 파일은 dll injection 또한 막아낸다.
         client.exe가 실행될 때, 데이터 무결성과 디버거를 잡아내는 루틴을 제거한다면, updater의 사이트를 내 사이트로 변경후 인라인 패치를 통한 내 protector를 올려 mabinogi를 무력화 시킬 수 있다.
         mabinogi.exe -> client.exe로 넘어가는 부분
         |CommandLine = ""C:\Program Files\Mabinogi\client.exe" code:1622 ver:237 logip:211.218.233.200 logport:11000 chatip:211.218.233.192 chatport:8000 setting:"file://data/features.xml=Regular, Korea""
         |InheritHandles = FALSE
         |CurrentDir = "C:\Program Files\Mabinogi"
         |pStartupInfo = 0012E4F0
         |pProcessInfo = 0012E4E0
         client.exe code:1622 ver:237 logip:211.218.233.200 logport:11000 chatip:211.218.233.192 chatport:8000 setting:"file://data/features.xml=Regular, Korea" 로 실행시키면 된다.
  • 이영호/문자열검색 . . . . 1 match
         #include <stdio.h>
         #include <stdlib.h>
         #include <string.h>
         #include <signal.h>
         void handler(int sig)
          fprintf(stderr, "\n프로그램을 종료합니다.\n");
         int main()
          char x[40] = "His teaching method is very good.";
         // signal handling
          sigaction(SIGINT, &act, 0);
          fprintf(stderr, "fopen() error: result.out\n"), exit(-1);
          fprintf(fp, "자료 -> %s\n", x);
          fprintf(fp, "찾을 문자열 -> ");
          printf("찾을 문자열 -> ");
          fgets(buf, sizeof(buf), stdin); // 문자열이라고 했으니 space를 포함한다.
          fprintf(fp, "%s\n", buf);
          fprintf(fp, "Not Found!\n");
          fprintf(fp, "first found -> %d\n", loc-x);
         자료 -> His teaching method is very good.
         자료 -> His teaching method is very good.
  • 임시 . . . . 1 match
         http://cs.sungshin.ac.kr/~jwlee/os/chap9.ppt
         http://infosec.kut.ac.kr/sangjin/class/os/
         SearchIndex: Books
         Business & Investing: 3
         Computers & Internet: 5
         Cooking, Food & Wine: 6
         Engineering: 13643
         Entertainment: 86
         Health, Mind & Body: 10
         Medicine: 13996
         Parenting & Families: 20
         http://www.dasomnetwork.com/~leedw/mywiki/moin.cgi/NetworkProgramming
         http://crab.chungbuk.ac.kr/%7Ejchern/ vi명령어, Windows Network Programming API, ..
         String myIP = inet_ntoa(*(in_addr*) *(gethostbyname(myName))->h_addr_list);
         '''WinSock'''
         In the first stage, you will write a multi-threaded server that simply displays the contents of the HTTP request message that it receives. After this program is running properly, you will add the code required to generate an appropriate response.
         &Operation=ItemSearch &SearchIndex=SportingGoods
         &SearchIndex=Books 고정
         an Amazon Standard Item Number (ASIN)
         API Reference - Search Index Values
  • 작은자바이야기 . . . . 1 match
          * SpringSource Tool Suite(Eclipse IDE)의 기본 설정과 프로젝트 설정에 필요한 기본적인 정보를 설명했습니다.
          * http://springsource.org/
          * http://springsource.com/
          * abstract, final, static
          * Python 은 PEP에 절대 권한을 가진 귀도가 그냥 의견을 모아서 정한겁니다. 원숙한 언어일수록 스펙 자체가 '원래 그런 것'은 없고, '사람간의 약속'입니다. 이하 참고자료. --NeoCoin
          * http://stackoverflow.com/questions/68282/why-do-you-need-explicitly-have-the-self-argument-into-a-python-method
          * static에는 이런 용법도 있습니다. [StaticInitializer] - [안혁준]
          * [Singleton] 패턴과 lazy initialization의 필요성에 대해 이야기했습니다.
          * Serializable 인터페이스와 ObjectOutput, ObjectInput을 사용한 직렬화, 역직렬화에 대해 공부했습니다.
          * 대표적인 불변객체인 String 클래스가 내부적으로 어떻게 구현되고, 어떻게 불변성을 유지하는 지를 살펴보았습니다.
          * 다양한 String 객체의 활용 과정에서 객체들의 동일성과 동등성을 알아보았습니다.
          * String객체라니..! 자바 스트링은 편하면서도 불편했는데 뭔가 그 이유를 들을 수 있었을 법한 주제네요..-[김태진]
          * interface
          * inner class
          * annonymous inner class
          * 응집도up와 결합도dw (cohesion&coupling)
          * '''S'''RP (Single responsibility principle)
          * '''O'''CP (Open/closed principle)
          * '''L'''SP (Liskov substitution principle)
          * '''I'''SP (Interface segregation principle)
  • 정모/2002.3.28 . . . . 1 match
          * 광고 - 학기중에 Generic Programming 을 공부 합시다. --상민
         PHP, 아파치, java, 파이썬, 모인모인, RESIN, mysql,
  • 정모/2006.1.19 . . . . 1 match
         sock = socket(AF_INET, SOCK_STREAM)
          void Init(CWnd *pWnd);
         void CClientSocket::Init(CWnd *pWnd)
  • 정모/2011.3.28 . . . . 1 match
          * [Spring/탐험스터디]
          * [김수경]은 SpringFramework를 공부하는 봄싹 스웨--터--거 3월 스터디에 참가함.
          * 새싹 돌아보기 도중 나왔던 윤종하 게임 세미나! 정확히 언제 하실지 궁금해졌습니다 ㅋㅋ 다음 주 부터 ZP에 관심 있는 새내기들도 참여한다던데, 이제 ICE BRAKING의 진가를 발휘할 때가 오지 않았나 싶습니다. 다른 사람들도 모두 알 수 있는 용어들로 채워졌으면 합니다. OMS에서 처음과 두번째 동영상은 TV 광고에서도 많이 봤던 류였지만, 세번째의 사람 전체 행동을 인식해서 컨트롤러 없이도 게임을 즐길 수 있는 것과 네번째 동영상에서 컨트롤러를 활용해 화이트보드에 글씨를 쓰거나 3D 형태로 보이게 하는 것이 신기했습니다. 특히, 로봇같은 경우는 오른쪽으로 가라고 하는 손가락질을 인식해서 이동하는게..정말 능력자가 많은 듯 싶습니다. 책 읽기 모임은 원래 격주로 하는데 시험이 3주밖에 안남아 다음주에 진행하고, 중간고사가 끝날 때까지 쉴까 고민중입니다. 어느 새 3월이 다 갔네요! 시간 참 빠르군요 ㅠㅠ - [강소현]
  • 정모/2011.5.23 . . . . 1 match
         == SEMINAR ==
          * 휴면회원 [김홍기]의 [wiki:SibichiSeminar/TrustModel 이 사람이 휴면회원인 이유]
  • 정모/2012.2.3 . . . . 1 match
         == ICE BREAKING ==
          * 사람이 많이 왔네요. 뭐 여튼 Ice Breaking은 추움을 이기는 게 되어 버렸네요. 근데 열심히 안해서 별로 열은 안 났던. 음.. 그리고 OMS를 보면서 느낀 생각은 리듬게임 뿐만 아니라 모든 게임에는 변태들이 많다는 것이... 흠. 새싹 스터디는 항상 하는거지만 항상 고민이 많아보이네요. 그래도 제가 보기엔 어떻게 하던 간에 남는 사람은 남고 갈 사람은 가게 되어있다는... -_-; - [권순의]
          * 정모가 끝나고 깨닫는건 난 단추공장에 다니는 조가 되어있다는 것. 언제까지 단추만 누르고 살텐가. 개인적으로 이렇게 몸을 움직이는 ICE Breaking을 굉장히 좋아합니다. 뭘 하는지 모르게 시간이 가고 옆에 사람들의 웃긴 모습을 볼수 있으니 좋죠. 요즘 정모를 못왔지만 새 회장의 정모의 첫단추는 잘끼워진것 같습니다. 회장이 지금 맡은것이 많아서 좀 바쁘지만 빠릿빠릿하게 움직이는거 보면 올해도 잘 되겠죠. 새싹 스터디 같은 여러 의견이 분분한 경우는 과거의 기록을 듣고, 읽고 잘 조합해서 하나의 의견을 만들어서 강하게 진행하는걸 추천합니다. 의견을 듣고 있는것도 좋지만 언제까지 Melting Pot처럼 섞기만 하면 재미가 없죠.- [김준석]
          * 오랜만에 해보는 IceBreaking이네요. 처음엔 이게 뭔가 싶었는데 자꾸 하다보니 웃겼어요ㅋㅋㅋ 웃느라 제대로 못한듯ㅋㅋㅋㅋㅋㅋ 리듬 게임에 대한 OMS는 놀랍지만 약간 아쉬운 감이 있습니다. 다른 리듬 게임들도 볼 수 있었으면 좋겠는데. 그러니까 격주로 용운이 OMS 한번 더?! - [김수경]
  • 조금더빠른형변환사용 . . . . 1 match
         # define FTOI_LONG reserved, l
         # define FTOI_LONG l
         #define USE_FTOI register union{ double r; struct { _integer4 FTOI_LONG; } l; } __ftoitmp;
         #define OP_FTOI(val)\
         #include <stdio.h>
         #include <stdlib.h>
         #ifndef _WIN32
         /* for linux/unix */
         #include <time.h>
         #include <sys/time.h>
         static void printf_localtime()
          printf("%.4d-%.2d-%.2d %.2d:%.2d:%.2d.%.3d", ttt->tm_year, ttt->tm_mon, ttt->tm_mday, ttt->tm_hour, ttt->tm_min, ttt->tm_sec, tv.tv_usec/1000);
         static unsigned int get_clock()
          unsigned int t;
         /* for windows */
         #define get_clock clock
         # define FTOI_LONG reserved, l
         # define FTOI_LONG l
         #define USE_FTOI union{ double r; struct { long FTOI_LONG; } l; } __ftoitmp;
         #define OP_FTOI(val) \
  • 즐겨찾기 . . . . 1 match
         [http://xper.org/wiki/seminar/RecentChanges XperSeminar]
         [http://www.passioninside.com 구근이형 개인위키]
         [http://blogs.pragprog.com/cgi-bin/pragdave.cgi/Practices/Kata]
         [http://dbmain.snu.ac.kr/maro/books.html 책]
         [http://www.winapi.co.kr/ WINAPI]
         [http://www.cinsk.org/cfaqs/html/ C에서 자주묻는질문]
  • 최소정수의합 . . . . 1 match
          - 문제가 그렇습니다. 처리조건은 HINT라기 보다는 그 말 대로, 처리하기 위한 조건이라서 문제의 하위 조건이라고도 볼 수 있습니다.
         === input ===
         || 김태훈[zyint] || C || . || [최소정수의합/김태훈zyint] ||
  • 큐와 스택/문원명 . . . . 1 match
         여기서 의문점은 string헤더 파일을 include하지 않고 배열을 char *형으로 하고 #1,#2,#3을 strcpy를 사용하여 고치고 실행한 후,
         가능하다면, 전체 코드를 올려주세요. 지금 제 생각대로라면, 불가능한 코드를 말씀하시는 것 같아서요. --NeoCoin
          밤(10시 이후)에 답변드리겠습니다. 저에게는 상당한 학습의 기회가 될것 같군요. 재미있네요. 일단, 글로 표현하기에 자신이 없거든요. 주변의 사람들을 붙잡고 물어보는 것도 좋은 방법이 될것 같습니다. 그리고, 학교 교제의, call By Value, call By reference 와 Pointer 관련 부분을 읽으시면 좋겠습니다. --NeoCoin
         #include <iostream>
         #include <string>
         using namespace std;
         const int ASIZE = 5;
         void main()
          std::string a;
          char * array[ASIZE]; // Pointer의 배열입니다. 즉, 문자를 저장할 공간은 아닙니다.
          // char 를 가리킬수 있는 주소를 저장할수 있는 32bit 값들의 Pointer들 5개
          // 각 Pointer들은 의미 없는 값들로 채워져 있습니다.(컴파일러 의존)
          int tail = 0, status = 3;
          int select, count;
          for(int i = 0 ; i < ASIZE ; i++)
          strcpy(array[i], "empty"); // Pointer가 가르키는 부분이 우연히 접근 가능한 메모리 공간이라면
          cin >> select;
          cin >> array[tail]; // array[tail] 은 아직까지 의미없는 메모리 영역을 가리키는
          // 하나의 Pointer입니다. 그 영역에 임의로 문자를 채우는 것이므로
          array[count] = array[count+1]; // string의 경우와 달리, Pointer 값만 복사됩니다.
  • 튜터링/2011/어셈블리언어 . . . . 1 match
         TITLE MASM Template (main.asm)
         INCLUDE Irvine32.inc
         main PROC
         main ENDP
         END main
          * inline
  • 학회간교류/08 . . . . 1 match
          * TGWings
          * 제로페이지, PCRC, JARAM, TGWING, 숭실대
          * 자람에 연락은 제가 하고 TGWing에는 승한형이 하기로. 일단 연락에 대한 회답이 오길 기다림 2008.11.30 - [김홍기]
  • 0 . . . . 1 match
Found 321 matching pages out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 0.3800 sec