U E D R , A S I H C RSS

Full text search for "2012/3/30 - 일대일 채팅 프로그램 만들기"

2012/3/30 - 일대일 채팅 프로그램 만들기


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Java Study2003/첫번째과제/장창재 . . . . 65 matches
          - 자바(Java)를 이야기할 때 크게 두 가지로 나누어 이야기 할 수 있습니다. 먼저, 기계어, 어셈블리어(Assembly), 포트란(FORTRAN), 코볼(COBOL), 파스칼(PASCAL), 또는 C 등과 같이 프로그래밍을 하기 위해 사용하는 자바 언어가 있고, 다른 하나는 자바 언어를 이용하여 프로그래밍 하기 위해 사용할 수 있는 자바 API(Application Programming Interface)와 자바 프로그램을 실행시켜 주기 위한 자바 가상머신(Java Virtual Machine) 등을 가리키는 자바 플랫폼(Platform)이 있습니다. 다시 말해서, 자바 언어는 Visual C++와 비유될 수 있고, 자바 플랫폼은 윈도우 95/98/NT 및 윈도우 95/98/NT API와 비유될 수 있습니다.
          자바 언어(Java Language)를 이용하여 작성한 자바 프로그램(Java Program)은 자바 컴파일러(Java Compiler)를 이용하여 자바 바이트코드(Java Byte code)로 컴파일 되고, 이 자바 바이트코드는 자바 가상머신에 의해 해석되어 실행되는데, 이때 자바 가상머신은 자바 바이트코드에 대한 해석기 즉 인터프리터(interpreter)로 동작하게 됩니다. 이렇게 자바 프로그램은 컴파일 방식 및 인터프리터 방식이 모두 적용된다는 것입니다.
         자바 언어로 작성된 자바 프로그램을 중간 언어(intermediate language) 형태인 자바 바이트코드로 컴파일 합니다<.
         컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러한 이유 때문에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러한 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
         자바 바이트코드는 자바 가상머신에서 실행되는 기계어라고 생각하면 됩니다. 그리고, 모든 자바 인터프리터는 자바 가상머신을 구현해 놓은 것으로, 자바 가상머신과 자바 인터프리터를 같은 것으로 생각할 수 있습니다. . 이러한 자바 가상머신은 JDK(Java Development Kit)에 포함되어 있을 수도 있고, 자바 호환 웹 브라우저 내에 내장되어 있을 수도 있습니다. 또는, 자바 칩과 같이 하드웨어에 직접 구현될 수도 있습니다. 자바 바이트코드는 “write once, run anywhere”라는 말을 가능하게 해 줍니다. 다시 말해서, 자바 언어를 이용하여 작성한 자바 프로그램을 각 플랫폼(윈도우 95/98/NT, 리눅스, 유닉스, 매킨토시 등)에 맞게 제공되는 자바 컴파일러를 통해서 바이트코드로 컴파일 할 수 있습니다. 그리고, 이 바이트코드는 자바 가상머신이 있는 어떤 곳에서도 실행될 수 있습니다.
         플랫폼이란 프로그램이 실행되는 하드웨어 또는 운영체제와 같은 소프트웨어적인 환경을 말합니다. 대부분의 플랫폼은 하드웨어와 운영체제를 함께 일컬어 말합니다. 그러나 자바 플랫폼은 하드웨어와 무관하게 동작하는 오직 소프트웨어적인 플랫폼이란 점에서 다른 플랫폼과 다릅니다. 이를 위해 자바 플랫폼은 다음과 같은 두 가지의 구성요소를 갖습니다.
         자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에 포팅(poring) 됩니다. 다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있으며, 사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 됩니다.
         자바 API는 윈도우 API와 같이 운영체제에서 제공해 주는 라이브러리와 같은 것입니다. 다시 말해서, 자바 프로그램을 개발하기 위해 사용할 수 있는 라이브러리 또는 클래스들이라 할 수 있습니다. 이러한 자바 API는 서로 관련된 클래스들을 묶어서 패키지 단위로 제공되고 있습니다.
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
         프로그램을 실행하는 중에 그 실행 형태를 분석하여 병목이 발생하는 부분을 찾아내어 최적화 시켜 줍니다.
         이러한 문제점은 느린(Lazy) 클래스 로딩에서 발생하거나 메모리 할당과 가비지 콜렉션이 비결정적이고 느린 최악의 경우(worst-case) 특성을 가지며 stop-start 방식으로 모든 스레드를 멈출 수 있다는 문제점이 있습니다. 이를 해결하기 위해 클래스를 미리 로딩(class preloading)한다거나 정적 초기화(static initializer)를 제거하여 패키지 라이브러리에 대해서는 가상머신 초기화를 사용하고 응용프로그램에서는 명시적인 초기화 를 사용하게 하는 등의 기법을 사용할 수 있습니다. 그리고, 메모리 할당과 쓰레기 수집(garbage collection)에 대해서는 정해진 시간 내에 입터럽트 가능한 쓰레기 수집을 하는 것입니다. 또는 표준화된 실시간 API를 제공함으로써 해결할 수 있습니다.
         * 자바 프로그램의 종류
         C언어를 이용하여 C 프로그램을 작성한다면 반드시 main이라는 시작 함수를 정의해 주어야 하고, 윈도우 응용프로그램을 작성한다고 하면 WinMain이라는 함수를 꼭 작성해 주어야 하지요. 이러한 것을 규약(protocol)이라 합니다. 마찬가지로, 자바 언어를 이용하여 여러 가지 종류의 자바 프로그램을 작성할 수 있는데, 이 때 각 자바 프로그램의 종류에 따라 해당 규약이 서로 다릅니다. 이렇듯 자바를 이용하여 자바 프로그램을 작성한다는 것은 각 자바 프로그램에서 제시하고 있는 규약을 지켜 프로그램을 작성한다는 것입니다. 자바 언어를 이용하여 작성할 수 있는 자바 프로그램의 종류를 살펴보면 다음과 같습니다.
         JDK와 함께 제공되는 자바 가상머신에 의해 독립적으로 실행될 수 있도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 컴퓨터에서 윈도우의 도스창 또는 유닉스 쉘 등과 같은 쉘에서 자바 가상머신을 이용하여 실행시키는 자바 프로그램입니다. 위에 나오는 그림은 자바 애플리케이션의 실행 과정을 자세히 보여주고 있습니다.
  • MoreEffectiveC++/Efficiency . . . . 46 matches
         '''80-20 규칙''' 이란? 프로그램의 80%의 리소스가 20%의 코드에서 쓰여진다.:실행 시간의 80%가 대략 20%의 코드를 소모한다;80%의 메모리는 어떤 20%의 코드에서 쓴다.;80%의 disk 접근은 20%의 코드에서 이루어진다.:80%의 소프트웨어 유지의 노력은(maintenance effort)는 20%의 코드에 쏟아 부어진다.[[BR]]
         대부분 프로그래머들은 그들의 프로그램에 관한 특성에 관하여 멍청한 직관력을 가지고 있다. 왜냐하면 프로그램 성능의 특징은 아주 직관적이지 못하다. 결과적으로 남에 눈에는 띄지 않고 말할수 많은 노력이 성능 향상을 위해 프로그램의 관련된 부분에 쏟아 부어 진다. 예를들어서 아마, 계산을 최소화 시키는 알고리즘과 데이터 구조가 프로그램에 적용 되다. 그렇지만 만약에 입출(I/O-bound)력 부분 적용된다면 저것은 허사가 된다. 증가되는 I/O 라이브러리는 아마 컴파일러에 의하여 바뀐 그 코드에 의해 교체될것이다. 그렇지만, 프로그램이 CPU-bound에 대한 사용이라면 또 이건 별로 중요한 포인터(관점)이 되지 않는 것이다.
         저러한 상황에서, 만약 내가 느린 플그램이나 너무 많은 프로그램을 만나면 어떻게 해야하는가? 80-20 규칙은 프로그램의 랜덤 구역의 증가는 돕는데 썩좋지는 않다는 걸 의미한다. 사실, 프로그램은 성능 향상은 비직관적이다. 하지만 당신의 프로그램에서 단순한 랜덤 부분의 증가보다 성능의 병목 지점을 찾는 생각에 노력을 기울이는 것이 더 좋와 보이지는 않은 것이다. 자 그럼 일해 보실까요?
         일을 할 그 부분은 실질적으로 당신의 프로그램의 20%로, 당신에게 고민을 안겨주는 부분이다. 그리고 끔찍한 20%를 찾는 방법은 프로그램 프로파일러(profiler:분석자)를 사용하는 것이다. 그렇지만 어떠한 프로파일러(profiler:분석자)도 못할일이다. 당신은 가장 관심 있는 직접적인 해결책을 내놓는 것을 원한다.예를 들자면 당신의 프로그램이 매우 느리다고 하자, 당신은 프로파일러(profiler:분석자)가 프로그램의 각각 다른 부분에서 얼마나 시간이 소비되는지에 관해서 말해줄껄 원한다. 당신이 만약 그러한 능률 관점으로 중요한 향상을 이룰수 있는 부분에 관해 촛점을 맞추는 방법만 알고 있다면 또한 전체 부분에서 효율성을 증대시키는 부분을 말할수있을 것이다.
         프로파일러(profiler:분석자)는 각각의 구문이 몇번이나 실행되는가 아니면 각각의 함수들이 몇번이나 불리는거 정도를 알려주는 유틸리티이다. 성능(performance)관점에서 당신은 함수가 몇번 분리는가에 관해서는 그리 큰 관심을 두지 않을 것이다. 프로그램의 사용자 수를 세거나, 너무 많은 구문이 수행되어 불평을 받는 라이브러리를 사용하는 클라이언트의 수를 세거나, 혹은 너무 많은 함수들이 불리는 것을 세는 것은 다소 드문 일이기도 하다. 하지만 만약 당신의 소프트웨어가 충분이 빠르다면 아무도 실행되는 구문의 수에 관해 관여치 않는다. 그리고 만약 너무 느리면 반대겠지. (이후 문장이 너무 이상해서 생략, 바보 작성자)
         물론,프로파일러(profiler:분석자)의 장점은 프로세스중 데이터를 잡을수 있다는 점이다. 만약 당신이 당신의 프로그램을 표현되지 않는 입력 값에 대하여 프로파일(감시 정도 의미로)한다고 하면, 프로파일러가 보여준 당신의 소프트웨어의 모습에서 보통의 속도와, 잘 견디는 모습을 보여준다면 - 그부분이 소프트웨어의 80%일꺼다. - 불만있는 구역에는 접근하지 않을 다는 의미가 된다. 프로파일은 오직 당신에게 프로그램의 특별난 부분에 관해서만 이야기 할수 있는걸 기억해라 그래서 만약 당신이 표현되지 않는 입력 데이터 값을 프로파일 한다면 당신은 겉으로 들어나지 않는 값에 대한 프로파일로 돌아가야 할것이다. 그것은 당신이 특별한 쓰임을 위하여 당신의 소프트웨어를 최적화 하는것과 비슷하다. 그리고 이것은 전체를 보는 일반적인 쓰임 아마 부정적인 영양을 줄것이다.
         능률(efficiency)의 관점에서 최고의 계산은 결코 아무것도 수행하지 않는것이다. 말이 좀 이상한가? 생각해 봐라 당신이 어떤 일도 필요없을때 이건 맞는거다. 왜 당신은 당신의 프로그램안에서 가장 처음에 그것을 수행하려 하는가? 그리고 만약 당신이 어떤 일을 수행하기를 원할때 당신은 그 코드의 실행(excuting)을 피할수는 없을까?
         첫번째 operator[]는 문자열을 읽는 부분이다,하지만 두번째 operator[]는 쓰기를 수행하는 기능을 호출하는 부분이다. 여기에서 '''읽기와 쓰기를 구분'''할수 있어야 한다.(distinguish the read all from the write) 왜냐하면 읽기는 refernce-counting 구현 문자열로서 자원(실행시간 역시) 지불 비용이 낮고, 아마 저렇게 스트링의 쓰기는 새로운 복사본을 만들기 위해서 쓰기에 앞서 문자열 값을 조각내어야 하는 작업이 필요할 것이다.
         lazy evaluation에서 다룰 세번째의 주제로, 당신이 많은 필드로 이루어진 큰 객체들을 사용하는 프로그램을 가지고 있다고 상상해 봐라. 그런 객체들은 반드시 프로그램이 실행때 유지되며, 나중에는 데이터 베이스 안에 저장된어진다. 각각의 객체는 각 객체를 알아볼수 있고, 유일성을 보장하는 데이터 베이스로 부터 객체를 불러올때 종류를 알아 볼수 있는, 식별자(identifier)를 가지고 있다.(OODB 인가.) :
         프로그램이 m3이후에 다음과 같은 짓(이건 예제가 열받게해서 이렇게 쓴다.)을 저지른다.
         각 값 간의 의존성과,;데이터 구조의 유지를 위하여, 값들, 의존성이나 두가지의 결합 방법을 저장해야 한다.; 그리고 많은 수치 계산이 필요한 분야에서 복사, 더하기 할당, 같은 operator의 overload 것이 필요하다. 반면에 lazy evaluation의 적용은 프로그램 실행중에서 정말 많은 시간들과 많은 자원들을 아낄수 있다. 그래서 lazy evaluation의 존재를 정당화 시켜 줄것이다.
         이런 네가지의 예제는 lazy evaluation이 다양한 영역에서 활용될수 있음을 시사한다.:필요없는 객체의 복제 피하기, operator[]에 읽기와 쓰기를 구분하기, 데이터 베이스 상에서의 필요없는 자료 읽기를 피하기, 필요없는 수치 계산을 피하기. 그럼에도 불구하고 그것은 정말 훌륭한 생각만은 아니다. 단지 해치워야 할일을 미루어서 처리하는 것이기 때문에 만약에 당신의 부모가 계속 감시를 한다면 당신은 계속 그런 일들을 해주어야 한다. 마찬가지로 프로그램 상에서도 모든 연산들이 필요하다면 lazy evaluation은 어떠한 자원의 절약도 되지 않는다. 거기도 만약 당신의 모든 계산이 반드시 필요한 중요한 것들이라면, lazy evaluation은 아마 처음에 허상 데이터들과 의존 관계같은 것의 처리를 위하여, 실제보다 더 많은 연산을 하게되어 수행 속도를 느리게 할것이다. lazy evaluation은 오직 당신의 소프트웨어 상에서 피할수 있는 계산이 존재할 때만 유용히 쓰일수 있다.
         Item 17에서 가능한한 할일을 뒤로 미루어두는, lazy(게으름)대한 원리를 극찬해 두었다. 그리고 lazy가 당신의 프로그램의 효율성을 증대시킬수 있는 방법에 대하여 설명하였다. 이번 item에서는 반대의 입장을 설명할 생각이다. 여기에는 laziness(게으름)이란 여지는 없다. 여기에서 당신의 소프트웨어가 그것이 요구하는것 보다 더 많은 일을 해서, 성능향성에 도움을 줄수 있는것을 보일것이다. 이번 item의 철학이라고 한다면 '''''over-eager evaluation''''' 이라고 표현할수 있다.:어떤 데이터를 요구하기도 전에 미리 계산해 놓는것.
         이런 일을 행하는데에 가장 간단한 방법은 이미 계산된 값을 저장시켜 놓고, 다시 필요로할때 쓰는거다. 예를들어 당신이 직원들에 관한 정보를 제공하는 프로그램을 만든다고 가정하자, 그리고 당신이 자주 쓰인다고 예상할수 있는 정보중 하나는 직원들의 개인방(사무실 or 침실 or 숙소) 번호 이다. 거기에 직원들의 정보는 데이터 베이스에 저장되어 있다고 가정한다. 하지만 대다수(당신이 작성하는거 말고) 프로그램을 위하여 직원들의 개인방 번호는 잘 쓰이지 않는다. 그래서 데이터 베이스에서 그것을 찾는 방법에 관한 최적화가 되어 있지 않다. 당신은 직원들의 개인방 번호를 반복적으로 요구하는 것에 대한 데이터 베이스가 받는 과도한 스트레스에 어플리케이션단에서 특수한 구조로 만드는 걸 피하려면, findCubicleNumber 함수로서 개인방 번호를 캐시(임시저장) 시켜 놀수 있다. 이미 가지고 있는 개인방 번호에 대하여 연속적으로 불리는 요구는 데이터 베이스에 매번 쿼리(query)를 날리는것보다는 캐쉬를 조사하여 값을 만족 시킬수 있다.
         이번 아이템에서의 나의 충고-caching과 prefetching을 통해서 over-eager의 전략으로 예상되는 값들의 미리 계산 시키는것-은 결코 item 17의 lazy evaluation(늦은 계산)과 반대의 개념이 아니다. lazy evaluation의 기술은 당신이 항상 필요하기 않은 어떠한 결과에대한 연산을 반드시 수행해야만 할때 프로그램의 효율성을 높이기 위한 기술이다. over-eager evaluation은 당신이 거의 항상 하는 계산의 결과 값이 필요할때 프로그램의 효율을 높여 줄것이다. 양쪽 모두다 eager evaluation(즉시 계산)의 run-of-the-mill(실행의 비용) 적용에 비해서 사용이 더 어렵다. 그렇지만 둘다 프로그램 많은 노력으로 적용하면 뚜렷한 성능 샹항을 보일수 있다.
         C++ 내에서의 진짜 temporary객체는 보이지 않는다.-이게 무슨 소리인고 하니, 소스내에서는 보이지 않는다는 소리다. temporary객체들은 non-heap 객체로 만들어 지지만 이름이 붙지를 않는다. (DeleteMe 시간나면 PL책의 내용 보충) 단지 이름 지어지지 않은(unnamed)객체는 보통 두가지 경우중에 하나로 볼수 있는데:묵시적(implicit) 형변환으로 함수호출에서 적용되고, 성공시에 반환되는 객체들. 왜, 그리고 어떻게 이러한 임시 객체(temporary objects)가 생성되고, 파괴되어 지는지 이해하는 것은 이러한 생성과 파괴 과정에서 발생하는 비용이 당신의 프로그램의 성능에 얼마나 성능을 끼칠수 있는가 알아야 하기때문에 중요한 것이다.
         임시객체의 사용을 피하기 위한 operator 함수에 대한 overloading은 특별히 제한되는 것은 없다. 예를들어서 많은 프로그램에서 당신은 string객체가 char*를 수용하기를 바랄것이다. 혹은 그 반대의 경우에도 마찬가지이다. 비슷하게 만약 당신이 complex(Item 35참고)와 같은 수치 계산을 위한 객체를 사용할때 당신은 int와 double같은 타입들이 수치 연산 객체의 어느 곳에서나 유용히 쓰기를 원할 것이다. 결과적으로 string, char*, complex etc 이러한 타입들을 사용하는데 임시 인자의 제거 할려면 모두 overload된 함수가 지원되어야 한다는 것이다.
         아직, 80-20 규칙(Item 16참고)은 마음속에 중요하게 남아있겠지. 만약 당신이 그러ㅎ것들을 프로그램에 이용했을때 눈에띠는 성능 향상을 보이지 않는 좋은 생각을 가지고 있다면, overload된 한수들의 제거에 대한 이야기는 결코 논의의 촛점이 되지 않을 꺼다.
         라이브러리 디자인은 프로그램 제작 과정에서의 중간물이다.(an exercise in compromise) 이상적인 라이브러리는 작아야 하고, 힘있고(powerful), 유연하며, 확장성있고, 명시적이고, 범용적이고, 지원이 좋와야 하고, 사용 자약에 자유로워야 하고, 버그가 없어야 한다. 물론 존재 하지 않는다. 용량이나, 속도에 최적화된 라이브러리들은 보통 이동하기에 어렵다.(portable:다른 하드웨어 간에 이식하기 어렵다 정도의 의미) 풍부한 기능들을 가진 라이브러리는 직관적이지 못하다. 버그가 없는 라이브러리는 일정 부분에 제약이 있다. 실세계에서 우리는 모든것을 만족 시키지는 못한다.;항상 특정한 어떤것을 추구하게 된다.
         속도를 첫번째 초점으로 삼아 보자. iostream과 stdio의 속도를 느낄수 있는 한가지 방법은 각기 두라이브러리를 사용한 어플리케이션의 벤치마크를 해보는 것이다. 자 여기에서 벤치마크에 거짓이 없는 것이 중요하다. 프로그램과 라이브러리 사용에 있어서 만약 당신이 '''일반적인''' 방법으로 사용으로 입력하는 자료(a set of inputs)들을 어렵게 만들지 말아야 하고, 더불이 벤치 마크는 당신과 클라이언트들이 모두 얼마나 '''일반적''' 인가에 대한 신뢰할 방법을 가지고 있지 않다면 이것들은 무용 지물이 된다. 그럼에도 불구하고 벤치 마크는 각기 다른 문제의 접근 방식으로 상반되는 결과를 이끌수 있다. 그래서 벤치마크를 완전히 신뢰하는 것은 멍청한 생각이지만, 이런것들의 완전히 무시하는 것도 멍청한 생각이다.
  • 새싹교실/2012/AClass . . . . 44 matches
          * 코딩과제는 완전한 프로그램으로 써 주시고(에러나지 않도록), 서술하는 문제는 간단하게(1~3줄) 써 주세요.^^
          1. #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
          1. if, else, else if문을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
          1. switch-case문을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
          1. while문을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
          1. 위 프로그램을 do-while문으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
          1. 위 프로그램을 for문으로 바꿔 풀어보세요.
          1. 함수가 무엇인지 쓰고, 예제 프로그램을 하나 만들어 주세요.
          1. 배열을 사용한 간단한 프로그램을 하나 만들어보세요.
          1. 재귀함수를 이용한 프로그램을 하나 짜 보세요.(eg.1~n까지의 합, n!구하기등)
          1. 배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요.
          --> 프로그램의 종료를 위해
          1.0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜 주세요.
          2.소문자를 대문자로 바꾸는 프로그램을 작성해 주세요.
          3.다음 모양을 출력하는 프로그램을 작성해 주세요.
          4.다음 모양을 출력하는 프로그램을 작성해 주세요.
          5.위 두 프로그램을 일반화 시켜 입력받은 숫자만큼 출력해주는 프로그램을 작성해주세요.(위 프로그램은 21을 입력)
          6.위 프로그램처럼 숫자를 순서대로 출력하는 프로그램을 피라미드 형태로 작성해 주세요.
          7.위 프로그램처럼 숫자를 순서대로 출력하는 프로그램을 다이아몬드 형태로 작성해 주세요.
          8.아래 프로그램을 참고하여 60점 이하는 F, 61~70점 D, 71~80 C, 81~90 B, 90~ A인 프로그램을 작성해주세요.
  • CToAssembly . . . . 40 matches
         프로그램을 실행하기위해 필요한 함수들을 모아둔 기본 라이브러리나 사용자가 만든 라이브러리는 사용자 소프트웨어에 포함된다.
         고급언어 변환기, 어셈블러, 편집기, 다른 프로그램을 만드는 작업을 돕는 프로그램들이 시스템 소프트웨어에 속한다. 우리는 이미 프로그래밍에는 기계어, 어셈블리어, 고급언어 세 단계가 있음을 안다.
         기계어 프로그램은 컴퓨터가 이해하고 직접 실행할 수 있는 프로그램이다. 어셈블리어 명령어는 기계어 명령어와 보통 일대일 관계로 대응하지만, 우리가 쉽게 이해할 수 있는 문자열을 사용한다. 고급언어 명령어는 영어에 매우 가까워서 프로그래머가 생각하는 방식과 자연스럽게 대응한다. 결국 어셈블리어나 고급언어 프로그램은 변환기라는 프로그램에 의해 기계어로 변환되야 한다. 이 변환기를 각각 어셈블러(assembler), 컴파일러(compiler) 혹은 인터프리터(interpreter)라고 한다.
         C/C++같은 고급언어의 컴파일러는 고급언어를 어셈블리코드로 변환할 수 있다. GNU C/C++ 컴파일러의 -S 옵션은 프로그램 소스에 해당하는 어셈블리코드를 생성한다. 반복, 함수 호출, 변수 선언과 같은 기본적인 구조가 어셈블리어로 어떻게 대응하는지 알면 C 내부를 이해하기 쉽다. 이 글을 이해하기위해서는 컴퓨터구조와 Intel x86 어셈블리어에 익숙해야 한다.
         먼저 hello world를 출력하는 간단한 C 프로그램을 작성하고, -S 옵션으로 컴파일한다. 입력파일에 대한 어셈블리코드를 얻을 수 있다. GCC는 기본적으로 확장자 `.c'를 `.s'로 변경하여 어셈블러파일명을 짓는다. 어셈블러파일 끝의 몇줄을 해석해보자.
         목록 1은 first.s 파일에 저장한 우리의 첫번째 어셈블리어 프로그램이다.
         프로그램의 첫번째 줄은 주석이다. 어셈블러 지시어 .globl은 심볼 main을 링커가 볼 수 있도록 만든다. 그래야 main을 호출하는 C 시작라이브러리를 프로그램과 같이 링크하므로 중요하다. 이 줄이 없다면 링커는 'undefined reference to symbol main' (심볼 main에 대한 참조가 정의되지않음)을 출력한다 (한번 해봐라). 프로그램은 단순히 레지스터 eax에 값 20을 저장하고 호출자에게 반환한다.
         다음 목록 2 프로그램은 eax에 저장된 값의 계승(factorial)을 계산한다. 결과를 ebx에 저장한다.
         복잡한 프로그램을 만들때 우리는 해결할 문제를 체계적으로 나눈다. 그리고 필요할때마다 호출할 함수를 작성한다. 목록 3은 어셈블리어 프로그램의 함수 호출과 반환을 보여준다.
         일반적으로 함수는 함수가 사용할 변수들을 정의한다. 이 변수들을 유지하려면 공간이 필요하다. 함수 호출시 변수값을 유지하기위해 스택을 사용한다. 프로그램 실행중에 반복되는 재귀호출시(recursive call) activation record가 유지되는 방법을 이해하는 것이 중요하다. esp나 ebp같은 레지스터 사용법과 스택을 다루는 push와 pop같은 명령어 사용법은 함수호출과 반환방식을 이해하는데 중요하다.
         프로그램의 메모리 일부를 스택으로 사용하기위해 비워두었다. Intel 80386 이상의 마이크로프로세서에는 스택 최상위 주소를 저장하는, 스택포인터(stack pointer)라는 esp 레지스터가 있다. 아래 그림 1은 스택에 저장된 세 정수값 49, 30, 72를 보여준다 (정수는 각각 4 바이트를 차지한다). esp 레지스터는 스택 최상위 주소를 저장한다.
         C 프로그램은 수백 수천개의 변수를 다룰 수 있다. C 프로그램에 해당하는 어셈블리코드는 어떻게 변수를 저장하며 변수를 다루기위해 레지스터를 충돌없이 사용하는지 알려준다.
         레지스터 개수가 적기때문에 프로그램의 모든 변수를 레지스터에 담을 수는 없다. 지역변수는 스택에 위치한다. 목록 4가 그 방법을 보여준다.
         함수로 파라미터를 전달하기위해 스택을 사용할 수 있다. 우리는 함수가 eax 레지스터에 저장한 값이 함수의 반환값이라는 (우리가 사용하는 C 컴파일러의) 규칙을 따른다. 함수를 호출하는 프로그램은 스택에 값을 넣어서 함수에게 파라미터를 전달한다. 목록 5는 sqr이라는 간단한 함수로 이를 설명한다.
         목록 6은 C 프로그램과 어셈블리어 함수를 보여준다. 파일 main.c에 C 함수가 있고 sqr.s에 어셈블리어 함수가 있다. cc main.c sqr.s를 입력하여 파일들을 컴파일하고 같이 링크한다.
         이 프로그램은 C 문장 add(10,20)이 다음과 같은 어셈블러코드로 변환됨을 확인하면 명확해진다:
         프로그램이 어셈블리로 수학 알고리즘만을 구현하지 않는다면, 입력을 받고, 출력하고, 종료하는 등 어떤 작업이 필요하다. 이를 위해 운영체제 서비스를 호출해야 한다. 사실 운영체제 서비스를 제외하고는 여러 운영체제간의 어셈블리어 프로그래밍이 매우 비슷하다.
         Libc wrapper는 시스템호출 규칙이 변경되는 경우 프로그램을 보호하고, 커널에 그런 시스템호출이 없는 경우 POSIX 호환 인터페이스를 제공하기위해 만들어졌다. 그러나, 유닉스 커널은 보통 거의 POSIX에 호환한다: 즉 대부분의 libc "시스템콜"의 문법은 실제 커널 시스템호출의 문법과 (반대로도) 정확히 일치한다. 그러나 libc를 버리지않는 이유는 시스템콜 wrapper외에 printf(), malloc() 등 함수도 있기때문이다.
         명령어 cc -g fork.c -static으로 프로그램을 컴파일한다. gdb 도구에서 명령어 disassemble fork를 입력한다. fork에 해당하는 어셈블리코드를 볼 수 있다. -static은 GCC의 정적 링커 옵션이다 (manpage 참고). 다른 시스템호출도 테스트해보고 실제 어떻게 함수가 동작하는지 살펴봐라.
         GNU C는 x86 아키텍쳐를 매우 잘 지원하며, C 프로그램에 어셈블리코드를 삽입할 수 있다. 레지스터 할당은 직접 지시하거나 GCC에 맡겨둘 수 있다. 물론, 어셈블리 명령어는 아키텍쳐마다 다르다.
  • MineFinder . . . . 39 matches
          * 목표 : 윈도우의 지뢰찾기 프로그램과 직접 대화, 지뢰를 스스로 찾아내는 프로그램을 만든다.
          * 윈98, 윈2000 지뢰찾기 프로그램 지원 (현재 2000 은 제대로 지원. 98 쪽 호환성 높이기중)
          * 추후 프로그램이 커질 경우 '눈' 부분과 '지능' 부분을 따로 빼낼 수 있도록 궁리.
          * '눈' 해당 부분 - 지뢰찾기 프로그램으로부터 비트맵을 얻어 데이터로 변환하는 루틴 관련부. 현재 bitmap 1:1 matching 부분이 가장 부하가 많이 걸리는 부분으로 확인됨에 따라, 가장 개선해야 할 부분.
          * 추후 DP 로 확장된다면 StrategyPattern 과 StatePattern 등이 이용될 것 같지만. 이는 추후 ["Refactoring"] 해 나가면서 생각해볼 사항. 프로그램이 좀 더 커지고 ["Refactoring"] 이 이루어진다면 DLL 부분으로 빠져나올 수 있을듯. ('빠져나와야 할 상황이 생길듯' 이 더 정확하지만. -_-a)
          * 지뢰찾기 프로그램의 윈도우 핸들을 얻고 해당 메세지를 보내어서 지뢰찾기 프로그램을 구동하는 루틴 관련 SpikeSolution. (아.. UnitTest 코드 넣기가 애매해서 안넣었다. 궁리해봐야 할 부분같다.)
          * 지뢰찾기 프로그램의 윈도우 핸들을 얻은뒤 DC를 얻은후 화면 캡쳐. 그리고 캡쳐한 비트맵을 근거로 하여 데이터로 변환하는 루틴 관련 SpikeSolution
          * 디자인 부분에서의 TFP의 중요성을 놓친것이 화근이 되었다는. -_-; 추후 알고리즘 부분으로 들어가면서 TFP를 게을리 한 점과 프로그램 돌아간다는 점에서의 즐거움에 시간낭비가 좀 심했다는..~
         습관성으로 여는 프로그램 Best: 1. Explorer 2. 프리셀 3. 지뢰찾기. -_-;
          * 지뢰찾기 프로그램은 윈도우에 기본적으로 내장된 프로그램을 이용한다.
          * 컴퓨터는 현재의 지뢰찾기 프로그램 상황을 알아서 판단하고, 해당 행동을 결정한다.
          * 컴퓨터가 실패했을 경우 자동으로 다시 시작하여, 사용자가 중지시키거나 지뢰를 다 찾을때까지 프로그램을 계속 진행시킨다.
         글쌔. 무엇부터 해 나가야 할 것인가. 일단은 지뢰찾기 프로그램을 제어할 수 있는 프로그램이여야 하고, 지뢰찾기 알고리즘도 필요할테고.. 우어. 정신없다. 일단은 생각나는 것들에 대해 하나하나 잡아봐야겠다.
         지뢰찾기 프로그램의 윈도우클래스 이름이 '지뢰 찾기' 였다. 윈도우 OS 의 특징상 해당 윈도우 핸들간 메세지의 발생에 따라 해당 윈도우프로시저에서 처리가 된다. 해당 윈도우 핸들은 윈도우 클래스 이름을 아는 이상 FindWindow 함수를 이용해서 찾으면 될 것이다.
         손에 대한 모델링이여서 그런지 손에만 집착하게 되었군. -_-; 이 일을 위해서는 손, 눈, 머리가 있어야 하겠는데. 마우스 노가다를 위한 손, 해당 지뢰찾기 상태를 봐야 할 눈, 그리고 해당 상황에 따른 판단, 지시를 해야 할 머리의 모델링. (단, 여기에 각각에 대해 조건을 붙인다면 '지뢰찾기프로그램을 위한' 이라는 말이 붙겠지만.)
         눈에 해당하는 부분은 어떻게 할까.. 하나는 신이 되는 방법이 있고 하나는 사람이 되는 방법이 있다. -_-; 즉, 하나는 직접 지뢰찾기 프로그램의 메모리부분을 얻어낸 뒤, 그중에 배열에 해당되는 부분 (어떤 데이터구조일지는 모르겠지만, 배열일 것 같다. -_-;)을 얻어내서 보던지, 아니면 사람처럼 화면을 봐야 할 것이다. 애석하게도 나는 지뢰찾기의 창조자도 아니고 윈도우의 창조자는 더더욱 아니므로. -_-; 후자를 선택하게 된다.
         원리는 간단하다. 윈도우 핸들을 얻을 수 있다면, 해당 윈도우에 대한 DC를 얻을 수 있을 것이다. DC를 얻을 수 있다면, BitBlt 을 이용, 비트맵을 메모리DC 쪽으로 복사할 수 있을테니까. (간단한 캡쳐 프로그램시 이용할 수 있다.) 단, 화면을 복사하려는 프로그램이 다른 프로그램에 가려지면 안되겠다.
         머리는? 지뢰찾기 알고리즘에 해당되는 부분은. 으흐~ 나중에. -_-; 대강 이쯤 해서 각 부분부분에 대해 맞는지를 알아보기 위한 프로그램을 간단하게 짰다.
          * [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 클래스는 처음 '막 짠' 코드로부터 지뢰찾기 제어부분 함수들을 클래스화한것임)
          * 지뢰찾기 프로그램은 윈도우에 기본적으로 내장된 프로그램을 이용한다.
  • Java Study2003/첫번째과제/노수민 . . . . 35 matches
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
          사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 된다.
          * 자바가상머신은 자바로 작성된 프로그램이 어떤 환경에서든지 작동할 수 있도록 해 준다
          자바가상머신은 위의 같은 구조로 어떤 환경이든지 자바로 만든 프로그램이라면 실행시켜주는데 가상적인 하드웨어에 가깝다.
          === 자바 프로그램의 종류 ===
          * 자바 언어를 이용하여 작성할 수 있는 자바 프로그램의 종류를 살펴보면 다음과 같다.
         JDK와 함께 제공되는 자바 가상머신에 의해 독립적으로 실행될 수 있도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 컴퓨터에서 윈도우의 도스창 또는 유닉스 쉘 등과 같은 쉘에서 자바 가상머신을 이용하여 실행시키는 자바 프로그램입니다. 위에 나오는 그림은 자바 애플리케이션의 실행 과정을 자세히 보여주고 있습니다.
         <APPLET>~</APPLET> 태그를 이용하여 HTML 페이지 내에 포함되어, 자바 호환 웹 브라우저에 의해서 실행되도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 홈 페이지 내에 삽입되어 자바 호환 웹 브라우저에 의해 실행되도록 규약에 맞추어 작성된 자바 프로그램을 말하는 것입니다. 다음에 나오는 그림은 자바 애플릿의 실행 과정을 자세히 보여주고 있습니다.
         기존의 CGI 프로그램과 같이 웹 서버 프로그램의 기능을 확장하기 위한 자바 프로그램으로서, 웹 서버 내에 있는 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되도록 작성된 자바 프로그램입니다. 자바 서블릿은 웹 서버 내에서 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되고, 자바 애플릿은 웹 서버에서 웹 클라이언트로 다운로드 되어 웹 클라이언트에서 자바 호환 웹 브라우저에 내장된 자바 가상머신에 의해 실행된다는 차이점이 있습니다. 이렇게 웹 서버 내에서 실행될 수 있도록 작성된 자바 서블릿은 기존의 웹 서버 내에서 실행되는 프로그램인 CGI 프로그램을 대체할 수 있도록 고안되었습니다. 다음에 나오는 그림은 자바 서블릿의 실행 과정을 자세히 보여주고 있습니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있다.
  • Java Study2003/첫번째과제/곽세환 . . . . 31 matches
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         자바 언어로 작성된 자바 프로그램을 중간언어 형태인 자바 바이트코드로 컴파일하고, 이렇게 생성된 자바 바이트코드를 자바 인터프리터가 해석함으로써, 자바 인터프리터와 런타임 시스템이 이식(porting)된 모든 플랫폼에서 자바 바이트코드를 직접 실행할 수 있습니다.
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위한 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
         JDK와 함께 제공되는 자바 가상머신에 의해 독립적으로 실행될 수 있도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 컴퓨터에서 윈도우의 도스창 또는 유닉스 쉘 등과 같은 쉘에서 자바 가상머신을 이용하여 실행시키는 자바 프로그램입니다. 위에 나오는 그림은 자바 애플리케이션의 실행 과정을 자세히 보여주고 있습니다.
         <APPLET>~</APPLET> 태그를 이용하여 HTML 페이지 내에 포함되어, 자바 호환 웹 브라우저에 의해서 실행되도록 작성된 자바 프로그램입니다. 다시 말해서, 여러분의 홈 페이지 내에 삽입되어 자바 호환 웹 브라우저에 의해 실행되도록 규약에 맞추어 작성된 자바 프로그램을 말하는 것입니다. 다음에 나오는 그림은 자바 애플릿의 실행 과정을 자세히 보여주고 있습니다.
         기존의 CGI 프로그램과 같이 웹 서버 프로그램의 기능을 확장하기 위한 자바 프로그램으로서, 웹 서버 내에 있는 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되도록 작성된 자바 프로그램입니다. 자바 서블릿은 웹 서버 내에서 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되고, 자바 애플릿은 웹 서버에서 웹 클라이언트로 다운로드 되어 웹 클라이언트에서 자바 호환 웹 브라우저에 내장된 자바 가상머신에 의해 실행된다는 차이점이 있습니다. 이렇게 웹 서버 내에서 실행될 수 있도록 작성된 자바 서블릿은 기존의 웹 서버 내에서 실행되는 프로그램인 CGI 프로그램을 대체할 수 있도록 고안되었습니다. 다음에 나오는 그림은 자바 서블릿의 실행 과정을 자세히 보여주고 있습니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
          * "Hello, World!" 출력프로그램
  • 채팅원리 . . . . 30 matches
         = 프로그램 구조 =
         이 채팅프로그램은 다른 여느 채팅 프로그램처럼 서버와 클라이언트 부분으로 나누어져 있다.
         == 서버 프로그램 구조 ==
         UserListControl : 사용자의 접속을 관리한다. 채팅에 접속하려는 사람이 원하는 ID를 기존의 사용자들과 비교하여, 없으면 채팅 접속을 허락하고, 있으면 다른 ID를 사용할 것을 권한다.
         == 클라이언트 프로그램의 구조 ==
         클라이언트쪽에는 4개의 Thread가 있다. JFrame을 사용한 클래스가 2개 있는데, 하나는 Login때 ID사용 허가를 확인한는 프레임이고, 다른 하나는 채팅의 기본 프레임이다. 4개의 Thread는 다음과 같다.
         Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
         ChatMain : 채팅의 주 인터페이스를 관리하는 클래스이다. 이 클래스에서 대부분의 GUI를 관리하고, 채팅메세지보여준다. 또한 채팅에 접속한 사람들의 ID를 보여준다.
         = 채팅의 동작 원리 =
         채팅의 동작원리는 실제로 채팅이 이루어지는 과정을 예로 추적하면서 설명하기로 한다.
         하는 ID와 같은 ID가 있는지 없는지 비교한 후 결과를 클라이언트에 돌려준다. 이미 사용중인 ID이면 다른 ID를 사용할 것을 권하고, 사용가능하다면 채팅을 시작한다.
         클라이언트가 대기실에 입장하면 내부적으로 클라이언트는 서버쪽에 새 사용자가 접속했다는 메시지를 보낸다. 그러면서, Login 프레임대신 ChatMain 프레임을 보이게 한다. 이제부터 대기실에서 채팅이 가능하게 된다. 서버쪽에는 새 사용자가 대기실에 들어왔다는 것을 보여준다.
         새 사용자가 접속을 시도하면 처음과 마찬가지로 사용자 ID 체크를 하게된다. ID 사용 확인을 한 후에 대기실에 접속을한다. 대기실에 접속하면, 기존에 대기실에 있던 사용자들의 사용자 ID를 보여주는 리스트에 새로 들어오는 사용자의 리스트가 추가되면서, 채팅화면에 새로운 사용자가 들어왔다는 메시지가 나오게 된다.
         == 실질적인 채팅 ==
         2명 이상의 사용자가 접속한 상태이므로 실제로 채팅이 가능하게 된다. 채팅의 내용은 클라이언트의 TextField의 내용을
         DagagramPacket에 미리 기억된 서버쪽의 주소와 포트번호를 추가하여 네트워크로 보낸다. 이 메시지를 서버가 받아서 등록된 모든 클라이언트쪽으로 보내 모든 클라이언트가 메시지를 받아 채팅화면에 출력할 수 있게한다.
         == 채팅 종료 ==
         채팅을 종료할 때는 채팅 윈도우의 종료 버튼을 누르면 윈도우 종료 이벤트가 발생한다. 클라이언트는 채팅 종료를 확인하는 옵션 패널을 보여준 후, 서버쪽에 채팅을 종료한다는 내용을 보낸다. 이때 보내는 내용은, 자신이 사용하고 있는 ID를 제거, 자신의 주소를 제거, 사용자 1명의 감소등이다.
  • SmallTalk/강좌FromHitel/소개 . . . . 28 matches
         (application) 프로그램을 만드는데 사용할 수 있다는 것을 알려드리고자 합니
         로그래밍을 하고, 따라서 객체지향 언어로 만들어진 프로그램이 전혀 객체지향
         답지 안은 프로그램이 되고 만 것입니다. 그래서 저는 순수하게 객체지향적인 관
         다. 이제는 '쓸만하다'고 생각되는 프로그램을 둘러보면 그 덩치가 어마어마하게
         비대해져있음을 볼 수 있습니다. 따라서 이러한 프로그램이 얼만큼 빠르게 실행
         되는가도 중요하겠지만, 얼만큼 빨리 이러한 프로그램을 만들 수 있느냐에 대한
         경우 후자를 선택할 것입니다. 일단 빠른 시간 안에 프로그램의 개발을 끝내 놓
         으면, 남는 시간은 프로그램의 수행 속도 향상을 위해 충분히 할예할 수 있기 때
         프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
         <바탕글 1> 200만개의 배열에서 특정 원소를 찾는 Delphi 프로그램
         <바탕글 2> 200만개의 배열에서 특정 원소를 찾는 Smalltalk 프로그램
         다. Smalltalk로 쓸만한 프로그램만들기 위해서는 필요로 하는 기능이 수백개
         력하는 완전한 프로그램을 만들고 그것을 이해하려면 어느 정도의 시간이 필요합
         니다. 그러나 Smalltalk에서 Hello World 프로그램을 만들 수 있다면, 그 다음은
         정말 쉽게 쉽게 넘어갈 수 있습니다. C 언어의 경우, Hello World 프로그램을 만
         는 내용밖에 알 수 없습니다. Smalltalk에서 Hello World 프로그램을 만들고 그
         고 봐야합니다. Visual C++를 가지고 프로그램을 짜려면 적어도 MFC(Microsoft
         분히 구입할 수 있으며, 데이터베이스나 응용 프로그램 배포 등의 기능을 포함한
         습니다. 물론 실제 응용 프로그램을 배포할 때에는 개발 단계에서보다는 훨씬 작
         언어로 만들어진 프로그램들보다는 기억 공간의 소비가 크다는 단점을 가지고 있
  • 프로그래머의길 . . . . 25 matches
         이와 반대로 이상을 선택하는 프로그래머는 그 다음부타 자신과의 싸움이 시적된다. 끈기 바로 이것이다. 흔히 우리는 능력이 탁월한 사람보다는 성실한 사람을 더 높이 평가해중다. 프로그래머 역시 끈기가 없으면, 완성도 높은 프로그램을 만들지 못한다. 자신이 만든 알고리즘이 아무리 탁월하다고 해도 이를 이용한 애플리케이션의 완성도가 높지 않으면, 아무리 탁월하다고 해도 이를 이용한 애플리케이션의 완성도가 높지 않으면, 아무도 알아주지 않는다. 필자는 수많은 디버깅과 요구사항을 수용해 나가면서 자신의 이상을 실현해 나가는 프로그래머를 높이 평가하고 싶다. 그리고 그러한 사람이야말로 발전 가능성이 있으며, 신뢰할 수 있는 프로그램만들기 때문이다.
         초보자 들 중 주위 사람들 보다 좀더 많은 내용을 알고 있다는 자만심을 갖고 있는이들이 특히 그럴 확률이 높다. 이들은 일종의 유틸리티를 이용해 남들이 하지 못하는 기법을 익혀 이를 자랑하면서 우월감에 사로 잡히게 된다. 하지만 그러한 우월감은 그리 오래 가지 않는다. 자신보다 더 뛰어난 전문가를 만나면 '도대체 내가 무엇을 하고 있는가?'하는 반문이 생기기 때문이다. 여기서 이들은 '이해의 벽'을 피부로 느끼며, 컴퓨터를 이용한 새로운 도전을 받아들이게 된다. 물론 이 시점에서 이해의 벽을 뛰어넘지 못하는 이들도 있을 것이다.하지만 프로그신머의 길을 걸어가기를 원하는 이는 자신에게 닥친 상황을 돌파하기 위한 해결책을 찾는다. 이것이 바로프로그램이다. 필자는 이들에게 이렇게 말하고 싶다.
         프로그램은 컴퓨터가 이해할 수 있는 기계어를 사람이 좀더 쉽게 알아볼 수 있도록 만든것에 불과하다 이를 다시 표현하자면, 기계와 언어소통하기 위해 프로그램을 배운다는 것이다. 우리는 외국어를 공부하면서 문화적 이질감으로 인해 단어의 의미를 파악하기 힘들때가 종종 있다. 이는 그 나라의 풍습과 역사를 이해하지 못하기 문이다. 컴퓨터도 마찬가지 이다. 컴퓨터를 이해하지 못하면 프로그램 역시 서투른 번역이 돼버린다. 다시 한번 논하지만, 프로그램을 배우는 과정을 컴퓨터를 이해한다는의미로 받아들이면 좀더 쉽게 중급자의 길로 도약할 수 있을 것이다.
         첫번째 벽인 '''이해의 벽'''을 뛰어넘은 중급자는 그들만의 고유 영역을 갖게 된다. 이것이 바로 코딩이다. 코딩은 그 방법만 알면 쉽게 처리할 수 있다. 방법은 경륜이라 해도 과언이 아니다. 도공은 자신이 만든 도자기를 보며, 완벽하지 않은 것들을 일반인이 이해할 수 없을 정도로 부셔 버린다. 우리는 아무리 보아도 그것 들의 차이점을 알아낼 수가 없다. 하지만 경륜이 많은 도공은 도자기의 빛깔과 형태만 보아도 좋은 도자기인지 아니면 버려야할 도자기인지 알아낸다. 프로그램도 마찬가지이다. 컴퓨터를 이해하고 있는 프로그래머는 실행되고 있는 응용 프로그램만 보다도 어떻게 그것을 만들어 냈는지 알 수 있다 그리고 어떤 어려운 문제가 닥치더라도 해결점을 찾아낸다.
          그렇다면 이 정도의 실력을 갖추기 위해서는 어떻게 해야할까? 아마도 많은 독자들이 궁금해하는 문제일 것이다. 정확한 해답이 있을 수 없는 질문이다. '''영어에 왕도는 없다'''라는 표현을 빌어 '''프로그램에는 왕도가 없다'''라고 표현하는 것이 정답일 것이다. 하지만 왕도는 없지만 방법은 있다. 바로 '''자신이 할 수 있다고 판단하는 것보다 항상 더 많은 일을 만들어 내라는 것이다.''' 의미는 도전 정신이 필요하다는 뜻이다. 예를 들어 자신에게 주어진 일이 10만큼의 크기라면 자신의 목표를 20정도로 세우는것이다. 그러면 10만큼도 하기 벅차다고 느끼던 것이 어느날 목표한 10을 이루고 20으로 다가가고 있는 자신을 발견하게 될것이다. 만약 목표한 10도 이루지 못했다고 해서 실망하지는 말자. 돌이켜 보면 프로젝트가 실패했다고 해서 잃는 것보다는 얻은 것 더 많다는 것을 알게 될것이다. 필자는 중급자의 벽인'창조의 벽'을 해결하기 위해서는 무엇보다도 도전 정신이 필요하다고 주장하고 싶다.
         불교의 경전인 반야심경(般若心經)에 '색즉시공 공즉시색(色卽是空 空卽是色)이라는 용어가 있다. 이를 풀이하면 '얻는다는 것은 공 잃음이요, 잃어버리는 것이 곧 얻음이라'고 말할 수 있다. 필자가 이 깊은 말뜻을 이해하고 있다는 것은 아니다. 그렇다고 종교적 가치관이 뚜렷하다는 것은 더더욱 아니다. 하지만 프로그램을 자성해 오면서 반야심경이 전하는 이 말뜻을 조금이나마 이해하게 됐다는 표현이 적절할 것이다.
          만약 이와 같이 생각한 독자가 있다면 필자가 의도하는 내용을 정확하게 파악한 것이 아니다. 버리라고 표현한 것은 자기 자신이 가지고 있는 생각, 즉 프로그램에 대한 생각을 버리라는 것이다. 우리 인간은 변화에 대한 불안함을 내포하고 있다 특히 나이가 들수록 그 정도는 심화되고, 젊은 사람들의 사고를 이해하기보다는 왜곡됐다고 평하게 된다. 이는 그 사람의 가치관이 고정돼 버렸기 때문에 자신의 사고와 일치하지 않는 다른 모든 행동을 잘못됐다고 생각한다.
          프로그래머들이 가장 쉽게 빠져드는 유혹이 바로 이런 점이다. 자신이 지금까지 프로그램을 해도던 방식이야말로 정석이며, 진리라고 생각한다. 컴퓨터는 하루가 다르게 변하고 있지만 아직까지도 구시대 유물이 전부라고 생각한다. 필자는 단호하게 말하고 싶다.
         그렇다면 어떤 시점에 코드를 버려햐 하는가? 필자는 크게 두 가지 시점에 대해 논하고자 한다. 첫번째 시점은 프로젝트를 진행하고 있는 과정에서 발생한다. 정확하게 표현하면, 새로운 기능의 가능성을 타진해 보는 프로토타입 프로그램을 완성한 시점이 된다. 소프트웨어 공학에서 설계의 중요성을 강조하기 위해 객체지향이라는 패러다임을 만들 만큼 코딩이전의 설계 단계를 강조하고 있다 물론 잘 작성된 프로그램 설계는 프로토타입이라는 중간 프로그램 생성이 필요 없이 설계 명세서에 의한 코딩만 하면 완벽한 응용 프로그램을 개발할 수 있다.
         하지만 필자의 경험에 미뤄보면 이러한 경우는 업무 자동화와 같은 특정한 형식이 있는 응용 프로그램에 적용된다. 만약 프로젝트 설계자가 경험이 없는 응용 프로그램을 만들어야 한다는 가정을 두면 상황은 반전된다. 즉 설계자의 미경험에 의한 시행착오가 발생하는 것이다. 이러한 시행착오를 줄이는 방법이 새로운 기술에 대한 프로토타입의 개발이기는 하지만, 프로토타입으로 끝나야 한다. 하지만 우리의 실정은 아직까지도 프로토타입을 완성된 프로그램으로 생각하고 있는 경향이 지배적인것 같다.
         코드를 버러야 하는 두번째 시점은 완성된 프로그램의 버젼 업그레이드에서 발생한다. 첫번째 경우보다 더 많은 용단을 필요로 하는 시점이기도 하다. 응용 프로그램의 버전업은 이미 만들어진 응용 프로그램에 사용자의 추가 요구사항을 수렴해서 개발한다는 의미와 이전 버전에서 발생된 문제점을 해결한다는 의미를 동시에 가지고 있다. 간혹 사용자의 추가 요구사항이 프로그래머가 상상할 수 없는 경우일 때도 있다. 그 모든 요구사항을 다 수렴해 프로그램을 만들수 는 없기 때문에 프로그래머는 타협점을 찾아 다음버전의 기능을 제한시키게 된다.
  • MoreEffectiveC++/Exception . . . . 24 matches
         일반적으로 C의 개념으로 짜여진 프로그램들은 createWindow and destroyWindow와 같이 관리한다. 그렇지만 이것 역시 destroyWindow(w)에 도달전에 예외 발생시 자원이 세는 경우가 생긴다. 그렇다면 다음과 같이 바꾸어서 해본다.
         자 당신이 멀티미디어 주소록을 만든다고 상상하고, 프로그램을 짜보자 전화번호, 목소리, 사진, 이름 따위가 들어가야 할것이다. 다음 대강의 구현 코드들을 보면
         자 이건 괜찮아 보인다. 하지만 저 logDestruction상에서 예외가 발생한다면 어쩌게 할것인가? 해당 소스는 Session의 파괴자 안에서는 예외를 잡지 못한다. 그래서 해당 파괴자를 호출한 자에게 예외를 던진(전달한)다. 그렇지만 다른 에러들이 던져진 상황에서 파괴자가 스스로 자신을 부른거라면 함수의 종료가 자동으로 이루어지기를 원할 것이다. 그리고 당신의 프로그램은 이쯤에서 머추어 버릴 것이다. -해석이 이상하군, 암튼 다른 예외 처리시에 세션 파괴자 로그시 예외가 발생한다면 프로그램이 멈춘다는 소리다.
         아마 대다수의 사람들이 이런 상태로 빠지는걸 원하지 않을 것이다. Session 객체의 파괴는 기록되지 않을 태니까. 그건 상당히 커다란 문제이다 그러나 그것이 좀더 심한 문제를 유발하는건 프로그램이 더 진할수 없을 때 일것이다. 그래서 Session의 파괴자에서의 예외 전달을 막아야 한다. 방법은 하나 try-catch로 잡아 버리는 것이다.
         이렇게 아무런 처리를 하지 않는다면 logDestuction에서 발생한 예외가 전달되는걸 막고 프로그램 중지를 위하여 스택이 풀려나가는걸 막을수는 있을 것이다.
         자, 먼저 pointer(by pointer)에 관한 전달을 생각해 보자. 이론적으로 이 방법은 throw위치에서 catch구분으로 예외를 특별한 변화 없이 느린 프로그램 수행 상태에서 전달하기에 가장 좋은 방법이다. 그 이유는 포인터의 전달은 해당 예외 객체가 복사되는 일없이 포인터 값만 전달되는 방법만을 취해야 하기 때문이다. 말이 좀 이상한데 예외를 보면서 설명한다.
         이 코드는 깨끗하게 보이지만, 최선책은 아니다. 이런 일을 위해서 프로그래머는 예외 객체를 항상 품고있는 프로그램을 작성해야 할것이다. 간단히 전역(Global) staitc으로 선언하면 된다고 반문하겠지만, 전역의 위험성은 프로그래머가 그걸 쉽게 까먹을수 있다는데 있다. 다음 예제를 보면
         이것도 피해야 할 방법이다. 왜냐하면 ''I-just-caught-a-pointer-to-a-destoyed-object'' 문제 때문이다. 게다가 catch구문에서 직면한 또하나의 문제는 대체 이 포인터를 누가 어디서 지우느냐 이다. 다른 면으로 생각해볼 문제는 예외 객체가 heap상에 배치된다면 지워 지지 않은 예외 객체는 틀임없이 resource leak를 발생 시킬 것이다. 너무 뻔한 이야기 인가. 그리고 프로그램의 행보가 어떻게 될지 예측 할수도 없다. 안그런가?
         unexpected에 관련한 기본적인 행동은 terminate를 호출해서 terminate내에서 abort를 호출로 강제로 프그램을 멈추게 한다. 이 의미는 바로 abort는 프로그램을 종료할때 깨끗이 지우는 과정을 생략하기 때문에 활성화된 스택 프레임내의 지역 변수는 파괴되지 않는다.(즉, 프로그램이 멈추고 디버그시 그 상황에 현재의 자료 값을 조사할수 있다는 의미). 그래서 예외 처리의 명세을 어긴 문제는 상당히 심각한 상황이나, 거의 발생하지 않은 상황이다. 불행히도 그런 심각한 상황을 이르게 하는 함수 작성이 용이하다는게 문제이다. 컴파일러는 오직 예외 명세에 입각한대로 부분적으로 예외 사용에 관한 검사를 한다. 예외가 잡을수 없는것-언어 표준 상에서 거부하는(비록 주의(wanning)일지라도) ''금지하는'' 것- 은 함수를 호출할때 예외 명세에서 벗어나는 함수일것이다.
         당신의 컴파일러가 예외 처리규정에 만족하지 않은 루틴을 가진 함수의 코드를 호출하는데 별 무리없다고, 그러한 호출이 아마 당신의 프로그램에서 프로그램의 중지를 유도하기 때문에 당신은 소프트웨어를 만들때 최대한 그런 만족되지 않은 호출을 최소화 하도록 결과를 유도해야 할것이다. 시작시 가장 좋은 방향은 템플릿상에서의 예외 스펙를 최대한 피하는 것이다. 자 다음의 어떠한 예외도 던지지 않은 템플릿을 생각해 보자.
         만약 위와 같이 하고 bad_exception(표준 라이브러리 상의 exception의 기본 예외 클래스)를 당신의 모든 예외 명세에 포함시키면 당신은 결코 당신ㄴ의 프로그램이 불시에 멈추어 버리는것에 대한 걱정을 할 요는 없을 것이다. 거기다가 규정에 맞지않는 예외들도 bad_exception으로 교체되고 예외는 기본 예외 대신에 다시 던저 퍼진다.(propagate)
         이제 당신은 예외 명세가 많은 문제를 가지고 있을수 있음을 이해 할것이다. 컴파일러는 그들의 부분적인 쓰임새를 검사해서 템플릿에서 문제를 발생할 소지를 않으며, 컴파일러는 의외로 규칙위반을 하기 쉽고, 컴파일러가 제대로 되지 않으면 프로그램을 불시에 멈추어 지도록 유도할것이다. 예외 명세 역시 또다른 문제를 안고 있는데, 예외명세는 높은 수준의 호출자가 예외 발생을 대비할때도 unexpected로의 결과물을 만들어 낸다.
         Session의 파괴자는 logDestruction을 호출한다. 하지만 명시작은 어떠한 예외도 해당 logDestruction에서 던지지 못하도록 막아놓았다. 한번 logDestuction이 실패할때 불리는 함수들에 대하여 생각해 보자. 이것은 아마 일어나지 않을 것이다. 우리가 생각한대로이건 상당히 예외 명세의 규정 위반으로 인도하는 코드이다. 이런 예측할수 없는 예외가 logDestruction으로 부터 퍼질때 unexpected가 풀릴 것이다. 기본적으로 그것은 프로그램을 멈춘다. 이 예제는 그것의 수정 버전이지만, 그런 수행을 Session 파괴자의 제작자가 원할까? 작성자는 ''모든 가능한 예외'' 를 잡으려고 노력한다. 그래서 그건 Session 파괴자의 catch블럭에서수행되는 것이 다다면 그건 불공평한 처사라고 보인다. 만약 logDestruction이 아무런 예외 명세를 하지 않는다면, ''I'm-willing-to-catch-it-if-you'll-just-give-me-a-chance'' 시나리오는 결코 일어나지 않을것이다. (이런 문제의 예방으로 unexpected의 교체에 대한 설명을 위해 언급해 두었다.)
         예외 명세의 균형있는 시각은 중요한것이다. 그것은 예외 발생을 예상하는 함수들의 예외 종류들을 보면 훌륭한 문서화가 될것이고, 잘못된 예외 명세의 상황하의 프로그램은 기본적으로 주어지는 상태 즉, 즉시 멈추는 것을 정당화할 만큼 잘못된 일이다. 같은 시각으로 예외는 컴파일러에 의하여 오직 부분적인 점검만을 당하고 예외는 의도하지 않은 잘못을 양산하기 쉬울것이다. 게다가 예외는 unexpected 예외에서 발생하는 높은 레벨의 예외 잡는 문제에 대하여 예방할수 있다.
         '''자 그럼 전혀 예외 핸들링을 하지 않았을때의 지불 비용을 생각해 보자,''' 당신은 객체들이 적재되고, 유지되는 트랙이 필요한 데이터 구조의 사용을 위해 공간에 대한 비용 지불을 한다. 그리고 당신은 이런 데이터 구조들을 갱신하고 유지하는데 필요한 시간에 대한 비용을 지불한다. 이런 비용들은 일반적으로 정당한 요구이다. 반면에 프로그램이 예외를 위한 지원이 없이 컴파일 된다면 예외 지원을 하고 컴파일 하는 반대의 경우보다 좀더 빠르고, 좀더 작은 용량을 차지한다.
         프로그램은 일반적으로 독립적으로 object 파일들이 생성되어 지고, 단지 하나의 작성되어 만들어진 object파일에서 예외 처리가 없다면 다른 것들상의 예외 처리가 아무런 의미가 없기때문에, 당신이 예외처리코드를 사용하지 않는다면, 당신은 컴파일러 제작사들이 이런 예외들을 지원시 일어나는 비용을 없앨 것이라고 예상한다. 게다가 object파일이 예외를 빼기위해 아무런 상호간의 링크가 되지 않는다면 예외 처리가 들어간 라이브러리와의 링크는 어떨까? 즉, 프로그램의 어떤 부분이라도 예외를 사용한다면 나머지 프로그램의 부분들도 예외를 지원해야 한다. 이런 부분적 예외 처리 상황은 실행시간에 정확한 예외를 잡는 수행이 불가능 하게 만들것이다.
         물론 저것은 이론이다. 실질적으로 예외 지원 밴더들은 당신이 예외 작성을 위한 코드의 첨가를 당신이 예외를 지원하느냐 마느냐에 따라 조정할수 있도록 만들어 놓았다.(작성자주:즉 예외 관련 처리의 on, off가 가능하다.) 만약 당신이 당신의 프로그램의 어떠한 영역과, 연계되는 모든 라이브러리에서 try, throw, catch를 빼고 예외 지원 사항을 빼고 당신 스스로 속도, 크기 같은 예외처리시 발생하는 단점을 제거할수 있을 것이다. 시감이 지나 감에 따라 라이브러리에 차용되는 예외의 처리는 점점 늘어나게 되고, 예외를 제거하는 프로그래밍은 갈수록 내구성이 약해 질것이다. 하지만, 예외처리를 배제한 컴파일을 지원하는 현재의 C++ 소프트웨어 개발상의 상태는 확실히 예외처리 보다 성능에서 우위를 점한다. 그리고 그것은 또한 예외 전달(propagate) 처리와, 예외를 생각하지 않은 라이브러리들의 사용에 무리없는 선택이 될것이다.
         ''' 두번째로 try 블록으로부터의 예외를 잡는(exception-handling)에 대한 비용을 생각해 보자''' 이것은 당신이 catch로 예외 하나를 잡기를 원할때 마다 요구되는 비용이다. 각기 다른 컴파일러들은 서로 다른 방식으로 try블록의 적용을 한다. 그래서 해당 비용은 각 컴파일러마다 다르다. 그냥 대충 어림잡아서 예상하면, 만약 try블록을 쓰게되면, 당신의 전체적인 코드 사이즈는 5-10%가 늘어나고, 당신의 실행 시간 역시 비슷한 수준으로 늘어난다. 이제 아무런 예외를 던지지 않는다고 생각하자;우리가 여기에서 토론하고 있는것은 단지 당신의 프로그램내에서 try가 가지는 비용만이 아니다. 이런 비용의 최소화를 위해서 아마 당신은 필요하지 않는 try블럭은 피해야만 할것이다.
         문제의 초점은 예외가 던지는 비용이다. 사실 예외는 희귀한 것이라 보기 때문에 그렇게 크게 감안할 내용이 아니다. 그들이 ''예외적인''(exceptional) 문제의(event) 발생을 지칭함에도 불구하고 말이다. 80-20 규칙은(Item 16에서 언급) 우리에게 그런 이벤트들은 거의 프로그램의 부과되는 성능에 커다란 영향을 미치지 않을 것이라고 말한다. 그럼에도 불구하고, 나는 당신이 이 문제에 관하여 예외를 던지고, 받는 비용에 관한 대답에서 얼마나 클까를 궁금할것이라고 생각한다. 대강 일반적인 함수의 반환에서 예외를 던진다면 대충 '''세개의 명령어 정도 더 느려지는'''(three order of magnitude) 것이라고 가정할수 있다. 하지만 당신은 그것만이 아닐것이라고 이야기 할것이다. 반대로 당신이 이런 논쟁을 데이터 구조나 루프의 순회 구조를 효율적으로 만드는데 신경을 쓴다면 더 좋은 시간을 보내는 것이라고 생각한다.
  • MoreEffectiveC++/Miscellany . . . . 22 matches
          * Item 32: 미래를 대비하는 프로그램
         좋은 소프트웨어는 변화를 잘 수용한다. 새로운 기능을 수용하고, 새로운 플랫폼에 잘 적용되고, 새로운 요구를 잘 받아 들이며, 새로운 입력을 잘 잡는다. 이런 소프트웨어는 유연하고, 강하고, 신뢰성있고, 돌발 상황(사고)에 의해 죽지 않는다. 이런 소프트웨어는 미래에 필요한 요소를 예상하고, 오늘날 구현시에 포함시키는 프로그래머들에 의해서 디자인된다. 이러한 종류의 소프트웨어는-우아하게 변화하는 소프트웨어- ''program in the future tens''(매래의 프로그램:이하 영문 직접 사용)을 감안하는 사람들이 작성한다.
         이런 좋은 소프트웨어를 만들기 위한 방법으로, 주석이나, 기타 다른 문서 대신에 C++ 내부에 디자인으로 구속해 버리는 것이다. 예를들자면 '''만약 클래스가 결코 다른 클래스로 유도되지를 원치 않을때''', 단시 주석을 헤더 파일에 넣는 것이 아니라, 유도를 방지하기 위하여 C++의 문법을 이용한 기술로 구속 시킨다.;이에 대한 방법은 '''Item 26'''에 언급되었다. 만약 클래스가 '''모든 인스턴스를 Heap영역에 생성시키고자 할때''', 클라이언트에게 말(문서)로 전달하는 것이 아니라. '''Item 27'''과 같은 접근으로 제한 시켜 버릴 수 있다. 만약 클래스에 대하여 복사와 할당을 막을려고 할때는, 복사 생성자와 할당(assignment) 연산자를 사역(private)으로 만들어 버려라. C++은 훌륭한 힘과, 유연성, 표현성을 제공한다. 이러한 언어의 특징들을 당신의 프로그래밍에서 디자인의 정책을 위해서 사용하라.
         이식성 있는 코드를 만들어라. 이식성 있는 프로그램의 제작은 그렇지 않은 경우보다 매우 어려운게 아니다. 그리고 눈에 보일 만큼 성능면에서 이식성 없는 코드를 고집해야 하는 경우는 희귀하다.(Item 16참고) 특정한 하드웨어를 위한 프로그램의 디자인에서도, 얼마 안있어 하드웨어 성능이 동일한 수준의 성능을 가져다 주므로, 이식성 있도록 만들어라. 이식성 있는 코드의 작성은 플랫폼 간의 변환에 쉽고, 당신의 클라라이언트 기반을 공고히 하고, 오픈 시스템의 지원에 관하여 좋다. 만약, 한 OS에서 성능이 실패해도, 쉽게 복구할수 있다.
         물론, 필요하다면 현재 감안하는 생각으로 접근한다. 당신이 개발중인 소프트웨어는 현재의 컴파일러에서 동작해야만 한다.;당신은 최신의 언어가 해당 기능을 구현할때까지 기다리지 못한다. 당신의 현재 가지고 있는 언어에서 동작해야 하고. 그래서 당신의 클라이언트에서 사용 가능해야 한다.;당신의 고객에게 그들의 시스템을 업그레이드 하거나, 수행 환경을(operating environment) 바꾸게 하지는 못할것이다. 그건은 '''지금''' 수행함을 보증해야 한다.;좀더 작은, 좀더 빠른 프로그램에 대한 약속은 라이프 사이클을 줄이고, 고객에게 기대감을 부풀릴 것이다. 그리고 당신이 만드는 프로그램은 '''곧''' 작동해야만 한다. 이는 종종 "최신의 과거"를 만들어 버린다. 이는 중요한 속박이다. 당신은 이를 무시할수 없다.
         미래를 생각하는 것은 당신의 코드에 대한 재 사용성을 늘리고, 유지보수를 쉽게하며, 소프트웨어를 견고하게 만든다. 그리고 변화하는 환경에 우아하게 대처할 것이 확실하다. 미래에 대한 대처는 반드시 현재의 생각과 균형을 이루어야만 한다. 많은 프로그래머들이 현재 이외에는 생각을 하지 않는다. 하지만, 그래서 그들은 구현과 디자인에 긴 시각을 포기해야 한다. 다르게 하여라. 거부해라. 미래를 생각하는 프로그램을 만들어라.
         모든 일에 대하여 AbstractTnimal은 반드시 추상적이어야 하나? 그것은 반드시 최소 하나의 순수 가상 함수를 가지고 있어야 한다. 대부분의 경우에 알맞는 함수를 고르기에는 별 문제가 없다. 그렇지만 희귀한 경우에 당신은 아마 AbstractAnimal 같은 클래스를 만들어야 하는 상황에 직면할지도 모른다. 그러한 경우에, 적당한 방법은 순수 가상 함수로 파괴자를 만들어 버리는 것이다.;위에서 보는것과 같이 말이다.포인터를 통한 다형성을 지원하기 위하여 기본 클래스는 가상 파괴자를 어떤 방법으로든 필요로 한다. 그래서 순수 가상함수를 만들기 위한 비용만이 해당 클래스 정의부 바깥에서 이루어질 구현에서 지불된다. (에를들어서 p195를 보아라)
          * Item 34: 같은 프로그램에서 C++와 C를 혼합하는 법 이해해라.
         많은 면에서, C++와 C에서 컴포넌트를 만들때, 네가 하는 걱정은 C 컴파일러가 오브젝트 파일을 서투르게 처리 할때의 걱정과 같다. 다른 컴파일러들이 구현에 의존적인 요소들에 대하여 동일하지 않으면, 그런 파일들을 혼합해서 쓸 방법이 없다. (구현 의존 요소:int, double의 크기, 인자를 넘기고 받는 방법, 호출자와 호출간에 통신 ) 이러한 개발 환경에서 컴파일러들을 섞어서 사용하는 것에(mixed-compiler) 관한 실질적은 관점은 언어의 표준에 대한 노력에 의해서 아마 완전히 무시 된다. 그래서 컴파일러 A와 컴파일러 B의 오브젝트 파일을 안전하게 섞어서 쓸수 있는 신뢰성 있는 유일한 방법은, 컴파일러 A,B의 벤더들이 그들의 알맞는 output에 대한 product의 정보를 확실히 아는 것이다. 이것은 C++와 C를 이용하는 프로그램, 그런 모든 프로그램에 대하여 사실이다. 그래서 당신이 C++과 C를 같은 프로그램에서 섞어서 쓰기 전에는 C++와 C컴파일러가 알맞는 오브젝트 파일을 만들어 내야만 한다.
         당신도 알다 시피, name mangling(이름 조정:이후 name mangling로 씀) 당신의 C++ 컴파일러가 당신의 프로그램상에서 각 함수에 유일한 이름을 부여하는 작업이다. C에서 이러한 작업은 필요가 없었다. 왜냐하면, 당신은 함수 이름을 오버로드(overload)할수가 없었기 때문이다. 그렇지만 C++ 프로그래머들은 최소한 몇개 함수에 같은 이름을 쓴다.(예를들어서, iostream 라이브러리를 생각해보자. 여기에는 몇가지 버전이나 operator<< 와 operator>>가 있다. ) 오버로딩(overloading)은 대부분의 링커들에게 불편한 존재이다. 왜냐하면 링커들은 일반적으로 같은 이름으로 된 다양한 함수들에 대하여 어두운 시각을 가진다. name magling은 링커들의 진실성의 승인이다.;특별히 링커들이 보통 모든 함수 이름에 대하여 유일하다는 사실에 대하여
         그렇지만 만약 drawLine가 C함수라면, drawLine 함수를 호출할때 drawLine으로 포함하는 컴파일러된 버전으로 오브젝트( 혹은 동적 링크 라이브러리 등) 파일에 포함되어 있다.;name mangle이 되지 않은 체로 되어 있다. 당신이 이 둘을 모두 섞어서 프로그램 하려고 노력하면, 에러가 날것이다. 왜냐하면 링커는 xyzzy의 호출되는 함수를 찾고, 그에 관한 함수가 없기 때문이다.
         일단 name mangle에 관한 내용을 익혔다면, C++코드에서 main 이전과 이후에 많은 코드들이 수행된다는 사실에 관해서 생각해볼 필요가 있다. 특별히, 전역 이름 공간, 파일 영역상의 정적(static) 클래스 객체는 보통 main 보다 먼저 실행된다. 이 과정이 ''static initialization'' 이라고 알려져 있다. 이는 프로그램의 실행시점 간에 C와 C++ 프로그램에 대한 방법으로 완전히 다른 방향을 취한다. 비슷하게, static initialization으로 만들어진 객체는 반드시 그들의 파괴자를 static destruct 동안에 불러주어야 한다.;그러한 과정은 일반적으로 main 이후에 진행된다.
         때때로 C에 main 작성이 더 가치 있다고 보인다. - 대다수 프로그램이 C이고, C++이 단지 라이브러리 지원 이라면 이라고 말해라. 그렇기는 하지만, C++ 라이브러리는 정적(static) 객체(object)를 포함하는 것이 좋다.(좋은 기능이 많다는 의미) (만약 지금 없다해도 미래에 어쩌면 있을지 모르지 않는가? Item 32참고) 그래서 가능하다면 C++에서 main을 작성은 좋은 생각이다. 그것은 당신의 C코드를 제작성 하는것을 의미하지는 않는다. 단지 C에서 쓴 main을 realMain으로 이름만 바꾸고, main의 C++버전에서는 realMain을 호출한다.:
         우리는 C++와 C프로그램 사이에 데이터 교환에 관해서 다룬다. C++의 개념을 이해하는 C 함수를 만드는것 불가능 하다. 그래서 이 두 언어간의 전달의 수준은 C가 표현할수 있는 개념으로 한정된다. 그래서 객체의 전달 방식이나, 포인터를 C 에서 작성된 루틴의 멤버 함수로 전달하는 방법은 이식성이 떨어질것은 분명하다. C는 일반적인 포인터 이해한다. 그래서 당신의 C++와 C컴파일러가 만들어 내는, 두가지의 언어에서 알맞는 함수는 pointer와 객체를 pointer와 non-member 나 static 함수를 안전하게 교체할수 있다.자연 스럽게, 구조체와 built-in형의 변수들 역시 자유로이 C+++/C의 경계를 넘나든다.
         만약 당신이 C++와 C를 같은 프로그램에서 섞어서 쓰기를 원한다면, 간단한 가이드 라인을을 따를것을 기억하라.
         post-ARM 은 C++로 좋은 프로그램을 작성 할수 있느냐에 큰 영향을 준다. 결과적으로 C++ 프로그래머들에게 ARM의 내용과 다른 표준 사항을 아는 것은 프로그래머들에게 첫번째로 중요한 문제가 될것이다.
          * '''지역화(localization)에 대한 지원'''. 다른 문화에서는 다른 글자를 써야하고, 화면에 표현되는 날짜, 시간, 문자열 정렬, 돈을 세는 단위 etc 그 문화의 편의에 따라야 한다. 표준 라이브러리에 의한 지역화(localization)은 각 문화적 차이에 적합하도록 프로그램의 개발을 한다.
  • HolubOnPatterns/밑줄긋기 . . . . 21 matches
          * 패턴은 이와 같이 일반적인 해결 방법이기 때문에 한 프로그램에서 다른 프로그램으로 디자인패턴을 복사해 붙여넣는 것은 거의 불가능하다.
          * 요구 기능을 구현하는게 어렵다며 맘대로 다른거 붙이는 사람도있음.. 예를들면 파일을 삭제할때 복구기능을 만들기 싫어서 확인 다이얼로그를 띄우지.. - [서지혜]
          * 프로그래머는 지금 앞으로 어떻게 될지 모를 기능을 추가하는 것이 아니라 새로운 기능을 추가하거나 기존의 것을 수정하기 쉽도록 프로그램을 작성해야 하는 것이다.
          * 프로그래밍 프로세스는 디자인에서 시작하며 상속, 캡슐화, 디자인 패턴 등을 이용하고 디자은의 실체인 컴퓨터 프로그램을 내놓는다.
          * 사실 많은 절차 지향적 프로그램은 사용자 인터페이스를 통해 데이터베이스 테이블을 보여주는 역할을 할 뿐이다.
          * 절차 지향 시스템에서는 변화가 프로그램의 나머지에 '퍼져나가는'경향이 있다.
          * 자바가 객체지향 프로그램을 줄거라 생각하지마!! - [서지혜]
          * OO는 컴퓨터 프로그램에 내재하는 피할 수 없는 복잡성을 조직화 하는 것이지, 복잡성 자체를 제거하는 것이 아니다.
          * 셀룰러 오토마타(Cellular automata)의 프로그램 구현은 OO 시스템의 훌륭한 예가 된다. 셀룰러 오토마타 프로그램은 복잡한 문제를 정확히 객체 지향적인 방식으로 해결한다.
          * 좋은 클래스는 getter와 setter메소드를 갖지 않는데, 이런 메소드는 구현 상세를 노출시키기 때문에 결과적으로 유지 보수를 어렵게 만들기 때문이다. 예를 들어 getter 메소드의 리턴 타입이 바뀌게 되면 getter를 정의하는 객체뿐 아니라 'getter'를 호출하는 모든 코드 또한 바꾸어 주어야 한다. 잠시 후에 getter와 setter 메소드 없이 시스템을 디자인하는 방법에 대해 설명할 것이다. 기대해도 좋다.
          * 코드가 올바른 방식으로 구조화되지 않았기 때문에 유지 보수가 필요 이상으로 어렵다는 것이다. 이런 경우 리팩토링이 아닌 프로그램의 재디자인이 필요하다.
          * 어떤 사람들은 이러한 방식으로 CRC카드를 이용해 실제 프로그램까지도 디자인하지만 이 방식은 복잡한 대규모 프로그램까지 수용할 정도로 효율적이지는 않다. 대부분의 프로그래머는 정식 프로세스를 사용하여 UML로 동적 모델과 정적 모델을 개발한다.
          * 다형성이란 개념은 OO의 고유한 특성이며, 다형성을 사용하지 않는 프로그램은 객체 지향적이지 않다는 주장은 설득력있다.
          * 애자일 병행 개발의 중심에는 유연성이란 개념이 있다. 새로 추가된 요구 사항을 쉽게 반영할 수 있는 코드를 만든다는 것이다. 또한 아마도 필요할지도 모르는 기능을 구현하기보다는 꼭 필요한 기능을 구현하되, 프로그램은 변화를 수용할 수 있어야 한다.
          * 프로그램을 정상적으로 동작하게 할 수 있는 꼼수를 발견했다면 뭐 그런대로 괜찮다. 하지만 내 주장의 핵심은 '''애초에 상속으로 인한 문제가 발생하지 않도록 했어야 한다는 것이다.'''
          * 형진이가 지도해준 동적 모델링으로 우리가 하고있던 DB와 임상이 하는 SE를 모델링했을때는 참 재밌었지. 확실히. 내가 짠 프로그램보단 복잡도가 낮아보였어. 부럽. - [김준석]
          * 하드 코딩을 통해 어떤 객체를 생성할지를 결정하게 되면 프로그램이 실행되고 잇는 도중에는 행위를 바꾸지 못한다.
          * 10개의 디자인 패턴을 실제 프로젝트에서 사용하는 것처럼 함께 사용해 볼것이다. 다행히 프로그램이 이해하지 못할 정도로 거대하지는 않다. 클래스와 인터페이스를 모두 합쳐 20개 밖에 되지 않는다.
  • MFC/DynamicLinkLibrary . . . . 17 matches
         기존의 C/C++ 프로그래에서는 라이브러리를 LIB라는 확장자를 가진 형태로 제공하여 코드를 컴파일한후 링커가 프로그램에 필요한 부분을 라이브러리 파일에서 추출해서 만들어진 프로그램에 붙여넣는 방식으로 만들어졌다. 이런 구조가 윈도우 프로그램으로 오면서, 바뀌어야했는데..
         종전의 방식처럼 정적으로 링크를 하게되면 윈도우 프로그램의 특성상 굉장히 메모리를 많이 차지하는 프로그램이 동시에 실행이 되면서 쓸데없이 동일한 코드영역이 중복적으로 메모리 공간안에 차지하게 되는 현상이 발생하였다. 여기서 착안하여 생겨난 것이 DLL이다. 이는 실제 프로그램의 수행부분을 한개로 두고서 여러개의 프로그램에서 그 부분을 공유하여 사용하는 것이다.
         Library.DLL을 3개의 프로그램 A,B,C가 동시에 공유한다고 하면 각각의 프로그램이 실행될때마다 각 프로그램에서는 DLL파일의 함수로의 링크가 일어난다. 이런 과정은 윈도우 운영체제에 의해서 자동으로 이루어지고, 한개의 프로그램이라도 실행이 종료되지 않으면 윈도우는 DLL을 메모리에서 제거하지 않고 남겨준다.
          프로그램과 DLL이 메모리 안으로 로드되자마자 사용되는 함수들에 대한 링크가 성립된다.
          프로그램이 먼저실행되데 DLL은 프로그램의 요청이 발생한 시점에서 메모리에 로드된다. 그때가 되서야 프로그램은 DLL로부터 함수의 어드레스를 얻고 그것을 사용해서 함수를 호출한다.
          프로그램에서 필요한 메모리의 양을 최대한 줄이는 것이 가능하다.
         runtime dynmaic linking 의 중요한 점은, 런타임 상에서 해당 모듈을 교체할 수 있다는 점이다. winamp 의 나 KMP 등와 같은 플러그인을 제공해주는 프로그램의 경우 대부분 이러한 runtime-dynamic linking 방법을 이용한다.
  • SmallTalk/강좌FromHitel/강의2 . . . . 17 matches
          1.1. 프로그램과 프로그래밍 언어
          1.3. Smalltalk 맛보기 프로그램
          Smalltalk를 사용하여 프로그램을 짜기 위해서는 우선 여러분의 시스템에
          이름을 지원하는 압축 프로그램을 사용하여 압축을 푸십시오.
          4. 다른 응용 프로그램을 설치할 때처럼 그냥 <Next> 단추를 누르면
          든지 Dolphin Smalltalk를 제어판의 "프로그램 추가/삭제"를 통해서 제거할
          Dolphin Smalltalk를 시작하기 위해서는 "시작 → 프로그램 → Dolphin
          절차를 거치지 않았기 때문에 프로그램의 실행 결과를 저장할 수 없다는 것
          1.3. Smalltalk 맛보기 프로그램
          이 문장들에는 여러분이 Smalltalk 프로그램을 실행하는데 익숙해지도록, 그
          프로그램들이 실려 있습니다. 이제 여기서는 이 창에 들어 있는 Smalltalk
          프로그램을 실행하고 그 결과를 알아보는 방법을 알아봄으로써, Smalltalk
          Smalltalk 시스템에 명령을 내리거나, 이미 만들어진 프로그램의 결과를 확
          글 1>은 간단한 디지털 시계를 만들어서 화면에 보이는 프로그램이었습니다.
          <바탕글 2> 복권 추첨 프로그램
          Smalltalk에서 응용 프로그램을 만드는 "MVP 짜임새"의 예를 보여주는 것입
          창에 대해서도 나중에 상세하게 다루겠지만, 여기서는 단지 프로그램이 어떤
  • 새싹교실/2012/세싹 . . . . 16 matches
          3) Virtualbox실행 -> 새로 만들기 -> 운영체제 : Linux 버전 : Ubuntu -> 메모리1024MB로 설정하고 나머지 디폴트 설치
          2) 원하는 경로에 빈 문서 만들기 (확장자는 .c로 해주세요)
          1) 자기 페이지 만들기 - 로그인후 자신의 이름으로 검색하여 페이지를 작성하시면 됩니다. 기본적인 프로필과 하고싶은말을 적어주세요.
          3) 하지만 우리가 이 모든것을 반드시 알아야 통신 프로그램을 할 수 있는것은 아닙니다.
          네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. - wikipedia
          * 오피에서 숙제를 했습니다. VS로 하려니까 뭔가 막 오류가 나는데 고치지는 못하겠고 그래서 우분투를 깔아서 시도를 했네요. 용어가 익숙하지 않아서 그런지 함수 설명을 봐도 한번에 와닿지 않아서 힘들었습니다. 아 그리고 숙제를 하다가 생긴 문제인데요. 서버 프로그램을 처음 실행했을 때는 괜찮은데 두 번째로 실행했을 때는 Bind에러가 나네요. 그래서 매번 실행할 때마다 포트값을 수정해야했습니다. 왜 이런 문제가 생긴걸까요? - [권영기]
          * [권영기] 학생이 맞닥트린 bind 오류는, 해당 포트에 내가 가서 눌러앉으려고(bind하려고) 가 보니까 다른 놈이 이미 차지하고 있어서 bind하지 못했다는 오류입니다. 프로그램에서 bind한 후 다 쓰고 나서 bind를 해제하지 않으면 이런 일이 발생합니다. bind 해제 코드를 꼭 넣도록 하세요. - [황현]
          * 동시 채팅 완성 20명까지 된다구!. 그리고 과제는 토요일 저녁 상태 그대로... 으으아아악 운지! - [김희성]
          * 채팅은 그냥 해본거긴한데 여러개의 클라이언트와 동시 접속하는 서버랑, 여러개의 서버에 접속하는 클라이언트는 숙제 아니였나요? - [김희성]
          잠깐 소개했던 thread프로그래밍을 김희성 학생이 thread로 소켓을 짜는 것인줄 알고 채팅 프로그래밍을 완성시켰네요. 강사 멘붕
          * socket과 thread를 이용하여 메시지를 주고 받을 수 있는 채팅 프로그램을 작성하시오.
          * [김희성/리눅스계정멀티채팅] 완료. 채널 추가는 다음에... - [김희성]
          * 채팅 코드를 보기 좋게 수정해봅시다. 힌트 - cpp 분할, 함수화
          요즘 갑자기 과제가 늘어서 채팅 프로그램에 손을 대지 못했습니다. 시간을 현명하게 써야할 것 같습니다. - [권영기]
  • MFCStudy_2001/진행상황 . . . . 15 matches
          * 모든 프로그램의 접수처는 neocoin@orgio.net 입니다. 링크 시키란 의미가 아닙니다.
          * 1월 9일자 진행 프로그램: [http://zeropage.org/pds/Alcanoid1_혜영.exe 혜영] [http://zp.cse.cau.ac.kr/~nuburizzang/Arca.exe 인수] [http://zeropage.org/pds/arkanoid_선호.exe 선호] [http://zeropage.org/pds/omok_상협.exe 상협] (창섭이는 부탁으로 제외하고 다음 이시간에)
          * 2002. 1. 7 월요일 1시 정모에 회원 모임 (모두 참석) 제출 프로그램:
          * 2002. 1. 22 프로그램 진행 상황의 체크 종료. 진행상황 점검과, 체크사항, 프로그램에 대한 의견 교환
          * 개인들에 관한 최종 정리 : 이번주 2월 3일까지 프로그램을 주세요. 최종 정리는 4~6일 사이에 이루어 집니다.
          * 2002. 2.14 최종 정리 종료: 마지막으로 끝낸 프로그램을 결과물 페이지에 올렸습니다.
          * 진행상황 체크는 하지 않지만 마지막 각자의 산출물을 30일에 링크 걸고 이 위키 페이지 최종 정리에 들어 갈것입니다. 30일 이후에 프로그램을 받겠습니다.
          * 삽질중 : GetDC()만 쓰면 프로그램이 뻗어 버린다. 왜 그럴까..
          * 느낀 점 : 역시 난 아직 걸음마를 익힌 단계에 불과한 넘이다. 이런 허접한걸 프로그램이라고 만들어 놓고 좋아하다니..--; 앞으로 더욱 열심히 매진을! 메모리 엄청 새고.. DC에 대해 더 공부를 해야 하는 걸까..
          함수를 마니 만들었었다.) 함수 만들기도 짜증나고 해서.. 다 프렌트 클래스로 넣어 버렸다. 좀
          *1월 2일 : 메뉴 만들기[[BR]]Option으로 Ball Size, Paddle Size, Ball Speed를 사용자가 선택하도록 하기 위해서 필요. Ball Size는 11,13,15 Pixel 중에서 하나를 선택해야 함 - 중복 선택할 수 없도록하기 위한 처리..--;나중에 보니 1학기때 실습예제로 있었는데 몰라서 한참을 삽질) 그리고 게임중일때는 Option메뉴를 선택할 수 없도록 하기 위한 처리까지 했다.
          *자신도 한칸 띈 공격을 하게 만들기
          *1월 14일 - 13일 일요일에 석천이형의 조언에 따라 코드 전체적으로 대대적인 Refactoring(이 용어가 맞는지는 모르겠네여..^^;;)을 해서 할수 있는 한 많은 코드들을 함수로 만들었습니다. 이에 따라 라인수가 아주 많이 줄어들게 되었고, 공격과 방어 인공지능을 같은 함수로 동작하게 하여 방어 할 수 있는 패턴은 모두 컴퓨터 공격할 수 있게 하였습니다.(덕분에 코드를 체계적으로 만들때는 상당히 힘들었지만, 한번 그렇게 하니 작업이 훨씬 쉬어 졌습니다. 참으로 중용한 사실을 몸소 체험 한거 같습니다) 3,4 방어 및 공격 인공 지능을 추가 했습니다. 이제 사람을 이길 확률이 좀더 높아 졌지만, 아직도 부족한것 같고 띈 3,3 방어 및 공격과 효율적인 3 만들기를 추가할 예정입니다.
          * 효율적인 2개 만들기 업그레이드
  • 새싹교실/2012/주먹밥 . . . . 15 matches
          * [박도건] : 컴퓨터에 관한 여러가지 잡 지식 + 프로그램 사용법 습득, 네트워크 프로그래밍, 게임 만들어보기.
          * [용상훈] : 기본적인 c언어와 안드로이드,아이폰 어플을 만들기 프로그래밍 사용법 습득.
          * [한원표] : 다양한 컴퓨터 프로그램에 익숙해지고 커리큘럼을 열심히 따라가겠다.
          * 한원표 : 새싹교실 첫 수업이었다. 박도건, 용상훈이라는 동기들과 같이 하게되었는데 앞으로 친해졌으면 좋곘다. 처음에는 새싹교실을 하는 이유와, 진행방식 등에 대해 선배님께 설명을 들었다. 그리고 wiwki에 가입해서 앞으로 우리가 새싹교실에서 배운것, 느낀것을 직접 편집할 수 있다는 것이 좋았다. 그 후에 Virtual Box라는 것으로. Hello World라는 프로그램을 짯는데 새로운 환경을 볼 수 있어서 좋았지만 한편으로는 처음보는 환경이라 어색한 감이 있었다. 그리고 어플 프로그램을 보여주셨는데. 친구들은 이해하는것 같은데 나만 잘 못하는 것 같았다.
          * if문, switch()case: default:}, for, while문의 생김새와 존재 목적에 대해서 알려주었습니다. 말그대로 프로그램의 중복을 없애고 사용자의 흐름을 좀 더 편하게 코딩할수 있도록 만들어진 예약어들입니다. 아 switch case문에서 break를 안가르쳤네요 :(
          * 변수타입 - C언어는 고급언어이다. 왜냐. 사람이 쓰기 좋게 만들기때문이다. 편하게 만들어주는 것중 하나가 변수 타입이다. int는 정수, char는 문자, float는 실수. 참 편하지 않은가? 사람을 위해 만들어진것이다. 언제까지 0과 1로 대화할텐가?
          * http://forum.falinux.com/zbxe/?document_srl=441104 를 참조하면 통신 프로그램을 짤 수 있을 것이다.
          * 절대 경로와 상대경로. '절대 경로'는 운영체제 기준으로 운영체제가 젤 세부로 나눠주는 드라이브를 비유해서 설명해주었습니다. 운영체제 기준으로 {{{ C:\\Desktop\test.txt }}}를 같은 폴더 프로그램으로 불러와봅시다. 잘불러와지네요? 하지만 {{{C:\\Desktop\오리\test.txt }}}로 저 txt파일과 프로그램을 옮기면 실행이 될까요? 안되죠? 같은 폴더에 있는데도. 그럼 어떻게 해야할까요? 그래서 상대경로 라는것이 나왔습니다. {{{ .\test.txt }}} 면 같은 폴더에 있는 test파일을 찾고. {{{ ..\test.txt}}} 는 바로 위 상위폴더를 찾습니다. 다른폴더는 어떻게 하나고요? {{{ .\오리\test.txt }}}로 설정하면되죠. '''상대 경로'''는 해당 실행파일 기준으로 파일 위치를 추적 하는것이랍니다.
          * 박도건의 프로그램 봐줌.
          * 질문 : 박도건, 용상훈 -> 플래시 프로그램은 왜 쉬운가요?
          * SVN 거북이를 이용하여 http://nforge.zeropage.org/svn/coordinateedit 에 코드를 올리는것을 올려놓음. 도건이 프로그램을 그곳에 올려놓고. 고쳐서 올려놓음. 받는건 숙제!!! 신남.
          * 박도건 프로그램 봐줌
          * 도건이와 함께하는 자바스크립트 웹 게임만들기! 거지같어.
  • AcceleratedC++/Chapter13 . . . . 14 matches
         13장에서는 4장에서 만들었던 성적 계산 프로그램을 학부생, 대학원생에 대해서 동작하도록 기능을 확장하는 프로그램을 통해서 상속과 다형성(동적바인딩)의 개념을 배운다.
         ''(9.6절에 있는 기존의 프로그램을 이용한다.)''
         이 프로그램의 경우 기존 객체와 다른 부분은 동일하지만 대학원생의 성적을 다루는 경우에는 논문과 관련된 점수가 포함된다는 가정을 하고 만들어진다.
         '''만들어진 클래스를 이용해서 성적을 입력받고 보고서를 출력하는 프로그램 (Core)'''
         '''만들어진 클래스를 이용해서 성적을 입력받고 보고서를 출력하는 프로그램 (Grad)'''
         입력을 받는 record가 일반형이기 때문에 위에 2개의 프로그램은 각기 Core, Grad에 대해서 정적으로 바인딩된다.
         이렇게 프로그램이 작성되면 동일한 기능을 하는 프로그램을 자료형에 따라서 2가지로 따로 작성해야한다.
         단일프로그램을 작성하기위해서 타입 의존성을 제거해야할 부분
          앞의 예에서처럼 vector<Core>의 컨테이너를 설정하게 되면 컨테이너 안에 저장되는 객체가 Core의 객체가 되므로 정적으로 바인딩된다. 이를 해결하기 위해서는 vector<Core*>를 통해서 객체를 동적으로 할당하고 관리하도록 하면, 서로 다른 타입의 객체를 저장하는 것도 가능하고 프로그램의 다른 부분에서 다형성의 이점을 이용하는 것도 가능하다.
          위의 프로그램은 할당되지 않은 Core 공간에 값을 대입하려하기 때문에 에러를 발생시킨다. 프로그래머가 객체에 필요한 공간을 직접관리. 읽어들이는 레코드의 종류를 판단해야함.
          입력과 출력의 각 부분에서 그리고 컨테이너의 요소를 사용할때 포인터를 이용함으로해서 프로그램이 동적바인딩을 이용해서 상당히 간결해진 것을 확인할 수 있다.
          상기와 같은 방식으로 포인터를 이용해서 프로그램을 작성하게 되면 프로그래머가 메모리를 직접적으로 관리를 해야하기 때문에 여러가지 버그를 만드는 문제점을 가지고 있다.
  • JavaStudy2004/자바따라잡기 . . . . 14 matches
          그런데 언제부터인지, 네트워크의 대명사인 인터넷에서 이 자바 커피가 하나밖에 없는 독특한 향기를 뿌리고 있다. 인터넷을 좀 아는 사람이라면 자바를 들어보지 못한 사람은 거의 없을 것이다. 자바는 월드와이드웹 상에서 프로그램을 실행할 수 있게 하는, 네트워크를 기반으로하는 언어로, 인터넷 프로그래밍 언어의 표준이 되었다.
          자바가 인터넷 세계에서 관심의 초점이 된 것은 먼저 세계를 하나로 엮는다는 인터넷을 기본 환경으로 하고 있으면서 인터넷에 연결되는 수많은 서로 다른 운영체제(OS)들에서 동일한 모습으로 프로그램을 실행할 수 있다는 점이다.
          요약해서 말하면 자바는 인터넷의 기반인 웹의 프로그램 언어(Language)라고 이해하면 된다.
          자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발한 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정한 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 문제점, 또 가전 제품의 긴 수명으로 인한 완벽한 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 문제에 대한 해결방안을 모색 해야만 됬다.
          이 문제를 해결하기 위하여 고슬링은 C와 C++를 개조해서 해결을 해보려고 시도를 했던 것이다.그래서 C언어의 불필요한 부분이나 문제가 될 부분들을 제거한 새로운 언어를 개발하게 되였는데, 이것이 바로 자바인 것이다. 최초로 자바를 이용한 프로젝트는 가전 제품과 전기 기기들을 통합하여 가정 환경에 새로운 인터페이스를 제공하는 소위 그린 프로젝트(Green Project)라는 것 이였다. 그러던 1993년, 그래픽 기반의 월드와이드웹이 발표되고 자바의 개발자들은 곧 이러한 웹 기반의 응용 프로그램에는 자바와 같은 기기(컴퓨터 및 그 운영체제)로부터 독립된 언어가 이상적이라는 것을 발견하였다. 그리하여 그들이 개발한 것이 나중에 핫자바(HotJava)로 이름이 바뀐 웹러너(WebRunner)라는 웹 브라우저였다. 이것이 최초로 자바를 지원한 웹 브라우저가 되었다. 자바라는 이름은 지역의 어느 커피점 안에서 얻었다. 그래서 지금은 웹 페이지에서 항상 끓고 있는 커피의 상징을 볼 수 있다.
          *1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 한 플랫폼에 제공되면, 바이트코드라고 불리는 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 한다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정한다. 이러한 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일한 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 한번에 한 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
          *3. IBM에서 말하는 가상머신이라는 용어는 또한, 내재된 콘트롤 프로그램에 의해 교대로 관리되는 운영체계를 의미하는데 사용되기도 한다. 그렇기에, IBM의 VM/ESA는 IBM S/390시스템 상의 다중 가상머신을 조정할 수 있는 것이다.
          *4. 그 밖의 경우에서의 가상머신은, 컴퓨터를 실행하는 운영체계나, 어떤 프로그램을 의미하기 위해 사용되기도 했었다. 이를 인용하면
          "실행되고 있는 프로그램은 간혹 가상머신이라고 불려진다. - 실제 물리적인 현실로 존재하지 않는 머신. 가상머신 아이디어는, 그 자체로 기술의 역사에서 가장 멋진 아이디어 중의 하나이며, 소프트웨어에 관한 아이디어의 진화에 있어 매우 결정적인 단계라고 말할 수 있다. 그것을 따라잡기 위해, 과학자와 기술자들은 프로그램을 운영하는 컴퓨터가, 단지 세탁이나 하는 세탁기가 아니라는 것을 인식해야만 했다. 세탁기는 그 안에 어떠한 옷들을 넣는다 해도 여전히 세탁기이지만, 컴퓨터는 새로운 프로그램을 넣는다면, 그것은 완전히 새로운 기계가 된다.... 가상머신, 그것은 소프트웨어를 이해하는 방법이며, 소프트웨어의 설계가 기계의 설계와 다르다는 것을 생각하게 한다."
  • Java Study2003/첫번째과제/방선희 . . . . 13 matches
          * VM이란? : 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로 프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다.
          * 장점 : 가상머신이 한 플랫폼에서 제공되면, 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다.
          애플릿은 브라우저에 플러그인 형식으로 실행될 수 있는 자바 프로그램을 말하고 애플리케이션은 브라우저가 아닌 순수 자바 프로그램들을 말합니다. 굳이 따지자면 서블릿, 빈즈, JSP 모두 애플리케이션에 해당하겠죠.
          빈즈에 대해서 이야기 하자면 웹 서비스라는 큰 테두리 내에서 이야기를 해야 하는데, 간단하게 말하자면 빈즈라는 것이 만들어진 이유는 프로그램의 DISPLAY 부분과 LOGIC 부분을 분리해서 좀 더 확장성있고 유연한 시스템을 개발하고자 하는 취지에서 탄생한 것입니다.(언뜻 이해가 안될 수도 있음...)
         4. 자바로 "Hello World!"를 출력하는 프로그램 작성하기
          * 이 내용들을 대충이라도 이해했으면 될꺼 같군요. 역시 마찬가지로 실제로 프로그램을 돌게끔 만들지를 못한거 같군요. 한번 해 보세요.
          * Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능한 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
          * Java는 보안능력이 뛰어나다. 예를 들어 네트워크를 통해 내 PC로 download된 Java로 개발된 프로그램은 일반적으로 그 능력이 제한된다. 다시 말해 바이러스처럼 작용할 수 없다는 말이다 (이점은 MicroSoft의 Active X와 비교된다).
          * MicroSoft windows에서 신나게 실행되는 게임이 Linux에서도 잘 돌까? 아마도 답은 '아니다' 일 것이다. 그러나 만약 그 게임이 Java로 제작되었다면 답은 '예' 이다. 다시 말해 Java로 개발된 프로그램은 PC, Macintosh, Linux등 machine이나 O/S에 종속되지 않는다.
          기존에 Sun OS에서 Java로 개발한 인사시스템을 Windows NT로 이관하고 싶다. 이때 프로그램 수정없이 가능할까? Windows NT를 지원하는 JDK가 있다면 가능하다. 그러고 Windows NT를 지원하는 JDK는 있다.
          * Java를 이용해 재사용 가능한 object를 만들 수 있다. 이 object는 향후 다른 프로그램내에서 그냥 재사용 가능하다. 강력한 Java의 재사용성은 Java가 가지고 있는 장점 중에서도 가장큰 장점이라고 말할 수 있다.
  • 이영호/64bit컴퓨터와그에따른공부방향 . . . . 13 matches
         OS를 만들기도 하겠으며, 저 사람들과 같은 MDir Clone, Graphics, Sound 등 모든 것을 Assembly로 해내겠다.
          └저도 C (배우게 된다면 Assembly도.ㅎ)를 좋아 합니다.ㅎ 무엇보다 빠른 연산속도와 하드웨어 제어(해본적은 없지만), 포인터를 통한 메모리 접근등 좋은 점이 많아요.^^* 그렇지만 예를 들어 1만 팩토리얼을 출력하는 프로그램을 작성하시오. 라고 문제가 주어졌을때, C로 짜면 한나절이지만 파이썬으로 작성하게 되면 5분도 안걸리게 됩니다. 물런 연산속도가 느리기는 하지만 말입니다.^^ 이런 점에서 봤을때, 속도가 중요하다거나 특화된 프로그램을 작성해야할 경우에는 C와 같은 언어가 좋지만 보편적으로 사용하는 워드프로세서라든지 기타 응용프로그램이나, 제작해야할 프로그램의 제작시간이 짧을 경우에는 상위레벨의 언어가 좋을거라고 봅니다.^^ 뭐 이렇게 말은해도.. 사실 서로의 장점을 그때그때 맞춰서 섞어쓰는게 가장 좋지 않을까요?ㅎ (게임을 만들때 하위레벨의 언어로 하드웨어를 직접 사용한다 하더라도, 다이렉트를 이용하지 각각의 그래픽 카드에 맞춰서 프로그램을 만들지 않는것과 비슷한것 같아요.^^) 이상 지나가는 행인1의 잡다한 생각이었습니다.^^* - [조현태]
         음. 아쉽게도 그런 용도로 Assembly를 평가 한게 아닙니다. 우수하고 못하다의 평가는 여기서도 나오는군요. 한가지만 파면 성공한다와 같은 맥락이랄까요... 저는 미래의 직장보다도 현재의 지식욕을 채우고 싶을 뿐입니다. 누구보다도 이것에 대해 많이 알고 싶고 또한 그렇게 되길 바랄뿐입니다. 과연 Java나 Python등을 공부하다보면 컴퓨터에 대한 가장 기초적인 지식들을 얻기 쉬울까요? 그렇기 때문에 Assembly에 대한 직접적인 접근을 하려고 하는 것입니다. 지식욕이 아니더래도 현직에 계시는 프로그래머분들께 컴퓨터에 대한 기초가 부족하고 프로그램만 짤 줄 아는 신참 직원들은 항상 한계에 다다르면 좌절한다라는 말을 들은적이 있습니다. 한번쯤은 생각해 볼 문제입니다. Assembly > C++을 평가한 것은 이런 맥락입니다. 컴퓨터에 대한 기초가 있느냐 없느냐. Assembly를 만지고 C++을 만진 사람의 경우는 모르겠지만 C++만 만지고 Assembly를 공부하지 않은 사람의 한계는 언젠가는 드러나게 되죠.
         전 어제 제가 평생 해도 따라가지 못할것 같은 사람을 보았습니다. 그 사람과의 벽이랄까요. 물론 그분이 연륜이 있으시지만 컴퓨터 자체에 대한 기초적이고 깊은 지식은 따라가질 못하겠습니다. 그분의 소싯적에 C언어로만 짠 프로그램들은 컴퓨터에 대한 깊은 이해가 없으면 불가능한 것들이었습니다. 그분이 Assembly를 배우지 않고 C를 처음부터 만졌다면 어땠을까요? 그런 프로그램들을 짤 수 있었을까요? 이상, 우물 밖으로 튀어나온 개구리였습니다.
         다른 사람이 제 생각에 이의를 제기하면 생각을 다시 하고 고치지만, 제가 정말로 옳다고 하는 것들은 어떤 권위가 와도 굴복하기 힘드네요.(이러면 적을 만들기 쉽지만, 자신을 버리긴 힘드네요.) 이번 생각만은 제가 옳은 것 같습니다. 현재에는 가장 기초가 되는 Assembly어를 다지고 다른 것에 관심을 돌리겠습니다. :)
         생각이 너무 한쪽에 치우신거 같네요. 아마도 저 말고 다른 선배님들도 저와 비슷한 심정(생각)으로 글을 쓰셨을거 같습니다. 선배님들 말이 어셈블러를 공부하지 말라? C++만 공부하라~~ 이렇게 들리셨나요? 저는 아닌거 같은데요. 조금만 더 생각하고 읽었으면 좋겠네요. 위에 쓰신 글들을 보니 어쩌면 프로그래밍에 관련해서 저보다 더 많이 알고 있으리라 생각되는데요. 우선 젤하고 싶은 생각은 남의 글을 비판적으로 읽는것도 중요하지만, 그사람의 입장에서 생각해보는게 좋을거 같군요. A라고 말했는데, B라고 들으면 안돼겠죠. 어셈을 익히고 C++을 익히는것도 좋습니다. 그렇다고 C++을 익히고 어셈을 익히는게 나쁜 방법이라고 생각하지는 않는데요..@,.@. 제생각에는 님은 "어셈을 꼭 인힌다음 C++을 익혀야돼" 라는 고정관념에 빠진듯 함니다. 어셈을 모른다고 프로그램을 적게 이해한다고 생각하지도 않구요. 제 의견이지만 특정 프로그램언어 보나는 알고리즘, 자료구조 이런것들이 더 중요하다고 생각합니다. 그리고 C++이 쉽다? 정말 그럴까요? 정말 C++이 어셈보다 쉽다고 생각하시나요? 이펙티스 C++이나 엑셀레이터 C++ 이런책들을 한번 읽어 보시는것도 좋을거 같네요. 머 주저리 주저리 쓰게 됐는데 어디까지나 제 생각이고, 다른사람들의 입장에서 글들을 한번 다시 읽어 보는것도 괜찮은 생각인거 같군요. - 상섭
          '' '특정언어를 공부한다'에는 두가지 의미가 같이 포함되어서 그런 것 같습니다. 즉, 언어 자체를 공부하는 것과 해당 언어가 쓰이는 분야(시스템, 웹, 컨커런트 등)를 공부하는 것. 아마 영호군의 경우 강조하려는 것은 시스템 레벨에의 지식에 대한 공부일 것이므로, '알고리즘/자료구조 대신 특정 프로그램언어를 공부한다'는 기우가 아닐까 생각. (물론, 하려는 이야기는 이해했음..~)--[1002]''
  • SmallTalk/강좌FromHitel/강의4 . . . . 12 matches
          1.1. 프로그램과 프로그래밍 언어
          1.3. Smalltalk 맛보기 프로그램
         모두 Smalltalk로 프로그램을 짜는데 꼭 필요한 역할을 수행합니다.
         프로그램을 실행하는데 중대한 잘못이 생겼다거나, 새로운 꾸러미를 불러왔
         리고 프로그램의 어떤 부분을 만들기 전에 여기서 기본적으로 여러 가지 명
         새로운 일터를 만들기 위해서는 File > New 메뉴를 사용하거나, 도구 모음에
         프로그램을 만들 때, 그 프로그램과 관계된 여러 가지 객체들을 넣어놓고 관
         다. 물론 Smalltalk에서도 창 만들기는 매우 중요한 위치를 차지하지만, 기
         다. "발자취 창"(walkback window)은 Smalltalk 프로그램이 실행되는 상태에
         문제를 무시하고 계속 프로그램을 실행시킬 때 쓰고, 는 지금 실
  • VisualBasicClass/2006/Exam1 . . . . 12 matches
         ① 프로구램의 작동 순서가 완전히 프로그램에 의해서 지시되고 제어된다.
         5. 비주얼 베이직의 기본적인 프로그램 작성 과정을 간략하게 나열한 것이다. 올바른 순서를 쓰시오?(1점)
         C) 프로그램 기획 및 설계
         8. 다음 프로그램의 출력은?(1점)
         9. 다음 프로그램은 입력된 문자열을 역순으로 나타내는 프로그램이다. 괄호안에 알맞은 것은?(4점)
         10. 다음 프로그램의 출력은?(1점)
         13. 서브프로그램과 함수에 관련된 설명 중 가장 부적절한 것은?(1점)
         ① 지명 인수를 사용하여인수를 서브프로그램에 전달할 때는 반드시 파라미터의 순서대로 기술하여야 한다.
         ② 인수들을 서브프로그램에 모두 다 전달하기 부적절한 경우에는 Optional이란 키워드를 사용하면 효과적이다.
         ③ 함수는 수행한 결과를 호출한 프로그램에게 반한하는데 입력 인수는 여러 개일 수 있으나 출력 인수는 오직 하나이다.
         15. 다음 프로그램에서 List1.Text의 역할에 대한 설명으로 맞는 것은?(1점)
  • 데블스캠프2003/다루어볼문제와관련세미나 . . . . 12 matches
          * 회의 때 나왔던 주제들 입니다. OOP, Computer System, 다양한 프로그램 언어 체험, 네트워크
          * 작년 프로그램 잔치때 했던 여러 언어 중 하나를 골라서 뭔가를 짜보는 것도 괜찮을듯.. 여러가지 패러다임을 익히는 게 중요하다는 것을 알아서리.. --인수
          * 계획을 말씀드리겠습니다. 여러 문제를 푸는것 또한 중요하지만, 큰(?) 프로그램을 다루는것도 괜찮은 생각 같아서 OOP를 2틀째 넣고 마지막날까지 팀으로 연속해서 만들어 데모를 하는 방법도 생각을 했었습니다.(정모 때요..) -[상욱]
          입장을 바꿔서 생각해보세요. 과연 1학년때 큰 프로그램을 짜라고 하면 짤 수 있을지... 선배들과 짠다고 하면 선배들이 대부분 짜버리는 부정적인 결과가 나올지도 모를것 같습니다. 페어를 통해 배우는게 많기는 하겠지만 이제 막 ToyProblems 에 재미를 붙일 사람들인데 너무 목표를 크게 잡고 있는 것은 아닌지요... 아마도 제가 큰프로그램에 대해 잘 몰라서 이런 말을 하는 것 같습니다. 큰 프로그램에 대한 명확한 설명을 바랍니다. --[창섭]
          큰 프로그램이라고 말은 해 봤자 선배님들이 풀면 4~5시간이면 풀어버릴 문제가 될꺼 같습니다. 휴대폰 메뉴 만들기나 PDA기능 만들기 등 이런 조그만 프로그램을 묶어놓는 프로그램을 하면서 OOP를 조금이나마 느껴보라는 차원에서 하는 것입니다. 물론 같이 페어를 하는 선배님들은 정말 기초적인 것만 알려주는 식이고요 그 팀을 이끌어 가서는 안되겠죠? ^^; -[상욱]
          * 지나가다 잠시 말씀 드릴까 합니다. 아직 oop개념이나 프로그램 모듈화에 대해서 개념이 없는 분들에게 STL같은 것을 가르친다는 것은 약간 문제가 있지 않을까요? oop개념을 가르쳐도 구현 같이 base적인 경험이 없이 단지 가져다 쓰는것을 먼저 배우면 좋지 않을 것 같습니다. 1학년 분들 숙제 하는 것을 보니 모듈화 같은것을 가르쳐도 좋을 것 같은데. 많은 것을 가르치려고 하시는 것은 좋으나 능력에 적절하게 가르치는 것도 맞는 것 같군요. STL 같은 걸 가르치는 건 그 다음이 되었으면 좋겠구요.. 내부사정을 잘 모르니 틀리다 싶은 말이면 걍 흘려보내세요. 지우셔도 상관 없구요. ^^ - 00 나현철
  • 새싹교실/2012/해보자 . . . . 12 matches
          - 프로그램 어디서나 참조 가능하다.
          - 프로그램이 끝날 때 메모리상에서 지워진다.
          - 선언된 이후 프로그램이 끝날 때 메모리상에서 지워진다.
          1. #define pi 3.141592를 이용하여 구의 겉넓이, 부피를 계산하고 출력하는 프로그램을 만드시오.(코드를 여기에 올려주세요)
          * 예제1) 정수를 입력받고 숫자가 짝수인지 홀수인지 판별하는 프로그램
          - 무한반복의 성질이 있기 때문에 영원히 빠져나오지 못하는 프로그램을 만들 수 있다.
          * 예제3) a부터 z까지 출력하는 프로그램 만들기
          * 예제4) -1값을 입력할 때 까지 정수를 입력 받고 평균을 구하는 프로그램
          * int main()함수에서 return 0를 하는 이유: 메인 함수는 0을 반환하면 프로그램이 끝났다는 것을 알린다.
          * 예제2) 숫자 2개를 입력 받아 평균을 구하는 프로그램 만들기.
  • 위키설명회2005/PPT준비 . . . . 12 matches
         1992년 : 동남은행 Firm banking system, 치관 운영 관리 프로그램, 세탁소 관리 프로그램, 세일 정보 통신 재해자 관리 프로그램
         1993년 : 비디오 도매상 관리 프로그램, '작은마녀' 게임 프로그램
         1994년 : 삼성전자 번들용 영어 교육 프로그램
         2002년 : 1회 SK 모바일 프로그램 경진대회 대상 수상
         그 밖에 프로그램 배틀, 조인트 스터디등등...의 계획
         특히 방학때 ==> 스터디를 통해서 본격적으로 공부함... 여름방학 같은 경우 데블스 캠프, 2학기 프로그램 전시회 준비
         채팅
         페이지 만들기.
         7. 프로그램 전시회 (올해는 조금 무리인것 같고. 내년쯤에는 반드시 부활시키고자 합니다.)
  • 후각발달특별세미나 . . . . 12 matches
          전문적인 설명은 아니구, 제 생각에는 함수를 사용하여 메모리 사용하는 비용과 프로그래머가 함수를 더 사용하여 소스의 가독성을 올리고, 유지 보수 및 버그를 없애는 비용과 비교를 해볼때 후자가 훨씬더 큰 비중을 차지하기 때문에 함수를 더 사용하여 메모리를 더 사용하더라도 리펙토링의 중요성이 결코 줄어들지 않는다고 생각합니다. 그리고 짧은 소스에서는 리펙토링 하여 함수가 많아 지는것이 낭비처럼 보일지 몰라도 좀더 프로그램이 커질수록 리팩토링을 해놓음으로 해서 추후에 최적화를 하는데에도 훨씬 유리하기 때문에 결국에 가서는 자원도 더 효율적으로 사용하리라고 봅니다. - [상협]
          메모리를 많이 사용한다는 우려의 원인은 많은 변수들에 있습니다. 전달인자를 받거나 값을 리턴할 때, 각각 상응되는 변수가 필요하기 때문이죠. 하지만 변수는 그 변수가 선언된 함수내에서만 효력을 발휘하고 함수가 종료되는 순간 사라집니다(메모리해제). 그러므로 모듈화된(쉽게 이야기해서 함수로 나뉜)프로그램에서는 함수내의 많은 변수들이 메모리를 많이 차지하더라도 그 함수가 끝나면 그 메모리는 해제되어 사용가능해집니다. 그리고 전역변수나 메인함수내의 변수만을 사용하는 프로그램프로그램이 끝날 때까지(메인함수가 종료될 때까지) 메모리를 잡아두므로 한번 할당된 메모리는 사용불가능합니다.
          모듈화된 프로그램에서의 메모리 사용의 개념은 '''필요할 때마다 할당해서 쓰고 필요없으면 해제하자'''이고 전역변수나 메인함수내의 변수만을 사용하는 프로그램에서의 메모리 사용의 개념은 '''지금은 안쓰이더라도 나중에 쓸 메모리를 미리 할당하고 사용이 끝났더라도 메모리를 계속 잡아두자'''입니다. 전자의 경우에는 어느 순간 메모리를 많이 사용하는 경우도 있고 어느 순간에는 엄청 적게 사용하는 경우가 있습니다. 메모리 사용이 더 유동적이라고 할 수 있습니다. 밑에 참고 그래프(자체제작)를 참고해주시기 바랍니다. --[강희경]
          함수의 갯수와 메모리 사용량은 직접적으로 관련이 없습니다. 메모리 사용량과 직접적으로 관련이 있는 것은 함수의 갯수가 아니라 프로그램의 길이 입니다.
          함수가 많다고 프로그램의 길이가 긴 것은 아닙니다. 길이가 짧은 함수를 여러개 가진 프로그램과 길이가 엄청나게 긴 함수를 한개만 가진 프로그램이 있다고 해봅시다. 길이가 더 긴 프로그램은 어떤 것입니까?
          리펙토링에 대해서 생각해 봅시다. 가장 먼저 배운 방법이 무엇이었습니까? 중복제거 입니다. 함수를 늘려 중복을 제거하면 프로그램의 길이는 길어질까요? 짧아질까요?
  • Linux/디렉토리용도 . . . . 11 matches
         그래도 기본적은 프로그램을 깔정도가 되면 보는 것이 좋을듯하다. 처음에 이걸로 보다가 미치는줄 알았다''
          * 프로그램들이 의존하고 있는 라이브러리 파일들 존재.
         아파치를 비롯한 모든 서버의 환경설정 파일이 관리 되는 곳이다. 물론 사용자가 직접 바이너리로 설치했을 경우에는 이 곳에 위치하지 않을 수도있다. 그러나 대부분 패키지 관리자를 통해서 설치된 프로그램의 경우 이곳에서 설정이 가능하다. 직접 설치를 하는 경우라면 '''X11, apache2, init.d, rc.*, skel, xinitd.d''' 디렉토리를 많이 다루게 된다.
          * 일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치.
          * /usr/bin : 응용 프로그램의 실행 파일이 위치
          * /usr/src : 프로그램소스 및 커널 소스들이 보관되어 있는 곳.
          * /usr/local : 새로운 프로그램들이 설치되는 곳(windows의 Program Files 와 유사)
         보통 바이너리 프로그램을 설치할 경우 /usr/local 에 설치하여 일관성을 유지한다. jdk등을 설치할 때에고 관습상 /usr/local 에 설치를 해주고, 배포판이 패키지 형태로 jdk등을 제공할때에는 배포판을 통해 설치하는 것이 패키지의 통일성 및 관리의 편의성 면에서 좋다.
         실제 파티션을 분할할때에는 어떤 목적으로 프로그램을 이용하는지에 대한 이해가 필요하다. 처음 설치하는 사용자의 경우에는 전체 파티션을 단일 파티션으로 잡고 설치를 해도 무방하지만 다중 사용자 계정을 지원할 용의가 있는 경우에는
         || / || 500M/30G || 커널 이미지, 각 프로그램의 설정파일등 크지 않은 파일들이 저장된다. ||
         || /usr || 8G/30G || 실제 응용프로그램의 대부분이 설치되므로 넉넉하게 설정하는 것이 필요하다. ||
  • PairProgramming . . . . 11 matches
         === 동문서버 프로그램 개발중 ===
         동문서버 프로그래밍 팀의 인수인계용으로 이용되었었다. PP를 주로 하고 한두번의 VPP를 했다. 해당 소스를 같이 만들어가면서 기존의 프로그램을 설명했다.
         이 때에는 Expert는 놀지말고 (-_-;) Observer의 역할에 충실한다. Junior 의 플밍하는 부분을 보면서 전체 프로그램 내의 관계와 비교해보거나, '자신이라면 어떻게 해결할까?' 등 문제를 제기해보거나, reference, 관련 소스를 준비해주는 방법이 있다.
         간단한 아날로그 시계를 만드는 프로그램이였다. MFC + CppUnit 로 작업했다.
          * Pair 의 진행을 이끌어가는 것 - 프로그래밍의 흐름이라고 해야 할까. 디자인을 어느정도 선정도로 맞추고 어떠한 문제를 풀 것인가에 대한 약간의 선이 필요할 것 같다. 이 경우에는 초반 디자인이 허술했었다는 약점이 있었다. '전체적인 관점에서 무엇무엇을 하면 프로그램이 완성될 것이다' 라는 것. UserStory 만 생각하고 EnginneringTask 를 간과한 것이 큰 문제였다. (그때 EnginneringTask 에 대한 개념이 없었었다는. 어디서 함부로 주워만 지식. --; 사고를 하자 사고를. -_-)
          * On-Side Customer 와의 PairProgramming - 프로젝트 중간에 참여해서 걱정했었는데, 해당 일하시는 분과 직접 Pair를 하고 질문을 해 나가면서 전체 프로그램을 이해할 수 있었다. 특히 내가 ["BioInfomatics"] 에 대한 지식이 없었는데, 해당 도메인 전문가와의 Pair로서 서로 상호보완관계를 가질 수 있었다.
          * Junior 의 위치에서 바라본 학습 효과 - 이전에 상경이형이 채팅 프로그램 만드는 법을 직접 보여줬을때가 생각이 난다. (그때 '자. 15분동안 하나 만들어줄께~' 하면서 후다다닥 MFC로 서버/클라이언트 예제를 바로 보여주던 모습은 잊혀지지 않는다;) Junior 의 입장에서 Expert 행동 하나하나는 Check Point 이다. 좋은 습관과 프로그래밍 스타일, 디버깅하는 모습을 직접 눈으로 확인할 수 있었다.
         넷미팅, VNC 등의 개발 프로그램을 공유할 수 있는 프로그램과 음성채팅 등으로 Virtual PairProgramming을 할 수 있다. (오.. 좋아진 세상~) 단,PairProgramming 에 비해 아쉬운점들이 있다. (관련 책들을 찾아서 보여주지 못한다는 것 등등) 나중에는 PC카메라와 스캐너 등등 이용할 수 있지 않을까. ^^
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.23 . . . . 11 matches
          * 프로그램은 어떻게 만들까?
          1. 문법에 맞춰 프로그램 로직 코딩
         2. "프로그램"이 무엇일까요? 자유롭게 설명해보세요.
         3. 나는 프로그램이 실행되고 CPU가 맨 먼저 호출하는 함수가 뭔지 안다! (O/X)
          * 새싹교실에서 컴퓨터는 무엇인가, 프로그램은 무엇인가, 프로그램은 어떻게 만드는가 등을 배우고 직접 코딩도 해보았다. C언어는 정말 흥미로웠다. 새싹 선생님이 알려주신 tryhaskell홈페이지에 들어가서 haskell이란 언어도 체험해봤는데 뭔가 C언어보다 고급 언어라는 느낌이 들었다(맞나....) 다음주에 배우게 될 것이 궁금하고 기대가 된다. - [송치완]
          * C언어 프로그래밍을 시작하기 위해 필요한 컴퓨터와 프로그램에 대한 지식을 공부하였다. C언어는 역시 멋진 언어인 것 같다. haskell을 해 보고 싶었는데 사이트가 이상했다 ㅠㅠ.. 프로그래밍 언어는 너무 많은 것 같다. 다 배우려고 하진 말아야지... - [장용운]
         상기 코드가 정상적으로 진행되었기 때문에 main함수는 0을 리턴하고 프로그램이 종료된다.
         프로그램은 여러 데이터를 가지고 사용자가 원하는 일을 수행하는 것입니다.
         콘솔 응용 프로그램에선 main()
         Win32 응용 프로그램에서는 APIENTRY WinMain()
  • 새싹교실/2012/startLine . . . . 11 matches
          * 포인터의 개념, 프로그램 실행시 메모리의 구조.
          * 처음에 간단하게 재현, 성훈이의 함수에 대한 지식을 확인했다. 그 후에 swap 함수를 만들어 보고 실행시의 문제점에 대해서 이야기를 했다. 함수가 실제로 인자를 그대로 전달하지 않고 값을 복사한다는 것을 이야기 한 후에 포인터에 대한 이야기로 들어갔다. 개인적으로 새싹을 시작하기 전에 가장 고민했던 부분이 포인터를 어떤 타이밍에 넣는가였는데, 아무래도 call-by-value의 문제점에 대해서 이야기를 하면서 포인터를 꺼내는 것이 가장 효과적이지 않을까 싶다. 그 후에는 주로 그림을 통해서 프로그램 실행시 메모리 구조가 어떻게 되는지에 대해서 설명을 하고 포인터 변수를 통해 주소값을 넘기는 방법(call-by-reference)을 이야기했다. 그리고 malloc을 이용해서 메모리를 할당하는 것과 배열과 포인터의 관계에 대해서도 다루었다. 개인적인 느낌으로는 재현이는 약간 표현이 소극적인 것 같아서 정확히 어느 정도 내용을 이해했는지 알기가 어려운 느낌이 있다. 최대한 메모리 구조를 그림으로 알기 쉽게 표현했다고 생각하는데, 그래도 정확한 이해도를 알기 위해서는 연습문제 등이 필요하지 않을까 싶다. 성훈이는 C언어 자체 외에도 이런저런 부분에서 질문이 많았는데 아무래도 C언어 아래 부분쪽에 흥미가 좀 있는 것 같다. 그리고 아무래도 예제를 좀 더 구해야 하지 않을까 하는 생각이 든다. - [서민관]
          * 포인터의 기초와 포인터를 이용한 swap 함수 구현, 값 변환. 그리고 malloc의 형태 기초와 좀 더 쉽게 쓰는 법 익힘. 다음엔 malloc을 이용한 응용프로그램 구현을 해보고 싶다. - [최재현]
          * 포인터의 개념, 프로그램 실행시 메모리의 구조.
          * 정모 전에 두 시간, 정모 끝나고 두 시간이 걸린 정말 긴 새싹이었습니다. ;;;; 처음 계획으로는 재현이나 성훈이랑 비슷하게 구조체 문법과 사용에 대해서 간단하게 다룰 생각이었는데 환희가 왜 구조체가 필요한지에 대한 이야기를 하면서 이야기가 많이 다른 방향으로 흘러갔네요. 일단 구조체가 필요한 이유를 추상화의 관점에서 추상화 한 타입(구조체)과 타입에 관한 연산(함수)을 제공하기 위해서라고 말을 했는데 그래도 직접 피부에 와 닿았을지 어떨지는 좀 걱정입니다. 역시 이런 부분은 직접적으로 경험을 해 보지 않으면 안 될 것 같네요. 한 시스템(도서관 관리 프로그램이나 은행 시스템 등)을 재현이, 성훈이랑 셋이서 쪼개서 만들어 보게 하거나 하는 게 좀 괜찮지 않을까 싶습니다. 나중에 시켜봐야지. - [서민관]
          * 프로그램을 의미단위(함수)로 쪼개기.
          * 함수 만들기 실습(isPrime, isPalindromePrime 등).
          * 함수와 구조체 문법에 대한 복습과 '함수형 프로그래밍'에 대해서 다루었다. 복습은 시험이 끝나고 잊어버렸을 테니까 한 것이고 중요한 것은 뒤쪽에서 했던 함수형 프로그래밍 부분이다. 전체적인 내용은 프로그램을 의미단위(함수)로 쪼개는 의사코드를 적고 함수의 껍데기를 만든 후에 내용물을 채워 나가는 방식이었다. 개인적으로 내 새싹에서 꼭 다루고 싶었던 내용의 절반에 해당하는 부분이라 고민을 많이 했는데, 그래도 전하기는 잘 전한 것 같다. 다음으로는 가르쳐야 할 나머지 절반인 설계에 대한 실습을 좀 해 봐야 할 것 같다. - [서민관]
         === 과제 - 캘린더 만들기 ===
          * 전체적으로 제대로 완성하는 프로그램을 만들어 본다는 점에 의의가 있을 것 같습니다.
          * AccountArray와 관련된 함수들 만들기.
  • 새싹교실/2012/사과나무 . . . . 11 matches
         처음보는 운영체제라던가, 아직은 생소할 커맨드라인 프로그램 사용이라던가
          * 새싹교실 첫 수업이었다. 고한종 강사님이셨고 같이하는 팀원과는 같이못해 혼자듣게되었다. 선배님은 간담회때 처음뵜고 서정이누나는 뒤풀이때 처음봤다.새싹교실이라고해서 무거울줄 알았는데 내생각이 틀렸다. 아주 기본부터 차근차근 설명을해주셨고 문외한인 나에게 과제도주셨다. 더열심히 하라는 뜻인거같다.그리고 수업시간에는 간단한 사칙연산만 만들었는데 오늘 이차방정식을 푸는 프로그램을 만들어봤다. 도움을 받고 만든 프로그램이지만 다음엔 내가 스스로 만들어보고싶다. 앞으로 기대된다. - [김도익]
          * 반이 바뀐 첫날, '이소라 때리기 게임'을 직접 손으로 타이핑을 시키고, 이 프로그램에 쓰인 개념들을 가르쳤다. 작년 나와 비슷한 수준이라 더 열심히 가르쳐야 겠다는 생각이 들었다. 둘 다 현재 수준이 많이 낮다는 걸 알았다. 앞으로는 좀 더 쉽게 설명해야겠다. - [김성원]
          * 게임 프로그램 타이핑을 열심히 쳤다. 선생님께서 인내심이 좋으셔서 거북이 타자인 저를 잘 지켜보신 것 같다. 완전히 이해는 못 했지만 새로운 경험이 좋았고, 일단은 타이핑을 빨리치는 것이 급선무이다. 거부기 타이핑 개선하기!! - [김서정]
          * 오늘은 이소라때리기라는 게임을 했다. 새 강사님과 시작을 해서 어려울 줄 알았는데 정말 친절하게 가르쳐주셨다. 알고리즘대로 구동되는 프로그램이 신기했다. 지난시간보다 더 많은 예약어를 이용했고, rand()라는 것도 사용했다. 가장 신기했던 것은 k와 p를 아닌 다른 문자를 이용했을 대 default문장이 나와 k와 p를 누를 수 있게 유도해준 것이다. 지난시간과 달리 조금 더 긴 프로그램을 짜봤는데 만들어져가는 과정이 눈으로 확인되니까 조금 더 욕심을 내보고 싶다. 앞으로 2탄을 더 복잡하게 만들고 싶다. - [김도익]
          * 오늘은 제어문에 대해 배웠다. 지난시간에 했던 부분이지만 다시 공부하였다. 지난과제 구구단을 나눠서 출력하는 프로그램을 만드는데 \t 어떻게 써야할지 몰라서 많이 헤맸고,int k라는 개념도 생각을 하지 못해 나 스스로 만들지는 못했다. 변수를 2개만 해야한다는 고정관념을 버려야겠다. 오늘 배운점은 프로그램을 만들때 편협한 시각이 아닌 자유로운 생각으로 이것저것 생각하는 것이 너무나도 중요하다는 걸 보았다. 수학문제 풀이도 다양하듯이 프로그램도 마찬가지라고 생각한다. 한가지 주제에 대해 다양한 생각을 하는 연습을 해야겠다. - [김도익]
          3. 수업을 자주 듣는 것보다 프로그램을 혼자 짜보는 것이 나의 공부가 도니 것 같았다.
  • 훌륭한프로그래머의딜레마 . . . . 11 matches
         우연치 않게 두 회사에 정확히 똑같은 내용의 주문이 들어왔다. "열나어려운문제" 해결을 위한 프로그램을 작성해 달라는 것이었다.
         열심히씨는 처음 예상 소요 시간인 3개월 동안 정말 열심히 일했다. 하지만 일을 하면서 예상 외의 장애를 직면했고, 밤샘 작업까지 해가면서 3개월의 마지막 날 매니져에게 이런 말을 할 수 있었다. "정말 열나게 프로그램을 짰슴다. 밤샘도 하고요. 제가 지금까지 작성한 프로그램은 2000줄입니다. 그런데, 새로운 문제가 기술적으로 불가피하게 발생했습니다. 복잡한 버그(프로그램의 오류)도 몇 가지 해결해야 하고요. 한 달 가량이 더 필요합니다." 그러고 한달 후 열심히씨는 몇 개의 버그와 더불어 나름대로 작동하는 프로그램을 매니져와 고객에게 자랑스럽게 보여줄 수 있었다. 벌겋게 충혈된 눈과 미쳐 깎지 못한 수염, 무지무지 어렵고 복잡해 보이는 2500여 줄의 프로그램과 함께. "예상보다 훨씬 더 복잡한 문제였군요. 정말 수고하셨습니다."라는 칭찬을 들으면서.
         훌륭한씨는 매니져가 "의무적으로" 잡아놓은 예상 소요 시간 3개월의 첫 2달 반을 빈둥거리며 지냈다. 매니져는 훌륭한씨가 월말이 되어서 "정말 죄송해요. 아직 한 줄도 못짰어요. 너무 어려워요. 좀 봐주세요."라고 처량하게 자비를 구할 날을 손꼽아 기다렸다. 웬걸, 마지막 날 훌륭한씨는 예의 "너무도 태연스러운" 모습으로 나타났다. 150여 줄의 프로그램과 함께. 그 프로그램은 멋지게 "열나어려운문제"를 해결했다. 하지만, 매니져가 그 코드를 들여다 보자, 한마디로 "너무도 쉬웠다." 초등학생도 생각해 낼 정도였다. 매니져와 고객은 이름을 "열나쉬운문제"로 바꾸는 데에 전적으로 동의한다. 훌륭한씨는 "이렇게 간단한 문제를 3개월 씩이나 걸려서 풀었습니까? 왜 이렇게 성실하지 못하죠?"라는 비난을 들어야 했다.
         과거 IBM사에서는 프로그램의 줄 수에 따라 급여를 계산했었다. (사실 지금도 이런 회사가 상당수 있다) 그런데 프로그램 줄 수가 늘어날 수록 숨겨진 버그 수와 유지관리에 드는 비용은 기하 급수적으로 늘어나게 된다. 이 문제를 해결하기 위해 프로그램 줄 수는 더 늘어나게 되고, 덕분에 프로그래머는 돈을 더 벌게 된다.
  • RandomWalk2 . . . . 10 matches
         이 페이지에 있는 활동들은 프로그래밍과 디자인에 대해 생각해 볼 수 있는 교육 프로그램이다. 모든 활동을 끝내기까지 사람에 따라 하루에서 삼사일이 걸릴 수도 있다. 하지만 여기서 얻는 이득은 앞으로 몇 년도 넘게 지속될 것이다. 문제를 풀 때는 혼자서 하거나, 그게 어렵다면 둘이서 PairProgramming을 해도 좋다.
         ||. || . ||C ||["RandomWalk2/Vector로2차원동적배열만들기"] ||
         다음은 이상의 요구조건을 만족하는 프로그램 개발이 완료되었을 경우만 본다.
         대부분의 프로그래밍 문제나, 경시대회 문제는 한번 주어진 문제에 한번 대응하면 그걸로 끝난다. 하지만 현실은 그렇지 못하다. 한번 개발한 프로그램을 요구사항 추가/변경에 따라 몇 번이고 수정하고 다시 개발해야 할 때도 있다. 우리가 말하는 문제풀이 능력에는 이미 만든 프로그램을 유지보수하는 작업도 포함되어야 한다.
         교육에 있어 이런 작업이 중요한 이유 중 하나는, 자신이 만든 프로그램이 해답을 제대로 내느냐는 것을 확인하는 데에는 한 문제를 한번 푸는 것으로 족하지만, 거기서 코드의 디자인 질을 확인할 수가 없다는 문제가 있기 때문이다. 하지만, 요구사항 변경에 따라 자신이 개발한 프로그램을 다시 수정하게 되면, 이전에 만든 코드의 질에 따라 그 노력에 현격한 차이가 난다. 디자인 질이 높으면 아주 짧은 시간 안에 간단하게 요구사항 변화에 대응할 수 있을 것이고, 질이 낮았다면 장기간에 걸쳐 여기저기를 들쑤시고 골치를 썩혀야 할 것이다.
         내 프로그램을, 또 그 진화의 과정을 남에게 보여주고 의견을 들어보라.
         최초의 요구사항 제시 이후에 나온 변경사항들이 따라오지 않을 것이라 가정하고, 만약 이 RandomWalk2 문제를 다시 접했다면 어떻게 접근하겠는가. 어떤 과정을 거쳐서 어떤 프로그램을 개발하겠는가?
         다른 프로그램이 나오는가? 시간은 얼마나 덜/더 걸리는가? 디자인은 어떻게 달라졌는가?
  • 전시회 . . . . 10 matches
          * 출석 프로그램의 경우 이름순 정렬이 되지 않는다.
          * 3D지형 프로그램의 경우 지형의 끝에 도달할 경우에도 계속 전진이 가능하다.(좌표의 증가)
          * 이퀄라이져 프로그램의 경우 마이크를 끈 상태에도 이퀄라이져가 움직인다.
          * 화상 채팅 프로그램의 접속 불가.
          * 설명해주는 오퍼레이터가 프로그램을 잘 모른다. 프로그램 개발자가 직접 오면 좋지만, 그렇지 못한 경우 좀더 상세한 설명이 있으면 좋았을 듯 하다.
          * 3D지형 프로그램의 효과를 볼 수 있게 비교했으면 좋았을텐데...
          이름 자체가 fast인 만큼. 다른 프로그램보다 빠르다는 것을 비교해서 보여주면 좋겠죠 --[강희경]
          프로그램의 성능을 볼수가 없었죠 3.9기가 씨피유에 지포스2 에서 그 정도 화면이 끊긴다면 그게 더 이상한 ~_~ --[김홍선]
  • 허아영/C코딩연습 . . . . 10 matches
         프로그램 입니다. **20051095 허아영**************************
         *프로그램입니다. [컴퓨터공학부 20051095 허아영] *
         직각 삼각형의 높이와 패턴모양을 입력받은 후 출력하는 프로그램입니다.
         두 숫자를 입력받은후 두 숫자 중에 큰 숫자를 출력하고, 두 숫자의 차를 구하는 프로그램입니다.
         * 차를 구하는 프로그램입니다.
         문제1. 로또 복권의 6자리 수를 랜덤하게 생성하데, 사용자가 발생 횟수를 선택할 수 있도록 하시오. 예를 들면, 초기 화면에서 사용자가 5를 입력하면 랜덤 수 6개를 5번 출력 하는데 출력 양식이 다음과 같도록 프로그램을 완성하시오.
         • 2 ∼ 9 까지의 구구단을 한 화면에 출력하는 프로그램을 작성하시오.
         • 포인터로 배열들의 요소를 지적하고 배열간의 자료교환을 하는 프로그램을 작성하시오.
         /*1에서 n까지의 곱을 구하는 프로그램입니다.
          printf("영대문자, 영소문자, 수치문자, 특수문자의 수 알아내는 프로그램n");
  • MoreMFC . . . . 9 matches
         언제나 그렇듯, Window programming을 할때 처음 등장하는 예제는. Hello~ 시리즈다. 그 source를 통해 MFC프로그램에 첫발을 디딜것이며.. 요책에 나온 윈도우의 이모저모에 관해 설명할것이다. 뭐 .. 대충대충 해나갈 것이지만.. 그럼.. windows programming의 세계로. gogogo -- v [[BR]][[BR]]
         dos 시절의 절차식 프로그램의 습관에 젖은 프로그래머를 위해 이책도 역시 아주잘 윈도우 프로그래밍이 어떻게 다른지 설명해 준다. 그러나, 그걸 다시 다 설명할 필요는 없고.. 떡하니 그림 한장이면 다 설명 될것 같다. 그럼.. image! [[BR]]
          // WM_QUIT message가 발생하면 GetMessage가 0을 반환하여 프로그램 종료.
         // 프로그램을 초기화 할수 있는 가장 적절한 장소. --a
         떡하니 source를 보면 어떻게 돌아가는 거야.. --; 라는 생각이 든다.. 나도 잘모른다. 그런데 가장 중요한것은 global영역에 myApp라는 변수가 선언되어 있다는 사실이다. myApp 라는 instance가 이 프로그램의 instance이다. --a (최초의 프로그램으로 인스턴스화..) 그리고, CWinApp를 상속한 CMyApp에 있는 유일한 함수 initInstance 에서 실제 window를 만들어준다.(InitInstance함수는 응용 프로그램이 처음 생길 때, 곡 window가 생성되기전, 응용 프로그램이 시작한 바로 다음에 호출된다) 이 부분에서 CMainWindow의 instance를 만들어 멤버 변수인 m_pMainWnd로 pointing한다. 이제 window는 생성 되었다. 그렇지만, 기억해야 할 것이 아직 window는 보이지 않는다는 사실이다. 그래서, CMainWindow의 pointer(m_pMainWindow)를 통해서 ShowWindow와 UpdateWindow를 호출해 준다. 그리고 TRUE를 return 함으로써 다음 작업으로 진행 할 수 있게 해준다.... 흘. 영서라 뭔소린지 하나도 모르겠네~ 캬캬.. ''' to be continue..'''[[BR]]
         그리고, 그 다음으로 진행되는 것이. CMainWindow에 있는 OnPaint라는 함수. window의 client 영역에 무언가를 그리는 함수가 호출된다. (그 전에 이것 저것 많이 있겠지만... 뭐 매크로를 통해 messagemap 관련 entry라던지.. 이런것들을 선언해 주는 작업.. --a) 그래서, DrawText를 이용해 화면 중앙에 "Hello, MFC"를 그린다. 그러면 이 프로그램의 기능(?)은 끝이다.[[BR]]
  • ProjectZephyrus/ClientJourney . . . . 9 matches
         ["프로그램내에서의주석"]
          * 학교에서의 작업의 단점중 하나는 고정된 장소와 고정된 스케줄을 만들기가 쉽지 않다는 점이다. 학교시간표 보고 빈 시간대를 맞춰야 하고, 그 사람은 또 그 사람 나름대로의 스케줄이 따로 존재한다. 시험이라던지, 동아리 활동이라던지 등등. 이 경우 팀원별 스케줄을 보고 팀내 기여도를 예상한다음 그 기여도를 줄여주도록 해야 서로가 부담이 적을 것이다. 단, 위에서 언급한대로 개발중 지속적인 학습과정이 있는 이상, 중간 참여는 그만큼 어렵게 된다. CVS가 있을 경우 해당 코드의 변화를 지속적으로 관찰해나가야 하며, 외부에 있는 사람은 내부 작업자에게 필요에 따라 해당 문서를 요구해야 한다. (내부 작업자가 어떤 욕을 하건 -_-; 나중에 다시 참여시의 리스크를 줄이려면) 내부 작업자는 그 변화과정을 계속 기록을 남겨야 할 것이다. (Configuration Management 가 되겠지.)
          * 이번 프로젝트의 목적은 Java Study + Team Project 경험이라고 보아야 할 것이다. 아쉽게도 처음에 공부할 것을 목적으로 이 팀을 제안한 사람들은 자신의 목적과 팀의 목적을 일치시키지 못했고, 이는 개인의 스케줄관리의 우선순위 정의 실패 (라고 생각한다. 팀 입장에선. 개인의 경우야 우선순위들이 다를테니 할말없지만, 그로 인한 손실에 대해서 아쉬워할정도라면 개인의 실패와도 연결을 시켜야겠지)로 이어졌다고 본다. (왜 초반 제안자들보다 후반 참여자들이 더 열심히 뛰었을까) 한편, 선배의 입장으로선 팀의 목적인 개개인의 실력향상부분을 간과하고 혼자서 너무 많이 진행했다는 점에선 또 개인의 목적과 팀의 목적의 불일치로서 이 또한 실패이다. 완성된 프로그램만이 중요한건 아닐것이다. (하지만, 나의 경우 Java Study 와 Team Project 경험 향상도 내 목적중 하나가 되므로, 내 기여도를 올리는 것은 나에게 이익이다. Team Project 경험을 위해 PairProgramming를 했고, 대화를 위한 모델링을 했으며, CVS에 commit 을 했고, 중간에 바쁜 사람들의 스케줄을 뺐다.) 암튼, 스스로 한 만큼 얻어간다. Good Pattern 이건 Anti Pattern 이건.
         (그 이후 창섭이가 와서 영서에게 JTree관련 Solo Programming 을 시켰는데, 말이 안되는 프로그래밍을 했다. -_-; 아직 영서가 Swing 에 익숙하지 않아서 그런데, 앞의 프로그램은 어떻게 만들어졌을까 의문이 들 정도였다; 아마 5분 간격 플밍시에는 서로 앞 사람 소스작성을 한 것을 기준으로 붙여나가는 방식이기에 그 흐름을 잡고 프로그래밍을 해서 Pair 가 성립이 가능했던것 같다는 생각도 해본다. 이는 처음 프로그래밍을 하는 사람과의 PairProgramming 시 궁리해봐야 할 사항인듯)
         Client 팀은 일단 메신저와 관련한 자신들의 디자인을 설명해보는 시간을 가졌다. 사람들은 프로그래밍을 하기 전에 어떤 스타일로 구상을 하게 될까. Agile Modeling 에서 봤던가. 모델 보다는 모델링이 중요하다고 했었던 이야기. 모델링을 해 나가면서 자신의 생각을 정리하고, 프로그램을 이해해 나가는 것이 중요하기에.[[BR]]
         1002의 경우 UML을 공부한 관계로, 좀 더 구조적으로 서술 할 수 있었던 것 같다. 설명을 위해 Conceptual Model 수준의 Class Diagram 과 Sequence, 그리고 거기에 Agile Modeling 에서 잠깐 봤었던 UI 에 따른 페이지 전환 관계에 대한 그림을 하나 더 그려서 설명했다. 하나의 프로그램에 대해 여러 각도에서 바라보는 것이 프로그램을 이해하는데 더 편했던 것 같다. [[BR]]
         창섭이는 프로그램의 작동 원리에 대한 자세한 시나리오를 써서 설명을 했다. 영서가 '아. 머릿속으로는 대강 구상을 했는데, 잘 정리가 안돼요' 라고 했다. 머리로만 생각해본 것과 글이나 도표로 한번 정리를 해본 것의 차이가 크다는 것을 느꼈겠지.
         대학교들어와서 그정도로 열심히(?)공부한적은 별루 없었던거같다.. 그날 이얘기를 들은 1002형은 놀란표정이었지만 사실 그랬다.. 그러니깐 학점이 그렇게 나왔겠지.. -_-;; 암튼 일주일전에 봤던 자바 기본개념을 바탕으로 남들 다 해본 스윙 기본틀이나 메뉴같은걸 작성해봤다.. 아참 그전에 CVS사용법을 배우고, Architecture와 Design에 대해서도 들었다.. 신기하다.. 무슨 도면같았다.. 이제서야 느낀거지만 프로그램에 코딩이 차지하는비중은 1/2도 안되는구나라는걸 느꼈다.. (이제서야? --;;) 여지껏 놀은시간이 너무 아까웠다.. -_-;; --영서
  • ZeroPage . . . . 9 matches
          * 프로그램 전시회 - 미실시
          * 1회 프로그램 전시회
          * 2002 1회 [http://www.natepda.com/popup/winner.htm SK 모바일 프로그램 경진대회 대상 수상] ([\"erunc0\"])
          * 1994 삼성전자 번들용 영어 교육 프로그램
          * 1993 비디오 도매상 관리 프로그램, '작은마녀' 게임 프로그램
          * 1992 동남은행 Firm banking system, 치관 운영 관리 프로그램, 세탁소 관리 프로그램, 세일 정보 통신 재해자 관리 프로그램
  • 5인용C++스터디/다이얼로그박스 . . . . 8 matches
          1-1 Visual Stdio Microsoft Visual C++ 프로그램을 실행 시킨다
          이 부분에서 사용자가 선택하고 싶은 것을 선택을 한다. 이 Test프로그램은 Dialog based를
         대부분의 대화상자는 modal이다. modal 대화상자는 부모 프로그램이 계속 실행되기 위해서 사용자의 응답을 기다린다. 이 말은 modal 대화상자는 사용자의 입력 확인 없이 부모 프로그램의 어떤 부분도 동작시킬 수 없다. modaless 대화상자는 부모 프로그램의 실행을 막지 않는다. 이것은 다른 부분의 프로그램의 실행을 대화장자가 막지 않는다는 것이다.
         modal dialog의 예를 들면 프로그램에서 파일을 저장할 때 화면에 뜨는 Dialog를 들 수 있다.
         즉 modal dialog는 그 dialog가 닫혀지기 전에는 부모 윈도우로 마우스를 이용한 focus이동을 할 수 없다. 따라서, dialog를 닫지 않는 이상 main window프로그램을 이용할 수 없다.
  • Ant . . . . 8 matches
         Platform 독립적인 Java 의 프로그램 컴파일, 배포 도구 이다. 비슷한 역할로 Unix의 make 툴과 Windows에서 프로그램 Installer 를 생각할수 있다.
          make.gnumake,nmake,jam 과 같은 다른 Build 툴은 놔두고 왜 Ant 를 써야하는가에 대한 질문이다. Java 기반으로 프로그램을 짜고 컴파일 및 배포용 쉘 프로그램을 짜봤는가? 해봤다면 그것의 어려움을 잘 알것이다. 각 [OS] 마다 쉘 스크립트가 다르고 일반적으로 사용하고 있는 Unix 에는 또 각종 쉘들이 존재한다. 윈도우 쉘 또한 복잡하긴 매한가지이고 프로그램을 모두 작성하고 컴파일 및 배포 쉘 스크립트를 작성하기 위해서 이것들을 모두 작성하는것 자체가 프로그래머에게 또 하나의 고난이 아닐까 생각한다.(즉, 쉘 프로그램을 배워야 한다는 의미이다.)
         Ant 는 OS Indepenent 하게 프로그램을 Build 할 수 있는 환경을 제공해준다. build.xml 이란 Build 파일을 작성해서 그 내용에 따라 Build 를 진행해 나갈 수 있다. Ant 는 ["Java"] 에서 거의 표준으로 굳혀져가고 있으며, 거의 모든 IDE들이 Ant 를 지원한다.
          실행 파일 ant는 Unix 계열에서는 shell 스크립트로 Windows 계열에서는 ant.bat 라는 배치파일로 배포됩니다. 내부에 보면 java 프로그램을 실행하는데, 다음과 같이 자신이 직접할 수도 있습니다.
  • Linux/필수명령어/용법 . . . . 8 matches
         프로그램을 지금이 아닌 나중에 실행하도록 예약한다.
         : 실행될 프로그램들과 스케줄의 cron 데몬을 구성한다.
         : 디렉토리를 새로 만들기 위해 mkdir 명령을 사용한다.
         프로그램이 수행되는 시간을 측정한다.
         등록된 path를 통해서 특정 프로그램을 찾는다.
         - which 프로그램
         만일 사용자의 path가 매우 긴 경우에 유용하게 사용될 수 있다. find와 유사한 기능이지만 path안에 있는 프로그램을 찾을 때 간단하게 사용된다.
         지정된 path 안에서 tetries 프로그램을 찾는다.
  • MoreEffectiveC++/Techniques1of3 . . . . 8 matches
         '''첫번째'''로 만들어지는 객체의 위치이다. 위의 제시된 두가지의 방법에서, Printer 정적(staitc) 객체가 하나는 friend로 클래스의 제어권을 획득한 함수 내부에 있고, 또 하나는 클래스 멤버 메소드 내부에 있다. 함수에 있는 경우에는 정적(static) 객체는 항상 만들어져 있다. 이 의미는 해당 코드의 프로그램이 시작될때 부터 아예 객체가 만들어 진다는 의미이다. 즉, 한번도 그 객체를 사용하지 않아도, 객체는 이미 만들어져 비용을 지출하게 한다. 반면에, 함수 멤버 메소드 내부에 정적(static)객체를 만들 후자의 경우에는 객체를 만드는 역할을 하는 메소드인 Printer::thePrinter 가 제일 처음 호출될때 객체가 생성된다. 이것은 C++에서 "사용하지 않는 객체에 대한 비용은 지불하지 않는다."의 설계 다소 복잡한 이념에 근간을 둔 개념이다. 그리고 이러한 복잡한 개념은 당신을 해깔리게 만든다.
         이렇게 생성자가 사역(private)인자로 들어가 버리면, 해당 클래스에서 유도되는 클래스를 만들기란 불가능 하다. 하지만 이 코드의 문제점은 makeFSA를 이용해 생성하면 항상 delete를 해주어야 한다는 점이다. 이전 예외를 다루는 부분에서도 언급했지만, 이는 자원이 세나갈 여지를 남기는 것이다. 이를 위한 STL의 auto_ptr도 참고하자.(Item 9 참고)
         이제, 단일한 객체 만들기 방법에 관한 디자인 방법은 알수 있을 것이다. 그리고, 객체를 숫자로 제어하는 것은 세가지의 생성 상황에 의해서 폭잡한 상황을 만들어 나간다는 것을 알것이다. 이것을 위해서 생성자의 사역(private)역시 설명했다. 캡슐화된 thePrinter함수는 Printer라는 단일한 객체를 제한하고, 그것을 사용할수 있게 한다. thePrinter가 대안일까. 하지만 결국 thePrinter는 C++의 일반적인 방법인 이러한 디자인의 코드를 불가능하게 한다.
         이런 디자인은 단일 Printer객체에 관해서 행하여 질수는 없다. 하지만 서로 다른 프로그램의 서로 다른 부분에서 Printer객체는 이렇게 사용되어 질수 있다. 이것 역시 허용하지 못하게하는 것까지는 필요 없을것 같은데, 아무튼 오직 하나의 프린터 객체만 유지 시킨다는 것에는 벗어나지는 않는 거다. 하지만 여기에 우리가 해왔던 object-counting방법과, 일찍이 쓴 가짜 생성자(pseudo-constructor)를 혼합해서 기능을 구현해 본다.
         절망하고 있는가? 그럼 한번 임시로나마 이식성이 떨어지는 영역에서까지 그런 아이디어를 확장해서 생각해 보자. 예를 들어서 많은 시스템 상에서 사실인, 프로그램의 주소 공간은 선형으로 배열되고, 프로그램의 스텍은 위에서 아래로 늘어 난다고 그리고 Heap영역은 밑에서 위로 늘어난다는 사실에 주목해 보자. 그림으로 표현되면 다음과 같은 모습이 된다.
         이런 방식으로 구성된 프로그램의 시스템에서 다음과 같은 방법으로 비교를 할수 있지 않을까?
         함수에서 이러한 생각은 참 의미롭다. onHeap함수내에서 onTheStack는 지역 변수(local variable)이다. 그러므로 그것은 스택에 위치할 것이고, onHeap가 불릴때 onHeap의 스텍 프레임은 아마 프로그램 스텍의 가장 위쪽에 배치 될것이다. 스택은 밑으로 증가하는 구조이기에, onTheStack는 방드시 어떠한 stack-based 변수나 객체에 비하여 더 낮은 위치의 메모리에 위치하고 있을 것이다. 만약 address 인자가 onTheStack의 위치보다 더 작다면 스택위에 있을수 없는 것이고, 이는 heap상에 위치하는 것이 되는 것이다.
  • ProjectPrometheus/Journey . . . . 8 matches
         (그래서 수요일날에는 프로그램 작성전 Menual Test 방법을 먼저 생각해두고, 프로그래밍 작성을 하는 식으로 접근함)
          어차피 AcceptanceTest 관련 코드의 경우 Server 프로그램과 독립적으로 돌아가기에 그리 걱정하지 않아도 상관없을듯. 소스는 CVS에 올려놓고 있으니 시간있을때 확인하셔도 좋을듯. --["1002"]
          * Code Review 로서 Refactoring 이 이용된다고 했다시피, Refactoring을 해 나가면서 전체 프로그램의 그림이 좀 더 이해가 갔다. 한동안 해당 프로그램에 대해서 플밍 리듬을 놓쳤을때 Refactoring 을 시도하는것도 좋은 전략이라 생각.
         상민쓰와 함께 ADO 를 이용한 부분에 대해 DB Mock Object 예제를 작성했다. 전에 상민이가 DB Layer 를 두지 않고, ADO Framework를 거의 치환하게끔 작성했다고 판단, 이번에는 내부적으로 ADO를 쓰건 가짜 데이터를 쓰건 신경쓰지 않는 방향으로 같이 작성하였다. ADO 는 기존에 ["1002"] 가 작업했던 프로그램에서 일부 사용한 소스를 고쳐썼다.
          * 한편으로 또 드는 생각은 아무리 우리가 공부를 하네 위키에 문서를 남기네 해도, 결국 저 사람에게는 '그저 저넘들 자기만족을 위한 행위' 그 이상이 아니라는 것. 피시실에서 게임을 하나 프로그램 개발을 하나 그저 '타인의 행동' 이상의 의미가 없다란 느낌이 들고 나니 서글퍼진다. 순간 울컥 하는 마음에 속으로 '차라리 자극 좀 받아보시고 거기 깔린 오락 좀 지워보시지. 젠장' 라고 읊어대었다. (갈수록 건방짐 높아져가는 ["1002"]. 솔직히 좀 화가 나서리..) 개인적으로 피시실이 사람들이 서로 개발이나 공부를 위해 시끌벅적한 작은 팀들이 많이 있고, 그 분위기에 다른 사람들이 조금이나마 휩쓸렸으면 하지만. 그러한 팀들은 늘 레포트가 나오던지 팀프로젝트가 나오던지 해야 만들어지려나.. 거참 엄청 재미도 나겠군. 역시 이상일 뿐이려나. (화이트보드 큼지막한 것이 있어도 우리가 알고리즘 구상하느냐고 써놓은 것들이 3-4일째 그대로이군.)
          * TestDrivenDevelopment 의 경우를 추구했다면 어떠했을까. TDD 의 특성상 꼭 필요한 메소드들만 있는 단순한 디자인을 유도한다라는 점에서. 이번의 경우도 Scenario 를 생각하여 프로그램 뼈대를 만들어서인지 주 Interface가 되는 메소드들외에 불필요한 메소드는 적었긴 한데, 그 대신, 신기하리만치 처음 짠 시나리오가 완벽하게 먹히었다란 생각도 든다;
          * ["1002"] 는 오늘 모임전 해당 프로그램이 Java Servlet & JSP 기반에서 돌아갈것이라 생각, Java Web Programming 에서의 MVC 패턴을 책들을 보면서 공부를 했다. 그래서 그런지, ["neocoin"] 과 전체 디자인 이야기를 할때 Java Web 에서의 MVC style 에 대해 먼저 언급하게 되었다. 그러면서 JSP Page - Servlet - Logic 객체들 로 나누고 Requirement 와 이전 수요일때 했었던 Iteration 등에서의 용어를 떠올리며 디자인을 생각하게 되었다.
  • SoJu/숙제제출 . . . . 8 matches
          printf("\n이 프로그램은 구구단 프로그램 입니다.");
          printf("\n이 프로그램은 구구단 프로그램입니다. 1~9까지의 숫자중 하나를 입력하세요.\n\n");
         //구구단 출력 프로그램 v2.1 제작자: 조현태 최종수정일: 2005.04.08
         //이프로그램은 정수를 입력받은뒤 1-9사이일 경우에만 구구단을 출력하고,
         //아닐경우에는 다시 숫자를 입력 받는 프로그램입니다.
          printf("안녕하세요? 구구단 출력 프로그램입니다.\n시킨대로 하지않으면 다운의 소지가..\n1~9사이의 정수를 입력해주세요.\n");
  • callusedHand/books . . . . 8 matches
          공개 소스 방식의 개발은 많은 개발자들의 자발적인 참여를 이끌어낼 수 있습니다. 그렇기 때문에 낭비라고 볼 수 있는 많은 동류의 소프트웨어 개발, 무수히 많은 패치들, 중복된 작업들이 존재합니다. 그리고 이런 양상은 혼란스러워 보입니다. 하지만 이것을 더 나은 소프트웨어를 개발하기 위한 과정이라고 보는 것이 타당할 듯 합니다. 소프트웨어 산업에도 약육강식, 적자생존의 법칙이 적용됩니다. 엔드 유저가 찾고 엔드 유저의 눈에 보이는 것은 경쟁 속에서 살아남은 몇 가지 소프트웨어입니다. 그리고 개발자들의 자발적인 참여는 성당 개발 방식에서 개발자들을 기계화하는 것과는 다릅니다. 참여 개발자라면 적어도 그 프로그램에 대한 관심, 열정을 가지고 있으며 이는 자율이라는 점에서 더욱 힘을 얻어 개발자는 개발에 열중하게 될 것입니다. 이럴때 개인의 창의력, 프로그래밍 능력이 극대화될 수 있을 겁니다.
          저는 개발자의 필요에 의해 소프트웨어 개발이 진행되기 때문에 정작 엔드 유저가 필요로 하는 프로그램이 적다는 말에 반대합니다. 개발자도 사용자입니다. 개발자는 컴퓨터를 개발의 도구로만 보지 않습니다. 채팅방에서 시시콜콜한 대화를 나눌 수도 있고, 음악을 듣거나 영화를 볼 수도 있습니다. 바로 이러한 입장에서 개발의 필요가 나타나는 것입니다. 그리고 소비자의 필요와 동 떨어진, 컴퓨터 과학에 치우친 개발이라고 해도 이것은 컴퓨터 산업에 힘을 실어주기 마련입니다. 미분, 적분과 같은 실생활과 관계가 없을 것 같은 이론이 오늘날 여러 산업 분야에 큰 토대가 되고 있지 않습니까?
          오픈 소스 방식의 개발을 무료 프로그램 개발로 여기는 것은 잘못된 생각입니다. 오픈 소스방식의 개발은 단지 소프트웨어 개발론 중 하나일 뿐입니다. 시장에 내다팔 상품을 오픈 소스 개발 방식으로 만들어 낼 수도 있습니다. . 오픈 소스 방식의 개발을 통해서도 얼마든지 수익을 창출할 수 있으며 근래의 리눅스 업체들이 이를 뒷받침해 주고 있습니다. 왜 독점적 소프트웨어를 가지고 돈을 버는 것보다 불리하다고 생각합니까? 레드햇의 로버트 영의 말을 유심히 들어볼 필요가 있습니다. “대부분의 산업 국가에서는 그냥 수도꼭지만 틀면 물을 마실 수 있는데 어떻게 에비앙이 수백만 달러의 물을 이 시장에 팔 수 있는가? 간단히 말하자면 에비앙이라는 브랜드는 믿으면서 여러분의 수도꼭지의 물은 믿을 수 없다는 불합리한 두려움 때문이라고 할 수 있다. 바로 이점이 비공식 레드햇 리눅스 복사본을 쓰지 않고 50달러짜리 공식 레드햇 리눅스를 많은 사람들이 선호하는 이유이다. 케찹은 향료를 가미한 토마토 튜브에 불과하다. 여러분은 토마토, 식초와 같은 자유롭게 배포할 수 있는 물건들로 부엌에서 케찹을 만들 수 있다. 하지만 소비자는 왜 부엌에서 케찹을 만들고 있지 않으며 하인즈는 어떻게 해서 케찹 시장의 80%이상을 점유하고 있는가? 편리함은 원인의 일부분 뿐이며 진정한 원인은 하인즈가 소비자의 마음 속에 케찹의 맛을 정의할 수 있었기 때문이다. 이제는 하인즈 케찹의 브랜드가 큰 영향력을 가지고 있기 때문에 소비자인 우리는 하인즈 케찹이 더 좋다고 생각해 버린다.”
          프로그램에 치명적인 버그가 있을 때 책임지고 고쳐 줄 사람이 없기 때문에 오픈 소스 개발 방식은 위험하다는 주장도 오픈 소스 개발 방식에 대한 오해에서 비롯된 것이라고 생각합니다. 위에서 말했지만 오픈 소스 개발 방식은 수많은 소프트웨어 개발 방법 중 하나 일 뿐입니다. 기존의 많은 오픈 소스 프로젝트가 개발자들의 취미, 재미라는 동기에서 비롯되었기 때문에 사후 관리가 미미하고 개발자들이 개발을 포기하는 경우 엔드 유저는 피해를 볼 수 밖에 없었던 것입니다.
          소프트웨어 공학이란 최소의 경비로 품질 높은 소프트웨어를 개발, 유지보수하기 위한 방법론에 관한 학문입니다. 프로그램을 구현하는 단순한 작업 이상의 다양한 측면을 기지고 있으며 이는 일반적으로 요구 사항 분석, 시스템 디자인, 세부 디자인, 구현, 통합, 필드 테스트, 사후 지원과 같은 공정을 거칩니다. 소프트웨어 공학과 오픈 소스 개발 방식을 비교해 볼 때 오픈 소스 개발 방식이 갖는 문제점을 찾을 수 있습니다.
          요구 사항 분석, 시스템 디자인, 세부 디자인 과정이 구체적으로 진행되지 않거나 문서화가 이루어 지고 있지않는 점입니다. 이는 프로그램의 유지보수, 재사용 측면에서 볼 때 심각한 문제로 한 프로그램을 개선시키고자 하는 개발자가 있을 때 디자인에 관한 문서가 없으면 많은 시행 착오를 겪을 수 밖에 없으며. 좋은 코드들이 그냥 버려지게 되는 경우가 많아 집니다. 이것들은 분명히 낭비라고 볼 수 있습니다. 그러므로 문서화 할 필요가 있습니다.
  • 데블스캠프2009/화요일후기 . . . . 8 matches
          * '''강소현''' - API가 뭔지, 그걸로 어떠어떠한 프로그램을 만들 수 있는 지 알게된 수업이었어요. 왠지 마지막 피아노...최종귀축 여동생 플랑도르 같은 거도 연주하게 할 수 있지 않을까하는 느낌이 ㅇㅁㅇ(!) 직접 연주하는 프로그램인 거같긴 했지만ㅋㅋ;;
          * '''서민관''' - 개인적으로 이번 화요일 수업에서 가장 마음에 드는 수업이었습니다. 이런 식으로 시간의 흐름에 따라서 추상화 개념이 발전하는 모습을 보고 있으니 참 대단하다는 생각이 들었습니다. 그리고 반복을 줄이기 위한 방법들(ex - 반복문, 자료형, class) 각각이 무엇을 위해서 만들어졌는지를 알아보는 것으로 평소에 아무 생각 없이 썼던 것을 다시 한 번 생각해 보는 기회가 되었습니다. 그리고 수업을 듣고 나니 추상화를 통해서 긴 프로그램 코드를 각각의 함수로 쪼개는 방법이 왜 중요한지도 조금 더 잘 알겠네요.
          * [김준석] - 같은 것을 반복하기 위해 우리는 자주 copy &paste를 사용한다. 단순히 키보드 두번만 누르면 똑같은 것이 한번더 만들어지는 좋은 단축키 이다. 하지만 사실 이 반복되는것을 우리는 단순히 단축키를 누름으로서 만들어지는것은 과거의 저급언어를 사용할때나 만들어지는 반복의 숙달이다. 평소 자주 알고리즘을 연구하자는 말을 들을것이다. 문제를 푸는것 만에는 사실 극히 특별한 알고리즘이 필요없다고 생각한다. 살면서 어떻게든 간단반복으로 대부분은 풀수 있을테니까. 알고리즘을 연구하는것은 우리가 사용하는 컴퓨터의 부담을 줄이기 위해 만들며 이는 단순 반복되는 계산과정을 줄여줘 자원의 낭비를 줄여준다. 이렇듯 컴퓨터의 반복은 줄이면서 직접 키보드를 치며 반복하고있는 나의 자원소비량은 어떤가? 나는 왜 반복을 하고 있는가? 이 긴 코드를 줄일수 있는 방법은 정녕 없는것인가?라는 컴퓨터 알고리즘을 생각하듯 나를 위한 알고리즘을 생각을 해보았나? 대부분의 문서를 한장으로 줄여서 요약할수 있다는것을 가르쳐주는 One Page Proposal이라는 책에서는 "온갖 미사여구를 넣어 50page나 100page가 넘어가는 문서는 문서를 받은 사람의 책상에서 쌓이고 쌓여 결국에는 보여지지도 못하고 세절기에 들어가 버린다. 정말 자신이 있다면 알짜배기만 모아서 1Page로 보기 좋게 만들어라." 맞는 말이다. 아무리 길게 만든 프로그램이라도 20줄도 안되는 프로그램과 성능이 똑같다면 당연히 보기도 좋고 관리하기도 좋은 20줄 프로그램을 쓰겠지.이 20줄 프로그램을 쉽게 만들기위해 사람은 자신이 편리하게 개발과 연구를 했다. 그렇게 편리하도록 발달하는 과정. 그 생각을 잘보여준 세미나였다고 생각한다. 과연 네이버에서 자동완성됬던 Kesarr.
  • 새싹교실/2012/AClass/5회차 . . . . 8 matches
          3. 3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
         •아래와 같은 출력이 나오는 프로그램을 어떻게하면 짤 수 있는지 생각해서 써보도록 합시다. 그 방법이 확실하다고 생각되면 짜보아도 좋아요
         3.3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
         아래와 같은 출력이 나오는 프로그램을 어떻게하면 짤 수 있는지 생각해서 써보도록 합시다. 그 방법이 확실하다고 생각되면 짜보아도 좋아요
         3.문자열이 대칭인경우 Palindrome, 아닌경우 Not Palindrome을 출력하는 프로그램을 작성해봅시다.
         3.3,4,6,7,9,3,2를 입력으로 넣은 후 2,3,9,7,6,4,3순서로 출력하는 프로그램을 작성해보세요.(스택)
         5.아래와 같은 출력이 나오는 프로그램을 어떻게하면 짤 수 있는지 생각해서 써보도록 합시다. 그 방법이 확실하다고 생각되면 짜보아도 좋아요
         3.문자열이 대칭인경우 Palindrome, 아닌경우 Not Palindrome을 출력하는 프로그램을 작성해봅시다.
  • 새싹교실/2012/절반/중간고사전 . . . . 8 matches
          * 몇 자리 숫자든 상관없이 각 자리 수의 합을 더하는 프로그램 만들기
          * 구구단 만들기
          * 삼각형만들기
          * 별찍기로 다이아몬드 모양 만들기
          * 가위바위보 게임 만들기
          * 앞으로 새싹을 게임 만들기로 진행하려고하는데 새내기들이 게임을 안 좋아한다고 해서 놀랐습니다. 당연히 좋아할 줄 알았는데 아니었어요. 컴공은 다 겜덕인줄 알았는데 나의 착각이었구나…………
          * 게임만들기
  • 작은자바이야기 . . . . 8 matches
          * 현업 Java 개발자도 놓치기 쉬운 문제들을 짚어보고, 올바른 Java 프로그램을 빠르고 깔끔하게 구현하는데 필요한 중급 수준의 지식을 전달하기 위해
          * Generics와 Reflection을 이용한 ObjectMapper 만들기
          * 라이브러리 파일(jar) 만들기(Run as -> Maven Install) - ObjectMapper를 라이브러리와 클라이언트 프로젝트로 분리.
          * ~let : 외부의 컨테이너에서 라이프사이클을 관리해주는 프로그램. 안드로이드의 activity같은 경우 외부에서 실행시켜서 동작하게 됨. 그것과 비슷한 것.
          * applet : 어플리케이션(브라우저)상에서 돌아가는 작은 프로그램.
          * servlet : 서버상에서 돌아가는 작은 프로그램. 아파치 웹서버의 모듈 방식(외부에서 http request가 날아오면 서버가 받아서 알맞은 모듈에 전달해줌.)처럼 만들어 놓은 것.
          * portlet : 포탈(관리프로그램 등)상에서 돌아가는 작은 프로그램.
  • Android/WallpaperChanger . . . . 7 matches
         = 프로그램 시나리오 =
          * 프로그램을 켠다.
         = 프로그램 작업현황 및 로그 기록소 =
          || 4/15 || 리스트 액티비티를 기본으로 만들고 기본 프로그램 구조를 잡음 ||
          || 4/25 || PathRepository를 ArrayList로 Parcelable객체로 만드는것을 성공 순서도상의 DB접근을 제한을 두어야할것 같음. 문제점 : WallpaperManagerActivity에서 Add시키고 setting하는데 객체가 날아감. 우짬.. 아! 우선 만들어놓고 setting할때만 DB에 저장시키는 방식으로 해야겠다.그리고 0으로 index가 없는것과 있는것을 표기해서 update혹은 새로 만들기를 실행하도록 하고. ||
         누군가는 이 페이지상의 많은 조언이 "섣부른 최적화"나 마찬가지라고 비판할지도 모릅니다. 미시 최적화는 때로는 효율적인 데이터 구조와 알고리즘을 개발하는 것을 더 어렵게 만든다는 것은 사실입니다. 하지만, 핸드셋과 같은 임베디드 기기에서는 때로는 별다른 선택지가 없습니다. 예를 들어, 여러분이 데스크탑에서 개발할 때 생각하는 VM의 성능에 대한 가정을 안드로이드에도 적용한다면, 여러분은 시스템 메모리를 소진해버리는 코드를 꽤나 작성해 버리고 말 것입니다. 이것은 여러분의 애플리케이션이 바닥을 기도록 할 수 있습니다 — 시스템에서 동작하는 다른 프로그램들에게 무엇을 하는지 지켜보세요!
         향상된 반복문(때로 "for-each"로 알려진 반복문)은 Iterable 인터페이스를 구현한 컬렉션들을 위해 사용될 수 있습니다. 이러한 객체들로, 반복자는 hasNext() 와 next()을 호출하는 인터페이스를 만들기 위해 할당됩니다. ArrayList의 경우 여러분이 직접 탐색하는 것이 좋을 수 있습니다만, 다른 컬렉션들에서는 향상된 반복문 구문이 명시적인 반복자의 사용과 동등한 성능을 보여줍니다.
  • DPSCChapter1 . . . . 7 matches
         ''디자인 패턴''은 객체지향 언어로 제작된 프로그램에 23개의 패턴을 제시합니다. 물론, 23개의 패턴이 객체지향 디자이너들이 필요로 할 모든 디자인의 난제들을 전부 잡아내지는 못합니다. 그럼에도 불구하고 "Gang of Four"(Gamma et al.)에서 제시한 23개의 패턴은 좋은 디자인의 든든한 출발을 보장합니다. 이 23개의 패턴은 Smalltalk class libraries에 기반을한 디자인 수준(design-level) 분석(analog)입니다. 이 패턴을 이용해서 모든 문제를 해결할 수는 없지만, 전반적이고, 실제 디자인의 다양한 문제들을 위한 해결책을 위한 유용한 지식들의 기반을 제공할것입니다. 또, 이 패턴을 통해서 전문가 수준의 디자인 지식을 취득하고, 우아하고, 사후 관리가 편하고, 확장하기 쉬운 객체지향 프로그램 개발에 기초 지식을 제공하는데 톡톡한 역할을 할것입니다.
         다른 이론적인 테두리안에서 프로그램(''전통적인 절차식 스타일'')을 한 후 객체 지향 언어를 배우는 것은 어렵다. Smalltalk 안에서 복합된 응용 프로그램 하는 것을 배우는 것은 복잡한 새로운 기술과 문제에 대한 새로운 사고 방식을 요구한다.(" e.g Rosson & Carroll, 1990; Singley, & Alpert, 1991") "Smalltalk" 라는 산을 오르는 것은 확실히 사소한 것이 아니다. 일단 당신이 간단한 Smalltalk 응용 프로그램을 만드는 데 자신이 있는 경지에 닿았다고 해도, 아직 전문가의 경지와는 분명한 차이가 있다.
          * 새로운 문제를 찾고 문제 해결을 위한 기존의 모듈을 재사용하기 위해, 또는 정적이거나 동적인 관점 양쪽 측면에서 프로그램을 이해하기 위해 어떻게 Smalltalk IDE 툴을 사용해야 하는가에 대해
          * 응용 프로그램 영역(보험, 쌍방향 통신, 등등.) 과 시스템 개발(윈도우즈 시스템, 컴파일러, 등등.)의 많은 새로운 예제들을 다룬다.
  • EightQueenProblem2 . . . . 7 matches
         EightQueenProblem을 해결하신 것을 축하드립니다. EightQueenProblem 페이지에 개발 시간과 소스 라인 수 등을 기록하셨나요? 사실 문제는 하나가 더 있습니다. 대부분의 프로그래밍 숙제/대회는 코드의 디자인은 잘 따지지 않습니다. 하지만 실세계의 문제에서는 코드의 적응도(adaptability)가 매우 중요한 요소가 됩니다. 자신이 작성한 프로그램이 얼마나 새로운 요구사항에 잘 적응을 하는지를 보면, 자신이 얼마나 디자인을 제대로 혹은 엉망으로 했는지 알 수 있습니다. 디자인 질에 대한 바로미터가 되는 것이죠.
         새 문제는 다음과 같습니다. 자신이 작성한 프로그램을 수정을 해서, EightQueenProblem의 일반적인 문제를 푸는 것입니다. 즉, 8X8에서 8개의 여왕을 배치하는 서로 다른 모든 해법(총 92가지)을 구하는 것입니다.
         EightQueenProblem에서와 마찬가지로 프로그램 작성 후에 다음 칸을 채워주세요.
         ''"소스수정 없음"은 잘 이해가 되지 않습니다. 첫번째와 두번째의 요구사항, 즉 기대하는 결과가 다르다는 점을 생각할 때 프로그램이 조금이라도 달라져야 합니다. 분명 처음에는 모든 해를 구하라는 요구조건이 없었는데 그렇게 했다면 당시로서는 그건 YAGNI(You Aren't Gonna Need It)이거나 혹은 고객이 원하지 않는 프로그램 아닐까요?''
         만약 이 모든 것을 완료했고, 뭔가 더 도전할 것을 찾는다면, N-Queens Problem을 풀면 됩니다. (요구사항의 또 다른 변화! :( ) NXN 체스판에서 N개의 여왕을 배치하는 프로그램이 되도록 수정하는 겁니다.
          ''네. 만약 그렇게 되도록 프로그램을 수정하는데 어려움이 있거나 시간이 많이 걸린다면 처음 디자인이 그다지 적응도가 높지 못했다는 반증일 수 있겠죠.''
  • MFCStudy_2001 . . . . 7 matches
         목표: MFC를 이용, 프로그램을 작성한다. [[BR]]
          * 오목 - 1인용 인공지능 오목을 만들기
          == 프로그램 ==
         [상민]:시원 섭섭하네. 뭐 암튼 말말말은 채팅 형식으로 가자 더 좋은 레이아웃 있으면 누가 추천해줘 그리고 2월 3일까지 줘 저기 위에 채울꺼 줘[[BR]]
         [상협]:이렇게 MFC프로그램을 짤 수 있도록 이끌어주고 가르쳐준 상민이형한테 정말 너무 고마울 따름입니다.[[BR]]
         [창섭]:파트너 상협이꺼. 오... 상당히 똑똑했다. 어쩌다가 갑자기 연산오류로 종료하는 경우도 있었지만 그래도 멋진 프로그램이다. 호오.. 파트너로써 미안한걸..^^;[[BR]]
         [창섭]:인수꺼. 시작하자마자 열라 빨리 움직이는 데 놀랐다. -,.- 허무했던것은.. 겜을 이겨도 져도 '끝' 이란 말로 프로그램이 닫히니까 어찌나 허무했던지..ㅋㅋ 자네도 짱일세. ^^[[BR]]
  • NeoCoin/Server . . . . 7 matches
         컴파일 후에 지우기 쉽게 /tmp 에 풀어내는 것이다. 참고로 데비안은 프로그램
         8. 커널 이미지, 커널 문서, 커널 소스, 커널 헤더 패키지를 각각 만들기 위해
         -리눅스에서 시디 이미지 만들기
         특정 디렉토리 이미지 만들기
         -mc를 예전 알짜처럼 만들기
         -어떤 프로그램이 어떤 포트를 사용하는지...
         http://members.optusnet.com.au/ckolivas/kernel/ 리눅스커널 2.4.19 대의 여러 성능 향상 관련 패치 모음이에요. 벤치마크 보면 눈에 띠게 향상되네요. [http://contest.kolivas.net 요건 벤치마크 프로그램입니다] --동희
  • PrivateHomepageMaking . . . . 7 matches
         = 개인 홈페이지 만들기 =
         만들어야하기 때문에 실제로 그 프로그램을 어느정도 뜯어 고칠 수 있는 능력이 필요하다.
         대략 보드 기반의 홈페이지는 몇가지 공통적으로 이용하는 프로그램들이 많이 존재한다.
         물론 프로그램에 관심이 있는 사람은 이 기회에 게시판으 한번정도 짜보는 것도 나쁘지 않을 것이다.
         일반적으로 이용하는 게시판 프로그램으로는 다음의 것들이 있다.
         보통 PHP, MySQL을 이용한 프로그램들이 대부분이다.
         BLOG 패키지 기반 홈페이지 역시 사이월드를 비롯한 사이트들이 유행을 하면서 만들어진 프로그램들이 존재한다.
  • STLErrorDecryptor . . . . 7 matches
         가) 여느 개발도구와 마찬가지로 VC의 IDE는 그 자체에 빌드용 장치(컴파일러와 링커)를 내장하고 있지 않고, 외부에 있는 컴파일러와 링커를 실행해서 프로그램을 빌드합니다. 컴파일러와 링커의 출력 결과는 실제로 콘솔로 빠져 나오는 출력이지만, 네임드 파이프(named pipe)란 것을 통해 VC의 IDE로 다시 들어가 '''출력(output)''' 윈도우에 디스플레이되는 것입니다.
         컴파일을 맡은 프로그램은 CL.EXE란 것인데, 이 프로그램은 C/C++컴파일러(C2.DLL+C1XX.DLL)를 내부적으로 실행시키는 프론트엔드의 역할만을 맡습니다. VC IDE는 컴파일시 이 프로그램을 사용하도록 내정되어 있습니다.
         = 필요한 프로그램과 도구를 받아서 준비하기 =
         프록시 CL의 에러 필터링을 활성화하거나 비활성화하는 역할을 맡은 프로그램인 STLtask.exe를 실행시켜 태스크바에 띄우는 과정입니다.
         가) VC++를 실행시키고, 아래와 같이 프로그램을 써 봅시다.
  • SharedSourceProgram . . . . 7 matches
         소스공유 프로그램(Shared Source Program)을 통해 주요 MS 제품군의 소스에 접근할 수 잇는 권한을 획득한다. 특히 소스공유 프로그램은 현재 한국과 호주 양국 MVP에게만 부여된 권한이다.
         리눅스를 정부 프로그램으로 채택하는 국가들이 세계적으로 늘어나고 있는 가운데, 마이크로소프트(MS)가 오피스 소스코드 공개를 통해 오픈소스 진영에 적극 맞서고 있다.
         MS는 3년 전부터 `소스공유 이니셔티브'(Shared Source Initiative)라는 프로그램을 통해 협력업체들과 정부에 윈도 소스코드를 공개해왔다. 특히 최근 몇 년간 각 국 정부가 오픈 소스 진영으로 전환하는 것을 막기 위해, 정부와 특정 회사가 소스코드를 볼 수 있는 프로그램을 확대해왔다.
         공대차원 학회 지원 프로그램의 한가지 방법으로 Shared Source Program 이 준비되고 있다고 한다.
         돈을내고 라이센스를 받아야 하는 프로그램이라 학교측에서도 그전에 컴공의 각 학회들에게 어떤 방식으로 SSP를 활용해 나갈지를 먼저 물어보고 실제로 진행을 할 예정인가보다.
  • TAOCP/Exercises . . . . 7 matches
         0000~0099메모리 셀을 모두 0으로 만드는 프로그램
          프로그램을 3000부터 로드해야 되는데... 아직 모르는게 많다
         (b) rI4에 주어진 N과 rJ를 같게 만들기(0 < N ≤ 3000)
         프로그램은 3000부터 시작
         프로그램 실행 뒤에도 모든 메모리 셀의 값이 변하지 말아야 함.
         X^13이 rA에 들어가는 프로그램 작성(X^13이 한 WORD를 넘지 않는다고 가정)
         + e d c b a 가 rA에 저장되는 프로그램 작성
  • UnixSocketProgrammingAndWindowsImplementation . . . . 7 matches
          // 에러가 났을경우( sockfd == -1) 에러를 출력하고 프로그램 종료.
         = Server 가 될 프로그램에 필요한 함수 =
         = Client 가 될 프로그램에 필요한 함수 =
          ※ 이를 이야기 해보고 client의 프로그램의 네트워크 정보(struct sockaddr_in)에는 무엇이 들어가야하는지 이야기해보자.
         // 프로그램이 끝날 때, 항상 WSACleanup()으로 리소스를 해제해야한다.
         // 이것은 프로그램이 socket과 연결할 정보를 담고있다.
          위의 server 에 접속 하는 client 프로그램을 짜고, Server가 보내는 메세지인 "Hello, World!"란 문장을 clinet 화면에 출력하도록 한다.
  • ZeroPageHistory . . . . 7 matches
          * MFC 그룹 스터디 - 지뢰찾기 만들기
          * 치과 운영 관리 프로그램
          * 세탁소 관리 프로그램
          * 세일 정보 통신 재해자 관리 프로그램
          * 비디오 도매상 관리 프로그램
          * '작은마녀' 게임 프로그램
          * 삼성전자 번들용 영어 교육 프로그램
  • ZeroPageMagazine . . . . 7 matches
         [정모/2004.7.26]에서 논의한 학회지 만들기를 위한 페이지(페이지 이름은 임시로 지음)
          밑에 자세한 설명이 있네요. 프로토타입 만들기를 하는 대상은 결과물에 한정되지 않고, '리허설'처럼 그 과정도 해당합니다.
         프로토타입을 만든다는 것은 말 그대로 '시제품'을 만드는 겁니다. 해당 작업을 완벽하게 하기 전에, 무언가 내가 올바르게 하는 일인건지 리허설, 혹은 실험용 간단한 모델을 만드는 작업을 이야기하죠. 건축으로 친다면 건물 만들기 전 모델을 만들고 선풍기 바람 돌려서 안무너지나 알아본다던지, 혹은 PDA 프로그램만들기 전에 PDA 종이 모형을 만들고 그 안에 스크린을 종이로 구성해본다던지 등을 예로 둘 수 있겠습니다.
         관심 가져주시는 분들이 많군요. 그럼 가벼운 마음으로 만들기를 시작해보죠. 참여하실 분은 붙어주세요. --[Leonardong]
         8월 23일 정모가 끝나고 만들기 시작하죠. --[Leonardong]
  • ZeroPageServer/SubVersion . . . . 7 matches
          * 기본적인 이용법은 거의 cvs와 동일하다. 심지어는 콘솔의 명령어도 거의 동일하다고 생각된다. 하물며 Tortoise같은 프로그램인데 오죽하랴. 다른 것은 저장소를 표기하는 방법이 다르다.
          * SSH를 통해서 접근을 하는 경우 상당히 잦은 패스워드 입력 창을 보게됩니다. 이를 해결하기 위해서 몇가지 방법이 존재하는데.. ''(터널링 프로토콜로 SSH를 이용하기 때문에 어찌하였던 SSH 프로그램을 등록해야함.)''
          * SSH프로그램의 옵션으로 패스워드를 주는 방법
          puttygen: rsa, dsa 공개키/비밀키 쌍 생성 프로그램
          pageant: 키관리 프로그램
          소스를 가져온 것이기 때문에 pageant와 호환이 되는 것이다. 푸티 비호환 프로그램에서는
          그 프로그램에 맞는 키 에이전트를 설치하면 된다.
  • 덜덜덜/숙제제출페이지 . . . . 7 matches
          * multiplication : 구구단 프로그램 *
         {{{~cpp /*학생 다섯명의 세 과목 평균을 구하는 프로그램입니다.
          * 프로그램 이에요^^ *
         음... 이름을 알파벳 1글자 이상 입력하면 프로그램이 이상해져 버립니다 ㅋ (힌트 : 이중배열 or 구조체) - [조동영]
         *5명의 성적을 입력받아 평균내는 프로그램!! *
         /* 프로그램입니다. */
          * 다섯명의 성적을 입력받아 평균을 내는 프로그램 *
  • 비행기게임 . . . . 7 matches
          * 적의 미사일도 다양하게 만들기(유도 미사일등)
          * 각 스테이지 만들기(한 6판 정도..)
          * 비행기에 다양한 무기 만들기
          * 전체 화면 만들기
          * 행동 함수 만들기, 적기 미사일 나가게 하기
          암튼. 초반의 열정이 후반의 끈기로 이어지려면, 해당 일에 대한 좋은 방법들을 중간에 계속 궁리하고, 적용해봐야겠지. 개인적인 조언이라면, 초반에 너무 그래픽 등에 많이 신경쓰지 않는것이 낫다고 생각함. 일단은 전반적인 틀과 게임 엔진을 만든다는 기분으로 하고, 그 엔진이 자신이 원하는 아이디어를 수용할 수 있는가에 더 촛점을 맞추는게 낫지 않을까 함. 단, 생각은 전반적인 부분을 보되, 구현을 쉽게 하기 위해서는 구체적 예제 데이터를 가지고 작업하는것이 효율적이겠지. 그리고 그 예제 데이터를 기반으로 일종의 SpikeSolution식으로 구현을 한뒤, 그 구현된 프로그램을 보고 다시 코드를 작성하던지 또는 ["Refactoring"] 해서 일반화시키던지.(새로 짜도 얼마 시간 안걸림. 예상컨대, 아마 중반에 소스 한번 뒤집어주고 싶은 욕구가 날껄? 흐흐) --["1002"]
         일단은 작은 아이디어를 하나 정한다음 (그 뭐다냐.. 총알 피하기 폐인 게임같은거) 완성시킨뒤, 프로그램을 키워가는 것도 좋을듯. --["1002"]
  • 수학의정석 . . . . 7 matches
          SOURCE : 자신의 풀이를 먼저 적고 그것을 가지고 어떻게 프로그램을 짰는지 적어야한다. 그리고 아래에 소스를 포함하도록한다.
          CPU_CLOCKS : 시간은 기록 되지 않으며 프로그램이 수행된 시간(CPU CLOCK을 기록해야한다. 방법은 아래.)
          UPDATE : ○로 표시하며 프로그램이 일주일 동안 업데이트 되었음을 기록하는 것이다.
         (프로그램수행) // 함수들을 수행
         printf("CPU CLOCKS = %d\n", clock() - time_in); // 끝났을때 시간 - 초기 시작시간 = 프로그램 실행 시간
         return 0; // 프로그램 종료.
         제가 알기론 clock() 함수가 리턴하는 값은 프로그램이 시작된 이후로 경과한 CPU 클럭 수 이기 때문에 시스템마다 다르다고 알고 있습니다. 그래서 CLK_TCK로 나누어 초 단위로 바꾸어 비교를 하는것으로 알고있는데... 어떻게 생각하시는지...? --[상규]
  • 프로그래머가지녀야할생각 . . . . 7 matches
         전체 프로그램을 포기하는 경우가 생기곤 하죠..
         너무나 이상적이고 추상적인 생각이겠지만 '프로그래머는 사회에 이익이 되는 프로그램을 만들어야 한다'는 근본적인 생각을 갖는 건 어떨까요? 예를 들어 재미있는 오락도 좋겠지만 장애인이나 나이 많이 드신 분들을 위한 보조용프로그램 같은 것들이 많이 개발되어야 한다고 생각합니다. 전에 정보요원단 활동을 할 때 우리나라에 보급되어 있는 장애인용 프로그램들이 많이 부족한 현실을 봤었는데... 내가 만든 프로그램이 남에게 도움이 된다면 그보다 좋을 일이 또 있을까요? ^^ -- jeppy
          * 다들 인간으로써의 프로그래머를 두고 말씀하시는 것 같아 제 말이 뚱딴지처럼 들릴 것 같네요...^^;[[BR]]전 말이죠... 프로그래머는 컴퓨터를 사랑해야한다고 생각합니다. 정말 제가 생각해서 어이없는 말 같지만, 프로그래머는 컴퓨터에게 명령만 내리는 것이 아니라 컴퓨터와의 커뮤니티가 형성되어야 좋은 프로그램(인간에게가 아니라 컴에게)을 짤 수 있다고 생각합니다. 지극히 추상적이라서 반박의 여지가 많은 말이지만 그냥 그렇지 않을까 생각해봅니다. 컴퓨터에 미친 사람이라면 다음의 말에 공감을 할 지도 모르겠네요. [해커를 위한 파워핸드북]표지에 나오는 말입니다. ''''컴퓨터 속에서 흘러 다니던 비트가 내 혈관 속으로 옮겨와 흐르기 시작하고, 나는 컴퓨터와 함께 오르가즘을 느낀다.'''' --["창섭"]
          * 위엣 말이 컴퓨터 자체에 관한 기계적 이야기라면 인간적 이야기도 추가하고 싶어요. 프로그래머는 프로그램 이전에 인간을 먼저 생각해야 한다는 것이죠... 상민이 형이 줬던 V노트에 나온 말이 인상깊습니다. ''''크래커든 프로그래머든 둘다 시작은 해커를 꿈꾼 젊은이 였으며, 인격을 가진 사람이다. 악이 없이 선이 없듯이 크래커가 영원히 존재하지 않을수는 없을지라도 지금 당신의 열정과 땀으로 주어질 선택이 진정한 존경으로 돌아올수 있도록 유혹을 이겨낸 진짜 승자가 되어야 하지 않을까......'''' --["창섭"]
  • APlusProject/ENG . . . . 6 matches
         === asp.net웹 응용프로그램 만들기 할때 에러 발생시 해결책 ===
         ->응용 프로그램 설정 "만들기" 버튼 누름!!
         ==== 프로그램 ====
         프로그램 확인 했습니다. 잘 되네요. 수고하셨습니다. 한편 추가된 페이지들로 인해 기본 설계와 상세 설계가 약간 변경해야 할 듯 합니다. 구현 하면서 설계때 생각치 못했던 게 나와서 설계 문서에 영향을 주리라는 건 이미 예상했던 일입니다. --재동
  • C++스터디_2005여름 . . . . 6 matches
         || 05. 8. 7 || 보창 아영 규완 도연 수민 || 객체지향 실습. 프로그램짜기 ||
         || 05. 8. 11 || 보창 아영 유선 도연 수민 || 객체지향 실습. 간단한 프로그램 짜기 ||
         || 05. 8. 16 || 보창 아영 규완 도연 수민 || c++ 전반적인 용어 정리. 도서관리 프로그램 짜기 ||
         || 05. 8. 18 || 보창 아영 유선 도연 || 상속. 도서관리 프로그램을 실제로 함께 짜보기. ||
         [C++스터디_2005여름/도서관리프로그램]
         [C++스터디_2005여름/학점계산프로그램]
  • C/Assembly/Main . . . . 6 matches
          pushl %ebp // 현재의 명령어 Counter를 Stack에 저장함. 이 프로그램이 끝나면 stack에서 다시 꺼냄.
          leave // 프로그램의 종료. stack에서 프로그램 시작 전의 명령어를 꺼내 %ebp에 집어 넣는 역할.
          ret // 프로그램이 종료.
         따라서 프로그램이 시작하고 나갈때에는 어디서 프로그램을 시작하고 끝냈는지 위치를 저장(push)하고 꼭 반환(leave)해야한다.
  • CodeYourself . . . . 6 matches
         모두 같지는 않겠지만 전산학과에 입학한 신입생들이 언어를 배우는 단계를 보자면, ''처음엔 뭘 배우고 그다음엔 뭘 배우고 그다음엔 OS, SE'' 등등등, 정해진 순서와 틀 안에서 전산학의 이모저모를 접하게 된다. 이렇게 짜여진 순서에서 그리고 판에 박힌 수업안에 있다보면 자연히 그 안에 있는 학생들도 경직되어 있을 수 밖에 없다(다행이 중앙대학교 컴퓨터공학과에는 ZeroPage가 있다). 이렇게 느끼고 있는 상황에서 이 과제는 나에게 신선한 충격을 주었다. 신입생들은 전혀 감을 잡지 못하고 이것을 어떻게 해야 할지 선배들에게 많은 조언을 구하곤 했지만(자문요청을 받은 대부분의 선배는 ''이러이러한 방식으로 해라'' 라고 하면서 거의 C 문법에 가깝게 일기를 작성했다), 나는 이번 과제만큼은 선배들의 도움을 얻지 말고 자기 '''스스로''' 결과물을 만들었으면 하는 바램을 갖고 있다. 이번에 작성했던 자신의 프로그램 (그렇다. 일기가 아니고 프로그램이다)과 앞으로 자신이 배우게 될 프로그램을 비교해보았으면 좋을 것 같다. 그리고 순수하게 신입생의 사고로 만들어진 그 코드를 보고싶은 마음도 간절하다. - [임인택]
         C언어로 일기를 쓰라는 숙제가 있었나요? 재미있네요. 그런데 이건 좀 어려운 과제 같습니다. 왜냐하면, 프로그래밍의 일상적 시간 흐름과 정반대가 되기 때문입니다. 무슨 말이냐면, 프로그래밍이라는 행위는 시간의 순방향입니다. 내가 작성한 프로그램은 미래에 일어날 사건(실행)에 대한 청사진이죠. 하지만 일기는 주로 시간의 역방향입니다. 과거에 일어났던 일들을 정리, 기록하는 성격이 강하죠. 프로그램으로 과거의 일을 기록한다는 것은 어찌보면 쉽지만 또 어찌보면 매우 어려운 문제일수도 있습니다. 신입생 입장에서는 시간의 흐름에 따라 일어났던 과거의 이벤트 연속을 적는 수준이면 될 것 같습니다. 아쉬운 것은, 이렇게 되면 조건 분기문을 활용하기가 어렵다는 점입니다. 힌트를 준다면, 리팩토링을 하면 가능합니다(내 하루의 중복을 어떻게 제거할지 생각해 보세요 -- higher-order function이 나올 정도면 상당히 진전된 것입니다). 어차피 과거의 기록 역시 "기술"(description)의 일종이고, 미래의 계획도 "기술"이니까요.
         이런 훈련이 되면 "과거형 프로그래밍"이 가능해집니다. 마치 과거에 일어난 일에 대한 기술인 것처럼 프로그램을 작성하는 것이죠. 이것은 일종의 사고의 도구입니다. 이런 실험이 있습니다. 자신의 교수가 다가오는 여름휴가 때 뭘 할지 상상을 해서 종이에 적어보라고 학생들에게 시켰습니다. 다른 그룹의 학생에게는 그 교수가 이미 여름휴가를 다녀왔다고 가정을 하고 과거형으로 무슨 일을 했는지 적어보라고 했습니다. 후자의 그룹이 쓴 내용이 훨씬 더 풍부하고 자세했다고 합니다.
  • DPSCChapter3 . . . . 6 matches
          연관된 혹은 의존적인 객체들의 집합을 만들기 위한 인터페이스를 제공한다. 클라이언트가 구체적인 클래스들에 대한 구체화
          우선 첫째로, 우리는 컴포넌트의 하위 부분들로 부터 단계별로 상품(자동차)을 만들 필요가 있는 응용 프로그램을 만들어보자.
          그것은 몸체, 엔진, 변속장치, 그리고 승객 칸막을 포함하는 자동차를 만드는 것이다. 둘째로, 응용 프로그램은 같은 상품의
          구체화 없이 관계된 혹은 의존적인 객체 집합을 만들기 위한 인터페이스를 제공하는" (Intent 부분에서 언급한 내용)
          따라서, CarAssmebler를 만들기 위한 자동차 종류가 무엇이고 그 하위 부분들이 무엇을 해야하고, 그것의 실제 부분의 인스턴스가 무엇을 수행해야 할지를 결정한다. ABSTRACT FACTORY 해결은 우리가 CarAssembler 객체 밖의 모든 행동들을 추상화시킨다. 그리고 팩토리로 분리한다. 특별한 자동차 팩토리로 CarAssembler 확인을 한 후에, CarAssembler는 간단하게 구체적인 자동차와 하위 부분을 만들기 위한 팩토리를 호출한다.
  • EightQueenProblem . . . . 6 matches
         이 프로그램은 Input을 요구하지 않는다.
         시간을 잴 때에는 Wiki:SandglassProgramming 에 소개된 프로그램을 이용하면 편리합니다. 화장실을 다녀온다든가 할 때 필요한 중간 멈춤(pause) 기능도 있습니다.
         ''참고로, 소요시간이 모두 얼마냐 하는 것이 크게 중요한 것은 아닙니다. 중요한 것은 그 동안 얼마나 가치있는 무엇을(얼마나 더 얼마나 덜) 했냐는 것이죠. 남들보다 시간이 오래 걸리고, 코드가 길어졌다고 슬퍼하십니까? 아닙니다. 오히려 '''축하드립니다'''. 당신은 그만큼 큰 배움의 기회를 만난 겁니다. 자신의 프로그램이 다른 사람들의 그것보다 월등하다고 자랑스러워하며, 더 이상 배울 것이 없다고 생각하십니까? 아닙니다. 당신은 자신이 이렇게 훌륭한 해를 구한 것을 남에게 설명해 줄 기회를 찾았습니다. 가르치는 것만큼 큰 배움도 없습니다(이 때 자신이 만든 프로그램 자체를 설명하려고 하는 것보다 자신이 어떤 사고과정과 어떤 프로그래밍 성장 과정을 통해 최종물에 도달했는지를 반추해보고 설명해주는 게 더 좋겠습니다). 또 다른 사람들은 무엇 때문에 자신과 같은 좋은 해를 얻지 못했는지 분석을 할 여유가 있습니다.''
          * 프로그래밍을 잘한다는 것은 단순히 빠른 시간 안에 짧고 기발한 프로그램을 만들어낸다는 것이 아니라는 것을 인식시켜주기 위해
          * 이미 만들어진 종적 상태의 프로그램에서보다 그것을 전혀 모르는 상태에서 직접 축조(construct)해 나가는 과정에서 배우는 것이 훨씬 더 많고, 재미있으며, 효율적인 학습이 된다는 것을 느끼게 해주기 위해
  • FoundationOfUNIX . . . . 6 matches
          * [http://zeropage.org/~neocoin/putty.exe putty Client] 여기서 프로그램 다운 받아서 깔아서 접속하세요
          * 마지막 과제로 쉘 스크립트 언어로 쓰레기통 만들기 (고려중.. 안할지도 모름.)
          * 바로 최종 쓰레기통을 만들기보다 단계 단계로 올라가기로 함.
          * 첫 단계로 .cshrc 를 vi로 편집하여서 cp 명령어를 치면 자동으로 지울것인가 안 지울 것인가 묻게 만들기..
          * 간단한 쉘 스크립 파일 만들기
          * 만약 디렉토리를 지울때는 진짜로 지울것인가 묻게 만들기.
  • PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 6 matches
         '''원칙:만약 프로젝트의 진행에서 없으면 곤란한 모든 것이 버전관리의 대상이된다. 즉 반드시 프로그램의 빌드만이 아니라 차후에 필요한 다큐도 버전관리를 해야할 필요가 있다'''
         지역 작업공간(local workspace)는 원격에 저장된 파일들을 프로그램의 개발을 위해서 개발자가 가지고 있는 컴퓨터에 받아서 프로그램을 수정하도록 하는 공간임.
         기본적으로 Version Control 에서 관리의 가장 작은 단위는 파일이다. 그외에 한개의 프로젝트 단위로 전체 프로그램을 관리하고, 그 하부에 모듈을 기준으로 해서 소스를 관리한다.
         이런 개발중심축상에서 만약 특정 시점에서 프로그램의 릴리즈 버전이 완성되어서 QA과정으로 들어갔다고 생각해보자. 이때, 프로젝트의 다른 팀원들과 동시에 개발을 진행시켜 나가면서, QA과정에서 발생된 치명적인 버그를 본래의 개발중심축상에 반영시키기 위해서 만들어진 개념임. (그림이 있어야 이해가 쉬울듯. 글만 읽어서는 SE를 듣지 않은 이상 이해 힘들어보임.)
         브랜치를 이용하면 한명의 개발자가 한개의 컴퓨터를 가지고도 릴리즈 버전의 버그 수정작업과 mainline상의 프로그램의 개발을 동시에 하는 것이 가능하다.
  • Profiling . . . . 6 matches
         '''Profiling'''(프로파일링)은 원하는 부분의 프로그램 성능을 측정하는 성능 테스트이다.
         많은 선인들이 절대로 최적화를 우선시 하지 말라는 말씀 하지만 프로그램을 작성하면서, 우리가 많이 신경 쓰는 부분은 '''성능'''이다.
         이런 파레토 법칙은 프로그램에서도 적용될 수 있는 법칙인데, 이런 식이다. (몇%는 중요하지 않다. 중요한 점은 인간이 보통 인지하는 것과 실제의 모습이 차이가 있다는 점이다. )
         프로그램의 80%의 리소스가 20%의 코드에서 쓰여진다.
         프로그램이 성능을 높이기 위해서 이런 20%의 핵심 코드를 추정, 측정을 통해서 찾아야한다.
         '''Profiling'''(프로파일링)은 원하는 부분의 프로그램 성능을 측정하는 성능 테스트이다.
  • ProgrammingPearls/Column3 . . . . 6 matches
          * 별로 볼건 없고... 아무도 하지 않을 상황을 예로 들어놓은 것 같다. 왠만큼 프로그램 배운 사람이라면 당연히 배열로 처리할 것을 몇 백개의 변수로 처리하는 상황을 보여주고 있다. 그러면서 하는 말 : 많은 변수를 쓰고 있으면 관련되는 것으로 묶어서 배열로 처리하라. 이게 주제다.
          * 프로그램을 짤때 생각도 안 해보고 덤비는 짓은 하지 말자. 작게 짤수도 있는 프로그램을 크게 짜버리는 일이 생길지도 모른다.
          '''자료구조는 소프트웨어를 만든다 : 큰 프로그램을 작은 프로그램으로 줄여준다.'''
          * 이 컬럼의 주제 : 데이터는 복잡한 코드를 적절한 자료 구조로 바꿈으로써, 프로그램을 구성한다.
  • ProjectZephyrus/ServerJourney . . . . 6 matches
          ''뭐.. 비디오 들고 과정 찍어보여주기전에는 모를테니. 새글쓰긴 힘들고 리플달기는 쉽고. 새로운 프로그램 만들기는 어렵고, 클론 만들기는 상대적으로 쉬운법. --석천''
          * 상규와 DB query를 console에서 날리고 받아 출력해 주는 간단한 프로그램 작성했다. 해놓고 보니 재미있다는 생각이 듬. 확장 시키면 간단한 클라이언트로 써먹을만 할것 같다.
          * mm.mysql 클래스 패스 잡기가 너무 귀찮다. 아예 그냥 프로그램 내부에 넣어 버려야 겠다.
          * Eclipse 사용법 배웠고, 지금까지의 서버 디자인에 대한 설명을 들었습니다. 그리고 약간의 의견교환도 있었구요. 하지만 서버 디자인에 대한것은 대부분의 윤곽은 잡혔지만 다같이 모여 여러번 이야기를 하며 아직 정확하지 않은 것들을 잡아가야 할 듯 합니다. 그리고 {{{~cpp DBConnectionManager}}}를 통해 ZP 서버의 MySQL에 접속해보고 몇가지 테스트를 해 보았습니다.(테이블 만들기, 자료 추가하기, 자료 조회하기) --상규
  • SmallTalk/강좌FromHitel/강의3 . . . . 6 matches
          1.1. 프로그램과 프로그래밍 언어
          1.3. Smalltalk 맛보기 프로그램
         들어가는 객체를 만들기 위한 명령들이 들어 있습니다. 비유를 들어보면,
         생깁니다. 그러므로 집이 있고 그 집을 만들기 위한 설계도가 있는 것입니
         다. 마찬가지로 '본'에는 무수히 많은 객체들이 있고, 이 객체들을 만들기
         는 객체를 만들기 위해서 "3 + 4."라는 명령을 한 것이고, 이 결과 생겨나는
  • TheWarOfGenesis2R/일지 . . . . 6 matches
          * [[HTML(<STRIKE>)]] DirectDraw 복습으로 알카노이드 만들기. [[HTML(</STRIKE>)]] - 1시간
          * [[HTML(<STRIKE>)]] 타일에디터 만들기 [[HTML(</STRIKE>)]] - 2시간 30분
          * 메인 프로그램 : 스크립트를 읽어오기가 가능하다.
          * 메인 프로그램 : 스크롤시 맵을 벗어나면 스크롤이 되지 않는다.
          * 메인 프로그램 : 전투루틴 (일부) 포팅.
          * 메인 프로그램 : 전투루틴 완전 포팅
  • TugOfWarInput . . . . 6 matches
         이 자료를 TugOfWar 프로그램에 넣으면 (심사 서버에서) 10초 이내에 다음 결과가 나와야 한다.
         참고로 TugOfWar 온라인 로봇 심사위원은 틀렸다. 잘못된 프로그램(50,50,100,200 경우 답이 150,250이어야 하는데, 200,200인 프로그램도 통과)을 걸러내지 못한다.
         사람이 총 네사람 있다. 몸무게가 각각 50, 50, 100, 200이다. 이 네사람을 두 팀으로 나눈다면 가능한 경우는 둘 씩 나누는 경우 하나 뿐이다. (하나 셋으로 나누면 두 팀의 인원 차이가 2가 되어서 부적격) 둘 둘 나눌 때 두 팀 간 몸무게 차이가 최소가 되는 경우는 150, 250인 경우이다. 200, 200으로 나누는 것은 불가능하다. 그러나 현재의 온라인 로봇 심사위원은 이런 틀린 답이 나올 "예리한" 테스트 케이스를 포함하고 있지 않아서 잘못 작성된 프로그램도 통과시킨다.
         제대로 작성된 프로그램은 당연히 온라인 로봇 심사위원의 테스트 케이스를 모두 통과하며, 게다가 덤으로 50,50,100,200 인 경우에도 통과한다. 하지만 Programming Challenges 책에 실린 모법 답안 등의 프로그램은 로봇 심사위원의 테스트는 통과하지만 50,50,100,200 같은 경우는 실패한다.
  • XMLStudy_2002/Start . . . . 6 matches
          *XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 문서를 말한다. ---> 정의
          *XML문서는 택스트 파일이라는 형태로 저장되므로, XML파일 자체는 OS나 특정 프로그램에 의존적이지 않는 특성을 지닌다.
          *XML 응용프로그램이란 이러한 택스트 객체(textual object)를 처리하여 사용할수 있는 프로그램이다.
          *Kawa4.0에서는 Project나 Workspace에 대한 정보 및 기타 몇 가지 프로그램에 대한 정보를 XML문서 형태로 유지
         엘리먼트를 사용할 때 이 어트리뷰트가 빠져 있다면,이를 반드시 XML 프로세서가 응용 프로그램에 이를 알려주어야 함을 의미함
  • YetAnotherTextMenu . . . . 6 matches
         이번에도 역시나 텍스트 메뉴를 입력도구로 사용하는 프로그램이다.
         보통 ToyProblems를 내줄 때, 입력양식으로 텍스트 메뉴를 이용하라는 요구사항이 주어지기도 한다. JuNe이 보기에는 이것은 "단견"이다. 학생들은 매번 비슷한 방식으로 텍스트 메뉴 프로그램을 만들 것이고, 매번 거기에 일정 시간을 빼앗길 것이다. 재미있게도 텍스트 메뉴를 사용하는 프로그램을 작성하면, 학생들이 만드는 프로그램 역시 그 메뉴의 구조를 닮는다. 이것은 그다지 바람직하지 않은 경우가 많다.
         표준 입, 출력으로 간단하게 입력 받고 출력하게 하라. 입력자료는 다른 프로그램의 출력일 수 있다고 가정하고, 출력자료는 다른 프로그램의 입력으로 들어갈 수 있다고 가정하라.
  • 데블스캠프2011 . . . . 6 matches
          || 1 || [송지원] || [:데블스캠프2011/첫째날/오프닝 오프닝] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 8 ||
          || 2 || [송지원] || [:데블스캠프2011/첫째날/오프닝 오프닝] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 9 ||
          || 3 || [변형진] || [:데블스캠프2011/첫째날/개발자는무엇으로사는가 개발자는 무엇으로 사는가] || [강성현] || [:데블스캠프2011/둘째날/Scratch Scratch] || [김수경] || [:데블스캠프2011/셋째날/String만들기 String만들기] || [이원희] || [:데블스캠프2011/넷째날/Android Android] || [조현태] || [:데블스캠프2011/다섯째날/PythonNetwork Python으로 하는 네트워크] || 10 ||
  • 데블스캠프2013/셋째날/후기 . . . . 6 matches
          * 사실 자바를 약~간 깨작거렸지만 다른 사람들이 GUI를 사용하는 프로그램을 만드는 것을 보고 어떻게 하는 것인지 굉장히 궁금하였는데 이번 기회에 알게 되어서 너무나도 기뻤습니다 :D - [조영준]
          * 회장님이 자바실습시험때, 이걸 이용해서 짜면 편하다고 추천해 준 것이었는데, 하지만 코드가 은근히 어려워져서 세세한 부분을 건드릴 때에는 더 많은 시간이 걸릴 것 같아서 안 쓴 윈도우빌더군요! 사실, 이 단점은 GUI 툴킷 프로그램이 짊어지고 가야 할 문제일 수도 있지만, 이번에 나름대로 빠른 프로그램 제작에는 편하겠구나라는 생각을 가지게 되었습니다. - [김해천]
         = 서민관 / HTTP 프로토콜, C언어를 이용한 웹 서버 만들기 =
          * 개인적으로 좀 아쉬움이 큰 세션이었습니다. 물론 머신 러닝이 쉬운 주제가 아니라는 건 맞습니다. 하지만 오히려 그렇기 때문에 강사 입장에서는 최대한 난이도를 낮추기 위한 노력들을 할 수 있지 않았을까 하는 생각이 조금 남습니다. 적어도 새내기나 2학년 들이 머신 러닝이라는 뭔가 무서워 보이는 주제 앞에서 의욕이 사라질 수 있다는 생각을 했다면, 전체적인 알고리즘의 간단한 의사 코드를 보여주거나, DataSet을 줄인다거나 해서 조금 현실적인 시간 내에 결과를 보고 반복적으로 소스 코드를 손을 볼 수 있게 할 수 있지 않았을까요. 적어도 간단한 샘플 소스를 통해서 이 프로그램이 어떻게 돌아가는가, 어떤 input을 받아서 어떤 output을 내는가 등에 대해서 보여주었다면 더 재미있는 실습이 될 수 있지 않을까 하는 생각이 듭니다. 머신 러닝은 흥미로운 주제지만, 흥미로운 주제를 잘 요리해서 다른 사람들에게 흥미롭게 전해줄 수 있었는가를 묻는다면 저는 좀 아쉬웠다는 대답을 할 것 같습니다. - [서민관]
          * 제가 아는 김태진 형님이 맞습니다. 난이도는 확실히 어려웠습니다만, 새내기는 나름대로 생각해 볼 만한, 2~3학년 분들에게는 고민을 하게 하는, 모든 사람들이 대부분 도전해 볼만한 난이도였다고 봅니다. 저는 새내기가 생각하는 방향을 그대로 따라가면서 코딩을 해 줬는데, 잘 하더군요. 다행이었습니다! 아쉬웠던 점이라면, 데이터량이 너무 많아서 코딩하는 시간보다 검증하는 시간이 더 오래 걸렸네요. 다음에 이런 것을 하시게 될 사람이 있으시다면, 데이터량을 1/10 정도로(4000개는 넘지 말아 주세요..ㅠ) 줄여주셨으면 합니다. 프로그램이 실행해서 다 돌아가는 데 15분이 걸리다니요!!..ㅠㅠ 멀티코어를 쓰시던 분도 10분을 돌리셨다고 하더라고요.. - [김해천]
  • 새싹교실/2012/AClass/4회차 . . . . 6 matches
         8.다음 형태로 출력되는 프로그램을 짜 보세요.
         9.2중포인터를 이용하여 3x3행렬을 두개 만들고, 두 배열의 합을 출력하는 프로그램을 짜보세요.
         8. 다음 형태로 출력되는 프로그램을 짜 보세요.
         9. 2중포인터를 이용하여 3x3행렬을 두개 만들고, 두 배열의 합을 출력하는 프로그램을 짜보세요.
         LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         1)기존 자료형의 이름을 프로그램 내부에서 다른 이름으로 사용할 수 있게 하는 것
  • 위키설명회 . . . . 6 matches
         [부드러운위키만들기]를 시도해 본 행사
          * 새로운 유저 만들기
          * 페이지 만들기
          * 페이지 만들기 방법 1 : 최근바뀐글 옆에 페이지 이름을 쓰고 EditText -> 변경 사항 저장
          * 표 만들기 - 안 가르쳐주고 직접 찾게 함
          * 로그인과 페이지 만들기를 하면서 UserPreferences가 이상해지고, [페이지이름]의 규칙을 어긴 페이지가 많이 만들어졌습니다.--[Leonardong]
  • 제13회 한국게임컨퍼런스 후기 . . . . 6 matches
          * 점심을 먹고 키노트를 들었는데, 처음 키 노트는 장황하게 이야기를 했다만 결국 ‘한국 시장 좋음 ㅋ’ 이 이야기... 쩝.. 그리고 두 번째 키노트는 가상현실로 주목을 받고 있는 Oculus였다. 보다 실감나는 가상현실을 만들기 위해 무엇을 해야 하는지, 왜 이것을 해야 하는지에 대한 내용이었다. 결국 ‘보다 실감나게 게임을 하려면 가상현실을 해야함 ㅇㅇ’ 이 내용..
         || 10:30 – 11:30 || Unity3D와 UPS로 멀티플레이 게임 만들기 || 노영하(머치디퍼런트) || Programming ||
          * 두 번째 들은 세션은 자기 회사의 프로그램? API를 이용해 서버를 만들고 채팅을 하고 뭐 이런 이야기를 예시를 통해 보여주었다. 그냥 가져다 쓰면 되요 라는 말과 함께 이것 저것 예시를 보여주었는데, 결국 자기 회사 홍보였다.
          * 세 번째 세션은 또 음악의 세계로... 역시나 자기네 회사 프로그램을 사용하면 사운드 효과를 다양하게 낼 수 있다는 것에 대해서 이야기 해 주었다. 뭐 Chaining 관계를 이용한 소리의 조합이라나 뭐라나..
          * 프로그래밍과 관련한 부분이 아닌, 다른 부분 (그래픽, 오디오 등)에 대한 이해도 할 수 있었고, 다양한 프로그램들을 알 수도 있긴 했다만 뭔가 대부분이 자신들 업체 홍보에 조금 주안점이 있지 않았나 라는 생각이 들었다. – 물론 안 그런 세션도 있었고 – 특히 직접 보여주는 부분은 같이 좀 해 보았으면 더 좋지 않았나 라는 생각이 들긴 했지만 또 그렇게 하기에는 물량 지원적인 문제도 있으니... 노트북 가져오라고 했으면 좋았을 것을.. 뭐 이런 잡다한 생각이 들기도 했다.
  • 타도코코아CppStudy/객체지향발표 . . . . 6 matches
          * 모든 프로그램의 요소를 각각의 독립적인 객체로 생각한다.
         || 프로그램을 기능단위로 세분 || 프로그램을 object 단위로 세분 ||
         || 소,중형 프로그램에 적합 || 대형 프로그램 작성에 적합 ||
         설계 모형을 특정 프로그램 언어로 번역하는 작업이다. 객체, 클래스, 상속의 개념을 다 포용하는 객체지향 언어(object-oriented programming language : C++, Smalltalk 등)가 가장 좋지만 객체의 개념만 인정하고 클래스, 상속 등은 고려하지 않은 객체기반 언어(object-oriented based programming language : Ada 등)도 좋다.
  • 후기 . . . . 6 matches
         함수형 언어 Haskell을 배우는 시간을 많이 가졌는데 참 재미있었다. 더욱 재미있는 것은 함수형 언어의 좋은 점이 다른 언어에도 녹아들 수 있다는 것이다. 수학에서 출발하는 개념이 실제로 쓰이도록 중간에서 다리 역할을 하고 있다. 수학이 프로그램 언어에 미치는 영향력을 볼 때 학부 때 컴퓨터 공학 대신에 수학을 전공해도 좋을 것 같다. 그게 안 된다면 대안언어축제라도 참가하면서 [성장]할 수 있어야 한다.
         대안언어가 보여준 많은 새로운 생각이 널리 퍼지지 않아 안타깝다. 혁신을 이루려면 많은 사람이 그 아이디어를 받아들여야 한다던데, 대안언어축제 이후에 어떠한 변화가 있을까? 새로운 아이디어를 적용한 코드를 작성할 수 있을까? 새로운 프로그램을 만드려고 할 때, 현재 사용하는 언어보다 더 적당한 언어를 선택할 수 있을까? 기존에 개발하던 프로그램이 있을 때는 새로운 언어로 갈아탈 수 있을까? 창의적인 아이디어와 실용성 사이 간격을 좁혀서 대안언어가 정말로 대안이 되길 꿈꿔본다.
         더 대중적인 축제를 만들 생각도 해 보았다. 사람에게 감각적인 자극을 줄 수 있는 언어나 그 언어로 만들어진 프로그램, 혹은 다른 무언가가 있으면 어떨까? Mathmetica에서 프랙탈로 삼각형을 그리는 모습을 보고 사람들은 감탄했다. 패널토론 도중에 Squeak에서 보여준 시뮬레이션 역시 놀라웠다. 마이크로칩을 프로그램하여 모르스 부호를 불빛으로 깜박거리는 모습도 신기했다. 프로그램 언어에 익숙하지 않은 다른 분야를 공부하는 참가자들은 눈에 보이지 않는 동작 보다는, 감각적인 자극에 많은 호기심을 느낄 것이다. 시각 이외에 다른 감각을 자극하는 볼거리가 준비된다면 가족끼리 대안언어축제에 놀러 올 수 있을 것 같다. 마치 구경도 하고, 직접 체험해 볼 수도 있는 전시장에 온 것 같은 기분을 낼 수 있을 것이다.
  • 10학번 c++ 프로젝트 . . . . 5 matches
          * 알람시계 만들기
          * 알람시계 만들기
          * 알람시계 만들기
          * 알람시계 만들기
          * 알람시계 만들기
  • 2thPCinCAUCSE . . . . 5 matches
          * 문제 성격: 국내 대학생 프로그램 경진 대회의 문제 출제 경향을 따른다. 2002년도 문제 샘플( http://cs.kaist.ac.kr/~acmicpc/problem.html see also ["2002년도ACM문제샘플풀이"] 참조)
          * 프로그램의 실행시간이 일정시간(예: 10초)을 지나도 끝나지 않을 경우 틀린 문제가 됩니다.
          * 프로그램 작성시 유의 사항:
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
          * ["2thPCinCAUCSE/ProblemA"] - A번 문제 "성냥개비로 삼각형 만들기"
  • 2학기파이선스터디/클라이언트 . . . . 5 matches
          * Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
          * ChatMain? : 채팅의 주 인터페이스를 관리하는 클래스이다. 이 클래스에서 대부분의 GUI를 관리하고, 채팅메세지보여준다. 또한 채팅에 접속한 사람들의 ID를 보여준다.
  • 3rdPCinCAUCSE . . . . 5 matches
         문제 성격: 국내 대학생 프로그램 경진 대회의 문제 출제 경향을 따른다.
         - 프로그램의 실행시간이 일정시간(예: 10초)을 지나도 끝나지 않을 경우 틀린 것임.
         프로그램 작성시 유의 사항:
         1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력문을 쓰면 안됨.
         7. 각 문제마다 테스트 케이스가 5-10개가 있는데, 프로그램은 첫째 테스트 케이스를 입력하여 첫째 답을 출력하고, 둘째 테스트 케이스를 입력하여 둘째 답을 출력하고, ... 등으로 진행해야 한다.
  • AsemblC++ . . . . 5 matches
         어셈블 코드들을 쉽게 보여준다면 프로그램의 보안 문제에도 직접적으로 연관이 되는 군요. 수정에 관한 보안장치도 있을 것이고요. 패리티 같은 단순한 보안장치일지라도 코드의 무결성을 지키면서 어셈블을 수정하기란 쉬워 보이지 않네요. - 톱아보다
          .exe 파일에 대한 어셈블리 코드는 역어셈블러(아래 상협이가 말한 softice와 같은 프로그램)만 있으면 쉽게 얻을 수 있습니다. 수정에 관한 보안장치도 전혀 없구요. 하지만 .exe 파일에 대한 어셈블리 코드는 분석하거나 수정하는것 자체가 거의 불가능할 정도로 어렵습니다. 이유는... 시간이 없어서 나중에 쓰도록 하죠-_-; --[상규]
         Softice같은 프로그램을 사용해서 시리얼 번호가 있는 프로그램이나 날짜 제한 프로그램을 크랙 하기도 합니다. 이번 디버깅 세미나에서 함 해볼라고 그랬는데 집에 있는 컴퓨터에서 그게 잘 안돌아가서 보류함. - [상협]
  • DevelopmentinWindows . . . . 5 matches
         윈도우즈 운영체제 기반의 프로그램 개발에 대해 소개하는 세미나 입니다. 02학번들에게 많은 도움 되었으면 좋겠습니다.
          * 프로그램이 순차적으로 실행되지 않고 메시지 발생에 따라 실행이 되는 방식
          * 코드를 여러 프로그램에서 공유하므로 메모리를 절약할 수 있다.
         === 윈도우즈 API를 이용한 예제 프로그램 ===
         === MFC를 이용한 예제 프로그램 ===
  • HelpOnConfiguration . . . . 5 matches
         MoniWiki는 `config.php`에 있는 설정을 입맛에 맛게 고칠 수 있다. config.php는 MoniWiki본체 프로그램에 의해 `include`되므로 PHP의 include_path변수로 설정된 어느 디렉토리에 위치할 수도 있다. 특별한 경우가 아니라면 MoniWiki가 설치된 디렉토리에 config.php가 있을것이다.
         모니위키의 몇몇 플러그인중 외부 프로그램을 사용하는 프로그램은 환경변수 PATH를 참조하여 외부 프로그램을 호출하게 된다. 이때 PATH의 설정이 제대로 맞지 않아 외부 프로그램이 제대로 실행되지 않는 경우가 있다. 이 경우 config.php에서 `$path`를 고쳐보라.
  • InsideCPU . . . . 5 matches
         1. 처음 컴퓨터를 키면 참조하는 메모리가 F000:FFF0 이라는 부분이다. 여기서 CPU는 ROM-BIOS를 적재하게 되고 제어권이 ROM-BIOS의 프로그램으로 넘어가게 된다.
         2. 이후 ROM-BIOS는 일련의 CHECK 프로그램을 실행 시킨다. 흔히 보는 하드웨어 CHECK와 메모리 CHECK가 여기에 속한다.
         5. 그럼 로더 프로그램이 적재 된 상태이다. 이것으로 부팅은 끝이다. 이후 부터는 로더가 작업을 실행한다.
         위에 로더는 1섹터(512KB) 밖이 되지 않는다. 이는 작은 프로그램 밖이 실행 할 수 없고 메모리의 위치가 0000:7C00으로 불안한 위치이다. 대부분의 커널의 경우 이 메모리 블럭을 넘어서는 크기를 갖게 되므로 바로 커널을 로딩할 경우 로더의 메모리를 잡아 먹게 된다. 그래서 보통 Kernel로더는 자신을 보다 먼 곳의 안전한 곳으로 이동시키고 커널을 로딩하게 된다.
         음...여기까지만..귀찮아서 못 적겠다.. 보통 플로피의 0번 섹터를 write하기 위해 rawrite.exe란 프로그램을 쓴다. 플로피의 데이타를 얻기 위해 BIOS의 인터럽트루틴을 사용한다. 이를 위한 인터럽트는 INT 13h가 된다.
  • JavaNetworkProgramming . . . . 5 matches
          *동기화의 효율 : 대부분의 경우 동기화 작업은 매우 중요하며, 때로는 적대 생략해서는 안되는 경우도 있다. 그러나 불필요한 동기화 작업은 프로그램의 수행 성능을 떨어뜨리고, 재사용성을 감소시키며, 프로그램이 교착 상태에 빠지게 할 수도 있다.
          *6장 : 스트림을 사용한 파일 처리 프로그램밍의 진수
          *스트림 : 네트워크 프로그램에서 아주중요한부분 --> 요책이 스트림에대해서 자세히나온다.딴데는 대충 설명하는데...--;
          *표시/리셋(mark/reset)기능을 갖춘 FileInputStream만들기
  • MoniWikiTutorial . . . . 5 matches
         == 첫째고개: 계정만들기 ==
          * 계정 만들기: UserPreferences로 가서 사용자 등록을 합니다.
         == 아홉째고개: 페이지 새로만들기 ==
          * 비슷한 주제의 다른 페이지가 없다면 페이지 만들기를 가리키는 아이콘 혹은 링크를 눌러줍니다.
         페이지를 만들기 전에 비슷한 주제 혹은 약간 다른 이름의 페이지가 이미 있는지 확인해 보시기 바랍니다.
  • MoreEffectiveC++ . . . . 5 matches
          * ANSI C++에 대한 제반적인 내용을 깔끔한 필체로 쉽게 쉽게 다루고 있다. 명확한 개념 설명이 돗보인다. 프로그램과 디자인 능력을 향상시키는 35개의 방법이 제시되어 있다. 배치, 가상 생성자, 포인터 레퍼런스 카운팅, 프락시 클래스, 더블 디스패치와 같은 C++의 보다 세련된 기술에 대해 설명하고있다.
         - 향후 프로그램
         - 동일 프로그램상에서 C++과 C의 결합
          * Item 32: Program in the Future tense - 미래를 대비하는 프로그램
          * Item 34: Understand how to combine C++ and C in the same program. - 같은 프로그램에서 C++와 C를 혼합하는 법 이해해라.
  • ProgrammingLanguageClass/Report2002_2 . . . . 5 matches
          * 결과물은 주어진 것들에 의해서 만들어지는 테스트 프로그램을 순서대로 제출하라. 채점은 아마 테스트 프로그램의 품질이 많은 영향을 미칠것이다.
          * 보통, floppy diskette에 당신의 프로그램과, 테스트한 데이터들과 실행에 의한 결과를 제출한다.
          * 프로그램의 완벽한 수행을 위해서 당신의 데스트 데이터를 신중히 설계하라. 또한 당신의 테스트 프로그램 내부에 합당한 문서를 첨부하는 것을 추천한다.
  • ProgrammingPearls/Column4 . . . . 5 matches
          * 프로그램의 correctness를 판별하기 위해, 프로그램의 중간중간에 assert를 집어넣고 있다.
          * 프로그램을 한줄한줄씩 따라 내려가면서 Loop에서는 위의 원칙을 적용해 corret한가를 검사하고 있다.
          * Assertions : 입력, 변수, 출력간의 관계는 프로그램의 상태를 묘사해준다. assertion은 그들의 관계를 정확히 말해준다.
          * Sequential Control Structures : 이 문장 다음에 저 문장. 그 사이에 assertion을 집어넣는다. 그럼 프로그램 문장 하나하나의 각각의 진행상황을 체크할수가 있다.
  • RefactoringDiscussion . . . . 5 matches
          * 코드의 의도가 틀렸느냐에 대한 검증 - 만일 프로그램 내에서의 의도한바가 맞는지에 대한 검증은 UnitTest Code 쪽으로 넘기는게 나을 것 같다고 생각이 드네요. 글의 내용도 결국은 전체 Context 내에서 파악해야 하니까. 의도가 중시된다면 Test Code 는 필수겠죠. (여기서의 '의도'는 각 모듈별 input 에 대한 output 정도로 바꿔서 생각하셔도 좋을듯)
         로직이 달라졌을 경우에 대한 검증에 대해서는, Refactoring 전에 Test Code 를 만들것이고, 로직에 따른 수용 여부는 테스트 코드쪽에서 결론이 지어져야 될 것이라는 생각이 듭니다. (아마 의도에 벗어난 코드로 바뀌어져버렸다면 Test Code 에서 검증되겠죠.) 코드 자체만 보고 바로 잘못된 코드라고 단정짓기 보단 전체 프로그램 내에서 의도에 따르는 코드일지를 생각해야 될 것 같다는 생각.
         우리에겐 프로그램의 옳음(correctness)이 일차적입니다. 이것은 ["UnitTest"]나 Eiffel 같은 DBC 언어로 상당한 정도까지 보장 가능 합니다.
         그 다음에 비로소 리팩토링의 옳음을 따질 여유가 있습니다. 틀린/틀릴 수 있는 프로그램을 "옳게 리팩토링"하면 역시 틀린/틀릴 수 있는 프로그램이 나옵니다.
  • ViImproved/설명서 . . . . 5 matches
         ▶파일 데이터 파일 응용 프로그램의 데이터(binary)
          텍스트 파일 응용 프로그램의 source data 또는 문서화된 파일(ASCII)
          모드형 모드형 프로그램이란 서로다른 기능을 가진 모드를 가지고 있어다중환경을 지원한다. 예) 모드에 따라 엔터키의 역할도 달라진다
          비모드형 비모드형 프로그램은 키들을 항상 같은 의미로 사용한다
         >> 오른쪽으로 shiftwith만큼 paragraph 이동 ^r refresh(명령어 모드) !} 현재 문단을 지정된 unix 프로그램으로 연결하여 수행 후 결과를 현재 문단과 교체
  • VoiceChat . . . . 5 matches
         다자간에 프로젝트를 진행할때 같은 장소에서 작업을 하기 힘든 경우 음성채팅을 이용하면 그나마 숨통을 틀 수 있다. MSN 메신저를 비롯하여 음성채팅을 지원하는 여러 메신저의 경우 1:1 만 지원한다. 아래의 프로그램을 사용하면 다자간 음성채팅을 무료로 할 수 있다.
          * 거원소프트에서 만들었다. [http://www.cowon.com/product/d_voice/software/jet-voice-chat/download.html 홈페이지], 가입할 필요가 없고. 한 사람이 채팅서버 역할을 하고 나머지 가 클라이언트가 된다. 음질도 5k, 32k 선택가능.
  • woodpage/쓰레기 . . . . 5 matches
          *실시간 전략 게임 프로그램 (출판사: 정보문화사)
          *홈페이지 만들기["우리홈만들기"] : 홈페이지 웬지 만들고 싶어서 --;
          : 여름방학때 잠시 봤었지만 책이 맘에 안들어서 그냥 있었음 우연히 도서관에서 내가가진 책을 보완해주는 책(JSP 프로페셔널 출판사 가메)이 있어서 같이 봄 웹프로그램은 눈에 보여좋음 ^^;; 게시판을 MVC 2모델로 짰는데 좀나중에 MVC 1모델로 짜볼것임
          *["우리홈만들기"] --> 종료
  • 데블스캠프2002/진행상황 . . . . 5 matches
         우리는 수학문제에 대해 달랑 답만 달아놓으면, 설령 답이 맞더라도 "과정이 없다"고 문제를 틀리기도 한다. 프로그램은 최종적인 "답"이다. 우리는 그 답이 나오는 과정에 너무도 무관심하다.
         참가자들 중 대표로 몇 명의 코드를 프로젝터를 통해 직접 보면서 하나 하나 짚어 나갔다. 그 사람이 어떤 순서로 프로그램을 만들었고, 어떤 의도에서 이걸 이렇게 했는지. 한 줄 한 줄 정말 "많은 것을 가르쳐주고, 배울 수 있겠다" 하는 생각이 들었다. 우리는 "교사/정답에게서만 배운다"는 사고에서 자유로워질 필요가 있다.
         다른 하나는, 요구사항이 어떻게 제시되느냐가 산출물로서의 프로그램에 큰 영향을 끼친다는 점이다. 요구사항이 어떤 순서로 제시되느냐, 심지어는 어떤 시제로 제시되느냐가 프로그램에 큰 영향을 끼친다. 심리학에서 흥미로운 결과를 찾아냈다. "내일은 한국과 브라질의 경기날입니다. 결과가 어떻게 될까요?"라는 질문과, "어제는 한국과 브라질의 경기가 있었습니다. 결과가 어땠나요?"라는 질문에 대해 사람들의 대답은 큰 차이가 있었다. 후자 경우가 훨씬 더 풍부하고, 자세하며, 구체적인 정보를 끌어냈다. 이 사실은 요구사항에도 적용이 되어서, 요구사항의 내용을 "미래 완료형"이나 "과거형"으로 표현하는 방법(Wiki:FuturePerfectThinking )도 생겼다. "This system will provide a friendly user interface"보다, "This system will have provided a friendly user interface"가 낫다는 이야기다. 어찌되었건, 우리는 요구사항이 표현된 "글" 자체에 종속되고, 많은 영향을 받는다.
         처음 ["1002"]가 계획한 세미나 스케쥴은 조금 달랐다. "어떻게 하면 ObjectOrientedProgramming의 기본 지식을 많이 전달할까"하는 질문에서 나온 스케쥴 같았다. 나름대로 꽤 짜임새 있고, 훌륭한(특히 OOP를 조금은 아는 사람에게) 프로그램이었지만, 전혀 모르는 사람에게 몇 시간 동안의 세미나에서 그 많은 것을 전달하기는 무리가 아닐까 하고 JuNe은 생각했다. 그것은 몇 번의 세미나 경험을 통해 직접 느낀 것이었다. 그가 그간의 경험을 통해 얻은 화두는 다음의 것들이었다. 어떻게 하면 적게 전달하면서 충분히 깊이 그리고 많이 전달할까. 어떻게 하면 작은 크기의 씨앗을 주되, 그것이 그들 속에서 앞으로 튼튼한 나무로, 나아가 거대한 숲으로 잘 자라나게 할 것인가.
  • 데블스캠프2013/첫째날/후기 . . . . 5 matches
         = 박지상 / 페이스북 게임 만들기 =
          * 데블스 캠프에서 빠질 수 없는 내용인 버전 관리 프로그램 관련 내용을 안혁준 선배가 해 주셨습니다. 전체적으로 깔끔하게 진행한 느낌이었고, 직접 사용까지 해 보면서 새내기들은 조금 더 와 닿지 않았을까 싶네요. 다만 후반의 실습 부분은 약간 구성을 바꾸면 조금 더 매끄럽게 실습을 할 수 있지 않았을까 하는 아쉬운 느낌이 있었습니다. - [서민관]
          * 버전 관리 프로그램이라는 점에 대해서는 작년에도 SVN(이 맞나요?)을 했던 것 같던데, 올해 git을 배워가네요! 근데, 이건 제가 git을 공부를 해야 될 것 같습니다. 이해는 머리속에서 잘 하는데, 사용을 못하겠네요ㅠ_ㅠ. 확실히 저는 습득속도가 느린가봐요ㅠ..어어ㅡㅠㅓ.. - [김해천]
          * 네트워크는 물론 리눅스를 사용해본 것도 처음이었는데 공부할 것이 많은 것 같습니다. 우선 새로운 프로그램을 접해 봤다는 점에서 큰 수확이었다고 생각합니다. 네트워크 장비를 구비하여 시뮬레이트 하기가 쉽지 않을텐데 이렇게 간단하게 프로그램을 사용하여 시뮬레이트 할 수 있다는 것이 신기했습니다.- [백주협]
  • 새싹교실/2011/Noname . . . . 5 matches
          * Hello World! 프로그램 짜보기
          * 함수만들기
          * Factorial 함수만들기
          * 피보나치 수열 함수만들기
          * 하노이탑 함수 만들기
  • 새싹교실/2011/데미안반 . . . . 5 matches
          * 프로그램 완성과정
          * 메모장으로 열어서 글이 깨졌어요 ㅠㅠ 연결프로그램을 Visual Studio로 하면 번역이 정상적으로 되어있을거에요. 숫자가 010100 하면 너무 길어서 16진수로 표현이 되어있는듯 합니다.
         알 수 있었어요. 또 int, char 등의 의미와 역활에 대해 알 수 있었습니다. 오늘 전산처리기와 자료형에 대해 배웠으니 다음은 본격적으로 프로그램을 짜는것을 배우겠다.^^
          * rand()를 이용해서 up-down 게임 만들기
          *실습(2): 문자열을 입력 받는다. 입력 받은 문자열을 구성하고 있는 문자 중에서 아스키코드 값이 가장 큰 문자를 찾아서 출력하는 프로그램을 구현해보자.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.3 . . . . 5 matches
          * 월요일 ( 5월 9일 ) 오후 6시에 모든 새싹팀들이 모여서 간단하게 프로그램을 진행합니다~ 나오시오~
          1. 프로그램만들기 위해!
          9. 32비트 컴퓨터에서는 기본 정수형(int)에 대해 32비트의 메모리 공간을 할당해 주는 데에 비해서 64비트 컴퓨터에서는 64비트의 메모리 공간을 할당해 주기 때문에 자료 크기가 달라지고 MSB의 위치가 달라져서 프로그램이 오작동하거나 실행할 수 없게 된다.
          -프로그램이 길어져도 어디가 잘못됐는지 보다 쉽게 찾을 수 있기 때문
  • 새싹교실/2011/앞반뒷반그리고App반 . . . . 5 matches
          * 오늘--- 은 assert랑 do while이랑 while을 배웠고요, for로 십자가 만들기 하려다 새싹끝났어요. "우와아 참 재미있었다-_-" -[김태진]
          * 그거쓰면 중간에 그 값이 거짓일경우 프로그램 따운 시켜버리는거임. 오류검사할때 쓴다고 봐야하려나..?- [김태진]
          에서 assert안이 참일 경우 그냥 지나가버리지만(프로그램이 종료하지만) 그렇지 않을경우
          Assertion failed: (n>100), function main, 과 같이 오류뜨면서 프로그램이 종료됨.
          * 시험기간 직전에 질문시간이었어요. ~~저밖에 오지 않았지만~~ 이날 새롭게 배운것은 (수업시간에 필요없다고 넘긴것이라 필요없었음에도 잔다고 필요없다는 사실을 몰랏음) redirection이었는데요! 뭐냐니 input과 output을 바로 프로그램에서 받고 띄우는 것이 아니라 다른 문서에서 불러오거나 집어넣는 것이었어요. 지금까지는 인풋은 무조건 scanf로 직접 넣었는데, 그것과는 다른것!!이었죠. 사실 방법은 지금 잘 기억나지를 않네요 -_- 아무튼 이런 신기한걸 배웠습니다. -[김태진]
  • 서지혜 . . . . 5 matches
          * ~~지금그때 - 포토잇 다시 만들기~~
          1. 나를 위한 프로그램
          * 사이냅 소프트의 신입사원 채용 테스트 프로그램을 해볼 예정
          1. [Spring/탐험스터디/wiki만들기]
          * 집구석에 서재 만들기
  • 정모/2004.7.26 . . . . 5 matches
          * [알카노이드] - 8월 한 달 동안 자바로 벽돌깨기 만들기
          *회지 만들기
          *소속감 증대를 위해 뱃지 만들기
          *출석부 만들기
          *회지 만들기(웹페이지로 제작)
  • 조현태/놀이/지뢰파인더 . . . . 5 matches
          눈은 전체화면에서 지뢰찾기 프로그램의 이미지를 추출하는 방식을 생각했으나 그냥 핸들을 구해오는 편한 방법으로 바꿔서 만들었다.
          킁..ㅠ.ㅜ 재앙이다..;;ㅁ;; 앞으로는 이렇게 짜지 말자는거 이외에는 뭐라 할말이 없다. 오랫동안 손대지 않았던 터라, 알고리즘이 잘 생각이 나질 않는다. 그래도 내가 짜서 그런지 금방 알고리즘을 생각해내는데는 성공했지만... 많은 부분을 수정했으나, 더 많은 재앙들이 초롱초롱한 눈빛으로 나를 반기고 있다. 이쁜 아가씨면 반겨주겠지만 이런 버그덩어리라니.. 도데체 어느 부분에서 잘못된 메모리를 엑세스 하는건지..흑흑 어빠햐가 잘못해떵..ㅠ.ㅜ 제발 정상적으로 작동해줘..ㅠ.ㅜ API의 특징인지...내가 못해서인지.. 테스트가 콘솔창보다 용의하지가 않다. 수없이 조각조각 나있는 할당된 메모리의 파편을 일일이 추적하자니.. 트리나 링크드리스트 형식의 문제점이라고나 할까..;;ㅁ;; 도데체 어디서 잘못된겨~!!! !@#$%^&*()...... 그래도 실행하면 지뢰 한 2-3개.. 숫자 한 2-3개는 찾고 뻗으니위안은 된다.(참고로 아직 지뢰를 건드린적은 없다!!) 수정해야할 부분 태산.. 만들어야 할 부분 태산.. 휴가가 극도로 짦은걸 보면 방학중에도 만들어야 할지도... 뭐 나름대로 앞으로 프로그램을 어떻게 짜야 할 지에대해서 조금은 도움이 되겠지뭐..ㅠ.ㅜ 흑.. - [조현태]
          계획 전면 수정. 알고리즘 및 소스 재작성 돌입. 과거 단순 "로봇을 이용해서 마호로매틱 쵸비츠..는 아니고 어쨋든 멋지게 만들어 보자!" 에서 "로봇만 이용하는건 넘흐 어려벙~ 다른걸 섞어봐야겠어~!" 로 변경. 사용하기가 편하고 검색속도가 빠른 기존의 방법과 정확도가 높은 로봇을 밀가루와 팥이만나 붕어빵이 되듯.. 잘 섞어보기로 결정했다. 새로 모든소스를 작성하고 기존 소스의 심각한 문제점이었던, 어설픈 분할과 최악의 테스트 조건(윈도우 지뢰찾기는 실행해서 어떤 맵이 나올지 모른다. 또한 테스트 시간이 길고 준비가 필요하다)을 극복하기 위해서 수정을 가했다. 좀더 체계화된 분할로 좀더 보기편하고 소스에 간지가 흐르도록 하였으며, 테스트 주도개발의 내용에서 눈꼽의 반만큼을 이용, 편리한 테스트 환경을 만들었다. (나름대로 진보환 환경과 소스!) 가슴은 아팠지만 재앙보다야 나을거라고 생각한다. 그리고 로봇..그 부분은 아직 경험이 없어서(데블스 캠프에 만들어 본게 다..)그런지 조금 빡세다. 뭐 그래도 한번 실패도 했으니, 더 쉽게 만들어 질 것이라고 생각하고 만들기로 결정했다. - 2005.08.13
          드디어 로봇 완성. 저번보다 더 간지나는( 구조화가 잘된) 알고리즘 표현과, 훨씬 편한 테스트 환경으로 저번에 비하면(어디까지나 비해서다. 아직 어려운 점이 많아 고생을 많이 했으며, 새로운 자료구조가 본인이 만든 탓인지 뭔가 복잡하다.ㅎ) 순풍에 돛을 단듯 아주 순조롭게 진행되었다. 그래서 로봇을 완성. 손과 눈을 api로 바꿔주고 지뢰찾기를 향에 발싸~!... 실패... 만능은 아니라서 시작한 지점에 2가 떡하니 나와준다면.. 얘도 찍어야 한다. (물런 찍어야 하는 상황에서 사람보다야 높은 적중률을 보이도록 설계했으나.. 이런 최악의 상황은 사람이나 프로그램이나.. 오히려 사람이 낮다.) 두번째.. 오옷..1초만에 성공... 세계신기록이야~ ~_~ 후후후.. 아~ 이날아갈듯한 기분..ㅎ (혼자 행복에 겨워서 뒹굴었다.ㅎ) 세번째.. 알수없는 오류가 깊은산속 옹달샘에서 발생.......OTL.ㅎ 그래도 어쩄꺼나!!! 성공시켰다. 후후후.. 이제 남은 디버그따위..ㅎ 사뿐히 해결해주짓..(역시 테스트 환경이 좋으니 작업이 잘 진행된다. 꼭 염두해두자.ㅎ) 어쨋든 오류가 떠도 지금은 행복하다.ㅎ ~_~ 일해야 되서 지금은 못해도.. 시간나는데로 해서 완성시켜주마~ >ㅁ<;;; - 2005.08.14
          ㅋㅋ 우리 자바 공부해서 뭔가 프로그램 만들어 보지 않을래? 겨울방학 때 ㅋㅋㅋ --아영
  • 테트리스만들기2006 . . . . 5 matches
          == [테트리스만들기2006] ==
          * 06학번 대상!! 테트리스만들기... 과연 어디까지 될 수 있을까.. (가르치는 사람의 능력 부재..ㅠㅠㅠㅠㅠ)
         [테트리스만들기2006/예제1]
         [테트리스만들기2006/앞반]
         [테트리스만들기2006/뒷반]
  • 프로그래밍잔치/둘째날 . . . . 5 matches
         신입회원들이 고객의 역할, 기존회원들과 고객이 같이 하나의 팀이 되어 프로그램을 완성해내는 팀 프로그래밍 게임.
          개발기간 중간에도 '실행 가능한 프로그램' - 2차 진행후 체크.
          공지 : 2차 진행뒤에 2차까지 완성된 프로그램 시연. (돌아가는 프로그램 보여주세요!)
         프로그램 작성 시간 종료 후 점검. 각 팀별로 시연하기.
  • 학회간교류 . . . . 5 matches
          * 친목을 위한 게임 대결. 혹은 게임 AI 만들기 등등.~
         오늘 분산처리 공부하다가 떠오른 아이디어인데, '''PC실 관리 프로그램''' 만들어보면 어떨까요? 각 PC실의 PC 동작 현황(현재 돌아가고 있는 프로그램)과 IP주소, 프린터 동작 여부 등의 정보를 웹상에서 보여주는 거죠.(아마도 인증된 사용자에게만 보여줘야겠지요. 동문서버팀하고 연동해도 되겠네요.) 해당 서버 프로세스는 동문서버에서 돌리고, 각 PC들마다 클라이언트 프로그램을 백그라운드로 돌리면 될 거 같고요. 그러면, 구지 구피에 자리없을 때, 7피까지 올라가보지 않아도 PC실 사용을 파악할 수도 있고, 필요하면 다른 장소에서도 학교 PC실 사용여부를 감독할 수 있겠지요. 차후 전체 PC 네트워크 관리나 바이러스 체크와 같은 관리면 등에도 응용이 가능할 것으로 예상해보고요. 어때요? --Netory:창선이
          반응이 늦었습니다. 매우 멋진 생각이네요. B) 지속적으로 쓸모 있는 프로그램이겠는걸요? --[Leonardong]
  • 02_Python . . . . 4 matches
         === 파이썬 프로그램은 모듈(module), 문(statement), 그리고 객체(object) 로 구성된다. ===
         {{{~cpp 1. 프로그램은 모듈로 구성되어 있다.
         Def, Return 함수 만들기 def f(a,b,c=1, *d): return a+b+c+d[0]
         Class 객체 만들기 class subclass: staticData = []
  • 3D프로그래밍시작하기 . . . . 4 matches
         === 2. 모델링 프로그램 연습 약간 ===
         ["Direct3D"] 같은데에 봐도 예제로 들어있는 벡터나 행렬관련 루틴들이 있는데 곱하는 방식이 좀 골때리게 되어있어서 아마 크나큰 혼동을 가져올 확률이 높습니다. 3D 를 배우는 목적이 단지 화면에 사각형 몇개 돌리는 것이 아니라 게임이나 에디터를 만들기 위해서라면 벡터나 행렬 연산 라이브러리정도는 자기가 직접 만든 것으로 쓰고 DirectX 는 하드웨어 초기화나 모드세팅 처리랑 삼각형 그리는 부분 (DrawPrimitive) 만 쓰는 것이 좋을 것입니다.
         수학관련 라이브러리가 어느정도 모습을 갖추었으면, 이제 최초로 뭔가 돌아가는 것을 만들어 볼때입니다.. 일단은 최소한의 초기화와 실행 절차를 갖춘 프로그램을 만들어 놓도록 합니다. 화면에 무언가를 그리는 함수 같은 것은 쉽게 바꿔치기 할 수 있도록 해 놓는 것이 좋을 것입니다. 이런 뼈대 라이브러리의 형태에 대해 참조하실려면 OpenGL 관련 라이브러리중 하나인 glut 를 참조하심이 좋을 듯..
         이 시점에서 여러가지 해결해야 할 사항이 생기는데, 첫째로는 파일 포맷에 대해서 정확히 이해하고, 각 항목이 어떤 역할을 하는 것인지를 알아야 하겠으며, 둘째로는 비교적 여러단계로 복잡하게 구성되어 있는 3D Scene Data 를 효율적으로 정렬하기 위한 자료구조를 내 프로그램에 심는 것입니다. STL 같은 라이브러리를 능숙하게 사용할 수 있다면 많은 도움이 될 것입니다. 가급적이면 계층적으로 구성된 모델을 읽을 수 있도록 해야 나중에 애니메이션도 해보고 할 수 있겠죠. 세째로는 기본 이상의 가속기에 대한 조작을 할 수 있도록 d3d_renderstate 들에 대해서 알아두는 것입니다. 최소한 바이리니어 필터링을 켜고 끄고, 텍스춰 매핑을 켜고 끄고, 알파블렌딩, 등등을 맘먹은대로 조합해볼 수 있어야겠죠
  • 5인용C++스터디 . . . . 4 matches
          * Player 5 ( X-( X-( X-( X-( :D ) : [나휘동] - 타자게임 만들기, 보드게임 만들기, 타이머 만들기
          || 이름 || 계획서 다운로드 || 프로그램 다운로드 ||
  • ACM_ICPC/2011년스터디 . . . . 4 matches
          * 네.. 이번주는 대략적인 것들을 결정하는 시간이었지요. Jolly Jumper를 제가 그냥 임의로 찍어서 문제로 하기로 해서, 5시 스터디가 끝나자마자 1시간동안 열심히 코딩해서 완성했습니다. ..그런데 Wrong Answer. 으아아ㅏ아아아아ㅏ 2시간동안 진경이랑 삽질하다 얻은 결론: 얘내들은 입출력방식이 달라서 우리가 짠 것만으로 되는게 아니고 계속 입력을 받도록 해야한다. 그리고 입력이 끝나면 프로그램이 종료되어야 하는데 뭐 -1?인가 그게 뜨도록 하려면 띄어쓰기같은 것도 없어야한다. ...결국 답은 대략 맞았지만 저런 형식때문에 2시간동안 고민한거죠. JollyJumpers하시는 형/누나들 참고하세요 ;ㅅ; ..아무튼 ACM스터디가 재밌게 잘 진행되었으면 좋겠어요~ -[김태진]
          * 생각치도 못한 표준입출력 때문에 고생했습니다. 저놈의 judge 프로그램을 이해하지 못하겠습니다. 입출력방식이 낯서네요. 입력 종료를 위해 값을 따로 주지 않고 알아서 EOF 까지 받아야한다니... 정올 현역때는 이런 문제 구경하기 힘들었는데ㅜㅜ 제가 뭘 크게 오해하고 있나요. 덕분에 c도 아니고 c++도 아닌 코드가 나왔습니다. 그리고 3N+1 문제가 25일 프로그래밍 경진대회에 1번 문제로 나왔습니다. 허허.. - [정진경]
          * [정진경] - 솔저 풀이를 공유를 했으나 로또는 뭐 쉬워서인지 그냥 넘어가버렸네요. 구현 방법에만 차이가 있을 것 같으니 코드 공개만 해도 될 것 같습니다. 후기를 늦게 써서 4문제를 다 억셉트하고 나서 쓰네요. 찝찝한게 2159 Ancient Cipher 문제 조건에서. Substitution Cipher는 '일반적으로' 키가 정수 1개인건가요? 아니면 각 알파벳을 일대일 매칭시키는 배열인가요? 이에 따라 알고리즘이 바뀌는데, 문제 읽고 키가 정수 1개인 것인줄 알고 했는데 제 알고리즘이 틀렸는지 문제를 잘못 이해한건지 WA 왕창 먹고 키가 배열인걸 전제로 하고 알고리즘 짜서 AC... 흑흑 선입견이 문제인가
          * 예제가 단순히 ABC를 CDE처럼 2 더한거로 되어있어서 단순히 substitution cipher 중에서도 시저 사이퍼를 썼으려니 하고 푸는 뻘짓을 한ㅠㅠ 그냥 알파벳을 일대일 대칭하는 거임. 말 그대로 substitution이 대칭이니 ;ㅅ; 간단히 ABC가 RHN으로 변한다 해도 YES가 떠야하는거 ;ㅅ; A->R, B->H, C->N으로 바뀐거지. - [강소현]
  • C/Assembly/포인터와배열 . . . . 4 matches
         왜냐하면 프로그램의 모든 것은 메모리로 올라간다. 즉, LC0, LC1은 프로그램의 일부로 데이터 영역에 올라간다.
         포인터는 LC1을 가리키므로 메모리에 올려진 변하면 안되는 프로그램영역(CODE 영역)을 가리킨다.
         하지만 배열(LC0)은 프로그램이 수행 되고 정의 부분이 되는 순간 LC0 영역의 데이터를 스택 영역에 복사한다.
  • CommonState . . . . 4 matches
         초기 컴퓨터는 용량이 너무 적어서, 프로그램 짧게 만들기 이런걸 많이 해야만 했다. 당연하지만 그걸 알아볼 수 있으리라는 기대는 하지 않았다. 그러다가 용량이 커지니까 이제는 많고 많은 state들을 사용하는 많고 많은 함수들을 많이 사용하게 되었다. 하나 고칠라면 전체를 뜯어 고쳐야 했다. state로서의 프로그램은 안좋다. 그러니 state도 안좋다(??) 이런 상황에서 state가 없고, 프로그램만 있는 함수형 언어가 나오게 되었다. 개념적인 우아함과 수학적인 우아함을 갖추고 있음에도 불구하고, 상업적인 소프트웨어를 만드는데에는 전혀 쓰이지 않았다. 이유는 사람들은 state를 기반으로 생각하고 모델링하기 때문이었다. state는 실세계에 대해 생각하는 좋은 방법이다. 객체는 두 가지의 중간이다.(?이렇게 해석해야하나..--;) state는 잘 다뤄질때만 좋다. 작은 조각으로 나누면 다루기 쉬워진다. 이렇게 하면 변화를 어느 한 곳만 국한시킬 수 있게 된다.
  • ComposedMethod . . . . 4 matches
         인간과 의사소통이 잘되는 프로그램을 원하는가? 메소드의 이름을 지을때 의도가 잘 드러나게 짓자.
         메세지를 보내는 데에는 시간이 걸린다. 즉 함수 호출에는 오버헤드가 뒤따른다. 그러므로 최고의 속도를 내려면 하나의 메소드에 모든걸 때려넣을 수도 있다. 하지만? 댓가는 클것이다.(인력낭비, 비구조적 프로그램 양산)
         초보자들은 작은 크기의 많은 메소드를 보고는, 프로그램의 진행 상황을 잘 모른다고 할 수도 있다. 하지만 경험이 쌓일수록, 잘 지어진 이름의 메세지는 코드의 흐름을 알기 쉽게 해준다. 메소드 이름을 의도가 드러나게 짓는것은 하나의 메소드 크기를 작게 하는 가장 큰 이유가 된다. 그 코드를 보는 사람들은 하나 하나의 작은 부분을 이해함으로써, 더 큰 부분을 이해할수 있게 된다. 또한 메소드를 작게 하면 버그가 발생했을때도 거기에 국한시킬 수가 있다. 뭔가 개선하기가 쉬워질 것이다. 물론 상속도 자연스럽게 할수 있다.
         '''당신의 프로그램을 하나의 동일화된 작업을 수행할수 있는 메소드들로 나눠라. 모든 메소드는 같은 수준의 추상화를 유지해야 한다. 이는 자연스럽게 여러개의 작은 메소드를 만들어내게 될 것이다.'''
  • CppUnit . . . . 4 matches
          * app 클래스에 다음과 같은 runner 실행을 위한 코드를 추가한다. 다음 코드를 추가함으로써 프로그램 실행시에 GUI Test Runner 가 실행된다.
         === 준비 - 1 lib, dll 만들기 ===
         || 다음과 같은 파일들을 Test Case를 작성할 프로그램에 필요하다. ||
         === 준비 - 2 TestCase 만들기를 위한 세팅 ===
  • Gof/Mediator . . . . 4 matches
         DialogDirect는 다이얼로그의 전체 행위를 정의한 추상 클래스이다. client들은 화면에 다이얼로그를 나타내기 위해서 ShowDialog 연산자를 호출한다. CreateWidgets는 다이얼로그 도구들을 만들기 위한 추상 연산자이다. WidgetChanged는 또 다른 추상 연산자이며, 도구들은 director에게 그들이 변했다는 것을 알려주기 위해서 이를 호출한다. DialogDirector subclass들은 CreateWidgets을 적절한 도구들을 만들기 위해서 override하고 그리고 그들은 WidgetChanged를 변화를 다루기 위해서 override한다.
         DialogDirector의 subclass들은 적절한 widget작동하기 위해서 WidgetChanged를 override해서 이용한다. widget은 자신의 referece를 WidgetChanged에 argument로서 넘겨줌으로서 어떤 widget의 상태가 바뀌었는지를 director로 하여금 알게해준다. DialogDirector의 subclass들은 CreateWidget 순수 추상 연산자를 다이얼로그에 widget들을 만들기 위해 재정의한다.
         FontDialogDirector는 그것이 display하는 widget을 추적한다. 그것은 widget들을 만들기 위해서 CreateWidget을 재정의하고 그것의 reference로 그것들을 초기화한다.
  • Gof/Visitor . . . . 4 matches
         [컴파일러]가 abstact syntax tree로 프로그램을 표현한다고 하자. 컴파일러는 모든 변수들이 정의가 되어있는 지를 검사하는 것과 같은 '정적인 의미' 분석을 위해 abstract syntax tree에 대해 operation을 수행할 필요가 있을 것이다. 컴파일러는 또한 code 변환을 할 필요가 있다. 또한 컴파일러는 type-checking, code optimization, flow analysis 와 해당 변수가 이용되기 전 선언되었는지 등의 여부를 검사하기 위해서 해당 operations들을 수행할 필요가 있다. 더 나아가 우리는 pretty-printing, program restructuring, code instrumentation, 그리고 프로그램의 다양한 기준들에 대한 계산을 하기 위해 abstract syntax tree를 이용할 것이다.
         type-checking 의 기능을 넘어 일반적인 visitor를 만들기 위해서는 abstract syntax tree의 모든 visitor들을 위한 abstract parent class인 NodeVisitor가 필요하다. NodeVisitor는 각 node class들에 있는 operation들을 정의해야 한다. 해당 프로그램의 기준 등을 계산하기 원하는 application은 node class 에 application-specific한 코드를 추가할 필요 없이, 그냥 NodeVisitor에 대한 새로운 subclass를 정의하면 된다. VisitorPattern은 해당 Visitor 와 연관된 부분에서 컴파일된 구문들을 위한 operation들을 캡슐화한다.
  • JAVAStudy_2002/진행상황 . . . . 4 matches
          *대기실 UI이 만듬 UI만들기 진짜 싫다. --; (http://zeropage.org/~woodpage)
          *나름대로 채팅을 다짰음 ^^;; 열라 허접 ~~ --;
          *테스트를 하려면 채팅서버를 켜야함
          *[http://zeropage.org/~woodpage/pds/채팅.zip 소스]
  • JavaStudy2004/클래스상속 . . . . 4 matches
          상속은 객체 지향 프로그램에서 가장 중요한 개념 중의 하나이다. 이것은 자바클래스를 직접 디자인하는 문제에 영향을 미친다.상속은 다른 클래스의 정보를 동적으로 액세스하도록 해주기 위해서 그 클래스와 다른 클래스와의 차이를 명시해주면 된다.
         === 클래스 계층 만들기 ===
          많은 클래스를 만들기 위해서는 기존의 클래스 계층을 이용할 수도 있고, 자신만의 클래스 계층을 만들 필요도 있다. 이러한 계층을 만들기 위해서는 몇 가지 생각할 점이 있다.
  • JavaStudyInVacation/과제 . . . . 4 matches
          * 어느 프로그램이든 가장 기초가되는 Hello World 를 출력하는 프로그램 짜 오기
          * 클라이언트로부터 연결이 끊기면 프로그램을 종료한다.
          * 서버와 접속을 끊고 프로그램을 종료한다.
  • MobileJavaStudy . . . . 4 matches
         ["Java2MicroEdition"]을 주축으로 핸드폰용 프로그램을 공부하는 페이지입니다.
          * 이론적인 내용을 중심으로 공부하기보다는 간단한 프로그램들을 직접 개발해보며 J2ME를 알아가는 방법으로 진행한다.
          * ["MobileJavaStudy/HelloWorld"] - "Hello World" 를 출력하는 프로그램 제작 (9월 18일 까지)
          * ["MobileJavaStudy/NineNine"] - 구구단을 종류별로 출력하는 프로그램 제작 (9월 20일 까지)
  • MoniWikiPo . . . . 4 matches
         msgstr "새 그림 만들기"
         msgstr "새 그림 만들기"
         msgstr "페이지 만들기"
         msgstr "페이지 만들기"
  • NUnit/C#예제 . . . . 4 matches
          [SetUp] public void 파일만들기()
          * 실행 명령 만들기
          1. Command에는 설치한 NUnit 콘솔 프로그램의 경로를 적어준다.(예:C:\Program Files\NUnit 2.2\bin\nunit-console.exe)
          * 단축키 만들기
  • OurMajorLangIsCAndCPlusPlus/signal.h . . . . 4 matches
          || SIGILL || 훼손된 프로그램 또는 데이터 프로그램의 실행 ||
          || SIGTERM || 프로그램 종료 ||
          || SIGABRT || 그 프로그램과 abort가 호출되면 발생 ||
  • PerformanceTest . . . . 4 matches
         프로그램의 성능을 측정하는 방법. 프로그램이나 알고리즘의 성능을 알아보는 방법중 하나가 수행시간 측정입니다.
         멀티쓰레드로 인해 제어권이 넘어가는 것까지 고려해야 한다면 차라리 도스 같은 싱글테스킹 OS에서 알고리즘 수행시간을 계산하는게 낫지 않을까 하는 생각도 해봅니다. (하지만, 만일 TSR 프로그램 같은 것이 인터럽트 가로챈다면 역시 마찬가지 문제가 발생할듯..) 그리고 단순한 프로그램의 병목부분을 찾기 위한 수행시간 계산이라면 Visual C++ 에 있는 Profiler 를 사용하는 방법도 괜찮을 것 같습니다. 해당 함수들의 수행시간들을 보여주니까요.
  • Plugin/Chrome/네이버사전 . . . . 4 matches
         = 프로그램 목적 =
         = 프로그램 일지 =
         '''Chrome브라우저에서 환경설정(우측상단에 렌치모양) -> 도구 -> 확장프로그램 -> 우측상단 개발자 모드 Check -> 압축해제된 확장프로그램 로드''' 를 하면 내 컴퓨터에 있는 플러그인 폴더 째로 올릴수 있다.
  • ProjectZephyrus/Client . . . . 4 matches
          + ---- MainSource - 메인 프로그램 소스 & JCreator 프로젝트 화일이 있는 디렉토리
          + ---- TestSource - 라이브러리를 익히기 위해 만은 예제 프로그램들이 있는 디렉토리
         || 친구 등록 입력창 만들기 || 0.5 || ○(1분 -_-; {{{~cpp InputDialog}}}로 해결) (6/7) ||
         || JAR 화일 만들기 || 0.5 || . ||
  • ReleaseDebugBuildStartGo의관계 . . . . 4 matches
          반면, CTRL-F5는 IDE가 실행 프로세스를 단순히 생성(fork)하는 역할만 합니다. 즉, 배포된 프로그램을 우리가 설치해서 실행할 때와 똑같은 환경이라고 생각하면 되겠습니다.
         이 두 개의 기능은 방금 설명한 것 이외에 조금 다른 실행환경을 제공합니다. 바로 "미초기화 변수의 초기화"입니다. 그리고, 이 양상은 프로그램이 릴리즈 빌드냐, 디버그 빌드냐에 따라 다릅니다. 아래와 같은 구조체와 이것을 사용한 코드(비록 한 줄이지만)있다고 가정합시다.
          2. 릴리즈 빌드한 프로그램을 CTRL-F5로 실행시키는 경우, 미초기화 변수는 0으로 초기화된다.
          디버깅할 때는 잘 돌던 프로그램이 그냥 실행시킬 땐 오동작을 보이는 경우가 있어 막대한 육체적/정신적 에너지를 낭비하는 경우가 있는데, 그런 경우를 만난다면 이 글의 내용을 한 번쯤 떠올려 보시기 바랍니다. 그리고 다음의 점검을 해보시기 바랍니다.
  • Ruby/2011년스터디/서지혜 . . . . 4 matches
          * 일정 시간이 지나면 웹 브라우저를 종료하는 프로그램 만들기
          * 0207 : 프로그램 명세. 엔포지에 프로젝트 생성([http://nforge.zeropage.org/projects/deletewastes 엔포지 링크])
         == 프로그램 기능 ==
  • SeminarHowToProgramIt . . . . 4 matches
         === 프로그램 (pun intended) ===
          * 9:35-10:00 프로그램 시연, 설명, 전체 토론
         해당 팀은 개발 환경, 언어 선정부터, 프로그램 디자인, 코딩까지 모두 함께 하게 됩니다. 한가지 문제 상황이 주어질 것이고, 제가 고객역할을 합니다. 개발 진행 중에 몇번의 요구사항 수정이 있을 것이므로, "적응도"에 대한 테스트가 자동으로 이루어 질 것입니다. 개발 완료 후에는 각각 다른 언어로 구현된 프로그램들을 살펴보며 비교 토론을 할 것입니다.
  • SeminarHowToProgramItAfterwords . . . . 4 matches
          * ["neocoin"] : UnitTest에서 추구한 프로그램의 설계에서 Divide해 나가는 과정은 여태 거의 디자인 타임에서 거의 수행을 했습니다. 그래서 여태 Test를 위한 코드들과 디버그용 코드들을 프로그램을 작성할때마다 그런 디자인에도 많은 시간을 소요했는데, 아예 프로그램의 출발을 Test에서 시작한다는 발상의 전환이 인상 깊었습니다. --상민
          * TDD를 어설프게나마 시도하면서 느낀점이 'TDD 에서의 Product Code 는 오직 테스트 까지만 만족하는 코드인가' 였었는데. 한편으로는 이렇게 해석할 수 있겠더군요. '해당 스케일에 대해 더욱더 정확하게 작동하는 프로그램을 만들고 싶다면 그만큼 테스트 코드 양을 늘려라.' 테스트코드 자체가 일종의 Quality Assurance 를 위한 도큐먼트 역할도 된다는 점을 다시 생각하게 되었습니다.
  • WinCVS . . . . 4 matches
          1. 프로그램을 시작하고 첫 화면을 보자. 무심코 지나쳤다면 Ctrl+F1 또는 Admin - Preference 를 보자.
          * External Diff Program : 파일을 비교할 프로그램을 설정한다.
          * Default viewer used to open : 파일을 볼때 쓸 프로그램을 설정한다. 메모장정도면 충분하다.
          CVSNT : CVS의 NT용 서버 프로그램 ["www.cvsnt.org"]
  • 넥슨입사문제 . . . . 4 matches
          이걸... 프로그램으로 짜서 제출하는 문제인건가요? 아니면 답만?;; -정수민
          당연히 프로그램. 프로그램을 보내면 회사에서 문제에 나오지 않은 테스트셋으로 프로그램이 맞는 지 확인하겠지. --재동
  • 데블스캠프/2013 . . . . 4 matches
          || 3 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [새내기의,새내기에의한,새내기를위한C언어] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [Clean Code with Pair Programming] |||| [:WebKitGTK WebKitGTK+] || 10 ||
          || 4 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [http://zeropage.org/seminar/91448 로우레벨로 보는 Physical MAC Cross Layer] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [진격의안드로이드&Java] |||| [:WebKitGTK WebKitGTK+] || 11 ||
          || 5 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [http://zeropage.org/seminar/91448 로우레벨로 보는 Physical MAC Cross Layer] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] |||| |||| [진격의안드로이드&Java] |||| 밥 or 야식시간! || 12 ||
         || 서민관(19기) || [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용한 웹 서버 만들기] ||
  • 데블스캠프2005/RUR-PLE . . . . 4 matches
          * 벽 만들기 5분 + 연습 20분(신문배달, 수확)
          * 사람들이 읽기 쉬운 프로그램을 작성해야 한다.
          * 컴퓨터 프로그램을 작성할때는 반복을 하지 마라.
          * 벽 만들기 연습에서 한 코드들을 함수화 해서 중복 제거를 한다.
  • 데블스캠프2005/월요일후기 . . . . 4 matches
         최정빈 - 사실 : OOP 와 플래쉬, 언어 만들기 했다. 느낌 : 어렵다..힘들다.. 교훈 : 공부하자ㅠ
         사실 : OOP의 개념과 플래시, 프로그래밍 언어 만들기,로보코드를 했다
         사실: 새로운 언어 만들기, OOP, 플래시에 대해서 공부했다.
         사실: 새로운 언어 만들기 및 실습, OOP 와 게임, 플래시와 실습을 했다.
  • 데블스캠프2005/주제 . . . . 4 matches
         || 금 || 새내기 발표 || 조현태 || ? || 게임 만드는 법?(실제로는 프로그램 개발과정 쯤 될듯.) ||
          만약 하게된다면 선배님께 어떤 내용을 설명할 수 있을지..;; 약간 과장을 덧붙이자면 저희가 1주일동안 도스창에서 돌아가는 구구단 프로그램을 작성하면, 선배님들 께서는 하루만에 데이터 베이스를 구축하실텐데..;;(그정도로 세미나 할 내용이 없다는..;;) -[조현태]
         - Guido van Robot 보니까 옛날 LOGO 프로그램 생각나네.. 비슷한거 같은데 아닌가? - fnwinter
         금요일에 제가 한 타임을 맡겠습니다. 네트워크 사용한 간단한 프로그램을 만들 예정입니다. 언어는 파이썬으로 하려합니다. 그러므로 파이썬 배운 후에 몇 개의 토이프로블램은 파이썬으로 연습 시켜주셔야 합니다. --재동
  • 데블스캠프2006/월요일 . . . . 4 matches
         ||pm 07:00~08:00 || 데블스 소개및 프로그램 설치 || ||
         ||am 04:00~06:00 ||[데블스캠프2006/CPPFileInput] [http://zerowiki.dnip.net/~namsangboy/schoolScore.html 데블스캠프2006/성적관리프로그램] [http://zeropage.org/svn/namsangboy/SchoolScore/SchoolScore.cpp Source]|| 남상협 (01) ||
         위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
  • 데블스캠프2006/준비/월요일 . . . . 4 matches
         ||pm 07:00~08:00 || 데블스 소개및 프로그램 설치 || ||
         ||am 04:00~06:00 || 최종 프로그램 || 남상협 (01) ||
         위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
  • 데블스캠프2012 . . . . 4 matches
          || 8 |||| 페챠쿠챠 |||| Kinect |||| [:데블스캠프2012/셋째날/앵그리버드만들기 앵그리버드 만들기] |||| |||| 새내기를 위한 파일입출력 |||| CSE Life || 3 ||
          || 9 |||| 페챠쿠챠 |||| [http://www.hanb.co.kr/network/view.html?bi_id=1760 유지보수하기 어려운 코드 작성법] |||| 앵그리버드 만들기 |||| |||| 새내기를 위한 파일입출력 |||| 회고 || 4 ||
         || 앵그리버드 만들기 || [안혁준](18기), [김태진](21기) ||
  • 데블스캠프2012/둘째날/후기 . . . . 4 matches
          * [김민재] - APM이 뭔가 했더니 Apache + PHP (perl? python?) + MySQL 인걸 알았을 때의 놀라움 ㅋㅋㅋㅋ 내 컴퓨터에서 준석이 형 페이지에 접속했을 때 정말 신기했습니다. 또 MyAdmin으로 데이터베이스를 직접 만드는 것도 처음 해보았습니다. (cafe24 호스팅에서는 DB 만들기가 안되더라구요..) 오늘 여러모로 신기한 체험을 많이 해 보았습니다.
          * [김윤환] - 홈페이지 만들기!! 웹 프로그램의 아주 조금 맛보기가 상당히 재밋엇습니다. ㅎㅎ
          * [서민관] - 특이한 소재를 다루었다는 것 만으로도 충분히 괜찮은 시간이었습니다. 좀 더 잘 동작하는 샘플 프로그램을 봤으면 좋았을텐데 하는 아쉬움이 있네요. 그리고 에네르기파 쏴보고 싶었는데 안 돼서 ㅈㅈ...
  • 땅콩이보육프로젝트2005 . . . . 4 matches
          * 현태: DB이용 단어장 만들기
          * DB이용 단어장 만들기
          * [http://www.alicebot.org/ ALICE] 뢰브너 라는 인공지능 대화 로봇 대회에서 우승한 ALICE 라는 프로그램, 사이트 가면 실제로 대화해 볼수 있음
          * [http://www.aawoo.com/ 와우닷컴] 국내 최초라고 하는 영어 채팅 로봇
  • 문자반대출력/허아영 . . . . 4 matches
         영어문자열만 실행되는 프로그램
         /*파일에서 입력받은 문자열을 반대로 출력하는 프로그램*/
         {{{~cpp /*파일에서 입력받은 문자열을 반대로 출력하는 프로그램 ver.2*/
          한글로 해봤었는데, 이 프로그램은 영어만 되나, 하고 생각했었습니다. MSB를 이용하면 되겠군요. MSB에 대한 자세한 설명이 필요합니다. --아영
  • 새싹교실/2011/무전취식/레벨2 . . . . 4 matches
          * Memory에 적재되서 실행되는 프로그램프로그램 안의 변수.
          * 프로그램은 문장단위로 코드를 돌리게 되는데 그것을 끊어주는 단락이 ; 입니다.
          * 제어문을 배웠습니다. 제어문은 프로그램의 흐름을 제어하는 문장입니다.( if,switch{case},while(){},do~while();,for( ; ; ) )
  • 새싹교실/2011/무전취식/레벨3 . . . . 4 matches
          * Memory에 적재되서 실행되는 프로그램프로그램 안의 변수.
          * 프로그램은 문장단위로 코드를 돌리게 되는데 그것을 끊어주는 단락이 ; 입니다.
          * 제어문을 배웠습니다. 제어문은 프로그램의 흐름을 제어하는 문장입니다.( if,switch{case},while(){},do~while();,for( ; ; ) )
  • 새싹교실/2012/강력반 . . . . 4 matches
         새로만들기 - win32 콘솔 프로젝트(빈프로젝트에 체크)
         상황에 따라 프로그램을 다 만들기 귀찮으므로 사용
          * 황현제 - 우선 c언어에서 쓰이는 기본적인 연산자가 무엇이 있는지에 대해서 배웠다. 또한 함수 4가지에 대해서 배웠는데, printf, scanf,switch, if에 대해서 배웠고 그리고 새싹강사님께 C를 이용해 작성하신 프로그램을 구경하기도 했는데, C로 이런것도 할 수 있다는 것을 알았다. 새싹 강사님께서 우선적으로 설명을 해주신다음 새싹들이 실습하는 방식으로 수업이 진행됬는데, 옆에서 강사님이 지속적인 피드백을 해주셔서 이해하기가 편했다. 다음에는 반복문에 대해서 배우고, 실습도 해봐야겠다.
  • 새싹교실/2012/앞부분만본반 . . . . 4 matches
         2. C 프로그램의 완성과정
         4. 주석이 들어가야 완성된 프로그램
         3 -> 문제 1. 다음과 같은 형식으로 본인의 이름을 출력하는 프로그램을 완성해보자 .
          문제 2. 본인의 이름, 주소, 그리고 전화번호를 모니터에 출력하는 프로그램을 작성해보자.(\n을 사용)
  • 쉽게Rpg게임만들기 . . . . 4 matches
          * 쉽게 RPG 게임 만들기 라고 해서 RPG 쯔꾸르 깔고 사용하는 법만 간단히 설명하는 건가 했는데 Ruby 얘기도 나오고 해시 얘기도 나오고 슈퍼 클래스 얘기도 나와서 놀람… - [김수경]
          * RPG 만들기로 세세한 것 까지 모두 정할 수 있다는 걸 알았고 재밌었음 ㅋㅋ 혼자서 게임만드는건 좀 노가다가 필요하겠지만 몇명이서 같이 만들면 재밌는 게임도 나올듯 ㅋ [박재홍]
          * 게임만들기 .. 만들어보구싶어지네요ㅋㅋ 안에들어간 언어들도 보면 재밌을거같구ㅎ - [박정근]
          * 재밌다 ㅋㅋㅋㅋㅋㅋㅋ RPG 게임 만들기 페스티벌하자 ㅋㅋㅋㅋㅋ 그런데 실제 코드를 보면 더러운 코드가 나올 것 같은 느낌이... 스위치 = 플래그 같아 ㅋㅋㅋㅋㅋ - [박성현]
  • 이영호/미니프로젝트#1 . . . . 4 matches
         목적 : irc에 접속해 있는 유저들을 자동적으로 공격하는 프로그램. & 차후 AI(망할 엉터리 AI 패러다임) bot이나 타자봇을 집어넣을 예정
         방법론 : 프로세스를 여러개 만들어 비교적 프로그램이 쉬워지게 만든다.
         file.c -> 파일 입출력을 다루는 함수와 메세지들을 Log하는 부분을 담당한다. 일단 프로그램을 어느 정도 만들고 구현하도록한다.
         // 향후 프로그램이 커지면 네트워크 부분은 따로 모듈을 만들어 낸다.
  • 정모/2011.3.21 . . . . 4 matches
          * Emacs & Elisp 후기 :의 소개를 보면서 다양한걸 사용하는 승한형에게 잘맞는 프로그램이라 생각됬다. 그 프로그램을 사용하기에 다양한걸 좋아하기도 하고 내가 가장많이쓰는건 Eclipse와 그걸 지원하는 플러그인이지만 여러가지를 개발하는 개발자에게 저것은 좋은프로그램이라 생각된다. 하지만 나에게는 아직도 Eclipse를 다루는것조차 아직은 버겁기에 우선 Eclipse를 하자는생각이 들었다.
          1. 승한오빠 특별 세미나(emacs & elisp) : 교육기간이니 '''칼퇴할때 세미나 한번 해주세요!!''' 라고 요청드렸는데 선배님 펌프질에 보람을 느꼈던 순간이었습니다. 칼보단 감자깎기가 흙당근이나 감자를 깎을때 진리이듯이 좋은 프로그램과 좋은 툴을 적절히 사용하는게 얼마나 중요한지를 다시 생각해볼 수 있었습니다. 이 세미나 이후 아직도 textPad 강제로(?) 사용하고 있는 2학년 학우들이 불쌍해졌습니다......
  • 정모/2012.4.2 . . . . 4 matches
          * [신기호] 학우의 '음악 만들기'
          * OMS는 음악 만들기였는데 뮤직쉐이크 어디서 들어본 거 같긴 해요. 그런데 써본 적은 없고… 그런 프로그램으로 음악 만들기 힘들지 않나 싶었는데 생각보다 해볼만 한 것 같습니다. 시간나면 써봐야겠어요.
  • 조영준/다대다채팅 . . . . 4 matches
          * 새싹교실에서 소켓에 대해 배우고 쓰레드에 대해 배운 다음에 삘받아서 슉슉 만든 프로그램.
          * 원래 있던 일대일 채팅 프로그램을 개조.
  • 최대공약수 . . . . 4 matches
         문제 : 최대공약수(GCD)를 구하는 프로그램을 순수하게 주 프로그램으로 작성하고 그것을 다시 call-by-value로 구하여라.
          (ver.1 , ver.2 로 나누에 두개의 프로그램을 짠다. )
          * 주 프로그램 출력
  • 토비의스프링3/오브젝트와의존관계 . . . . 4 matches
          * 사용자 정보를 JDBC API를 이용해 DB에 저장하고 조회할 수 있는 간단한 DAO 만들기.
         == 커넥션 만들기의 추출 ==
         == DB 커넥션 만들기의 독립 ==
          * 프로그램의 제어 흐름 구조가 뒤바뀌는 것
  • 토이 . . . . 4 matches
         ||[토이/스택만들기] ||기초적인 자료구조에 하나인 스택을 구현 || X || X || X || X ||
         ||[만년달력] ||원하는 년도와 달을 쓰면 그 달의 달력이 나오는 프로그램 || O || O || X || X ||
         ||[토이/삼각형만들기] ||아주 기본. 콘솔에 삼각형 모양 만들기 || X || X || X || X ||
  • 튜터링/2013/Assembly . . . . 4 matches
          * 교수학습센터에서 진행하는 튜터링 프로그램에 참가해 튜터링 활동을 진행
          * 0과 1000 사이의 정수를 입력받아 모든 자릿수를 더하여 출력하는 프로그램을 짜보자.
          * 소문자를 대문자로 바꾸는 프로그램을 작성해보자.
          * 어셈블리언어의 기본문법을 보고, 어떤 프로그램이든 컴파일시키고 실행시켜보자.
  • 02_C++세미나/0523 . . . . 3 matches
          1. 위키위키에 개인 페이지 만들기.
          1. 피보나치 수열 만들기.
          * 너가 만들어라-.- 다시 만들기 열라 귀찮어--;
  • 05학번만의C++Study/숙제제출/1 . . . . 3 matches
         => 숙제 페이지는 프로젝트 페이지의 하위 페이지에 만드시기 바랍니다. 여러 프로젝트가 존재하고 그것을 기록, 보존, 관리 차원에서 05학번만의C++Study/숙제1/허아영 와 같은 식으로 프로젝트의 하위 페이지로 만들기 바랍니다. -- 재선
         섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. 프로그램은 섭씨 온도로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 한다. 참고로, 섭씨 온도를 화씨 온도로 변환하는 공식은 Fahrenheit = 1.8 X Celsius + 32.0 이다.
  • 1002/TPOCP . . . . 3 matches
          문제해결방법을 찾는 여러 방법들을 인식하고 있다. 문제를 이해하기 위한 프로그램을 준비하기도 한다
          case) 물리 교수로부터 해당 메트릭스를 반전하는 프로그램 작성. 한 개발자는 (A) 뭔가 배울 수 있는 좋은 기회라고 생각, buffering 을 이용하여 문제를 해결하려고 함.
          각각의 프로그램에는 적절한 레벨이 있다.
  • 2학기파이선스터디 . . . . 3 matches
          [2학기파이선스터디/채팅창]
          [2학기파이선스터디/서버&클라이언트접속프로그램]
          [채팅원리]
  • 2학기파이선스터디/모듈 . . . . 3 matches
          * 파이썬 프로그램 파일 혹은 C 확장 파일
          * 프로그램(함수, 클래스... )과 데이터를 정의
         == 모듈만들기(간단하게..) ==
  • 3DAlca . . . . 3 matches
          * 주변 벽에도 튕기게 만들기 OK
          * 아이템들 만들기
          * 스테이지 만들기
  • 3rdPCinCAUCSE/FastHand전략 . . . . 3 matches
         알고리즘을 위해 연습장을 썼습니다. B 문제와 A 문제는 이전에 같은 프로그램을 짜 본 경험이 있던 관계로 특별한 계산을 하지 않았으며, C 번 문제에 대해서 분석차 이용하였습니다. 그리고 테스트를 위해 예제 입력값들을 텍스트 화일로 미리 작성해두고, 도스창에서 이를 redirection, 결과를 확인했습니다. 이러한 방법은 특히 A 번 문제에서 큰 힘을 발휘했습니다. (A번 문제는 입력값이 오목판 전체 이기 때문이죠.) 결과에 대한 확인 테스트 시간이 1초도 걸리지 않았고, 테스트 인풋 데이터 만드는데도 거의 시간소요가 없었습니다.
         그동안 [경태]는 A 번 구현 완료. 테스트 데이터를 위해 editplus 로 입력데이터를 test.txt로 작성. DOS 창에서 redirection 으로 프로그램 실행 & 결과 확인. 중간에 5목이 일어난 부분의 첫 위치를 파악하는 부분에서는, 해당 오목 판정결과 함수에서 판정 방향값을 리턴해주는 형태로 함수를 수정, 이를 근거로 첫 위치를 구했습니다.
         A 번 진행중 아쉬웠던점은, 제출 전 test 겸 찍었던 데이터를 주석처리하지 않은 바람에 아쉬운 페널티를 먹었다는 점. 이에 대해서는 실제 결과 비교부분까지 fc 등의 프로그램으로 배치화일을 만들었다면 문제가 없지 않았을까 생각.
  • AcceleratedC++/Chapter0 . . . . 3 matches
          main 함수의 리턴형은 ISO/ANSI C++ 표준에서 int로 정하고 있다. 리턴값은 프로그램이 아무런 에러 없이 종료되는 경우에는 0을 리턴하도록 되어 있고, 에러가 발생해서 종료한 경우에는 0 이외의 값을 리턴하도록 되어있다. 이 값은 OS로 돌려지는 값이기는 하지만 OS에서 이것에 따라 특별히 처리하는 것은 없기 때문에 일반적인 경우에는 이 값은 아무런 의미가 없다. 이 값을 이용할수 있는 방법으로는 exec... 함수를 이용하여 프로그램을 실행해주고 받아오는 방법 등이 있다.
          이런 문장이 들어있는 C++ 프로그램을 컴파일 해 보면 에러가 날 것 같지만 에러가 나지 않는다. 왜냐하면 둘 다 모두 계산 가능한 식이기 때문이다. 계산 가능한 식이라면 최종 결과가 존재해야 한다. 첫번째 문장은 계산이 끝나있는 식이고 최종 결과가 100 이다. 두번째 문장은 한번만 계산하면 계산이 끝나고 최종 결과는 4 이다. 그렇다면 다음과 같은 문장은 계산 가능한 식이 맞는가?
  • AcceleratedC++/Chapter3 . . . . 3 matches
         학생들의 성적 관리 프로그램으로 작업을 하면서, 뭔가를 저장하는 방법 등등을 논의할 것이다.
          * 평균값 대신에 중간값을 사용하는 프로그램으로 변경한다.
          * homework가 비어있을때 왜 프로그램을 끝내야 할까?
  • AcceleratedC++/Chapter9 . . . . 3 matches
         string, vector 와 같은 것들은 Student_info의 내부 구현시에 필요한 사항이기 때문에 Student_info를 사용하는 프로그램의 또다른 프로그래머에게까지 vector, string을 std::에 존재하는 것으로 쓰기를 강요하는 것은 옳지않다.
          그런데 더 나가서 이제는 아예 이 객체의 내부멤버를 프로그램의 다른 부분에서 다루는 것을 금지시키고 싶다면?
          만약 s:Student_info 에 read(istream&)을 통해서 데이터를 입력하지 않고서 s.grade()를 사용한다면 프로그램을 에러를 낼 것이다.
  • BasicJAVA2005 . . . . 3 matches
          - JAVA라는 언어를 가지고 어느정도의 프로그램을 짤 수있게 '''기초를 다지기!!'''
         || 4 || 06.01.12 || 선호 민경 아영 규완 지희 수생 태훈 현태 || 다솔 희웅 || 빙고판 만들기(Swing) || [BasicJava2005/4주차] ||
          ex> 메신저, 채팅, 보드게임 ...?
  • C++스터디_2005여름/도서관리프로그램/문보창 . . . . 3 matches
         우선 스터디 시간에 버벅대서 마무리 짓지 못한거 미안하게 생각합니다. 자신이 꼭 스스로 프로그램을 짜시고, 그런 후에 제 코드와 비교해 보시기 바랍니다. 저보다 여러분이 잘한 점, 혹은 제가 잘한 점이 무엇인지 생각해 보시기 바랍니다. 어떤게 더 확장성과 재사용성에 유리한지 곰곰히 생각해보세요.
          cout << "** 도서관리 프로그램 **\n";
         [C++스터디_2005여름/도서관리프로그램]
  • CVS/길동씨의CVS사용기ForLocal . . . . 3 matches
         길동씨는 프로젝트 세팅이 끝나고 간단히 HelloWorld.java 라는 프로그램을 작성했다.
         === 스토리 2 홍길동씨 프로그램 고치다. ===
         홍길동씨는 이렇게 프로그램을 C:CVSLocal 에 저장하고는 곧 잊어 버린다. 그러다 몇일뒤 아차 하며 다시 소스를 oop적으로 고칠려고 시도하였다. 그냥 출력하는 사람에게 일침을 가하는 글을 마소에서 본적이 있으리라. 그래서 객체 지향(?) 적으로 작성하려고 한다.
  • Cpp/2011년스터디 . . . . 3 matches
          * 클래스에 관해 공부하고, 그걸 토대로 프로그램을 짜본다.
          * 위의 상황은 디버그일때 일이고 릴리즈일때는.. 프로그램이 죽진 않으나.... 말로 표현할수가 없다.
          * 보니까 06년도에 06학번을 대상으로 테트리스 만들기 라는 활동도 있었고 10년 데블스캠프에서도 테트리스가 언급되었던것 같은데 아예 새싹교실할때 테트리스를 포함해보는건 어떨까. 기본적인 블럭낙하에 줄이 없어지고 점수가 표시되는 정도라면 잘되는 새싹반은 완성도 가능하지 않을까?
  • DebuggingSeminar_2005/DebugCRT . . . . 3 matches
         자기가 짠 프로그램으로 돌려보고 누수 여부를 판단하기에 좋을 것이다.
         || _CRTDBG_LEAK_CHECK_DF || 프로그램이 종료되는 시점에서 _CrtDumpMemoryLeaks()를 호출. 메모리 해제에 실패한 경우 그 정보를 얻을 수 있다. ||
         DCRT를 켜고 끄는 것에 따라서 프로그램의 수행속도의 차이가 상당하다. STL때문인지도 모르겠지만. - [eternalbleu]
  • DesignPatterns/2011년스터디/1학기 . . . . 3 matches
          1. 오늘은 LifeGame으로 바로 넘어가기 전에 [임상현]의 SE 과제인 파일 비교 프로그램을 설계해보았다.
          1. 프로그램이 동작하는 모습을 상상해보니 아키텍쳐의 윤곽을 잡을 수 있었다.
          1. SE project인 merge 프로그램 디자인을 했다. MVC모델이 스팩이라 자유롭게 책에 나온걸 자유롭게 써보진 못했다.
  • EffectiveC++ . . . . 3 matches
         몇달 지난 프로그램은 자기가 만든게 아닌거야!? , 예전에 상민이 형이 얘기해준.. --;; ㅎㅎㅎ 동감.. [[BR]]
         '왜 이런 대입을 하는거지. 프로그램 짜는 놈이 바보 인가?' 라는 생각을 할 수 도있지만, 밑의 코드가 있다고 하자.
         그런데, 왜 최소한인가? 여러가지 일을 할수 있는 멤버 함수들을 계속 추가해 나가면 안되는 것인가? 대답은 안된다. 왜 안되는 것일까? 당신은 멤버 함수가 10개 있는 클래스와 100개가 있는 클래스중 어떤것이 이해하기 쉽다고 생각하는가? 나 만 쓰려는 클래스가 아닌이상 다른 사용자들이 쉽게 이해 할수 있도록 만들어야 하지 않겠는가? 그렇기 때문에 최소한의 인터페이스를 추구하는 것이다. 그리고, 관리적인 면에서 볼때 적은 함수들을 가진 클래스가 용이하다는 것이다. 중복된 코드라던지 아니면 개선할 것들을 향후에 하기 쉽다는 것이다. 또한, document를 작성한다 든지 할때 적은 멤버 함수들을 가진 클래스 쪽이 용이하다는 것이다. 마지막으로 아주 긴 클래스 정의는 긴 헤더 파일을 초래 한다. 일반적으로 헤더 파일들은 프로그램이 컴파일될 때마다 매 번 읽혀져야 하기 때문에 필요 이상 긴 클래스 정의는 프로젝트 주기 중의 총 컴파일 시간을 갉아 먹는다. 그런 이유들 때문에 최소한의 클래스 인터페이스를 추구하는 것이 좀더 나은 판단이라는 것이다.
  • EightQueenProblem/lasy0901 . . . . 3 matches
         두번째 프로그램은 ... 이상하게 컴파일이 안되더군요.. 알고보니 #include <stdafx.h> 을 안 넣어서 (VC6.0) 낭패-_-a
         == 하나의 해만 구하는 프로그램 ==
         == 모든 해를 구하는 프로그램 ==
  • ExtremeBear/VideoShop . . . . 3 matches
         고객의 요구로 비디오 가게관리 프로그램 구현
         <<비디오 대여 프로그램>>
         등급에 안맞을 경우는 (주민등록번호와 관련되어서 알아서 프로그램이 처리해준다 )대여불가능하다고 나온다.
  • HowToStudyDataStructureAndAlgorithms . . . . 3 matches
         왜 우리는 학교에서 "프로그래밍을 하는 과정"이나 "디자인 과정"을 배운 적이 없을까? 왜 해답에 이르는 과정을 가르쳐주는 사람이 없나? 우리가 보는 것은 모조리 종적 상태의 결과물로서의 프로그램 뿐이다. 교수가 어떤 알고리즘 문제의 해답을 가르칠 때, "교수님, 교수님께서는 어떤 사고의 과정을 거쳐, 그리고 어떤 디자인 과정과 프로그래밍 과정을 거쳐서 그 프로그램을 만드셨습니까?"라고 물어보자. 만약 여기에 어떤 체계적인 답변도 할 수 없는 사람이라면, 그 사람은 자신의 사고에 대해 사고해 본 적이 없거나, 문제 해결에 어떤 효율적 체계를 갖추지 못한 사람이며, 따라서 아직 남을 가르칠 준비가 되어있지 않은 사람이다. --김창준
         자료구조와 알고리즘은 프로그램을 만드는 데 있어서 중요하다고 생각합니다. 남이 만든 자료구조와 알고리즘을 이용하는데 그치지 말고 스스로 생각하여 만드는 경지에 오르면 좋겠습니다. -[강희경]
  • MindMapConceptMap . . . . 3 matches
         컴퓨터 프로그램에서도 MindMap 과 ConceptMap 을 그리는 프로그램이 많다. 하지만, 그렇게 효율적이지는 않은 것 같다. (아직까지 연습장과 펜 만큼 자유롭지가 않다. ["TabletPC"] + Visio 조합이라면 또 모를까;) MindMap 이건 ConceptMap 이건 기존 지식으로부터 연관된 지식을 떠올리고, 사고하고, 재빨리 Mapping 해 나가는 과정자체가 중요하기에. (["1002"]는 개인적으로 프로그래밍을 하려고 했다가; 그리 유용하단 느낌이 안들어서 포기했다는. 여러 프로그램들을 써 봤지만, 결국 도로 연습장 + 펜 으로 돌아갔다. ^^; 그리고 개인적으로 Map 자체를 도큐먼트용으로 보관하는것에 의미를 두지 않아서.)
  • NSIS/예제2 . . . . 3 matches
         ; 인스톨러 프로그램 이름
         ; 인스톨러 프로그램 이름
         ; 인스톨러 프로그램 이름
  • NextEvent . . . . 3 matches
         이 토론 기법을 프로그래밍에 적용합니다. 그리고 축구중계의 개념을 집어 넣습니다. 안의 사람들이 프로그래밍을 하고 이것을 벽면에 프로젝션합니다. 해설자와 아나운서가 이 광경을 해설합니다. 프로그래밍을 하는 팀원들 중에 피곤한 사람은 밖으로 나올 수 있습니다. 해설자는 나오는 사람을 인터뷰하기도 하고, 방금 어항 속 물고기의 행동에 대한 해설을 해줍니다. "아~ 멋진 페인트 액션이에요~" "저게 바로 압박 프로그래밍이라는 것이죠." 사람이 비면 밖의 사람이 안으로 들어갈 수 있습니다. 또 밖의 사람이 안으로 들어가면 안의 사람 중 한 사람은 밖으로 나옵니다. 이런 식으로 팀원이 항상 유동적으로 바뀝니다. 대신 개발하는 프로그램은 계속 유지됩니다.
         자신이 쓰는 언어의 개발자 중에서 자기는 어떤 위치인지 궁금합니까? 다른 언어를 사용하는 개발자가 만든 프로그램과 자신이 만든 프로그램의 수행 시간, 개발 시간, 코드 크기 등의 비교 결과가 궁금합니까?
  • OptimizeCompile . . . . 3 matches
         현재 프로세서의 속도는 [무어의 법칙]에 따라 극한으로 속도가 증가하고 있다. 이러한 상황에서는 예전처럼 [CPU] 의 속도 에 프로그램의 실행속도가 크게 영향 받지는 않으므로, 컴파일러의 최적화 작업도 더이상 연산(computation)을 줄이는 것 만이 목적이 되는 것이 아니라, 좀 더 메모리 계층구조를 효율적으로 사용하는 것에 관심이 기울여지게 된다.
         프로그램(translation unit)은 진행방향이 분기에 의해 변하지 않는 부분의 집합인 basic block 들로 나눌 수 있는데 이 각각의 block 에 대하여 최적화 하는 것을 local optimization 이라 하고, 둘 이상의 block 에 대하여, 혹은 프로그램 전체를 총괄하는 부분에 대하여 최적화 하는 것을 global optimization 이라고 한다.
  • OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 3 matches
         || void abort(void); || 비정상적인 프로그램 종료를 발생시킨다 ||
         || int atexit(void (*func)(void)); || 프로그램이 정상적으로 종료될 때 전달인자로 넘겨진 함수포인터를 이용해서 특정 함수 실행 ||
         || void exit(int status); || 정상적인 프로그램 종료를 발생시킨다 ||
  • PHP Programming/HtmlTag . . . . 3 matches
          *ACTION=".." - 사용자의 입력정보를 받아서 처리하는 서버에 담김 CGI프로그램의 위치
          *METHOD=".." - 사용자 입력정보가 어떤 방법으로 CGI프로그램에 전달하게 할 것인지 지정.(POST, GET 두가지 값 사용)
          *<TEXTAREA> 여러줄까지 입력필드를 만들기 위해서 사용
  • PairProgramming토론 . . . . 3 matches
         PP에 대해서는 체계적으로는 잘 모르겠지만.. (파고들려면 XP 에서부터 파고들어야 할 것 같아서요.) 그냥 여기저기 자료들 얻어서 읽어보고, 선배님 글도 읽어보면서 '효과적인 지식전달방법이 될 수 있겠구나.' 특히 1기 -> 2기 인수인계식으로 기존의 프로그램들을 이해시키는데에도 괜찮은 방법이라 느끼고 있습니다.
         Strengthening the Case for Pair-Programming(Laurie Williams, ...)만 읽어보고 쓰는 글입니다. 위에 있는 왕도사와 왕초보 사이에서 Pair-Programming을 하는 경우 생각만큼 좋은 성과를 거둘 수 없을 것이라고 생각합니다. 문서에서는 Pair-Programming에서 가장 중요한 것을 pair-analysis와 pair-design이라고 보고 말하고 있습니다.(좀 큰 프로젝트를 해 본 사람이라면 당연히 가장 중요하다고 느끼실 수 있을 것입니다.) 물론 pair-implementation도 중요하다고는 말하고 있으나 앞서 언급한 두가지에 비하면 택도 없지요. 그러니 왕도사와 왕초보와의 결합은 아주 미미한 수준의 이점만 있을뿐 실제 Pair-Programming이 주창하는 Performance는 낼 수 없다고 생각됩니다. 더군다가 이 경우는 왕도사의 Performance에 영향을 주어 Time dependent job의 경우 오히려 손실을 가져오지 않을까 생각이 됩니다. Performance보다는 왕초보를 왕도사로 만들기 위한 목적이라면 왕초보와 왕도사와의 Pair-Programming이 약간의 도움이 되기는 할 것 같습니다. 그러나 우리가 현재 하는 방식에 비해서 얼마나 효율이 있을까는 제고해봐야 할 것 같습니다. - 김수영
         ''Performance보다는 왕초보를 왕도사로 만들기 위한 목적이라면 왕초보와 왕도사와의 Pair-Programming이 약간의 도움이 되기는 할 것 같습니다. ''
  • PersonalHistory . . . . 3 matches
          * [SmallTalk]다 프로젝트. Feat. [톱아보다], 매주 금요일 10시 모임. [SmalltalkBestPracticePatterns]를 공부하면서 [SBPPSummary]페이지의 완성과, 자판기프로그램 제작이 목표.
          * 웹커뮤니티 만들기 프로젝트(외부)
          * [ProjectEazy] - AI를 이용한 3살짜리 여자아이 '이지(Eazy)' 만들기
  • ProjectPrometheus/EngineeringTask . . . . 3 matches
         || ViewBook Linker 만들기 (and register as a service) ||
         || DB 에서 책에 대한 Total Point 를 가져와서 정렬, BookList 만들기 ||
         || 임의의 Data set 만들기 || ○ ||
  • QuestionsAboutMultiProcessAndThread . . . . 3 matches
          * A) processor라고 쓰신 것이 process, cpu가 processor를 의미하신 것 같군요. process는 실행되고 있는 하나의 프로그램 인스턴스이며, thread는 a flow of control입니다. 즉, 하나의 프로그램 안에 논리적으로 여러 개의 제어 흐름이 존재하느냐(*-thread)와, 하나의 컴퓨터에 논리적으로 여러 개의 프로그램 인스턴스가 실행되고 있느냐(*-process)로 생각하는게 가장 좋습니다. multi-processor(multi-core)는 말 그대로 동시에 물리적으로 여러 개의 흐름을 처리할 독립적인 처리기가 병렬로 존재하느냐입니다. 위에 제시된 예는 적절하지 못한 것 같습니다. - [변형진]
  • Reverse Engineering처음화면 . . . . 3 matches
         1. 프로그램이 왜 이렇게 짜여져 있는지 확인.
         5. Pack되어있는 프로그램 분석. Pack 프로그램 제작. 알고리즘 제작.
  • ScheduledWalk/창섭&상규 . . . . 3 matches
         === 프로그램 디자인 ===
          * 사용자(User) -> 프로그램 사용자와 대응되는 객체
         === 프로그램 소스 ===
  • StandardWidgetToolkit . . . . 3 matches
         내부에서는 초기부터 SWT와 [Eclipse] 프로젝트의 역할이 분담되어, 과거 IBM developerworks 에 gcc를 이용한 프로그램 작성에 대한 문서가 있었으나, SWT를 이용한 프로그램의 등장은 보이지 않았다. 그러나 분리되면서, 그러한 프로그램을 기대할 수 있게 되었다.
  • Telephone . . . . 3 matches
         다음과 같은 프로그램을 만드세요.!
         자 이러한 광고문구 글을 해당 전화번호로 번역해주는 프로그램을 만들어보자.!
         """자신의프로그램이름""" < test1.in > out.txt
  • TestFirstProgramming . . . . 3 matches
         메인 코드를 만들기 전에 해당 코드의 의도를 표현해줄 테스트 코드를 먼저 만드는 기법.
         테스트코드는 프로그래머가 하려고 하는일, 즉 의도를 담아낸다. 이는 이 프로그램이 어떠한 시나리오로 돌아갈것인가를 먼저 생각해보는 기회를 저절로 제공해준다. Test가 가능한 코드는 run 을 시켰을때 어떤 결과를 낼지를 파악할 수 있는 코드이다. 이 경우 해당 모듈이 완성되었을때가 언제인지 그 목표를 분명하게 잡는 역할을 해준다.
         프로그램이 길어지다보면 Test Code 또한 같이 길어지게 된다. 어느정도 Test Code 가 길어질 경우에는 새 기능에 대한 테스트코드를 작성하려고 할 때마다 중복이 일어난다. 이 경우에는 Test Code 를 ["Refactoring"] 해야 하는데, 이 경우 자칫하면 테스트 코드의 의도를 흐트려뜨릴 수 있다. 테스트 코드 자체가 하나의 다큐먼트가 되므로, 해당 테스트코드의 의도는 분명하게 남도록 ["Refactoring"] 을 해야 한다.
  • TheWarOfGenesis2R . . . . 3 matches
          5. [[HTML(<STRIKE>)]] 타일 에디터 만들기 [[HTML(</STRIKE>)]] - 2시간 30분
          6. 시나리오 에디터 만들기
          * 내가 그 길찾는 프로그램 돌려봤는데.. 가끔은 벽을 뚫기도 한다. ^^ 내부벽 뿐만 아니라 외부벽을 뚫고 나가 헤매기도..;; 그리고 지그재그로 돌다가 가기도 한다. 참고하라궁...^^ --["창섭"]
  • UnitTest . . . . 3 matches
         ExtremeProgramming 에서는 TestFirstProgramming 을 한다. TestFirstProgramming 에서는 해당 기능에 대한 테스트 프로그램을 먼저 만들고, 실제 프로그래밍을 한다.
         TestFirstProgramming 을 하게 되면 해당 프로그램을 작성해 나가는 과정이 UnitTest 작성중 남게 된다. 이는 일종의 WhiteBoxTesting 이 된다. 또한, 해당 모듈이 제대로 돌아가는지에 대한 결과도 체크하므로 BlackBoxTesting 의 역할을 한다. 즉, ExtremeProgramming 에서의 UnitTest 는 두가지 테스트의 성격을 같이 포함하고 있다. (Gray Box Testing)
         A: Socket 이나 Database를 이용하는 경우에는 문제가 되겠죠. 그럴때 MockObjects를 이용하는 방법이 있었던걸로 기억하는데, 아직 실제로 제가 해보지는 않아서요. 대강 개념을 보면 MockObjects는 일종의 가짜 객체로 실제 객체가 하는 일을 시뮬레이션 해주는 객체입니다. 미리 MockObjects 를 셋팅을 해두고 해당 함수결과의 리턴 요구시에는 예측할 수 있는 데이터를 리턴하게끔 하는 것이지요. 나중에 본 프로그램에서 MockObjects들을 토대로 실제의 객체를 만든다.. 식의 개념으로 기억하고 있긴 한데, 저의 경우는 공부만 하고 적용해본 적은 없습니다. --석천
  • VMWare/OSImplementationTest . . . . 3 matches
         intel x86 cpu에서 돌던 프로그램도 586에서도 수행되도록 하위호환을 갖게 됩니다.
         i386+ 환경으로 만들기 위해서 적어도 다음과 같은 일을 하게 됩니다.
         부트 이미지 뜨는 프로그램 만들면된다.
  • WikiProjectHistory . . . . 3 matches
         || ["MineFinder"] || ["1002"] || 2002.2.20~3.1. Win 지뢰찾기의 지뢰 찾아주는 프로그램 제작 || 종료 ||
         || ["MFCStudy_2001"]|| 6명 || 2001.2학기~ 2002.1 MFC 를 이용한 개인 프로그램 작성||종료||
         || ["우리홈만들기"] || ["물푸"],["setsuna"],["woodpage"],["zennith"]|| 2002년 2.28 종료 || 종료 ||
  • ZIM/EssentialUseCase . . . . 3 matches
         화일 전송시의 System Response는 클라이언트프로그램의 입장에서 써야 하나요? -- 석천
          클라이언트 프로그램 + 서버 프로그램 = 시스템 아닌가요? ^^ -- 데기
  • ZPBoard/HTMLStudy . . . . 3 matches
          * 웹 전화번호부 만들기
          * 이름과 전화번호를 입력할 수 있도록 만들기
          * MySQL 과 PHP 를 사용해서 만들기
  • ZeroPage정학회만들기 . . . . 3 matches
          see also ["ZeroPage정학회만들기/지도교수님여론조사"]
          - 다 좋은생각입니다만, 일단 정학회를 만들기 위해서는 학생들 사이에서의 여론을 조성하는 것이 무엇보다 우선이 되어야 할것 같군요 우리 과 사람들이 다 인정한다면 학생회에서도 훨씬 더 쉬울 수 있기 때문입니다. 학생회가 아니라도 여론 조성은 제1순위가 되어야 할것 같습니다 - 상욱 (["whiteblue"])
          - ''단순히 설문을 한다는 의미 외에 ["ZeroPage정학회만들기"] 를 학우들에게 알린다는데에도 의미가 있다고 생각합니다. 제 생각이지만, 제로페이지의 정학회化에 대해 논의가 이루어지고 있다는 사실을 알고 있는 학우는 거의 없는 것 같습니다. (거의 제로페이지 내부사람이나. 설문에 참여했던 사람정도가 아닐까요. 설문지를 작성한 학우들이 많다면 할말이 없지만요.;;). 만약 그렇다면, 이번 기회에 쉽고 편한 방법으로 학우들에게 알리는건 어떨런지요 - 임인택'' [[BR]]
  • Zeropage/Staff/회의_2006_02_13 . . . . 3 matches
         신입생 3월에 준회원 -> 세미나 프로그램 생각하기(커리큘럼 작성)
         1학기->페어 프로그램, 문제풀기
         프로그램접수 : -
  • html5practice . . . . 3 matches
          * 간단한 파일(그림, 텍스트) 전송 프로그램
          * filewriter가 구현 된다면 레알 p2p 전송 프로그램을 만들어도 좋을 듯
          * [html5practice/즐겨찾기목록만들기] : [html5/web-storage] 활용 - 이승한
  • 검색에이전시_temp . . . . 3 matches
          * [http://prdownloads.sourceforge.net/goog-kongulo/kongulo-0.1.zip?download 웹스파이더(구글오픈소스)] - 이프로그램은 구글 데스크탑의 플러그인 같은 것으로서 이프로그램을 사용하여 특정 웹사이트 내용을 긁어서 구글 데스크탑 디비에 넣을 수 있다. 현재는 이 프로그램으로 구글 데스크탑이 아닌 그냥 파일에 쓰는식으로만 바꿔봄
  • 고한종 . . . . 3 matches
          * JAVA의 Swing으로 만든 시간표 대신 만들어주는 프로그램 (...) 사실 만들어 놓고 안쓴다. 2학년 말에 만들어 놓고 이번 학기(2013년 1학기)에 본인조차 안 쓴걸 보면 기획부터가 잘못된 물건. 일단 소개를 하자면, 수강신청 기간이 되면 포탈에 그 학기에 개강될 과목들을 정리해서 xls 파일로 올려줍니다. 이걸 받아서, poi 라는 JAVA 라이브러리? 에 넣고 돌리면 "[cell값]" 형식으로 String이 나옵니다. 그럼 이걸 stringTokenizer에 ]와 [를 토큰으로 해서 잘게 쪼개줍니다. (애초에 그런거 없이 CSV로 나오면 최고겠지만.. 할줄 모름 ㅠ). 사실 그냥 엑셀에서 CSV로 만들어 쓰면 되는 데, 그때 당시엔 사용 편의성을 도모한답시고 뻘짓 함. 어짜피 아무도 안 쓸텐데 ㅠㅠ 그렇게 얻어낸 과목의 시간정보를 ArrayList에 넣고, 그걸 가지고 backtraking인지.. 를 했던것 같음. 결국 속도는 처참했지만 -_-... 모든 결과가 나오는 것도 아님. 마지막으로 코드를 수정하고나서 테스트로 돌렸을때, 내가 실제로 수강신청했던 시간표는 나오지 않았음 ㅇㅈㄴ... - [고한종], 13년 3월 16일
          * 동시에 프로그램에 들어간 노력과 시장에서 팔리는 정도는 별 관계가 없다는걸 알게 되었겟지.- 아마도 [김태진]
          * 원본 프로그램은 ActiveX로 만들어져있었다. 게다가 스레드 돌리기 싫어서 DoEvent 기법을 썼다(...) 이걸 나는 iOS로 포팅 하는데 성공했다. ActiveX도 결국 MFC이기 때문에 별로 안 어려워 보일 수 있으나... 모든 사용자 정의 함수는 void형에, 모든 멤버변수는 public이어서 어디서 초기화하는지 일일히 찾아서 작업해야 했다. 미치는줄 알았음. 심지어 한 함수안에서 딱한번 쓰는 변수도 클래스 멤버변수로 선언되어 있기도 했음.. 그냥 지역변수를 쓰지!? - [고한종], 13년 3월 16일
  • 권영기 . . . . 3 matches
          * [권영기/채팅프로그램]
          * NIPA-Purdue 캡스톤 프로그램
  • 데블스캠프2004준비 . . . . 3 matches
         === 프로그램 문제 ===
          * 중대 졸업가능여부 판단 프로그램
          새회원이 프로그램 문제를 해결하는 동안 기존 회원을 위한 세미나를 준비해보면 좋겠다는 제안이 나왔습니다. 작년 기록을 보면 기존 회원을 위한 세미나는 없었던 모양입니다.--[Leonardong]
  • 데블스캠프2005/게임만들기 . . . . 3 matches
         테트리스 만들기 틀 소스(.dsw파일을 실행하셔서, user.cpp파일에 작성하시면 됩니다.)
         테트리스 만들기 틀을 이용한 완성 예제
         [데블스캠프2005/게임만들기/제작과정예제]
  • 데블스캠프2005/목요일후기 . . . . 3 matches
          보안.. 흥미로운.. 이리저리 생각도 해보고 할수 있었던게 가장 좋았던.. 하지만 암,복호화 하는 프로그램을 짜라고 할땐..;;역시 코딩력이 부족한.. 코딩력을 키우자.. 아자!! 오늘은 실습이 많아서 긴장? 되었던.. 덕분에 조는 시간 없이 밤을 지샌...
         4. 희생자 발생이 적은(?) 인식률 높은 프로그램 만들기!!
  • 데블스캠프2005/언어디자인/그까이꺼 . . . . 3 matches
         loop란 프로그램이 있다
         viewer란 프로그램이 있다. 뒤에 출력하고싶은 것을 입력한다. ','로 구분한다.
         loop(viewer<-star,ent)x5는 별을 화면에 하나 나타내고 한줄 띄우는 프로그램을 5번 반복한다.
  • 데블스캠프2005/화요일후기 . . . . 3 matches
         좋았던 점은 파이선이라는 새로운 프로그램과 하노이라는 간단하면서 어려운 문제를 해결해 나가는데에서 더욱더 나 자신을 발전시킬수 있었다. 그리고 선배님과 많은 상의를 해보면서 선배도 우리를 잘 가르쳐주시고 우리는 선배님의 지식을 습득해 가면서 정말 좋은 시간이 되었다. 밤을 새가면서 공부를 한다는 것은 그것만으로도 아주 커다란 성취감을 갖게 한다. 나쁜점은 아무래도 밤이라서 잠과의 싸움이 가장 큰 문제이다. 밤이라서 집중이 잘 안되는 건 어쩔수 없다. 밤을 새가면서 공부를 한다는건 참으로 어려운 일이다.
         [남도연]:오늘 크게 2가지를 배우게 되었다. 하나는 알고리즘과 자료구조에 관한 내용이었고 하나는 파이선에 대해 배운 것이었다. 알고리즘과 자료구조는 평소 우리가 수업시간에 들었던 내용이기는 하였지만, 막상 코드로 직접 적용하려니 잘 풀리지 않았다. C코딩을 할때 중요한 것이 알고리즘이라는 것을 또 한번 느끼게 되었다. 아무 생각 없이 코딩을 무작정 하려고 하다가는 크게 낭패를 본다는것을 배웠기 때문이다. 알고리즘은 하나의 계획표라고 볼 수 있다. 하나의 프로그램을 짜기 위한 계획표. 파이선은 C언어와는 사뭇 다른 언어였다. C언어 보다 편리한면이 많아 보이기는 했지만, C언어보다 못한 점도 간혹 보였다. 아직 미숙하기 때문에 딱히 무엇이라 말할 수는 없지만.. ㅋ 오늘 새로운 언어도 배우고 알고리즘의 중요성도 다시금 느끼게 되어 날 샌것이 아깝지 않았지만, 내준 과제 모두를 다 해결 하지 못한 것이 아쉬움이 남는다. 다 해결했으면 더 뿌듯 했을텐데 .. ㅋ
         [안성진] : Python을 첨 접하게 되었는데 정말 많은 걸 배웠습니다. 어렵기도 했지만 역시 프로그램 하면서 날 새는 기분은 끝내주네여...~~ㅎ 강사님들 수고하셨고여 저 역시도 방학때 할 일이 참 많아 질 것 같네영.. ㅋㅋ 남은 일정 동안 열심히 합시다. ^^
  • 데블스캠프2009/수요일후기 . . . . 3 matches
          * '''박준호''' - 객체지향 프로그램 이라는 것에 대해 개념을 잡아놓은 시간 이였습니다. 진짜 제가 코드를 짜지는 않았지만 의사 코드라는 것을 이용하여 한번쯤 객체지향으로 코드를 짜본것도 좋은 경험이 되었습니다.
          * '''서민관''' - 수요일 수업에서 제일 마음에 들었던 부분입니다. 이클립스를 써 본 것도 좋았고, 무엇보다 JUnit test는 정말 마음에 드네요. 앞으로 갈수록 프로그램의 크기가 커질텐데 이클립스를 통한 svn 사용이나 JUnit test나 둘 다 팀 프로젝트용으로는 정말 좋은 기능이라고 생각합니다. 정말 뭐라고 더 칭찬을 해야 할 지 말이 안 나올 정도로 마음에 들었어요. 한 방에 제대로 프로그램을 못 짜는 저한테는 메인 함수 없이도 버그 수정이 가능하다는 건 정말 고마운 기능이죠.
  • 데블스캠프2011/다섯째날/후기 . . . . 3 matches
          * 파이썬의 기본적인 프로그램을 배우고 (python에서 제공하는 학습용 라이브러리인 turtle을 사용하였습니다.) 네트워크에 관한 간단한 설명들을 들었습니다. 네트워크라는 부분을 공부해 본적이 없어서 처음 네트워크에 대해 이해하는 것이 어렵긴 했지만 알기쉬운 설명덕분에 그럭적럭 이해하고 넘어갈 수 있었습니다. server와 Client측에서 네트워크를 구성하는 부분을 파이썬으로 작성하였는데 코드는.. 긁어 왔다ㅋ 헌데 파이썬의 장점처럼 코드가 무지하게 짧았던게 인상깊었다.
          * turtle를 보면서 이것 저것 파이선에 어렵지 않게 접근할 수 있어 좋았습니다. 누구처럼 노가다는 안시켜서 좋았네요. (그러고 보니 그 누구도 파이선을 가지고 했었네;;) 여하튼 파이선으로 채팅 프로그램을 소스 복사(-_-) 해서 써 보니 재미있었습니다. 자바로도 그런거 했던 게 기억나네요. 전반적으로 쉽게 그리고 재미있게 설명을 해 주신 세미나였습니다. 재미있게 3시간이 지나간 것 같네요. 다만, 하라고 하셨던 것이 잘 구현이 안 되었던 것 같아 그런 거 빼곤요. 그리고 와이어샤크는.. 보면서 음..... 이런게 있구나 하고 넘어가서인지 좀 더 많이 써 봐야 할 듯 싶네요a
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/송지원 . . . . 3 matches
          * 프로그램을 재실행하면 또 오래 기다려야 해서 파일 입출력을 적극 활용
          * 고로 이 프로그램을 복붙해서 그냥 실행하면 돌아가지 않습니다
          * 이 프로그램은 Bayes Classifier 값을 구하는것 까지이고, 시간 관계상 값의 참/거짓 빈도는 엑셀을 이용해서 계산했습니다.
  • 데블스캠프2011/둘째날/후기 . . . . 3 matches
          * 사실 스크래치를 접해보는 건 이번이 두 번째군요. 2009년 데블스캠프에서도 한 번 다루었던 걸로 기억합니다. 스크래치는 원래 아동 교육용으로 만들어진 프로그래밍 언어라고 들었습니다. 그런데 아동용이라고 대충 넘기기에는 기능도 생각보다 훨씬 다양하고 능력도 강력한 것 같아요. 1학년 떄는 이래저래 미숙한 부분이 많아서 그런 부분을 볼 여유도 없었는데 다시 보면서 약간 여유가 있어서 그런지 잘 만들었다는 느낌이 새삼 들었습니다. 그리고 이번에도 2009년 때처럼 게임을 만들기로 했었는데, 이번에는 다행히도! 제대로 돌아가는 게임을 만들었습니다. 사람이 그래도 발전이 있긴 하군요. 앞으로도 열심히 해야겠습니다.
          * 처음해보는 Scratch 였습니다. 그림을 끌어다 놓고, 명령어들을 끌어다가 추가시키면서 프로그램 진행을 구성하고... 독특하고 신기했습니다만 정작 익숙해지기에는 힘들었습니다. 코드로만 하다가 이렇게 짜여진 틀을 움직인다는게 어색해서 짜고있던 게임을 완성시키지는 못 한것이 아쉬었다.
          * Scratch를 어제 블럭 쌓기라고 해서 무슨 테트리스 같은 거라고 생각했는데, 오늘 보니 아 이런거구나 하는 것을 알게 되었습니다. 꼭 프로그램 짜기 전에 의사 코드로 하는 것 같더군요a. 마지막에 성현이가 게임 만들으라고 해서 뭐 할까 하다가 슈퍼마리오 배경도 있고 해서 그걸로 좀 비슷하게 하려고 했는데, 파이프에 닿았을 때 그걸 넘어가게 하는 걸 하려다 망했네요 ㅋㅋㅋ 그러다 보니 그냥 마리오가 움직이고 뛰기만 하는 걸로 끝났습니다. 좀 더 도구를 잘 활용하지 못함이 아쉽긴 했습니다.
  • 데블스캠프2011/셋째날/String만들기 . . . . 3 matches
          * [데블스캠프2011/셋째날/String만들기/송지원]
          * [데블스캠프2011/셋째날/String만들기/김준석]
          * [데블스캠프2011/셋째날/String만들기/서지혜]
  • 비행기게임/진행상황 . . . . 3 matches
          * 7.8 ~ 7.9 : pygame 라이브러리 사용하니깐 만들기가 상당히 편한거 같다. 대충 비행기 움직이게 만들었다.
          * 배경 (산)별 중간쯤에 날라 다니는 효과 만들기 --시간 없음
          * 폭발 멋지게 만들기
  • 새싹교실/2011/AmazingC/5일차(4월 14일) . . . . 3 matches
         1~2. 다음을 출력하는 프로그램을 작성하세요.
         3. 구구단을 출력하는 프로그램을 작성하세요.(1단~9단)
         4. 369게임을 30미만까지만 출력하는 프로그램을 작성하세요.(게임 방식대로)
  • 새싹교실/2012/부부동반 . . . . 3 matches
          C/C++의 문법과 활용을 자세하게 설명한 책. 문법을 소개하는데 그치지 않고 변화화는 코드가 실제 프로그램과 하드웨어적으로 어떠한 영향을 일으키는지 비교함으로써 본 스터디의 목적과 매우 잘 부합됨
         이 둘을 읽어와 값을 출력하는 프로그램을 작성하라
         프로그램의 개요를 A4용지 1장 이내에 작성하여 ahnzaz@gmail.com으로 보내주세요.
  • 새싹교실/2012/아무거나/2회차 . . . . 3 matches
         별만들기 후기
         오늘 손봉수 교수님의 수업을 듣고 제대로 이해하지 못하였었던 별만들기 수업을 다시 해보니 어렵다는 것도 깨닫았고 또 별만들기를 직접 해보니 더 이해도
  • 새싹교실/2012/아우토반/앞반/4.5 . . . . 3 matches
          * 어깨가 빠지는줄 알았어요..유.유 왜냐면 제 노트북을 가져왔었거든요. 제 노트북으로 신나게 프로그램 4개를 ㅉㅏ 보았습니다. 아우토 샘이 힌트를 좀 주셨지만, 그래도 스스로 생각해서 해보아서 보람찼습니다. 그리고 프로그래밍의 세계는 매우 무긍무진합니다. 왜냐하면 같은 프로그램인데 성준이아 소스코드가 달랐기 때문입니다. 하하하.. 신나요신나 WoW~~ 앞으로 프로그램 많이 짜보며 연습하고 복습도 열심히! 질문도 열심히 하겠습니다. 룰루랄라
  • 새싹교실/2013/이게컴공과에게 참좋은데 말로설명할 길이 없네반 . . . . 3 matches
         - 연습문제 : 콘솔창에 자기가 원하는 방향으로 기호를 움직이게 하는 프로그램 만들기.(둘다 성공.)
         - 앞으로의 방향 : 이제 문제를 풀면서 메모리의 구조를 다시 전반적으로 설명하고, 입출력방식, 간단한 알고리즘(유클리드 호제법같은)을 가르친다. 이렇게 준비를 한후 포인터에 돌입. 그리고 포인터에 대해서 이해가 어느정도 쌓였을때 발전시킬 수 있는 프로그램을 만들게 하면서 실력을 증가시킨다.
  • 서버구조 . . . . 3 matches
         usr - 사용자가 정의하는 프로그램 저장
         1. 설치된 프로그램의 버전, 버그등의 수정이 이루어지면 갱신하거나 패치하도록한다.
          1-2. caucse.net/test.html => 각 프로그램들의 버전, 설정 정보들을 알 수 있다.
  • 송지원 . . . . 3 matches
          * 2011년 : IBM Campus Wizard 8기 활동, 2011-1학기 튜터링 프로그램에서 Tutor로 참여. ZeroPage 20주년 성년식 기획단 참여.
          * [데블스캠프2011/셋째날/String만들기/송지원]
          * [PC실관리프로그램]
  • 시간맞추기 . . . . 3 matches
         문제 : user가 시간을 맞추는 프로그램이다. 프로그램 시작 후 8초가 경과되었다고 생각했을 때, user가 아무키나 누른다.
         만약 그 시간맞추기가 정확하다면 user가 이기도록 프로그램을 작성하여라.
  • 실습 . . . . 3 matches
         객체와 클래스 (성적 관리 프로그램)
         성적 관리하는 프로그램을 클래스(class)를 이용하여 C++로 작성하여 본다.
         6) Location:에 프로그램을 작성할 경로를 지정한다.
  • 열린제로페이지 . . . . 3 matches
          '숨쉬는독'군은 평소 관심이 많던 보안 관련 스터디를 하고 싶은데 어떻게 시작하면 좋을지 잘 모르는 초보자이다. 앞서 공부했던 선배의 조언을 듣고 싶고, 또 같이 공부할 사람이 있으면 좋겠다는 생각이 들었다. 그리고 자신이 공부한 내용을 나중에 공부할 사람과 공유하며 같이 발전하길 원했다. 그러나 그가 속한 '우드페이지'란 학회에는 보안에 관심이 있는 사람이 그렇게 많지 않았다. 결국 '숨쉬는독'군은 선배, 동기를 모아(공교롭게도 그들은 '우드페이지' 회원이 아니었다.) 보안학회 '까스'를 만들기로 결심을 한다. 그러나 관련 분야 초보자가 새로운 학회를 만들기란 무척 버거운 일이었다. 결국 그가 만든 보안학회는 좌초되었다.
         이전까지의 문제는 Service + Content 제공자가 ZeroPage 나 JStorm 밖에 없어서였지만, 지금은 동문서버가 있는 이상, 동문서버에게 해당 Service 를 요청할 수 있겠고요. (위키, 게시판 등등이요. 이미 만들어져 있는 프로그램들에 대해서는 그다지 큰 문제는 아닐것 같고요.)
  • 위키개발2006 . . . . 3 matches
          * 사이트내 실시간 채팅 매크로 추가. 아래와 같은 매크로 사용시에 실시간 채팅 매크로가 추가 된다. 직접 구현은 안했고, gabbly 거 이용함.
         || 사이트 전체가 아닌 카페별 채팅창 넣기 || 남상협 ||
  • 윤성준 . . . . 3 matches
         || 순번 || 프로그램명 || 작성시간 || 소스코드 ||
         || 1 || 프로그램 || 3시간 || [프로그램/윤성준] ||
  • 정모/2002.5.30 . . . . 3 matches
          * PairProgramming 에 대한 오해 - 과연 그 영향력이 '대단'하여 PairProgramming을 하느냐 안하느냐가 회의의 관건이 되는건지? 아까 회의중에서도 언급이 되었지만, 오늘 회의 참석자중에서 실제로 PairProgramming 을 얼마만큼 해봤는지, PairProgramming 을 하면서 서로간의 무언의 압력을 느껴봤는지 (그러면서 문제 자체에 대해 서로 집중하는 모습 등), 다른 사람들이 프로그래밍을 진행하면서 어떠한 과정을 거치는지 보신적이 있는지 궁금해지네요. (프로그래밍을 하기 전에 Class Diagram 을 그린다던지, Sequence Diagram 을 그린다던지, 언제 API를 뒤져보는지, 어떤 사이트를 돌아다니며 자료를 수집하는지, 포스트잎으로 모니터 옆에 할일을 적어 붙여놓는다던지, 인덱스카드에 Todo List를 적는지, 에디트 플러스에 할일을 적는지, 소스 자체에 주석으로 할 일을 적는지, 주석으로 프로그램을 Divide & Conquer 하는지, 아니면 메소드 이름 그 자체로 주석을 대신할만큼 명확하게 적는지, cookbook style 의 문서를 찾는지, 집에서 미리 Framework 를 익혀놓고 Reference만 참조하는지, Reference는 어떤 자료를 쓰는지, 에디터는 주로 마우스로 메뉴를 클릭하며 쓰는지, 단축키를 얼마만큼 효율적으로 이용하는지, CVS를 쓸때 Wincvs를 쓰는지, 도스 커맨드에서 CVS를 쓸때 배치화일을 어떤식으로 작성해서 쓰는지, Eclipse 의 CVS 기능을 얼마만큼 제대로 이용하는지, Tool들에 대한 정보는 어디서 얻는지, 언제 해당 툴에 대한 불편함을 '느끼는지', 문제를 풀때 Divide & Conquer 스타일로 접근하는지, Bottom Up 스타일로 접근하는지, StepwiseRefinement 스타일를 이용하는지, 프로그래밍을 할때 Test 를 먼저 작성하는지, 디버깅 모드를 어떻게 이용하는지, Socket Test 를 할때 Mock Client 로서 어떤 것을 이용하는지, 플밍할때 Temp 변수나 Middle Man들을 먼저 만들고 코드를 전개하는지, 자신이 만들려는 코드를 먼저 작성하고 필요한 변수들을 하나하나 정의해나가는지 등등.)
         일반적으로 피시실 등이나 세미나때에 선배들과 이야기하고, 선배들에게 조언을 들으면서 프로그래밍을 하는 것과 프로그램의 처음 작성부터 PairProgramming 을 하는 경우가 어떤 차이가 있을지 생각을 해보고 이러한 '페어가 저절로 진행되어서' 라고 결론을 내렸으면 합니다.
          * 주소록 만들기
  • 정모/2003.11.17 . . . . 3 matches
          * 파이선: 주제가 바뀜: 채팅프로그램 만들기로.
  • 정모/2012.3.12 . . . . 3 matches
          * 40주년 기념 행사와 함께 프로그램 전시회가 있습니다. 많은 출품 부탁드린답니다.
          * 어떻게 될지는 모르겠지만 friendship, 과학기술동아리 지원 등 ZeroPage가 지원받을만한 프로그램들이 많이 있네요. 이런 저런 기회들이 많이 보이는 것이 좋습니다. 외부에서 동아리 지원 프로그램을 운영하는 것이 좋다기보다는 이런 기회가 있다는 걸 모르고 지나치지 않는 ZeroPage가 좋아요. - [김수경]
  • 정모/2012.5.14 . . . . 3 matches
          * 동영상 강의도 있네요, [http://www.snow.or.kr/lecture///10628.html 프로그램의 구조와 해석] - [서지혜]
          * 채팅서버 만들기 프로젝트
  • 조영준 . . . . 3 matches
          * 소문자를 대문자로 변환시켜주는 프로그램
          * [조영준/다대다채팅]
          * [조영준/다대다채팅]
  • 조영준/파스칼삼각형/이전버전 . . . . 3 matches
          * PTriangle 클래스만 똑 떼서 파스칼 삼각형을 필요로 하는 다른 프로그램에서 쓸 수 있게 손을 봤습니다.
          if (lines == 0) return; // 프로그램 종료
          if (lines == 0) return; // 프로그램 종료
  • 조현태/놀이/미스틱아츠 . . . . 3 matches
          || 2005.04.14 || 네모네모 로직 푸는 프로그램 완성~~>ㅁ<;; 너무 힘들었..ㅎㅎㅎ(for와 if만 사용한;;) || [조현태] ||
          처음에는 아무생각 없이 만들면 되지 않을까 하는생각에 만들기 시작했다.
          혹시 누군가가 게임을 만들려고 한다면, 이미지 자료를 충분히 구하고 하거나 그래픽 디자이너를 구하고 만들기 시작하라고 권하고 싶다.
  • 조현태/프로젝트 . . . . 3 matches
          * php블로그 만들기 - 완성될 수 있을까??ㅎㅎ
          * 땅콩이 만들기 - 의외의 인공지능으로 높은 개그수준을....;;;;;;;;
          * 오목 만들기 - 후후후.. 낮은 인공지능..ㅠ.ㅜ 왜 주인의 마음을 알아주지 않는거니? 바빠서 좀 뒷전.;;
  • 창섭/배치파일 . . . . 3 matches
         여기서 쓰고 싶은 대로 적기만 하면 됩니다.제일 마지막행의 ^Z 는 파일의 제일 마지막 부분이라는 것을 도스에게 알려주는 코드로 < Ctrl + Z > 키 또는 F6 키를 누르면 됩니다. 그리고 엔터키를 한번더 누르면 '1 File(s) copied' 라는 메세지가 출력되는데, 이는 방금 ' copy con 파일명 ' 으로 작성된 문서파일이 성공적으로 만들어졌다는 뜻입니다.위의 문서파일은 확장자가 .BAT 로 붙었기 때문에 실행가능한 외부 명령어가 되는데, 배치파일은 명령이 기록되어 있는 순서대로 실행되기 때문에 timedate.bat 를 실행시키면 먼저 화면을 지우고 난뒤 시스템의 시간과 날짜를 설정합니다.간단한 배치파일은 'copy con 파일명' 으로 작성하는 것이 다른 프로그램의 도움없이 쉽고 빠르게 처리할 수 있습니다. 하지만 배치파일이 조금 길거나 작성중에 수시로 편집할 일이 생기는 경우에는 불가능합니다. 'copy con 파일명' 으로 파일을 작성하면 행으로 다시돌아갈 수 없을 뿐 아니라 수정이 불가능하기 때문입니다. 그러므로 배치파일을 만들 필요가 있을때는 문서 에디터를 이용하는 것이 좋습니다.
         배치 프로그램 내에서 사용자의 선택을 묻기 위해 사용됩니다. 배치 파일 제작자가 설정한 물음을 출력하면서 지정된 키 입력을 기다립니다. 이 명령은 배치파일 내에서만 사용 가능합니다.
         - ERRORLEVEL <수치> : 바로 전에 실행한 명령(프로그램)의 종료 코드가 <수치> 이상일 때에는 참이 되고 <명령> 이 실행됨.
  • 캠이랑놀자 . . . . 3 matches
         || 2 || 05.9.25 || [캠이랑놀자/050925] || DirectShow 개관. 뼈대 코드 구경. 간단한 캠영상 플레이 프로그램 만들기 || . ||
          * C++ & Python - 현재 라이브러리들 관계상 C++ 로 구현된 것들이 많은 관계로. 중간에 [1002] 가 Python Wrapper Class 만들기를 시도할 것이긴 함.~ Python 의 경우 이미지 처리에 대해서 prototyping 을 위해 중간에 이용할 예정.
  • 코드레이스/2007/RUR_PLE . . . . 3 matches
          * 사람들이 읽기 쉬운 프로그램을 작성해야 한다.
          * 컴퓨터 프로그램을 작성할때는 반복을 하지 마라.
          * 벽 만들기 연습에서 한 코드들을 함수화 해서 중복 제거를 한다.
  • 테트리스만들기2006/예제1 . . . . 3 matches
         == [테트리스만들기2006/예제1] ==
         사각형만 내려오는 테트리스를 만든다. 계속 내려오기만 하면 되며 끝까지 쌓이면 프로그램이 종료된다.
         [테트리스만들기2006]
  • 튜터링/2011/어셈블리언어 . . . . 3 matches
         = 시스템 프로그램 및 어셈블리언어 튜터링 =
          * 책의 코드를 그대로 베껴와 프로그램을 완성했지만 어떻게 동작하는지는 잘 모르는 사람이 많아 다시 짜보기로 한다.
          * c 프로그램에 어셈블리 사용
  • 파이썬->exe . . . . 3 matches
         주제 : win32com 을 이용한 파이썬 프로그램 py2exe로 실행파일 만들기
         win32com 에 있는 것들을 사용해서 프로그램을 만들고 나면..
  • 프로그래밍십계명 . . . . 3 matches
          *너의 컴퓨터는 1보다는 0을 좋아 하니라. 배열의 첨자가 그 범위를 넘지 않을지 손 댈 때마다 따져 보아라. 수식에 1을 더하거나 뺄 때에는 늘 긴장하라. 너의 프로그램은 단지 한 번 덜해서 틀리고 한 번 더해서 다운되느니라.
          *너의 프로그램은 항상 바보와 미친놈만이 쓰느니라. 사용 설명서를 쓸 때에는 결코 빠뜨리지 말아라. 빠뜨린 만큼 사용자는 너를 괴롭힐 것이니라.
          *가장 완벽한 프로그램일수록 가장 완벽하게 숨은 벌레가 있느니라. 네가 이 세상 최고의 프로그래머라고 떠들며 자만할 때, 옆집 곳간에서는 훨씬 더 뛰어난 것을 묵묵히 만들고 있느니라. 아무렴 프로그래밍은 혼자 잘나서 할 게 아니니, 너로 인해 다른 사람들도 더불어 잘 되면 그얼마나 좋은 것이냐.
  • 프로그래밍잔치/첫째날후기 . . . . 3 matches
         ["상민"] 과 ["1002"] 는 위키에서의 대화에 대해 간단한 시연을 보여주었다. [1002/MP3공유프로그램] 에서 가상의 인물 1002, 상민, 쩡직 등이 대화를 하면서 페이지내용을 조금씩 정리하고, 점차 [음악공유프로그램], [소리바다와그누텔라] 페이지로 나누어져가는 모습을 중간중간 버벅이는 설명과 함께 시연을 했다.
          *감상 : 위키에 글을 쓸 수 있는 용기를 내어...;;짧은 시간이나마 참여했던 후기를 남겨보면..내가 선택했던 python은 c나 java와 비슷하면서도 더 간단한 구조를 가지고 있었기 때문에..패러다임의 변화로부터 오는 충격은 적었던것 같다. 오히려 문법은 간단하지만, 손과 눈에 익지 않은 구조문들과 프로그램 실행 방식으로 인해 상당히 불편하다는 느낌을 받았고, 이렇게 실행 되는 인터프리터 언어를 접한다는게 어떤 도움이 될는지....;;;란 생각이 들었다. 특히, 툴과 언어가 익숙하지 않으니 문제(삼목)의 알고리즘도 생각이 나질 않아 당황스러웠다. 마구잡이로 짜는 코딩 습관 때문인가...하는 생각이 들었다.
  • 프로그램내에서의주석 . . . . 3 matches
         자네의 경우는 주석이 자네의 생각과정이고, 그 다음은 코드를 읽는 사람의 관점인 건데, 프로그램을 이해하기 위해서 그 사람은 어떤 과정을 거칠까? 경험이 있는 사람이야 무엇을 해야 할 지 아니까 abstract 한 클래스 이름이나 메소드들 이름만 봐도 잘 이해를 하지만, 나는 다른 사람들이 실제 코드 구현부분도 읽기를 바랬거든. (소켓에서 Read 부분 관련 블럭킹 방지를 위한 스레드의 이용방법을 모르고, Swing tree 이용법 모르는 사람에겐 더더욱. 해당 부분에 대해선 Pair 중 설명을 하긴 했으니)
         이번기회에 comment, document, source code 에 대해서 제대로 생각해볼 수 있을듯 (프로그램을 어떻게 분석할 것인가 라던지 Reverse Engineering Tool들을 이용하는 방법을 궁리한다던지 등등) 그리고 후배들과의 코드에 대한 대화는 익숙한 comment 로 대화하는게 낫겠다. DesignPatterns 가 한서도 나온다고 하며 또하나의 기술장벽이 내려간다고 하더라도, 접해보지 않은 사람에겐 또하나의 외국어일것이니. 그리고 영어가 모국어가 아닌 이상. 뭐. (암튼 오늘 내일 되는대로 Documentation 마저 남기겠음. 글쓰는 도중 치열하게 Documentation을 진행하지도 않은 사람이 말만 앞섰다란 생각이 그치질 않는지라. 물론 작업중 Doc 이 아닌 작업 후 Doc 라는 점에서 점수 깎인다는 점은 인지중;) --석천
         프로그램에 있어 주석이 하는 순기능을 하나 더 찾아볼 수 있다. ''메마른 코드속에서 사람의 숨결을 느끼게 해준다.'' 유머가 없는 세상을 생각해보라. 얼마나 끔찍한가.
  • 프로젝트 . . . . 3 matches
          * [SmallTalk]다 프로젝트. Feat. [톱아보다], 매주 금요일 10시 모임. [SmalltalkBestPracticePatterns]를 공부하면서 [SBPPSummary]페이지의 완성과, 자판기프로그램 제작이 목표.
          * 웹커뮤니티 만들기 프로젝트(외부)
          * [ProjectEazy] - AI를 이용한 3살짜리 여자아이 '이지(Eazy)' 만들기
  • 허아영/Cpp연습 . . . . 3 matches
         어떻게 코딩했었더라? 얼마만큼? 나의 실력은 얼마나 늘었지? 를 잘 알 수 없기에, 잘 알 수 있는 "연습코드의 집합"을 또 하나 만들기로 했습니다.
         숫자를 입력받아 그 숫자를 제곱하는 프로그램.
         999입력시, 제곱 출력과 함께 프로그램이 끝남.
  • 05학번만의C++Study/숙제제출/2 . . . . 2 matches
          * 평상시에는 문자열의 주소를 하나의 전달인자로 취하여, 그 문자열을 한 번 출력하는 함수를 작성하라. 그러다가 0이아닌 int형 값을 두 번째 전달인자로 제공하면, 그 시점에 도달할 때까지 그 함수가 호출되었던 횟수만큼 그 문자열을 반복해서 출력한다. (문자열이 출력되는 횟수는 두 번째 전달인자의 값이 아니라 그 함수가 호출되었던 횟수와 같다.)물론 이 함수는 거의 쓸모가 없다. 하지만 이것은 이 장에서 설명한 몇 가지 프로그래밍 기술을 사용할 것을 요구한다. 이들 함수를 사용하여 함수의 작동을 보여 주는 간단한 프로그램을 작성하라
          - 근데, 문자랑 숫자를 입력받은 후 출력받은담에 프로그램이 끝나게 만들어야 해? -아영
  • 05학번만의C++Study/숙제제출1/윤정훈 . . . . 2 matches
          cout << "섭씨온도를 화씨온도로 바꿔주는 프로그램 입니다. \n섭씨온도를 입력해주세요" << endl;
          * 섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. --[최경현]
  • 0PlayerProject . . . . 2 matches
         [http://zeropage.org/~mulli2/SSHWinClient-3.1.0-build235.exe ssh win client] 제로 페이지 리눅스 계정 접속 프로그램
          (VirtualDub 이라는 프로그램을 써서 만들었습니다.)
  • 2005MFC스터디 . . . . 2 matches
         기초부터 시작을 하여서 간단한 프로그램 만들기
  • 2011년독서모임 . . . . 2 matches
          * 영화 중에 제작자의 의도가 이해하기 어렵다고 느낀 영화는 장쯔이, 금성무, 유덕화 주연의 영화 '''연인'''이었습니다. 아름다운 엔딩 장면을 만들기 위해서 였겠지만, 장쯔이는 자신의 가슴에 박힌 칼을 빼서 금성무를 구하려고 하여 죽게 됩니다. 그러나 칼 맞아서 죽은줄 알았던 장쯔이가 봄,여름,가을,겨울까지 금성무와 유덕화가 싸우고 급 일어난 부분과, 유덕화가 사실은 금성무에게 칼을 던지지 않고 던지는 '척'만 하여 결국 장쯔이의 희생이 개죽음이 되어버린 부분은 다소 아쉬웠습니다. (너무 결과만 보는 걸까요...) 극적인 반전을 위해 스토리적 공감을 포기한 부분이었다고 생각되었습니다.
          * 배철수, 배순탁 공저의 Legend라는 책을 읽었습니다. 세계 팝 역사에 있어서 희대의 명반이라 불리우는 앨범 100장에 대한 소개와, 배철수의 '음악캠프'를 빛내 주었던 저명한 아티스트들과의 인터뷰, 그리고 최장수 라디오 프로그램과 최장수 DJ를 보유한 음악캠프의 지금까지의 계보 등을 볼 수 있었습니다. 그간 아는 음악만 골라 듣고 막연히 유명 아티스트들의 이름만 알고 그들의 음악도, 인생도 제대로 알지 못했던, 하지만 음악을 좋아하는 저로서 꽤나 몰입하면서 읽을 수 있었던 도서였습니다.
  • 2ndPCinCAUCSE/ProblemA . . . . 2 matches
         A 번 문제 : 삼각형 만들기. 소스파일 이름 : aaa.c or aaa.cpp
         같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있는 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오. 예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 3가지이다.
  • 2학기자바스터디 . . . . 2 matches
         그리고 배운걸 바탕으로 간단한 프로그램을 완성하고요
         추석끝나고 본격적으로 시작하죠... 교재는 따로 정하지말고 도서관에서 읽기 쉬운걸로 골라서 보면 될것 같구요... 프로젝트까지는 아니어도 간단한 프로그램짜는걸로 해요(toy problem이나 5인용스터디에서 했던것처럼) -세환
  • 3DGraphicsFoundation . . . . 2 matches
          * 인수의 프로그램 [http://165.194.17.15/~nuburizzang/Fracta.exe] : 소스 조올라 더렵다 --; 튜토리얼에서 제공하는 무지막지하게 긴 템플릿을 써서 상당히 길기도 하다. 걍 실행파일만..--; 근데 꼭 심시티 같다--;
          * 상협의 프로그램 [http://165.194.17.15/~namsang/FractalSurface.exe] : 오예 링크 걸렸당~
  • 5인용C++스터디/멀티미디어 . . . . 2 matches
          * 프로그램에서 사운드 재생은 어떻게 하는가?
          * 프로그램에서 동영상 재생은 어떻게 하는가?
  • AM . . . . 2 matches
         == AM스터디에서 제작한 프로그램 ==
          * [5인용C++스터디]처럼 그날그날 배운걸로 간단한 프로그램 숙제해요... 요즘들어 그냥 책만 보는것 같아서... 저만 그런가요?? --세환
  • AM/20040705두번째모임 . . . . 2 matches
          * 진도방식 책위주 아닌 목표 프로그램의 구현을 목표로 진행하는 것은 어떨까? 일종의 milestone (중간 기점)
          윈도우만들기
  • APlusProject . . . . 2 matches
         Upload:Chasedocument.zip -- 재동오빠가 추적하라는거 할려고 했는데 아무래도 이거는 프로그램 아는 사람이 해야할듯한데요
         Upload:OTF.zip - OTF 프로그램. 우리가 개발해야할 바로 그 액셀 파일. (SE 교수님의 저작권 보호로 당연히 암호가 걸려 있습니다.)
  • AcceleratedC++/Chapter12 . . . . 2 matches
         그렇다고해서 data가 가리키는 포인터를 바로 넘기면 프로그램에서 그 포인터를 통해서 데이터의 수정을 할 수 잇기 때문에 캡슐화의 장점이 사라진다.
         || copy(char* ) || 인자로 받은 char*의 공간에 내부의 문제들을 복사해 넣는다. char*공간은 프로그램가 할당하고 해제하는 공간이다. ||
  • AcceleratedC++/Chapter6 . . . . 2 matches
          과연 어느 정도로 결과에 영향을 주는지 실제로 프로그램을 작성하여 확인해본다.
          따라서 상기와 같은 함수를 이용한 뒤에는 이전에 할당된 반복자가 유효하다고 보고 프로그램의 로직을 만들어서는 안된다.
  • AppletVSApplication/영동 . . . . 2 matches
          * 스스로 실행될 수 있는 자바 프로그램.
          * 웹 브라우저에서 실행되는 작은 프로그램을 애플릿이라 한다. 웹에서 클라이언트 측의 프로그래밍을 지원하는 강력한 툴로 사용된다.
  • BasicJAVA2005/실습1 . . . . 2 matches
          * 숫자 야구 만들기
          - 3개의 숫자를 입력받아 자리와 숫자가 맞으면 스트라이크, 자리는 틀리지만 숫자가 맞으면 볼을 출력하고 3개의 숫자가 맞으면(3스트라이크) 종료하는 프로그램
  • BasicJava2005/5주차 . . . . 2 matches
         연습 > 2차방정식의 해를 구하는 프로그램을 작성해 보자.
         연습 > 100이상의 정수가 입력되었을 때 예외를 발생시키는 프로그램을 작성해 보자.
  • BeingALinuxer . . . . 2 matches
          뿌띠에서 logout명령어를 치면 왜 프로그램이 종료되어버리는지?(다시 login name을 입력하도록 나오는것이 정상 아닐까?)
          - 프로그램 자체가 그렇게 제작되었기때문이 아닐까. -_-a - 인택
  • Boost . . . . 2 matches
          1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위한 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능한 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
          정헌이 이거가지고 프로그램 짰잖아. --["neocoin"]
  • BoostLibrary . . . . 2 matches
          1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위한 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능한 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
          정헌이 이거가지고 프로그램 짰잖아. --["neocoin"]
  • C++스터디_2005여름/학점계산프로그램/허아영 . . . . 2 matches
         === 학점계산프로그램/허아영 ===
         [허아영] [C++스터디_2005여름] [C++스터디_2005여름/학점계산프로그램]
  • ComputerNetworkClass/Report2006/BuildingProxyServer . . . . 2 matches
         [http://www.web-caching.com/proxy-caches.html 현존하는 여러가지 프락시 서버 프로그램]
         인터넷 상에서 유일한 16바이트의 숫자를 나타내면 COM객체의 유일한 식별자를 만들기 위해서 이용하지만...
  • CrackingProgram . . . . 2 matches
         == 간단한 프로그램 ==
         == 간단한 암호입력 프로그램 ==
  • DatabaseManagementSystem . . . . 2 matches
         DBMS라는 것은 DB를 다루기위해서 만들어진 프로그램이다. 이것은 다수의 사용자가 요청한 정보를 처리합니다. 원래 대용량의 데이터를 다루기위해서 만들어진 컴퓨터때문에 만들어진 것으로 DBMS는 컴퓨터의 back-end 프로그램의 표준화된 일부로서 완전히 통합되었다.
  • DevPartner . . . . 2 matches
         c) Debug 메뉴에서 "디버깅하지 않고 시작"을 선택하여 프로그램을 실행합니다.
         d) 프로그램을 종료합니다. -> 세션 윈도우가 뜨면서 함수 호출 상황을 보고서로 만들어 줍니다.
  • DispatchedInterpretation . . . . 2 matches
         인코딩은 프로그래밍에 있어서 필수적이다. 데이터가 계산으로부터 분리되어 있던 과거에는, 인코딩 작업은 매우 중요했다. 삑사리 한번 내면 돈 겁나 많이 들었다. 하지만 객체지향 시대에는 좀 다르다. 인코딩은 두번째로 밀려나고 객체들 사이의 책임을 분배하는 것이 가장 중요하게 된 것이다. 잘짜여진 OO 프로그램에는, 어떠한 정보에 관심을 가지는 객체가 하나밖에 없어야 한다. 그 객체는 자신의 정보에 직접 접근하고, 은밀하게 인코딩과 디코딩을 수행한다.
         그.러.나. 객체의 정보가 다른 객체에 영향을 미쳐야만 할때가 있다. 간단할때는, 그냥 인코딩된 오브젝트에 메세지를 보내면 수월하게 해결이 가능하다. 하지만 복잡한 경우에는 힘들다. 문제는 수백의 클라이언트들에게 모든 타입의 정보에 대해 명시적으로 case 형태의 구조를 만들기를 원하지 않는다는 것이다.(??)
  • EcologicalBinPacking/강희경 . . . . 2 matches
          cout << "잘못된 입력으로 프로그램을 종료합니다.\n";
          cout << "잘못된 입력으로 프로그램을 종료합니다.\n";
  • EightQueenProblemDiscussion . . . . 2 matches
         만약 당신보다 더 짧은 시간에, 더 짧은 코드로 문제를 해결한 사람이 있다면, 그 사람과 함께 PairProgramming (혹은 NetMeeting 등을 이용, VirtualPairProgramming)을 해서 그 문제를 함께 새로 풀어보세요. 당신은 무엇을 배웠습니까? 그 사람은 어떤 방식으로 프로그램의 올바름(correctness)을 확인합니까? 그 사람은 디버깅을 어떻게 합니까(혹은 디버깅이 거의 필요하지 않은 접근법이 있던가요)? 그 사람은 어떤 순서로 문제에 접근해 갑니까? 그 사람은 어느 정도로까지 코드를 모듈화 합니까? 이 경험이 당신의 프로그래밍에 앞으로 어떤 변화를 불러올 것이라 생각합니까?
         이런 암호같은 프로그램도 있다는..
  • EmbeddedSystemClass . . . . 2 matches
         임베디드 환경에서의 GUI 툴킷(Qt-embedded)를 이용한 프로그램. 디바이스 드라이버 프로그래밍을 실습한다.
         // 리눅스 시리얼 터미널 프로그램 설치
  • FifteenSecondsRule . . . . 2 matches
         어떤 시스템/프로그램이 있을 때, 모든 개념적 단위(예컨대 패키지, 모듈, 클래스, 메쏘드 등)를 개발자 자신이 15초 이내에 설명할 수 있어야 한다는 "15초 룰"의 확장판이 꽤 유용할 때가 많습니다. 이런 식으로 설명을 모두 마쳤을 때는 소스 코드 전부를 설명한 셈이어야 합니다.
         예를 들어, 경매 시스템이 있을 때, "이 시스템은 무얼 하는 것이냐?"라는 질문에 15초 이내에 깔끔하지만 '''완전한'''(complete) 대답을 할 수 있어야 하며, "그럼, 이 시스템에서 {{{~cpp Authentify}}} 서브 시스템은 뭘 하는 것이냐?"라는 질문에 역시 15초 이내에 완전한 대답이 가능해야 하고, "이 {{{~cpp FooBar}}} 객체는 무엇을 하는가?"라는 질문에 또 15초 이내의 대답이 나와야 합니다. 이런 식의 설명이 모두 끝났을 때, 소스 코드 '''전체'''를 훑은 셈이여야 합니다 -- 이게 용이하려면 프로그램의 구조가 이런 설명의 구조와 유사해야 합니다.
  • FileInputOutput . . . . 2 matches
         저 프로그램을 실행하면 output.txt가 생기면서 11이 그 안에 써진다.
         저 프로그램을 실행하면 output.txt가 생기면서 11이 그 안에 써진다.
  • FindShortestPath . . . . 2 matches
         이문제를 통해 프로그램의 기술적인 문제는 습득하기 힘들거라고 생각되지만..
         자신의 생각을 프로그램으로 어떻게 구현해야 되는가.. 에 대한 훈련으로는 큰 도움이 될것이라고 생각됨..
  • GUIProgramming . . . . 2 matches
         자바로 작성된 프로그램에서 기본적으로 이용하는 API이다. 플랫폼에 독립적으로 제작된 툴킷이지만 내부 구현 상 플랫폼에서 제공하는 함수를 아주 낮은 수준의 추상화된 형태로만 제공하기 때문에 자바의 Platform-independable의 특성을 충분히 만족할 만한 수준은 못된다.
         최근 버전의 자바에서 이용하기 시작한 선사의 툴킷이다. 특징으로는 AWT보다 더욱 보기 좋은 그래픽을 제공한다. 또한 AWT와 달리 플랫폼에 비종속적이기 때문에 모든 플랫폼에서 동일한 모양을 보여준다. 그리고 클래스 라이브러리에 약간의 수정을 가함으로써 Windows 에서 기타 플랫폼 (예를 들자면 Mac)의 {{{~cpp Look&Feel}}}사용하는 것이 가능하다. 물론 -_-; 원칙적으로 특정 운영체제의 룩&필은 변경해서 응용프로그램을 개발하는 것은 정책상 불법의 범주에 속한다..
  • Gof/Facade . . . . 2 matches
         Compiler 서브시스템은 BytecodeStream 클래스를 정의한다. 이 클래스는 Bytecode 객체의 스트림부를 구현한다. Bytecode 객체는 머신코드를 구체화하는 bytecode를 캡슐화한다. 서브시스템은 또한 Token 클래스를 정의하는데, Token 객체는 프로그램 언어내의 token들을 캡슐화한다.
         Parser는 점진적으로 parse tree를 만들기 위해 ProgramNodeBuilder 를 호출한다. 이 클래스들은 Builder pattern에 따라 상호작용한다.
  • Gof/Singleton . . . . 2 matches
          * (b) 모든 singleton들이 static initialization time 대 인스턴스되기 위한 충분한 정보를 가지고 있지 않을수도 있다. singleton은 프로그램이 실행될 때 그러한 정보를 얻을 수 있다.
         이러한 link-approach 방법은 link-time때 singleton class 의 선택을 고정시켜버리므로, run-time시의 singleton class의 선택을 힘들게 한다. subclass를 선택하기 위한 조건문들 (switch-case 등등)은 프로그램을 더 유연하게 할 수 있지만, 그것 또한 이용가능한 singleton class들을 묶어버리게 된다. 이 두가지의 방법 다 그다지 유연한 방법은 아니다.
  • HelpOnFormatting . . . . 2 matches
         위키위키는 좀 더 직관적이면서 이해하기 쉬운 단순한 세트의 문법 규칙을 가지고 있습니다. HTML 문서를 만들기 위해서 HTML문법을 알아야 하는 것 처럼 위키위키 페이지를 만들거나 고치기 위해서 위키위키 문법을 알아야 합니다. HTML문법은 직관적이지 않고 복잡한 측면이 있습니다. 그러나 대다수의 HTML문서는 매우 간단한 문법을 알기만 하면 만들 수 있습니다. 위키위키는 이러한 문법을 좀 더 단순화 시키고 직관적이고 이해하기 쉬운 단순한 규칙으로 구성되도록 고안되었으며 조금만 시간을 투자한다면 위키위키의 문법을 쉽게 이해하고 배우실 수 있습니다.
         위키위키 문법을 무시하게 하기 위해서 중괄호 세개를 {{{ {{{이렇게}}} }}} 사용하게 되면 글꼴이 고정폭 글꼴로 보여지게 되며 ({{{monospace font}}}) 만약에 이 문법을 여러 줄에 걸쳐 사용하게 되면, 중괄호 블럭의 모든 공백이 보호되어 프로그램 코드를 직접 삽입하여 보여 줄 수 있습니다.
  • IDL . . . . 2 matches
         [CORBA] 의 경우 분산된 네트워크상에 따로 위치한 객체 간의 투명한 접근을 제공하는 서로 간의 약속이 필요하다. 이런 약속을 정의할 때 특정 언어([C], [C++], [Java] 등)에 의존하지 않는 인터페이스 정의 언어가 필요하게 되었는데, 그것이 바로 IDL(Interface Definition Language)이다. 서버와 클라이언트가 서로 통신을 하기 위해서 서버는 클라이언트에게 제공하는 서비스 인터페이스를 IDL 로 정의하게 되며, 클라이언트는 이런 인터페이스 정보를 활용하여 서비스를 활용하게 되는 것이다. CORBA 프로그램을 개발하기 위해서는 가장 먼저 IDL 을 정의해야 하는데, IDL 은 구현에 대한 정보는 포함하고 있지 않아 정의된 IDL 을 원하는 언어로
         물론, 인터페이스를 정의하는 방법이 IDL 만 있는 것은 아니다. [Visibroker] 의 경우 [Caffeine] 이라는 것을 이용하면 IDL 을 사용하지 않아도 되며, Java 의 RMI 나 RMI-IIOP 를 이용해면 IDL 을 몰라도 인터페이스를 정의할 수 있다. 하지만, IDL 은 OMG에서 규정하고 있는 인터페이스 정의 언어의 표준이고 개발자가 익히기에 어렵지 않은 만큼 CORBA 프로그램을 할 때는 꼭 IDL 을 사용하도록 하자.
  • JTDStudy/첫번째과제/상욱 . . . . 2 matches
          * TDD로 만들려고 하니 적응도 안되고 해서 시간이 꽤나 많이 걸리네요^^; 프로그램을 위한 테스트라기 보단 테스트를 위한 프로그램이 되어지는 느낌이 팍팍;;; 하지만 장점이 많은 방법이라 앞으로 더 연습을 해 봐야겠네요~ - [상욱]
  • Knapsack . . . . 2 matches
         그리고 그 때 버는 돈은 얼마인지 구하는 프로그램을 작성하세요. [[BR]]
         그리고 누군가가 만든 프로그램이 옳다는 것을 테스트하기 위해서는 이를 자동화하는 것이 편할 것이고, 이것을 위해서는 인풋과 아웃풋을 좀 단순화하는 것이 좋지 않을까 합니다. ICPC의 문제들을 구경해 보세요.
  • MagicSquare/영록 . . . . 2 matches
         //마방진 만들기.
          cout << "마방진 프로그램을 시작하겠습니다.\n";
  • NSISIde . . . . 2 matches
          * 프로그램 실행중 다른 Process 띄우고 결과 스트링 얻어오기 (Console Util)
          * 아이디어 떠오른 것중 하나 - 마우스 매크로 프로그램과 연동해서 쓰는건 어떨까. -_-a 아니면 Message 를 보내는 식으로 하는 방법, DLL을 삽입하는 방법.. 이건 좀 더 구체적으로 생각을 해봐야 할 것 같다.
  • NUnit/C++예제 . . . . 2 matches
         이 경우 Unmanaged C++ 코드에 대해서 적용할수 없다. 즉, MFC로 완성된 프로그램이라도, .Net Platform 이 없는 곳에서는 작동할 수 없다. (로직에 __gc 가 존재하므로)
         그것을 떠나서, MFC를 쓰면서 테스트를 하는 것이 의미 있어 지려면, MFC 로 작성한 프로그램이 정상 동작하면서, 테스트를 할수 있어야 하는데, MFC Frameworks 이 Managed C++ 모드로 컴파일이 잘되고, 잘 돌아가는지, 이것이 의문이다. 된다면, MS에서 모든 MFC class앞에 __gc가 붙이기라도 한걸까? 혹은 이미 해당 매크로가 존재하지 않을까?
  • NumericalAnalysisClass . . . . 2 matches
         하지만 이 책은 다르다. 어떤 문제를 접했을 때 어떻게 프로그램을 새로 만들어 내야하는지, 디자인은 어떻게 해야하고, 훌륭한 프로그램을 어떻게 만드는지를 말하고 있다. 게다가 OOP를 "정말" -- 시늉으로써만이 아니고 -- 사용한다. 모든 코드가 Java와 Smalltalk 양자로 쓰여있는 점도 큰 장점이다.
  • OpenGL_Beginner . . . . 2 matches
          * 목표 : OpenGL 예제를 통해 기초를 익히고, 프로그램 만들 것을 찾는다.
          * 2.24 : 마소 ASE구현 프로그램 프레임웍 분석
  • OpenGL스터디 . . . . 2 matches
          * 실시간 3D는 말그대로 사용자가 화면 구성에 필요한 데이터를 입력 즉시 화면에 반영하는 방식을 이야기한다. 예를 들어 비행기 시뮬레이션 프로그램이라던가, 게임을 예시로 들 수 있다.
         ''더 자세한 용어 설명 : 어떤 목적에 맞추어 프로그램을 작성하는 것(목적을 만족시키는 것)을 ‘임플리먼트한다’고 한다. - from <네이버 지식백과>''
  • PHPStudy2005 . . . . 2 matches
          * 일방적인 정보 전달 스터디가 아닌, 하는 방법(메뉴얼 찾아서 하기, 틀정 사이트 Q & A 찾아서 하기, 있던 PHP소스 재활용하기, 모를땐 메신저로 선배한테 물어보기-_- 등..) 을 알려주고, 그에 따라 간단한 PHP 프로그램을 작성해본다.
          * [http://ezphp.net/lecture/ 다우니 PHP 초보 강좌] - 정현아 왼쪽꺼 강좌 3 문법 배우기, 4 카운터 만들기만 익히면 된다. 그리고 바로 투입~! ㅋ -[상협]
  • PairSynchronization . . . . 2 matches
         ["sun"]은 기존 프로그램의 업그레이드 작업에 새로 한명의 파트너와 함께 둘이 작업하게 되었다. XP를 개발에 적용해보기로 하고, 프로그램 디자인에 CrcCard 섹션을 이용하고자 했다. 처음 CrcCard 섹션을 진행해서 그런지, 별다른 진척이 보이지 않아 우선 화이트보드를 이용해서 개념을 정리해보고자 다른 색의 마커를 들고 한 번에 하나씩 개념을 그리고 선을 이어 나가며 디자인을 했다.
  • Perforce . . . . 2 matches
         프로그램은 서버, 클라이언트 환경으로 관리되며, 서버는 소스의 모아서 관리한다. 서버 프로그램은 유닉스, 맥, MSWin 버전으로 제공된다. 클라이언트는 GUI, CMD 버전의 툴을 지원하며 다양한 OS 에서 이용가능하다. 또한 IDE 와 연동역시 지원한다. (IDE에는 3dmax, maya, photoshop, office 등을 포괄하는 방대한 시스템)
  • Polynomial . . . . 2 matches
          다항식의 곱셈을 이용하는 프로그램을 작성한다.
          다음과 같은 자료의 합, 차, 곱을 리턴하는 프로그램을 작성하시오
  • Postech/QualityEntranceExam06 . . . . 2 matches
          3. Machine Language Like 한 프로그램 만들기. 코드 주고. 스앞 함수 호출하는 부분 있고 파라미터 패싱을 설명해야함.
  • PowerOfCryptography . . . . 2 matches
         정수 http://acm.uva.es/p/v1/113img1.gif 과 http://acm.uva.es/p/v1/113img2.gif 이 주어졌을때, 당신은 http://acm.uva.es/p/v1/113img3.gif 를 구하는 프로그램을 작성해야 합니다. 이 프로그램에서 주어진 n과 p에 대하여, p는 항상 http://acm.uva.es/p/v1/113img5.gif 형태를 갖습니다. (여기서 k는 당신이 찾아야 될 정수입니다.)
  • ProgrammingContest . . . . 2 matches
         나이나 학력 제한이 전혀 없습니다(Open경우). 팀은 세명까지 가능하고, 혼자서도 참가 가능합니다. 사용 가능 언어는 Java, C++, Pascal, Python 등 입니다. 제한 조건은 한 팀은 프로그램 개발을 위해서는 하나의 컴퓨터만 사용해야 한다는 것입니다. 이번 금요일(2002/5/10)에 한국 시간으로는 오후 9시부터 5시간 동안입니다. 온라인(이메일)으로 진행합니다. (see also .http://ipsc.ksp.sk/rules.php )
         또, Easy Input Set은 직접 수작업으로 풀고 그걸 일종의 테스트 데이타로 이용해서, Difficult Input Set을 풀 프로그램을 TDD로 작성해 나가면 역시 유리할 것입니다. 이렇게 하면 Time Penalty는 거의 받을 일이 없겠죠.
  • ProgrammingLanguageClass . . . . 2 matches
         무심결에 쓰고 있는 프로그램 언어의 내부를 배울 수 있는 시간입니다. 개인적으로는 이런 저런 원리를 하나식 알아갈 때마다 재미있었기 때문에 수업시간도 재미있었습니다. (정말 같이 듣는 이들은 졸린 모양이더라고요.) 과제에서 엄청난 실수를 많이 저질러서 안타깝지만, 과제 자체는 강의 내용과 매우 적절하게 연결된 것이라고 생각합니다.
         아쉬운 부분은 프로그램 언어론이란 과목임에도 불구하고, 설명의 비중은 많이 쓰이는 언어일수록 높았던 점입니다. 함수형언어(FunctionalLanguage)는 기말 고사 바로 전 시간에 한 시간만에 끝내려다가, 그나마 끝내지도 못하고 요약 부분만 훑었습니다. 그 밖의 종류에 대해서는 거의 절차적 언어, 특히 C계열 언어를 설명하다가 부연 설명으로 나오는 경우가 많았습니다. 논리형언어(LogicLanguage)에 대한 설명은 거의 못 봤습니다. 어차피 쓰지 않을 언어라고 생각해서일까요.--[Leonardong]
  • ProgrammingPartyAfterwords . . . . 2 matches
         금요일, 토요일, 토요일 밤 약간 깊숙히 - 이번 심사와 Mentor 역할을 맡은 김창준, 채희상, 강석천은 임시 위키를 열고 문제 만들기 작업 관련, Moderator 로서의 역할을 정했다.
         시간이 좀 흘렀을 때, 희록님의 생각은 '우리 모두 이 프로그램을 짜는데서 왜 알고리즘이 사용되어야 하는지 모르고 있다. 이는 문제를 제대로 파악하지 못했다는 것을 의미한다' 라는 생각을 하였다. 그 때, 누군가가 입력 형식에 관해서 Mentor에게 물었다. 하지만 아쉽게도 입력형식에 대해서 명확한 답을 얻을 수는 없었지만, 몇가지 새로운 사실들을 알수 있었다. 하지만 진행은 계속 지지부진하게 되었다. 희록님은 다시 그것을 깨고자 "CRC카드를 한번 사용해서 문제를 다시 한번 생각해보자"라고 하였다. 우리는 CRC카드를 작성하기 시작하였고, 우리가 CRC카드를 이용해서 시뮬레이션을 실행해보고서는 요구사항을 분석하는데는 크게 도움이 되지 않았지만, 우리가 프로그래밍시에 어떤 객체들이 필요할지와 그 속성들에 대해서는 약간 명확해졌다.
  • ProjectPrometheus/CookBook . . . . 2 matches
          동시에 10개의 타이머 설정 가능. 카운트 다운, 카운트 업 가능. 멈췄다가 프로그램을 다시 시작할 때 지난 시간에서 resume 가능. 단, 메모리 누수 버그가 있다.
         ZeroPageServer 웹 프로그램을 만들어서 미리 읽어볼 소스를 주신 선우형에게 감사드리며~! 형 덕택에
  • ProjectTriunity . . . . 2 matches
         === 프로그램 소스 및 문서 (첫번째) ===
         === 프로그램 소스 및 문서 (두번째) ===
  • ProjectVirush/Idea . . . . 2 matches
          세균 키우기..... 이른바 '실시간 멀티 온라인 게임' 이다. 이걸 만들기로 결정하는 순간 우리는 커다란 문제에 직면하였다! ;;ㅁ;;
          첫째 '실시간'이다. 실시간으로 돌아가는 프로그램은 커다란 제약을 가지게 된다. 무엇보다 '슈퍼 울트라 복잡한 연산을 해서는 안된다.'는 것이다. 맵이 너무나도 큰 나머지, 또는 맵을 검색하는 알고리즘이 너무 자세한 나머지 "왼쪽 끝에서 오른쪽 끝까지 이동하도록 명령하니 1분동안 길을 찾느라 멈추었어요." 라는 소리를 들어서는 안된다. 물런 이런 과장된 일은 없겠지만, 실시간으로 진행되는 만큼 끊김없이 느껴질 수 있는 부드러운 연산이 가능해야 한다는 것이다. 더욱이 멀티플레이인 만큼 이 문제는 더욱더 중요해 진다. 플레이어 1이 복잡한 연산을 수행시켜버렸다고 해서 플레이어2까지도 버벅되서는 조금 곤란해 진다. 이러한 문제를 감안해서 어떻게든 연산을 빠르게 만들어야 한다.
  • PythonLanguage . . . . 2 matches
          * '''프로그램의 알고리즘에 집중할 수 있다.'''
          * PythonXmlRpc - Python 으로 구현하는 RPC 서버 & 클라이언트 프로그램.
  • R'sSource . . . . 2 matches
         print """이 프로그램은 www.replays.co.kr의 스타크래프트 리플레이를
         모아주는 프로그램 입니다."""
  • RAD . . . . 2 matches
         전통적인 소프트웨어 개발 방법(waterfall 모델)은 오랜 기간의 분석, 설계, 프로그래밍 그리고 테스트 과정을 되풀이한 후 최종 단계에서 비로소 사용자가 요구한 시스템을 완성할 수 있었다. 그러나 이와 같은 방법으로는 소프트웨어의 생명주기가 점차 짧아지는 등의 급변하는 프로그램 시장과 사용자의 요구를 수용하기가 매우 어렵다. 따라서 소프트웨어의 생산성을 향상시키면서 동시에 개발 기간과 비용을 단축시킬 수 있는 방법이 요구되었고, 이러한 연구의 결과로 RAD와 같은 개념이 등장하게 되었다.
         RAD는 우수한 소프트웨어 개발 도구를 이용하여 전통적인 개발 방법보다 더 적은 시간과 비용을 투자하더라도 보다 나은 품질의 소프트웨어를 개발할 수 있는 소프트웨어 개발 과정을 말한다. 이러한 RAD 방식의 개발은 응용 프로그램의 전체 개발 과정을 하나로 통합하여 기존의 반복적이고 점진적인 소프트웨어 개발 과정은 그대로 수용하면서도, 개발 과정 초기에 사용자에게 실행 가능한 기본적인 프로토타입을 제시하여 사용자의 요구를 훨씬 더 명확하게 수용하여 차후에 일어날 수 있는 많은 문제를 줄이고, 설계 과정을 그대로 개발에 재사용함으로써 전체적인 개발 기간의 단축을 꾀하는 것을 목적으로 한다.
  • RUR-PLE . . . . 2 matches
          * 사람들이 읽기 쉬운 프로그램을 작성해야 한다.
          * 컴퓨터 프로그램을 작성할때는 반복을 하지 마라.
  • RandomWalk . . . . 2 matches
          바퀴벌레는 임의의 한 점에서 시작하여서 임의의 방향으로 움직이게 된다. 이미 지나갔던 자리에 다시 갈 수 있으며 프로그램은 바퀴벌레가 각 위치에 몇번 갔는지 기억하여야 한다. 프로그램은 바퀴벌레가 모든 지점에 적어도 한번 이상 도달하였을 경우 끝난다. 바퀴벌레는 가로, 세로, 대각선으로 한칸 씩만 움직일수 있으며, 바퀴벌레가 움직이는 방향을 랜덤하게 만드는 것은 각자가 생각해 보도록 한다.
  • ReverseAndAdd . . . . 2 matches
         어떤 수가 주어졌을 때 회문이 있으면 출력하고, 그 회문을 찾기까지 뒤집어서 더하기를 반복한 횟수를 출력하는 프로그램을 만들어야 한다.
          * 정수 N(0<N<=100) 제한을 프로그램 상에서 걸어놓으면 로봇이 틀린 답으로 판단하는군요. 왜 그럴까요? -- 보창
  • Ruby/2011년스터디/세미나 . . . . 2 matches
          * rescue로 만들기
          * 상속을 통한 테스트 케이스 만들기
  • STL . . . . 2 matches
         || ["STL/list"] ||만들기 까다로운 더블 링크드 리스트를 제공해준다.||
          DeleteMe) 인수가 가진 모든 STL 페이지 ["Refactoring"] (예제가 그 자체로만으로 돌아가나 컴파일. 이모티콘과 잡담 모두 빼서, Document Mode로 만들기, 쉬운말, 쉬운 예제로 고치기) 결과 ["인수"]의 모든 STL 페이지 사라짐(피바람);;
  • STL/vector/CookBook . . . . 2 matches
          * vector<int>... 부분을 보면 또 다른 생성자가 보인다. 인자로 숫자 하나를 받는다. 그 만큼 동적 할당 해준다는 뜻이다. delete? 그딴거 안해줘도 된다. 프로그램 끝나면서 int형 벡터 ar이 소멸되면서 알아서 없애준다.
          * vector로 간단히 해결이 가능하다. See also ["RandomWalk2/Vector로2차원동적배열만들기"]
  • SibichiSeminar/TrustModel . . . . 2 matches
          * 음.. 어려운 내용이었습니다. 추상적으로 이해하고 끄덕끄덕... 견문이 좁은 탓이겠지요. ㅜㅜ 뒷부분은 재밌었습니다. 지난 주에 언급했던 커뮤니케이션의 실패와 관련이 있을지도... 버전 관리 얘기도 나왔는데, 그 부분이 궁금하네요. 그렇다 할만한 팀워크를 해본 적이 없어서요. 코드를 구역 별로 나눠서 동기화하는 방법이 적절할 것 같은데. 이런 일을 돕는 프로그램이 있는거죠? -_-; - [정진경]
          * 세미나 주제가 참 놀라웠습니다. 페이스북을 이용해 관심사가 같은 사람들을 엮어주는 앱은 이미 나와있지만, 이건 일일히 사용자가 입력을 해야하는데, TrustModel은 프로그램이 알아서 다해주는것 같더군요. 지식이 얇아서 여기까지밖에 이해 못했습니다. 꺼이꺼이. 세미나 막간에 넣은 M-16인용 개발자-기획자-디자이너의... 뭐라고 해야하나요. 암튼 재밌게 잘 봤습니다. 삼위일체가 답이군요. 하하하하.. 정확한 커뮤니케이션은 정말 힘든것 같아요. 새내기 다운 새내기가 없다는 말씀을 자꾸 하셨는데.. 저 새내기 맞아요 ㅜㅠ C언어도 학교 오고나서야 처음으로 알았어요 ㅜㅠ - [고한종]
  • SmallTalk/강좌FromHitel/차례 . . . . 2 matches
          | 1.1. 프로그램과 프로그래밍 언어 <#1>
          | 1.3. Smalltalk 맛보기 프로그램
  • SmallTalk_Index . . . . 2 matches
          | 1.1. 프로그램과 프로그래밍 언어 <#1>
          | 1.3. Smalltalk 맛보기 프로그램
  • Spring/탐험스터디/wiki만들기 . . . . 2 matches
          * UserDetail - 스프링 시큐리티가 사용할 수 있는 User 객체 만들기
          * 바퀴 다시만들기
  • SwitchAndCaseAsBadSmell . . . . 2 matches
         사실은 이런 종적 상태로서의 프로그램이 중요한 것이 아니고, 어떻게 이런 프로그램에 도달할 수 있었는지, 그 사고와 프로그래밍의 과정이 중요합니다.
  • TAOCP . . . . 2 matches
         DeleteMe)MIXware부분에 가서 프로그램 받을 수 있어. 다 써보진 못했는데 2번째꺼 해보니깐 좋더라...
         휘동이 정리보구 궁금해하던 문제들이 많이 풀렸다. 이젠 프로그램 짜야쥐... --세환
  • ThePragmaticProgrammer . . . . 2 matches
          프로그래머는 일련의 도구들(에디터, 객체 관리자, 버전 트래커)을 사용하여 어떤 환경하에서(하드웨어 어셈불리상의 운영시스템) 운용될 수 있는 제품(프로그램)를 만들어내도록 훈련받은 공예가에 비유할 수 있다. 다른 공예작업과 마찬가지로, 컴퓨터 프로그래밍도 대학이나 관련학원에서 가르쳐지지 않는/쉽게 터득할 수 없는 지식과 지혜를 집적하여 완성해 가는 과정을 갖는다.
          이들의 프로그램학은 구체적이며, 그 구현에 이르는 경로는 간결하다. 이들은 예를들어,하나의 텍스트 편집기를 배우게 되면 그것을 모든 것에 활용하라고 독자들에게 조언하고 있다. 또한 권고하고 있는 것은, 심지어 가장 작은 프로젝트에 대해서도 버전트래킹 소프트웨어를 사용하라는 것이며, 규칙적인 수식구문과 텍스트 처리언어 학습의 장점을 계도하고 있다.
  • UbuntuLinux . . . . 2 matches
         못 찾은 건지 몰라도 한글 입력이 기본이 아닌가보다. 키보드에 영어랑 일본어도 있는데 한글은 없다. 세종대왕이 알면 가슴을 치며 한탄하시겠군. 한글 입력 하는 방법을 찾던 중 우분투 홈페이지게 가 보았고, ''나비''라는 프로그램을 설치하면 된다는 사실 발견. 드디어 한글을 쓸 수 있게 되었다. 우리말이 정말 사랑스럽다.
         다음 목표는 이전에 사용하던 윈2000을 멀티부팅하기. 사실 리눅스만 쓰고 싶은 마음이 간절하지만 각종 윈도우 전용 프로그램을 사용하던 과거를 한 순간에 지워버리지는 못하거든.
  • VendingMachine/재니 . . . . 2 matches
         = 프로그램 설계 =
          * 이번엔 프로그램 설계를 한글로 했지만 영어로 해보고 싶은 욕심이 생기네엽..^^[[BR]]
  • VonNeumannAirport/Leonardong . . . . 2 matches
         매우 데이터에 의존적인 프로그램이라는 생각이 든다. 만약 석천이형 생각대로 요구사항이 바뀐다면 지금 프로그램은 감당해낼 수 있을까?
  • WeightsAndMeasures . . . . 2 matches
         맥(Mack)이라는 이름의 거북이가 여틀(Yertle)왕의 거북이 왕좌(王座)을 만들기 위한 거북이를 쌓는 방법을 문의해왔다. 혹시 자기 등껍질이 깨질까 봐 겁이 났기 때문이다. 여틀 왕의 왕좌을 만들기 위해 동원된 5,607마리의 거북이는 체중과 체력이 모두 다르다. 가능한 가장 많은 거북이를 쌓는 방법을 찾아보자.
  • Yggdrasil/가속된씨플플/4장 . . . . 2 matches
          * 장의 제목 그대로의 내용이다. 프로그램의 구조화(함수)와 데이터의 구조화(구조체) 등등을 설명하고 있다.
          * 1학년 1학기 텀프로젝트를 할때, 성적정렬 프로그램에서 정렬로 순서가 전부 바뀌어버려서, 루프문의 끝에서 전부 다 초기화했던 기억이 난다. 이때 전달인자에 전달 방식을 제대로 이해하고 활용했다면 편했을 것을.
  • Z&D토론/통합반대의견 . . . . 2 matches
         흘러간다. 그 무의미한 시간들은 제로페이지나 데블스를 약하게 만들기
         빨리 휠에 대한 설명이나 캡쳐해야 겠다. 앞으로 프로그램 좀 짤 일이 있어서
  • ZPBoard/APM/Install . . . . 2 matches
          * 제어판 -> 프로그램 추가/제거 -> Windows 구성 요소 추가/제거 에서 IIS를 설치한다.
          * APM을 설치, 설정을 자동으로 해주는 프로그램도 있네요. 번거로운 설치과정이 귀찮으신 분들은 이놈도 좋을듯. [http://www.apmsetup.com/]. 하지만 직접 설치해 보지 않으면 모르는것도 있으니... 귀찮으신 분만 쓰세요ㅋ - [이승한]
  • ZP도서관/2013 . . . . 2 matches
          * 레일즈로 도서 조회 사이트 만들자! 루비 튜토리얼이 도서관리 프로그램 만들기라 그런건 아니고!! - [서지혜]
  • ZeroPageServer/set2002_815 . . . . 2 matches
          * Server 프로그램을 자기 계정에서 고정 도메인 & IP 로 돌려볼 수 있다는 것도 큰 장점.
          * [[HTML( <STRIKE> moin 1.1 에서 한글 index 먹도록 만들기 </STRIKE> )]] : 석천 수행
  • ZeroPage_200_OK . . . . 2 matches
          * 각자 자신의 Cloud9 IDE Dashboard에서 Workspace를 만들어 과제를 진행하고 URL을 공유합시다. 과제는 "메뉴 만들기"였는데 어떤 모습으로 구현해도 좋습니다!
          * Trello 만들기
  • bitblt로 투명배경 구현하기 . . . . 2 matches
         프로그램을 컴파일해주는 컴파일러도 아니요..
         결국 마스크 비트맵을 메모리상에서 만들어서 한장 비트맵으로 투명 배경만들기하는 거 였네 ㅡ.ㅡ;
  • html5/communicationAPI . . . . 2 matches
          * 프로그램간에 비동식으로 메세지 전달 : 느슨한 결합(loosely coupled)
          * 통신 수행의 주체 : 윈도우, 백그라운드 태스크, 서버에서 동작하는 프로그램
  • neocoin/Log . . . . 2 matches
          * OP - Object Programming Mosaic 프로그램 숙제
          * 위의 STL을 이용해서 OpenGL상에서 뭔가 움직이는거 만들기
  • woodpage/VisualC++HotKeyTip . . . . 2 matches
          *WndTabs 라는 프로그램으로 Visual c++에 AddOn(스타처럼) 시키는 프로그램이다.
  • wxPython . . . . 2 matches
         qt, gtk 로의 접근에 어려움을 갖는다면 충분히 배워볼만한 툴킷. 정말로 쉽고, 다큐멘테이션, 예제프로그램의 제공 형태가 굉장히
         바람직한 형태로 구성되어있다. 예제프로그램은 도움말 파일의 형태로 embeded 되어서 실행되는 코드로 구성되어있다.
  • zennith/w2kDefaultProcess . . . . 2 matches
         윈2000에서 클라이언트 관리의 핵심 구성요소로서 클라이언트 응용프로그램이 처음 연
         결될 경우 또는 관리 응용프로그램이 서비스를 요청할 때 초기화된다.
  • 객체지향분석설계 . . . . 2 matches
          EX> 수강신청프로그램, 도서관 좌석예약 프로그램..
  • 겨울방학프로젝트/2005 . . . . 2 matches
         || [EditPlus] || 메모장보다 좀 더 높은 수준으로 만들기 || 수생 현태 ||
         || OS || OS만들기, 알기 || 윤창 영창 상규 ||
  • 고한종/업적/WinAPI로만든학과주점포스기 . . . . 2 matches
         좀더 자세히 말하자면, 아이패드에서 메인 프로그램을 돌리고, 아이폰&안드로이드에서 부속 프로그램이 돌아서 주문을 받게 하려 했음.
  • 그래픽스세미나/2주차 . . . . 2 matches
          * 창의 프로그램
         [1002] 는 창의 프로그램 만들어낼때까지; --[1002]
  • 그래픽스세미나/3주차 . . . . 2 matches
          * 벡터 클래스 만들기
          * 창의 프로그램(nehe OpenGL tutorial 10번정도면 괜찮을듯 하군요..^^)
  • 날다람쥐 6월9일 . . . . 2 matches
         = 포인터를 이용한 간단한 프로그램 =
         포인터를 이용한 간단한 프로그램 :
  • 데블스캠프2003/넷째날/후기 . . . . 2 matches
          * OOP 는 알아듣기랑 변수를 선언하는게 힘들거 같지만,,, 그래도 잘 알게되면 쓸만한 것 같다.. OOP를 이용해서 프로그램을 짤 수 있었으면 좋겠다... 근데 이걸 언제 배울까... ㅡㅜ;; -- [손동일]
          * 오늘 알게 된 OOP의 특징 중 각 클래스를 묶는 캡슐이라는 개념....이것을 보니 프로그램 짰을때, 더 쉽게 고칠 수 있을 것 같네요.. --[문원명]
  • 데블스캠프2003/다섯째날/후기 . . . . 2 matches
          * 마지막날 시작전; 이제 마지막날 프로그램이 시행 될거다; 오늘도 많은것을 얻어가자.--[변준원]
          * 오목 짜고 뿌듯한 건 진짜 짱이었고;; 스타와 포트가 너무너무 재미있었다=ㅂ= 모君의 컴퓨터가 마우스를 흔들지 않으면 다운이 되서; 계속 흔들고 있었던 게 너무 웃겼다 ㅋ; 늘었다고 생각되는 건..프로그램 실력 조금이랑..스타와 포트 실력 왕창-_- (콜록) [이진훈]
  • 데블스캠프2003/둘째날/후기 . . . . 2 matches
          * 오늘 한거 정말 장난이 아니다. 앞으로 도전은 계속된다. 모두들 열심하는 모습 보기 좋았네... 모두들 방학이 끝난다음에는 모두들 프로그램짜는데 자신감을 가질 수 있길 노력하자~~["조재화"]
          * 8퀸 문제를 실패하면서, 프로그램을 짤 때에는 먼저 확실한 알고리즘을 구축해 놓아야 한다고 생각했어요.. 알고리즘부터 틀리게 되면 나중에는 디버깅도 소용이 없다는 사실.. --[문원명]
  • 데블스캠프2003/셋째날/J2ME . . . . 2 matches
          * ["MobileJavaStudy/HelloWorld"] - "Hello World" 를 출력하는 프로그램
          * ["MobileJavaStudy/NineNine"] - 구구단을 종류별로 출력하는 프로그램
  • 데블스캠프2005/게임만들기/제작과정예제 . . . . 2 matches
         == [데블스캠프2005]/게임만들기/제작과정예제 ==
         [데블스캠프2005] [데블스캠프2005/금요일] [데블스캠프2005/게임만들기]
  • 데블스캠프2008/등자사용법 . . . . 2 matches
         이 프로그램으로 수업진행 하니까 참 재미있어요
         저같은 소심남도 이런 프로그램을 통해서
  • 루프는0부터? . . . . 2 matches
         보통 비대칭형 범위는 대칭형 범위보다 더 사용하기 쉽습니다. 왜냐하면 다음과 같은 중요한 속성이 있기 때문입니다. [m, n)과 같은 형식의 범위는 n-m개의 요소들을 가지며 [m,n]의 형식은 n-m+1의 요소들을 가집니다. 따라서 [0, rows)에서 요소들의 개수는 직관적인데 반해, [1, rows]에서 요소들의 개수는 덜 직관적 입니다. 이러한 속성차이는, 특히 빈 범위의 경우에 더 뚜렷합니다. 만약 비 대칭형 범위를 사용한다면, 빈 범위를 [m,n)으로 표현할수 있지만, 대칭형 범위에서는 [n, n-1]을 사용해야 합니다. 범위의 끝이 시작보다 더 작을수 있따는 가능성은 프로그램 설계시 끝이 정의되지 않아 버리는 문제를 야기 시킬수 있습니다.
         사소한 것일지 모르지만, 루프가 끝날 때 우리가 짐작 할 수 있게 되는 프로그램의 상태 정보에 영향을 줄 수 있습니다.
  • 문원명 . . . . 2 matches
          프로그램을 잘 만들수 있는 창의적인 알고리즘 구상능력의 계발.
          네트워크를 통해 할 수 있는 간단한 놀이 프로그램을 만들고 싶어요.
  • 문제풀이/1회 . . . . 2 matches
         1. 입력 3가지수를 받아서 if문을 이용하여 최대값 최소값을 출력하는 프로그램을 작성하세요. DeleteMe)스펙이 if문의 언급은 잘못된것 아닌가요?
         2. 1 을 활용하여 10개의 입력중에 가장 최대, 최소 값을을 출력하는 프로그램을 작성하세요.
  • 블로그2007 . . . . 2 matches
          * 책에서 하라는 데로 다 설치하긴 했는데 코딩할 때는 어케 해요?[[BR]]C++처럼 따로 프로그램이 있는건가?... 아님 그냥 편집기로?... -송지훈 '''[답변 및 의견 1]'''
          * PDT - PHP Development Tool PHP 스크립트 엔진을 개발하는 Zend 팀이 Eclipse 진영에 합류후에 PHP개발 툴을 만들기 시작했는데 아직 1.0 까지도 올라가지 않은 개발 중인 제품입니다. 좋기는 하지만, 적극적인 배포도 하지 않고 Ecilpse의 공식 배포 스케줄+환경인 Calisto에도 반영되려면 멀었습니다.
  • 빵페이지/숫자야구 . . . . 2 matches
          cout << "프로그램을 종료해요.\n";
          * goto문이 생각나서 쓰긴했는데 ... ... 전에 실습시간에 조교오빠가 goto문 안 쓰는 게 좋다고 한 것 같은데.. ㅡㅜ숫자 입력할 때 한 숫자 넣고 스페이스 바 누른 후 다음 숫자를 입력해야 하는 번거로움이 있네 어떻게 해야하지?? 프로그램이 바르게 돌아가는 게 맞는 지 확신이 없어서 계속 미루고 못 올렸는데 흠.. 틀린 것 좀 알려주시길.... - 일정
  • 새싹교실/2011 . . . . 2 matches
         새싹 교실 가이드라인은 더 나은 새싹 교실을 만들기 위해 ZeroPage가 추천하는 방법입니다. 강제는 아니지만 선생님들께서는 그 의미를 생각해보시고 따라주시면 감사하겠습니다.
          * 더 좋은 커리큘럼을 만들기 위한 의견도 환영합니다. 커리큘럼을 개선할 아이디어가 있으시면 아래에 적어주세요.
  • 새싹교실/2011/學高/2회차 . . . . 2 matches
          * 3+5=8E+0 를 출력하는 프로그램을 작성하라. 단, %d,%e를 반드시 이용해야 한다.
          *3+5=8E+0 를 출력하는 프로그램을 작성하라. 단, %d,%e,를 반드시 이용해야 한다.
  • 새싹교실/2011/學高/4회차 . . . . 2 matches
          * 세개의 정수를 받아들여, 그 수를 모두 더한 후 7를 더하면 얼마인지 출력하는 프로그램
          * 프로젝트 만들기 복습
  • 새싹교실/2013/라이히스아우토반/3회차 . . . . 2 matches
          puts("프로그램을 끄려면 q 아니면 다른거 :");
          puts("프로그램 끝!");
  • 새싹교실/2013/록구록구/3회차 . . . . 2 matches
          * '''조건문을 이용한 간단한 계산 프로그램 만들기!!'''
  • 새싹스터디2006/의견 . . . . 2 matches
         따라서 지금 위키 구조를 잘 이용해 필요한 정보는 제로페이지 위키에, 각 소그룹으로 진행하는 내용은 개인 위키에 정리하면 좋겠습니다. 나중에 정리할 필요 없는 시간 약속, 출석 체크, 메시지 전달 들을 개인 위키에서 진행하면 되겠죠. 단 숙제를 내면 반 이름의 하위페이지를 만들기보다, [EightQueenProblem]처럼 정보를 모을 수 있을 것입니다. 이로써 현재 미약한 개인 위키 사용이 늘어날 것이고, 덤으로 사용자가 위키 카페 구조에 익숙해지는 효과도 얻을 것 같습니다. -- [Leonardong]
         어느쪽이 되었든 하위페이지는 신중히 만들어야 합니다. 하위페이지는 순간 만들기 쉽지만 갈수록 구조를 바꾸기가 어려워집니다. '''숙제'''로 제로페이지 위키에 있는 페이지를 검색해 보세요. 내용으로 정리할 수 있는 페이지가 있지만, 손보려면 드는 시간이 적지 않을 겁니다. 일일이 페이지를 열어보기 전까지는 그 안에 어떤 내용이 있는지 알 수도 없고요. 또 하위페이지는 링크를 걸기가 더 어렵습니다. 상위 페이지 외에는 그 하위 페이지의 역링크 개수는 0에 가깝습니다. 이를테면 [5인용C++스터디/멀티쓰레드]는 [5인용C++스터디]에서만 링크하고 있습니다. 이러한 현상은 하위의 하위 페이지로 들어가면 더 심해질 것입니다. -- [Leonardong]
  • 새페이지만들기 . . . . 2 matches
          페이지를 만들기 전에 페이지의 양식이 될만한 템플릿들이 제시된다.
         <!> '''필독사항'''. 페이지를 만들기에 앞서 [["페이지이름"]] 에 대한 안내를 읽어 본다.
  • 수학의정석/집합의연산/조현태 . . . . 2 matches
          printf("CPU CLOCKS = %d\n", clock() - time_in); // 끝났을때 시간 - 초기 시작시간 = 프로그램 실행 시간
          return 0; // 프로그램 종료.
  • 수학의정석/행렬/조현태 . . . . 2 matches
          printf("CPU CLOCKS = %d\n", clock() - time_in); // 끝났을때 시간 - 초기 시작시간 = 프로그램 실행 시간
          return 0; // 프로그램 종료.
  • 아잉블러그 . . . . 2 matches
         서버를 구축하고 관리하고 다양한 웹 프로그램을 사용해 보는 프로젝트.
         = 프로그램 =
  • 알카노이드 . . . . 2 matches
          * JAVA 공부와 더불어 추억의 게임 벽돌깨기 만들기
          * 기본 틀 (프레임) 만들기
  • 오픈소스검색엔진Lucene활용/세미나060401_2시 . . . . 2 matches
          * 자신의 프로그램에 검색이 필요한 경우 굳이 새로 만들기 보다는 기존의 검증된 오픈소스를 활용하기 위한 방법을 소개해 드릴 예정입니다.
  • 우리가나아갈방향 . . . . 2 matches
         하지만 개인 경쟁력 강화와 경력 관리라는 측면까지 고려해서 제로페이지 활동을 한다면, 지금보다 더 많은 가치를 얻을 수 있을 것 같습니다. 특히 게임이나 유틸리티 같이 쓸 목적으로 프로그램을 만드는 프로젝트를 한다면, 프로젝트 하나하나가 자신의 경력을 쌓을 수 있는 기회라는 생각도 해보면 좋겠습니다.
         윗 글에서 ''게임이나 유틸리티 같이 쓸 목적으로 프로그램을 만드는 프로젝트''를 해야 한다는 말에 공감합니다. 실제로 저런 프로젝트를 하면서 프로그래밍 하는 재미를 느끼게 됩니다. 먼저 2학년 이상인 ZP 회원들부터 저런 프로젝트를 하는 모습을 후배들에게 보여줘야 한다고 생각합니다. -[상협]
  • 위시리스트 . . . . 2 matches
          * 컴퓨터 프로그램의 구조와 해석 1, 2권
         무한상상 DIY 아두이노와 안드로이드로 45개 프로젝트 만들기
  • 위키설명회2005 . . . . 2 matches
         [신입회원모집]과 [부드러운위키만들기]의 한가지 방법으로 행해지는 행사.
          자기페이지만들기 > 다른사람페이지 수정하기 > 자기페이지고치기
  • 윤성만 . . . . 2 matches
          홈페이지 만들기
          프로그램 잘짜고 싶은데~
  • 이연주/공부방 . . . . 2 matches
          2 ∼ 9 까지의 구구단을 한 화면에 출력하는 프로그램을 작성하시오.
          포인터로 배열들의 요소를 지적하고 배열간의 자료교환을 하는 프로그램을 작성하시오.
  • 정모/2002.9.26 . . . . 2 matches
         저번 정모 이후, 사람들 살던 이야기. MobileJavaStudy 팀 (재동, 상규) 이야기가 있었다. 핸드폰으로 프로그램 올린 모습을 보여주었다.
          한번씩 돌아가면서 정모 기간 (2주정도?) 내 일어난 일이나 사건들. 관심사 등등. 그리고 2차행사로서 간단한 세미나를 한다던지, 자신이 만든 프로그램에 대해 시연을 한다던지. 문제를 제대로 정의할 수 있다면, 답을 구할 수 있을것 같다. (가장 간단한 일을 시작할 수 있을 것 같다. 정모 스타일에 비격식적 대화시간을 넣어본다던지, 자네가 정모 진행을 할때, 주위를 환기시킬 수 있고. 또는, 회장의 진행없이 나가볼 수도 있고.) --["1002"]
  • 정모/2007.3.6 . . . . 2 matches
         첫 번째 발표자 : 김정현 -> 계절학기수강, 스키장, 시간표프로그램 프로젝트 표류중(진행중), 그 외에는 잡다하여
         - 제로페이지가 커져도 잘 운영되는 학회를 만들기 위해서 제로페이지 회원이라면 역할을 하나씩 맡는 쪽으로 가는건 어떨까?
  • 정모/2011.3.14 . . . . 2 matches
          * 스스로 커리큘럼을 만들기 어려운 재학생들에게 레퍼런스를 제공하기 위해 만든 것.
          다음주에 현이형이 무슨 프로그램가지고 단어를 랜덤하게 뽑은 후에 이야기를 만들어보는걸 해본다고 하던데, 오늘 처럼 교양학교후에 참여해서 볼 수 있으면 좋겠네요.
  • 정모/2011.3.7 . . . . 2 matches
          * 학생회 회의 떄문에 늦어서 루비 세미나 뒷부분부터 참석한 관계로 많은 프로그램을 놓쳐버렸습니다 OTL 아쉽더군요... 우선 새싹의 경우는 나름 담당자 인데 정모에 참여를 못해서 아쉽습니다. 그리고 성현이형의 영화 해석을 보면서 깨달은건데 그렇게 영화가 해석되는지 몰랐습니다. 그리고 JavaScript 스터디에 야매로 참가하면서... 알게된 내용이지만 인터프리터 언어에도 객체지향 언어가 존재하고 종류가 꽤 많다는게 신기하네요. 제가 어디서 주워 듣기로는 Python도 OOP가 가능하다고 하던데;; 아무튼 늦게 들어간게 죄입니다 ㅠ -[윤종하]
          * 루비로 만들어진 프로그램 많아요!! 대표적인 Ruby on rails랑 redmine도 있고.. 어디서는 요즘 GUI 대세는 루비라고도 하던데ㅎㅎ 루비가 별로 쓸일이 없는건 제가 루비를 잘 몰라서였습니다 하하ㅠㅠㅠ 덧)Objective-c를 아예 날잡고 세미나 하는것도 좋을거같아요 - [서지혜]
  • 정모/2011.5.9 . . . . 2 matches
          * 스타2를 플레이해본 적은 없지만 스타1 캠페인 에디터나 RPG만들기는 조금씩 찌끄려봤는데 이번 기호의 OMS를 보고 유저의 게임 만들기에 있어 엄청난 발전과 변화를 불러 일으켰더군요. 버그가 많고 코드에 대한 이해가 필요하다는 점도 있지만 스타2로 만들어진 와우는 정말 흥미로웠습니다. 데블스 staff 회의를 진행하면서 이제까지의 데블스캠프에 대해 회고해보고 어떻게 해야 개선할 수 있을지 고민해 보았는데 ZP에서 학우들이 학술적으로 오랜 시간 동안 많은 공유를 할 수 있는 몇 안되는 큰 행사이니 만큼 뜻깊은 시간이 되었으면 좋겠습니다. - [Enoch]
  • 정모/2011.7.18 . . . . 2 matches
          * 주제 : OMS뭐해야할까 - 집에 남는 컴퓨터 활용 - 서버만들기 (..)
          * 파일 비교 프로그램을 두주간 구현하는 것이 목표.
  • 정모/2012.7.18 . . . . 2 matches
          * [김민재]학우의 DEP(Data Execute Prevention) : 실행 불가능한 메모리 영역에서 프로그램을 실행시키는 것 방지.
          * UDK 스터디 - 3D 쪽 리소스 만들기나 UDK 스크립트를 배우느라 아직 정신이 없음.
  • 정모/2012.7.25 . . . . 2 matches
          * MT에서 할 프로그램 모집 중.
          * 작은자바이야기 : Generics와 Reflection API를 이용한 objectMapper 만들기. Reflection API는 강력해서 무척 마음에 든다. 그리고 objectMapper라는 아이디어를 잘 이용하면 다른 곳에서도 반복되는 작업을 많이 줄여줄 것 같아서 비슷한 방식을 사용하는 것도 좋을 것 같다.
  • 제12회 한국자바개발자 컨퍼런스 후기 . . . . 2 matches
         == 프로그램 ==
          간단하게 점심을 먹고 본인은 첫 세미나로 Track 3에서 한 아키텍트가 알아야 할 12/97가지를 들었다. 그 내용중에서 STAN으로 프로그램의 상태를 보여주는 부분이 인상깊었다. 그렇다고 여기에 너무 민감하게 반응하지는 말라던.. 그리고 그 곳에 심취해 있다고 단순히 신기술이라고 무조건적으로 사용하기 보다는 이런 저런 상황을 고려하라는 것.. 가장 생각나는 것은 문제는 기술의 문제가 아니라 모든 것은 사람에 관한 것이다라는.. 모든 일은 나 자신으로부터 비롯된다라고 생각하고 있었는데 그 부분과 어느정도 상통하는 이야기였던 것 같다.
  • 제로스 . . . . 2 matches
          * 제작한 OS에서 돌아가는 응용프로그램을 만들어 본다.
          * 현재 프로젝트의 방향은 정하지 않은 것으로 보이니까 공룡책으로 이론 공부를 하고 Nachos라는 교육용 OS 프로그램 분석을 병행하면서 여기서 얻은 지식으로 OS를 만드는 접근 방법을 사용하는 것이 어떨까 하는데 다들 의견이 어떠신지 궁금? -- 이론 : Operating System Concepts -- 실습 : Nachos - [진석]
  • 조현태/놀이 . . . . 2 matches
         [조현태/놀이/채팅서버]
         [조현태/놀이/시간표만들기]
  • 졸업논문/본론 . . . . 2 matches
         관계형 데이터베이스는 관계형 모델에 따라 논리적으로 연관이 있는 데이터를 모아놓은 것이다. 관계란 n-tuple이 한 줄 씩 배열된 것으로, 줄이 배열된 순서는 관계없고, 모든 줄은 구별할 수 있어야 한다.[11] 데이터베이스 관리 시스템(DBMS)는 데이터베이스를 구성, 변경, 조회하는 프로그램을 모아 놓은 것이다.[12] 현재까지 관계형 DBMS가 많이 쓰이고 있는데, 이는 관계를 테이블로 나타내고 키를 이용해 정보를 연결하는 특징을 가진다.[11] SQL은 관계형 데이터베이스의 데이터를 생성,조회,변경하는 언어로 ANSI/ISO표준이다.[13] SQL을 이용하면 데이터베이스 테이블 생성에서부터 데이터 추가, 삭제, 변경, 조회는 물론이고 여러 건에 대한 트랜잭션처리까지 가능하다.
         Django의 설계 철학은 한 마디로 DRY(Don't Repeat Yourself)이다. 확연히 구분할 수있는 데이터는 분리하고, 그렇지 않은 경우 중복을 줄이고 일반화한다. 데이터 뿐 아니라 개발에 있어서도 웹 프로그래밍 전반부와 후반부를 두 번 작업하지 않는다. 즉 웹 애플리케이션 개발자는 SQL을 사용하는 방식이 도메인 언어에 제공하는 프레임워크에 숨어 보이지 않기 때문에 프로그램을 동적으로 쉽게 바뀔 수록 빠르게 개발할 수 있다. 또한 후반부 데이터 모델이 바뀌면 프레임워크에서 전반부에 사용자에게 보이는 부분을 자동으로 바꾸어준다. 이러한 설계 철학을 바탕으로 기민하게 웹 애플리케이션을 개발할 수 있다.
  • 중위수구하기 . . . . 2 matches
         문제 : 세 수 A, B, C를 받아들여 그 중 중위수를 구하는 프로그램을 작성하여라.
          * a = -999 이면 프로그램이 끝나게 한다.
  • 컴퓨터공부지도 . . . . 2 matches
         예전에 Windows Programming 을 배운다고 한다면 기본적으로 GUI Programming 을 의미했다. Windows 가 기본적으로 GUI OS 이기에 기본이 이것이라고 생각하는 것이다. 하지만, GUI 는 어디까지나 'User Interface' 이다. 즉, 이건 Input/Output 에 대한 선택사항이다. 필요할때 공부하자. (하지만, 보통 User-Friendly 한 프로그램들은 대부분 GUI 이다.)
          * 내 생각엔 일단.. : 윈도우 컨트롤(VC 등의 리소스 편집기에서 제공 되는 모든 컨트롤들) 을 다루는 법을 완전히 습득 하자. 리스트 컨트롤, 트리 컨트롤, 탭 컨트롤 등의 모든 컨트롤을 자유자재로 원하는 모양(비트맵) 으로 바꿔서 사용할 수 있을때 까지 하자. 완전히 습득하면 어떤 프로그램이든 50% 이상 개발 기간이 단축될 것이다. -- ["김정욱"]
  • 큐와 스택/문원명 . . . . 2 matches
          // 만약 그공간이 OS의 보호아래 현재 프로그램이 접근할수 없는 영역이라면,
          // 프로그램은 죽습니다.
  • 큰수찾아저장하기/김태훈zyint . . . . 2 matches
          //이들을 깔끔하게 출력하는 프로그램을 작성하여라.
          //이들을 깔끔하게 출력하는 프로그램을 작성하여라.
  • 큰수찾아저장하기/허아영 . . . . 2 matches
          또 더 좀더 효율적인 프로그램만들기 위해선 어떻게 해야할까 ? 그리고 C언어의 장점을 살리는 방법이 뭘까?
  • 테트리스만들기2006/앞반 . . . . 2 matches
          == [테트리스만들기2006/앞반] ==
         [테트리스만들기2006]
  • 프로그래밍언어와학습 . . . . 2 matches
         하지만 이제는 컴퓨터 시스템에 대한 저차원적인 이해 없이도 얼마든지 뛰어난 프로그램을 만들 수 있는 영역이 늘어나고 있습니다. 언제든지 저차원에 대한 이해는 도움을 주지만 이제는 저차원의 정의가 조금 더 상향 조정된 문제 영역이 훨씬 많습니다. (컴퓨터 발전 초기에는 적용도메인이 협소했습니다)
         하드웨어를 "뼈 속 깊이 꿰뚫고 있는 사람"과 그런 거라곤 하나도 모르는 사람이 동일한 문제에 접근했을 때 후자의 경우가 더 훌륭한 프로그램을 더 빨리 산출해낼 가능성은 얼마든지 있습니다.
  • 프로그래밍잔치/둘째날후기 . . . . 2 matches
          * 오늘 하면서도 느꼈던 것은 고정관념을 버려야 한다는 것!! 어제 역시 새로운 언어를 해보면서 이전까지의 언어에서의 고정관념에 사로잡혀 허우적되는 나를 발견했었는데... 오늘도 또다시 고정관념을 버려야한다는 것을 느끼게 했다. 프로그래밍에서 디자인이 시간낭비라는 고정관념, 코딩이 가장 중요하다는 고정관념, 프로그램 개발에서 가장 많은 시간을 소비하는 부분은 코딩이라는 고정관념.... 반드시 버려야겠다. 디자인은 절대로 시간낭비가 아니라는것... 가장 중요한 것이 코딩이 아니라것... 프로그램 개발에서 가장 많은 시간을 소비해야 할 부분이 코딩이 아니라는것.... 꼭 기억해야 겠다. --["상규"]
  • 프로그래밍잔치/셋째날 . . . . 2 matches
          1. 먼저 간단한 문제에 대한 프로그램을 작성한다. 제한 시간이 짧으니 가장 빨리 짜도록 한다.
          관련 화일 : [http://zeropage.org/pub/WinMergeSetup.exe winmerge(화일비교프로그램)]
  • 하드웨어에따른프로그램의속도차이해결 . . . . 2 matches
          * 우리가 만든 프로그램이 어떤 하드웨어에서던지 일정한 속도로 돌아가기를 바라는 경우가 있다. 특히 게임을 만드는 경우가 대표적인 예이다. 그러한 경우 어떠한 해결책이 있는지 알아 보면 좋을거 같다. 여기에 그 해결책들을 적어 보고 잘못된 방법은 고치기도 하면서 좋은 방법을 찾으면 좋겠다.
          * 궁금한게 있는데, ["MFCStudy_2001/MMTimer"] 로 안된단 말이야? 가장 빠른걸로 알고 있어서, 동작 제어는 타이머단에서 하고, loop에서 열심히 그림 그려서 fliping만 해주면 되지 않을까? 낮에는 경황이 없어서, 그냥 멀티미디어 타이머 이야기만 했는데, winamp 같은 시간에 의존적인 프로그램들도 이 타이머를 사용해서 말이지. --["neocoin"]
  • 헝가리안표기법 . . . . 2 matches
         10, 15년전 Microsoft의 개발자중 헝가리 사람의 프로그래머가 쓰던 변수 명명법. MS내부에서 따라쓰기 시작하던 것이 점차 전세계의 프로그래머들에게 널리 퍼져 이젠 프로그램 코딩시 변수 명명의 표준적인 관례가 되었다.
         그러나 실제로 현장에서 일하다 보면 헝가리안 표기법을 제대로 지키는 개발자는 그리 많지 않다. 어느정도 개발경험을 가지고 있는 프로그래머는 물론 심지어 시중의 프로그래밍 서적에서 조차 저자마다 변수명을 개인에 따라 가지각색으로 짓고 있어서 처음 프로그램을 배우는 입문자들들이 변수 명명에 대한 기준을 제대로 잡지 못하고 있는 실정이다.
  • 호너의법칙 . . . . 2 matches
         호너의 법칙을 이용한 프로그램을 작성하여라.
         배열은 선언하고, 다항식에서 변수 x값은 표준입력받으세요. 예제 output에서는 변수 x = 1입니다. 출력은 output.txt파일에 한번 해보세요. 문제의 요구조건은 이정도 일것 같습니다. 좀 더 일반화된 프로그램을 만들고자 하는 분은 배열도 한번 입력받아 보세요. -- 보창
  • 호너의법칙/조현태 . . . . 2 matches
         프로그램 돌리면 에러가 뜹니다.
         register int i를 여러번 쓴 것은 메모리 낭비를 적게하려는 생각이었습니다. 그냥 메모리도 아니고 레지스터 메모리를 프로그램 시작부터 끝까지 잡고있을 필요는 없을것 같았답니다.^^
  • 1thPCinCAUCSE/ProblemA . . . . 1 match
         이렇게 시작 시각과 끝 시각이 주어질 때, 그 시간 구간 동안 시침과 분침이 몇 번 일치하는가를 계산하는 프로그램을 작성하시오. 시간 구간은 12 시간 미만이라 가정한다.
  • 1thPCinCAUCSE/ProblemC . . . . 1 match
         각 칸이 검은 색이나 흰색으로 칠해진 3*3 정사각형이 주어질 때, 이를 모두 흰색이 되도록 하는데, 누르는 회수를 최소로 하는 방법을 찾는 프로그램을 작성하시오.
  • 2005리눅스프로젝트<설치> . . . . 1 match
          *VMware-workstation-5 이란 가상 컴퓨터 프로그램입니다. 윈도우에서 VM으로 여러 윈도우를 설치 할수가 있습니다.(컴터사양이 딸리시는분은 느릴것입니다.)
  • 2ndPCinCAUCSE/ProblemB . . . . 1 match
         우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 문화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌이므로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌이므로 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오.
  • 2ndPCinCAUCSE/ProblemC . . . . 1 match
         N명의 아이들이 임의의 순서로 줄을 서 있을 때, 번호 순서대로 배치하기 위해 옮겨지는 아이의 최소 수를 구하는 프로그램을 작성하시오.
  • 3rdPCinCAUCSE/ProblemB . . . . 1 match
         네 개의 직사각형이 평면에 있는데, 밑변이 모두 가로축에 평행하다. 이 직사각형들이 차지하는 면적을 구하는 프로그램을 작성하시오. 이 네 개의 직사각형들은 서로 떨어져 있을 수도 있고, 겹쳐 있을 수도 있고, 하나가 다른 하나를 포함 할 수도 있으며, 변이나 꼭지점이 겹쳐질 수도 있다.
  • 3rdPCinCAUCSE/ProblemC . . . . 1 match
         M개의 쌍에 대한 결과를 보고 무게가 중간인 구슬이 될 수 없는 구슬의 개수를 구하는 프로그램을 작성하시오.
  • 5인용C++스터디/마우스로그림그리기 . . . . 1 match
         마우스를 이용하여 그림을 그릴 수 있는 프로그램 작성하기.
  • 5인용C++스터디/비트맵 . . . . 1 match
         사진과 같은 정밀한 그래픽을 프로그램 실행중에 일일이 그린다는 것은 괴장히 비합리적.
  • 5인용C++스터디/에디트박스와콤보박스 . . . . 1 match
          new 연산자로 에디트 객체를 만들었으므로 프로그램이 종료될 때 이 객체를 파괴해 주어야 한다. WM_DESTROY 메시지의 핸들러에 다음 코드를 작성하면 된다.
  • 5인용C++스터디/작은그림판 . . . . 1 match
         선, 사각형, 원을 그릴 수 있고 색칠을 할 수 있는 간단한 그림판 만들기.
  • 5인용C++스터디/후기 . . . . 1 match
         문법이 복잡하고 어려워서 정말 힘들었지만 그에 대한 두려움을 조금이나마 극복하게 된것 같습니다. MSDN 찾아보면서 숙제를 완성시키는 과정이 나름대로 만족스러웠습니다. MFC의 메시징 시스템 등의 체계, 윈도우 메시지의 작동 원리 등을 완벽히 이해하고 싶다는 생각이 듭니다. 스터디를 어떤 식으로 준비하고 발표해야될지 알게 되었고 윈도우 프로그램을 보면 어떤 식으로 만들었는지 대략 알 수 있는 능력이 생긴 것 같습니다. 다음 스터디부터 더욱 열심히 하고 싶습니다.
  • AM/20040803여덟번째모임 . . . . 1 match
          * 공부한 내용 : MFC 교재 2장(프로그램의 뼈대)
  • AM/20040817열한번째모임 . . . . 1 match
          * 파트1끝내고 알카노이드(벽돌깨기) 만들기??
  • AM/20040824열두번째모임 . . . . 1 match
          * 알카노이드 혹은 베네치아 만들기
  • AOI/2004 . . . . 1 match
         uva robot의 경우 보통 300 번 이상의 test case 를 쓰는 것 같습니다. 동적 메모리가 아닌 정적으로 할당할 경우 이 점을 유의(?)하지 않으면 RE error(포인터 에러)가 납니다. 보창은 이것때문에 하루종일 프로그램을 뜯어고쳤으나, 결국 우연한 기회에 알게 되었습니다. LCD-Display의 경우 robot은 1000줄 이상을 test하는 걸로 보여집니다. -- 보창
  • ATmega163 . . . . 1 match
          * 비휘발성 프로그램 과 데이타 메모리
  • AcceleratedC++ . . . . 1 match
         흠 처음 생각했던 것 보다 뒷 장의 내용이 좀 신선한 부분이 많다. 특히 14장에 Ptr 클래스는 정말로 신선하다. =.= C++로 프로그램을 짜면 이렇게 짤 수도 있구나 그런생각이;; - [eternalbleu]
  • AcceleratedC++/Chapter11 . . . . 1 match
         클래스를 설계할때에는 우선 인터페이스를 결정해야한다. 인터페이스의 결정에는 실제로 그 객체를 이용한 프로그램을 작성해보는 것이 좋다.
  • AcceleratedC++/Chapter15 . . . . 1 match
         15장은 5장에서 제시되었던 문자열 출력프로그램을 객체지향에 입각해서 설계하는 방법을 설명한다.
  • ActiveXDataObjects . . . . 1 match
         마이크로소프트 ADO(ActiveX Data Objects)는 데이터 소스에 접근하려고 고안된 COM객체이다. 이것은 프로그래밍 언어와 데이터 베이스 사이의 층을 만들어준다. 이 층은 개발자들이 DB의 구현부에 신경쓰지 않고 데이터를 다루는 프로그램을 작성하도록 해준다. ADO 를 이용할 경우, 데이터베이스에 접근하기 위해서 SQL 을 알 필요는 없다. 물론, SQL 커맨드를 수행하기 위해 ADO 를 이용할 수 있다. 하지만, SQL 커맨드를 직접 이용하는 방법은 데이터베이스에 대한 의존성을 가져온다는 단점이 있다.
  • Ant/BuildTemplateExample . . . . 1 match
          <!-- 배포를 위한 디렉토리 만들기 -->
  • AntTask . . . . 1 match
          <!-- 배포를 위한 디렉토리 만들기 -->
  • Apache . . . . 1 match
         무료 웹 서버 프로그램.
  • Applet포함HTML/영동 . . . . 1 match
         이상하네... 프로그램을 잘 못 짠 건가?[[BR]]
  • AttachmentMacro . . . . 1 match
         === 손톱 그림 만들기 지원 ===
  • BasicJAVA2005/실습2/허아영 . . . . 1 match
         Upload:내가처음만든자바프로그램2.bmp
  • BasicJava2005/3주차 . . . . 1 match
          * 숫자야구 만들기 : [BasicJAVA2005/실습1]
  • BeeMaja . . . . 1 match
         마야를 도와서 윌리가 쓰는 좌표계를 마야가 쓰는 좌표계로 변환해보자. 어떤 벌집 번호가 주어졌을 때, 그 번호를 마야의 시스템에서의 좌표로 변환해서 출력하는 프로그램을 만들어야 한다.
  • Boost/SmartPointer . . . . 1 match
          * 모든 객체에 스마트포인터를 쓰도록 프로그램 짜면 자바같은 느낌으로 짤수도 ...
  • BoostLibrary/SmartPointer . . . . 1 match
          * 모든 객체에 스마트포인터를 쓰도록 프로그램 짜면 자바같은 느낌으로 짤수도 ...
  • BuildingParserWithJava . . . . 1 match
         자바를 이용한 파서만들기, 기능추가하기
  • BusSimulation/조현태 . . . . 1 match
          뭔가 재미있어 보여서 만들기 시작했다.
  • C++스터디_2005여름/학점계산프로그램/문보창 . . . . 1 match
         꼭 본인이 모두 학점계산프로그램을 완성한 후 제 가 짠 코드와 비교해 보시기 바랍니다.
  • CORBA . . . . 1 match
          * 간단 분산 어플리케이션 만들기(["코바예제/시계"])
  • CVS . . . . 1 match
         버전 관리 프로그램 몇가지 : IBM의 CLEAR/CASTER, AT&T의 SCCS, CMU(카네기 멜론 대학)의 SDC, DEC의 CMS, IBM Rational의 {{{~cpp ClearCase}}}, MS의 {{{~cpp Visual SourceSafe}}}, [Perforce], SubVersion, AlianBrain
  • CanvasBreaker . . . . 1 match
          * 이미지 프로세싱 프로그램
  • CarmichaelNumbers . . . . 1 match
         주어진 정수가 카마이클 수인지 테스트하기 위한 프로그램을 만들어라.
  • ChainsawMassacre . . . . 1 match
         캐나다 벌목인 협회에서 최근에 연례 벌목 경진 대회를 개최했는데, 몬트리올과 뱅쿠버 사이에 있는 국립공원의 나무들이 많이 잘려나갔다. 경진 대회가 끝나고 벌목인들이 모두 모여 즐기기 위한 파티를 시작할 때가 되었다. 조직위원회에서는 이브닝 파티에 적합한 무도회장을 만들기 위해 나무가 한 그루도 없는 넓은 직사각형 모양의 공터를 찾고 있다. 벌목인들은 모두 술이 취해서 아무도 전기톱을 가지고 작업을 할 엄두를 못 내고 있다.
  • Chapter I - Sample Code . . . . 1 match
          수행시간 측정은 한 task 의 수행시간을 측정하기 위해서 한다. (당연한거 아냐?). 이 측정은 PC의 82C52 타이머 2번을 통해 수행된다. 수행시간 측정을 위한 함수로는 PC_ElapsedStart()와 PC_ElapsedStop()이 있다. 하지만 이 두 함수를 사용하기 전에 PC_ElapsedInit()를 호출해야한다. 이 함수는 두 함수와 관련된 오버헤드를 측정하는데 사용된다. 이렇게 하면 PC_ElapsedStop 함수에 의해 수행시간이 리턴된다(마이크로세컨드). 이 두 함수는 모두 리엔터런트(주 : 몇 개의 프로그램이 동시에 하나의 task나 subroutine을 공유하여 쓰는 것에 대해 말함, from 한컴사전) 하지 않아야한다. 다음은 PC_DispChar()함수의 측정시간을 구하는 예이다.
  • ChocolateChipCookies . . . . 1 match
         초코칩 쿠키를 만들기 위해 밀가루와 소금, 기름, 베이킹 소다, 초콜릿 칩을 섞어서 반죽을 만든 다음 가로, 세로 50cm의 정사각형 모양으로 밀어서 편다. 그리고 이 평평한 반죽을 원형으로 잘라서 쿠키판 위에 놓은 다음 약 20분 동안 오븐에서 굽는다. 쿠키가 다 되고 나면 오븐에서 꺼내서 식힌다.
  • CincomSmalltalk . . . . 1 match
          * 연결 프로그램으로 압푹을 푼 디렉토리 안에 있는 bin\win 디렉토리 안에 있는 visual.exe 를 지정해준다.
  • ClassifyByAnagram/sun . . . . 1 match
          * 분석: 예전에 우스개 소리로, 프로그램을 빠르게 하려면 컴퓨터를 업그레이드 하라더니, 웃을일이 아니다 -_-;
  • CleanCode . . . . 1 match
          * EJB, Spring ... : 해당 framework에서 제공하는 다양한 방법들을 통해 xml, annotation 등의 간단한 설정으로 횡단 관심사에 관한 코드를 작성하지 않고도 해당 기능들을 자신의 프로그램에 넣을 수 있다.
  • ClearType . . . . 1 match
          * [http://www.microsoft.com/typography/cleartype/tuner/Step1.aspx ClearType Tuner]라는 프로그램으로 세부적인 클리어타입 셋팅을 할 수 있다.
  • Code/RPGMaker . . . . 1 match
         = Orthogonal projection coordinate system 만들기 =
  • CommentEachOther . . . . 1 match
         전에도 느꼈었고, 여러 대가들께서도 자주 말씀하시곤 하는데, 자신의 코드의 퀄리티를 높이려면 남이 만들어놓은 소스를 보라는 이야기가 있다. 이 글을 읽는 분들도 동의하리라 생각한다. CommentEachOther 는 [AOI]나 LittleAOI 처럼 여러 사람이 한 문제에 대한 풀이를 올리고 그것들에 대한 코멘트를 하는 스터디라 할 수 있겠다. 여기서 코멘트라 함은 소스코드에서 명령문 옆에 붙이는 간단한 부연설명이 될 수도 있겠고, 코드 전체에 대한 비평이나 느낌일수도 있다. 처음에는 간단한 문제로 시작해서 디자인 principle 이 들어가있는 프로그램으로 횟감의 스케일을 키워나가는게 어떨까 생각을 한다. 나는 그냥 제안하는 입장이고, 간혹 간단하게 작성한 소스를 올리는 정도로만 참여하도록 하고, 적극적인 참여를 할 사람들이 생기면 이곳에 문제와 자신의 코드를 올리고 토론을 해봤으면 좋겠다. 토론의 방법이야 오프라인 모임에서 하거나 따로 코멘트 페이지를 만들거나. 자. 다들 어떻게 생각하시는지? 참여할분들(!) 계시면 아래에 참여자 목록과 문제를 업로드해 주셨으면.~ - 임인택
  • CompilerTheory/ManBoyTest . . . . 1 match
         Donald Knuth 가 Algol 60의 구현 정도를 판변하기위해서 만든 프로그램. 테스트의 목적은 올바르게 구현된 scoping rule, call-by-name의 구현 정도를 판별해서 boys(algol 60 구현물)들중에서 men (쓸만한 놈)을 가려내는 용도로 고안되었습니다.
  • CompleteTreeLabeling . . . . 1 match
         입력 파일은 여러 줄로 구성된다. 각 줄에는 두 개의 정수 k와 d가 들어있다. k>0이며, 이 값은 k진 완전 트리의 분기계수를 나타낸다. d>0며, k진 완전 트리의 깊이를 나타낸다. k X d ≤21인 모든 k와 d에 대해 작동하는 프로그램을 만들어야 한다.
  • CompleteTreeLabeling/조현태 . . . . 1 match
          일단 만들기는 했지만.. 조건을 만족시키지 못한다.
  • ComputerNetworkClass/2006 . . . . 1 match
          * 프로그램들 - 아래 두개 모두 다운 받아야 합니다.
  • ComputerNetworkClass/Report2006/PacketAnalyzer . . . . 1 match
         상기와 같이 기존의 서버 프로그램과 다른 점은 별로 없다. (Listen과 accept가 없네요. WSAIoctrl에서 다 처리하는건지...) 단지 소켓을 ioctrl 로 조정해서 ip 수준에서 올라오는 패킷을 기존과 다르게 처리할 뿐이다.
  • ConstructorMethod . . . . 1 match
         하지만 이 방법은 쓸만한 인스턴스를 만들기 위해 클래스의 레퍼런스를 찾아봐야 하는 등의 골치 아픈 문제가 있다. 특히 클래스가 복잡할때는 문제가 좀 커진다.
  • CppStudy_2002_1 . . . . 1 match
         상협. [STL/string|String] 클래스의 스펙을 어떻게 주었는지? 사람들이 왜 전부 String 이용 프로그램 GOD 클래스를 만드는걸까 궁리.
  • CppStudy_2002_1/과제1 . . . . 1 match
          * 영동의 소스 : 먼저 전체적으로 02학번의 경향이 전역 변수를 쉽게 선언하는거 같다. 전역변수는 나중에 프로그램이 커질 경우에는 다른 여러 변수와 헷갈릴 수 있기 때문에 가능하면 피하는게 좋다.
  • CuttingSticks . . . . 1 match
         절단 순서에 따라 요금이 달라진다는 것은 그리 어렵지 않게 알 수 있다. 예를 들어 10미터짜리 막대를 한 쪽 끝으로부터 2, 4, 7미터 위치에서 자르는 경우를 생각해보자. 자를 수 있는 방법은 매우 다양하다. 처음에 2미터 위치에서 자르고 그 다음에 4미터 위치, 마지막으로 7미터 위치에서 자를 수도 있다. 이렇게 하면 요금은 10+8+6=24가 된다. 첫번째 막대는 10미터였고, 그 다음 막대는 8미터였고, 마지막 막대는 6미터였기 때문이다. 하지만 일단 4미터 지점에서 자르고 2미터 지점에서 자른 다음 마지막에 7미터 지점에서 자르면 요금이 10+4+6=20이 되므로, 앞에서 잘랐던 방법으로 하는 것보다 요금을 줄일 수 있다. 어떤 막대가 주어졌을 때, 최소 절단 요금을 구하는 프로그램을 만들어보자.
  • C언어정복/3월30일 . . . . 1 match
         4. 프로그램 가독성
  • C언어정복/3월30일-숙제 . . . . 1 match
         1. 인치(inch) 단위를 센티미터 단위로 변환하는 프로그램을 사용자에게 입력을 받고, 계산된 값을 출력하라. (1in = 2.54cm)
  • DataCommunicationSummaryProject/Chapter9 . . . . 1 match
          * 홈테트워킹을 위해서 싸고 간단한 네트워킹을 만들기로했다.
  • DesktopDecoration . . . . 1 match
          Yahoo가 사들인뒤로 무료로 배포되는 위젯 프로그램. 최초에 나온후로 Mac이 배껴서 MacOSX에 고대로 넣어버린 그 기능이다. 각각의 윗젯들은 독립된 프로세서로 인식되며 Konfabulator 가 관리를 하는 그런 식이다. 따라서 위젯에 따라서 자치하는 메모리의 양이나 리소스가 천차만별이다.
  • DevCppInstallationGuide . . . . 1 match
         └'''기본언어로 설정'''을 해주면 선택사항이 고정됩니다. 프로젝트 이름은 프로그램 이름이라고 생각하면 됩니다.
  • DevelopmentinWindows/APIExample . . . . 1 match
         = 윈도우즈 API를 이용한 예제 프로그램 =
  • Direct3D . . . . 1 match
         ( 참고로 자신이 생성한 객체를 릴리즈하지 않으면, 프로그램 종료시 에러를 낸다. )
  • DoWeHaveToStudyDesignPatterns . . . . 1 match
         우선 효율성과 순서의 문제입니다. DesignPatterns는 이미 해당 DesignPatterns를 자신의 컨텍스트에서 나름대로 경험했지만 아직 인식하고 있지는 않는 사람들이 공부하기에 좋습니다. 그렇지 않은 사람이 공부하는 경우, 투여해야할 시간은 시간대로 들고 그에 비해 얻는 것은 별로 없습니다. 어찌 보면 아이러니칼하지만, 어떤 디자인 패턴을 보고 단박에 이해가 되고 "그래 바로 이거야!"라는 생각이 든다면 그 사람은 해당 디자인 패턴을 공부하면 많은 것을 얻을 겁니다. 하지만, 잘 이해도 안되고 필요성도 못 느낀다면 지금은 때가 아니라고 생각하고 책을 덮는 게 낫습니다. 일단은 다양한 프로그램들을 "처음부터 끝까지" 개발해 보는 것이 중요하지 않나 생각합니다. (see also [WhatToProgram])
  • DocumentObjectModel . . . . 1 match
         대부분의 XML파서들 그리고 XSL 처리기들은 트리구조를 사용할 수 있도록 개발되었다. 그러한 구현물들은 메모리 안에서 문서의 전체 내용이 파싱되고 저장되는 것이 필요했다. 따라서 DOM은 임의로 접근하고 다루어 질 수 있는 document 요소를 가지는 응용프로그래에서 사용하기좋다. XML기반의 응용프로그램들이 한번 파싱을 할때 읽거나, 쓸수 밖에 없기 때문에 DOM은 메모리 상에서 상당한 오버헤드적 요소를 가지고 있다. SAX 모델은 속도, 메모리의 비효율성 면에 있어서 이점을 가진 모델이다.
  • DrawingToy . . . . 1 match
         MFC를 익히기 위해 [강희경]이 고안해낸 프로그램.
  • Eclipse . . . . 1 match
         ||Ctrl+Space ||자동완성. 퀵픽스에 버금가는 사기 기능. 내가 무슨 기능을 쓸 수 있는지 자바독과 함께 보여주며 엔터만 치면 구현을 끝내주는 역할을 한다. 혹자는 퀵픽스와 자동완성, 그리고 JUnit만 있으면 어떤 프로그램이든 만들 수 있다고 한다.||
  • EightQueenProblem2Discussion . . . . 1 match
         놓인 자리를 알려주고 끝난다.) 이 적은 것을 토대로 코딩을 하였고 처음 여왕은 0,0에 놓았습니다. 생각한대로 코딩을 했다고 생각하고 실행을 하자 무한루프를 돌았습니다. 전 처음 여왕이 어느 위치에 놓이던간데 거기에 맞는 답이 있는거라고 생각했는데 그것이 잘못되었다고 생각합니다. 처음부터 이 문제의 답을 알고있었다면 프로그램을 짜는데 좀더 간결한 코드를 짤수있었을텐데 란생각이 들어서 코딩을 멈추고 종이를 꺼내 문제를 풀기 시작했습니다. 하지만 답은 나오지않았고 제가푸는방식(여왕을 먼저 아무위치에나 놓고 그위치에 맞게 가로세로대각선에 없는 곳에 놓는다)을 그냥 코딩을 하였습니다. 처음 여왕의 위치를 8*8에 돌아가면서 놓고 검사를 하였습니다. 무식하긴하지만 답은 나왔습니다. 두번째 과제는 처음 코딩할때부터 판의 크기와 여왕의 숫자를 define해서 썻기 떄문에 숫자만 바꾸어 주었습니다. 하지만 답이 맞는지 확신이 서지 않습니다. 그이유는 이문제의 대한 알고리즘을 모르기 때문이라고 생각합니다. 그리고 c++을 썻는데 방학동안 쭉 자바로 플밍하다가 c++을 쓴이유가 비주얼툴의 디버깅을 이용하려는 생각이었는데 무슨문젠지 디버깅을 할수없어서 참 난감했습니다. 디버깅하면 금방알수있는 문제를 눈으로 차근차근 훓으면서 봐야했습니다. --최광식
  • EightQueenProblemSecondTry . . . . 1 match
         이번에는 소스코드를 모두 삭제하고, 맨땅에서 다시 시작을 합니다. EightQueenProblem을 만족하는(즉 하나의 해법만 얻는) 프로그램을 다시 한번 작성합니다. 자신이 처음 EightQueenProblem을 풀면서 얻었던 통찰(insight)만을 이용하고, 가능하면 더 깔끔한 해답을 얻으려고 노력하면서 말이죠.
  • EventDrvienRealtimeSearchAgency . . . . 1 match
          * 그러면 해당 서버에 있는 EDRSA 들은 해당 웝에 대한 모니터링을 신청한 각 사용자들에게 각 사용자들이 입력한 키워드에 따라서 해당되는 내용들만 해당 사용자의 클라이언트 프로그램에 전송해준다.
  • ExtremeBear . . . . 1 match
          * ["ExtremeBear/VideoShop"] - 비디오샵 프로그램 프로젝트
  • ExtremeBear/OdeloProject . . . . 1 match
          비디오 샵 관리 프로그램을 좀 길게 여유롭게 생각해보면서 해보도록 하였다.
  • Factorial . . . . 1 match
         == Factorial을 구하는 프로그램을 작성한다. ==
  • Factorial2 . . . . 1 match
         임의의 수 A 에 대한 Factorial 을 구하는 프로그램을 작성하시오. (A 는 20이상이 될 수 있습니다.)
  • FortuneMacro . . . . 1 match
         Fortune 매크로 플러그인은 GNU fortune프로그램을 이용한 매크로입니다.
  • FromCopyAndPasteToDotNET . . . . 1 match
          * 예제 프로그램
  • GDBUsage . . . . 1 match
         해당 인자값을 구조 프로그램이 실행된다. 브레이크 포인터 설정을 통해서 진행을 중지하는 것이 가능하다.
  • Gnucleus . . . . 1 match
         그누텔라 프로토콜에 기반을둔 윈도우용 프로그램. 다른 그누텔라 구현물과 비교하여 특별한 기능상의 장점은 없지만...
  • Gof/Command . . . . 1 match
         MyClass의 instance로 있는 Action을 호출할 command를 만들기 위해서, 클라이언트는 단순히 이렇게 코딩한다.
  • Gof/Composite . . . . 1 match
         RTL Smalltalk 컴파일러 프레임워크 [JML92] 는 CompositePattern을 널리 사용한다. RTLExpression 은 parse tree를 위한 Component 클래스이다. RTLExpression 은 BinaryExpression 과 같은 서브클래스를 가지는데, 이는 RTLExpression 객체들을 자식으로 포함한다. 이 클래스들은 parse tree를 위해 composite 구조를 정의한다. RegisterTransfer 는 프로그램의 Single Static Assignment(SSA) 형태의 중간물을 위한 Component 클래스이다. RegisterTransfer 의 Leaf 서브클래스들은 다음과 같은 다른 형태의 static assignment 를 정의한다.
  • Googling . . . . 1 match
         구글로 만든 장난감 프로그램들이 많이 있다.
  • HanoiProblem . . . . 1 match
         재귀함수가 사용되는 대표적인 예 몇가지를 보여줍니다. 재귀함수 사용에도 그 종류가 다른데, 대표적인 종류들을 보여주는 것이 중요합니다. "아, 재귀함수라는 것이 이렇게도 사용될 수 있구나!" 퍼뮤테이션/콤비네이션, 피보나치수열, 트리검색, 팩토리알, 조건문과 재귀호출로 반복문(while) 만들기 등이면 충분하지 않을까 합니다.
  • HanoiProblem/영동 . . . . 1 match
         end main ;프로그램 종료
  • HardcoreCppStudy . . . . 1 match
          * 이번주 담당자의 사정으로 쉽니다. 숙제로 두번째 숙제에 있는 성적정렬프로그램 짜오세요. 교재로 공부해서.
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 1 match
         상속이란, 기존에 만들어 놓은 객체들로 부터 모든 변수와 메소드를 물려 받아 새로운 객체를 만들 수 있다는 것을 뜻한다. 즉, 새프로그램을 만들 때 기존의 자료를 이용해(상속받아) 새롭게 정의하여 사용한면 된다는 것이다. 이로인해 부수적으로 프로그래밍의 노력이 줄고 시간 단축되며 그리고 OOP의 가장 중요한 재사용성(Reusability) 얻을 수 있다. 델파이는 TObject라는 최상위 객체로부터 상속시켜 단계적으로 하위 객체들을 생성해 만들어진 구조를 지니고 있다.
  • HardcoreCppStudy/첫숙제 . . . . 1 match
          * 마방진 만들기 // 데블스 캠프 참가자와 불참가자간의 균형을 맞추기 위해 함. 마방진을 풀 수 있는 사람은 랜덤워크도 해볼것. 일단 배열 동적할당은 안 해도 되고 5*5칸으로 해도 됨.
  • HelpContents . . . . 1 match
          * ["새페이지만들기"] - 새 페이지를 여는 방법
  • HelpForBeginners . . . . 1 match
         누구나 어떠한 페이지라도 고칠 수 있으며, 페이지간의 보다 손 쉬운 연결, 쉬운 서치환경, 그리고 현 위키에 있지 않는 페이지에 대해 새로운 페이지를 만들기 쉬운 어포던스를 제공합니다.
  • HelpOnInstallation . . . . 1 match
          * 윈도우즈 사용자의 경우는 아파치 웹서버를 제외한 PHP + rcs + 기타 몇몇 프로그램이 함께 패키징 된 apmoni-setup-1.1.x.exe를 제공합니다.
  • HelpOnPageCreation . . . . 1 match
         == 페이지 만들기 ==
  • HowBigIsIt? . . . . 1 match
         이안이 캘리포니아로 이사를 가기 위해 짐을 싸고 있는데, 지금까지 모은 원도 포장해야 한다. 일련의 원이 주어졌을 때 그 원들을 모두 집어넣을 수 있는 가장 작은 직사각형 상자의 크기를 구하는 프로그램을 만들어야 한다.
  • HowManyFibs?/1002 . . . . 1 match
          * 그럼에도 불구하고.. '정말 big integer 만들기' 문제였을까? 다시금 고민하게 되다.
  • IntegratedDevelopmentEnvironment . . . . 1 match
         종종 일반 Text editor가 너무나 많은 기능을 제공하는 나머지 IDE랑 헷갈리기도 한다. vim의 plugin을 깔거나 sublime을 잘 설정하면 IDE부럽지 않게 사용할수 있으나 해당 프로그램은 기본적으로 TextEditor이다. plugin을 통해서 지원하는 기능은 사실상 통합된 기능이라 보기 어렵기 떄문이다.
  • JTDStudy/두번째과제/장길 . . . . 1 match
          t.setName("애플릿 내에서 창 만들기");
  • JavaScript/2011년스터디/7월이전 . . . . 1 match
          * 정말로 간만에 javascript 스터디를 시작했습니다ㅠ 전에 하던 json2.js 분석(읽기?)을 하는데 전에 하던것이 기억이 안나서 고생했습니다. javascript의 새로운 과제로는 Dongeon and Dragon!!(가명)이라는 게임을 만들기로 했습니다. javascript외에도 HTML이라던가 CSS등의 것들도 기억이 나질 않아서 지워저 버린 기억을 복구하는 것을 우선시 해야겠습니다. - [박정근]
  • JavaStudy2002/해온일 . . . . 1 match
          * 세연 : 평소의 프로그램이 하던것과 달라서 신기하다. 이것이 좋은 방법인지 모르겠다.
  • JavaStudy2004/MDI . . . . 1 match
          * MDI를 처리할 수 있는 구조 만들기
  • KIV봉사활동 . . . . 1 match
          * 김준석(총무) : 한과, 약, 연수기, 프로그램 셋팅
  • KentBeck . . . . 1 match
         ExtremeProgramming의 세 명의 익스트리모 중 하나. CrcCard 창안. 알렉산더의 패턴 개념(see also DesignPatterns)을 컴퓨터 프로그램에 최초 적용한 사람 중 하나로 평가받고 있다.
  • LC-Display . . . . 1 match
         한 친구가 방금 새 컴퓨터를 샀다. 그 친구가 지금까지 샀던 가장 강력한 컴퓨터는 공학용 전자 계산기였다. 그런데 그 친구는 새 컴퓨터의 모니터보다 공학용 계산기에 있는 LCD 디스플레이가 더 좋다며 크게 실망하고 말았다. 그 친구를 만족시킬 수 있도록 숫자를 LCD 디스플레이 방식으로 출력하는 프로그램을 만들어보자.
  • LIB_2 . . . . 1 match
         이 프로그램이 복귀 가능하게 만들 경우 TSR을 이용한다..근데 지금은 필요 없는듯...
  • LIB_3 . . . . 1 match
         우선 내가 만든 프로그램에서 스케줄링을 담당하는 큐는 대략
  • LUA_3 . . . . 1 match
         조건문은 조건에 따라서 프로그램의 흐름을 바꾸는 역할을 합니다. 예를 들면 어떤 값이 1 보다 크면 A 라는 명령을 그렇지 않으면 B라는 명령을 수행 하도록 합니다. 대표적으로 if 문을 들 수 있습니다. 지금부터 루아의 제어문을 살펴 보겠습니다.
  • Linux . . . . 1 match
         리눅스와 비슷한 운영체제로는 정통적인 유닉스 클론 이라고 평가받는 [:FreeBSD BSD]계열이 있다. BSD계열중 가장 잘알려진 [http://www.kr.freebsd.org FreeBSD]의 경우 실제로 과거부터 hotmail.com, yahoo.com, cdrom.com 을 운영해온 네트워킹에 대한 안정성이 입증된 운영체제이다. 실제로 2.6커널의 도입이전에는 BSD의 네트워킹이 더욱 뛰어나다는 평가를 받았지만 일반적인 의견이었으나, 많은 구조적 변경을 통해서 리눅스는 현재 이런 점을 극복하고 BSD와 리눅스를 선택하는 것은 운영자의 기호일 뿐이라는 이야기를 한다. 최근에는 리눅스를 데스크탑의 용도로 까지 확장하려는 노력의 덕분에 로케일 설정관련 부분이 대폭 강화되었으며, 사용자 편의성을 고려한 WindowManager인 [Gnome], [KDE] 등의 프로그램이 대폭 강화되면서 low-level 유저라도 약간의 관심만 기울인다면 충분히 서버로써 쓸 만한 운영체제로 변모하였다.
  • LispLanguage . . . . 1 match
         [1002]의 경우 XLISP 라는 윈도우용 프로그램 사용했었다. 언어 자체를 익히는데 최소한의 기능을 제공하는 인터프리터.
  • MFC Study 2006 . . . . 1 match
          || 11월 9일 || API나 MFC를 이용하여 윈도우 창을 띄우고 x by x 의 보드를 그리는 프로그램 ||
  • MFC/Control . . . . 1 match
         || 버튼 컨트롤 || 한번의 마우스 클릭으로 응용프로그램과 통신. 라디오 버튼은 다른 버튼과 그룹으로 묶여서 다중 선택이 불가능하도록 한다.[[BR]]반면 체크박스는 개별적인 선택이 가능하다. [[BR]]푸시 버튼은 일반적으로 대화상자를 닫는데 사용된다. ||
  • MFC/Print . . . . 1 match
         || m_bDocObject || 응용프로그램이 lPrint 인터페이스를 통하여 출력하면 TRUE로 설정되며, 그렇지 않은 경우에는 FALSE이다. ||
  • MFCStudy2006/Server . . . . 1 match
          * 메신저를 만들기 위한 Server구현
  • MFCStudy_2002_2 . . . . 1 match
          열심히 해서 훌륭한 프로그램을~ ㅋㅋㅋ... -상욱["whiteblue"] [[BR]]
  • MagicSquare/동기 . . . . 1 match
          cout<<"마방진 작성 프로그램입니다. 홀수를 입력하세요 >> ";
  • MemoryUsageInJava . . . . 1 match
         자바로 작성된 프로그램에서 사용된 메모리 크기 측정. 외부에서 import 된 모듈에서 사용하는 메모리도 측정되는지는 잘..-_-a
  • Minesweeper/이도현 . . . . 1 match
         이번에는 처음으로 Presentation Error를 여러번 받았다. 이것은 프로그램이 도출하는 답은 맞으나 출력형식이 잘못된 경우 발생한다.
  • ModelViewPresenter . . . . 1 match
         C++, Java 의 다음 세대 프로그래밍 모델. Smalltalk 의 고전적인 MVC 프로그래밍 모델에서 나왔으며, 다양한 번위의 어플리케이션과 컴포넌트 개발 테스크를 위한 강력하면서 이해하기 쉬운 디자인 방법론. 이 개념의 framework-based 구현물은 MVP 를 em쓰는 개발 프로그램에 훌륭한 가치를 더해준다. MVP는 또한 다중 client/server 나 multi-tier 어플리케이션 아키텍쳐에도 적합하다. MVP 는 IBM 의 대부분의 OO Language 환경들에 대해 단일한 개념의 프로그래밍 모델을 제공해 줄 수 있을것이다.
  • MoreEffectiveC++/C++이 어렵다? . . . . 1 match
          [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fEfficiency#head-fe2478216366d160a621a81fa4e3999374008afa Item 24 Virtual 관련], [http://zeropage.org/moin/moin.cgi/MoreEffectiveC_2b_2b_2fMiscellany#head-ce86e4dc6d00b898731fbc35453c2e984aee36b8 Item 32 미래 대비 프로그램에서 String문제]
  • MoreEffectiveC++/Operator . . . . 1 match
         수많은 개발자들이 이런 단순한 원리를 프로그램 상에서의 짧은 진행(short-circuit)을 추구하는데 사용하였다. 그렇다면 C++에서의 객체들에게 operator ||, && 를 overload 시키면 짧은 진행을 추구하는데 도움이 되지 않을까? 그런데 하지 말라니 왜일까? [[BR]]
  • MultiplyingByRotation . . . . 1 match
         프로그램은 이동 곱셈속성을 갖는 숫자중 가장 작은 첫 번째 숫자의 자리 개수를 출력한다.출력 파일도 텍스트파일로 한다. 입력되는 데이터순서에 맞추어 결과를 한 줄씩 출력한다.
  • NSIS/예제3 . . . . 1 match
          ; 윈도우 프로그램추가/삭제 관리자를 위한 Uninstall 관련 key를 레지스트리에 저장
  • NumericalAnalysisClass/Report2002_1 . . . . 1 match
         Cubic Spline 함수를 계산하기 위해서는 Tri-Diagonal Matrix 에 대한 해를 구할 수 있어야 한다. 다음과 같이 주어진 Tri-Diagonal Matrix 시스템의 해를 계산하는 프로그램을 작성하시오.
  • OOD세미나 . . . . 1 match
          * 원래 정말 철저하게 절차지향적으로 프로그래밍 하던 사람이라... 오늘 내용이 좀 어려웠습니다;; 특히 그냥 들을때는 이해하면서 넘어가도, 실제 프로그래밍을 하려니까 막막하더라구요. 마지막 실습때 질문도 했었는데, 형은 if문 안에서 Comparer 객체를 선언해서, equals 함수를 사용하라고 하셨는데, 전 if문 안에서 객체를 생성할 생각조차 하지 못했었거든요. 그저 주어진 정보만 가지고, 반복문을 돌릴 생각뿐이었죠; 그런데 집으로 돌아오면서 생각해봤는데, 제가 짠대로 하면 '''“단일 변화로 인한 수정 사항을 예측 가능한 범위 내에 집중시켜라.”''' 라는 말과는 거리가 한 참 멀어지더라구요;; 예측은 가능한데 예측범위가 프로그램 소스 코드 전~부 라는거죠. 덕분에 "아, 정말 이런거 때문에 OOP를 하라는 거구나" 라는걸 알게 되었습니다 ㅋㅋ
  • OOP . . . . 1 match
          * [Implementation](구현 : 인간의 개념 속에 존재하는 생각과 사상 등을 실제 물리적인 객체로 구성하는 일련의 작업. 예를 들어 새로운 구조의 컴퓨터 시스템을 만들어 내는 작업과 설계 과정을 거쳐서 전달된 내용을 실제 프로그램으로 구성하여 컴퓨터에서 사용할 수 있도록 하는 작업 등이 모두 구현 작업의 한 가지에 해당된다고 할 수 있다. : 정보문화사 컴퓨터 용어사전 발췌)
  • PHP Programming . . . . 1 match
         [혜영생각] 우리홈만들기에서 홈페이지 안에 카운터나 게시판을 넣고 싶어서. 내가 만든 것으로 내 홈을 꾸미고 싶어서... [[BR]]
  • PPProject/Colume2Exercises . . . . 1 match
         다소 여유를 가지고 PairProgramming 을 했다. 혼자 할때보다 문제 파악이 잘 되었고 뭔가 탁 트인 느낌이 들었다. 아쉬운 점이라면 문제 해결에 너무 매달려서 리펙토링을 게을리한 결과 우아한 프로그램을 완성하지 못했다. 늘 그렇듯이 역할에 맞는 변수명 붙이기는 어렵다. 짧았지만 흥미진진한 시간이었다.
  • PairProgrammingForGroupStudy . . . . 1 match
         이렇게 pairing을 할 수 있겠죠. 역시 아까와 동일한 태스크를 수행합니다. 대신 좀전 pairing에서 얻은 지식을 기반으로 좀 더 나은 프로그램을 새로 작성하는 겁니다. 각자 이전 경험이 다르므로(다른 사람과 짝짓기를 했으므로) 둘이 협력하면 서로 가르쳐 주고 배우면서 시너지 효과를 낼 수도 있습니다.
  • PowerOfCryptography/조현태 . . . . 1 match
          cout << "결과값에 1을 입력할경우 프로그램이 끝납니다.\n";
  • PrimaryArithmetic . . . . 1 match
         초등학생들이 여러 자리 수의 덧셈을 배울 때는 한 번에 한 자리씩 오른쪽에서 왼쪽으로 계산하도록 배운다. 그런데 그 자리 숫자의 합이 10을 넘어갈 때 그 윗자리 숫자에 1을 더해주는 것을 배울 때 많은 학생들이 힘들어한다. 일련의 덧셈 문제가 주어졌을 때 자리를 올리는 횟수를 세어서 선생님들이 학생들을 가르치는 데 도움을 줄 수 있는 프로그램을 만들어야 한다.
  • ProgrammingLanguageClass/2006/EndTermExamination . . . . 1 match
         b) 일반적으로 서브프로그램의 파라메터 전달시 참조유형으로 전달해야하는가를 묻는 문제.
  • ProgrammingLanguageClass/Report2002_1 . . . . 1 match
          * 프로그램 소스코드 및 실행파일이 든 디스켓
  • ProgrammingPearls/Column1 . . . . 1 match
         이것의 수행시간은 Θ(n)이다. 이 챕터는 문제를 주의 깊게 분석하다 보면, 가끔 엄청난 이득을 가져다 줄때가 있다는 교훈을 주고 있다. 문제 정의는 문제 풀이의 90프로다. 일반적으로 많은 공간을 사용하면 적은 시간이 소요된다고 한다. 그런데 비트맵 소트는 시간도 줄고, 공간도 줄어들었따. 적은 데이터를 다루는 것은, 그것을 수행하는 데에 더 적은 시간이 든다는 것이다. 그리고 데이터를 디스크에 두기 보다는 메모리 상에 두는 것이 디스크 액세스 같은 시간 걸리는 일을 줄일 수가 있는 것이다. 프로그램을 간단하게 짜자. 유지보수도 쉽고, 견고할 것이다.
  • ProgrammingPearls/Column6 . . . . 1 match
          * 어떤 프로그램이 1년 걸렸었는데 단계별로 쪼개서 튜닝을 했더니 하루만에 되더라하는 내용이 씌어있다.
  • ProjectAR/ThinkAbout . . . . 1 match
         == 프로그램의 핵심적 요소들 ==
  • ProjectAR/기획 . . . . 1 match
          있을껀 있어야 하겠지만 직접 입력이 되야 하는 데이터를 줄이자는 이야기이죠^^; 어떤 공식을 따라 계산이 되고 기본적인 데이터만 가진다면 프로그램 하는데 있어서 더욱 편하지 않을까 하네요 -[상욱]
  • ProjectPrometheus/AcceptanceTest . . . . 1 match
          * 테스트 프로그램 소스 열기 링크 추가.
  • ProjectPrometheus/AcceptanceTestServer . . . . 1 match
         Acceptance Test 환경 만들기 - Python 으로 작성. 165.194.17.55 에서 AcceptanceTest 웹서버 돌리기.
  • ProjectPrometheus/Iteration2 . . . . 1 match
         || 임의의 Data set 만들기 || 0.5 || ○ (30분) ||
  • ProjectPrometheus/LibraryCgiAnalysis . . . . 1 match
         또는 웹 필터 프로그램인 Proxomitron 을 이용할 수도 있다. (http://proxomitron.cjb.net/) 개인적으로는 webdebug 가 더 해당 폼 값/헤더 값만 보기엔 편했던걸로 기억.
  • ProjectPrometheus/개요 . . . . 1 match
         전부 다 만들기엔 시간과 용기가 부족한 사람들은 기존 시스템에의 랩퍼(wrapper)를 만들 수도 있다.
  • ProjectSemiPhotoshop/Journey . . . . 1 match
          * 상민이와 한 프로그램의 스타일이 달라서 나중에 세미 포토샵을 공동을 작업할 때에는 어느 정도 비슷하게 맞춰야할 것으로 보여..-.ㅡ 아직 뭘 모르는 나의 눈에는 그렇게 보였음.
  • ProjectSemiPhotoshop/계획서 . . . . 1 match
          * 다음일정 까지 해올 시험 프로그램 임무 부여
  • ProjectSemiPhotoshop/기록 . . . . 1 match
          * 다음일정 까지 해올 시험 프로그램 임무 부여
  • ProjectVirush . . . . 1 match
         로그인 클라이언트 로그인, 가입화면 만들기 1.5
  • ProjectZephyrus/Thread . . . . 1 match
          ''혼자서 플밍할때에도 자주 발생하는.. ^^ 다른 프로그램들 플밍하다가도 비슷한 패턴의 코드들이 많이 보여서 그런 건 따로 utility class 식으로 디렉토리 따로 두고 관리하고 했었죠. 프로젝트 진행중에는 다른 사람들 소스를 지속적으로 같이 봐 나가면서 생각해야겠군요. CVS 로 한곳에 소스를 모으면 도움이 될 것이라 생각. --석천''
  • ProjectZephyrus/ThreadForServer . . . . 1 match
         이 아주 간단하고 단순한 프로그램을 수행하기 위해서 아래의 두가지 라이브러리가 필요 하다. 다운 받아서 클래스 패스에 잡아 놓기 [[BR]]
  • ProjectZephyrus/간단CVS사용설명 . . . . 1 match
          내컴퓨터->등록정보->고급->환경변수->새로만들기(N)
  • PyIde/SketchBook . . . . 1 match
         Python 으로 HTML Code Generator 를 작성하던중. 좀 무식한 방법으로 진행했는데, 원하는 HTML 을 expected 에 고스란히 박아놓은 것이다. 이는 결과적으로 test code 를 네비게이팅 하기 어렵게 만들었고, 해당 Generating 되는 HTML 의 추상도도 상당히 낮게 된다. 한화면에 보여야 할 HTML 데이터도 많아야 한다. 이는 결국 내가 에디터 창을 최대로 놓게 만들더니, 더 나아가 에디터 창의 폰트 사이즈을 11에서 8정도로 줄이고 모니터를 앞당겨 보게끔 만들었다. (15인치 LCD 모니터여서 해상도가 최대 1024*768 임.) 해당 상황에 대해 사람이 맞추는 것이 좋을까, 또는 툴의 Viewing 이 도움을 줄 방법이 있을까, 또는 사람이 이를 문제상황으로 인식하고 프로그램 디자인을 바꾸게끔 하는것이 좋을까.
  • PyOpenGL . . . . 1 match
         새 버전의 [PyOpenGL]의 경우 메소드 이름이 약간 바뀌었다. xxxFuncCallback 함수 대신 xxxFunc 식으로 쓰인다. Nehe 의 코드 대신 [PyOpenGL] 인스톨시 같이 인스톨되는 Nehe Demo 프로그램 코드를 이용하기를 권한다.
  • PyServlet . . . . 1 match
         [1002] 가 PyServlet 에서 생각하는 장점이라면, Servlet 의 특징으로, CGI와는 달리 인스턴스가 메모리에 남아있다는 점이다. 간단한 프로토타이핑을 할때 memory persistence 를 이용할 수 있게 된다. ZP 에서의 12줄 이야기와 같은 프로그램을 작성할 수도 있다.
  • REFACTORING . . . . 1 match
          * 프로그램의 내부구조조정. 실제로 해당 코드가 하는 역할은 수정하지 않으면서 내부구조를 더 효율적으로 수정하는 작업. (수학의 인수분해를 생각해볼 것)
  • RandomWalk/ExtremeSlayer . . . . 1 match
         //// 본 프로그램 ////
  • RandomWalk2/TestCase2 . . . . 1 match
         test.exe 는 작성한 프로그램 실행 파일 이름입니다.
  • RandomWalk2/상규 . . . . 1 match
         === 프로그램 소스 ===
  • Randomwalk/조동영 . . . . 1 match
         2차원 동적 배열할때 벡터를 사용해도 좋음. [RandomWalk2/Vector로2차원동적배열만들기] 자료구조 숙제는 [STL]을 사용하면 더 편하게 할수 있는거 같다. - [상협]
  • ReverseAndAdd/황재선 . . . . 1 match
         테스트가 프로그램의 최종 테스트 밖에 없구나. 바로 모든 소스를 만들지는 않았을테고... 테스트 보폭을 줄이는 게 좋을 듯. --재동
  • RonJeffries . . . . 1 match
         왜이리 찔리는지. -_-; 특히 마지막문장.. 프로그래밍을 하다보면 가끔 누구를 위한 프로그램인가를 간과하게 되는 경우가 많게 되는지라서.. ^^;
  • Ruby/2011년스터디/김수경 . . . . 1 match
          * 방을 여러개 만들기
  • SRPG제작 . . . . 1 match
          1. 맵을 편집하는 프로그램. 위에서 만든 타일들을 사용하여 맵을 만든다.
  • STL/map . . . . 1 match
         === 프로그램의 예 ===
  • STL/string . . . . 1 match
          * new - char* 로 만든 문자열은 프로그램 사용후 delete 해줘야 되지만, string은 소멸자에서 알아서 해준다. 생산성 증가!
  • SceneDotOrg . . . . 1 match
         Demo Art 의 산실. 이곳에 등록된 용량대비 화려한 프로그램들을 한번쯤 구경해보시길. ;)
  • Self-describingSequence . . . . 1 match
         어떤 값 n이 주어졌을 때 f(n)의 값을 계산하는 프로그램을 만들어야 한다.
  • SimpleDelegation . . . . 1 match
         // 채팅방에서 나가기 위해 호출되어야 할 메소드
  • SmalltalkBestPracticePatterns/DispatchedInterpretation . . . . 1 match
         객체들 사이에서 어떻게 책임을 분배하는가는 중요한 결정이다, 인코딩은 그 다음이다. 잘 요소화된 프로그램들의 대부분에서, 오직 하나의 객체만이 한 조각의 정보에 관심을 가진다. 객체는 정보를 직접적으로 참조하고 사적으로 필요한 모든 인코딩과 디코딩을 수행한다.
  • Spring/탐험스터디 . . . . 1 match
          * [Spring Framework 3]로 작지만 유용한 프로그램을 만들어보자!
  • StacksOfFlapjacks/이동현 . . . . 1 match
         여러줄 입력받는걸 만들기 힘들어 일단 그냥 한줄 입력받고 결과출력 하는 식으로 했다.
  • Star . . . . 1 match
         이 열두 개의 줄에서 각각 가장 큰 수를 읽어 들여서 판 위에 있는 수를 모두 더한 값의 최소 값과 최대 값을 구하는 프로그램을 만들어라.
  • TAOCP/BasicConcepts . . . . 1 match
         MIX 프로그램의 예제를 보여준다. 중요한 순열의 성질(properties of permutations)을 소개한다.
  • TAOCP/InformationStructures . . . . 1 match
         오버플로우와 언더플로우가 일어났을 때 어떻게 해야 할까? 언더플로우는 하나의 의미있는 조건 - 에러 상황이 아니라 - 이다. 하지만 오버플로우는 더 들어갈 공간이 없는데 들어갈 정보가 남아있어서 에러이다. 따라서 오버플로우가 생기면 용량한계를 넘어서서 프로그램이 종료한다.
  • TddRecursiveDescentParsing . . . . 1 match
          ''먼저 "1"을 넣으면 "1"을 리턴하는 프로그램을 만듭니다. 다음 "314"를 넣으면 "314"를 리턴하게 합니다. 다음엔, "1 + 0"을 넣으면 "1"을 리턴하게 합니다. 다음, "1 + 314"를 넣으면 "315"를 리턴합니다. 다음, "1 + 2 + 314"를 하면 "317"을 리턴합니다. 다음, "1 - 0"을 하면 "1"을 리턴합니다. 다음, "1 - 1"을 하면 "0"을 리턴합니다. 다음, "314 - 1 + 2"를 하면 "315"를 리턴합니다. 다음, "- 1"을 넣으면 "-1"을 리턴합니다. 다음, "( 1 )"을 넣으면 "1"을 리턴합니다. ...... AST는 아직 생각하지 말고 당장 현재의 테스트를 패스하게 만드는데 필요한 것만 만들어 나가고 OAOO를 지키면서(테스트코드와 시스템코드 사이, 그리고 시스템 코드 간) 리팩토링을 지속적으로 합니다 -- 그렇다고 파싱 이론을 전혀 이용하지 말라는 말은 아니고 YAGNI를 명심하라는 것입니다. 그러면 어느 누가 봐도 훌륭한 디자인의 파서를 만들 수 있습니다. DoTheSimplestThingThatCouldPossiblyWork. --김창준''
  • TheJavaMan/숫자야구 . . . . 1 match
         || 틀 만들기 || 1/13일 4시 || 7피 || 끝냄||
  • TheKnightsOfTheRoundTable . . . . 1 match
         멀린이 점심을 먹으러 나간 사이에 해가 비추는 영역에 들어갈 수 있는 가장 큰 원탁의 반지름을 계산하는 프로그램을 만들어야 한다.
  • TheWarOfGenesis2R/ToDo . . . . 1 match
         == 메인 프로그램 ==
  • Thread의우리말 . . . . 1 match
         [Thread]. 내가 처음으로 [ZeroWiki] 접근하게 되었을때 가장 궁금했던 것중 하나이다. 도대체 [Thread]가 무었인가?? 수다가 달리는장소?? 의미가 불분명 했고 사실 가벼운 수다는 DeleteMe라는 방법을 통해서 이루어지고 있었다. 토론이 펼쳐지는 위치?? 어떤페이지의 Thread의 의미를 사전([http://endic.naver.com/endic.php?docid=121566 네이버사전])에서 찾아보라고 하길래 찾아보았더니 실에꿰다, 실을꿰다, 뒤섞어짜다 이런 의미가 있었다. 차라리 이런 말이었으면 내가 혼란스러워해 하지는 않았을 것이다. [부드러운위키만들기]의 한가지 방법으로 좀더 직관적인 우리말 단어를 사용해 보는것은 어떨까?? - [이승한]
  • ToyProblems . . . . 1 match
          1. 1번에서 고른 나머지 문제를 가능하면 다양한 방법으로 여러번 풀게한다. 각자 몇 개의 전혀 다른 프로그램을 만들어 내는가? 60m
  • TugOfWar/강희경 . . . . 1 match
         완성시키려면 더욱 더 세련된 알고리즘을 개발하거나, 프로그램이 엄청난 과부하를 갖던지 둘 중 하나
  • UniversalsAndParticulars . . . . 1 match
         WardCunningham은 이런 말을 했다. 작지만 유용한 프로그램을 매일 만들어봐라. 복잡하고 큰 걸 만들다 보면 중요한 아이디어가 감추어져 버릴 수 있다.
  • UpgradeC++ . . . . 1 match
          *[UpgradeC++/과제3] 성적관리프로그램
  • VMWare . . . . 1 match
         특정 플랫폼하에서 머신을 에뮬레이팅. 해당 플랫폼 이외의 환경을 구축하는 것을 가능케 하는 프로그램이다.
  • VendingMachine/세연/1002 . . . . 1 match
         이쯤에서 문제점 - vending_machine 이 완전히 God 클래스입니다. 완전히 이 프로그램 자체가 vending_machine 객체와 동급이 되어버리죠.
  • VonNeumannAirport/1002 . . . . 1 match
         pass 되었다. 아무래도 한번 미리 짜본 프로그램이여서 그런지 초반에 일반화된 것이 아닐까 하는 생각이 든다.
  • WebGL . . . . 1 match
         위의 코드를 보면 [쉐이더] 프로그램에 fragmentShader와 vertexShader를 Link 시키는 구문인데 주체인 shaderProgram은 첫번쨰 인자이고 gl은 그냥 접두어 처럼 보인다. 저 구문만 그런것이 아니라 다른 모든 함수들이 저 gl 객체에 붙어있다. 하지만 정작 gl이 주체가 아닌 것들이 많다. 따라서 래핑한 객체를 만들어 쓰는 것이 속편한데 어설프게 했다가는 무척 꼬이게 된다.
  • WebService . . . . 1 match
         웹 서버를 통하여 프로그램 인터페이스를 노출하려는 방법
  • WinAPI/2011년스터디 . . . . 1 match
         ||WS_MINIMIZE||4.최소화된 상태로 윈도우 만들기 ||
  • WinampPluginProgramming/DSP . . . . 1 match
         기본 뼈대 프로그램은 다음과 같다.
  • WinampPlugin을이용한프로그래밍 . . . . 1 match
          // 이 프로그램은 console mode 기반이다. 그러므로 window 관련 셋팅은 NULL.
  • WindowsTemplateLibrary . . . . 1 match
         WTL은 객체지향적인, Win32 를 캡슐화하여 만들어진 C++라이브러리로 MS 에서 만들어졌다. WTL은 프로그래머에 의한 사용을 위해 API Programming Style을 지원한다. WTL MFC에 대한 경량화된 대안책으로서 개발되었다. WTL은 MS의 ATL를 확장한다. ATL 은 ActiveX COM 을 이용하거나 ActiveX 컨트롤들을 만들기 위한 또 다른 경량화된 API 이다. WTL은 MS 에 의해 만들어졌디면, MS 가 지원하진 않는다.
  • XOR삼각형 . . . . 1 match
         파스칼의 삼각형에서 덧셈의 기본 연산을 XOR로 치환한 XOR삼각형 만들기
  • XpWeek/20041221 . . . . 1 match
         UserStory와 서버, 클라이언트 프로그램의 진행 방향이 정해졌다. 네트워크 관련 개발과 TDD 진행이 재밌게 이루어졌으면 좋겠다. -- 재선
  • Yggdrasil/가속된씨플플/0장 . . . . 1 match
          * 함수: 자신의 이름을 가지며, 다른 곳에서 이를 호출하거나 실행시킬 수 있는 프로그램의 한 조각
  • ZIM/UIPrototype . . . . 1 match
         UI 그릴때 MS Visio 를 쓰면 편하더군요. 학교다닐때 알았더라면, 수많은 가상 프로그램을 만들어냈을텐데 :) -- 이선우
  • ZP&COW세미나 . . . . 1 match
          * C에서는 프로그램 짜는 것 보다 에러 잡는데 시간이 더 오래 걸리는데, TDD는 덜 걸려서 2학년 1학기 자바 수업에 많이 도움이 될 것 같다.
  • ZP&JARAM세미나 . . . . 1 match
          ps. 아참, 제로페이지의 행사로 소개되었던 "지금그때(?)"라는 프로그램 좋은것 같더라구요. 우리학회에서도 하면 좋겠다 라는 생각을 했어요~
  • ZPBoard/PHPStudy/쿠키 . . . . 1 match
         // 만들기
  • ZPHomePage . . . . 1 match
         레이아웃 아무도 안올리네...카운터만들기는 잘 되는건가...위키는 들어오긴 하는건가...일단 모임은 화요일로... --[곽세환]
  • ZPHomePage/20041228 . . . . 1 match
          * 서버에 테스트계정만들기
  • ZPHomePage/20050103 . . . . 1 match
          * JSP로 카운터 만들기 - 1주일(1/10까지)
  • ZPHomePage/20050111 . . . . 1 match
          * 접속자 정보를 뺀다. => 다음 프로젝트에 일대일 대화기능과 함께 추가
  • ZPHomePage/계획 . . . . 1 match
          * 접속자 정보와 일대일대화
  • ZeroPage소개 . . . . 1 match
          * ZeroPage는 컴퓨터공학부 내에 있는 학술 동아리로서, 올해 21년째를 맞이 하고 있습니다. ZeroPage에서는 Computer Science&Engineering 전반에 걸쳐 구성원들이 하고자하는 분야를 탐구하고, 프로젝트를 진행하고 있습니다. 또, 매주 정모를 통해 구성원들과 자신의 스터디, 프로젝트 진행사항들을 이야기하고 각종 세미나들을 통해 자신이 알고 있는 것을 다른 사람들과 공유하여 구성원들 모두가 함께 발전해나가고자 하는 동아리입니다. 또한 새싹교실과 데블스 캠프와 같이 동아리 구성원이 아닌 학우들도 함께 참여할 수 있는 프로그램을 통해 함께 발전해나가고자 하고 있습니다.
  • ZeroPage회칙토론 . . . . 1 match
         페이지를 어설프게 만들었으니 회칙 만들기 토론을 해봅시다
  • ZeroWiki에서 언어습관 . . . . 1 match
         요즘 제로위키 글을 읽다보면, 전자라서 읽다가 그만두는 경우가 종종 발생합니다. 심하게, '글쓴이가 글이 남에게 읽힐때의 고민이 전무하다' 라고 표현할까요? 읽다 보면, 기존에 쓰여진 글들이 매우 딱딱한 문장이 아님에도 채팅과 같은 글들이 밑에 있어서, 딱딱하게 보입니다. 기말고사 시험지에 써있는 낙서, 생각의 흔적들이랄까요? 묘하게 배치된 글들을 보면서, 시간과 공간의 경험이 서로 다른 사람들의 생각과 글들이 융화되기가 참 힘들다는 생각을 가집니다. --NeoCoin
  • [Lovely]boy^_^/3DLibrary . . . . 1 match
         //////// 단위행렬 만들기 ////////
  • [Lovely]boy^_^/Diary/7/15_21 . . . . 1 match
          * 11시에 재동,상협이랑 파이썬 스터디 & 비행기 게임 만들기(뻑났다--;)
  • [Lovely]boy^_^/Diary/7/29_8/3 . . . . 1 match
         || 3D || 프랙탈을 이용한 지형 만들기 || 100%? || 재귀땜에 쫄았는데.. 잘돼서 다행이다 ||
  • [Lovely]boy^_^/USACO/BrokenNecklace . . . . 1 match
          * 테스트 케이스에 맞춰 프로그램 고쳐나가다 보니..;; 점점 더러워졌다는;;
  • comein2 . . . . 1 match
          * 간단한 분산 어플리케이션 만들기 (["코바예제/시계"])
  • eXtensibleMarkupLanguage . . . . 1 match
          * XML은 정말로 굉장히 강력하다. 덕분에 톰캣을 위시한 많은 애플리케이션이 셋업 파일로 XML을 활용하기 시작했다. BUT 크리티컬한 부분에 XML을 소통 데이터로 이용하게 될 경우 해당 부분이 그 프로그램의 performance critical path 가 되는 경우가 발생한다.
  • fnwinter . . . . 1 match
          DDK Virtual Drive Sample 예제 만들기
  • gester . . . . 1 match
         나두 프로그램 만들어보고파요~~
  • html5/geolocation . . . . 1 match
          * 프로그램을 실행하는 디바이스의 위치 정보를 얻기 위한 API
  • html5/overview . . . . 1 match
          * 프로그램이 문서의 구조를 파악하기 쉬워짐(HTML 파싱 수월), 가독성 증가
  • html5/web-workers . . . . 1 match
          * 일 대 일 : <워커>, 하나의 워커 객체와 하나의 백그라운드 프로세스가 일대일로 대응
  • lostship . . . . 1 match
         == 프로그램 ==
  • naneunji/Diary . . . . 1 match
         여러사람이 하나의 프로그램을 짠다는것..페어프로그래밍을 한다는것..
  • nilath개인페이지처음화면 . . . . 1 match
         C(Master, 바보 찌질이들은 태클 걸지 말고.) -> Assembly(30% 진행, 일반적 프로그램 크래킹 수준)
  • pragma . . . . 1 match
         C 와 C++ 을 구현한 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠한 방식으로 자리잡을 것인지 에 관한 문제나 함수가 파라미터들을 조작하는 방법들에 대한 세밀한 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소한의 호환성을 유지시키며 그러한 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 한다. Pragma 지시어들은 일반적으로 '''컴파일러들 마다 서로 다르다'''.
  • programmer . . . . 1 match
         제가 표현하고자했던 말은 누구를 프로그래머라고 부를 수 있냐는 것이였습니다. 초보/중급/ 이런건 생각해보지 않았는데, 그렇게도 여길 수 있겠군요. 너무 막막하죠. "프로그래밍 언어를 이용하여서 현재 프로그램을 만들고 있거나 가까운 시일내에 만들 사람" 먼저 간략히 이정도만 정의해놓죠.
  • snowflower . . . . 1 match
         ||[PaintBox]||Java로 그림판 만들기|| 2005.12 ||
  • snowflower/Arkanoid . . . . 1 match
          설명서와 PPT는 역시 만들기 어렵다.. 나는 코딩은 할줄 알아도.. 설명서 제작은 -_-;;; 글쓰는 재주를 늘려야 할텐데
  • stuck!! . . . . 1 match
         1차 : 입출력그리고 간단한 변수의 종류에 대해서 공부해보고, 이름과 학번 그리고 원하는 평점을 입력받고 그것을 그대로 출력하는 프로그램을 작성해 본다. 일요일 오후 3시까지 제출해 주세요. 미 제출시 가혹한 벌금이 있습니다ㅋㅋㅋ
  • teruteruboz . . . . 1 match
         에구..위키는 서툴러서요.. 인터넷도 되니..제 페이지를 만들기는 해야겠는데..
  • travelsky . . . . 1 match
          * Diet & 근육 만들기 ㅋㅋ
  • ㄷㄷㄷ . . . . 1 match
         두개가 매우 비슷한 기능을 갖기 때문에 같은 내용의 프로그램
  • 가위바위보/영동 . . . . 1 match
         //가위바위보 승패수 계산 프로그램
  • 간단한C언어문제 . . . . 1 match
          특정 컴파일러에 종속적인 프로그래밍은 좋지 않습니다. C90이라는 표준이 엄연히 존재하니까요. 특정 구현에 종속적인 프로그래밍을 한다고 하더라도, 프로그램의 심장은 표준에 따라 프로그래밍 하는게 좋습니다.
  • 강희경 . . . . 1 match
          *[http://aragorn.bawi.org/interests/tao_of_programming_(korean).html]프로그램의 도
  • 같은 페이지가 생기면 무슨 문제가 있을까? . . . . 1 match
          앞에서도 썼듯 ''페이지를 생성할 때, 검색을 자동으로 해준다. 그래서 검색 결과를 보여주고 페이지를 새로 만들지, 아니면 원래 페이지에 덧붙여서 쓸 지 사용자가 결정하게 한다. 그러다면 검색 결과를 무시하지 않는 한, 중복 페이지가 줄어들지 않을까''라는 생각이 기본입니다. 검색범위를 페이지 이름으로 할지 전체 글을 대상으로 할 지는 생각을 못 해 보았지만요. 페이지를 손으로 고치는 방식을 대체할 것은 생각 못했지만, 제가 생각한 방식은 페이지를 만들기 전에 할 수 있으므로, 페이지를 만들고 나서 해결하는 '''아래에서 위로''' 방식과 혼합해서 쓸 수 있다고 생각합니다. 써 놓고 보니 페이지 이름하고는 빗나간 이야기이긴 하지만 어떻게 손이 한 번이라도 덜 가는 구조를 만들까 하다 보니 이런 글을 썼습니다.-[Leonardong]
  • 걸스패닉 . . . . 1 match
          * 오늘 프로그램에 이미지까지 연동시켜보자.--[강희경]
  • 겨울과프로젝트 . . . . 1 match
         [AOI/2004] : 대회 문제들로 프로그램 내공을 길러본다.
  • 고슴도치의 사진 마을 . . . . 1 match
         || [몬테카를로 법을 이용한 pi 구하기 프로그램] ||
  • 고슴도치의 사진 마을처음화면 . . . . 1 match
         [몬테카를로 법을 이용한 pi 구하기 프로그램]
  • 구구단/유상욱-Scheme . . . . 1 match
         구구단을 scheme으로 만든 프로그램
  • 권영기/web crawler . . . . 1 match
         === 디렉토리 만들기 ===
  • 김상호 . . . . 1 match
         2010 여름방학 중 쉽게 rpg만들기 에 대해 세미나 진행.
  • 김준호 . . . . 1 match
          # 3월 17일에는 Microsoft Visual Studio 2008 프로그램을 이용하여 기초적인 c언어를 배웠습니다.
  • 김태진 . . . . 1 match
          * ZeroPage 동아리 전용 건물을 만들어 동아리계의 구글(?) 만들기
  • 데블스캠프2003/셋째날/후기 . . . . 1 match
          * 오늘은 많은 언어를 접해볼 수 있어서 좋았다.. python 과 scheme 글구.. squeete? 암튼 색다른 경험이었다... 모든 프로그램에 있어 창의적인 생각으로 문제를 해결할 수 있었으면 좋겠다.... 6분 남았다.. 아~ 얼른 축구보러 가고 싶다... -- 손동일
  • 데블스캠프2004/목요일후기 . . . . 1 match
         교훈 : C도 흥미로운 프로그램이다
  • 데블스캠프2004/세미나주제 . . . . 1 match
          * 프로그램 설계
  • 데블스캠프2006/SSH . . . . 1 match
          * 문제상황 : 리눅스용 프로그램을 만들어야 하는 과제가 나왔다. 해당 과제는 컴파일과 실행을 리눅스에서만 해야 한다. 그런데 vi로 하기는 싫고, visual studio 나 editplus로 작업을 하고 싶다. 어떻게 할까?
  • 데블스캠프2006/금요일 . . . . 1 match
         프로그램 올리는 곳 - ftp://165.194.17.70:2000/
  • 데블스캠프2006/목요일후기 . . . . 1 match
         집중력이 많이 떨어지기도 했는데요;; (심지어 현태 오빠의 코드레이스 점수판 만들기에 참여..ㄷㄷ)
  • 데블스캠프2006/연습문제 . . . . 1 match
         연습문제 코드나 최종 프로그램 코드 올려주세요^^
  • 데블스캠프2006/월요일/함수/문제풀이/김준석 . . . . 1 match
         == 실미도 함수 만들기 (몸통은 자유) ==
  • 데블스캠프2006/월요일/함수/문제풀이/이차형 . . . . 1 match
         함수만들기
  • 데블스캠프2006/화요일/tar . . . . 1 match
         요기다가 자기 프로그램 링크시켜주세요~
  • 데블스캠프2009 . . . . 1 match
         각 요일별 연습문제,최종 프로그램 올리는 페이지들
  • 데블스캠프2009/금요일/SPECIALSeminar . . . . 1 match
          * 화면에 100000개의 랜덤한 원을 그리는 프로그램 - 어떻게 검증할 것인가?
  • 데블스캠프2009/수요일 . . . . 1 match
         || 김준석 || 객체 지향 프로그래밍(OOP) || OOP에 대한 개요 이해, 추상화에 대한 개념. OOP 기반의 프로그램 설계를 코드가 아닌 글로 새내기와 함께 해본다. || 문법은 잊고 의사코드를 사용한 설계실습을 해보자 ||
  • 데블스캠프2009/수요일/OOP/서민관 . . . . 1 match
         OOP 과제. 의사코드를 이용한 붕어빵기계와 붕어빵 만들기
  • 데블스캠프2010/Prolog . . . . 1 match
         = 국민 예제 - 가계도 만들기 =
  • 데블스캠프2011/넷째날/Git . . . . 1 match
         == 재밌는 Shell 명령어 만들기 ==
  • 데블스캠프2011/넷째날/Git/권순의 . . . . 1 match
         // myCmdBase.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
  • 데블스캠프2011/둘째날/Scratch . . . . 1 match
         == 게임 만들기 실습 ==
  • 동영상처리세미나/2006.08.17 . . . . 1 match
         4. 실습 : 필터 바꿔보기 mirror 프로그램
  • 레밍즈프로젝트/프로토타입/파일스트림 . . . . 1 match
         || 파일복사 프로그램 || [http://blog.naver.com/kds6221.do?Redirect=Log&logNo=140013999545] ||
  • 로그인하기 . . . . 1 match
         UserPreferences 페이지에서 이름과 패스워드를 적고 Profile 만들기 버튼을 누른다. ChangeYourCss 페이지나 CssMarket 에서 개인 취향에 맞는 스타일 시트를 등록해서 사용하면 더 좋다.
  • 로마숫자바꾸기 . . . . 1 match
         문제 : 두자리 정수를 받아들여 그 숫자에 해당하는 로마 숫자를 출력시키는 프로그램을 작성하여라.
  • 마케팅천재가된맥스 . . . . 1 match
          * 여기서 제품에는 우리가 만드는 프로그램도 포함된다.
  • 만년달력 . . . . 1 match
          * 원하는 년도와 달을 입력하면 그 달의 달력이 나오는 프로그램.
  • 만년달력/김정현 . . . . 1 match
         = 만년달력 만들기 =
  • 멘티스 . . . . 1 match
         [계정만들기]
  • 문서구조조정 . . . . 1 match
         새로 페이지를 만들어주거나, 기존의 스레드 토론에서의 의견, 주장 등의 글들을 요약 & 정리 해줌으로서 해당 주제를 중심으로 페이지의 내용이 그 주제를 제대로 담도록 해준다. 이는 프로그램 기법에서 일종의 ["Refactoring"] 과 비슷한 원리이다.
  • 문자반대출력/문보창 . . . . 1 match
         음 만약에 한글과 같은 확장문자가 담겼다면 process_wchar() 함수에서 약간의 꼼수를 부린다. 가상의 예(실제로 이렇게 되지는 않지만, 원리는 같음)를 들어보자. "가나" 라는 문자열을 ver1과 같은 통상의 프로그램으로 뒤집으면 "나가"와 같이 프로그래머가 원했던 결과가 나오는 것이 아니고 "ㅏㄴㅏㄱ"가 나온다. 그렇다면 확장문자를 판단해서 문자열을 뒤집기 전에 "가나"라는 문자열을 "ㅏㄱㅏㄴ" 이렇게 만들어 놓는다면 기존 ver1의 프로세스를 전혀 바꾸지 않고도, process_wchar()만을 추가하는 것으로 원했던 기능을 모두 수행하게 된다.
  • 문자열검색 . . . . 1 match
          문제 : 문자열 x에서 y라는 문자열이 처음 나타난 위치를 검색하여 z에 저장하는 프로그램을 작성하여라.
  • 문자열연결 . . . . 1 match
          문제 : x문자열 끝에 y문자열을 연결시키는 프로그램을 작성하여라.
  • 박성현 . . . . 1 match
          * 안드로이드 이미지 공유 앱 만들기 프로젝트
  • 반복문자열 . . . . 1 match
         문제 : CAUCSE LOVE. 라는 문장을 5번 연속해서 출력시키는 프로그램을 작성하라.
  • 반복문자열/최경현 . . . . 1 match
         // CAUCSE LOVE. 라는 문장을 5번 연속해서 출력시키는 프로그램을 작성하라.
  • 방울뱀스터디 . . . . 1 match
         7월 26일(토) 오전 11시 7피 임시모임. 기본 프로그램의 80%를 목표로 프로그래밍 해봅시다. --재동
  • 병역문제어떻게해결할것인가 . . . . 1 match
          * 이건 보통 워드를 많이 치는 행정병 같습니다. 자대 가서 인사과에 대기할때 인원이 필요하면 타자연습프로그램으로 워드쳐보라 합니다. 기본 300타 이상이면 가능성 있습니다. 밤에 잠 못자구 워드 치는 경우가 많습니다. 요즘은 많이 좋아졌다고 합니다.
  • 보드카페 관리 프로그램/강석우 . . . . 1 match
         [보드카페 관리 프로그램], [강석우]
  • 빵페이지/도형그리기 . . . . 1 match
         위 도형들을 출력하는 프로그램을 작성하세요
  • 빵페이지/마방진 . . . . 1 match
         가로, 세로, 대각선의 각각의 칸에 들어가는 숫자들의 합이 같은 정사각형 만들기
  • 빵페이지/소수출력 . . . . 1 match
          * 소수를 차례대로 출력하는 프로그램을 만들어 봅시다.
  • 상협/삽질일지/2002 . . . . 1 match
          * 오늘은 그렇게 큰 삽질은 아니지만 요새 별다른 삽질이 없어서 적어본다. 오늘 비행기게임 프로젝트를 하고 있는데 파일에서 적 비행기 경로를 읽어와서 실행하는거를 하는데 이상하게 계속 안되는 것이었다. 분명히 난 맞게 텍스트 파일에 적이 나올 위치를 숫자로 적었고, 정확한 명령어를 사용했는데 말이다. 그래서 계속 삽질하다가 잠깐 밖에 나갈 일이 생겼다. 그런데 걷다가 곰곰히 생각하니깐 왠지 파일읽어 온것을 프로그램에서 string 형으로 생각한거 같았다. 그때 아차 하는 생각이 들었다. 역시 삽질은 안된다고 계속 반복하기보다는 원인을 곰곰히 생각해야 한다는 교훈을 얻었다. 뭐 몸이 그렇게 안따라 주지만. ㅡㅡ;
  • 상협/인공지능/오목 . . . . 1 match
          * 방향 일반화 : 8가지 방향 일반화 시키는법 및 그 방향들 패턴 만들기
  • 새로운위키놀이 . . . . 1 match
         [부드러운위키만들기]의 한가지방법인 [위키설명회2005] 행사중에 실시하는 놀이의 종합페이지
  • 새싹교실/2011/AmazingC . . . . 1 match
          * 식별자란 프로그램을 할때 사용자가 다른 것과 구분할 수 있도록 하는 것
  • 새싹교실/2011/Pixar/3월 . . . . 1 match
          * main 함수는 프로그램이 시작하는 부분이예요. 앞으로 함수를 배우기 전까지 모든 코드는 main 함수 안에 작성합니다.
  • 새싹교실/2011/學高/8회차 . . . . 1 match
          * 아래 소스코드를 큰 틀로 해서 recursive function을 이용하여 하노이의 탑 시뮬레이션 프로그램을 작성하라(이동 상황을 출력한다, 전역변수를 이용하여 횟수를 카운트하게 하여 H_n = 2*H_n-1 + 1 점화식에 맞는 답이 나옴을 보여야한다.)
  • 새싹교실/2011/무전취식/레벨1 . . . . 1 match
          * C 동작 설명 : C는 고급언어다. 사람이 이해하기 쉬운언어. 프로그램을 짜고 컴퓨터에게 시키면 컴퓨터가 이해하기 쉬운 저급언어로 바꾸어 실행시키다.
  • 새싹교실/2011/무전취식/레벨10 . . . . 1 match
          * 주석을 이용한 프로그램 설계 방법
  • 새싹교실/2012/나도할수있다 . . . . 1 match
          * 지난주에 수업했던 for,while의 복습으로 시작했다. 1부터 10까지의 합을 구하는 프로그램을 짜보라고 했는데 쉽게 하지 못하고 많이 버벅거렸다. 둘다 집에 비주얼 스튜디오가 없어서 복습을 안한 것 같다. 그리고 소라때리기 게이을 타이핑하게 하고, 소라때리기 게임에서 쓰이는 함수들을 설명해주었다. 그런데 한번에 너무 많은 양을 배워서 그런지 이해도가 떨어지는 것 같아서 다음주에 보충수업을 하기로 했다. 다음주 과제로는 MP를 추가해서 마법공격, 체력회복을 추가해오는것을 내주었는데 아마 안해올것 같다. -추성준
  • 새싹교실/2012/벽돌쌓기 . . . . 1 match
          * 첫 수업이라 많은 진도를 빼지 않고, 기본적으로 Hello World 프로그램 구현 가능에 중점을 두었다.
  • 새싹교실/2012/새싹교실강사교육/3주차 . . . . 1 match
         강사의 계정에 구글 협업 문서 만들기 -> 학생들의 계정 공유 등록 까지 마쳐봅시다.
  • 새싹교실/2012/열반/120319 . . . . 1 match
          * 프로그램의 시작점
  • 새싹교실/2012/주먹밥/이소라때리기게임 . . . . 1 match
         = 프로그램 목적 =
  • 새싹교실/2012/햇반 . . . . 1 match
         상영:: 전 아무것도 모르고 이 전공을 택했고 물론 c프로그래밍에 관해서도 아무것도 몰랐지만 별찍기나 구구단만들기 같은 것을 하다보니 C프로그래밍에 흥미가 붙었고 더 많은 것을 해보고 싶다는 생각이 들었습니다
  • 새싹교실/2013/라이히스아우토반/6회차 . . . . 1 match
         여기서 오늘 switch 와 if 랑 else if 를 이용하여 프로그램을 짤 수 있다는 사실에서 정말 재밌었습니다.
  • 새싹교실/2013/록구록구/2회차 . . . . 1 match
          * wiki 가입 후 자기 페이지 만들기 [박정경] [이주영]
  • 새싹교실/2013/록구록구/8회차 . . . . 1 match
          반복문을 사용하여 배열의 모든 요소를 출력하는 프로그램을 만들어 보세요!
  • 새싹교실/2013/양반/3회차 . . . . 1 match
         구구단 만들기 재미있다.
  • 서버재조립토론 . . . . 1 match
         [정모]때 서버 재 조립에 대한 이야기가 나왔다는 이야기를 회장님을 통해 들었습니다. 일단 제가 회의에 참석하지 못하고 회의록이 올라온 것도 아니므로 어떻게 해서 서버 재조립 이야기가 나왔는지 알고 싶습니다. 일단 제 생각은 굉장히 부정적인데요. 서버가 하는 일이 거의 웹서버 내지는 소스 리파지터리로 사용되고, 대규모 소스를 컴파일한다거나 덩치가 큰 프로그램이 돌아가는것도 아니기 때문입니다. 게다가 동시접속 사용자수로 많지 않은걸로 알고있는데요. (물론 이런것들은 이제부터 하기 위해 하나 새로 맞춘다!! 면 할말 없지만..) 이 상황에서 굳이 새로 서버를 맞추는게 필요할지... [임인택]
  • 손동일 . . . . 1 match
         == 좋은 프로그램 ==
  • 숫자를한글로바꾸기 . . . . 1 match
          문제 : 숫자를 입력 받아서 한글로 출력시키는 프로그램을 작성하여라.
  • 숫자를한글로바꾸기/허아영 . . . . 1 match
          - 리팩토링은 프로그램을 완성한 후에 하는것이 아니라 프로그래밍을 하는 도중에 하는게 더 좋다고 생각합니다. - 임인택
  • 숫자야구/강희경 . . . . 1 match
         이 코드를 다시한번 [리팩토링]하여 보세요. 프로그램을 조금 더 이해하기 쉽게 그리고 코드의 모양을 좀더 이쁘게 바꿀 수 있지 않을까요? 이미 작성했던 코드를 다시 작성한다거나, 기존에 자신이 작성했던 코드를 [리팩토링]한다면 많은 것을 얻을 수 있을 것입니다. [임인택]
  • 스터디제안 . . . . 1 match
         스터디를 하기 위해 또 다른 조직을 만들기가 부담이 된다면 이런 곳을 통해 인원을 모을 수 있겠습니다. 스터디하는 데에까지 꼭 멤버쉽 커뮤니티가 필요한 것은 아니겠죠.
  • 시간관리인생관리/요약 . . . . 1 match
         고객 다루기, 제품 만들기, 장부 기장, 회계
  • 신기훈 . . . . 1 match
         로그인할 때 profile만들기?
  • 실시간멀티플레이어게임프로젝트 . . . . 1 match
         테스트 만들기
  • 실시간멀티플레이어게임프로젝트/첫주차소스3 . . . . 1 match
         - 로그인 인터페이스 깔끔하게->표만들기 태그 이용
  • 아동언어습득이론 . . . . 1 match
          생물학적 프로그램
  • 안성진 . . . . 1 match
         ○ 애인 만들기
  • 열정적인리더패턴 . . . . 1 match
         스터디 그룹은 지속적인 에너지(EnduringEnergyPattern)를 갖고 안전한 장소([안전한장소패턴])가 되기 위한 리더십이 필요하다. 이 패턴은 이런 특성을 만들기 위해 리더가 해야할 일을 설명한다.
  • 위키QnA . . . . 1 match
          * Regular Project 인원 3명이상 - 3명 이상이라면 세미나-스터디의 형태이거나, 단체 프로그램 목표, 기타의 단체 목표 일것이다.
  • 위키놀이 . . . . 1 match
         [부드러운위키만들기]의 한가지방법인 [위키설명회2005] 행사중에 실시하는 놀이의 종합페이지
  • 위키를새로시작하자 . . . . 1 match
          1'WIKI 페이지를 바로 만들기 보다 규칙을 만드는 페이지를 먼저 만들어서 규칙부터 정해보는 게 어떨까요? -[재니]
  • 윤종하/지뢰찾기 . . . . 1 match
         콘솔 프로그램으로 열심히 짜봤구요, 음주코딩의 위대함을 깨달았습니다.
  • 이민석 . . . . 1 match
          * ElanVital - 가사 시각화 프로그램
  • 이병윤 . . . . 1 match
         === 수강 신청 자동화 프로그램 ===
  • 이승한/mysql . . . . 1 match
          두부 만들기 : create database 두부이름;
  • 이영호/개인공부일기장 . . . . 1 match
         이러한 논쟁은 적을 만들기 쉽지만, 일부분은 받아들이고 옳다고 생각 되는 내 생각은 변하지 않는 것이 좋다. 내 생각이 그른 것이 아니기에. 가식은 싫다.
  • 이영호/문자열검색 . . . . 1 match
          fprintf(stderr, "\n프로그램을 종료합니다.\n");
  • 이영호/시스템프로그래밍과어셈블리어 . . . . 1 match
         API Hooking을 통해 Application 이하의 차원에서 프로그램을 자유 자재로 다룰 수 있다는 것을 배웠다.
  • 이영호/지뢰찾기 . . . . 1 match
          Reverse 하는 김에 모기 퇴치 프로그램도 같이 짜야 할듯; --[1002]
  • 이차함수그리기/조현태 . . . . 1 match
          cout << "2차함수 출력 프로그램.";
  • 임수연 . . . . 1 match
         2학년되기 전까지 토익 800점 이상만들기!
  • 정모/2002.7.11 . . . . 1 match
          * Instance MP3 - 한번만 사용하는 MP3 만들기
  • 정모/2004.04.27 . . . . 1 match
          * 위키 투표로 결정하자 - [노수민]이 투표 페이지를 만들기로 결정
  • 정모/2004.2.3 . . . . 1 match
          * TheJavaMan 은 프로젝트 참여자 전원이 참여하는 프로젝트인 비행기 게임 만들기를 새로 시작
  • 정모/2004.6.28 . . . . 1 match
          *전시회출품작만들기 - [노수민] [황재선]
  • 정모/2005.1.17 . . . . 1 match
          * 2005년 계획을 작성 할 페이지를 만들기로 했죠
  • 정모/2005.2.2 . . . . 1 match
          위키 설명회는 회원모집날에 같이 하기로 하였고, 프로그램 배틀과 Joint 엠티는 일단 보류되었으므로 나중에 정해지면
  • 정모/2006.4.10 . . . . 1 match
          * 연습용 RDBMS만들기..
  • 정모/2011.3.2 . . . . 1 match
         || 프로그램 || 진행자 ||
  • 정모/2011.4.11 . . . . 1 match
          * 악.. 후기를 썼다고 기억하고 있었는데 안썼네요ㅠㅠ.... 항상 새로운 프로그램을 준비하는 회장님께 박수를 보냅니다. 진실, 거짓은 전에도 해봤지만 자기를 소개하는 IceBreaking도 즐거웠습니다. 의외의 사실과 거짓은 항상 나오는 것 같습니다. 스피드 퀴즈도 즐거웠습니다. 재학생들이 그간의 활동을 회고하고 11학번 학우들이 새로운 키워드를 알게된 좋은 계기였다고 생각합니다. 순의의 OMS도 즐겁게 봤습니다. 자신이 이야기하고자 하는 내용을 좀 더 자신 있게 표현하지 못하고 약간 쑥스러워(?) 하는 면도 보였지만 동영상도 그렇고 많은 준비를 했다고 느꼈습니다. 다음 OMS에 대한 부담이 큽니다=_=;; - [Enoch]
  • 정모/2011.5.23 . . . . 1 match
          * 세미나와 OMS 잘 봤습니다. 세미나는 해당페이지에서 후기를 쓰도록 하고.. 스크립트, 관심은 있는데 왜 자꾸 미루기만 하는건지. ㅜㅜ 요즘 얕게 이것저것 배우다보니(NXC를 포함하여) 문법이 점점 혼란스러워지고 있습니다. 그런 면에서는 스킴이 참 좋은데.. 응? 여튼 저만의 웹페이지를 만들기 위해 지금 막 HTML5와 자바스크립트를 보고 있습니다. 파이썬이나 펄 등등 하고싶은건 많은데 되는건 하나도 없네요ㅋㅋ - [정진경]
  • 정모/2012.11.26 . . . . 1 match
          * 전체적으로 학생 아이디어 착취를 위한 느낌의 프로그램이었음.
  • 정모/2012.7.11 . . . . 1 match
          * Spring - simple Wiki 만들기 진행.
  • 정모/2012.9.17 . . . . 1 match
          * RPG Maker - 목적: RPG Maker 에물레이터와 같은 기능의 툴 만들기. 매주 목요일 6시에 모여서 진행합니다.
  • 정모/2012.9.24 . . . . 1 match
          * ZP 책자 만들기
  • 정모/2013.4.15 . . . . 1 match
          * 메모장 만들기 하고 있음
  • 정신병원에서뛰쳐나온디자인/밑줄긋기 . . . . 1 match
         = 우리는 프로그램에게 희생을 강요당하고 있다 =
  • 조재화 . . . . 1 match
          * 03. 한해동안 C++MFC와 PYTHON그리고 JAVA를 좀 잘 이해해서 컴퓨터 프로그램이나 겜을 많이 만들고 싶당.
  • 조현태의자바교실 . . . . 1 match
          * 2학년 1학기 컴퓨터프로그램설계 프로젝트 대비라는 성격을 지닌 GUI 강좌 및 스터디.
  • 졸업논문/요약본 . . . . 1 match
         웹 환경은 이제 하나의 플랫폼으로 자리 잡고 있다. 빠르게 변하는 웹 환경에는 python같은 객체지향 언어가 적당하다. Django는 python으로 만들어진 웹 애플리케이션 프레임워크로, 데이터베이스를 추상화하여 개발자가 기민하게 웹 애플리케이션을 작성하도록 돕는다. Django에서는 기존에 ODBC등을 이용하는 CLI 보다 한 단계 더 높은 수준에서 데이터베이스를 사용할 수 있다. 예를 들어 주언어 python에 클래스를 정의하면 데이터베이스 테이블을 자동으로 생성해주며, 클래스가 변경되면 데이터베이스 테이블도 자동으로 수정해준다. 그 밖에 삽입, 삭제, 수정, 조회 기능을 클래스가 가진 메소드로 추상화하여 주언어 수준에서 데이터베이스를 사용할 수 있도록 한다. 이러한 지원을 바탕으로 웹 애플리캐이션 개발자는 기민하게 프로그램을 작성할 수 있다.
  • 주민등록번호확인하기 . . . . 1 match
          알고리즘을 알아야 프로그램을 짜는뎅; ㅠㅠ - 태훈
  • 중앙도서관 . . . . 1 match
         전부 다 만들기엔 시간과 용기가 부족한 사람들은 기존 시스템에의 랩퍼(wrapper)를 만들 수도 있다.
  • 중위수구하기/남도연 . . . . 1 match
          cout<<"프로그램 종료"<<endl;
  • 중위수구하기/허아영 . . . . 1 match
         내가만든 이 프로그램에서 변수 테이블을 만들어 보면.
  • 지금그때2003/토론20030310 . . . . 1 match
          * ex) 프로그램 공부는 어떻게 하나요? , 요새 어떤 책을 보나요? , 영어공부는 어떻게 해야 하나요? , 사회에 나가면 어떤 일을 하나요? , 학교공부만 따라가면 충분한가요? , 학회에 속해야 하나요? 등등
  • 지금그때2003/후기 . . . . 1 match
          1. 전통 만들기
  • 지금그때2004/전통과사유20040329 . . . . 1 match
          * 6:00 현 진행 회원과 함께 연결점 만들기
  • 진법바꾸기/허아영 . . . . 1 match
         음.. 프로그램을 짤 때 각자의 가치관이 소스에 드러나는건 당연한 거고, 아영이의 가치관은 훌륭하기 그지없다고 봐.ㅎㅎ 회사에가서 소스를 작성했을때, 알려주기 싫다거나 귀찮다는 이유로 소스를 가지런히 만들지 않는다면, 그건 월급을 받고도 자기일을 다 하지않는 것과도 같을 테니까.ㅎㅎㅎ
  • 창섭 . . . . 1 match
         [http://165.194.17.15/pds/200232993449/SSHWinClient-3.1.0-build235.exe ssh 접속프로그램][[BR]]
  • 최대공약수/허아영 . . . . 1 match
         프로그램의 마지막 부분에서 원래 값을 프린트하고 그의 복사본으로 GCD를 계산하는 방법이 있다는 것을 알았다.
  • 최소정수의합 . . . . 1 match
         문제 : 1 + 2 + 3 + ..... + n >= 3000 을 만족하는 최소 n과 그것의 합을 구하는 프로그램을 작성.
  • 최소정수의합/조현태 . . . . 1 match
         //1 + 2 + 3 + ..... + n >= 3000 을 만족하는 최소 n과 그것의 합을 구하는 프로그램을 작성
  • 최소정수의합/최경현 . . . . 1 match
         // 문제 : 1 + 2 + 3 + ..... + n >= 3000 을 만족하는 최소 n과 그것의 합을 구하는 프로그램을 작성.
  • 최소정수의합/허아영 . . . . 1 match
         만약에 3000까지가 아닌 더 큰 수를 입력하고 프로그램을 돌려보시겠어요? 위의 코드에서 int 를 double 형으로 바꾸고 3000 대신 18000000000000000000 을 넣은 코드입니다. 한번 실행해 보세요. 더 나은 방법이 생각나실수도 있을것 같아요. 문제를 풀고 나서 어떤 점을 느끼셨나요? - 아무개
  • 캠이랑놀자/보창/숙제1 . . . . 1 match
         == RGB channel만들기 ==
  • 캠이랑놀자/아영/숙제1 . . . . 1 match
         == RGB channel만들기 ==
  • 큰수찾아저장하기 . . . . 1 match
         행렬[3][3]에는 전체 중 가장 큰 수를 찾아 저장한 다음, 이들을 깔끔하게 출력하는 프로그램을 작성하여라.
  • 타도코코아CppStudy . . . . 1 match
          * 매일매일 작은 프로그램을 짜보자!
  • 토비의스프링3/밑줄긋기 . . . . 1 match
          * 패턴이나 설계 원칙을 공부하는 이유는 폼나는 용어를 외우고 기계적인 지식을 습득하면 저절로 깔끔하고 유연한 코드가 나오기 때문이 아니다. 좋은 코드를 만들기 위한 개발자 스스로의 노력과 고민이 있을 때 도움을 주기 때문이다.
  • 토이/삼각형만들기/김남훈 . . . . 1 match
         [토이] [토이/삼각형만들기]
  • 튜터링/2013/고딩같은어셈 . . . . 1 match
          * 서울어코드 사업에서 진행하는 튜터링 프로그램에 참가해 튜터링 활동을 진행
  • 프로그래머의편식 . . . . 1 match
         에디터는 자기가 익숙하고 손에 편한 것을 쓰면 그만이다. 어떤 에디터를 쓰느냐 보다 그 에디터로 어떤 프로그램을 만들어 내는가가 더 중요하다. 울트라 에디터를 쓰던, vi를 쓰던, 메모장을 쓰던, 쓰는 사람만 편하고 좋은 코드만 만들어낼 수 있으면 된다. 어떤 guru가 vi를 쓴다고 해서, 자기도 vi를 쓰면 guru가 되는게 아니다.
  • 프로그래밍잔치/ErrorMessage . . . . 1 match
          * 그러다가 인수군과 상욱이는 커피 마시고 오고, 어쩌다 보니까 팀이 바뀌었다. 나도 모르는 새에--; 은지누나+창섭군, 인수군+기웅, 상욱 이렇게 나뉘었다. 은지누나랑 창섭군은 전화번호부를 계속 만들기 시작했고, 인수군과 기웅은 레이아웃 잡으면서, 전자수첩 비슷-_-하게 만들어 나갔다. 상욱이는 자바는 익숙하지 않다고 일단 c로 만능달력 만들겠다고 시작.
  • 프로그래밍잔치/셋째날후기 . . . . 1 match
         모여서 전화번호 핸드폰에 있는 문자로 입력받아 번호로 출력하는 프로그램을 짰다. (["Telephone"] 참조)
  • 프로그래밍잔치/첫째날 . . . . 1 match
          * 시연 MP3공유 프로그램 20
  • 피보나치/김재성,황재선 . . . . 1 match
          printf("이프로그램제작에 도움을 주신 황재선형님꼐 감사를 드립니다");
  • 피보나치/조현태 . . . . 1 match
          cout << "피보나치 수열을 출력하는 프로그램입니다.\n 몇번째 숫자를 출력하시겠습니까?";
  • 홈페이지만들기/css . . . . 1 match
         [홈페이지만들기]
  • 황세중 . . . . 1 match
          1. 어플 만들기
Found 772 matching pages out of 7555 total pages (3240 pages are searched)

You can also click here to search title.

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