E D R , A S I H C RSS

Full text search for "10사이 숫자 출력, 5 제외 (continue 문 사용)"

10사이 숫자 출력, 5 제외 (continue 문 사용)


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Linux/필수명령어/용법 . . . . 617 matches
         사용자를 새로 등록한다.
         
         이것은 슈퍼 유저만이 사용할 수 있다. 명령을 입력하면 로그온 이름 등을 차례로 물어오며, 그에 따라서 알맞게 입력해 나가면 된다.
         - Full name: Park Chan Wook ,,사용자 전체 이름을 입력
         - GD [100]: ,,정해주는 값을 그냥 사용한다.
         그외에도 홈 디렉토리에 사용하는 셸 등을 계속 물어오는데, 대괄호 속에 내정된 것을 그냥 사용하고자 한다면 엔터키만 누르면 된다. 패스워드 등을 입력하고 나면 지금까지 입력된 정보를 보여주고, 몇 가지 생성 작업을 화면으로 보여준 후 작업을 종료한다.
         
         -q 큐 : 대소자 알파벳으로 큐를 지정한다. 순서적으로 빠른 알파벳이 지정된 큐 일수록 CPU 시간 점유 우선권이 낮다.
         -m : 작업이 완결되면 사용자에게 메일을 보낸다.
         명령은 기본적으로 표준 입력 장치를 통해서 받으며, ^D로 입력을 종료한다. 리다이렉션을 사용하여 다른 파일의 내용을 사용할 수 있다.
         /etc/at.allow 파일이 있다면 이 파일에 명단이 있는 사용자만이 at 명령을 사용할 수 있다. /etc/at.allow 파일이 없다면 /etc/at.deny 파일을 찾는다. 이 파일에 목록이 있는 사용자는 at 명령을 사용할 수 없다. 두 파일 모두 찾지 못한다면 오로지 슈퍼 유저만이 at 명령을 사용할 수 있다. 그리고 /etc/at.deny 파일이 비어 있다면 모든 사용자가 at 명령을 사용할 수 있다.
         시간을 지정할 때 상당히 다양한 방법을 사용할 수 있다. hhmm 혹은 hh:mm 형태도 가능하며, noon, midnight이나 오후 4시를 의미하는 teatime이라고도 할 수 있다. 오전 오후를 쉽게 구분하려면 am pm 자를 추가해도 된다. 이미 지나간 시간이라면 다음 날 그 시간에 수행될 것이다. 정확한 날짜를 지정하려면 mmddyy 혹은 mm/dd/yy 아니면 dd.mm.yy 형태 중 선택하라.
         현재부터 얼마의 시간이 경과한 후에 수행할지를 지정하려면 기호를 사용하라. 이 기호뒤에 숫자를 명시하고, 다시 뒤에 그 숫자의 단위가 무엇인지 지정하면 된다.
         사용
         인수로 주어진 자열을 큰 글씨로 만들어서 출력한다.
         
         - banner [ -w [숫자] ] 자열
         -w : 옵션 지정만 하면 80 칼럼으로 폭을 바꾼다. 지정하지 않으면 132 칼럼으로 내정되어 있다. -w 옵션 뒤에 숫자를 지정하면 원하는 폭으로 조정할 수 있다.
         사용
         이것은 리눅스의 Boume 셸이다. sh를 사용하면 sh가 bash를 호출하여 실행한다. bash를 직접 사용하지 말고 sh를 사용하도록 하라.
  • MoreEffectiveC++/Techniques2of3 . . . . 161 matches
         class String { // 표준 자열 형은 이번 아이템의 참조세기를 갖추고
         a~e까지 모두 "Hello"라는 같은 값을 가지고 있는 다른 객체이다. 이 클래스는 참조 세기가 적용되지 않았기 때에 모두 각각의 값을 가지고 있다. 자열의 할당(assignment) 연산자는 아마 다음과 같이 구현되어 있을 것이다.
         "Hello"라는 값은 하나만 저장되어 있는 것이고, 이를 자열들이 공유해서 표현시 가지고 있는 것이다. 하지만 실질적으로 "Hello"의 할당 시점은 손쉽게 알수 있지만, 파괴 시점을 알수 있는것은 만만치 않다. 그래서 파괴 시점을 알기 위해서 "Hello" 값에 그것을 참조하는 정도를 기록하고, 그 참조가 0가 되는 시점을 값의 파괴 시점으로 삼아야 하는데, 이런 생각을 아까 그림에 다시 넣으면 다음과 같다.
         그리고 여기의 5에 해당 하는 숫자를 '''''Reference count''''' 라고 부른다. 혹자는 ''use count''라고 부르기도 하는데, 학술 용어의 당파에 따른거니 별 상관 안한다. 하지만 나(scott mayer) 그렇게 안부른다.
         이것으로 StringValue의 구현은 일단 끝이다. 이를 사용하는 String 객체의 구현에 들어가야 한다.
         다음과 같다. 여기에서 "More Effective C++" 라는 자열을 공유한다면, 참조세기가 이루어 지는 것일 거다. 그러기 위해서 String의 복사 생성자는, 참조 카운터를 올리고, 자료를 새로 생성할것이 아니라, 그냥 포인터만 세팅해 주는 일을 해야 한다. 이런 과정을 구현하면
         이 코드를 사용하는 상황은 다음과 같고,
         생성자의 손쉬운 구현같이 파괴자 구현도 그리 어려운 일이 아니다. StringValue의 파괴는, 서로가 최대한 사용하고, 값이 파괴 시점은 참조 카운터가(reference counter:이하 참조 카운터만) 1인 경우 더이상 사용하는 객체가 없으므로 파괴하도록 구성한다.
         파괴자의 효율을 비교해도 역시, 마찬가지이다. delete가 불리는 시점은 해당 객체가 더 이상 필요 없을때만 제거하는 것이기 때에 비용을 아낄수 있다.
         다음과 같이 사용되며
         이것의 구현은 약간은 복잡한데, 이유는 생성과 파괴가 동시에 있어야 하는 상황을 고려해야 하기 때이다. 그래도 아직 앞으로 다루어야할 내용에 비해 상당히 간단한 편이다. 자세한 설명은 소스에 주석을 참고하라
         참조세기가 적용된 자열에 대하여 둘러 봤는데, 이번에는 배열에 관한(array-bracket) 연산자들 "[]" 이녀석들에 관해서 생각해 보자. 클래스의 선언은 다음과 같다.
         const String에 대한 값을 주는 것은 아래와 같이 간단히 해결된다. 내부 값이 아무런 영향을 받을 것이 없을 경우이기 떄이다.
         (이 함수는 원래의 C++에서 배열의 사용 개념과 같이, index의 유효성을 점검하지 않는다. 이에 대한 감은은 참조 세기의 주제에 떨어져 있고, 추가하는 것도 그리 어려운일이 아니라 일단은 제외한다.)
         하지만 non-const의 operator[]는 이것(const operator[])와 완전히 다른 상황이 된다. 이유는 non-const operator[]는 StringValue가 가리키고 있는 값을 변경할수 있는 권한을 내주기 때이다. 즉, non-const operator[]는 자료의 읽기(Read)와 쓰기(Write)를 다 허용한다.
          // 내부의 자열의 한 부분을 반환한다.
         그래서 다음과 같은 구을 실행한다면
         이런것을 해결할수 있는 방법으로는 최소한 세가지를 생각할수 있는데, '''첫번째'''는 이것을 없는걸로 취급하고, 무시 해 버리는 것이다. 이러한 접근 방향은 참조 세기가 적용되어 있는 클래스 라이브러리에 상당한 괴로움을 덜어 주는것이다. 하지만 이러한 제를 구현상에서 완전히 무시할수는 없는 노릇이다. '''두번째'''로 생각할수 있는 방법은 이러한것을 하지 말도록 명시하는 것인데, 역시나 복잡하다. '''세번째'''로, 뭐 결국 제거야만 할것이다. 이러한 분제의 제거는 그리 어렵지는 않다. 제는 효율이다. 이런 중복에 관련한 제를 제거하기 위해서는, 새로운 자료 구조를 만들어 내야하고, 이것의 의미는 객체간에 서로 공유하는 자료가 줄어 든다는 의미이다. 즉, 비용이 많이 들어간다. 하지만 어쩔수 없지 않을까?
         간단한 플래그 하나를 추가하는 것으로 이 제는 해결된다. 이번 수정 버전은 공유의 여부를 허락하는 sharable 인자를 더한 것이다. 코드를 보자.
         만약 Item 30에 언급되는 proxy 클래스 방법을 사용해서 읽는 작업과, 쓰는 작업에 대한 것을 구분한다면 StringValue 객체의 숫자를 좀더 줄일수 있을 것이다. 그건 다음 장에서 보자.
  • MoreEffectiveC++/Techniques1of3 . . . . 149 matches
         가상 생성자, 이것에 관해서 생각해 보기는 좀 생소하다. 사실 가상 함수를 부를려면, 객체에대한 참조나, 포인터를 가지고 있어야 하는데, 생성할때 부터 가상(virtual) 함수를 사용한다? 좀 이상하지 않은가? 어떨때, 어떻게 이 '''가상 생성자''' 라는걸 써먹을수 있을꺼?
         NewsLetter 객체는 아마 디스크에서 자료를 적재할 것이다. NewsLetter가 디스크에서 자료를 가지고 보여주기 위해 istream을 사용해서 NewsLetter를 구성할 객체들을 생성한다고 가정한다면 다음과 같은 코드들을 대강 만들수 있는데
         STL이 생소하다면 나중에 익혀라 하지만 위의 아이디어는 주석으로 인해 이해가 갈것이다. 가상 복사 생성자로 인해서, 객체 복사가 상당히 간편해 진다.
         생성자는 실제로 가상 함수가 될수 없다. 마찬가지로 비멤버 함수들 역시 마찬가지 이리라, 하지만 그러한 기능이 필요할 떄가 있다. 바로 앞 예제에서 NLComponent와 그것에서 유도된 클래스들을 예를 들어 보자면 이들을 operator<<으로 출력을 필요로 할때 이리라. 뭐 다음과 같이 하면 제 없다.
         하지만 출력해야할 스트림 객체가 righ-hand 객체라는것이 사용자 입장에서 불편하게 만든다. 우리가 보통 사용하는 것처럼 스트림 객체에 출력할 객체를 넣는 다는 개념이 적용되지 않는 것이리라. 하지만, 전역 함수나 friend함수를 이용해서 구현한다면 더이상 가상함수로 구현할수가 없게 된다. 여기서의 방법이 비멤버 함수를 이용하는 것이다.
         비멤버 함수의 가상(virtual)관련 사용에 대하여 더 다루자면 내용이 복잡해 진다. 이에 대한 관련 사항은 Item 31을 참고하라
          * Item 26: 객체 숫자 제한하기.
         자 지금까지 객체에 대한 이야기로 당신은 미칠 지경에 빠졌을 꺼다. 게다가 이것은 당신을 혼란에 빠트릴 수준까지 왔을 것이다. (첫줄만 직독직해.) 예를들어서 당신의 시스템에 프린터가 하나 밖에 없을때 프린터를 대변하는 객체의 숫자를 하나로 제한해야 하지 않을까? 아니면 하나의 파일에 대하여 16개의 파일 접근자만 허용할때 따위 같은거 말이다. 여기서는 그 해법에 관해서 생각해 본다.
          * 작성자주 : 이 부분은 Singleton 패턴과 연관해서 생각하면 재미있을 것 같다. Singleton 패턴이 DP에 논의될때 이것을 감안 안한것이 아쉽다. 1995년에 발간이라 STL도 제대로 다루지 않았고, C++의 기본적인 법을 이용해 구현하였다. MEC++는 Techniques 부분은 C++의 법과 개념을 극한으로 쓴다는 느낌이 든다.
         자 이렇게 하면 생성자가 private상태라서 외부에서 생성자를 부를수 없기 때에, 외부에서 객체를 생성할수 없다. 이런 아이디어를 바탕으로 생성 자체에 제한을 가해 버리는 것이다. 그럼 처음에 말한 프린터의 예제를 위의 아이디어를 구현해 보자.
          // 객체의 사용권한을 부여 하는 역할을 한다.
         클라이언트 입장에서는 이렇게 사용하면 된다.
         하지만 이렇게 구현시에는 thePrinter가 "'''전역 공간을 사용해야 한다.'''" 것으로 코드를 약하게 만든다. 알다 시피, 전역 공간의 사용은 되도록이면 피해야 하는 방법이며, thePrinter를 Printer클래스 내부에 숨기기를 추천하다. thePrinter를 Printer클래스 내부 메소드로 넣어 버리고, friend를 삭제해 보자.
         그리고 이를 사용하는 클라이언트 측에서는 다음과 같은 방법으로 사용하면 되겠다.
         전역 공간 사용에 대한 제의 해결책의 또다른 접근 방법이라고 한다면, name space를 사용하는 것이다. 다음과 같이 단순히 PrintingStuff name space로 묶어 버린다.
         물론 using 키워드를 사용해서 해당 이름을 자유롭게 사용할수 잇다.
         thePrinter().reset(); // 그리고 사용하는 과정
         thePrinter 를 적용할때 두가지 생각해야할 미묘한 제점이 있다.
         '''첫번째'''로 만들어지는 객체의 위치이다. 위의 제시된 두가지의 방법에서, Printer 정적(staitc) 객체가 하나는 friend로 클래스의 제어권을 획득한 함수 내부에 있고, 또 하나는 클래스 멤버 메소드 내부에 있다. 함수에 있는 경우에는 정적(static) 객체는 항상 만들어져 있다. 이 의미는 해당 코드의 프로그램이 시작될때 부터 아예 객체가 만들어 진다는 의미이다. 즉, 한번도 그 객체를 사용하지 않아도, 객체는 이미 만들어져 비용을 지출하게 한다. 반면에, 함수 멤버 메소드 내부에 정적(static)객체를 만들 후자의 경우에는 객체를 만드는 역할을 하는 메소드인 Printer::thePrinter 가 제일 처음 호출될때 객체가 생성된다. 이것은 C++에서 "사용하지 않는 객체에 대한 비용은 지불하지 않는다."의 설계 다소 복잡한 이념에 근간을 둔 개념이다. 그리고 이러한 복잡한 개념은 당신을 해깔리게 만든다.
         '''두번째'''로 미묘한 제라면, inline과 정적 객체의 관게이다. 다음과 같은 비멤버 버전의 thePrinter를 보면
  • MoreEffectiveC++/Miscellany . . . . 147 matches
         원:As software developers, we may not know much, but we do know that things will change. We don't necessarily know what will change, how the changes will be brought about, when the changes will occur, or why they will take place, but we do know this: things will change.
         좋은 소프트웨어는 변화를 잘 수용한다. 새로운 기능을 수용하고, 새로운 플랫폼에 잘 적용되고, 새로운 요구를 잘 받아 들이며, 새로운 입력을 잘 잡는다. 이런 소프트웨어는 유연하고, 강하고, 신뢰성있고, 돌발 상황(사고)에 의해 죽지 않는다. 이런 소프트웨어는 미래에 필요한 요소를 예상하고, 오늘날 구현시에 포함시키는 프로그래머들에 의해서 디자인된다. 이러한 종류의 소프트웨어는-우아하게 변화하는 소프트웨어- ''program in the future tens''(매래의 프로그램:이하 영 직접 사용)을 감안하는 사람들이 작성한다.
         이런 좋은 소프트웨어를 만들기 위한 방법으로, 주석이나, 기타 다른 서 대신에 C++ 내부에 디자인으로 구속해 버리는 것이다. 예를들자면 '''만약 클래스가 결코 다른 클래스로 유도되지를 원치 않을때''', 단시 주석을 헤더 파일에 넣는 것이 아니라, 유도를 방지하기 위하여 C++의 법을 이용한 기술로 구속 시킨다.;이에 대한 방법은 '''Item 26'''에 언급되었다. 만약 클래스가 '''모든 인스턴스를 Heap영역에 생성시키고자 할때''', 클라이언트에게 말(서)로 전달하는 것이 아니라. '''Item 27'''과 같은 접근으로 제한 시켜 버릴 수 있다. 만약 클래스에 대하여 복사와 할당을 막을려고 할때는, 복사 생성자와 할당(assignment) 연산자를 사역(private)으로 만들어 버려라. C++은 훌륭한 힘과, 유연성, 표현성을 제공한다. 이러한 언어의 특징들을 당신의 프로그래밍에서 디자인의 정책을 위해서 사용하라.
         "변화한다.", 험난한 소프트웨어의 발전에 잘 견디는 클래스를 작성하라. (원:Given that things will change, writeclasses that can withstand the rough-and-tumble world of software evolution.) "demand-paged"의 가상 함수를 피하라. 다른 이가 만들어 놓지 않으면, 너도 만들 방법이 없는 그런 경우를 피하라.(모호, 원:Avoid "demand-paged" virtual functions, whereby you make no functions virtual unless somebody comes along and demands that you do it) 대신에 함수의 ''meaning''을 결정하고, 유도된 클래스에서 새롭게 정의할 것인지 판단하라. 그렇게 되면, 가상(virtual)으로 선언해라, 어떤 이라도 재정의 못할지라도 말이다. 그렇지 않다면, 비가상(nonvirtual)으로 선언해라, 그리고 차후에 그것을 바꾸어라 왜냐하면 그것은 다른사람을 편하게 하기 때이다.;전체 클래스의 목적에서 변화를 유지하는지 확신을 해라.
         원리를 구현하기 위해 특이하게 하지 마라.:연산자와 함수를 자연스럽고 명시적인 법으로 제공하라. built-in(기본 자료) 형으로 구현하라:의심될때는 int로 하라
         어떤이가 무언가를 '''할수있다는것''' 알게되면 그들을 그것을 '''할것이다.''' 그들은 예외를 던질 것이다. 그들은 그들 스스로에게 객체를 할당할 것이다. 그들은 값을 제공하기전에 객체를 사용할 것이다. 그들은 객체를 제공하겠지만, 결코 사용하지 않는다. 그들은 커다란 값을 제공할 것이다. 그들은 아주 작은 값을 제공할 것이다. 그들은 null 값을 제공할 것이다. '''일반적으로 만약 컴파일이 되면 어떤이가 그것을 할것이다.''' 결과적으로 당신의 클래스를 정확히 사용하는건 쉽게, 이상하게 사용하는건 어렵게 만들어라. 클라이언트가 실수를 하도록 해라 그리고 당신의 클래스들이 그러한 에러들을 방지하고, 찾고, 수정할수 있게 만들어라. (예를들어 Item 33 참고)
         당신의 코드를 변화가 필요할때, 그 효과를 지역화(지역화:localized) 시키도록 디자인 해라. 가능한한 캡슐화 하여라:구체적인 구현은 private 하라. 광범위하게 적용해야 할곳이 있다면 이름없는(unamed) namespace나, file-static객체 나 함수(Item 31참고)를 사용하라. 가상 기초 클래스가 주도하는 디자인은 피하라. 왜냐하면 그러한 클래스는 그들로 부터 유도된 모든 클래스가 초기화 해야만 한다. - 그들이 직접적으로 유도되지 않은 경우도(Item 4참고) if-than-else을 개단식으로 사용한 RTTI 기반의 디자인을 피하라.(Item 31참고) 항상 클래스의 계층은 변화한다. 각 코드들은 업데이트 되어야만 한다. 그리고 만약 하나를 읽어 버린다면, 당신의 컴파일러로 부터 아무런 warning를 받을수 없을 것이다.
         이와 같은 내용들을 아무리 반복해서 말하곤 하지만, 대부분의 프로그래머들은 현재의 시류를 그대로 고집한다. 훌륭한 안목의 C++ 전가가 말하는 충고에 관해서 생각해라.
         그렇지만 다음과 같은 구이 더해지면, 생각이 바뀔것이다.
         그 의미는 클라이언트 코드에 대하여 약간의 변화가 -delete-결과적으로 클래스 B의 정의까지 변화해야 하는 필요성을 보여준다. 그런한 상황이 발생하면, B의 클라이언트들은 모두 재 컴파일 해야 한다. 아까, 이 필자의 충고를 따르면, 확장 코드에 대한 클라이언트의 라이브러리도 재 컴파일, 재 연결해야 한다. 이는 소프트웨어 디자인에 효과를 미틴다.
         미래의 시류로 생각하는 관점은 완전히 다르다. 지금 어떻게 클래스를 사용하느냐를 묻는것 대신에, '''어떻게 클래스를 디자인 하느냐를 묻는다.''' 미래 지향적 생각으로는 이렇게 말한다. 만약 기초 클래스로 사용된 클래스가 '''디자인''' 된다면 그 클래스는 가상 파괴자를 가져야 한다. 그러한 클래스는 지금과 미래 모두 정확히 동작해야 한다. 그리고 그들오 부터 클래스들이 파생될때 다른 라이브러리의 클래스에게 영향을 끼쳐서는 안된다. ( 최소한, 파괴자로 인한 논란 만큼, 영향이 없어야 한다. 추가적인 변화가 클래스에 필요하면 다른 클라이언트들오 아마 영향을 받을 것이다.)
          * 우리는 가상 파괴자를 만들지 않는다. 왜냐하면, String가 vtbl을 가지기를 원하지 않기 때이다. 우리는 String*를 가지게할 의도는 없다. 그래서 이는 제가 되지 않는다. 우리는 이것이 수반하는 어려움에 대하여 생각하지 않는다.
         확실히 vtbl 제는 합법적인 접근이다. (Item 24참고) 대다수 String클래스의 구현에서 오직 하나의 char*를 각각의 String 객체가 가지고 있다. 그래서 각 String객체에 추가되는 vptr도 두배의 양을 차지한다. 허용하지 않으려는 이유는 이해하기 쉽다. String같은 클래스를 무겁게 사용하면 눈에 띠는 성능 저하가 있다. 앞서 언급한 경우 클래스당 성능 저하는 약 20%정도를 가지고 온다. (Item 16참고)
         자열 객체에 대한 메모리의 할당은-자의 값을 가지고 있기 위해 필요로하는 heap메모리까지 감안해서-일반적으로 char*이 차지하는 양에 비하여 훨씬 크다. 이러한 관점에서, vtpr에 의한 오버헤드(overhead)는 미미하다. 그럼에도 불구하고, 그것은 할만한(합법적인,올바른) 고민이다. (확실히 ISO/ANSI 포준 단체에서는 그러한 관점으로 생각한다. 그래서 표준 strnig 형은 비 가상 파괴자(nonvirtual destructor) 이다.)
         어떤 것이 더 많은 제를 일으키는 것으로, 밴더들의 주목을 받고 있을까? "우리는 String*을 사용하는 목적을 가지지 않는다. 그래서 이는 별 제가 되지 않는다." 그건 아마 사실일 것이다. 하지만 그들의 String클래스는 수많은 개발자들이 사용가능한 것이다. 수많은 개발자들이 C++의 수준이 제각각이다. 이러한 개발자들이 String상에서의 비가상 파괴자(no virtual destructor)를 이해할까? 그들이 비가상 파괴자를 가진 String때에 String으로 유도된 새로운 클래스가 모험 비슷한 것을 알고 있을까? 이런 벤더들은 그들의 클라이언트들이 가상 파괴자가 없는 상태에서 String*를 통하여 삭제가 올바르게 작동하지 않고, RTTI와 String에 대한 참조가 아마 부정확한 정보를 반환한다는걸 확신시킬까? 이 클래스가 정확히 쓰기 쉬운 클래스일까? 부정확하게 쓰기 어려운 클래스일까?
         이 벤더는 물론 String클래스에 관한 유도해서는 안되도록 디자인 된 서들을 제공할 것이다. 하지만, 프로그래머들이 서를 보는 도중에 그 부분을 놓쳤다면 어떻게 하겠는가?
         대안으로 C++을 사용할때 유도를 제한해 버리는 것이다. Item 26에서 어떻게 객체를 heap에 만들거고 auto_ptr객체로 heap객체를 조정하는 방법에 관해서 언급하였다. String을 위한 인터페이스 생성은 아마 독특하고 불편한 다음과 같은 법 을 요구한다.
         하지만 정확하지 않게 동작하는 유도된 클래스의 사용을 억제하는 것은 법적으로 상당히 불편함을 낳는다. (String에서 이런 법적으로 불편한 면이 그리 강조되지 않다. 그렇지만 다른 클래스에서 이러한 법적인 불편함을 따지는 면이 중요하다.)
         물론, 필요하다면 현재 감안하는 생각으로 접근한다. 당신이 개발중인 소프트웨어는 현재의 컴파일러에서 동작해야만 한다.;당신은 최신의 언어가 해당 기능을 구현할때까지 기다리지 못한다. 당신의 현재 가지고 있는 언어에서 동작해야 하고. 그래서 당신의 클라이언트에서 사용 가능해야 한다.;당신의 고객에게 그들의 시스템을 업그레이드 하거나, 수행 환경을(operating environment) 바꾸게 하지는 못할것이다. 그건은 '''지금''' 수행함을 보증해야 한다.;좀더 작은, 좀더 빠른 프로그램에 대한 약속은 라이프 사이클을 줄이고, 고객에게 기대감을 부풀릴 것이다. 그리고 당신이 만드는 프로그램은 '''곧''' 작동해야만 한다. 이는 종종 "최신의 과거"를 만들어 버린다. 이는 중요한 속박이다. 당신은 이를 무시할수 없다.
          * 어떤 부분이 '''현재'''사용할수 없더라도, 완전한 클래스를 제공하라. 새로운 요구가 당신의 클래스를 만들게 할때, 당신은 새로운 클래스를 수정하거나, 과거로 돌아갈 일이 없을꺼다.
  • MoreEffectiveC++/Efficiency . . . . 139 matches
         80-20 규칙을 생각할때 이 숫자에 너무 매달릴 필요는 없다. 때로 사람들은 90-10이 될수도 있는거고, 실험적인 근거도 역시나 그렇게 될수 있는 것이다. 정확한 숫자이든, 중요한 사안,포인트는 바로 이것이다.: 당신의 소프트웨어의 수행의 부하는 거의 항상 소프트웨어의 작은 부분에서 결정되어 진다는 점이다.
         프로그래머의 노력이 당신의 소프트웨어의 성능 개선에 촛점을 맞추게 된다면 80-20 규칙은 당신의 생활을 '''간편하게(윤택하게)''', 혹은 좀더 '''복잡히(어렵게)''' 만들어 나갈것이다. '''간편하게(윤택하게)''' 쪽을 생각한다면, 80-20 규칙은 당신이 성능에 대하여 솔직히 어느 정도 평범한 코드의 작성을 대다수에 시간을 보낼수 있음을 의미한다.왜냐하면 당신이 일하는 시간의 80%에 작성된 것은 시스템의 성능에 관해 특별히 해를 끼치지 않는다는 의미이기 때이다. 저의미는 아마 많은 부분이 당신을 위한 말은 아니지만, 그것은 당신의 스트레스 정도를 다소 줄여줄수 있다. '''복잡히(어렵게)'''를 생각해 본다면 80-20 규칙은 만약 당신이 성능제를 가지고 있다면 당신 앞에 놓여진 일은 험하다는 걸 의미한다. 왜냐하면, 당신은 오직 그 제를 일으키는 작은량의 코드들을 제거해야 하고, 성능을 비약적으로 향상시키는 방법을 찾아야 하기 때이다. 이렇게 80-20 규칙은 두가지의 반대되는 다른 관점에서의 접근이 주어진다.:대다수 사람들은 그렇게하고, 옯은 방법을 행해야 할것이다.
         많은 사람들이 병목현상(bottleneck)에 관한 해결책에 고심한다. 경험에 따른 방법, 직관력, tarot 카드이용(운에 맏기기) 그리고 Ouija(점괘를 나타내는 널판지의 상표명, 즉 점보기) 보드를 사용 하기도 하고, 소이나 잘못, 올바르지 않은 메모리 할당, 충분하지 않은 최적화를 한 컴파일러, 혹은 치명적인 순환 구을 만들어내기 위해 어셈블리 언어를 사용한 돌대가리 메니저들의 메니저들. 이러한 사정들은 일반적으로 멸시의 비웃음을 동반하고, 그들의 예언은 솔직히 잘못된 것이다.
         대부분 프로그래머들은 그들의 프로그램에 관한 특성에 관하여 멍청한 직관력을 가지고 있다. 왜냐하면 프로그램 성능의 특징은 아주 직관적이지 못하다. 결과적으로 남에 눈에는 띄지 않고 말할수 많은 노력이 성능 향상을 위해 프로그램의 관련된 부분에 쏟아 부어 진다. 예를들어서 아마, 계산을 최소화 시키는 알고리즘과 데이터 구조가 프로그램에 적용 되다. 그렇지만 만약에 입출(I/O-bound)력 부분 적용된다면 저것은 허사가 된다. 증가되는 I/O 라이브러리는 아마 컴파일러에 의하여 바뀐 그 코드에 의해 교체될것이다. 그렇지만, 프로그램이 CPU-bound에 대한 사용이라면 또 이건 별로 중요한 포인터(관점)이 되지 않는 것이다.
         일을 할 그 부분은 실질적으로 당신의 프로그램의 20%로, 당신에게 고민을 안겨주는 부분이다. 그리고 끔찍한 20%를 찾는 방법은 프로그램 프로파일러(profiler:분석자)를 사용하는 것이다. 그렇지만 어떠한 프로파일러(profiler:분석자)도 못할일이다. 당신은 가장 관심 있는 직접적인 해결책을 내놓는 것을 원한다.예를 들자면 당신의 프로그램이 매우 느리다고 하자, 당신은 프로파일러(profiler:분석자)가 프로그램의 각각 다른 부분에서 얼마나 시간이 소비되는지에 관해서 말해줄껄 원한다. 당신이 만약 그러한 능률 관점으로 중요한 향상을 이룰수 있는 부분에 관해 촛점을 맞추는 방법만 알고 있다면 또한 전체 부분에서 효율성을 증대시키는 부분을 말할수있을 것이다.
         프로파일러(profiler:분석자)는 각각의 구이 몇번이나 실행되는가 아니면 각각의 함수들이 몇번이나 불리는거 정도를 알려주는 유틸리티이다. 성능(performance)관점에서 당신은 함수가 몇번 분리는가에 관해서는 그리 큰 관심을 두지 않을 것이다. 프로그램의 사용자 수를 세거나, 너무 많은 구이 수행되어 불평을 받는 라이브러리를 사용하는 클라이언트의 수를 세거나, 혹은 너무 많은 함수들이 불리는 것을 세는 것은 다소 드 일이기도 하다. 하지만 만약 당신의 소프트웨어가 충분이 빠르다면 아무도 실행되는 구의 수에 관해 관여치 않는다. 그리고 만약 너무 느리면 반대겠지. (이후 장이 너무 이상해서 생략, 바보 작성자)
         몇번이나 구이 실행되는가, 함수가 실행되는가는 때때로 당신의 소프트웨어 안의 모습을 이야기 해준다. 예를들어 만약 당신이특별한 형태의 객체를 수백개를 만든다고 하면, 생성자의 횟수를 세는것도 충분히 값어치 있는 일일 것이다. 게다가 구과, 함수가 불리는 숫자는 당신에게 직접적인 해결책은 제시 못하겠지만, 소프트웨어의 한면을 이해하는데 도움을 줄것이다. 예를들어서 만약 당신은 동적 메모리 사용을 해결하기 위한 방법을 찾지 못한다면 최소한 몇번의 메모리 할당과 해제 함수가 불리는것을 아게되는것은 유용한 도움을 줄지도 모른다. (e.g., operators new, new[], delete and delete[] - Item 8참고)
         이런 결과들을 막는데 최선책은 당신의 소프트웨어에 가능한한 많은 데이터 들에게 프로파일을 시도하는것이다. 게다가 당신은 각 데이터들이 소프트웨어가 그것의 클라이언트들(혹은 최소한 가장 중요한 클라인트들에게라도)에게 사용방식을 잘 보여주도록 확신할수 있어야만 한다. 잘표현되는 데이터들은 얻기가 용이하다 왜냐하면 프로파일링 중에는 당신이 그들의 데이터를 사용할수 있기때에 많은 클라이언트들이 좋기 때이다. (뭔소리야. --;) 당신은 당신의 소프트웨어를 그들과 만나면서 조정(tuning)을 할것이고, 그것이 오직 당신이나 클라이언트들 양쪽에게 좋은 방법이다.
         DeleteMe ) lazy evaluation이나 여러 용어가 마땅한 한글말이 없어서 이후 영을 직접 쓴다. 전반적인 내용이 의미 설명을 하다. --상민
         이런 같은 관점을 이제 막 5년차 C++프로그래머에 대입 시켜본다. 컴퓨터 과학에서, 우리는 그러한 뒤로 미루기를 바로 ''''lazy evaluation''''(구지 해석하면 '''필요시 연산, (최)후 연산, 늦은 연산'''정도라 할수 있겠다.)이라고 말한다. 당신이 lazy evaluation을 사용하면 당신의 클래스들이 최종적으로 원하는 결과가 나올 시간까지 지연되는 그런 상태로 코딩을 해야 한다. 만약 결과값을 결국에는 요구하지 않는다면, 계산은 결코 수행되지 않아야 한다. 그리고 당신의 소프트웨어의 클라이언트들과 당신의 부모님은 더 현명하지 않아야 한다.( 무슨 소리냐 하면, 위의 방치우기 이야기 처럼 부모님이나 클라이언트들이 lazy evaluation기법의 일처리로 해결을 하지 않아도 작업에 대한 신경을 안써야 한다는 소리 )
         아마 당신은 내가 한 이야기들에 대하여 의스로운 점이 있을것이다. 아마 다음의 예제들이 도움을 줄것이다. 자!, lazy evaluation은 어플리케이션 상에서 수많은 변화에 적용할수 있다. 그래서 다음과 같이 4가지를 제시한다.
          class String { ... }; // 자열 클래스 (이건 밑의 언급과 같이 표준 스트링 타입과
          // 같이 사용 방식이 적용된다고 가정한다. 하지만 결코 존재하지는 않는다.)
         String 복사 생성자의 적용시, s2는 s1에 의하여 초기화 되어서 s1과 s2는 각각 "Hello"를 가지게된다. 그런 복사 생성자는 많은 비용 소모에 관계되어 있는데, 왜냐하면, s1의 값을 s1로 복사하면서 보통 heap 메모리 할당을 위해 new operator(Item 8참고)를 s1의 데이터를 s2로 복사하기 위해 strcpy를 호출하는 과정이 수행되기 때이다. 이것은 ''''eager evaluation''''(구지 해석하면 '''즉시 연산''' 정도 일것이다.) 개념의 적용이다.:s1의 복사를 수행 하는 것과, s2에 그 데이터를 집어넣는 과정, 이유는 String의 복사 생성자가 호출되기 때이다. 하지만 여기에는 s2가 쓰여진적이 없이 새로 생성되는 것이기 때에 실제로 s2에 관해서 저런 일련의 복사와, 이동의 연산의 필요성이 없다.
         사실, 값을 공유하는 시간은 둘중 아무거나 값이 수정되어 버릴때 다른점이 발생하기 전까지만 유효한 것이다. :ㅣ그런데 양쪽이 다 바뀐게 아니라 한쪽만 바뀌는 이런 지적은 중요한것이다. 다음과 구처럼
         이와 같은 구사용으로, String의 convertToUpperCase 함수를 적용하면, s2의 값의 복사본을 만들어야 하고, 수정되기전에 s2에 그걸 s2의 종속되는 데이터로 만들어야 한다. convertToUpperCase 내부에 우리는 lazy 상태가 더이상 지속되지 않도록 하는 코드를 넣어야 한다.:s2가 마음대로 다룰수 있도록 s2의 공유된 값의 사본을 복사해야 한다. 반면에 만약 s2가 결코 수정되지 않을 것이라면, 이러한 s2만의 값을 복사하는 일련의 과정이 필요 없을 것이다. 그리고 s2가 존재하는 만큼 값도 계속 존재해야 한다. 만약 더 좋게, s2가 앞으로 결코 변하지 않는다면, 우리는 결코 그것의 값에 대한 노력을 할필요가 없을 것이다.
         값의 공유에 관하여 좀더 자세하게 이 제에 논의를 제공할 부분은 Item 29(모든 코드가 들어있다.)에 있다. 하지만 그 생각 역시 lazy evaluation이다.:결코 당신이 정말로 어떤것을 필요하기 전까지는 그것의 사본을 만드는 작업을 하지 않것. 일단 그보다 lazy 해져봐라.- 어떤이가 당신이 그것을 제거하기 전까지 같은 자원을 실컷 사용하는것. 몇몇 어플리케이션의 영역에서 당신은 종종 저러한 비합리적 복사의 과정을 영원히 제거해 버릴수 있을 것이다.
         reference-counting 을 토대로한 자열의 구현 예제를 조금만 생각해 보면 곧 lazy evaluation의 방법중 우리를 돕는 두번째의 것을 만나게 된다. 다음 코드를 생각해 보자
          String s = "Homer's Iliad"; // 다음 자열이 reference-counting으로
         첫번째 operator[]는 자열을 읽는 부분이다,하지만 두번째 operator[]는 쓰기를 수행하는 기능을 호출하는 부분이다. 여기에서 '''읽기와 쓰기를 구분'''할수 있어야 한다.(distinguish the read all from the write) 왜냐하면 읽기는 refernce-counting 구현 자열로서 자원(실행시간 역시) 지불 비용이 낮고, 아마 저렇게 스트링의 쓰기는 새로운 복사본을 만들기 위해서 쓰기에 앞서 자열 값을 조각내어야 하는 작업이 필요할 것이다.
  • ViImproved/설명서 . . . . 128 matches
          텍스트 파일 응용 프로그램의 source data 또는 서화된 파일(ASCII)
          Screen editor 자 단위 편집(vi)
         ▶Vi 모드 명령어(편집)모드 일반 및 초기 모드로 서의 수정, 삽입, 대체 등 명령 취소 ; <ESC>
          입력 모드 서의 입력 (a A I ...) 종료 : <ESC>
          마지막 명령반복 사용 도트 명령어(.) 택스트변경시(d s c ..) 작업 동작 반복
          예 제 set wm=3 set sm ## 축약어 사용. 입력시 bbm을 bbmaster@flower.chungnam.ac.kr로 바뀐다 ab bbm bbmaster@flower.chungnam.ac.kr ## 스펠링 체크 매크로 map V :w^M:!spell -x %^M:e!^M^M
         주 요용 어 번지지정 명령 vi 명령중에서 처리해야할 대상의 종류를 사용자가 지정할수 있도록 하는 명령예) d 명령에서, dw는 단어 삭제를, db는 앞단어의 삭제를 의미한다.
          비모드형 비모드형 프로그램은 키들을 항상 같은 의미로 사용한다
          :r <file> ↓ <file>을 현재의 서로 read
          :sh↓ 쉘의 임시사용 vi로 복귀시(^d, exit 사용)
          G 화일의 마지막 행에서 첫번째 자로 이동
          1G 파일의 처음 행의 첫번째 자로 이동
          nG 파일의 n번째 행의 첫번째 자로 이동
          1
          ^ 공백이 아닌 최초
          fc (nfc) 다음에 나타나는 자 c로 이동
          Fc (nFc) 이전에 나타나는 자 c로 이동
          tc (ntc) 다음에 나타나는 자 c 이전으로 이동
          Tc (nTc) 이전에 나타나는 자 c 이전으로 이동
          ; (n;) 바로 전에 검색한 방법과 같은 방향으로 자 c로 이동
  • HolubOnPatterns/밑줄긋기 . . . . 120 matches
          * 복싱에서는 스트레이트, 잽, 훅, 이 세가지 펀치를 기반으로 다른 모든 종류의 펀치가 나온다고한다. ~~~ 이러한 기본 자세가 튼튼하다면 그만큼 다른 펀치를 배우는 데도 진입 장벽이 낮아지기 때이다.
          * 스포츠를 사용해서 비유를 하는건 쉽게 이해는 되는데, 항상 별로 재미없어. - [김준석]
          * 이디엄은 일상적으로 사용하게 된 패턴이다.
          * 지난주엔 이 말 때에 혼란스러웠는데 책에서 다시 보니 왜 혼란스러웠는지 모르겠어요. - [김수경]
          * 지금은 이디엄이 되어 누구나 아무 생각 없이 사용하는 상속이 패턴이었다는 사실도 재미있고 C언어가 왕이었다는 표현도 재미있네요. - [김수경]
          * 에 달린 역자주석을 보니 노스 화이트헤드가 "명이 진보한다는 것은 인간이 의식적인 노력 없이 자동적으로 수행하는 활동이 증가하고 있음을 의미"한다는 지적을 했다고 한다. 이디엄은 과연 좋은것인가? 이디엄이야말로 생각없이 적용하는 패턴이 아닌가? - [서지혜]
          * 다양한 사례에 적용해서 적용되기 전보다 높은 효율을 보일 수 있다는 것이 충분히 검증되었기 때에 이디엄이 되는 것 아닐까요? 물론 모든 것에 100% 적용되는 이디엄이란 존재하지 않겠지만요. - [박성현]
          * 패턴은 어떤 류의 제를 해결하기 위해 사용되는 일반적인 기술이다.
          * 패턴은 이와 같이 일반적인 해결 방법이기 때에 한 프로그램에서 다른 프로그램으로 디자인패턴을 복사해 붙여넣는 것은 거의 불가능하다.
          * 그들은 패턴 자체를 패턴을 설명하기 위해 사용한 코드와 혼동하고 있는 것이다.
          * 현실에서는 한 패턴에 참여하고 있는 객체와 클래스가 동시에 다른 패턴에서도 사용되는 경우가 매우 많다.
          * 패턴에 입한 지 얼마 안 되는 초보자일수록 무언가 멋져 보이는 클래스 다이어그램에 관심을 쏟는데, 더욱 중요한 것은 '패턴의 의도'(혹은 목적)와 '동적인 행동양식'이다.
          * 패턴의 실체화 방식은 다양하지만 여러분이 좋아하는 요소만 쏙 뽑아 사용할 수는 없다.
          * 패턴을 찾아내려면 아키텍처의 의도를 포함한 맥 정보가 필요하다.
          * 즉 패턴을 사용하지 않고 설명하는 것보다 훨씬 짧고 훨씬 명확했다.
          * 디자인 패턴은 보통 디자인 서에 상세히 나타나지는 않으며 구현하는 사람이 내리는 결정을 나타내 준다.
          * '우둔한 프로그래머와 아키텍처'는 패턴이 항상 좋은 것이며 가능한 모든 곳에서 사용해야 한다고 일관되게 믿는다.
          * 미래에 변화될 것이라 생각하기 때에 코드를 복잡하게 하는 것은 좋은 생각이 아니다.(적어도 내 경우는 미래를 예측하려 할때마다 내 예상이 빗나갔다.)
          * 그리고는 구현하고 나서는 스스로 납득을 하게 됩니다. '이러이러하게 하는게 더 좋은 사용자 경험을 제공할 수 있을거야.' 는 무슨 -_-; - [박성현]
          * 사용자가 무언가를 정말로 하고 싶어한다면 이에 대해 질하지 말아야 한다고 주장한다.
  • EffectiveC++ . . . . 111 matches
         DeleteMe #define(preprocessor)에 대해 const와 inline을(compile)의 이용을 추천한다. --상민
         define 된 ASPECT_RATIO 란 상수는 1.653으로 변경되기때에 컴파일러는 ASPECT_RATIO 란것이 있다는 것을 모르고 symbol table 에?들어가지 않는다. 이는 debugging을 할때 제가 발생할 수 있다. -인택
          int scores[NUM_TURNS]; // 상수의 사용.
         #define -> inline (매크로 사용시)
         #define 을 const와 inline으로 대체해서 써도, #ifdef/#ifndef - #endif 등.. 이와 유사한 것들은 [[BR]]
         아직까지 유용하게 사용되므로, 안쓸필요는 없겠죠? [[BR]]
          매크로는 말 그대로 치환이기 때에 버그 발생할 확률이 높음. 상수선언이나 함수선언같은 경우는 가급적 const 나 inline으로 대체하는게 좋겠지. (으.. 그래도 실제로 짤때는 상수 선언할때는 #define 남용 경향이..[[BR]]
          * ''생성자 및 소멸자와 적절히 상호동작하기 때에. they are clearly the superior choice.''
         typedef를 사용했을때의 delete.. --? : 새로운 제 제기
         나중에 메모리를 해제하기 위해서 소멸자에서 delete를 사용한다.[[BR]]
         위의 세가지중 처음의 2가지는 제대로 안해주면 바로바로 눈에 띄이기 때에 괜찮지만, [[BR]]
         세번째 '''소멸자에서 포인터 삭제'''에 관한 것을 제대로 안해주면 메모리 유출(memory leak)으로 그냥 처리되기 때에 클래스에 포인터 멤버를 추가할 때마다 반드시 명심해야 한다.
         이것 역시 메모리를 해제할 것의 size를 넣어서 해제하기 때에. [[BR]]
         X *px2 = new X; // error!, "정상 form에 대해 호환이 이루어 지지않는 제점."
         위의 제를 해결하기 위해.
         효율성 때이랍니다. 새로 작성해주는게 얼마나 큰 효율을 보이기에 default로 제공해주는 것을 [[BR]]
         쓰지 않는 것일까? --a 사실 몰랐는데, 일반 적은 new (default new연산자)를 사용하게 되면 할당된 블록의 [[BR]]
         DeleteMe 그런 의미보다 String 이나, linked list 혹은 기타 여러 기타 데이터 형으로 많은 수의 할당을 통해서 쓸수 있는 인자의 경우에는 사용자 정의 new를 이용하여 가능하면 공용 메모리 공간에서 활동시켜서, 메모리 할당 코드를 줄이고 (메모리 할당의 new와 alloc는 성능에 많은 영향을 미칩니다.) 메모리를 줄이고 효율적 관리를 할수 있다는 의미 같습니다. 그런 데이터 형으로 쓰이는 인자가 아닌 한 app안에서 단 한번만 사용되는 클래스라면 구지 new를 성의해서 memory leak의 위험성을 증가 시키는 것보다, 일반적인 new와 생성자 파괴자의 규칙을 쓰는것이 좋을겁니다. --상민
         객체 a의 포인터는 자열 "Hello"를, 객체 b내의 포인터는 "World"자열을 담고 있는 메모리를 가리킨다.[[BR]]
         클래스 내에 operator=가 정의 되어 있지 않기 때에, C++에서 default 치환 연산자를 호출한다.[[BR]]
  • XMLStudy_2002/Start . . . . 108 matches
         XML 서 작성하는 방법을 익힌다.
         === XML 서의 종류 ===
          *XML 서의 종류를 나누어 보면 다음 세 가지로 나눌 수있다
          1 Invalid Documents : XML의 태그 규칙을 따르지 않거나,DTD를 사용한 경우에 DTD에 정의된 규칙을 제대로 따르지 않는
          2 Well-Formed Documents : DTD를 사용하지는 않지만,XML의 태그 규칙을 따르는
          3 Valid Documents : XML의 태그 규칙을 지키며 DTD에 정의된 방식으로 바르게 작성된
          * 위에 3개중 Invalid Documents는 실제 XML 서로서의 역할을 할수 없다. XML 파서로 파싱 했을 때 바르게 파싱되지 않기 때이다.
          * 2번은 XML 서에 DTD를 사용하지않았지만 XML 서 태그 규칙에 맞게 작성되었으므로 Well-Formed 서로 사용된다.
          * 3번은 DTD도 사용하였고 태그 규칙도 맞게 작성된것이다.
         === XML 서의 태그 규칙 ===
          1 시작 태그가 있으면 반드시 닫는 태그가 사용되어져야 한다.
          2 시작 태그에 대응하는 닫는 태그가 오기전에 시작 태그의 바깥에 위치한 태그의 닫는 태그가 위치하지 않아야 한다.(태그들이 겹쳐서(orverlapped) 사용될수 없다.)
         === XML을 사용하여 서 작성하는 방법 ===
          step1. DTD 사용 여부 선택
          step2. DTD를 사용하는 경우 사용할 DTD 선정 또는 새로 설계하여 작성
          step3. Well-formed 또는 Valid한 서가 되도록 XML 서 작성
         == XML 서 ==
          *XML 서란 어떤것인가?
         === XML 서란 무엇인가? ===
          *XML 서는 XML로 기술된 구조적인 정보로 구성되는 서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid한 형태로 작성된 서를 말한다. ---> 정의
  • 1002/Journal . . . . 97 matches
          ~ 1 : 31 PC 7 잠그기 위해 경비아저씨께 전화 & 기다리기
         이중 웹서핑으로 32분을 쓰고, 휴식으로 1시간 30분을 또 쉬고, 중간중간 인터넷에 별 목적없이 돌아다니는 시간이 많았다는 점이 제.
         읽기 준비 전 Seminar:ThePsychologyOfComputerProgramming 이 어려울 것이라는 생각이 먼저 들어서, 일단 영어에 익숙해져야겠다는 생각이 들어서 Alice in wonderland 의 chapter 3,4 를 들었다. 단어들이 하나하나 들리는 정도. 아직 전체의 장이 머릿속으로 만들어지진 않는 것 같다. 단어 단위 받아쓰기는 가능하지만, 장단위 받아쓰기는 힘든중.
          한글 책을 읽을때엔 한글로 요약한다. 영어책을 읽는 중 한글로 요약하려니 내가 읽을때 가급적 한글로 해석 안하려고 하는 연습중이다. 그러하기엔 또 지금 영어 작능력이 뛰어나지 않다.
          책을 읽으면서 '해석이 안되는 장' 을 그냥 넘어가버렸다. 즉, NoSmok:HowToReadaBook 에서의 첫번째 단계를 아직 제대로 못하고 있는 것이다. 그러한 상황에서는 Analyicial Reading 을 할 수가 없다.
          * 왜 이런식으로 읽을까 하는 생각을 해보았는데, 영어로 된 책을 읽을때는 주로 제해결을 위해 읽을때가 많아서 그런것 같다. (속칭 고등학교 영어시험용 읽기) 빨리 읽으려고 개인적인 의역을 너무 오용하는것 같기도 하다. 그리고, 단어를 습득하는데 좀 더 민감해질 필요가 있을 것 같다. (여러번 읽기 등) Chapter 7,8 읽는데 모르거나 뜻을 대강만 알고있어서 이뜻인지 저뜻인지 애매해했던 단어들 합쳐보니 230개정도 된다. 현재 영어수준은 중학교 1학년 수준정도인것 같다.
          * 사전지식이 이미 있었기 때이라고 판단한다. NoSmok:HowToReadaBook 는 한글 서적을 이미 읽었었고, 'Learning, Creating, and Using Knowledge' 의 경우 Concept Map 에 대한 이해가 있었다. PowerReading 의 경우 원래 표현 자체가 쉽다.
          * Facilitator 나 발제자, 또는 읽는 사람들이 질제기 & 사람들 의견 자유토론
          * 다른 사람들이 나에 비해 해당 어휘에 대한 재정의(Restatement) 단계가 하나나 두단계정도 더 높았던걸로 기억한다. 내가 책을 읽을때 질을 잘 못만들어내는 것도 한 몫하는것 같다.
          * 처음 프로그래밍을 접하는 사람에게는 전체 프로젝트 과정을 이해할 수 있는 하루를, (이건 RT 보단 밤새기 프로젝트 하루짜리를 같이 해보는게 좋을 것 같다.) 2-3학년때는 중요 논이나 소프트웨어 페러다임 또는 양서라 불리는 책들 (How To Read a Book, 이성의 기능, Mind Map 이나 Concept Map 등)을 같이 읽고 적용해보는 것도 좋을것 같다.
         실제 Database 를 이용하는 테스트에 대해 하나만 실행했을때는 잘 되더니, Suite 에 묶으니까 테스트에서 이용하는 Connection 이 NULL 이 되어버린다. Connection POOL 의 제인듯. 필요없는 곳에 Connection 열어놓은 것을 하나만 이용했더니 해결.
         Refactoring 을 하기전 Todo 리스트를 정리하는데만 1시간정도를 쓰고 실제 작업을 들어가지 못했다. 왜 오래걸렸을까 생각해보면 Refactoring 을 하기에 충분히 Coverage Test 코드가 없다 라는 점이다. 현재의 UnitTest 85개들은 제대로 돌아가지만, AcceptanceTest 의 경우 함부로 돌릴 수가 없다. 왜냐하면 현재 Release 되어있는 이전 버전에 영향을 끼치기 때이다. 이 부분을 보면서 왜 JuNe 이 DB 에 대해 세 부분으로 관리가 필요하다고 이야기했는지 깨닫게 되었다. 즉, DB 와 관련하여 개인 UnitTest 를 위한 개발자 컴퓨터 내 로컬 DB, 그리고 Integration Test 를 위한 DB, 그리고 릴리즈 된 제품을 위한 DB 가 필요하다. ("버전업을 위해 기존에 작성한 데이터들을 날립니다" 라고 서비스 업체가 이야기 한다면 얼마나 황당한가.; 버전 패치를 위한, 통합 테스트를 위한 DB 는 따로 필요하다.)
         Prometheus 를 보면 테스트가 통과했다 안했다를 반복한다. 학교 도서관 시스템의 안정성이 그리 뛰어나지 않기 때이다. (바꾸고 난 뒤 오히려 맨날 제를 일으킨다. 똑같은 조건식에서 한번은 검색이 되고 한번은 검색이 안되니.. 쩝)
         '''Composition 의 제점'''
         factory method를 사용해라.
         Alice in wonderland 의 경우 여자성우가 읽어준다. 이전에 들었던 Sherlock Holmes 의 경우에 익숙해져여서인지, 발음속도가 느림에도 불구하고 이해도가 떨어졌다. 이전에는 그냥 듣고 머릿속에서 장을 그린다음 이해하는 방식으로 했는데, 이번에는 받아쓰기 연습을 해봐야겠다.
          이전에 Alice in wonderland 책이 있었지만 제대로 이해를 잘 못했었는데, 개인적으로 영어수준이 딸리는것에 대해 그냥 제상황으로만 놓은것이 잘못인것 같다. 제를 제로 인식하지 않고, 깨닫음으로 인식하도록 노력하는것은 잊어버리기 쉽다. 이번에는 '더 쉬운 자료를 찾는다'라는 방법이 떠올라서 다행이다.
         카세트를 잘 안쓰기 때에 테이프로는 잘 안들을까봐 Cool Edit 이용, MP3 로 녹음했다. 웨이브 화일도 결국은 데이터이기에, 마치 테이프 짤라서 이어붙이는 듯한 느낌으로 웨이브 화일 편집하는게 재미있었다. 이전에 르네상스 클럽때 웨이브 화일에 대해 텍스트화일로 변환 & 인덱싱하는 프로그램이 필요한 이유가 생겼다. 전체 녹음을 하고 난 뒤, Chapter 별로 짤라서 화일로 저장하려고하는데, 웨이브데이터에 대해 검색을 할수가 없다! 결국 '대강 몇분짜리 분량일 것이다' 또는 '대강 다음챕터로 넘어갈때 몇초정도 딜레이가 있으니까.. 소리 비트와 비트 사이가 대강 이정도 되면 맞겠지...' 식으로 찾아서 화일로 쪼개긴 했지만. 웨이브 데이터에 대한 text 검색이 일상화된다면 이러한 고생도 안하겠지 하는 생각이 든다.
         29 (금): 영어 질답변시간 참석. 르네상스 클럽. Work Queue, To Do List. 7막 7장.
         현재 : http://www.savie.co.kr/SITE/data/html_dir/2002/10/01/200210010019.asp. 결혼도 하고 세살된 딸도 있단다. 현재의 사진을 보니 남궁원씨 닮아가는군. M&A 전 회사 대표라고 한다.
  • ACM_ICPC/2011년스터디 . . . . 97 matches
          * 알고리즘 제 해결 능력을 증진시킨다.
          * 한 명이라도 못 하면 다음 제로 넘어가지 않는다.
          * 제 제시
          * 다음주
          * 네.. 이번주는 대략적인 것들을 결정하는 시간이었지요. Jolly Jumper를 제가 그냥 임의로 찍어서 제로 하기로 해서, 5시 스터디가 끝나자마자 1시간동안 열심히 코딩해서 완성했습니다. ..그런데 Wrong Answer. 으아아ㅏ아아아아ㅏ 2시간동안 진경이랑 삽질하다 얻은 결론: 얘내들은 입출력방식이 달라서 우리가 짠 것만으로 되는게 아니고 계속 입력을 받도록 해야한다. 그리고 입력이 끝나면 프로그램이 종료되어야 하는데 뭐 -1?인가 그게 뜨도록 하려면 띄어쓰기같은 것도 없어야한다. ...결국 답은 대략 맞았지만 저런 형식때에 2시간동안 고민한거죠. JollyJumpers하시는 형/누나들 참고하세요 ;ㅅ; ..아무튼 ACM스터디가 재밌게 잘 진행되었으면 좋겠어요~ -[김태진]
          * 생각치도 못한 표준입출력 때에 고생했습니다. 저놈의 judge 프로그램을 이해하지 못하겠습니다. 입출력방식이 낯서네요. 입력 종료를 위해 값을 따로 주지 않고 알아서 EOF 까지 받아야한다니... 정올 현역때는 이런 제 구경하기 힘들었는데ㅜㅜ 제가 뭘 크게 오해하고 있나요. 덕분에 c도 아니고 c++도 아닌 코드가 나왔습니다. 그리고 3N+1 제가 25일 프로그래밍 경진대회에 1번 제로 나왔습니다. 허허.. - [정진경]
          * 할머니 생신 파티로 약 한 시간을 늦게 갔는데 친절히 맞아주어 고마웠슴다;ㅅ; 졸리점퍼의 첫 숫자도 포함인줄 알았는데 나중에 보니까 그냥 갯수였더군요. 0을 입력 받으면 갯수가 0이니까 종료되는 거고! 오오..한국어인데도 이해가 안가면 안되는데 ;ㅅ; -[강소현]
          * 다음주
          * 6월 1일 12시 01분, 드디어 (제가 짠 알고리즘으로, 소트해서!)졸리점퍼 Accept에 성공했습니다! 여러가지 시도를 해봐도 제가 없었는데 왜 안되나 하다가, 결국 입출력의 제.-_-;; 띄어쓰기도 인식하는 더러운...; 사실 코드자체가 너무 복잡해서 그걸 발견하기까지 시간이 오래 걸린 제도 있으니, 코드를 좀 더 간결화 하는 방법도 생각해보아야 겠다고 생각했어요. 아무튼 전 다 했어요~_~(이 후기가 아니고 수업에 대한 후기를 써야하는데 말이죠;) -[김태진]
          * 생각보다 진행이 디뎠습니다. 입출력 제가 생각보다 복잡하네요. 하지만 이래저래 여러번 해결하다보니 어느 정도 감이 잡히는 것 같기도 합니다. 졸리점퍼 숏코딩을 할까 하는데, 만약 한다면 처음 해보는 숏코딩이 되겠네요. 중도가서 책을 빌리고 공부해봐야겠습니다.(으아아 대출한도 초과) -[정진경]
          * 제 코드에 무엇이 제인지 깨달았습니다. 입출력이 제가 아니었어요. 숫자 범위 괜히 0이거나 3000 이상이면 "Not jolly" 출력하고 break하니까 이후에 더 적은 숫자가 들어온 경우가 무시당해서 Wrong Answer(출력 하든 안하든, 0 제외하고 3000 이상일 때만 하든 다 Wrong..;ㅅ;) 입력을 하지 않을 때까지 계속 받아야 하는데, 임의로 끊었더니 그만..... 그리고 continue로 해도 마찬가지로 3000을 제외하고 입력 버퍼에 남아있던 것들이 이어서 들어가서 꼬이게 되는! Scanner을 비우는 거는 어찌 하는 걸까요오;ㅁ;? 쨋든 그냥 맘 편하게 조건 지우고 Accepted ㅋㅋ 보증금 및 지각비 관련 내용은 엑셀에 따로 저장하였습니다. - [강소현]
          * 다음주
          * 다음 주
          * 어쩌다보니 다른 글들에 후기를 다 써버렸네요. 삽질하다 진경이의 상큼한 힌트로 UneasyProblem은 An easy problem이 되었네요. 지금 나이트저니 삽질하면서 백트래킹에 대해 자연히(?) 배워가는 중입니다. 반쪽짜리 코드는 구현했으나, 3X4영역에서 H가 나오는... 아직 뭔가 오류들이 산재하는거같네요. 예외처리가 제인지 배열밖을 다 0으로 처리해서 지정한 배열 밖으로 나가버리는지는 좀 연구해봐야겠어요.. 그리고 다음주에는 부산에 내려갔다 와야해서 참석하지 못할 가능성이 높네요. -[김태진]
          * 다음 주
          * 자유롭게 자기가 풀고 싶은 제 풀어오기. '''단, http://poj.org 에서 첫번째 페이지에 있는 제는 제외!!'''
         || [송지원] || 3117 || World Cup ||이전에 하려던 RSA 제에 모순이 있어서 부득이하게 변경함. ||
         || [김태진] || 2606 || Rabbit hunt ||좀 쉬워보이는 기하제에 도전합니당 ||
          * 풀다가 모르는 것 있으면 위키에 질 남기고 자기가 아는 것 답해주기.
          * 다음주에 자기가 풀어온 제 설명하고 어떻게 풀었는지 설명해야함.
  • 새싹교실/2012/startLine . . . . 97 matches
          * wiki 사용법.
          * 재현이가 기존에 아는 부분들(변수, 제어) 확인.
          * 서민관 - 간단하게 재현이가 C법 알고있는 부분 알아보기, 함수 만들어보기, 전체적인 계획 설명, gcc 사용법. 일단 제어과 간단한 함수 법까지도 알고 있는 것 같다. 어제 일도 있어서 긴장을 많이 했는데 그래도 생각보다 어렵지는 않았다. 앞으로는 좀 더 예제등을 준비해야겠다.
          * 제어의 의의.
          * 제어(조건, 반복)의 법과 몇몇 주의해야 될 부분들(switch의 break 사용, 반복에서의 종료 조건 등).
          * 간단한 제어 실습.
          * 중첩된 반복으로 별 찍기 - 상당히 특이하게 반복사용했다. 생각이 좀 좋은듯 -_-
          printf("별을 위해서 숫자를 입력해주세요\n");
          * 박환희 - 오늘은 제어에 대한 내용을 배웠고 느낌은 마음이 편하였고 제어에는 이러한 종류가 있다는것을 알았고 앞으로 법을 좀더 익혀야겠다는것을 생각했습니다.
          * 서민관 - 제어사용에 대한 수업(if법, switch.. for...) 몇몇 제어에서 주의해야 할 점들(switch에서의 break, 반복의 종료조건등..) 그리고 중간중간에 쉬면서 환희가 약간 관심을 보인 부분들에 대해서 설명(윈도우 프로그래밍, python, 다른 c함수들) 저번에 생각보다 진행이 매끄럽지 않아서 이번에도 진행에 대한 걱정을 했는데 1:1이라 그런지 비교적 진행이 편했다. 그리고 환희가 생각보다 다양한 부분에 관심을 가지고 질을 하는 것 같아서 보기 좋았다. 새내기들이 C를 배우기가 꽤 힘들지 않을까 했는데 의외로 if이나 for에서 법의 이해가 빠른 것 같아서 좀 놀랐다. printf, scanf나 기타 헷갈리기 쉬운 c의 기본법을 잘 알고 있어서 간단한 실습을 하기에 편했다.
          * 배열의 사용법.
          * 함수의 사용.
          * swap 함수를 통해서 알아본 현재 시점에서 함수의 제.
          * 숫자를 세 개 받아서 정렬하기.
          * 간단한 이전 시간(if, 반복)의 복습과 배열의 사용에 대해 알아보았다. 그리고 이번 시간에 주로 한 내용은 함수가 왜 필요한지와 함수를 만드는 법, 함수를 사용하는 법 등이었다. 개인적으로는 함수를 꽤 중요하게 생각하는 만큼 함수의 필요성을 잘 캐치해 줬으면 좋겠다. 그리고 새삼 드는 생각이지만 환희의 질이 중요한 부분을 잘 찌른다는 생각이 든다. 별다른 언급도 없었는데 함수 내에서 변수의 scope나 함수 내부의 이름 겹침 등에 대한 질이 있었다. 그리고 중간에 함수 사용의 예제로 printf을 약간 이상하게 쓴 코드를 보여줬는데 의외로 감을 잘 잡은 것 같았다. 현재 진행상황으로는 다음에 포인터를 다뤄야 할텐데 함수를 쓰는 것을 조금 더 연습을 시킬지 바로 포인터를 나갈지 고민이다. 당장 포인터를 했다가 어려워하지 않을까 모르겠다. - [서민관]
          - 숫자를 받아 큰 수대로 정렬
          * swap 함수를 만들어보고 제점 확인.
          * 처음에 간단하게 재현, 성훈이의 함수에 대한 지식을 확인했다. 그 후에 swap 함수를 만들어 보고 실행시의 제점에 대해서 이야기를 했다. 함수가 실제로 인자를 그대로 전달하지 않고 값을 복사한다는 것을 이야기 한 후에 포인터에 대한 이야기로 들어갔다. 개인적으로 새싹을 시작하기 전에 가장 고민했던 부분이 포인터를 어떤 타이밍에 넣는가였는데, 아무래도 call-by-value의 제점에 대해서 이야기를 하면서 포인터를 꺼내는 것이 가장 효과적이지 않을까 싶다. 그 후에는 주로 그림을 통해서 프로그램 실행시 메모리 구조가 어떻게 되는지에 대해서 설명을 하고 포인터 변수를 통해 주소값을 넘기는 방법(call-by-reference)을 이야기했다. 그리고 malloc을 이용해서 메모리를 할당하는 것과 배열과 포인터의 관계에 대해서도 다루었다. 개인적인 느낌으로는 재현이는 약간 표현이 소극적인 것 같아서 정확히 어느 정도 내용을 이해했는지 알기가 어려운 느낌이 있다. 최대한 메모리 구조를 그림으로 알기 쉽게 표현했다고 생각하는데, 그래도 정확한 이해도를 알기 위해서는 연습제 등이 필요하지 않을까 싶다. 성훈이는 C언어 자체 외에도 이런저런 부분에서 질이 많았는데 아무래도 C언어 아래 부분쪽에 흥미가 좀 있는 것 같다. 그리고 아무래도 예제를 좀 더 구해야 하지 않을까 하는 생각이 든다. - [서민관]
          * 추가적으로 환희의 질들에 대한 대답과 기타.
          * 개인적으로 현재 시점에서 과제를 낸다면 C의 법을 익히기 위한 과제를 준비할 것 같은데 환희가 현재 시점에서 C 법을 나름대로 잘 쓰는 만큼 그렇게까지 무리해서 과제를 낼 필요는 없지 않을까 싶다. 사실 언제쯤부터 어떤 과제들을 내야 할지 정확히 감이 안 잡히는 것도 있지만... - [서민관]
  • 작은자바이야기 . . . . 93 matches
          * 최소 Java 기초 법 이해 및 학부 2학년 1학기 커리큘럼 수준의 전산지식 필요
          * 현업 Java 개발자도 놓치기 쉬운 제들을 짚어보고, 올바른 Java 프로그램을 빠르고 깔끔하게 구현하는데 필요한 중급 수준의 지식을 전달하기 위해
          * 유닛테스트, mock 프레임워크 사용 등의 부분에 대한 실제 사용 예를 잘 알기 위해
          * 학교에서 배운 자바보다 더 심도있는 걸 하고 싶었는데 능력이 안 되서 못했기 때
          * 공부란 것은 하면 할 수록 할게 많기 때..
          * 단순히 자바 언어에 대해서가 아니라 더 다양한 주제를 다루는 스터디이기 때에 흥미가 있어서.
          * 스터디 시간이 참여자들 각각에게 원하지 않는 시간 낭비가 되지 않도록, 언제라도 또다른 의견과 질을 환영합니다.
          * 제가 "원래 모든 함수가 static"이라는 의미로 말한건 아닌데 오해의 소지가 있었나보군요. 사실 제가 설명한 가장 중요한 사실은 말씀하신 예에서 object의 컴파일 타입의 method() 메서드가 가상 메서드라면(static이 아닌 모든 Java 메서드), 실제 어떤 method() 메서드를 선택할 것이냐에 관한 부분을 object의 런타임 타입에 의한다는 부분이었지요. 그러니까 object는 컴파일 타입과 동일하지 않은 런타임 타입을 가질 수 있으며, 다형성의 구현을 위해 implicit argument인 object(=this)의 런타임 타입에 따라 override된 메서드를 선택한다는 사실을 기억하세요. (Python에선 실제 메서드 내에서 사용할 formal parameter인 self를 explicit하게 선언할 수 있다고 보면 되겠지요.) - [변형진]
          * 멀티스레드 환경에서 synchronized modifier를 사용한 동기화에 대해 공부했습니다.
          * 동기화 부하를 피하기 위한 DCL 패턴의 제점을 살펴보고 Java 5 이후에서 volatile modifier로 해결할 수 있음을 배웠습니다.
          * Serializable 인터페이스와 ObjectOutput, ObjectInput을 사용한 직렬화, 역직렬화에 대해 공부했습니다.
          * transient modifier는 VM의 자동 직렬화 과정에서 특정 속성을 제외할 수 있고, Externalizable 인터페이스를 구현하면 직렬화, 역직렬화 방식을 직접 정의할 수 있음을 보았습니다.
          * JNI라는 기법을 사용해 네이티브 라이브러리를 연결하여 함수를 호출할 수 있음을 배웠습니다.
          * 전체적으로 다른 언어에서는 볼 수 없는 자바의 법 + 객체지향 원칙을 중점적으로 다룬 시간이었습니다. 중간중간 다른 이야기들(builder 패턴, 저작권)이 들어갔지만 그래도 다룬 주제는 명확하다고 생각합니다. 다만 그걸 어떻게 쓰느냐는 흐릿한 느낌입니다. 그건 아마도 각 원칙들이나 interface, 객체 등에 대한 느낌을 잡기 위해서는 경험이 좀 필요하기 때이 아닌가 싶습니다 ;;; 수경이가 말한 대로 한 번이라도 해 본 사람은 알기 쉽다는 말이 맞지 않을까 싶네요. 그리고 전체적으로 이야기를 들으면서 현재 프로젝트 중인 코드가 자꾸 생각나서 영 느낌이 찝찝했습니다. 세미나를 들으면서 코드를 생각하니까 고쳐야 될 부분이 계속 보이는군요. 그래도 나름대로 코드를 깔끔하게 해 보려고 클래스 구조도 정리를 좀 하고 했는데 더 해야 할 게 많은 느낌입니다. ㅠㅠ 그 외에도 이번 시간에 들었던 메소드의 책임이 어디에 나타나야 하는가(객체 or 메소드) 라거나 상속을 너무 겁내지 말라는 이야기는 상당히 뚜렷하게 와 닿아서 좋았습니다. 아. DIP에서 Logic과 native API 사이에 추상화 레이어를 두는 것도 상당히 좋았는데 기회가 되면 꼭 코드로 보고 싶습니다. 아마 다음에 보게 되겠지만. - [서민관]
          * 우리가 아는 interface 사용
          * generics 사용
          * Iterator의 특징과 Iterable을 사용했을 때의 특징들을 공부하는 시간
          * 지난시간에 이은 Inner Class와 Nested Class의 각각 특징들 Encapsulation이라던가 확장성, 임시성, 클래스 파일 생성의 귀찮음을 제거한것이 새로웠습니다. 사실 쓸일이 없어 안쓰긴 하지만 Event핸들러라던가 넘길때 자주 사용하거든요. {{{ Inner Class에서의 this는 Inner Class를 뜻합니다. 그렇기 때에 Inner Class를 포함하는 Class의 this(현재 객체를 뜻함)을 불러오려면 상위클래스.this를 붙이면 됩니다. }}} Iterator는 Util이지만 Iterable은 java.lang 패키지(특정 패키지를 추가하지 않고 자바의 기본적인 type처럼 쓸수있는 패키지 구성이 java.lang입니다)에 포함되어 있는데 interface를 통한 확장과 재구성으로 인덱스(index)를 통한 순차적인 자료 접근 과는 다른 Iterator를 Java에서 범용으로 쓰게 만들게 된것입니다. 예제로 DB에서 List를 한꺼번에 넘겨 받아 로딩하는것은 100만개의 아이템이 있다면 엄청난 과부하를 겪게되고 Loading또한 느립니다. 하지만 지금 같은 세대에는 실시간으로 보여주면서 Loading또한 같이 하게 되죠. Iterator는 통해서는 이런 실시간 Loading을 좀더 편하게 해줄 수 있게 해줍니다. 라이브러리 없이 구현하게 되면 상당히 빡셀 것 같은 개념을 iterator를 하나의 itrable이란 인터페이스로 Java에서는 기본 패키지로 Iterable을 통해 Custom하게 구현하는 것을 도와주니 얼마나 고마운가요 :) 여튼 자바는 대단합니다=ㅂ= Generic과 Sorting은 다른 분이 설명좀. - [김준석]
          * @property annotation 사용
          * 리플렉션과 제네릭스를 써서 map -> object와 object -> map을 하는 부분을 해봤습니다. 자바의 일반적인 세 가지 방식의 클래스 내 변수에 대해 getClass, getFields, getMethods를 사용해 private, 나 접근자가 있는 경우의 값을 받아왔습니다. getter를 사용해서 변수 값을 받아올 때 이름이 get으로 시작하는 다른 함수를 제외하기 위해 method.getParameterTypes().length == 0 같은 부분은 이렇게 체크해야 된다는 부분은 나중에 제네릭스 관련으로 써먹을만 할 것 같습니다. 그리고 mapToObject에서는 제가 없었지만 objectToMap의 경우에는 제네릭스의 type erase때에 Class<T> expectedType = T.class; 같은 코드를 사용할 수 없어서 map.put(field.getName(), (T)field.get(obj));에서 형변환의 타입 안전성을 위해 인자로 Class<T> valueType을 받아오고 valueType.isAssignableFrom(field.getType())로 체크를 하는 부분도 공부가 많이 됐습니다. - [서영주]
  • Android/WallpaperChanger . . . . 87 matches
          // 서비스에 대한 스레드에 연결된 Handler. 타이머 이용한 반복 처리시 사용.
          // startId : 서비스 시작요구 id. stopSelf에서 종료할 때 사용.
          //onStart는 여러번 호출될 수 있기 때에 식별자로 사용.
          // 원격 메소드 호출을 위해 사용
          * 그림파일을 불러왔을경우 BitmapFactory에서의 이미지 사이즈 변경은 이미지를 늘리고 줄이기 때에 기존 안드로이드 어플 배경화면에서 자르기로 들어간것과는 다르다.
          || 4/25 || PathRepository를 ArrayList로 Parcelable객체로 만드는것을 성공 순서도상의 DB접근을 제한을 두어야할것 같음. 제점 : WallpaperManagerActivity에서 Add시키고 setting하는데 객체가 날아감. 우짬.. 아! 우선 만들어놓고 setting할때만 DB에 저장시키는 방식으로 해야겠다.그리고 0으로 index가 없는것과 있는것을 표기해서 update혹은 새로 만들기를 실행하도록 하고. ||
          || 4/26 || 전체 Activity간의 Parcel데이타를 넘길수 있게 코드를 리펙토링(Refactoring)함. DB의 연결제를 삭제 삽입 목록에 flag를 달아 해결. 파일을 선택해서 Path와 Name을 보여주는 Activity의 Thumnail을 만들어 보여주게함. Refactoring후 Service 잘작동 확인. ||
         || 4/28 || WallPaperAndroidService에서 Bitmap Loading방식 바꿈. 먼저 Loading을 해서 준비해놓고 순서가 오면 화면이 바뀌는 형식으로 바꿔놓음.시간 설정 저장 DB adapter생성 및 DB새로 만들어서 저장함.사용자의 편의를 위한 TextView설명 추가 ||
          * 아ㅋㅋ interface를 만든거같진 않지만.. enum은 객체같지만 타입임ㅋㅋ 오늘부터 jcp에서 표준 서 읽기로 했다는 - [서지혜]
          * [이승한]님의 Java상의 enum은 자열 비교로 인해 임베이디드와 반복코드에서는 성능을 저해시키는 요인이 될수 있다.
         일반적으로, 빠르거나 효율적인 코드라는 것은 메모리 할당을 최소화 하고, 꽉 짜인 코드를 작성하고, 특정 프로그래밍 언어나 잠재적으로 성능상 제가 될만한 프로그래밍 어법들을 피하는 것을 말합니다. 객체지향 용어로 말하자면, 이러한 일이 가장 빈번히 일어나는 곳은 메소드 레벨이며, 이와 비슷하게 실제 코드 라인들과 반복 등에서 발생합니다 .
         이 서는 다음 주제들을 다룹니다:
         네이티브 메소드를 사용하라
         내부에서 Getter/Setter 사용을 피하라
         주의 깊게 향상된 반복(Enhanced For Loop)을 사용하라
         내부 클래스와 함께 패키지 범위를 사용하라
         성능 예시 숫자 몇 개
         이것이 바로 이 가이드라인이 중요한 이유입니다. 안드로이드의 성공은 여러분의 애플리케이션이 제공하는 사용자 경험(UX)에 달렸고, 사용자 경험이란 것은 여러분의 코드가 빠르고 팔팔하게 반응하는지, 아니면 느리고 무거운지에 달렸습니다. 모든 우리의 애플리케이션들은 같은 장치에서 동작할 것이기 때에, 어떤 의미로, 우리 모두 함께 이 것들을 지키도록 최선을 다해야 합니다. 이 서를 운전면허를 딸 때 배워야만 하는 도로교통법이라고 생각하세요: 모든 이가 따르면 제없이 원활하겠지만, 따르지 않는다면 사고가 날 것처럼 말입니다.
         객체의 생성은 결코 공짜가 아닙니다. 임시 객체들을 위해 쓰레드-당(per-thread) 할당 풀을 사용하는 세대형(generational) GC는 더 낮은 비용으로 할당 할 수 있지만, 메모리를 할당한다는 것은 메모리를 할당하지 않는 것 보다 언제나 더 높은 비용이 듭니다.
         만약 사용자 인터페이스 루프에서 객체를 할당한다면, 주기적으로 가비지 컬렉션을 강요하게 될 것이고 사용자 경험에 있어서 조그마한 "딸꾹질(거북함)"을 만들게 될 겁니다.
  • 논문번역/2012년스터디/서민관 . . . . 85 matches
         특히, 선형 판별 해석(linear discriminant analysis)과 allograph 자 모델, 통계적 언어 지식을 결합한 방법을 살펴볼 것이다.
         아직까지는 대부분의 off-line 필기 인식 시스템은 우편 번호를 읽거나 은행 수표 등의 모양을 처리하는데 사용된다.
         이런 시스템들은 분할된 자나 단어에만 한정적으로 사용되고 있고, 제약사항이 없는 필기 인식 시스템은 무척 적다.
         이것은 방대한 어휘에 대해 글자나 단어의 경계가 존재하지 않기 때에 이러한 작업의 복잡도가 올라가기 때이다.
         하지만 컴퓨터의 계산 능력의 증가가 더 복잡한 처리를 가능하게 하였기 때에 필기 텍스트 인식 기술을 더 살펴볼 만한 가치는 있다.
         이 논에서는 어휘 제한이 없는 off-line의 필기 인식을 기본으로 한 Hidden-Markov-Model을 소개할 것이다.
         그리고 작성자에 독립적인 방법과 복수 작성자, 단일 작성자에 대해 완전한 영어 장 데이터베이스에 기반한 몇몇 실험들을 소개할 것이다.
         전처리와 특징 추출을 위한 방법들을 기술할 것인데, 추가적으로 선형 판별 해석, allograph 자 모델, 통계적 언어 지식 등의 더 정교한 방법도 살펴볼 것이다.
         우리가 사용할 데이터베이스에 대해서는 섹션 3에서 소개한다.
         그 후에 이어지는 섹션들에서 전처리 과정, 특징 추출을 위한 방법들, 통계적 모델링과 인식에 사용된 기술 들에 대해서 서술할 것이다.
         특히 적은 양의 어휘를 이용하는 분리된 단어를 인식하는 시스템이 우편번호나 legal amount reading에 사용되었고, 높은 인식률을 기록하였다. 그래서 처리 속도나 인식의 정확도를 높일 여지가 없었다 [2, 8].
         이와는 달리 방대한 양의 단어를 사용하는 제한이 없는 필기 텍스트의 인식은 훨씬 어렵다.
         이런 일들은 주로 맥 정보나 단어 구간의 정보가 없기 때에 일어난다. 이러한 어려움은 분리된 단어 처리를 위한 시스템 들에 내재되어 나타난다.
         [1, 18]과 [15]에 HMMs 방법을 사용하는 텍스트 분리에 기반을 둔 방법과 recurrent neural network와 HMMs를 혼합한 방법의 각 예시가 있다.
         이른 단계에서 텍스트 라인을 분리하는 것에 의한 제점을 회피하기 위해서, [9]에서는 전체 텍스트 라인을 인식 모듈에 입력하는 무분할(segmentation-free) 방법도 소개되어 있다.
         이어지는 섹션들에서 설명할 시스템은 비슷한 접근법을 사용하였는데, 전처리와 특징 추출 방법이 약간 다르다.
         추가적으로, 각 자 종류에 따라 HMMs나 통계적 언어 모델을 사용하는 등의 allograph 자 모델을 사용하는 것 뿐 아니라 특징 벡터들에 대해 선형 판별 해석을 적용한 효과에 대해서도 살펴보았다.
         학습과 인식을 위한 입력 데이터는 Lancaster-Oslo/Bergen 말뭉치에 기반을 둔 완전한 영어 장의 데이터베이스에서 제공되었다.
         전체 데이터베이스는 다양한 텍스트 카테고리들(신, 종교, 대중 지식, 소설)과 500명 이상의 다른 작성자들에 의한 1200종류 이상의 필기 형태를 다루고 있다.
         이 데이터베이스는 단일 작성자에 의한 25페이지의 필기 텍스트로 이루어져 있으며, 웹에서 공개적으로 사용할 수 있다.
  • MoreEffectiveC++/Exception . . . . 81 matches
          * Item 9: 자원이 새는걸 막는 파괴자를 사용해라.
         방법은 올바르다. 예외시에 해당 객체를 지워 버리는것, 그리고 이건 우리가 배운 try-catch-throw를 충실히 사용한 것이다. 하지만.. 복잡하지 않은가? 해당 코드는 말그대로 펼쳐진다.(영서의 표현) 그리고 코드의 가독성도 떨어지며, 차후 관리 차원에서 추가 코드의 발생시에도 어느 영역에 보강할것 인가에 관하여 제시 된다.
         이렇게 해도 여전히 제는 남는다. 무엇이냐 하면, 만약 BookEntry의 생성자중에서 AudioClip 객체 생성중에 예외를 propagate하면 바로 위 코드중 pb 포인터에 null을 반환해 버린다. 반납된 이렇게 되면 이미 정상적으로 생성된 theImage를 지우지 못하는 사태가 발생해 버리는 것이다.
         자 이렇게 해주면 제 될것이 없다. 자 이상태에 refactoring이 필요한 코드들이 보일것이다 하겠다. delete부분을 함수로 역어 네는 것이다.
          // theAudioClip는 두번째로 초기화 되기 때에, 예외의 발생경우 이미 할당되어진 theImage의 자원을
         그래서 더 좋은 방법은 Item 9에서 언급한 방법을 사용하는 것이다.
         아마 대다수의 사람들이 이런 상태로 빠지는걸 원하지 않을 것이다. Session 객체의 파괴는 기록되지 않을 태니까. 그건 상당히 커다란 제이다 그러나 그것이 좀더 심한 제를 유발하는건 프로그램이 더 진할수 없을 때 일것이다. 그래서 Session의 파괴자에서의 예외 전달을 막아야 한다. 방법은 하나 try-catch로 잡아 버리는 것이다.
         이럴 경우에는 Session의 파괴자에게 제를 제거하는 명령을 다시 내릴수 있따 하지만 endTransaction이 예외를 발생히킨다면 다시 try-catch으로 돌아 갈수 밖에 없다.
         다음의 가상함수의 선언과 같이 당신은 catch 구에서도 비슷하게 인자들을 넣을수 있다.
         localWidget이 operator>> 로 전달될때는 복사의 과정이 일어나지 않는다. 대신 operator>> 안의 참조 w가 localWidget과 묶여서 어떠한 과정을 처리하게 된다. 하지만 예외의 처리에서 localWidget은 좀 다른 이야기를 만들어 나간다. 예외가 값이나, 참조를 잡든 잡지(pointer는 잡지 못한다.) 않든 상관 없이 localWidget의 사본이 만들어지고, 그 사본은 catch로 저낟ㄹ 된다. 왜냐하면 passAndThrowWidget의 영역을 벗어나면 localWidget의 파괴자의 호출이 되기 때에 반드시 이렇게 되어야 한다. 이것은 C++ 에서 예외는 항상 사본으로 전달된다는 이유가 된다.
         주석에 되어 있는데로, 생각해 보라. throw가 복사생성자를 호출하지 않아서 효율적이다. 그리고 throw는 어떠한 형이든 예외를 전달한는데 상관하지 않는다. 하지만, 사실 예외자체가 그 형에 맞게 던져지므로 걱정이 없다. 하지만 catch에서 예외를 던지는 객체의 형태를 바꿀 필요성이 있을때 후자를 사용해야 겠다.
         우리는 지금까지 복사에 의한 지불을 생각할수 있는데 참조의 전달은 반대로 복사하는 작업이 없다. 즉, 한번의 복사 이후 계속 같은 객체를 사용하게 되는 셈이다.
         자 그럼 예외를 던질때의 형에 관한 주의를 살펴 보자. C++의 암시적 변환에 의한 것이 그 제의 발단인데, 코드를 보자 표준 수학 라이브러리에서
         를 이렇게 사용 할수 있다.
         마지막으로 인자 넘기기와 예외 전달(던지기:throw)의 다른 점은 catch 구은 항상 ''catch가 쓰여진 순서대로 (in the order of their appearance)'' 구동된다는 점이다. (영어 구을 참조하시길) 말이 이상하다. 그냥 다음 예제를 보자
          catch (invalid_argument & ex){ // 이 은 작동을 하지 않는다. 위의 catch구분에서 이미 잡아 버린다.
         catch 구사용할때 해당 구을 통해서 전달받은 예외 객체들을 받는 방법을 잘알아야 한다. 당신은 세가지의 선택을 할수 있다. 바로 전 Item 12에서 언급한 것처럼 값(by value), 참조(by reference), 포인터(by pointer)이렇게 세가지 정도가 될것이다.
         자, 먼저 pointer(by pointer)에 관한 전달을 생각해 보자. 이론적으로 이 방법은 throw위치에서 catch구분으로 예외를 특별한 변화 없이 느린 프로그램 수행 상태에서 전달하기에 가장 좋은 방법이다. 그 이유는 포인터의 전달은 해당 예외 객체가 복사되는 일없이 포인터 값만 전달되는 방법만을 취해야 하기 때이다. 말이 좀 이상한데 예외를 보면서 설명한다.
         이 코드는 깨끗하게 보이지만, 최선책은 아니다. 이런 일을 위해서 프로그래머는 예외 객체를 항상 품고있는 프로그램을 작성해야 할것이다. 간단히 전역(Global) staitc으로 선언하면 된다고 반하겠지만, 전역의 위험성은 프로그래머가 그걸 쉽게 까먹을수 있다는데 있다. 다음 예제를 보면
         이것도 피해야 할 방법이다. 왜냐하면 ''I-just-caught-a-pointer-to-a-destoyed-object'' 제 때이다. 게다가 catch구에서 직면한 또하나의 제는 대체 이 포인터를 누가 어디서 지우느냐 이다. 다른 면으로 생각해볼 제는 예외 객체가 heap상에 배치된다면 지워 지지 않은 예외 객체는 틀임없이 resource leak를 발생 시킬 것이다. 너무 뻔한 이야기 인가. 그리고 프로그램의 행보가 어떻게 될지 예측 할수도 없다. 안그런가?
  • 새싹교실/2012/AClass . . . . 78 matches
          * 멘티 : 곽길, 도상희, 한송이, 황혜림
          * 1주차(5/9) - 실력 점검 및 별찍기(for)
          * 이해도 테스트, if 연습, for 연습
          * 코딩과제는 완전한 프로그램으로 써 주시고(에러나지 않도록), 서술하는 제는 간단하게(1~3줄) 써 주세요.^^
          * 완성하지 못한 (코딩)제는 어떤부분이 막혔는지 간단하게 써봐요~
          * 제가 과제 내면서 서술제는 책에 있는걸 냈으니 꼭 C책 빌려서 읽어봐요~
          1. #define이 무엇을 의미하는지 쓰고, 이것을 사용한 '간단한' 프로그램을 하나 작성해보세요.
          1. if, else, else if을 이용한 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
          1. switch-case을 이용한 간단한 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
          * 성적 계산기의 경우 90점이상 A, 80점이상 B와 같은 구조입니다. 100점만점을 10으로 나누면 switch으로 풀 수 있습니다.
          1. while을 이용한 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
          1. 위 프로그램을 do-while으로 바꿔 '똑같은'프로그램이 되도록 해보세요.
          1. 위 프로그램을 for으로 바꿔 풀어보세요.
          1. 2중 for을 이용하여 다음 모양의 별찍기를 작성해주세요.
          1. 혜림이누나, 상희누나 과제를 for을 각각 3개, 4개만 써서 해보세요.(hint 2*n-1)
          1. 배열을 사용한 간단한 프로그램을 하나 만들어보세요.
          1. 배열에 숫자를 넣고, 그 배열에 특정 값이 있는지 찾는 프로그램(Search)을 작성해 주세요.
          --> 라이브러리에서 우리가 사용하는 함수를 불러오기 위해써주는 것
          4.정수하나를 입력 받아서 10보다 크면 입력받은 정수의 제곱 출력, 10보다 작으면 입력받은 정수의 두배를 출력
         -중복 for 사용.
  • ACM_ICPC/2012년스터디 . . . . 75 matches
          * 제를 지정해서, 풀어오고, 분석. (Programming Challenges와 더블릿 홈페이지 사용)
          * 방식 - 제를 풀어와서 토의하고, 다음 제를 정합니다.
          * 방식 - 제를 풀어와서 토의하고, 다음 제를 정합니다.
          * 우선 [www.dovelet.com 더블릿] 사용
          * 오늘 푼
          * 숙제로 풀
          * [koi_aio/김윤환] '''//이거랑 푼거 더 올리고싶은데... 영기처럼 올리는거 어떻게 함요? ㅠㅜ 위키 사용법을 모르것소 살려줍매!'''
          * 풀어온 제를 가지고 논해보고, 다음 제를 정하는 방식.
          * Programming Challenge에서 알고리즘 당 두제 정도 풀기.
          * [http://www.dovelet.com 더블릿] 옥상에서 한 제 풀기.
          * Programming Challenge 제에 더욱 높은 우선순위를 둠. - [http://uva.onlinejudge.org/]
          * 금요일 까지 풀어올 제.
          * Dovelet의 30계단에 있는 서를 읽고 공유해보기.
          * 서를 공유한다면, 그 알고리즘을 이용한 제를 풀어보는 것도 병행해야한다고 생각함.
          * 화요일 까지 풀어올 제.
          * 제 풀이, 못 푼 것 이유 분석
          * 모든 쌍의 합 제 풀다가 시간 다갔네-- 근데 못풀겠어 -[김태진]
          * 제가 어려워서 fail... 제 풀다가 이방식도 아니고 저방식도 아니라 멘붕한 상태에서 끝났습니다.
          * 두 제에 대해서 논함. 풀지 못한 사람들은 다음 시간까지 소스를 분석해서라도 해결해오기.
          * 아직도 저 제들에 사경(?)을 헤매고 있습니다...== -[김태진]
  • 새싹교실/2013/양반/3회차 . . . . 75 matches
         === 제어의 종류 ===
         장들의 실행 순서
         특별히 지정 안하면 첫 장부터 시작하여 한 번에 한 장씩 순차적으로 실행된다.
         제어사용하면 이 장이 실행 되는 순서를 내 맘대로 제어할 수 있다.
         조건 : if, if-else, switch
         반복 : while, for, do-while
         분기 : goto, return, break, continue
         === 조건 if ===
         조건 - 조건식의 결과(부울)에 따라 조건을 수행할 것인지 아닌지를 판단.
         === 조건 if - else ===
         if - else
         if에 else 절을 추가한 if-else을 이용해서 여러 가지 조건을 처리할 수 있다.
          장 1;
          장 2;
         조건식이 참이면 장 1을 실행하고, 거짓이면 장 2를 실행한다.
         다중 선택을 위한 if
          장 1;
          장 2;
          장 n;
         if 내에 if을 또 사용할 수도 있다. 중첩된 if이라고 한다.(nested if)
  • 새싹교실/2011/데미안반 . . . . 74 matches
          * ; 는 장의 끝을 나타내므로, printf("Hello World"); 처럼 어디까지 내용이 있다 나타내는 것처럼 빈 공간도 빈 공간 그대로 인식이 되지 않았나 싶어요.
          * C언어의 단점 중 low-level적 특성으로 프로그래밍을 하는데 많은 주의를 요한다 했는데, 실제로 잘못 사용한 사례는?
          * 나중에 포인터를 사용하는 실습을 하다 보면 많은 깨달음을 얻을 수 있지 않을까 싶습니다...
          * 메모장으로 열어서 글이 깨졌어요 ㅠㅠ 연결프로그램을 Visual Studio로 하면 번역이 정상적으로 되어있을거에요. 숫자가 010100 하면 너무 길어서 16진수로 표현이 되어있는듯 합니다.
          * [강소현] - 열성적으로 질을 해주어서 좋았습니다. A언어도 있는지의 여부를 물었었는데 저는 몰랐었는데 실제로 존재하더라구요 ㅎㅎ 가벼운 내용이라도 의이 드는 사항이라면 언제든지 위키나 자로 질해주면 최대한 답변을 달도록 노력하겠습니다. 다음 시간에는 이전에 실습했던 것의 복습과 scanf 이후로 나갈 예정입니다. PPT 준비에 디자인도 없이 급하게 만든 티가 났었는데, 다음 시간에는 조금 더 준비를 해가겠습니다:)
          * 산술연산자 사용
         #include <stdio.h> //printf 함수 사용
          * 기타 대입 연산자 사용
         #include <assert.h> //assert 함수 사용
          * 증가, 감소 연산자 사용
         #include <assert.h> //assert 함수 사용
          * 관계 연산자 사용
         #include <assert.h> //assert 함수 사용
          * 논리 연산자 사용
         #include <assert.h> //assert 함수 사용
          * 산술 연산자 사용 예에서 val1과 val2를 곱셈, 나눗셈, 나머지를 구하는 것을 추가하여 출력해보자.
          * 기타 대입 연산자 사용 예에서 assert(val1 == 7); 를 assert(val1 != 7); 로 바꾸어 실행해보기.
          * 기타 대입 연산자 사용 예에서 -= , /= , %= 한 결과를 assert(val1 == 7); 와 같이 assert함수 안에 넣어 확인하시오.
          * 증가 감소 연산자 사용 예에서 감소연산자를 사용한 예를 추가해보자.
          * 관계 연산자 사용 예에서 >= , != 가 사용되는 사례를 만들어보자(변수 val3 만들어서).
  • 창섭/배치파일 . . . . 72 matches
         대부분의 사람들은 배치파일이 도스환경을 쉽게 만든다는 사실을 과소평가하는데, 컴퓨터를 좀더 쉽게 사용하고 싶다면 배치파일을 꼭 짚고 넘어가는것이 좋습니다.
         컴퓨터의 동작 상태를 살펴 보면 항상 사용자와의 상호작용에 의하여 작업이이루어진다는것을 알 수 있습니다. 도스라는 운영체제도 사용자가 명령을 입력하면 그 명령에 대해 도스가 분석하여 사용자가 원하는 실행 결과를 제공합니다.
         따라서 사용자는 항상 도스 프롬프트 상에서 일일이 키보드를 이용한 타이핑으로 명령을 내려야 하고, 하나의 명령이 내려지면 완료될 때까지 다음 명령을 내릴수가 없습니다. 작업 과정이 얼마되지 않는다면 큰 상관이 없으나 그 과정이 매우 길고 복잡하다면 사용자는 지루함을 느끼게 됩니다. 또한 비록 짧은 작업과정이라도 컴퓨터를 켤때마다 매번 똑같은 과정을 일일이 지시하는 것도 귀찮을 것입니다.
         배치파일의 기능은 순차적이고 반복된 동일한 작업 과정을 몇개의 혹은 수십, 수백 개의 연관된 명령어를 하나의 파일로 집약하여 그 하나의 파일(배치파일)만 실행함으로써 원하는 작업 과정을 수행하는것입니다.배치파일에 붙는 확장자는 .bat(batch 의 약어) 입니다.도스에서 실행이 가능하기 때에 .com, .exe 확장자가 붙는 외부 명령어와 함께 실행 가능한 파일로 분류됩니다.차이가 있다면 .com, .exe 명령어는 컴퓨터만 해석 가능한 기계어 코드로 구성되어 있는반면, 배치 파일은 사람이 알아볼수 있는 일반 텍스트로 이루어져있다는 것입니다.
         그래서 사용자들은 서작성에 이용하는 워드프로세서나 텍스트에디터 등을 이용해 배치 파일을 작성할 수 있습니다. 그러나 워드프로세서는 덩치가 크고 원래 목적이 편집과 출력을 위해 만들어진 것이므로 단순한 배치 파일을 작성하는 데는 권하고 싶지 않습니다.
         저장할때도 워드프로세서 고유의 포맷(예" .hwp 확장자를 가지는 아래아한글 데이터 파일)으로 저장하면 인식이 되지 않으므로 아스키 파일로 저장해야 합니다.가장 편리한 방법은 일반 서 에디터( 도스의 Edit, Q에디터,U에디터 등)를 이용하거나 도스의 'Copy Con' 명령으로 배치 파일을 만드는 것입니다.다음과 같이 'Copy con 파일명' 형식으로 입력하고 엔터를 누르면 도스 프롬프트 상태에서 편집할 수 있는 상태가 됩니다.
         여기서 쓰고 싶은 대로 적기만 하면 됩니다.제일 마지막행의 ^Z 는 파일의 제일 마지막 부분이라는 것을 도스에게 알려주는 코드로 < Ctrl + Z > 키 또는 F6 키를 누르면 됩니다. 그리고 엔터키를 한번더 누르면 '1 File(s) copied' 라는 메세지가 출력되는데, 이는 방금 ' copy con 파일명 ' 으로 작성된 서파일이 성공적으로 만들어졌다는 뜻입니다.위의 서파일은 확장자가 .BAT 로 붙었기 때에 실행가능한 외부 명령어가 되는데, 배치파일은 명령이 기록되어 있는 순서대로 실행되기 때에 timedate.bat 를 실행시키면 먼저 화면을 지우고 난뒤 시스템의 시간과 날짜를 설정합니다.간단한 배치파일은 'copy con 파일명' 으로 작성하는 것이 다른 프로그램의 도움없이 쉽고 빠르게 처리할 수 있습니다. 하지만 배치파일이 조금 길거나 작성중에 수시로 편집할 일이 생기는 경우에는 불가능합니다. 'copy con 파일명' 으로 파일을 작성하면 행으로 다시돌아갈 수 없을 뿐 아니라 수정이 불가능하기 때입니다. 그러므로 배치파일을 만들 필요가 있을때는 서 에디터를 이용하는 것이 좋습니다.
         배치 파일은 파일 안에 기록되어 있는 명령의 순서대로 실행됩니다.가장 대표적인 것이 부팅에 이용되며, 컴퓨터의 루트 디렉토리에 위치하고 있는 Autoexec.bat 파일입니다. 그런데 만약 배치 파일의 실행의 순서를 순차적이 아닌멀티부팅용 Autoexec.bat 처럼 사용자 마음대로 정하고 싶다면 배치파일에 제공되는배치명령어의 용도를 알고 있어야 합니다.
         현재 실행중인 배치 파일을 종료하지 않고 필요한 다른 배치파일을 호출하여 실행한 다음 원래의 배치파일로 다시 돌아오려고 할 때 사용됩니다.
         ◇ 사용법 : Call [drive:]\[경로]\<배치파일명>[.BAT]
         배치 프로그램 내에서 사용자의 선택을 묻기 위해 사용됩니다. 배치 파일 제작자가 설정한 물음을 출력하면서 지정된 키 입력을 기다립니다. 이 명령은 배치파일 내에서만 사용 가능합니다.
         ◇ 사용법 :choice [/C[:]자열][/N][/S][/T[:]기본키,대기시간][메세지]
         - /C[:]자열 : 사용자가 선택할 수 있는 키목록을 [] 괄호 내에 ', ' 로 구분하여 출력하고 /C 스위치를 사용하지 않으면 기본적으로 YN이 사용됩니다.
         - /S : 사용자의 입력에서 소자, 대자를 구분하도록 합니다.
         - /T[:]기본키, 대기시간 : 기본키를 지정한 후 대기시간 동안 사용자의 키 입력이 없으면 자동적으로 기본키가 입력된 것으로 간주하고 진행됩니다. 지정 가능한 대기시간은 초단위이며 0에서 99 사이의 값입니다.
         ◇ 설명 : 입력 가능한 키를 a,b,C,D로 한정하며 사용자로부터 입력되는 영자의 대,소자를 구분하는데, 만약 5초 내에 사용자로부터 키 입력이 없다면 C 가 입력된 것으로 간주합니다. 그리고 화면에는
         ◇ 사용법 : echo [on/off] [자열]
         - 자열 : 화면에 출력하고 싶은 메세지를 적어줍니다.
         ☞ 현재 echo 설정상태를 표시하며 안녕하세요?~ 라는 구를 화면에 출력합니다.
         ◇ 사용
  • XMLStudy_2002/XML+CSS . . . . 70 matches
         XML Style의 지정, 브라우저의 사용, 디스플래이 방식 ,XML과 CSS의 작성 방식의 이용방법
          *XML서는 CSS를 이용해서 브라우저에 표현하는 것이 가능하다.
          *XML서가 단순히 텍스트 형태의 서이면 CSS로만으로도 표현하는것이 충분하다.
          *하지만 XML서는 반드시 텍스트 타입의 내용들로만 이루어진 것도 아니다
          *그리고 스키마의 사용이 보편화 되면서 여러 타입의 데이터들을 포함할 수 있는 서 포맷이 되어 좀더 다양한 디스플레이 방식이 필요하다.
         <!-- mydoc.css를 사용하겠다 -->
          * <HTML : A>태그를 사용 이것을 사용하기 위해서는
          *그리고 위와 같이 HTML 네임 스페이스를 지정한 경우에는 <HTML : A> 뿐 아니라 다른 HTML의 태그들도 HTML 네임 스페이스의 Prefix를 붙여 사용할 수있다.
         IE5에서의 XML 서 보기(XML+CSS)
         XML 서를 웹으로 보는 방법을. 현재 IE5.0이 XML을 지원하므로,
         IE5.0을 브라우저로 사용하고 스타일로는 CSS를 사용하여 볼 수 있는 방법을 설명한 것 입니다.
         이 서 또한 XML로 작성되어 있습니다.
         <MTITLE>1. IE5.0에서 XML 서 보는 방법</MTITLE>
         XML 서의 스타일을 지정할 수 있도록 제안되어져 왔다. MS에서 IE5에서
         현재 IE5.0에서는 XML의 표준 스타일시트인 XSL과 CSS로 작성된 스타일을 모두 사용할 수
         사용한 경우, XML 서를 Parser를 통해 파싱한 뒤
         <PA>XML서를 원하는 스타일로 보기 위해서는, 실제 옷이 되는
         스타일시트를 만들어져 있어야 하고, 어떤 스타일시트를 사용할 지를 해당 XML서 내부에
         기술해 주어야 한다. 브라우저는 XML 서를 읽어들이면서, 스타일시트가 지정되어
         <PA>만약 XSL로 기술된 스타일시트를 사용하고자 한다면, 다음과 같이하여 사용한다.</PA>
  • 문서구조조정토론 . . . . 70 matches
         서 구조 조정이 되고, 원래 있었던 자리를 잃으니 '몇번째주 무슨요일'하는게 제일 첫단에 와 있군요. 이전에 보았다면 알겠지만, 그건 주가 되는 내용이 아니었습니다. 서 구조 조정을 할때는, 관련된 내용에도 더 신경을 써야겠군요 --이선우
          DeleteMe) 서 조정이후, 의미를 잃었다면, 직접 바꾸어 주세요. ^^; --상민
          직접 바꾸건, 누군가 바꾸어 주느냐의 제가 아니고, 또 단순히 글 자체에 대한 의도가 맞지 않아졌음을 이야기하는게 아닙니다. 서 조정의 결과로 어울리지 않는 내용이 나타나는것 보다 큰 제는, 다른 이들에게 잘못된 이야기들을 파생시킬 수 있는 점입니다. --이선우
          DeleteMe) 현재의 해당 스레드는 정모에 관한 모든것을 다루는 것이라 생각해서 말씀하신 주제를 포용한다고 생각합니다. 하지만, 의도의 전달이 잘못되었다면 작성자가 고치기를 간절히 바라고 있습니다. 현재 서 구조조정이후 고치는 사람이 별로 없는거 자체가 약간 걱정이 되지요. --상민
          계속 대화의 핀트가 어긋나고 있습니다. 내용 자체가 전달하려는 의도와 어긋난 것이라면, 해당 작성자가 고치는게 가장 맞는 방법이라는데 동의합니다. 제가 제기한 이야기는 그러한 부분이 아님을 말씀드립니다. 서로 연관된 제에서 위치를 바꾸는등의 서 구조 조정 이야기 입니다. 이 경우, 내용 자체의 변화는 없지만, 서 구조 조정자가 관련글의 위치를 바꿈으로써 잘못된 의미를 전달할 수 있고, 그 결과로써의 파생 결과를 우려하였습니다. 이는 해당 서 작성자보다, 서 구조 조정자가 좀 더 신경을 쓰는 편이 맞다고 생각합니다. --이선우
         ["neocoin"]:말씀하시는 서 조정은 서 조정은 서 작성자가 손대지 말아야 한다라는걸 밑바탕에 깔고 말씀 하시는것 같습니다. 서 조정자는 특별히 서 조정을 도맡는 사람이 아니고, 한명이 하는 것이 아니라, 다수가 접근해야 한다는 생각입니다. "다같이" 서 조정을 해야 된다는 것이지요. 서 조정을 한사람의 도맡고 이후 서 작성자는 해당 서에서 자기가 쓴 부분만의 잘못된 의미 전달만을 고친다라는 의미가 아닌, 서 조정 역시 같이해서 완전에 가까운 서 조정을 이끌어야 한다는 생각입니다. 즉, 서 구조 조정이후 잘못된 서 조정에서 주제에 따른 타인의 글을 잘못 배치했다면, 해당 글쓴이가 다시 그 배치를 바꿀수 있고, 그런 작업의 공동화로, 해당 토론의 주제를 서 조정자와 작성자간에 상호 이해와 생각의 공유에 일조 하는것 이지요.[[BR]] 논의의 시발점이 된 서의 경우 상당히 이른 시점에서 서 구조조정을 시도한 감이 있습니다. 해당 토론이 최대한 빨리 결론을 지어야 다음 일이 진행할수 있을꺼라고 생각했고, thread상에서 더 커다랗게 생각의 묶음이 만들어 지기 전에 묶어서 이런 상황이 발생한듯 합니다. 그렇다면 해당 작성자가 다시 서 구조 조정을 해서 자신의 주제를 소분류 해야 한다는 것이지요. 아 그리고 현재 서 구조조정 역시 마지막에 편집분은 원본을 그대로 남겨 놓은 거였는데, 그것이 또 한번 누가 바꾸어 놓았데요. 역시 기본 페이지를 그냥 남겨 두는 것이 좋은것 같네요.(현재 남겨져 있기는 합니다.) --상민
         '서 조정은 서 작성자가 손대지 말아야 한다' 라는 어처구니 없는 내용을 어떻게 끌어냈는지 모르겠습니다. 어느 부분에서 도대체 '구조 조정은 구조 조정자의 몫이다'라는 식의 이야기를 했다는지 궁금하군요. 제 이야기는 현재의 잘잘못을 따지고, '서 구조 조정은 ''누군가 그 일을 할 사람''이 알아서 해라'라는 식의 이야기가 아닙니다. 서는 누구나가 노력을 해서 고쳐가되, 다만 서 구조 조정자는(누가됬건 현재 서를 구조 조정하고 있는 사람은), 자신이 한 결과에 따라 어울리지 않는 글이 될 수 있으므로 해당 서 구조 조정의 시점에서 더 신경을 써야 한다는 뜻입니다. 물론, 해당글의 작성자가 나중에 발견하고 이를 고칠수도 있지만, 처음 시점부터 좀 더 신경을 쓰는 방법이 효과적이라 생각한 이유입니다. 한번 더 강조하자면, 서 구조 조정자가 신경을 쓸 필요가 있다라는 이야기가 해당 글의 작성자 자체가 '나는 서를 구조조정할 필요가 없다'라는 의미는 절대 아님을 이야기합니다. 모로가도 서울만 가면 되지만, 더 편한 방법이 있다면, 그런 방법을 택하는게 자연스러운건 자명한 이치입니다. --이선우
          ["neocoin"]: 그렇다면 저에게는 지금까지 페이지가 나온 이유 자체가 모호해 집니다. 그럼 말씀하시는 주제가 결국 "서 구조 조정은 신중히 해야한다." 이것이라고 생각합니다. 이것은 의견이라기 보다 서 구조 조정시의 기본 명제라 생각하며, 이중에 말씀하신 "서 구조 조정시에 위치 변경은 글쓴이의 의도의 방향을 바꾼다."라는 것도 서 구조 조정을 신중히 겠지요. 이런 것은 당연히 동의 합니다. [[BR]] 이것에 반대한다는 말이 없고, 이는 해당 의견의 암묵적 동의라고 생각하고, 잘못된 부분에 대하여 다시 구조조정을 해 주십사 원한 것인데, 다시 대화가 다른 방향으로 전개되어서 "서 구조 조정자"와 "서 작성자"로 나뉘어서 접근하시는 말씀인것으로 받아 들였습니다.[[BR]]해당 글처럼 잘못 된 부분의 지적 이후, 고치지 않는다면 다른 이가 해당 서를 더 고치지 못하는 위화감 이랄까요. 그런것이 발생한다고 생각합니다. 현재 위키에 00들와 01들이 이러한 "조심스러움의 유발 요인" 때에 활발히 글을 날리는데 방해가 될것이라고 생각합니다. 글을 장려하는 입장에서 글을 계속 올리다 보니, 대화의 주제가 어긋난 것 같습니다. --상민
         ["혀뉘"] : 위키 사용에 있어서 , 기존의 게시판과 같은 '글' 편집의 독자성,일관성 을 보장받지 못하다보니 이런 토의가 필요하게 된것 같군요. 사실 위키는 이러한 편집의 권리를 많은부분 '공유' 한다는 개념에서 나온것이기 때에, 이를 너무 의식하면 위키 본래의 기능을 상실할 수 밖에 없을것 같습니다. 이런 일이 생기는 이유가, 그동안 ZP 의 움직임에 대해서 토론할 주제들이 많았기 때에, 위키를 토론의 목적에 사용해서 그렇지 않았나 싶군요. 누구든지 글을 수정 할 수 있다는 위키의 장점이, '토론' 분야에 적용하면서 단점으로 바뀌게 되었다고 봅니다. '토론' 분야 만큼은 편집의 독자성을 보장 하는것이 어떨까요? 서의 종류에 따라, 사실에 기초한 서는 여러사람이 손을 대서 '완전에 가까운 서' 를 만들어낼 수 있겠지만, '의견' 에 기초한 서는 여러사람이 손을 대면 댈 수록 본래 의견제시를 했던 사람의 '의견' 은 훼손됩니다. 편집의 독자성이 필요하다고 생각됩니다. 망치로 대패질 할 수는 없는게 아닐까 합니다. 망치를 쓸 곳에 대패를 사용하려면, 대패 몸이 조금 상하겠지만, 휘둘르는 방법으로 못을 박아야지요 :)
         위키에서 편집의 권리를 '공유'하고 고쳐나가는 개념이 제대로 적용되는 것은, 위키를 쓰는 사람들이 점점 익혀나가야 할 부분입니다. 토론과 관련된 부분에서 위키의 방식이 단점으로 작용한다고 보지 않습니다. 예를 든다면, KLDP의 토론란을 보면 더더욱. 스레드가 길어질수록 주제와 맞지 않는 글들이나 중간에 일어나는 감정싸움들은 걸러져야 할 것임에도 불구하고 그 자리를 차지하고 있습니다. 스레드가 길어질수록 결국은 논제를 벗어납니다. 위키스타일이라면, 서구조조정을 통해서 그러한 것을 어느정도 줄여줄 수 있을 것이라 생각됩니다.
         제는 서구조조정인데, 이는 서구조조정자가 신도 아니고. -_-; 하지만, 본 저자의 의도가 벗어나지 않도록 서구조조정을 해야 하는것은 당연한 것이며, 추구해나가야 할 부분이겠죠. 저번에 서구조조정 (데블스 관련) 을 했을때는 상민이랑 제가 넷미팅을 공유하고 대화하면서 서구조조정을 했었습니다. (원래라면 데블스쪽에 있는 사람과 해야 더 무게균형이 있었겠지만) 중요한 토론이라면 이런식의 방법도 고려해볼만 하겠죠. (단, 역시 cost가 더 크긴 하겠죠.)
         해당 공동체에 서구조조정 화가 충분히 형성되지 않은 상황에서는, NoSmok:ReallyGoodEditor 가 필요합니다. 자신이 쓴 글을 누군가가 서구조조정을 한 걸 보고는 자신의 글이 더욱 나아졌다고 생각하도록 만들어야 합니다. 간단한 방법으로는 단락구분을 해주고, 중간 중간 굵은글씨체로 제목을 써주고, 항목의 나열은 총알(bullet)을 달아주는 등 방법이 있겠죠. 즉, 원저자의 의도를 바꾸지 않고, 그 의도가 더 잘 드러나도록 -- 따라서, 원저자가 서구조조정된 자신의 글을 보고 만족할만큼 -- 편집해 주는 것이죠. 이게 잘 되고 어느 정도 공유되는 화/관습/패턴이 생기기 시작하면, 글의 앞머리나 끝에 요약을 달아주는 등 점차 적극적인 서구조조정을 시도해 나갈 수 있겠죠.
  • 새싹교실/2012/AClass/2회차 . . . . 68 matches
         = 곽길 =
         2.소자를 대자로 바꾸는 프로그램을 작성해 주세요.
          printf("소자 : ");
          printf("대자는 :%c\n", replace-32);
          printf("대자는 :%c\n", replace+32);
         한자리 숫자이다가 2자리 숫자이면서 깨지는 것은 예외처리해주셔도 되고 하지 않으셔도 됩니다.
         5.위 두 프로그램을 일반화 시켜 입력받은 숫자만큼 출력해주는 프로그램을 작성해주세요.(위 프로그램은 21을 입력)
         6.위 프로그램처럼 숫자를 순서대로 출력하는 프로그램을 피라미드 형태로 작성해 주세요.
         // 숫자로 못하겠어서 별로 만들어 봤어요.
         7.위 프로그램처럼 숫자를 순서대로 출력하는 프로그램을 다이아몬드 형태로 작성해 주세요.
         9.101부터200까지의 모든 정수를 더해서 반환하는 '함수'를 작성해주세요.(main에는 sum=Sum(); printf("%d",sum);이 있도록해주세요)
         11.n!을 출력하는 프로그램을 for으로 작성해주세요.
          // 몇번째 있는지는 if이 두 번돌아서 3번째 7번째 뜨는데.. 한번에 출력하는 거는 잘 못하겠어요…
         -동일한 데이터형의 많은 변수를 처리하기 위한 단수 변수를 사용하면 변수이름을 각각 다른 이름으로 사용해야하기 때에 많은 불편이 따른다. 이러한 불편함을 덜기 위하여 같은 데이터형인 일련의 기억장소를 표현한 변수를 '배열변수'라 한다. 즉 배열을 이용하면 여러개의 변수를 간단히 표현할 수가 있다. 2차원 배열은 '데이터형,배열명,그리고 [행]과[열]'을 나타내어 표현한다. 1차원 배열은 배열 요소의 크기와 데이터형이 동일한 기억장소를 1개의 차원으로 선언하였다고 말하면 2차원 배열은 2차원으로 선언(행과열)한 것이다.
         2.srand()함수가 무엇인지 찾아쓰고, time()을 이용해 랜덤으로 숫자를 하나 출력하는 프로그램을 작성해주세요.
         - 난수(random number)를 생성할때 stdlib.h헤더파일을 코드에 포함시키고 srand()를 사용한다.rand()함수는 매번 그 값이 같은 반면에 매실행때마다 난수를 다르게 생성하기 위해서 srand()를 사용한다.
         srand역시 stdlib.h에 포함되어 있다. srand는 시드값을 주어 사용하는 것이고 그 시드값으로부터 특정한 법칙으로 난수를 생성하는 것이다.따라서 매번 다른 난수를 얻으려면 시드값을 계속 바꾸어주어야 한다.
         이러한 코드개선을 위해서 time()함수를 사용해야 한다. 이 함수를 사용하기 위해 time.h 헤더 파일을 코드에 포함시켜야 한다. 또한 time함수는 1970년 1월 1일 이후 경과된 시간을 초 단위로 반환하는 함수 이다.
          printf("rand()함수를 사용,1개의 random number 나타내기 \n");
         -포인터는 기억장소에 있는 어떤 변수의 주소를 말한다. 즉, 다른 기억장소 위치의 주소를 갖고 있는 변수이다.포인터는 두개의 단일 연산자인 &와 *로서 정의한다. &연산자는 일반적인 변수 이름으로 사용되고 그 변수의 주소를 의미한다. 즉 &a는 a의 주소를 의미한다. *p는 p안에 있는 주소 위치의 내용을 의미한다. &는 주소 연산자이고 , *는 간접 연산자로 포인터선언을 의미한다. 일반적인 포인터 선언형식: 데이터형 *포인터변수명; 이다.
  • 정규표현식/스터디/메타문자사용하기 . . . . 61 matches
         정규표현식을 이용하여 메타자 그 자체를 찾기 위해서는 이스케이프 자를 사용하면 된다.
          * 윈도우 시스템에서 폴더의 구분을 역슬래시(\)로 하는 반면에 리눅스 시스템은 슬래시(/)를 사용한다. 따라서 이것을 변경하기 위해 사용할 수 있다.
         == 공백자 찾기(홍기) ==
         메타자는 일반적으로 두 가지 범주로 나뉜다.
          * 정규 표현식 법의 일부로 쓰는 자(ex : [])
         정규표현식 검사를 할때 공백자를 검색해야할 경우도 있다. 공백자는 다음과 같이 나타낼 수 있다.
         == 특정한 자 형태와 일치 시키기(준석) ==
         자주쓰는 자 집합들은 특수한 메타 자로 대신하여 찾기도 한다. 이런 메타 자들을 자 클래스(classes of characters)라고 부른다. {{{[0-9]}}} = {{{[0123456789]}}} 와 같은걸 알것이다. 이것을 {{{[0-9]}}} 보다 더 편한게 찾으려면 '\d'로 찾을수 있고 제외하고 찾기는 '\D'로 {{{[^0-9]}}}를 대신할수 있다.
         위와 보면 깨달을수 있다시피 정규 표현 법은 대소자를 구별하며 소자와 대자를 서로 반대임을 뜻한다.
         '\w'는 영자와 숫자를 포함하며
         '\W'는 영자와 숫자제외한것을 찾는것이다.
         그것은 다음의 예으로 본보기로 할것이다.
         === 예 ===
         위의 예에서는 정규표현식이 숫자로만이 이루어진것도 찾을수 있어야하지만 찾지 못하는걸 볼수있다.
         '\s' 모든 공백자 '\S' 모든 공백자를 제외
         '\c' 는 모든 제어자 '\C' 모든 제어자를 제외
         16진수 표현 및 사용
         '\x'를 붙여 10진수 10은 '\x0A'로 표현할수 있다. 이 자를 사용한다면 '\n'과 기능이 같다
         8진수 표현 및 사용
         '\0'을 붙여 사용한다. '\011'은 '\t'과 같고 그렇게 사용 할수있다.
  • CToAssembly . . . . 60 matches
         원 출처 : http://blog.naver.com/webman21/18265245
         이는 하드웨어만을 고려한 것이다. 모든 마이크로컴퓨터 시스템은 하드웨어 구성요소들의 작업을 지시할 소프트웨어가 필요하다. 컴퓨터 소프트웨어는 시스템측(시스템 소프트웨어)과 사용자측(사용자 소프트웨어)으로 구분할 수 있다.
         프로그램을 실행하기위해 필요한 함수들을 모아둔 기본 라이브러리나 사용자가 만든 라이브러리는 사용자 소프트웨어에 포함된다.
         기계어 프로그램은 컴퓨터가 이해하고 직접 실행할 수 있는 프로그램이다. 어셈블리어 명령어는 기계어 명령어와 보통 일대일 관계로 대응하지만, 우리가 쉽게 이해할 수 있는 자열을 사용한다. 고급언어 명령어는 영어에 매우 가까워서 프로그래머가 생각하는 방식과 자연스럽게 대응한다. 결국 어셈블리어나 고급언어 프로그램은 변환기라는 프로그램에 의해 기계어로 변환되야 한다. 이 변환기를 각각 어셈블러(assembler), 컴파일러(compiler) 혹은 인터프리터(interpreter)라고 한다.
         일반적으로 어셈블리어 명령어는 라벨(label), 연상기호(mnemonic), 연산수(operand)로 구성된다. 연산수 표시방법에서 연산수의 주소지정방식을 알 수 있다. 연상기호는 연산수에 저장된 정보에 작업을 한다. 사실 어셈블리어 명령어는 레지스터와 메모리위치에 작업을 한다. 80386계열은 eax, ebx, ecx 등의 (32비트) 범용레지스터를 가진다. 두 레지스터, ebp와 esp는 스택을 조작할때 사용한다. GNU Assembler (GAS) 법으로 작성한 전형적인 명령어는 다음과 같다:
         이 명령어는 eax 레지스터에 값 10을 저장한다. 레지스터명 앞의 `%'와 직접값(immediate value) 앞의 '$'는 필수 어셈블러 법이다. 모든 어셈블러가 이런 법을 따르는 것은 아니다.
         복잡한 프로그램을 만들때 우리는 해결할 제를 체계적으로 나눈다. 그리고 필요할때마다 호출할 함수를 작성한다. 목록 3은 어셈블리어 프로그램의 함수 호출과 반환을 보여준다.
         일반적으로 함수는 함수가 사용할 변수들을 정의한다. 이 변수들을 유지하려면 공간이 필요하다. 함수 호출시 변수값을 유지하기위해 스택을 사용한다. 프로그램 실행중에 반복되는 재귀호출시(recursive call) activation record가 유지되는 방법을 이해하는 것이 중요하다. esp나 ebp같은 레지스터 사용법과 스택을 다루는 push와 pop같은 명령어 사용법은 함수호출과 반환방식을 이해하는데 중요하다.
         = 스택 사용하기 =
         프로그램의 메모리 일부를 스택으로 사용하기위해 비워두었다. Intel 80386 이상의 마이크로프로세서에는 스택 최상위 주소를 저장하는, 스택포인터(stack pointer)라는 esp 레지스터가 있다. 아래 그림 1은 스택에 저장된 세 정수값 49, 30, 72를 보여준다 (정수는 각각 4 바이트를 차지한다). esp 레지스터는 스택 최상위 주소를 저장한다.
         스택포인터 레지스터는 4만큼 감소하고, 숫자 15를 4 바이트(주소 1988, 1989, 1990, 1991)에 저장한다.
         C 프로그램은 수백 수천개의 변수를 다룰 수 있다. C 프로그램에 해당하는 어셈블리코드는 어떻게 변수를 저장하며 변수를 다루기위해 레지스터를 충돌없이 사용하는지 알려준다.
         레지스터 개수가 적기때에 프로그램의 모든 변수를 레지스터에 담을 수는 없다. 지역변수는 스택에 위치한다. 목록 4가 그 방법을 보여준다.
         먼저 스택포인터의 값을 기준포인터 레지스터(base pointer register) ebp에 복사한다. 기준포인터는 스택의 다른 위치를 접근할때 사용할 고정된 기준점이다. foo를 호출한 코드에서도 ebp를 사용하므로, 값을 esp 값으로 대체하기 전에 스택에 복사한다. 명령어 subl $4, %esp는 스택포인터를 감소하여 정수를 담기위한 (4 바이트) 공간을 만든다. 다음 줄은 값 10을 ebp에서 4를 뺀 (4 바이트) 주소에 복사한다. 명령어 movl %ebp, %esp는 스택포인터를 foo 시작시 가졌던 값으로 되돌리고, popl %ebp는 기준포인터 레지스터의 값을 되돌린다. 스택포인터는 이제 foo를 시작하기 전과 같은 값을 가진다. 아래 표는 main 시작과 목록 4의 (main에서 반환을 제외한) 각 명령어 실행후 레지스터 ebp, esp와 3988에서 3999까지 스택 주소의 내용이다. 우리는 main의 첫 명령어 실행전에 ebp는 값 7000, esp는 값 4000을 가지며, 스택 주소 3988에서 3999까지 임의의 값 219986, 1265789, 86이 저장되있다고 가정한다. 또, main에서 call foo 다음에 나오는 명령어의 주소가 30000이라고 가정한다.
         함수로 파라미터를 전달하기위해 스택을 사용할 수 있다. 우리는 함수가 eax 레지스터에 저장한 값이 함수의 반환값이라는 (우리가 사용하는 C 컴파일러의) 규칙을 따른다. 함수를 호출하는 프로그램은 스택에 값을 넣어서 함수에게 파라미터를 전달한다. 목록 5는 sqr이라는 간단한 함수로 이를 설명한다.
         이 프로그램은 C 장 add(10,20)이 다음과 같은 어셈블러코드로 변환됨을 확인하면 명확해진다:
         장 foo: .long 10은 foo라는 4 바이트 덩어리를 정의하고, 이 덩어리를 10으로 초기화한다. 지시어 .globl foo는 다른 파일에서도 foo를 접근할 수 있도록 한다. 이제 이것을 살펴보자. 장 int foo를 static int foo로 수정한다. 어셈블리코드가 어떻게 살펴봐라. 어셈블러 지시어 .globl이 빠진 것을 확인할 수 있다. (double, long, short, const 등) 다른 storage class에 대해서도 시도해보라.
         프로그램이 어셈블리로 수학 알고리즘만을 구현하지 않는다면, 입력을 받고, 출력하고, 종료하는 등 어떤 작업이 필요하다. 이를 위해 운영체제 서비스를 호출해야 한다. 사실 운영체제 서비스를 제외하고는 여러 운영체제간의 어셈블리어 프로그래밍이 매우 비슷하다.
         Libc wrapper는 시스템호출 규칙이 변경되는 경우 프로그램을 보호하고, 커널에 그런 시스템호출이 없는 경우 POSIX 호환 인터페이스를 제공하기위해 만들어졌다. 그러나, 유닉스 커널은 보통 거의 POSIX에 호환한다: 즉 대부분의 libc "시스템콜"의 법은 실제 커널 시스템호출의 법과 (반대로도) 정확히 일치한다. 그러나 libc를 버리지않는 이유는 시스템콜 wrapper외에 printf(), malloc() 등 함수도 있기때이다.
         리눅스 시스템호출은 int 0x80을 통해 한다. 리눅스는 일반적인 유닉스 호출 규칙과 다른 "fastcall" 규칙을 사용한다. 시스템함수 번호는 eax에, 아규먼트는 스택이 아닌 레지스터를 통해 전달한다. 따라서 ebx, ecx, edx, esi, edi, ebp에 아규먼트 6개까지 가능하다. 아규먼트가 더 있다면 간단히 구조체를 첫번째 아규먼트로 넘긴다. 결과는 eax로 반환하고, 스택을 전혀 건드리지 않는다.
  • 새싹교실/2011/Noname . . . . 60 matches
          * 이스케이프 시퀀스의 사용
          * 서식자의 사용과 이유
          * 모이는 시간을 잘못 알려주어서 한사람 밖에 오지 못 하였습니다. 한 사람밖에 오지 못 하여서 진도를 많이 빼지 못 하고 복습과 질 위주로 공부를 하였습니다. 시간을 확실하게 정하고, 다음부터는 애들이 나오지 못 하여도 진도를 위주로 공부를 해야겠습니다. - [박정근]
          * 제어(if, switch)
          * if
          * Switch
          * switch의 경우 statement 에 break의 사용을 까먹지 맙시다.
          * 저번에 제어 할 때에는 창욱이가 없었지만 오늘은 창욱이만 나왔기 때에 제어 수업을 다시 했습니다.생각보다 이해가 빠르네요. 예제라던가 제등을 좀더 준비해가야겠습니다. 또 진도를 더 빨리빨리 빼서 중간고사에 맞출 수 있도록 맞추어 봐야겠습니다. 이제 제어 끝냈고 드디어 반복분을 할 차레입니다. 개인적으로 별찍는 제가 가장 재미있었기에 다음번에는 그 제를 풀어보도록 합시다ㅎㅎ - [박정근]
          * If구,If-Else구,Switch구에 대해서 배웠습니다. 역시 처음 배우는거라 예제들에 잘 적용하지 못했습니다. 하나하나 배워가면서 코딩하는게 너무 신기하게 느껴지고 수업시간이 너무 짧아 아쉽습니다. 수업시간이 길거나 자주 수업을 할 수 있으면 좋겠습니다. If구으로 해야하는 예제들과 Switch구으로 해야하는 예제들의 차이점을 조금 깨달았습니다. Switch구으로 코딩해야 더 쉬운 예제들과 If구으로 코딩해야 더 쉬운 예제들을 구별할 수 있는 능력을 키워야 겠습니다. - [김창욱]
          * 반복(for, while, do while)
          * for
          * expr1 에는 변수 초기화. expr2에 조건. expr3에 조건을 탈출하기 위한 장.
          expr2조건 확인 -> 조건에 충족되지 않을겨우 for을 빠져나옴.
          위의 과정으로 for이 실행된다는 것을 유의.
          * While
          * while의 expression에는 for과 다르게 조건만 들어간다.
          * 원치않는 무한루프를 피하기 위해 while 안에 조건을 탈출 할 수 있는 장을 만든다.
          * Do-While
          * while과 비슷하지만 do_while은 statement를 무조건 한번은 출력한다.(그 뒤에 조건확인.)
          * 반복을 공부하면서 별찍기를 해보았는데 생각보다 많이 어려우 하더라구요. 그래서 반복에 대한 제를 좀 더 준비해 왔습니다.(별찍기가 오래걸려 풀어보지는 못 했지만..ㅠ) 아무래도 제를 더 많이 풀어보도록 해 봐야 겠습니다. 반복은 많이 써보는게 좋으니까요ㅎㅎ - [박정근]
  • 페이지제목띄어쓰기토론 . . . . 60 matches
         === 한글제목과 영제목의 차이 ===
         영제목의 경우 대자 단위로 붙여 쓰면 {{{~cpp (ex: TheWikiName) }}} 페이지 표시해줄때 {{{~cpp The Wiki Name}}} 식으로 알아서 띄어서 찍어준다. 하지만 한글제목의 경우는 지원하지 않는다.
          * 영 제목의 경우 모두 빈칸을 붙여서 사용한다. (제목으로 표시될때 자동으로 단어의 대자 단위로 빈칸을 띄어주므로)
          * 제목중 특수자는 일단 자유롭게 허용한다.
         "Trim, 글자간 한칸" 이정도의 규칙이면 별무리 없을것 같은데, 엄청나게 빠르게 서가 누적되는 상황이 아니기 때에, 한 3~4개월 정도 혹은 정모때 논의해서 정리하는 것도 괜찮을것 같다. --상민
         제를 시스템과 관련해서 제한을 두지 말고 생각해봅시다. 한글 띄어쓰기가 더 사용하기에 좋은지, 아니면 붙여쓰더라도 별다른 불편이 없는지. 만약 띄어쓰는게 더 좋은 방법이라고 모인모인을 수정해볼수도 있겠죠? 예를들어, 한글의 경우 마음대로 띄어쓰기를 하는 경우가 중복된 페이지를 생성하는데 제가 된다면, 검색시나 새로운 페이지 생성시 white space 를 제외한 검색으로 페이지를 보여줄수도 있겠지요. 생각해보면 다른 '구현' 방법도 찾을 수 있을것 같습니다. 제는, '제'자체가 어떠한게 더 좋은 방법인지를 이야기해보도록 합시다. -- 이선우
         우선, 한국어는 영어와 달리 띄어쓰기를 하지 않아도 크게 불편하지 않습니다. 자와 말의 특성 때입니다. 하지만 이것이 띄어쓰기를 한 경우보다 정보 손실이 있다는 점은 사실입니다. 현재 모인모인에서는 {{{~cpp ["..."]}}}를 이용해서 확장위키이름을 사용하는 한, 띄어쓰기를 하든 안하든 상관이 없습니다. 띄어쓰기를 하는 것이 좋겠다고 생각을 한다면 그렇게 해보세요. 그리고 나서 토론해 보는 것이 좋을 것입니다. 현재 노스모크는 규칙 변경을 하기에는 비용이 너무 높습니다.
         저는 만약 한글 띄어쓰기를 허용하면 분명 어리버리 영도 띄어쓰기를 하는 사람들이 증가하게 될 것이고, 이는 곧 위키네임이라는 엄청나게 편리한 기능을 사장시킬지도 모르겠다는 우려를 했었습니다(어떤 규칙을 허용하면 그 규칙은 다른 규칙을 점진적으로 파괴하기도 합니다). 노스모크 초기 때에 페이지이름에 대해 엄격한 룰이 없었는데 제가 우려한 현상이 나타났었죠. 한글이건 영이건, 띄어쓰기를 하는 사람도 있었고, 안하는 사람도 있었고.
          DeleteMe) 위키네임이 주는 편리한 기능이란, 손쉽게 같은 내용의 중복을 방지하고 하나의 집약된 서를 만드는 것인가요? 초기에 노스모크에서 일어난 한글 띄어쓰기 제가 곧 영의 경우에도 임의로 띄어쓰게 한 결과를 낳았고, 이로 인해 발생한 제는 '중복된' 페이지의 양산,혹은 사용자가 원하는 페이지를 쉽게 찾을 수 없는데에서 기인하는지 알고 싶습니다. 전, 순수하게 띄어쓰기 자체가 사람이 자나 내용을 인지하는데 나쁜 영향을 준다고는 생각하지 않습니다. (현재 자연스러운 글쓰기 형태는 지금 쓰는 서처럼 띄어쓰기를 허용하니까요. 물론, 제목의 경우에도 예외라 생각하지 않습니다.). 정리해서, 띄어쓰기 자체가 띄어쓰지 않는것보다 좋지 않다고 생각하시는건지, 아니면 위키와 결부된 기능상의 제인지 알고 싶습니다. -- 이선우
          거듭 말씀드리지만, 기능상으로는 제한이 없습니다. 그리고 띄어쓰기 자체가 붙여쓰기보다 나쁘다는 어처구니 없는 일반진술도 하지 않았습니다. 어떤 구체적인 컨텍스트 속에서 이야기를 해야죠. 위키네임이 주는 편리한 기능이란 단어를 붙여쓰면 자동으로 링크가 되는 것을 말합니다. 사람들이 FrontPage라고 하면 될 것을 {{{~cpp ["front page"]}}}나 {{{~cpp ["Front Page"]}}}, 혹은 {{{~cpp ["Frontpage"]}}} 등으로 링크를 걸었다는 것이죠. 또, 사실 사용자가 띄어쓰기를 하건 말건, 혹은 대소자를 어떻게 섞어쓰건 일종의 분리층(separation layer)을 둬서 모두 동일한 페이지이름으로 매핑을 하는 방법이 있습니다. 하지만 이렇게 되면 새로운 규칙 집합(제가 말하는 규칙이란 사람들간의 규칙을 일컫습니다)이 필요할 것입니다. 국 경우는 몰라도 영 경우는 띄어쓰기를 하냐 안하냐가 아주 차이가 큽니다. 노스모크는 초기부터 영어 페이지이름을 많이 사용했고 현재도 그러하기 때에 이런 제는 꽤 중요했죠. 또 (영 경우) 기존의 위키표준을 지킨다는 생각도 있었고요. 하지만 여기는 아직 출발단계이고 하니까 다른 실험을 해볼 수 있겠죠. 아, 그리고 생각이 난건데, 페이지이름을 띄어쓰기를 하게 되면, 사람들이 이걸 위키에서 말하는 어떤 고유한 "단어"로서의 페이지이름(위키의 페이지이름은 "단어"입니다. 그게 하나의 커뮤니케이션 단위이기 때이죠.)이 아니고 게시판에서의 게시물 제목 수준으로 생각하게 되는 경향(affordance)이 있었습니다. 사실 위키에서의 페이지이름은 프로그래밍의 변수이름처럼 상당히 중요한 역할을 하는데, 붙여쓰기를 하게 되면 사람들에게 기존 의식틀에서 벗어나서 페이지이름이 고유한 것이고, 기존의 게시물 제목과는 다르다는 인식을 심어주는 데에 많은 도움이 되었습니다. 다른 원인도 있겠지만, 주변에서 페이지이름에 띄어쓰기 붙여쓰기 등 별 제한 없이 자유로운 곳일수록 페이지이름을 페이지이름으로 활용하지 못하는 경우를 많이 봤습니다. 만약 띄어쓰기를 허용한다면 오히려 더욱 엄격한 규칙과 이의 전파가 필요할지도 모르겠습니다.
          아, 이제야 띄어쓰기에 대한 어떠한 제가 있는지 알았습니다. 위키의 철학을 모른채 접근하다 보니, 단순히 띄어쓰기 자체에만 이야기를 한것 같습니다. 위에서 제가 한 이야기가 "띄어쓰기 자체가 붙여쓰기보다 나쁘다"라고 선배님이 말씀하신것처럼 느껴지셨다면 사과드립니다. 그런 의도는 아니었고, 단순히 띄어쓰기를 왜 조심해야 하는지에 대해 이해가 가지 않아 거듭 질드렸던거였습니다. 전 본 논의를 더 개진하기 전에 위키의 철학을 더 살펴봐야 본 뜻을 살려서 이야기를 할 수 있을것 같습니다. 말씀 감사합니다 :) -- 이선우
         조금 다른 이야기인데, 특수자를 페이지이름에 사용하는 제입니다. 제가 특수자를 사용하지 말자는 규칙을 만든 이유는, 그것이 발음하기 어렵기 때입니다. 발음하기 힘든 단어를 한 사회의 언어에 사용하지 않는 것에는 언어학적, 심리학적, 사회학적, 조직학적, 화적 제가 중층적으로 연계되어 있습니다. 한마디로 말한다면 해당 위키 커뮤니티가 더 발전하기 위한 겁니다. 이건 다음에 기회가 되면 자세히 설명을 하죠. 아주 작은 차이 같고, 별 이유가 없고 오히려 더 불편한 것 같지만 사실은 상당한 차이를 불러오는 것들이 많습니다. 페이지이름 띄어쓰기 제도 직접 실험도 해보고 그 결과에 대해 여러가지 분석, 논의도 해보면서 신중한 결정을 하길 바랍니다. --김창준
          혹시 '/'를 사용한 페이지들를 염두에 두고 하신 말씀이신지요. ["ZIM/UIPrototype"] 과 같은 페이지의 이름은 굳이 특수자를 안쓰고 접두어처럼 사용해서 ["ZimUIPrototype"]과 같이 만들어도 ''작은 차이''일 뿐이라는 생각이 듭니다. 그런데 '/'를 사용하니 제목에 사용된 두 개념의 경계를 명확히해서 눈으로 읽기에는 더 좋은데요, 슬래시(slash)라고 소리내어 읽어야 한다는 것이 어떤 ''상당한 차이''를 불러올지 궁금합니다. --이덕준
          에구, 잘못 넘겨짚었단 생각이 드는군요. 어쨌든 '/'도 특수자이긴한데, 예외적인 케이스로 인정할 수 있는 특수자라고 봐도 될지... --이덕준
         역시 약간 다른 이야기긴 한데, 페이지 제목에 특수자를 집어넣을 경우에 제가 있긴 합니다. 바로 모인모인 검색의 제인데, 'C++' 등의 '+' 같은 경우 검색시 만들어지는 정규표현식에 제를 일으키는군요. -- 석천
  • SmallTalk/강좌FromHitel/소개 . . . . 59 matches
         Smalltalk를 전산 교육 기관에서 별로 중요하지 않게 여기고 있기 때이기도 합
         (application) 프로그램을 만드는데 사용할 수 있다는 것을 알려드리고자 합니
         사용하여 만들어질 것이라는 이야기가 무성했습니다. 과연 오늘날 많은 무른모들
         시하는 여러 가지 기술들이 개발 사용되고 있습니다. 80년대 초반에 등장하여 무
         더불어 사용자의 요구에 따라 무른모를 얼마나 쉽게 유지.관리할 수 있느냐가 중
         요한 제로 대두되었으며, 객체지향 패러다임은 이런 제를 해결할 수 있는 하
         오늘날 많이 사용되고 있는 C++, Java, Object Pascal 등은 모두 프로그래밍 언
         점에서 제를 바라보는 것이 어떨까 하고 생각하게 되었으며, 그래서 찾아내게
         되었습니다. 또한 Smalltalk 환경에서 사용되는 많은 개념들이 우리가 현재 사용
         그럼에도 불구하고 Smalltalk는 범용 프로그래밍 언어로써 사용되기에는 몇 가지
         니다. 이는 비단 Dolphin Smalltalk만이 아니라, 널리 사용되고 있는 VisualAge
         않게 사용되고 있는 점으로 이루어진 그림(bitmap graphic)과 그래픽 사용자 환
         (PC)에서 구현될 수는 있었겠지만, 80년대에 널리 사용되넌 PC에서 돌아가는
         흔히 우리들이 사용하고 있는 펜티엄급 컴퓨터에서는 더욱 더 최적의 성능을 발
         입니다.
         Smalltalk가 바로 그러한 시스템입니다. 분명히 몇 줄 안 되는 반복 수행
         는 것이 원래는 간단한 제를 해결하기보다는 큰 시스템을 어떻게 하면 쉽게 설
         계하고 만들 수 있는가에 초점을 맞추었기 때입니다. C에서는 두어 줄로 끝날
         프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
         을 따르는 데서 오는 명확한 설계 때에 가능한 것입니다.
  • SmallTalk_Introduce . . . . 59 matches
         Smalltalk를 전산 교육 기관에서 별로 중요하지 않게 여기고 있기 때이기도 합
         (application) 프로그램을 만드는데 사용할 수 있다는 것을 알려드리고자 합니
         사용하여 만들어질 것이라는 이야기가 무성했습니다. 과연 오늘날 많은 무른모들
         시하는 여러 가지 기술들이 개발 사용되고 있습니다. 80년대 초반에 등장하여 무
         더불어 사용자의 요구에 따라 무른모를 얼마나 쉽게 유지.관리할 수 있느냐가 중
         요한 제로 대두되었으며, 객체지향 패러다임은 이런 제를 해결할 수 있는 하
         오늘날 많이 사용되고 있는 C++, Java, Object Pascal 등은 모두 프로그래밍 언
         점에서 제를 바라보는 것이 어떨까 하고 생각하게 되었으며, 그래서 찾아내게
         되었습니다. 또한 Smalltalk 환경에서 사용되는 많은 개념들이 우리가 현재 사용
         그럼에도 불구하고 Smalltalk는 범용 프로그래밍 언어로써 사용되기에는 몇 가지
         니다. 이는 비단 Dolphin Smalltalk만이 아니라, 널리 사용되고 있는 VisualAge
         않게 사용되고 있는 점으로 이루어진 그림(bitmap graphic)과 그래픽 사용자 환
         (PC)에서 구현될 수는 있었겠지만, 80년대에 널리 사용되넌 PC에서 돌아가는
         흔히 우리들이 사용하고 있는 펜티엄급 컴퓨터에서는 더욱 더 최적의 성능을 발
         입니다.
         Smalltalk가 바로 그러한 시스템입니다. 분명히 몇 줄 안 되는 반복 수행
         는 것이 원래는 간단한 제를 해결하기보다는 큰 시스템을 어떻게 하면 쉽게 설
         계하고 만들 수 있는가에 초점을 맞추었기 때입니다. C에서는 두어 줄로 끝날
         프로그램을, C++의 갈래(class)를 사용하여 열 줄로 짰다고 해서, C++ 언어가 C
         을 따르는 데서 오는 명확한 설계 때에 가능한 것입니다.
  • JavaNetworkProgramming . . . . 58 matches
         *'''하지만 서를 남기면서 책을 보는게 아직 책내용을 확실히 이해하지 않은이상 힘들다 ㅠ.ㅠ'''
          *자원과 관련된 보안 : 자원과 관련된 보안은 로우 레벨 보안보다 좀더 프로그래머에게 직접적으로 관련되어있음 애플릿을 클라이언트로 사용할때 더 중요함 이는 애플릿이 보안 제약에 직접적으로 연관되어 있기 때
          *간단한 사용자 예외
          public class AuthException extends IOException{ //사용자 예외를 정의할때 적당한 예외 클래스의 서브클래스가 되는것이 중요한데
          *자바에서 코드의 특정 부분을 한번에 한 쓰레드만이 접근할수 있도록 해주기위해 synchronized 장을 사용
          *세마포어(semaphores) : 세마포어란, 자바 객체가 아니라 특별한 형태의 시스템 객체이며, 이객체는 '얻기(get)'와 '놓기(release)'라는 두 가지 기능을 가지고 있다 한 순간에, 오직 하나의 쓰레드만이 세마포어를 얻을 수 있으며(get), 한 쓰레드가 세마포어를 가지고 있는 동안 세마포어를 얻으려고 시도한 다른 쓰레드들은 모두 대기 상태에 들어간다. 다시 쓰레드가 세마포어를 놓으면(release) 다른 쓰레드가 세마포어를 얻고(get) 다시 대기상태로 들어간다. 이런한 매커니즘을 사용하여 특정 작업을 동기화 할수있다.
          *동기화의 효율 : 대부분의 경우 동기화 작업은 매우 중요하며, 때로는 적대 생략해서는 안되는 경우도 있다. 그러나 불필요한 동기화 작업은 프로그램의 수행 성능을 떨어뜨리고, 재사용성을 감소시키며, 프로그램이 교착 상태에 빠지게 할 수도 있다.
          *Thread 클래스 : 보통 상속받아서 사용
          execution.interrupt(); //stop()을 쓰는 것은 별로 바람직하지 않다 stop()은 쓰레드가 어떤 상황에 있더라도 쓰레드를 바로 멈추어 버리기 때에,
          } //경우가 생길 수도 있다. 따라서 stop() 메소드를 사용하는 대신 쓰레드 자신의 종료상태를 인지하고, 수행을 중지하는 플래그
          } //사용하는 방법이 더좋다. 가장 권장되는 방법은 위와 같은 플래그와 함께 interrupt()를 사용하는 것이다.
          *효과적인 다중 쓰레딩 : 자바에서 쓰레드를 생성하는 것은 매우 느린 작업이며 일부 자바 가상 머신은 쓰레드에 관련된 메모리 누스 때에 고생하기도 한다. 따라서 효과적인 쓰레딩을 위해서는 새로 쓰레드르 생성하는 것 보다 이전에 생성했던 쓰레드 객체를 재사용하느 것이 좋다 진보된 형대의 자바 가상 머신에서는 시스템 레벨에서 이러한 쓰레드 재사용을 지원하기도 하지만, 이경우조차도 쓰레드를 재상용하는 방식을 사용하면 여러가지 이점을 얻을수 있다. --예제는 17장쯤에..
          *6장 : 스트림을 사용한 파일 처리 프로그램밍의 진수
          *10장 : 자 스트림을 사용한 개선된 I/O기법
          *11장 : 자 스트림 필터
          *12장 : 메모리 기반의 자 스트림
          *OutputStream 클래스 : OutputStream 클래스는 통신 채널로의 관을 의미한다. 즉, OutputStream으로 데이터를 써넣으면 데이터는 연결된 통신 채널로 전송될 것이다.
          System.out.write('\n'); //개행자 출력
          println(args[i]); //넘겨받은 자를 하나씩 넘김
          *InputStream 클래스 : InputStream 클래스는 통신 채널로부터 데이터를 읽어 내는 관을 의미한다. OutputStream에 의해 통신 채널로 쓰여진 데이터는 해당하는 InputStream에 의해 읽혀진다.
  • 이학 . . . . 56 matches
         이학(耳學) 즉, 귀로 배우는 학의 과정과 성과에 관한 글
         from 히로나카 헤이스케 NoSmok:학의즐거움 중 '자기발견 - 묻고, 듣고, 또 묻고' 중에서..
         하버드 대학에는 법률, 경제, 교육, 생물, 종교학 등 여러 분야의 유학생들이 있었다. 요사이 유행하는 말로 하면 '學際的 분위기' 라고도 할 수 있는 것이었다. 현재 의학이나 생물학에서는 무엇이 제일 제인가? 경제학을 전공하는 사람의 최근 관심사는 무엇인가? 미국의 교육학이나 종교학은 무엇을 가르치고 있는가? 여러 학 분야의 사람들이 마음대로 이야기하는 분위기는 그야 말로 학구적인 것이었다.
         일반적으로 미국에서는 이학이 발달되어 있는데, 그 이유로는 미국이란 나라가 높은 봉급으로 교수를 고용하기 때에 여러 나라에서 우수한 인재들이 모여 있다는 점을 빼놓을 수 없다. 이학이라는 것은 책에서 배우는 것이 아니라 직접 사람과 접하면서 그 사람이 갖고 있는 지식이나 사고 방식을 배우는 거을 말한다. 따라서 우수한 인재가 모여 있다는 것은 그만큼 '이학'이 발달될 소지도 크다는 것이다.
         미국에서 '이학'이 발달하고 있음을 잘 나타내 주는 예로서 자주 거론되는 것으로 미국 사람들은 질하는 기술이 좋다는 것이다. 사실은 기술이 좋다라기 보다 모르는 것은 무엇이든지 질하는 습성이 있는 것이다.
         이것과 관련하여 컬럼비아 대학에 있었을 때 만난 한 제자 생각이 난다. 멀리서 그의 모습이 보이면 교수들이 피해갈 정도로 만날때마다 질을 해대는 학생이었다. 학교에서뿐만 아니라 밤 늦은 시간에도 교수 집에 전화를 해서 한 시간씩이나 질을 하기도 했다. 외모는 뛰어났지만 컬럼비아 대학에 들어올 정도의 실력이 못 되는 학생이었기 때에 (경력이 특이하고, 면접시 추진력을 인정받아서 입학시킨 학생이었다.) 그의 질은 대부분 전혀 조리가 안 맞고 초점이 없었다. 나도 대학이나 집으로 걸려 오는 전화를 통하여 그의 왕성하긴 하나 시시한 질에 몇 번이나 손을 들었다.
         그런데 입학해서 2년 정도 지나니까 그는 더 이상 시시한 질만 하는 학생이 아니었다. 가끔 질다운 질을 할 때도 있었고 4학년이 되어서는 마침내 우수한 논을 써내어 학계 일류의 논지에 발표할 정도로까지 성장하였다. 그는 그 후 내가 하버드 대학으로 옮길 때 강사로 따라왔다가, 스탠퍼드 대학의 조교수를 거쳐 지금은 캘리포니아 대학의 교수가 되었다.
         이 학생에게서 전형적인 예를 보듯이 미국에서는 질을 통해 배운다. 즉, 귀로 배우는 '이학'이 학의 한 방법으로 널리 쓰이고 있다. 일본 사람들은 일반적으로 '좋은 질' 과 '시시한 질'을 구별하고, 실제로 답을 알면서도 자기 재능이나 발상을 과시하기 위하여 질하는 경향이 있다. 미국 사람들은 좋은 질이나 시시한 질에 상관없이 모르는 것은 무엇이든지 질하고 할 수만 있다면 질만으로 다 배워 보겠다는 자세가 있다.
         일류 대학의 학생이라면, 이 이학만으로 단기간 내에 상당한 수준까지 배울 수가 있다. 가령, 3,4백 페이지 분량의 책에 씌어진 내용을 배우려고 할 때, 학생은 교수에게 가서 "이 책에는 무엇이 씌여져 있습니까?" 라고 일본의 대학에서는 상상도 할 수 없는 질을 한다. 다소 유치하고 대략적인 질이지만, 질받은 교수는 그에 대해서 학생에게 열심히 설명한다. 그러면 그 설명에 대해서 또 질하고, 그것을 몇 시간에 걸쳐서 되풀이하는 동안에 학생은 그 책의 요점을 파악해 버린다. 두꺼운 책을 몇 페이지 읽다가 이해하지 못해 포기하는 것보다 질을 하는 것이 결과적으로 좋은 효과를 내는 셈이다. 물론 상세한 부분은 스스로 읽어야 되겠지만, 대체적인 요점이나 골격을 파악하면 책에 대한 이해는 훨씬 빠르다.
         학생과의 관계에서 자주 경험하는 일인데, 일본 학생은 'why' 라든가 'how'라고 질하는 경우가 매우 많다. 말할것도 없이 'why'라는 것은 '왜'라는 것인데, 이것은 '진리(眞理)'를 물어 보고 있는 것이다. 이에 반해 미국 학생은 'what'이라는 형태의 질을 많이 한다. "그것은 도대체 무엇이냐?" 라는 식으로 물어본다. 이것은 '사실(事實)'을 묻는 것이다.
         요컨대 일본 학생은 사실의 배후에 있는 진리를 구하고 있다고 해석할 수 있다. 'why' 라고 묻는 것이 사실만으로 만족할 수 없기 때이라면 나름대로 훌륭한 질이 될 수 있다. 그러나 경우에 따라서는 정보(情報)를 진리로 착각할 때도 있고, 사실을 모르면서 진리라는 말을 혼동하여 자기 만족에 빠지는 경우도 있을 수 있다.
         '이학'은 단순히 학에서뿐만 아니라 여러 방면에서 이용된다. 예를 들어 일본에 대해서 알고 싶어하는 미국 사람은 일본에 관해서 쓴 책을 읽기 보다 우선 주변의 일본 사람에게 자꾸 질한다. 나도 주변의 미국사람에게서 일본에 대한 여러 가지 질을 받은 적이 있다. 질을 받으면 대답해야 한다. 대답해 주지 않으면 자기도 상대방에게 그와 비슷한 질을 할 수 없기 때이다.
         정말 흥미로운 내용이네요. 전국투어팀은 선배님들을 찾아가서 학에 대한 내용에만 국한되지않은 훌륭한 ["이학"]을 하고 있겠죠? 대학 시절에 ["이학"]을 통해서 빨리 배울 수 있는 분위기가 만들어졌으면 좋겠어요. 전공에 관련한다면 위키위키가 그 대안이 될 수 있을까요?
         단. 목적과 방향성없는 질. 그리고 [http://kldp.org/KoreanDoc/html/Beginner_QA-KLDP/ 잘만들어진 메뉴얼을 읽지 않은 상태에서의 질] 은 조금 생각해봐야 하지 않을까요. 이미 좋은 서가 있는 가운데에서 선배들이 할 일은 '고기낚는 법' 을 가르쳐주는 것일지도.
         또하나 득 떠오르던 모 학회의 제 친구의 글. '우리가 모이면 꼭 항상 컴퓨터에 관해서만 이야기해야 한다는 강박관념에 빠져 있을까..'
         공부를 효율적으로(비용 대 수익 면에서) 잘 하는 사람들을 보면, 질하기를 잘(자주)하고 또 잘(능숙하게) 합니다. 또 하나 관찰할 수 있는 것은, 어느 누구에게 무엇을 묻든 꺼리거나 부끄러워 하지 않으면서도, 물을 때는 주변에서 가장 적당한 사람, 최적의 사람을 찾아 묻는다는 점입니다.
         노벨 물리학상을 받은 리차드 파인만(그의 전기는 물리학과 인연이 없는 사람들에게도 추천합니다. 밤을 단숨에 샐 겁니다)은 이런 질하기의 기술과 용기를 두루 갖춘 사람이었습니다. 그가 모 프로젝트의 중간에 투입되었을 때 관련 기술지식을 전혀 갖고 있지 못했습니다. 그 프로젝트의 현장 기술자들을 불러놓고 그들에게 끊임없이(대여섯시간?) 질을 해서 순식간에 그들의 지식을 흡수한 이야기는 전설로 회자되기도 합니다.
         도올 김용옥은 모르는 것이 있으면 남들과 달리 애둘러 묻지 않고, 직접적으로 묻습니다. "양자 역학이 뭔가요?" 거기에 "소립자, 원자, 분자 등의 미시적인 계에 적용되는 역학입니다" 식의 사전적 답변을 듣게 되면, 다시 묻습니다. "그러면 소립자는 뭔가요?" 이런 식으로 몇시간만 진행하다 보면 정말 "이해"란 걸 하게 됩니다. 물론 전 텍스트를 보고 공부하는 과정이 결여되어 있으니 완전하진 않지만, 개념의 이해는 가능하다는 겁니다. 그런데 이게 나중에 그 분야를 공부하는 데에도 엄청난 도움이 됩니다. 천지차이죠. 수식 몇 개 외워서는 이런 지식의 심층구조(deep structure)를 획득하기 어렵습니다.
         그런데, 이런 "가당찮아 보이는" 질에 제대로 답변을 해주려면 그 사람이 "대가"여야 합니다. 대가가 아니고서는 이런 질에 모든 것을 통섭하여 쉽고 간략한 답변을 내어놓지 못합니다. (여러분 중에 "알고리즘이 뭐에요?"라고 묻는 외한에게 자신의 언어로, 쉽고 명료한 -- 그러나 조금도 어긋남 없는 -- 설명을 해줄 수 있는 사람이 몇이나 될까요) 그래서 "최적의 사람"을 골라 물어야 하는 것입니다. (질을 잘하는 사람은 상대가 유명한 대가라고 해도 겸손할지언정 절대 주눅들지 않습니다. 다짜고짜 그 대가를 찾아가서는 도움을 청하는 것이죠.)
         전산학 분야에도 지대한 영향을 미친 논리학자 타르스키의 "논리학 입" 책을 보면 첫 장에 나오는 말이 걸작입니다. 그는 첫 페이지부터 도대체 "변수"란 무엇인가에 대해 설명을 합니다. 그러면서 대부분의 수학책이 이 개념을 잘못 가르치고 있다고 비판을 합니다. 대가는 이런 사람입니다. 가장 기본적이고, 가장 상식적인 대상에 접근해서, 사정없이 흔들어 놓고는 아주 명징하고 명료한 상태로 만든 후에 소리없이 사라집니다. 또, 파인만은 이런 말을 자주 했습니다. "어떤 개념이든지 수식을 쓰지않고 쉽게 설명할 수 없다면, 그 사람은 그걸 완전히 이해하지 못한 것이다"
  • woodpage/VisualC++HotKeyTip . . . . 55 matches
          *사용도 : ***** (무지 많이 사용 없으면 코딩하기 정말 싫을거같음)
          *사용도 : * ( 난 별로 사용안함 Ctrl+Tab과 F12를 더 자주이용함 )
          *사용도 : ****
          *사용도 : ****
          *사용도 : * (가끔 필요할때까 있음)
          *사용도 : * (F12를 사용함)
          *사용도 : ** (그냥 실행시켜서 봄)
          *사용도 : * (키를 3개씩 누를 힘이 없음 ㅠ.ㅠ)
          *사용도 : ****
          *사용도 : *
          *사용도 : *
          *사용도 : 안씀
          *사용도 : *****
          *사용도 : *
          *사용도 : *****
          *사용도 : ****
          *워크스페이스창으로 커서를 옮기기는 하는데, 워크스페이스 탐색은.. 마우스로 대개 하기때에..
          *사용도 : **
          *사용도 : 사용안함(역시나 마우스로)
          *사용도 : *
  • BigBang . . . . 54 matches
          * C/C++/Java 언어를 공부하고 서로간의 사용상 차이점과 공통적인 패턴 학습
          * 제어, 반복, 변수, I/O
          * 왜? 컴파일러는 이런거 모르기 때.
          * namespace : 이름 중복을 막기 위해 사용
          * 자열
          * 라인끝 자를 출력하고 버퍼를 비운다.
          * C/C++/JAVA은 형을 강제하는 강형언어기 때에 형이 있다.
          * 당연히 강형언어가 더 빠르게 동작할수 있다. CPU에서 어떤 모듈을 쓰는지 알기 때.
          * C는 bool이 없다!, c++은 있다. java는 boolean으로 사용한다. - C11은 있단다.
         ==== 제어, 반복 ====
          * 제어과 반복은 어찌보면 동치.
          * switch case에서 case는 컴파일러만 알뿐(Label이라는 소리..)
          * 세 언어에서 case 뒤는 "정수" 이다.
          * java7부터 자열상수 case label 지원. case "hello": ...; 가 된다.
          * void pointer 사용 자제합시다. void pointer가 가리키는 값의 타입을 추론할 수 없다. [http://stackoverflow.com/questions/1718412/find-out-type-of-c-void-pointer 참고]
          * 많은 기능을 잘게 쪼개기 위해 함수를 사용한다.
          * 코드의 재사용성을 높인다.
          * global variable의 사용을 자제하자. 함수의 기능을 이해하기 어렵게 만든다.
          * 변수 접근을 제어하기 힘들기 때에 버그를 유발할 확률도 증가한다.
          * #ifndef NAME : #define NAME이 되어있지 않는 경우에 작동한다. 주로 헤더파일 중복 include를 막기 위해 사용한다.
  • 빵페이지/숫자야구 . . . . 53 matches
         == 제 정의 ==
         [숫자야구]
          DeleteMe 내용이 중복되어서 제정의와 참고자료 부분을 지웠습니다. 위키라는 지식 풀속에 중복되는 지식은 링크로 충분하겠지요. 아래의 제들 역시 {{{~cpp 숫자야구/유주영}}} 식으로 하는 편이 차후 접근성 측면에서 더 좋을것 같습니다.--NeoCoin
          * 아 그리고 rand() 만 쓰면 똑같은 숫자만 된다고.. 뭐 다른것도 해야 되던데요.. - 정욱
          cout <<"컴퓨터가 생각한 숫자 : " << num[0] << num[1] << num[2] << "\n";
         쓰다보니 길어졌다~ while 탈출조건 안쓰고 깔끔하게 하는방법 없을까.?
          * 자 입력하면 매트릭스 모드 돌입하네 -_-;;; - 승균
          * 숫자만 입력하지 않은 죄값을 치룬것이오.ㅋㅋ
         // 베이스볼 게임입니다. 간단히 말해 숫자 맞추기 게임으로 4자리 의 숫자를 9번 이전에 맞춰야 합니다.
          int rand_num[3]; //난수생성에 사용될 변수입니다.
          int i, j, k, num; //i,j,k 는 포용, num 은 사용자 입력입니다.
          int player_num[3]; //사용자가 입력한 값을 각 자리 숫자로 나눠서 rand_num과 비교하기 쉽게 만듭니다.
          } //이 if 을 통해서 4자리 숫자가 모두 다르게 배열되게 합니다.
          cout << "3자리 숫자를 입력하세요(숫자가 겹치지 않게 쓰세요) : " ;
          for (j=2;j>=0;j--){//숫자를 배열로 바꾸는 포
          for(j=0;j<2;j++){ //각자리 비교 포 시작
          } // 각자리 비교 포
          } // else
          if (extra == 0) continue;
          cout << "숫자를 맞추셨습니다.!!\n";
  • 1thPCinCAUCSE . . . . 52 matches
          * 사용언어: C/C++ with Visual C++ 6.0
          * 제 성격: 국내 대학생 프로그램 경진 대회의 제 출제 경향을 따른다. 2002년도 제 샘플( http://cs.kaist.ac.kr/~acmicpc/problem.html see also ["2002년도ACM제샘플풀이"] 참조)
          * 휴대폰, 인터넷 사용 금지
          * 개인 디스켓, CD 등 휴대 금지. 디스켓은 나눠준 것만 사용.
          * 경시 3시간에 3제가 출제된다. (open book, closed internet)
          * 팀은 한 제에 대해 소스코드가 완성되면 디스켓에 담아 채점 팀에 제출한다.
          * 그 제에 대해서 준비된 테스트 데이타( 보통 5-10개)에 대해서 모두 맞는 답을 내야 그 제를 맞춘 것으로 한다.
          * 프로그램의 실행시간이 일정시간(예: 10초)을 지나도 끝나지 않을 경우 틀린 제가 됩니다.
          * 컴파일 error, 실행 시간 error , 출력 포맷이 제에서 정한 것과 다른 경우에도 틀림.
          * 틀린 제는 다시 제출할 수 있다.
          * 맞춘 제에 대해서는 경시 시작부터 제를 제출한 시각까지 시간을 분으로 환산한 것이 점수로 주어진다. (따라서 점수가 적을수록 유리) 그리고 여기에 penalty 점수를 합산한 것이 그 제의 최종 점수가 된다. 예를 들어, 어떤 한 제에 대해서 다섯 번째 제출을 시작후 1시간 20분에 하여 맞추면, 지나간 시간이 80분이므로 80점, 네 번째까지는 틀렸으므로 4번*10점=40점이 penalty, 최종 점수는 120점이 된다.
          * 경시 후에도 못 맞춘 제는 점수가 없다.
          * 각 팀의 최종 성적은 맞춘 제 수와 점수 합이 된다.
          * 순위는 맞춘 제의 수가 많을수록 상위, 같은 수의 제를 풀면 빨리 푼 팀 (즉, 점수 합이 적은 팀)이 순위에 유리합니다.
          1. 각 제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력을 쓰면 안됨.
          4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 팀의 컴퓨터에서 실행한다. 이점을 유의할 것. 즉, 자기 컴퓨터에만 있는 특수한 기능을 사용하게 되면, 채점 팀 컴퓨터에서는 안 돌아 갈 수 있음.
          6. 모든 제는 숫자, 영어 자들을 입력으로 받아서, 역시 숫자나 영어 자를 출력하도록 되어 있다. 그래픽 출력은 없음.
         === 제 ===
          * ["1thPCinCAUCSE/ProblemA"] - A번 제 "시계"
          * ["1thPCinCAUCSE/ProblemB"] - B번 제 "숫자 입력"
  • C/C++어려운선언문해석하기 . . . . 51 matches
         CodeProject에서 최근에 아주 흥미로운 글을 읽었습니다. 글의 내용이 별로 길지도 않고 워낙 유용한 정보라 생각되서 날림으로 번역해봤습니다. 영어와 한글의 어순이 반대라서 매끄럽지 못한 부분이 많은데 이런 경우 원도 같이 볼 수 있도록 같이 올렸습니다.
         원 : How to interpret complex C/C++ declarations (http://www.codeproject.com/cpp/complex_declarations.asp)
         간혹 int * (* (*fp1) (int) ) [10]; 과 같은 선언이나 혹은 이와 유사하게 난해한 선언을 볼 기회가 있습니까? 이 글은 이런 C/C++
         선언을 직면했을 때 이를 어떻게 해석하는가를 알려주기 위한 글입니다. 매우 기본적이고 평범한 예제에서 시작해서 복작한 경우까지
         다루겠습니다. 우리가 매일 흔히 볼 수 있는 선언을 비롯해서 간간히 제의 소지를 일으킬 수 있는 const 수정자와 typedef 및 함수
         이 글은 단순히 우리가 이러한 선언을 맞닥뜨리게 되었을 때 어떻게 이 선언을 이해할 수 있는가 방법을 알려주는 것입니다. 여기
         예제에서 제시된 것과 같이 복잡한 선언사용하여 이해하기 어려운 코드를 작성하는것은 결코 좋은 프로그래밍 습관이 아니겠죠.
         위의 장은 '변수 n 을 int 형으로 선언한다'라고 해석할 수 있습니다.
         포인터로 넘어가서 다음과 같은 선언을 보게되면,
         좋습니다. 왜냐하면 다음과 같은 선언사용하면서 실수할만한 소지를 없애주기 때입니다. (역자주: 참고로 C++ 창시자인 Bjarne
         위의 선언을 처음 보게 되면 변수 p와 변수 q가 마치 int를 가리키는 포인터형 (int *) 변수로 선언된 것 처럼 보입니다. 하지만 사실
         다음과 같은 선언들을 봅시다. (역자주: 여기서 부터는 선언 해석 원을 괄호안에 넣습니다. 선언을 한글로 표현하기가 이렇게
         const 수정자는 변수가 변경되는 것을 금지 (변수 <-> 변경할 수 없다? 모순이군요 ) 하기 위해서 사용하는 키워드입니다. const 변수
         를 선언하는 경우 선언에서 바로 초기화를 해줍니다. 변경이 불가능하기 때에 선언 외에서는 값을 초기화할 수 없겠죠.
         인적으로는 const가 강조되어서 의미가 더 분명한 첫번째 선언을 선호합니다.
         위에서 p와 q는 const int형 변수이기 때에 *p 나 *q의 값을 변경할 수 없습니다. r은 const 포인터이기 때에 일단 위와 같이 선언
         위에서 나온 두 가지 선언을 결합하여 const int 형을 가리키는 const 포인터를 선언하려고 하면 다음과 같습니다.
         다음에 나열한 선언들을 보시면 const를 어떻게 해석할 수 있는지 더 분명하게 아실 수 있을겁니다. 이 중에 몇몇 선언은 선언하면
         typedef는 typedef는 "* 또는 &가 형이 아닌 변수에 적용된다"라는 규칙을 극복하게 해줍니다. 다음과 같이 typedef 를 사용하게 되면
         변수 p, q 모두 char를 가리키는 포인터 변수가 됩니다. typedef가 사용되지 않았다면 q는 char를 가리키는 포인터 변수가 아니라 char 형 변수였을 텐데 솔직히 이런 사실을 모르는 경우 실수하기 쉽상이죠.
  • Java Study2003/첫번째과제/장창재 . . . . 51 matches
          - 자바(Java)를 이야기할 때 크게 두 가지로 나누어 이야기 할 수 있습니다. 먼저, 기계어, 어셈블리어(Assembly), 포트란(FORTRAN), 코볼(COBOL), 파스칼(PASCAL), 또는 C 등과 같이 프로그래밍을 하기 위해 사용하는 자바 언어가 있고, 다른 하나는 자바 언어를 이용하여 프로그래밍 하기 위해 사용할 수 있는 자바 API(Application Programming Interface)와 자바 프로그램을 실행시켜 주기 위한 자바 가상머신(Java Virtual Machine) 등을 가리키는 자바 플랫폼(Platform)이 있습니다. 다시 말해서, 자바 언어는 Visual C++와 비유될 수 있고, 자바 플랫폼은 윈도우 95/98/NT 및 윈도우 95/98/NT API와 비유될 수 있습니다.
         컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러한 이유 때에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러한 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
         자바 바이트코드 명령어를 해석하고, 이를 자바 인터프리터가 설치되어 있는 플랫폼(윈도우 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) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         자바는 몇 가지 단점을 가지고 있는데, 자바의 단점이라 할 수 있는 제들과 그에 대해 자바에서는 어떤 기술 또는 방법을 이용하여 해결하려 하고 있는 지에 대해 살펴보도록 하겠습니다.
          먼저, 자바는 기계어 코드를 직접 실행시키는 것이 아니고, 플랫폼 독립적인 중간 코드 형태인 바이트코드를 자바 가상머신이 해석하여 실행시키는 인터프리터 방식을 취하고 있으므로 느린 수행 시간을 갖습니다. 일반적으로 C보다 평균 8배 정도 느리고, 최대 20배까지 느립니다. 이렇게 느린 수행 시간을 해결하기 위해 다음과 같은 기술을 사용할 수 있습니다.
         두 번째, 자바 애플릿을 웹 서버로부터 웹 클라이언트가 다운로드하여 실행시켜 주게 되는데, 이 때 네트워크 속도가 느리다는 제가 있습니다. 이런 제점에 대해서는 다음과 같은 기술을 사용하여 해결하려 하고 있습니다.
         자바 애플릿을 실행시키기 위해 애플릿을 다운로드해야 하는데, 이 때 애플릿에서 사용하는 데이터들도 존재할 수 있습니다. 예를 들어, 애니메이션을 수행하는 애플릿이 있는 HTML 페이지에 접속하여 그 애플릿을 실행시켜야 할 경우, 해당 애플릿 파일과 애플릿에서 애니메이션을 위해 사용하는 각 프레임 이미지도 존재할 것입니다. 따라서, 애플릿 파일은 물론 애플릿에서 사용하는 이미지 파일도 다운로드해야 애플릿에서 제대로 애니메이션을 수행할 수 있겠지요. 이 때, 애플릿 실행과 관련된 모든 파일을 JAR 또는 ZIP 형태의 압축 파일로 묶어 전송하게 됩니다. 이렇게 함으로써, 느린 네트워크를 이용하여 애플릿과 관련된 파일들을 다운로드 하는데 드는 시간을 줄일 수 있습니다.
         다운로드 받은 애플릿과 애플릿 관련 파일들은 웹 클라이언트의 디스크에 캐싱합니다. 예를 들어, 웹 클라이언트가 애플릿이 포함된 페이지를 보다가 다른 페이지에 잠깐 들렀다가 애플릿이 포함된 페이지로 다시 돌아올 경우, 애플릿과 관련된 모든 파일들을 다시 다운로드하는 것이 아니고 웹 클라이언트의 디스크에 캐싱 되어 있는 애플릿 관련 파일들을 사용하게 됩니다. 이렇게 함으로써, 느린 네트워크를 이용하여 애플릿과 관련된 파일들을 다시 다운로드 하는데 걸리는 시간을 없앨 수 있습니다.
         하나의 HTML 페이지 내에 있는 애플릿은 하나의 클래스만을 사용할 경우도 있겠지만, 대부분의 경우 여러 개의 클래스를 필요에 따라 사용하게 됩니다. 여러 개의 클래스를 사용할 경우, 모든 클래스가 동시에 사용되지는 않겠지요. 또한 어떤 클래스는 정의는 되어있지만, 필요에 따라 전혀 사용되지 않을 수도 있겠지요. 따라서, 자바에서는 필요할 경우에만 클래스를 로딩하여 사용하게 됩니다. 이러한 기술을 느린(lazy) 클래스 로딩 이라 합니다.
         세 번째, 모호한 언어적 특성, 비결정적 자바 가상머신, 표준화된 실시간 API가 없는 제 때에 실시간 응용이 어렵습니다. 이를 위해, 자바에서는 다음과 같은 기술을 개발하고 적용함으로써 실시간 응용을 가능하게 할 수 있습니다.
         모호한 언어 특성의 제점:
         이러한 제는 자바가 스레드 스케줄링 정책 구현에 의존하고, synchronized 명령어가 모니터 기반의 동기화 기법만 제공하고 큐 대기 시간을 예측할 수 없으며, notify() 메소드가 스레드를 깨우는 순서가 불명확하고, 우선순위 역전(priority inversion_의 가능성이 있습니다. 이러한 제는 API 수준에서 해결되어야 하고, 실시간 타스크 처리를 위한 우선순위 레벨을 확장하고, 우선순위 상속(priority inheritance) 또는 우선순위 최고 한도 제한(priority ceiling) 등과 같은 우선순위 역전 방지 (priority inversion avoidance) 프로토콜을 사용하고, MuteX, 이진 세마포어(Binary Semaphore), 계수 세마포어(Counting Semaphore) 등을 사용할 수 있습니다.
         비결정적 자바 가상머신의 제점:
  • OurMajorLangIsCAndCPlusPlus/ctype.h . . . . 49 matches
         || intsalnum(int c) || 알파벳 숫자임을 체크한다. ||
         || int isalpha(int c) || 주어진 자가 알파벳 인지 검사한다. A-Z a-z ||
         || int islower(int c) || 소자인지 검사한다. a-z ||
         || int isupper(int c) || 대자인지 검사한다. A-Z ||
         || int isdigit(int c) || 주어진 자가 숫자인지 검사한다. 0-9 ||
         || int isxdigit(int c) || 16진수 를 표한할 수 있는 자인지 확인한다. 0-9 a-f A-F ||
         || int isspace(int c) || 공백자들을 검사한다.('\f'), ('\n'), ('\r'),('\t'),('\v'). ||
         || int ispunct(int c) || 알파벳자 혹은 공백자가 아닌 출력가능한 자인지 확인한다. ||
         || int isalnum(int c) || 주어진 자가 알파벳 또는 숫자인지 검사한다. A-Z a-z 0-9 ||
         || int isprint(int c) || 공백자를 포함한 출력가능한 자인지 검사한다. ||
         || int isgraph(int c) || 공백자를 제외한 출력가능 자인지 검사한다. ||
         || int iscntrl(int c) || 제어(control) 자인지를 검사한다. ||
         || int toupper(int c) || 입력된 자를 소자로 변경한다. ||
         || int tolower(int c) || 입력된 자를 대자로 변경한다. ||
         || int iswupper(wint_t) || 소자인지 검사한다. ||
         || int iswlower(wint_t) || 대자인지 검사한다. ||
         || int iswdigit(wint_t) || 주어진 자가 숫자인지 검사한다.||
         || int iswxdigit(wint_t) || 16진수 를 표한할 수 있는 자인지 확인한다. ||
         || int iswspace(wint_t) || 공백자들을 검사한다.||
         || int iswpunct(wint_t) || 알파벳자 혹은 공백자가 아닌 출력가능한 자인지 확인한다.||
  • ProjectPrometheus/Journey . . . . 49 matches
          * Test 마저 고치는 중, 내가 당연하다고 생각되었던 Test 가 깨진 제 분석이 실제로 틀렸음을 알게 되었다. 상민이 덕택에 의외로 30분 내로 간단히 해결되었다. 오랜만에 AcceptanceTest 포함 80여개 테스트가 녹색불을 켜게 되었다.
         그동안의 Pair 경험에 의하면, 가장 Pair 가 잘 되기 어려운 때는, 의외로 너무 서로를 잘 알고 Pair를 잘 알고 있는 사람들인 경우인것 같다는. -_-; (Pair 가 잘 안되고 있다고 할때 소위 '이벤트성 처방전'을 써먹기가 뭐하니까. 5분 Pair를 하자고 하면 그 의도를 너무 쉽게 알고 있기에.) 잘 아는 사람들과는 주로 관찰자 입장이 되는데, 잘 아는 사람일수록 오히려 개인적으로 생각하는 룰들을 잘 적용하지 않게 된다. (하는 일들에 대한 Tracking 이라던지, 다른 사람이 먼저 Coding 을 하는중 이해 못할때 질을 한다던지 등등. 차라리 그냥 '저사람 코딩 잘 되가나본데..'. 오히려 예전에 '제'라고 생각하지 않았던 부분이 요새 '제' 로 다가 온다.)
         그렇다고 이 상황을 다른 사람에게 말로 하면 당연히 '응. 그래. 다음번에는 주도적으로 잡아' 라고 하지만. 한동안 손가락이 쉽게 가지 않을 것 같다. 개인적인 제일까. 아직 현상에 대한 분석이 잘 안되는중이다.
         1002 개인적으로 진행. 뭐 진행이라기 보다는, 오랜만에 Solo Programming 을 해봤다. 장점으로는 느긋하게 소스를 리뷰하고 대처할 시간을 천천히 생각해볼 수 있던점. (보통은 상민이가 이해를 빨리 하기 때에 먼저 키보드를 잡는다.) 단점으로는 해결책에 대한 Feedback 을 구할 곳이 없다는 점이 있다. (평소 물어보고 둘이 괜찮겠다 했을때 구현을 하면 되었는데, 이경우에는 책임 소재랄까.. 웬지 혼자서 생각한 것은 의외의 틀린 답이 있을 것 같은 불안감이 생긴다. 테스트 중독증 이후 이젠 페어 중독증이려나..)
         Test 들이 있으면 확실히 좋은점은, 깨진 테스트들이 To Do List 가 된다는 점이다. 복구순서는? 깨진 테스트들중 가장 쉬워보이는 것이나, 그 제를 확실하게 파악했다고 자부하는 테스트들을 먼저 잡고 나가면 된다.
         다행히 모듈화가 잘 되어있었고, Test 들이 있었기에 ["neocoin"] 과 ["1002"] 는 주로 깨진 테스트들을 바로잡기로 했다. 일단 도서관들의 HTML 을 얻고, Local HTML 서에 대해 데이터들을 잘 추출해내는지에 대한 테스트를 먼저 복구했다.
         속좁은 ["1002"] 이 상민쓰에게 신경질 부리던날로 기억 -_-; 일종의 Test 에 대한 압박을 받아서이긴 한데, 처음에는 'Model, Logic' 부분에 대해서만 Test 정도 붙이면 되겠지 라고 생각했는데, Servlet 으로 작성한 Controller 부분이 커지면서, 각각 Command 에 해당하는 (service 라고 이름지었음) 부분에 대해 로직이 붙었기 때이다. 근데, Servlet 이여서 테스트를 못붙이고, 작업은 작업대로 진행되는데 테스트 붙일 방법을 생각하지 못하는데, 잘 진행되어간다고 보이는 작업 발묶는것 같아서 이야기 못하고 꿍해있다는.
          * 제에 부딪치고, 그 제가 해결될꺼 같이 보이면서, 아슬아슬 버티면 내일 해결해야 한다. --["상민"]
         어제 마지막 고민이 지하철을 타고가면서 해결되었다. 그리고 오늘 와서 생각대로 적용하니 이후 Test들에서는 아무런 제가 발생하지 않아서 안도의 한숨을 내쉰다. 시스템들이 Test를 통과하자, 가장 큰 제로 발생된 것이 Test의 작성과 확인이었다. 책 4권과 사용자 3명.. 정말 머리에서 피시식 연기가 나는 느낌을 받는다. 그나마 Pair이기에 한명이 코드를 보면서 생각하고, 한명은 종이를 보면서 생각하면서 동기화를 시키니 다행이지, 혼자였다면 후유.. 뜩 온라인 게임들이 굉장히 긴 시간동안 베타 테스트를 하는 것이 이해가 간다. --["상민"]
          * 멋진 Side Effect 세상 서를 만들어야 겠다. --["상민"]
          * 발견된 제나 사항 인상 깊은점
          * 도서관은 303건 초과 리스트를 한꺼번에 요청시에는 자체적으로 검색리스트 데이터를 보내지 않는다. 과거 cgi분석시 maxdisp 인자에 많이 넣을수 있다고 들었던 선입견이 결과 예측에 작용한것 같다. 초기에는 local 서버의 Java JDK쪽에서 자료를 받는 버퍼상의 한계 제인줄 알았는데, 테스트 작성, Web에서 수작업 테스트 결과 알게 되었다. 관련 클래스 SearchListExtractorRemoteTest )
         결과물이 눈에 보인다는 것은 즐거운 것이다. 물론 구현중에 Test결과들이 눈에 보이는 것도 즐겁고 안정감 있는 코딩을 할수 있는 요인으로 제공되어서 좋왔지만, 이제 리스트가 보이고, 책을 보는 것까지 되니 여태까지의 결과들이 통합되는 것을 눈으로 확인 하는것 같아서 좋다. 통합시에 그리 큰제는 현재까지 발생하지 않았다. --["상민"]
         제는, ["1002"] 의 목소리가 화내는 톤이 될 경우이다. (의도하건 안하건. 보통 화내는 사람은 자신이 화내고 있다는 것을 의식하지 않은 경우가 많다. 이 경우의 제는, 열심히 잘한 상대가 쓸데없이 들을 필요없는 소릴 듣는다. --; 아. 정신 수양이 필요하다. (지가 잘했으면 될거면서..;)
          * 헌 정보 학과의 관련 자료를 석천이랑 가서 보았는데, 또 다른 지식의 세상이 있음을 알수 있었다. 수백년간 구축해온 진정한 KM을 느낄수 있었다.
         상민쓰와 함께 ADO 를 이용한 부분에 대해 DB Mock Object 예제를 작성했다. 전에 상민이가 DB Layer 를 두지 않고, ADO Framework를 거의 치환하게끔 작성했다고 판단, 이번에는 내부적으로 ADO를 쓰건 가짜 데이터를 쓰건 신경쓰지 않는 방향으로 같이 작성하였다. ADO 는 기존에 ["1002"] 가 작업했던 프로그램에서 일부 사용한 소스를 고쳐썼다.
         아아. 방학 내내 ["MIB"] 와 ["Chaos"] 의 나날들; 오늘은 새로 들어온 컴퓨터 셋팅에 네트웍 제까지. -_-;
          * 'Iteration 3 에서 무엇은 되었고 무엇은 안되었는가?' 지금 Iteration 3 쪽 Task 가 아직도 정리 안되었다. Task 정리를 하지 않고 Iteration 3 를 진행한 점은 제이긴 하다. (비록 구두로 개발자들끼리 이야기가 되었다 하더라도. 제대로 정리를 한다는 의미에서.) Iteration 3 Task 정리 필요. 그리고 나머지 Iteration 에 대한 Task 들에 대해서 예측할 수 있는것들 (슬슬 눈에 보이니)에 대해 추가 필요.
          * 한편으로 또 드는 생각은 아무리 우리가 공부를 하네 위키에 서를 남기네 해도, 결국 저 사람에게는 '그저 저넘들 자기만족을 위한 행위' 그 이상이 아니라는 것. 피시실에서 게임을 하나 프로그램 개발을 하나 그저 '타인의 행동' 이상의 의미가 없다란 느낌이 들고 나니 서글퍼진다. 순간 울컥 하는 마음에 속으로 '차라리 자극 좀 받아보시고 거기 깔린 오락 좀 지워보시지. 젠장' 라고 읊어대었다. (갈수록 건방짐 높아져가는 ["1002"]. 솔직히 좀 화가 나서리..) 개인적으로 피시실이 사람들이 서로 개발이나 공부를 위해 시끌벅적한 작은 팀들이 많이 있고, 그 분위기에 다른 사람들이 조금이나마 휩쓸렸으면 하지만. 그러한 팀들은 늘 레포트가 나오던지 팀프로젝트가 나오던지 해야 만들어지려나.. 거참 엄청 재미도 나겠군. 역시 이상일 뿐이려나. (화이트보드 큼지막한 것이 있어도 우리가 알고리즘 구상하느냐고 써놓은 것들이 3-4일째 그대로이군.)
         ["Jython"] 의 편리함을 깨닫았다. Java 의 클래스들에 대해서 바로 Import 하여서 쓸 수 있다. 그리고 ["Python"] 에 있는 라이브러리들을 거의 그대로 이용할 수 있다. 단, 한글 제로 걸림. AcceptanceTest 의 경우 ["Python"] 으로 작성함.
  • 영어학습방법론 . . . . 49 matches
         === 질1. 단어, 숙어는 그냥 계속 외우는 방법밖에는 없는가? 외우더라도 효과적인 암기방법이 있다면? ===
          * 기본적으로 접두어,접미어,어근을 가진 단어들은 Latin & Greek 계열의 단어로써 고급단어, 학적인 단어들임. 따라서 일상생활영어에서는 나타나는 빈도가 아주 낮은 단어들임. 단 어느정도 영어가 되고 고급영어를 공부하는(GRE,SAT) 사람들에게는 괜찮음
          * 자기가 이해하고 경험한 것이나 이미지를 상상할 수 있는 맥과 상황에서 나오는 단어들을 체득(!)하는 것이 가장 안정적이고 확실한 단어 암기 방법이다. 즉 단어 하나하나를 외우는 단순 암기는 도움이 안됨. 그러므로 책을 통해서 외우는 것이 가장 좋음. 이것역시 손으로 일일이 써서 외우는게 아니라 맥과 상황을 상상과 자신의 경험과 결부시켜서 장을 이해한다면 단어는 그 사이 자연스럽게 자기것이 된다는 것.
          * 잘 안외어지는 단어는 동화[자신이 한글로 계속 보고 싶을 정도로 좋아할 정도로 잘 아는 것. ex) Readers]같은 예을 모르는 단어를 search하면서 그 단어의 쓰임을 예을 통해서 외운다.
          * 영을 해석할때, 단어의 뜻을 한가지만 아는것과 여러가지를 아는것의 차이는 주관식 제를 푸는것과 객관식 제를 푸는것에 비교할수 있습니다.
          * 흔히 영을 읽을때 의미가 제대로 파악이 안되는 경우 대부분 단어를 몇가지로만 해석하기 때 입니다.
         === 질 2. 히어링. 특히 단어 자체의 발음을 외우다가 장내에서 연음사이에 그런 단어들을 어떻게 알 수 있는가? 전치사(on, of 등등)과 관사 (a, the, these)등 발음을 확실하게 하지 않는 단어들을 어떻게 알 수 있는가? ===
          feel like ~ing 법을 알아야한다. [[BR]]
         === 질 3. 법공부를 다시 시작해야하는가? ===
          * 성종합이나 그런 것은 70년대 쓰여진 책으로 보통 오래된 법이나 심지어는 외국의 큰 법사전에도 나오진 않는 예외규정이나 17~18세기 법도 나오는등 한국인이 쓰기에 적한 법책이 아니다. 법공부를 다시하는 것은 우리들에게 불피요하고 Context에서 모르는 것이 나오면 법책에서 모르는 것을 찾아본다. 아래에 참고서적에서 사전은 단어를 원뜻으로 이해할 수 있는 기회를 제공하고 제대로 뜻을 전달해준다. 참고헌과 법책은 다 쉽고 재밌어서 우리나라의 법책처럼 무작정 법칙대로 외우게 하지 않는다.
          * 참고
          * Practical English Usage (Author : Swan) 법 index가 잘되어 있음. 글을 읽다가 모르는 장, 법일때 손쉽게 찾아서 볼 수 있음
          * 법책
         === 질 4. Toeic에서 고득점을 할 수 있는 방법과 체계적인 공부방법이 있다면? ===
         === 질 5. 영어 작을 잘하려면 어떻게 해야하는가? ===
          * ex) apple를 발음하는 다양한 소리가 있다. 영어 강사나 테잎의 성우는 standard한 발음을 한다. 하지만 외국인들과 이야기하려면 standard가 아닌 영어도 들어야지 말할 수 있다. 모든 사람에겐 개인마다 각각 독특한 점이 있지않나. 듣기,읽기,쓰기,말하기.. 이 기본적인 4가지. 거기에다 자신이 체득(경험)한 것이 감각적으로 결합되어야 제대로 되어야만 작이 됨. (체득에 관해서는 위에 자세히 설명했음. 영어가 몸에 배이지 않으면 안된다는 말.. 당욘한 이야기임!)
         === 질 6. 어떻게 속독을 할 수 있는가? ===
          * 수치상으로는 4~5배 차이이지만 원의 어려움, 단어, Scheme의 차이때에 원어민과 울나라 사람이 보통 10배쯤 차이남.
          subvocal를 듣고 이해하면 느리다. 한국책도 마음속으로 들리는 목소리를 들으면서 읽이면 속도가 느리고 이해도 잘 안감. 보통 실험을 해보면 속독하면 이해도 빠르다고 함. 그러므로 subvocal을 되도록 억제하면서 하는 것이 좋음. 물론 모르는 단어,장이나 이해하기 어려운 부분은 당연히 subvocal이 나오고 때때로 도움이 됨. 즉 아는 것은 subvocal을 줄이고 읽기 바람.
          WPM을 체크하는 Test자료들은 웹에 많이 있음. WPM test용 원은 많은 제약사항(모르는 단어, 어려운 단어수 등)이 있는 text임
  • SmallTalk/강좌FromHitel/강의2 . . . . 47 matches
          Smalltalk를 사용하여 프로그램을 짜기 위해서는 우선 여러분의 시스템에
          Dolphin Smalltalk를 사용할 것이므로, 자료실에서 Dolphin Smalltalk를 내
          재 필자가 사용하고 있고 또한 자료실에 올려진 환경은 1.1판입니다. 그러므
          로 여러분이 마음대로 전송 받아서 사용할 수 있을 것입니다.
          이지만, 자료실의 파일명 길이 제한 때에 위의 실행 파일을 다시 WinZip으
          이름을 지원하는 압축 프로그램을 사용하여 압축을 푸십시오.
          기 때에 매우 쉽게 설치를 할 수 있을 것입니다. 나중에 필요하다면 언제
          니다. 대강의 내용은, 지금 사용하고 있는 Dolphin Smalltalk는 아직 등록
          절차를 거치지 않았기 때에 프로그램의 실행 결과를 저장할 수 없다는 것
          입니다. 저장 기능을 사용하려면 Object Arts사에서 무료로 배부하는 등록
          Smalltalk/98"이라는 큰 제목과 함께 제법 긴 장들이 들어 있을 것입니다.
          이 장들에는 여러분이 Smalltalk 프로그램을 실행하는데 익숙해지도록, 그
          지고 있습니다. 즉 흔히 사용하는 텍스트 서 편집기와 비슷한 동작 방식을
          일단 마우스나 글쇠판으로 밀대(scroll bar)를 사용해서 아래와 같은 장이
          위에 보이는 장은 Smalltalk에서 실행할 수 있는 명령입니다. 이 위의 다
          른 장들은 Smalltalk의 명령을 어떤 방식으로 실행하는 것인지, 그리고 실
          위의 장 끝에 커서를 갖다 놓고, 앞서 사용했던 <Ctrl-D> 글쇠를 사용해서
          음의 명령을 실행하면 결과를 알 수 있습니다. <Ctrl-D>를 사용하십시오.
          때에 명령을 실행하고 있는 컴퓨터의 속도에 매우 민감하게 반응합니다.
          들을 그냥 줄줄이 늘어놓았기 때입니다.
  • 토비의스프링3/오브젝트와의존관계 . . . . 47 matches
          * 사용자 정보를 JDBC API를 이용해 DB에 저장하고 조회할 수 있는 간단한 DAO 만들기.
          * DB를 사용하여 데이터를 조회, 조작하는 기능을 전담하도록 만든 오브젝트.
          * 사용자 정보를 저장할 때 자바빈 규약을 따르는 오브젝트를 이용하면 편리하다.
          * User : 사용자 정보 저장용 자바빈 클래스
          * DAO의 기능을 사용하는 웹 어플리케이션을 만들어 서버에 배치한 뒤 웹 브라우저를 통해 사용해보거나
         == 초난감 DAO의 제점? ==
          * 그럼에도 불구하고 UserDao 클래스 코드에는 여러가지 제가 있다.
          * 단 몇 줄의 코드만 수정하고 수정한 뒤에도 제 없이 작동함을 보여주는데 5분이 걸리는 개발자 > 코드를 수정하는데 5시간이 걸리고 수정한 뒤 제 없이 작동하는지 확신할 수 없는 개발자
          1. 사용자 등록/조회를 위한 SQL을 담을 Statement를 만들고 실행하는 것.
          * 가장 큰 제 : DB 연결을 위한 커넥션 오브젝트 가져오기
          * 런타임 사용관계 : 오브젝트 사이의 관계란 런타임시에 한 오브젝트가 다른 오브젝트의 레퍼런스를 가지고있는 것.
          * 사용할 오브젝트를 내부에서 생성
          * 변경이 필요한 알고리즘을 인테페이스를 통해 외부로 분리시키고, 이를 구체화한 클래스를 필요에 따라 바꿔 사용하게 하는 패턴
          * 관심사의 분리 - 오브젝트를 생성하는 쪽과 생성된 오브젝트를 사용하는 쪽을 분리하는 역할을 한다.
          * 라이브러리는 애플리케이션이 능동적으로 사용한다.
          * 반면 프레임워크는 애플리케이션 코드가 프레임워크에 사용된다.
          * 빈 팩토리(bean factory) : 빈의 생성과 관계설정 등의 제어를 담당하는 IoC오브젝트. 스프링의 IoC를 담당하는 핵심 컨테이너. 일반적으로 직접 사용하지 않고 이를 확장한 애플리케이션 컨텍스트를 사용한다.
          * 애플리케이션 컨텍스트(application context) : IoC방식을 따라 만들어진 일종의 빈팩토리. 별도의 정보를 참고해서 빈의 생성, 관계설정 등의 제어 작업을 총괄한다. 설정 정보를 따로 받아와서 이를 활용하는 IoC엔진이라고 볼 수 있다. 주로 설정에는 xml을 사용한다.
          * 설정정보 : 애플리케이션 컨텍스트나 빈 팩토리가 IoC를 적용하기 위해 사용하는 정보. 주로 IoC 컨테이너에 의해 관리되는 애플리케이션 오브젝트를 생성하고 구성할 때 사용된다.
          * 만들어진 설정정보를 사용하는 애플리케이션 컨텍스트의 생성 및 빈 생성 ->
  • 후각발달특별세미나 . . . . 47 matches
         위 서도 리펙토링 된 것입니다. 그리고 예제 파일들은 완벽히 리펙토링 된 것은 아닙니다. 각 소스에서 한가지 냄새를 느끼고 그 냄새에만 집중해서 리펙토링하는 것만 했기 때입니다. 이외에도 여러가지 시도해보세요. --재동
         재동아 정말 유익하고 재밌는 세미나 였다. 내가 깜박 존 것은 네 세미나 때에 그런게 아니라 내 버릇이란거 알지? - [상협]
         정말 재밌었어요. 수업중에 질을 못한게 있는데요, 주석은 되도록이면 안써주는건가요?? c언어 수업시간에 교수님이 주석은 많이 쓸 수록 좋다고하셨는데... --[최경현]
          주석이 많다는 것은 코드가 자신을 스스로 표현 못하기 때입니다. 어딘가 주석을 달려고 생각 한다면 한 번쯤 '주석 없으려면 어떻게 해야하는가?'라고 생각해보세요. 단, 숙제 제출에서는 교수님의 눈에 맞춰야합니다. --재동
         세미나 후 제 귀에 들어온 질 중에 '함수를 많이 만들면 메모리를 더 사용하지 않는가?'라는 질이 있었습니다. 누가 자세히 설명 좀 부탁드립니다. --재동
          전적인 설명은 아니구, 제 생각에는 함수를 사용하여 메모리 사용하는 비용과 프로그래머가 함수를 더 사용하여 소스의 가독성을 올리고, 유지 보수 및 버그를 없애는 비용과 비교를 해볼때 후자가 훨씬더 큰 비중을 차지하기 때에 함수를 더 사용하여 메모리를 더 사용하더라도 리펙토링의 중요성이 결코 줄어들지 않는다고 생각합니다. 그리고 짧은 소스에서는 리펙토링 하여 함수가 많아 지는것이 낭비처럼 보일지 몰라도 좀더 프로그램이 커질수록 리팩토링을 해놓음으로 해서 추후에 최적화를 하는데에도 훨씬 유리하기 때에 결국에 가서는 자원도 더 효율적으로 사용하리라고 봅니다. - [상협]
          사실 이 질은 제가 받았던 질인데, 질 받았던 당시에 별 생각없이 '''메모리를 많이 사용한다는 단점이 있더라도 잃는 것(단점)보다 얻는 것(장점)이 더 많기 때에 상관없다'''고 얼버무렸습니다. 그렇게 틀린 대답은 아니였지만 많이 부족한 대답이었습니다. 그래서 재동형하고 이야기도 해보고 저도 나름대로 생각해서 답을 내어보았습니다.
          메모리를 많이 사용한다는 우려의 원인은 많은 변수들에 있습니다. 전달인자를 받거나 값을 리턴할 때, 각각 상응되는 변수가 필요하기 때이죠. 하지만 변수는 그 변수가 선언된 함수내에서만 효력을 발휘하고 함수가 종료되는 순간 사라집니다(메모리해제). 그러므로 모듈화된(쉽게 이야기해서 함수로 나뉜)프로그램에서는 함수내의 많은 변수들이 메모리를 많이 차지하더라도 그 함수가 끝나면 그 메모리는 해제되어 사용가능해집니다. 그리고 전역변수나 메인함수내의 변수만을 사용하는 프로그램은 프로그램이 끝날 때까지(메인함수가 종료될 때까지) 메모리를 잡아두므로 한번 할당된 메모리는 사용불가능합니다.
          모듈화된 프로그램에서의 메모리 사용의 개념은 '''필요할 때마다 할당해서 쓰고 필요없으면 해제하자'''이고 전역변수나 메인함수내의 변수만을 사용하는 프로그램에서의 메모리 사용의 개념은 '''지금은 안쓰이더라도 나중에 쓸 메모리를 미리 할당하고 사용이 끝났더라도 메모리를 계속 잡아두자'''입니다. 전자의 경우에는 어느 순간 메모리를 많이 사용하는 경우도 있고 어느 순간에는 엄청 적게 사용하는 경우가 있습니다. 메모리 사용이 더 유동적이라고 할 수 있습니다. 밑에 참고 그래프(자체제작)를 참고해주시기 바랍니다. --[강희경]
          - 아래 상규의 말대로 큰 차이는 없을 것 같습니다. 모듈에서의 변수 선언, 사용에 있어서 메모리 사용량은 기껏해야 몇 바이트 정도가 아닐까요? 아래 코드처럼 극단적인 예가 아닌 이상 큰 변화가 없는 경우가 대부분이라고 생각합니다(물론, 동적할당은 여기서 논외입니다). 그런데, 아래의 코드는 몇가지 냄새가 나는 코드로군요. 큭. :(
         // foo(), bar() 가 호출될 때마다 memory사용량이 4K 씩 늘어난다.
          (참고로 제가 말하고자 하는 것은 코드에 의한 메모리 사용량 입니다.)
          함수의 갯수와 메모리 사용량은 직접적으로 관련이 없습니다. 메모리 사용량과 직접적으로 관련이 있는 것은 함수의 갯수가 아니라 프로그램의 길이 입니다.
          프로젝트 때에 빠르게 진행한게 아니라 선전부 모임때에... 여튼 간결하게 하는 건 중요하다. 시간 되면 {{{~cpp The One Page Proposal}}}을 읽어보도록 해. --재동
         통상 리팩토링에 대한 반론은 다음과 같은 양상을 띕니다. 리팩토링을 많이 한다 --> 함수 개수가 많아진다 --> 콜 체인이 길어진다 --> 속도가 느려진다. 메모리 제보다는 속도 제에서 리팩토링에 대한 우려가 불거져 나오는 것이죠.
         그런데, 함수 호출에 의한 오버헤드는 컴파일러/VM 기술이 발전하면서 점점 줄어들고 있고, 제가 복잡할수록 그런 낮은 단계의 옵티마이제이션보다 높은 단계에서의 최적화가 훨씬 더 효과적인데, 리팩토링이 잘 되어 함수가 잘게 쪼개어져 있으면 높은 단계의 최적화를 하기가 쉬워집니다. (그래도 여전히 로우레벨의 옵티마이제이션이 필요하다면 매크로나 코드 제너레이션을 쓸 수 있습니다. DavidParnas의 [http://www.acm.org/classics/may96/ 논] 참고)
         리팩토링을 잘 한다면, 속도제는 나중에 신경 쓰는 것이 결과적으로 나은 경우가 많습니다.
  • PatternOrientedSoftwareArchitecture . . . . 45 matches
          * 3가지 다른 레벨(소프트웨어 구조,모든 디자인, idioms)에서 어떻게 패턴이 발생하는지 이 책에 자세히 나와 있다. 이러한 통합적인 접근 다소 이론적일거 같이 보이지만, 저자는 12개의 패턴과 실제로 사용되는 예제를 많이 보여 준다.
          * 소프트웨어 구조적인 관점에서 사용되는 패턴들이 나온다.
          * 생각 해야할 제(Problem - balance in following forces)
          * component 경계가 교차 하는것은 성능의 저하를 초래한다. 예를 들어 많은 양의 데이터가 레이어를 지날때 또한 역시 많은 교차하는 component 경계를 지나게 되기 때이다.
          * 해결책(Solution) : 자신의 시스템을 적당한 숫자의 레이어로 나누고 각 레이어를 알맞는 순서에 맞게 쌓는다
          * 레이어 J+1에 의해서 사용될 서비스를 제공한다.
          * 레이어 패턴의 중요한 구조적인 특징은 레이어 J는 오직 레이어 J+1에 의해서만 사용될 수 있다는 점이다. (스택이나 양파와 비교할 수 있다)
          * Scenario1 - top-down communication, 가장 잘 알려진것이다. 클라이언트가 레이어 N에게 요청을 한다. 그러면 레이어 N은 홀로 모든 작업을 할 수 없기 때에 하부 작업을 레이어 N-1에게 넘긴다. 그러면 레이어 N-1은 자신의 일을 하고 레이어 N-2에게 하부 작업을 넘기고, 이런식의 과정이 레이어 1에 도달할때까지 이루어 진다. 그래서 가장 낮은 수준의 서비스가 수행된다. 만약 필요하다면 다양한 요청에 대한 응답들이 레이어 1에서 레이어 2, 이런식으로 레이어 N에 도달할때까지 이루어진다. 이러한 top-down 소통의 특징은 레이어 J는 종종 레이어 J+1로부터 온 하나의 요청을 여러개의 요청으로 바꿔서 레이서 J-1에게 전한다. 이는 레이어 J가 레이어 J-1보다 더 추상적이기 때이다. 덜 추상적인것이 여러개 모여서 더 추상적인것이 되는 것을 생각해보면 이해가 갈것이다.(예를 들어 복잡한 소켓 프로그래밍을 자바에서는 간단한 명령어로 금방 한다.)
          * task(과업,일) 들을 레이어에 배치하기 위한 추상적인 기준을 정의 하여라. 실제적인 소프트웨어 개발에서 우리는 종종 추상적인 기준들의 혼합을 사용한다. 예를들어서 하드웨어적인 관점에서 저 수준의 레벨들의 모습을 정하고, 개념적인 복잡성으로 고 수준의 레벨을 정한다.
         컴포넌트나 서비스가 사용되는 관계 |
          * 각 레이어에 대한 인터페이스를 명확히 해라 (가능한한 black-box 접근을 사용하는 것이 좋다, 이것이 시스템 발전을 도와주기 때이다. 효율이나 다른 레이어의 내부에 접근할 필요가 있을때는 예외이다.)
          * 이 패턴의 알려진 사용예 (Known Uses)
          * 레이어의 재활용 - 프로그래머들은 현재 존재하는 레이어가 자신의 목적에 맞지 낳는다고 이미 있는것을 재사용 하기보다는 새로 짜는 경우가 많다. 그러나 현재 존재하는 레이어를 재사용(black-box reuse)하는 것은 개발에 드는 노력과 프로그램의 결점들을 극적으로 감소 시킬 수 있다.
          * Dependescies are kept local : 의존성이 특정 부분에만 걸쳐 있기 때에 이렇게 된다. 따라서 시스템이 portability하게 된다.
          * 의견 : 이 layer 패턴을 사회적인 것과 결부시켜서 생각하면 관료제와 비슷하다고 생각한다. 교체 가능하고, 단계적으로 올라가고, 내려가고 뭐 여러가지 점이 유사하다. 이 패턴이 사용하는 사람들이 관료제에서 착안해서 이 패턴을 사용하는 것은 아니겠지만 하여튼 그러한 유사점을 발견하니깐 신기했다.
          * 생각해야할
          * 추후의 시스템 향상이 사용자에 의해서 조차, 처리 단계(step)들을 바꾸거나 재조합 하는것으로서 가능해야 한다.
          * 작은 처리 단계가 큰 components 보다 다양한 환경에 재사용 하기 좋다.
          * 이 패턴은 : data source - filter - pipes - filter - data sink, 의 순서로 되어 있고, 각 필터에서는 데이터를 처리하는 함수가 있을 수 있다. 레이어 패턴과 비슷한 점도 보이지만, 이 패턴의 특징은 쉬운 재조합과 재사용성이다. 에러를 처리하는 관점과 시스템의 신뢰성을 따지면 레이어가 더 낮다.
          * 예제 : 여기서는 음성인식 시스템을 예로 들었다. 음성인식 프로그램은 단지 하나의 단어를 받아들일 뿐만 아니라 구과 단어가 특정한 application에 필요한 단어나 구론에 맞는 것으로 제한된 장 전체를 받아 들인다. 원하는 output은 그 음성 인식한것에 맞는 기계적인 표현으로 바꾸는 것인데 이 변환 과정에는 음성을 음파적으로 인식하는 것과, 언어학적인 면에서 인식하는것과, 통계적인 전성에서 인식하는 것이 필요하다.
  • AcceleratedC++/Chapter11 . . . . 44 matches
         //vector가 사용하는 타입의 이르을 얻는다.
         //vector의 각요소를 살펴보기 위해, size 및 index 연산자를 사용
          템플릿은 함수뿐만 아니라 클래스에서도 사용하는 것이 가능하다.
          템플릿은 단지 틀일 뿐이며, 사용할때 type parameter로 준 형에 따라서 실제의 클래스를 생성한다.
          따라서 어떤 타입이 Vec에서 사용되는진는 정의부가 instiation 되기 전에는 알 수 없다.
          앞의 인터페이스 명세에서 아래의 2가지를 가능하게 하도록 했기 때에 생성자 2개는 최소한 구현해야한다.
          Vec() { create(); } // 아직으로선느 구현부분에서 정해진 것이 없기 때에 임시적으로 함수를 만들어서 넣었다.
          인자의 기본형을 지정해주면 한개의 함수정의로도 2가지의 생성자의 역할을 할 수 있기 때에 편리하다.
          생성자가 하나의 인자를 받는 경우. 일반적인 대입 생성자와 혼용이 될 가능성이 존재하기 때에 명시적인 생성만을 허용시키는 방법이다. (12.2 절에서 자세한 논의)
          Vec() { create(); } // 아직으로선느 구현부분에서 정해진 것이 없기 때에 임시적으로 함수를 만들어서 넣었다.
          Vec() { create(); } // 아직으로선느 구현부분에서 정해진 것이 없기 때에 임시적으로 함수를 만들어서 넣었다.
          const T& operator[](size_type i) const { return data[i]; }; // 이경우에도 레퍼런스를 쓰는 이유는 성능상의 이유때이다.
          모든 멤버함수는 암묵적으로 한가지의 인자를 더 받는다. 그것은 그 함수를 호출한 객체인데, 이경우 그 객체가 const이거나 const 가 아닌 버전 2가지가 존재하는 것이 가능하기 때에 parameter specification 이 동일하지만 오버로딩이 가능하다.
          Vec() { create(); } // 아직으로선느 구현부분에서 정해진 것이 없기 때에 임시적으로 함수를 만들어서 넣었다.
          const T& operator[](size_type i) const { return data[i]; }; // 이경우에도 레퍼런스를 쓰는 이유는 성능상의 이유때이다.
          함수의 인자를 복사하는 것을 포함해서, 복사본을 만든다는 의미를 정의하고 있기 때에 매개변수를 레퍼런스 타입으로 하는 것이 좋다.
          보통 디폴트 복사 생성자의 경우에는 클래스의 멤버 변수들을 단순히 복사만 하게 됩니다. 이때 만약 그 멤버 변수가 포인터의 형태라고 한다면 제가 발생하게 된다.
          이 경우 한쪽의 객체가 수정되거나 소멸되면 이를 복사한 객체도 그 영향을 받게되기 때이다.
          따라서 포인터의 경우 새로운 주소 공간을 할당받고 그 대상이 되는 값을 복사해야지 이런 제가 발생하지 않는다.
          대입 연산자는 복사 연산자와 달리 왼쪽항을 제거하고 새로운 값으로 대체시킵니다. 복사 생성자는 수행 시점에 왼쪽항의 객체가 처음 만들어진 상태이기 때에 해제할 대상이 없지만, 대입 연산자는 기존데이터가 있는 상태에서도 대입을 할 수 있기 때에 복사 생성자와 비슷하게 구성되어야 한다.
  • 새싹교실/2012/주먹밥 . . . . 43 matches
          * [박도건] : 컴퓨터에 관한 여러가지 잡 지식 + 프로그램 사용법 습득, 네트워크 프로그래밍, 게임 만들어보기.
          * [용상훈] : 기본적인 c언어와 안드로이드,아이폰 어플을 만들기 프로그래밍 사용법 습득.
          * Linux에서 GCC를 사용한 컴파일 시범
          * 이소라 때리기 게임을 Linux gedit를 사용해 코딩을 시켜봄.
          * 한글 띄어쓰기에 제가 발견되고 코딩 띄어쓰기에 대한 중요성을 알지 못하는것을 알게됨 - [김준석]
          * int, char, float, long, double 변수는 무슨 표현을 위해 만들어졌는지 알려주었습니다. 정수, 자, 실수. 알죠?
          * #define 선언사용법에 대해 알려주었습니다. #define으로 매크로를 선언해놓으면 편하게 선언 단어를 만들음으로 쓸수있지용? 그 응용에 대해서는 다음에 기회가 되면 알려주겠습니다.
          * 헤더 파일들에는 뭐가 들어가는지 한번 알아보았습니다. math.h에는 수학에 관련된 함수. time.h에는 시간 제어에 관련됨 함수를 사용했죠 .srand(time(NULL))이 왜 쓰이는 지는 아직 안알려주었답니다^.^
          * if, switch()case: default:}, for, while의 생김새와 존재 목적에 대해서 알려주었습니다. 말그대로 프로그램의 중복을 없애고 사용자의 흐름을 좀 더 편하게 코딩할수 있도록 만들어진 예약어들입니다. 아 switch case에서 break를 안가르쳤네요 :(
          * 과제로 나오는 ACM 제를 풀어보았습니다
          * 변수타입 - C언어는 고급언어이다. 왜냐. 사람이 쓰기 좋게 만들기때이다. 편하게 만들어주는 것중 하나가 변수 타입이다. int는 정수, char는 자, float는 실수. 참 편하지 않은가? 사람을 위해 만들어진것이다. 언제까지 0과 1로 대화할텐가?
          * if
          * for
          * while
          * ++i 와 i++는 i = i +1;과 같지만 다른 명령과 같이 실행될때 다른결과를 보여줍니다.
          * 함수 : 사용자의 행동을 이름으로 추상화해서 계속 쓰는 반복을 줄여준다.
          * 함수가 사용될떄 C는 기본적으로 Call-by-value를 사용합니다. 항상 값복사를 통해 변수의 값들을 전달하죠.
          * 구조체는 사용자가 타입을 정의해서 변수처럼 쓸수 있게 만들어주는것 입니다!
          * C++이라면 이미지를 그리는 객체를 Templete로 만들어서 paint()함수에 그래픽 *를 넘겨서 자기가 알아서 그리게하는것이 좋다. list에 넣고 for만 돌리면 끝나니까
          * 운영체제는 파일 시스템을 관리합니다. 관련해서 이번에 가르쳐주는것은 *(포인터:Pointer)관련해서 FILE 구조를 메모리 참조를 통해서 하는것을 알려주게 되었습니다. 파일(File)은 메모리주소로부터 시작되고 운영체제를 이를 관리하기 때에 C에서 지원하는 라이브러리를 통해 운영체제로 부터 파일을 관리하는 정보를 가진 FILE 구조체를 불러오게 됩니다. 그래서 우리는 *를 통해 주소값을 따라가서 FILE구조체로 그 정보를 얻어오게 되죠. Good Good!
  • 졸업논문/본론 . . . . 43 matches
         웹 애플리케이션 개발자가 가장 많이 쓰는 기능은 SQL을 이용하여 데이터베이스 내용을 삽입, 삭제, 수정, 조회하는 것이다. 그 중에도 데이터를 조회하는 SQL은 다양한 구조를 가진다. 기본 구조는 select from 이다. 여기서 from절에 테이블이 여러 번 나오는 경우 조인 연산을 수행한다. 조인 연산은 다른 테이블 또는 같은 테이블끼리 가능하다. select from where사용하면 where절에 있는 조건을 만족하는 데이터만 조회한다. aggregate function을 사용하면 원하는 결과를 좀더 쉽게 얻을 수 있다. 이에는 개수(count), 합계(sum), 최소(min), 최대(max), 평균(avg)이 있다. aggregate function에 group by사용하면 그룹 단위로 결과를 얻는다. group by절에는 having을 이용해 조건을 제한할 수 있다. 또한 순서를 지정하는 order by과 집합 연산인 union, intersect, except 등이 있다. where절 이하에 다시 SQL이 나타나는 경우를 중첩질의라고 한다. 중첩 질의를 사용할 때는 특별히 (not) exist, (not) unique와 같은 구사용할 수 있다.
         데이터를 삽입,삭제,변경할 때는 조회하는 SQL에 비해 하면 단순하다. 삽입에는 insert into value 구을, 삭제는 delete from where구을, 변경은 update set where구사용한다. 삭제와 변경시에는 중첩 질의를 사용할 수 있다.
         Django는 오픈 소스 프로젝트로 code.djangoproject.com/browser/django 에서 전체 소스코드를 확인할 수 있다. 서에 따르면 django 데이터베이스 API는 "SQL을 효율적으로 사용하고, 필요할 때는 알아서 join연산을 수행하는 강력한 구을 가졌으며, 사용자가 필요할 경우 직접 SQL을 작성할 수 있도록 지원"[5]한다. 추상화된 구사용하더라도 데이터는 관계형 데이터베이스에 저장하게 되는데, MS SQL, MySQL, Oracle, PostgreSQL, SQLite3와 같은 DBMS를 사용할 수 있다.
         Django는 도메인 언어인 python의 영향을 많이 받는다. Python은 "동적인 객체지향"[10] 언어로 많은 소프트웨어르 만드는 데 사용할 수 있으며, django와 같이 소프트웨어를 만드는 프레임워크로도 널리 쓰인다. 이미 NASA에서 python을 사용하고 있으며, Google에서는 python을 java와 더불어 주류언어로 사용하고 있다. Django가 데이터베이스를 추상화하고, 개발 도중에 변경 사항을 자동화하여 처리할 수 있는 까닭도 python에 있다.
         Django의 설계 철학은 한 마디로 DRY(Don't Repeat Yourself)이다. 확연히 구분할 수있는 데이터는 분리하고, 그렇지 않은 경우 중복을 줄이고 일반화한다. 데이터 뿐 아니라 개발에 있어서도 웹 프로그래밍 전반부와 후반부를 두 번 작업하지 않는다. 즉 웹 애플리케이션 개발자는 SQL을 사용하는 방식이 도메인 언어에 제공하는 프레임워크에 숨어 보이지 않기 때에 프로그램을 동적으로 쉽게 바뀔 수록 빠르게 개발할 수 있다. 또한 후반부 데이터 모델이 바뀌면 프레임워크에서 전반부에 사용자에게 보이는 부분을 자동으로 바꾸어준다. 이러한 설계 철학을 바탕으로 기민하게 웹 애플리케이션을 개발할 수 있다.
         기본적으로 지원 되는 레코드 삽입, 삭제, 변경은 자동으로 사용자 화면까지 만들어주는 장점을 가진다. 대부분 웹 애플리케이션이 레코드를 한 건씩 입력하는 인터페이스를 가지기 때에, 개발 전반부에 걸친 데이터 삽입, 삭제, 변경을 자동화할수 있기 때이다. 특히 삽입, 변경은 저장이란 단일 개념으로 보고 save메소드로 추상화하였다. 또한 삭제는 관련된 레코드를 함께 지워주는 기능까지 제공한다. 이러한 기능은 Model클래스에 정의된 데이터 타입에 따라 자동으로 이루어진다. 따라서 삽입, 삭제, 변경 SQL을 실행하는 인터페이스에 많은 노력을 기울이지 않고 기민하게 전체 시스템을 설계함에 집중할 수 있다.
         레코드를 검색할 때는 기본적으로 간단한 질의를 처리할 수 있는 함수들을 제공한다. 앞서 살펴본 바와 같이 직접 관계를 가지는 테이블 사이에 조인 연산은 Model클래스의 메소드를 이용해서 추상화되어 있다. 하지만 그 밖인 경우에는 직접 SQL을 작성하여 데이터를 얻어와야 하기 때에 django를 사용하더라도 큰 이점이 없다. 또한 추상화된 Model클래스의 메소드는 기본적으로 모든 레코드 속성을 읽어오기 때에 시간, 공간 측면에서 비효율적일 수 있다. 마지막으로 SQL의 aggregate function등을 대부분 추상화하지 않았기 때에, 이 역시 SQL을 작성해야 하는 번거로움이 있다.
         다행히 django에서는 CLI와 마찬가지로 직접 SQL장을 수행할 수 있는 인터페이스를 제공한다. 또한 도메인 언어인 python을 이용하면 CLI를 이용해 데이터베이스와 연동할 수도 있다. 종합적으로 기능적으로 지원이 불가능한 면은 없지만, 검색 측면에서 좀더 많은 추상화가 필요하다고 평가할 수 있다.
         [졸업논]
  • 3rdPCinCAUCSE . . . . 42 matches
         신청: 동 서버 신청 게시판
         사용언어: C/C++ with Visual C++ 6.0
         제 성격: 국내 대학생 프로그램 경진 대회의 제 출제 경향을 따른다.
         제 샘플( http://cs.kaist.ac.kr/~acmicpc/problem.html )
         - 휴대폰, 인터넷 사용 금지
         - 개인 디스켓, CD 등 휴대 금지. 디스켓은 나눠준 것만 사용.
         - 경시 3시간에 3제가 출제된다. (open book, closed internet)
         - 팀은 제에 대해 소스코드가 완성되면 디스켓에 담아 채점원에게 제출한다.
         - 소스파일의 이름은 제에 주어진다. (예: clock.{c|cpp} )
         - 제에 대해서 준비된 테스트 케이스 (5-10개)에 대해서 모두 정답을 내야 그 제를 맞힌 것으로 한다.
         - 컴파일 error, 실행 시간 error, 출력 포맷이 제에서 정한 것과 다른 경우에도 틀림.
         - 틀린 제는 다시 제출할 수 있다. 한 제에 대한 제출회수 10회. 그 후는 그 제는 못 맞힌 것으로 한다.
         - 마감 10분전부터는 제출한 제는 다시 제출할 수 없음.
         - 맞힌 제에 대해서는 경시 시작부터 제를 제출한 시각까지 시간을 분으로 환산한 것이 점수로 주어진다. (따라서 점수가 적을수록 유리) 그리고 여기에 penalty 점수를 합산한 것이 그 제의 최종 점수가 된다. 예를 들어, 어떤 제에 대해서, 다섯 번째 제출을 경시 시작 후 1시간 20분에 하여 맞히면 지나간 시간이 80분이므로 80점, 네 번째까지는 틀렸으므로 4번*10점=40점이 penalty, 최종 점수는 120점이 된다.
         - 못 맞힌 제는 점수가 없다.
         - 맞힌 제의 수가 많을수록, 같은 수의 제를 맞히면 빨리 풀수록 (즉, 점수 합이 적을수록) 순위에 유리합니다.
         1. 각 제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력을 쓰면 안됨.
         4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 컴퓨터에서 실행한다. 즉, 자기 컴퓨터에만 있는 특수한 기능을 사용하게 되면, 채점 컴퓨터에서는 안 돌아 갈 수 있음.
         6. 모든 제는 숫자, 영어 자들을 입력으로 받아서, 역시 숫자나 영어 자를 출력하도록 되어 있다. 그래픽 출력은 없음.
         7. 각 제마다 테스트 케이스가 5-10개가 있는데, 프로그램은 첫째 테스트 케이스를 입력하여 첫째 답을 출력하고, 둘째 테스트 케이스를 입력하여 둘째 답을 출력하고, ... 등으로 진행해야 한다.
  • 5인용C++스터디/키보드및마우스의입출력 . . . . 42 matches
          키보드로부터 입력이 발생했을 경우 윈도우즈는 포커스를 가진 프로그램에게 키보드 메시지(WM_CHAR)를 보내주며 프로그램은 이 메시지를 받아 키보드 입력을 처리한다. 여기서 포커스(Focus)를 가진 프로그램이란 활성화되어 있는 윈도우를 말하며 한번에 오직 하나의 프로그램만 활성화된다. 아무리 여러개의 프로그램이 동시에 실행되는 멀티 태스킹 환경이라 하더라도 활성화될 수 있는 프로그램은 오직 하나밖에 없으며 활성화된 프로그램만 포커스를 가지고 키보드 입력을 받아들일 수 있다. 왜냐하면 시스템에 키보드는 하나뿐이며 키보드를 사용할 수 있는 사용자도 하나뿐이기 때이다.
          소스를 입력한 후 실행해 보자. 키보드에서 키를 누르면 입력한 자들이 화면 상단에 출력될 것이다.WndProc을 보면 우선 자열 str이 선언되어 있으며 이 자열 변수에 사용자가 입력한 자들을 모은다. 단 이 변수는 WndProc에 선언되어 있는 지역변수이므로 그냥 선언하면 메시지가 발생할 때마다 초기화되기 때에 static을 붙여 정적변수로 만들어 두어야 한다. 아니면 아예 WinMain 함수 이전에 선언하여 전역 변수로 만들어 두어도 된다.
          입력된 자들을 바로 바로 출력하지 않고 반드시 자열에 모아 두어야 하는 이유는 키보드 입력이 발생하는 시점과 자열을 출력해야 할 시점이 분리되어 있기 때이다. 키보드 입력 시점은 키보드 메시지인 WM_CHAR가 발생했을 때이며 이 메시지에서 자열을 조립하기만 하고 자열의 출력은 WM_PAINT에서 처리한다. 물론 WM_CHAR 메시지에서 자열을 바로 바로 출력하는 것도 가능하기는 하지만 윈도우즈 프로그램은 화면을 다시 그릴 준비를 항상 해 두어야 하며 모든 출력은 WM_PAINT에서 하도록 되어 있다. 그렇지 않으면 출력된 자들이 지워지면 다시 복구되지 않는다.
          WM_CHAR 메시지는 입력된 자의 아스키 코드를 wParam으로 전달하도록 되어 있으며 우리는 wParam의 값을 읽어 사용자가 어떤 키를 눌렀는지를 알아내게 된다.
          다음 코드는 wParam으로 전달된 키 코드를 str 자배열에 저장한다.
          자열의 제일 끝 부분에 wParam값을 써 넣고 바로 뒤쪽의 0을 써 넣어 자열 끝을 표시한다. 키 입력이 있을 때마다 이 동작을 반복함으로써 str 자 배열에는 입력된 키 값이 차곡 차곡 쌓여갈 것이다.
          키보드 메시지에서는 str배열에 자열을 집어 넣기만 하며 자열을 화면으로 출력하는 일은 WM_PAINT에서 맡는다. 단 키보드 메시지에 의해 자열이 다시 입력되더라도 화면상의 변화는 없으므로 WM_PAINT메시지가 발생하지 않는다. 그래서 강제로 WM_PAINT 메시지를 발생시켜 주어야 하는데 이 때는 InvalidateRect 함수를 호출해 주면 된다. WM_CHAR에서 자열을 조립한 후 InvalidateRect 함수를 호출해 주어 키보드가 입력될 때마다 화면을 다시 그리도록 하였다.
          키보드로부터 자를 입력받고자 할 경우는 WM_CHAR 메시지를 사용하면 된다는 것을 배웠다. 자 이외의 키를 입력 받으려면 WM_CHAR 메시지만으로는 입력을 받을 수 없다. 예를 들어 커서 이동키라든가 Ins, Del, PgUp, 펑션키 등의 키는 자키가 아니기 때에 WM_CHAR 메시지로는 검출해 낼 수 없다. 이때는 WM_KEYDOWN 메시지를 사용해야 한다.
         WM_KEYDOWN 메시지는 wParam에 자 코드가 아닌 가상 키코드라는 것을 전달해 준다. 가상키코드(Virtual Key Code)란 시스템에 장착된 키보드의 종류에 상관없이 키를 입력받기 위해 만들어진 코드값이며 다음과 같이 정의되어 있다.
          / 30 ~ 39 / 숫자키 0~9
          / 41 ~ 5A / 영자 A~Z
         키보드에서 A키를 눌렀다 뗐다고 해 보자. 이 때 발생하는 메시지는 순서대로 WM_KEYDOWN, WM_CHAR, WM_KEYUP 세가지이다. 이 중 WM_CHAR 메시지는 사용자에 의해 발생하는 메시지가 아니다. 키보드로부터 전달되는 메시지는 키를 누를 때 WM_KEYDOWN, 키를 뗄 때 WM_KEYUP 두가지뿐이다. 그럼 WM_CHAR 메시지는 어디서 발생할까? 이 메시지는 WM_KEYDOWN에 의해 추가로 발생하는 메시지이며 메시지 루프에서 인위적으로 생성된다. 전의 코드 내용 중의 메시지 루프를 다시 보자.
         GetMessage는 메시지 큐에서 메시지를 꺼내온 후 이 메시지를 TranslateMessage 함수로 넘겨 준다. TranslateMessage 함수는 전달된 메시지가 WM_KEYDOWN인지와 눌려진 키가 자키인지 검사해 보고 조건이 맞을 경우 WM_CHAR 메시지를 만들어 메시지 큐에 덧붙이는 역할을 한다. 물론 자 입력이 아닐 경우는 아무 일도 하지 않으며 이 메시지는 DispatchMessage 함수에 의해 WndProc으로 보내진다. 만약 메시지 루프에서 TranslateMessage 함수를 빼 버리면 WM_CHAR 메시지는 절대로 WndProc으로 전달되지 않을 것이다.
         윈도우즈와 같은 GUI운영체제에서는 키보드보다 마우스가 더 많이 사용된다. 윈도우즈의 공식 입력 장치는 키보드이지만 그래픽 툴이나 DTP, CAD 등의 복잡한 프로그램에서는 마우스가 주요 입력 장치로 사용된다. 키보드 입력 처리를 메시지로 하는 것과 마찬가지로 마우스 입력 처리도 메시지를 받아 처리한다. 마우스 입력에 관한 메시지는 다음과 같은 종류가 있다.
         마우스 메시지는 lParam의 상위 워드에 마우스 버튼이 눌러진 y좌표, 하위 워드에 x좌표를 가지며 좌표값을 검출해 내기 위해 HIWORD, LOWORD 등의 매크로 함수를 사용한다. 즉 마우스 메시지가 발생한 위치의 좌표는 (LOWORD(lParam), HIWORD(lParam))이 된다.
  • ZPBoard/AuthenticationBySession . . . . 42 matches
         회원 인증이란 회원에게 부여된 고유의 아이디와 패스워드를 통해 회원임을 확인하고, 확인된 회원에 한에서 웹 사이트의 회원 전용 기능을 사용할 수 있도록 하는 것.
         '''HTTP 프로토콜'''은 stateless 프로토콜입니다. connectionless 프로토콜이라고도 합니다. 예를 들어, 웹브라우저를 통해 제로페이지에 접속한다고 봅시다. 클라이언트 입장에서는 자기 자신이 연속된 요청(게시물 보기나, 위키 사용등)을 보내는것을 알지만, 서버 입장에서는 매번 온 요청이 누구로부터 온 것인지를 알 방법이 없습니다. '''왜냐하면''' HTTP 프로토콜의 태생이 연결지향적이 아니고, 상태를 알 수 없기 때입니다.
         클라이언트와 서버간에 지속적인 유대관계를 맺고 싶을때 사용하는 방법으로 Cookie와 Session이 등장하게 되었습니다. Cookie에 대한 이야기는 논외로 하고, Session을 살펴보면, 이는 흔히 ''세션아이디'' 또는 ''세션키''라 부르는(이하 세션아이디로 통일) 값을 쿠키에 설정해놓고, 클라이언트의 요청시 쿠키에서 세션아이디를 가져와서 내부적인 검토과정을 거치고, 이에따라 유효한 요청 또는 무효한 요청을 외치게(인증하게)됩니다.
         서버에서는 이 세션아이디를 바탕으로 인증 작업을 하기만 하면 되니, 정보를 얻는 방법으로 데이터베이스를 사용하건 파일시스템을 사용하건 그 이용에 제한을 가하지 않습니다.
         사용자가 '''로그인'''을 한 후에, '''세션아이디'''를 생성해서 '''세션값'''을 설정합니다. 이를 통해 클라이언트(ie. 웹브라우져)가 요청을 할때 '''세션아이디'''를 얻어오고, 서버측에서는 인증을 하게 됩니다.
         예를들어, 3분 46초동안 아무런 사용자의 요청이 없을때 자동으로 로그아웃처리되는 서비스를 가정하고 다음의 시나리오를 봅시다.
          i. 처음 사용자가 로그인을 합니다. 이때 세션 아이디를 생성해서 저장하겠죠? 데이터베이스를 이용한다고 가정하고, 생성한 세션아이디를 키 값으로 해서 부가적인 정보를 기록합니다. 여기서는 현재 요청이 온 시각을 기록하면 되겠군요.
          i. 사용자가 '김돈규의 3분 45초간의 고백'을 듣고 재빨리 다시 서버로 요청을 보냅니다.
          i. 이번엔 사용자가 화장실을 갑니다. 변비였습니다. 5분후에 돌아와서 서버로 요청을 보내지만, 이미 때는 늦었습니다. 서버가 해당 요청에 대해 '''무효'''를 선언하고, 로그인 화면을 보여줍니다.
         이 예는 세션이 사용되는 기능에 초점을 맞춰 가장 단순한 경우를 이야기 한 것입니다. 실제로는 고려해야 할 부분이 더 있겠죠?
         A. maybe or maybe not. 일반적인 경우, 세션에서 사용되는 쿠키는 브라우져를 닫으면서 보통 삭제되게 되어있으므로 그렇다고 볼 수도 있지만, 엄밀히 이야기해서, 로그아웃처리가 되는것은 아닙니다. 해당 세션키를 통해 다시 요청한다면, 서비스를 받을 수 있습니다. 이 모든 일은 HTTP 프로토콜 특성상 브라우져를 닫는 등의 행위가 오프라인에서 이루어지는것이기 때입니다. (배틀넷을 하다가 랜선을 뽑으면 디스커넥이 되지만, 웹서핑도중 랜선을 뽑는건 어떠한 영양도 미치지 않는것과 같습니다.)
         session_start(); // Session 을 사용하기 위해서는 반드시 맨 처음에 이 함수를 호출해주어야 한다.
         login.php - 회원 인증 폼에서 ACTION 속성으로 사용
         logout.php - 로그 아웃 폼에서 ACTION 속성으로 사용
          * Cookie와 Session의 차이를 이해했나요? 왜 Cookie를 놔두고 Session을 사용하려고 하는것이지요?
          ''쿠키값을 조작할 수 있습니까? 세션을 어떤식으로 생성하고 사용할 수 있는지에대해 살펴보기바랍니다''
          * 그냥 뭐가 제인지 말을 해주세요. 그리고 어떻게 고치면 되는지. --["상규"]
          제 자체가 중요한가요? 어떤게 제이고, 왜 제가 되는지, 제가 왜 제가되는아는 과정이 중요하다고 생각해서 이런식의 답법을 의도하게 됬습니다. 단순히 /답을 열거하는것보다 제를 발견하는 과정이 중요하게 생각되어 이렇게 했는데, 받아들이는 입장에서는 그게 아니었나 보군요. 다시한번 묻겠습니다. 그냥 제와 답을 원하는지 답을 달아주기 바랍니다. --["sun"]
          * 질들이 조금 이해가 안돼서요... 그럼 세션과 쿠키를 같이 사용하면 생각하시는 제가 해결이 될까요? 쿠키의 만료 기간을 주지 않으면 브라우져를 닫으면 없어지는걸로 알고 있는데요 처음에 쿠키를 확인해 없다면 세션이 남아있더라도 지워버리는 방법을 사용하면 제가 해결 될까요? --["상규"]
          * '''처음에 쿠키를 확인해 없다면 세션이 남아있더라도 지워버리는 방법을 사용하면 제가 해결 될까요?'''
  • 데블스캠프2006/화요일/pointer . . . . 42 matches
         == 제 1 & 코드 ==
         <제1>
         제입니다.s
         데블스캠프2006/화요일/pointer/제1/이름
         [데블스캠프2006/화요일/pointer/제1/성우용]
         [데블스캠프2006/화요일/pointer/제1/김준석]
         [데블스캠프2006/화요일/pointer/제1/윤성준]
         [데블스캠프2006/화요일/pointer/제1/정승희]
         [데블스캠프2006/화요일/pointer/제1/이장길]
         [데블스캠프2006/화요일/pointer/제1/이송희]
         [데블스캠프2006/화요일/pointer/제1/주소영]
         == 제 2 & 코드 ==
         <제2>
         제입니다.r
         데블스캠프2006/화요일/pointer/제2/이름
         [데블스캠프2006/화요일/pointer/제2/성우용]
         [데블스캠프2006/화요일/pointer/제2/김준석]
         [데블스캠프2006/화요일/pointer/제2/이송희]
         [데블스캠프2006/화요일/pointer/제2/이장길]
         [데블스캠프2006/화요일/pointer/제2/정승희]
  • AcceleratedC++/Chapter13 . . . . 41 matches
         몇 가지 추가사항을 제외하면 한클래스와 다른 클래스가 동일한 경우가 많다는 데에 착안해서 나온 개념이다.
         이 프로그램의 경우 기존 객체와 다른 부분은 동일하지만 대학원생의 성적을 다루는 경우에는 논과 관련된 점수가 포함된다는 가정을 하고 만들어진다.
          double thesis; // 논관련 점수를 저장하는 멤버변수
         Grad 클래스는 Core로 부터 파생되었다(Derived from), 상속받았다(inherits from), 혹은 Core는 Grad의 base class 이다 라는 표현을 사용한다.
         상속받은 클래스는 그 부모클래스의 생성자, 소멸자, 대입연산자를 제외한 그외의 모든 클래스의 요소를 물려받는다.
          private 보호 레이블로 지정된 멤버는 그 클래스 자체, friend 함수를 통해서만 직접적으로 접근이 가능하다. 이 경우 상속된 클래스에서는 부모 클래스의 private 멤버로의 접근이 필요한데 이럴때 '''protected'''라는 키워드를 사용하면 좋다.
          protected 레이블로 지정된 멤버들은 자식 클래스에서 직접적인 접근이 가능다. 그러나 클래스의 외부에서는 접근이 안되기 때에 캡슐화의 장점을 유지시킬 수 있다.
          in >> thesis; // thesis는 Core가 아니라 Grad의 멤버 변수이므로 범위 지정 연산자를 사용해서는 안된다.
          Core::grade()를 사용하지 않고 grade()를 사용하게 되면 Grade:grade()를 재귀적으로 호출하여 어떤 결과를 리턴할지 예상하지 못한다.
         상기의 함수는 sort에 의해서 각 요소의 판단식으로 사용되는 함수이다. 이 함수는 부모객체인 Core 객체 뿐만아니라, 자식 객체인 Grad객체도 대입하여 사용하는 것이 가능하다.
         '''Grad 클래스가 사용가능한 이유'''
         비록 함수가 요구하는 인자값은 Core 클래스 이지만 Grad는 Core를 기반으로해서 파생된 클래스이기 때에 이 경우 name();를 호출하게 되면 g 객체의 Core::name() 부분이 호출된다.
         다시 말해서 Grad가 Core의 자식 클래스 이므로 Grad객체를 통해서 Core클래스의 함수를 바인딩시켜 사용하는 것이 가능하다는 뜻이다. ''(대신에 이 함수의 안에서는 Grad의 Core 의 요소들만을 취한다.)''
          만약 위 함수에 인자로 전달된 객체가 Grad객체라면 그 객체에서 호출되는 grade는 Core::grade() 이어서는 안된다. 그렇게 호출될 경우 논 점수가 적용되지 않은 성적를 리턴하기 때이다. 따라서 Grad::grade() 의 함수를 호출해야 할 것이다.
          상기의 경우 Grad 객체를 인자로 전달할 경우 Grad객체의 Core객체의 요소만 복사되어 함수의 인자로 전달되기 때에 Core::grade()가 호출되어서 '''정적바인딩(static binding)'''이 수행된다.
          만약 일반형의 변수로 virtual함수를 호출하면 객체가 항상 한가지 타입으로만 존재하기 때에 정적바인딩이 된다. 그러나 포인터, 참조형의 경우 이렇게 할때에는 동적바인딩으로 동작하게 된다. 포인터의 형과 실제 포인터가 가리키는 데이터형이 다른일이 생기기 때이다. 따라서 이 경우 virtual 멤버함수는 '''런타임에 동적으로 바인딩''' 된다.
          기본 타입에 대한 포인터나 레퍼런스가 필요한 곳에 파생 타입을 사용할 수 있다는 개념. 하나의 타입을 통해서 여러 함수들 중 하나를 선택하여 호출할 수 있다.
         입력을 받는 record가 일반형이기 때에 위에 2개의 프로그램은 각기 Core, Grad에 대해서 정적으로 바인딩된다.
         마지막 2가지 제는 virtual로 정의된 멤버함수를 통해서 해결. 처음의 2가지를 해결하는 방법은 2가지가 존재하며 13.3~13.4절에 걸쳐서 설명한다.
          위의 프로그램은 할당되지 않은 Core 공간에 값을 대입하려하기 때에 에러를 발생시킨다. 프로그래머가 객체에 필요한 공간을 직접관리. 읽어들이는 레코드의 종류를 판단해야함.
  • HowToStudyDesignPatterns . . . . 41 matches
         내가 여러분에게 "주석을 가능하면 쓰지 않는 것이 더 좋다"라는 이야기를 했을 때 이 장을 하나의 사실로 받아들이고 기억하면 그 시점 당장에는 학습이 일어나지 않는다고 봅니다. 대신 여러분이 차후에 여러가지 경험을 하면서도 이 화두를 놓치지 않고 있다가 어느 순간엔가, "아!!! 그래 주석을 쓰지 않는게 좋겠구나!!"하고 자각하는 순간, 바로 그 시점에 학습이, 교육이 이뤄지는 것입니다. 이는 기본적으로 컨스트럭티비즘이라고 하는 삐아제와 비곳스키의 철학을 따르는 것이죠. 지식이란 외부에서 입력받는 것이 아니고, 그것에 대한 모델을 학습자 스스로가 내부에서 축조(construct)할 때 획득할 수 있는 것이라는 철학이죠.
          ''최소한 언어 교육에 있어서는 피교육자의 "기쁨에 찬" 동의가 없으면 별로 효과를 볼 수 없다는 게 제 생각입니다. 모르는 사람은 아예 모르기 때에 아직 공부할 필요가 없으며 아는 사람은 이미 알기 때에 다시 공부할 필요가 없습니다. 아는 것도 모르는 것도 아니고 어중간한 상태에서 나름의 제의식을 갖고 있는 경우, 이 사람에게 누군가가 "제대로 된" 한두마디만 던져줘도 그는 열가지 스무가지 일사천리로 소화하고 이해하며 자발적인 학습을 하게 됩니다.
          예컨데 자신의 삶의 목표에 대해 제의식 조차도 형성되지 않은 사람에게는 백날 종교니, 철학이니 떠들어 봐야 헛수고입니다만, 이미 개별적이고 구체적인 체험들을 통해 자신만의 제의식을 나름대로 형성한 사람은 공부하고 남의 말을 들을 준비가 된 사람입니다.
          아담이 세상의 모든 "것"들을 보고 일일이 이름을 붙였던 것은, 보았기 때에 가능했던 것입니다. 그러나 우리나라 교육의 대부분은 horse를 보기 이전에 horse라는 이름을 가르치고, 제의식을 외부에서 학생에게 주입하려 합니다. 그러한 지식의 필요성까지도 암기하고, 이해하도록 강요하는 것이지요.
          저는 후학들이 난생 처음 어떤 학을 공부할 때 처음부터 최고의 대가에게 가서 강의를 듣는다든가 하는 것을 그다지 권하지 않습니다 -- 강의자와 피강의자의 노력에 비해 크게 도움이 되지 않습니다. 이것은 결국, 스스로가 자신만의 제의식을 갖고 있어야 하며, 또한 그 제의식은 철저히 자신의 삶에서 우러 나와야 하는 것이기 때입니다. 그 이후에 훌륭한 선생들을 만나면 정말 비약적인, 계단을 서너칸 뛰어오르는 발전을 할 수 있습니다.
          결국 제 후배가 한달 정도만에 그렇게 껍질을 깨고 나오는 발전을 할 수 있었던 것은 그 자신이 늘 "반성적인 학습"을 해오며 자기 영어 공부에 대한 제의식을 형성했고 궁리해 왔기 때입니다. 물론 절대적인 영어 공부량(input)이 이미 어느 정도 되어 있었기 때이기도 합니다. 물길을 열어줄 "열쇠"가 필요했었던거죠. 이미 물은 어느 정도 차 있었고요.
          권법에서 주먹에 대해 달통한 도사가 "권을 내지르는 법"에 대한 규칙들을 정리를 해서 애제자의 대갈통 속에 아무리 쑤셔넣는데 성공을 한들 그 제자가 도사만큼의 주먹이 나갈리는 만무합니다. "권을 내지르는 법"을 유추해 내기까지 그 스승이 겪은 과정을 제자는 완죤히 쏙 빼먹고 있기 때입니다. 소위 '몸'이 만들어 지지 않은 것이지요. 제자는 마당 쓸기에서부터 해서, 물 긷기, 기타 등등의 몸의 수련의 과정을 겪어야만 하고, 그 제자가 스승이 정리한 그 규칙의 일련에 손뼉을 치고 춤을 추며 기쁨의 동의를 할 수 있을 정도로 과정의 축적이 이루어진 이후에야 비로소 진정한 '가르침'이 이뤄지는 것이며, 청출어람의 가능성도 생각해 볼 수 있는 것입니다.
         이런 동의라는 것은 학습자 자신만의 컨텍스트와 제의식을 바탕으로 한 것입니다. 우리는 많은 경우, 어떤 지식과 동시의 그 지식의 필요성까지도 지식화해서 외부에서 주입을 받습니다. 하지만 진정 체화된 지식을 위해서는 스스로가 이미 제의식을 갖고 있어야 합니다.
         패턴도 마찬가지인데, 대부분 그 패턴의 필요성을 체감하지 못한 채 그냥 도식적 구조를 외우기에만 주력하는 사람이 많습니다만, 사실 그렇게 되면 어떤 경우에 이 패턴이 필요하고 어떤 경우에는 사용하면 안되는지 등을 알기 힘듭니다. 설령 책에 나온 가이드를 암기했더라도요. 자신의 삶 속에서 제의식이 구체적으로 실제 경험으로 형성되지 않았기 때입니다.
         패턴 중에 보면 서로 비슷비슷한 것들이 상당히 많습니다. 그 구조로는 완전히 동일한 것도 있죠 -- 초보자들을 괴롭히는 것 중 하나입니다. 이것은 외국어를 공부할 때 법 중심적인 학습을 하는 것과 비슷합니다. "주어+동사+목적어"라는 구조로는 동일한 두 개의 장, 즉 "I love you"와 "I hate you"가 구조적으로는 동일할 지라도 의미론적으로는 완전히 반대가 될 수 있는 겁니다. 패턴을 공부할 때에는 그 구조보다 의미와 의도를 우선해야 하며, 이는 다양한 실례를 케이스 바이 케이스로 접하면서 추론화 및 자신만의 모델화라는 작업을 통해 하는 것이 최선입니다. 스스로 법을 발견하고 체득하는 것이라고 할까요.
         어떤 특정 장 구조(as much as ...나, no more than ... 같은)를 학습하는데 최선은 그 장 구조를 이용한 실제 장을 나에게 의미있는 실 컨텍스트 속에서 많이 접하고 스스로 나름의 모델을 구축(constructivism)하여 교과서의 법칙에 "기쁨에 찬 동의"를 하는 것입니다.
         이런 식의 "사례 중심"의 공부를 위해서는 스터디 그룹을 조직하는 것이 좋습니다. 혼자 공부를 하건, 그룹으로 하건 조슈아 커리프스키의 유명한 A Learning Guide To Design Patterns (http://www.industriallogic.com/papers/learning.html'''''')을 꼭 참고하세요. 그리고 스터디 그룹을 효과적으로 꾸려 나가는 데에는 스터디 그룹의 패턴 언어를 서술한 Knowledge Hydrant (http://www.industriallogic.com/papers/khdraft.pdf'''''') 를 참고하면 많은 도움이 될 겁니다 -- 이 서는 뭐든지 간에 그룹 스터디를 한다면 적용할 수 있습니다.
         LG2DP에는 뒷 부분에 보면 DP를 공부하는 순서와 각 패턴에서 던질만한 질이 같이 정리되어 있습니다. DP는 순차적으로 공부해야만 하는 것은 아닙니다. 효과적인 공부의 순서가 있습니다.
         그런데 사실 GoF의 DP에 나온 패턴들보다 더 핵심적인 어휘군이 있습니다. 마이크로패턴이라고도 불리는 것들인데, delegation, double dispatch 같은 것들을 말합니다. DP에도 조금 언급되어 있긴 합니다. 이런 마이크로패턴은 우리가 알게 모르게 매일 사용하는 것들이고 그 활용도가 아주 높습니다. 실제로 써보면 알겠지만, DP의 패턴 하나 쓰는 일이 그리 흔한 게 아닙니다. 마이크로패턴은 켄트벡의 SBPP에 잘 나와있습니다. 영어로 치자면 관사나 조동사 같은 것들입니다.
         하긴, 패턴도 "제해결"을 위한 한가지 방편에 지나지 않겠군요. 주변에서 "이 경우에는 무조건 이 패턴을 써야 합니다"라고 생떼를 쓰는 사람을 보면 씁쓸한 기분을 감출 수 없습니다.
          1. ["Refactoring"] by Martin Fowler : DP 공부 이전에 봐서 제의식 형성하기 (망치를 들면 모든 것이 못으로 보이는 오류 탈피)
          1. Pattern Languages of Program Design 1,2,3,4 : 패턴 컨퍼런스 논 모음집으로 대부분은 인터넷에서 구할 수 있음
          1. Problem Frames by Michael Jackson : Beyond DP(DP를 넘어서). 사실 DP는 더 이상 트랜디하지 못함. DP의 해결(solution) 지향식의 제점과 극복방안으로서의 제 지향식 방법
         몇가지 제점을 지적하자면:
          * 컨텍스트와 제상황에 대한 설명이 없거나 부족하다 -- 결과적으로 제를 해결하기 위해 패턴이 도입된 것이 아니라 패턴을 써먹기 위해 패턴이 도입된 느낌을 준다.
  • SystemEngineeringTeam/TrainingCourse . . . . 41 matches
          * 여러가지 도메인이 가능했으나 한글 이름으로는 짧은 도메인이 불가능. 닉네임으로 쓰고 있는 bluemir를 사용해서 가능한 도메인 중에는 .org .net .me 등등이 가능했으나 .com은 불가능. 어차피 개인 도메인으로 사용할 예정이었고 .org 와 .net 보다는 .me가 조금더 맞는듯한 도메인 이었음. 한글이름 이니셜만 따서 .com을 사용해볼려 했으나 내 개인 도메인이라는 느낌이 들지않아서 위의 도메인으로 결정.
          * jereneal.me보다 훨씬 짧은데 사용가능한 도메인이었음. jkim은 jereneal kim도 되고, (tae) jin kim도 됨. .com등의 도메인은 없었음.
          * 버추얼박스를 켜서 샀기 때에 찾아본 두곳(호스팅kr, 후이즈) 중 싼 곳인 호스팅 kr에서 구매.
          * .re는 후보에서 제외됨.. 신포도 기제 발동으로 rabier.re가 갑자기 구려보임.
          * 나머지 도메인중에 구매할 것을 고르는데 도메인 설명중 .me의 "개인용으로 적합하다. 특히 resume, blogs에 사용할 수 있다"라는 설명이 나의 심금을 울렸는데 특히 resume부분이...
          * 원래 개인 도메인으로 쓸 생각이 아니라 둘이 쓸 것이었기 때에 .com으로 취득.
          * 구매 사이트는 hosting.kr 사용. 형진 선배의 추천으로 가격이 싸다고 들어서.
          * 닉네임이자 세례명인 linuspark을 사용, 컴공인으로써 부담되긴 하지만 여태 쓰던걸 바꿀생각이 없으므로 그대로 사용.
          * .com은 이미 등록되어있었고, .org .net .info .me 등 중에서 .net이 가장 싸서 이걸로 결정, 주로 네트워크회사 등에서 사용한다지만 가격이 우선함.
          * [안혁준] - 우선 Window서버는 원격으로 관리하기가 매우 귀찮고 POSIX호환도 안되므로 일단 제외. UNIX/Linux계열중 활발한 활동이 있는데는 FreeBSD와 Redhat계열, 데이안 계열(Ubuntu).
          * Fedora - 주로 데탑으로 많이쓰이고 업데이트가 빠르며 다양한 패키지들을 사용할수 있지만 다소 불안정함. 사실 연습용 서버로 쓰기에는 큰 무리가 없다.
          * RHEL - 실제로도 많이 쓰이고 확실한 서버지원과 제 해결이 가능하지만 유료.
          * CentOS - RHEL의 클론 버전. 라이센스 제때에 들어가지 못한 패키지를 Open Source Software로 교체. 뛰어난 안정성을 자랑함. 다만 안정성을 택한대신 패키지의 종류가 적고 업데이트가 매우 느린편. 아직도 jdk 1.6버전이라는 소이 있다.
          * Ubuntu - 맥분투라고 비난받고 있는 리눅스 뛰어난 사용자 편의성과 GUI를 갖추고 있고 제 해결에 실마리가 될 포럼이 가장 활발하다. 하지만 대부분의 제는 XWindows(이걸 뭐라 부르지..)쪽 제. 빠른 패치와 다양한 패키지를 갖추고 있지만 언제 지원이 끊길지 모른다.
          * 위의 내용중 우선정도는 안정성, 제 해결 가능성, 보안, 편의성, 지원기간 순.
          * CentOS는 실제 서버에서 가장 많이 쓰이는 OS이고 대부분 RHEL과 매우 유사하기 때에 서버로서 생기는 제 해결은 아마 최우수 일듯 하다.
          * 현재 사용하고 있는 Fedora와는 CentOS가 유사하다.
          * 직접 써보기 전까지는 모를것 같다. 각 운영체제를 비교할려해도 그져 features를 읽거나 근거가 없는 뭐가 좋더라 식의 글들을 읽는 것 밖에 없다. 내가 중요시 하는 건 "어떤기능이 된다"가 아니라 "비교적 쉽게 되고 마음만 먹으면 세세한 셋팅도 할수 있다"를 원하기 때에 features만 읽어서는 판별할수가 없다. 직접 써보고 비교해 보면 좋겠지만 그럴 여건도 안되서 조금 안타깝다. 사실 CentOS와 FreeBSD 중에서 CentOS를 쓰고 싶은데 도저히 적절한 이유를 찾을수가 없었다. 그렇다고 FreeBSD를 쓰자니 FreeBSD가 좋은 이유를 찾을수 없었다.
          * 서영주 - 사용 비율, 포럼의 활성화 정도도 ubuntu쪽이 더 높은 것 같고 CentOS쪽이 안정성이 높다고는 하지만 어차피 지원을 받을 수 있는 RHEL과 비교하면 크게 차이는 없다고 한다. 하지만 써본 적이 없으므로 배우고 싶다는 이유로 CentOS쪽을 써보고 싶습니다.
          * 서민관 - trello 쪽에 있는 서버 운영체제 요건을 봤을 때 대부분이 큰 차이가 없는 것 같고 안정성 면에서 CentOS, 업데이트 속도 면에서 Fedora/Ubuntu 라는 느낌이라서 둘 중에 어느 쪽에 중점을 두느냐에 따라 결정이 갈리는 것 같습니다. 이런저런 생각의 결과 Ubuntu 계열을 사용하기로 결정했습니다. 이유는 여럿 있는데, 첫째는 지금까지 Ubuntu를 좀 써 본 만큼 익숙한 환경에서 하는 것이 그 외의 제에 시간을 덜 쓰고 제 자체만을 다루기에 좋을 것 같다는 것입니다. 그리고 두 번째로 이번에 Raspberry pi를 구매했는데, 이쪽에서 기본적으로 제공하는 운영체제가 Debian 계열이라서 Ubuntu에서 작업을 해 보면 Raspberry pi에서도 좀 더 작업을 편하게 할 수 있지 않을까 하는 생각이 들어서 Ubuntu 계열을 쓰기로 결정했습니다.
  • DataCommunicationSummaryProject/Chapter8 . . . . 40 matches
          * 에어 링크가 동작하기 위해서는 두가지 수신기가 필요한데 사용자에 의해서 작동하는게 MSU(핸드폰) 운영자에 의해서 동작하는게 BTS(Base Transceiver Station) 이다.
          * BTS가 혐오성을 일으키기 때에 주변과 어울리게 꾸몄지만 너무 티가 안나면 사람들이 안전에 무심해져서 위험해질 수도 있다.
          * 여러개의 Base Station이 BSC를 같이 사용한다.
          * BSC가 연결되어 있는 BTS들에게 동적으로 스펙트럼을 할당할 수 있기 때에 하나의 셀에 더많은 사용자를 수용할 수 있다.
          * 전화기의 교환기 처럼, MSC는 사용자들을 기억하고 있다가 필요할때 부른다.
          * 사용자와 연결하기 위해서 네트워크에서 중요하다
          * 각각의 MSC는 아래와 같은 여러개의 데이터 베이스와 연결되어 있다.(사용자의 위치 추적과, 요금 지불 정보등을 위해서)
          * 자신이 포괄하는 범위내의 사용자에 대해서만 정확한 지리적인 정보를 가지고 있다.
          * 만약 사용자가 범위 밖으로 이동하면, 그 이동한 곳의 MSC 분별 번호를 대신 저장한다.
          * MSC가 포괄하는 위치안에 있는 사용자에게 call 요청이 오면 사용자의 home HLR가 새로운 셀의 VLR에 접촉하고, 사용자에 연결되게 해준다.
          * 이 시스템의 제는 모든 call이 사용자의 home HLR을 통해서 연결된다는 것이다. 국제적으로 연결되면 비용이 많이 들게 된다.
          * 전화 번호랑 연계하여서 핸드폰을 구분하기 위해서 사용되는 고유의 번호를 가지고 있다.
          * 전화요금이 정확하게 매겨지게 하고, 도난당한 핸드폰의 정보등을 가지고 있어서 도난당한건 사용못하게 하도록 한다.
          * TSC는 네트워크에서 보통 매우 적거나 때때로는 하나만 사용되지기도 한다.
          * 이것은 가장큰 역할은 핸드폰 시스템 자체의 신호 프로토콜을 보통 전화선에서 전화번호와 같은 정보를 나르는데 사용하는 Signaling System 7(SS7)로 변환하는 것이다.
          * 모바일 데이터도 BST나 BSC와 같이 음성 데이터와 비슷한 조직 체계를 사용한다.
          * 인터넷에서 사용되는 IP와 비슷한 GTP(GPRS Tunneling Protocol)라는 프로토콜을 사용한다.
          * The Point-to-Multipoint Service Center(PTM SC), Qos 제를 다루는 서버이다. 돈을 더 많이 낸 고객에게 통신에서 우선권을 준다. 그리고 소리와 그림과 같이 데이터의 종류에 따라 우선권을 달리 준다.(소리가 더 속도에 민감하다.)
          * The GPRS Charging Gateway(GCG), 요금 지불 옵션을 전적으로 하기 위해서 필요하다.
          * 사용자가 이러한 특화된 서비스에 접근할 수 있도록 하기 위해서는, 운영자가 특별한 형태의 GPRS roaming을 구현할 필요가 있다.
  • OurMajorLangIsCAndCPlusPlus/stdio.h . . . . 40 matches
         || int fprintf(FILE *, const char *, ...) || 해당 스트림에 자열을 기록한다. ||
         || int fputc(int, FILE *) || 해당 스트림에 한 자를 기록한다. ||
         || int fputs(const char *, FILE *) || 해당 스트림에 자열을 기록한다. ||
         || size_t fread(void *, size_t, size_t, FILE *) || 해당 스트림에서 자열을 첫번째 인자의 크기만큼, 두번째 인자의 횟수로 읽습니다. ||
         || int fscanf(FILE *, const char *, ...) || 해당 파일에서 자열을 지정한 형식으로 읽어들인다. ||
         || int printf(const char *, ...) || 해당 형식의 자열을 출력한다. ||
         || int putc(int, FILE *) || 해당 스트림으로 자를 출력한다. ||
         || int putchar(int) || 표준 입출력으로 자를 한개 출력한다. ||
         || void setbuf(FILE *, char *) || 해당 스트림에 사용할 버퍼를 지정해 준다. ||
         || int setvbuf(FILE *, char *, int, size_t) || 해당 스트림에 지정된 크기만큼의 사용할 버퍼를 지정해 준다. ||
         || int sscanf(const char *, const char *, ...) || 해당 자열에서 지정된 형식대로 입력받는다. ||
         || char * tmpnam(char *) || 임시 파일로 사용할 수 있는 이름을 인자1에 기록한다. ||
         || int ungetc(int, FILE *) || 해당버퍼로 읽어온 자를 다시 넣는다. ||
         || int vfprintf(FILE *, const char *, va_list) || 해당 스트림에 인수리스트를 이용해서 지정된 형식의 자열을 삽입한다. ||
         || int vprintf(const char *, va_list) || 표준 입출력에 인수리스트를 이용해서 지정된 형식의 자열을 출력한다. ||
         || int vsprintf(char *, const char *, va_list) || 해당 자열에 인수리스트를 이용해서 지정된 형식의 자열을 기록한다. ||
         || wint_t putwc(wchar_t, FILE *) || 해당 스트림으로 유니코드 한 자를 기록한다. ||
         || wint_t putwchar(wchar_t) || 표준 입출력으로 유니코드 한 자를 출력한다. ||
         || wint_t ungetwc(wint_t, FILE *) || 해당 버퍼로 읽어온 유니코드 한 자를 다시 넣는다. ||
         || wchar_t * fgetws(wchar_t *, int, FILE *) || 해당 스트림으로 부터 유니코드 자열을 읽어온다. ||
  • 새싹교실/2012/AClass/4회차 . . . . 40 matches
         == 곽길 ==
         -원형 큐로 기본 큐와 마찬가지로 첫 번째 데이터가 추가되는 순간 큐의 처음과 끝부분이 그 데이터를 가리키게 된다. 처음을 F 끝부분을 가리키는 것을 R이라하면 꽉찬 경우나 텅빈경우에 F가 R의 한칸 앞을 가리키는 것은 같기 때에 F,R의 위치만을 가지고 꽉 찬경우와 텅 빈 경우를 구분할 수 가 없다. 따라서 이와 같은 제를 해결하는 방법은 많겠지만 그 중 하나는 배열을 꽉 채우지 않고 배열의 길이가 N이라면 N-1만큼만 채워 졌을 때 꽉 찬 것으로 간주하는 방법이다. 이렇게 하면 저장 공간 하나를 낭비하게 된다. 하지만 이로 인해서 제 하나가 해결이 되는 셈이다.
         - c언어에서는 char,int,float 와 같은 많은 수의 기본 데이터 형과 배열, 포인터, 구조체 등의 유도된 데이터형으로부터 새로운 데이터형을 만들 수 있는데, 사용자 측면에서 새로운 데이터 형을 정의 할 수 있도록 typedef선언을 제공한다. typedef은 #define과 달리 이미 존재하는 c언어의 데이터 형만을 취하여 정의하고 typedef은 프리프로세서에 의해 처리되는 것이 아니라 c컴파일러에 의해 처리된다. 또한 #define보다 다양한 형태의 치환이 가능하다.
         typedef에서 기존 데이터형 char를 새로운 데이터형 이름으로 *YOU를 정의했고 YOU name이라 정의하면 이는 char *name로 나타낸것과 같다.
         4.구조체를 사용하여 student 구조체를 하나 만들고, student 구조체 배열을 만들어 0~3번째 배열에 AClass반 학생들의 정보를 적당히 넣고, 그것을 출력해보자.
          구조체 내부에 char 배열을 사용해서 이름을 넣어도 좋고, 학번을 int형으로 넣어도 좋다.
         struct Student stu[4]={24,"길±æ¹�"},{24,"상≫o희En"},{23,"송¼U이AI"},{22,"혜Cy림¸²"};
         저번주 과제 8번에 실패하신 분들은 해당 제를 푸셔도 됩니다. 아직 이해가 잘 안가시면 저나 다른분들에게 물어봐요
         //10.LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다.
          - 원형으로 이루어져 있기 때에 큐가 가득 찼을때나 완전히 비어있을때 Front와 Rear의 index는 동일하므로 Empty인지 Full인지 구분할 수 없다.
         구조체를 사용하여 student 구조체를 하나 만들고, student 구조체 배열을 만들어 0~3번째 배열에 AClass반 학생들의 정보를 적당히 넣고, 그것을 출력해보자.
         구조체 내부에 char 배열을 사용해서 이름을 넣어도 좋고, 학번을 int형으로 넣어도 좋다.
          Std[0].name="곽길";
         저번주 과제 8번에 실패하신 분들은 해당 제를 푸셔도 됩니다. 아직 이해가 잘 안가시면 저나 다른분들에게 물어봐요
         LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         (rand()%1000을 한다면 1에서 1000까지의 숫자가 나올 것입니다.)
         큐를 위한 버퍼와, 시작과 끝을 나타내는 두개의 값을 사용하게 된다.
         typedef 명령은 기존에 있는 자료형을 사용자가 원하는 이름으로 사용할 수 있게끔 선언하는 명령
         <typedef 의 사용법>
         <typedef 의 사용 예>
  • ACM_ICPC/2013년스터디 . . . . 39 matches
          * 참여를 원하는 분을 위한 은 언제나 열려있습니다.
          * 각자 제를 풀어오고 설명, 설명들은 제는 다음 시간까지 개인적으로 풀어올 것.(Dovelet 사용)
          * 방식 - 각자 제를 풀어와서 토의하고, 다음 제를 정합니다.
          * 오늘 푼
          * 퀵 정렬,이진검색,parametric search - [http://211.228.163.31/30stair/guessing_game/guessing_game.php?pname=guessing_game&stair=10 숫자 추측하기], [http://211.228.163.31/30stair/sort/sort.php?pname=sort&stair=10 세 값의 정렬], [http://211.228.163.31/30stair/subsequence/subsequence.php?pname=subsequence&stair=10 부분 구간], [http://211.228.163.31/30stair/drying/drying.php?pname=drying&stair=10 건조], [http://211.228.163.31/30stair/aggressive/aggressive.php?pname=aggressive&stair=10 공격적인 소]
          * [subsequence/권영기] - 부분 구간, 건조, 공격적인 소 제 코드 모두 있어여. 근데 소스 공개하기 부끄럽네..
          * 오늘 푼
          * 오늘 푼
          * 오늘 푼
          * BackTracking제 1
          * 오늘 푼
          * [http://211.228.163.31/30stair/barn/barn.php?pname=barn 헛간](저번주 제)
          * n 마리의 쥐가 크기가 같은 n 개의 버터를 먹는데 n 시간이 걸린다고 할 때 , m 마리의 쥐가 m 개의 버터를 먹는데 걸리는 시간을 구하는것이 제이다. 각각의 쥐가 치즈를 먹는 속도는 모두 동일하다고 한다.
          * 오늘 푼
          * 오늘 푼
          * [http://211.228.163.31/30stair/bridging/bridging.php?pname=bridging&stair=15 bridging - binary indexed tree를 이용한 Up Sequence 제]
          * 코드포스 제풀기
          * 제 풀어오지 못함..
          * Shortest Path : DAG(directed acyclic graphs)로 바꾼 후 Source에서부터 dist(v) = min{dist(v) + l(u,v)}사용
          * Longest increasing subsequence : DAG로 바꾼다.(increasing하는 곳에만 edge생성됨) 이후 가장 많이 방하도록 L(j) = 1+ max{L(i) : (i,j)}수행
  • PairProgramming . . . . 39 matches
          * Pair Refactoring - 꼭 소스 코드가 아니더라도 위키 페이지에 대한 ["서구조조정"] 을 하는 경우에도 적용할 수 있다. 특히, 해당 토론이 벌어진뒤 양론으로 나누어졌을 경우, 각 의견 지지자들이 Pair 로 서구조조정을 할때 이용할 수 있다.
          * Junior : Expert 간 격차에 따른 효율성의 제 - [http://www.caucse.net/phpwiki/index.php?PairProgramming PairProgramming]
         === 동서버 프로그램 개발중 ===
         동서버 프로그래밍 팀의 인수인계용으로 이용되었었다. PP를 주로 하고 한두번의 VPP를 했다. 해당 소스를 같이 만들어가면서 기존의 프로그램을 설명했다.
         ==== 제기된 제점 & 해결법 ====
         Expert : Junior . 즉, 해당 분야에 대한 전가 : 초심자 의 제이다. 이 경우 그 진행이 늦어질 수 있다. (Expert : Expert는 최고의 효율성을 가진다. 물론 이것도 열린 마음을 바탕으로 한다. Junior : Junior 도 나름대로(?) 빨리 움직인다. (제대로 움직인다는 보장은 못한다. -_-;)) 그리고 Expert가 해당 프로그래밍에 대한 답 (코드)을 이미 알고 있는 경우 Expert의 집중도와 긴장감을 해치게 된다.
         이 때에는 Expert는 놀지말고 (-_-;) Observer의 역할에 충실한다. Junior 의 플밍하는 부분을 보면서 전체 프로그램 내의 관계와 비교해보거나, '자신이라면 어떻게 해결할까?' 등 제를 제기해보거나, reference, 관련 소스를 준비해주는 방법이 있다.
         또 하나의 제점으로 제기된 것은, Junior 가 Expert의 권위에 눌릴 수 있다는 것이다. Junior 는 질에 용감해야 한다. Expert는 답변에 인색해서는 안된다. 열린 마음이 필요한 일이다. (Communication 과 Courge 는 XP 의 덕목이다. ^^)
         전가라 하더라도 프로그래밍의 실력과 다른사람에게 답변해주는 능력은 다르다. 커뮤니케이션 능력은 실제 도메인에 대한 지식과는 다를 수 있다. Expert 는 Junior 에게 설명을 해줌으로서 기존의 지식에 대한 정리를 해 나갈 수 있다. Junior 는 혼자서 삽질하는 것보다 더 빨리 필요한 지식에 대해 접근할 수 있다.
         ==== 제기된 제점 & 해결법 ====
          * Pair 의 진행을 이끌어가는 것 - 프로그래밍의 흐름이라고 해야 할까. 디자인을 어느정도 선정도로 맞추고 어떠한 제를 풀 것인가에 대한 약간의 선이 필요할 것 같다. 이 경우에는 초반 디자인이 허술했었다는 약점이 있었다. '전체적인 관점에서 무엇무엇을 하면 프로그램이 완성될 것이다' 라는 것. UserStory 만 생각하고 EnginneringTask 를 간과한 것이 큰 제였다. (그때 EnginneringTask 에 대한 개념이 없었었다는. 어디서 함부로 주워만 지식. --; 사고를 하자 사고를. -_-)
          * 집단 삽질. --; - 이것은 헤프닝이라고 보는 것이. -_-;; Test Code 에서 둘이 라디안 구하는 공식을 거꾸로 쓰고 '왜 값이 틀리다고 하는거야!' 하며 1시간을 삽질했다는 후이 있다는. --;
          * 하지만 UnitTest도 그렇듯이, 많은 장점을 가진 방법을 완벽하지 않다는 이유로 사용하지 않는다는 것은 아쉬운 일일 것이다.
         ==== 제기된 제점 & 해결법 ====
         * Junior 로서의 실수 - 기존 앞에서의 경험에서는 상대적으로 내가 Expert 의 위치에서 작업을 하였다. 이번에는 Junior 의 입장에 서게 되었는데, 기존에 Junior 의 위치에 있었던 사람들의 실수를 내가 하게 되었다. 어려운 부분에 대해서는 이해를 제대로 하지 못했음에도 불구하고 Expert의 속도를 저해할지도 모른다는 생각을 하며 대강 넘어갔었다. (다른 Junior 의 경우도 PP에서 어려움을 겪는 부분중 하나가 이것일지도 모른다. 특히 선후배 관계의 경우) 하지만, 이는 오히려 사태를 악화시킬 수 있다. 프로그래밍 작업을 계속 Expert에게만 의존하게 되기 때이다. 확실하게 개념을 공유해야 Observer 의 역할과 Driver 의 역할 둘 다 잘할 수 있다. (쉬운 일은 아니다. 확실히)
          * 자존심제? - Pair를 의식해서여서인지 상대적으로 Library Reference나 Tutorial Source 를 잘 안보려고 하는 경향이 있기도 하다. 해당 부분에 대해서 미리 개인적 또는 Pair로 SpikeSolution 단계를 먼저 잡고 가벼운 마음으로 시작해보는 것은 어떨까 한다.
          * On-Side Customer 와의 PairProgramming - 프로젝트 중간에 참여해서 걱정했었는데, 해당 일하시는 분과 직접 Pair를 하고 질을 해 나가면서 전체 프로그램을 이해할 수 있었다. 특히 내가 ["BioInfomatics"] 에 대한 지식이 없었는데, 해당 도메인 전가와의 Pair로서 서로 상호보완관계를 가질 수 있었다.
         ProgrammingContest 에 있는 K-In-A-Row 제를 푸는 일을 했다.
         ==== 제기된 제점 ====
          * 협동 - 이번경우는 비교적 협동이 잘 된 경우라고 생각한다. Python 으로 제를 풀기 위한 프로그래밍을 하는데는 석천이, Idea 와 중간에 데이터 편집을 하는데에는 정규표현식을 잘 이용하는 상민이가 큰 도움을 주었다. 적절한 때에 적절하게 주도하는 사람이 전환되었던 것으로 기억.
  • SmallTalk/강좌FromHitel/강의4 . . . . 38 matches
         에, 그림을 곁들이고 싶은 필자의 간절한 마음이 반영되지 못하기 때
         창에 그대로 반영되기 때이 아닌가 생각합니다.
         알림판이 '일터'와 구별되는 가장 큰 특성은, Smalltalk 환경에서 사용자에
         다거나 이미 있던 꾸러미나 객체를 지울 때 제가 있었다는 등 이 알림판에
         새로운 일터를 만들기 위해서는 File > New 메뉴를 사용하거나, 도구 모음에
         다고 했습니다. 그럼 다음과 같이 명령해 보십시오. 글쇠를 사용
         과 같은 명령을 사용하여 일터에 명령의 수행 결과를 출력할 수도 있습니다.
         되는 창이므로, 그 사용 방법을 확실히 익혀두는 것이 좋을 것입니다.
         쇠 대신 글쇠를 사용할 때 나타나는 창입니다. 이 창은 기본적으로
         하도록 만들어진 도구입니다. 앞에서 우리가 탐색기를 사용한 예를 생각해
         쉽게 탐색하기 위해서는 객체 탐색기를 사용하는 것이 편리합니다.
         을 탐색할 때 사용하는 도구입니다. 모두 크게 내 부분으로 이루어진 갈래
         이러한 객체를 사용하거나 아니면 새로 만들어야 합니다. 이 일을 이 '갈래
         탐색기'에서 할 수 있기 때에, '일터'와 더불어 프로그래밍을 할 때 가장
         자주 사용되는 도구이기도 합니다.
         뽑아내어 내용을 살펴보고자 할 때 사용합니다.
         리하기 위해서 사용됩니다. 꾸러미 탐색기는 이러한 꾸러미를 새로 만들거나
         창맵씨(View Composer)는 사용자 접속 환경(User Interface)를 만드는 도구
         램을 사용하는 최종사용자가 자료를 입력할 수 있도록 해 줍니다.
         넓은 부분이 실제로 창을 설계할 때 사용하는 부분이고, 아래에 위치한 세
  • 데블스캠프2011/첫째날/후기 . . . . 38 matches
          * 전날 누나/형들이 프로젝트하면서 nForge를 쓰시기에 '저건 뭔가?!' 하고 있었는데 오프닝하면서 바로 해결되었지요.. 제는 SVN을 제대로 사용하는 법을 아직 잘 모르겠다라는 거일까요. 뭔가 똑같이 따라했는데 제대로 안된 느낌! (그러나 종하형 디스하는거만큼은 어렵지않게 되더군요.ㅋㅋ)
          * 처음 오프닝에서는 nForge를 처음으로 써 보게 되었습니다. 제로페이지 홈페이지 들어가면 링크는 걸려 있는데 항상 들어가 보기만 하고 여긴 뭐지? 라고만 생각했던 그런 곳이었는데 사용해 볼 수 있어 좋았습니다.
          * 데블스캠프의 가장 중요한 부분인 기록을 위해서 SVN과 위키의 사용법에 대한 설명을 하는 시간. 사실 세 번째니만큼 그렇게까지 어색한 느낌은 아니었습니다. 오히려 세 번째인데도 SVN의 사용법을 완벽하게 알고 있지 못 한 자신에 더 놀랐습니다 -_- 배웠다고 썩히지 말고 좀 더 자주자주 쓰도록 노력을 해 봅시다...
          * 전 늦게와서 오프닝은 잘 못들었기 때에 svn을 활용해보지는 못했네요 ^^; 하지만 팀프로젝트를 할 때 편리한 프로그램인 것 같습니다.
          * 형진이형이 병특을 했던데다, 회사에 다니고 계셔서 항상 묻고싶었던게 많았는데, 많은걸 물어볼 수 있는 시간이 되어서 정말 좋았던거 같아요. 형진이형이 뭔가 끝없이 나오는 봇물(?) 같은 존재이신듯..! 우리가 프로그래머가 되면 어떠어떠한게 될 수 있는지, 어떠한 프로그래머가 되어서는 안되는지(정체된 프로그래머!), 병특하려면 어떤 조건(?)이 유리한지(그런데 오늘 신검받고 2급 ㅠㅠ, 내면의 장애를 발견할 수 없었어요) 재밌게 들었구요, 면접관이 되어 질한다면 어떤 질을 하겠는가?? 라는 것에서 다른분들이 쓴 글들을 보고도 많은걸 배운거 같았어요.
          * 형진이를 보면서 항상 많은걸 느낍니다. 비단 나의 동기라던가 실력이라던가 형진이의 인지도(?) 때만이 아니라 자신의 현재 위치에 그치지 않고 언제나 이것저것 많은 시도를 하는것 같아요. 반면 저는 정체된(?) 개발자.... - 부연 설명을 하자면 저는 학교를 다니면서 프로그래밍보다는 그 외 경험 측면에서 이것저것 많이 겪어보려고 했었기에...
          * 형진이 형의 주제미정의 이야기 였습니다. 개발자로서 살아갈 때에 생각해봐야 할 부분들을 집어주셔서 그에대한 고민을 잠시나마 할 수 있어서 좋았습니다. 이러한 부분은 나중에 제가 개발자로 있을때에 다시 한번 생각할 제 이겠지요. 또 개발자를 판단하기 위한 단 한가지 질에서 다른 사람들이 생각하는 질들과 그에 대한 다양한 답변을 들을수 있어서 좋았습니다.
          * 아 맞다. '내가 면접관이라면 하고싶은 질'도 있었지. 나는 내 질이 마음에 들어서 나한테 한표ㅋㅋㅋㅋ 지금 당장 할수있는 무엇을 하겠다라고 답하는 사람에게 점수를 줄 생각이었음. 계획을 세워서 무엇부터 하겠다라고 하는 사람은 많겠지만(아마?) 지금 내가 할수 있는 일을 시작하는 것이 중요함을 아는 사람은 많지 않을거라고 생각해서......
          * 개발자로서 나가는 진로에 대해서 알게됐다는 점이 은근히 크게 도움이 됐습니다. 이미 알고있는 사실이라고 생각했던 것이 다르기 때에 얻어가는 것이 많았던 것 같습니다. 그리고 개발자로서의 자세 정체되지 않은, 인간관계. 그런 것에 대해 배운 다는 것이 매우 큰 장점이었던것 같습니다. 데블스캠프 첫날 첫 시간에 맞는 개론적인 내용이었던 것 같습니다.
          * 좀 더 나은 사람을 뽑기 위해서 어떤 질을 하면 좋을 것인가 하는 부분에서 질들을 보면서 지금의 나는 저 질들에 대답했을 때 나은 사람일까 아닐까 하는 생각이 들었습니다. 경험을 많이 쌓아서 괜찮은 대답을 할 수 있는 정도가 될 수 있으면 좋겠다는 생각이 듭니다. 하지만 신입사원은 어차피 처음에는 다 쓸만한 수준이 안된다는 사실은 믿을 수가 없을 정도 -_- 틀림없이 다들 잘할 것 같은데...
          * 개발자 인생말고도 다른 범위에도 포함되는 질입니다. 나와 일할수 있는사람. 내가 일하고싶은사람. 내가 생각하는 일 잘하는사람. 이 부분에 대해 생각해보게되었습니다. 질들이 한번쯤 들어봤지만 정말 필요했다고 생각되네요.
          * 발전하는 개발자가 되어야하는데 발전하는 척만 하는 것 같아 뜨끔. 준비할 시간이 거의 없었는데 잘 진행해줘서 고마워요. 어떤 기술적인 것을 배우는 시간은 아니었지만 중요한 얘기였다고 생각합니다. 듣고 그렇구나 하고 끝나는 것이 아니라 자신이 만들었던 질에 좋은 답을 할 수 있는 사람이 되도록 저도, 다른분들도 노력할 수 있는 기회가 되길 바랍니다.
          * Play with Java에서는 1학년 때 승한이형이 여러 사람들이 함께 프로젝트를 진행할 때 누군가 어느 부분을 수정했는지 알 수 있게 해 주는 부분이 있다고 하셨었는데, 그걸 전역하고 나서야 다뤄보네요 -ㅅ-;; 쩝... 아무튼 간단한 프로그램을 만드는 것이라 재미있게 사용법도 익히고 좋았습니다. 자주 써 먹어야겠네요. ㅋ~
          * 2009년에 Java와 JUnitTest를 주제로 진행했을 때 실습 미션을 잘못 준비해오고 시간이 많이 비었던 뼈아픈 기억 때에 시간이 부족했음에도 불구하고 나름 신경을 많이 썼던 섹션이었는데 오히려 타임오버가 되었네요;; 프로그래밍보다 수학 시간이 되었던거 같은 실습시간.. (그래서 처음에 겉넓이를 뺐던 것이었는데 팀이 많아서 추가하고 으헝헝) 그리고 다들 프로그래밍을 잘해서 '''Unit Test를 굳이 하지 않아도 버그가 없었던''' 프로그램을 완성하는 바람에.. Unit Test의 필요성을 많이 체감하지 못한것 같아서 좀 아쉬웠어요. 역시 '''적절한 예제'''를 만들기는 어려운것 같아요.
          * java를 이번학기에 수강을 하였기 때에 어느정도 자신이 있었습니다만, 지원누나의 설명을 들으면서 역시 알아야 할것은 많구나 라는 생각이 들었습니다. 특히 SVN을 사용한 커밋과 JUnit은 팀플할때에도 많은 도움이 될 것 같아 좀더 공부해 보고 싶어졌습니다. 저번 java팀플때는 Github을 사용했었는데 SVN과 무슨 차이점이 있는지도 궁금해 졌구요. JUnit Test는 제가 실제로 프로그래밍 하면서 사용하였던 원시적인 test와 많은 차이가 있어서 이해하기 힘들었지만 이 또한 더 사용하기 좋은 기능인것 같아 점 더 공부해 봐야겠습니다.
          * 코드 중심의 팀프로젝트 경험이 없어서 SVN을 쓰게 된지 얼마 안됐는데. 참 유용한듯 싶습니다. 둘이서 할때는 커밋이나 업데이트에 제가 거의 없었는데, 규모가 커지면 심각한 제를 야기할 수 있다는 사실을 알게 됐습니다..-_-;; JUnit도 유익한 시간이었습니다. 테스트 기법에 대해서는 더 공부를 해봐야겠지만. 극히 일부분의 테스트케이스를 직접 입력한다는 점에는 조금 의이 있었습니다.. 대량의 테스트케이스를 자동으로 생성하는 부분에 관심이 가네요. 또 저는 메인으로 실행하지 않아도 된다는 점보다 서화가 용이하다는데에 느낌이 확 오더군요. 유효한 테스트케이스가 축적될수록 유지보수하는데 도움이 될테니까요.
          * 새내기들과 tool을 접해보지 않은 학생들이 듣기에 적합했던 세미나였다고 생각합니다. 새내기에게는 C가 아닌 언어의 법을, 다른 학생들에게는 JUnit과 Subversion실습을 할 수 있었던게 좋았습니다. 개인적으로는 태진이와 PP를 해서 좋았습니다. 그리고 농담식으로 나왔던 "선 커밋을 해라." 라는 말이 정말 인상이 깊었습니다. 왜일까요. 이 말을 들었을 때 '신뢰를 보낸다'는 메시지처럼 느껴지기도 하고, '내 책임은 아니야'라는 메시지처럼 느껴지기도 했습니다. VCS을 사용하다보면 '커밋분쟁, 커밋갈등'이 일어날 수 있다는 걸 깨닫게 되기도 했습니다.
          * 새내기들이 자바를 맛볼 수 있는 좋은 기회였는데 막상 1학년들이 별로 없어서 아쉬웠습니다. 저 개인적으로는 다시 새내기가 된 느낌으로 차근차근 자바 코드를 작성해보는 것이 재미있었습니다. 성현이네랑 충돌나면서 역시 형상관리 툴을 실제 팀 단위로 사용하려면 형상관리를 위한 규칙을 확실히 정하고 사용해야 제가 덜하겠다는 생각이 들었습니다.
          * Playing with Java시간에는 지금까지 한번도 써보지 못했던 이클립스를 써봤는데 아직은 법을 잘 몰라서 약간 생소했지만 좋은 경험이었다고 생각합니다. 또 처음으로 여러 팀에서 각자 담당한 프로그램들을 짜서 그 다음에 붙여보는 활동을 했는데 재미있고 새로운 시간이었습니다.
  • 서버재조립토론 . . . . 38 matches
         [정모]때 서버 재 조립에 대한 이야기가 나왔다는 이야기를 회장님을 통해 들었습니다. 일단 제가 회의에 참석하지 못하고 회의록이 올라온 것도 아니므로 어떻게 해서 서버 재조립 이야기가 나왔는지 알고 싶습니다. 일단 제 생각은 굉장히 부정적인데요. 서버가 하는 일이 거의 웹서버 내지는 소스 리파지터리로 사용되고, 대규모 소스를 컴파일한다거나 덩치가 큰 프로그램이 돌아가는것도 아니기 때입니다. 게다가 동시접속 사용자수로 많지 않은걸로 알고있는데요. (물론 이런것들은 이제부터 하기 위해 하나 새로 맞춘다!! 면 할말 없지만..) 이 상황에서 굳이 새로 서버를 맞추는게 필요할지... [임인택]
         네 충분히 그렇게 생각 하실수 있다고 생각합니다. 현재로서 서버가 하는일이 웹서버및 소스 Repository 로서의 역할이니깐요. 그리고 마지막에 프로젝트 때에 필요할 경우에 나 새로 맞출 필요가 있다고 하신 말씀도 동감합니다. 현재 한 3주 동안 제로페이지 서버가 제대로 작동하지 않았습니다. 제로페이지 서버를 아주 자주 이용하는 입장에서는 많이 제로페이지 서버에 들어가니깐 서버가 죽어 있어서 여러가지로 불편했고, 현재 제로페이지 서버와 연계해서 돌아가는 위키 포탈을 운영 및 관리하는 입장에서는 치명적이었습니다. 제로페이지 회원들이야 안면이 있으니깐 이해해 주겠거나 좀 불편하고 말겠지 하고 생각하실수도 있지만, 위키 포탈 서비스가 우리 학회에서 제공을 해주는 서비스지만 외부에서 이용하는 사용자도 꽤 있었는데 왠만한 사용자들은 다 빠져 나간듯 하네요.. 그래서 지금은 급한게 다른 서버에서의 DB 지연을 기다리는 시간을 원래 1분에서 3초로 줄여서 그나마 임시 방편으로 수습을 했습니다. 또 프로젝트 진행을 하는데에도 제로페이지 서버가 자주 죽어서 진행을 제대로 할 수가 없었습니다.
          제로페이지 서버가 현재 분명 제가 있고, 이것을 해결해야 한다는데에는(즉 좀 가끔가다가 죽으면 뭐 어때 하는 분은 없을거라고 생각합니다.) 모두 동감 하실거라고 생각합니다. 현재 제로페이지 서버가 아주 자주 죽는 제가 제로페이지 서버의 하드웨어 적인 제인가, 소프트웨어 적인 제인가, 인프라적인 제인가 이 3가지중 하나라고 생각합니다. 인프라적인 제는 다른 학회나, 동서버도 안 죽고 하니깐 제외 하겠습니다. 그러면 하드웨어 아니면 소프트웨어 적인 제인데. 솔직히 저는 리눅스가 오래 사용해서 자주 뻗는다는 것은 좀 이해가 가지 않습니다. 리눅스를 서버로 우리보다 훨씬 오래 사용하는 곳도 부지 기수일텐데 그런곳들이 모두 이런 제를 겪고 있을까요.. 그렇다고 지금까지 관리가 안되서 그런것도 아니라고 생각합니다. 상민형, 석천이형, 영창이 모두 제가 생각하기에는 그 누구보다도 서버 관리를 잘 했다고 생각합니다. 물론 테스트를 해봐야 알 제입니다. 오늘 회장님이 테스트 해본다고 했는데 가끔씩 서버가 죽는 제를 어떻게 테스트를 해야할지 전 감이 안 오네요. 한 일주일정도 제로페이지 서버를 죽이고 다른것(다른 하드에) 웹서버를 깔아서 아주 아주 수시로(몇분 단위로) 그 웹서버로 들어와서 죽었는지 확인을 해야 하는데(물론 테스트는 테스트를 진행하는 한두사람만 하겠죠. 현재의 제로페이지 위키만 해도 하루 방자가 1000이 넘는것에 비해서...)그게 참 어려운 제라고 생각합니다. 또 한 일주일동안 서버를 죽이는것도 현재 위키위주로 돌아가는 제로페이지에도 치명적이구요. 이렇게 테스트를 해서 만약 하드웨어 적인 것이 제라면 또 다시 서버를 업그레이드 한다음에 다시 서버를 설치하는 작업을 해야겠죠.
          즉 제가 서버업그레이드를 제안하는것은 하드웨어적인 제나 소프트웨어적인 제를 동시에 해결하고자 제안한 것입니다. 위와 같은 테스트를 할경우 그에 따른 희생및 서버 관리자의 불필요한 수고가 필요합니다. 그리고 학회 운영 및 프로젝트에서도 많은 희생이 따름니다. 그리고 위와 같은 테스트도 확실한 방법은 아니구요, 여전히 불확실성을 내포한 방법입니다.
          만약 서버를 업그레이드 하려면 회비로 할텐데(피시실 관리비로 받은) 제가 생각하기에 MT나 회식때 회비를 사용하는것도 좋지만 이렇게 제로페이지가 실질적으로 프로젝트를 하는데 많은 장애가 생기는 상황을 타개하는데 사용하는것도 참 회비를 유용하게 사용하는게 아닐까 생각합니다.(그래서 우리가 MT나 회식도 사비를 더 내더라도,,) 글을 쓰면서도 불안 하네요. 어제도 글을 쓰고 나서 저장했을때 여러번 서버가 죽어서...
          결론은 저는 서버가 자주 죽는 제의 해결책으로 서버 업그레이드를 제안합니다.(만약 다른식으로라도 서버의 빈번한 죽음을 막을수만 있다면 좋겠죠. 최소의 희생으로..) - [(namsang)]
          저는 업그레이드가 필요하다고 생각합니다. 서버의 핵심은 안정성인데, 지금의 서버는 안타깝게도 그 역활을 제대로 수행해주지 못하고 있기때입니다. 서버 업그레이드 시도를 하게되면, 이전의 컴퓨터에 제가 없다고 판단될 경우 새서버의 보조 역활과 리눅스 테스트용 서버로 사용해도 큰 제가 없다고 생각합니다.^^ 속도 측면에서는 현재의 서버도 전혀 제가 없지만, 안정성이 낮은점은 이용자의 입장에서 불편하다고 느낄 수 밖에 없기 때입니다.(실제로 많이 불편했답니다.ㅠ.ㅜ 꼭 필요할때만 죽어있어요..) - [조현태]
          흠.. 저로서는 그다지~ -_-; 안정성이라는 것이 하드웨어적 안정성의 제라면 모르겠지만.. 현재 서버의 잦은 다운 or 리부트는 하드웨어적인 제로 보이지 않네요. 리눅스 설정 때인 것 같은데... 좀더 지켜보는 일이 필요 할 듯합니다. 돈이 남는다면 적당히 램정도는 올리는 것이 좋겠지만.. 전체 서버를 재 조립하는건 좀 낭비같기도 하네요.
  • 시간관리인생관리/요약 . . . . 38 matches
          || 좋은 시스템이 있지만, || 시스템이 없거나 나쁜 시스템을 사용한다. ||
          * 바쁜 상태는 종종 보다 중요하고 도전적인 제들로 다루지는 않으려는 상태이다.
          * 목록에 있는 항목에 대해서, 당신의 시간 중에서 대략 몇 퍼센트를 그것에 사용하는지 적어보아라. 모두 합쳐서 100이 되도록 하라
          ==== '''우선순위'''는 '''중요성'''보다 '''긴급성'''에 바탕을 할때 사용해라. ====
          * '''꼭 해야할일 A''', '''해야할일 B''', '''하면 좋은일 C'''을 사용해 우선순위를 정해라.
          * 과거에 겪은 경험에 바탕해서 가능한 정직하게 이 질에 답하고 목록을 보라. - 실제로 할것 같은가? 100% 60% 20%
          * 항목들의 숫자를 파악하라. 50개의 항목에서 40%가 1주일에 할것 같으면 수행할 항목은 20개가 될것이다.
          ==== '''바로 지금하기'''는 미리 정해진 과업이나 일상적인 것들을 할 때 길을 잡기 위해 사용하라. ====
          ==== 제가 발생하면 '''왜''' 그런 제가 발생했는지 아는대 관심을 집중하라. ====
          * <!> '''연습 : 지난주에 당신이 계획한 그 모든 모임에 당신이 사용한 시간의 합계를 계산해 보라.'''
          * 모임에 준비하고, 모임에 참석하러 가고, 회복하는데 사용한 모든 시간을 포함시켜라.
          * 우리가 안고 있는 제 하나는 깊이 대신에 넓이를 추구한다는 점이다. 점점 더 '''많은''' 것을 점점 더 '''엷게''' 추구하는 경향이 있다.
          * 진지하게 생각해야 하지만 하지 못한 어떤 제를 선정하고, 집중적으로 생각하라. 중요한 것은 그동안 집중적으로 생각하지 않은것이면 좋다.
          * 그 제에 대하여 5분동안 쉬지 않고 적어라. 돌아가서 검토하지 말고, 구두점 철자도 신경쓰지 말고 적어라.
          ==== 당신이 작업하는 각각의 프로젝트에 점검표를 사용하라. ====
          ==== 표준적인 분출 기간을 사용하는 실험 ====
          * 그리고, 5가지가 끝났다면, 나머지 15개의 항목을 다시 100안에 각 7분씩
          ==== 반으로 나누기 방법을 사용해 ====
          제품 주하기
          * 현재 : 이 사업을 하고 있기 때에 '''행동하는''' 것이다. 일상의 수많은 사안들을 다룬다.
  • 2011년독서모임 . . . . 37 matches
          * '''책에 대해..''' 무대 위의 프리마돈나 마리아 칼라스.. 하지만 그녀의 어렸을적 환경을 돌아보면 재능이 있어 노래를 시키려고 했던 독한 엄마, 자신 때에 인생을 포기해야만 했던 언니, 타국에서 달달이 돈을 보내주고 온 정성을 쏟았지만 가족들을 버렸다고 오해받은 아버지... 이런 환경에서 자라면서 친구 하나 사귀지 못하고 폭식증에 걸리며, 못생긴 얼굴 때에 외톨이여야만 했다. 죽는 순간까지 그녀는 외로운 영혼이었고, 오직 무대에서 가장 크게 빛났다.
          * 어렸을 때는 말도 어렵고, 내용 자체가 이게 뭔 말인지 이해가 안갔었다. 지금은 인간으로서 선한 쪽 일만 할 수 없기 때에 선+악이 공존하는 압락사스가 등장했다는 것과, 어려워질 때마다 등장하여 이끌어준 데미안이라는 존재에 가까워져가는 싱클레어의 성장기라는 것은 이해가 간다. 하지만 싱클레어의 내면 중에 데미안의 어머님을 엄마 혹은 연인으로 동일시하는 것과 데미안이 프란츠 크로머로부터 구해줘도 고마워하지 않는 것은 이해가 가지 않는다. 나중에 한번 더 읽어야 할 필요성을 느꼈다. '''이해가 안갔던 영화'''에 대해서도 이야기를 나눴는데 내가 생각한 것은 [http://movie.naver.com/movie/bi/mi/basic.nhn?code=17368#story 마법의 빗자루]였다. 편지를 받아가며 공부했던 견습 마녀 1명 외에 다른 사람들은 편지를 보낸 사람이 사기꾼인지 인식 못했다던지, 사기꾼이었던 브라운 교수가 가진 나머지 반의 책을 찾기 위해 시장에 갔다가 그 책을 노리는 또 다른 무리를 만났는데 어느 순간 안보인다던지, 마법의 주을 찾기 위해 애니메이션 세계로 갔는데 그 곳에서 가져온 물건은 사라진다던지, 사물을 움직이는 마법 주을 공부하려던 이유가 전쟁에 도움이 되기 위해서이었다는 사실이라던지 무언가 내용 구성 측면에서 허술하고 이해 안가는 전개가 많았다. 하지만 침대를 통해 원하는 장소로 이동이 가능하고, 사물을 움직이고, 토끼로 변하는 등 어렸을 때 가족끼리 보기에는 좋았다.
          * 이와 관련해서 외국 음악이랑 외국 영화에 나오는 한국에 대해 찾아보려 했는데요,, 급 귀차니즘 때에 외국 음악에 나오는 한국 관련된 것만 찾았다는...; 뭐,, 그래서 찾은 것이 Gary Moore의 Murder in the skies 라는 노래인데, 이 노래는 1983년 9월 1일에 뉴욕에서 출발한 한국행 비행기가 소련의 영공에 침범 했나(? -_-;; 죄송;;) 그래서 소련의 전투기가 Kal기를 격추시키는 일이 발생하였는데, 그것을 내용으로 소련의 만행으로 무고한 사람들이 죽음을 당했다는 것을 비판한 노래라 소개 했었고, 또 하나 찾아봤었던게 Deftones의 Korea라는 노래인데... 알고보니까 그냥 노래 내용이 어떤 소녀에 대한 이야기인데 그 소녀의 이름이 한국인 성과 비슷해서 그냥 그렇게 썻다고 해서 패스했습니다.
          * 이상한 나라의 앨리스의 2부라고 말은 많이 들었는데, 실제로 읽어본 건 이번이 처음이었어요. 내용이 이어지는 건 아니고, 그냥 처음과 끝의 구성이 비슷하고 앨리스가 등장한다는 것 외에는 없는 듯 합니다. 앨리스는 7살 하고도 6개월인 호기심이 왕성한 나이여서 그런지 모든 것을 신기한 관점에서 바라봅니다. 거울 건너편은 이쪽세계와 비슷한듯 하지만 좌우가 뒤바뀌었고, 실제로 안 보이는 부분은 이쪽세계와 다를지도 몰라! 라고 생각하고, 거울 건너편 세계를 구경하고 싶어 합니다. 그래서 손을 댓는데, 어느 순간 건너편 세계로 넘어옵니다. 거울에 비치지 않았던 부분은 과연 색다른 모양을 하고 있었고, 조그만 체스 왕과 여왕이 움직이는 것이 보여, 말을 걸지만 앨리스를 보지도 듣지도 못합니다. 밖을 나와 언덕에 가려하는데 아무리 이동해도 제자리로 돌아와 있어, 반대로 이동하니 언덕으로 이동하는 것은 거울이 반대편이라 그런듯 합니다. 곤충에게 이름이 붙여있는 이유는 사람들이 부르기 편한게 아니라, 실제로 이름을 불러주면 대답을 해올거라 조언해주는 모기나, 땅 침대가 푹신하지 않고 딱딱하기 때에 꽃들이 잠들지 않고 재잘재잘 말을 할 수 있게 되었다던지, 체스 사람들이 밖에서 앨리스만큼 커진 이유는 밖이 탁하지 않기 때이라던지 독특한 관점이 많습니다. 앨리스의 이동은 체스 말의 이동에 비유되어 처음에는 졸로서 한 칸씩 이동하다가 여왕을 잡고 잠이 깹니다. 초반에 잠을 자고 있던 왕 체스 말이 꾼 꿈인지, 아니면 앨리스가 꾼 꿈인지 묻는 질과 함께 이야기가 끝납니다.
          * 매----우 유명하고 대중적이며 영화화에 게임도 나온 해리포터 시리즈입니다. 호그와트라는 미지의 세계는 아니지만 아무나 갈 수 없는 곳으로 가서 마법을 공부하고 경기를 하고 시험도 보고 싸움도 합니다. 해리포터가 재미있었던 이유는 예상치 못한 곳에서 일어난 반전 때이었습니다. (가장 멍청해보인 허당 퀴렐 교수가 볼드모트의 심복이었고 알고 보니 론의 동생 지니가 낚였고 톰 마볼로 리들은 볼드모트의 리즈시절이었고 희대의 악당인줄 알았던 시리우스 블랙은 해리포터 아빠친구이자 그의 대부였다는 사실, 우승컵은 알고보니 포트키 등등...) 다른 학우들도 동의했지만 해리포터는 후반부로 갈수록 조앤 롤링 아주머니의 기대치에 대한 부담감 때인지 재미가 없어집니다. 극적인 요소를 더하려고 각 편에 한명씩 죽고 (5편 시리우스, 6편 덤블도어) 반전도 이젠 그런가보다 해집니다. 가장 재밌던건 역시 1~3편이었던거 같아요.
          * 판타지 세계는 아니지만 판타지적인 요소가 들어간 영화에 대해 많이 언급해보았습니다. 내니 맥피-우리 유모는 마법사.가 그 중 하나였습니다.(자세한 얘기는 생략하도록 하겠음) 중간고사까지 잠시 책모임을 쉬기로 했는데 아직 주제를 정하지 못했..으나 결국은 중간고사 끝난 기념으로 '자유주제'로 하기로 했습니다. '판타지'적인 요소를 담은건 많지만 배경, 세계까지 판타지로 만들어진 작품은 상대적으로 많지 않습니다. 새로운 세계를 작가가 직접 만들어야 하기 때이 아닐까요.. 판타지 작품이 나오는 이유는 사람들의 대리만족 때이라고 생각합니다. 하지만 현실은 시궁창..ㅠㅠ
          * 아버지께서 주신 책이었고 류시화 작가님의 10년간 인도 생활에 대해 이런저런 에피소드와 자신의 느낌 위주로 쓴 에세이 책입니다. 방글라데시에서의 경험이 새록새록 기억이 남기도 하고, 아시아인이지만 우리 나라를 비롯한 다른 민족들과는 너무 다른 그들의 화, 사고 방식, 마음 가짐을 볼 수 있었던 책이었습니다.
          * GO라는 책은 전에 순의 선배님이 읽었을 때 표지가 아기자기해서 관심을 가지고 있던 것을, 이번에 기회가 되어 읽었습니다. 언뜻 들었을 때, 여주인공한테 사실을 밝히면서 비극적으로 이야기가 끝나는 줄 알았는데, 책에서는 재일 한국인인 주인공이 사랑을 쟁취하는 내용입니다. 조선 국적을 가지고 있던 주인공 가족이었지만, 어머니의 하와이에 가고 싶다는 권유를 못이겨 아버지와 주인공 둘다 한국으로 국적을 바꿉니다. 돈만 있다면 국적도 바꿀 수 있다는 사실에 주인공은 묘한 기분을 느낍니다. 중학교까지 조선학교를 다니다가 고등학교는 일본쪽의 학교를 갔지만, 밝히지 않아도 출석부에 출신 중학교가 써있어서 차별을 당합니다. 아버지한테 배운 권투로 덤벼오는 사람들을 족족 패고 다니는 등 험하게 살다가, 누군가의 생일파티에서 운명의 상대를 만납니다. 그 여주인공와 서로 성만 밝히고, 서로의 취미를 공유하며 연애를 하다가, 일을 치르기 전(?)에 자신의 국적이 한국이라는 사실을 밝힙니다. 여주인공은 어려서부터 한국인과 중국인은 피가 더러우니 사귀지마라는 소리를 들어왔는데, 이를 어디까지를 선조로 보느냐에 따라 다르다고 설득을 합니다. 조상을 거슬러 올라가다보면 결국 한 사람이 나오며, 여주인공도 일본 토착민은 술을 잘마시는데, 여주인공의 가족이 술을 못 마시는 이유는 중국에서 유입된 사람들이기 때이다라 주장합니다. 여주인공은 그 동안의 주입된 지식으로 처음에는 거부를 하지만, 한 두달의 시간이 흐르고 남주인공한테 전화를 하여 사랑이 이루어집니다.
          * 뭔가 길게 얘기했지만 그냥 사랑이야기입니다. 곁가지로 국적 제, 차별 제 등이 언급됬지만 제 눈에는 염장만이 들어왔습니다 ㅠ.ㅠ 으헝 이 주인공들 막 여친 집에서 그렇고 그런 짓 해대요. 서로 꺄르르~거리는 무언가 형성이 되어있습니다. 아.. 읽으면서 표지만큼 아기자기하지만 오글오글함을 느겼어요. 이번 책 모임에 늦어서 죄송합니다ㅠㅠ 2주 째 뭔가 SE 팀플이 흐지부지되면서, 마음이 급했습니다. 팀원이 4명밖에 안 되는데도 약속시간을 잡기가 힘든 거 같아요 ㅠㅠ 서로 너무 시간이 안 맞는 사람끼리 만났나봐요 흑...ㅠㅠ 그래도 이번에 간신히 모여서 다음에 만날 시간을 구체적으로 정해서, 다음 모임에 피해를 끼치는 일이 없을거여요 /ㅁ/! 2주 뒤에 뵈요~.
          * 저번 독서 모임 때 송지원 학우가 읽었던 책을 읽게 되었는데, 읽으면 읽을수록 서로의 화에서 가지고 있는 가치관이 다르다 보니 어떻게 생각하면 어이가 없는 논리를, 그러면서도 참 배울게 많은 논리들이 있는 것을 볼 수 있었습니다. 이 책에는 류시화 작가가 인도에 가서 대한민국이라는 사회에서 일반적으로 통용되는 가치관이랑 인도라는 사회에서 일반적으로 통용되는 가치관의 차이로 인한 에피소드가 많았는데 만약 인도인이 대한민국에 와서 그들이 가지고 있는 철학을 가지고 이야기 하려면 류시화 작가가 인도에서 겪었던 것과 같은 에피소드들이 책으로 나오지 않을까 라는 생각도 하게 되었습니다.
          * 저번 주에 송지원 학우가 일고 난 감상을 이야기 해 줄 때랑 제가 읽으면서 느낀 점을 말하는 것을 보다 보니 서로가 가지는 관점에 따라서 같은 책이 다른 의미를 가지는 것을 알 수 있었습니다. 꼭 조선일보와 한겨래 신이 같은 사건을 가지고 서로 다른 관점으로 기사를 내는 것이 생각이 나기도 했습니다.
          * 소현 학우가 살포시 저의 사물함에 넣어준*-_-* '선물'이라는 책을 읽었습니다. '누가 내 치즈를 옮겼을까'의 스펜서존슨이라는 유명한 작가분이 쓴 책이고 많이 알려진 도서였기 때에 기대하면서 읽었습니다. 선물에서는 크게 4가지를 주장합니다. '''현재에 몰두하라''', '''과거에 얽매이지 않되, 실수를 되풀이하지 말고 과거를 교훈삼아 현재를 발전시켜라''', '''미래에 대해 두려워하지 말라. 그러나 미래에 대한 계획을 세워야 한다''', '''소명을 가져라'''. 어찌 보면 당연한 이야기이고 어찌 보면 우리가 살면서 놓치기 쉬운 일입니다. 저 4가지를 깨달은 것만으로 모든 일이 잘 풀리는양 표현된 책은 조금 아쉬운 면이 있었습니다. 사람에겐 참으로 제어하기가 힘든 감정이라는 것도 있고 힘들고 지침이라는것도 있는데 말이지요. 하지만 '선물'을 읽으면서 저는 (과거 회상을 많이 하고 미래 걱정을 많이 하는 편이라) 다시 한번 현재에 몰두해야 함을 느꼈고 최근 취업 준비중인데 제가 하고 싶은 분야, 잘 할 것 같은 분야를 어렴풋이 찾아서 이런저런 생각이 많이 들었습니다. 기분도 좋았구요*-_-*
          * 이 책은 고구려 15대 왕인 미천왕에 대한 이야기입니다. 사실을 기반으로 약간의 픽션이 섞여 있는 이야기였습니다. 처음에 책을 주해서 받았을 때 '미천왕편'이라고 써 있어서 뭔가 했었는데, 맨 마지막에 뭔가 여운을 남기고 끝나서 이상하단 느낌을 받고 찾아보니, 총 13권으로 만들 계획인 대하소설이었던......;;; 뭐 계속 읽을 거리가 생겨 좋긴 합니다만....
          * 제가 정한 주제이지만, 최근에는 주로 인터넷과 함께 하기 때에 취미다운 취미를 찾기가 힘들었습니다. 그러다가 서핑을 제외하고 그나마 오래 한 활동으로 수집이 떠올랐습니다. 수집이야기는 3장에 걸쳐서 구성되어있습니다. 1장에서는 가난한 자의 변으로 부자라고 해서 좋은 수집을 할 수 있는게 아니고, 가난하지만 훌륭한 안목이 있어 물건을 구할 수 있다고 합니다. 2장에서는 물건들 중 인상깊게 모았던 물건에 대한 에피소드를 다루고 있습니다. 너무도 구하고 싶지만, 구하기 힘들었던 물건이 인연이 닿아 자연스레 제 손에 들어오는 것이 참 인상깊었습니다. 3부에서는 어떤 불상을 발견하면서 불상을 만든 제작자의 여행지를 보면서 흔적을 쫓아가는 이야기입니다. 일기장을 분석하여 3일 이상이라도 머물렀던 곳에는 그 사람의 작품이 있다고 분석하고, 찾아다니는 내용에 저도 같이 보물찾기를 하는 기분이 들었습니다.
          * [강소현] - 자존감은 열등감에 대한 예시 : 극복 방안 = 4 : 1 로 구성되어있는 책입니다. 앞의 예시들을 보면서 공감+우울함을 느끼다가 극복 방안을 보면서 그냥 그렇구나하고 넘어가게 됩니다. 방법은 결국 상담을 통해 원인을 되집어보고, 그것을 인정하는 것이더라구요. 근데, 이게 또 쉽지 않은게 제가 한번 생각을 시작하면 되씹으면서 무한 땅파기 스킬을 시전하기 때에ㅠㅠ 칭찬은 칭찬으로, 조언은 조언으로 듣는 날이 언젠가 오겠지요 ~ㅁ~ 중요한 건 역시 사람과의 대화인듯 싶습니다. 인터넷은 그런 점에서 그닥 좋은 방안이 되지 못하지요. 방학동안 미쿡물 먹으며(!) 평안이나 되찾아야겠습니다ㅎㅎ 3-1학기가 사람을 많이 폐인으로 만들었어요 ㅋㅋ 고3 때 이후로 이리 부정적인 마인드가 커지게 만들다니 역시...으으.. 3-2학기가 걱정되네요 ㅠㅠ
          * 3학년이 정말 힘든 시기랍니다ㅠㅠㅠ 잘 극복하기 바라구 어려운 일 있으면 얘기해주길 (도움이 별로 안되서 제인가...) - [지원]
          * [구자경] - 인상깊었던 구절로 대신할게요. "인간은 왜 두 다리로 서서 걷는 것일까? 멀어져 가는 친구의 척척 걸어가는 다리를 보며 너무나도 당연한 것에 의이 일었다. 걷는다는 건 정말로 대단한 일입니다." 너, 외롭구나랑 엄마를 부탁해는 방학 끝나기 전에 꼭 읽어야 겠다는 생각을 했습니다 ㅋㅋ
          * 왁스 - 황혼의 턱 이라는 노래도 노래로서는 저한테 감동류 甲인거 같네요 'ㅅ'
          * 후기 : 청소년들의 감성으로 감상하기에 좋은 연애 소설이었습니다. 이런 소설에 감동을 느끼지 못하는걸 보면 전 이미 지나친 현실주의자인가 봅니다-_-;; 서로의 감동 코드에 공유하는 시간이 있었는데 저는 역시 식상하고 뻔하더라도 '부모님' 코드였어요. 엄마를 부탁해가 그저 신파극이라고 느끼면서도 눈물을 흘린 이유는 그 때이었던 것 같습니다. 나이를 먹을 수록 감동에 대한 내성이 생기는것 같아 그건 좀 슬펐어요.
          * [권순의] - '''나의 화유산답사기'''
  • 2thPCinCAUCSE . . . . 37 matches
          * 사용언어: C/C++ with Visual C++ 6.0
          * 제 성격: 국내 대학생 프로그램 경진 대회의 제 출제 경향을 따른다. 2002년도 제 샘플( http://cs.kaist.ac.kr/~acmicpc/problem.html see also ["2002년도ACM제샘플풀이"] 참조)
          * 휴대폰, 인터넷 사용 금지
          * 개인 디스켓, CD 등 휴대 금지. 디스켓은 나눠준 것만 사용.
          * 경시 3시간에 3제가 출제된다. (open book, closed internet)
          * 팀은 한 제에 대해 소스코드가 완성되면 디스켓에 담아 채점 팀에 제출한다.
          * 그 제에 대해서 준비된 테스트 데이타( 보통 5-10개)에 대해서 모두 맞는 답을 내야 그 제를 맞춘 것으로 한다.
          * 프로그램의 실행시간이 일정시간(예: 10초)을 지나도 끝나지 않을 경우 틀린 제가 됩니다.
          * 컴파일 error, 실행 시간 error , 출력 포맷이 제에서 정한 것과 다른 경우에도 틀림.
          * 틀린 제는 다시 제출할 수 있다.
          * 맞춘 제에 대해서는 경시 시작부터 제를 제출한 시각까지 시간을 분으로 환산한 것이 점수로 주어진다. (따라서 점수가 적을수록 유리) 그리고 여기에 penalty 점수를 합산한 것이 그 제의 최종 점수가 된다. 예를 들어, 어떤 한 제에 대해서 다섯 번째 제출을 시작후 1시간 20분에 하여 맞추면, 지나간 시간이 80분이므로 80점, 네 번째까지는 틀렸으므로 4번*10점=40점이 penalty, 최종 점수는 120점이 된다.
          * 경시 후에도 못 맞춘 제는 점수가 없다.
          * 각 팀의 최종 성적은 맞춘 제 수와 점수 합이 된다.
          * 순위는 맞춘 제의 수가 많을수록 상위, 같은 수의 제를 풀면 빨리 푼 팀 (즉, 점수 합이 적은 팀)이 순위에 유리합니다.
          1. 각 제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산한 후 반드시 출력을 한다. 이때, 입출력은 표준입출력만 사용한다. 파일 입출력을 쓰면 안됨.
          4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 팀의 컴퓨터에서 실행한다. 이점을 유의할 것. 즉, 자기 컴퓨터에만 있는 특수한 기능을 사용하게 되면, 채점 팀 컴퓨터에서는 안 돌아 갈 수 있음.
          6. 모든 제는 숫자, 영어 자들을 입력으로 받아서, 역시 숫자나 영어 자를 출력하도록 되어 있다. 그래픽 출력은 없음.
         === 제 ===
          * ["2thPCinCAUCSE/ProblemA"] - A번 제 "성냥개비로 삼각형 만들기"
          * ["2thPCinCAUCSE/ProblemB"] - B번 제 "촌수 계산하기"
  • MoreEffectiveC++/Operator . . . . 37 matches
          * Item 5: 사용자 정의 형변환(conversion) 함수에 주의하라!
          * C++는 타입간의 암시적 type casting을 허용한다. 이건 C의 유산인데 예를 들자면 '''char'''과 '''int''' 에서 '''short'''과 '''double''' 들이 아무런 제없이 바뀌어 진다. 그런데 C++는 이것 보다 한수 더떠서 type casting시에 자료를 잃어 버리게 되는 int에서 short과 dougle에서 char의 변환까지 허용한다.[[BR]]
         참 괜찮은 방법이다. 하지만 이 방법은 개발자가 의도하지 않은 형변환마져 시키는 것때제가 발생한다. 다음을 보자
         뭐 이런 암시적 형변환을 막을려면, 형전환 시키고 하는 암시적 사용을 하지 않고, 다른 함수로 명시적으로 해 줄수 있다.
          * '''''single-argument constructor''''' 는 더 어려운 제를 제공한다. 게다가 이제들은 암시적 형변환 보다 더 많은 부분을 차지하는 암시적 형변환에서 제가 발생된다.
         7줄 ''if ( a == b[i] )'' 부분의 코드에서 프로그래머는 자신의 의도와는 다른 코드를 작성했다. 이런 법 잘못은 당연히! 컴파일러가 알려줘야 개발자의 시간을 아낄수 있으리, 하지만 이런 예제가 꼭 그렇지만은 않다. 이 코드는 컴파일러 입장에서 보면 옳은 코드가 될수 있는 것이다. 바로 Array class에서 정의 하고 있는 '''''single-argument constructor''''' 에 의하여 컴파일시 이런 코드로의 변환의 가능성이 있다.
         '''b[i]''' 는 int형을 반환하기 때에 이렇게 즉석에서 맞춤 생성자로 type casting(형변환)을 컴파일러가 암시적으로 해줄수 있다. 이제 사태의 심각성을 알겠는가?
         이런 애매한 상황을 피할수 있는 가장 효과적인 방법은 C++에서 등장한 새로운 키워드인 '''explicit''' 의 사용이다. 이 키워드가 붙은 생성자로의 형변환에서는 반드시 명시적인 선언이 있어야 가능하다. 즉 위의 코드를 다시 작성하여 '''explicit'''의 사용을 알아보고 법상 유의 사항도 알아 보자
          // 하지만 다른 개발자가 해석에 사용자의 의도가 약간 의이 간다.
         이렇게 explicit를 사용하면 명시적으로만 형변환이 가능하다. 하지만 또 하나 법상 유의 해야 할사항은
         컴파일러 단에서 a생성자인 Array( ArraySize size) 에서 ArraySize 로의 single-argument constructor를 호출하기 때에 선언이 가능하지만
         이런 경우에 operator==의 오른쪽에 있는 인자는 int가 single-argument constructor에 거칠수 없기 때에 에러를 밷어 낸다.
         우리는 ++와 --연산자(이하 가칭 가감 연산자)를 즐겨 쓴다. 이 연산자 역시 클래스에서 정의해서 사용할수 있다.
         하지만 이 가감 연산자는 두가지로 나뉜다는 사실을 생각하면 갑자기 난감해 진다. 설마 설계자가 그런 단!순!한! 제를 간과할리 없다.
          * 작성자 사설:본에서는 그 뒤부터는 아예 이런걸 쓰지 말자는 필요성의 언급니다. 차후 추가의 필요성이 있을때 추가합니다. [[BR]]그냥 i++ 두번 쓰고 말지..
         위의 코드에서는 strlen() 함수내부에서 p에 관련한 null pointer 검사가 필요하지 않다. 왜냐하면 && 에서는 앞의 조건이 부정 즉, ( false && anything ) 의 경우에는 뒤의 조건(anything)은 수행조차 안하기 때이다. operator ||의 경우도 특정 조건에서,(true || anything) 뒤에 코드를 수행하지 않은다는 것은 비슷하다.
         수많은 개발자들이 이런 단순한 원리를 프로그램 상에서의 짧은 진행(short-circuit)을 추구하는데 사용하였다. 그렇다면 C++에서의 객체들에게 operator ||, && 를 overload 시키면 짧은 진행을 추구하는데 도움이 되지 않을까? 그런데 하지 말라니 왜일까? [[BR]]
         이 장의 해석을 컴파일러는 이렇게 받아 들인다.
         자 이 두경우 모두를 생각해 보면 1,2 양쪽 다 expression1, expression2 의 결과 값이 필요한 상황이다. 즉, operator && 나 operator || 의 경우 양쪽이 class인자든, 어떤 형태이든 반드시 결과 값이 필요하다. 위에도 언급했지만, 이미 많은 개발자들이 &&와 ||의 특성을 잘 알고 사용하고 있으며, operator &&, ||의 overload는 구동되지 말아야할 코드가 구동되는 의도하지 않은 오류가 발생 소지가 있다.
         comma operator는 표현(form expression)에 사용된다. 아래를 보자
  • RandomWalk2 . . . . 37 matches
         바퀴벌레 한 마리가 판 위를 돌아다닌다. 이 바퀴벌레가 각 칸을 방한 횟수와 총 움직인 횟수를 구하라.
         이 페이지에 있는 활동들은 프로그래밍과 디자인에 대해 생각해 볼 수 있는 교육 프로그램이다. 모든 활동을 끝내기까지 사람에 따라 하루에서 삼사일이 걸릴 수도 있다. 하지만 여기서 얻는 이득은 앞으로 몇 년도 넘게 지속될 것이다. 제를 풀 때는 혼자서 하거나, 그게 어렵다면 둘이서 PairProgramming을 해도 좋다.
          * 유사제 RandomWalk
          * ObjectOrientedProgramming에서 이 제를 처음 소개했다.
         첫 줄의 M,N은 판의 행과 열로 판의 크기를 말하고, 다음 라인의 숫자 두 개는 바퀴의 초기 위치로 행과 열의 순서다. 다음 줄에는 바퀴의 여정이 나오는데 0부터 7 사이의 숫자가 이어진다. 0부터 7 사이의 숫자는 방향을 의미한다. 0이 북쪽이고, 시계방향으로 1,2,3,...7이 배치된다. 마지막 줄은 999로 끝난다.
          * 판 위의 모든 칸(cell)을 한번 이상 방했거나
         첫 번 째 줄은 바퀴가 총 움직인 횟수(처음 바퀴가 놓이는 것은 움직인 것으로 치지 않는다)이고 한 줄은 띈 다음, 판의 각 칸에 바퀴가 방한 횟수를 행렬로 출력하되, 동일 행의 칸은 빈칸(스페이스)로 구분하고, 각 행은 하나의 줄을 차지한다.
         ||해결자 ||개발시간 ||사용언어||Source ||
         대부분의 프로그래밍 제나, 경시대회 제는 한번 주어진 제에 한번 대응하면 그걸로 끝난다. 하지만 현실은 그렇지 못하다. 한번 개발한 프로그램을 요구사항 추가/변경에 따라 몇 번이고 수정하고 다시 개발해야 할 때도 있다. 우리가 말하는 제풀이 능력에는 이미 만든 프로그램을 유지보수하는 작업도 포함되어야 한다.
         교육에 있어 이런 작업이 중요한 이유 중 하나는, 자신이 만든 프로그램이 해답을 제대로 내느냐는 것을 확인하는 데에는 한 제를 한번 푸는 것으로 족하지만, 거기서 코드의 디자인 질을 확인할 수가 없다는 제가 있기 때이다. 하지만, 요구사항 변경에 따라 자신이 개발한 프로그램을 다시 수정하게 되면, 이전에 만든 코드의 질에 따라 그 노력에 현격한 차이가 난다. 디자인 질이 높으면 아주 짧은 시간 안에 간단하게 요구사항 변화에 대응할 수 있을 것이고, 질이 낮았다면 장기간에 걸쳐 여기저기를 들쑤시고 골치를 썩혀야 할 것이다.
         처음 턴에 1번 바퀴는 2방향으로 한칸 움직이고, 2번 바퀴는 1방향으로 한칸 움직인다. 둘 중 한쪽 바퀴의 여정이 끝나도 다른 하나의 바퀴 여정이 끝나지 않으면 게임은 종료하지 않는다. 하지만, 두 바퀴 중 어느 누구의 여정도 끝나지 않았더라도 판 위의 셀이 모두 방되었다면(즉, 1이 방한 셀과 2가 방한 셀의 합집합이 전체 셀이라면) 게임은 종료한다.
         대부분의 학습자는 일단 제의 답에 도달하면 그 경험을 완전히 망각해 버리는 나쁜 습관이 있다 -- 이런 사람들은 제를 풀긴 풀었으되, 다음 번에 유사 제를 접하면 여전히 그 제를 처음 접했을 때를 답습하는 제자리 걸음을 하기 쉽다. 자신의 경험을 반추해 보는 것은 효과적인 학습에 있어 필수적인 요소다. 다음 활동을 꼭 해보길 권한다. 엄청나게 많은 것을 배우게 될 것이다.
         자신이 사용한 방법과 비교해 보라. 누구의 것이 더 낫다고 생각하는가?
         몇 몇 사람들이 공통적으로 사용하는 "좋은 접근법"과 "나쁜 접근법"이 있는가?
         최초의 요구사항 제시 이후에 나온 변경사항들이 따라오지 않을 것이라 가정하고, 만약 이 RandomWalk2 제를 다시 접했다면 어떻게 접근하겠는가. 어떤 과정을 거쳐서 어떤 프로그램을 개발하겠는가?
         최초의 요구사항을 "새로 접했다"고 가정하고, 그리고 기존에 얻었던 "통찰"만을 간직한 채, (최초 요구사항에 대해서만) 이 제를 다시 한번 풀어보라. (차후의 요구사항 변경에 대한 고려는 하지 말라.)
         이와 비슷한 제를 혹시 과거에 접해보았는가? 그 제를 이제는 좀 다르게 풀것 같지 않은가? 그 제와 RandomWalk2 경험에서 어떤 공통점/차이점을 끄집어 낼 수 있겠는가? 어떤 교훈을 얻었는가? 자신의 디자인/프로그래밍 실력이 늘었다는 생각이 드는가?
         만약 이 제의 모든 "요구사항+변경사항들"이 한 덩어리의 "최초 요구사항"으로 처음부터 한꺼번에 주어졌다면 자신은 어떻게 이 제를 풀었을 것 같은가? 어떻게 제에 접근했을 것이며, 어떤 과정을 거쳤을까? 또, 어떻게 푸는 것이 효율적일까?
         다른 친구와 PairProgramming을 해서 이 제를 다시 풀어보라. 그 친구는 내가 전혀 생각하지 못했던 것을 제안하지는 않는가? 그 친구로부터 무엇을 배울 수 있는가? 둘의 시너지 효과로 둘 중 아무도 몰랐던 어떤 것을 함께 고안해 내지는 않았는가?
          * 질: '''변경4'''에서 음식의 위치는 의도적으로 바퀴가 지나가지 않는 곳에 놓은건가요? --["sun"]
  • ToyProblems . . . . 37 matches
         구구단, 소수, 피보나치 수열 구하기 등의 간단하고 쉬운 제들
         자주 사용되는 ToyProblems:
          * 숫자야구
         당신은 이제까지 이런 제들을 후배들에게 가르치면서 그들을 정신의 감옥 속에 가둬넣지 않았습니까? 이제까지 구구단 제를 정말 생소한 방법으로 해결한 후배를 본 적이 있습니까? 모두 for 루프를 쓰지 않던가요? 네. 당신은 이제까지 후배들을 자신의 협소한 패러다임으로 세뇌시켜왔습니다. (사실, 시간을 써가며 후배들에게 자신의 지식을 베푸는 선배들은 정말 훌륭하고 그런 사람들을 폄하할 생각은 전혀 없습니다. 일부러 좀 과장을 해서 썼습니다.) --JuNe
         ToyProblems에는 단점이 있다. 너무 간단하다. 배우는 사람은 지루하고 시시하게 느낄 수 있고, 제를 풀어봐야 별 감흥이 없으며, 새로운 걸 배운 느낌이 들지 않는다. 그러나 그들에게 아직 복잡한 제는 시기상조이다. 이 딜레마를 어떻게 깨트릴까.
          1. 일단 자신이 아는 방법을 총동원해서 제를 풀게 한다.
          1. 선배가 이 간단한 제를 다양한 패러다임으로 다르게 풀 수 있다는 것을 보여주고 간략히 설명한다. 이때, 대부분의 경우 긴 설명이 필요없다. 이미 제를 풀어봤기 때이기도 하고, 제 자체가 간단하기 때이기도 하다.
          1. 이번에는 해당 패러다임을 이용해서 앞서 1번에서 풀었던 제와 유사하지만 다른 제를 풀게 한다.
         이런 식으로 패러다임을 여러가지 소개한다. 예를 들어 구구단 같은 제는 최소 10가지 이상의 패러다임으로 풀 수가 있다.
         고학년(저학년을 가르칠 사람들) 대상으로 강의를 해줄 용의가 있습니다. 만만한 제가 결코 만만한 게 아니라는 것, 간단한 것에서 정말 엄청나게 많은 걸 배울 수 있다는 것 등을 느끼게 될 것입니다. --JuNe
          ''요세 저도 위와 같은 것 때에 고민 했는데 해결하기가 쉽지 않았습니다. 후배들에게 좀 더 많은 걸 배울 수 있는 제에 관하여서... 그런데 어려운 제는 좌절할 거 같고 그렇다고 쉬운 제는 배우는 게 얼마 없는 거 같고... 여러 가지 패러다임을 통해서 고민을 해결할 수 있다면 이번 기회에 한 번 시도 해보고 싶습니다. --재동''
          * [숫자야구]
          * ToyProblems 후보 : 구구단, 소수구하기, SpiralArray, 삼각형 그리기, (기타 참가자가 원하는 것 추가 가능. 단 조건은 1학년이 한 시간 내에 풀 수 있는 간단한 제)
          1. 그 중 하나에 대해 스스로 제를 풀게한다 10m.
          1. 전혀 새로운 패러다임으로 동일 제를 푸는 과정을 보여준다 10m
          1. 비슷하지만 약간 다른 제를 풀게한다 10m
          1. 또 다른 패러다임으로 동일 제를 푸는 과정을 보여준다 10m
          1. 비슷하지만 약간 다른 제를 풀게한다 10m
          1. 1번에서 고른 나머지 제를 가능하면 다양한 방법으로 여러번 풀게한다. 각자 몇 개의 전혀 다른 프로그램을 만들어 내는가? 60m
         희상 - CSP를 응용해 제를 푸는 것을 듣고 난 후 Alan Kay가 Paradigm이 Powerful Idea라고 했던 것에 고개를 끄덕끄덕 할 수 있었다. 그동안 FP를 맛만 보았지 제대로 탐구하지 않았던 것이 아쉬웠다. FP에 대한 관심이 더 커졌다.
  • 논문번역/2012년스터디/이민석 . . . . 37 matches
         원 URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.6.6413&rep=rep1&type=pdf
         필기 글자 인식은 패턴 인식의 도전적인 분야다. 지금까지의 오프라인 필기 인식 시스템들은 대부분 우편 주소 읽기나 은행 수표 같은 형식을 처리하는 데 적용되었다. [14] 이들 시스템이 개별 글자나 단어 인식에 한정된 반면 제약 없는(unconstrained) 필기 글자 인식을 위한 시스템은 거의 없다. 그 이유는 이러한 작업이 크게 복잡하기 때인데 글자 또는 단어의 경계에 대한 정보가 없는 데다 헤아릴 수 없을 정도로 어휘가 방대한 것이 특징이다. 그럼에도 필기 글자 인식 기법을 더 조사하는 것이 가치 있는 이유는, 계산 능력이 향삼함에 따라 더욱 복잡한 처리를 할 수 있기 때이다.
         본 논에서는 은닉 마르코프 모형에 기반한, 어휘(lexicon)-free 오프라인 필기 인식 시스템을 소개하고 완전한 영어 장 데이터베이스에 관한 몇 가지 실험을 저자 독립식 그리고 대조를 위해 다저자, 단일 저자식으로 수행했다. 전처리와 특징 추출 방법을 소개하고 이에 더해 선형 판별 분석, 이서체 글자 모형의 사용, 통계적 언어 모형 같은 더욱 정교한 기법들을 조사한다. 그 뒤의 절에서는 오프라인 필기 인식에 대한 관련 작업들을 짧게 검토한다. 우리가 사용한 데이터베이스는 3절에서 소개한다. 그 다음 전처리, 특징 추출 방법, 통계적 모델링과 인식을 위한 기법을 설명한다. 평가 결과는 제안한 방법의 효율성을 입증하기 위해 7절에서 소개한다.
         최근 몇 년간 오프라인 필기 인식 분야는 상당히 진전하였다. 특히 우편 주소나 legal amount 읽기를 위한, 적은 어휘를 사용한 개별 단어 인식 시스템은 높은 인식률을 달성했고 인식 정확도뿐 아니라 처리 속도를 고려해봐도 개선할 여지가 거의 없다. [2] [8]
         반면에 방대하거나 아예 한계가 없는 어휘를 이용한 제약 없는 필기 글자 인식은 훨씬 어렵다. 이는 개별 단어 처리 시스템에 본질적으로 있는 맥 지식과 단어 분할 정보가 없기 때이다. 이런 난조에도 제약 없는 필기 글자 인식 시스템이 몇 개 개발되었다. [1, 9, 11, 18, 15, 17] 이들 시스템은 주로 추출한 특징의 종류와 한 줄이 인식 전에 단어별로 분할되는 지 아닌지에 차이가 있다. 은닉 마르코프 모형(HMM) 그리고 순환형 신경망과 HMM의 융합을 이용한 분할 기반 방법의 예로 각각 [1, 18]과 [15]가 있다. [15]의 실험은 단일 저자로부터 얻은 데이터베이스를 가지고 수행한 반면 [1, 18]의 실험은 여러 저자의 자료를 가지고 검사하였다. [16]에서는 오프라인 필기체 단어 인식을 광범위하게 조사하였다.
         한 줄을 초기에 분할하여 발생하는 오류를 피하기 위해 [9]에서는 분할을 하지 않는, 즉 한 줄 전체를 인식 모듈에 넘기는 방법을 제안한다. 이 시스템은 단일 저자에 대해 검사되었고 통계적 언어 지식과 결합하여 유망한 인식 결과를 달성한다. [11]은 저자 수백 명으로부터 제작하고 보다 큰 데이터베이스에서 검사된, 저자에 무관한 제약 없는 글자 인식을 위한 발전된 시스템을 서술한다. 앞으로 나올 절에서 설명하는 시스템은 전처리와 특징 추출 방법이 약간 다른 비슷한 접근법을 사용한다. 그에 더해 이서체 글자 모형, 즉 글자 종류별 HMM 집합과 통계적 언어 모형의 사용 뿐 아니라 특징 벡터의 선형 판별 분석(LDA)을 적용한 결과도 조사한다.
         훈련과 인식을 위한 입력 데이터는 완전한 영어 장 데이터베이스에 의해 제공되고 각각은 Lancaster-Oslo/Bergen 말뭉치에 기반한다. [7] 저자 독립식 뿐 아니라 다수 저자에 관한 실험을 Bern 대학의 IAM에서 수집한 필기 형태 [10]의 데이터베이스를 사용하여 수행하였다. 데이터베이스 전체는 다양한 글 범주(출판 글자, 종교, 인기 설화, 픽션...)를 포함하고 500명 이상 저자의 1200개 이상 필기 형태로 구성된다. 우리는 250명 이상의 저자가 저자 독립식 실험을 위해 제작한 범주 [a..f]의 form과 여섯 저자가 다저자식을 적용하여 제작한 하위집합 c03을 사용한다.
         우리의 시스템을 단일 저자식에서도 평가하기 위해 Senior [15]가 수집한 데이터베이스의 필기 서식으로도 실험을 수행했다. 이 데이터베이스는 한 저자가 쓴 25쪽으로 구성되며 웹에서 공개적으로 얻을 수 있다.1 두 데이터베이스의 필기 양식들은 256 그레이 레벨을 사용하여 300dpi 해상도로 스캔하였다. 그림 1에 각 데이터베이스의 예시가 있다.
         필기 글자의 이미지가 주어진 상태에서 먼저 전체 이미지의 기울임을 교정하여 스캐닝 도중 양식의 비정확한 배치나 글을 쓸 때 지속적인 "밀려남(drift)"에 의한 오류를 바로잡는다. 따라서 이미지는 이진화된 이미지의 수평 밀도 히스토그램이 최소 엔트로피를 가지기 전까지 회전된다. [4] 이 전처리 단계를 IAM 데이터베이스의 서식에는 적용하지 않았는데 저자들이 양식 아래의 두 번째 시트에 자를 쓰도록 요청받았고 서식 자체는 스캐닝하면서 정확히 정렬되었기 때이다.
         다양한 저자의 글씨체 때에 인식 작업을 단순화하기 위해 필기를 정규화한다. 특히 수직 위치, 기울임, 경사(slant)의 교정이 전처리에서 중요함이 드러났다. 그 이상의 정규화는 필기의 크기와 그레이레벨의 강도를 고려한다.
         가끔 글씨체가 한 줄에서도 확 바뀌는 것에 동기를 얻어 우리는 각 줄의 수직 위치, 기울임, 경사를 국소적으로 교정한다. 따라서 각 행은 필기 조각segment들 사이의 공백을 탐색하여 분리된다. 믿을 만한 정규화 계수를 계산하기에는 너무 짧은 조각을 피하기 위해 threshold를 사용한다.
         필기의 크기를 정규화하기 위해 각 줄의 극값(local extrema) 개수를 세고 줄의 너비와의 비율을 얻는다. 비례(scaling) 계수는 이 비율에 선형인데 비율이 클 수록 글씨체는 더 좁아지기 때이다.
         필기 줄을 전처리한 이미지는 특징 추출 단계의 입력 자료로 사용된다. sliding window 기법을 [11]이 설명하는 접근법과 비슷하게 적용한다. 우리의 경우 이미지의 높이와 열 네 개 크기의 창이 이미지의 왼쪽에서 오른쪽으로 두 열씩 겹치면서 움직이고 기하 추출의 쌍을 추출한다.
         강도 분포의 평균값의 변화 뿐 아니라 하단 contour와 상단 contour의 방향을 고려하기 위해 추가적으로 세 가지 방향성 특징을 계산한다. 말인 즉 우리는 네 lower countour 점, upper contour 점, sliding window 내 평균값을 통해 줄들을 재고 선 방향들을 (8), (9), (10) 특성으로 각각 사용한다. (뭔 소리) 더 넓은 temporal context를 고려하여 우리는 특징 벡터의 각 성분마다 근사적인 수평 미분을 추가로 계산하고 결과로 20 차원 특징 벡터를 얻는다. (윈도우당 특징 10개, 도함수 10개)
         특징 벡터들을 decorrelate하고 종류 분별력을 향상하기 위해 우리는 훈련 단계와 인식 단계에서 LDA를 통합한다. (cf. [6]) 원래 특징 표현을 일차 변환하고 특징 공간의 차원을 점차 줄이며 최적화한다. 일차 변환 A를 구하기 위해 훈련 자료의 클래스내 분산(within class scatter) 행렬 Sw와 클래스간 분산(between class scatter) 행렬 Sb를 이용하여 고유 벡터 제를 해결한다. 이 분산(scatter) 행렬들을 계산하여 각 특징 벡터의 HMM 상태와 함께 이름표를 붙여야 한다. 우리는 먼저 일반적인 훈련을 수행하고 훈련 자료들을 상태를 기준으로 정렬한다. 분산 행렬을 구했으면 LDA 변환은 다음 고유 벡터 제를 풀어 계산한다.
         필기 글자 인식을 위한 HMM의 구성, 훈련, 해독은 ESMERALDA 개발 환경[5]이 제공하는 방법과 도구의 틀 안에서 수행된다. HMM의 일반적인 설정으로서 우리는 512개의 Gaussian mixtures with diagonal covariance matrice(더 큰 저자 독립 시스템에서는 2048개)를 포함하는 공유 코드북이 있는 semi-continuous 시스템을 사용한다. 52개 글자, 10개 숫자, 12개 구두점 기호와 괄호, 공백 하나를 위한 기본 시스템 모형은 표준 Baum-Welch 재측정을 사용하여 훈련된다. 그 다음 한 줄 전체를 인식하기 위해 글자 모형에 대한 루프로 구성된 conbined model이 사용된다. 가장 가능성 높은 글자 시퀀스가 표준 Viterbi beam- search를 이용하여 계산된다.
         우리의 필기 인식 시스템을 평가하기 위해 단일 저자식, 다저자식, 저자 독립식 인식 이렇게 세 가지 실험을 수행했다. 표 1에 이들 실험의 글자 오류율이 있다. 처음 두 열은 실험 종류, 3열은 언어 모형을 적용하지 않은 오류율, 4열은 바이그램 언어 모형을 글자 수준에서 적용한 결과다. 언어 모형은 IAM 데이터베이스의 [a..d] 범주의 모든 글을 사용하여 생성하였고 실험 내내 일정하다. 표 2에는 어휘-free 단어 인식과 어휘 기반 단어 인식이 나타나있다.
         단일 저자식 실험은 Senior 데이터베이스에서 훈련에 282줄, 검정에 141줄을 써서 수행했는데, 글자 수준에서 검정 집합의 바이그램 perplexity는 15.3이다. 베이스라인 시스템의 오류율 13.3%는 바이그램 언어 모형을 채택하여 12.1%로 감소했다. LDA 변환한 특징 공간의 차원이 12로 내려갔지만 오류율은 그다지 커지지 않았다. 단일 저자 시스템의 단어 오류율(표 2)은 어휘 없이 28.5%, 1.5k 어휘가 있으면 10.5%다. 이 결과들은 우리가 같은 데이터베이스를 이용하여 literature(학 작품은 아닌 것 같다)에서 얻은 오류율과 비교되긴 하지만, 훈련 집합과 검정 집합의 크기가 달라 비교하긴 어렵다. [17]에서 오류율은 글자의 경우 28.3%, 어휘 없는 단어의 경우 84.1%, 1.3k 어휘가 있는 단어의 경우 16.5%다. [15]의 보고에서 단어 오류율은 어휘가 있는 경우 6.6%, 어휘 free인 경우 41.1%다. [9]에서 최고의 어휘 기반 단어 오류율은 15.0%다.
         다저자 필기 인식 작업의 경우 IAM 데이터베이스의 하위집합 c03에서 훈련에 440줄, 검정에 109줄을 사용하였다. 이 줄들은 글씨체가 확연히 다른 저자 여섯이서 작성하였다. 이 작업에서 LDA(12차원으로 경감)를 쓴 글자 오류율 14.2%는 이서체 모형(각 소자에 이서체 6개)을 추가로 사용하여 13.3%로 더 크게 감소했다. 바이그램 언어 모형을 채택한 결과 오류율은 11.1%로 더욱 감소했다(검정 집합 perplexity는 12.0). 어휘 없는 단어 오류율은 39.0%로, 단어 421개(구두점 포함)를 포함한 어휘를 적용하여 오류율은 13.9%로 줄어들었는데 [11]에 나온 20.5%와 많이 비교된다.
         이 결과들에 고무하여 우리는 더 어려운 작업인 저자 독립 인식 실험을 수행했다. IAM 데이터베이스의 하위 집합 [a- f](저자 약 250명)을 입력 자료로 썼는데, 훈련에 4321줄(양식 [a-d]), 검정에 1097줄(양식 [e-f])을 사용했다. 베이스라인 시스템의 글자 오류율은 31.3%다. 저자 독립의 경우 이서체 모형은 다저자 실험에 비해 별다른 향상을 이루지 못했다. 오류율 31.3%는 글자당 이서체 3개를 써서 얻은 것이며 글자당 이서체 10개를 써서 실험했을 때 오류율(34.8%)과 인식 속도 모두 하락하였다. 하지만 오류율은 LDA 변환한 특징을 썼을 때 29.1%로 크게 감소했다. 언어 모형을 추가로 통합하여 글자 오류율은 22.2%로 더욱 개선되었다(검정 집합의 perplexity는 12.0). 이는 어휘를 쓰지 않았을 때 단어 오류율 60.6%와 대응된다.
  • 데블스캠프2002/진행상황 . . . . 37 matches
          * 일요일, 그리고 목요일, 금요일 동안 지겹도록 풀었을것 같은 RandomWalk 가 이렇게 다양한 모습을 보여주었다는 점에선 꼭 푸는 제 수가 중요하지 않다라는 점을 확신시켜주었다.
          * 마지막 날에 온 사람이 3명. 그리고 제를 푸는데 참여한 사람이 2명 밖에 안남았다는 점은 데블스캠프를 준비한 사람들을 좌절하게 한다. 그나마 한편으로 기뻤던 점은, 아침 7시가 되도록 컴퓨터 하나를 두고 서로 대화를 하며 RandomWalk를 만들어가는 모습을 구경했다는 점. 그 경험이 어떻게 기억될지 궁금해진다.
          * 화이트 보드 - 목요일 세미나 이후 화이트보드를 5층 피시실에 그냥 두었다. 처음엔 들고 갈까 했었다가 귀찮아서 두었는데, 중간에 후배가 어제 배운 내용에 대해 질했을 때 '오. 마침 화이트보드가 있네?' 어제 했었던 방법으로 적어나가면서 편리함을 느꼈다.
         이번 세미나의 부제를 단다면 "우리는 어떻게 사고하고 어떤 과정으로 프로그래밍 하는가" 정도가 될 것이다. 지금 학생들의 프로그래밍 과정과 사고 과정을 밖으로 끄집어 내어서 함께 관찰하고, 함께 논의할 수 있도록 했고, 동시에 선배/전가들의 사고 과정과 프로그래밍 과정을 직접 보여주어서 그 차이를 느끼고, 거기서 학습이 일어나도록 했다.
         우리는 수학제에 대해 달랑 답만 달아놓으면, 설령 답이 맞더라도 "과정이 없다"고 제를 틀리기도 한다. 프로그램은 최종적인 "답"이다. 우리는 그 답이 나오는 과정에 너무도 무관심하다.
          * StructuredProgramming - 창준이형이 역사적인 관점에서의 StructuredProgramming에 대해 설명을 하셨다. 그 다음 ["1002"]는 ["RandomWalk2"] 제에 대해서 StructuredProgramming을 적용하여 풀어나가는 과정을 설명해 나갔다. (원래 예정의 경우 StructuredProgramming 으로 ["RandomWalk2"] 를 만들어가는 과정을 자세하게 보여주려고 했지만, 시간관계상 Prototype 정도에서 그쳤다)
          * ["RandomWalk2"] 를 ObjectOrientedProgramming 으로 구현하기 - 위의 Python 관련 실습동안 ["1002"] 는 ["RandomWalk2"] 에 대해서 C++ Prototype을 작성. (["RandomWalk2/ClassPrototype"]) 이를 뼈대로 삼아서 ["RandomWalk2"] 를 작성해보도록 실습. 해당 소스에 대한 간략한 설명, 구현의 예를 설명. 중간에 객체들에 대한 독립적인 테스트방법을 설명하면서 assert 을 이용한 UnitTest 의 예를 보였다.
         또한, JuNe과 ["1002"]의 CrcCard 세션을 (마치 주변에 사람이 없는 듯 가정하고) 보여줬던 것도 좋은 반응을 얻었다(원래는 ["1002"]가 혼자 제를 푸는 과정을 보여주려고 했다가 JuNe이 보기에 두 사람의 협력 과정을 보여주는 것도 좋을 듯 했고, 분위기가 약간 지루해 지거나 쳐질 수 있는 상황이어서 중간에 계획을 바꿨다.) 선배들이 자신이 풀어놓은 "모범답안"으로서의 코드 자체를 보여주는 것은 했어도 분석하고 디자인하고, 프로그래밍 해나가는 과정을 거의 보여준 적이 없어서, 그들에게 신선하게 다가간 것 같다.
         또, 동일 제를 여러번 하는 것의 교육적 효과를 다시금 확신하게 되었다. 내용이 이어지고 연계가 되니, "현재의 주제를 벗어난 것들에 에너지를 덜 소모하면서" 많은 학습이 가능했다. 최소한 제를 매번 새로 설명하고, 그걸 이해시키게 하는 시간은 주제가 바뀔 때마다 아낄 수 있었다.
         과정을 의식하고 행한다는 것은 그런것 같다. 제 SPEC을 받았을때부터 코드의 끝까지. 잘못된 부분을 의식하지 않으면 끝까지 고칠수 없다. 제 자체가 드러나지 않으면 제를 풀 수 없으니까. 제가 나를 지배하기 전에 내가 제들을 지배하려면. 하나하나 나의 제어영역으로 들어오도록 해야겠다. 이름상으로는 세미나의 진행자로 올랐지만, 이 시간만큼 나는 세미나 진행자인 동시에 배우는 사람일 수 있었다.
         하나는 사람들이 별다른 외현화를 하지 않고 바로 프로그래밍에 들어갔기 때이다. 외현화라는 것은 자기 생각을 머리 바깥에 표현하는 것을 말한다. 다이어그램을 그리거나, 글을 쓰거나 해서 표식을 남기는 것이다. 외현화가 필요한 이유는, 사람의 단기기억 장치는 상당히 작은 수의 것들만 기억할 수 있기 때에 일종의 "보조기억장치"를 통해 기억부담을 줄여야 하기 때이다. 그런데, 미리 제이해/분석/기획시에 특별히 자신이 이해하고 계획한 제풀이를 외현화하지 않았기 때에, 프로그래밍을 하는 중엔 유일한 보조물인 "요구사항"을 그대로 보고 따라하게 된 것이 아닐까 생각한다. 만약 제를 보고 분석을 하면서 간단한 다이어그램을 그려뒀고, 그것을 참조하면서 프로그래밍했다면, "좀 더 바람직한 순서"를 택할 수 있지 않았을까.
         다른 하나는, 요구사항이 어떻게 제시되느냐가 산출물로서의 프로그램에 큰 영향을 끼친다는 점이다. 요구사항이 어떤 순서로 제시되느냐, 심지어는 어떤 시제로 제시되느냐가 프로그램에 큰 영향을 끼친다. 심리학에서 흥미로운 결과를 찾아냈다. "내일은 한국과 브라질의 경기날입니다. 결과가 어떻게 될까요?"라는 질과, "어제는 한국과 브라질의 경기가 있었습니다. 결과가 어땠나요?"라는 질에 대해 사람들의 대답은 큰 차이가 있었다. 후자 경우가 훨씬 더 풍부하고, 자세하며, 구체적인 정보를 끌어냈다. 이 사실은 요구사항에도 적용이 되어서, 요구사항의 내용을 "미래 완료형"이나 "과거형"으로 표현하는 방법(Wiki:FuturePerfectThinking )도 생겼다. "This system will provide a friendly user interface"보다, "This system will have provided a friendly user interface"가 낫다는 이야기다. 어찌되었건, 우리는 요구사항이 표현된 "글" 자체에 종속되고, 많은 영향을 받는다.
         처음 ["1002"]가 계획한 세미나 스케쥴은 조금 달랐다. "어떻게 하면 ObjectOrientedProgramming의 기본 지식을 많이 전달할까"하는 질에서 나온 스케쥴 같았다. 나름대로 꽤 짜임새 있고, 훌륭한(특히 OOP를 조금은 아는 사람에게) 프로그램이었지만, 전혀 모르는 사람에게 몇 시간 동안의 세미나에서 그 많은 것을 전달하기는 무리가 아닐까 하고 JuNe은 생각했다. 그것은 몇 번의 세미나 경험을 통해 직접 느낀 것이었다. 그가 그간의 경험을 통해 얻은 화두는 다음의 것들이었다. 어떻게 하면 적게 전달하면서 충분히 깊이 그리고 많이 전달할까. 어떻게 하면 작은 크기의 씨앗을 주되, 그것이 그들 속에서 앞으로 튼튼한 나무로, 나아가 거대한 숲으로 잘 자라나게 할 것인가.
         꼭 생소하다의 제를 떠나서, 전반적인 컴퓨터 동작원리 보다 구체적 용어들 (어떻게 보면, 이미 공부하여 알고 있는 사람들의 경우 일상어화 되어버린 언어들)이 먼저 나와버렸기 때이다. 컴퓨터가 하드웨어와 소프트웨어로 구분되어지기 이전엔 어떠했는지, 그게 하드웨어와 소프트웨어로서 구분하는 방법으로서 폰 노이만 아키텍쳐가 나온 이야기라던지, 그러하기 때에 PC 카운터가 필요하며 메모리로부터 명령어를 읽어온 뒤, CPU에서 명령을 해석하고 처리한다라던지 등등. 그러한 이야기가 나오기전에 어드레스/세그먼트/옵셋/디코딩 이 나와버렸기 때에 어려운 세미나가 되어버렸다고 생각한다. 후에 상민이가 다시 동작원리부터 상대적으로 쉬운 용어로 설명을 해주면서 사람들의 반응을 유도한점에 대해서는 사람들이 한번 생각을 해볼 필요가 있다. 우리와 대화하는 사람은 어느정도의 지식수준을 가지고 있는가에 대해서. 정말 이해 안가는 부분에 대해서는 질 자체를 만들어내기 힘들다. --석천
          * ["neocoin"] : 정직, 맘 상했다면 정말 미안하다. 미리 언질을 주고 덧붙이기를 하더라도 해야 했는데, 시간이 모자라서 그냥 막무가내로 나와서 이야기를 풀어 놓았구나. 그리고, 앞에서 이야기 하던 중 영도 모르게, 박수를 받게 만든 남훈이에게도 미안 하다. 엎드려 있는 사람을 완전히 깨우기 위해 '환기의 큰소리'가 필요 했었다. 앉아 있는 사람들은 못느꼈을지 모르겠지만, 앞에서 보고 있던 나는, 그 박수 소리로 마지막 2명이 일어나 칠판을 바라 보는 큰 효과를 보았다. 박수 후 이야기 중 불쾌한 모습 보이지 않아서 고맙다. --["상민"]
          * 불필요한 스레드란 없으니 걱정말고. ^^; 개인적으로 C 와 어셈과의 포인터관계를 어디서 찾았냐면, 해당 주소값이란 것이 무엇인가에서 찾았다. (단, 내가 정직이나 남훈이보단 하드웨어 관련지식이 깊지 않다) '포인터 값을 화면에 찍었을 경우에 나오는 엄청나게 큰 숫자(윈도우의 경우 32비트) 의 의미는 무엇인가?' 라는 질을 하게 되었고. 그 이후 메모리가 16메가바이트라는 건 메모리에 0번부터 16메가바이트-1 이라는 번호를 부여하고, 해당 번호에 값을 대입하는 것이라는 접근을 하게 되었지. (물론, 이것도 물리적 주소는 아니겠지. 결국 우리가 이용하는 주소란 OS 에 의해 한번 걸러진 논리적 주소겠지.) 추상화의 정도를 이야기하라는 건 꼭 해당 언어 기준으로 이야기하라는 게 아니라, 경험에 대한 연결고리(여기서는 'C에서 포인터 변수를 화면에 찍어보니 이상하게 큰 숫자가 나왔다' 정도)를 찾아보자라고 한다면 정말 이야기가 '추상적'이려나; --석천
          * 사람들의 참여 유도 - 이것은 선호가 비교적 원만하게 진행한 것 같다. 사람들에게 어떤 부분이 궁금한지 질을 북돋았다는 점은 잘 진행된 듯.
          * 진행의 순서 모호 - 선호도 인정했지만 체계적인 준비가 좀 부족했던점. 본래 준비하기로 한 내용과 달랐다는 점(화일 입출력 부분) 그리고 Table Of Contents 의 부재. 그리고 사람들의 질을 받아서 이야기 하는 방법의 약점이라고 할까. 잘못하면 전체 내용의 연결고리를 잇지 못한다는 점이 있었다고 생각
  • 토비의스프링3/밑줄긋기 . . . . 37 matches
          * 스프링을 사용하는 개발자들은 자연스럽게 자바와 엔터프라이즈 개발의 기본에 충실한 베스트 프랙티스를 적용할 수 있고, 이상적인 개발 철학과 프로그래밍 모델을 이해하게 되고, 좋은 개발 습관을 체득하게 된다.
          * 스프링을 사용하는 개발자들이 스프링을 통해 얻게 되는 두 가지 중요한 가치가 있다면 그것은 '''단순함'''과 '''유연성'''이다.
          * 이 제의 핵심은 변하지 않는, 그러나 많은 곳에서 중복되는 코드와 로직에 따라 자꾸 확장되고 자주 변하는 코드를 잘 분리해내는 작업이다.
          * 전략 패턴에 따르면 Context가 어떤 전략을 사용하게 할 것인가는 Context를 사용하는 앞단의 Client가 결정하는 게 일반적이다.
          * Context는 전달받은 그 Strategy 구현 클래스의 오브젝트를 사용한다.
          * 일반적으로 DI는 의존관계에 있는 두 개의 오브젝트와 이 간계를 다이내믹하게 설정해주는 오브젝트 팩토리(DI 컨테이너), 그리고 이를 사용하는 클라이언트라는 4개의 오브젝트 사이에서 일어난다.
          * hamcrest.CoreMatchers에 대해서 : CoreMatcher로 테스트 코드를 만들 때 null 값은 비교나 not을 사용하는 것이 불가능합니다(ex. assertThat(tempObject, is(null)); -> 에러). 이건 null이 값이 아니기 때인데, CoreMatcher에서 null 값을 쓸 때는 org.hamcrest.CoreMatchers의 notNullValue()와 nullValue()를 사용하시면 되겠습니다. http://jmock.org/javadoc/2.5.1/org/hamcrest/CoreMatchers.html
         ==== 사용자 레벨 관리 기능 추가 ====
          * 의미 없는 숫자를 프로퍼티에 사용하면 타입이 안전하지 않아서 위험할 수 있다.
          * 그래서 숫자 타입을 직접 사용하는 것보다는 자바 5 이상에서 제공하는 이늄(enum)을 이용하는 게 안전하고 편하다.
          * 가장 많은 실수가 일어나는 곳은 바로 SQL 장이다.
          * 두 번째 방법은 테스트를 보강해서 원하는 사용자 외의 정보는 변경되지 않았음을 직접 확인하는 것이다.
          * 이 정도 코드라면 한 번 살펴보는 것 만으로도 오류가 있는지 쉽게 찾아낼 자신이 있는 개발자도 있겠지만, 정말 뛰어난 개발자라면 아무리 간단해 보여도 실수할 수 있음을 알고 있기 때에 테스트를 만들어서 직접 동작하는 모습을 확인해보려고 할 것이다.
          * 코드가 깔끔해 보이지 안는 이유는 이렇게 성격이 다른 여러 가지 로직이 한데 섞여있기 때이다.
          * 하지만 여러 개의 SQL이 사용되는 작업을 하나의 트랜잭션으로 취급해야 하는 경우도 있다.
          * 이렇게 여러 기술의 사용 방법에 공통점이 있다면 추상화를 생각해볼 수 있다. 추상화란 하위 시스템의 공통점을 뽑아내서 분리시키는 것을 말한다. 그렇게 하면 하위 시스템이 어떤 것인지 알지 못해도, 또는 하위 시스템이 바뀌더라도 일관된 방법으로 접근할 수가 있다.
          * 어떤 클래스든 스프링의 빈으로 등록할 때 먼저 검토해야 할 것은 싱글톤으로 만들어져 여러 스레드에서 동시에 사용해도 괜찮은가 하는 점이다. 상태를 갖고 있고, 멀티스레드 환경에서 안전하지 않은 클래스를 빈으로 무작정 등록하면 심각한 제가 발생하기 때이다.
          * 패턴이나 설계 원칙을 공부하는 이유는 폼나는 용어를 외우고 기계적인 지식을 습득하면 저절로 깔끔하고 유연한 코드가 나오기 때이 아니다. 좋은 코드를 만들기 위한 개발자 스스로의 노력과 고민이 있을 때 도움을 주기 때이다.
          * 스프링을 DI 프레임워크라고 부르는 이유는 외부 설정정보를 통한 런타임 오브젝트 DI라는 단순한 기능을 제공하기 때이 아니다. 오히려 스프링이 DI에 담긴 원칙과 이를 응용하는 프로그래밍 모델을 자바 엔터프라이즈 기술의 많은 제를 해결하는 데 적극적으로 활용하고 있기 때이다. 또, 스프링과 마찬가지로 스프링을 사용하는 개발자가 만드는 애플리케이션 코드 또한 이런 DI를 활용해서 깔끔하고 유연한 코드와 설계를 만들어낼 수 있도록 지원하고 지지해주기 때이다.
          * 여기서 지적하지 않았다면 그 부분에 대해 딱히 제라고 생각하지 않았을 것 같다. - [김수경]
  • DPSCChapter1 . . . . 36 matches
         ''디자인 패턴''은 객체지향 언어로 제작된 프로그램에 23개의 패턴을 제시합니다. 물론, 23개의 패턴이 객체지향 디자이너들이 필요로 할 모든 디자인의 난제들을 전부 잡아내지는 못합니다. 그럼에도 불구하고 "Gang of Four"(Gamma et al.)에서 제시한 23개의 패턴은 좋은 디자인의 든든한 출발을 보장합니다. 이 23개의 패턴은 Smalltalk class libraries에 기반을한 디자인 수준(design-level) 분석(analog)입니다. 이 패턴을 이용해서 모든 제를 해결할 수는 없지만, 전반적이고, 실제 디자인의 다양한 제들을 위한 해결책을 위한 유용한 지식들의 기반을 제공할것입니다. 또, 이 패턴을 통해서 전가 수준의 디자인 지식을 취득하고, 우아하고, 사후 관리가 편하고, 확장하기 쉬운 객체지향 프로그램 개발에 기초 지식을 제공하는데 톡톡한 역할을 할것입니다.
         우리는 Gang of Four 책에서 이미 잘 서화된 정보는 반복해서 공부하지 않는다. 대신, 우리는 자주 그것을 참조해야한다. 여러분 또한 그렇게 해야한다.
         ''Smalltalk Companion에서, 우리는 패턴의 'base library'를 추가하지 않습니다. 그것보다, 우리는 base library들을 Smalltalk 의 관점에서 해석하고 때?灌? 확장하여 Smalltalk 디자이너와 프로그래머를 위해 제공할 것입니다. 우리의 목표는 '''Design Patterns'''을 대체하려는 것이 아닙니다. '''Design Patterns''' 대신 Smalltalk Companion을 읽으려 하지 마시고, 두 책을 같이 읽으십시오. 우리는 이미 Gang of Four에서 잘 서화된 정보를 반복하지 않을겁니다. 대신, 우리는 GoF를 자주 참조할 것이고, 독자들 역시 그래야 할 것입니다. -- 체를 위에거랑 맞춰봤음.. 석천''
         다른 이론적인 테두리안에서 프로그램(''전통적인 절차식 스타일'')을 한 후 객체 지향 언어를 배우는 것은 어렵다. Smalltalk 안에서 복합된 응용 프로그램 하는 것을 배우는 것은 복잡한 새로운 기술과 제에 대한 새로운 사고 방식을 요구한다.(" e.g Rosson & Carroll, 1990; Singley, & Alpert, 1991") "Smalltalk" 라는 산을 오르는 것은 확실히 사소한 것이 아니다. 일단 당신이 간단한 Smalltalk 응용 프로그램을 만드는 데 자신이 있는 경지에 닿았다고 해도, 아직 전가의 경지와는 분명한 차이가 있다.
         Smalltalk 전가들은 여러가지 다양한 추상적 단계와 폭넓은 programming과 design에 대한 지식과 기술면에서 초심자들이 알지 못하는 많은 것을 알고 있다.
          * Smalltalk의 법과 언어기호적인 저급단계 (컴퓨터에서의 low-level 단계)적인 항목에 대해
          * 새로운 제를 찾고 제 해결을 위한 기존의 모듈을 재사용하기 위해, 또는 정적이거나 동적인 관점 양쪽 측면에서 프로그램을 이해하기 위해 어떻게 Smalltalk IDE 툴을 사용해야 하는가에 대해
          * 객체의 환경설정과 상호작용, 이러한 서로 협력하는 객체들이 해결해야할 제들의 정렬 등에서 반복되는 패턴에 대해
         '''디자인 패턴'''은 끊이없이 발생하는 클래스 구성상의 제에 해결책을 제시하는 재사용할수 있는 실행 모델이나 아키텍처이다. 때로 패턴은 단독적이거나 하위 클래스 구조에서 어떻게 매서드 들이 함께 작용하는지를 묘사한다.; 아마도, 패턴상에서는 좀더 빈번히 다중 클래스나 그들의 인스턴스의 협력을 보여줄다.
         '''''패턴은 각기 다른 어플리케이션과 시스템상에서 재현되는 특별한(고유한, 플랫폼 종속적인) 아키택처, 전가들이 새로운 어플리케이션,분야에서 발생하는 특별한 제들을 제거한다. '''''(위에서 쓰인 one이 particular architecture와 동등한 위치로 해석한 방법. 다른의견 제안바람-상민
         그러므로, 전가들은 어떻게 새로운 제에 대하여 고아하고 확장성있는 해결책으로 안내하는 디자인 패턴의 활용 방법을 알고 있다.
         (그러므로, 전가들은 새로운 제를 해결하기 위해 명쾌하고 확장성이 뛰어난 디자인 패턴을 적용하는 방법을 알고 있다.)
         디자이너들-소프트웨어에만 국한하지 않은 수많은 분야에서-은 그들의 과거의 제와, 해법에 경험을 비슷한 제에 적용 시킨다. '''''Duego와 Genson(1996)은 전 디자이너들이 사례를 기반으로 경험에서 인지한 지혜안에서 과거의 사례를 기억하고 그들이 배운것을 적용시키는 것에 주목한다. (생략 및 의역) ''''' 이것은 체스의 고수, 의사, 변호사 그리고 건축가들이 새로운 제에 대응하는 추론 방식의 한 방식이다. 현재, 디자인 패턴은 소프트웨어 디자이너들이 배워온것들과 다른 분야의 디자이너(other designer)들의 경험들 모두를 감안한다. 이런 노력들은 결과적으로, "거인의 어깨에 올라서 있는것" 같은 방법으로 우리를 훌륭한 디자인에 이끌수 있다. John Vlissies(1997)은 디자인 패턴은 "전 지식을 잡고 비전가들이 그것을 이용하기 쉽게 해주는 것이라고 평한다. (p. 32).
         디자인 패턴은 새로운 패턴에 관해서 간단하게 원리를 표현하고, 패턴은 존재하는 모습을 꾸준히 설명한다.패턴은 세부내용에 들어가기 앞서, 좀더 큰 관점으로 이해를 할수있게 한다. 패턴은 우리가 좀더 큰 관점에으로 ㄸ 다른 디자이너들의 생각의 교환시 객체과 클래스가 어떻게 구성되어 있는지 묘사한다. 우리는 "싱글턴 메소드로 데이터 베이스 접근 부분을 구성했습니다." 그리고 "데이터 베이스 접근은 오직 하나의 인스턴스만이 접근하도록 해습니다. 그 클래스는 싱글 인스턴스의 방법 사용을 위해서 클래스 변수를 사용할것입니다. 그 클래스는 광역으로 광역으로 접근가능한 인스턴스로 될것이지만, ''나중고침''
         Christopher Alexander와 그의 친구, 동료들은 디자인 패턴이 공간활용과, 건축, 공동체의 구성방법 까지 확장되는 것에 관한 글을 써왔다. 여기에서 그들이 추구하는 바는 이런 분야에 적용을 통하여, 소프트웨어 디자인 패턴을 위한 또 다른 새로운 창조적 생각 즉, 영감을 얻기위한 일련의 작업(궁리)이다. ''The Timeless Way of Building''(1979) 에?? Alexander는 "때로는 서로다른 화권에서 아주 약간은 다르게 같은 패턴의 버전들이 존재하걸 볼수 있다"(p.276) 라고 언급한다. C++과 Samlltalk는 비록 같은 기본적인 패턴에서의 출발을 해도 다른 언어, 다른 개발환경, 다른 화로 말미암아 각자 다른 모양새를 보여준다.
         이책은 ''Design Patterns'' 에 대한 지침서, 편람으로 제작되었다. 하지만 관점은 ''Design Pattern''이 C++인것에 반하여 이 책은 Smalltalk에 기인한다. 그냥, 이 책 ''Smalltalk Companion''에 대해서 하나의 주제(design pattern)에 관한 다양한 자료 정도로 생각해 줬으면 한다. 우리는 Gang of Four book에서의 같은 패턴을 제공하지만, Smalltalk라는 안경을 통해서 바라볼것이다. (사실, 우리가 이름에 ''Samlltalk Companion''을 넣을때 어떤이는 "DesignPattern asSmalltalkCompanion" 을-역자주 Smalltalk언어상에서의 표현법 때인것 같습니다.- 제안하기도 했다. 하지만 그런 이름은 hard-core Smalltalkers들만이 그 이름을 받아들일꺼라고 생각했다.)
         하지만 ''Smalltalk Companion''은 ''Design Patterns'' 서를 단순하게 반복 하는것 이상이고 C++ 코드가 있을 경우 Smalltalk 예로 바꾼다. 결과적으로, 우리가 추가적인 분석, 분류, 혹은 기존의 패턴에 대한 약간의 불일치하다고 느끼는 많은 상황이 있다. 그러므로, 우리의 많은 토의가 다른 객체 지향 언어에 잘 적용되야 할 것이다.
          * Smalltalk를 좀더 잘알고 사용한다. 특히 주요한 Smalltalk 환경 class libraries들을 알아본다.
  • EightQueenProblem2Discussion . . . . 36 matches
         당신은 어떤 식으로 이 제에 접근을 했고, 어떤 사고의 과정을 거쳤으며, 어떤 과정으로 프로그래밍을 했으며, 어떤 디자인 결정을 했습니까? 만약 실패했다면 당신이 했던 것 혹은 하지 않았던 것 중 무엇이 실패의 주요인이었다고 분석을 하십니까?
         처음 제를 해결할 때, 아무 어려움이나 장애도 없었나요? 지금 뒤돌아볼 때에 자신이 거친 과정 중에 "개선되었으면 하는 부분"이 있나요? 만약 이 제를 다시 처음부터 새로 풀기 시작한다면 역시 똑같은 방식으로 프로그래밍을 할 것 같습니까(see also EightQueenProblemSecondTry)? 조금 더 깔끔하고 쌈박하게 푸는 방법도 있을까요? 어떻게 처음에 접근했더라면 더 "깨끗한" 코드가 나올 수 있었을까요? 비슷한 제에 직면했을 때 일반적으로 적용할 수 있는 어떤 "추상적 패러다임" 같은 것을 발견할 수 있을까요? 그 코드를 난생 처음 보는 사람이 있다고 했을 때 몇 분만에 그 코드를 이해시킬 수 있겠습니까? 만약 그 사람 혼자 그 코드를 본다면 쉽게 이해할 수 있을까요? 주석이 없이도요? 혹시 코드 내에 중복되는 정보는 없습니까? 본인의 의도가 모두 분명히 드러나고 있습니까? --김창준
         제를 나름대로 해결한 사람들은 StepwiseRefinement를 꼭 공부해 보세요.
         이미 알고리즘 수업 시간을 통해 생각해본 제이기에 주저없이 백트래킹(BackTracking) 기법을 선택해서 슈도코드를 종이에 작성해보았고 그를 바탕으로 구현에 들어갔습니다.(''그냥 호기심에서 질 하나. 알고리즘 수업에서 백트래킹을 배웠나요? 최근에는 대부분 AI쪽으로 끄집어 내서 가르치는 것이 추세입니다만... 교재가 무엇이었나요? --김창준 Foundations of Algorithms Using C++ Pseudocode, Second Edition 이었습니다. ISBN:0763706205 --이덕준'') 백트래킹은 BruteForce식 알고리즘으로 확장하기에 용이해서 수정엔 그리 많은 시간이 걸리지 않았습니다. 만일 EightQueenProblem에 대한 사전 지식이 없었다면 두번째 과제에서 무척 당황했을것 같습니다. 이번 기회에 코드의 적응도도 중요함을 새삼 확인했습니다. --이덕준
         이제는 처음 접해본 제라 먼저 종이에 체스판을 그리고 직접 제를 풀려고 해보았습니다. 그리고 생각해낸것을 종이에 적고(1여왕은 가로,세로,대각선 같은줄에 있음 안된다. 2,먼저 첫번째 여왕을 놓고 두번째 여왕이 놓일 위치를 결정한다. 3 검사하는 방법은 가로->세로->대각선 순으로 한다. 4 여왕8개가 다놓이면
         놓인 자리를 알려주고 끝난다.) 이 적은 것을 토대로 코딩을 하였고 처음 여왕은 0,0에 놓았습니다. 생각한대로 코딩을 했다고 생각하고 실행을 하자 무한루프를 돌았습니다. 전 처음 여왕이 어느 위치에 놓이던간데 거기에 맞는 답이 있는거라고 생각했는데 그것이 잘못되었다고 생각합니다. 처음부터 이 제의 답을 알고있었다면 프로그램을 짜는데 좀더 간결한 코드를 짤수있었을텐데 란생각이 들어서 코딩을 멈추고 종이를 꺼내 제를 풀기 시작했습니다. 하지만 답은 나오지않았고 제가푸는방식(여왕을 먼저 아무위치에나 놓고 그위치에 맞게 가로세로대각선에 없는 곳에 놓는다)을 그냥 코딩을 하였습니다. 처음 여왕의 위치를 8*8에 돌아가면서 놓고 검사를 하였습니다. 무식하긴하지만 답은 나왔습니다. 두번째 과제는 처음 코딩할때부터 판의 크기와 여왕의 숫자를 define해서 썻기 떄숫자만 바꾸어 주었습니다. 하지만 답이 맞는지 확신이 서지 않습니다. 그이유는 이제의 대한 알고리즘을 모르기 때이라고 생각합니다. 그리고 c++을 썻는데 방학동안 쭉 자바로 플밍하다가 c++을 쓴이유가 비주얼툴의 디버깅을 이용하려는 생각이었는데 무슨젠지 디버깅을 할수없어서 참 난감했습니다. 디버깅하면 금방알수있는 제를 눈으로 차근차근 훓으면서 봐야했습니다. --최광식
         두번째 제에 답이 있었군요.. 역시 제답이 틀리군요 실패의 원인은 제대된 알고리즘이 없다는 것이라고 생각합니다 BackTracking 알고리즘을 보고 왔지만 이제에 대한 설명도 보왔습니다. 하지만 알고리즘에 무지해서 그런지 잘 눈에 들어오지 않습니다. 그래도 밤새 풀면서(엉뚱한 답이다도) 오래만에 재밌었습니다. ^^-최광식
          ''기본적으로 이 제는 알고리즘을 스스로 고안(invent)해 내는 경험이 중요합니다. BackTracking 알고리즘을 전혀 모르는 사람도 이 제를 풀 수 있습니다. 아니, 어떻게 접근을 해야 BackTracking을 전혀 모르는 사람도 이 제를 쉽게 풀 수 있을까 우리는 생각해 보아야 합니다.''
         저는 뭐 아무것도 없이 제만 보고 뛰어들었습니다. 일단 두번의 실패 (자세한 내용은 EightQueenProblemDiscussion)이후 세번째로 잡은 생각은 일단 한줄에 한개만 말이 들어간다는 점이었습니다. 그 점에 착안하여. 8*8의 모든 점을 돌게 만들었습니다. 좀 비효율적인데다가 아주 엉망인 소스 덕분에.. 제는 풀었지만.. 수정/보완에 엄청난 시간이 걸리더군요(종료조건을 찾을수가 없었다는.. 그래서 수정에 30분 이상 걸렸습니다.) 후...... 이래저래 많은 생각을 하게 한 소스였습니다. ㅡ.ㅡ;; 왠지 더 허접해 진 느낌은.. --선호
         원래 만들어놓은것이 전체가 표시되는 것이여서 특별히 고친것은 없었습니다. (단, 디버깅제로 소스수정제 빼고는..)
         저는 제를 보고 각 줄별로 작업을 해도 되겠지만, 맵에 퀸이 들어갈 수 있는 자리를 정하는 것을 위주로 햇습니다.
         두번째 제에서는 최소한의 처음에 찾은 자리에 대해 가장 변화가 적은 자리부터(가능한) 생각하게 설계를 조금 바꿨습니다.
         어제 서점에서 ''Foundations of Algorithms Using C++ Pseudocode''를 봤습니다. 알고리즘 수업 시간에 백트래킹과 EightQueenProblem 제를 교재를 통해 공부한 사람에게 이 활동은 소기의 효과가 거의 없겠더군요. 그럴 정도일줄은 정말 몰랐습니다. 대충 "이런 제가 있다" 정도로만 언급되어 있을 주 알았는데... 어느 교재에도 구체적 "해답"이 나와있지 않을, ICPC(ACM의 세계 대학생 프로그래밍 경진대회) 제 같은 것으로 할 걸 그랬나 봅니다. --김창준
         음.. 전 처음 본 제였습니다.
         매번 위키나 블로그나.. 이야기만 들어봤지 실제 사용은 안해봤는데..
         학교에서 알고리즘 시간에 너무 많이 놀았기 때인지.. -_-;; 우리 학교에서는 BackTracking이 AI시간에 배우는 부분이라서 그런지..
  • 프로그래머의길 . . . . 36 matches
         독자중 한 사람이 필자에게 이런 질을 한적이 있다.
          필자의 답변은 '해답은 없습니다.'였다. 하지만 어렵게 질해온 독자에게 어설픈 답변을 할 수 없기 때에 프로그래머의 길이란 어떤 것인가에 대해 답변을 보낸 적이 있다.
          프로그래머는 화가와 같다. 화가의 그림에 대한 영감이 프로그래머의 코드에 대한 영감이며, 화가의 화판은 프로그래머의 자판인 것이다. 단지 프로그래머는 화가가 사용하는 붓대신 손을 이용한 코딩을 한다는 차이점 뿐이다. 맨처음 코딩에 대한 영감은 단순하게 시작한다. 하지만 그 영감을 현실속으로 끌어내기 위해서는 많은 시행착오를 거치게 된다. 자신의 실력을 한탄하기도 하면서 자신이 만들어낸 알고리즘에 흠뻑 취하기도 한다.
          초반의 정열은 무섭다는 표현이 맞을 것이다. 정말 자신이 생각해낸 알고리즘의 성공 여부를 알아보기 위해 무섭게 그 일에 매달린다. 밤과 낮이 서로 바뀌고, 모든 사회적 화권에서 소외된다. 이와 같이 초반의 정열은 그 끝이 어디인지도 모르는 자아도취의 행동인 것이다. 하지만 이러한 정열은 바로 시들어 버린다. 현실속에 안주할 것인가 아니면 이상을 선택할 것인가 하는 기로에 놓이게 되기 때이다.
          현실 속의 안주는 시간과의 싸움이다. 모든 프로젝트는 정해진 시간을 갖고 있다. 초반 설계 단계에 수립된 계획은 불가피하게 수정되는 경우가 태반이다. 이는 코딩중에 예상치 못한 복병(?)을 만나게 되는 경우가 있을 수 있으며, 관리자의 무리한 계획으로 초반 계획이 수정되는 경우도 있다. 모든 프로그래머들은 항상 후자에 치중하게 된다. 현실도피를 위한 희생양으로 몰아세우는 격이지만, 대부분의 경우는 관리자의 이해 부족에 의한 비현실적 계획이 주를 이루기 때이다.
         이와 반대로 이상을 선택하는 프로그래머는 그 다음부타 자신과의 싸움이 시적된다. 끈기 바로 이것이다. 흔히 우리는 능력이 탁월한 사람보다는 성실한 사람을 더 높이 평가해중다. 프로그래머 역시 끈기가 없으면, 완성도 높은 프로그램을 만들지 못한다. 자신이 만든 알고리즘이 아무리 탁월하다고 해도 이를 이용한 애플리케이션의 완성도가 높지 않으면, 아무리 탁월하다고 해도 이를 이용한 애플리케이션의 완성도가 높지 않으면, 아무도 알아주지 않는다. 필자는 수많은 디버깅과 요구사항을 수용해 나가면서 자신의 이상을 실현해 나가는 프로그래머를 높이 평가하고 싶다. 그리고 그러한 사람이야말로 발전 가능성이 있으며, 신뢰할 수 있는 프로그램을 만들기 때이다.
         사실 완벽한 코딩이란 존재하지 않는다. 다만 완벽을 위해 프로그래머는 키보드를 애인으로 삼을 뿐이다. 끈기있게 코드를 디버깅하는 프로그래머는 그만큼 버그의 수를 줄일 수 있고, 또한 추가 요구사항에 대한 대비도 충분히 할 수 있다. 따라서 필자는 프로그래머란 정열보다는 끈기가 더 필요하다고 말하고 싶다. 정말 진정한 프로그래머란 자신의 역량보다는 한 주제에 대한 완벽에 가까운 해결책을 찾아내는 끈기있는 사람이라고 생각한다. 우리 모두 학창시절 어려운 수학제를 풀던 때를 생각하면서, 그 의미를 되새겨보자.
         사람은 누구나 어떤 일을 하든 넘어야 할 벽을 만나기 마련이다. 프로그래머역시 여러가지 벽을 만나게 되는데, 필자는 컴퓨터의 벽을 크게 '''이해의 벽'''과 '''창조의 벽''', 그리고 '''마음의 벽'''으로 구분하고자 한다. '''이해의 벽'''은 초보자가 넘어야 하는 벽이고 '''창조의 벽'''은 중급자가, 그리고 마지막 벽인 '''마음의 벽'''은 전가가 넘어야 하는 벽이다.
         이 글을 읽고 있는 독자라면 어느 정도 프로그래밍을 해본 경험이 있을 것이다. 초보자라 함은 프로그래밍에 입하고자 하는 사람을 말한다. 즉 컴퓨터 사용부터 천천히 배워나가고 있는 사람들이다. 이들은 특정 학원 혹은 학교의 정규 과정을 통해 동료들과 함께 배우기도 하고, 또는 개인적으로 학습해 나가는 경우도 있다. 초보자들의 공통점은 전가들의 논쟁을 아직 이해 할 수는 없지만큰 관심을 갖고 있으며, 컴퓨터로 모든 일이 가능할 것이라는 부푼 기대에 차있다는 것이다. 여기서 그들의 기대감이 제시 된다. 기대가 크면 클수록 돌아오는실망감은 비례한다.바로 컴퓨터로 할 수 있는 일이 한정돼 버리는 시점에서 더 이상의 진전이 없게 되는 것이다.
         초보자 들 중 주위 사람들 보다 좀더 많은 내용을 알고 있다는 자만심을 갖고 있는이들이 특히 그럴 확률이 높다. 이들은 일종의 유틸리티를 이용해 남들이 하지 못하는 기법을 익혀 이를 자랑하면서 우월감에 사로 잡히게 된다. 하지만 그러한 우월감은 그리 오래 가지 않는다. 자신보다 더 뛰어난 전가를 만나면 '도대체 내가 무엇을 하고 있는가?'하는 반이 생기기 때이다. 여기서 이들은 '이해의 벽'을 피부로 느끼며, 컴퓨터를 이용한 새로운 도전을 받아들이게 된다. 물론 이 시점에서 이해의 벽을 뛰어넘지 못하는 이들도 있을 것이다.하지만 프로그신머의 길을 걸어가기를 원하는 이는 자신에게 닥친 상황을 돌파하기 위한 해결책을 찾는다. 이것이 바로프로그램이다. 필자는 이들에게 이렇게 말하고 싶다.
         프로그램은 컴퓨터가 이해할 수 있는 기계어를 사람이 좀더 쉽게 알아볼 수 있도록 만든것에 불과하다 이를 다시 표현하자면, 기계와 언어소통하기 위해 프로그램을 배운다는 것이다. 우리는 외국어를 공부하면서 화적 이질감으로 인해 단어의 의미를 파악하기 힘들때가 종종 있다. 이는 그 나라의 풍습과 역사를 이해하지 못하기 이다. 컴퓨터도 마찬가지 이다. 컴퓨터를 이해하지 못하면 프로그램 역시 서투른 번역이 돼버린다. 다시 한번 논하지만, 프로그램을 배우는 과정을 컴퓨터를 이해한다는의미로 받아들이면 좀더 쉽게 중급자의 길로 도약할 수 있을 것이다.
         첫번째 벽인 '''이해의 벽'''을 뛰어넘은 중급자는 그들만의 고유 영역을 갖게 된다. 이것이 바로 코딩이다. 코딩은 그 방법만 알면 쉽게 처리할 수 있다. 방법은 경륜이라 해도 과언이 아니다. 도공은 자신이 만든 도자기를 보며, 완벽하지 않은 것들을 일반인이 이해할 수 없을 정도로 부셔 버린다. 우리는 아무리 보아도 그것 들의 차이점을 알아낼 수가 없다. 하지만 경륜이 많은 도공은 도자기의 빛깔과 형태만 보아도 좋은 도자기인지 아니면 버려야할 도자기인지 알아낸다. 프로그램도 마찬가지이다. 컴퓨터를 이해하고 있는 프로그래머는 실행되고 있는 응용 프로그램만 보다도 어떻게 그것을 만들어 냈는지 알 수 있다 그리고 어떤 어려운 제가 닥치더라도 해결점을 찾아낸다.
          그렇다면 이 정도의 실력을 갖추기 위해서는 어떻게 해야할까? 아마도 많은 독자들이 궁금해하는 제일 것이다. 정확한 해답이 있을 수 없는 질이다. '''영어에 왕도는 없다'''라는 표현을 빌어 '''프로그램에는 왕도가 없다'''라고 표현하는 것이 정답일 것이다. 하지만 왕도는 없지만 방법은 있다. 바로 '''자신이 할 수 있다고 판단하는 것보다 항상 더 많은 일을 만들어 내라는 것이다.''' 의미는 도전 정신이 필요하다는 뜻이다. 예를 들어 자신에게 주어진 일이 10만큼의 크기라면 자신의 목표를 20정도로 세우는것이다. 그러면 10만큼도 하기 벅차다고 느끼던 것이 어느날 목표한 10을 이루고 20으로 다가가고 있는 자신을 발견하게 될것이다. 만약 목표한 10도 이루지 못했다고 해서 실망하지는 말자. 돌이켜 보면 프로젝트가 실패했다고 해서 잃는 것보다는 얻은 것 더 많다는 것을 알게 될것이다. 필자는 중급자의 벽인'창조의 벽'을 해결하기 위해서는 무엇보다도 도전 정신이 필요하다고 주장하고 싶다.
          프로그래머들의 마지막 벽인 '''마음의 벽''', 이 벽은 상당한 의미를 가진다. 전가로 성장한 프로그래머들은 누구보다도 마음이 굳게 닫혀 있는 경우가 많다. 자신만이 완벽한 코드를 작성해 낸다는 마음자세가 이들을 그렇게 만들어 버린다. 프로그래머의 고집은 가히 말로 표현할 수 없을 정도로 완강하다. 아니 고집이 아닌 아집에 가깝다. 고집은 자신이 스스로 잘못을 인정할 수 있는 수준이지만, 아집은 그 잘못도 자신이 아닌 다른 사람의 영향에 의해 발생한 것이라 말하는 것이다. 고집이 없는 프로그래머는 프로그래머라 할 수는 없지만, 그 고집이 아집이 돼서는 안된다.
          인간의 욕심은 끝이 없다는 표현이기도 한 이 말이 '어떻게(어떤게? - 맥상 어느게 더 어울릴까요 - 오타수정하던 임인택) 프로그래머들이 가져야 할 자세인가'라고 반하는 독자들이 있을 것이다. 지금까지 프로그래머의 길을 연재해 오면서 필자는 프로그래머라면 욕심을 갖고 있어야 한다고 강조했고, 또한 도전정신에 의해 그 욕심을 실현하라고 표현했다. 그렇다면 역설적인 표현이 아닌가!
          만약 이와 같이 생각한 독자가 있다면 필자가 의도하는 내용을 정확하게 파악한 것이 아니다. 버리라고 표현한 것은 자기 자신이 가지고 있는 생각, 즉 프로그램에 대한 생각을 버리라는 것이다. 우리 인간은 변화에 대한 불안함을 내포하고 있다 특히 나이가 들수록 그 정도는 심화되고, 젊은 사람들의 사고를 이해하기보다는 왜곡됐다고 평하게 된다. 이는 그 사람의 가치관이 고정돼 버렸기 때에 자신의 사고와 일치하지 않는 다른 모든 행동을 잘못됐다고 생각한다.
         코드를 버러야 하는 두번째 시점은 완성된 프로그램의 버젼 업그레이드에서 발생한다. 첫번째 경우보다 더 많은 용단을 필요로 하는 시점이기도 하다. 응용 프로그램의 버전업은 이미 만들어진 응용 프로그램에 사용자의 추가 요구사항을 수렴해서 개발한다는 의미와 이전 버전에서 발생된 제점을 해결한다는 의미를 동시에 가지고 있다. 간혹 사용자의 추가 요구사항이 프로그래머가 상상할 수 없는 경우일 때도 있다. 그 모든 요구사항을 다 수렴해 프로그램을 만들수 는 없기 때에 프로그래머는 타협점을 찾아 다음버전의 기능을 제한시키게 된다.
         바로 사용자와 프로그래머 사이에서 발생되는 타협점을 결정하는 시점에서 프로그래머의 마음 가짐이 능동적인 자세인지 수동적인 자세인지 따라 코딩의 방향이 결정된다. 능동적이고 적극적인 프로그래머는 사용자의 요구사항을 검토해 참신한 아이디어일 경우 이를 적극 수렴한다. 하지만 수동적인 프로그래머는 현재 버전에서 지원될수 있는 사항만을 검토하는 성향이 있다.
         프로그래머들이 이 시점에서 생각하는 것은 시간이다. 주어진 시간에 어떻게 그 기능을 추가할 것인가를 걱정한다. 너무 많은 코드의 변화는 주어진 시간에 완성할 수 없다는 것이다. 따라서 적당한 타협점을 찾는 것이 프로그래머의 보편적인 경향이다. 하지만 사용자의 요구사항을 수렴하는 방향으로 전환한다면, 프로그래머는 자신의 코드를 다시 한번 생각하게 될것이다. 필자는 이것을 바라는 것이다. 지신의 코드를 다시한번 돌이켜 보면 , 자신의 오류를 찾을수 있고, 또 사용자들이 바라는 방향을 예측할 수 있게 된다. 바로 이것이 완벽에 가까운 코드를 작성하는 방법일 것이다.
         한정된 시간안에 이미 작성된 코드를 버리는 것이 낭비란 생각하지 말자. 코드를 버리고 다시 작성한다고 이전 만큼 시간이 많이 소비되지는 않는다. 만약 프로그래머가 10일 동안 작성한 코드를 겸허한 마음으로 다시 작성한다면 2일에서 4일 안에 더 좋은 코드를 작성할 수 있을 것이다. 물론 코드를 버리고 다시 작성하기 때에 시간이 더 필요한 것은 사실이다. 하지만 시간에 종속된 코드가 아닌 시간을 지배하는 코드를 만든다는 신념으로 생활하자. 모든 프로젝트의 시간은 유동적일수 있다. 코딩은 사람이 하는 창조적인 작업이기 때에 그 누구도 시간을 예측할 수는 없다. 다만 자기 자신 스스로 잘못된 부분을 찾아 수정해 잘 다듬은 코드를 보면 나름대로 누구도 느껴보지 못한 자신감이 생길 것이다.
  • HowManyZerosAndDigits . . . . 35 matches
         [http://online-judge.uva.es/p/v100/10061.html 원보기]
         이 제는 주어진 수 체계의 팩토리얼 수의 0의 개수와 숫자의 개수를 찾는 것이다. b진수 체계는 0 ~ b-1 범위의 숫자를 갖게 된다.
         10진수 N과 10진수 B가 한 줄씩 입력된다. 이 때 N은 20비트의 부호 없는 숫자이며, 진수 체계인 B의 범위는 1 < B <= 800 이다. 10진수에서 5! = 120 일때, 16진수 체계에서는 78이 된다. 그래서 16진수 5!은 0이 없다.
         입력에 대해서 주어진 진수 체계에서 팩토리얼 수의 0의 개수와 숫자의 개수를 한 줄씩 출력한다. 두 숫자 사이에는 공백으로 구분한다. 0의 개수와 숫자의 개수가 2^31-1보다 크지는 못할 것이다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || ? || [HowManyZerosAndDigits/보창] ||
          || [임인택] || Java || ? || [HowManyZerosAndDigits/임인택] [[BR]] 주의 : 일단 10진법 이상의 진법도 10진수로 표현한다고 가정하고 제를 풀었음 [[BR]] (예를 들어 A0 대신 10 0 이라고 표현한다고 가정) ||
         만약 800진법일 경우 0~9 까지의 숫자는 표현할수 있겠지만 그 이후의 숫자는 어떻게 표현하나요? 16진법으로 나타낼때 0에서 F 로 표현하는 것처럼, 800진법에서 10이상의 수를 표현해야 할 방법이 있어야 할 것 같은데요. 알파벳을 이용한다고 해도 Z(35)이후의 수는 표현할 방법이 없는데요. 이에 대한 정의가 없다면 정확한 답을 구할 수 없을 것 같습니다(제에서 말한 ''0의 개수''말이죠). 간단한 예를 들어 설명하자면,
         16진수 0xA0 에서 두번째 자리의 A를 그냥 A로 받아들이면 0의 개수는 1개이겠지만, A라는 표기 대신에 10이라고 표기했으면 0의 개수는 2이지요. 게다가 이때에는 전체 숫자의 개수를 2라고 해야 하는지 3이라고 해야 하는지도 명확하지 않습니다. 만약 제에서 ''숫자의 개수''라는 표현 대신에 ''자리수''라고 표현했으면 2이겠지만 제에서 ''숫자의 개수''라고 했으니 제를 이해하는데 어려움이 많습니다. 또 10진수 680000 을 800진수로 변환할때 이를 어떻게 표기해야 할지도 명확하지가 않습니다.
         그리고 제를 설명하는 장의 내용이 한번에 와 닿지가 않네요. 장을 조금 다듬어 주시면 감사하겠습니다. ^^ - [임인택]
         책에 있는 올림피아드 제 원 그대로를 실었습니다. 제가 명확하지 않다는 점을 부정할 순 없지만, 제에 손을 댈 경우 제 주관적인 생각이 제의 틀을 바꿔버릴 수 있기때에 어쩔수 없습니다. 개인적 소견으로는 N!을 B진법으로 변환하는 것이므로, 입력을 받는 N이 조금만 커져도 N!이 굉장히 커지기 때에 N은 B보다 작은 범위, 즉 B진수 체계에서 한자리를 입력받는 제가 아닐까 합니다. 또한, 제의 마지막 조건인 2^31-1 같이 int형의 오버플로우방지를 해 놓은 것에서 보듯 범위를 어느정도 제한해 놓았다고 보여집니다. 정확한 답변을 드리지 못해 죄송합니다. - [보창]
         [제분류]
  • WOWAddOn/2011년프로젝트/초성퀴즈 . . . . 35 matches
         WOW의 애드온은 Lua나 Ruby와 같은 스크립트 언어를 사용하는것으로 알고있다.
         WOW애드온 초성퀴즈를 만들기위함이기 때에.
         현재 Eclipse개발환경중 자 Encoding은 UTF-8방식이다.
         초성 = (원자 /21 /28)
         중성 = ( (원자%(21*28))/28)
         이렇게 하고 자 규칙에 따라 빼온다.
         또한 Widget과 LuaFunction의 사용정보를 볼수 있다.
         여기서 아이템 초성 퀴즈의 기본은 아이템 이름 DB를 검색할수 있어야한다. 근데 WOW아이템은 현재 아이템 넘버만 7만을 넘는다. 중간중간 비어있는 index도 있다. 이게 뭥미. 아마 suffix때일것으로 예상된다. suffix란 아이템에 부가적으로 붙은 옵션을 item index에수치화 한것을 부르는 말인데 그것에 따라 아이템의 index가 결정되는것 같더라. (아직 정확히는 모른다)
         아직 WOW addon에 대해서 모르는것도 있고. WOW에서 사용하는 몇몇 자료구조가 특이한건 알겠다. 젠장. Item에 뭔 부가정보가 그렇게 많이 붙어!! 여튼 그것에 대해서는 한번 다시 다루어보아야겠다.
         황현이 준 UTF-8로 첫 바이트로 뒤에 몇바이트를 차지하는 자인지 보여주는 도표를 가지고 Lua로 바꾸어보았다.
         아래 함수는 자열이 들어오면 몇 byte를 차지해주는지 알려주는 함수이다
         이제 3byte를 찾을수 있으니 영과 특수자가 섞여있어도 초성만 뽑아내는데는 아무 제 없을것이다.
         이제 한글 자열을 집어넣는다면 초성만 빼와주는것을 발견할수 있다. Lua에서 초성 ㄱ은 3byte로 인식되기 때에 캐릭터형 'ㄱ'으로 감싸면 환경에 따라 에러가 날수 있다. 따라서 자열 " "로 감싸주었다.
         하면 30개의 제가 진행된다.
         parsing해서 원하는 자만 뽑아보자.
         Addon이 적재되면 해당 프로그램 전체가 올라간것이기 때에 WOW 메모리에 할당이 되있다. 따라서 Addon에서 flag는 따로 메모리를 할당 받았다는 얘기. 따라서 전역 변수는 addon의 함수 어디서든 접근이 가능하단 소리가 된다.
          print("초성퀴즈 시작 " .. x .. " 제!");
          else print("초성퀴즈 기본 시작 10 제!");
         WOW 출력 : 초성퀴즈 시작 50 제!
         WOW 출력 : 초성퀴즈 기본 시작 10
  • 새싹교실/2012/세싹 . . . . 35 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          * wiki를 왜 쓰는지, 어떻게 사용하는지에 대해 배웠습니다.
          2) 원하는 경로에 빈 서 만들기 (확장자는 .c로 해주세요)
          3) 해당 서에 코드 작성
          5) gcc로 컴파일을 합니다. (gcc 파일명.c -o 원하는파일명 -std=c99) 해당 예제외에 추가로 여러 옵션을 줄수 있습니다.
          * 서작성, 버전관리, 주석처리 등 아직은 실감이 안나겠지만 처음부터 습관을 들이는것이 중요합니다.
          * wiki 사용법 익히기
          * 숙제를 수행하기 위해 버추얼 박스를 설치하였습니다. 설치파일이 정상적으로 실행 않는 제가 있었는데 인터넷으로 강제 압축해제하는 방법을 듣고 7z으로 압축을 해제하는 방법으로 해결하였습니다. 데몬이 없어 iso파일도 7z으로 풀었습니다. - [김희성]
          * amd64버전을 쓰려고 했더니 cpu제로 가상머신에서 설치되지 않는군요. i386버전으로 깔았습니다. -[김희성]
          1) gcc 컴파일 옵션이 어려웠습니다. - gcc 컴파일 옵션의 대부분은 컴파일에 크리티컬한 것이 아니라 사용자에게 정보를 제공하는 것이 목적입니다. 그냥 안써도 되요 :D
          1) 우리가 사용하는 인터넷은 패킷 스위치 방식으로 소포에 주소를 써서 목적지에 보내는 것 처럼 작동하는 네트워크 입니다.
          - app : 우리가 실제로 사용하는 서비스를 제공하는 계층입니다. http, smtp, ftp등이 있습니다.
          - 이런 기능들을 단계별로 나눈 이유는, 자신의 하위 계층의 구현내용이 어떤지 잘 몰라도 그 기능을 사용할 수 있도록 하기 위해서입니다.
          2) 요구사항은 클라이언트에서 보내온 메시지를 서버측에서 대자로 바꿔서 다시 클라이언트에게 보내주는 것입니다.
          4) 리눅스 환경에서 gcc를 사용해 봅시다.
          * 오피에서 숙제를 했습니다. VS로 하려니까 뭔가 막 오류가 나는데 고치지는 못하겠고 그래서 우분투를 깔아서 시도를 했네요. 용어가 익숙하지 않아서 그런지 함수 설명을 봐도 한번에 와닿지 않아서 힘들었습니다. 아 그리고 숙제를 하다가 생긴 제인데요. 서버 프로그램을 처음 실행했을 때는 괜찮은데 두 번째로 실행했을 때는 Bind에러가 나네요. 그래서 매번 실행할 때마다 포트값을 수정해야했습니다. 왜 이런 제가 생긴걸까요? - [권영기]
          - 서버소켓의 경우 창구의 역할을 하기때에 클라이언트에서 서버로 요청이 올 경우 별도의
          - thread를 이용하여 서버와 클라이언트를 한 어플리케이션 안에서 사용하는
          - thread가 어떤 것인지 왜사용하는지 어떻게 사용하는지 간단히 소개하였습니다.
          - 클라이언트에 while만 추가하면 간단할 것 같습니다.
  • 제12회 한국자바개발자 컨퍼런스 후기/유상민의후기 . . . . 35 matches
         원 : 한국 자바 개발자 컨퍼런스/12회 관련 개인 위키 페이지
          * 원 내용중에는 내용 중 메모, 지적질(?), 아이디어들이 뒤섞여 있어서 내용은 제거. JCO 의 pdf 찾아보면 됨. 없다고 판단되는 내용만 남김 --NeoCoin
         내용을 들으면서 '이거 너무 워터폴인데?' 라고 생각했는데, 서에 써 놓은거에 양에 비해서 비해서 잡아놓은 워크샵 일정이 매우 짧다. 앞뒤가 안맞는거 같다.
          * 메뉴얼 주었을때 따라하는 사람은 없을 것 같다. 그래서 보조자가 중요하다고 했는데, 위의 내용은 회의의 주최나 진행자만 자세히 알고 있으면 될것 같다. 이걸 가지고 질하는 분들이 안쓰럽게 느껴졌다.
          * 나는 듣는 내내 발표자 본인이 확신을 가지지 못한다고도 느낀다. 짧은 시간에 너무 많은 내용을 읽어줘버려서 발생하는 제로 생각한다. 그래도 이렇게 많은 정보를 이야기 하려면, 눈을 반짝이면서 신나게 해야 동조 할까말까 한데.. 너무 방어적으로 남 이야기 하는거 같았다.
         === 질을 했다. ===
          * 대답 못함, 그래서 다르게 바꿔서 질
          * 중간에 말씀하신 것 중에 많은 자료를 참고해서 개념 정립을 했다고 말씀하셨다. 그렇다면 이 요구사항 석 역시 아이디어의 근원이 될수 있는 방법론 중 참조한걸 알수 있을까?
          * 사용 어휘는 손영수씨와 친분을 강조하는 부분이 불편했다. 질하는 내가 바보 같이 느껴졌다.
         대답을 통해서, 학교에서 소프트웨어 공학 수업들었을때와 비슷한 느낌을 받을 수 있었다. 요구 분석 절차를 위해서 300페이지 짜리 서를 보면서 5분단위로 쪼개진 프로세스를 지키면서 하라는 소리는 하지말라는 의미와 별반 차이 없을 것 같다. 중간에 청중에게 질한게
         하지만, 과거 교수가 가르쳤을때 소프트웨어의 규모가 '매우 컸을때'라는 전가의 보도로 이렇게 많은 액션들이 필요하다고 이야기 할수 있을것 같은데, 저렇게 자세하고 많은 절차를 제시하고 놓고 워크샵 참여 인원과 숫자는 몇명 수준이고, 이 많은 절차를 2일간에 하라는건 좀 이상하다.
         === 질을 했다. ===
         위에 내용을 시작하자 마자 충격 먹고.. 갈곳 없어서 여기에 들어갔다. 스프링 관련 들으려고 했었는데 다 비슷한 생각인 모양. 사람이 너무 많아서 들어갈수도 없었다. 인천 관련 이곳은 있었음. 재미있는 점은 여기에 VIP 다 모여있다. (jco 회장단, 전자신 기자, 각종 업체들) 제목이야 홍보 자리였는데, 알고보니 업체들 커뮤니케이션 하는 자리였던 모양.
          * 개발화에 대한 몰이해
          * 인천 뿐 아니라 다른 지역도 마찬가지, 나는 서울보다 분당에서 일한 경험이 좋았다. 지금은 돈 때에 서울에 있다.
          * 화가 부족한 건 업체의 소임이 아니라 개발자가 와서 그렇게 만들어야 한다. 업체가 해줄 수 있는건 한계다.
         전자신 기자 질 -> 양수열 (전 jco 회장)
          * 글자에 표현안되지만, 기자는 다소 도발적인 질이고 기분 나쁠 수 있게 따지듯이 물었다. 그런데 정말 놀랍게도 답변자는 질의 관점을 바꾸어서 부드럽게 대답하였다. 정말 대단하다. 큰 인상을 받았다. 3자로서 듣는 입장은 정말 대단히 좋은 답변이었다. 그런데 기자는 만족못한 표정이었다.
         전자신 기자 동일 질 -> 최상훈 (현 jco 회장)
          * 열린게 중요한거 같다. 방금 업체측에서 말씀하셨는데, 그런 부분이 이해가 부족한 부분인거 같다. 열어야 한다(openness). 예를들어, 블로그 같은것으로 회사의 화 같은걸 알린다던지 하는 행동이 출발점이 될 수 있을 것 같다.
  • HowToStudyDataStructureAndAlgorithms . . . . 34 matches
         그리고, 자료구조 레포트 선배들이 한 것이 있으니까, 그 제들 구현을 목표로 잡아도 좋고. (원한다면 보내줄께.) ex) 스택:스택 구현, postfix 의 구현, 계산기 구현. 큐:큐 구현. 리스트:다항식 덧,뺄셈 & 곱셈 구현 (polynomial) 트리:2진트리구현
         자료구조는 일단 1. 각각의 자료구조들의 특징을 이해하고. 2. 실제의 구현법을 익히며 (뭐.요새는 collection library들을 제공하므로 직접구현할 일이 줄어들었긴 했지만. 그래도 여전히 기초가 됨) 3. 해당 제상황에 적절한 자료구조를 선택할 수 있는 눈을 다듬어야 함. --석천
         제가 생각컨데, 교육적인 목적에서는, 자료구조나 알고리즘을 처음 공부할 때는 우선은 특정 언어로 구현된 것을 보지 않는 것이 좋은 경우가 많습니다 -- 대신 pseudo-code 등으로 그 개념까지만 이해하는 것이죠. 그 아이디어를 Procedural(C, 어셈블리어)이나 Functional(LISP,Scheme,Haskel), OOP(Java,Smalltalk) 언어 등으로 직접 구현해 보는 겁니다. 이 다음에는 다른 사람(책)의 코드와 비교를 합니다. 이 경험을 애초에 박탈 당한 사람은 귀중한 배움과 깨달음의 기회를 잃은 셈입니다. 참고로 알고리즘 교재로는 10년에 한 번 나올까 말까한 CLR(''Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, and Ronald L. Rivest'')을 적극 추천합니다(이와 함께 혹은 이전에 Jon Bentley의 ''Programming Pearls''도 강력 추천합니다. 전세계의 짱짱한 프로그래머/전산학자들이 함께 꼽은 "위대한 책" 리스트에서 몇 손가락 안에 드는 책입니다. 아마 우리 학교 도서관에 있을 것인데, 아직 이 책을 본 적 없는 사람은 축하드립니다. 아마 몇 주 간은 감동 속에 하루하루를 보내게 될 겁니다.). 만약 함께 스터디를 한다면, 각자 동일한 아이디어를 (같은 언어로 혹은 다른 언어로) 어떻게 다르게 표현했는지를 서로 비교해 보면 또 배우는 것이 매우 많습니다. 우리가 자료구조나 알고리즘을 공부하는 이유는, 특정 "실세계의 제"를 어떠한 "수학적 아이디어"로 매핑을 시켜서 해결하는 것이 가능하고 또 효율적이고, 또 이를 컴퓨터에 어떻게 구현하는 것이 가능하고 효율적인지를 따지기 위해서이며, 이 과정에 있어 수학적 개념을 프로그래밍 언어로 표현해 내는 것은 아주 중요한 능력이 됩니다. 개별 알고리즘의 카탈로그를 이해, 암기하며 익히는 것도 중요하지만 더 중요한 것은 알고리즘을 생각해 낼 수 있는 능력과 이 알고리즘의 효율을 비교할 수 있는 능력, 그리고 이를 표현할 수 있는 능력입니다.
         첫번째가 제대로 훈련되지 못한 사람은 알고리즘 목록의 스테레오 타입에만 길들여져 있어서 모든 제를 자신이 가진 알고리즘 목록에 끼워맞추려고 합니다. DesignPatterns를 잘 못 공부한 사람과 비슷합니다. 이 사람들은 마치 과거 수학 정석을 수십번을 공부해서 제를 하나 던져주기만 하면, 생각해보지도 않고 자신이 풀었던 제들의 패턴 중 가장 비슷한 것 하나를 기계적, 무의식적으로 풀어제끼는 "제풀이기계"와 비슷합니다. 그들에게 도중에 물어보십시오. "너 지금 무슨 제 풀고있는거니?" 열심히 연습장에 뭔가 풀어나가고는 있지만 그들은 자신이 뭘 풀고있는지도 잘 인식하지 못하는 경우가 많습니다. 머리가 푸는 게 아니고 손이 푸는 것이죠.
         두번째가 제대로 훈련되지 못한 사람은 일일이 구현을 해보고 실험을 해봐야만 알고리즘간의 비교를 할 수 있습니다. 특히 자신이 가진 카탈로그를 벗어난 알고리즘을 만나면 이 제가 생깁니다. 이건 상당한 댓가를 치루게 합니다.
         세번째가 제대로 훈련되지 못한 사람은, 제를 보면 "아, 이건 이렇게 이렇게 해결하면 됩니다"라는 말은 곧잘 할 수 있지만 막상 컴퓨터앞에 앉혀 놓으면 아무 것도 하지 못합니다. 심지어 자신이 생각해낸 그 구체적 알고리즘을 남에게 설명해 줄 수 있기까지 하지만, 그들은 그걸 "컴퓨터에게" 설명해 주는 데에는 실패합니다. 뭔가 생각해 낼 수 있다는 것과, 그걸 컴퓨터가 이해할 수 있게 설명할 수 있다는 것은 다른 차원의 능력을 필요로 합니다.
         그리고 마지막으로, 자료구조/알고리즘 공부를 할 때에는 가능하면 실질적이고 구체적인 실세계의 제를 함께 다루는 것이 큰 도움이 됩니다. 모든 학습에 있어 이는 똑같이 적용됩니다. 인류의 지성사를 봐도, 구상(concrete) 다음에 추상(abstract)가 오고, 인간 개체 하나의 성장을 봐도 그러합니다. be 동사 더하기 to 부정사가 예정으로 해석될 수 있다는 룰만 외우는 것보다, 그러한 다양한 예을 실제 맥 속에서 여러번 보는 것이 훨씬 나은 것은 자명합니다. 알고리즘/자료구조 공부를 할 때 여러 친구들과 함께 연습제(특히 실세계의 대상들과 관련이 있는 것)를 풀어보기도 하고, ACM의 ICPC 등의 프로그래밍 경진 대회의 제 중 해당 알고리즘/자료구조가 사용되는 제를 -- 이게 가능하려면 "이 알고리즘이 쓰이는 제는 이거다"라는 가이드를 해줄 사람이 있으면 좋겠죠 -- 같이 풀어보는 것도 아주 좋습니다.
         우리는 알고리즘 카탈로그를 배운다. 이미 그러한 해법이 존재하고, 그것이 최고이며, 따라서 그것을 달달 외우고 이해해야 한다. 좀 똑똑한 친구들은 종종, "이야 이거 정말 기가막힌 해법이군!"하는 감탄을 외칠지도 모른다. 대부분의 나머지 학생들은 그 해법을 이해하려고 머리를 쥐어짜고 한참을 씨름한 후에야 어렴풋이 왜 이 해법이 그 제를 해결하는지 납득하게 된다. 그리고는 그 "증명"은 책 속에 덮어두고 까맣게 사라져버린다. 앞으로는 그냥 "사용"하면 되는 것이다. 더 많은 대다수의 학생은 이 과정이 무의미하다는 것을 알기 때에 왜 이 해법이 이 제를 제없이 해결하는지의 증명은 간단히 건너뛰기를 한다.
         이런 학생들이 주어진 알고리즘을 사용하는 소위 "객관식" 혹은 "제출제자"가 존재하는 시험장 상황 하에서는 뛰어난 성적을 보일것임은 자명하다. 하지만 스스로가 제와 해답을 모두 만들어내야 하는 상황이라면, 알고리즘을 완전히 새로 고안해내야 하는, 또는 기존 알고리즘을 변형해야 하는 대다수의 상황이라면 어떨까?
         교육은 물고기를 잡는 방법을 가르쳐주어야 한다. 어떤 알고리즘을 배운다면, 그 알고리즘을 고안해 낸 사람이 어떤 사고의 과정을 거쳐서 그 해법에 도달했는지를 구경할 수 있어야 하고, 학생은 각자 스스로만의 해법을 차근 차근 "구성"(construct)할 수 있어야 한다(이를 교육철학에서 구성주의라고 하는데, 레고의 아버지이고 마빈 민스키와 함께 MIT 미디어랩의 선구자인 세이머 페퍼트 박사가 주창했다). 전가가 하는 것을 배우지 말고, 그들이 어떻게 전가가 되었는가를 배우고 흉내내라.
         결국은 소크라테스적인 대화법이다. 해답를 가르쳐 주지 않으면서도, 초등학교 학생이 자신이 가진 지식만으로 스스로 퀵소트를 유도해 낼 수 있도록 옆에서 도와줄 수 있는가? 이것이 우리 스스로와 교사들에게 물어야 할 질이다.
         ''고등학교때부터 흘러온 교육방식의 폐해가 아닐까 하네요. '무엇을, 왜' 라는 질 이전에 '어떻게' 가 머릿속에 들어와버리는. --석천''
         왜 우리는 학교에서 "프로그래밍을 하는 과정"이나 "디자인 과정"을 배운 적이 없을까? 왜 해답에 이르는 과정을 가르쳐주는 사람이 없나? 우리가 보는 것은 모조리 종적 상태의 결과물로서의 프로그램 뿐이다. 교수가 어떤 알고리즘 제의 해답을 가르칠 때, "교수님, 교수님께서는 어떤 사고의 과정을 거쳐, 그리고 어떤 디자인 과정과 프로그래밍 과정을 거쳐서 그 프로그램을 만드셨습니까?"라고 물어보자. 만약 여기에 어떤 체계적인 답변도 할 수 없는 사람이라면, 그 사람은 자신의 사고에 대해 사고해 본 적이 없거나, 제 해결에 어떤 효율적 체계를 갖추지 못한 사람이며, 따라서 아직 남을 가르칠 준비가 되어있지 않은 사람이다. --김창준
         알고리즘을 공부하면 큰 줄기들을 알아야 합니다. 개별 테크닉들도 중요하지만 "패러다임"이라고 할만한 것들을 알아야 합니다. 그래야 알고리즘을 상황에 맞게 마음대로 응용할 수 있습니다. 또, 자신만의 분류법을 만들어야 합니다. (see also HowToReadIt Build Your Own Taxonomy) 구체적인 제들을 케이스 바이 케이스로 여럿 접하는 동안 그냥 지나쳐 버리면 개별자는 영원히 개별자로 남을 뿐입니다. 비슷한 제들을 서로 묶어서 일반화를 해야 합니다. (see also DoItAgainToLearn)
  • SmallTalk/강좌FromHitel/강의3 . . . . 34 matches
         이제까지 우리는 Dolphin Smalltalk를 사용하면서 저장 기능을 사용할 수 없
         었습니다. 이는 우리가 아직 등록 절차를 거치지 않았기 때입니다. Object
         Arts사(社)는 공개용으로 사용할 수 있는 Dolphin Smalltalk 98 / 1.1판을
         배포하면서, 그를 사용하는 사람들이 무료로 등록번호를 발급 받아서 사용
         도록 하고 있습니다. 이는 Dolphin Smalltalk를 사용하는 사람들이 어떤 계
         고 생각합니다. 또한 사용자 지원을 위해서도 필요한 사항이라고도 합니다.
         등록은 무료입니다. 그러므로 인터넷을 사용할 수 있는 사람이라면 바로 등
         사용하는 방법과 전자 우편(e-mail)을 사용하는 방법이 있습니다.
         1) WWW를 사용하는 방법
         여기서 Username 입력 상자에 여러분의 영 이름을 넣습니다. 그러면 창 아
         * Product: 사용하고 있는 Dolphin Smalltalk의 종류. 우리는 1.1판을 고르
          이전에 Smalltalk를 사용한 경험을 묻고 있습니다.
          Dolphin Smalltalk를 어떤 목적에 사용할 것인지를 묻습니다.
         Smalltalk는 저장 기능을 사용할 수 있게 설정됩니다. 이제 여러분이
         2) 전자우편을 사용하는 방법
         WWW를 사용하기 어렵거나 인터넷을 사용하기 어려운 분들은 전자우편을 이용
         일단 등록판이 생성되면 모든 기능을 제한 없이 사용할 수 있습니다.
         을 것입니다. 이제 저장 기능을 사용할 수 있는 여러분의 Dolphin Smalltalk
         에서 아래의 명령을 글쇠를 사용하여 실행해서 다시 한 번 디지털
         > Exit Dolphin 메뉴를 사용해서 Dolphin Smalltalk를 끝내봅시다. 이 때
  • Spring/탐험스터디/2011 . . . . 34 matches
          * 교재가 비싸고 매우 무거워 참여자들이 스터디에 활용할 수 있도록 ZeroPage 책장에 둘 토비의 스프링 3를 2권 주
          * 스터디 대상이 매우 방대하므로 충분한 개인적인 학습과 과제 수행, 그리고 스터디 모임에서 많은 질을 할 것
          1.1 ApplicationContext를 생성할 시 xml을 사용하는 방법도 있고 직접 설정해주는 방법도 있는데 xml을 사용할시 좋은 점은 코딩과 설정 담당을 분리할 수 있다는 점이 있다.
          1.2 pojo기반의 프로그래밍은 모듈을 조립해서 쓰기 쉽기 떄에 재사용성이 높아진다. 이 때 조립을 코드부분에 맡기면 조립시 코드를 바꿔야 컴파일이 가능하지만 xml에 조립을 맡기면 설정xml을 바꾸는 것만으로도 쉽게 설정을 바꿔서 조립이 가능하다.
          1.1. 전략 패턴 : 전략(알고리즘)의 분리를 한다는 의미. 언어에 따라 패턴을 적용하는 방법이 조금씩 다를 수도 있다. 책에서는 interface를 사용해서 전략을 분리하였는데, 이것은 자바에 어울리는 전략의 분리라고 한다.
          1.2. Runtime Injection : 다형성을 만들기 위해서 사용한 방법. 개인적으로 코딩할 때 다형성의 사용이 좀 부족하다고 느꼈는데, Runtime시에 오브젝트간의 관계를 맺게 하지 않고 그냥 클래스에 맞춘 코딩을 했기 때인 것 같다. 앞으로 코딩을 하는데 머릿속에 넣어두고 자주 써 보는 것이 좋을 것이라 생각된다.
          2. 제점
          - HomeController는 MVC 모델의 컨트롤러로 뷰에 모델을 바인딩하는 역할을 담당한다. home() 메소드 내부의 Welcome home!은 logger에 찍히는 자열이기 때에 실제로 실행시에 보이는 것은 아니다. HomeController가 하는 주된 역할은 return "home";을 함으로써 HomeController를 사용하는 쪽에서 home.jsp(뷰)를 찾을 수 있게 하는 것이다.
          1.3. 책의 소스를 그대로 쳤을 경우 Class.forName("com.mysql.jdbc.Driver"); 장에서 에러가 나는데 인터넷에서 mysql-connector-java-X.X.X.jar 를 받아서 참조 라이브러리에 추가한다.
          1.4. Connection c = DriverManager.getConnection(...); 장에서 에러가 나는데 자열의 localhost/springbook 부분을 자신이 사용할 테이블의 이름으로 바꾸어 주어야 한다. localhost/test로 바꿔준다. 이후의 자열 두 개는 각각 자신의 MySQL 계정 이름(기본값 root), MySQL 비밀번호를 적어주면 된다.
          2. 스프링 프레임워크 사용하기(p.99의 예제)
          2.1. 우선 책에서 외부 라이브러리를 사용하고 있는데, STS에는 필요한 라이브러리가 들어있지 않은 것 같다. 이쪽 페이지(http://www.tutorials4u.net/spring-tutorial/spring_install.html)를 보고 라이브러리를 받아야 한다. 받아서 압축을 풀고 spring-framework-3.0.5.RELEASE/dist 폴더에 있는 jar 파일들을 프로젝트에 포함시켜주면 AnnotationContext, AnnotationConfigApplicationContext, @Configuration, @Bean 등을 사용할 수 있게 된다.
          1.1. DIP : 멤버 변수를 외부에서 주입 받을 때는 구체 클래스가 아닌 인터페이스를 이용한다. 최대한 클래스 내부에서 변수를 할당하지 말고(new를 사용하지 말고) 주입을 받도록 한다.
          1.1.1. Context : 스프링은 DI 기술을 많이 사용하고 있는데, 스프링에서 객체간의 의존관계 주입을 코드로부터 분리하는 역할을 Context가 담당하고 있다.
          1.2. 불변객체와 가변객체 : 불변객체는 생성된 이후에 내부의 필드에 대한 수정자가 없는 객체를 말한다. 내부 필드에 접근이 불가능하기 때에 값이 변하지 않는다. 따라서 한 번 생성한 이후에는 필요한 곳에 같은 객체를 재사용할 수 있다. 가변객체는 내부의 값에 접근할 수 있는 메소드를 공하는 객체를 말한다. 가변객체를 불변객체처럼 한 번 생성한 후에 여러 곳에서 사용할 경우 한 곳에서만 값이 바뀌어도 모든 값이 다 바뀌므로 가변객체는 매번 사용할 때 마다 새로 생성(new)을 해 주어야 한다.
          2.1. 스프링의 ConfigurationContext 내부의 Bean에서 Context를 생성해서 DI를 하려고 했을 때 오류 발생 : Context 내부에서 Context를 생성하는 코드를 사용했기 때에 생성이 재귀적으로 이루어져서 무한 반복된다. 그리고 디버그 시 main 이전에 에러가 일어났는데, 그것은 스프링의 Context는 시작 전에 Bean들을 생성하기 때이다. main에 진입하기 이전의 스프링 초기화 단계에서 오류가 일어났다는 얘기.
          1. Spring Project를 생성하고 실행하는데 포트가 이미 사용중이라 되지 않음.
          - 라이브러리를 사용하는 애플리케이션 코드는 애플리케이션 흐름을 직접 제어한다.
          - 프레임워크는 거꾸로 애플리케이션 코드가 프레임워크에 의해 사용된다.
  • 정규표현식/스터디/문자집합으로찾기 . . . . 34 matches
         == 여러자 중 하나와 일치 시키기(상호) ==
         마침표(.)는 어떤 자와도 일치한다. 만약 특수한 자와 일치시키고 싶다면,
         "자집합"을 사용한다.
         자집합은 메타자 대괄호([])를 사용자집합을 표현한다. 대괄호 안에 있는 자는 모두 집합의 구성원이 되며, 집합에 속한 자 가운데 하나가 일치한다. 집합에 속한 모든 자가 모두 일치할 필요는 없다.
         == 자집합 범위 사용하기(준석) ==
         자 집합 찾기. 정규 표현식의 모든 자를 뜻하는 '.'가 있음을알것이다. 하지만 모든 자말고 소자만 찾고싶다
         대자만 찾고싶다. 숫자만 찾고싶다 할때는 어떻게 해야하는가? 이런 해당 '범위'를 지정해서 찾는 방법은 다음과 같다.
         === 예 ===
          * {{{다음과 같이 [] 는 리스트를 나열해주는 것으로 .과 같이 한글자만을 지원한다 여러개의 []리스트를 사용하고싶다면 '*'(와일드카드)를 붙이거나 범위를 지정해주는 {}를 사용하여 []* 이나 []{4,4}(4개 찾기)로 이용할수 있다.}}}
          * {{{또한 다음과 같이 [0-9] = [0123456789]와 같이 사용하며 자 또한 지원한다. 축약법은 하이픈(-)을 붙이는 방법으로 [A-Z][a-z] 이방법은 아스키 코드 방식을 따르며 축약시킬 경우 [a-A]는 역순이므로 되지 않는다. 또한 리스트([])안에서는 또다른 리스트([])와 역슬래시(\), 하이픈(-)을 제외하고는 모두 일반 자와 같이 인식하므로 특수자 %&^&#*$ 를 단순히 리스트 안에 나열하는것으로 검색할수 있다 리스트 안에서 리스트([])를 검색하는 방법은 역슬래시를 붙여 이스케이프를 시켜야한다.}}}
         == 제외하고 찾기(승한) ==
          * 자 집합 정의 : {{{[자들]}}}
          * 자 범위 정의 : {{{[A-Za-z])}}}
          * 제외하고 찾기 : {{{[^A-Z]}}}
         [정규표현식/스터디/자집합으로찾기/예제]
  • 새싹교실/2012/절반/중간고사전 . . . . 33 matches
          * 교수님 커리큘럼이 궁금하네요. 제어까지 진도 나갔다길래 변수, 자료형, 전처리기 당연히 했을 줄 알았는데 그런 내용은 아직 안 다룬 것 같더라구요? 제가 파악을 못한건지-_-; 처음부터 새로 가르칠 생각이 아니라 교수님 수업을 바탕으로 모르는 것을 채워주는 것이 목표라 수업 커리큘럼을 알고싶은데 올해 커리큘럼은 어디서 봐야할지 모르겠습니다. 봉봉 교수님때는 봉봉 교수님 페이지에서 강의자료를 받아서 볼 수 있었는데…
          * 원래 설명을 좀 길게 하는 스타일인데 이번 년도엔 스타일을 조금 바꿔봤습니다. 지지난주 월요일에 OT 겸 만났을때 실습 위주로 가는 게 좋다는 의견이 있었고, 미리 공부해 본 부분이 있다는 말에 실습 과제만 준비해왔어요. 인원도 두명밖에 안되니 코딩하는 부분을 보고 보충해서 설명할 부분을 보충해서 설명하는 게 좋겠다고 생각했는데 교수님 커리큘럼과 제가 가르치고 싶은 순서가 안 맞는 제도 있고해서 다음 시간부터는 간단하게라도 설명을 하고 실습을 진행해야 하지 않을까 싶은 생각이 듭니다. 장소도 칠판이 있는 곳으로 가야겠어요. 그런데 2시라 4피 쓸 수 있을까 걱정은 좀 되네요. 4피, 5피 중 하나는 쓸 수 있길 바랍니다.
          * for
          * for에 관하여
          * 법규칙
          * 몇 자리 숫자든 상관없이 각 자리 수의 합을 더하는 프로그램 만들기
          * 반복 실습
          * 대소자 주의합시다
          * 숫자로 시작하면 안 됨
          * 예약어를 사용하면 안 됨
          * 가급적 의미를 알 수 있는 이름을 사용하자
          * 제어 파트는 각각 법보다 어떻게 활용하느냐가 중요하다고 생각해서 일단 법은 if과 for만 진행했습니다. 구구단 실습과 별찍기를 진행했으니 이제 반복의 기본적인 활용에는 조금 익숙해지지 않았을까 싶습니다.
          * for 응용
          * for을 이용한 별 찍기
          * 변수 선언시 대소자 구분, 숫자 및 특수사용 못함
          * switch
          * while
          * do while
          * 느리지는 않습니다. 제어까지 중간고사입니다. 이것에 대해 답이 되었으면 좋겠네요 - [김준석]
          * switch
  • 정모/2006.12.16 . . . . 33 matches
          === 기수 제 ===
          * 창섭 - 지금의 제로페이지는 활동적인 사람을 바탕으로 이루어지기 때에 위기를 맞을 수 있다.
          * 창섭 - 회원 정리를 하기 위해서는 기수가 있어야 정리 대상을 명확히 할 수 있다. 또한 기수가 같이 들어온 사람들의 유대감을 만들어 줄 수 있다. 때에 앞으로 기수가 매겨져야 한다.
          * 창섭 - 이미 다른 집단을 볼 때에 제가 되지 않을 것 같다.
          * 정현 - 실력차이와 기수는 무관한데 구지 기수를 매겨야 할 필요가 있는가. 괜히 기수를 매겨서 제를 만들지 않을까?
          * 상협 - 기수를 어디에 사용할 것인지 먼저 명확히 해야 할 것 같다.
          === 회장 제 ===
          * 창섭 - 2학년에게 회장을 암묵적으로 맡기는건 경험 제가 제가 될 수 있다.
          * 창섭 - 중임과 연임을 정하지 않았기 때에 중임과 연임이 아직은 가능하다.
          * 정현 - 나이가 낮은 회장은 다른 사람에게 부탁하기가 힘들 것 같다. 그렇기 때에 구지 2학년이 회장단을 해야할 필요가 없을 것 같다.
          * 상욱 - 프로젝트 하려고 모이는 모임이기 때에 꼭 회장을 하려는 의욕이 부족할 것 같다. 그렇기 때에 집중 세미나와 같은 회장(단)에게 메리트를 주자. 그렇다면 2학년이 회장을 맡는게 좋을 것 같다.
          * 창섭 - 세미나와 같은 이점은 4학년과 같은 경우에 적용이 되지 않기 때에 다른 이점이 나왔으면 좋겠다.
          * 아영 - 회칙상으로는 제약이 없기 때에 이 안건은 넘겨도 될 것 같다.
          * 상욱 - 회칙상에 기제되어있는 장을 수정해야 할 것 같다.
          * 창섭 - 지금 현상은 특이현상이기 때에 앞으로는 이렇게 되지 않을 것이다.
          * 석천 - 금전적인 제가 들어가면 제가 생길 수 있다.
          * 창섭 - 금전을 지원해준다면, 회비나 MT비등을 면제해 주는것이 좋을 것 같다. OB지원금에서 회비를 마련해 주어도 좋을 것 같다. 그러나 금전적인것은 다른 제를 야기할 수 있을 것 같다.
          * 석천 - 회장이 MT와 관련해서 하는 일이 많기 때에 그정도는 보상이 될 수 있다. 단 회장이 지금처럼 하는일이 많을 경우.
          * 창섭 - 명수보다는 역활이 더 중요하다. 역활이 분리되어 있으면 좀더 책임감과 전성이 생긴다.
          * 정현 - 회장의 의견도 중요하기 때에 미리 만들어 주지 않아도 될 것 같다.
  • HanoiProblem . . . . 32 matches
         = 하노이 제 =
          * 하노이탑 제 모두들 아시죠?
         === 제 소스들 ===
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         학생들이 HanoiProblem을 푸는 것이 어려웠다면 이게 쉬운 제라고(혹은 그다지 어려운 제는 아니라고) 학생들이 느낄 수 있도록 하기 위해 무엇을 할 수 있을까 생각해 보는 것이 필요합니다.
         재귀함수가 사용되는 대표적인 예 몇가지를 보여줍니다. 재귀함수 사용에도 그 종류가 다른데, 대표적인 종류들을 보여주는 것이 중요합니다. "아, 재귀함수라는 것이 이렇게도 사용될 수 있구나!" 퍼뮤테이션/콤비네이션, 피보나치수열, 트리검색, 팩토리알, 조건과 재귀호출로 반복(while) 만들기 등이면 충분하지 않을까 합니다.
         만약 HanoiProblem을 풀게 하기 이전에 팩토리알과 비슷한 형의 제만 보여줬다면, 오히려 HanoiProblem을 어렵게 느끼고 학습이 많이 발생하지 못한 것이 더 당연하다고 생각됩니다.
         그리고 재귀함수를 만들 때 유의점과 사고보조물을 가르쳐 줍니다. 유의점이라면 재귀함수는 리턴되는 값의 종류(타입)가 모두 동일해야 한다는 것, 재귀호출을 벗어나는 지점 근방에서 유의해야 한다는 점 등이고, 사고보조물로는 스택의 상태를 그림으로 그리는 방법이나, 수식을 사용하는 방법 등이 있겠죠.
         순서효과는 복잡한 것과 쉬운 것이 있을 때 어느 것을 먼저 제시받느냐에 따라 제를 푸는데 걸리는 시간에 큰 차이가 있다는 것입니다.
         시작하는 수를 하나 주고, 특정한 연산을 사용하여 정해진 스텝만에 다른 수로 전환시키는 제를 주었습니다. 예를 들어, 8에서 시작해서 곱하기 2나, 빼기 7을 사용해서 6번의 스텝만에 15를 만드는 제입니다.
         한 그룹은 예를 들은 복잡한 제를 먼저 제시받았고, 다른 그룹은 단순한 제(예컨대 2번만에 8을 9로 바꾸는 것) 두개를 먼저 제시받았습니다.
         첫번째 그룹은 한 제를 푸는데 평균 406초 이상 걸렸지만, 두번째 그룹은 복잡한 제를 푸는데 97초 걸렸고, 세 제를 모두 푸는데 192초 밖에 걸리지 않았습니다.
         이를 HanoiProblem에 적용하면, 3개(혹은 5개, 6개)의 원반 제가 복잡하다면, 하나, 둘 등의 좀 더 단순한 제를 먼저 풀고 거기서 제풀이의 "구조적 유사성"을 발견해 낸 뒤에 좀 더 어렵거나 좀 더 일반적인 (즉 원반 n개) 제에 도전하는 것이 효과적이라는 말이 됩니다.
         반대로 제가 너무 단순해서 복잡할 경우에는 오히려 100개, 200개 등의 복잡/일반적인 경우를 생각하는 것이 도움이 될 수도 있습니다.
         종종 미로가 너무 복잡할 때 목적지에서 거꾸로 내려오는 것이 더 간단할 때가 있습니다. TestDrivenDevelopment도 이 방법을 사용합니다. 자신이 원하는 것을 컴퓨터에게 설명해 주고, 그 목적지에서 거슬러 내려옵니다.
         혹은, 중간을 끊어서 볼 수도 있습니다. 어찌되었건 모든 원반이 옮겨가려면 어느 순간엔가는 가장 큰 원반이 비어있는 막대기로 이동해 가야 합니다. 이 상황에서 가장 큰 원반이 있는 막대기에는 큰 원반 하나만 있을 것이고, 그 원반이 옮겨갈 막대기는 비어있어야 하므로, 결국 두개의 막대기가 모두 사용되고, 나머지 하나의 막대기에는 나머지 원반들이 모두 크기 순으로 쌓여있게 될 것이라는 추측을 할 수 있습니다. 여기서 앞 뒤 상황을 생각해 보면 어떤 통찰을 얻을 수 있습니다.
         ["제분류"]
  • Ruby/2011년스터디/세미나 . . . . 32 matches
         RubyLanguage 소개와, 기초 법을 설명하는 파트
          * irb 사용
         == Ruby 법 실습 ==
          * "자열".method
          * 루비에서는 클래스명이 대자로 시작해야한다!(아니면 에러)
          * 메서드를 만들어보자! (루비는 return이 없어도 돼)
          * 자열 반복출력 메소드 만들어보기
          * 입력받은 자열 반복 출력해보기
          * 를 하려고 했지만 tcl 제로 CodeRace로 변경
         || [송지원] || irb || 불완전하다고 느껴진 이유가 irb 때이기도 하다고 느껴짐.( NetBeans에서 코딩하면 잘되는게 irb라 안되는 것도 있어서) || ||
          * "우아한" 언어인 루비를 다운받아 irb를 사용해 실습을 해보았다. 처음에 irb를 눌렀을 때, 무슨 dll파일이 없어서 실행이 안된다는 팝업창이 떴는데 확인 누르니까 알아서 잘 켜졌다. Ctrl+C를 눌렀더니 끌지 말지 여부가 떴는데 N을 눌러도 꺼졌다. irb보다는 넷빈즈를 이용하는게 좋다는 말이 와닿았다. 1+2를 치면 알아서 3이 나오는 것과 리턴 값이 항상 표시되는 것이 신기했다(없을 경우도 =>nil 로!). 루비의 블록 넘기기는 #define이랑 비슷한 느낌이 들었다. 새로운 언어임에도 쉽게 익힐 수 있어 좋았다. 하지만, 페어로 하는 만큼 실습 시간도 반감되지 않았을까 죄송스러웠다. 세미나 공지가 뜨면 노트북을 가져가도록 해야겠다. - [강소현]
          * 아.. 세미나가 끝나니까 할말이 생각나네요..ㅠㅠ 루비의 블록 넘기기는 사실 블록이 yield구에게 전달되는 것이 아니라 yield를 만나면 함수의 호출부로 컨트롤이 이동해 블록이 있는지 확인하고 실행합니다. 책에서는 co-routine 이라고 이해하면 된다는 설명이 있어요~ 블록이 전달되는게 아니라 컨트롤 플로우가 왔다갔다!! 스위치 태스킹처럼요. 세미나때 설명을 잘 해드렸어야 했는데 죄송천만번입니다 - [서지혜]
          * 우선 늦게가서 if-else 밖에 못 들어먹었습니다 ㅠ 상당히 아쉬웠어요. 근데 if구사용해도 의도가 명확하다면 괄호가 필요없다게 참 신기하더라구요. 제가 약간이라도 다뤄본 C, C++, Java, JavaScript, Python에서는 괄호를 반드시 사용해야만 하는 걸로 알고있었는데 말이죠. 근데 여기서 "의도가 명확하다는 것"이 무슨말인지.. 솔직히 이해가 안 가요. ㅠ 저가형 두뇌... 그리고 루비 개발도구가 참 많더군요. aptana... 루비를 위해 만들어졌지만 루비를 쓰지 못한다는게 참 인상적이었습니다. 그리고 irb의 개발환경을 보니 수정을 할 수가 없어 참 불편하더군요. Python Shell의 개발환경이 보다 더 우수한 것 같습니다. 그리고 회고할 때 주워들은 "우아하며 불완전한 언어"라는 말... 왜 그런지 궁금하네요. - [윤종하]
          * ''의도가 명확하다는 것''이 무엇인지 설명하는 것보다 의도가 명확하지 않은 상황을 제시하는 게 이해하기 좋을 것 같으니 하나 예를 들어볼게. RubyLanguage에서 괄호를 쓰지 않아도 되는 것은 if 구에 대해서만 그런 것은 아니야. 함수의 경우도 마찬가지지. 만약 내가 매개변수 a와 b를 받아 그 둘을 더해 반환해주는 함수 add(a, b)를 만들었다 치자. 이 메서드를 다음과 같이 이용할 수 있겠지.
         add(3,4) # => 7 반환 (#은 RubyLanguage에서 주석을 나타낼때 사용)
         }}} 윗줄 아랫줄 모두 제 없이 실행되지. 이 경우는 의도가 명확한 경우야. 그런데 이 add 메서드를 호출해서 3, 4, 7을 더한 값을 알고 싶다면
         }}} 이렇게 메서드를 중첩해서 호출해야겠지? 이 때 괄호를 사용하지 않으면 다음과 같이 쓸 수 있어.
         }}} 그런데 위 코드는 대체 어떤 것이 처음 나온 add 메서드에게 넘겨주는 매개변수인지 명확하지 않지? 이런 경우는 의도가 불명확한 경우라 반드시 괄호를 사용해서 코드를 작성해야해. - [김수경]
          * Ruby 라는 언어를 처음으로 접하게 되었습니다. irb를 이용하여 Ruby 코딩을 연습해 보았습니다. 코드 수정이 일단 한번 해놨으면 다시 정의를 해야되서 매우 불편하였으나 c같이 법이 딱딱하지 않고 생략해도 구 자체의 의미가 명확하다면 알아서 해주는 모습이 매우 신기했습니다. 나중에 lua도 공부해서 wow 에드온을 어찌해봐야겠습니다. - [임상현]
          * 그건 irb의 제인거같습니다..ㅋㅋ 파일명.rb로 파일을 작성한 다음 '''ruby 파일명'''으로 컴파일/실행할 수도 있어요~ - [서지혜]
  • ZeroPage_200_OK . . . . 32 matches
          * 웹은 다양한 이론적 배경을 바탕으로 탄생하고 발전해 왔습니다. 우리 스터디에서는 그런 통합적인 지식을 바탕으로 여러분들에게 현재의 웹 기술에 대한 이해는 물론이고 웹 이후의 새로운 경향을 고민하고 연구하기 위해 필요한 단서를 제공하는데 목표를 두고 있습니다. 물론 굳이 모르고 있어도 단순 웹 개발을 하는데 무리는 없으나, 관련된 제해결 과정이나 새로운 기술 이해를 위해서 중요한 능력이 될 수 있습니다.
          * form 관련으로 사용자 입력을 받을 수 있었던 부분 실습을 주로 배웠습니다. 근데 궁금한게 도중에 html5 얘기를 하시면서 <a href=""><button>abc</button></a> html5에서는 이렇게 사용할 수 있는데 이런게 자바스크립트를 쓸 수 없는 경우에 된다고 하셨는데 그럼 원래 버튼의 onclick같은 on~는 자바스크립트인건가요? - [서영주]
          * 개인적으로 이래저래 많이 듣기만 한 용어들(쿠키, HTTPS 기타 등등)에 대해서 자세하게 들을 수 있어서 좋았습니다. 보안 관련은 예전 데블스 때도 잠깐 들을 기회가 있었는데, 그 때는 잘 이해를 못 했었는데 반복해서 들어서 그런지 이번에는 이해가 잘 됐습니다. 다음으로는 자바스크립트 법에 대해서 다루신다고 하셨는데 어떤 방향으로 나갈지 궁금하네요 - [서민관]
          * 자바스크립트에서 자주 this 얘기가 나오던데, 이번에 이야기를 들을 수 있어서 좋았습니다. 개인적인 느낌을 말하자면 함수가 데이터로 취급되는데 함수 내부에서 함수를 호출한 객체(execution context)의 정보를 사용하기 위해서 this를 사용한다는 느낌이는데 맞는지 모르겠군요. p.print를 넘기는 것도 실제로 class p에 있는 함수를 넘기는 게 아니라 p.print에 바인딩 된 어떤 함수를 넘기는 것이니까 내부의 this가 기존 OOP와 같이 해당 class의 인스턴스는 될 수 없겠죠. 그리고 제일 마음에 들었던 것은 역시 예전에 했던 스터디에서 다뤘던 자바스크립트의 네 가지 특징에 대해서 들을 수 있었다는 점이었습니다. 사실 예전 스터디 떄 무척 듣고 싶었는데 개인적인 사정으로 참가를 할 수 없어서 꽤 아쉬웠던 터라 ;;; 마지막에는 개인적인 사정으로 시간이 안 맞아서 좀 급하게 나갔는데, 그래도 최대한 들을 수 있는 데까지 듣기를 잘 한 것 같은 느낌이 들었습니다. - [서민관]
          * 자바스크립트의 언어 특성에 따라서 배우고 기본적인 사용 법에 대해서 배웠습니다. 명령형 구조적 프로그래밍 언어적인 부분에 대해서는 그렇게 어려운건 없었는데 그 뒤의 함수형 선언적 프로그래밍 언어 부분에서 클로저랑 함수에 함수를 인자로 주는 부분이 같이 쓰이니까 좀 복잡했었습니다. 조금 더 공부해야 할 것 같습니다. var Person = function(){}; 같은 부분나 this가 new를 했을 때에만 제대로 동작한다는 부분도 특이했습니다. 법적인 부분 자체는 그렇게 어려운 것 같지 않은데 함수를 중첩해서 쓰거나 그런 부분이 약간 알아보기 힘든 것 같습니다. - [서영주]
          * 서버에서 데이터를 가져와서 보여줘야 하는 경우에 싱글스레드를 사용하기 때에 생기는 제점에 대해서 배우고 이를 처리하기 위한 방법을 배웠습니다. 처음에는 iframe을 이용한 처리를 배웠는데 iframe 내부는 독립적인 페이지이기 때에 바깥의 렌더링에 영향을 안주지만 페이지를 이동하는 소리가 나고, iframe이 서버측의 데이터를 읽어서 렌더링 해줄 때 서버측의 스크립트가 실행되는 제점 등이 있음을 알았습니다. 이를 대체하기 위해 ajax를 사용하는데 ajax는 렌더링은 하지 않고 요청 스레드만 생성해서 처리를 하는 방식인데 xmlHttpRequest나 ActiveXObject같은 내장객체를 써서 요청 스레드를 생성한다는걸 배웠습니다. ajax라고 말은 많이 들었는데 구체적으로 어떤 함수나 어떤 객체를 쓰면 ajax인건가는 잘 몰랐었는데 일반적으로 비동기 처리를 하는거면 ajax라고 말할 수 있다고 하셨습니다. 그리고 중간에 body.innerHTML을 직접 수정하는 부분에서 제가 생겼었는데 innerHTML을 손대면 DOM이 다시 만들어져서 핸들러가 전부 다 사라진다는 것도 기억을 해둬야겠습니다. - [서영주]
          * 자기자신의 레퍼런스(사이클릭 레퍼런스), 커스텀 오브젝트(함수 or 객체) 등은 직렬화가 어렵기 때에 대상에 들어가지 않는다.
          * Builder Pattern의 일종으로 jQuery의 메소드를 실행한 이후에 jQuery 배열 객체를 반환함으로써 함수의 chainning을 해서 사용할 수 있다.
          * DOM 객체를 wrapping 한 것으로 CSS selector 법으로 DOM에서 Element를 찾아 올 수 있다.
          * Element를 찾을 때 CSS 법을 이용하여 작업을 할 수도 있고 jQuery의 메소드를 이용해서 작업을 할 수도 있는데, 복잡한 대상을 한 번만 찾아서 작업을 할 경우에는 CSS 법을 이용하는 것이 좋고, 찾은 대상에서 여러 작업을 할 경우에는 jQuery 함수를 사용하거나 해당 Element를 변수에 저장해 두었다가 사용하는 것이 성능 면에서 좋다.
          * 대상 Element를 찾든 못 찾은 항상 배열을 반환하기 때에 반환 결과에 상관 없이 배열에 대한 처리만 고려하면 된다.
          * 웹 초기에 css설명했을 때 css셀렉터 법도 설명을 해주셨었는데 많이 까먹어서 헷갈렸었습니다. -_- 역시 한 두 번 본걸로는 금방 잊어버리기 쉬운 것 같습니다. jQuery함수의 대부분은 호출 후 jQuery객체를 리턴하기 때에 함수의 체이닝이 가능하다는 얘기를 하셨었는데 구글의 guava도 그렇고 요즘은 이런 형태의 구현이 많은건지 궁금합니다. 그리고 결과 값을 받아서 계속해서 다른 작업을 하는 경우가 아니라면 체이닝이나 그냥 한 번에 계산하는 방식이나 별 차이가 없는건가요? - [서영주]
          * $(document).ready() - 처음에 자바스크립트 코드를 해석할 때 해당 객체가 없을 수 있기 때에 DOM 객체가 생성되고 나서 jQuery 코드가 실행되도록 코드를 ready() 안에 넣어주어야 한다.
          * live() - 처음에 ready() 때에 이벤트 핸들러를 걸어주는 식으로 코드를 짰을 경우 중간에 생성한 객체에는 이벤트 핸들러가 걸려있지 않다. 하지만 ready()에서 live() 메소드를 사용해서 이벤트 핸들러를 걸 경우 매 이벤트가 발생한 때마다 이벤트 핸들러가 걸려야 할 객체를 찾아서 없으면 이벤트 핸들러를 알아서 걸어준다. 하지만 처음에 핸들러를 걸어주는 것과 비교해서 비용이 다소 비싸다.
          * sortable(), appendTo(), data(), focus(), blur(), clone() 등의 jQuery API를 사용.
          * CSS -> HTML -> JavaScript 순서로 html을 작성한다. - CSS가 뒤에 있으면 HTML 렌더링을 한 후에 CSS가 적용된다. JavaScript가 앞에 있으면 JavaScript가 다 받아지고 나서 뒷부분이 실행되기 때에 속도에 제가 있을 수 있다.
          * JavaScript가 뒤에 있으면 이벤트가 늦게 걸리게 된다. -> Command Queue 패턴 사용.
  • ZeroPage정학회만들기 . . . . 32 matches
          -> 서버 보관제와 재정적 지원에 대해서는 교수님 개인차원에서 이루어짐.
          공과대학의 공간은 심각할 정도로 절대적으로 부족하기 때에 공간을 얻어내는 것은
          서버 보관제와 재정적 지원에 대해서는..
          재정적 지원은 우선 학교에서 최소행정단위가 학과가 아닌 단과대학이기 때
          학과장님 말씀으로는 우선 저희가 '지도교수님'을 모시는 것이 나머지 제를 자동으로
          - 개강총회보단.. 종강총회가 어떨런지 -_-;; 그리고 학우들 서명받는것은.. 시험후 방학중이니.. 설조사란을 이용하는등 동게시판을 이용하는 것이 어떨런지요... -_-a - ["Dantert"]
          - 다 좋은생각입니다만, 일단 정학회를 만들기 위해서는 학생들 사이에서의 여론을 조성하는 것이 무엇보다 우선이 되어야 할것 같군요 우리 과 사람들이 다 인정한다면 학생회에서도 훨씬 더 쉬울 수 있기 때입니다. 학생회가 아니라도 여론 조성은 제1순위가 되어야 할것 같습니다 - 상욱 (["whiteblue"])
          * ps. 근데, 정학회 관련 정의는 어디 되어있는것임? 학생회칙에 학회관련 조항이 없음. 그냥 교수님 재량인가? 아니면 원래 서가 있는건지. 만일 일을 할거라면 이에 대해서 알아보셔야 할듯. --["1002"]
          ''우리가 말하는 정학회란 학교 행정상 '동아리'로 분류되어 행정적인 지원을 받을 수 있는 조건을 갖추는 것이 아닌가 생각됩니다. 지도교수님만 있으면 해결될 제로 보입니다. --["데기"]''
          * [http://caucse.net 동서버] 설조사란에 이 이슈에 대해 설을 올릴 예정입니다. - 임인택
          * 결론이 지도교수님모시기로 났습니다. 학과에서 '정학회' 로써 학과차원의 지원은 불가능할 것이다 라는 것이 학과장님의 말씀이셨습니다. 과차원의 지원이 있지 않다면 굳이 명분을 쌓을 이유가 없어진다고 봅니다. 설조사를 하는 것이 명분을 얻기 위해 한다고 보기 때에 이제는 설조사가 필요없을 듯 싶습니다. 전에 설지 돌렸을 때 서명해주신 학우들께 죄송할 따름이지만요.. 혹시 설조사를 하는 것이 좋다는 의견이 제가 언급한 내용과 다른 이유에서라면 말씀해주세요. 다른 이유가 있을 것이라는 생각이 듭니다. --창섭
          - ''단순히 설을 한다는 의미 외에 ["ZeroPage정학회만들기"] 를 학우들에게 알린다는데에도 의미가 있다고 생각합니다. 제 생각이지만, 제로페이지의 정학회化에 대해 논의가 이루어지고 있다는 사실을 알고 있는 학우는 거의 없는 것 같습니다. (거의 제로페이지 내부사람이나. 설에 참여했던 사람정도가 아닐까요. 설지를 작성한 학우들이 많다면 할말이 없지만요.;;). 만약 그렇다면, 이번 기회에 쉽고 편한 방법으로 학우들에게 알리는건 어떨런지요 - 임인택'' [[BR]]
          아.. 그런거였다면 공감합니다. ^^ 그러면 설의 형식은 'ZeroPage정학회화에 찬성하십니까' 의 기존형식이 아니라 '정학회화를 어떻게 생각하십니까?' 가 되겠군요. 후자가 된다면 보기 만드는 데에도 주의를 기울여야 될것 같습니다. 학우들의 반응이 궁금해지는데요. ^^ --창섭
          * 여기에 나온 제들이 2012년 시점에서 모두 해결(지도교수,정학회,공간,지원금,서버실)되어 더할 나위없기 기쁘네요. ㅎㅎ -[김태진]
         = 설 작성 =
         3월이 다가옵니다. 이제 개강이군요. '지도교수님 모시기'에 대해 '광고성' 설을 게재하려고 합니다. 제가 나름대로 생각한 질과 답변보기 입니다. 의견을 말씀하여 주세요... ^^; - 임인택
         아무래도 ZeroPage 에서 어울릴 설 같은걸요? 과 차원에서 하기에는 무리가 있어보입니다. 'ZeroPage 가 과에 기여를 하고 있다 or ZeroPage 에 관심이 많다' 가 전제되어있다면 모를까 그렇지 않다면 무리가 있어보입니다. 다른 분들은 어떤지요? --["창섭"]
          추가로.. 1번의 학회발전에 큰 도움이 될 것이다. 는 '학회발전에 도움이 되어 보다 과에 학회가 기여할 계기가 될 것이다' 등으로 바뀌는 등 설의 성격을 ''과차원''의 색체가 포함되어야하지 않을까 하는 생각을 해봅니다. : ) --["창섭"]
          ''아.. 전에 말하던게.. 동서버에 설을 올리는것이었는데... 음.. 무리가 있는 것 같기도 하네요 '과 차원' 이라는 생각을 해본다면 말이죠.. 그리고.. 설 보기가 바이트수가 제한이 되어있어서 긴 글의 보기는 못올려요..ㅡㅜ. 그럼 설조사 올리는건 접어두도록 할까요.. - 임인택''
  • 반복문자열 . . . . 32 matches
         === 반복자열 ===
         제 : CAUCSE LOVE. 라는 장을 5번 연속해서 출력시키는 프로그램을 작성하라.
          * for 루프를 사용.
         || 허아영 || C || || [반복자열/허아영] ||
         || 최경현 || C || || [반복자열/최경현] ||
         || 조현태 || C/C++ || || [반복자열/조현태] ||
         || 남도연 || C/C++ || || [반복자열/남도연] ||
         || 김소현 || C || || [반복자열/김소현] ||
         || 보창 || C++ || || [반복자열/보창] ||
         || 이규완 || C || || [반복자열/이규완] ||
         || 김태훈 || C || || [반복자열/김태훈zyint] ||
         || 김정현 || JAVA || || [반복자열/김정현] ||
         || 이도현 || C || || [반복자열/이도현] ||
         || 이병민 || C || || [반복자열/이병민] ||
         || 이정화 || C || || [반복자열/이정화] ||
         || 박세영 || C || || [반복자열/박세영] ||
         || 김대순 || C || || [반복자열/김대순] ||
         || 김유정 || C || || [반복자열/김유정] ||
         || 이재경 || C || || [반복자열/이재경] ||
         || 성우용 || C || || [반복자열/성우용] ||
  • 채팅원리 . . . . 32 matches
         서버쪽에서는 총 4개의 Thread가 사용되었다. Thread는 메모리를 공유하면서도 독립적으로 실행될 수 있는 프로세스 단위라 할 수 있겠다. 4개의 Thread는 다음과 같다.
         1. 사용자가 접속한다.
         2. 사용자가 나간다.
         UserListControl : 사용자의 접속을 관리한다. 채팅에 접속하려는 사람이 원하는 ID를 기존의 사용자들과 비교하여, 없으면 채팅 접속을 허락하고, 있으면 다른 ID를 사용할 것을 권한다.
         SendUser : 클라이언트 사용자가 현재 접속되어 있는 사람들의 ID를 알 수 있게 List에 사용자 이름을 보내주는 클래스이다.
         클라이언트쪽에는 4개의 Thread가 있다. JFrame을 사용한 클래스가 2개 있는데, 하나는 Login때 ID사용 허가를 확인한는 프레임이고, 다른 하나는 채팅의 기본 프레임이다. 4개의 Thread는 다음과 같다.
         Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
         UserList : ChatMain 클래스의 사용자 List에 접속한 사용자 ID를 보여주는 기능을 한다.
         클라이언트가 시작되면 Login을 위한 ID 체크를 한다. 서버에 접속하여 서버에 저장되어 있는 사용자 ID Vector에 사용하고자
         하는 ID와 같은 ID가 있는지 없는지 비교한 후 결과를 클라이언트에 돌려준다. 이미 사용중인 ID이면 다른 ID를 사용할 것을 권하고, 사용가능하다면 채팅을 시작한다.
         클라이언트가 대기실에 입장하면 내부적으로 클라이언트는 서버쪽에 새 사용자가 접속했다는 메시지를 보낸다. 그러면서, Login 프레임대신 ChatMain 프레임을 보이게 한다. 이제부터 대기실에서 채팅이 가능하게 된다. 서버쪽에는 새 사용자가 대기실에 들어왔다는 것을 보여준다.
         == 다른 사용자의 접속 ==
         새 사용자가 접속을 시도하면 처음과 마찬가지로 사용자 ID 체크를 하게된다. ID 사용 확인을 한 후에 대기실에 접속을한다. 대기실에 접속하면, 기존에 대기실에 있던 사용자들의 사용자 ID를 보여주는 리스트에 새로 들어오는 사용자의 리스트가 추가되면서, 채팅화면에 새로운 사용자가 들어왔다는 메시지가 나오게 된다.
         2명 이상의 사용자가 접속한 상태이므로 실제로 채팅이 가능하게 된다. 채팅의 내용은 클라이언트의 TextField의 내용을
         채팅을 종료할 때는 채팅 윈도우의 종료 버튼을 누르면 윈도우 종료 이벤트가 발생한다. 클라이언트는 채팅 종료를 확인하는 옵션 패널을 보여준 후, 서버쪽에 채팅을 종료한다는 내용을 보낸다. 이때 보내는 내용은, 자신이 사용하고 있는 ID를 제거, 자신의 주소를 제거, 사용자 1명의 감소등이다.
  • 허아영/C코딩연습 . . . . 32 matches
          printf("출력 할 마름모 패턴 모양을 입력하십시오(자) :");
         두 숫자를 입력받은후 두 숫자 중에 큰 숫자를 출력하고, 두 숫자의 차를 구하는 프로그램입니다.
         * 20051095 허아영 두 숫자를 입력받아 더 큰 숫자를 출력시키고, 큰 수와 작은수의 *
         2번 제는 너무 어려워서, 아직은 분석중이에요 -.-
         제1. 로또 복권의 6자리 수를 랜덤하게 생성하데, 사용자가 발생 횟수를 선택할 수 있도록 하시오. 예를 들면, 초기 화면에서 사용자가 5를 입력하면 랜덤 수 6개를 5번 출력 하는데 출력 양식이 다음과 같도록 프로그램을 완성하시오.
          이 제 내가 풀어봤는데 정렬 제라고 보는 것보다는 순위를 매기는 제라고 생각하면 더 쉽게 풀리겠네. [강희경/메모장]을 참고해봐.
         === 입력받은 한자의 2진수 중 0의 갯수 ===
         /*한자를 입력받아 자의 비트중 0의 갯수*/
          printf("input 한개의 자 ==>");
         === 영소자, 대자, 특수자, 수치자의 갯수 ===
          printf("영대자, 영소자, 수치자, 특수자의 수 알아내는 프로그램n");
          printf("장 입력 : ");
          printf("소자 : %d, 대자 : %d, 수치자 : %d, 특수자 : %d", countSmall, countBig, countNum, countSpe);
          - 헉.. 너야말루. 장학금 타면 사줘 !! ㅋㅋ 난 공부할 때 적은 양이라도 너무 티를 많이 내서 그렇지.. 보면 별거 없어 ㅠ 이게 제야..ㅋ -[허아영]
  • 02_C++세미나 . . . . 31 matches
         // 구조체는 사용자 정의 데이터 형이다. 구조체를 설정해 놓으면 그것을 int나 long같은 기본 데이터형처럼 쓸수있다. 예제를 봅시다.
         == 반복 ==
         == 조건 ==
         char로 정의한 변수는 자를 저장하는 변수인데...
         그렇다면 대체 왜 이다지도 복잡한 포인터를 쓰는가? 내가 알기로는 포인터는 C 와 C++ 언어에서만 존재하는 기능이다. 동시에 사람들이 C 와 C++ 를 어려워하는 이유이기도 하다. 왜 사람들은 C 에만 있는 기능인 포인터를 어려워 하는가. 그건 포인터를 써야만 하는 어떤 '이유' 가 있는게 아닐까? 재미있게도, 사람들이 C 언어를 좋아하는 이유가 '포인터의 강력함' 때인 경우가 많다.
         여러가지로 말이 많았는데 이쯤에서 포인터의 쓰임에 대해 간략하게나마 설명하겠다. 포인터의 이론적인 정의는 무엇인가. 바로 '메모리의 주소를 가지고있는 변수'란 것이다. 그건, 동시에 포인터를 이용하면 그 해당하는 메모리로의 직접적인 접근과 제어가 가능하다는 뜻이다. 그렇다면 포인터의 역활은 메모리로의 직접적인 억세스가 되는것이고, 여기에 포인터의 연산을 통해 거의 어셈블리언어에 가까운정도의 저수준 메모리 제어를 가능케 한다. 바로 그것이 포인터의 존재이유이며 쓰임이다. 이런 이론적인 포인터의 쓰임 말고, 직접적인 강함의 체험을 원한다면, 여러분이 직접 사용해볼것을 권한다.
         정수형 변수는 int를 사용해 만든다.
         자형 변수는 char를 사용해 만든다.
         char b; // 자형 변수
         char *b; // 자형 변수의 메모리 주소를 저장하는 변수(자형 포인터)
         (int *) pi; /* 이런 식으로 사용하면 좀더 명확하다. 정수의 포인터라는. */
         이렇게 만들면, a는(*a가 아니다. 정의할때만 *를 붙여야 한다. 사용할땐 a로 쓴다)
         정수형 변수의 메모리 주소를 저장하는 포인터가 되고, b는 자형 변수의 메모리 주소를
          * 포인터의 사용
         그럼 포인터를 어떻게 사용하는지 알아보기로 하자.
         포인터를 사용하는데는 두가지 연산자가 사용된다.
         &는 어떤 변수에 주소를 얻어내는데 사용된다. 어떤 변수가 있을때 그 변수 앞에 &를 붙이면 그것은 그 변수의 메모리 주소가 된다.
         &는 일반적으로 정수형 변수나 자형 변수 등과 같이 포인터가 아닌 변수들을 대상으로 사용하지만... 포인터를 대상으로 사용할 수도 있다.
         처음에 강조했듯이 포인터 역시 변수이기 때이다. 그러한 경우에 대해서는 나중에 다시 알아보기로 하겠다.
         *는 포인터를 대상으로만 사용되는 연산자인데, 포인터에 저장되어 있는 메모리 주소에 보관되어 있는 값을 엑세스할때 사용한다.
  • 1thPCinCAUCSE/null전략 . . . . 31 matches
         null 팀의 경우 B 제 하나를 풀었고 (1시간 5분 정도 소요. 패널티 없음), A 번 제를 계속 시도하던중 시간초과.
         ["1002"]가 5분 지각을 했습니다.; 암튼, 35분에 시작을 했고, 일단 5분의 시간을 두고 ["neocoin"] 과 ["1002"] 는 제들을 읽어나가기 시작했습니다. 한글 서였기 때에 3개의 제를 훑는데에도 5분이면 충분하더군요. ["neocoin"] 은 B번을, ["1002"] 는 A번을 일단 읽고, C 번에 대해서는 같이 읽었습니다. 그리고 미리 제출제자쪽에서 난이도를 C > A > B 임을 언급했습니다. 제를 읽어나가면서도 일단 B의 경우가 바로 계산이 나올 것 같아서 B 를 먼저 해결하기로 선택했습니다. 그 다음에는 제에 대한 이해도가 상대적으로 높았던 A번을 해결하기로 했습니다.
         도구는 연습장과 인덱스 카드, assert 을 이용한 테스트 케이스 등을 이용했습니다. 연습장과 인덱스 카드는 주로 개개인 수식과 중요 변수들을 적기 위해, 또는 그림을 그리기 위해 이용했고 (두 도구의 용도가 구분되어있진 않았음) 제에 대해서 답이 나왔다하는 가정하에 (제지에 Sample Input->Output 이 나와있었기에 가능했습니다.) Backward 로 제가 해결된 상황을 가정하고, 그러기 위해 필요한 변수들을 찾아나가는 방법으로 진행했습니다. 프로그래밍 스타일은 Structured 스타일의 Stepwise Refinement & PBI & assert 를 이용한 TDD 를 사용했습니다.
         한 20분정도 잘못진행했었는데, 첫번째는 ["1002"] 가 B 번제를 제대로 이해하지 못했고 (앞부분만 읽고, 제의 input-output 을 거꾸로 판단), 두번째는 input 이 100 일때의 output 예상치를 잘못계산한 상태에서 이를 근거로 Test Driven 을 시도해서 추후 발견뒤 테스트를 수정하는동안 시간을 낭비했습니다.
         적절히 중복코드를 삭제하고 난 뒤, 한 5분정도 Input-Output 코드를 iostream 과 ["STL/vector"] 를 사용하여 작성한 뒤 이를 제출, 통과했습니다.
         A 번 진행중 아쉬웠던점은, 만일 이 제를 바로 풀기전에 OO 패러다임으로 해결할 것인가 Structured 패러다임으로 해결할 것인가에 대해 먼저 생각하는 여유를 가졌더라면 제 해결이 더 쉽지 않았을까 하는 점이였습니다.
         제에 대해 역시 B 번을 진행하던 스타일대로 Structured 로 진행했는데, 초반에 너무 코드위주로 각 변수들을 뽑아내려고 접근한 것이 제가 되었던 것 같습니다. 여유를 두고 페이퍼 프로그래밍을 했어도. 바늘들에 대해서 OO 로 접근했으면 좀 더 쉽지 않았을까 생각.
         미리 예제제로 제시된 5제중 어려웠었던 뒤의 3제들을 각자 풀어보고 훈련했었다면 실전에서도 더 여유있고 의식적인 작업을 할 수 있었으리라 생각하며. 그리고, 초반에 바로 TDD 로 나가는 것보다, 제에 대한 여러 접근방법을 둔 뒤, 하나를 고르고 그에 대해 TDD 로 나가는 것이 더 좋았을 것이라고 생각. (TDD를 바로 제 Approach 기법으로 적용하는것 보단, 해당 제 접근방법에 대해 빨리 필요한 변수들을 발견해나가고, 명확하게 해주는데 더 효과가 크다는 생각이 들어서)
         제를 풀때 우스개로 이야기했던것이 '수학자의 접근이냐 공학자의 접근이냐'(페르마의 마지막정리 책에 나왔던 예. 즉, 연역/귀납). 이런제인 경우 제 풀기전 '어느쪽 접근이 더 유용할까' 궁리를.; 개인적으론 연역이 약해서 후자를..; --["1002"]
         제를 푸는 동안, 굉장히 여유롭다는 느낌이 들었습니다. 적당히 달려나간다고 할까요. 위에 언급된 2가지의 실수가 없었다면, A를 넘어 C번도 노려 봄직한 느낌이 듭니다. 이런 것들이 연습으로 체화되는 것이겠지요. 다음 ipsc를 즐겁게 기다려 봅니다.
  • AcceleratedC++/Chapter14 . . . . 31 matches
         이렇게 2가지의 추상적인 기능을 조합해서 만들게 되는 것은 허술한 클래스 설계때인 경우가 많다.
         내부의 한 개체를 가리키는 포인터와 비슷한 객체를 적절히 사용하면 불필요한 복사가 행해지는 성능상의 제를 해결할 수 있다.
         이장의 내용은 상당히 추상적이기 때에 상당히 주의 깊은 이해가 필요하다.
         13장에서 제를 해결하기위해서는 서로 다른 타입의 객체를 한개의 컬렉션에 젖하는 방법이 필요했다.
         13.3.1절의 첫번째 해결법에선느 이를 위해서 포인터를 사용하여서 Core 혹은 Core로 부터 파생된 객체들을 생성하여 컬렉션 내부의 포인터들로 가리키도록 하였다. 따라서 이 경우 사용자 코드는 객체의 동적생성, 해제에 관련된 것들을 처리할 책임이 있었다.
         '''저수준 자료구조인 포인터를 직접상요함으로서 생기는 제점'''
          사용자가 Handle 클래스를 이용해서 특정한 개체에 Handle을 붙이게 되면 Handle은 그 객체의 메모리를 관리하게 된다.
          즉 Handle이 소멸되면 Handle이 가리키는 객체도 소멸되게 된다. 사용자는 바인딩이 안된 객체를 가리키는 핸들을 만들수는 있지만 이 경우 핸들에 접근하게되면 예외 상황을 발생하게된다. (아니면 처음 생성시 객체가 바인딩 되어있는지를 검사하도록 하면 된다.)
          -> 연산자는 일견 이항 연산자 처럼 보이지만 동작하는 방식이 다른 연산자들과는 다르다. ->를 호출하게 되면 연산자의 좌측요소에서 포인터를 대신해서 사용이 가능한 요소가 리턴된다.
          === 14.1.2 제네릭 핸들 사용하기 ===
          Handle<Core> cp; // Handle 클래스가 생성과 소멸을 자동화하기 때에 복사 생성자, 대입 연산자, 소멸자가 필요 없다.
          자동으로 객체의 메모리 관리가 되기 때에 delete 구을 제거함. Handle::operator=()에 내부 메모리의 해제 구이 들어있기 때에 불필요.
         어떤 경우에 프로그래머는 Handle이 대상 객체를 복사하는 형태가 아니라 단지 가리키는 형태로만 사용되기를 바랄 수 있다. 즉 동일한 객체를 2개의 다른 Handle 이 가리킬 수 있다는 말이다.
         이경우 대상객체의 해제는 객체를 가리키는 마지막 핸들이 소멸될때 행해져야한다. 이를 위해 '''레퍼런스 카운트(reference count, 참조계수)'''를 사용한다.
         '''제점'''
         //Ref_handle을 기반으로 작성된 Student_info 클래스의 사용
         왜냐하면 Student_info에 대해서 내부 객체를 변경하는 함수는 오직 read인데 우리의 경우에는 read 함수 호출시 기존의 내부 멤버를 소멸시키고, 다시 객체를 만들어서 할당하기 때이다.
         그런데 내부객체인 Ptr 핸들은 그 요소를 나타내는 핸들이 오직 1개일 경우가 아니면 대상의 메모리를 해제 하지 않기 때에 아래와 같은 코드에서 s1, s2의 값의 변화가 상호 영향을 미치지 않는다.
         기본 인터페이스는 이전의 Str과 동일하지만 자료구조가 Ptr< Vec<char> > 형으로 정의되었기 때에 전체적인 메소드의 세부 구현이 많이 변경되었다. 그리고 Ptr템플릿으로 자료구조를 다룸으로서 Str클래스가 동일한 객체를 가리킬 수 있는 기능을 제공한다.
          이 구현을 위해서는 Vec::clone()가 정의되어 있어야하지만, 이 함수를 정의하게 될 경우 원래 Vec의 구현이 표준 함수 vector의 구현의 부분이라는 가정에서 위배되기 때에 추가할 수는 없다.
  • CCNA/2013스터디 . . . . 31 matches
          * OSI 계층 모델의 사용 목적
          * 모듈화 처리 - 복잡한 제를 쉽게 해결
          * 이해도의 증가 - 사용자가 이해하기 쉽게
          * 응용 프로그램에서 사용하는 데이터의 형식, 암호화, 압축 등을 담당
          * '''연습제 풀어보기'''
         === 제점? ===
          * 적당한 교재, 제집을 찾을 수 없음 - 연습제가 참...
         === 제점? ===
         === 제점? ===
          - 설치, 운용이 쉽다 -> 제에 대한 해결 방법들이 많이 나와 있다.
          - back-off 알고리즘 : 충돌 발생 시에 개별 호스트는 랜덤한 시간이 지난 후에 데이터를 재전송함. 랜덤한 시간인 이유는 대기 시간을 고정시키면 충돌이 일어난 후에 개별 호스트들이 고정 시간만큼 기다리고 나서 데이터 전송 시에 또 충돌이 발생하기 때.
          - 패스트 이더넷에서는 100Mbps 풀 듀플렉스 스위치를 사용하면 충돌(Collision)이 발생하지 않는다.
          - 네트워크 설계의 제이거나 하드웨어 자체의 제.
          - 차이점 : 광케이블을 사용한다(토큰링은 STP 케이블 사용), 링이 듀얼링 구조(2중 링)으로 되어 있다.
          * 토큰링과 FDDI는 많이 사용되지 않아서 그런지 설명이 무척 적었음.
         === 제점? ===
          * 에러 감지: Magic Number나 Quality Protocol을 사용해 안정적 데이터 전송
          * Data: 0~1500 바이트의 사용자 데이터
         === 제점? ===
          * 단점 : 네트워크 장비들이 공중 통신망에 직접 연결하기 때에 보안에 취약하다. (현재는 꼭 그렇지만도 않다고 한다)
  • 상협/삽질일지/2002 . . . . 31 matches
          * AI 오목을 짜면서, if(a=1) 과 같은 코드가 수많은 코드들 사이에 몇개 있는 바람에 무진장 고생했다. 분명히 제대로 짯는데 결과는 원치 않은 방향으로 나오는 것이었다. 정말 미쳐버릴것 같은 나날들이었다. 나중에서야 저것때제가 생겼다는 것을 알고나서 Error도 뜨지 않는 오타가 정말 무섭다는 것을 알았다.
          * Java 에서 강제 형변환을 C++ 스타일 int(변수), 이런식으로 하다가 수치해석 그래프를 자바로 못 그렸다. ㅠㅜ 그래서 MFC로 하다가 나중에 Java로 짜놓았던 Tridiagonal Matrix 가 MFC로 옮기면서 각종 제가 발생... 다시 Java로 하려다가, 예전의 형 변환의 제 발생..ㅠㅜ, 결국 MSN으로 형들에게 물어봐서 자바에서 형 변환은 (int)변수 이런식밖에 안된다는 것을 알았다. 기본에 충실하자.. ㅡㅡ;
          * 어떤 숫자들의 결과에 1/6을 곱하는 것과, 그 숫자들/6 과는 많이 차이가 있다는 것을 수치해석 숙제를 통해서 알았다. 만약 친구의 소스를 통해서 1/6 곱했던것을 숫자들/6 으로 하지 않았으면 숙제 해결 못했을 것이다. 실제로는 별로 차이 없을만한 것도 컴퓨터에서는 엄청난 차이를 불러 일으킨다는 것을 알았다.
          ''오.. 중요한 정보같은데. 혹시 상민쓰 자네 그래프 제도 이것 때이 아닐까 --석천''
          * 헉헉.. 오늘은 내 컴퓨터에 pws 를 실행시키지 않고, Apache로 다시 웹서버를 바꿨다. 이유는 Java Servlet 한번 실행시켜 볼려는 의도였다. JDBC 보다가 Servlet이 나오길래 그냥 호기심에 한번 해보고 싶었다. 결과는 참담.. ㅡㅡ; 책에 나온데로 JSDK깔고, JServ 깔고 Tomcat깔고, 이것저것 설정 맞추고, 바꾸고, 지지고 볶고 하면서 아까운 시간들을 보냈다. 지금의 결과..Servlet 예제 쳐봐서 했는데 안됐다. ㅠㅜ 괜히 삽질로 하루 날렸다. 섯부른 호기심때에 정작 할일들을 못했다. 교훈 -> 시간관리 잘하자..., 목적성을 가지고 일을 하자.
          * 방금 삽질 하나 해결..Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 이게 메인 함수에서만 되는게 아니라 이 구사용할때는 throws Exception 을 항상 해줘야만 한다는 사실.. ㅡㅡ; 그런데 이 사실을 진작 체감하고 있었다. 그런데 계속 삽질 했다. 그 이유는
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 이게 사용된 바로 그 메소드에서 throws Exception 를 해줘야 하는데 계속 전체 클래스에서 이것을 했었다. 이게 제의 원인.. 그러나 아직 왜 꼭 throws Exception 구을 써야 하는지 모르겠고, Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");이게 없는 곳에서 throws Exception 를 쓰면 에러 뜨는 이유도 자세히는 모르겠다. 모르는것 투성.. ㅡㅡ;;
          ''Exception Handling 에 대해서 이해해야 할 것 같은데. Exception 은 해당 함수가 throws 등으로 발생을 시키고, Java 의 경우 그 Exception 을 반드시 처리를 해주는 곳을 만들어야 하지. 해당 메소드 내에서 Exception 이 발생은 하는데, 그 메소드에서 예외처리를 바로 하고 싶지 않으면 (즉, 그 Exception을 그 메소드 내에서 처리하지 않고, 그 메소드를 호출했던 곳 등에서 처리를 한다고 한다면) throws 로 해당 메소드에서 exception 을 또 던져주는 식으로 되겠지. 만일 Class.forName(...) 쓴 구을 try - catch 로 예외를 또 잡는다면 이야기가 다르겠지만. 자바는 Exception 를 강요하는 관계로 예외는 catch 에서 무엇을 하건, 반드시 해당 발생된 예외를 잡아줘야 함. (그 덕에 최악으로 뻗을 일이 적지. 예외는 발생하더라도) --석천''
          * 나를 엄청나게 괴롭히던 삽질 해결.. 원인은 stmt.execute("SELECT * FROM Table1 WHERE ID = 'mID'"); 이 구이었다. ㅠㅜ stmt.execute("SELECT * FROM Table1 WHERE ID = '"+ mID+"'"); 이렇게 해주어야 했던 것을... 잘못된 코드가 있으면 좀더 유심히 관찰해서 원인이 무엇인지 파악하는 버릇을 들여야 겠다. 너무 주먹 구구식으로 한거 같다. 어쨋든 찾아서 기쁘다.
          * 지금까지 자바에서 if(String1 == String2) 이게 안 먹혀서 계속 고생 했다. 알고 보니 String Class 의 CompareTo 메소드를 사용해야 했다. 허접 삽질.. ㅡㅡ;
          * 이번 삽질은 정말 중대한 삽질이었다. 1학기 평점을 좌우한다고 볼 수 있는 삽질이었다. 1학기 중간고사 대채용으로 내는 자바 프로젝트에서 소켓 부을 맡은 친구가 알수 없는 에러때에 엄청난 삽질을 해서 더이상 나아갈수 없다고 했었다. 메신저에서 통신이 안되다니.. ㅡㅡ;; 그 에러는 "No Such Method Found" 에러다. 그러한 Method가 분명히 있는데도 불구하고 안되었다. 나는 황당했다. 그 친구가 자바는 많이 안했어도 MFC랑 C++을 잘해서 소켓을 맡았는데... 나도 그 에러를 같이 찾기 위해서 삽질을 하였다. 소스도 길고 내가 짠것도 아니어서 정말 못 찾을거 같았다. 그 소스는 특성학 모든 클래스가 딱 서버, 클라이언트 두 파일 안에 들어 있었다. 그래서 난 그 클래스들을 각자 파일로 분리해 보기로 했다. 잘 안풀리니깐 한번 정리나 해보면 뭐좀 어떻게 될까 싶은 마음에 그렇게 했다. 그렇게 정리를 하다 득.. ㅡㅡ;; 같은 이름의 클래스를 서버, 클라이언트에서 각자 다르게 정의해서 사용하는 소스를 발견... ㅡㅡ;;, 그 친구는 아직 자바에 익숙하지 않아서 이런 실수를 했나 보다.. 나도 만약 소스를 클래스별로 파일로 만들 생각을 안했으면 그 에러의 원인을 발견하지 못했을 것이다. 휴. 큰일날 뻔 했넹.. 앞으로는 "No Such Method Found"같은 에러때에 고생할일은 절대 없기를.. ㅡㅡ;
          * 3일간 날 괴롭힌 초 대박 삽질... 운영체제를 2번 다시 깔게 하고, 리눅스 깔려는 시도까지 하게한 삽질.. 어느날 갑자기 인터넷이 안되었다...이것저것 별의 별거 다 해봤다. 랜카드 바꿔 껴보고, 드라이버 다시 깔아 보고, OS 새로 엎어 보고, 등등...ㅡㅡ;; 3일 동안 초 대박 삽질.. 그것도 시험 기간 동안에.. 오늘 기숙사 컴공 형이 옆에서 아이피 한번 바꿔 보라고 해서 바꿔 보았더니 된다. ㅡㅡ; 어떤 바보가 내 아이피를 사용했었나 보다.. ㅠㅜ
          * 오늘은 그렇게 큰 삽질은 아니지만 요새 별다른 삽질이 없어서 적어본다. 오늘 비행기게임 프로젝트를 하고 있는데 파일에서 적 비행기 경로를 읽어와서 실행하는거를 하는데 이상하게 계속 안되는 것이었다. 분명히 난 맞게 텍스트 파일에 적이 나올 위치를 숫자로 적었고, 정확한 명령어를 사용했는데 말이다. 그래서 계속 삽질하다가 잠깐 밖에 나갈 일이 생겼다. 그런데 걷다가 곰곰히 생각하니깐 왠지 파일읽어 온것을 프로그램에서 string 형으로 생각한거 같았다. 그때 아차 하는 생각이 들었다. 역시 삽질은 안된다고 계속 반복하기보다는 원인을 곰곰히 생각해야 한다는 교훈을 얻었다. 뭐 몸이 그렇게 안따라 주지만. ㅡㅡ;
          * 오늘도 어김 없이 ㅡㅡ;; 삽질을 했다. 이번에는 matrix 클래스를 구현하는데 matrix데이터를 이중 배열로 private영역에 넣어서 이것 저것 해보는데 나중에 클래스의 matrix 데이터를 호출해야할 경우가 생겼다. [4][4] 이거 두개로 리턴할라고 했는데 안되었다. 남훈이형이랑 제본뜬 책찾아 보니깐 배열은 리턴이 안된다고 나왔다. 그래서 고민하다가 *[4] 이거 두개(포인터형 배열 4개짜리)를 사용하고 나중에는 *를 리턴하는 식으로 돌파구를 찾았다.(*[4] 이것도 배열이랑 비슷하게 써먹을수 있었다. 예-> *(matrix[0]+1)) 처음에는 뭔가 되는듯 싶었다. 클래스 내부 배열 설정도 제대로 되고 하였다. 그 .... 러..나.. ㅡㅡ;; 역시나 난 삽질맨이었다. 나중에 + 연산자 재정의 클래스 내에서 객체를 생성해서 리턴할때 뭔가 제대로 먹지가 않았다. 그거 가지고 간만에 ㅡㅡ;; 삽질에 바다에 퐁당 빠졌다. 간만에 해보는 삽질도 그리 유쾌한 일은 아니었다.. -_- 그렇게 계속 신나게 삽질하다가 도저히 안되겠다 싶어서 멤버 데이터를 public에 넣어 버리는 엽기적인 일을 해버렸다. ㅡㅡ; 그 방법밖에는 없는거 같았다. 그 후로는 아무런 걸림돌 없이 쭉쭉 되었다. 진작 이렇게 할걸하는 생각을 했지만 서도 멤버 데이터를 public안에 넣어서 웬지 모를 찝찝함이..
          ''근데.. Matrix 클래스가 있음에도불구하고 왜 Matrix 내의 array를 직접 접근할 일이 생긴건지? 그리고 연산자 재정의와 관련된 제라면 Matrix 에 인자를 접근할 수 있는 메소드를 넣던지 friend 로 해결해야 하지 않을까 싶음 --["1002"]''
          * 오늘은 간만에 빡센 삽질을 했다. 오픈GL을 하는데, 여러개 반복되는 구이 많은거 같아서 내 딴에는 함수화 시켜서 편하게 사용해야지 하고 생각하고 함수화를 했다. 그런데 그 과정에서 여기저기 실수해서 겁나게 삽질했다. 실수하고서는 한번 죽 흩어보지 않고 단지 성급하게 빨리 에러를 찾고자 하는 맘에.. 쩝.. 역시 삽질은 정신적인 스트레스를 너무 많이 준다.
          * 이 에러는 까먹기 전에 적어 놓아야 겠다는 생각이 들어서 여기에 적어야 겠다. 오늘 내가 만든 클래스를 인클루드 할때 난 대소자 구분안해도 되는줄 알았는데 구분 안하니깐 링크할때 에러 떳다. 이 에러가 왜 나오는건줄 몰라서 겁나게 삽질 했었는데.. ㅡㅡ;
  • AcceleratedC++/Chapter12 . . . . 30 matches
         클래스는 기본적으로 복사 생성자, 대입 연산자의 기본형을 제공한다. 위의 클래스는 이런 연산에 대한 기본적인 요건을 만족하기 때에 const char* 가 const Str& 로 변환되어서 정상적으로 동작한다.
         상기의 클래스에는 Str(const char*) 타입의 생성자가 존재하기 때에 이 생성자가 Str 임시 객체를 생성해서 마치 '''사용자 정의 변환(user-define conversion)'''처럼 동작한다.
          입력 연산자는 일견 객체의 상태를 바꾸기 때에 멤버함수로 선언이 되어야 한다고 생각하기 쉽다. 그러나 이항 연산자의 경우 파라메터의 맵핑이 좌항의 경우 첫번째 우항의 경우 두번째인자로 받는데, 이렇게 될 경우 멤버함수로 >>연산자를 오버로딩하면 우리가 워하는 결과를 얻을 수 없다.
         cin.operator>>(s); // istream 을 우리가 만든 객체가 아니기 때에 재정의할 수 없다.
          위의 식 처럼 사용하기 위해서는 Str::size() 가 정의 되어야한다.
          if(is) // 입력중 공백 자를 만났을 경우 방금전에 입력으로 들어왔던 한자를 무시한다.
          상기의 함수는 Str 자료형에 입력을 하기 때에 Str 형에 대한 쓰기 권한이 필요하다. 그러나 9.3.1절처럼 단순히 입력 함수를 만들게 되면 일반 사용자가 객체의 내부 구조를 건드릴 수 있는 인터페이스를 제공하는 꼴이 되기 때에 옳지 못하다.
          friend 함수는 접근제어 레이블에 영향을 받지 않기 때에 어디에 선언을 해도 무관하나, 가능하면 클래스 선언의 최초 부분에 놓는 것이 좋다.
          상기의 장은 다음과 동일한 순서로 동작하게 된다.
          이런식으로 동작하게 하면 임시 변수의 생성으로 인한 오버헤드가 상당함으로 알 수 있다. 이런 제를 해결하기 위해서 string 클래스는 자동변환에 의존하지 않고, 피연산자들의 모든 조합에 대해 결합 연산자를 제공한다.
          이항연산자는 비 멤버함수로 설계하는 것이 좋다. 이유는 멤버함수의 경우 첫번째 인자가 객체의 특정형으로 고정되기 때에 자동 형변환을 이용할 수 없기 때이다. 즉 대칭성(symmetry)를 유지하는 것이 가능하다.
          멤버함수로 이용되는 경우 우항 피연산자가 자동 형변환되어 좌항과 일치하지 않는 것과 같은 제가 발생할 수 잇다.
          반면 대입연산자는 연산의 결과가 특정 객체에 영향을 주어야 하기 때에 반드시 클래스의 멤버함수로 작성하는 것이 옳다.
         11.2.2 에서의 explicit 키워드의 사용은 자동 형변환에 이용이 되는 단일 인자를 받는 생성자의 행위를 제한함으로써 프로그래머가 원치 않는 변환을 막는 기능을 한다.
         Vec의 경우처럼 size_type 을 인자로 받는 경우에는 요소의 개수라는 구조를 결정하기 때에 explicit 이 적당하다.
         그런데 istream 클래스는 istream::operator void*()를 정의하여 만약 입력에 제가 있으면 void* 형으로 0을 그렇지 않은 경우에는 void* 를 리턴하게 함으로써 마치 bool 형처럼 사용하는 것이 가능하다.
         void*로 리턴값을 정함으로써 bool 로 정했을 때 나타나는 자동형 변환(정수형으로의) 제점을 해결할 수 있다.
         하단의 코드가 올바르게 동작하지 못한다. 변환되는 형이 요구되는 형과 전혀 맞지 않기 때이다.
         그렇다고해서 data가 가리키는 포인터를 바로 넘기면 프로그램에서 그 포인터를 통해서 데이터의 수정을 할 수 잇기 때에 캡슐화의 장점이 사라진다.
         이 것을 해결할 방법은 data의 복사본을 만들어서 그 것을 리턴하고 사용이 끝난 뒤에는 복사본을 제거하는 방식으로 해결이 가능하다.
  • TeachYourselfProgrammingInTenYears . . . . 30 matches
         원 : http://www.norvig.com/21-days.html (Peter Norvig 는 AI 분야에서 아주 유명한 사람. LISP 프로그래머로도 유명)
         밑의꺼는 번역기 버전. -_- 맥에 따른 수정 요함.
         248건의 히트가 있었다.그 중 위로부터 78권은 컴퓨터 관련의 서적이었다(79번째는「30일에 배우는 벵골어」).「날」을「시간」에 옮겨놓아 보았는데, 매우 잘 닮은 결과를 얻을 수 있었다.253권이 히트 해, 위로부터 77권이 컴퓨터 관련의 서적으로, 78번째는「24시간에 배우는 법과 체」였다.상위 200권 가운데,96%가 컴퓨터 관련 서적이었다.
         결론으로서는, 누구나가 컴퓨터에 대해 배우는데 분주한가, 아니면 컴퓨터라는 것이, 다른 어떤 것보다, 배우는 것이 어찌 된 영인지 믿을 수 없을 정도 쉽다고 하는 것이 된다.왜냐하면 몇일이나 수시간에 배우는 베토벤이든지, 료코 물리든지, 개의 조교라고 하는 책은 전무인걸.
         Pascal:3일간으로, Pascal 의 법을 배우는 것은 가능할지도 모르는(유사한 언어를 이미 알고 있으면)가, 그 법의 이용법까지는 충분히는 배울 수 없다.즉, 예를 들면 당신이 Basic 프로그래머이다고 하여, Basic 스타일로 Pascal 의 법을 이용한 프로그램의 쓰는 법을 배울 수 있을지도 모르지만, Pascal 가 실제의 곳, 무엇에 향하고 있을까(향하지 않은가)를 배울 수 없다.그런데 여기서의 포인트는 무엇일까? Alan Perlis(역주1) 은 일찌기, 「프로그래밍에 대한 생각에 영향을 주지 않는 것 같은 언어는, 아는 가치는 없다」라고 말했다.여기서 생각되는 포인트는, 당신이 Pascal(그것보다 어느 쪽일까하고 말하면 Visual Basic 나 JavaScript 등의 (분)편이 현실에는 많을 것이다)를 그저 조금 배우지 않으면 안 된다고 하면(자), 그것은 특정의 업무를 실시하기 위해서(때에), 기존의 툴을 사용할 필요가 있기 때일 것이다.그러나, 그러면 프로그래밍을 배우는 것으로는 되지 않는다.그 업무의 방식을 배우고 있을 뿐이다.
         연구자 (Hayes, Bloom)에 의하면, 체스, 작곡, 회묘, 피아노 연주, 수영, 테니스, 그리고 신경 심리학이나 위상 기하학의 연구를 포함한, 광범위한 분야의 머지않아에 대해서도, 전 기술을 몸에 익히려면 대략 10년 걸린다고 한다.지름길 등 실재하지 않는 것 같다.4세로 해 음악의 신동이었던 모차르트조차, 세계적인 악곡을 만들어 내기까지 13년 이상의 시간을 필요로 했던 것이다.사뮤엘·존슨(역주2)는, 「어떤 분야에 있어도, 생애에 걸치는 노력 없애 뛰어난 것에는 달할 수 없다.그것보다 싼 대상으로 손에 넣을 수 없는 것이다」라고, 거기에는 10년 이상 걸린다고 생각했다.
         프로그래밍에 흥미를 가져, 그것을 즐거움을 위해서(때에) 할 것.그것이 충분히 즐거운 계속 것이면 , 10년이라도 기꺼이 계속할테니까.
         프로그램을 쓰는 것.학습하는 최고의 방법은,실천에 의한 학습이다.보다 기술적으로 표현한다면, 「특정 영역에 있어 개인이 최대한의 퍼포먼스를 발휘하는 것은, 장기에 걸치는 경험이 있으면 자동적으로 실현된다고 하는 것이 아니고, 매우 경험을 쌓은 사람이어도, 향상하자고 하는 진지한 노력이 있기 때에, 퍼포먼스는 늘어날 수 있다」(p. 366) 것이며, 「가장 효과적인 학습에 필요한 것은, 그 특정의 개인에게 있어 적당히 어렵고, 유익한 피드백이 있어, 게다가 반복하거나 잘못을 정정하거나 할 기회가 있는, 명확한 작업이다」(p. 20-21)의다(역주3).Cambridge University Press 로부터 나와 있는 J. Lave 의「Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life」(역주4)라고 하는 책은, 이 관점에 대한 흥미로운 참고 헌이다.
         프로젝트로, 다른 프로그래머와 함께 일하는 것.몇개의 프로젝트로, 제일의 프로그래머가 되는지, 그렇지 않으면 맨뒤의 프로그래머가 되는 것.당신이 제일이라면, 프로젝트를 지휘해, 다른 사람들에게 당신의 비전을 닦아 넣는 능력을 시험하게 된다.당신이 맨뒤라면, 달인이 할 것을 배워, 그들은 어떤 말하는 것을 하고 싶지 않은 것인지 알게 된다(그러한 일은 당신에게 시키려고 하기 때에).
         적어도 반다스의 프로그램 언어를 배우는 것.그 중의 하나는 클래스 추상을 서포트하는 것(예를 들면 Java 나 C++), 하나는 함수 추상을 서포트하는 것(예를 들면 Lisp 나 ML), 하나는 구 추상을 서포트하는 것(예를 들면 Lisp), 하나는 선언적 기술을 서포트하는 것(예를 들면 Prolog 나 C++ 템플릿), 하나는 coroutine 를 서포트하는 것(Icon 나 Scheme), 그리고 하나는 병렬처리를 서포트하는 것(예를 들면 Sisal)인 것.
         언어 표준화의 시도에 참가하는 것.ANSI C++ 위원회라면 그것이 생길 것이고, 가족에서의 코딩·스타일에 대해, 인덴트의 공백을 2 자로 할까 4 자로 하는가 한 레벨에서도, 결정하게 될 수 있다.어쨌건 간에, 다른 사람이 프로그램 언어의 어떤 곳을 좋아하는가, 얼마나 깊고 좋아하는가, 그리고 아마, 왜 그렇게 좋아하는가는 일도 조금, 배우게 된다.
         이상 모든 것을 고려하면(자), 책으로 배우는 것 만으로는, 어디까지 습득할 수 있을까 의심스러운 것으로 있다.최초의 아이가 태어나기 전은, 나는 방법책을 전부 읽어 조차도, 자신을 아무것도 알지 않은 신참자에게 생각된 것이다.30개월 후, 두번째의 아이가 태어나게 되었을 때, 나는 책으로 복습했는지라는? 그렇지 않았다.그렇지 않고, 나는 자신의 개인적인 경험을 믿어 전가에 의해 쓰여진 몇천 페이지보다, 쭉 쓸모있어 해, 자신을 가지고 있었다.
         === 참고 헌 ===
          * 역주 1 - ACM 의 초대 의장을 맡아 튜링상의 제1회의 수상자이기도 한 저명한 컴퓨터 과학자(1922-1990).그가 남긴 에피그램은, 현재도 여러가지 곳에서 참조된다.Google 등으로 그의 이름을 검색하는 것만으로, 본의 저자가 링크한 페이지 이외에도 동취지의 페이지가 다수 히트 한다.
          * 역주 2 - 영국의 학자(1709-1784).사전 편찬자로서 영어학의 발전에 기여한 것으로 유명해, 그도 또 남긴 에피그램으로 알려진다.
          * 역주 3 - 이 두 개의 인용에 대해서는, 링크처를 더듬어도, 정확하게 어느 헌때인지의 인용이나 특정할 수 없었다.입수할 수 있는 국역을 아시는 바라면, 부디 연락 주세요.
          * 역주 5 - ASCII BOOKS 로부터 「학카즈 대사전」(후쿠사키 타카히로역)로서 국역이 나와 있다.덧붙여 본에 인용되고 있는 ESR 의 장이 어느 장으로부터의 인용인가는 몰랐다.본에서는 ESR 는 The New Hacker's Dictionary 의 저자로서 이름을 들 수 있지만, 현재의 Jargon File 에는 해당 장은 없었다.
  • 새싹교실/2011/무전취식/레벨10 . . . . 30 matches
         이소라 : 수요일에요. 누가 숙제를 도와달라고 해서 원래 그날 창설모이는 날이었는데 1시에 끝나서 도와주고 창설 할려고했는데 다해서 축제도 보고 싶어서 오고있었는데 "끝났음"이라고 자가왔음. 그리고 전날에 화요일에 6시에 오기로 했는데 새싹때에 늦어서 자 보냈더니 만난지 30분만에 "끝났음"이라고 자옴. 이진영 : ㅋㅋㅋㅋ 그리고 못보고 목요일날 갔는데 퍼펙트 성공 이진영 : 이씨~~ ㅋㅋ 그리고 목요일에 축제라서 친구가옴. 6시에 왔는데 낮에 있던거 다 닫고 주점만 있어서 두바퀴오르락 내리락하다가 저기 블랙바니가서 또 꿀꿀꿀 퍼묵퍼묵 하는데 남자친구가 와서 학교 구경 시켜줄려고 올라왔는데 볼게 없어서 걔 아는 형이 저기 병원에 있다길래 만나서 노래방감. 그날 낮에 풍선 미끄럼틀가서 이진영: ㅋㅋㅋㅋ 애들이랑 다 탐. 근데 엄청 재밌게 탔는데 어떤애가 타다가 바지가 찢어짐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ킨ㄹ이ㅓㅋㅋㅋㅋㅋ 그래서 진영이가 잘봤음. 그리고 금요일에 티셔츠 받으려했는데 줄이 너무길어서 그 전날 다른애한테 뺏은 L사이즈 내가 입음. 완전 하의실종임 ㅋㅋ 그리고 김장훈왔었는데 완전 좋았음.
         서원태 : 수요일날 자다가 종하형한테 자왔음 "경진대회 감독좀 맡아라" 그래서 갔는데 제좀 봤는데 하나도 모르겠음. 그래서 인터넷 쓰는사람 계속 잡았는데 치완이네 조가 인터넷 쓰는건 몰랐는데 알아서 말해서 강퇴시킴. 그리고 끝나서 같이 밥먹고 집에감. 목요일에는 가족 저녘약속있어서 축제 구경못하고 집에 감. 금요일날 축제 구경할려고했는데 예사 프로젝트 발표 준비때에 구경 못함. 내년 축제는... 아 군대가있지. 군대갔다오면 3년정도 뒤에 볼수 있을듯.
         정진경 : 작년 기출보고 갔는데 4제 나왔는데 너무 어려움 . 삽질하다가 2제 풀었는데 목요일날 결과 나왔는데 2등해서 넘 좋았음. 경진대회 전에 동양철학의 이해 수업이 있었는데 거기서 잠깐 졸았는데 귓속에 주이 들어왔다 "양명학 주장학 " 그래서 깨고 보니까 머리가 아팠다. 10만원 현금으로 받고 부상있는데 기계식 키보드랑 무선 마우스. 1등부터 선택하는거임
         김태진 : 저번주말에 부산에 내려갔습니다. 목요일 저녘에 갔기때에 금요일 창설은 다해놓고 구경하러갔습니다. 그리고 금요일 저녘에 들은 소식은 Fail Fail~~~ ㅠㅠ. 축제도 못본건 아쉽긴 하지만 그래도 집에가서 이런저런거 먹고 잘 쉬다온건 행복했음. 프로그래밍 경진대회 나갔는데 한종이랑 송치완이랑 같이 나갔음. 분명 MSDN까지만 쓰기로 되있었는데 송모군이 MSDN하면서 www.google.co.kr를 통해 검색을 하다가. 야. 이거 제 똑같애 하다가 들켜서 강퇴당함.
         강원석 : 집에 강아지가 생겼음 종류는 말티즈 "콜" 네달됬는데 짱임. 남자임. 중성화 아직 안함. 해야한다던. 똥오줌 가려서 완전 신기함. 애가 첫날 왔는데 신지 위에서 비비빅하더니 오줌거기서 싸고 똥도 거기서 사고 완전 신기함. 거실에서 따로 재움. 그럼 방열고 들어옴. 이번주 창설 1등했음. 완전 좋음. 축제때 애들이랑 술만먹음. 구경은 안했음.
          * strlen()함수의 사용에 대해 알아봤죠
          * 1번
          //자열을 받음
          * 2번
          if (i==selectMin || i==selectMax) continue;
          * ㅋㅋㅋ오늘도 일등입니당*_* 위키올라오기전에 미리 확인한 건 처음이에요. 과제하다가 들어와서 써용. 오늘 코딩해본 1, 2번은 다했습니다. 스스로 생각해보고 스스로 코딩해보는게 중요한 것 같아욧!! 제를 보고 어떻게 해결할까 고민하는 과정이 실력을 키우는 것 같네용... 여태까진 다른사람 생각을 그대로 옮기는 코딩을 했다면 이제부터는 제 스스로 생각해보고 코딩을 해야겠어요히히*-_-* 하하핫 이제 3번을..... - [이소라]
          * 오랜만에 참여해서 C 과제를 풀었습니다. 어느새 1학기가 끝나가네요. C수업도 구조체, 파일입출력만 들으면 끝나는 것 같고, C언어에 익숙해질 수 있었던 1학기가 되었기를ㅋㅋ c 과제 저는 밤 새서 구현 다 했지만, 새로 다시 짜봐야할 것 같습니다. ㅋㅋ 4, 5번 제는 꽤 소스가 길어지는 것 같네요. 스스로 직접 짜본다면 실력이 많이 늘듯... - [정진경]
          * 여기에 올리는거 맞아 내가 안만들어줬구나. 마지막과제는 거의 노가다 수준이지 하지만 주석을 먼저하고 하나하나 코딩해가다 보면 쉬워질꺼야. -[김준석]
         제3.(단어별로 한줄씩 나열하기??)
         제4.(좌석 예약)
         [제3]
         [제4]
         // N값 질 스캔과 N값 입력
         // type 1 or type2 인지 물어보는 질 스캔
         // 만약 first seat이 다 찼을경우 질 스캔
  • 새싹교실/2012/해보자 . . . . 30 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          - 선언된 이후로부터 전역변수처럼 사용 가능하다.
          * 전역변수를 왠만해선 사용하지 마라! 값을 원하지 않을 때 임의로 변경할 수 있다.
          2. swap(int num1, int num2)함수를 구현하시오. 함수 호출을 배우지 않았기 때에, 그리고 포인터를 아직 배우지 않았기 때에 기본적인 코드를 제공합니다.
          * 조건 if
          - 조건식엔 논리식이 들어간다 (일반적으로 참 = 0이 아닌 숫자, 거짓 = 0)
          * 예제1) 정수를 입력받고 숫자가 짝수인지 홀수인지 판별하는 프로그램
          * 조건 if 속에 또다른 if을 넣을 수 있다. (dangling else)
          * 반복
          - 무한반복의 성질이 있기 때에 영원히 빠져나오지 못하는 프로그램을 만들 수 있다.
          * continue
          - continue 아래에 있는 명령어들을 처리하지 않고 반복의 처음으로 다시 돌아간다.(물론 조건식을 다시 확인)
          - for를 while처럼 사용할 수도 있다.
          * for를 사용하는 경우: 반복처리할 횟수가 명확할 때
          * while을 사용하는 경우: 반복처리할 횟수가 명확하지 않을 때(특정 조건이 되어야 반복을 그만두게 할 때)
          * 예제1) 숫자를 입력 받고 그 숫자만큼 #자 출력하기
          * 예제4) 숫자를 하나 입력 받고 그것을 2진수로 출력하시오.
          continue;
         강재곤 : for 구을 어떻게 사용해야하는지 알았고 직접 실습을 해봤다. 자신감이 생기는거같다
          * switch사용 방법: case by case로 분류
  • 이영호/64bit컴퓨터와그에따른공부방향 . . . . 30 matches
         연륜과 많은 공부 때이 아니라 컴퓨터 구조 자체에 대한 깊은 이해를 바탕에 둔 듯하다.
         때에 완전한 64bit 체제가 자리 잡기 전까진 32비트 체제의 지식을 내것으로 만들어야한다.
         (C를 사용할 시 Inline Assmbly만을 허용한다.)
         몇가지 질을 한다면 (활동 영역을 아마 시스템 프로그래머 분야로 잡은 것 같아서, 좋아하는 분야를 공부하는 것에 대해서는 큰 이견이 없습니다.)
          └저도 C (배우게 된다면 Assembly도.ㅎ)를 좋아 합니다.ㅎ 무엇보다 빠른 연산속도와 하드웨어 제어(해본적은 없지만), 포인터를 통한 메모리 접근등 좋은 점이 많아요.^^* 그렇지만 예를 들어 1만 팩토리얼을 출력하는 프로그램을 작성하시오. 라고 제가 주어졌을때, C로 짜면 한나절이지만 파이썬으로 작성하게 되면 5분도 안걸리게 됩니다. 물런 연산속도가 느리기는 하지만 말입니다.^^ 이런 점에서 봤을때, 속도가 중요하다거나 특화된 프로그램을 작성해야할 경우에는 C와 같은 언어가 좋지만 보편적으로 사용하는 워드프로세서라든지 기타 응용프로그램이나, 제작해야할 프로그램의 제작시간이 짧을 경우에는 상위레벨의 언어가 좋을거라고 봅니다.^^ 뭐 이렇게 말은해도.. 사실 서로의 장점을 그때그때 맞춰서 섞어쓰는게 가장 좋지 않을까요?ㅎ (게임을 만들때 하위레벨의 언어로 하드웨어를 직접 사용한다 하더라도, 다이렉트를 이용하지 각각의 그래픽 카드에 맞춰서 프로그램을 만들지 않는것과 비슷한것 같아요.^^) 이상 지나가는 행인1의 잡다한 생각이었습니다.^^* - [조현태]
         (우선 제 지의 맥락을 담은 질부터. 과연 Java와 Python 개발자들이 Assembly+C개발자와 같이 좋은 효율의 다른언어 컴파일러를 만들 수 있을까요. 현재 함수보다 좋은 함수를 생각해 냈는데 그것을 구현하려면 low level의 지식이 필요한데, 자신은 Java와 Python 들만 알고 Assembly를 모른다면 어떻게 해야할까요?)
         음. 아쉽게도 그런 용도로 Assembly를 평가 한게 아닙니다. 우수하고 못하다의 평가는 여기서도 나오는군요. 한가지만 파면 성공한다와 같은 맥락이랄까요... 저는 미래의 직장보다도 현재의 지식욕을 채우고 싶을 뿐입니다. 누구보다도 이것에 대해 많이 알고 싶고 또한 그렇게 되길 바랄뿐입니다. 과연 Java나 Python등을 공부하다보면 컴퓨터에 대한 가장 기초적인 지식들을 얻기 쉬울까요? 그렇기 때에 Assembly에 대한 직접적인 접근을 하려고 하는 것입니다. 지식욕이 아니더래도 현직에 계시는 프로그래머분들께 컴퓨터에 대한 기초가 부족하고 프로그램만 짤 줄 아는 신참 직원들은 항상 한계에 다다르면 좌절한다라는 말을 들은적이 있습니다. 한번쯤은 생각해 볼 제입니다. Assembly > C++을 평가한 것은 이런 맥락입니다. 컴퓨터에 대한 기초가 있느냐 없느냐. Assembly를 만지고 C++을 만진 사람의 경우는 모르겠지만 C++만 만지고 Assembly를 공부하지 않은 사람의 한계는 언젠가는 드러나게 되죠.
         (64 비트로 변할 때에는 프로그래머가 3가지 아키텍쳐(32비트 때에는 32비트 아키텍쳐 한가지)에 대한 것을 모두 생각해야하기 때에 32비트만 취급할 수는 없겠죠. 호환성때에. 결국 64비트 아키텍쳐에도 공부할 시간을 할애해야하고 32비트의 공부시간이 줄어든다는 말이었습니다.) - [이영호]
          * 어떻게 하면 확장성과 교체성이 뛰어나고 코드 상의 중복이나 Dependency 제를 적게 일으키는 모듈을 만들어낼까?
          * 어떻게 하면 추상성이 높은(적은 코드로 더 많은 일을 하게 하여, 실제의 도메인 제 자체에 촛점을 맞추게 하는) 모듈을 만들까?
         "종국에 C++과 같은 현재 패러다임을 따르는 사람들은 결코 나를 넘지 못하리니..."라는 말이 참이 되는 시점이 있다면 "나 역시 그들을 넘지 못하리니."도 참이 되진 않을까 반해 보세요. 그리고 만에 하나 그렇게 된다면 거기에 만족할 수 있을까 생각해 보세요. 너무 이른 걱정이려나요? (전성은 분야를 넘어서까지 적용되지는 않는다는 것이 최근 인지과학이 밝혀낸 사실입니다. 반드시 체스 전가가 바둑을 특별히 잘두거나, 바둑 전가가 체스를 뛰어나게 잘두거나 하지는 않습니다. 체스 고수가 특별히 IQ가 높고 암기력이 뛰어나거나 하지도 않고요. 한가지를 잘해서 두루 잘하기는 무척 어렵습니다)
         컴퓨터 계의 대부 다익스트라(EdsgerDijkstra)는 이런 말을 했죠. "천학이 망원경에 대한 학이 아니듯이, 컴퓨터 과학 역시 컴퓨터에 대한 것이 아니다."(Computer science is no more about computers than astronomy is about telescopes.) 망원경 속을 들여파봐야 거기에서 명왕성이 뭔지 알 수가 없고, 컴퓨터를 속속들이 이해한다고 해서 컴퓨터 과학에 달통할 수는 없다 그런 말이죠.
         잘 읽었습니다. 혹시 천학을 공부해보셨는지요? 어릴적부터 천학(정확히 천체물리학)에 관심이 많아 대학 과정을 고등학교때 배우기도 했습니다만(조금 이상한 geek같죠?), 천학을 잘 하려면 말씀하신대로 컴퓨터에 대한 학처럼 두루 잘 알아야하죠. 이러한 수학, 물리학화학(스펙트럼, 통계역학, 열 역학, 양자역학, 상대론 등)을 제대로 공부해 둬야 비로서 천학을 제대로 공부할 수 있습니다. 즉, 어느 한가지라도 약하다면 그 사람은 천학자가 아닌 천대에서 일하는 사람과 뭐가 다를까요? 제가 Assembly를 공부하려 한것은 한쪽으로 치우친 공부가 아닌 컴퓨터의 가장 기초를 먼저 닦고 다른 분야로 올라가겠다는 것입니다.
         P.S: 천학과 컴퓨터로 치면, 망원경은 컴파일러가 되겠고, Assembly어는 물리학 쯤이 되겠네요. 천학 및 천체물리학 개론에는 망원경 단원이 1단원 분량으로 망원경 제작법 이런 것들이 아닌(망원경 제작은 아마추어 별바라기들이 하죠.) 물리학의 광학적 특성에 대해 다루죠 :) 예를 조금 잘못 드신거 같네요. 아니면 제가 위에서 제가 여러번 반박한 글들에 제 의도가 제대로 나타나지 않았던가요.
  • 정모/2011.4.4 . . . . 30 matches
          * 지난주에 진행한 프로젝트, 스터디, 새싹 교실 혹은 수업 내용 중 어려운 점에 대해 질하고 ZeroPager들이 답변해주는 시간.
          * 질자가 자발적으로 질한다.
          * 20초간 다른 사람들이 제를 해결하는 법을 생각할 시간을 준다.
          * 세 명 이상일 경우 질자가 세 명을 선택하여 답변을 듣는다.
          * 세 명이 안 될 경우 질자가 원하는 사람을 지목하여 총 세 명의 답변을 듣는다.
          * '''지난주에 새싹 교실에서 반복을 가르쳤는데 새내기들이 잘 이해하지 못하는 것 같다. 어떻게 가르치면 될까?'''([강소현])
          * 법의 경우, 일정 금액을 만족할 때까지 돈을 계속 늘려가면서 지불하고, 거절당하는 수를 센다고 가정해보자([송지원])
          * 튜터링 수업은 정규 수업 진도를 꼭 따라갈 필요는 없을 듯 합니다. 작년에 튜터링 수업을 들었던 경험상, 튜터 선배님이 다들 1년동안 배운 C, C++과 공통된 법은 넘어가고 클래스부터 설명을 하였습니다. 그리고 수업 외에 이때 내가 알았으면 좋았을거다! 싶다 생각한 것을 가르쳐 주셨습니다. map, set에 대한 간단한 설명이나, UML 사용법에 관한 프린트를 뽑아와 알아두면 좋다 하시기도 하고, MVC에 대해 예시를 들어 설명하시기도 하고, 인터페이스를 저그, 프로토스, 테란의 공통된 기능을 묶어 설명하기도 하고... 열심히 연습하며 따라가면 좋았을텐데 저의 성찰일지는 늘 공부를 했어야 했는데...로 끝났다는 게 미스지만요ㅠㅠ([강소현])
          * 뭐하러 그렇게 열심히 하나? 그냥 날로 먹어도 좋은 것 같다. 굳이 열심히 하고 싶다면 수업에 얽매이지 말고 가르치고 싶은 것을 가르쳐라. 가령 수업중엔 배울 수 없는 이클립스 or 넷빈즈 사용법이라던가.([김수경])
          * (이걸 말하려다 시간상으로 말 못했었던거 같은데 -_-) 송지원 학우의 튜터링과 강성현 학우의 튜터링을 듣는 사람으로서 한마디 하자면, 송지원 학우의 자구 튜터링에 비해서 (C언어를 배웠기 때에) 기본적인 것들은 이해하기가 쉬운게 사실인데다, (이거는 수업 중에 이야기를 했던건데) 직접 자기가 어느 정도 해 보고 막히는 부분에서 튜터의 역할이 더 빛이 나는 것이고, 이 튜터링이라는 것도 하나의 스터디인데 그 스터디에서 아는 것을 (표현을 빌자면) 날로 먹듯이 하는 거 보다는 심화된 부분을 가르쳐 줌과 동시에 수업과 관련한 필수적으로 알아야 할 것들을 집어 주는 것이 좋을 것 같습니다. 뭐 송지원 학우의 자구 튜터링은 제가 따로 공부좀 해야겠는데 요즘 뭘 한건지 -_-;; 송지원 학우가 만들어 봐 이러면 좀 멍해져서 말이죠 -ㅅ-;;;;;;;;;; ([권순의])
         == 캡스톤 설계실 사용 안내 ==
          * 도와줘요 ZeroPage에서 무언가 영감을 받았습니다. 다음 새싹 때 이를 활용하여 설명을 해야겠습니다. OMS를 보며 SE시간에 배웠던 waterfall, 애자일, TDD 등을 되집어보는 시간이 되어 좋았습니다. 그리고 팀플을 할 때 완벽하게 이뤄졌던 예로 창설을 들었었는데, 다시 생각해보니 아니라는 걸 깨달았어요. 한명은 새로운 방식으로 하는 걸 좋아해서 교수님이 언뜻 알려주신 C언어 비슷한 언어를 사용해 혼자 따로 하고, 한명은 놀고, 저랑 다른 팀원은 기존 방식인 그림 아이콘을 사용해서 작업했었습니다 ㄷㄷ 그리고, 기존 방식과 새로운 방식 중 잘 돌아가는 방식을 사용했던 기억이.. 완성도가 높았던 다른 교양 발표 팀플은 한 선배가 중심이 되서 PPT를 만들고, 나머지들은 자료와 사진을 모아서 드렸던 기억이.. 으으.. 제대로 된 팀플을 한 기억이 없네요 ㅠㅠ 코드레이스는 페어로 진행했는데, 자바는 이클립스가 없다고 해서, C언어를 선택했습니다. 도구에 의존하던 폐해가 이렇게..ㅠㅠ 진도가 느려서 망한줄 알았는데, 막판에 현이의 아이디어가 돋보였어요. 메인함수는 급할 때 모든 것을 포용해주나 봅니다 ㄷㄷㄷ 제가 잘 몰라서 파트너가 고생이 많았습니다. 미안ㅠㅠ [http://en.wikipedia.org/wiki/Professor_Layton 레이튼 교수]가 실제로 게임으로 있었군요!! 철자를 다 틀렸네, R이 아니었어 ㅠㅠ- [강소현]
          1. 기존의 프로젝트/스터디 공유가 너무 보고하는 모양새가 되는 것 같아 서로 소통하듯 공유할 방법이 없을까 하다가 도와줘요 ZeroPage를 시도해봤습니다. 저는 세 명의 답변을 듣는 것이 매우 금방 끝날 줄 알았는데 생각보다 그렇지가 않네요. 만약 다음주에도 이 코너를 진행한다면 그 땐 한명의 답변만 듣고 나머지 답변은 위키로 듣는 식으로 진행해야 할 것 같습니다. 참가자 모두의 질을 세 명의 답변을 듣고 넘어간다면 정모가 아니라 소규모 지금그때가 될 듯ㅋㅋㅋ
          1. 작년에 프로젝트를 진행하면서 Agile 프로세스를 도입하고 싶었는데 생소한 개념에 대해 생소한 용어로 설명하다 팀원들의 관심을 얻지 못한 경험이 있습니다. 그래서 OMS를 준비하며 Agile이라는 말도 하지 말고 Agile을 소개해보자!! 하는 생각에 '더 나은 프로젝트 만들기'라고 주제를 잡았습니다. 용어를 하나도 사용하지 않으려다보니 이번엔 너무 붕 뜨게 설명하게 된 것이 아쉬운 점입니다. 제가 Agile에 대해 정말 잘 안다면 어떠한 용어를 사용하지 않고도 쉽게 설명할 수 있었을텐데 그렇지 못한 것이 안타깝네요.
          * 페어 프로그래밍을 하기 때에 생산성이 높아지고 속도가 빨라진다는 점은 동의합니다. 하지만 페어 프로그래밍의 더 큰 장점은 속도보다는 프로그램의 완성도라고 생각했습니다. 빨리 짜는게 최우선이었던 이번 코드레이스가 속도의 향상을 보여준 시간이었다면, 다음 페어 프로그래밍은 프로그램의 설계 혹은 완성도가 향상됨을 더 느끼게 해주면 좋겠다는 의미였습니다. - [Enoch]
          * 간만의 페어 프로그래밍이라 재밌었습니다. 개인적 성향일지도 모르겠지만 혼자 코딩하면 코딩 참 싫어하는데 페어 프로그래밍을 할 때는 상대적으로 훨씬 즐겁게 하는 편입니다. 상대가 성현이라서 더 긴장하고 집중하고 했던 것도 큽니다 ㅋㅋㅋ (미안해, 성현아 누나가 허접해서...) 중간에 수경이에게 뭐라 한마디 하면서 정모 분위기를 흐린건 죄송합니다. 다른 학우들은 어떻게 생각했을지 모르겠습니다. 수경이가 못할 말을 하진 않았고, 방호실 아저씨가 옳다고는 전혀 생각하지 않습니다만 제 입장에선 전달법이나 태도는 대표자로서 맞지 않다고 생각했습니다. 학생회장이 조금만 부주의하게 언행을 일삼아도 비난받고 총무부장이 자기도 모르는 새에 조금만 빈틈을 보여도 욕을 먹듯이 리더이고 회장이고 제로페이지의 얼굴이기 때에 싫어도 가져야 하는 자세가 있습니다. 한번 생각해보셨으면 좋겠습니다. - [Enoch]
          1. 우선 가장 먼저 짚고 넘어가고 싶은 것은 어제 그 상황에서 제가 ZeroPage 대표로서 방호실 아저씨를 대했는가에 대한 점입니다. 다른 사람이 아닌 제가 방호실 아저씨와 이야기하게 된 것은 무엇보다도 제가 그때 앞에 서 있던 사람이라 그랬던 것이고 또 다른 이유는 강의실을 빌린 사람이라 그런 것입니다. 정모에 모인 사람들 중 제가 ZeroPage 대표이기 때에 방호실 아저씨와 이야기 한 것이 아닙니다. 심지어 방호실 아저씨는 제가 ZeroPage 회장이신 줄도 모릅니다. 따라서 그 상황에 대해 "회장다운 태도"가 안 되어 있다고 지적하시는 것은 열린 공간에서의 저의 모든 태도에 대해 지적하신 것과 같습니다. 말씀하신대로라면 "회장다운 태도"는 사실 제가 ZeroPage 회장인지도 모르는 방호실 아저씨와 마주칠때보다 6피 등 제가 ZeroPage 회장인 것을 아는 사람들이 많은 공간에서 더 중요할 것 같습니다. 그렇다면 제가 6피에서 그냥 컴퓨터공학부 학생으로서 사담을 나눌 때도 항상 ZeroPage 회장답게 할 말은 걸러하고 완곡한 표현을 쓰라고 요구하시는 것인지 궁금합니다.
          1. 학생회장, 총무부장의 예를 드셨는데 어제 제가 총무부장을 언급해서 예로 드신 것인가 싶어 덧붙입니다. 저는 총무부장이 총무부장으로서 맡은 책임을 제대로 이행하지 못하는 부분 때에 언급한 것입니다. 저는 총무부장의 평소 행실은 알지도 못하며 알아도 평소 행실에 대해 총무부장으로서 부적절하다고 평가할 생각이 없습니다. 그 학우가 디씨 코갤을 다니든, 학고를 맞든 혹은 그 외의 제가 정말 싫어하는 어떤 일을 하더라도 사적인 일이라면 그 학우 개인을 싫어했으면 했지 총무부장답게 행동하라는 말을 하지 않을 것입니다. 다만 저는 총무부장이 총무부장의 책임을 다할 때 그의 언행에 제가 있다면 그런 것을 지적하는 것입니다.
          1. 따라서 제가 언급한 부분은 송지원 학우께서 저의 행실에 대해 지적하신 부분과 기본적인 관점 면에서 많은 차이를 보입니다. 혹시 굳이 제가 언급해서가 아니라 다른 대표성을 가진 사람이라 예로 드신 것인가 싶어 다른 말도 덧붙입니다. 총무부장이 한 개인으로서 빈틈을 보였다고 총무가 그래도 되냐는 말을 듣는다면 그것이 합리적인 상황입니까? 저는 그런 말은 의미가 없는 말이라 생각합니다. 물론 총무부장이라는 잘 알려진 자리에 있기 때에 누군가는 그가 평소 빈틈을 보일 때 욕을 할지도 모릅니다. 그러나 그런 경우 총무부장이 모든 비난을 고려할 필요가 전혀 없습니다.
          1. 그리고 이건 별도로 하는 말이지만 저는 시도때도 없이 공격적인 사람은 아닙니다. 어제의 경우 저의 잘못이 없는 상태에서(종이에는 분명 사용 전 제출이라고 적혀있었지 사용 몇일 전에 제출하라는 말은 없었습니다.) 아저씨께서 먼저 비꼬듯이 말씀하셨습니다. 아마 아저씨께서 비꼬지 않고 다음부터는 일찍 가져다달라고만 하셨으면 저도 웃으면서 다음부턴 그렇게 하겠노라고 말씀드렸을 것입니다.
  • AcceleratedC++/Chapter9 . . . . 29 matches
         C++은 클래스 타입과 같은 사용자가 정의한 어플리케이션 고유의 타입을 정의할 수 있는 많은 기능은 지원한다.
         4.2.1절 Student_info 구조체를 다루는 함수를 작성하고, 이를 한개의 헤더파일로 통합을 하는 것은 일관된 방법을 제공하지 않기 때제가 발생한다.
         본 장에서는 기존의 구조체를 확장하여 함수를 작성하고 이런식의 제를 해결할 수 있는 방법을 알려준다.
         프로그래머는 구조체를 다루기 위해서 구조체의 각 멤버를 다루는 함수를 이용해야한다. (Student_info 를 인자로 갖는 함수는 없기 때에)
         '''왜 using-선언사용하지 않는가?'''
         string, vector 와 같은 것들은 Student_info의 내부 구현시에 필요한 사항이기 때에 Student_info를 사용하는 프로그램의 또다른 프로그래머에게까지 vector, string을 std::에 존재하는 것으로 쓰기를 강요하는 것은 옳지않다.
          * s:Student_info 라면 멤버함수를 호출하기 위해서는 s.read(cin), s.grade() 와 같이 함수를 사용하면서 그 함수가 속해있는 객체를 지정해야함. 암묵적으로 특정객체가 그 함수의 인자로 전달되어 그 객체의 데이터로 접근이 가능하게 된다.
          ::를 사용함으로써 호출되는 grade를 객체의 멤버함수가 아니라 전역 grade의 형으로 사용하는 것이 가능하다.
          이전에 사용되었던 compare와 같은 함수를 어떤식으로 정의해야 할 것인가?
          struct 키워드 대신 '''class''' 키워드 사용. '''보호레이블(protection label)''' 사용. 레이블은 순서없이 여러분 중복으로 나와도 무관함.
          || class 키워드를 사용한 클래스 || 기본 보호모드가 private 으로 동작한다. ||
          || struct 키워드를 사용한 클래스 || 기본 보호모드가 public 으로 동작한다. ||
          일반적으로 자료구조가 간단할 때에는 struct를 이용한다. 그러나 2가지 키워드의 사용의 차이는 존재하지 않는다. 단지 서화를 어떻게 하느냐에 의해 차이가 생길 뿐이다.
          name 멤버 변수에 직접적으로 접근하는 대신에 name()함수를 만들어서 접근하도록 만들었다. const 함수이므로 멤버변수의 변경을 불허한다. 리턴값이 복사된 것이기 때에 변경을 하더라도 멤버변수에 영향을 주지는 않는다.
          접근함수는 캡슐화의 기본개념이 반하는 것으로 다른 인터페이스 일부로서만 사용해야한다.
          만약 s:Student_info 에 read(istream&)을 통해서 데이터를 입력하지 않고서 s.grade()를 사용한다면 프로그램을 에러를 낼 것이다.
          bool valid() const { return !homework.empty(); } // 사용자에게 그 객체가 유효한 데이터를 가졌는지를 알려준다.
          bool valid() const { return !homework.empty(); } // 사용자에게 그 객체가 유효한 데이터를 가졌는지를 알려준다.
          현재 Student_info 형은 3번째의 경우에 해당하며, 현재 제공되는 멤버함수로는 제가 생길 일이 없지만, 후에 이 클래스에 기능을 추가할 경우 제가 발생할 가능성이 존재하므로 생성자를 만들어 주는 것이 좋다.
          상기에서 보듯이 : { 사이에 생성자를 명시적으로 사용함으로써 객체를 초기화하는 작업을 하는 중에 0으로 초기화 함으로써 오버헤드를 줄이는 것이 가능하다.
  • HelpOnLinking . . . . 29 matches
         하지만 이렇게 외부링크를 새창으로 열게끔 하는 방식은 사용자를 새창을 열도록 강제하기때에 별로 권장할만한 방식이 아닙니다.
         {{{[모니위키]}}}이라고 적으면 [모니위키]처럼 링크가 됩니다. 이 법은 모니위키 확장법으로 제공되었으며 이중 대괄호법을 대신 쓸것을 권장합니다.
         {{{[[모니위키]]}}}라고 적으면 [[모니위키]]처럼 링크가 됩니다. 이것은 MoinMoin 최신이나 MediaWiki에서 쓰이는 페이지 이름 연결 법으로, 모니위키에서도 호환성 측면에서 지원합니다.
         /!\ 이 법은 매크로 법과 충돌합니다. 예를 들어 {{{[[Date]]}}}라고 링크를 걸면 Date가 링크가 되는 대신에, Date 매크로가 호출되게 됩니다. 따라서 영으로 된 페이지 이름을 연결할 경우는 매크로 이름이 중복되어 있다면 이중 대괄호로 링크를 걸 수 없습니다.
         공백이 있고 대소자도 마음대로 지정하고 싶은 경우에는 {{{["임의의 페이지 이름"]}}}으로 링크를 걸면 ["임의의 페이지 이름"]처럼 링크가 됩니다.
         모니위키 1.1.5부터는 [["임의의 페이지 이름"]]과 같은 법도 지원합니다.
         위키위키에서는 외부의 위키 혹은 위키위에 준하는 다른 사이트를 좀 더 쉽게 연결하는 법을 제공합니다. 예를 들어, {{{http://moniwiki.kldp.org/wiki/FrontPage}}}라고 링크를 거는 대신에 {{{MoniWiki:FrontPage}}}라고 링크를 걸면 MoniWiki:FrontPage 처럼 표시가 됩니다. 이를 인터위키 연결이라고 합니다.
         만약 다른 이름으로 보이게 하려면 {{{[wiki:MoniWiki:FrontPage 대]}}}과 같은 식으로 쓰면 `{{{MoniWiki:FrontPage}}}`로 연결되고 `[wiki:MoniWiki:FrontPage 대]`이라고 보여지게 됩니다.
         일반 위키페이지의 경우에도 마찬가지 방식으로 {{{[wiki:FrontPage 대]}}}이라고 쓰면 `FrontPage`로 연결되고 `대`으로 표시됩니다.
         특별히 이 경우 {{{[wiki:FrontPage 대]}}}은 {{{[:FrontPage 대]}}}과 똑같습니다. (모니위키 1.1.4 확장)
         이와같은 기본 형식과 함께, 모인모인/모니위키에서 지원: `wiki:`, `attachment:`. "`wiki:`" 는 내부링크 혹은 인터위키 링크를 뜻합니다. 따라서 `MoniWiki:FrontPage` 와 `wiki:MoniWiki:FrontPage`는 똑같습니다. 주의할 점은 "`wiki:`" 형식은 괄호로 연결되는 링크의 경우 반드시 사용해야 합니다. `attachment:`는 파일 첨부를 위해 사용됩니다.
         WikiName과 같은 식으로 연결되는 것을 방지하고 있는 그대로 보여지는 것을 원한다면 느낌표(''bang'')를 다음과 WikiName앞에 붙여서 다음과 같이 사용할 수 있습니다. {{{!WikiName}}} `!WikiName`. 또한 물음표를 임의의 단어 앞에 붙이면 강제로 링크가 걸리게 됩니다. i.e. {{{?Hello}}} `?Hello`.
         /!\ {{{?}}}를 쓰는 강제로 링크를 걸리게 하는 법은 모니위키 확장 법입니다.
         그밖에 위키 법은 HelpOnEditing 페이지를 참조하세요.
         === 사용례 ===
         모인모인에서는 {{{wiki:MeatBall/InterWiki}}}와 같은 링크가 {{{wiki:MeatBall:InterWiki}}}로 인식됩니다. 하지만 이것은 {{{wiki:WikiPage/SubPage}}} 법과 일관성이 떨어져 혼란을 주므로 이와같은 모인모인 방식의 인터위키 링크는 모니위키에서 지원하지 않습니다.
         <!> `$use_singlebracket=0;`를 config.php에 추가하면 이 법이 비활성화 됩니다.
         === 물음표를 사용한 강제 연결 ===
          * 페이지 이름 없이 인터위키 이름을 다음과 같이 사용하는 경우 {{{[MoinMoin:]}}} [MoinMoin:] {{{[[MoinWiki:]]}}} [[MoniWiki:]]
  • MoreEffectiveC++/Basic . . . . 29 matches
         프로그래머 초급자면 알수 있는 바보 짓이다. 하지만 범하기 쉬운게 제다.
         사견: Call by Value 보다 Call by Reference와 Const의 조합을 선호하자. 저자의 Effective C++에 전반적으로 언급되어 있고, 프로그래밍을 해보니 괜찮은 편이었다. 단 return에서 말썽이 생기는데, 현재 내 생각은 return에 대해서 회의적이다. 그래서 나는 COM식 표현인 in, out 접두어를 사용해서 아예 인자를 넘겨서 관리한다. C++의 경우 return에 의해 객체를 Call by Reference하면 {} 를 벗어나는 셈이 되는데 어디서 파괴되는 것인가. 다 공부가 부족해서야 쩝 --;
          오해의 소지가 있도록 글을 적어 놨군요. in, out 접두어를 이용해서 reference로 넘길 인자들에서는 in에 한하여 reference, out은 pointer로 new, delete로 동적으로 관리하는것을 의도한 말이었습니다. 전에 프로젝트에 이런식의 프로그래밍을 적용 시켰는데, 함수 내부에서 포인터로 사용하는 것보다 in에 해당하는 객체 사용 코딩이 편하더군요. 그리고 말씀하신대로, MEC++ 전반에 지역객체로 생성한 Refernece제에 관한 언급이 있는데, 이것의 관리가 C++의 가장 큰 벽으로 작용하는 것이 아닐까 생각이 됩니다. OOP 적이려면 반환을 객체로 해야 하는데, 이를 포인터로 넘기는 것은 원칙적으로 객체를 넘긴다고 볼수 없고, 해제 제가 발생하며, reference로 넘기면 말씀하신데로, 해당 scope가 벗어나면 언어상의 lifetime이 끝난 것이므로 영역에 대한 메모리 접근을 OS에서 막을지도 모릅니다. 단, inline에 한하여는 이야기가 달라집니다. (inline의 코드 교체가 compiler에 의하여 결정되므로 이것도 역시 모호해 집니다.) 아예 COM에서는 OOP에서 벗어 나더라도, 범용적으로 쓰일수 있도록 C스펙의 함수와 같이 in, out 의 접두어와 해당 접두어는 pointer로 하는 규칙을 세워놓았지요. 이 설계가 C#에서 buil-in type의 scalar형에 해당하는 것까지 반영된 것이 인상적이 었습니다.(MS가 초기 .net세미나에서 이 때에 String 연산 차이가 10~20배 정도 난다고 광고하고 다녔었는데, 지금 생각해 보면 다 부질없는 이야기 같습니다.) -상민
          * ''static_cast<type>(expression)''는 기존의 C style에서 사용하는 ''(type)expression'' 와 동일하다. [[BR]]
         다른 cast 법은 const와 class가 고려된 C++ style cast연산자 이다.
          // reference에서도 사용 가능하다? 그럼 불가능 할시의 처리는?
          * C 에서 지원하지 않을 경우 다음 매크로를 사용하여
         이런 클래스를 선언했다. 그리고 다음과 같은 함수로 해당 클래스의 배열을 사용한다고 가정하자
         그리고 다음과 같이 사용한다.
          printBSTArray(cout, BSTArray, 10); // 올바르게 작동한다. 아무 제 없다.
         로 사용한다. 느낌이 오겠지! 당연히 상속시 child는 parent보다 큰 경우가 다반사이고 배열의 위치 추적이 엉망 진창이 되어 버린다.
         자 위와 같이 객체의 지움을 담당하는 함수를 작성했을때 역시 제가 있다.
         C++에서 class templete를 만드는 중 생성자를 빼먹으면 compiler에서 기본적인 생성자를 만들어 생성해 준다. 역시, 당연히 초기화의 제가 발생할 것이다. 여기에서는 약간 자세한 부분을 언급한다.
          * '''첫번째 제는 해당 클래스를 이용하여 배열을 생성 할때이다. . ( The first is the creation of arrays )'''
         하지만 이럴 경우에는 array를 heap arrays(heap영역 사용 array라는 의미로 받아들임)로의 확장이 불가능한 고정된 방법이다.[[BR]]
         하지만 이러한 방법은 한눈에 봐도 제가 예상된다. 바로 '''delete'''제 [[BR]]
         두가지를 구체적으로 이야기 해보면, '''첫번째'''로 ''for'' 시에서 할당되는 객체의 숫자를 기억하고 있어야 한다. 잃어버리면 차후 resouce leak이 발생 할것이다. '''두번째'''로는 pointer를 위한 공간 할당으로 실제 필요한 memory 용량보다 더 쓴다. [[BR]]
         역시나 이것도 '''delete'''에 관한 모호성을 제공한다. 제시 되는 점은 rawMemory상에 배치된 EquipmentPiece의 '''destructor''' 호출 유무이다. 예상대로 '''destructor'''를 강제 호출해 줘야 한다. 그래서 위가 아니라, 이런식의 삭제가 된다.
          * '''두번째 제는 많은 template class(특히 STL에서) 들에게 아픔을 안겨준다. '''
         첫번째에서 제기된 제가 이번에는 template class 내부에서 일어 나고 있는 셈이다. 거참 암담한 결과를 초례한다. 제는 이러한 template class 가 이제는 아예 STL같은 library로 구축되었단 사실. 알아서 잘 기본 생성자 만들어 적용하시라. 다른 방도 없다.
  • 새싹교실/2013/이게컴공과에게 참좋은데 말로설명할 길이 없네반 . . . . 29 matches
          > 법은 후딱. - 익히는 것은 숙제나 그 날 연습제로
         - 진도: 메모리 구조(미약하게), printf와 scanf 정말 간단하게 다음시간에 더 자세하게 쓰임새 알려주어야 할뜻 , 제어 간단한 사용법과 필요성
         - 연습제: 구구단 일렬로 출력하기(9단까지)
         - 결과: 연습제 무난히 success
         - 연습제: x
         - 진도 : 이전에 배운 내용 총 복습 및 제풀이.
         - 연습제 : 지난 시간에 내주었던 과제제풀이를 했다.
         - 진도 : 복습, switch~case, 배열.
         - 연습제 : 혼자 연구하는 c/c++ 책에 있는 연습제와 예제를 코딩.
         - 과제: 세 제중 하나만 풀면됨.(시험 끝나고 모르는건 같이 푸는것으로 결정)
         영자로 구성된 긴 장을 입력받아 이자열 내의 각 알파벳 자개수를 구해 출력하라. 예를 들어 alpha가 입력되었다면, a:2, b:0, ... , p:1이 출력되어야한다. Tip> 각 자의 출현 회수를 저장할 배열이 필요하다.
         2. 히스토그램 제 (난이도 상)
         히스토그램을 출력하는 제이다.
         히스토그램을 출력하는 제이다.
         - 연습제 : 콘솔창에 자기가 원하는 방향으로 기호를 움직이게 하는 프로그램 만들기.(둘다 성공.)
         - 결정사항 : 다음주는 시험기간이므로 수업은 없음. 대신 모르는 것 질하는 방향으로.
         - 성주 : 수학적인 방향으로의 발상이 뛰어나다. 아직 코딩에 익숙치 않아서인지 법의 전반적인 실수가 있다. 이를 다잡는게 필요할 뜻 싶다.
         - 지운 : 법 전반을 잘 아는것같다. 자잘한 법실수가 없고, 차분히 깊게 생각한다.
         - 앞으로의 방향 : 이제 제를 풀면서 메모리의 구조를 다시 전반적으로 설명하고, 입출력방식, 간단한 알고리즘(유클리드 호제법같은)을 가르친다. 이렇게 준비를 한후 포인터에 돌입. 그리고 포인터에 대해서 이해가 어느정도 쌓였을때 발전시킬 수 있는 프로그램을 만들게 하면서 실력을 증가시킨다.
  • 2학기파이선스터디/if문, for문, while문, 수치형 . . . . 28 matches
         == 1. if ==
          <들1>
          <들2>
          <들3>
         조건식1이 참이면 <들1>이 수행되고, 그렇지 않으면 조건식2를 검사해서 참이면 <들2>가 수행된다. 그렇지 않으면 <들3>이 수행되는데 여기서 조건식이나 else다음에는 콜론(:)을 입력해야 하고, else if 가 아닌 elif라는 사실을 알아야 한다. 또 if 에서의 열이 잘 맞아야 한다.
         때로는 사전을 이용하는 것이 더 좋을 때도 있는데, C언어의 switch, case과 같은 맥락에서 이해하면 된다. 다음은 위와 동일한 결과를 가져온다.
         == 2. for ==
          <1>
          <2>
         <객체>는 순서를 갖는 자료여야 한다. 반복횟수는 <객체>의 크기가 되는데, for 안에서 continue를 만나면 for가 있는 행으로 이동하고 break를 만나면 <2>를 수행하지 않고 for을 빠져나간다. else이후의 <2>은 for을 정상적으로 다 끝냈을 때 수행한다. 다음은 1부터 10까지의 합을 구하는 예이다.
         for 에서 요소의 값 뿐 아니라 인덱스 값도 함께 사용하려면 enumerate() 내장함수를 이용한다(파이썬 2.3 이상). enumerate() 내장함수는 (인덱스, 요소값) 튜플 자료를 반복적으로 넘겨준다.
         == 3. while ==
          <1>
          <2>
         헤더 부분의 조건식이 참인 동안 내부의 블록이 반복 수행되는 while은 조건이 거짓이 되어 빠져나올 경우에 else부분이 수행되지만, break로 빠져나올 때에는 else 블록을 수행하지 않는다. while 안에서 continue를 만나면 헤더 부분으로 이동하고 break를 만나면 while을 완전히 빠져나온다.
         복소수형 상수는 실수부+허수부로 표현되는데 허수부에는 J, j를 숫자뒤에 붙여야 한다. 실수부와 허수부는 각각 실수형 상수로 표현된다.
  • Gof/Mediator . . . . 28 matches
         비록 하나의 시스템에 많은 객체들이 참여하는 것이 일반적으로 재사용성을 강화할지라도 interconnections이 늘어나는 것은 재사용성을 감소시키려는 경향이 있다. 너무나 많은 객체간의 상호 연결들은 객체들의 독립성을 떨어뜨릴 수 있다. - 그런 시스템은 마치 완전히 통일된 것 같이 행동한다.
         게다가 하나의 시스템에 많은 객체들이 참여하는 것은 어떤 의미있는 방법으로 시스템의 행위를 바꾸는 것을 어렵게 한다. 왜냐하면, 행위는 많은 객체들 사이로 분산되어 졌기 때이다. 결론적으로 당신은 아마 그런 시스템의 행위를 customize하기 위해서 수많은 subclass들을 정의해야 할 것이다.
         예로써 어떤 GUI상에서 다이얼로그 박스의 구현을 고려해보자. 하나의 다이얼로그 박스는 작은 도구들(버튼, 메뉴, 입력 필드)의 모음을 표현하는 하나의 윈도우를 사용한다.
         대게 다이얼로그의 도구들 사이에는 어떤 dependency들이 존재한다. 예를 들면, 어떤 버튼은 어떤 입력 필드가 비어있을때는 비활성화 되어있는다. list box라 불리는 선택 목록에서 객체를 선택하는 것은 입력필드의 내용을 바꿀 것이다. 바꿔말하면, 입력필드에 자를 타이핑하는 것은 자동적으로 리스트 박스에서 하나이상의 대응대는 입력을 선택하는 것이다. 한번 텍스트가 입력 필드에 나타나면, 다른 버튼들은 아마 활성화 될것이다. 그래서 사용자가 텍스트로 어떤 일을 하게 하게할 것이다. 예를 들자면, 관련있는 것을 삭제하거나 변경하거나 하는 따위의 일을 할 수 있을 것이다.
         다른 다이얼로그 박스들은 도구들 사이에서 다른 dependency들을 지닐 것이다. 그래서 심지어 다이얼로그들이 똑같은 종류의 도구들을 지닌다 하더라도, 단순히 이전의 도구 클래스들을 재사용 할 수는 없다. dialog-specific dependency들을 반영하기 위해서 customize되어져야 한다. subclassing에 의해서 개별적으로 도구들을 Customize하는 것은 지루할 것이다. 왜냐하면 많은 클래스들이 그렇게 되어야 하기 때이다.
         별개의 mediator 객체에서 집단의 행위로 encapsulate하는 것에 의해서 이런 제를 피할 수 있다. 하나의 mediator는 객체들 그룹 내의 상호작용들을 제어하고 조정할 책임이 있다. 그 mediator는 그룹내의 객체들이 다른 객체들과 명시적으로 조회하는 것을 막는 중간자로서의 역할을 한다. 그런 객체들은 단지 mediator만 알고 있고, 고로 interconnection의 수는 줄어 들게 된다.
          4. 이제 입력 필드는 어떤 자를 포함한다. director는 행동(글씨를 굵게 하거나 기울이게 하는 따위의 행동)의 초기화를 위해 버튼을 활성화 한다.
         director가 리스트 박스와 입력 필드 사이의 조정하는 방법을 요약하자. 도구들은 서로 단지 간접적으로 director을 통해서 통신한다. 그들은 서로에 대해서 몰라야 하며, 그들 모두는 director를 알아야 한다. 게다가 행위는 한 클래스에 지역화 되어지기 때에 행위는 클래스를 확장하거나 교체함으로써 변하거나 바꿔질 수 있다.
         MediatorPattern은 이럴 때 사용한다.
          * 어떤 객체를 재사용하는 것이 그것이 많은 다른 객체들과 관련이 있고 통신을 하기 때에 어려울 때.
          1. MediatorPattern은 subclassing을 제한한다. mediator는 다시말해 몇몇개의 객체들 사이에 분산되어질 행위를 집중한다. 이런 행위를 바꾸는 것은 단지 Mediator를 subclassing하기만 하면 된다. Colleague 클래스들은 재사용되어질 수 있다.
          2. MediatorPattern은 colleague들을 떼어놓는다. Mediator는 colleague들 사이에서 loose coupling을 촉진한다. colleagued와 Mediator를 개별적으로 다양하게 할 수 있고, 재사용 할 수 있다.
          5. MediatorPattern은 제어를 집중화한다. Mediator는 interaction의 복잡도를 mediator의 복잡도와 맞바꿨다. Mediator가 protocol들을 encapsulate했기 때에 colleague객체들 보다 더 복잡하게 되어질 수 있다. 이것이 mediator를 관리가 어려운 monolith 형태를 뛰게 만들 수 있다.
         또 다른 방법은 colleague들이 보다 더 직접으로 communication할 수 있도록 특별한 interface를 mediator에게 심는 것이다. 윈도우용 Smalltalk/V가 대표적인 형태이다. mediator와 통신을 하고자 할 때, 자신을 argument로 넘겨서 mediator가 sender가 누구인지 식별하게 한다. Sample Code는 이와 같은 방법을 사용하고 있고, Smalltalk/V의 구현은 Known Uses에서 다루기로 하겠다.
         우리는 DialogDirector를 Motivation에서 보았던 것처럼 font dialog를 구현하기 위해서 사용할 것이다. 추상 클래스 DialogDirector는 director들을 위한 interface를 정의 하고 있다.
         changed 는 director의 WidgetChanged 연산을 호출한다. Widget들은 자신의 director의 WidgetChanged 호출을 의미있는 이벤트를 알져주기 위해서 사용한다.
         ListBox, EntryField, Button은 특화된 사용자 인터페이스 요소를 위한 DialogDirector의 subclass들이다. ListBox는 현재 선택을 위해서 GetSelection연산자를 제공한다. 그리고 EntryField의 SetText 연산자는 새로운 text로 field를 채운다.
         ET++[WGM88]와 THINK C class library[Sm93b]는 다이얼로그에서 widget들 사이에 mediator로서 director와 유사한 객체를 사용한다.
         SmallTalk/V는 Pane-ViewManager 통신을 위해 event 기법을 사용하고 있다. 어떤 pane은 어떤 정보를 mediator로 부터 얻기 원하거나 어떤 의미있는 일이 발생해서 이를 mediator에게 알려주기 위해서 event를 생성한다. 하나의 event는 그 event를 식별하는 symbol을 정의한다. 그 event를 다루기 위해서 ViewManager는 pane에 method selector를 등록한다. 이 selector는 event의 handler이다. 이것은 event가 발생한 때면 언제든지 수행될 것이다.
         유사한 application은 Unidraw drawing framework에서 나타나고[VL90] connectors사이에 연결성 제약들을 적용하는 CSolver라 불리는 class를 사용한다. 그래픽 편집기에서 객체들은 다른 방법으로 서로 다른 객체들을 짜집는 것으로 보일 수 있다. connector들은 연결성이 자동적으로 관리되는 그림 편집기나 회로 설계 시스템과 같은 application들에서 유용하다. CSolver는 객체들 사이에 mediator이다. 그것은 연결제약을 해결하고, connector들의 위치를 그것들을 반영하기 위해서 update한다.
  • i++VS++i . . . . 28 matches
          * 사용한 컴파일러 : Microsoft 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 (Microsoft Visual C++ 6.0 에 Service Pack 5 를 설치했을때의 컴파일러)
         == 그냥 사용 ==
          i++; // 이렇게 하면 차이가 당연히 없지 않을까요? 이럴때는 선행이든 후행이든 증가한뒤에 printf에서 그 변수를 사용했으니..
          printf("%d", i); // 제가 되는건 함수(i++)또는 함수(++i)이런데에서 제가 생길거 같은데..
         == for 에서 사용 ==
         == 함수 에서 사용 ==
          연산자 재정의를 하여 특정 개체에 대해 전위증가와 후위증가를 사용할 때에는 전위증가가 후위증가보다 효율이 좋다. operator++(int) 함수에서는 임시 객체를 생성하는 부분이 있다.
          ++i, 나 i++ 둘다 상관 없는 상황이라면, ++i에 습관을 들이자, 위의 연산자 재정의는 [STL]을 사용한다면 일반적인 경우이다. 후위 연산자가 구현된 Iterator는 모두 객체를 복사하는 과정을 거친다. 컴파일러단에서 Iterator 의 복사를 최적화 할수 있는 가능성에서는 보장할 수 없다. 따라서, 다음과 같은 경우
         그냥 사용한 경우나, for 에서 사용한 경우는 ++i 와 i++ 의 성능 차이가 없다. 그러나 함수의 전달인자로 사용한 경우는 ++i 보다 i++ 의 코드가 명령어 한개 정도 길어진다. 하지만 그냥 사용한 경우나 for 에서 사용한 경우에는 i++ 을 쓴 곳을 ++i 로 서로 바꿔 써도 상관 없으나, 함수의 전달인자로 사용한 경우에는 i++ 을 쓴 곳을 ++i 로 바꾸면 실행 결과가 달라진다. 그러므로 함수에서 i++ 을 사용하고 있을 경우 프로그램이 한 줄 이라도 추가되지 않고 ++i 로 바꿀수 있으면 바꾸는 것이 더 효율적이다. 또한 그냥 사용할 경우나, for 에서 사용한 경우는 ++i 를 쓰지 않아도 상관 없다. --["상규"]
         여기에서 교과서적인 이야기를 하나 하고 넘어가야 할 것 같다. 루프 안에서 항상 선행 증가를 사용하는 것이 좋은 이유는 무엇일까?
         효율성 때이라는 것이 정답이다. 후행 증가 연산자는 변수의 이전 값을 돌려 주므로 이전 값을 담을 임시적인 변수를 만들고 파괴하는 과정이 일어나게 된다.
         후행 증가로도 선행 증가와 동일한 방식의 루프를 만드는 것이 가능하지만, 후행 증가를 사용할 특별한 이유가 없다면 항상 선행 증가 또는 선행 감소 연산자를
         사용하는 것이 바람직히다.
         동일한 기능에 쓴다면, ++i 에 습관을 들이는 것을 추천한다. [STL]같은 연산자 재정의 라이브러리 때 --NeoCoin
         i++은 그 특유의 기능이 필요할 때만 쓰는것이 좋을것 같다. i++를 쓰면 다음과 같이 두줄이 한줄로 주는 경우가 있기 때이다.
  • joosama . . . . 28 matches
         나는 오랬동안 독도제, 왜곡교과서 제에 나름대로 관여해왔다.
         독도제만 하더라도,일본의 지리교과서는 물론이고, 일본에서 발행되는 어떤 지도이든지 간에 독도를 한국영토로 표기한 지도는 없다.
         우리 국내에서는 독도제가 발생할 때마다 야단 법석을 떨지만,
         우리정부나 사회단체들도 이 제를 일본인 들에게 알리기위한 체계적인 노력도 기울인 적이 없다.
         그러나 이번에 시마네현에서 독도 제를 공론화 한답시고, 조례를 제정하는 바람에 일본 전국에 알려지게 되었고,
         일본이 주장하고 있는 근거의 부당성을 일일이 지적하고, 우리의 영토임을 명백히하는 여러논과 저서등의 출판으로,
         그것은 우리의 근 현대사의 발전과정에서 두번의 큰 양보를 할 수 밖에 없었던 사연이 있었기 때이다.
         일본이 거론한 독도제를 분명하게 못을 박지 못하고 못들은 척 협상에 임한 까닭이다.
         왜냐하면 하루라도 빨리 돈을 받아내어 한다는 강박관념에 시달리고 있었기 때이었다.
         일본으로 부터 외환자금 300억불을 긴급히 들여오는 과정에서, 독도주변 12해리밖을 어업공동수역으로 양보를 해주었기 때이었다.
         당시의 김대중 대통령은 이러한 협상이 추후에 제가 될 것이라는 것을 몰랐을 리가 없다.
         우리는 독도제로 부터 자유로운 대통령으로 바꾸었고,
         정치적으로도 일본과 미국이 북핵제 때에 우리의 눈치를 보는 상황이고,
         영토제에 있어서는 중국과 러시아도 우리와 똑 같은 입장에 있기 때에,
         우리가 독도 제를 강력히 제기하여 우리의 영토라는 것을 세계 만방에 공포를 한다하더라도 하등의 지장이없다.
         왜냐하면, 국제 사법재판소에 재소를 하게 되면 양쪽의 당사국들은 결론이 날때까지 제의 영토에서 물러나야한다.
         그런데 이런 영토제가 쉽게 해결될 리도 없기 때에 백년이상이 걸려도 해걸되리라는 보장이 없다.
         제는 미국을 비롯한 대부분의 서구 열강들이 일본편에 서있다는 것이다.
         독도제와 일본의 식민지배에 대한 철저한 사과와 반성을 하게 만드는 기회로 삼았으면 하는 바램이다.
         || [[HTML(<center>)]] [보창] [[HTML(</center>)]]||
  • 새싹교실/2012/개차반 . . . . 28 matches
          * C언어는 UNIX 개발을 목적으로 만들어진 언어이기 때에 OS의 기초가 되는 기초적인 컴퓨터시스템은 이해할 필요가 있다고 판단
          * 현재 사용되는 모든 컴퓨터에 적용되는 범용 컴퓨터 구조
          * 이미 존재하는 함수를 가져다 쓰려 할 때 헤더파일을 불러와서 사용한다
          * int는 정수를 나타내고자 할 때 사용하며 출력시 %d를 사용
          * float는 소수점 아래의 숫자까지 표현하고자 할 때 사용하며 출력시 %f를 사용
          * char는 자를 나타내고자 할 때 사용하며 출력시 %c를 사용
          * 변수의 이름은 반드시 자나 underscore (_) 로 시작해야 한다
          * 변수의 이름은 대소자를 구분한다
          * 변수의 이름으로 사용할 수 없다
          * float, double: 4 byte, 8 byte. 실수를 표현하므로 소수점 아래 숫자까지 나타낼 수 있다
          * 수를 이진법으로 표현 시 양수/음수를 구분하기 위해 사용되는 맨 앞자리 0을 수를 표현하는 데에 사용하여 두 배 많은 수를 표현
          * int의 표현 범위=4byte=32bit=2^32 에서 맨 앞자리 0을 제외한 나머지가 사용되므로 -2^31 ~ 2^31-1 개의 숫자를 표현할 수 있다
          * #define 으로 사용
          * 자신이 지정하는 자열에 특정한 값 등을 지정해두고 사용할 수 있다
          * 변수에게 값을 주기 위해 사용된다
          * Postfix 일 경우 변수 뒤에 Decrement/Increment operator를 사용하며 다른 계산이 끝난 후 적용된다
          * Prefix 일 경우 변수 앞에 Decrement/Increment operator를 사용하며 다른 계산을 실행하기 전에 적용된다
          * 계산 과정에 같은 변수가 포함되어 있을 경우 축약 연산자를 사용할 수 있다
          * 1과 0만을 이용해 숫자를 나타내는 방법.
  • DataCommunicationSummaryProject/Chapter9 . . . . 27 matches
          * cellular networks가 cell을 반경으로 하는데 비하여, Short-Range Wireless Networks는 아주 짧은 반경,Ultra Wide Banded 을 사용,고속이다.pbx처럼 pirvate networks이다.
          * cellular networks가 예상보다 빠르게 성장한데 비하여,short-range mobile systems은 덜 성공적이였다.그 이유에는 속도,유선에 비하여 신뢰성의 떨어짐, 경쟁적인 기준이 있다.물론 Cordless phones 처럼 인기있는것도 있지만, 점점 범위를 늘리려고 한다. 또한roaming에서의 실패성이 많다.적외선이 laptop 이나 PDA에서 거의 사용되지만 잘 사용되지 않는다.
          * 2000년대 부터 wireless LANs가 데이터 속도와 가격만에서많은 성장을 가져왔다.IEEE의802.11b의 지준을 많이 사용한다.물론 아직은 핸드폰이나 인터넷에 비할수는 없지만,성장 속도는 빠르다. 새로운 시스템은 유선에 도전을 줄 만큼 데이터전송량과 속도를 증가 시켰다.
          * 적외선 사용이 실패였지만 아직도 많은 연구와 회사의 사용이 있다.4세대 모바일 시스템으로 주목 받고 있다.roaming하는데 별 어려움 없이 랜과 3새대 휴대폰과 Bluetooth와의 연결도 가능할 것이다.
          * 앞에서 예기했지만 짧은 반경이면 고주파이고(고주파는 아직 국가에서 할당이 잘 안돼었다) ,개인이 베이스스테이션을 달므로 허가 받은 주파수가 아니다. 즉 누구나 사요할수 있는것이다. 그럼 사용되는 주파수대를 알아볼까? 물론 고주파다.
          * ISM(Industrail,Scientific, and Medical) 는 의사소통을 위한것이 아니다. 따라서 이 범위의 주파수는 국가에서 나두었다. 그래서 무선 전화나 무선 랜에서 사용된다.
          * ISM 2.4 는 여러 국가에서 모두 사용가능한 주파수 범위이다.따라서 너무나 많은 곳에서 사용하므로 완전 사장보다 더 복잡하다. 그러니 스프레드 스펙트럼을 사용한다. 하지만 11Mbps이상은 능력이 딸린다.
          * Light의 예로 적외선이있다.(비허가) 빛이므로 조준을 잘해야겠다. 좋은점은 높은 주파수대라는것(아직 높은 주파수대는 국가에서 안팔았으니 자유로이 많이 사용할수있따) 보안에 좋다. 벽을 통과 못하니 누가 몰래 들을 가능성은 적겠지.
          * 어느곳에나 사용가능, 이동성의 편이성,속도의 빠름, 표준기준 확정, 등이 새로운 이점들. 하지만 아직도 보안은 제점
          * CCK(Complementary Code Keying)라고 불리는DSSS의 2.4GHZ를 사용한다. 물론 기존의 기계와 호환성을 기진다. MAC하는 방법은 CSMA/CA(여기서 A는 avoidance이다 유선과는 틀리다) half-duples이다.shared이다. 대역폭이 11Mbps이지만 오보헤드가 심하다. 여기에다가 쉐어드이니 장에가 심하면 1-2Mbps밖에 안된다.하지만 데이터 전송률은 쓸만하다. 이러한 낭비를 줄이려고 차세대로 갈수록 물리적인 데이터 율을 줄인다.
          * 유럽의 1992년에 새운 기준이다. 지들이 만든 GSM을 기준으로 한다.5-GHz의 대여폭을 사용한다.
          * Hidden Node Problem : 서로 볼수 없어서 생기는
          * 충돌
          * 괜찮은 충돌 인식 방법이 없기 떄에, 일정 시간 안에 CTS 못받으면 충돌 난걸로 감지
          * 같은 전화기를 사설, 공용 네트워크 모두에서 사용한다.
          * piconet과 scatternet : piconet은 8개의 노드까지 지원하는 네트웍망. scatternet은 그보다 더 큰거. 하나의 장치는 주의의 8개까지의 노드밖에 인식을 못하기 때에 piconet으로 나뉘어져야 하는 크기
          * Frequency Hopping을 사용한다.
          * 짧은 거리 무선 시스템은 허가되지 않은 주파수 영역을 사용한다. 이것들은 대화를 위해 공개될수 있고, ISM 어플리케이션과 공유될수 있다.
          * 높은 수용능력은 높은 주파수를 사용해야 할 필요가 있다. HiperLAN2와 IEEE 802.11a 모두 5Ghz의 밴드를 사용하며, 54Mbps의 속도를 낼수 있다.
          * 4G 모바일 시스템은 무선 랜을 확장한다. 왜냐하면 거리가 매우 짧고, 많은 장치들이 3G, 무선랜, Bluetooth와 콤비로 사용되기 때이다.
  • JavaScript/2011년스터디/3월이전 . . . . 27 matches
          * 모든 참가자는 잘 모르겠는 것, 궁금한 것, 더 공부하고 싶은 것 등 질을 3가지 이상 준비한다.
          * 발표자를 제외한 사람들은 들은 내용과 샘플 코드에서 가장 인상깊은 점 3가지를 고른다.
          * 의
          * for each사용하는 법.
          * void 연산자를 사용하면 피연산자의 값에 상관없이 undefined를 반환한다.
          *의점(해결)
          * try/throw/catch/finally 의 사용 -> finally는 모든 try, catch를 나와서 사용
          * 자나 숫자, ""사이에 들어가 것들을 '리터럴'이라고 부르며 따로 구분한다.
          * 의
          * with함수 사용시 발생할 수 있는 오류에 대해 알고싶다...(책에서는 생략함)
          * 의
          * 클로저의 정의와 사용...ㅠ
          * 함수가 데이터로써 사용될수 있다는점
          * 프로토타입의 정의와 사용 상속부분이 다른 언어와는 다르다.
          * 의
          * 슈도 클래스란 함수로서 선언되기 때인가?
          * 의
          * 의
          * 네임스페이스 사용 시 org.zeropage.namespace는 되고 org.zeropage.namespace.function1은 안 되는 이유
          * 익명함수를 사용한 Dynamic programming
  • JavaScript/2011년스터디/7월이전 . . . . 27 matches
          * JavaScript 스터디 진짜 오랜만이네요. 전에 보다 만 소스 코드를 다시 읽는데 기억이 도통 안 나서 난감했습니다. 오늘로 대충 마무리는 지었지만 집에서 다시 한번 읽어봐야겠어요. 계속 책만 읽으면 지루하니까 뭔가 만들어보기로 했는데 마침 현이가 적당한 실습거리를 알려주었네요. 함께 만들어보면 재미있을 것 같아요. JavaScript에 대해 많이 까먹었기 때에 책을 다시 빌려왔으니 책을 보며 어떻게 구현할지 생각해야겠어요. - [김수경]
          * 임시로 적는 의
          * <script src="escape.js" type="text/javascript"/> 이게 왜 제일까.
          * 저는 코드를 하나도 준비안해서.. 이제야 프로젝트 만들고 있었습니다. 자바스크립트 지식도 책으로 법만 대충 본 정도라 굉장히 피상적임ㅠㅠ 흑흑 챙피하네요 처음에 둘이 얘기할때 못알아들었어요ㅠㅠ 너무 책만 보지 말고 코드도 좀 봐야할 거 같아요. 직접 짜보기도 하고.. 과제하면서 좀 공부해봐야 겠네요. 자바스크립트 스터디의 목적을 동네 파괴하기로 해야될듯ㅋㅋ 재미있다능 - [서지혜]
          * 지난주에 키보드 이벤트를 처음에만 처리하고 그 다음에는 못 처리한다고 생각했는데 오늘 그럴리가 없다는 생각에 다시 테스트해보았습니다. 해봤더니 역시나 키보드 이벤트를 못 받는 것이 아니었네요. 이벤트 처리기에서 document.write()를 쓴 게 제였습니다. 그런데 그 제는 해결했지만 객체를 어떻게 설계할지가 새로운 고민거리네요. - [김수경]
          * 공부하면 할수록 HTML이라던가 웹에 대히 공부해야겠다는 생각만 듭니다. javascript만 사용한다는 것은 무리인것 같아요. 이번에는 연속적으로 키보드 이벤트를 받는 제였는데 생각보다 쉽지 않네요ㅠ 은 innerHTML은 또 처음 들어요;; 여튼 더 공부하겠습니다!! - [박정근]
          * caucse.net 주소창 주소가 바뀌지 않는 이유 : 프레임을 사용해서
          * 오늘은 PairProgramming으로 [http://probablyinteractive.com/url-hunter URLHunter]를 만들어보았는데 setInterval 함수를 사용하여 계속 페이지 주소를 바꿔주는 부분까지 성공했습니다. 처음에는 setTimeout 함수를 사용해서 생각처럼 제대로 작동하지 않았어요. 다음주엔 새내기가 스터디에 합류할텐데 매우 기대됩니다. 우리가 했던것들을 설명해주고 같이 [http://probablyinteractive.com/url-hunter URLHunter]를 만들어보려고 해요. 시간이 너무 걸리지 않도록 어떻게 접근할지 주말에 미리 생각해보겠습니다. - [김수경]
          * 오늘은 새 멤버가 두명 합류했습니다. 기쁘기도 하고 앞으로 스터디를 어떻게 진행해야할지 고민도 조금 되네요! /URLHunter는 점점 그럴듯해지고 있습니다. 지난시간에 제가 됐던 부분을 해결했어요. 다만 급하게 제를 해결해나가느라 코드가 지저분해진 게 제네요. 다음주에 기능이 다 구현될 것 같은데 코드 정리도 좀 해야겠습니다. - [김수경]
          * 11학번들이 3장의 객체까지 함께 공부하며 몇가지 의점들에 대해 고민해봄.
          * 함수가 프로퍼티로 사용될 수 있다??-43p 라는 표현이 있는데 그게 어떤 것인지 잘 모르겠더라구요.
          * 불리언 타입 변환 -41p에서 만약 불리언 값이 자열 맥에서 사용되면 true는 자열"true"로 변환된다와 같은 말이 무슨말인지 정확히 모르겠어요. 저희가 알아낸 것은 true를 write내에 쓰면 1로 인식한다는 것뿐이었어요.
          * 태진& 성준 과제: 다음 주까지 3장을 모두 읽어오기, 역시 질점에 대해 고민해오기
          * 저희는 저번주 숙제로 함수까지와 바로뒤 객체까지 새로 공부해보았는데요. 둘다 이 명령어들은 대체 뭔가, 이건 무슨뜻이야?! 가 다반사였습니다. 이해할 수 없는 명령어들은 나중에 다시 나올것이라 가정하고(..) 몇몇개 넘어갔구요. 개념적인 것에서 불리언, 함수, 객체, 프로퍼티등에 대해서 다시 고민해봤어요. 우선 자열로 숫자를 써놓고 그것을 연산하면 숫자로 바뀐다는 것이 어떤 것인지 좀 명확히 해보았구요, 불리언은 T/F==1/0라는 것에 대해도 보았지요. 함수는 C에서 배웠던 것과 유사해서 크게 어려움은 느끼지 않았구요(앞에 함수 선언을 할 필요가 없더군요!). 제는 객체/프로퍼티 였는데, 뒤에있는 예제들을 통해 어떤 객체의 속성? 쯤으로 프로퍼티가 있다는 결론을 내렸어요. (이것을 토대로 코딩해보았을때도 저희 예상대로 나왔지요.) ..또 띄어쓰기 제때에 한참 고민한 것도 생각나네요. -[김태진]
  • WhatToProgram . . . . 27 matches
         프로그래밍의 궁극은 "사용자"와 프로그램의 사용을 통해 그가 받는 "현실적 가치"에 있다. 프로그래밍을 하면서 사용자를 생각하지 않는 것은 도무지 아무 의미가 없다. 프로그래밍이라는 행위 자체가 성립하질 않는다. 골방에 틀어박혀 자기만족적인 지적 유희를 즐기는 해커가 아니라면 말이다. 우리는 사용자의 마음을 꿰뚫어야 한다. 여기에 있어 직접 사용자가 되는 것만큼 좋은 방법은 없다. 업계에서 혹자는 요구사항 분석시 사용자와 한 달 간 같이 생활해 보라는 말도 한다.
         자기 삶에서 의미가 있는 프로그램을 만들게 되면 스스로가 사용자가 된다. 목적이 분명해 진다. 자기가 편한 프로그램을 만드는 것이다. 이 프로그램은 꼭, "내가 쓸 마음이 나는 프로그램"이어야 한다(그 프로그램을 만들고 싶은 열정이 생기고, 그걸 생각하면 가슴이 두근거린다면 더더욱 좋다 -- 이런 호기가 있을 때 그것을 충분히 누리도록 하라). 아무리 간단한 프로그램일지라도 나에게 가치있는 프로그램은 존재한다. 특정 언어에 대한 경험이 한 두 달일지라도 분명 그런 프로그램을 만들 수 있다. 대부분은 다른 프로그램들을 엮어주는 것일지도 모른다. 만약 난관에 부딪혔다면 책을 읽고, 사람에 묻고 자료를 검색해서 기술과 도구를 배우면 된다.
         이 프로그램을 개발해서 일주일이고, 한달이고 매일 매일 사용해 봐야 한다. 일주일에 한 번 사용하는 프로그램을 만들기보다 매일 사용할만한 프로그램을 만들라. 자신이 하는 작업을 분석해 보라. 무엇을 자동화하면 편리하겠는가. 그것을 프로그램 하라. 그리고 오랜 기간 사용해 보라. 그러면서 불편한 점을 개선하고, 또 개선하라. 때로는 완전히 새로 작성해야할 필요도 있을 것이다(see also [DoItAgainToLearn]). 아마도 이 단계에서 스스로를 위한 프로그램을 작성하다 보면 아이콘을 이쁘게 하는데 시간을 허비하거나, 별 가치없는 퍼포먼스 향상에 시간을 낭비하지는 않을 것이다. 대신 무엇을 프로그램하고 무엇을 말아야 할지, 무엇을 기계의 힘으로 해결하고 무엇을 여전히 인간의 작업으로 남겨둘지, 즉, 무엇을 자동화할지 선택하게 될 것이다. 또한, 같은 제를 해결하는 여러가지 방법(기술, 도구, ...) 중에서 비용과 이익을 저울질해서 하나를 고르는 기술을 익히게 될 것이다.
         사실 이 단계에서는 꼭 어떤 사용을 전제로 하지 않더라도 열정을 갖게 해주는 프로그램이라면 괜찮다. 어떤 것에 대해 호기심이 생기는가? 컴퓨터로 실험을 해보고 싶은가? 그 생각이 밥을 먹거나, 잠을 자거나 떠나지 않는다면 프로그램 하라. 그냥 이걸 프로그램하면 공부가 될 것 같다든가, 혹은 남들이 다 하길래 한다든지 하는 것과는 질적으로 다른 경험을 할 것이다. 열정을 가진 것은 대부분 가슴 속에 그 모양이 이미 형성이 되어 있다. 조각가는 조각품의 형상을 이미 가슴 속에 품고 있다. NoSmok:최한기 는 이것을 강조한다. 일이 제대로 이루어지려면 그 일을 흉중에 품고 있어야 한다고. 머리 속에서, 정말 손끝에 잡힐 것만 같고, 그 프로그램이 살아있는 것 같이 느껴진다면 프로그램 하라. 자신의 아이디어를 컴퓨터가 이해하는 언어로 표현해 내는, 그리고 그 프로그램이 자신의 아이디어를 더 발전시키게 하는 능력을 갖게 될 것이다.
         이 과정이 어느 정도 되면, 타인을 위한 프로그램을 작성할 수 있다. 나에게는 별 의미가 없지만 남에게 "아주 귀중한 가치를 주는" 프로그램을 만들어라. 서로 만들어줘도 좋다. 자신이 컴퓨터 공학과라면 국학과 학생에게 프로그램을 만들어주라. 그와 가까이 지내고 그가 진정 원하는 것이 무엇이며, 진정 필요로 하는 것이 무엇인지(원하는 것과 필요로 하는 것은 다르다) 분석하고, 프로그램 해줘라. 그가 그 프로그램을 한 달 이상 사용하는가? 그래야 한다. 그 정도로 가치있는 프로그램이어야 한다. 가치있는 프로그램이 꼭 복잡하거나 거대할 필요는 없다. 그가 프로그램의 수정을 요구한다면 가능하면 모두 들어주어라. 그게 힘들다면 그를 납득시켜라. 아마도 이 단계에서 타인을 위한 프로그램을 작성하면서 "작성자"와 "사용자"간의 프로그램을 통한 커뮤니케이션의 중요성에 눈을 뜨게 될 것이다. 인터페이스에 대해 고민할 것이다. 얼마나 이쁘냐보다, 얼마나 실수할 행위유발성을 제공하지 않느냐, 그리고 어떤 메타포를 사용할 것인가(이에 대해서는 비지칼크란 프로그램을 연구하라) 하는 제를 생각할 것이다.
         이 단계를 거치면 이제는 타인들을 위한 프로그램을 작성한다. 일단 사용자가 다수이다. 또, 어떤 사용자 집단을 상정할 수는 있지만 개개인을 전제할 수는 없다. 아마도 이 단계에서는 평균적 사용자에 대해 고민하게 될 것이고, 때로는 여러사람의 동시 사용자로 야기되는 동시성 제어나 퍼포먼스 제로 고민할 것이다. 그리고 프로그램의 크기가 커지면서 그리고 요구사항 변경이 여러 소스를 통해 빈번히 들어오게 되면서 어떻게 설계해야 하느냐는 제로 고민할 것이다.
         프로그래밍 기술보다도 중요한 것은 어쩌면 현실세계의 제를 해결하는 것 그 자체일지도 모른다(도구와 기술은 본질적 제를 해결해 나가는 과정으로서 필요에 따라 공부하면 되겠다). 우리는 정말 사용자를 위한 프로그램을 만들어야 한다. 그리고 이 공부는 가까운 곳에서부터 출발한다.
  • XMLStudy_2002/Resource . . . . 27 matches
         XML을 사용하기 위해 필요한 것들
         == XML 사용자 그룹에 따라 ==
         === 일반 XML 사용자(XML End User) ===
          XML 서를 보려면 XML 브라우저
          XML 서를 작성하려면 XML 편집기
          XML 서에 적용하는 스타일시트를 작성하려면 CSS나 XSL편집기
          XML 서를 파싱하려면 또는 파싱된 결과를 이용하려면 XML파서
          XML 서를 반환하려면 XSLT 프로세서
         == 종류에 따라서 XML 사용시에 필요한 것들 ==
          *XML도구와 자원들을 특성에 따라 프로그램 형식의 도구와 패키지 형식의 소스 레벨에서 사용할수 있는 도구와 서 형식의 자원들과 같은 종류로 나눔
         === XML 사용을 위한 프로그램들 ===
         === XML을 지원하는 응용 프로그램 개발시에 사용되는 라이브러리/패키지(소스 레벨에서 사용할수 있는 도구들임) ===
         === XML 관련서 ===
          *XML은 계속 변화하면서 너무나 빠르게 새로운 내용이 발표되고 XML을 사용하기 위해 필요로 하는 여러 소프트웨어적인 도구들도 빠르게 버전업 되므로 항상 이러한 흐름을 주시해야 할 필요가 있다.
         == XML 서보기 - 브라우저 ==
         == XML 서작성 - 에디터 ==
          *XML 파서는 XML 서가 XML1.0 스펙에 맞게 작성되어 있는지 XML서를 검증하고 XML서를 트리형태로 구성해준다.
          *XML 파서는 서를 Validation해 주며,XML 서 구조를 트리 형태로 구성한다. 이런 파싱에 대한 것만을 지원하는것이 XML 파서이나 현재에는 파싱 작업 뿐 아니라 DOM이나 SAX같은것을 지원하여 XML 서를 처리할수 있도록 하는 부분도 함께 포함된 도구들이 많다. 이런 도구들을 훈히 XML 프로세서라고 할수 있다.
          *기본적으로 IE5.0이상에는 XML 파서와 XSL프로세서를 사용하기 때에 XML과 XSL지원이 가능한데, IE에서 사용하고 있는 XML 파서와 XSL 프로세서가 MSXML로 dll 파일의 형태로 되어있다.
  • 데블스캠프2002 . . . . 27 matches
          * 데블스 캠프 중 만든 소스들은 각 제 위키페이지에 올리세요. 페이지 제목 예> {{{~cpp BaseBallGameProblem/상협}}}
         || 98 ~ 90 학번 ||최태호(28-29제외) ||
         || 11 || 명진 ||
         == 다루어 본 제들, 관련 세미나들 ==
         프로그래밍을 위한 연습제들 정리. (제, 내용, 고른 이유 등은 관련 페이지 참조)
          1. ["NumberBaseballGame"] - 작년 데블스 캠프에서 한 숫자 야구 게임입니다 --재동
          1. ["MagicSquare"] - 마방진 제. 짜신 분들은 소스를 올리세요.
          1. ["Omok"] - 이건 제라기 보다는 간단한 실습~ - 상협
         == 기타 제들 ==
          1. ["StringOfCPlusPlus"] - 1학년 여름 방학때 제로페이지에서 했던 자열 다루기 ["상협"]
          1. ["FindShortestPath"] - 옛날 해커스 랩에서 나왔던 제.. 프로그램 실력보다는 알고리즘적인것이 중요할듯.. --광민
          1. ["Knapsack"] - 배낭 제라 하여 상당히 유명한 제입니다 --재동
          1. ["StarCraft"] - 내가 생각해본 제.. Class에 대한 이해와 접근에 도움을 주기 위해.. --광민
         떡봉/재동아~~~~ 제 좀 내주오~~
          재동...얼른 자료구조 책이나 웹에서 구하든 제 3개 만들어내~ 그리고 남훈아 너도 어떻게 제 좀 내라~ --정직
         아.. 어떤 제를 만들지 지금 고심중... 좀 생각좀 하고 올릴께여 ~^^; 전 맨날 학교 나올 수 있을거 같아여.. 어차피 이 데블스 캠프때에 집에 내려가는거 미루어서..- 상협
         머리쓰는 제도 중요하지만... 여러가지 분야를 조금이나마 경험하게 해주는것도 필요하지 않을까여..? 윈도우즈 에플리케이션이 어떻게 돌아가는지 간단히 소개시켜 준다든지... Little Man Computer 같은 것을 통해 컴퓨터 내부의 동작 원리를 설명해 준다든지.. Embedded System을 간단히 소개시켜 줘서.. 휴대전화나 가전제품, 계산기 등도 프로그램이 들어간다는것을 알게 해준다든지 등........ --상규
          1. 그외의 제(강의실, 야식, 홍보, 섭외등등.. 필요한것들..)에 대해 고민을 하믄 될듯.
         방금 제하나 올릴려다가 너무 쉬운제가 아닌가.. 해서 말았음. 먼저 새미나를 통해 어느정도는 가르친 상황이라고 하는데 그게 어느정돈지 파악이 안돼니....ㅡ,.ㅡ; 어려운 제나 올려놔야지.. -- 광민
         제 올려볼라고 IPSC2002 제중에 하나 봤는데. 열라 어렵네..-_-; - 임인택
  • 데블스캠프2005/RUR-PLE . . . . 27 matches
          * 로봇 사용법 5분
          * 벽 만들기 5분 + 연습 20분(신배달, 수확)
          * if 사용 + 연습 5분
          * not 사용 + 연습(수확2) 40분
          * while 사용 + 연습(수확3) 10분
          * sorting 제 120분
          * Python 언어를 사용하여 컴퓨터 프로그래밍 언어를 배울수 있는 환경이다.
          * Python 법 기반이지만, 몰라도 상관없다. 주어진 함수들을 가지고 해결해 나가기 때이다. 변수도 안쓴다. -_-
          * 실제로 로봇에 프로그래밍 해서 그 로봇이 현실에서 자신이 프로그래밍 하는데로 움직이는것을 보면 정말 좋겠지만 여건이 안되는 만큼 -_-; 화면으로나마 그 로봇이 움직이는 것을 보면서 프로그래밍 해볼 수 있다. 여기에서 작성하는 코드들이 무슨 쓸모가 있을까 싶기도 하겠지만, 추후에 실제 로봇의 동작을 프로그래밍해서 넣는다면 여기서 쓰이는 방식과 비슷하게 넣을것이다.(하드웨어적으로 복잡한것을 명령어로 추상화 시킨다음에 그 명령어을 적절하게 복합적으로 사용하여 원하는 행동을 로봇이 하게 만드는 식으로..) 즉 말그대로 로봇 프로그래밍을 간접적으로나 해볼 수 있다.
         = 간단한 러플 사용법 =
          * 아래 그림과 같이 로봇이 신배달 하게 함 코드를 작성해보자
          * repeat 명령어를 써서 여러번 수행해야 하는 함수(명령어 포함)을 한번에 방복 횟수만 지정해서 사용할 수 있다.
         == if 사용 ==
          * 위의 if과 함수 정의, repeat를 사용하여 아래 화면과 같은 상황을 처리한다.
         === else 사용 ===
          * else 은 아래 코드처럼 쓴다.
          * not은 아래와 같은 식으로 사용한다.
          * 제에서 아래와 같은 소스를 참고 하라고 한다. 저는 좀 다르게 했습니다. 우선 참고는 했고..
          * 아래와 같은 식으로 사용한다.
          * while사용하여 중복된 씨앗의 개수가 2 이상인 임의의 개수일 경우에도 처리 가능하게 위 소스를 수정한다.
  • 새싹교실/2012/사과나무 . . . . 27 matches
         처음보는 운영체제라던가, 아직은 생소할 커맨드라인 프로그램 사용이라던가
         과제로는 printf()와 scanf()의 사용법을 정리해오는 것을 주었습니다.
          * 새싹교실 첫 수업이었다. 고한종 강사님이셨고 같이하는 팀원과는 같이못해 혼자듣게되었다. 선배님은 간담회때 처음뵜고 서정이누나는 뒤풀이때 처음봤다.새싹교실이라고해서 무거울줄 알았는데 내생각이 틀렸다. 아주 기본부터 차근차근 설명을해주셨고 외한인 나에게 과제도주셨다. 더열심히 하라는 뜻인거같다.그리고 수업시간에는 간단한 사칙연산만 만들었는데 오늘 이차방정식을 푸는 프로그램을 만들어봤다. 도움을 받고 만든 프로그램이지만 다음엔 내가 스스로 만들어보고싶다. 앞으로 기대된다. - [김도익]
          * 새싹교실 첫 수업이었다. 원래 두명의 학생과 같이 하기로 했는데 서로가 시간이 맞지 않아서 따로 따로 듣게 되었다. 고한종 선배님은 새터가기전에 몇번 뵙긴하였는데 대화를 해보진 못했다. 그런데 새싹 오티에서 처음 이야기 해보고 오늘은 계속 미루어 오던 수업을 드디어 듣게 되었다. 수업내용을 알아듣게 설명을 잘 해주어서 나름 어렸었던 제들이 조금 해결되었다. - [김서정]
          * 반이 바뀌었다. 우선은 '이소라 때리기 게임'을 직접 손으로 쓰게 하고 #include 나 #define 같이 코드에 쓰여져 있는 법들에 대해서 설명해주었다. 자료형의 종류와 전처리기가 하는 일들, switch과 if의 용도차이 등을 설명해주었다. 수업이 끝난 뒤 책을 정하고 책에 맞춰 수업을 진행하자는 피드백이 들어와서 교재를 열혈강의로 정했다.
          * 오늘은 이소라때리기라는 게임을 했다. 새 강사님과 시작을 해서 어려울 줄 알았는데 정말 친절하게 가르쳐주셨다. 알고리즘대로 구동되는 프로그램이 신기했다. 지난시간보다 더 많은 예약어를 이용했고, rand()라는 것도 사용했다. 가장 신기했던 것은 k와 p를 아닌 다른 자를 이용했을 대 default장이 나와 k와 p를 누를 수 있게 유도해준 것이다. 지난시간과 달리 조금 더 긴 프로그램을 짜봤는데 만들어져가는 과정이 눈으로 확인되니까 조금 더 욕심을 내보고 싶다. 앞으로 2탄을 더 복잡하게 만들고 싶다. - [김도익]
          * 제어과 반복에 대해 1차적인 개요를 공부했다. 제어들끼리 그리고 반복들끼리 상호호환이 된다는 것도 공부했다. 반복을 이용해 구구단을 짜보았다.
          * 과제로는 19단을 짜오는 제가 나갔다.
          * 제어과 반복에 대해 다시 공부했다.
          } //두 가지 방법을 사용했기 때에 처음의 코드는 주석처리를 했다.
          * switch과 if이 서로 바뀔 수 있다는 것을 보기위한 코드입니다.
          * 제어을 반복하고 19X19단을 3단씩 출력하기를 했다. 제엄누과 반복을 이용해서 직접 프로그래밍 해보는 일을 중점적으로 했다. 직접 짜보는 일이 큰 도움이 된다는걸 체감했다. 느리지만 꼼꼼히 해야할 것 같고, 여러번 만나는 것보다 해볼 수 있는 과제가 많이 나오는 것이 좋다고 느꼈다. - [김성원]
          * 오늘은 제어에 대해 배웠다. 지난시간에 했던 부분이지만 다시 공부하였다. 지난과제 구구단을 나눠서 출력하는 프로그램을 만드는데 \t 어떻게 써야할지 몰라서 많이 헤맸고,int k라는 개념도 생각을 하지 못해 나 스스로 만들지는 못했다. 변수를 2개만 해야한다는 고정관념을 버려야겠다. 오늘 배운점은 프로그램을 만들때 편협한 시각이 아닌 자유로운 생각으로 이것저것 생각하는 것이 너무나도 중요하다는 걸 보았다. 수학제 풀이도 다양하듯이 프로그램도 마찬가지라고 생각한다. 한가지 주제에 대해 다양한 생각을 하는 연습을 해야겠다. - [김도익]
          2. if, switch, else-if, for, while, do-while 을 해봤다.
  • 정모/2011.5.16 . . . . 27 matches
          * 재학생들이 제를 내고 새싹들이 종이에 답을 써서 맞추는 형태
          * 9제를 풀었다.
          * 후기 1빠로 써요~~ (그리고 이제 정회원 신청하면 정회원~) 오늘은 새싹 골든벨때에 11학번이 많았지요. 게다가 11학번의 OMS!! 플밍진경대회를 소개해준 경진군이었어요. 재밌었다..기보다는 집중하도록 만드는 ppt였어요. 그리고, 골든벨.(승자는 나!) 74^34 의 값을 출력하는 제에서 진경이까지 탈락!!! 좀 헷깔리는 것도 있었는데 제풀면서 나름 정리된거도 있어서 좋았구요, 새싹 지원금 제가 지금 신청해도 처리되는지 궁금하네요.(제가 쓴 후기가 아까워서..하나에 1500원인데ㅠㅠ) + 정회원 신청은 인사게시판에 할게요. - [김태진]
          * 11학번 새내기가 많아서 좋았구요. 저와 이름이 거의 비슷한 [강수현]이라는 이름의 여학우가 기억에 남아요/ㅁ/ 새싹 골든벨에서 제들을 들을 때, 새싹교실에서 가르치지 않았던 제가 나왔을 때 많이 미안했어요. 너무 대충 넘어간 감이 있지 않았나 싶었던 ㅠㅠ 특히 관계 연산자나 비트 연산자 같은 그런 부분은 한 회의 수업으로 그냥 넘겼었던거라 ㅠㅠ 카네이션과 파이 파티는 정말 인상깊었어요. 준영이가 앞으로 지각을 안하겠다! 라고 말했는데... 사실 오전 10시 수업이라, 집이 머니까 이해할 수 있어요. 하지만, 약속이니까 일단 믿어봐야겠..ㅎㅎ - [강소현]
          * 으아아 OMS 스크립트가 날아갔습니다. 어디간거지. 하하 다시 쓰려니 자꾸 중간에 만화짤방만 보게 됨.. 음 골든벨 참가할 생각은 없었는데 어쩌다보니 참가해버렸네요. 으 나누기 Fail; 그리고 이프 안에 있는 OR 연산도 고민했습니다. 3월즈음에 플립플롭 본 내용이 기억나면서 그냥 찍었는데 맞췄네요(결합방향도 의심스럽긴 했지만). 여튼 지원금은 무전취식반이 까까라도 사먹으면 될듯. 으 진정한 의미의 무전취식일지도 - [정진경]
          * 안녕하세요. 09학번 박성현 입니다. 라고 인사를 했던 박성현입니다. 후기를 오랜만에 쓰는 것 같군요. 저번주에는 오자마자 끝났었기 때인가봐요. 으으. 들어가자마자 들은 소리가 'SW마에스트로 일찍 내'였는데, 어찌 제가 1주일 늦게 낸걸 다들 알고 계신건지ㅋㅋ 이번주 정모에는 새내기들이 많아 참여해서 참 좋았습니다. 이제 새내기들이 점점 정모에 참여를 많이 하겠군요. 들어가자마자 인사를 했는데, 정작 제 이름만 알리고 이름 알고 가는 새내기들이 한명도 없네요 ㅜㅜ. 얘들아 나 보면 이름좀 알려줘... 얼굴은 기억 해놨어. 새싹 골든벨에선 "Gara"가 참 인상에 남네요. 발상의 전환입니다. ㅋㅋㅋㅋㅋㅋㅋ 그리고 우리 반에서도 승자가 나왔으면 좋았을 텐데, 제가 '아스키 코드'를 제대로 안 가르쳐서 그만 팀킬을 해버렸네요. 제대로 가르쳐야겠습니다. ㅋㅋ 다음에 또 골든벨 할 때는, 좀 더 의미있는 제를 내봐야겠습니다 ㅋㅋ 제 말고요 ㅋㅋ - [박성현]
          * 줌마들이 많아서 소이... - [서지혜]
          * 주말알바때에 정모에 제대로 나오지도 못했는데 오늘도 결국 끝까지 못있었네요..ㅠㅠ 그래도 정모에 11학번들도 되게 많이오고 바글바글 대네요ㅋ 벌써 OMS까지 하고말이죠, 저희반 새싹 학생들도 못와서 아쉽네요.. - [경세준]
          * 아아아아아아악!! 내 새싹들 어디갔어!! 항상 그렇지만 마지막에 참가합니다. 월요일 정모시간의 저주는 이번 학기동안 내내 되는군요. 그래도 진경이가 나에게 꽃을 주다니.... 꽃을 주다니 ㅠㅠ 고마워!!! 내 제가 좀 어려웠나 근데..? - [김준석]
          * 제가 뭐였드라? 기억이 안나네요.. - [서지혜]
          * 태진이만 남겼던 제의 ^ 제 - [지원]
          * 강의실 들어가는데 사람들이 많아서 깜짝 놀랐네요. 새내기들이 정모에 이렇게 많이 오다니 왠지 간질간질한 정모였어요. 새싹 골든벨 다들 재미지셨는지. 미리 제 안내도 되나 걱정했는데 재학생분들 제내느라 아주 신나셨던듯ㅋㅋ 함정파놓고 두근거리는게 다 보였네요. 마지막에 준석선배의 이벤트 감동이었어요. 새싹 선생님들께 헌화하는 새싹들 오글부럽. 파이먹고 기분좋게 끝내서 다들 좋은 기억 가져갔겠죠? 뭐 저런걸 다해라고 생각했는데 소소한 곳에서 감동을 받는게 인간인거 같습니다. 저도 이벤트 챙기는 법을 좀 알아둬야 겠어요. 하도 메말라서.. 후후 오늘의 후기 끝~ - [서지혜]
          * 독서 모임 끝나고 가니까 많은 인원이 와 있더군요,, 만나서 반가웠습니다. ㅋ 이번 OMS는 주제가 ㅎㅎ 참 신선했습니다. 경진대회에 대해서는 자세히 아는 것이 없었는데 새로운 정보를 얻을 수 있어 좋았습니다. 그리고 골든벨 형식으로 제를 진행하면서 재밌기도 했고, 내가 과연 1학년 때 새싹을 들으면서 이와 같은 걸 했으면 과연 어느 정도까지 답을 써 냈을지 라는 생각도 들더라고요 ㅎ -[권순의]
          * 11학번 학우들이 흥 했던 정모였습니다. 골든벨 제를 내면서 또 학우들이 푸는걸 보면서 확실히 제가 새내기 때를 생각하면 수준이 많이 높아요.. (이것도 지피 학우들의 힘!?) 난 1학년 1학기 때 if도 제대로 쓰지 못했는데 말이지요~_~ 스승의 날 이벤트로 준비한 준식이의 꽃 + 파이 햏사도 인상적이였어요. 역시 준석이는 애들을 잘 챙겨요. 앞으로도 쭉 thㅐ내기 학우들과 재학생들이 흥하는 제로페이지 정모가 되었으면 좋겠습니다 - [지원]
          1. 새싹들과 함께 뭘 할까 고민하다 지혜가 아이디어를 내서 골든벨을 했습니다. 제가 사전에 제를 다 준비하려다 시간도 안 되고 재학생들은 보기만 하는 정모는 재미없을 것 같아 재학생분들이 돌아가면서 내는 형식으로 진행했습니다. 결과적으로 제가 혼자 생각해본 제들보다 다양한 제가 나와서 좋았어요! 지원금 쟁탈전이라는 명목으로 진행했지만 중간중간 새내기들이 잘 못 푸는 제는 풀이도 하고, 단순히 맞고 틀리고를 떠나 그동안 배운 것들을 점검하고 몰랐던 것들을 배워가는 시간이라고 느꼈길 바랍니다.
  • HelpOnFormatting . . . . 26 matches
         #keywords Formatting,Help,wiki,포매팅,
         위키위키는 좀 더 직관적이면서 이해하기 쉬운 단순한 세트의 법 규칙을 가지고 있습니다. HTML 서를 만들기 위해서 HTML법을 알아야 하는 것 처럼 위키위키 페이지를 만들거나 고치기 위해서 위키위키 법을 알아야 합니다. HTML법은 직관적이지 않고 복잡한 측면이 있습니다. 그러나 대다수의 HTML서는 매우 간단한 법을 알기만 하면 만들 수 있습니다. 위키위키는 이러한 법을 좀 더 단순화 시키고 직관적이고 이해하기 쉬운 단순한 규칙으로 구성되도록 고안되었으며 조금만 시간을 투자한다면 위키위키의 법을 쉽게 이해하고 배우실 수 있습니다.
         === 기본 텍스트 포맷 법 ===
         ||`'''''굵고 기울여'''''`||'''''굵고 기울여'''''||이 세가지의 기본 법이 있으며
         그리고 이러한 포매팅을 ''있는 그대로'' 보여주기 위해 ` {{{ }}} ` 중괄호 세개를 연달아 사용하는 법이 있습니다.
         한 단락 내에서 강제로 줄 바꿈을 하고 싶은 경우에는 {{{[[BR]]}}}를 씁니다.[[BR]]이것은 위키위키의 고급 기능에 속하는 [매크로법] 입니다.
         위키위키 법을 무시하게 하기 위해서 중괄호 세개를 {{{ {{{이렇게}}} }}} 사용하게 되면 글꼴이 고정폭 글꼴로 보여지게 되며 ({{{monospace font}}}) 만약에 이 법을 여러 줄에 걸쳐 사용하게 되면, 중괄호 블럭의 모든 공백이 보호되어 프로그램 코드를 직접 삽입하여 보여 줄 수 있습니다.
         이 경우 모든 위키 법은 무시되고 있는 그대로를 보여주게 됩니다.
         위첨자의 기본 법은 원래 {{{^윗첨자^}}}법이지만 다른 법들과 일관성있게 하기 위하여 {{{^^윗첨자^^}}}법을 지원합니다 ^^이렇게^^.
         /!\ 모인모인의 경우에는 여러줄에 걸쳐있는 경우에도 이러한 기본 법이 적용되지만, 모니위키의 경우 기본 법은 반드시 한줄에 대해서만 적용됩니다.
  • MoniWikiACL . . . . 26 matches
          * @ALL: 모든 사용자 (priority: 1)
          * @User: 등록 사용자 (priority: 2)
         == 사용자 정의 그룹 @group 그리고 @group의 priority ==
         ##@그룹이름 사용자리스트 [priority]
         /!\ 여기서 Anonymous 사용자는 @Guest로 지정되어 있으며, @Guest는 미리 정의된 그룹이 아닙니다.
         * @Block deny * // 모든 페이지(*)를 @Block 사용자그룹에 대해 모든 액션(*)을 거부(deny)
         /!\ IP, CDIR, 부분IP 등등은 그룹 지정에서만 사용 가능합니다.
         # 페이지이름 @그룹/특정사용자 allow/deny 액션리스트
         @Guest Anonymous // @Guest 사용자 그룹 정의
         * @ALL deny * // 모든 페이지(*)를 모든 사용자(@ALL)에서 모든 액션(*)을 거부(deny)
         * @ALL allow ticket // 모든 페이지를 모든 사용자에게 ticket 액션을 허락(allow)
         // 모든 페이지(*)를 일반 가입 사용자에게(@User) 허락(*)
         // 사용자 Foobar는 WikiSandbox 편집 못하게 함
         @Guest Anonymous // @Guest 사용자 그룹 정의
         // 모든 페이지(*)를 모든 사용자(@ALL)에서 모든 액션(*)을 거부(deny)
         // 모든 페이지(*)를 모든 사용자(@ALL)에게 ticket 액션을 허락(allow) ticket은 가입 폼에 나오는 로봇가입방지 captcha
         // 모든 페이지(*)를 일반 가입 사용자에게(@User) 허락(*)
         // 모든 페이지(*)에 대해 모든 사용자의(@ALL) detetefile,deltetepage 등등의 protect 가능한 액션을 protect
         // MoniWiki 페이지를 @ALL 모든 사용자에게 edit,upload,diff등의 일부 액션을 거부
          * 모든 사용자(@ALL)에게 allow를 제외한 모든 액션 거부.
  • NumberBaseballGame . . . . 26 matches
         간단한 숫자 야구 게임입니다.[[BR]]
         1. 우선 컴퓨터가 렌덤으로 자리수가 3인 숫자를 만듭니다.[[BR]][[BR]]
         2. 이제 사용자에게 3 자리의 숫자를 입력받아 컴퓨터가 만든 수와 비교합니다.[[BR]]
          2-1. 사용자에게 받은 수와 컴퓨터가 만든 수가 같은 수에 같은 위치면 '스트라이크'.[[BR]]
          2-2. 사용자에게 받은 수와 컴퓨터가 만든 수가 같은 수에 다른 위치면 '볼'.[[BR]]
         3.완전히 숫자가 일치하지 않으면 계속 합니다.[[BR]]
         이때 사용자가 395라는 숫자를 입력하면 '1 스트라이크 1볼'이 됩니다.[[BR]]
         사용자는 스트라이크와 볼수로 컴퓨터가 만든 수를 추리하여 찾는 것입니다.
         조금 더 제 정의를 명확히 할 필요가 있지 않을까 합니다. (여기에 올라온 몇 개의 코드들을 살펴볼 때 명확한 스펙이 잘 전달되지 않은듯 합니다)
         정답 혹은 사용자가 부르는 숫자에서 중복된 숫자가 가능합니까?
          * 정답이 373이었는데, 사용자가 369를 불렀습니다.
          * 정답이 373이었는데, 사용자가 132를 불렀습니다.
          * 정답이 373이었는데, 사용자가 339를 불렀습니다.
          * 정답이 373이었는데, 사용자가 333을 불렀습니다.
          * 숫자 중복은 안됩니다
          * 입력 : 3 자리의 숫자. ( 000 - 999 )[[BR]]
         === 제 소스들 ===
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         반대로, 사용자가 숫자를 부르면 컴퓨터가 맞추게 하는 방법도 있습니다. 두 가지를 합하면 컴퓨터와의 대결이 됩니다. ^^ (그런데 거의 이기기가 불가능합니다.) 소스는 [http://my.netian.com/~sshiskom/file/python/baseball.py 여기]에.
         ["제분류"]
  • ProjectZephyrus/ClientJourney . . . . 26 matches
          * 작업상황이 막바지인것을 실감할 거 같다. 엄청나게 길어진 코드를 보면 알 수 있다. 내가 없는 사이에 엄청나게 많은 변화가 있었다. 주석이 없는 코드라서 그런지 해석하는 데 애먹었다. 이궁...CVS 사용을 며칠 안해봤다고 또 잊어먹었다. 바부..도움말 뒤지는 중이다. 아마 이번 프로젝트에서 내가 가장 크게 느끼는 것은 영서와 비슷할 것 같다. 자바 언어에 대한 공부보다는 프로젝트 진행 방법, 팀프로젝트에서 개인과 팀의 역할 등을 가장 크게 배우는 것 같다. 예전에 친구와 함께 뭐 하나 하다가 어설프게 끝난 적이 있는데 아마 내가 그만큼 어설프게 진행했던 것 같다. 아무튼 이번에 가장 크게 느낀 점이다. 또 하나 느낀점이 있다면 형하고 pair 하려면 이정도로 공부하고 노력해서는 부족할 것 같다는 생각이다. 아직 내가 갈 길은 멀었다는 생각이... -_-;; 이번에 확실히 늘어난 실력은 아마도 소켓의 개념이 아닐까...-_-;;
          * 소프트웨어 개발이 공장스타일이 될 수 없는 이유를 하나 든다고 한다면 개발중 개발자가 계속 학습을 해나간다는 점에 있지 않을까 한다. 처음부터 끝까지 모든 것을 다 예상하고 개발할 수 는 없을것이니. (필요한 라이브러리가 무엇인지, 실제 그 라이브러리의 장단점이 무엇인지, 어떻게 사용하면 바로 알수 없는 버그가 되어버리는지 등등. 뭐 큰 소프트웨어일 경우 이것을 다 예측해야 한다라고 하면 할말없지만. 이것도 비용을 고려해서 처신해야하겠지. Cost Estimate 자체가 Cost 가 드는것일거니.) 암튼 아쉬운건 중간에 디자인이 바뀌었을때 (실제로 처음 디자인의 클래스들을 몇개 뺀것도 있고, 인터페이스만 맞춰본 것들도 있고 그러함) 바쁜 사람들이 참석을 하지 못해서 처음부터 설명해야 하는 경우이다.
          * 학교에서의 작업의 단점중 하나는 고정된 장소와 고정된 스케줄을 만들기가 쉽지 않다는 점이다. 학교시간표 보고 빈 시간대를 맞춰야 하고, 그 사람은 또 그 사람 나름대로의 스케줄이 따로 존재한다. 시험이라던지, 동아리 활동이라던지 등등. 이 경우 팀원별 스케줄을 보고 팀내 기여도를 예상한다음 그 기여도를 줄여주도록 해야 서로가 부담이 적을 것이다. 단, 위에서 언급한대로 개발중 지속적인 학습과정이 있는 이상, 중간 참여는 그만큼 어렵게 된다. CVS가 있을 경우 해당 코드의 변화를 지속적으로 관찰해나가야 하며, 외부에 있는 사람은 내부 작업자에게 필요에 따라 해당 서를 요구해야 한다. (내부 작업자가 어떤 욕을 하건 -_-; 나중에 다시 참여시의 리스크를 줄이려면) 내부 작업자는 그 변화과정을 계속 기록을 남겨야 할 것이다. (Configuration Management 가 되겠지.)
          * 이전에 wiki:NoSmok:InformationRadiator 를 붙일 수 있는 벽과 화이트보드가 그립다; 방학중엔 피시실 짝에라도 붙여보던지 궁리를;
          * PairProgramming 을 할때 가장 답답해지는 상황은 잘 이해 안가면서 넋놓고 있을때랑, 둘이 같이 있어도 Solo Programming 하느 사람 마냥 혼자서 제를 끙끙거리며 풀려고 하는 모습이다. 꼭 제를 스스로 삽질해서 풀어야만 자기실력이 향상되는것일까? 다른 사람에게 올바른 질을 할 수 없는 사람은 혼자서 제 푸는데에도 오래걸리게 된다고 생각한다. 상대방에게 질을 하면서 자신이 모르는 것 자체를 구체화하고 (제 자체가 모호한상태 자체가 제다. 무엇이 제인지, 자신이 모르는 것이 구체적으로 무엇인지 모르면서 어떻게 제를 해결할까? 자신이 모르는게 버클리소켓 전체 사용과정인지 소켓 API의 인자들을 모르면서 네트웍 프로그래밍을 할 수 있을까. 그런사람들에게 '지금 모르겠는게 뭐지?' 라고 물으면 80-90%는 '다 몰라요' 이다. 모르겠는 부분에 대해서 하나하나 구체화시켜나가라. 구체화시킨 예로서 생각을 해봐도 좋을것이다. 시나리오를 만들어보면서, 그림을 그려보면서, 아니면 자기 자신이 그 시스템의 일부가 되어 보면서.) 다른 사람의 아이디어를 자신의 사고에 붙여나가면서 '더 좋은 방법' 을생각해낼 수는 없을까? 언제나 제의 답을 내는 방법은 '이사람의 방식' 아니면 '저사람의 방식' 뿐일까.
          처음에는 영서와 GUI Programming을 했다. Main Frame class 의 메뉴붙이고 리스너 연결하는 것부터 시작, 입력 다이얼로그를 노가다 코딩해서 만드는데 서로 교대해서 1시간이 걸렸다. 코딩 속도도 저번에 비해 더욱 빨랐고, 대화할때도 그 질이 간단했다. (5분간격이니 아무리 플밍이 익숙한 사람이 진행해도 그 진행양이 많지가 않다. 그리고 자신이 그 사람의 미완성 코드를 완성해야 하기에 모르면 바로 질을 하게 된다.)
         (그 이후 창섭이가 와서 영서에게 JTree관련 Solo Programming 을 시켰는데, 말이 안되는 프로그래밍을 했다. -_-; 아직 영서가 Swing 에 익숙하지 않아서 그런데, 앞의 프로그램은 어떻게 만들어졌을까 의이 들 정도였다; 아마 5분 간격 플밍시에는 서로 앞 사람 소스작성을 한 것을 기준으로 붙여나가는 방식이기에 그 흐름을 잡고 프로그래밍을 해서 Pair 가 성립이 가능했던것 같다는 생각도 해본다. 이는 처음 프로그래밍을 하는 사람과의 PairProgramming 시 궁리해봐야 할 사항인듯)
         그래도 메신저리스트의 사용자 추가/삭제 부분에 대한 JTree 부분 플밍을 비슷한 수준으로 했다는 것과 CVS 에 add & commit 하는 전체 한 과정을 해본점에서 의의를 두어본다.[[BR]]
          DeleteMe) ''참고로 자바에서는 순수한 형태의 MVC 모델을 사용하지 않습니다. 변형된 형태의 MVC 모델을 사용합니다 [http://java.sun.com/products/jfc/tsc/articles/getting_started/getting_started2.html Introducing Swing Architecture]. 이론과 실제의 차이랄까요. --이선우''
         이힛.. 저번 시간에 졸려서 멍한 상태인데다가 의혈화제 공연준비한다고 공부를 등한시한 상태였다. 친구들과 6시 영화보기로 했던 것들 취소함으로써 더더욱 나 자신이 '도대체 어떤 것이 우선일까... 지금 내가 무엇을 하는 것이 가장 현명할까..' 에 대해 고민을 하면서 반성하고 있었다. 그런 나에게 화도 안내고 차분히 설명해주는 형에게 너무 미안했다. 그래서 영화보는걸 취소했다. 내가 그 자리에서 할 수 있는 최선의 방안이었고 후회하지 않는다. 근데 남는게 별로 없었다. 멍한 상태여서..-_- 오늘은 공부를 좀 한 상태여서기 보다는 개념을 이해한 상태여서 자신이 있었다. 개념만 이해하면 나머지는 어렵지 않을 것이라는 나의 변하지 않는 생각때에.. 이제 자바 숙제좀 하고나서 메신저 기본 틀을 짜봐야겠다. --창섭
         1002는 CVS 사용방법에 대한 예를 보이고 설명을 했다. wincvs 윈도우 버전에 익숙하지 않았던 관계로 command 입력방법을 가르쳐줬다. 그리고 영서와는 주로 Swing쪽을, 창섭과는 Java Socket Class 에 익숙해지기 위해 Socket 관련 SpikeSolution 을 했다.
         후배들과의 PairProgramming 이다. 여태껏의 경험에 의하면 언제나 애매한 것이 Junior : Expert 제이다. 이번에는 어차피 SpikeSolution 이므로, 내가 아는 한도에서 약간의 예를 보이고, 후배들로 하여금 해보도록 하는 식으로 했는데, 그 덕에 둘이 Pair 를 해보는 기회가 없었던 것 같다. 중간에 내가 화장실 갔다올때 잠시 둘이서 Pair 를 하는 모습을 봤었는데, 이 선은 내가 적절하게 지켜나가야겠다. 너무 멀리도, 너무 가까이도 아니도록. --1002
         대학교들어와서 그정도로 열심히(?)공부한적은 별루 없었던거같다.. 그날 이얘기를 들은 1002형은 놀란표정이었지만 사실 그랬다.. 그러니깐 학점이 그렇게 나왔겠지.. -_-;; 암튼 일주일전에 봤던 자바 기본개념을 바탕으로 남들 다 해본 스윙 기본틀이나 메뉴같은걸 작성해봤다.. 아참 그전에 CVS사용법을 배우고, Architecture와 Design에 대해서도 들었다.. 신기하다.. 무슨 도면같았다.. 이제서야 느낀거지만 프로그램에 코딩이 차지하는비중은 1/2도 안되는구나라는걸 느꼈다.. (이제서야? --;;) 여지껏 놀은시간이 너무 아까웠다.. -_-;; --영서
  • Slurpys . . . . 26 matches
         [http://online-judge.uva.es/p/v3/384.html 원보기]
         스러피(Slurpy)란 어떠한 속성이 존재하는 자열이다. 자열을 읽어서 스러피가 존재하는지를 판단하는 프로그램을 작성해야 한다.
         스럼프(Slump)는 다음 속성을 갖는 자열이다.
         1. 첫 번째 자가 'D'또는 'E'이다.
         2. 첫 번째 자 뒤에는 하나 이상의 'F'가 나온다.
         3. 하나 이상의 'F'뒤에는 또 다른 스럼프나 'G'가 온다. 스럼프는 'F'끝에 오는 스럼프나 cpp 'G'로 끝난다. 예를 들어, DFFEFFFG는 첫 번째 자가 cpp 'D'로 시작하고 두 개의 'F'가 나오며, 또 다른 스럼프 'EFFFG'로 끝난다.
         스림프(Slimp)는 다음 속성을 갖는 자열이다.
         1. 첫 번째 자는 'A'이다.
         2. 두 개의 자로만 된 스림프면, 두 번째 자는 'H'이다.
         3. 두 개의 자로 된 스림프가 아니면 다음 형식 중의 하나가 된다.
         스러피(Slurpy)는 스림프(Slimp) 뒤에 스럼프(Slump)로 구성되는 자열이다.
         입력될 자열의 개수를 나타내는 정수 N 이 1 ~ 10의 범위로 우선 입력된다. 다음 줄부터 N개의 자열이 입력된다. 자열은 1 ~ 60 개의 알파벳 자로 구성된다.
         첫 줄에는 {{{~cpp"SLURPYS OUTPUT"}}}을 출력한다. N 개의 자열 입력에 대해서 각 자열이 스러피인지를 {{{~cpp "YES"}}} 또는 {{{~cpp"NO"}}}로 표기한다. 마지막으로 {{{~cpp"END OF OUTPUT"}}}를 출력한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 2시간 || [Slurpys/보창] ||
         정확하게 이름은 생각나지 않지만 디지털공학 시간에 예제로 해보았던 자판기나 신호등 제의 접근 방법을 사용하면 재미 있을것 같습니다. - [이승한]
         이번 제는 TDD를 강력 추천. --재동
         [제분류]
  • Spring/탐험스터디/wiki만들기 . . . . 26 matches
          * 스프링 시큐리티 사용 준비
          * UserDetail - 스프링 시큐리티가 사용할 수 있는 User 객체 만들기
          * 현재 로그인 한 사용자 정보 가져오기
          * Spring Security의 Role Voter는 "ROLE_" 접두어를 사용한 접근 속성만 처리한다. 단 접두어는 커스터마이징이 가능하다.
          * 위키 법을 별도로 정의하고 파서를 구현하는 대신 Markdown을 사용하기로 결정했다.
          * MarkdownJ, MarkdownPapers는 서가 부실하고 남은 두 구현체 중 [https://github.com/sirthias/pegdown Pegdown]이 위키 제목을 통한 페이지 링크를 더 간편하게 지원해서.
          * 아주 간단한 Pegdown 사용
          1. markdown text를 html 자열로 변환
          * 오늘은 위키 법을 구현하기로 하였다.
          * 위키의 법을 구현하기로 하였는데 직접 파서를 구현하기보다 Markdown의 파서를 사용하면(Markdown 법을 사용해야 하지만) 편리할 것 같아(명백해서 증명할 필요가 없다!) Markdown 파서중 pegdown을 쓰기로 경정. Java 언어 기반의 파서중 그나마 서화(GitHub의 소개페이지)가 잘되어있어서....
          * 오픈소스인 pegdown과 법 Markdown을 쓰니까 완전 편함
          * login.jsp 를 만들어서 커스터마이징 한 로그인 페이지를 사용할 수 있게 수정했다.
          * spring security의 tag library의 ifAllGranted, ifNotGranted등을 사용할 수 있다.
          * PageTitle 받아서 검색하는 거 까지되었다!! 알고보니 어렵지 않은 제였음, PathVariable로 url의 path 요소를 받을 수 있다.
          * 간단한 제인데 (내게) 우아한 해결방법이 없다. 좌절.
          * Login하지 않고 Page를 생성할 수 있는
          * 이건... 음.. "signup 폼을 담은 페이지를 호출" 할 때와 "사용자의 ID와 PASSWORD를 전달해 로그인 처리를 하는" 경우가 같은 Request Name을 가지게 되서..
          * 이제 로그인되지 않은 사용자가 페이지 생성을 요청하면 Spring Security에 의해 Signup 페이지로 이동된다. 끗
          * Java에서 Matcher를 사용할 때 matches()는 전체가 완전히 일치하는 것만 찾아주고 find()는 substring일 때도 찾아준다. 예를들어 'abcde'에서 'bcd'를 찾을 때 matches를 사용하면 못 찾고 find를 사용하면 찾음.
  • ZeroPage_200_OK/note . . . . 26 matches
          * uploder에게 리소스를 올릴때 사용 주로 새글을 쓸때 많이 사용한다.
          * resource에 사용 그 url에 딱 올라갈 때 쓴다. 주로 수정에 사용된다 이미 ID를 알고 있으므로.
          * 반환값을 사용할수 있고
         == Javascript 법 ==
          * 클로져 : 내부의 있는 외부에 있는 함수의 지역 변수를 쓸수 있는것. 때에 의도하지 않은 결과를 가져올수 있다.
          * p.do() 에서 p가 실행맥이다. 그러나 이 함수를변수로 받으면 var f = p.do; f(); 이런식으로 그러면 f는 실행맥이 없기 때에 전역객체가 실행맥으로 간주된다.
          * func.apply(ec, arguments) 나 func.call(ec, arg1, arg2, ... )으로 func안에서의 실행맥(this)를 명시적으로 변경할수 있다.
          * 3. 실행맥을 instance로 한 생성자를 호출한다.
          * 자바스크립트는 함수와 일반 변수와의 구분이 없기때에 변수 또한 dispatch가 된다.
          * 자바 스크립트에서는 XSS를 막기(?)위해 동일한 도메인이 아니면 javascript맥에 접근할수 없다.
          * 인증 제가 걸릴경우 보안이 약화될수 있다.
          * script tag를 읽어 로딩이 끝나면 바로 실행 하기 때에 여러개를 동시에 불러올경우 전역변수를 이용한 방식은 불가.
          * 이 응답은 마치 JSON에 함수만 감싼형식이기 떄에 JSON with Padding, JSONP라 부른다.
          * evnet driven 방식이며 nodejs 때에 유명해졌다.
          * 프로세스간 통신에 사용되는 Pipe
          * 매 실행시마다 새로운 프로세스를 생성하기때에 메모리 소모가 심하고 disk접근이 많다.
          * 현재 가장 많이 사용되는 방식
          * 하지만 모듈을 요청마다 디스크에서 읽지 않기 때에 조금은 나아졌다.
          * 순서는 존재해야하기 때에 Event-driven의 탄생.
          * 시간이 오래걸리는 작업은 비동기로 처리해야 하기 때에 시간이 오래 걸리는 작업은 다른 프로세스로 넘기는것이 낫다.
  • 문자반대출력 . . . . 26 matches
         === 자열반대출력 ===
         제 : 파일 입력으로 자열을 입력한 후, 어떠한 알고리즘을 통해 반대로 된 자열을 파일로 출력한다.
          * 파일 입출력 사용.
         || [허아영] || C, C++ || . || [자반대출력/허아영] ||
         || 김태훈([진트]) || C || . || [자반대출력/김태훈zyint] ||
         || 보창 || C++ || 20분 || [자반대출력/보창] ||
         || [최경현] || C || . || [자반대출력/최경현] ||
         || [김정현] || java || . || [자반대출력/김정현] ||
         || [조현태] || C/C++ || . || [자반대출력/조현태] ||
         || [남도연] || C/C++ || . || [자반대출력/남도연] ||
         || [임인택] || [HaskellLanguage] || 5분 || [자반대출력/임인택] ||
         || [남상협] || Python || 17분 || [자반대출력/남상협] ||
         || [이태양] || C || 60분 || [자반대출력/이태양] ||
         || [변형진] || PHP || . || [자반대출력/변형진] ||
         || [임인택] || J || . || [자반대출력/임인택2] ||
         || [임다찬] || C || . || [자반대출력/임다찬] ||
          * 맞게 푼건지는 모르겠지만 파이썬은 자체적으로 거꾸로 해주는 함수가 있어서 솔직히 이런 제는 풀기가 굉장히 쉽다. 위에서 저거 걸린 시간은 파일 입출력과 그 해당 함수 찾는 시간.. - 상협
          * C 에도 라이브러리로 자열 반전 시켜주는 함수를 제공합니다. strrev()라는 함수를 사용하면 '\0'바로 전 글자부터 거꾸로 만들어주죠. 물론 ANSI 표준은 아니고 Semantec, Borland, Microsoft 에서 제공하는 컴파일러의 경우에 자체 라이브러리로 제공합니다. 이식성을 생각하지 않는 일반적인 코딩에서는 위에 나열한 컴파일러를 이용한다면 사용할 수 있습니다. - 도현
          * 제공된 라이브러리를 분석해보는 것도 재미있습니다. see [자반대출력/Microsoft] --[이덕준]
         [제분류] [LittleAOI]
  • ComputerNetworkClass/Exam2006_2 . . . . 25 matches
         = 제 전체적 해설 =
         인터넷 보안 관련된 제에서 제로 출제 될 만하다고 생각했던 부분인 Authencation Protocol (3-way-handshake, keberos, using RSA)에 대한 내용역시 미출제되었음. 덕분에 시험 난이도는 낮아졌지만, PEM 의 구조에 대한 설명이 들어갔기 때에 따로 관심을 가지고 공부한 사람이 아니면 약간 어려웠을지도 모르겠음.
         TCP의 흐름제어 부분은 워낙에 중요하다고 설명했기 때에 SLOWSTART, FAST RETRANSMIT, VEGAS 에 대한 이해를 해야했을듯.
         = 제 =
         availability(interruption, DoS, Jamming -> Firewall, Proxy-base Network System)에 대한 설명과 수업때 배운 보안기술들을 분류하고 설명하는 제임.
         2. 멀티미디어 스트리밍 서비스에 관련된 제 출제. (RTP, 버퍼링, QoS 등의 제를 복합시켰음)
          2.1 playback time 에 대한 책에 제시된 그래프를 그리고 그 설명을 하는 제. (2.1 제에서는 MPEG 과 같은 압축 기법이 이용되지 않는다고 가정)
          2.2 MPEG 을 사용하면 그래프가 어떻게 변할까?
          2.4 play back 은 무엇이고 언제 어떻게 사용되나
          playback point, playback time 에 대한 이해를 묻는 제임. adaptive playback 에대한 제도 출제되었음.
          2.5 멀티미디어 서비스에서 TCP는 왜 잘 사용 안될까
          멀티미디어 스트리밍 서비스와 TCP의 궁합이 잘 맞지않는 이유를 기술하라는 제. 수업시간에 몇번 말했기 때에 난이도 평이. (UDP 위에 RTP 를 올리게 된 이유와 일맥상통함)
          일반적인 메일 전송 프로토콜의 이해와 MIME 프로토콜에 대한 간단한 이해. 그리고 E(MD(5), PrivateKeyOfSnd) 의 해석 방법과 계층적 인증에 대한 이해를 묻는 제였음.
          제의 내용에 메일의 헤더와 구조를 나타내라는 말이 있기 떄에 책을 참조하거나 일반적으로 받는 이메일의 구조를 한번 본뒤 시험을 보면 좋음.
          SLOWSTART 사용시기와 해당 기법의 사용이유에 대한 해설
          Integrated Service(flow-based), Differentiated Service(service-based) 에대한 전반적인 이해를 하는 제. 해당 기법에 WFQ를 적용하는 방법에 대한 이해를 묻는 제로 약간 응용해서 적으란 것으로 보임. 책에 DS에 대한 설명은 WRED, RIO에 대한 설명만 되어있었고, 이 방식은 Queuing 에 의한 WFQ의 사후 처리가 아닌 사전 체리에 관련된 내용이었음. 솔직히 WFQ 왜 냈는지 모르겠음. -_-;;
  • Emacs . . . . 25 matches
         vim에서는 기본 모드가 항상 편집 모드이고 쓸수있는 mode가 고정되어 있는 반면에, emacs에서는 주 모드와 부 모드를 입맛에 맞게 바꾸어 쓸수 있습니다. 예를 들어 사용자는 text-mode라는 텍스트 서를 편집하고 작성하는 기능을 가진 주 모드를 쓰면서, 글자의 색을 바꿔주거나 들여쓰기 내어쓰기등을 사용자 정의대로 기능을 수행하는 부 모드를 쓸 수 있습니다.
          * 평소에 너무 IDE에 의존한다는 생각이 들어서 범용적인 TextEditor를 사용해보자는 결심을 하고 쓰는데 어려웠던 사항을 기록하려고 합니다.
         받아서 압축을 풀고 바로 사용할 수 있습니다. 하위 폴더중에 bin 폴더가 있는데 그 안에 있는 실행파일이 있습니다.
          * 최소 mac 가능한 ubuntu 에서 사용하는게 정신건강에 좋습니다. ecb, cedet 등을 커맨드 한번에 설치 하느냐, 여러번 거쳐서 설치하느냐는 하늘과 땅 차이입니다. ~~윈도우는 개발자의 OS 가 아닙니다~~
          * emacs 환경 그대로 remote/ssh/docker/sudo 등을 바로 사용할 수 있게 해줍니다.
          * emacs 는 dired mode 는 파일을 관리하고 browse 할 수 있는데, tramp 를 활용하여 remote 를 local 처럼 사용할 수 있습니다.
          * tramp 로 sudo 사용하기 : M-x-f {{{/sudo::/etc/}}}
          * tramp 로 ssh 사용하기 : M-x-f {{{/ssh:you@remotehost|sudo:remotehost:/path/to/file}}}
         == Python 사용하기 ==
         Emacs는 HOME 이라는 환경변수를 이용해서 사용자 설정 파일인 .emacs(이름 앞에 점 하나 있습니다.)파일을 읽어들입니다. 이 환경변수에는 경로가 들어가는데 그 경로에 사용자 설정 파일이 있어야 합니다. 제어판->시스템->고급->환경변수 안에 HOME이라는 환경변수를 추가하고, 그 경로 밑에 .emacs를 설치해야 합니다. .emacs 파일 내용은 다음과 같이 만듭니다.
          * 일반적으로 사용자의 HOME 디렉토리 밑에 저장됩니다.
          * GNU Emacs 사용시 Windows 7 환경에서 c:\Users\[UserName]\AppData\Roaming 디렉토리에 저장됩니다.
          * 주로 Emacs Wiki에서 받은 파일들이나 다양한 .el 파일들을 넣는 데 사용합니다.
          * Emacs의 확장 기능은 .el(Emacs Lisp 확장자) 파일을 읽어오는 방법으로 이루어진다. 따라서 .el 파일만 있으면 확장 기능을 사용할 수 있는데, ELPA 이전까지는 통일된 .el 파일의 배포 방법이 없었기 때에 기능을 추가하려면 직접 파일을 (EmacsWiki나 github이나 다양한 방식으로) 다운받아야 하는 불편함을 감수해야 했다. ELPA는 이러한 흩어진 파일(= 확장 기능)들을 통합해서 받을 수 있는 기능을 제공하고 있다.
          * 사용
          * 강제 삭제 : d -> e(혹은 x)로 해당 패키지를 지울 수 있긴 한데 제대로 지워지지 않는 경우가 좀 있다(...). 그럴 경우는 해당 파일이 ELPA의 폴더 안에 들어가 있기 때에 ~/.emacs.d/elpa에 들어가서 해당 패키지의 폴더를 지워버리면 된다. 그 후 Emacs를 다시 기동해서 M-x package-list-packages를 보면 해당 패키지가 설치 항목에서 지워진 것을 볼 수 있을 것이다.
          2. 현제 emacs의 최신버젼은 24.*대이다. 그리고 이 버젼대의 emacs는 내부적으로 cedet이 설치되어있다고 한다. 이 cedet의 버젼과 ecb의 버젼 사이에 버그때에 ecb 환경설정을 하려하면 어려움이 많다. 열심히 삽질해서 알아본 결과 어떤 외국 신사분이 버그 fix후 report하기전에 반영이 늦을것같기에 미리 github에 올려두신 수정 버전이 있다.([https://github.com/alexott/ecb/]) 여기에서 ecb의 압축파일을 받는 것부터 시작을 한다.
         emacs 설정파일인 .emacs 혹은 init.el에 다음과같이 이어붙이면 사용할 수 있다.
         emacs 설정파일인 .emacs 혹은 init.el에 다음과같이 이어붙이면 사용할 수 있다.
         emacs 설정파일인 .emacs 혹은 init.el에 다음과같이 이어붙이면 사용할 수 있다.
  • PairProgramming토론 . . . . 25 matches
         from 동서버 위키.
         그리고 전가와 비숙련자가 pairing을 해도, 전가한테도 도움이 많이 됩니다. 예를 들어 변수이름 같은 것은 전가도 실수할 수 있죠. 이걸 지켜보던 비숙련자가, "어라.. 아까는 PrinterStatus라고 치더니 지금은 PrintersStatus라고 치시네요..."라고 하면, '아차!'하는 거죠. 또 비숙련자가 코드를 이해를 못해서 설명을 해주게 되면, 전가 스스로도 많은 공부를 하게 되고, 설령 그 사람이 그 설명을 이해를 못해도, "아 이런 부분은 이해를 잘 못하는구나. 앞으로 이건 더 쉽게 설명해야겠군"하고 잘못을 스스로에게 구하면서, 또 학습이 발생하죠.
         시간이 없어서 대충 간략하게 썼는데, 모르겠는 부분은 질해 주세요.
         한편, 보통 숙련자/비숙련자 가 pairing 할때는 한쪽 방향으로 프로그래밍 스타일 등의 무게가 치우쳐지기 쉽다고 생각하는데요. 보통 비숙련자인 사람이 수동적인 입장을 취하는 경우가 많기 때에.. 다른 한편, 숙련자인 사람이 마음의 벽을 넘지 못하는 우를 범할때에도 비숙련자인 사람이 '내가 저 사람보다 잘 모르니까...' 식으로 끌려가는 경우가 있을수 있다고 봅니다. (실제로 가끔 제가 '설명할 수 없는 부분은 혼란시켜라' 라는 말을 실천에 옮기는 경우가 종종 발생한다는.. -_-;;) -- 강석천
         겉으로 보기엔, 왕초보/왕도사의 짝은 상당히 비효율적일 것 같지요. PairProgramming을 한다고 해도, 왕도사가 키보드를 거의 독차지하고, 왕초보가 간간히 던지는 멍청한 질은 둘(정확히는 왕도사)의 프로그래밍 속도를 늦출 것이고요. 또, 아무것도 못하고 멍청히 지켜봐야만 하는 왕초보 역시 답답할 겁니다. 괜히 질했다가는 핀잔받기 일수이고. 둘 다 짜증나는 상황이죠.
         이런 상황에서는 SoloProgramming이 낫다는 말을 하고 싶을 겁니다. 왕초보는 왕초보대로 짜고, 왕도사는 또 자기 마음대로(full-speed로) 짜고. 하지만, 이건 기본적으로 잘못된 관점에서 오는 제입니다. 제대로 된 PairProgramming은 전체 팀은 물론 각 개인에게도 모두 이득을 줍니다.
         조금 장기적인 면에서 그리고 팀의 수준에서 생각해 보세요. 제많은 코드만 만들어내는 사람과, 남들이 이해하기 힘든 코드만 만들어내는 사람이 각자 나름의 코드를 만들어내는 팀의 전체 효율과, 항상 왕도사의 코치를 받는 왕초보와, 왕초보의 이해도에 맞추기 위해 노력하는 왕도사로 이루어진 팀(왕초보/왕도사 모두 "뭔가 학습"하는 것이 있게되죠)의 전체 효율. 어떨까요? 더군다나, 그 둘이 PairProgramming을 하면 할 수록 왕초보는 왕도사 수준에 근접합니다 -- 엄청나게 빠른 성장을 목격할 수 있죠. 굳이 초기 단계의 비용이 있다고 쳐도, 그건 일종의 투자로 봐야 할 겁니다. --김창준
         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이 약간의 도움이 되기는 할 것 같습니다. 그러나 우리가 현재 하는 방식에 비해서 얼마나 효율이 있을까는 제고해봐야 할 것 같습니다. - 김수영
         Pair 할때의 장점으로 저는 일할때의 집중도에 있다고 보고 있습니다. (물론 생각의 공유와 버그의 수정, 시각의 차이 등도 있겠지만요.) 왕도사/왕초보 Pair 시의 제점은 왕도사가 초보자가 coding 때에 이미 해야 할 일을 이미 알고 있는 경우 집중도가 떨어지게 된다는 점에 있습니다. Pair 의 기간이 길어지면서 초보쪽이 중고급으로 올라가는 동안 그 제들이 해결이 될 것 같은데, 아쉬운 점은 Pair 를 긴 기간을 두고 프로그래밍을 한 적이 없다는 점입니다. (하나의 프로젝트를 끝내본 역사가 거의 없다는.)
         XP 를 할때 이야기되는 것중 하나가 XP 로 궤도에 올리는 기간에 관한 제인데.. (아무래도 팀원들이 해당 지식들을 알아야 하니까..) 아직 이부분에 대해서는 저는 머리가 안굴러가네요. (아직 경험이.. 흐.) --석천
         ''서에서는 Pair-Programming에서 가장 중요한 것을 pair-analysis와 pair-design이라고 보고 말하고 있습니다.(좀 큰 프로젝트를 해 본 사람이라면 당연히 가장 중요하다고 느끼실 수 있을 것입니다.) 물론 pair-implementation도 중요하다고는 말하고 있으나 앞서 언급한 두가지에 비하면 택도 없지요.''
         pair-anaysis와 pair-design의 중요성을 서에서는 ''"Unanimously, pair-programmers agree that pair-analysis and pair-design is '''critical''' for their pair success."'' 이와 같이 말하고 있습니다. 또 다시 보시면 아시겠지만.. 제가 쓴 장은 "물론 pair-implementation도 중요하다고는 말하고 있으나 앞서 언급한 두가지에 비하면 택도 없지요."입니다. 택도 없다는 표현은 당연히 제 생각이라는 것이 나타나 있다고 생각되는데....
         pair-implementation과 pair-design, analysis에 대해서는 원래 논을 꼼꼼히 다시 읽어보길 바랍니다. 특히 각각이 구체적으로 무엇을 지칭하는가를 주의깊게 읽어주길 바랍니다. 또, XP에서처럼, 만약 세가지가 잘 구분이 되지 않고 별도의 design/analysis 세션이 없고, 코딩하는 자리에서 이 세가지가 동시에 벌어진다면 어떻게 될지 생각해 보세요.
         왕도사와 왕초보를 어떻게 정의하느냐에 따라 좀 다를 수 있겠습니다. 제가 늘 말하듯이 "전가"끼리의 PairProgramming은 일반적으로 성공적일 확률이 높습니다. 하지만 전가일수록 자신의 프라이드와 에고가 강하기 때에 PairProgramming의 장점을 충분히 이용 못하는 경우도 있습니다.
         또한, 모든 분야에 있어 전가는 존재하지 않습니다. 그렇다고 해서, 자신의 전 영역만 일을 하면 그 프로젝트는 좌초하기 쉽습니다. (이 말이 이해가 되지 않으면 Pete McBreen의 ''Software Craftsmanship''을 읽어보시길) 그 사람이 빠져나가 버리면 아무도 그 사람의 자리를 매꿔주기가 어렵기 때입니다. 따라서 PairProgramming을 통해 지식 공유와 팀 빌딩을 합니다. 서로 배우는 것, 이것이 PairProgramming의 핵심입니다. 그런데 "배운다는 것"은 꼭 실력의 불균형 상태에서 상대적으로 "적게 아는 사람" 쪽에서만 발생하는 것이 아닙니다.
  • STLErrorDecryptor . . . . 25 matches
         본 서는 [http://www.kwak101.pe.kr/kwak101/works/InternData/STLDecryptor_QuickGuide.html QuickInstallation For STLErrorDecryptor] 의 '''내용을 백업하기 위한 목적'''으로 만든 페이지입니다. 따라서 원 홈페이지의 자료가 사라지지 않은 이상 가능하면 원 홈페이지에서 글을 읽으셨으면 합니다.
         이하 원 홈페이지의 내용과 동일한 내용르 위키의 법으로 재구성한 것 입니다.
         VC++를 가지고 STL 프로그래밍을 하시는 분들이 가장 많이 느끼는 불편함(어느 플랫폼이나 마찬가지이지만)중 하나가 바로 "'''에러 메시지에 나타나는 STL 컴포넌트가 무엇인지 도통 모르겠다'''"라는 점일 겁니다. 이는 컴파일러가 STL 템플릿을 인스턴스화할 때 타입 매개 변수가 모두 포함된 상태로 전체 이름을 써 버리기 때에 STL 책에 나오지도 않는 클래스 이름과 템플릿 이름 등이 마구 튀어나옴은 물론이거니와, 인스턴스화한 클래스 이름 자체가 엄청나게 길어져서, 코드 한 줄에 대한 에러 메시지가 수십 여 줄까지 만들어지는 현상이 일어나지요.
         이러한 현상은 이펙티브 STL의 항목 49에서도 다루어진 이야기입니다. 원저자는 "많이 읽어서 익숙해져라"라는 결론을 내리고 있지만, 이 제를 도구적으로 해결한 방법도 있다는 언급도 하고 있었죠. 여기서 이야기하는 [http://www.bdsoft.com/tools/stlfilt.html STL 에러 해독기](이하 해독기)가 바로 그것입니다. 이 도구는 VC 컴파일러가 출력하는 에러 메시지를 가로채어 STL에 관련된 부분을 적절하게 필터링해 줍니다.
         역시, 잘 아시겠지만, 본 서는 읽으시는 분께서 Visual C++ 개발 환경과 C++ 사용에 불편해하지 않고 탐색기 화면을 두려워하지 않는다는 가정 하에 작성했고, 윈도우 환경을 최대한 사용하는 쪽으로 작성하였습니다. :)
         컴파일을 맡은 프로그램은 CL.EXE란 것인데, 이 프로그램은 C/C++컴파일러(C2.DLL+C1XX.DLL)를 내부적으로 실행시키는 프론트엔드의 역할만을 맡습니다. VC IDE는 컴파일시 이 프로그램을 사용하도록 내정되어 있습니다.
          * 펄 스크립트 인터프리터(PERL.EXE)가 사용 가능함
          * 해독기 패키지에 포함된 에러 필터 스크립트(STLfilt.pl)가 사용가능 함
         마) 별로 복잡해보이진 않지만, 제는 이 작업을 손으로 모두 해주어야 한다는 겁니다. 여기까지 다 읽으신 분은 이제 본으로 들어갑시다.
          * 펄 스크립트 인터프리터(Win32용) : 여기서는 ActivePerl을 사용합니다. (http://ww.activestate.coml)
          * MSVCP60.DLL : STL 에러 해독기의 컨트롤러가 사용하는 DLL입니다 (옵션).
          * CL.EXE : VC에서 사용하는 원래의 CL.EXE를 대신할 프록시 CL.
         다) 이젠 프록시 CL의 동작에 필요한 환경 옵션을 제공하는 Proxy-CL.INI 파일을 여러분의 개발환경에 맞게 고쳐야 합니다. 텍스트 편집기로 Proxy-CL.INI를 열면 아래의 [common], [proxy.cl], [stltask.exe] 부분이 모두 비어 있는데, 윗부분의 주석을 참고하면서 환경 변수를 고쳐줍니다. 반드시 설정해야 하는 옵션은 다음과 같습니다.
         가) STLfilt.zip의 압축을 푼 디렉토리에서 STLtask.exe를 실행합니다. 별 제가 없으면 아래와 같은 대화 상자가 뜹니다.
         여기서 "Enable Filtering"을 선택하면 그때부터 STL 에러 필터링이 가능해집니다. 그리고, 앞으로 STL 에러 필터링을 활성화하거나 비활성화할 때에는 이 태스크바의 아이콘을 사용하면 됩니다(Enable filtering/Disable filtering을 선택하면 되겠죠). 필터링이 활성화 되어 있느냐 그렇지 않으냐의 여부는 작업 표시줄의 아이콘 색깔( Upload:STLTaskActIcon.gif 은 활성화되었다는 뜻)로 확인할 수 있습니다.
          string s(10); // 컴파일 에러를 일으키는 장, 하나의 매개 변수를 받는 string 생성자는 할당자만을 받습니다.
         ''참고) VC++.NET을 사용하시는 분의 경우엔 컴파일 전에 반드시 /WL 옵션을 주어야 합니다. /WL 옵션은 모든 에러 및 경고 메시지를 한 줄로 표시해 주는 옵션입니다. VC++.NET은 소스 코드 한 줄에 대한 에러 메시지를 여러 줄에 걸쳐(\n자를 끼워넣어서) 표시하는데, 에러 필터링 스크립트는 에러 메시지가 한 줄로 되어 있을 때 재대로 동작하기 때입니다. 아래와 같이 프로젝트 속성 페이지에서 [C/C++]의 [명령줄] 항목을 선택한 후 /WL 옵션을 추가합시다.''
         = 서정보 및 출처 =
         서 정보
         원)http://www.kwak101.pe.kr/kwak101/works/InternData/STLDecryptor_QuickGuide.html
  • 데블스캠프2011/둘째날/후기 . . . . 25 matches
          * 겉모습에서 일단 코드가 나오지 않으니 확실히 잘 모르는 사람도 생각하기 쉬울 것 같습니다. 다만 반복 블록이 여러개로 나뉘어 있는데 비슷비슷해 보여서 좀 불편하기도 하더군요. 하지만 중요한건 언어의 사용법이나 형태가 아니라 만드는 사람의 실력에 달렸다는걸 만들면서, 그리고 다른 분들이 만든 물건들을 보면서 다시 한 번 느꼈습니다. 어릴 때부터 이런걸로 교육받고 자라면 코딩 잘하려나 -_-
          * [http://sdec.kr SDEC] 가느라 못 들었는데 나중에 다른 학우들이 한 걸 돌려보며 저도 다시 Scratch를 사용해봤습니다. 오랜만에 하니 재밌네요 ㅋㅋ
          * Hacking != Cracking. Cheat Engine, 자바스크립트를 이용한 사이트 공격? 툴을 이용한 Packet Cracking 등 개인적으로 무척 재미있던 세미나였습니다. 뭐... 사실 많이들 관심은 있지만 실제로 하는 걸 보는 건 흔치 않은 만큼 이번에 세미나를 볼 수 있었던 것은 여러모로 행운이었다고 생각합니다. 더군다나 질을 꽤 많이 했는데 선배님이 친절하게 답변을 해 주셔서 정말 감사했습니다. 웹 쪽은 이래저래 공격을 당할 가능성도 높은 만큼 나중에 그쪽으로 가게 된다면 관련 기술들도 배워둬야 하지 않을까 싶군요.
          * Craking이 우리가 보통때 말하는 Hacking이었다는걸 처음(사실 저번에 한번 들은거 같지만) 깨달았네요. 또, 이전까지 그런 툴을 만드는 사람들은 도대체 어떻게 만드는가! 싶었는데 어셈을 이용해서 만들곤 한다는 걸 보며, 음.. 좋군(?) 쇼핑몰중에 지금도 간단한 방법으로 털리는 곳이 있던데, 비밀번호까지 털 수 있다거나 하는걸 보니 정보보안의식에 대한 자각이 들었던거 같기도 하구요.(캐시 충전사건으로 제가 생긴적이 있다는걸 듣고 충격!) 뚫을 수 있는 사람이 막을 수도 있다고 하니 정보보안쪽을 공부해보고 싶다면 Craking에 대해서도 아는게 좋을거 같군요. 저는 처음보는 형이었는데, 형 세미나에서 많은걸 배울 수 있었던거 같습니다.
          * 리버싱 프로그래밍 하는 것을 보고, 패킷을 주고 받는 것을 얻어서 사용한다던지 또 웹에서 javascript injection으로 쿠키를 얻어서 그것을 사용할 수 있는 사이트에서 다른 아이디로 로그인 하는 것도 보았다. 정말 신기했지만 그렇게까지 하기 위해서는 무지하게 다양한 내용을 알아야 할 것 같았다.ㅜ
          * 이번 주제는 1학년 때 새싹 스터디 하면서 잠깐 보여주었던 내용을 다시금 보게 되어서 재미있었습니다. Cheat Engine을 직접 사용해 볼 수 있는 부분도 상당히 매력있었습니다. 많이들 듣던 해킹에 대한 정확한 정의도 알게 되었고 그 과정이 어떻게 되는지 조금이나마 알 수 있었던 부분이었습니다. 세미나에서 보여주고자 했던 게임이 생각되로 되지 않아 아쉽긴 했지만, 한편으로는 저렇기 때에 보안이 중요하다는 것도 다시금 생각할 수 있었습니다.
          * 씐나는 Cheat-Engine Tutorial이군요. Off-Line Game들 할때 이용했던 T-Search, Game-Hack, Cheat-O-Matic 과 함께 잘 사용해보았던 Cheat-Engine입니다. 튜토리얼이 있는지는 몰랐네요. 포인터를 이용한 메모리를 바꾸는 보안도 찾을수 있는 대단한 성능이 숨겨져있었는지 몰랐습니다. 감격 감격. 명5할때 명 5에서는 값을 *100 + 난수로 해놔서 찾기 어려웠는데 참. 이제 튜토리얼을 통해 어떤 숨겨진 값들도 다 찾을 수 있을것 같습니다. 그리고 보여주고 준비해왔던 얘제들을 통해 보안이 얼마나 중요한지 알게되었습니다. 보안에 대해 많은걸 생각하게 해주네요. 유익한시간이었습니다. 다음에 관련 책이 있다면 한번 읽어볼 생각이 드네요.
          * 나중에 식을 보고 다시 만들어봐야겠습니다. 제점이 쌓였군요 정말.
          * 수식은 어떤식으로 서를 분석하는건지 알것같은데.. 파일입출력을 제대로 못해서 시도조차 못해봤습니다.ㅠㅠ 기초 능력이 부족한 탓이네요, C로 train 파일을 입력받아 변수에 단어별로 저장하고 단어의 개수를 세는것까지는 했지만 그 이상은 하지 못했습니다.. 능력부족을 실감했어요
          * 가장 Brute-Force한 방법으로도 제를 해결할 수 있다는걸 보여준 인간승리!!!
          * Classification의 정확성을 높이기 위해 한글자나 특수자가 포함된 단어들을 제외시켰는데 오히려 정확도가 떨어져서 아쉬웠습니다. 인공지능 수업때도 느꼈던 것이지만 사람의 생각(아이디어)가 반영된다고 해서 더 성능이 좋아진다고 보장할 수는 없는것 같아요
          * Overflow. 도대체 어떻게 받아야하는거에요- 으ㅏㅇ아아 제는 이해했으나 "전혀" 제를 구현할 수 없어서
         를 이용해 서의 개수를 세는데는 성공! 나머진 내년 데블스캠프때....
          * 재작년에 인공지능 과목을 들었던 기억이 다시 떠오르네요. 인공지능을 아직 듣지 않은 학우들은 좀 더 어려웠을 것 같아요. 이번 시간에 짠 코드를 다른 여러 카테고리와 실제 웹서에 적용해보면 어느 정도로 서를 분류할 수 있을지, 실제 웹서에 적용시킬 때 정확성을 더 향상시키기 위해 어떤 방법을 사용할 수 있을지 더 공부해보고 싶습니다. 그리고 대책없이 급하게 짜다보니 코드가 너무 지저분해진 것이 아쉽네요. RubyLanguage로 다시 짜봐야지...
  • 루프는0부터? . . . . 25 matches
         첫번째 것은 0부터 번호를 매기고 !=를 사용하는데 반해, 두번째 것은 1부터 번호를 매기고 <=로 비교합니다. 반복횟수는 둘다 동일합니다. 두번째 것보다 첫 번재 것을 더 성호하는 이유가 있을까요?
         === 첫번째 이유 : 비대칭 적인 범위를 사용하기 때에 범위를 설명하기 쉽기 때이다. ===
         첫번째 for은 [0, rows)를 사용하는 것이 편하고, 두번째 for은 [1, rows]를 사용하는것이 더 편하다.
         보통 비대칭형 범위는 대칭형 범위보다 더 사용하기 쉽습니다. 왜냐하면 다음과 같은 중요한 속성이 있기 때입니다. [m, n)과 같은 형식의 범위는 n-m개의 요소들을 가지며 [m,n]의 형식은 n-m+1의 요소들을 가집니다. 따라서 [0, rows)에서 요소들의 개수는 직관적인데 반해, [1, rows]에서 요소들의 개수는 덜 직관적 입니다. 이러한 속성차이는, 특히 빈 범위의 경우에 더 뚜렷합니다. 만약 비 대칭형 범위를 사용한다면, 빈 범위를 [m,n)으로 표현할수 있지만, 대칭형 범위에서는 [n, n-1]을 사용해야 합니다. 범위의 끝이 시작보다 더 작을수 있따는 가능성은 프로그램 설계시 끝이 정의되지 않아 버리는 제를 야기 시킬수 있습니다.
         === 두번째 이유 : 루프 [불변식]을 더 쉽게 표현할 수 있기 때이다. ===
         지금까지 r개의 행을 출력했따고 표현할 수 있기 때입니다. 만약 1부터 번호를 매긴다면? 이제막 r번째 행을 출력하려는 찰나라고 정의할 수도 있겠지만, 그러한 구은 불변식으로 정당치 않습니다. 왜냐하면, while이 조건식을 마지막으로 검사할때, rows+1이 되기 때입니다. 이때 우리가 원하는 것은 rows행만을 출력하는 것 입니다. 따라서 우리는 r번째 행을 막 출력 하려던 것이 아닌 셈이 됩니다. 지금까지 r-1개의 행들을 출력했다고 불변식을 정의할 수도 있을 것입니다. 하지만 불변식을 그런식으로 정의 햇다면, r을 0부터 시작시켜 단순화 시키는 것이 더 낫지 않을까요?
         === 세번째 이유 : 비교를 위해 <=를 사용하는 대신 !=를 사용할수 있다는 것 입니다. ===
         조건식이 r!=rows라면, 루프가 끝날 때 r==rows라는 사실을 알수 있습니다. 불변식은 r개의 행을 출력했따는 사실을 말해 주기 때에, 정확히 rows개의 행을 출력했다는 것을 알 수 있습니다. 한편, 만약 조건식이 <=rows라면, 그로부터 알 수 있는 사실은 최소한 rows개의 행을 출력했다는 사실 뿐입니다. 따라서 그 이상을 출력했을 수도 있는 것입니다. 0부터 번호를 매기게 되면 정확히 rows번의 반복을 수행했는지 확실히 하고자 할 때, R!=rows를 조건식으로 사용할 수 있습니다. 또한, 반복횟수가 rows번 또는 그 이상이 되기만을 원한다면, r<rows를 사용할 수 있습니다. 만약 1부터 번호를 매기다면 최소 rows번의 반복만을 원할때 r<=rows를 사용할 수 있습니다. 하지만, rows가 정확한 숫자가 되도록 하려면 어떻게 해야 할까요? 그런 경우에는 좀더 복잡한 조건식인 r==rows+1과 같은 방법을 사용 할수 있습니다. 하지만 이렇게 복잡하게 해서 얻을수 있는 이득은 거의 없습니다.
  • 새싹교실/2012/AClass/3회차 . . . . 25 matches
         = 곽길 =
         #새싹과제.20105801 곽길
         1~5.www.koistudy.net 코이스터디 100번~104번까지 Accept받기(등업이 안되어 있으면 그 제의 소스를 저한테 보내주세요)
         10.LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         (rand()%1000을 한다면 1에서 1000까지의 숫자가 나올 것입니다.)
         11.Sort를 하나 구현해보세요. 11번과 같은 방법으로 숫자를 랜덤으로 넣은 후, 정렬하고, 정렬된 것을 출력하면 됩니다.
         - 다른 종류의 데이터를 하나로 묶어서 사용하는 데이터 결합법을 구조체라고 한다. 구조체는 같은 자료형을 묶어서 한다면 구조체는 다른 자료형을 묶어 사용한다.
         malloc을 한 후에는 free을 호출해서 메모리에 할당하였던 것을 풀어주어야 한다. 그렇지 않으면 메모리에 남겨서 필요할때 사용할수가 없다.
          printf("숫자를 입력하세요");
         1~5.www.koistudy.net 코이스터디 100번~104번까지 Accept받기(등업이 안되어 있으면 그 제의 소스를 저한테 보내주세요)
         -배열로 하는건지 아니면 for을 몇 개를 써야하는 건지 ㅜ,ㅜ
         10.LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         (rand()%1000을 한다면 1에서 1000까지의 숫자가 나올 것입니다.)
         11.Sort를 하나 구현해보세요. 11번과 같은 방법으로 숫자를 랜덤으로 넣은 후, 정렬하고, 정렬된 것을 출력하면 됩니다.
         프로그램이 실행되는 동안에 할당해야 하는 메모리의 크기를 결정지을 수 있기 때이다.
         이중 포인터는 싱글 포인터의 주소 값을 저장하기 위한 용도로 사용되는 포인터이다.
         11.LinearSearch를 구현해보세요. 배열은 1000개로 잡고, random함수를 이용해 1부터 1000까지의 숫자를 랜덤으로 배열에 넣은 후, 777이 배열내에 있었는지를 찾으면 됩니다. 프로그램을 실행시킬 때마다 결과가 달라지겠죠?
         (rand()%1000을 한다면 1에서 1000까지의 숫자가 나올 것입니다.)
         12.Sort를 하나 구현해보세요. 11번과 같은 방법으로 숫자를 랜덤으로 넣은 후, 정렬하고, 정렬된 것을 출력하면 됩니다.
         동적 할당에 가장 기번적으로 사용되는 것은 malloc함수이고, 이 함수를 사용하기 위해서는 "stdlib.h"헤더파일을 포함해야 한다
  • 이승한/PHP . . . . 25 matches
         원 : [http://www.apmsetup.com/php.php 초보PHP강좌]
          === query과 그 처리 ===
         $query = "select name, eng, math from score";//쿼리을 스트링을 저장한다.
         $result = mysql_query($query, $dbconn); //<결과값저장변수> = mysql_query(<쿼리저장된 스트링>, <DB접속정보>); //결과값은 2중배열의 형식으로 저장되는 듯.
          PHP 변수타입으로 자열을 지원한다. // 맞는지 모르겟네요. 대략 추정
          * addslashes(); //자열 변수를 리턴. 자열에 특수자가 들어있을때 /를 추가하여 준다.
          * htmlspecilchars(); //& " ' < > 등 HTML에서 사용하는 키워드를 다른 키워드로 바꿔준다. ex>& -> & " ->"
          * explode() // 자열을 특정한 자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
          * substr($변수, 시작점, 끝점) //지정한 길이 만큼 자열을 돌려준다. excel의 middle과 비슷. substr($string, 0, 5);
          * str_replace("찾을자열", "바꿀자열", $변수) // replace
          * ord() // 주어진 자의 ascii코드값
          * chr() // 주어진 ascii 값의 해당
         == 기초법 ==
          * 서의 시작과 끝
          * <? 와 ?>로 되어있다. (ASP는 <% %>를 사용하여 타이핑하기 불편하다.)
          * 화면에 자 뿌리기 : echo(" 내용<br>");
          === 변수의 종류와 사용 ===
          * 기본사용 : $변수이름의 형식이며 변수 타입은 존재하지 않는다. 객체를 이용하여 type을 지정할수는 있다.
          === 조건 제어 ===
          * break, continue
  • 코바예제/시계 . . . . 25 matches
         CORBA 애플리케이션이 어떤 것인지를 설정하기 위한 단순한 예제이다. 그렇기 때에 이 코드를 그대로 사용해서는 올바르게 동작하지 않는다. 구체적인 코드는 필요에 따라서 추가해야한다. 자신이 사용할 ORB의 종류에 따라 혹은 사용할 언어에 따라서 다르게 구성될 것이다.
         시간 객체에 대한 인터페이스는 ObjTimeServer이며 getTime()이라는 메소드를 가지고 있는데 getTime()는 자 형식으로 현재의 시간을 반환해 준다. CORBA 객체를 작성하는 첫번째 단계는 인터페이스를 만드는 것이다. 인터페이스는 IDL로 작성되며 인터페이스는 IDL 컴파일러로 컴파일된다. 이 IDL 컴파일러는 기본적으로 사용자가 이용하는(예를들면 VisiBroker) ORB에 포함되어 있는 것이다. IDL로 작성된 인터페이스를 컴파일하면 컴파일러는 두 개의 코드 파일을 생성해 준다. 이 코드 파일들은 각 IDL 컴파일러가 사용하도록 약정된 프로그래밍 언어로 되어 있다. 여기에서 사용하는 ORB는 Java ORB이므로 코드 파일은 Java(Stub, Skeleton)로 되어 있을 것이다. IDL 컴파일러에 의해 생성되는 코드는 프록시 객체(proxy object) 및 스켈레톤 코드이다. 클라이언트는 프록시 객체를 사용하여 IDL로 표현된 인터페이스 타입의 객체 레퍼런스에 대한 호출을 생성한다. 바꾸어 말하녀 프록시 객체는 클라이언트가 작업을 위해 사용하는 대리("stand-in") 객체인데 원격 객체가 마치 지역 객체처럼 보이게 해준다는 것이다. 스켈레톤 코드는 이러한 인터페이스를 지원하는 객체에 액세스하기 위해 사용된다. 생성되는 코드는 위치 투명성을 구현한다. 위치 투명성을 통해 객체 레퍼런스를 변환하여 네트웍 연결을 퉁해 원격 서버로 보내며, 객체 레퍼런스에 대한 오퍼레이션에 따르붙는 파라미터를 ["마샬링"]하고, 이를 객체 레퍼런스가 지시하는 객체의 현재 메소드에 전달하여 메소드를 수행하고 그 결과를 반환하려고 하는 것이다. 바꾸어 말하면 클라이언트는 IDL 컴파일러에 의해 생성된 프록시 객체를 가지고 작업을 하는데, 그것이 마치 지역 객체로 작업하는 것처럼 보일 것이라는 의미이다. ORB와 통신하는 것이 프록시 객체의 임무이며 ORB는 네트웍 연결을 관리하고 파라미터를 실제 서버 함수에 넘겨주며 결과를 리턴한다. 이런 식으로 수행에 대한 투명성을 유지한다.
         위의 IDL을 컴파일하면 스텁과 스켈레톤 코드가 생성된다. 컴파일러가 ObjTimeServer_Skeleton.java라는 이름의 파일을 생성하였으며, 여기에는 서버 쪽에서 사용되는 스켈레톤 코드가 들어 있다고 가정하자. 이제 이 IDL에서 지정된 인터페이스를 갖는 객체를 구현해야만 한다. 이 말은 서버 코드, 즉 구현을 작성해야 한다는 것이다. 그러한 구현 객체 클래스를 작성하기 위해서는 IDL 컴파일러에 의해 만들어진 스켈레톤 클래스와 결합해야 한다. 이 결합은 상속 또는 위임을 사용해서 이루어질 수 이다.
         이 클래스는 환경을 초기화하고, 구현 객체를 생성하며, 클라이언트가 구현 객체를 사용할 수 있도록하고, 이벤트를 받아들이는 일을 한다.
         위의 서버 코드를 컴파일하고 실행하게 되면 자열화된 IOR을 반환할 것이다. 이것은 단지 인수 전달용으로 사용된다.
         ["IOR"] : 00000012346121112444232....(상당히 긴 숫자임.)
         클라이언트 구현은 기본적으로 다음 세 가지 단계를 통해 이루어진다. 먼저 CORBA 환경, 즉 ORB를 초기화한다. ORB를 초기화한다는 것은 ORB 의사 객체(pseudo-object)에 대한 객체 레퍼런스를 얻게 된다는 것을 의미한다. ORB가 '의사 객체'라 불리는 이유는 그 메소드가 런타임 시스템과의 통신을 통해 라이브러리의 형태로 제공되며, 의사 객체 레퍼런스는 CORBA 인터페이스 오퍼레이션에 대한 파라미터로 전달될 수 없기 때이다. 그 다음 단계는 객체 레퍼런스를 얻는 것이다. 객체 레퍼런스는 불투명한 데이터 구조이다. 그러나 객체 레퍼런스를 자열로 바꿈으로써 지속성을 가지게 될 수 있다. 이것은 '객체 레퍼런스의 자열화'라 불리며, 그 결과 얻어지는 자열을 일컬어 '자열화 객체 레퍼런스'라고 한다.(IOR) 이 자열화 객체 레퍼런스는 원래의 "유효한" 객체 레퍼런스로 다시 바뀔 수 있다. 이 과정은 CORBA, 즉 ORB 인터페이스에서 정의된 두 가지 오퍼레이션 object_to_string()과 string_to_object()를 이용하여 이루어진다. 모든 CORBA 2.0 호환 ORB는 상호 운용 가능한 자열화 객체 레퍼런스를 실제 돌아가는 객체 레퍼런스로 바꿀 수 있다. 적절한 타입으로 객체의 범위를 줄이면 그러한 결과를 얻을 수 있다. 이러한 오퍼레이션을 'narrow'라 한다. ORB를 초기화하고 객체 레퍼런스를 얻은 후에야 CORBA 프로그래밍은 원래 의도한 표준 객체 지향 프로그래밍처럼 동작하게 된다. 클라언트가 객체의 메소드를 호출하게 되면, 실제로 그 메소드는 원격 객체와 함께 동작하지만 클라이언트가 보기에는 지역 객체와 함께 동작하는 것처럼 보인다.
         // 객체 레퍼런스를 얻어내는 부분, 여기에서는 클라이언트 프로그램의 첫번째 인수로 자열화 객체 레퍼런스가 주어진다고 가정한다.
  • AcceleratedC++/Chapter0 . . . . 24 matches
          main 함수의 리턴형은 ISO/ANSI C++ 표준에서 int로 정하고 있다. 리턴값은 프로그램이 아무런 에러 없이 종료되는 경우에는 0을 리턴하도록 되어 있고, 에러가 발생해서 종료한 경우에는 0 이외의 값을 리턴하도록 되어있다. 이 값은 OS로 돌려지는 값이기는 하지만 OS에서 이것에 따라 특별히 처리하는 것은 없기 때에 일반적인 경우에는 이 값은 아무런 의미가 없다. 이 값을 이용할수 있는 방법으로는 exec... 함수를 이용하여 프로그램을 실행해주고 받아오는 방법 등이 있다.
          C++의 모든 장(statement)은 계산 가능한 식이다. 컴파일러에서 에러를 찾을때도 계산 가능한 식인지 확인하여 장이 올바른 장인지 에러는 없는지 확인하게 된다. 예를 들어 다음과 같은 두 장이 있다고 하자.
          이런 장이 들어있는 C++ 프로그램을 컴파일 해 보면 에러가 날 것 같지만 에러가 나지 않는다. 왜냐하면 둘 다 모두 계산 가능한 식이기 때이다. 계산 가능한 식이라면 최종 결과가 존재해야 한다. 첫번째 장은 계산이 끝나있는 식이고 최종 결과가 100 이다. 두번째 장은 한번만 계산하면 계산이 끝나고 최종 결과는 4 이다. 그렇다면 다음과 같은 장은 계산 가능한 식이 맞는가?
          첫번째 장을 계산하면 a라는 변수에 10을 대입하면 되고 결국 남는것은 a밖에 없으므로 a의 값이 최종 결과가 된다. 두번째 장을 계산하면 std::cout과 "Hello World!!"를 왼쪽 쉬프트 연산을 하고 나온 결과가 최종 결과가 된다. 실재로 연산 결과가 std::cout 이고 이것이 최종 결과가 된다. 여기서 왼쪽 쉬프트 연산이 과연 std::cout과 "Hello World!!" 사이에서 가능한 것인가 라는 의을 갖게 될수도 있겠지만 C++에는 연산자 재정의(operator overloading) 라는 것이 있기 때에 이런것을 충분히 가능하게 만들수 있다고만 알고 넘어가기 바란다. 여기서 두번째 장을 자세히 알고 넘어갈 필요가 있다. 두번째 장도 앞에서 설명했듯이 계산 가능한 식이고, 결국 실행되면 계산이 수행되지만 그것과 더불어 일어나는 일이 한가지 더 있는데, 바로 표준 출력으로 "Hello World!!" 가 출력된다는 것이다. 이렇게 계산되어지는 과정에서 계산 결과와 더불어 나타나는 것을 side effect라고 한다. 첫번째 장과 같은 경우에는 side effect가 없다. 다음과 같은 두 장이 있다고 하자.
          여기서 첫번째 장은 b라는 변수의 값과 c라는 변수의 값을 더해서 a라는 변수에 저장하는 식으로 최종 결과가 a라는 변수에 저장되므로 이러한 장은 최종 결과만을 이용하기 위한 장이고, 두번째 장은 std::cout과 "Hi! C++"을 왼쪽 쉬프트 연산을 하여 side effect로 "Hi! C++"을 표준 출력에 출력하고 최종 결과는 특별히 따로 저장하지 않으므로 최종 결과에는 관심이 없고, side effect만을 이용하기 위한 장이다. 물론 예를 들지는 않았지만 최종 결과도 이용하고 side effect도 이용하기 위한 장도 있다.
  • CleanCode . . . . 24 matches
          * [http://dogfeet.github.io/progit/progit.ko.pdf git 사용과 관련된 pro git이라는 책의 한국어 번역본. 상당히 자세히 나와 있다고 하네요]
          * -List 라는 식의 이름을 지을 때는 정말로 List의 API들을 지원할 때에만 -List라고 붙여주는것이 좋다. 이름을 저렇게 지으면 -List의 API들을 지원할 것 같은 느낌이 들기 때에 아닐 경우에는 -s나 다른 방식으로 하는게 좋을 것.
          * 제를 들었을 때 테스트코드를 먼저 생각하는 습관을 들여야 할 것 같다. 제를 해결하는 코드를 먼저 짜려고 하면 결국 테스트코드 작성이 아니라 직접 테스트를 하게 되는 듯 하다.
          * 실제로는 쓰지 않는데 테스트를 위한 메소드를 추가하게 되는 경우가 있을 수 있지 않은가? -> java의 경우는 reflection을 사용하면 메소드의 추가 없이 처리가 가능한 경우도 있지만 그것보다도 테스트용 framework(mockito 등)를 사용하는것이 좋다.
          * String.append와 PathParser.render는 둘이 서로 자열을 합치는 작업을 하더라도 직접적인 연산을 하는 것과 추상적인 연산을 하는 것의 차이로 서로 추상화 수준이 다르다고 할 수 있다.
          * 함수 인자가 많아지게 되면 사용자가 인자들에 대해서 이해를 하기 힘들다.
          * 테스트 코드를 작성할 때 인자들의 조합 수에 따라 테스트 케이스가 늘어날 수 있기 때에.
          * 에러를 방지하거나, 처리하는 코드 때에 함수의 본 임무를 파악하기 힘들게 되면 안됩니다.
          * 산이냐 운이냐의 차이라는 생각이 듭니다. - [서지혜]
          - : 원래 올 계획이 아니었기 때에 필요한 노트북이나 책 등을 챙겨오지 못 했다.
          * 생성과 사용을 분리했을 시의 장점
          - 객체 사용 코드는 대개 application 레벨인 경우가 많은데, 객체 생성 방법이 바뀌어도 사용 부분은 그대로 유지할 수 있다.
          - Factory를 사용하기 때에 복잡한 객체의 생성이나 객체의 실제 모양을 숨길 수 있다.
          - application 단계에서 Factory를 통해서 직접 객체를 생성하기 때에 해당 객체의 생성 순간을 application에서 통제 할 수 있다.
          * Java Proxies : 객체 생성 시에 proxy를 거치게 하는 방법을 통해 해당 객체의 메소드 호출시 다양한 부가 작업들(횡단 관심사)을 처리할 수 있다. 다만 사용이 복잡하고 사용시에도 아래의 방법들에 비해 제한이 좀 있다.
          * 어떤 객체의 사용자에게 그 사용자한테 필요한 메소드만 있는 인터페이스를 제공하라.
          * 자바스크립트에서 지원하는 apply 함수와 arguments로 함수의 인자값을 받아올 수 있는 것을 이용해 외부의 라이브러리 사용 없이도 간단하게 proxy를 구현할 수 있다. jquery-aop 등의 외부 라이브러리도 있다.
  • Gof/Singleton . . . . 24 matches
         SingletonPattern은 다음과 같은 경우에 사용한다.
          * 단일 인스턴스가 서브클래싱에 의해 확장가능해야 할 경우. 그러면 클라이언트는 그들의 코드 수정없이 확장된 인스턴스를 사용할 수 있어야 한다.
          1. 클래스에 대한 접근이 오직 하나의 인스턴스에게로 제한된다. Singleton 클래스는 자기 자신의 단일 인스턴스를 캡슐화하기 때에, 클라이언트가 언제, 어떻게 접근하던지 그 접근이 엄격하게 제어된다.
          4. 여러개의 인스턴스를 허용한다. 프로그래머의 마음에 따라 쉽게 Singleton class의 인스턴스를 하나이상을 둘 수도 있도록 할 수 있다. 게다가 어플리케이션이 사용하는 인스턴스들을 제어하기 위해 동일한 접근방법을 취할 수 있다. 단지 Singleton 인스턴스에 접근하는 것을 보장하는 operation만 수정하면 된다.
          5. class operation 보다 더 유연하다. 패키지에서 Singleton의 기능을 수행하기위한 또다른 방법은 class operation들을 사용하는 것이다. (C++에서의 static 함수나 Smalltalk에서의 class method 등등) 하지만, 이러한 언어적인 테크닉들은 여러개의 인스턴스를 허용하는 디자인으로 바꾸기 힘들어진다. 게다가 C++에서의 static method는 virtual이 될 수 없으므로, subclass들이 override 할 수 없다.
         SingletonPattern 을 사용할 때 고려해야 할 사항들이 있다.
         1. unique instance임을 보증하는 것. SingletonPattern의 경우도 일반 클래스와 마찬가지로 인스턴스를 생성하는 방법은 같다. 하지만 클래스는 늘 단일 인스턴스가 유지되도록 프로그래밍된다. 이를 구현하는 일반적인 방법은 인스턴스를 만드는 operation을 class operations으로 두는 것이다. (static member function이거나 class method) 이 operation은 unique instance를 가지고 있는 변수에 접근하며 이때 이 변수의 값 (인스턴스)를 리턴하기 전에 이 변수가 unique instance로 초기화 되어지는 것을 보장한다. 이러한 접근은 singleton이 처음 사용되어지 전에 만들어지고 초기화됨으로서 보장된다.
         클래스를 사용하는 Client는 singleton을 Instance operation을 통해 접근한다. _instance 는 0로 초기화되고, static member function 인 Instance는 단일 인스턴스 _Instance를 리턴한다. 만일 _instance가 0인 경우 unique instance로 초기화시키면서 리턴한다. Instance는 lazy-initalization을 이용한다. (Instance operation이 최초로 호출되어전까지는 리턴할 unique instance는 생성되지 않는다.)
         약간 첨언을 하면, global/static 객체의 접근은 singleton들이 사용되건 사용되지 않건 간에 모든 singleton이 만들어지도록 한다는 것이다. static member function 를 사용함으로서 이러한 모든 제들을 피할 수 있다.
         2. Singleton class를 subclassing 하기 관련. 주된 주제는 클라이언트가 singleton 의 subclass를 이용할 수 있도록 subclass들의 unique instance를 설정하는 부분에 있다. 필수적으로, singleton 인스턴스를 참조하는 변수는 반드시 subclass의 인스턴스로 초기화되어져야 한다. 가장 단순한 기술은 Singleton의 Instance operation에 사용하기 원하는 singleton을 정해놓는 것이다. Sample Code에는 환경변수들을 가지고 이 기술을 어떻게 구현하는지 보여준다.
         이러한 link-approach 방법은 link-time때 singleton class 의 선택을 고정시켜버리므로, run-time시의 singleton class의 선택을 힘들게 한다. subclass를 선택하기 위한 조건들 (switch-case 등등)은 프로그램을 더 유연하게 할 수 있지만, 그것 또한 이용가능한 singleton class들을 묶어버리게 된다. 이 두가지의 방법 다 그다지 유연한 방법은 아니다.
         물론, 코드 어디에선가 클래스를 인스턴스화하지 않으면 생성자는 호출되지 않을 것이다. C++에서는 MySingleton의 static instance를 정의함으로서 이 제를 잘 해결할 수 있다. 예를 들어, MySingleton 클래스의 구현부를 포함하는 화일에 다음과 같이 정의하면 된다.
         자, 이제 MazeFactory의 subclassing에 대해 생각해보자. MazeFactory의 subclass가 존재할 경우, application은 반드시 사용할 singleton을 결정해야 한다. 여기서는 환경변수를 통해 maze의 종류를 선택하고, 환경변수값에 기반하여 적합한 MazeFactory subclass를 인스턴스화하는 코드를 덧붙일 것이다. Instance operation은 이러한 코드를 구현할 좋은 장소이다. 왜냐하면 Instance operation은 MazeFactory를 인스턴스하는 operation이기 때이다.
         새로운 MazeFactory의 subclass를 정의할때 매번 Instance 가 반드시 수정되어야 한다는 것에 주목하자. 이 application에서야 별다른 제가 발생하지 않겠지만, 이러한 구현은 framework 내에 정의된 abstract factory들 내에서만 한정되어버린다. (Implementation의 subclass 관련 부분 참조)
         가능한 해결책으로는 Implementation에서 언급한 registry approach를 사용하는 것이다. Dynamic linking 방법도 또한 유용한 방법이다. Dynamic linking 은 application으로 하여금 사용하지 않는 subclass 도 전부 load해야 할 필요성을 덜어준다.
         InterViews user interface toolkit[LCI+92]는 toolkit의 Session과 WidgetKit 클래스의 unique instance에 접근하지 위해 SingletonPattern을 이용한다. Session은 application의 메인 이벤트를 dispatch하는 루프를 정의하고 사용자 스타일관련 데이터베이스를 저장하고, 하나나 그 이상의 물리적 display 에 대한 연결들(connections)을 관리한다. WidgetKit은 user interface widgets의 look and feel을 정의한다. WidgetKit::instance () operation은 Session 에서 정의된 환경변수에 기반하여 특정 WidgetKit 의 subclass를 결정한다. Session의 비슷한 operation은 지원하는 display가 monochrome display인지 color display인지 결정하고 이에 따라서 singleton 인 Session instance를 설정한다.
         많은 pattern들이 SingletonPattern을 사용하여 구현될 수 있다. AbstractFactoryPattern, BuilderPattern, PrototypePattern을 참조하라.
         ["질"]
          * 제가 테스트 용으로 n-class singleton을 구현하려 합니다. 그런데 다음과 같은 제가 발생하는데 어떻게 해결해야 될까요?
  • Linux/디렉토리용도 . . . . 24 matches
         = 서 =
         ''이 책은 배포판에 의존적인 내용이 아니라 말그대로 리눅스를 그냥 쓰는 방법을 위주로 나오기 때
         리눅스의 디렉토리 구조를 이해하기 전에 마운트라는 개념을 이해해야할 필요가 있다. 리눅스는 모든 파티션을 /(이하 루트)에 포인터를 통해 연결한 마운트의 개념을 통해서 접근을 할 수 있다. 따라서 모든 디렉토리를 각기다른 장치 각기 다른 파티션에 나누어 넣어서 따로 보관할 수 있으며 데이터가 직접 보관되는 디스크를 따로 마운트해서 나중에 시스템을 다시 설치할때에 그 파티션만 지우지 않고 후에 마운팅하는 용도로 사용이 가능하다.
          * 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치한 디렉토리
          * /etc/skel : 새로운 사용자를 추가할 때 자동적으로 생성되는 디렉토리와 파일이 있음.
         아파치를 비롯한 모든 서버의 환경설정 파일이 관리 되는 곳이다. 물론 사용자가 직접 바이너리로 설치했을 경우에는 이 곳에 위치하지 않을 수도있다. 그러나 대부분 패키지 관리자를 통해서 설치된 프로그램의 경우 이곳에서 설정이 가능하다. 직접 설치를 하는 경우라면 '''X11, apache2, init.d, rc.*, skel, xinitd.d''' 디렉토리를 많이 다루게 된다.
          * /var/spool/mail : 수신 메일을 사용자 명으로 기록하는 디렉토리'''
         바이너리 파일의 경우가 아니라 실제 시스템이 운영되면서 변화하는 자료를 저장하는 부분이다. 웹 서버의 기본 루트디렉토리가 보통 이곳에 존재한다. (alias 된경우는 예외) 일반적으로 로그가 위치하기 때에 중요한 곳이다. 시스템에 보안 관계된 제나 크래쉬가 발생했을 경우 로그 분석을 통해서 원인을 분석한다.
          * 일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치.
         '''- 다른 장치들을 마운트 할때 일반적으로 사용하는 디렉토리
         - 다른 디렉토리를 사용하여도 됨.'''
         '''- 일반 사용자의 홈 디렉토리가 만들어 지는 디렉토리
         - 사용자 계정을 만들면 게정과 같은 이름으로 새로운 사용자 디렉토리가
         예) test 사용자 추가 후 홈 디렉토리 확인하기.
         root계정이외의 계정에 할당되는 곳이다. 서버의 사용자들을 이 디렉토리 및에
          * 슈퍼유저(root) 사용자의 홈 디렉토리.
         실제 파티션을 분할할때에는 어떤 목적으로 프로그램을 이용하는지에 대한 이해가 필요하다. 처음 설치하는 사용자의 경우에는 전체 파티션을 단일 파티션으로 잡고 설치를 해도 무방하지만 다중 사용자 계정을 지원할 용의가 있는 경우에는
         || /var || 5G/30G || 서버 시스템의 운영 상황에 대한 로그들 (syslogd, apache etc) 을 유지해야하기 때에 마찬가지로 넉넉하게 잡는 것이 필요하다. ||
         || /home || 10G/30G || 사용자가 몇명이나 이용할지에 대해서 대략적인 추정을 통해 할당한다. quota 기능을 이용하면 각 사용자별로 할당되는 공간을 지정가능 ||
         || /tmp || 500M/30G || 임시파일들이 저장되는 곳이다. Oracle DB의 경우 이 파티션이 적을 경우 설치시 제가 된다고 함. ||
  • OurMajorLangIsCAndCPlusPlus/errno.h . . . . 24 matches
         ||5||int EIO||입출력 에러;언제나 물리적인 입출력 에러에 사용됨.||
         ||6||int ENXIO||그런 장치나 주소가 없음. 시스템이 당신이 파일에서 설정한 장치를 사용하고자 하나 그러한 장치 를 찾을 수 없었다. 이것은 장치파일이 잘못 인스톨되었거나, 물리적인 장치를 빠뜨렸거나 또는 컴 퓨터와 제대로 부합되지 않았음을 의미한다. ||
         ||7||int E2BIG||인수가 너무 길다;실행함수에 의해서 실행되는 새로운 프로그램에 주어진 인수가 너무 큰 메모리 공간을 사용할 때.||
         ||10||int ECHILD||자식 프로세스(child process)가 없다. 이 에러는 자식 프로세스를 다루는 오퍼레시션을 사용했는 데 다루기위한 어느 프로세스도 존재하재 않을 때 발생한다.||
         ||11||int EAGAIN||자원을 일시적으로 사용할수 없다.; 그 호출은 나중에 당신이 다시 재시도 할수 있도록 한다. 오 직 분기점에서 이러한 이유로 EAGAIN에러 코드를 리턴한다.||
         ||16||int EBUSY||시스템 자원 사용중; 분배될 수 없는 시스템 자원이 이미 사용중일 때, 예를 들어: 현재 마 운트된 파일시스템의 루트에서 한개의 파일을 지우려 할 때에 이 에러를 만난다.||
         ||18||int EXDEV||파일시스템이 인지할수 없는 영역에 부적당한 링크를 만들려고 시도할 때 이 에러메세지가 나온 다. 이것은 링크를 사용할때만 발생하지만 또, rename으로 파일을 재명명할 때 발생하기도 한다.||
         ||22||int EINVAL||적합하지 않은 인수. 이것은 라이브러리 함수에 잘못된 인수를 주는것과 같은 종류의 다양한 제 를 지적하는데 사용한다.||
         ||33||int EDOM||도메인 에러; 인수의 값이 정의된 함수를 지나 도메인에게 전달되지 않았을 때 수학적 함수에 의해 사용된다.||
         ||39||int ENOLCK||유용한 락이 아니다. 이것은 파일 락킹 함수들에 의해 사용된다.||
         || ||int ETXTBSY||현재 사용되고 있는 파일을 다시 읽거나 쓰기위해 오픈하려 시도할 때 발생 ("text fiel busy" 라고 한다.)||
         || ||int ENOPROTOOPT||당신은 소켓에 의해 사용되어지고 있는 특별한 프로토콜에서 이해할수 없는 소켓옵션을 지정하였다.||
         || ||int EAFNOSUPPORT||소켓을 위하여 지정된 주소의 부류들이 지원되지 않는다; 그 주소가 소켓에서 사용되는 프로토콜과 일치하지 않는 것이다.||
         || ||int EADDRINUSE||요청된 소켓주소가 이미 사용중이다.||
         || ||int ENETRESET||원격 호스트가 파괴되었기 때에 네트웍 연결을 다시 지정한다.||
         || ||int ENOBUFS||입출력 오퍼레이션을 위한 커널의 버퍼들이 모두 사용중이다.||
         || ||int ECONNREFUSED||원격 호스트가 네트웍 연결에 대한 허용을 거절하였다. (특별히 요청된 서비스가 실행되지 않기 때 에)||
         || || ||참고로 sysbolic links는 데이터베이스 프로그램과 스프레드 시트 등과 같은 프로그램들 사이에서 상호 간의 원활한 데이터 교환을 위해 사용되는 데이터 파일의 형식||
         || ||int EDQUOT||사용자의 디스크 할당이 초과되었다.||
         || ||int EBACKGROUND||GNU 시스템에서 어떤 오퍼레이션의 호출자가 터미날의 전면처리 그룹에 없을 때 서버지원 프로토 콜에 이 에러가 리턴된다. 사용자들은 보통 이 에러를 보지 못하는데 왜냐하면 함수들은 SIGTTIN 이나 SIGTTOU신호로 해석하여 읽고 쓰기 때이다.||
  • ProgrammingPartyAfterwords . . . . 24 matches
         금요일, 토요일, 토요일 밤 약간 깊숙히 - 이번 심사와 Mentor 역할을 맡은 김창준, 채희상, 강석천은 임시 위키를 열고 제 만들기 작업 관련, Moderator 로서의 역할을 정했다.
         "자 날려보면 되겠죠. 희상이가 친구 핸폰 번호 주면서 자날리면 전화한다고 했어요. (툭 툭툭...)"[[BR]]
         1시 40분 경 을 열고 들어오는 이가 오늘의 Mentor 중 한명인 김창준씨와 신제용씨였다. 그들은 오늘 프로그래밍 파티의 경기 규칙이나 룰, 시간 같은것을 말해 주었다. 2시 10분경 상협군이 헐러벌떡 뛰어 왔다. 쫌 전에 창섭이와 혁기도 왔다.
         2시가 조금 넘어서 파티를 시작했다. ZP팀 중에 불참 인원이 두 명이 있어서 인원 조정을 했다. 그 결과로, 다음과 같은 배정이 되었다. 각 팀에는 한 명 씩의 멘터(도우미)가 붙었다. 그들은 제 해결에 관련된 직접적인 조언은 피하고, 개발 과정이나 여타 제에 대한 도움을 주기로 했다.
         모두 리눅스에서 개발을 했고, MOA팀은 C+ViImproved 를 사용했고, ZP#1, ZP#2는 모두 Java+["Eclipse"]를 사용했다.
         다음으로는 요구사항에 대한 해설이 있었다. 당시의 제는 http://no-smok.net/seminar/moin.cgi/ElevatorSimulation 에 가면 볼 수 있다.
         먼저 ZP#1팀은 Mentor 채희상씨와 함께 요구분석을 시작하였으나 어떤 방법으로 이루어져야 하는지 어떤 형식으로 하여야하는지 서로 명확히 몰랐기 때에, 아무도 말을 하지 않고 있었다. 희록님이 생각하기에 '이렇게 아무말도 없다면, 시간만 흘러가게 될 것이다. 내가 약간 분위기를 만들어야겠다'는 생각을 했다. 그래서 "자 우리 모두 자기가 생각하는 요구사항을 말해보기로 하자"라고 하였고, 우리는 서로의 요구사항에 대한 논의가 있었다.
         시간이 좀 흘렀을 때, 희록님의 생각은 '우리 모두 이 프로그램을 짜는데서 왜 알고리즘이 사용되어야 하는지 모르고 있다. 이는 제를 제대로 파악하지 못했다는 것을 의미한다' 라는 생각을 하였다. 그 때, 누군가가 입력 형식에 관해서 Mentor에게 물었다. 하지만 아쉽게도 입력형식에 대해서 명확한 답을 얻을 수는 없었지만, 몇가지 새로운 사실들을 알수 있었다. 하지만 진행은 계속 지지부진하게 되었다. 희록님은 다시 그것을 깨고자 "CRC카드를 한번 사용해서 제를 다시 한번 생각해보자"라고 하였다. 우리는 CRC카드를 작성하기 시작하였고, 우리가 CRC카드를 이용해서 시뮬레이션을 실행해보고서는 요구사항을 분석하는데는 크게 도움이 되지 않았지만, 우리가 프로그래밍시에 어떤 객체들이 필요할지와 그 속성들에 대해서는 약간 명확해졌다.
         그 때쯤인가, ZP#2팀의 Mentor이신 김창준님이 '슬쩍' 오셔서 Design이 잘 떠오르지 않는다면, 비슷한 아키텍쳐를 가진 제를 풀어서 그 아키텍쳐를 재사용해 보라는 말씀을 하셨다. 하지만, 우리 팀원중 아무도 그것에 대해선 이후에 언급하지 않았다.(묵살되었다. --) 그러다가 우선 요구분석에 대한 이해를 높이고, 디자인을 상세화하기 위해서(디자인->코딩->디자인->코딩 단계를 반복하였다.) 코딩을 시작하기로 하였다. 상협군과 인수군은 매직펜을 맡았고, 희록군은 키보드를 맡았다. 희록군은 Unix환경에서의 Eclipse의 작업 제로 인해 심각한 스트레스를 받고 있었다. 그러다가 컴퓨터를 한번 옮겼으나 그 스트레스를 줄이진 못했다. 아무래도 공동으로 프로그래밍 하는거에 익숙하지가 않아서 좀 서투룬 감이 있었다. 그래도 해야 겠다는 생각을 하고 제의 요구 사항을 분석하고 어떻게 설계를 해야할지 의논했다.
         이 때 ZP#2팀은 Mentor 김창준씨가 지켜보는 가운데 바로 요구사항 분석에 들어갔는데, 이를 보던 김창준씨가, "저라면 시간 계획을 먼저 세우겠습니다"라고 말을 해서 그들은 이에 동의하며 시간계획을 먼저 짰다. 20 분 정도를 요구 분석, 다음 20분을 디자인, 그리고 남은 시간엔 구현과 디자인 반복하기로 계획을 세웠다. 구현, 디자인 반복을 하는 방법은 멘터의 조언에 따라 두명이 짝으로 구현, 나머지 한명은 디자인 다듬기로 하였다. 팀원은 긴장한 채로 제에 집중하려 애썼다.
         요구분석을 마치고 디자인을 하기로 한 시간이 되었기에 팀원들은 한 테이블에 모였다. 그리곤 CRC 카드를 이용해서 디자인에 들어가기 시작했다. 암묵적으로 ["구근"]님이 ZP#2의 무게중심이 되어서 디자인 회의가 시작되었다. 어떤 클래스들이 필요한가, 어떤 이벤트를 누가 발생시키고 그 이벤트를 누가 알아야하는가에 대한 이야기가 오가는 가운데 ["데기"]는 제파악 조차 제대로 안되어서 무척 혼란스러웠다. 서로 요구분석 이해에 차이가 있었음에도 불구하고 디자인은 계속 진행되었고, 시간은 계속 흐르고 흘러서 구현을 시작하기로 한 시간을 훌쩍 넘어버렸다.
         '오.. 대화진행속도가 빠르다!' 1002 가 본 moa 의 마치 평소 손발을 맞춰본 팀같았다. 근데, 토론하는 것을 들으면서 1002가 생각하기엔 '음.. 근데, 너무 초반에 Algorithm-Specific 하게 생각하는게 아닐까. 일단은 제를 간단한 제로 분해하는(보통 1002가 'Design' 을 간단하게 정의하라고 할때 저렇게 표현한다.) 과정이 더 중요할것 같은데'
         각 팀별로 전지에 자신들의 디자인을 표현하고 모두에게 그 디자인에 대해 설명하는 식으로 발표를 하였다. 각 팀별 디자인의 특징을 볼 수 있었다. '뭘 잘못했느냐?'가 아니라 '어떻게 해야 잘할 수 있었을까?'와 같은 '올바른 질'을 던짐으로써 더 배울 수 있다는 것을 확인할 수 있었다. 그리고 발표할때 What 과 How 를 분리하고 What 만을 전달해야 한다는 것이 중요하다는 것을 관찰할 수 있었다.
          * Seminar:ElevatorSimulation 제, 일반적인 discrete event simulation 패턴 소개 등
  • ProjectVirush/Idea . . . . 24 matches
          세균 키우기..... 이른바 '실시간 멀티 온라인 게임' 이다. 이걸 만들기로 결정하는 순간 우리는 커다란 제에 직면하였다! ;;ㅁ;;
          첫째 '실시간'이다. 실시간으로 돌아가는 프로그램은 커다란 제약을 가지게 된다. 무엇보다 '슈퍼 울트라 복잡한 연산을 해서는 안된다.'는 것이다. 맵이 너무나도 큰 나머지, 또는 맵을 검색하는 알고리즘이 너무 자세한 나머지 "왼쪽 끝에서 오른쪽 끝까지 이동하도록 명령하니 1분동안 길을 찾느라 멈추었어요." 라는 소리를 들어서는 안된다. 물런 이런 과장된 일은 없겠지만, 실시간으로 진행되는 만큼 끊김없이 느껴질 수 있는 부드러운 연산이 가능해야 한다는 것이다. 더욱이 멀티플레이인 만큼 이 제는 더욱더 중요해 진다. 플레이어 1이 복잡한 연산을 수행시켜버렸다고 해서 플레이어2까지도 버벅되서는 조금 곤란해 진다. 이러한 제를 감안해서 어떻게든 연산을 빠르게 만들어야 한다.
          또한 실시간이라는 점은 사용자가 접속하지 않아도 돌아가는 것을 의미한다. 사용자가 하루, 이틀 쉬었다가 접속하였을때 플레이어의 바이러스들이 전부 죽어있는 광경을 연출해서는 안된다. 그렇기 때에 바이러스들은 플레이어가 없어도 꿋꿋하게 살아나갈 수 있는 인공지능을 가지고 있어야 한다.
          둘째 '온라인 멀티'플레이이다. 한명의 사용자가 접속해서 사용하는 것이 아니기 때에 여러명이 접속해서 사용하게 된다. 그러한 만큼 여러 플레이어가 행동을 한다는 것을 염두에 두어야 한다. 한명 한명에게는 적절한 난이도이지만, 협동을 하니 난이도가 대폭 하락해서 금새 이길 수 있었다 라던가 하는 이야기가 나와서는 안된다.
          이 제는 위의 '실시간'이라는 점과도 연계가 된다. 다른 플레이어들이 잠자러 간사이... 올빼미족의 한 플레이어가 나타나서 전 플레이어의 바이러스를 사살해 버리고 도망가 버린다거나, 타 플레이어의 바이러스를 포위해 버려서 더이상 증식이 불가능하게 만드는 난처한 상황이 발생해서도 안된다. 물런 '상대방의 바이러스를 사살할 수 있다.' 와 같은 규칙은 정해진 바 없지만, 다른 플레이어가 자리를 비웠을때 한 플레이어가 다른플레이어의 캐릭터에게 영향을 미칠 수 있다는 점도 고려를 해야한다.
          13. 바이러스도 서로의 DNA를 바탕으로 서로를 알아보기때에 이를 수정해서 타 플레이어와 동맹을 취하거나 숙주의 세포로 위장할 수 있다. (H)
          (동맹을 취하기 위해 같은 일부 DNA를 같게 만든다면 이익을 볼 수도 있지만, DNA가 같아서 다형성이 떨어지기 때에 백혈구로 부터 다같이 죽을 수도 있다.)
          ( 숙주가 너무 많아질 경우 서버가 감당하기 힘들 수 있기 때이다. )
          전체적으로 플레이어가 고생하는 요소가 많지만.. 이는 플레이어가 너무 똑똑하고 돌발적이기 때이다..ㅠ.ㅜ 플레이어를 저지하기 위해 AI들이 살포시 치트를 한다고 해도 뭐라하진 않겠다.^^ (단, 티내지 말것! 플레이어가 백혈구에게 들키지 않기 위해 구석에서 가슴을 조리며 은둔 생활을 하는것도 묘미!)
          게임의 요소는 뽀대(?)와 흥미 이기때에 뭔가 AI가 있어 보이고 플레이어가 고생을 하지만, 그래도 뭔가 보람있는 플레이를 하도록 노력을 했습니다.^^
          플레이어는 DNA를 사용해서 자신의 바이러스의 알고리즘을 만들고.. 백혈구는 자신의 DNA를 DNA알고리즘으로 진화시키고.. DNADNA...GATACA인가;;ㅁ;;
         0,1 이2가지 숫자로 죄다 암호화
         제일 앞에있는 숫자인 0010 이라는 암호를 알아내야 이 바이러스를 사살할수있다.
         그냥 세균녀석 인공지능부분을 제외한 외관(?)의견이였슴미다. -_-;;
          페로몬 방법에서는 사용자가 홀로 떨어진 백혈구를 습격하고 도망가는 게릴라 수법을 쓴다면 당해내지 못할 것 같기도 하네요. 일단 알려진 바이러스는 다음번에 무조건 잡을 수 있게 하는 걸까요?
          - 어제 지방에 있어서 학교를 못갔어요 ;; 죄송함미다 -_-;; 암튼 첫번째 제는 약간 난해 하네요 '~' 여러 의견을 조율해야 할듯 ;ㅡ; 백혈구를 일정범위 안에 있는 것들만 검색이 가능하게 한다던가 아니면 하이딩이 가능하다던가 (;;;) 하는 방법이 가장 먼저 떠오릅니다만 게임이 조금 어려워질 우려가 있네요 -_-;
          사용자가 백신역할을 하는 사용자를 두는 방법도 있겠고, 게임 안에서 NPC나 거꾸로 생각해서 바이러스가 퇴치해야 하는 적으로 생각할 수 있겠네요. -- [Leonardong]
  • VisualBasicClass/2006/Exam1 . . . . 24 matches
         OCU 중간 고사
         1. 비주얼베이직에서 숫자를 표기하는 방법은 10진법, 8진법, 16진법으로 나뉘어진다. 이 중 10진법은 특별한 표기(기호)없이 사용이 가능하다. 하지만 8진법과 16진법은 '?O'와 '?H'로 표기한다. 이때 ?에 들어갈 기호는 무엇인가 (1점).
         ① Alignment는 텍스트 박스 안의 자열을 정렬한다.
         ② ScrollBar는 수평, 수직, 양방향 모드가 있으며, 여러 줄을 사용하는 속성을 설정할 경우, 사용할 수 있다.
         ③ Text속성은 글자를 입력받는 속성으로 단축메뉴(popup menu)를 사용할 수 있다.
         ④ MultiLine은 컨트롤이 의 여러 줄을 받아 들일 수 있는지 여부를 결정하게 된다. True는 한줄을, False는 여러줄을 사용할 수 있다.
         리스트 박스는 여러개의 선택사항을 제공한다. 이 때 리스트 박스 항목 선택은 값이 ? 일때선택 유형이 확장된 다중 선택으로 'Shift + 누름' 또는 'Shift + 화살표 키'를 사용할 수 있다.
         ② 사용자에게 제공되는 인터페이스 옵션을 중심으로 설계가 이루어진다.
         ④ 이벤트 중심의 프로그래밍 방식을 사용한다.
         D) 사용자 인터페이스 설계 및 구성
         E) 서화 및 유지 보수
         9. 다음 프로그램은 입력된 자열을 역순으로 나타내는 프로그램이다. 괄호안에 알맞은 것은?(4점)
         ① 지명 인수를 사용하여인수를 서브프로그램에 전달할 때는 반드시 파라미터의 순서대로 기술하여야 한다.
         ② 인수들을 서브프로그램에 모두 다 전달하기 부적절한 경우에는 Optional이란 키워드를 사용하면 효과적이다.
         ④ 일반적으로 함수 이름이 F_Name일 경우, 이 함수 내부에는 F_Name = 식 형태의 할당이 있어야 한다.
         ③ 접근키를 사용할 수 없다.
         입력자 : 비주얼_베이직_프로그래밍
         a = inputbox(“입력자”)
         제의 난이도는 쉬우나 중간중간 함정이 있기 때에 한번씩 돌려보고 답하는 것이 좋다. -_-;
         인터프리터이다 보니 평소에 많이 짜지 않는 이상 함수 하나하나의 특징을 잘 모르기 때에...
  • Z&D토론/통합반대의견 . . . . 24 matches
         나는 이 제, 통합과 분할의 제에 있어서 한걸음 뒤로 물러나련다.
         제는 개개인 각자가 하고자 하는 생각과
         합치냐 안합치냐의 제는 아닌듯합니다.
         모든 다른 제는 차치하고서, 현재의 가장 큰 제가 무엇일까를 생각해보자.
         모임은 다 마찬가지다. 데블스도,, 다른 모임과 다른 무엇이 있었기 때
         다닐때 사회제에 대해 연구하는 모임이 있었는데(이름이 기억안나는데,
         결국 세미나들은 계속 쫑나고, 몇사람들 때에 많은 시간들이 무의미하게
         사람들은 떠나기 때에 경험이 쌓일 새가 없다. 이를 극복하는 유일한
         현재의 닥친 제들을 해결하는 방법을 찾는 과정은 현재와 미래에만 있는
         것이 아니라, 과거에도 분명히 있다. 과거는 미래를 투영하기 때이다.
         때이다. 순간적으로 다른 모습을 보일 수는 있겠지만, 그게 얼마나 가줄까에
         대한 우려가 없지 않다. 그것이 지난 과거들이 보여준 모습들이기 때에,
         또 지난 시간들이 바꾸어놓은 우리의 화이기 때에 새로운 화를 끌어
         그러나,, 만일 그것이 가능할 것이라면 통합의 제가 아니라, 그 이전에
         개인들에게는 너무나 소중한 자신들의 인생이기 때에 그렇게 하기를
         사실, 그 세미나를 할 상황만 해도,, 내가 대학원에 있었기 때에 밤이
         못했을 만한 세미나이기 때에 신선하고, 자신의 한계에 도전해볼만 하고,
         일주일간 안잔다고 죽지는 않는것 같다. 또 인간은 자신의 보호본능때
         -- 나 일해야 하기 때에 잠시 쉰다.--
         통합된 후의 모습은 무엇일까. 데블스가 다시 제로페이지내의 소모임이 될리는 없다. 그건 통합의 의미가 없는 것이기 때이다. 결국 둘간의 완전한 통합이 된다. 데블스의 "색깔" 밤샘 세미나만 존재하는 제로페이지이다.
  • ZeroPageServer/AboutCracking . . . . 24 matches
          * 제 제기 : 한달후에 전산센터->용철 로 보안 권고 ip block
          * 분석 : 세팅 과정에서 설치를 위한 wu-ftp 패키지 서비스를 한달간 제공하였는데, 설치 제로 가장 자주 사용할 NeoCoin 이 걸려 든것 같음
          * 해결 : 해당 프로그램 갈무리, NeoCoin 의 암호 변경, wu-ftp 서비스 제거. 그 이후 제 상황 사라짐
          * 2003-01-06 : 전산센터에 의하여 ip 풀고, 서버 점검, 정확한 제는 찾지 못함.
          * 대응 : 서버를 rebooting 후에는 제가 특별히 발생되지 않음
          * 2003-02-10 : [http://www.kisa.or.kr/ KISA] -> 전산센터 -> 용철 -> 정희록(["nautes"]) 경로로, 제 제기 Server shutdown
          * 2003-02-13~15 : 제 분석, 토론
          * 2003-02-08, 09 즈음에 squid 를 이용한 proxy 서비스를 제공했다는 것을 기억. spam 샘플 몇통중 해다 suqid 사용 계정 id가 있었다는 점 기억 -> squid 동작 이후 spam신고 접수 된 것으로 가정
          * 해당 프로그램 테스트. 제 상황을로 보이는 상태 발견
          * '''증상 : 개인 개정에 기본 설정의 설치된 squid 2.4 stable tar 의 proxy 서비스를 최초로 사용한 후 얼마 지나지 않아, 알수 없는 메일 서버로(port 25) 데이터가 날아가는 mail rely 증상 보임 '''
          * ["1002"]가 squid 관련 제로 서 발견. 그 동안 Server의 비교적 잦은 rebooting 때제가 드러나지 않았음.
          * 2003-02-15~ : squid 로 결론, 서 정리 이후 감시
          * 개인 차원에서의 관리자가 모르는 지속적인 서비스의 위험성. 만약, squid 를 몰랐다면, 이 제는 다시 한두달 갔을 것 같다.
          * 제 : 서버를 가동하고 나서 얼마 후에 spam 메일이 지속적으로 발송된다.
          * 제가 위의 말을 정확하지 않게 썼습니다. 그리고, 동희씨의 말씀대로, ''소스로 설치했다면 모르겠네요.'' 에 해당 합니다. 상대의 smtp port 25으로 데이터가 전송되고 있다는 것이었습니다. 그럼 어디선가 이 서버의 squid 기본 세팅 포트로, relay 를 계속하고 있다는 의미도 되는것 같군요. 혹은, 8080이나, 80을 사용한다는 것인데 각각, resin 과 apache가 사용하고 있어서 잘 모르겠습니다. 제가 이런 분야의 지식이 부족해서요. --NeoCoin
          그렇다면, 이 제가 원인이 확실한것 같군요. 테스트상 port 를 바꾸자, 정상적으로 동작하는 state 를 보여주었거든요. --NeoCoin
          * 만일 현재의 squid 가 Cracking상태라면, squid 의 셋팅을 수정하더라도 여전히 똑같이 제가 발생해야 정상일 것이다. 그런데 셋팅 변경후 그 발송되는 상태가 사라진다는 점이 더욱더 상황을 혼란스럽게 한다. 재미있는 점은, 그럼에도 가장 명확하게 기본 포트의 상황에서, 다른 메일 서버로 메일을 가는 것이 보인다는 점이다.
          * 서버가 몇번 정전을 맞은 이후, squid 를 실질적으로 사용한 예는, 일요일 이다. spam이 뿌려진 정확한 날짜를 알면, 비교 할수 있지 않을까?
  • ZeroWiki에서 언어습관 . . . . 24 matches
         강호동도 여기 끼면 안될까요?? 주점때에 참석을 못했었는데..
         이 예제는 이모티콘이나, 자음, 모음만 사용한 예제 중 양호한 편입니다. 이러한 언어 습관은 작년(2003) 보다 올해(2004)가 두드러 지는것 같은데, 이런 현상에 대하여 어떻게 생각하시나요?
         요즘 제로위키 글을 읽다보면, 전자라서 읽다가 그만두는 경우가 종종 발생합니다. 심하게, '글쓴이가 글이 남에게 읽힐때의 고민이 전무하다' 라고 표현할까요? 읽다 보면, 기존에 쓰여진 글들이 매우 딱딱한 장이 아님에도 채팅과 같은 글들이 밑에 있어서, 딱딱하게 보입니다. 기말고사 시험지에 써있는 낙서, 생각의 흔적들이랄까요? 묘하게 배치된 글들을 보면서, 시간과 공간의 경험이 서로 다른 사람들의 생각과 글들이 융화되기가 참 힘들다는 생각을 가집니다. --NeoCoin
          지적하신 내용에 공감합니다. 기존 사용자 층의 글이 자연스럽게 줄어들고, 새로운 사용자 층이 증가하면서, 형성되는 언어습관이 재미있어서 주목하고 있는것 이지요.
          단의 내용이 확인을 부탁하는 것 같아서 답변 답니다.(그렇지 않다면, 중복 단의 존재 이유가 없겠지요?) 전자의 장은 잘 정리하셨습니다. 허나, ''앞으로 이모티콘이 가득한 위키라는 특별한 색깔을 [제로위키]가 가지리라는 의견이시고요.'' 에는 전체 긍정을 할수 없습니다. 아직 예단할수는 없지요. '가득가득'이라니요. 내년 신입 회원이 기대되기는 하지만요. --NeoCoin
          이것이 지켜진다면, 당연히 [제로위키]의 글도 표준어, 서술형식으로 수렴할 것입니다. 두 가지 이유 가운데서도 과거 글을 - 오래되면 오래 될 수록(?) - 타인이 잘 안 고치는 경향이 있습니다. 건드릴 엄두가 나지 않지요. 따라서 새로 만드는 페이지에 주로 글을 쓰고, 새로 만드는 페이지가 주로 생기기 때에 새로운 언어습관이 관습화된 것 처럼 보인다고 생각합니다. --[Leonardong]
          * 예, 꾸준히 제기되는 제입니다. 과거 글이 읽히는 것까지 위키라는 시스템이 책임지지는 않지요. 이제 [제로위키]도 2000페이지가 넘었고, 각 페이지당 A4 한장이라고 생각해도, 1000장의 두꺼운 사전이니까요. 휴~, 그 중 우리가 읽고 키울것은 많게 잡아도 20% 내외 일것입니다. (200~300 페이지) 당장 사용하는 것은 10% 정도? 그러나 위키 시스템의 철학적인 면에 대한 학습과 토론의 장이 전무한 상황에서 당연한 결과 같네요. [위키요정]과 NoSmok:서구조조정 NoSmok:WikiGardening 등의 노력이 적은게 아쉽습니다.
          * 새로운 작업에 대한 '서화' 경향이 적습니다. 학기중에 익힌 지식들을 서화하기 어려울수 있죠. 작년도 비슷했던 것 같습니다.
          * [제로위키]가 태어나고 1년즈음에 이르로 이러한 제가 본격 제기되었습니다. 새로운 회원들에게 진입 장벽을 낮추기위해 위키의 계층을 도입해 개인화 페이지를 권장하면서 제가 제기되었지요. 새로 만드는 것은 좋습니다. 허나 이를 지식으로 가공하는 것은 [위키요정]들의 몫입니다. 위키철학을 공유하고 모두 함께 진행하는 해결책이 필요 하겠지요.
         위의 [위키요정], 위키철학 공유에 대한 제를 감안해도 앞으로는 새로운 ZeroWikian과 [위키요정]들이 활동하면서 이들이 공유하는 언어습관이 변화할 것을 기대합니다. 99, 00..년의 사용자들의 개인 페이지나 프로젝트 페이지, 게시판에 작성하는 글의 언어습관은 다릅니다.
         이를 주목해 보니, 타 위키가 새로운 사용자 계층 유입이 한꺼번에 일어나지 않는다는 공통점이 보이군요. 그래서 타 위키는 언어습관이나 화가 급격히 변화하는 것은 없습니다. 새사용자 들도 기존 위키에 분위기에 따르니까요. 마치 메일링 리스트 사용하는 것 처럼 말이죠.
         그러나 [제로위키]는 새사용자 상당수가 연례적으로 유입됩니다. 생각해보니 정말 재미있는 차이군요. 더불어 우리는 첫 위키 교육에서 항상, 새 사용자의 새로운 글쓰기를 적극 권장합니다. (SeeAlso [위키의진입장벽낮추기] ) 그래서 가장 익숙한 평소에 타 게시판에서 작성하는 습관을 그대로 가지고 옵니다. 이것이 반복되면서 언어 습관이 바뀌어 나가는 것 같군요. [제로위키]는 급격한 변화상이 보이는 재미있는 실험실 같군요.
  • 가독성 . . . . 24 matches
         간단하게 C언어에 대한 제와 답을 올리는 페이지에서 다음과 같은 내용이 있었다.
          for(i=0; i<10; i++){ // 딴지 : {는 for 뒤에 쓰는 것이 좋다. -_-. 내리는 것은 정말 좋지 않은 스타일이다.(가독성을 해친다.)
         가독성은 개인취향이라고 생각합니다. 제 경우는 C, C++에서 { 를 내리지 않는 경우보단 내리는 경우가 더 보기 편하고, JavaLanguage 에서는 내리지 않는게 더 편하답니다. 애초에 CodingConventions 이라는 것이 존재하는 것도 통일된 코딩규칙을 따르지 않고 개인취향의 코드를 만들어내다 보면 전체적으로 코드의 융통성이 결여되고 가독성또한 전체적으로 떨어지는 제를 미연에 방지하기 위함이라고 생각합니다. 특히나 ExtremeProgramming 의 경우처럼 CollectiveOwnership 을 중요한 프랙티스 중의 하나로 규정한 방법론에서는 CodingConventions 과 같은 공동소유의 산출물에 대한 규칙이 더윽 중요하다고 생각됩니다. 요는, { 를 내리느냐 내리지 않느냐가 가독성이 높냐 낮냐를 결정짓는 것이 아니고 가독성이라는 하나의 평가요소의 가치는 개인에 따라 달라질 수 있다는 것입니다. - 임인택
         이 글을 쓰고 저 제에 대한 이의 제기가 들어올줄 예상은 하고 있었습니다. 그에 따른 제 변명은 이렇습니다. 여러 언어의 특성상 언어마다의 코딩 스타일은 엄연히 존재합니다. C언어의 특성에 따라 하나의 함수는 한 화면에 모두 출력되게 하는 것이 중요합니다. (물론 요즘과 같은 큰 터미널에서는 제가 되지 않겠습니다만,..) 때에 코드의 가독성을 높히며 많은 코드들을 짜는 것은 불가분의 관계라고도 할 수 있겠죠.(함수를 붙여쓰면 코드들은 많이 들어가나 가독성이 매우 떨어지죠.) 하지만 C언어에서 저것과 같은 방식의 코드는 코드의 라인만 늘리는 결과를 초래하게 됩니다. 예를 들어 24라인만 쓸 수 있는데 for과 while의 갯수가 4개라고 하면 4줄을 낭비하는 꼴이 됩니다. 즉, for과 while의 가독성을 위해 전체적인 함수 가독성을 떨어뜨리게 되는 것이죠. (또한 for과 while의 {를 아래로 내리는 것과 위로 올리는 것의 차이점은 얼마되지 않습니다.) 제가 강조한 것은 이 전체적인 모듈의 가독성을 뜻한 것입니다. (딴지를 걸자면 80x24 화면에 저러한 코딩 방식을 사용하는 것은 죽음을 자초하는 길일것입니다. 토발즈 또한 강조한 것이기도 하구요. :) ) - 이영호
          ''저도 중괄호({,brace)를 한줄에 쓰는 스타일을 선호합니다. 하지만 그것은 어디까지나 취향의 제라고 생각합니다. 취향이 약간 다를 뿐이지 (과장된 표현이었겠지만) 죽음을 자초할 정도로 틀린일은 아니라고 생각합니다. 원만한 CollectiveOwnership 을 위해서는 다른것을 틀리다고 말하면 안될것 같습니다. --[이덕준]''
         글을 작성하신 분과 제가 생각하는 '가독성'에 대한 정의가 다른게 아닌가 합니다. 코드를 글로 비유해 보자면(저는 비유나 은유를 좋아한답니다) 이영호님께서는 ''눈에 거슬리지 않게 전체적인 장이 한눈에 들어오는가''를 중요하게 생각하시는 것 같습니다. 저는 가독성이라는 개념을 ''장들이 얼마나 매끄럽고 단과 단의 연결에 부적절함이 없는가''에 초점을 맞추고 있습니다. 단의 첫 글자를 들여쓰기를 하느냐 마느냐가 중요한 것이 아니고 그 단이 주제를 얼마나 명확하고 깔끔하게 전달해 주느냐가 중요하다는 것이죠. CollectiveOwnership 을 위한 CodingConventions와 글쓰기를 연계시켜 생각해 보자면 하오체를 쓸것인가 해요체를 쓸것인가 정해두자 정도가 될까요? 제가 생각하는 가독성의 정의에서 brace의 위치는 지엽적인 제입니다. SeeAlso Seminar:국어실력과프로그래밍
         저도 딴지를 약간 걸어보자면 토발즈가 작성한 Linux Kernel Coding Style 이라는 서를 보니 첫 부분에 다음과 같은 부분이 있네요.
         위의 서(?)과 brace에 대한 부분을 봐도 토발즈가 코딩 스타일에 대한 자신의 생각을 독자들에게 강조한 것으로는 보이지 않네요. - [임인택]
         그래서 추측을 했었는데, 자신이 쓰는 도구에 따라 같은 코드도 가독성에 영향을 받을 수 있겠다는 생각을 해봅니다. VI 등의 editor 들로 코드를 보는 분들이라면 아마 일반 서처럼 주욱 있는 코드들이 navigation 하기 편합니다. (아마 jkl; 로 돌아다니거나 ctrl+n 으로 page 단위로 이동하시는 등) 이러한 경우 OO 코드를 분석하려면 이화일 저화일 에디터에 띄워야 하는 화일들이 많아지고, 이동하기 불편하게 됩니다. (물론 ctags 를 쓰는 사람들은 또 코드 분석법이 다르겠죠) 하지만 Eclipse 를 쓰는 사람이라면 코드 분석시 outliner 와 caller & callee 를 써서 코드를 분석하고 navigation 할 겁니다. 이런 분들의 경우 클래스들과 메소드들이 잘게 나누어져 있어도 차라리 메소드의 의미들이 잘 분리되어있는게 분석하기 좋죠.
  • 문자반대출력/허아영 . . . . 24 matches
         널 자를 생각 못했던 아영 ;;
         그리고 char 함수를 처음 사용해서. 처음에 에러도 많이 났다.
          한글자열을 반대로 출력하는 알고리즘이 떠오르지 않는다.
          단점: 한글과 영어를 섞어서 사용 못한다는 점. 영어와 한글을 섞을 수 있는 ver.3 만드는 것이 제.
          choiceNum을 영어, 한글, 자로 세분화 하려고 했으니 일단은 저렇게 코딩.
         영어자열만 실행되는 프로그램
         /*파일에서 입력받은 자열을 반대로 출력하는 프로그램*/
         {{{~cpp /*파일에서 입력받은 자열을 반대로 출력하는 프로그램 ver.2*/
         한글로된 자열을 입력 했을 때 다른 결과가 나온다. 예를들어 최경현 이란 자를 입력하면 置麗零 이렇게 나와 .... 내가 만든거도 이렇게 나온다 마찬가지 ..ㅠ.ㅠ --[최경현]
          좋은 발견입니다. 한글 한 글자는 알파벳(1바이트)과 달리 2바이트입니다. 따라서 위 코드와 같이 해주면 영어와 같은 알파벳은 거꾸로 출력되지만 한글은 아예 자열이 바뀌게 됩니다. 한글같은 2바이트 확장자도 반대로 출력되게 구현을 한번 해보세요. - 보창
          비베에서는 한글이나 일본어처럼 2바이트를 사용하는 글자의 경우 알아서-_- 판단하고 한 글자 단위로 읽는 함수가 있긴 한데 씨에서는 알파벳과 같은 1바이트 자인지 아니면 2바이트 자인지를 어떻게 구분해야 할까요? -태훈 [zyint]
          ascii code를 봐서 MSB ( most significant bit)가 1 이면 아마.. 2바이트자일 겁니다.. - 임인택
          MSB는 비트로 표현된 값에서 가장 중요한 요인이 되는 값을 말합니다. 가령 10001000 이라는 값이 있을때 가장 왼쪽에 있는 1이 MSB입니다. 마찬가지로 가장 왼쪽에 있는 0을 LSB (Least Significant Bit)라고 합니다. 지금 설명드린 내용은 BigEndian Machine 의 경우, 즉, 비트를 왼쪽에서 오른쪽으로 읽는 아키텍처에서의 MSB, LSB를 설명드린 것이고, LittleEndian (비트를 오른쪽에서 왼쪽으로 읽는) 아키텍처에서는 LSB와 MSB가 바뀌어야겠죠. 현대의 거의 모든 아키텍처에서 영은 ascii 코드로 표현합니다. ascii코드의 값은 0~127인데 이를 8비트 2의 보수를 사용해서 표현하면 MSB가 모두 0 이 됩니다. 이 경우에는 해당 자가 1바이트의 자란 것을 뜻하고, MSB가 1인 경우에는 뒤에 부가적인 정보가 더 온다 (죽, 이 자는 2바이트 자이다)라는 것을 말합니다.
         [LittleAOI] [반복자열]
  • 위키설명회2005/PPT준비 . . . . 24 matches
         주소 영역을 8bit 만 사용, 상위 8bit 은 00 으로 가정하고 addressing 을 하면
         ==== 누구나 수정가능한 서 ====
         공동
         서의 작성 과정이 마치 프로그래밍 같다.
         처음 온 사용자들에게 뒤로 버튼을 누르게 만드는 결정적 요인. 글씨만 빼곡히. 어려워 보인다.
         - 지금의 위키는 가장 기본적인 디자인이다. 이런(http://hellocity.net/~iolo/moniwiki/wiki.php) 저런(http://whitejames.com/wiki.cgi?대) 위키들도 있따.
         쓰레드 방식은 최근 올라온 순서대로 게시물을 보여주기 때에 이전에 있었던 질 높은 게시물들은 사장되고 이러한 이유로 해서 게시물들 간의, 이용
          * 그런데 디자인이 구립니다. 그점이 처음 온 사용자들에게 뒤로 버튼은 눌르게 만드는 결정적인 요인일수도 있습니다. 글씨만 빼곡히 ... 어려워보입니다. 더이상 쉬워지기 힘든데도 말이죠. 많은사람이 참여하지 않아서 그래서 위키의 사상,철학,이념,방식, 시스템이 널리 퍼지지 못하고 있지는 않을까 생각해봅니다
          다른 디자인도 있다. [http://hellocity.net/~iolo/moniwiki/wiki.php 이것] 이나 [http://whitejames.com/wiki.cgi?대 저것]과 같은.
          * 위키위키가 어떠한 경우에나 적합하다고 하기는 힘들 것이다. 예를 들어, 정치적으로 대립이 심한 사이트에서 위키위키가 제대로 운영될 수 있을지는 의이다.
         ==== 또 다른 사용용도 ====
         백이 불어일견. 실제로 페이지를 보면서 페이지 구조를 설명하는 시간도 있었으면 좋겠다. 거의 모든 위키의 기능을 담은 페이지가 하나 있으면 좋지 않을까??
         ==== 기본적인 법 ====
         대소자 구별함.
         리스트: 공백과 * 한개; 1., a., A., i., I. 숫자로 된 items; 1.#n start numbering at n; space alone indents.
         맥에 이미 포함된 링크를 SeeAlso로 다시 쓸 필요는 없다.
         주변 맥락을 제공하지 않기 때에 SeeAlso는 최후의 수단이어야 한다.
         많은 사람들이 그냥 아무 생각없이 링크 달 수 있다는 편리함으로 SeeAlso의 사용에 유혹을 받지만 SeeAlso에 있는 링크는 [InformativeLink]여야 한다.
         질할때.
         이번 위키설명회는 ZeroPage소개와 함께 이루어지며. 위키를 사용하는 간단한 실습자리도 마련되어 있습니다.
  • 3rdPCinCAUCSE/FastHand전략 . . . . 23 matches
         B 제, A 제를 풀었고 (A 제까지 대략 1시간 30분정도 소요. 패널티 2번) C 번 제를 풀던중 시간초과. C 번에 대한 패널티 2번.
         대회 1주일 전 [1002] 와 [geniumin] 군은 도서관에서 정보 올림피아드 관련 책을 빌렸었습니다. 그리고 대회 2시간 전 [1002] 와 [경태]군은 해당 책의 제중 3제 정도를 풀어봤습니다.
         책은 '쉽게 배우는 실전 알고리즘 & 정보 올림피아드 도전하기'인데, 별로 추천하진 않습니다. 다른걸 떠나서, 쉽게 답이 나올 제도 어렵게 풉니다..;; 단, 제유형을 파악하기엔 어느정도 좋습니다.
         해당 제를 먼저 이해한 사람들이 구현을 주도하였으며 (B : [1002], A : [경태]) 중간 디버깅시에 자연스럽게 Pair를 진행했습니다.
         알고리즘을 위해 연습장을 썼습니다. B 제와 A 제는 이전에 같은 프로그램을 짜 본 경험이 있던 관계로 특별한 계산을 하지 않았으며, C 번 제에 대해서 분석차 이용하였습니다. 그리고 테스트를 위해 예제 입력값들을 텍스트 화일로 미리 작성해두고, 도스창에서 이를 redirection, 결과를 확인했습니다. 이러한 방법은 특히 A 번 제에서 큰 힘을 발휘했습니다. (A번 제는 입력값이 오목판 전체 이기 때이죠.) 결과에 대한 확인 테스트 시간이 1초도 걸리지 않았고, 테스트 인풋 데이터 만드는데도 거의 시간소요가 없었습니다.
         [1002] 가 이전에 비슷한 제를 풀어본 경험이 있던 관계로 바로 구현을 맡았습니다. 대략 코딩에 2-3분정도 소요하였고, 그 동안 [경태]와 [geniumin] 가 3번제에 대해 분석.
         [경태]가 코딩을 맡았으며 그 동안 [1002] 와 [geniumin] 가 3번제에 대해 분석. [1002]는 실제 제를 이해하는 시간이 적었던 관계로 [geniumin] 이 주로 설명. 추후에 [1002] 는 [geniumin] 의 방법이 맞다는 전제하에 pseudo code로의 작성을 도왔습니다.
         A 번 진행중 아쉬웠던점은, 제출 전 test 겸 찍었던 데이터를 주석처리하지 않은 바람에 아쉬운 페널티를 먹었다는 점. 이에 대해서는 실제 결과 비교부분까지 fc 등의 프로그램으로 배치화일을 만들었다면 제가 없지 않았을까 생각.
         ComputerGraphicsClass 수업 레포트와 전자상거래 레포트, ComputerNetworkClass 레포트 구현 관계상 3명이 거의 일주일 내내 밤새면서 몸이 축난 중에도 수상을 하게 되어서 기뻤습니다. (제풀던중 코 후비던 [1002]군이 피를 봤다는 후일담이 전해지고 있다는..;) 동기들끼리의 팀이여서 그런지 완벽한 룰 설정과 호흡, 아이디어의 모음이 빛을 발했다고 생각합니다.
         [geniumin] & [경태] 군에게 다시금 감사하며.. 또하나 느낀점이라면, 협업에서는 사람들에 대한 믿음이 참 중요하다는 생각이 들었습니다. 역시 수학적인 사고 & 알고리즘 부분은 [geniumin]나 [경태]쪽이 저보다 보는 시야가 깊다는 것을 느꼈습니다. [1002]는 처음에 [geniumin] 과 같이 C 번에 대해 알고리즘 분석 & 디자인 할때는 약간 이해가 가지 않는 부분에 대해서 수긍을 잘 안했었는데, 추후 [geniumin]를 믿고 그의 의견이 맞다고 가정하고 제를 풀고 코드화 했을때 테스트 예제 데이터에 대한 답이 정확히 나오는 것을 보면서, [geniumin]의 알고리즘을 코드화해주는것에 전념하게 되었습니다. 만일 혼자서 고민하고 제를 각자 따로 풀려고 했었다면 그런 좋은 결과가 나오지 않았을 것입니다. (아쉽게 시간내에 C 번을 통과하지 못했지만, 조금만 더 시간이 있었으면 통과했을것이라는..~) 협업시에 상대에 대한 믿음이 얼마나 중요한가에 대해 다시금 느끼게 되었습니다.
  • AOI/2004 . . . . 23 matches
         2004년도 여름 & 겨울방학 제풀이 스터디
          || 제 || [강희경] || [김회영] || [보창] || [황재선] || [신재동] || [곽세환] ||
          || 제 || 오승균 || [김회영] || [보창] || [황재선] || [이승한] || [신재동] || [강희경] || [곽세환] ||
         으윽. 두번째 제. 또 막혔슴돠. ㅠ.ㅠ;; 이거 번번이 실패. 이것도 이산수학인가?? -_-ㅋ;; - [이승한]
         대부분의 제들은 4초안에 답이 출력되어야만 합니다. 이 부분이 가장 힘들군요. -- 보창
         잠깐 다른 사람 소스들을 봤는데 이런식이 많더라. 나쁘다는 건 아니다. 실제로 재동과 상규가 프로그래밍대회에서는 저런식으로 했었다. 이유는 대회에선 무조건 속도전이라 함수 이름이나 함수의 길이는 신경쓰지 못하기 때이였다. 하지만 적어도 대회가 아닌 연습에서는 좀 더 흐름을 알아보기 쉽게 하는게 좋을 거 같다. --재동
         용두사미! 왜 끝은 흐지부지 되는 경향이 있을까요? 쉽고, 재밌는(?) 제 위주로 올릴테니 우리 모두 힘내서 풀어보아요! - 보창
         uva robot의 경우 보통 300 번 이상의 test case 를 쓰는 것 같습니다. 동적 메모리가 아닌 정적으로 할당할 경우 이 점을 유의(?)하지 않으면 RE error(포인터 에러)가 납니다. 보창은 이것때에 하루종일 프로그램을 뜯어고쳤으나, 결국 우연한 기회에 알게 되었습니다. LCD-Display의 경우 robot은 1000줄 이상을 test하는 걸로 보여집니다. -- 보창
         한 제를 풀어본 후에 소요시간이 만족스럽지 못하거나 결과코드가 불만족스럽다면 이렇게 해보세요. 내가 만약 이 제를, 아직 풀지 않았다고 가정하고, 다시 풀어본다면 어떻게 접근하면 더 빨리 혹은 더 잘 풀 수 있을까를 고민합니다. 그리고 그 방법을 이용해서 다시 한 번 풀어봅니다(see DoItAgainToLearn). 개선된 것이 있나요? 이 경험을 통해 얻은 지혜와 기술을 다른 제에도 적용해 봅니다. 잘 적용이 되는가요?
         예를 들어, X라는 제를 풀어봤는데 그 제는 Y라는 알고리즘을 사용하면 쉽게 풀리는 것이었다, 하지만 그 착상을 빨리 하지 못해서 시간도 오래 걸리고 고생했다. 뭐 이런 경험을 했다면, 이 제를 풀어서 얻은 구체적 지식을 잠시 무시하고, 이 제를 처음 만났을 때 어떻게 Y라는 알고리즘을 사용할 수 있다는 착상에 빨리 도달할 수 있을런지 연구해 봅니다. 제를 푼 후에 얻은 지식을 사용하지 않아야 합니다. 방법을 찾았으면 그 방법을 적용해서 다시 풀어봅니다. 그 방법이 다른 유사 제에도 적용이 되는가요?
         이런 과정을 통해 자신의 "일반적 제 해결 능력"을 높힐 수 있습니다.
  • AcceleratedC++/Chapter6 . . . . 23 matches
          * Chapter5의 마지막에 루프를 줄인 다음과 같은 구이 있었다. ret의 끝에다가 bottom의 처음부터 끝까지 넣는다는 뜻이다.
          * Postfix와 Prefix : i++과 ++i의 차이점이다. ++i는 i를 사용하기 전에 값을 증가시키고, i++은 i를 사용한 후에 값을 증가시킨다.
          * 왜 이렇게 설계했는가? 프로그래머로 하여금 쓰고 싶은 연산을 골라서 쓸수 있게 하기 때이다.
          ret.push_back(string(i,j)); // 그만큼의 자열엘 벡터에 넣음
          * isspace는 표준 라이브러리에서 지원하는 함수임에다 불구하고, 왜 따로 만들었을까? 바로 isspace는 여러 언어 버젼으로 오버로딩 되어 있기 때이다. 템플릿 함수의 인자로 오버로딩된 함수를 넘겨주는 것은 쉽지 않다. 어떤 버젼인지 알수가 없기 때이다. 이것이 우리가 isspace역할을 하는 함수를 새로 만든 이유다.
          * 5장에서는 string(i,j) 대신에, substr이라는 함수를 이용했었는데, 이번에 쓰지 않은 이유는 substr은 반복자를 인자로 받지 않기 떄이다.
          * 참 깔끔하다. rbegin()은 역시 반복자를 리턴해주는 함수이다. 거꾸로 간다. equal함수는 두개의 구간을 비교해서 같을 경우 bool 의 true 값을 리턴한다. 파라매터로 첫번째 구간의 시작과 끝, 두번째 구간의 시작 iterator 를 받는다. 두번째 구간의 끝을 나타내는 iterator 를 요구하지 않는 이유는, 두개의 구간의 길이가 같다고 가정하기 때이다. 이는 equal 함수의 동작을 생각해 볼때 합당한 처리이다.
          // string 에서 sep 의 자열의 시작부분을 찾아서 i에 iterator를 대입한 후 e와 비교하여
          --beg; //protocol-typed의 위치에 존재하는 자열이 조건에 맞을 경우 앞으로 한칸씩 움직이면서 검사한다.
          * 이 예제는 string STL을 이용해서 자열을 검색하고, 우리에게 맞는 정보를 가공하는 것이 목적이다.
          * search(b, e, b2, e3) [b, e)의 자열 시퀀스에서 [b2, e3) 자열 시퀀스를 찾는다.
          * find(b, e, t) 자열 시퀀스 [b, e)에서 값 t를 찾는다.
          * find_if(b, e, p) 자열 시퀀스 [b, e)에서 함수 p를 통해 테스트한다.
          1. 중앙값 대신 평균을 사용하며, 제출하지 않은 과제에는 0점을 주는 방식(6.2.3)
          제점
          accumulate함수: 처음2개의 전달인자를 3번째 전달인자에 누적시킴(주의 0.0대신 0을 사용하면 정수로 인식 소수점 부분을 버려버림)
          * 이함수를 사용하기 위해서는 <numeric>을 include 해줘야 한다.
          5장에서 사용한 list를 사용하지 않고, vector를 그대로 사용하여 그와 비슷한 성능의 알고리즘
  • AcceleratedC++/Chapter8 . . . . 23 matches
         WikiPedia:Generic_function : 함수의 호출시 인자 타입이나 리턴타입을 사용자가 알 수없다. ex)find(B,E,D)
         함수의 호출시 함수의 매개변수를 operand로 하여 행해지는 operator의 유효성을 컴파일러가 조사. 사용 가능성을 판단
          return size % 2 == 0 ? (v[mid] + v[mid-1]) / 2 : v[mid]; // double, int에는 유효, string은 operator / 가 없기 때에 무효
          실제 제네릭 함수의 사용에서 가장 제시 되는 것은 함수내부의 연산을 매개변수 타입이 지원을 하는 가이다.
          || find(B, E, D) || D의 인자료 [B, E)를 비교하여 값을 찾는다. 비교를 하는 것은 크게 제되지 않는다. ||
          || accumulate(B, E, D) || D의 인자의 형을 기준으로 [B, E)를 비교하여 값을 모은다. 리턴값이 D의 자료형에 영향을 받기 때제의 발생소지가 존재한다. ||
          {{{~cpp ex) accumulate(v.begin(), v.end(), 0.0); // 만약 0:int를 사용했다면 올바른 동작을 보장할 수 없다.}}}
          STL 함수를 보면 인자로 받는 반복자(iterator)에 따라서 컨테이너의 함수 사용 유효성을 알 수 있다.
          예를 들자면 find(B, E, D)같은 함수의 경우 ''아주 단순한 제한적 연산만을 이용''하기 때에 대부분의 컨테이너에 대해서 사용이 가능하다. 그러나 sort(B, E)같은 경우에는 ''기본적인 사칙연산들을 반복자에 대해서 사용''하기 때에 이런 연산을 지원하는 string, vector 만이 완벽하게 지원된다.
          STL은 이런 분류를 위해서 5개의 '''반복자 카테고리(iterator category)'''를 정의하여 반복자를 분류한다. 카테고리의 분류는 반복자의 요소를 접근하는 방법에따른 분류이며, 이는 알고리즘의 사용 유효성 여부를 결정하는데 도움이 된다.
          상기 2개의 구현 모두 begin, end iterator를 순차적으로 접근하고 있음을 알 수 있다. 상기의 함수를 통해서 순차 읽기-전용의 반복자는 '''++(전,후위), ==, !=, *'''를 지원해야한다는 것을 알 수 있다. 덧 붙여서 '''->, .'''와 같은 멤버 참조 연산자도 필요로하다. (7.2절에 사용했떤 연산자이다.)
          class Out 반복자를 출력에 배타적으로 사용하려면 '''++ 연산이 대입 사이에서 1번이상은 무효'''가 되도록 만들어 주어야한다.
          임의 접근 반복자르 이용하는 알고리즘은 sort. vector, string 만이 임의 접근 반복자를 지원한다. list는 빠른 데이터의 삽입, 삭제에 최적화 되었기 때에 순차적인 접근만 가능함.
          반복자의 끝값으로 컨테이너의 마지막 요소에서 한개가 지난 값을 사용하는 이유
          * 마지막 요소를 범위의 끝으로 사용함으로써 발생하는 특별한 처리를 없애는 것이 가능. (실수가 줄어듬)
         입출력 반복자는 컨테이너의 반복자이외의 존재하는 반복자를 표현하기 때에 순방향 반복자와 구별시킴.
         Class Out 가 순방향, 임의접근, 출력 반복자의 요구사항을 모두 반족하기 때에 istream_iterator만 아니라면 어떤 반복자에도 쓰일 수 있다. 즉, 특정변수로의 저장 뿐만아니라 console, file 로의 ostream 으로의 출력도 지원한다. '' 흠 대단하군.. ''
  • AspectOrientedProgramming . . . . 23 matches
         본 글은 Markus Voelter에 의해 작성된 글 중 일부이다. 원은 AOP 기본 개념, Xerox PARC에 의해 구현된 Java의 AOP 확장 버전인 AspectJ 소개, Metaclass 프로그래밍과의 비교 등 총 3 파트로 구성되어 있으며, 번역은 이 중 첫 번째 파트만 커버한다. 참고로 원의 AspectJ 관련 코드는 상당히 오래된 법에 기반하여 현재의 그것과 많은 차이를 보인다.
          최근 몇 년에 걸쳐 객체지향 프로그래밍(Object-Oriented Programming, OOP)은 절차적 방법론을 거의 완벽히 대체하며 프로그래밍 방법론의 새 주류로 떠오르게 되었다. 객체지향적 방식의 가장 큰 이점 중 하나는 소프트웨어 시스템이 여러 개의 독립된 클래스들의 집합으로 구성된다는 것이다. 이들 각각의 클래스들은 잘 정의된 고유 작업을 수행하게 되고, 그 역할 또한 명백히 정의되어 있다. 객체지향 어플리케이션에서는 어플리케이션이 목표한 동작을 수행하기 위해 이런 클래스들이 서로 유기적으로 협력하게 된다. 하지만 시스템의 어떤 기능들은 특정 한 클래스가 도맡아 처리할 수 없다. 이들은 시스템 전체를 들쑤시며 해당 코드들을 여러 클래스들에 흩뿌려 놓는다. 이런 현상을 횡단적(cross-cutting)이라 표현한다. 분산 어플리케이션에서의 락킹(locking, 동기화) 제, 예외 처리, 로깅 등이 그 예이다. 물론 필요한 모든 클래스들에 관련 코드를 집어 넣으면 해결될 제이다. 하지만 이런 행위는 각각의 클래스는 잘 정의된(well-defined) 역할만을 수행한다는 기본 원칙에 위배된다. 이런 상황이 바로 Aspect-Oriented Programming (AOP)이 잉태된 원인이 되었다.
          AOP에서는 aspect라는 새로운 프로그램 구조를 정의해 사용한다. 이는 쉽게 struct, class, interface 등과 같이 특정한 용도의 구조라 생각하면 된다. Aspect 내에는 프로그램의 여러 모듈들에 흩어져 있는 기능(하나의 기능이 여러 모듈에 흩어져 있음을 뜻한다)을 모아 정의하게 된다. 전체적으로, 어플리케이션의 각각의 클래스는 자신에게 주어진 기능만을 수행하고, 추가된 각 aspect들이 횡단적인 행위(기능)들을 모아 처리하며 전체 프로그램을 이루는 형태가 만들어진다.
          이해를 돕기 위해, 그리고 설명을 쉽게 하기 위해 예를 들어가며 AOP 개념을 설명토록 하겠다. 어플리케이션의 여러 스레드들이 하나의 데이터를 공유하는 상황을 가정해보자. 공유 데이터는 Data라는 객체(Data 클래스의 인스턴스)로 캡슐화되어 있다. 서로 다른 여러 클래스의 인스턴스들이 하나의 Data 객체를 사용하고 있으나 이 공유 데이터에 접근할 수 있는 객체는 한 번에 하나씩이어야만 한다. 그렇다면 어떤 형태이건 동기화 메커니즘이 도입되어야 할 것이다. 즉, 어떤 한 객체가 데이터를 사용중이라면 Data 객체는 잠겨(lock)져야 하며, 사용이 끝났을 때 해제(unlock)되어야 한다. 전통적인 해결책은 공유 데이터를 사용하는 모든 클래스들이 하나의 공통 부모 클래스(“worker” 라 부르도록 하자)로부터 파생되는 형태이다. worker 클래스에는 lock()과 unlock() 메소드를 정의하여 작업의 시작과 끝에 이 메소드를 호출토록 하면 된다. 하지만 이런 형태는 다음과 제들을 파생시킨다.
          1. 공유 데이터를 사용하는 메소드는 상당히 주의해서 작성되어야 한다. 동기화 코드를 잘못 삽입하면 데드락(dead-lock)이 발생하거나 데이터 영속성이 깨질 수 있다. 또한 메소드 내부는 본래의 기능과 관련 없는 동기화 관련 코드들로 더럽혀질 것이다.
          1. Java와 같은 단일 상속 모델에서는 worker를 만든다는 것이 불가능할 수 있다. 어떤 클래스들은 이미 다른 클래스들로부터 확장되었을 수도 있기 때이다. 이는 특히 클래스 계층 구조 설계가 마무리된 후, 뒤늦게 동기화의 필요성을 깨달았을 때 흔히 발생한다. 동기화를 신경 쓰지 않은 범용 클래스 라이브러리를 통해 공유 데이터에 접근하려 하는 경우가 한 예가 될 수 있다.
          1. 재활용성(reusability)이 감소된다. worker 클래스는 동기화가 필요치 않는 클래스나 심지어 다른 동기화 메커니즘이 필요한 상황에서도 사용하길 원할 수 있다. 동기화 관련 코드를 삽입함으로써 worker 클래스는 특정 어플리케이션에 종속적인 클래스로 전락하게 된다.
          AOP에서는 이런 형태의 제를 해결하기 위해 새로운 형태의 접근 방법을 제기하고 있다. AOP는 새로 도입된 프로그램 구조를 통해 시스템에 횡단되어 있는 기능들을 정의해 처리하도록 했다. 이 새로운 구조를 우리는 aspect라 부른다.
          1. Data 객체를 사용하는 클래스들을 위해 lock 및 unlock 메커니즘을 제공한다(lock(), unlock()).
          1. 이상의 기능을 Data 객체를 사용하는 클래스의 자바 소스를 변경하지 않고 투명하게 수행한다.
          특정 메소드(ex. 객체 생성 과정 추적) 호출을 로깅할 경우 aspect가 도움이 될 수 있다. 기존 방법대로라면 log() 메소드를 만들어 놓은 후, 자바 소스에서 로깅을 원하는 메소드를 찾아 log()를 호출하는 형태를 취해야할 것이다. 여기서 AOP를 사용하면 원본 자바 코드를 수정할 필요 없이 원하는 위치에서 원하는 로깅을 수행할 수 있다. 이런 작업 모두는 aspect라는 외부 모듈에 의해 수행된다. 또 다른 예로 예외 처리가 있다. Aspect를 이용해 여러 클래스들의 산재된 메소드들에 영향을 주는 catch() 조항(clause)을 정의해 어플리케이션 전체에 걸친 지속적이고 일관적으로 예외를 처리할 수 있다.
          그렇다면 두 가지 의이 떠오를 것이다.
          먼저 ‘Aspect는 꼭 필요한가?’라는 질에 답해보자. 물론 그렇지는 않다. 이상에서 언급한 모든 제들은 aspect 개념 없이 해결될 수 있다. 하지만 aspect는 새롭고 고차원적인 추상 개념을 제공해 소프트웨어 시스템의 설계 및 이해를 보다 쉽게 한다. 소프트웨어 시스템의 규모가 계속 커져감에 따라 “이해(understanding)”의 중요성은 그만큼 부각되고 있다(OOP가 현재처럼 주류로 떠오르는데 있어 가장 중요한 요인 중 하나였다). 따라서 aspect 개념은 분명 가치 있는 도구가 될 것임에 틀림없다.다음의 의은 ‘Aspect는 객체의 캡슐화 원칙을 거스르지 않느냐?’는 것이다. 결론부터 말하자면 ‘위반한다’ 이다. 하지만 제한된 형태로만 그렇게 한다는데 주목하도록 하자. aspect는 객체의 private 영역까지 접근할 수 있지만, 다른 클래스의 객체 사이의 캡슐화는 해치지 않는다.
  • ProgrammingWithInterface . . . . 23 matches
         책에서는 말한다. 많은 개발자들이 [[OOP#s-1.2|인터페이스]] 보다는 [[OOP#s-1.2|상속]]을 사용하여 개발한다고... 그렇다! 사실이다. 나도 여지껏 인터페이스로 무장한 코드를 보지 못했다.
         언제나 개발을 할 때 '어라~ 같은 일 하는데? 이거 Base 클래스 만들어서 위로 올려야 겠는데?' 일말의 틈도 주지 않고 실행한다. 다형성을 사용하는 코드를 생성한다. '와우~! 한결 깔끔해 졌는걸?' 하지만 오산이었다. 시간이 지나서 먼가 추가할 동작들이 생겼다. 이제 고치기 시작한다. Base 클래스 부터... 고치고 나니 컴파일이 되지 않는다. 코드 수정의 여파가 하위 클래스들에게 까지 미친다. 정말 미친다. 이런 상속을 통한 계층 구조는 상위 클래스와 하위 클래스의 결합도를 높여준다. 지나 치게 크게..! 동감하지 않는가? 하나를 고쳤는데 수정할 꺼리가 마구 쏟아지는 상황을...
         상속을 사용하는 상황을 국한 시켜야 할 것같다. 상위 클래스의 기능을 100%로 사용하면서 추가적인 기능을 필요로 하는 객체가 필요할 때! .. 이런 상황일 때는 상속을 사용해도 후풍이 두렵지 않을 것 같다. GoF의 책이나 다른 DP의 책들은 항상 말한다. 상속 보다는 인터페이스를 통해 다형성을 사용하라고... 그 이유를 이제야 알 것같다. 동감하지 않는가? Base 클래스를 수정할 때마다 하위 클래스를 수정해야 하는 상황이 발생한다면 그건 인터페이스를 통해 다형성을 지원하는게 더 낫다는 신호이다. 객체는 언제나 [[SOLID|SRP (Single Responsiblity Principle)]]을 지켜야 한다고 생각한다.
         Holub이 사용하는 예제를 보자. 상속을 사용해 [Stack]을 구현한다.
         완벽한 Stack이다. 하지만 다음 코드를 사용하면 우리는 Stack 객체가 어떻게 돌아갈지 예측 할 수 없다.
         자 모든 값을 clear 를 사용해 삭제했는데 topOfStack의 값은 여전히 3일 것이다. 자 상속을 통한 제를 하나 알게 되었다. 상속을 사용하면 원치 않는 상위 클래스의 메소드까지 상속할 수 있다 는 것이다.
         상위 클래스가 가지는 메소드가 적다면 모두 [오버라이딩]하는 방법이 있지만 만약 귀찮을 정도로 많은 메소드가 있다면 오랜 시간이 걸릴 것이다. 그리고 만약 상위 클래스가 수정된다면 다시 그 여파가 하위 클래스에게 전달된다. 또 다른 방법으로 함수를 오버라이딩하여 예외를 던지도록 만들어 원치않는 호출을 막을 수 있지다. 하지만 이는 컴파일 타임 에러를 런타임 에러로 바꾸는 것이다. 그리고 LSP (Liskov Sustitution Principle : "기반 클래스는 파생클래스로 대체 가능해야 한다") 원칙을 어기게 된다. 당연히 ArrayList를 상속받은 Stack은 clear 메소드를 사용할 수 있어야 한다. 그런데 예외를 던지다니 말이 되는가?
         Stack을 구현하는 다른 방법은 상속 대신 [캡슐화]를 사용하는 것이다.
         자.. Stack과 ArrayList간의 결합도가 많이 낮아 졌다. 구현하지 않은 clear 따위 호출 되지도 않는다. 왠지 합성을 사용하는 방법이 더 나은 것 같다. 이런 말도 있다. 상속 보다는 합성을 사용하라고... 자 다시 본론으로 들어와 저 Stack을 상속하는 클래스를 만들어 보자. MonitorableStack은 Stack의 최소, 최대 크기를 기억하는 Stack이다.
         깔끔한 코드가 나왔다. 하지만 MonitorableStack은 pushMany 함수를 상속한다. MonitorableStack을 사용해 pushMany 함수를 호출하면 MonitorableStack의 입력 받은 articles의 articles.length 만큼 push가 호출된다. 하지만 지금 호출된 push 메소드는 MonitorableStack의 것이라는 점! 매번 size() 함수를 호출해 최대 크기를 갱신한다. 속도가 느려질 수도 있다. 그리고 만약 누군가 Stack의 코드를 보고 pushMany 함수의 비 효율성 때에 Stack을 밑의 코드와 같이 수정했다면 어떻게 될 것인가???
         와!~ 예전의 Stack보다 성능은 확실히 좋아 졌을 것이다. 그런데 제가 발생했다. 더이상 pushMany 메소드에서 push 메소드를 호출하지 않는다. 이렇게 되면 MonitorableStack은 더이상 Stack의 최대 크기를 추적하지 못하게 된다. 예기치 않은 결과이다. 상속을 사용한 구현으로 발생한 제이다. 여기까지 글을 (책의 내용) 읽었다면, 아마 '상속을 사용하기 전에 한번 더 생각하는게 좋겠다' 라는 생각을 가슴 깊이 느꼈을 것이다. 아니면 별수 없는 일이다... :(
         완성된 코드에서는 상속으로 인한 제들이 발생하지 않는다.
  • UbuntuLinux . . . . 23 matches
         우분투 리눅스 시디를 얻게 되어서 남는 하드디스크 하나에 설치해 보았는데, 버벅이는 윈2000 꼴이 보기 싫기도 했거니와 이번 기회를 계기로 리눅스를 사용해 보자는 생각이 들었다.
         설치 후 첫째 난관은 인터넷을 사용하는 것이다. (이정도 쯤이야) 마우스 클릭 몇 방에 해결되었다. DHCP가 알아서 아이피를 잡아줬다. 윈도우랑 다를 게 없다.
         그럼 그전에 먼저 홈 네트워크를 구축해보자. 원래 내 컴퓨터는 서버로 사용중이었다. 집안 네트워크를 맘대로 끊어버렸어나 특한 요구가 없으므로 아무런 핍박없이 네트워크 작업을 할 수 있겠지. 우선은 구글에 검색해보고 ( 검색 먼저, 삽질은 나중에 )
         한글이 안 써진다. 여태까지 그걸 모르고 있었다니 놀랐다. 제가 조금 어려워지니까 한글이 안 써지는 것도 걸림돌이 되었다. 어차피 한글을 안 쓸 수는 없으니까 한글 입력을 하는 방법을 찾아보았다.
         [https://wiki.ubuntu.com/ThinClientHowtoNAT] 이 두 서를 따라하다 보니 어느새 다른 컴퓨터에서 인터넷에 연결할 수 있는 것이 아닌가!
         하지만 제는 다시 부팅을 하면 인터넷 연결이 안 되있다는 점이다. 먼저 어떤 명령이 진짜 인터넷 공유를 가능하게 하는지 알아내야 했고, 다음에는 이를 자동으로 실행하도록 하는 단계를 밟아야 한다. 꼭 프로그래밍 하면서 디버깅 하는 느낌이랄까.
         다음 목표는 이전에 사용하던 윈2000을 멀티부팅하기. 사실 리눅스만 쓰고 싶은 마음이 간절하지만 각종 윈도우 전용 프로그램을 사용하던 과거를 한 순간에 지워버리지는 못하거든.
         우분투는 부트로더로 grub이란 녀석을 사용한다. 원래는 GNU에서 쓰는 건데 좋길래 리눅스에도 사용하는 추세라는 글을 웹을 탐험하던 중에 읽었다. 아하 그렇군요. 그럼 grub을 사용해서 윈도우를 부팅하면 되겠네요.
         물리적 하드 두개에 리눅스와 윈도우가 따로 설치된 상황이라서( 둘은 서로를 모른다.) 사실 안 되는 게 아닐까 걱정도 했다. 웹을 찾아보니 윈도우나 리눅스를 먼저 설치한 뒤 다른 하나를 설치한 경우가 대세였다. 태반은 하드 하나를 파티션을 나누는 방법으로( 굉장한 노력인듯.;; 하드가 두개 있어 아무런 걱정없이 리눅스를 다르는 하드에 설치한 나는 행운인가.;;;) 두 운영체제를 골라서 사용하는 방법을 설명하고 있었다.
         리눅스가 설치된 하드를 primary disk로 쓰고, 이녀석 이름은 hd0이다. 윈도우즈가 설치된 하드는 secondary disk이니까 hd1이다. (리눅스에서는 각각을 hda, hdb로 인식한다.) 명령을 설명하려고 해도 명료하지 않아 그냥 넘어가야겠다. (윈도우로 부팅할 때는 트릭을 쓰기 때에 리눅스 파티션이 보이지 않는다.)
         집에 남는 컴퓨터 한대를 서버로 돌려보자는 생각에 무식하게 랜카드를 세장이나 꼽아서 돌려보려고 했다. 한데 X윈도우와는 다르게 랜카드 인식부터 안되는 제가 생겼다. 며칠 삽질하다 포기할까 생각도 들었는데, 오늘 드디어 해결했다.
         랜카드가 이상이 있나 싶어 데스크톱 리눅스(위에 등장했던 멀티부팅이 되는)에 랜카드를 옮겨 인식을 시험해보았더니 제없이 인식했다. 하지만 새로 꼽은 랜카드는 어떠한 과정을 거쳐 자동으로 인식하는 모양이었다. 수생이에게 들은 말과 웹서핑 정보를 종합해보면 아마도 모듈을 로드 안해서가 아닐까.
         집에 아직 윈도우즈가 돌아가는 컴퓨터가 한 대 남아있다. 동생은 게임을 해야 되서, 그 외에 인터넷 뱅킹이라든지 아무튼 윈도우즈가 필요한 경우 때에 남겨둔 녀석이 골치덩어리다. 서버로 쓰는 리눅스를 통해 나머지 두대끼리 폴더 공유를 할 수 있어야 하는 경우가 생겼기 때이다.
         = gcc 제 =
          * 우분투를 깔면 gcc가 처음부터 깔려 있지는 않다. 그래서 sudo apt-get install gcc 해서 gcc 를 받고 간단한 것을 컴파일 하면 기본적인 라이브러리들이 없다면서 컴파일이 안된다. 이때 g++ 도 위와 같은 방식으로 깔면 제는 해결된다.
         = MS 인터넷 익스플로러 사용하기 =
         = HP 프린터 사용하기 =
         LAN이 연결된 공용 프린터를 사용하는 경우 HP Jet Direct를 이용하면 손쉽게 프린터를 잡을 수 있다.
         = 듀얼 모니터 사용하기 =
  • ZeroPageServer/SubVersion . . . . 23 matches
          * 공용 저장소 (svn group에 속한 사용자들이 공동으롯 사용하는 공간)
          제로페이지의 사용자 계정이 있다면 누구나 사용이 가능하다. 대신에 로컬에는 ssh의 클라이언트(커맨드 기반)가 필요하다. (그렇지만 그룹설정이 필요하기 때에 관리자에게 그룹으로 설정해달라고 해야합니다. 그룹이용자가 아닌 경우에는 저장소를 읽을 수는 있지만 쓰기는 하지못한다.)
          svnserver을 이용하면 사용이 간편하고 서버를 관리하기도 편하지만, 아직 SubVersion이 계정 파일로 encrypt 된 것을 지원하지 않기 때에 패스워드 노출의 소지가 상당히 높아서 이용하지 않았다. 차후 subversion 이 이 사항을 지원하면 추가하는 것이 좋을 듯 함.
          subversion 은 http 로의 접근도 제공한다. 대신에 기본제공 프로토콜보다는 속도가 느린 단점이 있다. http 의 접근은 현재 익명계정에 대해서는 checkout, read 만 사용이 가능하며 checkin 계정을 받기 위해서는 관리자에게 다음의 정보를 메일로 보내주면 추가하는 것이 가능하다.
         리눅스 계정의 시스템에서 다음의 명령어를 통해서 출력되는 장을 복사해서 관리자에게 보내주면 된다.
         sapius:i2BKwIhXaPCbc // 이런 장이다. Crypt 알고리즘으로 암호화된 장이다.
          * SSH를 통해서 접근을 하는 경우 상당히 잦은 패스워드 입력 창을 보게됩니다. 이를 해결하기 위해서 몇가지 방법이 존재하는데.. ''(터널링 프로토콜로 SSH를 이용하기 때에 어찌하였던 SSH 프로그램을 등록해야함.)''
          상기의 방법의 경우에는 암호가 그대로 저장되기 때에 본인의 컴퓨터가 아닌 상황에서는 피하는 것이 좋습니다.
          하지만 이런 방법을 통하지 않으면 SVN은 단위 작업을 할때마다 패스워드를 뭍기 때에 가능하면 비슷한 방법이라도 쓰는 것이 좋다.
          사용자에게 복사되었을 때 어느정도의 안전성을 보장한다. 만약 설정하지 않으면 파일만 있다면 기타의
          확인절차없이 바로 사용이 시스템에 접속하게 된다.
          접속하기 위해서 따로 암호를 칠 필요가 없다. 물론 키파일은 rsa로 암호화된 상태이기 때사용자가
          소스를 가져온 것이기 때에 pageant와 호환이 되는 것이다. 푸티 비호환 프로그램에서는
          어쨋듯 상기의 방법은 단순히 SVN뿐만아니라 SSH를 사용하는 모든 서버, 클라이언트에게 해당하는
          만들어진 개인키를 USB나 메일 계정에 넣어두고 필요할때마다 받아서 사용하면 거의 제가 없다.
          * 윈도우에서는 [TortoiseSVN] 을 이용해서 기존의 CVS와 거의 동일한 방식으로 사용하는 것이 가능하다.
  • 데블스캠프2006/월요일/연습문제/기타문제 . . . . 23 matches
         [데블스캠프2006/월요일/연습제/기타제/정승희]
         [데블스캠프2006/월요일/연습제/기타제/이차형]
         [데블스캠프2006/월요일/연습제/기타제/윤영준]
         [데블스캠프2006/월요일/연습제/기타제/김준석]
         [데블스캠프2006/월요일/연습제/기타제/임다찬]
         [데블스캠프2006/월요일/연습제/기타제/김대순]
         [데블스캠프2006/월요일/연습제/기타제/주소영]
         [데블스캠프2006/월요일/연습제/기타제/윤성준]
         [데블스캠프2006/월요일/연습제/기타제/이장길]
         [데블스캠프2006/월요일/연습제/기타제/성우용]
         [데블스캠프2006/월요일/연습제/기타제/이경록]
         [데블스캠프2006/월요일/연습제][데블스캠프2006/월요일] [데블스캠프2006]
  • 지금그때/OpeningQuestion . . . . 23 matches
         선배들이 ["지금알고있는걸그때도알았더라면"] 아마 이런 질을 자기 자신과 선배에게 물었으리라.
         영어는 아주 월등하지 않는 이상 개발자 사이에서는 큰 차이가 없습니다. 기술서적을 읽고 그 자리에서 독해해 내는 실력이 된다면 굳이 영어에 매달리며 시간을 투자할 필요가 없습니다(참고로 저는 영어를, 개발자들 중에서는 아주 잘합니다. 그래서 이런 말을 할 자격이 된다고 생각합니다. 이것은 잘난체하고 말고의 제가 아닙니다).
         그러나, 만약 자기가 어떤 분야에 있어 한국 최고(혹은 그 이상)가 되려고 한다면 영어를 편하게(!) 사용하는 것이 중요합니다. 자기 실력에 더하기가 아니고 곱하기가 됩니다.
          ''무엇이건 간에 자신에게 직면한 제에 대한 탈출구.''
         [지금그때2004/패널토의질지]에서
          * 프로그래밍 언어 : C, C++, Java 정도를 배웁니다. 하지만 직접 가르쳐주는 것은 법 수준이고, 대부분은 숙제를 하면서 직접 익혀야 합니다.
         누구나 생각해 보면 쉽게 답할 수 있는 질일 것 같습니다. 제 경우와 주변을 살펴보면, 1학년 때 수업만 따라가면 큰 차이가 없는 것 같습니다. 그러나 1학년 때 자신이 알아서 소위 "탐구 학습"을 하면 나중에 남들이 따라오기 힘들 정도로 큰 격차가 생깁니다. 물론 1학년 때 공부 거의 안하고 나중에 따라 잡고 발전하는 경우도 있습니다만 그렇게 쉬운 일은 아닙니다.
         공부량의 제이기도 하고, 습관 형성의 제이기도 하기 때입니다.
         만약 관심이 가는 대상이 있다면 가급적 교양보다 (다른과) 전공수업을 들을 것을 권합니다. 학생들의 분위기, 교수의 태도, 수업의 진지함 등 모두가 차이가 큽니다. 의외로 따라가기가 그렇게 어렵지 않은 경우가 많습니다(오히려 클래스 탑을 하는 경우도 많습니다). 스스로 따라갈 수 있을지 의이 들면, 해당 수업의 지난 학기 교과서를 구해서 읽어보세요. 감이 올겁니다.
          * 별 제 없다. 나이보다 현재 나의 모습, 능력이 중요하다.
          * 복수전공 학위를 얻는것보다도 더 중요한 것은 제해결능력이 향상된다는 것이다.
          할 일을 세로로 나열한다. 그리고는 옆에 5, 10, 15, 20...이런 식으로 숫자를 쓴다.
          * 제는 나의 것...
          * 제는 내가 만든다.
         NoSmok:피터드러커 교수의 [이노베이터의조건]나, TheNextSociery 를 보면, 지식 노동자와 지식 기술자의 정의가 있습니다. 고등학교때 배웠던 정보화 사회는 현재에서 이미 도래했습니다. 그는 책에서 대중적 직업을 크게 지식 기술자와 지식 노동자로 나뉩니다. 지식 기술자는 '''General 한 주제'''을 가지면서 '''한 주제에 특화된 능력'''을 가진 사람이고, 둘다 부족하거나, 한 주제에 전가 인점을 빼면 지식 노동자로 구분합니다. 정보화 사회의 중기에는 이 두계층의 구분이 거의 없는 반면, 지식 직업들이 늘어나면서 이는 확연히 구분됩니다. 앞으로 더 심해 질것입니다.
         앞서 답한 NeoCoin군의 경우 제 주변에서도 소날 정도로 다독을 하는 친구입니다.
         저는 한 달에 대략 5-10권 정도를 보게 되는 것 같습니다만, 책 말고도 웹 서나 이메일 등을 매일 조금씩 보는데 이 양이 꽤 될 것 같습니다.
         같은 주제 읽기(see HowToReadIt)를 하기에 도서관만한 곳이 없습니다. 그 경이적인 체험을 꼭 해보길 바랍니다. 그리고 도서신청제도를 적극적으로 활용하세요. 학생 때는 돈이 부족해서 책을 보지 못하는 경우도 있는데, 그럴 때에 사용하라고 도서신청제도가 있는 것입니다. --JuNe
         산다 안산다가 중요한 게 아니고 태도의 제일 수 있겠다는 생각이 듭니다. 꼭 예/아니오로 대답한다면, 다 사야 하는 것은 아니다로 답하겠습니다. --JuNe
         책은 NoSmok:WhatToRead 를 참고하세요. 학생 때 같이 시간이 넉넉한 때에 (전공, 비전공 불) 고전을 읽어두는 것이 평생을 두고두고 뒷심이 되어주며, 가능하다면 편식을 하지 마세요. 앞으로 나의 지식지도가 어떤 모양새로 나올지는 아무도 모릅니다. 내가 오늘 읽는 책이 미래에 어떻게 도움이 될지 모르는 것이죠. 항상 책을 읽으면서 자기의 "시스템"을 구축해 나가도록 하세요. 책을 씹고 소화해서 자기 몸化해야 합니다. 새로운 정보/지식이 들어오면 자기가 기존에 갖고 있던 시스템과 연결지으려는 노력을 끊임없이 하세요.
  • 지금그때2005/회의20050318 . . . . 23 matches
         == 첫 시간 행사 : 질 레스토랑 ==
         주사위를 굴려서 걸린 사람이 질을 던지고, 나머지 사람들이 대답하는 게임이다.
          매니저 : 레스토랑 소개, 주사위 굴리기, 질에 대답할 사람 선택하기, 입막음을 담당
          웨이터 : 질을 거둔 후 공지하기를 담당
          메뉴판(질등록지)
          자신이 원하는 질을 추가할 수 있음
          개인 질권(아이템)
          정말 질하고 싶은 경우 개인당 1회로 질권 발동
          질 등록
          메뉴판에 없는 질이 하고 싶은 경우 포스트 잇에 적음
          질이 적힌 포스트 잇은 웨이터가 수거
          새로운 질이 등록된 경우 주사위를 굴리기 전 웨이터가 모두에게 질을 알려줌
          원하는 사람은 질을 자기의 메뉴판에 추가할 수 있다.
          한 질에 대해 7분이 넘는 대답을 하는 경우
         홍보 수정 후 다시 올리기
          시 제외
         크게 두 개 부분,질 레스토랑과 OST 부분으로 나뉨. 3시간 20분 계획
         질 레스토랑
          6:25 질 레스토랑 소개
          7:55 Market Place에 질 받기
  • ErdosNumbers . . . . 22 matches
         [http://online-judge.uva.es/p/v100/10044.html 원보기]
         헝가리 출신의 수학자 폴 에르되시(Paul Erdos, 1913-1996)는 20세기의 가장 유명한 수학자 가운데 하나로 꼽힌다. 에르되시와 함께 논을 쓴 경험이 있는 수학자들도 존경을 받을 정도니 그의 명성을 짐작할 수 있을 것이다.
         하지만 불행하게도 모든 사람들이 그와 함께 논을 쓸 기회를 얻을 수 있는 것은 아니었기 때에 에르되시와 함께 논을 썼던 사람과 논을 같이 쓰는 정도로 만족해야 했다. 이런 이유로 인해 에르되시 수라는 것이 생겼다. 에르되시와 함께 논을 쓴 사람의 에르되시 수는 1이다. 에르되시와 직접 함께 눈을 쓰진 않았지만 에르되시 수가 1인 사람과 함께 논을 쓴 적이 있는 사람의 에르되시 수는 2다.
         주어진 논과 논 저자를 바탕으로 에르되시 수를 계산하는 프로그램을 만들어야 한다.
         입력의 첫번째 행에는 시나리오 개수가 들어있다. 각 시나리오는 논 데이터베이스의 이름의 목록으로 구성된다. 각 시나리오의 첫번째 줄에는 P와 N이라는 자연수 두 개가 입력된다. 그 다음 줄에는 논 데이터베이스가 입력되며 각 논마다 한 줄씩 저자에 대한 정보가 입력된다. 각 논에 대한 정보는 다음과 같은 식으로 기술된다.
         P개의 논 정보 밑에는 각각 하나씩의 이름이 들어있는 N개의 행이 입력된다. 이름은 다음과 같은 형식으로 입력된다.
         각 시나리오에 대해 "Scenario i"(i는 시나리오 번호)라는 내용이 들어있는 행을 우선 출력한다. 그 다음 줄부터는 입력된 모든 이름에 대해 이름과 에르되시 수를 출력한다. 저자의 이름은 입력된 순서대로 출력된다. 에르되시 수는 시나리오에 들어있는 논 데이터베이스를 기반으로 계산한다. 데이터베이스에 있는 논으로 볼 때 에르되시와 전혀 관계가 없는 저자들의 에르되시 수는 "infinity"로 출력한다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || 보창 || C++ || . || [ErdosNumbers/보창] ||
         [제분류] [AOI]
  • LUA_3 . . . . 22 matches
         1. 조건
         조건은 조건에 따라서 프로그램의 흐름을 바꾸는 역할을 합니다. 예를 들면 어떤 값이 1 보다 크면 A 라는 명령을 그렇지 않으면 B라는 명령을 수행 하도록 합니다. 대표적으로 if 을 들 수 있습니다. 지금부터 루아의 제어을 살펴 보겠습니다.
         2. 반복
         반복은 일정 범위를 조건을 만족하는 동안 반복 수행할 수 있도록 하는 명령 입니다.
         예를 들면 for, while, repeat 가 있습니다. 하나씩 살펴보도록 하겠습니다. 우선 가장 많이 쓰이는 for 부터 보겠습니다.
         [ for 변수 = 시작값, 종료값, 단계값(기본은 1) do 반복 될 명령 end]
         for 은 위와 같은 법으로 이루어져 있습니다. 예를 들면 아래와 같습니다.
         이제 while 을 보겠습니다. while법은 아래와 같습니다.
         [ while 조건 do 반복 될 명령 end ]
         마지막으로 repeat 을 살펴 보겠습니다. repeat는 C의 do~while과 유사합니다. 하지만 다른 점이 있습니다. 우선 while 과 달리 꼭 한 번은 실행 된다는 점, 그리고 조건이 거짓일 동안 반복 된다는 점, 그리고 마지막으로 do ~ end 블록이 아니라 repeat ~ until 로 구성 되어 있다는 점 입니다. 법은 아래와 같습니다.
         [ repeat 조건이 거짓일 경우에 반복 될 명령 until 조건 ]
         3. 마지막 반복 빠져 나가기...
         루아에도 break가 있습니다. 조건과 break를 통해 조건에 따라서 반복을 빠져 나갈 수 있습니다. 간단히 예제를 살펴 보고 끝내겠습니다.
  • 데블스캠프2010/셋째날/후기 . . . . 22 matches
          * 옛날부터 가지고 있던 고질적인 제를 다시한번 상기시켜주었던 강의였던것 같네요.. 저만 너무 한게없어서 팀원들한테 미안해지는... - [양아석]
          * 오늘 내가 팀장을 맡아서 팀을 짜서 팀프로젝트를 했는데 나의 제점을 알 수 있었고 내 성격과 특성을 객관적으로 볼 수 있어서 유익한 시간이었다.- [배진재]
          * simulation을 통해서 나의 학습 방법을 관찰자가 객관적으로 얘기해주어서 나의 학습 성향에 대해서 알게 되었다. 그리고 팀으로 학습을 하면서 실제로 팀플할 때의 발생할 수 있는 제점들을 미리 체험해 볼 수 있어서 좋았다. 선배님의 말씀을 통해서 많이 알게 된게 있는데 룰은 얼마든지 바꿀 수 있다는 것에 대해 많이 깨달은 것 같다. 사실 어떤 룰이 정해져 있으면 그 틀에서만 생각하고 활동 했기 때에 이번 세미나를 통해서 많은 생각이 들었다. 앞으로도 많은 일을 하겠지만 그 때마다 오늘의 simulation을 생각해 보면서 생각의 폭을 넓히고 좀더 유동적이고 능동적으로 해야겠다. [박재홍]
          * 관찰자와 플레이어로 나뉘어 학습하는 시뮬레이션을 진행했습니다. 저는 따로 자원해서 관찰자를 했었는데 상당히 유익한 시간이었다고 느꼈습니다. 사람을 관찰하고 또한 분석한다는 것이 생각보다 힘들지만 대신에 보는 시야가 한층 넓어진다는 것을 알수 있는 좋은 기회가 되었습니다. 사실 더 많은 것을 느낀 시간은 후의 느낀 점을 발표하는 시간이었는데요, 제가 느낀 점을 발표하고 다른 사람들이 발표하는 것을 듣고 거기에 김창준 선배님이 조언해주는 것까지 들으며 이런 저런 많은 생각을 할 수 있는 좋은 기회였습니다. 인생의 모든 순간은 선택이므로 학습이나 혹은 삶에서 자신이 취하는 모든 행동은 결국, 자신이 그렇게 했기 때에 비롯된다는 것에 대해 한번 더 깊게 생각해보고 자신을 반성할 수 있는 시간이었습니다. 오늘 단 하루로 '아, 즐거웠다' 가 아닌, 앞으로 삶을 살아가며 '매 순간 순간의 선택은 자신이 결정하는 것이다' 라는걸 새겨야겠습니다. - [김준영]
          1. 관찰자를 할까 생각하다 플레이어로 참가했는데, 관찰자들이 시뮬레이션 후에 발표했던 이야기를 듣고 저에게 어떤 제가 있는지 알게 되어 플레이어로 참가하길 잘했다는 생각이 들었습니다. 중고등학생때부터 조별 활동을 여러차례 했었는데 만족한 경험보다 그렇지 못한 경험이 훨씬 많았습니다. 각 활동은 다양한 주제와 상황 하에서 이루어졌는데 모든 조별 활동에서 공통적으로, 그리고 가장 불만이었던 부분은 대다수의 팀원들이 적극적으로 참여하지 않는 점이었습니다. 그런 불만을 해결하기 위해 저는 '내가 미리 더 많이 생각하고 방향을 제시해야겠다'고 생각했습니다. 그런데 오늘 시뮬레이션을 해보니 제 태도로 인해 오히려 팀원들이 더 참여하기 힘들어질 수 있다는 것을 깨달았습니다. 앞으로는 팀원들이 참여하지 않는 것이 제라고 느껴질 때 제 의견을 주장하는 대신 팀원들이 모두 자신의 의견을 말할 수 있도록 해야겠다는 생각이 들었습니다.
          2. 논을 처음 보고 '여기서 가장 중요한 게 뭘까? 그거 위주로 보면 좋을텐데.'라고 생각하면서 전체 내용을 대충 훑어봤는데 생소한 내용이라 뭐가 중요한지 조차 알 수 없었습니다. 나중에 김창준 선배님께서 논의 제목에 대해서 말씀하셨을 때 제목에 먼저 집중했으면 좋았겠다는 생각이 들었습니다. 제목을 이해했다면 논에서 다루고자 하는 것이 무엇인지 알기 훨씬 좋았을 것이고, 똑같이 논을 읽더라도 내용을 파악하기 더 쉽지 않았을까 하는 생각이 듭니다.
          3. 되돌아보니 질을 하거나, 룰을 바꾸려는 생각조차 하지 못했다는 게 굉장히 안타깝습니다. 이 시뮬레이션에서 뿐만이 아니라 평소에도 부딪쳐보지도 않고 지레짐작으로 '당연히' 안 되는 것이라고 생각하는 게 많았습니다. 앞으로는 그런 생각에서 벗어나 필요하다면 더 잘 아는 사람에게 질도 하고, 필요한 것이 있으면 룰을 바꾸려는 노력, 제안, 시도 등을 해야겠다는 생각이 듭니다. - [김수경]
          * 김창준 선배님께서 강의를 해주실 때마다 느끼는게 많습니다. 작년에 이어서 요번에도 강의를 해주셨는데, 요번에도 '생각의 틀을 깨라'라는 말씀을 해주시더군요. '왜 시간 연장해달라고 물어보지 않으셨나요?' 라는 질을 하시는 모습을 보며 작년에 '왜 동그라미 10만개를 그려야 하는지 물어보지 않으셨나요?' 라고 하셨던 질이 생각났습니다. 생각해보니 '규칙, 틀' 이런 단어에서 오는 느낌때에 스스로를 주어진 틀 안에만 가두는 것 같습니다. 이 점 고쳐나가야 할 것 같구요.
          * 처음에는 학습 이라는 주제에 무엇을 할까 궁금했는데 참 신기한 방법으로 저에대한 제를 파악할 수 있어서 유익한 시간이었습니다. 실제 학습을 하다보니 사람마다 유형이 판이하게 다른것도 너무 흥미로웠고 또한 한편으로는 제가 구글을 너무 믿는 구나 라는 것도 느꼈습니다..(ㅎㅎ) 나중에 회고시간에 선배님께서 '룰'을 깰 생각을 한 사람이 아무도 없다는 점이 놀랐다고 하셨는데 그 얘기를 듣는순간 내가 너무 룰 이라는 것에 박혀서 그걸 깰 생각을 하지도 조차 못하고 수동적으로 살아왔나 라는 생각도 하게 되었습니다. - [이원정]
          * 파이썬의 기본적인 사용법을 배웠습니다. 그림을 그리는 코딩을 하면서 파이썬이 정말 재미있다고 생각하게 되었습니다. 기회가 된다면 따로 공부하고 싶네요~ [김준영]
          * 러플과 함께 또다른 언어를 배웠네요! 근데 정말 재밌습니다 ㅋ 법이 어렵지 않아서이그런건지... 또 그림을 그릴 수 있다는 새로운 방식에 재미를 많이 느꼈어요. 일단.. C와 C++을 마스터 한 후에...?!!! 파이썬도 열심히 해봐야겠네요 ^^ 감사합니다! - [이충현]
          * Python이라는 언어의 특징에 대해서 알아보고 사용법에 대해 배웠다어요 C에 비해서 편한점이 많은 것 같았고, 개발자 분이 만드실 때 참 재밌게 만든 것 같다는 느낌이 들었어요ㅋㅋ. 거북이를 이용해서 여러 그림도 그려보고 재미있었어요~_~. 설명도 잘 해주셔서 이해하기 쉬웠고 코딩도 생각보다 잘 되서 좋았어요~ㅋPython에대해 좀더 알아보고 싶고 더 재밌는 그림도 그려보려고요~! [박재홍]
          * Python, 개인적으로 참 배워보고 싶었던 언어였습니다. 왜냐면 ZP가 사랑하는 언어잖아요... ㅋㅋㅋㅋ 한번 들어보니 새롭긴 했습니다. 작년에 루아를 잠깐 공부해본적이 있었는데 자료형에 대해선 같은 특징을 가지고 있더라고요. 역시 '스크립트 언어는 인터프리터를 사용해서 자료형을 지정하는 것이 유연성이 없어서 그런가보다'라는 생각이 들었습니다. 재미지네요. 그런데 제가 스크립트 언어 하나 정돈 제대로 배워볼 생각인데 파이썬 한번 해봐야겠네요. - [박성현]
          * 개인적으로 파이썬에 관심이 있어서 나중에 따로 배우려고 했는데 이렇게 공부를 할 시간이 있어서 무척 좋았습니다. 써보니까 확실히 유명한 만큼 쓰기도 편하네요. 근데 초반에는 괄호가 없이 들여쓰기만으로 장을 나눈다는 게 약간 익숙하지 않아서 버벅였습니다. ;; 그리고 현태 선배 간만에 본 것도 엄청 좋았어요. - [서민관]
  • 병역문제어떻게해결할것인가 . . . . 22 matches
         병역 제로 고민하고 있는 사람(특히 전산인)들에게 도움을 주었으면 하는 취지로 만든 페이지
          * 이 항목이 미래창조과학부(MSIP)주관, 정보통신산업진흥원(NIPA)운영하는 SW 마에스트로와 MOU를 체결한 그 부서의 그 특기병과를 지칭한다면, 지원하기 위해서는 활동량이 많은 제로페이지 회원이어도 지원 자격 요건은 충족할 수 있습니다만, 그건 구색을 맞추기 위한 지원조건이고, 실제로는 MOU 체결한 기관의 지원자에게 우선순위를 부여하기 때에, 비 기관 지원자가 서류를 통과할 가능성은 거의 없다고 합니다. (입대설명회에 나온 간부가 말하길 서류 특별점수가 60점 정도 되는데, MOU 기관은 만점 채우고 시작, 아닌 사람은 산더미 만큼 모아와야 채울 수 있다고 합니다.)
          * 모집하는 TO는 2014년 7월 입대를 기준으로 6명이라는 소이 있음. 2014년도에 16명 뽑을 거란 얘기도 있음. 부대 인원은 대충 20~30명 정도인듯
          * 서류 합격시에 확인 전화 하라고 자가 오는데, 사이버병이라고 하면 담당자가 못 알아들음. 반드시 자에 적힌 그대로 얘기할 것. (이번에는 S/W 개발병 이었음)
          * 말그대로 레이다를 운용하는 특기병. 해안가 기지에서 육지로부터 10마일 이내의 범위를 감시합니다. 나름 매달 모집하고, 학과와 자격증에 따라 추가점수가 있기 때에 대부분 합격할 수 있습니다. 훈련소를 마치고 후반기교육을 받은 후 자대 배치를 받으며, 해안가 기지로 배치받기 때에 인천부터 시작해서, 해남/완도, 여수, 부산, 강원도 등 어디를 배치 받을지 알 수 없습니다. 감시 기지이기 때에 격오지로 취급해 휴가와 수당이 지급되며, 24시간 작전부대로 취급되어 체력단련 및 기타 사격 훈련, 유격, 혹한기 등의 훈련이 없습니다. 단점은 분대 단위로 근무에 투입되어 3교대를 한다는 것이지만, 밤새서 과제하던 여러분이라면 금방 익숙해질 것 입니다. 격오지 부대라서 PX가 없지만 주에 한번꼴로 황금마차가 방합니다.
          * 자세한건 [김정민], [이민욱]에게
          * 별 제 없다. 나이보다 현재 나의 모습, 능력이 중요하다. 오히려 다양한 경험을 할 기회가 중요하다.
          * 산업기능요원과 전연구요원 같은 경우 복무만료 전까지 4주 기초군사훈련 기간을 선택할 수 있음. 복무기간에도 포함 됨.
          * 2016년 이후 재배정 TO에 한하여 대학생도 사용가능하도록 하여 일부 인원들은 TO를 받을 수 있게 되었으나, 수요에 비하면 재배정 TO는 굉장히 적은 상황입니다.
         === 전연구요원 ===
          * 석사 전연구요원 : 석사 이상의 학위를 소지하고 병역지정업체에서 일정 기간동안 재직
          * 박사 전연구요원 : TEPS, 대학원 성적을 통하여 일정 인원들에 한해 박사 과정 진학 후 교내에서 전연구요원을 할 수 있음. 현재 과기원들도 박사 전연 TO 감소로 인하여 경쟁이 어느정도 있다고 알려짐. 단 보충역의 경우 일정 조건만 만족하면 가능
          * 우리 학교 학생이 3군의 군장학생으로 선발될 경우 육군 ROTC를 제외하면 전원 학사장교로 임관합니다.(복무기간 의무3년+장학금수혜기간)
          * 2학년 겨울방학 부터 매 방학동안 여러 훈련 이수 - 따라서 계절학기는 거의 못듣는다 보면 되고, 수강신청 기간과 훈련 기간이 겹치는 등의 제가 생길 수 있음
          * ~~[http://www.caucse.net/phpwiki/index.php?%C4%C4%B0%F8%C0%CE%B1%BA%B4%EB%B0%A1%B1%E2 컴공인군대가기(동서버 위키)]~~
          * ~~[http://165.194.17.15/~wiz/data/document/021112_지정업체선정및인원배정.hwp 2003년 병특 인원등등 서]~~
  • 코드레이스/2007/RUR_PLE . . . . 22 matches
          * 준비자 : 01 김상섭, 04 보창
          * 로봇 사용법 20분
          * Python 언어를 사용하여 컴퓨터 프로그래밍 언어를 배울수 있는 환경이다.
          * Python 법 기반이지만, 몰라도 상관없다. 주어진 함수들을 가지고 해결해 나가기 때이다. 변수도 안쓴다. -_-
          * 실제로 로봇에 프로그래밍 해서 그 로봇이 현실에서 자신이 프로그래밍 하는데로 움직이는것을 보면 정말 좋겠지만 여건이 안되는 만큼 -_-; 화면으로나마 그 로봇이 움직이는 것을 보면서 프로그래밍 해볼 수 있다. 여기에서 작성하는 코드들이 무슨 쓸모가 있을까 싶기도 하겠지만, 추후에 실제 로봇의 동작을 프로그래밍해서 넣는다면 여기서 쓰이는 방식과 비슷하게 넣을것이다.(하드웨어적으로 복잡한것을 명령어로 추상화 시킨다음에 그 명령어을 적절하게 복합적으로 사용하여 원하는 행동을 로봇이 하게 만드는 식으로..) 즉 말그대로 로봇 프로그래밍을 간접적으로나 해볼 수 있다.
         = 간단한 러플 사용법 =
          * 아래 그림과 같이 로봇이 신배달 하게 함 코드를 작성해보자
          * repeat 명령어를 써서 여러번 수행해야 하는 함수(명령어 포함)을 한번에 방복 횟수만 지정해서 사용할 수 있다.
         == if 사용 ==
          * 위의 if과 함수 정의, repeat를 사용하여 아래 화면과 같은 상황을 처리한다.
         === else 사용 ===
          * else 은 아래 코드처럼 쓴다.
          * not은 아래와 같은 식으로 사용한다.
          * 제에서 아래와 같은 소스를 참고 하라고 한다. 저는 좀 다르게 했습니다. 우선 참고는 했고..
          * 아래와 같은 식으로 사용한다.
          * while사용하여 중복된 씨앗의 개수가 2 이상인 임의의 개수일 경우에도 처리 가능하게 위 소스를 수정한다.
          * sorting 제를 풀고나서 시간 남은 분은 해보시길. [http://rur-ple.sourceforge.net/en/amazing1.htm 러플 Amazing 설명]
  • AcceleratedC++/Chapter3 . . . . 21 matches
         여태까지의 기초적인 입출력 제를 넘어서서 본격적인 작업을 다루기 시작하는 장이다.
         // 이 장은 다음과 같다.
         // 요건 string형 변수 insu에 "insu"라는 자열이 들어간다.
         // -8437535 이거 비슷한 이상한 숫자가 들어가게 되는걸 보게 될 것이다.
         // 숫자의 정밀도를 조절해준다.
         // 유효숫자는 3자리가 되고, 일반적으로 소숫점 앞의(정수부분의) 2자리, 소수보분의 1자리로 채워지게 된다.
          위에서 살펴본 while(cin>>x)구을 살펴보도록 하자. 위에 써놓은 바에 의하면 cin >> x가 성공할동안 계속 루프를 돈다고 했다. 그러면 언제 실패할까?
         // 이 장은 다음과 같다.
          * bool과 숫자 : 조건 내에서 0이외의 숫자는 모두 true로 변환, 0은 false로 변환된다.
          * bool과 cin : 역시 cin도 조건 내에서 쓸수 있게 변환된다. 지금은 자세히 알 필요 없다.
          * 입력 하드웨어 상에 제가 생길때
          * 평균값 대신에 중간값을 사용하는 프로그램으로 변경한다.
          * vector 사용하기
          * typedef : vector<double>::size_type이라고 일일히 쳐주기엔 너무 길기 ㅤㄸㅒㅤ에 vec_sz로 줄여쓴 것이다.
          return 1; // main함수가 0을 리턴하면 성공적으로 끝난것이고, 그 외의 숫자는 실패적으로 끝난것이다.
          * ? : : ? 앞의 장이 참이면 ?와 :사이의 장을 수행, 거짓이면 : 뒤의 장을 수행
          * C++의 스탠다드 라이브러리들은 걱정하지 말고 써도 된다. C++은 performance-critical한 애플리케이션 제작을 위해 만들어졌기 때이다.
  • Basic알고리즘/빨간눈스님 . . . . 21 matches
         == 제 ==
         {{| 옛날에 어느 나라에 승려들만 모여 사는 섬이 있다. 그들 중에서 어느 사람은 눈이 빨갛고 어느 사람은 눈이 갈색이다. 눈이 빨간 사람은 마법에 걸려 있기 때에 스스로 눈이 빨갛다는 사실을 깨닫게 되면 그 날 밤 12시에 그 나라를 떠나서 사라져야만 한다. (무조건) 승려들은 서로의 눈 색깔에 대해 전혀 언급하지 안는다는 불율이 있었기에 상대방의 눈 색깔을 알려줄 수도 없었따. 그 섬에는 거울도 없고, 거울 비슷한 물건도 없었기 때에 자신의 눈이 무슨 색인지 아는 사람은 아무도 없었다. 그래서 그들은 자신의 눈 색깔을 알 길이 없었기에 행복하게 살아갈 수 있었으며, 그 나라를 떠나는 사람도 아무도 없었다. 그러던 어느날, 그 섬에 관광객이 찾아왔다. 그는 승려들 사이에 존재하는 규칙을 알지 못했기 때에 절대로 하지 말아야 할 말을 내뱉고 말았다.
         무심한 관광객은 그 날로 돌아갔지만, 남아 있는 승려들은 생전 처음으로 눈 색깔에 대한 말이 나왔기 때에 크게 동요하지 않을 수 없었다. 그리고 그 날 밤부터 그 섬에는 무서운 일이 일어나기 시작했다. 과연 어떤일이 일어났겠는가? |}}
         상당히 좋은 제입니다. 이 제를 컴퓨터를 도구로 사용해서 해결을 하는 훈련을 하면 상당한 사고훈련이 될 것입니다. 적극 권합니다. 스스로 이 제의 답을 알고 있다고 생각하는 사람도 직접 프로그래밍을 해보거나 하시면 많은 것을 느끼고 깨닫게 될 것입니다. --JuNe
         이것은 허회장께서 요즘 보시는 책에 나와있는 제군요 ㅋㅋ 재미있는 제입니다. - 도현
          * 관광객이 거짓말한 경우 (눈이 빨간 스님이 아무도 없는경우) : 이 경우에는 모든 스님들이 섬을 떠나게 된다. 왜냐면 모든 스님들은 자신의 눈을 제외한 다른 사람들의 눈 색밖에 볼 수없는데 만약 다른 모든 사람들의 눈 색이 갈색이라면 자신의 눈 색이 빨간 색이므로 섬을 떠나야 한다고 생각하게 된다. 빨간색의 눈을 가진 스님이 아무도 없기 때에 모든 스님이 이렇게 생각하게 된다.
          * 눈이 빨간 스님이 한분 있는 경우 : 이때 자신의 눈이 빨간 스님은 다른 모든 사람들의 눈이 갈색인것을 보고 자신의 눈이 빨갛다는 것을 알수 있고 섬을 떠나게 된다. 그리고 남은 스님들은 빨간 눈의 스님이 한분 떠난 것을 보게 된다. 그리고 각자 자신이 보는 다른 모든 스님들의 눈 색은 갈색인데, 적어도 한명은 눈이 빨간색이라고 했기 때에 자신이 볼때 남은 스님들의 눈이 모두 갈색이더라도 자신이 100% 빨간 눈이라고 할수 없기 때에 떠나는 스님은 없게 된다.
          * 눈이 빨간 스님이 여러명 있는 경우 : 이때는 자신의 눈이 빨갛더라도 다른 빨간 눈의 스님이 있는 것을 볼 수 있기 때에 자신이 100% 빨간 눈이라고 확신할 수 없다. 떠나는 스님이 없게 된다.
          * 눈이 빨간 스님이 2분 이상일때 - 최소한 한명의 눈이 빨간 사람을 보게 되므로 자신이 눈이 빨갛다는 것을 확신할 수 없기 때에 아무도 떠나지 않는다.
         (관광객이 한 말이 참말이라는 전제로 제를 풉니다.)
         * 관광객이 거짓말을 했을때도.. 답이 있었는데.............. 어쨌든 이 제 진짜 재미있어서 예전에 봤는데 지금까지 기억하는 제 +_+ --선호
  • MineFinder . . . . 21 matches
          * 기간 : 2002. 2. 10 ~ 2.23 (서화 작업과정 포함해서.. 2주 걸릴듯.)
         2월 16일까지 프로그래밍 완료. 2월 23일까지 서화 완료.
          * 목표수정 - 뜻하지 않은 제로. -_-; 2월 28일. 말일까지는 어떻게든! --;
          * 98 버전의 지뢰찾기와 2000 버전의 지뢰찾기가 비트맵데이터가 달라서 생기는 제 어느정도 해결.
          * Expert mode 깰 수 있는 확률을 높임. 최적화내에서 해결할 방법은 더 힘들듯. 98과의 호환성 향상제 해결이후 종료 예정.
          * 미션 크리티컬한 제였다면 그냥 넘어가면 안될 일이지만. -_-; 장난감 가지고 노는 기분으로 한 일이였던지라.~ 그리 무게감을 가지고 한 일이 아닌 관계로 특별히 나쁘진 않았다.
         == 참조 서 ==
         [영현] 형 신기해~ ㅎㅎㅎ bitmap data로 숫자들과 거시기들을 구분한건가..ㅡㅡa.. spy 좋구만..[[BR]]
          * 컴퓨터가 실패했을 경우 자동으로 다시 시작하여, 사용자가 중지시키거나 지뢰를 다 찾을때까지 프로그램을 계속 진행시킨다.
         지뢰 버튼을 열고 깃발체크를 위한 마우스 클릭시엔 WM_LBUTTONDOWN, WM_RBUTTONDOWN 이고, 단 ? 체크관련 옵션이 제이니 이는 적절하게 처리해주면 될 것이다. 마우스클릭은 해당 Client 부분 좌표를 잘 재어서 이를 lParam 에 넘겨주면 될 것이다.
          * 빈칸, 깃발체크, 숫자들 등 Cell들에 대한 상태 확인
          * 컴퓨터가 실패했을 경우 자동으로 다시 시작하여, 사용자가 중지시키거나 지뢰를 다 찾을때까지 프로그램을 계속 진행시킨다.
          * 반성 : 차라리 순수 TFP 로 해 나갈걸 그랬다는 생각이 든다. 테스트 코드에 대한 아이디어를 제대로 못내었다. (아.. 타성에 젖으면 안되건만. --; TFP중 막힐때 예전방식으로 플밍하려고 하는게 제이다. -_-;)
          * 비트맵의 종류가 한정적이라는 점에서 착안, Block 전체에 대한 비교대신 한줄에 대한 비교로 바꿨다. (블럭마다 숫자들의 색이 다르므로, 이를 이용하면 속도 향상을 이끌어 낼 수 있겠다.)
          // 숫자인 경우.
          * 제점의 발생 - windows 98 이하버전의 지뢰찾기 비트맵부분
          * 해당 빈칸들에 대해서 주위의 숫자들의 합이 가장 낮은 빈칸을 여는 것.
          * Random Open 에 대한 확률 높이기 시도 - 해당 빈칸들에 대해서 주위의 숫자들의 합이 가장 낮은 빈칸을 50%의 확률로 열기 시도. 비교적 빈칸을 여는 확률이 높아지긴 했다. (단, 의미없는 곳이 열리는 경우가 많다는점에서 개선의 여지필요)
         검색을 하다가 우연히 [MineFinder] 페이지를 발견했습니다. 상당히 재미있더군요, 소스를 무척 깔끔하게 이해하기 쉽도록 만드셔서 무척 인상깊게 봤습니다. 다름이 아니오라 질이 있어서 이렇게 글을 남깁니다. 지뢰찾기 알고리즘에서 각 블럭의 상태를 비트맵으로 비교를 하고 있는데 지뢰찾기 윈도우의 비트맵 데이타를 어떻게 추출하셨는지 궁금합니다. 제가 윈도우 초보라서 그런지 몰라도 무척 궁금하네요. 그 방법을 다른 응용 어플리케이션에서 얼마든 응용할 수 있을 것 같아서요. 답변 부탁드립니다. --동우
         답변 감사드립니다. 제가 질드리고자 했던 포인트는 GetClientRect API를 통해 윈도우의 클라이언트 영역을 가져와서 실제 비교하는 IDB_BITMAP_MINES 비트탭 리소스를 말씀드린 것이였습니다. IDB_BITMAP_MINES 비트맵 리소스도 GetClientRect 를 통해 추출하신건가요? 만약 그 API로 추출하셨다고 해도 클라이언트 영역 전체가 캡쳐가 되었을 텐데 숫자와 버튼등을 픽셀 단위로 어떻게 추출해서 IDB_BITMAP_MINES 리소스로 만드셨는지 궁금합니다. MineFinder 페이지에는 IDB_BITMAP_MINES 리소스를 만드는 이야기는 없어서요. --동우
  • MoniWikiTutorial . . . . 21 matches
          * '''쉽고 빠르게''': HTML 법을 몰라도 누구나 쉽게, 그 결과는 바로바로 웹페이지로
          * 계정 만들기: UserPreferences로 가서 사용자 등록을 합니다.
          * 사용자 ID: 영으로 사용자 ID를 만들 경우 보통 소자 구성된 사용자 ID를 만드는 것이 일반적이지만, 위키위키에서는 FooBar같은 낙타식 사용자 ID를 종종 사용합니다. 한글로 만드셔도 됩니다.
          * UserPreferences: 사용자 가입/로그인/설정
         == 다섯째고개: 기본 법 ==
         공백을 보존되는 preformat을 사용하고 싶은 경우는 중괄호`{{{{{{ ... }}}}}}`를 사용합니다.: {{{
         사용례:
         고급기능인 플러그인을 사용할 수 있습니다.
          * 매크로는 페이지에 따라 종종 동적으로 변할 수 있습니다. 예를 들어 {{{[[Calendar]]}}}매크로를 사용하면 보이는 달력은 날마다 그 내용이 변할 수 있습니다.
          * 주로 사용하는 매크로는
          * ` PageList` - 인수로 사용되는 패턴과 일치하는 페이지 목록을 보여줍니다.
          * 페이지를 만들때는 Template를 사용하면 편리한 경우도 있습니다.
         모니위키에 관련된 제점은 MoniWiki:MoniWiki 혹은 http://kldp.net/projects/moniwiki 를 통해서 질하시기 바랍니다.
  • ZeroPageServer/Mirroring . . . . 21 matches
         이번호에서는 이러한 유틸리티를 사용하지 않고, 미러링(Mirroring) 기능을 이용하여 로컬시스템 또는 원격서버의 데이터를 그대로 복사하여 백업하는 방법에 대해서 알아봅니다......
          할 때 이 방법이 사용된다.
          여러대의 서버를 분산하여 서버를 동기화하는데 rsync 유틸리티가 많이 사용된다.
          를 설치하여 사용한다. 그러면 우선, rsync 패키지가 설치되어 있는지를 확인해 본다...
          은 다음과 같다. rsync 사용법에 관한 자세한 것은 잠시 후에 살펴보기로 하자...
          사용하여 원격 서버에 접속을 하게 되면 패스워드를 묻게 되는데, 원격 서버의 루트 패스
          워드를 입력한다. 만일 일반 사용자 계정으로 이 명령을 수행한다면 원격 서버에도 동일한
          용자가 직접 만들어 사용해야 한다. 이 파일의 설정 형식은 다음과 같다.
          uid = 사용자 ID
          ① {{{[rsync 서비스명]}}} : rsync 서비스의 이름(모듈명)이다. 사용자가 원하는 형태로 서비스명
          ④ uid, gid : 각각 파일 전송하는 사용자와 그룹의 아이디로, 익명 접속이 가능하도록 기본값
          은 nobody로 설정되어 있으므로 이 값을 그대로 사용한다.
          ⑤ use chroot : path로 지정된 경로를 root 상위 디렉토리로 사용한다. 사용자가 다른 상위
          ⑦ host allow : 접속 호스트를 제한하지 않으면 누구나 데이터를 가져갈 수 있기 때에 익
          rsync 서비스는 슈퍼데몬 xinetd에 의해서 작동하기 때에 /etc/xinetd.d/rsync 파일을
         # 7. rsync 사용
          그러면 rsync의 사용법에 대해서 자세히 알아보자.........
          rsync에서 자주 사용되는 옵션은 -avzr이다. -a 옵션은 아카이브 모드이며, -v 옵션은
          rsync를 이용하여 로컬 시스템의 데이터를 백업하려면 다음과 같은 명령을 사용한다.
          된 데이터를 추가하거나 삭제하고자 할 때 사용하는 데이터 비교 옵션이다.
  • 간단한C언어문제 . . . . 21 matches
         영호가 내는 간단한 C언어 제.
         C언어 기초를 *제대로* 배웠다면 아주 쉬운 제가 될 것이다.
          for(i=0; i<10; i++){ // 딴지 : {는 for 뒤에 쓰는 것이 좋다. -_-. 내리는 것은 정말 좋지 않은 스타일이다.(가독성을 해친다.)
         signed int형인 a와 b를 더하면 (65535/2)에서 데이터가 넘치게 되어 -숫자가 나온다. (-65536/2)+((30000+30000)-(65536/2-1)) <- 제대로 설명을 못하겠다;;; - [이영호]
         옳지 않다. 제점은 b=a;에 있다. const char *형을 char *형에 대입할 수 없다. 컴파일러 에러. - [이영호]
         옳지않다. atof함수로 float변환은 되었지만, atof함수의 프로토 타입이 있는 헤더를 추가하지 않았기 때에 int형으로 return된다. 즉, num엔 숫자 123이 담긴다. ANSI C99에서는 프로토타입이 선언되지 않으면 컴파일되지 않도록 변했다. - [이영호]
         안옳다. 최초의 0을 제외숫자가오는 시점부터 프린트 되는거같다. -[정수민]
         옳지않다. 0을 앞에 적으면 8진수로 취급된다. 0x숫자 <- 16진수 - [이영호]
         char ss[] = "A2 자";
          if(isdigit(ss[i])) puts("숫자");
          else puts("일반 자");
         옳지않다. ss[]의 "자"란 단어는 isdigit로 확인 할 수 없다. (확장코드이므로.) 이것을 isdigit로 확인 하려면 unsigned char형으로 선언 하면 된다. 기본 char형은 signed형이다. - [이영호]
         안옳다. 와일의 조건에는 콤마가 허용돼지 않는거같다. -[정수민]
         옳다. ,의 앞은 비교이 아니라 선행 수행으로 처리한다. - [이영호]
         옳지않다. 함수의 프로토 타입이 정의되지 않았기 때에 return형이 int형으로 바뀐다. 프로토타입은 return 타입을 컴파일러에서 알기 위해 쓰이는 것이다. - [이영호]
         네 . ^^ 근데 생각보다 어렵네요 김승욱 교수님 시험 스타일이 득 생각나네요ㅋㅋ --아영
         너무 쉬운 제들이야 많이 생각하고 풀어봤잖아. 이쯤에선 기초에 치중한 중간 난이도의 제가 필요하지. --영호
  • 새싹교실/2012/강력반 . . . . 21 matches
         1.visual studio 사용
         char - 1바이트의 자 - 숫자자를 표현(아스키코드)
          %d, %f 등 변수의 숫자자를 출력하기 위한것들
         상황에 따라 프로그램을 다 만들기 귀찮으므로 사용
         switch(a) a는 정수나 자만 가능(자는 아스키코드로 정수이므로)
          * 설유환 - printf함수, scanf함수, if, else if, switch 제어을 배웠다. 특히 double, int, float의 차이를 확실히 배울 수 있었다. 잘이해안갔던 #include<stdio.h>의 의미, return 0;의 의미도 알수 있었다. 다음시간엔 간단한 알고리즘을 이용한 게임을 만들것같다. 그리고 printf("숫자%lf",input);처럼 숫자를 이용해 소숫점 표현량을 제한하여 더 이쁘게 출력하는법도 배웠다.
          * 장재영 - printf와 scanf. swtich, if else if등을 배웠고 수업시간에 배운것 말고 새로운 이론도 배웠다 그래도 이론수업보다는 실습시간이 더 재밌다. 다음시간에는 반복에 대해서 배우고 실습해 볼 것이다. 아픙로 수업시간에 듣는것 말고도 다른 것도 좀 배워보면 조헥ㅆ다. 이해가 안가는 이론을 한번더 들을 수 있어서 수업과정을 이해하는 데도 도움이 많이 되었다. 또 적은 수의 사람이 모여서 하기 때에 프로그래밍할때 이해가 안되는 부분을 더 자세히 들을 수 있어서 이해하는데 도움이 되었다.
          * 황현제 - 우선 c언어에서 쓰이는 기본적인 연산자가 무엇이 있는지에 대해서 배웠다. 또한 함수 4가지에 대해서 배웠는데, printf, scanf,switch, if에 대해서 배웠고 그리고 새싹강사님께 C를 이용해 작성하신 프로그램을 구경하기도 했는데, C로 이런것도 할 수 있다는 것을 알았다. 새싹 강사님께서 우선적으로 설명을 해주신다음 새싹들이 실습하는 방식으로 수업이 진행됬는데, 옆에서 강사님이 지속적인 피드백을 해주셔서 이해하기가 편했다. 다음에는 반복에 대해서 배우고, 실습도 해봐야겠다.
         1.반복(while, for)
         같은 작업을 계속 하기 위하여 사용
         반복사용한 기본적인 예제
  • 새싹교실/2013/케로로반 . . . . 21 matches
          * 자료형과 printf 및 scanf의 서식 자를 설명하는 것으로 (새싹교실 #01)ppt를 마무리 하였습니다.
          * 드디어 실습에 들어갔습니다. 실습 주제는 반복 이해하기 였습니다.
          * while을 통해 1~10 까지 출력시키는 구을 작성하고, 이를 통해 for이 필요한 이유에 대해 설명해 주었습니다.
          * 2명이 말도 없이 나타나지 않아따! (팀플 때이라고 합니다.)
          * for과 while을 다시 복습하고. do while과의 차이점을 설명했습니다.
          * select case과 if에 대해서 학습했고, dangling else에 대해서도 설명했습니다. 들여쓰기의 중요성!
          - 시험 점수를 입력받는데, 90점 이상이면 A, 80점 이상이면 B, 70점 이상이면 C, 60점 이상이면 D, 50점 이하이면 F를 출력하는 기능을 만들고, 사용자가 -1을 입력할 때 까지 계속 반복될 수 있도록 하세요.
          * if else을 이용하여 해결한 학생은 else의 필요성을 알 수 있게 했습니다.
          * 단순 if만을 사용하여 처리하는 경우에는 논리 연산자의 활용을 할 수 있게 했습니다.
          * do while의 필요성을 느끼게 했고, for과 while과의 차이점을 느낄 수 있도록 하였습니다.
          * if와 else if를 익히고 switch case을 익힌 뒤, 둘의 비슷한 점과 차이점을 익혔습니다.
          * switch case에는 break가 필요하다는 사실을 강조했습니다.
  • 정모/2003.1.15 . . . . 21 matches
         4. zeropage의 제점과 앞으로 해야할 일들
         === RT 와 MT 제 ===
         === zeropage의 제점과 앞으로 해야할 일들 ===
          * 02학번들의 참여 부족. 이유로는 학회 분위기가 가족적인 분위기가 이루어지지 않는게 가장 제.
          * 좋은데 왜 제가 되는지 잘 모르겠다.
         여기에 나온 모든 제에 대해 모두 대안이 나온걸루 아는데.. 안써있네요.. 상협이가 대안은 생각도 않은줄로 알겠군요..^^ --["상규"]
          * 참여 인원 부족을 손꼽았는데, 이건 작년에도 있었던 제고, 그리 큰 제가 된다고 생각하지 않습니다. 과에는 사람이 많으니깐, 또 자신의 주위에서 사람을 포섭해도 되구요. 꼭 사람이 많아야 잘된다는 법은 없으니, 지금을 오히려 기회라고 생각하죠. 더 응집도 잘될테고..
          * 02들끼리 안친한걸 제로 삼았는데, 제로페이지는 친목 단체가 아니고 학회인 만큼 그리 큰 제라고 생각하지 않습니다. 같이 프로젝트도 하고 스터디도 하다보면 자연 호감도 갈테니깐요.. 지금의 01들처럼...
          * 위키가 어렵다 -> 위키는 처음 접근 장벽이 높은거 같습니다. 우리 01들이 02들에게 그걸 낮춰주지 못한게 실수인거 같습니다. 우리 01들도 처음에는 잘 사용안하다가, 위키를 사용하는 프로젝트를 함으로써 위키를 적극적으로 사용하게 되었는데, 02들을 대상으로 하는 프로젝트중 데블스 캠프 말고는 제대로 위키를 사용하게끔 도와준 프로젝트가 없었던거 같군요. 그나마 지금 활동하는 02들은 위키를 사용한다는 점이 위안이 됩니다. 03학번부턴 이걸 유의해야겠죠.
          * 실력 없는 사람들의 열의가 금세 사라진다. -> 실력이 없어서 열의가 없는게 아니라 열의가 없어서 실력이 없는거 같네요. 이런건 뭐 주위에서 뭐라고 할 수 있는 제가 아닌거 같습니다. 그사람이 흥미가 없어서 그런거니.. "해커 그 광기의 기록"이란 책을 보면 MIT에서도 해커적으로 프로그래밍을 즐기는 사람들과 단순히 열의 없이 주어진 공부를 하는 사람들이 있던데, 이건 뭐 어디가나 마찬가지인가 봅니다. 제 의견으로는 두 부류로 나누는건 힘들거 같습니다. 열의가 있는 사람들도 지금 힘든판에 열의가 없는사람들까지 이끌고 가긴 힘들거 같고, 아예 열의 없는 사람들이 스스로 열의가 생길때까지 놔두고 열의 있는 사람들을 주변에서 잘 포착해서 데려오는게 좋을거 같습니다. 상규를 제로페이지로 데려온것이 그 좋은 사례인거 같네요. 이번에 02 석진이 같은 경우도 열의가 있어 보이고 들어 오려고 했던거 같은데 아마 이번 정모에 안 왔을듯 싶습니다. 사람들을 데려올땐 적어도 1명이라도 좀 아는 사람이 있어서 같이 가자고 해야 갈만하지, 아무도 직접 오라고 하지 않았으면 가기가 좀 그럴겁니다. 그런걸 염두에 두고 모든이를 대상으로 하는 말인, "제로페이지는 열려 있으니 정모 아무때나 오세요~"라고 하기보다는 그 대상에게만 언제 어디로 와서 한번 보자고 직접 메신저라든지, 전화 같은걸로 해야 할듯 싶습니다.
          * 새내기 모집일정해 대해 한번쯤 이야기를 해야하지 않을까요? 매년 새내기들이 많이 빠져나간것도. 여러가지 제가 있겠지만, 모집일정에도 약간 제가 있다고 생각합니다 - 임인택
          구체적으로 어떤 제점을 발견하셨는지, 해결책은 어떤 것들이 있을지 구체적인 의견 부탁드립니다. --창섭
          * 현재 ZeroPage 새내기를 모집하는데 있어서 ('뽑는다' 가 아니라 '모집한다'가 맞는거겠죠?) 기존에 행하여오던 방법에 제가 있었다고 생각합니다. 우선 ZeroPage의 경우 회원을 1학기 초에 모집하는것으로 알고있습니다. (그 이후에는 수시모집인것으로 알고 있습니다.) ''친구따라 강남간다''처럼, ''친구따라 ZeroPage 회원되다''. 가 되는 새내기가 많은 게 사실입니다. 제는 강남에 갔다가 다시 자신이 있던 곳으로 돌아온다는데 있는 것 같습니다. 매년 반복되어오던 현상이 아닌가요. -.-a 저는 이러한 모습에 부정적인 시각을 가지고 있는 터라, 다른 방법으로 새내기를 모집하였으면 좋겠다는 생각을 했습니다. 우선, 1학기 초가 아닌 여름방학 시작 전에 모집을 하는 것은 어떻습니까? 여름방학 전에 새내기 모집을 하고, DevilsCamp를 개최하면, 나름대로 좋은 방법이 될 것이라 생각합니다. 모집 전까지는 새내기와 2학년을 대상으로 하는 산발적인 세미나를 개최하여, ZeroPage에 대해 인지도를 높일 수 있고, 새내기들로 하여금 ‘’남들하니까 나도해야지‘’가 아닌, ‘’나에게 꼭 필요하구나‘’를 느끼게 할 수 있지 않을까요? (ps. 이에 대해 토론 페이지를 개설하는건 어떻습니까?) - 임인택
  • 2002년도ACM문제샘플풀이 . . . . 20 matches
          * [http://cs.kaist.ac.kr/~acmicpc/problem.html 2002년도 제 샘플] 풀이입니다. ["신재동"]과 ["상규"]가 '개발 시간 최소화' 라는 제 때에 시작부터 TDD와 Refactoring 그리고 OOP를 버렸습니다. 그래서 중복도 심하고 남에게 보여주기 정말 부끄럽지만... 용기내서 올립니다. 리펙토링 후에 변한 모습을 다시 올리도록 하겠습니다.
          ''부끄러워할 필요가 없다. 촉박한 시간에 쫓겼다고는 하나, 결국 정해진 시간 내에 모두 풀은 셈이니 오히려 자랑스러워 해야 할지도 모르겠다. 아마 네 후배들은 이런 배우려는 태도에서 더 많은 걸 느끼지 않을까 싶다. 이걸 리팩토링 해서 다시 올리는 것도 좋겠고, 내 생각엔 아예 새로 해서(DoItAgainToLearn) 올려보는 것도 좋겠다. 이번에는 테스트 코드를 만들고 리팩토링도 해가면서 처음 제 풀었던 때보다 더 짧은 시간 내에 가능하게 해보면 어떨까? 이미 풀어본 제이니 좀 더 편하게 할 수 있을 것 같지 않니? --JuNe''
         === 제 A ===
         ["2002년도ACM제샘플풀이/제A"]
         === 제 B ===
         ["2002년도ACM제샘플풀이/제B"]
         === 제 C ===
         ["2002년도ACM제샘플풀이/제C"]
         === 제 D ===
         ["2002년도ACM제샘플풀이/제D"]
         === 제 E ===
         ["2002년도ACM제샘플풀이/제E"]
  • 2학기파이선스터디/문자열 . . . . 20 matches
         = 자열의 정의와 특성 =
         >>> s = 'abcdef' # 자열
         == 자열 정의 ==
          * 자열 정의는 '(작은 따옴표) 혹은 " (큰 따옴표) 로 정의할수 있다.
          * 작은 따옴표 혹은 큰 따옴표를 세개 연속 사용해서 정의하는 경우 쓰는 그대로 정의됨.
         || \ || \자 자체 ||
          * 자열 연산은 앞의 시퀀스(Sequence)자료형 연산을 따른다.
          * ''' 자열은 그 자체 값을 변경할 수 없는, 변경 불가능(immutable) 자료형이다.'''
         == 자열 메쏘드(1.6버전 이상) ==
         === 대소자 변환 ===
         >>> s.'''upper'''() # 대자로 변환
         >>> s.'''upper'''().'''lower'''() # 대자를 소자로 변환
         'I like programing' # 첫 자를 대자로
         >>> ':'.'''join(t)''' # ':' 자로 결합. 틀리기 쉬우니 주의할것!!
         == 자열 ==
          2. 자열(doucmentation string)을 이용하는 방법
  • CryptKicker . . . . 20 matches
         [http://online-judge.uva.es/p/v8/843.html 원보기]
         입력은 한 개의 정수 n이 들어있는 행으로 시작되며 그 다음 줄부터는 한 줄에 하나씩 n개의 소자로 쓰인 단어들이 알파벳 순으로 입력된다. 이 n개의 단어들은 복호화된 텍스트에 들어갈 수 있는 단어로 구성된 사전이다. 사전 뒤에는 몇 줄의 텍스트가 입력된다. 각 줄은 앞에서 설명했던 방법에 따라 암호화된다.
         사전에 들어갈 수 있는 단어의 개수는 1,000개를 넘지 않는다. 단어의 길이는 16글자를 넘지 않는다. 암호화된 텍스트에는 소자와 스페이스만 들어가며 한 줄의 길이는 80글자를 넘어가지 않는다.
         각 줄을 복호화하여 표준 출력으로 출력한다. 여러 장으로 복호화될 수 있다면 그 중 아무 결과나 출력하면 된다. 가능한 풀이가 없다면 알파벳 모든 자를 아스테리스크(*)로 바꾸면 된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         단일환자 방식은 암호화 방식중에서도 기초적이고 풀기도 쉬운 방식이다. 복호화된 한줄의 원본 장만 가지고 있어도 거의 모든 암호를 풀어내 버릴수 있기 때이다.
         하지만 복호화된 장이 없다면?? 그럴때에도 풀이 법이 있다.
         e, i, o 와 같은 글자는 알파벳의 특성상 10퍼센트가 넘는 출현빈도가 나타난다. 기억나기론 E가 13퍼센트 정도였던것 같다. 이 규칙을 따르지 않는 장과 단어가 있지 않나고 반박할지 모르지만 확률이다. 특수화된 경우의 장과, 단어의 경우를 일반화 시키면 곤란하다. 이런 알파벳의 출현빈도는 몇줄의, 몇개의 단어에는 잘 맞지 않을테지만, 암호화된 장과 서가 많아질수록 그 출현빈도는 표중화된 확률에 거의 일치하게 된다.
         이와같이 꽤 많은 서와 장의 알파벳의 출현빈도와, 특정한 글자쌍을 추측 하다보면 어느순간 복호화가 완성되어진다.
         송수신가자 모두 가진 무언가 공통의 법칙이 필요했을것이고, 그렇게 되면 보안상의 제가 발생하게 되는것이다. 직접 만나서 건낼 수 있다면 좋지만, 직접 만날거면 뭣하러 암호화된 장을 사용하겠는가. 아무튼 암호화 규칙이 노출되지 않게 하기위해서는 상당한 노력이 필요했을것이다.
         단일환자치환법은 조금 허접해 보일지 모르지만 결코 이 방식을 무시할수 없는 이유는 거의 모든 암호화 방식이 이 방법을 활용하고, 변형한 방식이기 때이다.
         [제분류]
  • UnixSocketProgrammingAndWindowsImplementation . . . . 20 matches
         페이지의 컨텐츠를 보아하니, 따로 페이지를 뽑아내도 될것 같아 [서구조조정] 하였습니다. 원래 페이지 이름은 '''데블스캠프2005/Socket Programming in Unix/Windows Implementation'''였습니다. - [임인택]
         PF_INET : 인터넷 프로토콜 체계 사용
         PF_INET6 IPv6 : 프로토콜 체계 사용
         PF_UNIX : 유닉스 방식의 프로토콜 체계 사용 (프로세스간 통신)
         PF_NS XEROX : 네트워크 시스템의 프로토콜 체계 사용
         PF대신 AF를 사용해도 무방. (ex. PF_INET -> AF_INET)
         // 우리가 사용하는 프로토콜인 TCP, UDP가 0이므로 0으로 써도 무방하다.
         // 구체적인 프로토콜을 선택할 때 사용하는데 대부분의 응용 프로그렘에서는 0으로 지정하면 된다.
         // sockaddr_in 은 TCP/IP체제 이므로 AF_INET만 사용한다. -> TCP/IP는 인터넷 기반이므로.
         // AF_INET/PF_INET -> 인터넷 프로토콜 체계 사용.
         NULL : 임의의 포트를 할당한다. client에서 사용한다.
         // u_short sin_port 은 Big-Endian을 사용한다.
         // 따라서 Little_Endian을 사용하는 시스템에서는 Big-Endian으로 바꿔줘야한다.
          inet_addr(): 주소를 long형으로 계산하고 htonl()를 사용해 Big-Endian으로 변환 후 값을 return 한다.
          // SERVER_IP의 경우 자열 포인터를 넣어야한다.
         // 타 시스템으로 이식을 위해 되도록 send를 사용하는 것이 좋다.
         // 타 시스템으로 이식을 위해 되도록 send를 사용하는 것이 좋다.
         ◎ UNIX 체계에서 사용하던 함수들의 헤더파일이 Windows 기반에서는 존재하지 않을 수도 있다.
          continue;
          위의 server 에 접속 하는 client 프로그램을 짜고, Server가 보내는 메세지인 "Hello, World!"란 장을 clinet 화면에 출력하도록 한다.
  • 논문번역/2012년스터디/신형준 . . . . 20 matches
         Describe 논번역/2012년스터디/신형준 here
         자필 글자 인식에 대한 체제가 발표됬다. 이 체제는 자유 분할 접근에 의한 특성을 가지고 있는데, 전체 서의 한줄이 인식모듈에 의해 처리되어 진다는 의미를 가지고 있다. 전처리, 특징추출, 그리고 통계적 모형화에 있어 사용되는 방법이 소개되어 있고, 인식 주제(서) 들을 자필로 하는 독립된 작가, 다수의 작가, 그리고 혼자쓰는 작가에 대한 몇몇의 실험들이 실행되었다.
         특히, 선형판별인식, 이서 자 모델, 그리고 통계적 언어 지식의 설립에 내용이 조사되어 있다. 어휘가 자유로운 자필인식에 대한 평가 결과들은 제안된 방법들이 효과적임을 보여준다.
         패턴 인식의 도전 영역은 자필 서 인식에 있다. 지금까지 대다수의 자필 인식 시스템은 우편 주소를 읽거나 은행 수표와 같은 형태들을 처리하는데 사용됬다. 반면에 이 시스템은 분리된 자 또는 단어에 대해서 한계를 가지고 있는데, 오직 구속되지 않은 자필 서의 인식에 대한 많지 않은 시스템 만이 존재했다. 이와 같은 수행의 증가된 복잡성 때에, 자의 부재 혹은 단어의 경계 정보, 거기에 크거나 심지어 한계가 없는 단어들에 의해 특징지어진다.
         그럼에도 불구하고, 자필을 인식하는 일에 대해 기술들을 더 조사하는 건 가치가 있다. 왜냐하면 컴퓨터 성능의 향상이 더 복잡한 처리과정을 할 수 있게 해주었기 때이다.
         이 에세이에서 HMM에 기반한 어휘에 자유로운 필기 인식에 대한 시스템이 설명되어 있고, 영어로만 이루어진 장 데이터 베이스에서 몇몇의 실험들이 필기자에 독립된 형태, 또한 다수와 개인 작가 형태에 대해서 비교하기 위해 실행되었다.
         전처리 과정과 특징추출에 대한 방법이 묘사되었다. 그리고 게다가 선형 판별 해석, 이서 특징 모델들의 사용, 그리고 통계적인 언어 모델들과 같은 더 세련된 기술들을 살피게 될 것이다.
         다음 부분에서 우리는 오프라인 필기인식에 관련된 일의 짧은 보고서를 볼 수 있다. 우리가 사용하는 데이터베이스는 section 3에서 소개되어질 것이다.
          선형 연립 방정식의 중요한 특성들은 벡터들의 개념과 표시법에 의해 묘사되어 질 수 있습니다. 이 부분에서는 벡터들과 평범한 방정식들의 연립들이 연관된 방정식들을 연결해 줍니다. 이 백터라는 용어는 다양한 수학적이고 물리적인 맥(우리가 Chapter 4, “백터 공간”에서 논의할)을 나타냅니다. 그때까지, 벡터는 숫자들의 정렬된 목록으로 써 의미를 가집니다. 이 간단한 생각은 우리에게 흥미롭고 중요한 적용들을 가능한 빠르게 얻게 도와줍니다.
         이와 같이 (4,7)과 (7,4)는 R^2에 있는 벡터들이 정돈된 실수들의 쌍이기 때에 같지 않습니다.
         평면에서 사각 좌표 시스템을 간주해봅시다. 이 평면에서 각각의 점은 정렬된 숫자들의 쌍으로 결정되기 때에 우리는 기하학적인 점 (a,b)를 열 벡터로 인식할 수 있습니다.
  • 데블스캠프2011/첫째날/개발자는무엇으로사는가 . . . . 20 matches
         == 개발자를 판단하기 위한 단 한가지 질 ==
          * 당신이 진행중인 프로젝트가 팀원간의 불화로 파탄 직전까지 갔다고하자. 그리고 이 이유가 기술적인 제로 인한 팀원간의 불화라고 가정하자. 이 제를 어떻게 해결하겠는가?
          * 형진이형이 말씀하신 정체된 개발자, 사람과의 관계가 가장 중요하다는 점에서 생각했습니다. 기술적인 제로 인함에서 정체된 개발자와 정체되지 않은 개발자는 다른 관점으로 접근할 것으로 생각되기 때이며, 이 제를 어떻게 해결하겠는가는 팀원들의 의견을 조율하는데 있어 중요한 점이라고 생각했기 때입니다.
          * 가장 힘들었던 프로젝트(기술적으로든 다른 제든 해결하기 어려웠던) 경험을 묻고 그 당시 제를 해결하기 위해 어떻게 행동했는지, 지금 그 프로젝트를 다시 한다면 어떻게 행동할 것인지.
          * 힘들었던 프로젝트를 했을 시의 실력, 그 프로젝트가 지나고 나서 어려움에 대한 대처, 발전 모습에 대해서 알 수 있는 좋은 질이라고 생각됩니다. - [서영주]
          * 그리고 버그를 처리한 후에 전체 처리 과정을 서화 하였는가.
          * 평소에 당신에게 프로그래밍에 대해서 질하러 오는 사람이 많이 있는가. 있다면 그에 대해서 당신은 어떤 방식으로 도움을 주는가.
          * 평소에 질하러 오는 사람이 많다는건 그만큼 프로그래밍쪽에 관해서 아는 것이 많으며 사람들에 대한 인간관계도 괜찮기 때일 것이라 생각해볼 수 있을 것이므로 실력과 인간관계 양쪽을 다 생각해볼 수 있다. 또 어떤 방식으로 도움을 주느냐에 따라서 주변 사람들의 실력 발전에 도움이 되는지 아닌지의 여부도 고려. 과제를 다 해주거나 하면 상대의 발전은 생각해볼 수 없다 등.
          * 프로그래밍에 대해서 질하러 오는 사람이 많다. 내가 알고있는 것이라면 바로 대답해주고 그렇지 않다면 어느정도 시간뒤에 찾아보고 대답해준다. 어느정도 시간은 10분 내외 - [김준석]
          * 내가 아는 것일 때 적극적으로 도와주려 노력한다. 제는 내가 모를 때 그에 대해 공부해보지 않는다는 점이다 (찾아보다 포기하는 경우가 많다) - [지원]
          * 1학년 기준으로 일단 질자의 질에 달려있는거 같아요. "포인터가 뭐냐?"(x) "포인터 이거 여기서 왜틀린거지?"(o)라는 느낌요? 전자면 대답자체를 회피할거고, 후자면 최대한 자세히 설명하려고 노력하겠지요. -[김태진]
          * 일개 개발자라도 프로젝트에 대한 제점 지적이나 의견, 방향성을 제시할 수 있지 않나요? 저는 진정한 리더란 한발 물러나는 사람이라고 생각합니다. 앞에 나서기 좋아한다고 능동적인지, 그래서 좋은 프로그램을 짤 것인가는 알수없을 것 같아요~ - [서지혜]
          * 프로젝트를 할 때 윗자리에 앉히는건 그만한 이유가 있을 것이리라 생각되므로 사람을 관리하는 부분과 실력에 대해서 양쪽 다 생각해볼 수 있는 괜찮은 질이라고 생각합니다. - [서영주]
  • 2학기파이선스터디/함수 . . . . 19 matches
          들(statements)
         pass는 아무 일도 하지 않는 통과(statement)이다. 함수는 최소한 한 개 이상의 을 가져야 하기 때사용한다.
         == return ==
         인수 없이 return 만을 사용하면 함수 호출측에 아무 값도 전달하지 않는다.
         return사용하지 않아도 None이라는 리턴 값은 존재한다.
         g, h는 함수 외부에서 정의되었으므로 전역, a,b는 함수 내부에서만 사용되는 지역 변수이다.
         함수 f내부의 h를 전역변수로 사용하려면(즉, 전역변수h의 값을 바꾸고자한다면)
         global사용하여 h가 전역 변수임을 선언해야 한다.
         || /식 || (statement) || 식(expression) ||
         || 몸체 || 한 개 이상의 을 포함 || 하나의 식 ||
         || 리턴 || return에 의해 명시적으로 리턴 값이 지정된다 || 식의 결과가 리턴된다 ||
         || 내부 변수 선언 || 지역 영역에 변수를 생성하고 사용하는 것이 가능 || 지역 영역에 변수를 생성하는 것이 불가능 ||
  • AOI . . . . 19 matches
         ACM 제풀이 스터디
          * 원 : http://online-judge.uva.es/problemset/
          ''누구나 제 푸시고 해당 페이지에 올려주세요.''
          * 참여자 : 보창
          * 기존 [AOI] 진행과 비슷하나 레벨 3, 4(어려운 제)위주로 도전해 본다.
          * 일주일에 2제 이상을 [보창]이 올린다.
          * 어려운 제의 경우 해당 알고리즘 지식이 필요한 경우가 많습니다. 제를 해결한 후 꼭 제 접근방식을 코드와 곁들여 넣어 주세요.
          * 기존 [AOI] 경우는 쉬운 제 위주여서 언어실력의 기초를 다지는 효과가 컸지만 앞으로는 심도있는 제를 풀어보며 알고리즘과 제해결능력향상 위주의 공부를 하도록 하겠습니다.
          || 제 || [보창] || [곽세환] || [이도현] || [나휘동] || 차영권 || [이동현] || [상협] || [재동] ||
          || 제 || [보창] ||[이동현] ||
          ^^ 기대할께요. --[보창]
          * 자 이제 시작해 보아요. --[보창]
  • APlusProject/QA . . . . 19 matches
         Upload:APP_QualityManagementPlan_0325-0502.zip - 이전
         Upload:APP_QualityManagementPlan_0510.zip - 최종서 - 수정끝--QA승인끝
         Upload:APP_RiskManagementPlan_0327-0501.zip -- 이전
         Upload:APP_RiskManagementPlan_0511.zip -- 최종서 - 수정끝--QA승인끝
         Upload:TestChase.zip - n-unit 테스트 한거 정리한 한글파일입니다-- 윤주 6월4일 이거는 다른 사람이 다운 받을 필요 없는 제 정리 서입니다.
         Upload:APP_UnitTestPlan_0401-0507.zip -- 이전
         Upload:APP_UnitTestPlan_0508.zip -- 최종서 - 수정끝QA승인끝
         Upload:APP_UnitTestResult_0516-0530.zip - 이전
         Upload:APP_UnitTestResult_0601.zip - 최종서 - 수정끝
         Upload:APP_UnificationTestPlan_0403-0418.zip - 이전
         Upload:APP_UnificationTestPlan_0420.zip - 최종서 - 수정끝QA승인끝
         Upload:APP_UnificationTestResult_0530.zip - 이전
         Upload:APP_UnificationTestResult_0606.zip - 최종서 - 수정끝
         Upload:APP_UnificationTestResult_0609.zip -- 최종서 index틀렸길래 수정해서 다시 올렸습니다 -QA승인끝!
         Upload:RiskRequestManagement.zip - 이전
         Upload:APP_RiskRequestManagement_0608.zip - 최종서 - 별로 수정할거 없었음QA승인끝
         추적
         대략 이런식의 테이블을 만들면 돼. 지금 정확히 이름은 못짓겠다. 만들면서 지으면 될 듯. 의미는 어떤 요구 사항이 어떻게 설계 되서 무엇으로 구현 되었는가를 번호 같은 걸로 연결 해주면 되는거야. 최종 서들(요구 사항 정의서, 요구 사항 분석서, 기본 설계서, 상세 설계서, 소스 코딩 서) 보고 만들면 되고 아마도 PL의 도움이 필요할 거야. PL에게는 너가 직접 연락하면 될거야. PL에게 내가 이미 이야기 해 놨으니 바로 알아들을거야. 간단히 되는 대로 올려줘. 그럼 내가 확인하고 고칠 점 있으면 알려줄께. --재동
  • Adapter . . . . 19 matches
         클래스 인터페이스를 예상되는 다른 인터페이스로의 변환을 한다. '''Adapter'''는 상이한 인터페이스 때에 다른 달랐던 클래스의 일을 묶는 역할알 한다.
         Smalltalk에서 ''Design Patterns''의 Adapter 패턴 class버전을 적용 시키지 못한다. class 버전은 다중 상속으로 그 기능을 구현하기 때이다. [[BR]]
         DP의 p147을 보면 '''Adapter'''클래스는 반드시 그것의 '''Adaptee'''를 타입으로 선언해서 가지고 있어야만 한다.이런 경우에는 해당 클래스와 그것에서 상속되는 클래스들만이 기능을 사용(adapt)할수 있다. Smalltalk에서 엄격한 형검사(Strong Typeing) 존재 않으면, class 가 '''Adapter'''에서 '''Adaptee'''로 보내어지는 메세지를 보낼수 있는 이상 '''Adaptee'''가 어떠한 클래스라도 상관없을 것이다. [[BR]]
         자 그럼 Adapter를 적용시키는 시나리오를 시작해 본다. ''Design Patterns''(DP139)에서 DrawingEditor는 그래픽 객체들과 Shape의 상속도상의 클래스 인스턴스들을 모아 관리하였다. DrawingEditor는 이런 그래픽 객체들과의 소통을 위하여 Shape 프로토콜을 만들어 이 규칙에 맞는 메세지를 이용한다. 하지만 text인자의 경우 우리는 이미 존재하고 있는 TextView상에서 이미 구현된 기능을 사용한다. 우리는 DrawEditior가 TextView와 일반적으로 쓰이는 Shape와 같이 상호작용 하기를 원한다. 그렇지만 TextView는 Shape의 프로토콜을 따르지 않는 다는 점이 제이다. 그래서 우리는 TextShap의 Adapter class를 Shape의 자식(subclass)로 정의 한다. TextShape는 인스턴스로 TextView의 참조(reference)를 가지고 있으며, Shape프로토콜상에서의 메세지를 사용한다.; 이들 각각의 메세지는 간단히 다른 메세지로 캡슐화된 TextView에게 전달되어 질수 있다. 우리는 그때 TextShape를 DrawingEditor와 TextView사이에 붙인다.
         TextShape는 Shape에 translator같은 특별한 일을 위한 기능을 직접 추가한 것으로 Shape의 메세지를 TextView Adaptee가 이해 할수 있는 메세지로 변환 시킨다.:하지만 DrawingEditor가 TextSape에 대한 메세지를 보낼때 TextShape는 다르지만 법적으로 동일한 메세지를 TextView 인스턴스에게 보낸다. [[BR]]
         우리는 Tailored Adapter안에서 메세지를 해석을 위하여 해당 전용 메소드를 만들수 있다. 왜냐하면 디자인 시간에 Adapter와 Adaptee의 프로토콜을 알고 있기 때이다. The Adapter class는 유일한 상황의 해석을 위해서 만들어 진다. 그리고 각각의 Adapter의 메소드는 Adaptee에 대한 알맞은 메세지들에 대하여 hard-codes(전용 함수 정도의 의미로 생각) 이다
         Adapter시나리오의 두번째는 Adaptee의 인터페이를 디자인 시간에 알수 없을 때 이다. Adaptee의 인터페이스를 먼저 알수 없기 때에 우리는 하나의 인터페이스에서 다른 것으로 메세지를 간단히 해석할수 없다. 이런 경우에는 메세지의 변형과 전달의 일반적 규칙에 맞추어 Pluggable Adapter를 사용한다. Tailored Adapter와 같이 Pluggable Adapter도 해석기를 Client와 Adaptee사이의 해석기를 제공한다. 하지만 각각의 특별한 경우를 위한 새로운 Adapter클래스의 정의를 필요하지 않다. Pluggable Adapter가 쓰이는 경우의 상태를 생각해보자
         상호 작용(사용자가 직접 이용하는의미)하는 어플리케이션을 위한 Model-View-Controller(MVC) 패러다임에서 View 객체들(화면상에 표현을 담당하는 widget들) 은 밑바탕에 깔려있는 어플리케이션 모델과 연결되어진다. 그래서 모델안에서의 변화는 유저 인터페이스에 반영하고 인터페이스 상에서 사용자들에 의한 변화는 밑에 위치한 되어지는 모델 데이터(moel data)에 변화를 유도한다.View객제들이 제공되어 있는 상태라서 어떠한 상호 작용하는 어플리케이션 상에서라도 그들은 ㅡ걸 사용할수 있다. 그러므로 그들은 그들의 모델과의 통신을 위해 일반적인 프로코콜을 사용한다;특별한 상황에서 모델로 보내어지는 getter message는 값이고 일반적인 setter message역시 값이다.:예를 들자면 다음 예제는 VisualWorks TextEditorView가 그것의 contects를 얻는 방법이다.
         반면에 어플리케이션 모델 오프젝트들은 일반적으로 다양한 모습을 하나의 값에 보다는 가지고 있다. 그것들이 하나의 모습으로 표현되지만, 모델 객체들은 value와 value:에 보다 분야에 알맞는 accessor message를 좀더 많은 의미를 지닌 이름으로 쓰인다. (DeleteMe 수정 필요). 그런데 제점는 우리가 어떻게 뷰나 뷰의 모델에서 뷰가 모델이 이해할수 없는 메세지를 보내면 잡아내느냐 하는거다. 해결책은 우리는 Pluggable Adapter, 값을 메세지로 변환 시키는 것이라고 제시 할수 있다.-저것(Pluggable Adapter)은 메세지를 값 메세지(value message)를 받을때 그것의 Adaptee로 보내는 것이다. 우리는 value: 상에서도 같은걸 해할수 있다.
         자 그럼 여기에 예제를 보자. 우리는 employee관리 application을 가지고 있다고 가정한다.어플리케이션 모델은 하나의 인자인, employee의 사회 보장(비밀) 번호(social security number)의 포함하고 application의 사용자 인터페이스는 employee의 사회 보장 번호를 화면상에 뿌려주는 '입력 박스 뷰'를 포함한다.모델의 엑세스하고 초기화 시키기 위한 메소드는 'socialSecurity'와 'socialSecurity:'로 이름 지어져 있다. 입력 박스는 단지 현재의 사회 보장 번호를 뿌리기만 한지만 모델의 값을 요청하는 방법만을 알고있다.( DeleteMe 수정 필요 ) 그래서 우리는 value mesage를 socialSecurity로 변환 해야 한다.우리는 Pluggable Adapter 객체를 이런 목적을 위해서 사용할수 있다.자 우리의 예제를 위한 interaction 다이어 그램을 보자
         이 다이어 그램은 단순화 시킨것이다.;그것은 개념적으로 Pluggable Adpter의 수행 방식을 묘사한다.그러나, Adaptee에게 보내지는 메세지는 상징적으로 표현되는 메세지든, 우회해서 가는 메세지든 이런것들을 허가하는 perform:을 이용하여 실제로 사용된다.|Pluggable Adpater는 Symbol로서 메세지 수집자를 가질수 있고, 그것의 Adaptee에서 만약 그것이 평범한 메세지라면 수집자인 perform에게 어떠한 시간에도 이야기 할수 있다.|예를 들어서 selector 가 Symbol #socialSecurity를 참조할때 전달되는 메세지인 'anObject socialSecurity'는 'anObject perform: selector' 과 동일하다. |이것은 Pluggable Adapter나 Message-Based Pluggable Adapter에서 메세지-전달(message-forwading) 구현되는 키이다.| Adapter의 client는 Pluggable Adapter에게 메세지 수집자의 value와 value: 간에 통신을 하는걸 알린다,그리고 Adapter는 이런 내부적 수집자를 보관한다.|우리의 예제에서 이것은 client가 'Symbol #socialSecurity와 value 그리고 '#socialSecurity:'와 'value:' 이렇게 관계 지어진 Adapter와 이야기 한는걸 의미한다.|양쪽중 아무 메세지나 도착할때 Adapter는 관련있는 메세지 선택자를 그것의 'perform:'.을 사용하는 중인 Adaptee 에게 보낸다.|우리는 Sample Code부분에서 그것의 정확한 수행 방법을 볼것이다.
  • EightQueenProblem . . . . 19 matches
         이 제를 프로그래밍을 해서 풀어보세요. 어느 언어를 사용하든 상관없습니다. 가장 자신있는 언어를 사용하세요. 그리고, 맞는 결과를 구했다면 다음 칸을 채워주세요. 비교적 간단한 제이지만, 제를 해결해 나가는 중에 자신의 실력과 사용하는 도구, 프로그래밍 과정, 디자인 방법 등에 대해 생각해 볼 기회가 될 것입니다. 모든 후배들에게 꼭 한번 시도해 볼 것을 권합니다. 이 경험에 대해 스스로 분석해 보고, 남들과 경험을 공유하고 차이를 살피고(AnalyzeMary), 또 토론하면서 '''아주 많은 것을 배우게 될 것입니다.''' 어쩌면 이제까지의 프로그래밍 경험에서보다 더 많은 것을 말이죠. 사실 이 실험의 진정한 가치는 제 자체보다 이 제가 가능케 하는 자기 관찰/반성과, 타인과의 논의에 있는 것인지도 모릅니다. --김창준
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         ||원명|| . || . || . ||[8queen/원명]||
         ''참고로, 소요시간이 모두 얼마냐 하는 것이 크게 중요한 것은 아닙니다. 중요한 것은 그 동안 얼마나 가치있는 무엇을(얼마나 더 얼마나 덜) 했냐는 것이죠. 남들보다 시간이 오래 걸리고, 코드가 길어졌다고 슬퍼하십니까? 아닙니다. 오히려 '''축하드립니다'''. 당신은 그만큼 큰 배움의 기회를 만난 겁니다. 자신의 프로그램이 다른 사람들의 그것보다 월등하다고 자랑스러워하며, 더 이상 배울 것이 없다고 생각하십니까? 아닙니다. 당신은 자신이 이렇게 훌륭한 해를 구한 것을 남에게 설명해 줄 기회를 찾았습니다. 가르치는 것만큼 큰 배움도 없습니다(이 때 자신이 만든 프로그램 자체를 설명하려고 하는 것보다 자신이 어떤 사고과정과 어떤 프로그래밍 성장 과정을 통해 최종물에 도달했는지를 반추해보고 설명해주는 게 더 좋겠습니다). 또 다른 사람들은 무엇 때에 자신과 같은 좋은 해를 얻지 못했는지 분석을 할 여유가 있습니다.''
         만약 위의 칸을 채우셨다면 EightQueenProblem2를 보세요. (절대 제 풀기 이전에 보면 안됨)
         질 있는 데요. 개발 시간에 제를 보고 생각한 시간까지 포함되나요?? -- 선호
          ''네. 보통 개발이라고 하면 분석, 디자인, 테스팅, 코딩 모두 포함합니다. 따라서 제를 보고 풀어봐야지 하고 생각한 시점부터 개발은 시작된 겁니다. 사실 "코딩"의 과정은 전체에서 보면 작은 부분에 지나지 않습니다.''
          * 같은 제의 해법에 다양한 혹은 비슷한 부분들이 존재하며, 거기서 서로 배울 것이 많다는 것을 느낄 기회 제공
         ["제분류"]
  • Gof/Facade . . . . 19 matches
         서브시스템의 인터페이스집합에 일관된 인터페이스를 제공한다. Facade는 고급레벨의 인터페이스를 정의함으로서 서브시스템을 더 사용하기 쉽게 해준다.
         예를 들기 위해, 어플리케이션에게 컴파일러 서브시스템을 제공해주는 프로그래밍 환경이 있다고 하자. 이 서브시스템은 컴파일러를 구현하는 Scanner, Parser, ProgramNode, BytecodeStream, 그리고 ProgramNodeBuilder 클래스를 포함하고 있다. 몇몇 특수화된 어플리케이션은 이러한 클래스들을 직접적으로 접근할 필요가 있을 것이다. 하지만, 대부분의 컴파일러 시스템을 이용하는 클라이언트들은 일반적으로 구분석(Parsing)이나 코드 변환 (Code generation) 의 세부적인 부분에 대해 신경쓸 필요가 없다.(그들은 단지 약간의 코드를 컴파일하기 원할뿐이지 다른 강력한 기능을 알 필요가 없다.) 그러한 클라이언트들에게는 컴파일러 서브시스템의 강력하지만 저급레벨인 인터페이스는 단지 그들의 작업을 복잡하게 만들 뿐이다.
         이럴때 Facade Pattern을 사용하라.
          * 복잡한 서브 시스템에 대해 단순한 인터페이스를 제공하기 원할때. 서브시스템은 종종 시스템들이 발전되어나가면서 더욱 복잡성을 띄게 된다. 대부분의 패턴들은 패턴이 적용된 결과로 많고 작은 클래스들이 되게 한다. 패턴의 적용은 서브시스템들이 더 재사용가능하고 커스터마이즈하기 쉽게 하지만, 커스터마이즈할 필요가 없는 클라이언트들이 사용하기 어렵게 만든다. Facade는 서브시스템에 대한 단순하고 기본적인 시각을 제공한다. 이러한 시각은 대부분의 클라이언트들에게 충분하다. 커스터마이즈가 필요한 클라이언트들에게만이 facade를 넘어서 볼 필요가 있는 것이다.
          * 서브시스템에 계층을 두고 싶을 때. 각 서브시스템 레벨의 entry point를 정의하기 위해 facade를 사용하라. 만일 각 서브시스템들이 서로 의존적이라면 서브시스템들간의 대화를 각 시스템간의 facade로 단일화 시킴으로서 그 의존성을 단순화시킬 수 있다.
          facade 를 사용하는 클라이언트는 직접 서브시스템 객체에 접근할 필요가 없다.
          3. 그러하면서도 어플리케이션은 여전히 서스시스템 클래스들을 사용할 방법을 제공한다. 사용의 편리성과 일반성을 선택할 수 있다.
         그러면 클라이언트는 추상 Facade class의 인터페이스를 통해 서브시스템과 대화할 수 있다. 이러한 추상클래스와의 연결은 클라이언트가 사용할 서브시스템의 구현을 알아야 하는 필요성을 없애준다.
         Parser 클래스는 Scanner의 token로 parse tree를 구축하기 위해 ProgramNodeBuilder 를 사용한다.
         Traverse operaton은 CodeGenerator 객체를 인자로 취한다. ProgramNode subclass들은 BytecodeStream에 있는 Bytecode객체들을 machine code로 변환하기 위해 CodeGenerator 객체를 사용한다. CodeGenerator 클래는 visitor이다. (VisitorPattern을 참조하라)
         이 구현에서는 사용하려는 code-generator의 형태에 대해서 hard-codes (직접 특정형태 부분을 추상화시키지 않고 바로 입력)를 했다. 그렇게 함으로서 프로그래머는 목적이 되는 아키텍처로 구체화시키도록 요구받지 않는다. 만일 목적이 되는 아키텍처가 단 하나라면 그것은 아마 이성적인 판단일 것이다. 만일 그러한 경우가 아니라면 우리는 Compiler 의 constructor 에 CodeGenerator 를 인자로 추가하기 원할 것이다. 그러면 프로그래머는 Compiler를 instance화 할때 사용할 generator를 구체화할 수 있다. Compiler facade는 또한 Scanner나 ProgramNodeBuilder 등의 다른 협동하는 서브시스템클래스를 인자화할 수 있다. 그것은 유연성을 증가시키지만, 또한 일반적인 사용형태에 대해 인터페이스의 단순함을 제공하는 Facade pattern의 의의를 떨어뜨린다.
         Choices operating system [CIRM93] 은 많은 framework를 하나로 합치기 위해 facade를 사용한다. Choices에서의 key가 되는 추상객체들은 process와 storge, 그리고 adress spaces 이다. 이러한 각 추상객체들에는 각각에 대응되는 서브시스템이 있으며, framework로서 구현된다. 이 framework는 다양한 하드웨어 플랫폼에 대해 Choices에 대한 porting을 지원한다. 이 두 서브시스템은 '대표자'를 가진다. (즉, facade) 이 대표자들은 FileSystemInterface (storage) 와 Domain (address spaces)이다.
         AbstactFactory 는 Facade구현시 서브시스템 독립적인 방법으로 서브시스템 객체를 만들 수 있는 인터페이스를 제공하기 위해 사용한다. Abstract Factory는 또한 플랫폼 비독립적 클래스를 감추기 위해 Facade의 대안으로서 사용할 수 있다.
         Mediator 는 존재하는 class들의 기능들을 추상화시킨다는 점에서 Facade와 비슷하다. 하지만 Mediator의 목적은 정해지지 않은 동료클래스간의 통신을 추상화시키고, 해당 동료클래스군 어디에도 포함되지 않는 기능들을 중앙으로 모은다. Mediator의 동료클래스들은 Mediator에 대한 정보를 가지며 서로 직접적으로 통신하는 대신 mediator를 통해 통신한다. 대조적으로 facade는 단지 서브시스템들을 사용하기 편하게 하기 위해서 서브시스템들의 인터페이스를 추상화시킬 뿐이다. facade는 새로운 기능을 새로 정의하지 않으며, 서브시스템 클래스는 facade에 대한 정보를 가질 필요가 없다.
  • ReverseAndAdd . . . . 19 matches
         [http://online-judge.uva.es/p/v100/10018.html 원보기]
         일단 어떤 수를 받아서 그 수를 뒤집은 다음 뒤집어진 수를 원래의 수에 더하는 과정을 뒤집어서 더하기라고 부르자. 그 합이 회(palindrome, 앞뒤 어느 쪽에서 읽어도 같은 말이 되는 어구. 예:eye, madam, 소주만병만주소)이 아니면 회이 될 때까지 이 과정을 반복한다.
         예를 들어 처음에 195에서 시작해서 다음과 같이 네 번 뒤집어서 더하기를 반복하면 9339라는 회이 만들어진다.
         대부분의 정수는 이 방법을 몇 단계만 반복하면 회이 된다. 하지만 예외도 있다. 회을 찾을 수 없는 것으로 밝혀진 첫번째 수는 196이다. 하지만 회이 없다는 것이 증명된 적은 없다.
         어떤 수가 주어졌을 때 회이 있으면 출력하고, 그 회을 찾기까지 뒤집어서 더하기를 반복한 횟수를 출력하는 프로그램을 만들어야 한다.
         테스트 데이터로 쓴이는 수는 모두 뒤집어서 더하기를 1,000번 미만 반복해서 회을 찾을 수 있는 수고, 그렇게 만들어진 회을 4,294,967,295보다 크지 않다고 가정해도 된다.
         첫번째 줄에는 테스트 케이스를 나타내는 정수 N(0<N<=100)이 들어있고, 그 아래로 N개의 줄에 걸쳐서 회을 구해야 하는 정수가 한 줄에 하나씩 들어있다.
         N개의 각 정수에 대해 회을 발견하는 데 필요한 최소한의 반복 횟수를 출력하고, 스페이스를 한 칸 출력한 다음, 그 회을 출력한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++/Python || 90분/20분 || [ReverseAndAdd/보창] ||
          * 처음 주어진 수가 회이면 ReverseAndAdd연산을 하는건가요 안하는건가요? --[iruril]
         [제분류]
  • 데블스캠프2011/셋째날/후기 . . . . 19 matches
          * String 멤버 함수를 하나라도 더 짜보려는 무한경쟁의식이 급 생기는 바람에(화상품권이 그렇게까지 필요하거나 탐났던 것도 아닌데) 주변 후배들을 별로 챙겨주지 못해서 아쉬웠습니다. 언제 한번 이후 정모 때 수경이가 String을 진행하지 않더라도 개인적으로라도 몇몇 후배들에게 실습을 시켜보고 싶어졌습니다.
          * String은 자바를 사용할때 매우 빈번하게 사용하는 클래스라 직접 구현하는게 재미있었어요! 물론 귀찮고 어려워보이는건 넘어갔지만.............
          * 저희가 늦잠자서 이시간에 없는 바람에....;; 저희때에 수경누나가 굳이 준비하셨을텐데 안와서 정말 죄송하네요..ㅠㅠ -[김태진]
          * 그냥 값을 가지게 하는 식이라면 어떻게든 비슷하게는 만들겠지만 불변객체로 만들라는 부분이나 const 사용 등을 고려하려고 하니까 힘들어지네요. 게다가 함수도 몇 개 못만들고... -_- 평소에 쓰는 string 클래스의 고마움을 절실히 느꼈습니다.
          * 처음엔 빨리 고급 구현을 하고싶은 마음이 들었는데 막상 고급 구현을 시키니 잘 못 짠 것 같아요. 잠깐이지만 Python 분명히 스터디를 했었는데 법이 잘 생각이 안 나서 난감했습니다ㅜㅜㅜㅜ 그리고 RUR-PLE도 새내기들에게 흥미있게 다가갈 만한 주제인데 막상 새내기들이 늦게 온 것이 매우 아쉽습니다.
          * 작년에도 러플이 재미있어보였는데 알바때에 못들었는데 오늘도 계절학기때에 끝날때쯤 오긴 했지만 어떻게 사용하는건지 알게되었습니다. 작년에 콜솔화면만 보다가 직접적으로 눈에 동작이 보이니까 신기해보였는데 역시 간단하게 만든 동작을 바로바로 눈으로 볼 수 있으니까 재미있는것 같네요, turn_right 가 있는줄알고 계속 왜 안돼나 했어요.. ㅋ
          * 초보자를 위한 RUR-PLE. 우선 1년만에 다시 공부를 하는데 좀더 많은것을 알았지만 프로그램적으로는 나는 발전이 없었구나 생각하게되었습니다. 프로그램을 새로 짜는데 발전이 없었으니까요. 그리고 RUR-PLE을 두번째 했을때 느끼는것은 무조껀 즐기는것이 좋고 단순했으면 하는데 그렇게 안되서 참난해했습니다. 수강생들은 대부분 안들었던 사람들이지만 재학생이어서 난이도 높은걸 할까 생각했었지만 단순한 Harvest제도 처음 하는 사람들과 비슷한 속도로 풀게 되었죠. 그 원인을 보게 되면 참 재미있죠. 처음에 단순하게 즐기는 초보자는 단순하게 제를 풀고. 아는 사람들은 아는걸 최대한 이용해서 제에 최적화 해서 낭비를 줄이려 합니다 그대신 오래걸리죠. 위의 이유로 같은 제 풀이도 많은 분기가 나오는걸 볼수 있었죠. 시간 제한을 안둬서 그런가. 다음부터는 원할한 진행을 위해 시간제한을 둬봅시다. 마지막으로 RUR-PLE에 대한 감상으로 교육 환경을 만든 사람들은 참 대단하다고 다시한번 생각합니다. 봐도 봐도 재밌긴 하네요. 다음에 이걸 다시 하게 된다면 더욱 재미있게 해보았으면 좋겠습니다.
          * 약간 늦게 도착해서 초반 설명을 약간 듣지 못하고 짜게 되었네요. 이 프로그램이 파이썬을 배울 수 있는 용도로 짜여있다고 했는데, 명령어들은 NXT프로그래밍 명령어랑 정말 비슷했다고 생각했어요- (창설의 악몽이 되살아났다?) 간단한 설명을 듣고 1 주워담기를 위해 1을 놓아야하는데, 그게 귀찮아서(프로그래머적 '귀차니즘'면모 발현) 놓는걸 짜고 먹는걸 짰네요. 그 뒤에는 소트를 해야 했는데, 저는 한쪽으로 쭉 밀어 넣으면 좋겠다고 생각했으나.. 그건 소트라기보단 줄맞춤(?)에 가까운거였다고 하시더군요. 아무튼 치완이랑 제가 그걸 짜서 상 GET! 끝나고나서는 미로도 짰는데 로봇녀석이 이미 방향이란걸 가지고 있다보니 C로 짠거보다 훨씬 쉽게 짰네요.
          * 난해한 언어는 법이 난해하기 보다는 심한 제약을 두고 제를 푸는것이라 생각되는 것이었습니다. 익숙하지 않게 만들어서 확실히 힘들긴 하더라구요 종하가 소개해준 Befounge, 아희는 정말 재미있었습니다. 현이가 소개해준 chef도 인상적이었죠. 난해한 언어. 한번쯤은 생각해볼만한 제약이 심한 코딩. 새로운 방향을 생각하는 코딩을 만드는 시간이 어서 재미있었습니다
          * 한줄 요약은... "정말 난해하잖아!!" 였습니다. 특히 종하형이 소개한 세 언어는 정말..;; 하지만 그녀석들이 어떻게 움직이는지 약간은 판단할 수 있었던거 같네요. 배열처럼 좌우 위아래.. 현이형이 소개한 언어는 Maleb어쩌고.. 라는 헬 난이도 단어를 제외하고는 좀 나은거였던거 같네요. 특히 Whirl는 VM이 있어서 Hello World정돈 이해하고 짤 수 있을거같...기도 했구요. RNA는 우리가 직접 언어를 만들 수도 있다는걸 좀 더 와닿게 알 수있는 계기(?)가 된거 같네요. ..하지만 총체적으로 난해한 시간이었어요 ㅋㅋ
          * Brainf**k의 특정 단어에 제가 있어서 저장이 안 됐네요 -_- 뭐가 제인가 한참 생각했네...
  • 새싹교실/2011/무전취식/레벨2 . . . . 19 matches
         강원석 : 수요일 선형대 수업 땡땡이. -Why ? 그냥. 정치와 사회수업은 같이 듣는애들이 정치학과 애들인데 드랍준비. 드랍이유 : 여자팀원이 없다. 주말에 근처도서관을 갔는데. 선형대수학 시험준비하러갔습니다. 시험시간에 늦게 들어가서 한제 못풀었어요. 근데 3제 ㅠㅠ. 대출하다가 걸린놈 불쌍. 교수님 탐정임. 선배들도 그런교수 첨본다능. 그리고 봉봉수업은 정말 못듣겠다. - All 동감 - 창설은 신난다. NXT짱 좋아요 ㅋㅋㅋ
          * 변수는 이름이 두개다! 하나. 사용자가 지정해주는 변수명. 둘. &변수명 을 하면 나오는 주소값.
          * 프로그램은 장단위로 코드를 돌리게 되는데 그것을 끊어주는 단락이 ; 입니다.
          * 제어을 배웠습니다. 제어은 프로그램의 흐름을 제어하는 장입니다.( if,switch{case},while(){},do~while();,for( ; ; ) )
          * Switch case
          * while
          * do~ while
          * for
         이소라 : 음...... 응....... 제어을 배웠어요. 까먹었던걸 다시 배웠어요^^ 네
          * 여기다 이렇게 쓰면됩니다. 오늘은 수업 두번째날 진경이는 멘토때에 못오고 나는 머리를 이상하게 잘랐지. 시작하기전 기분은 안좋았지만 게속 말하다 보니까 내 기분이 좋아지긴 하더라. 새싹 수강생들이 있어서 기분이 좀 나아진것 같다. 너희들에게 밥먹이는 돈은 아깝지 않다!!! 뭐.. 이제부터 힘든것을 가르키기 시작한 날이었고 복습은 하기 힘들겠지만. 다음시간에 복습을 하고 나가니 꼭 참고해주도록 다음시간에는 간식을 우적우적 하면서 합니다. - [김준석]
          * 수업시간에 제어을 여러개 배우고 수업이 끝난 뒤 선배님들이 저녁식사로 롤을 사주셔서 맛있게 먹었습니다. 그리고 집에가서 구구단 짜보기를 하려고 했는데 이번주가 과제폭풍이라서 과제만 하다 시간이 다 가버렸어요ㅋ 주말에는 MT도 간다는데 복습할 시간을 빨리 따로 둬서 복습을 많이 해야 할 것 같아요. 수업은 지난 수업보다 어려워 진것 같아서 조금은 힘들었어요. 앞으로 조금씩 더 어려워 질 것 같은데 따로 책을 준비해서 혼자서도 여러가지 예습을 해야 할 것 같아요. 다음주엔 뭘 배우게 될지 기대가 됩니다. - [서원태]
          * 오늘은 새싹시간에 제어이란걸 배웠습니당.. 재미없던건 아닌뎅 사실은 졸렸어요 그래서 쫌 졸았던거 같아서 죄송해요...ㅋㅋㅋㅋㅋㅋ사실 뭐여찌 그...int?가 -2의31~2의31-1 이라는게 잘 이해가 안되어요 히힝ㅇ...제어은 재밌지만 좀 어려운 것 같습니다ㅇㅏ.. 구구단을 어떻게 짜지요? 우어엉 그걸 짤 수있다면 제가 자랑스러워 질 것 같아요. 과연 자랑스러워 질 수 있을지...또 팀플실도 첨 들어가봐서 좋았어용 우와앙~~~그리고 롤먹는 시간은 즐거웠어요♥♥ -[이진영]
          * 죄송해요...ㅠ_ㅠ 컴퓨터할수있는상황이안되서 지금써여 으앙 ㅠㅠ 일단 공대 팀플실 짱좋았어요 ㅋㅋㅋㅋ컴터만있었으면 공강시간에 신청해서 가있었을지도.... 이걸 노리는 애들이 많아서 컴퓨터를 안놓았나봐요..그리고, if, while등등 제어 배웠어요!! 오랫동안 안해서 가물가물했던 부분인데 수업하기전에배워서 다행이에요 흐히. 정말 도움이되는거같아용♡ 롤 맛있었어요!!!!!!! 롤먹을때 한 그.... 수수께끼..? 수수께끼입니까 ㅠㅠ? 하여튼..그거 재밌었어요 ㅋㅋㅋㅋㅋㅋㅋㅋ아 알아가는재미 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ - [이소라]
  • 새싹교실/2013/록구록구/3회차 . . . . 19 matches
          * 조건, 반복 익히기
          * 조건
          if, else, else if, switch, 조건 내부에 쓰이는 명제, 논리연산자 등
          * 반복
          반복의 원리
          while 사용
          * '''조건을 이용한 간단한 계산 프로그램 만들기!!'''
          입력: 두 수, 더할건지 뺄건지 곱할건지 나눌건지 (편하게 하기 위해서 각각 1, 2, 3, 4 숫자로 받자. scanf 쓰면 되겠지?)
          * '''반복을 이용한 별 찍기!!'''
          요렇게 출력 하면 됩니다.. 대신 반복사용해야겠죠??
         == 질 ==
         3회차 수업에서는 여러가지 조건과 while에 대해서 배웠다.
         여러 조건과 while을 배우고 나니 내가 이전까지 했던 방법보다 훨씬 간편하고 빨리되었다.
         그런데 아직 어려운 제들을 안 해봐서 그런가
         else if와 swich를 사용하면 왜 편리한지 잘 와닫지 않았다.
  • 새싹교실/2013/록구록구/4회차 . . . . 19 matches
          * 반복
          * for
          * 중첩된 반복
          * 저번 주차 과제를 전부 for 사용해 다시 풀어보기
          * 구구단 1단부터 9단까지 for 중첩시켜서 작성하기
         못하겠으면 언제나 질 환영하니...
         == 질 ==
         이번시간에는 for과 형변환에 대해서 자세히 배웠다.
         수업시간에 내가 printf를 사용할 때 for사용하는 친구들을 봤었는데 직접 사용해보니 뿌듯했고 while보다 보기 편하고 더 간편했다.:)
         나도 이제 수업시간에 printf대신 for사용해야겠다.
         저번시간에는 별쌓기와 for에 대해 자세히 배웠다.
         실습시간에 나는 printf로 노가다하는데 잘하는 애들이 for 쓰는거 보면서 부러웠는데,
         나도이제 for으로 아는척해야징 :) {*} :D {*}
  • Linux/배포판 . . . . 18 matches
         자, 그렇다면 의을 해소해보자. 운영체제의 중심은 무엇인가? 운영체제라고하는 것은 결국 하드웨어와 사용자 사이를 이어주는 가교라고 생각하면 된다. 이런 영역을 '''kernel'''이라는 용어로 부른다. 이 kernel 에도 종류가 대단히 다양한데... 그중에 하나가 리눅스이다. 리눅스이외에도 Mach, BSD, Darwin, Hurd 등등등 우리가 생각하는 것 보다 훨씬더 다양하고 많은 커널들이 존재한다. (대략 Mach 커널이 좀 유명하다. 모듈 커널의 장점을 이야기 하면서 리눅스의 커널의 비효율성에 대한 평가자료로 많이 이용되었다. 지금은 리눅스도 대부분의 장치들을 모듈로 올리는 것이 가능하지만..) 윈도우의 경우 이 커널은 관리하는 회사가 오로지 마이크로소프트뿐이기 때에 OS패키지를 라이센스라는 이름 아래에 단독으로 공급을 하지만 리눅스는 이와 달리 커널은 공개되어있고 어떤 묶으로 묶어서 팔거나 발표를 하는 것은 자유롭기에 다양한 배포판이 존재한다.
         사실상 리눅스의 다양한 프로그램들을 개인이 따로 관리한다는 것은 굉장히 어렵다. 패키지가 정적인 형태가 아니라 리눅스는 지속적인 엡데이트를 하는데, 통일된 방식으로 관리를 해준지 않으면 나중엔 어떤 프로그램을 어디에 깔았는지 조차 알기힘들어진다. (대략 도스시절 컴퓨터에 프로그램을 마구잡이로 까는 사람을 생각해보면 알듯.. -_-;) 이런 이유로 매키지 매니저라는 것을 사용하고 잇으며, 패키지 매니저는 상기와 같은 일들을 자동화된 방식으로 제공한다.''
         국내의 배포판은 대부분 레드햇의 패키지 방식인 RPM(Redhat Package Manager)를 채용한다. RPM의 경우 단일 패키지르 중심으로하는 경향이 강하고 의존성에 상당히 관대한 패키지 방식으로 알려져있다. ''(데비안유저인 관계로 잘모른다.)'' 알려진 바로는 느슨한 패키지 의존성때에 처음에는 편하지만 나중에 엉켜있는 패키지를 관리하기가 좀 까다롭다는 의견도 많다. 레드햇 리눅스는 현재 공개방식으로 배포되지 않는다. 기업용 혹은 웍스테이션을 위한 돈주고 파는 버전만 존재한다. 대신에 레드햇사는 페도라라는 리눅스 배포판을 지원하고 있으며, 레드햇의 사이트를 통해서 배포가 이루어진다. 대부분의 패키지가 CD안에 통합되어 있으며, 대략 최신 패키지 들이 패키징되어있다. (050626 현재 페도라4가 얼마전에 발표되었다 4+1CD) 페도라 리눅스는 레드햇의 불안정판 정도라고 생각하면 되고, 실제로 최신의 패키지들로 묶어서 내놓고 잇다. 페도라에서 얻어진 피드백을 통해서 레드햇에 반영하고 이로부터 안정적인 리눅스 서버 OS를 발표한다. ''ps) 의존성? 리눅스의 각패키지는 각기 다른 프로젝트로 진행되어 만들어진 것들을 다시 사용하는 경우가 많다. 따라서 각기 독립적인 패키지 만으로는 프로그램이 실행이 안되어 경우가 있는제 이런 경우 의존성이 있다고 말한다.''
         GNU에 정신에 입각해서 만들어지는 배포판이다. 공식명식 GNU/Debian Linux 이다. 데비안의 이름은 배포자인 이안, 그의 부인 데보라 이름을 땃다고한다. 패키징은 과거 dselect를 이용하였고, 현재는 aptitude 라는 툴을 기반으로 한다. ''(관리정보를 보관하기 때에 서로 호환성을 갖지는 않는다고 한다.)'' 데비안의 안정판은 대단히 배포사이의 공백기가 긴 것으로 유명하다. 혹자들은 메인테이너들이 굉장히 신중한 사람들이라고 평가하기도 한다. ''(01년도 Woody를 시작으로 05년 Sarge 사이에 딱 하나의 안정판이 있을뿐이다. 대략 2년에 한번꼴이다.)'' 대신에 Stable, Testing, Unstable, Experimental 이라는 단계적 개념으로 패키지를 제공해서 사용자의 선택의 폭을 제공한다. 그렇지만 Unstable 이라고해도 페도라만큼 최신의 패키지들로 묶이지는 않고 어느정도 성숙이 되면 패키지로 포함되는 경우가 다반사이다. 안정적 서버운영을 위해서는 안정판을 설치하는 경우가 많고, 일반용도로는 Testing, Unstable을 설치한다. (www.kldp.org 가 현재 데비안 Sarge-stable 로 운영중이다.) 패키지방식은 의존성에 대한 철저한 관리가 특징이다. 데비안이 유명한 것은 바로 이 패키지 관리의 엄격함 때이기도 하다. 그렇지만 최신의 기술로 만들어진 소프트를 원하는 이들에겐 그다지 좋은 덕목은 아니다. 네트워크를 통해서 인스톨하기 때에 base-system 이상의 것들은 네트웍이 연결된 상태에서 설치가 가능하다. 대신에 모든 배포판은 CD1장으로 구성된다. (net-install의 경우 대략 100MB 정도) 현재는 데비안의 엄격한 패키징 방식에서 좀더 유연한 자식격 배포판인 우분투이 나오면서 상당한 인기를 끌고 있다. 우분투는 데스크탑용 OS를 표방하고 발표되어으며, 실제로 CD로 엔터만 누르면서 완전설치가 가능하다.
         리눅스의 대부분의 배포판은 각 CPU에 맞는 커널에서 운영이 되는 바이너리 형태를 중심으로 하고 소스파일은 곁다리로 다루는 경우가 대부분이다. 그러나 젠투 리눅스는 다른 배포판과는 좀 다르게 소스를 직접 컴파일해서 패키지를 관리한다. 이때 사용되는 매키지 관리자의 이름이 Portage 라는 것이다. ''(대략 리눅스 관련 사이트에서 emerge, ebuild, USE 라는 것들이 나오면 gentoo 이다.)'' 본디 Gentoo의 배포자는 BSD의 포트를 기반으로한 패키징 방식이 너무 마음에 들어서 리눅스도 이런 배포 시스템을 만들자는 취지하에서 배포를 시작했다고 한다. ''(덕분에 각기 다른 CPU 관련된 바이너리를 저장소에 보관하지 않기 때에 미러 서버 입장에서는 좋을듯)'' 덕분에 Gentoo의 경우 실제 설치시에 커널 컴파일을 하면서 커널 모듈 설정을 해야하며, 세부적인 설정이 완전히 자동적으로 이루어 지지않는다. 또한 변변한 인스톨러도 없다. (Project가 진행중이긴하다) 리눅스를 좀 다루어본 사람들이 설치하고 쓴다.또 설치 시간이 컴파일 하는 시간과 같이 걸리기 때에 엄청난 설치시간으로도 유명하다.
         리눅스를 처음 시작하면서 어떤 배포판을 선택하는 지는 중요하다. 같은 리눅스이기는 하지만 사실 대부분의 리눅서들은 패키지 매니저를 이용하여 프로그램을 설치하는 편이지, 자신이 원하는 버전이 패키지 트리에 없다던가 버그가 있는 경우를 제외하면 직접 제작사 홈페이지에서 바이너리를 설치하는 경우는 거의 없다. 이럴때 동일한 패키지를 쓰는 사람한테 묻기가 편하고 이해하기가 편하기 대이다. 2005년 현재 리눅스를 시작한다면 현시점에서는 [http://www.ubuntulinux.org/ Ubuntu]를 가지고 시작해서 [http://www.debian.org Debian] 으로 옮겨가길 권한다. 동일한 패키징 방식을 가지고 있으면서 우분투는 데스크탑 리눅스를 표방하고 있는 만큼 다루기가 쉽기 때이다. 우분투에서 기본을 익히고 직접 서버를 운영하는 수준으로 올라가면 데비안으로 옮겨가면 배포판을 바꾸는데에 대한 부담을 전혀 느낄 필요가 없다. 나의 경우 대략 2주일 정도를 밤새면서 이런 저런 제를 해결하면서 왠만한 제는 이제 스스로 해결할 정도가 되었는데... 한번쯤은 해볼 만한 도전이라고 생각한다. 쓰다보면 윈도우 없이도 살 수 있는 세상도 있다는 생각도 하게 된다. 실제로 리눅스를 쓰는 사람들은 가장 게으른 배포판으로 데비안, 젠투정도를 꼽는다. 그만큼 잘 안변하고 한번 설치하면 거의 새로 설치해야할 일이 없다는 것을 말하는 것이다.
  • MFCStudy_2001/진행상황 . . . . 18 matches
          * 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. 15 화요일 모임 : 상협+창섭= 오목 알고리즘 정리(창섭 열심히 하게나.), 인수+선호=MM Timer 사용법 및, 주의사항 서화(아직 GDI 리소스 세는거 미해결 부분 해결 해)
          그리고, 98에서 나타나는 제점(종료후 화면잔상)이 ME에서는 일어나지 않는 관계로 테스트가 불가능합니다.[[BR]]
          가지고 있을 거다. OOP라는 것(내 멋대로긴 하지만..--;)을 최초로 지켜본 소스기 때에..^^;
          마지막 작품이 될 4번째. 3번째로 끝낼까 했지만.. 역시나 미완성은 맘에 안들기 때에 열받는
          *1월 2일 : 메뉴 만들기[[BR]]Option으로 Ball Size, Paddle Size, Ball Speed를 사용자가 선택하도록 하기 위해서 필요. Ball Size는 11,13,15 Pixel 중에서 하나를 선택해야 함 - 중복 선택할 수 없도록하기 위한 처리..--;나중에 보니 1학기때 실습예제로 있었는데 몰라서 한참을 삽질) 그리고 게임중일때는 Option메뉴를 선택할 수 없도록 하기 위한 처리까지 했다.
          *1월 12~13일 : 멀티미디어 타이머 사용. 3번의 기회가 주어지고 3번 다 죽으면 게임 끝. (게임 끝 처리) [[BR]] Stage가 증가하면 벽돌을 하나 당 깼을때 점수 증가 & 공의 속도 20%증가
          *1월 14일 : 공이 떨어지는 각도를 랜덤함수를 사용해서 일정하지 않도록 함, Stage 4, 5 그림
          *흐음..--; 절대좌표랄까.. 그걸로 바를 움직였더니 마우스 냅두고 키보드로 움직이면 바가 이상하게 움직임..--; 그래서 지금 메뉴에서 처음부터 무엇을 쓸것인지 물어보는 것을 둘까 생각중.. 같이 사용은...아아.. 생각하기 싫다..--;
          *SetCursor()사용하기, WM_SETCURSOR메시지
          *멀티미디어 타이머 사용법. 비록 다른 사람 소스를 그대로 따라하긴 했지만..--;
          현재는 계속 TRACE 구을 이용해서 어디서 잘못되었는지를 찾고 있습니다.
          * 앞으로 더 할일(level3 공격 함수화, 띈 3,3 공격및 방어, 오목 알고리즘 서화)
          * 오목 서화 조금 진행
          * 앞으로 더 할일 - 오목 알고리즘 서화 및 띈 3,3 공격과 방어 함수 작성
          * 1월 26일 - 오래 간만에 오목에 손을 댔습니다. 띈 3,3 공격과 방어 알고리즘은 잠깐 사이에 퍼뜩 생각 해냈는데 그걸 구현하는 동안에 버그때에 많은 시간을 잡아 먹었음.
          * 1월 21일 새벽 1시 현재 - 정상적인 사용자 인터페이스 구성을 끝내고 육목 막았습니다. 3 * 3 만 막으면 이제 인공지능으로 들어가야겠습니다. AI 설계는 뼈대만 잡은 상태입니다.
  • MoreEffectiveC++ . . . . 18 matches
         - 불필요한 디폴트 구성자는 제외
         - 사용자 정의의 변환 함수 사용
         - 자원 낭비를 막기위한 소멸자 사용
         - 예외상황 명확화 사용
          * 이 서는 ZeroPage 회원들을 위한 내부 서입니다. 회원 이외에 저작권 제에 소지가 되는 제에 관해서 책임을 질수 없습니다.
          * 시간이 없으니, 차후 서를 다시 다듬는 것은 2002년 여름 방학중에 할 생각입니다.
          * Item 5: Be wary of user-defined conversion functions. - 사용자 정의 형변환(conversion) 함수에 주의하라!
          * Item 9: Use destuctors to prevent resource leaks. - 자원이 새는걸 막는 파괴자를 사용해라.
          * Item 14: Use exception specifications judiciously. - 예외를 신중하게 사용하라.
          * Item 26: Limiting the number of objects of a class - 객체 숫자 제한하기.
          * Item 27: Requiring or prohibiting heap-based objects. - Heap영역을 사용하는 객체 요구하기 or 피하기.
          1. 2002.02.15 드디어 스마트 포인터를 설명할수 있는 skill을 획득했다. 다음은 Reference counting 설명 skill을 획득해야 한다. Reference counting은 COM기술의 근간이 되고 있으며, 과거 Java VM에서 Garbage collection을 수행할때 사용했다고 알고 있다. 물론 현재는 Java Garbage Collector나 CLR이나 Tracing을 취하고 있는 것으로 알고 있다. 아. 오늘이 프로젝트 마지막 시점으로 잡은 날인데, 도저히 불가능하고, 중도 포기하기에는 뒤의 내용들이 너무 매력있다. 칼을 뽑았으니 이번달 안으로는 끝장을 본다.
          1. 2002.03.08 서화 종료 ( 1~35장 한글화 or 요약, Appendix와 index는 제외)
  • NeoCoin/Server . . . . 18 matches
         /etc/profile : 모든 사용자 적용 스크립트
         /etc/motd : 사용자 로그인후에 나오는 메세지
         /etc/skel : 사용자 생성시(useradd) 초기 bash 설정 파일 (이렇게 숨겨놓다니)
         올해 들어 한국 표준시의 사이트에서 시간을 맞출수가 없다. 귀찮아서 오페라를 사용하고 있다.
         === 파일 시스템 서 ===
          * ReiserFS 로 변경도 해야 하고 전원 자동 종료 제도 해결해야 한다.
          * 데비안에서 자바 사용하기 http://debianusers.org/stories.php?story=02/08/02/1679110
         컴파일에 필요한 커널 헤더가 libc6-dev 패키지에 포함되어 있기 때
         CONCURRENCY_LEVEL는 make의 -j 옵션에 대한 숫자인데 빠른 CPU에서 숫자
         5. 커널 버전에 자열을 덧붙이려면 APPEND_TO_VERSION 환경변수를 쓴다.
         8. 커널 이미지, 커널 서, 커널 소스, 커널 헤더 패키지를 각각 만들기 위해
         -Emacs에서 한글 서가 깨져 나올때 dired 에서 한글 강제 지정
         -로컬 시스템에서 특정 사용자가 사용하는 공간
         find / -user <사용자> -fstype <파일시스템 타입> !-name "/dev/*" ! -name "/proc/*" -exec ls -lh{} \;
         -어떤 프로그램이 어떤 포트를 사용하는지...
         -하위 디렉토리 뒤져서 자열 치환
  • OOD세미나 . . . . 18 matches
          * 오늘 긴 시간동안 모두 수고하셨습니다. 오늘 설명한 내용이 아직 깊이 와닿지 않더라도 좋습니다. 프로젝트 개발에 있어 그동안 흔히 전개했던 방식과는 다른 접근 방식의 가능성을 확인하는 것만으로도 좋은 경험이 되었길 바랍니다. 누누히 강조하지만 한 번에 이해하시길 바라서 진행하는 세미나가 아니라, 정말 중요한 하나의 제언만이라도 남는다면 그것을 앞으로 몇 번 듣고 또 듣고, 그리고 정말 그 개념이 필요한 순간이 됐을 때 큰 힘이 되리라 믿습니다. 예제는 좋은 예제거리에 대한 의견이 없어 SE 프로젝트 주제를 차용했는데, 설계만으로 제가 깔끔하게 해결되는 과제가 아니라 알고리즘으로 해결해야할 부분이 꽤 있는 과제다보니, 실습이 설계부분에 집중하기 힘들었던 점은 다소 아쉽네요. 좋은 후기를 작성해주신 분 한 분을 선정해서 번역서 [http://book.naver.com/bookdb/book_detail.nhn?bid=2500990 Holub on Patterns]을 선물로 드립니다. 후기는 감상보다는 되새김이 되었으면 좋겠습니다. :) - [변형진]
          * 원래 정말 철저하게 절차지향적으로 프로그래밍 하던 사람이라... 오늘 내용이 좀 어려웠습니다;; 특히 그냥 들을때는 이해하면서 넘어가도, 실제 프로그래밍을 하려니까 막막하더라구요. 마지막 실습때 질도 했었는데, 형은 if 안에서 Comparer 객체를 선언해서, equals 함수를 사용하라고 하셨는데, 전 if 안에서 객체를 생성할 생각조차 하지 못했었거든요. 그저 주어진 정보만 가지고, 반복을 돌릴 생각뿐이었죠; 그런데 집으로 돌아오면서 생각해봤는데, 제가 짠대로 하면 '''“단일 변화로 인한 수정 사항을 예측 가능한 범위 내에 집중시켜라.”''' 라는 말과는 거리가 한 참 멀어지더라구요;; 예측은 가능한데 예측범위가 프로그램 소스 코드 전~부 라는거죠. 덕분에 "아, 정말 이런거 때에 OOP를 하라는 거구나" 라는걸 알게 되었습니다 ㅋㅋ
          제가 뭘 배우기만 하면 꼭 써먹을려는 습관이 있는지라, 정말 법같은걸 배우면 꼭 써먹으려고 하거든요. 그런데 이 말을 듣고, 법의 남용을 자제해야겠다는 생각을 했습니다; 마치 영어 배울때 '''수동태 장 많이 만들지 마라''' 라는 느낌이었어요 ㅋㅋ
          get과 set을 사용하면 메인에서 그 자료형이 뭔지 알고 있는 거니까 변경시에 같이 변경해야 하므로 사용을 자제하는 건가요? 다른 클래스에서 private로 선언한 거를 메인에서 접근하기 위해 get과 set을 사용하는 거 같은데, 그럴거면 private로 왜 선언하는 건지 의을 작년에 가졌...는데 여전히 모르는..;ㅅ; 우(뭔가 질하면서도 이상해서..;)현답을 기대합니다 ㅎ; - [강소현]
          * 매우 유익한 세미나였어요. 사실 2학년 다니면서 이미 OOP라는 수업을 들었음에도 불구하고-_-;; 객체지향이 뭐야 ㅠㅠ 라고 생각했었는데, 세미나를 통해, 아 설계란 이렇게 하는 것이구나 라는것을 어느정도(?) 느꼈어요. 2학년때, 자바 프로젝트를 하면서 로직에서 gui를 어떻게 붙이나 때에 꽤나 고생하던걸 생각하면 아 나의 고민은 참의미없었구나 라는것도 깨닳았지요. 또, 예제로 쓴 제 덕분에 꽤나 막막하게 느껴졌던 SE프로젝트를 어느정도 구체화할 수 있었다는 점에서도 너무 유익했어요. 이제 형진오빠의 세미나도 들었으니, 저도 객체 지향적 설계에 대해 진지하게 고민하고 실천해볼 생각이에요. 머리가 뒤죽박죽.. 위키도 이상해서 피드백은 여기까지.. 위키 이상해요 ㅠㅠ - [이원정]
  • PythonForStatement . . . . 18 matches
         === 질 ===
         이유는 hello world라는 자열 a 역시 C++의 배열과 비슷하게 쓸 수 있기 때이야. h는 {{{a[0]}}}, e 는 {{{a[1]}}}... 이런식으로 말이야.
         python의 for statement 법의 근원적인 차원으로 접근해 봅시다.
         질과 같은 맥락의 이 두동작이 같은지 따져 볼까요?
         우선 for 의 정의를 알아 봅시다.
         in 다음에 와야할 은 시퀀스형 입니다.
         C / Java 1.4 이하버전 의 for 제어은 객체의 특성을 따라 동작하지 않습니다. 이 언어들에서 for은 정해진 조건을 검사하면서, 탈출합니다. 즉, while을 사람이 읽기 쉽게 약간 고차원으로 추상화된 형태에 불과합니다.
         C/Java1.4이하 와 Python의 for에 대한 관점이 '''전혀''' 다릅니다. 그리고 유용하지요. C의 for과 구분하기 위하여 python의 이러한 for을 보통 '''for each''' 이라고 부릅니다. 이게 진짜 for 이라고 이야기들 하지요.
         왜 C++에 안되느냐면, C++의 제어이 C법에 종속되어 있고, C에서는 배열과 같이 주소를 통한 인덱스로 접근하는 형들이 종료 인덱스에 대한 정보가 없어서 구현이 불가능합니다. 추상화 시켜 C++에서는 [STL]에 for_each(..) 라는 함수로 비슷한 것이 구현되어 있기는 합니다.
  • 데블스캠프2012/둘째날/후기 . . . . 18 matches
          * [김민재] - XE를 다루면서 MySQL에 대해서는 조금 알았지만, 오늘 이야기를 들으면서 많은 종류의 DB와 프레임워크가 있다는 것을 처음 알고 놀랐습니다. 아직 실력이 많이 부족한 탓에 이해를 못한 점도 있었지만, 웹에 대한 전반적인 이야기를 들으면서 웹에 대해 많이 이해할 수 있었습니다. 특히 우리가 사용하는 웹 서비스 하나를 위해 140대나 되는 Queueing Server가 필요하다는 점에 놀랐습니다. 앞으로는 여러가지 분야에 호기심을 가지고 관심을 가지도록 해야겠습니다.
          * [서민관] - 유상민 선배님께서 오실 줄은 몰랐는데 정말 귀중한 시간을 써 주신 것 같습니다. 개인적으로 웹이나 서버 쪽에도 관심이 많아서 관련 이야기를 좀 들을 수 있어서 좋았습니다. 개인적인 사정으로 이야기를 자세히 못 들어서 좀 아쉬웠지만 잠깐 듣기에도 꽤 흥미가 가는 내용이었습니다. 그리고 집에서 월간 마이크로소프트를 현재 보고 있는데, 말씀하시는 걸 들어보면 월간 마소 좀 보면서 이것저것 해 보는 게 좋을 것 같네요. 여담이지만 형진 선배가 정말 이상한 걸 잘 하시는군요... 삼성도 참 제가 많은듯...
          * [권순의] - 앞에서 한 내용으로 인해 날로 먹기 강의가 되었군요. 뭐 APMSetup을 설치하고 FileZilla로 서버 사용한 것 까지는 해 봤는데 블로그 만들고 하는 짓은 안 해봐서 뭐.. 새로웠습니다. 근데 본인 특성상 블로그는 운영 안 할 것 같네요. 지워야 하나.. 아 컴터 하나 사서 서버로 쓰고 싶네
          * [안혁준] - 전 운영체제가 주로 리눅스기 때에.. APMSetup은 윈도용이더라고요. 리눅스용을 못찾는건가.. 설치형 블로그를 체험할수 있는 기회가 되어서 좋았습니다.
          * [정종록] - 앞의 강의 내용 때에 날로 먹는 강의... APM setup하는데 그것 까지는 했지만 점점 뒤로 갈수록 굳이 지금 제 노트북에 깔고 싶지 않아서....블로그 같은 것을 안하는지라. 그래도 재미있었습니다. 특히 위키를 하나 만들떄..
          * [김해천] - 처음에는 잘 안 듣다가, 갑자기 이해가 안 가서 혼자서 화를 내고, 나중에 다시 PPT를 보고는 혼자서 복습한 시간이었습니다. 화를 낸 것에 대해서는 깊은 반성을 합니다. JavaScript라... 뭔가 C보다는 법적으로 다양한 유동성을 가지고 있다는 생각을 했습니다. 이번 방학때는 이미 할 게 많지만, 시간이 난다면 마스터 해 보고 싶다는 생각이 들었습니다.
          * [이재형] - 자바 스크립트가 어떻게 활용되는지!!! 정말 신기하고 좋았습니다. 우선 C하고 비슷하게 쓰이는 것도 신기했어요! 그런데 ㅠㅠ array를 for에서 돌릴 때 조건을 잘못 써서 멘붕을 먹었었죠ㅠ... C를 다시 좀 더 확실히 공부해야겠다는 생각을 했습니다.
          * [김태진] - JavaScript를 많이 쓰던 때는 1학년 방학때랑 동네트워크 만들 때 뿐이었는데, 그때는 좀 객체에 관해서 따지진 않고 했습니다. 그에비해 이번엔 엄청난 추상화를 할 수 있다는걸 다시 한번 생각해보고, 음.. 재밌는 언어네요. 방학중에 여행갔다오거든 Canvas로 뭔가 해보고싶기도 하고, 그렇네요. 작년에 피보나치를 함수형으로 짜라고 할땐 멘붕했는데, 이번엔 한글 제를 그냥 for으로 쓴지라 쉬웠달까요..
          * [권영기] - C랑 법이 비슷한 것 같아서 쉽게 잘 이해하나 싶었는데, 클로져부터 뭔가 잘 적응이 안되기 시작하더니 맵리듀스부터는 멘탈이 붕괴되었습니다. 하지만 첫술에 배가 부르겠습니까? 이번 데블스캠프를 통하여 자바스크립트를 입하게 되었으니 관심을 가지고 공부한다면 잘 써먹을 수 있겠지요? 새로운 언어를 접해볼 수 있는 즐거운 체험이었습니다.
          * [정종록] - 자바스크립트에 대해 아는게 별로 없어서 편견이 없기에 편견을 깨지 않고 그대로 받아들이는 시간. 다른언어 c나 자바 같은데서 못하던게 가능해서 신기했고 재미있었음. 제는 새내기들이 피보나치를 못해서 당황스러웠지... 왜 피보나치하는데 다이나믹프로그래밍이 생각나는거냐 알고리즘 ㅋㅋㅋㅋ
          * [안혁준] - 키넥트를 말로만 들었지 실제 어떤식으로 동작되는지를 몰랐는데 오늘에서야 알게 되네요. 다만 키넥트의 인식이 그다지 좋지 못하다는점(관절이 20개만 잡힌다는게..) API쪽도 MS인 만큼 비공개가 많다는 점도 알게되었고요. 마이크 위치 인식같은 경우에는 음향 반사 때에 인식이 좋지 않을수도 있다는 생각이 들었습니다. 사실 이정도 물건이면 여러가지 활용방안이 있을수 있는데 그게 어디까지 가능한가를 알게 되어서 좋은 시간이었습니다.
          * [안혁준] - case의 페이크에 완전 황당했습니다. 어셈을 알고있는데도 심지어 어떤 어셈 구으로 컴파일 되는가를 알고 있으면서도 놀랬습니다. 유지보수 = 가독성 이란걸 확인 할수 있었던 시간이었고 무엇보다 유쾌한 시간이었습니다.
          * [권영기] - 사실 이 서에 관해서는 이전에 봤던 기억이 있는 것 같은데(언젠지는 잘 모르겠지만), 다시 보게되니까 정말 재미있네요. 이런 식으로는 작성해서는 안되겠다는 반면교사로 삼으면서 웃고 즐길 수 있었습니다. ㅋㅋㅋㅋ
          * [정진경] - 매크로의 진가를 본 것 같기도.. 치환한 자열 못찾게 개행해버리는 아이디어는 참-_-; 예전에 각종 커뮤니티에서 '상대를 화나게 하는 방법' 이라는 동영상이 있었는데요. 그 동영상의 의미는 '최소한 이런 행동은 하지 말아야 한다.' 라는 교훈이었던 것 같구요. 유지보수를 어렵게 하는 방법을 알아야 유지보수가 어려운 코드를 봤을때 어느 정도 대처할 순발력도 있을 것이고.. 뭐 여튼 악의적인 목적으로 쓰는 일이 없기를..;
  • 위키QnA . . . . 18 matches
         두 삽입방식을 사용합니다. 최신내용은 앞쪽에 써주세요.
         === 스타일 제 ===
         === 위키 메뉴의 순서 제 ===
         === IE 6.0 에서의 로그인 제 ===
         A : InterWiki 라고 합니다. InterWiki 에 등록된 다른 위키의 페이지를 링크 걸때 사용합니다. 위키간 이름공간을 연결해주는 유용한 매크로. ^^; InterWiki 에 가보시면 현재 등록된 다른 위키페이지들을 알 수 있습니다.~
         Semi Project에서 인원이 3명 이상이라면 자동으로 Regular Project가 되어야 합니다. 이렇게 한 이유는 Regular Project라면 대에서 더 다수가 접근할 것이라고 생각되며 eye catch의 시간을 더 줄여야 한다고 생각하기 때에 이렇게 둔것입니다. 둘의 차이는 인원의 차이 외에 현재 아무것도 없습니다. 그냥 2명 이하라고 하는것 보다 Semi라는 이름이 멋있어서 붙여놨것만 --;; --상민
          난 지금이 딱좋은데 더 확장되면 골치 아플껏 같고.. 혹은 사용용도가 ZeroWiki 와 합쳐 져야 한다고도 생각. project의 직접 접근성을 없애는건 반대이고 Starting Point에 사용용도를 링크하는 것이 최적이라고 생각 --상민
          FrontPage가 현재 하고 있는일이 (보여주고 있는 것) ZeroWiki 정의, 사용용도, Starting Point (여기에는 프로젝트 열거도 포함), 제안이야. 이중에서 사용용도와 제안은 새 페이지로 빼는 것이 좋을 것 같은데. 그리고 프로젝트 열거 밑에 Starting Point 밑에 두는 것도 생각. 그리고 또하나는 현재 이 프로젝트 관련 글을 Q&A가 아닌 제안페이지에 두는것이 더 좋겠다는 것. 현재 우선적인 직접접근성을 제공받아야 할 것은 project니까. 그에 대해서는 나도 별 이견 없음. --석천
         A: {{{~cpp [[TableOfContents]] }}} 매크로를 사용해보시는 건 어떨까요? 소제목들에 대한 내부링크를 만들어줍니다. 링크의 기준은 === ===, == == 등으로 묶인 헤더태그들 기준입니다.
         ==== 이미지 입력제 ====
         Q: Bioinformatics에 관한 프로젝트를 진행하려고 합니다. 소개와 내용의 재정리를 위해서는 많은 이미지 파일들을 위키에 올려야 될지도 모르겠는데, 위키에서의 이미지 사용은 그렇게 적절하지 않은 것 같습니다. 어떤 방식으로 이를 해결할 수 있을까요?
         A: 다음 위키의 업그레이드시에 해당 제의 해결 방법이 제시 됩니다. 지금 올리시면 차후에는 권력을 이용해서 특정인에게 노가다 시키시면 됩니다.
         Q: 어디에 글을 올려야 될지 고민하던 중 이곳에 글을 올립니다. 위키를 쓰다가 얼마전부터 느끼기 시작한 점인데요. 이것이 제인지 아닌지는 잘 모르겠습니다. 위키의 Recent Changes를 통해 바뀐 글중 관심있는 글들을 봅니다. 변경되었다고 해서 글을 읽어보지만 쉽게 무엇이 변경되었는지 알아볼 수 없었습니다. 시간이 많이 흐른 뒤에나 읽어보게 되는게 아닌가 생각합니다. 아무튼 제가 느끼기에 제가 읽지 않은 부분을 쉽게 알 수 있으면 편하지 않을까 생각합니다. 이미 안다고 생각한 글을 다시 읽어도 많은 도움이 되겠지만... ^^; 세세한 변화는 눈치채기 힘든듯 합니다.--["Benghun"]
         A: Use bookmark. (see also NoSmok:북마크사용법 )
  • 위키의특징 . . . . 18 matches
         || 글쓰기 권한 || 작성자만 수정하도록 보통 사용 || 모두 수정 가능하도록 사용 ||
         || 페이지온도의 변화 || 작성시간이후 계속 낮아짐.(이러한 이유로 질&답 게시판을 보면 같은 내용의 질답이 많다 사람들이 작성날짜를 기준으로 글을 보고 쓰기 때)|| 참여에 따라 언제든지(위키에서는 생성날짜보다 그글의 수정(혹은 생성-최근바뀐글)되었는지가 기준이 된다. 글에 대한 접근이 각글을 읽다가 링크를 따라서 여러가지 글에 대한 접근이기 때에 언제든지 사람들의 관심을 가지는 글들은 재조명 받을수 있다.||
         || 접근성 || 단순한 메타포때사용자 접근이 쉽다 || 장벽이 게시판보다 높다 ||
          * 개인위키 와 블로그의 비교 (위키는 커뮤니티, 혹인 개인 위키로 사용함)
          * 블로그 : 블로그는 통시적인 개인의 관심사에 대한 학적 구성에 유용할 것이라고 본다. 블로그는 철저히 개인적인 공간에 혼잣말을 적어두는 공간. 상대방의 정체성을 알고 관점을 이해하는데는 블로그가 장점
          * MBTI유형중 N(직관)형이 위키를 많이 사용. N형은 개별 사실보다 사실 사이의 관계에 대한 인지가 선행된다. 처음 본 사람이 어떤 머리형을 하고, 어떤 셔츠, 어떤 바지, 어떤 구두를 신었는지를 먼저 파악하는 것이 아니라 그 사람이 전체적으로 풍기는 느낌을 먼저 catch 하게 되며, 이것은 개별 사실들의 전체적인 연관성에 의해 나타나게 되는 것이다. -> 위키가 이런 N형에게 그러한 수단을 풍부하게 제공함. 수평적으로 나열된 사실들에 대해서 적절한 링크(혹은 지도패턴)을 사용하여 관련을 맺어줌으로써 개별사실이 가지는 합 이상의 정보를 창조.
          * 현대의 정보화 사회에서는 많은 지식을 머리속에 가지고 있는 사람보다는 유용한 지식이 어디 어디에 있는지 알면서 쉽게 찾아내는 사람이 지식인이다. 그런 의미에서 위키는 자신의 개인적 지식이나 특정 커뮤니티에서의 지식등을 체계적으로(사람의 두뇌 구조와 유사한 방식.. 링크 - 유사연상) 관리한다. 사람의 두뇌 구조와 비슷하기 때에 일종의 외부 두뇌(external brain)로 볼수도 있다. 위키위키는 논리적이고 이성적인 객관화된 사실이나 진실을 찾아가는데는 탁월하다.
          * 인터넷 일기장, 메모장, 스케치북, 스크랩북으로 활용, 수필집, 자서전, 사진첩, 신도 될수 있다.
          * Web + log. 인터넷이라는 바다에서 사용하는 '항해일지' 나 '여행일지'를 뜻함.
          * 네티즌이 웹에서 기록하는 일기나 일지를 뜻한다.(가장 정확하게 표현해주는 말) 무엇을 기록할지는 사용자 마음
          * 제목과 함께 본도 동시에 보여준다.
          * 기존의 홈페이지 보다 쉽게 만들고 사용, 관리할 수 있다. 매우 쉬워서 컴맹들도 한 시간 이내로 능숙하게 사용할 수 있다.
          * 블로거의 내면을 좀더 잘 노출 시킨다. 글쓰기 환경을 훌륭하게 제공하기 때이다.
  • 책거꾸로읽기 . . . . 18 matches
         [강희경]은 보통 책들이 서두에서는 흥미위주의 간단한 이야기를 다루다가 뒤로 갈수록 내용이 어려워지거나 뒷심부족으로 책을 다 읽지 못하는 경우가 많았다. 이 제점을 해결하는 데 있어서 '''책거꾸로읽기'''가 큰 도움이 되줄 것이라 믿고 한번 시도 해본다.
         인도에서 한국 기업의 선전과 그 이유를 다룬다. 인도인의 습성이 괴이하기 때에 인도에서 사업하기가 어렵다고 한다. 느릿느릿한 여유로움을 가지고 있으며 신용할 수 없다고 한다. 한국 기업의 선전이유는 인도인들에게 '''이 기업은 너희들의 기업이다. 너희들은 XX인이다.'''라는 마인드를 심어주었기 때이라고 한다.
         인도에서의 사업은 큰 위험이 있기 때에 한번 실수로 휘청거릴 중소기업에겐 벅찬 일이라고 충고한다. 대기업과 연계하여 진출할 것을 충고한다. 그 밖에 인도에서 사업할 때 주의할 점(ex, 왼손은 조심해서 써라)을 말한다.
         인도의 다양한 얼굴을 소개한다. 인도는 10억의 인구가 민주주의를 실천하는 국가이다. 선거도 4번에 걸쳐한다고 한다. 인도는 이러한 민주주의 때에 어떠한 일을 진행할 때 너무 오랜 시간이 걸린다는 단점을 가지고 있다.
         인도는 종교적 제로 인해 술을 별로 안마신다. 그런 종교적 색체가 강한 나라가 AIDS 2위라는 것은 참 아이러니하다.
         인프라가 인도경제발전의 발목을 잡는다는 말이 있다. 인도는 정전이 잦다. 게다가 물제도 심각하다. 인도여행시 물을 조심해야된다. 잘못 마실시에는 설사로 고통받는다. 호텔에서 양치질할 때도 생수로 해야한다. 그런 물 조차도 부족하다. 도로사정도 열악하다.
         인도인들은 훌륭한 관광자원들(ex,타지마할)을 지니고도 그것을 이요해 돈 버는 방법을 잘 모른다. 그 이유로는 오랜 사회주의로 인해 돈 맛을 아직 모르고, 내새를 중시하는 종교화 때에 현실을 개선하려는 의지가 부족하다는 점이 있다. 하지만 거꾸로 뒤집어 보면 당장 돈 맛에 눈을 뜨면 돈벌이는 시간 제라는 이야기가 될 수 있다.
         인도 최고 부자 '''위프로'''의 쁘렘지 회장은 하드웨어의 산업의 기반이 약한 게 '''인도의 한계가 아니냐'''라는 질에 '''우리도 하드웽어를 한다. PC로 일어선 회사가 우리 아니냐? 위프로의 경우 인도 국내 시장 매출의 25퍼센트는 하드웨어서 나온다'''고 대답하였다.
         하청공장으로 통하던 인도 IT업계에 시선이 쏠리게 된 계기가 바로 '''Y2K'''다. Y2K로 세상이 시끌벅적해지면서 모두들 해결책을 찾고 있었다. 바로 이때 해결사들이 무더기오 나타났다. 그게 바로 인도이다. 인도인들이 척척 일을 해내자 기업들은 그제야 인도의 인력의 자질과 인도 시장의 매력을 깨닫기 시작했다. 인도인들의 소프트웨어 제작, 관리, 설계기술은 어느 나라라도 따라올 수 없다고 한다. 내세에 천착하는 종교 때에 현실을 개혁하려는 의지가 부족하고 창조적이지 않다는 비판은 옛날이야기라는 지적도 있다. 그러나 아직 창의성이 부족하고 책임을 지려 하지 않는다는 평가도 있다.
         얼마 전부터 글로벌 기업들은 과거 자기네 땅에서 자기나라 사람들을 고용해 처리하던 고객관리며 회계, 물류 같은 이른바 백 오피스(Back Office)업무를 인도에 넘겨주고 있다. 주된 이유는 비용을 절감하기 위해서다. BPO(Business Process Outsourcing)산업이 번성하면서 인도는 '''세계의 사무실'''이라는 별명까기 얻게 됐다. 인도에서 BPO산업이 숙성한 이유는 여러가지다. 먼저 영어가 되는 직원들을 쉽게 구할 수 있고, IT산업이 발달해 멀리 떨어진 본국 기업과도 불편 없이 일할 수 있다는 장점이 있다. 재밌는 건 여기에 절묘한 '''황금분할'''이론도 숨어 있다는 사실이다. 미국동부와 인도는 딱 12시간의 시차가 있다. 미국인들은 잠을 잘 때 인도인들은 일을 할 수 있다는 예기이다. 적은 비용을 들여서 쉬지 않는 24시간 업무 체제를 가동시키는 셈이다. 하지만 요즘 미국인들의 '''인도인들이 일자리를 빼았는다'''는 불만으로 정치적 제로 비화되기까지 이르었다.
         수학을 중시하고 수학에 대한 재능을 높이 사는 인도의 전통은 곳곳에서 생생하게 살아있다. 십구단을 외우는 것도 그 중 하나이다. 인도 공과대학(IIT) 같은 명 대학에 들어가려면 입학시험에서 수학점수를 잘 받지 않으면 불가능하다.
         인도 교육부에 따르면, 2001년 기준으로 맹률이 무려 35퍼센트에 이른다고 한다. 그러나 평균의 개념은 별 의미가 없다. 비록 평균적으로는 형편없어도 특출한 경우만을 골라내도 워낙 인구가 많기 때에 그것만으로도 세계적인 경쟁력을 발휘하는 경우가 얼마든지 있는 나라가 바로 인도이기 때이다.
         무엇보다 중요한 사실은 인도인들이 이처럼 영어로 의사소통이 되는데도 영어를 더 잘하고, 더 잘 가르치려고 갖은 애를 쓴다는 점이다. 인도에서 영어는 지성의 상징이며 상류사회의 아이콘으로 통하기 때이다. 또 보다 완벽한 영어를 구사하기 위해서이다.
  • 현재 위키에 어떤 습관이 생기고 있는걸까? . . . . 18 matches
         새로운 공원을 지을 때였다. 한 공원 설계사가 공원에 대한 전반적인 설계를 하고 있었다. 공원 조경 설계를 마치고 잔디와 길을 내었다. 그런데 제가 있었으니, 옆에 분명히 길이 있었음에도 불구하고 사람들이 잔디를 가로질러 지나가는 것이었다. 푯말을 세워도, 줄로 길을 만들어도 사람들이 제대로 지키지 않는 일이 허다했다. 공원설계사는 '도대체 뭐가 제일까?' 하며 고민을 하였다.
         오랫동안 고민한 끝에 설계사는 잔디를 보고 이 제를 간단히 해결했다. 잔디가 가장 많이 밟힌 부분을 따라 새로운 길을 내었다. 잔디가 가장 많이 밟힌 부분을 보니 다른 길로 지나가는 가장 가까운 지름길이였던 것이다.
          * 이름의 하위 분류로 / 를 사용한다. 예) [삼총사CppStudy]하위에 속한 [삼총사CppStudy/숙제1] 페이지
          + 길에 비유를 했었는데 우리는 0'Wiki를 사용함으로 해서 익숙한 길이 있기 때에 1'Wiki에도 역시 똑같이 사용하는것 같습니다. 이대로 페이지가 쌓인다면 0'Wiki와 똑같이 되지 않을까 합니다.-[상욱]
          + 편한 길이 있다면 계속 써도 제는 없다고 생각하지만.. --[snowflower]
          * 파싱의 제와 검색의 제가 어쩌구 했었던거 같은데, 개인적으로는 페이지이름에 빈칸은 별로라서. --[snowflower]
          * 제목이 영어라면 각 단어의 앞을 대자로 씀으로써, 띄어쓰기의 효과를 누릴수 있었지만... 한글은 그게 참 애매하지요. 띄어쓰기를 안하자니 한눈에 들어오지도 않고, 또 띄어쓰기를 하자니 검색이 보장이 안되니... 아예 '영어제목만 만들자' 같은건 어떨까 생각중입니다. --[인수]
          * 개인위키를 돌려본 결과... 한글제목 페이지는 좀... 안좋더군요. 일일히 Delete하기 귀찮아서 한번에 필요한것만 지울라 했더니, 한글 페이지 제목은 파일명이 알파벳과 숫자의 조합으로 알아볼수 없는 자로 되어 있더군요. 역시 '영어제목만 만들자'가 저를 강력히 꼬시는군요.--; --[인수]
          * 음.. 위키가 외국에서 개발되어서 어쩔 수 없는걸까, 한글에 대소자가 없어서 어쩔수 없는걸까. -_- 어쨌든 영어이름으로만 지으면 이런 페이지는 안녕이겠네. 하지만 인수의 의견도 좋아보이는군 --[snowflower]
          * 외국에서 개발되어서 어쩔수 없다기 보다, 현재 Web 인코딩을 그대로 filename에 가져다 쓰기 때입니다. python 스크립트 만들어저 지워요. --NeoCoin
         기존 공원을 레노베이션할 때였다. 한 공원 설계사가 공원에 대한 새로운 설계를 하고 있었다. 이전의 설계를 뒤집어 엎고, 새로운 공원 조경 설계에 따라 잔디와 길을 내었다. 그런데 제가 있었으니, 옆에 분명히 길이 있었음에도 불구하고 사람들이 잔디를 가로질러 지나가는 것이었다. 푯말을 세워도, 줄로 길을 만들어도 사람들이 제대로 지키지 않는 일이 허다했다. 공원설계사는 '도대체 뭐가 제일까?' 하며 고민을 하였다.
         오랫동안 고민한 끝에 설계사는 잔디를 보고 이 제를 간단히 해결했다. 잔디가 가장 많이 밟힌 부분을 따라 새로운 길을 내었다. 잔디가 가장 많이 밟힌 부분을 보니 이전 공원의 길이었던 것이다.
  • 02_Python . . . . 17 matches
          * 자료형, 연산자 , 기본법 , 함수 , 모듈을 중점적으로 다룰 예정임
          * 그들이 언어 법에 어려움을 느끼지 않았으면 좋겠다는 바램
          * 사용하기 쉽고 , 배우기 쉬우며 여러 방향으로 이용할수 있는 언어이다.
          * GUI , 시스템 유틸리티 , AI , 인터넷 스크립팅 등에 사용할수 있는 언어이다.
          * C, C++, Java 에 비해 상당히 쉬운 법 구조를 가지고 있다
         == 파이썬이 사용된 예 ==
          * Infoseek 이란 포탈 싸이트는 일부 검색엔진을 파이썬 기반으로 사용한다
          * NASA 는 임무 제어 시스템에 파이썬을 사용한다
          * Industrial Light and Magic 사는 파이썬을 사용하여 광고용 에니메이션을 제작한다
         === 파이썬 프로그램은 모듈(module), (statement), 그리고 객체(object) 로 구성된다. ===
          2. 모듈은 을 포함한다.
          3. 은 객체를 생성하고 처리한다.
         자열 'spam', "guido's"
         === 자열 ===
         s1 = '' 빈 자열
         == 기본 ==
         === 함수와 관련된 ===
  • 1thPCinCAUCSE/ExtremePair전략 . . . . 17 matches
          * 저희 {{{~cpp Extreme Pair}}} 팀은 어떤 제든 우선 소스를 기본적으로 밑에 형태로 시작했습니다. 그래서 입력과 출력이나 진행에는 전혀 신경 쓰지 않고 제를 푸는 알고리즘(process() 함수 부분)에만 집중할 수 있었습니다.
          * 제당 따로 알고리즘을 생각하여 먼저 생각난 것이나 둘 중에 좋은 알고리즘을 선택했습니다.
          * 이때 여러 제를 동시에 푸는 게(예: 2명이서 2개의 제를 동시에 푸는 것) 아니라 한 제에 대해서만 생각했습니다. 왜냐하면 예를 들어 제 1번을 생각하는 데 A가 12분 B가 8분이 걸리고 제 2번을 생각하는데 A가 10분 B가 15분이 걸렸다고 하면 한제를 둘이 동시에 풀면 8 + 10... 총 18분이 걸렸을 것을 제를 각각 나누어 풀면 최악의 경우 A가 1번 B가 2번으로 나누어 풀면 12 + 15... 총 27분까지 시간이 걸리기 때입니다. (대회 규칙상 컴퓨터는 각 팀당 무조건 1대입니다)
          * 코딩은 기본적으로 ["PairProgramming"] 이였습니다. 드라이버가 코딩할때 파트너는 잘못된 코딩뿐만 아니라 이해안가는 부분에서는 계속적인 질으로 드라이버 스스로 명확한 코드를 만들도록 했습니다.
          * ["TestDrivenDevelopment"]를 사용했다고 말하기는 그렇지만 테스트 케이스를 입력으로 넣어놓고 프로그래밍 중간 중간에 제대로 돌아가는 지를 확인하기 위해 지금까지의 진행 상황을 출력했습니다.
          * 제 제출 후 틀렸을 때 심사단 컴퓨터의 틀린 케이스를 대충 외워와서 제점을 빨리 찾아 해결하였습니다.
          * {{{~cpp int}}}에서 {{{~cpp Over Flow}}}나는 제가 있었는데 상규가 {{{~cpp __int64}}}를 알고 있었습니다...^^;;;
          * 미리 싸울꺼 다 싸워놨다는게 승리 요소가 아니었나 생각합니다.. 대회 전 연습을 통해 미리 다 조정했기 때에 그런거에서 시간을 빼앗기지 않아서 빨리 풀수 있었던것 같습니다.
  • APlusProject/ENG . . . . 17 matches
         -- 병권오빠 이거 수정해야 하는데요~ 제목에 대자도 그렇고 형식 고쳐야 겠네요 (QA 윤주) 수정하고 적어주세요 다시 검토합니다 ^^
         Upload:APP_SetupManual_0608.zip -- 설치 메뉴얼 1.0 (최종서) -
         Upload:APP_SetupManual_0609.zip --바로 위에 최종서라고 적힌거 확인했는데 인덱스인가 승인에 잘못되어있길래 다시 수정해서 올립니다(qa)
         === 사용자 메뉴얼 ===
         Upload:APP_UserManual_0605-0607.zip - 이전
         Upload:APP_UserManual_0608.zip -- ver 1.0 (최종서) - 수정끝
         Upload:APP_OperatorManual_0607.zip -- 이전
         Upload:APP_OperatorManual_0608.zip -- ver 1.0 (최종서) - 수정끝-QA승인됨
         Upload:APP_SourceCode_0607.zip -- 이전
         Upload:APP_SourceCode_0608.zip -- ver 1.0 (최종서) - 수정끝-QA승인됨
         단, 사용하는 OS가 윈도우즈2000이나 XP professional이어야 함.
         제발생 원인:
         '모든 사용자에게 동일한 폴더 공유 권한을 지정(권장)'의 체크를 비활성화
         프로그램 확인 했습니다. 잘 되네요. 수고하셨습니다. 한편 추가된 페이지들로 인해 기본 설계와 상세 설계가 약간 변경해야 할 듯 합니다. 구현 하면서 설계때 생각치 못했던 게 나와서 설계 서에 영향을 주리라는 건 이미 예상했던 일입니다. --재동
         버그 찾았습니다. DB 커낵션 제인 듯. --재동
         제 컴에선 안 그러네요. 어떤 제인지 모르니 고치기 난감하네요- ik
         Upload:APP_Manual_0605.zip --설치와 사용자 메뉴얼 입니다.
  • AcceleratedC++/Chapter7 . . . . 17 matches
         || '''Key''' || 요소의 검색을 위해서 사용되는 검색어. 한개의 요소를 다른 요소와 구분하는 역할을 한다. 키는 요소의 변경시에 변경되지 않는 값이다. 이에 반하여 vector의 인덱스는 요소의 제거와 추가시 인덱스가 변화한다. 참조)DB의 WikiPedia:Primary_key 를 알아보자. ||
         || '''<map>''' || C++에서 제공되는 '''연관 배열(Associative Array)'''. 인덱스는 순서를 비교할 수 있는 것이면 무엇이든 가능하다. 단점으로는 자체적 순서를 갖기 때에 순서를 변경하는 일반 알고리즘을 적용할 수 없다. ||
          * map은 []연산자를 통해 키값을 통해서 접근이 가능하나, 이 경우 string type key이기 때에 모든 배열의 요소를 돌기위해서 일반적인 방식을 선택하였다. map의 각각의 요소는 '''pair'''라는 자료의 타입으로 구성. map은 pair의 first 요소에는 key, second 요소에는 value를 담는다.
          * Visual C++ 6.0 에서 소스를 컴파일 할때 책에 나온대로 (using namespace std를 사용하지 않고 위와 같이 사용하는 것들의 이름공간만 지정할 경우) map<string, int>::const_iterator 이렇게 치면 using std::map; 이렇게 미리 이름공간을 선언 했음에도 불구하고 에러가 뜬다. 6.0에서 제대로 인식을 못하는것 같다. 위와 같이 std::map<string, int>::const_iterator 이런식으로 이름 공간을 명시하거나 using namespace std; 라고 선언 하던지 해야 한다.
          * Visual C++에서 map을 사용할때 warning이 많이 뜬다면 [http://zeropage.org/wiki/STL_2fmap] 이 페이지를 참고.
          법과 주어진 단어를 이용하여서 간단한 장조합 프로그램을 만들어 본다. 제시된 규칙은 다음과 같다.
          === 7.4.2 법 읽어들이기 ===
          vector<string> entry = split(line); // split 함수를 이용해서 입력된 자열을 ' '를 기존으로 tokenize 한다.
          === 7.4.3 장 생성하기 ===
          g:Grammar map에서 <sentence> 키값으로 실제의 장에 관한 법을 읽어들인다.
          // <noun-phrase> 와 같이 연결된 법이 <noun> 인경우에는 재귀적 함수 호출을 통해서 마지막 단어까지 내려간다.
          // 마지막 단어까지 내려갓을 경우 재귀 함수를 호출하고 bracketed = false 의 조건이 되기 때에 재귀 함수가 종료된다.
          RAND_MAX % n를 이용해서 임의의 수를 구할 경우 Pseudo 임의 값의 한계로 인해서 제점이 발생한다.
          * n 이 작은 경우: rand()함수는 홀수 짝수를 번갈아 출력하는 성질이 있기 때에 n이 2일경우 0과 1이 반복적으로 출력된다.
  • D3D . . . . 17 matches
         묶어 놓은 정도이기 때에 이해하는데 어려움은 없었다. --;; [[BR]]
          * [영현] 음.. 맘에 들지 않는다. 무슨 소리인지 갈피를 잡지 못하는게 현실이다. 관련 책이라도 좀 봐야 하겠다.[[BR]]약간은 설명이 미흡한것 같다. 내가 모자르기 때일수도 있지만, ㅋㅋㅋ[[BR]]아직까지, 예제다운 예제를 못보다. 3D object를 본적이 없음. 아직까지.. --; - 232p/602p...
         이런 종류의 책들이 다 그렇듯이, winapi를 사용한다.[[BR]]
         그렇기 때에, 초반의 한 chapter는 거의다 winapi를 사용해서 [[BR]]
          union // use union - 메모리를 공유하는 성분들에 이름을 지정하는데 사용.
          float x, y, z; // 구조체의 이름이 정의되지 않았지 때에 x,y,z 성분을 원자 단위로 사용.
          point3 (float X, float Y, float Z) : x(X), y(Y), z(Z) {} // 초기화 목록을 사용. (compiler가 작업을 더 잘 수행할 수 있도록 해준다더군.)
         그래서, epsilon (이 책에서는 0.001로 정의)이라는 것을 두어 그 제를 해결한다고 한다. [[BR]]
         폴리곤은 개체의 테두리를 표현하는데 사용된다.[[BR]]
         // 제점
         앞에서본 Euler회전의 제점을 보안한 회전행렬.[[BR]]
          * 어떻게 개체를 움직이고, 어떻게 돌고, 어떻게 걷느냐는 움직임에 관한제 (locomotion or motor skills)
         즉, 장애물 2는 훨씬 더 멀리 떨어져 있기 때이다.[[BR]]
         // 실제 사용 예.
          * 야외의 경우와 같은 물리적 장애물이 드 경우에는 잘된다.
  • FreechalAlbumSpider . . . . 17 matches
         프리첼이 유료화되면서 주위 사람들이 게시판들을 프리첼로부터 이전을 하기 시작하였다. 주위 아는 교회선배들의 경우는 그중 숭실대에서 게임방을 운영하시는 분이 있어서 교회사람들 전용 서버를 하나 마련하고 게임방에서 굴리기로 한다. 프리첼 게시판 변환기의 경우 이미 범용적인 제로보드나 이지보드에서 제공을 하지만, 앨범이나 화일 백업은 지원하지 않는다. 그리고, 게시판 백업을 할때엔 프리첼 관리자가 기존 게시판들의 접근 권한정도를 조절해줘야 한다. 로그인처리가 안되어있기 때인데, 제로보드 게시판 변환기를 보니 쿠키 관련 처리가 없었다.
         마침 개인적으로 자주 이용하는 ClientCookie 가 있기 때에 쉽게 작성할 수 있을것이라 판단, 어느정도 스케줄을 잡고 작업 시작.~
         처음 무엇을 해야 할지 고민을 해야 하는데, 일단은 '이미지를 가져오는게 가능한가?' 를 먼저 하게 되었다. 프리첼의 경우 이미지를 얻어오는 방법이 getImage.asp 화일을 통해서만 가능하다. 일반 JPG 링크가 아니기 때에, getImage.asp 로 넘겨주는 인자들을 알아내야 한다.
         처음에는 모듈에 대해 Remote Test 를 먼저 진행했다가, Local Test 로서 일단 HTML 서를 받아놓고, 이를 TDD 로 하면서 데이터들을 추출하는것이 낫겠다 판단, Local Html Test 를 작성해나갔다. 이전 ProjectPrometheus 에서 했었던 방법과 비슷했었던지라, 일사천리로 거의 하루동안 관련 작업들이 끝났다.
         작업을 계속 하다 보니, 각 모듈들에 대해 BottomUp 스타일로 작성이 되었다. 근데, 막상 '다음에 해야 할일은?' 질을 해보니, 좀 멍멍해졌다. 이래서는 안되겠다고 판단, 일단 만들어놓은 개개의 모듈들을 근거로 시퀀스 다이어그램을 그리고 그 순서를 잡아나갔다.
         주로 제로보드 데이터로 변환하기 위한 데이터베이스 저장 부분인데, 첫번째 이유로는 제로보드 DB 의 스키마를 제대로 파악하지 못한것이 제였다. 이 제는 프리첼->제로보드 컨버터 PHP 소스를 보고 이를 Python 으로 포팅하였다. 이전에 PHP 프로그래밍을 많이 했기 때에 익숙했고, 어차피 같은 어족군(?)의 언어이므로 별다른 어려움이 없었다. 하지만, 테스트 경우를 명확하게 하지 않았기 때에, 작동이 제대로 되지 않는지에 대해서는 게시판 변환뒤 매번 웹에서 나온 결과를 확인해야 했다.
         또하나 제로는 이상하게 MySQLdb 모듈이 제를 일으켰는데, update query 를 날릴때 에러발생을 하는 것이였다. 똑같은 쿼리을 쉘에서 실행했을때는 잘 되었는데, MySQLdb 의 cursor 클래스를 이용, 쿼리를 날리면 실행이 안되는 것이였다. (DB 에 적용은 되는데, 에러가 발생한다.) 이 부분에 대해서는 일단 try-except 로 땜질처리를 했지만, 그리 기분좋진 않다. 수정이 필요하다.
         == 질 ==
         제가 python을 전혀 몰라서 그러는데요, 이거 사용법좀 알려 주시겠어요.
          늦게서야 보게 되어서..; 지금도 작동을 할런지는 잘 모르겠습니다. 알바때에 바빠서 유지보수를 못하는 중인지라.. freechal service UI 가 바뀌면 깨지는 녀석일것인지라..; 사용하기전에 필요한 것으론 Python 2.2x 버전 정도와 MySQLdb 라이브러리가 필요하고요. 해당 proper.py 화일을 맞춰주신뒤, freechalscript.py 를 실행해주시면 됩니다. 같은 역할을 하는 프로그램은 http://www.perlmania.or.kr 에서 먼저 구현된걸로 기억합니다. 거기서 해당 강좌도 있던걸로 기억하오니 참조하세요. --[1002]
          원리는 보통의 이런류의 프로그램 (HTTP 로 서 가져오고 스트링 파싱하여 데이터로 가공하고 DB에 저장) 이 비슷합니다. 단, 앨범게시판의 경우 로그인이 필요한데, 이 경우 쿠키 처리를 위한 header setting을 해줘야겠죠. Perl 같은 경우 LWP, Python 의 경우 ClientCookie, Java 의 경우 HttpUnit(원래의 용도는 다르지만, 이런 프로그램을 위한 간이 브라우저 라이브러리로 쓸 수 있습니다.) 등의 라이브러리를 쓸 수 있습니다. 그리고, 이미지의 경우는 해당 URL을 보고 다시 HTTP Connection 을 열어서 얻어와서 binary로 저장해야 한다는 것이 유의사항이 되겠습니다. (HTML만 얻어오면 img tag 의 링크들만 있겠죠.) 그리고 header setting 에서 약간 미묘(?)한 부분이 있던것 같던데, 저는 걍 webdebug 로 캡쳐한거 그대로 보낸지라..; 이 부분은 CVS의 코드 참조하세요. --[1002]
  • Java Study2003/첫번째과제/노수민 . . . . 17 matches
         자바의 주된 특징은 기존의 C/C++ 언어의 법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때입니다.
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
          * 자바 Applat 에서 - 자바 Bytescode는 소스를 자바 컴파일러로 컴파일한 결과물로서 HTML 서에 비해 크기가 매우 크며 웹 서버에서 브라우저로 전송되기까지가 많은 시간이 걸린다. 일단 전송된 애플릿은 브라우저가 수행시키므로 그 속도는 클라이언트의 시스템 환경과 브라우저가 내장하고 있는 JVM의 성능에 따라 좌우된다. 28.8K 정도의 모뎀 환경이라면 그럴듯한 애플릿을 다운 받아서 수행하는데는 많은 인내심이 필요하게 된다. 그러나, 점차 인터넷 통신 환경이 좋아지고 있으며 가정집을 제외한 대부분의 사무실과 학교 등에서는 전용 회선이 깔려 있고, 넉넉한 환경의 전용선이라면 애플릿을 구동하는데 무리가 없다. 근래에는 가정에서도 초고속 통신 환경을 싼 값에 구축할 수 있으므로 점차적으로 인터넷 환경에서 애플릿의 전송은 부담이 되지 않을 것이다. JVM도 기술적으로 많이 향상되었고, Sun뿐 아니라, IBM과 같은 매머드급 회사들이 뛰어들어 개발하고 있어 초기 지적받았던 JVM의 구동 속도는 점차 제가 되지 않는 상황이다.
         자바 가상머신은 자바 플랫폼의기반을 이루며, 다양한 하드웨어기반 플랫폼에서 사용될 수 있다. (다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있다)
          사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 된다.
          * 앞에서 나온 듯이 어떤 환경에서든지 사용할 수 있다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있다.
         자바는 처음에는 가전 제품에서 단순하게 사용되다가 플랫폼 독립적인 기능이 인터넷의 기능과 조화를 이룬다는 점을 밝혀져 1995년 썬 마이크로시스템즈(Sun Microsystems)에서 "자바(Java) 언어"를 와 "핫자바(HotJava)"를 발표하면서 세상에 나오기 시작했다. "핫자바(HotJava)"는 자바 언어로 만든 웹브라우저를 말한다. 바로 JDK(Java Developers Kit) 1.0.x버전을 발표하면서 본격적인 자바 개발환경이 지원되기 시작된다. 그리고 Netscape와 라이센스 계약을 통해 Netsacpe 브라우저에서 자바가 시행됨으로서 전 세계로 자바가 확산된다.
  • JavaScript/2011년스터디 . . . . 17 matches
          * [박정근] - javascript에 관한 전반적인 내용들을 배웠습니다. 지난 시간동안 javascript를 공부하면서 배웠던 내용들을 정리하는시간이 되었던것 같습니다. 게다가 이론으로는 알고잇던 프로토타입같은 내용은 실제로 구글개발자 툴의 콘솔을 이용하여 직접 보면서 설명을 들으니 확실히 이해되기도 하였구요ㅋ 관심가는 부분에는 함수형 선언적 프로그래밍인데 함수형 언어를 사용한 적이 없어서 그런 방식으로 프로그래밍 하는 것에 대해 신선함을 느끼고 더 알고 싶어졌습니다. 또 자바스크립트를 하면서 DOM에 관해서도 알아야 겠다는 생각이 들었습니다. 하아.. 공부할게 많네요ㅋ
          * http://projecteuler.net 에 가입해서 제를 풀어보려고 했지만 시간 제로 안 풀게 됨. 앞으로 같이 풀어봐요.
          * 네 줄 가지고 세시간 넘게 진행할만큼 중요한 내용이라고 생각한다. 그게 언어든 뭐든 쓰는 법을 익히는 것에만 집중하는 사람들을 많이 봤다. 그게 뭔지 확실히 알지도 못하면서 쓰는 법만 익히려한다. 어떻게 쓰는지를 배우는 건 그렇게 어렵지 않은데 뭔지도 모르고 법에만 집중하면 쓸 줄은 알아도 잘 쓰지는 못하는 것 같다.
          * [김태진] - 부산에 갔다오는 바람에 저번주는 스터디를 못하고 이번주에 다시 들어왔습니다. URL헌터를 완성해오는게 숙제였던거 같은데, 저는 하지 않고 왔습니다- 나중에는 자기가 짠 것을 고치거나 못짠사람은 완성하는 것을 했는데, 배열 법구조가 C와 달라 에러가 떠 코드가 산으로 갈뻔했죠... arr.join('')이라는 것을 통해서 기본 틀을 짜는데는 성공했으니 다음시간까지는 a를 먹도록은 짜 봐야겠네요. 하지만 다른사람들과는 다르게 객체지향적일거 같지는 않아요. 우선 구현에 의의를 두고 열심히 짜봐야겠네요;;
          * [정진경] - URL헌터의 밸런스를 조금 수정하고 php, mysql과 연동하여 랭크 기능을 넣었습니다. 자바스크립트 변수를 POST를 통해 다른 페이지로 보내는데 성공하긴 했는데 새로고침하면 POST 데이터가 살아남아있어서 데이터가 중복해서 들어가는 제가 생기네요. 짜고 보니 코드가 썩 깔끔하진 못하지만, 우선 구현하는데에 익숙해지도록 노력해봐야겠네요.
          * 오늘은 소스가 너무 스파게티여서 다른걸 첨가할 수 없었기에 리팩토링을 하고있습니다. 그 결과 나름 코드가 깔끔해졌고 기능들을 손쉽게 추가할 수 있게 되었습니다.+html select를 이용해 색깔고르기를 하고 싶었는데 함수를 찾느라 한참 걸렸네요.+ 선으로 그림그려질때 마우스를 up했다 다시down 하면 이전 위치가 저장되어 있었는데, 제를 해결했습니다. -[김태진]
          * jQuery는 잠정 연기하기로 하고 php와 MySQL, js, html을 다 사용하는 방명록 만들기를 하기로 하였습니다.
          * 각자 자신이 만들고 싶은 방명록의 스펙을 정하고, php기본 법(C에서 기본적으로 쓰는걸 옮길 수 있는정도)을 공부해오기로 하였습니다.
          * 저번주는 축제때에 두명이 참석하지 못해서 못했네요..
          * $_POST[]; 는 무조건 대자로 써야합니다.
          * query을 날릴때 잘 날려봅시다..
          * echo <<< 을 쓸때 닫는 단어는 한 줄의 제일 처음에 써야합니다.(띄어쓰기 없어야함)
          * 데이터를 지운 후에 새로 추가하게되면 제일 아래쪽부터 차올라가는게 아니라 없어진 위치에 채우고 새로 채워나갑니다. 이 부분때에 index의 필요성이 더 커졌습니다.
          * [김태진] - 둘다 해본적이 없는것을 하는지라 오늘도 삽질의 연속이었습니다. 소자 대자때에 30분 고생하고.. 또 그걸 고쳤더니 새 페이지를 띄울때마다 새로 빈 데이터가 생기질 않나.. 여러가지 코드를 참고해가며 겨우 완성해냈습니다. 약간 느리지만 하나하나씩 완성되어가니 재밌네요.
  • LC-Display . . . . 17 matches
         [http://online-judge.uva.es/p/v7/706.html 원보기]
         한 친구가 방금 새 컴퓨터를 샀다. 그 친구가 지금까지 샀던 가장 강력한 컴퓨터는 공학용 전자 계산기였다. 그런데 그 친구는 새 컴퓨터의 모니터보다 공학용 계산기에 있는 LCD 디스플레이가 더 좋다며 크게 실망하고 말았다. 그 친구를 만족시킬 수 있도록 숫자를 LCD 디스플레이 방식으로 출력하는 프로그램을 만들어보자.
         입력 파일은 여러 줄로 구성되며 표시될 각각의 숫자마다 한 줄씩 입력된다. 각 줄에는 s와 n이라는 두 개의 정수가 들어있으며 n은 출력될 숫자(0<=n<=99,999,999), s는 숫자를 표시하는 크기(1<=s<=10)를 의미한다. 0이 두 개 입력된 줄이 있으면 입력이 종료되며 그 줄은 처리되지 않는다.
         입력 파일에서 지정한 숫자를 수평 방향은 '-'기호를, 수직 방향은 '|'를 이용해서 LCD 디스플레이 형태로 출력한다. 각 숫자는 정확하게 s+2개의 열, 2s+3개의 행으로 구성된다. 마지막 숫자를 포함한 모든 숫자를 이루는 공백을 스페이스로 채워야 한다. 두 개의 숫자 사이에는 정확하게 한 열의 공백이 있어야 한다.
         각 숫자 다음에는 빈 줄을 한 줄 출력한다. 밑에 있는 출력 예에 각 숫자를 출력하는 방식이 나와있다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || . || [LC-Display/보창] ||
         [제분류], [알고리즘/제목록]
  • LoveCalculator/조현태 . . . . 17 matches
          최초로 제를 못읽어서 못풀뻔 했다..;;ㅁ;; 영어는 넘흐 어려워잉~>ㅃ<;;
          뭐.. 그건 그렇고.. 이거 모처럼 풀고싶지 않은제..
          커플이야 사랑을 이딴걸로 확인할일 없을꺼고.. 사용하는 사람은 할일없는 솔로뿐..
          이제는 제도 염장질이냐~!! (괜히 제에 화풀이 한다눙~ㅎ)
          if (64<temp_save_name[j] && temp_save_name[j]<91) // 대자 입력
          else if (96<temp_save_name[j] && temp_save_name[j]<123) // 소자 입력
          tolower(해당자를 소자로 바꿔줌, 소자면 그대로)함수 또는 toupper(대자로)를 쓰고 알파벳에서 숫자가 아닌 자(alpha = alpha - 'a' +1)로 처리 하였다면 대소자 따로 처리할 필요 없었고, 가독성 또한 좋아지지 않았을까? - [이영호]
          그런데 현태야;;; C++ 클래스 설계 할 때 고생 하겠다... 설계상의 약간의 제점이 있네. 메인 함수는 최대한 간단히 하고 입력만 받고 자열을 함수로 넘겨 처리하였으면 더 간단해지지 않았을까?;;; - [이영호]
         흐흐 이제 사실 처음 영어라서 무지 당황스러웠다 ㅋㅋ - [zyint]
  • MemeHarvester . . . . 17 matches
          * 젠장.. 구글에도 이와 비슷한 알리미라는 서비스가 나왔구나.. 내꺼가 먼저 만들어졌는지 이게 먼저 만들어 졌는지는 모르겠지만.. 이것은 사용자가 사이트와 키워드를 입력하는 그러한 번거로움 없이 사용자가 한번 방한 사이트들에 대해서 자동적으로 업데이트 내용들을 알려주는 방식이었다. 이 방식은 본 받을만 한거 같다.
         || 데이터 수집 || 로봇이 모든 웹을 돌아다니면서 데이터 저장 || 사용자가 특정 웹을 지정하고, 해당 웹에서 사용자가 원하는 키워드가 포함된 글이 올라올 경우나 새 글이 올라올 경우(옵션에 따라) 실시간으로 알려줌, RealTimeSearchEngine ||
         || 데이터를 보여주는 방식 || 사용자가 키워드 입력 -> 저장된 데이터를 보여줌.(필요 없는 정보를 포함하여 너무 많이 보여줌) || 사용자가 키워드(입력할수도 있고 아닐수도 있고)와 특정 웹사이트들을 입력하면 해당 웹사이트에서 그 시점으로부터 특정 키워드가 새로 올라오면 실시간으로 알려주거나, 그 시점부터 특정 시점까지 바뀐 내역을 보여줌 ||
         || 주식투자 || 자신이 특정 회사에 주식을 투자 하고 나서 해당 회사를 키워드로 입력하고, 모니터링 할 관련 웹사이트들(신사, 경제관련 매체)을 등록해놓으면 해당 회사에 관련된 기사가 올라오면 실시간으로 알려준다. ||
         || 질에대한 답글기다림해소 || 예를 들어서 데브피아에 자신이 궁금한 것을 질 게시판에 올리고 나서, 해당 게시판과 자신의 질에 관련된 키워드를 입력해놓으면 자신의 질에 대한 답글이 올라오면 실시간으로 알수있다. ㅤㄱㅙㄶ이 들락날락 할 필요가 없어진다. ||
         || 대중 매체 관리 || 연예인 같은 경우 자신과 관련된 기사가 어디에 새로 올라왔는지 알고 싶을때 자신의 이름을 키워드로 넣고 여러 관련 사이트들을 입력 하면 자신과 관련된 기사가 올라오면 실시간으로 알수 있다. 또한 학교나 기타 기관에서도 자신들의 이름이 어떠한 매체 거론되는지 실시간으로 모니터링을 할 수있다. 예를 들어 우리학교에서도 알바생을 시켜서 각 신을 뒤적이면서 학교 관련 기사가 나왔는지 찾게 하는데 이런 것들을 자동화 하는게 가능하다. ||
         || 이메일 알림이 || 자신의 이메일 오는것중 특정인으로부터 오는것이나 특정 제목의 이메일이 오는경우 실시간으로 알려줄수 있는 기능.. 추후 핸드폰 자 메시지로 알려줄수도 있다. ||
         || 중고 매매 알선 || 특정 중고 제품을 원한다고 등록해놓으면 현재 등록되어 있는 중고 사이트중에서 해당 물품이 올라올 경우 사용자에게 실시간으로 알려준다. ||
         || 05/12/25 || webDiff - 남상협 || 서버 완성(쓰레드사용), 정보를(id,비번,비교할 웹사이트 정보) 받으면 바뀐 내역을 클라이언트에게 알려줌 ||
         클라이언트는 바뀐 데이터중에서 원하는 키워드가 포함되었는지 판단하고 사용자에게 보여준다.
  • MultiplyingByRotation . . . . 17 matches
         [http://online-judge.uva.es/p/v5/550.html 원보기]
         보통 자연수의 곱셈은 복잡한 연산이다. 어떤경우에서는 연산결과가 마지막 숫자를 앞으로 옮기는 것에 의해서 얻을 수 있다.
         물론 이러한 속성은 사용하는 수체계에 따라 다르다. 위의 예제에서는 10진수를 사용했다. 9진수에서의 에는 다음과 같다.
         제의 모든 숫자는 10진수가 아니다..!!!
         입력은 텍스트파일이다. 진수,첫번째 숫자의 마지막 숫자(the least significant digit of the first factor)와 두번째 숫자(second factor)로 구성된 3개의 수치가 한줄씩 입력된다. 각 수치는 공백으로 구분된다. 두번째 숫자는 해당 진수보다 적은 숫자이다. 입력파일은 EOF로 끝난다.
         프로그램은 이동 곱셈속성을 갖는 숫자중 가장 작은 첫 번째 숫자의 자리 개수를 출력한다.출력 파일도 텍스트파일로 한다. 입력되는 데이터순서에 맞추어 결과를 한 줄씩 출력한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || c++ || ? ||[MultiplyingByRotation/보창]||
         [제분류]
  • OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 17 matches
         || MB_CUR_MAX || 현재 사용 중인 로케일에서 멀티바이트 자의 최대 길이 ||
         || typedef wchar_t || 확장 자 상수 크기의 정수 타입 ||
         || double atof(const char *str); || 자열을 실수(double precision)로 변환 ||
         || int atoi(const char *str); || 자열을 정수(integer)로 변환 ||
         || double strtod(const char *str, char **endptr); || 자열을 실수(double precision)로 변환 ||
         || long int strtol(const char *str, char **endptr, int base); || 자열을 정수(long integer)로 변환 ||
         || unsigned long int strtoul(const char *str, char **endptr, int base); || 자열을 정수(unsigned long)로 변환 ||
         || void srand(unsigned int seed); || rand()에 의해 사용되는 난수 생성기에 인자 공급 ||
         || int mblen(const char *str, size_t n); || 다중 바이트 자의 길이 리턴 ||
         || size_t mbstowcs(schar_t *pwcs, const char *str, size_t n); || 다중 바이트 자 스트링을 wide 자 스트링으로 변환 ||
         || int mbtowc(whcar_t *pwc, const char *str, size_t n); || 다중 바이트 자를 wide 자로 변환 ||
         || size_t wcstombs(char *str, const wchar_t *pwcs, size_t n); || wide 자 스트링을 다중 바이트 스트링으로 변환 ||
         || int wctomb(char *str, wchar_t wchar); || wide 자를 다중 바이트 자로 변환 ||
  • ScheduledWalk/석천 . . . . 17 matches
         StructuredProgramming 기법으로 StepwiseRefinement 하였습니다. 제를 TopDown 스타일로 계속 재정의하여 뼈대를 만든 다음, Depth First (트리에서 깊이 우선) 로 가장 작은 모듈들을 먼저 하나하나 구현해 나갔습니다. 중반부터는 UnitTest 코드를 삽입하기를 시도, 중후반부터는 UnitTest Code를 먼저 만들고 프로그램 코드를 나중에 작성하였습니다.
         위까진 프로그램의 트리중 1차 레벨이겠고, 이를 조금씩 재정의해나갔습니다. 컴파일 에러는 거의 뭐 무시를..~ 어차피 뼈대이므로. 컴파일 에러나 무한루프 등이 제가 발생하는 경우엔 일단 void 형으로 리턴값을 적거나 return false; 식으로 채워넣습니다. 일단은 뼈를 잡는게 더 중요하므로.
         이 답이 완벽한 답은 아니며, HIPO 이후 바로 프로그램 완성까지의 길에는 약간 거리가 있습니다. (왜냐. 이 Top-Down Design 의 결과가 완벽하다라고 말할수는 없으니까요. 하지만, 제와 전반적 프로그램 디자인, 큰 밑그림을 그리고 이해하는데 도움을 줌에는 분명합니다. )
         이정도면 처음에 생각해둔 뼈대가 나왔다고 생각됩니다. (즉, 추후 더 세분화시켜서 나눌 수 있긴 하지만, 이정도에서도 바로 구현으로 들어가는데 별 제가 없을 것이라고 생각될정도)
          2. Depth-Module First. -> 깊이가 가장 깊이에 있는 것들이 쉬운 제일 것이라 판단, 깊이가 깊은 모듈부터 구현하기로 했습니다. (일장일단인데, 그 대신 잘못 접근하면 Bottom-Up 이 되어버릴 수도 있기 때에.. 이 경우 해당 함수가 하는 일을 명확하게 해줄 필요가 있다고 생각됩니다. 전체 구조 내에서의 역할을 잊어선 안되겠죠.)
         InputRoachJourney() 는 String 자열인 관계로 좀 다르게 구현했습니다. 아까 말한, 메모리 포인터를 넘겨서 값을 저장하는 방식에 속합니다. 배열은 또다른 포인터와 다름없기에, 이렇게 쓸 수 있습니다.
         사실 이 방법은 위험합니다. char [] 일 journey 의 사이즈를 모르고 있기 때이죠. 만일 journey 에서 입력받은 여정의 크기가 클 경우 메모리에러를 발생시킬 수 있습니다. 하지만, 일단은 성능은 따지지 않고 '가장 간단하게 돌아가는 소스' 를 생각하기 위해 그냥 저렇게 남겨둬봅니다. 원래라면 배열의 최대값보다 더 큰 여정이 나왔을 경우의 처리 등을 생각해야 합니다. 단, 이 제에 대해선 InputRoachJourney () 함수 내로 지역화가 어느정도 가능합니다. 여기서는 Structured Programming 식으로 접근하려는 것이 목적이여서, 세부적인 제에 대해서는 좀 덜 신경썼습니다.
          1. 일단 해당 제일 모듈을 체크한다.
         음.. Vector 자체로는 별 제없어 보이네요. 그렇다면 다음은 실제 Roach를 이동시키는 Position 과 관련된 MoveRoach 부분을 살펴보죠. (여기서는 반드시 이동방향을 결정하는 함수와 실제 이동시키는 함수에 촛점을 맞춰야 합니다. board 배열의 값이 update 가 되기 위해선 어떠어떠한 값에 영향을 받는지를 먼저 머릿속에 그려야 겠죠.) 그림이 안 그려지는 경우에는 Debugger 와 Trace, break point 를 이용할 수 있습니다. 하지만, 구조화를 잘 시켜놓았을 경우 해당 제발생시 버그 예상부분이 어느정도 그림이 그려집니다.
         일단 assert 걸어놓은 부분에 대해선 ok.
         Press any key to continue
         음? 이런 계산이 이 프로그램 내에서 굉장히 많이 나오죠. 2차원 동적배열을 1차원 배열로 구현해줬기 때에. 오호라..
         여기서 얻을 수 있는 교훈 - 이런 변환 부분은 차라리 함수로 만들자는 겁니다. -_-; 이 경우 OO Language 라면 1차원 배열을 이용한 2차원 배열 클래스를 만들어 쓰는 것이 가장 편합니다. 제를 해당 배열 클래스 내로 지역화 시킬 수 있죠. 여기서는 일단 C로 만들었다고 가정하고 배제합니다.
  • Star . . . . 17 matches
         [[https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=13&page=show_problem&problem=1100 원보기]]
         48개의 삼각형 셀로 이루어진 판이 하나 있다. 각 셀에는 0에서 9까지의 숫자가 적혀있다. 모든 셀은 두 줄 또는 세 줄에 속한다. 각 줄들은 A에서 L까지의 자로 표시된다. 아래 그림을 보면 9라는 숫자가 들어있는 셀은 D, G, I 줄에 속하며, 7이라는 숫자가 들어있는 줄은 B, I 줄에 속한다.
         각 줄마다 열두 개의 숫자가 입력되는데, 각 숫자 사이에는 스페이스가 입력된다. 첫번째 숫자는 A 줄에서 가장 큰 숫자를, 두번째 숫자는 B 줄에서 가장 큰 숫자를, ..., 마지막 숫자는 H 줄에서 가장 큰 숫자를 나타낸다.
         입력된 각 줄에 대해 주어진 판에 들어있는 숫자 총합의 최소 값과 최대 값을 출력한다. 이 두 값은 같은 줄에 출력해야 하며, 두 숫자 사이에는 딱 한 개의 스페이스를 출력한다. 풀이가 없는 경우에는 "NO SOLUTION"이라고 출력해야 한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [[제분류]] [[경시대회준비반]]
  • Z&D토론백업 . . . . 17 matches
          * 상당히 민감한 제로 가칭(제로페이지데블스)로 정함. 올해 선배님들의 자리를 갖고 선배님들의 의견을 듣고 결정. (이것은 언제 할 것인지? offline ? online?)
         일단은 브레인 스토밍으로 가되, 중간에 비슷한 주제의 의견들끼리는 추후 정리하는 방식을 취하겠습니다. (단, 맥이 끊어지지 않도록 편집하기 바랍니다.)
         다만, 조직의 유지,관리에 따른 overhead 때에 , 여러분이 정말 힘을 쏟고 노력해야 할 대상이 소흘해 지지 않는지 걱정될 따름입니다.
         '''짧은 제 소견은...''' 형식적인 것들을 따지기 보다는, 내실있는 학회로 거듭나는 것이 중요하다는 것입니다. 학회의 이름, 통합시에 양쪽의 이해관계, 세미나나 회원 운영방식의 고수... 이런 것들은 우리가 같은 과로서, 모두 함께 발전하고 과의 역량을 결집하는 데, 크게 중요하지 않습니다.. 따라서, 제 생각에는... 통합 과정의 절차는 간소화하고, 서로 다른 모임이 아닌 동으로서의 하나된 생각으로, 앞으로의 실무적인 얘기에 중점을 뒀으면 합니다.. 그리고, 어차피 새로 들어오는 02학번 신입생들은 통합에 대한 과정은 모를터인데, 그 후배들에게 학회에 대한 '''사명감과 책임감'''을 키워주는 점도 토의해 보아야 할 것 같습니다...
          * 제가 이해하는 현상황 - 방금 ZP 위키 가서 몇 선배님들의 통합에 대한 글을 읽어 보았습니다.(어려운 위키를 거의 처음으로 제대로 사용한듯...-,-;;;) 그리고 여기 여러 글도 읽어 보았습니다.제가 이해하기로는 지금 상황은 (제 이해가 틀리다면 이야기해주세요) 고학번 선배님들 사이에서 의견차가 좀 있는 것 같아 보입니다. 이름 제부터 시작해서 가장 기본적인 합치는 제 까지... 서로에 대한 애착심이 강하다보니 의견차가 나는 것은 당연하다고 생각합니다. 그런데 정작 이야기의 주체가 되야할 00,01이 참여가 없어서 선배님들이 애 태우시는 듯 해 보입니다... 정말 죄송합니다.
          * 통합 회의 - 전에 ZP와의 통합 회의 했을 때부터 이야기를 해야겠군요. 그 당시에 정직형과 광식형이 얘기 했듯이 ZP와 데블스는 자신이 인정할 정도로 학회가 제대로 운영되지 않았던 것 같습니다. 그리고 그 원인을 첫째로 인원에서 보았습니다. 왜냐하면 무슨 일을 하려해도 어느정도는 인원이 있어야 되는데 서로 실질적으로 남은 인원이 거의 없었기 때입니다. (ZP나 데블스나 00, 01 학번당 한 5명정도...) 작게 봐서 데블스 쪽만 본다 해도 정말 너무 인원이 없었습니다. 2학기 01 MFC 세미나때 1,2명 빠지면 그 주 세미나는 취소될 정도였습니다. 그래서 통합을 하려 했습니다. 그리고 그 이후 회의는 합쳐진 걸 거의 기정사실화한 후 합쳐진 이후에 발생하는 제점에 대해 회의를 했습니다. 이름이나 서버나 새내기 받는 일등... 그 때 데블스의 입장은 데블스에서 가장 중요한 색이라 생각한 날셈 세미나만 고수할 수 있다면 아주 큰 제는 없다고 생각했습니다. 전에 따로 태호형이 이야기 했듯이 데블스의 색깔만 잊지만 않는다면 ZP와 통합되어도 그 색이 남아있다고 생각합니다. 뭐 데블스에 다른 여러 색이 많겠지만 제가 생각하기에도 정말 데블스 하면 '날셈 세미나'가 가장 기억에 남습니다. 여튼 그래서 통합을 하면서 그 색을 남기게 하였고 그것이 남아 저는 그것으로 만족했습니다.
          * 지금은... - 결론 부터 이야기 하자면 제 생각에 지금은 합쳐진 후 아직 제대로 뭐를 해보지도 않은 상태에서 너무 말이 많은 것 같습니다.(선배님들을 무시하는 말이 절대 아닙니다) 그러니까 우선은 조금만 기다려주셨으면 합니다. 이제 겨우 합쳐진 후 저번주 부터 처음으로 통합 세미나가 시작했습니다. 물론 선배님들이 보시기에 제점 투성이 겠지만 지금 시점에서 제점이 있는 것은 당연하다고 생각합니다. 그러나 이를 같이 고쳐나가면서 두 학회가 하나가 될 수 있다고 생각합니다. 그러니 조금만 뒤에서 기다려주세요. 만약 고쳐지지 않고 서로 다르게 걷는 다면 그건 그 때 생각해도 될 일이라 생각합니다.이것이 지금의 제 생각입니다...^^
          아마도 제 생각에는 재동군이 생산적인 말을 하자는 데 초점을 둔 것 같습니다. (아닌가..-.-) 이왕 합치자고 말이 나온 것은 그만큼 당사자들에게 필요성이 있어서였고, 이제 합치는 것을 전제로 의견을 주고 받기 위해 조언을 구하고자 했는데, 구경만 하시겠다는 일부 선배들께서 통합에 회의적 시각을 혹은 신중론을 펼치시며, 무언의 압력(분위기상)을 넣고 있다는 느낌을 받습니다. 비단 저만 느끼는 분위기는 아니라고 생각됩니다. 선배들께서 가볍게 한 마디 조언을 하시는 것이 조금만 무게가 실리면 후배가 볼 때에는 (학번의 차이 때에) 좀더 무게가 실려 결국은 '~하는건 어떻겠니' 가 '~하지 그러니' 로 바뀌어 들릴 지도 모르겠습니다. 아무튼 간에 마지막 결정은 어쨌거나 저희가 하는 입장이고 경험이 선배들에 비하면 턱없이 부족한 저희이기 때에 선배들의 조언은 계속 되었으면 합니다.--창섭
          *제가 말씀드린 ''고학번이 주도적인 프로젝트 운영''이라는 것이 생각난건 99년에 과거 전시회 자료를 뒤져 볼때 였습니다. 전시회 참여 작품중에 무엇가 '대단한걸~' 하고 느끼는 많은 부분이 3학년과 4학년의 작품이고, 1,2학년의 작품이라면 3,4학년의 도움이 있는 작품들이 많았습니다. 위 글에도 잠깐 언급했지만, 인터넷과 함께 학생들이 접할수 있는 주제의 다양성 때에 3,4학년 이라도 완전히 방향을 잡은 사람은 소수입니다. 하지만 분명 1,2학년에 비하여 그 질이 높아진 것은 분명하죠. 일단 고학번 혹은 고학년 주도적인 프로젝트의 의미는 단순히 고학년의 2명 이상의 프로젝트 활동이 좀더 활성화 되어야 한다는 생각에서 언급을 한것입니다. 군입대를 마치고 왔거나, 병특 이후에 복학한 회원들이 단체로 프로젝트를 추진하는것을 아직 보지 못했습니다. zp의 정모 토론에서 꾸준히 제기되어 왔던 이야기는 개인 스터디이고, 이중에 학회의 양에 부정적 영향을 끼치는건 1학년의 관리 부실과 개인 스터디이고, 2학년의 개인 스터디는 학회의 양과 질에 둘다 부정적 영향을 끼치는 것 같고, 학회의 질에 부정적 영향을 끼치는건 3,4학년의 개인 스터디이라고 생각합니다. 프로젝트의 용이성과, 개인 스터디에 해당하는 Semi project와 관심분야를 공개하는 개인 페이지로 다른 사람의 참여의 유도를 해서 Regular project로 만들어 나가려는 토양의 제공을 위해 현 zp에서는 위키를 통한 프로젝트 추진을 장려하고 있으며, 이제 저도 고학년에 고학번이니 쿨럭 열심히 해야죠. ^^;; '''주도적'''의 표현에서는 저학년이 고학년의 프로젝트 모습을 보면서 관심분야를 넓히고, 안목을 익히는데 있습니다. 물론 같이 하는것이 주도적의 마지막 종착점이고, 예를 들자면 현재 OS 만들기를 하고 게시는 선배님 위키에, 관심있는 00들이 접근하는것이라고 할수 있죠. -- 상민
          * 제가 말씀드린 것은 ZP의 운영자체가 JStorm의 형식을 따라 가면 안된다는 것이었습니다. 말씀하신 것처럼 큰 ZP에서 작은 프로젝트 모임이 나오는 것이 바람직하겠지요.. 생각해 볼 제는 과연 ZP가 그런 작은 프로젝트 모임을 관리하여 ZP의 정체성을 유지할 수 있느냐는 것입니다.. - 김수영
          * 답변 겸 해서 발전 방안(?)이라 생각되어 남깁니다. ZP에는 군제대나 병특제대후 복학한 회원이 거의 없습니다. 왜 그럴까요? 먼저 군제대후 복학한 사람들의 경우를 보면 다시 발을 들여놓기 힘든 분위기라는 것입니다(제가 느끼기에 말이죠.). 어느 누구도 복학한 사람들에게 ZP로 복귀하기를 요청하지 않은 것이 아닐까 하는 생각이 듭니다..(저도 요청하지 않았지만..--;). 신입생 모집할 때 1학년 수업에만 들어가지 말고(아직 이렇게 하겠죠?) 2/3/4 학년 수업에도 들어가서 모집을 하면 되겠지요.. 병특 끝나고 복귀한 사람이 없는 건 당연합니다..^^ 제가 96학번인데, 우리 학번중에서 병특 끝난 사람이 한명인가 거든요. 이 경우도 공익이라서 빨리 끝난 경우라.. 아무튼 98 학번들중에는 되돌아 올 사람이 좀 되겠지요.. 딴 애기로 빠졌는데.. 2/3/4 학년 수업에도 들어가서 회원 모집을 하면 많은(?) 복학생들은 다시 불러들일 수 있지 않을까 생각됩니다.. 군대를 갔다오면 머리가 빈다고는 하지만 그래도 좀 지나니깐 잘하더군요.. 그들도 ZP의 일원으로 만들면 고학번 주도적인 프로젝트를 진행할 수 있을 듯합니다. 머.. 이 경우의 고학번 주도 프로젝트라고해서 대단한게 나오지는 않겠지만..학회가 살아 움직이는데 도움이 되지 않을까 생각합니다. 참고로 동국대 전산과의 한 모임은 군대제가 없는 사람들만 뽑더군요. 여자나 복학한 사람이나 병특할 사람이나.. 제가 보기엔 잘 돌아 가는 것 같았습니다. ZP에서는 신입생도 뽑고 복학생도 뽑아서 잘 섞으연 이들보다 잘 되지 않을까요? - 김수영
  • ZPBoard/PHPStudy/기본문법 . . . . 17 matches
         = PHP 기본 법 =
          * 두번째를 많이 사용함.
          * 기타 법은 C와 비슷함
          * echo 으로 출력하는 것은 그대로 html 소스가 됨 (이걸 모르면 php를 제대로 써먹을 수가 없음)
          * echo 으로 출력시에 echo "text" 보다 echo 'text'가 더 빠르다고 함. " " 와 ' ' 의 차이점은 " " 안에는 $변수 가 인식이 되고 ' ' 안에서는 $변수 하면 변수가 인식이 안되고 그대로 출력됨
          * define() 을 사용하여 정의할 수 있으며, 변수와는 달리 한번 정의된 뒤로는 변경할 수가 없다.
          * 우선 기본적으로 C에서 사용하던 +, -, *, /, % 는 동일하게 사용한다.
          * 자열을 합칠 때 사용되는 . 연산자도 있음(많이 사용함)
         $a = 자열(혹은 변수명).자열(혹은 변수명);
         와 같은 명령은 두 자열을 합쳐준다.
          * 앞에서 언급한 각종 연산자를 대입연산자와 함께 사용하는 것도 C와 동일
         == 제어구조(foreach 제외 if-elseif-else, swich-case, for, while, do-while) ==
         C 의 사용법과 동일하다..
  • 데블스캠프2011/다섯째날/후기 . . . . 17 matches
          * 파이썬의 기본적인 프로그램을 배우고 (python에서 제공하는 학습용 라이브러리인 turtle을 사용하였습니다.) 네트워크에 관한 간단한 설명들을 들었습니다. 네트워크라는 부분을 공부해 본적이 없어서 처음 네트워크에 대해 이해하는 것이 어렵긴 했지만 알기쉬운 설명덕분에 그럭적럭 이해하고 넘어갈 수 있었습니다. server와 Client측에서 네트워크를 구성하는 부분을 파이썬으로 작성하였는데 코드는.. 긁어 왔다ㅋ 헌데 파이썬의 장점처럼 코드가 무지하게 짧았던게 인상깊었다.
          * turtle을 이용해서 파이썬의 법에 대해서 간단하게 다루어보고 파이썬의 소켓을 이용해서 서버/클라이언트를 만들어보고 와이어샤크를 이용해서 실제 주고 받는 패킷들을 보는 일을 했습니다. 그리고 중간중간에 최대한 알기 쉽게 네트워크에 대한 개략적인 설명이 끼어 있었지요. 개인적으로는 여러모로 마음에 드는 세미나였습니다. 우선은 전체적인 방향성을 잡아주는 세미나였다는 점에서 괜찮았다고 생각합니다. 사실 데블스에서는 특정 주제를 다루어도 자세히 다루기에는 시간적인 한계가 있는 만큼 이렇게 흥미를 유발할 수 있는 세미나가 좀 더 바람직하지 않은가 싶습니다. 그리고 현태 선배 스타일로 듣는 사람이 알기 쉽게 예를 들어가면서 설명을 하는 것도 듣기 좋았고요. 그리고 개인적인 의견으로는 간만에 현태 선배를 만난 것도 좋았습니다 ㅋ 나중에는 좀 더 네트워크에 대한 부분을 공부를 해 봐야겠지요. 현태 선배 덕분에 파이썬도 배우게 됐는데 네트워크도 공부하게 되는 건가...
          * 루아는 설명을 약간 짧게 하셨죠. 가장 기억에 남는건 와우의 베이스에 루아가 있다!!! 라는... 루아 특징이 저용량으로 쉽게 돌릴 수 있다라는것인지라 저한테는 아직 와닿지 않았던거 같아요. 하지만 법은 결국 파이썬과 비슷했던거 같기도... 처음 들어본 언어라는 점에서 흥미롭게 들었던거 같네요.
          * 루아에 대한 간단한 소개와 법의 설명. 사실 바쁘실텐데 와서 짧은 세미나라도 하고 가신 것만 해도 참 대단하시다는 생각이 듭니다. 사실 루아에 대한 이미지는 세미나 때 전체적인 분위기도 그렇듯이 와우 UI에 사용하는 언어라는 정도만 알고 있었는데 조금 더 자세한 설명을 들을 수 있었습니다. 개인적으로 세미나를 듣고 든 생각은 두 가지군요. 하나는 객체가 없다니??? 하는 것과 다른 하나는 크기가 작다는 게 그렇게까지 큰 메리트가 될 수 있는가? 하는 점이었습니다. 사실 요즘 이런저런 곳에서 게임 로직을 루아로 만든다는 얘기를 들었는데, 특정 작업에서 쓰는 사람들이 있다는 것은 그 부분에서 인정할 만한 뭔가가 있다는 뜻이겠지요. 하지만 개인적으로는 아직도 조금 더 손을 대 봐야 할 언어들이 있어서 당장은 건드려 볼 일이 없을 것 같다는 느낌이 좀...
          * 루아에 대해서 찾아보니까 주목받는 이유는 역시 용량이 작기 때인 것 같은데 폰쪽에서 일하셨다는 부분도 그렇고 역시 임베디드쪽인가 싶었습니다. 임베디드에서 루아로 프로그래밍을 하기 위한게 따로 있다고 하신 부분이 좀 궁금했습니다. 이번에 파이썬에 루비, 루아까지 스크립트 언어쪽을 많이 본 것 같습니다. 다들 법적으로는 비슷한 느낌인데 어떤걸 쓰는지는 용도 나름인 것 같습니다.
          * 형진이 형이 정말 자세히 가르쳐 주셨는데,, 새내기들한테는 그래도 어려운 거 같네요. 저도 1학년이었다면 그런 느낌이었겠죠 -ㅅ-;; 확실히 설명하는게 더 힘드네요. 계속 설명을 하는데 뭔가 부족하고 그래서 그거 때에 고생했던? 뭐 그런 시간이었습니다. 책에서 이런 내용을 봤었는데 이렇게 하라고만 했지 어떻게 하라고 잘 나와있지 않아 그랬는데, 이렇게 하게 되어서 좋았습니다.
          * 수경이의 String 코드 레이스에서 저의 프로그래밍 달리기를 너무 빡세게 했던게 부끄러워서 이번엔 1학년 학우(저 같은 경우 성화수 학우)에게 설명해주고 그 학우가 하고 싶은 스펙으로 함께 프로그래밍 하고자 많이 노력했습니다. 파트너 교체 후 순의랑 파란 바를 만들어버리는 실수를 저지르긴 했습니다만 제가 부족한 탓이었구요-_-;; 개인적으로 화수의 '0층부터 지하까지' 아이디어는 신선했어요. 형진이가 처음에 의도했던 엘레베이터 제(밖에서 누르고 층을 누르는 케이스)는 다른 클래스도 필요하고 일단 화수를 이해시키는데에 초점을 둬서 그걸 못 푼 점은 좀 아쉬웠어요.
          * Java를 통한 TDD (비스므리한) 것을 실습했죠. 좀 신기한 방식이라 신기했던거(??) 같습니다. 테스트 케이스를 만족하도록 코드를 만들거어간다라.. 확실히 다른사람의 코드이고 주석이 없는데도 대략적으로 이해할 수 있다는 점은 좋은 거였던거 같습니다. 여러사람들이 한개의 프로젝트를 다루게 된다면 이런식의 것도 필요할거같네요. ..하지만 그럼에도 불구하고 테스트 케이스만 만족하면 된다는 사상도 있어서 어려움이 완전히 해소될것이리라! 라는건 아닌거 같네요. (사실 남의 스펙을 자신이 구현했기 때에 발생했던 제겠지마는,.) SVN도 써보고 TDD나 이런 저런 기법들을 데블스에서 처음 접해봐 신선했습니다.
          * 개인적으로 항상 고민하는 부분 중의 하나입니다. 어떻게 하면 코드를 잘 짤 수 있을까. 그리고 회고 때에도 말했듯이 제가 작년 데블스 마지막 때 세미나를 하고 싶다고 했던 주제이기도 합니다. 변명삼아 말하자면 아직도 스스로가 남에게 이야기 할 수 있을 만큼의 능력과 자신감이 없어서 세미나를 피한 것도 있습니다 ;;; 사실 제가 한다고 하면 생각을 코드로 만드는 법(형진 선배의 말하듯이 코딩하기 부분) + 남이 만들어 둔 라이브러리의 사용 으로 하려고 했는데 과연 그게 괜찮은 방법인가에 대한 확신은 역시 좀 부족하군요... 하지만 모르긴 몰라도 언어에 사로잡히지 말고 로직이 우선해야 한다는 생각은 기본에 둬도 괜찮을 것 같습니다.
          * 현재 구현해야 하는 부분을 해당 기능 하나로 좁혀서 거기에만 집중해야 한다. 해결해야 하는 제의 범위를 최소한으로 줄이는게 코드를 잘 짜는 비결이다. 라고 하셨었는데 하다 보면 이것 저것 고려할게 많아지는 것 같습니다. 그래도 앞으로는 이번에 배운 것들을 코드를 짜는데 적용해보려고 노력해야 할 것 같습니다. 다만 이렇게 제의 범위를 최소한으로 줄였는데도 해결을 못한다면 어떻게 하면 좋을지 하는 생각이 들지만 -_- 거기는 개인의 실력 나름인가 싶습니다.
          * 정보보호에 대한 이론과 암호화/복호화 방식에 대한 세미나. 좀 놀랐던 것 중 하나는 제가 되는 케이스를 세밀하게 나누었다는 것이었습니다. 그리고 암호화 방식에서 공개키/비공개키 부분은 상당히 인상깊게 들었습니다. 특히 수경 선배의 설명이 상당히 알기 쉬워서 좋았습니다. 사실 이런저런 책에서 자주 눈에 띄는 얘기이긴 한데, 이렇게 간결하게 설명을 할 수 있는 건가 놀랄 정도로 듣기 편했습니다. 근데 정보보호는 일단은 개인적으로 그렇게 우선순위가 높지 않다는 점이 좀 아쉬운 부분이겠네요... 아마 한동안은 뒤쪽으로 밀려나 있을 가능성이 높아 보입니다 -_-
          * 시간 빠듯했던 것 같은데 예를 들어서 알기 쉽게 설명해주시느라 고생하신 것 같습니다. 개념적으로는 보면서 참 신기하다는 생각이 들었습니다. 하지만 실제 구현 부분의 얘기를 하면서 이런 저런 연산을 한다는 부분에서는 갑자기 흥미가 -_- 연산 부분의 실제 구현에 대한 것도 나쁘지 않긴 했지만 C나 자바 등의 주요 언어에서의 라이브러리 사용 등의 설명도 있었으면 더 좋았을 것 같습니다.
          * 마지막 트리 제는 저도 약간 헷갈려서 정확한 정답을 맞추지 못했네요[..] 김성권 교수님의 정보보호이론은 명강의입니다. 저도 보안의식 참 딸리는 학우고 수학 싫어하지만 정보보호는 재밌게 들었어요.
  • 새싹교실/2012/우리반 . . . . 17 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          * 위키사용하는 방법
          * 프로그래밍 장이 어떻게 되는지, 한 장을 나누는 기준 (;) 에 대해서.
          * printf를 사용하는 방법, %d란 무엇인가.
          * 갑작스런 총화.... 때에 1시간정도밖에 진행하지 못했네요. 이러면 안되는데 ㅠㅠㅠ 그래도 저번주에 잠깐 알려준게 있으니 그거로 이번주치를 퉁친거로 해야할거 같습니다. ㅠㅠ 다음주부턴 수요일로 쭈~욱 가는거니까 필참! ㅋㅋ + 다들 후기 이정도로는 써 줘요 ㅋㅋ -[김태진]
          2-1.switch, case을 이용해서 이번시간에 짰던 프로그램을 새로 짜 보도록 합니다.(키에 관한 프로그램)
          * 오늘은 수업에 늦게 와서 혼자 수업 받았다. 그래도 생각보다 빨리 끝나서 신났다 ㅋㅋ 반복에 대해서 배웠는데 역시 아직 어려운 것 같다..ㅋㅋ 그리고 자꾸 쓰다가 오타가 나서 오류가 떴는데 찾기 힘들었다. 온점과 쉼표를 내 눈은 구별하지 못하는 것 같다..... 앞으로 쓸 때 정성을 담아서 써야겠다 ㅋㅋ -[이미경]
          * 개행
          * for의 요소 검사 순서 -> 1243 243 243
          * 미경이 과제 : 숫자를 입력받고 해당한 만큼 별찍기를 하는 프로그램 짜오기.
          * (5를 넣으면 5-4-3-2-1개의 별을 저 형태로 출력, 4를 넣으면 4-3-2-1 방식.)
          * 윤화, 도현이 과제 : 해당 출력물을 while혹은 for을 이중으로 이용해서 짜오기.
          * [장윤화] - switch와 while을 배웠습니다. while을 배우다가 멘붕할 뻔 했지만 나름 머리를 굴려가며 코딩했어요ㅠ_ㅠ 마지막엔 막혀서 과제를 받았지만... 아직도 코드 짜는 것은 너무 어려워요... 집에가서 열심히 c공부를 해야겠습니다. switch와 case는 같이... 쓰는 건데... 어떨 때 쓰는 거냐면 if을 쓸 때 번거로우니까 switch를 씁니다.
          * [이미경] - switch, while, for을 배웠습니다. 반복은 아직 어려운것 같아요 ㅠㅠ... 열심히 연습해서 저도 현란하게 *을 가지고 놀고 싶어요.....ㅋㅋ 그리고 자꾸 괄호 쓸 때 실수해서 에러뜨는데 주의해야할 것 같아요..
          * for과 while 별찍기를 연습했습니다. 집에서두 연습 많이하면 더 나은 모습 보여드릴 수 있을 거 같네요. 조금씩 나아지는게 보람찹니다 ^^(권도현)
          * printf,\n,\t,\a,\\,\",return 0; in main,compile, link, scanf, int ==> variables, c=a+b;, %d, + => operator, %,if, ==, !=, >=, else, sequential execution, for, a?b:c, total variable, counter variable, garbage value, (int), 연산우선순위, ++a a++ pre/post in/decrement operator, math.h // pow,%21.2d, case switch, break, continue, logical operator || && ! 등.
  • 숫자를한글로바꾸기/김태훈zyint . . . . 17 matches
         char* num2str(int num); //숫자자로 변경시켜줍니다.
         int is_numarray(char getdata[]); //char 배열의 요소가 숫자인지 확인 - 맞으면 TRUE 리턴
         void inputdata(char *getdata); // 5자리이하 숫자자로 getdata에 배열로 입력받기
         // 5자리이하 숫자자로 getdata에 배열로 입력받기
          //숫자 입력받기
          printf("숫자 5자리를 입력해주세요 >> ");
          if(strlen(getdata)>5) continue;
          //숫자인가?
          if(!is_numarray(getdata)) continue;
         //숫자자로 변경시켜줍니다.
         //char 배열의 요소가 숫자인지 확인 - 맞으면 TRUE 리턴
          스위치 압박이얌..;;ㅁ;; 이게 모햐~~>ㅃ<;;; ㅎㅎ 그거 빼고는 다 이쁘넹!~헤...ㅎ 그런데 말야.^^ 수민이꺼나 네꺼 0넣으면 답이 안나오쟈넝..;;ㅁ;; 0이 불쌍해..ㅠ.ㅜ ㅎㅎㅎ 그거빼고는 다 잘해떵..ㅎㅎ 나도 쓰잘때기없는 그 클래스 뺄껄.ㅎ 괜히 넣었어..편하게 짤려다가 더 복잡해 보이는걸~ㅎ ㅎㅎㅎ 그럼 좋은하루~~>ㅁ<;; - 현태
         [LittleAOI] [숫자를한글로바꾸기]
  • 열린제로페이지 . . . . 17 matches
         물론 현실적으로 지금 당장 ["열린제로페이지"]로 가는 데에는 많은 무리가 따르리라 생각됩니다. 그러나 현재 제로페이지 회원들이 ["열린제로페이지"]가 되기를 원하는 마음을 갖고 시간을 두고 노력을 하며 학과 동들이 그 노력을 이해해준다면 불가능한 일은 결코 아니라고 생각합니다. 다른 회원들의 생각이 궁금합니다. (저는 이 글을 쓰기 위해 무척 오랜시간을 고민했습니다. 즉각적인 반응보다는 이 제에 대해 진지하게 생각해본 후의 반응을 보고싶습니다.)
         전체적인 부분에 대한 고민은 부족하지만, 한가지 사실을 간과하는듯 하여 글을 남깁니다. 현 시점에서 제로페이지는 자선 단체가 아닙니다. 누군가 자신의 잉여 시간을 투자하여, 원할한 스터디나 프로젝트를 위해 돕는게 아닙니다. 시나리오 1-1, 2-1에서의 이유는 '누군가 뒷바라지를 안해줘서', '기대고 들어올 틈이 보이지 않아서' 라는게 주요한 이유로 보이지만, 현재로선 이러한 상황에 대한 여유가 없었고 또한 학회가 생긴 본래의 목적은 아니었기 때입니다. 오히려 반해볼 수 있습니다. 제로페이지에 들어오는데 누구도 막은 일이 없는것으로 알고 있습니다.(제가 학교에 없을때의 일은 모르겠습니다.) 진입장벽 이야기는, 어느 모임에나 있습니다. '모임에 처음나갔는데 아는 사람끼리만 이야기 하고 너무 서먹하더라'로 귀결되는 이야기는 여타의 동호회에서도 쉽게 찾아볼 수 있는 제점 입니다. 모임에 들어오고자, 모임에서 어떤 내용을 얻고자 한다면 노력이 있어야 하는건 당연합니다. 애초에 그러한 접근 자체를 차단한다면 제가 되겠지만, 현재는 말이 제로페이지로 묶여있는 상태이지 교류는 제한을 두지 않는것으로 압니다. 예를들어, 나우누리라는 통신회사가 자료를 누구나 쓸 수 있게 공개를 하지 않았다 하여, 나우누리는 정보 공유의 진입 장벽이 될 뿐이다. 라고 비난할 수는 없는 노릇입니다.
         예전에..아주 예전에..당나귀와 당근이론(-.-)을 설명하던 때에 잠시 언급했던 제 의견과 유사한 의미의 내용이었기에 도움이 될까해서 당시 있었던 이야기를 한번 적어 봅니다.(어쩌면 회의록에 있을까요?) 그 때, ZeroPage회원 관리를 인력 풀 형식으로 하자는 의견을 냈었습니다. 자신이 같이 공부할 혹은 같이 프로젝트를 진행할 사람이 필요하면 학회에 그런 선전을 하고 그렇게 마음이 맡는 사람들끼리 단위 작업을 수행하는 식으로 학회를 꾸렸으면 좋겠다고 했었습니다. 하지만, 그 때 제기된 제점은 그러한 방식은 조직의 결속력을 화해시킬 우려가 있지 않을까 하는 점이였습니다. 자신이 필요할 때는 학회를 찾다가 학회에서 자신에게 이익이 되지 않는 일을 할때는, 가령 전시회 준비를 한다거나 , 나 몰라라는 식이 될 수도 있다는 점이 제점이였던 것 같습니다. 이런 일이 반복되게 되면 회원들 간의 유대관계가 느슨해질거라는 우려를 해결한 방안이 없었기에 더 이상의 의견을 주장하지 못하였습니다.
          1. 과내에서 '''공부''' 하면 '''ZeroPage'''라고 떠오르는 이미지를 만들어, 이제 주기적으로 정해진 정모 때, 열고 들어오는 학우들이 있도록 하는것입니다. 하지만 제는 어떻게 이런 이미지를 '''광고'''해 나갈것인가가 제입니다. 이 광고의 방법이라면, 전시회, 세미나 정도인데, 전자를 올해 할수있을지 저는 확신없고, 후자는 할려는 사람이 얼마나 될지 모르겠습니다.
         이전까지의 제는 Service + Content 제공자가 ZeroPage 나 JStorm 밖에 없어서였지만, 지금은 동서버가 있는 이상, 동서버에게 해당 Service 를 요청할 수 있겠고요. (위키, 게시판 등등이요. 이미 만들어져 있는 프로그램들에 대해서는 그다지 큰 제는 아닐것 같고요.)
         공부를 하는데에 대해서 꼭 '학회'화 될 필요는 없다고 생각합니다. 그냥 한달 단기프로젝트같은 모임이더라도 시작과 끝만 좋을 수 있다면 (대부분 그렇지 않고 '흐지부지', '어영부영'이여서 제지만) 그것도 좋겠죠. 그러한 모임이 자주 생기는 모습을 구경했으면 좋겠습니다. ZeroPage 안에서건, ["동서버위키"] 내에서건. --석천
  • 임베디드방향과가능성/정보 . . . . 17 matches
         이제 제 개인적인 생각을 말씀드리죠. 먼저 임베디드 시스템이 쓰이는 용도에 대해 조금 시야가 좁으신 것 같습니다. 적어도 집에 PC가 설치되어 있는 곳에서 손쉽게 PC로 할 수 있는 일은 절대로 임베디드 기기로 나오지 않겠죠. 그리고 임베디드 기기에 "하드 달고 모니터 달고 USB니 뭐니 다 달고나면.."을 하면 절대 안됩니다. 이러면 이미 임베디드 기기가 이니고 general한 pc입니다. 임베디드 기기는 말그대로 application specific, implementation specific한 경우에만 그 의미를 가지죠. 이러한 분야는 적어도 당분간은 general한 tool(님 말씀처럼 visual한 tool들)이 사용될 수 없습니다. 그리고 최근 유행하는 embedded linux의 경우는 더 요원하죠.
         둘째로 기술적으로 말씀드리죠. pc의 경우는 application만 하면 됩니다. 그 좋은 visual tool들이 hw specific한 부분과 커널 관련한 부분은 다 알아서 처리해 줍니다. 하지만 임베디드 분야는 이 부분을 엔지니어가 다 알아서 해야 하죠. pc의 경우 windows를 알 필요없지만 임베디드 엔지니어는 os kernel을 만드시 안고 들어가야 합니다. 이 뿐만 아니라 application specific/implementation specific하기 때에 해당 응용분야에 대한 지식도 가지고 있어야 하며/ 많은constraint 때에 implementation 할 때hw/sw에 관한 지식도 많아야 하죠. 경우에 따라서는 chip design 분야와 접목될 수도 있습니다.(개인적으로 fpga 분야가 활성화 된다면 fpga도 임베디드와 바로 엮어질거라 생각합니다. 이른바 SoC+임베디드죠. SoC가 쓰이는 분야의 대부분 곧 임베디드 기기일 겁니다. ASIC도 application specific하다는 점에서 임베디드 기기와 성질이 비슷하고 asic의 타겟은 대부분 임베디드 기기입니다.) 대부분의 비메모리 반도체칩은 그 용도가 정해져있으며, 비메모리 반도체를 사용하는(혹은 설계하는 사람)을 두고 임베디드 엔지니어라 할 수 있죠. 사실 임베디드는 범위가 매우 넓기 때에 한가지로 한정하기 힘듭니다.
         년전 빌게이츠 시절엔 불가능했지만 현재는 가능한 것은 반도체산업의 비약적 발전 때이겠죠. 이전엔 micom시장+고성능,고기능화로 인해 새로 창출되는 시장을 합쳐서 임베디드 시장이 부를 수 있겠군요. 특히 현재 많은 분야에서서 진행되는 연구가 cpu를 기반으로 하고 있는데, 그 응용분야는 다 제각각 입니다.(즉, 임베디드 시스템이죠.)
         너무 낙관적으로 말씀드린 것도 같군요. 제 생각에 적어도 정부가 임베디드 분야에 차세대 산업이 될 것이라고 판단한 것은 옳다고 봅니다. 우리 정부만 그런게 아니고 세계적인 대세죠. 하지만 그에 따라 그 분야에 종사하는 사람 대우가 좋을 것이냐? 이것도 낙관적이라 말씀드리지 못합니다. 정부가 많은 인력을 쏟아 붙는다면 단순한 작업, 노가다식 일만 하면 it산업의 재탕이 될 것입니다. 적어도 정부가 나서는 일에서 엔지니어가 행복한 경우는 없었죠. 하지만 임베디드는 그 뜻처럼 타분야와 관련성이 높기 때에 전성을 기르기도 좋다고 생각합니다.(즉, pc산업과는 다르다..는 것이죠.)
         PC도 주로 집이나 사무실에서 쓰이는 다른 임베디드 기기와 다를게 없습니다. 거기에 들어가는 CPU는 INTEL이 만들고 OS는 MS가 만들죠. 그런데 PC USER가 엄청나게 많기 때에 pc분야는 물론이고 다양한 분야의 고성능 TOOL들이 나오게 되는 것이죠. 일반적인 임베디드 기기에서 이런 환경을 기대하긴 힘듭니다. 왜냐하면 pc는 ms와 intel에서 standard를 정하지만 embedded는 정할 수 있는 주체도 없고 각각 시장도 크지 않습니다. (ms가 win ce로 노력 중이긴 하는데 유료이며 거기다 비싸다는 취약점이 있죠. 그리고 모든 분야를 cover할 수 없습니다.)
         복사기의 경우는 OA기기가 주로 사용되는 곳이 사무실이고 이 경우에는 복사의 편리성을 위해 복사기에 PC가 임베디드 되었다고 해야 옳겠죠.(이 경우 pc가 임베디드시스템이 된 것이군요(?)..)
         일본의 경우 트론 프로젝트가 올해(작년인지 헷갈리네요.)로 20주년을 맞이한다고 하던데 트론 얘기를 신에서 본 건 작년이 첨이었구요.(제가 신을 잘 안 봐서 그럴지도..--;)
         그렇게 뜬적은 없습니다. 솔직히 요새는 국가가 나서서 바람을 일으키려고 무지 노력하는듯해보입니다. 유비쿼터스도 말뿐으로 끝날 가능성이 상당히 많은데다가, 실제 그게 얼마나 상업적으로 가치가 있느냐에 대해서 아무도 말 못하죠. 임베디드의 경우 국내에서 키울려고 무지 노력하지만, 생각보다 그 분야가 돈을 못벌기때에(대기업하청하다가 다들 때려칩니다) 뜬다기보다는 언론플레이라고 봅니다. 싼값에 부려먹을려는... S사의 모 세탁기에 들어가는 모듈에 제품납품할려고 했다가 거의 공짜로 내놓으라는 압박이 있었었다는 얘기를 얼마전에 들었던 기억이 나네요.
         별로 안뜨는듯 한데요..임베디드 하는 업체는 많은데.. 매출은 그리 신통치 않은것 같고.. 핵심칩 설계회사만 돈을 버는듯.. 나머지는 거의다 칩 사다가 조립하는 노가다꾼으로 전락중이죠.. 유비쿼터스의 경우에도.. 고성능의 단말기를 대량으로 제조해서 보급하면 되기때에.. 설계및 제조하는 사람들은 극소수의 인원으로도 충분합니다. 뭐 정부에서 하는거라면..웹디자이너꼴 나겠네요..
         부풀려진 시장과 기술, 장미빛 환상으로라도 발목을 붙잡으려는 의도가 너무 빤히 보이니 제죠. 당근과 채찍이 병행되어야 하거늘 당근같지도 않는 당근을 내밀고 반대할때의 냉정함이란.. 나중에 어떤 꼴 날지 두고 볼 일입니다.
         그리고 과거에도 CPU를 사용하여 제품들을 제어하는 업무가 많았는데.. 그것을 운영하는데 인터럽트나..무한루프를 이용하여 제어를 한 반면에..요즘에 임베디드 시스템이라고 하는것들은 간단한 운영체계를 도입한게 다른데.. 이것도..별것 아닌데.. 왜 임베디드 엔지니어니..뭐니떠드는지 잘 모르겠습니다. 그냥 마이크로 프로세서를 이용하는 땜쟁이들이 기본으로 익혀야할.. 노가다이고... 핵심 부품 예를들면 ARM7의 코어부분등은 핵심기술을 가진 회사에서 독점하고있어서..그걸 이용해서 칩을 파는 업자나.. 프로그래밍짜는 엔지니어나..그냥.. 그들의 하수인에 불과할수도 있겠네요..요즘에는 임베디드 OS도 객체지향을 이용하고.. 그래픽 라이브러리들이 잘 나와있어서 WIN CE나 윈도우즈에서 제어용 프로그래밍 짜는 수준의 단순노가다로 넘어가고있는 추세입니다.. 하여간에 이것도 다들 하니까.뭐.. 별 영양가 없는것 같습니다.. 모 업체에서.. 벼레별거 다할수있는 기술적인 능력이있는데.(암9보드에 하드도달고 액정도달고..달수있는것 다 달고..) 막상 그 보드를 만들어놓고 쓸데가 없답니다. 요즘 추세를 보니까..몇년전까지도 고급기술자의 업무였던.. PC에서 기계제어하는것들도..이젠 전대졸업자나..고졸자가 주로하는 일이 되어버렸더군요.. 제 생각에는 미래에는 엔지니어가 그다지 많이 필요하지는 않을것 같습니다. 소수의 천재들이.. 프로그래밍 제네레이터.. 임베디드 칩 제네레이터 만들어서.. 가상현실상에서..뚝딱 뚝딱 맞추면.. 결과물이 떡하니.그냥 나와버리는 시스템이되고.. 다른 대부분의 경우에는 시스템이 거의모든 상황을 커버할만큼 고성능이되어버려서..별 예외조치에대한 필요성이 없는것이죠.. 엔지니어링 분야도..워드프로세서가 지구상에 몇개 안되는걸로 다 카바되는것처럼..그리될거같고.. 하여간에.. 기술분야에서도 극빈층에 속하는 재화를 소비만 하는 덧샘 뺄샘도 모르는 대다수의 사람과..극소수의 모든것을 다 할수있는 초기술을 가진 과학자들의 두가지 집단만이 살아남을듯 하네요.. 아마도 그런 과학자들에 의해 사육되겠지요...
  • 지금그때2004/토론20040401 . . . . 17 matches
          * 검은 : 패널 선택, 질 만들기 까다롭다
          질만들기는 힘듬
          * 초록 : 새내기 제외 모두?
          03의 대답은 비슷할듯, 몇사람에 질 집중
          - 숫자가 달리면 더 넣자. 고학번 우선.
          질은 누구나 가능.
          학번당 한명(6명?) - 고학번도 좋은 질을 할 수 있기 때
          * 초록 : 주제가 있는 질
          여러주제 - 질지.
          * 질 : 패널 기록은 누가 함? -> 레코더가 있음 좋겠음 -> 자겸 : 레코더로 정해짐
         == 질 ==
          * 초록 : [질의힘] 책을 읽고 질내면 좋겠다.
          * 그러한 공간적인 면을 물어 본것이 아닙니다. 당일 책상 배치는 사람수에 따라 그 수가 재조정되었습니다.(물론 한 책상당의 사람수의 계산에 따른 것입니다.) 전 방식에 대한 본질적인 질을 한것이지요. 다음에 열거하는 것들에서 큰 차이가 있는것 같은데 맞나요? --NeoCoin
          * 질하다 테이블 옮김. 주제 끝나면 칠판에 가서 고침. OST 중간중간 자리옮김
          * 강의실 : 4152로 변경. 앞 시간 수업으로 7:00(or 6:50)부터 사용 가능.
  • 질문레스토랑 . . . . 17 matches
         [질의힘]에 나오는 ''질 게임''을 좀더 게임과 같은 분위기로. [지금그때2005]를 준비하는 이들이 창안.
         주사위를 굴려서 걸린 사람이 질을 던지고, 나머지 사람들이 대답하는 게임이다.
          * 매니저 : 레스토랑 소개, 주사위 굴리기, 질에 대답할 사람 선택하기, 입막음을 담당
          * 웨이터 : 질을 거둔 후 공지하기를 담당
         === 메뉴판(질등록지) ===
          * 자신이 원하는 질을 추가할 수 있음
         === 개인 질권(아이템) ===
          * 정말 질하고 싶은 경우 개인당 1회로 질권 발동
         === 질 등록 ===
          * 메뉴판에 없는 질이 하고 싶은 경우 포스트 잇에 적음
          * 질이 적힌 포스트 잇은 웨이터가 수거
          * 새로운 질이 등록된 경우 주사위를 굴리기 전 웨이터가 모두에게 질을 알려줌
          * 원하는 사람은 질을 자기의 메뉴판에 추가할 수 있다.
          * 한 질에 대해 7분이 넘는 대답을 하는 경우 매니저가 아이템으로 중지시킴
  • 콤비반장의메모 . . . . 17 matches
          만화 형사 가제트(Inspector Gadget)에서 콤비 반장(Chief Quimby)은 형사 가제트에게 비밀 지령을 내릴땐 항상 자동 폭파되는 특별한 메모지를 사용하곤 했다. 그러나 인터넷 시대를 맞이한 콤비 반장은 이제 메모지 대신 한번만 사용할 수 있는 파일을 사용하려고 한다. ["콤비반장의메모"]와 같은 일회용 정보는 컴퓨터로 어떻게 구현할 수 있을까.
          * 사용자가 한번 플레이 했다는 걸 네트워크로 확인해 보는 법 밖이 없나요? 씨리얼 키나 MD5키 같은 걸 사용해서~
          ''사용자가 한번 플레이 했다는 걸 미디어에 직접 기록하는 방법으로는 디지털 워터마킹이 있습니다. 이 방법은 네트워킹 없이도 제를 해결할 수 있는 방법입니다만 전적 지식이 필요합니다. 네트워크로 확인하는 가장 쉬운 방법은 클라이언트는 재생시 마다 서버에서 인증을 받고, 서버측에서는 미디어의 아이디를 확인하고 재생횟수를 저장하는 방법이 아닐까 싶습니다. 미디어의 아이디 생성은 MD5 같은 해쉬함수 정도면 충분 할것 같습니다. --["데기"]''
          * 기본의 암호 알고리즘만 적적히 사용해도 괜찮은 어플리케이션을 만들 수 있을꺼 같아여!
          ''정보보호에 있어서 사실 어려운건 암호화 알고리즘보다 "어떤 순서와 조합으로 이들을 응용할 것인가"의 제인 것 같습니다. --["데기"]''
          * 사용이 간편하고 편리하다.
          * 지워지는 미디어만 사용가능하다. (CD-R 로는 배포불가)
          * 사용자가 재생 안한 파일을 그대로 복사한다면?
          MGM이 11월 개봉한 20번째 제임스 본드 영화 '다이 어나더 데이' 홍보를 위해 제작한 DVD가 36시간 이내에 영화장면 일부와 예고편 내용이 사라져 영화평론가들에게 화제를 불러일으켰다.이 DVD는 새로 나온 음악과 영화정보도 알릴 수 있고 내용이 일정시간이 지나면 사라지므로 인터넷에 복제판이 뜰 염려가 그만큼 줄고 있기 때이다.
          암호화와 동시에 접근제어(AccessControl)가 필요한 제인것 같아요. 접근제어는 다분히 시스템 의존적이라 일반적인 해결이 쉽지 않은 제죠. http://elicense.com/what/music.asp 이런식의 해법도 이미 나와있더군요. --["데기"]
         (조금은 황당한)["제분류"]
  • 큐와 스택/문원명 . . . . 17 matches
         여기서 의점은 string헤더 파일을 include하지 않고 배열을 char *형으로 하고 #1,#2,#3을 strcpy를 사용하여 고치고 실행한 후,
         제의 전체 코드는 다음과 같습니다. --[원명]
          char * array[ASIZE]; // Pointer의 배열입니다. 즉, 자를 저장할 공간은 아닙니다.
          // 코드 주변에 접근 가능한 공간을 두기 때에 에러가 없이 넘어가는
          // 하나의 Pointer입니다. 그 영역에 임의로 자를 채우는 것이므로
          // 이코드 때입니다. 배열상의 모든 char 포인터가 결국 같은 곳을 가리키게 됩니다.
          // 씌웠기 때에, 값이 출력 될수 있습니다.
          /// 입력받을 자열의 길이 알아내고, 저장 공간 준비
          /// 순회하면서, 자를 string에 더하는 작업
          _Str.append(1, _Traits::to_char_type(_Meta)); // 자를 하나씩 더한다. 이때, string 객체가
         *_Str++ = _Traits::to_char_type(_Meta); // _Str 은 위의 char* 형인 element 입니다. 즉, 자를 저장하는 공간을 할당하는 코드가 없습니다.
          DeleteMe 질의 의도은 두가지의 의미를 담을수 있습니다.
         그리고 위키의 사용 방법이나, 철학들을 [도움말]을 기점으로 따라가서 읽어보시면 알수 있습니다. 그러나 단발성 게시판에 익숙한 많은 분들이 쏟아지는 정보에 두드러기가 날지도 모르겠군요. ^^;; 위는 그중 필요한 링크 입니다. --NeoCoin
          ps. 초반에 데블스 캠프를 대비한 ZeroWiki의 사용 방법에 대한 정책이 부재했던것 같습니다. 하지만, 이 자체가 즐거운 학습의 기회가 될수 있을 것 같습니다.
         SeeAlso [원명]
  • 학술터위키와제로페이지위키링크문제 . . . . 17 matches
         -상협- 이번에 학술터를 위키로 만들어서 활성화 하고자 하는 프로젝트를 동서버팀과 정통부가 연계되어서 추진하고자 합니다. 동서버팀이 위키를 만들어 주면 정통부에서 그 위키에 필요한 기본적인것들을 채우기로 했습니다. 그런데 위키가 처음 열릴때 기본적으로 사람들을 끌어모을만한 아이템이 필요한데, 이에 대해서 제로페이지에서 완료된 페이지들을 링크걸면 어떨까 하는 생각을 하였습니다. 이에 대해서 제로페이지인들의 허용 여부를 알고 보고 싶어서 이렇게 페이지를 개설 하였습니다.
          * 검색엔진으로부터의 검색제 - 이 또한 학술터 위키쪽에서도 제를 일으킬 수 있는 내용이다. 동서버 관리자 또한 검색엔진 IP를 막아야 하지만, www.caucse.net 전부가 검색엔진를 거부해서는 안되는 일이다. 이는 동서버 관리자들도 고려해야 할 사항이다.
          * 동서버 학술터 위키에서 자유롭게 이용하되, 출처를 명시하기.
          * 동서버쪽에 검색엔진부에 대해 건의하기. (검색되는건 상관없으나, 검색로봇이 Edit Text 등의 행위는 하지못하도록 IP Block 등)
          * 저작권 관련 제가 있는 자료에 대해서는 외부 배포 제재. (이게 좀 애매하긴 하지만, 아직 외부에서 별다른 제제기가 없군요. 흠.)
         === 검색엔진에 관한 제는? ===
         Q : 동서버팀 및 정통부 측에서는, 검색엔진에서 동서버를 통한 ZeroWiki의 제의 소지가 있는 내부 스터디 자료에 대한 접근은 어떻게 해결할 것인가요?
         A : 제가 시험해본 결과 엠파스를 통해서 동서버 위키에 접근할 수 없었습니다. 그건 아마도 동서버 위키에 접근하기 위해서는 로그인(위키 로그인이 아니라 동서버 로그인)이 필요해서 검색할 수 없었던거 같습니다.
  • Gof/Command . . . . 16 matches
         때때로 요청받은 명령이나 request를 받는 객체에 대한 정보없이 객체들에게 request를 넘겨줄 때가 있다. 예를 들어 user interface tookit은 button이나 menu처럼 사용자 입력에 대해 응답하기 위해 요청을 처리하는 객체들을 포함한다. 하지만, 오직 toolkit을 사용하는 어플리케이션만이 어떤 객체가 어떤일을 해야 할지 알고 있으므로, toolkit은 button이나 menu에 대해서 요청에 대해 명시적으로 구현을 할 수 없다. toolkit 디자이너로서 우리는 request를 받는 개체나 request를 처리할 operations에 대해 알지 못한다.
         어플리케이션은 각각의 구체적인 Command 의 subclass들로 각가각MenuItem 객체를 설정한다. 사용자가 MenuItem을 선택했을때 MenuItem은 메뉴아이템의 해당 명령으로서 Execute oeration을 호출하고, Execute는 실제의 명령을 수행한다. MenuItem객체들은 자신들이 사용할 Command의 subclass에 대한 정보를 가지고 있지 않다. Command subclass는 해당 request에 대한 receiver를 저장하고, receiver의 하나나 그 이상의 명령어들을 invoke한다.
         OpenCommand의 Execute operation은 다르다. OpenCommand는 사용자에게 서 이름을 물은뒤, 대응하는 Document 객체를 만들고, 해당 서를 여는 어플리케이션에 서를 추가한 뒤 (MDI를 생각할것) 서를 연다.
         이러한 예들에서, 어떻게 Command pattern이 해당 명령을 invoke하는 객체와 명령을 수행하는 정보를 가진 객체를 분리하는지 주목하라. 이러함은 유저인터페이스를 디자인함에 있어서 많은 유연성을 제공한다. 어플리케이션은 단지 menu와 push button이 같은 구체적인 Command subclass의 인스턴스를 공유함으로서 menu 와 push button 인터페이스 제공할 수 있다. 우리는 동적으로 command를 바꿀 수 있으며, 이러함은 context-sensitive menu 를 구현하는데 유용하다. 또한 우리는 명령어들을 커다란 명령어에 하나로 조합함으로서 command scripting을 지원할 수 있다. 이러한 모든 것은 request를 issue하는 객체가 오직 어떻게 issue화 하는지만 알고 있으면 되기때에 가능하다. request를 나타내는 객체는 어떻게 request가 수행되어야 할지 알 필요가 없다.
          4. 새로운 Command를 추가하기가 쉽다. 왜냐하면 이미 존재하고있는 클래스들을 고칠 필요가 없기 때이다.
         OpenCommand는 유저로부터 제공된 이름의 서를 연다. OpenCommand는 반드시 Constructor에 Application 객체를 넘겨받아야 한다. AskUser 는 유저에게 열어야 할 서의 이름을 묻는 루틴을 구현한다.
         undo 할 필요가 없고, 인자를 요구하지 않는 단순한 명령어에 대해서 우리는 command의 receiver를 parameterize하기 위해 class template를 사용할 수 있다. 우리는 그러한 명령들을 위해 template subclass인 SimpleCommand를 정의할 것이다. SimpleCommand는 Receiver type에 의해 parameterize 되고
         아마도 CommandPattern에 대한 첫번째 예제는 Lieberman 의 논([Lie85])에서 나타났을 것이다. MacApp [App89] 는 undo가능한 명령의 구현을 위한 command의 표기를 대중화시켰다. ET++[WGM88], InterViews [LCI+92], Unidraw[VL90] 역시 CommandPatter에 따라 클래스들을 정의했다. InterViews는 각 기능별 명령에 대한 Action 추상 클래스를 정의했다. 그리고 action 메소드에 의해 인자화됨으로서 자동적으로 command subclass들을 인스턴스화 시키는 ActionCallback 템플릿도 정의하였다.
         THINK 클래스 라이브러리 [Sym93b] 또한 undo 가능한 명령을 지원하기 위해 CommandPattern을 사용한다. THINK 에서의 Command들은 "Tasks" 로 불린다. Task 객체들은 ChainOfResponsibilityPattern에 입각하여 넘겨지고 소비되어진다.
  • Gof/FactoryMethod . . . . 16 matches
         Framework(이하 Framework 그대로)는 객체사이의 관게를 정의하고, 유지하기 위하여 가상 클래스들을 사용한다. Framework는 종종 이러한 클래스들을 기반으로 객체의 생성에 책임을 진다.
         여러 서를 사용자에게 보여줄수 있는 어플리케이션에 대한 Framework에 대하여 생각해 보자. 이러한 Framework에서 두가지의 추상화에 대한 요점은, Application과 Document클래스 일것이다. 이 두 클래스다 추상적이고, 클라이언트는 그들의 Application에 알맞게 명세 사항을 구현해야 한다. 예를들어서 Drawing Application을 만들려면 우리는 DrawingApplication 과 DrawingDocument 클래스를 구현해야 한다. Application클래스는 Document 클래스를 관리한다. 그리고 사용자가 Open이나 New를 메뉴에서 선택하였을때 이들을 생성한다.
         Application(클래스가 아님)만들때 요구되는 특별한 Document에 대한 Sub 클래스 구현때에, Application 클래스는 Doment의 Sub 클래스에 대한 내용을 예측할수가 없다. Application 클래스는 오직 새로운 ''종류'' Document가 만들어 질때가 아니라, 새로운 Document 클래스가 만들어 질때만 이를 다룰수 있는 것이다. 이런 생성은 딜레마이다.:Framework는 반드시 클래스에 관해서 명시해야 되지만, 실제의 쓰임을 표현할수 없고 오직 추상화된 내용 밖에 다를수 없다.
         Fatory Method 패턴은 이럴때 사용한다.
          병렬 클래스 상속은 클래스가 어떠한 제의 책임에 관해서 다른 클래스로 분리하고, 책임을 위임하는 결과를 초례한다. 조정할수 있는 그림 도형(graphical figures)들에 관해서 생각해 보자.;그것은 마우스에 의하여 뻗을수 있고, 옮겨지고, 회정도 한다. 그러한 상호작용에 대한 구현은 언제나 쉬운것만은 아니다. 그것은 자주 늘어나는 해당 도형의 상태 정보의 보관과 업데이트를 요구한다. 그래서 이런 정보는 상호 작용하는, 객체에다가 보관 할수만은 없다. 게다가 서로다른 객체의 경우 서로다른 상태의 정보를 보관해야 할텐데 말이다. 예를들자면, text 모양이 바뀌면 그것의 공백을 변화시키지만, Line 모양을 늘릴때는 끝점의 이동으로 모양을 바꿀수 있다.
          이러한 제한에서는 모양에따라, 각 상테에 따라 객체를 분리하는 것이 더 좋을 것이고, 각자 필요로하는 상태를 유지 해야한다. 서로 다른 모양은 서로다른 Manipulator의 sub클래스를 사용해서 움직여야 한다.이러한 Manipulator클래스와 상속은 병렬적으로 이루어 진다. 다음과 같은 모양 같이 말이다.
         Factory Method패턴이 적용될때 발생할수 있는 제에 관해서 생각해 보자.:
          '''첫번째''' 경우는 코드가 구현된 sub클래스를 요구한다. 왜냐하면, 적당한 기본 구현 사항이 없기때이다. 예상할수 없는 클래스에 관한 코드를 구현한다는 것은 딜레마이다. '''두번째'''경우에는 유연성을 위해서 concrete Creator가 factory method 먼저 사용해야 하는 경우이다. 다음과 같은 규칙을 이야기 힌다."서로 분리된 수행 방법으로, 객체를 생성하라, 그렇게 해서 sub클래스들은 그들이 생성될수 있는 방법을 오버라이드(override)할수 있다." 이 규칙은 sub클래스의 디자이너들이 필요하다면, 그들 고유의 객체에 관련한 기능으로 sub클래스 단에게 바꿀수 있을음 의미한다.
          2. ''Parameterized factory methods''(그대로 쓴다.) Factory Method패턴에서 또 다른 변수라면 다양한 종류의 product를 사용할때 이다. factory method는 생성된 객체의 종류를 확인하는 인자를 가지고 있다. 모든 객체에 대하여 factory method는 아마 Product 인터페이스를 공유할 것이다. Document예제에서, Application은 아마도 다양한 종류의 Document를 지원해야 한다. 당신은 CreateDocument에게 document생성시 종류를 판별하는 인자 하나를 넘긴다.
          Unidraw 그래픽 에디터 Framework는 디스크에 저장된 객체의 재 생성을 위하여 이러한 접근법을 사용하고 있다. Unidraw는 factory method를 이용한 Creator 클래스가 식별자를 가지고 있도록 정의해 두었다. 이 클래스 식별자는 적합한 클래스를 기술하고 있다. Unidraw가 객체를 디스크에 저장할때 이 클래스 식별자가 인스턴스 변수의 어떤것 보다도 앞에 기록 되는 것이다. 그리고 디스크에서 다시 객체들이 생성될때 이 식별자를 역시 가장 먼저 읽는다.
          클래스 식별자를 읽고서 Framework는 식별자를 Create에게 넘기면서 호출한다. Create는 적당한 클래스를 찾고, 그것을 객체의 생성에 사용한다. 마지막으로 Create는 객체의 Read 수행을 호출하여 디스크에 정보를 저장하고, 인스턴스 변수들을 초기화 한다.
          Smalltalk프로그래머들은 종종 구체적으로 구현되어 있는 객체의 클래스를 반환하는 메소드를 사용한다. Creator의 factory method는 이러한 값을 사용하여 product를 만들어 내고, ConcreteCreator는 아마 저장하거나, 이러한 값으 계산을 수행한다. 이러한 결과는 구현되어 있는 ConcreteProduct의 형을 위하여 바인딩 조차 나중에 하게 된다.
  • InWonderland . . . . 16 matches
         === 공용 소스 및 서 ===
         || 소스 및 서 || 올린이 || 설명 ||
         === 데이터베이스 프로젝트 소스 및 서 ===
         || 소스 및 서 || 올린이 || 설명 ||
         === 전자상거래 프로젝트 소스 및 서 ===
         || 홈페이지(사용자 등록 화면) || . || ||
         || 홈페이지(사용자 탈퇴) || . || ||
         || 홈페이지(사용 내역 조회) || . || ||
         || 소스 및 서 || 올린이 || 설명 ||
         [WebMethod(Description="포인트 사용")]
         public bool UsePoint(string storeReg, string storeAuth, string cardNum, string cardPwd, int money, int point) // -인자: 사업자 등록 번호, 카드 번호, 돈, 사용한 포인트
         일반 사용자가 카드 등록 후에는 카드 번호 출력함. 여력이 되면 비밀번호 암호화도 해야 함. 한편 카드 유효기간 귀찮다. 빼자. --재동
         클라이언트에서 포인트 적립이나 사용이후에 남은 결과 포인트도 보여줘야 하지 않어? 그리고 로그 아웃도 필요하잖어.--철민
          그건 적립이나 사용후에 "포인트 조회" 서비스를 통해서 보여주면 되겠지. 그리고 로그아웃도 서비스로 넣을 필요는 없어. --재동
          응. 물건 살때 쓰는 현금. 나중에 사용 내역 때에 입력 하는 거야 --재동
  • MFC/CollectionClass . . . . 16 matches
          ''두가지 형태로 구현되어있다. 첫번째는 함수템플릿을 이용한 형태로 구현되어있고, 두번째는 템플릿을 사용하지 않는 방법으로 옛 버전의 VC++에서 부터 사용되어온 방식이다. 현재는 템플릿을 이용한 방법을 사용하는 것이 좋다.''
         객체의 컬렉션을 정의하는 템플릿 클래스는 MFC의 CObject클래스에서 파생된다. 이런 템플릿 클래스는 기본 데이터 형식이나 사용자가 정의한 클래스, 구조체를 포함한 어떠한 종류의 객체도 저장, 관리하는 것이 가능하다. 이런 클래스들은 내부적으로 복사를 하기 때에 복사생성자를 만들어야 한다.
         CArray<저장될 객체의 형식, 사용되는 인수의 형식> anArray
          첫번째 타입 인자는 저장될 요소의 타입을 말하며, 두번째 인자는 멤버함수가 사용하게될 인자를 말한다.
          || {{{~cpp operator[index]}}} || GetAt()과 동일하게 작동하며, built-in 배열과 동일한 사용법을 제공한다. [[BR]] {{{~cpp pointArray.SetAt}}}(3, NewPoint)[[BR]]{{{~cpp pointArray[3]=NewPoint}}} ||
         CList<저장될 객체의 형식, 사용되는 인수의 형식> aList
          첫번째 타입 인자는 저장될 요소의 타입을 말하며, 두번째 인자는 멤버함수가 사용하게될 인자를 말한다.
          || {{{~cpp GetNext(POSITION)}}} || 전달된 위치 변수를 증가시킨다. 마지막 객체에서 사용될때에는 NULL을 리턴한다. ||
          || {{{~cpp SetAt(POSITION, ObjectType)}}} || 첫번째 인자의 위치에 두번재 인자의 객체를 할당한다. POSITION 의 유효성을 검사한후에 사용해야한다. ||
         CMap<키 형식, 키 인수 형식, 저장될 객체의 형식, 사용되는 인수의 형식> aMap
          맵은 객체와 키의 조합을 저장한다. 키는 맵에 할당된 메모리의 특정 블록안에 객체가 저장되어 있는지를 결정하는데 사용된다. 키를 맵안의 엔트리의 어드레스로 계산될 수 있는 정소로 변환하는 과정을 해실(Hashing)이라고 한다.
          || {{{~cpp operator[]}}} || 배열과 동일한 형태로 사용하는 것이 가능 ||
          || {{{~cpp SetAt(POSITION, ObjectType)}}} || 첫번째 인자의 위치에 두번재 인자의 객체를 할당한다. POSITION 의 유효성을 검사한후에 사용해야한다. ||
  • OpenGL스터디 . . . . 16 matches
         {{{: example : 정육각형을 그릴때 모든 변을 그린다면 우리는 뒷면과 앞면을 착각해서 볼 수 있다. 왜냐하면 뒷면에 해당하는 선들이 앞쪽에 위치한 선으로 착각할 수 있기 때이다.
         컴퓨터화면은 2차원이다. 하지만 우리가 3D게임을 할때 보면 그 내용물은 마치 3차원의 물체처럼 보인다. 하지만 실제로는 내용물은 2차원적인 것을 3차원처럼 보이게 만든것뿐이다. 그렇다면 어떻게 2차원적인것을 3차원적인것처럼 보이게 만들 수 있을까? 여러가지 방법이 잇지만 그중에 하나는 원근법을 사용한다는 것이다. '''원근법이란 가까히 있는 것은 크게 멀리있는것은 조그마하게 표현하는것을 말한다.''' 더 정확히 말하자면 '''선사이의 각도를 조절하여 3차원효과를 내는 기법'''을 말한다.
         3차원적인 요소를 더 두드러지게 표현하기 위해서는 쉐이딩을 사용하면 된다. 쉐이딩이란 '''입체적인 물체에 음영이나 색상 밝기 등을 잘 조절하여 표면에 입히는 기법'''을 말한다. 이런 기법을 통해서 정육각형같은 경우는 각 면을 도드라지게 표현할 수 있고, 더욱 실감나는 3차원적인 표현을 가능케 한다.
         필요한 경우에는 속도저하에 대한 제가 발생할 수가 있다. 이런점에서 텍스쳐 맵핑은 훌륭한 대안책이 될 수 있다. '''텍스쳐 맵핑이란 각 입체 표면에 미리준비해둔 이미지를
         '''블랜딩(blending)'''이란 화면상에 색상과 물체를 혼합하는 효과를 이야기한다. 이를 사용하는 곳은 주로 두 이미지가 겹쳐있는 효과를 내기위해서 사용한다. 예를 들어
         컴퓨터는 기계어라는 언어라는 이진적인 표현(이진법적인 표현)을 사용한다. 한마디로 1011001과 같은 표현을 예시로 들 수 있는데, 이 때에 연속적인 표현을 실질적으로 표현
         표현은 사각형의 점으로 표현이되는데 그 이유는 연속적인 표현이 불가한 컴퓨터로서는 완전히 동그랗게 이어진 원을 그리기에는 실수표현에 한계가 있기 때이다.(무한 소수의
          * 실시간 3D는 말그대로 사용자가 화면 구성에 필요한 데이터를 입력 즉시 화면에 반영하는 방식을 이야기한다. 예를 들어 비행기 시뮬레이션 프로그램이라던가, 게임을 예시로 들 수 있다.
          * 화면을 구성하는 좌표방식은 우리가 보통사용하는 직교좌표계(데카르트 좌표계)말고도 여러가지가 있다. 이 좌표체계에 따라서 이미지 구성하는 방식도 완전히 달라질 수 있어서 이를 잘 고려해서 선택해야한다. 하지만 지금 우리는 일단 직교좌표계를 가지고 논해볼 것이다.
         == Chapter 2. openGL의 사용 ==
          * openGL의 하드웨어 임플리먼테이션은 그래픽 개발사에서 그래픽 카드 드라이버 형태로 개발되고 사용된다. openGL이 특정 플랫폼에서 시작하여 일반적인 플랫폼으로 전향하고 개방화를 실시했을때 각 그래픽 드라이버에 대한 openGL의 개발은 하드웨어 제작사에서 이루어져야 한다고 생각하고 그리 시행했는데, 이는 매우 적합한 선택이 되었고 이로 인해 하드웨어 임플리먼테이션은 그래픽 개발사에서 맡게되었다.
          * openGL은 데이터타입을 내부적으로 정의 하고 내부에서 쓰고 있다. 이는 역시 일반적인 임플리먼테이션을 고수하기 위해서임은 당연한 사실이다.(각 환경마다 데이터 형식이 다르기 때에 이를 모두수용하기 위해서는 자체적으로 정의한 데이터형식을 쓸 수 밖에 없다.)
          * ''참고사항 : openGl의 내부적인 데이터타입은 float을 사용하고 있기 때에 왠만해서는 이 데이터 타입에 맞게 데이터를 전달해주는게 정확도 측면이나 전체적인 성능 향상의 측면에서 더 좋다.''
  • PerformanceTest . . . . 16 matches
         == HighResolutionTimer 사용하기 ==
         상기 두 Windows API함수를 사용해서 수행 시간을 측정 할 수 있습니다.
         == ftime함수, timeb 구조체의 사용 ==
         비교적 CPU와 OS에 의존적이지 않은 방법으로는 ftime 함수와 timeb 구조체를 사용하는 방법이 있습니다. 밀리세컨드 단위까지 밖에 제공되지 않습니다. sys/timeb.h 헤더에 정의된 내용이 ANSI C 는 아니라고 알고있습니다.
         === ftime 함수와 timeb 구조체 사용 예 ===
         == RDTSC 의 사용 ==
         펜티엄 이상의 CPU에서 RDTSC(Read from Time Stamp Counter)를 이용하는 방법이 있다. 펜티엄은 내부적으로 TSC(Time Stamp Counter)라는 64비트 카운터를 가지고 있는데 이 카운터의 값은 클럭 사이클마다 증가한다. RDTSC는 내부 TSC카운터의 값을 EDX와 EAX 레지스터에 복사하는 명령이다. 이 명령은 6에서 11클럭을 소요한다. Win32 API의 QueryPerformanceCounter도 이 명령을 이용해 구현한 것으로 추측된다. 인라인 어셈블러를 사용하여 다음과 같이 사용할 수 있다.
         간단하게 32비트 정수로 사용하고자 한다면 RDTSC명령이 카운터에서 가져오는 값 중에서 EAX에 담긴 값만을 가져오는 방법이 있다. 짧은 시간동안 측정한다면 EAX에 담긴 값만 가지고도 클럭을 측정할 수 있다. 64비트를 모두 이용할려면 LARGE_INTEGER 구조체를 이용한다.
         rdtscEx명령은 36클럭을 소요하며 측정 구간을 클럭 단위로 측정할 수 있는 강력한 시간 측정 방법이다. 하지만 이 방법은 클럭 수만 측정할 뿐 시간을 알 수는 없다. 정확한 시간을 알려면 시스템의 CPU클럭을 알아야 하며 측정한 클럭값을 CPU클럭으로 나누어야 시간이 나온다. RDTSC명령을 수행할 때 CPU가 수행 속도 향상을 위해서 CPU 명령 순서가 바뀔 수 있기 때에 CPUID명령을 전에 수행해 명령 순서를 맞춰야 하는 경우도 있다. 자세한 설명은 인텔에서 제공하는 성능 모니터링을 위한 RDTSC 명령 사용법을 참조하기 바란다.
         단, 정확한 수행시간 측정을 위해서라면 전 Profiling Tool을 이용해 보는 것은 어떨까요? NuMega DPS 같은 제품들은 수행시간 측정을 아주 편하게 할 수 있고 측정 결과도 소스 코드 레벨까지 지원해 줍니다. 마소 부록 CD에서 평가판을 찾을 수 있습니다. 단, 사용하실 때 Development Studio 가 조금 맛이 갈겁니다. 이거 나중에 NuMega DPS 지우시면 정상으로 돌아갑니다. 그럼 이만. -- '96 박성수
         멀티쓰레드로 인해 제어권이 넘어가는 것까지 고려해야 한다면 차라리 도스 같은 싱글테스킹 OS에서 알고리즘 수행시간을 계산하는게 낫지 않을까 하는 생각도 해봅니다. (하지만, 만일 TSR 프로그램 같은 것이 인터럽트 가로챈다면 역시 마찬가지 제가 발생할듯..) 그리고 단순한 프로그램의 병목부분을 찾기 위한 수행시간 계산이라면 Visual C++ 에 있는 Profiler 를 사용하는 방법도 괜찮을 것 같습니다. 해당 함수들의 수행시간들을 보여주니까요.
         NuMaga DPS 면 Dev-Partner Studio 말씀인가 보죠? (전에 Bound Checker 소만 들어봐서..~) --[1002]
  • ProgrammingLanguageClass/2006/EndTermExamination . . . . 16 matches
         02, 05 년에 언어 디자인시 고려해야할 점에 대한 제가 출제되어서 그쪽으로 공부를 많이 했지만 나오지 않았다는 점에서 의외였음. 디자인 이슈를 공부할 생각이라면 Pointer, Array, Abstraction, Subprogram 의 디자인 이슈에 대해서 공부하는 것이 좋을 듯함.
         다 푼다음에 드는 생각은 가장 어려운 제는 1번이었음. -_-;
         = 제 =
         1. True, False 판단 제 출제
         a) c언어에서, switch의 조건 넣는 부분에 모든 ordinal type이 들어갈 수 있는가?
         b) 일반적으로 서브프로그램의 파라메터 전달시 참조유형으로 전달해야하는가를 묻는 제.
         d) if에서 Dijkstra's Guarded Command 에서 Boolean Expression 중 어떠한 것도 참이 아닌경우 구을 벗어나는지 묻는
         e) Ada 에서 for loop 를 이용한 iteration 소스. 루프 종료후 condition variable 처리에 대한 제 출제.
         3. operator 우선순위에 의거한 functional side effects
         // 시험 끝난 결과 연산자 우선 순위상 ()의 평가가 먼저인지 function evaluation 이 먼저인지 때에 헷갈려 했음
         가디드 커맨드가 selector, loop 에서의 동작이 다르기 때에 이를 조심해야한다. (책참조)
         만약에 upto 라는 단어에 두가지의 의미가 상존하는 것으로 보이기 때에 정확한 답을 대답하기 힘들 것으로 보이며, 맞고 틀림은 해설의 정확성에 따라 결정될 것으로 보인다.
         up to ... (1) <어느 위치·정도·시점이> …까지(에), …에 이르기까지;<지위 등이> …에 이르러:up to this time[now] 지금껏, 지금[이 시간]까지는/I am up to the ninth lesson. 나는 제 9과까지 나가고 있다./He counted from one up to thirty. 그는 1에서 30까지 세었다./He worked his way up to company president. 그는 그 회사의 사장으로까지 출세했다. (2) [대개 부정·의에서] 《구어》 <일 등>을 감당하여, …을 할 수 있고[할 수 있을 정도로 뛰어나]:You’re not up to the job. 너는 그 일을 감당하지 못한다./This novel isn’t up to his best. 이 소설은 그의 최고작에는 미치지 못한다./This camera is not up to much. 《구어》 이 카메라는 별로 대단한 것은 아니다./Do you feel up to going out today? 오늘은 외출할 수 있을 것 같습니까? 《병자에게 묻는 말》 (3) 《구어》 <나쁜 짓>에 손을 대고;…을 꾀하고:He is up to something[no good]. 그는 어떤[좋지 않은] 일을 꾀하고 있다./What are they up to? 그들은 무슨 짓을 하려는 것인가? (4) 《구어》 <사람이> 해야 할, …나름인, …의 의무인:It’s up to him to support his mother. 그야말로 어머니를 부양해야 한다./I’ll leave it up to you. 그것을 네게 맡기마./It’s up to you whether to go or not. 가고 안가고는 네 맘에 달려 있다./The final choice is up to you. 마지막 선택은 네 손에 달려 있다.
  • django/RetrievingObject . . . . 16 matches
         한 모델에 대해서는 여러 가지 필터를 설치할 수 있다. 필터는 SQL에서 where절에 해당하는 역할을 한다. 필터에는 검색하는 컬럼의 완전 일치, 부분 일치, 사이 값, 포함, 연월일 옵션을 줄 수 있다. 기본적으로 필터는 AND 조합으로 이루어지며, OR조합을 사용하고 싶다면 Q라는 쿼리 오브젝트를 사용해야 한다.[9] 아래는 필터를 이용해 보고 날짜가2006년 10월 1일 이후인 위험 보고서를 찾는 python코드와 그에 해당하는 SQL을 보여준다.
         일대다 관계인 레코드의 경우는 selete_related메소드를 이용하면 데이터베이스 접근 횟수를 줄일 수 있다. 일반적인 데이터베이스 조회는 추상화되어있어 실행할 때마다 쿼리를 수행한다. 하지만 selete_related메소드를 사용하면 한 번 데이터베이스에서 결과를 가져온 후 필요할 때는 이를 그대로 사용한다. 다음 예제에서 두 방식이 어떻게 다른지 확인할 수 있다.
         # 이전에 Employee값까지 가져왔기 때에 다시 데이터베이스에서 값을 가져오지 않는다.
         사용자는 원하는 경우 extra메서드를 이용해 원하는 컬럼을 추가한 결과를 얻을 수 있다. 다음은 2006년 1월 1일 이후 보고서를 최신으로 표시하는 컬럼을 가진 리포트 정보를 가져온다.
         extra메소드를 사용하면 다음과 같은 조금 복잡한 질의도 할 수 있다. 각 직원이 몇 번이나 위험 보고서를 작성했는지 알아낸다.
         where절을 사용하는 것 역시 가능하다.[7] 하지만 중첩질의는 지원하지 않는다.
         사용자는 values함수를 이용해서 원하는 속성을 지정할 수 있다. 이는 검색 조건을 만족하는 레코드의 필요한 속성만을 이용하므로 효율적이다. 또한 values함수는 QuerySet을 상속한 ValuesQuerySet을 리턴하므로 다시 위에서 사용한 검색 조건을 사용할 수 있다. 하지만 ValuesQuerySet은 사전형(dictionary) 자료구조를 가지고 있기 때에, 많은 수의 레코드를 얻어오기에는 부적절하다. 다음은 사원 정보에서 이메일 속성만을 얻어온다.
         Django에서 기본적으로 제공하는 조인 연산은 없다. SQL을 직접 수행하여 원하는 결과를 얻을 수 있다. 이는 JDBC의 인터페이스와 비슷하며, 커서를 이용하여 질의를 수행한 결과를 하나씩 얻어오는 방식을 사용한다. 다음은 특정 부서 에서 시행한 위험 관리 대책을 얻어오는 함수이다.
  • ricoder . . . . 16 matches
          * 숫자 야구 게임. ["NumberBaseballGame/영록"]
          continue;
          continue;
          continue;
          default : cout << "잘못된 숫자를 입력하셧습니다.\n";
          continue;
          cout << "숫자를 입력하십시오.\n";
          case 1: cout << "추가하겠습니다. 추가할 숫자를 입력해 주십시오.\n";
          continue;
          continue;
          continue;
          default: cout << "이상한 숫자를 입력하셨군요. 다시 입력해 주십시오.\n";
          continue;
          cout << "숫자를 입력하십시오.";
          cout << "이 구가 몇초간 나올까요? ^^;;\n";
         DeleteMe)여기 방하는 사람은 반드시 방명록을 쓰고 가시오.안그럼 지상열 닮은 딸을..ㅍㅎㅎ(쥔장) [[BR]]
  • 데블스캠프2003/다루어볼문제와관련세미나 . . . . 16 matches
         2003년도 데블스 캠프에서 다루어볼만한 제와 관련 세미나를 다루는 곳입니다.
          * 제은행식도 괜찮을 듯합니다. ToyProblems 같은 제들을 놓고 하는 것도 포함하는 의미에서 말입니다. --[창섭]
          * ToyProblems 에서 나왔던 제 역시 머릿속에 있습니다^^; -[상욱]
          * 월~목에 했던 제중에서 선별해서 금욜에 다시 해보는 것도 좋을 듯... --재동
          * 계획을 말씀드리겠습니다. 여러 제를 푸는것 또한 중요하지만, 큰(?) 프로그램을 다루는것도 괜찮은 생각 같아서 OOP를 2틀째 넣고 마지막날까지 팀으로 연속해서 만들어 데모를 하는 방법도 생각을 했었습니다.(정모 때요..) -[상욱]
          큰 프로그램이라고 말은 해 봤자 선배님들이 풀면 4~5시간이면 풀어버릴 제가 될꺼 같습니다. 휴대폰 메뉴 만들기나 PDA기능 만들기 등 이런 조그만 프로그램을 묶어놓는 프로그램을 하면서 OOP를 조금이나마 느껴보라는 차원에서 하는 것입니다. 물론 같이 페어를 하는 선배님들은 정말 기초적인 것만 알려주는 식이고요 그 팀을 이끌어 가서는 안되겠죠? ^^; -[상욱]
          * ToyProblems 와같은 식이면 좋을것 같은데요. 1학년 텀프로젝트가 있는데 그것 하나만 가지고도 SP, OOP 등의 프로그래밍철학과, STL 등을 다루기에 좋을것 같습니다. ([http://zeropage.org/pds/200361434244/2003C++TrmPrjSpec.ppt spec]) SP 와 OOP 는.. 누가할지.. 맡게되면 고생을할수도 있겠군요. 아래 JuNe 선배님의 CSP 나.. Tuple Space (전에 P2P 관련 서에서 본것같은 기억이..-_-a ) 등과는 약간 맞지 않을수도 있겠지만요. (그것은 다른 도메인의 제와 다루는게 좋을듯합니다) - [임인택]
          * 지나가다 잠시 말씀 드릴까 합니다. 아직 oop개념이나 프로그램 모듈화에 대해서 개념이 없는 분들에게 STL같은 것을 가르친다는 것은 약간 제가 있지 않을까요? oop개념을 가르쳐도 구현 같이 base적인 경험이 없이 단지 가져다 쓰는것을 먼저 배우면 좋지 않을 것 같습니다. 1학년 분들 숙제 하는 것을 보니 모듈화 같은것을 가르쳐도 좋을 것 같은데. 많은 것을 가르치려고 하시는 것은 좋으나 능력에 적절하게 가르치는 것도 맞는 것 같군요. STL 같은 걸 가르치는 건 그 다음이 되었으면 좋겠구요.. 내부사정을 잘 모르니 틀리다 싶은 말이면 걍 흘려보내세요. 지우셔도 상관 없구요. ^^ - 00 나현철
          * 저는 STL 같은 것은 그냥 할수 있을 만큼 사용할줄만 알면 되다고 생각합니다. Library 가 제공하는 것은 우리에게 좀더 고차원적인 사고에 전념할수 있는 것이 겠지요. 배열의 길이에 신경쓰지 않는 것만으로, C++에서 얼마나 무한한 사고가 가능할까요? 학교 교제는 C++을 가르치는 것이 아니라, C에다 어떻게 충돌을 일으키지 않고 법을 추가시켜 C++이 되었는가를 가르치기 때에 이런 기회는 필요 할것 같습니다. 아마 궁금한 사람은 STL의 소스를 보겠지요. 사족으로 STL은 OOP보다 Generic Programming의 관점에서 구현되 었습니다. --NeoCoin
          * 도큐먼트나 튜토리얼을 이용하는 방법을 알려주는 것도 괜찮은 것 같습니다. 새내기들에게 MSDN 에서 검색을 하는 것을 알려줬더니 단지 영어라는 이유로 겁부터 먹고 사용을 못하더군요. 어떠한 주제를 던져주고 이러한 것들을 스스로 찾아서 사용하는 방법을 알려주는 것도 스스로 공부를 해 나가는데 있어서 좋은 경험이 되지 않을까 합니다. -- [상욱]
          * 세미나 기간 중에 하루 "Parellel/Distributed Computing for Dummies"를 해드릴 수 있습니다. CSP와 Tuple Space 등을 다루게 될 것 같습니다. 학생들은 서너명씩 팀을 이루어 수십대의 컴퓨터를 동원 어떤 제를 해결하는 경이적인 체험을 하게 될 것입니다. --JuNe
  • 로마숫자바꾸기 . . . . 16 matches
         === 로마숫자로 바꾸기 ===
         제 : 두자리 정수를 받아들여 그 숫자에 해당하는 로마 숫자를 출력시키는 프로그램을 작성하여라.
         다음과 같은 형식으로 정수에 해당하는 로마 숫자를 출력시킨다.
          * 로마 숫자는 ⅩⅠⅤ 세 종류만 사용한다.
          * '''ㅈ + 한자키 '''에 로마숫자있다. 또는 여기 페이지에서 복사해서 사용.
          * 참고용 로마숫자
          || 숫자 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 ||
          || 로마숫자 || Ⅰ || ⅠⅠ || ⅠⅠⅠ || ⅠⅤ || Ⅴ || ⅤⅠ || ⅤⅠⅠ || ⅤⅠⅠⅠ|| ⅠⅩ || Ⅹ ||
          || [조현태] || C || . || [로마숫자바꾸기/조현태] ||
          || [허아영] || C || 40분 || [로마숫자바꾸기/허아영] ||
          || DamienRice || [Erlang] || 30분 || [로마숫자바꾸기/DamienRice] ||
         [LittleAOI] [제분류]
  • 문자반대출력/문보창 . . . . 16 matches
         음 만약에 한글과 같은 확장자가 담겼다면 process_wchar() 함수에서 약간의 꼼수를 부린다. 가상의 예(실제로 이렇게 되지는 않지만, 원리는 같음)를 들어보자. "가나" 라는 자열을 ver1과 같은 통상의 프로그램으로 뒤집으면 "나가"와 같이 프로그래머가 원했던 결과가 나오는 것이 아니고 "ㅏㄴㅏㄱ"가 나온다. 그렇다면 확장자를 판단해서 자열을 뒤집기 전에 "가나"라는 자열을 "ㅏㄱㅏㄴ" 이렇게 만들어 놓는다면 기존 ver1의 프로세스를 전혀 바꾸지 않고도, process_wchar()만을 추가하는 것으로 원했던 기능을 모두 수행하게 된다.
         ==== ver1 (확장 자 지원 안함) ====
          reverse(str.begin(), str.end()); // 자열을 거꾸로 해주는 STL 함수
         // 파일로부터 자열을 읽어들인다.
         // 파일에 자열을 쓴다.
         ==== ver2 (확장자까지 판단해서 반대로 한다) ====
          reverse(str.begin(), str.end()); // 자열을 거꾸로 해주는 STL 함수
         // 확장자를 위한 전처리 함수
          // str[i]는 char. 하지만 이것이 확장자의 일부라면 음수가 담기게 된다.
         // 파일로부터 자열을 읽어들인다.
         // 파일에 자열을 쓴다.
         [자반대출력] [LittleAOI]
  • 문자열검색/허아영 . . . . 16 matches
         여튼 처음 제를 접했을 때 연필을 끄적거리지 않았어서 후회가 생긴다.
         단어의 시작을 중점으로 한다.(나는 자열 이라기 보다는 단어 검색 중심으로 짠것같다.)
         장 속의 단어의 첫 글자와, 찾아볼 단어의 첫글자의 동일한가 부터 시작한다.
         만약에 Hot이라는 단어를 저 장에서 찾았을때, 먼저 H로 시작하는 단어가 있기 때에 His와 비교를 당하게 된다.
         다음은 o와 i.. 다르기 때에 found 이 0이 되어서 찾지 못했음을 알린다.
         void exist_word(char x[40], int exist_str[10]); //x[i]에 자열의 유무
         int compare_str(char x[40], char search_str[15], int exist_str[10]); // 자열 비교
          int exist_str[10]; // exist_str[i]에는 x자열중 i번째 자열이 몇번째 자에 나오나
          printf("\n찾을 자열 -> ");
          fprintf(fp, "\n찾을 자열 -> ");
          exist_str[num] = x_n + 1; //빈칸 다음에 자열이 나온다고 가정.
         ==== C++로 자 검색. ====
         [LittleAOI] [자열검색]
  • 부드러운위키만들기 . . . . 16 matches
          [임인택]은 후배들에게 위키위키를 권해줄때마다 그들이 위키에 대해 어려워하고 있다는 사실을 느끼고는 합니다. 백이 불여일행 이겠지만 스스로 재미를 느끼며 위키를 자연적으로 흡수할 수 있는 방법이 없을까요? 전 한글과 컴퓨터 이찬진 사장께서 컴퓨터에 쉽게 친숙해지기 위해 게임을 하는것도 좋다고 하셨던게 생각나네요.
          저같은 경우 위키에 친숙해지게 된 계기가 1학년때 상민이형, 석천이형이 이끌어준 프로젝트를 위키상에서 하다가 친숙해졌습니다. 분명 친해지는데는 시간이 좀 걸렸습니다.(한 3~4달 정도) 한번 친해지니깐, 휴가 나와서도 맨날 가봅니다. -_- 1학년 2학기때쯤에 윗 학번이 프로젝트를 하나 저렇게 이끌어 주면서 자연스럽게 위키를 사용하게 하는것도 괜찮을거라 생각합니다. 그리고 보면 제로위키 페이지중에 공개/비공개 설정을 하게 만든다면 구지 개인위키를 따로 돌리지 않고 제로위키안에 자신만의 개인위키를 만들 수 있고 그렇게 하면 자신의 개인 위키에 자주 오다 보면 접근성도 높아 지지 않을까하는 생각을 해봅니다. - 남상협
          새로운것을 직접 찾아서 써보기 좋아하는 사람이 아니라면 위키 자체에 대해 '익숙해질 필요가 있는가' 라는 질이 먼저나오리라 봅니다. 이러한 필요성을 눈으로 보여주는 것이 선배의 역할이겠죠. 이는 단순히 '위키'라는 툴 자체의 제가 아닙니다. 현재의 제로페이지 웹 사이트가 과연 '사람들이 이 위키를 필요할 정도로 매력적인 컨텐츠를 가지고 있는가?' 라는 질이 될 수도 있고요. 이에 대해서는 활동하는 사람들 모두가 고민해볼 제일겁니다.
          툴에 대한 익숙도 제에 대해서는 1. 간단한 위키 시연 세미나 2. 1학년을 포함한 공동 스터디 & 공동 서화(혹은 Pair 서화) 정도의 답이 나올지 모르겠습니다. 하지만, 더 근본적인 것을 생각해야 한다고 봅니다. 필요가 절실하면 그에 따른 행동들은 자연스레 따라오리라 봅니다. (함 시험 족보라도 모아볼까요.; 아주 농담은 아닙니다.) --[1002]
          제친구가 처음으로 위키를 접하게 되었을때 첫 느낌으로 딱딱하다는 느낌을 받았다고 하더군요. 어떤사람들은 이곳 위키에서 사람들이 이야기 하는것을 보면 무서워 보인다는 이야기도 하고요. 제는 이런 사람들이 대부분의 사람들이 비슷하게 느낀다는 것입니다. 대부분의 사람들이 위키에 적응하지 못하는 이유도 이런게 아닐까요?? 좀더 부드럽고 사용자에게 쉽게 다가갈 수 있는 위키의 방향은 없건가요? - [이승한]
          도구로서의 위키에 대해 익숙하지 않아서일겁니다. 처음 접하는 이들에게 위키위키라는 매체는 화라기보다는 단지 사용하기 어려운 도구에 가깝게 느껴질 것입니다(실제로는 무척 사용하기 쉬운 도구임에도 불구하고 말이죠). 딱딱한 느낌을 받는 것은 이곳에서 주로 다루는 내용이 컴퓨터 공학과 관련된 전공지식 위주가 아니어서일까 생각합니다. [임인택]은 이번위키설명회때 [짝위키]를 해보는 것을 제안합니다. 한 사람이 위키를 자유자재로 항해하며 페이지를 수정하면(PairProgramming으로 치면 드라이버가 되겠죠), 나머지 한사람은 드라이버가 위키를 어떻게 사용하는지 살펴보고 드라이버가 행하는 행위에 대해서 질(일종의 옵저버)하며 위키에 대한 감을 익혀갑니다. PairProgramming 과 마찬가지로 일정한 시간간격을 두고 드라이버와 옵저버의 역할을 바꿉니다. - [임인택]
  • 새싹교실/2011 . . . . 16 matches
         내가 짠 코드를 직접 출력을 통해 확인하는 것은 분명 매력적인 일입니다. 그러나 처음 익힌 코딩 습관은 버리기 매우 어렵습니다. 많은 학생들이 처음 프로그래밍을 배우며 printf 함수를 사용하여 코드를 검증하는 습관을 들입니다. 그 때에 상당수의 졸업할때까지 테스트보다는 직접 눈으로 확인하는 것을 선호합니다. 그런데 작성한 코드가 잘 돌아가는지 알기 위해 직접 눈으로 확인해야만 하는 것은 매우 많은 제가 있습니다.(이것에 대해서 더 적자면 정말 길어질테니 일단 이 페이지엔 적지 않겠습니다.)
          * 학교 수업에서 사용하기 때에 printf 함수를 소개할 필요는 있습니다. 그러나 새싹교실에서 실습한 코드들을 검증하기 위해 매번 printf를 사용하는 것은 권장하지 않습니다.
          * 혹시 assert를 사용할 줄 모르신다면, 그리고 테스트라는 게 무엇인지 잘 감이 안 오신다면 [김수경]에게 도움을 요청해주세요.
          * 학생들이 피드백 작성을 어려워한다면 선생님이 구체적인 질을 던지는 것도 좋습니다.
         위키는 새내기들에게 낯선 환경이지만 사용하기 전혀 어렵지 않고, 내용이 쌓이면 게시판에 비해 내용들을 찾아보기 훨씬 좋답니다.
          * 위키를 사용하기 어렵게 느낀다면 그건 익숙하지 않기 때이예요. 함께 써보는 시간을 마련해주세요.
          * 새내기들이 위키 법을 처음부터 익히기는 어렵습니다. 선생님이 먼저 위키에 내용을 작성하여 학생들이 참고할 수 있도록 해주세요.
          * 위키를 더 유용하게 사용하기 위해 지켜야할 것들이 있습니다. 각 반 페이지를 만드실때 페이지 이름은 '''새싹교실/2011/반이름''' 으로 만들어주세요.
          * 위키 법 연습은 WikiSandBox에 해주세요.
          * 커리큘럼 가이드라인은 참고 및 예시용으로 사용하며, 평가와는 무관합니다.
          infinite loop, break/continue
  • 새싹교실/2012/AClass/5회차 . . . . 16 matches
         = 곽길 =
         - 5X5배열을 우선 배정, 1,2,3,4,5를 우선 0행에 출력, 마지막 4행에 도달했을 때 4열 출력, 마지막 4행에 도달했을 때 4행 출력, 0행에 도달했을 때 (전체 행수-1)만큼 출력 ... 반복....
         1.KoiStudy 112~113,115~122 - 제 많은데 별찍기같은건 한거라서 몇개 할거 없을거에요.
         2.163번 제를 풀고, 그 제를 어떻게 접근하였는지 말해봅시다.
         3.자열이 대칭인경우 Palindrome, 아닌경우 Not Palindrome을 출력하는 프로그램을 작성해봅시다.
         1.KoiStudy 112~113,115~122 - 제 많은데 별찍기같은건 한거라서 몇개 할거 없을거에요.
          - 정렬된 데이터 집합에서 사용할 수 있는 고속 탐색 알고리즘 입니다.
          - 이진 탐색이라는 이름은 알고리즘의 핵심이 탐색 범위를 1/2씩 줄여나가는 방식에 있기 때에 붙여진 것입니다.
         2.163번 제를 풀고, 그 제를 어떻게 접근하였는지 말해봅시다.
         3.자열이 대칭인경우 Palindrome, 아닌경우 Not Palindrome을 출력하는 프로그램을 작성해봅시다.
         #include <string.h> // strlen() 함수 사용하기 위해
         len=strlen(arr); ///자열의 길이 알려 줌
  • 새싹교실/2012/나도할수있다 . . . . 16 matches
          * GCC의 사용방법
          printf("자:%c\n정수:%d\n실수1:%f\n실수2:%.2f",a,b,c,d);
          * while 의 무한루프
          * do-while 의 무한루프
          * for
          printf("for\n");
          * 새싹 첫수업을 했다. 도중에 현민이가 영어 수업을 받으러가서 한시간 비었다. 다음주부터는 시간을 한시간 연기하여 세시부터 시작할 예정이다. gcc의사용법을 간단히 설명했고, gdb는 학생들이 디버깅을 몰라서 설명해주지 않았다. printf사용법부터 시작해서 연산자, 데이터 타입, while,do-while,for을 설명했다. 현민이는 쉰게 잘 따라오고, 윤호도 천천히 따라오고 있어서 앞으로 수업하는데에 지장은 없을 것 같다. 수업을 다 하고 생각해보니 너무 우왕좌왕하게 가르쳤던것 같다. 다음시간은 더욱 열심히 준비해야겠다. - 추성준
          * for, while 복습
         /* for 을 이용한 1부터 10까지의 합 */
         /* while 을 이용한 1부터 10까지의 합 */
          * ACM 제 사이트 소개
          * (공통과제)ACM 2제 풀기
          * for, while 2차 복습
         /* 함수 생성 (입력받은 숫자가 1인지 아닌지 판단하는 함수) */
  • 새싹교실/2012/아우토반/앞반/3.22 . . . . 16 matches
          * 제어
          * if, if~else, else if
          * switch~case
          * 반복
          * for
          * while과 do~whlie
         다음 소스 코드의 실행 결과를 분석해오시오. (각 출력 자가 나온 이유를 반드시 작성하세요)
         소스 코드 실행 결과 : ㅋ4번과 -1출력, ㅎ3번과 -1출력
         그 이유는 do-while에선 변수안의 숫자에 관계없이 일단 한번 while이 실행되고나서 a--후연산이 시작되므로
         while에선 3에서 한번 2에서 한번 1에서 한번 0에서 멈춤으로
         ㅎ3번, 후연산때에 변수에서 -1이 한번 더 되므로 -1.
         따라서 ㅋ4번 -1출력, ㅎ3번 -1출력
         a=0일때, ㅋ 출력 (→ do while 이기 때에, 먼저 실행되서 0일때도 실행함.)
  • 서지혜 . . . . 16 matches
          * "그냥"이라는 단어의 사용을 자제합시다.
          * 생활한다는 것은 이 세상에서 가장 드 일이다. 대다수의 사람들은 존재하고 있을 뿐이다.
          * [http://wiki.zeropage.org/wiki.php/Ruby/2011%EB%85%84%EC%8A%A4%ED%84%B0%EB%94%94/%EC%84%B8%EB%AF%B8%EB%82%98 루비 세미나](3.7) : 2. 본격 법 + 실습 (30-40분)
          * 신선한 동네 API사용
          * 갑작스레 엄청난 이민의 압박을 받아 Ruby on Rails를 시작하려 함. ~~가볍기로 소났으니 12/31까지 toy 만들어보기로 목표.~~
          * 가볍기로 소난 루비와 나의 집중력..
          * [http://wiki.zeropage.org/wiki.php/RubyLanguage 루비법]
          * irb처럼 수식을 입력하면 계산값을 돌려주는 cmd 계산기. java와 ruby로 각각 만들다가 요즘은 java만 사용중이다.
          * 그러나 위의 두 방법으로는 '3-2-1' 식을 평가할 수가 없었다(0이 아니라 2가 나옴). 멘붕을 겪고 연산자가 -이면 바로 뒤의 숫자를 음수로 만들고 -연산자는 +로 변환. 이라는 방법을 사용했다.
          * 디버거를 사용할 수 없는 환경을 난생 처음 만남. print과 로그만으로 디버깅을 할 수 있다는 것을 깨달았다. 정보 로그, 에러 로그를 분리해서 에러로그만 보면 편하다. 버그가 의심되는 부분에 printf을 삽입해서 값의 변화를 추적하는 것도 효과적이다(달리 할수 있는 방법이 없다..). 오늘 보게된 [http://wiki.kldp.org/wiki.php/HowToBeAProgrammer#s-3.1.1 HowToBeAProgrammer]에 이 내용이 올라와있다!! 이럴수가 난 삽질쟁이가 아니었음. 기쁘다.
          * 2013년 이스트소프트 하반기 실기시험 제로 나왔다!!
          * 논을 읽고 BigTable을 분석하여 아키텍처를 설계한다.
          * [제로페이지의제점] - 초심자 수준을 벗어나지 못하는 [ZeroPage]
  • 회원정리 . . . . 16 matches
         한번 강제 탈퇴 당한 사람이 자기의 친구들이 자신이 관심있어 하는 내용을 공부하려고 사람을 모으는 걸 알았습니다. 과연 참여할 수 있을까요? 그 사람이 "제로페이지"라는 임의적 단체의 가상적 "선(線)" 때에 함께 공부를 못한다면, 그럴 가치가 있을까요?
         (참고로 이것들은 한번 생각해보자는 의미에서 꺼내는 질들이지 어떤 비판을 목적으로 한 것이 아닙니다.)
          ^^ 네. 전 질 받을 수 있다는 것이 기쁩니다. 관심을 가져주신다는 것 하나만으로도요.... :)
          그리고 사과의 말씀 FrontPage에도 올렸지만 다시한번 드립니다. 일처리를 함에 있어 경솔하였고, 성급했던 점.. 그리고 회칙을 좀더 눈여겨 보지 않고 회원정리를 한 점에 대하여 회원들은 물론 선배들께 우려를 끼쳐드린점 죄송합니다. 이런 일이 없도록 하겠습니다. 같은 과친구들끼리 서로 웃으며 대하는 친구들끼리 회원정리라는 것때에 실관계가 서먹해지는 것은 저도 우려하는 바입니다. 홈페이지까지 삭제하는 일은 지나치다는 생각이 들었습니다. 회원정리는 개개인의 추방을 목적으로 하는 것이 아니라 학회의 부흥을 목적으로 하기 때입니다. 그리하여 상민이 형이 Delete This Page 대신에 ZeroPagers 를 ZeroWikian 으로 바꿔놓으며 차후 연락하여 활동재개의 여지를 남겨놓으신 일에 감사드리며, 형이 미쳐 손대지 못한 홈페이지도 제가 마저 ZeroWikian 으로 바꿔놓았습니다. ZeroPagers 가 아니더라도 ZeroWikian 으로 같이 공부할 수 있다면 좋을 것입니다.
          창준이 형 말대로 제로페이지라는 임의적 단체의 가상적 선때에 함께 공부하지 못한다면 이 또한 비극이 될 것입니다. 따라서 본의 아니게 지나친 조치들을 취했던 것 다시한번 사과드립니다. 회원정리 대상의 친구들 또한 차후 같이 공부할 수 있다면 그보다 더 반가운 소식은 없을 것입니다. 따라서그에 대한 대안으로 함께 공부할 수 있는 여지를 남겨놓기 위해 앞서 말씀드린대로 ZeroWikian 으로 남겨두는 방안을 생각했습니다.(물론 제가 생각했다기 보단 상민이 형의 추가조치에 따른 것이지만요... :) )
          그리고 회원정리의 근거가 된 정모의 참여여부를 말씀드리자면 정모에 규칙적으로 나옴으로써 친목을 다져 스터디, 프로젝트 등의 활동에 활기를 불어넣고자 함이었습니다. 처리할 안건이 있으면 이날 모인 김에 처리할 목적도 있었구요. 그리고 정모를 '무한 자유'로 할경우 참여가 저조하다는 지적이 있어 강제성을 부여하고자 '회원자격상실'이라는 처벌을 두게 된 것입니다. 2002.1에 제로페이지와 데블스의 통합할때 '학회활동의 저조함의 원인' 의 하나로써(전부가 아니라 일부라는 점을 다시 말씀드립니다.) 정모의 불참으로 인한 회원들간의 결속력 상실을 꼽았던 걸로 기억합니다. Z&D 로 페이지 검색하면 나오는 페이지들이 당시 통합과정에서 남은 서들입니다. 아무튼 그리하여 정모에 강제성을 두고자 회원자격박탈이라는 벌칙이 만들어졌고 일년이 지난 지금 시행하게 되었습니다.
          추가로 말씀드리자면 회원정리전의 개인연락은 '너 나갈거야?' 가 아니라 '다시 활동을 해주었으면 하는데 어떠니?' 식이 될 것입니다. 회원정리는 어디까지나 추방의 목적이 아니라 학회의 발전을 목적으로 하기 때입니다. :)
          제 글에 이상한 점이나 의점이 있다면 언제든지 지적해주세요. 아직도 배울 점이 많은 후배입니다. 계속해서 관심가지고 조언해주시면 감사하겠습니다. ^^;
         그리고, 위의 글에서도 언급되었듯이, 특히 사람과 관계된 제에 대해서는 좀 더 근본적인 부분에 대해 생각해보아야 하지 않을까 합니다. (수업때건 언제건 매일같이 얼굴 볼 사람들입니다.) 약간 더 극단적이라면, 현재의 'ZeroPage' 라는 그룹이 다른 대다수의 회원들(정리 & 경고 대상의 회원들이 현재의 소위 '활동회원' 수 보다 더 많은 것 같은데)에게 아무런 장점이나 이익을 제공해주지 못하고 있진 않은가에 대해서도 생각해보아야 하지 않을까요.
         3년이 지난 지금. 갈수록 심해지는 분위기를 보면서 '학과 분위기야.. 어쩔수 없어...' 라는 말을 하곤 하지만, 정말로 대안은 없는 것이였을까 하는 질을 해봅니다. 그리고, 올해 똑같은 일을 하기전에, 미리 생각하고 고민해봐야 할 제일 것입니다. 그 전에, 우리가 추구해야 할 올바른 상태가 무엇인지에 대해 먼저 질해야 하실것이고요. --["1002"]
         중요한건 저의 '지시' 가 아닙니다. ('지시'가 되어서도 안되고요.) 정말 중요한건, 위에 나온 질들에 대해 어떤 답을 만들어낼 것인가 입니다. --["1002"]
         회원정리 때에 이렇게까지 일이 복잡해진데는 저도 한몫 한것 같군요. 개인 페이지 삭제나 경고조치와 같은 것들은 제가 주동(?)을 했다고 봐도 될것 같습니다. 저의 짧은 생각 때에 이곳을 시끄럽게 한 점 사과드립니다. --["상규"]
  • 2dInDirect3d/Chapter2 . . . . 15 matches
          * Viewport를 생성하고 사용하는 방법
          UINT Adapter, // 어댑터의 번호, D3DADAPTER_DEFAULT를 사용
          D3DDEVTYPE DeviceType, //디바이스의 타임, D3DDEVTYPE_HAL을 사용
          2. BehaviorFlag에는 버텍스를 처리하는 방법을 넣어준다. D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING, D3DCREATE_SOFTWARE_VERTEXPROCESSING중 한가지를 사용한다. (사실은 더 많은 옵션이 있다.) 대개 마지막 SOFTWARE를 사용한다.
          5. 다 사용한 이후는 꼭!! '''Release()'''함수를 사용하여 사용을 해제시킨다.
          == Direct3D에서 사용하는 색상 ==
          Direct3D에서 사용하는 색상은 '''D3DCOLOR''' 이다. (3D에서는 COLORREF였다.) 저것을 정의하는 매크로에는 다음과 같은 세가지가 있다.
          RGB(r, g, b); // 보통 사용하는 색상 매크로
          D3DCOLOR_XRGB(r, g, b); // 보통 사용하는 매크로와 사용법이 같다. 이때 a 값은 0이 아닌 255(최대값)이 들어간다.
          1. D3DCLEAR_STENCIL, D3DCLEAR_TARGET, D3DCLEAR_ZBUFFER 세개가 있는데, 보통 D3DCLEAR_TARGET를 사용한다.
          1. 네 인자 모두 NULL을 넣어주면 된다. (프레젠트는 한 화면단위로 하는 경우가 대부분이기 때이다.)
  • BusSimulation . . . . 15 matches
          * 원래 대안언어 축제 코드 첼린지에 6단계까지 해서 내려던 제인데(답 검증을 못한 관계로 2단계로 축소후 일부 제로만 냄) 이왕 만든거 아까워서 이렇게 올림 - [상협]
          * User Input - 사용자는 자신이 원하는 시간 후의 시물레이션 결과를 볼 수 있다. 시간과 분을 입력받는다.
          * 제 : 특정 시간 후의 버스의 위치는?
          * 제 : 특정 시간 후의 버스의 위치는?
          * 제 : 특정 시간 후의 버스의 위치는?
          * 제 : 특정 시간 후의 버스의 위치 및 버스의 승객수는?
          * 제 : 특정 시간 후의 버스의 위치 및 버스의 승객수는?
          * 제 : 특정 시간 후의 버스의 위치 및 버스의 승객수는?
         Discrete Event Simulation이 되겠군요. 사람이 몇 명이 기다리느냐, 길 막힘 상태 등은 이산 확률 분포를 사용하면 될 것입니다. NoSmok:TheArtOfComputerProgramming 에서 NoSmok:DonaldKnuth 가 자기 학교 수학과 건물 엘레베이터를 몇 시간 관찰해서 데이타를 수집한 것과 비슷하게 학생들이 직접 84번, 85-1번 등의 버스를 타고 다니면서 자료 수집을 해서 그걸 시뮬레이션 실험하면 아주 많은 공부가 될 것입니다 -- 특히, 어떻게 실세계를 컴퓨터로 옮기느냐 등의 모델링 제에 관해. 실제로 NoSmok:DonaldKnuth 는 TAOCP에서 이런 연습제를 만들어 놨습니다. 제가 학부생 때 누군가 이런 숙제를 내줬다면 아마 한 두 계단(see also ["축적과변화"]) 올라설 계기가 되지 않았을까 하고 아쉬울 때가 있습니다. 이 제에 드는 시간은 하루나 이틀 정도가 되겠지만 여기서 얻은 경험과 지혜는 십 년도 넘게 자신의 프로그래밍 인생에 도움이 될 것이라 믿어 의심치 않습니다. (팀으로 제 해결을 하면 더 많은 공부가 되겠지요) see also ProgrammingPartyAfterwords 참고자료 --JuNe
         ["제분류"]
  • Gof/AbstractFactory . . . . 15 matches
         이 제는 기본적인 Widget의 인터페이스를 정의한 abstract WidgetFactory 클래스를 정의함으로써 해결할 수 있다. 또한 모든 종류의 Widget에는 추상클래스가 존재한다, 그리고 구체적인 서브 클래스는 Widget을 상속해서 룩앤필 기본을 정의한다. WidgetFactory의 인터페이스는 각각의 추상 Widget 클래스의 새로운 객체를 반환하는 기능을 가지고 있다. 클라이언트는 이런 기능을 수행해서 Widget 인스턴스를 만든다. 그러나 클라이언트는 사용하는 클래스의 구체적인 내용에 대해서는 신경쓰지 않는다. 이처럼 클라이언트는 일반적인(?) 룩앤필의 독립성에 의존한다.
         또한 WidgetFactory는 widget 클래스 간의 의존관계를 형성한다. Motif 스크롤바는 Motif 버튼과 Motif 텍스트 에디터와 함께 사용되어야 한다, 그리고 MotifWidgetFactory를 사용함으로써 이러한 의존성이 강제적으로 이루어지게 된다.
         이럴 때 Abstract Factory 패턴을 사용해라
          * 어떤 연관된 집합의 객체들이 서로 같이 사용될 수 있도록 디자인되어지게 강제해야 할 때.
          * AbstractFactory에 의해서 정의된 인터페이스와 AbstractProduct 클래스만을 사용한다.
          클라이언트는 서로 다른 concrete factory를 사용해야 한다.
          factory가 객체를 만들어 내는데 대한 수행과 책임을 캡슐화 하기 때에 상속한 클래스로부터 클라이언트가 독립적일 수 있다.
          이는 conncrete factory를 쉽게 전환해서 사용할 수 있도록 해주고. 이로써 간단하게 concrete factory만 바꿔줌으로서 서로다른 산물의 조건을 쉽게 쓸수 있다.
          3. ''산물간의 일관성을 촉진한다.'' 어떤 집합내의 객체들이 서로 협력하도록 고안되었다면, 어떤 어플리케이션은 한번에 단 하나의 집합에서 객체를 사용하는 것이 중요하다.
          왜냐하면 AbstractFactory 인터페이스는 생산되어질 산물의 집합을 고정해놓기 때이다. 새로운 산물을 지원하는 데는 factory의 인터페이스를 확장할 필요가 있다
          InterViews 는 AbstractFactory 클래스들을 나타내기 위해서 'Kit'를 접미사로 사용한다. 이것은 WidgetKit과 DialogKit abstract factory 들을 명확한 ["룩앤필"] UI 객체를 위해서 정의한다. InterViews는 또한 서로 다른 복합 객체를 생성하는 LayoutKit 을 포함다. 예를 들면, 어떤 layout은 서의 방향(인물이나 풍경)에 따른 서로 다른 복합 객체를 개념적으로 정렬한다.
          ET++[WGM88]은 다른 윈도우 시스템(예를 들면, X Windows 와 SunViews)간의 호환을 수행하기 위해서 Abstract Factory 패턴을 사용했다. 윈도우 시스템의 추상 base 클래스는 윈도우시스템의 자원 객체(예를 들면, MakeWindow, MakeFont, MakeColor)를 생성할 수 있는 인터페이스를 정의한다. Concrete 서브 클래스는 특정 윈도우 시스템에 인터페이스를 수행한다.
  • Java Study2003/첫번째과제/방선희 . . . . 15 matches
          * JVM이 알아서 더 이상 사용되지 않는 메모리를 check해서 system에 반납해 준다.
          * VM이란? : 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로 프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다.
          * 2. 서블릿이나 JSP 는 J2EE의 구성원들로서 서버사이드 스크립트라고 합니다. JSP가 만들어진 이유가 뭐냐하면, 서블릿의 제점을 해결하기 위해서라고나 할까... 웹 프로그래밍이란게 본질적으로 웹디자이너와의 협력이 불가피한데 서블릿의 경우에는 DISPLAY 부분을 수정하기 위해서 웹디자이너가 접근하기 어렵다는 단점이 있죠.. 이때에 JSP가 만들어졌다고 알고 있습니다. JSP라는 파일은 웹 디자이너가 페이지를 수정하기 편하게 되어있다는게 장점이죠. JSP가 컴파일되면 서블릿이 됩니다.(이게 전부임...) 그리고 서블릿이 실행되면 실제 HTML 페이지가 클라이언트에게 전송되는 것입니다.
          eclipse 나 Editplus의 사용법을 제대로 알고 다시 코드를 작성해보겠습니다.
          * Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능한 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
          * Java를 이용해 재사용 가능한 object를 만들 수 있다. 이 object는 향후 다른 프로그램내에서 그냥 재사용 가능하다. 강력한 Java의 재사용성은 Java가 가지고 있는 장점 중에서도 가장큰 장점이라고 말할 수 있다.
          예를 들어 A라는 회사에서 인사 시스템을 Java로 개발하여 사용하고 있다고 가정하자. 다른 B라는 회사에서도 같은 인사 시스템을 개발하고자 한다면, B회사는 A회사의 인사 시스템 중 승진과 관련된 일부분을 가져와 그대로 사용할 수 있다.
          -- 자바의 장점에 포함된 특징들이 다른 언어에 비해 독자적이고 두드러지기 때인 것 같습니다.
          * 자바 애플릿을 웹 서버로부터 웹 클라이언트가 다운로드하여 실행시켜 주게 되는데, 이 때 네트워크 속도가 느리다는 제가 있습니다.
          * 모호한 언어적 특성, 비결정적 자바 가상머신, 표준화된 실시간 API가 없는 제 때에 실시간 응용이 어렵습니다.
  • JollyJumpers . . . . 15 matches
         [http://online-judge.uva.es/p/v100/10038.html 원보기]
         앞 뒤에 있는 숫자 차의 절대 값이 각각 3,2,1이므로 이 수열은 유쾌한 점퍼가 된다. 어떤 수열이 유쾌한 점퍼인지 판단할 수 있는 프로그램을 작성하라.
         각 줄 맨 앞에는 3000 이하의 정수가 있으며 그 뒤에는 수열을 나타내는 n개의 정수가 입력된다. 맨 앞 숫자가 0이면 출력하고 종료한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || 1시간 || [JollyJumpers/보창] ||
         각 줄 마다 Jolly 여부를 판단하는 경우가 있을 것 같네요. (2)번 방식의 경우 숫자대신 영자가 들어오면 프로그램을 끝내는 방식으로 하면 좋을것 같군요. -- [보창]
         라인의 맨 앞 숫자가 0 이면 출력하고 끝납니다. -- 재선
         샘플인풋에 5 1 4 2 3 이 아니고 4 1 4 2 3 입니다(수정했음). 맨 앞의 수가 입력받을 숫자의 개수를 나타내는거에요. 제가 불분명한것 같아 한가지 예를 더 알려드리죠 4 1 4 3 1 => Jolly --[곽세환]
          아~~ 그러네 제 다시 풀어야지 -- 재선
          이 제 첨에 봤을때하고 입력조건이 바뀌지 않았나요? 저는 입력이 4 1 4 3 1이 아니라 그냥 1 4 3 1 로 햇습니다 --[iruril]
         [제분류], [AOI],[ACM_ICPC/2011년스터디]
  • LUA_2 . . . . 15 matches
         이번에는 루아의 자료형에 대해서 글을 써 보겠습니다. 루아의 자료형은 많지 않습니다. 기본적인 자료형은 숫자, 자열, nil(Null) , boolean 이 있습니다. 간단하게 예를 살펴보면 type 연산자로 자료형의 이름을 알 수 있습니다.
         > print(type("TEST")) --- 자열
         > print(type(1)) --- 숫자
         루아는 특이하게 복수 대입을 사용할 수 있습니다. 예를 들면 첫번째 변수에는 '=' 이후 첫번째 값을 두번째 변수에는 두번째 값을 대입하는 방식으로 사용할 수 있습니다.
         이제는 기본 사칙 연산과 비교 연산자를 사용하는 예제를 보겠습니다.
         지금까지 수치 연산자를 살펴보았는데, 이제는 자열 연산자를 살펴보겠습니다.
         우선 루아에서는 .. (마침표 두개) 를 통해 자열을 붙일 수 있습니다. 이 연산자는 좀 특이하죠.
         다음에는 인용 출력하기 '[[' ']]' 를 통해서 multi line의 자열을 출력할 수 있습니다.
         자열 비교 연산자, 자열도 알파벳 순으로 비교, 크고 작고를 알 수 있습니다.
         자열의 길이 알아보는 연산자
         > fake_two = "2" --- 여기서는 자열
  • Polynomial . . . . 15 matches
          하나의 항은 coefficient 와 exponent 로 구성된다. 하나의 항(단항식)을 표현하는 자료구조는 다음처럼 구조체를 사용한다. (여기서는 지수와 밑모두 integer를 사용한다)
          * 배열을 사용한 방법
          * linked list 를 사용한 방법
          이 방법을 사용할때 발생할수 있는 제점은 memory leakage (메모리 누수)이다. Java같은 경우는 쓰레기 수집기가 있지만 c 는 코더(-_-)가 일일이 사용되지 않는 자원을 회수해줘야 한다. 그렇지 않으면 그 자원을 다시 사용할 수 없게 된다.
          /* 제점 : 다음과 같은 경우는 어떻게 처리해야 할까?
          n1 = mul(n1, n2); // n1 이 중복 사용되었다..
          Node* input(); // 사용자에게 값을 입력받아 새로운 다항식을 생성하여 리턴한다.
          * 다항식을 표현하는 클래스를 만들어서 operator overloading 을 사용해도 되겠지만 이는 위에 말한 내용을 이미 구현한 후 이걸 클래스로 포장하는거기때에 지금수준에서는 무리라고 생각됨... - 임인택
          * 이거 작년에 했다가 한명("영창이")만 겨우 풀었어요 저도 이거 하다 포기했고 1학년에게 넘 어려운 제가 아닐런지...-재동
         ["제분류"]
  • StaticInitializer . . . . 15 matches
         Static Initializer 는 이러한 값들을 미리 셋팅하기 위해 사용하며 다음과 같은 법을 이용한다.
         제는 StaticInitializer 부분에 대해서 상속 클래스에서 치환을 시킬 수 없다는 점이다. 이는 꽤 심각한 제를 발생하는데, 특히 Test 를 작성하는중 MockObject 등의 방법을 사용할 때 StaticInitializer 로 된 코드를 치환시킬 수 없기 때이다. 저 안에 의존성을 가지는 다른 객체를 생성한다고 한다면 그 객체를 Mock 으로 치환하는 등의 일을 하곤 하는데 StaticInitialzer 는 아에 해당 클래스가 인스턴스화 될때 바로 실행이 되어버리기 때에 치환할 수 없다.
         StaticInitialzer 에서 값만 치환하는 것으로 (상속클래스에서 해당 Class Variable 의 값을 바꿔주는식으로) 해결되는 제라면 크게 어렵진 않다. 하지만, 만일 저 부분에 DB 나 File 등(또는 File 을 사용하는 Logger 등) 외부 자원을 이용하는 클래스를 초기화하게 된다면 사태는 더욱더 심각해진다. 처음부터 해당 Class 가 DB, File 등 큰 자원에 대해 의존성을 가지게 되는 것이다. 게다가 이는 상속을 하여 해당 부분을 Mock 으로 치환하려고 해도 StaticInitializer 가 먼저 실행되어버리므로 '치환'이 불가능해져버린다.
         이를 방지하려면, StaticInitializer 를 일반 Method 로 추출한뒤, 생성자에서 이를 호출한다. (단, 인스턴스를 2개 이상 만드는 클래스인경우 제가 있겠다.)
         그 외에 Static 의 경우, 그 사용 가능 Focus가 Global 해지기 때에 이 또한 Bad Smell 이 될 가능성이 농후하다. 개인적으로는 가급적이면 Static Variable 을 쓰지 않는 습관을 들이려고 한다. --[1002]
          이 제가, final static 으로 값이 세팅될때의 제가 아닌가요? Mock의 생성자에서 교체 가능하지 않나요? --NeoCoin
          Mock 생성자에서 값이 교체되어도 StaticInitializer 자체가 실행된다는 점에는 변함이 없습니다. 만일 StaticInitializer 에서 외부 자원들을 사용한다면, Side-Effect 들을 피하기 어려운 경우가 많다는 것을 강조하고 싶었습니다. --[1002]
  • TAOCP/BasicConcepts . . . . 15 matches
          여섯 바이트로 이루어진다. 한 바이트에는 0~63까지 숫자가 들어갈 수 있다. 그림으로 나타내면 다음과 같다.
          <!> ''예) (0:0)는 부호, (1:5)는 부호가 없는 숫자, (3:4)는 3,4번째 바이트''
          레지스터는 앞에 소자 r을 붙여 표기
          이 연산에서 M은 메모리 셀을 가리키지 않고, 그냥 부호있는 숫자로 쓰인다. ENTr, ENNr, INCr, DECr가 있다. ( r은 A, X, 1~6)
          시프트 명령은 rA와 rX를 사용한다. SLA, SRA, SLAX, SRAX, SLC, SRC가 있다. M은 시프트하는 횟수를 나타낸다.
          NUM은 rAX를 가지고 숫자로 바꾸어 rA에 저장한다. 각 바이트가 한 자리로 바뀌는데, 일의 자리만 가지고 바꾼다(10 -> 0, 23->3 )
          CHAR는 rA를 가지고 자 코드로 바꾸어 rAX에 저장한다.
          A1. 모든 왼쪽 괄호에 흔적을 남긴다. 오른쪽 괄호를 왼쪽 괄호 다음 자로 바꾸고 흔적을 남긴다.
          A2. 왼쪽에서 오른쪽으로 가면서 흔적이 없는 첫번째 자를 START라고 한다. 왼쪽 괄호와 그 자를 출력하고 흔적을 남긴다. 모든 자에 흔적이 남을 경우 종료한다.
          A3. 다음자를 CURRENT로 세팅한다.
          A4. 오른쪽으로 가면서 CURRENT와 같은 자를 찾는다. 찾은 경우 흔적을 남기고 A3로 간다. (못 찾고 오른쪽 끝까지 가면 A5로 간다.)
          (여기서는 책에 있는 Table2(p.173)를 봐야 한다. 세로 한 줄이 T[i]를 나타낸다. 그 밖에 i, j, Z 값을 적어 놓으면 이해할 수 있다. n은 자의 개수이다.)
          연습제10에 있다.
  • WhenJuniorsAsk . . . . 15 matches
         저도 비슷한 생각을 합니다. 후배들에게 좋은 이야기를 해주려는 마음은, 때로 후배보다 자기 자신을 위한 "자기만족적" 행위가 둔갑을 한 것일 수도 있는 듯 합니다. 꼭 그렇지는 않다고 해도, 신입생들에게 아무런 공감도 불러일으키지 못하는 이야기를 쏟아붇고, 그들은 한귀로 흘려버리고 하는 것은 양자 모두에게 불행한 모습일 겁니다. 선배가 후배에게 지도를 해준다거나 하는 것은 그들이 자신들만의 제의식을 스스로 형성하고, 나름대로 탐색과 고민을 해본 이후에라도 늦지 않은 것 같습니다. 그들이 자구적으로 물어볼 때, 그 때 을 슬며시 열어주는 것이죠. WhenJuniorsAsk.
          위의 제글의 이야기는 강연 방법이나 강연 대상을 이야기하자고 하는 것은 아니었습니다. 제글은 강연자의 "권위"를 강조하기 위한 이야기였습니다. 선배님의 윗 글의 의미는 대학년 1년생들에게 그 선배님이 강연을 하시는 것은 비효율적이라는 말씀을 하고 싶으신 것입니까? 제의식이 없는 사람들에게 강연을 하는 것은 비효율적이라고 말씀하시는 것입니까? 신입생들은 강연자의 (어떤 강연인지는 모르겠지만..)강연 내용에 대한 제의식이 전혀 없다는 전제라면 뭐라 드릴 말씀이 없습니다. 이것이 의견차를 가져오게 된 결정적인 이유 같습니다. 저는 그 선배님의 강연이 1학년들도 충분이 제를 가질만한 이야기를 해줄 수 있는 이야기를 강연 주제로 잡으신줄 알았습니다. 뒤에 다른 저의 글은 하나의 의견차이에 대한 반론과 이번 사건에 대해 바램이 있어서 적어보았습니다. 뒷에 글까지 다 적은 후에 이 글을 수정하여서 동기화가 안될 수도 있으니 양해해주십시요.
          ''자신만의 제의식이라는 것은 개인이 각자 자신의 삶 속에서, 그 지역성과 구체성 속에서 느낄 때 가장 큰 가치가 있다고 생각합니다. 어떤 강연이건 당연히 권위자가 해주면 더 좋겠죠. 하지만 누가되었건 그 사람이 나의 제의식을 대신 채워주는 것은 그다지 바람직하지 않다고 봅니다.''
          ''청자가 뭔가를 느끼느냐 마느냐는 제를 떠나서, "자각 기회 박탈"이라는 면에서 생각해 볼 수도 있겠지요. 저는 남들에게 뭘 가르치기 이전에 항상 "실패의(혹은 간혹 성공의) 경험"을 충분히 만끽하게 합니다. 그러지 않고 바로 답을 혹은 답에 이르는 방법을 가르쳐 주게 되면 그들은 매우 귀중한 자각의 기회를 박탈 당하는 겁니다. 물론 교육적 방편에서 좀 더 자주, 더 일찍, 더 멋지게 실패할 수 있는 환경을 마련해 주는 경우는 있습니다.''
          ''제는 그런 자위적 상황에서는 진솔한 이야기가 나오기 어렵다는 겁니다. 겉멋이라고 하죠. 그걸 듣는 사람들도 겉멋에 현혹되기 쉽습니다.''
          굳이 겉멋이라고 하더라도 전체적으로 플러스 효과만 발휘한다면, 저는 괜찮다고 생각합니다. 근래에 나온 영화 "뷰티플 마인드"의 주인공 존 내쉬도 자신을 돋보이게 하기 위하여 어려운 수학 제들에 매달렸다고 합니다. (누군가 이 제를 한번 풀어보겠냐고 물어보면, 존 내쉬는 그것이 정말 어려운 제인가? 그것을 풀었을 때, 사회적 반향을 먼저 주위 사람들에게 물어보았다고 합니다.) 이러한 예는 역사 속에서도 많이 찾아볼 수 있다고 생각합니다. (영화 "쉰들러 리스트"에서도 그러하죠.) "자기만족적"행위가 시간이 많이 흐른 후, 설혹 나쁜 결과를 얻어 낸다고 하더라도 경제적인 측면에서 보더라도 "이타주의적"행위를 하는 사람은 극히 소수에 불과하기 때에, 무엇을 얻고자 하는 다수의 사람의 수요를 충족시킬 수 없습니다. 이런한 관점에서는 그 소수를 기다리는 것보다는 다수("이타주의적"행위를 하는 사람과 비교해서)의 "자기만족적"행위자에게서도 공급을 얻는 것이 더 합리적이라고 생각합니다.
          ''이 제는 논점에서 좀 벗어난 이야기가 될 것 같군요.''
          선배님의 생각은 아직 (신입생들에게 들려주려는) 강연을 듣기에는 때가 이르다는 생각이신 것 같습니다만, 그렇다면 강연을 하실 수 있는 채널은 열어 놓으신 것입니까? 다시 말씀드린다면, 분위기를 봐서 언제정도에 (학생회측에서 요청이 없더라도) 강연을 하려는 계획이 있다는 말씀이십니까? 이렇게 묻는 것은 말꼬리 잡는 말이기도 하지만, 김창준 선배님의 강연을 들었을 때, 상당히 느끼는 바가 많았으며, 이런 선배님과 친분이 있으시고 학생회에서 섭외했을 정도의 선배님이 신입생들에게 강연을 해주었다면, 그 선배님의 생각과는 달리 신입생들에게 상당한 느낌이 다가오지 않을까 하는 막연한 믿음 때입니다. --정희록
  • ZeroPageServer/set2002_815 . . . . 15 matches
          * PDS 의 Upload 시 한글이 깨지는 제에 대한 해결책 필요. 단순히 한글 인코딩 설정말고 다른게 또 있는가?
          * Resin , Apache 시작 순서
          ''게시판 Admin 툴을 이야기하는건지? 맞다면.. '''만든이는''' ["sun"]이고 '''용도'''는 게시판 생성/삭제를 쉽게 하려는 의도에서 였으며, '''모든''' 게시판이 표시되지는 않는것은 툴을 만들었던 시점이, 자게,질/답 등 이미 몇몇 게시판이 만들어진 이후였기 때(변경을 게을러서 안했음). --["sun"]''
          * Web에서 CGI권한을 허용 받으려면 관리자(["neocoin"])에게
          * 석천 ( 99,["1002"] ) : 다른 일 때에 바쁠텐데 감사
          * 이번 세팅의 목적은 '''좀더 편한 패키지 관리, 안정된 환경'''을 위해서이다. 그래서 상민이의 물망에 오른 것이 Zentoo Linux와 Debian, FreeBSD 정도 인데, 기본적으로 Linux를 택해서, FreeBSD와 Zentoo Linux와 Debian 비교에서 사용자 층과 편이성면에서 Debian이 더 우수하게 느껴져 선택하였다.
          * [[HTML( <STRIKE> Moin 에서 Redirection 제 </STRIKE> )]] : kernel upgrade로 해결 되었음 원인 불명확
          * [[HTML( <STRIKE> ZeroPage 로그인 구 </STRIKE> )]]
          * [[HTML( <STRIKE> apache에서 index.html 을 못찾는 제 </STRIKE> )]] kernel upgrade후 해결
          * [[HTML( <STRIKE> ZeroPage 좌측 하단 카운터의 cgi</STRIKE> )]] : counter.txt의 writing 권한
          * [[HTML( <STRIKE> 사용자 기본 ls세팅 컬러로 </STRIKE> )]]
          * hosts 에서 zp.zeropage 가 되어 있는 것이 제 일듯. 서버 까지 왔다가 다른 곳으로?
          * [[HTML( <STRIKE> JSP 권한 설정 </STRIKE> )]] : 사용자 woodpage에게만 줌
          * {{{~cpp /home/jspVirtualPath}}} 에 해당 아이디의 symbolic 링크를 걸면 됨. resin.conf에서 path-mapping 사용
          * [[HTML( <STRIKE> Servlet 사용 정책 마련 해야 함</STRIKE> )]]
  • callusedHand/books . . . . 15 matches
          공개 소스 방식의 개발은 많은 개발자들의 자발적인 참여를 이끌어낼 수 있습니다. 그렇기 때에 낭비라고 볼 수 있는 많은 동류의 소프트웨어 개발, 무수히 많은 패치들, 중복된 작업들이 존재합니다. 그리고 이런 양상은 혼란스러워 보입니다. 하지만 이것을 더 나은 소프트웨어를 개발하기 위한 과정이라고 보는 것이 타당할 듯 합니다. 소프트웨어 산업에도 약육강식, 적자생존의 법칙이 적용됩니다. 엔드 유저가 찾고 엔드 유저의 눈에 보이는 것은 경쟁 속에서 살아남은 몇 가지 소프트웨어입니다. 그리고 개발자들의 자발적인 참여는 성당 개발 방식에서 개발자들을 기계화하는 것과는 다릅니다. 참여 개발자라면 적어도 그 프로그램에 대한 관심, 열정을 가지고 있으며 이는 자율이라는 점에서 더욱 힘을 얻어 개발자는 개발에 열중하게 될 것입니다. 이럴때 개인의 창의력, 프로그래밍 능력이 극대화될 수 있을 겁니다.
          저는 개발자의 필요에 의해 소프트웨어 개발이 진행되기 때에 정작 엔드 유저가 필요로 하는 프로그램이 적다는 말에 반대합니다. 개발자도 사용자입니다. 개발자는 컴퓨터를 개발의 도구로만 보지 않습니다. 채팅방에서 시시콜콜한 대화를 나눌 수도 있고, 음악을 듣거나 영화를 볼 수도 있습니다. 바로 이러한 입장에서 개발의 필요가 나타나는 것입니다. 그리고 소비자의 필요와 동 떨어진, 컴퓨터 과학에 치우친 개발이라고 해도 이것은 컴퓨터 산업에 힘을 실어주기 마련입니다. 미분, 적분과 같은 실생활과 관계가 없을 것 같은 이론이 오늘날 여러 산업 분야에 큰 토대가 되고 있지 않습니까?
          오픈 소스 방식의 개발을 무료 프로그램 개발로 여기는 것은 잘못된 생각입니다. 오픈 소스방식의 개발은 단지 소프트웨어 개발론 중 하나일 뿐입니다. 시장에 내다팔 상품을 오픈 소스 개발 방식으로 만들어 낼 수도 있습니다. . 오픈 소스 방식의 개발을 통해서도 얼마든지 수익을 창출할 수 있으며 근래의 리눅스 업체들이 이를 뒷받침해 주고 있습니다. 왜 독점적 소프트웨어를 가지고 돈을 버는 것보다 불리하다고 생각합니까? 레드햇의 로버트 영의 말을 유심히 들어볼 필요가 있습니다. “대부분의 산업 국가에서는 그냥 수도꼭지만 틀면 물을 마실 수 있는데 어떻게 에비앙이 수백만 달러의 물을 이 시장에 팔 수 있는가? 간단히 말하자면 에비앙이라는 브랜드는 믿으면서 여러분의 수도꼭지의 물은 믿을 수 없다는 불합리한 두려움 때이라고 할 수 있다. 바로 이점이 비공식 레드햇 리눅스 복사본을 쓰지 않고 50달러짜리 공식 레드햇 리눅스를 많은 사람들이 선호하는 이유이다. 케찹은 향료를 가미한 토마토 튜브에 불과하다. 여러분은 토마토, 식초와 같은 자유롭게 배포할 수 있는 물건들로 부엌에서 케찹을 만들 수 있다. 하지만 소비자는 왜 부엌에서 케찹을 만들고 있지 않으며 하인즈는 어떻게 해서 케찹 시장의 80%이상을 점유하고 있는가? 편리함은 원인의 일부분 뿐이며 진정한 원인은 하인즈가 소비자의 마음 속에 케찹의 맛을 정의할 수 있었기 때이다. 이제는 하인즈 케찹의 브랜드가 큰 영향력을 가지고 있기 때에 소비자인 우리는 하인즈 케찹이 더 좋다고 생각해 버린다.”
          프로그램에 치명적인 버그가 있을 때 책임지고 고쳐 줄 사람이 없기 때에 오픈 소스 개발 방식은 위험하다는 주장도 오픈 소스 개발 방식에 대한 오해에서 비롯된 것이라고 생각합니다. 위에서 말했지만 오픈 소스 개발 방식은 수많은 소프트웨어 개발 방법 중 하나 일 뿐입니다. 기존의 많은 오픈 소스 프로젝트가 개발자들의 취미, 재미라는 동기에서 비롯되었기 때에 사후 관리가 미미하고 개발자들이 개발을 포기하는 경우 엔드 유저는 피해를 볼 수 밖에 없었던 것입니다.
          소프트웨어 공학이란 최소의 경비로 품질 높은 소프트웨어를 개발, 유지보수하기 위한 방법론에 관한 학입니다. 프로그램을 구현하는 단순한 작업 이상의 다양한 측면을 기지고 있으며 이는 일반적으로 요구 사항 분석, 시스템 디자인, 세부 디자인, 구현, 통합, 필드 테스트, 사후 지원과 같은 공정을 거칩니다. 소프트웨어 공학과 오픈 소스 개발 방식을 비교해 볼 때 오픈 소스 개발 방식이 갖는 제점을 찾을 수 있습니다.
          요구 사항 분석, 시스템 디자인, 세부 디자인 과정이 구체적으로 진행되지 않거나 서화가 이루어 지고 있지않는 점입니다. 이는 프로그램의 유지보수, 재사용 측면에서 볼 때 심각한 제로 한 프로그램을 개선시키고자 하는 개발자가 있을 때 디자인에 관한 서가 없으면 많은 시행 착오를 겪을 수 밖에 없으며. 좋은 코드들이 그냥 버려지게 되는 경우가 많아 집니다. 이것들은 분명히 낭비라고 볼 수 있습니다. 그러므로 서화 할 필요가 있습니다.
  • html5/overview . . . . 15 matches
          * 기존의 HTML : 서를 위한 플랫폼, HTML5 : 웹 어플리케이션을 위한 플랫폼
          * HTML5 : HTML과 XHTML은 표현되는 법의 차이, HTML5는 DOM에 따라 표시됨
          * 기존 HTML의 애매모호한 법 개선
          * 프로그램이 서의 구조를 파악하기 쉬워짐(HTML 파싱 수월), 가독성 증가
          * aticle : 섹션의 한종류, 페이지에서 독립되어있는 부분 (ex. 블로그웹의 블로그 본)
          * aside : 섹션 내용과 관련되어있지만 없어도 상관없는 부분(ex. 서 내용 요약)
          * address : 섹션에 관한 의처 정보(ex. 회사 전화번호등)
          * 마이크로 데이터 : 서에 삽입된 데이터의 속성 데이터(데이터의 데이터, 데이터의 의미가 명확해짐)
          * 전방호환성 - HTML5을 적용하기 이전의 브라우저에서도 HTML5사용가능(웹브라우저의 fall back 적용)
          * 후방호환성 - HTML5을 적용한 브라우저에서 HTML5 이전 버전 서 표시가능
          * 이미 사용되고 있는 내용에서 사양을 추출한다
         * HTML의 목적 : 1998년 W3C는 html이 아닌 XHTML의 표준 사용을 권고한다. 그러나 XHTML은 HTML과의 비호환성으로 널리 퍼지지 못한다.
         * 결과적으로 10년이상 사용되는 HTML의 저사양이 오히려 웹 어플리케이션의 발전을 저해했다. 그러나 W3C는 XHTML을 위해 새로운 HTML의 개발을 거절한다.
         * 그러자 apple, mozillar, opera 세 기업이 모여 WHATWG를 발족하고 HTML의 진화를 지향한다.(apple은 플래시를 제공하는 어도비와 관계가 좋지않아 HTML5를 적극적으로 추진한다는 소이다)
  • 데블스캠프 . . . . 15 matches
         창조라기 보다는 그럴 수밖에 없는 상황이었기 때이라는 표현이 더 맞다.
         그때는 내가 대학원생이었기 때에 낮동안에 후배들과 함께할 시간을 낼 수 없었다.
         기본적으로 낮시간동안에는 연구실 일과 나의 공부를 해야 했기 때에 불가능했고,
         있는 시간은 밤시간, 그것도 9시 이후였다. 그 때에 아무리 해야 두세시간.
         이해할 수 있었다. 하지만 그들 때에 나머지 사람들이 나갈 길을 기다릴 수는
         보면서 한편으로 왜 저런 고생을 사서 하는 것일까 하는 의을 갖기도 하지만
         때이다. 사실 이 제는, 앞에서 수영이의 이야기가 100% 맞는 말이다. 그런 부분에
         그러나, 그것도 제가 있다. 이전에도 그런 제가 있었을 때 밤을 새는 사람들도
         예전의 캠프에 경우엔 주로 학기중에 열렸었고, 피시실 자리제라던지, 강사의 시간제상 밤을 샐 수 밖에 없었다. 그리고 NoSmok:단점에서오는장점 에는 힘든 상황에서의 '극기' 에 의한 정신 수련 등이 있었다. 그리고 그에 따른 단점으로서는 캠프 참가자/비참가자 이후 학회에서 떨어져나가는 사람들이 생긴다는 점이다. 이는 99년 신입회원 C++ 스터디때도 똑같은 일이 일어났고, 초기 60명 -> 중기 15명 -> 후기 8-10명 과 같은 현상을 만들어냈다. 그리고 이 제는 매년 같은 현상을 되풀이 했다. (데블스와 ZP 가 나누어져있을때건.) 하지만, 회의때마다 그러한 현상에 대해 '당연'하게 생각했다. 주소록을 보면 한편으론 암울하다. 어떤 분들이 ZP회원이였었지? (초기 60명? 후기 10명?) 누구에게 연락을 해야 할까?
         밤을 샌다 안샌다, 이벤트 등에 참석한다 안한다가 제가 아니라, 어떻게 하면 저러한 장점들을 이끌고 가면서, 한단계 더 발전할 수 있는 캠프를 만들것인가를 궁리해야 할 것이다. ZP/데블스 통합 때에도 이야기되었던 것중 하나는 선후배간 지식/정신(학회 정신이라고 해둘까. ZP를 ZP라고 이야기할 수 있는 것들, 데블스를 데블스라고 이야기할 수 있는 것들) 이 전수되지 않았다는 점이다.
         6월 23일 이후부터 ["데블스캠프"]가 시작된다. 매일 진행상황을 체크하고, 일어난 일, 선배로서 준비과정중 느꼈던 점을 캠프 이후 후배들과 이야기해야 할 것이다. (["ThreeFs"]) 이는 11년이 지나도 늘 새로운 학회같아보이는 ZeroPage 에서 머지않아 떠날 사람들이 해야 할 일인듯 싶다. 어떻게 제를 해결할지는. 모르겠다. --석천
  • 데블스캠프2003/넷째날/Linux실습 . . . . 15 matches
         척 보기에 리눅스는 윈도우 처럼 비쥬얼하지도 않고, 참 심심하게(?) 생겼음에도 불구하고 사용하는데, 그에는 아래와 같은 장점들이 있습니다.
          * 소스가 공개되어 버그 수정에 사용자가 참여할 수 있음
         === 명령어 사용해보기 ===
          * man (알고 싶은 명령어)의 형식으로 사용한다. cp명령어에 대해 알고 싶으면 man cp를 쓰면 된다.
          * ls -l을 해보면 제일 왼쪽에 -rwxrwxrwx 등의 자가 나오는데, 이것은 권한을 말한다.
          === 사용법 ===
          * 서를 편집할 수 있는 모드로 명령모드에서 i를 누르면 들어간다. 제일 밑에 INSERT라고 표시된다. 여기서 보통 서 편집하는 것처럼 입력해 주면 된다.
          * copy, paste 등 편집과 관련된 다양한 기능을 사용할 수 있다.
          * G => 서의 제일 끝으로
          * nyy => 현재 줄 이하로 n개의 줄을 복사(n은 임의의 숫자)
          * nym => n개의 단어 복사(n은 임의의 숫자)
          * C 소스를 입력합니다. 단, C++ 스타일이 아닌 C 스타일로. 즉, stdio.h와 printf등을 사용하라는 뜻이죠. 주의할 점은, 여기서 주의할 점은 main() 함수의 리턴값은 void로 해주면 안 되고 int로 해주어야 합니다.(왜 그런지는 모르겠으나 컴파일 에러가 나더라고요.)
         예를 들면, apache 로그 파일을 줍니다. 그리고 sort, uniq, cut, grep, head 등의 명령어의 사용법을 간단히 가르쳐 줍니다. 그리고 이들을 파이프로 연결해서 2003년 6월에 접속한 IP 중에 가장 자주 접속한 IP 베스트 10을 1등부터 뽑아내라고 합니다. ({{{~cpp grep "Jul/2003" access.log| cut -d' ' -f1 |sort|uniq -c|sort -rn|head -10| cut -f2}}})
          확실히 명령어를 하나씩 가르쳐 주는 것은 한계가 있다고 봅니다. 그러나 제가 아는 게 없어서 이런 식으로 밖에 못 하겠습니다. 저 역시 리눅스 같은 것을 접한 적이 거의 없고, 이번 데블스캠프를 위해서 저도 처음 접했습니다.(작년 데블스캠프 제외) 그래서 지금 저의 수준에선 이 정도 밖에 할 수가 없었습니다. --영동
  • 데블스캠프2009/금요일/SPECIALSeminar . . . . 15 matches
          * Tool을 효율적으로(편리하게) 사용할 수 있는 능력 - 성현
         === 전성 연구 ===
          1. 전가와 비전가의 차이 연구.
          1. 어떻게 하면 전가가 될 수 있을지를 연구.
          1. 어떤 전가를 연구하는 것이 좋은가?
          * 그 사람이 전가인지 아닌지 객관적인 판단기준이 있는 직업. (프로그래머도 이에 속함)
          * 수동적이 아니라 능동적으로 신경써야(뇌가 활동해야) 학습이 잘 되기 때. - myelin
          * 민관이의 질 - 선배님께서 생각하시는 개발 실력에서 가장 중요한 것
          * 반복이 제대로 됐는지 체크 - 첫, 끝 index 출력, 에러 메세지 확인
          * 실무에서는 정확한 서를 주지 않는다 - 들으면 잘 기억해둬라
          * 잡지, 논을 많이 읽어라
          * 현재 학부생은 도서관에서 잡지나 논을 공짜로 읽을 수 있다!
          * 전가에게 컨텍하라. - 특히, 외국의 경우, e-mail을 하면 80%는 답변을 해준다
  • 데블스캠프2009/월요일후기 . . . . 15 matches
          * [송지원] - HTML, CSS라고 해서 단순히 웹 프로그래밍 언어인 태그들만을 생각했었는데 웹 표준의 개념과 기존 웹의 제점에 대해 지적했다. 표준 웹은 두리뭉실하게만 알았던 개념이었는데 더 확실히 배울 수 있었던거 같다. 다만 도입부에서 기존 웹의 제점과 웹 표준에 대해 설명하는 과정에서 말이 좀 어려웠던것 같다;;
          * '''강소현''' - 필요한 내용을 fire bug를 이용해서 찾아내고 수정해서 사용할 수 있다는 점이 좋았어요.
          * [김준석] - 단순하지만 있을건 있는 프로그램. Easy, Enjoy라는 개념이 어울린다. 프로그래머가 아닌 일반인(유치원생)도 이런 프로그램을 사용해봄으로서 나와 같은 프로그래머의 입장이 되어 쉽게(Easy) 즐길수(Enjoy) 있는 기회를 준것이다. 내가 1학년때 송기원교수님이 한 말이 떠오른다 "언젠가는 일반인도 쉽게 만들수 있는 프로그램 언어가 나올꺼다. 전화 프로그램 만들고 싶으면 사람하고 사람 그림 두개 따서 전화기 그림을 가운데 놓고 연결하면 이게 전화 프로그램이 되는. 그럼 너희들은 뭐 먹고 살래? 사람들이 머리만 조금 굴리면 알아서 딱딱 만드는 세상이 될텐데 아이디어랑 생각이 중요한거야." 딱, 이거 아닌가? 물론 프로그램 언어의 현상황에서 프로그래밍에 업을 달고 사는 사람에게 쉽고 즐긴다는 말은 저기 저 먼 안드메다에 있는 개념만큼 멀게 느껴지지만 마지막에 송지원학우님이 얘기해주신것처럼 프로그래밍이 단순히 어렵고 복잡한것을 뜻하는것만이 아니라 새로운 아이디어로 생각해 그 시각으로 바라보는것으로 개발자의 입장이되는 우리도 더 쉽고 재밌게 즐길수 있을것이다. 그렇지만 기본은 먹고 살아야지.
          * [김수경] - 대안언어축제에서 Scratch를 접했을 때도 느낀 점이지만, 프로그래밍 언어를 처음 접한 사람에게 코딩을 친숙하게 해주는 정도로는 좋은 것 같아요. 그런데 이미 다른 언어를 어느 정도 쓸 줄 아는 사람에겐 제약이 많다는 것과 일일히 찾아서 드래그해야 한다는 점이 오히려 귀찮게 느껴지는 것 같아요. 누구나 쉽게 쓸 수 있는 툴은 기능이 아쉽고, 강력한 기능을 제공하는 툴은 복잡해서 쓰기 어렵고.. 이런 제는 도대체 어떻게 해결할 수 있을까요ㅋㅋ 이건 Scratch에만 국한된 제는 아니지만요;
          * '''서민관''' - 사실 09학번이 1학기 때 로보랩을 하지 않았더라면 월요일 수업 중에서 가장 괜찮은 수업이 되지 않았을까 싶다. 자로 된 프로그램 언어를 시각적으로 접하게 하는 것이 목적인 것 같은데, 조작 또한 간단한 드래드 정도로 쉽게 할 수 있는 것도 굉장히 괜찮았다. 다만 몇몇 필요한 기능들이 없는 건지 못 찾은 건지 해서 괜찮은 물건을 만들지 못 한 것은 너무 안타까운 점이었다. 아. 정말 아쉽네요.
          * [김준석] - 과거 06년도 데블스 캠프때 서버 할당받아서 svn잠깐 써보고 그다음에 전혀 써보지않았던 svn... 다시쓰기가 난감 할정도는 아니었지만 까는거에서 에러나면 어떻게 하는거야? 뭐여튼 nForge로 할당받아서 프로젝트 하나하나 올리면 되겠는데 제는 이게 제로페이지 공용이라서 과연 학생들이 학업중 팀프로젝트때도 쓸려나.. 사용법을 가르쳐주는것 만으로 충분하긴 한데.. Zeropage내의 프로젝트는 얼마 되지 않는데;; 외부프로젝트라도.. 몇개나 올라올지는 모르겠지만 일단봐야지. 한 4~5개만 나와도 엄청난 프로젝트 갯수를 채우는 거겠군.. 프로젝트 진행중 중요한건 여러명의 개발자가 사용한 프로그램이기에 주석과 구조 그리고 변수건 함수건간에 서로 알아보기 쉽게 암묵적인 규약이라도 있어야된다는거 하긴 혼자할때는 그런거 필요없지만 SVN을 통해 올리는 프로젝트는 그렇게 해야 참고하고 구경하러온 학우들에게 도움이 될테니까. 특별히 코드레이스는 엄청나게 신경쓰면서 열심히 해봤는데 마지막에 올릴때 그것의 미인증이 인터넷을 막는 바람에 못올린것에 전산센터는 좀 반성해야되! 그리고 아쉬운점은 코드레이스는 좀더 늦게하고 제로페이지에 참가한 학우들에게 알고리즘이나 객체, 구조 함수에대해서 좀더 알려주고 조금 더 생각할 제를 풀었으면 재밌었을텐데.. 난 printf()만 나오는 그리는 제에는 잼병이란 말이다! 그렇다고 머리를 잘쓰는건 아니지만. 뭐.. 그렇듯 코드로 짜는건 빠른 손가락만 움직이면 되지만 푸는건 머리라는 사실은 변함이 없다. 코드레이스때 특정함수를 쓰게해서 DBMS나 라이브러리 북을 찾아보는 연습하는것도 좋았을텐데... 뒤에서 원그리고 있는데 앞에서 로보코드하고있을때는 안습. 끝나고 포트2 강추.
          * [송지원] - svn은 주변 프로그램이 많아서 더 어려운것 같다. 얼핏 생각하면 tortoise SVN으로 충분해보이지만, nForge나 트랙, notifier, websvn 등이 함께해야 더 시너지 효과를 발휘한다. 코드레이스를 하면서 느낀 것은, 왜 진작 1학년 때에 이에 흥미를 느끼지 못했는지다. 내가 잘 못해서, 아무것도 몰라서 흥미를 느끼지 못했지만 사실 따지고 보면 그건 나의 제다. 물론 코드레이스를 내가 하는거보다 새내기가 하는걸 보는게 더 재밌긴 하다 ㅋㅋ 역시 나는 뭔가를 하는 것보다 잔소리하는게 적성인듯.
          * '''박준호''' - svn이라는걸 해보고 팀플할때 사용할수 있을것 같아 매우 유용하게 쓸 수 있을것 같아서 좋은 시간이 되었던 것 같다. 다음부터 나도 사용할것이다.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.29 . . . . 15 matches
          2. 서식자 ( %d )
          * 피드백 제 꼭 합시다~
         = 피드백 제 =
          1. 특수 자 중 \n을 사용하는 이유가 무엇인지 쓰세요.
          4. 다음 printf 함수와 scanf 함수 사용 중 틀린 것을 고르고, 제대로 고치시오.
          * 오늘 배운 것은 printf의 사용법과 각종 연산자에 대한 것이었다. 예전에 배운 적이 있지만 다시 배우니 더 깊이 알게 된 것 같다. 프로그래밍은 배울 수록 느는 것 같다. 앞으로도 복습은 소홀히 하지 않아야겠다. - [장용운]
         피드백 제 -송치완
         피드백 제 - [장용운]
         1. 개행 자(\n)는 printf 함수에서 줄을 넘길 때 사용합니다. 이것에 캐리지 리턴(\r)을 직접 타이핑하지 않는 이유는 printf 함수가 텍스트 모드로 출력하기 때에 자동으로 캐리지 리턴이 앞에 붙게 되기 때입니다.
          printf('''"'''3 + 4 = 7'''"'''); '''//잘 보면 자열을 감싸는 두 개의 큰따옴표에 하이라이트 되어있습니다'''
          * 다들 피드백 제 잘 푸는구나 ㅋㅋㅋㅋㅋㅋ 굿굿 - [박성현]
  • 새싹교실/2013/라이히스아우토반/3회차 . . . . 15 matches
          * 자 받기.
          * 또 다른 반복인 while, do while을 배워 봅시다.
          * 조건을 배워봅시다.
          * if
          * switch
         나머지 법은 기말범위 일것 같고.
          * 자 받기
          scanf("%f",&ZiLm); // 이걸 보고 위에 변수를 정할 수 있다. 이게 제.
          // 출력은 뭘로 해야 할까?
          puts("뺄셈 제를 물어 볼거에요!");
          puts("나(은)는 몸통박치기!!를 사용했다.");Sleep(TURN_GAP);
          puts("나(은)는 튀어오르기!!를 사용했다.");Sleep(TURN_GAP);
          continue;
          * Internet Explorer를 제외한 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
         오늘 if과 ==,||,&& 등 여러 기호를 배웠다.
  • 이영호/개인공부일기장 . . . . 15 matches
         ☆ 앞으로 공부해야할 책들(사둔것) - Effective C++, More Effective C++, Exeptional C++ Style, Modern C++ Design, TCP/IP 네트워크 관리(출판사:O'Reilly), C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Physics for Game Developers(출판사:O'Reilly), 알고리즘(출판사:O'Reilly), Hacking Howto(Matt 저), Windows 시스템 실행 파일의 구조와 원리, C언어로 배우는 알고리즘 입
         ☆ 레퍼런스 - 리눅스 공동체 세미나 강의록, C언어 함수의 사용법(함수 모음), 데비안 GNU/LINUX, C사용자를 위한 리눅스 프로그래밍, Add-on Linux Kernel Programming, Secure Coding 핵심원리
         2005년 7월 4일~7월20 완벽히 끝낸책 : 안녕하세요 터보 C, Teach Yourself C, C언어 입 중,고급, C언어 펀더멘탈, 쉽게 배우는 C프로그래밍 테크닉
         30 (토) - Network에 관련된 RFC 서 몇개 외우기. (ICMP, IP 관련)
         26 (화) - Compilers, C++(다양한 Virtual 상속, Class의 메모리 구조-C의 구조체와 대비하여/Class는 구조체로 포인터함수를 사용해 구현한 메모리 구조와 비슷하다.)
         - 26 (화) - malloc, new로 생성되어지는 메모리 구조. dynamic memory alloc은 변수(클래스)앞 1WORD(32비스에서 4바이트) 앞에 정보(크기, 위치, 사용)를 저장한다.
         - 26 (화) - 구조체의 크기는 4바이트 배수로 할당되어진다. 이 이유는 32bit체제에서는 4바이트(1WORD)씩 운용하는것이 효율이 좋기 때이다.
         - 26 (화) - 이러한 CPU 구조를 무시하고 원래 크기를 사용하려면 pragma 전처리기로 !!!구조체 선언 사이에!!! pack(1)을 해준다. 1바이트가 1WORD란 뜻이다. 구조체 선언의 끝에는 unpack을 써준다.
         23 (토) - Compilers(정말... 정말 이 책 못보겠다. 어렵다. 미치겠다. 같은 부분 3번 읽고서 반정도 이해 되니 이거 무슨 왜 배워야되는지 이유를 알아야 머리에 들어오는데 그냥 무지막지하게 이론만 쓰다니.), Socket/System Programming in C (지난주 복습, 고급입출력, Broadcast/Multicast)
         21 (목) - Compilers, C++공부 시작(C++자체가 쉬워 7일만에 끝낼거 같음. -> C언어를 안다고 가정하고 C++를 가르쳐 주는 책을 보기 시작.), 기본법, namespace, function overloading, class 추상화, 은닉성까지 완벽하게 정리.
         - 20 (수) - C언어 책 6권 복습 끝냄. (안녕하세요 터보 C, Teach Yourself C, C언어 입 중,고급, C언어 펀더멘탈, 쉽게 배우는 C프로그래밍 테크닉)
         16 (토) - Socket/System Programming in C (Signal 처리와 Process간의 Pipe 사용법(IPC)), 유리수, 카네기 행복론.
         나만 제외하고 대학이 그러니... 내 인생이 나를 끌어당기기 시작한다. 여기에 하루하루 내가 공부한 내용을 적으려한다.
  • 정규표현식/스터디/문자하나찾기/예제 . . . . 15 matches
         == 제 - 이승한 ==
         1. t로 시작해서 .txt 로 끝나는 자열
         4. 두번째 글자가 p가되는 1300번대 자열을 찾는다.
         1. t.*\.txt : t로 시작 .* 0개 이상의 자 \.txt '.'을 이스케이프 시켜 보통 자로 만듬 그리고 txt랑 붙어있음
         1번
         2번
         3번
         4번
         == 제 - 김상호 ==
         이 자열에서 정규표현식
         == 제 - 김준석 ==
         1. 다음 장에서 특수자 .*+&[]% 만을 찾아보아라.
  • 졸업논문 . . . . 15 matches
         졸업논이란 도전과제를 수행하는 동안 써먹는 위키페이지
         학위를 수여할만한 자격을 가졌는지 판단하는 근거가 되는 논이다.
          * [졸업논/요약본] - 국/영
          * [졸업논/목차] - 글/그림/표
          * [졸업논/서론] - 최소 1쪽
          * [졸업논/본론] - 내용을 보충하고 나눌 것
          * [졸업논/결론] - 최소 1쪽
          * [졸업논/참고헌] - 참고 헌의 열거 순서는 인용한 순서 혹은 첫 번째 저자의 이름의 사전순으로
          * 참고 헌을 인용할 시에는 해당 참고 헌의 번호를 꺾쇠 괄호(bracket)안에 명시한다. (예: [1])
         [논잘쓰는방법]( 움베르트 에코) 을 이전에 읽었었다. 하지만 지금 상황에는 적용할 수 없잖아!
  • 지금그때2005/리허설 . . . . 15 matches
         작년 지금그때2004 에서는 패널과 자유롭게 질하고 대답할수 있는 자리가 마련되었었는데요.
         이번에는 조금 바꾸어 누구나 질을 등록 할수 있고, 모든 사람들은 자유롭게 대답할수 있는 질릴레이 시간을 준비하였습니다. 꺼려하시지 마시고 언제든 앞에 나오셔서 질을 등록하시고 누구나 적극적으로 대답해 주시기 바랍니다.
         === 첫 행사 질릴레이 ===
         앞에는 저희가 생각한 이번시간에는 최소한 이런 이야기는 꼭 나왔으면 한다는 이야기들을 적어 놓았습니다. 그 이외에 또 질하고 싶으신 내용이 있으시다면 언제든 나오셔서 질을 등록하실수 있습니다. 대답에 집중하는 사이에 어느순간 질을 까먹어 버리는 경우도 많으니까요.
         또 질은 누군가를 향해 하실수도 있고, 전체를 향해 질 하실수도 있습니다.
         또 여기 모인 사람이 너무 많기 때에 자신에게 질이 안 돌아올까 걱정하실지도 모르겠는데요. 그 부분을 보완하고자 누구든 질을 하고 싶으신 분은 질권을 받아오실 수 있습니다.
         질 레스토랑
  • 지금그때2005/자료집 . . . . 15 matches
         질 레스토랑
          6:30~ 질 레스토랑 운영
         == 질 레스토랑 ==
          * 메뉴판(질등록지) - 각 손님에게 나눠드립니다. 지금 받으신 이 종이에요. 이것 저것 적으실 수 있답니다.
          * 개인 질권(아이템) - 정말 질하고 싶은 경우 개인당 1회로 질할 수 있는 기회를 드립니다.
          * 질 등록 - 메뉴판에 없는 질이 하고 싶은 경우 포스트 잇에 적어주세요. 질이 적힌 포스트 잇은 웨이터가 수거해 드립니다. 새로운 질이 등록된 경우 주사위를 굴리기 전 웨이터가 모두에게 질을 알려주고, 원하는 사람은 질을 자기의 메뉴판에 추가하세요.
          * 입막음 - 한 질에 대해 7분이 넘는 대답을 하는 경우 매니저에게 중지 당할 수 있습니다. 다음 질을 위해 양해해 주세요.
  • 지금그때2006/홍보 . . . . 15 matches
         || 동네트워크 || 2 || 2 ||
         || 동네트워크, 학회게시판 || . || 1 ||
         || 동 네트워크 시간,장소 알림 || 3 || 1 ||
         일부 제외하고 저학번이 주도하여 홍보한다.
         == 동네트워크 ==
         구 23일까지 구 각자 작성해 오기.
         구를 정한 후 각 학회홈페이지에 홍보 글을 올린다.
         == 입소 ==
         || 이름 || 이메일 || 전화 || 자 ||
         == 이메일, 전화, 자 세트 ==
         이메일을 보낸 후 답장 받으면 전화하고 행사 전에 다시 자를 보낸다.
         이메일 구 목요일 각자 작성한 구중 가장 잘쓴 구 택.
  • 3N+1Problem . . . . 14 matches
         학교에서 무료함을 달래기 위해 acm programming contest 기출제를 풀어보는데, ToyProblems 에서도 다룰만한 쉬운 제가 있기에 이렇게 소개합니다. [http://acm.uva.es/p/v1/100.html 원보기]
         === 이 제는 ===
         CS에서 등장하는 제의 종류는 여러가지가 있는데 (예를 들어, NP, Unsolvable, Recursive...) 이 제는 '입력에 대해 출력이 어떻게 나올지 모르는' 이라고 분류할만한 것에 대한 분석을 하는 것이다. (해석이 애매하군요; )
         만약 입력으로 22가 주어졌을때 출력값은 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 가 될 것이다. 이 알고리즘은 간단해 보이지만 n의 값이 1로 되어 알고리즘이 종료될지는 모르는 일이다. 하지만 이는 0과 1000000 사이의 숫자, 아니 이보다 더 큰 숫자에 대해서도 n의 값이 1이 된다고 증명되었다.
          || 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(i=1,j=999999 기준 4초 통과) ||
          || [보창] || C++ || ? || [3N+1Problem/보창] || X ||
         === 제 2탄 ===
          || 작성자 || 사용언어 || 개발(수정)시간 || 코드 ||
         [제분류]
  • 5인용C++스터디/멀티쓰레드 . . . . 14 matches
          * 멀티쓰레드를 어떻게 사용하나?
          * 크리티컬섹션을 어떻게 사용하나?
         이렇게 작업을 함으로써 작업을 멀티 테스킹으로 할수 있다라는 의미입니다. 이때 하나의 작업 단위들을 스레드라고 합니다. "그럼 프로그램 내부에 모든 작업은 스레드로 나누어 지겠네요?" 라는 질이 있을 것 같은데 그렇지는 않습니다. 스레드란 독립적인 작업 단위입니다. 즉 다른것에 구애 받지않는 자체적인 작업 단위를 스레드라고 합니다. 윈도에서 워드 프로세서를 띄우고 대용량의 데이터를 로드하여 프린터로 출력한다고 가정을 합시다. 프린팅 작업 도중에 워드프로세서를 사용할수 있습니까? 물론 윈도 95에서는 프린터는 프린터 대로 작동을 하고 워드 프로세서는 워드 프로세서대로 작업을 할수 있습니다. 여기에 인터넷을 통해서 큰 데이터를 다운 받는다고 가정을 합시다. 프린터하고 원드프로세서로 새로운 내용을 입력하면서 인터넷을 통해서 데이터를 다운 받을수 있습니다? 물론 할수 있습니다. 여기에서 원드프로세서의 입력작업이 하나의 스레드 프린팅 작업이 하나의 스레드 또한 다운 로드가 또하나의 스레드입니다. 실지로 윈도 98의 내부적인 모든 프로그램의 동작은 멀티 스레드로 설정되어 있습니다. 그렇기 때에 다중 작업을 할수 있는 것입니다.
         프로그램 작성하다 보면 프로그램 수행도중 현재 프로그램은 다른 작업을 수행하면서 또하나의 작업을 수행하고자 할 때가 있을 것입니다. 이때 사용하는 것이 바로 스레드 입니다. 작업을 함수로 프로그래밍을 하고 난후에 이것을 스레드로 형태로 실행하면 됩니다
         프로그램이 수행될 때 한 개의 데이터를 동시에 두 개의 프로그램이 핸들링할경우가 있습니다. 예를 들어 (a)라는 파일에 A프로그램은 데이터를 입력,수정하고 B라는 데이터는 데이터를 검색합니다. B가 읽고자 하는 시점에서 A라는 프로그램이 그데이터를 수정하고자 한다면 여기에서 제가 발생됩니다. A가 수정한 후에 B가 읽게 할것인가? 아니면 B가 읽고 난후에 A라는 데이터가 수정을 하게 할것인가? 이런 제점은 동시성을 가진 운영체제에서 해결해야할 중요한 항목입니다.
         A스레드와 B스레드가 동시에 진행하다가 특정 사건이 발생되었을 경우 이때 B스레드는 C라는 결과가 오기 전까지는 스레드 동작을 중지 해야 합니다. 만일 중지하지 않고 현재의 스레드를 계속적으로 진행을 시킨다면 큰 제점이 나타날것입니다. B의 상태와 C가 생각하는 B의 상태가 같아야 합니다. 이렇게 같게 맟추는 것을 동기화 라고 합니다.
         이중 CSyncObject는 CSemaphore, CMutex, CCriticalSection, CEvent의 상위 클래스로서 직접 사용하지는 않습니다.
         동기화는 멀티 쓰레드 프로그래밍에서 고전적인 제이다.
         만약 모든 철학자가 오른쪽의 스틱을 잡고 있고 왼쪽의 스틱을 기다린다면 제가 발생한다. 그들은 아무도 왼쪽 스틱을 얻을 수 없으므로 모두 굶어죽게 된다. 물론 철학자들은 모두 사기를 칠 줄 모르며 먹는 양도 모두 같다고 가정한다. 이런 상태를 데 드락이라고 한다. 데드락을 방지하려면 어떻게 해야 할까? 이 애플릿에서는 다섯 개의 스틱 중 하나를 표시하여 표시된 스틱을 잡을 경우 반드시 내려놓고 다른 스틱을 시도하도록 하고 있다. 이렇게 하면 위와 같은 데드락 상황이 발생하기 전에 표시된 스 틱의 왼쪽 철학자는 오른쪽의 표시된 스틱을 내려놓고 왼쪽 스틱을 기다리게 되므로 표시된 스틱의 오른쪽 철학자가 왼쪽 스틱을 얻을 수 있게 된다.
         반복적으로 동작하는 두 개 이상의 스레드가 하나의 리소스를 공유하려고 할 때, 동시에 리소스에 접근하지 못하도록 하기 위하여 크리티칼 섹션을 사용한다.
         OS에서 공유자원이나 특정코드가 수행되는 도중에 다른 프로세스에 의해 interrupt 되는것을 방지하기 위해 크리티컬 섹션을 사용하게 된다. 이는 윈도우즈 프로그래밍에서 스레드관련 처리를 해 줄 때에도 나오는 용어이다.
  • 5인용C++스터디/에디트박스와콤보박스 . . . . 14 matches
          * 다이얼로그 박스에서 만들고 사용하는 방법을 발표하면 안됨!
          에디트 컨트롤은 자열을 보여주며 편집할 수 있도록 해주는 컨트롤이다. 주로 사용자에게 자열을 입력받을 때 사용된다.
         이 멤버함수들 중에서 Create 함수를 사용하면 대화상자 템플리트에 에디트를 배치하지 않고도 실행중에 에디트 컨트롤을 생성할 수 있다.
          예제에서는 (10, 10, 300, 35) 사각 영역에 에디트를 생성하였으며 통지 메시지를 사용할 것이므로 IDC_MYEDIT라는 매크로 상수를 1000으로 정의하여 ID로 주었다. 여기서 1000이라는 ID는 임의로 준 것이다.
          세 번째로 메시지 핸들러 함수 OnChangeEdit1 함수를 작성한다. 함수의 본체 코드는 물론이고 함수명까지 직접 입력해 주어야 한다. 이 함수는 에디트 컨트롤의 자열을 읽어 들이는 함수이다.
          예제에서 에디트의 EN_CHANGE 통지 메시지를 사용해 보았다. 통지 메시지란 컨트롤에 어떤 변화가 발생했을 때 부모 윈도우에게 자신의 변화를 알리기 위해 보내는 메시지를 말한다.
         EN_CHANGE / 에디트의 자열이 변경되었다.
         EN_HSCROLL / 사용자가 수평스크롤 바를 클릭하였다.
         EN_VSCROLL / 사용자가 수직스크롤 바를 클릭하였다.
         EN_MAXTEXT / 지정한 자열 길이를 초과하였다.
         EN_UPDATE / 자열이 변경되기 직전이다.
  • Chapter I - Sample Code . . . . 14 matches
          이런저런 소개들. (컴파일러는 무엇을 사용한다. 머 어쩌구저쩌구.)
          프로세서마다 각각 가지고 있는 특성이 다르기 때에 우리가 포팅하려는 타겟 CPU에 맞춰 여러가지 글로벌 변수를 선언해줘야 한다. (글로벌 변수라기보다는 키워드 재정의라고 말하는게 더 맞겠다) [[BR]]
          각각의 프로세서마다 int 형 데이터의 크기 char 형 데이터의 크기.. 등등이 다르기 때에 다음과 같은 식으로 재정의를 해준다.
          OS 를 작성하다보면 전역변수가 필요한 경우가 있다. 전역변수는 어떻게 선언하는가? extern 키워드를 사용하면 된다. 하지만 uCOS-II 에서는 extern 키워드마저 #define 해서 다른 매크로로 사용한다.
          OS에서 공유자원이나 특정코드가 수행되는 도중에 다른 프로세스에 의해 interrupt 되는것을 방지하기 위해 크리티컬 섹션을 사용하게 된다. 이는 윈도우즈 프로그래밍에서 스레드관련 처리를 해 줄 때에도 나오는 용어이다. uCOS-II에서는 단순히 매크로함수를 이용해 크리티컬섹션에 들어오기와 나오기를 한다. 매크로함수가 하는 일은 단순히 인터럽트를 무효화, 유효화 시키는것 뿐이다.
          // 의해 모든 레지스터의 내용을 스택에 PUSH하는 명령임. 반대는 POPF로 PUSHF의 역순으로 스택에서 꺼낸 데이터로 각각의 // 레지스터를 변경 시킴. 항상 이 두 명령은 한쌍이 되어 사용 되어야 한다.
          디스플레이는 자기반으로 한다. x, y값을 이용해서 아스키자와 특수자를 출력할 수 있다. 1글자 출력에 사용되는 바이트수는 2이다. 1바이트는 글자이고, 나머지 1바이트는 포그라운드/백그라운드 컬러이다. (상위 4비트가 백그라운드이고 하위 4비트가 백그라운드 컬러이다)
          수행시간 측정은 한 task 의 수행시간을 측정하기 위해서 한다. (당연한거 아냐?). 이 측정은 PC의 82C52 타이머 2번을 통해 수행된다. 수행시간 측정을 위한 함수로는 PC_ElapsedStart()와 PC_ElapsedStop()이 있다. 하지만 이 두 함수를 사용하기 전에 PC_ElapsedInit()를 호출해야한다. 이 함수는 두 함수와 관련된 오버헤드를 측정하는데 사용된다. 이렇게 하면 PC_ElapsedStop 함수에 의해 수행시간이 리턴된다(마이크로세컨드). 이 두 함수는 모두 리엔터런트(주 : 몇 개의 프로그램이 동시에 하나의 task나 subroutine을 공유하여 쓰는 것에 대해 말함, from 한컴사전) 하지 않아야한다. 다음은 PC_DispChar()함수의 측정시간을 구하는 예이다.
          uCOS-II는 여타의 DOS Application 과 비슷하다. 다른말로는 uCOS-II의 코드는 main 함수에서부터 시작한다. uCOS-II는 멀티태스킹과 각 task 마다 고유의 스택을 할당하기 때에, uCOS-II를 구동시키려면 이전 DOS의 상태를 저장시켜야하고, uCOS-II의 구동이 종료되면서 저장된 상태를 불러와 DOS수행을 계속하여야 한다. 도스의 상태를 저장하는 함수는 PC_DosSaveReturn()이고 저장된 DOS의 상태를 불러오는것은 PC_DOSReturn() 함수이다. PC.C 파일에는 ANSI C 함수인 setjmp()함수와 longjmp()함수를 서로 연관시켜서 도스의 상태를 저장시키고, 불러온다. 이 함수는 Borland C++ 컴파일러 라이브러리를 비롯한 여타의 컴파일러 라이브러리에서 제공한다.[[BR]]
  • CheckTheCheck . . . . 14 matches
         [http://online-judge.uva.es/p/v101/10196.html 원보기]
         체스판 설정을 읽어서 킹이 공격받고 있는지(체크 상태인지)확인하는 일을 해야 한다. 상대방의 다음 수에 의해 킹이 죽을 수 있는 위치에 있으면 킹이 체크 상태가 된다. 흰 말은 대자로, 검은 말은 소자로 표시된다. 흰 편은 항상 판의 아래쪽에, 검은 편은 판의 위쪽에 자리잡는다.
         다른 말을 건너뛸 수 있는 것은 나이트밖에 없다는 것을 꼭 기억해두자. 폰의 움직임은 어느 편인가에 따라 다르다. 검은 폰이면 아래쪽 대각선 방향으로, 흰색 폰이면 위쪽 대각선 방향으로 한 칸만 움직일 수 있다. 위에 있는 예는 소자 "p"로 표시된 검은 폰의 움직임을 나타낸 것이다. 방금 "움직인다"라고 표현한 것은 폰이 상대방 말을 잡을 수 있는 경우를 의미한다.
         입력에는 임의 개수의 체스판 배치가 들어있을 수 있으며 각 판은 각각 여덟 개 자로 구성된 여덟 줄로 구성된다. "."은 빈 칸을 의미하며 위에서 정의했듯이 각 말을 의미하는 대자 또는 소자가 입력된다. 틀린 자는 없으며 두 킹이 모두 체크를 당하는 배치는 입력되지 않는다. "." 자만으로 구성된 비어있는 체스판이 나올 때까지 입력을 읽어야 하며 비어있는 체스판은 처리하지 않는다. 각 체스판 배치 사이에는 빈 줄이 하나씩 들어간다. 비어있는 판을 제외한 모든 판에는 정확하게 하나씩의 흰 킹과 검은 킹이 들어있다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || . || [CheckTheCheck/보창] ||
         [제분류]
  • KDP_토론 . . . . 14 matches
          * 로그인의 실명화 - UserPreferences 에 자신의 이름과 password를 등록시키면 자신의 SessionID가 붙는 MoinMoin 바로가기를 얻을 수 있을것임. 그 링크를 즐겨찾기에 놓고 사용하면 자동으로 로그인이 된 상태로 모인모인에 접속가능.
          * 체의 통일 - 일단은 '~다' 체로 통일. (중간 딴지가 없으므로 암묵적 동의라 생각함. 이견있으신 분들은 태클을..~)
          * GoF 책의 이미지는 GoF 화일에 있는 이미지를 사용하세요.
         === 책 번역 관련 저작권 제에 관하여 ===
         JStorm 계셨던 분의 말씀을 들어보니, 서적의 번역과 그에 따른 저작권 제, 출판 제가 상당히 머리가 아프더군. 우리가 완전 번역을 하면 저작권에 걸리는 거고, 완전 번역시에 그걸 출판을 모색할 경우 상당히 힘들것으로 보인다. 이유는 우리가 학부생이고, 전가라고 볼수 없는 위치에 있기 때에 출판사 측에서는 그런 점을 지적한다. 그래서 많은 책에는 유명한 사람들의 감수가 들어 있다.
         출판과 라이선스에 관련한 작업이 많고 학부생이 타진하기에는 너무 시간을 많이 빼앗기며, 그것은 공부 차원을 떠난 일이다. 이렇게 머리 아플바에야 완전 번역을 지향하는 것보다 강의 노트식 정리를 지향하고(비록 내용이 완전 번역일지라도) 원칙적 외부 반출을 금지하며, 내부 자료로 쓰도록 명시하여 라이선스 제를 벗어나도록 하자는게 내 생각이고, 석천도 기본적인 동의를 한것으로 알고 있다. 그럼 의견들좀 타진 --상민
         소모임내 스터디를 위한 서번역은 어디든지 하는 곳들이 있다고 할때.. 단, 우리의 제는 인터넷에 그 서들이 노출되어있다는 점. 그래서 공개되어있다는 점이 되겠지. 하지만, 의도적인 저작권 위반이 아닌이상, 그리고 명시적으로 우리의 목적을 밝히는 선이면 추후에 제가 발생하더라도 바로 소송걸릴일은 없을거라 생각. 그리고, 도큐먼트의 효율화를 위해서 처음엔 번역인 서들도 요약화되어질 것이라 생각중. (어차피 1차 번역은 소위 '와우북식 번역책 욕하기' 에 딱 걸릴 수준인지라. --;) -- 석천
  • ProgrammingPearls/Column1 . . . . 14 matches
         대부분의 언어에는 소트가 이미 구현되어 있다. 그런데 꼭 새로운 나만의 소트를 만들어야 될때가 있다. 레코드가 한 천만개쯤 된다고 하자.이것을 우리가 알고 있는 버블소트, 퀵소트 같은 것으로 하기에는 메모리가 많이 든다. 32bit(4byte)의 정수라고 한다면, 40메가바이트가 필요하다. 하지만 어떤 작업을 할때에, 우리가 소트에 할당할 수 있는 공간은 1메가 남짓이라고 가정하자. 시간이 많이 걸려서도 안된다. 어떻게 해야 할 것인가? 이 레코드들은 7자리 전화번호이기 때에 같은 것이 없다고 한다.
          * 입력 : 많아 봐야 n개의 정수. 각각의 n은 천만보다 작다. 똑같은 숫자가 두번이상 나오면 안된다. 그 숫자랑 관련된 데이터가 없다.
          * 출력 : 오름차순으로 정렬된 숫자
          * 제한 : 메모리를 1메가 정도밖에 사용할 수 없음. 디스크 공간 넉넉함. 수행시간이 수분을 넘으면 안됨. 10초 정도면 괜찮음.
         첨에는 머지 소트를 했었는데 버렸다. 다른 방법으로는, 각각의 숫자를 4byte로 표현하면 현재 메모리에 250,000개를 담을 수 있다. 250000개를 소트하고, 또 250,000개 읽고... 이걸 40번 하는 거다. 머지 소트는 중간 작업 파일에의 엑세스가 자주 일어나고, 두번째 방법은 입력을 40번을 받아야 한다는게 제다. 이것 두가지의 장점을 잘 조합해서 입력은 한번, 중간 작업 파일이 없게는 할 수 없을까?
         비트맵, 혹은 비트 벡터라 불리우는 방법이 유용할듯 싶다. 예를 들어 맥시멈 10미만의 숫자라 할때에, {1,2,3,5,8}을 표현해 보면, (0 1 1 1 0 1 0 0 1 1)이 된다. 있으면 1, 없으면 0인 것이다. 한 숫자당 1비트만 할당을 해서, 그것의 인덱스로 처리를 하는 것이다. 앞에서도 말했듯이, 미니멈과 맥시멈의 너비가 작고, 같은 숫자가 없으며, 관련된 데이터가 없다는 측면에서 이 방법을 쓸 수 있는 것이다. 대강의 코드는 다음과 같다.
         이것의 수행시간은 Θ(n)이다. 이 챕터는 제를 주의 깊게 분석하다 보면, 가끔 엄청난 이득을 가져다 줄때가 있다는 교훈을 주고 있다. 제 정의는 제 풀이의 90프로다. 일반적으로 많은 공간을 사용하면 적은 시간이 소요된다고 한다. 그런데 비트맵 소트는 시간도 줄고, 공간도 줄어들었따. 적은 데이터를 다루는 것은, 그것을 수행하는 데에 더 적은 시간이 든다는 것이다. 그리고 데이터를 디스크에 두기 보다는 메모리 상에 두는 것이 디스크 액세스 같은 시간 걸리는 일을 줄일 수가 있는 것이다. 프로그램을 간단하게 짜자. 유지보수도 쉽고, 견고할 것이다.
  • ProjectPrometheus/BugReport . . . . 14 matches
          * notice변경 사항에 관하여, DB에 넣는 방향으로 바꾸던지(게시판을 하던지), file path 비의존적으로 바꾸어야 한다. 현재 file path제로 직접 고쳐주어야 하는 상황이고, ant 로 배포시 해당 file의 쓰기 읽기 권한 제로 제가 발생한다. --["neocoin"]
          * ant build를 상민, 석천 두 계정 사이에 아무런 차이 없이 가능하도록 조정할수 있어야 한다. 제는 내 계정이 이상하다는것 --["neocoin"]
          * 타 휴대폰 사이트의 SMS 페이지들과의 연동기능 (011, 016 등 자서비스 제공페이지에 자동 접속 & 예약한 책들 등에 대해 정보 제공)
          * [[HTML(<strike>ZeroPageServer 에 릴리즈 한 이후 View Book 이 두번 이상 안되는 제</strike>)]]
          * Servlet 생명주기에 대해 제대로 알지 못함. 서비스에서의 success Fleld 초기화가 안된 제가 원인. 해결.
          * 제목의 길이 제일까?
          * {{{~cpp RecommendList}}} 가 깨지는
          * 책 번호 357647 가 BtoBRel에는 들어 있고, book에는 없다. 이 한권때에 현재의 에러가 발생한다. 간단히 없에면 되겠지만, 정체를 알고 싶다. --["상민"]
          * 현재 제에 노출되어 있으나, 현재까지는 제 없이 사용해왔다. 점검이 필요하다.
          * 모든 connection Pooling 관리자에게 이런 제사항은 노출되어 있으며, bitmechanic 도 예외는 아니다. ;;
  • Refactoring/BadSmellsInCode . . . . 14 matches
         여기서 딜레마가 온다. 어떻게 인스턴스 변수를 삭제하거나 클래스 계증구조를 만드는가를 표현하는 것은 쉽다. 그건 사소한 제들이다. 하지만 언제 이러한 것들을 해야 할 것인지 표현하는 것은 쉽지 않다. 나는 (여기서의 I는 Martin Fowler) 프로그래밍 미학이라는 모호한 표현으로 얼버무리지 않고 좀 더 확실한 것을 원했다.
         내가 이 제로 Kent Beck 을 방했을 때 그는 "언제" 를 설명하기 위해서 "Smell" 이라는 표현을 사용했다. 우리는 많은 코드들을 보았고, 그것들을 보면서 Refactoring이 적용가능한 어떤 구조를 발견했다.
         여기에서 우리는 Refactoring이 적용가능한 아주 정확한 척도를 제공하려고는 하지 않을 것이다. 경험상, 어떠한 측정도구들도 숙련된 인간의 직관의 경쟁상대가 될 수는 없었다. 우리가 하려는 것은 Refactoring에 의해 해결될 수 있는 제들이 있는 몇몇 부분을 지적하려는 것이다.
          * ExtractMethod 하는중 parameter를 많이 넘겨야 하거나, 임시변수를 많이 사용하게 되는 경우 - ReplaceTempWithQuery, IntroduceParameterObject, PreserveWholeObject, ReplaceMethodWithMethodObject
          * 조건 & 반복 - DecomposeConditional
          * 꼭 항상 사용되지는 않는 인스턴스 변수들 - ExtractClass, ExtractSubclass
         Parameter 인자가 많은 함수. 이해하기 힘들고, 사용하기 어렵다.
         길이가 긴 Switch-Case .
          * 별로 사용하지 않는 subclass들 - CollapseHierarchy
          * 사용하지 않는 parameter들을 가진 메소드 - RemoveParameter
         서브클래스가 부모의 behavior는 재사용하나 부모의 인터페이스를 지원하기를 원하지는 않을 때.
         나쁜 냄새를 가리기 위한 방향제로 사용되는 주석. --;
  • ReplaceTempWithQuery . . . . 14 matches
         '''어떤 수식의 결과값을 저장하기 위해서 임시변수를 사용하고 있다면,''' [[BR]]
         수식을 뽑아내서 메소드로 만들고, 임시변수를 참조하는 곳을 찾아 모두 메소드 호출로 바꾼다. 새로 만든 메소드는 다른 메소드에서도 사용될 수 있다.
         위의 예는 매우 극단적으로 보일지도 모른다. 하지만 위의 예를 매우 복잡한 시스템의 일부분이라 가정하고 생각해보길 바란다. '''임시변수'''를 사용하는 코드는 해당 블럭에서만 접근 가능하기 때에, 길어지는 성향이 있다. 이러한 임시변수를 '''질의 메소드'''(query method)로 바꿈으로써 어느곳에서라도, 임시변수에서 사용될 정보를 얻을 수 있고, 클래스 코드는 더 깔끔해진다.
         프로그래밍 경력이 있는 사람일수록, 이러한 사실에는 동의를 하지만 '''퍼포먼스'''를 우려해서 꺼리는 경향이 있다. '' '동일한 연산을 왜 이렇게 수행하는거지?' '', '' '이러한 블럭은 지역적이기 때에 임시 변수 사용제가 되지 않아!' ''.
         그러한 우려는 ' '''단지 그럴지도 모른다.''' ' 라는 가정일 뿐이다. 누구도 실제로 '''프로파일링'''(profiling)해보기 전까지는 알 수 없다. 실제로 제가 되는지 아닌지는.
         어느정도 수준에 오른 프로그래머일수록, 반복적으로 사용되는 값에 대해 임시변수를 사용하고 이러한 최적화(?)를 나름대로 수행하려 한다. 그러나, 이러한 미시적인 최적화는 결과적으로 거시적 최적화의 기회를 박탈하게 한다. 심지어 최악의 경우라도 임시변수를 다시 넣는 일은 쉽다(물론, 프로파일링 ' '''결과''' ', ' '''실제로''' ' 퍼포먼스에 심각한 제를 주는 경우라면).
         이러한 방법을 사용하면서 부가적으로 얻을 수 있는 장점이 하나 더 있다. 실제로 도움이 될지 안될지 모르는 최적화를 하는데 쏟는 시간을 절약할 수 있다. 임시변수 사용뿐 아니라 이러한 미세한 부분의 조정은, 해놓고 보면 별로 위대해보이지 않는 일을, 할때는 알지 못하고 결국 시간은 낭비한게 된다. 돌이켜보면 나의 이러한 노력이 제대로 효과가 있었는지도 모른다. '''왜?''' 프로파일링 해보지 않았으니까. 단순히 ''시스템을 더 빨리 돌릴 수 '''있을지도''' 모른다''는 우려에서 작성한 것이었으니까. [http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork DoTheSimplestThingThatCouldPossiblyWork]
  • SoJu/숙제제출 . . . . 14 matches
          printf("\n보고싶은 구구단의 숫자를 입력하시오.\n\n");
          printf("\n이 프로그램은 구구단 프로그램입니다. 1~9까지의 숫자중 하나를 입력하세요.\n\n");
         //아닐경우에는 다시 숫자를 입력 받는 프로그램입니다.
          int i; //구구단의 뒷쪽숫자입니다.
          int j; //구구단의 앞쪽숫자입니다.
          if ( j>=1 ) //입력받은 숫자가 1이상인지를 확인합니다.
          if ( j<=9 ) //입력받은 숫자가 9이하인지를 확인합니다.
          for (i=1;i<=9;i++) //1-9까지 숫자를 증가시키면서, 구구단을 출력합니다.
          printf ("숫자가 너무 큽니다. 1-9사이의 정수를 입력해주세요~\n"); //입력받은 숫자가 9초과일경우의 오류메시지를 출력합니다.
          printf ("숫자가 너무 작습니다. 1-9사이의 정수를 입력해주세요~\n"); //입력받은 숫자가 1미만일경우의 오류메시지를 출력합니다.
          printf("숫자를 입력하세요 : ");
          printf("몇단을 출력할지 숫자를 입력하시오: ");
  • StringOfCPlusPlus/영동 . . . . 14 matches
          void str_reverse(); //자열 뒤집기
          void str_count_same_char(); //같은 자를 찾기
          // +연산자 재정의해서 자열 합치기
          // <<연산자 재정의해서 자열 출력하기
          cout<<"자열의 길이는 "<<count<<"이다."<<endl;
          cout<<"검색할 자를 쓰시오: ";
          cout<<input_char<<"는 자열 안에 "<<count<<"개 있다."<<endl;
          cout<<"1. 자열 길이를 알아내는 기능"<<endl;
          cout<<"2. 자열을 거꾸로 만들어 주는 기능"<<endl;
          cout<<"3. 찾고자 하는 자의 갯수를 알려 주는 기능"<<endl;
          cout<<"4. 자열에 있는 여백을 지워주는 기능"<<endl;
          cout<<"5. + 연산자를 재정의 하여 자열을 합치기"<<endl;
          cout<<"6. <<연산자를 재정의하여 자열 출력하기"<<endl;
          cout<<"사용할 메뉴의 번호는?(7을 누르면 종료): ";
  • YouNeedToLogin . . . . 14 matches
          * 사용에 번거롭고 귀찮은 절차가 생긴다.
          * 일부의 사용자에게 틀속에 있다는 느낌을 준다.
         ["상민"]은 로그인이 없었으면 좋겠다. 익명으로도 누군가 고칠수 있으면 좋겠다. http://c2.com 같이 로그인 하든 안하든 서를 수정하는 편이 편한면에서 좋을것 같다. 로그인은 배경화면이나, css 의 개인화 처럼, 편의성을 제공하는 형태로 존재하는 선택지의 상태로 두어으면 좋겠다.
          ''제가 페이지수정에 로그인 의무화를 주장하는 가장 큰 이유는 보기좋고 편리한 RecentChanges 입니다. 로그인이 귀찮은건 사실입니다만 보다 잘 정리된 ZeroWiki 를 사용하고 싶습니다.'' --["이덕준"]
          ''ZeroWiki는 아무나 어떠한 제한없이 로그인할 수 있습니다. 전 후자의 경우는 위키 초보자가 저지르는 실수라고 생각합니다. 로그인을 할수 있는 사용자는 그런 실수를 하지 않으리라 봅니다. 그리고 다시 말씀드리지만 그러한 작은 불편 때에 YouNeedToLogin을 주장하는 것은 아닙니다. --["이덕준"]''
          제가 RecentChanges 에 그렇게 신경이 안쓰이지만, 다른 분들이 신경이 쓰이는것 처럼, 저에게는 작은 불편으로 인식되지 않습니다. 위의 Document 에서 언급한것처럼 틀속에 갖히는 느낌이 가장 싫습니다. 그리고, 처음 오시는 분들이 자유롭게 수정못하는 것에 가장 마음이 걸립니다. 제가 http://c2.com 을 보고 받은 충격을 받고 느낀 자유로움 때에 이런것이 작은 불편보다 더 크게 다가 옵니다. --["neocoin"]
          ''["로그인하기"]는 개인차원의 이익으로 개인이 선택할 제지만, YouNeedToLogin 제는 공공의 이익을 얘기하는 제입니다. 전 ["로그인하기"]를 유도하고자 하는것이 아닙니다. --["이덕준"]''
          저도 사실 로그인을 글쓰기 권한으로 하는 방안에 찬성하는 입장이었는데 생각해보니 위키 사용에 익숙치 않은 사람들에겐 '로그인의 의무화'가 글을 쓰는데 또하나의 벽이 생길지도 모르겠습니다. 위키가 일반 게시판과 다르듯이 일반 싸이트 로그인하듯이 로그인하는 것과 다르다고 생각합니다. --["창섭"]
          id 부분에 대해서 UID 숫자가 아닌 아이디/패스워드 스타일로 UserPreferences 를 패치해야 할듯. (조만간 수정하겠습니다.) --["1002"]
         한 보름 정도만 ZeroWiki를 YouNeedToLogin 모드로 사용해보길 제안합니다. 그 이후에 YouNeedToLogin 모드를 유지할지를 결정했으면 합니다. --["이덕준"]
         그런데.. 보름 정도 YouNeedToLogin 모드로 사용하게 된다면, 로긴을 하지 않았을 때 글을 쓸 수 없다는 거지요? 그건, '로그인 하지 않고 글 쓰는 것' 을 막는 거겠군요. 개인의 자유에 맏겨두지 않고 말이지요. 전 반대합니다. 일단, 싫고, 자유와 가능성을 제한한다는 것이 싫습니다. --["zennith"]
  • neocoin/Log . . . . 14 matches
          * MC - 11/13 9,10 장 연습 제중 몇제 숙제
          * 식품과 건강 - 10/14 비디오 시청감상
          * 책에 대한 기록을 느낌을 적게 기록하고, 기억남는 구의 인용으로 대체하여 보았다.
          * 학과 사회 : 학과 사회
          * 스케줄러를 보면 이번달도 그리 한가한 달은 아니었다. 하지만, 고질적인 제점인 금요일에 헤이해 지는 것을 고쳐야만 한다.
          * 중간고사 때에 정신력, 의욕이 많이 소진된것 같다.
          * 각종 도표나 자료에 한국에 대한 희망적인 소식들로 채워져 나가는 느낌이다. 대선 막바지에 정권 재창출을 위한 언론에 눈가림일까? 아님 정말로 한국이 흑자를 보는 것인가. 중고등학교때 무역 도표에서 몇년째 적자인 나라가 왜 잘 돌아가는지 의을 IMF가 답해 주었는데, 진짜 2만불까지 갈수 있을까.
          * ["OpenGL_Beginner"] : 3월중에 관련 내용을 딱 두번 보았지만, 서화 시킬만한 꺼리는 아니다. 유보 할것이고, 포기하는 만큼 학교 공부를 하자.
          * 3.15일 이후 하루에 신 3가지(전자, 한겨레, 매경or한경-토일제외) 이상 보기를 비교적 잘 지켰다. 이후 유지할 것이다.
          * 작년에 비하여 독서량을 대폭 늘였고, 더 늘여야 될 필요성을 느끼고 있다. 그에 반하여, 해당 정보의 정리 능력에 고민 중이다. 자 해독 능력과 의미론적 정리를 위해서 좀더 효과적인 방법을 찾고 있다. (위키의 정리는 정말 많은 도움이 된다.)
          * 2.19,26 : 영풍 고 - 고작 일개 방송사인 MBC의 캠페인이 도서시장을 흔들수 있다는 현실이 슬프고, 무신론자이며 초등학교때 과학 도서로 고마운, 아이작 아시모프가 자신의 관점으로 성경을 썼다는게 신기했으며, 언제 보고 싶었다. 언제가 가도 느끼는 거지만 바다속에서 보물찾기 힘들다.
  • 권영기/채팅프로그램 . . . . 14 matches
         == 제점 ==
         exit를 쳤을 때, 종료가 제대로 되지 않는 것이 제입니다.
         무한 루프에 관한 제는 해결되었습니다. - 2012. 4. 3
          if(recv(client_socket, buff_rcv, SIZE, 0) <= 0)continue;
          if(recv(client_socket, buff_rcv, SIZE, 0) <= 0)continue;
         이전에 작성했던 일대일 채팅 프로그램의 소스는 구조적으로 제가 많았기 때에 많은 수정이 필요했습니다.
         == 의점 ==
         프로그램을 작성하면서 들었던 의점은 Pthread_join에 관한 것입니다. 서버쪽에서 쓰레드를 쓰면서 Join을 어디다가 놔야할지를 모르겠어서 한번 빼놓고 해보니까 프로그램이 잘 작동이 되었습니다.(우연의 산물 ㅠㅠ)
         하지만 join이 없으면 자원이 해제가 되지 않으니 메모리 누수가 생길 겁니다. 그래서 저는 join을 사용하고 싶은데 어떻게 해야할 지를 모르겠네요.
          * 서버의 경우 listen을 하기위하여 while으로 무한 루프를 돌고 있으므로 조인이 없어도 스레드가 중간에 죽지않습니다. 그리고 main이 return을 하여 프로세스가 종료될 경우 지식스레드도 모두 종료되므로 main 함수 실행 도중에 종료해야하는 경우 이외에는 따로 처리를 하지 않아도됩니다. - [김희성]
         == 제점 ==
          if(recv(client_socket[temp], buff_rcv, SIZE, 0) <= 0)continue;
          if(recv(client_socket, buff_rcv, SIZE, 0) <= 0)continue;
  • 데블스캠프2004/목요일후기 . . . . 14 matches
         김홍선 권정욱 신소영 김수진 보창 박능규 김태훈 최원서 박진영 유주영 하욱주 오후근(저도 참석했다고요-_-많이자긴잤지만..) 조동영(나도 있었는데-_-)
         느낌 : 보안 전가들은 얼마나 많은 밤을 샜을까...
         교훈 : 보안 전가가 되려면 엄청난 노력이 필요하다...ㅡㅡ;;
         마지막연습제풀때 피곤해서 GG 쳤다.-_-;
         [보창]
         희경이는 잠이 많다. C는 최근 나온 언어들에 비해 법들이 쓰기 불편하다. 그리고 데블스캠프는 힘들다고 느꼈다. 프로그래밍의 세계는 무궁무진하다. 여러 언어들을 접해보면 프로그래밍에 도움이 많이 된다는 교훈을 얻었다 --[노수민]
          * '제는 내는 사람이 재밌는 걸 해야한다'는 말을 제대로 실감했다.
          * 자기가 내보고 싶은 제를 만들려고 하니 준비하는 입장에서 의욕을 잃지 않고 열심히 하게 되는 것 같다. --영동
          * 재선이가 찾아본 결과론 char str[]의 경우는 널자를 포함하고 string은 아니기 때이라는데 정말일까요?
          * 신입생들이 푼 연습제페이지는 제가 페이지를 정리해 놓겠습니다. 자잘한 준비를 미리 해야 한다.
          * 도중에 실종되는 사람들이 많았습니다. 도중에 뻗어버리는 사람도 많았고요. 고학번이 없었기 때일까요? -영동
          * 작년에도 페어는 했어요. 끈기란 작년에 [데블스캠프2003]에서 03학번끼리 페어를 이루어서 여러 ToyProblems를 해결했기 때에 [데블스캠프2004/공유비전]에 끈기가 들어갔다고 생각해요. --[Leonardong]
          * 학생들이 얼만큼 알아들었는지 확인하는 법을 알고 싶습니다. 단순히 제를 풀라고 하는 것보다 좋은 방법을 찾자
  • 데블스캠프2008/등자사용법 . . . . 14 matches
         연습
         1 개미 어차피 마찰력때에 당길 수 없다. 끈과 지면의 사이를 통과할 수 있는 개미가 유일하게 통과를~
         지금들어왔는데 제좀 다시 보내주세요
         예은 나중에 재이수하던가 해야겠어
         이론 한번 읽어보고 제를 푸는 방법으로 하면 100점
         재미없는 일은 하기 힘들다 재미있게 공부를 하면 좋은 결과를 얻을 수 있다. 따라서 자기가 재미있게 느끼는 부분을 공부하고 그 부분과 연관된 것들을 공부한다던지 같이 공부한다던지 여러 자료를 사용한다던지 해서 재미있게 만들면 즐겁게 공부하면서 좋은 성과를 얻을 수 있다. - FLATSTAR-
         그런데 처음에 했었을 때랑 두번째로 질 했을 때
         몰입이 잘 되고, 적당히 도전적이고, 재미있고, 교육적이고... 많은 경우 이 표현들은 다 동의어입니다(see also 재미있게 공부하기). 어려운 일을 대면했을 때 "오히려 더 많이 하면서 더 쉽게, 더 빨리 할 수 있는" 길은 없나 자해 보세요. 꼭 프로그래밍에만 적용되는 이야기는 아닐 것입니다.
         예를 들어, 저는 조직의 화, 사람들, 그들의 마인드를 바꾸는 일을 해오고 있는데, 제 컨설팅 경험
         그러면 최초의 제가 더 쉬워질 것이다.
         이게 다 이명박 때입니다
         사실 다 저넘 때이다 -->
         이게 다 이명박 때입니다
         몸에 신을 새기는 게 확실하다.
  • 데블스캠프2012/넷째날/후기 . . . . 14 matches
         = 백트래킹을 이용한 알고리즘 제 해결 =
          * [서영주] - 처음에 gcd나 3n-1제의 풀이 과정에 대한 얘기는 그렇게 어렵지 않았는데 갑자기 사발뒤집기 제 들어가면서 멘탈이... 백트래킹에 대한 얘기 자체를 조금 더 다뤄줬으면 좋았을 것 같았습니다. 이미 아는 사람들한테는 어떨지 모르겠지만 잘 모르는 저학년에게는 비주얼 스튜디오를 이용한 디버깅도 좋은 내용이 됐다고 생각합니다. 나중에 되면 정말 디버깅 지겹게 하게 되니까요 -_-
          * [안혁준] - 역시 알고리즘 제는 만만히 다룰 대상이 아니군요. 따로 스택을 사용하지 않고 원래 존재하는 스택을 이용하는 방법은 생각해보지 않았는데 그리 복잡하지 않은 부분에서 쓸만도 하군요.
          * [김태진] - 음, 진경이 다운 주제로 재밌게 한거 같습니다. 재귀라.. 참 헷깔렸는데 말이죠. 어쩌다보니 3n+1은 다이나믹 프로그래밍으로 제를 풀고있었지만요.. --; 젖소는 거의 다 짜가는데 짜서 accept받아내야겠습니다. + 사실 제가 하고 싶었던 주제였기도 했지만, 저는 다음 기회에 다른 방식으로 해봐야겠네요. ㅋㅋ
          * 오랜만에 만나서 반가웠어요~ 첫째날 후기를 보고 혹시나 했는데 역시나 학교 컴이 제였군요.... - [지원]
          * [김태진] - C#으로 남상형이 GUI를 뚝딱뚝딱 만들던걸 구경하던 기억이 나는데, 그걸 이정도로 쉽게 구현할 수 있다는게 참 놀라웠습니다. ..사실 제 OS 특성상 많이 사용할거같지는 않지만, 아무튼 처음 배워보는건 재미있었어요. + 지원이누나, 직장 일하시는데도 불구하고 시간내주셔서 감사해요~^^
          * [서민관] - 이번 데블스캠프에 fundamental한 내용이 적다고 형진 선배가 얘기를 하셨는데 이번 시간이 그런 fundamental한 부분에 대한 요구를 좀 충족시켜준 시간이 아닌가 싶습니다. 다만 개인적으로 아쉬운 점은 1학년들이 C 언어 사용에 그렇게까지 익숙하지 않은지 파일 입출력 함수들의 사용이 그렇게 익숙하지 않았다는 점이었습니다. 분명 익혀두면 2학기에 도움이 될 기술이라고 생각하는 만큼 좀 아쉽긴 하네요. 그래도 아마 2학기 되면 인터넷에서 찾아가면서 하겠지만.
          * [서영주] - 파일 입출력은 매번 쓸 때마다 찾아서 보고 그러는 것 같습니다. -_- 자바 오래하면 C++이 헷갈리고 C++오래하면 자바가 헷갈리고... 그래도 빼먹을 수 없는 기본적인 중요한 내용인 것 같습니다. 자열 저장, 바이너리 저장에 대한 얘기와 바이너리로 저장된 파일이 실제로 어떻게 되어있는가, 리틀엔디안 빅엔디안 등 뭔가 눈에 보이는 실습이어서 좋았다고 생각합니다. 지금 당장은 모두 기억하기 어렵다고 하더라도 이런 방식으로도 파일을 저장할 수 있고 저런 방식으로도 저장할 수 있다는 사실을 알아두는 것 만으로도 나중에 파일입출력을 해야 할 때 참고가 될거라고 생각합니다.
          * [권영기] - 파일입출력, 정확히 안다고 하기도 그런데 새벽이라서 체력이 방전이 되서 그런지 집중을 제대로 하지 못했습니다. 강의 열심히 해준 선배님한테 죄송하고, 연습을 좀 해야겠네요.
          *[안혁준] - 파일 입출력은 사실 이렇게 하는 경우는 이제는 거희 없지만, 알아두는게 좋은 내용이었습니다. 나중에 다른 언어들의 파일 입출력을 이해하는데 큰도움이 되거든요. 리틀 엔디안과 빅 엔디안의 차이라던가 사용법의 차이같은것이 있지만 사실 모두 C의 출력을 예쁘게 만들어논거에 지나지 않으니까요. 새내기 분들은 함수를 다외우지는 못하더라도 "아! 파일 입출력은 어떤어떤 방식이 있구나"정도는 숙지하는게 좋을 껍니다. 어찌보면 어려운 내용을 잘 이끌어갔다고 봅니다.
  • 데블스캠프2012/셋째날/후기 . . . . 14 matches
          * [김준석] - 날로먹는 APMSetup이 이렇게 유용하게 연속적으로 쓰일줄은 몰랐습니다. 실습은 Naver API 개발자 센터에 자신이 사용할 사이트 주소를 쓰고(안드로이드는 package명으로 인식하는게 재밌었습니다. 많은 사람도 쓸수 있게 서비스 하는군요) 그위에 마크를 올리는게 좋았습니다. 그러고보니 이번엔 코드는 안올려주네요. 역시 javascript와 웹서비스는 대세인듯=ㅂ= 코드임 [데블스캠프2012/셋째날/코드]
          * [박정근] - 늦게와서 제대로 못 들었네요ㅠ 뒷부분에 API를 사용하는 부분을 보니 관심이 생겼습니다. 한번 들여다 봐야겠어요
          * [정진경] - OpenAPI를 재미삼아 쓰기엔 트래픽 제한 때에 과정이 좀 귀찮다고 생각되네요. 책 지식검색과 관련해서 해보고 싶은 프로젝트가 있는데 배워본 김에 시작해볼 수 있길...
          * [김수경] - 그냥 API 사용하는 법에 대한 얘기만 할거라 예상했었는데 소켓부터 시작해서 제법 이론적인 이야기들이 많이 나와서 좋았습니다. 사실 저는 네트워크 수강을 마친 상태라 설명에 불만이 없었지만 새내기 입장에서는 설명이 이해하기 조금 어렵지 않았을까 싶네요. 내용 자체가 익숙하지 않은 것 투성이니까요ㅠㅠㅠ 하지만 마지막에 직접 실습을 해보면서 재미도 느낄 수 있었을 것 같습니다.
          * [엄제경] - 허헛, 웬지 나중에 테스트를 해볼만한 것을 내가 만들 수 있을진 의이지만, 나중에 팀프로젝트를 할 때 쓸만한 좋은 공유방법을 배우게 되어 좋았어요 ㅎ.
          * [서영주] - 왜 이런 환경을 구축해서 사용하는가에 대한건 다른 사람들과 프로젝트를 진행해보지 않았으면 느끼기 어려운 것 같은데 그 필요성을 조금 더 말했어야 했던 것 같습니다. 저학년들은 일단 SVN으로 편하게 프로젝트를 공유할 수 있다는 것 정도만이라도 알아가면 좋겠다고 생각합니다.
          * [안혁준] - 음... CTIP라는 말에 겁을 먹었는데 알고보니 다 알고 있는것이었다는점..정도... 총제적인 환경에 관해서 말한것 같았는데.. 막상 저는 일자리 구하는거 때에 정신이 딴데 가있어서... 죄송...
          * [권순의] - 뭔가 현이 다운 세미나로 시작해서 진규 스럽게 끝났다고 하면 현이한테 수치겠지? ㅋㅋㅋ 농담이고,, Apple과 관련된 것은 역시나 빠삭하게 설명이 나오는군요. OS에서 배운 내용과 연관되어 이해되기 쉬웠습니다. 뭔가 한시간의 퀄리티 있는 강의를 들은 느낌이랄까,, 그렇게 이런 저런 이야기 다 듣고 나서 생각나는 건 좋아하고 즐기면 전가가 되나 봅니다.
          * [서민관] - 새삼 드는 생각이지만 황현은 전적인 지식이나 프레젠테이션 솜씨나 어디 하나 빠질 데가 없는 것 같네요. 몇몇 1학년들이 몰라서 대답하기 곤란했던 개념적인 용어들도 정확하든 정확하지 않든(드립이든) 뚜렷하고 날카롭게 가르고 가는 느낌은 들으면서 상당히 감탄했습니다. Block이라... 개인적으로는 비표준이라는 단어가 정말 찝찝하긴 한데, 표준으로 정립되면 좋겠다는 생각이 듭니다. C에도 함수 객체가 들어오면 좋겠죠.
          * [김민재] - 그 동안 배웠던 자바스크립트 개념을 제대로 활용할 수 있는 기회가 되었습니다. 그 '물리' 때에 힘들었지만, 직접 HTML을 통해 움직이는 그림을 구현하는 것은 정말 재미있었습니다.
          * [이재형] - html도 해보고 script도 짜보고 등등... 변수 위치 때에 멘붕 먹기도 하고, 물리가 약한터라 포물선 운동도 멘붕 먹긴했지만, 정말 신기하고 재밌었습니다.
          * [서영주] - 이번에는 진짜 웹 천국인것 같습니다. 저번에는 웹이 하나도 없던 반동인건가... 게다가 어째 처음부터 짠것처럼 첫 날에 수업한 내용이나 프로그램들을 뒤에서도 계속 써먹으니까 추가적인 이해를 하는데 좋았던 것 같습니다. 물론 제대로 코딩을 하는건 그런 기술 이전의 제인 것 같지만요. 감사합니다.
          * [안혁준] - 땜방용티가 많이 났나요? 사실 canvas는 아무리 생각해도 설계를 잘못한것 같아요. 도무지 API들이 바로바로 떠오르지 않아요. 거기다가 왠지 함수 일것 같은데 자열로 넣어줘야 하는 부분들도 있고요. 딱히 canvas는 아니지만 [https://developer.mozilla.org/ko/demos HTML5을 활용한 예제]를 보면 신선한 느낌일듯 하네요.
          * [김수경] - 대체 뭐가 제인지 사각형이 안 그려져셔 검색을 해보려고 했는데 인터넷이 안돼서 인터넷 잡다가 애니클릭을 까느라 컴퓨터를 재부팅을 했더니 시간이 거의 다 끝나서 아쉬웠습니다. 그런데 재부팅하고 사각형 금방 그려서 더 화남ㅠㅠㅠ
  • 문제풀이/제안 . . . . 14 matches
         = 제풀이/제안 =
          * 제는 일주일에 한제 정도를 푸는것으로 한다.
          * 모든 제는 제목과 함께 [제풀이]페이지에 링크가 모인다.
         === 제 ===
          * 매주 목요일에 아무나 풀어보고 싶은 제를 올립니다.
          * 제 페이지는 "제풀이/회차" 의 형식으로 만들고 이 페이지에 연결을 걸어둔다.
          * 제 수준
          * 하지만 지나치게 높거나 낮은 수준의 제가 업로드 되었을 경우. 의견을 조율하여 새로 올립니다.
          * 제가 출제된 후라면 언제든.
          * "제풀이/회차/답안"로 페이지를 꾸민다.
         [제풀이]
  • 방울뱀스터디/GUI . . . . 14 matches
         anchor=NW # 객체위치를 북서쪽으로 설정. fill옵션을 사용하지않아야 제대로 보일꺼 같은...
         entry.insert(0, '') # 처음부분에 공백 자열을 추가
         자를 표시해줄수 있는 객체(영역)...
         var = IntVar() # 0을 초기값으로 하는 정수 변수 ()속에 숫자를 넣어주면 그값으로 초기화됨.
         스크롤바는 대부분 리스트박스, 캔버스(Canvas)등과 함께 사용된다.
         수평 스크롤바사용시에는 yscrollcommand대신 xscrollcommand, yview대신 xview를 사용..
         다양한 텍스트 서를 표시해줄수 잇다. 다양한 폰트나 이미지등도 가능함. 또 수정도 할수있다.
         END 서의 마지막에 삽입
         숫자는 삽입위치 지정 라인, 열
         window_create대신에 image_create를 이용하여 단추를 서 안에 추가시킬수도 있음.
         textArea.deletet(INSERT) # 현재 자 삭제
         전체 서를 가져다가 contents 변수에 저장한다.
  • 새싹교실/2011/AmazingC . . . . 14 matches
         ==== part2. Hello World 출력하기(printf함수의 사용과 코드 분석하기) ====
          * printf함수를 사용하여 자열을 출력하는 방법에 대해 알아보았고 컴파일러가 main 함수를 분석하는 모습을 따라서 전체 코드를 분석했다.
          * 비트란 10진수의 숫자를 2진수로 바꿨을 때 디지털 숫자 한 자리를 비트라고 한다. 단, 맨 앞자리 비트는 부호 비트로 사용한다.
          * 식별자란 프로그램을 할때 사용자가 다른 것과 구분할 수 있도록 하는 것
          * 우리가 char형 변수에 자를 넣을땐 컴터가 자로 저장을 하지 못한다!!(왜냐하면 컴퓨터는 숫자로 이루어진 기계니까)
          * 따라서 자를 대입해 주더라도 그 변수엔 그 자에 해당하는 '''아스키 코드'''가 들어가 있다.
          * 따라서 자형 변수 a에 수학적인 연산이 가능하다.
          * 조건 if와 for, while, do while등에 대해 배웁니다.
  • 새싹교실/2011/무전취식/레벨1 . . . . 14 matches
          후에 레스토랑가서 치킨 토마토 리조트를 먹었는데
          수업은 졸려요 ㅠㅠ C가 젤 졸려요(동감함) 예사 시러 ㅠㅠ
          예사 쉬는시간에 잤더니 다음쉬는시간 이라 좋았음.
          * 변수 : Integer(정수) => int, Character(자) => char 기타 등등!
         숫자 앞에 와선 안된다
         자는 소자 대자를 구별한다. char babo; char BABO;
         특수자는 언더바만 된다. char babo_sora;
         character =>
         정진경 : VS2008에 다시한번 입한 기분이었다.'' 나도 이런때가 있었다.''
          * 여기다 이렇게 쓰면됩니다. 오늘 새로운 새싹 인원들을 이끌고 새싹 교실을 시작하였다 초롱초롱한 눈동자의 진영이와 소라 원태 원석이 그리고 많이 알지만 참고 같이 수업을 봐준 진경이가 있어서 너무 좋았다. 약간 몇가지 설명을 안한것도 있지만 꾸준히 따라와주는 원태와 궁금한점에 대하여 질을 하는 원석이의 태도가 참 많이 들었고 소라가 옆에서 진영이를 그때 그때 잘봐줘서 고마웠다. 첫시간이라 좀 어색하고 수준을 맞추기에 난감한것이 있었다. 다음시간에는 좀더 체계적이고 기존 커리큘럼이지만 설명을 보강하고 더욱 재밌는 수업을 만들었으면 한다. -[김준석]
          * VS2008이란 것을 처음으로 사용해보았습니다. 처음 새싹수업에서는 어려운 점을 많이 느껴서(긴장을 좀 한 탓도 있어요ㅋㅋ) 그날 배웠던 것을 잊어먹지 않기 위해 계속 해서 성공할 때까지 실습을 했습니다. 하나 하나씩 성공을 하고 나니 뿌듯함도 느끼고 자신감도 생기는것 같아서 기분이 좋습니다. C프로그래밍 시간에 졸았던게 많이 후회가 됩니다ㅋ 대학교와서 노는 시간이 많이 늘긴 했지만 초심을 잃지 말아야 겠어요ㅋ. 앞으로는 수업한 내용들을 가능하면 당일날 복습을 해둬야 할 것 같습니다. 새싹교실 들기를 정말 잘 한 것 같아요~! -[서원태]
          * ㅋㅋㅋ 특수자 $도 허용되네요 - [서지혜]
  • 새싹교실/2011/무전취식/레벨9 . . . . 14 matches
          * 1번
          * 2번
          * 3번
          * 일등이다 야홍호오호오홍호오호옿 ice breaking이 저장되지않았다니... 슬픕니다ㅜ_ㅜ제꺼가 제일길었는데... 숙제 다시 풀어보다가 생각나서 후기쓰려고 들어왔는데 일등이네요 하핫 오늘은 축젠데 노는건 내일부터 해야겠네요ㅠ_ㅠ 지지난 시간 복습을 했습니다. 스택구조에대해서 다시한번 배웠고, 파일입출력을 배웠습니당(사실 복습). 파일은 구조체로 작성되어있는데, 파일이 있는 주소와 파일을 어디까지 읽어왔는지를 기억하는 변수가 포함되어 있다고 배웠어요. 그래서 while에서 fgets로 읽어온 곳이 null이면 break하라는 if을 4번거쳐서(파일 내용이 4줄일경우) printf가 4번실행된다는 것을 알았어용.(맞낰ㅋㅋㅋ) 그리고 숙제로 나온 제를 풀어주셨는데 2번이 어려웠었는데 수..수학때이었던 것 같네용... 아직까지 dev의 공식을 모르겠어요. 나름 수학열심히했었는데.. 다시해야하나봐요ㅠ_ㅠ 수학이 모든 학과 연관되어있다니..싫어도 꼭 제대로 공부해야할 것 같습니다ㅜ_ㅜ(그래도 선대는싫어요.)c공부도열씨미하고 수학공부도열씨미할게용 하하하하 후기 길다!! 숙제 도와주셔서 감사합니당♥히히힛 - [이소라]
          * 이번 수업때 배운건 셀렉션소트와 버블소트.... 둘을 모두 손봉수교수님 강의자료를 보면서 공부했는데 숙제를 할때 셀렉션소트를 해야 하는걸 버블소트로 써버려서 다시 하고 있어요 ㅜㅜ 다시 하는 김에 이번 수업에 배운 셀렉션소트에 대해서 또 한번 공부를 하게되어 참 유익했습니다.(과제에 관한 힌트때만은 아니에요 ㅋㅋㅋ) 오름차순이나 내림차순으로 정열하게 할 수 있는 소트들중 셀렉션소트와 버블소트와의 차이점을 알게 되었고(이중 첫번째 것과 비교&교환하고 이후의 것들도 두번째 것과 교환하는 셀렉션소트에 대한 이해부족으로 과제에 애를 많이 먹었습니다ㅋㅋ) 과제도 이제 점점 어려워지네요ㅋㅋ 복습이 정말정말 중요하다는 것을 계속해서 깨닫고 있습니다. 기말고사 준비를 해야겠어요ㅋㅋㅋ - [서원태]
          * 전 이번 수업시간때 지나가며 배운게 ICE Breaking 기법중 하나인.. 이름은 모르겠고 어떤 것의 전가가 되어 질에 답하기! 였어요 ㅋㅋㅋㅋㅋ 개발자들한테는 정말 저런게 있어야 좀 더 원할한 소통이 되는군, 이라고 ICE Breaking이 나름 중요하다는걸 다시 생각해보게 되었네요. -[김태진]
          * 애들이 왜케 후기가 빨라진 고에여..아직 목요일인뎅?,..ㅠㅠㅠㅋㅋㅋㅋ이번 시간은 정말롱! 유익햇어요 항상 그랬지만은 이번주는 특히! 왜냐면 수업에 빠졌었어서..ㅎㅎㅎ 뭔가 이해도 팍팍됐구요오 이번 시간에는 버블소트랑 셀렉션소트랑..과제 2,3번과 음..그 저번 시간 복습 파일 입출력! 그리고 while에서 4번돌아가는거...힝 이거는 들어도들어도 계속 알것같으면서 모르겠어요!ㅠㅠ 어려워이잉 수업시작 되기전에 저 엄청 졸렸는데 수업할 때 맛있고 재밌어서 깼어요 잠! ㅋㅋㅋ 저 은근 열심히 들었는뎅..ㅎㅎㅎ 그리고 코딩도 해봤어요! 직접! 꺅! 근데 생각보다...할 수있었어욬ㅋㅋㅋㅋ코딩 맡겨보는거 좋은거같애요 오빠!히히 이제 이거 한번 복습하구 과제 마무리하러 가야게써용!! -[이진영]
          * 흐음.. 이번주는 정말 기분이 좋아^^ 후기를 이렇게 빨리써주다니. 이번 시간에는 나조차 생각못한 재밌는 시간이었나? 여튼.. 다음시간에도 파일 입출력 복습합니다. while이 4번돌아가는건 fget함수 특성상 입력에서 \n을 만나면 거기서 끊어주기 때이지=ㅂ=! 함수 특성에 대해서는 좀더 알려드리겠습니다. 가르쳐야될게 많아졌네. 그리고 역시 젤 좋은건 먹을것에 대한 유혹인가봐. ㅋㅋㅋ 아이셔 잔뜩 먹이면.. 잠 안올려나. 음.. 실험을 해봐야겠어! 여튼 진영이도 이렇게 후기 올리느라 새벽에 수고가 많아. 하번 훑어봐주고 과제 화이팅!! - [김준석]
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.3 . . . . 14 matches
          - 일곱번째( 09년 10년 중간고사 제 분석 )
          * 이번 시간은 강사가 여태까지 배웠던 내용을 질하고, 학생들이 대답을 해보는 시간을 가졌습니다.
          5. assert 함수를 사용하는 이유는 무엇인가?
         = 피드백 제 =
          * 지난 시간 배웠던 것을 반복을 했다. 모두에게 제에 대한 대답을 전부 들었다. 굉장히 의미가 있었다고 생각한다. 스쳐지나가는 기본들을 다시 다잡았다고 생각한다. 잘못알고 있거나 약간 부족하게 알고 있던 내용들을 스스로 피드백을 줌으로서, 정리하게 하였다. 앞으로 마무리 할 때 쯤 다시 한번 이런 시간을 가져야겠다. - [박성현]
          * 선생님의 질에 답하는 시간을 가졌다. 질에 답하면서 많이 헷갈렸던 것 같다. 다른 애들의 답변을 들으면서 많은 것을 배운 것 같다. 나도 기본적인 부분을 다시 한 번 공부해봐야겠다. 프로그래밍은 아무리 작은 것이라도 절대 놓쳐선 안 되기 때에 기본에 충실해야 되니까... - [장용운]
          4. 루비 언어처럼 명령을 한 줄 입력하면 그 결과를 출력하는 방식?
          7. 인자 전달받음 -> 첫 번째 인자로 전달받은 자열에 맞는 스타일로 전달받은 변수의 값들을 서식 자에 맞추어 바꾸어 기본 출력 스트림으로 출력한다!
          9. 32비트 컴퓨터에서는 기본 정수형(int)에 대해 32비트의 메모리 공간을 할당해 주는 데에 비해서 64비트 컴퓨터에서는 64비트의 메모리 공간을 할당해 주기 때에 자료 크기가 달라지고 MSB의 위치가 달라져서 프로그램이 오작동하거나 실행할 수 없게 된다.
          5. assert 함수를 사용하는 이유는 무엇인가?
          -프로그램이 길어져도 어디가 잘못됐는지 보다 쉽게 찾을 수 있기 때
  • 새싹교실/2012/앞부분만본반 . . . . 14 matches
         3 -> 제 1. 다음과 같은 형식으로 본인의 이름을 출력하는 프로그램을 완성해보자 .
          제 2. 본인의 이름, 주소, 그리고 전화번호를 모니터에 출력하는 프로그램을 작성해보자.(\n을 사용)
         제 1 다음의 출력결과를 보이도록 예제를 작성해보자. 출력되는 숫자들(25, 345, 9393)은 서식자 %d를 이용하여 출력하자.
         제 2 다음의 출력결과를 보이도록 예제를 작성해보자. 출력되는 숫자들은 서식자 %d를 사용해서 출력을 해보자.
         == 제푸는 곳 ==
          * 저기 공부겸 들렀는데, 질이 있네요.
          system이 infinitely many solutions일 때도 consistent가 아닌가요? 궁금해서 질 올립니다.- [김희성]
         A L.S has a solution 이라는 말이 관사 a 에 초점을 맞추어 exactly one solution으로 이해하는 애들이 있기 때
  • 새싹교실/2012/햇반 . . . . 14 matches
         2. 조건
          연습제: 세개의 값을 받아들여 가장 큰 값을 출력하는
         3. 순환
          각각의 사용방법설명후 하나씩 구현해봄
          연습제: 별그리기
          연습제에서 했었던 간단한 별그리기를 기초로하여 좀더 어려운 별그리기
         저번시간에 했었던 순환과 조건 복습
         1. 구구단 예제 (이중 for 연습)
         ㄴ.함수의 사용방법
         1) break, continue등 제어
  • 새싹교실/2013/록구록구/2회차 . . . . 14 matches
          * scanf 원리, 사용
          * 위키의 대략적인 사용
          * 반복 까지의 설명
          * 간단한 wiki 사용
          * scanf의 원리와 사용
          * 제로페이지 wiki 대략적인 사용
          * -쉬운제- '''두 정수를 입력 받아 두 정수의 합과 곱 출력하기'''
          * -약간어려운..- '''하나의 자(char)를 입력 받아 해당 자의 아스키 코드값 출력하기'''
          ex) 하나의 자를 입력하세요: A
         == 질 ==
          * 반복까지 나가려고 했는데 못해서 아쉽다... ㅠ_ㅜ -[김상호]
          scanf와 #define에 대해서 배웠다, wiki가 무엇인지 또 어떻게 사용하는 것인지 알게 되었다
         wiki의 존재와 활용법, 자기페이지 만드는방법, scanf 입출력, #define을 배웠다.
  • 새싹스터디2006/의견 . . . . 14 matches
         제로페이지 위키에 [새싹스터디2006]에서 소그룹으로 진행한 기록이 재학생에게 필요할까요? [제로페이지의제점]에서도 ''스터디가 신입 수준을 벗어나지 못한다''라는 점을 지적합니다. [2004년활동지도]의 1학기 스터디, [새싹C스터디2005]의 Class페이지들이 대표적입니다. 반면 [새싹C스터디2005/선생님페이지], [새싹배움터05/첫번째배움터], [새싹C스터디2005/pointer]와 같은 페이지는 현재 [새싹스터디2006]을 진행하는데 도움을 줍니다. 조금만 가다듬으면 [STL]페이지처럼 주제별로 정리할 수 있습니다.
         따라서 지금 위키 구조를 잘 이용해 필요한 정보는 제로페이지 위키에, 각 소그룹으로 진행하는 내용은 개인 위키에 정리하면 좋겠습니다. 나중에 정리할 필요 없는 시간 약속, 출석 체크, 메시지 전달 들을 개인 위키에서 진행하면 되겠죠. 단 숙제를 내면 반 이름의 하위페이지를 만들기보다, [EightQueenProblem]처럼 정보를 모을 수 있을 것입니다. 이로써 현재 미약한 개인 위키 사용이 늘어날 것이고, 덤으로 사용자가 위키 카페 구조에 익숙해지는 효과도 얻을 것 같습니다. -- [Leonardong]
          물론 그렇게 할 겁니다. .[EightQueenProblem] 뿐만 아니라 여러 제분류에서 모든 제들 페이지 처럼 작성하는것이 도움이 된다고 생각하기때에 생각도 했습니다. [LittleAOI] 제를 하나씩 풀어보는 방식을 취하는것도 좋다고 생각합니다. 아직 이르지 만요.. (제 반은 일주일 후에나 할 수 있을거 같습니다)
         여기 페이지도 나름대로 필요하다고 생각합니다. 각 팀마다 06학번 신입생의 실력이 다른 것 처럼 각 팀은 각 나름대로 진행해야 할 것입니다. 하위 페이지에서 기록이 단순히 '재학생을 위해서' 가 아닌 무슨 제를 풀었고, 언제 만날건지, 어떤 제를 풀건지 등 위키에 내용으로 남겨두는 것이 좋을것 같습니다. 후에 또 참고할 수 있도 있고. 지금 많은 class의 진척도도 볼 수 있고요.
         신입생은 신입생이기 때에 환영받아야하고 1년이 지나면 저처럼 신입생이 아니게 되겠지요.- -- [허아영]
         위키에 기록을 남기되 개인위키를 활용하자는 말입니다. [stuck]같은 페이지에서 언제 만날지, 오늘은 누가 나왔는지까지 후에 참고할 필요가 없다고 생각합니다. 또 [빵페이지/구구단], [복/숙제제출] 같이 페이지 아래 실습한 내용이 분산되지 않고, 각 반의 숙제 페이지는 되도록 제에 따라 한자리에 정리하면 좋겠습니다. 진행 상황은 페이지를 만들지 않아도 링크를 걸면 되겠죠. -- [Leonardong]
         제 말도 그거에요 ㅋ 링크 걸자는 거에요.. 그런데, 개인위키에 적는건 더 분산 아닌가요? 우리가 프로젝트 진행할 때 프로젝트 한 페이지에 여러 링크, 내용을 적잖아요? 새싹스터디2006/날아라병아리 이런식으로 만들어서 그 페이지 안에,우리가 풀었던 제를 링크거는건 어떨까요?, 뭐 방법에 따라 다르겠지만, 저번처럼 새싹스터디 단체로 숙제를 내 주게 될 때는 달라지겠지만요.. -- [허아영]
         사실 [너구리]페이지는 제로페이지 위키에 있어도 그만입니다. 현재 진행중인 스터디를 모두 링크하는데 [너구리]페이지가 너굴아빠 개인위키에 있든 어디 있든 상관없지요. 다만 최근바뀐글을 생각하면 일장일단이 있습니다. [너구리]페이지가 제로페이지 위키에 있으면 현재 진행중인 스터디를 모든 사람이 한 곳에서 볼 수 있을 것이고, 따라서 다른 스터디도 돌아볼 기회가 많아지겠죠. 반대로 [너구리]페이지가 개인 위키에 있으면 자신의 위키홈에 가야지 볼 수 있기 때에, 개인 위키 사용을 활발히 만들 겁니다.
  • 정규표현식/스터디/메타문자사용하기/예제 . . . . 14 matches
         == 제 - 김상호 ==
         == 제 - 김준석 ==
          * 영숫자숫자숫자아닌거영자아닌거
         == 제 - 이승한 ==
          1. 다음 파일들의 목록에서 앞에 두글자가 영어인 파일들을 찾아라. (posix 표현식을 사용할 것)
          1. 다음 파일들의 목록에서 두번째 글자가 숫자인 파일을 찾아라. (posix 표현식을 사용할 것)
          1. 다음 파일들의 목록에서 대자로 시작하는 파일을 찾아라.
          1. 다음 파일들의 목록에서 소자로 시작하는 파일을 찾아라. 적어도 2개 이상의 방법을 표현할 것
  • 정모/2011.3.21 . . . . 14 matches
          * 신입생 설명회에서 ZeroPage 활동 안내를 받고 싶다고 의사를 밝힌 새내기들에게는 자로 활동 안내 연락이 감.
          * Emacs & Elisp 후기 :의 소개를 보면서 다양한걸 사용하는 승한형에게 잘맞는 프로그램이라 생각됬다. 그 프로그램을 사용하기에 다양한걸 좋아하기도 하고 내가 가장많이쓰는건 Eclipse와 그걸 지원하는 플러그인이지만 여러가지를 개발하는 개발자에게 저것은 좋은프로그램이라 생각된다. 하지만 나에게는 아직도 Eclipse를 다루는것조차 아직은 버겁기에 우선 Eclipse를 하자는생각이 들었다.
          1. 오랜만에 승한선배께서 오셔서 세미나 해주시니 좋네요!! 피자도 사주시고ㅜㅜㅜ 잘먹었습니당 :9 승한 선배 세미나 덕분에 정모가 더 알찬 시간이 된 것 같습니다. emacs는 전에도 [데블스캠프]에서 소개해주신 것이 기억납니다. 그때 간단히 써보았는데 파워풀한만큼 처음에 적응하기는 많이 힘들다는 느낌을 받았었어요. 그런데 다시 봐도 어려워 보이네요T_T 하지만 단축키를 사용하여 많은 작업을 할 수 있다는 것이 매력적입니다. 빠르고 효율적인 것도 그렇지만 제 노트북 터치패드가 고장인데다 마우스도 가끔 정신이 나가거든요…….
          1. 준석 선배의 OMS는 와우에 대한 소개가 주제였는데, 프리젠테이션에서 게임을 해보지 않은 사람들도 즐겁게 볼 수 있도록 하기 위해 많이 고민하신 것이 느껴졌습니다. 저는 와우를 플레이한 적이 있기때에 보여주신 영상들을 전에 몇번 봤었는데 혼자 노트북으로 보는 것과 프로젝터로 앞에 크게 틀어놓고 다같이 보는 것은 느낌이 또 달라서 재미있었습니다.
          1. 정모를 매주 2시간 정도로 생각하고 있는데 시작하기 전에 지연되는 10~15분 정도의 시간때인지 항상 2시간을 넘기게 되네요. 저야 어차피 정모 이후에도 주로 학교에 남아있으니 괜찮은데 다른 분들 일정과 충돌하지 않으려나 싶은 생각이 들었습니다. 이것에 대해 다음주 3월 회고에서 이야기해보고 싶어요. - [김수경]
          * Ice braking은 많이 민망합니다. 제가 제 실력을 압니다 ㅠㅠ 순발력+작 실력이 요구되는데, 제가 생각한 것이 지혜 선배님과 지원 선배님의 입에서 가볍게 지나가듯이 나왔을 때 좌절했습니다ㅋㅋ 참 뻔한 생각을 개연성 있게 지었다고 좋아하다니 ㅠㅠ 그냥 얼버무리고 넘어갔는데, 좋은 취지이고 다들 읽는데도 혼자만 피하려한게 한심하기도 했습니다. 그럼에도, 이상하게 다음주에 늦게 오고 싶은 마음이 들기도...아...;ㅁ; 승한 선배님의 Emacs & Elisp 세미나는 Eclipse와 Visual Studio가 없으면 뭐 하나 건들지도 못하는 저한테 색다른 도구로 다가왔습니다. 졸업 전에 다양한 경험을 해보라는 말이 특히 와닿았습니다. 준석 선배님의 OMS는 간단한 와우 소개와 동영상으로 이루어져 있었는데, 두번째 동영상에서 공대장이 '바닥'이라 말하는 등 지시를 내리는게 충격이 컸습니다. 게임은 그냥 텍스트로 이루어진 대화만 나누는 줄 알았는데, 마이크도 사용하나봐요.. 그리고 용개가 등장한 게임이 와우였단 것도 새삼 알게 되었고, 마지막 동영상은 정말 노가다의 산물이겠구나하고 감탄했습니다. - [강소현]
          1. 승한오빠 특별 세미나(emacs & elisp) : 교육기간이니 '''칼퇴할때 세미나 한번 해주세요!!''' 라고 요청드렸는데 선배님 펌프질에 보람을 느꼈던 순간이었습니다. 칼보단 감자깎기가 흙당근이나 감자를 깎을때 진리이듯이 좋은 프로그램과 좋은 툴을 적절히 사용하는게 얼마나 중요한지를 다시 생각해볼 수 있었습니다. 이 세미나 이후 아직도 textPad 강제로(?) 사용하고 있는 2학년 학우들이 불쌍해졌습니다......
          1. 준석이 OMS(World of Warcraft) : 동영상을 적절하게 사용해서 집중력을 높여준 세미나였다. 아쉬운 점은 쪼----금 길었다는거;;
          1. 기타 : 피자 잘먹었어요~ 주량 조절에 실패해서 ㅈㅅ.
          * 키워드 전기수 재밌었습니다. 괜히 저는 혼자 말도 안돼는 드립치다가 웃음보 터져가지고 민망하게 진행도 못하긴 했었지만요 ㅋㅋㅋ elisp과 emacs 세미나는 파스텔톤 분위기에 취해서 흥미롭게 들었습니다. emacs는 '''단축키가 리눅스랑 같다'''는 이야기때에 끌렸습니다... ㅋㅋ 그래서 설치하고 튜토리얼도 따라해봤습니다. 재밌더군요 {OK} OMS는 들으면서 놀랐습니다. 실제 마케팅부서에서 마케팅 나온 듯한 인상을 받았습니다. OMS를 보고 와우 스토리에 흥미도 생겼구요. 속으로 이런 생각도 했습니다. '와우는 무저갱이니까 와우 소설이나 읽어서 대리 만족이나 하자.' ㅋㅋㅋ 근데 소설 읽으면 결국 하게 될거 같아서 Stop Thinking! 결국 결론은 '''와우에는 접근도 하지 말자.''' 피자도 맛있게 '냠냠 쩝쩝 우물우물 쓰읍쓰읍 꿀꺽 쯥'하면서 잘 먹었습니다. 아쉬운 점이 있다면, 새싹 교실 트레이드를 못한 것 입니다. 제 반에 같이 햇빛을 못 쬐는 새싹이 있는데 결국 다른 새싹으로 바꾸지 못해서 제 새싹이 양분을 먹지 못했습니다...담번에는 꼭 흙 째로 옮겨주고 싶네요. - [박성현]
          * 키워드 전기수.. 키워드 던질때는 신났었는데 전기수를 하려니 음ㅋㅋ 어디서부터 제였는지 모르겠네요ㅋㅋ emacs&elisp세미나는 조금 어려운감이 없지않아 있었지만 그래서 놓치지 않으려고 더 집중해 들었습니다. 무엇보다 졸업하신 선배님이 정모에 나오셨다는게 좋았어요!! 이렇게 선후배간의 링크가 계속 이어졌으면 좋겠습니다. 피자도 먹고 좋았어요. 와우세미나도 저는 와우를 그닥 좋아하지는 않지만 다들 무척 좋아하더군요ㅋㅋ OMS의 퀄리티가 갑자기 확 높아져서 부담스럽네요ㅜ
  • 지금그때2004/여섯색깔모자20040331 . . . . 14 matches
          - 검정 : 왜 사회자 제가 시의성이 높은가?
         검정 : 대자보 홍보가 없었던 이유는 강의실과 시간 등이 명확하게 정해지지 않았기 때이다.
         하양 : 동서버 게시판 홍보. 이것 또한 5명과 연관이 있다고 본다.
         파랑 : 사람 수는 변하기 쉽다. 숫자 자체가 중요한건 아니라고 본다. 이를 좀 더 편하게 표현하려면.. 퍼센트로 표현해보자.
         노랑 : 강의실 대비 동서버 게시판의 홍보를 보면 효과가 다르다.
         노랑 : 동서버에 가입 안한 사람은 동서버게시판에 홍보한 내용을 모를 수 있다. 더 적극성을 발휘할 수 있다.
         하양 : 현재는 2인 1조이다. 1명은 앞에서 설명하며, 1명은 뒤에서 을 잠근다(?);;
         홍보
         하양 : 설조사. 작년에 참여하지 못한 사람?
         검정 : 회의를 참석하지 않았기때에, 재교육 제상 어렵다.
         노랑 : 현 재학생중에는 경험있는 사람이 없다. '재동'은 세미나 경험도 많고, 시간관리 등 제에 대해서 잘 해결해나갈 것이다.
         검정 : 이번에는 03이 맡았으면 한다. 그렇지 않으면 매년 의존하게 된다. 내년에도 똑같은 이야기가 성립이 되어버리기 때이다. 이번 행사 이후에도 지속적으로 이어지기 위해서는 03이 직접 경험해보아야 한다.
  • 프로그래밍언어와학습 . . . . 14 matches
          * 사족2) 예전 마소의 김재우씨가 '프로그래밍의 숨겨진 진실과 거짓' 관련 기사 나왔을때 강규영씨의 반박을 읽을때도 약간 핀트가 안맞는다란 느낌이 들었는데.. 뒤의 토크백들을 보면.. 또 한번 한숨. --석천
         > 교육기관에서는 법적 특성과 알고리즘 이외에도
         하지만 이제는 컴퓨터 시스템에 대한 저차원적인 이해 없이도 얼마든지 뛰어난 프로그램을 만들 수 있는 영역이 늘어나고 있습니다. 언제든지 저차원에 대한 이해는 도움을 주지만 이제는 저차원의 정의가 조금 더 상향 조정된 제 영역이 훨씬 많습니다. (컴퓨터 발전 초기에는 적용도메인이 협소했습니다)
         하드웨어를 "뼈 속 깊이 꿰뚫고 있는 사람"과 그런 거라곤 하나도 모르는 사람이 동일한 제에 접근했을 때 후자의 경우가 더 훌륭한 프로그램을 더 빨리 산출해낼 가능성은 얼마든지 있습니다.
         > 접근을 허용하지 않기 때이다. JNI(java native i
         화인류학이 융성하던 초기, 언어학자들은 어느 언어가 더 우월한가, 또 거기서 언어 사용자의 정신능력에 차이가 생기는가 등을 따지는 연구에 심혈을 쏟았습니다. 그들이 얻은 결론은 인류에게 있어
         A라는 언어로 표현가능하다면 그것은 B라는 언어로도 표현할 수 있다는 것이었습니다. 다만 여기서 화권에 따라 어떤 효율성의 차이가 있을 수는 있었습니다.
         아프리카 말로도, 중국어로도, 영어로도 "심오하고 사람을 감동시키는 효과적인 말"은 얼마든지 할 수 있습니다. 그것은 말을 어떻게 그 언어 규칙에 맞게 잘 조합하느냐의 제입니다. 이 변용의 능력은 "언어"만 후벼파서는 절대 얻지 못합니다. "언어"가 구성해주는 2차원의 메타적인 세계를, 혹은 그 메타 세계의 메타 메타 세계를 후벼파야 합니다.
         영작을 수십년간 공부한 사람을 알고 있습니다. 맨날 관용구를 외우고, 법을 익히고, 날마다 영작을 한 편 씩 해서 미국의 교수에게 그 글을 보내고 검사를 받아온 사람입니다. 그 사람이 몇 년 전 제게 고백을 했습니다. 자기 영작 공부는 후회스러운 것이라고. 그 사람은, 훌륭한 글을 쓰는 것은 단순히 언어적, 법적인 요소를 떠나서 얼마나 훌륭한 아이디어를 갖고 있느냐에 일차적으로 좌우되는 것이라고 깨닫고, 후학들에게 다양한 주제의 책을 접하라는 충고의 글을 썼습니다. 명료한 글을 쓰려면 언어가 명료하기 이전에 사고가 명료해야 하며, 풍부한 글을 쓰려면 언어가 풍부하기 이전에 사고가 풍부해야 합니다.
         한국에서 일찍부터 컴퓨터를 접했던 소수의 "특권" 계층은 자신이 익숙하게 사용해온 것들이 인기를 잃는 것에 대해 개탄하고, 신세대들은 공부가 부족하다며 비판하길 좋아합니다. 그들의 진정한 제는 겸손하지 못하다는 것입니다. 자신이 하고 있는 것이, 자신이 있는 영역이 더 본질적이고 더 어려우며, 더 고수준의 것이라고 생각하기 쉽습니다.
         이 제는 어디를 가도 비슷합니다. 학교시절에 어렵게 공부를 한 기득권층은 최근의 "열린교육"이나 "대안교육"에 대해 상당한 불만을 갖고 과거회귀를 주장하기 마련입니다. "너희는 몰라."
  • 3DGraphicsFoundationSummary . . . . 13 matches
          * 왼손 좌표계 : 공간개념 이해하기 쉽기 때에 그래픽스에서 많이 사용한다. 앞뒤가 Z, 좌우가 X, 위아래가 Y
          * 벡터 표현을.. 원자로 해야겠다. 화살표 그릴라니까 열라 귀찮다.
         === 임의의 축을 중심으로 회전이동 하기(헉 이것은 수치해석 시험제?) ===
          * 때에 속도가 졸라 느리다.
          * 가장 큰 제점 : 깊이감 표현
          * 광원 모델 사용(Ray-Tracing법 많이 사용)
          * 사용하는 함수 : glEnable(GL_BLEND), glBlendFunc(원본 픽셀에 대한 블랜딩 계수를 계산하는 방식, 대상 픽셀에 대한 블랜딩 계수를 계산하는 방식)
         || GL_ONE || 원본 색상을 그대로 사용한다 ||
         || GL_ONE || 대상 색상을 그대로 사용한다 ||
          * 그리스 자 쓰는법 ㅎ 누르고 한자키
          * 원자 ㅇ 누르고 한자키
  • 5인용C++스터디/멀티미디어 . . . . 13 matches
         MFC는 멀티미디어를 위한 별도의 클래스를 제공하지 않는다. Win32 API함수 차원에서 멀티미디어를 지원하기 때에 MFC에서는 별도의 클래스로 만들어 놓지 않은 것이다.
         - SND_LOOP : 지정한 사운드를 반복적으로 계속 연주한다. 이 플래그는 반드시 SND_ASYNC와 함께 사용되어야 한다.
         예제) AppWizard를 사용하여 Sound라는 이름으로 SDI 프로젝트를 만든다.
          PlaySound 함수를 사용하려면 mmsystem.h 파일을 먼저 include 해주어야 하고,
          이번에는 SND_LOOP 플래그를 사용하여 작성해 보고, WM_RBUTTONDOWN 메시지의 핸들러도 같이 만들어보자.
          SND_LOOP 플래그를 지정하면 반복적인 효과음이나 배경음악을 연주하는 등의 설정을 할 수 있을 것이다. 연주를 중지시키려면 PlaySound 함수의 첫 번째 인수를 NULL로 하여 다시 호출해 주면 된다. 따라서, 오른쪽 마우스 버튼을 누르면 연주가 중지될 것이다. 주의할 것은 SND_LOOP 플래그는 반드시 SND_ASYNC와 함께 사용해야 한다. 만약 동기화 연주방식으로 반복연주를 하면 무한 루프로 빠져버릴 위험이 있다.
          사운드 파일을 연주하는 것은 사용하기는 간단하지만 연주할 때마다 디스크에서 사운드 파일을 읽어와야 하므로 반응 속도가 느리다. 따라서 이 경우에는 사운드 파일을 리소스에 포함시켜 놓고 리소스에서 읽어서 연주하는 방법으로 하는 것이 좋을 것이다.
          PlaySound함수는 메모리 크기의 제한을 받아서 1-2분 정도의 사운드 밖에 낼 수 없다는 점, Wave형태만 지원한다는 점, 연주과정에 사용자가 개입할 수 없다는 단점이 있다.
          MCI는 멀티미디어 요소에 대한 지원을 장치독립적으로 제공하는 일종의 라이브러리이다. 이것은 PlaySound 함수가 하지 못하는 여러 가지 일을 할 수 있지만, 사용 방법은 훨씬 더 복잡하다.
          MCI를 사용하면 동영상도 아주 쉽게 재생할 수 있다. AppWizard로 PlayAVI라는 SDI 프로젝트를 만들고 WM_LBUTTONDOWN 메시지의 핸들러와 WM_DESTROY 메시지의 핸들러를 다음과 같이 작성한다.
          동영상 연주는 Video fot window 라이브러리를 사용하므로 뷰에서 vfw.h를 인클루드 해 주어야 한다.
          또한 프로젝트에서 이 라이브러리를 사용할 수 있도록 Project/Settings/Link 탭에 vfw32.lib를 추가한다. 그리고 동영상 파일을 프로젝트 디렉토리에 넣어두면 된다.
         hInstance: MCIWnd롤 사용하는 인스턴스 핸들을 지정한다.
  • APlusProject . . . . 13 matches
         어떻게 연결되어있는지 알수가 음서요;;그리구 오빠가 대강 적은 테이블 이해안가던데요. 제 생각으로는 이 추적서를 다른 조가 우리조 심사할때
         오빠가 말한 서 열어봤는데 클래스 이름이나 함수이름이 안적혀 있어서 적을수가 없었어요;;
         위에 서 열어보면 테이블 있습니다.
         현재 이곳에 올려 놓는 자료는 모두 암호를 가지고 있습니다. SE 수업이 끝나면 모든 소스와 서는 공개할 예정입니다. 혹시 파일 다운을 못받으신다면 '인터넷 익스플로어'에서 도구 -> 인터넷 옵션 -> 고급 -> 'URL을 항상 UTF-8로 보냄'의 체크를 없애고 재부팅 해야 다운 받으실 수 있습니다. (파일 이름의 한글이 제입니다)
         Upload:SE_ACAPS_9조.zip - 제작년 9조 최종
         Upload:10조최종서.zip - 제작년 10조 최종
         Upload:Spice1998.zip - 스파이스 관련 표준
         Upload:2004se.zip - 작년 4조 서들
         Upload:SomePdf.zip - 몇몇 개발서들(pdf파일)
         ExtremeProgrammingInstallled - XP 입서. 한서 있음. PL 필독.
         TestDrivenDevelopmentByExample - TDD 입서. 한서 있음. QA와 Eng는 필독.
  • APlusProject/PMPL . . . . 13 matches
         Upload:APP_DevelopmentPlan_0405-0524.zip - 버전 2.0 이전 서들 압축
         Upload:APP_DevelopmentPlan_0525.zip - ver 2.0 목요일 제출할 서 (cm병권) -- QA(윤주)에게 검토됨
         Upload:APP_BasicDesign_0512-0522.zip - 이전
         Upload:APP_BasicDesign_0523.zip - 최종서 --ㅊCM검토 QA승인완료
         Upload:APP_DetailedDesign_0520-0527.zip - 이전서1
         Upload:APP_DetailedDesign_0528-0529.zip - 이전서2
         Upload:APP_DetailedDesign_0530.zip - 최종
         Upload:APP_DetailedDesign_0608.zip -- QA에 의해 검토됨. 0530 최종서 인덱스 이상해서 바꾸었습니다
         이 서는 형상 관리 계획서에 포함되었음 --재동
         Upload:APP_RequirementAnalysis_0526.zip - 분석서 최종서 -- QA(윤주)에게 검토됨
         Upload:APP_RequirementDefinition_0526.zip - 정의서 최종서 -- QA(윤주)에게 검토됨
         Upload:APP_JudgePlan_0606-0608.zip - 이전
         Upload:APP_JudgePlan_0609.zip - 최종서 - 인터뷰 스크립트에 중복되는 표들이 몇개 있다. 원래 있어야 되는건감?
  • AcceleratedC++/Chapter4 . . . . 13 matches
          * 어떤 종류의 제를 푼다.
          * 3장까지의 프로그램을 보면 등급을 메기는 부분이 있다. 이 부분을 함수로 추출해보자. 함수로 추출함으로써, 나중에 똑같은 내용을 또 코딩할 필요가 없고, 알아보기도 쉬워진다. 또한 등급 메기는 방법을 바꿀때 그 함수 부분에만 제를 한정지을 수가 있다. 또한 함수에 이름을 지어줌으로써, 더욱 추상화시킬수가 있게 된다.
          * 여기서 살펴볼 게 몇가지 있다. 지난번에는 vector의 크기가 0이면 그냥 프로그램을 종료시켜버렸지만, 여기서는 예외처리라는 신기술을 사용했다. 이 방법은 여기서 끝내지 않고 다음 부분으로 넘어간다. <stdexcept>를 포함시켜 주면 된다.
          * exception : 사용자에게 무엇이 잘못되었는가를 알려주는 exception을 던져준다.
          * 이제 우리가 풀어야 할 제는, 숙제의 등급을 vector로 읽어들이는 것이다. 여기에는 두가지의 제점이 있다. 바로 리턴값이 두개여야 한다는 점이다. 하나는 읽어들인 등급들이고, 또 다른 하나는 그것이 성공했나 하는가이다. 하나의 대안이 있다. 바로 리턴하고자 하는 값을 리턴하지 말고, 그것을 reference로 넘겨서 변경해주는 법이다. const를 붙이지 않은 reference는 흔히 그 값을 변경할때 쓰인다. reference로 넘어가는 값을 변경해야 하므로 어떤 식(expression)이 reference로 넘어가면 안된다.(lvalue가 아니라고도 한다. lvalue란 임시적인 객체가 아닌 객체를 말한다.)
          * median 함수를 보면, vector<double> 파라메터가 참조로 넘어가지 않는다. 학생수가 많아질수록 매우 큰 객체가 될텐데 낭비가 아닌가? 하고 생각할수도 있지만, 어쩔수 없다. 함수 내부에서 소팅을 해버리기 때에 참조로 넘기면, 컨테이너의 상태가 변해버린다.
          * grade 함수를 보면, vector는 const 참조로 넘기고, double은 그렇지 않다. int나 double같은 기본형은 크기가 작기 때에, 그냥 복사로 넘겨도 충분히 빠르다. 뭐 값을 변경해야 할때라면 참조로 넘겨야겠지만... const 참조는 가장 일반적인 전달방식이다.
          * 학생의 데이터를 묶어 보자. 여기서 struct란 새로운 구이 나온다. {}안에 멤버로 넣고 싶은 변수들을 쫙 써주면 된다. 접근할라면 . 써주고 변수 쓰면 된다.
          * is >> 을 보면, string을 읽었다가 double을 읽기도 한다. 이게 가능한 이유는 오버로딩 때이다.
          * 저 vec은 double형 값을 담고 있었기 떄에, 순서대로 sort하면 되었었다. 하지만 우리가 만든 Student_info는 어떻게 sort를 할까?
          * string(길이,'자') : 길이만큼의 '자'를 생성해준다.
  • Ant . . . . 13 matches
          * 왜 Ant 를 사용해야 하나?
          make.gnumake,nmake,jam 과 같은 다른 Build 툴은 놔두고 왜 Ant 를 써야하는가에 대한 질이다. Java 기반으로 프로그램을 짜고 컴파일 및 배포용 쉘 프로그램을 짜봤는가? 해봤다면 그것의 어려움을 잘 알것이다. 각 [OS] 마다 쉘 스크립트가 다르고 일반적으로 사용하고 있는 Unix 에는 또 각종 쉘들이 존재한다. 윈도우 쉘 또한 복잡하긴 매한가지이고 프로그램을 모두 작성하고 컴파일 및 배포 쉘 스크립트를 작성하기 위해서 이것들을 모두 작성하는것 자체가 프로그래머에게 또 하나의 고난이 아닐까 생각한다.(즉, 쉘 프로그램을 배워야 한다는 의미이다.)
          Ant 를 사용하여 Build 하기 위해서는 JAXP 호환 XML파서가 있어야 합니다. 그런데 Ant 를 다운받으면 그 패키지 안에 포함되어 있으므로 따로 다운받으실 필요는 없습니다. JAXP 에 대해서는 http://java.sun.com/xml/ 정보를 얻을 수 있습니다.
          Build 툴이기 때에 당연히 JDK 가 필요합니다. JDK 1.2 이상을 가지고 있으면 됩니다.
          * 일단 받은 Ant 압축파일을 C:\Ant 에 풀어 놓고 시작해봅시다. 하위 디렉토리는 bin,doc,lib 등이 있겠죠. ^^ (''Win 9x 시리즈에서는 환경변수에 들어가는 긴 파일명이 제가 될 수 있으니 위와 같이 C:\Ant 에 설치하는 것이 좋습니다.'')
          이것은 build 파일을 test.xml 이라는 파일을 build 파일로 사용해서 build 하겠다는 의미입니다.
          위의 예에 하나가 추가됐죠? -D 옵션은 Build 파일의 Property task 와 같은 역할을 합니다. 즉 Build File 내부에서 사용되는 일종의 변수를 선언한다고 볼 수 있겠죠? ^^
          || basedir || 프로젝트의 base 디렉토리를 말한다. ant 내부에서 사용되는 모든 path 들은 이 디렉토리를 기반으로 한다. || No ||
          추가적으로 ''project'' 태그 뒤에 ''description'' 이란 태그를 사용하여 Project 를 설명할 수 있다.
          의존관계외에 target을 수행하기 위해서 조건을 걸어서 사용할 수 있다. 이는 "'if'"와 "'unless'" 라는 attribute 를 사용해서 할 수 있다. 형식은 다음과 같다.
          * '''Build File''' : Build 의 순서 및 각 단계별 작업들에 대해서 xml 형식으로 적어놓은 파일을 말한다. Ant 에서는 default 로 build.xml 을 사용한다.
  • BasicJava2005/3주차 . . . . 13 matches
          * 기본 자료형과 거의 마찬가지로 사용할 수 있다.
         == Java에서 사용자의 입력을 받자 ==
          * 1.4이전 : BufferedReader클래스를 사용할 수 있다.
         == import구 ==
          * import [패키지 이름]; 으로 사용할 수 있다.
         == Java API사용하기 ==
          * Java에도 MS의 MSDN같이 사용자를 돕는 메뉴얼이 존재한다.
          * [http://java.sun.com/j2se/1.5.0/docs/api/] : 영 5.0 API
          * [http://pllab.kw.ac.kr/j2seAPI/api/index.html] : 한글 5.0 API
          * add/remove/get 함수등을 사용하여 배열에 마음대로 추가/삭제가 가능하다.
          * 숫자야구 만들기 : [BasicJAVA2005/실습1]
  • CCNA . . . . 13 matches
          * ethernet: CSMA/CD- 이더넷 통신에서 사용하는 프로토콜이다. 회선이 사용중이지 않을때 전송하고 충돌이 생기면 일정시간후 재전송한다.
          * 네트워크에 대한 표준 모델이며 실제로 사용되는것은 아니다.
          * TCP/IP란 프로토콜(Protocol)의 한 종류로 인터넷을 하기 위해 꼭 필요하다. ARPANET에 의해 처음으로 개발 되었으며 TCP/IP는 인터넷을 사용하는 컴퓨터라면 어디에나 세팅이 되어 있다.
          * 인터넷을 사용하기 위해서는 IP라는 주소가 필요하며 이 주소는 2진수 32개로 4묶음씩 구성된다. 각 묶음마다 10진수로 나타내어 알아보기 쉽게 만들었다. 현재 IP 버전은 4인데(IPv4) 약 43억개의 주소를 할당 할 수 있다. 그런데 이 주소가 얼마 남지 않아서 ip 버전 6으로 대체 할 것이라고 한다.(IPv6은 2의 128개로 구성되어 있다고 함.)
          * 또 서브넷마스크를 사용할때 AND연산이 필요하다.
          * ip의 생성이유 : TCP/IP프로토콜을 사용하는 모든 장비를 구분하기 위해서
          * ip주소는 2진수 32자리로 되어있음 -> 약 42억 9천개 -> 현재 사용자를 고려하면 남은 ip주소가 얼마 없음
          //네트워크를 나타낼 땐 호스트 부분을 0으로 표현. 그리고 각 클래스에서 표현 가능한것의 제일 작은 수와 제일 큰수는 사용불가.
          *호스트부분이 모두0은 네트워크, 1은 브로드캐스트 번호이므로 사용하지 않는다. -> 각 클래스에서 사용가능한 최대 호스트수는 순계산-2해줘야함.
          * 기본 게이트웨이 : 내부 네트워크를 벗어날때 밖으로 통하는 -> 라우터의 이더넷 인터페이스
          * 네트워크를 나눠 쓰지 않더라도, 디폴트 서브넷 마스크를 사용한다.
  • CommonPermutation . . . . 13 matches
         [http://online-judge.uva.es/p/v102/10252.html 원보기]
         두 개의 자열 a, b가 주어졌을 때 글자의 순서를 바꿔서 a의 부분 자열도 만들 수 있고, b의 부분 자열도 만들 수 있는 것 중 가장 긴 자열 x를 출력하라.
         입력 파일에는 여러 개의 케이스가 들어갈 수 있으며 각 케이스는 두 개의 연속된 줄로 구성된다. 즉 첫번째 줄과 두번째 줄이 한 테스트 케이스를 이루며 세번째 줄과 네번째 줄이 또 다른 테스트 케이스를 이루는 식이다. 각 행에는 소자로 이루어진 자열이 하나씩 들어있으며 한 테스트 케이스를 이루는 자열 중 첫번째 것을 a, 두번째 것을 b라고 하자. 각 자열의 최대 길이는 1,000글자다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 25분 || [CommonPermutation/보창] ||
         [제분류] [AOI]
  • CryptKicker2 . . . . 13 matches
         [http://online-judge.uva.es/p/v8/850.html 원보기]
         알려진 평 공격법(known plain text attack)이라는 강력한 암호 분석 방법이 있다. 알려진 평 공격법은 상대방이 암호화했다는 것을 알고 있는 구이나 장을 바탕으로 암호화된 텍스트를 관찰해서 인코딩 방법을 유추하는 방법이다.
         여러 줄의 텍스트가 주어졌을 때 같은 케이스에서는 모든 줄에서 같은 치환 방법을 사용한다고 가정하고 그 중 한 줄은 the quick brown fox jumps over the lazy dog라는 평을 암호화한 것이라는 점을 이용해서 암호화된 텍스트를 복호화하라.
         각 케이스는 여러 줄로 구성되는데, 앞에서 설명한 방법에 따라 암호화된 텍스트다. 암호화된 내용은 소자와 스페이스만으로 구성되며 길이는 최대 80자로 제한된다. 입력되는 텍스트는 100줄로 제한된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 3시간 || [CryptKicker2/보창] ||
         [제분류] [AOI]
  • C언어시험 . . . . 13 matches
         우연히 동네트워크에 들어갔다가 2005년도 1학기 중간고사 C언어 시험에 대한 이야기를 보게 되었습니다. 익게에 말이 엄청 많더군요.
         누가 C언어 시험 제를 정리해 올린 것을 보았는데, 시험 그 자체로는 큰 제가 없어보입니다. 수업시간이 어떤지가 더 궁금합니다. 교수님이 학생과 눈높이를 맞추는지 등.
         저도 그냥 시험 제가 엄청 어렵게 나왔다는 얘기만 들었는데 실제로 보니깐 어렵게 나오긴 나왔던데요 교수님은 좀 젊은 분이라고 합니다. - [상협]
         처음에 제를 보고 조금 당황하기는 했는데 저도 큰 제는 없다고 생각합니다. 제에 '''정답''' 이란 것도 없을 것 같고.. 단지 '''배우지 않은 내용이 제로 나왔다'''라는 이유만으로 말이 많은것 같네요. (물론 새내기의 입장은 충분히 이해합니다). 시험 제로 인해 기분상한 새내기들께는 교수님께서 제를 그런 스타일로 내신 의도를 파악해 보라고 말씀드리고 싶네요. 마침 내일 zp정모가 있으니 새내기들에게 C수업방식에 대한 이야기를 들어보고 내용을 이곳에 정리해서 올려보도록 하겠습니다. 제 생각도 전해주고요. 이전에, 첫 번째 과제에 대한 이야기를 듣고 (SeeAlso CodeYourself) 김승욱 교수님의 C언어 수업을 반드시 청강해 봐야겠다는 생각을 했는데.. 연구실 일정과 조교일이 겹처서.. ㅠㅠ 내년에는 반드시 청강해 볼 생각입니다. 이번일로 인해 그 의지가 더 강해지는군요. - [임인택]
         제가 내린 결론부터 말씀드리자면, 새내기들의 불만을 터뜨리게 한 가장 큰 원인이 '예상하지 못한 제가 출제되었다' 인것 같습니다(학생들은 C언어에 대한 제가 주를 이룰 것이다라는 생각을 하고 있었을 테니까요). 사람들의 이야기를 들어보니 ''교수님의 속도와 학생들이 받아들이는 속도가 맞지 않았다.'' 라는 생각이 들었습니다. 교수님께서 ''책에 있는 내용은 스스로 공부할수 있으니 저는 책에 나오지 않는 내용을 강의하겠습니다.'' 와 비슷한 말씀을 하셨다고 합니다. (새내기가 아닌) 한 학생이 교수님께 찾아가 강의의 난이도를 높여 달라는 말도 했다고 하구요(이 일 이후에는 C언어에 대한 내용을 skip하는 경우가 많았다고 하네요).
         수업시간에 시험에 나온 Waterfall, Spiral Model등등 프로세스에 관한 측면과 소프트웨어 디자인에 대한 강의도 있었다고 하는데 제 느낌이지만 교수님께서 너무 앞서나가셔서 (리듬이 맞지 않았다고 하면 될 것 같네요) 학생들이 받아들이는데 제가 있었던것 같습니다. (이러한 주제를 다룬것 자체에 대해서는 학생들이 그다지 크게 잘못된 생각을 가지고 있는것 같지는 않습니다) 제가 수업을 들었었다면 조금 더 구체적으로 적을수 있었을텐데 아쉽네요. 적적한 메타포의 활용이 아쉽네요. 저는 요새 후배들에게 무언가를 가르치려고 할때 메타포를 많이 활용하고자 한답니다. - [임인택] - 추가해서. 제가 사실을 잘못 알고 있으면 누가 말씀해 주시길 바랍니다.
  • DevelopmentinWindows . . . . 13 matches
          * 표준 사용자 인터페이스 제공 (["DevelopmentinWindows/UI"])
          * 세부적인 것들을 모두 다룰 수 있지만 너무 복잡해서 사용하기 어렵다.
          * 윈도우즈 API 만큼 세부적인 것들을 모두 다룰 수는 없지만 윈도우즈 API 보다 사용하기 쉽다.
          * AppWizard, ClassWizard 등의 툴과의 통합으로 더욱 쉽게 사용할 수 있다.
          ||LPCSTR||NULL 자로 끝나는 자열 상수 포인터||
          ||LPSTR||NULL 자로 끝나는 자열 포인터||
          * 일반적으로 "동사 + 목적어" 또는 "동사 + 보어" 로 만들고 각 단어의 첫글자는 대자로 나머지는 소자로 쓴다.
          ||c||카운터로 사용되는 변수||
          ||s||자열||
          ||sz||NULL로 끝나는 자열||
  • EightQueenProblemDiscussion . . . . 13 matches
         당신은 어떤 식으로 이 제에 접근을 했고, 어떤 사고의 과정을 거쳤으며, 어떤 과정으로 프로그래밍을 했으며, 어떤 디자인 결정을 했습니까? 만약 실패했다면 당신이 했던 것 혹은 하지 않았던 것 중 무엇이 실패의 주요인이었다고 분석을 하십니까?
         만약 당신보다 더 짧은 시간에, 더 짧은 코드로 제를 해결한 사람이 있다면, 그 사람과 함께 PairProgramming (혹은 NetMeeting 등을 이용, VirtualPairProgramming)을 해서 그 제를 함께 새로 풀어보세요. 당신은 무엇을 배웠습니까? 그 사람은 어떤 방식으로 프로그램의 올바름(correctness)을 확인합니까? 그 사람은 디버깅을 어떻게 합니까(혹은 디버깅이 거의 필요하지 않은 접근법이 있던가요)? 그 사람은 어떤 순서로 제에 접근해 갑니까? 그 사람은 어느 정도로까지 코드를 모듈화 합니까? 이 경험이 당신의 프로그래밍에 앞으로 어떤 변화를 불러올 것이라 생각합니까?
         자신에게 항상 "What is the simplest thing that could possibly work?"라는 질을 하면서 TestDrivenDevelopment를 했나요? 테스트/코드 사이클을 진행하면서 스텝을 작게 하려고 노력했나요? 중간에 진척이 별로 없는 경우, 어떤 액션을 취했나요? 그 때 테스트 사이클의 스텝을 더 작게하려고 했나요? 만약 다시 같은 제를 새로 푼다면 어떤 순서로 테스트를 하고 싶나요? (직접 다시 한번 새로 시작하는 것도 강력 추천) 왜 다른 사람들에 비해 시간이 상대적으로 많이 걸렸을까요? 테스트 코드를 사용한 것이 그 시간만큼의 이득이 있었나요? TestDrivenDevelopment를 해내가면서 현재 패스하려고 하는 테스트 케이스에서 무엇을 배웠나요? 켄트벡이 말하는 것처럼 사고의 도구가 되어 주었나요? 참고로 저는 EightQueenProblem을 파이썬으로 약 30분 정도 시간에 50 라인 이내로(테스트 코드 제외) 풀었습니다. TestDrivenDevelopment로요. --김창준
         사고의 도구로써는 연습장과 TFP 둘 다 이용했지만, 순수하게 적용하지는 않았습니다. (위의 Queen을 놓는 부분에 대한 재귀호출부분에서는 적용못함) 테스트작성시간/코드작성시간 등에 대한 관리는 하지 않았습니다. (이 부분에 대해서는 반성을. ^^;) 흠.. 그리고 'The Simplest Thing'을 찾아나갔다기 보다도, 이미 해당 제에 대해서 의사코드를 생각하고, 해당 코드에 대해 Top-Down 형태로 모듈을 나눈뒤에 모듈에 대해 테스트를 만들어갔다는 생각이 드네요. --석천
         지금가지 모두 C++, Python, Java 등 OOPL을 이용했는데 그 중 OOP로 푼 사람은 아무도 없네요 -- class 키워드가 있다고 OOP라고 하긴 힘들겠죠. 사람은 시간이 급하다고 생각이 들수록 평소 익숙한 도구와 멘탈리티로 돌아가려고 하죠. 어쩌면 OOP가 편하고 수월하다고 느끼는 사람이 없다는 이야기가 될지도 모르겠네요. 물론 모든 제를 푸는데 OOP가 좋다는 이야기를 하려는 것은 아닙니다만. --김창준
          * 제 인식 잘못, 풀이 계획 잘못. 완성되었다고 생각한 순간에, 크나큰 실수가 있었음 인지하였다. 답이 없는 줄 알았다. TT
          * 말에 대한 정보를 체스판에만 가지게 하였다. (제 분석 소홀히한 댓가 TT)
         [이승한]과 PairProgramming을 하며 제를 풀었습니다. TDD를 하지 않고 30분을 작성했고 나머지 1시간30분을 TDD로 했습니다.
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/변준원 . . . . 13 matches
         프로그램상에서의 캡슐화의 의미는 프로그램 분석자나 설계자가 주어진 제를 데이타와 함수들의 세부사항들은 개발의 차후단계에서 정의하고, 객체라는 덩어리 단위로 제에 대해 생각하게 하는 추상화의 수단을 제공하는 데 있다.
         속성 상속이라는 개념 역시 우리의 일상 생활에서 흔히 사용하는 개념을 프로그램으로 표현하기 위한 편리한 수단이다. 어떤 객체의 종류, 즉 클래스는 좀 더 세분화하여 분류할 수가 있는데 이렇게 세분화된 종류나 유형을 subtype 혹은 subclass라고 한다.
         객체 지향 프로그램의 중요한 특징으로 하나의 함수 이름이나 심볼이 여러 목적으로 사용될 수 있는 다형성(Polymorphism)을 들 수 있다. 객체 지향에서의 다형성이란, 복수의 클래스가 하나의 메세지에 대해 각 클래스가 가지고 있는 고유한 방법으로 응답할 수 있는 능력을 말한다. 즉, 별개로 정의된 클래스들이 ㅌ은 이름의 함수를 별도로 가지고 있어 하나의 메세지에 대해 각기 다른 방법으로 그 메세지를 수행할 수 있는 것을 의미한다. 예를 들어, 여러 가지 화일(file)들을 프린트 하는 함수를 생각해 보자. 화일에는 간단한 텍스트 화일(text file), 서 편집기로 만든 포멧 화일(format file), 그래픽을 포함하는 화일(file with graphics) 등 여러 가지가 있다. 이들 각각의 화일들은 프린트 하는 방법이 모두 다르다, 객체 지향에서는 아래처럼 각 종류의 화일을 별도의 클래스로 정의하고, 각각의 화일 종류별로 Print라는 함수를 화일의 형태에 맞게 구현한다.
         정보 은폐란 캡슐속에 쌓여진 항목에 대한 정보를 외부에 감추는 것을 의미한다. 즉, 처리하려는 데이타 구조와 함수에 사용된 알고리즘 들을 외부에서 직접 접근하지 못하도록 하고 캡슐 내부의 함수들만이 접근하게 된다. 객체지향에 관한 서적이나 논에서 이 두가지 개념이 중요시 소개되는 것은 바로 객체라는 것이 캡슐화와 정보 은폐의 원리를 실제의 프로그래밍 언어에서 실현한 것이기때이다.
         이 Public Interface는 언어에 따라 표현 양식이 다른데, C++에서는 "public"이란 특별 구을 두어 "public"란에 들어간 항목들만 외부에 공개된다. Effel이란 언어에서는 "export"라는 란에 지정된 항목들만 외부에 공개된다. 앞에서 정의한 POINT라는 객체 정의를 보면 move와 setcolor의 함수들이 외부에서 관찰될 수 있는 public interface임을 알 수 있다. 여기서 한가지 유의할 점은 move와 setcolor라는 함수들이 외부에 보여져 불리워질 수 있는 함수들이라는 것이며 각 함수가 가지고 있는 코드나 알고리즘까지 보여지는 것은 아니라는 것이다. 한 함수가 외부에 보여지는 부분을 signature라고 하며 하나의 signature는 함수의 이름, 입력 매개변수(input parameter)와 출력 매개변수(output parameter)로 구성되어 있다.
         위에서 살펴볼 캡슐화와 정보 은폐의 이점은 우선 객체 내부의 은폐된 데이타 구조가 변하더라도 주변 객체들에게 영향을 주지 않는다는 것이다. 예로서, 어떤 변수의 구조를 배열(array)구조에서 리스트(list) 구조로 바꾸더라도 프로그램의 다른 부분에 전혀 영향을 미치지 않는다. 또한 어떤 함수에 사용된 알고리즘을 바꾸더라도 signature만 바꾸지 않으면 외부 객체들에게 영향을 주지 않는다. 예를 들어, sorting 함수의 경우 처음 사용된 sequence sorting 알고리즘에서 quick sorting 알고리즘으로 바뀔때 외부에 어떤 영향도 주지 않는다. 이러한 장점을 유지보수 용이성(maintainability) 혹은 확장성(extendability)이라 한다.
         "Printer"라는 클래스는 추상 클래스로서 실존의 어떤 프린터 기능을 가지고 있지 않고, dot matrix printer나 laser printer 등의 완전 클래스들 간의 공통된 특성만 지정하고 있으므로, 그 인스턴스를 만드는 것은 무의미하다. 추상 클래스는 점진적 개발 방법(Incremental Development)에 유용하게 사용될 수 있으며, 공통 속성(attribute)의 추출 및 정의에 유용하므로 제를 모델링하는데 편리함을 더해준다.
  • HelpOnInstallation . . . . 13 matches
          * <!> `rcs`가 없어도 사용할 수 있으나 백업본이 저장되지 않습니다.
          * 최신 모니위키는 PHP로 만들어진 RcsLite를 제공하며, rcs 대신에 사용할 수 있습니다.
          * 윈도우즈 사용자의 경우는 아파치 웹서버를 제외한 PHP + rcs + 기타 몇몇 프로그램이 함께 패키징 된 apmoni-setup-1.1.x.exe를 제공합니다.
          * 윈도우즈 사용자의 경우 micro apache 웹서버가 포함된, mapmoni-setup-1.1.x.exe 를 받으실 수도 있습니다. (단, 여기서 .x. 는 3 이상)
          그러나 초보사용자라면 SystemPages는 반드시 설치하는 것을 권장한다.
         모니위키 설치가 끝났지만 사용자의 입맛에 맞게 설정하고자 한다면 다음을 참고하세요.
          * 그밖의 질은 http://kldp.net/projects/moniwiki/forum (모니위키 프로젝트 홈페이지의 게시판)
         root사용자라면 tar를 이용해서 간단히 백업할 수 있겠고, 호스팅을 하는 일반 사용자의 경우라면 backup restore를 액션을 이용할 수 있다.
          * 윈도우즈 사용자라면 퍼미션이 제가 되지 않으므로 간단히 {{{data}}}디렉토리를 통채로 복사해서 보존하면 될것이다.
          * 위의 링크 설명으로 가보니 모니위키 1.1.2의 제점은 이미 해결되었고, vim관련 옵션은 VimProcessor를 살펴보세요.
  • ISBN_Barcode_Image_Recognition . . . . 13 matches
          * 실제 영상에서는 대개 존재하나. 캡쳐한 화면 상에 없을 수도 있고, 샘플링 과정에서 잡음이 끼기 때에 바코드를 인식하기 위해 이 영역을 인식하는 것을 추천하지는 않는다.
          * EAN-13은 13자리 숫자(Check Digit 포함)로 생성하거나 해석할 수 있는 바코드이다.
          * EAN-13의 심볼로지에 대해 잘 설명되어 있는 페이지(영) : http://www.barcodeisland.com/ean13.phtml
          * Left Characters와 Right Characters는 각각 6자리 숫자를 나타낸다.
          * 각 12자리 숫자에 가중치를 곱하여 다 합하고, 합한 값을 10으로 나눈 나머지를 10에서 빼면 Check Digit가 나온다.
          * 가중치는 1, 3, 이 반복되는 패턴이다. 첫 번째 자리 숫자에 1을 곱하고, ... , 열두 번째 자리 숫자에 3을 곱한다.
          * 가운데에 있는 비트 5개(32 가지수)로 숫자를 구분하며, Left(Odd), Left(Even) 중에 겹치는 것이 없다.
          * 즉, 하나의 숫자를 나타내기 위해 2개의 Bar와 2개의 Space가 존재한다.
          * 스페이스와 바에 의해 직접적으로 표현되는 숫자는 12개이다. 나머지 하나의 숫자는 Left Character의 인코딩을 해석해 얻어내야 한다. 예를 들어 8801067070256 이라는 EAN-13 바코드가 있을 때, 바코드에 직접적으로 얻어지는건 맨 앞의 자리 '8'이 빠진 801067070256 이고, 이는 Left Character에 해당하는 801067의 인코딩을 보고 알아내야 한다.
          * 안드로이드 공식 서에 따르면 항상 지원되는 포맷이라고 한다.
          * 공식 서에 따르면 API level 12(허니컴 3.1.x)부터 항상 지원되는 포맷이라고 한다.
  • LUA_5 . . . . 13 matches
         해쉬 테이블로 사용하기
         여기서 ["a"] 는 키 값으로 사용 되었고 1는 ["a"]에 맴핑 된 값으로 사용 되었습니다. 키 값은 단순히 값으로 말고 변수로도 사용 할 수 있습니다.
         대신 값으로 키값을 사용할때와는 다르게 변수에서는 테이블명에 . 로도 변수를 참조할 수 있습니다. HashT2["a"] 로도 참조 가능합니다.
         그렇기 때에 테이블은 배열로도 사용 될 수 있습니다. 그럼 배열에 추가적으로 insert 하고 remove 해 보겠습니다.
         그리고 만약 배열로 사용하는 테이블 내의 값들을 정렬하고 싶으면 table.sort를 사용하면 됩니다.
         지금까지는 간단히 테이블을 자료구조로 사용하였는데, 루아에서는 거의 모든 것이 테이블의 키로 사용 될 수 있기 때에 테이블과 함수를 연결 할 수 있습니다.
         >> return { Go = Go } -- 여기서 local function Go를 반환하므로 Car에 대한 맴버 함수로 사용할 수 있다.
  • LoadBalancingProblem . . . . 13 matches
         Load Balancing 이라는 개념은 앞으로 몇번 접하게 될 개념입니다. 컴퓨터분야에서뿐만 아니라 다른 분야 (예를 든다면 이삿짐 업체나, 택배업체, 우체국 등등..) 에서도 쓰입니다. Load Balancing은 역할분담을 가장 적당하고 고르게 하여 각각의 개체들이 부담을 적게 느끼고 전체 작업시간을 단축시킬수 있도록 해 줍니다. 간단한 LoadBalancingProblem 제를 접하여보고 기회가 닿는다면 조금더 복잡한 종류의 제를 풀어보는것도 좋을것 같습니다.
          - [http://ipsc.ksp.sk/problems/ipsc2002/b.php 원래 제 링크]
          IPSC 에는 입력을 파일로 받도록 하였으나 여기서는 직접 사용자가 다음과 같은 형식으로 입력한다.
         || 해결자 || 개발시간 || 사용언어 || Source ||
         == 이 제에 대한 의견이나 질을 말해주세요 ==
          IPSC 라고 해서 엄청 어려운 제도, 그렇다고 한번에 풀수 있는 쉬운 제도 아닙니다. 풀어본 제 몇개 중에서 재미있다고 생각되는 제들을 여러 사람들이 함께 풀어보았으면 하는 바람에서 페이지를 열어보았습니다. - 임인택
         see also IpscLoadBalancing, ["제은행"]
         ["제분류"]
  • MySQL . . . . 13 matches
         ZeroPage에서 사용하고 있는 데이터 베이스
          ''-- 이건 사용자가 root일 때만 되는거 아닌가요? 권한이 없는걸로 알고있는뎅 ^^ -jeppy''
         mysqldump -p암호 -u사용자 --database DB명 > mysqlbackup.sql
         mysqldump -p암호 -u사용자 DB명 TABLE명 > tablebackup.sql
         mysql -p암호 -u사용자 --database db명 < mysqlbackup.sql
         === 기타 의 요구 사항 ===
         웬지 저 제가 아닐까 하는 생각을 해보는중. (아니면 내가 삽질중인거고;) --["1002"]
          앗 탄로 났다. 드뎌 영으로 설치한 부작용이 다들 영어 써요 ~ 와~~;; 오호 통재라 모든것은 시험끝나고 이루어질것이니.. --["neocoin"]
         MySQL에서 한글이 들어간 자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수한 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 한글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --["상규"]
         [http://network.hanbitbook.co.kr/view_news.htm?serial=131 MySQL과 Transaction] 테이블 생성시 InnoDB 나 BSDDB 를 사용하면 Transaction 을 이용할 수 있다. (InnoDB 추천)
         MySQL 에서 다른 데이터베이스로 데이터를 옮길 경우 기존 데이터중 제가 되는 것이 바로 내장함수인 PASSWORD 를 이용해서 암호화를 한 부분이다. 다른 데이터베이스에서 이 데이터를 쓸 방법이 없기 때이다. 이 경우, 로직 단에서 MySQL의 Password 함수를 대신 구현해줌으로서 해결을 할 순 있다.
  • PracticeNewProgrammingLanguage . . . . 13 matches
         새로운 프로그래밍 언어를 배울때 작성하면 도움이 될제를 제시하는 페이지.
         제의 난이도, 흥미도를 중시한 제제시가 아닌 언어가 제공하는 폭넓은 기능을
         모두 사용해보는 역할이 주요함.
         1. 스트링 출력 : 자열 변수에 저장된 자열과 정수형 변수에 저장된 숫자를 출력하시오.
         2. 스트링 입력 : 사용자의 키보드 입력을 통해 자열을 입력받아 다시 출력하는 프로그램을 작성하시오.
         6. 스트링 검색 : 특정 텍스트 파일을 열고, 사용자가 입력한 스트링을 검색할 수 있는 프로그램을 작성하라.
         1. HelloWorld 소켓 : 소켓(유사한 기능)을 이용하여 프로그램내에서 지정된 자열을 교환하는 서버, 클라이언트를 작성하시오.
         2. 쓰레드 생성 : 2개 이상의 쓰레드를 생성하여 동기화 제를 해결한 1~500까지의 합을 구하는 프로그램을 작성하시오.
  • ZeroWiki . . . . 13 matches
         ZeroWiki는 ZeroWikian, ZeroPagers들의 ''프로젝트 & 스터디 공간''으로 쓰이며, 공개적으로 운영되고 있다. 현재의 자신들이 공부, 관심있는 분야들에 대해 페이지를 지속적으로 키워나가면서 다른 사람들에게 보여줄 수 있고, 또한 참여를 하게 할 수도 있다. 그리고 여기에 남겨놓은 서들을 토대로 다른 사람에게 전달해줄 수 있을 것이다. 또한 해당 페이지는 다시 수정과 수정을 거침으로 키워져 나갈 것이다.
         각각 사람들이 공부하고자 하는 분야가 다양해지고, 사람들이 모든 영역을 다 커버할 수 없다고 할때, 반복되는 질이 일어나기 쉬운 일반 게시판의 질답란보다 더 의미있는 정보들을 담아낼 것으로 기대한다. ZeroWiki 는 ZeroPage 의 정보 Repository 이다.
         == ZeroWiki 의 사용용도 ==
          * 위와 같은 목적으로 쓰는 사람들이 알아서 잘 사용하세요. 다른 사람들의 페이지에 대해서도 자유롭게 참여하십시오.
          kesarr: 노스모크는 흡연을 안 하는 사람들의 폐쇄적인 모임 같은 건데 처음에는 파이썬으로 구현된 유명 위키 플랫폼인 모인모인을 사용했는데 제로페이지 위키도 김창준 선배와 교류하면서 노스모크 활동을 하시던 제로페이지 선배님들이 모인모인을 적용했었고 노스모크 내부의 다양한 요구사항에 대응하기 위해서 노스모크의 한 회원이 모인모인을 개조하기 시작 이걸 모인모인 노스모크 에디션이라 부르고 그 회원이 아예 위키 플랫폼을 새로 만들자고 선언하고 PHP로 새로운 한국형 위키 플랫폼을 개발했는데 그것의 이름이 모니위키
          bluemir: 음... 그렇군요. 법 호황되는 플랫폼이 적당하겠네요
          kesarr: 그리고서 노스모크는 모니위키로 건너갔고 제로위키는 제로페이지 선배님들이 모인모인과 호환되는 새로운 위키를 공부도 할겸 제로페이지 내 프로젝트로 진행하셨는데, 이게 제로위키. 제로페이지 위키는 여기서 제로위키로 갈아탐 제로위키는... 일단 심각한 버그가 있었고 특정 행동(콘텐츠 편집)에서 행이 걸려서 엄청나게 늦게 반응하는 제가 있었음...그런데 프로젝트를 진행하던 선배님들이 계속 제로위키를 유지보수하기 힘들게 되면서... 그런데 그 시점에...!!
          kesarr: 학교에 있던 제로페이지 서버가 폭파되는 재난이 발생... 06~07년에 사용하던 제로위키에 저장된 콘텐츠는 모두 증발하고 모인모인에서 제로위키로 옮겨타던 무렵 백업해둔 자료를 가지고... 새로운 서버에 모인모인과 법이 호환되는 모니위키를 설치해서 운영 재개... 11-12년 도쿠위키 또는 미디어위키로 위키 플랫폼을 옮기려는 제로페이지 내부 프로젝트를 개설했으나... 다들 바쁜데 진행할 게 많고 이미 모니위키가 모인모인과 많이 달라져서... 모인모인-타위키 컨버터를 쓸 수 없다는게 함정 모니위키는 한국의 일부 위키만 쓰므로... 다른 위키와의 컨버터 따위 없다.. 게다가 제로페이지 위키는 모인모인 법과 모니위키 법이 혼재하기 때에 컨버터를 만드는 것 자체가 까다로운...
         see also ["ZeroWiki/제안"], ["위키로프로젝트하기"], ["제로위키이용의어려움"], ["학술터위키와제로페이지위키링크제"]
  • zennith/w2kDefaultProcess . . . . 13 matches
         Win32.sys가 Win32 subsystem의 커널모드 부분인데 비해서 Csrss.exe는 사용자모드 부
         작업관리줄, 바탕화면 등과 같은 사용자 셸로서 Windows의 작동에 있어 필수적인 요소
         시스템 시작과 함께 구동되는 프로세스로 사용자가 지정한 여러가지 입력로케일
         시스템 트레이에 "EN" 아이콘을 띄움으로써 사용자가 입력로케일간에 변환을 손쉽게
         로컬 보안 인증 서버로서 Winlogon 서비스가 사용자를 인증하는데 필요한 프로세스를
         다. 인증이 성공하면 Lsass는 해당 사용자의 Access Token을 생성하고 이를 이용해 초
         기 셸이 구동된다. 동 사용자가 초기화하는 다른 프로세스들은 이 Access Token의 지
         사용자가 미리 지정한 시간에 작업을 실행시키는 Task Scheduler Service
         사용자 세션을 시작시키는 세션 관리자 subsystem으로서 시스템 쓰레드에 의해 초기화
         기 때에 2개 이상이 생길 수도 있다. Svchost.exe를 이용하는 프로세스들의 명세를
         확인하려면 윈2000 CD에 있는 Tlist.exe를 이용하면 되고 구은 명령 프롬프트에서
         사용자 로그온 및 로그오프를 관리하는 프로세스로서 사용자가 Ctrl+Alt+Del를 눌러
  • 새싹교실/2011/學高/1회차 . . . . 13 matches
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
          * ZeroWiki의 사용
          * 링크 걸기: 대괄호 사용
          * 소스 코드: 중괄호 3개 사용
          * 위키의 사용법, 편집방법, 링크, 소스코드, 등을 사용하는 방법을 배웠고
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
          * 틀리지 않았다면 제 기억으론 위에 사용한 stdio.h가 맞습니다.
          2 . Wiki 사용
          * #include <stdio.h> : stdio라는 헤더파일의 함수를 사용하기 위해 include 하겠다
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
         printf를 사용하여 출력하는 법을 배웠다.
          * printf()를 사용하기 위해 include 시켜야하는 library(~.h로 끝나는 파일)은 무엇인가?
  • 수학의정석 . . . . 13 matches
         취지 : 컴퓨터를 배우는 입장에서 컴퓨터 언어와 컴퓨터 구조만을 알고 우리들이 배운 수학이나 과학의 배경지식을 접목시키지 못하는 것은 정말 바보 같은 행동이다. 결국 그 사람은 코더밖에 될 수 없으며 결코 프로그래머는 되지 못한다. 때에 이러한 페이지를 만들어 수학을 컴퓨터에 접목시켜 배우고자 한다.
         방식 : 매주 3개의 제가 나가며, 이 페이지에는 누구나 참여, 탈퇴가 가능하다. (나만 할 가능성이 높지만.)
          출체되는 위치는 수학의 정석(공통, 수1, 수2) 6차 교육과정이며, 이 경우 7차 교육과정에서 배운 사람들이 풀지 못하는 제도 나온다. (1차변환,복소수, 등)
          이러한 UPDATE를 둔 이유는 수학의 입장에서 여러가지 방식으로 제를 풀 수 있기 때이다.
         P.S : 출제자가 GCC만을 사용하는 관계로 그래프등의 제는 나오지 않을것이다.
          경우에 따라서는 아주 어려운 제가 나올 수 있다. 이것은 출제자가 놀리는 것이 아니라 출제자 또한 그 제를 어렵게 생각한다는 것을 뜻한다.
         ||제(공통)||설명||
         ||제(수1)||설명||
         ||제(수2)||설명||
         제가 알기론 clock() 함수가 리턴하는 값은 프로그램이 시작된 이후로 경과한 CPU 클럭 수 이기 때에 시스템마다 다르다고 알고 있습니다. 그래서 CLK_TCK로 나누어 초 단위로 바꾸어 비교를 하는것으로 알고있는데... 어떻게 생각하시는지...? --[상규]
  • 정모/2002.5.30 . . . . 13 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들을 먼저 만들고 코드를 전개하는지, 자신이 만들려는 코드를 먼저 작성하고 필요한 변수들을 하나하나 정의해나가는지 등등.)
         제를 내 주고 난 다음에 선배들과 이야기하면서 프로그래밍을 하는 경우, Programming 의 주도자는 제의 당사자인 후배가 됩니다. 하지만, 제를 풀어나가는 순서 (즉, 제를 받고, 컴퓨터 앞에 앉았을때부터의 작업 진행과정들)는 여전히 후배들의 순서를 따르게 됩니다.
         하지만, 스스로 제를 먼저 해결해보도록 하는 것은 초반에 확실히 장점이 되리라 생각합니다. 자기 스스로 제자체를 인식하고 느끼지 못한 상태에서는 어떠한 '인상적인 대단한 내용' 도 일반 흘러가는 TV채널과 다를 바가 없게 된다고 생각.
         초반 3일정도는 스스로의 방법으로 (주어진 플랫폼(?)에서 한계에 다다를 정도까지라고 할까요.) 해결해보도록 한 뒤, 그 이후쯤에 선배들과의 PairProgramming을 해보는 (위의 처럼, 제 해결방법 순서까지 보여주는.) 것은 어떨까 하는 생각을 해봅니다. 위에 열거한 저러한 것들도 자신이 원하지 않으면, 또는 자신이 민감하지 않으면 관찰자체를 하지 않는 것들이니까요. --1002
          ''일단 자신이 가진 비효율적/비체계적 방법으로 좀 고생을 해보고나서, 선배의 방법(제에 대한 답이 아니고, 메쏘돌로지)으로 그 변화를 직접 느껴보고 자신이 받아들일지 말지 선택하는 것은 참 좋은 방법입니다. NoSmok:동의에의한교육 이라고 할까요. --JuNe''
  • 지금그때2004 . . . . 13 matches
         도우미(준비) : [나휘동], 곽세환, 임민수, 구자겸, [노수민], 강석천(고), 황재선
         [지금그때2004/게시판홍보안]
         [지금그때2004/강의실선전홍보안]
         [지금그때2004/패널토의질지]
         해당 패널에게는 패널토의질지를 보여주어야겠죠? 해당 질에 대한 답변을 어느정도 준비하게끔 하는것도 좋겠다는 생각이 듭니다.
         졸업한, 혹은 아직 졸업하지 않은 선배들 몇 명을 패널로 앞에 앉게 합니다. 그리고 사회자 한명이 질을 합니다. 토크쇼처럼 말이죠. 중간에 "방청객"의 질을 받을 수도 있습니다. 패널은 각자 자신의 생각을 말합니다.
         Berkeley Visionaries Prognosticate About the Future http://netshow01.eecs.berkeley.edu/CS-day-004/Berkeley_Visionaries.wmv 이걸 보면 대충 감이 올겁니다. 이 동영상의 경우 뛰어난 패널진에 비해 진행자가 그리 좋은 질을 하지 못해서 아쉽기는 합니다. 좋은 질을 하려면 서점이나 도서관에서 [질의 힘]이라는 책을 읽어보세요. 그리고 04학번 눈높이의 질에 대한 고학번들의 생각을 들어보는 것도 중요하지만 04학번이 전혀 생각 못하는 질을 대신 물어주는 것도 중요합니다. 고객과 요구사항을 뽑는 것과 비슷할 수 있겠죠. "그들이 원하는 것"은 물론 "그들이 필요로 하는 것"(주로, 나중에 그들이 원할만한 것)을 이야기해야 하니까요 -- 또 종종 그들은 자신이 뭘 원하는지 모르는 경우도 많습니다.
  • 지금그때2006/여섯색깔모자20060317 . . . . 13 matches
         초록: 크게 누가, 어떻게, 누구에게 할 지 정해야 한다. 책임은 다같이, 일부는 제외하고, 06포함, 특정개인이 맡을 수 있다. 방법으로 재학생 대상으로 A4, 강의실, 동네트워크, 입소이 있으며, 나머지 대상으로 전화, 이메일, 자, 제 3자에게 전달이 있다. 또한 단계적으로 몇 차례 나눠서, 돌아가면서, 남여교차, 학번교차하는 방법이 있다. 대상은 제로페이지 선배, 졸업앨범 명단, 교수님, 다른 학회 선배가 있다.
         빨강: 남여교차 몰표. 06포함 두 표. 특정개인과 일부제외 좋다 한표, 싫다 한 표. 강의실 싫다 한 표.
         검은: 역할이 편중된다. 입소은 누가 누구에게 어떻게 해야할지 명확치 않다. 전화, 이메일, 자는 중복이다.
         노랑: 입소은 빠르고 설득력있다. 전화, 이메일, 자는 다 하는 것이 확실하다.
         초록: A4는 수생이가 눈에 띄게(컬러도 가능) 만들어 붙인다. 강의실은 일부 제외하고 저학번이 주도하여 홍보한다. 동네트워크에는 학번교차로 올린다. 입소은 기준없이 개인이 알아서 한다. 이메일을 보낸 후 답장 받으면 전화하고 행사 전에 다시 자를 보낸다.
  • 3rdPCinCAUCSE/J-sow전략 . . . . 12 matches
         제풀기 규칙을 정한다든지, 예상 제를 살펴보는 준비는 없었습니다. 작년에 같은 팀을 했기에 올해도 같은 팀으로 [정우]와 함께 나갔습니다. 작년 대히를 생각해보면, 알고리즘을 생각하는데 주력할 것이라는 이야기를 나누었습니다.
         예상보다 제가 간단해서 흥분했습니다. 난이도를 살핀 결과 B < A < C 라고 판단하고 쉬운 순서대로 풀어나갔습니다.
          * B번 제 ( ~ 약 7시 )
          * 사각형의 꼭지점에 집착한 [나휘동]과 달리, 한 칸 넓이를 중심으로 본 [정우]가 의견을 내자 가장 쉬운 제로 전락(?)했습니다.
          * A번 제 ( ~ 약 8시 20분 )
          * DevilsCamp2003에서 풀어보았던 제입니다.
          * 8방향 검색이 필요없고 4방향 검색(오른쪽 위, 오른쪽, 오른쪽 아래, 아래)만 하면 된다는 결론이 났습니다. 왜냐하면 맨 왼쪽 점을 출력해야 하기 때에 역방향 검색은 의미가 없다는 판단을 했기 때입니다.
          * C번
          * 이번 제도 배열로 풀 수 있으리라는 생각을 우선 했습니다.
          * B번 제에서 했던 실수(초기화)를 그대로 반복해서 패널티 한 번을 받고 풀다가 끝났습니다. :(
  • Counting . . . . 12 matches
         [http://online-judge.uva.es/p/v101/10198.html 원보기]
         구스타보는 수를 셀 줄은 알지만 수를 쓰는 방법은 아직 배운지 얼마 되지 않았다. 1,2,3,4까지는 배웠지만 아직 4와 1이 서로 다르다는 것은 잘 모르기 때에 4라는 숫자가 1이라는 숫자를 쓰는 또 다른 방법에 불과하다고 생각한다.
         그는 그가 만든 간단한 게임을 하면서 놀고 있다. 그가 알고 있는 네 개의 숫자를 가지고 수를 만든 다음 그 값을 모두 더한다. 예를 들면 다음과 같은 식이다.
         구스타보는 합이 n인 수를 몇 개 만들 수 있는지 알고 싶어한다. n = 2 일 경우에는 11,14,41,44,2 이렇게 다섯 개의 숫자를 만들 수 있다 (5 이상의 수도 셀 수는 있다. 다만 쓰지 못할 뿐이다). 하지만 2보다 큰 경우에 대해서는 그가 만들 수 있는 수의 개수를 알 수가 없어서 여러분에게 도움을 청했다.
         1 이상 1,000 이하의 임의의 정수 n이 한 줄에 하나씩 입력된다. 파일 끝 자가 입력될 때까지 계속 읽어와야 한다.
         입력된 각 정수에 대해 합이 n이 되는 숫자의 가지 수를 나타내는 정수를 한 줄에 하나씩 출력한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || . || [Counting/보창] ||
         [제분류] [경시대회준비반]
  • CppUnit . . . . 12 matches
         == 준비 2 - CppUnit을 사용할 프로젝트 열 때 해주어야 할 기본 세팅 ==
         코드를 보면 알겠지만, ASSERT 들에 대해서 전부 매크로를 이용한다. 만일 이를 다른 언어들의 UnitTest Framework 처럼 assertEqual 이나 assert 으로 쓰고 싶다면, 다음의 장을 cppunit library 를 include 하기전에 추가해준다.
         싱가폴 국립대학의 소프트웨어 공학 프로젝트 수업에서 CppUnit을 사용하고 있는데, http://www.comp.nus.edu.sg/~cs3214s/tools/cppunitVC.html 에 가면 MSVC에서 CppUnit을 사용하는 방법을 쉽게 설명한 안내서를 볼 수 있다.
          학교 수업에서 실질적이고 현장에서 직접 쓰이는 도구들을 사용하도록 유도하는 것이 정말 부럽고, 국내 프로젝트/실습 수업에서 그냥 교재의 챕터 하나씩 발표시키고 이를 지켜보고, 평가하고, 끝에 지엽적인 질으로 발표자 골탕 먹이는 일 외에도, 교수(혹은 조교)가 해 줄 수 있는 것이 이렇게 많다는 것이 신기하다는; --JuNe
         library path 제일 것 같은데요. 아니면, CppUnit 이 컴파일 되어있는지 확인해야 할것 같습니다. (lib 디렉토리에 cppunitd.lib 화일이 있는지 확인) --["1002"]
         main에서는 ExampleTestCase를 사용하지 않는데요...
         Win32 API환경에서 MFC TestRunner를 사용하는 방법을 찾았으면 좋겠군요. 여러가지로 시도해보았는데 MFC에 대한 지식이 너무 부족해서 계속 실패하네요. --[이응준]
         또 이 부분은 제대로 작동하지 않는 듯 하네요. 복사가 안 되어도 작동은 하니까 아직까지 제는 없습니다만;;-[Leonardong]
  • Eclipse . . . . 12 matches
         Eclipse에서는 내부의 CVS 클라이언트를 사용한다.[[BR]]
          * '''Ecilpse가 JRE path제로 실행이 안되는 경우'''
          * J-Creator가 초보자에게 사용하기 좋은 툴이였지만 조금씩 머리가 커가면서 제약과 기능의 빈약이 눈에 띕니다. 얼마전 파이썬 3차 세미나 후 Eclipse를 알게 되면서 매력에 푹 빠지게 되었습니다. 오늘 슬슬 훑어 보았는데 기능이 상당하더군요. 상민형의 칭찬이 괜히 나온게 아니라는 듯한 생각이...^^;;; 기능중에 리펙토링 기능과 JUnit, CVS 기능이 역시 눈에 제일 띄는군요 --재동
         DeleteMe 후훗 학기중에 추천해 줄때는 사람덜 눈길도 안주더만, 역시 필요 동기가 사용을 낳는군. IntelliJ 역시 굉장히 강력함 하지만 역시나 Ecilpse, IntelliJ모두 128램에서 돌리기에는 버벅, 궁금한 사항 의하면 답변해 줄수 있을꺼다 아마 --상민
          * 회사 프로젝트에서 Eclipse 를 사용하고 있다. J2EE 개발에 유용한 EclipsePlugin 을 추천함. -- [구근]
          * 올초 Eclipse를 처음 접하고, 좀 큰 프로젝트에 Eclipse를 적용해 보았다. CVS, JUnit, Ant사항을 반영하고 대형 상용 Package를 사용하는 관계로 setting할 것도 많았지만, 개발이 종료된 지금 결과적으로는 매우 성공적인 적용으로 볼 수 있다. 팀프로젝트시 모듈로 나누어 그룹 개발이 될 경우에 매우 효율적이니, 강추함. 앞으로 발전되는 모양을 지켜보거나 참여하면 더 좋을 듯... -- [warbler]
          혹시 그 큰 규모라는 것이 어느정도 인지 알수 있을까요? 라인을 쉽게 세기 위해서 현 Eclipse를 새로 하나 복사해서 Eclipse용 metric 툴은 http://metrics.sourceforge.net/ 를 설치하시고 metric전용으로 사용하여 쓰면 공정-'Only counts non-blank and non-comment lines inside method bodies'-하게 세어줍니다. (구지 복사하는 이유는 부하를 많이 줍니다.) -- NeoCoin
          * 2003년 5월 ~ 지금(2003년 12월) Web 프로젝트에서 Eclipse(3.0 M4 or 5) 를 이용하고 있습니다. 8명의 개발자들이 Eclipse를 함께 사용하고 있습니다. -- NeoCoin
          * quick fix, UnitTest, [Refactoring], [CVS], 그리고 방대하고 다양한 플러그인들이 제일 마음에 든다. 툴을 사용하는 재미가 있다. - [임인택]
          * 2005년 5월 중순경에 3.1 M7 버전이 나왔다. 아마 다음 버전이나 그 다음 버전이 3.1 정식버전이 되지 않을까 싶다. M6에서 M7로 가면서 메모리 사용량이 많이 줄어든 것 같다(Freemem 이라는 플러그인으로 메모리 사용량 확인). 전체적으로 가벼워진 듯한 느낌을 준다. (총 용량은 변화가 거의 없지만) - [임인택]
  • FoundationOfUNIX . . . . 12 matches
          * UNIX 사용법에 대한 기초를 알려 줍니다.
          * 몇시간 정도 밖에 못할것을 감안하여, 그렇게 많은 내용을 전달할것 같지는 않고, 실습 위주로 간다히 UNIX 사용법에 대한 맛만 보여줄 것을 목표로 잡았습니다.
          * cp file1 /test1 (절대 경로와 상대 경로를 사용할 수 있따.)
          * 메뉴얼(사용 설명서) 보는 명령어
          * 아까 -rwxr--r--은 (-디렉토리,파일여부 파일은 -, 디렉토리 d)(--- 사용자 권한)(---그룹 권한)(---다른사용자 권한)
          * vi 편집기 사용
          * x - 하나의 자를 지우는 명령어
          * p - 붙이기.. dd 명령어 수행하면 지워진것이 버퍼에 저장.. p 명령어 사용함으로써 버퍼에 저장된 것을 붙임
          * / - 내용찾기 /word ,다음찾기 n, 대자 N 은 반대방향으로
         === 응용제 ===
         ["제분류"]
  • FrontPage . . . . 12 matches
          * 제로페이지에 처음 방하신다면 [ZP%20Docs|여기]를 참고.
          * [https://chat.zp.ai Chat: ZeroPagers]의 메신저 Mattermost가 있습니다. (가입을 위해서는 회장님에게 의하세요)
          * 총 '''[[PageCount]]'''개의 서가 있습니다.
          * '''[[ZeroWiki]] 사용이 처음이시거나 미숙하신 분'''은 [[ZeroWiki]]에서 사용하는 위키엔진인 모니위키의 튜토리얼을 읽어보세요!
          * [[WikiSandBox]] : 위키 법에 대한 간단한 설명이 있고, 자유롭게 위키 사용을 연습할 수 있는 공간입니다!
          * 페이지 제목에 공백을 사용하면 링크가 제대로 걸리지 않는 제가 생기는 것 같아 임시로 공지합니다. 해결하면 수정하겠습니다.
          * 서버 이전으로 ZeroWiki 동작에 제가 있을 수 있습니다. 제가 있으면 Mattermost ~devops 채널에 제보바랍니다.
          * 위키화의 변화에 따른 [[홈페이지토론]]이 개설되었습니다.
  • HanoiTowerTroublesAgain! . . . . 12 matches
         [http://online-judge.uva.es/p/v102/10276.html 원보기]
         하노이의 탑 제를 변형시킨 제들 중에도 흥미로운 제들이 많이 있다. 이 제는 N개의 기둥과 1부터 무한대까지의 정수가 적혀있는 공에 관한 제다. 두 공에 적힌 번호의 합이 완전제곱수(어떤 정수를 제곱한 수)가 아니면 그 두 공 사이에는 서로 맞닿아있을 수 없을 만큼 큰 척력이 작용하게 된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 10분 || [HanoiTowerTroublesAgain!/보창] ||
          || 하기웅 || C++ || 원랜 1시간, 보창 XXX 때에 말렸음ㅡㅡ; || [HanoiTowerTroublesAgain!/하기웅] ||
         [제분류] [경시대회준비반]
  • HelpOnUserPreferences . . . . 12 matches
         == 사용자 환경 설정 ==
         위키위키를 여행하시는데에 사용자 등록을 하시면 편리합니다. 사용자 등록을 마친 후에는 우상단의 아이콘에 [[Icon(home)]]이 보이게 되며, 자신만의 [위키홈페이지]를 만들어 보실 수도 있습니다.
          * '''[[GetText(Name)]]''': 사용자의 실제 이름 혹은 별명. WikiName 형식으로 만들면 편리합니다.
          * '''[[GetText(Password)]]''': 비밀번호는 다른사람이 쉽게 알거나 추측할 수 없는 것을 사용하시기 바랍니다.
          * 웹상의 비번은 쉽게 노출될 가능성이 많으므로 가능한 노출되어도 큰 제가 되지 않을 비밀번호를 사용하시기 바랍니다.
          * '''[[GetText(Password repeat)]]''': 초기 사용자 등록시에 나타납니다. 바로 위에서 입력했던 비밀번호를 확인하는 단계로, 조금 전에 넣어주었던 비밀번호를 그대로 집어넣어 주시면 됩니다.
          * '''[[GetText(Email)]]''': 자주 쓸 이메일 주소. 이메일 주소를 넣어주면 원하는 위키페이지에 대하여 그 변경점을 구독신청하거나 취소하실 수 있습니다. 비밀번호를 잊으셨을 경우에도 이 이메일 주소를 사용해 새로운 비밀번호를 등록하실 수 있습니다.
          * '''[[GetText(User CSS URL)]]''': 자신이 원하는 CSS로 변경하고 싶을 경우에 사용합니다.
          * '''[[GetText(Subscribed wiki pages (one regex per line))]]''': 모든 페이지의 변경알림을 받아보고 싶은 경우에 '''`.*`''' 를 집어넣으시면 됩니다. (위키위키가 많은 변경이 있는 경우 권장하지 않습니다.) 각 페이지를 보고싶은 경우에는 각각의 페이지 이름을 줄 단위로 넣으시면 됩니다. 정규식에 익숙하신 사용자의 경우에 정규식을 사용하실 수도 있습니다. 설정에 따라서 상단의 아이콘 툴바에 [[Icon(email)]]이 나타날 수 있으며, 이메일 아이콘을 누르면 해당 페이지를 구독하는 폼이 뜨게 됩니다.
  • JavaStudy2004/자바따라잡기 . . . . 12 matches
          자바(JAVA)하면 섬나라 자바를 연상케 한다. 그러나 미국 사람들에게 자바는 에스프레소 커피로 유명한 커피 체인점을 생각 하게 된다. 유래는 커피체인점이고, 커피의 대명사로도 사용된다.
          자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발한 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정한 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 제점, 또 가전 제품의 긴 수명으로 인한 완벽한 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 제에 대한 해결방안을 모색 해야만 됬다.
          이 제를 해결하기 위하여 고슬링은 C와 C++를 개조해서 해결을 해보려고 시도를 했던 것이다.그래서 C언어의 불필요한 부분이나 제가 될 부분들을 제거한 새로운 언어를 개발하게 되였는데, 이것이 바로 자바인 것이다. 최초로 자바를 이용한 프로젝트는 가전 제품과 전기 기기들을 통합하여 가정 환경에 새로운 인터페이스를 제공하는 소위 그린 프로젝트(Green Project)라는 것 이였다. 그러던 1993년, 그래픽 기반의 월드와이드웹이 발표되고 자바의 개발자들은 곧 이러한 웹 기반의 응용 프로그램에는 자바와 같은 기기(컴퓨터 및 그 운영체제)로부터 독립된 언어가 이상적이라는 것을 발견하였다. 그리하여 그들이 개발한 것이 나중에 핫자바(HotJava)로 이름이 바뀐 웹러너(WebRunner)라는 웹 브라우저였다. 이것이 최초로 자바를 지원한 웹 브라우저가 되었다. 자바라는 이름은 지역의 어느 커피점 안에서 얻었다. 그래서 지금은 웹 페이지에서 항상 끓고 있는 커피의 상징을 볼 수 있다.
          *1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 한 플랫폼에 제공되면, 바이트코드라고 불리는 어떠한 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 한다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정한다. 이러한 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일한 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 한번에 한 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
          *2. IBM에서 말하는 가상머신은, 다중사용자가 자원을 공유하는 운영체계를 말하며, 각 사용자는 마치 그 시스템의 모든 자원을 혼자 독점하는 것처럼 느낀다.
          *3. IBM에서 말하는 가상머신이라는 용어는 또한, 내재된 콘트롤 프로그램에 의해 교대로 관리되는 운영체계를 의미하는데 사용되기도 한다. 그렇기에, IBM의 VM/ESA는 IBM S/390시스템 상의 다중 가상머신을 조정할 수 있는 것이다.
          *4. 그 밖의 경우에서의 가상머신은, 컴퓨터를 실행하는 운영체계나, 어떤 프로그램을 의미하기 위해 사용되기도 했었다. 이를 인용하면
          * '''J2SE 설치와 [Eclipse]툴 사용, 컴파일, 실행'''
  • Linux . . . . 12 matches
         [[https://groups.google.com/forum/#!msg/comp.os.minix/dlNtH7RRrGA/SwRavCzVE7gJ 전설적인 서]]
         리눅스는 현재 컴퓨터의 커다란 흐름중의 하나이다. FSF에 의해서 지원을 받는 핵심적인 운영체제로 현재 기능적, 보안적 측면이 기존의 [Unix] 시스템에 버금갈 정도 발전하였고 [GNU]의 사상하에 만들어진 [GPL]을 따르기 때에 무료로 사용이 가능하여 서버 운영체제로 많은 인기를 누리고 있다. 본디 리눅스라는 하는 것은 운영체제의 [Kernel] 명칭이며, 주로 접하게 되는 패키지 형태로 이루어진 배포판의 전체 구성을 리눅스라고 여기는 경우가 있으나 이는 리눅스의 광의적 정의라고 생각하면 될듯 싶다.
         리눅스와 비슷한 운영체제로는 정통적인 유닉스 클론 이라고 평가받는 [:FreeBSD BSD]계열이 있다. BSD계열중 가장 잘알려진 [http://www.kr.freebsd.org FreeBSD]의 경우 실제로 과거부터 hotmail.com, yahoo.com, cdrom.com 을 운영해온 네트워킹에 대한 안정성이 입증된 운영체제이다. 실제로 2.6커널의 도입이전에는 BSD의 네트워킹이 더욱 뛰어나다는 평가를 받았지만 일반적인 의견이었으나, 많은 구조적 변경을 통해서 리눅스는 현재 이런 점을 극복하고 BSD와 리눅스를 선택하는 것은 운영자의 기호일 뿐이라는 이야기를 한다. 최근에는 리눅스를 데스크탑의 용도로 까지 확장하려는 노력의 덕분에 로케일 설정관련 부분이 대폭 강화되었으며, 사용자 편의성을 고려한 WindowManager인 [Gnome], [KDE] 등의 프로그램이 대폭 강화되면서 low-level 유저라도 약간의 관심만 기울인다면 충분히 서버로써 쓸 만한 운영체제로 변모하였다.
         본 페이지는 특별히 리눅스에 대한 실제 운영에 관한 이야기를 지양하려고 한다. 운영에 관한 내용은 리눅서들이 항상 말하듯이 네트워크의 바다에 널려있기 때이다. 수많은 자료들을 대하면서 자신이 필요한 자료를 찾는 것도 리눅서가 되는데 필요한 덕목이다.
         [http://www.kldp.org 리눅스 서 한글화 프로젝트(KLDP)]
         [http://j2k.naver.com/j2k_frame.php/korean/http://www.linux.or.jp/JF/ 리눅스 서 일본어화 프로젝트(LJFP)]
         [http://www.debianusers.org 한국데비안사용자모임]
         [http://www.gentoo.or.kr 한국젠투사용자모임]
         [http://www.ubuntu.or.kr 한국우분투사용자모임]
         [BSD]도 상당히 유명한 편인데 이 커널의 제작자가 안알려진 것은 약간 특이한 일이라고 생각할 것이다. 이유인 즉은 BSD는 현재 메인테이너들에 의해서 커널이 관리되기 때이다. 리눅스 커널은 커널 메인테이너 들을 의견의 제시를 하지만 실제로 방향을 결정하는 최종 결정권자는 리눅스 커널의 최초 개발자인 리누즈 토발즈이다. 그렇지만 BSD는 세계에 있는 BSD메인테이너(커미터)중에 몇명이 선발되어 커널의 개발을 주도하고 운영되기 때에 사실 어떤 한사람의 이름이 특별히 나올 여지가 많지는 않다. 리누즈 토발즈는 좋은의미의 독재자라고 불리기도한다.
  • NSIS . . . . 12 matches
          * makensis 로 Script 를 컴파일한다. 그러면 makensis 는 스크립트를 분석하면서 포함해야 할 화일들을 하나로 묶어준다. 그리고 zip의 형식으로 압축해준다. (내부적으로 zip2exe 가 이용된다. 이건 zlib 사용됨.)
         makensis 의 실행 법은 대강 다음과 같다.
          * /CMDHELP - command 에 대한 기본적인 사용정보를 출력해준다.
         또는 Editplus 의 사용자도구그룹에 makensis 을 등록시켜서 사용하는 방법도 있겠다. (nsis 를 위한 간단한 ide 만들어서 써먹어보는중.. 이였지만. 엉엉.. 그래도 editplus 가 훨 편하긴 하다. --;)
         === .NSI script 기본 법 ===
          * parameter 의 숫자들은 10진수, 16진수, 8진수들을 이용할 수 있다. (일반 숫자, 0x__, 0124 식으로..)
          * 하나의 command 가 여러줄을 이용하는 경우 '' 를 사용한다.
         NSIS 는 스크립트 기반으로 일종의 배치화일과 같으므로, 예제위주의 접근을 하면 쉽게 이용할 수 있다. ["NSIS/예제1"], ["NSIS/예제2"], ["NSIS/예제3"] 등을 분석하고 소스를 조금씩 용도에 맞게 수정하여 작성하면 쉽게 접근할 수 있을 것이다. 의이 생기는 명령어나 속성(attribute)에 대해서는 ["NSIS/Reference"] 를 참조하기 바란다.
         사용 예 : exec 로 regsvr32.exe 호출시 비동기 호출이 되어 뒤의 delete 이 실행된다. 이를 방지하기 위한 방법으로 다음과 같이 한다.
  • NSIS/Reference . . . . 12 matches
         원 : http://www.nullsoft.com/free/nsis/makensis.htm
         주로 이용하는 것들 (["NSIS/예제1"], ["NSIS/예제2"], ["NSIS/예제3"] 을 작성할 때 필요한 것 정도의 수준)위주로 정리. 좀 더 자세한 것에 대해서는 원을 참조.
         || LicenseText || "인스톨 하기 전 이 구를 읽어주십시오" "동의합니다"|| license text 에서의 구체적 구 ||
         || LicenseData || zp_license.txt || 해당 license 구 텍스트가 담긴 화일 ||
         || DirText || "설치할 디렉토리를 골라주십시오" "인스톨할 디렉토리설정" "폴더탐색" || 디렉토리 선택 페이지에서의 각각 구들의 설정. ||
         || CompletedText || "완료되었습니다" || "Completed" 구 text에 대한 설정 ||
         InstType 하나당 여러개의 Section 묶음으로 되어있는 것이다. 사용자는 각각의 Section 에 대해 활성/비활성화 함으로서 설치될 모듈들을 고를 수 있다.
         || Section || "ZPTest Defaults Modules (required)" || Section 의 시작을 알린다. Section의 이름을 설정. 만일 Section의 이름이 비어있거나 '-'로 시작되는 경우에는 사용자가 선택할 수 없고, 볼 수도 없다. (즉, 반드시 필요한 Section에 대해). 그리고 가장 처음으로 선언되는 Section은 default Section이 되며 역시 필수 Section이 된다.||
         Label은 Goto 명령어나 기타 조건제어들 (IfErrors, MessageBox, IfFileExists, StrCmp 등)을 위해 이용한다.
         || Delete || [/REBOOTOK] file || 화일을 삭제한다. 와일드카드 사용가능.||
          * $0 ~ $9, $R0 ~ $R9 - 사용자 변수들. 다른 명령어들의 결과값 등을 받을 때 이용할 수 있다.
  • OurMajorLangIsCAndCPlusPlus/locale.h . . . . 12 matches
         #define LC_COLLATE (integer constant expression) 스트링(string)의 정렬 순서(sort order 또는 collation)를 위한 로케일 설정을 위해 사용
         #define LC_CTYPE (integer constant expression) 자 분류(알파벳, 숫자, 한글 또는 소자, 대자 등등), 변환, 대소자 비교을 위한 로케일 설정을 의미
         #define LC_MONETARY (integer constant expression) 금액 표현(천단위 구분 자, 소수점 자, 금액 표시 자, 그 위치 등)을 위한 로케일 설정
         #define LC_NUMERIC (integer constant expression) 금액이 아닌 숫자 표현(천단위, 소수점, 숫자 그룹핑 등)을 위한 로케일 설정
         || char* setlocale(int category, const char* locale); || category에 대해 로케일 locale을 설정하고 (물론, 사용 가능한 로케일인 경우), 설정된 로케일값을 리턴. ||
  • PragmaticVersionControlWithCVS/CommonCVSCommands . . . . 12 matches
         ''(이번장이 이 책에서 가장 페이지수가 많은 장이다. 대략 4~50 페이지 정도이다. 이정도까지만 보면 cvs 사용하는데 큰 무리는 없을 듯하다.)''
         다수의 프로그래머들이 프로젝트를 진행하는 상황하에서는 내가 프로그램을 갱신하고 있는 동안 다른 프로그래머들도 프로그램의 갱신을 할 가능성이 대단히 높다. 만약 갱신주기가 길어진다면 프로그래머가 처리해야할 merge 작업이 상당할 것이다. 때에 주기적으로 프로젝트를 checkout 하는 것이 중요하다.
         다음은 그러한 예이다.
          * 바뀐 부분만을 저장하기 때에 전체 리비전된 소스를 다 가지면서도 용량이 절약
          * 유닉스, 윈도우의 줄 구분자를 구별한다.
         하지만 바이너리의 경우에는 제가 발생한다.
          * 바이너리 파일에 CVS 키워드가 들어있다면 이것이 치환되어서 제가 발생하게 된다.
         note) 바이너리를 자주 사용한다면 cvswrappers 에 대해서 알아보자.
         개발을 하는 도중에는 여러개의 중간 단계의 파일들(.obj, .class 등등)이 생성된다. 이런 파일은 굳지 CVS 저장소에 보관하는 것이 아니라 로컬에 저장해 두고 사용자가 필요할 때마다 새로 생성시키는 것이 옳은 일이다. 다행히 cvs 는 이러한 일을 설정하는 것이 가능하다.
         이렇게 저장된 .cvsignore 를 저장소에 올려두면 그 저장소를 방하는 모든 사용자들도 동일한 무시 설정하에서 작업하는 것이 가능하다.
         이렇게 관리를 하게되면 원래 존재했던 color.txt라는 파일에 존재하는 기존의 기록들이 삭제되어서 그 파일의 과거파일을 color_rename.txt의 로그로 이용하는 것이 불가하다. 기록이 따로 보관되기 때이다.
  • ProgrammingLanguageClass/Report2002_1 . . . . 12 matches
         == < 제 > ==
         ※ 입력된 장들이 제시된 법(grammar)에 맞는지 판단하는 Recursive Descent Parsing 기법을 이용한 파서(parser)를 작성하시오.
         == < 법 > ==
          * 출력: 주어진 법에 따라 INPUT.TXT에 저장되어 있는 장을 분석한다. 파싱(parsing)되는 중간과정을 <처리 예>와 같이 출력하고, 법에 적합하면 “Yes,” 입력된 장이 적합하지 않으면 오류 메시지와 “No”를 출력한다.
          * 어휘분석기(lexical analyzer)의 소스코드는 정수 변수 next_token, 자열 변수 token_string, 함수 lexical()을 포함하여야 한다. 함수 lexical()은 입력 스트림을 분석하여 하나의 lexeme을 찾아낸 뒤, 그것의 token type을 next_token에 대입하고, lexeme 자열을 token_string에 저장하는 함수이다.
          * 장이 법에 적합하지 않으면 관련 오류 메시지를 출력한다. 그 다음 오류를 발생시킨 lexeme을 제거 또는 첨가한 후, 파싱을 재개한다. 예를 들어, x = a + + b일 경우, “+” 연산자가 한 개가 더 존재하므로 오류 메시지를 출력한다. 그 다음, “+”기호를 제거한 후 파싱을 계속한다.
  • STL/string . . . . 12 matches
          * 그냥 "인수 천재" 라는 자열을 만들고 싶으면
          * 자열 복사
          * 자열 길이는 b.size() 로 알수 있다.
          * a자열의 4-7번째까지의 자를 자열로 떼어내기
          * new - char* 로 만든 자열은 프로그램 사용후 delete 해줘야 되지만, string은 소멸자에서 알아서 해준다. 생산성 증가!
          * STL은 이용 방법의 general 을 추구했기 때에, 사용법이 비슷하다.
          === 자열 입력 받기 ===
          * string 클래스라고 해서 공백을 무시할수 있는것은 아니다. 학교 교재에 보면 getline()과 get()이 나온다. string 변수로 입력을 받는다 해도 cin >>을 사용하면 공백을 입력 받을수 없다. 따라서 getline() 써줘야 한다.
  • VMWare/OSImplementationTest . . . . 12 matches
         사용하면 역시 동일하게 gcc를 윈도우에서 컴파일 할 수 있습니다 그래도 저는 vc의
         그리고 링커를 vc6를 사용하고 싶었고 그래서 이를 사용할 수 있는 방법을 소개하려
         어려운 영 OS개발방법을 한글화 해주는 고마운 사이트
         80586 (또는 P5 그러나 숫자는 저작권 보호를 받지 못한다길래 이후에 Pentium으로
          이 하위호환 때에 아무리 최신 컴퓨터도 처음 부팅시에는 빠른 x86 처럼
         수행되도록 설계되었습니다. 부트섹터에서 이 빠른 x86에서 최신의 기능을 사용하는
         - 우리는 디스켓도 사용하지 않고 바로 컴파일해서 이미지로 뜬 후 VMWare로
          ;vc에서 /base 10000 로 헀기 때에 여기서부터 메모리를 로드
          ; 해야 한다. ES:BX 로 1000:0000h 이기 때에 아래처럼 한다.
          JMP Continue
         Continue:
         = 7; // 자 기본 속성
         Partcopy.exe 툴을 사용하여 부팅 디스켓에 놓을 수도 있지만 번거롭습니다. 따라서 VMWare에서 직접 이를 디스켓 이미지로 로드하도록 합니다.
  • VendingMachine/재니 . . . . 12 matches
          * 주하는 사람(Man)도 있어야 할 것이다..
          * 자판기는 사용자 인터페이스를 구현하는데 사용하고, 사람이 주할 음료(Drink)를 따로 분류하자..
          * 그러면 주을 할 때 돈이 필요하니까 돈을 세는 계수기 비슷한 것(CoinCounter)도 필요할 것 같다..^^
          그리고 사람이 주을 했을 때 주받은 상품의 가격에 비해 잔액이 충분한지 확인 하는 것 하구..... / 계수기[[BR]]
          또 주받은 상품이 남아있는지도 체크해야 될꺼야!!^^[[BR]]
          이 두가지 조건에 만족할 때에는 주한 상품을 내줄 수 있어야 하겠고, 이 때 상품의 수량을 갱신해야겠지!^^[[BR]]
          아!! 그리고 주한 음료의 가격에 따라 금액을 지불해주는 역할도 있어야겠군!^^[[BR]]
          cout << used << "원을 사용하셨습니다.n";
          아직 클래스 사용법도 제대로 모르는지라 서툴기도 하고.. 결론은 역시 공부해야할 것이 많다는 것...^^
  • VonNeumannAirport . . . . 12 matches
          * ["1002"] 의 개인적으로 생각되는 '미숙' 했다고 생각한 점을 든다면, 평소에 프로그래밍을 하는 리듬이 아니였다는 점. 이전 스타일이라면 일단 제를 보고 제를 나누면서 시나리오를 어느정도 만들어 놓은 뒤, 그걸 검증해나간다는 느낌으로 테스트코드를 작성했었는데, 이번의 경우 정말 Extreme 하게 작업한 것 같다. (중반에 CRC 라도 한번 하고 싶었는데, 형에게 물어보고 왠지 '아 내가 알던 방법이 틀린걸꺼야' 하며 그냥 Test 만 생각하게 되었다.) 작업하는 중간 뭔가 석연치 않은 느낌이 들었다면, 아마 대강 이런 느낌이였던 것 같다. 전반적 시각을 한번정도 중간에 정리를 할 필요가 있을건데, 그런 시간을 두지 못한것.
          * 자료형 배경 지식의 미숙 (처음 STL미사용 접근, 중반부터 STL사용으로 자료형의 일관성제)
          * 중간에 창준이형이 "너희는 C++ 로 프로그래밍을 하면서 STL를 안사용하네?" 라고 했을때, 그냥 막연하게 Java 에서의 Collection Class 정도로만 STL을 생각하고, 사용을 잘 안했다. 그러다가 중반부로 들어서면서 Vector를 이용하게 되었는데, 처음 한두번 이용한 Vector 가 후반으로 가면서 전체의 디자인을 뒤집었다; (물론 거기에는 디미터 법칙을 지키지 않은 소스도 한몫했지만 -_-;) 그걸 떠나서라도 Vector를 써 나가면서 백터 비교 assert 등도 만들어 놓고 하는 식으로 점차 이용하다보니 상당히 편리했다. 그러다가 ["Refactoring"] Time 때 서로 다른 자료형 (앞에서 array 로 썼던 것들) 에 대해 vector 로 통일을 하다 보니 시간이 비교적 꽤 지연이 되었다.
          * ["Refactoring"] Bad Smell 을 제대로 맡지 못함 - 간과하기 쉽지만 중요한 것중 하나로 naming이 있다. 주석을 다는 중간에 느낀점이 있다면, naming 에 대해서 소홀히 했다란 느낌이 들었다. 그리고 주석을 달아가면서 이미 구식이 되어버린 예전의 테스트들 (로직이 많이 바뀌면서 테스트들이 많이 깨져나갔다) 를 보면 디미터 법칙이라던가 일관된 자료형의 사용 (InformationHiding) 의 제가 있었음을 느낀다.
          -> 이 경우 PassengerSet 이 따로 빠져있지 않은 경우 고생하지 않을까. PassengerSet 이 빠져있다면, 가방, 컨테이너 부분들에 대해서 case 이 복잡해질듯.
         ["제분류"]
  • [Lovely]boy^_^/영작교정 . . . . 12 matches
          * 한글
          * 시제, 관사, 전치사 쓰는 법(제야 제--;)
          * 역시 시제, 단어 선택 면에서 제가 있다.
         === 새로운 시스템이 어떤 제가 있을 것이라고 예상하십니까? ===
          * 이번엔 어순에 제가 있다. 또한 나는 영작할때 잘 안풀리면 무조건 that을 넣고 본다는 것도 알게 되었다.
          * 음.. 요건 뭐가 젠지 잘 모르겠군
          * 역시 전치사 제군.
          * 또 that 썼다가 틀렸다. 관사도 제가 있고.. 관개대명사도..--;
          * 역시 전치사 제도 있다.
          * 역시.. 어순과, 전치사 사용제가 되었다.
  • html5/richtext-edit . . . . 12 matches
          * 리치 텍스트란 : 서식을 가진 텍스트, 텍스트의 폰트, 스타일, 색상, 단정렬등의 포맷을 저장하고있다
          * 추가된 API : contenteditable속성, 서 designMode
          * designmode : 서 전체를 편집할 수 있음
         * contenteditable : 자열을 값으로 가짐, ""(null), "true" "false"
          * "false"이외의 값을 가질 때 해당 서 편집가능
         innerHTML : HTML태그를 포함한 자열
         textContent : HTML태그 제외 순수 자열만
          * Selection 객체에 toString사용하면 선택한 범위의 자열(HTML제외)가져옴
         - 선택된 자열 출력 -
  • 기술적인의미에서의ZeroPage . . . . 12 matches
         주소 영역을 8bit 만 사용, 상위 8bit 은 00 으로 가정하고 addressing 을 하면
         다음은 참조한 서입니다.
         (제로페이지 명령어들은 명령어의 첫번째 주소 바이트를 0으로 가정하고 단지 두번째 바이트만 가져옴으로서, 짧은 코드와 짧은 수행시간을 가져다준다. 주의 깊게 제로페이지 명령을 사용하는 것은 코드 효율에 확실한 개선을 가능케 한다.)
         이는 데이터를 임시로 저장하는데에 사용하기 용이하고 당시 CPU의 적은 레지스터의 양을 보완하려는 것이었다.
         1980년대에는 컴퓨터 사용자들이 아마 상상도 할수없을 만큼 1970년대의 CPU 만큼 빠르고 그 보다 더빠른 메로리가 사용었다. 그러면서 대용품으로 메인 메로리를 사용하고 아주 적은 양의 레지스터를 갖는 것이 이치에 합당했다. 16비트 버스를 갖는 컴퓨터의 제로페이지 내의 각 메모리가 아마도 한 바이트로 어드레싱되기 때에 제로페이지내의 메모리가 아닌 곳보다 제로페이지내의 메모리를 접근하는데, 8비트 데이터 버스를 갖는 머신에서보다 더욱 빨랐었다.
         예를 들자면 the MOS Technology 6502 는 오직 6개의 non-general 목적을 가진 레지스터를 가지고 있었다. 결과적으로 이는 것은 제로페이지라는 개념을 폭넓게 사용하였다. 많은 명령어들이 제로페이지와 제로페이지가 아닌 어드레씽을 위해서 다르게 쓰여졌다.
         IC테크놀로지의 발전이 더욱 적은 비용으로 CPU의 레지스터를 늘리게 되었고 이에따라서 RAM을 액세스하는 것 보다 더욱 빠른 CPU명령어를 처리하게 되었기 때에 제로페이지는 이제 대개는 역시적인 의미를 갖는다. 그럼에도 불구하고, 어떤 컴퓨터 아키텍처는 여전히 다른 목적을 위해서 제로페이지라는 개념을 제공하기는 한다; 예를 들자면 인텔의 x86은 인터럽트 테이블의 사용을 위해서 512워드의 공간을 사용한다.
  • 네이버지식in . . . . 12 matches
         지식in이란 서비스는 질에 답변을 해주는 게시판 형식이긴 하지만, 참여가 자유롭고 한 주제에 대해 글을 쓴다는 점에서 위키랑 비슷하다는 생각이다. '''오픈 백과사전'''이라는 게 있기도 하던데 이게 위키랑은 더 비슷한 형태이지만 지식in에 대면 별로 인기가 없어보인다.
         가장 먼저 떠오른 건, 이용자 수였다. 이용자 수가 엄청나게 많다는 점이 지식in서비스를 활발하게 해 주었다. 이용자 수가 많아진 이유는 여러 가지가 있겠지만, 텔레비전 광고까지 낼 정도로 홍보를 해서 그렇지 않을까? 반면 위키 홍보는 몇 번인가 하고는 그 뒤로는 사람들이 알아서 쓰기를 바랬던 것으로 보인다. 알려지지 않은 서비스가 아무리 많은 장점이 있다 한들 사람들이 알아야 쓸테니까, 위키 사용이 활발하지 않은 건 일단 덜 알려져서라고 생각한다.
         다음으로는 익숙하지 않은 형식이었다. 아예 인터넷을 처음 만나는 사람이라면 익숙한 형식이 있지도 않겠다만, 많은 사람들이 글을 쓸 때는 게시판에 제목과 이름과 내용정도가 달린 게 글 형식이고, 글 제목이 목록으로 한 페이지에 나오는 형식이 익숙한 형식일 것이다. 때에 전부 '''내용'''처럼 생긴 위키를 보고는 일단 다르게 생긱 형식에 바로 적응하지는 못할 것이다. 쓰기 어렵지는 않겠지만 말이다. 때에 위키가 엄청난 장점을 가져서 적응하는 노력을 들이고 싶을 만 하지 않다면 굳이 사용하려 하지 않을 것이다. -[Leonardong]
         그 차이는 의외로 아주 간단합니다. 네이버지식인과 같은 시스템은 개인의 명성(reputation)에 대한 욕구에 상당 부분 의존하고 있습니다. 개인을 더 드러내는 것이죠. 반대로 위키는 개인이 잘 드러나지 않습니다. 명성 시스템이 아닙니다. see also ForgiveAndForget 이는 XP 철학과도 상통합니다. XP에서는 너희 팀에 영웅이 누구냐는 질에 답이 바로 나올 수 있는 팀을 좋지 않게 봅니다. 영웅이 있는 팀은 위험한 팀입니다. XP는 보상도 팀단위로 받고 책임도 팀단위로 지는 것을 이상적으로 봅니다.
          - 글쎄요. 저는 약간 다른관점으로 보게 됩니다. 네이버 지식인의 성공은 각종 매체의 힘과, 기존에 사용해오던 '게시판'이라는 형식의 '익숙함'에 더해 '보상과 동기부여'가 아닐까 싶습니다.
          우선 '위키'라는 개념과 형식은 사람들에게 생소하고 낯설게 다가오게 마련입니다. 기존 '게시판' 에 익숙해져있던 사람들에게 위키의 사용은 하나의 모험으로 작용하겠죠. 사람들에게 있어서 낯설음,생소함등은 곧 거부감으로 직결되기 쉽습니다. 이러한 거부감을 없애려면 굉장한 노력과 시간과 자본이 투자되어야 하겠죠. MS 사의 윈도우즈가 성공한 요인이 뛰어난 기능과 능력이 아닌 '익숙함'이라는 것은 왠만큼 소프트웨어를 알고있는 사람들 사이에서는 상식이죠.
          - 현재는 독점 시장을 형성하고 있습니다. 하지만 그 과정을 살펴보면 MS 사의 윈도우즈가 뛰어난 성능과 기능을 가져서 독점했다고 보기는 힘듭니다. 객관적, 주관적, 전가의 분석 어떤점으로 보나 윈도우즈보다 뛰어난 운영체제는 언제나 존재해왔습니다.(물론 지금도 존재합니다.) 하지만 사람들은 이미 익숙해져버린 윈도우를 버리고(월등히 뛰어나지는 않지만 그렇다고 절대적 성능이 떨어지는것도 아니니) 다른 운영체제를 택한다는건 '모험'을 넘어서 '도박'에 가깝다고 느껴지게 됩니다. 그러므로써 그러한 모험 내지 도박은 말씀드렸던 낯설음,생소함등으로 이어지게 되고, 자연스레 다른 OS 들은 설자리를 잃어버리게 됩니다. 단순히 결과만을 놓고 보았을때 말씀하신 독점시장이 맞습니다만, 제가 말씀드리고자 했던 요지는 그 과정속에서 찾을수 있었던 '익숙함'이었습니다.
         윗 글에 공감해서 한동안 이 페이지를 잊고 있었는데, 어제 득 다른 생각이 나서 또 적어봅니다.
         사람들은 [네이버지식in]을 마치 수학 제 해답지처럼 여기는 것 같습니다. 저도 요즘엔 누가 궁금한 게 있다고 물어봤을 때 모르는 경우''지식in 검색해봐''라는 말을 자주 합니다. 제가 누군가에게 모르는 걸 물어봤을 때도 자주 듣습니다. ''지식in엔 없는게 없다니까''라는 말도 들어보았습니다. 마치 [네이버지식in]에는 살아가며 궁금한 것들에 대한 모든 해답이 있는 듯이 여기고 있다고 느꼈습니다. -[Leonardong]
         KIN 은 Knowledge In Naver 의 약자가 아니라 지식In -> Knowledge In -> kin 으로 사용하는 것이지요.
  • 데블스캠프2005/참가자 . . . . 12 matches
         || 04 || 보창 || 20,24 ||
         || 이현정 || 동서버 ||
         || 김영록 || 동서버 ||
         || 김재성 || 동서버 ||
         || 김민경 || 동서버 ||
         || 한유선 || 동서버 ||
         || 윤성복 || 동서버 ||
         || 최정빈 || 동서버 ||
         || 김재형 || 동서버 ||
         || 박경태 || 동서버 ||
         || 김소현 || 동서버 ||
         현재 동서버와 개인적인 경로로 참가자를 받고 있습니다.
  • 데블스캠프2006/월요일/연습문제/for . . . . 12 matches
         [데블스캠프2006/월요일/연습제/for/정승희]
         [데블스캠프2006/월요일/연습제/for/이차형]
         [데블스캠프2006/월요일/연습제/for/윤영준]
         [데블스캠프2006/월요일/연습제/for/김준석]
         [데블스캠프2006/월요일/연습제/for/임다찬]
         [데블스캠프2006/월요일/연습제/for/김대순]
         [데블스캠프2006/월요일/연습제/for/주소영]
         [데블스캠프2006/월요일/연습제/for/윤성준]
         [데블스캠프2006/월요일/연습제/for/이장길]
         [데블스캠프2006/월요일/연습제/for/성우용]
         [데블스캠프2006/월요일/연습제/for/이경록]
         [데블스캠프2006/월요일/연습제][데블스캠프2006/월요일] [데블스캠프2006]
  • 데블스캠프2006/월요일/연습문제/if-else/이차형 . . . . 12 matches
         == 데블스캠프2006/월요일/연습제/if-else/이차형 ==
         1번째
         if else 2번째
          cout<<"하나의 자를 입력하시기 바랍니다. : ";
          cout<<"입력하신 자는 숫자입니다.\n";
          cout<<"입력하신 자는 소자입니다.\n";
          cout<<"입력하신 자는 대자입니다.\n";
          cout<<"입력하신 자는 특수자입니다.\n";
  • 데블스캠프2006/월요일/연습문제/switch . . . . 12 matches
         [데블스캠프2006/월요일/연습제/switch/정승희]
         [데블스캠프2006/월요일/연습제/switch/이차형]
         [데블스캠프2006/월요일/연습제/switch/윤영준]
         [데블스캠프2006/월요일/연습제/switch/김준석]
         [데블스캠프2006/월요일/연습제/switch/임다찬]
         [데블스캠프2006/월요일/연습제/switch/김대순]
         [데블스캠프2006/월요일/연습제/switch/주소영]
         [데블스캠프2006/월요일/연습제/switch/윤성준]
         [데블스캠프2006/월요일/연습제/switch/이장길]
         [데블스캠프2006/월요일/연습제/switch/성우용]
         [데블스캠프2006/월요일/연습제/switch/이경록]
         [데블스캠프2006/월요일/연습제][데블스캠프2006/월요일] [데블스캠프2006]
  • 데블스캠프2009/목요일/연습문제 . . . . 12 matches
         = 데블스캠프2009/목요일/연습제 =
          * [데블스캠프2009/목요일/연습제/MFC/송지원]
          * [데블스캠프2009/목요일/연습제/MFC/박준호]
          * [데블스캠프2009/목요일/연습제/MFC/정종록]
          * [데블스캠프2009/목요일/연습제/MFC/서민관]
          * [데블스캠프2009/목요일/연습제/MFC/성우용]
          * [데블스캠프2009/목요일/연습제/MFC/김홍기]
          * [데블스캠프2009/목요일/연습제/MFC/김태욱]
          * [데블스캠프2009/목요일/연습제/MFC/강성현]
          * [데블스캠프2009/목요일/연습제/MFC/박한기]
          * [데블스캠프2009/목요일/연습제/다빈치코드/박준호]
          * [데블스캠프2009/목요일/연습제/다빈치코드/서민관]
  • 데블스캠프2010/둘째날/후기 . . . . 12 matches
          * 1등! C언어나 이런거에비해 뭔가 특이하고 재밌었는데 제푸는걸 하나도 못해서 아쉽네요 하지만 역시 감동적이었습니다. - [경세준]
          * PROLOG... 제가 워낙에 로직같은덴 약하다보니 ㅋㅋ 영화배우 제까지밖에 못풀겠더군요 ㅇㅅㅇ;; 그래도 새로운 언어에대해서 알수있어서 좋은 경험이 되었습니다 - [남상혁]
          * 엘리베이터 2단계는 대충 편법으로 넘어갔는데 3단계 으악 ㅋㅋㅋ 엘리베이터 클래스 자체는 그럭저럭 만들었는데 오히려 메인함수에서의 제어 면에서 좀처럼 해결책이 떠오르지가 않았다. 그보다 제 잘못 이해했네 orz - [박근수]
          * 아아.. 엘리베이터.. 처음엔 괜히 리스트로 접근하다가 결국은 반 노가다로 해결한... 하지만 너무 기술적으로도, 또 너무 일반적으로도 치중되지않은 적절한 난이도(?)의 제덕에 재미있는 코딩을 할수있어서 좋은 경험이었습니다 ㅋㅋ-[남상혁]
          * 새싹 때 배웠던 클래스를 처음으로 써봤어요. 처음엔 층을 프라이빗으로 해서 사용했는데 엘리베이터를 2개 만들 때 순위권을 노리는 매의 눈을 장착하고 퍼블릭으로 바꿨던거가 아쉬웠어요. 가까운 엘리베이터 비교하는데 어쩔 수가 없더라구요...다음에는 좀 더 개선해서 엘리베이터 클래스에 2개의 층을 저장하도록 개선해보는것도 좋을것 같아요 - [백주협]
          * 그냥 사용하더 엘리베이터가 이런 알고리즘이 있었구나 하는 생각이 들었습니다. - [김상호]
          * 아 원랜 더 재밌는거 만들려고 했었는데... ㅇㅅㅇ 월드컵덕분(?)에 밤새고 집에와서 잠에취해서 개-발 코등한덕에 VS에서 안되는 불상사가 ㅋㅋㅋ 내가 내꺼에 후기달았으니 상은 나를 위해서 쓰겠다 !!!음하하하하- [남상혁]
          * 자료구조 프로젝트로 SDL을 사용해서 게임 수정을 해봤는데, 또 SDL을 보게 될 줄이야.. SDL 시간이었지만, 느낀건 역시 IDE는 잘 선택해야 한다는 것... 이클립스, 넷빈즈, 비쥬얼 스튜디오 등 많은 사람들이 사용하는 IDE끼리도 같은 소스를 충돌나게 하는걸 보면서 참 황당했다-_-;; - [박성현]
          * 개인적으로는 직접 게임의 코드를 짜는 모습을 보거나 라이브러리 함수를 사용하는 것을 좀 더 많이 볼 수 있었으면 좋지 않았을까 하는 아쉬움이 컸습니다. 그래도 이런 식으로 외부 라이브러리를 받아서 VS의 설정을 하고, 개발환경을 갖추는 것도 하나의 큰 공부가 되지 않았나 싶습니다. 그리고 소스코드 자체도 하나씩 뜯어보면 알아보기 쉬운 디자인으로 되어 있어서 조금 더 공부를 할 동기가 될 수 있지 않을까 싶습니다. - [서민관]
          * 1학년 여름방학때부터 반복적으로 들었던 내용인데 (당연한 말이지만) 처음 비슷한 내용을 들었을 때보다 지금이 훨씬 이해가 잘 된다. 1학년때부터 이런 이야기를 들었기 때에 비록 바로 이해하고 적용시킬 수는 없었지만 그래도 학교 과제 등을 하면서 한번 더 생각해 볼 수 있었던 것 같다. 지금 1학년 후배들도 처음 들어선 잘 이해가 안 갈 수 있겠지만 이 강의를 들어본 것이 앞으로 생각하는 방향에 많은 영향을 주지 않을까 생각한다. 강사가 원래 세미나를 딱히 지루하게 하는 사람은 아닌데 어제 축구때에 다들 너무 상태가 안 좋았던 것 같은 점이 아쉽다. - [김수경]
  • 데블스캠프2013/셋째날/후기 . . . . 12 matches
          * 사실 자바를 약~간 깨작거렸지만 다른 사람들이 GUI를 사용하는 프로그램을 만드는 것을 보고 어떻게 하는 것인지 굉장히 궁금하였는데 이번 기회에 알게 되어서 너무나도 기뻤습니다 :D - [조영준]
          * 회장님이 자바실습시험때, 이걸 이용해서 짜면 편하다고 추천해 준 것이었는데, 하지만 코드가 은근히 어려워져서 세세한 부분을 건드릴 때에는 더 많은 시간이 걸릴 것 같아서 안 쓴 윈도우빌더군요! 사실, 이 단점은 GUI 툴킷 프로그램이 짊어지고 가야 할 제일 수도 있지만, 이번에 나름대로 빠른 프로그램 제작에는 편하겠구나라는 생각을 가지게 되었습니다. - [김해천]
          * net beans를 써봐서 인지 window 빌더에 그다지 거부감은 없던것같습니다. 다만, 이클립스내에서 사용할 수 있다는 점에서 좋은것같습니다. 이때까지 net beans랑 이클립스를 혼용해서 사용해왔었는데 좋은 플러그인을 직접적으로 알게되어서 좋았습니다.(window 빌더의 존재는 알았지만 사용해보기에 너무 귀찮아서 이때까지 사용할 기회를 못가졌었는데 가지게 되서 좋았습니다.) -[김윤환]
          * 음... 사실 정말 열심히 준비를 해서 최대한 차근차근 쉽게 설명을 해 보자고 생각을 했는데... 그래도 역시 처음 접하는 것이라 그런지 그렇게 간단하게 진행되지는 않은 것 같아서 마음에 아쉬움이 남습니다. 새내기들이 파일 포인터랑 파일 입출력을 조금이라도 알고 있었으면 훨씬 수월했을텐데 말이죠. 그래도 제가 할 수 있는 전력을 다 했다고 생각하고, 앞으로 똑같은 주제로 세미나를 한다고 해도 더 낫게는 못 할 겁니다. 따라서 앞으로 같은 주제로 세미나를 할 일은 아마 없지 않을까 싶습니다. 부탁이라도 들어오지 않는 이상. 이것 때에 마음 걱정이 커서 밥을 먹어도 먹는 느낌도 없었는데, 그래도 스스로 만족스러울 만큼은 한 것 같아서 속이 후련하고 또 조금은 아쉽기도 합니다. - [서민관]
          * 아두이노,,, 우노..게다가 우노..에 대한 안좋은 추억이..ㅠㅜ 물론 세션 내용은 흥미롭게 들을 수 있었습니다. 다만, 우노를 가지고 블루투스 모듈을 연결한 다음 안드로이드랑 통신할때 이게 자열을 해석 잘 못하는 경우를 당해서 맨붕한적이 있어서... - [김윤환]
          * 아, 그런데 삼일간 삽질한 GA를 쓰지 못한건 아쉽네요. 열심히 했으나 결국 오늘 진행한 세션은 2시간 준비로...(예전에 많이 했기때이지만.) 덕분에 난이도가 더 적절했건거같긴 하지만요. -[김태진]
          * 개인적으로 좀 아쉬움이 큰 세션이었습니다. 물론 머신 러닝이 쉬운 주제가 아니라는 건 맞습니다. 하지만 오히려 그렇기 때에 강사 입장에서는 최대한 난이도를 낮추기 위한 노력들을 할 수 있지 않았을까 하는 생각이 조금 남습니다. 적어도 새내기나 2학년 들이 머신 러닝이라는 뭔가 무서워 보이는 주제 앞에서 의욕이 사라질 수 있다는 생각을 했다면, 전체적인 알고리즘의 간단한 의사 코드를 보여주거나, DataSet을 줄인다거나 해서 조금 현실적인 시간 내에 결과를 보고 반복적으로 소스 코드를 손을 볼 수 있게 할 수 있지 않았을까요. 적어도 간단한 샘플 소스를 통해서 이 프로그램이 어떻게 돌아가는가, 어떤 input을 받아서 어떤 output을 내는가 등에 대해서 보여주었다면 더 재미있는 실습이 될 수 있지 않을까 하는 생각이 듭니다. 머신 러닝은 흥미로운 주제지만, 흥미로운 주제를 잘 요리해서 다른 사람들에게 흥미롭게 전해줄 수 있었는가를 묻는다면 저는 좀 아쉬웠다는 대답을 할 것 같습니다. - [서민관]
          * 맨붕...c++을 주력언어로 삼아야하는 입장에서 파일입출력도 기억이 안나고 자바 법이랑도 햇갈려버리는 상황을 당해서 "아 c++님... 이러시면 안됩니다.. 내 머리에서 떠나시면 안되요,."라는 생각밖에 안들어서 혼란속에서 코딩을 한 기억이 남는 세션이였습니다. 흑... 그래도 이렇게 어느정도 많은 데이터를 가지고 놀 기회가 있었으면 좋겠네.. 하는 생각만 하고 있던차에서 이런 기회를 얻게 되서 의의가 있었던 세션이었습니다. - [김윤환]
          * 왠지 윤환이가 말하는 모습이 머릿속에 그려지는 장이다. -[김태진]
  • 문자열검색 . . . . 12 matches
         === 자열 검색 ===
          제 : 자열 x에서 y라는 자열이 처음 나타난 위치를 검색하여 z에 저장하는 프로그램을 작성하여라.
          검색하려고 하는 y자열은 받아들이고,
         찾을 자열 -> method (입력된 자열)
         찾을 자열 -> Hello
          || 이영호 || C || 3분 || [이영호/자열검색] ||
          || 조현태 || C/C++ || . || [자열검색/조현태] ||
          || 허아영 || C, C++ || 많이 || [자열검색/허아영] ||
         [LittleAOI] [제분류]
  • 빵페이지/마방진 . . . . 12 matches
         == 마방진 제 ==
         가로, 세로, 대각선의 각각의 칸에 들어가는 숫자들의 합이 같은 정사각형 만들기
          오른쪽 위 대각선의 칸에 숫자가 있을경우 아래로 이동합니다. 다시 오른쪽 위 대각선으로 이동합니다.
         힌트를 주자면 위 정사각형안의 숫자들의 규칙을 살벼봐 - 민수
          * 질!!! 저기 써져 있는대로 똑같이 하는건가요?? 아니면 숫자를 입력받아서 하는건가요? - 승균
          * 숫자를 입력 받다니?? 저런식으로 숫자를 출력하면 되~ - 민수
          << "2,4,6,8 중 하나의 수를 입력하세요.(1-1숫자결정) : ";
          cout << a << "," << b << " 중 하나의 수를 입력하세요.(1-3숫자결정) : ";
         했지만서도 야바위같은 느낌을 떨쳐버릴수가 없어요.; 이미 한행의 합을 알고 가운데 숫자를 알고 만든 거니..--;
          * 쿠쿠 멋진놈 벌써 하다니...배열을 사용했군 - 승균
  • 새싹C스터디2005 . . . . 12 matches
          현재 총 6명. 스터디 참여자 수가 늘어난다면 한명([보창], 이도현)을 더 끼울수도있다.
         숫자를 입력 받아 그 숫자에 해당하는 구구단을 출력
         구조체와 포인터에 대해 다룹니다. 포인터에 대해 다루게 된다면 값에 의한 전달, 주소에 의한 전달도 기본으로 다뤄야겠죠? 그에 따른 모듈화의 학습도요. 그리고 가능하면 메모리 할당에 대해서도(malloc명령) 다뤄주세요.
         이제 기본적인 법은 다 다루었다는 전제 하에 머리 쓰는 것을 해볼 생각입니다. 첫번째 다룰 것은 Sorting입니다.
         숫자 5개를 입력 받고 큰 순서대로 출력.
         1.숫자를 입력해주세요: 2
         2.숫자를 입력해주세요: 1
         3.숫자를 입력해주세요: 3
         4.숫자를 입력해주세요: 5
         5.숫자를 입력해주세요: 4
         기존회원 분들께서는 이 때 만들어진 신입생들의 소스를 모아주세요. 시험 끝난 후 리펙토링 세미나에서 예제로 사용할 겁니다. --재동
  • 새싹C스터디2005/선생님페이지 . . . . 12 matches
          * 제어
          * 제어1 : for, while
          * 제어2 : do while
          * [톱아보다]는 오늘 첫 모임입니다. 신입생들에게 일정한 진도까지 공부해 오라고 미리 말해 두었으며 그중 한명에게 발표를 시키고 질을 통해서 완성시켜 나갈 생각입니다.
          * [Leonardong]의 빠른코딩을 위해서 의식적으로 마우스를 사용하지 않는 습관을 기르는 것도 참 좋겠다고 생각합니다.
          * 자료구조에 대한 구체적인 접근은 피했으면 합니다. 보통의 자료구조는 일상생활의 예제제를 풀어나가면서 익힐수 있다고 생각합니다. - [톱아보다]
         지금 배열과, 제어까지 나간걸로 알고 있는데 지나치게 빠른건 아닌지 생각해 봅니다. 변수에 대한 입출력 연습이 지나치게 적었던것 같은데. 어떻게 생각하시나요?? - [톱아보다]
         여러분들보다 조금은 세미나 경험이 많은 사람이기에 한가지 이야기만 드리겠습니다. 세미나를 통해 무언가를 설명할 때 정의(definition)에 대해서 명확하게 알려주도록 노력해 보세요. 여러분이 세미나를 한 후에 신입생들에게 "변수의 정의가 무엇이냐?", "함수의 정의가 무엇이냐?" 와 같은 질을 한다면 신입생들이 대답을 할 수 있을까요? 혹은 여러분들은 이러한 질에 명쾌하게 대답을 할 수 있습니까? 어떤 새로운 것을 배울 때 가장 중요한 것은 그것이 어디에 쓰이는 것인지, 그것이 어떻게 쓰는 것인지와 같은 것들이 아니라 그것이 무엇인지를 아는 것입니다. 무엇인지 확실하게 알아야 그 다음을 이해하는데에도 보다 쉽지 않을까요?
          교육은 물고기를 잡는 방법을 가르쳐야 합니다. 어떤 알고리즘을 배운다면 그 알고리즘을 고안해낸 사람이 어떤 사고 과정을 거쳐 그 해법에 도달했는지를 구경할 수 있어야 하고, 학생은 각자 스스로만의 해법을 차근차근 '구성'(construct)할 수 있어야 합니다 (이를 교육철학에서 구성주의라고 합니다. 교육철학자 삐아제(Jean Piaget)의 제자이자, 마빈 민스키와 함께 MIT 미디어랩의 선구자인 세이머 페퍼트 박사가 주창했습니다). 전가가 하는 것을 배우지 말고, 그들이 어떻게 전가가 되었는지를 배우고 흉내 내야 합니다. 결국은 소크라테스적인 대화법입니다. 해답을 가르쳐 주지 않으면서도 초등학교 학생이 자신이 가진 지식만으로 스스로 퀵소트를 유도할 수 있도록 옆에서 도와줄 수 있습니까? 이것이 우리 스스로와 교사들에게 물어야 할 질입니다.
  • 새싹교실/2012/ABC반 . . . . 12 matches
         2. VS2010사용방법
         파일-새로만들기-파일에서 C++파일을 선택하되 이름 끝에 .c를 붙여서 C파일로 만든다.(C와 CPP는 약간 법적인 부분이 다르다.)
         3. 분기
         함수의 선언은 그 함수를 호출하는 코드보다 위에 있어야 한다. 그렇기 때에 위처럼 함수의 선언만 해놓고 실제 구현은 아래에다가 해놓는 경우가 많다.
         라는 구이 없으면 컴파일러는 함수의 구현이 없기 때에 에러를 띄울 것이다.
         3. 분기
         분기은 if else, switch로 이루어 진다
         아직 if밖에 배우지 않았다.
         if은 if()에서 괄호 안이 true면 실행을 한다.
         if(a== 2)라는 장에서 a의 값으로 참과 거짓을 판별한다.
         만약 위 코드에서 if(1)이라고 해놓으면 c= myfunc(a, b)이 구은 무조건 실행이 될 것이다.
  • 새싹교실/2012/도자기반 . . . . 12 matches
         그래서 일단 C에서 자주 사용되는 자료형과 변수 선언& 초기화 방법 그리고 기본적인 연산자 순으로 스터디를 진행했습니다.
         마지막으로 입출력 기본 함수 사용법을 알려준 후 C수업시간에 한 예제들과 간단한 과제들을 직접 해보게 시켰습니다.
          * 다양한헤더파일을 설명해줬습니다. 2주차 예제에 새로 등장한 stdlib.h, time.h 에 포함되는 간단한 함수들을 설명했습니다. 그리고 #define을 쓰는 이유도 설명했습니다. 랜덤변수를 얻기 위한 rand함수와 사용법 등을 알려주면서 다시 한번 winapi.co.kr 에 대해서도 언급했습니다. 또한 srand(time(NULL))을 사용하여 씨드를 설정해줘야 매번 다른 값이 나오는 것도 설명 했습니다.
         또한 switch에서 조건에 들어가는 변수에 따라 접근하는 case가 정해지는 것과 각 case 마지막에 break을 걸어주지 않으면 그 밑의 모든 case가 실행되는 것도 설명했습니다. 그리고 논리연산(AND(&&), OR()||)에 대해서도 간단하게 설명했습니다. 특히 OR연산에서 || 이 모양이 어딨는지 몰라서 헤매고 있어서 안타까웠습니다...
         구조체 선언 방법과 typedef를 쓰는 이유를 설명 하는데 구조체 예제 안에 배열이 있어서 배열에 대해서 먼저 설명했습니다. 배열의 이름이 갖는 의미와 인덱스로 접근가능한 자료구조라는 것을 설명했습니다. 그 다음으로는 미뤄왔던 함수에 대해서 설명했습니다. 이번에도 예제로 설명하려 했는데 파라미터로 포인터를 받아오기에 먼저 포인터에 관한 설명을 했습니다. swap예제를 사용하여 call by value 기반의 C에서 포인터를 사용하여 call by reference를 구현 할 수 있다고 설명했습니다. 그리고 배열접근 방법에 인덱스와 배열이름+숫자 로 접근하는 방법도 알려줬습니다.
          * 정종민 - 아침7시에 수업, 처음에는 wiki사용법을 배웠고 먼가 처음하는 거라 생소한 wiki? 그 다음에는 요즘 C언어 시간에 배우는 수업에 대해 복습을 했다. 처음하는 c언어라 하나도 몰라 헤맸는데 복습하니 이제야 먼지 좀 알겠다는... ㅋㅋㅋ
          * 박환희 - 오늘은 제어에 대한 내용을 배웠고 느낌은 마음이 편하였고 제어에서는 이러한 종류가 있다는것을 알았고 앞으로 법을 좀더 익혀야겠다는것을 생각했습니다.
  • 새싹교실/2012/아우토반/뒷반/3.30 . . . . 12 matches
          * 제어(if, if~else, else if, switch)
          * 반복(while)
          * 오늘은 여러 가지 기초적인 법 사항을 알려주었다. 언제나처럼 변수의 개념에 대해 강조했고, 개념 설명 위주로 수업을 진행하였다. 다음 주는 실습 시간이 될 예정이다. 아무래도 C를 처음 배울 때엔 많은 연습이 필요한 것 같다. 그러므로 학생여러분은 숙제를 해결해오세요~ ㅋㅋ - [장용운]
          * 오늘 꽤 여러가지를 배웠다.수업시간에 듣지못했던것을 여기서 들을 수 있어서 매우 좋았다.아직 어려운게아니라서 머리속에 잘 들어갔고 이제는 잘 활용하는일만 남았는데 솔직히 제를 풀어보는것은 해 본적이없어서 그닥 자신은 없다.틀려도 되겠지라는 마음을 갖고 숙제를 해봐야 할것같다.
          * 오늘은 C언어의 기초를 배운 것 같다. 오늘은 너무 피곤해서 수업시간 내내 졸았던 것 같아서 용운이 형한테 너무 죄송스러웠다. 그래도 이번 수업에서 한 내용은 C프로그래밍 수업 때 조금 들었던 것이었기 때에 내용을 이해하기가 조금 수월했던 것 같다. 오늘 너무 많이 졸았기 때에 다음 시간부터는 수업전에 컨디션 조절을 해야겠다. 그리고 앞으로 내용이 많이 어려워질것 같은데..... 열심히 해야겠다. - [김태헌]
         정수를 하나 입력받는다. 입력받는 정수는 1~100 사이의 숫자로 가정한다.
         단, 위 작업을 0을 입력받을 때까지 계속해서 수행하여야 한다. (while 사용)
         while의 조건에는 != 연산자를 사용한다. != 연산자는 양쪽 피연산자가 같은 값을 갖지 않을 때 참이 된다.
  • 소수구하기 . . . . 12 matches
         === 제 정의 1 ===
         === 제제기 ===
         누군가 [자유게시판]에 다음과 같은 제를 질을 했다. 글이야 기분나쁘지만, NeoCoin은 이것이 pc로 가능한가가 궁금해 졌다.
         제를 이렇게 정의했다.
         '''제정의 1'''의 50000이하 소수를 구하는 소스중 남훈이의 소스에서 제곱근 연산을 넣고, 모든 인자를 static, 컴파일러 옵션을 최대로해서 돌렸다. 출력은 필요 없으므로, 시간과 갯수만 출력한다. (Duron 800 MS VS.NET 2003)
         보다시피, 시간의 측면에서 50,000,000(5천만-8자리) 이후는 상상하기 싫다. 시간제가 아니라 메모리 공간적인 제도 존재할 것이다. 5천만 까지가 발견된 소수만 보관해도 (3001134*4)/(1000*1000)=12메가 정도 되니까 말이다. 앞으로 목표자리수인 3자리 동안 소수 갯수가 100배 증가하면 1.2 기가가 된다. :(
          마침 정수론을 보고 있었습니다. 허나 제시된 '임의의 큰수에 대한 소수 판정 방법'에서 위의 시공간의 제를 줄여줄 여지가 보이지를 않내요. 저 제 내준 사람은 어떻게 풀라는 궁금해요. 11자리라.. 좀더 생각해 봐야겠습니다. --NeoCoin
         위 제는 11자리 소수를 모두 구해라가 아니고 "11자리 소수를 구해라"일 것이다. --JuNe
         ["제분류"]
  • 숫자를한글로바꾸기 . . . . 12 matches
         === 숫자를 한글로 바꾸기 ===
          제 : 숫자를 입력 받아서 한글로 출력시키는 프로그램을 작성하여라.
          10만 보다 적은 수를 숫자로 받아들인다.
          || 이영호 || C || || [이영호/숫자를한글로바꾸기] ||
          || 조현태 || C/C++ || || [숫자를한글로바꾸기/조현태] ||
          || 정수민 || C || 4h || [숫자를한글로바꾸기/정수민] ||
          || 김태훈 || C || 40min || [숫자를한글로바꾸기/김태훈zyint] ||
          || 허아영 || C || 1h || [숫자를한글로바꾸기/허아영] ||
          * 이강성 교수님께서 만드신 TestDrivenDevelopment 강의 동영상에서 다룬 내용과 같은 제네요. 이 제를 푸신 분들은 제게 메신저로 말씀을 해 주세요. DevilsCamp 때도 TestDrivenDevelopment 에 대해서 잠깐 접해보셨겠지만 이 동영상을 보시면 많은것을 얻으실 수 있을 것 같네요. 참고로 제 MSN 주소는 boy 골뱅 idaizy.com 입니다. 원저자께서 해당 파일이 무작위적으로 유포되는걸 원치 않으셔서 신청자에 한해서만 파일을 보내드리겠습니다. - 임인택
         [LittleAOI] [제분류]
  • 시간관리하기 . . . . 12 matches
         DeleteMe) 영어로 쓰려면 HowToManagement... 류가 되려나. -_-; 개인적으로 그리 치열하게 살지 않는 사람으로서 이런 페이지 글 적는게 좀 그렇지만. -_-; 일단 화두 제공용. 질하기위해 연 페이지라고 생각하시길. --["1002"]
         ["정모/2002.9.26"] 때 사람들에게 요새 겪게 되는 제들에 대해서 이야기하라고 했었을때, 많이 나왔던 질이 '시간이 없는데 하고 싶은 일은 많고...' 식의 제가 많았다.
         제는 주어졌고, 어떻게 해결해볼 수 있을까?
         보통 이 제에 대해서는 '스스로가 게을러서' 로 끝나고, 제에 대해 너무 막연하게 대처한다.
         시간관리 책들을 보고 처음부터 거대 시스템을 만들어서 한꺼번에 자신에게 적용하려고 하는 사람들에게서, 소프트웨어 개발방법론인 XP 에서의 다음의 주은 어쩌면 의외의 효과를 가져오는 것 같다.
         어떤 시간관리 전가에 대한 이야기입니다.
         하루는 이 전가가 경영학과 학생들에게 강의를 하면서, 자신의 주장을 명확히 하기 위해, (학생들이 잊지 못할) 어떤 구체적인 예를 들어 설명을 했습니다. 경영학과 학생들앞에 선 이 전가가 말했습니다!
         시간관리 전가는 즉시 부인했습니다. 그리고는 말을 이어 갔습니다.
  • 실시간멀티플레이어게임프로젝트 . . . . 12 matches
          너무 늦게 말씀드려 죄송하지만 혹시 토요일 오후에 하는건 안 될 까요? 학교 보강수업과 시험 때입니다~~ -지용
         혹시 축구에 관심이 있다면 CM을 참고하세요. [http://www.hani.co.kr/section-014010000/2002/07/014010000200207141533005.html 신 기사] 기본적으로는 텍스트로만 이뤄지는 게임입니다.
         파이썬의 기초 법만 알면 강의에 참여할 수 있을 겁니다. 제가 말하는 기초란, if, for, 기초 데이타형(리스트, 터플, 사전, 자열, 정수 등), 함수 정도에 대한 지식입니다.
         제작할 게임은 컴퓨터 그래픽을 사용하지 않습니다. 게임의 목표는 화려하거나 중독성 있는 게임이 아니고, 상상력을 자극하고 즐거운 게임입니다. 복잡하지만 단순한 게임이 아니고, 단순하지만 복잡한 게임입니다.
         actors/actresses: 황재선, 장창재, 나휘동, 원명, [재동], 임민수, 박정훈, 김지용, [강희경], 곽세환, [노수민]
         등입니다. 여기에서 파이썬이라는 언어에 대해 얻는 것은 다른 것들에 비해 상대적으로 그다지 크지 않을 것입니다. 이번 경험은 어떤 언어이냐가 중요하지 않습니다. C++이나 자바를 사용할 수도 있다는 말입니다. 하지만 그렇게 하지 않은 이유는, 그런 언어들을 사용하면 "언어(혹은 라이브러리 API)"라는 제가 더 커져서 소위 배보다 배꼽이 커지는 현상이 생기기 쉽기 때입니다.
  • 인수/Assignment . . . . 12 matches
         || 영작 || 9/5 || 9/12.수업 || 교재 P2-7 || || O ||
         || 영작 || 9/12 || 9/19.수업 || 교재 P9-10 || || O ||
         || 영작 || 9/19 || 9/25 || ~P17, Journal 2편 || || O ||
         || 정보표준화 || 9/25 || 10/4.10시 || ISO 서 작성법 || || O ||
         || 영작 || 9/26 || 10/10 || P28 까지 || || O ||
         || DB || 9/13 || 10/13 || 연습제 4.2(b,c,f,g,h,j,l), 4.3(a,d), 4.1(a,c,d) || || O ||
         || 모델링 || 9/26 || 10/15 || 3장 연습제 || so fxxking hw... || O ||
         || 영작 || 10/10 || 10/17 || ~p34, journal 2편 || ~p34 완료 || O ||
         || 영작 || 10/17 || 10/31 || P66 || || O ||
         || 영작 || . || 11/7 || 이것 저것. Journal 2편 || || O ||
         || 영작 || . || 11/15 || 이것 저것. || || X ||
         || 정표 || . || 11/15 || 표준화 서 작성 || || X ||
  • 정모/2011.3.7 . . . . 12 matches
          1. XML 코드의 순서때에. XML은 선언적 언어인데 왜 순서의 영향을 받을까?
          * 난이도가 각각 다른 5~7
          * 시험 결과와 선행 지식에 대한 간단한 설을 통해 학생들을 분류
          * 신입생 설명회를 이미 진행하였기 때에 ZeroPage에 대해서는 간단히 설명하고 새싹 교실 오리엔테이션 안내 및 ZeroPage 홍보물 배포.
          * 활동 공유로 읽었던 책을 간단히 소개하면서 내용을 되새김질하는 계기가 되어 좋았다. 루비를 다운받아 irb를 사용해 실습을 해보았다. 성현이가 OMS로 영화 재해석을 했다. 동영상도 실행되고, 효과음도 나왔다면 더 재밌는 발표가 될 수 있었을 텐데 강의실이나 상황이 열악해서 안타까웠다. 마지막에 시간이 모자라서 코드레이스를 하지 않고, 간단히 Snowball Keyword 게임을 했는데 규칙을 잘못 이해하고 얘기하여 바로 탈락했다. 다음에는 좀 더 의도를 잘 파악하도록 집중해서 들어야 겠다. - [강소현]
          * 이번 정모에서 루비 세미나 - 법실습 - 을 준비했었습니다. 잘 할수 있을까 걱정했는데 예상대로 설명도 제대로 못하고 강사주제에 들으러 오신분들께 물어보고 시간도 두배나 초과하는 추태를 보였습니다. 혼자서는 다 아는것 같은 내용도 남들 앞에서 설명하려니 제대로 떠오르지가 않네요.. 앞에서 말하면서도 얼른 끝내고 도망가고싶다는 생각이 자꾸 들었습니다ㅠ 이래서 연습이란게 중요한가 봅니다. 다른사람을 가르치려면 가르칠 사람보다 세배네배 더 공부해야 한다는 말을 뼈저리게 새기는 하루였습니다. 혹여 또 세미나를 한다면 벽보고 연습이라도 하겠습니다. 그때는 이런 괴로운 세미나를 들려드리지 않을게요ㅠㅠ - [서지혜]
          * 정모에서 세미나와 페챠쿠챠만 참여하게 되었습니다. OMS할 때는 학교 컴퓨터를 이용했는데, BGM과 동영상이 재생이 안되더군요. 안타까웠습니다. 그리고 루비를 보면서 느낀게 참 신기하더군요. 가장 신기한게 'nil'이었습니다. 보면서 여러가지 질이 생각나더라고요. ''왜 nil이 라고 용어를 붙여놨어. Null이랑 헷갈리게!'', ''실제로 가볍게 활용을 하려면 어떻게 이용해봐야 할까?'', ''루비의 가장 큰 특징이 뭐지? 왜 좋다고 이야기 할까?'' 블라블라~. 그리고 루비 위키페이지에 적어놓으셨던 법들이 정상적으로 작동하지 않는 걸 깨달았습니다. '<'로 상속이 안돼! 이 깍쟁이 irb야~ 내가 너를 Some이라 불러줬으니 나에게로 와서 Some2가 되어달란 말이야 ㅜㅜ. 앞으로는 다음에 언어 세미나를 들을 때 ''왜 이 언어와 법이 등장하였는지''를 좀 생각하면서 들어야겠습니다. 그냥 생각없이 들으니까 금방 까먹어 버리네요. - [박성현]
          * 학생회 회의 떄에 늦어서 루비 세미나 뒷부분부터 참석한 관계로 많은 프로그램을 놓쳐버렸습니다 OTL 아쉽더군요... 우선 새싹의 경우는 나름 담당자 인데 정모에 참여를 못해서 아쉽습니다. 그리고 성현이형의 영화 해석을 보면서 깨달은건데 그렇게 영화가 해석되는지 몰랐습니다. 그리고 JavaScript 스터디에 야매로 참가하면서... 알게된 내용이지만 인터프리터 언어에도 객체지향 언어가 존재하고 종류가 꽤 많다는게 신기하네요. 제가 어디서 주워 듣기로는 Python도 OOP가 가능하다고 하던데;; 아무튼 늦게 들어간게 죄입니다 ㅠ -[윤종하]
          * 제가 "실용적"이라는 단어를 잘못 사용했네요. 이 단어를 사용하는 게 아니었습니다....... 언어가 너무 "중구난방"한 느낌이 들어서, 별로 "제가 쓸 일이" 없을 것 같다는 의미를 전달하려 했어요. - [황현]
  • 정모/2011.4.11 . . . . 12 matches
          * 질은 세번만!
          * 지난주엔 키보드 이벤트 처리하는 것 때에 헤맸다.
          * 각 팀은 1분 15초 안에 최대한 많은 답을 맞춰야하고, 최대 15제를 풀 수 있다.
          * 각각 6제를 맞춰 비김.
          * 나왔던 제도 보여주세요 ㅋㅋ - [Enoch]
          * 이번 정모에는 11학번 학우분들이 참여하여 반가웠습니다. Ice Breaking때는 화기애애한 분위기가 마음에 들었습니다. 다들 웃으면서 ㅎㅎ 재미있는 시간이었던 것 같습니다. 일일 퍼실리테이터... 어떤 느낌일지는 모르겠지만 한번 해 보는 것도 재밌지 않을까라는 생각도 했습니다. 이번 OMS를 진행하면서.. 음... 역시 배경이 제였었던 같습니다 -ㅅ-;; 그리고 생각했던거 보다 머리속에 있는 말이 입 밖으로 잘 나오지를 않아가지고 제가 생각했던 것들을 모두 전달하지 못했던 것 같습니다. 사실 음악을 좋아하다 보니까 영화나 TV를 보다가 아는 음악이 나오면 혼자 반가워 하고 그랬는데,, 그 안에 있는 의미를 찾아보는 일은 많이 하지 않았었습니다. 다만, 이런걸 해 보겠다고 생각했던게 아이언맨 2 보다가 (보여드렸던 장면에서) 처음에는 Queen의 You're my Best Friend라는 노래로 생각하고 저 장면과 되게 모순이다라고 생각했었는데 그 노래가 아니라 다른 노래라 조금 당황했던 것도 있고, 노래 가사를 보면서 아 이런 의미가 있을 수도 있겠구나 라는 생각을 했습니다. 그래서 이것 저것 찾아보게 되었던 것이 계기가 되었던 것 같습니다. 그리고 이번 스피드 퀴즈는 그동한 제로페이지에서 했던 것들이 많았구나 라는 생각과 함께, 제가 설명하는데 윤종하 게임이 나올줄이야 이러면서 -ㅅ-;; ㅋㅋㅋ 마지막으로 다음주 소풍 기대되네요 ㅋ - [권순의]
          1. 이번 OMS는 영화 속 음악에 대한 내용이었는데 매우 흥미로웠습니다. 소개하신 노래들 중 제가 좋아하는 노래가 있었던 것도 좋았구요!!! 미처 생각해보지 못한 영화 속 음악의 의미에 대한 설명을 들으니 뭔가 좀 더 교양있는 사람이 되는 것 같은 느낌이예요. 요금제때에 한 달에 두 편씩은 꼭 영화를 보는데 앞으로 영화 볼 때 나오는 음악에 대해서도 더 관심을 가지고 들어봐야겠습니다.
          * 처음 참여한 제페 정모! 재밌었습니다.ㅋㅋ 재밌는 아이스브레이킹. 처음이라 그런지 적정 수준의 제를 내는게 꽤 난감했고... 제페에 현재 어떤 스터디가 진행중인지 알게 됐습니당, 그리고 ACM 스터디가 열리면 참가하게 될 것 같구요ㅋㅋ, 현재 웹 구축을 진행하고 있어서 자바스크립트도 관심이 있는데, 지금은 데이터베이스 때에 자바스크립트는 커녕 코딩도 못하고 DB만 만들고 없애고 반복 중이라 ㅜㅜ엉엉.. 디비짜고 기본틀 갖춰지면 HTML, CSS, PHP 거치고 나서야 자바스크립트를 볼 수 있을 것 같아요.. 처음 본 OMS는 어째서인지 배경화면만 기억에 남아있네요...ㅋㅋㅋ 수업 듣고 과제하고 놀고만 반복하다가 오랜만에 신선한 자극을 받은거 같습니당. 다음주는 갈 수 있을지 모르겠어요, ㅜㅜ 선형대수학+동양철학의 압박;; 주자의 격물치지에 대해 아시는 분??! - [정진경]
          * 저는 횟수로 따지자면 이번이 두번째로 참여하게 되는건데, 좀 제대로 참여한건 오늘이 처음이라 어떨지 많이 개대됐어요. Ice Breaking도 좀 더 재밌게 쓸 수 있었을 텐데 하는 아쉬움(?)도 남네요. 또, 중간에 스터디 소개같은거 하는데서는 이게 도대체 무슨 말이지.... 라는 것도 좀 있었구요. OMS는 매트릭스가 제일 기억에 남...는 다고 하면 거짓말이겠고.. (배경이..) 사실 OMS하는게 상당히 많이 전적인(저번에 현이형이 준비하는거 봤거든요.)걸 하는 줄 알았는데 꼭 그런건 아닌거 같아 좀 쉽게 다가온거 같아 좋았어요. 근데 갑자기 궁금한게.. 위키에 두명이 동시에 수정하게 되면 어떻게 될까요? 앞에 저장한 사람의 내용이 씹히게 될까요;? - [김태진]
          * 아 아니구나. 소풍취소된 날은 과방에서 설지 작성이었군.. - [서지혜]
          * 제가 진짜 마지막임. 아이스브레이킹에서 실수해서 낚시 실패 =_= 뭐 그럭저럭 11학번도 껴 있어서 괜찮았던 것 같네요. 스피드퀴즈는 연합동아리 엠티 갔을때 진행미숙으로 단어 몇개 날려먹은걸 본 적이 있어서 이번엔 혹시나 했는데 역시나였네요... 11학번이 이해하지 못하는 단어도 있어서 그런게 많이 걸렸으면 좀 제가 됐을지도.... 다음번에 제대로 해보고 싶네요. - [강성현]
  • 정수민 . . . . 12 matches
         이놈 때에 고생한거 생각하면 -_-;;;
         꽤나 난이도 있었지만 선배님들이 해놓은걸 참고해서 풀어나간 -_-!!! 파이쏜으로 했는데 법이 뭔가 쉬운듯하면서 어렵다는;;;
          /*숫자를 만들고,*/
          /*오름차순으로 숫자를 정리*/
          printf("당첨 숫자 : ");
         제동이형이 지적해주신거 수정하다가... 실행을 해보니 또 중복이 생기더군요 [.........;] 찾아보니 와일에서 ( i==6 ) 이라고 조건을 달아서 아예 수행을 못하게 해놨었다는.......;; 암튼 인제 또 수정해서 제 없심 +_+ ㅋ
          printf ("사칙연산 프로그램입니다.아직은 두개의 숫자만 계산이 가능합니다.n");
          printf ("숫자는 최대 11자리까지 가능합니다.n");
         숫자 두개뿐이 연산을 못하지만 나름대로 계산기라는;;
          /*중복돼는 숫자를 없앱니다.*/
          /*동점일경우 들어갈 순위에서 높은 숫자로 순위를 매깁니다.*/
  • 제12회 한국자바개발자 컨퍼런스 후기 . . . . 12 matches
         || 10:40 ~ 11:00 |||||||||||||| 축사 (행정안전부 정보화전략실 황서종 국장 / 한국IT전가협회 조성갑 회장) ||
         || 13:00 ~ 13:50 || 비지니스 전가를 위한 PaaS 플랫폼 구축 전략 (장진영) || PLAY! GAE! (정원치) || 아키텍트가 알아야할 12/97가지 (손영수) || 빅데이터 플랫폼 기반 소셜네트워크 분석 사례 (김형준) || 지속적인 개발, 빌드, 배포 (박재성) || Apache Hadoop으로 구현하는 Big Data 기술 완벽 해부 (JBross User Group) || 클라우드 서버를 활용한 서비스 개발 실습 (허광남) ||
         || 14:00 ~ 14:50 || KT Cloud 기반 애플리케이션 개발 전략 (정조) || Event Driven Architecture (이미남) || 성공하는 개발자를 위한 아키텍처 요구사항 분석 방법 (강승준) || JBoss RHQ와 Byteman을 이용한 오픈소스 자바 애플리케이션 모니터링 (원종석) || Java와 Eclipse로 개발하는 클라우드, Windows Azure (김명신) || Apache Hadoop으로 구현하는 Big Data 기술 완벽 해부 (JBross User Group) || 클라우드 서버를 활용한 서비스 개발 실습 (허광남) ||
         || 16:00 ~ 16:50 || 대용량 고가용성 분산 캐쉬서버(infinispan)를 활용한 웹서비스 (이용혁) || 대박날때 후회말고, 성능큭정 자주하자!/성능측정도구 nGrinder (김광섭) || 모바일 웹 개발 플랫폼 (현철주) || IT 개발자 환경의 제점과 개선점 등 (김효상-IT노조) || 분산 애플리케이션 개발을 위한 기업 통합(EIPs) 전략 (차정호) || SW 융합의 메카 인천에서 놀자! || 되돌아 보는 스프링 프레임워크 (KSUG 커뮤니티) ||
          * 8시 55분에 코엑스 도착해서 등록을 받으려 했으나 9시 20분 부터 등록해줄거라며 즐을 날려 주는 바람에 주변 스폰서 기업에서 책을 팔거나 홍보하는 곳에서 조금 노닐고 있었는데 9시 10분 좀 되니까 등록 시작 -_-;;; 뭐 여하튼 등록을 하고 사고 싶은 책이 있어 사니까 핑크색 티셔츠를 주고.. 설 조사 하니까 책 공짜로 주고.. 스마트 개발자 협회 페이스북 좋아요 누르니까 길다란 메모장 같은거 받고.. 흠.. MS에서는 윈도우 모바일 홍보 + 키넥트 홍보 + 기타 홍보와 설조사 하면 팝콘을 주던데 난 안함 -ㅅ-ㅋ NHN에서는 NHN NEXT라는 NHN 전 학원?을 홍보하고 있었다.
          간단하게 점심을 먹고 본인은 첫 세미나로 Track 3에서 한 아키텍트가 알아야 할 12/97가지를 들었다. 그 내용중에서 STAN으로 프로그램의 상태를 보여주는 부분이 인상깊었다. 그렇다고 여기에 너무 민감하게 반응하지는 말라던.. 그리고 그 곳에 심취해 있다고 단순히 신기술이라고 무조건적으로 사용하기 보다는 이런 저런 상황을 고려하라는 것.. 가장 생각나는 것은 제는 기술의 제가 아니라 모든 것은 사람에 관한 것이다라는.. 모든 일은 나 자신으로부터 비롯된다라고 생각하고 있었는데 그 부분과 어느정도 상통하는 이야기였던 것 같다.
          그 다음으로 Track 5에서 있었던 Java와 Eclipse로 개발하는 클라우드, Windows Azure를 들었다. Microsoft사의 직원이 진행하였는데 표준에 맞추려고 노력한다는 말이 생각난다. 그리고 처음엔 Java를 마소에서 어떻게 활용을 한다는 건지 궁금해서 들은 것도 있다. 이 Windows Azure는 클라우드에서 애플리케이션을 운영하든, 클라우드에서 제공한 서비스를 이용하든지 간에, 애플리케이션을 위한 플랫폼이 필요한데, 애플리케이션 개발자들에게 제공되는 서비스를 위한 클라우드 기술의 집합이라고 한다. 그래서 Large로 갈 수록 램이 15GB인가 그렇고.. 뭐 여하튼.. 이클립스를 이용해 어떻게 사용하는지 간단하게 보여주고 하는 시간이었다.
          네 번째 시간으로는 Track 3에서 모바일 웹 개발 플랫폼을 들었는데.. 뭔가 웹에서 사용되는 것은 이러이러한 것이 있습니다라고 50분동안 열거하는 느낌이라 기대보다는 지루했다. -_-a 그래서 사실 기억에 남는 것이 별로 없다..;
  • 지금그때2005/회의20050308 . . . . 12 matches
          동서버를 이용한다.
         질릴레이
         노란모자 : 동적이다. 좋은 질이 나온다면 재미 있을 것이다.
         초록모자 : 질이중모션, pass벌칙
         검은모자 : 보는입장에서는 재미가 떨어진다. 소외. 잘된 질이 희소하다.
         초록모자 : 질리스트를 만들어 간다. 소외를 최소화 해야한다. 움직임을 만든다.
          === 질릴레이의 단점을 극복할 방안. ===
          === 질릴레이 보안 게임 구체사항 ===
          패스하지 않을 질으로 만들자. 패스를 하면 엄한 벌칙을 준다.
          Y/N로 대답할수 있는 질.
          질리스트. YesNoWhy후렴 (이유에 대한 우리의 평가?) <- 맞는건가요??
          질자가...뒤로가서...룰을 다듬어야...
  • 포커솔리테어평가 . . . . 12 matches
         입력은 한 줄 당 다섯 개의 카드씩 총 25개의 카드가 입력된다. 각 카드는 2개의 자로 구성된다. 첫 번째 자는 카드의 순서를 나타낸다. 카드 순서는 'A', '2', '3', '4', '5', '6', '7', '8', '9', 'X', 'J', 'Q', 'K'이다. 두번째 자는 카드의 종류로서 'S', 'H', 'D', 'C'로 표시한다.
         카드는 5x5 행렬에 나눠진다. 각 행과 열을 구성하는 5장의 카드에서 가장 높은 계급을 결정하는 것이다. 계급의 순서는 노 페어, 원 페어, 투 페어, 트리플, 스트레이트, 플러시, 풀 하우스, 포캉드, 스트레이트 플러시로 구성된다. 패는 가장 높은 계급으로 한 번만 사용된다. 예를 들어, 포카드는 투 페어나 트리플로 다시 사용되지 않는다.
         2. 원 페어 : 아래 계급 중 어떠한 것도 해당죄 않으며, 두장의 카드가 동일한 숫자로 구성될 때 (예 : 2C, 3H, 4H, KD)
         3. 투 페어 : 아래 계급 중 어떠한 것도 해당되지 않으며, 다른 숫자의원 페어 2개로 이루어진 경우(예 : @C, 3H, 4H, 2H, 4D)
         4. 트리플 : 아래 계급 중 어떠한 것도 해당되지 않으며, 동일한 숫자의 카드가 3장인 경우(예 : QS, KH, 2C, QD, QC)
         5. 스트레이트 : 아래 계급 중 어떠한 것도 해당되지 않으며, 5장의 카드의 숫자가 순차적으로 구성되는 경우. A(에이스)는 14나 1로 사용될 수 있다. 예를 들어, AC, 2H, 4D, 3H, 5S도 스트레이트 이며, JH, XD, QC, KD, AS도 스트레이트 이다.
         8. 포 카드 : 동일한 숫자 4개로 구성되는 카드(예: AS, AD, AH, 7C, AC)
         [제분류]
  • 프로그래밍잔치/첫째날후기 . . . . 12 matches
          * 위키의 룰은 사용하는 사람들이 점차적으로 만들어야 하는데, 지금의 룰은 '규칙'처럼 선언을 해버린 모습같다. 위키의 룰은 결국 위키를 이용하는 사람들이 만들어가는 것 아닌가?
         7 개의 언어 Set 중 사람들은 1개씩 골랐다. 같은 언어를 고른 사람들끼리 Pair 를 구성, 해당 언어로 제를 풀기 시작했다.
          * 처음으로 어떤 언어를 접했을때 그 언어를 보는 기준은 지금까지 내가 알아왔던 언어이다. 예전에 알았던 언어에 있던 구이 이 첨 보는 언어에서는 어떻게 할 수 있나 살펴 보는 것이다. 그 원하는 기능이 이 첨보는 언어에서는 없을 수도 있고 대신 다른 기능이 있을수도 있는데. -_- 이번에 Haskell이라는 언어를 봤을때 이것도 지금까지 언어들이랑 비슷 비슷할거라고 만만하게 생각했었다. 그래서 지금까지 짜왔던 방식으로 해볼라고 생각했다. 그런데 잘 안되었다. 이 언어는 그 밑바탕에 깔려 있는 개념이 달랐던 것이다. 그래서 그런식의 접근은 좋지 않을 수 밖에 없었던 것이다. 이렇게 다른 패러다임을 바탕으로 하는 언어를 접하게 된것은 신선한 충격이었다. - 상협
          *감상 : 위키에 글을 쓸 수 있는 용기를 내어...;;짧은 시간이나마 참여했던 후기를 남겨보면..내가 선택했던 python은 c나 java와 비슷하면서도 더 간단한 구조를 가지고 있었기 때에..패러다임의 변화로부터 오는 충격은 적었던것 같다. 오히려 법은 간단하지만, 손과 눈에 익지 않은 구조들과 프로그램 실행 방식으로 인해 상당히 불편하다는 느낌을 받았고, 이렇게 실행 되는 인터프리터 언어를 접한다는게 어떤 도움이 될는지....;;;란 생각이 들었다. 특히, 툴과 언어가 익숙하지 않으니 제(삼목)의 알고리즘도 생각이 나질 않아 당황스러웠다. 마구잡이로 짜는 코딩 습관 때인가...하는 생각이 들었다.
          * 좋았던 점 : 새로운 언어를 접할 상황이 올 때 , 법을 익히고 적용하는 방법에 대해 경험 할 수 있었단 점. 이 때 인터넷의 많은 서들 중 튜토리얼 형식의 서가 도움이 된다는 점. --["naneunji"]
          * 의외로 몇몇 언어들이 공통되는 부분도 있는거같군요...(제 수준에서) 그리고 Haskell은 언어보다 수학에 가까운 듯한 느낌이었습니다. 전혀 모르는(?) 언어를 사용하여 첫번째 프로그래밍할 때 가슴이 참 떨리더군요. - 영동
  • 05학번만의C++Study/숙제제출/2 . . . . 11 matches
         ==== C++과 가까워지기 위한 기본적인 제 ====
         === 제 ===
          * 평상시에는 자열의 주소를 하나의 전달인자로 취하여, 그 자열을 한 번 출력하는 함수를 작성하라. 그러다가 0이아닌 int형 값을 두 번째 전달인자로 제공하면, 그 시점에 도달할 때까지 그 함수가 호출되었던 횟수만큼 그 자열을 반복해서 출력한다. (자열이 출력되는 횟수는 두 번째 전달인자의 값이 아니라 그 함수가 호출되었던 횟수와 같다.)물론 이 함수는 거의 쓸모가 없다. 하지만 이것은 이 장에서 설명한 몇 가지 프로그래밍 기술을 사용할 것을 요구한다. 이들 함수를 사용하여 함수의 작동을 보여 주는 간단한 프로그램을 작성하라
          * 여기서 질!! 전달인자가 1개인 함수와 2개인 함수만들어 오버 로딩 하라는 것인가? 그게 아니라면... cin을 라인별로 입력 받아햐겠는데.. 어떤때는 변수를 하나만 받고 어떤때는 변수를 두개 받아야하니.. 라인별로 처리 해야할듯.. 하지만 라인별로 처리해도....;;;; 음... 생각이 떠오르지 않음..;;; 쳇..;;[[BR]] 어제 교수가 defalte 에 대해 설명했던거 같은데.. 전달인자를 취하지 않으면 이미 입력된 변수의 값으로 처리한다. 라고...;; 음..;;;이렇게 해야하나?
          - 근데, 자랑 숫자를 입력받은 후 출력받은담에 프로그램이 끝나게 만들어야 해? -아영
  • 10학번 c++ 프로젝트 . . . . 11 matches
         == 해결되지 않은 제 ==
          * 고: [남상혁]
         == 해결되지 않은 제 ==
          * 근데 헤더제(?)땜에 속 썩고 있음
         == 해결되지 않은 제 ==
          * 헤더제는 #pragma once 사용으로 해결된 듯 함.
          * 초시계를 제외한 나머지 부분(시간표시, 알람설정) 은 완성.
         == 해결되지 않은 제 ==
          * 초시계 클래스 제 해결해야지..
         == 해결되지 않은 제 ==
  • 2005리눅스프로젝트<설치> . . . . 11 matches
         Upload:vmware 한글사용서.pdf
          * Fedora core4자료는 CD4장 분량이기때에 어디에다가 올릴방법이 없어서 필요하신분은 저에게 연락을주세요.
          * 데비안을 사용할려고 했지만 경험부족 때에 X-WINDOW를 설치를 못해서 다른 버전중에 레드핫 계열인 Fedora core4를 선택했습니다. 레드핫,데비안,Fedora 설치 해서 이 버전이 제일 갠찮은 것같아서 이걸로 사용하기로 결정을 했습니다.
          * 만약 하드가 모자르던지 윈도우에서 리눅스를 돌리고자 하시는 분은 위 VMware을 사용하시기 바랍니다.
          VM을 사용하시면 만은 용량과 불편함이 덜할것입니다^^;
          * 1차 스터디는 명령어와 VI사용 법을 하겠습니다.
          * 저도 데비안을 사용하고 싶은데 그 x-window 깔줄몰라서 이러는 중입니다...ㅜㅜ
          * 데비안 밀었다가 다시 설치하고 싶은데.. 그나저나 이번주 월요일은 스터디 쉬는거지?? 학교도 안가는데..그렇담 여유가 좀 있군... 아님 낭패..ㅋㅋ [[BR]]그리고 질!! Fedora로 통일해야하는거야?? 아님 Fedora 를 중심으로 돈다는건가? ...<< 그게 그말인가?? 요즘언어의 장벽을 느끼는 형노.;;;;;; [(laciel)형노]
          * 일단은 통일을 하기로 했는데 머 데비안 사용할줄 알면 해도되궁... 아 이번주는 수요일4교시에 스터디있어용....[(shusheng)수생]
  • ACM_ICPC . . . . 11 matches
          * 제 많이 풀어보기
          * 장소 : KAIST ICC Campus (지캠퍼스)
          * 장소 : KAIST ICC Campus (지캠퍼스)
          * 장소 : KAIST ICC Campus (지캠퍼스)
          * 장소 : KAIST ICC Campus (지캠퍼스)
          * 6제 품. 6제 중에 수상팀도 있으나...
          * 장소 : KAIST ICC Campus (지캠퍼스)
          * 장소 : KAIST ICC Campus (지캠퍼스)
          * 외국팀 제외 학교 순위 10위로 동상 수상!
          * 장소 : KAIST ICC Campus (지캠퍼스)
  • BasicJava2005/5주차 . . . . 11 matches
          - toString : 지정한 숫자자열 형태로 반환한다.
          System.out.println("숫자를 2개 넣으세요");
          System.out.println("자열을 넣지 마세요");
          - try ~ catch 구을 실행후 무조건 finally장을 실행한다.
          - 사용자가 직접 Exception을 작성할 수 있다.
         7. throws 구 / throw 구
          throws : 이 함수에서는 예외처리 하고 싶지 않을때 사용한다.
          throw : 임의로 예외를 발생시키고자 할 때 사용한다.
  • CppStudy_2002_1/과제1/Yggdrasil . . . . 11 matches
          //사용자의 임의 입력
          char *str;//자열을 가리키는 포인터
          int ct; //자열의 길이('\0'은 세지 않음)
          show(testing); //testing 자열을 한 번 출력한다
          show(testing, 3);//testing 자열을 세 번 출력한다
         긴 자열입력->짧은 자열 입력시 긴 자열의 잔해가 남음)
         //함수는 사용자에게 이름과 핸디캡을 요구한다
         //이름이 입력되면 1을 리턴하고, 이름이 빈 자열이면 0을 리턴한다
         //함수는 전달인자로 전달된 값들을 사용하여
  • DPSCChapter2 . . . . 11 matches
         디자인 패턴에 대한 구체적인 설명에 들어가기 전에 우리는 다양한 패턴들이 포함된 것들에 대한 예시들을 보여준다. 디자인 패턴 서에서 GoF는 디자인 패턴을 이해하게 되면서 "Huh?" 에서 "Aha!" 로 바뀌는 경험에 대해 이야기한다. 우리는 여기 작은 단막극을 보여줄 것이다. 그것은 3개의 작은 이야기로 구성되어있다 : MegaCorp라는 보험회사에서 일하는 두명의 Smalltalk 프로그래머의 3일의 이야기이다. 우리는 Don 과(OOP에 대해서는 초보지만 경험있는 사업분석가) Jane (OOP와 Pattern 전가)의 대화내용을 듣고 있다. Don 은 그의 제를 Jane에게 가져오고, 그들은 같이 그 제를 해결한다. 비록 여기의 인물들의 허구의 것이지만, design 은 실제의 것이고, Smalltalk로 쓰여진 실제의 시스템중 일부이다. 우리의 목표는 어떻게 design pattern이 실제세계의 제들에 대한 해결책을 가져다 주는가에 대해 설명하는 것이다.
         Jane~ 이 제좀 해결해주실래요? 오늘 하루종일 이 요구서를 쳐다봤지만, 도무지 아이디어가 안떠오르네요.
         좋아요. 어떤제인가요?
         여기요. 요구서에서 제의 부분입니다.
         Data Entry. 이것은 다양한 form으로부터 health claims 를 받는 다양한 시스템으로 구성된다. 모두 고유 id 가 할당되어 기록되며, Paper claims OCR (광학자인식) 로 캡쳐된 데이터는 각 form field 들에 연관되어있다.
  • DirectDraw/DDUtil . . . . 11 matches
         ["TheWarOfGenesis2R"]페이지의 개설에 따라 사용법을 모읍니다.
         생각보다 초기화하기 까다로운 DX의 사용을 그나마 편하게 해주는 것들이다
          위와 같은 일을 하지만 창모드로 생성한다. 색상수가 없는 것은 윈도우 바탕화면의 색상 수를 따라가기 때이다.
          자열로부터 서피스를 생성한다.
          컬러키(투명색)를 가진 채 화면에 출력한다. prc는 사용하지 않는다.
          역시 prc는 사용하지 않는다.
          CSurface형을 화면에 출력한다. prc는 사용하지 않는다.
          위의 Blt함수들은 백 버퍼에 출력하는 함수들이다. 모든 내용을 백 버퍼에 출력했으면 다음 함수들을 사용하자
          백 버퍼에 출력되어있는 내용을 현재 화면으로 출력한다. 화면을 모두 완성한 후에 사용한다.
          컬러키(투명색)으로 사용할 색을 COLORREF (RGB) 형에 맞추어서 집어넣으면 된다. [[BR]]
          대개 잘 쓰이지 않는 색을 사용한다.
  • EightQueenProblemSecondTryDiscussion . . . . 11 matches
         우.. 그리고 여전히 테스트 코드를 생각하기 어려웠던 부분이 실제 Queen 을 놓는 부분인데요. 다음과 같이 코드를 나열하고 재귀호출 부분에 대해서 유도를 하는 방법을 시도해봤습니다. 일종의 수열 찾는 방법이 되더군요. 음.. 이 부분에 대해서는 EightQueenProblem 에 대한 하나의 해를 알아놓고 시작한다면 TDD를 시도할 수 있을것 같다는 생각이 들긴 하는데. (제는, 답을 구해놓고 나서야 이 생각이 났더라는. --;)
          continue
          continue
         EightQueenProblemDiscussion 에서 지적해주신 것처럼, '''OOP를 써보자'''라는 목표로 다시 작성해보았더니, 디자인상의 고려 때인지, 저녁시간이라 뇌력의 소모 때인지는 몰라도 오히려 시간이 더 늘어버렸습니다. 이번 디자인은 과연 OOP를 제대로 쓴건지 의견을 구합니다.
         디자인하면서, 가장 의이 들었던 부분이 출력과 관계된 부분이었습니다. EightQueenProblem 자체가 출력이 필요한 제인지, 아닌지로 시작된 고민에.. 결국 '출력이 필요하다' 라고 결론을 내리게 되어, 출력을 원할경우, 인자로 출력 소스를 넘겨주면 지시한 곳으로 출력하고, 부가적으로 output format을 지원하는 방식을 채택하였습니다.
         계속해서 제점을 발견하니 재밌습니다. 또다시 OOP에 도전해봤습니다. 기본 컨셉은, 체스 말과 보드 그리고 체스 플레이어가 등장합니다. 체스 말은 자신이 놓임으로써 다른 말을 "귀찮게 하는지"를 판단하고, 보드는 이러한 체스 말들이 놓이고 출력하는 일을 담당합니다. 마지막으로 체스 플레이어는 자신의 알고리즘에 따라 보드에 퀸을 배열하게 됩니다. 이번에 대각선 방향의 퀸을 체크하는 방법으로 기울기에 의한 방법이 떠올랐습니다. 덕분에 대각선 체크가 깔끔해진듯 합니다. 위에서 이야기해주신 방법 가운데 '스스로 자기 앉을 자리를 찾아간다'라는 부분은, 그렇게 되면 체스 말과 보드가 서로 tightly하게 연결될 공산이 커서 고민하다가 체스 플레이어를 탄생시킨 배경이 되었습니다.
         음.. 아직 구현은 안해보고 그냥 생각해본거지만, 체스 말과 보드가 타이트하게 연결되어도 큰 제는 아닐 것 같은데요. 보드를 Singleton 으로 모든 Queen들이 공유하는 객체로 생각해도 좋을 것 같고요. (Queen에 눈이 달렸던지, 그렇지 않으면 체스 플레이어같이 Queen이 존재하고 있는 세계에 대한 답을 내려줄 신 (?) 이 존재하던지 둘중 하나가 될듯 하다는. ^^;) 아직 OO 관점으로는 그냥 생각만 해보는중. --석천
         제 말을 {{{~cpp mainProgram.runEverything()}}}을 실행하면 모든 게 마술처럼 알아서 실행되게 하라는 뜻으로 오해하지는 않았으면 합니다. 위 superman의 예에서는, 전자의 경우 superman을 제대로 이용해 먹으려면 superman의 내부적 구조를 알아야 합니다. superman의 구현에 종속적이 되는 셈이죠. 하지만 후자는 그게 디커플링이 됩니다. 자기가 매일 가는 길에 있는 도시를 방하는 것은 superman이 스스로 수행할 수 있어야 할 책임이 있다 이거죠. Queen이라는 객체가 여덟개가 있다고 칩시다. 얘네들한테 "너는 저 여왕을 공격할 수 있니?"하고 묻고 그 결과를 가지고 여왕을 배치하고 하는 것을 하나의 추상(abstraction)으로 묶는 것이 어떨까요? 묻지말고 "시키자"는 것이죠 -- 여덟개의 똑똑한 Queen 객체를 만들고 하나씩 "판 위로 올라가라"고 시킵니다. 이렇게 하면 Board와 Queen에 커플링이 생겨서 제가 되는 건 아니냐고 했는데, 어차피 Queen은 Board 없이는 별 의미가 없고, 또, 그렇게 하지 않더라도 어떻게든 비슷하거나 혹은 더 큰 정도의 커플링이 존재합니다. 어쨌건, 지금 단계에서는, 더 나은 방법이라기보다 그냥 다른 방법이라고 편안하게 생각하면 좋을 듯 합니다. --김창준
  • EnglishSpeaking/2011년스터디 . . . . 11 matches
          * 마침 참여 인원 모두가 ACM 스터디 중이라 자신의 제를 설명하고 소감을 말하는 시간을 가짐
          * [권순의] - 중학교땐 맨날 애들이 뭘 그렇게 영어로 중얼중얼 대냐고 했었는데 (레슬링 대사나 이런거였다는 -_-) 하도 안하다 보니까 말이 잘 안나오네요. 그리고 어쩔땐 머리로 장이 잘 만들어지는데 그게 입 밖으로 잘 안나오는게 제네요;;; 아흐음... 확실히 뭐라도 중얼중얼대야겠습니다. 예전처럼이라도 -_-;; 음.. 또 레슬링 봐야하나;;
          * [김수경] - 아주 쉬운 말을 하고싶은데도 적절한 표현이 생각나지 않아 괴로웠습니다. 그냥 주제없이 이야기하는 것도 좋지만 질에 대답하는 식으로 진행하니 오히려 말하기 더 편한것 같아 좋았어요.
          * 각자의 논 주제에 대해 이야기.
          * [김수경] - 오늘 처음으로 심슨 대사를 따라해봤습니다. 지원언니께서 네명이 같이 연습할만한 장면들을 미리 골라두셨는데 막상 오늘 온 사람이 두명이라 다른 장면을 연습했습니다. 40초도 채 안 되는 짧은 대화인데 참 어렵더라구요. 한 장씩 듣고 따라하고, 받아쓰기도 하고, 외워서 해보는 등 한 장면을 가지고 여러번 연습한 것은 매우 좋았습니다. ''You tell me that all the time.''이나 ''Let me be honest with you.''가 어려운 장은 아니지만 막상 말하려면 딱 생각이 안 났을 것 같은데 오늘 이후로는 좀 더 유려하게 말할 수 있을 것 같아요. 앞으로 매주 진행하면 이런 표현들이 늘어나겠죠 ㅋㅋㅋ
          * [송지원] - 혹시나 했지만 역시나 현지 영어 따라하기는 쉽지 않습니다. 짧은 몇 줄 장을 외워서 따라하기는 어렵지만 많이 하면 실력이 늘 거라는 생각은 들어요. Free Talking은 제가 하고 싶은 말을 나름 자유롭게 구사해서 만족했는데 Theme Talking에서는 한계를 느끼고 한국어를 섞어서 그 점이 좀 아쉬웠어요. 다음 주에는 The Simpsons.. 정말 4명이 함께 하기를 (온 성의를 다해 대본을 준비하는 만큼;ㅁ;)
          * [송지원] - 지난 번에 심슨 따라하기 보다 역할을 분담하니 조금 수월해졌다는 느낌이었습니다. 특히, 재미있는 장면을 선정해서 지난 번보다 조금 더 몰입할 수 있었어요. (지난 번엔 마지가 너 고민 있는듯 하다 뭐 이런 내용이었는데 이번엔 온 가족이 Scrabble 게임을 하는 장면 ㅋㅋ) Free Talking을 하면서 느낀 건 맨 처음 영어 스터디를 시작할 때보다 말이 많이 트였다는 점. 이젠 6피에서 영어 쓰는 것도 그렇게 쪽팔리기만 하지는 않네요.
          * [김수경] - 이번주 영상은 장이 단어 조금 바꾸면 여기저기 가져다 쓸만한 것이 많아 재미있었어요. 가위바위보로 역할을 분담했는데 ''Along with the ego and the superego, one of three components of the psyche.''라는 장을 외워보고 싶어서 리사를 선택했습니다. 그런데 리사 분량이 제일 적어서 본의아니게(?) 가장 날로먹었네요 ㅋㅋ
  • ExtremeBear/Plan . . . . 11 matches
          작은 프로젝트 하는 과정에서 일어날 여러 제점 파악
         '''도구사용'''
          * ["Java"] 에 ["Eclipse"] 사용
          Eclipse에서 간단한 프로젝트 사용과 ["JUnit"],CVS 사용하기 시범
          * Class : 대자로 시작
          * Interface : 대자로 시작하고 앞에 I를 붙임
          * 함수 : 동사와 명사의 조합으로 이루어지며 첫 단어의 첫글자는 소자로 시작하고 두번째 단어부터는 대자로 시작한다 -> (ex testCase)
          * 변수 : 명사와 명사의 또는 동명사와 명사 또는 분사와 명사의 조합이로 이루어지며 멤버 변수, 지역 변수, 전달 인자든 뭐든 상관 없이 첫 단어의 첫글자는 소자로 시작하고 두번째 단어부터는 대자로 시작한다 -> (ex backgroundColor)
  • Garbage collector for C and C++ . . . . 11 matches
          * GNU-win32 에서는 기본으로 있는 Makefile 을 사용하면된다.
          * MS 개발 툴을 사용한다면 NT_MAKEFILE 을 MAKEFILE 로 이름을 바꾸어 사용한다.
          * win32 쓰레드를 지원하려면 NT_THREADS_MAKEFILE 을 사용한다. (gc.mak 도 같은 파일 이다.)
          * 볼랜드 개발 툴을 사용한다면 BCC_MAKEFILE 을 사용한다.
         == 내가 사용한 인스톨 ==
          * Windows NT 나 Windows 2000 에서 제가 발생한다면 -DUSE_GLOBAL_ALLOC 나 -DUSE_MUNMAP 옵션을 사용하여 컴파일 한다.
          * C++ 에서 사용하려면 -DGC_OPERATOR_NEW_ARRAY 를 추가하여 컴파일 하는 것이 좋다.
         = 사용법 =
  • GarbageCollection . . . . 11 matches
         컴퓨터 환경에서 가비지 컬렉션은 자동화된 메모리 관리의 한가지 형태이다. 가비지 컬렉터는 애플리케이션이 다시는 접근하지 않는 객체가 사용한 메모르 공간을 회수하려고 한다. 가비지 컬렉션은 John McCarthy 가 1959년 Lisp 언어에서 수동적인 메모리 관리로 인한 제를 해결하기 위해서 제안한 개념이다.
         1. 어떻게 앞으로 사용되지 않을 객체를 결정할 수 있는가?
         2. 그 객체가 사용하는 객체의 저장공간을 어떤식으로 반환할 것인가?
         2번째 경우에 대한 힌트를 학교 자료구조 교재인 Fundamentals of data structure in c 의 Linked List 파트에서 힌트를 얻을 수 있고, 1번째의 내용은 원칙적으로 완벽한 예측이 불가능하기 때에 시스템에서 객체 참조를 저장하는 식으로 해서 참조가 없으면 다시는 쓰지 않는 다는 식으로 해서 처리하는 듯함. (C++ 참조 변수를 통한 객체 자동 소멸 관련 내용과 관련한 부분인 듯, 추측이긴 한데 이게 맞는거 같음;;; 아닐지도 ㅋㅋㅋ)
         특정 주기를 가지고 가비지 컬렉션을 하기 때에 그 시점에서 상당한 시간상 성능의 저하가 생긴다. 이건 일반적 애플리케이션에서는 제가 되지 않지만, time critical 애플리케이션에서는 상당한 제가 될 부분임. (Incremental garbage collection? 를 이용하면 이 제를 어느정도 해결하지만 리얼타임 동작을 완전하게 보장하기는 어렵다고 함.)
         이거 말고도 제가 상당하다고 하지만, 해석해야하는 관계로;;; 아래 링크에서 확인 바람.
         2번째의 것의 경우에는 자료구조 시간에 들은 바로는 전체 메모리 영역을 2개의 영역으로 구분(used, unused). 메모리를 할당하는 개념이 아니라 unused 영역에서 빌려오고, 사용이 끝나면 다시 unused 영역으로 돌려주는 식으로 만든다고함. ㅡㅡ;; 내가 생각하기에는 이건 OS(or VM), 나 컴파일러 수준(혹은 allocation 관련 라이브러리 수준)에서 지원하지 않으면 안되는 것 같음. 정확하게 아시는 분은 덧붙임좀..;;;
  • Gof/Strategy . . . . 11 matches
         비슷한 제들을 해결할 수 있는 알고리즘의 군들을 정의하고, 각각의 알고리즘을 캡슐화하고, 그 알고리즘들을 교환할 수 있도록 한다. Strategy는 알고리즘들로 하여금 해당 알고리즘을 이용하는 클라이언트로부터 독립적일수 있도록 해준다.
          * 각각의 알고리즘들은 상황에 따라 적절할 때가 존재한다. 클라이언트는 사용할지 안할지 모르는 알고리즘들까지 전부 필요하지 않다.
         이러한 제는, 각각의 다른 linebreaking을 캡슐화한 클래스를 정의함으로 피할 수 있다. 이러한 방법으로 캡슐화한 알고리즘을 stretegy 라 부른다.
          * TexCompositor - linebreaking 에 대해 TeX 알고리즘을 적용, 구현한다. 이 방법은 한번에 단 전체에 대해서 전반적으로 linebreak를 최적화하려고 한다.
         Composition 은 Compositor 객체의 참조를 가진다. Composition 이 텍스트를 다시 형식화할때, Composition 은 Compositor 에게 해당 책임을 넘긴다. Composition의 클라이언트는 사용하려는 Compositor의 참조를 받음으로써 사용해야 할 Compositor을 구체화시킨다.
          * 당신은 알고리즘의 다양함을 필요로 한다. 예를 들어, 당신이 알고리즘을 정의하는 것은 사용메모리/수행시간에 대한 trade-off (메모리를 아끼기 위해 수행시간을 희생해야 하거나, 수행시간을 위해 메모리공간을 더 사용하는 것 등의 상관관계)이다. Strategy 는 이러한 다양한 알고리즘의 계층 클래스를 구현할때 이용될 수 있다.
          * 클래스가 많은 행위들을 정의한다. 이는 다중조건들에 의해서 구현되곤 한다. 이러한 많은 조건들 대신, 각각 관련된 조건들을 Strategy 클래스들에게로 이동시킬 수 있다.
          * 조건을 제거하기 위한 Strategy
  • GoodExams . . . . 11 matches
         "갑의 종류 8가지를 나열하라"와 같은 제는 채점하기 편리하다. 하지만 이런 류의 지식은 시험 자체를 위한 지식에 지나지 않는 경우가 대부분이다. 더욱 큰 제는 대부분의 시험이 이런 식으로 이루어진다면 학생들의 평소 공부도 그런 쪽으로 향방이 정해진다는 점이다. 고등학교식으로, 생소한 단어가 출현하면 밑줄부터 긋고 그 말을, 간혹 사전적 정의와 함께, 외우는데 전력을 기울인다.
         "컴퓨터란 무엇인가"와 같은 제는 출제하기가 쉽다. 별로 신경을 쓰지 않고 제 한 둘 내는 것으로 나름의 평가를 할 수 있다고 믿는다. 하지만 이런 제는 대부분 학생과 선생 모두의 게으름에서 연유하며, 또 이를 조장한다. 선생은 자신의 책임을 학생에게 완전히 전가해 버리며, 학생의 답안에 대해 깊이있는 분석과 이에 맞는 피드백을 제공, 부차적 교육이 일어나게 하지 못한다. 학생은 자신이 공부를 아무리 착실히 해도 이런 식의 뭉떵그린 추상적 제를 자주 접하게 되면 잡다한 지식을 대충 얼버무려 장으로 만드는 요령만 늘게된다. 교육은 "똑똑한 질"을 묻는 것이지, "이것에 대해 네가 아는 모든 걸 쏟아내놓아 봐, 얼마나 되는지 보자"가 되어선 안된다.
         좋은 질은 학습자의 흥미를 유발하고, 그 사람이 깊이 생각할 기회를 주며, 자신의 현 단계 이해에서 한 계단 더 나아갈 구체적 안내자의 역할을 하며, 학습자의 사고 방식이나 습관 등에서 약점과 제점을 발견할 기회를 제공한다. 학습자를 더욱 똑똑하게, 더 깊이 이해하게 도와주는 질인 것이다. 그러나 이것은 채점하기도, 출제하기도 쉬운 일은 아니다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/변준원 . . . . 11 matches
         매개변수로 사용되는 변수에 대한포인터를 전달
         함수내에서 매개변수로 사용되는 변수의 값을 변경
         주로 광역적으로 정보를 전달하거나 현 시스템의 상태등을 알고자 할 때 사용.
         포함하여 프로그램내 어디서나 사용이 가능합니다. 이에 반해 지역변수는 함수몸체 안에서 선언하는데 이
         로 선언되어 있기 때에 같게 나오는데 여기서 주의 해야 할 것은 C++에서는 전역변수를 거의 쓰지를 않는
         다는 것인데 이유는 전역변수는 공유되 자료이기 때에 어느 함수 하나가 다른 함수 모르게 전역변수를 바
         꿀 수 있기 때입니다. 그래서 나중에 버그가 나면 잡기도 힘들고 나중에 유지, 보수 하기가 쉽지가 않기
         때입니다.
         : 대상 객체의 주소값을 전달하는 방식으로 형식 매개변수에 포인터 변수가 사용된다.
          수로 초기화되어 함수 내부에서 실매개변수를 참조하여 사용할 수 있다.
         결과적으로 a=20 b=20이 되는데 결국 함수내부에서 실매개변수를 참조하여 사용하는 것입니다.
  • HelpOnTables . . . . 11 matches
         === 테이블 법 ===
         테이블을 만들기 위해서는 테이블임을 나태내는 "`||`"를 사용합니다. `||`로 시작해서 `||`로 끝나면 테이블이 되며, 여러개의 셀을 만들기 위해서 여러번 반복하여 `||`를 사용하여 각 셀을 나누면 됩니다. 여러개의 컬럼에 걸쳐서 셀을 만들려면 `||`를 두번이상 반복해서 `||||` 식으로 만들어줍니다.
         그밖에 위키 법은 HelpOnEditing를 참고하세요.
         테이블의 속성을 넣을 필요가 있는 경우가 있습니다. 예를 들어 테이블 셀의 색상이나 폭 등등의 몇가지 테이블 속성을 사용하면 테이블의 가독성을 높일 수 있을 것입니다. 이를 위하여 테이블 속성을 정해주는 법을 지원합니다. 속성은 꺽쇠 괄호를 사용해 {{{<...>}}} 형태의 법으로 `||` 마크 다음에 바로 붙여서 써주어야 합니다.
         테이블 속성을 위한 몇가지 법은 다음과 같습니다:
         이것을 기본으로 하여서 좀 더 장황한 설정은 HTML 속성을 넣는 전통적인 방식과 비슷한 법을 지원합니다. (HTML에서 지원하던 모든 테이블 속성이 지원되지는 않습니다.). 이 방식을 이용하면 테이블 색상이나 줄의 속성을 지정하 수 있습니다. 특별히 테이블의 너비를 지정하려면 {{{||<tablewidth="100%">...||}}} 를 테이블 시작을 알리는 맨 처음 `||` 다음에 써넣으면 되며, 줄의 배경색은 {{{||<rowbgcolor="#FFFFE0">...||}}} 와 같이 지정합니다. 여기서 볼 수 있듯이, 테이블에 대한 속성인지, 줄에대한 속성인지를 알리기 위해 {{{table}}} 혹은 {{{row}}}와 같은 접두어가 붙었습니다.
         === 그밖에 확장 법 ===
  • MedusaCppStudy/희경 . . . . 11 matches
         장 입력시 가장 긴, 짧은 단어의 길이 구하기
         이런 제를 보니 ;를 만났을때 장 끝이라고 했는데
         전 그냥 엔터치면 장 끝이군요. 뭐 상관없겠죠?
          cout << "뛰어쓰기나 마침표 포함해서 50자내로 장을 작성하시오" << endl;
         큰 숫자 4개 골라내기.....
         숫자의 개수를 입력해야되게밖에 못 짜겠군요..
          cout << "숫자 개수를 입력해 주세요 :";
          cout << "숫자를 차례대로 입력해주세요(숫자는 서로 띄어쓰기로 구분한다) :" << endl;
          cout << "큰 숫자 4개 :";
  • ModelingSimulationClass_Exam2006_1 . . . . 11 matches
         1. Single Queue, Single Server 제 (10 points)
         (a) (5 points) 스케쥴 표 주고..(이번에는 Single Queue, Single Server) 이 시뮬레이션에서 사용되는 상태와 이벤트에 대해 쓰시오.
         (a) (5 points) Peak Value 구하기 - '''그래프의 가장 높은 지점의 높이를 구하라는 제로 파악했음. pdf 전체의 넓이가 1이라는 사실을 이용하는 제'''
         1) 나의 경우 해당 제를 간단한 확률 모델 + Single Queue, Multi Server 의 제로 파악했다. 확률모델은 1차 합격자를 가리는데 쓰이고, SQMS모델은 실기 시험을 가리는데 사용하고, 가정으로 실기 시험은 7분을 최고 점으로갖는 Triangle Distribution 이라고 가정하고 풀이했음.
         2) 부족한 시간, 랜덤함수를 사용할 수 없는 상황이라는 점을 말하고, TD 의 기대치를 구했다. 대충 구해보니 7.55 분가량이 소요된다는 사실을 알았다. (좌우 대칭형으로 가정했기 때에... -_-) 따라서 한 패거리의 실기 시험합격자의 최대 인원은 40명 소요되는 시간은 총 5시간이지만 SQMS 모델이 큐잉에서 최대의 효율을 발휘 할 수 있으므로, 양쪽의 서버에 반씩을 나누어서 시험을 보면 2시간 반가량이 필요하다고 판단. 필기가 종료되는 시간은 10:00 + 2:30. 14:00 + 2:30 따라서 당일의 시험이 완전히 종료되는 17:00 분 안에 시험을 끝낼 수 있기 때에 해당 모델은 안정하다고 적긴적었다. -_-;;
         단 제는 서버 처리 시간이 편차가 분명히 클텐데 이를 고려못해서 좀 안습인답. 솔직히 나도 3번 계산하다가 시간을 다 보내서 -_-;; - [박영창]
  • MoniWikiOptions . . . . 11 matches
          * 1로 설정하면 테마의 기본 CSS만을 사용하도록 강제 설정. (기본값 0)
          * 대을 지정한다. 기본값은 FrontPage.
          * 기본값은 `$url_prefix.'/css/kbd.js'` : 사용하기 싫으면 그 값을 빈 자열로 한다.
          * 로고 그림. 없애고 싶다면 빈 자열을 넣는다.
          * 스마일리 사용을 켜거나 끈다.
          * Email Notification을 활성화 한다. 이 기능을 키면 SubscribePlugin을 사용할 수 있다.
          * 페이지 카운터의 사용 여부를 결정한다 (See PageHitsMacro)
          * 모니위키 블로그에서 트랙백을 사용할 수 있게 한다.
         `gethostbyaddr()`의 사용여부 결정
          * inline latex법을 활성화하거나 끈다. latex, mimetex, itex 등등 지원 LatexProcessor
  • NumberBaseballGame/정훈 . . . . 11 matches
          cout <<"숫자 써봐~! 3자리.-> ";
          continue;
          cout << "숫자를 쓰란말야~!";
          continue;
          cout << "숫자를 쓰란말야~!";
          continue;
          cout << "숫자를 쓰란말야~!";
          continue;
          cout << "숫자를 쓰란말야~!";
          continue;
          cout << "숫자를 쓰란말야~!";
  • ProjectZephyrus/Afterwords . . . . 11 matches
          * 서버팀의 서화가 잘 되었다. - ["ProjectZephyrus/Server"] 참조.
          * CVS을 사용하면서 CVS의 유용함을 경험해볼 수 있었다.
          * 서버팀의 서화가 잘 되었다.
          * CVS을 사용하면서 CVS의 유용함을 경험해볼 수 있었다.
          - ["1002"] 의 성실성 부족. JavaDoc 의 시선분산 제. 잦은 디자인 수정에 따른 잦은 Documentation 수정제. 서버팀과의 대화 부족.
          - 꼭 DE 가 필요하진 않다. '개발을 진행해 나가면서 제점이 발견되었을때' 디자인을 수정해도 늦지 않다.
          - 프로젝트의 목적이 공부 라는 인식의 부족. 공부한 부분에 대해서 (Swing, Java Network 등)에 대한 서화가 없었다. SPEC 과 Output 에 치중한 점이 있다.
          - SPEC 에 대한 구체적 서화 부족. 초기 서화 대신에 팀의 모임시 대화로 대체하였는데, 후에 추가 멤버가 제시한 의견, 서화도 부족했지만, 후속 멤버의 피드백 역시 부족하였다.
  • ProjectZephyrus/간단CVS사용설명 . . . . 11 matches
         = CVS 사용 in linux =
          설정후 사용 (98의 2번 방법도 무리 없음)
          이런 식으로 사용
          ==== local 사용자를 위한 서버 설정 ====
          '''1. 사용자 그룹 추가'''
          이제 ZeroPage 서버내에서 cvs 그룹에 등록된 사용자는 ZP내에서는 접근 가능
          ==== 원격 사용자를 위한 서버 설정 ====
         === CVS 제 해결 ===
          ==== 개개인의 권한 제 ====
          * vi /etc/passwd 에 다음 줄 추가. 앞숫자는 유저 뒤 숫자는 권한
  • SeminarHowToProgramIt . . . . 11 matches
          * 7:00-7:30 세미나 준비, 환경 설치, 자리 선택, 각 언어 그룹별 xUnit(or assert) 사용법 정리/스터디
         1. user 제외 공유 점검 & 바이러스 체크(v3 디스켓)
          해당 날짜에 7층의 PC실에 세미나 공고를 붙여도 된다고 허락 받았습니다. 저보다 먼저 pc실에 도착해 시간이 있으신분들은 적당한 공고를 7층 PC실 에 붙여 주세요. PC의 확보역시 자율적이지만, 마찬가지 입니다. --상민
         장소 관련 여담 : 덕준이와, 석천이가 2층을 대여를 위해 알아 보았지만, 학생의 권한으로는 빌릴수 없다고 했습니다. 수고 하셨습니다. 만약 다음에 필요할때는 학과장님께 해당 행사의 서 제출후에 장소 확보가 가능할듯 합니다. 과사에서 서에 대한 일반적인 양식은 존재하지 않는다고 합니다.(과거 PC 빌렸을때 처럼) --상민
         해당 팀은 개발 환경, 언어 선정부터, 프로그램 디자인, 코딩까지 모두 함께 하게 됩니다. 한가지 제 상황이 주어질 것이고, 제가 고객역할을 합니다. 개발 진행 중에 몇번의 요구사항 수정이 있을 것이므로, "적응도"에 대한 테스트가 자동으로 이루어 질 것입니다. 개발 완료 후에는 각각 다른 언어로 구현된 프로그램들을 살펴보며 비교 토론을 할 것입니다.
         처음에는 신입생 대상으로 Python 강의가 있다고 해서, 거기에 보탬이 될까 하는 마음으로 세미나를 해드리겠다고 했는데, 어떻게 중간에서 "프로그래밍 전반"에 대한 세미나로 성격이 변한 것 같습니다. 실습 중심으로 하게 될 것이고, 아무리 Python이 배우기 쉬운 언어라고 해도 Python에 익숙한 사람이 하나도 없는 페어가 두시간 안에 뭔가 다른 것을 (Python을 통해) 익힌다는 것은 어렵고, 또 효율적이지 못하기 때에, 여러분들 자신이 가장 "자신있는" 언어를 사용하도록 하는 게 좋겠다는 생각을 합니다.
         이 때, OOP가 가능한 언어를 추천하고, 해당 언어의 xUnit 사용법을 미리 익혀오기 바랍니다. (반나절 정도가 필요할 겁니다) http://www.xprogramming.com/software.htm 에서 다운 받을 수 있습니다.
         (See Also ["PyUnit"], ["UnitTest"], ["JUnit"], ["CppUnit"]. C 언어를 사용하시는 분들은 ASSERT 으로 UnitTest 부분을 어느정도 대신할 수 있습니다.)
  • VisualStudio . . . . 11 matches
         학교에서는 2008년까지만 해도 Visual C++ 6.0을 많이 사용했으나 2008년 2학기에 홍병우 교수님이 Visual Studio 2008 사용을 권한 것을 계기로 최신 버전 환경이 갖추어졌다.
         VisualStudio 를 사용할때 초기 프로그래밍 배울때 익혀두어야 할 기능들로, [:Debugging Debugger 사용], [Profiling], Goto Definition
         VisualAssist 를 사용한다면, Code Re-Parsing 기능을 실행해준다.
         C++ 에서는 자바에서의 import 의 명령과 달리 해당 헤더화일에 대한 pre-processor 의 기능으로서 'include' 를 한다. 그러다 보니 해당 클래스나 함수 등에 redefinition 제가 발생한다. 이를 방지하는 방법으로 하나는 #ifndef - #endif 등의 명령을 쓰는것이고 하나는 pragma once 이다.
         단, pragma 전처리기는 de facto라서 정식 표준이 아니다. 따라서 사용에 대해 유의할 필요가 있다.[* pragma는 once외에도 다른 option도 존재한다.]
         == Debugger 의 사용 ==
         의외로 Debugger 를 이용하지 않는 사람들이 있다. UnitTest 를 작성하면서 프로그래밍을 하지 않는다면, Debugger는 불가피하다. 학교 프로그래밍 수업때 정식으로 가르치지 않기 때에 MSDN이나 온라인의 강좌, 알고 있는 학우들에게 물어보아 배울수 있다.
         === 여러개의 Project 를 사용하기 ===
         기본적으로 지정된 경로 밖에서 라이브러리를 사용해야 하는 경우가 있다. 몰랐다가 링크를 거느라 한참 고생한 김에 여기에 정리해본다.
  • XpQuestion . . . . 11 matches
         XP 를 하면서 생길 수 있는 의
          ''Xper 에서 비슷한 기능을 하는 페이지가 '질답변' 인데, 이 페이지같은 경우는 직접 질하고 답을 쓴거여서 '질답변' 에 올리기가 좀 그렇더라구요 Faq 라는 페이지를 만들까 하다가 좀 주관적인 답이여서 그렇고. Xper 에서 페이지 제목 궁리하다가 그냥 일단 여기 만든거라는. ^^; (Xper 에도 올립니다. 페이지들 별로 녹여넣어야겠군요.) --["1002"]''
         === UserStory, Engineering Task 의 의존성 제 ===
         어디선가 이야기 나왔었던 제. 규모가 되는 프로젝트의 경우 100 장의 Index Card 는 보관하기도 어렵고 널려놓기엔 정신을 어지럽힌다.;;
         - Story Card 는 Kent Beck 이 사용자와 더 빠른 피드백을 위해 생각한 덜 형식적인 방법이다. 어차피 Story Card 는 전부 AcceptanceTest 로 작성할 것이기에, 테스트가 작성되고 나면 AcceptanceTest 가 도큐먼트 역할을 할 것이다. Index Card 도구 자체가 보관용이 아니다. 보관이 필요하다면 위키를 쓰거나 디지털카메라 & 스캐너 등등 '보관용 도구', 'Repository' 를 이용하라.
         === 업체간 프로젝트에서의 계약제 ===
         늘 지속할 수 있는 안정적인 흐름을 만들어내는 것이 중요하다. '40' 숫자가 중요하단 뜻은 아니다. (단, PairProgramming 이 기가막히게 잘 진행되는 경우는, '40시간을 초과' 할 수가 없을 것 같다. 사람 진이 다 빠지니까. -_-;)
         === 연봉 협상과 관련한 제 ===
         이전 XpWorkshop 시에 나왔던 아주아주 날카로운 분의 질. 협업 중심에서의 XP 에서는 연봉처리에 대해서 어떻게 하라고 합니까?
  • Yggdrasil/가속된씨플플/2장 . . . . 11 matches
          * 블록: 중괄호로 감싸인 연속적인 구
          * 루프불변식(loop invariant): while이 그 조건식을 검사하는 매 경우에 대하여 참일 것이라고 가정하는 속성. 처음에 이걸 보고, 이런 개념도 있었냐고 생각했음. 루프불변식은 코드는 아니고 주석에 해당하며, while이 진행되면서 while의 제일 처음과 끝에서 루프의 내용이 의도한 대로 돌아간 건지를 정의한 장이다.(말로 설명하기 애매한 듯...) 하여튼 이것을 쓰는 이유는 루프을 제대로 설계하기 위해서. 아래의 코드는, 책에 있는 코드로, 불변식의 예이다.
         std::string::size_type//unsigned형의 멤버변수로, 담을 수 있는 최대 자 갯수를 저장한다. 글자수에 알맞는 type으로 알아서 정의하는 듯.
          * 프로그래밍을 처음 배울 때 "프로그래밍을 하려면 숫자를 셀 때 1부터가 아니라 0부터 세라"는 말을 들어왔을 때, 단지 컴퓨터의 숫자 체계가 그러니까 막연히 그렇게 하는 것인 줄 알았다.
          * 비대칭적 범위(반개범위)를 사용하므로, [0,5)이면 루프가 5번 돈다는 것을 쉽게 알 수 있다. [1,5]면 5번 돈다는 것을 파악하기 힘들다.
         == 연습제 ==
  • ZIM/EssentialUseCase . . . . 11 matches
          || 1. 사용자의 ID와 암호를 입력한다. || 2. 등록된 사용자인지 ID와 암호를 비교한뒤 결과를 보낸다. ||
         ==== 자열전송 ====
          || 2. 메세지창에 자를 입력한다. || 3. 해당 Zimmer에게 자를 전송한다. ||
         ==== 자열수신 ====
          || . || 1. 자를 받는다. ||
          || . || 2. 현재 열려있는 대화창의 유저를 확인하고 새 대화창을 열거나, 해당 대화창에 자를 출력한다. ||
          * 관련 유스케이스 : 자열전송
         예를 들면 로그인,쪽지 보내기, 자열 송수신, 같은 경우를 Level 1
          ''XP 는 User Story에서의 사용자 무게중심 & 실제 구현시의 걸릴 Task point 으로 잡고, UP 는 기반이 될 아키텍처 순위로 잡고. 둘을 비교해서 생각하는 것도 좋겠군요. 조언 감사해요.~ ^^ --석천''
  • ZP도서관 . . . . 11 matches
         || Flash Action 액션스크립트 활용사전 || 장동화 환재현 || 정보화사 || [이승한] || 이것도 프로그래밍 ||
         || inside C# || Tom Archer || 정보화사 || ["1002"],류상민 || 한서 ||
         || Windows NT 프로그래밍 || Julian Templeman || 정보화사 || ["1002"] || 한서. Wrox 번역판 ||
         || 전가와함께하는XML Camp ||김채미 외 ||마이트Press||["혀뉘"]||한서||
         || 어셈블리 언어(가장 좋은 어셈책) || IRVINE || 교보고 || 정직 || 한서||
         || Harry Porter (영판) || . || ddori || 판타지 ||
         || 철학이야기 || 윌 듀란트 || ["1002"] || 철학입 ||
         || 페르세우스의 방패 || 홍기돈 || ["1002"] || 학 평론 ||
         || 학의 즐거움 || 히로나카 헤이스케 || 이선우, ["1002"], ["상협"] || 교양 ||
          1. 평전이란게 대부분 그렇듯 첨에는 잼있는데 갈수록 약간 지루해.. --;; 음 대강..? 체게바라는 사람이 이렇게 살았다 인데.. 이 사람두 상당히 잘난 사람인 것 같아.. 느낀점? 자기 생각대로 살자!! (매우 어렵겠지만 이사람은 해내더군.. --;; ) 멋진 구 하나? 리얼리스트가 되자 하지만 마음속에는 불가능한 꿈을 지니자? (음.. 정확한 구가 생각이 안난다.. --;; ) -- jeppy
  • html5/canvas . . . . 11 matches
          * IE를 제외한 모든 주요 브라우저(?)에서 사용할 수 있는 기능. IE에서 사용하고 싶으면 Explorer Canvas, uuCanfas.js 등의 라이브러리를 사용하여 제한적 기능으로 사용할 수 있다.
         = 사용 방법 =
          * img 요소의 DOM 객체는 Image 생성자를 사용하여 만들 수도 있다.
          * video 요소의 DOM 객체를 사용할 경우 drawImage()를 호출한 시점에서 재생되는 프레임을 그려준다.
          * img 요소나 video 요소 혹은 다른 캔버스를 사용하여 패턴을 지정할 수 있다.
          * 픽셀 데이터를 나타내는 숫자(0~255)로 이루어진 1차원 배열.
          * 'image/jpeg'지정 시 두번째 인수로 숫자(0.0~1.0)를 넣어 이미지의 품질을 지정할 수 있다.
  • html5/offline-web-application . . . . 11 matches
          * 스마트폰이나 넷북 등의 모바일 웹 단말기에서 네트워크 상태와 관계없이 계속 사용할 수 있다.
          * 클라이언트에 캐시된 리소스를 사용하여 동작한다.
          * 웹 어플리케이션을 오프라인에서도 사용할 수 있도록 리소스를 클라이언트 쪽에 캐시하기 위한 기능.
          * 업데이트 체크는 캐시된 웹 어플리케이션에 사용자가 액세스할 때 이루어진다. 혹은
          * 자 인코딩은 UTF-8이어야 한다.
          * 줄 바꿈 코드는 '\r\n', '\n', '\r' 모두 사용할 수 있다.
          * 첫 줄은 'CACHE MANIFEST'라는 자열로 시작해야 한다.
          * 다른 웹 사이트에 대한 네트워크가 금지되어 매시업을 수행하도록 만들어진 웹 어플리케이션에서 제가 되기도 한다.
          * 제한을 피할 수 있어 편리하지만 사용시 신중을 기해야한다.
          * 매니페스트에 버전 자열을 포함해 둔다.
          * 개발 중에는 어플리케이션 캐시를 사용하지 않는다.
  • ㄷㄷㄷ숙제2 . . . . 11 matches
         1.if 을 이용한 업앤다운 ;;
          printf("1~50 사이의 숫자를 입력해 주세요\n");
          printf("입력하신 숫자에 비해 정답은?\n");
         여기까지 해봤는데요 마지막에 else를 하나 더쓴다던가 해서 자를 썼을때
         2.switch 을 이용한 업앤다운;;
          printf("입력하신 숫자에 비해 정답은?\n");
          printf("숫자가 잘못 입력 되었습니다\n");
         if에서 못했던 오류 메세지가 switch 에서는 default값을 사용해서 쉽게 되더라구요..ㅠㅠ..
         또한가지 질~! 위 소스에서 정답을 맞추지 못할경우 다시 스캔에프로 가서..
  • 공업수학2006 . . . . 11 matches
          '''허준수''' , 김상섭, 유용안, 배성민, 나휘동, 하기웅, 보창, 강인수, 이창섭, 박영창, 라범석, 이도현
         || 1 || 김상섭 나휘동 보창 라범석 || 3의배수 + 1 ||
          * 전주 연습제 풀이, 당일 수업중 이해되지 않는 부분 같이 생각하기, 설명부족한 부분 찾아오기
         == 질내용 ==
         || 날짜 || 장소 || 연습제 ||
         || 2006/03/31 || 4314 || 1장 연습제 ||
         || 2006/04/06(목) || 4314 || 2.1, 2.2, 2.5(안배운거 제외) ||
         * 06/05/04 : 4.1은 해당 제가 없음 (system conversion 알아두면 좋을 것 같은데... -_-)
         이번 모임은 5시에 시작하면 어떨까요? [지금그때2006]때에 6시에 시작한다면 저는 중간에 나가야 하거든요. 한 시간 당기면 모두 같이 [지금그때2006]에 갈 수도 있고요. -- 휘동
          저기에 추가해라... 스터디 중간에 화장실갔다가 잠기면 5처넌이다. ㅋㅋㅋ - 영창
         4.1, 4.2, 5.1 제 겁나 많다. 우리 팀은 Divide & Conquer다. --[인수]
  • 논문번역/2012년스터디 . . . . 11 matches
         = 논번역/2012년스터디 =
          * 논 선정 후, 해당 논을 '번역'해오고, 모여서 제대로된 번역이었는지, 내용에 대한 이해는 제대로 되었는지 체크해봄.
         === 첫번째 논 ===
          * 11/5(월) - 논 검색
          * 논에 나온 장들 몇개를 번역해봄.
          * [논번역/2012년스터디/이민석]
          * [논번역/2012년스터디/신형준]
          * [논번역/2012년스터디/김태진]
          * [논번역/2012년스터디/서민관]
  • 데블스캠프2006/월요일/연습문제/if-else/이경록 . . . . 11 matches
         == 데블스캠프2006/월요일/연습제/if-else/이경록 ==
         첫번쨰
          cout<<"50~100의 숫자 하나를 입력해 주세요\n";
         2째 제!
          cout<<"숫자,영자,특수자 중 1가지를 입력하여 주세요!\n";
          if(a>=48 && a<=57) cout<<"입력하신 것은 숫자 입니다\n";
          else if(a>=65 && a<= 90) cout<<"입력하신 것은 대자 입니다\n";
          else if(a>=97 && a<= 122) cout<<"입력하신 것은 소자 입니다\n";
          else cout<<"입력하신 것은 특수자 입니다\n";
  • 동문서버위키 . . . . 11 matches
         중앙대학교 컴퓨터공학과 동 간의 소통을 위해 최초로 연 위키.
         동서버위키가 현 상황에서 제로페이지의 위키나 다른 성공적 위키 사이트에 비해 상대적으로 사용이 저조하고 NoSmok:DegreeOfWikiness 가 낮고 무엇보다도 사람들이 해당 위키를 통해 얻는 "삶 속에서의 가치"(혹은 효용)가 없어서 한마디로 실패한 커뮤니티 사이트가 된 이유는 무엇일까.
         사람들의 인식을 바꾸는데에 실패했다고 본다. 일단 사람들이 위키를 현재 (익명) 게시판의 연장 혹은 (조금 저열한) 보조물 정도로 여기는 인식이 굳어졌다고 본다. 특히 최근 동서버위키를 살리려고 감성사전 페이지를 만드는 등 구제 노력이 있었으나 그것은 오히려 상황을 더 어렵게 만들었다고 본다. 한번 여러가지로 생각해 보고 분석하고 함께 논의해 볼 제라고 생각한다. --김창준
          * 테스트 기간때의 개인페이지의 영향 - 동서버팀에서 '좋은 선례' 를 만들어보기 위해 동서버 프로젝트 자체가 돌아가는 모습 (ex - [http://dongmun.cse.cau.ac.kr/phpwiki/index.php?PPGroup_Board 동서버게시판프로젝트]) 을 일부러 위키에 남겨보고, 몇몇 사람들이 공동번역페이지나 스터디 페이지 같은 것들을 열어봤었지만. 이미 그때 사람들의 주 관심사들은 자신들의 페이지들에 일기를 남기는 것이였었죠. 그 이후, 인식을 바꿀만한 사건들이 나오지 않은 것 같습니다.
          * 위키 스타일의 이해차이 - 이미 잘 정립된 위키스타일을 인식하고 있는 사람이 있던가 하면 그렇지 못한 사람들도 있었죠. 이미 잘 정립된 위키스타일을 알고 있는 사람들이 바로 위키초심자에게 해당 룰을 적용하는 일은 위험한 것이라는 것을 그때 느꼈죠. (일부 사람들은 자신들이 작성하던 페이지를 도로 삭제하기도 했었죠. 위키의 룰이 강제성이 없으며, 반론을 제기할 수도 있는 것임에도 불구하고 시간낭비하기 싫었던 것일까요.. 쩝) 위키의 룰은 결국 위키를 사용하는 사람들이 이용해나가면서 서로 암묵적으로 인정해나가는 것들이 룰로서 올라가지, TopDown 식으로 명령하달식으로 내려 올 수 없는것이겠죠.
          * 주제의식의 부족 - 이것은 앞의 이야기와 이어지는데요. 인식을 바꾸지 못했던 점과 이어지죠. 주제에 대해서 [http://dongmun.cse.cau.ac.kr/phpwiki/index.php?%B5%BF%B9%AE%C0%A7%C5%B0 동위키] 페이지에서 언급을 했었으면서도 실제로 열려있는 페이지들이 그러하지 못했죠. 이는 시험서비스였다는 점도 작용하겠지만, 시험서비스가 기간이 너무 길었죠. (기약없는 시험서비스기간) --석천
          * 할말이 없네요. 다 옳은 말이니. 생각해 보면 동위키를 프로젝트의 구심점으로 삼은 사람이 없다는게 이상할 정도 입니다. 더구나, 현재의 감정사전과, 개인의 신변 잡기식 글들이 늘어나면서 해당 툴의 접근 폭력성이 더 늘어나 사태가 더 심해지는 것 같네요. 현재 ZeroWiki 도 침체의 길을 가느냐, 아니면 꾸준히 활성화냐 이렇게 될것 같은데 약간 걱정입니다. --상민
  • 문제풀이/1회 . . . . 11 matches
         = 제풀이 첫번째 제 =
         책에서 숫자를 가지고 장난 친경우는 없는것 같아서...
         1. 입력 3가지수를 받아서 if을 이용하여 최대값 최소값을 출력하는 프로그램을 작성하세요. DeleteMe)스펙이 if의 언급은 잘못된것 아닌가요?
          1. 다음과 같은 공백으로 구분되는 임의의 숫자 입력이 주어질때 최대, 최소값을 출력하세요.[[BR]](데이터 양은 [Python]과 머신이 처리할수 있는 범위내로 한정)
          1. [Python]의 자열 트릭(?)을 보이는 제입니다. :)
          - 제가 아는선(법)에선 이방법이 가장 간단한듯; - [임인택]
          이런 경우를 개선하기 위해서 map 함수가 있는것입니다. 이를 Haskell에서 차용해와 법에 내장시키고 있는 것이 List Comprehension 이고 차후 [http://www.python.org/peps/pep-0289.html Genrator Expression]으로 확장될 예정입니다. 그리고 print 와 ,혼용은 그리 추천하지 않습니다. print를 여러번 호출하는것과 동일한 효과라서, 좋은 컴퓨터에서도 눈에 뜨일만큼 처리 속도가 늦습니다. --NeoCoin
         [제풀이]
  • 새싹교실/2012/아우토반/앞반/5.10 . . . . 11 matches
          printf("%d %d\n", sizeof(*pA), sizeof(pA)); //*pa의 자열은 int(4), pA의 자열은 int(4)
          printf("%d %d\n", sizeof(*pB), sizeof(pB)); // pB의 자열은 int(4), *pB의 자열은 int(4)
          printf("%d %d\n", sizeof(*pC), sizeof(pC)); // *pC의 자열은 char(1), pC의(주소값)자열은 int(4)
          printf("%d %d\n", sizeof(*pD), sizeof(pD)); // *pD의 자열은 double(8), pD의 (주소값)자열은 int(4)
          printf("%d\n",a); --------->처음에 변수a에 0을 대입했기 때에, 결과값은 0
          printf("%d\n",&a); --------->&연산자는 변수의 주소값을 출력하기때에 결과값은 a의 주소값인 1767348
          printf("%d\n",&p); --------->&연산자는 변수의 주소값을 출력하기때에 결과값은 p의 주소값인 1767336
  • 새싹교실/2012/열반/120319 . . . . 11 matches
          * printf 함수가 명시적으로 정의되지 않았기 때에 컴파일에 실패하거나, 경고가 뜸.
          * 어떤 명령을 조건에 따라 실행되거나 실행되지 않게 할 수 있는
          if(조건){
          // 조건이 맞을 경우 명령1을 실행합니다.
          * 재귀함수를 이용한 반복을 먼저 설명하려 합니다.
          * [정진경] : 리눅스 터미널 환경에서 진행했는데, 컴파일 하는 과정이나 편집하는 과정의 설명은 생략했습니다. 검은 화면에 흰 자열이 큰 거부감을 일으키는 것 같지는 않습니다. 아무래도 준비가 빈약하다보니 뭘 가르쳐야 할지 모르겠습니다. 일단 상세한 법이나 C 표준에 대한 설명은 뒤로 미루는 것이 좋을 것 같고, 일정 수준 이상의 프로그래밍을 스스로 할 수 있을 정도로 실력을 끌어올리는 것에 집중해보려 합니다. 또한 중간중간에 코드를 작성한 것에 대한 출력을 물어보면서 알고 있는지 확인하는 과정이 중요한 것 같습니다.
          * 적혀있지 않아서 질 드립니다. 실습을 하였나요? - [김준석]
         = 질에 대한 답변 =
          // 다중 반복을 한번에 빠져나오려 할 때 goto를 쓰기도 합니다.
          if(조건){ goto exit_loop; }
  • 위키설명회 . . . . 11 matches
          * Rename, [서구조조정]을 통해서 [Refactoring]을 경험하고, 이것이 프로그래밍의 영역에서 어떠한 관점을 가지고 있는지 이야기 해 본다.
          * ZeroPage 의 전체 페이지의 숫자(SystemPages) 를 통해서 얼마나 많은 서들이 누적되었는가 실감하고, 몇가지 항해 지도를 주어서 차후 항해를 해보는 동기를 만들어 본다.
          * 현재 위키가 사용되는 곳들을 예시하고 (한국 Gnome 사용자 모임, 데비안 사용자 모임, kldp ) 일정 주제에 대한 자료 찾거나 서핑의 시간 (20~60분) 가진후 서로다른 쓰임새에 대하여 토의해 본다.
          * 위키의 자유와 방임에 대한 제에 대하여 토의해 본다. (각 이야기바다 경험자의 사례들이 나올 수 있다.)
          * 지금 사용자들도 모를? 페이지의 암묵적, 명시적 규칙에 대하여 서핑을 통해 찾기를 해본다. 보물 찾기하듯 상품을 주는것도 좋을것 같다. (연필, 지우개 등 :) )
          * [위키설명회] 도중에 난감했던 한 가지는, 파란아이를 통해 이전 서의 원을 볼 수 없어서 페이지 내용을 복구하는 방법을 저조차 모르고 있다는 사실을 안 것입니다. 원래 파란아이로 원을 볼 수 없었나요? --[Leonardong]
  • 위키에 코드컬러라이저 추가하기 . . . . 11 matches
         이 서의 내용은 MoinMoin 1.0 부터 지원하기 시작한 Process 에 기반한다. 그래서 그 이하 버전에서는 불가능하다.
         MoinMoin에 파이선용 코드 컬러라이저는 기본으로 들어있다. 그러나 자바나 C++용 코드 컬러라이저는 기본이 아니다. 그래서 MoinMoin:ParserMarket 에 가서 자바와 C++용 파서를 받아왔다. 그런데 이럴수가 코드블럭안에서 파서 사용이 안되는것이다.
         그런데 MoinMoin:ParserMarket 에 [http://bbs.rhaon.co.kr/mywiki/moin.cgi/ProgrammingTips_2fCStringFormat Example]이라 된 곳에서는 잘 사용하고 있는것이다...[[BR]]
         그리하여 그 방법을 연구한 결과가 이서의 내용이다..;;
          continue
          continue
          continue
          continue
          continue
          continue
  • 정모/2003.3.5 . . . . 11 matches
         === 정회원/준회원 제 ===
          * 제점
          ZeroWikian 은 준회원이 아닙니다. ZeroWikian의 정의는 '''ZeroWiki 를 사용하는 사람들''' 입니다. NoSmok:OpeningStatement 를 정확히 읽어 보세요. --NeoCoin
          * 정회원과 준회원의 큰 차이는 없다고 생각합니다. 다만 우리 서버의 계정을 받는 제나 행사 자체를 끌고 가는 인력을 뽑는 것 등 진행적, 실질적 제가 조금의 차이를 보이기 때에 구분을 하는 것으로 생각합니다. -- 상욱(["whiteblue"])
          * ZeroPage 의 일년 계획은 보통 어떤 식인지 정리된 서가 있으면 좋을것 같습니다. --["이덕준"]
          * 데블스 캠프 후 정회원 모집, 선배님들과의 만남, 여름,겨울 엠티, 프로그래밍 잔치 등이 작년과 시기와 진행면에서 비슷하게 이어나갈 것 같습니다. 저도 아직 인계받은 것이 거의 없어서 서화 답변은 조금 힘들 듯 합니다..^^;; --상욱(["whiteblue"])
         '''홍보제에 대한 얘기'''
          * 여러 선배님들과 이야기를 해 봤는데요 페이지 디자인을 싹 바꾸어보려고 합니다. 페이지 디자인이 좀 안좋다라는(-_-; ) 의견이 많았기 때에 해 보기로 했습니다. 게시판을 새로 만든다 등 이런 것들은 차근차근 하기로 했구요 일단은 한번 다 바꾸어보는데 의미를 두기로 했습니다. 이무리 학습을 목표로 한 페이지라도 디자인이 깔끔하고 좋으면 훨씬 좋지 않을까요? -- 상욱(["whiteblue"])
          * 제로페이지 웹 서비스 정도는 웹호스팅 서비스를 받는게 어떨까요. 이제 호스팅 서비스에 그리 큰 돈이 들지 않습니다. 365일 안정적인 서비스가 가능하며 수시로 자료를 백업해야하는 번거로움도 없습니다. 현 ZeroPageServer 는 실습용 서버및 파일 서버로 계속 사용할 수 있습니다. --["이덕준"]
  • 정모/2011.5.2 . . . . 11 matches
          * 정모 페이지에만 도움을 요청할 필요는 없습니다. 질이 있다면 질 페이지를 만드셔도 좋아요
          * 프로젝트 지원서를 작성하여 캡스톤 설계실 사용 신청을 해 주세요.
          * 프로젝트 이외의 용도로 사용하는 것을 자제해 주세요.
          * 정모에 뒤늦게 가서 OMS나 앞부분 정모는 대부분 참여를 못했지만 IBM공모전이나 삼성소프트웨어 멤버쉽같은 여러 활동을 항상 동아리때에 바쁘다, 능력이 안된다는 핑계로 다른세계 이야기로만 생각해왔었는데 능력을 키우건 어쩌건 되는게 중요한게 아니라 도전을 해볼 필요도 있겠구나 싶었습니다. 하지만 이런 생각을 항상 하면서도 다음날 자고일어나면 금방 잊게되는게 제네요.. 저도 이제 학교수업만 듣고 학점을 위한 공부가 아닌 진짜 나중을 위해 필요한 공부를 해야겠다고 느껴지지만 이것도 역시 쉽게 불타오르고 실천하지 않는 제 모습이 뻔히 보이네요.. 그러지 말아야할텐데 - [경세준]
          * 어떤 동아리를 하는지 궁금하네요. 무엇을 하던 다양하게 많이 할 수록 좋다고 생각합니다. 저도 겪고 있는 상황이지만 쉽게 불타오르고 실천하지 않는게 제라면 불타오르는 걸 지속 시킬 수 있는 동기가 필요합니다. - [Enoch]
          * 정모는 제 시간 전에 갔으나 저녁 못 먹었다고 카벅 ㅊㅁㅊㅁ하러 갔다온 덕분에 앞부분을 살짜쿵 놓쳐버렸습니다. google->IBM->삼성으로 이어지는 각종 홍보가 많아서 하나라도 참여해보고 싶지만 이 상태에서 일을 추가했다간 이도저도 아닌 상태가 되기때에 하지 못하는게 정말 아쉽더라구요 ㅠ 11월에 정통부장 끝나고 보죠. 그리고 11학번, 10학번이 staff로 참여했으면 하는게 제 개인적인 생각입니닼(특히 박레기) 그리고 지원이 누나 OMS에서 진로에 대해서 꽤 알아가는게 많았구요, 어제 회계와사회 시간에 박인선 교수님이 비슷한 얘기 또 해서 놀랐습니다. 그나저나 학생회를 한게 꽤 큰 제더군요. 뭣 좀 할라치면 과 행사하는거 다 참여해야되니;;; '''프로그래밍 경진대회 준비하기 힘들어요. 참가 좀 많이 해주세요.''' - [윤종하]
          * 팀원 모두 ZeroPager가 아니면 그건 ZeroPage 할당된 공간을 쓸건 아니고 따로 교수님께 연락드리거나 해서 공간을 할당받아야 할 듯. ZeroPager와 비 ZeroPager가 한 팀이라면 ZeroPager가 대표가 되어 프로젝트 지원서를 작성하고 임원진에게 제출하면 사용할 수 있어~ - [김수경]
          * 늦은 후기~ 항상 한두주 뒤에 후기를 쓰는듯하네요.. 이번 정모에서는 공모전등 여러 활동에 대한 공유가 있었습니다. 유용한 정보를 나누어 보기가 좋았습니다. 그냥 그런게 있군 하고 넘어가지 마시고 (안친해도)옆사람 찔러서 같이 공모전 나가보세요!! 제로페이지의 인력풀을 사용하시길 바랍니다ㅎㅎ 프로젝트 공유도 해주시고, 제로페이지를 빛내는 기회기도 하네요. 계속해서 이렇게 공유하는 지피가 되었으면 좋겠어요~ - [서지혜]
  • 정모/2013.7.29 . . . . 11 matches
          * 우수 동아리 선발 이유는, 제로페이지의 운영 방식이 매우 체계적이기 때이라고 하네요.
          * 제안은, 한 달 1회 지원이 아닌, 한 달 한도 금액(기존처럼 인원 수로 책정) 내에서 사용하고 월말에 정산하는 방식으로 개정하는 것
          * 일반적으로, 매 스터디 진행시에 다과를 구입해서 먹는 경우가 많기 때이며, 1회에 한해서 전액을 사용하는 것이 효율적이지 못하다는 의견이 있기 때
          * 제 입장에서는 중앙대 GDG와 ZeroPage는 분리를 했으면 좋겠네요. 현재 ZP만 봐도 다양한 혜택을 받고 있는 만큼 또한 다양한 책임을 지고 있다고 생각하는데, 여기에서 GDG까지 하게 되면 역시 추가적으로 해야 하는 일이 늘지 않을까 생각합니다. 사실 해야 하는 일이 느는 것 자체가 제라기 보다는 나중에 정말로 하고 싶은 일이 생겼을 때 현재 지고 있는 짐(책임)이 무거워서 몸을 움직일 수 없다면 제가 아닐까 하는 염려 때이네요. - [서민관]
          * 저도.. ZP가 관여하고 소속되는 곳이 많을수록 움직이기 어려워지니까요. 또, 하나를 더할때마다 의무의 측면이 심하게 가중되는데, 그만한 이점을 얻기는 힘들거같다고 생각되는.. 알고리즘분야만봐도 사실 ZP가 들고갈 수 있는 영역은 아닌거같다는 느낌이..(여기에는 우리과의 동아리 비활성화가 가장 큰 제지만.) 차라리 우리과에 다른 동아리가 생기는데 거기가 해당 활동을 할 것이면 좋을텐데.. -[김태진]
          * GDG는 단순히 금전적인 혜택보다도, 국내외 결성되어있는 개발자그룹 구성원들과 좀 더 많이 만나고 활동할 수 있는 기회를 주기 때입니다. 좀 더 많은 사람들과 만나고 교류할 수 있도록 하고자 합니다.
          * 자 공지 예정입니다.
  • 제로페이지의문제점 . . . . 11 matches
         (항상 업데이트되고, 또한 그 제가 지속되지 않고 해결되어야 할 페이지)
         현재 제로페이지가 당면하는, 해결해야 할 제점들.
          * 제로페이지의 제네럴함에 대한 이야기를 나눈적이 있었는데, 선택과집중은 좋은 방향이지만, 관심이 있는 학우들의 수가 적어지면 와해되는 제점이 있다고 생각합니다. ''타 학회들이 선택한 주제를 지금도 다루고 있는지 모르겠습니다....'' -[서지혜]
         이는 타 학회에서도 마찬가지일런지 모르겠다. 학기중에 텀 프로젝트가 나올때, 혹은 시험기간을 기해서 학기 초에 열었던 프로젝트들이 일시에 사그라든다. 이러한 현상은 굉장히 자주 일어나는 제이며, 대책이 필요하다.
          * 졸업선배들중에 제로위키를 이용하시는 분들은 없을까? 물론 회사 차원에서의 보안상 공개할 수 없는 정보도 많고, 일과 피로때에 글을 정리하실 시간이 많지 않다는 등 어려움이 많다. 그리고 위키 인터페이스 자체를 불편해하는 사람들 또한 많다.
         세미나가 [데블스캠프]외에 신입생 위주로 하는게 있어요? 설마 스터디를 이야기 하는거라면, 자신이 만들어 나가는건데요. :) 여태 제가 신입생 대상 스터디를 해본적이 없어서 공감이 안가는 이야기 같네요. 스스로 만드세요. SeeAlso 개인 제외 같이 한것들 --ExploringWorld ProjectZephyrus ProjectPrometheus [MFCStudy_2001] [KDPProject] [Refactoring] --NeoCoin
         제점을 공유하지 못해서, 아니면 제점을 제점이라고 생각하지 않아서 아닐까요? --[Leonardong]
          * 예전에 상민이 형이 프로젝트를 하면서 위키에 서를 많이 남기라고 그랬었다. 그 이유인즉 다음번에 다른 사람들이 프로젝트를 할때 도움이 되도록 하기 위해서였다. 위키에서 진행되는 프로젝트가 끝나면 2가지가 남는거 같다. 한가지는 진행과정이 담겨있는 페이지들이고 다른 하나는 프로젝트를 통해서 얻은 지식, 노하우, 팁등, 그 프로젝트의 detail한 면이 아닌 그 프로젝트를 통해서 뽑아낸 좀더 일반적인 내용을 담고 있는(비슷한 주제의 프로젝트를 하는데 도움이 되는)페이지라고 생각한다. 진행 과정 페이지는 어떤식으로 진행하면 프로젝트가 망하고, 어떤식으로 진행해서 프로젝트가 끝까지 갔는지를 파악할때 도움이 되고, 프로젝트를 통해서 뽑아낸 지식 페이지들은 비슷한 주제의 프로젝트를 하는데 수고를 덜어준다. 프로젝트를 하면서 추후에도 도움이 될만한 것들을 자주 서화 해야 좀 전수가 될거 같다. -[상협]
  • 지금그때2004/패널토의질문지 . . . . 11 matches
         질하는 사람이 없을 경우 사회자가 패널에게 질할 것들
         도우미와 도우미 아닌 다른 분들도 많이 질을 내주세요.--[Leonardong]
         See Also [질의힘],[지금그때/OpeningQuestion]
         질을 할때 사회자의 말투라고 할까요. 내용은 위의 질내용으로 할 수 있지만 질접근방법에 대해서도 신경쓰면 더 좋은 답을 얻을 수 있지 않을까 합니다. 그러한 점에서 볼때 [질의힘] 의 후반부에 나오는 인터뷰들의 예를 참고해볼만 하다 생각합니다.
         식으로 이전에 같은 컴공과 학생이라는 연결고리를 만들 수 있겠습니다. 또한, 방청객들도 이러한 질을 들으면서 자기 경험대비 질의 연결고리를 찾을 수도 있겠다는 생각이 듭니다. --[1002]
         "저희는 이제 막 고등학교를 졸업하고 대학에 들어왔습니다. 삶에 있어서는, 뭐랄까 일종의 180도 회전 같은 거죠. 그래서 그래 이제는 한번 마음껏 놀아보자, 그런 생각도 드는 것이 사실입니다. 하지만 아마도 선배님께서는 '내가 만약 그때로 돌아간다면 X나게 공부했을 것이다'라고 말씀하실지도 모르겠습니다. 그렇지만, 그것은 이미 과거의 경험을 전제로 '그랬었더라면'하는 후회의 형식이기 때에 그런 말씀을 하실 수 있는 것 아닌가요? 지금 정말 열심히 놀고 설사 나중에 후회하더라도 나름의 가치가 있는 것은 아닌가요? 지금 우리에게 선배의 후회를 강요할 수는 없는 것 아닌가요?" --JuNe
  • 최대공약수/조현태 . . . . 11 matches
          사용하려다 왠지 함수를 잘못 나눈듯한 느낌에 뒤늦게 수정..;;
          cout << "첫번째 숫자를 입력하세요:";
          cout << "두번째 숫자를 입력하세요:";
          cout << "첫번째 숫자를 입력하세요:";
          cout << "두번째 숫자를 입력하세요:";
          cout << "첫번째 숫자를 입력하세요:";
          cout << "두번째 숫자를 입력하세요:";
         원리 설명좀.. while 구이 이해가 안됨..^^ -- 아영
         현태. 농활 잘 다녀왔어 ? 짜식~ 고 자 받고 얼마나 놀랬는지 아니? ㅋㅋㅋ -아영
          일단 첫번째 질에서는 small_number 가 맞습니다.^^
          이 부분이 했갈리는듯 한데..ㅎㅎ음.. 제네.^^ 남이 봐서 어렵게 작성하다닛..
  • 최소정수의합 . . . . 11 matches
         제 : 1 + 2 + 3 + ..... + n >= 3000 을 만족하는 최소 n과 그것의 합을 구하는 프로그램을 작성.
          * while이나 do ~ while을 사용.
          - 이거.. 꼭 이 조건을 만족해야만 하는건지.. 루프를 사용하면 꼭 while 이나 do .. while 을..? for 는 안되고요..? 그럼 for loop 가 없는 언어로는.. 못푸는건가.. -_-. 글고 루프를 쓰지 않으면 안되는건가요..? ^^; - [아무개]
          - 제가 그렇습니다. 처리조건은 HINT라기 보다는 그 말 대로, 처리하기 위한 조건이라서 제의 하위 조건이라고도 볼 수 있습니다.
          - loop를 쓰는 방법 말고 부등식을 사용하는게 젤 간단할것 같아서 그렇게 했는데, 제에서 제시된 조건을 반드시 만족해야 하는가 해서요 ㅠㅠ - 임인택
          - 괜찮습니다. 사용하는 언어에서 만족될 함수 등등..을 써서 알아서 프로그래밍 하시면 됩니다. 하지만 처리조건을 만족할 수 있는 언어는 그렇게 프로그래밍 해주시길 바랍니다.
         || [보창] || C++ ||. || [최소정수의합/보창] ||
         [제분류] [LittleAOI]
  • 파스칼삼각형 . . . . 11 matches
         == 제 정의 ==
          숫자를 2개 입력받습니다. 한개는 행의 번호, 한개는 열의 번호입니다. 결과는 행과 열에 존재하는 파스칼 삼각형 수를 출력하면 됩니다.
          테두리는 1 이고 그 이외의 숫자는 자신의 머리 위에 있는 2개의 숫자를 더한 값입니다.
         || 도전자 || 총개발시간 || 소스라인수('''주석제외''') || 사용언어 || Source ||
         || . || . || . || . || [파스칼삼각형/원명] ||
         || [보창] || 10m || . || C++ || [파스칼삼각형/보창] ||
         [제분류]
         == 사소한 질 ==
  • 학회간교류 . . . . 11 matches
          * 위키사용법 : 네토리 회원은 위키에 약하다? 암튼. 아직 위키 화에 친숙하지 않고, 에디트를 어렵게 생각하는 것 같아서.. --Netory:경태
          * SQL2005 XML 데이터형 사용관련
          * InfoPath 사용
          * BizTalk Server 사용
          * OllyDBG 나 WinDBG 사용 관련..
         오늘 분산처리 공부하다가 떠오른 아이디어인데, '''PC실 관리 프로그램''' 만들어보면 어떨까요? 각 PC실의 PC 동작 현황(현재 돌아가고 있는 프로그램)과 IP주소, 프린터 동작 여부 등의 정보를 웹상에서 보여주는 거죠.(아마도 인증된 사용자에게만 보여줘야겠지요. 동서버팀하고 연동해도 되겠네요.) 해당 서버 프로세스는 동서버에서 돌리고, 각 PC들마다 클라이언트 프로그램을 백그라운드로 돌리면 될 거 같고요. 그러면, 구지 구피에 자리없을 때, 7피까지 올라가보지 않아도 PC실 사용을 파악할 수도 있고, 필요하면 다른 장소에서도 학교 PC실 사용여부를 감독할 수 있겠지요. 차후 전체 PC 네트워크 관리나 바이러스 체크와 같은 관리면 등에도 응용이 가능할 것으로 예상해보고요. 어때요? --Netory:창선이
  • 허아영/Cpp연습 . . . . 11 matches
         코드를 컴퓨터에만 저장만 해 놓으면 다른 컴퓨터를 사용해서 코드를 작성할 때, 이 제는 코딩 했었나?
         C언어도 많이 부족하지만, C++는 저한테 더욱 새롭기 때에 실수도 많이 범할 것 같아요.
         숫자를 입력받아 그 숫자를 제곱하는 프로그램.
          cout<<"제곱할 숫자 입력 :";
          아직 C++을 C수준으로 사용하시는 것 같아 지금 이 시점에서 이런 말씀을 드리는게 좋을것 같습니다. C++을 공부하기 전에 다음과 같은 의을 갖으시는게 좋을것 같습니다.
         절차적 프로그래밍 기법을 통해 소프트웨어를 개발하다보면 개발시간도 너무 많이 소요되고 동일한 작업들이 중복된다는 제점이 야기된다. 이러한 제점을 해결하기 위해서 소프트웨어도 공장의 부품처럼 독립성을 갖는 객체들로 구성해 놓고 그들을 조립하여 완성한다는 개념이 객체지향 적인 프로그래밍 기법의 근간이다.
         Lecture note에 있는 제인데, C같이 풀었습니당.
  • 훌륭한프로그래머의딜레마 . . . . 11 matches
         우연치 않게 두 회사에 정확히 똑같은 내용의 주이 들어왔다. "열나어려운제" 해결을 위한 프로그램을 작성해 달라는 것이었다.
         열심히씨는 처음 예상 소요 시간인 3개월 동안 정말 열심히 일했다. 하지만 일을 하면서 예상 외의 장애를 직면했고, 밤샘 작업까지 해가면서 3개월의 마지막 날 매니져에게 이런 말을 할 수 있었다. "정말 열나게 프로그램을 짰슴다. 밤샘도 하고요. 제가 지금까지 작성한 프로그램은 2000줄입니다. 그런데, 새로운 제가 기술적으로 불가피하게 발생했습니다. 복잡한 버그(프로그램의 오류)도 몇 가지 해결해야 하고요. 한 달 가량이 더 필요합니다." 그러고 한달 후 열심히씨는 몇 개의 버그와 더불어 나름대로 작동하는 프로그램을 매니져와 고객에게 자랑스럽게 보여줄 수 있었다. 벌겋게 충혈된 눈과 미쳐 깎지 못한 수염, 무지무지 어렵고 복잡해 보이는 2500여 줄의 프로그램과 함께. "예상보다 훨씬 더 복잡한 제였군요. 정말 수고하셨습니다."라는 칭찬을 들으면서.
         훌륭한씨는 매니져가 "의무적으로" 잡아놓은 예상 소요 시간 3개월의 첫 2달 반을 빈둥거리며 지냈다. 매니져는 훌륭한씨가 월말이 되어서 "정말 죄송해요. 아직 한 줄도 못짰어요. 너무 어려워요. 좀 봐주세요."라고 처량하게 자비를 구할 날을 손꼽아 기다렸다. 웬걸, 마지막 날 훌륭한씨는 예의 "너무도 태연스러운" 모습으로 나타났다. 150여 줄의 프로그램과 함께. 그 프로그램은 멋지게 "열나어려운제"를 해결했다. 하지만, 매니져가 그 코드를 들여다 보자, 한마디로 "너무도 쉬웠다." 초등학생도 생각해 낼 정도였다. 매니져와 고객은 이름을 "열나쉬운제"로 바꾸는 데에 전적으로 동의한다. 훌륭한씨는 "이렇게 간단한 제를 3개월 씩이나 걸려서 풀었습니까? 왜 이렇게 성실하지 못하죠?"라는 비난을 들어야 했다.
         훌륭한 프로그래머는 어려운 제를 "터무니 없을 정도로 간단한 제"로 풀어내는 재주가 있다. 남들이 보기에는 그것이 너무도 당연한 해결법으로 보인다. 하지만 그들은 쉽게 생각해 내지 못한다. 그러고는 훌륭한 프로그래머를 우습게 본다.
         중간치기나 하치기 프로그래머는 어려운 제를 어렵게 혹은 더욱 어렵게 풀어내는 재주가 있다. 남들이 보기에는 그것이 너무도 기발한 해결법으로 보인다. 역시 그들은 쉽게 생각해 내지 못한다. 그러고는 중간치기 하치기 프로그래머를 대단하게 본다.
         과거 IBM사에서는 프로그램의 줄 수에 따라 급여를 계산했었다. (사실 지금도 이런 회사가 상당수 있다) 그런데 프로그램 줄 수가 늘어날 수록 숨겨진 버그 수와 유지관리에 드는 비용은 기하 급수적으로 늘어나게 된다. 이 제를 해결하기 위해 프로그램 줄 수는 더 늘어나게 되고, 덕분에 프로그래머는 돈을 더 벌게 된다.
  • 1002/TPOCP . . . . 10 matches
          * 저자가 제기하는 질은? & 책에서의 대답은? ( + )
          어려움이 닥쳤을때, 제 자체만을 처리하기를 원한다.
          제에 대해서만 배운다.
          제 자체를 아마추어만큼 심각하게 고민하지 않는다.
          제해결방법을 찾는 여러 방법들을 인식하고 있다. 제를 이해하기 위한 프로그램을 준비하기도 한다
          프로그래밍에 대해 배운다. (제상황이란 그의 개발 과정중 부수적인 일들)
          case) 물리 교수로부터 해당 메트릭스를 반전하는 프로그램 작성. 한 개발자는 (A) 뭔가 배울 수 있는 좋은 기회라고 생각, buffering 을 이용하여 제를 해결하려고 함.
          A - 제발생시 접근방법을 바꾸기 싫어함.(성능을 희생해야 할것이라 생각해버림)
          우리는 각각의 프로그래머들이 자신이 잘 못하는 영역에 대해 스페셜리스트가 되게 일을 할당함으로서 학습률을 극대화할 수 있다. 또한, 그가 제상황이 생겼을때 각가이 다른 작업으로 교체할 수 있는 기회를 가질 수 있다.
  • 5인용C++스터디/다이얼로그박스 . . . . 10 matches
          * 다이얼로그박스에 있는 컨트롤(버튼, 라디오버튼, 체크박스, 리스트박스 등...)은 어떻게 사용하나?
         대화상자(DialogBox)는 최상위 윈도우(top-level window)의 자식 윈도우로서 일반적으로 사용자로부터 정보를 얻기 위해 사용된다. Dialog는 사용자들이 파일을 선택하여 열기 등의 작업을 쉽게 하도록 합니다. 파일 작업을 쉽게하기 위해 제공하는 컴포넌트가 FileDialog클래스이다. Dialog는 Frame윈도우와 비슷한데 그 차이점을 살펴보면, 대화상자는 윈도우에 종속적이기 때에 그 윈도우가 닫히면 대화상자도 따라서 같이 닫히게 된다는 것이다. 또한 윈도우를 최소화시켜도 대화상자는 사라지게 된다.
          1-3 대화상자에서 MFC AppWizard[exe]를 선택을 하고, Location: 에 사용자가 생성시키고 싶은
          이 부분에서 사용자가 선택하고 싶은 것을 선택을 한다. 이 Test프로그램은 Dialog based를
         대부분의 대화상자는 modal이다. modal 대화상자는 부모 프로그램이 계속 실행되기 위해서 사용자의 응답을 기다린다. 이 말은 modal 대화상자는 사용자의 입력 확인 없이 부모 프로그램의 어떤 부분도 동작시킬 수 없다. modaless 대화상자는 부모 프로그램의 실행을 막지 않는다. 이것은 다른 부분의 프로그램의 실행을 대화장자가 막지 않는다는 것이다.
         modalless dialog의 예는 글 워드 프로세서의 찾기 창을 들 수 있다. 찾기창을 띄운 후 창을 닫지 않로서도 서편집 작업을 계속해서 할 수 있다. 이러한 속성을 modalless라고 한다.
  • ACE . . . . 10 matches
         ADAPTIVE Communication Environment. 플랫폼 독립적인 네트워킹 프레임워크. [Java]가 VirtualMachine 을 사용하여 플랫폼 독립적인 프로그래밍을 가능하게 하는 것 처럼 플랫폼에 상관없이 안정적이면서도 고성능의 네트워크 프로그래밍을 할 수 있도록 도와주는 프레임워크이다.
         우리가 많이 사용하는 버클리 소켓 API 를 사용한다 하더라도, 이기종간 프로그래밍을 하기는 어렵다. 이는 플랫폼간 이식성이 결여되어있고 약간의 차이가 있기 때에 이식성 높고 안정적인 프로그래밍을 하는데 많은 어려움을 주기 때이다. 또한 이식에 성공한다 하더라도 이전의 성능을 완전하게 보장받을 수도 없다. 또한 이식을 고려하지 않고 단순하게 소켓 API 만을 사용한다하더라도, 개발자가 조심하지 않는 이상 소켓 API 는 개발중에 제점을 일으킬 확률이 높다. 이는 소켓 API 가 개발중에 일어날수 있는 제점에 대한 방지를 보장하지 않기 때이다. 이러한 제점을 해결하기 위해 수년간 개발되어온 프레임워크가 [ACE] 이다. [임인택]은 간단한 서버를 작성할때 조차도 [Java]를 많이 선호하였는데, [ACE] 를 알게되면서는 [ACE] 로 서버를 작성해 보고 싶다는 생각을 하였다.
  • AustralianVoting . . . . 10 matches
         [http://online-judge.uva.es/p/v101/10142.html 원보기]
         입력 케이스의 개수를 나타내는 양의 정수 한 개가 들어있는 행으로 시작되며 그 줄에는 그 숫자밖에 입력되지 않는다. 그 뒤에는 빈 줄이 하나 들어가고 서로 다른 입력 케이스 사이에는 두 개의 빈 줄이 입력된다. 각 케이스의 첫번째 줄에는 후보 수를 나타내는 20 이하의 정수 n이 입력된다. 그 밑으로 n개의 줄에 걸쳐서 후보의 이름이 순서대로 입력되며 각 후보의 이름은 80글자 이하로, 출력 가능한 자로 구성된다. 그 뒤에는 최대 1,000줄이 입력될 수 있는데, 각 줄에는 투표 내역이 입력된다. 각 투표 내역에는 어떤 순서로 1부터 n까지의 수가 입력된다. 첫번째 숫자는 1순위로 찍은 후보의 번호, 두번째 숫자는 2순위로 찍은 후보의 번호, 이런 식으로 숫자가 기록된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || . || [AustralianVoting/보창] ||
         [제분류] [AOI]
  • C++3DGame . . . . 10 matches
         === 1. 좌표계 사용하기 ===
         3D 영역에서의 작업을 위해서는 사용할 좌표계를 정의해야 한다.[[BR]]
         가장 일반적인 좌표계인 데카르트 좌표계는 원점으로 사용할 점과 원점을 지나며 서로 지각인 세 개의 축이 있다.[[BR]]
         "원점에서 동쪽을 바라보며 죽쪽으로 38도 회전하고, 위로 65도 회전한 후에 이 선을 따라 7.47피트로 이동"하는 방법으로 위치를 설명할 수 있다. 그러나, 수학적으로 풀 경우, 점을 이리저리 움직이면 처리하기가 더운 어려워진다. 그래서 이런 폴라 좌표계는 제어가 어렵기 때에 3D엔진에서는 거의 사용하지 않는다.
         ==== 1.2 다중 좌표계 사용하기 ====
         3D 오브젝으를 사용하여 작업하다 보면 하나의 점으로 작업하는 것보다 여러 점을 묶어 작업하는 것이 효율적임을 알게 된다.
         이렇게 하면 게임에서 CPU를 움직여야 할 경우, CPU를 그리는데 사용하는 모든점에 대한 컴퓨터 중앙 만 움직이면 된다.[[BR]]
         하나의 code[] 절대 "세계"좌표를 구하려면 다음과 같은 코드를 사용한다.
         CPU::GetWorldCoord(int index)는 그 세계의 원점에 대해 CPU 여덟개 점 중의 하나를 반환한다. 단지 coord[index]를 반환한다면, CPU중앙에 해당하는 CPU점을 반환하기 때에 나중에 CPU를 그랠 때 원하는 대로 그릴 수 없게 된다. 중앙을 움직이면서도 CPU점 여덟개를 모두 옮기는 효과를 낼 수도 있다.
  • Cockburn'sUseCaseTemplate . . . . 10 matches
         == 해결되지 않은 제 ==
          4.구매자가 주을 확정한다.
          5.회사는 주서를 만들고, 물건을 구매자에게 보낸다.
          3a.구매자가 주한 물건 가운데 재고가 없는 물건이 있다: 주을 재조정한다.
          1. 구매자는 전화를 걸거나 팩스를 보내거나 웹에서 주을 하거나 전자상거래로 구매 요청을 할 수도 있다.
          * 수행목표: 주에 5분, 물건값 받을 때가지 45일.
          * 하위 유스케이스들: 주서를 만든다. (유스케이스 15), 신용카드로 물건값을 받는다.(유스 케이스44), 반송된 물건을 처리한다.(유스 케이스 105)
         == 해결되지 않은 제 ==
          * 주 일부만 받을 경우 어떤 일이 일어나는가?
  • Cpp에서의멤버함수구현메커니즘 . . . . 10 matches
         === 제 제기를 담은 설명 코드 ===
         Press any key to continue
          * 마지막으로, 위의 제제기에 대해 분석해 봅시다.
         C++은 Strong typed language 이므로 컴파일 시간에 모든 형이 선언되고, 사용되는 것을 검증할 수 있습니다. 하지만 이는 다음과 같은 지역 변수에 국한합니다.
         이러한 전제라면, 한가지 의이 생깁니다.
         ==== 위의 제제기에 대해 분석해 봅시다. ====
         이렇게 나옵니다. (C++ 주석 빼고) 위에서 제시 되는 부분은, 후반의 두가지 {{{~cpp sayHello() 와 sayMyId()}}} 일겁니다. 둘째 설명의 member 함수를 호출하는 메커니즘을 이해했다면
         instance에 사용되었던 메모리는, 해당 process의 가용 메모리로 돌아가지, 접근 금지 영역으로 세팅되지 않습니다. 이 부분은 delete this 시 해당 instance 영역의 값을 어떻게 "청소"하느냐에 따라서, 플랫폼 별로 다르게 나옵니다.
         라는 코드는 x의 값을 변화시키지 않습니다. 변화시킬수 없습니다. 이유는 call by value 로 넘어온 x의 값을 NULL로 변경시켜봤자, 영향 받지 않는 코드가 경우가 있기 때에, 변화시킬 필요성이 없습니다.
         C++에서는 NULL 이 키워드로 존재하지 않고, 0 이라고 확실히 약속되어 있지 않기 때에 검사자체가 불가능합니다.그러나 vm상의 언어들은 그래서 모두 null에 해당하는 키워드가 존재하고 검사가 가능합니다.
  • C언어정복/3월30일-숙제 . . . . 10 matches
         1. 인치(inch) 단위를 센티미터 단위로 변환하는 프로그램을 사용자에게 입력을 받고, 계산된 값을 출력하라. (1in = 2.54cm)
         2. printf() 함수를 한 번만 사용하여 다음과 같이 4줄에 걸쳐서 표현되는 자열을 출력하라.
         3. for사용하여 다음과 같이 3줄을 출력하라. (앞에 행 번호도 출력)
         (좀 어려운 제?? ㅋㅋ)
         5. if 하나와 for 하나씩만을 사용하여 2단부터 9단까지의 구구단을 출력하시오.
         (if은 아직 안 배웠으므로 책을 참고)
  • DiceRoller . . . . 10 matches
          * EXIT버튼 누르기 : Shift+Enter를 Roll로 사용하지 않았기 때에 종료시 빠져나가는 루틴이 필요하다. 그래픽대조를 통해 Exit버튼을 누르자.
          * 프로그램을 키고 오래 사용하면 스타트/레디 부분이 실행되지 않는다.
          * 그래픽 대조루틴을 통한 카드의 자동사용
          * SHIFT+ENTER : 이상하게 그 창에서만 듣지 않는다.. 무언가 제가 있는듯.. Direct Input를 사용해 볼까 고려중이다.
          * ㅡ.ㅡ 위의 제를 해결하면 자동으로 해결되는 DOA와 감옥.
          * 메모리상의 값을 얻어와서 해결할 방법은 아직은 먼 훗날의 이야기인 듯 하지만, 만약 가능하다면 모든 제들이 해결되다시피한다.[[BR]]
          2. SPY++를 조금 더 잘 사용할 수 있게 되었다.
         오.. 재밌는거 하고 있네~ 근데 주사위의 잔영을 제대로 안봐서 그런데, 창 모드로 게임이 실행되나 보지? DirectX 를 쓴다면 일반 윈도우 메세지 방식으로 처리하기 힘들지 않을까 함. (근데 해당 기능들 잘 되는 것 보니까 뭐.. 별 제 없는 듯 하군~) --석천[[BR]]
  • EightQueenProblem2 . . . . 10 matches
         EightQueenProblem을 해결하신 것을 축하드립니다. EightQueenProblem 페이지에 개발 시간과 소스 라인 수 등을 기록하셨나요? 사실 제는 하나가 더 있습니다. 대부분의 프로그래밍 숙제/대회는 코드의 디자인은 잘 따지지 않습니다. 하지만 실세계의 제에서는 코드의 적응도(adaptability)가 매우 중요한 요소가 됩니다. 자신이 작성한 프로그램이 얼마나 새로운 요구사항에 잘 적응을 하는지를 보면, 자신이 얼마나 디자인을 제대로 혹은 엉망으로 했는지 알 수 있습니다. 디자인 질에 대한 바로미터가 되는 것이죠.
         새 제는 다음과 같습니다. 자신이 작성한 프로그램을 수정을 해서, EightQueenProblem의 일반적인 제를 푸는 것입니다. 즉, 8X8에서 8개의 여왕을 배치하는 서로 다른 모든 해법(총 92가지)을 구하는 것입니다.
         ||도전자||총수정시간||최종 소스라인수(주석제외)||사용언어||
          처음 제에 '모든 해를 구해서는 안된다' 라는 말도 없고, '모든 해를 구하라' 라는 말도 없는데.. 제가 제 이해를 잘못한건가요..? 지적해 주셔서 감사합니다 - 임인택
         이러한 변형 N-Queen 제는 어떻습니까? http://eunjae85.new21.org/problem11/problem11.htm 입력값은 n과 h이고, 한 퀸이 h개까지 다른 퀸을 공격할 수 있게 하는 것입니다. h=0 이면 보통 N-Queen 제가 되지요. --아무개.
  • ExploringWorld/20040412-세상읽기 . . . . 10 matches
         "영학의 대작을 읽은 적이 없다는 과학자들의 뉴스를 듣고 이들은 동정어린 쓴웃음을 던진다. 그들은 과학자들을 무지한 전가라면서 무시한다. 하지만 그들 자신의 무지와 '전적인 바보' 모습도 사람들을 놀라게 한다. 나는 전통적인 화의 기준에서 높은 수준의 교육을 받았다는 사람들의 모임에 참석한 적이 있는데, 그들은 과학자들의 무지에 불신을 표명하는 데 상당히 재미를 붙인 사람들이었다. 내가 도저히 참을 수 없어서, 당신들 가운데 열역학의 제 2 법칙을 설명할수 있는 사람이 몇이나 되느냐고 물었다. 대답은 냉랭하고 부정적인 것이었다. 나는 '당신은 셰익스피어 작품을 읽은 일이 있소?'라는 질과 맞먹는 과학의 질을 던졌던 것이다. 그보다 더 쉬운 질, 이를테면 '질량 혹은 가속도란 무엇인가?'(이는 '당신은 읽을 줄 압니까?'라는 것과 동등한 과학상의 질이다.)라고 물었다면 ... 열 명에 하나가 내가 그들과 같은 언어를 사용한 것 정도는 느꼈으리라고 믿는다....가장 현명하다는 사람들 대부분은 물리학에 관한 한 말하자면 신석기 시대 선조들과 거의 같은 수준의 통찰력 밖에 가지고 있지 않는 것이다."...
         내용이 있고 '열역학의 제2법칙'이 공대상이 당연히 알수 밖에 없는 근본 지식이라는 내용의 맥락으로 책의 후반부를 마무리 짓는다. 그런데, 전산에 종사하는 사람들에게 2주간 같은 질을 해봤지만 '''아무도 답변을 하지 못했다.''' (그런데 오늘 재선이가 대답했다. 세상에 :) )
  • HardcoreCppStudy/첫숙제/ValueVsReference/임민수 . . . . 10 matches
         c++ 프로그래밍에선 사용자 함수를 많이 쓰게 되는데,
         다른 함수에서는 그 변수를 사용할 수가 없게됩니다.
         대신 그 변수들의 값은 전달인자로 사용할수 있습니다만, 그것들을 사용하여 계산 결과를 리턴하는데
         사용될뿐 실제 그 변수 주소의 값은 변경할 수 가 없습니다.
         그러나 참조에 의한 전달은 그 변수의 주소자체를 전달 하기 때
         마치 변수 하나에 이름이 두개인것 처럼 사용할 수가 있습니다.
          참조전달에 의한 함수를 사용하였을경우 변수 자체의 값이 바뀌기 때에 위와 같은 결과가 나옵니다.
          * main() 함수의 리턴형이 void 이기 때에 return 0은 쓰면 안 됩니다. -영동
  • HelpForDevelopers . . . . 10 matches
         사용중에 불편하신 부분이나 오작동하거나 질할 부분이 있으면 개발 사이트에 오셔서 언제든지 개발자와 피드백을 하실 수 있습니다.
         === 제점 보고 ===
         모니위키 사용중에 제점이 발생하는 경우에는 지체없이 http://kldp.net/projects/moniwiki/bugs 사이트에서 제점을 보고해주시기 바랍니다. 혹은 사용중에 불편한 점이 있다고 생각하셔도 보고해 주시면 고맙겠습니다.
         개발자는 사용자가 불편하게 생각하는 부분을 잘 모르는 경우가 많습니다. 사용자의 피드백은 모니위키를 좀 더 사용하기 편리하게 만들어 줄 가능성을 열어줍니다!
  • HelpOnActions . . . . 10 matches
         액션의 일부 가장 기본적인 기능은 페이지의 맨 하단의 링크에 제공되거나 상단의 아이콘 메뉴에 제공되기도 합니다. (현재 사용하시는 테마에 따라서 달라질 수 있습니다)
         다음의 내용은 모니위키에서 기본적으로 제공되는 액션이며, 아래에 기술된 액션의 일부는 시스템에 따라서 비활성화 되어 사용할 수 없을 수도 있습니다.
          * `!LikePages`: 비슷한 이름을 가지는 페이지 목록을 찾아줍니다. 영의 경우 적절히 잘라내어 앞/뒤 단어별로 검색해주며, 한글일 경우에는 앞/뒤 한글자 이상을 잘라내어 비슷한 파일 이름이 있는지 찾아줍니다.
         다음의 액션 목록은 기본적 기능으로 사용자에게 특별히 노출되지는 않지만 '''내부적'''으로 상단/하단의 메뉴에서 사용되는 거의 기본적인 액션 목록입니다.
          * `userform`: UserPreferences 페이지에서 사용되는 내부 액션
          * `titleindex`: 페이지 목록을 텍스트로 보내거나 (Self:?action=titleindex) XML로 (Self:?action=titleindex&mimetype=text/xml'''''') 보내기; MeatBall:MetaWiki 를 사용할 목적으로 쓰임.
          * `fullsearch`: `FullSearch` 매크로와 함께 사용되는 전체 페이지 검색 액션
          * `titlesearch`: `TitleSeach` 매크로와 함께 사용되는 제목 검색용 액션
          * `raw`: 페이지의 소스(raw)를 텍스트로 그대로 보여주는 액션. 위키 법을 볼 수 있게 해준다.
  • InternalLinkage . . . . 10 matches
         C++ 에서 SingletonPattern 을 구현할때 다음과 같은 방식을 사용하고는 한다.
         처음 선언될 때를 제외하고는 저 함수는
         그것은 바로 InternalLinkage 때이다. InternalLinkage 란, 컴파일 단위(translation unit -> Object Code로 생각해 보자) 내에서 객체나 함수의 이름이 공유되는 방식을 일컫는다. 즉, 객체의 이름이나 함수의 이름은 주어진 컴파일 단위 안에서만 의미를 가진다.
          ''DeleteMe 이 말도 이해가 안갑니다. 주제로 시작한 inline은 중복 코드를 감안하고 성능을 위해서 쓰는 것이 아니 었던가요? 무엇이 제인가요? inline 이 아닌 함수들은 ExternalLinkage로 전제 되었다고 볼수 있는데, 지적해야 할것은 inline의 operation에 해당하는 코드가 아니라, static 같은 변수가 중복을 예로 들어야 할것을... --NeoCoin''
         하지만 InternalLinkage가 초례하는 제는 1996 {{{~cpp ISO/ANSI C++ }}} 표준화 작업에서 인라인함수(InlineFunction)를 ExternalLinkage 로 변경해서 제가 되지 않는다.(최근의 컴파일러들은 지원한다.).
          ''암튼,결론이 어떻게 되나요? singleton 을 구현하는 용도로 자주 쓰는 static 변수를 사용하는 (주로 getInstance류) 메소드에서는 inline 을 쓰지 말자 인가요? --[1002]''
          - 구형 컴파일러에서는 제가 될 수 있지만 최근의 컴파일러에는 제될게 없다고 말하는것 같습니다. 제 생각이 잘못된 것이라면 거침없는 지적을..^^; - [임인택]
         == InternalLinkage제가 등장하는 다른 케이스 ==
  • IpscAfterwords . . . . 10 matches
         후.. 좌절(아까 떡볶이 먹을때에도 너무 강조한것 같아서 이제는 다시 자신감 회복모드 중입니다만) 임다. -_-; 결국 5시간동안 한제도 못풀었네요. 처음 경험해본 K-In-A-Row 제를 풀때나 Candy 제를 풀때만해도 '2-3제는 풀겠다' 했건만. 어흑;[[BR]]
          * 전에 K-In-A-Row 같은 경우는 일종의 StepwiseRefinement 의 형식이 나와서 비교적 코딩이 빠르게 진행되었었고, (비록 답은 틀렸지만) Candy 제의 경우 덕준이가 빨리 아이디어를 내어서 진행이 빨랐었는데, 실전에서는 그런 경우들이 나오지 않아 버겨웠던듯 하네요.
          * 영어실력의 제 - 모르면 모른다고 이야기 할것을. 정확하게 해석합시다. 괜히 '아마 이런 내용일 것이다' 로 해석하지 말고..
          * 중반부로 들어가면서 사람들이 제들을 못풀다보니 팀플레이도 흐트러진것 같습니다. 이전에 K-In-A-Row 풀때나 Candy 풀때만해도 실마리를 잡아서 '풀 수 있겠다' 라고 생각해서인지 팀플레이가 잘 되었던거 같은데.. 역시 어려울때 잘하기란 힘든것 같네요.
         집에와서 B번 제를 30분시간 제한을 걸고 생각했었던 방법으로 다시 한번 플밍 해보는데, 생각이 틀렸었네요. 접근법은 프로세서하나하나들에 대한 단순한 원리의 조합.. 뭐 이런걸 바랬는데, 최소의 수로 나오지가 않는다는. B번 3번째꺼에서 100번 turn 을 돌아야 했다는; 음.. 나중에 또 번뜩일때 다시 궁리를;
         석천군 팀이 B번 제(Job Balancing)를 풀긴 풀었으나 시간이 너무 걸려서 옵티마이징을 필요로 했습니다. 제가 O(m*n^2)에서 O(m*n)으로 만들어줬는데, 그것으로도 부족했습니다. 집에 돌아와서 잠을 자다가(NoSmok:포앵카레제해결법 ) 몇 가지 아이디어가 떠오르더군요. 오늘 아침에 일어나서 30분 정도 뚝닥거려서 B Difficult Set을 5초 안에 끝내는 코드를 만들었습니다. 어떻게 사고했냐구요? TDD로 원소 하나 짜리, 두 개 짜리, 세 개 짜리, ... 를 하다보니까 일반해가 보이더군요. 역시 마음에 여유가 있으면 잘 되는 것 같습니다.. see also IpscLoadBalancing
  • JTDStudy/첫번째과제/원명 . . . . 10 matches
          * 정답을 int변수 3자리 숫자로 표현해서 만들어봤더니 코드만 더 길어졌네요 -0-;; - [원명]
         집에서 놀다가 우연히 여기를 와서 고쳐봅니다. 조금 더 생각해 보시면 되지요. 저에게 재미있는 경험을 주었는데, 원명 후배님도 보시라고 과정을 만들어 두었습니다. 선행학습으로 JUnit이 있어야 하는데, http://junit.org 에서 궁금하시면 [http://www.devx.com/Java/Article/31983/0/page/2 관련서]를 보시고 선배들에게 물어보세요.
          * 처음에는 Test-Driven Development 에 입각하여 만들어 보려고 했으나, Java를 거의 처음 시작하고 프로그래밍 경험의 공백기간이 길었던게 큰 타격이었습니다ㅠㅠ. 결국에는 법과 알고리즘에만 신경을 쓰다보니 TDD방식으로 다루기가 쉽지 않네요. 개선 조언을 해 주신 류상민 선배님 감사합니다 ㅎㅎ -[원명]
          * 네, 제가 TDD의 의미를 확실히 하지 못한 것 같습니다. TDD책의 앞부분만 읽어 보았는데, 계속해서 더 읽어야 나가야겠다는 다짐이 드네요. 관심 가져주셔서 고맙습니다 ㅋ -[원명]
         readability 를 위해 필요없는 typecasting 법들 제거 (Java Language Specification의 규칙들을 보세요. 해당 typecasting은 거의다 필요 없는겁니다.) 유의미한 단위로 분리
         특정 포지션의 숫자를 얻어오기 위한 반복 부분들 발견, 특정 포지션을 얻어오는 함수 만들기
         숫자 패턴을 파악하고 중복 개선, magic number 제거
  • LoveCalculator/허아영 . . . . 10 matches
         제 소스에 알고리즘적 제가 생겨 약간 수정합니다. (구지 안고쳐도 잘 돌아가지만, 꺼림칙 해서..)
          그럼 수고하세용~ㅎ 좋은하루되궁..ㅎ 제 한글루 내구..ㅠ.ㅜㅎ - [조현태]
          충고 고마워. 제 한글로 낼께 ㅋㅋ
          tolower(해당자를 소자로 바꿔줌, 소자면 그대로)함수 또는 toupper(대자로)를 쓰고 알파벳에서 숫자가 아닌 자(alpha = alpha - 'a' +1)로 처리 하였다면 대소자 따로 처리할 필요 없었고, 가독성 또한 좋아지지 않았을까? - [이영호]
  • MineSweeper . . . . 10 matches
         [http://online-judge.uva.es/p/v101/10189.html 원보기]
         이 게임에서는 각 칸에 인접한 칸에 몇 개의 지뢰가 있는지를 보여준다. 각 칸에는 최대 여덟 개의 인접한 칸이 있을 수 있다. 아래쪽에 있는 4 X 4 지뢰밭에는 지뢰 두 개가 있으며 각각은 '*' 자로 표시되어 있다.
         이 지뢰밭을 방금 설명한 힌트 숫자로 표기하면 아래쪽에 있는 것과 같은 필드가 만들어진다.
         입력은 임의 개수의 지뢰밭으로 구성된다. 각 지뢰밭의 첫번째 줄에는 각각 행과 열의 개수를 나타내는 두 개의 정수 n과 m(0<n,m<=100)이 들어있다. 그 다음 줄부터는 n개의 줄에 걸쳐서 각 줄마다 정확하게 m개씩의 자가 들어있으며 이는 지뢰밭을 나타낸다.
         각 지뢰밭에 대해 Field #x:라고 적혀있는 메시지를 출력한다. 이때 x는 필드 번호를 나타내며 1에서 시작한다. 그 다음 줄부터는 n개의 줄에 걸쳐서 '.'자 대신 그 칸에 인접한 칸에 들어있는 지뢰의 개수를 출력한다. 각 지뢰밭에 대한 출력 사이에는 반드시 빈 줄이 하나씩 있어야 한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++/Python || 50분/40분 || [MineSweeper/보창] ||
          [AOI]제 중 하나지 --[강희경]
         [제분류]
  • PhotoShop2003 . . . . 10 matches
          * 수업시간에 가장 어렵다고 생각하는 BMP 파일에 관한 것을 했다. 이것만 할줄알면 나머진 알고리즘적 측면이 강하기 떄에 쉬울 것이다.
          * 눈깔 책의 내용을 참조하면서 어젯밤 만든 IMAGE CLASS , PIXEL CLASS을 결국 사용안하기로 했다
          * 이유인즉 무슨 말인지 모르고 내가 사용 했기 때이다. 그래서 픽셀중 2차원 사용법만 사용하기로 했다
          * 캐스팅 제 때에 몇개가 좀 잘못 되었었다. 그래프 보면서 고쳤다.
         || 11:00 || 11:35 || 특수 기능 때에 디자인이 꼬여버려서 빼버리기로 함 || 남상협, 강인수 || 35분 ||
         || 01:15 || 01:40 || 특수 기능 제점 해결 버전과 인수 수정판 통합 || 남상협 || 25분 ||
  • PolynomialCoefficients . . . . 10 matches
         [http://online-judge.uva.es/p/v101/10105.html 원보기]
         이 제에서는 다항식을 전개했을 때의 계수를 구해야 한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || 30분 || [PolynomialCoefficients/보창] ||
         제의 다항식 읽는데 불편하시면 번거로우시더라도 원을 참조해 주세요. 아니면 원을 보시고 푸는 습관을... -- [보창]
         [제분류] [AOI]
  • ProgrammingLanguageClass/Exam2002_1 . . . . 10 matches
          * 다음과 같은 법이 있다. Top-Down Parsing 의 가능 또는 불가능함을 증명하시오
         다음과 같은 unambiguous 법이 있다. (대강 이런식. 아 곱셈부분이 생각안난다; 정확한거 아시는분은 보충을;)
          * 위의 식을 법에 맞게 left-most 로 유도하시오.
          * B = 6, C = 4, D = -2 라고 했을때 위의 법에 의하면 A 의 값은 무엇인가?
         공부할때 각 요소들에 대한 비교 할때마다 Ada 를 빼놓지 않기에 (늘 책에서의 비교언어는 C/C++, Pascal, Ada, Java 이다) 주로 언급된 언어들만 공부했건만, 왜 뜬금없이 PL/1 을 내신걸까; 그밖에 다른 제들은 평이해서 그다지 별 감흥(?)없었고, 마지막 제가 괜찮았던듯.
         나의 경우는 1. string (char array) 으로 애뮬레이션 한다. (단점도 썼음. 계산뒤의 메모리할당 제와 실제 산술연산 계산을 위한 형변환시 cost가 많이 든다 등등) 2. long integer 2 개로 앞의 32 bit 는 유효숫자를, 뒤의 32bit 는 지수를 표현한다. (2^-31 ~ 2^31 * 2^-31 ~ 2^31 까지 표현된다라고 썼는데, 실제론 저 숫자들을 다 표현할 수가 없겠군. 2^31 1024 * 1024 * 1024 * 2 니까 약 10억. 즉, 자리수 표현도 10억 이후부터는 precision 유효숫자를 다 쓸수 없을테니) 아.. 풀고나니 잘못생각했군. 흑; --석천
  • RandomFunction . . . . 10 matches
         랜덤함수의 사용법입니다.
          rand() % a + b의 형식을 사용하면 b ~ a+b 사이의 숫자를 얻을 수 있습니다. ( 1da + b 라고도 하지요. )
          b가 -일 경우에는 사용에 주의가 필요합니다
         #include <ctime> // time(0)의 사용을 위해 필요합니다.
          int x = rand(); // rand()함수는 랜덤한 숫자를 리턴하는 함수입니다.
          // 리턴하는 숫자의 범위는 0 ~ 무지무지 큰 수 입니다.
          // 0 ~ 9 까지의 숫자가 랜덤하게 들어갑니다.
          int x2 = rand() % 9 + 1; // % 9를 하면 0~8까지의 숫자가 들어갈 수 있고
          // 거기에 1을 더하면 1~9 까지의 숫자가 됩니다.
  • RandomWalk/영동 . . . . 10 matches
          //숫자 입력받고 동적할당
          cout<<"숫자를 입력하시오: "<<endl;
          continue;
          continue;
          continue;
          continue;
          continue;
          continue;
          continue;
          continue;
  • RegularExpression/2011년스터디 . . . . 10 matches
         html을 띄워놓고 익스플로러 or 크롬의 개발자 도구에서 javascript 콘솔모드로 "장".matches("\Regex\"); 하면 나온답니다용.
         === 법은? ===
         . == 자(모든 것) 하나
         * == 앞의 자(명령)를 0개 이상 연속으로 찾을 때.
          e.g. '''.*''' 로 하면 여러 자(모든 것)을 0개 이상 받아옵니다.
         + == 앞의 자(명령)를 1개 이상 연속으로 찾을 때.
         []대괄호. == 찾을 자들을 넣으면 됨. a-zA-Z 라던지, 0-9라던지.
         === 제1 ===
         === 제2 ===
         === 제 3 ===
  • SoftwareEngineeringClass . . . . 10 matches
          * 컴퓨터 공학과 전공 수업을 통틀어 다섯 손가락 안에 꼽을 수 있을 정도로 중요한 역할을 하는 과목이다. 그러나 중앙대학교 컴퓨터 공학과에서 이 과목의 위상은 그다지 크지 않은 듯 하다. 내가 생각하는 첫번째 제는 교재에 있다. 두번째는 비현실적인 실습내용이다. 구체적이고 실용적인 실습이 필요하다. 세번째는 학생들의 인식부족이다. 소프트웨어 공학 수업이 자신의 프로그래밍 커리어에 얼마나 많은 실질적 효용을 줄 수 있는지 전혀 깨닫지 못한다. 물론 이것은 대부분 수업 자체의 제에서 연유한다.
         ["fnwinter"]: 수업이 잼있다는 것은 동감...수업 내용이 너무 방대하는 것도 동감..또한...수업이 실제적이지 못하다는 것도 동감...수업에서 너무 많은 내용을 다루어서 그런가 싶다..결론...수업을..듣고..얻은.것이..무엇인가..라는 의점이 남는다.
          * 막무가내식의 coding에 관한 것이 아닌 직접적인 돈과의 연관성에 대해 알아가는 학 같다는 느낌. 제한된 기간안의 적절한 cost를 통해 project를 완성(?) 하는 것. 아.. 정말 학기 중기 까지는 재미있었는데. 알바로 인한 피로누적이 수업을 듣지 못하게한 T-T 아쉬움이 너무 많이 남는다. 한번더 들을까..? 원래 이런건 한번더 듣는거 아닌가? ^^a 하하.. 상민이형 필기 빌려줘요. ^^;; -- 영현
          ''수업을 청강 할 정도로 내용이 있지는 않아. 그 이유는 딱 한 번만 이경환 교수님 수업을 들어 보면 알게돼. 차라리 관련된 책을 몇 권 보는 게 더 낳을 듯 해. 여튼 개인적으로는 여차여차해서 재수강으로 인해 이번 학기까지 2번째 듣고 있지만 수업 내용 보다는 우리과 수업중 가장 규모가 큰 (기간이나 팀인원수나) 팀 프로젝트를 해 보는 게 이 수업에서 가장 크게 배울 점이라고 생각해. 많은 팀원과 개발 계획부터 시작해서 최종 테스트까지의 일련의 프로젝트 개발 과정을 해 본다는게 확실히 도움이 되지. 그리고 배 보다 배꼽이 더 큰 서가 좀 성질 나기는 하지만 경험상 해보는 것도 괜찮은 듯 해. --재동''
          ''DeleteMe) ㅡ.ㅡ;; 이거 끝나면 대략 서만 500~700페이지라던데;; 맞냥;; -- [eternalbleu]''
          * 저희 반 같은 경우에는 현재 컨설팅을 하고 있는 박사과정 선배님이 수업을 맡고 있죠. 가끔가다가 자신이 컨설팅 하는 경험담을 들을 수 있어서 좋다고 생각합니다. 교수님반보다 프로젝트 실습 과정에서 피드백도 더 많은 편이고요. 사실 개인적으로는 소프트웨어 공학에서 요구하는 내용을 경험한 사람이 많지 않기 때에, 더 자주 피드백이 필요하다고 느끼지만요.
         시간이 나면 ExtremeProgramming에 대해서도 이야기를 하신다는데, 어떤 이야기가 나올지 궁금하네요. [SPICE] 레벨4는 되어야 사용할 수 있다는 말엔 조금 당황스러웠어요. --[Leonardong]
         ''SE는 서''란 말을 실감했습니다. 수업에서 요구하는 바는 모든 작업을 하기 전에는 계획서를 작성하고, 계획서에 근거해서 작업을 수행한 뒤, 보고서를 작성하는 것으로 보입니다. 처음 만드는 계획서라 시간이 오래 걸렸겠지만, 다시 계획을 세울 때에 재활용 할 수 있을 것 같습니다. 계획된 프로젝트 진행을 연습해보는 좋은 시간이었던 것 같습니다.
         하지만 역할별, 작업별로 만드는 계획서와 보고서에 쏟는 시간이 너무 많다는 생각은 저 뿐만이 아닐 것입니다. 심사시에는 계획서에서 언급하지 않은 활동을 실행했다고 딴지를 걸 정도로, 계획서대로 실행된 내용을 변경없이 실행하는 것이 프로젝트의 반복가능성을 평가하는 기준인것 같습니다. 설계와 구현 사이에서 계획대로 실행 안되는 부분을 극단적으로 느꼈는데, 예를 들어 클래스 다이어그램과 시퀀스 다이어그램이 [Refactoring]과 같은 코드 재구성 작업을 할 때마다 바뀌어야 했습니다. 다이어그램이 코드로 매칭되지 않기 때에 코드를 바꿈은 물론 다이어그램을 바꾸는 이중의 수고를 겪어야 했습니다. :( --[Leonardong]
  • SwitchAndCaseAsBadSmell . . . . 10 matches
         ["가위바위보"] 구현 코드들을 보면 케이스 을 많이 쓰거나 혹은 비슷한 구조의 if 이 중복된 경우가 많습니다.
         케이스이 줄줄이 나오는 것이나 비슷한 구조가 반복되는 것이나 모두 "나쁜 냄새"(Moa:BadSmell )입니다. 조금이라도 나쁜 냄새가 나면 바로바로 냄새 제거를 해야 합니다. 예컨대, 반복되는 케이스은 테이블 프로그래밍(Table/Data Driven Programming)으로 해결할 수 있습니다.
         그리고, 사고의 도구들을 적극적으로 활용하기 바랍니다. 스테이트 다이어그램이나, 심지어는 x,y 좌표계를 사용하는 것, 혹은 서브루틴을 통해 제를 소제(subproblem)로 나누는 것도 아주 훌륭한 사고의 도구가 됩니다 -- 제의 복잡도를 낮춰주기 때이죠.
         예컨대, 다음과 같은 소제가 있겠죠:
  • Ubiquitous . . . . 10 matches
          최상의 도구란 사용자로 하여금 그 도구를 이용하고 있음을 자각하지 못하고 수행하고 있는 일에만 집중하게 하여 업무의 효율성을 높이게 하는 것’이라고 생각했다. 즉, 기존의 정보 기술이 업무를 보조하는 보조적 수단이 아닌 그 자체가 중심이 되어 버린 것을 비판하며, 인간 중심의 컴퓨팅 기술 즉, 사용하기 쉬운 컴퓨터 개념으로써의 유비쿼터스 컴퓨팅 비전이 제시되었다
          이런 컴퓨터들은 사용자의 눈에 띄지 않는다.
          인터넷이나 가상 현실 같은 가상 공간이 아닌 실제 세계의 어디서나 사용할 수 있다
          인간화된 인터페이스(Calm Technology)를 제공해 사용자 상황(장소, ID, 장치, 시간, 온도, 명암, 날씨 등)에 따라 서비스가 변한다.
          사용자가 네트워크나 컴퓨터를 의식하지 않고 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 정보통신 환경.
          물이나 공기처럼 시공을 초월해 '언제 어디에나 존재한다'는 뜻의 라틴어(語)로, 사용자가 컴퓨터나 네트워크를 의식하지 않고 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 환경을 말한다. 1988년 미국의 사무용 복사기 제조회사인 제록스의 와이저(Mark Weiser)가 '유비쿼터스 컴퓨팅'이라는 용어를 사용하면서 처음으로 등장하였다.
          유비쿼터스화가 이루어지면 가정·자동차는 물론, 심지어 산 꼭대기에서도 정보기술을 활용할 수 있고, 네트워크에 연결되는 컴퓨터 사용자의 수도 늘어나 정보기술산업의 규모와 범위도 그만큼 커지게 된다. 그러나 유비쿼터스 네트워크가 이루어지기 위해서는 광대역통신과 컨버전스 기술의 일반화, 정보기술 기기의 저가격화 등 정보기술의 고도화가 전제되어야 한다. 이러한 제약들로 인해 2003년 현재 일반화되어 있지는 않지만, 휴대성과 편의성뿐 아니라 시간과 장소에 구애받지 않고도 네트워크에 접속할 수 있는 장점들 때에 세계적인 개발 경쟁이 일고 있다.
  • WebGL . . . . 10 matches
         OpenGL에서 정말 실무에서 쓰는 부분만 따로 떼어낸 OpenGL ES(Embeded System)의 Javascript 구현체이며 [HTML5] [Canvas]를 통해 나타난다. 따라서 초보자가 쉽게 배우는데에 초점이 맞추어져 있지 않고 오직 전가가 구현을 하는데에 초점이 맞추어져 있다.
         위의 코드를 보면 [쉐이더] 프로그램에 fragmentShader와 vertexShader를 Link 시키는 구인데 주체인 shaderProgram은 첫번쨰 인자이고 gl은 그냥 접두어 처럼 보인다. 저 구만 그런것이 아니라 다른 모든 함수들이 저 gl 객체에 붙어있다. 하지만 정작 gl이 주체가 아닌 것들이 많다. 따라서 래핑한 객체를 만들어 쓰는 것이 속편한데 어설프게 했다가는 무척 꼬이게 된다.
          * 사각형그리기 및 다각형 그리기가 지원되지 않는다. 실제로 다각형 그리기는 연습시에만 자주 쓰고 실제 코드에서는 삼각형으로 이루어진 모델을 가져다 쓰기 때인 것으로 보인다. 그리고 다각형은 삼각형의 집합으로 표현할수 있다.
          * 유틸라이브러리로 제공되는 큐브, 구, 실린더, 티포트가 모두 지원되지 않는다. 역시 예제에만 쓰이고 쓰지 않기 때에 과감히 제거한것으로 보인다.
         Attribute는 각 포인트 별로 전달되는 정보이고 uniform 은 전체에서 공통적인 정보이다. 일반적으로 Attribute는 각 정점의 위치 정보와 각 지점의 법선 벡터 정보를을 전달한다. uniform은 일반적으로 카메라의 위치나 환경광의 위치처럼 전체적인 것을 전달한다. Attribute나 uniform은 일종의 변수인데 핸들을 얻어와서 그것을 통해 값을 전달할수 있다. 즉 Atrribute나 Uniform은 Javascript측에서 쉐이더로 정보를 보내는 것이다. varying은 쉐이더 간의 정보 전달에 사용된다. vertex shader에서 fragment shader로 값이 전달되며 반대는 불가능하다(파이프라인 구조상 당연한 것이다). 이때 vertex shader는 각 정점(꼭지점) fragment shader는 각 픽셀에 한번 호출되게 되는데 각 정점 사이의 값들은 [보간법]을 거쳐 전달되게 된다(그라디언트 같은 느낌이다 중간값을 알아서 만들어 준다).
         쉐이더는 쉐이더 언어로 따로 짜주고 컴파일 해야하며 심지어 링크까지 시켜주어야 한다. GPU의 강력한 [행렬]연산 능력을 가져다 쓰기 위해서인것으로 보이는데 이것을 사용하지 않고서는 예제파일도 돌려볼수가 없다. 다행이 언어는 C언어와 매우 유사하고 행렬연산이 모두 있기 때에 딱히 어렵거나 하진 않다. 다만 어느부분에서 어디와 연결되는지 이해하는데 시간이 걸린다.
         각 정점 사이에 있는 픽셀 마다 호출된다. 주로 광원효과를 적용한 픽셀의 최종적인 색깔이나 텍스쳐 연산에 사용된다. varying변수를 vertex shader에서 fragment shader로 넘겨주면 각 정점 사이에는 보간법으로 변환된 값이 넘어 온다.
         현재 객체 래핑중 중대한 제에 봉착. 대부분의 모듈과 세이더 코드는 [콜백]으로 호출되는데 이것을 적절히 래핑할 방법이 없다. webGL과는 하등 연관이 없는 부분이라서 각자 알아서 구현하도록 해도 되지만 대부분의 경우 같은 코드를 다스 짜고 있는 나를 보게 된다. 이것을 어떻게 해야 잘한 래핑이라 할수 있을까?
  • WeightsAndMeasures . . . . 10 matches
         [http://online-judge.uva.es/p/v101/10154.html 원보기]
         === 이 제는 ===
         맥(Mack)이라는 이름의 거북이가 여틀(Yertle)왕의 거북이 왕좌(王座)을 만들기 위한 거북이를 쌓는 방법을 의해왔다. 혹시 자기 등껍질이 깨질까 봐 겁이 났기 때이다. 여틀 왕의 왕좌을 만들기 위해 동원된 5,607마리의 거북이는 체중과 체력이 모두 다르다. 가능한 가장 많은 거북이를 쌓는 방법을 찾아보자.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || 보창 || C++ || . || [WeightsAndMeasures/보창] ||
          테스트 케이스가 필요하다면 꽁수가 있기는 하다. Java로 standard input으로 읽는 라인을 합쳐다가 모조리 특정 URL에 포스트 하도록 하는 코드를 만들어 업로드 한다. 그러면 심사때 사용하는 테스트 케이스를 알 수 있다. --JuNe
          나와 있는대로 적은 것이지. 원보고 해 -- 재선
         [제분류]
  • [Lovely]boy^_^/EnglishGrammer/PresentAndPast . . . . 10 matches
          C. We use do/does to make questions and negative sentences.( 의이나 부정 만들떄 do/does를 쓴다 )
          D. We use the simple present when we say how often we do things ( 빈도를 나타내는 장을 만들때는 단순 현재를 쓴다. )
          C. In questions and negatives we use did/didn't + base form(의이나 부정 만들때는 did/didn't + 원형이랩니다.)
          Note that we do not use did in negatives and questions with was/were.(부정이랑 의에선 did를 be동사와 같이 안쓴답니다.)
  • iruril/도자기토론 . . . . 10 matches
          * 도자기화가 대중화될수 있는지
         그럼 생활속에서 이런거 말고 그냥 화적인 것으로 생각하는거야?
         도자기 화에 대한 현주소와 사람들의 인식 그리고 앞으로 해야할 일 머 이런거 정도해야대나..
         앞으로 도예화가 더 발전하고 보편화 됬으면 좋겠다 라고 끝내도 되지않을가..
         제점을 말하고
         사람들의 화인식이 현대에 들어오면서 많이 바뀌고 있다.
         예전에 먹고살기 힘들때 보다는 여유가 생기면서 화적인 생활에도 관심을 가지게 되었다.
         화생활에 있어서 소유하지 않더라도 즐기는 것 만으로도 가치가 있을 수 있다.
         - 그냥 보고 즐기는 것도 화가 될수 있으니까
         --사람들이 그래도 옛날보다 풍요로워지고 정보같은 걸 쉽게 접할 수 있게 되어서 화의식이 점점 높아지고 있다
  • 고한종 . . . . 10 matches
         >Mongo, Redis 사용 경험 있습니다.
          * JAVA의 Swing으로 만든 시간표 대신 만들어주는 프로그램 (...) 사실 만들어 놓고 안쓴다. 2학년 말에 만들어 놓고 이번 학기(2013년 1학기)에 본인조차 안 쓴걸 보면 기획부터가 잘못된 물건. 일단 소개를 하자면, 수강신청 기간이 되면 포탈에 그 학기에 개강될 과목들을 정리해서 xls 파일로 올려줍니다. 이걸 받아서, poi 라는 JAVA 라이브러리? 에 넣고 돌리면 "[cell값]" 형식으로 String이 나옵니다. 그럼 이걸 stringTokenizer에 ]와 [를 토큰으로 해서 잘게 쪼개줍니다. (애초에 그런거 없이 CSV로 나오면 최고겠지만.. 할줄 모름 ㅠ). 사실 그냥 엑셀에서 CSV로 만들어 쓰면 되는 데, 그때 당시엔 사용 편의성을 도모한답시고 뻘짓 함. 어짜피 아무도 안 쓸텐데 ㅠㅠ 그렇게 얻어낸 과목의 시간정보를 ArrayList에 넣고, 그걸 가지고 backtraking인지.. 를 했던것 같음. 결국 속도는 처참했지만 -_-... 모든 결과가 나오는 것도 아님. 마지막으로 코드를 수정하고나서 테스트로 돌렸을때, 내가 실제로 수강신청했던 시간표는 나오지 않았음 ㅇㅈㄴ... - [고한종], 13년 3월 16일
          * 근데 이거 덕분에 JAVA로 작업할때는 모든 것을 얕은 복사라고 생각해야 한다는 것을 발견함. 아니 ArrayList에서 빼고 싶어서 빼버리라고 하면, 다른 ArrayList에서도 빠져버리는 건데?! (Objective-C 처럼 말하자면, release를 원했는데 dealloc이 되어버림.) 결국 그냥 모든 대입에 .clone을 붙였더니 메모리 폭발, 속도 안습. - [고한종], 13년 3월 16일
          * 여태까지 만들었던 것중에 가장 잘나간 것. 하지만 속 알멩이는 여태까지 만든 것 중 가장 쓰레기. 이걸 OOP개념이라던가, 좋은 유지보수가 가능하게 코딩하려면, 프로젝트를 버리고 다시 시작해야 할듯. 소개하자면 이걸 공개한게 13년 1월 8일인가 하는데, 12년 12월 20일에 확산성 밀리언 아서라고 일본 ~~T~~CG(트레이드가 없어....) 게임이 들어왔다. 애니팡으로 한국 모바일 게임시장이 열린 상황 (그 전에는 미친 법 때에 스토어에 게임 카테고리가 없었지....), 퍼즐류는 애니팡이 먹고, 슈팅게임은 드래곤플라이트, 레이싱(?)은 다함께차차차, 캐쥬얼은 윈드러너가 먹은 상황에, ~~T~~CG라는 새로운 장르가 수입이 되니.. 그야말로 공급이 없어서 단숨에 유저 확보. 지금 대략 생성된 계정은 못해도 80만개를 넘었다고 한다. 게임소개는 여기까지하고, 이 게임이 1기긱 1계정으로 기기종속 게임인데, 온라인 게임인데 부캐를 돌리고 싶은것은 어찌보면 당연!. 사람들이 로그아웃 하는 방법을 찾아놓은게 있다. 근데 겁나 불편하다 (...) 그래서 그걸 안드로이드 어플로 자동화시켜서 터치한번이면 되도록 만들었다. 그리고 공개 -> 2달이 지난 지금 1만 5천명이 내 블로그를 들렸다 나갔다. 아마 못 해도 1만은 다운로드 까진 해보지 않았을까 싶다. - [고한종], 13년 3월 16일
          * 나름 사용하기 쉽게 만든다고 만들었는데, 초기 셋팅에서 이상한짓해서 망치는사람이 은근 많다. 이거 만들고나서 컴퓨터 못하는사람들이 다 멍청이로 보인다 어뜩함 -_-;;; - [고한종], 13년 3월 16일
          * 원본 프로그램은 ActiveX로 만들어져있었다. 게다가 스레드 돌리기 싫어서 DoEvent 기법을 썼다(...) 이걸 나는 iOS로 포팅 하는데 성공했다. ActiveX도 결국 MFC이기 때에 별로 안 어려워 보일 수 있으나... 모든 사용자 정의 함수는 void형에, 모든 멤버변수는 public이어서 어디서 초기화하는지 일일히 찾아서 작업해야 했다. 미치는줄 알았음. 심지어 한 함수안에서 딱한번 쓰는 변수도 클래스 멤버변수로 선언되어 있기도 했음.. 그냥 지역변수를 쓰지!? - [고한종], 13년 3월 16일
          * 지하철에서 코딩하면 옆의 아저씨가 흘끗 보시고는 ''학생, 그건 토익제야???'' 라고 질하십니다.(실제 경험담) - [김수경]
          * 토익 800이상이라면 종하형 이랑 겹치기 때이지.... - [고한종]
  • 데블스캠프2003/ToyProblems/Random . . . . 10 matches
         랜덤함수의 사용법입니다.
         #include <ctime> // time(0)의 사용을 위해 필요합니다.
          int x = rand(); // rand()함수는 랜덤한 숫자를 리턴하는 함수입니다.
          // 리턴하는 숫자의 범위는 0 ~ 무지무지 큰 수 입니다.
          // 0 ~ 9 까지의 숫자가 랜덤하게 들어갑니다.
          int x2 = rand() % 9 + 1; // % 9를 하면 0~8까지의 숫자가 들어갈 수 있고
          // 거기에 1을 더하면 1~9 까지의 숫자가 됩니다.
          rand() % a + b의 형식을 사용하면 b ~ a+b 사이의 숫자를 얻을 수 있습니다. ( 1da + b 라고도 하지요. )
          b가 -일 경우에는 사용에 주의가 필요합니다..그럼=ㅂ=;; [이진훈]
  • 데블스캠프2005/화요일후기 . . . . 10 matches
         황재선, 보창, 윤성만, 이도현, [상협],[김정현], 김상섭, 이동현, 오승혁, 안성진,
         좋았던 점은 파이선이라는 새로운 프로그램과 하노이라는 간단하면서 어려운 제를 해결해 나가는데에서 더욱더 나 자신을 발전시킬수 있었다. 그리고 선배님과 많은 상의를 해보면서 선배도 우리를 잘 가르쳐주시고 우리는 선배님의 지식을 습득해 가면서 정말 좋은 시간이 되었다. 밤을 새가면서 공부를 한다는 것은 그것만으로도 아주 커다란 성취감을 갖게 한다. 나쁜점은 아무래도 밤이라서 잠과의 싸움이 가장 큰 제이다. 밤이라서 집중이 잘 안되는 건 어쩔수 없다. 밤을 새가면서 공부를 한다는건 참으로 어려운 일이다.
         [박경태] - 데블스캠프 2일째, 첫날보다 더 적응도 많이 되고, 뼈저리게 느낀 것도 많았다. 여러 제들을 설계하고 코딩하면서, 특히 설계를 해내는 과정이 나에겐 너무나 힘들었다. 여태껏 오늘처럼 이렇게 많이 생각해 본 적이 없었던 것 같다. 그리고 나의 한계(?)라고 할까? 그것을 너무 뼈저리게 느낀 것 같았다. 내가 지금까지 해온 것은 데블스 기간에 하는 것에 비하면 아무것도 아니라는 것을... 그래도 한 편으로는 데블스를 통해서라도 이렇게 배우고 깨닫는 것이 나에게 소중한 경험이 된다는 것을 생각하니 참가하고 있는 나 자신이 자랑스럽기도 했다. 남은 데블스 기간에도 열심히 참여하고 나 자신을 더 발전 시킬수 있는 기간으로 만들어야 겠다.-_-v
         [김범준] - 사실: 자료구조(하노이탑, 미로찾기), 파이썬(구구단, 마름모, 피보나치, 회, 지뢰찾기) / 느낌: 힘들다, 재미있다, 피곤하다. / 교훈: 프로그래밍은 설계가 중요하다.
         [남도연]:오늘 크게 2가지를 배우게 되었다. 하나는 알고리즘과 자료구조에 관한 내용이었고 하나는 파이선에 대해 배운 것이었다. 알고리즘과 자료구조는 평소 우리가 수업시간에 들었던 내용이기는 하였지만, 막상 코드로 직접 적용하려니 잘 풀리지 않았다. C코딩을 할때 중요한 것이 알고리즘이라는 것을 또 한번 느끼게 되었다. 아무 생각 없이 코딩을 무작정 하려고 하다가는 크게 낭패를 본다는것을 배웠기 때이다. 알고리즘은 하나의 계획표라고 볼 수 있다. 하나의 프로그램을 짜기 위한 계획표. 파이선은 C언어와는 사뭇 다른 언어였다. C언어 보다 편리한면이 많아 보이기는 했지만, C언어보다 못한 점도 간혹 보였다. 아직 미숙하기 때에 딱히 무엇이라 말할 수는 없지만.. ㅋ 오늘 새로운 언어도 배우고 알고리즘의 중요성도 다시금 느끼게 되어 날 샌것이 아깝지 않았지만, 내준 과제 모두를 다 해결 하지 못한 것이 아쉬움이 남는다. 다 해결했으면 더 뿌듯 했을텐데 .. ㅋ
         파이썬이라는 것을 어떻게 사용하는지 그리고 언어?를 조금이라도 더 많이 배웠고..
         [이동현] : 파이선배운것에서, 파이선이 매우 편리한 언어라는걸 느꼈다. 느낌은 그 편리한 파이선을 배우면서도 계속 C법과 연관지어서 생각하게 되는걸 보니 너무나 내 자신이 C에 길들여져 있다는걸 느꼈다.
          준비된 제들이 비교적 빨리 끝난 점.
  • 데블스캠프2006/월요일후기 . . . . 10 matches
         그런데 자칫 너무 쉬운 제들도 혼자서 고민하기 보다는 선배에게 물어봐 해결하려는 경향이 생기는 거 같습니다.
          제에 대해서는 높은 난이도를 하여(박재화 교수님 C프로젝트 수준(?)) 모두 오래 걸리게 하여 고렙벨업(?)을 노리는것이 좋다고 생각합니다.
          마지막에 상협선배가 올려주신 제에 대해서는 말이 많았지만 사실 가장 좋은 수준이었던것같습니다.
          이런제를 진행하면서 선배님들에게 물어보고 자기 자신이 생각해서 제를 해결하는게 주가 되었으면 합니다.
         '''이차형''' : 평상시에도 이렇게 공부한적이 없는거 같다.. 과제나 벼락치기를 제외하고 해뜨는거 보면서 공부한적은.. 흠.. 첫날이라 많이 피곤하기도 하지만! 힘내서 마지막날까지~! 홧팅!! ㅋㅋ
         대신 제가 쫌 어려웠지만;;;;
         사실 한두제는 못했는데 넘어갔어요~
         남상협 : 피곤하다. -_-;; 그래도 보람찬 하루.. 이렇게 한꺼번에 여러가지를 해줄 기회가 드듯.. 맨날 제로페이지 못 나오다가 이제야 좀 뭔가 한 듯한 느낌. 다들 마지막 날까지 힘내서 많은것을 얻어가길 바래~
         송수생 : 제가 쉽다고 생각해서 몇가지 냈는대 다들 힘들었죠?ㅋㅋ
  • 데블스캠프2009/화요일후기 . . . . 10 matches
          * [송지원] - 디폴트 코드와 거의 비슷하게 짰던 환이가 의외로 좋은 성적을 거두어서 뿌듯했지만 페어 프로그래밍에선 전혀 도움이 안됐던게 미안했다. 넷북에서 로보코드가 라이브러리 제로 컴파일 에러가 나는건 기분이 나빴다.
          * '''서민관''' - 역시 어려운 느낌이 조금 있었습니다. 기초부터 조금씩 했더라면 조금 더 이해가 쉬웠을텐데. 그래도 사실 정해진 시간 안에 설명도 해야 하고 듣는 대상이 다수였던 만큼 어쩔 수 없는 부분이었다고 생각합니다. 그리고 아쉬웠던 부분은 시간적인 제로 실습 하나를 빼먹었던 점. 그래도 제가 알기로는 학교에서 API를 따로 가르쳐주지 않는 걸로 아는데, 그런 걸 보면 상당히 의미있던 수업이라고 생각합니다.
          * '''서민관''' - 개인적으로 이번 화요일 수업에서 가장 마음에 드는 수업이었습니다. 이런 식으로 시간의 흐름에 따라서 추상화 개념이 발전하는 모습을 보고 있으니 참 대단하다는 생각이 들었습니다. 그리고 반복을 줄이기 위한 방법들(ex - 반복, 자료형, class) 각각이 무엇을 위해서 만들어졌는지를 알아보는 것으로 평소에 아무 생각 없이 썼던 것을 다시 한 번 생각해 보는 기회가 되었습니다. 그리고 수업을 듣고 나니 추상화를 통해서 긴 프로그램 코드를 각각의 함수로 쪼개는 방법이 왜 중요한지도 조금 더 잘 알겠네요.
          * [김준석] - 같은 것을 반복하기 위해 우리는 자주 copy &paste를 사용한다. 단순히 키보드 두번만 누르면 똑같은 것이 한번더 만들어지는 좋은 단축키 이다. 하지만 사실 이 반복되는것을 우리는 단순히 단축키를 누름으로서 만들어지는것은 과거의 저급언어를 사용할때나 만들어지는 반복의 숙달이다. 평소 자주 알고리즘을 연구하자는 말을 들을것이다. 제를 푸는것 만에는 사실 극히 특별한 알고리즘이 필요없다고 생각한다. 살면서 어떻게든 간단반복으로 대부분은 풀수 있을테니까. 알고리즘을 연구하는것은 우리가 사용하는 컴퓨터의 부담을 줄이기 위해 만들며 이는 단순 반복되는 계산과정을 줄여줘 자원의 낭비를 줄여준다. 이렇듯 컴퓨터의 반복은 줄이면서 직접 키보드를 치며 반복하고있는 나의 자원소비량은 어떤가? 나는 왜 반복을 하고 있는가? 이 긴 코드를 줄일수 있는 방법은 정녕 없는것인가?라는 컴퓨터 알고리즘을 생각하듯 나를 위한 알고리즘을 생각을 해보았나? 대부분의 서를 한장으로 줄여서 요약할수 있다는것을 가르쳐주는 One Page Proposal이라는 책에서는 "온갖 미사여구를 넣어 50page나 100page가 넘어가는 서는 서를 받은 사람의 책상에서 쌓이고 쌓여 결국에는 보여지지도 못하고 세절기에 들어가 버린다. 정말 자신이 있다면 알짜배기만 모아서 1Page로 보기 좋게 만들어라." 맞는 말이다. 아무리 길게 만든 프로그램이라도 20줄도 안되는 프로그램과 성능이 똑같다면 당연히 보기도 좋고 관리하기도 좋은 20줄 프로그램을 쓰겠지.이 20줄 프로그램을 쉽게 만들기위해 사람은 자신이 편리하게 개발과 연구를 했다. 그렇게 편리하도록 발달하는 과정. 그 생각을 잘보여준 세미나였다고 생각한다. 과연 네이버에서 자동완성됬던 Kesarr.
  • 새싹교실/2011/Pixar/3월 . . . . 10 matches
          * 모든 장의 끝에는 ; 를 써주세요.
          * 그리고 모든 장의 끝에 ; 를 쓰라고 했는데 ; 도 쓰지 않았어요.
          * 3+4는 7이 맞기 때에 아무 일도 생기지 않습니다. 그런데
          * 이렇게 하면 컴퓨터에게 ''3+4는 8이라고!!!'' 주장하는 것과 같습니다. 만약 누가 갑자기 저런 말을 한다면 아주 어처구니가 없겠죠? 컴퓨터도 저런 주장은 어이없게 생각하기때에 말도 안 되는 주장을 할 경우 에러를 발생시킵니다.
          * 오리엔테이션을 제외하고 첫 모임이었습니다.
          * 1주차에는 수업시간에 했던 간단한 Hello World랑 간단한 연산과 assert함수에대해서 배우고 응용해 보았다. 수업시간에했던 C공부에 생겼던 의들을 자세하게 다 알 수 있어서 좋았다. C가 한참막막해보였는데 새싹교실 첫시간에 희망이생겼다. 다음시간에도 많이 배우고 갔으면 좋겠다. - [김연석]
          * 위키 사용하기
          * 두번째로 c프로그래밍을 배웠습니다! 피드백을 좀 늦게쓰게됬습니다. 저번시간에는 전처리기에 대해서 배웠습니다 컴파일 전에 읽어주기 때에 전처리기라고 합니다. 우리가 써본건 #include 와 #define 입니다 그리고 변수이름으로 사용할 수 있는것들을 배웠습니다. 학교 수업이 너무 어려워서.. 열심히 하려고합니다!!.. -이승열-
          * 아이스브레이킹을 제가 참여하며 진행하다보니 시간 제한을 못 해서 너무 많은 시간을 썼습니다. 다음부터는 시간을 많이 쓰지 않는 아이스 브레이킹을 해야겠어요. 5피에서 진행했는데 컴퓨터가 너무 안 좋아 제네요. 다음번엔 다른 곳에서 진행하겠습니다. - [김수경]
  • 위키설명회2005 . . . . 10 matches
         제로페이지의 활동에 큰 축이 되지만 첫 진입에 어려움을 겪는 위키를 설명하고 사용해보며 자연스러운 진입을 유도하는 자리.
          신입생한명이 한개의 피씨를 사용한다.
          [노스모크] 를 이용하는 이유는 ZP위키는 프로젝트 중심이기 때에 흥미로운 페이지가 적고, [좋은위키페이지] 에대한 분별력이 떨어질 것이라는우려.
         위키는 누구나 관련한 내용을 계속 수정해 나가고 필요한 내용은 덧붙여 놓기 때에 본 글이 점점 다듬어져 나갑니다.텍스트가 진화한다고 말하기도 합니다.
         예전에 워드프로세서 자격증 실기시험 연습에서 만들었던 공서와 구조나 주제 넘기는 방법들이 비슷하네요. 그땐 그게 아무짝에도 쓸모 없을줄 알았는데. 어쩐지 무의식중에 나오게 되는군요. - [이승한]
         Wiki는 ZeroPage 모든 활동에 사용되어 Wiki없는 ZeroPage는
         뿐만 아니라 Wiki에 담겨있는 철학과 사용법을 알게 되신다면
          * 그리고 질인데요, 왜 == == 이렇게 했는데도 title이 안 만들어지는거죠? -[윤성만]
          * 백이 불어일견. 필요할때는 브라우저를 켜서 직접 확인 시켜 주는것도 좋은 방법이라고 생각합니다. - [이승한]
  • 유혹하는글쓰기 . . . . 10 matches
         ''글을 쓸 때는 을 닫을 것, 글을 쓸 때는 을 열어둘 것''
         ''글이 생명을 갖기 시작하는 순간이 있다면 단''
         ''건축 재료는 여러분의 어휘력, 그리고 기본적인 체와 법에 대한 지식...한 층 한 층 가지런히 쌓아올리고 짝도 고르게 대패질하기만 하면 무엇이든 건설할 수 있다.''
         ''그렇다면 작품을 끝낸 뒤에는...왜 그런 수고를 감수했는지 자해보는 것이 자신과 작품에 대한 예의''
         학교에서 글쓰기 강의를 들은지 2년여 만에 흥미로운 글쓰기 강좌를 들은 셈이다. 소설가 입담이 어디 갈까 싶게 어릴 적 이야기부터 시작해서 글쓰기로 입해 가는 과정을 거쳐 자연스럽게 창작론으로 넘어간다. 그렇다고 창작론 역시 따분한 이론이 아닌 덕분에 끝까지 빠져들 수 있었다.
         프로그래밍에 적용시켜도 좋은 교훈도 얻을 수 있었다. 워낙 글쓰기와 프로그래밍이 비슷하기 때이리라. 나에게는 까다로운 작업을 하다가 포기한 경험이 있기에 작가의 말이 쓰디 쓴 약이 될 것 같다. 슬쩍 피해갈 수 없다. 지름길도 없다.
          * 책 제목때에 오해를 많이 받았다. -_-;
  • 이성의기능 . . . . 10 matches
          * 여기서 인상적인 부분의 내용은 이거다. 이성의 기능은 자신의 환경을 바꾸어가는 기능이라는 말이 너무 큰 깨닳음을 주었다. 주변을 보면 사람만큼 이렇게 환경을 바꾸는 생명체는 없다. 사람은 정말 엄청나게 환경을 바꿨다. 물론 사람들중에서 어려운 환경이 주어지면(일종의 도전) 수동적으로 그 환경에 순응하거나 멸종하는 경우도 있다. 이러한 경우에는 아무런 발전도 기대하기 어렵다. 반면 그 어려운 도전에 맞받아서 환경을 인간에게 유리하게 변형하여 큰 진보를 이루는 경우도 있다. 환경이라는 것이 얼마나 강력하게 인간에게 영향을 끼치는지는 우리 주변에서 여러 사례를 보면 쉽게 알 수 있다. 특히 인간이 만드는 화, 조직, 인간관계 등등의 환경은 그 영향이 개인에게 끼치는 정도가 엄청나다. 이러한 환경의 영향에서 독립적이기는 상당히 힘들고, 게다가 그 환경을 바꾸는 것은 더더욱 힘들다. 하지만 인간은 이성을 가지고 있기에 자신의 환경을 계속 바꾸어 나가면서 발전할 것이다. 다만 환경이 바뀌기 힘든만큼 그 근저에 깔려 있는 기본적 패러다임이 바뀔때에는 시간이 좀 걸릴것이다.
         책을 번역한 사람이 한동안 방송가를 떠들썩하게 한 '김용옥' 씨인데. 방송에서의 김용옥씨에 대한 느낌은 별로 안좋았었는데 최근 그 사람이 건드린 책을 보면서 김용옥씨에 대한 나의 시각을 다르게 한 책이기도 하다. 단순히 번역이 아닌 '역안'. 즉, 본래의 영어 원을 실은뒤, 그 밑에 번역을 놓고, 그 밑에는 책을 읽으면서 자기 나름대로의 해석을 실는 방식을 취하고 있다. (한편으로는 김용옥씨가 주장하는 '기철학'을 설명하기위해 화이트헤드의 글을 끌어왔다라는 생각도 들긴 했지만) 이로 인해서 이해가 더 잘 되었다는 점과, 한편으로는 번역자의 번역중의 생각을 앎으로서 번역자의 사상에 끌러가지 않고 거리감을 두면서 읽을 수 있게 하는 장치가 된다. (번역은 제 2의 창조라고 할때, 원에 번역자의 의도가 들어간다. 또한 언어가 다른 언어로 번역되면서 그에 따른 내용의 차이가 생길 수 있다고 할때 한편으로는 용기있는, 한편으로는 자신감 넘치는 방법이라 하겠다.)
          * 김용옥씨의 '도올논어' 라는 책은 뭐 유명해서 다들 알겠지만, '도올논어' 1권을 보면 논어를 들어가기 전 자신이 공자에 대해 알고 있는 바와 어느정도 자신의 생각으로 해석한바로 책의 절반을 잡고 간다. 순수하게 기존지식을 습득만 하는 것이 과연 학일까. 한번 딴지도 걸어보고 책의 저자와 싸우다가 자신의 시점을 교정하고, 또는 죽은 저자의 지식에 자신의 생각을 보태보기도 하고.. (거인 어깨위에서 탑쌓기..)
          * 방송에서의 쇼맨쉽을 발휘하면서 그게 좀 커져서 독단적인 모습으로 보여서 아쉬웠던 김용옥씨지만, 그의 책을 보면 그의 학하는 방식이 참 솔직해 보인다. 이것이 그의 진정한 모습이길.
         책을 읽을때마다 나에게 다른 질을 주곤 하는데 처음에는 '철학이란?' 정도의 질에서 다음번에 읽을땐 '공부란 무엇이며 어떻게 해야 하는 것인가?' 라는 질으로. 또 언젠가 읽었을때는 '끊임없이 더 많은 땅을 갈구하는 빠홈과 그를 파멸로 떨어뜨리는 악마의 모습' 을 보기도 하고. 지금은 저번 데블스 캠프 중의 OOP 세미나때 '자신의 발전을 위해, 순간순간 과정자체를 느끼고 이해해보기' 이후, '방법론' 에 대해 다시금 생각하게 해준다. 개발중 내가 진행하는 과정을 최적화 시키는 '방법론' 을 만들어내는 (또는 기존의 학을 도입하는) 것에 대해서.
          * 아래로부터의 이성의 진화라고 하는 것은 비교적 짧은 예견의 시간범위에서 아주 실용적으로 이루어진 것이다. 이성으로부터 도출되는 아주 원초적이고 깊숙이 자리잡는 만족감, 기억할 수 없는 태고의 유전에서부터 우러나오는 그런 만족감은, 현재의 실천을 규제하는 어떤 방법을 강조적으로 명료하게 함으로써 제공될 수 있다. 그러한 방법이 현실적으로 기능하면 이성은 만족된다. .. 사실은 인간의 호기심을 그 방법의 범위내로 제한시키려는 또 하나의 적극적인 관심이 있는 것이다. 그러한 관심이 패배당할때는 정서적으로 적개심이 일어나게 되는 것이다. 그러면 경험론은 사라진다. ... 한 방법론이 이미 낡아버렸다는 주요 증거는, 그 방법내에서 일어나는 진보가 더 이상 주요 잇슈들을 취급하지 못한다는 사실로 입증된다. 사소한 제들에 끊임없이 시비하고 있는 마지막 단계에 온 것이다. ... 그 방법의 범위내에서 성취할 수 있는 더 큰 대비들이 다 탐구되었고 또 친근하게 되어버렸다. 그리고 반복으로부터 생기는 만족감도 시들시들해져 버린다. 그러면 생명은 그 운명을 결정하는 마지막의 선택의 기로에 국면하게 되는 것이다.
  • 정규표현식/스터디/예제문제/이승한 . . . . 10 matches
         == 제 ==
         1. t로 시작해서 .txt 로 끝나는 자열
         4. 두번째 글자가 p가되는 1300번대 자열을 찾는다.
         == 제 풀이 ==
          * [김준석] - [정규표현식/스터디/예제제/이승한/1번제/김준석]
         1번
         2번
         3번
         4번
  • 정모/2011.7.18 . . . . 10 matches
          * 토요일에는 projecteuler.net에 올라온 피보나치 제를 풀어봄.
          * 지난주에 각자 자신이 골라온 제를 풀어옴.
          * ACM제를 풀면서, 코드짜면서 생각하는게 더 빠른거 같아~ 라는건 헛소리라는걸 깨달았습니다. 코드를 짜기에 앞서 여러번 생각해보고 많은 예외상황을 고려한 후에 확신이 들때서야 코딩하는게 서너번씩 새로 짜지않고 바로 좋은 코드를 짤 수 있는 방법인거 같았습니다. -[김태진]
          * '''제를 인식했을 때 일단 멈춰서 생각하는 게 중요하다''' 매번 브레이크를 거냐라고 생각이 들겠지만 제가 스스로 사라지는 일은 거의 없는데다 스스로 자라는 성질이 있어서.. 특히 팀플레이에서는 제인식을 공유하는게 중요하다고 생각해요!! 나중에 피바람이 붑니다. - [서지혜]
          * 교통 제 때에 가평/청평이 제일 유력함.
          * 처음 OMS를 보면서 우리집 컴퓨터도 이제 6년차에 돌입했는데.. 저렇게 써야하나 라는 생각이 들다가 그냥 이상태로 쓰지 뭐 이런 생각이 든 -_-;;; 암튼.. 저도 1학년땐 리눅스를 사용하는 모습만 보고 직접 써 보지는 못했었는데 사용하는 모습을 보니 대단하다는 생각이 드네요. 리빙포인트를 하면서 학원에서 들었던 이야기랑 삼수때 겪었던 이야기가 믹스되어 말하게 되었네요. 원래는 그냥 학원 이야기만 하려고 했는데 -ㅅ-a Joseph Yoder 와의 만남 후기를 들으면서 스티브 맥코넬씨가 쓴 Code Complete라는 책에서 이야기 하는 내용과도 많이 겹치는구나 라는 생각을 했습니다. - [권순의]
  • 제로Wiki . . . . 10 matches
          * 게이트웨이 서버에 추가 서버를 등록만 시키면 유기적으로 다른 서버들과 연결이 된다.(마치 하나의 컴퓨터 처럼 보인다), 각 개인 위키 혹은 카페 위키를 생성할때에 자신의 원하는 서버를 지정하면 그곳에 그 위키가 생성된다. 그 위키에 대한 페이지 데이터들은 모두 그 서버에 저장이 된다. 사용자의 입장에서 보았을때에는 하나의 웹사이트처럼 보인다.
          * 자신이 어떤 카페에서든지 새로 만든 페이지는 자신의 개인 위키에 그글이 자동으로 등록 된다. 그글에 대한 반응을 자신의 위키에서 볼 수 있고, 자신이 어떤 카페에 글을 썼는지 기억 못하는 제도 해결해 준다.
          * 예를 들어서 여러 명이서 특정 책을 중심으로 스터디를 진행할때 스터디 페이지를 각 개인 위키와 공유 페이지로 지정하여 사용할 수 있다.
          * 이메일 및 쪽지로 사용할수도 있음.
          * 동카페 : 동 카페라고 하면 각 학번별로 아주 많은 사람들이 글을 쓰게 된다. 자신이 모르는 학번 사람들이 태반일 것이다. 자신이 아는 학번도 있을테고. 그런데 이것을 자신과 상관 있는 학번만 분류어로 지정해 놓으면 나중에 바뀐글을 볼때 그 설정 분류어로 된 페이지들의 바뀐글만 보게 된다.
          * 같은 제로 위키 내의 다른 카페의 바뀐글도 오른쪽 같은 법으로 본다. (이런 식의 법으로[refer 카페url])
          * 서 수정 창에서 비공개 라디오 버튼을 클릭하면 서를 생성한 사람만이 볼수 있다. 바뀐글에도 그 페이지는 보이지 않게 된다. 단 그 주인이 로그인 하였을때만 보인다.
  • 진법바꾸기/김영록 . . . . 10 matches
         기능 : 숫자,진법 값을 받아 최대 자리숫자를 얻는다
         최대자리숫자는 나중에 출력부분에서 for 에 쓰이게 된다.
         int get_maxjarisu(int num1,int num2)// num1 = 숫자 num2 = 진법
         기능 : 각자리의 숫자의 값을 얻는다
         int get_count(int num1,int num2,int num3) //num1 = 숫자 ,num2 = 진법,num3 = 자리수
         기능 : for으로 각자리숫자의 값을 output하는
         void behavior(int num1,int num2) //num1 = 숫자 ,num2 = 나눌수
  • 컴공과학생의생산성 . . . . 10 matches
         학생이기 때에 생산성을 따질 필요가 없다는 생각은 크게 잘못된 것이라는 말을 해주고 싶습니다. 일단 세가지 정도의 측면에서 이야기할 수 있겠습니다.
         두째로, 생산성에 대한 훈련은 학생 때가 아니면 별로 여유가 없습니다. 학생 때 생산성이 높은 작업만 해야한다는 이야기가 아니고, 차후에 생산성을 높일 수 있는 몸의 훈련과 공부를 해둬야 한다는 말입니다. 우리과를 졸업한 사람들 중에 현업에 종사하면서 일년에 자신의 업무와 직접적 관련이 없는 IT 전서적을 한 권이라도 제대로 보는 사람이 몇이나 되리라 생각을 하십니까? 아이러니칼 하게도 생산성이 가장 요구되는 일을 하는 사람들이 생산성에 대한 훈련은 가장 도외시 합니다. 매니져들이 늘 외치는 말은, 소위 Death-March 프로젝트의 구들인 "Real programmers don't sleep!"이나 "We can do it 24 hours 7 days" 정도지요. 생산성이 요구되면 될 수록 압력만 높아지지 그에 합당하는 훈련은 지원되지 않습니다.
         제가 저 이야기를 했었던 이유는 전에 엑셀을 만들때의 이야기였습니다. 만드는 방법이 천차만별이였지요. 처음 Grid Control부터 다 구현하려고 했던 사람, Grid Control만 MSFlex Grid를 사용한 사람, 이미 어느정도 스프레드시트 기능이 구현된 컨트롤을 사용하여 만든 사람 등등.
         물론 효율적이고 생산적인 개발방법을 익혀놓는 것은 중요하겠죠. 개발 기간내에 프로젝트를 완료하는 것은 아주 중요한 일이니까. 하지만 '학교 레포트가 일종의 훈련이라고 할때. 즉 Output보다 개발하는 과정속에서 배워지는 것들이 더 많다고 할때, 누가 더 얻는게 많을것인가?' 라는 질을 한다면 어떨까요? 만일 제가 그때 무게중심을 '짧은 시간내 가장 좋은 Output'으로 두었다면 얘기가 달랐겠지만. 저러한 생각은 그냥 저의 욕심이였을까요. 암튼, 그당시에 제게 중요했던것은 RAD 툴을 배우는 것이 아닌, 어떻게 해결해야 할까하면서 아이디어를 찾고 코드를 궁리했던 노력이였습니다. (See Also ["컴퓨터가했다"])-- 석천
         생산성에 대해 신경 못쓰는 이유중 하나가 능력부족으로 인한 여유부족이 아닐까 하는 생각. 중간에 자기자신이 어떤 방식으로 프로그램을 만들고 있는지를 생각할 여유가 없어서인지도 모르겠네요. 그러한 점에서 개발하기 전의 서와 작업일지를 작성하는 것이 중요하다고 생각합니다. (자신이 어떤 방식으로 생각을 하면서 일하고 있다라는 것을 인식하고 있는 것은 생산성을 높이기 위한 방법이 되지 않을까 하는.)
         아주 중요한 이야기를 했군요. 자신이 생각하는 것에 대해 생각하는 것을 meta-cognition이나 self-reflection이라고 합니다. 인간 말고 다른 동물은 이런 고차원적 뇌활동을 할 수 없다고들 하죠. 전가와 초보자의 차이는 이게 있냐 없냐로 말하기도 합니다. 현재 닥친 물리적 행동 자체에 뇌력의 거의 대부분을 소진하고 있다면 자신이 지금 하고 있는 것이 뭔지 따질 겨를이 없죠(테트리스를 처음 하는 사람과 전가의 뇌 온도분포를 촬영한 걸 보면 극명합니다. 처음하는 사람의 뇌는 한마디로 비효율적인 엔진입니다. 하는 일보다 밖으로 방출되는 열량이 더 많습니다. 전가의 경우 아주 작은 부분에서만 열이 납니다. 덕분에 게임하면서 딴 생각할 여유도 있죠). 소위 "어리버리"하다고 하는 겁니다. 군대에 처음 온 이등병들이 이렇습니다. 자기가 도대체 뭘하고 있는지를 모르죠. 그래서 실수도 많이하고, 한 실수 또 하고 그렇습니다. 일병을 넘어서고 하면서 자기가 하는 걸 객관적으로 관찰하고, 요령도 피우고 농땡이도 부리고 하는 건 물론, 자기가 하는 일을 "개선"하는 게 가능해 집니다. --김창준
  • 코바용어정리 . . . . 10 matches
         객체의 참조를 유지함으로써 원격 객체를 액세스할 수 있는 node(단어 선택이 부적절한 것 같군 --;;)이다. 즉 객체 레퍼런스를 사용하여 클라이언트는 객체의 오퍼레이션을 수행할 수 있게 된다. 원격 객체를 액세스 하는 과정에 대해 구체적으로 기술하면 다음과 같다. 클라이언트는 언어 맵핑을 통해 객체와 ORB 인터페이스에 액세스할 수 있다. ORB는 구현 객체와 클라이언트 사이의 커트롤 전달 및 데이터 전달 관리를 책임지고 있다. 결국 클라이언트는 언어 맵핑을 통해서 ORB와 상호 작용할 수 있고, ORB는 원격 객체에 대한 레퍼런스를 얻을 수 있게 된다. 이런 방식으로 클라이언트는 분산 환경하에서 객체를 이름과 인터페이스만으로 마음대로 참조할 수 있는 것이다. ORB를 버스라고 생각하면 쉽게 이해할 수 있을 것이다.
         클라이언트의 반대쪽에는 구현 객체라고 알려진 실제 객체가 있다. '구현 객체(Object Implementation)'는 실제 상태(state)와 객체의 반응 양상(behavior)을 규정하며 다양한 방식으로 구성될 수 있다. 구현 객체는 객체의 메소드와 객체에 대한 활성화 및 비활성화 프로시저를 정의한다. 구현 객체는 객체 어댑터의 도움을 받아 ORB와 상호 작용한다. 객체 어댑터는 구현 객체를 특정하게 사용하는 데에 편리하도록 ORB 서비스에 대한 인터페이스를 제공하게 된다. 구현 객체는 ORB와 상호 작용하여 그 정체를 확립하고 새로운 객체를 생성하며 ORB에 따르는 서비스를 획득할 수 있도록 한다. 새로운 객체가 생성되면 ORB에게 통보되고 이 객체의 구현이 어디에 위치하는가를 알게 된다. 호출이 발생하면 ORB, 객체 어댑터, 스켈레톤은 구현의 적절한 메소드에 대한 호출이 되도록 만들어야 한다.
         CORBA는 C++과 Java 같은 객체 지향 언어와 C와 같은 절차적 언어 양쪽 모두에서 사용될 수 있다. 객체 지향 언어에서는 사용자가 객체의 특성을 정의하고 그 프로퍼티에 액세스할 수 있게 해주는 메소드와 인터페이스를 제공한다. 이것은 비객체 지향 언어에는 없는 기능인데, 이것들은 각각
         의 인터페이스 타입에 대해 스텁에 대한 프로그래밍 인터페이스를 필요로 한다. 보통 스텁은 OMG-IDL로 정의되어 있는 객체 오퍼레이션에 대한 액세를 하게 해주는데, 일단 프로그래머가 OMG-IDL 및 특정 프로그래밍 언어에 대한 언어 매핑에 친숙해지면 손쉽게 예상이 가능한 방식으로 액세르를 하게 해준다. 해당 스텁은 ORB 코어에 전용이며 최적화된 인터페이스를 사용해서 나머지 ORB들을 호출하게 될 것이다. 만약 여러 개의 ORB를 사용하게 된다면 각각의 스텁은 제 각기 해당하는 ORB를 호출하게 될 것이다. 이 경우에 ORB와 언어 맵핑은 공조하여 각각의 스텁이 특정 객체 레퍼런스와 제대로 연결될 수 있도록 해야 할 것이다.
         각각의 언어 매핑에 대해(아마도 객체 어댑터에의 의존하게 되겠지만) 각각의 타입의 객체를 구현하도록 해주는 메소드에 대한 인터페이스가 존재할 것이다. 이 인터페이스는 일반적으로 업콜(up-call) 인터페이스일 것이다. 구현 객체의 개발자는 그 인터페이스에 따라 루틴을 작성하게 되고 ORB는 스켈레톤을 통해서 그 루틴을 호출하게 될 것이다. 그러나 스켈레톤의 존재가 그에 사응하는 클라이언트 스텁의 조재를 의미하지는 않는다는 것이다. 이말은 클라이언트가 DII를 통해서 리퀘스트를 만들 수도 있다는 것이다. 또한, 어떤 언어 맵핑은 스켈레톤을 사용하지 않는데, 이것은 Smalltalk에시는 대체적으로 맞는 말이다.
         동적 스켈레톤 인터페이스는 IDL에 기초하지 않는 스켈레톤/스텁을 가진 객체의 메소드 호출을 처리해야 하는 서버에 대해 런타임 바인딩 메커니즘을 제공한다. 동적 스켈레톤은 수신된 메시지의 파라미터값을 참조하여 어떤 객체가 호출되었는지 어떤 메소드가 호출되었는지를 알게 된다. 이것은 일반적으로 컴파일된 스켈레톤을 사용하는 것과는 비교되는데 이러한 스켈레톤에서는 메소드의 구현이 IDL로 정의된다. 구현 코드는 모든 오퍼레이션 파라미터에 대한 상세한 설명을 ORB에 제공해야 하며, ORB는 오퍼레이션을 수행할 때 사용되는 입력 파라미터값을 제공한다. 오퍼레이션이 수행된 후, 구현 코드는 출력 파라미터 또는 익셉션을 ORB에게 넘겨준다. 동적 스켈레톤 인터페이스의 특성은 프로그래밍 언어 맵핑에 따라 또는 객체 어댑터에 따라 실질적으로 달라질 수 있지만, 일반적으로는 업콜 인터페이스이다. 동적 스켈레톤은 클라이언트 스텁 또는 DII를 통해서 호출될 수 있다. 이 두 가지 방식의 클라이너트 리퀘스트 생성 인터페이스는 동일한 결과를 제공한다.
         ORB 인터페이스는 애플리케이션에 중요한 지역 서비스에 대한 API들로 구성되어 있지 않다. 이것은 곧바로 ORB로 가는 인터페이스이고 모든 ORB들에 대해 동일하다.ORB 인터페이스는 객체 어댑터 또는 객체 인터페이스에 의존하지 않는다. 대부분의 ORB의 기능이 객체 어댑터, 스텁, 스켈레톤 또는 동적 호출 등을 통해서 제공되므로 몇몇 오퍼레이션만이 모든 객체들에 대해 공통이다. 공통 오퍼레이션에는 get_interface와 get_implementation 같은 함수가 포함되어 있는데, 이것들은 임의의 객체 레퍼런스에 작용하며 각각 인터페이스 저장소 객체와 구현 저장소 객체를 얻는 데 사용된다.
  • 타도코코아CppStudy/0724/선희발표_객체지향 . . . . 10 matches
          * 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
          상속성은 설계 및 코드의 재사용(reuse)을 도와주는 중요한 개념이다.
          겉에서 그객체를 사용하기 위한 사용자 인터페이스는 제공하나 데이타를 검색, 수정 그리고 함수의 이용을 위해서는 이 인터페이스를 꼭 거쳐야 되게 하는것이다.
          자동차라는 객체 클래스를 우리가 사용하기 위해서는 알아야할 것이 운전하는 방법뿐인 것이다. 표지 판이나 교통신호등은 관계는 있으나 자동차를 움직이기 위한 객체 인터페이스와는 아무런 관계가 없는것이다. 캡슐화는 기능의 조직성과 논리성을 연관시킨다.
          * 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위한 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 한명은 부산에 가려고 하고 한명은 대구에 오려고 한다.
          그렇다면 객체를 사용하여 생기는 마지막 목적지의 차이는 어디서 생기는 것일까? 바로 유저가 머릿속에 생각한 목적지의 차이, 즉 주어진 데이타의 차이에서 오는것이다.
         제를 정의하고 이 정의로부터 모형(model)들을 제작하여 실세계(real-world)의 중요한 특성들을 보여주는 단계이다. 다음과 같은 모형 들이 만들어 질 수 있다.
         기능 모형(fuction model) : 시스템 내에서 데이타 값이 변하는 과정을 보여주는 것으로 잘 알려진 자료 흐름도(DFD)가 사용된다.
         시스템 설계(system design) : 시스템의 구조를 서브시스템으로 분해한다. 이 과정중에서 성능 최적 방안, 제 해결 전략, 자원 분배 등이 확정된다.
  • 타도코코아CppStudy/객체지향발표 . . . . 10 matches
          * 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 한다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
          상속성은 설계 및 코드의 재사용(reuse)을 도와주는 중요한 개념이다.
          겉에서 그객체를 사용하기 위한 사용자 인터페이스는 제공하나 데이타를 검색, 수정 그리고 함수의 이용을 위해서는 이 인터페이스를 꼭 거쳐야 되게 하는것이다.
          자동차라는 객체 클래스를 우리가 사용하기 위해서는 알아야할 것이 운전하는 방법뿐인 것이다. 표지 판이나 교통신호등은 관계는 있으나 자동차를 움직이기 위한 객체 인터페이스와는 아무런 관계가 없는것이다. 캡슐화는 기능의 조직성과 논리성을 연관시킨다.
          * 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위한 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 한명은 부산에 가려고 하고 한명은 대구에 오려고 한다.
          그렇다면 객체를 사용하여 생기는 마지막 목적지의 차이는 어디서 생기는 것일까? 바로 유저가 머릿속에 생각한 목적지의 차이, 즉 주어진 데이타의 차이에서 오는것이다.
         제를 정의하고 이 정의로부터 모형(model)들을 제작하여 실세계(real-world)의 중요한 특성들을 보여주는 단계이다. 다음과 같은 모형 들이 만들어 질 수 있다.
         기능 모형(fuction model) : 시스템 내에서 데이타 값이 변하는 과정을 보여주는 것으로 잘 알려진 자료 흐름도(DFD)가 사용된다.
         시스템 설계(system design) : 시스템의 구조를 서브시스템으로 분해한다. 이 과정중에서 성능 최적 방안, 제 해결 전략, 자원 분배 등이 확정된다.
  • 홈페이지만들기/css . . . . 10 matches
         <title>자 크기 설정 예제</title>
         <body><body>태그안에 있는 모든 자들은 10pt로 설정되어 있습니다.<br>
         IE메뉴 자 크기를 변형 해보십시오<br>
         글꼴 크기에 사용되는 단위는 아주 다양하게 있다. 단위를 사용하지 않으면 기본적으로 픽셀 단위를 사용한다.
         === 작은 영 대자로 설정하는 font-variant ===
         {font-variant:small-caps}영자를 작은 대자로 설정.
         {font-weight:키워드}자 두께를 키워드에서 설정한 값으로 적용
  • 2dInDirect3d/Chapter3 . . . . 9 matches
          * 버텍스 버퍼가 무엇인지 알고 사용법을 안다.
          * 인덱스 버퍼가 무엇인지 알고 사용법을 안다.
          만약 D3D를 쓰는 사람에게 "당신은 왜 D3D를 씁니까?" 라고 물으면, 일반적으로 이런 대답이 나온다. Z-Buffer라던지, 모델, 메시, 버텍스 셰이더와 픽셸세이더, 텍스쳐, 그리고 알파 에 대한 이야기를 한다. 이것은 많은 일을 하는 것처럼 보인다. 몇몇을 제외하면 이런 것들은 다음의 커다란 두 목적의 부가적인 것이다. 그 두가지란 Geometry Transformation과 Polygon Rendering이다. 간단히 말해서 D3D의 교묘한 점 처리와 삼각형 그리기라는 것이다. 물론 저것만으로 모두 설명할 수는 없지만, 저 간단한 것을 마음속에 품는다면 혼란스러운 일은 줄어들 것이다.
         Vertex point size : 버텍스의 크기 (포인트스프라이트에서 사용한다.)
          이것은 3차원 좌표로서, 기본적인 x,y,z에 수직인 곳의 좌표를 정한다. 이것은 나중에 빛에 관련된 계산을 할 때에 사용된다.
          이 노말 좌표를 사용하면 RHW는 사용할 수 없다. (둘은 함께 사용할 수 없다는 뜻입니다.)
          Diffuse Color의 형태는 D3DCOLOR(사실은 DWORD형이다.)형을 사용한다.
  • 2학기파이선스터디/ 튜플, 사전 . . . . 9 matches
         == 튜플을 사용하는 경우 ==
         2. 자열 포매팅
         3. apply 함수를 사용할 때
         4. 그 이외에 고정된 값을 표현하기 위하여 튜플을 사용한다.
          이런 구조를 사용하는 이유는 키에 의한 검색속도를 빨리하기 위함이다. < 해쉬 (hash) 용법 >
          따라서 자열, 숫자, 튜플은 키가 될 수 있지만, 리스트, 사전은 키가 될 수 없다.
         == 사전을 for으로 참조하기 ==
         globals()를 사용하면 전역 영역(모듈 영역)의 심볼 테이블(사전)을 얻는다.
  • ArtificialIntelligenceClass . . . . 9 matches
         강의내용 : '지식' 표현방법, 탐색에 의한 제해결 방법 등
         === 예상 시험 제 ===
          * [http://aima.cs.berkeley.edu/instructors.html 미국대학 시험제들]
          * A* 서치와 빔 서치 로 실제 제 푸는것 1
          * 제 상황을 제시후 ........기억이 안남.. 누구 다른분이 채워주길..
         == 연습제 답 ==
          * [http://www.cs.uiowa.edu/~hzhang/c145/mid1ans.pdf uiowa대학제(답포함)]
          * [http://www.isle.org/~sbay/ics171/ 제와답]
  • AutomatedJudgeScript . . . . 9 matches
         [http://online-judge.uva.es/p/v101/10188.html 원보기]
         Accepted : 제출된 프로그램에 의한 출력 결과가 정답과 완벽하게 일치하는 경우에 'Accepted'라고 답한다. 모든 자가 똑같은 순서대로 매치되어야만 한다.
         Presentation Error : 숫자는 전부 같은 순서로 매치되지만 숫자가 아닌 자가 하나 이상 매치되지 않는 것이 있으면 'Presentation Error'라고 답한다. 예를 들어 '15 0'과 '150'이 입력되었다면 'Presentation Error'라고 답할 수 있지만 '15 0'과 '1 0'이 입력되었다면 아래 설명에 나와있는 것처럼 'Wrong Answer'라고 답해야 한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 36분 || [AutomatedJudgeScript/보창] ||
         [제분류] [AOI]
  • Benghun/Diary . . . . 9 matches
         최근 모듈화에 대해서 공부하다가 dependency에 대해서 생각해 보았다. 무엇을 만들었을 때 dependency가 발생하는가? 함수나 클래스를 사용할 때 발생하더라. 클라이언트 코드는 사용하는 함수나 클래스가 변경될 때 영향을 받을지도 모른다. 그렇다면 dependency를 최소화하는(또는 없애는) 방법은 함수 나 클래스를 사용하지 않으면 된단 말인가? 코드 중복은 어떻게 없앨 수 있더라?
         아는 사람 중에 함수나 클래스를 만드는 것을 대단히 꺼리는 사람이 있다. 만들면 좋을 것 같은 간단한 함수조차도 직접 만들려고 하지 않는다. 하지만 이미 잘 만들어 진 라이브러리는 자주 사용한다. dependency가 없다면 변경에 영향을 받는 모듈이 없을 것이다. 나름대로 잘 사용하는 replace all in files, replace all in file, copy & paste등이 강력한 프로그래밍 도구중 하나인 것 같기도 하다.(최소한 나보다는 잘 사용하는 것 같다, 나름대로의 노하우도 있는 것 같다) 아마도 그는 dependency를 최소화하는 것에 큰 관심이 있거나 다른 이유가 있나보다.
         table에 대한 query가 여러 곳에 분산되어 있었다. table이 변경되자 모든 코드를 살펴야 했었다. 이 제를 해결하기 위해 테이블에 접근하는 클래스와 쿼리를 실행하는 클래스를 추가했다. Java 웹 애플리케이션 프레임웍 분석과 설계의 노하우, Applying UML and Patterns, 마소 2003/7 고전을 찾아서4 모듈화와 정보은닉의 상관관계가 도움을 줬다.
         나에겐 일이 아닌 회사 생활이 힘들게 느껴진다. 사람을 대하는 것이 왜 이렇게 힘들까 ? 어떻게 해야할지 어렴풋이 알겠는데 ( 모르는 것일지도 모르지만 ) 실천하기가 힘들다. 어떤 행위에 대한 제약 때일까 ?
         세미나 진행자로써의 준비 부족을 지적해 준 근희선배에게 감사를 표시한다. ( 세미나의 서두가 엉망이었다. 결과적으로 질공세가 유도되었다 )
  • BusSimulation/조현태 . . . . 9 matches
          사실 출력부분이 대부분 테스트용으로 만들어 진건데.. 일단 임시로 그대로 사용하기로 했다. 나중에 휴가기간에 소스좀 수정하도록 하겠다.
          또한 이런 제로 마지막 역은 승객을 만들(!)수 없다.
          아아 메모리 관리는 너무 힘들엇..ㅠ.ㅜ 저번 소스에서 발견되지 않았던 제점이 있어 그것 역시 수정하였습니다.
          cau_road->Build("정",5,0,5);
          cau_road->Build("중",10,1320,5);
          cau_road->Build("후",10,2999,5);
          cau_road->Build("정",5,0,5);
          cau_road->Build("중",10,1320,5);
          cau_road->Build("후",10,2999,5);
  • Chapter II - Real-Time Systems Concepts . . . . 9 matches
         RenameThisPage - Name Space 에 대해서 지켜주기 바람. 그리고 영제목띄어쓰기에 대해서는 FrontPage 가장 윗 단 참조바람 --석천
         예를 들어 High Priority를 가진 Task가 선점형 수행을 하며 다른 Task 보다 많은 자원을 사용할 수 있을 때를 말한는것 같다.
         === Real Time System 의 사용 범위 ===
         작은 시스템에서는 시스템의 효율성을 위해 보단 간편하고 일반적인 디자인을 사용한다고 한다. 실제로 어플리케이션이 작동하는 부분을 Background System이라고 하며 ISR (interrupt service rountines) 라고 불리우는 인터럽트 부분을 Foreground system이라고 한다.
         맥전환이라 불리우는 이 과정은 하나의 태스크에서 다른 태스크로 작업이 이전 되기 위한 과정을
         되고 지금 수행중인 태스크는 멈추며 높은 태스크로의 맥전환이 이루어진다.[[BR]]
         변화를 가져오므로 리얼타임에서는 사용되지 않는다.
         우선순위 할당은 가벼운 제는 아니다. 이는 대부분의 시스템에서 중요한 것으로 간주된다.[[BR]]
  • DataCommunicationSummaryProject/Chapter11 . . . . 9 matches
          * 보내고 받는 모양새가 대칭형이다. 레이저나 극초단파 같은 걸로 사용한다.
          * 단말기만 있으면 거의 영구적으로 base station 과 연결되어 사용가능하고 기타 등등 열라 좋은 점이 많긴하지만 대역폭을 공유한다는 것이 단점이다.
          * 대부분 보급되어있는 wireless local loop system은 산업, 과학, 의학용 주파수(ISM band) 를 사용한다. 실제로 IEEE 802.11b 표준에 기초한 시스템도 있다.
          * 라이센스가 없어도 되기 때에 누구나 설치할 수 있다. 하지만 누구나 그런 생각을 가지고 사용하기 때에 통신방해가 많이 일어난다.
          * 8km 까지는 서비스 범위가 도달한다. 표준으로 11Mbps를 지원하지만 multipoint 특성상 대역폭을 사용자들이 공유하기 때에 실제로는 2~6Mbps 가된다.
          * 허가되지 않은 시스템은 국제적인 ISM 밴드를 사용할 수 있고, 종종 IEEE 802.11 무선랜 표준에 기초하기도 한다.
  • DocumentObjectModel . . . . 9 matches
         DOM은 HTML, XML서를 다루는 API이다. 이것은 프로그래밍 언어와 플랫폼에 비종속적이다. 인터페이스의 뒷쪽에서 이 서는 객체지향 모델로 다루어진다.
         DOM은 그 서의 하부의 데이터 구조에는 어떠한 제약사항도 두질 않는다. 잘 만들어진 서는 DOM을 이용해서 트리 구조를 취할 수 있다.
         대부분의 XML파서들 그리고 XSL 처리기들은 트리구조를 사용할 수 있도록 개발되었다. 그러한 구현물들은 메모리 안에서 서의 전체 내용이 파싱되고 저장되는 것이 필요했다. 따라서 DOM은 임의로 접근하고 다루어 질 수 있는 document 요소를 가지는 응용프로그래에서 사용하기좋다. XML기반의 응용프로그램들이 한번 파싱을 할때 읽거나, 쓸수 밖에 없기 때에 DOM은 메모리 상에서 상당한 오버헤드적 요소를 가지고 있다. SAX 모델은 속도, 메모리의 비효율성 면에 있어서 이점을 가진 모델이다.
         XML 에 대해서 파싱하는 API 방식 이야기. DOM 모델이냐 SAX 모델이냐 하는것. 인터페이스 상으로는 DOM 이 쉽긴 함. SAX 는 좀 더 low-level 하다고 할까. (SAX 파서를 이용해서 DOM 모델을 만들어내는 경우가 많음) SAX 는 Tokenizer 가 해당 XML 서를 분석하는 중의 이벤트에 대한 이벤트 핸들링 코드를 작성하는 것이므로. 그대신 모든 도큐먼트 노드 데이터가 필요한건 아니니, SAX API 로 XML을 파싱하면서 직접 개발자가 쓸 DOM 객체를 구성하거나, 아니면 XPath 를 이용하는게 좋겠지.
  • FindShortestPath . . . . 9 matches
         가장 빠른 길 찾는
         6각형의 모양을 그리면서 1씩 증가하는 숫자들의 모임이다. 임의의 숫자 2개를 입력 햇을때 두 숫자간의 가장 짧은 거리를 구하시오.
         ex1) 1,10 을 입력했을경우.. (1,2,10)이 두 숫자간의 가장 짧은 거리.. 고로 3이 되겠지..
         == 이 제의 장점 ==
         이제를 통해 프로그램의 기술적인 제는 습득하기 힘들거라고 생각되지만..
         ["제분류"]
  • GUIProgramming . . . . 9 matches
         윈도우 플랫폼에서 프로그래밍을 하는 대부분의 프로그래머가 사용하는 것으로 마이크로소프트사의 제품군에도 사용된다. 대표적인 예는 마이크로 소프트 오피스군이 있다.
         GUI를 다루기 위해서 .NET에서 사용하는 클래스이다.
         볼랜드사의 툴킷으로 C++빌더, 델파이 제품군에 사용된다.
         모티프는 유닉스 환경하 X-Window, 혹은 POSIX 표준과 호환되는 시스템을 위해서 만들어진 툴킷이다. IEEE 1295 산업 표준으로 제정되어있으며, Motif API라는 표기법을 쓴다. 최근에는 Qt, GTK에 많이 밀리지만 여전히 많은 시스템에서 사용되는 툴킷이다.
         윈도우 매니저 KDE에 사용되는 툴킷이다. 이름은 "cute"라는 단어에서 만들어졌다고 한다. 다양한 멀티플랫폼을 위한 기능이 존재하며 다국어 지원이 좋다. 또한 기본적으로 C++을 이용하지만, 파이선이나 펄, C를 위한 바인딩 기능을 제공한다.
         자바로 작성된 프로그램에서 기본적으로 이용하는 API이다. 플랫폼에 독립적으로 제작된 툴킷이지만 내부 구현 상 플랫폼에서 제공하는 함수를 아주 낮은 수준의 추상화된 형태로만 제공하기 때에 자바의 Platform-independable의 특성을 충분히 만족할 만한 수준은 못된다.
         최근 버전의 자바에서 이용하기 시작한 선사의 툴킷이다. 특징으로는 AWT보다 더욱 보기 좋은 그래픽을 제공한다. 또한 AWT와 달리 플랫폼에 비종속적이기 때에 모든 플랫폼에서 동일한 모양을 보여준다. 그리고 클래스 라이브러리에 약간의 수정을 가함으로써 Windows 에서 기타 플랫폼 (예를 들자면 Mac)의 {{{~cpp Look&Feel}}}사용하는 것이 가능하다. 물론 -_-; 원칙적으로 특정 운영체제의 룩&필은 변경해서 응용프로그램을 개발하는 것은 정책상 불법의 범주에 속한다..
  • Java Study2003/첫번째과제/곽세환 . . . . 9 matches
         자바의 주된 특징은 기존의 C/C++ 언어의 법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해한 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또한, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러한 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양한 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일한 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또한, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때입니다.
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또한, 방대한 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽한 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러한 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
  • JavaStudyInVacation/과제 . . . . 9 matches
          * AWT와 SWING이 무엇인지 알아보고, 그 차이점에 대해서 알아보기. 그리고 어떤것을 사용하는것이 더 좋다고 생각하는지, 그리고 왜 그렇게 생각한는지...?
          * SWING을 사용하여 버튼이 있고, 그 버튼을 누르면 간단한 메시지를 출력하는 자바 에플리케이션 작성해 보기.
          * 그 에플릿을 포함하고 있는 HTML 서를 만들어 각자 자기 계정에 올리고 위키에 링크 걸기.
          * 자바에서 네트워크를 사용하는 방법에 대해 간단히 알아보기.
          * 다음과 같은 네트워크를 사용하는 간단한 에플리케이션 만들어 보기. (SWING 이나 AWT 사용 안함)
          * 클라이언트가 접속되면 클라이언트의 IP 주소와 포트를 출력해주고, 클라이언트로 "ABCDEFG" 라는 자열을 보내준다.
          * 서버로부터 자열을 받아 화면에 출력해준다. ("ABCDEFG" 가 나와야 한다.)
          * SWING을 사용하여 제작해야 한다.
  • NUnit/C++예제 . . . . 9 matches
          * 예제는 아무 생각없이 만들었고, 테스트 할 필요도 없는 거지만.. 그냥 사용법을 보는 거니까 신경쓰지 마세요.
         === MFC에서 사용하기 ===
         평소대로 하자면 이렇게 하면 될것이다. 하지만 현재 프로젝트는 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcmanagedextensionsspec_16_2.asp Managed C++ Extensions]이다. 이것은 C++을 이용해서 .Net을 Platform위에서 프로그래밍을 하기 위하여 Microsoft에서 C++을 확장한 형태의 법을 제안된 추가 법을 정의해 놓았다. 이를 이용해야 NUnit이 C++ 코드에 접근할수 있다. 이경우 NUnit 에서 검증할 클래스에 접근하기 위해 다음과 같이 클래스 앞에 [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmxspec/html/vcmanagedextensionsspec_16_2.asp __gc] 를 붙여서 선언해야 한다.
         [류상민]은 NUnit 과 Unmanged C++의 연결을 완전하게는 하지 못했다. Managed C++프로젝트와 Unmanged C++ 프로젝트 두개를 만들어 Managed C++ 코드에서 NUnit 을 이용해 Unmanaged C++ 에 접근해 테스트 코드를 작성했다. 하지만, .Net Platform에 미숙과, Managed C++ Extension의 몰이해, 프로젝트 관리와 의존성 제에 봉착해 곧 벽에 부딪쳤다. 이 둘은 혼용할수 없음을 알았다.
         Unmanaged C++에서 가장 좋왔던 방법은 Unmanaged C++ Project 두개를 만들어서, 한쪽으로 의존시킨후 assert 를 이용해 자체적인 Test Framework 을 작성해서 사용하는 방법이었다.
         아.. __gc를 쓰면 닷넷 플랫폼없는 곳에서는 쓸 수가 없겠네요. 그러면 이방법은 어떤가요? 일단 테스트할때는 테스트할 클래스에 __gc를 붙이잖아요? 나중에 배포할때는 __gc를 없애는 겁니다. 물론 Managed C++ Extensions의 법을 쓰면 안되겠죠.(__gc빼고) 매크로를 잘 쓰면 어떻게 될거 같기도 한데... --[인수]
         현재는 Managed C++에 깊히 공부해 보지 않아서, 잘 모르겠다. 이것이 __gc를 붙였다 때었다 하는 제인지 확신할수가 없다.
         그것을 떠나서, MFC를 쓰면서 테스트를 하는 것이 의미 있어 지려면, MFC 로 작성한 프로그램이 정상 동작하면서, 테스트를 할수 있어야 하는데, MFC Frameworks 이 Managed C++ 모드로 컴파일이 잘되고, 잘 돌아가는지, 이것이 의이다. 된다면, MS에서 모든 MFC class앞에 __gc가 붙이기라도 한걸까? 혹은 이미 해당 매크로가 존재하지 않을까?
  • OurMajorLangIsCAndCPlusPlus/float.h . . . . 9 matches
         ||FLT_DIG ||float형에서 유효숫자의 최소 개수 ||6 ||
         ||DBL_DIG ||double형에서 유효숫자의 최소 개수 ||15 ||
         ||LDBL_DIG ||long double형에서 유효숫자의 최소 개수 ||15 ||
         float형에서 유효숫자의 최소개수. 이 매크로의 값은 ANSI C에서, 적어도 6으로 지원되고 있다.
         float형에서 가수부를 표현하는데 사용되는 비트수. 다음 표현식은 가수부 숫자들의 제한된 수 때에 1. 0이 나온다(수학적으로는 그것이 될 수 없을 지라도):
         이것은 지수부의 베이스(base) 또는 기수(radix)의 값이다. 이것은 이 절에 설명된 다른 매크로와는 달리 상수 표현식임이 보장된다. IBM 360과 그곳에서 파생된 제품을 제외하고는 모든 기계에서 2로 되어있다.
         || 숫자 || 의미 ||
  • PairProgrammingForGroupStudy . . . . 9 matches
         지식관리의 세계적 학자 노나카 이쿠지로 교수는 지식에 형식지와 암묵지가 있다고 합니다. 형식지는 서화, 규칙화, 수식화된 지식을 말하고, 암묵지는 그렇지 못한 것들을 말합니다. 그런데, 어떤 전가가 가진 지식이라는 것은 거의 대부분이 암묵지입니다. 이제까지는 형식지의 전달에만 신경을 쏟았지 암묵지는 별 관심을 받지 못했고, 교육 모델에서도 중요하게 다뤄지지 못했습니다. (덕분에 유명한 인간화재의 대가 끊기는 일이 빈번했죠.)
         그런데 이런 암묵지는 전가와 학생이 같은 공간을 점유하며 함께 일하고 생활하는 속에서 가장 효과적으로 학습됩니다. 도제식 수업(apprenticeship)을 일컫는 것이죠.
         이 방식을 소프트웨어 개발 업체에서 적용한 것은 Apprenticeship in a Software Studio라는 서에 잘 나와 있습니다. http://www.rolemodelsoft.com/papers/ApprenticeshipInASoftwareStudio.htm (꼭 읽어보기를 권합니다. 설사 프로그래밍과는 관련없는 사람일지라도)
         예를 들어, A, B, C, D, E, F, G, H라는 여덟 명이 한 팀을 이룬다고 가정합시다. 여기서, A와 B가 전가이고 나머지는 비숙련자라고 하죠.
         이렇게 되면 E와 F는 전가인 A와 B와 직접 PairProgramming을 하고 나머지 네명은 자기들끼리 PairProgramming을 하게 되죠. 처음 pairing에서 C와 G, D와 H는 태스크를 완수해지 못해도 괜찮습니다 -- 대신 제 영역을 탐색하는 동안 어느 정도의 학습은 발생하거든요.
         이런 식으로 같은 태스크를 짝을 바꿔가며 두 세 번만 반복하게 되면, 매 번 할 때 마다 아까보다는 좀 더 나은 작업을 할 수 있게 되고, "제 발견 -> 해결"의 학습을 하게 됩니다. 나쁜 코드를 보고, 이게 좋은 코드로 바뀌는 그 과정을 직접 경험하는 것이죠.
  • Plugin/Chrome/네이버사전 . . . . 9 matches
          * 크롬은 아시다시피 Plug-in을 설치할수 있다 extension program이라고도 하는것 같은데 뭐 쉽게 만들수 있는것 같다. 논을 살펴보는데 사전기능을 쓰기위해 마우스를 올렸지만 실행이 되지 않았다.. 화난다=ㅂ= 그래서 살짝 살펴보니 .json확장자도 보이는것 같지만 법도 간단하고 CSS와 HTML. DOM형식의 서구조도 파악하고 있으니 어렵지 않을것 같았다. 그래서 간단히 네이버 링크를 긁어와 HTML element분석을 통해 Naver사전을 하는 Plug-in을 만들어볼까 한다.
         영어로 보는게 더 자세하지만 난 한국인이라. 간단히 말하자면 인터넷에서 자료를 주고받을때 그 자료형식을 정의하는 서인데 javascript구사용하는 파일이다. xml보다 web에서 효과적이기 때에 web상에서 쓰인다고 한다. 좋은거 배우네.
         Ajax는 비동기식으로 데이터를 주고받기 위해 (A는 Asyncronous) HTML과 CSS 동적 정보 표시를 위한 동적 언어와 DOM서형 구조를 가진 XML, json만이 Ajax를 뜻하는 것이 아니라 이런 조합으로 이루어진 비동기 웹 어플리케이션 기법을 뜻한다.
          * inline script를 cross script attack을 방지하기 위해 html과 contents를 분리 시킨다고 써있다. 이 규정에 따르면 inline으로 작성되어서 돌아가는 javascript는 모두 .js파일로 빼서 만들어야한다. {{{ <div OnClick="func()"> }}}와 같은 html 태그안의 inline 이벤트 attach도 안되기 때에 document의 쿼리를 날리던가 element를 찾아서 document.addEventListener 함수를 통해 event를 받아 function이 연결되게 해야한다. 아 이거 힘드네. 라는 생각이 들었다.
  • PrimaryArithmetic . . . . 9 matches
         [http://online-judge.uva.es/p/v100/10035.html 원보기]
         초등학생들이 여러 자리 수의 덧셈을 배울 때는 한 번에 한 자리씩 오른쪽에서 왼쪽으로 계산하도록 배운다. 그런데 그 자리 숫자의 합이 10을 넘어갈 때 그 윗자리 숫자에 1을 더해주는 것을 배울 때 많은 학생들이 힘들어한다. 일련의 덧셈 제가 주어졌을 때 자리를 올리는 횟수를 세어서 선생님들이 학생들을 가르치는 데 도움을 줄 수 있는 프로그램을 만들어야 한다.
         마지막 줄을 제외한 각 줄에 대해 주어진 두 수를 더할 때 자리를 올려야 하는 횟수를 계산한 다음, 아래에 주어진 형식대로 결과를 출력한다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || 2시간 || [PrimaryArithmetic/보창] ||
         [제분류] [AOI]
  • ProjectAR/ThinkAbout . . . . 9 matches
         요소중의 하나이기 때에 잘 생각해야 할 제이다.
         때에 속도를 얼만큼 올릴 수 있을지도 큰 제이다.
         === 이벤트가 가져올 버그 제 ===
         층을 자유자제로 움직이기 때에 이벤트가 진행되는 경우의 수는 굉장히 많을 것이다. 이것들이 버그
         하위 몬스터는 그리 제가 되지 않는다.(그냥 다가오게 한 다음 때리게 하면 되니까.) 하지만 보스급
         몬스터가 그냥 다가와서 때리기만 한다면 말이 되지 않는다.) 이 제도 많이 생각을 해 봐야 할 것이다
         를 넣었는데 하나가 날라간다든지 하는 버그가 대부분의 게임에서 노출이 되는 경향이 있다.) 이런
  • ProjectPrometheus/UserStory . . . . 9 matches
         ||검색된 책들은 출판날짜, 사용자 평가 (Review) 에 따라 정렬되어진다. ||
         ||사용자들을 관리할 수 있다. (사용자 정보 수정/삭제) ||
         ||사용자들에게 공지를 전달할 수 있다. ||
         사용자는
          * 검색된 책들은 출판날짜, 사용자 평가 (Review) 에 따라 정렬되어진다.
          * 사용자들을 관리할 수 있다. (사용자 정보 수정/삭제)
          * 사용자들에게 공지를 전달할 수 있다.
  • ProjectZephyrus/ServerJourney . . . . 9 matches
          * ok 완료. 제는 내가 {{{~cpp command.CommandManager.getCommand()}}}에서 해당 패킷에서 {{{~cpp DeleteBuddy}}} 객체를 만든게 아니라 {{{~cpp InsertBuddy}}} 객체를 만들어 주어서 였다. 금요일에 pair시 이부분을 그대로 복사해서 붙여 두었었거든, 한줄 바로 잡으니 잘 돌아 간다. 네 의도대로 인지, 테스트 해봐라 --상민
          * 중복 접속 방지 작업, sync 제에 관해서는 약간 고민을 더해야 할듯 하다. Rename
          * 아무리 생각해도 정상적인 에러 메시지들이 맘에 안든다. 그 제를 해결하고.. 서버에 새롭게 넣을 수 있을만한 명령어들에 대해서 생각해봐야겠다..
          * 현재 {{{~cpp InfoManager}}}를 제외한 모든 코드가 내가 작성한 상태이다. 대체 재동군은 어제 어떻게 만날수 있을까.
          * 잘하긴요.... 해본거라 그렇죠..머..^^ 몇번의 삽질끝에... {{{~cpp writeLoginCmd}}} 완성.. 하지만.. 버디 리스트를 갖고 있는 테이블인 {{{~cpp PZContactList}}}은 중복 허용 제때에.. 프리머리 키도 없고... 나중에 속도제가 생기지 않을까 하는 걱정이 됩니다.. 좀더 생각해봐야겠습니다...^^ 그리고 재동군이 이제 합류하나여? --상규
          * Eclipse 사용법 배웠고, 지금까지의 서버 디자인에 대한 설명을 들었습니다. 그리고 약간의 의견교환도 있었구요. 하지만 서버 디자인에 대한것은 대부분의 윤곽은 잡혔지만 다같이 모여 여러번 이야기를 하며 아직 정확하지 않은 것들을 잡아가야 할 듯 합니다. 그리고 {{{~cpp DBConnectionManager}}}를 통해 ZP 서버의 MySQL에 접속해보고 몇가지 테스트를 해 보았습니다.(테이블 만들기, 자료 추가하기, 자료 조회하기) --상규
         간단한 모임, 현재 제 모두가 모일수 없다는 점 5/25-5/26 서버 중지로 mySQL쪽 테스트 부족, 월요일까지 생각해온(?) 것으로 짜와보기
  • Ruby/2011년스터디 . . . . 9 matches
          * 음수를 배열의 인덱스로 사용할 수 있다.
          * 의
          * Proc객체와 lambda함수의 차이점(정확한 차이점과 사용법)
          * 숫자도 객체로 취급해서 메소드를 사용할 수 있다.
          * 해시 기능 (배열의 인자가 자열)
          * C기반 언어와 다른 구: else if->elsif, try-catch-finally -> begin-rescue-ensure
          * , 의 사용 : {{{a, b = b, a}}} 로 간단하게 swap을 구현할 수 있다.
          * 루비는 매우 동적이기 때에(실행중에도 메서드를 정의할 수 있다) 테스트 또한 동적으로 이루어져야 한다(프로그래밍 루비 26장 참고)
  • TCP/IP 네트워크 관리 / TCP/IP의 개요 . . . . 9 matches
          *1983 - 군사용 표준(MIL STD)로 TCP/IP 프로토콜 채택.
          * '''인터넷''' - MILNET과 ARPANET을 합친 전체 네트워크를 가리키는 말로 사용.
          * NSFNET는 ARPANET보다 규모도 작고 속도도 느렸지만, 인터넷 역사에 중요한 사건으로 기억된다. 이유는 인터넷 효용성에 새로운 가능성을 제시했기 때.
          *''Internet'' : 원래 ARPANET에서 성장. 다양한 네트워크를 하나의 논리적 네트워크로 묶기 위해서 인터넷 프로토콜(IP)을 사용하는 서로 연결된 네트워크의 전세계적 모임.
          * 개방형 프로토콜 표준 : 특정 컴퓨터 하드웨어나 운영체제에 독립적으로 자유롭게 사용가능.
          * 표준화된 하이레벨의 프로토콜 : 일관성 있고, 널리 사용 가능한 사용자 서비스를 위해서.
          *ISO(International Standards Organization, 국제 표준기구)에 의해 개발된 구조적 모델 '''OSI'''(Open Systems Interconnect Reference Model)은 데이터 통신 프로토콜 구조와 기능 설명을 위해 자주 사용.
          *한 컴퓨터 내에서는 계층간에 데이터를 전달하는 방법에 대한 규약이 있어야함. 모든 계층이 연관되어 데이터를 전송하기 때.
  • TheTrip/Leonardong . . . . 9 matches
         일단 제를 이해하는데 시간이 20분 정도 걸렸다. 제 해결책을 찾아보던 중 평균보다 많이 가진 사람들이 돈을 나누어 주면 된다는 사실을 깨닫기까지 14분 걸렸다. 코드로 만드는데는 41분이 걸렸는데, 알고리즘을 따라 무난히 작성하였다. 나머지 시간은 법을 보거나 디버깅했다.
         제를 풀기 전에 샘플 입력부터 보는 경향이 있다. 제를 이해 못했으므로 샘플 입력을 보다가 결국 다시 제를 보느라 시간이 지체된다. 따라서 제를 다 이해하고, 정의한 뒤 샘플 입력을 보아 정의가 맞는지 확인하는 순서로 제를 풀어야겠다. 해결책은 제를 정의한 다음에 떠올린다.
  • WERTYU . . . . 9 matches
         [http://online-judge.uva.es/p/v100/10082.html 원보기]
         입력은 여러 줄의 텍스트로 구성된다. 각 줄에는 숫자, 스페이스, 대자('Q', 'A', 'Z' 제외), 위에 나와있는 구두 기호(역따옴표(')제외)가 들어갈 수 있다. 단어가 붙어있는 키(Tab, BackSp, Control 등)는 입력에 들어있지 않다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || 보창 || C++ || 18분 || [WERTYU/보창] ||
         [제분류] [AOI]
  • Z&D토론/학회명칭토론백업 . . . . 9 matches
          * 창섭이가 언급한것처럼의 이름 방식은 절대 반대이다. 데블스는 99년에 새로운 회원을 모집하게되었고 98이전까지의 데블스 선배님 역시 대다수 제로페이지이고, 작년 home coming day에서 참석하신 분도 많다. 아예 재 흡수 방식으로 나가던지, 완전히 새로운 이름을 추구하던지 방식을 했으면 좋겠다. 지나간 역사들의 페이지에 연연하는건 바보 짓일지 모르나, 스폰때의 기억과, 전체 기수간의 balance조정(미안합니다. 요즘 rpg합니다. --;) 역시 대두되는 제일 것이다.[[BR]]결정적으로 느끼게된 계기는 통합 회의라고 모인 회의에서 토론하던 것들이 내 경험에 99년 말에 했던 것과, 00년 말에 했던 것과 같고, 더 작은 부분 그 일부임을 깨달았을 때였다. 과거 했던 주제는 회원 모집, 회장 선출, 서버 관리 제, 회비 제, 전시회 제, 방학중 스터디 구성, 활성화 방안 제 였다. 이번 처음 경험인 01들은 마치 이번 회의가 통합을 위한 회의로 들렸을지 모르겠지만, 내용 상으로 봤을때 뭐가 다른가. 부족하면 부족했지. 아니면 데블스 인원이 참관인 같았다.[[BR]]그냥 이름을 고수 하던지 새로 하던지 둘중에 하나로 하라, 하지만 개인적인 의견이라면 '''선''' ''고수'' '''후''' ''변경'' 이다. 이유라면 또다시 긴글 써야 하니, 아무나 데블스 회원이 참여시 제발 설득해 달라 --; --상민
          *상민이 의견에 전적으로 찬성..음 내가 떠들자리인지는 잘 모르겠지만, 이름 제는 둘중 하나의 이름을 택하던지 아니면 새로 만들어라. Z&D. 이런 식으로 만들지 말고, 이건 한배를 탄 사람들의 이름이라고는 볼 수 없다. 단지 서로의 이익을 위해 잠시 손을 잡은 의미로 밖에는 느껴지지 않는다. 계속 후배를 받을거라면 모든 후배들이 물어볼꺼다 이름의 유래가 뭐예요? 하면 다시 ZP와 Devils의 합침이라는 의미를 설명해야될꺼고 그것은 '단일'이 '연합'의 의미를 가지는지 혼란스럽게 할 것이며, 다음에 분열의 원인이 될 수 있으리라고 여겨진다. 지금 이름 때에 서로의 입장을 치열하게 대립된다면 아예 합치지 않는게 좋을 것 같다.. (또 아무런 입장의 대결도 없다면 합치지 않는게 좋을 것 같다. 첫 단추를 잘 꿰어야 하듯이 지금 이렇게 서로 논의조차 이루어지지 않는다는건 서로의 불만을 감추어 놓는 것일 것이고 이건 '+'가 '-'로 바뀔 수 있게 되거나 최악의 경우 다시 분열의 심지로 남을 수 있으리라 생각된다.) 서로의 입장이 너무 팽팽하다면 새로운 이름을 찾는게 가장 나을 듯하다. 하지만, 이것 역시 최후의 카드이다. --희록
         주제넘는것 같지만 이름제는 선배님들과의 협의후에 결정한다고 했던것 같은데 선배님들의 의견을 모으기 위한 방법이 논의되고 있는지 궁금하네요 -- 손혜연
          * 새론 만들지 통합할지는 개인의 생각입니다만 뭐가 어찌되었던 간에 확실하게 '이름은 '''xxx''' 로 하자. 왜냐하면 이러이러하기 때이다.' 하는 식의 제안이 나왔으면 좋겠습니다. 언제까지나 실질적이지 않은 얘기로 겉돌 수는 없다고 생각합니다. 이제 02 신입회원을 받을 날도 한 달 밖에 남지 않았습니다. 긴 것같지만 짧은 시간입니다. 어영부영하다가 이러지도 못하고 저러지도 못하고 신입생을 받는 일이 없었으면 해서 다급한 마음에 올립니다. 저역시 이런 말을 하면서도 변변치 못한 소리만 해서 민망하지만 혹시나 내심 정하고 있는 이름이 있는데도 말을 못하는 분이 있을까봐 이런 글을 남깁니다.--창섭
  • [Lovely]boy^_^/Diary/7/8_14 . . . . 9 matches
          * 영법 정리 재개
          * 파이썬이 첨에는 법도 생소하고 좀 이상했는데.. 이제는 쉬운 언어라고 하는 이유를 알듯 말듯하다.
          * USACO 제 풀면서 STL 공부해온걸 활용하기로 했다.
          * 1번 제랑 2번 제를 풀었다. 1번은 겁나 쉽고.. 2번은 제 해석 잘못 해서 약간 삽질을 했지만 역시 겁나 쉽다.
          * 무작정 제를 풀기보다 소스를 이쁘게 쓰는 연습을 해야 할텐데.. 역시 내굥이 부족하군. 필살 프로그램 모드!
          * 아. 알고리즘의 중요성을 느낀 제였다.
          * 음. 역시나 쉬운 제.. map을 제대로 못써서 항상 벡터랑 같이 쓰고 있다..;; 언제쯤 깨우칠런지..
  • html5/others-api . . . . 9 matches
          * HTML5는 사용자의 편의를 위한 다양한 요소를 제공한다.
          * figcaption을 사용
          * 플러그인을 표현할때 사용한다 동영상 음악등을 통합하여 표현할때 사용한다.
          * embed엘리먼트에는 자식엘리먼트를 사용할 수 없다. 단일하게 embed만으로 종료한다
          * 강조(highlight)를 표현할때 사용된다. 다른 강조의용도의 엘리먼트와 차이점은 여러번 쓰일때 사용하는것 이다.
          * time엘리먼트는 24시간기준의 시간을 표현하거나 그레고리안 달력을 표현 할 때 사용한다.
          * iframe은 내부에 포함된 콘텐츠를 표시할때 사용한다.
  • 기억 . . . . 9 matches
          * Miller(1956)는 단기 기억 저장 공간을 7+-2 즉, 5~9로 라고 하여, 이를 magic number 7이라고 한다. 이 원리는 전화 번호나 우리가 알파벳을 외울때 사용된다.
          * Sternberg(1966 ) : 숫자 제시후 조금 지난후 실험자에게 제시 숫자가 이전 제시 숫자 항목에 포함되었는가 확인, 한 항목 증가시마다 40msec씩 증가한다.
          i. 어적 체제 - 언어 저장, 추상 정보 적절
          i. 부호화 제 ( 돈의 모습 )
          i. 저장 실패 ( 창가의 신 )
          i. 전지식 : 기억 요소의 배경 지식이 자신의 전적일 수록 머리속에 조직(구성)력이 높다. ( 체스 경기 진행중 체스의 배열 )
  • 나를만든책장관리시스템 . . . . 9 matches
          * 사용자는 책장에서 책을 볼 수 있다.
          * 사용자는 책을 뽑아 들어 기부자, 기부자가 남긴 말을 볼 수 있다.
          * 사용자 보는 화면 - 책 제목, 이미지, ISBN, 저자, 출판사, 기부자 정보(이름, 기수), 기부자 남기는 말, 기부 날짜, 현재 대여가능 여부
          * 사용자 입력 데이터 - 대출 신청
          * 사용자는 자신의 대출 상태 확인 가능.(상태, 남은 날 등등)
          * 옷. 첨뵙는 분이네요. ^^ [사용설명서] 를 참고하세요. 위키는 자유공간이기 때에 이것저것 시도하면서 배운답니다. [사용설명서] 에서 애매한 부분이 있거나 읽고나서도 사용에 어색하다면 다시 말씀해주세요. : ) --[창섭]
  • 날다람쥐 6월9일 . . . . 9 matches
          여기서 주소가 1000 이후에 1004 인 이유는 int가 4byte이기 때이다.(여기서 주소는 예를 든 것임)
         포인터는 *라는 자를 통해서 표현하는데,
         //정석: 여기서 ap+1 에서의 1 은 1byte의 1이 아니라 sizeof(int) * 1 의 1이다. 따라서 for 형태로 작성할 때는 ap + i로 하면 된다.
          printf("\n두번째 입력한 이름과 숫자를 바꿉니다. : ");
          int Num1, Num2, Num3;//숫자
          int *NumC;//변환될 숫자
          printf("첫번째 사람의 이름과 숫자를 입력해주세요 : ");
          printf("\n두번째 사람의 이름과 숫자를 입력해주세요 : ");
          printf("\n세번째 사람의 이름과 숫자를 입력해주세요 : ");
  • 데블스캠프2004/세미나주제 . . . . 9 matches
          * C** 제외한 다른 언어 SeeAlso [언어분류]
          - [STL]의 경우 사용법을 세미나하는것도 좋지만 GenericProgramming 의 개념과 왜 그러한 패러다임이 나왔는지, 그 배경에 대한 설명도 있으면 좋을 것 같습니다 - [임인택]
          * 음 제가 알바 때에 화목 밖에 참가를 못 할 거 같거든요. 그래서 목요일에 제가 해도 될까요? --영동
          우선 단기적으로 보면 03학번이 실력을 키워야 합니다. 02 학번은 현재 영동군, 1명만 남은 상태이고 그 또한 올해 군대를 갑니다. 석천 형(졸업)과 상민 형(군대)도 더이상 봐주기 힘들겁니다. 그리고 군대 간 ZP들(01, 02)이 돌어오는 시기는 내년 말이나 되야 할 것입니다. 그나마 다행히 저나 상규가 동대학원에 진학 예정이라 2년 정도 더 봐줄 수 있습니다만 결국 재학생 선배의 공백은 03학번이 해결해야 할 것입니다. 한편 장기적으로 본다면 제는 앞서 나왔듯이 ''군대''인 듯 합니다. 남자들은 군제가 학회에 지속적인 활동을 못하게 합니다. 저나 상규가 아직까지 군대를 가지 않고 남아 ZP에서 계속 활동한 것이 ''스타''라는 이름이 붙인 것 같습니다. 이를 해결할 수 있는 건 군제를 대학원 후의 전연구원으로 해결 하던지 아니면 여자 회원이 공백을 매꿔줘야 할 것입니다. 그리고 제대한 ZP 회원들을 빨리 다시 활동 할 수 있게해야 할 것입니다. 마지막으로 저나 상규는 절대 스스로를 스타 또는 영웅이라 생각치 않습니다. --재동
         [STL]을 할때 단순히 자료구조를 사용하는 방법을 같이 보는것도 중요하겠지만 내부구조 (예를 들어, vector는 동적 배열, list은 (doubly?) linked list..)와 같이 쓰이는 함수(sort나 또 뭐가있드라..그 섞는것..; ), 반복자(Iterator)에 대한 개념 등등도 같이 보고 더불어 VC++6에 내장된 STL이 ''표준 STL이 아니라는 것''도 같이 말씀해 주셨으면;; (SeeAlso [http://www.stlport.org/ STLPort]) - [임인택]
         [제로페이지의제점]
  • 데블스캠프2004준비 . . . . 9 matches
          * 토이 프러블럼 비중을 줄이자 - 단순히 제푸는건 지루하다.
          * 새로운 제를 쓰자
          * 여기서 숫자는 상대적인 비중의 수 입니다
          * 더 중요하거나 필요하다고 생각되는 방향을 적어주시고 숫자를 올려주세요 (개인당 2표정도 )
         === 프로그램 제 ===
          * 실생활과 연관시킨
          새회원이 프로그램 제를 해결하는 동안 기존 회원을 위한 세미나를 준비해보면 좋겠다는 제안이 나왔습니다. 작년 기록을 보면 기존 회원을 위한 세미나는 없었던 모양입니다.--[Leonardong]
         바로 다음 주인데 광고가 안되고 있습니다. 전에 세미나 할 때 이야기 했다고 안심하고 있으면 안됩니다. 과 게시판에 대자보도 붙이고 동서버에 글도 올리는 게 좋겠습니다. 시험 기간이라도 조금만 수고해주세요. --재동
         데블스 캠프의 매력은 끊임없는 삽질속에 피어나는 짜증과 스트레스, 그것을 단한번에 날려버릴수 있는 성공의 통쾌함. 삽질을 하다가 득 고개를 들었을때 태양이 떠오르는것을 보며 가슴속 깊은곳에에서 올라오는 그것이 아닐까.. - 장창재
  • 데블스캠프2006/월요일/연습문제/if-else/김준석 . . . . 9 matches
          == 데블스캠프2006/월요일/연습제/if-else/김준석 ==
         1번째
          cout << "50이상 ~ 100 사이의 숫자 입력 받고 3의 배수 5의 배수 출력." << "\n";
         if else 2번
          cout << "아무 자나 입력" << "\n";
          if('a'<=i && i<='z') cout << "소자입니다" << "\n";
          else if('A'<= i && i<='Z') cout << "대자입니다" << "\n";
          else if('0' <= i && i <= '9') cout << "숫자입니다" << "\n";
          else cout << "특수자 입니다" << "\n";
  • 데블스캠프2013/첫째날/후기 . . . . 9 matches
          * 데블스 캠프에서 빠질 수 없는 내용인 버전 관리 프로그램 관련 내용을 안혁준 선배가 해 주셨습니다. 전체적으로 깔끔하게 진행한 느낌이었고, 직접 사용까지 해 보면서 새내기들은 조금 더 와 닿지 않았을까 싶네요. 다만 후반의 실습 부분은 약간 구성을 바꾸면 조금 더 매끄럽게 실습을 할 수 있지 않았을까 하는 아쉬운 느낌이 있었습니다. - [서민관]
          * 버전 관리 프로그램이라는 점에 대해서는 작년에도 SVN(이 맞나요?)을 했던 것 같던데, 올해 git을 배워가네요! 근데, 이건 제가 git을 공부를 해야 될 것 같습니다. 이해는 머리속에서 잘 하는데, 사용을 못하겠네요ㅠ_ㅠ. 확실히 저는 습득속도가 느린가봐요ㅠ..어어ㅡㅠㅓ.. - [김해천]
          * 많은 도움이 되는 시간이었습니다. 사실 버전을 따로 관리 하지 않아서 오히려 완성된 코드에 손을 대기 꺼져질 때도 있었는데 Git을 사용하면 이런 부단 없이 코드를 수정 할 수 있을것 같습니다. -[백주협]
          * git 좋아요~! 저녁 약속 때에 git_ignore 설명할 때 가야했다는게 아쉬웠습니다... 뒷 부분을 들었어야 했는데 ㅜㅜ. - [박성현]
          * GIT으로 누가 멍청한 코드를 짰는지 좋은 예시를 든답시고 while을 집어넣었는데 세션 진행에 방해가 되었었네요. 조금 조심해야겠다는 생각이 들었어요. -[김태진]
          * 네트워크는 물론 리눅스를 사용해본 것도 처음이었는데 공부할 것이 많은 것 같습니다. 우선 새로운 프로그램을 접해 봤다는 점에서 큰 수확이었다고 생각합니다. 네트워크 장비를 구비하여 시뮬레이트 하기가 쉽지 않을텐데 이렇게 간단하게 프로그램을 사용하여 시뮬레이트 할 수 있다는 것이 신기했습니다.- [백주협]
          * 시스코 공부하면서 GNS만 사용해봤는데 오픈소스에도 좋은 시뮬레이터가 있다는걸 알게되서 좋았습니다. 코드로 사용할 수 있다는 점도 상당히 마음에 드네요 - [장혁수]
  • 문자열연결 . . . . 9 matches
         === 자열 연결 ===
         자료구조 프로그래밍에 관련된 제입니다.
          제 : x자열 끝에 y자열을 연결시키는 프로그램을 작성하여라.
          * x 자열 마지막에 y를 연결시켜 출력한다.
          || [허아영] || C || 10분 || [자열연결/허아영] ||
          || [조현태] || C/C++ || . || [자열연결/조현태] ||
         [LittleAOI] [제분류]
  • 사과나무/과제방/1회차/김도익 . . . . 9 matches
         scanf 함수는 사용자로부터 자료를 입력받는 함수입니다.
         scanf() 함수는 입력란을 만들어 자료를 입력받는 함수입니다. 입력된 자료는 매개변수로 지정한 변수에 대입됩니다. 장 형식을 통해 입력된 자료를 변수에 대입한다는 점에서 변수의 값을 장 형식에 사용하는 printf() 함수와는 출력 방향이 반대인 셈입니다
         scanf() 함수를 사용하기 전에 printf() 함수로 안내을 보여주는 것이 좋습니다.
         scanf() 함수로 입력된 자료는 변수에 저장됩니다. 이때 입력받을 수 있는 자료형의 종류가 정해진 상태이므로 사용자가 제대로 입력해주어야 합니다. 따라서 scanf() 함수로 자료를 입력받기 전에 어떤 자료를 입력해야 하는지 알려주는 안내이 필요합니다. 이 안내은 printf() 함수를 통해 미리 보여줄 수 있습니다.
  • 새싹교실/2011/A+ . . . . 9 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          * 한성 - 이하동
          * 한종 - printf,scanf 부터 시작하여 if 쓰는법까지 배웠다, while, do while도 언뜻 배우긴했지만 기억이 안남;
          * 한성 - 이하동
         전 시간에 배운 조건/반복과 다른 몇가지를 기억하지 못해서 리뷰하는 시간을 가졌다.
         새싹교실이 끝난뒤 배운 while과 '윤종하 게임'에서 뽑아온 switch코드를 이용해서 [고한종/on-off를 조절 할 수 있는 코드]를 만들어 내었다. 아이 싱난다. -> 이런게 피드백 인가염?
          -> 완전 오버스펙 ㅋㅋㅋ 잘했어~ 흠.. 내가 과제 내준거랑 살짝 다르지만, 배열이랑 for 익히라고 내준건데 아주 잘했어 ㅋㅋㅋ 그리고 switch까지 ㅋㅋㅋ 오버스펙 굳 ㅋㅋ(원희)
          * 피드백 쓰는게 갈 수록 늦어지고 있다 큰일이다 으헝헝. 배열과 포인터, call by value==pass by value에 대해서 배웠고 과제는 swap()을 구현해보라 하셨다. 포인터사용이 아직 능숙하진 않지만 이걸 이용하면 이제 할 수 있는게 무궁무진 해지겠지... 과제완료 : [고한종/swap()] 그리고 이걸 이용해서 다음 C프로그래밍 과목 과제로 예상되는 sort를 시도하고 있으나 잘안됨 ㅜㅠ - [고한종]
  • 새싹교실/2011/Pixar/4월 . . . . 9 matches
          * 오늘은 목요일에 안해서 좀 많이했다! if제어과 for 제어에 대해서 배웠다. 별찍기도 배웠다 흑흑 너무어려워요 제내시면 마추어보고 서로 고쳐보는등 실습위주로 재밌게 수업했다. 많은것을 배울수 있어서 좋았다..ㅋㅋㅋ.. 숙제도 있으니 복습하는겸 열심히 해야겠다. 누나 프링글스 먹구싶어요. ..
          1. 조건, 반복을 오늘로 마치려고 했는데… if else, for만 가르쳐줘서 한 주 더 해야겠어요~ while은 시간상 못 한 거지만 조건 Switch case를 깜빡하다니ㅜㅜㅜㅜ
          * 누나 숙제를 안해와서 정말정말정말정말정말죄송합니다 ㅠㅠ 우으어 C는 넘어려워요........ 구구단이랑 n*n개 짜는건 잘 했는데 그다음에 빈칸남기는건 잘안되네요 ㅠㅠ while하구 switch 배우고 C숙제 다시점검했는데 배우는건 되게 잘한거같아요 ㅋㅎㅋㅎ 누나 내일도 많이배웠으면 좋겠어요~~~~~~~~~~~~~~~~~~ [김연석]
         오늘은 변수종류에대해서 배웠다 local,global,static등에 대해배웠고, 반복사용하여달력도 만들어보았고, 함수에 대해서도 배웠다.
  • 새싹교실/2012/부부동반 . . . . 9 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          C/C++의 법과 활용을 자세하게 설명한 책. 법을 소개하는데 그치지 않고 변화화는 코드가 실제 프로그램과 하드웨어적으로 어떠한 영향을 일으키는지 비교함으로써 본 스터디의 목적과 매우 잘 부합됨
          C 법의 기초를 아주 잘 설명한 개념서. 빠르게 C를 살펴보거나 기억나지 않는 법을 찾아보는데 도움이 됨.
          코드를 Compact하고 Clear하게 구성할 수 있는 방법에 대한 전 연구서
         이번 과제는 실질적인 코드보다 제를 해결하는 프로세스를 알려주기 위한 과제입니다.
         1시간 이상 소요되지 않는 범위에서 제를 해결하기 위한 아이디어를 서술하고 조사한 자료를 토대로
         * 포인터의 의미와
  • 새싹교실/2012/새싹교실강사교육/2주차 . . . . 9 matches
         -과제 확인, 프로젝트 생성, GCC사용법, 컴파일, main함수, 변수, Data Type, 연산자, 입출력 기본 함수, 제어 -
         4. 모르는 API 법 직접 찾아보게 하기 http://winapi.co.kr -> 관련 2 코딩 Q&A
          break;//while을 빠져나간다.
         2.4 #define 선언, 매크로
         2.6 If, switch() { case : default : } 제어.
         ACM의 간단한 제를 풀어보겠습니다. 강사의 역량과 학생의 역량에 맞춰서 풀어주세요 *^_^* 뿌잉뿌잉~!
         쉬운 것부터 아래로 어려운
  • 새싹교실/2013/록구록구/8회차 . . . . 9 matches
          * 반복을 활용한 배열의 장점 및 사용
          반복사용하여 배열의 모든 요소를 출력하는 프로그램을 만들어 보세요!
         2. 5칸짜리 int형 배열을 선언합니다. 값은 scanf와 반복사용하여 입력받습니다.
          int형 이기 때에 소수점 이하가 잘리는 제는 그냥 무시합니다. (출력 예시 참고!)
         == 질 ==
  • 성당과시장 . . . . 9 matches
         [http://kldp.org/root/cathedral-bazaar/cathedral-bazaar.html 성당과시장] 에서 논 번역을 읽을 수 있다. 논 발표후 Eric S. Raymond는 집중 조명을 받았는데, 얼마 있어 지금은 사라진 Netscape 가 자사의 웹 브라우저인 Netscape Navigtor를 [http://mozilla.org 모질라 프로젝트]로 오픈 소스시켜 더 유명해 졌다. RevolutionOS 에서 실제로 Netscape의 경영진은 이 결정중 이 논을 읽었다고 인터뷰한다.
         이후 이 논은 오픈소스에 대한 개발 철학과 입장을 대변하는 유명한 글이 되었다.
         이듬해 Eric S.Raymond 는 [http://kldp.org/root/gnu/cb/magic-cauldron/ 마법의 솥] 이라는 오픈소스의 구체적인 사업 형태 대한 논을 선보인다. 그리고 이후 [http://zdnet.co.kr/news/enterprise/article.jsp?id=69067&forum=1 독점SW vs. 오픈소스「뜨거운 경제 논쟁] 같이 아직까지도 꾸준한 논쟁이 이루어 진다.
         그외에도 [http://kldp.org/root/gnu/cb/homesteading/homesteading.ko.html 인지권의 개간], [http://kldp.org/root/gnu/cb/hacker-revenge/ 해커들의 반란]이라는 논도 있다. [http://kldp.org/root/cathedral-bazaar/cathedral-bazaar.html 성당과시장], [http://kldp.org/root/gnu/cb/homesteading/homesteading.ko.html 인지권의 개간], [http://kldp.org/root/gnu/cb/magic-cauldron/ 마법의 솥], [http://kldp.org/root/gnu/cb/hacker-revenge/ 해커들의 반란] 순으로 씌였다.
         나의 경우 이런 책은 잘 않읽기 때에 그냥 요점만 알아두는 것을 좋아한다. -_-;
         그래서 나는 온라인 서들을 좋아한다 ㅋㅋ
  • 숫자를한글로바꾸기/조현태 . . . . 9 matches
          소스가 길어 보이지만 저기의 stack이라는 클래스.. 사실 저번에 [LittleAOI]에서 만들어서 2번이나 사용했던 클래스다.
          뭐.. 제에서 적어놨으니까 '일만'이라고 읽지만.. 안이쁘닷..ㅠ.ㅜ 제 고쳐주..ㅠ.ㅜ
         const int MAX_LONG=5;//최대가 5자리 숫자이기때.
         const int MAX_NUMBER=10000;//최대가 10000이기때.
         모양만 객체고 malloc을 사용하다니 -_-;;; 하이브리드 소스다 -_-;;; 안좋아 -_-;;;
         음;; 그런게 존재하는건 아니구... C언어면 C언어답게 하는 것이 좋구 C++이면 C++답게 코딩하는게 좋은데.. malloc은 C언어에서 쓰이잖아. 물론 C++에서도 쓰이겠지만 C와의 호환성 때이지 정말로 쓰이는것은 new니까 new를 쓰는게 좋다는거지. 클래스를 malloc으로는 할당 못하거든.
         [LittleAOI] [숫자를한글로바꾸기]
  • 숫자야구/강희경 . . . . 9 matches
         다시 태어난 뉴우~숫자야구!!!
          cout << "☞숫자야구: 컴퓨터가 랜덤하게 3자리의 숫자를 정하면" << endl;
          cout << " 사용자는 그 숫자를 맞추는 것입니다." << endl;
          cout << "☞스트라이크: 자리수와 숫자를 둘 다 맞춤," << endl;
          cout << "☞볼: 숫자는 맞췃으나 자리수가 틀림" << endl;
          cout << "컴퓨터가 숫자를 고르고 있습니다." << endl;
         [숫자야구]
  • 숫자야구/손동일 . . . . 9 matches
         숫자야구
         #include <ctime> // time(0)의 사용을 위해 필요합니다.
          // int x = rand(); // rand()함수는 랜덤한 숫자를 리턴하는 함수입니다.
          // 리턴하는 숫자의 범위는 0 ~ 무지무지 큰 수 입니다.
          // 0 ~ 9 까지의 숫자가 랜덤하게 들어갑니다.
          // int x2 = rand() % 9 + 1; // % 9를 하면 0~9까지의 숫자가 들어갈 수 있고
          // 거기에 1을 더하면 1~10 까지의 숫자가 됩니다.
          cout << "세자리 숫자를 입력하세요 : " << endl;
         [숫자야구] [데블스캠프2003/첫째날]
  • 위키로프로젝트하기 . . . . 9 matches
          1. 해당 주제로 페이지를 연다. 가급적이면 고유한 프로젝트 이름을 가지는 것이 좋다. 일반적인 용어에 대해서는 다른 사람들도 같은 이름의 페이지가 필요할 것이기 때이다.
          * 공동 번역 - 영어 원을 링크를 걸거나 전을 실은뒤 같이 번역을 해 나가는 방법이다. Offline 으로만으로도 가능한 방법이지만 효율적인 방법으로 다른 방법들을 곁들일 수 있겠다.
         기존의 게시판방식이 장점이 있다면 '시간의 역사' 라는 점이 있겠다. 매일 작업일지를 쓰는 경우. 시간의 흐름에 따른 진행상황이 처음부터 주욱 보이기 때이다. 반면 위키는 늘 현재성을 추구한다. 위키의 페이지는 늘 해당 주제를 중심으로 고쳐지는 글이다. 하지만, 시간의 역사 자체의 의미보다는 페이지 자체 내용, 즉 Content 중심의 사고라는 점에 더 무게중심을 두고 싶다. '시간의 역사' 자체가 Content 로서 중요하다면, 그것을 위한 페이지를 열어라.
          1. 현재 자신이 관심을 보인 분야를 다른 ZeroPagers에게 소개하는 효과를 가진다. 그럼으로써 해당 분야에 대해 먼저 공부한 ZeroPagers에게 암묵적으로 질을 던지고 도움을 청하는 것이 된다. ZeroPage 에서 활동하는 사람 역시 다른 사람들의 페이지에 대해서 가급적이면 활발한 Feedback 을 보여주기 바란다.
          * 자신이 공부하거나 프로젝트를 추진하는 내용들을 서로 정리하는 과정을 통해 공부한 내용을 확실히 자기 것으로 만들 수 있을 것이다. 그리고 또한 정리된 서는 타인에게 하나의 좋은 공부자료가 될 것이다. 오프라인 세미나의 자료로 사용할 수도 있겠다. 자신이 한 일에 대해 정리하는 것 자체가 좋은 습관이라 생각된다.
         ZeroWiki 에서 프로젝트를 진행하는데 자유의 제약을 느낀다면 ["프로젝트전용위키"]를 설치하고 사용할 수도 있겠다. --["데기"]
  • 자유로부터의도피 . . . . 9 matches
          * 감상 : 이책을 읽게 된것은 정말 행운인거 같다. 이책은 현대인의 제점을 아주 날카롭고 정확하게 지적해주어서 지금까지 뭔가 뿌연 안개처럼 잘 알수 없었던 제들을 파악하는데 많은 도움을 준다. 인생살이에 정말 많은 도움이 되는 책이다. 이책은.. 강력 추천 !, 특히 고등학교와는 다른 생활에 처음 접하는 대학교 1학년들은 꼭 읽어 봤으면 좋겠다는 생각이 든다. 음.. 솔직히 이책이 그렇게 자극적인 재미를 주는 것은 아니지만, 내가 명확하게 설명하지 못한것을 명확하고 면밀하게 분석해주는데서 오는 통쾌함 같은 것을 느낄 수가 있다. 이책에서 알게 된점은 자유라는 것이 분명 좋은것이긴 하지만 그것을 제대로 제어를 하지 못하면 자신에게 좋지 못한 방향으로 다가온다는 점이다. 그리고 그렇게 좋지 않은 방향으로 다가온 것들(무력감, 고독, 기타 등등)을 피하기 위한 임시 방편(자동 인형, 파시즘)으로는 자유를 제대로 향유할 수 없고, 오히려 자신의 자아를 말살 할 수도 있다는 점이다. 그때에는 오히려 자신의 자아가 다른 어떤 자아와도 다르다는 것을 인식하고, 그러한 자아를 유지하고 키워 나가야 한다. 내가 너무 단순화 시키거나 왜곡 시켜서 말하는거 같지만 내 의견을 말하자면, 자유가 오면 피하지 말고 있는 그대로 맞 받아치고 받아들여서 자신의 제어권 안에 두어야 겠다. 즉 자유가 자신의 주인이 되게 하는게 아니라 자신이 자유의 주인이 되어야 할 것이다. 그리고 여기서 자유를 제대로 향유하지 못한 영향으로 발생하는 새디즘이나 매저키즘등이 나왔는데, 이것도 상당히 흥미로웠다. 지금까지 잘 알지 못했던 내용인데 우리주변에서는 아주 흔하게 볼 수있는 것들이었다. 새디즘이나 매저키즘이나 둘다 자유로부터 도피의 수단이었다. 대충 감상을 적으면 이정도이다.
          * 어떠한 이데올로기, 사상이 사람들에게 영향을 끼치기 위해서는 사람들이 그러한 사상을 필요로 할때에 그러한 사상이 나와야 한다. 칼빈이나 루터가 그 시대에 많은 사람들에게 영향을 끼친것은 그때의 시대 상황이 사람들이 그러한 의지할만한 사상을 필요로 한 시대였기 때인가 보다. 이렇게 영향을 끼친다는 것은 [이기적인유전자]에 나오는 밈을 퍼뜨리는것과 비슷한것 같다. 그렇다면 현대 인들이 열렬히 환호할만한 사상은 무엇일까... 현재 너무 물질 중심적으로 변해가는 사회에 반기를 들만한 것은 아닐까 싶다.
          * 우리가 무의식적으로만 알던것을 날카롭게 지적한것중 하나가 우리는 자본을 소비를 위해서가 아닌 축적을 위해서 모은다는 점이다. 보통 주변에서 보아도 평생 다 못쓸 자본을 끝임없이 축적하는 사람들을 많이 볼 수 있다. 이 축적이라는것이 끝이 없기 때에 항상 이 축적에 매달리게 된다. 이렇게 된 이유가 뭘까.., 우리의 자아를 재산, 명예와 권력등과 같을것으로 지탱하려 하기 때에 그런일이 일어난다. 왜 그런것으로 지탱하려 하는가? 현대 사회에서 개인은 사회에 있어서 평가받는 하나의 상품이다. 그러한 것들이 이런 상품으로서 값어치를 높여주기 때이다.
          * 민주주의 사회에서 자유로부터 도피하는 방법은 강제적인 획일화에 동참하는것이다. 우리는 주변 사람들과 다른것을 입거나 사용하면 불안감을 가진다. 다른 많은 사람들이 입거나 사용하는 그 집합에 포함될때 안정감을 느낀다.
          * 우리는 우리 명이 강요하는 획일화, 자동인형중 하나로 자신을 포함시킴으로써 안정을 얻는다. 즉 거대한 것과 자신이 하나가 되었다고 느끼는것이다. 하지만 대가는 크다. 그 대가는 자아포기.... 저런 획일화, 자동인형에 동참하지 않을때 심각한 외로움, 고독감에 부딪히게 된다. 어떤것을 택해야 할까... 저런것들에 구속되지 않는 사람들이 부처님이나 예수님처럼 깨닳은 사람들인가 보다.
  • 전문가되기세미나 . . . . 9 matches
         == 전가는 무엇이 다른가? ==
         || 전가 수준 || 8000 시간 ||
         전 디자이너에 대한 미신
          * 당신의 질이 답을 가진 사람의 눈 혹은 귀에 도달하는데 30초 미만이 걸리는가.
          * 시스템의 사용에 대해 질이 생긴 시점부터 전 사용자가 답할때까지 평균 3일 이하가 걸리는가?
          * 프로그래머가 이 프로그램을 사용하는 유저로부터 바로 피드백을 받을수 있나?
  • 전문가의명암 . . . . 9 matches
         전가가 된다는 것에는 밝음과 어두움의 두 측면이 공존한다.
         전가라는 것은 한가지 방면에 도가 텄다는 것을 말한다. 여기서 말하는 "도"라는 것은 장인(craftsman)의 의미를 내포한다. 그 유명한 미야모토무사시가 무엇때에 하산하자마자 좌절하고 다시 입산했던가. 기름장수가 쳐다보지도 않고 기름을 퐁퐁 공중으로 날려 호리병에 넣는 모습을 보고 그는 충격을 먹었다. 그 기름장수는 분명 전가였다.
         전가는 한가지를 오랜 기간동안 해왔다. 그래서 그 작업이 몸에 배어 있다. 그의 근육과 신경, 관절이 기억하고 있는 것이다. 덕분에 자신의 뇌력은 거의 사용하지 않는다. 그래서 해당 작업을 하면서도 딴 짓을 자유롭게 할 수 있고, 작업 중 예외상황이 생겨도 여유롭게 대처할 수 있다.
         그 밝음 때에 그림자가 생긴다. NoSmok:장점에서오는단점''''''인 셈이다. 어떤 작업을 하는 데 주의를 덜 기울이고 지력을 덜 씀으로 인해 전가는 자기 작업에 대한 타자화가 불가능하다. NoSmok:TunnelVision''''''이고 NoSmok:YouSeeWhatYouWantToSee''''''인 것이다. 자신의 무한 루프 속에 빠져있게 된다. 자신의 작업을 다른 각도에서 보는 것이 어렵다 못해 거의 불가능하다. 고로 혁신적인 발전이 없고 어처구니 없는 실수(NoSmok:RidiculousSimplicity'''''')를 발견하지 못하기도 한다.
         진정한 전가는 자신의 이러한 밝음과 어두움의 두 측면을 깨닫고 있어야 한다.
  • 정규표현식 . . . . 9 matches
         == 서작성 ==
          * 책임자는 없으나 자신 담당의 서는 자신이 적어야함.
          * 스터디 서는 정규표현식/스터디/챕터이름 (ex : 자열찾기 ) (caution : 붙여써야함) 의 형태를 따른다
          * Wiki 서 작성시 안의 내용은 자유이나 맨위에 정규표현식 내용 링크 리스트는 모두 나와야하며 스터디서에서는 정규표현식 링크와 스터디 링크만 나와야 하며 반대로 모임서에서는 정규표현식 링크와 모임 링크만 나와야한다.
          * 모임 서에는 그 전모임에서 서의 해당 모임까지의 결과를 링크시켜야한다.
  • 정규표현식/스터디/문자집합으로찾기/예제 . . . . 9 matches
         == 제 - 이승한 ==
          1. 다음 파일들의 목록에서 두번째 글자가 영어인데 b또는 c인 파일을 제외하고 찾아라.
          1. 다음 파일들의 목록에서 두번째 글자가 숫자인 파일만 찾아라
          1. 다음 파일들의 목록에서 1300대를 제외하고 찾아라.
          1. 다음 파일들의 목록에서 첫글자가 a나 c이고 마지막 숫자가 1이 아닌 파일을 찾아라.
         == 제 - 김상호 ==
         == 제 - 김준석 ==
          1. 아래 예을 리스트 정의([])로 한꺼번에 특수자들을 찾아보아라.
  • 정모/2006.5.22 . . . . 9 matches
          - (상규) 일단 신입생들은 모르는 부분이 많기 때에 페어 프로그래밍 보다는
          - 법에 알맞은 게임을 내서, 가르쳐 주기는 보다 자연스럽게 배우는게 어떨까??
          - 각 요일마다 목표가 되는 프로그램을 정해서, 그에 맞는 법을 가르쳐 주는게 어떨까??
          - 예전에 나왔던 것, 헬로우 월드, 자판기, 숫자 야구, 등등.....
          - 주제 : 표준 입출력, 제어, 포인터, 함수, 구조체, 클래스, 파일, 타이머, 랜덤, 소켓,
          - 월 : 표준입출력, 법, 함수, MSDN, 비트연산, 아스키 / 수생, 유선, 용안
          - 화 : 구조체, 파일 입출력, 포인터(메모리), 디버깅 / 아영, 상규, 선호, 도현
  • 정모/2007.3.6 . . . . 9 matches
         참여자 : 총13명 김정현, 조현태, 이장길, 변형진, 김준석, 임영호, 장재니, 유상욱, 허아영, 김남훈, 임민수, 원명, 김태훈.
         세 번째 발표자 : 조현태 -> 프로젝트, 놀기, 알바(가장 많은 시간을 할애) => 방학을 주로 돈을 버는데 사용함.
         열두번째 발표자 : 원명 -> 06년 5월에 제대 => 7월달에 아르바이트 활동을 3개월동안 함.(LG전자에서 QA활동을 함) => 10월달쯤에 나휘동 회원과 함께 유럽여행을 3주동안 다녀옴(프랑스, 이탈리아, 스페인). 현재 2학년에 재학중입니다. “앞으로 좋은활동 많이 하겠습니다.”
         원명 : 스터디 소모임
         ...........................오늘 교양학교 등등의 바쁜일들이 많으므로 이 제점은 다음에 다시 논의 하기로 합니다....................................To Be Continue
         - 처음에는 제로페이지 회원이 아니더라도 제로페이지 활동을 활발히 할수 있게 해서 을 활짝 열어두자.
         - 데블스 캠프의 처음 취지와 현재 상황이 부합되지 못한 사항이 있기도 하므로 이 제에 관한 논의를 한번 해야 할거 같음. 날을 새서 코딩을 하는것은 생산성이 떨어짐, 생체 리듬을 망가뜨리는 것도 있음.
         - 이 제에 관한 사항을 좀 더 생각해 보아야 할것 같습니다. 홈페이지를 활용한 토의도 필요할거 같음.
         * 풀리지 않은 제(??)
  • 정모/2012.5.14 . . . . 9 matches
          * 참여자 : [김준석], [민태원], [권순의], [김수경], [강성현], [서민관], [김태진], [장용운], [이진규],[정진경], [권영기], [박상영], [김윤환], [권영기], [권여]
          * 5만원 빚 청산, 10만원 호스팅, 10만원 잡지(월간 마소 예정) 사용 예정입니다.
          * 지원 신청(책 등)은 해당하는 주 정모 페이지에서만 받습니다.!!(위키를 사용합시다.)
          * 진규의 한글 관련 OMS가 상당히 흥미로웠습니다. 역시 오픈 소스 관련으로 알게 된 것 같은데 오픈 소스 쪽은 정말 다양한 화제를 다루는 것 같군요 -_-;; 저도 처음에 우분투 깔고 한글 관련으로 고생했던 기억이 있네요 ;; 진규가 말했던 마지막 자가 제대로 안 찍히거나 받침이 이상하거나 하는 등의 제가 있었습니다. 그리고 다음으로 제일 신경이 쓰이는 부분은 PC실 관리였습니다. 사실 제가 이렇다 하게 PC실 관리쪽에서 뭘 한 게 없어서 가슴이 뜨끔해서 그런 것 같습니다. 슬프네요 ;; 그렇다고 또 그냥 가볍게 넘어가기도 어려운 주제일 것 같아서 앞으로 어떻게 진행될지 궁금합니다. 사실 이거저거 이전에 저도 먼저 손을 뻗어야 할텐데 말이죠. - [서민관]
          * 조금 늦어서 중간부터 들었지만 OMS 재미있게 들었습니다. 키보드 할 때 들어와서 키보드에 대한 이야기인가 했더니 한글에 대한 발표였네요. 사실 저는 Windows를 항상 주로 사용해왔기 때에 한글 사용 관련하여 크게 불편함을 느낀 적은 없었는데 이번 OMS를 들으며 다양한 언어를 지원하기 위해 고려해야하는 점에 대해 생각해보게 됐습니다. PC실 관리는 사용하는 사람들이 불편할 때 학회실로 오게 하는 것이 좋다고 생각합니다. 그게 관리하는 쪽에서도, PC실 이용하는 쪽에서도 편한 방법이죠. - [김수경]
  • 주민등록번호확인하기/김태훈zyint . . . . 9 matches
          printf("주민등록번호 13자리 입력하세요(하이픈 '-' 제외) : ");
          //숫자로만 이어져 있는지
          printf("숫자만 입력해야 합니다\n\n");
          //숫자 값인지
          printf("주민등록번호 13자리 입력하세요(하이픈 '-' 제외) : ");
          chk = chk_input(jumin); // 13자리인지, 숫자로만 구성되어있는지 체크 정상이면 TRUE
          intval(jumin); //주민등록번호를 숫자로 변경
          //숫자 값인지
          chk = is_int(jumin); //숫자로만 이어져 있는지 체크
  • 지금그때2006/세부사항 . . . . 9 matches
         홍보방법 이메일 구에 언급을 한다.
         참여율이 적어도 선배님들께서 좋은 것을 알려 주실려고 하는 것 이기때에 무조건 받는다.
         = 질 레스토랑 =
          2. 주사위에 의해서 선택된 사람에게 메뉴판을 주면, 메뉴판을 받은 사람이 해당 메뉴에서 질을 선택해서 읽어준다.
          * 질이 생길경우
          1. 질을 포스트잇에 기록한다.
          2. 웨이터에게 질을 준다.
          3. 웨이터는 받은 질을 메뉴판에 붙인다.
          주제 - 이전의 주제를 그대로 사용하되, 필요한 것은 추가한다.
  • 튜터링/2013/Assembly . . . . 9 matches
          * 이 과목에서 가장 주로 다루는 어셈블리 언어를 사용하는 이유와 현재 어떤 곳에 사용되는지, 특징은 무엇이며 장단점은 무엇인지 알아보자.
          * 소자를 대자로 바꾸는 프로그램을 작성해보자.
          * 2중 for사용하여 다음 모양의 별찍기를 작성해보자.
          * 아래 제는 기출제입니다. --*
          * 어셈블리언어의 기본법을 보고, 어떤 프로그램이든 컴파일시키고 실행시켜보자.
  • 페이지이름 . . . . 9 matches
          1. 위키위키에서 ["페이지이름"]은 너무나도 중요한 역할을 합니다. 제로위키에서 사용되어야할 페이지이름 규칙도 생각을 해보는게 좋을것 같습니다. NoSmok:페이지이름 페이지에 참고하기 좋은 내용들이 있습니다.
          * 영 제목의 경우 모두 빈칸을 붙여서 사용한다. (제목으로 표시될때 자동으로 단어의 대자 단위로 빈칸을 띄어주므로)
          === 제 ===
          === 제 ===
          사랑방과 같은 시스템에서의 서구조조정은 그 노력이 많이 듭니다. 일관된 주제로 얘기하기가 힘들어지기 때입니다. 따라서 되도록이면 피해야할 구조가 아닐까 생각합니다. 페이지 이름에 제안임이 명시적으로 드러나지 않아도 위키를 사용하는 사람들의 관심을 끌만큼 흥미로운 내용을 담고 있다면 괜찮다고 생각합니다. 조만간 이 부분은 ["페이지이름"] 페이지로 옮겨서 얘기해봐도 좋을듯 합니다. --["이덕준"]
  • 프로그래밍파티 . . . . 9 matches
         다른 학교(이게 중요함) 동아리와 공동행사를 개최하는 것은 어떨까요? 꼭 어떤 공식적이고 거창한 액션을 취하지 않고도, 할 수 있는 것 중에는 가치있는 것이 많습니다. 또, 비격식적인 모임을 종종 갖는다고 해서 제될 것은 없겠죠 -- 오히려 격식적인 년례 행사 같은 것보다 이득이 훨씬 더 많으리라 생각합니다. 행사를 치루기 위해 행사를 하는 것이 아니고, 서로에게서 배우기 위해 행사를 하는 것이죠. 예를 들어, 제로 페이지와 타 대학교 동아리 양쪽으로 편을 나누고, OOPSLA의 DesignFest 비슷한 것을 해보면 어떨까요? ACM의 ICPC같은 것도 좋을테구요. 심사위원단은 양측의 고학년 同數로 구성하고 말이죠. 여러가지로 자극도 많이 되고, 배우는 것도 많을 겁니다. 한 곳에만 고여있는 물은 ??기 마련입니다. (''희상씨네 서강대 모임도 괜찮을 듯한데..?'') 학교에서 못해주면 우리가 직접 찾아하면 되죠. --JuNe
          * 풀어볼 제 - DesignFest Style. Design & Implementation
          * 당일날 풀어야할 제의 난이도 결정.
         '''파티 참가자'''(심사위원 제외. 인원수 제한 없음)
         또한 뒷풀이에 대한 서화, 기록 작업을 하는 게 좋습니다(기록하기 위해서 기록하는 것은 아닙니다. 사용되어지고 읽히기 위해 기록합니다). "참 재미있었어요!"나 "아무개씨는 참 재미있는 사람이고, 홍길동씨는 인상이 좋고.."같은 통신 공간의 상투적 "후기"를 말하려는 것이 아닙니다.
         프로그래밍 컨테스트의 제도 좋지만, DesignFest의 제는 어떨까요? 제 생각에는 후자의 경우에 더 많은 공동학습이 가능할 듯 한데... --JuNe
          * #class, #method : 클래스와 메쏘드 숫자에 반비례 (전체 점수에서 비율은 가장 낮음)
  • 피보나치/김준석 . . . . 9 matches
         태양이 녀석이 for 간단하게 하는걸 올렸구만;; -준식
         /*밑에 pivo함수를 만들어놨기 때에 우선 여기서
          10을 받았을경우 11번을 돌릴수 있기 때
          if검사을 먼저 놓고 p_num을 1감소를 다음에 놓으면
          printf(" %3d 번째 : %d \t", num - p_num,present); //현재 번째 = 돌리는 숫자 - 남은숫자
          if(!((num-p_num)%4)) printf("\n"); //돌리는 숫자-남은숫자가 4의 배수라면 한줄 띄기
          /*현재 돌린 다음숫자를 출력하기 위해 present 자리에
  • 호너의법칙 . . . . 9 matches
         제 : 다항식
          * 파일 출력 사용.
         ...... 머리가 나빠서 제를 이해하지 못해서 못풀겠다는...
         제푸는것보다 이해가 어려워지는..!@#$%^&*()...........
         제이해를 못하겠습니다...... -_- --[최경현]
         일반화된 식을 보고, 한번에 파악하기가 어렵다면 n = 1 부터 차근차근 넣어서 손으로 풀어보세요. n = 2, 3, ... 식으로 제파악이 될때까지 풀어보세요. 그런후에 적절한 설계를 하고, 마지막으로 코딩을 하세요. 데블스캠프 세미나 때 한 하노이타워를 떠올려보세요. -- 보창
         배열은 선언하고, 다항식에서 변수 x값은 표준입력받으세요. 예제 output에서는 변수 x = 1입니다. 출력은 output.txt파일에 한번 해보세요. 제의 요구조건은 이정도 일것 같습니다. 좀 더 일반화된 프로그램을 만들고자 하는 분은 배열도 한번 입력받아 보세요. -- 보창
         미안하군요. 앞으로 제 표기 헷갈리지 않게 주의해서 쓰겠습니다 ! -- 아영
         [제분류] [LittleAOI]
  • 2006김창준선배창의세미나 . . . . 8 matches
          * 단순히 기존의 방식대로 창의적인 생각을 하려고 하기 보다, 이미지나 몸동작과 같은 우뇌를 적극 활용하는 활동을 통해서 창의성을 자극 할 수 있다. 한예로 훌륭한 프로그래머들은 머리속으로 특정 상황을 Play, Pause, Backward 등을 하면서 프로그래밍이나 제 해결등을 한다고 한다.
          * 특정한 의식을 치루고 나면 알파파를 증진시키고, 창의력을 높일 수 있다. 예를 들어서 켄트백은 제가 잘 해결되지 않을때 밖에 나가서 전기톱질을 한다고 한다. 이러한 운동을 통해서 아드레날린이 분비가 되고, 우뇌도 활용하면서 뭔가 생각의 전환을 가져 오는것 같다.
          * Cross Over - 전혀 다른 측면에 있는 것들을 가져와서 현재 제를 창의적으로 해결하는데의 디딤돌로 삼는다.
          * 잠에서 - 자기전에 제를 생각하면서
          * 천재적이고 창의적인 사람은이 하는 것들은 모두 천재적이고 창의적인 것은 아니다. 그러한 사람들이 한것들도 Variance 가 크다. 즉 좋은것은 아주 좋지만, 안 좋은 것은 아주 안 좋다는 것.(천재적 학자와 일반적인 학자의 평균 논의 질(인용횟수로 ) 은 비슷하다. 다만 천재적 학자의 변화폭이 더 크다)
          * 가장 성공적인 논(예술품)을 쓰는해에는 가장 형편 없는 논도 썼다고 한다.
          * 새로운 책을 읽는다면 그 책을 통해서 이전에 자신이 가졌던 지식, 책들을 하나식 통과 시켜 보면서 그 새로 읽은 책을 Amplifier 로 사용한다. 이렇게 해서 단순한 더하기가 아닌 지수승의 효과를 낸다.
  • 2011국제퍼실리테이터연합컨퍼런스공유회 . . . . 8 matches
          * 전세계 42명의 인증 전가. 국내 퍼실리테이터는 6명.
         아이디어를 창출할 때, 제를 파악할 때, 제를 해결할 때, 전략을 개발할 때, 비전을 만들 때, 조직의 상황을 공유할 때, 조직화를 탐색할 때, 합의에 의하여 의사결정을 내릴 때, 팀워크를 형성할 때, 사업 계획을 개발할 때, 과제를 찾아낼 때, 실천 계획을 작성할 때 등은 일반적으로 관계하는 사람들이 함께 참여하여 일하는 것이 바람직하다.
         이는 여러 사람의 지식, 경험, 의견, 관심사를 한 자리에서 나누면서 합의할 수 있는 이점이 있기 때이다.
         하지만 회의나 워크숍에 대한 비판도 만만치 않다. 비효율적이고 의미없는 회의나 워크숍을 많이 경험했지 때이다. '회의' 하면 '시간 낭비,' '쓸데없는 일' 정도로 여기는 사람들도 적지 않다. 이는 회의를 효과적으로 설계하고 진행하는 요령을 가지지 못한 사람에 의해 진행되는 회의를 주로 경험한 데서 비롯된다.
          - 필요한 경우 절차에 따라 기법(예: 브레인스토밍)과 도구(예: SWOT)를 사용한다.
         퍼실리테이터는 답을 제공하는 컨설턴트가 아니며, 지식을 전달하는 강사도 아니다. 또한 개인의 성장을 돕는 코치와도 다르다. 퍼실리테이터는 참여자들(group)이 스스로 답(제해결)을 찾도록 과정을 설계하고 진행을 돕는 사람이다.
  • AntOnAChessboard . . . . 8 matches
         [http://online-judge.uva.es/p/v101/10161.html 원보기]
         어느 날 앨리스라는 개미가 M × M 체스판에 올라갔다. 앨리스는 체스판에 있는 모든 셀을 방하려고 한다. 그래서 판 한 쪽 구석에서 시작해서 체스판을 한 꺼풀씩 훑어나가기로 했다. 앨리스는 (1, 1)자리부터 움직이기 시작했다. 처음에는 한 칸 위로 올라간 다음, 오른쪽으로 한칸 이동하고, 다시 한 칸 아래로 내려왔다. 그리고 나서 한 칸 오른쪽으로 움직여서 두 칸 위로 올라가고, 두 칸 왼쪽으로 움직였다. 이런 식으로 매번 한 행, 그리고 한 열씩을 움직였다. 예를 들어 앨리스가 25단계를 움직인 경로를 표시해보면 다음과 같다. 여기에서 각 숫자는 앨리스가 각 셀을 방한 순서를 나타낸다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 1시간 || [AntOnAChessboard/보창] ||
         [제분류] [경시대회준비반]
  • C++Seminar03/SampleProblems . . . . 8 matches
         [C++Seminar03]에서 ZeroWikian 들이 풀게 될 제들을 간단하게 정리합니다.
         == 제 1 : 구구단 ==
         == 제 2 : 소수출력하기 ==
         == 제 3 : 소트 ==
          크기 100 의 배열에 임의의 데이터를 집어넣은 후 이를 소트~ (플러스제! 특정한 값을 바이너리 서치~)
         == 제 4 : 2차방정식 ==
         == 제 5: 도형그리기 ==
         [C++Seminar03], [제분류]
  • CNight2011/고한종 . . . . 8 matches
         진경x 경진 대회 기출제 풀어줌.
         하지만 난 맞았겠지 언어에서 비학은 하나도 안 틀렸었으니!
          사용할땐 nickname만 써주면 된다.
          사용할때마다 struct name 라고 해야한다.
         사용법은 생각이 나질 않는다.. 사실 이때 졸려서 한귀로 듣고 거의 흘림..
         링크드 리스트는 규칙석이 존재하지 않기 때에 값을찾는데는 시간이 많이 걸리는 단점이있다만.
         목록의 중간에 삽입,삭제가 그냥 배열에 비해 매우 편리하므로 자주 사용된다.
         즉, 프로그래머는 힘들고 사용자는 편하다는얘기...
  • CollaborativeFiltering . . . . 8 matches
         협업 (상호협동) 필터링, Recommender System이라고도 불림. ProjectPrometheus에서 사용한다.
         problem space가 2차원 matrix 의 형태를 생각해본다. 행에 대해서는 item을, 열에 대해서는 user를 두고, 그에 따른 rating 을 값으로 둔다. 이 matrix 를 이용, CollaborativeFiltering 은 특정 사용자(user) i 에 대해서 rating 을 예측하고, item 들을 추천한다.
          1. user인 i 와 비슷한 흥미나 선호도를 가지는 사용자 집합(user set)을 선택한다.
          1. 현재 이용중인 user 와 비슷한 취향의 사용자 집합을 선택 - calculate user correlation
          1. 1에서 선택된 사용자 집합중 예측을 위한 부분집합 선택 - neighbourhood selection
          * Accuracy - 시스템이 추천한 item 에 대한 정확성 (추천 item에 대한 사용자의 점수)
          * [http://jamesthornton.com/cf/ CF논 모음]
         '''구현 시스템 예/논'''
  • CppStudy_2002_1/과제1 . . . . 8 matches
          * 영동의 소스 : 먼저 전체적으로 02학번의 경향이 전역 변수를 쉽게 선언하는거 같다. 전역변수는 나중에 프로그램이 커질 경우에는 다른 여러 변수와 헷갈릴 수 있기 때에 가능하면 피하는게 좋다.
          * 제1번 : 여기서도 전역 변수를 많이 사용한거 같다. 이것은 피하는게 좋다. 여기서 함수가 호출한 갯수를 알아야 하는데 이때는 static 이라는 키워드를 사용하면 된다.
          * 제2번 : 여기서도 전역변수를 피하기를..그리고 주석도 영어로 다는 연습을 하는것도 괜찮을듯 싶다.
          * 제3번 : -
          * 제4번 : 잔해 남는거는 memset(char *,채울자,크기)
  • CppStudy_2005_1/BasicBusSimulation . . . . 8 matches
          * 시내 버스가 제 각각 다른 속도로 시내를 순환 한다. 이때 사용자로부터 입력 받은 특정 시점에서의 각 버스가 위치하는 지점을 출력해준다.
          * 첫번째 숫자는 시내 버스의 순환 거리이다.(단위 km)
         == 사용자 입력 ==
          * 사실 위 제는 아래 제를 내기위한 포석이었음.
          * 아래 제는 본인이 STL 모르던 시절에 짰던 거라서 배열을 마구 마구 썼는데 이 제 푸는 분들은 벡터를 쓰세요~
         [제분류] [CPPStudy_2005_1]
  • CuttingSticks . . . . 8 matches
         [http://acm.uva.es/p/v100/10003.html 원보기]
         === 이 제는 ===
         절단 순서에 따라 요금이 달라진다는 것은 그리 어렵지 않게 알 수 있다. 예를 들어 10미터짜리 막대를 한 쪽 끝으로부터 2, 4, 7미터 위치에서 자르는 경우를 생각해보자. 자를 수 있는 방법은 매우 다양하다. 처음에 2미터 위치에서 자르고 그 다음에 4미터 위치, 마지막으로 7미터 위치에서 자를 수도 있다. 이렇게 하면 요금은 10+8+6=24가 된다. 첫번째 막대는 10미터였고, 그 다음 막대는 8미터였고, 마지막 막대는 6미터였기 때이다. 하지만 일단 4미터 지점에서 자르고 2미터 지점에서 자른 다음 마지막에 7미터 지점에서 자르면 요금이 10+4+6=20이 되므로, 앞에서 잘랐던 방법으로 하는 것보다 요금을 줄일 수 있다. 어떤 막대가 주어졌을 때, 최소 절단 요금을 구하는 프로그램을 만들어보자.
         그 다음 줄에는 n개의 양의 정수 Ci ( 0 < Ci < l) 가 입력되는데, 이 숫자들은 막대를 잘라야 할 위치를 나타내며, 오름차순으로 입력된다.(같은 정수가 두 번 입력되는 일은 없다.)
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || 보창 || C++ || 2일 || [CuttingSticks/보창] ||
         [제분류] / [경시대회준비반]
  • CvsNt . . . . 8 matches
         주의할점! CVS 에 해당 프로젝트와 같은 이름의 tar.gz를 올리지 말것! tarball 기능시 viewcvs 가 tarball 화일을 만들때 이름충돌이 나기 때이다.
         === 사용자 추가 ===
         CVSNT 의 경우 cvs 자체 사용자와 NT 사용자 둘 다 받는 것 같다. 그래서 NT 쪽에 Poweruser 그룹의 사용자들을 추가해주면 cvs도 사용할 수 있게 된다.
         일반적인 cvs사용자 추가도 가능하다. 커맨드 프롬프트에서
         cvs -d 저장소이름 passwd -a 사용자 이름
  • DataCommunicationSummaryProject/Chapter12 . . . . 8 matches
          * 적도 상에서만 있을 수 있음 -> 위성 수 제한, 위도에 따른 전파 세기 제 (지구는 둥그니까)
          * GPS 에 사용
          * 과학이나 군사용으로 사용
          * Iridium: 위성을 사용한 모바일 네트워크
          * 위성은 전통적으로 대륙을 잇는 백본 네트워크로 사용되어 왔지만, 이 역할은 fiber에 의해 강탈당했다.
          * TV 방송국에 의해 선구적이었던, 직접적인 위성 to 사용자 방송은 인터넷에 접근하는 용도로 쓰이는게 점점 늘고 있다.
          * 대다수의 커뮤니케이션 위성은 지구로부터 먼, 그래서 눈에 띄는 지연시간의 GEO를 사용한다.
  • DirectDraw . . . . 8 matches
         극히 개인적인 서가 될것 같네요.[[BR]]
         까는데 어려움이 조금 있었다. 설정할 부분이 있기 때에. [[BR]]
          * DDSCL_ALLOWMODEX : ModeX를 사용 가능하게 해준다는데. 알수 없다.(예전에 쓰던 화면 모드라고 한다.)
          * DDSCL_ALLOWREBOOT : Ctrl+Alt+Del을 사용 가능하게
          * DDSCL_EXCLUSIVE : 독점 모드를 사용 가능하게, DDSCL_FULLSCREEN 과 함께 쓰인다.
         ddsd.dwFlags = DDSD_CAPS|DDSD_BACKBUFFERCOUNT; // 구조체와 backbuffercount를 사용가능
         DeleteMe) DX8 SDK서를 보니 Direct Draw의 전 기능이 Direct3D로 통합 됐다는군.... 고로 DDraw는 이제는 의미가 퇴색한듯.. 쿨럭;; by 봉환(비회원 참견꾼)[[BR]]
         [선호] 뭐.. DirectGraphics로 통합되었다고 하지만 아직 예전의 기능들은 전부 남아있고 영원히 2D를 안하는 것은 아니기 때에. 뭐 2D를 3D를 통해 표현하는 기법들만 요새는 소개되고 있어서 안타깝기도 하지만.^^ [[BR]]
  • DoubleBuffering . . . . 8 matches
          * 만약 새로 그려질 그림이 기존의 지워질 화면에 그려진다면, 화면을 보는 사용자는 지워진 순간을 느끼게 된다.(개념 예제 참고) 이런 공백의 순간을 없애기 위하여 새로 그려질 그림과 배경을 동시에 그리는 기법이다.
          A. 예1) 더블버퍼링 미사용
          * 예2) 더블버퍼링 사용
          * ["[Lovely]boy^_^"]가 뻑하면 짜논 소스를 날려버리는 위험한 넘이라서..--; 서로 남겨놓으면
         ["1002"] : 더블 버퍼링을 하는 이유는, Main Memory <-> Main Memory 간의 메모리복사(Blt하는 것) 이 Main Memory -> Video Memory 간의 메모리 복사보다 빠르기 때에 하죠. [[BR]]
         ["데기"] : ㅋㅋ, 표현이 조금 제를 일으킬줄 알았어요. 화면 전체라 함은 클라이언트 영역을 얘기한 것이고, 버퍼를 바꾼다는 얘기는 포인터만 바꾼다는게 아니라 디바이스 버퍼 내용을 바꾼다는 얘기한거예요. 인수야, 내 애매한 표현땜에 페이지 플리핑이랑 헷갈리지 말어. ^^; [[BR]]
         ["zennith"] : 뜬금없는 소리이고, 고루한 이야기 입니다만, PCI 란 기술이 처음 소개되었을때 꽤 미래지향적인 기술로 각광받았던 것이 PCI bus mastering 이란 기술인데.. 무엇인고 하니, pci 채널로 연결되어있는 기기들끼리 서로의 메모리에 DMA 를 할 수 있었던 것이었죠. 대표적으로 이 기술이 사용된 예(라기보단 제가 알고있는 단 하나의 예)는 TV수신카드에서 사용되는 것이었는데요. TV 어플리케이션에서 TV 가 표시될 부분의 region 을 정해놓으면 TV 수신카드에서 그부분에 해당하는 비디오카드 메모리로 직접 쏴주는.. 그런 기술이었는데.. 더블버퍼링을 보니 갑자기 그 생각이 나는군요. 음.. 요즈음은 다들 agp 를 써서.. 저 pci bus mastering 이란 기술이 아직도 살아남아있는건지.. 잘 모르겠군요.
  • FromDuskTillDawn . . . . 8 matches
         [http://online-judge.uva.es/p/v101/10187.html 원보기]
         블라디미르는 새하얀 피부와 날카로운 이를 가지고 있다. 나이는 600살이나 되지만, 뱀파이어인 블라디미르에게 나이는 별 의미가 없다. 블라디미르는 뱀파이어로 살아가는 데 있어서 별 다른 불편함을 느끼지 못한다. 그는 항상 야간 근무를 맡는 의사로 일하고 있는데, 훌륭하게 의사 생활을 하고 있으며, 야간 근무를 도맡아 하다 보니 동료들하고도 매우 사이 좋게 지내고 있다. 그는 파티장에서 맛을 보는 것만으로도 혈액형을 알마맞히는 쇼를 보여주곤 한다. 블라디미르는 여행을 하고 싶은데, 뱀파이어이다 보니 세 가지 제를 극복해야만 한다.
         {{| 1. 항상 관을 가지고 다녀야 하기 때에 기차 여행 밖에는 할 수가 없다. 다행히도 워낙 오랫동안 돈을 모았기 때에 재력이 상당하므로 항상 1등칸을 타고 다닐 수 있다.
         두 도시가 주어졌을 때 최단 경로를 찾는 프로그램을 만들어서 블라디미르가 최소한의 피만 챙겨서 여행할 수 있도록 도와주자. 피를 너무 많이 가지고 다니면 사람들이 "그 피 가지고 뭘 하실 건가요?" 같은 질을 하면서 의심할 수도 있기 때이다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • Gnutella-MoreFree . . . . 8 matches
         이 서는 내가 아르바이트를 하면서 번역과 작성한 서이다.
          5개의 Descriptor를 사용하고 TCP/IP 프로토콜과 ASCII Code를 기반으로
          Data가 스트림이기 때에 공백이나 Pad Byte가 따라오지않는다.
         || ping || 네트워크상의 호스트를 찾을 때 쓰인다. Payload가 없기 때에 header의 Payload_Length = 0x00000000 로 설정된다. ||
          4. 전달 되었던 Ping과 Query를 제외하고 모든 Ping과 Query는 연결 된
         라우팅시 연결된 모든 nodeList에서 key->Origin를 찾아내어 key->Origin를 제외한 모든 node에 받은 pong 또는 queryHit를 전달
          * [http://www.0bin.net/moniwiki/wiki.php/Specification/gnutella_protocol] : 정리
  • GuiTestingWithMfc . . . . 8 matches
         || . || Listbox 의 첫번째 item 의 자열이 "Testing..." 임을 확인 ||
         || . || Listbox 의 두번째 item 의 자열이 "Testing2..." 임을 확인 ||
         || . || Listbox 의 첫번째 item 의 자열이 "Testing..." 임을 확인 ||
         || . || Listbox 의 두번째 item 의 자열이 "Testing2..." 임을 확인 ||
         || . || Listbox 의 첫번째 item 의 자열이 "Testing..." 임을 확인 ||
         || . || Listbox 의 두번째 item 의 자열이 "Testing2..." 임을 확인 ||
         === 제점 ===
          * 모달리스 다이얼로그인 관계로, 테스트를 run 으로 실행할 때 마다 Dialog 가 켜졌다 꺼졌다 한다. 이에 따른 속도의 지연의 제. -> CDialog::ShowWindow(SH_HIDE); 로 해결 가능
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 8 matches
         데이터 은닉이란 모듈이 그것이 갖는 기능들을 명세한 인터페이스(interface)를 통해서만 접근되고, 그 기능을 구현하는 방법은 다른 모듈로부터 은닉되도록 하는 것을 말한다. 캡슐화된 객체의 외부 인터페이스를 엄밀히 정의함으로써 독립적으로 작성된 모듈간의 상호 종속성을 극소화하여 캡슐화된 객체는 외부 인터페이스만을 통하여 접근될 수 있도록 한다면, 세부적인 구현 상세 사항에 대해서는 객체내에 은닉시킬 수 있다. 또한 캡슐화된 객체는 객체 구현내역을 변경, 혹은 향상시킬 때 이 객체를 사용하는 타 객체들을 변경하거나 다시 컴파일하지 않도록 할 수 있다. 또 모듈의 내부 구현 사항들이 외부의 접근으로부터 보호될 수 있음으로, 그 객체의 정당성을 보증할 수 있으며, 오류가 발생되었을 경우에 오류는 한 모듈내로 국지화될 수 있다.
         우리가 흔히 다루는 각각의 객체들은 서로의 관련되 영역을 사용할 수 있는 부분과 없는 부분이 있다. 이것은 별도로 접근이 가능한 영역과 불가능한 영역으로 나누어서 관리하기 때이다. 이것을 바로 캡슐화라 한다. 갭슐화는 바로 접근 가능한 코드와 불가능한 코드로 나눔으로 인해서 데이터나 특별한 영역을 보호하거나 감추는 역활을 할 수 있다. 때에 필요한 경우 데이터의 접근 필드를 제한함으로서 데이터를 보호하는 결과를 얻을 수 있다.
         상속이란, 기존에 만들어 놓은 객체들로 부터 모든 변수와 메소드를 물려 받아 새로운 객체를 만들 수 있다는 것을 뜻한다. 즉, 새프로그램을 만들 때 기존의 자료를 이용해(상속받아) 새롭게 정의하여 사용한면 된다는 것이다. 이로인해 부수적으로 프로그래밍의 노력이 줄고 시간 단축되며 그리고 OOP의 가장 중요한 재사용성(Reusability) 얻을 수 있다. 델파이는 TObject라는 최상위 객체로부터 상속시켜 단계적으로 하위 객체들을 생성해 만들어진 구조를 지니고 있다.
         추상화란, 객체가 자신의 정보를 안에 감추고 있으면서 외부에 구체적인 것이 아닌 추상적인 내용만을 알려주는 것을 말한다. 때에 추상화란 정보의 은닉(Information Hiding)이라고도 한다.
         객체지향 프로그래밍에서 다형성이란 근본적으로 상속에 뿌리를 두고 있다. 조상 클래스로부터 상속을 받아 새로운 객체들이 파생되어 생성된다. 이때 만약 새객체들이 모두 조상 클래스와 모두 동일한 값만 가지고 있다면 새로운 객체로서 의미가 없다. 왜냐면 그것을 만드는 이유는 무언가 다른 역할을 하기 위해 생성하는 것이기 때이다. 그래서 다형성이란 조상이되는 객체로부터 상속을 받아 다른 결과물을 산출해 낼때 다형성이라는 의미를 부여할 수 있게 된다.
  • HelpMiscellaneous . . . . 8 matches
         === [[질과답변]] ===
         [[질과답변]] 페이지에서 질하시거나 http://kldp.net/projects/moniwiki 를 통해 질하시기 바랍니다.
         === 자주있는 질 ===
         MoniWikiFaq / MoniWikiFaq2 에는 예전의 FAQ를 보실 수 있습니다. 더 궁금하신 부분은 http://kldp.net/projects/moniwiki 를 통해서 질하시기 바랍니다.
         위키위키는 영어권에서 먼저 개발이 되었기 때에 다국어나 한글의 설정에 맞지 않는 부분이 있습니다.
         특정 URL을 fix해주는 기능을 제공합니다. 예를 들어 과거의 {{{http://foobar.org}}}였던 링크가 최근에 {{{http://foobar.com}}}으로 바뀌었다면 이를 UrlMappings에 등록해서 자동으로 잘못된 URL 정보를 fix할 수 있게 해줍니다. 이 기능은 단지 대치만 해주기 때에 실제로 페이지 내용이 바뀌거나 하지는 않습니다.
  • HelpOnHeadlines . . . . 8 matches
         ''' 사용례 '''
          = Heading <h1> 일반적인 경우 사용하지 않습니다. =
          = Heading <h1> 일반적인 경우 사용하지 않습니다. =
         /!\ {{{= 레벨 1 =}}} 제목은 <h1>으로 랜더링되지만 다른 위키위키 마크업과 통일성을 위해 '''두개'''의 "==" 부터 제목줄을 사용하시는 것을 권장합니다. MediaWiki에서도 비슷한 이유로 ``레벨1`` 제목 사용을 제한적 허용하고 있는데, 그 이유는 <h1>은 ''페이지의 제목''에 할당하고 있기 때이라고 합니다.
         모니위키의 경우 제목줄에 기본 법을 사용하실 수 있습니다. 모인모인 혹은 DokuWiki에서는 이를 지원하지 않습니다.
  • HelpOnInstallation/MultipleUser . . . . 8 matches
         모니위키 버전 1.0.9 이후부터 모니위키는 다중사용자를 위한 좀 더 편리한 설치환경을 제공합니다.
         각 사용자는 따로 설치할 필요 없이 관리자가 설치해놓은 모니위키를 단지 make install로 비교적 간단히 설치할 수 있습니다.
         == 사용자 설치 ==
         이 경우 대부분의 php파일이 설치되지 않은채로 각 사용자가 사용하게 되기 때에, 모니위키의 php취약점이 발견되었을 경우 관리자가 설치된 [모니위키]만을 업데이트하는 것으로 제점을 해결할 수 있게 됩니다. 물론 일부 카피된 파일 및 php 이외에 웹상에 직접 노출되는 지역 파일은 사용자가 직접 업데이트해야 하겠지요.
  • HowToBlockEmpas . . . . 8 matches
         ZeroWiki 는 ZP 내부작업을 위한 위키입니다. 아무래도 외부로 노출되었을 경우 여러 제들이 발생할 수 있을 것입니다. (저번과 같은 크래킹의 제도 있을테고요..)
          ''이 방법이 가장 확실함. 아파치 웹 서버에서 IP deny를 시킴. 이때 검색 엔진은 보통 10여개의 IP를 사용하므로 모두 막아줘야 함''
          * Page History 로 해당 페이지를 원상복구 할 수 있고, 백업도 주기적으로 잘 해주고 있으니, 그냥 검색엔진 IP를 막는 것으로 마무리 지었으면 합니다. 단, 동서버에 링크 거는 것에 대한 것이 제인데, 이는 동서버팀에게 요청하는 선으로 해결지었으면 합니다. --석천
         검색서비스를 제공하고 있는 곳에서는 로봇 에이전트를 사용하여 검색한다는거 아실겁니다. 이러한 로봇은 강제성은 없지만 로봇 배제 표준을 따르도록 프로그래밍 하는 것이 관례 입니다. 웹서버 루트에 robots.txt 파일을 다음과 비슷하게 작성하시면 되겠습니다.[[BR]]
         [토론분류],["제분류"]
  • HowToStudyXp . . . . 8 matches
          * XP in Practice (Robert C. Martin et al) : 두 세 사람이 짧은 기간 동안 간단한 프로젝트를 XP로 진행한 것을 기록. Java 사용. (중요한 헌은 아님)
          * XP Examined (논 모음집) : XP 컨퍼런스에 발표된 논 모음
          * XP Conference, XP Universe 등의 논들 (특히 최근 것들)
         기회가 되신다면 주변에서 XP를 직접 사용하는 곳을 방해서 하루만 같이 생활해 보시기를 권합니다. 반년 공부를 앞당겨 줄 수 있습니다.
         나중에 회사에서 직접 XP를 사용할 때 많은 도움이 되었습니다.
  • IsBiggerSmarter?/문보창 . . . . 8 matches
         단순히 Greedy 알고리즘으로 접근. 실패. Dynamic Programming 이 필요함을 테스트 케이스로써 확인했다. Dynamic Programming 을 실제로 해본 경험이 없기 때에 감이 잡히지 않았다. Introduction To Algorithm에서 Dynamic Programing 부분을 읽어 공부한 후 제분석을 다시 시도했다. 이 제를 쉽게 풀기 위해 Weight를 정렬한 배열과 IQ를 정렬한 배열을 하나의 자열로 보았다. 그렇다면 제에서 원하는 "가장 긴 시퀀스" 는 Longest Common Subsequence가 되고, LCS는 Dynamic Algorithm으로 쉽게 풀리는 제중 하나였다. 무게가 같거나, IQ가 같을수도 있기 때에 LCS에서 오류가 나는 것을 피하기 위해 소트함수를 처리해 주는 과정에서 약간의 어려움을 겪었다.
          continue;
  • JTDStudy/첫번째과제/상욱 . . . . 8 matches
          * 테스트 코드를 갖고 어떻게 해야하는지 잘 모르겠어요. import junit.framework.TestCase 구이 있던데 이것은 어디서 가져와야 하나요? -_-;; - [원명]
          * 일단 테스트 무시하고 해. JUnit사용하는 방법은 나중에 알려줄테니깐. - [상욱]
          * JUnit 4.1을 추천합니다. 3~4년 후에는 4.1이 일반화 되어 있겠죠. 사용하다 보니, 4.1은 배열간의 비교까지 Overloading되어 있어서 편합니다. 다음의 예제를 보세요. SeeAlso [http://neocoin.cafe24.com/cs/moin.cgi/JUnit JUnit in CenterStage] --NeoCoin
          * 그리고 스펙을 좀더 명확하게 하면 짜는 입장에서 더 쉬울 겁니다. 그러니까. [숫자야구] 같이 말이지요. 그리고 예외처리 하세요. 아래와 같이요. --NeoCoin
          question=raw_input('숫자를 입력해 주세요. : ')
          print '--0으로 시작하지 않는, 겹치지 않는 숫자 %d개를 넣어 주세요.--'%LENGTH
          * 이 언어들의 시작점으로는 간단한 계산이 필요할때 계산기보다 열기보다 늘 IDLE나 rib(ruby)를 열어서 계산을 하지. 예를들어서 [http://neocoin.cafe24.com/cs/moin.cgi/ET-house_%ED%99%98%EA%B8%89%EC%BD%94%EC%8A%A4?highlight=%28et%29 et-house환급코드 in CenterStage] 같은 경우도 그래. 아 그리고 저 코드 군에 있을때 심심풀이 땅콩으로 짜논거. SeeAlso [http://neocoin.cafe24.com/cs/moin.cgi/%EC%95%BC%EA%B5%AC%EA%B2%8C%EC%9E%84 숫자야구 in CenterStage]
  • JTDStudy/첫번째과제/원희 . . . . 8 matches
          userNum[0] = Integer.parseInt(JOptionPane.showInputDialog(null,"첫번째 숫자를 입력하시오"));
          userNum[1] = Integer.parseInt(JOptionPane.showInputDialog(null,"두번째 숫자를 입력하시오"));
          userNum[2] = Integer.parseInt(JOptionPane.showInputDialog(null,"세번째 숫자를 입력하시오"));
          //String temp = JOptionPane.showInputDialog(null,"숫자를 입력하시오 (한칸씩 띄어서)");
         자바가 완전 기초라서요, 숫자 세개 입력받을때 1 2 3 이렇게 입력받으면 배열에서 1,2,3 이렇게 들어가게 할려고 노력을 해봤지만 어렵네요......ㅠㅠ 생각의 한계로 결국은 따로따로 입력받기......
          * 방법은 여러 방법이 있지. 만약 100자리라면, int 형이 정수값만 가지고 나머지는 버리는 특성을 이용해서 123%10 하면 3이 나오고, 12%10 하면 2 나오고 나머지는 1이고... 이런식으로 숫자른 나누어 줄 수도 있고, 입력시에 어짜피 String형으로 받아지기 때자 하나씩 끊어 읽게끔 해도 되지^^ 조금만 생각해보면 방법이 나올 수도 있어 - [상욱]
  • Java2MicroEdition . . . . 8 matches
         Java 2 Micro Edition (J2ME) 은 휴대전화나 PDA 같은 이동통신 기기등의 가전제품을 목표로 하고 있다. 그래서 초소형 장치에서 작은 장치에 이르는 이른바 소형 디바이스 들이 Java 를 사용할 수 있도록 지원하는 플랫폼이다.
          * PDA 등에서 사용되는...
          * 휴대전화와 같은 매우 제한적이 하드웨어에서 사용되는...
          그림을 보면 맨 아래에 MID, 즉 휴대전화의 하드웨어 부분이 있고 그 위에는 Native System Software가 존재하며 그 상위에 CLDC가, 그리고 MIDP에 대한 부분이 나오는데 이 부분을 살펴보면, MIDP Application과 OEM-Specific Classes로 나뉘어 있는 것을 알 수 있다. 여기서의 OEM-Specific Classes라는 것은 말 그대로 OEM(Original Equipment Manufacturing) 주자의 상표로 상품을 제공하는 것이다. 즉, 다른 휴대전화에서는 사용할 수 없고, 자신의(같은 통신 회사의) 휴대전화에서만 독립적으로 수행될 수 있도록 제작된 Java또는 Native로 작성된 API이다. 이는 자신의(같은 통신 회사의) 휴대전화의 특성을 잘 나타내거나 또는 MIDP에서 제공하지 않는 특성화된 클래스 들로 이루어져 있다. 지금까지 나와있는 많은 MIDP API들에도 이런 예는 많이 보이고 있으며, 우리나라의 SK Telecom에서 제공하는 SK-VM에도 이런 SPEC을 가지고 휴대전화의 특성에 맞는 기능, 예를 들어 진동 기능이나, SMS를 컨트롤하는 기능 들을 구현하고 있다. 그림에서 보듯이 CLDC는 MIDP와 OEM-Specific Classes의 기본이 되고 있다.
         퍼스널 자바와 임베디드 자바는 J2ME 플랫폼이 등장하기 이전부터 임베디드 시장을 목표로 한 자바 플랫폼이었다. 인터넷 셋탑 박스와 같은 나름대로의 성과도 있었지만, pJava와 eJava는 별로 시장의 주목을 받을 만한 사건을 기록한 적이 없었다. 그것은 기본적으로 선 마이크로시스템즈가 하드웨어 설계 및 제조와 관련해서는 그다지 내세울 만한 무기가 없었기 때이었다고 해도 별 무리가 없을 것이다. 즉, 하드웨어 업체의 적극적인 지지 없이는 자바의 임베디드 시장 진출은 요원한 과제였다.
         그리고, 수많은 소비자/임베디드 디바이스들에 공통적으로 적용할 수 있는 플랫폼을 개발한다는 것도 자체적으로 한계가 있었다. 다양한 하드웨어, 다양한 운영체제, 그리고 전혀 호환성 없는 유저 인터페이스까지, 이 모든 차이점을 극복하면서 기존의 J2SE 기반의 자바와의 호환성까지 유지할 수 있는 솔루션은 불가능하다는 제인식이 있었다. 그래서 등장한 개념이 컨피규레이션과 프로파일로의 플랫폼 분할이다.
         컨피규레이션이란 자바 가상머신과 코어 API들에 대한 명세를 의미하고, 프로파일은 그 상위의 클래스 라이브러리, 즉 표준 API 집합에 대한 명세를 의미한다. 이러한 개념적인 분할이 필요한 이유는 메모리와 CPU등의 크기와 성능이라는 측면에서의 요구사항이 동일한 디바이스들의 집합을 하나로 묶어서 컨피규레이션을 정의하고, 이러한 컨피규레이션을 바탕으로 각 디바이스들의 기능, 혹은 버티컬 시장의 요구사항에 맞추어 프로파일을 정의함으로써, 플랫폼의 통일성과 다양성을 동시에 만족시킬 수 있기 때이다.
  • JavaStudy2003/두번째과제/곽세환 . . . . 8 matches
          // KillRoach를 어떻게 사용할까???
          클래스를 실제로 사용할 수 있도록 선언하는 것
          상위클래스가 가지고 있는 특성들을 하위클래스에서 사용할 수 있다.
         = 질 =
          아직 상속을 읽고 있는 중이기 때에 모르는 것이지요^^. private 과 protected 는 상속이 이루어지지 않으면 똑같이 사용이 됩니다. 하지만 상속이 이루어진다면 의미는 틀려지죠. 만약 '''자동차''' 라는 객체가 있다고 봅시다. 그런데 이것은 굉장히 추상적인 개념이지요. 이 '''자동차''' 의 하위 개념인 '''트럭''' 과 '''버스''' 와 '''승용차''' 를 '''자동차'''에서 상속받아 만들었다고 합시다. 그랬을 때 '''자동차''' 가 가지는 어떠한 상태는 '''트럭''' 과 '''버스''' 와 '''승용차'''도 역시 가지고 있을 수도 있습니다. 이런 경우 protected 로 선언해 주면 그 상태를 상속받을 수 있다는 것이지요. 하지만 외부에서 접근은 불가능하다는 사실은 변함이 없습니다. 하지만 public 은 외부에서 접근이 가능하게 되는 것이지요. 한번 직접 코드로 만들어보세요. 어떻게 다른지 채험하는게 가장 이해가 쉬울겁니다.
          * 자바에서 메소드는 처음 시작할 때 소자입니다. 대자로 시작하는 것은 클래스이지요.
  • JosephYoder방한번개모임 . . . . 8 matches
         제4회 한국 SW 아키텍트 대회에서 기조연설을 위해 방한한 Joseph Yoder가 한국 XP 모임(http://xper.org )의 여러분들을 위해 준비한 자리입니다. 리팩토링, 테스팅, 패턴 등을 주제로 간단하게 이야기하고 토론을 할 예정입니다. 특히 패턴쪽에 경험이 많으신 분이시라, 패턴 저작, 패턴 운동의 화 등에 대해서도 이야기를 해주시기로 했습니다. 장소대여비(토즈)를 위해 1인당 약 1~1.5만원 내외의 회비를 현장납부하셔야 합니다. 좀 더 아담하고 편안한 자리를 위해 20인 이하의 소수만 선착순으로 받습니다. 강연(영어)에 대한 통역은 제공되지 않고, 토론/질답 시간에는 순차 통역이 제공됩니다.
          * 질도 정리해 주면 좋겠네요
          * 질을 더 효과적으로 하는 법을 익히자.
         리펙토링 기본 기법에 관해서는 기본적으로 Rename과 함수 분할 등을 Martin Fowler이 지은 Refactoring책을 통해 알수있다고 했다 이러한 리펙토링을 이용하여 청소할 수 있고 리펙토링은 중요하다고 했다. 이거 좋군. 딱 들은 생각. 우선 리펙토링할때는 이름이 최우선적으로 다루어져야한다고 했는데 가장 설명하기 좋고 듣기도 편했던 부분이다. 그 이유는 이름부터가 단축이면 못알아먹기 때에~~~!! 이라고했다. 그래서 나는 앞으로 길더라도 의미가 되는 단어를 쓰기로 결심했다. 괜히 이름 단축시키지 말자고.
         강조했던것은 Agile과 Refactoring의 상관관계였는데 둘다 얽히면 굉장한 시너지를 내기 때에 목적은 달라도 병행해서 쓰면 좋다고했다. Agile을 지금 쓰는 사람 있냐고 물어봤는데 손들기는 뭐했다. Face-to-Face, pair 프로그래밍. Communication 만세다! Agile기법에 대해 Refactoring에 대해 자신의 이념, 이상이 들어간 코드를 만드는 프로그래머가 반대를 한다면 Pair프로그래밍을 통해 '너만의'코드가 아닌 '우리'의 코드라는것을 인식시켜주는게 좋다고 했다. 근데 그런사람이 있을까? 여튼 경험에 우러나온 대답같았다.
         adaptiveobjectmodel은 Joseph이 연구하고 있는 분야로 Refactoring의 상황에 맞는 방법과 패턴의 쓰임세를 지정하는 모델이다. 현재 쓰이는 패턴을 모델화해서 정리해서 했다고한다. 책에서나 보던것을 좀더 정확하고 명확하게 근거있게 설명하는것 같았다. 그리고 Refactoring이 필요한 이유에 대해서는 실제로 이렇게 하면 성공을 하기 때에 리펙토링을 하는것이 좋다고했는데 이것은 다른것에 비해 약한 근거라고했는데 그 이유는 리펙토링을 안한 더러운 코드도 성공을 하기 때이라고 했다. 하지만 자신있게 말하자면 리펙토링을 하는것은 좋다고했다.
          * agile is good for refactoring, 애자일을 사용하면 설계도 리팩토링할 수 있다.
  • MFC/MessageMap . . . . 8 matches
         = 사용자 정의 메시지 발생시키기 =
          * 사용자 정의 메시지란 : 특정한 시점에서 메시지를 보내서 다른 객체의 함수를 실행 시킬수 있다. 굉장히 유용하다. 일종의 콜백 함수 역할을 수행할 수 있는것이다. 즉 어떠한 다른 클래스에서 특정 시점에서 다른 객체의 특정 함수를 실행시켜야 할 필요가 있을때 사용하면 유용하고, 소켓 프로그래밍에서 자주 사용된다.
          * 사용 예 : 어떤 클래스가 view 클래스의 멤버 변수이다. 해당 클래스는 파일을 다운로드 받는 클래스인데 해당 클래스에서 다운로드가 끝났을 경우 view에 있는 serialize 함수를 실행해야 한다. 허나 현재 view클래스가 그 해당 클래스를 멤버로 가지고 있기에 include 로 해당 클래스에서 view 클래스를 포함할 수도 없고, 또 view 클래스의 현재 실행되는 객체를 얻을 방법도 마땅히 없다. 이때 해당 클래스에서 다운로드가 끝난 시점에서 다운로드가 끝났다는 메시지를 발생시켜서 view에 있는 serialize 함수를 실행시킬 수 있다. 이게 바로 사용자 정의 메시지 발생을 이용한 사례..
         #define UM_ACCEPTCLIENT (WM_USER+10) // 사용자 정의 메시지를 정의 한다.
         사용
  • MFC/ObjectLinkingEmbedding . . . . 8 matches
         || AddRef() || 인터페이스를 사용하는 클라이언트의 개수에 대한 카운터를 증가시킨다. ||
         || Release() || 인터페이스를 사용하는 클라이언트의 개수에 대한 카운터를 감소시킨다. 카운터가 0이되면 더이상 사용되지 않으므로 메모리에서 해제될 수 있다. ||
         스를 만들어서 사용하는 것도 가능하다.
         OLE서버를 어떤 방식으로 식별할 것인가? OLE객체는 서, 프로그램등 OLE를 지원하는 어떤 프로그램도 될 수 있다. 시스템에 있는 각각의 OLE객체는 클래스 ID 또는 CLSID라고 부르는 128비트의 숫자로 식별한다. 이들은 GUID라고도 불리우며 알고리즘을 통해서 생성되기 때에 모두 독특한 값을 지니게된다. 이러한 정보는 윈도우 시스템의 레지스트리에 저장되게 된다.
          서버측에는 COleServerDoc에서 파생된 도큐먼트를 이용한다. 서버측에서는 반드시 OnGetEmbeddedItem() 멤버를 구현해야한다. 이는 이 함수가 순수가상 함수이기 때이다.
  • MFCStudy_2001/MMTimer . . . . 8 matches
          이게 메시지 방식으로 구동되기 때에 메시지 큐에 다른 메시지가 쌓이면 그 만큼
         == 기본 사용법 ==
         사용이 끝난 타이머를 죽이는 부분입니다.[[BR]]
         이상이 기본 사용법이었습니다.
          pDlg를 통해서 원래 클래스의 모든 메소드와 변수를 사용할 수 있습니다.
          * CALLBACK 함수를 사용할때의 주의점. (in MSDN)[[BR]]
          - 어플리케이션은 콜백 함수 내부로부터 다음 함수를 제외하고는 시스템 정의 함수를 부를 수가 없다. : PostMessage, timeGetSystemTime, timeGetTime, timeSetEvent, timeKillEvent, midiOutShortMsg, midiOutLongMsg, and OutputDebugString.[[BR]]
          * KB서 Q130866번을 참고했습니다.
  • Memo . . . . 8 matches
         신을 비유로 들면 역할이 두 개로 나뉜다. 한쪽은 신내용을 원하는 대로 편집하는 신사, 한쪽은 신 내용을 제보하는 취재 기자이다.
         우리의 취재 기자는 너무나 소명의식이 강하기 때에 자신이 새로 알게 된 정보를 즉각 신사에 알린다. 또한 어떤 신사 쪽에서 기자에게 정보가 틀렸다고 알려주면, 기자는 다른 신사에게도 모두 새로운 정보를 알려준다.
  • One/김태형 . . . . 8 matches
          continue;
         {{|숫자 입력받음. 입력값이 1이면 64출력, 2이면 10출력, 3이면 23출력, 그 이외의 값이면 "error" 출력|}}
         int number; /*입력받을 숫자*/
         printf("숫자를 입력해 주세요\n");
         {{|정수배열 10개 만든후 숫자 출력하기(미완성) |}}
  • OperatingSystemClass/Exam2006_2 . . . . 8 matches
         === 제 내용 ===
         OS책 7장 - 14장 (13장 제외)
         족보도 필요없을 정도로 완벽히 새로운 유형의 제들이 출제되었다. 1,2번 동기화 제는 평소에 풀어보는 훈련을 하지 않으면 시험 시간 내에 풀기 정말 힘들다.
         그 외에.. raid제. 01학번 김모군이 "이거 내면 짐승이다"라고 했는 정말로 나왔음-_-; 그 말에 덧붙여 01학번 강모군이 "모니터 내면 짐승이다"라고 했는데 역시 나왔음. 말이 씨가 된다더니 옛말 틀린거 하나도 없다.
         === 제 ===
         1. Bounded Buffer제를 세마포어로 푸시오.(코드 작성) 단 버퍼의 사이즈는 7개가 한계이다.
         5. Raid의 정의와, 사용하는 이유, 각 레벨 별 특징을 약술하시오.
  • PHP Programming/HtmlTag . . . . 8 matches
         *<FORM> CGI가 작동하도록 사용자가 정보를 입력하는 "입력양식"을 만들어 주는 태그. 입력양식을 만들려면 반드시 </FORM> 태그로 감싸줘야 함.
          *ACTION=".." - 사용자의 입력정보를 받아서 처리하는 서버에 담김 CGI프로그램의 위치
          *METHOD=".." - 사용자 입력정보가 어떤 방법으로 CGI프로그램에 전달하게 할 것인지 지정.(POST, GET 두가지 값 사용)
          *<INPUT> 사용자에게 어떤 정보를 물을 때 사용하는 태그.
          *VALUE=".." - 입력양식이 처음 표시될 때부터 미리 글씨가 보이게 할 때 사용
          *<TEXTAREA> 여러줄까지 입력필드를 만들기 위해서 사용
  • PPProject/Colume2Exercises . . . . 8 matches
          시프트를 일반화시켜서 생각하고 제에 접근했다. 하지만 풀리지 않았다. 책을 다시 읽고, 그림을 봐서 무엇을 잘 못 이해했는지 살폈다. 하지만 잘못 이해한 부분은 없었다. 시간이 지나고, 제를 다시 읽으면 힌트를 얻지 않을까 하는 생각에 제를 읽었다. 제에서 최대공약수라는 말을 신경쓰지 않았다는 점을 발견했다. 최대공약수를 이용해서 결국 제를 해결했다.
          막힌다는 느낌이 들면, 제를 다시 이해해본다. HowToSolveIt에서 나왔던 발제를 스스로 해본다. 이번에는 빼먹고 넘어간 조건이있는가?라는 발제를 빨리 했더라면 해결 할 수 있었을 것이다.
         다소 여유를 가지고 PairProgramming 을 했다. 혼자 할때보다 제 파악이 잘 되었고 뭔가 탁 트인 느낌이 들었다. 아쉬운 점이라면 제 해결에 너무 매달려서 리펙토링을 게을리한 결과 우아한 프로그램을 완성하지 못했다. 늘 그렇듯이 역할에 맞는 변수명 붙이기는 어렵다. 짧았지만 흥미진진한 시간이었다.
  • Postech/QualityEntranceExam06 . . . . 8 matches
          1. 알고리즘 시그마 1~ i4 까지 타이트를 로우 빅오 사용하여 증명
          6. 1~3개 제 펌핑 렘마 사용하여 증명 혹은 오토마타로 그려서 regular 에 속한다고 증명 하기
          5. DMA 계산하는
          2. 외부 단편화는 무엇이며 TLB 를 사용하여 어떻게 해결? 그리고 내부 단편화와 외부 단편화 대조,,
          9. pointer restrict 관련
          10 Dynamic Scoping 에서 Static type 체킹을 했을때 어떤 제 가 발생하는가
          11. Weakest precondition 관련
  • PowerOfCryptography . . . . 8 matches
         [http://acm.uva.es/p/v1/113.html 원보기]
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         ||[보창] || C++ || 3시간 || [PowerOfCryptography/보창] ||
         ACM제들을 훑어보다가 '1학년 여러분들이 풀어봤으면 좋겠다'라는 생각이 들어 번역해서 올립니다. 지금까지 배운 C를 이용하여 이 제를 한번 풀어보세요. C를 다지기 좋은 제라고 생각합니다. -- 보창
         [제분류] [LittleAOI]
  • PrivateHomepageMaking . . . . 8 matches
         타 포탈과의 연계성 정도 밖에는 없기 때에 홈페이지를 직접 만들어보는 것에
         운영 서버를 사용하는 것은 대략 2가지 방식이 존재한다.
         가 없기 때에 용량의 제한이 없고, mysql, php, jsp 등
         을 이용가능하기 때에 이만한 서버환경이 없다.
         패키지가 무료로 돌아다니고 설치도 간단하기 때에 운영이 같단한 편이다.
         리눅스 환경은 윈도우와는 약간 상황이 다르다. 윈도우만 사용하던 사람은 일단
         만들어야하기 때에 실제로 그 프로그램을 어느정도 뜯어 고칠 수 있는 능력이 필요하다.
         워낙에 위키 클론이 많이 존재하고 다양한 언어로 만들어 졌기 때에 일일이 나열하기 힘들정도다.
  • ProgrammingContest . . . . 8 matches
         컨테스트는 아니지만, ITA 소프트웨어에서는 아예 자신들이 낸 제를 풀지 않으면 이력서조차 받지 않는다.
         나이나 학력 제한이 전혀 없습니다(Open경우). 팀은 세명까지 가능하고, 혼자서도 참가 가능합니다. 사용 가능 언어는 Java, C++, Pascal, Python 등 입니다. 제한 조건은 한 팀은 프로그램 개발을 위해서는 하나의 컴퓨터만 사용해야 한다는 것입니다. 이번 금요일(2002/5/10)에 한국 시간으로는 오후 9시부터 5시간 동안입니다. 온라인(이메일)으로 진행합니다. (see also .http://ipsc.ksp.sk/rules.php )
         만약 제 이해 시간을 포함 (혼자서) 40분 이내에 R1과 R2 모두에 대해 정답을 구했다면 (2000년도 본선제였습니다. 같은 사이트 Problem Archive에 정답이 있습니다) 아마 10위권 이내에 들 실력이라고 사료됩니다. 아마 EightQueenProblem을 (사전 정보 없이) 한 시간 안에 푼 사람이라면 10위권 안에 충분히 들 수 있을 것 같습니다.
         만약 팀을 짠다면 두사람은 PairProgramming으로 코딩을 하고(이 때 Interactive Shell이 지원되는 인터프리터식 언어라면 엄청난 플러스가 될 것임), 나머지 하나는 다른 제를 읽고 이해하고, (가능하면 단순한) 알고리즘을 생각하고 SpikeSolution을 종이 위에서 실험한 뒤에 현재 커플이 완료를 하면 그 중 한 명과 Pair Switch를 하고 기존에 코딩을 하던 친구 중 하나는 혼자 다른 제를 읽고 실험을 하는 역할을 맡으면 효율적일 겁니다. 즉, 두 명의 코더와 한 명의 실험자로 이루어지되 지속적으로 짝 바꾸기를 하는 것이죠.
         특이한 점은 토너먼트 형식으로 제한된 시간내에 프로그래밍 대결을 벌인다는 거죠. 이긴자에게 상금을 줍니다만 미국외의 사람에겐 받을 자격이 없는 것 같기도 합니다. 스윙 애플릿을 다운로드 받아서 주어진 제에 대해 자바, C++, C# 등으로 코딩할 수 있고 제대로 해결했는지 그 자리에서 바로 확인할 수 있습니다. -- 박지훈
  • ProjectZephyrus/Thread . . . . 8 matches
          * ''Database Connection Pool 을 사용하던 하지 않던, DB 자원을 얻어오는 부분을 하나의 end point에서 처리하세요. 처음부터 이를 고려하지 않을 경우, '''*.java''' 에서 Database Connection을 생성하고, 사용하는 코드를 머지않아 보게 될겁니다. 이는 정말 최악입니다. pool을 쓰다가 쓰지 않게 될 경우는?다시 pool을 써야 할 경우는? 더 좋은 방법은 interface를 잘 정의해서 사용하고, 실제 DB 작업을 하는 클래스는 Factory 를 통해 생성하는게 좋습니다. 어떤 방식으로 DB를 다루던 간에 위에서 보기엔 항상 같아야 하죠. --이선우 [[BR]]
          * 제가 저번학기에 작업했던 메신져가 있습니다. 이번 프로젝트를 하면서 참고할 수 있는 부분을 참고하세요. 저번 학기에 정보처리 실습이란 과목에서 프로젝트로 했던 것입니다. UP 로 Process 를 진행했었고, 높은(?) 점수를 위해서 많은 서를 남기긴 했는데.. 부족한 면이 많군요 ㅡ.ㅡ;; http://www.inazsoft.net/projectworktool.html 에서 다운로드 받을 수 있습니다. - 구근
          ''정말 많은 서;; 보고 감탄했슴다 형~ 서형식이나 고려해볼 점등에서 참조할만한 좋은 자료가 될듯 --석천''
          * 제가 JDBC 할때 삽질했던거 다른 사람들은 삽질하지 않도록 하기 위해서 남긴 서가 있어여.. 조금이나마 삽질 방지하는데 도움이 되면 좋겠네여..^^: - 상협[http://www.caucse.net/cgi-bin/moin/moin.cgi/_c0_da_b9_d9_c7_c1_b7_ce_c1_a7_c6_ae_2f_b9_e6_c8_ad_ba_ae_c6_c0_b8_de_bd_c5_c0_fa_2fJDBC JDBC 관련 삽질 방지용 서]
  • RandomWalk . . . . 8 matches
          '술취한 바퀴벌레' 제라고도 한다. 다음과 같은 격자에 술취한 바퀴벌레가 있다고 해 보자 [[BR]] [[BR]]
         === 심화제 ===
          * 격자의 가로, 세로의 크기를 입력받을때. 엄청나게 큰 크기를 입력하면 어떻게 할 것인가? 배열의 동적 할당을 이용해서 2차원배열을 어떻게 사용할까? (c/c++은 자바와 달리 2차원배열을 동적할당 할 수 없다. 따라서 각자가 pseudo (혹은 imitation) dynamic 2D array 를 디자인하여야 한다)
         === 제 소스들 ===
         ||도전자||사용언어|| Source ||
         ||원명||C++||["RandomWalk/원명"]||
         ["제분류"]
  • RegressionTesting . . . . 8 matches
         RegressionTesting 는 SoftwareTesting 의 한 방법으로, 이미 해결된 제들이 재출현 여부에 대하여 검사 하는것
         원 : http://www.wikipedia.org/wiki/Regression_testing
         RegressionTesting 는 SoftwareTesting 의 한 방법으로, 테스터는 이미 해결된 제들이 재출현 여부에 대하여 검사 한다.
         소프트웨어가 개발됨어 감에 따라, 제의 재출현은 불행히도 아주 일반적인 경험이다. 때때로, 그것은 고친 것이(fix)가 나쁜 보정 작업(poor revision control practice)들에 (혹은 revision control에서 사람의 단순 실수) 의하여 사라지기 때에 발생한다. 그렇지만 바로 제에 대한 고친것이 존재하면, 소프트웨어는 '''깨지기 쉬워(fragile)''' 해진다.- 만약 어떠한 다른 변화가 프로그램에 가해지면, 고친 것(fix)은 더이상 동작하지 않는다. 결국, 제를 잘 알지 못한 상태에서, 재디자인된 몇가지 인자들이 있을때, 기존의 구현의 인자들 속에서 재디자인된 부분에서는 동일한 실수들이 발생할 것이다.
         RegressionTesting는 ExtremeProgramming 소프트웨어 개발 방법론의 필수적인 부분이다. 소프트웨어 개발 주기에서 매번 마다 모든 소프트웨어 패키지들에 대하여 광범위하고, 반복적이고, 자동화된 전체 소프트웨어에 테스트를 통하여 그러한 디자인 서들이 교체된다.
  • STL/vector/CookBook . . . . 8 matches
         = 벡터를 사용해보기 위한 기본 셋팅(앞으로 편의상 반말로 합니다.) =
          * 예제로 숫자를 몇개 입력받나 갯수를 입력받은 만큼, 그만큼 루프를 돌려서 숫자를 입력받는 걸 보자.
          * 우리가 여태까지 배운 거만 써보면 이렇게 고칠수 있다. 그 유명-_-한 동적배열이다.--; 아.. delete [] 저거 보기 싫지 않은가? c와 c++의 고질적인 제점이 바로 저거다. 메모리 관리를 프로그래머가 해줘야 한다는거.. 자바 같은건 지가 알아서 delete 해주지만.. c나 c++에서 delete 안해주면.. X되는 꼴을 볼수 있다. (본인이 한번 경험해 봤다.) 그래서 잘 디자인된 클래스는 클래스 내에서 알아서 없애줘야 한다. 바로 vector를 쓰면 저 짓을 안해줘도 된다. 또 고쳐보자.
          * vector<int>... 부분을 보면 또 다른 생성자가 보인다. 인자로 숫자 하나를 받는다. 그 만큼 동적 할당 해준다는 뜻이다. delete? 그딴거 안해줘도 된다. 프로그램 끝나면서 int형 벡터 ar이 소멸되면서 알아서 없애준다.
          * container 에 값이 저장될때는 복사 과정이 수행된다. 그래서 값이 간단한 int, double형 에 대한 containter는 그렇게 제가 되지 않된다.
          * 여기서 잡담 하나. 객체를 parameter로 넘길때도 복사가 수행되지 않는 참조를 사용하자.
          * 그래서 pointer만을 이용해서 저장하자. 하지만 쓸모 없는 객체는 우리가 지워줘야 한다. 포인터를 넣어줄때에는, 컨테이너가 소멸될때는 포인터들은 지워지겠지만. 그 포인터들이 가르키는 값들은 지워지지 않기 때이다.
  • ShellSort . . . . 8 matches
         [http://online-judge.uva.es/p/v101/10152.html 원보기]
         입력의 첫번째 줄에는 테스트 케이스의 개수를 나타내는 K라는 정수 하나만 들어있다. 각 테스트 케이스는 스택에 들어있는 거북이의 개수를 나타내는 n이라는 정수로 시작되며 그 밑으로 n개의 줄에 걸쳐서 거북이 스택의 원래 배치가 기술된다. 각 줄에는 거북이의 이름이 들어있으며 맨 윗 줄에는 스택 맨 위에 있는 거북이의 이름이 있고 위에서 아래로 순서대로 거북이의 이름이 나열된다. 각 거북이한테는 그 거북이만의 이름이 주어지며 각 이름은 80글자를 넘지 않는 자열이고, 알파벳, 숫자, 스페이스 자, 점('.')만 쓰인다. 그 밑으로는 n개의 줄에 걸쳐서 새로운 스택이 기술되며 여기에서도 위에 있는 거북이부터 아래있는 거북이 순으로 이름이 열거된다. 각 테스트 케이스는 정확하게 2n+1개의 줄로 구성된다. 거북이의 수(n)는 200 이하로 제한된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || 2시간 || [ShellSort/보창] ||
         [제분류]
  • SummationOfFourPrimes . . . . 8 matches
         [http://online-judge.uva.es/p/v101/10168.html 원보기]
         오일러는 솟수가 숫자 영역에서 무한하다는 가설을 자신의 고전이론으로 증명했다. 모든 수들이 4개의 양의 솟수 합으로 표현될 수 있을까? 답을 알 수는 없다. 답은 느린 386 컴퓨터에서도 돌아갈 수 있기를 원한다. 시간 제한은 펜티엄3 800 컴퓨터를 기준으로 한다. 이 제에서 솟수의 정의는 "완전한 두 개의 다른 정수로만 나눠 떨어지는 양수"이다. 예를 들어,37은 정수 37과1로만 나눠지는 솟수이다.입력은 한 라인에 하나의 정수N만 포함한다. 여기서 N은 10000000이하의 수이다. 이 수는 4개의 솟수의 합으로 구성될 수 있는 수이다. 입력은 하나의 수만 받는다. 입력 라인에 맞춰, 주어진 조건에 맞는 4개의 솟수를 한 줄에 출력한다. 입력된 수가 솟수 4개의 합으로 표현될 수 없으면"Impossible."이라 출력한다. 답은 여러개가 있을수 있다. 모든 정답을 받아들인다.
          || 작성자 || 사용언어 || 개발시간 || 코드 || 실행시간(10000000 값 기준 4초 이내 통과 여부) ||
          || [보창] || C++ || . || [SummationOfFourPrimes/보창] || O ||
         [보창]이 푼 게 200등이네... 내 순위 찾다가 발견함. 참고로 난 394등. 나도 분발해야겠다 --[곽세환]
         [제분류]
  • SummationOfFourPrimes/1002 . . . . 8 matches
         맨 처음에 제를 읽고 대략 연습장에 제에의 각 변수들이 될만한 부분들을 보았다. 일단 소수들의 합이라 하고, 4자리의 합이라고 한다. 대략 pseudo code 를 다음와 같이 작성해보았다.
         그리고 소수리스트로부터 4개를 구하는 방법에 대해 생각하다. 맨 처음에 대해서는 중복을 허용하면 안되는 줄 알고 구현하였다. 그러다가 제에서 중복을 허용한다는 사실을 알고 다시 구현.
         === 제점 - 4초 이내에 답이 나오지 않는다. ===
         10000000 건에 대해서는 7.49 초 기록 (profiler 를 이용할 경우 속도저하가 있기 때에 profiler 를 끄고 psyco 만으로 실행)
         === 최적화 2차 : 제 영역을 줄이기 ===
          * 이전에도 느낀 점이지만, 한가지 제를 아주 깊게 풀어보려고 하는 것도 여러가지로 학습이 된다.
          * 이러한 제의 경우 특정 알고리즘의 아주 최적화 된 결과물이 답이기 보다는, 무언가 다른 차원에서 봤을때 너무나 빨리 답이 나오게 되는 경우일것이라 추측. 전혀 다른 방법의 어프로치도 생각해보고 싶다.
  • VonNeumannAirport/1002 . . . . 8 matches
         언어는 C++ 로 할 것이고 중간에 STL 중 vector 를 간단하게 이용할겁니다. (자세한 이용법은 나도 모르는 관계로 -_-;) 일단 저는 이 제를 한번 풀어본 적이 있습니다. 연습삼아서 새로 풀어봅니다.
         제는 암튼 이해했고 (Input 에 대한 Output 이 머릿속에서 어떻게 해야 할지 연결이 된 상태) 가장 간단하게 테스트할 수 있는 방법에 대해 생각해야 하겠군요.
         헉. 30분동안 프린트 하신다고 자리필요하신 분 때에 지연. -_-; 다시 시작;
         에러가 난다. C++ 에서는 터플이 없으므로.. -_- 배열을 넘기는 방법이 있고, vector 를 이용하는 방법이 있습니다. 저번에는 배열로 했기 때에 이번엔 vector 로 해본다는. ^^;
         이 경우 testOneToOneMove 가 깨지게 된다. 데이터형이 다르기 때이다. testOneToOneMove 쪽 테스트 형을 똑같이 작성해준다.
         Press any key to continue
         작동을 잘 한다; 제는 이제 Airport 쪽으로 축소되는 듯 하다.
         {{{~cpp // 제 발견! - AirportTest::setUp()
  • ZeroPageHistory . . . . 8 matches
         이 서는 [[ZeroPage성년식/거의모든ZP의역사]] 에서 내용을 옳겨와 정리 하는 서입니다.
         ||여름방학 ||Computer Architecture, Assembly, Pascal 등의 스터디/강좌. 현대 경진대회 준비반 개설(15일간 오전 9시-오후 5시까지 전산 커리를 모두 다룸, 기출제 풀이 등) ||
         ||여름방학 ||C++, HTML, Object Pascal 세미나 개최.(목적 불 게시물: 비선점형/선점형 멀티태스킹, Win32의 프로세스와 스레드.)(긁어놓은 게시물: 타이머, 마우스) ||
          * 데블스캠프 : C, 파일 입출력, DOS, UNIX, Windows, Web Programming, Object-Oriented Programming, Network
          * ACM제 샘플풀이, 3D
         ||겨울방학 ||하드 제로 인한 서버 소실 ||
          * 07년은 서버 날라갔던거 때에 위키 및 홈피에 흔적이 없고 스터디들이 생각나지 않는다ㅠ 기억나시는 분들 채워주시길.. - [지원]
  • ZeroPage성년식 . . . . 8 matches
          * 의 사항: 메일(theZeroPage@gmail.com) 혹은 ZeroPage 홈페이지(http://zeropage.org)
          * 온오프믹스 참가 신청에 제가 있나요?(이벤트 페이지를 제 이름으로 만들어서 저는 참가 신청을 할 수가 없습니다. 그래서 어떤 제가 있는지 알 수가 없네요.) 선배님께서 온오프믹스로 참가 신청이 힘들다고 다른 방법을 만드는 게 좋겠다는 말씀을 해주셨습니다. 온오프믹스에 제가 있다면 구글독스를 통해 추가적으로 신청을 받거나 아니면 온오프믹스 참가 신청시 발생하는 제를 해결하는 법을 알아내어 온오프믹스 페이지에 안내하는 것이 좋을 것 같습니다. - [김수경]
          * 페이스북에서 바로 신청을 하는 경우 제가 있을수도 있는거 같았아요. 정욱이형이 저번에 된줄 알았는데 안됐길래 다시하라고 해서 됐거든요. -[김태진]
          * 그닥 제가 없었던걸로 기억하는데 저도 제로페이지 메일에서 신청에 제가 있다고 보내주신걸 확인했습니다. 메일로 간단한 몇가지 사항과 함께 참가 의사를 밝히면 저희가 관리하는 방법도 있지 않을까요 - [지원]
  • html5/form . . . . 8 matches
          * 폼 태그는 HTML 서에서 사용자 입력을 위해 제공되는 양식 태그
          * HTML5 의 Canvas를 지원하지 않는 IE8 이전 버전을 위해 ExplorerCanvas(http://code.google.com/p/explorercanvas/) 라이브러리가 제공되듯이 HTML5 확장 폼을 지원하지 않는 브라우저의 경우 WebForm2 라이브러리를 사용할만 하다
          * WebForms2 라이브러리는 HTML 폼 확장에 대해 각 브라우저마다 다르게 동작하는 제점을 극복하기 위해 제공되며 Cross Broswer HTML5 Form 구현을 가능하도록 해 준다. 이와 관련한 다음의 글을 참고해 보기 바란다
          * max and min - 유요한 날짜, 시간 그리고 숫자
          * form 으로 전송되고, 값을 사용자가 조정 불 가능하다.
          * 용량과 임계치가 존재하는 상황에서 현재 사용량을 보여주는 UI
          * min, max 로 최소값과 최대값(임계치)를 설정하며 현재 사용량의 정도(낮음, 높음, 적정)을 나타내는 low, high, optimum 속성이 제공된다.
  • html5/web-workers . . . . 8 matches
          * 현재 브라우저와 웹어플리케이션이 가진 설계상의 제로 생겨남
          * 처리할 내용이 많아지면 사용자는 페이지를 조작할 수 없음
          * 이 제를 해결하기 위해 Web workers를 사용
          // 전역함수 postMessage 사용
         = 워커에서 사용가능한 변수, 메서드, 생성자 =
          * window, document사용 불가
          * onmessage(), postMessage(), onconnect()등 사용가능
  • 금고 . . . . 8 matches
         [http://acm.kaist.ac.kr/Problems/2004og.pdf 원보기]
         새로 개발한 금고의 견고함을 측정해서 광고하려고 하는데, 금고 K개를 가지고 이 빌딩의 F층이 몇 층인지를 알고 싶다. 가능한 방법은 임의의 층에서 직접 금고를 떨어뜨리고 그 결과를 확인 하는 것 뿐이다. 물론, 부서진 금고는 다시 사용할수 없으며 부서지지 않았다면 다시 사용할수 있다.
         이런상황에서 K개의 금고를 가지고 F층이 몇층이던 간에 F층을 알아낼수 있는 최소한의 금고 낙하 획수를 E(N,K)이라 하자. 예를 들어 K = 1이라면 F를 알아내기 전에 금고가 부서지면 안되기 때에 1층부터 차례대로 올라가면서 금고를 낙하해야 하며 많아야 N번이면 F층을 알아 낼수 있다. 따라서 E(N, 1) = N이다. 건물의 층수를 나타내는 정수 N과 금고의 개수를 나타내는 정수 k가 주어 졌을때, E(N,K)를 계산하는 프로그램을 작성하시오.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || 많이..ㅡㅜ || [금고/보창] ||
         [제분류] [경시대회준비반]
  • 김희성/리눅스계정멀티채팅2차 . . . . 8 matches
         int client_socket_array[25]; //클라이언트 소캣, 각 스레드 마다 자신의 번호에 해당하는 소캣 사용
          //ex) 스레드가 사용 중인 소캣 == client_socket_array[스레드 번호]
          continue;
          continue;
          continue;
          continue;
          //사용자가 이해하기 쉽도록 스레드 번호에 +1 값을 쓰도록 한다.
          continue;
  • 노스모크모인모인 . . . . 8 matches
          * ["2002년도ACM제샘플풀이"]
         위에 "대" 을 누르면... 타이틀이 없어져요
          * 특정 서를 처리 못한다.
          * 서의 내용보다는 서의 이름에서 제가 발생하는것 같습니다..
          * python의 코딩상 제점을 찾는다. 최소한 모든 파일 unix newline 으로 변경
         대누르면 타이틀 없어지는 것은 moin_config.py 에서 {{{~cpp FrontPage?action=print&value=notitle}}} 의 ? 이후를 지워버리면 원래처럼 됨.
  • 덜덜덜/숙제제출페이지 . . . . 8 matches
          printf("숫자를입력하세요 :n");
          printf("숫자를 입력하세요 : ");
          printf("숫자를 입력하삼 : n");
         5명의 이름을 모두 받게 한거양 scanf("%s" , &name[a]); 에서 a는 for안에 있는 증가하는 변수잖으 각각의 이름을 받기위해서 저렇게 해준거지
         '%c' 는 캐릭터 자 하나(char)를 말합니다. '%s'로 바꾸면 자열(string)을 받거나 표현할 수 있습니다. 즉, {{{~cpp scanf("%c", &n);}}}가 {{{~cpp scanf("%s", &n);}}}로. printf로 표현할때도 마찬가지입니다. --재동
         위에 이름까지 같이 함께 묶어서 넣고 싶으면 .. 이름은 타입이 다르기때에 구조체라는것을 써서 같이 묶어서 넣을수 있습니다. 구조체는 나중에 배울겁니다. ^^ 그리고 주석을 사용안하고 변수명으로 의미를 알수 있게 해줄수 있다면 그게 더 좋습니다. 변수명이 조금 길어지더라도 주석 없어도 이해가도록 짜면 좋습니다.(리펙토링에 나오는 얘기..) 예를 들면 국어 성적 변수명은 KoreaScore 혹은 ScoreOfKorea 이런식으로 쓸수 있습니다. - [상협]
  • 데블스캠프2006 . . . . 8 matches
         == 연습제&코드 ==
         [데블스캠프2006/연습제] - 각 요일별 연습제,최종 프로그램 올리는 페이지 입니다.
         [데블스캠프2006/월요일/연습제]
         [데블스캠프2006/화요일/연습제]
         [데블스캠프2006/수요일/연습제]
         [데블스캠프2006/목요일/연습제]
         [데블스캠프2006/금요일/연습제]
  • 데블스캠프2006/월요일/연습문제 . . . . 8 matches
         == 데블스캠프2006/월요일/연습제 ==
         [데블스캠프2006/월요일/연습제/if-else]
         [데블스캠프2006/월요일/연습제/switch]
         [데블스캠프2006/월요일/연습제/for]
         [데블스캠프2006/월요일/연습제/do-while]
         [데블스캠프2006/월요일/연습제/기타제]
         [데블스캠프2006/월요일/함수/제풀이]
  • 데블스캠프2006/월요일/연습문제/if-else/주소영 . . . . 8 matches
         == 데블스캠프2006/월요일/연습제/if-else/주소영 ==
         첫번째
         if else 2번째
          cout << "자를 하나 입력 하시오\n";
          cout << "대자 \n";
          cout << "소자 \n";
          cout << "숫자입니다 \n";
          cout << "특수자 입니다 \n";
  • 데블스캠프2009 . . . . 8 matches
         == 연습제&코드 ==
         각 요일별 연습제,최종 프로그램 올리는 페이지들
          * [데블스캠프2009/연습제]
          * [데블스캠프2009/월요일/연습제]
          * [데블스캠프2009/화요일/연습제]
          * [데블스캠프2009/수요일/연습제]
          * [데블스캠프2009/목요일/연습제]
          * [데블스캠프2009/금요일/연습제]
  • 데블스캠프2009/금요일후기 . . . . 8 matches
          * [김준석] - 이외수씨는 얘기했다. 세상에 답을 알기는 쉬워도 답을 실천하기는 어렵다고. '반성','반복','목표'. 인간개발에 대해 얘기를 할때 능력을 단련시키는데는 이 단어들은 빠지지 않는 '답'인듯하다. 그래프를 그려 사람 능력 발전정도에 대해 얘기해주실때 개발자가 1차 목표인 나에게 좀더 현실감 있게 다가왔다. 사람 심리에서 나누는 상위의 욕구(명예욕, 과시욕)에 자극되는것이 아니라 내가 앞으로 살아가는데 필요한 밥을먹고 옷을입고 자는 '생존'의 욕구를 건들여 절실해졌달까? 비록 내가 최종 목표가 아닌 1차 목표(10년)으로 개발자를 생각했다고 했다지만 능력 개발에 매달리지 않으면 왠지 '평범'하거나 '떨어져나가는'그런 개발자가 되는 미래가 피부에 와닫는 느낌은 서늘하면서 뒤쳐진다는 생각에 분함을 느꼇다. 그런 내 미래에 대해 생각한다면 무언가 내가 해야한다고 생각하지만 달없는 밤길을 걷듣이 앞이 보이지 않는 길을 걷는것 같은 느낌. 생각으로는 어딘가를 가야한다 생각하는데 보이지 않아 어디로 가야할지 모르는 그런 망설임. 그때 앞길을 밝혀줄 불빛이 필요하듯 좀더 다양한 공부 경험과 그것을 반성,반복,목표하는 자세가 필요하다고 생각한다. '철학','수학','소통','작'등의 아주 기본적인것에 대해 좀더 한번 생각을해보고 태도를 고쳐보는것도 필요하게 되었다. 또 한가지 나한테 아쉬운 점이라면 아직 군인 신분이라고 정확한 목표를 세워놓지 않아서 그것에 대한 조언을 여쭈지 못했다는것이 아쉬웠다. 후에 메일로 상담신청 고?
          * [송지원] - 감동의 물결, '선배님은 역시 다르구나!'를 확확 느꼈다. 나의 평생 직업을 찾기 위해 노력한다고는 했지만 정작 나는 학술회 잡지나 논에는 손대본적도 없다. 사실 도서관에서 그걸 공짜로 빌려준다는걸 모르고 있진 않았는데 말이다. 모르는 것보다 알면서 안하는게 더 나쁜건데.. 삽질을 적게 하는 방법 세미나에서는 역시 정형화된 발상과 안일한 마음가짐으로는 성공할 수 없구나 라는걸 실감했고, 제로페이지는 이래서 대단한 곳이구나 하는 것도 느꼈다.
          * '''서민관''' - 그냥 코딩도 부족한 점이 한참 많은 저한테 Short Coding은 너무 힘들었습니다. 결국 결과물도 내지 못 했고 말이지요. 그렇지만 전에 short coding을 했던 점에서 비추어 봐도 그렇고, 코드를 짧게 하면서 제에서 요구하는 점을 정확하게 짚어내는 기술과 가장 짧고 간단하게 구현하는 기술이 늘어나는 것 같습니다. 제가 생각하기에 이 부분이 저한테 가장 부족하면서도 가장 필요한 부분이 아닌가 생각합니다. 정말 힘들지만서도 피해갈 수 없는 길이지 싶네요.
          * [송지원] - 처참했다. 내가 처참했던 이유는 Short Coding에 실패했기 때이 아니라 Coding 자체에 실패했기 때이다. 아이디어는 제대로 생각했는데 구현을 잘 못하겠다는 나의 첫 마디는 헛소리였다. 아이디어도 틀렸고 코딩도 처참했다. 그리고 마지막엔 아이디어를 줘도 Wrong Answer를 띄우고 말았다. (주어진 숫자에 대해서는 성공했지만 정작 1이나 2를 input으로 받으면 실패했기 때) 줘도 못받아먹는 이 못난 인간을 어찌하면 좋으리요 ㅋㅋㅋㅋ
          * '''서민관''' - 참. 무시무시한 수업이었습니다. 여러가지 의미로. 실력도 물론 무시무시하셨지만, 그것보다 우리가 평소 아무렇지 않게 사용하던 사이트들이 그렇게 보안에 취약한지는 처음 알았네요. 아무렇지 않아 보이는 이미지 파일이 쿠키를 뽑아내는 모습은 참 기가 막혔습니다. 덕분에 Javascript의 강력함도 같이 느낄 수 있었네요. 이번 방학에 팀 프로젝트를 하신다고 하던데 되도록이면 같이 참가해서 뭐라도 좀 배워보고 싶습니다.
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/강성현 . . . . 8 matches
          * HashMap을 사용하여 단어와 빈도수를 저장함. 저장할 빈도수가 2개라 int형 2개를 저장하는 Int2 클래스를 만듦.
          * 파일입력은 FileData 클래스를 만들어서 사용. java.util.Scanner를 사용하였음.
          * train 데이터를 읽어들여서 일단 자열과 빈도수를 csv 파일로 저장. 이를 Analyze 클래스에서 csv 파일을 읽어들여 test 데이터를 판별.
          if (wordsInArticle.contains(word)) continue;
          if (wordsInArticle.contains(word)) continue;
          if (wordsInArticle.contains(word)) continue;
          if (wordsInArticle.contains(word)) continue;
  • 마케팅천재가된맥스 . . . . 8 matches
          * 이책에서는 고대 이집트에서 그때까지는 없었던 '바퀴'라는것을 새로 발명한 맥스가 그 '바퀴'를 이용하여 세계최고의 '바퀴회사'가 되어 가는 과정을 이야기한다. 처음에 맥스가 '바퀴'를 만들었을때, 우리 공학도들이 그러는것처럼 이 기술은 정말 최고의 기술이야, 가만히 앉아 있어도 서로들 이것을 사려고 하겠지 하는 생각을 했다. 그러나 결과는 지금 현실과 마찬가지로 기술 개발만 하고 그 후 마케팅, 판매를 못해서 거의망하기 직전까지 간다. 그렇다고 맥스가 아예 판매에 손을 땐것은 아니다. 부인과 함께 이집 저집을 방하면서 판매 하려고 해도 실패를 한다. 그러다가 '세일즈캡틴', '빌더벤', '마법사토비' 를 차례대로 고용해서 판매를 하려고 했지만 번번히 실패한다. 그러다가 '클로저 카시우스'를 고용해서 판매에 성공한다. 현재 시장 상황에 따라서 필요한 세일즈 방식이 다르다는 것을 보여준다. 정말 중요한것은 시장 상황에 따라서 세일즈 방식이 다르다와 세일즈 방식이 다르기 때에 고용하는 세일즈맨들도 성향이 달라야 한다는 것이다. 강추 책.
          * 기회를 혼자서만 사용하기를 원한다. 최고의 특권을 가지고 싶어한다.
          * 지식, 자원이 풍부. 제품을 공급만 해줘도 알아서 잘 사용할 정도의 지식..
          * 제품에 대한 기술적, 제품 사용 교육등 토탈 솔루션 제공
         == 던져야할 질 ==
          * 다음과 같은 질을 클로저, 마법사(기술자), 빌더(인간관계구축), 세일즈맨이 각각 필요할 시장 상황에서 생각해본다.
          * 이 제품의 경쟁자는 누구인가? (신제품이라 할지라도 기존의 비슷한 용도로 사용하던것들)
  • 문제풀이 . . . . 8 matches
         = 제풀이 =
          * 집에 인터넷 사정으로 약속했던 목요일에 제를 못올렸습니다.
          * [제풀이/제안] SeeAlso [제분류] ToyProblems
          * 매주 목욜에 지난주 제의 알려진 풀이와 금주의 제가 나갑니다.
         == 제 ==
         || [제풀이/1회] || 최대값, 최소값 ||
  • 새싹교실/2011/Pixar/5월 . . . . 8 matches
          * 오늘은 재귀함수 복습하는 차원에서 하노이탑을 같이 구현해봤습니다. 아마 좀 어려웠을거예요. 저도 1학년때 어디서 열심히 보고 짰는데 방학되고 짜보려니 또 생각이 안 나서 헤맸던 기억이 나네요. 오늘 해봐서 알겠지만 완성된 하노이탑 소스코드가 원반 하나하나를 순서대로 옮기는 프로그램은 아니었어요. 그런데도 실행시키니 제대로 움직이는 걸 볼 수 있었죠. 만약 원반 하나하나를 따로 생각했다면 원반이 7개만 되어도 생각하기 너무 어려웠겠지만 n개의 원반을 옮기는 제를 n-1개의 원반을 옮기는 제와 n번째 원반을 옮기는 제로 나눠서 생각하니 간단하게 해결됐죠. 앞으로 학년이 올라가면서 더 복잡한 프로그램을 짜다보면 이런 접근이 얼마나 중요한지 느끼게 될 거예요. 제를 해결할 때 전체를 보고 단계를 나눌 수 있어야합니다. 우리가 그림을 그릴때 숲을 그린다고 하면 어떤 귀퉁이의 나뭇잎 하나부터 그려나가는 게 아니잖아요. 나무의 배치, 뼈대같은 것을 먼저 그려야 균형잡힌 그림을 그릴 수 있듯 프로그램을 만들 때도 큰 그림을 먼저 생각해볼 수 있었으면 좋겠습니다. 물론 그런 접근이 단번에 몸에 익지는 않을 거예요 ㅋㅋ
          배열에 대해서 누나에게 저번숙제를 위해 배워놨었기 때에 배열은 어렵지 않았습니다. 근데 배열을 활용한 예제들이 무척이나 어려웠습니다...ㅠㅠㅠ 숙제도 해가야대는데 ㅎㄷㄷㄷㄷ 너무 어려워요 ㅠㅠㅠ 이번새싹은 컴퓨터가 바뀐 5피에서 하고싶습니다. 어려운 제좀 잘 풀고 싶습니다 ㅠㅠ
         어제는 배열에 대해 공부했습니다. 배열은 변수가 많을 때 편리하게 시간단축하기위해서 사용하는건데 자료형 쓰고 배열이름이랑 크기로 나타냅니다!
          * 4피 환경이 여의치 않아 빈 강의실을 찾아 진행했습니다. 손코딩도 매우 좋은 학습 방법이라고 생각하지만 네명이나 되니 일일히 봐주기 어려워 직접 코딩하는 것보다 진행하기 어려웠어요. (다른 것들도 그렇지만) 배열은 사실 쓰는 법은 매우 간단합니다. 어떻게 활용하는지와 실제 배열 사용시 작동방법을 이해하는 것이 중요하다고 생각해요. 그런것들은 앞으로 다른 부분을 배우면서 실습을 통해 계속 배워나갈거예요. 다음 시간에는 새로 단장한 5피를 쓸 수 있었으면 좋겠습니다.
  • 새싹교실/2011/무전취식/레벨8 . . . . 8 matches
         김동우 : 놀았습니다. Ipad 만졌습니다. 쩔음. 님도 사셈. 프로젝트 회의를 했습니다. 2주뒤에 영어 서 50장을 만들어야합니다. 2주뒤에 키노트 준비 해야합니다. 배워야합니다. 영어에요 또. 짜증납니다.
         이소라 : 저번주 목요일날 모여서.별로 한게 없음. 어제한거 말씀드림. 어제 집에가서요. 친구 대타로 알바하게되었음. 걔가 축제를 하는데 공연을 해야한다고 알바를 대신해야한다고 그랬음. 축제가 수목금이라 월화는 안가도 될줄 알았는데 교육을 받으래서 2시간 일찍가서 교육받고 알바함. 8~12시까지 할것도 없음. PC방이었음. 그래서 일을 더했는데 사람이 2~3시되면 사람도 없는데 40대 아저씨가 이상한 창을 띄우고 보는걸 카운터에서 봄. 그리고 빨리 닫음. 화충격. 어제 잠을 못자서 스트레스를 받아서 라면, 햄버거 먹고 먹고 먹고 먹고 잘수 있었는데 친구랑 나가서 놀음.
         이진영 : 일요일에 야구장에 갓음. 잠실. 'ㅅ' 두산 vs SK=> 0:5 이겨서 신남. 그리고 어제 남자친구가 학교를 옴. 예사를 같이 들음. 필기를 대신해줌 ㅋㅋㅋㅋ 소라 : 그래서 내가 옆에 못앉음 ㅠㅠ 남자친구앉고 내가 앉고 이종성이 앉음. 그래서 남자애들이 주목해서 욕함 ㅋㅋㅋ 학교가 좋아 보인다능. 대학교처럼 보인다고함. 그리고 월미도에 감. 바이킹을 탓는데 90도 넘어서 무서웠음 ㅠㅠ 그리고 하나 타고 밥먹으로 나감. 그리고 카페갓다 집에갔는데 아빠 생신이었음. 근데 엄마 아빠가 없어서 둘이 데이트하러나가셨나 보다해서 봤더니 아빠가 제가 안와서 속상해서 술마시러 가심 ㅠㅠ 아빠가 술먹고 제방에서 주무심. 죄송합니다 아빠. ㅠㅠㅠㅠㅠㅠ
          * Struct(구조체) : 간단하게 사용자 정의 배열이라고했습니다.
          * 왜 4번이 실행됬을까? => 파일포인터가 가르키는 파일 구조(struct)안에 답이있다 => 파일을 얼마나 읽었는지 저장하기때이다.
          * 구조체란...? 사용자 정의배열이지.
          * 오.. 1등 ㅊㅋㅊㅋ. 기특하군 새벽에 메신저에 있는거보니 뭐하는진 모르겠지만. 재밌길. 파일pointer가 좀 신기하긴 하지 사실 난 저걸 배울때 그냥 법으로 알았는데 생각해보면 pointer라는것을 깨달은게 정말 오래걸렸달까? 구조체는... 나중에 진화한단다 그걸 위해서 고생좀 해봐야지. 그래 우리가 앞으로 더욱 레벨업된 몬스터를 상대하게 될꺼야. - [김준석]
          * 우왕=ㅂ= 귀엽게 써주었네~! 진영이 너무 귀엽다 ㅠㅠ 파일 입출력은 다음시간에 복습할겁니다. 이렇게 한번씩 생각해본다니 신난다!! 뭘해볼까!? 빠지지 말고 와야되요!!! 그리고 포인터에 대한 질 고마워요. 뒤에 또 다시 복습 하겠습니다. 포인터는 중요하고 중요하고 중요한것이니까요. 아싸 신난다~! - [김준석]
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.17 . . . . 8 matches
          1. Pointer란 무엇인가? ( 법적 측면, 활용적 측면 )
          4. 잘못된 Pointer 사용의 사례
         = 피드백 제 =
          3. int *p = 10; 과 int *p = a; 중 올바른 사용 예는? ( int a = 300; 이 미리 선언되어 있다고 가정 )
          * 배열 나가기 전에 포인터를 나가보았습니다. 변수와 포인터를 비교하며 가르쳐보았습니다. 그러다가 용운이의 질 덕분에 *(애스터리스크) 연산자가 뜻이 모호하다는 것을 깨닫게 되었습니다. 왜 곱하기랑 주소참소를 구분하지 않았을까요? 의이군요. 배열하고 포인터는 어차피 다른 개념이라, 기본적인 개념은 포인터를 먼저 가르쳐도 상관없네요. 앞으로는 포인터를 먼저 가르쳐야겠습니다. 왜냐면 맛있는 걸 먼저 먹어야 기분이 좋으니까요? - [박성현]
         피드백 제 [장용운]
         피드백 제 답 [송치완]
  • 새싹교실/2012/새싹교실강사교육/1주차 . . . . 8 matches
         1. 새싹 강사, 학생에게 서로 질 던져보기 (뭐 때에 들어왔나?/목표는?/왜 그렇게 잘생김•이쁨?/한 주 동안 뭐했는지 공유)
         선배 후배간의 학술적인 교류를 개인적인 능력에 의한 특혜가 아니라 누구나 공개적으로 경험하기 위하여 ‘05년도부터 시작된 ZeroPage ‘새싹 배움터’를 시초로 한다. 현 ‘12년 학부의 한 행사로 자리잡아 컴퓨터 공학부의 세 학회(ZeroPage, Netory, CLUG)가 진행을 하고 교수님과의 Feedback을 통해 유동적인 강의 과정을 만든다. 또한, 새싹 교실의 필수과정인 Wiki의 사용, 회고를 통해 처음 프로그래밍을 접하는 새내기들뿐만 아니라 새싹 교실의 선생들도 배움을 얻어가는 자리이다.
         2.1 기본 골격 : 강의 자료(유인물) + 새싹 선생님의 설명 + 학생들의 질 + 실습 과제 + 회고
          새싹 교실 서를 작성하는데 도움이 필요하다면 http://wiki.zeropage.org/wiki.php/새싹교실/2011/데미안반을 참고해주세요
          각 반 페이지는 새싹교실/2012/반이름처럼 하위 서로 만들어주셔야 합니다
         예) 새싹교실 첫 수업이었다. 강사는 누구셨고 잘생겼다. 누구누구랑 같이 듣게 되었는데 얘네는 처음 본다. 얘는 언제 봤었고 같이 해서 좋다. 새싹교실의 정의에 대해 배웠는데 강의 중에는 뭔가 강사가 들떠있는 것처럼 보였다. 그리고 위키를 작성하는 것을 보았는데 사용법이 어려워 보였다. 그런데 거기다가 내 페이지로 글을 만들고 내 각오를 여기다가 적으니 부끄럽지만 신기하고 좋았다. 학교 강의에서는 이렇게 가르쳤는데 여기선 이렇게 가르친다 그런데 학교 강의가 더 잘 이해되는 것 같았다.
          새싹 교실은 정규 과정이 아닙니다. 그렇기 때에 새싹을 중도에 포기하는 일이 없도록 회비를 걷었다가 무사히 마친 후에 다시 돌려주는 형식을 취하고 있습니다.
  • 새싹스터디2007/영동 . . . . 8 matches
          * 조건(if, switch), 반복(for, while, do-while)
          * 포인터 기초적인 부분.(선언 및 사용/값에 의한 전달과 포인터에 의한 전달)
  • 소유냐존재냐 . . . . 8 matches
          * 인간의 본질적인 제라고도 할 수있는 소유와 존재의 제에 대한 에리히 프롬의 통찰력을 엿볼 수 있는 책
          * 이책은 제목 때에 읽게 되었다. 제목은 내가 생각해 보았던 제에 대해서 무엇인가 해답을 제시해 줄거 같았기 때이다. 나는 지금까지 소유 제에 대해서 많이 생각해 보았었다. 고등학교때 논술을 많이 썻었는데 이때 특히 많이 생각해 본거 같다. (논술은 고통스럽지만 사고력은 키워주는거 같다. ㅡㅡ;;) 그런데 이책은 소유제에 대해서만 논하는게 아니라 그와 대비되는 개념으로 존재라는 개념을 제시 했다. 솔직히 이책 중간 정도 부분에서 이해 안되는 부분이 많아서 대충 넘어 갔다. ㅡㅡ; 이책은 내가 어렴풋하게만 생각했던 개념이나, 생각들을 명확하게 인식하게 해주었다는 점에서 큰 의의를 가진다. 그리고 마지막에서도 현대 사회의 제점에 대한 해결책을 현실성은 부족하지만 그래도 명확하게 제시해 주어서 속 시원했다. 한번 밖에 안 읽었고 읽은지도 꽤 되어서 이 외에는 별로 생각나는게 없다. ㅡㅡ;, 이책이 전달하고자 하는 것을 완전히 이해할때까지 더 반복해서 나의 생각과 비교하면서 읽어 봐야 겠다.
  • 손동일/TelephoneBook . . . . 8 matches
          int mode; // 항목 선택시에 사용되는 변수
          int menu_num; // menu 선택시에 사용되는 변수
         const int base_save = 4; // 처음 기본으로 저장되어있는 전화번호 숫자.
         // 확인하기 위한
          if(check_num >= 1) // 구체크를 위해서..
         // check_num = check_num + 1; // 구 체크를 위해서
         // cout << "for 이 끝났습니다. " << endl;
         // 코드의 제점
  • 숫자를한글로바꾸기/정수민 . . . . 8 matches
         알고리즘은 제가 없는데 자잘한 실수때에 2시간이나 더걸려버렸다.
         이런제는 한번보면 다른일을 못하니 별수없이;;;
          // 숫자를 출력한다. 여기서 "input[ dummy_ja_ris_soo - ja_ris_soo ]"이조건은 시작을 //
          // 제외한 부분에 1은 출력을 안한다는 것이다. //
          // else if 부분은 시작부분은 무조건 숫자를 출력한다는 조건이다. /
          // 큰 자리단위를 출력한다. "(ja_ris_soo-1)%4==0"이조건은 숫자의 뒤에서부터 4개단위로 //
         [LittleAOI] [숫자를한글로바꾸기]
  • 스터디그룹패턴언어 . . . . 8 matches
         우리는 평생 배워야한다. 학습하고 자라기 위해서 우리는 수업을 듣고 선생에게 상담을 받으며 기사와 책을 읽거나 동료와 친구들로 부터 도움을 구한다. 우리가 사용 가능한 많은 학습 방법 중에 가장 훌륭한 것들 중 하나가 스터디 그룹이다.
         스터디 그룹은 대화에 참여해서 고전의 본 같이 쉽지 않은 어떤 주제에 대한 이해를 증진시키기 위해 정기적으로 모이는 개인의 집합이다.
         기념비적인 책, ''A Pattern Language'' 와 ''A Timeless Way Of Building''에서 크리스토퍼 알렉산더와 그의 동료들이 패턴언어에 대한 아이디어를 세상에 소개했다. 패턴언어는 어떤 주제에 대해 포괄적인 방안을 제공하는, 중요한 관련 아이디어의 실질적인 네트워크이다. 그러나 패턴언어가 포괄적이긴 하지만, 전가를 위해 작성되지 않았다. 패턴은 개개인의 독특한 방식으로 양질의 성과를 얻을 수 있도록 힘을 줌으로서 전적 해법을 비전가에게 전해준다.
         커리프스키의 유명한 글. 스터디 그룹 패턴에 대한 정리. 꽤 유명한 서; 퍼진지도 좀 되었지만. 요약을 하면서 좋은 스터디그룹 방법에 대해서 정리를 해볼까 생각(번역까진 아니고, 그냥 읽으면서 정리하기). 앞으로 ZeroPage 에서 어떠한 스타일로 실천이 될지 모르겠지만.
          누가 먼저 이 페이지를 만들었는지는 모르겠지만, 요즘 이 패턴을 다시 볼 필요가 생겨서요. 공부하는 셈 치고, 원의 굵은 글씨랑, 일부 내용만 먼저 옮겨볼께요. 가능하다면 패턴 이름도. 요약 번역본이 되겠죠. 관심 갖는 사람이 더 많아 질 수 있을 것 같아요. 위키니까 도움도 받을 수 있을 것 같네요. --[이덕준]
         원 : http://www.industriallogic.com/papers/khdraft.pdf
  • 시간맞추기 . . . . 8 matches
         제 : user가 시간을 맞추는 프로그램이다. 프로그램 시작 후 8초가 경과되었다고 생각했을 때, user가 아무키나 누른다.
          * 무한루프 for 사용
          * time() 라이브러리 함수 사용.
          * kbhit()함수 사용. - 사용자가 아무키나 눌렀는지 안눌렀는지 알리는 함수.
          || [보창] || C++ || 10분 || [시간맞추기/보창] ||
         [LittleAOI] [제분류]
  • 신기호/중대생rpg(ver1.0) . . . . 8 matches
          continue;
          continue;
          continue;
          continue;
          continue;
          continue;
          continue;
          continue;
  • 여사모 . . . . 8 matches
          * 다음 주제는 자열(String), 스택(Stack)과 큐(Queue) 입니다. 단어 뜻 정도는 알아오는게 좋겠죠?
         - 아마도 자열이 초기화가 안돼서인것 같다. strlen()함수는 char *(캐릭터형 포인터)을 전달인자로 받지.
         게 strlen()함수야. 자열을 초기화할 때에는 예를 들어 char * arr = "ABCDE"; 라고 하면 arr[5]에는 자동
         때에 이상한 값이 출력되는 거지. cout << a; 라고 해보면 이상한 자들이 출력되는게 보일꺼야. 7,8을 입력
         했을때 23이 나오는 것은 포인터 a가 가리키고 있는 주소+23에 NULL자가 들어 있다는 뜻이지.
         배열은 만드는 명령이 아니야.
          int * a = new int[b]; // 이와 같은 경우에는 원하는 값을 할당받아 사용하므로 올바르게 실행된다. */
  • 우리가나아갈방향 . . . . 8 matches
         따스한 5월의 봄날에 맞이한 제로페이지의 10주년을 진심으로 축하합니다. 10년이라는 적지 않은 시간동안 우리 학회가 만들어온 크고 작은 모습 하나하나는 선배님들과 여러 동기 여러분 그리고 후배님들의 학에 대한 열정과 서로에 대한 이해와 배려가 일구어낸 아름다운 자화상이라고 생각해봅니다. 우리 제로페이지는 중앙대학교 컴퓨터공학과의 최대 학회이며 여러 학생들의 학술적 비젼을 제시해 주고 있는 중요한 학회입니다. 이런 제로페이지가 좀 더 발전적이고 원숙한 모습을 갖추기 위해서 당부하고 싶은 것들을 몇가지 말씀 드리고자 합니다.
         시대의 흐름을 바로 읽어 우리가 해야 할 것들에 대한 명확한 목표를 제시하고 서로 도와가며 공부할 수 있는 분위기를 조성하는데 주도적인 역할을 하길 바랍니다. 낯선 학에 대한 설레임과 막연한 두려움 때에 어느 곳부터 손을 대야 할 지 몰라 고민하는 신입생들이 많이 있습니다. 또 프로그래밍 언어 1~2가지를 익혔으나 그 다음에는 무엇을 해야하는지 내가 이 도구를 공부해서 무엇에 써야하는지 몰라 일관성 없는 학습만을 반복하여 제자리를 맴돌고 있는 친구들도 많이 있습니다. 우리 학회에는 훌륭한 선배님도 많이 계시고 능력있는 회원님들도 많이 있다고 자부하고 있습니다. 이런 분들이 배우고자 하는 회원들에게 방향을 제시하고 또 배우는 사람들은 자발적으로 학습하며 자신의 능력을 개발해 나가는 것이 중요합니다.
         우리나라의 기업은 인턴쉽 제도가 발달되어 있지 않기 때에, 대학생들이 방학이 되어도 자신의 전공과 관련된 경험을 쌓은 기회를 잡기가 쉽지 않아 보입니다. 그나마 아르바이트를 구하는 경우에는 프로그래밍 언어를 다루는 능력이 뛰어나고 경력이 있는 사람을 선호합니다. 그렇기 때에 경력도 없고 프로그래밍 실력이 뛰어나지도 않은 대다수의 학부생이 방학 때 경력을 쌓기란 어렵습니다.
         학교를 따라 인맥이 형성되는 현상은 그다지 바람직하지는 않아 보이나, 없는 것보다는 낫다고 생각합니다. 인맥이 제가 되는 것이 아니라, 아는 사람이라고 무조건 우대하는 눈먼 인맥이 제이니까요. 인맥을 통하면 자신이 모르는 정보를 얻을 수도 있고, 자신이 하고자 하는 일에 도움을 받을 수도 있습니다. 아르바이트도 아는 사람을 통해서 구하는 경우가 태반입니다.
         연락망을 만드려면 연락처를 구하는 일이 가장 먼저 이루어져야 한다고 생각합니다. 현재 제로페이지 회원 연락망이 회장단에게 물려져 내려오고 있지만 연락처가 부정확한 경우가 상당수 있습니다. 연락이 가능한 회부터 시작하여 꼬리에 꼬리를 물고 연락처를 구해나갈 수 있을 것입니다. 그 다음으로 현재 활동하지 않는 회원들에게도 가치를 돌려줄 수 있는 정보 공유의 장이 마련되어야 하리라 봅니다. 무조건 도움을 받기만을 바라고 이러한 인맥을 만든다면 그다지 많은 호응을 얻어낼 수도 없을 것이기 때입니다.
  • 윤종하/지뢰찾기 . . . . 8 matches
          system("pause");//위에 장은 읽어야되니까
          for(j=0;j<i;j++) if(pos_data[i].X==pos_data[j].X && pos_data[i].Y==pos_data[j].Y) continue;//중복 좌표가 생기면 재생성
          if(coordX==0 && coordY==0) continue;//기존 위치에 있는 데이터를 참조했을 때
          if((temp_pos.X>size.X-1 || temp_pos.X<0) || (temp_pos.Y>size.Y-1 || temp_pos.Y<0)) continue;//범위를 초과했을 경우
          else if(map[temp_pos.Y][temp_pos.X].iIsRevealed==TRUE) continue;//이미 깐 것일 경우
          if((temp_pos.X>size.X-1 || temp_pos.X<0) || (temp_pos.Y>size.Y-1 || temp_pos.Y<0)) continue;//범위를 초과했을 경우
          if(coordX==0 && coordY==0) continue;//기존 위치를 참조했을 경우. 지우면 stack overflow의 향연
          if(map[temp_pos.Y][temp_pos.X].iIsRevealed==TRUE) continue;//열려있을 경우는 검사할 필요가 없잖아
  • 이연주/공부방 . . . . 8 matches
          - 특수자를 이용해보시오. 다른 방법이 있을수도 있음. - [임인택]
          -뭔가 도움이 안될지도 모르지만;; %d는 그냥 변수에 저장되 있는 숫자의 자릿수를 그대로 받아서 출력하지만 %숫자d 같은경우는 안의 숫자만큼의 공간을 우선확보하고 변수안의 수를 읽어드리기 때으로 알고있심 =0=;; 변수의 자리수가 안의 숫자를 오버해 버릴때의 제는 나도 모르지만;; %.2f 같은경우는 소수점을 2자리까지만 표시를 하는게지 -_-!!! -[정수민]
          이게 어디서 나온 제야?? - [톱아보다]
  • 일반적인사용패턴 . . . . 8 matches
         위키위키를 처음 방하시면 FrontPage에 들어오실겁니다. FrontPage는 말 그대로 대이 되는 첫 페이지로, 현 이 위키공간 항해의 시작점이 됩니다. 처음 방하실때에는 FrontPage부터 시작하셔서 각 페이지 링크를 클릭하셔서 항해하시면 됩니다.
         그러다가 해당 페이지를 수정하고 싶으실때가 있으실 겁니다. 잘못된 정보를 바로잡고 싶을때, 내용을 덧붙이시고 싶을때, 토론중인 내용에 참여하시고 싶을때, 또는 토론중인 내용을 정리하여 하나의 서로 만들고 싶을 때 등등.. 그럴때에는 거침없이 왼쪽 최하단의 'Edit Text'를 클릭하신뒤, 해당 페이지를 수정하시면 됩니다. 위키위키의 공간은 누구에게나 열려있으며, 누구나 수정할 수 있는 페이지입니다.
         위키의 특성상 한 페이지가 길어지는 경우가 많습니다. 스크롤을 위해 휠만 사용하는 것보다는 Page Up, Page Down을 적절하게 사용하시는 것이 편합니다. 한쪽손은 키보드, 한쪽손은 마우스.~
          * 대 - 가장 첫 페이지로 갑니다.
          1. 새 이름을 사용할 새로운 페이지를 만든다.
  • 정규표현식/모임 . . . . 8 matches
         * [김상호] : 자 그대로 찾기
         * [김홍기] : 모든 자 찾기
         * [김준석] : 특수 자 찾기
         2. 각자 제 내기
         자열과 패턴들을 제시하고 적절한 자 찾기.
         각자 한제씩 내면 총 4제.
  • 정모 . . . . 8 matches
         ||||2023.01.04||[김경민]||||||||무지개 너머 어딘가 행운의 숫자가 있어||
         ||||2023.03.21||[김도엽]||||||||프로그래밍 제로 C++ 입해보기||
         ||||2023.05.15||[김동우]||||||||삼성전자 DX부 동계 대학생 S/W 알고리즘 역량 강화 특강 후기||
         ||||2023.08.21||[정현승]||||||||인공지능 논리 입 - 명제논리||
          -> 관찰해보건데, RC 비 참여자들의 질 & 의견제시가 거의 없다.
          -> 사회자가 모든 질에 대한 답변을 한다.
          -> 해결책 : 해당 주제제안자에게 사회자가 질에 대한 답변을 위임한다.
  • 정모/2011.3.28 . . . . 8 matches
          * 논 읽기 함께 하실분??
          * 현재 ZeroPage 회원 중 작년도 합격자와 탈락자가 모두 있으니 관심 있는 사람은 위키/게시판에 질하세요.
          * 이번 정모는 지난 한달간 제로페이지가 어떻게 지내왔었는지에 대해서 다시한번 생각해 보는 시간이었습니다. 그래서인지 독서 모임 말고도 다른 프로젝트나 스터디를 해야 겠다라는 생각이 들긴 했었는데.. 오늘 보다 보니까 박성현 학우 혼자 리펙토링 스터디에 이름이 올라가 있던데 왠지 저도 한번 해 볼까 라는 생각도 들고 -_-;; 음.. 논 읽기라.. 여하튼.. 한달간의 제로페이지의 모습은 새 학기를 시작하는데 있어 정말 분주했었고 알차게 되기 위해 노력했었던 것 같습니다. 오늘 OMS는 콘솔 게임에 관심은 있지만 자금적인 제..... 로 못하고 있는 저에게 참 재미 있었던 주제였습니다. 플레이스테이션도 그런 컨트롤러가 나와 있었는지 몰랐었는데 오늘 보면서 플레이스테이션이 왜 안나오나 했었는데 나와 있었구나 라는 생각을 하게 되었습니다. (응?) 그리고 그런 컨트롤러를 이용하여 게임 외 다양한 분야에 활용하는 것을 보고 생각의 전환이라는 것이 사소한 부분에서 시작하는 것을 다시금 느낄 수 있었습니다. - [권순의]
          * OMS에서 상현이형이 발표하신 인터페이스에 관한 것들이 참 기억에 남더군요. 그 장비들로 작년에 창설을 진행했으면 전 A+을 받고 1학기 장학금을 타서 ZP 선배, 동기 들에게 술과 밥을 제공했을 것 같았습니다. 그리고 스터디는 하고있지만 학생회 일정 때에 했다간 민폐력만 키울거 같아서 못하게 된게 정말 아쉬웠구요 ㅠ 방학 때에나 해야겠습니다. 그리고 새싹 저희반이 생각보다 다른 반보다 한게 은근히 많더군요. 1등반 만들도록 애들 닥달해야겠습니다. 훗. 그리고 전 회비 냈지 말입니다. 그리고 회장님이 아이스 브레이킹에서 이상한 키워드라고 회피하셔서 아쉬웠어요. - [윤종하]
          * 정모에 참여하면서 굉장히 죄송했습니다; 저질 체력 때에 몸이 자꾸 소리쳐서 몸의 요구를 들어줬습니다; 그래서 정모도 중간중간 일어나서 참여했습니다, 정말 죄송합니다; 키넥트에 대해 정말 간략하게만 알고 있어서 OMS를 집중해서 들어서 키넥트에 대한 정보를 더 알아보려 했지만 실패했습니다. 생각해보니 키워드 전기수도 아예 못 들었네요; 역시 밤을 새는 건 좋지 않네요... 습관이 되버린 것 같기도; 운동 다시 시작하려고 합니다..만 발때에 못하겠네요 -_-;; - [박성현]
          * 이번 정모는 굉장히 산만했던 것 같습니다. 개강 첫 달의 회고가 찜찜하게 마무리된듯 하네요.. 왜 집중이 안되었는지 생각해보았는데 많은 이유가 있었던 것 같네요. 모여앉기를 하지 않았고, 회장님(나도)의 컨디션이 좋지 않았고 참여하는 학우들중에도 상태가 안좋은 분들이 다수ㅋㅋ 포스트잇을 벽에 붙이고 다같이 보는것은 좋았는데 책상들때에 접근성이 떨어져서 다같이 보기가 힘들었어요. 스카치 테이프를 챙겨가서 화이트보드 한쪽에 붙이는게 나앗을 듯? 키넥트 동영상들은 전에도 봤던거지만 그래도 재미있었어요. 능력자님들은 어디에나 산재하는듯ㅠㅠ 그보다 OMS의 질이 점점 좋아지는것 같네요 부담스럽게시리- [서지혜]
  • 정신병원에서뛰쳐나온디자인/밑줄긋기 . . . . 8 matches
          * 어떤 사람이 소형 비행기로 비행하던 도중 구름 속에서 길을 잃었다. 그는 건물이 보일때까지 고도를 낮춘 뒤 그 건물의 열려 있는 창 너머로 보이는 한 남자에게 ''"지금 제가 있는 곳이 어디입니까?"'' 라고 소리질러 물었다. 그 남자는 ''"당신은 지상 100피트 상공에 있는 비행기 안에 있습니다."'' 라고 대답했다. 조종사는 즉시 정상 코스로 복귀하여 공항을 찾아 착륙했다. 놀란 탑승객들이 조종사에게 어떻게 길을 알아냈는지 물어보았다. 조종사가 대답하기를 ''"그 남자의 대답은 100% 정확하고 사실이었지만 전혀 도움이 되지 않는 대답이었습니다. 그래서 나는 그가 마이크로소프트 사에서 일하는 소프트웨어 엔지니어라는 것을 금새 알아차렸습니다. 그리고 마이크로소프트 사 건물의 위치를 기준으로 해서 공항의 위치를 알아냈습니다."'' 라고.
          * 첨단 기술 회사들은 제품을 개선한답시고 그저 복잡하고 불필요한 기능들만 제품에 추가하고 있다. 공급자들이 이렇게 행동할 수밖에 없는 이유는 잘못된 개발 과정은 나쁜 제품의 제를 해결할 수 없고 그저 새로운 기능만 추가할 수 있기 때이다.
          * 저 부분을 읽고 신랄하게 까인 기분이라 정말 그렇다면 그 이유는 무엇때일까 생각해 봄. 세 가지 생각을 했다.
          * 여기서 '제인'은 컴퓨터에 익숙하지 않은 일반 사용자이다. - [김수경]
          * 현대 명 사회는, 사회 운동가들이 인종과 계층 사이의 벽을 허물기 위해 열심히 노력하는 한편으로 기술자들이 본의 아니게 새로운, 오히려 더 높은 장벽을 쌓는 데 매진하고 있는 형국이다.
         == 그들만의 화 ==
         == 사용성 추구만이 해답은 아니다 ==
  • 주민등록번호확인하기/조현태 . . . . 8 matches
         //출력자열 센스있다...누가 생각한거지?ㅎ
         아 그리고 지금 고친소스에도 제점이 있다우..ㅎㅎㅎ
         뭐게~ 알아맞춰봐..ㅎㅎ(알지만 귀차니즘때에 안고치고 퀴즈로 내버리는 쎈쑤!ㅎㅎ)
          cout << "주민등록번호를 '-'없이 입력해주세요>>"; //안내을 출력한다.
          if (47<number && number<58) //입력받은 값이 숫자인지 확인한다.
          sum+=input_number[i]; //숫자를 다 더한다.
          else input_number[cursur]=number*(cursur%8+2); //알맞은 값을 곱한 숫자를 저장한다.
          cout << " \b"; //이전 자열을 삭제한다.
  • 큰수찾아저장하기/조현태 . . . . 8 matches
         제 난이도가 갈수록 낮아지는듯..ㅎㅎ
         아영아, 이번 MT때 진트랑 말했는데, 제 난이도 쪼~끔만 올리자~ㅎㅎㅎ
          cout << i << "행" << j << "열의 숫자를 입력해주세요.>>";
          오늘은 이번달 처음 제라 쉬운거 한거라구~
          안그래두, 쉬워할 것 같아서 [LittleAOI] 대에 물어봤었잖아~ 난이도 어땠냐구 ㅋㅋ 에공~
         천하의 허아영이 못해서라니, 말도 안돼. 차라리 책에 제가 이것밖에 없다고 해라.ㅋㅋ
         그리고 난이도를 올리자고 한건말야, 오랜시간동안 생각해서 알고리즘이 많이 차이가 날만한 제를 보고싶었던거야..ㅎㅎ 아직은 많이 비슷한듯..ㅎㅎ - [조현태]
          [반복자열] 할 때, 선배님들이 조언 해 주신거 보구. 놀랐다니까.. 쉽다고 생각했었는데, 다른 관점을 많이 말씀해 주시니까.
  • 토이/메일주소셀렉터/김남훈 . . . . 8 matches
         사용언어 lex
         메일주소 규칙 : 영어대소숫자 하이픈 언더바 '.' 사용 가능. 단 '.' 은 시작과 끝에 지정 불가. 2자 이상.
         도메인 네임 규칙 : 영어대소숫자 하이픈 사용가능. 단 하이픈은 시작과 끝에 지정 불가. 2자 이상.
         co.co.kr 이 도메인은 적법한거 같아서 별 제 없을거 같다.
  • 프로그래밍잔치/둘째날후기 . . . . 8 matches
         팀을 나누었다. 요새 팀 나누기 재미붙이기에 그렇듯, 생일로 했다. 그런데 팀이 잘 안나눠져서 각 사람들이 앉은 자리 IP로 했다. 하지만 그래도 팀이 잘 안나누어져서, 결국 반바지/긴바지 식으로 팀을 나누었다는 후이 -_-;
          * 코드 통합때 제점을 잘 극복해야 한다.
         정리하면서 1002는 어떻게 제를 나눌것인가에 대해 네트워크 게임 작성시 팀별 작업 분담에 대해 다음의 예를 들었다.
         전자수첩을 하기로 하고.. 샌드위치를 먹으며 각자의 역할과 작은 팀을 나누었고 칠피에 올라가서 시작.. 언어는 C++, MFC 툴킷을 사용하기로 했다. 그러나.. 총 개발시간의 절반을 MFC 와 싸우다가.. 인수군의 제안과 창섭군과 은지누나의 동의로 JAVA 로 언어를 바꾸고.. 인수군은 전자계산기를 기웅군, 은지누나와 페어를 하며 짜고 창섭군은 상욱군과 함께 전화번호부를 짜던 중 창섭군의 JAVA 실력 부재와 swing 경험 부족으로 인해(ㅜ.ㅜ) 은지누나와 상욱은 페어를 바꾸고.. 결국 어설픈 틀의 전화번호부와 계산기를 합치고 C++ 로 짜여진 상욱군의 만년달력을 끝으로 시간종료.
          제발생 : 사람들이 MFC 에 익숙하지 않음. 더이상 진행이 어려움
         Error Message 팀에서는 잘된점으로 제 사이즈를 적절하게 잡은 점을 뽑았다. 잘못된 점으로는 사람들의 개개인 능력을 정확하게 고려하지 않고, MFC 를 고른점과 역시 Pair 에서의 제점, 그리고 '팀 이름이 안좋았다' 라는 의견이 있었다. 그리고 대화가 잘 이루어지지 않았다는 점을 뽑았다.
          * 팀프로그래밍을 하면서, 대화가 중요하단 생각을 했다. 형식적이지 않은 이런 저런 의사소통도 많이 필요하겠지만 어느정도의 형식이 갖춰진 대화를 하는 것이 필요할 것 같다. 예를 들면, 언어선택의 제에 있어서 대충 한 두명이 이걸로 짤까?? .. 그럴까?? 이런 대화보다는 정식으로 사람들한테 자신이 아는 언어와 생각을 물어서 종합적인 결론을 도출하는 과정이 필요했던거 같다..그리고 자신이 알고 있는 것과 모르고 있는 것에 대해서 스스로 잘 알필요가 있을듯..;; 또 다른 사람의 입장을 한번더 생각하는 맘도 필요한 것 같다. --은지
  • 피보나치 . . . . 8 matches
         == 제 정의 ==
          피보나치 수열을 만들어 봅시다. 숫자를 한개 입력 받아 그 회수에 나와야 하는 숫자를 출력하면 됩니다.
          기본적인 함수의 제작은 재귀호출로 만들어야 하나, 다른 방법을 사용해도 됩니다.
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         ||.||.||.||.|| [피보나치/원명] ||
         [제분류]
  • 05학번만의C++Study/숙제제출/4 . . . . 7 matches
         ==== C++과 가까워지기 위한 기본적인 제 ====
         === 제 ===
          * INT형을 만족하는 숫자를 입력하면 그 숫자를 저장하는 클래스를 생성되었다는 메시지와 함께 생성하라. 만약 입력된 숫자를 가진 클래스가 이미 존재할 경우에는 클래스가 가짖 숫자를 출력하고 해당 클래스를 삭제한다. 프로그램이 종료될떄에는 모든 클래스를 삭제한다. (단 숫자의 출력은 파괴자에서 해야한다.)
  • 2dInDirect3d/Chapter1 . . . . 7 matches
          5. 텍스쳐를 사용해 게임 이미지를 불러들인다.
          이것을 만드는 이유는 간단하다. IDirect3DDevice8 객체를 만들기 위해서는 "꼭" 필요하기 때에 만든다. 이 객체에서는 실질적인 작업보다는 초기화를 도와주는 역할을 주로 한다.
          1. [IN] 유일한 인자인 SDKVersion에는 SDK의 버전을 넣어준다. 8.0 이렇게 집어넣는 것이 아니라 지정되어있는 매크로가 있다. 사용하는 방법은 단 한가지뿐이다.
          어댑터에는 모두 번호가 붙어있다. 첫번째 어댑터에는 0, 두번째 어댑터에는 1, 이런 식이다. 0은 기본으로 있기 때에 매크로로도 만들어져 있다. '''D3DADAPTER_DEFAULT''' 매크로이다. 0번 어댑터를 기본 어댑터라고도 한다.
          만들 수 있는 디바이스의 타입은 세 가지가 있다. (2번째 인자의 값으로 사용한다.)
          1. D3DDEVTYPE_HAL : 하드웨어에서 지원하는 기능을 사용한다.
          3. D3DDEVTYPE_SW : 하드웨어 가속을 전혀 사용하지 않고 소프트웨어적으로 에뮬레이션
  • 2학기파이선스터디/모듈 . . . . 7 matches
          * 사용자가 모듈에 정의된 함수나 변수의 이름을 사용하도록 허용하는것 ( = 라이브러리)
         == 모듈을 왜 사용할까? ==
          * 코드를 재사용 할 수 있다.
          * 별도의 이름공간이 있어서 다른 모듈과 겹치지 않기 때에 독립적인 작업이 가능하다.
          * from 모듈명 import 이름 (이름.. 사용)
          * from 모듈명 import* (모두.. 사용)
  • AdventuresInMoving:PartIV . . . . 7 matches
         [http://online-judge.uva.es/p/v102/10201.html 원보기]
         === 이 제는 ===
         각 테스트 케이스에 대해 워털루에서 대도시까지 가는 데 드는 연료비의 최소 값을 출력한다. 제의 제약조건에 따를 때 워털루에서 대도시까지 갈 수 없으면 "Impossible"이라고 출력한다. 서로 다른 테스트 케이스에 대한 결과 사이에는 빈 줄을 출력한다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || 보창 || C++ || 2일 || [AdventuresInMoving:PartIV/보창] ||
         [제분류] / [경시대회준비반]
  • AppletVSApplication/영동 . . . . 7 matches
          * 웹 브라우저에서 실행되는 작은 프로그램을 애플릿이라 한다. 웹에서 클라이언트 측의 프로그래밍을 지원하는 강력한 툴로 사용된다.
          * 제한: 애플릿은 보안성 때에 그 기능이 제한적이다. 애플릿의 제한 사항은 아래와 관려된 것이다.
          * 애플릿은 로컬 디스크를 사용할 수 없다. 함부로 내 컴퓨터나 다른 컴퓨터에서 정보를 전송할 수 없다는 뜻이며, 디지털 서명을 인정하면 로컬 디스크를 이용할 수 있다.
          * 잘못된 코드로 시스템의 다른 부분이 영향을 받지 않는다. 자바 언어와 애플릿 구조에서 갖고 있는 보안성 때이다. 이런 점 때에 회사 내부에서만 사용하는 소위 인트라넷 클라이언트/서버 시스템에 자바가 널리 사용되고 있다.
  • AwtVSSwing/영동 . . . . 7 matches
          * 단점: 운영체제에 따라 버그가 발생할 수 있다. 불규칙한 컴포넌트의 모양과 레이아웃 설정 제가 발생한다.
          * AWT는 사용하긴 쉽지만 한계가 있다. 롤오버 이미지를 사용하는 등 실제로 많이 쓰는 기능을 AWT로 구현하기 어려우며, 운영체제마다 버그가 생기기 때사용하기 불편하다. Swing은 Top-Level의 컨테이너만을 운영체제의 자원을 사용할 뿐 그 하부에 있는 모든 것은 자바 코드에 의해 만드는 방식을 가진다. 발생하는 버그도 자바 가상머신의 범위 내에서 처리가 가능하다. 게다가 컴포넌트의 모양도 사용자의 입맛에 맞게 맞춰주는 것이 가능하다.
  • BeeMaja . . . . 7 matches
         [http://online-judge.uva.es/p/v101/10182.html 원보기]
         마야라는 꿀벌이 있다. 마야는 수천 마리의 다른 벌들과 함께 육각형 모양의 벌집에서 살고 있다. 그런데 마야에게 제가 생겼다. 그녀의 친구 윌리가 만날 장소를 알려줬는데, 윌리(숫놈 일벌)와 마야(암놈 일벌)는 서로 다른 좌표계를 사용한다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || [보창] || C++ || 엄청..ㅡㅜ || [BeeMaja/보창] ||
         [제분류] [경시대회준비반]
  • Bigtable기능명세 . . . . 7 matches
          1. 태블릿 개수, cpu rate, 메모리 사용량의 비율을 계산해서
         원형 자료구조를 사용해 공간의 재활용필요 -> 한바퀴 돌아서 공간이 없어지면 memtable들의 minor compaction이 필요하다.
          1. memtable에게 할당된 메모리를 다 사용해서 더 이상 쓰기를 할 수 없을 때
          1. 커밋로그에게 할당된 용량을 다 사용해서 더 이상 쓰기를 할 수 없을 때
          1. 클라이언트 api 사용
          1. 클라이언트 api 사용
          1. 클라이언트 api 사용
  • CPPStudy_2005_1 . . . . 7 matches
          * 소스코드의 코딩은 VS6를 이용할 수도 있겠지만, VS6가 나온지가 오래되다 보니 STL을 다루는 방식이 좀 달라서 책의 소스를 그대로 이용하는데 제가 존재합니다. 따라서 .net 을 이용하거나 gcc를 이용하는 방식을 추천합니다.
          [http://www.acceleratedcpp.com/details/msbugs.html VS6 코드 수정] 책에 나온 소스를 VS6에서 이용할 경우 발생하는 제점에 관한 내용이 있습니다.
          [http://msdn.microsoft.com/visualc/vctoolkit2003/ VSC++ Toolkit] .net 을 구입할 수 없는 상태에서 STL을 컴파일 해야할 때 사용하면 되는 컴파일러. (공개)
          * [CppStudy_2002_2/STL과제] 이 제에 대한 소스입니다.
         = 질 =
         [CPPStudy_2005_1/질]
          * 혼자 공부할때는 절대로 안했을 짐한 것들을 사용
  • CVS/길동씨의CVS사용기ForLocal . . . . 7 matches
         Local에서 간단히 CVS를 사용하는 과정에 대한 Tutorial
         CVS를 개인적으로 사용할려면 두가지 방법이 있다. 하나는, 자신의 컴퓨터에 http://www.cvsnt.org/ 와 같은 서버툴을 설치하여 외부에서도 접근하는 것이고, 구지 서버를 돌리지 않고 cvs를 local에 저장소의 기능만을 이용하는 방법이 있다. 길동씨는 자신의 컴퓨터에서 간단한 저장소의 경험을 해보고 싶어서, local로 시도한다.
         SET CVSROOT=local에서자신이사용할저장소
          도움말 : local은 remote에 접근하는 것과 달리 로그인을 하지 않는 것을 전제 한다. 아무옵션도 붙이지 않고, 자신이 사용할 장소만을 지정한다.
         SET CVSROOT=컴퓨터에서 자신이사용할저장소
         cvs -d c:CVSLocal init // -d 태그를 설정안하면 환경변수 CVSROOT의 값을 가져와 쓴다. 모든 cvs사용에 해당한다.
          도움말 : 지정하는 프로젝트(모듈) 전체를 받아 온다. local에 처음 프로젝트를 받아 올때 사용한다.
  • CarmichaelNumbers/조현태 . . . . 7 matches
          일단 소수이면 안되기 때에 살포시 저번에 [FactorialFactors] 에서 사용했던 알고리즘을 사용해서 단시간에 소수인지 확인하도록 하였다.
          아가씨가 입을 수 있는 크기의 숫자가 나머지로 나오도록 해주었다. 다행히 주어진 숫자의 범위가 크지않아 예쁜 숫자들의 범위에서 끝났다고나 할까..
          printf("숫자를 입력해 주세요.\n");
  • Chopsticks . . . . 7 matches
         [http://acm.uva.es/p/v102/10271.html 원보기]
         === 이 제는 ===
         중국에서는 음식을 먹을 때 젓가락 두 개를 쓰지만, L씨는 조금 다르다. 그는 젓가락 세 개를 사용한다. 셋 중 하나는 긴 젓가락으로, 음식을 쿡 찍어먹기 위한 용도로 쓰인다. 두 개의 일반 젓가락의 길이는 최대한 비슷해야 하지만 나머지 하나는 무조건 제일 길기만 하면 된다. 길이가 각각 A, B, C(A<=B<=C)인 세 개의 젓가락이 있을 때 (A-B)^2을 계산하면 두 젓가락이 짝이 안 맞는 정도를 구할 수 있다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || 보창 || C++ || 4시간 || [Chopsticks/보창] ||
         [제분류] / [경시대회준비반]
  • CommonPermutation/문보창 . . . . 7 matches
         ASCII 코드를 이용하여 소자를 0~26의 숫자로 인코딩시켰다. 그 인코딩 숫자를 이용한 배열을 만들어서 그 배열끼리 비교를 해서 공통된 변경 자열을 쉽게 만들수 있었다.
          /* 변경 자열 찾기 */
          continue;
         [CommonPermutation] [보창]
  • CppStudy_2002_1 . . . . 7 matches
          * C++의 법도 익히고, 나아가서 사용법, OOP에 대해서 더 친숙 해지기, 다양한 과제를 통한 프로그래밍 경험 쌓기
          * 시간은 칼같이 엄수 10분도 늦으면 안됨(정모가 목요일 5시에 있기 때에..)
          * 그리고 뭐 사정이 허락하면 ICPC 제나 ACM 제 같은것도 같이 풀어 볼 수 있으면 풀어 볼지도 모릅니다.(시간이 허락하면.. ㅡㅡ;)
         || 8.1 ||10.클래스를 사용하자(64page)||["StringOfCPlusPlus"] ||
          * ["StringOfCPlusPlus"]가 참 유익했던 거 같습니다. 제가 이걸 하기 전엔 자열을 다루는데 어려움이 많았는데 이걸 하고 나니까 좀 쉬워진 듯한 느낌이네요. -[영동]
  • CppStudy_2002_1/과제1/CherryBoy . . . . 7 matches
          cout << "자열(20자내)을 입력하세요...\n";
          cout << "숫자를 입력하세요.. _\b";
          cout << "당신은 출력 함수를 " << count << " 번 사용하셨습니다.\n";
         // 3번 연습제..
         //함수는 사용자에게 이름과 핸디켑을 요구한다
         //이름이 입력되면 1을 리턴하고, 이름이 빈 자열이면 0을 리턴한다
         //함수는 전달인자로 전달된 값들을 사용하여
  • DataStructure/String . . . . 7 matches
          int str_len=strlen(str); // 자열의 길이
          if(strstr[str_count]==ptnptn[ptn_count]) // 자 비교해서 같을때
          if(ptn_count==ptn_len) // 패턴이 자열 내에 있을때 그 시작 위치 리턴
          else if(str_count==str_len) // 패턴이 자열 내에 없을때 거짓(다 돌았는데 카운트가
          * Time Complexity는 O(mn) 입니다.(m=자열의 길이, n=패턴의 길이)
          f(j) = largest i such that i < j and 자열의 0 ~ i번째 = 자열의 (j - i) ~ j번째, if such an i exists
  • DebuggingSeminar_2005/DebugCRT . . . . 7 matches
         || _CRTDBG_CHECK_CRT_DF || 내부적으로 사용되는 메모리가 디버그작업을 하는 동안 추적된다. ||
         // 전처리 장이 끝난뒤에 include
          //DCRT의 오버헤드가 상당하기 때에 기본옵션이 꺼져있다고 한다. 따라서 다음과 같이 옵션을 활성화 하는 작업이 필요
         MFC에서는 기본적으로 로드하지만 콘솔에서는 사용자가 직접 지정을 해줘야 로드한다.
         || _CRTDBG_MODE_DEBUG || 디버그 윈도우 안에서 보게될 디버그 자열에 출력을 전달 ||
          동적 멤버변수를 사용하는 경우에는 대입, 할당 생성자, 소멸자를 반드시 만들어야한다.
         DCRT를 켜고 끄는 것에 따라서 프로그램의 수행속도의 차이가 상당하다. STL때인지도 모르겠지만. - [eternalbleu]
  • DesignPatterns/2011년스터디/1학기 . . . . 7 matches
          1. DIP에서 의존관계 역전이 대체 무엇을 역전시킨다는 것인지 알게되었다. 기존에는 Highlevel 모듈이 Lowlevel 모듈에 의존하는 식이었지만 인터페이스를 사용하여 Lowlevel 모듈이 Highlevel이 제공하는 인터페이스에 의존하게 함으로써 설계를 더 유연하게 만들 수 있다.
          1. 객체지향을 왜 해야하는가? 근본적으로 소프트웨어가 변화하기 때이다. 객체지향은 변화에 잘 대응할 수 있는 설계 패턴이다.
          1. 책에 나온 교차 통풍 패턴을 예로 들어 말하자면, 정적인 구조를 볼 때 마주보는 양 쪽 벽 비슷한 높이에 창이 있는 사무실은 교차 통풍 패턴에 속하는 것처럼 보일 수 있다. 그러나 창 앞에 커다란 건물이 있으면 바람을 막아서 창을 통해 바람이 들어오지 않는다. 교차 통풍 패턴은 마주보는 양 벽에 각각 창이 있다는 그 자체로 실내 공기를 쾌적하게 만드는 것이 아니라 창을 통해 바람이 불어들어오고 불어나감으로써 실내 공기를 쾌적하게 만드는 것이다. 따라서 교차 통풍 패턴에서 마주보는 양 벽에 창이 존재한다는 정적 구조 보다는 창을 통해 바람이 들어오고 나가는 동적인 행동 양식과 그것을 통해 실내 공기를 쾌적하게 만든다는 의도가 중요하다고 할 수 있다.
          1. 무엇이든 생각없이 받아들이지 말고 장점과 단점을 모두 생각한 후에 지금 사용하기 적절한지 판단하고 적용하라는 아주 중요한 메세지가 반복되어 나온다. 다시 한번 되새기는 시간이 되었다.
          1. CRC 모델링에 대해 설명하는 부분에 '''도메인 영역의 언어로 제를 기술하라'''는 말이 인상적이었다. get과 set을 사용할 필요가 없다는 걸 와닿게 하는 말이었다. 언젠가 정모에서 ''체험 OO 현장''같은 활동을 해보고 싶음. 우리 모두 객체가 되어보아Yo :)
  • EventDrvienRealtimeSearchAgency . . . . 7 matches
          * 쉽게 생각하면 로봇이 대신 웹서핑을 해서 사용자가 필요한 정보만 실시간으로 수집해서 바로 바로 실시간으로 제공해주는 Searcy Agency를 Event Driven Realtime Search Agency 라고 칭한다.
          * 로봇이 사용자가 지정한 타겟 웹 정보를 짧은 시간 간격으로 수집한다.
          * 각 게시판이나 웹페이지들이 Observable 즉 관찰할 객체들이고 이 객체들은 각자 자신의 Observer 리스트를 가지고 있다. 이 Oberver 리스트는 바로 사용자들이 아니라 이 많은 사용자들과 웹을 매개해주는 서버이다. 이 Obsever 서버 리스트를 가지고 있으면서 해당 자신의 웹이 업데이트 될때마다 업데이트 내용을 이 Observer 리스트 서버(EDRSA가 동작하는)들에게 전송을 한다.
          * 그러면 해당 서버에 있는 EDRSA 들은 해당 웝에 대한 모니터링을 신청한 각 사용자들에게 각 사용자들이 입력한 키워드에 따라서 해당되는 내용들만 해당 사용자의 클라이언트 프로그램에 전송해준다.
  • Googling . . . . 7 matches
         || "''keyword''" || 검색어를 장단위로 검색한다. 의미가 확장되어서 검색되지 않는다. ||
         || filetype || 인자로 전달한 확장자를 지닌 서만을 검색한다. ||
         || site || 특정 사이트 내의 서들만을 검색한다. ||
         || allintext || 페이지의 본을 이용해서 검색한다. ||
         || allinurl || URL 링크에서 존재하는 장을 통해서 검색한다. ||
          ''stop word: at, and 와 같은 일반적인 단어들은 검색을 할 경우 그 결과가 너무 많기 때에 구글에서 제외시킨다. 이런 단어를 추가시켜서 검색하기 위해서는 검색어 앞에 + 를 붙여야한다.''
  • Hartals . . . . 7 matches
         [http://online-judge.uva.es/p/v100/10050.html 원보기]
         방글라데시의 정당들은 자신의 세를 과시하기 위해 정기적인 동맹 휴업(파업)을 추진하는데, 이 동맹 휴업은 경제에 상당한 피해를 끼칠 수 있다. 이 제에서는 각 당을 동맹 휴업 지수(hartal parameter)라고 부르는 h라는 양의 정수로 나타낼 수 있다고 하자. 이 동맹 휴업 지수는 한 동맹 휴업과 다음 동맹 휴업 사이의 기간을 날짜 수로 표시한 값이다.
         이 결과를 보면 14일 동안 정확하게 다섯 번의 동맹 휴업(3, 4, 8, 9, 12일)이 있음을 알 수 있다. 6일은 금요일이기 때에 동맹 휴업이 일어나지 않는다. 결국 2주 동안 근무 일수로 5일의 동맹 휴업이 실시된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || 80분 || [Hartals/보창] ||
         [제분류] [AOI]
  • HelpOnLists . . . . 7 matches
         숫자가 매겨진 리스트와 총알 리스트를 아주 자연스럽게 입력하실 수 있습니다. 총알 리스트를 만들고 싶으시면 그 줄의 첫 시작을 "{{{[공벡]*}}}"로 시작하여 써주시면 됩니다; 숫자가 매겨진 리스트는 그 줄의 시작을 {{{[공백]1.}}}으로 시작하시면 됩니다.
         만약 공백을 넣어 들여쓰기만 하고 {{{*}}}나 번호리스트를 지원하는 {{{1.}}} {{{a.}}} 이외의 다른 자가 온다면, 그 단락은 들여쓰기된 단락으로 인식됩니다.
         === 사용례 ===
         /!\ 정의 법은 자주 쓰이지 않는 법이며 모인모인 호환용 법입니다. 1.1.3CVS에 포함된 monimarkup.php에서 아직 지원하지 않습니다.
  • HelpOnPageCreation . . . . 7 matches
         페이지를 만드는 방법은 여러가지 방법이 있습니다. 그중에 위키에서 일반적으로 권고되는 방법으로는 먼저 원하는 페이지로 가서 편집을 해서, {{{FoobarPageName}}}이나 , {{{[[어쩌고페이지]]}}}식으로 위키링크를 본에 집어넣고 저장을 합니다. 이렇게 하면 새롭게 갱신된 페이지에 새로운 링크가 생기게 되는데, {{{FoobarPageName}}} 혹은 {{{[[어쩌고페이지]]}}}라는 위키링크가 새로운 페이지를 가리키게 됩니다. 새로운 페이지는 아직 없기 때에 새롭게 만들어진 위키링크는 색상이나 모양이 약간 다른 형태로 보이게 됩니다. 이것을 클릭하면 페이지를 새로 만들것이냐는 대화 메시지 혹은 비슷한 이름을 가진 페이지 목록을 보여주게 되며, 원한다면 새롭게 페이지를 만들 수 있게 됩니다.
         || @''''''PAGE@ || 페이지 이름 (템플릿 페이지에 주로 유용하게 사용됨) ||
         || @''''''USERNAME@ || 사용자 이름 ||
         || @''''''USER@ || 사용자 이름 서명 "-- loginname" ||
         || @''''''SIG@ || 사용자 이름 서명 "-- loginname date time" ||
         || @''''''MAILTO@ || 사용자 메일 주소 ||
  • ImmediateDecodability . . . . 7 matches
         [http://online-judge.uva.es/p/v6/644.html 원보기] <- [DeadLink]
         파일에서 연속된 데이터를 그룹 형태로 입력을 받아들인다. 그룹의 각 데이터는 기호용 이진 코드를 나타내는 0과 1의 집합으로 구성된다. 각 그룹은 단일 숫자 9로 구분된다. 구분 숫자인 9는 그룹에 속하지 않는다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || ? || [ImmediateDecodability/보창] ||
         [제분류]
  • IsBiggerSmarter? . . . . 7 matches
         [http://online-judge.uva.es/p/v101/10131.html 원보기]
         한 줄에 한 마리씩, 여러 코끼리에 대한 정보가 입력된다. 파일 종료 자가 입력되면 입력이 끝난다. 각 코끼리에 대한 정보는 한 쌍의 정수로 입력되는데, 첫번째 정수는 체중을 킬로그램 단위로 나타낸 것이고, 두번째 정수는 IQ에 100을 곱한 값이다. 두 정수는 모두 1 이상 10,000 이하다. 최대 1,000 마리의 코끼리에 대한 정보가 입력될 수 있다. 체중이 같은 코끼리가 두 마리 이상 있을 수 있으며, IQ가 같은 코끼리가 두 마리 이상 있을 수도 있다. 그리고 체중과 IQ가 모두 똑같을 수도 있다.
         첫째 줄에는 찾아낸 코끼리 시퀀스의 길이를 나타내는 정수 n을 출력한다. 그 밑으로는 n줄에 걸쳐서 각 코끼리를 나타내는 양의 정수를 하나씩 출력한다. i번째 데이터 행으로 입력된 숫자들을 W[i], S[i]라고 표기해보자. 찾아낸 n마리의 코끼리의 시퀀스가 a[1], a[2], ... ,a[n] 이라면 다음과 같은 관계가 성립해야 한다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || [보창] || C++ || . || [IsBiggerSmarter?/보창] ||
         [제분류] [AOI]
  • JUnit/Ecliipse . . . . 7 matches
         Eclipse 에서는 기본적으로 JUnit을 내장하고 있습니다. (참고로 저는 Eclipse 3.0 M9 버전을 사용하였습니다.)
         따라서 별도의 다운로드 및 인스톨 과정없이 보다 편하게 JUnit을 사용할 수 있는 강점이 있으며, 실제로 마우스의 클릭 몇번으로 대부분의 클래스 및 메서드를 생성해 주는 강력한 기능을 지원합니다.
         먼저 Eclipse 에서 JUnit 을 사용하기 위한 세팅법입니다.
         이것으로 Junit을 사용하기 위한 준비는 끝입니다.
         테스트를 하기위해 사용되는 메서드의 리스트는 아래와 같습니다.
         나머지 두개의 Error는 JUnit이 모든 테스트를 독립적으로 실행하기 때에 발생하는 것 입니다.
         각각의 메서드를 독립적으로 테스트하기 때에 일어나는 에러를 확인할 수 있는 부분이 되겠지요.
  • MFCStudy_2002_2 . . . . 7 matches
          '휴가에서 지금 돌아왔습니다. 암것도 공부 못했네요. 일요일 저녁 몇시요? 시간에 따라 달라요.시간정해서 자보내주시길! - 성재
          * [08/18] - 이번주는 결국 못모였습니다. 다들 바쁜 모양이더군요. 다음 주 초에 모입시다. 월요일 쯤이 좋을 것 같습니다만, 모두 여기를 확인할 지 의이군요.
          * 기본적인 MFC사용법(?), 간단한 클래스와 함수에 대한 공부
          * 클래스 위저드 사용법에 대한 공부.
         = 질/답변 =
          * 질하고 싶은 것을 이곳에 써주세요 ^_^
          ''처음에는 책을 위주로 보는게 좋겠지만, vc를 이용해서 윈도우 프로그래밍을 할때에는 MSDN 을 참조하는 훈련을 하는것도 중요합니다. 책은 그리 중요하지 않지만. 서가 중요하죠.~'' - 임인택
  • NSIS/예제2 . . . . 7 matches
         ; 인스톨화면시 구들
         UninstallText "This will uninstall example2. Hit next to continue."
          ; 사용했던 디렉토리들 제거.
         ; 인스톨
         UninstallText "This will uninstall example2. Hit next to continue."
          ; 사용했던 디렉토리들 제거.
         UninstallText: "This will uninstall example2. Hit next to continue." ""
  • NumericalExpressionOnComputer . . . . 7 matches
          컴퓨터 언어에서 사용하는 수치표현은 크게보아서 2진수, 8진수, 10진수, 16진수 이렇게 4가지로 구분함. 전류 시그널을 이용하는 컴퓨터의 특성상 2진수의 사용은 필수적인 것이고, 8진수를 사용하는 이유는 과거 12bit, 36bit와 같이 3의 배수 bit를 기반으로한 컴퓨터 archi가 존재했기 때이다. (현재에서는 거의 쓰이지 않지만, 아직 C/C++ 등 많은 언어에서 제공한다.) 10진수는 인간이 사고하기 편하기 때에 의미가 있는수. 16진수는 2진수의 표현을 바로 바꿀 수 잇다는 장점으로 표현공간의 절약을 위해서 만이 사용한다.
          불과 몇 십년전만해도 컴퓨터 학자들은 2진수의 표현보다 10진수의 표현이 더욱 정확하다고 생각했었기 때에, 특정 정확성을 필요로하는 프로그램에서는 10진수로 데이터를 계산하기도 했다고 함. but 그러나 10진수가 2진수의 표현에 비해 정확하다고 하는 것은 사실이 아니며, 실제로 2진수의 표현법이 더욱 정확한 계산을 보장한다고 함.
  • Omok . . . . 7 matches
          * 제가 작년에 썼던 방법입니다. 터보씨의 그래픽 함수중에서는 clrscr() 함수만 사용합니다.
          * 화면을 움직일때 쓴 방법은 방향키 말고 그냥 영어 자판중 'I','J','L',','을 사용하여 움직이고 찍을때는 'k' 를 사용했습니다.
          * 이러면 아스키 코드 사용하지 않고도 짤 수 있습니다. 전 아스키 코드 쓰는거랑 터보시에서 그래픽 하는거 싫어서 이렇게 해봤었습니다. 뭐 다른 방법으로 짜고 싶으면 짜시고요. - 상협
          * 전부 그림으로 처리하기 때에 그래픽적인 요소들을 위한 코딩이 많이 들어가는...(나쁘게 말하면 생노가다..--; )
          * 개인적으로 이걸 해봤는데.. 뭐 Visual 적인거 좋아하시면 이렇게 하시고.. 그냥 오목의 알고리즘만 생각하시면 굳이 그래픽을 사용안하셔도 좋을듯..^^
         ["제분류"]
  • One/박원석 . . . . 7 matches
         정수배열 10개 만든후 숫자 출력하기
          continue;
         숫자 입력받음. 입력값이 1이면 64출력, 2이면 10출력, 3이면 23출력, 그 이외의 값이면 "error" 출력 |}}
          printf("숫자를 입력하시오.");scanf("%d",&c);
  • Ones . . . . 7 matches
         [http://acm.uva.es/p/v101/10127.html 원보기]
         2나 5로 나눌 수 없는 0 이상 10,000 이하의 정수 n이 주어졌는데, n의 배수 중에는 10진수로 표기했을 때 모든 자리 숫자가 1인 것이 있다. 그러한 n의 배수 중에서 가장 작은 것은 몇 자리 수일까?
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || [보창] || C++ || 30분 || [Ones/보창] ||
         [제분류] [AOI], [알고리즘/제분류]
  • PC실관리/고스트 . . . . 7 matches
         고스트 이미지 생성에 일관된 정책이 없기 때에 차후에 제가 발생하는 듯 보임. 차후 고스트 이미지 작업시에 다음의 내용정도는 꼭 포함하자는 취지에서 작성해봄.
          * '''내서''' 폴더 위치 변경 : D 드라이브로 지정해서 C 드라이브의 고스트 작업후에도 해당 폴더에 있던 내용은 남기는 것이 가능하도록 해야할 필요가 잇을 듯함.
          아무 장점이 없는데 내서에 넣어달라고 호소해도 씨알도 안먹힘. -_-
          이 계정의 경우 Users 로 계정을 제한해서 프로그램의 설치및 제거에 제한을 두어야 차후에 제가 발생하지 않을 것으로 생각됨.
          * 시스템 등록정보 - 시스템 복원 : 모든 드라이브에 시스템 복원 사용 안 함 체크. (고스트 이미지의 용량을 절감할 수 있음)
         그리고 구지 MSND과 내서쪽은 변경 안해도 될듯합니다....- 수생
  • PreparedParticipantPattern . . . . 7 matches
         그들이 공부해야할 뛰어난 학작품([지식샘패턴])이 있을 때 , 그룹에 동기부여된 진행자가 있을 때, 그리고 모두가 회의 전에 철저하게 준비할 때 사람들은 대화에서 가장 많은것을 배운다. 이 패턴이 어떻게 철저하게 준비하는 것을 의미하는것을 확인하고 그리고 사람들이 그것을 할 수 있도록 할 수 있습니다.
         '''개인들이 이전의 대화를 공부하지 않을 때, 그들은 대화에 아무것도 더하지 않거나 너무 많은 것을 더한다. 준비되지 않은 참여자는 주제를 벗어난 질이나 기초적인 질, 혹은 생산적인 연구보단 오해를 불러일으킬만한 생각을 하게하는 질을 할 수도 있다.'''
         '''이전 공부한 각 부분에 대해 철저하게 헌을 공부해라. 공부한것에서 뛰어난 헌을 골라라 왜냐하면 사람들은 더 적은 일을 통해 그것을 공부하려고 동기부여가 될것이기 때이다. 각 공부할 것들을 적절하게 나눠라 - 너무 작거나 너무 크지않고, 그룹의 능력과 각 공부할 것의 난이도에 맞게'''
  • ProgrammingLanguageClass . . . . 7 matches
         비록 "아는 언어"칸에 대여섯 이상의 언어를 줄줄이 적어넣을 수 있지만, 컴퓨터 공학과를 다니면서 "정말 아는" 언어는 항간에서 현재 유행하는 언어 하나 둘 정도이다. 일단 주변 여건이 다른 언어를 공부할 여유를 허락하지 않고, 이걸 격려, 고무하는 사람이 아무도 없다는 것이 제다. 너나 할 것 없이, 교과과정에서 C언어를 자바로 대체하는 것만으로 "우리 학교 전산학과는 미래지향적이고 앞서 나가는..."이라는 선전 구를 내거는 것을 보면 정말 안타까울 뿐이다. 왜 MIT에서는 제일 처음 가르치는 언어로 Scheme을 몇년째 고수하고 있을까.
         그러므로, 이런 ProgrammingLanguageClass가 중요하다. 이 수업을 제하면 다른 패러다임의 다양한 언어를 접할 기회가 거의 전무하다. 자신의 모국어가 자바였다면, LISP와 Prolog, ICON, Smalltalk 등을 접하고 나서 몇 차원 넓어진 자신의 자바푸(Kungfu의 변화형)를 발견할 수 있을 것이며, 자바의 음양을 살피고 제점을 우회하거나 수정하는 진정한 도구주의의 기쁨을 만끽할 수 있을 것이다. 한가지 언어의 노예가 되지 않는 길은 다양한 언어를 비교 판단, 현명하고 선택적인 사용을 할 능력을 기르는 법 외엔 없다. --김창준
         꼭 그렇지는 않습니다. 다양한 언어를 배우고, 특히 훌륭히 디자인된 언어(각 요소들이 서로 상충하지 않고 유기적으로 조화되어 하나의 건강한 생태계를 이루는)를 충분히 접하게 되면, 아무리 제있는 언어를 쓰게 되더라도 "선택적"인 사용이 가능해집니다.
         무심결에 쓰고 있는 프로그램 언어의 내부를 배울 수 있는 시간입니다. 개인적으로는 이런 저런 원리를 하나식 알아갈 때마다 재미있었기 때에 수업시간도 재미있었습니다. (정말 같이 듣는 이들은 졸린 모양이더라고요.) 과제에서 엄청난 실수를 많이 저질러서 안타깝지만, 과제 자체는 강의 내용과 매우 적절하게 연결된 것이라고 생각합니다.
  • ProjectCCNA/Chapter5 . . . . 7 matches
          * ip의 생성이유 : TCP/IP프로토콜을 사용하는 모든 장비를 구분하기 위해서
          * ip주소는 2진수 32자리로 되어있음 -> 약 42억 9천개 -> 현재 사용자를 고려하면 남은 ip주소가 얼마 없음
          * 네트워크를 나타낼 땐 호스트 부분을 0으로 표현. 그리고 각 클래스에서 표현 가능한것의 제일 작은 수와 제일 큰수는 사용불가.
          *호스트부분이 모두0은 네트워크, 1은 브로드캐스트 번호이므로 사용하지 않는다. -> 각 클래스에서 사용가능한 최대 호스트수는 순계산-2해줘야함.
          * 기본 게이트웨이 : 내부 네트워크를 벗어날때 밖으로 통하는 -> 라우터의 이더넷 인터페이스
          * 네트워크를 나눠 쓰지 않더라도, 디폴트 서브넷 마스크를 사용한다.
  • ProjectZephyrus/Server . . . . 7 matches
          +---- document : 코딩중 기록되는 여타 서들의 보관
          | ex) DB query, Packet정의
          +---- information : DB와 같은 사용자 정보 관리 패키지
          * 현재 ZeroPage와 Windows 2k상에 한글 인코딩 제로 후자로 해야 ZeroPage서버에서 한글로 안내 메세지가 나옴. 컴파일시 해결할수 있지만 귀찮아서 --;; --상민
         ||원하는 사용자 강제 종료||{{{~cpp SocketManager, InfoManager}}}||.||.||
         ||{{{~cpp DB ConnectionManager에서 connection을 받은후에 close했기 때 }}}||{{{~cpp InfoManager}}}||이상규||
  • ProjectZephyrus/ThreadForServer . . . . 7 matches
          글구 아까 상규한테 MySQL 사용법 대충 들었습니당 -재동-
         InfoManager.getInstance()의 if 안쪽에 넣어주면 sync제도 해결될것이다.
         10일이 이 단기 프로젝트의 기능 구현의 마지막 날이기 때이다.
         최종 서화후 jar로 묶어서, 소스와 바이너리 모두 배포 형식으로 만들어 링크를 거는 것이
         제는 2주후가 시험이고, 시험후 곧바로 데블스 캠프를 계획해둔만큼, 위의 사항에 관하여는
          * 넵..^^ 월욜에 작업 할께요.. 일욜은 PHP 시험때에여.... --상규
  • PythonThreadProgramming . . . . 7 matches
          * lock이 왜 필요하나? -> 하나의 공용 자원을 여러 스레드가 동시에 사용하면 제가 생길수 있다. 그래서 공용자원을 사용할때는 락을 걸고 사용하고 사용하고 나서는 락을 푼다.
          * 제 상황 예 : count 변수를 각 쓰레드들이 1식 증가를 시키는데 한 스레드가 증가 시키는 동안 다른 스레드도 동시에 증가 시키다 보면 원래 2 증가 해야하는데 1증가 하는 수가 생긴다..
          * 위 소스에서 why 부분,, 왜 sleep을 넣었을까?(만약 저것을 빼면 한쓰레드가 자원을 독점하게 된다) -> Python 은 threadsafe 하지 않다. Python에서는 자바처럼 스레드가 법의 중요한 위치를 차지하고 있지 않다. 그것보다 이식 가능성을 더 중요하게 생각한다.
  • Ruby/2011년스터디/강성현 . . . . 7 matches
          * 동네API를 이용한 동 네트워크 홈페이지 제작
          * 동 네트워크 홈페이지를 새롭게 만들어보는 프로젝트
          * 기존 사이트를 조금 더 사용자 친화적으로 만들고, 모바일 기기에서도 부담없이 볼 수 있도록 함.
          * page design, layout 등은 [html] 이용 ( [Ajax]도 사용)
          * 동네 로그인, 즐겨찾기/동게시판/나눔터/작은모임/회원검색 의 5개 페이지로 구성
          * ruby 구현보다는 layout의
         === 제점 ===
  • RubyLanguage/Container . . . . 7 matches
          * [] 를 사용해 참조 위치의 객체에 접근할 수 있다.
         }}}[[FootNote('''p 메서드''' : 객체를 디버그에 적합한 형식으로 자열화하여 출력하는 메서드로 주로 디버그 출력을 위해 사용. 디버그, 학습, ShortCoding 이외에는 사용하지 않는 것이 좋다.)]]
          * 음의 첨자 사용시 뒤에서부터 역순으로 요소를 가리킨다.
          * [] 연산자에 대입을 결합한 형태
          * 길이를 포함한 첨자나 범위 첨자를 사용한 경우, 우변에 복수 개의 값을 취할 수 있다.(line 5, 6)
  • RubyLanguage/ExceptionHandling . . . . 7 matches
          * 예외가 발생하면 예외 처리구이 나올 때 까지 호출 스택을 타고 이동한다.
          * 예외 처리 구, rescue는 switch case처럼 동작한다. 맞는 처리 구을 찾을 때 까지 계속 매칭.
          * begin안에서 실행하다 예외가 발생하면 rescue 구으로 컨트롤이 이동된다.
          *사용법 : rescue 예외클래스명
          * throw에서 심볼(라벨)을 이용하면 중첩된 코드 구을 바로 탈출할 수 있다.
  • Self-describingSequence/1002 . . . . 7 matches
         제는, 1000000000 의 경우에 대해서 답이 나오는 시간이 엄청나게 걸린다는 점이다. 이에 대해서 어떻게 할 것인가 고민,
         어제에 이어서 고민하던 중, 제점에 대해서 다시 생각. 결국은 f(k) 를 위한 table 생성에서 메모리를 많이 쓴다는 점이 제.
         # 해당 숫자 범위를 조사하여 어떤 값이 나올지를 return
         제임을 생각. 이를 binary search 구현으로 바꿈.
         메모리 사용량 : 31MB
          * 다시금 '이 제에서 요구한 방법이 이 방법이였을까?' 에 대해서 고민하게 됨. 비록 원하는 성능은 나오긴 했지만.
  • SmithNumbers/이도현 . . . . 7 matches
          /* 소인수 분해 후 다시 개개의 숫자로 분리 */
         /* 입력받은 숫자를 하나씩 분리하여 배열에 저장 */
          /* 입력 받은 숫자자열로 저장하기 위한 포인터 */
          /* 자열로 저장된 수를 아스키코드 값을 변환하여 array에 저장한다. */
         /* 입력받은 숫자 소인수 분해 */
          continue;
  • SmithNumbers/조현태 . . . . 7 matches
          제가 있다면 제에서 요구하는 10^9까지는 무리...
          속도를 위해서 저번에 사용했던 소스를 또 우려먹긴 했지만..
          뭐.. 이런이유로.. 속도를 제로 조건을 버려버린..불량감자소스가 되어버렸다고나..
          어쨋든 제에서 필요한건 풀어내니 제는 없다고 본다~ 나름대로 빨리 풀어낸다고.ㅎ
          printf ("\n숫자를 입력하세요.\n>>");
  • StackAndQueue . . . . 7 matches
         == 제 정의 ==
          * 자판기를 생각하면 되겟죠? 먼저 선 사람이 먼저 나가니..(새-_-치기 제외)
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         ||원명||.||.||.||[큐와 스택/원명] ||
         [제분류]
  • StacksOfFlapjacks . . . . 7 matches
         [http://acm.uva.es/p/v1/120.html 원보기]
         그릴에서 팬 케이크를 구워서 완벽한 팬 케이크 스택을 만드는 것은 정말 까다로운 일이다. 아무리 팬 케이크를 정성스럽게 만들어도 팬 케이크의 크기가 조금씩 다르기 때이다. 하지만 팬 케이크를 잘 정렬해서 위에 있는 팬 케이크가 아래에 있는 팬 케이크보다 더 작게 쌓으면 깔끔하게 보이게 할 수 있다. 팬 케이크의 크기는 그 지름으로 주어진다.
         입력은 여러 개의 팬 케이크 스택으로 구성된다. 각 스택은 한 개에서 서른 개 사이의 팬 케이크로 구성되며 각 팬 케이크의 지름은 1 이상 100이하의 정수로 주어진다. 입력은 파일 끝 자에 의해 종료된다. 각 스택은 한 줄에 입력되며 맨 위에 있는 팬 케이크가 맨 앞에, 맨 밑에 있는 팬 케이크가 맨 뒤에 입력되고 모든 팬 케이크는 스페이스에 의해 구분된다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || [보창] || C++ || 30분 || [StacksOfFlapjacks/보창] ||
         [제분류] [AOI]
  • StringOfCPlusPlus/상협 . . . . 7 matches
          void lenstr() {while(st[n]!='\0') n++;}//자열의 길이를 n값으로 저장
          char* stval() {return st;}//이걸 알자:배열 전체 리턴 할때 * 사용 ..
          int nval() const {return n;}//자열 길이를 알려줌.
          void reverse();//자열 거꾸로
          int search(char se);//찾고자 하는 자열의 갯수로 알려줌
          nam.reverse();//끝에것이 짤리고 뒤바뀌지 않는
          nam.delspace();//끝에것이 짤리는
  • TermProject/재니 . . . . 7 matches
          "김태완", "김희균", "류재현", "구봉", "박대원",
         void menu1() // 1번 메뉴 : 사용자가 지정한 과목을 입력순에 따라 화면에 출력함
         void menu2() // 2번 메뉴 : 사용자가 지정한 과목의 성적순에 따라 화면에 출력함
          cin >> select; // 서브메뉴를 출력하고 사용자로부터 입력받음
         void sort(int i, int j) // 사용자의 선택에 따라 i, j 변수를 전달받아 정렬함
         void prt_all() // 3, 4번 메뉴를 선택했을 경우 공동으로 사용하는 출력 함수
          for (i = 0 ; i < 3 ; i++){ // 각 과목의 평균과 총 평균은 변수를 사용하지 않고
  • TheJavaMan . . . . 7 matches
          참여자 : 나휘동, 장창재, 서영희, 곽세환, 임민수, 노수민, 원명, 구자겸
          텍스트 에디터, 장기, 오목, 숫자야구, 시계, 팩맨,
          [TheJavaMan/숫자야구] - 휘동, 원명 - 종료
          - 부속 프로젝트로 로보코드 페이지를 만들기는 해야겠는데 무슨 형식으로 만들어야 하는감 - [원명]
          요새 외박을 좀 해서 나는 밤샘이 어려울거 같다..피곤한거도 있고 -_- -[원명]
          - 나 친구에 관한 사정으로 오늘 늦게가거나 못 갈수도 있다 저번에도 친구때이엇는데 미안~ -[iruril]
          - 저 위에다 써 놓아서 못 봤다.ㅡㅡ; 자 보낸거처럼 다음 정모에 그냥 몰아서 하자. - 휘동
  • ThePriestMathematician . . . . 7 matches
         [http://online-judge.uva.es/p/v102/10254.html 원보기]
         그 영리한 수도사가 제안한 네 개의 침을 사용하는 방법으로 원반을 옮기는 횟수를 계산하자. 원반은 한 번에 하나씩만 옮길 수 있으며 큰 원반을 작은 원반 위에 놓을 수는 없다. 이동 횟수를 구하려면 먼저 원반 이동 횟수를 최소화시킬 수 있는 k값을 구해야 한다.
         입력 파일은 여러 줄로 구성된다. 각 줄에는 0 이상 10,000 이하의 정수 N이 들어있으며, 이 값은 옮겨야 할 원반의 개수를 나타낸다. 파일 끝 자가 들어오면 입력이 종료된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 1차(실패), 2차(5시간) || [ThePriestMathematician/보창] ||
         [제분류] [경시대회준비반]
  • ThinkRon . . . . 7 matches
         당신은 어떤 제에 직면했다. 좀처럼 일이 풀리질 않는다. 이 때 스스로에게 묻는다. 만약 RonJeffries(혹은 당신이 존경하는 전가)가 이 자리에 있었다면 어떻게 했을까?
         일전에 XP 메일링 리스트에 조언을 바라는 글을 하나 올렸습니다. 회사에서 XP를 진행하다가 부딪힌 제에 대한 것이었죠. 그걸 올리고 답장이 한장도 도착하기 전에 갑자기 이런 생각이 들었습니다. "만약 RonJeffries라면 어떤 답장을 쓸까" 신기하게도 저는 그걸 너무도 분명히 잘 알고 있었습니다. 그래서 그 답을 마치 RonJeffries가 직접 만들어준 마냥 귀하게 생각하고 요리조리 궁리해보고 또 실험해봤습니다. 그랬더니 아주 훌륭한 결과를 얻었습니다. 며칠 뒤 진짜 RonJeffries가 제가 예측한 것과 거의 비슷한 답을 해주더군요.
         전가 비전가 PairProgramming을 하다가 제에 직면했습니까? 스스로에게 물어보십시오. 만약 KentBeck이나 WardCunningham, RonJeffries 같은 사람이 이 자리에 나 대신 있었다면 이 제에 어떻게 대응했을런지. 그리고 거기서 얻은 해답을 꼭 실행에 옮겨 보세요. 자신은 물론 상대방도 놀라게 될 것입니다. 해답은 늘 안에 있습니다.
  • UploadFileMacro . . . . 7 matches
         {{{[[UploadForm]]}}} 혹은 {{{[[UploadFile(js)]]}}}: 이 매크로는 여러개의 파일을 올릴 수 있는 폼을 자바스크립트를 사용하여 만들어준다.
         업로드가 성공하면 업로드된 파일을 다음과 같은 법으로 연결할 수 있다.
         예를 들어, {{{MyPage}}}에 들어가서 {{{MyPage?action=UploadFile}}}을 하거나, MyPage에서 {{{[[UploadFile]]}}} 매크로를 사용하여 파일을 업로드를 하면 $upload_dir='pds';라고 되어있는 경우에 {{{pds/MyPage/}}}가 새롭게 만들어지고 거기에 올린 파일이 저장된다.
         아파치 mod_mime의 제점으로 인해서 안전하지 않은 파일 이름을 점검합니다.
         $upload_masters=array('Foobar','Babo'); 여기에 등록된 모든 사용자는 파일 확장자와 무관하게 모든 종류의 파일을 업로드 할 수 있습니다.
         안전한 업로드가 이미 보장 된 경우 사용하실 수 있을 것입니다.
         pds 바로 밑으로 저장된 pds/* 파일을 연결하려면 {{{attachment:/foobar.png}}} 법을 쓴다. 즉, "/"를 맨 앞에 붙여준다.
  • XMLStudy_2002/Encoding . . . . 7 matches
          *단순한 텍스트 형태의 XML서를 다양한 언어로 작성하기위해 각 언어에서 사용하는 인코딩 방식을 사용한다.
         === 일본어 사용하기 ===
          *XML에서 유니코드를 사용하면 한 서 내에서 어떤 부분은 한국어로 또 어떤 부분은 일본어로 작성하는게 가능하다.
         === XML에서의 unicode 사용에 대한 사이트 ===
  • Yggdrasil/가속된씨플플/4장 . . . . 7 matches
          * 전달인자(여기서는 배열)를 값에 의한 전달/참조에 의한 전달을 적절히 사용해야 한다. 원래 값을 보호해야 하는 경우라면 값에 의해서, 원래 값을 바꿔야하는 경우라면 참조에 의해 전달한다.
          * 1학년 1학기 텀프로젝트를 할때, 성적정렬 프로그램에서 정렬로 순서가 전부 바뀌어버려서, 루프의 끝에서 전부 다 초기화했던 기억이 난다. 이때 전달인자에 전달 방식을 제대로 이해하고 활용했다면 편했을 것을.
          * 구조체 만드는 법은 다 알고 있으니 넘어가고, sort()에 전달인자로 구조체를 넘겨주게 되면, 어떤 기준으로 정렬할 것인지 알 수가 없다. 그래서 3번째 전달인자를 사용할 수 있다. 즉,
          * 이렇게 사용하고, compare의 정의부는,
          * throw로 예외 상황이 발생되었다는 것을 알린다. 예외 클래스엔 여러개가 있으며, 생성자로 자열을 집어 넣을 수 있고, 이건 일반적으로 출력이 안되지만, what()함수로 확인 가능.
          * 사전순 정리: <와 >로 비교가 되는 거였다! 자끼린 되는줄 알았지만 자열도 할 수 있는 거구나...
  • bitblt로 투명배경 구현하기 . . . . 7 matches
         우선 앞으로 사용될 mask에 사용될 DC를 만들어 봅시다.^^
         bitmap_mask=CreateBitmap(size_x, size_y, 1, 1, NULL); //mask로 사용할 흑백 비트맵을 생성합니다~!'ㅇ')/
         배경으로 사용될 색(RGB(255,0,255))이외에는 모두 검은색으로 만들어 주었습니다.^^
         배경으로 사용되는 색은 흰색이 되었구요.^^ 그러니까 결과는..
         AND연산을 사용했어요.^^
         현제 사용중인 소스의걸 조금 변형해서 복사한터라.^^ 실수가 없으면 좋으련만..
  • django . . . . 7 matches
          * html 이 있는 template 에 많은 것을 바라지 말자. 가능하면 view에서 데이터를 거의다 처리해서 template에 넘기는것이 좋다. template에서 받아온 데어터로 리스트와 맵 변수의 첨자(subscriber)로 사용하려고 했는데 안된다. 이러한 경우에는 view에서 데이터를 아예 가공해서 넘기는 것이 좋다.
          * pysqlite를 사용하면 아래 첫번째 튜토리얼 처럼 하면 된다.
          * mysql 은 사용자를 생성하고 settings.py 파일을 설정한다. 그리고 pysqlite와 다른 점은 DB 이름을 넣고 나서 mysql 들어가서 따로 DB를 만들어 줘야 한다. 그리고 사용자도 만들어 줘야 한다.
         설정 파일 때에 삽질하지 맙시다.
          * [http://www.mercurytide.com/knowledge/white-papers/django-full-text-search] : Model 의 Object 에 대한 함수들 사용방법
          * [http://www2.jeffcroft.com/2006/feb/25/django-templates-the-power-of-inheritance/] : Template HTML 파일 사용
  • django/Model . . . . 7 matches
         모델은 웹 어플리케이션에서 사용할 데이터를 명세한 python소스코드이다. 모델은 데이터베이스와 연동되며, 간단한 경우 모델 하나가 데이터베이스 테이블 하나로 매핑된다. 따라서 웹 개발자는 데이터베이스를 직접 손대지 않고 소스코드인 모델을 변경해가면서 작업을 진행할 수 있다. 모델을 변경할 때마다 django에서 제공하는 manage.py syncdb를 이용하면 변경된 모델이 데이터베이스 테이블에 반영된다.
         모델은 사용자가 지정하지 않는 경우 기본적으로 id라는 이름으로 정수형 주키를 가진다.
         모델에 해당하는 테이블을 생성하는 SQL은 {{{python manage.py sql <app name>}}}으로 확인할 수 있다. 위에 해당하는 SQL은 다음과 같다.
         혹은 모델이 되는 클래스의 이름을 자열로 지정할 수도 있다. 이는 클래스를 정의하는 순서에 상관없이 한 모델이 다른 모델을 참조할 수 있도록 한다.
         하지만 이 경우 risk_report와 control_report의 합성키를 사용하도록 지원하지 않는다.
         Django는 정의한 모델에 Admin클래스를 재정의해서 이를 삽입, 삭제, 갱신할 수 있는 기본적인 관리자 인터페이스를 자동으로 생성해준다. 사용자 인터페이스는 입력 항목을 원하는대로 배치할 수 있으며, 원하는 디자인도 적용할 수 있다. 이것으로 기본적인 입력 시스템은 만들어졌다.
  • eXtensibleMarkupLanguage . . . . 7 matches
         [SAX] : XML을 읽어가면서 발생하는 이벤트에 기반한 파서. 메모리의 사용량이 적다.
          * [http://xml.80port.net/bbs/view.php?id=xml&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=26 VC++에서 msxml 사용]
          * XML은 데이터 표현 방식(data presentation)이기 때법에 하나라도 어긋나거나 코드셋이 맞지 않는 경우에는 100% 에러를 내뱉는다. HTML을 다루다가 XML을 공부할 경우 이런 점에 당황스럽기도함. (DB 에서 코드셋 잘못 다루면 삽질하는 거랑 비슷함;; -_-)
          * DTD로 검색하다 여기로 왔네요ㅋㅋㅋ 예전에 쓰신 것 같아서 지금은 아시는 내용이겠지만 나중에 다른 분들이 이 페이지를 보실 수 있으니 시간을 건너뛰어 댓글 답니다~ DTD는 Document Type Definition의 약자로 XML 서 작성을 위한 규칙을 기술하는 형식입니다. valid XML Document의 경우 well-formed XML Document이면서 XML에서 사용되는 원소 이름이 해당 서에 대한 XML DTD나 XML Schema에 명세된 구조와 합치되어야 한다고 하네요. 이 내용에 대한 수업을 들으며 씁니다ㅋㅋㅋㅋㅋㅋㅋ - [김수경]
  • erunc0/COM . . . . 7 matches
         '''COM은 실용주의가 나은 산물이다.''' 마은에 든다. 상업적인 성공을 이끌게 된 이유야 무엇이든 간에.. 추상적인 학이 아닌 실용적인 학을 접해 보고 싶었기 때에.. 공부하기로 마음 먹었다. 또, 하다가 그만 두면 안될텐데.. 라는 걱정은 뒤로 재쳐 두고 책한권을 구해서 차근 차근 보기로 했다.
          * 간단한 C++ 클래스로 시작하여 재사용 가능한 이진 Component로써 클래스를 사용하는 법을 간단한 예제를 통해서 배우게 된다. 처음은 DLL을 통해서 client 에게 제공하는 제에 대해 말하며. 다음에는 이렇게 제공되어진 컴포넌트에 대한 방화벽(?)등에 대해 논의 하면서 인터페이스를 통하여 컴포넌트 내의 은닉화를 위한 방법들을 설명해준다. 그리고 그다음으로는 abstract class를 사용해 (virtual function을 이용한 방법) 인터페이스의 확장에 관한 부분까지 설명한다. 그리고 끝으로는 RTTI 이용하여 더 나은 인터페이스의 확장 방법과 다중의 client 에게 컴포넌트를 제공할수 있게 만드는 부분까지 설명한다. 한서라서 그런지 애매한 용어들이 많이 있어서 아직도 이해가 가질 않는 부분이 많았다. 한번더 chapter 1응 읽은 후에 정리하고 chapter 2로 넘어가야 하겠다.
  • source . . . . 7 matches
         [1~10사이 숫자 출력, 5 제외 (continue 사용)]
  • while문 구구단 . . . . 7 matches
          continue
         상당히 풀어서 썼기 때에 굳이 설명은 필요 없을 듯.
         왼쪽은 인덱스. 오른쪽 숫자들이 출력 결과물.
         여기서 질. 이 코드는 Python 2.4 IDLE 로 짠 것인데
         결과물 출력할 때 좀 더 보기 좋게 하는 방법은 없을까요? 아직 법 다 본 게 아니라...하하..
         혹은 제로 남겨주시려면 마지막에 [제분류]를 남기시면 분류가 됩니다.
  • 객체지향분석설계 . . . . 7 matches
          프로젝트의 목표는 여러가지로 정할 수 있다. 이 프로젝트를 통해 얻고자 하는 비지니스 요구사항, 이 프로젝트를 사용하는 사용자가 얻기 위한 사용자 요구사항, 그리고 개발자 요구사항등이 있을 수 있다.
          세 가지 요구사항중 우리는 사용자의 요구사항에 귀를 기울이면 된다.
          * 기본흐름(*) : 기본 사용 시나리오
          * 대안흐름 : 기본 사용 시나리오중 분기가 발생할 수 있는 경우
          * 예외흐름 : 기본 사용 시나리오중 예외가 발생할 수 있는 경우
  • 고한종/십자가돌리기 . . . . 7 matches
         == 본 ==
         // ㄴ#include<windows.h> 선언후 사용.
          printf("사용하실 스케일을 입력하세요.\n");
          * 함수선언 + for으로 하는데 거의 성공했다. (숫자가 어려워서 *로 도전중이다.)
          *그래서 막았다. 굳. 근데 goto 임. 대체할 방법 없나?
          * 아 근데 20초과 수 입력하는거 막는건 성공했는데 자를 입력하면 아무것도 안뜨는게 좀 짜증난다. 이거 어떻게 막아야 할까. 도움이 필요하다 ㅜㅠ
  • 데블스캠프2003/셋째날/후기 . . . . 7 matches
          * 오늘은 많은 언어를 접해볼 수 있어서 좋았다.. python 과 scheme 글구.. squeete? 암튼 색다른 경험이었다... 모든 프로그램에 있어 창의적인 생각으로 제를 해결할 수 있었으면 좋겠다.... 6분 남았다.. 아~ 얼른 축구보러 가고 싶다... -- 손동일
          * 그동안 C언어에만 제한되어있던 사고의 범위를 다른 여러 언어를 접해보면서 넓히는 계기가 되었다...그 후에 짰던 ramdomwalk는 알고리즘에 확신이 섰는데도 불구하고 다 완성하지 못해 아쉬웠다...나중에 꼭 완성해야지.. --[원명]
          * 공부해보고 싶은 새로운 내용을 배워 기분 좋다. 제에서 하루 풀려서 머리가 너무 잘 돌아간다.ㅎㅎ -[Leonardong]
          * 현재 램덤워크를 해보는중 풀릴듯 한데 이상하네 리턴값이 제인거 같은데 어떠케 잡아야 할지 모르겠군;; 오늘 접한 많은 언어들 식상한표현이겠지만 너무나 좋았다. 씨뿔뿔과는 다른 언어들.. 오늘까지 하면서 이번 방학동안에 멀 해야 하는지를 깨달았다 마냥 놀아서는 도저히 남을 따라가지 못함을 남을 따라간다기 보다는 더욱 발전해야할 그리고 앞으로 발전 되있을 나의 모습을 보기 위해서. 더욱 힘을내자. 지금의 어려움은 아무것도 아니다. 아자!! -- [변준원]
          * 나 역시 새로운 언어들을 보면서 오길 잘 했다는 생각이 들었다. 앞으로 종종 사용할 수 있는 언어들은 사용할만한 기회가 오면 좋겠다. --[snowflower]
          * 넷째날 시작하기 몇시간 전에 쓰는 후기 -ㅂ-; 새로운 언어 배운것 정말 재밌었구요^^ OOP에 대해 조금이나마 감이 잡힌것 같습니다. 개인적으로 python을 공부해보고 싶은 생각이..^^ scheme 이랑 squeak도 재밌었어요 ^^ 우물안 개구리가 되지 않도록 노력하겠습니당! 아..그리고 랜덤워크 거의 다짠거같은데 뭐가 제지 ㅠ_ㅠ--[방선희]
  • 데블스캠프2005/Python . . . . 7 matches
         == 풀어본 제들 ==
          * dir() : 인수에 객체를 전달하면 객체 내에서 사용할 수 있는 함수 리스트를 리턴한다.
         raw_input 자열 입력
         >>> n = input('숫자 입력하세요. ')
         숫자 입력하세요. 5
         === 자형 ===
         시퀀스 자료형 : 자열, 리스트, 튜플 등
  • 데블스캠프2006/연습문제 . . . . 7 matches
         = 데블스캠프2006/연습제 =
         연습제 코드나 최종 프로그램 코드 올려주세요^^
         [데블스캠프2006/월요일/연습제]
         [데블스캠프2006/화요일/연습제]
         [데블스캠프2006/수요일/연습제]
         [데블스캠프2006/목요일/연습제]
         [데블스캠프2006/금요일/연습제]
  • 데블스캠프2006/월요일 . . . . 7 matches
         법,함수,MSDN,SVN,SSH,파일입출력
         || 법 || 함수 || MSDN || SVN,SSH || 표준입출력 || 계정 및 따로 공부 ㅋㅋ ||
         ||pm 08:00~09:50 || 법 || 송수생 (05) ||
         새내기 위주로 저 레벨에 제 부터 하나씩 올라가는 레벨업 방식.
         위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
         = 제 풀이 =
         [데블스캠프2006/월요일/연습제]
  • 데블스캠프2006/월요일/연습문제/if-else/이장길 . . . . 7 matches
         == 데블스캠프2006/월요일/연습제/if-else/이장길 ==
         1번
         2번
          cout<<"당신이 입력하신 것은 숫자 입니다.";
          cout<<"당신이 입력하신 것은 대자 입니다.";
          cout<<"당신이 입력하신 것은 소자 입니다.";
          cout<<"당신이 입력하신 것는 특수자입니다.";
  • 데블스캠프2006/월요일/연습문제/웹서버작성/변형진 . . . . 7 matches
          * 아직 다양한 보안 제에 대한 해결 방법을 마련해놓지 않아, 지정된 디렉토리에 있는 파일만을 보이도록 허용함
          * PHP로 짜면 스크립트 언어 특성상 프로그래밍이 즐겁다고나 할까요? 그런 느낌이 좋아서 PHP를 선호하긴 하지만, UI를 제외한 코어 루틴만큼은 레퍼런스와 샘플을 함께하면 대부분의 언어로 같은 루틴을 만들 수 있을 거라고 생각해요. 그래도 어느정도는 비 웹언어에 익숙해져야 하지않을까 싶어 C++, Java, C#을 고민하다 C#을 선택해서 해봤는데, C#이 클라이언트단 어플리케이션에서도 효용성을 가지려면 Windows Vista가 출시된 후의 상황을 지켜봐야 할 것 같고, 아직은 C/C++이 더 대세인건 분명해보이네요. 사실 저같은 경우에는 아직은 연구하고 싶은 관심사가 '대용량 데이터베이스 기반 검색 엔진'과 '형태소 분석 기반 자연어 처리'로 DB와 자열 처리에 관한 부분인데, DB 처리는 일단 RDBMS에서만큼은 PHP처럼 수월한 언어가 없고, 자열 처리는 Perl이 다른 언어들에 비해 월등하다보니 그런 언어를 도메인 언어로 해오지 않았나 싶네요. ㅋㅋ - [변형진]
          * 내가 PHP 도 약간 해보고, JSP 나 Java 도 약간 해봤서 대충 심정을 알듯.. 나도 JSP랑 Java 써서 이번에 DB 프로젝트 개발 해보기전에는 웹에서는 PHP로 짜는게 가장 편하게 느껴졌었거든. 그래서 DB 프로젝트도 웹은 PHP 응용은 Java 이렇게 해 나갈려고 했는데 PHP가 Oracle 지원은 버전 5.x 부터 되서 걍 Jsp로 하게 됐지. 둘다 해본 소감은 언어적인 면에서는 뭐 PHP로 하나 Jsp로 하나 별 상관이 없는거 같고, 다만 결정 적인것은 개발환경및 Jsp 에서는 java 클래스를 가져다가 사용할수 있다는 점이었스. Jsp에서 하면 Junit 을 사용하여 Unit 테스트를 하면서 작성하기 수월했고, 또한 디버깅 환경도 Visual Studio 에서 디버깅 하듯이 웹을 한다는게 정말 좋았지. 또 java 클래스를 가져다가 사용할 수 있어서 여러 오픈 소스를 활용하기에도 좋고.(예를 들면 Lucene 같은 자바로 만든 오픈소스 검색 엔진..). 특히 Eclipse 라는 강력한 개발 환경이 있어서 Visual Studio 보다 더 개발이 수월할 정도..
  • 데블스캠프2010/넷째날/후기 . . . . 7 matches
          * 개인적으로 웹이랑 자바스크립트에 관심이 있어서 꽤 관심이 있던 세미나였습니다. 첫 시간이라 사람이 적어서 좀 늦게 시작하긴 했는데, 그래도 간단한 자바스크립트에 대해서 배울 수 있었고, 코딩 때 제가 생기면 성현 선배가 잘 수정해주셔서 개인적으로는 만족스러웠습니다. 좀 더 DHTML쪽 요소가 있었으면 좋았지 싶은 게 아쉬운 점이네요. ㅠ.ㅠ - [서민관]
          * 자바스크립트가 C언어와 많이 닮은것 같아서 매우 인상깊었습니다. 하지만 저의 C언어 실력이 미숙하여 하는데에 많은 어려움을 겪으면서 많은 생각을 하게 되었습니다. 일단 기본적인 C언어의 법과 선언하는 함수 등을 자세히 공부하고, 자바스크립트에서의 C언어의 활용 방법을 좀더 연구해야겠다고 생각했습니다. 그리고 자바스크립트를 통해 비쥬얼 스튜디오보다 좀더 편리한 프로그래밍을 할수있어 더 좋은 내용의 프로그램을 만들수있다는 것에 대하여 생각해 보았습니다. 앞으로 좀더 열심히 공부해야겠다고 생각합니다. - [양아석]
          * 웹브라우저로 바로바로 결과를 확인해 볼 수 있어서 재미있었다. 그래서 하다보니 어느새 하라는 걸 안 하고 내가 하고싶은 걸 하고있었던 것은 제...ㅇ>-< - [김수경]
          * HTML의 법은 별로 관심이 없지만, java script는 흥미로웠습니다. 얼른 sciprt 언어 하나를 배워봐야겠네요. - [박성현]
          * 참 재밌었습니다. "쿠키와 세션"에 대한 내용도 조금 알 수 있었고 웹의 작동 원리를 알 수 있어서 좋았습니다. AJAX가 등장한 이유도 재밌었구요 ㅋㅋ 또 하나의 웹 페이지처럼 보이지만 실상은 여러 페이지를 include 한 것을 보고, "아 이런 원리였구나" 하고 깨닫게 되었습니다. 참 신기하고 재밌네요 ㅋㅋ C++0x도 역시 흥미로웠습니다. 새로운 법들 중 &&를 이용한 우측값 참조, 이걸 들어보니깐 점점 C++은 접근하기 어려운 언어가 되어가는 듯한 느낌을 받았습니다... 하지만 저는 성능을 더욱 개선시킬 수 있다는 점에서 새로운 것을 알아 좋았습니다. - [박성현]
          * 처음 했던 웹을 보는 시점에 대한 이야기도 엄청나게 좋았고 C++0x도 엄청나게 좋았습니다. 사실 이번 데블스에서 노렸던 두 세미나 중의 하나였는데 정말 휴가까지 내서 들으러 올 가치가 충분하고도 남을 정도의 세미나였다고 생각합니다. 다만 제는 C++0x는 1학년한테는 이해하기 힘들지 싶다는 점이었네요. 어쨌든 찬사. -[서민관]
          * 서버 만들어서 돌리는거 재밌네요. 상당히 흥미로웠습니다. PHP 예제도 타이핑 한것도 재밌었습니다. 다만 DB 쿼리 날리는 것도도 같이 해봐서 그런지 DB 쿼리날리는걸 배운건지 PHP를 배운건지 헷갈려요 ㅋㅋㅋ 또 헷갈리는게 있었는데 HTML태그를 쓰면서 PHP를 사용했는데, 기본적인 태그들이 HTML 태그랑 똑같은건가요? 아니면 Java Script처럼 HTML 안에 들어가는건가요? 헷갈리네요.. - [박성현]
  • 문제은행 . . . . 7 matches
         신입생들을 위한 제(["제분류"]) 들을 제시하는 지도역할을 하는 페이지 See Also ["데블스캠프2002"]
         || 게시자 || 제이름 || 페이지 ||
         컴퓨터 프로그래밍에 흥미를 느낄수 있게 여러가지 재미있는 제들을 내보고 서로 풀어보았으면 좋겠다는 취지에서, 그리고... 새내기들을 대상으로하는 여러 이벤트에도 사용되길 바라며 페이지를 만들었습니다. - 임인택
         see also ["제풀이게시판"]
         ["프로젝트분류"], ["제분류"]
  • 비행기게임 . . . . 7 matches
          * 파이썬 디버그 사용 방법
          * 게임 만드는 것은 내 취향이 아닌거 같다. ㅠㅜ, 이번 비행기 게임 프로젝트를 통해서 뼈저리게 느꼈다. 뭐 그래픽 넣을때도 포토샵 단색으로 그리고, 또 세세한 부분 신경 쓰는걸 잘 못하겠다. 아마다 덜렁대는 성격때인거 같다. 오목 만들때는 재밌었는데 비행기겜 만드는건 그것 만큼은 아니다. 쩝.. - 상협
          게임 그래픽 부분이 만만치 않긴 하지.. 흐흐. 스프라이트 그리는 사람이 고충이 생각보다 많음. 안티 엘리어싱 부분의 경우 투명색이 제대로 처리가 되지 않기 때에 도트노가다를 해주어야 하거든. 나의 경우 포토샵으로 일단 트루컬러로 그린뒤 그것을 256 indexed color 로 바꾸고 투명색 하나 넣어서 도트노가다 해주는 식이거나, 또는 아에 3D 툴로 그리던지. (3D 툴로 모델링하고 렌더링시에 웬만한 툴들은 alpha channel 을 따로 저장하거든. 그래서 3D 툴로 만든건 안티 엘리어싱 제를 그리 의식하지 않음.) 또는 아에 엔진 자체가 3D이고 스프라이트들이 3D 이던지지만 이건 논의 대상 밖이겠군; 해성이의 경우는 원래 도트 노가다에 일가견이 있기에 뭐 전부 그려주긴 했고;
          그리고 몇몇 캐릭터들에 대해서 스프라이트 사이즈에 대한 제들도 있긴 하지만, 뭐 이건 논의 제외하기로 하고.
         개인적으로 '형은 뭐 먼저 했어요?' 라고 질한다라면, '나는 DirectX 7.0 의 Space donut 소스 분석한뒤 만들었지만, 꼭 DX를 볼 필요는 없다' 라고 말해주고 싶군.
  • 새싹교실/2011/AmazingC/5일차(4월 14일) . . . . 7 matches
          * 조건
          * 반복
          * 명령을 반복할 횟수를 알고 있을때 사용
          * 따라서 명령을 반복할 횟수를 모르고 있을때 사용하면 편리
          <입력받은 숫자의 각 자리수의 합 구하기>
         [이가희] - 지금까지 배운 부분중에 가장 중요한 부분이라고 생각되는 반복과 조건! if, while, for! 뒤에 별찍는게 좀 무서워보이긴 합니다만 열심히 해보겠습니다^_^ 오빠도 시험 잘보세요~ 아니 잘 보시고 계신가요 ㅋㅋㅋㅋ?
  • 새싹교실/2011/무전취식/레벨3 . . . . 7 matches
          * 변수는 이름이 두개다! 하나. 사용자가 지정해주는 변수명. 둘. &변수명 을 하면 나오는 주소값.
          * 프로그램은 장단위로 코드를 돌리게 되는데 그것을 끊어주는 단락이 ; 입니다.
          * 제어을 배웠습니다. 제어은 프로그램의 흐름을 제어하는 장입니다.( if,switch{case},while(){},do~while();,for( ; ; ) )
          * 후기는 이렇게 쓰면됩니다. 오늘은 2주차의 복습. 중요하고 중요하기 때에 다시 복습하는거야~~ 왜냐하면 여기를 모르고서는 코딩을 할수 없거든. 2주차를 다시 확인해주면 좋겠어~! [새싹교실/2011/무전취식/레벨2] 그렇고.. 흠흠. 다음에는 이렇게 강의 시간을 줄이는 일은 없을꺼야. 복습을 하니까 어떤지가 젤 궁금한데 어떠니? 잘 배우고 있는것 같아? - [김준석]
          * 이번 주 수업은 짧았습니다 약 한시간정도ㅎㅎ 제가 모르는것을 되짚어 주셔서 감사했어요 이히히 근데 숙제안해갈뻔 했네여..ㅋㅋㅋㅋ까먹고 있었어요 앞으로 위키를 자주 확인 해야겠습니당.ㅇ...C공부를 더 하기 위해 C언어 입서를 오늘구입했습니당...ㅎㅎ 잘해지고 싶어욧~! -[이진영]
  • 새싹교실/2012/새싹교실강사교육/3주차 . . . . 7 matches
         4. 구글 협업 서 만들어보기
         코딩을 하다 보면 자신의 코드를 다시 한번 점검해야 하는 경우가 꼭 생깁니다. 하지만 항상 제가 생기죠. 이게 main의 괄호(curly bracket : {} ) 인지 for의 {} 인지 헷갈릴 때가 있죠? 이번 시간 이후에 한번 검색해보세요. 코딩 띄어쓰기, 괄호를 어떻게 붙여야 하는지에 대해서 말입니다. 꼭! 잊지 마세요. 중요하답니다.
         3. 코딩 KeyWord (선생님들께 질해보세요)
         컴퓨터 관련 자유주제에 대해 조사해오세요~! 구글 협업서로 조를 이루어 해봅시다.
         강사의 계정에 구글 협업 서 만들기 -> 학생들의 계정 공유 등록 까지 마쳐봅시다.
  • 새싹교실/2012/아무거나/2회차 . . . . 7 matches
         새싹교실 2회차 수업이었지만, 1회차 수업에 빠진터라... 좀 버거웠습니다. 숫자 찍기부터 별 찍기 까지.
         while으로 써서인지 머리를 덜 써서인지, 소스가 점점 길어지네요. for 쓰는 법에 대해서도 꼭 배워야겠어요.
         후기 쓰는 것을 까먹어서 과제를 다하고 나서야 발견하고 쓰게되네요.(아마 창설 때에 그런가봐요. 으헝헝.)
          * 공백을 출력하는 반복과 *을 출력하는 반복 2개를 사용하여 한 줄을 만든다.
  • 새싹교실/2012/아우토반/앞반/4.5 . . . . 7 matches
         4. c1부터 c2까지의 자 출력하기
         4. c1부터 c2까지의 자 출력하기
          printf("숫자를 입력해줘 뿌잉\n");
         4. c1부터 c2까지의 자 출력하기
          printf("원하는 자 입력해줘 뿌잉\n");
          * 어깨가 빠지는줄 알았어요..유.유 왜냐면 제 노트북을 가져왔었거든요. 제 노트북으로 신나게 프로그램 4개를 ㅉㅏ 보았습니다. 아우토 샘이 힌트를 좀 주셨지만, 그래도 스스로 생각해서 해보아서 보람찼습니다. 그리고 프로그래밍의 세계는 매우 무긍무진합니다. 왜냐하면 같은 프로그램인데 성준이아 소스코드가 달랐기 때입니다. 하하하.. 신나요신나 WoW~~ 앞으로 프로그램 많이 짜보며 연습하고 복습도 열심히! 질도 열심히 하겠습니다. 룰루랄라
  • 새싹교실/2012/열반/120402 . . . . 7 matches
         == 반복 실습 ==
          * i=<N 또한 잘못된 법입니다. i<=N 이 의도한 것이겠지요?
          * 자잘한 법 오류는 없습니다.
          * 중첩 반복 + 중첩된 반복을 통한 별찍기 실습 (Optional)
          * while, do while 반복과 재귀함수를 이용한 점찍기를 배웠습니다. -[권우성]
          * 자잘한 법오류들을 보니 실습이 자주 필요하다는 생각이 듭니다. 다음주부터는 새로운 내용보다는 기존 내용을 확실히 하고, 중간고사 준비도 약간 해줘야겠습니다. -[정진경]
  • 새싹교실/2013/라이히스아우토반/1회차 . . . . 7 matches
          * 질 많이 해줬으면 좋겠음. ~~시간을 때워야 하거든!~~
          * 진도를 더 나간 다면, 변수 개념 -> 조건 -> 반복 순으로 진행할 생각.
          * 질 많이 해줬으면 좋겠음. ~~시간을 때워야 하거든!~~
          * 진도를 더 나간 다면, 변수 개념 -> 조건 -> 반복 순으로 진행할 생각.
         수업때보다 모르는티 팍팍 내면서 질할수 있어서 vㅔ뤼 좋았다
  • 새싹교실/2013/라이히스아우토반/6회차 . . . . 7 matches
          * 조건식
          * continue 쓰는 상황을 보여 줌.
          * Internet Explorer를 제외한 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
         오늘은 switch에 대한 자세한 복습을 했습니다. 그리고 그 switch 를 if랑 else if 를 사용하여 바꿔보았습니다.
         그후 배열에 대한 간단한 개념을 배우면서 continue를 어떻게 써야 하는지 배웠습니다.
         switch을 복습하였다
         당장 제가 던져지면 if else같은 말로 떠오르는데 switch로 쓰려니 음.. 한번더 생각해야한다.
  • 식인종과선교사문제/변형진 . . . . 7 matches
         이 제를 푸는데 흔히 이용되는 Backtracking 기법을 사용하지 않고 구현하는 방법이 없을까 해서, Case-by-case로 최소한의 상황에 대한 처리 방법을 지정해보았다.
         가능한 모든 cases를 분석한 결과 우로 건너기와 좌로 건너기에서 각각 상황에 따라 3가지 건너기 방법이 사용될 수 있었다.
         '''그러나 여기에서 사용한 방법은 모든 cases를 사람이 직접 조건 별로 분류해 주어야 하므로 결코 좋은 방법이 아니다.'''
         여기서는 구현하지 않았지만, 모든 cases에 대해 각각 어떻게 처리할 수 있는지를 먼저 컴퓨터가 계산하여 DB에 담아서 일괄 처리하면, 이 제가 상당히 복잡해질 경우 Backtracking보다 나은 효율을 보일 수도 있지 않을지?
          * 모든 케이스를 DB에 저장해서 푸는것과 비슷하게 머신러닝으로 학습시켜 풀게 만들면(제 해결에 관한 state를 저장했다가 푸는것이므로 유사하다고 생각했습니다) 정답률이 얼마나 나올까요? - [[bluemir]]
         [식인종과선교사제]
  • 요정 . . . . 7 matches
         육지에 사는 것, 물 속에 사는 것이 있으며 성질도 가지각색으로 인간에게 도움을 주는 것 (아일랜드의 레프리콘) 도 있지만 요정의 화살을 쏘아서 마비시키는 (콘월의 픽시) 등 나쁜 짓을 하는 것도 있다. 땅의 풍토나 자연에 따라 가지각색의 요정이 있다. 요정은 스스로 선택해서 모습을 나타내기 때에 사람이 요정을 만나기는 쉽지 않다. 다만 느낄 수는 있다. 눈보다 귀로 요정의 존재를 아는 사람이 훨씬 많다는 걸 알아두어야 한다. 발소리나 노래 소리 따위는 요정의 짓이 대부분이다. 요정은 보기도 어렵지만 보게 되더라도 눈깜짝할 순간에 놓쳐버리고 만다. 투시 능력이 있는 사람에게는 보인다고도 하지만 보통 인간에게도 간단한 방법이 있긴 하다. 네잎 클로버를 머리 위에 올려놓고 요정이 바르는 약을 눈에 붙인다. (다만 약 만드는 법은 요정만이 알고 있다)
         단호히 요정을 지명해서는 안된다. 요정이 기분이 상해서 장난을 치기 때이다. 좀더 부드럽게 '작은 사람들' , '평화로운 사람들', '좋은 이웃', '착한 사람들', '금발을 한 일족' 따위로 부른다. 재미있는 점은 요정은 자기 진짜 이름을 밝히지 않는데, 만약 사람이 그 이름을 알게 되면 그 요정은 그대로 사람의 종이 되기 때이다.
         작은 산이나 물속, 숲 근처에 사는 요정이 많은 듯하다. 물론 사람 근처에 사는 걸 즐기는 요정도 있다. 요정 나라는 작은 산의 입구부터 대지 밑, 또는 해변의 동굴부터 바다밑까지 널리 퍼져있다. 또 요정들은 호수나 냇물 속, 나무 구멍이나 뿌리 사이, 언덕에 뚫린 굴속에 사는 것으로 여겨졌다. 그들은 달빛을 받으며 춤을 추는 걸 즐겼는데, 사람들은 항상 '요정의 링' 을 보고 그들이 맘에 들어 한 무도장을 발견할 수 있다. 그것은 버섯이 점점이 줄지어 완전한 원형을 만들어 놓은 것으로, 그 원 속의 풀은 주위의 풀보다 짙은 녹색을 띈다. 사람들은 이 순수한 원을 피해 가야한다. 만약 그 원 속에 발을 디디거나 그 속에서 잠을 잔다면, 요정들에게 유괴될지도 모른다고 생각했기 때이다. 요정들에게 유괴되어 그들이 사는 지하에서 몇 분 있다 돌아오면 지상에서 는 이미 몇 년이 지나있다고 한다.
         우선 그들과 이야기 할 때 요정이라고 부르는 것을 피하고 ' 저 사람들' 이라든가 '마음씨 좋은 사람들' 이라고 말을 골라 쓰는것도 요령이다.또 다른 사귀는 요령은 두리번거리며 주위를 살피지 말아야 하고 어떤 질이라도 정중히 답하는 것이다. 하지만 격식을 갖춰 말하는 것을 싫어하는 요정인"야레리 브라운" 같은 요정도 있으니 주의할 것.
         모두 서로 다른 취향을 갖고 있어 멋내기를 즐기는 듯 하다. 숲속에 사는 정령들은 숲에서 얻을 수 있는 소재를 사용해서 능숙하게 옷을 만들어 입고 인간의 주위에 사는 요정들은 인간에게 빌린 물건으로 꾸려 나가는 경우도 있는 듯 하다.
         믿을 수 없지만, 유럽에는 요정의 물건을 소장하고 있는 박물관이 많다.에딘버러에 있는 박물관에는 '요정의 관' 이 있다. 스코틀랜드의 서쪽에 떠있는 루이스 섬의 근처에 픽시의 작은 섬이 있다. 16 세기와 17 세기에 인간의 것으로 보기에는 너무나 작은 뼈가 발견돼었다는 기록이 남아 있다. 그러나 20 세기에 들어서 발견된 뼈가 바다새나 작은 포유동물의 것으로 판명됐기 때에 과거에 발견된 뼈도 요정의 것은 아닌 것으로 보인다. 요정을 찍은 사진 중에서도 수정이나 이중 촬영한 흔적이 보이는 것이 많다.(참고로 빅토리아 시대엔 요정의 존재를 꽤 믿었다고 합니다. 이 시대에 초심령현상에 대한 열풍이 불기도 했지요.)
  • 이영호/nProtect Reverse Engineering . . . . 7 matches
          제로페이지 위키에 글은 많은데 자료는 거의 없는 이유는 가다듬는 작업이 거의 안 일어나서라고 봅니다. 예를 들면 중복되는 내용을 담은 페이지, 관련된 내용인데도 서로 다른 이름과 분류 아래 저장된 페이지, 의미를 알 수 없는 이름을 가진 페이지, 너무 옛날 자료라서 이제는 의미없는 내용을 담고 있는 페이지 따위입니다. 자신이 만든 페이지는 누구보다도 글쓴이 자신이 잘 가다듬을 수 있을 것입니다. 때에 자신이 만든 페이지부터 가다듬는 것이 좋은 정보를 많이 찾을 수 있는 위키를 만드는 지름길이라고 생각합니다. 더 좋은 방법이 있을까요? -- [Leonardong]
         마비노기가 아닌 다른 nProtect를 사용하는 게임을 확인한 결과 소스에 포함되어 Exception Handling을 한다는 것을 발견하였다.)
         업데이트 파일에서 host의 patch 주소를 내가 사용하는 eady.sarang.net/~dark/12/Mabi/로 고치고 여기에 파일 3개를 올리고 시도 하였더니
         몇몇개의 함수만을 수정하고 guardcat.exe만 실행하였으나 gc_proch.dll의 hooking 루틴때에 막혀버렸다.
         2. client.exe(client가 실행될 때, gameguard와는 별개로 디버거가 있는지 확인하는 루틴이 있는 듯하다. 이 파일의 순서는 이렇다. 1. 데이터 파일의 무결성검사-확인해보지는 않았지만, 이게 제가 될 소지가 있다. 2. Debugger Process가 있는지 Check.-있다면 프로세스를 종료한다. 3. gcupdater.exe를 서버로부터 받아온다. 4. createprocess로 gcupdater를 실행한다. 5. 자체 게임 루틴을 실행하고 gcupdater와 IPC를 사용할 thread를 만든다.)
         그리고 zeropage에 정보 업로드 (부디 이건 google에 걸리면 안되는 서다.)
  • 장용운/곱셈왕 . . . . 7 matches
         당시 제에는 변수 y에 저장된 값 38을 왼쪽 쉬프트 연산자(<<)를 사용하여 2칸 옮긴 결과를 출력하게 했는데,
         해당 변수는 자료형이 short형이므로 16비트로 계산하면 38*4가 되어 152가 답이 되는 제였다.
         허나 [장용운]은 그 제에 있던 또다른 변수 x에 저장된 값 0xa3을 이진수로 변환하던 과정에서 제를 8비트로 풀이하게 되었고
         그러다가 38<<2 역시 8비트로 생각하고 제를 풀게 되는 불상사가 발생하였다.
         너무 개인 위키처럼 사용하는 게 아닌가 싶네요. 이 페이지는 그렇다쳐도 멀티게이라는 페이지를 왜 만들었는지 모르겠어요… 외부 링크로 충분할 것 같아 페이지 지우고 구글 번역을 링크했습니다. - [김수경]
  • 정모/2012.11.26 . . . . 7 matches
         하지만 1월에 좀 사용할 예정
          * 서적으로 정리해서 제출할 곳이있음
          * 제출도 있고 내년에 신입생 모집때 사용 가능함
          * 지금 버리기로 했고 딱지 때에 일단 버리고 와보기
          * [윤종하]: 종록이형 죄송해요, 오늘 공학교육페스티벌 제에 대해서 말이 많아서 좀 아쉬웠습니다. 다음주 OMS 기대할게요
          * [박정근] : 공학교육 페스티발에 대한 공유가 재미있었습니다. 담에 한번 가보고 싶네요ㅋ OMS는 못 들었지만 윤종하의 OMS에는 아쉬움이 없습니다. 아마 다음 정모는 과외때에 못 가게 될 듯 싶네요ㅠ
          * 득 떠오른 다과라는 개념이 엄청나게 많은 사람들의 후기를 이끌어내는군요. 특히 다른 사람을 배려해서 자기가 쓰면 다 같이 즐거울 거라는 생각들이 모여 이룰 수 있는거 같아 매우 기분이 좋네요 :) -[김태진]
  • 정모/2013.3.18 . . . . 7 matches
          * 관심있는 분은 허진욱(010-3130-2031)로 전화해서 의하길 바랍니다.
          * Q : SNS는 협소하게 가면 안될텐데? A : 인력&돈 때에 협소하게 갑니다.
          * Q : 정확한 사용자의 수요는 고려하셨는지? A : 그래서 협소하게 갑니다.
          * 그렇기 때에 (할지 안 할지를 떠나서) 지속적인 커뮤니케이션이 중요.. - [권순의]
          * (질) 분실물에 대해서 책임은 누가 질 것인가?
         === 스티커, 홍보판넬(학회실 간판) ===
          * 주을 하자.
  • 정모/2013.9.4 . . . . 7 matches
          * 본인 입으로 정확히 말하자면 :) 제한이 없어도 잘 안가는데, 제한이 생기면 더욱더 안 갈게 뻔하고, 지원금을 받는 대신 회원에게 공유할것을 전제로 주는 것이기 때에, 한 사람이 집중적으로 많이 받아가도 별 반발이 없을거라 생각합니다. 받은만큼 토해(?)낼태니까요 :) 대신 세미나 같은 곳 다녀와서 건성으로 공유하지 않고 제대로 공유해줘야겠죠. 일단은 회장이 만족할정도면 된다고 생각합니다만. - [고한종]
          * 외부 유입에서 제가 생길수 있으므로 조심하는게 좋다.
          * 또 하나 제가 생길 수 있는게, 외부에서 zp가 거의 주최하는거에 대해서 클레임을 건다면 제가 생길수 있어서 소모임방식으로 주최하는것에 조심해야한다.
          * 대학생 프로그래밍 동아리에서 하는 제 2회 제중 못푼제 풀고 슬라이딩 윈도우 알고리즘을 공부했습니다.
          * 한.자. : 개강후 앞으로의 방향과 계획을 정하는 방식으로.
  • 제13회 한국게임컨퍼런스 후기 . . . . 7 matches
         || 후 원 || 화체육관광부, 한국인터넷디지털엔터테인먼트협회, 서울산업통상진흥원, NHN Ent. ||
          * 세 번째 세션 Autodesk는 자신의 툴을 어떻게 사용하는지에 관한 이야기가 주였다. 이건 익숙해 지는 것이 관건인 듯..
          * 3일차에는 1일차에 그래픽 부분을 들으면서 프로그래밍과 큰 연관성을 찾지 못한 까닭에 프로그래밍 위주로 찾아 다니기로 했다. 하지만, 원래 들으려고 했던 ‘좋은 게임을 최고로 만들어 주는 요소 분석’ 파트를 들으려 했으나 갑자기 잠수를 타 버리는 바람에 급하게 언리얼 엔진 주제 쪽으로 넘어갔다. 모바일 게임과 관련한 이야기를 하면서 온라인 게임과는 비용, 기간 등 많은 차이가 발생하는 것에 대해서 이야기 했다. 그러면서 아티스트들은 제발 쓸데없는 자존심 버리고 게임이 잘 돌아가게 해 달라는 요구를 하시던.. 하기야 콘솔 게임 정도 되어야 그래픽에 많은 부분 신경 쓸 수 있겠다만 모바일은 화면도 작고 하니.. 라는 생각이 들었다. 결국 메모리를 줄이기 위해 Object를 나누어 Module 사용을 해라는 이야기로 마무리 지어졌다.
          * 세 번째 세션은 또 음악의 세계로... 역시나 자기네 회사 프로그램을 사용하면 사운드 효과를 다양하게 낼 수 있다는 것에 대해서 이야기 해 주었다. 뭐 Chaining 관계를 이용한 소리의 조합이라나 뭐라나..
          * 그 다음 키노트는 ‘다양한 사람들에게서 설조사를 반영해 자신들은 더 좋은 게임을 만들어 나가고 있어요~’ (리얼리?) 뭐 계속 그런 내용..
          * 마지막 세션은 NVDIA와 Visual Studio를 연계해서 디버깅하는 것에 관해 이야기를 했는데.. 보여주면서 하긴 했는데 뭔 내용이 이렇게 지루한지..; 전반적인 NVIDA 소개와 필터 버그 등 버그가 발생하였을 때 픽셀 히스토리 기능으로 추적해서 셰이더 편집기능으로 수정하는 등 버그를 어떻게 고치는지, 툴은 어떻게 사용하는지에 대한 이야기가 주였다.
          * 프로그래밍과 관련한 부분이 아닌, 다른 부분 (그래픽, 오디오 등)에 대한 이해도 할 수 있었고, 다양한 프로그램들을 알 수도 있긴 했다만 뭔가 대부분이 자신들 업체 홍보에 조금 주안점이 있지 않았나 라는 생각이 들었다. – 물론 안 그런 세션도 있었고 – 특히 직접 보여주는 부분은 같이 좀 해 보았으면 더 좋지 않았나 라는 생각이 들긴 했지만 또 그렇게 하기에는 물량 지원적인 제도 있으니... 노트북 가져오라고 했으면 좋았을 것을.. 뭐 이런 잡다한 생각이 들기도 했다.
  • 제로위키이용의어려움 . . . . 7 matches
         어렵다는 것은 위키의 사용이 어려운것이 아니라, 위키를 공동체가 사용할때의 생기는 예절과 규칙에 새로운 사용자가 적응하면서 느끼는 어려움일 것입니다. 계속 이렇게 가면, 우리가 다른 나라의 말과 화를 배우는 것에 비견될수 있지 않을까요?
         그래서, 현 ZeroWiki 쓰기를 막아 버리고, 기존 사용자들과 새로운 사용자들과 새로운 위키에서 작업하는 것도 좋을것이라는 생각이 들었습니다. NeoCoin은 그냥 삭제를 생각했는데, [1002]는 처음에는 그냥 모든 Contents 를 앞으로 한두달간 막아 버리고, 새로운 규칙들이 생기면 기존 contents 를 녹여가는 것을 생각했습니다. 그리고 이야기 중에서 현 ZeroWiki 를 SisterWiki 로 연결한 새로운 위키도 괜찮다는 생각이 들었습니다.
          [선호]는 항상 새로운것, 깔끔한것을 좋아하기 때에, 새로운 바닥에서 새롭게 시작하는 것도 좋다고 생각합니다.
  • 조현태/놀이/지뢰파인더 . . . . 7 matches
          제는 디버깅이 며칠간 이루어지는가.. 왠지 겁이난다. 와따 많은 논리적 오류와 싸워야 할듯..;;
          킁..ㅠ.ㅜ 재앙이다..;;ㅁ;; 앞으로는 이렇게 짜지 말자는거 이외에는 뭐라 할말이 없다. 오랫동안 손대지 않았던 터라, 알고리즘이 잘 생각이 나질 않는다. 그래도 내가 짜서 그런지 금방 알고리즘을 생각해내는데는 성공했지만... 많은 부분을 수정했으나, 더 많은 재앙들이 초롱초롱한 눈빛으로 나를 반기고 있다. 이쁜 아가씨면 반겨주겠지만 이런 버그덩어리라니.. 도데체 어느 부분에서 잘못된 메모리를 엑세스 하는건지..흑흑 어빠햐가 잘못해떵..ㅠ.ㅜ 제발 정상적으로 작동해줘..ㅠ.ㅜ API의 특징인지...내가 못해서인지.. 테스트가 콘솔창보다 용의하지가 않다. 수없이 조각조각 나있는 할당된 메모리의 파편을 일일이 추적하자니.. 트리나 링크드리스트 형식의 제점이라고나 할까..;;ㅁ;; 도데체 어디서 잘못된겨~!!! !@#$%^&*()...... 그래도 실행하면 지뢰 한 2-3개.. 숫자 한 2-3개는 찾고 뻗으니위안은 된다.(참고로 아직 지뢰를 건드린적은 없다!!) 수정해야할 부분 태산.. 만들어야 할 부분 태산.. 휴가가 극도로 짦은걸 보면 방학중에도 만들어야 할지도... 뭐 나름대로 앞으로 프로그램을 어떻게 짜야 할 지에대해서 조금은 도움이 되겠지뭐..ㅠ.ㅜ 흑.. - [조현태]
          계획 전면 수정. 알고리즘 및 소스 재작성 돌입. 과거 단순 "로봇을 이용해서 마호로매틱 쵸비츠..는 아니고 어쨋든 멋지게 만들어 보자!" 에서 "로봇만 이용하는건 넘흐 어려벙~ 다른걸 섞어봐야겠어~!" 로 변경. 사용하기가 편하고 검색속도가 빠른 기존의 방법과 정확도가 높은 로봇을 밀가루와 팥이만나 붕어빵이 되듯.. 잘 섞어보기로 결정했다. 새로 모든소스를 작성하고 기존 소스의 심각한 제점이었던, 어설픈 분할과 최악의 테스트 조건(윈도우 지뢰찾기는 실행해서 어떤 맵이 나올지 모른다. 또한 테스트 시간이 길고 준비가 필요하다)을 극복하기 위해서 수정을 가했다. 좀더 체계화된 분할로 좀더 보기편하고 소스에 간지가 흐르도록 하였으며, 테스트 주도개발의 내용에서 눈꼽의 반만큼을 이용, 편리한 테스트 환경을 만들었다. (나름대로 진보환 환경과 소스!) 가슴은 아팠지만 재앙보다야 나을거라고 생각한다. 그리고 로봇..그 부분은 아직 경험이 없어서(데블스 캠프에 만들어 본게 다..)그런지 조금 빡세다. 뭐 그래도 한번 실패도 했으니, 더 쉽게 만들어 질 것이라고 생각하고 만들기로 결정했다. - 2005.08.13
          || 2005.08.12 || 소스 백지화 후 로봇을 제외한 부분(메인, 테스트 환경, 손, 눈, 기본 탐색 알고리즘, 새로운 자료구조)완성 ||
         약간의 딜레이를 주어서 풀어과는 과정이 나와 있다.(한칸마다 한번의 딜레이이기 때에 여러칸이 동시에 열리면 마치 연산이 없는것 처럼 보인다.)
  • 주민등록번호확인하기 . . . . 7 matches
          *제 : 주민등록번호 13자리를 입력받아 실제 존재하는 주민등록번호인지 분석한 후 결과를 출력한다.
          검증하는 방법은 첫째자리부터 2,3,4,5,6,7,8,9,2,3,4,5 (13번째 숫자 제외)를 순서대로 곱하고
          그숫자가 오류검증키와 같으면 주민번호 아니면 간첩
         || 보창 || Java || . || [주민등록번호확인하기/보창] ||
         [LittleAOI] [제분류]
  • 지금그때2005/홍보 . . . . 7 matches
         = 동서버에 올리는 홍보글 =
         일정 : 6:00 ~ 7:40 - 질 레스토랑
         더불어 대학 생활 내내 접해보지 못 할 수도 있는 OST라는 너무도 신기한 토론 방식을 체험할 수 있습니다. 제로페이지에서 국내 대학 최초로 시작했기 때에 자부심을 가지셔도 좋습니다. 자신이 내성적이라서 토론이라면 듣고만 있지 않을까 생각하시던 분들도, OST를 하면 자신이 얼마나 활발히 토론에 참여하는지 알게 되고 놀라실 겁니다.
         날짜는 3월 22일 다음주 화요일이고, 참여할 사람이 얼마나 되는지 파악하기 위해 미리 신청을 받고 있습니다. 관심있으신 분들은 동서버에 올라온 글을 보시고 신청해주세요.
         도우미를 제외한 신청인 수의 변화를 파악해봅시다.
         || 홍보일 || 동서버 게시판 홍보글 || 강의실 홍보|| 대자보 || 신청한 사람 수(도우미 제외) ||
  • 지금그때2005/회고 . . . . 7 matches
         사람들의 반응이 좋았다. 처음 시행해본 [질레스토랑]은 앞으로도 많이 쓰일 수 있을 것 같다. OST에서 활기찬 토론을 할 수 있어서 좋았다. 처음 뵙는 선배님들이 많아서 반가웠다.([복날]) -[강희경]
         작년에 경우 중간에 자리를 뜨는 사람이 꽤 되었다는 말을 들었는데 이번엔 그런 경우가 전혀 없었다.(잠시 들른 석천형 제외) -[강희경]
         질권을 발동하는 사람이 아무도 없었다. -[강희경]
         [질레스토랑]의 질이 거의 다 신입생이 대답하기 어려운 것들이었다. 적절한 질을 추가해야겠다. -[강희경]
         [질레스토랑]에서 대답할 때마다 점수를 주고 '''오늘의 토크왕'''같은 걸 뽑으면 재밌겠다. -[강희경]
  • 지금그때2006/질문레스토랑 . . . . 7 matches
         == [지금그때2006/질레스토랑] ==
          * 설윤창 - 알고리즘. 수학을 좋아하기 때에..
          * 이창섭 - 수학이 중요하다. 철학을 기호화 한것이기 때..
          * 이창섭 - 구현하는 것은 컴퓨터엔지니어이기 때에 재미있다. 그러나 교양에도 재미있는게 있다.
          * 임광훈 - 철학과 같은것.. 국과 수업을 들었는데 신선했다.
          * 이창섭 - 석천쳥, 상민형 등등.. 작은것에도 감동하기 때에 많다.
          * 설윤창 - 주어진 제를 미리미리 하는 사람.
  • 최대공약수 . . . . 7 matches
         제 : 최대공약수(GCD)를 구하는 프로그램을 순수하게 주 프로그램으로 작성하고 그것을 다시 call-by-value로 구하여라.
          * 유클리드 호제법 사용.
          || [보창] || Java || . || [최대공약수/보창] ||
          C언어시간에 배웠는데, 이 제에서는 아마 값을 넘기는 함수를 만들어서 사용하라는 것인듯 -- 아영
         [LittleAOI] [제분류]
  • 최소정수의합/문보창 . . . . 7 matches
          * 원래 이렇게 쓰는거 인가요 ? n(n+1)/2 가 n까지 숫자의 합으로 알고 있는데, 코딩할 때 만약에 공식을 모르는 경우는 어떻게 하나요?
          * 음... 굳이 처음에 공식을 모르더라도 제에 나온 식을 보고서 충분히 n(n+1)/2 를 유도해 낼 수 있습니다. 공식을 외우는 것이 중요한 것이 아니고, 해당 제에서 규칙성을 찾고, (물론 규칙성이 없는 제도 많습니다), 이 규칙성을 하나의 수식으로 변환시킬 수 있다면 제를 쉽게 풀어낼 수 있고, 또 이 과정이 공식을 외우는 것보다 훨씬 중요하다고 생각합니다. --보창
         - -> 정리 : 규칙성이 없다면 어쩔 수 없지만, 해당 제에서 규칙성을 찾아푸는것이 제풀기에 용이하다 이말씀이시죠? ㅋ
  • 큰수찾아저장하기 . . . . 7 matches
         {{{~cpp 제 : 전체 4 * 4 행렬의 공간 중 3 * 3 행렬의 공간에 키보드로 입력을 받아 숫자를 저장한 후,
         키보드로 9개의 숫자를 입력하고, 3 * 3 공간에 저장한다.
         이런식으로 출력한다. (입력된 숫자만)
          ||[보창]|| C++ || 10분 || [큰수찾아저장하기/보창] ||
         [LittleAOI] [제분류]
  • 토이/숫자뒤집기/임영동 . . . . 7 matches
          * 입력받은 자열을 숫자로 변환한 뒤 10으로 나눠주면서 그 나머지를 String에 붙여버린다. 그 후 출력.
          int reversedNumber=reverse(inputNumber);//뒤집을 숫자를 입력받고 reverse()호출
          {//입력받은 숫자를 10으로 나눈 나머지를 자열에 계속 붙여준다
          return returnNumber;//자열을 정수형으로 바꿔 리턴
         [토이] [토이/숫자뒤집기]
  • 파스칼삼각형/허아영 . . . . 7 matches
         헉 !! 행, 열에 해당하는 숫자만 출력하는 것이었다.
         ==== ver.2 행,열에 해당하는 숫자 ====
          pascaltri[i][j] = pascaltri[i-1][j-1] + pascaltri[i-1][j]; // 이 for 들 역시 ver.3에서 더 나아져야 함.
         그리고 제가 '파스칼 삼각형을 출력하시오.' 가 아니었던거 같은데?? 다시 보는게..
          지금 나의 머리는 터질 듯 아프단다. ^^; 포인터 때에 데여갖고-.ㅠ 소스를 아예 바꾸는 큰 공사를 치뤘기 때에 ㅠ
          좀 있다 생각해보마 ㅋㅋ 그리고 소감 읽어주길.. 제 잘못 푼것을 나중에 알았단다 ㅋ--아영
  • 프로그램내에서의주석 . . . . 7 matches
         그렇다면 자신이 그 코드를 해석하면서 얻은 지식을 그 코드에 적용했더라면(좀 더 의미있는 변수이름, 메써드이름 사용, 코드 일부분을 의미있는 이름의 메써드로 추출 등) 어땠을까요? --JuNe
         처음에 Javadoc 을 쓸까 하다가 계속 주석이 코드에 아른 거려서 방해가 되었던 관계로; (["IntelliJ"] 3.0 이후부턴 Source Folding 이 지원하기 때에 Javadoc을 닫을 수 있지만) 주석을 안쓰고 프로그래밍을 한게 화근인가 보군. 설계 시기를 따로 뺀 적은 없지만, Pair 할 때마다 매번 Class Diagram 을 그리고 설명했던 것으로 기억하는데, 그래도 전체구조가 이해가 가지 않았다면 내 잘못이 크지. 다음부터는 상민이처럼 위키에 Class Diagram 업데이트된 것 올리고, Javadoc 만들어서 generation 한 것 올리도록 노력을 해야 겠군.
          하지만, "확실히 설명할때 {{{~cpp JavaDoc}}}뽑아서 그거가지고 설명하는게 편하긴 편하더라."라고 한말 풀어쓰는 건데, 만약 디자인 이해 후에 코드의 이해라면 {{{~cpp JavaDoc}}} 없고 소스만으로 이해는 너무 어렵다.(최소한 나에게는 그랬다.) 일단 코드 분석시 {{{~cpp JavaDoc}}}이 나올 정도라면, "긴장 완화"의 효과로 먹고 들어 간다. 그리고 우리가 코드를 읽는 시점은 jdk를 쓸때 {{{~cpp JavaDoc}}}을 보지 소스를 보지는 않는 것처럼, 해당 메소드가 library처럼 느껴지지 않을까? 그것이 메소드의 이름이나 필드의 이름만으로 완벽한 표현은 불가능하다고 생각한다. 완벽히 표현했다면 너무나 심한 세분화가 아닐까? 전에 정말 난해한 소스를 분석한 적이 있다. 그때도 가끔 보이는 실낱같은 주석들이 너무나 도움이 된것이 기억난다. 우리가 제출한 Report를 대학원 생들이 분석할때 역시 마찬가지 일것이다. 이건 궁극의 Refactoring제가 아니다. 프로그래밍 언어가 그 셰익스피어 언어와 같았으면 하기도 하는 생각을 해본다. 생각의 언어를 프로그래밍 언어 대입할수만 있다면야.. --["상민"]
         주석이 실행될 수 있는 코드가 아니기 때에, 반드시 코드가 주석대로 수행된다고 볼 수는 없지만 없는것 보다는 낳은 경우도 많다. 코드 자체는 언어의 subset 이기 때에 아무리 ''코드가 이야기한다(code tells)''라 할지라도 우리가 쓰는 언어의 이해도에 미치기가 어렵다. 이는 마치, 어떤 일을 함에 있어서 메뉴얼이 존재함에도 불구하고 경험자에게 이야기를 듣고 메뉴얼을 볼 경우, 그 이해가 쉽고 빠르게 되는것과 비슷하다.
         // 사용
         이선우는 이러한 코드를 보며 여느때와 같은 지루함을 느끼지 못했다. (모든 주석 없는 코드가 다 지루하다는 뜻은 아니다. 분명 예술적인 코드는 코드 자체로 신비롭다. 제는 이런 코드를 자주 만나기 어렵다는데 있다.) 정말, 재미있지 않은가?
  • 황현/Objective-P . . . . 7 matches
         이제 PHP에서도 Objective-C의 아름다운 법을!
          * 즉, Objective-P와 순수 PHP 코드를 혼용해 사용할 수 있다! (Just like we can mix up ObjC and pure C!)
         다만, @implementation만 사용하면 @interface가 외로워하니까, 인스턴스 변수의 선언에는 @interface를 사용하도록 하고, 메소드 선언 및 정의에 @implementation을 사용한다.
         // 클래스 사용
         GNAssert()의 경우, 두 번째 인자로 @"자열"을 받지만, 결과적으로는 컴파일 이후 GNString으로 변해야 한다.
  • .bashrc . . . . 6 matches
         # --> 본 서 저자에 의한 주석.
         # 파일 & 자열 관련 함수들:
         function fstr() # 여러 파일중에서 자열 찾기
         function lowercase() # 파일이름을 소자로 변경
          for ((i=1; i <= max ; i++)); do # --> C 형태의
         # (거의 대부분은 bash 2.05 서에서 가져왔습니다)
  • 2ndPCinCAUCSE . . . . 6 matches
         === 제 ===
          * [2ndPCinCAUCSE/ProblemA] - A번 제 "삼각형 만들기"
          * [2ndPCinCAUCSE/ProblemB] - B번 제 "촌수 계산"
          * [2ndPCinCAUCSE/ProblemC] - C번 제 "줄 세우기"
         === 제 풀이 ===
          * 아래 링크를 클릭하여 자신의 제 풀이를 올리면 됩니다. 자신의 이름을 밝혀 주세요~
  • 2학기파이선스터디 . . . . 6 matches
          * 객체 내의 자열을 보내야 될것 같은데. - 자겸
          * 지금 제가 많고, 너무 어설픈데 방학까지 끌고가는건 어떠냐? - 창재
          [2학기파이선스터디/if, for, while, 수치형]
          [2학기파이선스터디/자열]
  • 3N+1Problem/1002_2 . . . . 6 matches
         도저히 수열스럽지 않아서 다시 숫자들 간의 관계를 이리 적어보던중, 지난번의 UglyNumber 에서의 제접근법(DynamicProgramming)을 해봄. 혹시 앞의 계산값이 뒤의 계산에 이용되지 않을까 생각을 해보다.
         숫자들을 주욱 나열해보면서 해당 n 값 대비 count cycle Length 의 값은 고정적일것이라는 점과, 이 값을 일종의 caching 을 하여 이용할 수 있겠다는 생각이 들다.
         지난번의 제를 풀었을때 '접근법' 도 같이 생각하여 제 해결방법을 익힌것이 추후의 제(결과 상으로는 전혀 다른 알고리즘)의 해결법을 알아내는데 좋은 접근법을 제공해준 것이 느낌이 좋았다. 새 해결책을 떠올리는데 10분이 안걸리고, 비교적 효과적인 알고리즘이 나온 점에서 기분이 좋은 중.
  • AI오목컨테스트2005 . . . . 6 matches
         || 12/29 || 4시 칠피 || 2인용 오목/현태 || 사용자 정의 메시지 사용법 ,, [MFC/MessageMap] ,[MFC/Socket] || 태훈(레저 생활),민경 ||
         || 1/05 || 4시 칠피 || X || 표준 오목 모델 사용법 설명 || 진행못함..||
         || 1/12 || 4시 칠피 || X || 표준 오목 모델 사용법 설명 || 없음 ||
          * [(hongryun2)사용자정의메시지사용]
  • AKnight'sJourney . . . . 6 matches
         시나리오 시작 번호는 1입니다. 모든 시나리오에 대한 출력은 "Scenario # I:"으로 시작합니다. 다음 기사 이동과 체스판의 모든 사각형을 방하는 순서는 '''사전 편찬(집필) 상의 순서'''를 따라야 합니다. 방 가능한 경로는 여러 가지가 있을 수 있지만, ABC, 123 의 순서를 따지면 결과는 하나로 정해져 있습니다. 최종 경로는 한 줄에 제공해야합니다. 전부 방할 수 있는 경로가 존재하지 않으면, 당신이 한 줄에 출력 불가능합니다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || [강소현] || 사용언어 || 개발시간 || [AKnight's Journey/강소현] ||
         [http://poj.org/problem?id=2488 Problem A Knight's journey], [제분류], [ACM_ICPC/2011년스터디]
  • AcceleratedC++ . . . . 6 matches
          * 소스코드의 코딩은 VS6를 이용할 수도 있겠지만, VS6가 나온지가 오래되다 보니 STL을 다루는 방식이 좀 달라서 책의 소스를 그대로 이용하는데 제가 존재합니다. 따라서 .net 을 이용하거나 gcc를 이용하는 방식을 추천합니다.
          || [http://www.acceleratedcpp.com/details/msbugs.html VS6 코드 수정] || 책에 나온 소스를 VS6에서 이용할 경우 발생하는 제점에 관한 내용이 있습니다. ||
          || [http://msdn.microsoft.com/visualc/vctoolkit2003/ VSC++ Toolkit] || .net 을 구입할 수 없는 상태에서 STL을 컴파일 해야할 때 사용하면 되는 컴파일러. ||
          각 chapter페이지 마다 링크된 다른 chapter 를 익스플로어의 '뒤로' '앞으로'처럼 편집해 놓았습니다. 사실 현재 페이지는 다시 클릭할 일이 없기 때입니다. 어떤가요? :) --["창섭"]
         이제 하루정도면 다 볼거 같은데... 이미 C++의 기본 법과 템플릿의 용법을 알고 있다면, (05년 스터디의 경우 01학번들) 8장정도 까지만 하면 충분히 이 책에서 볼것은 다 보았다고 보여진다. 만약 처음으로 C++을 접하는 경우 (05년 스터디의 경우 05학번) 마지막 까지 읽어야할 필요가 있음. 물론 상당한 분량의 C++의 깊숙한 내용을 너무 간단하게 다루는 경향이 이 책에 있기 때에 C++ Primer Plus 같은 책을 같이 보아야할 필요가 있어보인다. 책을 좀 빠르게 읽는 편이라면 2~3일동안 집중해서 본다음에 실전에 적용시켜보는 훈련이 책 잡고 있는 것보다 더 도움이 될 것으로 보인다. 그리고 이 책 -_-;; 예제가 정말로 유기적이다. 예제를 만든 사람이 더 대단해 보인다. - [eternalbleu]
  • AnEasyProblem/강소현 . . . . 6 matches
         1이란 숫자를 찾았을 때 그 앞의 숫자가 0이면 1을 앞으로 보내고, 1이면 맨 끝쪽으로 보내는...
          * printJ 함수 내에서 while(num<bin.length-1)의 1을 빼주지 않아 bin[num+1]가 index bound of exception이 났었습니다.
          * 2^20 = 1048576 으로 1000000보다 크니까 배열의 크기를 20으로 잡았었는데, 1과 0을 옮기면서 이 숫자보다 더 커지는 경우를 고려하지 못했습니다. 그 결과 1~1000000 중에서 4개의 숫자가 맨 앞의 1이 짤려서 숫자가 작게 출력된! ;ㅅ; 언뜻 보길래 맞은 줄 알아서 뻘짓을 많이 한 ㅋㅋ poj는 죄가 없어! 내가 바보임 ㅠㅠ
  • AnEasyProblem/김태진 . . . . 6 matches
          * 비트맵연산을 적당히 써서 했습니다. 1의 갯수를 for으로 구하고, 자신보다 큰 숫자가 1의갯수가 처음숫자와 같을때까지 1씩 늘려가며 계산시켰습니다.
          * 분명 처음에는 아 뭐 이런거 쯤이야 어렵지 않겠쿤! 하고 제에 들이댔습니다. .. 그러나 나는 10진수로 보이지만 컴터는 2진수로 알고있겠지!! 라고 생각하고 계산하려해도 당최 쉽지가 않더군요 -- 한참 고민하다 진경이가 힌트를 준 덕분에 해결했습니다. 한번만에 accept! 코드길이는 198B까지 줄였으나, 더 줄일 생각은 아직 별로 들질 않네요-ㅎㅎㅎ
          * 한번만에 accept 부럽다아-. 난 항상 고루고루 에러를 겪는데ㅋㅋㅋㅋ 덕분에 기를 빨려서 그런가 두번째 제가 이해가 안간다 ㅠㅠ 왜 A1B3C1A2 요런식으로 가는거고 위에 3은 뭐고 으어어... -[강소현]
          * 이번건 제 잘 읽어보고 충분히 체크해본다음에 제출해서 바로 accept된거같아요. (졸리점퍼때처럼 엄청 복잡한 알고리즘을 쓰지 않아서기도 하지만요 --) 나이트저니는.. 으아아아= -[김태진]
  • AppletVSApplication/상욱 . . . . 6 matches
          애플릿은 왜 작은 프로그램으로 불릴까? 그것은 항상 웹 페이지 안에서 자바를 지원하는 웹 브라우저에 의해서만 실행되기 때이다. 웹 페이지
         안에서 동적으로 사용자의 입력에 반응하거나 실시간으로 변화하는 다양한 자바 프로그램들은 모두 애플릿이며 자바로 만들어진 웹 브라우저인 핫
         서 실행하게 됩니다. 이렇게 자바 애플릿을 HTML 페이지에 삽입하기 위해서는 <APPLET> 태그를 사용해야 합니다.
          따라서, 자바 클래스는 하나의 패널 컴포넌트가 가지는 모든 기능을 그대로 사용가능하다는 것입니다. 물론, 자바 애플리케이션은 자바 가상머신
          - 애플릿을 다운로드 받은 서버를 제외한 다른 컴퓨터와의 네트워크는 불가능합니다.
          - 애플릿과 애플리케이션이 사용하는 윈도우는 약간의 차이가 있습니다.
  • AsemblC++ . . . . 6 matches
         .exe파일의 어셈블 코드부분에 대한 질. [http://zeropage.org/wiki/AsemblC_2b_2b?action=edit 지식in]
         어셈블리 코드는 기계어와 거의 같다고 봐도 무방하기 때에 컴파일러의 출력 형식의 차이 정도라고 보시면 되겠습니다.
         이렇게 얻은 어셈블리 코드는 모든 최적화 과정이 끝난 상태이기 때에 .exe 파일로 만들어질 때 까지 변형되지 않습니다.
         그렇기 때에 굳이 어려운 방법을 통해 .exe 파일에서 어셈블리 코드를 얻어낼 필요가 없는 것이죠. --[상규]
         어셈블 코드들을 쉽게 보여준다면 프로그램의 보안 제에도 직접적으로 연관이 되는 군요. 수정에 관한 보안장치도 있을 것이고요. 패리티 같은 단순한 보안장치일지라도 코드의 무결성을 지키면서 어셈블을 수정하기란 쉬워 보이지 않네요. - 톱아보다
         Softice같은 프로그램을 사용해서 시리얼 번호가 있는 프로그램이나 날짜 제한 프로그램을 크랙 하기도 합니다. 이번 디버깅 세미나에서 함 해볼라고 그랬는데 집에 있는 컴퓨터에서 그게 잘 안돌아가서 보류함. - [상협]
  • AustralianVoting/곽세환 . . . . 6 matches
         제를 제대로 이해해야한다.
         다른 제들 같았으면 투표자수를 입력받았을텐데 이 제는 그렇지 않다. 그래서 쫌 성가신 측면이 있다.
         제를 풀었을때의 기분은 수많은 삽질의 스트레스를 한번에 날려준다.
          continue;
          continue;
  • Basic알고리즘/63빌딩 . . . . 6 matches
         {{| 제 : 64층 (옥상포함) 중에서 사람이 떨어져 죽을 수 있는 층이 정해져 있다.
         이 제는 이진검색으로 풀 수 있습니다.
          * 32층에서 떨어져 본다. 당연히 죽는다. 따라서 제의 층은 32층보다 아래에 있다. 32를 다시 2로 나눈 값은 16.
          * 16층에서 떨어져 본다. 죽지않는다. 따라서 제의 층은 16층 보다 위에 있다. 32와 16사이에 존재하는 중앙값은 24이다.
          * 18층에서 떨어져 본다. 역시 죽는다. 따라서 제의 층은 18층 아래에 있다.
         || 이름 || 사용언어 || 코딩 ||
  • BusSimulation/태훈zyint . . . . 6 matches
          int withdraw = zrnd(0,bus[i].getPassengers()); // 내리는 사람의 숫자
          int cangetno = bus[i].getBusCapacity() - bus[i].getPassengers(); //버스에 태울수 있는 사람의 숫자
          long& stationno = waitingPeopleInBusStation[bus[i].isstation()]; //버스 정류장에 있는 사람의 숫자
          if(stationno < cangetno){ // 태울수 있는 사람의 숫자가 더 많을 경우
          //버스 위치 숫자 출력
          int passengers; //현재 버스에 타고있는 승객의 숫자
  • CC2호 . . . . 6 matches
          * 반복
          * 조건
         || [반복자열] || [반복자열/김유정] || [반복자열/이재경] ||
         || [식인종과선교사제] || . || . ||
  • CauGlobal/Interview . . . . 6 matches
          * 대학에서도 officer (사무일들. 서 작업들) 작업 많이 하시는지?
          * 학업 이외의 잡무를 수행하시나요?(ex 서작업 등등)
          * 현재 인턴쉽 중인 것으로 알고 있는데 미국 기업화에 대한 느낌이 어떠신가요?
          * 인터뷰 목적 : 중앙대 동의 미국 진학&취업 사례분석 + [지금그때]
          * 질 목록(두서없이)
         그냥 좋은 게 있으면 알고 오면 좋다는 식으로 접근하면 자칫 표면적인 겉핥기식 인터뷰가 되지 않을까 싶습니다. 묻는 사람 스스로가 혼자 잘 생각해 보면 대충 답을 예상하는 질을 하게 되는 것이죠. 목표를 조금 좁히거나 명확하게 만들어 보면 어떨까요? --JuNe
  • CodeYourself . . . . 6 matches
         요즈음, 신입생들이 숙제때에 고민을 많이 하는 것으로 알고있다. 프로그래밍, 조금 더 구체적으로 말하자면 C언어, 에 대해서 전혀 모르는 상태에서 일기를 프로그래밍 형식으로 써 보라니. 신입생의 입장에서는 어이가 없겠지만, 나의 생각은 조금 다르다. 오히려 이러한 과제를 내 주신 교수님이 어떤 분인지 궁금할 정도로 흥미있고 유익한 과제라고 생각한다.
         모두 같지는 않겠지만 전산학과에 입학한 신입생들이 언어를 배우는 단계를 보자면, ''처음엔 뭘 배우고 그다음엔 뭘 배우고 그다음엔 OS, SE'' 등등등, 정해진 순서와 틀 안에서 전산학의 이모저모를 접하게 된다. 이렇게 짜여진 순서에서 그리고 판에 박힌 수업안에 있다보면 자연히 그 안에 있는 학생들도 경직되어 있을 수 밖에 없다(다행이 중앙대학교 컴퓨터공학과에는 ZeroPage가 있다). 이렇게 느끼고 있는 상황에서 이 과제는 나에게 신선한 충격을 주었다. 신입생들은 전혀 감을 잡지 못하고 이것을 어떻게 해야 할지 선배들에게 많은 조언을 구하곤 했지만(자요청을 받은 대부분의 선배는 ''이러이러한 방식으로 해라'' 라고 하면서 거의 C 법에 가깝게 일기를 작성했다), 나는 이번 과제만큼은 선배들의 도움을 얻지 말고 자기 '''스스로''' 결과물을 만들었으면 하는 바램을 갖고 있다. 이번에 작성했던 자신의 프로그램 (그렇다. 일기가 아니고 프로그램이다)과 앞으로 자신이 배우게 될 프로그램을 비교해보았으면 좋을 것 같다. 그리고 순수하게 신입생의 사고로 만들어진 그 코드를 보고싶은 마음도 간절하다. - [임인택]
         C언어로 일기를 쓰라는 숙제가 있었나요? 재미있네요. 그런데 이건 좀 어려운 과제 같습니다. 왜냐하면, 프로그래밍의 일상적 시간 흐름과 정반대가 되기 때입니다. 무슨 말이냐면, 프로그래밍이라는 행위는 시간의 순방향입니다. 내가 작성한 프로그램은 미래에 일어날 사건(실행)에 대한 청사진이죠. 하지만 일기는 주로 시간의 역방향입니다. 과거에 일어났던 일들을 정리, 기록하는 성격이 강하죠. 프로그램으로 과거의 일을 기록한다는 것은 어찌보면 쉽지만 또 어찌보면 매우 어려운 제일수도 있습니다. 신입생 입장에서는 시간의 흐름에 따라 일어났던 과거의 이벤트 연속을 적는 수준이면 될 것 같습니다. 아쉬운 것은, 이렇게 되면 조건 분기을 활용하기가 어렵다는 점입니다. 힌트를 준다면, 리팩토링을 하면 가능합니다(내 하루의 중복을 어떻게 제거할지 생각해 보세요 -- higher-order function이 나올 정도면 상당히 진전된 것입니다). 어차피 과거의 기록 역시 "기술"(description)의 일종이고, 미래의 계획도 "기술"이니까요.
  • CppStudy_2002_2 . . . . 6 matches
          * C++의 법도 익히고, 나아가서 사용법, OOP에 대해서 더 친숙 해지기, 다양한 과제를 통한 프로그래밍 경험 쌓기
          한 번 안나오면 2주를 점핑해야 하기때에 무리 갈 것이라...
         || 자열 다루기 ||["StringOfCPlusPlus/세연"]|| ||
         || STL연습제 (["CppStudy_2002_2/STL과제"])|| || || ||
          * 조언 고맙습니다. 서만 읽었는데도 제가 상당히 많은 게 부족하다는 걸 느꼈습니다. 기존 진행 방법에도 수정을 해야겠다는 생각이 듭니다. 한편 위 책은 우선은 도서관에 신청을 해두었습니다. -- 재동
  • DPSCChapter3 . . . . 6 matches
          패턴은 실제로 아주 간단하다. 제 상황은 많은 부분들을 포함한다. Abstract Factory 패턴이 적용될 수 있는 예제를 보도록
          그리고 모든 faimily에서 같은 코드를 사용해서 부분들을(엔진,변속장치..) 얻는 것을 사용한다.
          하지만, 두 경우에 자동차를 생성하기 위한 코드와 그것의 컴포넌트 하위 부분은 여전히 같다. 즉, 모든 CarPartFactory 클래스들은 동일한 메시지 프로토콜을(다형성)을 구현하기 때에, 팩토리 클라이언트는 팩토리 타입이 무엇인지 상관하지 않고 호출을 할 수 있다. 그것은 단지 팩토리 프로토콜에 의해 제공되는 일반적인 메시지를 전송한다.
          다형성의 힘 때에, 클라이언트는 코드 구현을 한번만 하면된다. ABSTRACT FACTORY PATTERN을 사용하지 않을 경우, 자동차 생성 코드는 다음과 같이 보일 것이다.(아주 비효율적인 코드)
  • DelegationPattern . . . . 6 matches
         여기까지는 Airport 이다. 하지만 VonNeumannAirport 제에서도 보듯, 실제 Input 에 대해서 Configuration 은 여러 Set 이 나온다.
         DelegationPattern을 쓸 때 중요한 점은, DelegationPattern을 사용하는 클래스의 클라이언트는 그 클래스가 Delegation을 쓰는지 안쓰는지 몰라야 한다는 것이다. 즉, 우리에게 있어 DelegationPattern이 사용된 클래스는 여느 클래스와 동일하게 인식되고 사용되어져야 한다. 게을러서 남에게 자신의 숙제를 위임하는 학생은 절대 남들에게 그 사실을 노출해선 안된다.
         전에 SE 수업중에 컴포넌트모델의 필요성을 이야기하던중 '상속으로의 재사용이 어렵기 때에' 이야기를 하셨는데, 왜 대안 중 하나로서의 [Delegation] 에 대한 언급이 전혀 없으셨는지 모르겠다. Delegation 만 잘 이해해도 준 컴포넌트 스타일의 모듈화 프로그래밍을 잘 진행할 수 있고, 사람들 간의 작업분담도 잘 이끌어 낼 수 있을건데.. --[1002]
  • Django스터디2006 . . . . 6 matches
          * 제로페이지 계정이 없는 사람들은 서버 관리자(박영창)에게 의하여 계정을 만들기 바람.
          * [http://www.python.or.kr:8080/python/LectureNotes/] 이것은 Python 따라하기 좋은 튜토리얼. 이것 쭉 한번 해보면 파이썬 법 대략 익히게 됨.
          * 그리고 HTML, JavaScript, Php, MySQL 에 대해서 궁금한거 있으면 질거리 가져오기 --> CSS도...
          * 혼자서 Python 연습하면서 막힐 때마다 자꾸만 C 법이 떠오르고 그 때마다 우리 Park 재화님의 프로젝트위주의 수업이
         || 이름 || 사용 언어 || 소요 시간 || 제목 ||
         || [송지훈] || 물론 Python || 15분 || [while 구구단] ||
  • Doublets . . . . 6 matches
         [http://online-judge.uva.es/p/v101/10150.html 원보기]
         단어의 최대 길이는 16글자고 최대 25,143개의 단어(모두 소자)가 들어있는 사전이 주어진다. 그리고 몇 쌍의 단어가 주어진다. 각 쌍의 단어에 대해 첫번째 단어로 시작해서 두번째 단어로 끝나고, 서로 인접한 각 단어 쌍이 더블릿인 가장 짧은 단어 시퀀스를 찾아라. 예를 들어 'booster'와 'roasted'라는 단어 쌍이 입력되면, 그리고 여기에 있는 단어들이 모두 사전에 들어있으면 'booster', 'rooster', 'roaster', 'roasted'라는 시퀀스가 답이 될 수 있다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 하룻밤 || [Doublets/보창] ||
         [제분류]
  • Erlang/기본문법 . . . . 6 matches
         == Erlang/기본법 ==
          * 아주긴 숫자의 연산도 자연스럽게 됩니다.
          * 변수의 대입은 기존에 쓰던 방식과 같다. 물런 사용도 그대로 하면된다.
          * 맨 마지막 줄은 값이 같기 때에 아무런 제가 없는 것이다.
          * C / C++ / Java 와 같이 정수형을 리턴하려면 div를 사용하며 나머지는 rem을 통해서 얻을 수 있다.
  • ExtremeProgramming . . . . 6 matches
          * UserStory: 사용자 관점에서 시스템의 행위에 대한 간략한 서술
          * AcceptanceTest: 사용자 관점에서 해당 작업산출물이 제대로 돌아가는지 확인할 수 있는 테스트.
          * SpikeSolution: 주어진 제에 대한 구현의 난이도를 예측하기 위한 작은 실험 프로그래밍.
          * http://www.xprogramming.com/xpmag/kings_dinner.htm - 원
         DeleteMe) 질에 대해서는 ["Metaphor"] 로 옮겼습니다. 그리고 질을 하실때는 실명으로 로그인해주시기 바랍니다. (사람들이 203.244.197.254 님 에게 답하기엔 좀 이상하자나요~) --["1002"]
  • FactorialFactors . . . . 6 matches
         팩토리얼 함수는 많은 특성을 갖는다. 이 제에서 주어진 정수 n을 다음과 같은 팩토리얼 식 n!로 표현했을때 인수항의 최대수를 구하고자 한다. 단 1은 제외한다. 예를 들어 보자.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || 보창 || C++ || ? || [FactorialFactors/보창] ||
         [제분류] [AOI]
  • Gof/State . . . . 6 matches
         커넥션이 상태를 전환할 경우, TCPConnection 객체는 사용하고 있는 state 객체를 바꾼다. 예를 들어 커넥션이 established 에서 closed 로 바뀌는 경우 TCPConnection 은 현재의 TCPEstablished 인스턴스를 TCPClosed 인스턴스로 state 객체를 교체한다.
          * 객체의 상태에 대한 처리를 위해 구현하는 다중 조건 제어이 거대해질 경우. 이 상태들을 일반적으로 하나나 그 이상의 열거형 상수들로 표현된다. 종종 여러 명령들은 객체 상태에 따른 처리를 위해 비슷한 유형의 조건 제어와 관련한 코드를 가지게 된다. StatePattern 은 각각의 조건분기점들을 클래스로 분리시킨다. 이는 객체의 상태들을 다른 객체로부터 다양하게 독립적일 수 있는, 고유의 권리를 가지는 객체로서 취급하도록 해준다.
         대부분의 대중적인 상호작용적인 드로잉 프로그램들은 직접 조작하여 명령을 수행하는 'tool' 을 제공한다. 예를 들어, line-drawing tool 은 사용자가 클릭 & 드레그 함으로서 새 선을 그릴 수 있도록 해준다. selection tool 은 사용자가 도형을 선택할 수 있게 해준다. 보통 이러한 툴들의 palette (일종의 도구상자 패널)를 제공한다. 사용자는 이러한 행동을 'tool을 선택한 뒤 선택한 tool을 이용한다' 라고 생각한다. 하지만, 실제로는 editor 의 행위가 현재 선택한 tool로 전환되는 것이다. drawing tool 이 활성화 되었을 때 우리는 도형을 그리고 selection tool 이 활성화 되었을 때 도형을 선택할 수 있는 식이다. 우리는 현재 선택된 tool 에 따른 editor 의 행위를 전환시키는 부분에 대해 StatePattern 을 이용할 수 있다.
         툴-구체적 행위를 구현하는 서브클래스를 정의하는 곳에 대해 Tool 추상 클래스를 정의할 수 있다. drawing editor 는 currentTool 객체를 가지며, request를 이 객체에 위임시킨다. 사용자가 새 tool를 골랐을 때, drawing editor 는 행위를 전환해야 하므로 따라서 이 객체는 교체된다.
  • HelpContents . . . . 6 matches
         모든 것을 익히고 쓰실 필요는 없습니다. 사용하면서 쓰면 편리할 기능들을 익히면 되겠죠.
         == 사용 방법 ==
          * ["일반적인사용패턴"] - 일반적인, 위키위키를 사용하는 방법
          * ["로그인하기"] - RecentChanges 에 IP대신 실명을 사용하는 방법. 그리고 기타 부가적인 기능을 제공받음.
          * HelpOnUserPreferences - 위키 사용자로 등록하고, 설정가능한 기본값을 입맛에 맞게 고쳐보세요.
  • HelpOnConfiguration . . . . 6 matches
         모니위키의 몇몇 플러그인중 외부 프로그램을 사용하는 프로그램은 환경변수 PATH를 참조하여 외부 프로그램을 호출하게 된다. 이때 PATH의 설정이 제대로 맞지 않아 외부 프로그램이 제대로 실행되지 않는 경우가 있다. 이 경우 config.php에서 `$path`를 고쳐보라.
         만약 시스템 차원에서 rcs를 지원하지 않는다면 rcs를 컴파일해서 사용해보라. 예를 들어 모니위키가 설치된 디렉토리가 {{{moniwiki}}}이고
         윈도우에서 gvim을 사용하여 작동된다. 이 경우 {{{$path}}}설정을 제대로 해주어야 하는데, 예를 들어 다음과 같은 식으로 `config.php`에 설정을 한다.
         == 대 및 로고(혹은 배너) 설정 ==
         메뉴의 대(FrontPage)및 로고 그림이 연결하고 있는 페이지는 config.php의 다음 변수를 설정한다.
         /!\ monisetup.php은 config.php를 변경할 수 있으나, 간단한 변경만 지원하고 세세한 변경은 지원하지 않는다. 최근 1.1.3 버전부터는 여러줄의 config.php 설정을 읽고 수정할 수 있다. 단, monisetup.php를 사용할 경우 코멘트는 모두 제거가 되므로 주의해야 한다.
  • HelpOnInstallation/SetGid . . . . 6 matches
         보안상의 이유로 웹서버는 php 스크립트를 `nobody, www, apache` 혹은 `httpd`같은 특별히 제한된 계정으로 실행하게 됩니다. 이러한 이유로 [모니위키] 스크립트가 생성하게 되는 여러 파일 혹은 디렉토리는 이러한 특별한 계정의 소유가 되며 진짜 사용자가 소유하지 못하게 되는 일이 발생하고 어떤 경우는 이렇게 만들어진 파일을 읽을수도 지울 수도 없게 됩니다.
         이런 경우를 막기 위해서 `chmod 2777` 대신에 `chmod 777`을 하는 경우도 있으나, 이로서 제가 모두 해결되지는 않습니다.
         이러한 것을 방지하기 위해서 [모니위키]가 특별한 파일을 생성하게 되는 몇몇 디렉토리에 대하여 그룹 아이디로 퍼미션을 가지게 할 수 있습니다. 이렇게 Setgid를 사용하도록 그룹 퍼미션을 주게되면 wiki.php에 의해 새롭게 만들어지는 모든 파일은 진짜 사용자의 그룹아이디와 같게 되며, 그룹 아이디가 가지는 퍼미션을 진짜 사용자도 누릴 수 있게되어 읽거나 고치거나 지울 수 있게 됩니다.
         Setgid 퍼미션을 작동시키려면 간단히 "`chmod 2777 ''dir''` 명령을 내리면 되는데, 모니위키가 여러 파일들을 만들게되는 디렉토리에 대해 이 명령을 내려주면 됩니다. 모니위키를 최초 설치하는 과정에서 setgid를 사용하려면 우선 모니위키 최상위 디렉토리를 먼저 `chmod 2777`을 해 줍니다. 아마 wiki.php가 들어있는 디렉토리가 될것입니다.
  • HelpOnPageDeletion . . . . 6 matches
         페이지 지우기를 사용할 수 있는 위키의 경우 {{{DeletePage}}} 액션을 통해 페이지를 지우실 수 있습니다. 페이지를 지운다는 것은 가장 최근의 편집 복사본이 지워진다는 것이며, 페이지의 모든 변경내역은 여전히 남아있게 됩니다.
         raw 혹은 [[GetText(source)]]라고 되어있는 링크를 누르면 텍스트 형식의 위키법이 브라우져에 보여지게 되며, 이를 그대로 복사한 후에 해당 페이지에서 [[Icon(edit)]] 아이콘을 눌러 해당 페이지를 편집하여, 편집 폼에 복사했던 텍스트 내용을 붙여넣기 한 후에 저장합니다.
         모니위키 1.1.3부터 지원하는 `revert`액션을 사용합니다. 단축키로 '''i'''를 누르면 변경내역을 보여주며 이때에 [[GetText(revert)]]라는 액션에 대한 링크가 나타납니다. `revert` 액션에 대한 링크가 나타나지 않으면 {{{?action=revert&rev=1.100}}}식으로 주소줄에 써넣은 후에 페이지를 불러오면 대화창이 뜨게 됩니다.
         복구 액션은 남용이 가능하므로 비밀번호로 제한이 걸린 `protected`액션이므로 위키에 따라서 일반 사용자가 사용하지 못할 수 있습니다.
         이러한 경우에는 일반 사용자가 복구하려면 위의 '''수동 복구'''를 참조하여 복구하시면 됩니다.
  • HowToDiscussIt . . . . 6 matches
         한꺼번에 토론을 하기엔 사람이 너무 많다. 내성적인 사람들은 많은 사람 앞에서 이야기 하기를 꺼린다. 혹시나 자신이 한 말이 남들에게 바보처럼 보이지 않을까 걱정한다. 특히 의견/질을 내는 사람이 별로 없는 상황은 악순환을 거듭한다. 의견을 내는 사람이 없기 때에 의견 내기가 어려워진다. 또한, 낮은 위치의 사람(저학년, 하급자, 경험이 적은 사람)과 높은 위치의 사람이 섞여 있는 경우, 낮은 위치의 사람은 무언의 압력을 느끼고 의견 개진을 어려워 한다. 보통 한 두 사람 말 많은(혹은 경험이 많은) 사람이 전체 토론을 주도하게 된다.
         이럴 경우 '''Subgroup''' 패턴을 사용한다. 사람 수가 적으면 참여도가 높아진다.
         예컨대, 일단 전체 그룹을 모아놓고 간략한 제 상황 설명과 목적에 대해 컨센서스를 이룬 후에, 학년별 소그룹으로 나누고 자기들끼리 알아서 대표를 선출하고 토론하도록 한다. 선배의 눈치를 볼 필요 없이 자신들만의 의견을 개진, 정리하도록 한다. 얼마 후에 모든 그룹이 모여서 각 소그룹의 대표자가 토의 내용을 요약 발표한다. 이것에 대해 다시 전체 토론을 하고, 또 다시 '''Subgroup'''을 사용할 수도 있다.
         의견 발표를 하지 않는 사람을 보고 뭐라고 하거나, 질을 강요하기 보다는 그들이 왜 그렇게 소극적인지를 분석하고, 적극적으로 될 수 있는 환경과 NoSmok:어포던스 를 제공하라.
  • InsideCPU . . . . 6 matches
         CPU 에 대해 보다 깊이 이해하고 싶은 마음에 서를 작성하게 되었습니다.[[BR]]
         음...여기까지만..귀찮아서 못 적겠다.. 보통 플로피의 0번 섹터를 write하기 위해 rawrite.exe란 프로그램을 쓴다. 플로피의 데이타를 얻기 위해 BIOS의 인터럽트루틴을 사용한다. 이를 위한 인터럽트는 INT 13h가 된다.
         으! 그냥 MOV DS,FFFFFH 하면 되지 왜 AX에 넣는 것이야. 지금 사용 FFFFFH란 메모리가 지금 프로세스가 참조할 수 있나
         바이오스로 하드와 플로피를 제어할 필요가 있다. 이는 부팅 과정에서 커널을 특정 메모리에 올리는 데 사용된다. 필이 사용 된다. MBR를 복구하는 데도 가끔 사용된다.
  • JavaScript/2011년스터디/JSON-js분석 . . . . 6 matches
          * stringify의 return에서 쓰는 fake root의 역할
          * 의
          * toJSON에서 key를 파라메터로 넘기는 이유(코드내에서 사용하지는 않는다)
          * 중첩 ?:의 우선순위?
          * 의
          * 의
  • JavaStudy2004/클래스상속 . . . . 6 matches
          상속은 객체 지향 프로그램에서 가장 중요한 개념 중의 하나이다. 이것은 자바클래스를 직접 디자인하는 제에 영향을 미친다.상속은 다른 클래스의 정보를 동적으로 액세스하도록 해주기 위해서 그 클래스와 다른 클래스와의 차이를 명시해주면 된다.
          * 다른 클래스에 공통적인 정보를 추출해서 상위클래스에 넣고 하위클래스에서 다시 사용하도록 한다.
         ==== 질하세요 ====
          * 디폴트 전달인자라는 것하고 질이 무슨 뜻인지 잘 모르겠습니다 ; --[iruril]
          * 생성자나 메소드에 상관없이 사용가능해요
          예를들면 위 circle 클래스의 getName 메소드에서 사용한 것처럼요 super.getName() 이렇게 --[iruril]
  • Knapsack . . . . 6 matches
         처음부터 단박에 이 제를 푸는 것보다 조금 더 제한적이고 쉬운 제에서 일반적이고 어려운 제로 점진적으로 진행해 나가는 것은 어떨까요. NoSmok:HowToSolveIt 에서 소개하는 제 해결 테크닉 중 하나이기도 하죠. 훨씬 더 높은 교육적 효과를 기대할 수 있지 않을까 합니다.
         그리고 누군가가 만든 프로그램이 옳다는 것을 테스트하기 위해서는 이를 자동화하는 것이 편할 것이고, 이것을 위해서는 인풋과 아웃풋을 좀 단순화하는 것이 좋지 않을까 합니다. ICPC의 제들을 구경해 보세요.
         ["제분류"]
  • LightMoreLight/문보창 . . . . 6 matches
         간단한 제였으나, 처음에 제 분석을 잘못하여 시간을 소비했다. 정수론 제의 경우 제분석만 잘해 준다면 의외로 쉽게 풀리는 것 같다. 수행시간과 메모리 사용량이 많다. 보다 좋은 알고리즘을 생각해야 한다.
         [LightMoreLight] [보창]
  • MIT박사가한국의공대생들에게쓴편지 . . . . 6 matches
         특히 한국 중 고등학교에서 가르치는 수학의 수준이 미국의 그것보다 훨씬 높기 때에 공대생들로서는 그 덕을 많이 보는 편이죠. 시험 성적으로 치자면 한국유학생들은 상당히 상위권에 속합니다. 물론 그 와중에 한국 유학생들 사이에서 족보를 교환하면서 까지 공부하는 친구들도 있습니다. 한번은 제가 미국인 학생에게 족보에 대한 의견을 슬쩍 떠본일이 있습니다. 그랬더니 정색을 하면서 자기가 얼마나 배우느냐가 중요하지 cheating 을 해서 성적을 잘 받으면 무얼하느냐고 해서 제가 무안해진 적이 있습니다. (물론 미국인이라고 해서 다 정직하게 시험을 보는 것은 물론 아닙니다.)
         어느덧 시험에만 열중을 하고 나니 1년이 금방 지나가 버렸습니다. 이제 research 도 시작했고 어떤 방향으로 박사과정 research 를 해나가야 할지를 지도교수와 상의해 정할 때가 왔습니다. 물론 명대이니 만큼 교수진은 어디에 내놓아도 손색이 없습니다. 한국에서 교수님들이 외국 원서를 번역하라고 학생들한테 시킬때 도대체 어떤 사람들이 이런 책을 쓸 수 있을까 의아하게 생각하던 바로 그 저자들과 만날 수 있다는 것은 굉장한 체험이었습니다. 과연 그런 사람들은 다르더군요.
         주위에 있는 미국인 학생들을 보면서 그래도 내가 한국에서 어려운 교육도 받았고 (대학교 수학도 한국이 더 수준이 높습니다) 저 아이들보다는 잘할 수 있겠지라고 생각했습니다. 그런데, 시간이 지나면서 소름이 오싹 돋는 일이 자꾸 생겼습니다. 하나 둘씩 주위에 있던 몇몇 미국인 학생들이 점점 두각을 나타내면서 점점 더 어려운 제를 해결해 나가고 벽에 부딪치면 새로운 길을 스스로 파헤쳐 나가는 등 저를 놀라게 하였습니다. 초기에 제가 미분기하학이란 이런것이야라고 설명해주던 미국애가 이제는 제가 알아듣지 못하는 이론을 제게 설명해 줍니다. 뭐 그럴수도 있지라고 처음에는 생각 했습니다. 자기한테 맞는 분야를 잘 정했겠지라고 생각했습니다. 그런데 점점 더 많은 그런 케이스를 보면서 또 그들이 발전해나가는 모습을 보면서 생각 했습니다. 이들중 몇명이 내가 천재라고 생각하던 그런 교수님들 처럼 되는 것이 아닌가. 바로 그랬습니다. 바로 그런 학생들이 그런 교수가 되는 것이었습니다.
         일단 갓난아기때 부터 한국과 미국의 교육이 달라 지더군요. 우리나라에서는 부모가 감정적으로 때로는 분에 못이겨 매를 드는 반면, 이곳에서는 모든것이 논리 정연하게 말로 설명이 되었습니다. 아이가 왜 안되느냐고 물어보면 그것은 이렇고 저래서 그렇다고 꼬치꼬치 자세하게 설명해 주고, 투정을 부리면 온갖 기발한 계략으로 아이의 관심을 돌립니다. 부모가 항상 아이에게 말을 시키려 하고 자기 자신들이 그들의 부모로 부터 물려받은 삶의 지혜를 전해주려 노력합니다. 거의 대화가 없는 우리나라 가정과 꽤나 대조적 이라는 생각이 들었습니다. 저도 아이가 있지만 도저히 그들처럼 할 수 없습니다. 그런식으로 대대로 물려받은 몸에 밴 경험이 대부분의 우리나라 사람들과 저에겐 없기 때입니다. 과연 이렇게 시작이 다른데 미국에서 애를 잘 키울 수 있을까 걱정이 듭니다.
         그들이 학교에 가면 차이는 더 벌어집니다. 우리나라 학생들이 암기력과 약간의 사고력, 이해력의 계발에 중점을 두는 동안, 이곳에서는 창의력, 상상력, 사회성 등을 키워나갑니다. 바로 이런것들이 거름이 되어 아까와 같은 천재들이 대학원에서 두각을 나타내는 것이 아닌가 합니다. 한마디로 우리나라 학생들이 남들이 만들어놓은 포장된 지식을 주입받는 동안, 이 곳 학생들은 생각하는 법을 배웁니다. 자발적 참여 및 토론에 의한 학습, 스스로 탐구하는 학습, 작력, 발표력, 논리적 사고가 중요시 되는 교육을 받고 이들은 비록 미분 적분에 대하여 우리보다 늦게 배울망정 인생에서 창의력이 극대화되는 20대가 되면 어렸을때 생각하는 법을 배웠기에 스폰지처럼 지식을 습득하고 새로운 것을 창조해나갑니다.
         제가 미국 친구들을 집에 초대하여 조금이라도 신기한 것을 보여주면 이것은 어떻게 만들었느냐 무슨 원리로 동작하느냐는 등 질을 쏟아 붓습니다. 심지어 하수구를 고치러 온 미국사람도 똑같은 관심을 보이면서 돈을 줄테니 자기 아들을 위해 하나 만들어달라고 조르던 적도 있습니다. 반면 MIT의 박사과정 한국 유학생들은 시선이 1초 이상 머무르지 않고 전혀 관심을 보이지 않고 술만 마십니다. 과연 우리가 세계를 주도해 나가는 과학기술 수준을 이룩할 수 있을까요? 우리가 단지 선진국이 되기 위해 또는 노벨상을 받기 위해 과학기술을 하기 싫지만 억지로 연구하는 동안 이곳에서는 너무나 좋아서 신기해서 알고 싶어서 과학기술을 연구하는 사람들이 너무도 많습니다. 자기가 하는 일이 좋아서 하는 사람들의 열정은 절대 따라갈 수 없습니다.
  • MedusaCppStudy/세람 . . . . 6 matches
          cout << " 숫자를 입력하시오 :" ;
          cout<< "두개의 숫자를 입력하세요 :" ;
          cout << "숫자를 입력하세요 :" ;
          cout << "숫자를 입력하세요 :";
         자열 입력 받아 가장 큰 거랑 가장 작은 거 길이 출력
          cout << "숫자를 입력하세요 : ";
  • MicrosoftFoundationClasses . . . . 6 matches
         MFC의 클래스들은 CDocument, CView와 같이 C로 시작하는 이름을 갖는다. 데이터 멤버들에는 m_ 라는 접두어를 붙여서 만들어져 있다. 변수의 이름앞에 p, i, l, h 등을 이용해서 그 종류를 변수의 이름으로 추정가능하게 하는 [헝가리안표기법]을 이용한다. 이는 과거 C환경하에서 형식 검사기능의 부재로 인한 에러를 막기위해 고안된 측면이 크기 때에 C++에 들어와서는 반드시 필요한 표기법은 아니다.
         //WinMain() 함수는 MFC 의 클래스 안에 구현이 되어있기 때에 API로 윈도우를 만들때보다 간편하게 작성하는 것이 가능하다.
          ''컴파일 해보고자 하는 분들은 Project/Setting/General 항목에서 MFC DLL을 사용한다는 설정을 해야한다.
         이를 사용하면 데이터의 저장, 검색에 있어서 MFC가 제공하는 표준적인 메카니즘을 이용하는 것이 가능해진다.
         응용프로그램에서 document를 몇개를 다루느냐에 따라서 SDI(single document interface), MDI(multiple document interface)로 구분하여 사용한다.
         View는 도큐먼트에 존재하는 데이터의 집합체를 우리가 원하는 방식으로 표현하는 메카니즘이 구현된 객체이다. document 와 마찬가지로 CView라는 클래스를 상속하여 사용하게 된다. View는 윈도우의 개념으로 보아서 프레임 윈도우 영역안의 클라이언트에 속하는 view만의 윈도우안에서 표현된다. 한개의 document 에 대해서 view는 여러개로 나누어서 만들어지는 것이 가능하다.
  • Minesweeper/이도현 . . . . 6 matches
         ==== 제 ====
         매우 평이한 제이다.
         방법은 여러가지가 있겠지만 아주 간단하게 2차원배열을 잡고 8가지 방향을 모두 조사해보는 방법을 사용하였다.
         이 제는 출력세트별로 반드시 빈 줄을 추가하라고 했다. 이것이 매우 애매한 해석으로 이루어져서 코딩에 어려움을 겪었다.
         밑에 코드에서 if으로 outputNumber > 1 인 부분이 Presentation Error를 벗어나게 하는 해결방법이었다.
          continue;
  • MoreEffectiveC++/C++이 어렵다? . . . . 6 matches
          [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제]
          * Multiinheritance 에서 제기되는
         = C++에서 생각되는 제 =
          * 업체 지원
         = 재미있는 서 =
         처음에는 서 작성을 시작했고, 레이아웃을 잡아가는 과정에서 항해지도를 작성하고, 대본(?)을 만들어 보는건 어떨까 생각을 해보았다. 언제나 새로운 시도는 기대되는 것
  • NextEvent . . . . 6 matches
         Fishbowl이라는 기술은 많은 사람이 토론을 할 경우 사용하는 테크닉입니다. 두개의 동심원으로 좌석을 배치하고 안쪽(어항)에 토론을 하는 사람들이 착석하고, 바깥쪽에 청중이 착석합니다. 안의 사람은 밖의 사람과 대화하지 못하고, 밖의 사람은 안의 사람에게 말을 걸지 못합니다. 안에 있는 사람들이 토론을 하는 것을 밖의 사람들이 어항을 구경하듯 관찰합니다. 여기에 변화를 주게 되면, 안의 사람을 동적으로 교환할 수 있습니다. 밖의 사람 중에 토론에 참여하고 싶은 사람이 있다면 언제든 안으로 들어와서 앉습니다. 그러면 최소한 한 사람이 밖으로 나갈 때까지 토론은 중단됩니다.
         어항 밖에서 구경을 하다가 지금 개발 팀원들이 고생하는 제의 간단한 해결책을 안다면 바로 어항 속으로 뛰어드는 겁니다. 이제 좀 피곤합니까? 충분히 수영하셨습니다. 다시 어항 밖으로 나와서 물고기들을 구경하시기 바랍니다. 저 흥미진지한 광경의 일원이 되어보고 싶으십니까? 좋습니다. 뛰어드세요. 누구라도 환영합니다. 오래된 물고기 한마리가 다시 인간이 되어 밖으로 나가 쉴 겁니다.
         현재 재학 중인 학생들 중 단 한 명이라도 오는 14, 15일의 Seminar:ReadershipTraining 에 와서 "공부하는 방법"을 배워가면, 그리고 그 화를 퍼뜨릴 수 있다면 참 좋겠습니다. --JuNe
         자신이 쓰는 언어의 개발자 중에서 자기는 어떤 위치인지 궁금합니까? 다른 언어를 사용하는 개발자가 만든 프로그램과 자신이 만든 프로그램의 수행 시간, 개발 시간, 코드 크기 등의 비교 결과가 궁금합니까?
         일단 다음 제를 풀어보세요.
         그냥 하루를 할애하는 건 어떨까 하는 생각이 든다. 그러니까 아침 8시에 시작해서 밤 10시에 끝나게 한다. 한 팀은 6명 정도로 구성된다. 꼭 팀 전원이 신입생일 필요는 없다 -- 헌내기 새내기가 고루 섞이도록 할 수도 있다. 각 팀에 공통 미션을 준다. 개발은 꼭 학교 컴퓨터실에서 할 필요가 없다. 여기 저기(도서관일수도 있고, 다운타운일수도, PC방일수도 있다) 찾아다닐 수도 있다. 여기저기 카메라로 사진을 찍고 설조사를 하러 다닐 수도 있다. 뭐 꼭 (소프트웨어) 개발일 필요도 없다. 그냥 뭔가 만들어보게 한다. 그게 꼭 파이널 프로덕트가 아니고 프로토타입이어도 좋다. 밤 10시가 되었을 때 서로 자기 팀의 결과물을 들고와서 자랑한다.
  • NumberBaseballGame/jeppy . . . . 6 matches
         void make_number(char *p); /* 임의 세자리 숫자를 생성하는 함수 */
         void check_num(char *dest, char *src); /* 입력된 숫자와 비밀숫자를 맞춰보는 함수 */
          printf(" 중복된 숫자를 입력하시면 안됩니다. 다시 입력해주세요.\n");
          이것저것 해봐야겠당~ editplus 사용해도 꽤 괜찮넹.. 답답한 도스환경에서 해방~
          근데 스팩이 좀 이상한거 아닌가.. 중복된 숫자가 나오면 풀 수 있는건가? --a
  • NumericalAnalysisClass . . . . 6 matches
         하지만 이 책은 다르다. 어떤 제를 접했을 때 어떻게 프로그램을 새로 만들어 내야하는지, 디자인은 어떻게 해야하고, 훌륭한 프로그램을 어떻게 만드는지를 말하고 있다. 게다가 OOP를 "정말" -- 시늉으로써만이 아니고 -- 사용한다. 모든 코드가 Java와 Smalltalk 양자로 쓰여있는 점도 큰 장점이다.
         세간에서 간혹 추천서적으로 꼽히기도 하는 Numerical Recipe 시리즈는 사실 전가들로부터 "최악의 책"으로 꼽히고 있다. 단순히 책의 구성이나 깊이 등을 떠나서 잘못된 정보가 너무 많다, 수치해석에 대해서는 아마추어의 수준도 못되는 사람이 썼다는 비판이다. 인터넷에 이 책에 대한 전적인 서평이 많이 있다 -- 제점 하나하나 꼼꼼하게 비판한 것이다.
         생각하면 2학년에 들을 만한 3학년 수업정도라고 생각됨. 수업의 난이도도 그다지 높게 책정하고 진행되지도 않고, MFC에 대한 기본적 스킬만 익히고 있다면 마지막 과제까지 해결하는데 큰 제는 없음 - [eternalbleu]
  • One/실습 . . . . 6 matches
          1. 1 - 10 for, do-while, while 으로 각각 출력
          * 숫자 입력받음. 입력값이 1이면 64출력, 2이면 10출력, 3이면 23출력, 그 이외의 값이면 "error" 출력
          * int형 배열 10개 공간에 숫자 대입하고 출력
  • PowerOfCryptography/이영호 . . . . 6 matches
          = 1/n * ( log( 10의 (string:p의 자릿수)승) + log((x) = string:p의 맨 첫숫자와 두번째 숫자를 일의자리로 한 것을 반올림. -> 예제에서 1.8) )
         // 여기서 자를 숫자로 변경하고 log10 함수를 사용한다.
         정수형이기 때에 이것은 맞아떨어짐.
  • PowerOfCryptography/조현태 . . . . 6 matches
         숫자가 지대 크다. 감당이 안된다..ㅠ.ㅜ
         하지만 지금은 일해야 하기때에 시간이 부족한 관계로..
         임시로 뒤에 두 숫자는 해결하지 못하는 소스를 짜두었다.
         // 값을 입력받을때, 두 값의 입력순서를 바꿔 놓았는데, 그편이 좀더 안정적이라는 단순한 이유때..
          두번째 소스.. 숫자가 커도 저장하고 연산할 수 있을...듯 하다..;;ㅁ;; ㅎㅎㅎ MAX_LONG의 값을 10으로 줄이고 테스트를 해서 2개 이상의 경우에도 돌아가는 것은 알겠는데... 3번째 4번째 예제의 수가 원체 커야지 말이다. 연산의 결과가 좀처럼 안나온다. 곱하기 루틴에서 계속 더하고 있는듯..;;ㅁ;;
          ;;ㅁ;; 음.. 영호선배는 넘흐 마니 알고이쩡..>ㅃ<;; C언어 소스 봐도 모르게떠용..ㅎㅎ 64비트형의 인트형의 변수를 두개 지정하고 a에다가 최대값을..(아마 부호가 있기 때에 -1저장됬을듯한..)넣고 b에는 a-1을.. 그럼 -2가 저장..;; 음.. 이게 아니라 혹시 b가 포인터라서 메모리 한칸 앞쪽을 잡아주는 건가요? 음.. 그러면 할당되지않은 메모리를 건드는 사태가..;;ㅁ;; 이것도 아닌가.. 연구를..;;ㅁ;; - [조현태]
  • PrimaryArithmetic/sun . . . . 6 matches
         == 숫자 생성기 ==
         풀이 방향을 정하고 보니, 숫자를 하나씩 끝에서부터 떼어올 필요가 생겼다.
         (역시나, 하는 중간에 서를 작성하지 않으니 커다란 동기가 없는한 자세히 쓰지 않게 된다. 흑흑)
         제 풀이를 위해서 별다른 알고리즘이 아닌 현실에서의 덧셈 방법을 사용했고, 코드량이 별로 되지 않음에도 1시간이 걸린것은 도중에 msn으로 친구과 채팅을 하며 했기 때이다. 본인이 느끼기에는 msn을 얼마 하지 않았던것 같은데 실제로는 시간이 꽤 지나있는걸 보면 아인슈타인의 상대성원리에 따라 시간이 흐름을 알 수 있다. 직장인의 경우 이것을 좀 더 일반화 해보면, '왠지 오늘 하루 일하기 싫다'라고 느껴지고, 휴가를 쓸 수 없을땐 근무중에 메신저를 하면 시간이 금방 감을 알 수 있겠다.
  • ProjectPrometheus/EngineeringTask . . . . 6 matches
         || 네트웍 연결. HTML 서 하나 가져오기 || ○ ||
         || HTML 서 가져오는 클래스 (Spider) 작성 || ○ ||
          * 검색된 책들은 출판날짜, 사용자 평가 (Review) 에 따라 정렬되어진다.
          * 사용자들을 관리할 수 있다. (사용자 정보 수정/삭제)
          * 사용자들에게 공지를 전달할 수 있다.
  • ProjectPrometheus/개요 . . . . 6 matches
         하지만, 현재의 도서관 시스템은 사용하면 할 수록 불편한 시스템이다. "Ease of Learning"(MS 워드)과 "Ease of Use"(Emacs, Vi) 어느 것도 충족시키지 못한다.
         나는 우리학교 도서관에 아마존 스타일의 시스템(많이도 말고, 도서별 리뷰 등록, 별표 평가, 고객 클러스터링을 통한 서적 추천, 도서별 대출/검색 횟수를 통한 베스트셀러 집계 및 이에 대한 통계 분석 -- 예컨대 공대 학생의 베스트셀러, 경영학과의 베스트셀러, 4학년의 베스트셀러 등 -- 같은 것만이라도) 을 도입하면 학생들의 독서량이 두 배는 높아질 것이라고 확신하며, 이것이 다른 곳(정 바꾸기 등)에 돈을 쓰는 것 몇 십 배의 가치를 지속적으로 만들어 낼 것이라 믿는다. 이제는 도서관도 인터넷 서점을 벤치마킹 해야 한다.
         지금 도서관의 온라인 시스템은 상당히 오래된 레거시 코드와 아키텍춰를 거의 그대로 사용하면서 프론트엔드만 웹(CGI)으로 옮긴 것으로 보인다. 만약 완전한 리스트럭춰링 작업을 한다면 얼마나 걸릴까? 나는 커스터머나 도메인 전가(도서관 사서, 학생)를 포함한 6-8명의 정예 요원으로 약 5 개월의 기간이면 데이타 마이그레이션을 포함, 새로운 시스템으로 옮길 수 있다고 본다. 우리과에서 이 프로젝트를 하면 좋을텐데 하는 바램도 있다(하지만 학생의 사정상 힘들 것이다 -- 만약 풀타임으로 전념하지 못하면 기간은 훨씬 늘어날 것이다). 외국의 대학 -- 특히 실리콘벨리 부근 -- 에서는 SoftwareEngineeringClass에 근처 회사의 실제 커스터머를 데려와서 그 사람이 원하는 "진짜" 소프트웨어를 개발하는 실습을 시킨다. 실습 시간에 학부생과 대학원생이, 혹은 저학년과 고학년이 어울려서(대학원생이나 고학년이 어울리는 것이 아주 중요하다. see also SituatedLearning ) 일종의 프로토타입을 만드는 작업을 하면 좋을 것 같다. 엄청나게 많은 것을 배우게 될 것이다.
         사용자는 이 랩퍼를 통해 로긴을 하고, 책 평가도 하고, 리뷰도 쓰고, 베스트셀러 검색도 하고, 대출 예약도 한다. 기존 시스템의 모집합이 되는 셈이다. (하지만 꼭 그럴 필요는 없다. 중요하고 자주 쓰이는 기능만 노출해도 충분하다)
         일단 이걸 만든 사람들이 열심히 사용하다가, 우리과 사람들이 점점 더 쓰고, 나중엔 다른 과 학생들까지 쓰다보면, 혹시 모르잖는가. 정말 이런 시스템으로 도서관을 바꿀 생각을 정책입안자들이 하게 될지.
  • QuestionsAboutMultiProcessAndThread . . . . 6 matches
          * 만약 그것이 아니라면, I/O 작업을 CPU가 담당하지 않는 것인가? CPU 내부 ALU와 I/O 작업 회로가 따로 있는 Independent 상황이기 때에 그런 것인가?
          * CPU가 할당한 Time Slice를 하나의 Processor내부에 있는 각각의 Thread가 쪼개서 사용 하는 것인가?
          * 그럼 여러 개의 Thread가 존재하는 상황일 때, 하나의 Thread가 One Time Slice를 전부 사용하는 경우가 있는가??
          * 첫번째와 세번째 질에 대한 답변은 "time slice 정책에 따라 다르다." 인거에요?? - [박성현]
          * 어느 바쁜 음식점(machine)입니다. 두 명의 요리사(processor)가 있는데, 주이 밀려서 5개의 요리(process)를 동시에 하고 있습니다. 그 중 어떤 한 요리는 소스를 끓이면서(thread) 동시에 양념도 다지고(thread), 재료들을 오븐에 굽는데(thread) 요리를 빠르게 완성하기 위해 이 모든 것을 동시에 합니다. 한 명의 요리사는 특정시점에 단 한 가지 행위(instruction)만 할 수 있으므로, 양념을 다지다가 (context switching) 소스가 잘 끓도록 저어주기도 하고 (context switching) 다시 양념을 다지다가 (context switching) 같이 하던 다른 요리를 확인하다가, 오븐에 타이머가 울리면(interrupt) 구워진 재료를 꺼내어 요리합니다. 물론 두 명의 요리사는 같은 시점에 각자가 물리적으로 서로 다른 행위를 할 수 있으며, 하나의 요리를 두 요리사가 나눠서(parallel program) 동시에 할 수도 있습니다. - [변형진]
          * 공부하다 헷갈려서 질 올려봅니다; - [박성현]
  • RAD . . . . 6 matches
         전통적인 소프트웨어 개발 방법(waterfall 모델)은 오랜 기간의 분석, 설계, 프로그래밍 그리고 테스트 과정을 되풀이한 후 최종 단계에서 비로소 사용자가 요구한 시스템을 완성할 수 있었다. 그러나 이와 같은 방법으로는 소프트웨어의 생명주기가 점차 짧아지는 등의 급변하는 프로그램 시장과 사용자의 요구를 수용하기가 매우 어렵다. 따라서 소프트웨어의 생산성을 향상시키면서 동시에 개발 기간과 비용을 단축시킬 수 있는 방법이 요구되었고, 이러한 연구의 결과로 RAD와 같은 개념이 등장하게 되었다.
         RAD는 우수한 소프트웨어 개발 도구를 이용하여 전통적인 개발 방법보다 더 적은 시간과 비용을 투자하더라도 보다 나은 품질의 소프트웨어를 개발할 수 있는 소프트웨어 개발 과정을 말한다. 이러한 RAD 방식의 개발은 응용 프로그램의 전체 개발 과정을 하나로 통합하여 기존의 반복적이고 점진적인 소프트웨어 개발 과정은 그대로 수용하면서도, 개발 과정 초기에 사용자에게 실행 가능한 기본적인 프로토타입을 제시하여 사용자의 요구를 훨씬 더 명확하게 수용하여 차후에 일어날 수 있는 많은 제를 줄이고, 설계 과정을 그대로 개발에 재사용함으로써 전체적인 개발 기간의 단축을 꾀하는 것을 목적으로 한다.
  • RUR-PLE/Etc . . . . 6 matches
          * 이 경우에서의 처리를 while 사용하여 처리한다.
          * 처음 시작한 창 말고 나머지 창들을 beeper를 앞에 두는 식으로 해서 닫는다. 로봇은 처음 시작하는 창으로 온다음에 그 창을 바라보아야 한다. 시작시에 로봇은 beeper를 충분히 가지고 있다.
  • RandomWalk/손동일 . . . . 6 matches
          int x = rand(); // rand()함수는 랜덤한 숫자를 리턴하는 함수입니다.
          // 리턴하는 숫자의 범위는 0 ~ 무지무지 큰 수 입니다.
          // 0 ~ 9 까지의 숫자가 랜덤하게 들어갑니다.
          int x2 = rand() % 9 + 1; // % 9를 하면 0~8까지의 숫자가 들어갈 수 있고
          // 거기에 1을 더하면 1~9 까지의 숫자가 됩니다.
         // 배열에 있는 숫자를 출력할 수 있다...
  • RedThon/HelloWorld과제 . . . . 6 matches
          * 자열를 변수에 할당해서 그냥 출력(print), 리스트를 함수에 전달인자로 넘겨준 다음 루프를 써서 출력, 자열을 함수에 전달인자로 넘겨준 다음 루프를 써서 출력하는 세가지 방법으로 숙제를 잘 했네.
          사실 그 클래스때에 오프모임을 하자는 거지. 클래스라는 법도 생소할 뿐더러, 클래스를 가지고 객체 지향이라는 개념을 이야기할 수 있기 때이야. --[Leonardong]
  • STL . . . . 6 matches
         || ["STL/string"] ||자열을 다루는 자료구조||
          * [http://oopsla.snu.ac.kr/~sjjung/stl/ptr_0001.htm 컨테이너에 포인터 저장하기(제점과 해결책)]
         "[STL] 컨테이너는 포인터를 염두에 둬두고 설계된 것이 아니라, 객체를 담을 목적으로 설계된 자료 구조이다." 이 말을 너무 늦게 봤네요ㅠ_ㅠ 기본 데이터 타입 이외에 사용자 정의 데이터 타입(분류_[class])의 포인터를 사용하기 위해서는 상당한 노력이 필요 할것 같습니다. 혹시 쉬운 방법은 없나요? - [이승한]
          "사용자 정의 데이터 타입의 포인터를 사용하기 위해서는 상당한 노력이 필요할 것 같습니다" - 어떤 뜻인지? 힘들었던 예를 코드로 써주면 더 명확할 듯.~ --[1002]
  • ScheduledWalk/창섭&상규 . . . . 6 matches
          * 사용자(User) -> 프로그램 사용자와 대응되는 객체
          * 모든것을 진행한다.(Execute) | 사용자(User), 판(Board), 바퀴벌레(Roach), 여정(Journey)
         진행자는 사용자에게 진행에 필요한 정보를 요청한다. 사용자는 판 크기, 바퀴벌레의 시작위치를 알려주고 여정을 만들어 준다. 진행자는 정보에 따라 판을 만들고, 바퀴벌레를 만든다. 그리고 나서 바퀴벌레에게 여정을 주며 판 위에 올라가서 판 위를 움직이도록 명령한다. 바퀴벌레는 여정을 참고하여 자취를 남기면서 판 위를 움직이고 여정이 끝나거나 판의 모든 곳에 자취가 남으면 움직이는것을 멈춘다. 바퀴벌레가 멈추면 진행자는 판을 사용자에게 보여준다.
  • SeedBackers . . . . 6 matches
         2005년 2월 졸업생들. 졸업 논 심사를 통과하기 위해. 조금 더 양질의 논을 산출해내기 위해 서로의 논을 같이 준비하고 피드백(feed-back)을 넘어선 시드백(seed-back)을 주고받기 위한 프로젝트 페이지
         == 서들(반드시 패스워드를 걸어주세요) ==
          || [http://dduk.idaizy.com/data/paper/논연구계획서1차.hwp 1차 연구 계획서] || 임인택 ||
          === 논 ===
  • Self-describingSequence . . . . 6 matches
         [http://online-judge.uva.es/p/v100/10049.html 원보기]
         솔로몬 골롱(Solomon Golomb)의 자기기술 수열 <f(1), f(2), f(3), ... >은 각 k에 대해 k라는 숫자가 정확하게 f(k)번 등장하는 속성을 가지는 양의 정수로 구성된 유일한 비감소수열이다. 이 수열의 앞 부분을 생각해보면 다음과 같은 식이라는 것을 알 수 있다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 2시간 || [Self-describingSequence/보창] ||
         [제분류] [경시대회준비반]
  • SmallTalk/문법정리 . . . . 6 matches
          * SBPP를 공부하기 위해 최소한의 법은 떼야하겠다는 생각이 들었다.
         == 기본 법 ==
          * 실제로 쓰이는 법은 아니다. 하지만, Smalltlak 설명에서 해당 메소드가 어디에서 발현되는지를 알수 있게 만들어 준다.
          * 선택자는 특정한 기호(하나나 둘이상의 자, 숫자가 아님)이고, 인수가 딱 하나만 있다.(the selector is one or two non-alphanumeric characters, followed by exactly one argument object)
          리팩토링 관련 구 계속 나오고 있다.
  • SpiralArray/임인택 . . . . 6 matches
         이런 순으로 배열이 되게 되는데, (시작점과 끝점을 제외하고) 포인터의 이동방향을 나열해보면 →→→ ↓↓↓↓↓ ←←← ↑↑↑ →→ ↓↓ ← ↑ 순으로 된다. 여기에는 간단한 규칙성이 생기는데 (첫줄의 움직임을 제외) 다음과 같은 수식으로 포현될 수 있다.
         처음에는 다른 디자인으로 접근을 했는데, 일단은 제를 풀어보자는 취지 하에 제일 쉽게 풀릴것 같은 방법을 사용하였다.
          rotList.append(col-1) # 제일 첫줄을 (루프전에 )이미 리스트에 넣었기 때에 1을 빼야 함
         [제분류], SpiralArray
  • TFP예제/WikiPageGather . . . . 6 matches
          * '생각할 수 있는 가장 단순한 것부터 생각하라.' 디자인은 TFP 와 Refactoring의 과정만으로 어느정도 보장이 된다. TFP을 추구하는 이상 기능와 의도에 의한 모듈화가 기본적으로 이루어진다. (여태껏의 경험 -- 그래봤자 3번째지만 -- 에 의하면, TFP를 하면서 LongMethod 냄새가 난 적이 없었다. (LongMethod와 Bad Smell 에 대해서는 BadSmellsInCode를 참조하라.) 만일 중복코드 등의 제가 발생하더라도 기존의 막무가내식 방식에 비해 그 빈도가 적다. 만일 Bad Smell 이 난다면 ["Refactoring"] 을 하면 된다. (참고로 밑의 소스는 ["Refactoring"]의 과정은 거치지 않았다.)
          * Python 이라는 툴이 참 재미있는 녀석이라 생각한다. 방식이야 basic에서의 그것이겠지만, '인터프리터언어라는 것이 쉽고 편하다' 의 이유를 다시 생각하게 해준 계기가 되었다. 일반적으로 우리가 프로그래밍을 할 때는 (여기서는 C++이라 하자) Visual C++ 을 하나만 띄어놓고 프로그래밍 하는 경우가 별로 없다. 보통 product code 를 위한 하나, 해당 함수 기능의 부분구현 (임시코드 구현)을 위한 하나. 서버-클라이언트 프로그래밍인 경우에는 3개를 띄우는 경우도 다반사이다. Python 의 shell 은 임시코드를 구현하는데 매우 편리한 도구이다. (한편 이쯤되면 검이 필요하다. VS 2-3개 띄우는 거랑 python IDLE을 2-3개 띄우는 거랑 다를바가 뭐냐.. --; 내가 말하고 싶은 것은 C++이나 PHP에 파이썬처럼 공통 인터프리터 쉘이 있었으면 하는 것. -_a 흐흐..) 암튼. 나는 모인모인소스를 보면서 제목 검색 관련 일부 코드를 짤라서 쉘에서 간단히 실행해보고 검토하고 실제 소스에 적용해볼 수 있었다.
          continue
          continue
         === 제점 ===
         위의 예에서는 해당 모듈에서 FrontPage 화일을 직접 open 했다. 위키에서 FrontPage가 바뀌었을 경우에는 해당 알고리즘이 올바르다 하더라도 테스트 코드에서 에러를 유발할 것이다. - 테스트를 위한 FrontPage 화일을 따로 빼두는 방법이 있겠군. -_-; (제를 명확하게 해두면 해결방법이 도출되기 쉽다. ^^;)
  • TellVsAsk . . . . 6 matches
         원 : http://www.pragmaticprogrammer.com/ppllc/papers/1998_05.html 중 'Tell vs Ask'
          ''then 에서 than 이 되어야 하는 것이 아닐까요? 제가 원을 못봐서 함부로 고치기는 힘들군요.''
          ''맞는 지적인데. 원도 then 이군. 내가 해석을 than 으로 읽고 실수했네. Thanks.~''
         제점은 caller 로서, 당신은 called object 의 상태에 기반한 결정을 내리면 안된다는 것이다.
         이런식의 코드들. 보통 이런건 Polymorphism 으로 해결해야 할 제들이지요.
         (ResponsibilityDrivenDesign) 그러한 경우, 당신은 당신에게 객체의 상태를 알리도록 질의을 작성하는 대신 (주로 getter 들에 해당되리라 생각), class 들이 실행할 수 있는 '''command''' 들을 자연스럽게 발전시켜 나갈 것이다.
  • TheJavaMan/비행기게임 . . . . 6 matches
          - MP를 사용하여 스킬을 사용할 수 있다.(일단 한가지 스킬만 만들어본다)
          ..기타 추가할 아이디어들도 RPG게임을 생각하면서 적용해 보는 것이 좋을 것 같다. -[원명]
          - 기본 아이디어만 살리고 코드를 최대한 단순화 해서, 일단 완성은 봐야 할 것 같다. 자바가 코드를 단순화 하지 않으면 실행 속도가 많이 느리고, 또 2월달 안에 완성하려면 시간도 생각해야 하니까 단순하게나마 완성을 해야 할것 같다. -[원명]
          * 비행기 게임에 xxxxxxxxx군이 빠지면 섭하지 크크..이번에 못나가서 미안하고 다음 모임은 나갈게;; -[원명]
          * 법 틀린게 없는데,, 우리집에서 비행기가 안움직이는 이유는 뭘까 -_-... - 민수
  • TheKnightsOfTheRoundTable . . . . 6 matches
         [http://online-judge.uva.es/p/v101/10195.html 원보기]
         === 이 제는 ===
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || 보창 || C++ || 10분 || [TheKnightsOfTheRoundTable/보창] ||
         [제분류] [경시대회준비반]
  • UnitTest . . . . 6 matches
         보통 테스트 코드를 작성할때는 UnitTestFramework Library들을 이용한다. 각 Language 별로 다양한데, C++ 사용자는 ["CppUnit"], Java 는 ["JUnit"], Python 은 ["PyUnit"] 등을 이용할 수 있다. PyUnit 의 경우는 2.1부터 기본 모듈에 포함되어있다.
         이를 assert 으로 바꾸면 다음과 같이 가능하다. 결과값이 같지 않으면 'abnormal program termination' 이 일어난다.
         C 에서의 UnitTest Code 작성시에는 assert 으로 비슷한 기능을 구현 할 수 있다.
         Q: 한가지 의나는 점이 있어서 , 사용자가 임의로 생성할 수 없는(예를들면 Socket과 같은 시스템이 생성해주는 데이타 타입) 데이타 형이 파라미터로 있을 때는 어떻게 테스트 하는 것이 좋을까요?
         A: Socket 이나 Database를 이용하는 경우에는 제가 되겠죠. 그럴때 MockObjects를 이용하는 방법이 있었던걸로 기억하는데, 아직 실제로 제가 해보지는 않아서요. 대강 개념을 보면 MockObjects는 일종의 가짜 객체로 실제 객체가 하는 일을 시뮬레이션 해주는 객체입니다. 미리 MockObjects 를 셋팅을 해두고 해당 함수결과의 리턴 요구시에는 예측할 수 있는 데이터를 리턴하게끔 하는 것이지요. 나중에 본 프로그램에서 MockObjects들을 토대로 실제의 객체를 만든다.. 식의 개념으로 기억하고 있긴 한데, 저의 경우는 공부만 하고 적용해본 적은 없습니다. --석천
  • WinAPI/2011년스터디 . . . . 6 matches
         ||WS_POPUP||2.팝업윈도우 3과 같이 사용 못함||
         ||WS_CHILD||3.차일드 윈도우 2와 같이 사용 못함||
         ||WS_DISABLED||6.사용금지/입력 못받음 ||
         ||WS_CLIPSIBLINGS||7.차일드끼리 겹친영역은 그리기영역에서 제외 ||
         ||WS_CLIPCHILDREN||8.차일드가 위치한영역은 그리기영역에서 제외 ||
         ||WS_GROUP||17.라디오버튼등의 그룹을 정할때 사용 ||
  • Z&D토론/학회명칭토론 . . . . 6 matches
          * 아에 새로운 이름 - 이름제와 관련하여 입장이 팽팽한 경우의 최후의 방안
          * 반론 - 선배님들과의 연결고리상 제가 있다.
          * 기존의 데블스의 모체가 되는 곳이 ZP 이다. ZP 로 합쳐져도 양쪽 선배님들과 관련된 제들이 발생하지 않을 것이다.
         개인적으로는 현재의 스레드를 전부 지워도 큰 제가 생기지 않을 것 같지만. 서구조조정시에는 개인들의 의견들이 왜곡되어서는 안되기 때에 소심하게 된답니다.
  • ZeroPageServer/BlockingUninvitedGuests . . . . 6 matches
          - 만약 해당 페이지를 생성하는 주체가 로봇이 아닌 검색엔진의 결과를 클릭한 사용자라면 이 방법은 적절하지 않다.
          - [임인택]의 [http://purepond.cafe24.com/ 개인위키]도 ZeroPage 에서와 같은 제점을 (그것도 더 심하게) 겪었는데 아파치의 보안기능 (.htaccess 파일 이용)을 적용해봐도 결과는 마찬가지였다. 누군가의 장난이거나 검색엔진(+사용자)의 무지에서 오는 제인것이 확실하였는데. 결국 NoSmoke:노스모크모인모인 의 '''등록한 사용자만 글을 쓸수 있게 하는''' 기능을 이용하여 이 제를 해결하였다. 여담으로.. 쓰레기 페이지를 손수 지우느라 엄청 고생함...-_-;;
  • ZeroPageServer/Log . . . . 6 matches
          * HTML관련 내용 - 모인의 도입과 주 사용자 층이, HTML을 공부하는 층이 아니라서
          * sshd 만 돌린다고 해서 SSH 파일 교환 쉘은 사용할수 없는건가요? ssh_config 파일 수정해도 잘 안되던데... ["임인택"]
          * Q : domain 에 관련된 의입니다.. ["ZeroPageServer"] 에서는 user.domain 으로 자신의 home directory 에 접근할 수 없습니까.? 또 이것은 관련없는 질인데..-_- 저렇게 셋팅을 하려면 어떻게 해야하죠.. named.conf 랑.. /var/named 에서 관련파일 다 수정했는데도... username.domain.com 에 접속을 하니.. www.domain.com 에 접속이 되는군요..-_- - ["임인택"]
          * Q : 현재 ZeroPage의 서블릿컨테이너가 사흘이 멀다하고(좀 부풀려서 ^^) 운명을 달리하시는데, 데비안 버전의 Resin 제인건가요? 아니면 파악된 다른 원인이 있습니까? 현재 2.1.6 버전이 나와있던데, 업그레이드해볼 계획이 있나요? 또는, 다른 서블릿 컨테이너를 사용해보는건 어떤가요? Resin 2.0 대 기준으로 스트레스 테스트시 죽는 일은 있었습니다. 누군가 ZeroPageServer에 스트레스테스트를 하고 있나요?
  • ZeroPagers . . . . 6 matches
         학부생들은 자신의 개인페이지를 현재의 계획, 관심사를 적는 등의 용도로 사용해 주세요.[[BR]]
          * 보창 : [보창]
          * 원명 : [원명]
          * 장창재 : [장창재] - 편입or타학교입학(소)
  • ZeroPage성년식/회의 . . . . 6 matches
         || 중앙대학교 207-101 || 넓고 저렴하다. (선배님들께서)대학시절의 추억에 다시금 빠져드실 수 있는 기회 || 주차 제. 접근성 안 좋음. ||
         == 지금 그때 질 ==
          * 온오프믹스에 제가 있어 구글 독스도 병행
          * AVR 바로 안쪽 양쪽 책상에서 기획단이 받기
          * 주차관리실에서 하루권 5000원에 판매합니다. 다만 아무한테나 막 팔지는 않고 시설관리팀에 의해야할 거에요 - [지원]
          * 고속터미널은 안됩니다. 지하상가 리모델링 한다고 지금 거의 다 닫았어요 - [지원]
  • html5/문제점 . . . . 6 matches
         == HTML5가 RIA 대체하기 위해 처리해야 할 제 ==
          * 현 상황에서 HTML5의 비디오가 Flash의 비디오를 대체하기는 어려움(비디오 코덱과 (비디오 코덱을 담는)컨테이너의 제)
          * 표준 비디오 코덱이 정립되지 않았기 때에 여러가지 코덱을 지원하는 다양한 브라우저에서는
          * Flash를 사용하는 것이 아직은 조금 더 낫다.
          * 지원하는 브라우저의 제 -> Ie에서 많이 지원하지 않음.
          * DRM(디지털 콘텐츠 무단사용 방지) 기능이 아직 없어 비지니스적으로 이용이 어렵다.
  • vending machine . . . . 6 matches
         설계하고자 하는 자동 판매기에서 사용 가능한 동전은 50원, 100원, 500원 짜리 3가지이고, 커피 값은 150원이라고 가정한다. 이 자판기는 커피 값 150원 이상의 돈이 입력되면 무조건 커피를 출력하며, 커피 출력 후에 커피값 이하의 잔돈이 남을 경우 잔돈을 반환한다.
         설계하고자 하는 자동판매기의 경우 사용 가능한 동전이 50원짜리, 100원짜리, 500짜리 3가지라고 설정하였음으로 이 회로의 입력은 당연히 50원짜리 동전이 입력되는 경우, 100원짜리 동전이 입력되는 경우, 500원짜리 동전이 입력되는 경우가 있을 수 있다. 입력에 대한 경우의 수는 동전이 들어오지 않는 경우, 50원 짜리가 들어오는 경우, 100원짜리가 들어오는 경우, 500원짜리가 들어오는 경우의 4가지가 되어 입력변수는 2개가 필요하게 된다. 2개의 입력변수를 각각 X, Y 라 하고, 동전이 입력되지 않을 경우에는 XY=00이 되고, 50원짜리 동전이 입력되면 XY=01이 되고, 100원짜리 동전이 입력되면 XY=10이 되고, 500원짜리 동전이 입력되면 XY=11이 된다고 가정한다.
         커피값이 150원이고 사용하는 동전의 최대값이 500원이므로 거스름돈을 계산하기 위해서 상태는 0~450원까지를 상태 변수로 설계한다. 따라서 상태변수는 4개가 필요하게 된다. ABCD=0000일때는 현재 남아있는 돈이 0원인 상태이고, ABCD=0001 일때는 남아있는 돈이 50원인 상태, ABCD=0010 일때는 남아있는 돈이 100원인 상태, ABCD=0011 일때는 남아있는 돈이 150원인 상태, ... , ABCD=1001 일때는 남아있는 돈이 450원인 상태, 그리고 ABCD=1010 이후는 사용하지 않는 무정의 조건 상태(Don't care condition)로 처리한다. 또한 Filp-flop은 D Flip-flop을 사용하기로 한다.
         자동판매기의 출력변수로는 커피가 출력되는지의 여부를 나타내는 변수 C와 잔돈 반환을 나타내는 출력변수 E를 사용하기로 한다. 따라서 2개의 출력변수 C,E가 필요하다. CE=00 1)일 경우는 커피와 잔돈이 모두 출력되지 않는 상태이고, CE=01 일 경우는 커피는 출력되고 잔돈이 없는 상태, CE=10일 경우는 커피는 출력되고 잔돈이 50원인 경우, CE=11일 경우는 커피는 출력되고 잔돈이 100원인 상태를 가정한다.
  • ㄷㄷㄷ . . . . 6 matches
         첫번째 시간에는 for 을 배웠습니다.
         오늘 원래 if else 을 가르쳐 주려고 했거덩~
         두번째 시간에는 if else 과 switch 을 배웠습니다~.
         두개가 매우 비슷한 기능을 갖기 때에 같은 내용의 프로그램을
         두 개의 서로 다른 함수를 사용해서 하도록 했지~
  • 같은 페이지가 생기면 무슨 문제가 있을까? . . . . 6 matches
         === 제점 ===
          * 용량제는 많아야 1~5MB 안쪽 이다. 1000Page가 넘어가는 ZeroWiki 가 백업 용량이 3.5MB이다. SeeAlso SystemPages 중간 백업 로그
          * 2년 정도 위키를 쓰면서 그런 고민은 크지 않았습니다. 현제 ZeroPage 에서 사용하는 위키는 정리하는 사람 수 자체가 적어서 경험하지 못했을수 있습니다. 사람 수가 많은 [노스모크]에서도 못느껴봤습니다. --NeoCoin
         [현재 위키에 어떤 습관이 생기고 있는걸까?]의 공원 길의 예제와 같이 중복 페이지가 생기고, 발견자(위키 사용자-WikiGnome)가 중복 페이지를 한두장 고칠 필요가 느껴질때 한두장 해결해나가는 일종의 아래에서 위로(BottomUp)의 해결 방식을 이야기 하는 것입니다.
          앞에서도 썼듯 ''페이지를 생성할 때, 검색을 자동으로 해준다. 그래서 검색 결과를 보여주고 페이지를 새로 만들지, 아니면 원래 페이지에 덧붙여서 쓸 지 사용자가 결정하게 한다. 그러다면 검색 결과를 무시하지 않는 한, 중복 페이지가 줄어들지 않을까''라는 생각이 기본입니다. 검색범위를 페이지 이름으로 할지 전체 글을 대상으로 할 지는 생각을 못 해 보았지만요. 페이지를 손으로 고치는 방식을 대체할 것은 생각 못했지만, 제가 생각한 방식은 페이지를 만들기 전에 할 수 있으므로, 페이지를 만들고 나서 해결하는 '''아래에서 위로''' 방식과 혼합해서 쓸 수 있다고 생각합니다. 써 놓고 보니 페이지 이름하고는 빗나간 이야기이긴 하지만 어떻게 손이 한 번이라도 덜 가는 구조를 만들까 하다 보니 이런 글을 썼습니다.-[Leonardong]
          페이지이름을 만들때, '''제목대상 검색'''은 이전부터 지원되었습니다. 예를들어 이동 창에 Front를 쳐보세요. 처음부터 후자를 이야기 하는 것으로 알고 있었습니다. 보통 '''내용검색(FullTextSearch)'''는 부하 때에 걸지 않습니다. 하지만, 현재 OneWiki 의 페이지가 적고, 페이지를 만드는 행위 자체가 적으므로, 후자의 기능 연결해 놓고 편리성과 부하의 적당한 수준을 관찰해 보지요. --NeoCoin
  • 객체지향용어한글화토론 . . . . 6 matches
          * 우리 어휘를 사용하는 이유는 그 어휘에 내포된 여러가지 의미를 직관적으로 느낄수 있기 때아닐까??
          DeleteMe - 원서를 보는 이유중의 한가지... 용어의 제도 있겠지만, 말그래도 '번역'된 장은 너무 이해하기가 어렵다. - 임인택
          * 번역은 한 화를 다른 한 화로 이식하는 작업이다.
  • 김태진 . . . . 6 matches
          * 동네트워크 팀
          * 동네트워크 개편 중
          * 동네트워크 웹마스터
          * [논번역/2012년스터디]
          * [제로페이지의제점]
          * 조기졸업따위 사용하면 안되는 제도입니다. - [김태진]
  • 김희성 . . . . 6 matches
         == 사용 언어 ==
          * 스레드 루틴 실행 시점이 제각각입니다. 때에 스레드에 넘길 값은 스레드가 종료될 때까지 재사용이 안되도록 처리해줘야할듯합니다.(3/25)
          타이핑 중 상대방 입력이 날아오면 전송 안한 타이핑 분량이 보이지 않는 상태로 버퍼에 남는 버그가 있습니다. 입력 방식을 scanf와 같은 자열 입력함수가 아닌 자 입력 함수로 바꾸어야할듯 합니다.
          * 파비앙 영어 질 무섭긔 - [김희성]
  • 김희성/리눅스계정멀티채팅 . . . . 6 matches
         int client_socket_array[25]; //클라이언트 소캣, 각 스레드 마다 자신의 번호에 해당하는 소캣 사용
          //ex) 스레드가 사용 중인 소캣 == client_socket_array[스레드 번호]
          //사용자가 이해하기 쉽도록 스레드 번호에 +1 값을 쓰도록 한다.
          continue;
          continue;
          continue;
  • 넥슨입사문제 . . . . 6 matches
         === 넥센입사제 ===
         요새 카트라이더로 말이 많은 넥센이라는 회사가 있지요. 건너 건너 아는 사람이 이 회사에 입사를 하려고 이력서를 냈더니 서류는 통과했습니다. 한데 면접 보기 전에 이 3 제를 주고 풀어서 메일로 제출하라고 했더랍니다. 이 중 3번 제가 재미있었습니다. :) --재동
          이걸... 프로그램으로 짜서 제출하는 제인건가요? 아니면 답만?;; -정수민
          당연히 프로그램. 프로그램을 보내면 회사에서 제에 나오지 않은 테스트셋으로 프로그램이 맞는 지 확인하겠지. --재동
          이전에 내 친구가 넥슨입사제 보여준건 길찾기 알고리즘 구현이였는데, 이번엔 또 다르네..~ 종종 바뀌는듯. --[1002]
  • 니젤프림 . . . . 6 matches
         보르헤스, 학을 말하다, 호르헤 루이스 보르헤스, 르네상스
         뜀뛰는 개구리, 마크 트웨인, 예
         아홉가지 이야기, 제롬 데이비드 샐린저, 학동네
         목수들아, 대들보를 높이 올려라, 시모어 : 서, 제롬 데이비드 샐린저, 학동네
         트레인스포팅, 어빈 웰시, 학사상사
  • 데블스캠프2003/둘째날/후기 . . . . 6 matches
          * 으... 결국 EightQueenProblem의 해결에 실패했습니다. 2학년이나 되가지고 쪽팔리게스리... 대각선 처리가 제군요. 어쨌든 반드시 해결해야겠군요... -영동
          *큭 실패..........八퀸 제 풀릴 듯하면서도 안풀리네...--희경
          * 제에 하염없이 매달려있다는...졸려..ㅜㅜ 한계를 뛰어 넘어야 하는데 그게 쉽지가 않네요...-[Leonardong]
          * 8퀸 제를 실패하면서, 프로그램을 짤 때에는 먼저 확실한 알고리즘을 구축해 놓아야 한다고 생각했어요.. 알고리즘부터 틀리게 되면 나중에는 디버깅도 소용이 없다는 사실.. --[원명]
          * 너무 힘들다..제길..ㅠ_ㅠ 한제도 못풀고..머리에 녹이 슬었..(콜록) [이진훈]
  • 데블스캠프2004/금요일 . . . . 6 matches
          에서는 유래가 없군요. C기반이 아니라, C++(법), Smalltalk(vm) 의 철학을 반영합니다. Early History 는 마치 제임스 고슬링이 처음 만든것 처럼 되어 있군요. (SeeAlso [http://en.wikipedia.org/wiki/Java_programming_language#Early_history Java Early history]
          책을 보고 했는데 제가 많았나 봅니다; 미숙한 발표여서 죄송합니다 (__) --[iruril]
         ==== 이클립스 사용법 ====
          -> int 전달인자가 순서대로 자열을 그리는 '왼쪽 위 점의 x좌표', '왼쪽 위 점의y좌표' 를 가리킨다
          * repaint() 메소드를 사용
         === 자바 법 간단 설명 ===
  • 데블스캠프2005/게임만들기/제작과정예제 . . . . 6 matches
         그리고 다른 방법으로는 그냥 편하게 블럭의 크기만큼 배열을 지정해서 있는곳에는 숫자를 넣고 아닌곳에는 0을 넣는 방식이 있다.
          블럭을 랜덤하게 호출하는 함수를 만들자. 그리고 그 안에 rand()함수를 사용해서, 임의의 숫자를 얻은후 그 숫자에 맞추어 블럭을 지정하고
          일반적으로 for을 이용해서 한줄을 검색할 수 있으나, 같은 내려온 블럭이 같은색으로 처리되는 경우는, 더해서 숫자가 일치하는지를 볼 수도 있다.
  • 데블스캠프2006/월요일/연습문제/switch/이경록 . . . . 6 matches
          cout<<"A인 학생의 숫자는"<<A<<"\n";
          cout<<"B인 학생의 숫자는"<<B<<"\n";
          cout<<"C인 학생의 숫자는"<<C<<"\n";
          cout<<"D인 학생의 숫자는"<<D<<"\n";
          cout<<"F인 학생의 숫자는"<<F<<"\n";
          cout<<"999 때에 입력되지 않은 성적의 갯수는 10개중"<<jul<<"개 입니다.\n";
  • 데블스캠프2006/준비/월요일 . . . . 6 matches
         법,함수,MSDN,SVN,SSH,파일입출력
         || 법 || 함수 || MSDN || SVN,SSH || 파일입출력 || 계정 및 따로 공부 ㅋㅋ ||
         ||pm 08:00~09:50 || 법 || 송수생 (05) ||
         ||am 01:00~02:00 || SVN,SSH 사용법등 || 남상협 (01) ||
         새내기 위주로 저 레벨에 제 부터 하나씩 올라가는 레벨업 방식.
         위 일정시간에 배우는 예제 소스는 최종프로그램에서 다 사용 하여서 프로그램을 만든다.
  • 데블스캠프2009/수요일 . . . . 6 matches
         || 김준석 || 객체 지향 프로그래밍(OOP) || OOP에 대한 개요 이해, 추상화에 대한 개념. OOP 기반의 프로그램 설계를 코드가 아닌 글로 새내기와 함께 해본다. || 법은 잊고 의사코드를 사용한 설계실습을 해보자 ||
         || 송지원 || Simple Java & JUnitTest || Java의 간단한 법과 개념을 배우고,[[br]]JUnitTest를 통해 TDD 기반의 프로그래밍에 대해 맛보기. || 아무래도 Test가[[br]]메인이다 보니,[[br]]Java를 통한 OOP 개념의 실습은[[br]]시간상 진행하지 않는다. ||
         ||pm 11:00~12:00 || Java의 기본 개념과, 기본 법 || 송지원 ||
         = 제 풀이 =
         [데블스캠프2009/수요일/연습제]
  • 데블스캠프2009/수요일후기 . . . . 6 matches
          * '''서민관''' - kernal이나 어셈블러 언어 등 전까지 별로 접할 일이 없던 생소한 개념들이 많이 나와서 솔직히 쉽지는 않았습니다. 그래도 OS의 구조나 Ring system 같은 것들은 개념적으로라도 알아두면 괜찮을 것 같네요. 그리고 전날 혁준 선배가 설명해준 dll에 대해 잠깐 다시 복습할 수 있었던 것도 좋았고요. 아쉬웠던 점은 역시 수업이 너무 고수준이라서 대략적인 이해만 하고 넘어가야 했던 것입니다. 그리고 수업 이후에 개인적으로 VMware의 사용법을 가르쳐 주신 것은 정말 감사합니다. 선배가 제 구세주입니다.
          * [김준석] - 강의 내내 속으로 피말렸다. 강의 도중에 이해하기 쉽게 설명할걸 몇몇 빼먹은게 자꾸 떠올라서 천천히라도 설명하려했으나 설명해놓고 보니 좀 엉뚱한데서 설명해버린 안타까운 현실. 현역 군인이라 OOP 강의에 대해서 그렇게 많은 준비는 못한것이 사실이라 강의할때 도움도 좀 받았고. 휴가 나오기전에 1~2시간씩 코딩없이 강의 할만한 내용을 찾다가 C++을 사용할 1,2학년에게 좀 중요한 내용을 잡게 됬는데.. 휴가 나오고 PPT를 작성하는데 3일동안 하루 3~4번은 고치고 내용추가를 고민하는등 긴장을 좀 많이 탓다. OOP를 이해시키고 학교생활중 설계의 중요성을 몰라 삽질을 반복했기 때에 그 후에 코딩하기 전에 설계하는법에 좀더 중점을 둔 시간을 가지고 싶었다. 그냥 무작정 달려들어서 Run&Fix도 하기 쉽지 않은 중복많은 2~3백자리 코딩을 하기 보다는 전날 Abstractionism에서 형진이가 말했듯이 20줄 이내의 코딩, 잘 설계된 잘나뉜 코딩은 어딘가를 목표로 갈때 지도나 정보를 모아 쉽고 편한 길로 가는것과 같다. 돈도 절약되고. 안힘들고. 제가 생겨도 모아온 정보로 해결할수 있는.. 제를 풀어 결과를 도출해놓는것도 좋지만.. 주위에는 답을 똑같이 도출해놓을수 있는사람이 90%는 될것이다. 그렇다면 짧고 보기쉬운것이 좋겠지. 정말 아쉬운 점이라면 API나 로보코드때 이걸 설명하고 했더라면 들은 학우들에게 더 많은것을 이해할수 있었던 시간일것이라고 생각하는데.. 좀더 빨리 준비했었어야됬어.
          * '''서민관''' - 수요일 수업에서 제일 마음에 들었던 부분입니다. 이클립스를 써 본 것도 좋았고, 무엇보다 JUnit test는 정말 마음에 드네요. 앞으로 갈수록 프로그램의 크기가 커질텐데 이클립스를 통한 svn 사용이나 JUnit test나 둘 다 팀 프로젝트용으로는 정말 좋은 기능이라고 생각합니다. 정말 뭐라고 더 칭찬을 해야 할 지 말이 안 나올 정도로 마음에 들었어요. 한 방에 제대로 프로그램을 못 짜는 저한테는 메인 함수 없이도 버그 수정이 가능하다는 건 정말 고마운 기능이죠.
  • 데블스캠프2009/연습문제 . . . . 6 matches
         = 데블스캠프2009/연습제 =
          * [데블스캠프2009/월요일/연습제]
          * [데블스캠프2009/화요일/연습제]
          * [데블스캠프2009/수요일/연습제]
          * [데블스캠프2009/목요일/연습제]
          * [데블스캠프2009/금요일/연습제]
  • 문자반대출력/변형진 . . . . 6 matches
         PHP에서는 strrev()라는 자열 처리 기본 함수를 제공하지만, 현재 버전에서의 PHP는 기본 함수로는 Multibyte String을 지원하지 못한다.
         preg_split()는 자열 처리 능력이 탁월한 언어인 Perl에서 사용하는 Perl 호환 정규 표현식(Regular Expressions)을 차용하여 자열을 분리하여 배열에 담는 함수.
         유니코드 기준으로 각 자를 쪼갠 후, 배열에 담고 뒤집어 다시 합쳤다.
         [자반대출력]
  • 벌이와수요 . . . . 6 matches
         '이공계가 돈을 많이 못 버는 까닭은 수요에 비해 공급이 많기 때'
         과연 우리 공대 사람은 바로 옆에 있는 동기, 선배, 후배가 많기 때에 벌이가 안 되는 걸까요?
         그리고 우리나라가 전반적으로 IT업을 빼고는 취업하기 힘든 분위기로 많은 인력이 IT로 몰리고, 짧은 시간에 지식과 기술을 갖추려다 보니 턱이 낮은 쪽(예컨대 웹)으로 몰려서 IT쪽의 연봉 평균치가 떨어진다고 생각합니다.
         IT에 대한 환상을 심어준 미디어도 제라고 봅니다. 중앙고용정보원의 보고서에 따르면, 우리나라 게임 개발자 평균 월급이 175만원이고, 웹개발자 평균 월급은 141만원 밖에 안됩니다.
         그렇지만, 정보시스템 감리사 평균 월급은 345만원입니다. IT 쪽에서도 돈 잘버는 사람은 억대 연봉자가 있는 것으로 알고 있습니다. 하지만, 의사나 변호사와 상대 비교를 하기는 어렵습니다. 그들은 자신의 직업을 획득하기 위해 엄청나게 많은 투자를 한 사람들입니다. 또, 직업의 성숙도에서 보아도 그들은 소위 자격증, 즉 직업을 얻기 위해 자격증을 따야하는 "전직"(profession)의 단계에 이르렀지만, 컴퓨터 쪽은 아직 요원합니다(스티브 맥코넬 같은 사람은 이런 자격증 제도가 빨리 이뤄져야 한다고 역설합니다).
         그리고, 전체적으로 이공계의 평균 월급이 상대적으로 낮아 보이는 것은, 우리나라에서는 일정 나이가 넘으면 모두 경영, 관리쪽으로 빠지기 때입니다. 그래서 이공계의 평균 월급, 특히 IT 쪽의 평균 월급은 30대 이하의 평균 월급만 친 것으로 보아도 무방합니다.
  • 빵페이지/도형그리기 . . . . 6 matches
          cout << "숫자를 입력하시오 - ";
          cout << "숫자를 입력하시오 - (단, 20을 넘어가면 삼각형의 형태가 대략 좇치 않소)";
         ==== 숫자입력버젼(승균이가 했길래;나도~^^) ====
          cout<<"숫자 입력하세요:";
          cout << "1~6번중에서 하나를 선택하세요.(6번은종료,숫자만입력할것) : ";
          * 같은 생각으로 작성한다면 소스가 어떻게 표현될까 궁금했다. 소스양만 따지면, Python 을 위한 제인가.
  • 삼총사CppStudy/Inheritance . . . . 6 matches
          다음날 제점이 발견되었다. 마린과 파이어뱃으로 부대를 구성하여 배열에 저장하려고 하였는데 두개의 클래스가 틀리기 때에 한개의 배열로는 포함할 수가 없었다.
          아.. 이 제를 어떻게 하면 좋을까~? 이럴때 사용할 수 있는 스킬이 바로 '''상속(Inheritance)'''이다.
         protected: // protected를 사용한 이유는 상속받은 클래스에서도 이 멤버들을 사용할 수 있게 하기 위함이다.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.23 . . . . 6 matches
          1. 법에 맞춰 프로그램 로직 코딩
         = 간단한 제 =
          * 제 풀이 - [장용운]
         c는 30이므로 비교 결과가 참이 되기 때에 assert함수의 호출이 종료된다.
         상기 코드가 정상적으로 진행되었기 때에 main함수는 0을 리턴하고 프로그램이 종료된다.
         프로그램은 여러 데이터를 가지고 사용자가 원하는 일을 수행하는 것입니다.
  • 새싹교실/2011/씨언어발전/5회차 . . . . 6 matches
          * 배열을 사용하는 이유, 배열의 장점
          * 배열을 사용한 학생의 점수계산 프로그램
         배열을 처음으로 배워 사용법을 익혔으며 배열을 사용하던중 모든 값들을 초기화 해주어야하며
         배열을 이용하여 자열을 출력하려 할땐 주어준 배열 공간보다 하나 적은 자열을 입력해야함을 알았다. 또, 과제를 하며 막혔던 부분을 선생님께 배우며 해결해나가 좋았다. :):)
  • 새싹교실/2012/새싹교실강사교육/4주차 . . . . 6 matches
         - 변수, 제어, 함수, 배열, 포인터, 구조체 복습 복습 + File I/O -
         파일은 운영체제에 의해서 직접 관리되는 대상이기 때에 파일을 다루려면, 우선 운영체제와 파일과의 관계를 이해해야 합니다.
         파일은 메모리와 같은 주기억장치가 아닌, 하드 디스크 같은 보조기억장치에 저장되는 기본 단위입니다. 파일에는, 그 어떤 프로그램이던 간에 무조건 프로그램이 작성한 정보가 저장되는데요. 프로그램은 꽤나 많이, 실행 중에 파일을 새로 만들거나 등의 행동을 해서 파일을 액세스해야 하는 경우가 생깁니다. 그렇기 때에 정보의 저장과 불러오기가 꼭 필요합니다. 그걸 간단하게 두 개로 설명해보겠습니다.
         1.1 프로그램의 실행 파일에는 크기의 제약이 있기 때에 프로그램이 가지고자 하는 모든 데이터를 가질 수 없습니다. 그래서 큰 정보는 외부의 파일에 두고, 실행 중에 파일을 읽어서 사용하는 방법을 흔히 쓰게 됩니다. 예를 들어 게임 프로그램에는 BGM, 효과음, 사진, 그림, 동영상 등의 파일을 읽어서 출력하게 됩니다.
         3. 코딩 KeyWord (선생님들께 질해보세요)
  • 새싹교실/2012/아우토반/앞반/3.29 . . . . 6 matches
          * 제어
          * 프로그램 분석을 하고 설명을 들었습니다. 설명을 들을때 이해도 되고 몰랐던 사실에 대해 알게 되어서 좋았습니다. 그런데, 프로그래밍에대해서 조금 안다고 해서 제가 뭐가제인지, 무엇이 부족한지 잘 몰랐는데 수업을 하면서 알게되었습니다. 성준이나 저나 완전히 모르는게 아니라 수업 진도가 빨랐었는데
         앞부분 반복, 조건 등 소스는 이해되지만 프로그램을짤때에는 잘 못짜고, 실전에서 사용하는것이 소스를 보는것보다 직접짜는것이 매우 미숙하다고 느껴졌습니다. 그래서 진도만이 아닌 알더라도 앞에서 확실히 기초를 다지고 새로운것을 배웠으면 좋겠습니다.ㅜㅠㅠ..-[안혜진]
         return,continue,double,int,long,short,void,static,char,else,if,switch,for etc.....
  • 새싹배움터05 . . . . 6 matches
         우리들이 진행자들을 부족한 부분을 질등 부드러운 방법의 첨가와 보충으로 도와준다면,
         || 2_4/11 || C ([이승한]) || 기본법과, 포인터 || 중간고사 대비라는 느낌이 진하게 될듯 ||
          [PythonLanguage], [PHP] (WebProgramming), [ExtremeProgramming] (XP를 적용시켜 코드가 아닌 다른 무언가를 만들어 보자 -_-a ), Ghost 사용법, 발표잘하는법, PPT제작비법, OS개발
          * 이번에 세미나 및 프로젝트를 할때는 과거에 비슷한 주제로 했던 서들을 적극 활용하였으면 좋겠습니다. 지금까지 보통 세미나,스터디를 하면 뭐든 새로 만들었는데 그것보다 과거에 했던 것중에서 좋은것들을 잘 모아 편집하고 추가로 필요한 내용들을 넣는것입니다. 그렇게 하여 한가지 주제에 대한 완성도 높고 양질의 서들을 만들어 나가서, 세미나, 프로젝트가 그 순간에만 활용되고 끝나기 보다는 과거의 것을 정제 하고 과거 했던 비슷한것들을 할 시간에 더 양질의 내용을 채워 나가서 계속 활용하였으면 합니다. -[상협]
          지금 따로 메뉴얼을 제작하고 있습니다. 세미나 없이 메뉴얼만 있으면 쉽게 사용가능할 정도로 만들 예정이고요, 이번 [위키설명회2005]에서 다룬 내용도 담을 예정입니다. 그리고 첫 세미나(C프로그래밍)는 제가 할 의향이 있고 준비 중입니다. -[강희경]
  • 세미나/02대상 . . . . 6 matches
         대자보에 각 세미나 일정 올리고 동서버에 올리고 강의실에 들어가서 말하는 방법등등.. 가장 일반적인 방법아닐까요.--창섭
         동서버에 올리는 거로만으로도, 충분 할 듯. 02학번의 가입율은 벌써 91% 이고. 아무 것도 하지 않는 자에게 떠먹여준다는 것은 좀 씁쓸하니.. 차라리 사람이 적더라도 그리하는게 나을듯해보입니다. --남훈
         동서버 나눔터의 통계 를 보면 나와있습니다. 현재는 92% 이네요.. --남훈
         헤헤... 쉽고 제 풀면 그에 대한 법을 확실히 알 수 있는 그런 제들 부탁드릴께요~!^^; --상욱
  • 송년회 . . . . 6 matches
         돼지방앗간에서 107000원, 베를린 3층 술집에서 2차로 61000원 총 168000원사용.
         송년회 회비로 10만 9000원 수입. 사용.
         
         추신. 메일이나 자메세지, 전화로 참석 여부를 알려주시면 고맙겠습니다.
         이메일을 잘 확인안하는 사람도 많은데... 자나 전화가 젤 좋지않을까요?
         동서버에도 공지를?? -[이승한]
  • 수/구구단출력 . . . . 6 matches
         숫자를 입력 받아 그 숫자에 해당하는 구구단을 출력
          printf("원하시는 구구단 숫자를 눌러주세요.^^\n");
          printf ("숫자입력");
          printf ("숫자를 입력하세요 :");
          printf("숫자입력하시오\n");
  • 수/정렬 . . . . 6 matches
         숫자 5개를 입력 받고 큰 순서대로 출력.
         1.숫자를 입력해주세요: 2
         2.숫자를 입력해주세요: 1
         3.숫자를 입력해주세요: 3
         4.숫자를 입력해주세요: 5
         5.숫자를 입력해주세요: 4
  • 수학의정석/집합의연산/조현태 . . . . 6 matches
          음.. 저번 것과 마찬가지로 입력받는 부분은 시간계산에 포함하지 않는다. (사용자의 입력시간이 결정하기 때.)
          || 숫자의 수 || 걸리는 시간(초) ||
          질이나 부족한 점에 대해서는 글을 남겨주세요.^^*
          printf("입력할 숫자의 개수는?>>");
          printf("%d번째의 숫자를 입력해주세요.>>",i+1);
  • 시간맞추기/허아영 . . . . 6 matches
          그런데 time()함수를 사용한 방법에는 제가 있는데 말이지..ㅎㅎ
          time()함수의 기능상의 제점..ㅎㅎ 사실 이거말고 다른방법을 사용하는게 더 정확한데..ㅎㅎㅎ
          정확한 시간이라. 애매하다 그치 ㅋㅋ 아참. 제 올려줄께 ~ 이번주 세제가 안되었네 . -[허아영]
  • 쓰레드에관한잡담 . . . . 6 matches
         thread를 사용할때 중요한것이 동기화인데, context switch를 할 때 데이터가 저장이 안된 상태에서 다른 thread로 우선순위가 넘어가면 치명적인 오류가 나게된다.
         Linux에서 멀티 프로세스 개념인 fork()는 내부적으로 do_fork()란 Kernel 함수를 호출하며, do_fork()는 내부적으로 user thread인 POSIX기반의 Mutex를 사용한다.
         ... 그리고... 한가지... POSIX thread를 사용하여 많은 양의 thread를 생성하면 동기화를 주목해야한다.
         이것은 Assembly어로 짜여지며 그 이유는 속도 때이다.
         아직까지 생각 중이지만 pthread의 내부적 제인것 같다.
         이상하다. 소스에는 제점이 없지만 약간 많은 쓰레드가 동시에 생성되고 데이터 처리 양이 많을 때에는
  • 우리홈만들기 . . . . 6 matches
          * DeleteMe) 개인적으로 cgi를 위한 언어로 파이썬을 추천합니다. 물론 펄도 자열 처리가 쉬워서 cgi에 아주 좋은 언어이지만 cgi에 써먹는 것으로 끝날 확률이 높아 보입니다. --["이덕준"]
          * 2월 3일 : 대 만듬, 프레임 연습
          * 대에 있는만큼, 가급적 모든 브라우저에서(IE, NS, Lynx, 등) 돌아가게 해보려고 삽질중입니다.
          * 사용중인 툴 : 에디트플러스 2 평가판 (사용한지 30일 가까워옴..)
          태호형도 보고감..^^에디트 플러스 기간 지나도 무한대로 사용가능함..^^;;;
  • 위키를새로시작하자 . . . . 6 matches
         그래서 ZeroWiki 를 막아버리고, Wiki를 새로 시작하면서, 함께 예절과 규칙을 만들어 나가면서 위갭?다시 시작하는것이 어떨까 싶습니다. 현 ZeroWiki는 읽기만 가능하고, 새로운 위키는 읽기, 쓰기, 삭제(로그인 한 사용자만) 모두를 열어둘 생각입니다. 현 ZeroWiki 상의 예절이나, 규칙은 필요에 따라 재사용, 새롭게 정의 하려고 합니다.
          NeoCoin : 방법은, 현재 위키를 읽기 전용으로, 새로운 위키를 읽기, 쓰기, 지우기 다 열고 새로운 화, 예절이 만들어 지는 모습을 경험하고 싶습니다. 읽기 전용의 위키의 내용은 전이되거나, 그대로 남거나, NoSmoke:SisterWiki (차후 연결) 하거나 하고 싶습니다. 더 나아가, 모든것에 대한 재정의와 다시금 생각해 보기를 해보았으면 합니다.
          저에게 그 질의 답은 '같은 질을 온라인에 다른 분들이 하는 것' 입니다. --NeoCoin
          음.. 저도 1'WIKI에 프로젝트 페이지를 옮기긴 했지만 좀 그랬습니다. 새로운 규약과 규칙이 만들어지자는 의견이 있는걸로 아는데요. 지금 0'WIKI의 내용을 옮겨 놓으면 그냥 예전의 위키가 되어버릴것 같습니다. 차라리 1'WIKI사용을 아직 하지 말로 나중에 시작하는건 어떨런지요? -[상욱]
  • 이승한/.vimrc . . . . 6 matches
         set ic "검색시 대소자 구별안함
         set scs "똑똑한 대소자 구별기능 사용
         " 폴딩한 내용 서 닫고나서도 기억하기
         "변수 선언으로 감
         "변수 선언으로 감
  • 정모/2005.2.16 . . . . 6 matches
          * [AOI] : 용두사미(1월 말이후부터 와해), 풀이를 위한 모임이 적었음, 매일보는 3명이서 또 풀이모임을 하기는 조금 힘들었다. 난이도 조절실패. 토론이 부족했었다. 모임부족. 학기중이라면 아침에라도 모여서 이야기 제에 대해이야기 할수 있지 않았을까?? 사전지식의 부족.
          * 소스만 올리고 풀이과정(제접근방식)은 없어서 피드백이 부족. 보창曰, "소스만 올리면 나중에 쓰레기페이지가 될 수 있다" 재선曰, "어려운 제도 모여서 페어로 풀어보면 짜릿할 것 같다" 보창曰, "내가 졸업할 때까지 계속 할꺼다. 개학하고 신입생에게 사전지식을 세미나형식으로 전수하고 같이 풀어보는 것도 좋겠다"
          *ZpHome : 지금도 진행 중. 세환은 이 프로젝트 진행 때에 정모도 못 왔다. 성만曰, "얼굴 보기 힘들어요" 모임이 적음. 각자 공부가 어려움. 결과물도 나오긴 나올 것 같다.
         [이승한]의 1:1 수다형 회의 답게 결론이 잘 나오지는 않는다. 중간에 끊어 먹고 다음 주제로 넘어가는 경우가 허다하다. 지금은 적은인원이 간단하게 회의를 진행하기 때에 쉽게 이루어 질지 모르지만 3월말 신입회원 모집에서는 어떻게 될까??
         프로젝트 진행 때에 못 간게 아니라 계속 알바중임, ZpHome 프로젝트는 용두사미식이 되어 미안하고 조만간 완성해 내놓겠습니다 --[곽세환]
  • 정모/2007.3.13 . . . . 6 matches
         참여자 : 18명 ( 김정현, 조현태, 이장길, 윤영준, 이원희, 김준석, 허아영, 이차형, 송수생, 이선호, 임영동, 변형진, 노수민, 원명, 김민경, 김남훈, 강인수, 고준영)
          - 제점 : 선생님수가 부족할수도....
          - 해야할 일 : 동서버에 개시, 대자보, 홍보지(A4용지에 작성해서 붙이고 다님),
          - 지피 안에서 자신의 역할을 하나씩 갖자( 4학년은 제외)
          = 칠피관리는? , 누가 칠피 게시판 관리를 할것인가? 공유지의 비극을 극복해보자.., 현재 회의만 봐도 너무 비효율적으로 많은 사람들이 작은 제로 너무 오랜 시간동안 토론하고 있다.
          - 철 담당자를 정하는 것 어떨까요?
  • 정모/2011.10.12 . . . . 6 matches
          * Dynamic Programming으로 제를 풀어보려 했으나 진경이를 제외하고는 accept시키지 못하여 재귀으로 구현하는 것부터 해보기로 하였습니다.
          * ZeroPage와는 무관하지만 프로젝트 제안서를 이찬근 교수님께 제출하여 공간을 사용할 수 있습니다.
          * 함께 사용하는 공간이니만큼 서로 배려하고 깨끗하게 사용합시다.
  • 정모/2011.3.14 . . . . 6 matches
          * 한 사람씩 돌아가며 지난주에 있었던 일을 소개하고 질을 받는다.
          * 질이 끝나면 어떤것이 거짓인지 다같이 맞춰보고
          * 여기에 질을 받습니다:
          * 솔직히 Ice Breaking할때 저번 주에 한 재미난 일이 생각이 안나서 어떻게 대충 쓰다보니 너무 자명한 거짓말을 써 버렸습니다ㅋㅋ OMS할때 Objective-C에 대해 하나도 몰라서 초반의 Obj-C의 클래스 선언 방법이나 법에 대해서는 이해를 했지만 뒤에 가서는 이해가 안가는 부분이 대다수였던 것 같네요. ZP책장에 Obj-C 책을 넣어 뒀다고 하니 언젠간 한 번 꺼내서 읽어봐야겠습니다. - [신기호]
          * 그간 PNA를 별로 시덥잖게 생각하다가, 이번에 후기를 듣고 나서 꼭 한번쯤은 가봐야겠다는 생각이 '''강하게''' 들었습니다. (딱히 M모 기기 때은 아닙니다. 정말로.) 다음 주에 할 [http://extaccess.cyrusian.com/zeropage/keyword.php 키워드 전기수]가 기대됩니다. :) - [황현]
          * Ice Breaking을 하면서 뭔가 저번주에 바쁘게 지낸거 같은데 쓸게 없네라는 생각이 들기도 했었지만,, 이런 기회로 조금이나마 서로에 대해서 알게 된 것 같아 좋았습니다. Objective-C는 초반 세팅의 제가 있었지만, 설명을 해주는 점에 있어서는 확실히 이 언어를 많이 써 보고 느낀점을 전달하려고 하는 모습이 보기 좋았습니다. 그리고 항상 이런 언어에 대해서 들으면서 느끼는건 어디선가 이름은 많이 들어봤는데 접해본건 하나도 없구나 하는.... 대안언어에 대한 발표가 진행될 때 일이 있어 먼저 가긴 했지만 다음에 기회가 되면 알아보고 참여해 보는 것도 괜찮을 거 같다는 생각이 들었습니다. - [권순의]
  • 정모/2011.5.9 . . . . 6 matches
         == 캡스톤 설계실 사용 안내 ==
          * 형누나들은 언제(몇시에)가세요?? 11에 가려는 애들은 뒤에 동엠때에 점심무렵에 가려고 생각중인데.. - ?
          * 점심 때 가려면 12시에 학교 후에서 모여서 같이가죠. - [윤종하]
          * OMS 재밌었습니다. 스타1 유즈맵을 즐기는 저로서는 스타2의 무한한 가능성을 엿본듯한 -_-;; 비록 아직은 버그투성에 애로사항이 있더라도 좀더 지나고나면 똑똑한 게임개발툴이 나올 것 같네요. 월드아이티쇼.. 저는 아마 불발될 거 같습니다. ㅜㅜ 수금은 수업 때에 안되고 목토는 일이 있어서 에구; 담주 OMS 준비를 제대로 할 수 있을까 걱정입니다;; 구글신 찬양과 함께 미래의 안드로이드와 클라우드 서비스에 대해 할까 하다가.. 준비할 시간이 많지 않을거 같으니 아마도 경시대회 관련 주제로 준비될거 같습니당.. - [정진경]
          * 장소를 미리 못 잡아서 4피에서 OMS를 했는데 기호에게 미안하네요... 장소가 산만하기도 하고 좀 부담스러웠을 것 같아요ㅜㅜ 그와 별개로 내용은 정말 흥미로웠습니다. 항상 생각했던 것이지만 쓰기 편하고 단순하게 만들면 할 수 있는 게 제한되어 제고 이것저것 할 수 있게 파워풀하게 만들면 너무 복잡한 게 제… - [김수경]
  • 정모/2012.3.12 . . . . 6 matches
          * 전시회 홍보, 동아리 방 설명에 이어서 OMS가 상당히 인상 깊었던 정모였습니다. 제목만 보고도 그 주제를 고르신 이유를 바로 알았습니다. 전체적으로 Type, Type Safety, Java Generics에 대해서 상당히 깊이 다루지 않았나 싶네요. 사실 제네릭스 모양이 C++의 템플릿과 비슷하게 생겨서 같은 것이라고 생각하고 있었는데 이건 확실히 '만들어진 이유가 다르다'고 할 만 하군요. 그리고 마지막에 이야기했던 Type Erasure는 제네릭스를 구현할 때 JVM 레벨에서 구현하지 않고 컴파일러 부분에서 처리를 하도록 했기 때에 타입이 지워지는 거라는 얘기를 들었는데 맞는지 모르겠군요. 이거 때에 제네릭스 마음에 안 들어하는 사람들도 있는 모양이던데. 중간에 이 부분에 대한 개선이 이루어지고 있다는 말씀을 잠깐 하셨는데 컴파일 이후에도 타입 정보가 사라지지 않도록 스펙을 수정하고 있는 건가요? 좀 궁금하군요. 여담이지만 이번에 꽤 인상깊게 들었던 부분은 예상외로 Data Type에 대한 부분이었습니다. 이걸 제가 1학년 여름방학 때 C++ 스터디를 한다고 수경 선배한테 들은 기억이 지금도 나는데, 그 때는 Type이 가능한 연산을 정의한다는 말이 무슨 뜻인지 이해를 못 했었죠 -_-;;; 이 부분은 아마 새내기들을 대상으로 새싹을 할 때 말해줘야 할 필요가 있지 않을까 싶습니다. 아마 당장은 이해하지 못 하겠지만. 후후 - [서민관]
          * 생각해보니 ZeroPage에서 세미나 형식으로 공유되는 내용들의 많은 부분이 언어에 편향되어 있는 것 같아요. 저는 아키텍처와 프레임워크, 프로젝트에 관해서도 논의가 이루어지는 것이 바람직할 것이라 생각합니다. 코드와 기술적 이슈는 구하고자 하면 반드시 구할 수 있는 제이지만 프로젝트는 '프로그래밍과 사람'에 걸쳐있는 제라 잘 보이지 않고 답이 정해져 있지도 않아 헤메기 쉽다고 생각해요. 답을 구하지 못하고 평생을 사는 사람도 많고
          * 사고가 확장되는 건 언제나 즐거운 일이네요. 수학의 기본 정의를 이용하여 Data type을 설명하신 것을 보며, 놀라웠습니다. 프로그래밍 관련 생각을 할 때 마다, 매번 '아 나의 사고(thinking)의 도메인이 너무 작어 ㅜㅜ'라는 생각을 많이 하였는데, Data type의 정의를 들으면서 '내가 평소에 인지(recognize)하지 못했기 때에, 깊게 생각해보려고 해도 다른 분야의 개념들이 자연스럽게 생각이 떠오르지 않는구나.'라는 생각을 해보게 되었습니다. 이런 건 계속 연습을 해야겠지요 ㅜㅜㅋ 뒤쪽 부분도 상당히 흥미로웠습니다만.. 어제 몸이 아파서 밤에 잠을 못 잔 관계로; 결국 OMS듣다가 정신이 안드로메다로 날아가서 제대로 못들었네요.. 그리고 회장은 항상 수고하네요. 갑자기 많은 일을 하게 되었을텐데 수고하십니다 ㅋ -[박성현]
          * Java generics에 대한 내용이 다 이해가 가는 내용임에도 불구하고 내가 설명하면 저렇게 설명 못하겠다는 생각이 들었습니다. 왜 그럴까 생각해봤습니다. 처음에는 '하나를 설명하기 위해선 열 가지쯤 더 알고 있어야하는데 그 열 가지를 몰라서.'가 아닐까 했는데 사실 그보다는 평소에 제가 Java generics를 제대로 사용하고 있지 않아서 그런게 아닌가 싶습니다.
  • 정모/2012.7.11 . . . . 6 matches
          * 지원 내용 : 소정의 장학금과 재료비 및 헌 구입비
          - 첫주차에는 서 작성, 삭제 등을 목표로 삼아서 hibernate 등을 이용할 예정.
          * 논 분석 - 다양한 자동화 툴들이 있어서 신기하다.
          - 서들이 어떻게 연결되었는가 방식에 대한 공부 중.
          * OpenCV - 영상인식을 위한 라이브러리 사용.
          - 안드로이드에서는 JavaCV를 import해서 사용한다.
  • 정모/2013.1.15 . . . . 6 matches
          * A(김민재) : 외부인의 사용에 따른 권한 부여 등에 따른 허가, 컴퓨터 사용시 기록을 남김으로써 책임감, 사후관리의 유용성
          * 조광희 : 질은 게시물이 생기면 거기에 하면 되는건가요?
          * 네, 해당 게시물에 질하면 됩니다.
          * 아하! 게시판에 질하면 되는거였구나ㅋㅋ 그럼 게시판으로 내용 옮겨감ㅋㅋ - [김수경]
          * 월요일인데 후기 숫자가... - [서민관]
  • 조영준 . . . . 6 matches
          * [http://steamcommunity.com/id/skywavetm 스팀 사용자]입니다.
          * 모바일 앱 개발 '갈만하니' 앱 - WAP 기반 특정 장소의 방자수를 추정하는 어플리케이션
          * ~~셀 수 없는 서질~~
          * 소자를 대자로 변환시켜주는 프로그램
          * 설리 추가하고 갑니다 'v' 졸라... ^오^ 이거먼데 ㅋㅋ 깜놀했네 위키법으악 - [최다인]
  • 중앙도서관 . . . . 6 matches
         하지만, 현재의 도서관 시스템은 사용하면 할 수록 불편한 시스템이다. "Ease of Learning"(MS 워드)과 "Ease of Use"(Emacs, Vi) 어느 것도 충족시키지 못한다.
         나는 우리학교 도서관에 아마존 스타일의 시스템(많이도 말고, 도서별 리뷰 등록, 별표 평가, 고객 클러스터링을 통한 서적 추천, 도서별 대출/검색 횟수를 통한 베스트셀러 집계 및 이에 대한 통계 분석 -- 예컨대 공대 학생의 베스트셀러, 경영학과의 베스트셀러, 4학년의 베스트셀러 등 -- 같은 것만이라도) 을 도입하면 학생들의 독서량이 두 배는 높아질 것이라고 확신하며, 이것이 다른 곳(정 바꾸기 등)에 돈을 쓰는 것 몇 십 배의 가치를 지속적으로 만들어 낼 것이라 믿는다. 이제는 도서관도 인터넷 서점을 벤치마킹 해야 한다.
         지금 도서관의 온라인 시스템은 상당히 오래된 레거시 코드와 아키텍춰를 거의 그대로 사용하면서 프론트엔드만 웹(CGI)으로 옮긴 것으로 보인다. 만약 완전한 리스트럭춰링 작업을 한다면 얼마나 걸릴까? 나는 커스터머나 도메인 전가(도서관 사서, 학생)를 포함한 6-8명의 정예 요원으로 약 5 개월의 기간이면 데이타 마이그레이션을 포함, 새로운 시스템으로 옮길 수 있다고 본다. 우리과에서 이 프로젝트를 하면 좋을텐데 하는 바램도 있다(하지만 학생의 사정상 힘들 것이다 -- 만약 풀타임으로 전념하지 못하면 기간은 훨씬 늘어날 것이다). 외국의 대학 -- 특히 실리콘벨리 부근 -- 에서는 SoftwareEngineeringClass에 근처 회사의 실제 커스터머를 데려와서 그 사람이 원하는 "진짜" 소프트웨어를 개발하는 실습을 시킨다. 실습 시간에 학부생과 대학원생이, 혹은 저학년과 고학년이 어울려서(대학원생이나 고학년이 어울리는 것이 아주 중요하다. see also NoSmok:SituatedLearning ) 일종의 프로토타입을 만드는 작업을 하면 좋을 것 같다. '''엄청나게''' 많은 것을 배우게 될 것이다. --JuNe
         사용자는 이 랩퍼를 통해 로긴을 하고, 책 평가도 하고, 리뷰도 쓰고, 베스트셀러 검색도 하고, 대출 예약도 한다. 기존 시스템의 모집합이 되는 셈이다. (하지만 꼭 그럴 필요는 없다. 중요하고 자주 쓰이는 기능만 노출해도 충분하다)
         일단 이걸 만든 사람들이 열심히 사용하다가, 우리과 사람들이 점점 더 쓰고, 나중엔 다른 과 학생들까지 쓰다보면, 혹시 모르잖는가. 정말 이런 시스템으로 도서관을 바꿀 생각을 정책입안자들이 하게 될지.
  • 지금그때2003/선전문 . . . . 6 matches
         위키를 사용하시기 어려운 분들은, 이 글의 리플로 달아주세요.
         후배가 할수 있는 질
         신재용 ( 전연구원, 중대, 박사)
         김남규 ( 전연구원, 중대 석사 )
         === 선전 ===
         오늘 내가 남긴 발자국은 훗날 남의 길이 되기 때이다.
  • 지금그때2003/토론20030310 . . . . 6 matches
          * 질할수 있는 것들
          * Opening Questions - 대화를 할때 다른 사람들에게 의미를 줄 수 있는, 또는 다른 사람의 말을 여는데 도움이 될 질들. 또는, 주제에 가까운 질들에 대해.
          * 사람들 간 지식을 서로 전수해주는 화. 보다 생산적이고 발전적인 토론.(피시실이건 어디건)
          * 꼭 '대학선배' 가 아닌 '인생선배'로서 이야기할 수 있는 자유로운 이야기들. 간단하면서 실용적인 질들 등등 자유.
  • 지금그때2006 . . . . 6 matches
         7:30~ 질레스토랑
          * 게시판에 선전 올리기
          * [지금그때2006/선전]
          * 질레스토랑
          * 질
          * [지금그때2006/질레스토랑]
  • 창섭/BitmapMasking . . . . 6 matches
          * 우리가 비트맵을 불러다 쓸때 늘 사각형 모양으로 불러다 쓴다. 하지만 불러다 쓰고 싶은 모양이 사각형이 아니지만 본의 아니게 배경색까지 따라 찍힌다. 이 때 사용한다.
         원본 그림에 흰색과 검은 색으로 그려진 그림(마스크)을 밑그림에 잘 연산시켜 순서를 잘 맞춰 그리면 원하는 그림이 나오는 것이다. 마스크는 밑의 두개중 아무거나 사용한다.
         === 마스크 1 사용 ===
          * 사용하는 마스크
         === 마스크 2 사용 ===
          * 사용하는 마스크
  • 큰수찾아저장하기/허아영 . . . . 6 matches
          하고 생각해 봤다. 그래서 생각하면서 프로그래밍 한 것, 또 자초해서 해 버린 소트 때에 시간이 많이 걸린 것 같다.
         각 기능별로 함수로 나누는건 좋은 생각인데 말야..^^ 그게 오히려 제가 된것 같은 느낌이..ㅎㅎ
         다해서 한페이지 안에 들어갈 정도로 간단하다면 그냥 짜넣어도 제는 없을것 같아..^^ -[조현태]
         그러고 보니 소스가 소트를 하네? 제에는 정렬하란말이 없었는데..;;
         소트한건 쓰레기배열이니 제없는거같은데 -_-;; 원래배열은 고대로 있잖아 --[정수민]
          분명히 열심히 읽는데 말이야..ㅎㅎㅎ 제는 내 머리의 메모리가 작아서 몇몇 부분은 기억을 잘 못한다고...ㅎㅎㅎ 그러니 다 적힌내용으로 삽질하고 있어도 너그러운 아량으로 이해해주시길..ㅎㅎㅎ - [조현태]
  • 타도코코아CppStudy/0724 . . . . 6 matches
         || 제 || 학생이름 || 학생의 답안 || 강사의 평 ||
         || 8퀸 제 || || || ||
         || 제 || 학생이름 || 학생의 답안 || 강사의 평 ||
         || 파스칼의 삼각형 || [수진] || Upload:pascal_sujin.cpp || 헉.. 줄까지 맞추다니 멋져요.^^ 함수 분리도 꽤 잘한거 같고.. 무엇보다 다른 개념(조합)을 사용했네요. 여태까지 한 사람들은 거의 다 위에꺼 더해서 했거든요. 하지만 로직과 보여주는게 분리가 안되어 있네요. 이따 저와 함께 고쳐 봅시다. ||
         || 8퀸 제 || || || ||
          * 선배 이 제들로 2개는 무리,,,, 무리,,,ㅡ.ㅜ
  • 튜터링/2011/어셈블리언어 . . . . 6 matches
          * 칠판에 나와서 제 풀어보기
          * 항상 기출되는 제들이 있다.
          * 언어 입의 첫단계
          * 삼십분도 안걸릴것이라 생각했는데, 이날의 제는 무엇일까
          call ReadDec ; 숫자 하나 받아옴
          * c 프로그램에 어셈블리 사용
  • 파스칼삼각형/sksmsvlxk . . . . 6 matches
         각 숫자의 배열을 이딴 식으로 만드는게 포인트.
         위에 있는 두 숫자를 더해서 계산.
         '''수학공식을 사용했다면 소스코드의 길이가 더 줄어들었을 것.'''
          //using namespace std 그냥 사용했음..
          continue;
          * 내가 사용할 수 있는 함수가 존재하는 지 알아야 한다.
  • 프로그래밍십계명 . . . . 6 matches
          *오늘 필요 없는 정보는 내일 필요하리라. 가장 가치 있고도 저렴한 지식은 책 속에 있느니라. 서점과 동료의 책꽂이에 무엇이 꽂혀 있는지 때때로 살피어라. 무심코 흘렸던 종이 한 장이 너의 근심을 풀어 주었으리라. 설명서는 충분히, 꼼꼼히 읽을지어다. 모든 의은 설명서를 안 보는 데서 생기니라. 그렇더라도 모두 다 읽을 필요는 없느니라.
          *정수가 절대로 그 한계를 넘지 않으리라 가정하는 것은 어리석음이라. 127, -128, 255, 32767, -32768, 65535, 이 숫자들을 너의 골수에 새기어라. 0.0은 0이 아니니 실수는 원래부터 결코 정밀하지 않느니라. 부호 없는 것과 있는 것을 어울리거나 정수끼리 나눌 때에는 늘 조심하여라.
          *지금 그 매개 변수가 결코 가질 수 없다는 값을 내일부터는 가지리라. 그러하니 매개 변수값이 올바름을 항상 검사할지어다. 그렇더라도 처리 속도가 제가 되는 경우는 예외이니라.
         9. 사용자가 알아서 잘 써 주리라고 희망하지 말지어다.
          *너의 프로그램은 항상 바보와 미친놈만이 쓰느니라. 사용 설명서를 쓸 때에는 결코 빠뜨리지 말아라. 빠뜨린 만큼 사용자는 너를 괴롭힐 것이니라.
  • 프로그래밍잔치/정리 . . . . 6 matches
          * 뭘 해야 할지 망설일때 기댈 사람(하하..고;)이 있었던 점.
          -> Opening Question 의 중요. 토론을 시키기 전, 그 주제를 명확하게 표현해주는 '질' 장을 미리 3-4개정도 작성해온다.
          * 중간에 진행중 간간히 리듬이 끊어짐. 또는, Facilitator 가 질만 던지고 답을 받은뒤에 제대로 정리를 하지 못함. 그래서 단발성 질/답으로 끝나는 경우 발생.
          * 중간중간 고인 JuNe 에게 진행을 의존하는 모습을 보임.
          * 사람들의 지각 제 -_-
  • 한자공/시즌1 . . . . 6 matches
          * [https://github.com/ZeroPage/zp13-javastudy github]를 사용하고 있습니다.
          * github를 사용하기 시작하였습니다. 주소는 위에.
          * get,set을 통해 변수에 접근하는 연습을 하고, 추가적으로 패키지를 직접 사용해 보았습니다. 생성자는 덤.
          * 코드 리뷰는 코드를 설명 하고, 그 후 다른 멤버의 질과 피드백을 받는 형식으로 진행 했습니다.
          * abstract, interface의 사용 방법에 대해 이야기를 나누고 사용 목적을 나름대로 토의를 해 보았습니다.
  • 화이트헤드과정철학의이해 . . . . 6 matches
         계속 화이트헤드에 주목하는 이유라면 (김용옥씨 관점의 화이트헤드해석일지도 모르겠다. ["이성의기능"] 때이지만.) 점진적 발전과 Refactoring 에서 뭔가 연결고리를 흘핏 봐서랄까나. 잘못하면 뜬구름 잡는 넘이 될지 모르겠지만. 이번에도 역시 접근방법은 '유용성' 과 관련해서. 또 어쩌면 용어 차용해서 써먹기가 될까봐 걱정되지만. 여유를 가지고 몇달 생각날때 틈틈히 읽으려는 책.
         김용옥씨의 서의 인상이 꽤 깊게 남는다. 일상적 경험으로부터 귀납적 관찰로 쌓아올리지 않고, 조급하게 하나를 통찰하는 연역의 원리를 먼저 찾으려는 모습에 대한 비판. 과연 나의 말은 나의 과정들, 경험들을 얼마나 담고 있는건가.
          * '진정한 발견의 방법은 비행기의 비행과 유사하다. 그것은 개별적인 관찰의 지평에서 출발하여 상상적 일반화의 엷은 대기층을 비행한다. 그리고 다시 합리적 해석에 의해 날카로워진 새로운 관찰을 위해 착륙한다.' - 서중 인용된 Whitehead 글.
          * '해체를 염두에 두지 않는 구성은 인간 지성의 오만한 독단이겠지만, 구성에 기생하는 단순 해체는 인간 지성의 무책임한 유희일 뿐이다' -- 창옥씨 맺음말중.
         철학책이고 형이상학을 그린 책이라지만, 읽을수록 예전에 내가 이야기했었던 학론(뭐 '론' 을 붙이기도 뭐하지만)이 생각이 난다.
         Control Point 들은 일상의 경험들이다. 그 경험들이 삶의 방정식들을 만들어간다. 비록 그 방정식들이 오차가 많을지더라도, (라그랑주일지, Cubic Spline 일지. 어쩌면 결국 현실을 누가 더 잘 설명하느냐라는 유용성의 제일까) 어느정도 유용하다. 공식이 완성된 선은 재계산과정없이 빨리 그릴 수 있다.
  • 회원자격 . . . . 6 matches
          - [OMS] 무지개 너머 어딘가 행운의 숫자가 있어
          * 단, 회장단의 판단하에 활동하지 않는 회원은 자로 공지후 탈퇴
          * 회장단의 판단하에 활동하지 않는 회원은 자로 공지후 탈퇴
          * 회장에게 어떤 이유에서든 정모에 나오지 못함을 알리고, 그 이후에는 나올 수 있음을 말한다.(8차학기 제외)
         제로페이지의 회원이기 위한 첫째 조건으로는 '''중앙대학교 컴퓨터공학과 동'''이겠구요. 그 다음으로는 제로페이지란 공동체의 활동에 참여를 해야하겠지요. 정모, 전시회, 홈커밍데이, 엠티와 같은 제로페이지 행사에 자발적으로 관심을 갖고 참여 해야합니다. 그리고 세미나, 스터디 등등의 활동을 오프라인 및 온라인을 이용해서 제로페이지 회원들과 함께 꾸려나가야 합니다. 그리고 가장 중요한 조건은 '''제로페이지(ZeroPage)가 무엇을 위한 공동체인지 이해하고 동의'''해야 한다는 것입니다. 여기에서 자발적인 관심과 참여가 유도되어야 합니다. 이 조건만 만족하면 제로페이지 회원이기에 충분하다고 생각합니다.
          * 제로페이지가 무엇을 위한 모임인가.. 저는 함께 공동 관심사(포괄적으로 컴퓨터)를 가지고 모인 모임이라고 봤습니다. 공부를 같이 하는 모임은 물론이고 친목모임도 될 수 있는 모임말입니다. 어떠한 목적도 좋지만 그 목적이 오래 가려면 친목이 뒷받침되어야 한다고 생각하기 때입니다. --["창섭"]
  • 10학번 c++ 프로젝트/소스 . . . . 5 matches
         * 숫자 크기 정하느라 황금비율 찾아봤다능... ;;( 1 : 1.618 이니까 5:8 이라능...)
         * 숫자 디자인 한참 고민했다능... ;;
         * 숫자 띄우느라 애먹었다능... ;;
          Sleep(1000); //요게 1초씩 대기함 ( 말그대로 sleep!!. 밀리세컨드 이기 때에 1000이라 씀)
         === alarmsetting에서 now_time으로 넘기기 위해 사용 ===
  • 2002년도ACM문제샘플풀이/문제C . . . . 5 matches
         위의 코드는 옳은 코드가 아닙니다. 다시 한 번 잘 생각해 보세요. (예컨대, {{{~cpp (6,14,5)}}}에 대해 실험해 보길) 이런 제는 MEA를 쓰면 쉽습니다. --JuNe
          Means Ends Analysis라고 하는데 일반적인 제 해결 기법 중 하나다. 하노이 탑 제가 전형적인 예로 사용되지. 인지심리학 개론 서적을 찾아보면 잘 나와있다. 1975년도에 튜링상을 받은 앨런 뉴엘과 허버트 사이먼(''The Sciences of the Artificial''의 저자)이 정립했지. --JuNe
         ["2002년도ACM제샘플풀이"]
  • 2ndPCinCAUCSE/ProblemA . . . . 5 matches
         A 번 제 : 삼각형 만들기. 소스파일 이름 : aaa.c or aaa.cpp
         같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 한다. 삼각형의 한 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 한 부분을 만들 수는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있는 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오. 예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 3가지이다.
          (1) 주어진 성냥개비는 모두 사용하여 하나의 삼각형을 만들어야 한다.
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 삼각형의 개수를 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 제를 맞힌 것이다.
         [제분류]
  • APlusProject/CM . . . . 5 matches
         ==== 서기본양식 ====
         Upload:APP_Sample_0601.zip - 최신 서기본양식
         Upload:APP_ConfigurationManagementPlan_0406-0511.zip - 버전 1.0 이전의
         현재 올라온 서 중 최종 서들은 모두 백업을 해주셨으면 합니다.
  • AcceleratedC++/Chapter15 . . . . 5 matches
         15장은 5장에서 제시되었던 자열 출력프로그램을 객체지향에 입각해서 설계하는 방법을 설명한다.
         법에 직접적인 연관이 없기 때법을 익히려는 목적으로 책을 본다면 반드시 읽어야할 필요는 없다.
         그러나 객체를 설계하는 기본적인 개념을 적용할 수 있는 예제이기 때에 보곳 싶다면 책을 활용하는 것도 좋을듯...
  • AseParserByJhs . . . . 5 matches
          // 원래 STL 리스트로 전체 노드를 관리했는데 지금은 사용안함. 전체 노드 리스트는 이 모듈의 cpp 파일에 전역으로 선언.
          static void ModelAlloc (CHS_GObject* pO); // 쓰이지 않음. j_ase 모듈에 있는 aseAllocate2CHS_Model을 사용
          // 일반적인 ascii export plug in을 사용했을 경우
          aseGetTextureName (s, p); //모델t 구조체에 들어가는 텍스쳐 네임은 사용x
          //textureLink 에 들거나는 네임 사용
  • AttachmentMacro . . . . 5 matches
         == 간단한 사용법 ==
         /!\ Attachment는 매크로로 구현되어 있으므로 {{{[[Attachment(hello.png)]]}}}라고 해도 똑같은 방식으로 작동을 합니다. 그러나 '''attachment:'''법을 쓰시기 바랍니다.
         /!\ 1.1.3에서 제대로 안됩니다. 버전 1.1.3.1을 받아서 사용하시기 바랍니다.
         == GUI를 사용하는 경우 ==
         모니위키 1.1.3부터 제대로 지원하게 된 WikiWyg GUI를 사용하면 좀 더 쉽게 파일을 업로드 하실 수 있습니다.
  • AutomatedJudgeScript/문보창 . . . . 5 matches
         단순한 자열 비교제라는 생각이 들었다. Presentation Error와 Accepted 를 어떻게 하면 쉽게 구별할 수 있을지를 고민하다 입력받을때부터 숫자를 따로 입력받는 배열을 만들어 주는 방법을 이용하였다.
          char reply[MAX*MAX]; // 사용자 출력
         [AutomatedJudgeScript] [보창]
  • BasicJAVA2005/실습1 . . . . 5 matches
          * 숫자 야구 만들기
          - 3개의 숫자를 입력받아 자리와 숫자가 맞으면 스트라이크, 자리는 틀리지만 숫자가 맞으면 볼을 출력하고 3개의 숫자가 맞으면(3스트라이크) 종료하는 프로그램
  • Basic알고리즘/RSA알고리즘 . . . . 5 matches
         제1 : 만약 p,q가 각각 3과 11일 때, 퍼블릭키와 프라이빗키를 만들어라.
         제2 : 만약 퍼블릭키인 (n, e)이고, 프라이빗키는 (n, d) 이라면, (제1 의 퍼블릭키,프라이빗키)
         보내는 사람이 어떤 숫자를 퍼블릭키로 암호화 해서 13이라는 숫자가 나왔다면,
  • Beginning_XML . . . . 5 matches
         *1 XML 법, 컴팩트 사용
         == 패턴과 법 결합 및 재사용 ==
  • BoaConstructor . . . . 5 matches
         오픈소스 wxPython GUI Builder. 처음에 메뉴가 이것저것 많아 정신없는게 제지만, Tutorial 을 보고 따라하다보면 대강 이해갈것이다.
          1. 한글 패치 필요 - 이건 Scintilla 의 제일듯.
         GUI 플밍은 다시금 느끼지만, RAD 툴 없으면 노가다가 너무 많다. -_-; 차라리 GUI 코드는 더럽게 놔두고 툴로만 다루고, 코드상에서는 가능한 한 GUI 부분 객체와는 interface 로만 대화하는 것이 좋겠다. 어디선가 본 것 같다. Code Generator 로 작성된 코드는 가능한한 건드리지 말라는..~ (Abstraction 이 제너레이팅 툴에서 이루어지기 때일 것 같다.)
          4. 재사용될 것 같은 모듈들에 대해 UnitTest 를 붙여나간다. 추후 추출용.
          5. 정식 버전은 TDD 로 다시 DoItAgainToLearn. WingIDE + VIM 사용. (BRM 을 VIM 에 붙여놓다보니. 그리고 WingIDE 의 경우 Python IDE 중 Intelli Sense 기능이 가장 잘 구현되어있다.)
  • C++스터디_2005여름 . . . . 5 matches
         보창 허아영 한유선 이규완 정수민 남도연
          물론 C 랑 C++을 섞어 쓰는것도 괜찮지만, C++을 배우면 C++을 법을...@,.@ - 상섭
          ㅋㅋ 좋긴하지만 내용을 참 많이 다루는데 {{{~cpp -------------}}} 요게 제임 ㅋ - [eternalbleu]
          내용을 많이 다루는 게 왜 제지? -[fnwinter]
          아~ 지루한게 제다!...음...잼있게 하면 되재~ -[fnwinter]
  • C++스터디_2005여름/도서관리프로그램 . . . . 5 matches
         도서관리프로그램에 책을 등록할 수 있다. - 이 때, 책 이름, 저자, ISBN을 사용자로부터 입력을 받아 새로 구입한 책의 정보를 입력하게 한다.
         책을 대여할 수 있다. - 사용자가 책 이름 또는 ISBN 을 입력하면 책을 대여해 준다.
         책을 반납할 수 있다. - 사용자가 책 이름 또는 ISBN 을 입력하면 책을 반납하게 한다.
         || 보창 || [C++스터디_2005여름/도서관리프로그램/보창] ||
  • CVS . . . . 5 matches
         === 가장 쉬운 한글 서들 ===
         === 영 튜토리얼 ===
         || ["CVS/길동씨의CVS사용기ForLocal"] || WinCVS 설치 전제, CVS를 처음 접하는 사람이라면, Local을 이용해서 감을 잡으세요. ||
         || ["CVS/길동씨의CVS사용기ForRemote"] || WinCVS 설치 전제 ZeroPage CVS를 ||
          * 원인: 어떠한 이유에 의해, cvs를 실행하는 환경이 cvs 사용자와 다를 경우 혹은 권한이 없을 경우 발생한다.
  • CVS/길동씨의CVS사용기ForRemote . . . . 5 matches
         원하는 디렉토리에서 배치 파일을 실행해서 cvs가 실행되는지 확인하고 로그인을 한다. (서의 작성자는 자신이 알고 있는 서버를 이용하였으니 개의치 마세요.)
         (이서를 여러분께서 실행하신다면, 중복될지 모르니, 충돌나면 다른 프로젝트 이름으로 만들어 보세요.)
          도움말 : 지정하는 프로젝트(모듈) 전체를 받아 온다. local에 처음 프로젝트를 받아 올때 사용한다.
          * 서에서는 굉장히 기초적인 부분만을 다루었습니다. WinCVS는 gui라 자로 설명이 부족해서 하지 않았지만, 시간이 나시면 둘러 보는 것을 추천해 드립니다.
  • CarmichaelNumbers . . . . 5 matches
         [http://acm.uva.es/p/v100/10006.html 원보기]
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         || [보창] || C++ || 3h 30m || [CarmichaelNumbers/보창] ||
         [제분류] [AOI]
  • CauGlobal . . . . 5 matches
         CAU '세계화체험단'
         이선우, 임구근, 박종필, 나휘동이 팀이 되어 중앙대학교에서 주최한 CAU '세계화체험단' 중 정보통신분야에 선정되었습니다. 이들은 2005년 여름 방학기간동안 실리콘밸리의 IT 화 체험을 주제로하여, 2~3주간의 일정으로 다녀왔습니다. 방하려고 예정했던 곳은 Yahoo!와 같은 글로벌 기업등과 Stanford, UC Berkeley 같은 대학, 실리콘 밸리 주변 도시였습니다. 하지만 실제로 글로벌 기업을 찾아가보지는 못했고 인텔에서 근무하시는 분을 인터뷰하고 돌아왔습니다.
          샌프란시스코에 계시는 중대 동이 계시면 정말 좋겠습니다.!! --[Passion]
  • CauGlobal/ToDo . . . . 5 matches
          * 스탠포드 다니는 사촌형 지인 메일 주소 받고 질 보내기
          * 스탠포드 다니는 사촌형 지인 메일 주소 받고 질 보내기
          ① 2005학년도 「CAU 세계화체험단」 지원 계획서 1부(다운로드)
          ② 2005학년도 「CAU 세계화체험단」 개인 지원서 1부(다운로드)
          ※ 한글2002이상 버전으로 저장하여 파일 및 서로 제출
  • ClearType . . . . 5 matches
         그림을 보면 잘 이해할 듯. 4번째의 경우가 클리어 타입이 사용하는 방식이다.
          * 영은 거의 완벽하게 구현이 되었으나 한글은 한 글자의 선 밀도가 영보다 높아 구현에 어려움을 겪고있다.
          * 특허제로 Adove, Linux, Apple 들이 각 다른 방식의 벡터 드로잉 방법을 가지고 있다고 한다.
         확실히 영은 훨씬 더 잘보인다. - [이승한]
  • CollectiveOwnership . . . . 5 matches
         만약 누군가가 클래스의 인터페이스를 변경했으면 변경된 클래스를 사용하는 모든 클라이언트 코드에서 오류가 발생할 것이다. 그렇게되면 클래스를 변경한 사람이 모든 오류를 수정해야만 하는가, 아니면 먼저(컴파일 시간에 오류가 발생할꺼 같은데) 발견한 사람이 수정해야 하는가?
         특히 이미 많이 코드가 작성된 시점에서 클래스의 인터페이스를 변경하는 것은 너무 많은 코드를 바꿔야하기 때에 걱정(귀찮음?)이 앞설 수 있다.
         Wiki:RefactorLowHangingFruit . 고쳐야 할 것이 많다면 오히려 조금씩 고치도록 한다(그리고 고치는 작업을 엔지니어링 태스크로 혹은 유저 스토리로 명시화해서 관리한다). 고치는 중에, 5분 정도의 단위로 테스트를 해봐서 하나도 제가 없도록 고쳐 나가야 한다. 섬과 육지를 연결하는 다리가 있을 때, 이걸 새 다리로 교체하려면 헌 다리를 부수고 새 다리를 만드는 것이 아니고, 새 다리를 만든 다음 헌 다리를 부수어야 하는 것이다. {{{~cpp formatText(String data)}}}을 {{{~cpp formatText(String data,boolean shouldBeVeryFancy)}}}로 바꾸어야 한다면, {{{~cpp fancibleFormatText}}}를 만들고, 기존의 {{{~cpp formatText}}}를 호출하는 곳을 {{{~cpp fancibleFormatText(data,false)}}}로 하나씩 바꿔나가면서 계속 테스트를 돌려보면 된다. 이게 완전히 다 되었다고 생각이 들면 {{{~cpp formatText}}} 정의를 지워본다. 제가 없으면 {{{~cpp fancibleFormatText}}}를 {{{~cpp formatText}}}로 rename method 리팩토링을 해준다. 하지만 만약 이 작업이 너무 단순 반복적인 경우에, 충분히 용기가 생기고, 또 확신이 들면 이 작업을 자동화할 수 있다(OAOO). 예컨대 IDE에서 지원하는 자동 리팩토링을 사용하거나, 정규식을 통한 바꾸기(replace) 기능을 쓰거나, 해당 언어 파서를 이용하는 간단한 스크립트를 작성해서 쓰는 방법 등이 있다. 이렇게 큰 걸음을 디디는 경우에는 자동화 테스트가 필수적이다.
  • CommentEachOther . . . . 5 matches
         전에도 느꼈었고, 여러 대가들께서도 자주 말씀하시곤 하는데, 자신의 코드의 퀄리티를 높이려면 남이 만들어놓은 소스를 보라는 이야기가 있다. 이 글을 읽는 분들도 동의하리라 생각한다. CommentEachOther 는 [AOI]나 LittleAOI 처럼 여러 사람이 한 제에 대한 풀이를 올리고 그것들에 대한 코멘트를 하는 스터디라 할 수 있겠다. 여기서 코멘트라 함은 소스코드에서 명령 옆에 붙이는 간단한 부연설명이 될 수도 있겠고, 코드 전체에 대한 비평이나 느낌일수도 있다. 처음에는 간단한 제로 시작해서 디자인 principle 이 들어가있는 프로그램으로 횟감의 스케일을 키워나가는게 어떨까 생각을 한다. 나는 그냥 제안하는 입장이고, 간혹 간단하게 작성한 소스를 올리는 정도로만 참여하도록 하고, 적극적인 참여를 할 사람들이 생기면 이곳에 제와 자신의 코드를 올리고 토론을 해봤으면 좋겠다. 토론의 방법이야 오프라인 모임에서 하거나 따로 코멘트 페이지를 만들거나. 자. 다들 어떻게 생각하시는지? 참여할분들(!) 계시면 아래에 참여자 목록과 제를 업로드해 주셨으면.~ - 임인택
  • ContestScoreBoard/차영권 . . . . 5 matches
         푼 제수와 Time 패널티가 모두 같은 때에는 팀 번호가 작은 순으로 출력해야된다.
         #define nProblem 9 // 제 번호
          int solvedProblem; // 푼 제의 수
          bestTeam = i; // 푼 제수가 가장 많은 팀을 뽑는다
          continue;
  • Curl . . . . 5 matches
         한편, Web 어플리케이션의 과제가 표면화하고 있습니다. 처리가 서버에 너무 집중된다는 것이 가장 큰 제점으로 거론되고 있습니다. 시스템 관리의 편리성이라는 관점에서 보면「클라이언트 측에는 Web 브라우저만 있으면 된다」라는 것은Web 어플리케이션의 아주 큰 장점입니다만, 그 때에 클라이언트측의 “표현력이 약하고”, “조작하기 어렵고”, “응답 속도가 느리다” 등의 제점이 부각되고 있습니다.
          Ajax프로그래밍을 해본적이 없어서 Gmail에서 관찰한 내용을 기준으로 해보면... 아마도 curl 로 만들어진 빠른 속도의 애플리케이션을 이용해서 좀더 다양한 처리 같은게 가능하지 않을까요? 뭐 그래픽 에디터를 activex를 이용하지 않고도 만들 수 있다던지.. 그리고 네트워크가 disconnect된 상태에서 사용자가 작업한 내용을 보관하고 있다가 connect된 상태로 바뀌면 작업을 처리하는 일같은 것도 가능할 것 같고요.(ajax가 jscript+dhtml을 이용한 기술이라고 아는데 이런것도 가능한지는 모르겠네요.;;) 아무래도 로컬의 runtime위에서 작동을 하는 만큼 유저의 입장에서 좀더 다양한 상용의 용도가 있을 것이라는 생각이드네요. 물론 runtime 이 있기 때에 상업적 표준이 되기전에는 기업용 시장에서만 팔릴 것들에만 쓰일지도 모르겠고요. - [eternalbleu]
  • C언어정복/4월6일 . . . . 5 matches
         1. 제어 (루프) - for
         2. 제어 (분기와 점프) - if, if else, continue, break, switch
         3. 숙제 검사 - 5번 for 하나와 if 하나로 구구단 짜기
  • DataStructure/List . . . . 5 matches
         struct Node // 제가 c법을 잘 모릅니다.. 책에서는 typedef인가? 이상한걸 쓰더군요.
         c 법으로 하면.
          * 리스트를 사용하는 간단한 예
          * Single Linked List에서는 한 쪽으로만 이동이 가능하기 때에 멀리 있는 노드를 찾아가는데에 시간이 좀 오래걸린다.
          * Double Linked List를 사용한 간단한 예(3개의 노드를 예로 듬)
  • DesignPatternsAsAPathToConceptualIntegrity . . . . 5 matches
         원 : http://www.utdallas.edu/~chung/patterns/conceptual_integrity.doc
         디자인패턴의 조직에 대한 우리의 토론중 디자인 패턴의 '자연적인 생성' 을 정의하기 어렵다는 의견이 있었다.만일 우리가 어떻게 디자인 프로세스에서 디자인 패턴들이 이용되는지 이해한다면, 그리고 패턴들의 조직화가 멀리 숨어있지 않다면, 이는 정의를 위한 좋은 프로퍼티가 될 것이다. 크리스토퍼 알렉산더(Alexander) 는 디자인 패턴의 자연적 생성은 이득이 되는 요소중 하나임을 강조했다. 소프트웨어의 관점의 업무 내에서 자연적인 생성은 실패한것 처럼 보이며, 디자인 패턴을 이용하는 더 일반적인 접근 방법은 다음과 같은 식으로 묘사된다. "xyz 제에 대해 직면하게 되었을때.. 해결책은.." 혹자는 소프트웨어계에서 더 디자인패턴의 편의주의적인 적용은 디자인패턴의 생성적인 이용보다 유용하다고 말할지도 모른다.
         This is what Brooks wrote 25 years ago. "… Conceptual integrity is the most important consideration in system design."[Brooks 86] He continues: “The dilemma is a cruel one. For efficiency and conceptual integrity, one prefers a few good minds doing design and construction. Yet for large systems one wants a way to bring considerable manpower to bear, so that the product can make a timely appearance. How can these two needs be reconciled?”
         OOSE 의 Booch 는 system modularization principle 을 제공하기 위해 전가 디자이너와 경험에 매우 의존적이다.
         자, 이전 ConceptualIntegrity 에 대한 토론과 함께 우리는 토론을 위한 질들을 제안할 수 있다.
  • DevOn . . . . 5 matches
          * [정진경] - 앞 부분 못 들음. 연사는 팀 내 코드 리뷰는 화이고, 팀 내 공감대가 없으면 효과가 없다는 것을 강조함. 코드 리뷰가 잘 안 되고 있는 사례로 '패치 몰아서 리뷰 요청하기'가 있는데 내가 그러고 있어서 반성하고 있음.
          * [정진경] - [파이어버그]의 기능들이 [파이어폭스]에 점점 합쳐지면서, 해당 기술들을 쓰는 것을 보여줬는데, [WebKit] 기반의 브라우저, 특히 [구글 크롬]과 크게 차별화된 점은 보지 못했다. 어느 정도 디테일한 부분에서 다른 점들이 있는 것 같은데, 눈으로 봐서는 잘 기억나지 않는다. 내가 크롬 도구를 전적으로 써본 게 아니라서 파이어폭스의 디버거가 어떤 점이 더 우수한지는 잘 모르겠다. 기능 면에서는 부족하지 않은 것 같다.
          * [정진경] - 이 세션 때에 데브온에 왔지만 연사의 불참으로 취소.
          * 퀴즈 맞추면 머그컵 준다길래 눈으로 풀고 답 맞추기. 1번 제인 ANSI의 뜻이 뭔가가 가장 어려웠음. -[김태진]
         === 개발자 전성을 높히기 ===
  • ErdosNumbers/문보창 . . . . 5 matches
          continue;
          bool iscontinue = true;
          while (iscontinue)
          iscontinue = false;
          iscontinue = true;
  • EuclidProblem/문보창 . . . . 5 matches
         예전에 정수론 책에서 본 유클리드 알고리즘의 응용제이다. AX + BY = GCD 에서 gcd와 x, y 구하는 법을 [보창]페이지에 원래 가지고 있었기 때에 단순한 copy&paste로 제를 풀 수 있었다.
         [EuclidProblem] [AOI] [보창]
  • Fmt/문보창 . . . . 5 matches
         뭐가 잘못됐는지 모르겠다.!!!!!!!!!!!! 제도 애매하고, 원 ㅡㅡ;
          continue;
          continue;
          continue;
          continue;
  • FreeMind . . . . 5 matches
         인터페이스가 매우 간단해서 사용방법을 익히는 과정 필요없다. 설치 즉시 마인드 맵을 작성 할 수 있다.
         이제 많은 사람들이 이것을 알고 많이 사용하죠. 적극적으로 사용 하는 사람들은 거의 없지만...
         장으로 부터 클래스를 추출해 낼 때 유용하게 사용 할 수 있을듯 하다.
  • GofStructureDiagramConsideredHarmful . . . . 5 matches
          * 원 : http://www.industriallogic.com/pulse/20001001.html
         하지만, Pattern에 대한 경험이 부족한 학생들이나 사용자들은 이 사실을 모르고 있다. 그들은 Pattern에 대한 저술들을 너무 빨리 읽는다. 단지 한 개의 Diagram만을 이해하는 것으로 Pattern을 이해했다고 착각하는 경우도 잦다. 이게 바로 필자가 생각하기에는 독자들에게 해로워보이는 GoF 방식의 단점이다.
         GoF 책의 각 Pattern 마다 첨부되어 있는 구현에 대한 매우 중요하고 민감한 해설들은 어떠한가? 이 해설들을 통해서 Pattern이 여러 방법으로 구현될 수 있다는 사실을 알 수는 없을까? 알 수 없을 것이다. 왜냐하면 많은 독자들이 아예 구현에 대한 해설 부분을 읽지도 않고 넘어가기 때이다. 그들은 보통 간략하고 훌륭하게 그려진 Structure diagram을 더 선호하는데, 그 이유는 보통 Diagram에 대한 내용이 세 페이지 정도 분량 밖에 되지 않을 뿐더러 이것을 이해하기 위해 많은 시간동안 고민을 할 필요도 없기 때이다.
         학, 더 넓혀서 살아감에 있어 하나의 사실이나 의견을 접할때, 절대적이란 것은 "명제" 나 "진리" 같은 것 외에는 없음을 생각해보면 답을 찾는데 도움이 될 것 입니다. 다만, 눈에 보이는 형태에서는 이를 금방 인지하기 쉬우나, 눈에 보이지 않는 형태이거나(예를들면 지식), 습관적으로 믿을만하다고 생각되는 매체에서 얻은 정보나 이야기에 대해 "경계의 레이더"를 꺼놓거나 미처 알아차릴 경황이 없게 되는 경우를 조심하면 되겠죠.
  • HardcoreCppStudy/첫숙제/Overloading/변준원 . . . . 5 matches
         C++의 새로운 특징 중 하나인 디폴트 전달인자를 살펴보자. 디폴트 전달인자는 함수의 호출에서 대응되는 실제 매개변수를 빠뜨렸을 때 자동적으로 사용되는 값이다.
         전달인자 리스트를 가지고 함수를 사용할 때에는 디폴트 전달인자를 오른쪽에서 왼쪽의 순서로 첨가해야 한다. 즉, 어떤 전달인자의 값을 내정하려면 그 전달인자보다 오른쪽에 있는 모든 전달인자를 디폴트 전달인자로 해야 한다.
         beeps = harpo(8,7,6); //디폴트 전달인자를 사용하지 않음
         8.7 참고-디폴트 전달인자를 가진 자열 함수
         다음은 함수의 다형성에 대하여 알아보자. 디폴트 전달인자는 개수를 변화시켜 가면서 같은 함수를 호출하게 했다. 함수의 다형성은 함수의 재정의라고도 하는데, 이는 여러 개의 함수가 같은 이름을 사용할 수 있게 해준다. ‘다형성’이라는 표현은 많은 형태를 가질 수 있게 해 준다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/김아영 . . . . 5 matches
         - 인수로 사용되는 수식이 평가된다.
         - 변수 자체의 값을 전달하는 것이 아니라 인수로 사용되는 변수에 대한 포인터를 전달하는 것이다.
         - 함수내에서 인수로 사용되는 변수의 값을 변경할 수 있다. (특정 상황에 따라)
         - 함수내에서 전달된 변수를 사용하기 위해서 간접(indirection) 연산자를 사용해야 한다.
  • HelpOnProcessingInstructions . . . . 5 matches
         모니위키 페이지를 처리할 때에 프로세싱 인스트럭션 (PI)에 의해 그 기능이 제어될 수 있습니다. 프로세싱 인스트럭션은 페이지의 맨 상단에 위치하며, "{{{#}}}" 자로 시작하는 키워드(대소자 구분없음)로 구성되며 인자가 선택적으로 붙을 수 있습니다. {{{##}}} 두개가 시작되는 줄은 주석줄로 처리됩니다.
          * '''markdown''' : markdown 법을 지원합니다. 모니위키 1.1.3 이후
          * '''textile''' : textile 법을 지원합니다. 모니위키 1.1.3 이후
         모든 PI는 페이지의 맨 상단에 위치해야 합니다. 특별히 {{{#redirect}}}는 가장 맨 윗줄에 위치해야 합니다. 주석임을 나타내는 {{{##}}}만은 페이지 어느곳에나 쓸 수 있습니다만, 중간에 쓰는 경우에는 `wiki` 포매팅 서일 경우에만 {{{##}}}가 주석으로 인식됩니다.
  • HotterColder . . . . 5 matches
         [http://online-judge.uva.es/p/v100/10084.html 원보기]
         최대 50줄까지 입력될 수 있으며, 각 줄마다 (x, y) 좌표를 나타내는 숫자 한 쌍과 "Hotter", "Colder", "Same" 중 한 가지가 입력된다. 숫자 한 쌍은 방 안에서의 위치를 나타내는데, 방은 (0,0)과 (10,10) 두 점에 의해 만들어지는 정사각형 모양이라고 가정하자.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • HowBigIsIt? . . . . 5 matches
         [http://online-judge.uva.es/p/v100/10012.html 원보기]
         === 이 제는 ===
         각 테스트 케이스에 대해 원들을 모두 포장할 수 있는 가장 작은 직사각형 상자의 크기를 출력한다. 각 케이스에 대한 결과가 서로 다른 줄에 출력되어야 하며, 소수점 아래로 셋째 자리까지 출력한다. 숫자가 1보다 작지 않은 경우에는 앞에 불필요한 0을 덧붙이지 않는다(1 미만인 경우에는 0.543 같은 식으로 앞에 0을 하나 붙여준다).
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • HowManyFibs? . . . . 5 matches
         [http://online-judge.uva.es/p/v101/10183.html 원보기]
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 2h || [HowManyFibs?/보창] ||
         [제분류] [AOI]
  • HowManyFibs?/1002 . . . . 5 matches
         근데, a,b=(1,10^100) 로 해도 1초도 안걸린다. 처음에는 'big integer 를 만들어라!' 라는 제가 아니라고 생각했는데, 풀고 나니 뭔가 허탈함. 글쌔. 출제자가 원한 답은 big integer emulation 이였을까. 흑..
         피보나치 수가 굉장히 크게 늘어나는 수라는 점을 생각했더라면, input space 가 크더라도 fibo(n) 의 n 값이 커지지 않을 것이라는 것을 미리 알고 있었더라면 저런 고민을 안했을 것 같긴 하다. 하지만, 이러한 사전지식이 없는 가운데, 제를 풀라고 한다면 어떻게 접근하는게 가장 좋았었을까. 고민된다.
          * 그럼에도 불구하고.. '정말 big integer 만들기' 제였을까? 다시금 고민하게 되다.
          * 구간 계산과 관련, 'a 와 가장 가까운 fibonacci 값을 구하기' 는 반복 돌리기 & if 로 비교 말고 다른 방법이 없을까?
          * bigint 를 지원하는 python 이나 matlab 같은 언어에서는 더 할일이 없는 제. 내가 공식 궁리하는 동안 옆의 분이 matlab 으로 10분만에 풀어버리다. 흑.
  • HowManyPiecesOfLand? . . . . 5 matches
         [http://online-judge.uva.es/p/v102/10213.html 원보기]
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 7시간 || [HowManyPiecesOfLand?/보창] ||
         [제분류] [경시대회준비반]
  • IsThisIntegration? . . . . 5 matches
         [http://online-judge.uva.es/p/v102/10209.html 원보기]
         === 이 제는 ===
         입력 파일의 각 줄마다 정사각형의 한 변 길이 a(0≤a≤10,000.0)를 나타내는 부동소수점수가 입력된다. 파일 종료 자가 입력되면 입력이 끝난다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • JavaScript/2011년스터디/URLHunter . . . . 5 matches
          continuePrint();
          function continuePrint()
          continuePrint();
          continuePrint();
          continuePrint();
  • JollyJumpers/문보창 . . . . 5 matches
         inline void eatline() { while(cin.get() != '\n') continue; };
          bool bitJolly[MAX]; // bitJolly[0]은 사용하지 않는다.
          int ftemp, ltemp; // 앞숫자, 뒷숫자
         [JollyJumpers] [보창]
  • JustDoIt . . . . 5 matches
         일단은 사뿐하게 경진대회 제부터 풀어보아요~~ 저희만 활동이 없는 듯 -_-;;; 거시기하고도 거시기한 -홍선-
         B번제 어떻게 풀어요?? [3rdPCinCAUCSE/ProblemB] -홍선-
         제가 좀 어려운 것 같아 쉬운 제도 올리도록 하겠습니다 -[iruril]
          DeleteMe 저는 저의 발언 때에 지운줄 알고, 미안한 생각을 하고 있었습니다. --NeoCoin
  • LC-Display/문보창 . . . . 5 matches
         쉽게 생각하고, 구상을 하지 않고 바로 코딩을 한 후유증을 여실히 보여준다. 수행시간이나 메모리사용이 만족스럽지 못하고, 코드또한 가독성이 떨어진다. 추후 리펙토링이 필요하다.
         struct Digit // 숫자
          Digit digits[MAX_LINE]; // 입력받을 Analoge 숫자
          char display[MAX_ROW][MAX_COL]; // display에 담길 Digital 숫자
         [LC-Display] [보창]
  • LUA_4 . . . . 5 matches
         (...) 매개변수를 받으면 arg라는 테이블에 #arg 개 만큼 받을 수 있습니다. 그럼 for 을 돌면서 sum을 계산해서 "sum=" 과 같이 결과를 반환합니다.
         함수는 사용하기에 따라 변형할 수 있는게 많아서 천천히 다양한 방법을 설명하겠습니다. 대신 변수의 범위(scope)에 대해서 간단하게 예제로 살펴 보겠습니다.
         변수 범위는 이 밖에도 다양한 이슈를 만들 수 있습니다. 예를 들면 do ~ end 에서도 local 로 범위를 한정할 수 있고 function 자체도 변수와 같이 범위(scope)를 한정하여 사용할 수 있습니다. 또한 local을 사용하지 않으면 전역 범위 내에서 변수나 함수 자체를 접근/변경할 수 있습니다.
  • LightMoreLight . . . . 5 matches
         [http://online-judge.uva.es/p/v101/10110.html 원보기]
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 2시간 || [LightMoreLight/보창] ||
         [제분류] [AOI]
  • LogicCircuitClass/Exam2006_1 . . . . 5 matches
         모든 제는 영어로 출제됨. 풀이를 꼭 써야함. 120점 만점.
          * 2진수, 8진수, 16진수, 10 진수 왔다갔다 하는 제.
          * 식 최소화 하기.(그냥하는 제도 나오고 카르노 맵으로 하는 방법도 나옴)
          * 배점 젤 큰 두 제. 하나는 checksum 제(강의록). 하나는 3bit Full adder 였나..? 암튼 adder 였던거 같은데 기억 안남. 설계해서 회로 그리는거였음. 식 최소하하고.
  • LoveCalculator/zyint . . . . 5 matches
          if(str[i]>=97 && str[i]<=122) // 소자 a~z일경우
          if(c>=97 && c<=122) // 소자 a~z일경우
          알파벳에서 숫자가 아닌 자(alpha = alpha - 'a' +1)로 처리 하였다면 가독성이 좋아지지 않았을까? 그런데, 이건 내 취향일 수도 있지만,.. class로 함수들을 묶어 외부 접근을 못하게 했으면 나중에 소스코드를 재사용하기 훨씬 쉬워졌을텐데. 함수 분류는 현태 말대로 좋은거 같네. (그리고 upper함수는 toupper라고 이미 구현되어 있어.) - 이영호
  • MFC/DynamicLinkLibrary . . . . 5 matches
         종전의 방식처럼 정적으로 링크를 하게되면 윈도우 프로그램의 특성상 굉장히 메모리를 많이 차지하는 프로그램이 동시에 실행이 되면서 쓸데없이 동일한 코드영역이 중복적으로 메모리 공간안에 차지하게 되는 현상이 발생하였다. 여기서 착안하여 생겨난 것이 DLL이다. 이는 실제 프로그램의 수행부분을 한개로 두고서 여러개의 프로그램에서 그 부분을 공유하여 사용하는 것이다.
          프로그램과 DLL이 메모리 안으로 로드되자마자 사용되는 함수들에 대한 링크가 성립된다.
          프로그램이 먼저실행되데 DLL은 프로그램의 요청이 발생한 시점에서 메모리에 로드된다. 그때가 되서야 프로그램은 DLL로부터 함수의 어드레스를 얻고 그것을 사용해서 함수를 호출한다.
         DLL은 함수에 대한 코드만을 저장는데 국한되는 것이 아니다. 비트맵, 폰트와 같은 리소스들을 DLL 안에 위치시킬 수도 있다. 예를 들자면 카드놀이에 사용되는 Cards.dll 에서 카드들에 대한 비트맵 이미지와 그 것들을 다루는데 필요한 함수들을 포함하고 있다.
          독립적 실행은 불가능하지만 main함수의 변형된 형태를 포함한다. 이 곳에서는 dll이 사용되기 전에 초기화되는 내용들이 포함되게 된다. DLL초기 로드시 운영체제가 호출한다.
  • MedusaCppStudy/석우 . . . . 5 matches
         //가장 큰 숫자 4개표시하기
          cout << "숫자들을 입력하세요: ";
          cout << "자를 입력하세요: ";
          cout << "숫자를 입력하세요: ";
          cout << "어디 한번 장을 입력해보게나(마지막엔 ';'를 입력해야하네) " << endl << ">>";
  • MedusaCppStudy/신애 . . . . 5 matches
          cout << "숫자를 써 넣으시오: ";
          cout << "숫자를 써 넣으시오: ";
          cout << "숫자를 써 넣으시오:";
          cout << "자열을 입력하시오:";
          cout << "숫자를 입력하시오:";
  • NumberBaseballGame/영동 . . . . 5 matches
         //숫자 야구 놀이
          //투수의 숫자 설정
          //타자의 숫자 입력
          cout<<"숫자를 입력해라.\n";
          //투수와 타자의 숫자 비교
  • OurMajorLangIsCAndCPlusPlus/print . . . . 5 matches
         printf, scanf 계열의 함수 사용 금지
         C++ 라이브러리 사용 금지
         출력은 fputchar, fputs 등 사용
         printf와 같이 %d, %s, %f를 통해 정수(int), 자열(char*), 실수(double)를 출력할 수 있다.
         @d(정수 배열), @s(자열 배열), @f(실수 배열)를 통해 배열을 출력할 수 있다.
  • PC실관리 . . . . 5 matches
         이번 피시실 평가제 설 내용이네요.
         아니다. 가끔 햇볕이 좋은 날 창을 열고 에어컨을 OFF 시킨 채 송풍 팬을 2, 3단으로 작동한다. 더해서 매트 밑에 신지를 넣어두면 냄새와 습기 제거에 큰 효과를 볼 수 있다.
          에;; 모르고 계셨구나..;; 저는 임인택선배님께서 말씀드렸을줄 알았는데...에고;; 그날 낮에도 자 보내구.. 저녘때두 전화했는데 안받으시길래 그냥 혼자 했어요..^^; 알고 계실줄 알았는데..
         그런데 자꾸 제가 생기면 아예 디스크 보안관을 설치하는것도..;; -[조현태]
  • PHP . . . . 5 matches
          PHP약어를 풀어쓰면 PHP: Hypertext Preprocessor입니다. 약어의 첫번째 글자가 약어이기 때에 많은 사람에게 혼란을 줍니다. 이와 같은 약어를 재귀적 약어라고 부릅니다. 궁금하신 분은 Free On-Line Dictionary of Computing사이트를 방해보세요.
         = 스터디후 도출된 서 =
          * [ZPBoard/PHPStudy/기본법]
          * [http://blog.dahlia.kr/post/21044381028 언어 커뮤니티의 제]
  • POLY/김태진 . . . . 5 matches
          * DP를 이용한 제.
          * X-1개(제일 위층을 제외하고) + 제일 위층 1개 , X-2개 + 최상층 2개, ... , 1개 + 최상층 X-1개, 최상층 X개 로 쪼갤 수 있다.
          * 이때, 제일 위층을 제외한 것의 제일 위층의 개수가 몇개인지 중요한데, 최상층 개수와 두번째층의 개수에 의해 폴리오미노를 만족하는 경우의 수가 세분화되기 때이다.
          * 여기까지 이해를 했다면 직접 DP 점화식을 만들어보고, 그렇지 않다면 코드를 보고 이해해보려고 노력해보자. 실제로 유의미한 코드는 3번째 for과 점화식 한줄, 총 두줄 뿐이라는 것을 알게 될 것이다.
  • ProjectGaia/계획설계 . . . . 5 matches
          위의 제를 해결하기 위해 Page 구조를 변화시킨 결과 만들어진 모습
          왜냐면,, 비교를 하기위해서 페이지를 적어도 한번은 읽어야 하기 때에..
          정렬된 레코드를 page(4KB) 단위로 입력, page에는 header와 slot이 차지하는 공간을 제외한 크기만큼 레코드를 저장할 수 있다. 레코드를 page에 입력할 때 비신장 가변길이 저장 방법을 사용, 입력될 레코드가 page의 남은 공간보다 클 경우 다음 page에 입력된다.
          "교체 시 공간 부족 제에 대한 논의가 필요함"
  • ProjectPrometheus/CookBook . . . . 5 matches
         === Python 에서의 한글 사용 ===
         matcher.group(1); // 사용 (교체하거나 여러가지 할수 있음)
         물리적인 모래시계가 없을 경우 사용할만한 모래시계 소프트웨어
          <init-param user="DB 사용자 ID"/>
          <init-param password="DB 사용자 Password"/>
  • ProjectPrometheus/MappingObjectToRDB . . . . 5 matches
         참조 서 : http://martinfowler.com/isa/OR-mapping.html
          사용자 데이터
          * 패턴의 오/남용 제가 발생할 수 있다. - 어설프게 아는것은 모르느니만 못한 경우가 있다. 그리고 제대로 안다고 해서 "많이" 하는 것은 정말 잘 아는게 아닐 수 있다.
          단, 이 논을 보면 약간은 의이 드는게
  • Python/DataBase . . . . 5 matches
         == 사용법 ==
          * 아래 소스는 파이썬 DB API Spec 2.0 에 있는 것들을 사용해서 작성함(즉 다른 모듈에서도 동일하게 사용가능)
         unix_socket - TCP를 사용할 unix소켓의 위치
         client_flag - integer, 필요할 경우 사용하기 위한 flag (0)
  • RandomWalk/임인택 . . . . 5 matches
          continue;
          continue;
          continue;
         === 소스 2 : 1에 [STL]을 사용하고 약간의 [Refactoring] ===
          continue;
  • Randomwalk/조동영 . . . . 5 matches
          // 바퀴벌레를 생성하는 do ~ while
          // 바퀴벌레를 이동시키고 모두 이동하면 종료하는 while
          continue;
         2차원 동적 배열할때 벡터를 사용해도 좋음. [RandomWalk2/Vector로2차원동적배열만들기] 자료구조 숙제는 [STL]을 사용하면 더 편하게 할수 있는거 같다. - [상협]
  • RedundantArrayOfInexpensiveDisks . . . . 5 matches
         stripe 라고도 하며, 저가형 RAID 카드에서 주로 지원하는 방식이다. 하드 디스크의 속도를 향상시킬 목적이라면 이것이 최적이다. 병렬로 하드 디스크들을 묶어서, 데이터를 읽거나 쓸때 병렬로 기록하고, 병렬로 읽어오는 방식이다. 이론상으로는 n 개의 하드디스크를 stripe 로 묶었을때 n 배의 성능 향상이 있게 된다. 묶인 하드 디스크들이 하나의 논리적인 드라이브를 구성하는 방식이며, 이것이 하드웨어 레벨에서 지원되기때에 OS 에서는 완벽하게 하나의 하드디스크로 동작한다. 단점으로는, 하나의 하드 디스크에 결함이 생겼을때, 논리적으로 하나인 드라이브이므로, 같이 사망 되겠다.
         shadowing 혹은 mirroring 이라고 부르며, 단어 그 자체 대로, 여러개의 디스크에 완벽하게 동일한 자료를 저장한다. 물론 읽어오는 작업을 할 때에는 병렬로 읽어올 수 있기때에 성능향상이 있지만, 쓰기작업을 수행할때는 하나의 디스크를 사용하는 것과 차이가 없다. 조금 무식한 방법이지만 자료의 무결성을 보장하려고 할때 가장 확실한 방법이기도 하다.
         기본적으로 RAID 5 와 비슷한 구성이다. 2-dimentional array 로 디스크들을 구성하며, 각각의 row 와 column 에 패리티를 사용하여 두개까지의 디스크가 동시에 제를 일으키더라도 정상 동작을 가능하게 한다. 1987년에 제정된 최초의 RAID 표준으로부터 처음 나온 추가 레벨이다.
  • RefactoringDiscussion . . . . 5 matches
         Refactoring 과 관련된 토론, 질/답변의 장으로 활용한다.
         앞 글은 질이라기보다는 지적과 비판인 듯 합니다.
         리팩토링은 코드의 외부적 행동을 바꾸지 않으면서 내부적 구조를 변환하는 것을 말합니다. 여기서 핵심은 "외부적 행동"에 있습니다. 저는 이 "외부적 행동"을 "의미있는/의도하는 외부적 행동"으로 봅니다 -- 어차피 우리에겐 코드 자체가 궁극이 아니고 그 코드가 현실에 드러내는 "시스템"이 궁극이기 때에.
         하지만 이런 논의를 떠나서 도대체 왜 리팩토링을 하는가 생각해볼 필요가 있겠습니다. 우리는 리팩토링을 "리팩토링이라는 것이 옳다 그르다"를 따지기 위해 사용하는 것이 아니고, 우리의 프로그래밍에 도움이 되기 위해 사용합니다.
  • RoboCode . . . . 5 matches
         각 로보코드 참가자는 자바 언어의 요소를 사용하여 자신의 로봇을 만들면서 자바가 갖고 있는 상속성, 다형성, 이벤트 처리 및 내부 클래스 다루는 방법을 배우게 됩니다
         로보코드는 초보자들이 자바에 쉽게 접근할 수 있도록 도와주며, 전가들은 이를 이용하여 다른 개발자들과 실력을 견주면서 자신의 프로그래밍 스킬을 향상시킬 수 있도록 합니다.
         시간 제한 안에 로봇을 만들어내라고 했더니 아무것도 못 하는 사람도 있었다. 많은 명령어 가운데 어느 것을 사용해야 할 지 감을 못잡아서 그럴 것이란 생각이 들었다. 처음 로보코드를 접하는 사람들에게는 간단한 규칙을 정해놓고 연습해보는 시간을 가져보는 것이 어떨까? 이를테면 명령어 몇 가지만을 사용한다든지, 총 명령 개수를 제한한다든지 하는 규칙이 있겠다. --[Leonardong]
         ["도구분류"], ["제분류"]
  • Ruby/2011년스터디/김수경 . . . . 5 matches
          * ZeroPage에서 사용할 수 있는 대화방을 Ruby로 구현한다.
          * 여러 단계가 연결되는
          * 진행자에게 질하기
          * 질박스 : 진행자에게는 질 기능을 통해 작성된 메세지를 모아놓음
  • STL/list . . . . 5 matches
          cout << "for 에서 반복자 이용 순회" << endl;
          cout << "while 에서 반복자 이용 순회" << endl;
         for 에서 반복자 이용 순회
         while 에서 반복자 이용 순회
         list 의 반복자는 양방향 반복자로서 임의 접근 반복자가 지원하는 연산을 제외한 기타 모든 연산자에 대한 연산을 지원한다.
  • SchemeLanguage . . . . 5 matches
          * http://www.swiss.ai.mit.edu/projects/scheme - MIT Scheme (처음 사용하기에는 매우 어려움)
          * http://www.plt-scheme.org - PLT Scheme (처음 사용자는 PLT Scheme을 적극 권장)
          * http://download.plt-scheme.org/doc - PLT Scheme의 모든 서가 있는 곳
          * http://zeropage.org/pub/language/scheme/schemedoc.pdf - Tutorial 정도로 사용할 만한 자료
          * 위서를 보기위해서는 [http://object.cau.ac.kr/selab/lecture/undergrad/ar500kor.exe AcrobatReader]가 필요하다.
  • ServerBackup . . . . 5 matches
          * {{{/etc/group}}} 에 admin 그룹에 원하는 사용자 추가, {{{/etc/sudoers}}}에서 사용자 제거
          * 제 ~ DNS Server 가 죽었음 (or 잘못 설정되어 있음 165.194.35.222 서버 확인 필요) 그래서 주소 기반으로 외부로 ping을 날릴수 없다.
          * 제 ~ sudo 가 안됨
          * 해결 ~ admin 그룹에 원하는 사용자 추가
  • StarCraft . . . . 5 matches
         == 제를 내는 의도.. ==
         그때의 기억을 되살려 클레스의 기본적이고도 강력한 기능중 하나인 상속성을 쉽게 이해하고 활용할수 있도록 제를 생각해 봤다.
         늘 그렇듯이 대부분의 사람들이 물리적 대상과 객체를 대응하는 고정관념에 빠져있어서 제가 됩니다. 관계, 개념 등도 객체가 될 수 있다는 발상전환을 가능케 해주면 좋겠지요. 처음에 이런 사항만 넌지시 알려주고 디자인 하게 합니다. 그러고 나서, 일단 학생들의 디자인으로 개발한 것을 놓고, 같이 토론해 보고(이 때 선배는 뒤에 물러서 관찰만 함) 다시 한번 새로 디자인하게 합니다. 그리고 이번에는 선배가 디자인한 것을 후배들이 최종적으로 디자인한 것과 동등하게 같이 놓고 토론해 봅니다. 이 때 중요한 것은 선배의 것이 마치 "궁극적 해답"인 마냥 비치지 않도록 주의하는 것이겠죠. (디자인 시에는 KentBeck과 WardCunningham이 최초 교육적 목적에서 개발한 CrcCard를 사용하면 아주 훌륭한 결과를 얻을 것입니다.) --JuNe
         ["제분류"]
  • Steps . . . . 5 matches
         [http://online-judge.uva.es/p/v8/846.html 원보기]
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || C++ || 90분 || [Steps/보창] ||
         [제분류] [경시대회준비반]
  • StepwiseRefinement . . . . 5 matches
         구조적 프로그래밍에서 상위 모듈을 먼저 개발하고 여기서 사용하는 하?모듈들을 개발해 나가는 방법. EdsgerDijkstra와 Niklaus Wirth가 이 방법을 대중화시킨 것으로 유명하다.
         Niklaus Wirth 교수의 ''Program Development by Stepwise Refinement''(1971, CACM 14.4) (http://www.acm.org/classics/dec95/ )와 EdsgerDijkstra의 [http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD227.PDF Stepwise Program Construction]을 꼬오옥 읽어보길 바랍니다. 전산학 역사에 길이 남는 유명한 논들이고, 여기 소개된 SR은 Structured Programming에서 핵심적 역할을 했습니다. 당신은, 이 사람이 사용한 stepwise refinement에 상응하는 어떤 "일반적 제 접근법 및 디자인 방법"을 갖고 있습니까? 이 글을 읽고 다른 제에 stepwise refinement를 적용해 보십시오. Functional Programming이나 OOP에도 적용할 수 있습니까? 이 글을 읽고, 또 스스로 실험을 해보고 무엇을 배웠습니까? 이 stepwise refinement의 단점은 무엇이고, 이를 극복하는 방법은 무엇일까요? --김창준.
  • TAOCP/InformationStructures . . . . 5 matches
         하지만 공간낭비가 무한할 수 있다.( F, R이 계속증가하기 때이다.) 따라서 이런 제(the problem of the queue overrunning memory)를 해결하려면, M개의 노드(X[1]...X[M])가 순환하도록 한다.
         여태까지는 제(더 넣을 공간이 없거나, 더 지울 것이 없는 경우)가 없다고 가정했다. 이 제까지 고려한 과정이 다음과 같다.
         (6a),(7a)에서는 초기 조건이 F = R = 1이다. 만약 F = 0이라면 오버플로우가 생기지 않기 때이다.
  • TCP/IP . . . . 5 matches
         쉽게 말해서 데이터를 파일에 쓰고 읽는 것처럼 소켓을 사용해서 데이터를 쓰고 읽을 수 있단 소리다.
          * Interactive Shell이 지원되는 언어(e.g. Python, Ruby, ...)를 사용하면 TCP/IP의 개념을 아주 빠른 시간 안에 배울 수 있음. (Python은 내부적으로 C 라이브러리를 그대로 사용) 또, 현재 개발된/개발중인 시스템을 테스트 하는 데에도 매우 편리함. 예컨대, 리코에서는 XMLRPC 서버 접속을 파이썬 쉘에서 하고(import xmlrpc 한 다음에...), 거기서 사용자 등록 등의 서비스를 직접 사용하게 한다.
  • Telephone . . . . 5 matches
         미국에서는 이발소 TV 광고의 경우 전화번호와 동시에 'HAIRCUT' 이라는 구를 보여준다. 'HAIRCUT' 은 전화기의 번호의 각 영에 대응되기 때에 전화번호로 번역이 가능하다.
         자 이러한 광고구 글을 해당 전화번호로 번역해주는 프로그램을 만들어보자.!
         ["제분류"]
  • TestDrivenDatabaseDevelopment . . . . 5 matches
         작성하는중에, DB에 직접 접속해서 확인하는 코드가 테스트에 드러났다. (이는 예상한 일이긴 하다. DB 에 비종속적인 interface 를 제외하더라도 DB 쪽 코드를 계속 쌓아가기 위해선 DB 코드를 어느정도 써야 한다.) 처음 DB 에 직접 데이터를 넣을때는 side-effect가 발생하므로, 테스트를 2번씩 돌려줘서 side-effect를 확인을 했다. 점차적으로 initialize 메소드와 destroy 메소드를 만들고 이를 setUp, tearDown 쪽에 넣어줌으로 테스트시의 side-effect를 해결해나갔다.
         결과는 다음의 제가 발생하였다. 바로, interface 에 DB Exception 던진것들이 묻어나는것이다.
         즉, MockRepository 에서는 Exception 을 던질 필요가 없는데, 메소드마다 전부 throw 를 던져줘야 한다. (한편으로는, 다른 언어에서는 상관없는데 Java 에서의 Checked Exception 의 제일런지도 모르겠다.
         만일 MockRepository를 먼저 만든다면? interface 를 추출한 순간에는 제가 없겠지만, 다음에 DBRepository 를 만들때가 제가 된다. interface 의 정의에서는 예외를 던지지 않으므로, interface 를 다시 수정하던지, 아니면 SQL 관련 Exception 을 전부 해당 메소드 안에서 try-catch 로 잡아내야 한다. 즉, Database 에서의 예외처리들에 대해 전부 Repository 안에서 자체해결을 하게끔 강요하는 코드가 나온다.
  • TestDrivenDevelopment . . . . 5 matches
          사람마다 다를것 같긴 하지만, 나의 경우는 테스트를 작성하기 전 TODO List 를 작성할때 가장 고민을 하고 시간이 오래걸린 것 같다. 뭘 만들것인지에 대한 이해가 제대로 되지 않은 상태에서는 도대체 '뭘 해야 할지, 어떤 결과를 기대해야 할지'를 모르기 때. :) 한편, 만일 TODO 리스트 작성시 시간이 너무 지체된다 싶으면 빨리 '어떤 결과를 기대해야 하나(Test 디자인)' 이란 질을 하고 테스트를 작성해보는 방법을 추천. 저 질이 앞에서의 '뭘 할까?'라는 질의 모호함을 보완해주기 때. 무엇을 해야 할지 감이 안올때는 가장 간단한 Input-Output 을 서술해봄으로서 조금씩 구체화시켜나갈 수 있음. '예제에 의한 구체화'란 방법은 참 유용함. --[1002]
  • TheJavaMan/숫자야구 . . . . 5 matches
         === 숫자야구란? ===
          1~9까지 겹치지 않는 숫자를 골라서 사용자가 맞추기
         || 사용자 입력 받기 - 겹치지 않는 숫자 ||. ||. || 끝냄 ||
  • ToastOS . . . . 5 matches
         음..우선 전에 플로피 1번 섹터에서 부트섹트를 읽어 들여 부트 로더를 만든다고 까지 얘기한 것 같다.그럼 커널로더는 무엇일까? 부트 로더가 할 수 없는 기이한 일들을 커널 로더가 한다. 우선 보호모드로들어가는 것과 커널을 실행가능한 상태로 재배치 시키는 일등을 한다. 왜 그런 일을 할까? 부트로더가512kb밖이 되지 않아 그런 일들을 할 수 없기 때이다. 위에 사진에서 보면 퍼런 글씨로 kernel loader라고나오는데 전에 CAU Operating System 어쩌구...가 먼저 나온다..다만 VMWARE를 쓰기때에 그런 글씨가 안나온다. 여하튼 커널 로더가 가지는 의미는 우선 부트로더를 만들기 위해 어쩔수 없이 썼던 짜증나는 어셈을 이제 안써도 된다...ㅋㅋ 사실 어셈은 계속 써야 된다... 다만 이제 어쎔을 주로 쓰지 않고 C에서 인라인 어쎔을 쓸것이다. 이제 Boland C 3.1 버전의 컴파일러로 커널로더와 커널을 제작하게 될 것이다. 그럼 위와 같은 것을 그냥 해주면 되는거 아니냐? 라고 반하는 사람이 있을 것이다.. 그렇다. 그냥 해주면 된다. 우선 컴파일할때 -S라는 옵션을 두어서 어셈블리 소스를 만들고 나서 그리고 그렇게 만들어진소스의 extern들을 링크 시키고 그런 다음 EXE파일을 실행가능한 재배치상태로 만들고 나서 부트로더와 같이뒤집어 씌우면 된다.
         또하나 이제까지 삽질한 이유중하나가 플로피의 속도가 느리기 때에 커널로드를 한번 읽고서는 재대로 실행하지못한다는 것 -> 이것때에 정말 많은 삽질을 하게 되었다.
  • TowerOfCubes . . . . 5 matches
         [http://online-judge.uva.es/p/v100/10051.html 원보기]
         서로 무게가 다른 N개의 색이 칠해진 정육면체가 주어졌다. 각 정육면체의 모든 면은 서로 다른 색으로 칠해져 있다. "무거운 정육면체를 가벼운 정육면체 위에 올려놓지 않는다"라는 첫번째 조건과 "모든 정육면체의 바닥면(맨 밑에 있는 것은 제외)의 색은 그 밑에 있는 정육면체의 윗면의 색과 같아야 한다"라는 두번째 조건이 주어졌을 때, 두 조건을 만족하면서 최대한 높은 탑을 쌓아야 한다.
         우선 각 케이스마다 출력 예에 나와있는 식으로 테스트 케이스 번호를 출력한다. 그 다음 줄에는 가장 높은 탑의 정육면체 개수를 출력한다. 그 다음 줄부터는 탑을 이루는 정육면체를, 맨 위에 있는 정육면체부터 아래로 내려가면서, 한 줄에 하나씩 출력한다. 정육면체를 출력할 때는 입력된 순서를 나타내는 번호를 출력하고 스페이스를 하나 출력한 다음, 어느 방향에 있던 면이 위로 올라가도록 쌓았는지를 나타내는 자열(front, back, left, right, top, bottom, 앞, 뒤, 왼쪽, 오른쪽, 위, 아래를 나타냄)을 출력한다. 답이 여러개 있을 수 있는데, 그 중 아무 답이나 출력해도 된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • UDK/2012년스터디 . . . . 5 matches
          * [http://udn.epicgames.com/Three/UnrealScriptReferenceKR.html 언리얼스크립트 레퍼런스] UnrealScript 사용자용
          * 딱히 특징적으로 주목할만한 컨텐츠가 있는 게임이 아니기 때에, 풍경을 정말 잘 만들어야 할 것 같구요,
          큰 그림을 만들 때 사용할 수 있겠다.
          [http://wiki.zeropage.org/wiki.php/UDK/2012%EB%85%84%EC%8A%A4%ED%84%B0%EB%94%94/%EC%86%8C%EC%8A%A4?action=show#s-3 간단한 "Hello" + "World" 자열 연결 Kismet node 예제]
          좀 더 관심있으면 다음 예제도 도움이 될 듯. [http://udn.epicgames.com/Three/DevelopmentKitGemsConcatenateStringsKismetNodeKR.html Concatenate Strings (자열 연결) 키즈멧 노드 만들기]
  • UseSTL . . . . 5 matches
          * 많은 서를 접하지 않았지만, 이 책은 정석 이라는 느낌을 지울수 없다 --NeoCoin
          * 이전에.. 1부터 10000까지 숫자를 임의로 생성시켜야 하는데 임의적인 숫자가 반복되어서도 안되고, 숫자가 빠져서도 안되게 코딩을 해야 하는 경우가 있었잖아. 그때는 Boolean 10000개로 이미 쓴 숫자인지 테스트 했었던 것 같은데 아래가 정석인 것 같다.
  • UselessTilePackers . . . . 5 matches
         [http://online-judge.uva.es/p/v100/10065.html 원보기]
         Useless Tile Packer라는 회사는 효율에 대한 자부심을 가지고 있다. 이 회사는 다른 회사보다 더 적은 공간을 사용하는 것을 가장 큰 목표로 삼고 있다. 영업부에서는 "useless(쓸모 없는)"라는 단어가 오해를 불러일으킬 수 있다고 생각하여 관리부에 회사 이름을 바꾸자고 여러 번 요청했지만 매번 거절당했다.
         포장해야 할 타일은 모두 두께가 같고, 간단한 다각형 모양으로 생겼다. 각 타일이 담겨있는 용기 모양은 주자가 마음대로 정할 수 있다. 용기 모양은 그 안에 들어갈 타일을 담을 수 있는 가장 작은 형태로 제작된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • Vaccine . . . . 5 matches
         자주 사용하는 백신들. 어떤 백신을 사용하시는지... -_-a
         || 백신 사용 안함 || 1 ||
         도스 시절부터 v3을 사용해왔고 바이러스 검출 능력이 좋고 속도가 빠르다고 생각되어 계속 사용하고 있습니다. 구하기 쉽다는 장점도 있는것 같네요.; -- 재선
  • VendingMachine/세연/1002 . . . . 5 matches
          2. 소위 magic number (ex : 배열의 범위를 설정하는 숫자들) 라 불리는 것들에 대해 - const 변수 선언[[BR]]
         여기서는 저 위의 1-4번 원칙만 생각해 보겠습니다. 일단 이 코드가 제대로 돌아간다는 가정하에서 수정합니다. (제는 제대로 고쳐졌는지 확인할 길이 적다는. -_-;)
         이 일부터 시작, 더 극단적인 예를 든다면 다음과 같이도 할 수 있지만, 꼭 할 필요는 없습니다. (그대신 시도해보면 재미있습니다) 일단 넓게 넓게 보는 것이 더 좋기 때에.
         이 부분에 대해서 이미 일반화 공식을 만들었음에도 불구하고 불필요한 switch & case 이 있습니다. 이 부분에 대해서는 많은 코드를 줄일 수 있겠습니다.
         이쯤에서 제점 - vending_machine 이 완전히 God 클래스입니다. 완전히 이 프로그램 자체가 vending_machine 객체와 동급이 되어버리죠.
  • ViImproved . . . . 5 matches
         사실 다들 오해하고 있는 것 중의 한가지로는 vim은 불편하다는 것이다. 최근의 vim은 플러그인을 통해 여러가지 기능을 지원하며 그 중에는 단어 자동완성을 물론 맥 자동완성뿐만 아니라 대부분 언어에 대한 syntax highlight를 지원한다. 요즘에는 흔히 볼수있는 탭기능도 지원하기 시작한지 오래되었으며 좌측에 파일 트리를 띄워두고 작업할수도 있다. 또한 .vimrc파일을 통한 강력한 커스텀마이징이 가능하며 이를 이용하여 이클립스를 능가하는 편의성을 지니기도 한다.
         == 사용법 ==
         [[/사용법]] 참조
          * vimrc 을 직접 건들여 수정하기 힘든 사람들에게 꼭 추천하고 싶은 사이트 [[https://vim-bootstrap.com]] - 사용법은 직접 검색바람 - makerdark98
          * [[http://kldp.org/node/125263|vim 사용자를 위한 플러그인 매니저 vundle 을 소개 합니다. - KLDP]]
  • VisualStuioDotNetHotKey . . . . 5 matches
         잘 살펴보면 6.0의 단축키로 사용할수 있는 옵션도 있다.
          이런것도 있다. 도구모음에 오른쪽클릭 -> 사용자 지정 -> 옵션 -> 스크린 팁에 바로가기 키 표시
         ==== 공백보기(탭자, 공백자보기) ====
         Shift+Alt+F12 : 이거 찾기보다 좋더군요. 함수나 define등 아무거나에서 사용
  • VoiceChat . . . . 5 matches
         다자간에 프로젝트를 진행할때 같은 장소에서 작업을 하기 힘든 경우 음성채팅을 이용하면 그나마 숨통을 틀 수 있다. MSN 메신저를 비롯하여 음성채팅을 지원하는 여러 메신저의 경우 1:1 만 지원한다. 아래의 프로그램을 사용하면 다자간 음성채팅을 무료로 할 수 있다.
          * KaZaA 의 개발진이 만들었다고 한다. 전 세계적으로 많이 쓰이고 한글화도 되어있다. PeerToPeer 기술을 사용했다. [http://web.skype.com/home.ko.html 홈페이지]
          * 80 포트를 사용해서 회사같은곳에서도 사용할 수 있음.
         나중에 텀 프로젝트를 진행할때 메신저보다는 이것을 사용하면 좋을듯.
  • WikiSandBox . . . . 5 matches
          1. NoSmok:WikiName'''''' 을 써 봅시다. 영어 알파벳의 첫글자를 대자로 해서, 단어 첫머리마다 대
         자를 넣어 제목을 만들면 자동으로 링크가 생깁니다.
          * 주의하실 점은 페이지이름에 공백, 특수자 등을 써서는 안된다는 것입니다. "나는_이런~
         흔히 사용되는 두가지 horizontal line 의 차이점을 보세요.
          * 새로운 페이지를 만들 때, [페이지이름] 에 공백, 특수자를 넣는다.
  • WikiStyle . . . . 5 matches
         위키위키에 좋은체에 대해 생각하고 제로위키(ZeroWiki)에 적용했으면 합니다.
          * 가능하면 이인칭, 삼인칭을 사용해서 다른 사람이 수정, 첨가하기 쉽게 만든다.
          * 사실/조언으로 만들기 어려운 개인적 경험에 대해 쓸 때에는 일인칭을 사용하고 끝에 필명을 붙인다.
          * 두삽입방식 (최신 내용을 맨 위에 쓰는 방식) 은 기존 게시판에서 온 방식으로 자칫하면 무비판적으로 적용하기 쉽다. 해당 방식이 현재 쓰려는 글을 배열하는 좋은 방식인지 비판해보고 적용하자.
          * 우리와 다른 사람을 위해 글을 쓰고 수정하고 삭제하고 ["서구조조정"]을 하자.
  • WinCVS . . . . 5 matches
         WinCVS를 처음부터 사용해봅시다.
          1. WinCVS를 사용하기 위해서는 Python과 TCL이 깔려있어야 한다.
          - 여기서 모듈을 리스트의 형태로 표시해주지 않기 때에 직접 수동으로 이름을 넣어주어야 한다.(약간은 불편하다.)
          1. 고칠수 있는 공간에 나온 파일들은 ReadOnly가 걸려있기 때에 수정이 불가능하다.
          앞으로도 계속 사용하면서 추가해보고싶다.
  • XOR삼각형 . . . . 5 matches
          머리위의 두 숫자를 더하는 것이 아닌 XOR연산을 합니다.
          XOR연산은 두개의 숫자가 같으면 0, 다르면 1 입니다. (DeleteMe XOR 연산의 보다 정확한 정의는 같으면 0, 다르면 1이 아니고 1의 갯수가 홀수일때 1, 짝수일 때 0 입니다)
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         [제분류]
  • ZIM . . . . 5 matches
          a. ["ZIM"] - 개발 계획 서 (by 프로젝트 매니저)
          * ["ZIM/EssentialUseCase"] - 요구 분석 서를 겸한 유스케이스들. (by 시스템 엔지니어)
          * 사용 기술 : Java. JDK 1.1 이상
          * 사용 기술 : MFC ActiveX, HTML, Java Script
          * 전체 프로젝트의 작업산출물들(각종 서 및 소스코드등)을 관리한다.
  • ZeroPage . . . . 5 matches
         현재는 02년도부터 도입한 wiki 시스템을 통하여 각 프로젝트나 스터디를 진행할때마다 서 산출물을 만들어 내어 양질의 정보들을 축적해 나가고 있다. 이 시스템은 스터디와 프로젝트를 팀으로 진행할때 공동 knowledge repository 의 역할을 함으로서 진행하는 회원 들에게 도움이 되고, 추후에 다른 회원이 비슷한 스터디나 프로젝트를 할때 그 wiki 페이지를 참고 함으로써 같은 곳에 쏟을 노력을 줄이고, 그 wiki 페이지를 다시 키워 나감으로써 지속적으로 양질의 정보를 축적하여왔다. 이로서 제로페이지의 wiki 시스템은 현재의 회원과 학교를 떠난 회원그리고 앞으로 제로페이지에 들어올 회원들 모두에게 도움이 되는 시스템으로서 자리매김하고 있다.
          * team 'Dr. YangBan' 2제 : [이진규], [이민규], [김희성]
          * team 'CAU_Burger' 1제 : [김윤환], [이성훈], [김민재]
          * 1등 : 보창, 허아영
         [제로페이지의제점]
  • [Lovely]boy^_^/EnglishGrammer . . . . 5 matches
          * 동기 : 얼마전에 do 다음에는 원형이라는 중학교 입학하고 젤 첨 배운다고 할 수 있는 법도 생각이 안나는 데에 놀란 인수군은 영법을 대강이라도 한번 공부하기로 마음먹는다. 교재는 Grammar in USE 영어로 되어 있어서 어떻게 볼까 생각했지만.. 추천이 장난이 아니더군. 그래서 함 봐봤는데.. 오 한글보다 이해하기 쉽군. 쿠하하 정리나 해봐야겠다. 영어만 치다보면 영타도 늘겠지.
          ''영법을 공부하려면 한국의 웬만한 교재보다는 NoSmok:GrammarInUse 가 낫습니다. 보통 Murphy시리즈라고 부르죠 -- 레벨별로 책이 따로 나와서 "시리즈"라고 합니다. 이와 함께 Azar시리즈도 많이 봅니다. 외국에 어학연수란 걸 나가면 90% 이상 이 교재로 공부합니다(고로 어학연수가서 교실에서 하는 공부는 별거 없습니다). 법 공부를 할 때에는 레퍼런스북이 있으면 좋은데, PEU(''Practical English Usage'', Michael Swan)를 적극 추천합니다. 영어실력에 상관없이 두고 두고 유용하게 사용할 것입니다. see also NoSmok:영어학습법 --JuNe''
  • django/Example . . . . 5 matches
         본 논에서는 Django를 사용하여 실생활에서 쓰일 만한 시스템을 만들면서 질의처리 능력과 데이터베이스 추상화를 실험해본다. 안전관리시스템은 안전관리가 필요한 위험을 파악하고, 위험이 발생하는 경우 사용할 수 있는 대처방안을 설정한다. 그렇게 함으로써 위험한 상황이 발생하지 않도록 하고, 실제로 위험한 상황이 발생했을 때 정책에 따라 적절한 방법으로 대처하여 큰 사고로 이어지지 않도록 돕는다.
         예를 들어 "너구리" 제조회사에서 안전관리시스템을 사용하여 "화재"라는 위험을 관리한다고 생각하자. "화재"가 발생하면 가연성 물질인 "너구리 꼬리"에 불이 옮겨 붙어 대형 사고로 이어질 수 있다. 따라서 "너구리" 사는 "물뿌리개"를 직원들에게 지급하여 "너구리 꼬리"에 불이 옮겨 붙기 전에 "화재"를 진압하기로 결정했다. 또한 "너구리" 사는 "화재"가 5분 안에 진압되지 않는 경우 "일일구" 서비스를 이용하기로 결정했다. 따라서 "너구리"사 직원들은 불이 났을 경우 "물뿌리개"로 일단 불을 끄고, 5분이 지나면 "일일구" 서비스를 부를 것이다.
         또한 "너구리" 사는 "도난"이라는 위험도 관리한다. "너구리 꼬리"가 "도난"을 당하면 "너구리" 사는 많은 손해를 입는다. 하지만 "다잡아"라는 무인 경비시스템을 설치하기에는 너무 많은 돈이 필요해서, "너구리" 사는 "종잇장" 보험만 이용하여 "도난"을 관리한다. "종잇장" 보험은 "도난" 뿐 아니라 "화재"에 대해서도 보험금을 지급하기 때이다. 또한 "도난"이 발생하지 않도록 직원들에게 정기적으로 교육을 실시한다.
  • django/ModifyingObject . . . . 5 matches
         SQL에서는 insert into values 구을 이용해 레코드를 삽입하고, update set where 구을 이용해 레코드를 수정한다. 하지만 django는 이 둘을 하나로 보고 데이터베이스에 레코드를 삽입하고 갱신하는 작업을, 모델로 만든 객체를 저장(save)하는 것으로 추상화했다. 기본적으로 모델클래스는 save메소드를 가진다. 따라서 개발자가 작성한 모델도 save메소드를 가지며, 이는 오버라이딩 할 수 있다. 아래 예에서 보듯이 save 메소드는 새로만든 레코드 필드의 속성에 따라서 적당히 삽입과 갱신 작업을 수행한다.
         Employee 모델에 해당하는 새로운 객체를 만들고 save메소드를 이용하면, 데이터베이스에 새로운 레코드를 삽입하거나, 기존의 레코드를 갱신한다. 기존에 삽입하지 않았기 때에 처음 save를 호출하면 레코드를 삽입하고, 다음 번 save를 호출하면 레코드를 갱신한다. 레코드는 객체로, 레코드의 속성을 객체의 멤버 변수로 취급한다.
         데이터베이스에서 레코드를 삭제하는 작업은 Model클래스의 delete메소드로 추상화했다. 하지만 내부에서 실제로 레코드를 삭제하는 메소드는 delete_objects이다.[8] delete_objects메소드는 지우려는 레코드를 참조하는 다른 테이블의 레코드까지 함께 삭제하거나, 외래키를 NULL값으로 설정한다. 예를 들어 다음은 Risk테이블에서 한 레코드를 삭제하는 경우 이를 참조하는 Consequence, Control 테이블의 레코드까지 함께 삭제하는지를 묻는 사용자 화면이다.
  • intI . . . . 5 matches
         동서버의 글을 보고 들은 생각
         C언어에서 변수를 배우고 순환을 처음 배우기 시작할때 가장 처음 배우는 변수 i-_-
         integer의 i 인거지?? 그럼 언제부터 int i 라는 변수가 사용된 것일까?? 80년대의 C언어 책에서도 int i 를 사용하고 있었을까??
         라는 궁금증이 득들었어요-_-ㅋ - 이승한
  • mantis . . . . 5 matches
          * 버그 트랙킹 시스템 입니다. 버그 질라에 비해서 훨씬더 설치가 쉽습니다. 아직 이메일 부분 제는 해결 못했는데 해결 하신분은 좀 적어 주세요. -_-;
         = 이메일 제 =
          * /core/user_api.php 에서 416line 을 아래와 같이 바꿔서 이메일 인증이 아니라 임시 암호를 부여하고, 사용자가 바꾸게끔 한다.
          * administrator , 암호는 root 로 로그인 후에 계정관리에서 preference 부분에 가서 제일 하단 부에 있는 언어 선택을 한글로 해야 한글로 메뉴를 보고 한글을 사용할 수 있습니다.
         테이블을 만들때 euc-kr 으로 만들었고 euc-kr 을 mantis 에서 사용하기 위해 아래와 같이 mantis 소스를 수정 하였습니다.
  • naneunji/Diary . . . . 5 matches
          * MFC 책사서 숙제하기 - 책만샀다. 싸게 사볼려구 발버둥 치다가,, 결국은 센트럴씨티 영풍고가서 정가를 주고..
          * 과외를 하나 더 하기루 했다. 윤석이 동생..근데 과연 잘하는 짓일까...???[[BR]] 모아논 돈이 없는데 과외 하나루 생활하기란..정말 고달프다...개강하구 나선 밥값이 모자르지는 않을지 걱정됬는데..과외가 구해져서 다행이라는 생각이 든다,, 하지만 한편으로는 시간표두 빡빡한데.. 개강하구 나믄 이리저리 치여서 과외와 내 공부..둘 중 하나 혹은 둘 다를 제대루 하지 못하게 될까 걱정된다. 이미 그러한 경험을 한 적이 있기 때에..더더욱..[[BR]] 돈과 시간..이 둘 사이에서 균형을 잡기란 쉽지 않은 일 같다.
          * 고장나서 반년이 넘게 안고치고 버티고 있던 프린터를 고쳤다. 계속 프린트를 쓸 일이 생겨, 더이상 미룰 수가 없었기 때에 귀찮음을 무릅쓰구 서비스센터까지 갔는데, 원인이 샤프가 껴있었기 때이란다..ㅡㅡ;;
         새벽에 잠들었음에두 불구하구..3시간을 못자구 일어났다..아침이 됬기때에..
  • pragma . . . . 5 matches
         C 와 C++ 을 구현한 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠한 방식으로 자리잡을 것인지 에 관한 제나 함수가 파라미터들을 조작하는 방법들에 대한 세밀한 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소한의 호환성을 유지시키며 그러한 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 한다. Pragma 지시어들은 일반적으로 '''컴파일러들 마다 서로 다르다'''.
         하지만, 이러한 경고는 Visual C++ 6.0 에서만 유효한것이고, VS.NET 부터 추가 세팅이 필요 없다. VC++ 6.0 에서는 map은 물론 STLPort 나, [Boost] 사용하는 것을 권장하지 않는다. 더 이상 MS 측의 컴파일러 기술 지원이 없으므로, VS.NET 이상 버전을 사용해야 한다.
         혹시라도.. 저 #pragma warning(disable: n ... m) 을 써서 언제나 제를 해결 할 수 있을거라고 생각하시면 안됩니다. 저 위의 설명에도 씌여있듯이, pragma directive 는 지극히.. 시스템에 의존적입니다. 그러므로, VC 에서는 먹힌다는 저 명령어가 GCC 에서는 안될수도 있고.. 뭐 그런겁니다. 확실하게 쓰고싶으시다면.. 그 컴파일러의 서를 참조하는것이 도움될겁니다.
  • randomwalk/홍선 . . . . 5 matches
         int count,t,R_count=0; // 바퀴벌레의 이동횟수, 랜덤 숫자, 바퀴벌레가 모든 타일을 돌아다니도록 하는 카운터
          R_count++; // 바퀴벌레가 모든 타일을 방하면 멈추게 하기 위한 카운터
          Tile[Pos_x][Pos_y]++; // 바퀴벌레가 타일을 방할 때마다 증가하여 방 횟수를 구한다.
          cout << "각 타일을 방한 횟수는 다음과 같습니다. \n";
  • tempOCU . . . . 5 matches
         = 제및 정답 =
         == 1번 제 ==
         제 :
         == 2번 제 ==
         제 :
  • zennith/MemoryHierarchy . . . . 5 matches
          하위 계층에서 가져온 데이터는, 다음번에 다시 쓰일 수 있다. 그러므로, 다시 사용할때는 하위 계층에서 다시 가져올 필요 없이, 저번에 가져온 데이터를 사용하면 된다.
         레지스터는 메모리 계층구조에서 가장 상위 계층으로서, 가장 빠른 속도와, 가장 적은 capacity 를 제공한다. 보통 개개의 레지스터는 그 프로세서의 word 크기이며, 현재 주로 사용되고 있는 인텔 i386 계열 프로세서들의 범용 레지스터의 크기는 32bit 이다.
         요즈음의 RISC 구조 프로세서에서는, 모든 연산의 연산자들로 레지스터만 허용하므로, 이 제한된 숫자의 레지스터들을 어떻게 관리하느냐가 성능 향상의 주안점이다. 가령, 빈번하게 요구되는 변수는 계속 가지고 있는다던지, 아니면 한동안 쓰임이 없는 변수를 레지스터에서 버린다던지 하는 일이다. 물론, 이 일(optimal register allocation)은 컴파일러에서 담당한다.
          A: 각각의 계층마다 다릅니다. 캐쉬에서 쓰이는 unit 과 가상메모리에서 쓰이는 page 의 크기 차이는 큽니다. 다만, spartial locality 를 위해서 사용된다는 점은 같겠죠.. 좀더 상세한 설명을 원하신다면.. 제게 개인적으로 물어보시거나, 아니면 공부 하시길 -["zennith"]
  • 가위바위보 . . . . 5 matches
         입력으로 사용자의 가위, 바위, 보를 받고
         === 제 소스들 ===
         ||도전자||총개발시간||소스라인수('''주석제외''')||사용언어|| Source ||
         ["제분류"]
  • 강희경/도서관 . . . . 5 matches
          * 명의 충돌
         || 9 || NoSmoke:학의즐거움 || 히로나카 헤이스케 || [임인택] || [학의즐거움] ||
          역사에 대해서는 명의 충돌도 한 번 읽어보길 추천~나는 역사학입을 들으면서 봤던 책이야. --[Leonardong]
  • 강희경/메모장 . . . . 5 matches
         == 숫자 랭킹 ==
          /*배열 내에 나보다 큰 숫자가 있을 때마다 나의 랭크는 내려간다.*/
         죄수의 딜레마 제에서 상대가 전에 냈었던 패를 따라낸다.
         가위바위보 게임에 사용해도 될 듯.
         다양성: 제로페이지의 다양함과 풍부함을 나타내기 위해 무지개의 7색을 사용.
  • 경시대회준비반 . . . . 5 matches
         ''' 1. 누구나 참여해서 제를 풀고 토론할 수 있습니다.'''
         === 지난 제 ===
         ===== 지난 대회 제들 =====
         [http://www.algorithmist.com/] ACM 제가 어느 알고리즘 파트인지 알 수 있다. 그외 도전할만한 많은 제들이 있다.
  • 김재현 . . . . 5 matches
          for (k=0; k < MAX; k++) //질거리~(등호..)
          for (k=0; k < COUNT; k++) { //질
          while (used[n]); // 이미 사용 ㅤ됐으면 다시 난수 발생
          used[n]=1; // 사용숫자 표시
  • 니젤프림/BuilderPattern . . . . 5 matches
         패스트(정크)푸드 레스토랑 맥도날드에서 어린이용 해피밀을 만들어내는 걸로 예를 들 수 있다. 일반적으로 해피밀은 메인, 사이드, 음료, 장난감 (햄버거, 프라이, 콜라, 매달 바뀌는 장난감)으로 이루어져 있다. 여기서 중요한건, 이런 템플릿이 정해져 있다는 것이다. 요즘 같이 까다로운 아이들에게 어릴때부터 맥도날드의 입맛을 확실히 들여놓으려면 당연히 다양한 바리에이션이 필요하다. 고객은 햄버거나 치즈버거나, 아니면 맥너겟이나 이런걸 선택할 수 있지만, 기본적으로 해피밀이 구성되는 방식에는 변함 없다. 여기서 빌더 패턴을 적용한다면, 카운터에서 주을 받는 직원을 Director 라고 할 수 있다. 물론 고객은 Customer 이다. 고객이 원하는 바리에이션을 선택해서 해피밀 셋트를 구성하게 되면 (Customer가 Concrete Builder 를 선택한다) Director 는 정해진 템플릿에 따라 주방 직원(Concrete Builder) 에게 의뢰하여 해피밀 세트(Product) 를 만들어 낸다. 여기서 Director 가 Concrete Builder 에게 요구하는 방식은 종류에 따라 비슷 하므로 그것을 추상화시킨 인터페이스를 Builder 라고 할 수 있겠다.
         Builder 를 구현한 부분. 일반적으로 다수개의 Concrete Builder 가 존재하며, Builder 가 제공하는 인터페이스를 이용해서 late binding 의 형식으로 사용하게 된다. 물론, builder pattern 에서의 주 관심하는 Product 를 만들어내는 것이다.
         Director 클래스는 Product 를 생성하는 방법과 순서 등을 주관한다. Builder 인스턴스를 가지고 있기 때에 Concrete Builder 를 건네 받아서 Builder 에 연결해 준다.
         보시다 시피 Builder Pattern 과 Abstract Factory Pattern 은 많이 비슷하다. 차이점이라면 약간 미묘하다고도 할 수 있는데, Abstract Factory Pattern 은 무엇이 만들어지는가 에 초점을 맞추고 있고, Builder Pattern 은 어떻게 만들어 지는가에 초점을 맞추고 있다고 풀이할 수 있다. 물론 두 종류의 Creational Pattern 은 Product 을 제공하는데 첫번째 책임이 존재한다. 가장 큰 차이점이라면, Builder Pattern 은 복잡한 오브젝트를 한단계 한단계 만들어서 최종 단계에 리턴해주고, Abstract Factory Pattern 은 여러 종류의 generic 한 product 를 여러종류의 concrete factory 가 생성하기 때에 각각의 오브젝트가 만들어질 때마다 product 를 받을 수 있게 된다.
         원은 http://en.wikipedia.org/wiki/Builder_pattern
  • 대학원준비에대한조언 . . . . 5 matches
         여러명이 모여서 스터디를 한 지도 삼 주가 다 되어간다. 같이 준비하면서 때로는 너무 사소한 것에 매달리는 것이 아닌가 싶을 정도로 한 부분에서 넘어가지 못하는 경우가 있다. 한참을 이야기해서 결론을 내보니 이미 말하던 도중에 나왔던 이야기였거나 책을 보면 알 수 있는 내용인 경우도 있다. 하지만 그렇게 해서도 결론이 나지 않는 제들이 있었고 [대학원준비06] 팀은 교수님께 찾아가서 질을 했다.
         질에 대한 답도 얻었지만 [대학원준비에대한조언]을 얻은 것이 더 큰 성과였다고 생각한다. [열린질]을 던지면서 스스로 고민하는 시간이 중요하다는 이야기를 많이 하셨다. [대학원준비06] 팀이 과목 요약을 하고 난 다음에는 고민하는 시간을 가졌으면 좋겠다.
         그 밖에 연구실을 방하라는 조언을 들었다. 포항공대에 [OpenLab]에 다녀온 경험을 생각해보면 매우 와닿는다. 심지어 아무것도 모르고 연구실을 찾아가고, 10분 남짓한 시간을 둘러보고 오더라도 연구실 사람들 직접 만날 수 있다는 사실 만으로도 얻을 것이 있다. 몇 년의 시간을 보낼 장소를 선택하는데 하루의 노력이 아까울까!
  • 덜덜덜 . . . . 5 matches
         for 하나로도 짤수있다고 하니까요 다양한 답이 나오길 기대해볼게요 ^^
         공부중에 막히시거나 질하실것은 저한테 자나(^^;) 엠에센 으로 질해주세요
         ▼▼▼▼▼Dev 사용법입니다! 꼭 보세요▼▼▼▼▼
  • 데블스캠프2005/월요일후기 . . . . 5 matches
         황재선, 보창, 윤성만, 나휘동, 신재동, 이용재, 이동현,
         느낌: 신기하다. 정말 세상에는 다양한 학이있다. 데블스 캠프는 신기하다.
         [황재선] : C, C++ 법에 대한 불편함을 느끼면서 사고의 틀을 벗어나지 못했던 점이 충격적이었다. 좀더 고차원적이고 추상화하는 능력을 키워야 겠다. 계절학기 듣느라 끝까지 못한 점 무척이나 아쉽다.
          잡담카드게임이나 로보코드활동에서는 참여하는 인원이 많았다. 실습활동이기 때일 것이다.
          구석진 곳에서 듣는 사람들은 아무래도 집중도가 떨어졌다. 피시실 구조도 한 몫하겠지만, 되도록 뒤쪽 컴퓨터를 사용하지 않도록 권장할 필요가 있다.
  • 데블스캠프2006/월요일/연습문제/if-else/임다찬 . . . . 5 matches
         == 데블스캠프2006/월요일/연습제/if-else/임다찬 ==
         1번째
          cout << "영자" << endl;
          cout << "숫자" << endl;
          cout << "특수자" << endl;
  • 데블스캠프2006/참가자 . . . . 5 matches
         || 06 || [주요한] || || || LT때에 늦게 || . ||
         || 06 || [최재] || || || 모두 || 大韓民國 ||
         이번 프로젝트 진행 시작과 함께 SVN, SSH 계정을 발급할 예정입니다. 이때 사용알 계정 ID를 입력해주세요. - [eternalbleu]
          - 그러게요. 전 다 알기때에 괜찮은 걸요? ㅎㅎ
          * 강원도 여행 때에 22일부터 참가하려고 합니다(빠르면 21일). -[지원]
  • 데블스캠프2009/금요일 . . . . 5 matches
         || 김수경 || Short coding || ACM 제를 풀어보며 short coding을 맛보자 || ||
         ||am 01:00~02:50 || ACM 제를 풀어보자 || 김수경 ||
         ||am 03:00~03:40 || 각자의 제 풀이 및 short coding 책에서의 코드 || 김수경 ||
         = 제 풀이 =
         [데블스캠프2009/금요일/연습제]
  • 레밍즈프로젝트/프로토타입/MFC더블버퍼링 . . . . 5 matches
         == 사용 ==
         클래스 내부에는 윈도우 핸들이 없기 때에 GetClientRect를 사용하지 못한다. 따라서 전달인자로 CRect가 전달된다.
         == 사용 ==
         화면의 끊김을 없애기 위해서 사용될 것이다.
  • 로고캐릭터공모 . . . . 5 matches
          제로페이지에서는 홈페이지 개편과 더불어 대외적인 홍보 활동 및 각종 행사에 사용할 공식적인 로고와 캐릭터를 공모하고 있습니다. 본 공모에 작품이 채택되신 분께는 작은 상금도 준비되어 있습니다. 여러분의 많은 참여 부탁드립니다.
         == 의방법 ==
         == 질은 [로고캐릭터공모/의]에 해주시기 바랍니다 ==
         우와 좋은 아이디어다. [로고캐릭터공모/의]로 따로 페이지 또는 게시판 링크가 걸리게 해도 좋을 것 같네. --[Leonardong]
  • 로마숫자바꾸기/허아영 . . . . 5 matches
         왜냐하면.. 예외처리(?)를 완벽하게, 원시적으로 처리했기 때에?!!
         로마숫자숫자를 길게 쓰지 않으려는 노력의 흔적은 보이지만 딱 꼬집어서 한가지로 말할 알고리즘은 없는것 같다.
          printf("숫자를 입력(종료:99) :");
         [LittleAOI] [로마숫자바꾸기]
  • 만세삼창VS디아더스1차전 . . . . 5 matches
          음 내 파서는 이상한 법은 못받아들인다
          저게 왜 이상한 법이야
          바보 언어 에 있든 없든 먼상관이냐. 혹시 니 언 는 사용자 정의 타입이 없는거 아니냐 후진 것 같으니라고
          니 소원대로 원을 실었다. 비겁한 녀석 이상한걸로 시비 걸다니 ㅋㅋ --[인수]
         원이라니 바뀐게 안보이는데... 너 정치인이냐 ㅡ,.ㅡ;;;
  • 문원명 . . . . 5 matches
          03학번 원명 입니다.
         바둑알 놓는 스킬은 진훈이에게 물어봐라..음화화~ - [원명]
         제로페이지가 많이 활성화 되어 있는거 같아서 기분 좋네요^^ - [원명]
         송승헌은 11월이고 난 5월이다..내가 니 애비군번이다 ㅋㅋ - [원명]
         마침 오늘 봤었군! 밥사줘서 thanks - [원명]
  • 문자반대출력/김태훈zyint . . . . 5 matches
         //두 자를 바꿉니다.
          자"열"은 항상 맨 끝에 '\0'값을 붙여서 자열들이 끝이라는걸 알려주니 그전에 자들의 갯수를 세었어
         [LittleAOI] [자반대출력]
  • 상쾌한아침 . . . . 5 matches
         || 보창 || || || :) ||
         || 보창 || :( :( || :( || :( :( ||
         아침 11시 기상이 내 오래된 습관이라서 매일 이걸 체크하는게 무의미하군... 난 그만 둔다. --[보창]
         그동안 자봉단이다, 이사다, 인터넷 제다 해서 완전히 잊고 있었던 페이지. 잘 될진 모르겠지만 다시 해볼람니다. 일딴 게으름을 물리쳐야 하겠죠~^^ - [이승한]
         수업때에 요즘 계속 일찍 일어나네요 - [이승한]
  • 새싹-날다람쥐 6월 10일 . . . . 5 matches
         그리고 d는 char*형태이기 때에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 한다.
         = FREE 의 사용법 =
         이 free는 가장 하위 포인터에만 사용이 가능하다. 따라서 array를 모두 free시키려면 for을 돌려서 free(array[i])와 같이 모두 없애준 후에 free(array);를 해야 한다.
         하지만 간단한 프로그램에서는 이렇게 해 줄 필요가 없다. 프로그램을 종료시키면 알아서 OS가 가져가기 때에.
  • 새싹교실/2011/學高/4회차 . . . . 5 matches
          * 오늘 수업시간에 짰던 "세 정수 x y z를 입력받아 x + y * z를 출력하라" 이 제를 응용하면 쉽게 짤 수 있습니다. - [윤종하]
          // scanf()로 숫자 입력 받기
          * printf 사용
         define PI 3.141592<< 코딩할때 PI라고 쓰면 숫자로 인식함. define은 중간에 수정 불가.
         배운내용을 복습하지 않아서 따라가는데 어려움이 있었습니다. 질도 더 많아진것 같구요 앞으로는 열심히 복습하겠습니다~
  • 새싹교실/2012/벽돌쌓기 . . . . 5 matches
          : 조건(if, switch), 반복(for, while) 설명
          * 일반적으로 많이 쓰이는 반복과 조건을 설명하는 데에 있어 시간을 많이 투자하였고, 본 강사의 예제 코드를 따라 입력하게 한 뒤, 디버깅을 통하여 어떻게 구현되는가를 설명하였다.
          * 추가적으로 복습의 제에 있어 회차마다 과제를 하나 내주어 복습을 반강제적으로 하게끔 유도하겠다.
  • 새싹교실/2012/아우토반/앞반/4.12 . . . . 5 matches
          continue;
         제는 for에서 계속해서 돕니다.... 무한루프도 아닌것이... 이게 뭔...
         continue의 정확한 사용법과 switch case에서 'p'와 같은 식으로 받아주게 했을 경우에 인식을 하는지 정확히 모르겠네요.
  • 새싹교실/2013/양반/2회차 . . . . 5 matches
          * 제어
          * if - [http://soenlab.com/lecture/ccpp/cpp1/4-1-1.htm page]
         == 질 ==
          * 새싹들 보고 후기 적으라고 해놓고서 본인은 안 적었네요. 새싹 진행하는데 있어서 시간이 부족한 것 같아서 시간 확보를 어떻게 해야할지를 고민해봐야겠습니다. 과제는 내려고 했는데 딱히 뭘 내야할지도 생각이 안나고 그래서 제어을 배우면 내줘야 할 듯 싶습니다.
         조건이 꽤나 흥미로웠다.-끝-
  • 세벌식 . . . . 5 matches
         이때에 두벌식 키보드를 사용할때 도깨비불 현상이 발생한다. 간단하게 설명하자면 두벌식 키보드로 한글을 치다가 전혀 의도하지 않았던 글자가 나타났다가 사라지는 현상이다. [http://no-smok.net/nsmk/%EB%8F%84%EA%B9%A8%EB%B9%84%EB%B6%88%ED%98%84%EC%83%81 여기]를 보면 더 자세히 알 수 있다.
          * [http://moonhwawon.org/ 한글화원]
          * 윈도우즈, 리눅스, MacOS 등에서 모두 세벌식을 쉽게 쓸 수 있다. [http://paero3.myzip.co.kr/use_sebeol_keyboard/index.html 이곳]에 각 OS에서 세벌식 배열을 사용할 수 있는 방법이 설명되어있다.
          * [임인택]의 경우 어떤 치과에서 키보드 키캡에 붙이는 스티커를 나눠주는 페이지를 보면서 처음 세벌식을 접하게 되었다. 그때가 2005 년 2월경이었는데 처음에는 무척 힘들었지만 6개월정도 지나니 익숙해졌다. 세벌로 전환하기 이전인지 이후인지 기억은 잘 나지 않는데, 스펀지라는 프로그램에서 공병우 박사님을 추모하면서 세벌식과 관련된 지식을 알아본 적이 있었다. 카이스트인지 포항공대인지에 다니는 한 학생이 실험을 했는데, 두벌, 세벌 모두 엄청난 속도로 타이핑하는 장면을 봤다. 충격이었다. 어떻게 각각을 저렇게 빨리 칠 수 있는지. 나도 예전에 타이핑이라면 한가닥 했었는데 10년이상 쓰던 두벌을 버리고 세벌로 전환한 이후 두벌속도가 급격하게 줄었다. 처음 세벌로 바꿨을때 세벌보다 두벌을 약 20배 정도 빨리 칠수 있었는데, 지금은 오히려 두벌이 더 느리다. 이걸 가지고 생각해 볼 수 있는 제는 사고의 전환이다. 스펀지에 나왔던 학생은 두벌로 타자할때 두벌식으로 사고하고, 세벌로 타자할때 세벌식으로 사고했을 것이다. 조금 생각해보면 이는 우리가 공부하는데 빗대어 설명할 수 있을 것이다. 가령 함수형 언어를 쓸때는 함수형 언어의 패러다임으로만 생각하고, 객체지향 언어를 쓸때는 객체지향 패러다임만을 생각한다던지 하는 것이다. 지금 생각하건데, 그 학생은 두벌/세벌 타자에 있어서 구루인것 같다. 나도 두벌/세벌을 모두 쓰지만 두벌식을 쓸때 세벌식으로 생각하고 키를 누른다던지, 세벌식을 쓸때 두벌식으로 생각하고 키를 누르는 경우가 많다. 프로그래밍을 할때도 마찬지. 내가 배제하려고 하는것을 완전히 배제하지 못한다.
  • 송지원 . . . . 5 matches
          * 농구 소모임 위디브 매니져 (에이스를 맡고 있단 소이 있음)
          * 2012년~2015년 : LG CNS 입사. 하이테크사업본부 엔지니어링솔루션부 제조엔지니어링담당 생산최적화팀.
          php, mysql로 주소록 관리하고자 진행. 승한오빠와 진행함. 로그인을 제외하고 완성.
          타과생 출입 등의 제때에 제안된 프로젝트인데 아무것도 못했습니다. 현태오빠가 바쁘기도 했고..
  • 숫자야구/방선희 . . . . 5 matches
         [숫자야구/방선희]
         숫자야구게임 ^^
          cout << "숫자 세개를 입력하세요. : ";
          cout << "숫자 세개를 입력하세요. : ";
         [숫자야구]
  • 여사모/과제/패턴인식 . . . . 5 matches
         == 제 ==
         사용자로부터 하나의 자열을 입력받아 기존 자열에 입력받은 자열이 있는지 여부를 알려주는 함수를 만들어 보세요.
  • 이승한/질문 . . . . 5 matches
         = 승한이 질 페이지 =
         다른 질.
         아마 승한이가 원하는 답은 아니겠지만 한번 적어본다. 지금 함수에 전달하는 것은 인트형의 포인터이기 때에 함수는 지금 받은 것이 숫자인지 배열인지 알 수 가 없지. 게다가 주소를 참조하게 되서 함수 안에서 그 값을 변경해주면 원본 값도 변하게 되고. 그래서 나는 함수 안에 멤버 변수를 만들어서 전달 값을 복사해서 쓰거든. 보통 전달인수를 받을 때 컴파일러에서 그 원본 값을 쓰지 않고 복사값을 사용하는 건 알지? 그 작업을 프로그래머가 해주는 것이지. 밑은 여태 말한대로 구현하고 간단하게 테스트한 소스야.
  • 이영호/기술문서 . . . . 5 matches
         [C/C++어려운선언해석하기]
         [조금더빠른형변환사용]
         [간단한C언어제]
         [http://bbs.kldp.org/viewtopic.php?t=21671] - 자 파싱하는 tip
         [http://bbs.kldp.org/viewtopic.php?t=2128] - GNU C 에서의 printf 의 확장 및 locale 사용
  • 이영호/문자열검색 . . . . 5 matches
          fprintf(fp, "찾을 자열 -> ");
          printf("찾을 자열 -> ");
          fgets(buf, sizeof(buf), stdin); // 자열이라고 했으니 space를 포함한다.
         찾을 자열 -> method
         찾을 자열 -> test
  • 정모/2002.9.26 . . . . 5 matches
         '''군대 제 어떻게 해결할 것인가'''
          그래서 이번에 해봤습니다. 이런 방식이 괜찮을 것같다는 생각이 득들어서.. 오히려 이렇게 하면서 배우는 것도 많을 것이란 생각이 듭니다. 그런데 제는 처음 어떻게 시작하느냐가 어렵다는 것이지요..-.-; --창섭
          한번씩 돌아가면서 정모 기간 (2주정도?) 내 일어난 일이나 사건들. 관심사 등등. 그리고 2차행사로서 간단한 세미나를 한다던지, 자신이 만든 프로그램에 대해 시연을 한다던지. 제를 제대로 정의할 수 있다면, 답을 구할 수 있을것 같다. (가장 간단한 일을 시작할 수 있을 것 같다. 정모 스타일에 비격식적 대화시간을 넣어본다던지, 자네가 정모 진행을 할때, 주위를 환기시킬 수 있고. 또는, 회장의 진행없이 나가볼 수도 있고.) --["1002"]
         ps. 조금 아쉬운건, 조언해줄만한 경험있는 선배들의 참여가 적은 것같다는. (병특 제에 대해 지금 준비하고 있는 사람이 이야기하는 것과, 현업에서 뛰는 사람이 이야기할때는 그 내용이 많이 차이날것 같다.) 시간이 늘 학부생 위주로 맞춰져 있는것도 약점이 되는듯하다. --["1002"]
  • 정모/2005.1.17 . . . . 5 matches
         || 김수진, 유주영, 보창, 오승균 ||
          * 회식비의 회비지원 제 : 현재 50만원의 피씨실관리비가 회식비로 10만원 남았습니다.
          서버제에 대해서 여러 이야기를 하다가, 재동형이 지금은 대학원생이 아니라 눈치 보여서 그렇지 상규형이나 재동형이 대학원에 들어가면 연구실에 서버 하나 넣는 것은 제가 될 것이 없다고 하셔서 정리가 되었습니다. 지금은 일단 서버실을 최대한 알아보고 안되면 연구실에 넣으면 좋겠다는 생각입니다. --[강희경]
         오늘 과방 책상에서 진행한 회의는 어땠나요?? 별 제 없었다면 이번 겨울은 계속 이러한 방식으로 해보려 합니다. - [이승한]
  • 정모/2007.1.6 . . . . 5 matches
          ==== 질과 답변 ====
         A.김정현 - 지시하기보다는 협력하는 방식으로 진행하는 화와 분위기를 만들겠다.
          김준석 - 이끌어 나가야 할 사람이 필요하기 때에 회장 중심적으로 나가겠다.
         A.김정현 - 권위와 예의는 다르기 때에 단호하게 처벌하겠다.
          김준석 - 회장의 권위는 인정해주어야 하기 때에 설득하도록 노력하겠다.
  • 정모/2007.4.3 . . . . 5 matches
         보창 - 김성호, 서승범, 임상현
          * 참여자 :(총16명) 이장길, 김정현, 유상욱, 원명, 송수생, 김준영, 송지훈, 송지원, 변형진, 하기웅, 최규현, 임영동, 이차형, 윤영준, 이원희, 김동준
          - 회장말씀 : 이 제에 관해서는 많은 생각이 필요한거 같습니다. 일주일간 각자
         이 제에 관해서 생각을 해보신다음에 다음 회의때 이제에 관해 거론하도록 하겠습니다.
  • 정모/2011.3.2 . . . . 5 matches
          * 새 학기 첫 정모라 그런지 많은 분들이 참석해주셔서 좋았습니다. 정모에서 학술활동을 하기로 했는데 어제는 학기 첫 정모인데다 페챠쿠챠도 없어 안내 위주로 진행된 것이 아쉽네요. 밤을 새고 정모를 갔더니 정신이 없어 진행하는 동안 실수를 많이해서 다음부턴 정모 전날에 꼭 잠을 충분히 자고 와야겠다고 생각했습니다. 사실 어제 정모를 마치고 예정보다 정모가 빨리 끝나서 당황스러웠습니다. 내용을 꾸릴때는 두시간치 내용이라고 생각했는데 진행하면서 제가 말이 조금 빠르지 않았나 싶습니다. 앞에서 계속 혼자 말하려니 듣는 분들은 현재 어떻게 느끼고 계시는지 알 수 없어 제입니다. 그리고 꽤 많은 내용을 안내했는데 그냥 줄줄 말하기만해서 다 기억하실 수 있을지 걱정입니다. 정모 요약에 내용을 정리해 올릴 예정이지만 그와 별개로 다음 정모부터는 안내할 내용이 많은 경우 ppt나 서 등 자료를 준비해오도록 하겠습니다. - [김수경]
          * 개강 첫 정모라 그런지 재학생분들의 참여가 많아서 좋았어요! 오랜맨에 보는 얼굴들이 많아서 반가웠습니다. 그런데 10분들은 많이 안계시네요. 참가자들의 학년(?)이 높아선지 제안된 스터디들의 수준이 높아서 설렘!! 하지만 지난학기 성적을 보고 학기중에 다른 활동이 많으면 성적이 안좋아진다는 사실을 깨달았기때에 전부 참여하지는 못했습니다.. 스프링에 대한 설명을 잘 못해서 아쉬웠는데 앞으로는 발표할 때 머릿속으로 잠깐 생각한 다음 말해야겠습니다. (첨부)정모에서 지난 스터디때 배운 내용을 공유할 수 있도록 기록해서 정리하는 습관을 들여야겠어요. - [서지혜]
          * 아놔 수정하고 고치기 눌러서 날렸어요... 우선 늦어서 앞부분은 잘 못들었구요, 07, 08 학우들이 많이 와서 좋았습니다. 그들의 화려한 컴백 및 활동 유지를 기대해봅니다. 독서모임에 참여함으로써 정모를 제외하고 ZP에서의 공식적이고 정기적인 학술회적 활동을 하는게 얼마만인지 모르겠네요. 소현이 말에 첨언하면 정모 직전이니 카페는 무슨 그냥 피시실이던 과방이던 강의실이던 학교에서 합시다. '''아 그리고 우리 사진좀 남겨요!! 저도 맨날 잊어먹는데 진짜 2009년 이후로 사진이 하나도 없어요!!'''- [송지원]
          * 방학동안에 수요일에 일이있어서 한동안 정모를 못 나왔었는데요, 간만에 정모를 참여 할 수 있어서 좋았습니다. ZP정모에 참석을 하면 항상 뭔가 새로운 것을 해보고 싶은 기분이 들기때에 더 좋으것 같아요. 앞으로도 더 잘 참석하겠습니다. - [박정근]
  • 정모/2011.5.23 . . . . 5 matches
          * 이래저래 커스 공연도 한다고 하고, 과제 때에 불참도 하고, 저번 정모 때 워낙 11학번 학우들이 많이 있어서였을까요,, 조금 썰렁하다 라는 느낌이 있었지만,, 뭐 홍기의 세미나 잘 들었습니다. 이번 OMS에서 script에 대해서 하셨는데,, 아르바이트 할 때 약간 다뤘던 (간단한 웹 페이지 수정 작업을 했습니다. 그 외에 엑셀 작업 조금이랑,, 개인 공부(?)) 기억이 났습니다. 조금 고치고 저장한 다음에 페이지 열어보고, 잘 되네 이러고 다른거 수정 하고 했었습니다. 전역 후 승한이형이 알려준w3school.com 사이트에서 좀 기초적인 것만 공부하고 아르바이트를 시작했었는데, 자세하게 공부 할 기회가.. (없었던게 아니라 내가 안했을 지도..) 접,, 여튼 조금 더 관심을 가져 봐야 겠다는 생각이 든 OMS였습니다. ㅎ - [권순의]
          * 이때까지 자바스크립트를 C랑 비슷한 언어라고 생각하질 않았어요. 그냥 쓰면 되는구나.. 정도. 근데 정말이지 C같은 법(?)을 가진 언어더군요! 신기한 언어의 세계였어요 -[김태진]
          * 음..같은 알파벳을 쓰긴하지만 C랑은 조금 법 다를걸요..ㅋㅋ - [서지혜]
          * 세미나와 OMS 잘 봤습니다. 세미나는 해당페이지에서 후기를 쓰도록 하고.. 스크립트, 관심은 있는데 왜 자꾸 미루기만 하는건지. ㅜㅜ 요즘 얕게 이것저것 배우다보니(NXC를 포함하여) 법이 점점 혼란스러워지고 있습니다. 그런 면에서는 스킴이 참 좋은데.. 응? 여튼 저만의 웹페이지를 만들기 위해 지금 막 HTML5와 자바스크립트를 보고 있습니다. 파이썬이나 펄 등등 하고싶은건 많은데 되는건 하나도 없네요ㅋㅋ - [정진경]
          * ROBOTC를 쓰면 법은 훨씬 편하당 ㅎㅎ C랑 다른게 하나도 없음 - [고한종]
  • 정모/2012.1.27 . . . . 5 matches
          * 총무 : 학회내 재정을 관리할 일이 많지 않기때에 회장이 직접 관리하기로 하였습니다.
          * OMS 잘 들었습니다. 지난번 한종이 OMS 때도 느낀거지만 누구나 접해봤을법한 주위 사건에서 얘깃거리를 잘 뽑아내는 것 같아요. 발표할때 페이지 구성이나 설명도 재미있고ㅋㅋㅋ 중간에 자와 전화에 대한 내용이 있었는데 저는 오히려 전화보다 자를 선호하는 편입니다. 모르는 후배에게 오는 연락은 특히나... 서로 어색한 것도 싫고 메모해야하는 내용이 포함되어있다면 자가 훨씬 편리하니까요...... 아마 저같은 사람도 꽤 있을거예요. - [김수경]
          * 제가 첫 MC(?)를 맡은 정모였습니다. 뭐랄까, 진행이 지루하거나 하지는 않았으면 좋겠네요. 보통 제가 드립을 치더라도 준비를 약간이나마 해야 칠 수 있는 경우가 많기 때에.. 재밌고 보람찬 정모를 만들려면 어떻게하는게 좋을까 생각해보게 되네요. 뭐, 아무튼 한종이가 OMS를 잘 해주어서 그에 대한 부담이 줄었던거 같아요 ㅋㅋ. 다음주에는 제가 Agile Korea에서 배워온 '무언가'를 같이 해봐야겠어요. ㅎㅎㅎㅎ -[김태진]
  • 정모/2012.12.10 . . . . 5 matches
          OO 부
          * 코딩 부
          * 과로 부
          * 일반 부
          * 일상 부
  • 정모/2012.4.30 . . . . 5 matches
          CS망, 인터넷 사용에는 PS망을 사용합니다. 반면에 LTE의 경우는 인터넷 사용시에
          PS망을 이용하고 통화시에는 현재 3G용으로 구축된 CS망을 사용하고 있습니다.
          * 사용을 하고 나서 뒷정리는 좀 하고 갑시다.
  • 정모/2012.7.25 . . . . 5 matches
          * Spring : SimpleWiki 작성. 게시물 Page Repositery 기능. Hibernate 사용하는 기능을 Page Repositery에 붙이려고 하는데 Hibernate가 어려워서 잘 될까 모르겠다. 이후에는 Spring의 security 기능을 이용해서 회원가입 기능을 붙일 예정. 위키 법을 어느 정도까지 다루어야 할지 생각 중.
          * 작은자바이야기 : Generics와 Reflection API를 이용한 objectMapper 만들기. Reflection API는 강력해서 무척 마음에 든다. 그리고 objectMapper라는 아이디어를 잘 이용하면 다른 곳에서도 반복되는 작업을 많이 줄여줄 것 같아서 비슷한 방식을 사용하는 것도 좋을 것 같다.
          * Creative Club - ZP의 외부 활동이란 어떤 것이 있을까. 강력한 의견을 가진 사람이 없는 것이 우선 제. 누군가가 뭘 할 때 필요한 아이디어를 내 보려고 함. OpenSource(소프트웨어, 라이브러리, 게임 개발 툴), ACM 출전, 멘토링, 공모전 등이 가능. ACM은 출전하기는 쉬우나 결과를 내기 어렵다. 멘토링은 많이들 관심이 있을지 미지수. 공모전은 시기적으로 적절한지 의.
  • 정모/2012.9.24 . . . . 5 matches
          * 동아리 지원 관련 서 - 개당 1만원
          * 6층 PC실 관리/현황 서 x2
          * 과학기술동아리 지원사업 서 x2
         학회 및 학술 활동을 위한 외부 기관 제출 서 작성 건당 지원금 1만원 지급은 어떤가요? 그리고 해당 서의 통과 등에 대한 성과금은 추가 지급해도 괜찮을 것 같고.
  • 정모/2013.5.6/CodeRace . . . . 5 matches
          * 제는 2006년도에 진행했던 Code Race 제를 이용해서 진행되었습니다.
          * 원본 제 : [CodeRace/20060105]
          - 제는 1번만 풀었삼.
          제1
  • 졸업논문/서론 . . . . 5 matches
         이 가운데 경량 프로그래밍 모델을 적용한 웹 기술이 계속 발전해가고 있다. 웹2.0 사이트는 Adobe Flash/Flex, CSS, 의미를 지닌 XHTML markup과 Microformats의 사용, RSS/Atom를 사용한 데이터 수집, 정확하고 의미있는 URLs, 블로그 출판들 같은 전형적인 기술을 포함한다.[2]
         본 논에서는 django의 사례를 바탕으로 기민한 웹 어플리케이션 프레임워크가 데이터베이스를 어떻게 추상화했는지 살펴본다. 또한 django가 어떻게 추가적으로 데이터베이스를 사용하도록 API를 지원하는지 살펴본다. 마지막으로 django에서 지원하지 못하는 기능을 살펴보고, 미비한 부분을 개선할 방안을 제시한다.
         [졸업논]
  • 졸업논문/요약본 . . . . 5 matches
         = 국 =
         웹 환경은 이제 하나의 플랫폼으로 자리 잡고 있다. 빠르게 변하는 웹 환경에는 python같은 객체지향 언어가 적당하다. Django는 python으로 만들어진 웹 애플리케이션 프레임워크로, 데이터베이스를 추상화하여 개발자가 기민하게 웹 애플리케이션을 작성하도록 돕는다. Django에서는 기존에 ODBC등을 이용하는 CLI 보다 한 단계 더 높은 수준에서 데이터베이스를 사용할 수 있다. 예를 들어 주언어 python에 클래스를 정의하면 데이터베이스 테이블을 자동으로 생성해주며, 클래스가 변경되면 데이터베이스 테이블도 자동으로 수정해준다. 그 밖에 삽입, 삭제, 수정, 조회 기능을 클래스가 가진 메소드로 추상화하여 주언어 수준에서 데이터베이스를 사용할 수 있도록 한다. 이러한 지원을 바탕으로 웹 애플리캐이션 개발자는 기민하게 프로그램을 작성할 수 있다.
         = 영 =
         [졸업논]
  • 중위수구하기 . . . . 5 matches
         제 : 세 수 A, B, C를 받아들여 그 중 중위수를 구하는 프로그램을 작성하여라.
          (output 예를 사용하여 변수테이블 작성.)
         || [보창] || Java || . || [중위수구하기/보창] ||
         [LittleAOI] [제분류]
  • 지금그때2004/토론20040331 . . . . 5 matches
          * 이전 홍보사용에 대해 - [지금그때2003/선전] 참고 & 홍보 보완. 홍보 올리기전 사람들에게 피드백받기.
  • 지금그때2004/회고 . . . . 5 matches
          * 참고 : 일반매직을 사용해서 전지에 글씨를 쓰면 책상에 자국이 남습니다. 보드마카를 이용해서 했더니 괜찮더군요. 리허설할때 사소한 것도 한번 해보고 넘어가는게 좋겠어요 (상민형 미리좀 알려주셨으면 얼마나 좋아요...)
          * Support 양에 비해 제 없는 진행.
          * 'COW', 'JStorm', 'Netory' 에 대한 홍보는 전혀 이루어지지 않았습니다. 행사 당일날 JStorm 이나 Netory 소속 멤버들에게 해당 모임이 있는지에 대해 물어봤을 때 아시는 분들이 없었습니다. (패널을 맡으신 분들을 제외하고요.)
          * 패널들의 이력사항에 대한 소개가 미비했다는 생각이 듭니다. 패널들의 소개를 좀 더 적극적으로 자세히 하고 홍보를 한다면, 더 적극적인 질을 이끌어내지 않았을까 생각합니다.
          * 질 : 기록을 찾을수 없어서 그러한데, 이번에 리허설을 대략 몇시간 정도 했나요? --NeoCoin
  • 지금그때2006/기획단후기 . . . . 5 matches
         = 1부: 질레스토랑&나를만든책장 =
         선배, 그 중에서도 고학번 위주로 질에 대답했다.
         후배들도 대답할 수 있는 질이 더 있었어야 했다고 생각합니다.
         OST를 먼저 하고 질 레스토랑을 하는 것은 어떨까.. - [김정현]
          * OST를 하면서 여러 주제와 생각들을 접하는데 이러한 분위기를 질레스토랑에서 활발한 질의응답으로 이어질 가능성이 크다고 생각함
  • 지금그때2006/선전문 . . . . 5 matches
         [지금그때2003/선전]
         [지금그때2004/강의실선전홍보안]
         [지금그때2004/게시판홍보안]
          사랑하면 알게 되고, 알게 되면 보이나니 그 때 보이는 것은 전과 같지 않으리라. (知則爲眞愛 愛則爲眞看 看則畜之而非徒畜也.) - 유한준(兪漢雋, 1732 - 1811. 정조 때의 장가)
          사랑하면 알게 되고, 알게 되면 보이나니 그 때 보이는 것은 전과 같지 않으리라. (知則爲眞愛 愛則爲眞看 看則畜之而非徒畜也.) - 유한준(兪漢雋, 1732 - 1811. 정조 때의 장가)
  • 지영민/ㅇㅈㅎ게임 . . . . 5 matches
          puts("나(은)는 몸통박치기!!를 사용했다.");Sleep(TURN_GAP);
          puts("나(은)는 튀어오르기!!를 사용했다.");Sleep(TURN_GAP);
          puts("나(은)는 단단해지기!!를 사용했다.");Sleep(TURN_GAP);
          puts("나(은)는 수강취소를 사용했다!");Sleep(TURN_GAP);
          continue;
  • 최소정수의합/송지훈 . . . . 5 matches
         -> 파싱 에러, 즉 구 에러가 나는 코드입니다. (<=) 함수가 어떤 전달인자를 받는지 알아보세요.
         while 을 쓰는 것이 필수 보조조건이었는데 haskell도 while 쓰는 법이 있나요?
         Haskell에서 굳이 반복이란 개념을 사용하지 않아도 되잖아요?ㅋㅋ [최소정수의합/임인택2] 도 한 번 보세요.
         가드 (|)를 써서 조건 형식으로 다시 짰습니다.
  • 최소정수의합/조현태 . . . . 5 matches
          이런 실수를..;; 고등학교때 항상 수열에서 n-1까지의 합을 구하는 버릇때에 공식을 잘못 적었군요.^^
          * 1에서 n수까지 합 공식을 사용한것 같은데, 알고리즘 측면으로 공부하는 것이라서, 원리적인 알고리즘을 사용하는 코드를 사용하면 좋을 것 같네요. 비록 제 생각이긴 하지만, 복잡한 제에서는 공식을 알 수 없을 것 같아서요^^ -[허아영]
  • 토이/메일주소셀렉터 . . . . 5 matches
          * 파일 I/O 구현 및 자 처리 연습
         특정 파일을 읽어들여 거기에 있는 자들 사이에 공백을 넣어 다른 파일에 저장한다. 이때 개행자는 무시되어야한다.
         자열을 하나 입력 받고 그것이 메일 주소 형식에 맞는지 여부를 알려줌
         ||이름|| 사용언어 || 링크||완료||
  • 파스칼삼각형/강희경 . . . . 5 matches
         바보같이 제도 안읽고 코딩하다보니
         다른 제를 풀었네요.
          for(int j = 1; j < column-1; j++){ //숫자는 자신의 머리 위에 있는 2개의 숫자를 더한 값
          for(int i = 0; i <= n; i++){ //숫자 사이 사이의 빈칸 출력
  • 파이썬으로익스플로어제어 . . . . 5 matches
         //동서버의 경우 http://www.caucse.net/page/home.php 로 해야함.
         == 질 ==
          * ie의 type이 instance라고 나오는데, ie가 사용할 수 있는 메소드(맞나요?)에 대한 설명이 있는 서가 어디 있나요? 어제 보여주신 id, pw를 입력폼에 넣는 메소드 및 사용법을 알고 싶어요. -- 재선
  • 프로그래밍잔치/첫째날 . . . . 5 matches
          * ZeroWiki를 사용할때 지켜야할 제 1 원칙을 제시 한다.
          * 다양한 언어 혹은 Frameworks로 제 풀기
          * 언어를 이용하면서 제 풀기. & 해당 언어에 대해서 위키에 Thread - Document 작성
          * 간식 30 ( 먼저 준비 되었다는 전제 - 2시에 주. 2시 30분에 가지러 감.)
          * 제 설명, 그룹 나누기 10
  • 학문의즐거움 . . . . 5 matches
         일본의 히로나카 헤이스케라는 사람이 공부하는 후진들을 위해 자신의 공부에 대해 이야기하는 자서전 형식의 수필이다. 그는 천재가 아니다. 하지만 남들보다 두배 이상의 노력을 한다. 한가지 제를 풀기 위해 수년간 노력해온 과정을 보면 그가 정말 대단한 사람이라는 것을 느낄 수가 있다. 그는 학을 하는것은 지식을 키우기 위함도 있지만 나아가 지혜를 넓이기 위함이라고 한다. (이부분을 많은 사람들이 공감할 것이라고 생각한다). 그리고 주위에서 끊임없이 배우라고 한다.
         책을 읽으면서 리처드 파인만이 떠오르고는 하는데 리처드 파인만이 약간 천재적인 면을 가지고 학을 유희적(?)으로 즐기는 스타일이라면(물론 '즐기기위해' 학을 했던것은 아니었을 것이다) 히로나카 하이스케는 될때까지 하는 '노력파' 스타일인것 같다. (SeeAlso NoSmoke:파인만씨농담도잘하시네 )
         이 책을 읽으면 공부란 무엇인가? 어떤 자세가 바람직한 가에 대한 저자의 생각을 볼 수 있다. 자서전 형식의 수필답게 꼭 이래야 한다는 지침서는 아니라고 본다. 나의 경우 동감이 되는 부분도 있었지만, '''이건 좀 아닌 것 같은데...'''라는 부분도 있었다. '''제와 함께 잠자라(Sleep with problem)'''라는 명언은 나의 평소 생각을 잘 나타내주었다. -[강희경]
  • 05학번만의C++Study/숙제제출/1 . . . . 4 matches
         ==== C++과 가까워지기 위한 기본적인 제 ====
         === 제 ===
          66page의 4번 제.
         섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. 프로그램은 섭씨 온도로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 한다. 참고로, 섭씨 온도를 화씨 온도로 변환하는 공식은 Fahrenheit = 1.8 X Celsius + 32.0 이다.
  • 05학번만의C++Study/숙제제출1/조현태 . . . . 4 matches
          제 앞에서 말햇듯이, 이 제는 C++에 익숙해 지기위한 입출력 형식만 쓸수 있게 한것이야 ~
         그리고, 너가 짠 소스는 제에 대한 답이 아닌것 같은데? 제를 잘 읽고 써주길 - 아영
  • 2002년도ACM문제샘플풀이/문제B . . . . 4 matches
          * STL 사용하면 쉽게 풀 수 있다는 걸 알고 있었지만 일부러 STL을 사용하지 않았습니다. 알고리즘적으로 머리를 쓰는 걸 훈련하기 위해...^^
          * 처음 딱 보고, 앗 재귀다--; 이러고 막 고민하다가. 득 STL 공부하다가 본 수열 제네레이터가 생각남
         ["2002년도ACM제샘플풀이"]
  • 2007ToeflStudy . . . . 4 matches
         2. 테스트는 100항으로 하고 표제어 하나 틀릴 시 50원, 동의어 하나 틀릴 시 30원의 벌금을 다.
         3. 테스트는 voca_test_generator.xls 파일을 사용한다(필요하신분은 [김건영], 남진석에게 연락)
          * 좋은 의견 감사합니다^^ 예전에 구매했던 mp3파일로 듣기 및 작도 병행해야겠네요. -- 진석
  • 2ndPCinCAUCSE/ProblemB . . . . 4 matches
         B 번 제 : 촌수 계산. 소스파일 이름 : bbb.c or bbb.cpp
         우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 화를 가지고 있다. 이러한 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산한다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌이므로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌이므로 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대한 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오.
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 입력에서 요구한 두 사람의 촌수를 나타내는 정수를 출력한다. 어떤 경우에는 두 사람간의 친척 관계가 전혀 없어 촌수를 계산할 수 없을 때가 있다. 이 때는 -1을 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 제를 맞힌 것이다.
         [제분류]
  • 2학기파이선스터디/클라이언트 . . . . 4 matches
          * Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인한다.
          * UserList? : ChatMain? 클래스의 사용자 List에 접속한 사용자 ID를 보여주는 기능을 한다.
  • 3DAlca . . . . 4 matches
          * 화면은 어느 일정한 한도만 돌아가면 좋겠다. 어지럽다.. 도는 각도 제한, 판이 끝에 걸려서 안 움직이는데도 화면은 계속 회전하는 제 해결 가능
          * 공이 벽돌에 가려지는 제점 해결 요망
          * 시야 확보 하는게
         || 7.29 || 충돌 약간 해결..그래도 좀 제 있음. + 베타테스트 ||
  • 3D프로그래밍시작하기 . . . . 4 matches
          * 옛날 D3d에는 모드가 두가지가 있었는데요 retained mode 하구 immediate mode 가 있었는데 retained 가 immediate위에서 한계층 더 추상화 시킨것이라 하더군요. 보통 immediate를 사용하는것 같더랬습니다. d3d안써봐서리.. --; 정확하진 않지만
         이 시점에서 여러가지 해결해야 할 사항이 생기는데, 첫째로는 파일 포맷에 대해서 정확히 이해하고, 각 항목이 어떤 역할을 하는 것인지를 알아야 하겠으며, 둘째로는 비교적 여러단계로 복잡하게 구성되어 있는 3D Scene Data 를 효율적으로 정렬하기 위한 자료구조를 내 프로그램에 심는 것입니다. STL 같은 라이브러리를 능숙하게 사용할 수 있다면 많은 도움이 될 것입니다. 가급적이면 계층적으로 구성된 모델을 읽을 수 있도록 해야 나중에 애니메이션도 해보고 할 수 있겠죠. 세째로는 기본 이상의 가속기에 대한 조작을 할 수 있도록 d3d_renderstate 들에 대해서 알아두는 것입니다. 최소한 바이리니어 필터링을 켜고 끄고, 텍스춰 매핑을 켜고 끄고, 알파블렌딩, 등등을 맘먹은대로 조합해볼 수 있어야겠죠
         그래도 옛날보다는 훨씬 일이 쉬운 것이, 화면에 텍스춰매핑된 삼각형을 그려주는 부분인 Rasterization 관련 부분은 가속기가 모두 알아서 처리해 주기 때이죠. 옛날에는 어떻게 하면 어셈블리로 최적화를 해서 화면에 그림을 빨리 찍느냐를 궁리하느라 사람들이 시간을 많이 보냈지만.. 요즘은 그런 일에 별로 신경을 쓰지 않고 다른 쪽.. (물리학이나 자료구조 최적화) 에
          * 이것들 이외에도 모델링 데이타를 가져오기 위한 포멧이 여럿 있습니다. x나 3ds등도 쓰입니다. 3ds의 경우 버텍스 모핑 키값을 쓸수 있다 하는데 실효성은 의입니다. 그리고 그넘은 binary로 되있어서 읽을때 조금 더손이 갈 듯합니다.
  • 3N+1Problem/황재선 . . . . 4 matches
         http://bioinfo.sarang.net/wiki/AlgorithmQuiz_2f3Plus1 에서 yong27님의 소스코드를 보았다. 소스가 정말 깔끔했다. 실행속도가 빨라서 그 원인을 분석해가며 지난번 작성했던 코드를 수정했다. 나의 목적은 0.001초라도 빠르게 결과를 출력하는 것이었다. 실행시간을 최소화하기위해 클래스마저 없앴다. 특히 두 부분을 수정하니 실행시간이 현저히 줄었다. 하나는 클래스 멤버변수를 제거하고 지역변수화한 경우인데 왜 그런지 모르겠다. 둘째는 사전형 타입인 cycleDic 에서 key를 자열에서 숫자로 바꾼 부분이었다. 지난번 구현시 무엇때에 수치형을 자열로 변환하여 key로 만들었는지 모르겠다. -- 재선
  • 3rdPCinCAUCSE/ProblemC . . . . 4 matches
         C 번 제 : 구슬 찾기. 소스파일이름 : ball.c or ball.cpp
         우리에게 주어진 것은 양팔 저울이다. 한 쌍의 구슬을 골라서 양팔 저울의 양쪽에 하나씩 올려 보면 어느 쪽이 무거운 가를 알 수 있다. 이렇게 M개의 쌍을 골라서 각각 양팔 저울에 올려서 어느 것이 무거운 가를 모두 알아냈다. 이 결과를 이용하여 무게가 중간이 될 가능성이 전혀 없는 구슬들은 먼저 제외한다.
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 무게가 중간이 절대로 될 수 없는 구슬의 수를 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 제를 맞힌 것이다.
         [3rdPCinCAUCSE],[제분류]
  • 4rdPCinCAUCSE . . . . 4 matches
         = 제 =
         - 당일 챙겼었는데 어디갔나 없어졌던 서;; 오랜만에 책상정리 하던 중에 이상한 파일에서 튀어나오네요;; 3제 다 있고요. 마저 올리겠습니다. - [이승한]
         = 제 풀이 =
  • 5인용C++스터디 . . . . 4 matches
          * Player 3 ( X-( X-( :D :D :D ) : [원명] - 테트리스, 포트리스
          * [5인용C++스터디/키보드및마우스의입출력] - 원명
          * [5인용C++스터디/에디트박스와콤보박스] - 원명
          * [5인용C++스터디/멀티미디어] - 원명
  • 5인용C++스터디/비트맵 . . . . 4 matches
         비트맵은 펜이나 브러시와 같은 GDI객체이다. --> 사용하려면 DC(디바이스 컨텍스트)에서 비트뱁을 선택해서 출력하면 된다.
         비트맵을 사용하는 방법은 펜이나 브러시와 비슷하다. 하지만 한 가지 분명한 차이점은 비트맵은 출력할 DC에 직접 비트맵을 선택하지 않고
         사용한다.
         즉 복잡한 그림을 출력해야 할 경우는 미리 그려진 비트맵을 사용하는 것이다.
  • ACM2008 . . . . 4 matches
         == 제 ==
         || 번호 || 제 제목 ||<-6> 참가자 ||
         [http://acm.pku.edu.cn/JudgeOnline/ POJ] Peking university Judge Online 이란 시스템이 있는데 온라인으로 프로그래밍 제를 제공하고, 온라인으로 소스를 보내면 서버에서 컴파일해서 결과를 알려주는 시스템이다. 책에서는 code 의 길이를 이용한 코드 골프쪽에 초점을 맞추고 있었지만 이 프로젝트의 목표상 그럴 필요는 없을거 같다. 다만 온라인으로 제공되는 제가 꽤 있고 평가하는 시스템이 있으므로 보다 즐겁게 놀 수 있는 '꺼리' 일 것 같다.
  • AdvertiseZeropage . . . . 4 matches
         작년까지는 이즈음 해서 ZeroPage를 홍보했던것 같았는데 올해는 그렇지가 않은것 같네요. 현재 ZeroPage 가입을 희망하는 새내기가 여럿 있는데 ZeroPage에 대해서 질을 하면 적절한 답을 주지 못할 때가 많습니다.
          - 위키 페이지를 만들면 된다고 말은 해 두었지만 실제로 위키를 사용할줄 하는 새내기가 몇이나 있을지 의스럽군요
          * 동서버 이용
  • AnEasyProblem . . . . 4 matches
         [http://poj.org/problem?id=2453 원보기]
         아시다시피, 데이터는 컴퓨터에 이진수 형태로 저장됩니다. 우리가 토론할 제는 양의 정수와 이 수의 이진 형태입니다.
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류],[http://poj.org/problem?id=2453 An Easy Problem ], [ACM_ICPC/2011년스터디]
  • BasicJAVA2005 . . . . 4 matches
         || 3 || 06.01.05 || 선호 현태 민경 수생 지희 태훈 희웅 || 아영 규완 다솔 || 다음시간까지 7,8,9단원 읽기, 숫자야구 작성 || [BasicJava2005/3주차] ||
         - 핸드폰이 고장나는 바람에 자를 못받았네요 -ㅂ- 다음주는 스키장 가서 도저히 참석이 불가능할거 같습니다. 죄송해요 ㅠㅠ 1월달부터 열심히 할게요!! -태훈
          예를 들면, 변수도 한글로 사용이 가능합니다. (예를 들어서 String 임시 = "임시변수입니다."; 이런식으로 작성이 가능하다는 이야기죠.) - 도현
         질 !! 이클립스 쓰는데, run as에 이상한 JUnit Plug-in Test 이런거만 있는데, 어떻게 정상적으로 java application 나오게 하죠? -- 허아영
  • Bigtable/DataModel . . . . 4 matches
          1. 다수의 태블릿이 하나의 SSTable을 참조할 때의 제점?
          1. 저장공간의 재사용 : 커밋로그는 원형 자료구조를 사용하여 자동으로 공간을 재사용하도록 한다.
  • BirthdayCake . . . . 4 matches
         [http://online-judge.uva.es/p/v101/10167.html 원보기]
         === 이 제는 ===
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • C++Study_2003 . . . . 4 matches
          * 나쁘지 않을 것같네. 나는 마음먹은 대로 프로그래밍을 짤 수 있도록, 후반부의 법을 가르쳐 주었으면 좋겠다는 생각을 했는데. --[선호]
          * 법은 혼자서도 익힐수 있지. --[인수]
          * 한다고 해놓고 알바 때에 못 할 가능성이 크네요 ㅡㅡㅋ
          선희는 인수에게 의해 주세요.. --[선호]
  • CPPStudy_2005_1/Canvas . . . . 4 matches
         == 제 ==
          * list 사용
          * map 사용
         === 클래스 사용 예 ===
  • ComputerNetworkClass/Report2006/BuildingProxyServer . . . . 4 matches
         버퍼에 저장된 자열을 formatted 화 된 스트링, 수로 읽을 수 있다.
         자열 파싱에서 아주 편리한 함수
         인터넷 상에서 유일한 16바이트의 숫자를 나타내면 COM객체의 유일한 식별자를 만들기 위해서 이용하지만...
         이것을 이용하면 캐쉬할 파일의 이름이 겹치는 제를 한방에 해결할 수 잇음.
  • ConstructorMethod . . . . 4 matches
         하지만 이 방법은 쓸만한 인스턴스를 만들기 위해 클래스의 레퍼런스를 찾아봐야 하는 등의 골치 아픈 제가 있다. 특히 클래스가 복잡할때는 제가 좀 커진다.
         ''DesignPatterns 로 이야기한다면 일종의 FactoryMethod 임.(완전히 매치되는건 아니고, 어느정도 비슷) 비교적 자주 사용되는 패턴인데, 왜냐하면 객체를 생성하고 각각 임의로 셋팅해주는 일을 생성자 오버로딩을 더하지 않고서도 할 수 있으니까.
         요새 프로그래밍 하면서 느끼는 점은, 과도한 오버로딩은 해당 객체를 이용하는 사람입장에서 골치아프게 만든다는것. 왜냐하면, 같은 메소드 이름에서는 해당 파라메터가 다른 것으로 바뀌었을때에 대한 의도를 메소드 이름에 드러나지 않기 때에.
  • Cpp/2011년스터디 . . . . 4 matches
          * 태진이 한텐 좀 미안한데 혼자서 따로 만들어 보고 있었다. X코드와 VS2008은 서로 다른점이 너무 많아서 둘이 같이하면 이래저래 진행이 안될것 같아서; 움직이는 블록과 이미 자리잡은 블럭(+배경) 그리고 이들을 움직이게 하는 함수. 이렇게 3개를 class화 했다. 이 중 이미 자리를 잡은 블럭은 다른 두개의 객체에서 접근가능하면서, 유일하게 하나만 존재해야 했다. 그래서 찾아본결과. 싱글톤 패턴이란게 있어서... 이것 때에 하루동안 고생했다. 어쨋든 성공 ㅋㅋ 뭔가 끝이 보이는 느낌이다. 근데 왠지 완성시키고 나면 종나 느릴것 같아..
          * 왼쪽이동은 switch 에 break;를 안써놔서 그런거였다 ㅡㅡ;
          * 위의 제를 해결하니 블럭이 원하는데로 잘 죽고 잘 생성되더라. 근데 1줄을 없애려 하니...
         참고 : 경악스러운 제의 그 릴리즈 http://pds22.egloos.com/pds/201108/21/51/Tetris-rino2.exe
  • CreativeClub . . . . 4 matches
          5. 기기, 장소
          * 제점
          * 개인적으로 진행한 프로젝트 등을 손봐서 공모전에 사용하지 않음
          * 학회실을 자주 사용하도록 유도한다.
  • CryptKicker2/문보창 . . . . 4 matches
         암호화 방법이라. 재밌는 제. 꼼꼼히 따져주기만 하면 되는 제.
         /* 평공격법
         [CryptKicker2] [보창]
  • DevPartner . . . . 4 matches
         = 간단한 사용법 =
         2. 사용
         * 간단 사용법 :
         솔루션탐색기에서 솔루션의 속성 페이지(ALT+ENTER)를 열면, "Debug with Profiling"이란 항목이 있습니다. 이 항목의 초기값이 none으로 되어 있기 때에, None이 아닌 값(대부분 native)으로 맞추고 나서 해당 솔루션을 다시 빌드해야합니다. 링크시 "Compuware Linker Driver..."로 시작하는 메시지가 나오면 프로파일링이 가능하도록 실행파일이 만들어진다는 뜻입니다.
  • Eclipse/PluginUrls . . . . 4 matches
          * ["Subversion"]을 사용할 수 있게 해 주는 Plugin
         ==== 제 상황 해결 ====
          * Memory 사용정보를 보여주고 ["GarbageCollection"]을 사용가능하게 해 주는 Plugin, 시간을 설정해두면 주기적으로 알아서 GC를 해줌.
  • EightQueenProblem/kulguy . . . . 4 matches
         제에 대한 개략적인 이해만 하고서 마치 그 알고리즘을 완전히 이해한 냥 무턱대고 코딩에 들어갔다가 정답이고 뭐고 완전히 엉켜버렸습니다. 결국 처음부터 다시 코딩 이전 단계부터 차근히 준비하여 겨우 제를 해결할 수 있었습니다. 코딩 이전의 여러 프로그래밍 단계는 함부로 건너뛸 단계가 아니란 것을 다시 한번 뼈 속 깊이 깨달았으며 성능을 위해 시공 교환 법칙을 나름대로 적용해 보았는데 그 효과의 상당함을 경험하였습니다.
          성능이란 것을 크게 수행 시간(時)과 수행시 필요한 메모리(空)라는 2가지 측면에서 본다면 메모리쪽의 성능을 희생해서 수행 시간을 끌어올리는 것을 말합니다. 즉, 자주 쓰일 것 같은 계산 결과는 매번 계산하지 않고 메모리에 담아두거나 외부에 저장했다가 가져오는 식이 되는 거죠. 저같은 경우 제를 풀기 위해 체스판 위에 퀸 하나가 놓일 때마다 다음 퀸이 놓일 수 있는 "가능한 자리를 계산"해서 그 다음 퀸을 배치하는 방식을 사용했습니다. 이 때 "가능한 자리를 계산"한 결과를 메모리에 담아두고 계속 이용하였죠. 참고로 이 용어와 개념들은 김창준님이 마소에 기고하신 파이썬 관련 기사에서 비스므리 인용한 것 입니다. 인용이란 본래 그 내용을 정확히 전달해야 하는데 -_-;;; 마소 기사를 직접 참고해보시기 바랍니다 :)
  • EightQueenProblem/최태호소스 . . . . 4 matches
         제를 본 순간부터 시간을 체크..--;;
          if(Q[i]==1) continue;// 그 줄에 queen 이있는것이므로 다음칸으로..
         아래것은 두번째 제인데..
          if(Q[i]==1) continue;// 그 줄에 queen 이있는것이므로 다음칸으로..
  • ErdosNumbers/차영권 . . . . 4 matches
         Time Limit 나올꺼 같았다. 루프의 사용이 깔끔하지 못한거 같다.
          continue;
          continue;
          continue;
  • EuclidProblem . . . . 4 matches
         [http://online-judge.uva.es/p/v101/10104.html 원보기]
         || [보창] || C++ || 10분 || [EuclidProblem/보창] ||
         [제분류] [AOI]
  • FocusOnFundamentals . . . . 4 matches
         어떻게 특정한 플랫폼에서, 특정한 언어로, 화면을 빨리 리프래쉬하는지 테크닉을 가르쳐주는 책에 관심있는 사람은 많아도 모든 플랫폼에서, 모든 언어로, 특정 제에 어떤 패러다임을 적용해야 할 지 관심있는 사람은 드물다.
         내가 EE 교육을 시작했을때 나는 나의 낡아빠진 'RCA Tube Manual'이 쓸모없는 것임을 알고 놀라게 되었다. 나의 교수들 그 누구도 특정 tube 나 tube 의 타입의 장점에 대해 칭찬한 적이 없었다. 내가 왜 그랬는지 질했을때 '유명했던 디바이스나 기술들은 10년 내에는 별볼일 없어진다'는 것을 알게되었다. 대신, 나는 근본적인 물리, 수학, 그리고 내가 오늘날까지도 유용함을 발견하는, 사고하는 방법에 대해 배웠다.
         자바를 후벼파는 것은 좋습니다. 그러나 동시에 OOP도 후벼파야 합니다 -- 사실 OOP를 후벼파면서 자바를 등한시 하기는 어려울 것입니다. 하지만 자바'''만''' 후벼파는 것은 다시 한번 생각해 보십시오(그러나 제가 앞서 말했듯이 잠자다가도 자바 때에 가슴이 뛴다면 공부하십시오). 미리 배움에 한계를 긋지 마십시오. 그리고 좀 추상적인 이야기가 될지도 모르겠는데, 우리는 "소크라테스가 죽는다"는 것을 배우는 것에서 그치길 원하지 않습니다. 우리는 "사람은 죽는다"는 것을 배우고 싶어합니다. 그러나 그 배움은 직접적인 사실의 체험 이후에 가능합니다. 고로 모든 공부는 기본적으로 귀납을 바탕으로 합니다(이것이 제가 말하는 "몸 공부"입니다). 귀납식, 연역식 공부라고, 또 그것을 개성이라고 구분하는 것은 무의미합니다. see also NoSmok:최한기''''''의 추측록
         세상에는 참 다양한 사람이 있습니다. 귀납식의 공부를 해야 잘되는 사람, 연역식의 공부를 해야 잘되는 사람.. 자바를 죽도록 공부했더니 OOP의 근본만을 후벼판 사람보다 더 OOP를 잘 꿰는 사람도 있을 수 있습니다. RDB가 아닌 오라클만이 RDB의 전부라고 생각하는 사람이 오히려 더 빨리 RDB의 근본을 깨칠 수도 있습니다. 컴파일러학이 나오고 포트란 언어가 나온 것은 아닙니다. 어느 하나의 방법만이 옳다고 생각하지는 않습니다. 그리고 그 어떤 것도 잡다하지는 않다고 생각합니다. 사람마다 너무나 다양한 개성이 있겠지요. --["아무개"]
  • FromDuskTillDawn/변형진 . . . . 4 matches
         출제된 제에 나온 열차 시간표가 2번째 케이스에서 도착할 수 없게 되어 있어서, 시간표를 임의로 수정해서 테스트해보니... 잘 된다. :)
          if(($start<18&&$start>6)||($end<18&&$end>6)||($start<=6&&$start>=$end)||($end>=18&&$end<=$start)) continue;
          if($city[$next]) continue;
          if($today[$next]) continue;
  • Gof/Composite . . . . 4 matches
         드로우 에디터나 회로설계 시스템과 같은 그래픽 어플리케이션은 단순한 컴포넌트들의 차원을 넘어서 복잡한 도표들을 만들어내는데 이용된다. 사용자는 더 큰 컴포넌트들을 형성하기 위해 컴포넌트들을 그룹화할 수 있고, 더 큰 컴포넌트들을 형성하기 위해 또 그룹화 할 수 있다. 단순한 구현방법으로는 Text 나 Line 같은 그래픽의 기본요소들에 대한 클래스들을 정의한 뒤, 이러한 기본요소들에 대해 컨테이너 역할을 하는 다른 클래스에 추가하는 방법이 있다.
         하지만, 이러한 접근방법에는 제점이 있다. 비록 대부분의 시간동안 사용자가 개개의 객체들을 동일하게 취급한다 하더라도, 이러한 클래스들을 이용하는 코드는 반드시 기본객체와 컨테이너 객체를 다르게 취급하여 코딩해야 한다는 점이다. 이러한 객체들의 구별은 어플리케이션을 복잡하게 만든다. CompositePattern은 객체들에 대한 재귀적 조합 방법을 서술함으로서, 클라이언트들로 하여금 이러한 구분을 할 필요가 없도록 해준다.
         RTL Smalltalk 컴파일러 프레임워크 [JML92] 는 CompositePattern을 널리 사용한다. RTLExpression 은 parse tree를 위한 Component 클래스이다. RTLExpression 은 BinaryExpression 과 같은 서브클래스를 가지는데, 이는 RTLExpression 객체들을 자식으로 포함한다. 이 클래스들은 parse tree를 위해 composite 구조를 정의한다. RegisterTransfer 는 프로그램의 Single Static Assignment(SSA) 형태의 중간물을 위한 Component 클래스이다. RegisterTransfer 의 Leaf 서브클래스들은 다음과 같은 다른 형태의 static assignment 를 정의한다.
  • Hacking/20041028두번째모임 . . . . 4 matches
         === nmap 사용하기 ===
          기본 사용법) nmap ip주소
          사용예) nmap -v -sS ip주소
          * 해커스랩 레벨1 획득하기(level0 제 풀기)
  • HelpForBeginners . . . . 4 matches
         처음 위키위키를 방하신다면 무작정 다른 페이지를 고치려 하지 마시고 [위키모래상자]같은 곳에서 위키위키에 사용되는 간단한 법을 테스트해보시기 바랍니다.
         위키위키의 법을 지금 당장 알고싶으신 분은 HelpOnEditing 페이지로 가시기 바랍니다.
  • HerdingFrosh . . . . 4 matches
         [http://online-judge.uva.es/p/v101/10135.html 원보기]
         4학년 선배는 전신주에 그 명주실을 묶고, 잔디밭 주변을 한 바퀴 돌면서 명주실로 모든 학생들을 감싼 다음 다시 전신주로 돌아온다. 그 선배는 모든 신입생들을 둘러싸는 필요한 최소 길이만큼의 명주실을 사용했으며, 전신주에 명주실을 묶기 위해서 1미터만 남겼다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • IsbnMap . . . . 4 matches
         IsbmMacro에서 사용하기 위해 다음과 같은 방식으로 ISBN을 등록하실 수 있습니다.
         그래서 ISBN으로 링크를 걸면 규칙에 안 맞기 때에 그림이 안 뜨죠.
          IsbnMap 에서 map 을 분리해서 사용하는 방법이 있을 수 있고 - 이 경우 출판년도에 따라서 옵션을 달리 줘야 하는 불편함이 있습니다. - ISBN 매크로를 고쳐서 (가능하다면 jpg가 없을 때 gif를 찾는 어떤 로직을 넣는 방법이 있을지 않을까 하는 생각이 듭니다. 제가 coding에 능력이 전혀 없는지라, 이게 구현할 수 있는 방법인지는 모르겠지만 논리적 차원에서는 이게 사용자 정신건강에 이로운 해결책이 아닐까합니다. (제 위키에서 책목록을 관리하는데 수작업으로 바꿔 줄 생각을 하니 조금 끔직합니다. - 스크립트를 돌려도 되기는 하지만 ... )
  • JavaStudy2002/진행상황 . . . . 4 matches
          * 11/14(목) 오후 1시 - TDD Airport ( See Also ["VonNeumannAirport"]), ["Eclipse"]사용, ["CVS"] 사용
          * 11/21(목) 오후 1시 - Airport 다시 공지, ["CVS"] 사용법, TDD 토론, 질 답변
  • KAIST전산대학원면접/06전기 . . . . 4 matches
         "질하나 하겠는데, 트리와 그래프의 차이에 대해 아나?"
         "이게 제야. 교재가 잘못나와서 모든 대학생이 잘못배우고 있는데 지금 자내가
         공급이 부족한 이시기에 재사용성과 유지보수성이 중요하다고
         프로그래밍을 짤수 있고 유지보수가 재사용성을 늘릴수 있다고
  • LUA_1 . . . . 4 matches
         Python 언어를 한 동안 사용하다가 최근에는 루아에 관심을 갖게 되었는데, 의외로 루아에 대한 정리 된 자료를 찾는게 쉽지 않았습니다. 또한 오랫동안 C/C++/C#에 얽메여 있으면서 뭔가 새로운 것을 배우고자 하는 욕망에 강좌를 시작하게 되었습니다. 부족한 점이 있지만 저도 배우는 입장에서 루아에 대해 정리해 나가도록 하겠습니다.
          왜 루아를 써야 할까요? Python 도 있고 Ruby, Perl 도 있는데 굳이 루아를 배워야 할 이유가 있을까요? 넵! 있습니다. 루아는 루아 나름의 매력이 있습니다. 그 중 첫째는 작다는 것입니다. 네 매우 작아요. 소스 코드가 5.1.4 버전이 216679 바이트 밖이 하지 않습니다. 이렇게 작으니까 배포할 때 굳이 고민하지 않아도 되겠죠. 그리고 이렇게 작기 때에 embedded 환경에서도 사용 될 수 있습니다. eLuaProject가 그 중 하나입니다. 그리고 Lua는 Pure C 코드로 Porting 하기도 용의 합니다.
         짧게 나마 루아의 소개 글을 작성해 보았습니다. 다음에는 기본적인 법을 다뤄보겠습니다.
  • LearningGuideToDesignPatterns . . . . 4 matches
         원 : http://www.industriallogic.com/papers/learning.html
         여기서는 원중 Suggest Navigation 에 대해 번역 & 정리
         Pattern들은 각각 독립적으로 쓰이는 경우는 흔치 않다. 예를 들면, IteratorPattern은 종종 CompositePattern 과 같이 쓰이고, ObserverPattern과 MediatorPattern들은 전통적인 결합관계를 형성하며, SingletonPattern은 AbstractFactoryPattern와 같이 쓰인다. Pattern들로 디자인과 프로그래밍을 시작하려고 할때에, 패턴을 사용하는데 있어서 실제적인 기술은 어떻게 각 패턴들을 조합해야 할 것인가에 대해 아는 것임을 발견하게 될 것이다.
         FactoryMethodPattern 로 시작하라. 이 패턴은 다른 패턴들에 전반적으로 사용된다.
  • LinuxProgramming/SignalHandling . . . . 4 matches
         유닉스 시스템에서 어떤 이벤트(event)가 발생하면 이것을 프로세스 사이에 알리는 수단으로 시그널이 사용된다.
          SIGCHLD - child process terminated, stopped (*or continued)
          SIGCONT - continue if stopped
         이미 OS 에서 모든 처리를 다해주기 때에 프로그래머는 핸들러만 정의하면 만사 OK다
  • Lotto/송지원 . . . . 4 matches
         == 제 설명 ==
          || 입력 ||여러 개의 테스트 케이스, 각 줄의 첫번째 숫자는 6부터 13 사이 임의의 숫자 갯수, 그 뒤에는 첫번째 숫자 갯수 만큼의 정수가 뒤이어 나와야 한다. ||
  • MFC/Print . . . . 4 matches
          프린터에 대한 데이터의 출력은 디스플레이에 출력하는 것과 동일한 방식으로 이루어진다. (GDI가 장치 독립적으로 만들어져 잇기 때이다.)
         || m_bContinuePrinting || TRUE로 설정되면 출력 루프를 계속한다. FALSE가 되면 프린트 작업 종료. ||
         || m_rectDraw || CRect 객체. 페이지에서 사용 가능한 영역을 논리 좌표로 정의 한다. ||
         || m_strPageDesc || CString 객체로 프린트 preview 동안에 페이지 번호를 나타내기 위해 프레임 웍에서 사용되는 포맷 자열을 포함한다. ||
  • MFC/Serialize . . . . 4 matches
          직렬화 기능이 작동하는데 있어서 필요한 것. 이는 파일로 부터 객체를 읽을때 객체를 합성하는 프레임웍에 의해 사용된다.
         DECLARE_SERIAL()매크로를 통해서 직렬화 기능의 추가가 가능하다. 내부적으로 new, delete 를 사용하는데, 매모리 릭을 추적하는 코드가 들어가므로 특별히 프로그래머가 신경써야 하는 부분은 없다.
         를 추가하면 된다. (Class Wizard 가 관리하는 부분에 삽입하는 것은 제외 ㅡ.ㅡ;;)
         3번째 인자는 다른 버전의 프로그램으로 읽었을 때 발생하는 제를 막아준다.
  • MFCStudy_2001 . . . . 4 matches
          == 서화 ==
          * ["MFCStudy_2001/MMTimer"] : 인수+선호 의 서화[[BR]]
          * ["MFCStudy_2001/오목인공지능알고리즘"] : 상협 + 창섭의 서화
         [상협] 버그 이유 방금 찾았어여... 요인은 띈 33 공격 함수 부분이었어여.. 띈 33 공격과 방어를 같은 함수로 처리하면서 제가 생긴거 같아요. 이제 에러 뜨는 일은 없을거 같네여...아예 띈 33 공격 함수를 작동 안하게 만들었거든요..ㅡㅡ;; 나중에 시간 나면 고쳐서 넣아야징...
  • MagicSquare/은지 . . . . 4 matches
          while(num != size*size) //숫자를 다 넣을때까지 반복
          board[row][col] = num; //숫자 대입
          else //자리에 다른 숫자가 있을 경우
          board[row][col] = num; //숫자 대입
  • Metaphor . . . . 4 matches
         원 : http://www.extremeprogramming.org/rules/metaphor.html
         시스템 메타포를 선정하면 같은 팀내에서 클래스와 메소드의 이름을 일관적으로 정할수 있어 공감대를 형성할 수 있다. (즉 하나의 메타포를 선정하여 공유하면 변수 이름같은 것을 지을때 같은 관점으로 짖게 된다는 의미). 어떤 객체에 대한 이름을 정하는 것은 시스템 전체를 이해하거나 코드를 재사용하는데 매우 중요하다. 만약 메타포를 올바르게 정한다면, 이름이 어떻게 정해지는가를 추측할 수 있게되고 실제로 개발 시간을 크게 절감시켜준다. 구축할 객체에 대한 이름을 위한 시스템(즉 메타포)를 결정할때는 모든 사람이 해당 시스템에 대하여 특별한 지식이 없이도 쉽게 연관되어 질수 있는 것으로 선택해야 한다. 예를 들어 크라이슬러의 지불시스템은 생산라인으로 구축되었다. 포드의 자동차 영업사원들은 BOM(부품표)으로 구조화 되었다. 구축하려고 하는 분야의 메타포를 사용할 수도 있다. 그러나 충분히 단순하지 않다면 영영에 해당하는 메타포를 사용하지는 말아라.
  • MindMapConceptMap . . . . 4 matches
         MindMap 의 제점은 중간에 새어나가는 지식들이 있다. 기본적으로 그 구조가 상하관계 Tree 구조이기 때이다. 그래서 보통 MindMap 을 어느정도 그려본 사람들의 경우 MindMap을 확장시켜나간다. 즉, 중심 개념을 여러개 두거나 상하관계구조를 약간 무시해나가면서. 하지만 여전히 책을 읽으면서 잡아나간 구조 그 자체를 허물지는 않는다.
         MindMap 의 표현법을 다른 방면에도 이용할 수 있다. 결국은 트리 뷰(방사형 트리뷰) 이기 때이다. [1002]의 경우 ToDo 를 적을때 (보통 시간관리책에서 ToDo의 경우 outline 방식으로 표현하는 경우가 많다.) 자주 쓴다. 또는 ProblemRestatement 의 방법을 연습할때 사용한다. --[1002]
  • MobileJavaStudy/SnakeBite/FinalSource . . . . 4 matches
          private Command continueCommand;
          continueCommand = new Command("Continue", Command.SCREEN, 1);
          splashCanvas.addCommand(continueCommand);
          if(c == continueCommand) {
  • MoniWikiPo . . . . 4 matches
         msgstr "사용자 설정이 성공적으로 저장되었습니다 !"
         "1.#n 숫자 n부터 번호 매기기; 공백만 있으면 들여쓰기.<br />\n"
         msgstr "사용자 등록"
         msgstr "대"
  • Monocycle . . . . 4 matches
         [http://online-judge.uva.es/p/v100/10047.html 원보기]
         각 테스트 케이스의 첫째 줄에는 그리드의 크기를 나타내는 두 개의 정수 M과 N(1≤M, N≤25)이 입력된다. 그 밑으로는 M줄에 걸쳐서 각각 N개의 글자로 그리드 구성을 기술하는 내용이 입력된다. '#' 자는 자전거가 갈 수 없는 정사각형을 나타내며, 다른 모든 정사각형에는 자전거가 갈 수 있다. 자전거의 출발지점은 'S'로, 도착지점은 'T'로 표시된다.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • MultiplyingByRotation/문보창 . . . . 4 matches
         1학년 때 풀어서 틀렸었던 제를 다시 풀어보았다. 일단 이동곱셈의 규칙성을 연습장에 끄적이는 도중 쉽게 발견할 수 있었고, 간단히 사칙연산으로 구현할 수 있었다. 마지막 자리숫자가 0일 경우의 예외처리를 해 준 후 바로 통과.
          continue;
         [MultiplyingByRotation] [보창]
  • NSIS/예제3 . . . . 4 matches
         ; 기본 인스톨
         LicenseText "인스톨 하기 전 이 구를 읽어주십시오" "동의합니다"
          ; 사용했던 디렉토리들 제거.
         LicenseText: "인스톨 하기 전 이 구를 읽어주십시오" "동의합니다"
  • NSIS/예제4 . . . . 4 matches
         설치중에 윈도우 서비스를 멈췄다가 살리는 스크립트. 이것때에 삽질을 좀 했다....-_-;; servicelib.nsh 파일을 인클루드 해줘야한다.
         LicenseText "인스톨 하기 전 이 구를 읽어주십시오" "동의합니다"
         DirText "VNC 4.0 영판이 설치되어있는 곳의 경로를 지정해 주세요."
         SpaceTexts "필요한 용량 : " "사용가능한 용량 : "
  • NiceMilk . . . . 4 matches
         [http://online-judge.uva.es/p/v101/10117.html 원보기]
         컵에 들어있는 우유의 양이 제한되어 있기 때에 빵의 밑변과 우유가 이루는 수면 사이 영역만 우유로 적실 수 있다. 우유의 깊이는 h며, 빵에 우유를 계속 찍어도 우유의 높이는 줄지 않는다. 토미는 이런 식으로 최대한 넓은 영역을 우유로 적시려고 한다. 하지만 빵을 우유에 담그는 횟수는 최대 k번으로 제한되어 있다. 컵은 빵을 집어넣을 때 전혀 걸리지 않을 만큼 충분히 크다고 가정하자.
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • One/주승범 . . . . 4 matches
          continue ;
          printf (" 숫자를 입력하시오 \n ");
          printf (" 숫자를 입력하시오 \n ");
          printf (" 숫자를 입력하시오 \n ");
  • PC실관리/고스트/네트워크를이용한OS설치 . . . . 4 matches
          * 뭐 별로 대단한것은 아니지만 이렇게 간단한것도 만약 있는것을 모르면 오늘처럼 엄청난 삽질을 후배들이 또 하게될것이 심히 염려스러워서 간단한 서를 만듬
          * 고스트를 사용하면 네트워크상에 다른 컴퓨터에 있는 고스트 이미지를 사용하여서 현재 컴퓨터에 이미지가 없더라도 설치가 가능하다. 교내 네트워크로 하기 때에 속도가 상당히 빠르다. 10분안에 설치가 끝난다.
  • PC실관리수칙 . . . . 4 matches
         3. 인쇄물이 남아있어 프린터를 사용하지 못하는 경우, 삭제되지 않으면 프린트를 끄고 몇초 후 다시 켜보는 것을 추천한다. 이후에도 차도가 없다면, 2번 프로세스를 따라가는 것이 좋다.
          * 현재까지 해오던 방식을 기술하였습니다. 세세한 부분은 대개 임의로 하여도 제 없을 것 같습니다.
          * 두고 간 개인물건들은 한군데 모아두고 있으나 장소는 일정하지 않다. 전자기기 같은 귀중품은 회수한 뒤 동네 게시판에 업로드하고, 우산이나 책같은 것은 지금 현재는 PC실 바로 앞 빈 책상 앞에 모아 두었다.
          * 관리 일지는 서술할 것이 있으면 장으로 쓰고, 달리 없으면 명사로만 적으면 된다.
  • PHP Programming . . . . 4 matches
         [혜영] Professional PHP Progamming, Jesus Castagnetto 외 4명 공저(김권식 역), 정보화사 [[BR]]
          *2002.2.21 - 태그 공부하고, php 1장 읽음(php소개), 2장은 직접 설치할 것이 아니기 때에 건너뜀..
          * 저도 객원으로 껴주세요.. 전 다른책을 볼 생각이라서요. 'Beginning PHP 4' 인가? 아무튼 그거도 빨간책인데. 'Professional' 은 아무래도 무리스러워서. 승낙해주시면.. 가끔 서화에 약간의 도움이라도..; -zennith
          * 서화라..^^; 맘껏..^^;; 환영합니다.. 남훈씨..ㅋㅋ
  • PHPStudy2005 . . . . 4 matches
          * 참여자 생기면 다음주 부터 시작하던지 하겠습니다. (이번주는 숙제때에 너무 바빠서.. ㅠㅜ) 참여자 없으면 다음 기회에 하던지 하겠습니다.
          * [http://ezphp.net/lecture/ 다우니 PHP 초보 강좌] - 정현아 왼쪽꺼 강좌 3 법 배우기, 4 카운터 만들기만 익히면 된다. 그리고 바로 투입~! ㅋ -[상협]
         == 도움 서 ==
          * [ZPBoard/PHPStudy/기본법]
  • PracticalC . . . . 4 matches
          === 주석 없는 프로그램의 제점 ===
          1.저자가 이해하지 못하는 부분이 있을 수 있기 때에 수정이 어렵다.
          사용법 : 프로그램 작동법에 대한 간략한 설명
          제한 : 프로그램을 사용할때 제한범위를 설명(잘 모르겠음....)
  • PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 4 matches
         이장에서는 서로 다른 의미로 사용되는 용어의 정의를 목적으로 한다.
         개발 중인 프로젝트의 모든 버전이 저장되는 장소이다. 파일 시스템, DB일수도 있으며, 어떤 경우에는 2가지를 같이 사용하기도 한다.
         이 경우 PreRelease2를 불러들이게 되면 상기의 버전의 파일들이 불러들여지게 된다. 태그는 프로젝트의 진행에 있어서 중요한 일이 발생한 시점을 기록하는 것으로 사용되는 것도 가능하다.
         상기와 같은 식으로 소스를 수정한뒤 fix01, fix02를 순차적으로 체크인하면 fix01에 의해서 저장소에 있는 파일이 갱신되었기 때에 fix02가 체크인 되는 시점에서 충돌이 일어나게 된다. 이경우 CVS는 fix02의 소스에서 fix01에 반영된 3번째 줄의 변경내용을 병합하여 로컬 작업 공간에 반영하고 체크인하게된다.
  • PrimaryArithmetic/1002 . . . . 4 matches
         제 자체 읽으면서 그냥 뻔해보이긴 했다. 이전에 디지털 공학 수업때 가산기에 대해서 배운바도 있었던 관계로. 그냥 머릿속에 대략의 할 일들이 그려졌다.
         제를 이리저리 나눠보니, 자리수 하나에 대해서 carry 가 발생하는지를 세는 것이 쉬워보였다. 그리고 해당 스트링을 일종의 list 로 나누는 것도 있으면 좋을 것 같았다. 그리고 carry 에 대해서 추후 앞자리에 더해주는 작업 등을 해야 할 것 같았다. 일단은 이정도 떠올리기로 하고, 앞의 두 일만 하였다.
         이 상태에서 '음.. 이정도 구현이면 어디까지 기능이 커버될까?' 라는 의이 생겼다. 일단 만든 코드들을 연결해보았다.
         일단, testToList 부터. 제 스펙에서 '10자리 미만 수'라는 점을 그냥 이용해도 될 것 같다는 생각이 들었다.
  • Profiling . . . . 4 matches
         순간에 얼마나 많은 사용자를 수용할수 있는가?
         사용자의 요구에 얼마나 빠른 응답을 보이는가?
         좀더 적은 메모리를, 좀더 적은 디스크의 용량을 사용할수 있는가?
         이런 '''성능'''을 좌우하는 것은 제 상황에 적절한 자료구조와 알고리즘이다. 그리고 우리가 감안해야 할점은 이것이다.
  • ProgrammingLanguageClass/2006/Report3 . . . . 4 matches
         제시된 제는 상기와 같으며, 이는 100번째의 조화수를 구하는 제를 해결하는 방법입니다. 차후에 그 이름도 유명한 Knuth 님께서 Man Boy Test로 발전시켰습니다.
         음 잠깐 하면서 생각한건데.... 이 숙제 정말로 구리다. -_- 내가 이렇게 재미없는 숙제를 하게된건 파일구조때 binary 가지고 장난친 이후 처음인듯하다. 자열 장난할꺼면 펄로하게 해주던지... C 자열 함수 가지고 놀려니... 정말로 구리다라는 생각뿐~ - [eternalbleu]
  • ProgrammingPearls/Column4 . . . . 4 matches
          * Sequential Control Structures : 이 장 다음에 저 장. 그 사이에 assertion을 집어넣는다. 그럼 프로그램 장 하나하나의 각각의 진행상황을 체크할수가 있다.
          * Selection Control Structures : 조건에서 쓰인다. 각각의 조건마다, 확실히 맞다는 assertion을 집어넣어준다.
  • ProgrammingPearls/Column5 . . . . 4 matches
          * 그냥 Binary Search의 슈도코드를 C법으로 바꿔놓은 것이다.
          * 큰 프로그램에서는 툴에서 제공하는 디버깅을 쓰지만, 이렇게 작은 알고리즘 같은 것에서는 print 같은걸 쓰는게 편하다고 한다.
          * c에서의 assert사용하는 테크닉 같은 것을 보여주고 있다.
  • ProjectPrometheus/Iteration1 . . . . 4 matches
         || 네트웍 연결. HTML 서 하나 가져오기 || 1 || ○ (1시간) ||
         || HTML 서 가져오는 클래스 (Spider) 작성 || 1 || ○ (2시간) ||
         || . || 3. 키워드에 한글과 숫자 조합. || ○ ||
         || . || 4. 키워드에 한글과 숫자, 빈칸 조합. || ○ ||
  • ProjectVirush . . . . 4 matches
         로그인 클라이언트 사용자 암호 암호화 1.5
         로그인 서버 사용자를 파일에 등록 0.5
         예약(zone->lab) 서버 사용자마다 스레드 할당 4
         연구실 서버 사용자당 실험용 지역 생성 6
  • ProjectZephyrus/Client . . . . 4 matches
         || 사용자 로그인 관련 ID/PASS 입력창 작성 || 1 || ○ (20분) 5/31 ||
         |||||| ''' 서버에 사용자등록 - 3 (이는 일단 서버팅 DB 에 있는 것을 이용하기로 함) ''' ||
         || 사용자 등록 양식 작성 || 0.5 || . ||
         || 사용자 입력 데이터를 서버에 전송 || 1 || . ||
  • PyIde/Exploration . . . . 4 matches
         PyIde/CodeEditor 분석 & wxStyledTextCtrl API 사용방법들 구경.
         Design 을 할때 오버하는 성향이 있는 것 같다. IListener 가 있으면 DIP를 지키는 것이기도 하고, 기존 TestResult 등의 클래스들을 수정하지 않으면서 Listener 들만 추가하는 방식으로 재사용가능하니까 OCP 상으로도 좋겠지만. 과연 당장 필요한 것일까? 그냥 TestResult 를 모델로 들고 있고 View 클래스 하나 더 있는 것으로 제가 있을까?
         unittest 모듈을 프린트하여 Code 분석을 했다. 이전에 cgi 로 test runner 돌아가게끔 만들때 구경을 해서 그런지 별로 어렵지 않았다. (조금 리팩토링이 필요해보기는 코드같긴 하지만.. JUnit 의 경우 Assert 가 따로 클래스로 빠져있는데 PyUnit 의 경우 TestCase 에 전부 implementation 되어서 덩치가 약간 더 크다. 뭐, 별 제될 부분은 아니긴 하다.
  • PyIde/SketchBook . . . . 4 matches
          ''계속 생각했던것이 '코드를 일반 Editor 의 서로 보는 관점은 구조적이지 못하고 이는 필요없는 정보를 시야에 더 들어오게끔 강요한다. 그래서 구조적으로 볼 수 있도록 해야 한다.' 였는데, SignatureSurvey를 생각하면 정말 발상의 전환같다는 생각이 든다는. (코드를 Flat Text 서를 보는 관점에서 특정정보를 삭제함으로서 새로운 정보를 얻어낸다는 점에서.) --[1002]''
         Python 으로 HTML Code Generator 를 작성하던중. 좀 무식한 방법으로 진행했는데, 원하는 HTML 을 expected 에 고스란히 박아놓은 것이다. 이는 결과적으로 test code 를 네비게이팅 하기 어렵게 만들었고, 해당 Generating 되는 HTML 의 추상도도 상당히 낮게 된다. 한화면에 보여야 할 HTML 데이터도 많아야 한다. 이는 결국 내가 에디터 창을 최대로 놓게 만들더니, 더 나아가 에디터 창의 폰트 사이즈을 11에서 8정도로 줄이고 모니터를 앞당겨 보게끔 만들었다. (15인치 LCD 모니터여서 해상도가 최대 1024*768 임.) 해당 상황에 대해 사람이 맞추는 것이 좋을까, 또는 툴의 Viewing 이 도움을 줄 방법이 있을까, 또는 사람이 이를 제상황으로 인식하고 프로그램 디자인을 바꾸게끔 하는것이 좋을까.
         Wiki:FitNesse 의 맨 앞 구 'Beyond Literate Programming' 이라는 말이 참 인상적으로 보인다.
  • PythonLanguage . . . . 4 matches
         === 초기에 보기 좋은 서들 ===
          * http://python.or.kr - 파이썬 정보 광장 (국내 파이썬 사용자들 그룹)
         '' 파이썬 정보 광장에서 강의 노트가 상당히 좋음, 그것을 보고 처음으로 파이썬 법을 익혔다. 그리고 나서 PyGame으로 게임 하나 짜는것도 익히는데 도움이 된다. -[상협] ''
          * ~~http://board1.hanmir.com/blue/Board.cgi?path=db374&db=gpldoc - johnsonj 님의 파이썬 서고~~
  • RonJeffries . . . . 4 matches
         40여년간 프로그래밍을 해온 분인데, 인터뷰 중에 "장차 프로그래머가 되려는 한국의 젊은이들에게 어떤 말을 해줄 수 있겠느냐"라는 질에 답한 내용이 인상적입니다.
         왜이리 찔리는지. -_-; 특히 마지막장.. 프로그래밍을 하다보면 가끔 누구를 위한 프로그램인가를 간과하게 되는 경우가 많게 되는지라서.. ^^;
         RonJeffries 을 좋아하는 이유중 하나로는 그의 글 스타일때일런지도 모르겠다. 또는, XP 메일링리스트에서의 그의 답글 뒤 맨 마지막 짧은 한줄때일지도 모르겠다. 때때로 뒤통수를 한대 때리는 유쾌한 깨달음을 준다. --["1002"]
  • RubyLanguage/InputOutput . . . . 4 matches
          * 파일을 new로 부르지 않고 사용할 수 있다.
          * 단 예외 발생시 File.close는 호출되지 않는다. ensure 구에서 처리할 수 있다.
          * << 메서드는 매개변수 전달시 객체를 to_s 메서드로 자열 변환한다.
          * read : 자열로 읽어옴
  • SibichiSeminar/TrustModel . . . . 4 matches
          * 버전관리의 필요성은 사실 일반 서작업할때나, 창설 코딩할때 벌써 느껴보던 바였어요. (일단 소스랑 글은 남기고 봐야 나중에 낭패를 보지 않아!) 였달까요 ㅎㅎㅎ -[김태진]
          * 홍기가 대학원에서 짱박혀 있더니 이런걸 하고 있었군요,, 군대 갔다 온 사이에 너무 멀리 가 버린 느낌? ㅋㅋㅋ 아무튼,, 자료구조 시간에 Pre-test라는 형식으로 검색 방식에 관한 희소 행렬과 관련 지었던 제가 생각이 나는 그런 세미나였습니다. 뭐 제가 본 Pre-test는 그래도 쉽게 접근할 수 있게 해 놨었는데 역시나 자세히 들어가니 뭔가 복잡하기도 하다는 느낌도 들더군요. 마지막 즈음에 M-16과 장난감 총으로 든 예시는 재밌으면서도 어딘가 한편으로는 씁쓸한 생각이 들기도 하는.. 뭐 그랬습니다. - [권순의]
          * 음.. 어려운 내용이었습니다. 추상적으로 이해하고 끄덕끄덕... 견이 좁은 탓이겠지요. ㅜㅜ 뒷부분은 재밌었습니다. 지난 주에 언급했던 커뮤니케이션의 실패와 관련이 있을지도... 버전 관리 얘기도 나왔는데, 그 부분이 궁금하네요. 그렇다 할만한 팀워크를 해본 적이 없어서요. 코드를 구역 별로 나눠서 동기화하는 방법이 적절할 것 같은데. 이런 일을 돕는 프로그램이 있는거죠? -_-; - [정진경]
          * 세미나 주제가 참 놀라웠습니다. 페이스북을 이용해 관심사가 같은 사람들을 엮어주는 앱은 이미 나와있지만, 이건 일일히 사용자가 입력을 해야하는데, TrustModel은 프로그램이 알아서 다해주는것 같더군요. 지식이 얇아서 여기까지밖에 이해 못했습니다. 꺼이꺼이. 세미나 막간에 넣은 M-16인용 개발자-기획자-디자이너의... 뭐라고 해야하나요. 암튼 재밌게 잘 봤습니다. 삼위일체가 답이군요. 하하하하.. 정확한 커뮤니케이션은 정말 힘든것 같아요. 새내기 다운 새내기가 없다는 말씀을 자꾸 하셨는데.. 저 새내기 맞아요 ㅜㅠ C언어도 학교 오고나서야 처음으로 알았어요 ㅜㅠ - [고한종]
  • SoftIce . . . . 4 matches
          * Device Driver 개발 할때 사용하거나, Crack, Debug 등을 할때 사용하는 유명한 툴
          * VS 2005 베타 1이 설치된 컴퓨터에서는 되지만 베타 2나 그 외 버전에서는 잘 안되는거 같음. 그리고 VS2003 이 설치된 컴퓨터도 제의 소지가 있고 고쳐주는 패치가 있지만 잘 안먹는거 같음. 삭제 요망.. VS 6.0 만 깔린 컴퓨터에서 설치 하는게 가장 안전함.
          * 그리고 설정에서 마우스 사용은 None 으로 하고, Video 테스트는 꼭 해야 함. 그리고 SoftIce 실행은 Boot 로 해서 안될 경우에 Manual 로 하기 바람.
  • SpiralArray/Leonardong . . . . 4 matches
         아이디어는 JuNe 선배가 말했던 것이다.(저번 자바 컨퍼런스에서 였던가..) 한 번 나선형으로 진행되는 것을 같은 층으로 본다. 그러면 가장 바깥쪽은 1층, 다음 안쪽은 2층 이런 식으로 안쪽으로 갈수록 높이가 높아진다. 한 사람이 피라미드를 한 바퀴 돌고 다음 층으로 올라가면서 자신이 들렀던 곳이 몇 번째인지, 좌표는 무엇인지 기억한다. 한 층을 다 돌면 시작했던 자리로 돌아오기 때에 중복해서 기억한 좌표는 지우고 다음 층으로 이동한다.
         하지만 여지껏 그러한 접근법을 알고서도 TDD로 풀지를 못했었다. 매번 나선형 "행렬"에 어떻게 숫자를 새길지만 생각했기 때이다. 그러다 보니 2차원 배열의 인덱스를 조작하는 수준에서 생각이 벗어나질 못했다. 하지만 사실은 움직임(이전의 인덱스 조작), 움직인 점들, 행렬을 따로 생각할 수 있었다. 아! 이렇게 테스트 하면 되겠구나!
         goStraight 전 버전은 Direction클래스를 이용해서 이동한(벽을 만나면 이동하지 않음) 위치를 얻어내고, 이동한 기록을 저장하는 형식이었다. 벽에 대한 검사가 겹치는 것 같아 mover에서 바로 벽을 검사하고 벽에 들어서면 종료하는 것으로 만들었다. 그러고 보니 따로 카운트 할 필요가 없어 moveCount변수를 없앴다. mover가 종료 조건도 검사하는데 board 넓이만큼 이동했으면 끝나는 것이기 때이다.
  • SubVersionPractice . . . . 4 matches
          저장소에 있는 프로젝트를 사용자의 컴퓨터로 가져오는 명령이다. 사용자는 체크아웃한 프로젝트를 가지고 작업한다.
          저장소에서 최근에 변경된 내용을 사용자가 작업하는 프로젝트에 적용한다. (주의해서 사용)
  • TFP예제/Omok . . . . 4 matches
          continue
          continue
          continue
          continue
  • TestDrivenDevelopmentByExample . . . . 4 matches
          * http://groups.yahoo.com/group/testdrivendevelopment/files/ - TestDrivenDevelopmentByExample 서. (아직 미완성중. 계속 업데이트 되고 있습니다. 최신 버전을 받으세요.)
         ["Java"] 소스(국내에 인기있는;)로 되어있으니 추후 출판뒤 번역이 되지 않을까 하는 희망을; 하지만 지금 진행중인 책의 앞부분을 읽어보긴 했는데. 정말 'Test 로 Driven' 되는 것 같은 느낌이 듬. TDD 진행과정을 예제 하나를 통해 계속 보여주기 때에 이해하기 편합니다.
         개인적으로 TDD 중 빠른 테스트 통과를 위해 가짜 상수로 쌓아나갈때 어떻게 '중복' 이라 하여 ["Refactoring"] 할까 고민했었는데, 이전의 SeminarHowToProgramIt 에서의 예제 이후 이 서에서의 예제가 깔끔하게 풀어주네요. 인제 한번 들여다 본 중이긴 하지만, 저자가 저자인 만큼 (KentBeck).~
         TestDrivenDevelopment 에 관심있는사람은 필독서이겠죠? --["1002"]
  • TestFirstProgramming . . . . 4 matches
         어떻게 보면 질답법과도 같다. 프로그래머는 일단 자신이 만들려고 하는 부분에 대해 질을 내리고, TestCase를 먼저 만들어 냄으로서 의도를 표현한다. 이렇게 UnitTest Code를 먼저 만듬으로서 UnitTest FrameWork와 컴파일러에게 내가 본래 만들고자 하는 기능과 현재 만들어지고 있는 코드가 하는일이 일치하는지에 대해 어느정도 디버깅될 정보를 등록해놓는다. 이로서 컴파일러는 언어의 법에러 검증뿐만 아니라 알고리즘 자체에 대한 디버깅기능을 어느정도 수행해주게 된다.
          테스트코드 자체가 일종의 도큐먼트역할을 하기도 한다. 테스트 코드를 만들면서 자신이 하려는 일과 제상황을 구체화 시켜간다.
         파트너가 먼저 코드를 잡긴 했는데, 코드가 좀처럼 진행이 되지 않았다. 제가 뭘까 고민하다가 다음과 같이 접근해봤다.
  • TheJavaMan/설치 . . . . 4 matches
         클래스 이름은 첫번째 자가 꼭 대자여야 해. 그리고 클래스 만드는 창에서 아랫부분에 있는
         이 한장만 입력하면 될거야
         기타 안되는 점이나 의사항있으면 바로 메신져로 연락
  • ThePragmaticProgrammer . . . . 4 matches
          프로그래머는 일련의 도구들(에디터, 객체 관리자, 버전 트래커)을 사용하여 어떤 환경하에서(하드웨어 어셈불리상의 운영시스템) 운용될 수 있는 제품(프로그램)를 만들어내도록 훈련받은 공예가에 비유할 수 있다. 다른 공예작업과 마찬가지로, 컴퓨터 프로그래밍도 대학이나 관련학원에서 가르쳐지지 않는/쉽게 터득할 수 없는 지식과 지혜를 집적하여 완성해 가는 과정을 갖는다.
          이 책에서, Andrew Hunt와 David Thomas는 소프트웨어 설계와 코드 작성에서의 각자의 경험 가운데 얻은 많은 유용한 노하우를 요약하여 서화하고 있다.
          이들의 프로그램학은 구체적이며, 그 구현에 이르는 경로는 간결하다. 이들은 예를들어,하나의 텍스트 편집기를 배우게 되면 그것을 모든 것에 활용하라고 독자들에게 조언하고 있다. 또한 권고하고 있는 것은, 심지어 가장 작은 프로젝트에 대해서도 버전트래킹 소프트웨어를 사용하라는 것이며, 규칙적인 수식구과 텍스트 처리언어 학습의 장점을 계도하고 있다.
  • TugOfWar/문보창 . . . . 4 matches
         백트래킹제. 따져줘야 하는 가지수가 적은 경우 최적화된 알고리즘을 찾는 것 보다는 그 가지수를 모두 따지는 것이 유리할 수도 있다.
         inline void eatline() { while(cin.get() != '\n') continue; };
          continue;
         [TugOfWar] [보창]
  • UnityStudy . . . . 4 matches
         unity 가 섬세하게 조절해야 될 것이 많다는 것을 알았습니다. 이게 광원까지 모든 부분을 설정해야 되기 때에 조금 어려울 것 같습니다. 그래도 열심히 배워야 겠습니다.
          * 스플래시 이미지로 사용할 이미지를 Asset에 드래그 드롭으로 등록한 다음, Build Setting에서 Splash Image에서 설정할 수 있다.
          => 물리 현상에 대해 어느 정도 이해하면서 사용해야 함.
          - plane은 background 용도로 사용할 수 있다.
  • UpdateWindow . . . . 4 matches
         일반적으로 하노이의 탑은 재귀함수 알고리즘이 가장 쉽기 때에, 재귀함수를 사용하여 짜고 있었다.
         [상규]군에게 물어 해답을 찾았다. Invalidate()함수는 다음 WM_PAINT메세지가 왔을때 화면을 다시 그리도록 명령하는 함수이다. 재귀나 반복을 수행하는 동안에는 WM_PAINT 메세지가 발생하지 않기 때에 강제적으로 WM_PAINT메세지를 발생시켜 주어야 하는데, 그 함수가 UpdateWindow()함수이다.
  • UserStory . . . . 4 matches
         사용자의 요구사항에 대한 간략한 기술. XP의 다른 과정들이 그렇듯이 (이건 아마도 XP 방식으로 진행하는 팀들의 특징인듯. -_-a Case Tool 보다는 간단한 카드와 펜을 선호함.~) 보통 인덱스 카드에 기술을 한다.
         Wiki:EngineeringTask 란 해당 Story를 구현하기 위해 실질적으로 해야 할 일들에 대한 서술이다. UserStory 의 각 항목이 비교적 사용자 관점에서의 서술이라 한다면, Wiki:EngineeringTask는 구현해야 하는 Developer들 관점에서의 서술이다.
         Use Case 에 대해서 서를 작성하고..그 다음으로 System Sequence Diagram을 만드는데.
         시스템과 사용자간의 어떤 행위들을 하는가른 간단히 순서적으로 적는것이지.
  • WERTYU/문보창 . . . . 4 matches
         뻔한 제였다. 제의 발상이 굉장히 재밌다.
          continue;
         [WERTYU] [보창]
  • WebMapBrowser . . . . 4 matches
          * 여기에 또한 집합 지성을 활용할 수도 있다. 각 노드(웹 페이지) 들을 거쳐간 사용자들이 어떤 노드로 이동하는지 통계도 나오게 하여서 자신과 비슷한 관심사 노드(웹)을 방한 사람이 어떠한 사이트로 이동하는지를 볼 수 있게 된다.
          * 또한 자신이 지금까지 방했던 사이트들이 일종의 지도로 작성되어 있어서, 어떠한 링크를 통해서 어떠한 링크로 이동했는데 링크드 그래프로 보여준다. 이로써 자신의 웹 방에 대한 지도를 만 들 수 있게 된다.
  • WindowsTemplateLibrary . . . . 4 matches
         WTL은 객체지향적인, Win32 를 캡슐화하여 만들어진 C++라이브러리로 MS 에서 만들어졌다. WTL은 프로그래머에 의한 사용을 위해 API Programming Style을 지원한다. WTL MFC에 대한 경량화된 대안책으로서 개발되었다. WTL은 MS의 ATL를 확장한다. ATL 은 ActiveX COM 을 이용하거나 ActiveX 컨트롤들을 만들기 위한 또 다른 경량화된 API 이다. WTL은 MS 에 의해 만들어졌디면, MS 가 지원하진 않는다.
         지원이 되지 않는 라이브러리이기 때에 WTL에 관한 서는 거의 없다. 그러나 대부분의 API는 표준 Win32 콜을 거의 직접적으로 반영하므로, WTL의 인터페이스는 대부분의 윈도우즈 프로그래머들에게 친숙하다.
          * 어째 장이 좀 이상하네요. 해석이 좀 잘안됩니다. ㅡ.ㅡ;; - [eternalbleu]
  • Xen . . . . 4 matches
         젠(Xen)은 오픈소스 기반의 가상화 SW다. 젠은 하나의 컴퓨터에서 여러 종류의 운용체계(OS)를 사용할 수 있게 하는 SW로 한 가지 단점은 OS를 수정해야 한다는 점. 그러나 올해 공개될 인텔의 밴더풀(vanderpool)이나 VT 기술을 적용할 경우 OS 수정이 필요하지 않을 것으로 보여 빠른 확산이 예상된다.
          현재 젠은 인텔 펜티엄과 같은 x86 계열 프로세서에서 작동되지만 곧 다른 프로세서에서도 작동될 것으로 보인다. AMD는 패시피카(pacifica) 등 차세대 기술이 적용되는 64비트 기반 옵테론 칩세트에서 젠을 사용할 수 있도록 할 계획이다. 인텔은 아이테니엄 프로세서에서도 실험적으로 젠을 지원하고 있으며, IBM도 파워 칩에서 젠을 사용하는 데 관심을 보이고 있다
         - 출처 : 전자신
  • YetAnotherTextMenu . . . . 4 matches
         이번에도 역시나 텍스트 메뉴를 입력도구로 사용하는 프로그램이다.
         보통 ToyProblems를 내줄 때, 입력양식으로 텍스트 메뉴를 이용하라는 요구사항이 주어지기도 한다. JuNe이 보기에는 이것은 "단견"이다. 학생들은 매번 비슷한 방식으로 텍스트 메뉴 프로그램을 만들 것이고, 매번 거기에 일정 시간을 빼앗길 것이다. 재미있게도 텍스트 메뉴를 사용하는 프로그램을 작성하면, 학생들이 만드는 프로그램 역시 그 메뉴의 구조를 닮는다. 이것은 그다지 바람직하지 않은 경우가 많다.
         텍스트 메뉴에서 찾는 장점이라면 인터액티브하게 테스트해보기 좋다는 것 정도 될까? 그런데 이는 표준 입출력을 사용하되 버퍼링을 쓰지 않으면 역시 인터액티브하게 테스트 가능하다. 일종의 커맨드 쉘을 제공하는 셈이다(실제로 이를 좀 더 발전시키도록 하면 학생들은 많은 것을 배울 것이다).
         ICPC 등 외국 컴퓨터 프로그래밍 경진 대회를 보면 대부분 이런 식으로 제가 나온다.
  • Z&D토론/History . . . . 4 matches
         여러 소모임들을 활성화 하여 다수의 회원들의 활동을 적극적으로 만들어 보고자 각자의 노선을 진행한걸로 기억합니다. 제가 처음 들어왔을 때에도 폴리곤 데블스 등의 소모임들이 존재했었던 걸로 기억합니다. 여기서 한가지 생각해 보아야 할 것은 소모임은 소모임이란 것입니다. .... 소모임에 대한 제 생각은 어떤 ''소속내에서만'' 이루어져야 한다고 생각했기 때입니다. --Jihwan Park
         주도적으로 이끌어 주는 선배의 노력때이 아닌가하는 생각이 듭니다.. 처음 만들어 졌을때는 승태형이 그 역할을 해왔을 것이고.. 제가 제대한 이후로는 제가 그 역할을 해왔다고 생각하고 이제는 그 역할을 후배들에게 물려 줬다고 생각합니다. 물론 후배를 충원하기위한 행위로써 기억에 남을만한 야간 세미나를 하나의 전통으로 삼은 것 역시 그런 배경이 된게 아닌가하는 생각도 들구요.. 솔직히 몇번 후배를 뽑고 같이 공부를 해온 저로써.. 그리고 곧 졸업할지도 모르는 4학년이라는 입장에서 01을 뽑는 것은 부담스러운 일이었습니다. 그런데 후배들이 원하더군요. 후배들 말로는 야간 세미나를 한게 가장 기억에 남는다고.. 그리고 01 후배들도 그렇게 말하구요. 저역시 그렇게 생각하구요.. 데블스에서 가장 기억에 남을 만한 일이 후배를 뽑기위해 밤새서 세미나를 하는 일이라는 점이 아마도 그러한 결정적인 배경이 된게 아닌가 하는 생각도 듭니다. --최태호
          현재 폴리곤을 일단 소규모화된 zp를 보고 암묵적 소멸 상태입니다. 사실 99들중 폴리곤의 이름아래 모인 사람들이 있지만, 제일 처음 한번 폴리곤의 모집이후, 자체적으로 zp내에서 편가르기는 필요없다란걸 알게되었기 때입니다. --상민
         참고로 제가 생각하는 데블스가 제로페이지에서 떨어져 나온 이유는 물론 제가 없을때 데블스가 제로페이지에서 분리가 되었지만..일종의 제로페이지에 대한 무관심이라고 생각합니다. 데블스 사람들이 제로페이지에 무관심 할수 밖에 없었던 이유는 데블스 자체로도 만족을 했기 때일 거구요.. 그러한 것은 데블스가 제로페이지에서 떨어져 나올 즈음 상경이가 써놓은 글에서 보면 알수 있습니다. 글의 내용은 폴리곤 사람들은 제로페이지에 많은 기여를 하는 반면 데블스는 아무도 제로페이지에 신경을 쓰지 않는다라는 내용이었습니다. 필요 없으니 당연히 떨어져 나가겠지요. 물론 게다가 제로페이지에 무관심한 데블스에 불만을 가지고 있는 폴리곤이 있으니.. 불보듯 뻔한 일이 아닐까 생각합니다. 어찌되었든 저역시 처음 데블스가 제로페이지에서 떨어져 나올때 불안 했던 것처럼 다시 데블스와 제로페이지를 합치자는 말이 나오는 지금 상황 역시 불안하기는 마찬가지입니다. 저는 이 일이 어찌되든 후배들이 모두 좋은 방향으로 되길 바랄 뿐이고 그들이 정하는대로 따를 것입니다. - 최태호
  • ZIM/ConceptualModel . . . . 4 matches
         프로젝트 ["ZIM"]에서 사용하는 개념들입니다. ConceptualDiagram은 생략합니다.
          * '''ZIM Control''' : Zimmer 가 사용하는 프로그램 본체
          * '''Message Window''' : Zimmer 가 대화할 때 사용하는 창
          * '''Zimmer''' : ZIM 사용자.
  • ZeroPageMagazine . . . . 4 matches
         어떤 식으로 시작해야 할까요? [유쾌한이노베이션]에서 읽은 내용을 한 번 실험해보면 재밌겠다는 생각을 합니다. 여러 팀으로 나눠서 ZeroPageMagazine의 프로토타입을 만드는거지요. 프로토타입은 완성품이 아니기 때에, 한 팀에서 여러가지 프로토타입을 만드는 것이 전혀 제될 것이 없습니다. 오히려 권장할만한 일이죠. 그렇게 프로토타입을 모아 놓고, 좋은 부분을 골라서 합치는 과정을 반복할 수 있을 것입니다.
          프로토타입을 만든다는 것이 틀을 정한다는 의미가 아닌가요? 틀을 만들어 놓고 하면 짜임새가 있겠지만 그것에 따라야 한다는 관념 때에 원고를 작성하는 사람의 입장에서는 그 능률이 떨어지지 않을까라는 의견이었습니다. 예를 들어 저번에는 이런 것을 조사하고 싶어서 프로토타입으로 제출했었는데, 시간이 지나니까 또는 조사를 하다 보니까 영 아니다 싶은 경우가 있을 수 있겠죠. 혹시 제가 프로토타입에 대해 잘못 이해하고 있을수도 있겠다는 생각이 드는군요. 지적해 주세요.
         음... 저랑 승한이도 참여해야 하나요? 그럼 어떻게 해야할지 자로 보내주세요~ -윤성만
  • ZeroPageServer . . . . 4 matches
          * 계정의 발급은 [안혁준]에게 의 바랍니다.
          * 기존 zp홈으로 활용하던 서버가 교내 네트워크 불안정과 기타 여러가지의 제로 외부 호스팅을 시작한뒤 남는 서버로 돌리는 서버입니다.
          * 서버가 필요한 학우는 언제든지 사용이 가능합니다.
          * 서버이니만큼 데탑처럼 사용하거나 파괴적인 행동을 삼가주시기 바랍니다.
  • ZeroPageServer/set2005_88 . . . . 4 matches
          * 리부팅후 jsp container 가 자동으로 미시작되던 제 해결
          * 커널 2.6으로 업데이트 후 네트워크 반응속도 향상. 신규 하드의 IO성능 향상. (2.4 커널의 장치 드라이버 제로 느린 IO를 보였던 것으로 추정)
          * pair key 사용으로 굳이 패스워드를 외울 필요없음 ^^ㅋㅋ;
          각 사용자의 자신의 public_html 디렉토리를 이용해서 '''jsp, php, perl, python''' 등의 웹 프로그래밍이 가능하다.
  • [Lovely]boy^_^/Diary/2-2-6 . . . . 4 matches
          * Humble Programmer 왜 일케 기냐--; 장도 어려운게 많다.
          * 경시대회 예제 제 1,2번 풀었음
          * 경시대회 예제 제 4,5번 풀었음
          * 3번은 제가 이해가 안감
  • eclipse단축키 . . . . 4 matches
         자주 사용하는 단축키
          * 자열 "sysout" + Ctrl + Space : System.out.println(); 자동완성
          * 주로 Editor에 떠있는 화일 닫는 용도로 사용
          * Content Assist : show template proposals 사용가능한 메소드 이름 보여준다
  • 강성현 . . . . 4 matches
          * 전연구요원 편입예정
          * 컴퓨터공학부 프로그래밍 경진대회 (2013 CPC) 제 출제 (12.3)
          * 동네트워크 서비스팀 팀장 ( - 2014.12)
          * 동네트워크 서비스팀 (11월 - 계속)
  • 검색에이전시_temp . . . . 4 matches
         || 05/12/23 || 검색_test - 유용안 || 동서버 자유게시판 검색 테스트 ||
          * [http://prdownloads.sourceforge.net/goog-kongulo/kongulo-0.1.zip?download 웹스파이더(구글오픈소스)] - 이프로그램은 구글 데스크탑의 플러그인 같은 것으로서 이프로그램을 사용하여 특정 웹사이트 내용을 긁어서 구글 데스크탑 디비에 넣을 수 있다. 현재는 이 프로그램으로 구글 데스크탑이 아닌 그냥 파일에 쓰는식으로만 바꿔봄
         = 사용 언어 =
         좀만 더 연구하면 싸이월드에 있는 기능들을 위키에서 모두 플러그인 식으로 사용가능하겠구나. -_-
  • 겨울과프로젝트 . . . . 4 matches
         일정이나 기간에대해서 회의에서 동의를 얻어야 할 부분이 많이 있었네요;; 준비가 부족했습니다. 죄송합니다. 혹시 제가 될만한 부분은 지적해 주십시요 - [이승한]
          * 마당을 굳이 나누는 이유는 너무 방만한 시간관리가 이루어지는 경우도 있기 때이다.
         [AOI/2004] : 대회 제들로 프로그램 내공을 길러본다.
          참가자 : [이승한], [황재선], [김회영], [보창], 오승균
  • 고한종/배열을이용한구구단과제 . . . . 4 matches
          * 오 ㅋㅋㅋ 윤종하 게임 만들면서 열심히 공부했나보네. 근데 한 가지 말해주자면 getch()를 쓰면 stdin 버퍼에 입력받은 값이 계속 남아있어서 무한루프같은 제가 생길 수 있어. 그래서 fflush(stdin);이라는 장을 getch()를 사용한 이후에 한 번 써주는게 좋아. 근데 코드 대충 읽어보니까 n 누르는거 아니면 while 계속 돌아갈듯?- [윤종하]
          * 우연히 들어와서 봤는데 fflush()는 output stream에 사용하도록 만들어진 함수고, fflush(stdin)은 MS의 컴파일러에서만 지원하는 거라서 linux쪽에서는 작동하지 않는다고 하니까 그것도 알아두는 것이 좋지 싶어요. - [서민관]
  • 공간박스 . . . . 4 matches
         사용기좀 올려주세요. 장점, 단점 같은.
          * 사용기 수준은 아니고, 장점으로는 가격이 저렴하면서 나무재질이라 인테리어를 고려할때도 좋다는 것을 들 수 있을 것 같습니다. 배치만 잘 해놓으면 다양한 사이즈의 책들을 수납할 수 있구요. 단점으로는 역시 나무재질의 DIY제품이라 견고성이 떨어진다는 점입니다. 각각의 부품의 맞물리는 형식이 아니라 나사를 이용해서 결합하는 방식이라 사용하다보면 그 결합부분이 망가지는 제점이 있습니다(제것만 그럴지도 모릅니다)
  • 데블스캠프2003 . . . . 4 matches
         || 03 || 원명 || . ||
         == 다루어 볼 제들, 관련 세미나들 ==
         [데블스캠프2003/다루어볼제와관련세미나]
         == 기타 제들 ==
  • 데블스캠프2003/넷째날/후기 . . . . 4 matches
          * 중간에 조는 바람에...ㅜㅜ죄송하고... 얻을 수 있는데도 못 얻은게 많았다. 오늘도 끝으로 갈수록 집중이 안되는 제가 생김. OOP로 짜는 랜덤워크 구현에 너무 많은 시간이 걸린 것 같네요. 미리 코드를 짜 놓았다면 좀 낫지 않았을까요? -Leonardong
          * 오늘 알게 된 OOP의 특징 중 각 클래스를 묶는 캡슐이라는 개념....이것을 보니 프로그램 짰을때, 더 쉽게 고칠 수 있을 것 같네요.. --[원명]
          * 말로만 OOP 설명들었을땐 정말 매력적이고 강력해서 OOP만 사용할 줄 알았는데 코딩하는 과정을 보니 너무 복잡한 것 같다. 많은 매서드를 사용하므로 매서드 명명에 유의해야겠다는 생각이 들었다. --황재선[aekae]
  • 데블스캠프2005/RUR_PLE/조현태 . . . . 4 matches
         여러가지 환경에서 테스트를 수행하였으며, 제가 있을경우 [조현태]페이지에 올려놓으면 빠른시일내에 해결하도록 노력하겠습니다.
         파일을 copy/paste하는 과정에서 중간중간에 빈 줄이 생겼는데, 일부 삭제하였으나 남은 것이 있을 경우 지우고 사용해야 합니다.(단 함수와 함수사이는 아닙니다.)
         리펙토링이 덜된 이유는 리펙토링을 하면 할수록 느려지는듯한 제가(인터프리터방식으로 인한듯)있는듯 하기때 입니다.
  • 데블스캠프2005/주제 . . . . 4 matches
         || 화 || 자료구조 || 보창 || ? || ? ||
         Recursion 과 Iteration (IndexCard 등을 이용해서.. ToyProblems 따위의 제 풀어보기,
         언어를 가르칠 때는 그 언어의 법 보다는 이 언어의 특징을 가르치는데 중점을 둬야 합니다. 언어의 특징을 가르치는 데 방해되는 요소가 있다면 모두 안보이게 하는 게 특징에만 집중 할 수 있게 도와줍니다. --재동
         금요일에 제가 한 타임을 맡겠습니다. 네트워크 사용한 간단한 프로그램을 만들 예정입니다. 언어는 파이썬으로 하려합니다. 그러므로 파이썬 배운 후에 몇 개의 토이프로블램은 파이썬으로 연습 시켜주셔야 합니다. --재동
  • 데블스캠프2006/화요일/tar/김준석 . . . . 4 matches
          if((data_dir.attrib & _A_SUBDIR) != 0) continue;
          - 제점
          if(argv[1]==argv[i]) continue; // 같은 파일인지 검사
          if(!strcmp(data_dir.name, ".") || !strcmp(data_dir.name, "..")) continue;
  • 데블스캠프2009/월요일/연습문제/svn코드레이스/서민관 . . . . 4 matches
         = 데블스캠프2009/월요일/연습제/svn코드레이스/서민관 =
          printf("숫자를 입력해 주세요.(%d~%d) => ", min, max);
          printf("입력한 숫자가 작습니다.\n");
          printf("입력한 숫자가 큽니다.\n");
  • 데블스캠프2010/첫째날/오프닝 . . . . 4 matches
          * 법도 아주 간단하다. [http://nforge.zeropage.org/projects/devilscamp2010/wiki/WikiTutorial (법에 대한 안내사항)]
          1. 위키 사용자 등록 후 로그인한다.
          3. 법 안내를 보면서 페이지를 꾸민다!
  • 데블스캠프2011/다섯째날/Cryptography . . . . 4 matches
         C : 암호, P : 평
         C : 암호, P : 평
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/송지원 . . . . 4 matches
          * 가장 느리고 무식한 Linear Search로도 제해결 했다를 보여주는 의지의 한국인 코드
          * 다른 분들과 달리, 저는 한 글자인 자와 특수자를 첫 글자로 포함하는 단어들은 Train Data 및 Test Data 분석에 포함시키지 않았습니다.
          * 때에, 경제 면에서는 200개의 기사 중 148개의 분류를 성공하는 저조한 성적을 보였습니다.
  • 데블스캠프2011/첫째날/오프닝 . . . . 4 matches
          * 법도 아주 간단하다. [http://nforge.zeropage.org/projects/devilscamp2011/wiki/WikiTutorial (법에 대한 안내사항)]
          1. 위키 사용자 등록 후 로그인한다.
          3. 법 안내를 보면서 페이지를 꾸민다!
  • 레밍즈프로젝트 . . . . 4 matches
         || [레밍즈프로젝트/이승한] || 위키서화, 그래픽 출력 프로토타이핑 ||
         = 도출된 서 =
         == 기본서 ==
         = 사용도구 =
  • 레밍즈프로젝트/연락 . . . . 4 matches
         1. 맵의 자료구조 : 이 부분이 Map과 Pixel 다이어그램인데... 흠... Map은 2차원 배열로서 모든 픽셀에 대한 데이터를 관리하게 되겠지?? 그리고 그 접근 방식은 순차접근(List)가 아니라 인덱싱을 이용한 임의접근(Vector) 일거고. 맵은 Pixel 이라는 인터페이스에 대한 배열을 2차원 Vector로 관리하게 되는겨-_-ㅋ(조금 복잡해지지 이럴땐 [http://www.redwiki.net/wiki/wiki.php/boost boost]의 [http://www.redwiki.net/wiki/wiki.php/boost/MultiArray 다차원배열]에 대한 STL비슷한 녀석을 사용해도 괜찮을겨-_- boost에 대해서 좀 조사를 해야겠지만... vector를 다차원으로 쓰기엔 까다로운 부분이 많거든...)
         3. 맵 부분과 레밍에 대해서. CVector(없는 라이브러리)가 아니라 CArray라는 MS 제공 라이브러리를 사용해야 직렬화가 가능하대;;
         지금 이것 때에 몇시간째 삽질중.ㅠㅠ
         Pixel에 Array 때에 에러나는게 아니삼.ㅠㅠㅠㅠㅠㅠㅠ
  • 레밍즈프로젝트/프로토타입 . . . . 4 matches
         '''단순한 기술에 대한 사용이 아니라 재 사용 가능한 클래스를 만들어 보는게 핵심이다.'''
         [레밍즈프로젝트/그리기DC]가 가장 최신 클래스 이다. 아래는 테스트 타입 서들.
         참고 : MFC에서는 [(zeropage)STL/String] 보다는 CString 클래스를 사용하는게 [(zeropage)MFC/Serialize]를 하는데 용이하다고 한다.
  • 렌덤워크/조재화 . . . . 4 matches
          continue;
          continue;
          continue;//범위밖으로 나가면 다시 랜덤값 결정.
         bool is_end() //각방을 다 방했는지를 검사
  • 마름모출력 . . . . 4 matches
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
          || 보창 || Python || || [마름모출력/보창] ||
         [제분류]
  • 만년달력 . . . . 4 matches
         ||이름|| 사용언어 || 링크||
         ||이진훈&원명|| C || [만년달력/이진훈,원명]||
         [제분류]
  • 문자열연결/허아영 . . . . 4 matches
         다른아이들도 매우 쉽게 여길 것 같은 제다.
         자료구조에 대한 제라고 되어있어서 올려봤다.
         책이 이제 조금 있으면 스택, 큐 그리고 정렬에 대한 제들이 많다.
         [LittleAOI] [자열연결]
  • 미로찾기/김영록 . . . . 4 matches
          ///////마지막 부분에 도달했다면 while을 나갑니다.
          // switch 의 특징으로 각 case에서 if안에 break를 넣으므로서
          // 다음 경로가 벽일경우 그 아래의 case을 실행되도록(순차)
  • 미로찾기/정수민 . . . . 4 matches
          * 숫자의 의미는 숫자키패드에있다. 키보드의 숫자 키페드의 숫자가 바로 방향! 그래서 5는 생랴돼어있다.
  • 반복문자열/김대순 . . . . 4 matches
          == 질!! ==
         '''++'''을 쓰는 경우 조심할 필요가 있습니다. 지금은 함수에 값에 의해 전달을 하기 때에 아무 제가 없어 보입니다. 하지만 다음과 같은 경우는 어떨까요? -- [Leonardong]
         re-지적을 해 주셔서 감사합니다. 주소값으로 넘길때 int형 주소에 +1을 하게될 경우 4바이트를 건너뛴 주소의 값을 출력하기 때에 원하는 결과가 나오지 않지요..^^;-대순-
  • 반복문자열/허아영 . . . . 4 matches
          선배님들 소스가 장난이 아니에요. 사실 간단한 제라고 생각했었는데, 고정관념이 깨인듯한 느낌이네요. -[허아영]
         CAUCSE 자열도 함수 입력으로 넣어 주면 좀 더 변화하기 쉬운 소스가 되지. 그리고 message나 messages 같은 함수 이름도 좀 더 명확하게 하는 게 좋을 거 같아. 나 같으면 밑에 처럼 풀 거야. 함수로 추출해 낼 때는 의미 단위로 추출하는 게 좋아. 그래야 함수 이름을 지을 때 편하지. 역으로 함수 이름을 짖기가 힘들다면 잘못된 설계가 되는거지. --재동
          C만 공부 계획했었는데, C++도 공부해야겠다는 생각이 득 생기네요. 함수이름 신경써서 짓겠습니다 , !
         [LittleAOI] [반복자열]
  • 빵페이지 . . . . 4 matches
          * 팀원 : 유주영, 오승균, 황일정, 권정욱, 보창
         [빵페이지/숫자야구]
         정욱이도 여기 끼면 안될까요?? 주점때에 참석을 못했었는데..
         앞으로 잘 부탁합니다. - 보창
  • 빵페이지/소수출력 . . . . 4 matches
          2, 3, 5, 7, * * * 이런식으로 입력받은 숫자 전까지 소수를 출력
          * 우와~ 벌써.. 대단한걸~ 내꺼보다 간단해보인다.난 for 세개나 썼는데ㅡㅜ -일정
          cout<<"숫자를 입력하세요:";
          cout << "숫자를 입력하시오 = ";
  • 상협/감상 . . . . 4 matches
          * 난 정말 기억력이 나쁘다. 방금 예전에 썼던 감상을 다시 읽어보니 정말 새로웠다. ㅡㅡ; 앞으로는 책을 읽고나서 꼭 감상을 써야 겠다. 안그러면 금방 까먹엇 읽은 효과가 없는거 같다. 또한 예전에 썼던 감상을 다시 읽어 보면 예전의 그 생생한 감동이나 느낌이 다시 느껴진다. 이러한 느낌이 너무 좋은거 같다.
         || ["상협/학의즐거움"] || 히로나카헤이스케 || 2002/8/26 || 1 || ★★★ ||
  • 새싹교실/2011/앞반뒷반그리고App반 . . . . 4 matches
          * 민규는 바보였어요. 오늘은 재미있는 반복을 배웠어요 - [강성호]
          * 뭐하는 짓인가 싶지만 새싹교실 끝날때 주셨던 숫자 십자가 45도 돌리기 짜는데 성공했습니다.[고한종/십자가돌리기] - [고한종]
          * 시험기간 직전에 질시간이었어요. ~~저밖에 오지 않았지만~~ 이날 새롭게 배운것은 (수업시간에 필요없다고 넘긴것이라 필요없었음에도 잔다고 필요없다는 사실을 몰랏음) redirection이었는데요! 뭐냐니 input과 output을 바로 프로그램에서 받고 띄우는 것이 아니라 다른 서에서 불러오거나 집어넣는 것이었어요. 지금까지는 인풋은 무조건 scanf로 직접 넣었는데, 그것과는 다른것!!이었죠. 사실 방법은 지금 잘 기억나지를 않네요 -_- 아무튼 이런 신기한걸 배웠습니다. -[김태진]
  • 새싹교실/2013/양반/4회차 . . . . 4 matches
          * break, continue
         == 질 ==
         오늘 if과 for을 복습했는데 정말 유익한 시간이었습니다.
  • 서울대컴공대학원구술시험/05전기 . . . . 4 matches
         2번 제 정확하게는 max heap을 설명하고, max heap을 이용해 정렬하는 방법을 설명하라. 05.11.02 10:08
         3번 제 정확하게는 DMA에 대해 설명하고 DMA가 cash에 제되는 경우와 해결방안, 버츄얼메모리에 제되는 경우와 해결방안 05.11.02
  • 선희 . . . . 4 matches
          2:54 현재 한제도 못품.-_- 미치겠음. 차라리 수학제를 풀라고해 ;ㅁ;
          2:54 현재 한제도 못품.-_- 미치겠음. 차라리 수학제를 풀라고해 ;ㅁ;
  • 속죄 . . . . 4 matches
          * Publisher : 학동네
          * 서강대학교 영학과 한국외국어대학교를 통역번역대학원 한영과를 졸업했으며, 현재 한양대학교 국제어학원 조교수로 재직중이다. "잔의 첫사랑" "우울한 생활 극복하기" "이잔을 들겠느냐"외 다수의 책을 번역했다.
          * 역자소개도 뭔소린지 모르겠다. 서강대학교 영과를 졸업했따는건지 외대를 졸업했따는건지...-_-;;
          * 이 세명에게 같이 일어난 한가지 사건을 서로 다른 시각으로 한사람씩 차례로 돌아가며 의식의 흐름기법을 이용해 서술한다. 제길. 500페이지중 약 절반이상은 이렇게 의식의 흐름으로 때워버린다. 해가 어쨋네 땅이 어쨋네~ 뭐. 외국인이 자기네 말로 보면 재미있고 멋질지 모르지만, 기본적인 우리말 법도 틀리는 이상한 번역작가의 글을 보면서 멋지다고 하긴 정말 너무 힘들고 짜증난다. 이부분 끝나는 곳까지 보는데 3달 걸렸다. 제길.
  • 수학의정석/집합의연산 . . . . 4 matches
         집합의 연산 중 부분집합을 알아내는 제이다.
         임의의 숫자갯수와 스페이스로 띄워진 임의의 숫자를 받는다.
         그 숫자들의 subset을 모두 출력한다. (단, 진 부분집합을 출력한다.)
  • 수학의정석/행렬/조현태 . . . . 4 matches
         이유는 속도때.. (알고리즘따위 버려버리고 단지 오버헤드를 줄임으로써 속도를 높이려는 대마왕의 수작..;;ㅁ;;)
         그래서 일단 그부분을 제외하긴 했는데..(입력부를 위에두어서 계산에 제외한게 현재소스).. 그러니까 0초.. 대략 할말 없음..
          printf("%d행 %d열의 숫자를 입력해주세요.>>",j+1,k+1);
  • 숫자야구/aekae . . . . 4 matches
         숫자 야구
          cout << "3자리 숫자 입력: ";
          cout << "3자리 숫자 입력: ";
         [숫자야구] [aekae]
  • 아직도가야할길 . . . . 4 matches
          * 어떠한경우든 제를 정면으로 다루어야한다. 그래야 정신적 성장을 한다. 즐거운 일은 나중에 하자.
          * 네가 제 해결에 참여하지 않으면 네가 제의 일부가 되고 말 것이다.
          * 우리가 우리의 행동에 대한 책임을 지는 것이 어려운 이유는 그 행동의 결과로 받는 고통을 피하고 싶어하기 때이다. 고통이 우리를 정신적으로 성장하게 한다.
  • 위키에대한생각 . . . . 4 matches
          * 익숙한 사람에게는 편리하나, 처음 컴퓨터를 쓰는 사람에게는 복잡해 보일 수도 있다고 생각합니다. 글 쓸때 각종 효과를 특수 자(들)을 써서 나타내므로, 일종의 컴퓨터 언어같은 면이 있다고 보입니다. 따라서 우리같이 연관 있는 사람은 금방 배우지만, 아닌 사람들에겐 쓰기 힘들다는 인상을 줄 수 있습니다. -[Leonardong]
          [같은 페이지가 생기면 무슨 제가 있을까?]
          *위키는 최근바뀐글을 보고 그 페이지의 참여 정도를 파악할 수 있다는 점에서, 기존의 조회수를 보고 참여하는 것에 익숙한 사람들은 다소 어색한 공간이 될 수도 있다. 이를테면, 내가 어느 위키페이지에 글을 남겼는데 그 페이지를 보는 사람이 얼마나 있을까 하는 의구심이 생겨 그 페이지에 대한 참여를 더디게 할 수 있다. 다른 사람이 그 페이지를 보기만 하고 글을 남기지 않는다면 최근바뀐글에 그 페이지가 업데이트 되지 않으므로, 참여 의욕을 저하시키는 요인이 된다. 해당 페이지에 조회수를 누구나 쉽게 볼 수 있도록 나타낼수는 없을까? (물론, 조회수를 나타내면 참여가 적은 페이지를 두번 죽이는 경우가 될수도 있다 ㅡ.ㅡ;;)--[원명]
          * 눈에 보이는 색상같은 디자인의 제의 해결 방법
  • 이규완 . . . . 4 matches
         text 파일 두개 만들어서 그 중 한개에는 자를 입력해~ㅋ
         안녕? 오랜만이야~~~ - [보창]
          * 사진 ㅡㅡ; :) - [보창]
         메롱 -- [보창]
  • 이승한/java . . . . 4 matches
         public static void main(String [] args){} // C의 void main() 과 같이 프로그램의 시작점이다. String [] args 는 실행될때 넘어오는 자열 값을 보인다. 정확하게 무엇인지는 모르겠다
         System.out.println(" str "); //넘어오는 자열을 출력하여 준다.
         goto, const 는 사용하지 못한다.
          사용 JOptionPane.함수들
  • 이영호/My라이브러리 . . . . 4 matches
         // Bind 에러에서도 서버를 재가동 할 경우 resueaddr 로 flag를 설정했기 때에, Port 에러 뿐임. 이미 Port를 사용할 때만 에러가 남.
         // send 함수 시 인자 4개가 필요하기 때에 2개로 줄인 함수다. 단, ascii자만 전달 된다. recv 함수는 만들 필요가 없다.
  • 이차함수그리기 . . . . 4 matches
          제 : 곡선 y = x ²을 인쇄하는 프로그램을 작성하여라.
          * 함수 값을 저장하기 위해 일차원 배열을 사용한다.
          └... 이제 왜 답이 내꺼 뿐인겨..;;ㅁ;; 아이 부끄~>ㅃ<;;; 가...아니랏.. 그냥 나처럼 점만 찍오.ㅎ 그래픽이라니~ 그냥 찍으면 되는거 아녀? 원래 그림도 다 확대하면 점인뎅.. 그냥 . 이나 ○ 이런고.. 찍어서 해결~ 하세용.ㅎㅎ- [조현태]
         [LittleAOI] [제분류]
  • 정모/2002.5.2 . . . . 4 matches
         === 불참인원(총 11명..병특,공익 제외, 99학번까지.. 오른쪽 칸에 사유를 적어 주세요..) ===
         === 홈페이지의 칼럼 게시판 제 ===
         하지만 새로 사용하게된 위키가 기존의 컬럼 게시판이 하던 일을 더 멋지게 해내고 있습니다.
          * 홍보 : 대자보, 동서버 게시판
  • 정모/2002.7.11 . . . . 4 matches
          1. zeropage.org 도메인 사용료, 소유
          * Instance MP3 - 한번만 사용하는 MP3 만들기
          * 일주일 동안의 감상, 막힌점(알아서 삽질, 안되면 질)
          3. 역시 고학번들의 제지만. 회의 진행중 조언과 자신들의 잡담을 구분하질 않는다. 우리들의 목소리는 어디건 크다.
  • 정모/2004.2.3 . . . . 4 matches
         ||03|| 나휘동 노수민 곽세환 황재선 원명 임민수 ||
         == 프로젝트 진행상황 알림 (발표 & 질) - 10분 ==
          * 주최자인 영동이형이 바쁘기 때에 잠정 보류
          * 소풍을 여행으로 바꾸려고 합니다. 동서버 제로페이지 게시판에도 있고 [2004겨울여행] 에도 관련 내용이 있으니 참석할 수 있는지 없는지 적어주세요. 다른 장소를 추천하셔도 좋습니다. -[Leonardong]
  • 정모/2004.6.28 . . . . 4 matches
          || 04 || 보창 오후근 ||
          *[AM] - [황재선] [보창] [조재화] [곽세환] [김회영]
          *[AOI] - [황재선] [보창] [조재화] [김회영] [강희경]
         [보창] - 재밌었다. 처음인데 괜찮았다.
  • 정모/2011.10.5 . . . . 4 matches
          * 활발한 참여부 : [임상현]
          * 명제는 주인공의 국적에 대한 것이었는데 아무도 주인공이 누구인지 질하지 않았습니다. 스스로가 뭘 하는지도 모르면서 무언가 하고 있는 경우가 많다는 걸 다시 한번 느낄 수 있었습니다. - [김수경]
          * Since 1991을 내주신 [이승한] 선배님이(가) 화상품권을(를) 획득하였습니다.
          * 지난 주에 발표 과제를 했다가 엄청 까인지라 세미나도 좋았지만, 지원 언니의 발표 능력에 감탄했습니다. 저런 실력이 나한테도 있어야 할텐데 하면서 퀴즈 제도 비슷하게 언어적 능력으로 갔지요. 퀴즈 하면서 중고딩 때의 기억이 새록새록 났던거같아요ㅋㅋ OMS는 그냥 쓱 하면 딱 하고 뭔가 나와서 신기했습니다. 밥 아저씨가 생각나요ㅋㅋ 재밌었어요. -[강소현]
  • 정모/2011.9.20 . . . . 4 matches
          * 관심있으신 분은 연락해보세요~ 연락처가 궁금하신분은 [김수경]에게 의하시면 됩니다.
          * 계속해서 제를 풀고있음.
          * 더불어 몇몇 학우의 무한공강(무려 7시간이었나)도 생각해볼 제인듯 - [지원]
          * 그 정도로 공강이 긴 건 아마 저밖에 없었던 것 같습니다. 공강때에 안 오는 사람은 별로 없을 것 같아요.. - [김수경]
  • 정모/2012.11.19 . . . . 4 matches
          * [정진경]학우의 쓸모없는 설조사 만들기
          * 학과 자산이지만 zeropage가 계속해서 사용
          * [서민관]: 그래도 과자파티는 아마 안 되겠지... 사람이 둘만 있어도 제는 일어난다
         위키 사용
  • 정모/2012.3.19 . . . . 4 matches
          * 전체적으로 영어의 압박이 있었습니다. 사실 영어 하나도 못하지만 그 분위기가 은근 재미는 있었어요. 그런데 앞으로도 계속 정모를 영어로 진행해야하느냐에 대해서는 부정적인 견해를 가지고 있습니다. 외국인 참가자를 배려하는 건 좋지만 한국으로 교환학생을 온 외국 학생이 불편하다면 그쪽에서 한국어를 열심히 공부하는 게 맞는 방향이겠죠? 이 기회에 영어 스피킹을 마음껏 해보고싶은 사람이 영어를 적극적으로 사용하는 건 반대하지 않습니다. 그러나 영어를 사용하는 것이 정모의 원활한 진행을 해치는 것은 아닐지 고민해봐야 할 것 같아요.
          * 발표자가 영어발표를 원활하게 할 수 있지 않으면 그냥 한글로 진행하고 파피앙에게 누군가 통역해서 설명해주는 것이 좋을 것 같습니다. 뜻이 불분명한 단어로 수습하시면 양쪽 모두 알아 듣기 힘든 제점이... - [김희성]
          * 저한테는 첫 정모였는데 재미있었습니다. 영어로 진행되는 바람에 조금 이해하기 힘들었습니다. 다음부터는 한글로 진행하면서, 동시에 영어로 통역을 해 주는 사람이 있었으면 합니다. 또한 VPN와 PKI와 관련된 전적인 설명을 들을 수 있어서 좋았습니다. 저는 전반적으로 만족합니다. - [김민재]
  • 정모/2013.1.8 . . . . 4 matches
          * 선거 게시판을 만들어 후보들에게 질할 수 있는 토론의 장을 만들 예정입니다.
          * 한동안 쉬었음. 이번주 목요일부터 당장 제를 풀어와서 진행합니다.
          * [김태진] - 후기를 작성해주세요. 오늘 한시간동안 말을 계속했더니 (거기다 감기때인지 목소리도 잘 안나옴) 힘들었네요. 근데 이것도 이제 한번만 하면 끝..........
          * [조광희] - MT 재미있게 다녀오세요~ 전 계절학기 때에.... 옛날엔 시험따위 던저두고 놀러다녔지만 이젠 못하겠네요.
  • 정모/2013.3.25 . . . . 4 matches
          * [김홍기] 학우의 서 내용으로 파일 찾는 프로그램 소개.
          * 튜티들도 위키를 사용할 수 있게 위키 사용법을 알려 주세요.
          * 민재야 홍병우 교수님 같애............ 같은 질 계속 계속 - [고한종]
  • 조영준/파스칼삼각형/이전버전 . . . . 4 matches
          continue;
          // 숫자 출력
          continue;
          // 숫자 출력
  • 중위수구하기/조현태 . . . . 4 matches
         뭔소린지 몰라서 아영이 소스를 보니 그냥 단순히 가운데 숫자를 의미하는것 같아서, 그걸로 의미를 정하고 작성하였다.
         아영이꺼와는 다르게 중간에 for이 있기에 break를 하면 그냥 밑으로 내려간다는.. 그렇다고 if을 두개 쓰려니 메모리 낭비..
          cout << i+1 << "번째 숫자를 입력해 주세요.";
  • 지금그때2003 . . . . 4 matches
         김아영 박진섭 임민수 나휘동 김주현 구자겸 김신애 심주영 황재선 강석우 정정훈 한일규 변준원 원명 박상기 강희경
         [지금그때2003/선전]
          (아직 제대로 지원못하는 자열이 있군 --;;)
         [지금그때2003]때 큰 종이에 적었던 기록들을 위키로 옮기고, 늘 지속적인 질답, 정리작업이 되면 좋겠습니다. 새로운 질이 올라와도 좋겠죠. --JuNe
  • 지금그때2003/ToDo . . . . 4 matches
          * 일요일 까지 선전을 작성하고 올려야 한다. [지금그때2003/선전] (V)
          * 재 공지 NeoCoin (V) [지금그때2003/선전]
          NeoCoin 군은 페이지 보는대로 외부 링크로 사용하시길.
  • 지금그때2003/규칙 . . . . 4 matches
          1. 질외의 모든 이야기는 다음과 같이 시작해서 만든다.
          * 질외에 모든 이야기는 다음과 같이 시작한다.
          * 단, xx의 정의에 대한 질시에 시작하기가 난해 했는데(ex- 전산센터가 뭐에요?), 이는 조그마한 트릭으로 충분히 극복할수 있었다.
          * 발견된 제점
  • 지금그때2004/게시판홍보문안 . . . . 4 matches
         == 첫번째 홍보 ==
         == 두번째 홍보 ==
         태클 많이 걸어주세요. 오늘(4월1일) 홍보을 올릴 계획입니다. --[Leonardong]
         오늘 내가 남긴 발자국은 훗날 남의 길이 되기 때이다.
  • 지금그때2005 . . . . 4 matches
         지금그때의 의미를 담은 자료집과 질릴레이에서 좋은 내용을 받아 적을 수 있는 종이. 그리고 OST를 간단하게 받아 적을수 있는 종이를 나눠준다면 좋지 않을까요?? - 이승한
         과대의 강의실을 빌릴 생각은 하지 못했었네요. 제 친구를 통해서라면 과대(서라벌홀)의 강의실도 빌릴수 있을것 같은데. - [이승한]
         질 레스토랑과 OST시간은 [http://zeropage.org/wikis/nowthen2004/%C1%F6%B1%DD%B1%D7%B6%A72005 지금그때위키]에 정리하여 [지금그때]가 누적될 수 있도록 하는게 좋겠다는 생각을 하네요.--[Leonardong]
  • 진법바꾸기/허아영 . . . . 4 matches
         안돌려봐서 모르겠지만 말야..ㅎㅎ 왠지... 저기 do~while안의 i랑 turn..하나로 해도 되지않을까??ㅎㅎㅎ
          그런데 말야.. 저기 두 번째 함수의 i 과 turn 은 정말로 전혀 다른게 없다고. 이름을 여러개로 해주고 싶었다면 포인터를 사용하거나 전처리사용하는게 나을텐데.. 같은연산이 중복되서 일어나니까 오히려 햇갈린다고..ㅎㅎㅎ
  • 쪽지:인수와상협 . . . . 4 matches
         인수야, 페이지 제목 때에 그런 제가 생긴거 같다. -_-; 아마도 \ 이자가 제인듯..
  • 최대공약수/허아영 . . . . 4 matches
         if(x1 < x2) // 이 부분이 꼭 필요하지 않다고 득 느낌..
          printf("두 숫자 입력 (ex| 5 6):");
          y2 = y; //y값을 y2를 이용해 사용.
          printf("두 숫자 입력 (ex| 5 6):");
  • 컴퓨터가했다 . . . . 4 matches
         ["데기"]는 종종 무의식적으로 컴퓨터가 했다는 말을 사용했다. ''"주가 동향 분석은 컴퓨터가 해준다구."'', ''"이 그림은 컴퓨터가 그린거야."''... 그런데 그런 일들을 정말 컴퓨터가 했다고 말할 수 있을까. ''"이 그림은 내 붓이 그린거야."''라고 말하진 않는다. 사람이 한것이다. ["컴퓨터가했다"]고 말할 수 있는 것들이 있을까. 전자상거래 시간에 마련된 특강에서 '''''컴퓨터를 주체가 아닌 도구로 보라'''''는 말씀을 해주신 초청 강사님께 감사드린다.
          ''A씨가 청소를 했다고 말할 수 있는 것은 손을 떼는 순간 때이 아닌것 같습니다. 컴퓨터와 붓보다 컴퓨터와 사람간의 차이가 훨씬 크기 때이 아닐까요. 컴퓨터와 붓은 사람이 사용하는 도구지만 사람은 주체니까요. A씨는 청소를 해야할지 말아야할지 스스로 결정할 수 있습니다. ^^ --["이덕준"]''
  • 컴퓨터고전스터디 . . . . 4 matches
         요즘 전산학과 대학생들이 모여서 리눅스 해킹법이니, MFC API니 하는 걸 같이 스터디하는 것도 나름대로 의미가 있겠지만 컴퓨터계의 고전 하나를 제대로 스터디하는 것은 어떨까 합니다. ''군자무본 본립이도생. 군자는 근본에 힘을 쓰니, 근본이 서야 길이 생기기 때이다.''라는 말이 논어에 나오죠. 나이가 아직 어리고, 시간적 여유가 있는 때에는 어떤 구체적인 "기술"보다 좀더 일반적이고 보편적이며 이론적인 사유를 훈련하는 것이 좋지 않을까요. 구체적 기술은 거기에 갖혀버리는(Lock-In) 경향이 있습니다. 2-3년 뒤에는 쓸모없어진다든가 하는 것이죠. 하지만 고전은 대부분 앞으로도 10년은 족히 유효한 것들입니다. 꾸준히 재해석될 가능성이 있는 것들이고, 무엇보다 제의식과 함께 치밀한 사유를 배우는 겁니다. 생각하는 법 말이죠.
         왜 고전 읽기는 인학에만 해당하는 것이라고 치부해 버리는 것인지 안타까울 때가 많습니다.
         혹시 관심이 있다면 http://www.acm.org/classics/ 의 글들을 한번 읽어보길 권합니다. 튜링상을 받은 사람들의 "전설적인 논" 모음입니다. 특히 David Parnas의 글은 감동의 눈물을 흘리면서 본 기억이 납니다.
  • 큰수찾아저장하기/김태훈zyint . . . . 4 matches
         제는 쉬운데 이걸 함수로 나누기가 무지 애매하다 -_-;
         제는 금방풀고; 이 프로그래밍 함수 어떻게 나눌지 생각한게 한시간 걸렸을듯...
          //전체 4 * 4 행렬의 공간 중 3 * 3 행렬의 공간에 키보드로 입력을 받아 숫자를 저장한 후,
          //전체 4 * 4 행렬의 공간 중 3 * 3 행렬의 공간에 키보드로 입력을 받아 숫자를 저장한 후,
  • 타도코코아CppStudy . . . . 4 matches
          * 또한 공부하다가 모르는 거 있음 질 다 받아 드립니다. 제가 아는 한도 내에서, 몰라도 찾아서 답해드리겠습니다. --[인수]
          * Visual C++의 Debug 사용법을 알고싶어요^^ --[선희]
          * 제가 깜빡하고 이말을 미리 못 드렸네요-_-; 제가 담주 28~31 8월4일~9일..알바 풀타임을 하기 때에; 도저히 빠질수가 없는 관계로 스터디로 총 4번을 빠질듯 해요ㅠ.ㅠ 2주동안 컴터 거의 킬 시간도 없을 듯 해요;;아 진작 말을 못드린점 죄송하구요...알바 끝나면 더 열심히 하겠어요...;그리고 오늘 부터는 가족끼리 여행가기 때에...에혀;;뭐 숙제할 시간도 없겠다ㅠ.ㅠ 그동안 잘 지내세요...그럼 이만; 인수형! 제 맘 아시죠?;;위부는 말 했고...방이랑 옹은 기쁜 소식을 접해서 좋겠군-_-;대근이형 나중에 뵈요ㅠ.ㅠ스타 담에 꼭하구요;
  • 프로그래머가알아야할97가지/ActWithPrudence . . . . 4 matches
         이터레이션 초반에 스케줄이 아무리 여유로워 보인다고 해도, 시간 압박을 다소 받는 건 어쩔 수 없다. “제대로 하기”와 “빨리 하기” 중 선택해야 할 경우, 나중에 다시 돌아와서 고칠 수 있다는 전제하에 “빨리 하기”를 선택하고 싶어지기도 한다. 스스로에게나 팀에게 또는 고객에게 이런 약속을 할 때에는 정말로 나중에 고치겠다는 뜻이다. 그러나 십중팔구 다음 이터레이션에서 새로운 제가 나타나서 거기에 집중하게 되곤 한다. 이렇게 연기된 작업은 기술적 부채(Technical Debt)라고 알려져 있으며 이런 일에 익숙해져서는 안 된다. 특별히, 마틴 파울러(Martin Fowler)는 그의 기술적 부채 분류 체계에서 이를 의도하지 않은 기술적 부채와 헷갈려서는 안 되는 계획적인 기술적 부채라고 부른다.
         기술적 부채는 대출과 마찬가지다. 그로 인해 단기적인 이익을 얻지만, 전액을 상환하기 전까지는 이자를 지불해야 한다. 이런 코드 내 지름길 때에 기능을 추가하거나 코드를 구조조정하기 어려워진다. 이런 지름길은 결함과 안정적이지 못한 테스트 케이스가 자라는 밑거름이 된다. 이를 오래 방치하면 방치할수록 더 나빠진다. 수정을 하려고 할 때 즈음이면 코드를 구조조정하고 수정하기 훨씬 어렵게 만드는 그다지 좋지 않은 설계가 애초의 제 위에 켜켜이 쌓여 있을 수 있다. 사실상, 다시 돌아가서 고쳐야 할 때는 일이 너무 심각해져서 반드시 고쳐야 할 때뿐이다. 그 때엔 일정이나 위험을 감당할 수 없어 고치기 어려운 경우가 다반사이다.
         원: http://programmer.97things.oreilly.com/wiki/index.php/Act_with_Prudence
  • 프로그래밍/장보기 . . . . 4 matches
         [http://acm.kaist.ac.kr/Problems/2005oa.pdf 제 보기]
         타이머를 켜놓고 시간을 우선시하다보니 역시 Refactoring을 하고 싶지 않았다. 요구사항을 읽고 감이 팍 오는 제는 그냥 막 코딩하는 식이다. main에 확 집어 넣고 풀어도 그냥 풀린 제를 굳이 메소드로 나누고 여러 군데에서 사용되는 변수를 필드화하는 것이 정말 귀찮았다. 하지만 그러한 방식으로 전환하고 습관화하는 능력을 키워야 겠다.
  • 피보나치/조현태 . . . . 4 matches
          cout << "피보나치 수열을 출력하는 프로그램입니다.\n 몇번째 숫자를 출력하시겠습니까?";
          cout << number <<"번째 숫자까지의 값을 출력하겠습니까?(1.예 2.아니오)";
          t= int (raw_input('느린연산 숫자를 입력해주세요>>'))
          t= int (raw_input('빠른연산 숫자를 입력해주세요>>'))
  • 하드웨어에따른프로그램의속도차이해결 . . . . 4 matches
          * 아래는 제가 조사해본 내용인데 추상적이거든여.. 실제 사용예 같은거 있으면 자료 올려 주시면 좋겠습니다.
          * 이걸로 해결 봤습니다. MFC에서는 타이머를 써봤는데 API에서는 어떻게 쓰는지 몰라서 못했었는데, 정직이형에게 물어봐서 알게 되어서 위 제를 해결~
          * 궁금한게 있는데, ["MFCStudy_2001/MMTimer"] 로 안된단 말이야? 가장 빠른걸로 알고 있어서, 동작 제어는 타이머단에서 하고, loop에서 열심히 그림 그려서 fliping만 해주면 되지 않을까? 낮에는 경황이 없어서, 그냥 멀티미디어 타이머 이야기만 했는데, winamp 같은 시간에 의존적인 프로그램들도 이 타이머를 사용해서 말이지. --["neocoin"]
          * 비슷한건데.. 스레드와 timer 를 같이 써서 해결하기도 하지.. -_-; 아는 형 중에 그렇게 하던데.. dx 쓸때.. source 는 모르겠고.. mfc 에서 dx 쓸때 그렇게 한다고 하더라.. 뭐 네가 말하는 제의 해결책이 될듯 하기도 하고.. -- ["erunc0"]
  • 하욱주/Crap . . . . 4 matches
          continue;
          continue;
          << "첫번째 주사위의 숫자는 :" << sq1 << endl
          << "두번째 주사위의 숫자는 :" << sq2 << endl
  • 혀뉘 . . . . 4 matches
         일단 좋아하는 사람이라면 최선을 다 하지만, 그만큼 돌아설 때도 깨끗하기 때입니다.
         할수 있을 만큼 다 해주고, 자신을 다 쏟아버렸기 때에, 아니다 싶을 때
         한번 아니면 끝이기 때에 있을때 잘하는게 상책이지요.
          그냥 생각인데, 10여년 후에는 베트남에 대한 보상 제로 사회가 또한번 발칵 뒤집히지 않을까 싶어.
  • 1thPCinCAUCSE/ProblemA . . . . 3 matches
         1회 중앙대학교 컴퓨터공학과 프로그래밍 경진 대회 A번 제 : 시계
          출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 자기가 계산한 회수를 한 줄에 하나씩 출력한다. T개의 테스트 케이스를 모두 맞춰야 이 제를 맞춘 것이다.
         ["1thPCinCAUCSE"], ["제분류"]
  • 1thPCinCAUCSE/ProblemC . . . . 3 matches
         1회 중앙대학교 컴퓨터공학과 프로그래밍 경진 대회 C번 제 : 색깔 바꾸기
          입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T (10 이하) 가 주어진다. 다음 T줄의 각 줄마다 테스트 케이스가 주어진다. 테스트 케이스는 b와 w로 이루어진 길이 9인 자열이 주어진다. 이 글자들 사이에는 빈칸이 없다. 이들은 차례로 1,2,3,4,5,6,7,8,9에 해당하는 칸의 색을 나타내는데, b는 검은색이고, w는 흰색이다.
         ["1thPCinCAUCSE"], ["제분류"]
  • 2002년도ACM문제샘플풀이/문제D . . . . 3 matches
          continue;
          continue;
         ["2002년도ACM제샘플풀이"]
  • 2004여름방학MT . . . . 3 matches
          * 크으... 알바 때에 못 갈듯 합니다. --영동
          * 질 : 후발대 있어요?? -- 승균
          * 나도 제로 모임은 늘 뭔가랑 겹친다...ㅡㅡ 나도 엠티는 밥벌이때에... --기남
  • 2010PHP . . . . 3 matches
          * 이모티콘은 우리가 제공하는 것만 사용할 수 있다.
          * DB는 Mysql을 사용한다.
          * query에 대해 알아볼 것
  • 2ndPCinCAUCSE/ProblemC . . . . 3 matches
         C 번 제 : 줄 세우기. 소스파일 이름 : ccc.c or ccc.cpp
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 번호 순서대로 줄을 세우는데 옮겨지는 아이들의 최소 수를 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 제를 맞힌 것이다.
         [제분류]
  • 3,5,7빵Problem . . . . 3 matches
         = 3,5,7 빵 꺼내기 제 =
         이때, 컴퓨터가 두번째로 시작한다고 가정하고 사용자의 입력에 따라 무조건 이길 수 있는 최적해를 출력해 이기는 프로그램을 짜면 됩니다.
          * [http://en.wikipedia.org/wiki/Nim Nim] Nim이라는 이름의 제네요.
  • 3N+1Problem/문보창 . . . . 3 matches
         제에 나와 있는 단순한 알고리즘을 제대로 구현만 해도 성공하는 쉬운 제.
         [3N+1Problem] [보창]
  • 3rdPCinCAUCSE/ProblemB . . . . 3 matches
         B 번 제 : 직사각형. 소스파일 이름 : rect.c or rect.cpp
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 네 개의 직사각형이 차지하는 면적을 출력한다. T개의 테스트 케이스를 모두 맞혀야 이 제를 맞힌 것이다.
         [3rdPCinCAUCSE],[제분류]
  • 5인용C++스터디/후기 . . . . 3 matches
         법이 복잡하고 어려워서 정말 힘들었지만 그에 대한 두려움을 조금이나마 극복하게 된것 같습니다. MSDN 찾아보면서 숙제를 완성시키는 과정이 나름대로 만족스러웠습니다. MFC의 메시징 시스템 등의 체계, 윈도우 메시지의 작동 원리 등을 완벽히 이해하고 싶다는 생각이 듭니다. 스터디를 어떤 식으로 준비하고 발표해야될지 알게 되었고 윈도우 프로그램을 보면 어떤 식으로 만들었는지 대략 알 수 있는 능력이 생긴 것 같습니다. 다음 스터디부터 더욱 열심히 하고 싶습니다.
         === 원명 ===
         공부하면서 아 내가 많이 부족하구나 하는 것을 알게 되었어요.. 끝까지 법과 메시지 처리의 압박에 시달렸는데 내가 발표한것은 그나마(!!) 나은데 다른사람이 발표한 내용은 잘 알지 못하는 것 같아요 ㅎㅎ ^^; 친구들과 같이 공부하면서 나름대로의 경쟁심? 이랄까 의욕이란 것도 생기고 저만 빼고 다들 너무 잘 한 것 같아 앞으로도 열심히 노력해야겠다는 생각도 들엇구요 어떻게 공부해야 하나 대충 가닥을 잡을 수 있던 시간이었습니다
  • AM/20040712세번째모임 . . . . 3 matches
          * 참석자 : 곽세환 김회영 보창 서영희 정택성
          * 시간부족, 노트북 말썽, 참여율 저조,... 여러 안 좋은 상황에서도 꿋꿋이 모임이 진행되었습니다. 발표자로서 설명할 내용이 많았는데 제대로 전달하지 못한것 같아 아쉽구요. 혹시라도 시간제때에 참여못하신분은 가능한 시간을 적어주세요. 최대한 시간을 조절하겠습니다. 그리고 예습은 필수랍니다~~ --[곽세환]
  • AM/AboutMFC . . . . 3 matches
         MFC의 정확한 동작 원리를 알고 싶다면, 2000년 5~8월 사이의 프로그래밍세계의 MFC관련 기사를 추천합니다.(도서관에 있고, 복사할수 있습니다.) 재미있는 자료입니다. 저는 우연히 01년 상반기에 기사의 필자 곽용재씨에게 해당 내용에 대한 강의를 들은적이 있는데, 그때 그림 사용을 허락맡고 [MFCStudy_2001]를 위해 자료를 만들어서 세미나를 했습니다.
         자료는 소스분석으로 만들어 졌기 때에 철저히 MFC 6.0(mfc42.dll Visual C++ 버전 6.0)을 기반합니다. 지금이 7.1 (mfc71.dll Visual C++ .NET 2003) 까지 올라 왔지만, 메세지 핸들링을 다룬 이 내용의 변화는 언급이 없습니다. ( from MSDN 2003 )
         F12로 따라가는 것은 한계가 있습니다.(제가 F12 기능 자체를 몰랐기도 하지만, F12는 단순 검색에 의존하는 면이 강해서 검색 불가거나 Template을 도배한 7.0이후 부터 복수로 결과가 튀어 나올때가 많죠. ) 그래서 MFC프로그래밍을 할때 하나의 새로운 프로젝트를 열어 놓고 라이브러리 서치용으로 사용합니다. Include와 Library 디렉토리의 모든 MFC관련 자료를 통째로 복사해 소스와 헤더를 정리해 프로젝트에 넣어 버립니다. 그렇게 해놓으면 class 창에서 찾아가기 용이하게 바뀝니다. 모든 파일 전체 검색 역시 쉽게 할수 있습니다.
  • ASXMetafile . . . . 3 matches
          일종의 윈도우즈미디어 메타파일. XML 스크립트로 이루어져있고 이 메타파일을 작성함으로써 플레이어를 건드리지 않고도 다양한 기능을 사용할 수 있다.
         === ASX 법 ===
          XML의 법을 따르며 다음과 같은 element가 있다. element만을 보고도 해당 element가 무엇을 의미하는지 알 수 있다. (약간 모호할 수 있는 것은 설명을 같이 넣었다)
  • AnswerMe . . . . 3 matches
         질 있어요! 질있는 곳에 해당 태그를 남기면, 추후 이 페이지에 질있는 페이지들 리스트가 뜬다. 대답을 할수 있는 사람은 대답을 하고, AnswerMe 테그를 삭제하면 된다.
  • Apache . . . . 3 matches
         전세계 서버 50% 이상이 아파치를 사용한다고 한다.
         = 각 제 상황 해결 =
          * [http://www.wallpaperama.com/forums/how-to-fix-could-not-determine-the-servers-fully-qualified-domain-name-t23.html 위제상황해결링크]
  • AstroAngel . . . . 3 matches
          * 명덕초('91) → 백초('94) → 일중('96) → 일고('99) → 중앙대('02) with KJSE('02)
  • BasicJAVA2005/실습1/조현태 . . . . 3 matches
          //// 사용자의 입력을 받습니다. ////
          //// 사용자 입력 체크 ////
          System.out.println("동일한 숫자를 입력하였습니다. 다시 입력해주세요.");
  • Basic알고리즘 . . . . 3 matches
         {{| " 그래서 우리는 컴퓨터 프로그래밍을 하나의 예술로 생각한다. 그것은 그 안에 세상에 대한 지식이 축적되어 있기 때이고, 기술(skill) 과 독창성(ingenuity)을 요구하기 때이고 그리고 아름다움의 대상(objects of beauty)을 창조하기 때이다. 어렴풋하게나마 자신을 예술가(artist)라고 의식하는 프로그래머는 스스로 하는 일을 진정으로 즐길 것이며, 또한 남보다 더 훌륭한 작품을 내놓을 것이다. |}} - The Art Of Computer Programming(Addison- wesley,1997)
  • BeingALinuxer . . . . 3 matches
          오늘의 의점: 와일드카드 자의 정확한 동작을 모르겠다.(ls pu* 로 하면 왜 pu*폴더안에있는 파일까지 다 나오는지?)
          - 프로그램 자체가 그렇게 제작되었기때이 아닐까. -_-a - 인택
  • BlogLines . . . . 3 matches
         써본 경험에 의하면... publication 으로 개인용 블로그정도에다가 공개하기엔 쓸만하다. 그냥 사용자의 관심사를 알 수 있을 테니까? 성능이나 기능으로 보면 한참멀었다. 단순한 reader 이외의 용도로 쓸만하지 못하고, web interface 라서 platform-independable 하다는 것 이외의 장점을 찾아보기 힘들다. - [eternalbleu]
          feed demon 을 주로 쓰고 있는데... 이유는 ㅡ.ㅡ;; 실행이 빠르고 watch 기능등이 있다는 정도랄까요 ;; xpyder, yeonmo 같은 것도 설치는 해봤는데.. 약간 느린 바른 속도때에 바로 지우고야 말았다는.. 아무래도 조급증에 걸린것 같습니다. 아 그리고 블로그에 가면 tatter를 이용해서 사용합니다. - [eternalbleu]
  • BookShelf/Past . . . . 3 matches
          1. 대학의이념과학의윤리 - 20050113
          1. [http://kldp.org/Translations/html/Ask-KLDP/ 좀더 나은 질하기 방법] - 20050121
          1. [질의힘] - 20050221
  • BuildingParserWithJava . . . . 3 matches
         3학년 1학기 ProgrammingLanguageClass에서 숙제로 파서를 만들면서 한계를 많이 느꼈었다. 가장 큰 제는 모든 흐름이 함수 호출을 따라 흘러간다다는 것이었다. 어느 곳이 잘못되었는지 알기가 어려웠기 때에 찾는데 무척 애를 먹었다. 법을 하나 추가하는 작업도 매번 오래 걸렸다. 그러다 보니 평가에 중요한 예외처리를 할 시간이 많지 않았다.
  • BuildingWikiParserUsingPlex . . . . 3 matches
         현재 PyKi라는, [1002]가 개인적으로 만들어서 사용중인 위키에서의 parser 클래스 중 일부 코드이다.
         처음에는 Wiki 에서 Tag 에 대해 Tagger 클래스를 만들고, link 를 걸어주는 부분에 대해 AutoLinker 를, Macro 에는 MacroApplyer 를 각각 만들어주었다. 그러다가 제가 생겼는데, 태그중에 그 영향력이 겹치는 부분이 생겨나게 된 것이다. 즉, 예를 든다면 Macro 의 경우 CamelWord 로 이름지어지기도 하는데, 이는 AutoLinker 의 apply 를 거치면서 archor 태그가 붙어버리는 것이다.
         그러나......~ 후자로 수정하는데 40분도 안걸리다.; 작업으로 본다면 Parser 두개의 lexicon 을 합치는 작업임에도 불구하고, 그 안정성도 보장받으면서 parser 에서 line 단위 자르기 부분까지 수정하였다. 매 번 수정할때마다 테스트를 돌리면서 확인했기 때에 그 결과가 보장이 되었다. Text Processing 에서 이러한 부분에 대한 TDD의 파워는 정말 크다란 생각이 든다.
  • BusSimulation/영동 . . . . 3 matches
          * 열심히 할라고 한거 같지만 제의 의도에서 벗어 났음. 이 제는 실제 각 이벤트가 일어나면 다른 조건에도 긴밀하게 영향을 주고 받아야 제대로 돌아 간다. 버스가 이동할때와 버스 정류장에 도착할때 다른 데이터들에게 어떠한 영향을 끼치는지에 대해서 생각해 보아야 한다. 즉 각각의 데이터에 영향을 끼치는 이벤트가 어떠한 상황에 발생하는가를 생각해보고 그 상황에서 영향을 끼치는 데이터에 어떠한 방식으로 그 영향을 반영할 것인가도 생각해볼 제- 상협
  • C++스터디_2005여름/학점계산프로그램/문보창 . . . . 3 matches
          fin.ignore(100, ' '); // 사용자 지정 자가 나올때까지 읽어 버리는 함수
          // 해당 학점을 double형 숫자로 1대 1 로 변환 시켜 입력
  • CNight2011/김태진 . . . . 3 matches
         2010년 경진대회 제로 Dynamic, Back Tracking에 대해서 설명해주었어요. 간단하게 요약해보자면, 가능성을 따져보는건데요, 어느 시점에서 그 길이 답이되는 길일 가능성이 없어지면 그 경우의 수는 제외한다는 거죠.
         순의형과 종하형이 개념적인걸 설명해주셨고(왜 배열말고 이런 번거로운 방법을 쓰느냐! 배열을 쓰면 중간에 있는 값을 삭제하거나 삽입하기 너무 어려워지기때!) 지원누나가 코드가 어떻게 돌아가는지 설명해 주셨어요.
  • CNight2011/윤종하 . . . . 3 matches
          * 사용
          * typedef 미사용
          * typedef 사용
  • CeeThreadProgramming . . . . 3 matches
         윈도우 유저레벨 동기화 방법. 가장 사용이 간단하다.
         VS.NET에서도 함수이름을 인식하지 못하는 경우 프로젝트 세팅에서 MFC라이브러리를 사용하도록 해보세요.
         /* Wait till threads are complete before main continues. Unless we */
  • ChainsawMassacre . . . . 3 matches
         [http://online-judge.uva.es/p/v100/10043.html 원보기]
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • CheckTheCheck/곽세환 . . . . 3 matches
          continue;
          continue;
          continue;
  • ChocolateChipCookies . . . . 3 matches
         [http://online-judge.uva.es/p/v101/10136.html 원보기]
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • CodeRace/20060105 . . . . 3 matches
         알파벳이 아닌자들은 제외한다
         만약 자가 AA라면
  • CommonState . . . . 3 matches
         초기 컴퓨터는 용량이 너무 적어서, 프로그램 짧게 만들기 이런걸 많이 해야만 했다. 당연하지만 그걸 알아볼 수 있으리라는 기대는 하지 않았다. 그러다가 용량이 커지니까 이제는 많고 많은 state들을 사용하는 많고 많은 함수들을 많이 사용하게 되었다. 하나 고칠라면 전체를 뜯어 고쳐야 했다. state로서의 프로그램은 안좋다. 그러니 state도 안좋다(??) 이런 상황에서 state가 없고, 프로그램만 있는 함수형 언어가 나오게 되었다. 개념적인 우아함과 수학적인 우아함을 갖추고 있음에도 불구하고, 상업적인 소프트웨어를 만드는데에는 전혀 쓰이지 않았다. 이유는 사람들은 state를 기반으로 생각하고 모델링하기 때이었다. state는 실세계에 대해 생각하는 좋은 방법이다. 객체는 두 가지의 중간이다.(?이렇게 해석해야하나..--;) state는 잘 다뤄질때만 좋다. 작은 조각으로 나누면 다루기 쉬워진다. 이렇게 하면 변화를 어느 한 곳만 국한시킬 수 있게 된다.
  • CompleteTreeLabeling . . . . 3 matches
         [http://online-judge.uva.es/p/v102/10247.html 원보기]
         || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [AOI]
  • ComputerGraphicsClass . . . . 3 matches
         [1002] 가 봤던 OpenGL 입서. 간결한 설명과 실제로 입력해보고 바로 확인할 수 있는 간결한 예제가 장점. 약 200여페이지로 필요한 내용만 간결하게 들어있는게 장점이다.
         다른 과목(DB, Network)에 비해서 좀 외진(?) 학이랄까, 혹은 '연구스타일'의 학이랄까. DB나 Network 이라면 현업에 대해서 이미 많은 일을 하고 있지만, CG 의 경우는 상대적으로 덜하다.(Game 분야정도? 하지만 Game 분야도 생각보다는..) 그래서 그런지, DB 나 Network 에 비해서 상대적으로 어렵게 느껴졌다.
  • ContestScoreBoard/조현태 . . . . 3 matches
          이번 제의 풀이의 자료구조는 링크드 리스트..
          제를 다 읽어도 입력되는 자료의 2번째가 무엇을 뜻하는지 이해하지 못하는 불상사..(;;)가 있었으나 몰라도 잘 풀어진다는 특징이..;;;
          printf("참가 팀 번호\t푼 제 개수\t누적된 시간 벌점\n");
  • DataStructure/Tree . . . . 3 matches
          * LevelOrder : 레벨 순으로 방
          (*node)->Data = new char[strlen(ch) + 1]; // 자열 길이만큼 할당
          strcpy((*node)->Data,ch); // 노드에 자열 복사
  • Debugging/Seminar_2005 . . . . 3 matches
          * 디버깅은 주로 구적인 에러보다는 컴파일은 되더라도 자신의 의도한 값이 나오지 않을 경우에 많이 한다.
          * 많이 변경된 상태에서 컴파일 할 경우 버그들이 복합되어져서 보이기 때에 찾기가 더 힘들다.
         == 디버깅 프로그램 사용방법 시연 ==
  • DeleteThisPage . . . . 3 matches
         페이지를 삭제한다는 의미로 쓰는 구.
         일단 자신이 해당 페이지를 지우는 것 보다는 전체 글을 지운뒤 DeleteThisPage 구 남김 -> 다른 사람들의 동의 (즉, 해당 구와 history, RecentChanges 를 통한 상황 파악) & 삭제 의 순서를 띄는 것이 위험도를 줄일 수 있겠다.
  • DirectVariableAccess . . . . 3 matches
         초기화처럼 변수에 접근하는 방법도 큰 이슈 중 하나였다. 이것에도 두가지 방법이 있는데, 역시 패턴의 존재 이유처럼, 하나는 유연성, 또 다른 하나는 가독성이다. 첫번째 방법은 모든 변수를 직접 접근하는 것이다. 다른 하나는, 항상 메세지를 보내는 것이다.(setter,getter를 사용한다.)
         와드 아저씨의 말로는, '클래스에 아주 적은 양의 메소드만 존재한다면, getter/setter를 추가하는 것만으로도 메소드의 수가 두배가 되어버린다. 이는 전혀 사용되지 않을 유연성을 위해 쓸데없이 갯수를 늘린 것이다.' 라고 한다.
         하지만 이 클래스가 상속이 될 가능성이 있다면, setter/getter를 오버라이딩 해서 사용할수 있으므로, IndirectVariableAccess를 쓰는 것이 괜찮다.
  • DispatchedInterpretation . . . . 3 matches
         그.러.나. 객체의 정보가 다른 객체에 영향을 미쳐야만 할때가 있다. 간단할때는, 그냥 인코딩된 오브젝트에 메세지를 보내면 수월하게 해결이 가능하다. 하지만 복잡한 경우에는 힘들다. 제는 수백의 클라이언트들에게 모든 타입의 정보에 대해 명시적으로 case 형태의 구조를 만들기를 원하지 않는다는 것이다.(??)
          void* command = aShape.commandAt(i); // 법 맞나?--;
         모든 커맨드를 위한 case 구을 쓰지 말고, PostScriptShapePrinter에 모든 커맨드를 두자.
  • DoWeHaveToStudyDesignPatterns . . . . 3 matches
         제 개인적인 의견으로는, 다른 것들과 마찬가지로 뭐든지 공부한다고 해서 크게 해가 되지는 않겠지만(해가 되는 경우도 있습니다 -- 다익스트라가 BASIC을 배워 본 적이 있는 학생은 아예 받지 않았다는 것이 한 예가 될까요?) 공부해야 할 필요가 있겠는가라는 질에는 선뜻 "그렇다"고 답하기가 쉽지 않습니다. 여기에는 몇가지 이유가 있습니다. (제 글을 "DesignPatterns를 공부하지 마라"는 말로 오해하지는 말아 주기 바랍니다)
         우선 효율성과 순서의 제입니다. DesignPatterns는 이미 해당 DesignPatterns를 자신의 컨텍스트에서 나름대로 경험했지만 아직 인식하고 있지는 않는 사람들이 공부하기에 좋습니다. 그렇지 않은 사람이 공부하는 경우, 투여해야할 시간은 시간대로 들고 그에 비해 얻는 것은 별로 없습니다. 어찌 보면 아이러니칼하지만, 어떤 디자인 패턴을 보고 단박에 이해가 되고 "그래 바로 이거야!"라는 생각이 든다면 그 사람은 해당 디자인 패턴을 공부하면 많은 것을 얻을 겁니다. 하지만, 잘 이해도 안되고 필요성도 못 느낀다면 지금은 때가 아니라고 생각하고 책을 덮는 게 낫습니다. 일단은 다양한 프로그램들을 "처음부터 끝까지" 개발해 보는 것이 중요하지 않나 생각합니다. (see also [WhatToProgram])
         다음은 우선성의 제입니다. 과연 DesignPatterns라는 것이 학부시절에 몇 달을 투자(실제로 제대로 공부하려면 한 달로는 어림도 없습니다)할만 한 가치가 있냐 이거죠. 기회비용을 생각해 봅시다. 좀 더 근본적인 것(FocusOnFundamentals)을 공부하는 것은 어떨까요?
  • EcologicalBinPacking/김회영 . . . . 3 matches
         //2. 재활용 용기 저장
         char save[4]={"NNN"}; //나중에 결과값을 출력시 사용
          continue;
  • EffectiveSTL/Iterator . . . . 3 matches
          * 원 : '''"When all else fails, get a bigger hammer."'''
          * 만약에 ri가 가르키는 위치에다 새로운 원소를 삽입하고 싶다고 하자. 하지만 insert 메소드는 reverse_iterator는 인자로 받지 않는다. iterator형만 인자로 받는다. 즉 직접은 못한다는 것이다. 지울때도 이와 같은 제가 발생한다. 그래서 base()를 쓰는 것이다.
          * 삽입은 제없이 되었지만.. 만약에 erase()를 호출한다면? 난 3을 지우고 싶은데 base()호출해서 iterator버젼으로 넣어주면 4가 날아갈 것이다. 어떻게 해야하는가?
  • EffectiveSTL/VectorAndString . . . . 3 matches
         == new/delete 콤비의 제점 ==
         == 크기를 유지하고 싶다면 reserve 메소드를 사용하자. ==
          * reserve를 사용하면 재할당, 반복자, 포인터, 참조 등등의 갱신을 최소화 시킬수 있다.
  • EightQueenProblem/da_answer . . . . 3 matches
         제가 코딩을 할 때마다 느끼는 저의 제점인데..
         켁... 2번제... 처음부터 계획이 2먼제의 요구사항을 충족시키는 방향이었기 땀시..
  • EightQueenProblem/nextream . . . . 3 matches
         처음엔 2차원 배열 메모리 공간을 두고 메모리 상에 체크해 가며 루프를 돌릴까 하다가 생각을 바꿔서 재귀호출을 이용하게 되었습니다. 첫 제에서 일단 제일 첫 퀸은 무조건 (0,0) 이라고 고정하고 재귀를 두번째 퀸부터 돌렸는데, 오히려 나중에 이 생각이 두번째 제 풀때 딱 한글자만 바꿔서 적응이 되는 것을 가능케 한것 같습니다.
         원래 첫번째 해법은, 한개만 뽑든지, 아니면 다뽑든지 둘중 하나였어야 하는데, 결론적으로는 제를 풀긴 했지만, 어정쩡한 모습이 되버리고 말았습니다.
  • EmbeddedSystemClass . . . . 3 matches
         실습에서 사용하는 리눅스는 레드햇 9.0으로 상당히 오래된 버전을 이용한다.
         최신 버전의 리눅스를 구해서 할 경우 페도라 Full install 의 경우 큰 제가 없으나,
         '''(리눅스를 처음 다루는 분이라면 실습에서 사용하는 레드햇을 이용하는 것이 좋다고 생각함)'''
  • ErdosNumbers/조현태 . . . . 3 matches
         끙..;; 처음에 제를 보고 C++로 자료구조를 만들어서 해보자는 생각으로 했지만..
          cout << "논의 수와 탐색할 저자의 수를 입력하십시오.\n>>";
          cout << "논의 저자와 제목을 입력하세요.\n";
  • ErdosNumbers/황재선 . . . . 3 matches
          * 자바 1.5의 새로운 기능을 조금 사용해보았다. 클래스 Scanner는 이전 방식으로 하는 것보다 훨씬 편한 기능을 제공해 주었다. for loop에서 신기하게 배열을 참조하는 방식이 Eclipse에서 에러로 인식된다.
          이클립스 최신버전을 사용하면 되던데?! -[보창]
  • EuclidProblem/조현태 . . . . 3 matches
         제에서 주어진 규칙을 만족하는 숫자가 나오도록 잔머리 굴려서 대입시키도록 해놓았다.^^;
          printf ("두 숫자를 입력해 주세요.(0,0)은 정지\n>>");
  • ExploringWorld/20040315-새출발 . . . . 3 matches
         === 그외의 질과 답변 ===
          * 최악의 상황 경우 Debian 설치를 해야 되기 때에 미니 CD준비하기
          * 질이 없었다.
  • FifteenSecondsRule . . . . 3 matches
         예를 들어, 경매 시스템이 있을 때, "이 시스템은 무얼 하는 것이냐?"라는 질에 15초 이내에 깔끔하지만 '''완전한'''(complete) 대답을 할 수 있어야 하며, "그럼, 이 시스템에서 {{{~cpp Authentify}}} 서브 시스템은 뭘 하는 것이냐?"라는 질에 역시 15초 이내에 완전한 대답이 가능해야 하고, "이 {{{~cpp FooBar}}} 객체는 무엇을 하는가?"라는 질에 또 15초 이내의 대답이 나와야 합니다. 이런 식의 설명이 모두 끝났을 때, 소스 코드 '''전체'''를 훑은 셈이여야 합니다 -- 이게 용이하려면 프로그램의 구조가 이런 설명의 구조와 유사해야 합니다.
  • FileZilla . . . . 3 matches
         [임인택]이 사용하는 오픈소스 ftp 클라이언트. 그 전에는 alftp을 주로 사용했는데, 사용했던 시기가 alftp 가 약간 불안하게 동작했던 시기라서 아예 FileZilla로 전환했다. 기본적인 ftp 프로토콜 외에도 sftp 프로토콜까지 지원한다. 2.2.7 버전대로 올라오면서 한글까지 지원하여 이제는 더없이 좋은 ftp 클라이언트가 되었다. 그 외에도 편리한 사이트 매니저 기능등을 제공하지만 로컬 디렉토리를 브라우징할때 약간 불편한 면이 있다.
  • FromDuskTillDawn/조현태 . . . . 3 matches
          일단 수많은 귀차니즘으로 약간의 전역변수를 사용하였으며..
          제에서 처럼 여러개의 테스트 케이스도 받도록 수정하였다.
          참고 : 나름대로 약간의 최적화가 되어있다. 그러나~ vector가 아닌 list를 사용한다면 좀더 효과적일듯하다.ㅎ 이런 귀차니즘~
  • GoodNumber . . . . 3 matches
         Good number 는 원래 수의 각 자리수의 합과 곱이 원래 수와 같은 소인수들의 각 자리수의 합이 같은 수들을 말합니다. 소수는 자신의 소인수가 자기 자신이기 때에 포함이 됩니다.
         ==== 제 ====
         ["제분류"]
  • GotoStatementConsideredHarmful . . . . 3 matches
         원 : http://www.acm.org/classics/oct95/
         주로 JuNe 과 [jania] 의 토론을 읽으면서 이해를 하게 된 논이다. '실행시간계'와 '코드공간계' 의 차이성을 줄인다는 아이디어가 참으로 대단하단 생각이 든다. 아마 이 원칙을 제대로 지킨다면, (즉, 같은 묶음의 코드들에 대한 추상화도를 일정하게 유지한다던가, if-else 의 긴 구들에 대해 리팩토링을 하여 각각들을 메소드화한다던가 등등) 디버깅하기에 상당히 편할 것이고(단, 디버깅 툴은 고생좀 하겠다. Call Stack 을 계속 따라갈건데, abstraction level 이 높을 수록 call stack 깊이는 보통 깊어지니까. 그대신 사람이 직접 디버깅하기엔 좋다. abstraction level 을 생각하면 버그 있을 부분 찾기가 빨라지니까), 코드도 간결해질 것이다.
  • HanoiProblem/상협 . . . . 3 matches
          * 이 소스는 Hanoi 제를 푼다음에 보면서 비교를 하는 식으로 보면 풀기 전에 보는 것보다 더 많은 도움이 될거 같네요.
         int inout(int i, int j) // 1,2,3중에서 i,j (1,2,3중 하나인 숫자)가 아닌 숫자가 리턴됨
  • HardcoreCppStudy/두번째숙제 . . . . 3 matches
          * this포인터란 무엇이며 사용되는 경우를 찾아보세요.
         || 명진 || 95 || 83 || 90 ||
          * 각 값을 비교하는 과정에서 this포인터를 사용합니다.
  • HelpOnRules . . . . 3 matches
         네가이상의 "-"를 사용하면 가로줄이 됩니다. 대쉬의 개수가 증가할 수록 굵기가 두꺼워지고 10개 이상이면 굵기가 더 이상 증가하지 않습니다.
         === 사용례 ===
         /!\ 가로줄의 굵기는 서의 통일성을 해칠 수 있으므로 옵션으로 제공합니다. config.php에 {{{$hr_type='fancy';}}}라고 하면 가로선의 굵기가 지원됩니다.
  • ImmediateDecodability/문보창 . . . . 3 matches
         단순히 조건에 나와있는데로 Decodablility를 파악해 주면 되는 제다. 코드를 계속 압축해 나가다 보니 수행시간이 갈수록 빨라졌고, 상위에 랭크될 수 있었다.
          continue;
         [ImmediateDecodability] [보창]
  • IntegratedDevelopmentEnvironment . . . . 3 matches
         IDE는 Integrated Development Environment를 말하며 한국어로는 통합 개발 환경을 의미한다. 보통 텍스트 편집기에 syntax highlite와 debugger, 빌드 도구, 컴파일러 등이 모두 통합되어 나오며 IDE하나만으로도 소스코드를 작성하는데 제가 없다.[* 최근에는 이마저도 부족한 경우도 있다.]
         종종 일반 Text editor가 너무나 많은 기능을 제공하는 나머지 IDE랑 헷갈리기도 한다. vim의 plugin을 깔거나 sublime을 잘 설정하면 IDE부럽지 않게 사용할수 있으나 해당 프로그램은 기본적으로 TextEditor이다. plugin을 통해서 지원하는 기능은 사실상 통합된 기능이라 보기 어렵기 떄이다.
  • IntelliJ . . . . 3 matches
         개인적으로 IntelliJ 는 정말 TestDrivenDevelopment 와 Simplicity 를 위한 에디터라고 생각하는데, 이유는 리팩토링 기능이나 화면상 UI (쓰이지 않는 필드 등에 대해선 회색으로 표시됨), 그리고 Inspection 기능때이다.
         리팩토링시에 JSP 에서 사용된 클래스들도 같이 리팩토링해준다.
         === 사용자 정의 단축키 ===
  • JavaStudy2004/오버로딩과오버라이딩 . . . . 3 matches
         2004년 자바 중간고사 3번 제로 출제
          위에서 말한 People클래스의 move함수를 예를 들어보겠다. 위의 move함수는 정수형 인자를 매개변수로 받아들인다. 만약 people.move(1.1, 2.13)라는 명령어를 실행한다면 매개변수의 타입이 다르다는 에러가 발생할 것이다. 더블 형의 인자를 받아들이기 위해 move함수를 Overloading한다. move(double aX, double aY){this.position.x += (int)aX;this.position.y += (int)aY;} 두 함수 다 유효한 함수로 사용된다. 두 함수 중 어떤 함수가 호출될 것인지는 매개변수 값에 의해서 결정된다. 즉 오버로딩 된 함수들은 반드시 매개변수의 타입이 달라 서로 구별될 수 있어야 한다.
          Overriding과 Overloading은 비슷하게 생겼기 때에 혼동하기 쉽다. Overloading은 '너무 많이 싣다', '과적하다'라는 뜻으로 되어있고, Overriding은 '무시하다', '짓밟다'라고 해석된다. 사전적 의미를 기억해둔다면 두 개가 혼동될 때 도움이 될 것이다.
  • JavaStudyInVacation/진행상황 . . . . 3 matches
          이런것들은 다 같이 찾아보고, 다 같이 토론하고, 다들 이해했으면 하나로 정리해서 써두 될텐데요^^ 위에 AWT와 SWING의 차이도.. 그리고 아래 네트워크를 사용하는 방법도 마찬가지구요~ 이렇게 각자 쓸것까지야... --["상규"]
          * 그 에플릿을 포함하고 있는 HTML 서를 만들어 각자 자기 계정에 올리고 위키에 링크 걸기.
          * 자바에서 네트워크를 사용하는 방법에 대해 간단히 알아보기.
  • JollyJumpers/서지혜 . . . . 3 matches
          continue;
          continue;
          if(isJ[i]) continue;
  • KIV봉사활동/자료 . . . . 3 matches
          * 소녀시대 & 슈퍼주니어 - 서울송 (서울 알려줄때 꽤 좋은영상. 한강, 광화, 남산타워, 청계천, 덕수궁 등이 화면에 잘 담아져 있음)
          * ''홍길동의 후예'' - 자막 싱크때에 멤버쉽꺼도 받아봤으면 함.
          * ''태왕사신기 (~2007, 完)'' - 1화만 받아주세요. 고조선 단군 신화 때에 있으면 좋을 듯.
  • KnightTour/재니 . . . . 3 matches
          * 나이트가 체스판의 모든 칸을 한번씩 방하면 종료된다.
          continue;
          continue;
  • KnowledgeManagement . . . . 3 matches
          * 세번째 지식의 종류는 embedded knowledge 이다. 이것은 물리적인 사물에 비 명시적인 방법으로 내재되어 있는 지식이다. 예를 들어서 알려지지 않은 장치의 모양과 특성은 그 기계가 어떻게 사용되어지는지 이해하는지에 대한 핵심 요소를 포함하고 있다.
          * 예를 들어서 조직을 위해서 새로운 프로젝트에 착수하는 개인은 이전에 비슷한 프로젝트에서 배웠던 교훈이나 지식에 접근하려고 할 것이다. 현재 처리하고 있는 제에 관련된 정보를 얻기 위해서 프로젝트 중에 관련된 정보에 접근하고, 프로젝트를 마치고 추후 프로젝트에서도 필요하게 될 정보를 남기기 위해서 관련된 정보에 접근하게 될 것이다. 지식 관리를 행하는 사람은 시스템, 저장소, 협동 프로세스를 제공하여 이러한 활동을 촉직 한다.
          * 지식 저장소에서 지식을 넣고 가져오는 한가지 대체적인 전략은 각 개인이 자신의 지식 요구에 따라 ad hoc 기반으로 접근 하는 것이다. 이 방법의 장점은 각 개인에게서 오는 응답의 내용과 제시된 제에 대한 해결책이 풍부하고 그것을 제시하는 개인에게 특화될 수 있다는 점이다.
  • LinuxSystemClass . . . . 3 matches
         연습제 관련
         개인적으로 교재가 마음에 든다. 단, 제대로 공부할 것이라면 가능한 한 원서를 권한다. 한서의 경우 용어의 혼동제와, 중간 오역제가 눈에 띈다. (inexpensive를 expensive 로 정 반대의 뜻으로 해석한) 뭐, 물론 그럼에도 불구하고 아마 사람들은 한서 읽는 속도가 원서 읽는 속도의 3배 이상은 될테니. 알아서 잘.
  • LispLanguage . . . . 3 matches
          * 영 LISP 튜토리얼 중에서 뉴비에게 가장 친절해 보이는 설명서. 하지만 미완성이다.
         [http://clojure.org/ Clojure] : Rich Hickey가 제작한 Lisp 방언 중 하나. JVM 상에서 돌아가는 Lisp 구현체로, Java API를 직접 불러서 사용하는 것이 가능하다.
         [1002]의 경우 XLISP 라는 윈도우용 프로그램 사용했었다. 언어 자체를 익히는데 최소한의 기능을 제공하는 인터프리터.
  • LongestNap/문보창 . . . . 3 matches
         그다지 구상이 필요없는 쉬운 제였다. 그러나, 출력 오류 잡는데 상당한 시간을 허비했다. 01분과 1분은 분명 다르다.
         inline void eatline() { while (cin.get() != '\n' && cin.peek() != EOF) continue; };
         [LongestNap] [보창]
  • MFC/Control . . . . 3 matches
         하나의 컨트롤은 클래스와 연계될 수도, 안될 수도 있다. 정적 컨트롤의 경우 클래스가 필요없을 것 같지만 CStatic 이라는 클래스를 통해서 모양을 변경하는 것이 가능하다. 마찬가지로 버튼 컨트롤들의 경우도 대부분 Dialog 객체를 통해서 처리가 된다. CButton 클래스의 경우에는 컨트롤을 관리하는데있어서 객체가 필요할 경우에 이용하게 된다. 이러한 모든 컨트롤들은 모두 윈도우의 일종이기 때에 CWnd 에서 상속된 클래스를 이용한다.
         || 버튼 컨트롤 || 한번의 마우스 클릭으로 응용프로그램과 통신. 라디오 버튼은 다른 버튼과 그룹으로 묶여서 다중 선택이 불가능하도록 한다.[[BR]]반면 체크박스는 개별적인 선택이 가능하다. [[BR]]푸시 버튼은 일반적으로 대화상자를 닫는데 사용된다. ||
         || 스크롤바 || 스크롤바는 독립적이며, 대화상자의 안에서 사용됨 ||
  • MFCStudy_2002_1 . . . . 3 matches
         || 7/15(월) || Visual C++ 사용. 메세지 구동방식 발표및 점검. 객체지향이란? 오목의 자석효과 구현, 기능의 모듈화. || 오전 11시 모임. 첫 모임 ||
         아아~ 오목을 짜는데~~전에는 무식한 방법으로 돌을 하나 놓을때마다 판 전체를 검색하는...방법을 사용했는데..[[BR]]
         그리고 중간 중간에..함수를 만들어서 사용하고 싶은데...전달인자로 뭘 받아야하는지도 잘모르겠고..^^a[[BR]]
  • MineSweeper/문보창 . . . . 3 matches
         STL을 처음 이용해 보았다. 굳이 쓸 필요는 없었으나, 세부적인 것을 만들어주지 않아도 미리 만들어진 것을 쓰기때에 안정적이고 쉽게 제를 풀 수 있었다.
         [MineSweeper] [보창]
  • MineSweeper/황재선 . . . . 3 matches
          continue;
          1. 생각보다 단순한 제였다. 윈도우의 지뢰찾기가 생각나서 어려워했나보다. RandomWalk보다 훨씬 쉽다.
          * 자바에서 console 모드의 키보드 입력를 처음 사용했다. c보다 불편하다.
  • ModelViewPresenter . . . . 3 matches
         어플리케이션을 이러한 방법으로 나누는 것은 좋은 SeparationOfConcerns 이 되며, 다양한 부분들을 재사용할 수 있도록 해준다.
         실제 IBM 의 샌프란시스코 프레임워크에 사용되었다고 들었던것 같다. (그래서 그런지 좀 추상적이면서 광고성의 구로 보이긴 하다 -_-;) --[1002]
  • Monocycle/조현태 . . . . 3 matches
          점심에 찌게 끓이는 동안 풀려고 했다가.. 찌게를 쪼려버린 제.ㅋ
          약간~ 알고리즘의 최적화를 시켰으나.. 정답까지의 출력까지 4-5초가량 걸린다는 제가 있었지만..
          알고리즘을 수정하기 너무 귀찮았던 나머지!! 코더의 기술력으로 매꿔버린;; 엽기발랄한제.
  • NSIS_Start . . . . 3 matches
          * 주제 : Installer Program 에 대한 이해를 위해. free software 인 Nullsoft ({{{~cpp SuperPiMP}}} | Scriptable) Install System 영메뉴얼을 보면서 한글 메뉴얼을 만든다.
          * PHP Template Script 를 한글화를 초기계획을 잡았으나, 실효성을 못느껴서 계획중 제외.
          * ["NSIS"] - 실제
  • NUnit . . . . 3 matches
          * 어떠한 클래스라도 즉시 Test를 붙일수 있다. (반면 JUnit 은 TestCase 를 상속받아야 하기 때에, 기존 product소스가 이미 상속 상태라면 Test Fixture가 될수 없다. )
          * C++에서 CppUnit을 사용할수도 있겠지만, [인수]군이 써본바로는, 또한 6.0이 아닌 .Net을 쓴다면 NUnit이 더 좋은것 같다.(어차피 6.0에선 돌아가지도 않지만--;) CppUnit은... 뭔가 좀 이상하다.--; --[인수]
          * MFC에서 사용하기 추가했습니다. 저 방식대로라면 어떠한 방식에서든 쓸 수 있겠네요. --[인수]
  • NeoZeropageWeb . . . . 3 matches
         태터 1.0 출범과 함께 다중 사용자의 지원이 가능한 것을 이용함
         위에꺼 어떤 것을 하든 위키에 내장할 수있도록, 뭐 매크로로 지원할수 있게 하면 좋을듯,, 예를들어서 특정 법을 쓰면 게시판이 하나 생기는거다. -_-;, 특정 법을 쓰면 트랙이 지원되고,, 태터툴즈가 오픈소스면 그 부분만 가져다가 매크로로 제작하는것도 좋을듯... 매크로로 넣는것은 소스 이해 안해도 상관 없으니깐 ~ - [(namsang)]
  • NoSmokMoinMoinVsMoinMoin . . . . 3 matches
         || Like Page || 영/한글 지원 || 영/한글 페이지 지원 || . ||
         moinmoin 1.1 에서 타이틀바에 있는 숫자가 보기 좀 거슬리네요... 노스모크는 색깔 자체가 노스모크에 거주하는 사람들에겐 매우 친숙하지요..^^ --창섭
  • NumberBaseballGame/영록 . . . . 3 matches
         // 숫자 야구 게임입니다.
          cout << "숫자야구 게임입니다.\n";
          cout<<"숫자를 입력하십시오.{ ex) 3 4 5 } : ";
  • One/구구단 . . . . 3 matches
         숫자를 입력 받아 그 숫자에 해당하는 구구단을 출력
         int number; /*입력받을 숫자*/
  • One/남상재 . . . . 3 matches
          continue ;
         숫자입력
          printf("숫자를 입력하세요 \n 입 력 란 : ") ;
  • OptimizeCompile . . . . 3 matches
         현재 프로세서의 속도는 [무어의 법칙]에 따라 극한으로 속도가 증가하고 있다. 이러한 상황에서는 예전처럼 [CPU] 의 속도 에 프로그램의 실행속도가 크게 영향 받지는 않으므로, 컴파일러의 최적화 작업도 더이상 연산(computation)을 줄이는 것 만이 목적이 되는 것이 아니라, 좀 더 메모리 계층구조를 효율적으로 사용하는 것에 관심이 기울여지게 된다.
         실행 시간(run time) 중의 계산을 줄이는 것이 목적이다. 이 최적화는 '미리 컴파일 시간에 계산(precomputaion in compile time)' 할 수 있거나, '미리 계산된 값을 재사용(reuse a previously computated value)' 할 수 있는 상황에서 적용된다.
         와 같은 장이 있을때, 나누기 연산은 곱하기 연산보다 좀더 많은 시간을 소요하므로 컴파일러는
  • OurMajorLangIsCAndCPlusPlus/print/하기웅 . . . . 3 matches
          print("정수 : %d, 실수 : %f, 자열 : %s\n", d, f, s);
         내가 위키 사용법을 잘 몰라서 올리는 법좀 붙여쓰기해서 사용했더니..
  • OurMajorLangIsCAndCPlusPlus/time.h . . . . 3 matches
         || char *asctime(const struct tm *timeptr); || tm 구조체를 자열로 바꾼다. ||
         || size_t strftime(char *str, size_t maxsize, const char *format, const struct tm *timeptr); || time 과 date 를 자열로 바꾼다. ||
         || struct tm *getdate(const char *); || 자열을 tm 구조체로 변환한다. ||
  • PersonalHistory . . . . 3 matches
          * [졸업논]
          * [TheJavaMan/숫자야구] - 2004년 1/26일 종료
          * [http://jeppy.cafe24.com/cap 세계화체험단] - 20050630~20050717
  • PluggableBehavior . . . . 3 matches
         한 클래스의 다른 객체들은 일반적으로 서로 다른 상태와 같은 행위를 가지게 된다. 만약에 다른 로직을 원한다면, 다른 클래스를 쓴다. 우리가 만드는 객체의 90프로는 이렇다. 가끔, 다른 클래스들은 당신이 제에 대해 어떻게 생각하는가에 대한 효과적인 의사소통을 못 할 수도 있다.(?) 클래스가 많아짐으로써 당신은 짜증이 나고 위협을 받는다. 단 하나의 메소드를 오버라이딩하려고 서브클래싱을 많이 하는것은 낭비다. 또한 이렇게 많이 서브클래싱하면서 유연성이 떨어지게 된다.
         서로 다른 행동을 유발하는 것에 사용될 변수를 추가하라. 단 하나의 메소드만 오버라이딩된 수백,수천개의 클래스를 만들지 말고, Pluggable Behavior를 사용하자.
  • ProgrammingPearls/Column3 . . . . 3 matches
          * 예제 : 어느 사이트에 로그인하면 DB에서 사용자 데이터를 긁어와서 보여준다. 이것은 책에 있는 예제고, 이것을 간단히 C++, 그리고 파일 입력으로 변형을 해보면,
          * 딱 보면 알겠지만, 굉장히 우울하다. 저런게 10번 반복되는 것이다. 쓰잘데기 없는 코드가 무려 110 줄이나 된다. 하지만 리팩토링을 공부했다면 쉽게 빼낼수가 있을 것이다. 그 방법으로 VB에서는 각각의 메뉴 아이템을 배열로 만들수가 있다. 배열로 만든 다음 메소드 추출을 이용하면, (예제는 C++로 다시 바꾼다.--; 비베 법을 잘 몰라서.)
          * 가능하다면 진보된 툴을 사용하자.
  • ProjectCCNA/Chapter2 . . . . 3 matches
          * ethernet: CSMA/CD- 이더넷 통신에서 사용하는 프로토콜이다. 회선이 사용중이지 않을때 전송하고 충돌이 생기면 일정시간후 재전송한다.
          * 네트워크에 대한 표준 모델이며 실제로 사용되는것은 아니다.
  • ProjectPrometheus/Iteration6 . . . . 3 matches
         || 도서관 검색 결과를 사용자 평가도에 따라 정렬하기 || . || . ||
         || 사용자 공지 || . || . ||
         || 사용자 등록 페이지 작성 || . || . ||
  • ProjectPrometheus/Iteration9 . . . . 3 matches
         각 서별 UI처리 ( 현재 단행본만 가능)
         관리자 기능 (Notice 변경 (,사용자 삭제, 수정))
         관리자 기능 (사용자 삭제, 수정)
  • ProjectSemiPhotoshop/Journey . . . . 3 matches
          * 내용 : eXtreme Programming을 실전 경험에서 응용해 보는 것이 어떨가 싶다. : 이 제에 관해서는 수요일에 파일 구조 시간에 만나서 이야기 하도록 하자. 내 기본 생각은 Xp Pratice 들 중 골라서 적용하기에 힘들어서 못할것으로 생각하는데, 뭐, 만나서 이야기 하면 타결점을 찾겠지. ExtremeBear 도 이 숙제 때에 중단 상태인데 --["상민"]
          * 현민이에게 야속한 말일지 모르지만, 솔찍히 약간 당황스러웠다. ''무엇을 해야하는가?'' 에서 출발하고 싶었지만, 불행히 ''무엇을 배워야 하는가?'' 로 출발과 끝을 마무리 했다. 역시 ''제를 인식''하는 단계가 중요함을 느낀다. --["neocoin"]
  • PyIde . . . . 3 matches
          * BoaConstructor - Scintilla 가 사용된 예를 볼 수 있다.
         === 기타 잡담..~ 질하고 싶으신 것 등등..~ ===
          * 인터프리터에서 타이핑한 내용 화일로 저장하기 ( 이거 되는거 있나? python 사용법을 몰라서 )
  • RandomWalk2/Insu . . . . 3 matches
          * 하면서 static 사용법을 확실히 익혔습니다. 상규 땡쓰~^^
          * STL 컨테이너는 복사본을 사용한다는 걸 알고 포인터로 바꿨습니다.
          * ... 지금 보니까 SuperRoach 클래스는 왜 만들었는지 의이 간다.
  • RealTimeOperatingSystemExam2006_2 . . . . 3 matches
          a) 세마포를 사용하는데 초기 파라미터를 0,1, n 으로 넣어서 각각 이벤트 플래그, 바이너리 세마포, 카운팅 세마포 로 쓰는거 설명하는거 나옴
          a) uCOS-ii 에서 ANSI C의 malloc와 free를 사용하지 않는 이유?
          c) OSMemCreate 관련 한제. 함수 바디를 쓰라는건지, 함수호출부분을 작성하라는것인지는 정확히 기억안남.
  • Refactoring/BuildingTestCode . . . . 3 matches
         나는 이것을 단점으로 보지 않는다. 나는 내가 리펙토리를 하는 중이 아니라 하더라도, 좋은 테스트는 프로그래밍 속도를 비약적으로 향상시킨다는 것을 발견했다. 이것은 많은 프로그래머들의 통념과는 반대된다는 점에서 놀라운 것이다. 그렇기 때에, 왜 그러한지에 대한 이유를 설명할만한 가치가 있다.
         그때 나는 increment development단계에 있었고, 나는 매번 increment 을 완료할때 클래스들에 test method들을 추가했다. 그때 했던 프로젝트는 꽤 작았었고, 우리는 우리의 increment 주기는 한주 단위정도였다. 테스트의 실행은 는 꽤 수월하게 되었다. 하지만 테스트들은 실행하기 쉬웠지만, 테스트를 하는 것은 여전히 지겨운 일이였다. 이것은 내가 체크해야 하는 모든 테스트들이 console 에 결과를 출력하도록 만들어졌기 때이다. 나는 꽤 게으른 사람이고, 나는 일을 피하기 위해 꽤 열심히 일을 준비했다. 나는 이 클래스들이 프린팅 해주는 것을 체크하는 대신, 컴퓨터가 테스트를 수행하도록 했다.내가 할일은 테스트 코드에 내가 기대하는 결과를 작성하고, 그 비교를 수행하는 것이다. 자, 나는 모든 클래스들의 test method를 수행할 수 있었고, 모든 일이 잘 되면 단지 'OK' 가 출력되는 것을 확인하면 되었다. 이 클래스는 지금 스스로 자기 자신을 테스트를 했다.
         테스팅 코드는 ExtremeProgramming 의 중요한 부분이다. [Beck, XP]. 이 이름은 빠르고 게으른 해커같은 프로그래머들에겐 마술주과 같을 것이다. 하지만, extreme programmer들은 테스트에 대해 매우 헌신적이다. 그들은 가능한 한 소프트웨어가 빠르게 발전하기 원하고, 그들은 테스트들이 당신을 아마 갈 수 있는 한 빠르게 갈 수 있도록 도와줄 것을 안다.
  • ReleaseDebugBuildStartGo의관계 . . . . 3 matches
         VC++ 통합환경을 사용할 때 가장 많이 쓰게 되는 기능 중, Build->Start(CTRL+F5)와 Debug->Go(F5)의 차이점중 하나에 대해 알아 보겠습니다.
         F5는 IDE(통합환경)가 실행 프로세스를 반동결(Soft-ice)상태로 실행시켜, 사용자가 내부 변수의 값을 들여다 볼 수 있거나 중간에 멈출 수 있게 합니다. 디버깅을 할 때에 아주 중요한 역할을 하지요.
         이 두 개의 기능은 방금 설명한 것 이외에 조금 다른 실행환경을 제공합니다. 바로 "미초기화 변수의 초기화"입니다. 그리고, 이 양상은 프로그램이 릴리즈 빌드냐, 디버그 빌드냐에 따라 다릅니다. 아래와 같은 구조체와 이것을 사용한 코드(비록 한 줄이지만)있다고 가정합시다.
  • Robbery/조현태 . . . . 3 matches
          하루종일 루니아만 했다아아아..ㅠ.ㅜ 너무 게으른거아냐?? 이거 제있는데.. '게으름 유전자' 가 들어있는건가..OTL..
          '명확한 경우' 에 속하지 않기때에..^^
          자전거 제에 이 소스를 배껴넣다가.. 규칙을 일부 잘못 이해한것 같아서 수정했다.
  • Ruby/2011년스터디/서지혜 . . . . 3 matches
          * 루비에서의 윈도우API사용
         == 예상 제점 ==
          * 윈도우API 사용법 습득
  • SRPG제작 . . . . 3 matches
          1. 맵을 편집하는 프로그램. 위에서 만든 타일들을 사용하여 맵을 만든다.
          3. MDI를 사용해 본다.
          1. 위에서 만들어진 맵과 이벤트를 사용하여 프로그래밍을 한다.
  • STL/vector . . . . 3 matches
          질 : 상식에 의거해서 실습 해볼 때 저 부분을 {{{~cpp vector<int> ar( &data[0], &data[2] ); }}} 로 했더니 계속 제가 생겨서.. 오랜 삽질끝에 &data[3] 으로 해야한다는 걸 발견 했습니다. 좀 이상한 것 같네요. {{{~cpp data[3]}}} 이라는 것은 배열의 범위를 벗어나는 연산일텐데요.. 그곳의 리퍼런스를 얻어서 생성자로 넘겨주는게.. 상식에서 거부했나 봅니다. 두번째 인자로 배열 범위를 벗어나는 값을 받는 이유를 혹시 아시는 분 계십니까? --zennith
         // for에서 인덱스를 이용한 순회
  • SeminarHowToProgramItAfterwords . . . . 3 matches
          ''그래서 PP나 XP의 과정을 Jazz에 비유하곤 합니다. 그리고 한번 유의어사전을 프로그래밍시 일주일간만 사용해 보세요. 그리고 거기서 무엇을 더 배웠는지 이야기해보면 참 좋겠네요. --김창준''
          * 아까 발표때에도 이야기했지만, Code Review 를 위한 reverse-TDD (정도로 해둘까요? 이것도 관련 서가 있을텐데. ) 를 해보는 것도 좋을 것 같네요. 코드 분석을 위한 test-code 작성이요. 즉, 이미 만들어져있는 코드를 테스트 코드라고 상정하고, 자신이 제대로 이해했는가에 대한 검증과정을 Test-Code 로 만드는 것이죠. 시간 있었으면 오늘 마저 시도해봤을텐데, 시간에 마음 쫓긴게 아쉽네요.
          * 그리고 관찰하던 중 PairProgramming에서 Leading에 관한 사항을 언급하고 싶습입니다. 사용하는 언어와 도구에 대한 이해는 확실하다는 전제하에서는 서로가 Pair에 대한 배려가 있으면 좀더 효율을 낼 수 있을꺼라 생각합니다. 배려라는 것은 자신의 상대가 좀 적극적이지 못하다면 더 적극적인 활동을 이끌어 내려는 노력을 기울어야 할 것 같습니다. 실습을 하던 두팀에서 제 느낌에 지도형식으로 이끄는 팀과 PP를 하고 있다는 생각이 드는 팀이 있었는데. 지도형식으로 이끄는 팀은 한 명이 너무 주도적으로 이끌다 보니 다른 pair들은 주의가 집중되지 못하는 모습을 보인 반면, PP를 수행하고 있는 듯한 팀은 두 명 모두 집중도가 매우 훌륭한 것 같아서 이런 것이 정말 장점이 아닌가 하는 생각이 들었습니다. 결국 PP라는 것도 혼자가 아닌 둘이다 보니 프로그래밍 실력 못지 않게 개인의 ''사회성''이 얼마나 뛰어냐는 점도 중요한 점으로 작용한다는 생각을 했습니다. (제가 서로 프로그래밍중에 촬영을 한 것은 PP를 전혀 모르는 사람들에게 이런 형식으로 하는 것이 PP라는 것을 보여주고 싶어서였습니다. 촬영이 너무 오래 비추었는지 .. 죄송합니다.)
  • SignatureSurvey . . . . 3 matches
         HTML Template 부분을 Generating 하는 부분을 하던중, 디자이너가 툴로 만든 HTML 코드를 분석해볼때 SigntureSurvey 의 방법을 적용해보면 어떤 일이 일어날까 의이 들었다. 그래서 간단하게 실험해보고, 어떠한 View 를 얻을 수 있을까 구경해보다.
         [Plex] 사용.
         처음써봐서 완벽하게 확신이 들진 않지만, SignatureSurvey 를 사용하면 Duplication Code 를 찾는 방법으로 일반화를 시킬 수 있지 않을까 하는 상상을 해본다.
  • SmallTalk/강좌FromHitel/차례 . . . . 3 matches
          | ! 2.3.1. 탐색기 사용하기 <#13>
          | 2.4 정리 및 연습제 <#21>
          | 2.4.3. 연습
  • SmallTalk_Index . . . . 3 matches
          | ! 2.3.1. 탐색기 사용하기 <#13>
          | 2.4 정리 및 연습제 <#21>
          | 2.4.3. 연습
  • SoftwareEngineeringClass/Exam2002_1 . . . . 3 matches
         제 달랑 3개라는 것도 알고 있었고, Sprial Model 은 나올줄 알고 있었건만. 우.. 복병을 만나다;
         암튼 3제중 두제가 QA에 관한 것이라니 당황; Structured A&D 나 정보공학에 대해서는 아에 언급이 없군. (혹시 이거 kaspa 시험인가; 아무리 이경환 교수님이 kaspa 회장이시라고 하지만.) 암튼. 흑; --석천
  • SpiralArray/영동 . . . . 3 matches
          * 제대해서 처음으로 숙제를 제외하고 처음 짠 ToyProblem입니다. 1학년 때 프로그래밍잔치에서 못 짰던 걸 이제야 짰네요. 우선 소요시간으로 미루어 볼때 제대하고 나서 머리가 굳었다는 걸 느낄 수 있었고, 그만큼 처음부터 막 짜지 말고 설계 및 구상을 잘 해야겠다고 생각했습니다. 또한 객체지향으로 짠 것도 아니고 변수, 함수를 너무 지저분하게 쓴 거 같기도 하고... 반성할 점이 참 많았습니다. 그리고 일단 배열 크기도 미리 정했고 시작점도 0, 0으로 가정하고 해서 사용자의 잘 못된 입력에 대응하지 않은 점도 미비했네요.
          return true;//이동할 위치에 이미 딴 숫자가 적혀 있는 경우
  • StacksOfFlapjacks/이동현 . . . . 3 matches
         시간 대부분을 입력받는것 짜는데 매달렸으나 아직도 입력부분을 제에서 요구한대로 완성하지 못했다.
          bool isEnd(){ //모든숫자가 정렬되었는지 확인.
          continue;
  • TddWithWebPresentation . . . . 3 matches
         그러다가, 최근 프로젝트 하는중에 ModelViewPresenter 라는 개념에 대해 익히게 되었다. 정확한 개념에 대해서는 잘 잡지를 못했지만, HumbleDialogBox 라는 아티클을 보니 대강 감이 온것 같았다. 중요한 건 표현부분에 대해서 가능한한 로직이 남지 않아야 한다는 점이고, 표현부분을 사용하는 쪽 입장에서도 가능한한 추상화레벨이 높은 메소드를 쓸 수 있어야 한다는 점이다.
         presenter 부분은 추후 내부적으로 Template 엔진을 사용하는 방향을 생각해 볼 수도 있을것 같다.
         이렇게 될 경우 테스트 코드는 다음과 같다. 여차하면 테스트 코드에서 presenter 를 사용할 수도 있었다. (어차피 ViewPageAction 역할을 잘 하느냐가 중요하니까, 거기에 붙는 HTML 들이 어떠하냐가 중요하진 않을것이다.)
  • TdddArticle . . . . 3 matches
         여기에서의 TDD 진행 방법보다는 Reference 와 사용 도구들에 더 눈길이 간다. XDoclet 와 ant, O-R 매핑 도구를 저런 식으로도 쓸 수 있구나 하는 것이 신기. 그리고 HSQLDB 라는 가벼운 (160kb 정도라고 한다) DB 로 로컬테스트 DB 를 구축한다는 점도.
         reference 쪽은 최근의 테스트와 DB 관련 최신기술 & 서들은 다 나온 듯 하다. 익숙해지면 꽤 유용할 듯 하다. (hibernate 는 꽤 많이 쓰이는 듯 하다. Intellij 이건 Eclipse 건 플러그인들이 다 있는걸 보면. XDoclet 에서도 지원)
         간만에 여유가 생겨서 한번 따라해보게 되었는데, [Hibernate] 가 생각보다 복잡한 녀석이라는 것을 알게 되었다. (내가 O-R Mapping Tool 에 대한 경험이 없기 때에 더더욱) 한번에 습득하기에 쉬운 녀석은 아니였군.;
  • TheGrandDinner . . . . 3 matches
         [http://online-judge.uva.es/p/v102/10249.html 원보기]
          || 작성자 || 사용언어 || 개발시간 || 코드 ||
         [제분류] [경시대회준비반]
  • TheOthers . . . . 3 matches
          |__ Doc - 서나 DB 파일, 스키마 서 올린다. 추후 최종 레포트도 여기에 올린다.
          |__ UIProtoType - UI ProtoType 관련 서 & Binary
  • TheTrip/곽세환 . . . . 3 matches
          * double형의 정밀도때에 계속 삽질했음(예를 들어 9.03의 경우 9.029999999999...으로 입력됨). 지식검색 결과 컴퓨터구조상 어쩔 수 없다고 함. 자열로 입력받는 방법말고 좋은 해결 방법있으면 가르쳐주세요.
          int student[1000]; // 학생들이 사용한 돈
  • TravelSalesmanProblem . . . . 3 matches
         == 제 개요 ==
         AI 분야의 고전적 제다. 인공지능 수업의 중간 프로젝트 이기도 했다.
         1번 노드에서 시작해서 모든 도시를 방하는 데 걸리는 가장 짧은 루트를 출력하라. (1번 노드로 다시 돌아오지 않아도 됨)
  • UglyNumbers/1002 . . . . 3 matches
         처음 제를 제대로 이해하지 않고 '그냥 2,3,5 외의 소수 제외한것 아닌가?' 로 접근하다가 14 는 아니라는 것을 간과. 다시 처음부터 접근.
         하지만, 결과값을 보면서 지수 스타일의 접근법이 원하는 접근법이라는 생각을 하게 되다. (10억이 넘는다 할때, isUglyNumber 식이라면 10억번이 실행된다.) 하지만, 그냥 지수로만 생각하면 uglynumber 의 순서 상 맞지 않을 것인지라 (1 : 2^0*3^0*5^0, 2 : 2^1*3^0*5^0, 3 : 2^0*3^1*5^0, 4 : 2^2*3^0*5^0 ... 0,0,0 , 1,0,0, 0,1,0 , 2,0,0 .. 도무지 숫자들 간의 연관성이 잡히지 않았다.
  • UglyNumbers/곽세환 . . . . 3 matches
          * 숫자 하나하나를 일일이 나눠보는건 시간이 많이 걸린다. 그래서 다른 방식으로 접근.
          * STL사용하니 한결 간편하다
          * 답은 ''The 1500'th ugly number is <숫자>.'' 형식이어야 한다.
  • UpgradeC++/과제1 . . . . 3 matches
          cout << "숫자를 입력하세요(행의 개수) = ";
          cout << "숫자를 입력하세요 : ";
          cout << "숫자를 입력하세요 : ";
  • WeightsAndMeasures/문보창 . . . . 3 matches
         동적프로그래밍 제. n! 번의 수행을 해야하는 제가 동적프로그래밍을 이용하니 O(n^2)만에 풀 수 있다. 동적프로그래밍의 힘이 대단하다.
         [WeightsAndMeasures] [보창]
  • WikiGardening . . . . 3 matches
         ''실제 위키의 View 구조를 조성하는 사람들이 드물기 때에, 기존 게시판에서의 스타일과 똑같은 이용형태가 계속 진행되어버렸다는 생각이 든다. (이 경우 RecentChanges 가 Main View 가 된다.) (조만간 위키 전체에 대한 링크 구조 분석이나 해볼까 궁리중. 예상컨데, 현재의 ZeroWiki 는 Mind Map 스타일에 더 가까운 구조이리라 생각. (개념간 연결성이 적을것이란 뜻. 개인적으로는 볼땐, 처음의 의도한 바와 다르긴 하다.) --1002'' (DeleteMe ["1002"]의 글을 다른 페이지에서 옮겨왔습니다.)
          * [병역제어떻게해결할것인가]와 [http://zeropage.org/wikis/nowthen2004/_b1_ba_b4_eb 군대]
         SeeAlso [http://no-smok.net/nsmk/_b9_ae_bc_ad_b1_b8_c1_b6_c1_b6_c1_a4#line42 제로위키 가꾸기], [서구조조정토론]
  • Yggdrasil/파스칼의삼각형 . . . . 3 matches
          int i, j; // for 을 돌리는데 필요한 수
          cout<<"숫자는 10까지만 입력가능합니다.\n";
         그리고 기왕이면 for 의 대괄호는 가독성있게. ㅋㅋㅋ - 지훈
  • ZIM/UIPrototype . . . . 3 matches
         사용자 인터페이스의 프로토타입을 보여주세요.
         Software for Use와 Contextual Design의 일독을 권합니다. UI쪽(특히 실전)에서는 탁월한 책들입니다. 이 책들에서는 UI 프로토타이핑을 종이를 통해 하기를 강력하게 추천하고 있습니다. 각종 자동화 툴을 써보면 오히려 불편한 경우가 많습니다. 넓은 종이와 다양한 크기의 3M 포스트 잇을 이용해서 버튼 같은 것의 위치를 자유로이 옮겨볼 수 있습니다. 이렇게 만든 프로토타입을 사무실 벽에 걸어넣고 그 앞에서 토론도 하고, 즉석에서 모양을 바꾸기도 합니다. 초기에는 커뮤니케이션 보조 도구로 화이트보드를 많이 사용하기도 합니다. 그러나 한 자리에서 함께 작업할 기회가 적은 경우에는 어쩔 수 없이 전자서와 이미지에 의존해야겠죠. 제 경우는 주로 스캐너를 이용해서 손으로 그린 이미지 공유를 했습니다. 온라인에서 공동으로 디자인 토론을 할 경우에는 화이트보드가 지원되는 온라인 컨퍼런싱 툴을 씁니다. (e.g. 넷미팅) --김창준
  • ZPBoard/APM/Install . . . . 3 matches
          * 다음과 같은 내용의 test.php 라는 파일을 만들어 웹 서 루트 디렉토리 안에 넣는다.
          * 다음과 같은 내용의 test.php 라는 파일을 만들어 웹 서 루트 디렉토리 안에 넣는다.
          * APM들의 버전이 계속 바뀌기 때에 http://www.php.net/ 과 http://dev.mysql.com/ 의 최신 설치 방법을 읽으면서 하면 삽질을 좀 덜 할수 있는거 같다.
  • ZPBoard/PHPStudy/쿠키 . . . . 3 matches
         = PHP에서 쿠키를 사용하는 방법 =
          * 제한시간 항목에는 time()이나 mktime()함수의 리턴값을 사용할 수도 있다.
          * 뒤에 경로, 도메인주소, 보안은 사용안해도 된다.
  • ZeroPageServer/MySQL계정 . . . . 3 matches
         ["ZeroPageServer"] 에서 돌아가는 ["MySQL"]의 계정으로서 ["MySQL"] 데이터 베이스를 사용할수 있는 권한이다.
          * ["MySQL"] DB 를 사용할수 있다.
          * ["MySQL"] DB 를 원격에서 접근해서 사용할수 있다. 즉, 안정적인 DB 서버 프로그래밍이 가능하다.
  • ZeroPageServer/Telnet계정 . . . . 3 matches
          * 종류 '''php, python, perl, jsp''' 프로그래밍이다. 하지만 jsp는 Server 관리자(["neocoin"]) 에게 의하시면 상담하고 권한 설정 해 드립니다.
          * 소스나, 리포트의 중계 저장고로 사용할수 있다.
          * 의 사항을 적어 주세요. 여기에 관리자의 feedback이 늦다면 관리자(NeoCoin) 에게 직접 주세요.
  • ZeroPageServer/UpdateUpgrade . . . . 3 matches
         ZeroPageServer 는 데비안 (SeeAlso [http://debianusers.org/ 한국데비안 사용자 모임] , 위키의 DebianKr:대 )을 사용하고 있다.
  • ZeroPageServer/계정신청방법 . . . . 3 matches
          ==== 계정 종류 (사용하실 것만 신청하세요.) ====
         === 서버 의 사항 ===
          ZeroPageServer 페이지에서 계정신청상황,질답변 확인 가능
  • ZeroPage가입관련 . . . . 3 matches
          * 재학생들(편입,전과,복학생 포함) 가입시 위키 사용법을 몰라서, 그리고 복잡해 보여서 망설이는 분들이 있는것 같아서 여기로 가보라고 권합니다.["ZeroPagers"]
          * ["ZeroPagers"]에서 개인페이지 구경하실수 있습니다. 재학생분들중 가입을 원하시는 분들은 자신의 페이지를 만드십시오. 사용법을 정 모르겠으면 아무페이지에서나 밑에 있는 하단의 {{{~cpp EditText}}}를 누르시기 바랍니다.
          * 개인페이지를 만든후 대에 프로젝트란에 추가하고 싶으면 추가하시고.. 늘 일주일전에 공지가 올라오는 정모 때 참여를 하면 됩니다.
  • ZeroPage성년식/준비 . . . . 3 matches
         ||93||김창준, 임동|| 서지혜 || O || ||
         ||03||나휘동 원명|| 송지원 || O || O (강희경, 원명, 임민수) ||
  • ZeroPage회칙토론 . . . . 3 matches
          * 이제까지의 자유로운 제로페이지의 제점
          * 정기적인 정모가 날짜가 없기 때에 날짜를 잡을때마다 의견을 모아야했다.
         회칙을 정할 때 "'제2조 회원관리 제3항 회비'" 뭐 이런 식으로 하는 건가요? 그렇게 한다면 하드카피 서로 만들어서 신입회원들에게도 줘야겠네요... ^^;; --["창섭"]
  • [Lovely]boy^_^/Diary/2-2-10 . . . . 3 matches
          * SBPP 서, Introduction 읽었다. 읽으면서 첨에 나온 예제를 C++ 예제로 바꾸어 보았다. 이제 슬슬 법이 감이 오기 시작한다.
          * 알카노이드 서화 종료
  • [Lovely]boy^_^/USACO/MixingMilk . . . . 3 matches
          * 이제 assert 쓰는 법을 알아 가고 있다.
          * 전 프로그래머들은 assert을 자주 쓴다고 한다.
  • aekae/* . . . . 3 matches
         허접하지만;; 중복되는 for이 있는데 그걸 어찌 처리해야하는지 모르겠네요. 내공을 더 쌓아야지. -- [aekae]
         재선아 굿샷. 근데 정말로 For 이 넘 많네. - 장창재
         오~ 잘하는데? 이정도면 For 은 완벽하게 이해했다고 봐도 되겠는걸?? ^^; - 상욱([whiteblue])
  • django/AggregateFunction . . . . 3 matches
         Django에서 기본적으로 제공하는 함수는 없다. 대신 order_by를 이용해서 최상위 레코드만 뽑는 방법을 사용할 수 있다.
         Django에서 기본적으로 제공하는 함수는 없다. 원하는 레코드 집합을 얻어온 다음, python을 이용해서 구하는 방법을 사용할 수 있다.
         Django에서 지원하지 않는다. SQL을 직접 수행하여 결과를 얻을 수는 있다.
  • eclipse디버깅 . . . . 3 matches
         프로그램을 한 단계 진행하되, 메쏘드 호출부라면 실행 포인트를 메쏘드 안으로 옮긴다. 호출하는 메쏘드의 내부 동작을 확인하고 싶을때 사용한다.
         메쏘드 호출부라도 메쏘드 안으로 들어가지 않고 현재 코드에서 한 단계씩 진행한다. 호출하는 메쏘드 내부 동작에는 관심이 없고 현재 코드 블럭에 관심을 집중하고 싶을 때 사용한다.
         선택한 스택 프레임의 첫 행으로 실행 포인트를 옮긴다. 특정 메쏘드를 실행하다 그 메쏘드의 처음부터 다시 디버깅하고 싶을 때 유용하게 사용할 수 있다.
  • gusul/김태진 . . . . 3 matches
          * 두명의 선수가 최선을 다할 때, 누가 해당 경기에서 이기는지에 대한
          * 내 1년간의 숙원의 제를 풀었다. -[김태진]
          * 제를 단순화하여, 앞으로 홀수번 시행이 최적인 경우, 지금 하는 사람이 승리하게 된다. 이를 이용하여 n-1번째 시행에서(지는 시점을 첫번째로 하여 거꾸로 올라간다.) n번째로 올 때 모두 홀수인 경우에만 해당 시점의 사람이 지게되는데 (1,3,5번에서 7번으로 갈 수 있는데 1,3,5번의 시행횟수가 모두 홀수개) 하나라도 짝수에서 오는 경우가 있으면 그 경우가 상대방이 무조건 지는 경우이므로 최선이다.
  • html5/VA . . . . 3 matches
          * HTML5를 지원하는 브라우저에서 사용할 수 있다.
         == 사용 방법 ==
          * 사용자 중심의 편리한 미디어 플레이어를 만들수 있다.
  • html5/drag-and-drop . . . . 3 matches
         || dropEffect ||드래그 & 드롭 동작의 종류를 나타내는 자열 ||
         || effectAllowed ||허용할 dropEffect를 지정하는 자열 ||
         || types ||setData()를 호출할 때 지정되는 포맷 자열을 배열 형식으로 얻을 수 있다. ||
  • html5/video&audio . . . . 3 matches
          * HTML5를 지원하는 브라우저에서 사용할 수 있다.
         == 사용 방법 ==
          * 사용자 중심의 편리한 미디어 플레이어를 만들수 있다.
  • html5/webSqlDatabase . . . . 3 matches
          * 일반적인 DB 사용법과 비슷하다. 열고, 수행하고, 닫고.
         = 사용법 =
          * 사용전에 반드시 데이터 베이스를 열어야 한다.
  • java/reflection . . . . 3 matches
          * 프레임워크에서 많이 사용되는 방법이라고 한다.
          * ORM(Object-Relational-MApping)이 아닌 방식으로 DAO를 만들 때 사용되기도 한다.
          * 자열을 출력하는 샘플 클래스.
  • snowflower/Arkanoid . . . . 3 matches
          2. 45도에서 충돌하도록 수정(제는 각도.. 135 + 90 = 215 ??)
          3. 멀티미디어 타이머의 사용으로 속도를 높였다
         득... 다른 사람의 프로젝트 페이지에 가 보았다. 내가 알고 있는 것과는 다른 것들. 객체지향, STL... 그렇게.. 왠지 뒤로 밀리는 느낌이다.[[BR]]
  • whiteblue/MyTermProject . . . . 3 matches
          { "구봉" ,20025315, 78, 90, 75 },
          continue;
          continue;
  • 강의실홍보 . . . . 3 matches
         행사 소개 (-> 구체 내용 소개 (->) 질,답변
         홍보 강도에 기초해서 홍보의 횟수에 따라서, 사람의 숫자가 선형적으로 증가 하느것 같다.
          * Reort 제출과 수업 전의 부산함 때에, 역효과가 날수 있다.
  • 강희경 . . . . 3 matches
          *[병역제어떻게해결할것인가]
          글을 쓰는 노력이 좋습니다. 그런데, width가 정해지지 않은 위키나 여타 글쓰기에서 기존의 게시판 방식의 글쓰기에 고민하는 것 같습니다. 다음의 두서를 추천합니다. NoSmok:단락개념 NoSmok:단락나누기
          그리고 시간이 되신다면, NoSmok:서구조조정 도 읽어 보세요. 유익할 겁니다. 앞으로 수많은 글을쓰실때 도움될겁니다.--NeoCoin
  • 강희경/그림판 . . . . 3 matches
         === 어 ===
         제로위키 로고 제작 할 때 득 떠오른 이미지.
         === 방 쉽게 닫기 ===
  • 공개선언 . . . . 3 matches
         하는 일을 구체적으로 분석하고 꼼꼼하게 처리하자. 프로가 되려면 숲도 보고 나무도 봐야지. [전가되기세미나]를 참고해볼까?
         [전가되기세미나]의 내용을 바탕으로, 나의 노력으로 전가가 되자. 비록 시작은 늦더라도, 맺은 열매는 시기에 늦지않게, 알차게 !
  • 권영기/web crawler . . . . 3 matches
         Python을 이용해서 Web Crawler를 제작하면서 Python의 사용법을 익히고, 원하는 웹 페이지를 긁기 위한 Web Crawler를 제작한다. (네이버웹툰(돌아온 럭키짱, 신의 탑...), 네이버 캐스트, 그 외의 각종 웹페이지..)
         == 필요한 서 ==
          * 서 - http://wiki.wxpython.org/How%20to%20Learn%20wxPython
  • 기본데이터베이스 . . . . 3 matches
          제 : 번호, 이름, 전화번호, 주소로 구성된 기본 데이터 베이스를 설계하고, 그 데이터 베이스에 특정자료를 추가, 삭제, 갱신, 출력하는 프로그램을 작성하여라.
          * 이제는 C++로 짜면 재밌겠다.. ^_^ --아영
         [LittleAOI] [제분류]
  • 기본데이터베이스/조현태 . . . . 3 matches
          선형 리스트로 데이터베이스 구축 -> 자료구조를 배열을 사용하세요~ 로 이해....OTL
          그래서 작성. 결과는 아래와 같으며 심지어 id역시 자열로 처리해서 맘껏 적어 넣을 수 있다.
          그결과 자료역시 일반적으로 시간순서대로 저장하기때에 검색속도는 평범..OTL
  • 김희성/ShortCoding/최대공약수 . . . . 3 matches
          '''컴파일러''' - gcc 컴파일러는 사용된 function을 확인하여 필요한 header file을 자동으로 include 해줍니다. 또한 gcc 컴파일러는 타입이 선언되지 않은 변수는 int형으로 처리합니다. 이로인해서 main의 본래 형식은 int main(int,char**)이지만 변수형을 선언하지 않으면 두번째 인자도 int형으로 처리됩니다.
          '''알고리즘''' - 유클리드호제법을 사용합니다.
          '''Coding Skill''' - a^=b^=a^=b;(a^=b;b^=a;a^=b;)는 추가 변수 없이 두 수의 값을 바꾸는 방법입니다. 하지만 두 수가 같을 시 두 수의 값이 0이 되는 치명적인 버그가 있습니다. 본 코드에서는 while에서 a%=b라는 조건을 주어 이 버그를 차단하고 있습니다.
  • 대학원준비 . . . . 3 matches
         5. 성적 우수자 300여 명에게 매년 여름학기중 해외명대학 연수기회 부여
          * 전공 공부 : 여름방학때부터 해도 됨. 시험 공부 하듯이 하면 된다고 함. 다음 카페에 올라온 후기 나왔던 제 보고 미리 연습할 수 있음
          (가) 장 소 : 본 대학 고사장, 서울(휘고) 고사장
  • 데블스캠프2005/금요일/OneCard . . . . 3 matches
          continue
          continue
          continue
  • 데블스캠프2005/목요일후기 . . . . 3 matches
         황재선 보창 이승한 [안성진] [윤성만] 김정현 [상협] 이상규 [1002]
         [정수민] RUR 이녀석때에 강의에 집중하기 힘들었어요 =ㅅ= 못해서 너무너무 신경쓰여서;;; 참... 집중하기 힘들었다는 -_-;;
          - 보통 '보안세미나' 하면 이론적이고 별로 이해 안가는 수식들의 나열이 되기 일쑤이다. 이번처럼 자신의 메세지를 암호화해보고, 이를 MSN 으로 보내보면서 비밀키의 제점을 생각하게끔 하고 이를 서로 토론을 통해 이야기하게 한 보안세미나는 굉장히 이례적이고, 또한 효과적이였다고 생각.~ --[1002]
  • 데블스캠프2005/월요일 . . . . 3 matches
          간단한 워밍업 프로그래밍. 구구단, 탐색, 정렬, 입출력, 파일 입출력...
          위키에 대한 소개 (새내기의 대부분이 사용법을 아는걸로 추측...)
          ==== 제외된 주제들 ====
  • 데블스캠프2005/월요일/BlueDragon . . . . 3 matches
          self.place = ['루이스', '청룡탕', '공대', '할매동산', '정']
          self.place = '정'
          print '당신은 중앙대 정에 서 있습니다.'
  • 데블스캠프2006/월요일/연습문제/for/정승희 . . . . 3 matches
         == 데블스캠프2006/월요일/연습제/for/정승희 ==
         for 1번
          for 2번
  • 데블스캠프2006/월요일/연습문제/if-else/윤성준 . . . . 3 matches
         == 데블스캠프2006/월요일/연습제/if-else/윤성준 ==
         1번째
          cout << endl << "50~100 까지 숫자 입력 :";
  • 데블스캠프2006/월요일/연습문제/기타문제/임다찬 . . . . 3 matches
          if(i==5) continue;
         [데블스캠프2006/월요일/연습제/기타제]
  • 데블스캠프2006/준비 . . . . 3 matches
         - 월 : 표준입출력, 법, 함수, MSDN, 비트연산, 아스키 / 수생, 유선, 용안, 정현, 규완
         - 화 : 구조체, 파일 입출력, 포인터(메모리), 디버깅 / 아영, 상규, 선호, 도현
  • 데블스캠프2006/화요일/pointer/문제4/정승희 . . . . 3 matches
         #include<cstring>//자열을 비교하는 함수(strcmp)를 포함
          b[length]='\0';//NULL자는 자 집어넣고 바로 다음에 넣는거다.
  • 데블스캠프2006/화요일후기 . . . . 3 matches
         성우용 : 오늘의 강의도 좋았어요....약간(?) 어려움이 있었지만 선배들의 도움도 받고 해서 제를 해결해서 기분 좋았어요....
         김준석 : dir, mycopy, tar, untar 너무 좋았습니다. 코딩하는게 확실히 재밌기도하고 몸에 익숙해지기도 합니다. 새벽을 새면서 머리가 좀 굳기는 했지만 이해할때까지 붙어서 설명해주셔서 정말 감사합니다. msdn의 사용방법을 어느정도 깨우친것 같아서 얻은것도 많다고 생각합니다
         새내기들이 힘들엇을 제들을 열심히들 하는걸 보고 참 기쁘궁.ㅋㅋ
  • 데블스캠프2008 . . . . 3 matches
          || 12시 ~ 3시 || [김정현] || [wiki:데블스캠프2008/등자사용법 등자 사용법] || [김남훈] || 텍스트계산기 by Python|| [나휘동] || 파이프라인 || [원명] || 자바 ||[이장길]
  • 데블스캠프2009/월요일/연습문제/svn코드레이스/박근수 . . . . 3 matches
         = 데블스캠프2009/월요일/연습제/svn코드레이스/박근수 =
          printf("숫자를 입력하세요(범위: %d~%d): ",min+1,max-1);
          printf("%d부터 %d까지 숫자를 넣으라고 말하는 겁니다아아!!!\n",min+1,max-1);
  • 데블스캠프2009/월요일/연습문제/svn코드레이스/박준호 . . . . 3 matches
         = 데블스캠프2009/월요일/연습제/svn코드레이스/박준호 =
          printf("숫자를 입력하시오 범위는 %d 부터 %d 입니다. \n", minnum, maxnum);
          continue;
  • 데블스캠프2010 . . . . 3 matches
          || 1 || 김수경 || Prolog || 토요일을 제외한 전 시간대 ||
          || 6 || 이승한 || 여러 플래폼의 list, 여러 플래폼의 socket 통신 또는 openCV || 24일제외 ||
          || 10 || 박성현 || Eight Queen 제(Pair Programming) || 전 시간대 가능 ||
  • 데블스캠프2011/넷째날/Git/권순의 . . . . 3 matches
          // 사용자 입력을 띄어쓰기 단위로 나누고 몇개로
         // 자열을 띄어쓰기 단위로 나눈다.
         // 가장 앞 자열을 이용하여 일치하는 커맨드를 가져온다.
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준 . . . . 3 matches
          if(isSkipData(wordTmp)) {continue;} // 1글자Data, 사이트, 블로그, 페이지 주소의 경우 연관성및 신뢰성이 떨어지므로 검색에서 제외
         위의 주석처럼 필요없는 (http, //, blog, yahoo, empas, tistory 같은) 단어를 제외하고 작성할 수 있게 수정했습니다.
  • 데블스캠프2012 . . . . 3 matches
          || 1 |||| [:데블스캠프2012/첫째날/배웠는데도모르는C 배웠는데도 모르는 C] |||| 웹 서비스구축 전반에 관한 이야기 |||| 점심? |||| |||| [http://zeropage.org/seminar/62072 재귀함수를 이용한 제 해결] |||| [http://zeropage.org/seminar/62080 C로배우는 C++의원리] || 8 ||
          || 2 |||| 배웠는데도 모르는 C |||| 웹 서비스구축 전반에 관한 이야기 |||| [http://zeropage.org/seminar/62041 소켓, 웹, OpenAPI] |||| |||| 재귀함수를 이용한 제 해결 |||| C로배우는 C++의원리 || 9 ||
         || 백트래킹을 이용한 알고리즘 제 해결 || [정진경](21기) ||
  • 데블스캠프2012/다섯째날/후기 . . . . 3 matches
          * [권순의] - C++의 개념을 C에서 어떻게 적용하는지, 컴파일러가 어떻게 돌아가는지에 대해서 생각해 볼 수 있는 시간이었습니다. 재미지네요. 단계적으로 나아가는 방법이 재미있었습니다. 설명도 자세하게 해 주시고 유익한 시간이었습니다. 그러다 보니 왜 우리가 어떤 것을 사용했을 때 느리다던지 한 것에 대해서 보다 쉽게 이해할 수 있는 시간이 아니었나 합니다.
          * [김희성] - Win32API를 할려다가 OMS에 없었던 12학번이 많아 OMS에서 했던 주제를 다시 했는데, 반응이 그다지 좋지 않은 것 같습니다. 비트맵 특성상 변수가 많이 쓰이는데 이해도를 위해 변수명을 축약이 아닌 풀네임으로 작성한 것이 오히려 가독성을 낮추어 이해를 어렵게 한 것 같습니다. 오랜만에 비트맵 했더니 예제 시연에서 삑나고... 여러가지로 제가 많았던 것 같습니다.
          * [서민관] - 이런저런 일로 file format에 대해서 약간 볼 일이 있긴 했는데, 희성이가 좀 이미지 처리를 전으로 해서 그런지 비트맵 형식에 대해서 꽤 본격적으로 다뤘네요. 비트 레벨에서 필터 등의 구현을 보는 건 신기했습니다. 근데 실습하기에는 이해도가 딸려서... 그래도 처음 보는 사람들한테는 많은 이해를 주지 않았을까 싶군요.
  • 레밍즈프로젝트/이승한 . . . . 3 matches
         진하와 Array의 >> 연산자 제로 삽질.
         리팩토링(여전히 덜 된 리펙토링), 더블버퍼링 MFC(OnEraseBkgnd에서 화면을 지우는 것을 몰랐음. 삽질. 왜 저번에는 제없이 동작했던 거지?? API 기반으로 했었나보다)
         보통의 맵이 1000*150 정도의 크기를 가지는 것으로 알고 있는데... 제가 큼.
  • 말없이고치기 . . . . 3 matches
         때로는 직접적인 정보 전달보다 간접적이고 "스스로 추론할 수 있는" 정보 전달이 더욱 효과적이고, 상대방의 실수를 드러내고 공박하는 것보다는 몰래 고쳐주는 것(NoSmok:ForgiveAndForget )이 당사자에겐 심리적 저항이 덜하므로 훨씬 받아들이기 쉽기 때이다. NoSmok:LessTeachingMoreLearning
         게다가, 남의 오류를 드러내고 이에 대해 반박을 하는 것은 결국 필요없는 ["ThreadMode"]의 글을 남겨서 처음 읽는 독자로 하여금 시간 낭비를 하게 할 수 있다. (see also NoSmok:질지우기)
         see also NoSmok:질없이묻기
  • 무엇을공부할것인가 . . . . 3 matches
         ["무엇을공부할것인가"]라는 것을 논하기 이전에 기본적인 전제에 대해 생각해 볼 필요가 있습니다. 그러면 제 정의 자체가 바뀌어 버릴 수가 있습니다. 예를 들어 "어떻게 하면 이 프로시줘를 옵티마이징할까"를 고민할 때, 아예 그 프로시줘를 실행시키지 않는 방법은 없을까를 묻는 것이죠.
         전산학을, 프로그래밍을 공부하는 사람이라면, 만약 내가 지금 배우는 대부분의 지식과 기술들이 내가 졸업을 하고 회사에 입사를 할 약 4년(혹은 병역을 마치는 경우 6년) 후에 쓸모없어 진다면 어떨까 하고 생각을 해 볼 수 있겠죠. 오늘 내가 밤샘을 하고 고민을 하면서 내가 사용하는 특정 도구의 한계를 우회하기 위해 기발한 방법을 짜내면서 얻는 지식은 4년 혹은 6년 후에 어떤 가치가 있을까요? 그 노력에 비해 얼마나 가치가 있을까요? 만약 그런 과정을 통해 어떤 지혜를 얻을 수 있다면, 좀 더 효과적이고 경제적인 방법은 없을까요?
         ([http://groups.google.co.kr/groups?hl=ko&lr=&ie=UTF-8&inlang=ko&newwindow=1&frame=right&th=382f243e8edce15a&seekm=slrnam7pfh.ds.gerhard.haering%40haering.opus-gmbh.net#link1 관련 원])
  • 문서구조조정 . . . . 3 matches
         위키는 ["DocumentMode"] 를 지향한다. 해당 페이지의 ["ThreadMode"]의 토론이 길어지거나, 이미 그 토론의 역할이 끝났을 경우, 페이지가 너무 길어진 경우, 페이지하나에 여러가지 주제들이 길게 늘여져있는 경우에는 서구조조정이 필요한 때이다.
         See Also wiki:NoSmok:서구조조정 , ["서구조조정토론"]
  • 문자반대출력/임인택2 . . . . 3 matches
         아직 J 에서 함수부분까지 못봤다. 제의 조건을 전부 만족하지는 못함. built-in 으로 제공되는 녀석을 사용해서 내가 짠거라고 하기에는 좀..--;
         [자반대출력]
  • 문자반대출력/최경현 . . . . 3 matches
         2바이트 자를 처리하는 방법은
         [보창]선배님의 process_wchar() 함수를 빌려다 썼다.
         [자반대출력] [LittleAOI]
  • 방학중PC실이용토론 . . . . 3 matches
          게다가 구피만 열기 때에 사람이 억수로 많습니다. 시간도 조교들의 퇴근 시간때에 오후 6시까지만 합니다. --재동
         방학이 한 달 남았네요. 각종 스터디나 프로젝트를 잘 진행하고 계시나요? PC실 사용이 불편해졌는데, 그래도 PC실을 이용하시는 분들은 어떻게 불편을 극복하셨나요? --[Leonardong]
  • 변형진 . . . . 3 matches
         [데블스캠프2006/월요일/연습제/웹서버작성/변형진]
         [자반대출력/변형진]
         [식인종과선교사제/변형진]
  • 봄과프로젝트 . . . . 3 matches
         || [AOI] || [보창], [곽세환], [나휘동], [이도현], 차영권 ||
         || [새싹배움터05] || [강희경], [보창], [이승한] ||
          └새싹배움터 ㅋ --[보창]
  • 블로그2007 . . . . 3 matches
          == 질 ==
         미래에는 PDT로 수렴되겠지만 아직은 정식 버전에 잘 결합이 되지 않을 만큼 불안합니다. 따라서 PHPEclipse를 추천하는데 Web개발을 위해서는 이뿐만이 아니라, HTML Coloring 지원 도구등 여러 도구들이 필요합니다. 귀찮은 작업입니다. Calisto가 나오기 전부터 Eclipse 도구를 분야별로 사용하기 쉽게 패키징 프로젝트가 등장했는데 [http://www.easyeclipse.org/ Easy Eclipse]가 가장 대표적인 곳입니다. 아직도 잘 유지보수되고 있고, Calisto가 수렴하지 못하는 Script 개발 환경 같은 것도 잘 패키징 되어 있습니다. [http://www.easyeclipse.org/site/distributions/index.html Easy Eclipse Distribution]에서 PHP개발 환경을 다운 받아서 쓰세요. more를 눌러서 무엇들이 같이 패키징 되었나 보세요.
         PHP 인터프리터는 APM을 같이 생각해 설치해야 합니다. 국내에 유명한 APM패키지로는 [http://apmsetup.com/ APM Setup]이 많이 쓰입니다. 그러나 작년 말에 예정된 업그레이드 버전 이후 소식이 없습니다. (내부 사정이 있는 것 같아요.) 더 추천할 곳은 [http://www.apachefriends.org Apach Friends]라는 멋진 곳에 있는 XAMPP를 사용하세요. 천천히 RTFM해보면, 됩니다.
  • 비행기게임/진행상황 . . . . 3 matches
          * 7.7 ~ 7.8 : 대략적인 파이썬 법 공부 완료, wxPython이나 Pygame 대충 훝어보기 시작함
          * 7.8 ~ 7.9 : pygame 라이브러리 사용하니깐 만들기가 상당히 편한거 같다. 대충 비행기 움직이게 만들었다.
          * 7.12~7.14 : 기초적인 법 공부
  • 사랑방 . . . . 3 matches
          ''약간은 사기라고 봐도 됩니다. 퀵소트에서 첫번째 원소를 피봇으로 잡는 경우가 헤스켈에서 아주 간단히 표현될 수 있다는 점을 이용한 것이죠 -- 첫번째가 피봇이 되면 제가 생기는 상황들이 있죠. 보통 헤스켈의 "간결성"을 강조하기 위해 전형적으로 사용되는 예입니다. 뭔가 독특한 점을 강조하기 위해 쓰인다는 것 자체가 이미 약간의 과장을 암시하고 있습니다. see also Seminar:QuickSort --JuNe''
         negative LA assertion을 쓰면 간단합니다. {{{~cpp &(?!#\d{1,3};)}}} RE를 제대로 사용하려면 ''Mastering Regular Expressions, 2Ed ISBN:0596002890''를 공부하시길. --JuNe
  • 산이거기에있기때문에 . . . . 3 matches
         우리나라는 교육뿐 아니라 전반적인 의식구조(결과 지상주의, 학연,지연,혈연에 집착하는 모습이라든지..)에 제가 있음을 가끔 느끼곤 하는데 (직접 외국의 화를 체험한다거나, 외국인과 대화를 했던 기억은 없지만) 다음의 글을 보면서 그 사실을 한번 더 느끼게되었다. - [임인택]
         "산이 거기에 있기 때에"라는 대답으로도 유명했다.
  • 상협/학문의즐거움 . . . . 3 matches
          * 사람이 갖고 있는 정신 에너지 중 창조에 쓰이는 부분의 비율이 경쟁의식으로 인해 질투로 변형됨으로써 상당히 낮아진다. 정신 에너지는 사고 에너지, 창조 에너지 등을 포함한 에너지인데, 그것이 남과의 우열경쟁에 소모된다면 그만큼 창조 에너지가 적어지기 때이다.
          * 맞는말 같다. 페어 프로그래밍에서도 이 유연성이 중요한거 같다. 난 유연성이 부족한거 같다. 급한 성미 때인거 같다. 앞으로는 너무 급하게만 몰아치지 말고 이 유연성도 키워야 겠다.
          * 이책을 난 우리 누나에게 먼저 빌려 주었었다. 근데 우리 누나가 엄청 이책을 씹으면서 이 책의 히로나카씨가 잘난척을 무지 잘한다고 한다. 그리고 뭐 인간 관계도 이해 타산적이라고 막 씹어 댔다. 나도 이책의 저자가 인간관계에 일정한 선을 두어서 한번도 배신을 당한적이 없다고 한 말은 좀 재수 없어 보인다. -_-; 사람이 뭐 로보트도 아니구, 그렇게 살고 싶나.. 차라리 배신을 당한 지언정 사람을 믿으면서 살고 싶다. 이게 내 생각이다. 인간 관계에 관한 말은 우리 누나의 말대로 이사람에게 별로 배울점은 없다. 이 사람의 인간 관계는 자신에게 도움을 줄수 있나 없나의 이해 타산적인 면이 기본 바탕인거 같기 때이다. 난 그렇게 살고 싶진 않다. -_-;, 그리고 이 사람은 사람을 판단할때 그 사람의 사회적 지위같은것을 아주 아주 중요한걸로 판단하는거 같아서 그것도 좀 재수 없는거 같다. 근데 다른 점에서는 배울 점이 있다. 창조적인 일을 하기 위해서 생각해볼 어구도 꽤 많다. 나름대로 읽을 만한 가치가 있는 책이었다. 우리 프로그래머도 결국 창조적인 일을 하는거니깐 이책을 한번씩 읽어 보면 얻는게 꽤 될것이다.
  • 새싹C스터디2005/pointer . . . . 3 matches
         == 간단 제 ==
         == 간단 제 정답 ==
         음... swap 함수에서 값이 정수(배열, 포인터 주소를 제외한 모든 값.)일 경우 xor 치환으로 간단하게 변경 가능합니다.
  • 새싹교실/2011/學高 . . . . 3 matches
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
          * [김지연]: for이 인상적이었다.
          * 과제때이야? - [윤종하]
  • 새싹교실/2011/무전취식/레벨4 . . . . 3 matches
          break;//while을 빠져나간다.
          * 수업이 길긴 했는데ㅋㅋ 많은 것들을 배웠고 제어을 활용해서 간단한 게임을 만드는 과정이 참 재미있었어요. 게임 만드는게 어려워보이긴 했지만 그래도 익숙해지면 편할 것 같아요. 요즘 중간고사 기간이라 시간에 쫒기기 시작했어요 ㅜㅜ 게임 만들기가 숙제인데 중간고사 공부 하느라 만들 시간이 좀 없을 것 같지만 중간중간 비는 시간을 활용해서 C언어 중간고사 준비와 간단한 게임 만들기를 할 계획입니다~! -[서원태]
          1. 이름바꾸기. +3점 <- 예습해야 할수 있는거임. 자열 배열과 기타 함수.
  • 새싹교실/2011/씨언어발전/2회차 . . . . 3 matches
         간단하게 bongbong 커리큘럼에 있는 예제를 이용하며 기본 입출력함수의 사용법에대해 수업했습니다.
         외우라는 식으로 사용법을 배우고 나중에 좀더 자세히 알 수 있도록 하려고 생각중입니다.
         봉봉교수님 예제 제들을 오늘 모두 풀어보았다
  • 새싹교실/2012/열반 . . . . 3 matches
          * C프로그래밍 수업에서 배운 내용을 적어주세요. 궁금한 점은 질해주세요.
          * 함수의 사용법과 if,else if, else의 차이를 배웠습니다. [권우성]
  • 새싹교실/2013/록구록구/9회차 . . . . 3 matches
          * 배열 & 자열 & 2차원 배열
          * 자열과 배열에 대한 설명
         == 질 ==
  • 새싹교실/2013/책상운반 . . . . 3 matches
         3. 선형대수학에 대해서 궁금한 것은 질하시면 됩니다. 대부분은 답변해 드립니다.
         조건 : if, else, else if, switch
         반복의 존재
  • 새회원을받으면 . . . . 3 matches
          * 04학번에게 이상한(?) 소을 들었습니다. 그대로 적어봅니다. ' ''제로페이지는 들어가면 졸라 빡시다. 열심히 활동 안 하면 준회원되고, 제로페이지에서 짤린다.'' '라고 하더군요. --[Leonardong]
          * 그게 이상한 소인가? 어떤 스터디에 얼만큼 참여하느냐에 따라 다르겠지만 어느 정도는 빡신게 맞고, 열심히 활동 안하면 당연히 회원 정리 대상이 된다. 휘동, 모든 사람을 만족시키려고 하지 말게나. ZP에는 다수의 어중이 보다 소수라도 정말 실력있는 사람들이 더 좋단다. --재동
          * 왜냐면, 열심히 하는 사람과 열심히 하지 않을 사람이 같이 섞여 있으면 서로 피곤하기 때이지. 유유상종을 잊지 말게나! --[zennith]
  • 생각하는프로그래밍 . . . . 3 matches
         처음 읽었던 때를 대학교 2학년 가을학기로 기억한다. 어디서 봤는지 기억나질 않지만(지금은 찾을 수도 없다) " [ProgrammingPearls]라는 책이 있는데, 연습제를 다 풀어보는데 6개월이 걸렸다"라는 서평을 읽은 후(들었는지도 모르겠다) 한 번 도전해보자는 마음으로 도서관에서 책을 빌렸다. 봄학기에 자료구조 수업을 재미있게 들었던 터라 자신감마저 가지고 원서를 읽기 시작했다.
         1장 본을 다 읽고 연습제를 보았는데, 연필로 조그맣게 체크가 되어 있었다. 누가 풀어본 것인지 몰라도 나도 한 번 풀어봐야겠다는 의욕이 솟구쳤다. (아직도 그 연필 자국이 남아있을 것이다.) 하지만 2장도 채 못 보고 반납기한이 다가오니까, 빨리 다 읽고 싶은데 이걸 언제 다 읽냐는 조바심이 났다. 그렇게 번역서와 원서 사이에서 갈등하다가 결국 번역서를 샀다.
  • 설득의심리학 . . . . 3 matches
          * 작은 약속부터 시작하는 전 걸치기 기법(the foot in the door technique)
          * 중공군의 세뇌 프로그램 - 자발적 개입을 증명할 기록을 남긴다.(작) 공식적 약속은 생명력이 길다.
          * 호감의 법칙을 사용한 집단간의 갈등 극복
  • 소수구하기/임인택 . . . . 3 matches
          else continue;
         ''DeleteMe 50000까지의 소수는 총 5133개입니다. 위 코드는 더 많은 숫자를 출력합니다. sqrt부분을 잘 생각해 보세요.''
          이렇게 수정했더니 되는군요. 등호하나때에 결과가 엄청나게 달라지는군요. 지적해 주셔서 감사 - 임인택 (["radiohead4us"])
  • 손동일 . . . . 3 matches
          자주 이용 할테니.. 페이지 사용할 수 있게 해주세요~^^
          [구구단/손동일] [피보나치/손동일] [파스칼삼각형/손동일] [숫자야구/손동일] [만년달력/손동일,aekae]
          cout << "숫자로 입력하세요";
  • . . . . 3 matches
         첫모임(2005.4.6) - 이중 for 완벽이해
         (내용은 꽤 오래전에 만들어진 서라 구질구질 합니다. ㅡ _-;)
         scanf(" %c", &a); // 자 하나를 입력 받을 때에는 꼭 " %c" 처럼 한칸을 띄우셔야 됩니다. :)
  • 숫자야구/Leonardong . . . . 3 matches
         데블스 캠프 첫째날 랜덤 숫자야구 코드
          continue;
         [데블스캠프2003/첫째날], [숫자야구]
  • 숫자야구/문원명 . . . . 3 matches
         숫자야구
         [숫자야구] [원명]
  • 숫자야구/조재화 . . . . 3 matches
         == 숫자야구 ==
         #include <ctime> // time(0)의 사용을 위해 필요합니다.
         [숫자야구] [조재화]
  • 실시간멀티플레이어게임프로젝트/첫주차소스3 . . . . 3 matches
         game.py 사용
         go명령을 내릴때 각도는 어떻게 입력받죠? 프레임에서 생각지 않았던 제이군요. --휘동
         저장된 명령을 실행하는 때를 '상태보기' 기능을 쓸 때 하는게 좋겠다는 생각입니다. , 로그인 할 때만 실행하게 한다면, 로그인 후에 내린 명령 중에 실행 해야 할 게 있을 때 실행을 하지 않은 상태에서 '상태보기'기능을 쓰기 때에 잘못된 결과가 나올 것 같습니다. -- 휘동
  • 아동언어습득이론 . . . . 3 matches
          근거 - 비슷한 발달단계, 인간 종 특유, 뇌 전화와 언어, 민감기가 있음
          사고보다 감각, 운동활동으로 발달하기 때
          각 화가 끼치는 영향을 강조
  • 아주오래된농담 . . . . 3 matches
         홀어머니 밑에서 두 아들과 늦둥이 막내 여동생이 자란다. 큰아들은 법대, 작은 아들은 의대에 다니며 밝은 미래가 보이는 듯 싶다. 하지만 큰아들은 미국가고, 작은 아들은 한국에 남아 가족을 챙긴다. 이제는 흔한 이야기인 고부갈등, 불륜, 재산제, 말기암 따위 이야기가 쉴틈 없이 이어진다.
         행복한 결말은 애초에 바라지도 않았다. 읽는 동안 나에게 질을 던졌다. 말기암 환자에게 병명을 말해주어야 할까? 모든 여자를 성녀와 나쁜 년으로 구분할 수 있을까? 남자는 가정이 있어도 다른 여자에 대한 유혹을 뿌리칠 수 없을까? 악조건이 사람을 악다구니로 만들까?
         마음이 불편하다. 사람이 사람을 속이기가 얼마나 쉬운지 생각해본다. 자기한테 이익이 되니까, 재미로 남을 골탕먹이려고 속이기는 물론이고 자기 딴에는 배려한다고, 사랑하기 때에 속인다. 남을 속이고, 나까지 속인다. 위선자가 되기 싫으면 최소한 나는 속이지 말아야지.
  • 알고리즘8주숙제 . . . . 3 matches
         Optimal Binary Tree는 Dynamic Programming 기법으로 풀리는 유명한 제입니다. 그누스 형님 방법에 의하면 O(n<sup>2</sup>)으로 풀립니다. 그러나 우리는 이보다 점근적으로 더 빠른 휴리스틱 버전을 작성해야 합니다.
         || 보창 || 상섭이형보다많이 || [알고리즘8주숙제/보창] ||
  • 얼굴빨개지는아이 . . . . 3 matches
         ''사람들은 우연히 한 친구를 만나고, 매우 기뻐하며, 몇가지 계획들도 세운다. 그러고는, 다신 만나지 못한다. 왜나하면 시간이 없기 때이고, 일이 너무 많기 때이며, 서로 너무 멀리 떨어져 살기 때이다. 혹은 다른 수많은 이유들로.''
  • 여름방학프로젝트 . . . . 3 matches
         || [LittleAOI] || [보창] || . ||
         || [AOI] || [보창] || . ||
         || [C++스터디_2005여름] || [보창] || [허아영], [한유선], [이규완], [도연], [정수민] ||
  • 유정석 . . . . 3 matches
         == 질과 답 ==
         -> 들어가서 질하고 자나 네이트온
  • 이승한/자전거여행/완료 . . . . 3 matches
         == 준비의 제점 ==
          * 자전거 타는 테크닉도 중요하지만 수리 상태에 따라 상당히 많이 다르다. 타이어는 예사고 기름칠이 잘 안된 체인의 경우에는 가끔씩 체인이 끊어지는 사태도 벌어지고. 브레이크. 휠. 엎어지기라도 해서 기어가 망가지면 난감하기도하고 생각지도 못한 곳곳에서 제가 계속발생한다.
         1시간 - 3시간. 수색언덕길. 지긋지긋. 이승한 욜리 힘들었음. 아직 자전거가 익숙치 않고 다리가 안풀려 세명중에 내가 가장 힘들어 했음. 나중에 친구들은 나때에 여행이 지체 될 걸로 걱정했다고 함. 그러나 기우.
  • 이영호/끄적끄적 . . . . 3 matches
         ? : 이 이렇게 좋은줄 이제서야 알다니.
         조금만 더 짜면 될테지만 미완성 부분 완성시켜도 메모장에서 소스 짜버려 제대로 돌아갈지도 의이고...
          if(i==1 && j ==1) continue;
  • 이영호/미니프로젝트#1 . . . . 3 matches
         1. Client Console에 메세지를 입력하면 IRC Server로 자열을 전송한다. -> Main Process
         attack_#.c(# == 임의의 숫자) -> 공격 함수. 요즘 보안홀들을 체크하여 보안홀들을 공격하는 함수들을 집어넣자.
         (2일에 한번씩 컴퓨터를 사용하므로...)
  • 임다찬 . . . . 3 matches
         = 제 =
         || 날짜 || 언어 ||제명 ||비고||
         나중에 [JollyJumpers] - dynamic programming 사용하나요???
  • 임인택/삽질 . . . . 3 matches
          * DirectDraw 를 사용하려다가 계속 정의되지 않은 타입이라 나옴 - DX SDk 인클루드 순서를 맨 위로, 라이브러리도 마찬가지.
         JavaServerPage에서 bean 클래스를 사용할때 클래스 생성자에는 전달인자를 사용할 수 없다.
  • 자리수알아내기 . . . . 3 matches
         간단한 제지만 의외로 재미있답니다.
         = 제 =
         [제분류]
  • 정모/2002.5.16 . . . . 3 matches
          * HCI(Human Computer Interaction)발표 하겠습니다. 이번 심리학과 리포트 때에 작성하던 것인데, 같이 하시는 분께서 관련 업계 종사자라서, 너무 많은 자료 때에 제가 치일 정도 입니다. 일단 방대한 자료는 필요시 드릴수 있고, (관련 논, Samsung 개발자료 etc, xp, aqua, palm guide line 등) 발표 골자는 기본적으로 심리학의 이해 시간에 발표 자료 기반으로 컴공과에 맞추어 발표 하겠습니다. 못했지요. 약간 아쉽네요. 차후 HCI자료가 필요하신분이 있거나, 이런 분야도 있구나 란걸 알고 싶으면 세미나 해드립니다. --상민
  • 정모/2003.7.29 . . . . 3 matches
         === 1'Wiki의 사용 ===
          * 지금 1'Wiki를 테스트를 하는 이유는 새로 위키를 같이 사용해 나가면서 규칙을 만들자는 취지이며, 0'Wiki를 닫지 않으면 1'Wiki를 테스트 해보는 사람만 테스트해 볼 것이므로 0'Wiki를 폐쇄할 거라고 합니다. 그러므로 ZeroWiki:ZeroPager 모두가(특히 신입생) 의욕적으로 1'Wiki사용에 참여하였으면 좋겠습니다.
  • 정모/2003.8.12 . . . . 3 matches
          * [삼총사CppStudy] => 50% 정도로, 법, 실습 위주.
          * [HardcoreCppStudy] => 50% 정도로, 법, 실습 위주. 지난주는 몇명이 안 와서 진도 안 나가고 실습을 좀 하였음.
          * [방울뱀스터디] => 제작 중인 만두4개가 몇가지 제만 해결되면 끝날 것 같음.
  • 정모/2003.9.23 . . . . 3 matches
         || 03 || 황재선 나휘동 노수민 장창재 곽세환 원명 ||
         === 서버 관리자 제 ===
          * 파이선 스터디: 현재 1주째 진행으로 법을 익혔으며 2주째는 리얼타임멀티플레이어게임프로젝트로 휴강했습니다.
  • 정모/2004.1.20 . . . . 3 matches
         ||03|| 나휘동 노수민 곽세환 황재선 원명 임민수 ||
         == 프로젝트 진행상황 알림( 발표 & 질 ) ==
          * 숫자야구 시연
  • 정모/2004.1.6 . . . . 3 matches
         || 03 || 나휘동 곽세환 황재선 임민수 노수민 조재화 원명 ||
          * 숫자야구 : 콘솔창에 띄움. GUI로 바꾸는 과정에서 고생중
          * 회의 자체에 대한 부담감이 작용하지 않았다 싶다 --[원명]
  • 정모/2004.11.16 . . . . 3 matches
          * 발표를 하고 싶었지만 자신이 따로 공지를 하고 사람을 모아야 하는등 불편한 절차때에 망설이던 사람들에게 좋은 기회가 될수도 있을 것이다.
          - 준비를 못하는 경우 제발생
          - 참여도
  • 정모/2004.9.24 . . . . 3 matches
         || 04 || 보창 윤성만 ||
         내가 가면 다른 04 친구들이 안오고, 내가 안 가면 다 모이고... 안 나오는 이유가 다 나 때이거야~ 그런거야~ -0- [윤성만]
         저번에 수업때에 한번 빠지고 나니 정모가 언제하는지 모르겠어여..=_=;
  • 정모/2005.1.3 . . . . 3 matches
          * 서버
          * 서버실 정리가 이루어졌다고 함. 서버실 담당 교수님인 박제화 교수님에게 이야기 해 보도록 해봄. 그전에 제가 생기면 [이상규] 선배님 연구실에 2월까진 맡아 주실수 있다고 하셧음.
          * [신재동] 형의 위키사용 압박. ''위키 한 줄 이상 안쓰면 다음 정모때 자기 돈 내고 밥 먹어!!''
  • 정모/2005.3.21 . . . . 3 matches
         나휘동, 강희경, 하욱주, 조동영, 황재선, 보창, 차영권, 이도현
         == 질 ==
          * 신입회원 모집 홍보는 어떻게 하기로 되어있나요? 동서버 안들어 가거나 있는 모르는 사람들도 많을텐데... 강의실 홍보나 대자보 홍보가 적어도 이번주 부터 이루어져야 좋을거 같습니다. 그리고 홍보할때 꼭 신입생 말고 복학생,전과,편입생들도 염두에 뒀으면 좋겠습니다.
  • 정모/2005.4.25 . . . . 3 matches
          └ 이중에서 62만원 사용가능 ( ex: 회식릴레이시작? )
          * 세미나위주 → 전체에게 제를 내는 방식으로 나중에 해설을 해주는 형태
          * 2~3명씩 조를 짜서 [ACM]제, 간단한 게임제작을 해보는 것이 가능한 자리 만듬.
  • 정모/2005.9.13 . . . . 3 matches
          * 참가자 : 이형노, 정서, 최경현, 윤정훈, 정진수, 정수민, 박경태, 송수생, 허아영, 이규완, 조현태, 보창, 이승한, 황재선, 강석천, 이동현, 오승혁, 허아영, 최규완, 이영호
          * [정모/2005.9.8]와 이번 정모에 나온 사람들에게만 자들 돌리기로 선언;;
          * 캠가지고 놀자! : 보창, 허아영
  • 정모/2006.1.12 . . . . 3 matches
          김상섭, 남상협, 황재선, 송수생, 보창, 허아영, 조현태, 이선호, 이도현, 한유선, 이규완, 나휘동, 김민경, 하기웅, 등
         보여주기 준비해 주세요. 프로젝트 사용 할겁니다^^
         (단, 단순히 study라서 보여주실 수 없는 팀은 제외합니다.-> 진도 설명 )
  • 정모/2006.4.10 . . . . 3 matches
          * 영 잡지 읽기 (CACM)
          8. 코드레이스 전에 제를 같이 풀어본다.
          12. 코드레이스 전에 간단한 법 설명을 한다.
  • 정모/2007.1.29 . . . . 3 matches
          3. 영자 신 놀이( The play of English paper)
          주제선정 : xp책, 요리책(자기만의 요리), 배를 만들어 타자, *소설책, 추리소설, *보드게임(선호형), 영자신(어렵따)
          * 피시실 앞 공도 좀더 유연하게 작성하자(눈에 띄도록 광고처럼)
  • 정모/2007.3.27 . . . . 3 matches
          김정현, 이장길, 유상욱, 원명, 주소영, 이차형, 이원희, 윤영준, 남규현, 김동준...
          - 현재 제가 되고 있는 부분이 다달이 PC관리비용이 14만원이 나오고 있어서 이 돈을 아마 4개의 학회가 골고루 나누어 질거 같다
          - JTD 2007 Study=> 참가인원 : 유상욱, 이장길, 원명
  • 정모/2011.4.4/CodeRace/김수경 . . . . 3 matches
          * 사용 언어는 [RubyLanguage]
          * [TDD]로 개발하려 했는데 rake aborted! No Rakefile found. 라는 메세지가 뜨면서 테스트가 실행되지 않아 포기함. 한시간동안 계속 찾아봤지만 모르겠다. 영어 서를 읽으면 답이 있을 것 같은데 더 이상은 영어를 읽고싶지않아ㅜㅜㅜㅜㅜㅜ
          * 강은 너무나 넓고 깊기 때에 배를 타지 않고 건널 수 없다.
  • 정모/2011.7.25 . . . . 3 matches
          * 다음 주에는 못 풀었던 제를 계속 붙잡거나 새로운 제를 풀거나 각자 자유롭게~
          * 저조한 참여율 때에 수경이와 지원이가 1:1 대화함.
  • 정모/2012.4.2 . . . . 3 matches
          * 참가자 : [변형진], [권순의], [김준석], [서민관], [권여], [김수경], [서지혜], [정의정], [정종록], [신기호], [강성현], 유창우, [황현], [김태진], [정진경], [추성준], [이진규], [권영기], [김희성]
          * 자봉단 회의때인지 갑자기 사람이 확 빠진 느낌이네요. 사실 생각해보면 이정도 오는 것도 많이 오는건데 ㅋㅋㅋ 오늘은 뭔가 OMS도 그렇고 빠르게 진행되었습니다.
          * 정모에서 시간을 너무 많이 끌면 부담스러울 수 있지만 반드시 서둘러 끝내야 할 이유가 있나요? 득 작년에 저는 한시간만 했을 때 '아 준비를 너무 안했구나 오늘은 너무 짧게 했어ㅠㅠ' 라고 생각했던 기억이 나서 물어봅니다 ㅋㅋㅋㅋ - [김수경]
  • 정모/2012.5.7 . . . . 3 matches
          * 준석 선배가 scale-free network에 대한 발표를 했는데 조금이나마 아는 주제가 나와서 상당히 기분이 복잡했습니다 -_-;; 알고리즘 시간에도 자주 듣는 얘기지만 제에 대한 모델링이 얼마나 중요한지 조금씩 생각하고 있습니다. 그리고 rur-ple을 했는데 역시 파이썬이 참 간단하다는 생각이 새삼 드네요. 아마 이번 데블스에서 파이썬 관련 시간이 하나쯤은 있겠죠? - [서민관]
          * Phython 법이 기억이 나질 않아 좀 헤해었습니다. 그런데 법을 다시 까먹었다는 함정. - [김희성]
  • 정모/2012.7.18 . . . . 3 matches
          * 수요일 : callback 함수의 개념과 Javascript의 Event Handler 사용. 표준이 제정되지 않은 상황에서 Cross Browsing은 힘들다.
          * 방학이라 인원이 적네요. 펜션 어디 할까 하다가 제 맘대로 예약했습니다. (토달지 마삼. 환불하면 또 일 복잡해짐.) 가평으로 갑니다. 안에서만 놀거 같으니 TV 큰거 있는 곳으로 (쿨럭).. 그리고 서울어코드사업 관련해서 서 작성을 해야 되는데 아무런 양식이 올라오지를 않아서 뭐 어쩌라는거지 라고 고민 중입니다. 일단 활동 한거 위주로 좀 모아봐야겠네요. 그리고 대외활동 하기가 참 난감하네요. 뭘 해야할지도 가닥이 잡히질 않고.. 아흠.. - [권순의]
          * 사람이 적은 건 내려간 사람도 많고 하기 때에 좀 어쩔 수 없지 않나 싶네요. 개인적인 이미지로는 ZP 사람들은 인도어 파니까 공간이 넓은 게 역시 가장 좋지 않을까 생각합니다. 저번 주에 이어서 이번 주에도 정모 정리를 조금 해 봤는데 괜찮게 했나 좀 궁금하네요 - [서민관]
  • 정모/2012.8.8 . . . . 3 matches
          * Spring - Secure...를 사용하지말자.??
         수늬형/태진 한테(서 작성, 학회실 관리? 등등) 장학금??
         장학금에 대해 소득공제로 제가 있을경우 연말에 정산
  • 정모/2012.9.10 . . . . 3 matches
          * ACM - 대학생 경진대회 목표, 방학 때 1주에 2번씩 만나 공부, 저번주 과제: Binary 제. 아무도 못 풀었음. 자료구조는 구현 완료. 이번주 목표: Binary 제 구현, 쉬운 제 풀어서 자신감 회복....ㅜㅜ
  • 정모/2013.1.22 . . . . 3 matches
          * ACM : DP의 Subset 제,그래프제 풀고 토론
          * 도메인,호스팅,스티커 등에 사용된후 차기 회장 김민재 학우에게 인계될 예정
  • 정모/2013.2.26 . . . . 3 matches
          * [권영기] 학우의 재미있는 제 (?)
          * ACM 스터디 - 스터디 하면서 푼 제의 간략한 소개를 함.
          * 김태진이 위키 쓰라고 지적해서 내가 1빠요. 근데, 19일 정모는 왜 글이 없음 ?_? 누나 졸업식 때에 못 갔는데... - [고한종]
  • 정모/2013.4.8 . . . . 3 matches
          * 질
          * 의는 [김태진]학우에게
          * 약속때에 아이스 브레이킹하는 중에 왓네요. 개인적으로는 재미있었습니다. - [김윤환]
  • 정모/2013.6.10 . . . . 3 matches
         == 1번 질 ==
          == 2번 질 ==
          * 위키가 길어 보이는 건 실제로 한 내용이 많았기 때에 어쩔 수 없는 거 아닐까. 오히려 많은 내용에 비해서는 잘 정리한 것 같음 - [서민관]
  • 정모/2013.7.8 . . . . 3 matches
          * 1. 이번주 목요일에 학회 교류때에 숭실대에 학회 사람과 만날 예정입니다.
          * 공부 방식을 약간 바꿈 (코드젬에 있는 제 풀기 -> '알고리즘' 책하나 잡아서 공부하는 방식) 팀원마다 각각 단원을 잡고 공부해오기.
          * 그리고 계절학기 일정이나 날짜 변경과 관련해서는 정규가 말했던 것 같음. 사실 나는 내 일정 때에 학회 일정을 바꾼다는 건 좀 이상한 것 같아서 -_-;; 내가 안 가는 게 맞지. - [서민관]
  • 정모/2013.9.11 . . . . 3 matches
          * 아직 한 팀, 총 엠티와 겹치는 것 때에 신청이 적은 것 같다.
          * 키넥트 장비 - Unity 스터디에서 사용할 예정입니다.
          * Nexus 7 : 현재 GDG 해커톤 대비를 위해 사용중입니다.
  • 제로페이지는 . . . . 3 matches
          * ''현재로써의 제로페이지는(개인적 바램을 제외하고 말한다면) 중앙대학교 컴퓨터공학과 내의 전공 관련 학술모임으로 과내 활동단체 중 하나이다.'' 맞을까요? ^^;; 제로페이지의 역할보다는 무엇인지라는 것에 입각했습니다.--창섭
          * ["제로페이지는"] ["제로페이지의장점"] 때에 제로페이지이다. 그 장점을 살려나가야 한다.
          * ["제로페이지는"] 같이 공부하는 사람들의 모임이다. 서로 가르쳐주고 배우면서 학과 공부로 모자란 지식을 얻을 수 있는 화가 전해 내려온다. --[Leonardong]
  • 제로페이지위키베타 . . . . 3 matches
          * 자신의 개인 위키 서버 선택할시에 제로페이지 회원은 제로페이지 서버를 선택해 주시기 바랍니다.(이미 가입한 회원은 그대로 사용..)
          * 사용하다가 발견되는 버그들은 버그 리포트에 적어 주세요..
          * 조만간 현 위키에 있는 데이터들도 매크로를 사용하여 옮길 예정입니다.
  • 제로페이지회칙만들기 . . . . 3 matches
          * 이제까지의 자유로운 제로페이지의 제점
          * 정기적인 정모가 날짜가 없기 때에 날짜를 잡을때마다 의견을 모아야했다.
         회칙을 정할 때 "'제2조 회원관리 제3항 회비'" 뭐 이런 식으로 하는 건가요? 그렇게 한다면 하드카피 서로 만들어서 신입회원들에게도 줘야겠네요... ^^;; --["창섭"]
  • 조현태/놀이/미스틱아츠 . . . . 3 matches
          시간 및 pause자들..ㅎㅎㅎ 먼가 뽀대나기 시작~~>ㅁ<;;
          || 2005.04.14 || 네모네모 로직 푸는 프로그램 완성~~>ㅁ<;; 너무 힘들었..ㅎㅎㅎ(for와 if만 사용한;;) || [조현태] ||
          || 2005.06.17 || 'p'키를 누르면 PAUSE자가 애니메이션과 함께 생성, 게임 정지 || [조현태] ||
  • 지금그때2006/여섯색깔모자20060324 . . . . 3 matches
         
         강의실 대여 제 -> 시간대를 변경하여 빌린다
         나를 만든 책장 -> 질 restaurant -> ost
  • 지금그때2007/아이디어 . . . . 3 matches
          === 질레스토랑 ===
          * 질이 없을까봐 만든 것인데 오히려 많은 질을 막는 역효과가 있었다
  • 지식샘패턴 . . . . 3 matches
         '''전 분야나 관심 영역에서 위대한 작품(여태껏 작성된 최고의 책, 기사, 연설)을 찾아내라. 그리고 이 작품들을 성실하게 공부하기 시작하라.'''
         작품을 찾은 뒤에, 스터디 그룹([통찰력풀패턴])을 만들거나 가입하라. 공부할 작품([순차적학습패턴])을 주하라. 그리고 아젠더([아젠더패턴])를 만들어라.
  • 짜장면 . . . . 3 matches
         ... 어떤 글을 쓰더라도 짜장면을 자장면으로 표기하지는 않을 작정이다. 그것도 어른들 때이다. 어른들은 아이들이 짜장면이라고 쓰면 맞춤법에 맞게 기어이 자장면으로 쓰라고 가르친다. 우둔한 탓인지는 몰라도 나는 우리나라 어느 중국집도 자장면을 파는 집을 보지 못했다. 중국집에는 짜장면이 있고, 짜장면은 짜장면일 뿐이다. 이 세상의 권력을 쥐고 있는 어른들이 언젠가는 아이들에게 배워서 자장면이 아닌 짜장면을 사주는 날이 올 것이라 기대하면서... - 본중에서}}}
          * 내 21년 동안 너무나도 평범했기 때에 내가 아닌 다른 사람의 삶도 다 그럴 것이라고 생각했었다. 하지만 이 책을 읽고 선입견이랄까? 고정관념을 가졌던 여러가지 모습을 새로이 제대로 볼 수 있게 된 계기가 되었다. 저자가 이 책에서 말하는 여러가지.. 예를들어 '짜장면 배달을 하는 사람이 꼭 인생이 잘못되어서가 아니다' 라는 구절을 보았을 때 '아! 난 선입견을 가지고 사람들을 판단했구나..' 라고 느꼈다.
  • 최대공약수/남도연 . . . . 3 matches
         크기 상관없이 써도 상관없이 만들었습니다..앞 숫자가 크던, 뒤 숫자가 크던..
          지금이야 상관없지만 다른 소스에서도 콘솔화면 입출력을 사용하고, 저런식으로 입출력해야 한다는 보장이 없자넝.ㅎ
  • 최소정수의합/임인택 . . . . 3 matches
          몇명을 제외하곤 다들 루프를 ㅤㅆㅓㅅ을것 같아 다른 방법을 생각해보았다. 내 코드를 다 짜고보니 현태와 보창이가 가우스의 방법을 써서 summation 을 구한걸 볼 수 있었다. 고등학교 시절을 떠올린 모양이었다. 난 조금 더 시간을 거슬러 올라가 중학교 시절로 올라갔다. 제에서 요구하는게, ''~~이상인 최소 정수(사실 이 제에서는 범위가 정수가 아닌 자연수로 제한되어 있다고 보는게 더 정확하다)를 구하라''인데, 이를 보고 불현듯 '''부등식'''이 생각나 바로 적용하였다. 처음에는 DivideAndConquer 를 생각해 보기도 했는데 영 시원치가 않았다가 발상의 전환을 이룬게 도움이 되었다.
  • 최소정수의합/최경현 . . . . 3 matches
         // 제 : 1 + 2 + 3 + ..... + n >= 3000 을 만족하는 최소 n과 그것의 합을 구하는 프로그램을 작성.
          int number = 1 ; // 시작 숫자는 1
         [LittleAOI] [반복자열]
  • 타도코코아CppStudy/0728 . . . . 3 matches
         || 제 || 학생이름 || 학생의 답안 || 강사의 평 ||
         || 제 || 학생이름 || 학생의 답안 || 강사의 평 ||
         || 8퀸 제 || || || ||
  • 타도코코아CppStudy/0731 . . . . 3 matches
         책 사라 하기 뭐하니까 게임 만드는데에 필요한 것만 익히고 넘어갑시다. 모르는건 언제든지 질하세요. --[인수]
         || 제 || 학생이름 || 학생의 답안 || 강사의 평 ||
         || 8퀸 제 || . || . || . ||
  • 타도코코아CppStudy/0811 . . . . 3 matches
          * 숙제검사, 질
         최소 한개. 무조건 클래스를 이용하세요. 일단 법을 익혀야 하니... 또한 될수 있으면 객체지향적으로.
         || 제 || 학생이름 || 학생의 답안 || 강사의 평 ||
  • 토이 . . . . 3 matches
         ||[SpiralArray] ||나선형으로 숫자가 증가하는 2차원 배열 || X || O || X || X ||
         ||[토이/숫자뒤집기] ||숫자를 뒤집어서 표현 || O || O || X || X ||
  • 토이/삼각형만들기/김남훈 . . . . 3 matches
         첫번째와 두번째는 너무 쉽다. 버퍼만 만들면 거기에 별표만 채우면 되니까. 오히려 makeBuffer 함수가 신경써야 할 부분. C 에서는 자열의 끝을 신경써줘야 하니까.
         세번째가 결국 제인데, 무슨 수열 생각할 거 없이 그저 직관적으로 recursive로 필요한 버퍼의 양을 구현. 이건 별표 찍는 시작 위치 정할때도 쓸수 있더구만. 그저 손 가는대로 프로그래밍 했을 뿐.
         시험도 끝났으니 이런거나 하면서 놀면 재밌겠다. 다른 제 없나...
  • 특정 웹사이트 메타 검색 . . . . 3 matches
         자체 검색엔진이 없고, 다른 검색엔진을 이용하는 검색입니다. 즉, 사용자가 검색어를 입력하면, 여러 개의 검색엔진(검색사이트)에 동시에 검색어를 보냅니다. 각 검색엔진으로부터 검색된 결과를 받아, 취합하여 보여주는 방식입니다. 사용자가 검색창에 키워드를 입력하고 결과를 보는 것과 동일한 과정이며, 여러 검색엔진 결과를 그대로 모은 것입니다.
         메타검색은 다른 검색엔진에 의존하기 때에 많은 단점을 갖고 있습니다.
  • 파스칼삼각형/김홍기 . . . . 3 matches
          * 그런데 재귀함수쓰니 뭔가 이상한 제가 나와서 그냥 포활용
          cout<<"파스칼삼각형의 숫자 확인"<<endl;
  • 페이지지우기 . . . . 3 matches
         삭제하고 싶은 페이지의 내용을 지우거나, 해당 페이지 아무곳에서나 '''DeleteThisPage''' 를 남긴다. 그러면 ZeroWiki 관리자가 해당 자열 검색을 통해 페이지를 지우게 된다.
         '''If you want to delete this page, YouNeedToLogin.''' 현재 ZeroWiki 에서 Delete''''''Page 권한은 계정 관리자가 갖고 있습니다. 로그인한 사용자도 그 권한을 사용할 수 있도록 한 단계 더 공개하는건 어떨까요? security.py 에서 {{{~cpp self.delete = self.delete and user.valid}}} 이 한 라인을 추가하면 됩니다. --["데기"]
  • 프로그래머의편식 . . . . 3 matches
         블로깅을 하다가 우연히 읽게 된 글인데 공감되는 부분이 많습니다. 원은 [http://sparcs.kaist.ac.kr/~ari/each/article.each.469.html 여기]에 있습니다.
         많은 사람들이 작은 명인의 단계에서 더 이상 발전을 하지 못한채 진정한 명인이 되지 못한다. 작은 명인은 화려한 수상 경력도 있고 심사위원을 맡기도 하고 많은 추종자가 따르지만 진정한 명인이 되지 못한다. 그 이유는 그들이 닫혀있기 때이다.
         ''그들은 이제 새로운 지식으로 향한 을 걸어 잠근 채 어떠한 새로운 경험도 받아들이려 하지 않는다. 그들에게는 더 이상의 발전과 진보는 없다.''
  • 프로그래밍잔치/셋째날후기 . . . . 3 matches
         모여서 전화번호 핸드폰에 있는 자로 입력받아 번호로 출력하는 프로그램을 짰다. (["Telephone"] 참조)
          * 예전에 제의식만 가지고 해결을 못했던 부분을 해결하게 되어 기쁘다. 재밌는 행사였다. ^^ 선배들 뵈니까 무척 반가웠다. 선배님들 만나면서 여러 질도 하고 얘기도 들으면서 유익하고 즐거운 시간을 가졌다. --["Wiz"]
  • 피보나치/김홍선 . . . . 3 matches
          cout << "숫자를 넣으세요!" << endl;
          continue;
         C++ 공부하다 말고 득 생각나서 해본 -_-;
  • 홈페이지분류 . . . . 3 matches
         ZeroWiki를 사용하는 사람들이 가질 수 있는 개인 홈페이지들.
         검색이기 때에, 정확한 결과가 보장되지는 않습니다.
         ["홈페이지분류"]로 분류되는 페이지들은 개인 페이지이므로 자유롭게 사용하되 제로페이지에서 자신이 참여하고 있는 스터디, 혹은 개인적으로 하고 있는 공부들, 전시회 준비 상황과 같은 내용들이 포함되면 더욱 좋을 것 같다. -- ["데기"]
  • 05학번만의C++Study/숙제제출4/최경현 . . . . 2 matches
          - 확실히.ㅎㅎ 버그가 있네. 이 버그는 클래스를 삭제한 뒤에 그 공간이 비게되는데, 거기에서 값을 체크하는 함수를 실행시키려고 시도했기 때에 발생하는 제야.
  • 2002년도ACM문제샘플풀이/문제A . . . . 2 matches
          * 한 두시간은 걸린거 같다--; 제를 제대로 읽어보지 않은 탓이다. 무슨 찌그러진 사각형을 생각하다니--; 미친거 아닌가 모르겠다.
         ["2002년도ACM제샘플풀이"]
  • 2006동계MT . . . . 2 matches
         어디서 모여? '''정 '''
         허아영 조현태 김상섭 남상협 이선호 나휘동 보창 김태훈 김민경 송수생 한유선
  • 2008리눅스스터디 . . . . 2 matches
          * 교재 : 이소의 엔터프라이즈 리눅스
         || 7/21(월) || 사용자 계정 관리([홍기]), 리눅스 파일 시스템([지원]) || [지원], [홍기], 윤석, 혁수 ||
  • 2010JavaScript/역전재판 . . . . 2 matches
          <span class='think'>(span 을 사용했음)</span><br>
          <span class='think'>(span 을 사용했음)</span><br>
  • 2011년독서모임/주제 . . . . 2 matches
         ||여행에 관련된 책||지도밖으로 행군하라, 서울여행사전, 나의 화유산 답사기, 동경오감 ||
         ||시험에 관한 이야기(7막 7장같이 노하우 같은건 제외)|| ||
  • 2011년돌아보기 . . . . 2 matches
          * 다음 회장은 조금 더 외부와 소통(?) 할 수 있었으면 좋겠다. 올해 내가 그런 걸 잘 못해서 아쉬웠기때에...
          * 내 성향때인지 조금 폐쇄적인 ZeroPage가 된듯....
  • 2012년독서모임 . . . . 2 matches
          * [권순의] - 오랜만에 시작하는군요. Fault Line은 보이지 않는 균열이 세계 경제를 위협한다는 내용으로 지표면에서 단층면이 접하는 선인 단층선이 Fault Line인데 그 곳에서 지진이 발생한다는 것 때에 따 왔다고 하더군요. 그래서 과거 시행했던 정책이나 여러 사건들을 통해 현재의 경제가 어떠한 상황에 이르게 되었는지에 대해서 서술한 책입니다. 사실 무지 재미 없습니다. -_- 읽은지 꽤 됬는데 눈에 잘 안 들어오고 하다 보니 아직도 다 못 읽었..
          * 이 주제를 보고 부끄럽게 느껴진다면 그것은 이런 주제라도 괜찮은 책이 있을거라는 생각까지는 가지 못했기 때이겠지요. ~_~ㅋ -[김태진]
  • 2thPCinCAUCSE/ProblemA/Solution/상욱 . . . . 2 matches
          continue;
          continue;
  • 3N+1Problem/김회영 . . . . 2 matches
         //1. 3n+1제 [[[[AOI스터디]]]]
          cout<<"숫자"<<n1<<"과"<<n2<<"사이의 최대 사이클길이는"<<max<<"입니다."<<endl;
  • 5인용C++스터디/마우스로그림그리기 . . . . 2 matches
         || 원명 || UploadZero:PaintApiMwm.zip || 잘했음. ||
         || 원명 || UploadZero:PaintMfcMwm.zip || 잘했음. ||
  • 5인용C++스터디/클래스상속 . . . . 2 matches
         == private 대신 protected를 사용이유 ==
         이에 protected키워들를 사용해서 현재클래스와 상속하는 클래스에게만 엑세스를 허용한다.
  • 5인용C++스터디/타이머 . . . . 2 matches
          * 타이머는 어떻게 사용하나?
          * 멀티미디어 타이머는 어떻게 사용하나?
  • AM . . . . 2 matches
          * 진행 방식 : 각자 정해진 분량을 공부하고 정모에 팀원들이 번갈아 가면서 공부한 내용을 세미나한다. 질답변하며 피드백하는 과정을 갖는다.
          * 참가자 :김회영 보창 곽세환 조재화 구자겸 이슬이 서영희
  • AM/20040720네번째모임 . . . . 2 matches
          * 발표자 : 보창
          * 참석자 : 이슬이 보창 곽세환 정택성 김회영
  • ATmega163 . . . . 2 matches
          * Makefile 사용
          * avr_gcc 사용법[[BR]]
  • AcceptanceTest . . . . 2 matches
         원 : http://extremeprogramming.org/rules/functionaltests.html
         AcceptanceTest는 자동으로 수행되어져야 하며, 또한 그렇기 때에 자주 실행될 수 있다. AcceptanceTest score는 개발팀에 의해 점수가 매겨진다. 매 Iteration에 대해 실패한 AcceptanceTest를 수정하기 위한 시간분배 스케줄에 대해서 또한 개발팀의 책임이다.
  • ActiveTemplateLibrary . . . . 2 matches
         //CComQIPtr 사용
         //일반적인 COM interface 사용
  • AdvancedJS . . . . 2 matches
          * 여름방학동안 JavaScript 스터디를 하는데 법 익히고 사용하는 건 혼자 공부하기 쉽지만 이런 내용은 혼자 알기 어려웠을 것 같다. 익숙한 다른 언어들이랑 다른 면이 많아서 흥미가 간다. - [김수경]
  • AdventuresInMoving:PartIV/문보창 . . . . 2 matches
          continue;
         [AdventuresInMoving:PartIV] [보창]
  • AnEasyProblem/정진경 . . . . 2 matches
          * 담제부턴 기억나면 체크해두도록 하지... 이건 기억이 안난다 아마 제해석부터 처음 Accept까지 30분 조금 안됐을거임. 코드 줄이는건 짬짬이 해서 잘 모르겠당 -[정진경]
  • Applet포함HTML/영동 . . . . 2 matches
         * 음... HTML 컨버터로 컨버트하긴 했는데 ftp사용법을 몰라서 계정에 올리는 법을 모르겠네요. 그러한 관계로, 상욱이처럼 파일 내용만 올릴게요. ftp쓰는 법 배워서 링크시킬게요... [http://165.194.17.15/pub/util/WinSCP2.exe WinSCP 2.0 Beta]
         음... 계정에 올린 다음 링크를 시켰는데 이상하게 안 되네요. 경로도 맞고 권한도 제 없을텐데...
  • ArsDigitaUniversity . . . . 2 matches
         학부생 수준의 전산 전공을 일년만에 마칠 수 있을까. 그런 대학이 있다(비록 지금은 펀드 제로 중단했지만). 인터넷계의 스타 필립 그리스펀과 그의 동료 MIT 교수들이 만든 학교 ArsDigitaUniversity다. (고로, Scheme과 함께 NoSmok:StructureAndInterpretationOfComputerPrograms 를 가르친다)
         자신의 전산학 지식을 전체적으로 정리하거나, 밑바닥부터 새로 공부하고 싶은 사람들에게 많은 참고가 된다 -- 모든 수업이 한 달이면 끝난다. ArsDigitaUniversity의 "하면서 배우는"(learn by doing) 교육 모델(날마다 구체적인 Problem Set이 주어지고 오전에 수업이 끝나면 오후에 Recitation을 하며, 매 주 NoSmok:교육적인시험 을 친다)도 흥미롭다. 모든 수업에 대해 VOD와 제, 해답, 수업 노트가 제공된다.
  • Athena . . . . 2 matches
          * Quntization 완성 & Look-Up Table 사용 쉽게 해놓았습니다. (1시간) - 재동
          * 정수 나눗셈에서 나머지버림때에 삽질(20분) - 명훈
  • AustralianVoting/문보창 . . . . 2 matches
         Presentation Error를 잡아야 한다. 수행시간과 메모리사용량 또한 만족할 만한 수준이 아니다.
         [AustralianVoting] [보창]
  • BeeMaja/조현태 . . . . 2 matches
          그냥 고등학교때 제 푸는 방식과 동일하다. 그러므로 특별한 설명이 필요 없을듯..
          cout << "0을 입력하면 종료됩니다. 윌리의 숫자를 입력하세요.\n>>";
  • Boost . . . . 2 matches
         Boost 는 자유롭게 사용할수 있는 C++ 라이브러리 이다.
          * ["Boost/SmartPointer"] : Boost 에서 제공되는 스마트 포인터 사용 방법
  • Boost/SmartPointer . . . . 2 matches
          * boost 라이브러리는 헤더 파일만이 존재한다. 모든 구현을 헤더 파일에 해 놓았기 때이다. 바로 필살 헤더와 구현 분리하기 귀잖어 기술....본인은 애용한다...
          * 표준 라이브러리에도 auto_ptr 이라고 같은 개념의 클래스가 있지만, 버그가 있다. -_-;; auto_ptr를 컨테이너에 집어넣으면 버그땜시 스스로 삭제가 안되 메모리가 새는 아주 심각한 제이다.
  • BoostLibrary . . . . 2 matches
         Boost 는 자유롭게 사용할수 있는 C++ 라이브러리 이다.
          * [BoostLibrary/SmartPointer] : Boost 에서 제공되는 스마트 포인터 사용 방법
  • BoostLibrary/SmartPointer . . . . 2 matches
          * boost 라이브러리는 헤더 파일만이 존재한다. 모든 구현을 헤더 파일에 해 놓았기 때이다. 바로 필살 헤더와 구현 분리하기 귀잖어 기술....본인은 애용한다...
          * 표준 라이브러리에도 auto_ptr 이라고 같은 개념의 클래스가 있지만, 버그가 있다. -_-;; auto_ptr를 컨테이너에 집어넣으면 버그땜시 스스로 삭제가 안되 메모리가 새는 아주 심각한 제이다.
  • BusSimulation/영창 . . . . 2 matches
         구현특이사항 : vector, map, algorithm 등 stl 클래스 사용
          * 각 역마다 사람이 증가하는 값을 다르게 정해야함. (시시각각에 다르게 적용되어야 하기 때에 적당한 범위 안에서 랜덤으로 처리해야한다.)
  • C++HowToProgram . . . . 2 matches
         Deitel 부자의 C++ 개론 서적. 대학에서 교재로 많이 사용한다.
         C++ 사용자 그룹에서는 "초보자에게 괜찮은 책"이라는 평가와 동시에 "형편없는 책"으로도 악명이 높다. see also [http://www.accu.org/bookreviews/public/reviews/cp/cp003204.htm ACCU review]
  • C++Seminar03 . . . . 2 matches
          1. 사회자 한명과 2인 1PC 또는 3인 1PC 로 PC 1대당 한조가 되어 PairProgramming 식으로 진행. 사회자는 간단한 개념을 설명하고 개념에 대한 실습(?) 또는 적용된 코드작성을 Pair 해본다. (이런식으로 진행할경우 장소에 제가 될 수도 있을것 같네요. 실습실 하나를 제로페이지가 점령할수도 없는 일이고..-_- 강의실에서 간단한 설명 -> PC 실로 이동.. 정도가 대안이 될까요? ) --["임인택"]
          - 써놓고 보니 바보같은 질이군요.. ^_^;;
  • C++Seminar03/SimpleCurriculum . . . . 2 matches
         [C++Seminar03]에서 진행하게 될 대강의 커리큘럼. 각 주에 하면 좋을것 같은 내용들을 간단하게 정리해둡니다. 페이지 크기가 커지면, 하위페이지로 [서구조조정]을 할 것입니다.
         커리큘럼을 꼭 03 모두에게 고정할 필요는 없을 꺼 같습니다. 조 비슷하게 나누어서 후배들 3 ~ 4명 정도에 선배들이 그 조에 1명 정도 붙고 선배들이 그 조에 알맞게 제를 내는게 좋을 꺼 같습니다. 물론 그 날 할 주제 정도는 정해도 괜찮겠지요. 이렇게 하면 좀 더 융통성 있게 공부할 수 있을 꺼 같습니다. --재동
  • C++스터디_2005여름/도서관리프로그램/문보창 . . . . 2 matches
         Book 클래스와 ManageBook 클래스로 나눠서 각자 맡은바 임무를 잘 해 주도록 일을 분담했다. 스터디 시간에 Null 포인터에 자꾸 노드를 삽입했기 때에 노드가 추가 되지 않았다. 그 전에도 그런 실수를 했는데 똑같은 실수를 반복하다니...
         우선 스터디 시간에 버벅대서 마무리 짓지 못한거 미안하게 생각합니다. 자신이 꼭 스스로 프로그램을 짜시고, 그런 후에 제 코드와 비교해 보시기 바랍니다. 저보다 여러분이 잘한 점, 혹은 제가 잘한 점이 무엇인지 생각해 보시기 바랍니다. 어떤게 더 확장성과 재사용성에 유리한지 곰곰히 생각해보세요.
  • C++스터디_2005여름/학점계산프로그램/허아영 . . . . 2 matches
         제 소스가 C++의 특징인 OOP를 사용하지 않은 껍데기 소스라고 보창오빠는 말하더군요 ㅠㅠ( 상처ㅡㅡ++++++ )
          void scholarship();//장학금, 학고 학생 출력,
  • C/Assembly/포인터와배열 . . . . 2 matches
         // 마지막 k변수는 index 주소를 사용해 메모리를 목사하고 있다.
         사람들이 엉뚱하게 생각하는 가장 쉽고도 어려운 제?
  • C99표준에추가된C언어의엄청좋은기능 . . . . 2 matches
          * 흐음... C에서 동적할당을 하기 위해서는 new나 malloc 정도의 키워드를 사용해야 하지 않나요?? 혹시.. 컴파일 옵션을 달리해야 하는??;; - [이승한]
          * 알아본 결과 C99에서 지원되는 것으로 표준이 맞으며, 단지 VS의 컴파일러가 C99를 완전히 만족시키지 않기 때이라고함. gcc도 3.0 이후버전부터 지원된 기능으로 variable-length array 이라고 부르는군요. (gcc는 C99발표이전부터 extension 의 형태로 지원을 하기는 했다고 합니다.) - [eternalbleu]
  • CNight2011 . . . . 2 matches
          * 왕고로서 C Night에 참여해서 학우들에게 도움도 주고 제가 모르는 것도 배우고 싶었는데 잘 되었는지 모르겠네요. 미리미리 이것저것 테스트 해보고 동적 메모리 할당에 대해 질한 학우들을 보고 11학번 역시 수준이 높구나 생각이 들었습니다. 다음에는 다른 컨텐츠로 밤샘투어 해보고 싶어요 ㅋㅋ - [지원]
          * C언어의 포인터, 구조체에 대해서 다시 잘 정리했던 기회였습니다. 밤을 새면서 정신은 제 곁을 떠났지만 C언어 법에 대해서 잘 알게되었습니다. 11학번이 얻어가는 것이 있는지 궁금하네요. - [윤종하]
  • CPPStudy_2005_1/STL성적처리_2 . . . . 2 matches
         쩝.. -_-;; map 을 써봐야한다는 강박관념때에 쓰기는 했는데.. -_-;; spec에 sort가있었다. ;; 아무래도 다시 짜는게 더 나을 것 같다.
          * 다른 컨테이너와 기본적인 DS의 골격가 다르기 때에 치환정도로는 DS의 변경이 안된다.
  • CSS . . . . 2 matches
         HTML과 CSS를 분리한 웹페이지야말로, 사용자 측면에서도 개발자 및 디자이너 측면에서도 바람직하다. 웹접근성 뿐 아니라, 유지보수 관점에서도 제대로 된 구조화가 이루어져야 한다고 생각해요. - [(kiryu)]
         [http://trio.co.kr/] - CSS, HTML, XHTML 등의 W3C 규격서들을 번역한 사이트입니다.
  • CarmichaelNumbers/문보창 . . . . 2 matches
         Carmichael Numbers를 찾는 Theorem이 있는 듯하다. 그러나 때려맞추기(?)로 제를 풀어도 풀린다. 그러나 속도는 떨어진다.
          continue;
  • CategoryCategory . . . . 2 matches
         위키위키에서 분류를 지정하는데 Category를 보통 사용합니다. 위키위키의 분류는 [역링크]를 통해서 구현됩니다.
         OriginalWiki와 일관적으로 만드려면 모든 분류는 "Category"로 시작하도록 지정해야 합니다. 물론 다른 방식으로 이름을 붙여도 제되지 않습니다.
  • Class . . . . 2 matches
          - 수분 : 해수에서 '염분'을 제외한 나머지 순수한 '수분'이라는 객체.
          화합물들은 서로간에 더이상 영향을 주지 않는 상태로 안정화하기 때
  • Code/RPGMaker . . . . 2 matches
          알만툴에서 사용하는 Color 클래스이다.
          루비의 Color와 자바의 Color이 이름이 같기 때에 자바의 Color을 임시 모듈에 담아 모호성을 해결하였다.
  • CollectionParameter . . . . 2 matches
         ComposedMethod의 단점중 하나는, 작은 메소드들 사이의 연관때이다. 큰 메소드 하나에서 공유되었던 임시 변수들이, 이제는 작은 메소드들 사이에 공유된다. 가장 해결하기 쉬운 방법은 ComposedMethod를 없애고 다시 하나의 큰 메소드에 다 때려넣는 것이지만, 안좋다. 또 다른 해결책으로는 이 작은 메소드들 사이에서 공유되는 임시 변수를 멤버변수에 넣는 것이다. 이것은 객체의 생명기간 동안 유효한게 아니라, 저 메소드들이 실행될때에만 유효하다. 역시 안좋다.
         즉, 두 메소드의 결과를 모으는 경우인데, 그리 흔한 경우는 아니였던걸로 기억. 약간은 다르긴 하지만 나의 경우 CollectionParameter 의 성격으로 필요한 경우가 read/write 등 I/O 가 내부적으로 필요할때 또는 Serialization 등의 일이 필요할때. 그 경우 I/O 부분은 Stream 클래스로 만들고(C++ 의 Stream 을 쓰던지 또는 직접 Stream 클래스 만들어 쓰던지) parameter 로 넘겨주고 그 파라메터의 메소드를 사용하는 형태였음. --[1002]
  • CompleteTreeLabeling/조현태 . . . . 2 matches
          나름대로 줄이긴 했지만.. 애초에 제가 나빳던 거얏!!ㅠ.ㅜ
          일단 임시로 만든 소스를 올렸다. 현재 연산에서는 제가 없으나 3*2를 넘어가면 연산속도가 눈에띄게 저하된다.
  • ComputerNetworkClass . . . . 2 matches
         기존의 데이터 통신이 DL, PHY 에 집중하여 공부한 측면이 강했다면, 이 과목은 실제 Programmer 가 실무에서 많이 사용하게될 기술인 TCP, UDP, RTP 및 socket, rpc 에 대한 전반적인 내용을 다룬다.
         수업을 듣기전에 TCP/IP socket programming 에 대한 입서를 보고 듣기를 권하며, 수업의 진도를 따라가면서 TCP/IP 서적을 다시 한번 보거나 중급서적을 읽기 시작하면 아주 도움이 많이 될 것이라 생각한다.
  • ComputerNetworkClass/Exam2006_1 . . . . 2 matches
          각 방식에서 사용하게 되는 멀티캐스팅방식에 대한 간단한 약술
         4. TCP 버프를 이용한 flow control 관련 제들.
  • ComputerNetworkClass/Report2006/PacketAnalyzer . . . . 2 matches
         네트워크의 3번째 프로젝트를 하기위해서는 SIO_RCVALL 라는 옵션을 설정하여 사용할 줄 알아야한다. 유사한 옵션으로는
         ※ 윈도우 소켓 프로그래밍을 위해서는 윈속 라이브러리를 같이 linking 해야하며, WSActrl 을 사용하기 위해서는 winsock2 라이브러리인 ws2_32.lib 를 포함해야한다.
  • ContestScoreBoard/허아영 . . . . 2 matches
          int temp_team_num, q_num, q_index[MAX_OF_TEAM_NUM]; // 제 푼 index
          team_data[temp_team_num][q_index[temp_team_num]] = q_num; // 제번호 넣기
  • Cracking/ReverseEngineering/개발자/Software/ . . . . 2 matches
         (윈도우즈 시스템 커널이 하는 일등을 배울 수 있으며 그것을 이용해 나쁘게 사용하든 좋게 사용하든 도움이 많이 되는 책이다. Windows에 Base를 둔 Software 개발자로서는 꼭 읽어야할 책.)
  • CssMarket . . . . 2 matches
         CSS 로 다음을 사용해 보세요. UploadFile 에 저장되어 있습니다.
         외부에서 사용하시기 위해서는 앞에 http://zeropage.org/pub/upload/hirenn.css 같이 해주세요.
  • CxxTest . . . . 2 matches
         C++ 의 경우는 언어차원에서의 리플랙션을 지원하지 않기 때에 테스트를 추가하는 부분이 자바나 파이썬 등에 비해 상당히 귀찮다. 그에 대한 대안으로 [CUT] 등의 C UnitTestFramework 의 경우 외부에서 Perl 등으로 작성한 스크립트언어로 테스트실행과 관련한 Runner 를 코드제너레이팅하는 방법을 쓰고 있다.
         [1002]의 경우 요새 CxxUnit 을 사용중. 밑의 스크립트를 Visual Studio 의 Tools(일종의 External Tools)에 연결시켜놓고 쓴다. Tool 을 실행하여 코드제너레이팅 한뒤, 컴파일. (cxxtestgen.py 는 CxxTest 안에 있다.) 화일 이름이 Test 로 끝나는 화일들을 등록해준다.
  • C언어정복/3월30일 . . . . 2 matches
         13. for 사용 방법 (실습 : 1~10까지 덧셈)
  • DataStructure/Graph . . . . 2 matches
          * 사용하는 메모리의 양 ( n개의 Vertices, e개의 Edges )
          * dist[w] : v0에서 출발하여 w까지의 Shortest Path의 값. 단 w를 제외하고는 S집합내에 있는 Vertex들만 거쳐야 한다.
  • DataStructure/Queue . . . . 2 matches
          * 자판기를 생각하면 되겟죠? 먼저 선 사람이 먼저 나가니..(새-_-치기 제외)
          * 그런데.. 이 큐는 제점이 있습니다.
  • DatabaseManagementSystem . . . . 2 matches
         DBMS라는 것은 DB를 다루기위해서 만들어진 프로그램이다. 이것은 다수의 사용자가 요청한 정보를 처리합니다. 원래 대용량의 데이터를 다루기위해서 만들어진 컴퓨터때에 만들어진 것으로 DBMS는 컴퓨터의 back-end 프로그램의 표준화된 일부로서 완전히 통합되었다.
  • DebuggingSeminar_2005 . . . . 2 matches
          || [DebuggingSeminar_2005/UndName] || UndName 사용법 ||
          || [DebuggingSeminar_2005/AutoExp.dat] || VC IDE의 Watch 윈도우에 사용자 데이터형의 표현형을 추가하는 파일 ||
  • DebuggingSeminar_2005/UndName . . . . 2 matches
         DLL 파일에 의해서 분석된 내용을 보면 DLL 에 함수의 이름이 이상하게(?) 변형되어 있는것을 확인하실 수 있는데(DUMPBIN.EXE 를 통해서 가능합니다.) 이 이름의 원형을 알고 싶을때가 있습니다. 그럴때 undname.exe 라는 파일을 사용하시면 아주 쉽게 확인해 보실 수 있습니다.
         == 본 ==
  • DevCppInstallationGuide . . . . 2 matches
         == 05를 위한 간단한 Dev 사용법 ==
         == 질 및 조언 ==
  • DoubleDispatch . . . . 2 matches
         Integer라는 클래스와 Float라는 클래스가 있다. 두 객체 간의 덧셈을 구현하고 싶다. 몇개를 구현해야할까? 4개다. 즉, Integer + Integer, Float + Float, Integer + Float, Float + Integer이렇게 말이다. 이를 해결하기 위한 절차적 방법은 모든 상황을 거대한 case 구에 넣는 것이다. 이것은 한군데에다가 로직을 다 넣을 수 있다는 장점이 있음에도 불구하고, 유지보수가 어렵다.
         argument에 메세지를 보내라. selector에다가 receiver의 클래스 네임을 덧붙인다. receiver를 argument로 넘긴다. 이 패턴을 사용한 후의 Integer, Float 코드는 다음과 같다.
  • Doublets/황재선 . . . . 2 matches
          // (바로 전에 거쳤던 곳) continue
          continue;
  • EcologicalBinPacking/황재선 . . . . 2 matches
          continue;
          continue;
  • EightQueenProblem/정수민 . . . . 2 matches
         - 이걸론;; 두번째 제를 수행하기에 에로사항이 꼽히는군요 -_-;; .................결국 못풀었슴미다. ㅠㅠ
         // EightQueenProblem 이라는 제를 풀이한 소스코드 //
  • EnglishSpeaking/TheSimpsons/S01E01 . . . . 2 matches
          * 크리스마스를 즐겁게 보내는 옆집 플랜더스네 가족들, 심슨네 가족들도 나름의 크리스마스를 보내려고 한다. 반면 심슨네 가족은 호머의 회사에서 크리스마스 보너스가 지급되지 않게 되고 크리스마스 때 쓰기 위해 모아놨던 저금통도 바트가 팔에 허락없이 신을 해버리는 바람에 이를 지우기 위한 시술비로 전부 날려버린다. 호머는 모를 통해 알게 된 산타클로스 아르바이트를 하지만 받게 되는 급료는 겨우 13달러. 호머와 바트는 바니를 통해 알게된 경구장에서 '산타의 작은 도우미'라는 개에게 13달러를 모두 걸지만 꼴찌를 하고 돈을 잃는다. 그 대신 경구장에서 아예 쫓겨나 버린 '산타의 작은 도우미'를 크리스마스 선물로 집에 데려간다.
          * 내용 : 바트가 허락 없이 신을 해버리는 바람에 병원에 가서 모아둔 현금을 다 써버린다. 호머는 이 사실을 알고 차마 보너스를 받지 못했다고 말하지 못함.
  • EnglishSpeaking/TheSimpsons/S01E04 . . . . 2 matches
          * 호머는 가족들을 데리고 번즈 사장의 집에서 열리는 (의무적으로) 회사 연회에 참가한다. 번즈 사장은 화목해보이지 않는 가족은 해고해버리려고 하고 호머는 번즈 사장 앞에서 가족들이 화목한 '척'을 하려고 한다. 하지만 바트와 리사는 사고를 치고, 마지는 펀치를 마시다가 술에 취해버린다. 호머는 바트에게 5달러를 주고 뽀뽀를 받는 등 부자연스러운 연기를 하는 반면 진실되게 서로를 존중해주는 다른 가족들을 보며 자신의 가족에 제가 있음을 알고 실의에 빠진다. 모의 술집에서 고민하던 호머는 TV 광고를 보고 마빈 몬로 박사의 가족 치료 센터에서 이 제를 해결하고자 가족들을 데리고 간다. 하지만 호머를 비롯한 가족들은 어째 몬로 박사의 다양한 치료법들이 모두 역효과를 불러 일으킨다. 하지만 만족하지 못하면 2배 가격으로 환불해줘야 하는 치료 센터의 규정 덕택에 심슨 가족들은 오히려 돈을 벌게 되고 이로 인해 가족들에게 행복(?)이 찾아온다.
  • Euclid'sGame/강소현 . . . . 2 matches
          * 왜 중간단계로 [11 7]이 나오는 지 이해가 안 갔었다. 베스킨라빈스31 게임처럼 숫자를 자유롭게 부르되 이기려면 절대적으로 불러야하는 숫자가 있는 것처럼, 이 것도 처음 시작하는 사람이 이기려고 일부러 덜 뺀 거였다 ㄷㄷ
  • ExplicitInitialization . . . . 2 matches
         초기화에 대해서는 딱히 정해진 좋은 방법이 없다.(상황에 따라 택일해서 쓰라는 말) 이 패턴은 유연성보다는 가독성을 중시한다. 모든 초기화를 하나의 메소드에 때려넣는 방법이다. 유연성은 떨어질 수 밖에 없다. 변수 하나 추가하자면 ExplicitInitialization 메소드를 수정해야만 한다는 것을 기억하고 있어야 하기 때이다. ExplicitInitialization은 LazyInitialization보다 비용이 많이 든다. 모든 변수를 인스턴스가 생성될때 초기화 하기 때이다.
  • ExploringWorld/20040506-무제 . . . . 2 matches
          * 한 자격증 시험은 집중이 잘됨 -> 보고 또보자 잘 외워 진다.
          * 이런 유형의 제를 풀기, Algorithm 관련 서적을 보기
  • ExploringWorld/참고링크 . . . . 2 matches
          http://www.debianusers.org - 한국 데비안 사용자 모임
          http://kldp.org - 리눅스
  • ExtremeBear/OdeloProject . . . . 2 matches
          * gui사용(swing)
          * 내일은 간단한 제로 호흡을 마추어 보도록한다.
  • ExtremeBear/VideoShop/20021106 . . . . 2 matches
          * 오늘은 삽질 때에 효율이 없었다.
          * Date Class 사용법을 알게 되었다.
  • Factorial/영동 . . . . 2 matches
         /*여기에 if 을 넣어서 1이 되는 숫자를 마지막에 곱해줄수 있어야 되요
  • Factorial2 . . . . 2 matches
         == 제 ==
         ["제분류"]
  • FactorialFactors/조현태 . . . . 2 matches
          cout << "2-1000000사이의 숫자를 입력해주세요.조건에 맞지않는 숫자를 입력하면 종료됩니다.\n";
  • FileStructureClass . . . . 2 matches
         강현철 교수님에게 인상적인 부분이 있다고 한다면, 중간에 질을 던지신 뒤 학생들이 답했을때의 자세이시랄까. 그럴때 바로 '틀렸다' 라고 이야기하지 않는다. "만일 자네의 의견이 맞다면, 어떻게 이 부분을 전개한것인지 말해보게." 식으로 논리과정을 서술하게끔 다시 질하신다. --[1002]
  • FortuneMacro . . . . 2 matches
         == 사용예 ==
         Fortune 매크로는 fortune파일의 인덱스를 직접 읽어들여 사용하므로 FortuneCookies를 읽어들이는 RandomQuoteMacro보다 매우 빠릅니다. :)
  • GDBUsage . . . . 2 matches
         == continue ==
         [http://kldp.org/node/71806 KLDP:GDB 잘 쓰기]라는 글 에도 사용법이 쉽게 정리 되어 있습니다.
  • GDG . . . . 2 matches
          * 동아리 주관 행사 때 GDG와 동아리명 공동 병기 가능. (지난 의에 대한 답변 중)
          * Google의 네임벨류를 사용할 수 있음
  • GameProgrammingGems . . . . 2 matches
         이 책의 저자는 수십 명이다. 10명 정도는 알고 있어도 수십 명이 지은 책은 처음 일 것이다.... 나도 그렇다 ^_^; 이 책은 수십 명의 게임 프로그래머들이 자신의 노하우를 적어놓은 책이라고 하는 편이 정확하다. 즉 정보의 공유를 주장하면서 만든 책이 된다. 물론 자신이 열심히 만든 소스를 그냥 공개하자~ 라는 것은 아니다(그래주면 고맙겠다 -.-) 허나 자신은 어떤 알고리즘으로 구현했다던가, 혹은 VC++과 다이렉트 엑스를 사용할 때는 어떻게 하면 어떤 환경에서 구현하면 좋다던가 하는 건 알려주면 고맙겠지? 이 책은 그런 목적으로 쓰여진 책이 되겠다.
         물론 책 다보기다 -.- 그러나 그걸로는 조금 부족하고.... 상걸고 게임 대 잔치(.... 이미 한게임에서 하고 있다 -_-)등에 출전하여 당당하게 상 따보자.... 라는 것이다.... -_-; 현재 필자는 직업을 가져서 조금 힘들지 모르지만 .... 필자가 이르노니 해보고 후회하는 게 낫기 때에.... 이런 미친 프로젝트를 계획하고 있다. -_-V
  • Gof/Adapter . . . . 2 matches
          * 이미 만들어져 있는 클래스를 사용하고 싶지만, 인터페이스가 원하는 방식과 일치하지 않을때.
          * 관련성이 없거나, 예측하지 못한 클래스들과 협동하는 재사용가능한 클래스를 생성하기 원할때. 이 경우 클래스들이 호환성을 가지는 인터페이스를 필요로 하지 않는다.
  • Gof/Visitor . . . . 2 matches
         이 다이어그램은 Node class 계층구조의 일부분을 보여준다. 여기서의 제는 다양한 node class들에 있는 이러한 operation들의 분산은 시스템으로 하여금 이해하기 어렵고, 유지하거나 코드를 바꾸기 힘들게 한다. Node 에 type-checking 코드가 pretty-printing code나 flow analysis code들과 섞여 있는 것은 혼란스럽다. 게다가 새로운 operation을 추가하기 위해서는 일반적으로 이 클래스들을 재컴파일해야 한다. 만일 각각의 새 operation이 독립적으로 추가될 수 있고, 이 node class들이 operation들에 대해 독립적이라면 더욱 좋을 것이다.
         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들을 캡슐화한다.
  • HanoiProblem/영동 . . . . 2 matches
          mov bx, 10 ;Writeint사용시에 10진수 출력
          mov ax, by ;by와 to의 위치를 바꿔줌.(ax를 temp로 사용)
  • HanoiTowerTroublesAgain!/이도현 . . . . 2 matches
         ==== 제 ====
         하노이 타워라고 보기는 좀 그런 제다.
  • HardcoreCppStudy/첫숙제/Overloading/임민수 . . . . 2 matches
         함수의 이름은 같게 하되 전달인자들의 개수나 형식에 따라 다르게 사용될 수 있도록 정의하는것을 말함..
         즉.. 영어의 한 단어의 뜻이 맥상황에 따라 다르게 해석되는것을 뜻함
  • HaskellLanguage . . . . 2 matches
         이전 [프로그래밍잔치] 때 사용했었던 [FunctionalLanguage].
          * [http://pub.hal3.name/daume02yaht.pdf Yet another haskell tutorial] : Haskell 입시에 도움이 된다.
  • HelloWorld . . . . 2 matches
         '''Hello, World!''' 라는 자열을 출력하는 프로그램은 대부분의 언어를 배우는 첫걸음이 되어준다.
         누가 제일 처음 HelloWorld 를 만들었을까. 어떻게 모든 언어의 입서에 빠지지 않는 예제가 된것일까.
  • HelpOnProcessors . . . . 2 matches
         다음과 같이 코드 블럭 영역 최 상단에 {{{#!}}}로 시작하는 프로세서 이름을 써 넣으면, 예를 들어 {{{#!python}}}이라고 하면 그 코드블럭 영역은 {{{plugin/processor/python.php}}}에 정의된 processor_python()이라는 모니위키의 플러그인에 의해 처리되게 됩니다. {{{#!python}}}은 유닉스의 스크립트 해석기를 지정하는 이른바 ''bang path'' 지정자 형식과 같으며, 유닉스에서 사용하는 목적과 동일한 컨셉트로 작동됩니다. (즉, 스크립트의 최 상단에 지정된 스크립트 지정자에 의해 스크립트의 파일 나머지 부분이 해석되어 집니다.)
         프로세서중에 특별히 코드 블럭의 법을 강조해주는 코드 컬러링 기능을 가진 프로세서를 가리켜 CodeColoringProcessor라고 불리입니다.
  • HereAndNow . . . . 2 matches
         JeYong군이 들려준 이야기가 있습니다. 회사에 처음 입사했을 때 이미 몇 년 정도 회사를 다닌 사람이 이런 얘기를 하더랍니다. '이 회사는 정말 제가 있는 회사이고 사장은 정말 골 때리는 사람이고, 일은 미래가 없고...' 업무를 하다가도 툭하면 JeYong군을 불러내서는 커피를 마시거나 담배를 피면서 사장 욕을 하며, "내가 정말 이 회사 때려친다", "너는 이 회사 왜 들어왔냐" 등의 이야기를 했다고 합니다. 수 년 뒤 JeYong 군이 그 회사를 그만둘 때까지 그 사람은 똑같은 불평을 하고 있었다고 합니다.
          해도 성과가 안나타나기 때에 생각이 잘 안들지만, 역시 튼튼한 기반이 중요하니 해야할것 같아요.^^
  • HowManyOpenSourceSoftwaresDoYouUse . . . . 2 matches
         얼마나 많은 OpenSource 소프트웨어를 이용하십니까? (참고로, OpenSource와 FreeWare는 다른 개념입니다.). [숫자증가식투표패턴]을 사용합니다.
  • HowManyPiecesOfLand?/문보창 . . . . 2 matches
         이론상으론 O(1) 시간만에 되겠지만 제는 입력범위가 2 <sup>31</sup> - 1 까지 들어올 수 있기 때에 고정도 연산을 수행해야 한다. GNU C++ 이나 Java는 고정도 연산을 수행할 수 있는 클래스를 포함하고 있으나, 윈도우 C++에는 없다(혹, 내가 못찾는 것일수도 있다). 따라서 고정도 연산을 수행할 수 있는 클래스를 짰다. 성능이 너무 떨어진다. O(1) 을 O(n<sup>5</sup>) 정도로 바꿔 놓은 듯한 느낌이다. 이 Class를 개선한뒤 다시 테스트 해봐야 겠다.
  • HowManyZerosAndDigits/문보창 . . . . 2 matches
         시간제한이 1분짜리 제다. Digits의 개수를 세는 것은 로그를 이용하면 간단히 해결되나, Zeros의 개수를 세는 방법이 딱히 떠오르지 않는다.
         [HowManyZerosAndDigits] [보창]
  • HowToStudyRefactoring . . . . 2 matches
         OOP를 하든 안하든 프로그래밍이란 업을 하는 사람이라면 이 책은 자신의 공력을 서너 단계 레벨업시켜 줄 수 있다. 자질구레한 기술을 익히는 것이 아니고 기감과 내공을 증강하는 것이다. 혹자는 DesignPatterns 이전에 ["Refactoring"]을 봐야 한다고도 한다. 이 말이 어느 정도 일리가 있는 것이, 효과적인 학습은 제 의식이 선행되어야 하기 때이다. DesignPatterns는 거시적 차원에서 해결안들을 모아놓은 것이다. ["Refactoring"]을 보고 나쁜 냄새(Bad Smell)를 맡을 수 있는 후각을 발달시켜야 한다. ["Refactoring"]의 목록을 모두 외우는 것은 큰 의미가 없다. 그것보다 냄새나는 코드를 느낄 수 있는 감수성을 키우는 것이 더 중요하다. 본인은 일주일에 한 가지씩 나쁜 냄새를 정해놓고 그 기간 동안에는 자신이 접하는 모든 코드에서 그 냄새만이라도 확실히 맡도록 집중하는 방법을 권한다. 일명 ["일취집중후각법"]. 패턴 개념을 만든 건축가 크리스토퍼 알렉산더나 GoF의 랄프 존슨은 좋은 디자인이란 나쁜 것이 없는 상태라고 한다. 무색 무미 무취의 無爲적 自然 코드가 되는 그날을 위해 오늘도 우리는 리팩토링이라는 有爲를 익힌다. -- 김창준, ''마이크로소프트웨어 2001년 11월호''
  • IDL . . . . 2 matches
         물론, 인터페이스를 정의하는 방법이 IDL 만 있는 것은 아니다. [Visibroker] 의 경우 [Caffeine] 이라는 것을 이용하면 IDL 을 사용하지 않아도 되며, Java 의 RMI 나 RMI-IIOP 를 이용해면 IDL 을 몰라도 인터페이스를 정의할 수 있다. 하지만, IDL 은 OMG에서 규정하고 있는 인터페이스 정의 언어의 표준이고 개발자가 익히기에 어렵지 않은 만큼 CORBA 프로그램을 할 때는 꼭 IDL 을 사용하도록 하자.
  • InformationStandardizationClass/Exam2006_1 . . . . 2 matches
         === 제 ===
         3. 표준 제정 절차 과정에 쓰이는 서의 양식과 투표 기한을 쓰시오.
  • JSP . . . . 2 matches
         ->servlet 변환 -> "쓰레드" 생성 -> 사용자에게 리턴 -> (사용자) -> 웹 브라우저
  • JTDStudy . . . . 2 matches
          * 03학번 - [원명] ★☆☆☆☆☆☆☆☆☆
          * 이 스터디 시작은 어느 수준부터 하나요? 기본적인 java부터라면 같이 ㅋㅋ - [원명]
  • JUnit . . . . 2 matches
         참고로 저는 다음과 같이 배치화일을 만들어서 사용합니다. (주로 ViImproved 에서 Java 코딩을 하는 관계로)
         === 질 ===
  • Java/스레드재사용 . . . . 2 matches
         아래 코드에 제가 있는것 같아요. 분명 두개의 메소드가 같아보이는데 (주석처리된 run() 메소드와 run() 메소드) 한개만 되고 나머지 한개는 에러가 납니다(unreachable statement) - 임인택
         만약 그러면.. 무한루프때메.. wait..어쩌구 함수에 도달 못해서.. '도달할수없는 장' 이라는 에러가 나는것이 아닐까..??? (._.);
  • JavaScript/2011년스터디/윤종하 . . . . 2 matches
         scope 제 때에 소스가 잘 작동하지 않는거 같기도하고 헷갈려요;;
  • JavaStudy2002/입출력관련문제 . . . . 2 matches
          * 여러분이 어려워하시는것 같아, 입력 부분을 만들었습니다. 해당 static method의 기능은 한줄을 읽고, 공백이나, 탭을 기준으로 배열을 반환합니다. 사용 방법은 해당 함수의 main 을 참고하시고, 다른 소스에서 import해서 그냥 사용하세요. --["neocoin"]
  • JavaStudy2003/두번째과제 . . . . 2 matches
          * 이번 과제의 목표는 '''"자바와 친해지기"''' 입니다. 저번 수업에서 간단히 자바의 OOP법을 설명해 드렸는데요. 그 밖의 소스나 아니면 참고자료, 책 등을 사용해서 간단한 프로그램을 만들도록 하겠습니다.
  • JavaStudy2003/두번째수업 . . . . 2 matches
          * 자바 기초 법을 배워 보도록 합시다. (두번째)
          * 앞으로 이런식의 튜토리얼을 3번정도 더 만들어볼까 합니다. 제가 임의로 만든 것이기 때에 보고서 좀 어렵다 싶은 부분 있으면 바로바로 말해 주세요. -[상욱]
  • JavaStudy2004 . . . . 2 matches
          * 추천도서 - Java HowToProgram - Deitel사. 2학년 전공 JavaProgrammingClass에서 교재로 사용하는 책. 간단하고 쉽다. 자바를 처음 시작하는 이에게 추천도서
          * 요새 난 영국 유학생 1학년 대상으로 자바 과외하는데... Pair로 하니까 금방 따라오더라. 내가 먼저 시범을 보이고 그것을 약간 응용한 것을 해보라고 한다. Pair 바꾸는 시간은 약 5~7분. 내가 시범 보이면서 말로 설명도 해야하기 때에 그정도가 적당. 보통 설명할 때는 펜으로 종이에 그림으로 하고. --재동
  • JollyJumpers/곽세환 . . . . 2 matches
         JollyJumpers 제풀이
         제이해에 많은 시간이 걸림
  • JollyJumpers/황재선 . . . . 2 matches
          continue;
         1. {{{~cpp TreeSet}}} 을 사용했다. sort에 log(n)이 소요된다.
  • Jython . . . . 2 matches
         = encoding 제 =
          * 아래와 같이 하면 한글을 제대로 받을 수 있다. 나는 파이썬에 있는 디코드, 인코드 함수를 사용하려고 했는데 잘 되지 않았고, 생각을 바꿔서 자바에 있는 인코드, 디코드 방법을 썼다.
  • LIB_4 . . . . 2 matches
         비슷하게 때이다. 그래서 중요코드를 보면 그렇게 많지 않다..거기다 U_C_OS-I에서 U_C_OS_II로 가는 도중의
         호환성 때에 많은 주석이 더 필요했졌다...암튼 그래서..내 코드는 짧다....
  • LUA_6 . . . . 2 matches
          메타 테이블은 루아에서 테이블을 사용하는 연산자 재정의? 또는 python을 예로 들면 __add__, __sub__ 와 같은 함수라고 볼 수 있습니다. 테이블을 함수가 아닌 연산자로 조작 할 수 있게끔 해 줍니다.
         콜론이 ":" 이 함수에서 사용 될 경우는 함수의 파라미터로 self를 생략하게 할 수 있습니다.
  • LexAndYacc . . . . 2 matches
          * 장을 입력해서 장의 각 단어들을 명사 , 동사 , 등으로 나누어 주는 Simple Recognizer 입니다
  • LinkedList/학생관리프로그램 . . . . 2 matches
         -student 구조체 사용(dept, name, num(1~20)
         -기능(콘솔에서 사용자 입력 원소 삽입
  • Lotto/김태진 . . . . 2 matches
          * 밑에 코드가 살짝 더러운것이 마음에 들지는 않지만...... accept이기 때에 그거슨 제가 안됨.
  • MFC Study 2006 . . . . 2 matches
         C++ 법을 먼저 알아보세요~~
          * 전에 배웠던 식으로 자신이 표현하고 싶은 주제를 선택해서 Class와 Object로 표현해 보세요. 법, 코드 등 코딩에 필요한 무엇도 필요없습니다. 설계에는 정답이 없다고 말한거 기억하시죠?^^; -[상욱]
  • MFC/Socket . . . . 2 matches
         === 만든 클래스를 사용하는 부분 ===
         서버에 MFC의 CSocket을 쓰는 것은 그리 바람직해보이지 않네요. 상대적으로 사용하기 좀 어렵겠지만 CAsyncSocket을 써보도록 하세요. (개인적으로는 이것도 별로 추천하지 않습니다. 하지만 MSN이나 네이트온처럼 대형 메신저를 만드는게 아니니까 CAsyncSocket으로도 충분해 보이네요.) 기회가 된다면 MFC Socket말고 Winsock으로 코딩해보세요. --[인수]
  • Map/임영동 . . . . 2 matches
         //벡터, 맵 사용 예제
          //해석할 장을 선언
  • Map연습문제/임영동 . . . . 2 matches
         //벡터, 맵 사용 예제
          //해석할 장을 선언
  • Marbles/이동현 . . . . 2 matches
         일종의 산수제 같기도 하고,
          //이는 (n2*n1+r)%n2 == r%n2가 되기 때에 roop=n2이후부터는 이전것의 순환이 된다.
  • MemoryUsageInJava . . . . 2 matches
         자바로 작성된 프로그램에서 사용된 메모리 크기 측정. 외부에서 import 된 모듈에서 사용하는 메모리도 측정되는지는 잘..-_-a
  • MineSweeper/Leonardong . . . . 2 matches
         작은 단계를 밟아가면서 TDD를 적용하다 보니까 시간이 많이 걸렸다. 게다가 모르는 파이선 법 찾는데도 시간이 걸렸다. 파이선의 새로운 기능을 알게 되어 신기하다. 다음 제를 풀어볼까나. --[Leonardong]
  • MineSweeper/신재동 . . . . 2 matches
          continue;
         cin.get()으로 개행자(\n)를 먹어야 하는 걸 깜박해서 계속 입력과 다른 출력이 나와 상당히 삽질... --재동
  • MobileJavaStudy . . . . 2 matches
          * 그려 XP 스터디 때에 좀 힘들꺼 같으니까 우선은 종료하자. 담에는 스터디가 아닌 프로젝트 페이지로 열자꾸나 --재동
          * 창섭인 공연때에 뒤쳐지다가 결국 계속 한다면 혼자 하게 되는구나...-,-;;;; --재동
  • MoreMFC . . . . 2 matches
         그럼.. to be continue.. [[BR]]
         떡하니 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]]
  • MySQL/PasswordFunctionInJava . . . . 2 matches
         // JDK 1.5 이상에서 동작. (String.format 함수 때에)
          if(aStr.charAt(i) == ' ' || aStr.charAt(i) == '\t') continue; /* skipp space in password */
  • MySQL/root암호분실시 . . . . 2 matches
         == 2. 두번째 방법 (첫번째 방법으로 안될때만 사용하세요.) ==
         # 데몬을 모두 죽임, 데몬을 죽이지 않으면 기존에 설정된 암호 때에 mysql 서버에 접근 할 수 없습니다.
  • NSISIde . . . . 2 matches
          * 하지만, View/Document 구조가 한편으로는 방해물이.. 이미 디자인이 되어버린 Framework 의 경우 어떻게 적용을 시켜나가야 할까. 일단 주로 알고리즘과 관련된 부분에 대해 Test Code를 만들게 되었다. 계속 생각해봐야 할 제일 것이다.
          * AcceptanceTest 를 중간에 짤 시간을 할당하지 못했다. (솔직히 GUI 부분이 들어가는 부분에 대해 감이 오질 않았다. 전에 Web Programming 때에는 직접 HTTP Protocol을 이용, 웹서버로부터 받아온 HTML 서를 Parsing 한 뒤 그 결과에 대해 Test Code를 작성하는 식이였는데.. (그래도 Manual Test 목록이라도 작성해 두었어야 했는데 이건 계획단계의 실수라 생각)
  • NumberBaseballGame/재니 . . . . 2 matches
          cout << "숫자 야구 게임입니다.\n";
          continue;
  • OOP . . . . 2 matches
          * [Implementation](구현 : 인간의 개념 속에 존재하는 생각과 사상 등을 실제 물리적인 객체로 구성하는 일련의 작업. 예를 들어 새로운 구조의 컴퓨터 시스템을 만들어 내는 작업과 설계 과정을 거쳐서 전달된 내용을 실제 프로그램으로 구성하여 컴퓨터에서 사용할 수 있도록 하는 작업 등이 모두 구현 작업의 한 가지에 해당된다고 할 수 있다. : 정보화사 컴퓨터 용어사전 발췌)
  • ObjectOrientedDatabaseManagementSystem . . . . 2 matches
         Malcolm Atkinson을 비롯한 여러 사람들이 그들의 영향력 있는 논인 The Object-Oriented Database Manifesto에서, OODBMS에 대해 다음과 같이 정의하였다.
         이 논은 이러한 각 특질들에 관해 자세히 설명하고 있다.
  • ObjectProgrammingInC . . . . 2 matches
         attrib을 찍는다는 제를 주셨는데... attrib가 private라 가정하고, 따라서 method1의 함수가 구조체(클래스)의 attrib을 고친다는 뜻으로 판단하고 생각해본다면... C++의 this란 예약어가 없다면 C언어에서 C++과 같은 class의 표현은 어려울 듯. 메모리주소로 가능을 할 수도 있으나, 코드 조작을 어셈블리 차원으로 내려가 하나하나 손봐야함... (이 답이 아니라면 낭패)
         별 다른 뜻은 아니고, C++ 컴파일러의 경우 메소드인 경우 인자로서 this 를 자동으로 넘겨준다고 해서. 그리고, attrib 이 private 이 아닌 public 이라 하더라도, 똑같은 질이 가능할듯. --[1002]
  • One/피라미드 . . . . 2 matches
         입력 숫자만큼 쌓기
          printf("숫자를 입력하시오."); scanf("%d",&j);
  • Ones/1002 . . . . 2 matches
         처음 제를 이해하는데 대략 4분. '10진수' 라는 말에 현혹되었다가 샘플 데이터 보면서 간단히 감을 잡음.
          * 연습장에 적힌 숫자 : 1, 11, 111, 1111 ^^
  • Ones/문보창 . . . . 2 matches
         다른 통과자에 비해 수행시간이 매우 길고, 메모리 사용량이 많다. 추후 다른 접근방법도 생각해 보자.
         [Ones] [보창]
  • OpenCamp/첫번째 . . . . 2 matches
          * 데블스 때도 그랬지만 남들 앞에서 발표를 한다는 건 상당히 떨리는 일이네요. 개인적으로는 이번 발표를 준비하면서 방학 동안 배웠던 부분에 대해서 다시 돌아보는 기회가 되었습니다. 그리고 그 외에도 방학 동안에 다루지 않았던 native app을 만드는 것이나 분석용 툴을 사용하는 법, Node.js, php 등 다양한 주제를 볼 수 있어서 좋았습니다. 물론 이번 Open Camp에서 다룬 부분은 실제 바로 사용하기에는 약간 부족함이 있을 수도 있겠지만 이런 분야나 기술이 있다는 것에 대한 길잡이 역할이 되어서 그쪽으로 공부를 하는 기회가 될 수 있으면 좋겠습니다. - [서민관]
  • OpenGL_Beginner . . . . 2 matches
          - 필자는 자신이 제작한 상업용 3D 설계 툴의 소스를 가지고 오고, 라이선스 제와, 자신이 생각하는 개선점을 고쳐서 다시 작성했다고 한다. 인상 깊었다. 이해하기도 쉽고, 구조적 프로그래밍을 OOP로 옮긴다는 관점에 도움이 되었다. STL 비슷하게 linked list글 구현해 두었고, MEC++의 지식이 도움되었다. MEC++가 허송세월을 보낸것은 아닌 느낌이다. Java3D의 강좌에서도 Java3D의 프레임웍이 좋다고 하는데, 역시 살피는 과정에서 써야 겠다. 서화 중
  • OpeningStatement . . . . 2 matches
         페이지를 새로 만들 때 그 페이지를 연 목적을 간결하게 밝히는 장. 그 페이지의 첫장이 되어야한다.
  • OperatingSystem . . . . 2 matches
         일종의, [[SeparationOfConcerns]]라고 볼 수 있다. 사용자는 OperatingSystem (조금 더 엄밀히 이야기하자면, [[Kernel]]) 이 어떻게 memory 와 I/O를 관리하는지에 대해서 신경쓸 필요가 없다. (프로그래머라면 이야기가 조금 다를 수도 있겠지만 :) )
         == 주로 사용되는 OS ==
  • OurMajorLangIsCAndCPlusPlus/Class . . . . 2 matches
         private - 클래스 멤버만 사용 가능
         public - 외부에서도 사용 가능
  • OurMajorLangIsCAndCPlusPlus/limits.h . . . . 2 matches
         ||MB_LEN_MAX ||사용할 수 있는 모든 로케일에서 자의 최대 바이트 수 ||2 ||
  • OurMajorLangIsCAndCPlusPlus/print/조현태 . . . . 2 matches
          //// 정수부의 숫자를 출력한다. ////
          //// 소수부의 숫자를 출력한다. ////
  • PC실관리프로그램 . . . . 2 matches
          * 게임 방지 취지로 만들어진 프로젝트라고 알고 있는데 요새 제가 되고 있는 '타과생 출입' 제도 고민해봅시다 - 지원
  • PNGFileFormat/ImageData . . . . 2 matches
          * zip, gzip, pkzip 에서 사용하는 LZ777 파생 기법사용.
  • PPProject . . . . 2 matches
         ProgrammingPearls에 나오는 제를 풀어봅니다.
         다음 모임도 금요일? 그 전까지 2장 연습제 3,4,5번이 첫 모임과 연관있어서 풀어 볼 만 할 것 같다. --[Leonardong]
  • PPProject/20041001FM . . . . 2 matches
         == 제 ==
         컬럼 2. B번
  • PageHitsMacro . . . . 2 matches
         특정 사용자명, 가령 개인위키라면 그 위키 주인, 은 제외하고 incCounter()하는 게 어떨까요?
  • PluggableSelector . . . . 2 matches
         예를 들어, 어떤 비쥬얼한 컴포넌트를 다른 것의 상대적인 부분에 위치시키고 싶다면, 상대적인 위치를 만들어주는 Pluggable Selector를 사용할 수 있다.(???)
         이제 일반 Point처럼 사용할 수 있다.
  • PowerOfCryptography/Hint . . . . 2 matches
          - 자열로 입력받을수 있다.
         2. 꼭 루프를 사용해야 하나?
  • PrimaryArithmetic/문보창 . . . . 2 matches
         비록 간단한 제지만 코드를 최적화시켜 상위에 랭크되었다.
         [PrimaryArithmetic] [보창]
  • ProgrammingPearls/Column6 . . . . 2 matches
          * 하드웨어 업글 : 부동소숫점 연산 가속기를 사용
          * 제 정의
  • ProjectAR/CollisionCheck . . . . 2 matches
          * 그러자니 오브젝트마다 그림 크기에 맞는 2차원 배열을 가져야 한다. 어쩌면 비트맵을 읽어오면서, 그 비트맵이 메모리에 있을테니, 그걸 참조하는 방법도 있을듯 하다. 안된다 하더라도, 요즘 컴퓨터 메모리 남아도니까 별로 제가 되지는 않을듯 싶다.
          일단 히트 판정이 날려면 주인공이 공격을 하게 됩니다. 그 때 발생하는 무기의 범위는 부채꼴이 되겠죠? 그렇게 때에 오브젝트가 주인공의 위치와 무기의 거리사이에(각도는 제한된 상태) 들어온다면 히트 판정이 나게 되겠죠? 그러므로 정교한 히트 판정이 나기 위해서는 사각형 영역보다 부채꼴 형태가 더 적합하다고 생각합니다. 그리고 적의 충돌을 판정하기 위해서는 적은 최대한 둥근 모습으로 만든다면 해결이 어느정도 가능하다고 생각합니다. 둥그스름한 물체가 땅에 닿는 곳은 원형이 되겠죠? 그 원형을 판단하면 되지 않을까요? 어짜피 그려지는 곳의 머리가 주인공의 무기와 겹치는 동시에 친다면 더 부자연스러울꺼 같네요...
  • ProjectGaia/요구사항 . . . . 2 matches
          * 편리한 사용자 인터페이스
          * 편리한 사용자 인터페이스
  • ProjectPrometheus/방명록 . . . . 2 matches
          * 우선 프로메테우스가 대상을 받은 거 축하드립니다...^^ 한편 한 번 써볼라고 사용자 등록을 하려니까 '500 Servlet Exception' 이 나네요...-,-;;; 그리고 저희 집 해상도가 1024 * 768 인데 프레임 오른쪽이 쬐끔 잘리네요. --재동
          * 아 지금 해보니까 되네요...^^;;; 근데 또 다른 제가... 검색을 해보니까 책이 몇 권있는 지는 나오는데 실질적인 책 리스트가 안나오네요...-,-;;; --재동
  • ProjectSemiPhotoshop . . . . 2 matches
          * ["ProjectSemiPhotoshop/요구사항"] - 요구 정의 기술 서입니다.
          * 12/2 일 작업 서화 자료 위치
  • ProjectSemiPhotoshop/기록 . . . . 2 matches
          || 10.17 || 첫미팅: 위키사용법, ''현민이를 고수로!'' 계획, 자료실 계획 ||
          * 서화
  • ProjectSemiPhotoshop/요구사항 . . . . 2 matches
         이 페이지는 ["ProjectSemiPhotoshop"]의 요구 정의 기술 서입니다.
         == Spec , To Do - 사용자 스토리 ==
  • ProjectTriunity . . . . 2 matches
         === 프로그램 소스 및 서 (첫번째) ===
         === 프로그램 소스 및 서 (두번째) ===
  • ProjectZephyrus/PacketForm . . . . 2 matches
         이 서에서 구분자는 # 이다.
          이 패킷은 사용 안함
  • ProjectZephyrus/일정 . . . . 2 matches
          팀의 관리자였던, 류상민과 강석천은 진행시 전체적인 제점과 개선 방향을 이야기 한다.
         ||5.24 (금)||영서 - 10시, 창섭 - 3시|| Study 상태 점검. CVS 사용법 시연 & 연습. 약간의 Small Client 구현|| ○ ||
  • Project메모장 . . . . 2 matches
         [강희경]이 "실제 사용을 목적으로" 계획한 프로젝트.
          * DB 사용.
  • PyIde/BicycleRepairMan분석 . . . . 2 matches
         IDE 쪽에 통합시키는 것이 목적이므로, 테스트 코드나 해당 사용된 코드의 가장 바깥단을 구경중.
         BicycleRepairMan_Idle.py 가 실마리가 될것 같다. VIM이나 Idle 통합부분의 경우 BRM에서의 facade를 사용한다.
  • PyIde/Scintilla . . . . 2 matches
         Boa Constructor 나 Pythoncard, wxPython 의 samples 의 StyleEditor 등을 보면 STCStyleEditor 모듈이 있다. 이 모듈에서 initSTC 함수를 사용하면 된다.
         환경 셋팅 다이얼로그를 띄우고 싶다면 STCStyleEditDlg 를 사용한다.
  • PythonIDE . . . . 2 matches
         파이선은 나온지 상당히 오래된 언어이며, 대안언어중에서 사용자가 가장 많은 상당히 비중이 높은 언어이다. 비록 어처구니 없는 상황하에서 발생하는 에러가 무시하지 못할 수준이기는 하지만 언어의 특징인 최대의 간격함과 빠른 개발을 위한 다양한 특징이 언어자체에 내포되어있다.
          * PyDev : 이클립스 플러그인으로 제공된다. 설치가 용이하며, 이클립스 통합이기 때에 굉장히 단순하며, 안정성이 높다.
  • PythonNetworkProgramming . . . . 2 matches
         또는, 기본 모듈로 있는 SocketServer 모듈을 사용할 수 있다. 다음은 간단한 예제.
         MFC 의 CSocket 를 사용하는 스타일로 프로그래밍을 할 수 있는데, Python 이기에 코드가 더 깔끔. 그리고 Windows/Linux 양쪽 다 가능.
  • RandomWalk2/Leonardong . . . . 2 matches
          continue;
         알려진 오류 : 시작 위치가 0,0 이고 1117661을 입력하면 2,0 지점에 숫자가 2가 나온다..ㅡㅡ; 왜이지??
  • RandomWalk2/서상현 . . . . 2 matches
         파이썬으로 개발함. 7/1 밤 11시부터 1시까지 3시간. 중간에 ["RandomWalk2/질"]. 7/2 다시 30분간 수정. 다시 질. 답변을 받고 몇군데를 다시 고쳐서 업로드함.
  • ReleasePlanning . . . . 2 matches
         릴리즈 계획 회의의 핵심은 개발팀이 각 사용자 스토리에 대하여 이상적으로 프로그래밍 했을때 소요되는 시간을 예측하는 것이다.
         사용자 스토리는 출력하던지 아니면 카드위에 쓴다. 고객과 개발자는 함께 카드들을 테이블에서 이리저리 옮기면서 첫번째 또는 다음 릴리즈시 구현될 스토리를 만든다.
  • ReverseAndAdd/신재동 . . . . 2 matches
         파이썬에서 for 루프를 먼저 생각하는 것은 사고의 단위가 작은 것이고, 이것은 영독해를 할 때 한번에 한단어씩 보는 것과 구을 한번에 보는 것의 차이와 비교할 수도 있다.
  • ReverseAndAdd/정수민 . . . . 2 matches
         n=raw_input('숫자입력')
         print '번 더해서 회'
  • RubyOnRails . . . . 2 matches
          || 조현태 || 월요일을 제외한 나머지 요일의 1시 이전. OR 월요일과 목요일을 제외한 나머지 요일의 6시 이후 ||
  • RuminationOnC++ . . . . 2 matches
         Accelerated C++의 저자인 앤드류 쾨니그가 쓴 책이다. C++을 다년간 써온 저자의 프로그래밍 테크닉을 쉽게 이야기를 쓰듯 풀어나간 책이다. 책의 내용은 저널에 저자가 썼던 글에 살을 덧 붙이고 다듬어서 나온책이다. 약간 흥미를 위주로 쓴 측면이 있어서 재미있게 읽을 수 있다. (표지나 서에서 느껴지는 책의 분위기는 프로그래머를 위한 C++ 동화책이다. ㅡ.ㅡ;;)
         아마존의 서평이 상당히 좋은 편이다. 비록 몇명안되는 리뷰만 있지만... 책을 본 사람들의 평가의 극상의 수준이다. 초급 C++ 프로그래머가 보기엔 좀 무리가 있는 내용이지만 재미있게 남는 시간에 읽을 수 있다.. (대략 50쪽에 핸들 클래스를 사용하라는 내용이 나온다.)
  • ScaleFreeNetwork/OpenSource . . . . 2 matches
         = 사용 툴 =
         = 참고 헌 =
  • SelfDelegation . . . . 2 matches
         앞장에 나온 두가지 질을 상기해보자. 위임한 객체의 주체성이 필요한가? 위임한 객체의 상태가 필요한가? 이 두가지에 yes라고 대답하면 Simple Delegation을 쓸수 없다.
          hashTable.put(keyObject, valueObject, this); // 법 안맞는거 같다. 그냥 그런가 보다 하자.
  • SeminarHowToProgramIt/Pipe/VendingMachineParser.py . . . . 2 matches
          continue
          continue
  • SeparationOfConcerns . . . . 2 matches
          * http://www.acm.org/classics/may96/ - 해당 논에서 추후 ResponsibilityDrivenDesign 에 해당되는 내용도 같이 있다. (72년 논이란다.. 72년.;)
  • ServiceQualityOfYongsanMarket . . . . 2 matches
          * 홈페이지에서 주&입금 후 전화로 찾아갈 테니 물건을 준비해 줄 수 있냐고 묻는 도중에 내 말을 자르며, '찾아가심 됩니다' 라며 전화거는 사람을 무안하게 만들었다. 여기서 약간 기분이 상함...
          * 주한 셋트에 대한 궁합(?)을 보고 이에 대한 대안을 전화로 알려줌.
  • SharedVision . . . . 2 matches
          * 또하나 생각난다면, 구심점이 되는 작은 사람들 (이때쯤 되니 또 20 : 80 법칙 생각이;)이 영향력을 발휘하는 방법. 보통은 이 스타일이 되는 것 같다. 제제기 & 대안제안자 10%에 실제로 수습하는 사람 10%, 동의해주고 따라주는사람 40%, 60% 가 넘어간 뒤 인력의 작용(한쪽에 커다란 힘이 모여있으면 이 또한 인력이라고 생각한다. 월드컵 축구를 보라. -_-; 뉴스건 사람들이건 신이건 전부 축구이야기만 하면 영향 안받나;) 30%, 나머지 무관심 10% (반대의견을 내는 사람은 실제 수습자들속에 있기도 하다. 물론 냉소만 보내는 사람도 있지만)
  • ShellSort/문보창 . . . . 2 matches
         첨에 제 파악을 잘못해서 중간에 코드를 뜯어고치느라 시간을 많이 허비했다. 귀찮아서 구상을 하지않고, 바로 코딩을 하다보니 발생한 사태였다. 수행시간이 다른사람에 비해 턱없이 길다. 나중에 보다 효율적인 접근방법을 찾아보겠다.
         [ShellSort] [보창]
  • SilentASSERT . . . . 2 matches
         잘쓴다기 보다는 많이 써야 합니다. 하지만 매번 뜨는 ASSERT 창 때에 번거롭고,잘 안쓰게 되죠.
         그래서 Output 윈도우에 ASSERT 법을 넣고, 칼라를 넣어 쉽게 확인하게 하면 어떨까 합니다.
  • SimpleDelegation . . . . 2 matches
         위임을 사용할때, 당신이 필요한 위임의 묘미(?)를 분명하게 해주는 도와주는 두가지 이슈가 있다. 하나는, 위임하는 객체의 주체성이 중요한가? 이다. 위임된 객체는 자신의 존재를 알리고 싶지 않으므로 위임한 객체로의 접근이 필요하다.(?) 다른 하나는, 위임하는 객체의 상태가 위임된 객체에게 중요한것인가? 그렇다면 위임된 객체는 일을 수행하기 위해 위임한 객체의 상태가 필요하다.(너무 이상하다.) 이 두가지에 no라고 대답할 수 있으면 Simple Delegation을 쓸 수 있다.
         이런 식으로 서버에게 참조를 전달하고 서버는 누가 보낸 메시지인지를 알기 때에 처리 결과를 해당 클라이언트에게 보냅니다. 클라이언트는 서버가 보낸 처리 결과가 성공이면 UI를 업데이트하고 실패하면 메시지를 보여준다거나 하시는 식으로 처리할 수 있을꺼 같네요.--[Benghun]
  • SimpleDesign . . . . 2 matches
         저 원칙은 XP 와 떼어서 생각하기 힘든, TestDrivenDevelopment 에서 더 제대로 적용된다. TestDrivenDevelopment 를 하면 할수록 가장 단순한 것에 대해서 생각하게 된다. 이번에 기사를 쓰기 위해 간단한 프로그램을 같은 제에 대해서만 5번 정도 풀어보게 되었는데, 풀 때마다 더 간단한 해결책이 보이게 되고, 제를 더 잘게 나눌 수 있게 되었다.
  • Slurpys/문보창 . . . . 2 matches
         힘들게 버그를 잡고 통과. 재귀함수 사용시 여러가지 통로(?)를 잘 관리해 줘야한다.
         [Slurpys] [보창]
  • SpiralArray . . . . 2 matches
         제 Spec : Seminar:SpiralArray 를 참조.
         [제분류]
  • Squeak . . . . 2 matches
          스퀵은 스몰토크(Smalltalk)입니다. 일반적으로 스몰토크라 그러면 국내에서는 컴퓨터 역사의 한 부분으로 과거의 언어정도로 생각하고 있습니다. 그래서인지 국내에서는 일부 취미 생활로 공부하는 사람, 극(극극극극)히 적은 특정 분야의 회사를 제외하고는 쓰이지 않습니다. 그러나 스몰토크는 진보적이라면 진보적이지 결코! 절대로! 과거의 고리타분한 언어가 아닙니다. 무엇보다도 스몰토크는 무척! 즐겁습니다. 특히 '스퀵'은 더 즐겁습니다. ;) (소개글은 http://squeak.or.kr 에서 퍼왔습니다)
          * 창준선배님과 상민형께서 올해초쯤에 마소에 게제하신 글을 보고 스퀵을 알게 되었습니다. (그전에 책을 갖고 있긴 했었지만요) 기사를 보고 스퀵을 조금 익혀두었다가 나중에 자식을 낳고 자식과 같이 스퀵을 즐길 수 있었으면 좋겠다는 생각을 하고 스퀵을 해봐야겠다는 생각을 했습니다. 하지만 아직 사용하고 있는 사람들이 많지 않은것 같더군요 - 임인택
  • StackAndQueue/손동일 . . . . 2 matches
          continue;
          cout << "숫자를 입력하세요.. "<< endl;
  • StacksOfFlapjacks/문보창 . . . . 2 matches
         제의 해법이 바로 보이는 쉬운제였다.
  • StandardWidgetToolkit . . . . 2 matches
         내부에서는 초기부터 SWT와 [Eclipse] 프로젝트의 역할이 분담되어, 과거 IBM developerworks 에 gcc를 이용한 프로그램 작성에 대한 서가 있었으나, SWT를 이용한 프로그램의 등장은 보이지 않았다. 그러나 분리되면서, 그러한 프로그램을 기대할 수 있게 되었다.
          * [http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-swt-home/dev.html SWT 2.1 서] - Code Snippets 가 많아서, 따라하기 용이하다.
  • SystemPages . . . . 2 matches
          * FrontPage - 대.~
         === DeleteThisPage (DeleteThisPage 구 기준. 정확하진 않음) ===
  • TAOCP . . . . 2 matches
          * 제(Exercise)를 풀어보고 모여서 서로 답을 비교한 후에 해답을 본다.
         휘동이 정리보구 궁금해하던 제들이 많이 풀렸다. 이젠 프로그램 짜야쥐... --세환
  • Temp/Parser . . . . 2 matches
          continue
          continue
  • TestSuiteExamples . . . . 2 matches
         여러 UnitTestFramework에서 TestSuite를 사용하는 예제들
         # 사실 AllTests 자체를 완전히 빼버려도 됩니다. 그 이유는 from import *을 하기 때입니다.
  • TheJavaMan/지뢰찾기 . . . . 2 matches
          continue;
          continue;
  • TheLagestSmallestBox/하기웅 . . . . 2 matches
         수학제라 제만 풀고나니 코딩은 금방 됐다~~
  • TheSkylineProblem . . . . 2 matches
          [http://acm.uva.es/p/v1/105.html 원] (편의상(?)해석은 하지 않았습니다.)
         [제분류]
  • TheWarOfGenesis2R/ToDo . . . . 2 matches
          * 현재 맵의 편집이 숫자로만 가능. 그림을 보면서 편집할 수 있도록 고칠 예정.
          * 특정 컴퓨터에서 마우스커서가 깜빡임. -> Bitmap커서를 사용할 수도
  • TitleIndex . . . . 2 matches
          1. 서 수 : [[PageCount]]
          1. 넘겨주기 제외 : [[PageCount(noredirect)]]
  • TopDown . . . . 2 matches
         하나의 제에 대해서 작은 제로 계속 쪼내나가는 형태를 지칭. Divide And Conquer 와 비슷하다.
  • Trac . . . . 2 matches
         dev를 위해서는 사실 위의 링크들의 설치 방법은 거의다 쓸모 없다. Trac이 10->11로 넘어가는데 오래 정체되고 있는 이유는 내부를 대폭 개선하고 있기 때이다. Template engine과 소스 컬러링 엔진을 바꾸었고, 기존의 plugin으로 존재하던 유용한 관리 도구들을 모두 결합하고 있다. 자료 구조도 손보고 있다. NeoCoin이 몇달간 dev버전을 사용해 보면서 별 무리 없이 이용하고 있다.
  • TugOfWar/신재동 . . . . 2 matches
         이전에 비스무리한 제를 푼 적이 있었다. 하긴 이런류의 경시대회 제들 어느 정도 풀다 보면 해결 방법이 몇 가지로 나뉘는 것 같다. --재동
  • TwistingTheTriad . . . . 2 matches
         C++ 시스템의 Taligent 로부터 유래. Dolphin Smalltalk 의 UI Framework. 논에서는 'Widget' 과 'MVC' 대신 MVP 를 채택한 이유 등을 다룬다고 한다. 그리고 MVC 3 요소를 rotating (or twisting)함으로서 현재 존재하는 다른 Smalltalk 환경보다 쓰기 쉽고 더 유연한 'Observer' based framework 를 만들 것을 보여줄 것이다.
          근데, WEB 에서의 MVC 와 GUI 에서의 MVC 는 그 Control Flow 가 다르긴 할것이다. 웹에서는 View 부분에서 이벤트가 발생하여 이것이 도로 Model 로 올라간다..식이 없기 때이다. 믿을만한 출처일지는 모르겠지만, 암튼 이를 구분하는 글도 있는듯. http://www.purpletech.com/articles/mvc/mvc-and-beyond.html
  • UglyNumbers/남훈 . . . . 2 matches
         === 제 ===
         === 제 ===
  • UglyNumbers/문보창 . . . . 2 matches
         접근 방법을 바꾼후 쉽게 풀린 제. 지수의 조합을 이용.
         [UglyNumbers] [보창]
  • UploadFile . . . . 2 matches
         'UploadFile'페이지 이외의 특정한 페이지에서 {{{[[UploadFile]]}}}을 사용하면, 그 페이지 이름을 하위 디렉토리로 하는 새로운 UploadFile 디렉토리가 만들어지고 그 밑으로 파일이 업로드 된다. (1단계 하위 디렉토리만 지원된다)
         이렇게 NoSmok:InterWiki 를 사용합니다.
  • VMWare/UsefulFunctions . . . . 2 matches
         가상 머신이 리눅스이고 VMWARE TOOL 의 바이너리와 호환성을 갖지 못한다면 커널 드라이버를 컴파일 해서 설치해야함. (물론 VMWARE 설치 스크립트가 알아서 해줌, 우분투 DD 에서는 정상동작 하지 않았음. 데비안, 페도라 사용 가능함.)
         하단에 마운팅이 되며, NTFS 직접 마운팅과 달리 VMWARE 드라이버를 한단계 거쳐서 들어가기 때에 정상적이니 파일의 입력, 출력이 모두 가능하다.
  • Velocity . . . . 2 matches
          // Velocity 한글 제 처리 : properties 셋팅 필요.
         DreamWeaver Plugin - http://java.techedu.net/phpBB2/viewtopic.php?t=138 - 아아.. 이런 서 먼저 만들어주신 분에게 참 감사하다는. :)
  • VisualSourceSafe . . . . 2 matches
          * ["CVS"] 와 달리 하나의 프로젝트를 특정인이 점유하고 있으면, 해당 프로젝트 소스 자체에 접근을 금지한다. VS 계열 툴로 집에서 혼자 작업시에 사용하기는 편하다. VS계열의 툴과 잘 결합되어 있다. 아직 VS 6.0 만 쓰는 관계로 7.0은 잘 모름--["상민"]
          * 7.0에는 VSS 6.0c가 들었음... VSS 6.0과 사용법 UI 모두 똑같음.. --["상규"]
  • VisualStudio2005 . . . . 2 matches
         1년간 무료로 사용할 수 있다.
          * 소스의 수정된 부분은 노란색으로 표시합니다. 저장이 되면 초록색으로 바뀝니다. 아마도 합병(merge)에서 사용될 부분인듯.
  • WindowsConsoleControl . . . . 2 matches
         터보 C를 사용할때는 라이브러리로 콘솔제어를 쉽게 하는 함수들이 존재하였다. MS의 콘솔을 배제하는 정책 때인지 함수는 존재하지만, 불편한 인터페이스를 그대로 유지하고 있는데, 이를 살작 추상화 시키는 간단한 소스들이다.
  • WordPress . . . . 2 matches
         기본 인코딩으로 utf-8을 채택했기 때에 technorati 와 같은 메타 블로그 검색엔진에도 연동이 가능하며, 앞으로의 인코딩에도 큰 제가 없을 것으로 기대된다.
  • XMLStudy_2002/XSL . . . . 2 matches
         XSL의 사용법과 필요성과 역할을 배움
         === 가장 기본적인 XSㅣ 서 ===
  • XpWeek/20041221 . . . . 2 matches
         내 TDD의 보폭이 크다는 사실을 깨달았다. 무엇이든 시작하기 전에 팀 전체가 하고자 하는 의욕이 고무되어 있을 때 효율이 높다. 팀이 같이하는 화를 만들 필요가 있겠다. --[Leonardong]
         TDD 경험하면서 test class의 Refactoring을 어떻게 해야 될지 모르겠다. test 코드라 굳이 할 필요성을 못 느꼈고 테스트만 하면 된다는 생각이 들었기 때이다. 인원이 적어서 고객과 개발자의 역할을 번갈아가면서 했는데 개발하기 쉬운 방향으로 생각을 이끌어나가는 것 같았다. 입장을 명확히 한 후 생각을 정리하고 표현해야겠다. 회의가 길어지면서 나타난 의욕상실이 아쉬웠다.
  • ZP&COW세미나 . . . . 2 matches
         || 원명, 조재화 || Upload:jm.YaMae_1.0.jar ||
         || 원명, 조재화 || Upload:jm.YaMae_2.0.jar ||
  • ZP&JARAM세미나 . . . . 2 matches
          세미나 두개 다 정말 유익하게 들었습니다. 병윤이 세미나 주제가 우려먹기라는데 내가 그 때 커스모집 때에 없어서 이번 기회에 들었습니다^^ 와핫핫~!! 프로젝트 통합방법도 내년에 돌아와서 팀플할때 잘 써먹을수 있을거 같아요. 승한오빠가 하는 프리젠테이션 방식이 굉장히 좋았어요. 간결한 글과 시각적 효과를 이용해 보는 사람으로 하여금 몰입도를 높이는..(웃음) OST도 좋았습니다. 시간이 부족한게 좀 아쉽ㅠ
          오호라 후기네요~:) 이거 페이지를 어디다가 연결해야할지 갈피가 안잡히네요 여기다가 만들어도 제가 없으려나?~?? 저는 좋은 게임과 나쁜 게임의 OST를 진행했던 한양대 03학번 배진호입니다. 뭐 제 계획대로 아주 많은 것을 뽑아(?) 내지는 못했지만 그래도 적절하게 많은 분들이 동참하여 주셔서 흥미로운 대화가 되었던 것 같네요. 제가 미숙하여서 자르고 멈추고 이어나아가는 것이 능숙하지 못했는데, 어찌 되었든 OST를 주최해 주시고 좋은 세미나도 재미있게 보았습니다. 시간이 많았더라면 서로 더 알아갈 수 있었을 텐데 그 부분이 조금 아쉽네요. 앞으로도 많은 교류가 있었으면 좋겠네요. 군대에서 이 위키를 썼었느데 다시보니 방갑네요 :)
  • ZPBoard . . . . 2 matches
          * ["ZPBoard/Poll"] - 설조자 제작
          * 다들 ["ZPBoard/AuthenticationBySession"] 를 참고하여 일기장까지 제작하도록...^^ 궁금한건 언제든지 질을~ --["상규"]
  • ZPHomePage . . . . 2 matches
         [http://mozilla.or.kr MozillaFirefox] 에서도 무리없이 브라우징 할 수 있도록 해주세요. 간단해요. 표준 HTML 만 사용하면 됩니다. - [임인택]
         저같은 경우에는 모니터 해상도를 1280 * 1024로 하고 사용하는데 ZP창은 너무 작습니다. 즉 여백이 엄청나게 많습니다. 적당히 해상도에 맞추어 홈페이지를 보여주는 게 좋을 듯 합니다. --재동
  • ZPHomePage/20050111 . . . . 2 matches
          * 공식적으로 사용할 용도로 공모
          * 이전에 쓰던 게시판(Q&A, 감상, 삽질) 그대로 보존해서 사용
  • ZeroPage/회비 . . . . 2 matches
         == 사용된 회비 ==
         == 사용된 회비 ==
  • ZeroPageServer/IRC . . . . 2 matches
          * 권한: [오징오징어] 봇에 등록된 사용자에 한해 아래 해당하는 권한을 설정합니다.
          * ZeroPage 공지 및 IRC 사용법 안내
  • ZeroPage소개 . . . . 2 matches
          * 아, 또 신입생 환영회때 소개하는 멘트에도 일부 사용하게될거 같네요~
          * 변하지 않는 ZeroPage만의 가치를 말하는군요. 이에 대한 의견은 설조사등으로 원하는 ZeroPage상에 대해 의견을 모아보는 것도 좋겠네요. 다만 일관성있는 가치를 세우는게 좋겠습니다. 언행일치정도? - [서지혜]
  • ZeroWikian . . . . 2 matches
         ZeroWiki 를 사용하는 사람들. ~~ZeroPagers와는 다르다 ZeroPagers와는!~~
          * [원명]
  • [Lovely]boy^_^/Arcanoid . . . . 2 matches
         == 사용하는 특수 기능 ==
          * 전자의 코드에 억매이는거 같은데, 전자의 코드의 전제가 여러명이 동시에 그릴려고 달려들때의 상황으로 생각하자. gdi에서는 event driven 이기 때에 모든 책의 예제들이 항상 그런 경우를 상정하고 바로 이전의 객체로 그리기 상태로의 복귀를 전제로 하여 작성되어 있다. 하지만, 네가 그리고자 하는 영역이야 계속 하나로 선택되어 있어도 아무 상관 없는걸. CPen 이 어디로 도망가는 것도 아니고 말이지.
  • [Lovely]boy^_^/EnglishGrammer/Passive . . . . 2 matches
          active 장의 목적어가 passive 장의 주어로 간답니다. 그냥 지나치기 아쉬우니까 예제 하나더.
  • [Lovely]boy^_^/USACO/YourRideIsHere . . . . 2 matches
          * 뭐 장난 같은 제..--; 첫 제라 그런거겠죠?
  • code regulation . . . . 2 matches
         영어장의 형태로
         = 단 =
  • comein2 . . . . 2 matches
          * 데이터베이스 튜닝 (대용량 데이터베이스 기반 효율적인 QUERY 생성 방법)
          * E-BANKING 시스템 기반 사용자 인증 방법에 대한 연구
  • erunc0/XP . . . . 2 matches
         '경험들' 로 친다면 오히려 Installed 가 맞는 선택일 것 같은데. --a 중간중간 실제 했었던 일들 이야기도 있었으니까 (RonJeffries 와 Chet 의 Pair 등) 뭐 암튼 적당하게 속도를 맞춰서 읽되, 한국어판 책의 서 대로 '각 Practice를 극한까지 실험해보길'. 개인적으로 'Installed 가 추상적이다' 라는 말에는 반론 (Explained 라면 모를까..) 지금 XP 를 실천하는 중인 사람들을 보고 싶다면 뉴스그룹이 가장 생생하지 않을까 생각. (또는 http://xprogramming.com 의 글들) --["1002"][[BR]][[BR]]
         저는 지금 XPI를 읽고 있습니다. XPI에서 제시하는 극한을 실험해보기 위해 지켜야만 하는 규칙(?)들을 찾는다고 해야 할까요 ? 예를 든다면 삶의 순환 법칙을 어기지 않기 위해 유저스토리는 고객이 작성해야만 한다(도움은 주되 개발자의 욕구를 억제해야만 하는)는 것이겠죠 ? 이것은 XP 프로그래머가 반드시 지켜야만 하는 것이겠죠 ? 이것은 경험을 통해 얻는 극한으로 몰고가는 방법(요구사항을 요구하는 자에게 얻어내는 것이 가장 좋다라는 것을 최대한 활용하는 방법?)을 일종의 규칙처럼 이야기한 것 같습니다. 그러니까 실질적으로 XP팀이 지켜야 하는 것들을 설명했기 때에 추상적이지 않다라고 해야할까요? ^^; 경험적인 것을 얻고 싶다면 김창준님이 기고하시는 마소(2002.9)를 보는 것도 좋겠네요.--["Benghun"]
  • hanoitowertroublesagain/이도현 . . . . 2 matches
         ==== 제 ====
         하노이 타워라고 보기는 좀 그런 제다.
  • html5/communicationAPI . . . . 2 matches
          * 메세지 : 임의의 자바스크립트객체 또는 단순 자열
          * close() : 포트를 사용할 수 없게 함
  • html5/geolocation . . . . 2 matches
          * 모바일 애플리케이션과 연동하여 사용
         = 사용 방법 =
  • html5practice/즐겨찾기목록만들기 . . . . 2 matches
          * 원래 목적은 naver api를 끌고 와서 별표 찍는 연습을 만들려고 했는데. 이건 뭐. ajax cross domain 제로 접근 불가. 난이도 하향. 로컬 목록을 사용자가 만들어서 그걸 즐겨찾기 추가 삭제 하는 코드를 만들었음. 기능과 UI가 안습이지만, 그래도. 만들었음.
  • iPhoneProgramming/2012년프로젝트 . . . . 2 matches
          * 2차 목표 : Web이나 서버에 연결하는 것과 같은 사용자 내부 요소에서 벗어나 보는 것.
          * 진행을 어떻게 할것인가가 핵심 제인듯함.
  • iruril . . . . 2 matches
          * 원명 : [원명]
  • lostship/MinGW . . . . 2 matches
          * STLport iostreams 을 사용하려면 다음 스텝을 진행한다.
         == 제점 ==
  • neocoin/CodeScrap . . . . 2 matches
         ["상민"] 이가 프로그래밍중 사용하는 이디엄, 신기한 현상들을 모아놓는 페이지
          // 내부에서 사용하면 error
  • sibichi . . . . 2 matches
          * 당장 c++ 이 급하지만 [objectiveC]라는것도 좀 배워보고 싶음 -> 이젠 멘토링때에라도 배워야함
          * 일단 무엇보다도 wiki에 적응되어야 본격적으로 활용이 가능할듯. 직접 써보면서 뭐가뭔지 체득을 해야..그래서 일단은 기본 제시된 템플릿사용
  • subsequence/권영기 . . . . 2 matches
         아무래도 세 제 전부 parametric search를 이용한 제라서 한 페이지에 넣어야 될 듯 싶네여. 페이지 낭비 같음.
  • woodpage/쓰레기 . . . . 2 matches
          *실시간 전략 게임 프로그램 (출판사: 정보화사)
          * 이봐~ 다 그렸다.. 너의 홈(보긴 보냐?? ^^;) 자료실에 올려 놓을 터이니 잘 사용하길.. 대체 며칠동안 그걸 부여잡고 있었는지 원.. [[BR]]
  • wxPython . . . . 2 matches
         C로 짜여진 버전으로 바인딩된 형태이며, 각종 IDE 와 찾은 충돌로인해 많은 제를 일으키지만, PyDev (eclipse plugin) 과 굉장히
         궁합이 좋다. (단지 PyDev 가 wx 모듈에서 발생한는 exception handling 메시지를 보여주지 않기 때에 불편하다)
  • zennith/SICP . . . . 2 matches
         === 서 전에 나온 페이지 ===
          [노스모크모인모인] 에서 절대 주소로 접근할려면 [/SICP] 로 하면 된다. 디렉토리 같지 ^^;; 현재 혼용이니, 네가 일아서 사용해라 --["neocoin"]
  • zyint . . . . 2 matches
          || 우주전쟁 || ★★··· || 기대가 크면 실망도 큰법 -_-;;;;;; 어들의 공격이 압박이었지만 결말이 너무 허무하다. ||
          - 흐흐 오랜만에 ZP홈피 와서;; 이제 답변 다네요.. 전 만오천원짜리 닷컴도메인 쓰고 있는데 .... 조만간 닷넷 도메인 등록비용 오른다는 소이 ㅇㅅㅇ;; - 태훈
  • 가위바위보/성재 . . . . 2 matches
          continue;
         파일을 받아서 하는거였죠... -_- 어려웠습니다.. 케이스이 아닌 다른걸루 만들어보고 싶네요~ }}}
  • 강소현 . . . . 2 matches
         동료, 부하직원 - 소심한 상대이기 때에 당신이 다가가 능력을 이끌어 내주어야 합니다. 천천히 일하는 타입이기 때에 일을 재촉하면 과열되어 폭발할 위험이 있습니다.
  • 격언 . . . . 2 matches
          * 21세기의 맹자는 글을 읽을 줄 모르는 사람이 아니라 학습하고, 교정하고, 재학습하는 능력이 없는 사람이다. - 앨빈 토플러
          MozillaFirefox NightlyBuild 를 사용해서 그랬던것 같네요. 정식릴리즈로 해보니 잘됩니다. - [임인택]
  • 경시대회준비반/BigInteger . . . . 2 matches
         C++ 용 BigInteger 클래스로 거의 모든 연산을 지원한다. UVA 사이트의 구식(?) 컴파일러에도 제없이 통과할 뿐 아니라, 성능또한 훌륭하다. 고정도 정수 연산을 하는 제의 경우, 고정도 연산을 하는 라이브러리를 본인이 직접 짜거나, 이 클래스를 이용하면 된다. 몇 일동안 삽질한 결과 후자가 낫다는 판단이 선다. 되게 잘 짜여진 코드다. 시간 내서 분석해봐야 겠다.
  • 계정만들기 . . . . 2 matches
         제점 : 이메일이 차단되는 경우 발생
         2. 비번을 널자로 만들기
  • 고수를찾아서 . . . . 2 matches
         저자는 무예를 좋아해서 전 잡지까지 만드는 사람이다. 여러 고수를 찾아다니며 인터뷰한 이야기, 고수를 만난 경외감을 전해주고 있다. 아마 보는 눈은 갖춘 실력이 밑바탕에 깔려있기 때에, 고수를 찾아다니며 감탄할 수 있는 것 같다.
  • 고한종/업적/WinAPI로만든학과주점포스기 . . . . 2 matches
         좀더 자세히 말하자면, 아이패드에서 메인 프로그램을 돌리고, 아이폰&안드로이드에서 부속 프로그램이 돌아서 주을 받게 하려 했음.
         그러나 이게 쓸일이 없는 이유는... 실제로 축제기간때 학과주점을 열면 주? 계산서? [http://mirror.enha.kr/wiki/그런%20거%20없다 그런거_없다]
  • 골콘다 . . . . 2 matches
          * 책을 읽으면서 '이게 과연 1920년대의 이야기일까?' 하는 질을 하게 하는 소설같은 역사이야기. 특히, 최근 미국의 분식회계 사태를 보며 신에서 '브루투스, 너마저...' (책에서 똑같은 말을 한다;) 를 이야기하는것을 보면. 달라진 점이라면 액수가 커졌다 정도? (책에 나오는 모건 은행의 중개인인 리차드 위트니는 추후 자신의 경제파탄을 무마하려고 거의 300만달러에 달하는 빚을 진다. 대출을 받기 위해 고객의 유가증권들을 함부로 담보로 맡기는 짓도 서슴없이 했다고 한다. 그게 1920년대란다; 결국은 이중장부와 불투명한 경영, 하버드-월가 또는 정계의 연줄을 가진 엘리트들의 특이한 도덕(?)의식의 결과.)
  • 김동준/Project/OOP_Preview/Chapter1 . . . . 2 matches
          * OCP의 원리 이용. (코드의 재사용성)
          3) 유지보수와 재사용이 쉬운 디자인을 위해 노력한다.
  • 김희성/MTFREADER . . . . 2 matches
          continue;
         // continue;
  • 다이어리효율적으로사용하는방법 . . . . 2 matches
          * 기사 내용중에서 목표를 구체적으로 다이어리에 적으라는 내용이 공감이 감. 개인적으로 놋북이 있는관계로 노트북에 있는 위키를 다이어리로 사용,,
         [신스크랩]
  • 달라이라마와도올의만남 . . . . 2 matches
         도올이 인도에 가서 달라이라마를 만나고 와서 쓴 기행 형태의 책, 총 3권으로 되어있다.
          * 2권 : 인도 기행
  • 당신의큰돌은무엇입니까 . . . . 2 matches
         시간관리 요령을 배우기 위해 많은 학생이 커다란 강의실에 모였습니다. 그런데 강의실에 들어온 시간관리 전가는 엉뚱하게도 커다란 항아리 하나를 테이블 위에 올려놓고 주먹만한 돌을 항아리 속에 하나씩 넣기 시작했습니다. 그리고 항아리 속에 동이 가득 차자 학생들에게 물었습니다. “ 이 항아리가 가득 찼습니까? “ 학생들은 어리둥절했지만, 이구동성으로 대답했습니다. “예!”
         그는 빙긋 웃으며 물을 한 주전자 꺼내 항아리에 부었습니다. 그리고 학생들에게 물었습니다. “이 실험의 의미가 무엇이겠습니까?” 한 학생이 손을 들더니 대답했습니다. “너무 바빠서 스케줄이 꽉 찼더라도, 자신이 진정으로 노력하면 새로운 일을 그 사이에 추가로 할 수 있다는 것입니다.” 다른 학생들도 그 말에 동의하는 듯 고개를 끄덕였습니다. 그런데 시간관리 전가는 뜻밖에도 고개를 젓는 것이었습니다.
  • 데블스캠프2003/다섯째날/후기 . . . . 2 matches
          * 헤헤...또 따운됐네..T^T --신피 5-47번 컴퓨터 앞에서..[원명]
          * 선희와의 페어는 즐거웠다. 마지막 제를 못풀어서 아쉽다. -- [장창재]
  • 데블스캠프2003/둘째날 . . . . 2 matches
         ||03||원명||
         [큐와 스택/원명]
  • 데블스캠프2004 . . . . 2 matches
          * 현재 가장 많이 사용되는 페이지 위주로 [서구조조정] 했습니다. 더 좋은 의견 있으면 수정하세요. --NeoCoin
  • 데블스캠프2005/FLASH키워드정리 . . . . 2 matches
         플레시 액션 스크립트의 법의 모습은 C와 Java를 닮았다.
         if, else, switch, goto 등의 법들은 거의 비슷한 모습을 하고 있다.
  • 데블스캠프2006/SSH . . . . 2 matches
          * 기타 파일이나 이미지 링크 걸때 사용
          * 제상황 : 리눅스용 프로그램을 만들어야 하는 과제가 나왔다. 해당 과제는 컴파일과 실행을 리눅스에서만 해야 한다. 그런데 vi로 하기는 싫고, visual studio 나 editplus로 작업을 하고 싶다. 어떻게 할까?
  • 데블스캠프2006/월요일/연습문제/for/김준석 . . . . 2 matches
         == 데블스캠프2006/월요일/연습제/for/김준석 ==
          cout << "10이하의 숫자를 입력해 주세요 " << endl;
  • 데블스캠프2006/월요일/연습문제/for/성우용 . . . . 2 matches
         == 데블스캠프2006/월요일/연습제/for/성우용 ==
          cout << "숫자를 입력하세요.";
  • 데블스캠프2006/월요일/연습문제/for/이장길 . . . . 2 matches
         == 데블스캠프2006/월요일/연습제/for/이장길 ==
          cout<<"숫자를 입력하세요.";
  • 데블스캠프2006/월요일/연습문제/if-else/김건영 . . . . 2 matches
         == 데블스캠프2006/월요일/연습제/if-else/김건영 ==
         1번째
  • 데블스캠프2006/월요일/연습문제/if-else/김대순 . . . . 2 matches
         == 데블스캠프2006/월요일/연습제/if-else/김대순 ==
         1번째
  • 데블스캠프2006/월요일/연습문제/if-else/정승희 . . . . 2 matches
         == 데블스캠프2006/월요일/연습제/if-else/정승희 ==
         1번째
  • 데블스캠프2006/월요일/연습문제/switch/김준석 . . . . 2 matches
          if(i==999) continue;
          cout << "잘못 했습니다 다시 해주세요" <<endl; continue;
  • 데블스캠프2006/월요일/연습문제/기타문제/주소영 . . . . 2 matches
         1부터 10까지 5제외하고 출력
          continue;
  • 데블스캠프2006/화요일/pointer/문제1/주소영 . . . . 2 matches
         1번
         DeleteMe) 제 페이지를 나눠서 만들어주세요^^; -[상욱]
  • 데블스캠프2006/화요일/pointer/문제3/정승희 . . . . 2 matches
         //나중에 혹시 a를 사용하면 확실하게 a를 사용해서 에러 났다고 알려줄수 있다.
  • 데블스캠프2009/목요일 . . . . 2 matches
         = 제 풀이 =
         [데블스캠프2009/목요일/연습제]
  • 데블스캠프2009/목요일/연습문제/MFC/서민관 . . . . 2 matches
         = 데블스캠프2009/목요일/연습제/MFC/서민관 =
          CWnd* pWnd = FindWindow(NULL, "새 텍스트 서.txt - 메모장");
  • 데블스캠프2009/목요일/연습문제/다빈치코드/박준호 . . . . 2 matches
         = 데블스캠프2009/목요일/연습제/다빈치코드/박준호 =
          printf("받고 싶으신 색과 숫자를 적으시오.");
  • 데블스캠프2009/목요일/연습문제/다빈치코드/서민관 . . . . 2 matches
         = 데블스캠프2009/목요일/연습제/다빈치코드/서민관 =
         카드의 갯수를 입력한 후, 그 수만큼 카드 색, 카드 숫자를 입력하면 크기나 색 순서로 정렬해준다.
  • 데블스캠프2009/월요일 . . . . 2 matches
         = 제 풀이 =
         [데블스캠프2009/월요일/연습제]
  • 데블스캠프2009/화요일 . . . . 2 matches
         = 제 풀이 =
         [데블스캠프2009/화요일/연습제]
  • 데블스캠프2010/다섯째날/ObjectCraft/미션2/김상호 . . . . 2 matches
         = 레퍼런스 미 사용 =
         = 레퍼런스 사용 =
  • 데블스캠프2010/다섯째날/ObjectCraft/미션3/김상호 . . . . 2 matches
         = class 사용 전 =
         = class 사용 후 =
  • 데블스캠프2011/둘째날/Scratch . . . . 2 matches
          * 공에 부딪히면 공이 움직이기 시작해서 그걸 피하는 게임. 원래는 일정 횟수 이상 닿으면 멈추게 해야 되는데 그 부분이 뭔가 제가 있는지 안되네요. -_- 내가 공을 건드리지 않으면 피할 필요도 없기 때에 내가 무덤을 파는 게임입니다.
  • 데블스캠프2012/셋째날/코드 . . . . 2 matches
          * 웹서버에 실습파일을 만든다 -> 네이버 개발자센터 -> MapAPI를 사용해본다. -> N으로 시작하는 라이브러리 사용하면서 화냄 -> Mark위에 이벤트 출력까지 하고 끝.
  • 데블스캠프2013/넷째날/후기 . . . . 2 matches
          * 기술유출관련으로 제가 될 수 있다니.... 머리가 아플 수 있겠군요. 아무튼 법이 잘 알면 유리하지만 모르면 당하는건지라 항상 조심해야겠어요. -[김태진]
          * 개인적으로 Observer 패턴에 대해 듣고 새로운 깨달음을 얻을 수 있어서 꽤 마음에 들었습니다. 특히 기존 MVC 패턴에 제점이 있다는 것을 들은 적이 있어서 대안을 좀 찾아 본 적이 있었는데, 아마도 이걸 말하는 게 아닌가 싶어서 속이 좀 시원했습니다. - [서민관]
  • 데블스캠프2013/둘째날/후기 . . . . 2 matches
          * 종하형이 다들 알아들을 수 없는 소재를 들고와 매우 어렵게 설명할 것이란 예상을 깨고 적절한 정도로 잘 설명해주어서 이해하기 좋았네요. 특히 경춘선 3G제라던가. 좀 짧게 끝나긴 했지만 아무튼 재밌었습니다. -[김태진]
          * 사실 제 php 혐은 ~~황현~~~선배의 영향이 크기 때에... 잘 알아야 싫어하죠. 그래도 키보드 타이핑은 하지 않고 눈으로 잘 쫓아서 참여 했습니다. -[고한종]
  • 등수놀이 . . . . 2 matches
          인터넷 사이트를 돌아다니다보면 댓글달기가 되는 게시판에서 흔히 볼 수 있는 장난이죠. 물론 거기에 댓글을 달진 않지만 속으로는 ''등수놀이 즐!''이라고 생각했는데, 오늘 신기사 제목을 훑다가 ''우리나라가 어떤 점에서 세계 몇 위''이런 기사를 보고 ''이거도 등수놀이 아닌가?'' 싶었습니다.
          이런 신기사 말고도 등수 매기기는 생각해보면 더 있는 것 같습니다. 당장은 성적으로 매기는 등수가 떠오르는데요. 하지만 다른 등수놀이에는 딱히 거부감이 없습니다. 저만 그런 것인지..궁금하군요.
  • 레밍딜레마 . . . . 2 matches
         시리즈 물인데, 같은 시리즈의 하나인 혜영이가 남긴 감상 [http://zeropage.org/jsp/board/thin/?table=multimedia&service=view&command=list&page=0&id=145&search=&keyword=&order=num 네안데르탈인의 그림자] 와 같은 짧고 뜻 깊은 이야기이다. 왜 이 책을 통해서 질법을 통한 실용적이며, 진짜 실행하는, 이루어지는 비전 창출의 중요성을 다시 한번 생각하게 되었다. ["소크라테스 카페"] 에서 저자가 계속 주장하는 질법의 힘을 새삼 느낄수 있었다.
  • 레밍즈프로젝트/프로토타입/에니메이션 . . . . 2 matches
         이 클래스는 더블버퍼링과 bmp그리기를 자동화 시켜둔 [레밍즈프로젝트/그리기DC](CmyDouBuffDC)를 사용하여 드로잉을 수행한다. (CDC를 사용하는 도 있지만... 편의를 위해서...)
  • 레밍즈프로젝트/프로토타입/파일스트림 . . . . 2 matches
          *ps2 = NULL; // NULL 자로 끝나게 한다.
         기본적인 Read() 함수도 사용할 것 같다.
  • 마스코트이름토론 . . . . 2 matches
         으아 맨날 대발이만 성질 부리며 누질르다 자를 눌르려니 부담되네, 자꾸 대을 누르게 된다는.. --상민
         그냥 제로미 시키죠. 그리고 moin글자만 빼서 대용으로 하나좀.. --상민
  • 만년달력/강희경,Leonardong . . . . 2 matches
          continue;
          for ( int j=0 ; j<date ; j++) //숫자를 찍기 전에 요일만큼 빈칸을 찍어줌
  • 몸짱프로젝트/CrossReference . . . . 2 matches
          continue;
         ch = fin.get();// 알파벳이 아닌 자일 경우
  • 문자반대출력/Microsoft . . . . 2 matches
         n byte 자를 뒤집기 위해 또 다른 n byte 의 버퍼가 필요하지 않군요. 1 byte 의 ch 변수와 포인터 두개면 되겠군요. '포인터 연산'에 익숙해지면 좋을 것 같네요. --[이덕준]
         실제 구현이 어떻게 이루어져 있는 지 궁금했는데 감사합니다^^ 자열의 맨 앞글자와 맨 뒷글자부터 swap하는 방법으로 간단하게 변환이 가능하네요~~ 오~~ 신기하다 ㅋ -- [이도현처음화면]
  • 문자반대출력/임인택 . . . . 2 matches
         제에서 제공하는 파일입, 출력은 제공안함..
         [자반대출력], [LittleAOI]
  • 반복문자열/김정현 . . . . 2 matches
          -소스페이지 양식은 [반복자열/허아영]을 참고해 주시구요. -- [허아영]
         [LittleAOI] [반복자열]
  • 반복문자열/이도현 . . . . 2 matches
         [반복자열/허아영]을 읽어보시면 도움이 될 내용이 있습니다. -- [Leonardong]
         [LittleAOI] [반복자열]
  • 반복문자열/이정화 . . . . 2 matches
         [반복자열/허아영]에 있는 내용을 읽어보길 권합니다. 함수가 무엇일까 생각해볼 수 있을 것입니다. -- [Leonardong]
         [반복자열]
  • 반복문자열/임다찬 . . . . 2 matches
         const에 대해서 배웠다면 char* 대신에 const char*를 사용하는 것이 좋습니다.-- [Leonardong]
         const char*는 사용안해봤어요- [임다찬]
  • 반복문자열/최경현 . . . . 2 matches
         // CAUCSE LOVE. 라는 장을 5번 연속해서 출력시키는 프로그램을 작성하라.
         [LittleAOI] [반복자열]
  • 방울뱀스터디 . . . . 2 matches
          * http://python.netian.com/index.html - 초 간단 법 익히기
         형 계획에서.. 팀프로젝트같은거.. 저 제외하고 진행하시는게... 전 그냥 꼽사리 수업생으로 큭..
  • 별표출력/하나조 . . . . 2 matches
         힌트:중첩 for 사용.
  • 보드카페 관리 프로그램/강석우 . . . . 2 matches
          throw domain_error("그 테이블은 사용중 입니다.");
          throw domain_error("그 게임은 사용중 입니다.");
  • 복/숙제제출 . . . . 2 matches
          printf("구구단의 세계에 오신것을 환영합니다. 숫자를 입력해주세요. \n");
         근데 이상한점이... 실행시킨뒤에 9단까지만 받는게 아니라 숫자 다 받는데 어떻게 된거징...
  • 복날 . . . . 2 matches
          류상민(99학번), 장재니(02학번), 원명(03학번)회원 군대 감
          === 동서버 홍보글 ===
  • 복사생성자 . . . . 2 matches
         1. stl 에서 class 복사시 많이 사용
         3. 보통 operator= 재정의와 같이 사용
  • 블로그2007/송지훈 . . . . 2 matches
         아주 잘 나옴. php 법을 좀 더 공부하면 보기 좋게 출력하는 방법도
         = 질 =
  • 비밀키/최원서 . . . . 2 matches
          cout << "숫자 입력> ";
          cout << "숫자 입력> ";
  • 상협/너만의명작을그려라 . . . . 2 matches
          * 우연히 신을 보다가 책 소개하는 부분을 봤다. 그거 보고나서 끌려서 도서관에서 빌렸다. 역시 신은 꼭 봐야 한다니깐.. 이런정보도 있고..
  • 새로운위키놀이 . . . . 2 matches
         동시 수정시에 에러가 나기때에 페이지를 계층화 시켰습니다.
         || [보창] || . ||
  • 새싹교실/2011/GGT/L1&L2 . . . . 2 matches
          * 선형대수학 chap 1.1 to 1.4 연습제 질의응답
          * 위키 사용법을 먼저 알려줬어야했는데 하지 못했다.
  • 새싹교실/2011/學高/2회차 . . . . 2 matches
          * %d: 십진수 표현, %e: e 표기법 표현, %c: 자 표현, \n: 행 바꿈
         %c 자를 표현 %d 십진수 정수 나타냄.
  • 새싹교실/2011/學高/6회차 . . . . 2 matches
         반복,조건, 여러 연산자 등에 대해서 배웠다..
  • 새싹교실/2011/學高/7회차 . . . . 2 matches
          * break, continue
          * 솔까말 제대로 준비 못했다. 집에서 C 책 좀 가져오고 해야겠다. 귀차니즘이 제임
  • 새싹교실/2011/學高/8회차 . . . . 2 matches
          * 음... 헤더는 제가 실수한거구요. 하노이의 탑을 짤 때 제대로 짰는지 확인해보라는 의미로 count를 넣었기 때에 굳이 함수의 형태를 건들기보단 전역변수를 임시로 선언해서 쓰는것이 더 좋을 것 같아서 이렇게 작성했습니다. - [윤종하]
          * declaration과 사용
  • 새싹교실/2011/무전취식/레벨11 . . . . 2 matches
         이진영 : 저번주에 창설 휴강해서 집에 일찍 갔는데 원래 선대 공부를 할려했는데 근데 일주일동안 잠만 많이 잤음. 그래서 일요일에 아빠 거래처 사람이 앵무새를 갖다주심. 근데 말은 못하는 애들같음. 근데 제가 조류를 싫어함. 원래 고양이를 기르려했는데 못기르는데 동네 고양이가 현관 열어뒀더니 새들한테 달려들음. 그래서 새를 이름 지음. '모토' '로라' 근데 새가 엄청 조용했는데 하루 지나고 짹째댐. 때려야겠음. 그리고 어제 월요일이라서 남자친구 만났는데 인천 대공원갔음. 그래서 자전거 탔는데 사람 너무 많았음. 근데 한 30분타고 힘듬. 너무 덥고 그래서 쉬다가. 자전거 반납함. 그러고 롯데월드감. 그래서 롯데월드가서 야간이랑 이벤트해서 1만 5천밖에 안하는데 사람 너무 많아서 ㅠㅠ 별로 못탔는데 그래도 유명한거 다탐. 씐난다! 번지드롭 봤는데 초딩 4명이 스크림 가면쓰고 손흔드는데 많이 무서웠음. 그리고 자이로 스윙 무서웠는데 어제 타니까 별로 안무서웠음 'ㅅ'
          * 미래에 대해서 이야기를 하는 시간을 가졌는데 아직 뭘 할지 생각도 안했네요ㅋㅋ 기말고사도 다가오고 새싹교실도 이제 끝나가네요 ㅜㅜ 중간고사때 ppt보다 예제 해보기만을 반복해서 놓친 제가 조금 있어서 아쉬웠는데 이번에는 ppt도 유심히 보려고 합니다. 예제도 봐야하는데 이번 예제들은.... 너무 어렵네욬ㅋ 모두 기말고사 잘 봅시당ㅋ - [서원태]
  • 새싹교실/2011/무전취식/레벨6 . . . . 2 matches
         서원태 : 선대 망. C언어 보고 정통부 애들끼리 모여서 술먹음. 그리고 PC방가서 게임하고 집에가서 또 게임함 4시까지 하고 그것때에 다음 영어시험은 아예 못봐서 침울함. 그래서 교수님께서 한번더 기회주셔서 다음주 월욜 10시까지 오라했는데 그날도 못옴. 그래서 중간고사 F.
          * 어쩐지 저는 이 반도 아닌데 육피에 거주하다보니 (그리고 우리반 새싹은 거의 질형식이다보니) 다른 이런저런 새싹을 보게되고 끼네요. 덕분에 ICE Breaking에 제 이름이..- 사실 지금 후기를 쓰는것도 피드백 갯수를 채우려는 속셈...응? 배열은 C시간에도 이제 막 배우고 있는건데 여기는 제대로 연습안했다간 망하기 쉬운곳이라더군요. 삽질열심히 해야겠어요. -[김태진]
  • 새싹교실/2011/무전취식/레벨7 . . . . 2 matches
          * 이걸 너무 늦게 올리게 되는군. 드디어 나오는 pointer 대마왕!! 이거이거 쓰는법이 정말 힘들게 하지요~ 난 컴퓨터가 아니라. 이건 너무 힘든 개념입니다. 요즘 너무 지루하게 가르치고 있는건지 아니면 시간대가 졸려운 시간인건지 모르겠습니다만 제가 있는것 같아요. 졸리거든요. 이제 부터 아이스브레이킹 20% 복습 40% 진도 40% 시간이 될듯합니다. 한번 읽어보는것만으로 큰 힘이 되는 개념이라 생각하고 갈키고 있으니 후기 쓸때도 잘 부탁드립니다. 길게 써요 좀. - [김준석]
          * 아 도망간거 아니에요 ㅜㅜ 그날따라 또 스케쥴이 겹치고 겹치고 완전 이상한날이 되서 예사 수업도 못듣고 머얼리 갔었는데 ㅜ..... 벌금이라뇨 ㅠㅠㅠ흐흐흐흐흑
  • 새싹교실/2011/씨언어발전/4회차 . . . . 2 matches
         * 함수의 사용법(함수의 오버로딩)
         * 함수의 사용법(함수의 오버로딩)
  • 새싹교실/2012 . . . . 2 matches
         ||18-2||[새싹교실/2012/AClass]||김태진, 황혜림, 한송이, 곽길, 도상희 ||6회차 진행|| 수 3시(6/13종강) ||
          새싹교실/2012/ -> 이뒤에가 /가 들어가지 않는것이 계속 반복되면서 [^/]로 끝나는 장 으로 검색한것임
  • 새싹교실/2012/Dazed&Confused . . . . 2 matches
          * 포인터, 재귀함수, 피보나치 수열을 코딩해 보았다. 피보나치는 하다가 실패했지만 자주 코딩을 해 보면 슬슬 감이 올 것 같다. 재귀함수의 return에 대한 개념이 흐려서 아직 재귀함수를 잘 못 쓰겠다. 연습을 자주 해야겠다. Practice makes Perfect?.. 포인터에 대한 개념이 흐렸는데 어느 정도 자리를.. 개념을 잡은 것 같다. 머리 속에서 코딩이 안 되면 펜으로 수도 코드작성이나 수학적으로 해설을 먼저 작성하는 연습을 해 보아야겠다. 강의에서 좀 더 코딩 연습이나 연습 제 풀기와 같은 것이 많았으면 좋겠다. 단순히 따라적기만 해서는 잘 이해가 안 되는 것 같다. - [박용진]
          * 함수, 재귀함수, 배열, 메모리 주소, 포인터 등을 복습하였다. 지난 주에 이해되지 않았던 부분에 대해서 상세히 설명해 주셔서 좋았다. 직접 피보나치 수열을 작성해 보면서 재귀함수의 사용을 익힐 수 있어 좋았다. - [김민재]
  • 새싹교실/2012/설명회 . . . . 2 matches
          * 선생님 지원자가 정말 많으네요. 사실 너무 많은게 아닐까 싶은 생각도 조금 듭니다. 만약 새싹교실을 성실히 진행한 반에 지원한다거나, 위키 사용을 잘 하고 있는지 한번씩 체크해보고 싶다거나, 모든 반이 함께 모여 공동의 활동을 진행하려 할때 약간 버거울수도 있지 않을까 걱정되는 면이 있어요. 반편성이나 회장님께서 각 반 선생님들께 공지해야 할 일이 있을때도 좀 힘들지 않을까 싶어 걱정이네요ㅜㅜ
          * 다른 언어를 가르치는 반은없나? C는 법에 너무 신경이 쏠리자나.. 얼랭 공부할 사람 없나요? - [서지혜]
  • 새싹교실/2012/아우토반/앞반/5.17 . . . . 2 matches
         1. 자열을 인자로 받아 자열을 거꾸로 저장하는 함수
  • 새싹교실/2012/열반/120507 . . . . 2 matches
          * 어떤 도서관의 서가에 책이 정렬되어 있지 않다고 가정해봅시다. 그 상황에서는 어떤 특정한 책을 찾기는 매우 힘듭니다. 우리가 도서관에서 책을 쉽게 찾을 수 있는 이유는 책들이 정렬 되어 있기 때입니다. 단, 저런 편리함을 위해서는 어느 정도의 비용이 발생합니다. 기존의 데이터를 정렬할 때 드는 비용이 있고, 새로운 데이터가 삽입하려 할 때 정렬을 유지하기 위해 드는 비용이 발생합니다. 예를 들어 도서관의 서가에 책이 정렬되어 있으면 새로운 책이 들어왔을 때 제 자리에 찾아 꽂아야 하지만, 정렬되어 있지 않다면 아무 빈 공간에 꽂으면 됩니다. 이렇듯 비용이 발생하기 때에, 어떤 자료를 항상 정렬할 필요는 없습니다. 찾는 일보다 추가하는 일이 훨씬 많다면 정렬하지 않는 것이 이득이 될 수도 있습니다.
  • 새싹교실/2012/절반/중간고사후 . . . . 2 matches
         함수 사용
         재귀함수 법 정확히 쓰기
  • 새싹교실/2012/홍보 . . . . 2 matches
          * 6층 PC실, 과방 앞, 과방 안, 강의실 두 곳, 학생회실 앞에 붙임.
          * 동네트워크에 홍보글 작성
  • 새싹교실/2013 . . . . 2 matches
          * 위키를 사용하지 않는 팀들은 그럼 새싹교실 스터디만 진행하는 건가요? 아니면 다른 곳에 기록을 한다거나 정모에서 배운 내용을 공유한다거나 다른 활동을 하는 건가요? 위키를 사용하지 않더라도 링크 없이 반 이름 정도는 리스트에 올려두는 게 어떨까 싶은 생각이 듭니다. - [김수경]
  • 새싹교실/2013/라이히스아우토반/7회차 . . . . 2 matches
          * 사용하는 방법 ex) {{{arr[3]}}}; {{{arr[i]}}};
          * Internet Explorer를 제외한 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
  • 새싹교실/2013/양반/6회차 . . . . 2 matches
          * break, continue
         == 질 ==
  • 새싹교실/2013/양반/7회차 . . . . 2 matches
          * break, continue
         == 질 ==
  • 서버구조 . . . . 2 matches
         usr - 사용자가 정의하는 프로그램 저장
         home : 동서버 소스가 들어있음
  • 세미나/2004 . . . . 2 matches
         || 6 || 희경&정욱 || [알고리즘입] ||. ||
         || 7 || 휘동 || [Debugging] || 간단한 디버거 사용 시연, 디버깅에 대해 이야기 나누기||
  • 수업평가 . . . . 2 matches
         해당 수업을 직접 수강한 사람만 평가 가능. 기존의 숫자에 -2에서 +2 사이의 점수를 더하면 된다.
         ||교양영작 수업 || 1 || 1 || -1 || 0 || 1 || 1 ||1 ||
  • 숫자를한글로바꾸기/허아영 . . . . 2 matches
         매번 제내느라 수고하넹.ㅎ 고생혀~ 그럼 좋은하루.ㅎ - [조현태]
         [LittleAOI] [숫자를한글로바꾸기]
  • 숫자야구/ 변준원 . . . . 2 matches
          int base = rand() % 1000; // % 9를 하면 0~9까지의 숫자가 들어갈 수 있고
          // 거기에 1을 더하면 1~10 까지의 숫자가 됩니다.
  • 숫자야구/곽세환 . . . . 2 matches
          cout << "숫자입력 : ";
         [숫자야구]
  • 스터디지원 . . . . 2 matches
          * ~~제로페이지 내에서 진행되는 스터디와 프로젝트에 대해, 한 달 한도 금액(인당 1만원) 내에서 식비로 사용하고 월말에 정산하는 방식입니다.~~
          * ~~회식비 사용 방안(스터디 시 다과 구입, 회식 등)은 스터디 구성원끼리 합의하여 결정하시기 바랍니다.~~
  • 시간맞추기/조현태 . . . . 2 matches
         ..제는 별로 어렵지 않았다. time이녀석이야 평소에도 쓰니까..
         그리고 제에 오차율이 빠져있었다. 얼마나 정확하게 하라는건지..1/1000초는 아닐테지?? 1/100인가??
  • 시작이반 . . . . 2 matches
         - from 히로나카 헤이스케의 '학의 즐거움' 중 '창조의 여행 - 시작이 반' 중에서..
         '발명광'이라 불리는 프랭클린은, 번개가 칠 때 연을 날리는 실험을 함으로써 번개가 전기임을 증명하여 피뢰침을 발명한 것으로 유명하다. 어느 날 그는 또 하나의 발명을 하여 친구 집에 뛰어가 자랑스럽게 그것을 보여 주었다. 그런데 계속되는 그의 발명에 약간 싫증이 난 친구는 "도대체 그렇게 유치한 것을 만드는게 뭐가 대단하며, 무슨 소용이 있나?" 라고 말했다. 그러자 프랭클린은 옆에 누워 있던 갓난아이를 가리키며 이렇게 반하였다. "그렇다면 이 아기는 무슨 쓸 데가 있는가?"
  • 식인종과선교사문제/조현태 . . . . 2 matches
          == [식인종과선교사제/조현태] ==
         [식인종과선교사제]
  • 신입생교육 . . . . 2 matches
         신입생 교육에만 학회의 초점이 맞춰지면 학회의 수준은 신입생 부근의 수준에 머무를지도 모릅니다. 그렇다고 해서 신입생 교육이 중요하지 않다는 것은 아닙니다. 무척 중요합니다. 하지만 그것만 주류가 되는 것은 제가 있습니다.
         도제살이의 장점은 실제 전가가 일하는 방식을 옆에서 보고 배울 수 있다는 것, 그리고 처음에는 바깥의 덜 중요한 일을 하다가 점차적으로 핵심적이고 어려운 일로 옮아갈 수 있다는 것, 처음부터 프로젝트에 일정 부분 기여할 수 있다는 것 등 많이 있습니다.
  • 알고리즘4주숙제 . . . . 2 matches
         빌려온책에 제가 없어서... 그냥 같이 생각들 해봅시다..ㅡㅜ
          우리가 알기로는 복권의 당첨 확률은 매우 낮다. 그러나 당첨자들은 존재한다. 왜일까? 그리고 복권 당첨 확률을 높이는 경우들을 생각해보고 그생각들의 제점도 생각해보자.
  • 여섯색깔모자 . . . . 2 matches
         White - 하양은 중립적이고 객관적입니다. 따라서 하얀 모자는 객관적인 사실과 숫자들을 나타냅니다.
         Blue - 파랑은 냉철합니다. 또 모든 만물의 위에 있는 하늘의 색깔이기도 하죠. 따라서 파란 모자는 생각하는 순서를 조직하는 일, 그리고 다른 모자들의 사용을 통제하는 일과 관련이 있습니다.
  • 열정적인리더패턴 . . . . 2 matches
         '''해당 주제에 대해 열정적이고 그룹의 에너지와 화를 키워내고 유지하려고 마음 먹은 리더가 그룹에 없으면 그 그룹은 정체될 수 있으며, 아마도 살아남지 못할 것이다.'''
         때로는 다양한 사유로 인해 리더가 그룹을 이끌지 못할 수도 있다. 이게 짧은 기간이면 대체로 제가 되지 않는다. 하지만 어느 정도 기간 동안 그룹의 리더가 공석이 된다면, 누군가가 나서서 그 역할을 맡아야 한다. 일반적으로 이미 그룹에 대해 열정적인, 적극적 참여자(ActiveParticipantPattern)가 좋은 선택이다. 그러나 언제나 최선은 역할을 맡겠다는 지원자이다.
  • 영어단어끝말잇기 . . . . 2 matches
          - 재밌어보이기는 한데, [두삽입방식]을 사용해야 할 것 같고, 페이지가 길어지면 내용정리가 필요할듯.. - [임인택]
  • 영호의바이러스공부페이지 . . . . 2 matches
         continue_search:
          jmp continue_search ; Otherwise, try another
  • 위시리스트 . . . . 2 matches
          * 정기적으로 결제해야 하는 상품이 아닌, 1회 결제로 사용할 수 있는 상품이어야 합니다.
         DirectX11을 이용한 3D 게임 프로그래밍 입
  • 위키기본css단장 . . . . 2 matches
         자신이 원하는 css가 있다면 추가해 주시고 맘에 드시는 css투표란의 숫자를 올려주세요
          * FireFox 에서 기본스킨을 적용시킨 제로위키는 RecentChanges 에서 페이지 이름이 너무 작게 나와요. -ㅅ- 누가 CSS 좀 수정해주셨으면 하는데.. ZeroPagers 들 중에서 FireFix 를 자주 사용하는 사람들이 많거든요 [1002]형이나 [임인택]이나... - [임인택]
  • 위키놀이 . . . . 2 matches
         동시 수정시에 에러가 나기때에 페이지를 계층화 시켰습니다.
         || [이규완] || [보창] ||
  • 위키메뉴얼 . . . . 2 matches
         지금 제작중인 위키메뉴얼은 위키에 익숙하지 않은 사람을 위해 만드는 것이기 때에 위키페이지로 제작하지 않습니다.
         사용법 대부분이 완성되었습니다. 일정이 빡세서 원래 목표했던 기일에는 맞추지 못했지만 끝이 보이기 시작합니다.
  • 육군일반병 . . . . 2 matches
         ["병역제어떻게해결할것인가"]하는 고민에서 많은 컴공인들은 ["육군일반병"]을 아예 제껴놓고 고려할 것이며, 주변에 그리로 빠지는 친구가 있다면, "참, 삶에 대해 너무 방관한 거 아냐"하며 혀를 끌끌 찰지도 모른다.
         JuNe은 ["육군일반병"] 출신입니다. 그렇다고 보통 말하는 일빵빵(속어로 땅개라고 부름)은 아니고 장갑차 조종수였습니다. 그렇지만 저는 이렇게 생각합니다. 나름대로 군 생활을 보람차게 했다고. 누구는 미쳤냐고 할 수도 있습니다. 하지만 어떤 시기를 보람차게 보내냐 아니냐는 것은 자신의 제입니다. 일개인의 능력입니다.
  • 음계연습하기 . . . . 2 matches
         에릭슨(Ericsson)의 전성(expertise)연구가 이쪽 방면에 유명합니다(see also http://www.vocationalpsychology.com/expertise.htm 및 각종 인지심리학 서적). 바이올린 전가들에 대해 막대한 추적조사를 해보았는데, 그들의 실력은 자신이 바이올린 연습(정확히 말하면 deliberate practice)에 투자한 시간과 거의 비례했습니다. 하지만 에릭슨은 여기에 전제를 답니다. 단순한 반복 연습은 아무 도움이 안된다고 강조합니다. 자기 자신을 관찰하는 것, 그리고 피드백을 통해 재조정하는 것이 중요합니다.
  • 이동현 . . . . 2 matches
         무지개손가락, 제로페이지에 올려진 제들 풀어보기
          * 동현이형도 [AOI]참가하시는 군요. 화이팅! -[보창]
  • 이병윤 . . . . 2 matches
          - 사용 언어 : Python
          -제점
  • 이태양 . . . . 2 matches
          * [반복자열/이태양]
          * [자반대출력/이태양]
  • 자유게시판 . . . . 2 matches
          - 자유게시판에 글 수정, 삭제, 추가 하면 RecentChanges 에 반영되지 않나요? 글고 저는 위키위주로 사용해서... (제로페이지 북마크를 http://zeropage.org/wiki/RecentChanges 로 해두고 사용하고 있습니다) - [임인택]
  • 장정일삼국지 . . . . 2 matches
         ''학이란 유연해야 하는 것입니다.''
         오랜만에 읽는 삼국지였고 읽는 동안 여러 생각을 할 수 있었다. 작가의 의도와는 다르게 삼국지에 등장하는 인물과 전쟁에서 많은 영감을 얻었다. 촉의 승상인 제갈량은 이 책에서도 역시나 귀신같은 지략을 보여주는데, 그 지략이 요술이나 점괘가 아닌 주변 상황에 대한 끊임없는 관찰 때임을 역설하였다. 제갈량 뿐 아니라 많은 전투 장면에서 장수나 참모가 이러한 모습을 보여준다. 이는 소설을 매우 사실감있게 만들었을 뿐만 아니라 놀라운 결과는 세심한 관찰에서 나온다고 알려주는 듯했다.
  • 정모/2004.04.27 . . . . 2 matches
          * 운영체제는 네트워크를 통해 고스트 이미지를 쓸 수 있음 -> 복구방법과 암호는 [나휘동]에게 의하세요.
          * 단체로 관리&청소를 하기로 정함 ->두 달 동안 일주일에 한 번 돌아가며 관리를 했으니 효과적이지 못 했기 때.
  • 정모/2004.3.12 . . . . 2 matches
          * 제로페이지서버 제로 인해 보류
          * 흥보안 토론
  • 정모/2004.3.19 . . . . 2 matches
          * 제로페이지서버 제로 인해 보류
          * 서버 제로 보류
  • 정모/2004.3.2 . . . . 2 matches
          * RummikubProject - continued
          * 흥보안 - 위키를 통해서 여럿이서 작성하여 배포함
  • 정모/2004.5.7 . . . . 2 matches
          참여가 잘 안된다 - 이유 : 학교 숙제, 시간 관리를 잘 하지 못하는 데 제가 있다.
          - 위키를 자주 사용하자 (관심 부족)
  • 정모/2005.12.15 . . . . 2 matches
         참가자 : 남상협, 이상규, 김정현, 황재선, 보창, 김상섭, 이도현, 이선호, 나휘동, 이승한, 유용안, 김민경, 김태훈, 이형노, 송수생, 조현태, 허아영
          - 그거 좋은 아이디어이네요. . 제로페이지 전용 사물함을 개방하여 필요한 사람이 쓸 수있도록 사용하는 것도 괜찮을 것 같네요 ^^ 계획을 잘해서 실행해볼까요? 다음주 회의안에 올리도록 합시다. - [허아영]
  • 정모/2005.3.7 . . . . 2 matches
         동서버의 학회소개
         ACM: [보창], [윤성만]
  • 정모/2007.1.19 . . . . 2 matches
          * 가장 큰 제 : 참여인원(인원에 따라 가격이 달라진다)
          * 사이트 왼쪽 메뉴중에 잘 사용하지 않는 서버 게시판 등등을 삭제.
  • 정모/2011.7.11 . . . . 2 matches
          * DP 세미나 참여 때에 일찍 끝나서 뭔가 약간 아쉬웠습니다. 데블스캠프도 마치고 새로운 스터디/프로젝트도 시작되어서 사실 공유할 수 있는 것들이 많았을텐데 (저 같은 경우 DB2 Certi Program에 대해 좀 공유하고 싶었고..) 다음주를 기약 해야겠어요. 태진이의 OMS는 MacBook의 디스플레이가 원활했다면 keynote로 더 좋은 presentation이 될 수 있었을텐데 아쉬웠을 것 같아요. 본의 아니게 (주제가 Apple이다 보니) 선배님들이 많이 (농담조로) 디스했는데 발표는 좋았답니다. 역시 태진이는 기대치를 높여주는 친구에요. - [지원]
          * DP 일정이 급하게 잡혀서 짧게 진행했네요. keynote로 진행되는 OMS를 보나 했더니 케이블때에 못 봐서 아쉽습니다. Apple사 제품은 조금씩 만져만보고 직접 써본적이 거의 없어서 OMS 재미있게 들었습니다. - [김수경]
  • 정모/2011.9.27 . . . . 2 matches
          * 계속해서 제를 풀고있습니다. '기숙사와 파닭'이라는 제를 풀기로 했습니다.
  • 정모/2012.1.6 . . . . 2 matches
          * 차기 회장 추천/신청이 정모 이전까지는 저한테 밖에 없었다는게 (추천 2명 + 자진 1명)좀 충격(?)이었습니다. 형진이형이 해준 Play framework는 음.. 뭔가 쉬운거같기도하고 어려운거같기도했네요. 하지만 빠르게 제가 만들었던걸 바로 만들 수 있었다니 그 이유가 형이 아는걸 말해줬기 때에 모르는걸 제가 삽질한거랑 시간차가 많이 나서인지, 프레임워크때인지는 생각을 한번해봐야겠네요.(는 코드 길이 차이가 많이나는군.) - [김태진]
  • 정모/2012.10.8 . . . . 2 matches
          * 작은자바 - DB와 연동 (JDBC 사용)
          * 논 번역
  • 정모/2012.2.24 . . . . 2 matches
          * 6피 오른쪽 풍지부분 창 수리
  • 정모/2012.8.1 . . . . 2 matches
          * 사적인 용도 사용은 퇴장
          * Spring - 하이버네이트로 심플위키 만들고 있음, 하이버네이트는 사용하기에 난이도가 높은 것 같음.
  • 정모/2012.9.17 . . . . 2 matches
          * ACM - 대학생 경진대회 목표, 방학 때 1주에 2번씩 만나 공부, 저번 주 목표: Binary 제 구현, 쉬운 제 풀어서 자신감 회복... 이번 주 : 으아아아아아아
  • 정모/2013.2.19 . . . . 2 matches
          * ACM 스터디 - 다들 일정이 바뻐서 저번주 보다는 제수 적음. 하지만 다같이 dynamic 2제를 풀습니다.
  • 정모/2013.5.13 . . . . 2 matches
          * TIP : Internet Explorer를 제외한 브라우저(FireFox라던가 Chrome이라던가)로 들어오면 각 항목 우측에 "편집"이라고 떠요. 좀 더 편하게 수정 할 수 있죠.
          * 위에 영준이 발표에 대해서 그렇다고 생각되는 말도 있고 나랑은 생각이 다른 것도 있는 것 같아서 잠깐 내 생각도 적어 봄. 개인적인 생각으로 영준이 발표가 유익하고 도움이 되는 내용이 많았던 것은 동의하지만 그게 '좋은 발표'였냐고 물어보면 그건 조금 아니지 않을까 싶은 생각이 든다... ;;; OMS가 발표를 들어주는 사람들이 있기 때에 의미가 있는 것도 맞는 말이고 ZP 회원들이 우호적인 청중인 건 동의하지만 그렇다고 ZP 회원들이 모든 주제에 대해서 집중하고 듣는 청중은 아닐테니까. ZP회원이든 누구든 발표가 길어지거나 어려운 내용이거나 흥미가 안 가는 내용이거나 하면 주의가 흩어지는 건 당연하지 않을까. 물론 조금 더 집중해서 들어주면 좋았을 수는 있지만 청중의 주의를 끄는 것은 발표자의 일이기도 하니까. - [서민관]
  • 정모/2013.5.6 . . . . 2 matches
          * 교수님께 의 해본결과 논급 퀄리티를 요구한다고 합니다.
  • 정모/안건 . . . . 2 matches
         'http://myscan.org/ 을 보면서 1년에 한번 발간하는 형식의 공식 서를 함께 만들어 보는 것도 좋을것 같네요.
         둘러 보다 보니, '항상 ZeroPage 를 활성화 하기 위해 무엇을 할것인가?' 라는 질이 반복 되는것 같습니다. 시각을 바꾸어서, 활성화된 다른 학교의 학회, 동아리에서 그들의 장점 분석하는 벤치마크 이벤트 같은것도 있으면 어떨까요? [공학적마인드]로 말이지요. :)
  • 제로스 . . . . 2 matches
         발표팀 : 발표(방식은 자유), 질을 해도 대답할 수 있을 정도로 공부해 오기.
          * 현재 프로젝트의 방향은 정하지 않은 것으로 보이니까 공룡책으로 이론 공부를 하고 Nachos라는 교육용 OS 프로그램 분석을 병행하면서 여기서 얻은 지식으로 OS를 만드는 접근 방법을 사용하는 것이 어떨까 하는데 다들 의견이 어떠신지 궁금? -- 이론 : Operating System Concepts -- 실습 : Nachos - [진석]
  • 제로페이지의장점 . . . . 2 matches
         나는 잡다하게도 말고 딱 하나를 들고 싶다. 다양성. 생태계를 보면 진화는 접경에서 빨리 진행하는데 그 이유는 접경에 종의 다양성이 보장되기 때이다. ["제로페이지는"] 수많은 가(edge)를 갖고 중층적 접경 속에 있으며, 거기에서 오는 다양성을 용인, 격려한다(see also NoSmok:CelebrationOfDifferences). 내가 굳이 제로페이지(혹은 거기에 모이는 사람들)를 다른 모임과 차별화 해서 본다면 이것이 아닐까 생각한다. --JuNe
         학풍이라는 것이 있다. 집단마다 공부하는 태도나 분위기가 어느 정도 고유하고, 이는 또 전승되기 마련이다. 내가 1학년 때('93) ZeroPage에서 접했던 언어들만 보면, C 언어, 어셈블리어, 파스칼, C++ 등 경계가 없었다. 친구들을 모아서 같이 ''Tao of Objects''라는 당시 구하기도 힘든 "전" OOP 서적을 공부하기도 했다. 가르쳐줄 사람이 있었고 구하는 사람이 있었으며 함께할 사람이 있었다. 이 학풍을 이어 나갔으면 한다. --JuNe
  • 조동영 . . . . 2 matches
          printf("숫자를 입력하시오 :");
         [조동영/이야기], [TicTacToe/조동영], [Map연습제/조동영], [HASH구하기/조동영,이재환,노수민], [JavaStudy2004/조동영], [3 N+1 Problem/조동영]
  • 조동영/이야기 . . . . 2 matches
          생각을 잘못해서 제점이 많았다. (배열사용)
  • 조현태/놀이/채팅서버 . . . . 2 matches
          현재, 당시 사용했던 파이썬으로 만들어진 클라이언트로 1인이 접속, 대화 할 수 있다.
          서버에서 매 시간마다 장을 보내주는 기능까지 구현되어 있다.
  • 조현태/놀이/치이/기능명세/화면 장식 . . . . 2 matches
          === 제점 ===
          * 한글 폰트와 영 폰트는 어떤 것으로 할것인가.
  • 주요한/노트북선택... . . . . 2 matches
          요게 제가 동회 겟판에 올렸던건데.. 결정하기 힘드네요.. 도데체 뭐가 다른지도 잘 모르겠고.. 왜 가격차는 그렇게 큰지.. ㅋㅋ 좀 도와주세요...
         위키에는 정말 많은 페이지가 있기 때에, 이런 페이지는 쉽게 버리기 쉽답니다~^^ - [허아영]
  • 중위수구하기/허아영 . . . . 2 matches
         그냥 넘겨 받아도 제는 없을 것 같은데..ㅎㅎㅎ 짜기 편하자너..ㅎㅎ 제도 줄고..^^
  • 중재자패턴 . . . . 2 matches
         '''마음을 꿰뚫는 질을 하고 대화의 초점을 유지하고, 다양한 개성을 조화롭게 하며 그룹의 이해를 증진시키도록 대화를 중재하라. 모든 구성원이 중재할 기회를 가지지만, 그 역할을 언제 수행할 것인지는 그들이 선택하도록 하라.'''
         중재에 익숙해지려면 시간이 걸릴 수 있다. 왜냐하면 이는 적극적으로 말하고, 듣고, 관찰하는 것을 수반하기 때이다. 또한 반드시 사려깊게 준비해야한다. 언제 대화에 개입할지 적절하게 결정하지 못하면 논쟁이 될 것이다.
  • 지금그때2003/계획 . . . . 2 matches
          8:15~8:25 Market Place 에 질 적기
         ost 진행시간이 30분 정도면 "지나치게" 짧다. market place에 질 적기는 원래 ost가 진행되는 도중에 아무나 적을 수 있다. 안 1번을 하되 OST 진행 시간을 45분 이상으로 늘리는 것이 좋겠다. --JuNe
  • 지금그때2004/전통과사유20040329 . . . . 2 matches
          * '고(?)', '경악', '空', '모호', '즐거움', '희망'
          * 현재 준비에서 제점이 구체적으로 드러났다는 점.
  • 지금그때2005/진행내용 . . . . 2 matches
         = 질 릴레이 =
         [강희경]과 황재선이 기록을 하는 역할(레코더)를 맡았었습니다. 지금은 피곤해서 무리인 것 같고 빠른 시일 내에 질레스토랑의 내용을 정리하겠습니다. --[강희경]
  • 최대공약수/김태훈zyint . . . . 2 matches
         일단 제만 보고 풀었는데 처음부터 call by value 로 짰다 ㄱ-;;
         아영이꺼 보니 while하구 함수쓰는거랑 따로따로하는 거였다..;
  • 최소정수의합/이도현 . . . . 2 matches
         나중에 복잡한 알고리즘을 풀 때 아주 다른 결과를 나타내는 것 중 하나가 loop에서 실수 입니다.
         [LittleAOI] [반복자열]
  • 최소정수의합/허아영 . . . . 2 matches
         만약에 3000까지가 아닌 더 큰 수를 입력하고 프로그램을 돌려보시겠어요? 위의 코드에서 int 를 double 형으로 바꾸고 3000 대신 18000000000000000000 을 넣은 코드입니다. 한번 실행해 보세요. 더 나은 방법이 생각나실수도 있을것 같아요. 제를 풀고 나서 어떤 점을 느끼셨나요? - 아무개
         [LittleAOI] [반복자열]
  • 캠이랑놀자/051228 . . . . 2 matches
         == Python 기본 법 - hand-on python ==
         조건
  • 파스칼삼각형/구자겸 . . . . 2 matches
         최소 배열로 만든 삼각형입니다. 어떤분이 전화로 질 하셔서 모르겠다고 했는데, 완성해버렸습니다. 필요한 배열공간은 시그마n 이 되는군요. 비쥬얼 스튜디오가 없어서 파이썬으로 만들어봤습니다.(코드가 상당히 지저분하네요-_-) 파이썬을 깔고 pascal.py로 저장한 다음에 명령콘솔창에서 "pascal.py 10"이런식으로 사용.
  • 파스칼삼각형/김영록 . . . . 2 matches
          다만 하나하나 다 재귀하는거라서 숫자가 커질수록 무지 느려질거 같네요 ㅠ
         점점어려워지는 제들 ㅠ
  • 파스칼삼각형/김준석 . . . . 2 matches
          if(pas[i][j] && pas[i]) continue;
          printf("%d행 %d의 숫자는 %d 입니다",h,y,pas[h-1][y-1]);
  • 파일 입출력_2 . . . . 2 matches
          fclose(fpt); // fopen 과 fclose 세트로 사용!
         msdn 에서 사용방법 찾아보기
  • 프로그래머가지녀야할생각 . . . . 2 matches
         DeleteMe--우선 윗글에서 (확실히) 불분명한 두 단어를 사용하였는데 하나는 ["programmer"]이고 다른것은 ["생각"]이라는 단어입니다. 우선 단어 정의가 필요한거 같은데..대충 비슷하게는 생각할꺼 같은데 정교화가 필요할꺼 같군요. 재밌고 유익한 토론이 되었으면 합니다.
         와.. 정말 어려운 질이네요.. 프로그래머가 지녀야할.. 생각..ㅡ.ㅡ 이라...
  • 프로그래밍/DigitGenerator . . . . 2 matches
         [http://acm.kaist.ac.kr/Problems/2005b.pdf 제 보기]
          continue;
  • 프로그래밍/Pinary . . . . 2 matches
         [http://acm.kaist.ac.kr/Problems/2005d.pdf 제 보기]
          continue;
  • 프로그래밍은습관이다 . . . . 2 matches
          * 대학원 다니는 아는 선배에게 디버깅 세미나 할건데 뭐 도움되는 말좀 해달라고 하니깐 '프로그래밍은 습관이다' 란 말을 해줬다. 공감이 가는 말이다. 프로그래머에게 프로그래밍은 습관인거 같다. 마치 자전거를 처음 탈때는 엎어지고 그러다가 한번 타기 시작하면 그 다음부터는 쉽게 타는것이랑 비슷한거 같다. 난 군대 가기전에 군대 갔다 오면 프로그래밍 하는것을 다 까먹을텐데 하고 걱정을 했었다. 그런데 군대 가서 프로그래밍에 더 발전은 없었지만 마치 자전거 타는 법을 배우고 한동안 안타다가 다시 타는것과 같았다. 세세한 법같은것은 생각이 나지 않더라도, 그런것을 어디서 찾을지와, 어떤식으로 적용할지는 몸으로 체득했기 때에(삽질ㅜㅡ ) 몸이 기억을 했다. - [상협]
  • 프로그래밍잔치/ErrorMessage . . . . 2 matches
          * 고: 강석천
          * 끝나갈 무렵, 합칠떄가 왔다. 창섭군과 은지 누나가 한걸 가져와서 씌울라고 보니..(처음에는 쉬울줄 알았따. 내 메인 프레임에서 버튼을 누르면 창섭군과 은지 누나가 만든 전화번호부 프레임을 띄울 예정이었다.) 제가 생겼다. 내껀 스윙이고, 창섭이네꺼는 AWT다.--; 스윙과 AWT 같이 쓰지 말라고 하는 말을 너무 많이 봐서.. 스윙으로 고치기 시작했다. ... shit. 함수가 다르자나.--; 이러면서 어떻게 어떻게 고치고 보니--; 메뉴가 가운데 달렸다. 석천이형의 도움을 받아서, 메뉴를 제 위치에 나오게 했다.
  • 프로젝트 . . . . 2 matches
          * [http://jeppy.cafe24.com/cap 세계화체험단]
          * [TheJavaMan/숫자야구] - 2004년 1/26일 종료
  • 프로젝트기록의필수요소토론 . . . . 2 matches
         [1002] 프로젝트의 마감부분은 중요한 부분이 됩니다. 올바른 프로젝트의 끝맺음은 새로운 프로젝트를 다시 추진할 수 있도록 뒷처리를 해주니까요. 현재 semi-project 부분의 경우 그 양이 많은데, 어떻게 끝맺음들을 할지는 좀 더 두고봐야하겠습니다. (자신 주도하로 할 자신이 없다면 페이지를 '일반화' 시켜버리십시오. 즉, 자신의 이름을 걸고 하지 말고 하나의 서처럼 Document 화 시켜버리십시오. 그렇다면 다른 사람들이 중간에 참여하기가 더 용이할 겁니다.) 개인의 이름을 걸고 한다는 것은 그만큼 자신이 해당 페이지를 연 것에 대해 (또는 프로젝트를 연 것에) 책임을 지겠다는 것으로 해석한다면 제가 오버한 것일까요? 하지만, 그런뜻으로 하신 것이 아니라 하더라도, 어느정도 책임감을 가지셨으면 좋겠습니다.
         [1002] 프로젝트 이름에 대해서 한마디 한다면, 'Java', 'ExtremeProgramming' 은 공부하려고 하는 지식의 종류이지 프로젝트의 이름으로 부적절하다고 봅니다. 만일 Java Study 팀이 두 개인 경우라면? 제가 발생할 수 밖에 없습니다. 초창기에 해당 기술부분으로 페이지를 열 수는 있지만, 나중에 프로젝트가 끝나고 난다음에는 일반화시켜서 본래의 이름을 반환해주는 것이 좋다고 생각합니다. (즉, 'Java' 페이지는 Java 에 대한 소개나 기술 등을 넣어주고, 'Java' 페이지이름을 썼던 프로젝트팀은 프로젝트팀 이름의 새 페이지를 만들어서 경과보고를 하는식으로..)
  • 피보나치/이동현,오승혁 . . . . 2 matches
          cout << "숫자를 입력하시오 : ";
          cout << input <<"번째 숫자는 "<< fibo(input) << " 입니다.\n";
  • 피보나치/정수민,남도연 . . . . 2 matches
          printf("%d번때 숫자는 %d 입니다.",m ,k);
          printf("몇번째 숫자를 출력하고 싶습니까?\n-> ");
  • 협상의법칙 . . . . 2 matches
          * 저자 : 허브 코헨 | 강희 역
         처음 저자가 냉장고를 살때의 스토리 텔링에서 난 '''너무 피곤하다.'''란 느낌에 사로 잡혔다. 이 선입감은 읽는 동안 나를 불편하게 만들었다. 더구나, 저자는 모든 사람 사이의 대화를 이러한 딱딱한 느낌의 협상의 대상으로 보고 이야기를 전개한다. '''이렇게 피곤하게 신경쓰며 평소에 살일이 있을까?''' 라는 생각이 든다. 저자가 체를 약간은 더 평화롭게 해결하는 방향으로 잡았다면, 좀더 나에게 의미가 있는 책일것 이라고 생각한다. --NeoCoin
  • 호너의법칙/조현태 . . . . 2 matches
         제에 입력에 대한 정확한 설명이 없어서, 대강 소스에 넣었다.
         그리고 제가 사용한 컴파일러(비주얼 .NET) 은 저에게 말하면 미소녀는 무료, 일반인은 밥 한끼, 미소년은 무한끼에 FTP나 HTTP로 제공해드리고 있습니다.^^
  • 01학번모임/20060310 . . . . 1 match
         - 1,2학년들과 스터디를 하다보니 C, Java, 제풀이 등이 대부분이다.
  • 05학번만의C++Study/숙제제출1/윤정훈 . . . . 1 match
          * 섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. --[최경현]
  • 05학번만의C++Study/숙제제출1/정서 . . . . 1 match
          정서군.. 소스는 {{{다음에 ~cpp를 붙여주세용.ㅎ 그리고 위키서는 위키양식에 맞게..;;ㅁ;; - [조현태]
  • 05학번만의C++Study/숙제제출2/허아영 . . . . 1 match
         자열과 0을 입력하면 프로그램이 끝나게 만들었습니다.
  • 0PlayerProject . . . . 1 match
         [0PlayerProject/프레임버퍼사용법]
  • 1~10사이 숫자 출력, 5 제외 (continue 문 사용) . . . . 1 match
          continue;
  • 2002년도ACM문제샘플풀이/문제E . . . . 1 match
         ["2002년도ACM제샘플풀이"]
  • 2005MFC이동현님의명강의 . . . . 1 match
          * 2005.10.06 곱셈기 제작(다이얼로그 생성 및 사용)
  • 2005summerMT . . . . 1 match
         16 - 17. 화부 엠티는 그 다음주 입니다ㅎㅎㅎ
  • 2006신입생/연락처 . . . . 1 match
         || 최재 || - || - ||
  • 2010JavaScript/강소현/연습 . . . . 1 match
          ....... 차라리 css로 좀 더 세부적으로 분류한 다음에 사용하는게 나을듯??
  • 2010Python . . . . 1 match
          * 의
  • 2학기자바스터디 . . . . 1 match
          내가 자바의 쉬운 GUI사용을 보여줬자나;;; ToyProblems도 괜찮지만 하나 목표를 크게 잡고 하는것도 꽤나 재미있어. -[상욱]
  • 2학기자바스터디/운세게임 . . . . 1 match
         날짜와 랜덤 클래스에 대한 간단한 사용법에 대해 알아봅시다
  • 2학기파이선스터디/서버 . . . . 1 match
          continue
  • 3 N+1 Problem/조동영 . . . . 1 match
          cout << "2개의 값을 입력하시오 단 첫번째것이 더 작은 숫자이어야함" << endl;
  • 3DGraphicsFoundation . . . . 1 match
          DeleteMe)흠.. 나두 같이 하고 픈데.. 시간이 안맞네(알바때에..) 쩝.. 3D 쬐끔하다 말고 하다말고해서 아는게 없다는.. ^^;;
  • 3DStudy_2002 . . . . 1 match
         DeleteMe) 질해도 될까요..? 3D를 공부한다는 말은 도대체 무엇을 공부한다는 말인가요..?? --선호..[[BR]]
  • 3N+1Problem/Leonardong . . . . 1 match
         절대 쉽지 않은 제였다. 아직 수행시간이 턱없이 길다. 사전형 멤버를 이용해 계산했던 부분은 저장해두어 다시 쓰도록 하였다. 답답하다. PsyCo라는 모듈을 새롭게 알알게되었다. --[Leonardong]
  • 3N+1Problem/곽세환 . . . . 1 match
         ACM첫번째
  • 3n+1Problem/김태진 . . . . 1 match
         ||||||||개발시간: 1시간, 입출력제->1시간||
  • 50~100 사이의 3의배수와 5의 배수 출력 . . . . 1 match
          cout << " 숫자를 입력하시오 : " ;
  • 5인용C++스터디/API에서MFC로 . . . . 1 match
          * WizardBar - ClassWizard의 축소판으로 사용하기 더욱 쉽고 편함.
  • 5인용C++스터디/떨림없이움직이는공 . . . . 1 match
         ||원명|| [http://zeropage.org/pub/upload/BounceDouMwm.zip] || 잘했음. ||
  • 5인용C++스터디/버튼과체크박스 . . . . 1 match
          * 다이얼로그 박스에서 만들고 사용하는 방법을 발표하면 안됨!
  • 5인용C++스터디/스택 . . . . 1 match
         || 원명 || Upload:stackMwm.cpp || 역시 잘했어요! ||
  • 5인용C++스터디/시계 . . . . 1 match
         ||원명||[http://165.194.17.15/pub/upload/TimerMwm.zip]|| 잘했음. ||
  • 5인용C++스터디/움직이는공 . . . . 1 match
         ||원명|| [http://zeropage.org/pub/upload/BounceMwm.zip] || 잘했음. ||
  • 5인용C++스터디/작은그림판 . . . . 1 match
         || 원명 || Upload:MinipaintMwm.zip || 잘했음. ||
  • 5인용C++스터디/타이머보충 . . . . 1 match
         멀티미디어 타이머 사용하기.
  • 7피관리 . . . . 1 match
         일반 PC : 76-119, 121 (120번은 네토리 서버로 사용되고 있음.)
  • 8queen/문원명 . . . . 1 match
         [EightQueenProblem] ["원명"]
  • AI세미나 . . . . 1 match
         http://www.math.umn.edu/~wittman/faces/main.html - Neural Network를 사용하여 사람의 얼굴 인식.
  • ALittleAiSeminar . . . . 1 match
         혹은, 구현 자체가 간단하므로 간단히 법을 도움받아서 프로그래밍 진행해도 좋음
  • AM/20040629첫번째모임 . . . . 1 match
          * 진행 방식 : 각자 정해진 분량을 공부하고 정모에 팀원들이 번갈아 가면서 공부한 내용을 세미나한다. 질답변하며 피드백하는 과정을 갖는다.
  • AM/20040705두번째모임 . . . . 1 match
          * 참석자 : 곽세환 김회영 보창 서영희 이슬이 조재화 황재선
  • AM/20040724다섯번째모임 . . . . 1 match
          * 참석자 : 이슬이 보창 곽세환 김회영
  • AM/20040727여섯번째모임 . . . . 1 match
          * 참석자 : 이슬이 보창 곽세환 정택성 김회영 서영희 황재선
  • AM/20040730일곱번째모임 . . . . 1 match
          * 참석자 : 이슬이 보창 곽세환 김회영 서영희 강희경
  • AM/20040803여덟번째모임 . . . . 1 match
          * 참석자 : 이슬이 보창 곽세환 김회영 서영희 강희경
  • AM/20040817열한번째모임 . . . . 1 match
          * 공부한 내용 : MFC 교재 5장(사용자 인터페이스)
  • AVG-GCC . . . . 1 match
         Usage: AVR-GCC.EXE [options] file... ''' 사용법 : AVR-GCC.EXE [옵션] FILE... '''[[BR]]
  • A_Multiplication_Game/김태진 . . . . 1 match
          * 별 ㅈㄹ을 다해도 accept가 뜨지 않아서 포기하고 영기가 푼걸 봤는데, 얼핏보니까 풀이가 같은 방식이잖아? 뭐가 제지??
  • AcceleratedC++/Chapter1 . . . . 1 match
         interface : 객체의 타입으로 묵시적으로 내포 되어 있는 것은 인터페이스로서, 해당 타입의 객체에 사용 가능한 연산(operation)들의 집합을 말합니다. name을 string 타입의 변수(이름 있는 객체)로 정의 하게 되며, 우리는 string으로 할 수 있는 모든 일들을 name으로 하고 싶다는 뜻을 묵시적으로 내포하게 됩니다.
  • ActiveXDataObjects . . . . 1 match
         ADO 는 ActiveX 이므로 C++ 이건 VB 이건 Python 이건 어디서든지 이용가능. 하지만, 역시나 VB 나 Python 등에서 쓰는게 편리. 개인적으로는 ODBC 연동을 안하고 바로 ADO 로 C++ Database Programming 을 했었는데, 큰 제는 없었던 기억. (하긴, C++ 로 DB Programming 할 일 자체가 거의 안생겨서..) --[1002]
  • Ajax . . . . 1 match
         MacromediaFlex 가 인기를 끌지 못한 이유? 글쌔. 서버 한대당 2만달러가 넘는 비싼 라이센스 때이 아닐까. -_a -[1002]
  • Algorithm/DynamicProgramming . . . . 1 match
         = 제 =
  • AnalyzeMary . . . . 1 match
         NeoCoin은 02년도 기말 시험에서 너무나 시간이 없게되는 상황을 맞이 하였다. 학교 출발까지 15분, 통학 시간 1:30 분 남은 상태에서 밥먹으면서 교수님에 성향 대하여 AnalyzeMary를 하고 15분은 강의 노트에 대한 AnalyzeMary , 그리고 도착전까지 열심히 외웠다. 도착 직전까지 외운 내용 조차 시험에 그대로 출제되어 있었다. 결국, 시험의 1제의 부분적것 외에 전부 정답 작성이 가능했다. 여태까지 살아오면서, 최고의 효율이란 무엇인가를 느낄수 있었다. --NeoCoin
  • AncientCipher/강소현 . . . . 1 match
          * 제 이해를 잘못했었음 ㅠㅠ
  • AudioFormatSummary . . . . 1 match
         이 모든 포맷들을 커버하는 플레이어는 오직 [http://foobar2000.org foobar]뿐인듯. 3rd party plug-in 없이 재생 (M$ 애들꺼는 제외). 리눅스에서는 beep-media-player 추천(라이브러리 추가구성해야 함) - 임인택
  • BasicJAVA2005/7주차 . . . . 1 match
          - 읽은 자열을 나누기
  • BasicJAVA2005/실습1/송수생 . . . . 1 match
         == 숫자 야구 게임 ==
  • BasicJAVA2005/실습2/허아영 . . . . 1 match
         그냥 count, 루프에서 숫자만 넣어봤따.ㅋㅋ
  • Basic알고리즘/팰린드롬/임인택 . . . . 1 match
         == 사용 ==
  • Basic알고리즘/팰린드롬/허아영 . . . . 1 match
         오늘 짰던 AOI제와 비슷해서 쉬웠다.
  • BeeMaja/고준영 . . . . 1 match
         for (row=0; CAL(row) < willy; row++)에서 매번 for이 돌때마다 CAL(row)로 계산하지 말고 미리 계산된 값을 변수에 저장해놓고 비교하는게 더 좋을듯. - 고준영
  • BeeMaja/문보창 . . . . 1 match
         [BeeMaja] [보창]
  • BeeMaja/변형진 . . . . 1 match
         그냥 산수 제 푸는 기분으로? = _=;;
  • BirthdatCake/하기웅 . . . . 1 match
         이것을 이용해서 a, b를 for을 통해 변화 시켜가면서 위에 있는 점과 아래에 있는 점이 개수가 똑같은 때의 기울기를 찾는 방식.
  • Blink . . . . 1 match
         원서로 보다가 진도가 너무 안 나가서 번역서로 마저 읽었다. 첫 순간에 내린 판단, 그것이 편견으로 이어지기 쉽기 때에 조심해야겠지. 무엇보다도 다른 사람에 대해 내리는 판단은 틀리기 십상이기에, 누군가를 두고 두고 알아갈 수록 진면목을 볼 수 있다는 생각을 다시 한 번 해본다.
  • BlueZ . . . . 1 match
         주의점) 커널 2.4의 경우 스택에 RFCOMM 관련 스택이 구현 안된 버전들이 존재하기 때에 해당 사이트에서 버전에 맞는 패치를 한뒤 커널을 새로 올려야함.
  • BookShelf . . . . 1 match
          1. [질의힘]
  • BookTemplate . . . . 1 match
         사용법은 NoSmok:ISBNMacro 를 참고하세요.
  • BuildingParser . . . . 1 match
         대충 찾아본 책은 3가지. 첫번째 책은 보창이, 두번째는 나, 세번째는 창섭이가 빌렸을 것임. 온라인 서는 zp자료실에 모았으니 알아서 쓰기 바람.
  • B급좌파 . . . . 1 match
         김규항의 글을 읽고 한편으로는 시원할런지 모르겠지만 (통쾌함하고는 좀 다르다. 친구랑 골방에서 맘에 안드는 넘들 뒤에서 까대는 느낌이랄까) 한편으로는 속이 편할리 없다. 적당히 지적인척 이야기할때 전용어 적당히 섞어주고, 제대로 알지도 못하면서 적당히 사회 아는 양 민주당이 어쩌고 한나라당이 어쩌고 하는. 농활이나 빈활한번 안다녀온 나로서는 더더욱 이 책을 보고선 웃으면 안된다. 삶에서 민감해야 할 사항에서 그냥 간과하고 조용히 사는 소시민으로서는 그저 지식인 투덜거리는 이야기일뿐이다. 진중권이건 강준만이건 김규항이건.
  • C++/SmartPointer . . . . 1 match
         이런게 있기 때에 C++ 이 재미있는게 아닐까? - [eternalbleu]
  • C++Analysis . . . . 1 match
         C++를 더욱 더 잘 이해하고 사용한다.
  • C++스터디_2005여름/도서관리프로그램/조현태 . . . . 1 match
         이로써 배열을 사용해도 빈공간이 생겨 자료를 땡긴다거나 하는 고생은 하지 않아도 된다는..(어이 그렇다고 배열로 짜냐;;)
  • C++스터디_2005여름/학점계산프로그램/정수민 . . . . 1 match
          모르긴 몰라도 이정도면 잘한고 같운데..ㅎ 숫자를 앞에 상수로 선언하면 더욱더 좋겠지만...ㅎ 구래두 잘해떵~>ㅁ<:;
  • CMM . . . . 1 match
          * CMMI : Capability Maturity Model Integration. 모델을 사용하는 입장에서는 각각의 모델을 별개로 적용하는 것보다는 전체적 관점에서 시너지 효과를 내기 위해서는 어떻게 적용할 것인가에 대한 방안이 필요하게 되어 개발된 통합 모델
  • COM/IUnknown . . . . 1 match
         C++ 스마트 포인터에서는 참조 카운팅을 이용해서 dangling pointer 제를 해결한다. boost 의 shared_ptr이 이를 구현한다.
  • CPlusPlus_Tip . . . . 1 match
         1. [SVN 사용법]
  • CSP . . . . 1 match
          continue
  • ChangeYourCss . . . . 1 match
         UserPreferences 에서 로그인후 자신이 원하는 css 를 설정해줄 수 있다. 각자가 취향에 맞는 스타일 시트를 골라서, 만들어서 사용해보자. ^^;
  • ClassifyByAnagram/JuNe . . . . 1 match
         P4 1.8Ghz 512MB Win XP Python 2.2.1에서 17만 단어로 실행하면 4초. 프로세스 메모리 점유 약 31MB. 만약 psyco로 bind를 해주면(if 위에 {{{~cpp import psyco;psyco.bind(Aangram)}}}을 추가) 3.4초.
  • CodeConvention . . . . 1 match
          * 1980년대 charles simonyi 논 Meta-programming : A Software Prodution Method
  • CodeRace . . . . 1 match
         코드 레이스는 팀 단위 실시간 프로그래밍 경진 대회입니다. 온라인게임이나 바둑, 혹은 스포츠 중계를 컴퓨터 프로그래밍에 적용하면 어떨까요? 코드 레이스는 10여팀이 동시에 같은 제를 두고 프로그래밍을 하고, 이 모습이 실시간으로 벽에 투영되며, 해설자들은 관중과 교감해가며 그들이 두는 코드 한 수 한 수를 해설하는 독특한 행사입니다.
  • CodeRace/20060105/도현승한 . . . . 1 match
          //알파벳이 아닌 다른 자를 없애버린다.
  • CodeRace/Rank . . . . 1 match
         || 3. || 보창 || 2 ||
  • ComputerNetworkClass/Exam2004_1 . . . . 1 match
         위의 결과를 근거로 CIDR 이 어떻게 네트워크에서의 확장성 제를 완화시키는지 설명하시오.
  • ComputerNetworkClass/Exam2004_2 . . . . 1 match
         SMTP 로 메일을 암호화하여 보낼때의 제점을 지적하고, 해결방법을 쓰시오.(비밀키 배포 등은 이미 완료되었다 가정)
  • ComputerNetworkClass/Report2006/BuildingWebServer . . . . 1 match
         프락시 서버 역시도 기본적으로 웹 서버와 동작이 다르지 않으며, Cache 의 방법과 로깅을 처리하는 방식에서 차이만 존재한다고 생각이 됩니다. 물론 핵심적인 부분이기 때에 각 프락시 서버의 핵심기술이라고 볼 수 있겠지만, 이는 학과의 개인 프로젝트의 수준을 넘는 처리이므로 불필요하다고 보아지는 바, 역시 프락시 역시도 에코서버의 확장형으로 보아도 무방할 듯 합니다.
  • ConstructorParameterMethod . . . . 1 match
          void setXnY(int x, int y) // smalltalk에서는 setX:xNum y:yNum이라는 메세지를 사용한다.
  • Counting/황재선 . . . . 1 match
          * 동적 프로그래밍 기법을 사용.
  • CppStudy_2002_1/과제1/상협 . . . . 1 match
         6번
  • CppStudy_2002_2/STL과제 . . . . 1 match
          * 배열을 절대 사용하지 않는다!!
  • CppStudy_2002_2/슈퍼마켓 . . . . 1 match
         ["제분류"], ["CppStudy_2002_2"]
  • Cpp에서의가변인자 . . . . 1 match
         [Java] 1.5 언어 스펙에서 가변인자 관련 법이 추가되었다. 자바에 곧 printf 가 추가될 것이다.; --[1002]
  • CuttingSticks/문보창 . . . . 1 match
         [CuttingSticks] [보창]
  • C언어정복 . . . . 1 match
         학생 : 06학번 최재, 06학번 한상모
  • C언어정복/3월30일-내용정리 . . . . 1 match
         ===== 06학번 최재 =====
  • C프로그래밍 . . . . 1 match
         매크로를 사용해서
  • DNS와BIND . . . . 1 match
          * 주석 - 세미콜론(;)으로 시작해서 그 라인의 끝까지
  • DPSCChapter4 . . . . 1 match
         '''Facade(179)'''는 확장된 시스템에서(하위, 상속받은) interface들의 조합에 대한 일관적인 접근(interface)을 제공한다. Facade는 확장 시스템(하위, 상속받은)을 좀더 사용하게 쉽도록 높은 단계의 interface를 정의한다.
  • DataCommunicationSummaryProject . . . . 1 match
          * 그냥 내 생각에는 자기 챕터 공부해 와서 주말이나 아님 평일에 오프 라인으로 자기가 맡은 챕터를 대충 세미나 식으로 해주는 게 좋을 듯 한데... 왜냐하면 서화는 힘이 너무 많이 들어시리... 내 생각에 OP 숙제가 화요일에 끝나니 화요일에 공부해서(물론 화요일 전부터 시간날때 마다 읽음) 수요일과 목요일에 걸쳐서 수업 끝나고 하면 될 듯한데... --재동
  • DataCommunicationSummaryProject/CellSwitching . . . . 1 match
          * 고정길이 셀 사용(53byte = 48 byte의 페이로드 + 5byte의 헤더, ATM의 패킷은 셀이라고 한다.)
  • Data전송 . . . . 1 match
         1. Get : 주소에 넣어서 보내는 방식 사용자의 data 가 표시
  • DebuggingApplication . . . . 1 match
         == 맵 파일 생성하는 법과 사용법 ==
  • DebuggingTip . . . . 1 match
         눈 앞에 보이는 제를 해결하기 보다는 본질이 무엇인가 생각해야 한다. 왜 잘못되었는가?
  • DecomposingMessage . . . . 1 match
         메세지를 다루는 또 다른 방법은 여러 개의 조각으로 나누는 것이다. 리팩토링의 ExtractMethod이다. 스몰토크는 잘게 쪼개는 것을 좀 더 공격적으로 한다. 그래서 한 메소드의 길이가 3-4줄정도밖에 안된다고 한다. 이것이 가능한 이유는 스몰토크는 다른 언어에 비해 높은 수준의 추상화를 제공해주기 때이다. self 에게로 메세지를 보내자.
  • DesignPattern2006 . . . . 1 match
          * Java 언어로 배우는 디자인 패턴 입
  • DesignPatterns/2011년스터디 . . . . 1 match
          * 원래는 WinMerge의 아키텍처 공유하는 시간이었지만 아키텍처와 리팩토링 전가인 Joseph Yoder씨의 방한기념으로 창준선배님이 여신 번개모임에 다녀왔다.
  • DevelopmentinWindows/UI . . . . 1 match
         윈도우즈에서 제공되는 사용자 인터페이스.
  • Direct3D . . . . 1 match
         기본적인 클래스인 CD3DApplication 이 있고, 이것을 상속받은 CMyD3DApplication을 사용하여 하고싶은 일을 할 수 있다.
  • DirectX2DEngine . . . . 1 match
         거창하게 엔진이라고는 했지만, 그정도는 아니고 재사용 가능한 루틴을 만드는 것이 목표.
  • Doublet . . . . 1 match
         ["제분류"]
  • Doublets/문보창 . . . . 1 match
         [Doublets] [보창]
  • DrPython . . . . 1 match
         wxPython 을 사용해서 만든 Python IDE.
  • DrawingToy . . . . 1 match
         사용언어: MFC
  • EcologicalBinPacking/문보창 . . . . 1 match
         [EcologicalBinPacking] [보창]
  • EditStepLadders/황재선 . . . . 1 match
          * 입력 단어에 대해 1~n번의 숫자 번호를 붙였다. 행렬[1...n][1...n]에 편집 단계인 단어에 대해 값을 주어서 방향 그래프를 만들었다. 예를 들어, 1번과 2번 단어가 편집단어라면 mat[1][2] = 1 아니면 0값을 주었다. 가장 depth가 긴 path에 있는 vertex의 개수를 출력하면 된다.
  • EffectiveSTL/ProgrammingWithSTL . . . . 1 match
          * 이유는, 더 효율적이기 때에.
  • EightQueenProblem/Leonardong . . . . 1 match
         [Debugging]을 준비하다가 DebugJournal을 적으려고 풀어 본
  • EightQueenProblem/김준엽 . . . . 1 match
         1번제를 제대로 이해 못해서 실수로 모든 경우를 구해버렸습니다. -0-;;;
  • EightQueenProblem/밥벌레 . . . . 1 match
         procedure SetQueens(n: Integer); // 퀸 배치하기. 이 소스의 핵심함수. n은 현재 사용안한다. 처음엔 RandomSeed로 쓰려했음..-_-;
          Continue;
          Continue;
  • EightQueenProblem/임인택 . . . . 1 match
          recursive-call 을 이용하겠다는 생각이 퍼뜩 들었다. 역시 가장 제가 되는 부분은 backtrack 하는 부분이었다.
  • EightQueenProblem/조현태 . . . . 1 match
         자야하는데 싸우나처럼 더워서.. 도저히 잠을 이루지못하고 뒤적거리다 찾아낸 제..ㅎㅎ
  • EightQueenProblem2/이강성 . . . . 1 match
          continue
  • EightQueenProblemSecondTry . . . . 1 match
         이 테스트는 자신이 처음 제를 푸는 동안 얼마나 많이 배웠는가 하는 지표가 될 수 있습니다.
  • EnglishSpeaking/TheSimpsons/S01E03 . . . . 1 match
          * 바트의 초등학교로부터 바트의 아버지 호머가 일하는 원자력 발전소로의 현장학습이 이루어진다. 바트가 사고를 치는 바람에 호머는 직장에서 짤리게 되고 다른 직업을 구하려고 하지만 이도 여의치 않자 호머는 자살을 시도한다. 하지만 위험하게도 다리에 정지 표지판이 없음에 제가 있다는걸 알고 호머는 안전표지판 세우기의 선구자(?)가 된다. 이후 호머의 안전 연설은 원자력 발전소에까지 이루어지고 자신의 회사에 지장을 줄 우려가 있음을 느낀 원자력 발전소 사장 번즈는 호머를 따로 불러 복직을 시켜주겠다고 하는데..
  • EnglishWritingClass/Exam2006_1 . . . . 1 match
         교과서 "Ready To Write" 에서 제시된 글쓰기의 과정을 묻는 제가 다수 출제되었음. (비록 배점은 낮지만)
  • Erlang . . . . 1 match
          [Erlang/기본법]
  • EuclidProblem/이동현 . . . . 1 match
         제가 있길래 한번 도전해봤습니다. 참여하는데 다른 룰이 있는 것 인지 모르겠군요.
  • ExecuteAroundMethod . . . . 1 match
          ''C++ 에서도 멤버함수에 대해 함수포인터 넘기기가 가능함. (법은 생각 안남) --[1002]''
  • Expat . . . . 1 match
         James Clark released version 1.0 in 1998 while serving as technical lead on the XML Working Group at the World Wide Web Consortium. Clark released two more versions, 1.1 and 1.2, before turning the project over to a group led by Clark Cooper, Fred Drake and Paul Prescod in 2000. The new group released version 1.95.0 in September 2000 and continues to release new versions to incorporate bug fixes and enhancements. Expat is hosted as a SourceForge project. Versions are available for most major operating systems.
  • ExploringWorld . . . . 1 match
         || 질답변 || qna ||
  • ExtremeBear/VideoShop . . . . 1 match
         검색정보 없을 시 죄송하다는 구창
  • ExtremeBear/VideoShop/20021105 . . . . 1 match
          * CRC 를 사용했고 프로그램의 대부분은 완성했다.
  • Factorial . . . . 1 match
         ["제분류"]
  • Favorite . . . . 1 match
         [http://www.cinsk.org/cfaqs/html/ C에서 자주묻는질]
  • FileInputOutput . . . . 1 match
         ["JavaStudy2002/입출력관련제"]
  • ForeverStudent . . . . 1 match
         학생으로의 부분적 기간이 종결되는 순간 자기 스스로를 학생의 무리에서 제외시켜 버리는 경우가 있다. 하지만 우리는 영원히 학생일 뿐이다. 배울 것이 있는데, 내 나이가 몇이고 내가 뭘하고 몇 학년인지 따질 필요가 있겠는가.
  • FoundationOfASP . . . . 1 match
         ["제분류"]
  • Freemarker . . . . 1 match
         프리마커는 자바 서블릿을 위한 오픈소스 HTML 템플릿 엔진이다. 프리마커에서는 HTML을 템플릿으로 저장하는데 이들은 결국 템플릿 객체로 컴파일 된다. 이 템플릿 객체들은 서블리셍서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커 객체들은 서블릿에서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성한다. 프리마커는 고유의 템플릿 언어를 사용하고, 정적인 HTML페이지에 근접한 속도를 자랑한다. ..하략
  • Genie . . . . 1 match
         *현거주: 흑석 1동 중앙대 정
  • Graphical Editor/Celfin . . . . 1 match
          continue;
  • GuiTesting . . . . 1 match
         GuiTesting 을 하는 이유는 여러가지가 있을 수 있다. GUI Programming 에 대한 TestFirstProgramming 에 대한 시도를 할 수 있기 때이다. 해당 UI Control을 하나하나 만드는 일부터 시작할 수 있다. 하지만, 보통의 경우 UI Control을 만드는 일들은 IDE 툴들에서 하는 것이 더 편하다. GuiTesting 은 해당 이벤트 발생시에 따른 처리과정에 대한 TestFirstProgramming 을 시도하려고 할 때 도움을 줄 것이다.
  • Hacking . . . . 1 match
          * Packet 전송 시 암호화 되는 툴 등을 사용.
  • HangulProcess . . . . 1 match
         [http://www.kr.freebsd.org/~cjh/freetime/oss-hangul/pse199904/ Hanterm 에서의 한글 입출력 관련 서]
  • HanoiProblem/은지 . . . . 1 match
          cout << "=하노이탑 제=\n";
  • HanoiTowerTroublesAgain!/황재선 . . . . 1 match
          * 제 이해를 잘못했다-_-; 한 기둥에 놓여진 전체 번호의 합이 완전제곱수인지 체크했었다.ㅡㅜ
  • HardcoreCppStudy . . . . 1 match
          * 우선 첫주는 객체지향을 들어가기 전에 7, 8장이나 함수 사용을 익숙히 하기 위해서 예제를 내겠습니다.
  • HardcoreCppStudy/두번째숙제/This포인터/김아영 . . . . 1 match
         그러면 B클래스에서 A클래스의 포인터를 받을수 있기 때에 A라는 클래스에
  • HardcoreCppStudy/첫숙제 . . . . 1 match
         한가지 질.. 숙제를 하셨으니, 짜면서 overloading 으로 얻어지는 자신이 생각하는 장점과 단점은 무엇인가요? 저에게도 정답은 없습니다. 처음 접하시는 여러분의 느낌이 궁금해서요.--NeoCoin
  • HaskellExercises/Wikibook . . . . 1 match
         http://en.wikibooks.org/wiki/Haskell 을 따라가다 보면 나오는 연습
  • HelpOnNavigation . . . . 1 match
         각 페이지의 좌측 상단 (혹은 임의의 위치)에는 대(FrontPage 혹은 home), 최근 바뀐 글(RecentChanges), 목록(모든 페이지의 가나다순 알파벳순 목록), 찾기(FindPage), 도움말(HelpContents) 등등의 메뉴가 있습니다.
  • HelpOnSmileys . . . . 1 match
         === 사용례 ===
  • HowBigIsIt?/하기웅 . . . . 1 match
         두원 사이의 거리는 필요도 없이 가장 큰 원의 지름이 크기가 되기 때이다.
  • HowManyFibs?/황재선 . . . . 1 match
         반복적인 계산을 줄이기 위해서, bottom-up 방식으로 수열을 처음부터 계산하였다. 계산된 이전 값을 사용하여 다음 수열을 빠르게 얻을 수 있었다. Dynamic Programming을 처음으로 해보았다 :)
  • HowManyPiecesOfLand?/하기웅 . . . . 1 match
          - 보창이의 설명을 들었던 기억 때에 쉽게 해결한 것 같다.
  • HowManyZerosAndDigits/김회영 . . . . 1 match
          cout<<"0의 갯수와 숫자의 갯수를 차례대로 출력합니다.\n";
  • ISAPI . . . . 1 match
         Internet Server Application Programming Interface 의 약자로 개발자에게 IIS 의 기능을 확장할 수 있는 방법을 제공한다. 즉, IIS 가 이미 구현한 기능을 사용해서 개발자가 새로운 기능을 구현할 수 있는 IIS SDK 다. 개발자는 ISAPI 를 이용해서 Extensions, Filters 라는 두 가지 형태의 어플리케이션을 개발할 수 있다.
  • IdeaPool . . . . 1 match
          * 개인 아이디어 ( [IdeaPool/PrivateIdea] ) - 공용 아이디어를 제외한 각종 아이디어들.
  • IntentionRevealingMessage . . . . 1 match
         어떻게 된건가? 의사소통이다. 한 줄의 메소드가 의사소통에 가장 중요하다.(?) 사용자의 입장에서는 그냥 highlight라는 메세지에 영역만 넣어서 보내면 되는 것이다. 사각형을 뒤집음으로써 highlight된다는 사실을 몰라도 되는 것이다. IntentionRevealingMessage는 컴퓨터를 위한다기보다는 사람을 위한 가장 극단적인 형태의 패턴이다. 의도와 구현을 분리하자는 것이다. 메세지의 이름을 그 메세지 내에서 어떻게 되는건가로 짓지 말고, 그 메세지가 무엇을 하는건가로 짓자.
  • IntentionRevealingSelector . . . . 1 match
         컬렉션을 사용하는 유저의 입장에서 각 컬렉션이 서치를 어떻게 하는지는 알 바 아니다. 알고 싶지도 않을 것이다. 바꿔보자.
  • IsDesignDead . . . . 1 match
          * http://martinfowler.com/articles/designDead.html - 원.
  • ItMagazine . . . . 1 match
         다음의 다섯 가지 잡지는 세계적으로 전 IT 개발자라면 대부분 다 보는 잡지(학술저널이 아님)들이다:
  • ItNews . . . . 1 match
         '''''여러분들은''''' 매일 혹은 매주 어떤 소스에서 새로운 뉴스를 구하십니까? (잡지 제외 -- 잡지는 ItMagazine 참조)
  • JMSN . . . . 1 match
         * 사용자의 일부 properties(Foward list, Reverse list, Allow list, Block list, GTC setting, BLP setting)-$1는 서버에 저장된다. $1은 client에 캐시된다. client에 캐시된 $1를 최신의 것으로 유지해야 한다.
  • JSP/SearchAgency . . . . 1 match
          continue;
  • JTDStudy/첫번째과제 . . . . 1 match
          * 숫자 야구를 만들어 봅시다. 어떤식으로 돌아가는지는 다들 아시죠?
  • JTDStudy/첫번째과제/장길 . . . . 1 match
          String input= JOptionPane.showInputDialog(null, "숫자입력");
  • JTDStudy/첫번째과제/정현 . . . . 1 match
         if과 이중for 루프를 돌지 않으려고 발버둥쳤다;
  • Java/JSP . . . . 1 match
         = 사용예 =
  • JavaHTMLParsing/2011년프로젝트 . . . . 1 match
          System.err.println("잘못된 URL입니다. 사용법 : java URLConn http://hostname/path]");
  • JavaScript/2011년스터디/김수경 . . . . 1 match
          * [숫자야구/김수경]
  • JavaStudy2002 . . . . 1 match
          * ["JavaStudy2002/입출력관련제"]
  • JavaStudy2002/상욱-2주차 . . . . 1 match
          continue;
  • JavaStudy2002/영동-2주차 . . . . 1 match
          * 영동아 while 안에 중복이 넘 심하다. 조금만 고민해보면 중복 왕창 줄일 수 있을꺼야...^^ --재동[[BR]]
  • JavaStudy2002/영동-3주차 . . . . 1 match
         사소한 것이지만 지적한다면 class main 의 이름을 Main 으로 바꾸시기를 강력(?) 추천합니다. Java 에는 지켜야하는 규칙인 법외에 [http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html 코딩 약속]을 추천하고 있씁니다. 과거 MS라면 헝가리안표기법 이겠지요? 현재의 .net 에서 헝가리안표기법은 없어졌습니다. --["neocoin"]
  • JavaStudy2002/해온일 . . . . 1 match
          * 둘째주 ... 숙제는 ["RandomWalk"]를 자바로 구현해 보는 것입니다. 일단 난이도는 'RandomWalk -> 움직이는 물체 숫자 늘리기 -> ScheduledWalk(["RandomWalk2"])' 가 되겠습니다.
  • JavaStudy2003/두번째과제/노수민 . . . . 1 match
          자바 언어는 객체지향 프로그래밍을 할 수 있도록 법을 제공해 준다.
  • JavaStudy2004/조동영 . . . . 1 match
          //사용이 안되었네요.
  • JavaStudy2004/클래스 . . . . 1 match
          * 클래스 - OOP를 구현하기 위해 자바에서 사용하는 개념
  • JavaStudyInVacation . . . . 1 match
          * ["JavaStudy2002/입출력관련제"]
  • JoelOnSoftware . . . . 1 match
          [임인택]은 ZPHomePage보다는 ZeroWiki를 이용하기 때에 자유게시판을 잘 안보는데, 우연히 갔다가 JoelOnSoftware에 관한 글이 올라온 걸 보게 되었다. 이전처럼 자유게시판 업데이트 되었을때, RecentChanges에 반영되었으면 좋으련만...
  • JollyJumpers/1002 . . . . 1 match
         역시 옆의 matlab 으로 푸는 분과 시합. 그분도 5분, 나도 5분 걸림. 해당 페이지에서 빨리 푼 사람과 늦게 푼 사람의 차이시간이 커서 무엇때일까
  • JollyJumpers/Leonardong . . . . 1 match
         처음에 리스트에 차를 집어넣은 후 정렬하려 했다가 집합 개념이 떠올라 그 쪽으로 해결했다. statementForSeries메서드 부분에 있던 CheckJolly메서드를 따로 테스트하면서 ExtractMethod를 하게 되었고, 차가 음수인 경우도 테스트를 통해 알게되었다. 보폭이 아직 좁지만 술술 진행한 제이다.
  • JollyJumpers/iruril . . . . 1 match
          // input()은 getIntArray()에서 사용
  • JollyJumpers/강희경 . . . . 1 match
          *binaryMap이라는 bool형 리스트를 사용하여 gap의 중복을 검사
  • JollyJumpers/김태진 . . . . 1 match
          continue;
  • JollyJumpers/임인택2 . . . . 1 match
         == 사용예 ==
  • KIV봉사활동/준비물 . . . . 1 match
         == 화 ==
  • KeyNavigator . . . . 1 match
         로그인과 로그아웃시 마우스 사용을 하지 않고 키의 여정을 최소화 했습니다.
  • Kongulo . . . . 1 match
          continue # skip line
  • LC-Display/곽세환 . . . . 1 match
         bool display[8][7]; // 최대 8자리, 한 숫자를 나타내는데 필요한 선은 7개
  • LazyInitialization . . . . 1 match
         별로 안쓸듯하지만... 켄트벡 왈 : 일단은 ExplicitInitialzation으로 출발을 하고, 상속될 거 같으면 LazyInitialization을 사용한다.
  • LinearAlgebraClass . . . . 1 match
         길버트 스트랭은 선형대수학 쪽에선 아주 유명한 사람으로, 그이의 ''Introduction to Linear Algebra''는 선형대수학 입 서적으로 정평이 나있다. 그의 MIT 수업을 이토록 깨끗한 화질로 "공짜로" 한국 안방에 앉아서 볼 수 있다는 것은 축복이다. 영어 듣기 훈련과 수학공부 두마리를 다 잡고 싶은 사람에게 강력 추천한다. 선형 대수학을 들었던(그리고 학기가 끝나고 책으로 캠프화이어를 했던) 사람이라면 더더욱 추천한다. (see also HowToReadIt 같은 대상에 대한 다양한 자료의 접근) 대가는 기초를 어떻게 가르치는가를 유심히 보라. 내가 학교에서 선형대수학 수강을 했을 때, 이런 자료가 있었고, 이런 걸 보라고 알려주는 사람이 있었다면 학교 생활이 얼마나 흥미진지하고 행복했을지 생각해 보곤 한다. --JuNe
  • LinkedList/StackQueue . . . . 1 match
         ["제분류"]
  • LinkedList/세연 . . . . 1 match
          DeleteMe ) 내용은 LinkedList 가 아니라 Stack의 구현 사항인데, 제 사항에는 LinkedList라고 해놨네요.
  • LinkedList/영동 . . . . 1 match
         == 자유공간리스트(?) 사용 ==
  • Linux/ElectricFence . . . . 1 match
         리눅스에서 사용가능한 CrtDbg 정도로 생각하면 좋다.
  • Linux/MakingLinuxDaemon . . . . 1 match
         상대경로 지정으로 일어나는 프로그램내의 제해결 (안해도 무관)
  • Linux/탄생과의미 . . . . 1 match
          * [http://en.wikipedia.org/wiki/Linux 영]
  • LinuxServer . . . . 1 match
         서버를 구축하고 관리하고 다양한 웹 프로그램을 사용해 보는 프로젝트.
  • LinuxSystemClass/Exam_2004_1 . . . . 1 match
          'split scheduling' 은 LWP 에서의 제점이다.
  • LogicCircuitClass . . . . 1 match
          * 2006년(2학기) - 주로 연습제, term project(10명 팀. 자유주제로 하드웨어 시스템을 회로설계하여 altera 툴로 시뮬레이팅 작성할 것.)
  • LoveCalculator . . . . 1 match
         [LittleAOI] [제분류]
  • LuaLanguage . . . . 1 match
         게임 프로그래머들이 embedding language 로 많이 선호하는 언어. (embedding 시 용량이 작고 법이 간편하다는점에서)
  • MFC/DeviceContext . . . . 1 match
         DC가 사용하는 좌표계.
  • MFC/HBitmapToBMP . . . . 1 match
         // [hBitmap] : 이미지가 저장되어 있는 CBitmap (HBITMAP으로 변화하여 사용)
  • MFC/ScalingMode . . . . 1 match
         // MM_LOENGLISH 모드를 원하기 때에 y의 범위는 음수가 되어야 한다.
  • MFCStudy2006/Client . . . . 1 match
          * 실제 User가 사용할 Client를 제작
  • MFC_ . . . . 1 match
         4. [CxImage 사용]
  • MT페스티발 . . . . 1 match
         ▶ 기타 설
  • MapBrowserSite . . . . 1 match
          * [http://www.congnamul.com/ 콩나물맵 브라우저] 이하는 콩나물을 사용하는 사이트들
  • Map연습문제/노수민 . . . . 1 match
         === Map연습제 ===
  • Marbles/문보창 . . . . 1 match
         예리한 테스트 케이스에 놀랐다. 신비한 수의 세계를 엿볼 수 있는 제(?)다.
  • Marbles/신재동 . . . . 1 match
         제를 푸는 속도에 초점을 두어서 지저분하고 냄새 많이 남. --재동
  • MatrixAndQuaternionsFaq . . . . 1 match
         위에는 이 글에서 사용하는 방법대루 하면 저렇게 된다는 뜻이구.. 저는 Gl 에서 쓰는대루 좌->우로 한 행을 해석하는 방법으로 설명합니다.
  • MineSweeper/zyint . . . . 1 match
         #마인 주변에 있는 숫자들을 더합니다
  • MineSweeper/이승한 . . . . 1 match
         이땐 객체가 무언지 잘 몰라서 함수와 전역 변수들만 가지고 만들어 본...-_-ㅋ;; C랑 다른건 Array 객체를 사용한 정도??;;
  • MoinMoin . . . . 1 match
          * 모인모인을 사용하는 위키 : [http://wikipedia.org], [http://no-smok.net]
  • MoniWiki/Release1.0 . . . . 1 match
         자꾸 욕심이 많아지네요 :) MoniWiki는 [개인 위키]를 목표로 합니다. 따라서 StandaloneWiki 혹은 DesktopWiki로 사용할 수 있는 쉬운 위키엔진이 목표입니다.
  • MoniWikiPlugins . . . . 1 match
         == 사용자 인터페이스 관련 ==
  • MoreEffectiveC++/Appendix . . . . 1 match
         The magazine has made a conscious decision to move away from its "C++ only" roots, but the increased coverage of domain- and system-specific programming issues is worthwhile in its own right, and the material on C++, if occasionally a bit off the deep end, continues to be the best available. ¤ MEC++ Rec Reading, P42
  • MySQL/PasswordFunctionInPython . . . . 1 match
          if each == ' ' or each == '\t': continue
  • NS2 . . . . 1 match
         Networking과 관련된 여러 이론과 아이디어를 가상으로 실험해 볼 수 있는 시뮬레이터. 네트워킹과 관련된 논에서 가설에 대한 검증을 할때 실제 실험을 해 보는 경우가 아니면 99% 이상이 시뮬레이터를 이용한다.
  • NUnit/C#예제 . . . . 1 match
         이대로 쓰기에는 다른 xUnit에 비하면 사용이 불편하다. 하지만 몇 가지 설정을 해 놓으면 콘솔 실행을 자동으로 수행할 수 있다.
  • NumberBaseballGame/동기 . . . . 1 match
          cout <<"숫자를 입력하세요 ex)3 5 2 >> ";
  • NumericalAnalysisClass/Exam2002_1 . . . . 1 match
          * 평이한 시험이였고, 배운 것 위주여서 그리 할말 없음. 수학제 특징상 답이야 명확한것이고;
  • NumericalAnalysisClass/Report2002_1 . . . . 1 match
         == 제 ==
  • NumericalAnalysisClass/Report2002_2 . . . . 1 match
         제 : For given function f(x) = 1/(1+100*x^2) and
  • ObjectWorld . . . . 1 match
         두번째 Session 에서는 세분이 나오셨습니다. 아키텍쳐란 무엇인가에 대해 주로 case-study 의 접근으로 설명하셨는데, 그리 명확하지 않군요. (Platform? Middleware? API? Framework? Application Server? 어떤 걸 이야기하시려는것인지 한번쯤 명확하게 결론을 내려주셨었더라면 더 좋았을 것 같은데 하는 아쉬움.) 아키텍쳐를 적용하는 개발자/인지하는 개발자/인지하지 못한 개발자로 분류하셔서 설명하셨는데, 저의 경우는 다음으로 바꾸어서 생각하니까 좀 더 이해하기가 쉬웠더라는. '자신이 작업하는 플랫폼의 특성을 적극적으로 사용하는 개발자/플랫폼을 이해하는 개발자/이해하지 못한 개발자' 아직까지도 Architecture 와 그밖에 다른 것들과 혼동이 가긴 하네요. 일단 잠정적으로 생각해두는 분류는 이렇게 생각하고 있지만. 이렇게만 정의하기엔 너무 단순하죠. 해당 자료집에서의 Architecture 에 대한 정의를 좀 더 자세히 들여다봐야 할듯.
  • Omok/유상욱 . . . . 1 match
          continue;
  • Omok/재니 . . . . 1 match
          continue;
  • Ones/송지원 . . . . 1 match
         == 제 설명 ==
  • OpenCamp/두번째 . . . . 1 match
          * 후기는 내가 일등. 상대적으로 어려운 주제여서 그런지 사람이 좀 적었습니다. 조촐하게 했네요. 제 세션은 실습이라 시간은 매우 매우 길게 잡았음에도 불구하고 시간이 모자라더군요. 내가 하는 것과 같이 하는것의 차이를 극명하게 느낄수 있었습니다. 첫번째 보다는 speaker의 발표력이 조금은 나아졌다고 느겼습니다. 저도 자바에 대해 잘 몰랐기 때에 유용한 세미나 였습니다. 이로써 항상 1학년에 맞춰주던 zeropage에서 벗어난 느낌입니다. 앞으로고 이런 고급 주제를 다루었으면 좋겠습니다. - [안혁준]
  • OpenGL스터디_실습 코드 . . . . 1 match
         == 스텐실을 사용한 물결흠이 새겨진 사각형 애니메이션 그리기 ==
  • OperatingSystemClass/Exam2002_2 . . . . 1 match
         3. 다음 코드를 수행시 나타날 수 있는 제점에 대해 자유롭게 기술하시오.
  • OurMajorLangIsCAndCPlusPlus/Variable . . . . 1 match
         전역 변수 - 해당 파일 내에서 유효함 (외부 참조 가능), BSS 세그먼트의 공간 사용
  • OurMajorLangIsCAndCPlusPlus/XML . . . . 1 match
         반드시 C로 작성할 것! (확장자 .c 사용)
  • OurMajorLangIsCAndCPlusPlus/XML/조현태 . . . . 1 match
          printf("쿼리을 입력하세요.\n>>");
  • OurMajorLangIsCAndCPlusPlus/math.h . . . . 1 match
         ||double atof ( const char * string ) || 자열을 실수형으로 변형시킨다||
  • OurMajorLangIsCAndCPlusPlus/print/이도현 . . . . 1 match
          // 소수점을 포함한 숫자의 개수
  • OurMajorLangIsCAndCPlusPlus/print/허준수 . . . . 1 match
          continue;
  • OurMajorLangIsCAndCPlusPlus/stdarg.h . . . . 1 match
         - 사용법은 [OurMajorLangIsCAndCPlusPlus/Function] 참고
  • PC실관리/2013 . . . . 1 match
          * Clonezilla CD 없이 사용하는 방법 연구중...
  • PageListMacro . . . . 1 match
         == 사용례 ==
  • PaintBox . . . . 1 match
          * 보창
  • PlayFramework . . . . 1 match
         [Java] 를 사용하는 web framework
  • PlayMacro . . . . 1 match
         MediaWiki와 일관성있게 하기 위해서 {{{[[Media()]]}}}법도 쓸 수 있도록 하였다.
  • PokerHands/문보창 . . . . 1 match
         [PokerHands] [보창]
  • PolynomialCoefficients/문보창 . . . . 1 match
         [PolynomialCoefficients] [보창]
  • PowerOfCryptography/허아영 . . . . 1 match
         난 이 제 보는 순간 sqrt함수 바로 쓰려고 했는데 -_-; 어쨌든 아영아 C++의 오버로딩으로 두개를 합쳐보는건 어떨까? - [이영호]
  • PrimaryArithmetic/Leonardong . . . . 1 match
         빠른 속도가 아니었는데도 오히려 예상했던 시간(1시간) 안에 끝마쳤다. 시간안에 테스트&리팩토링 끝내기는 여전히 잘 안되는 편이다. 한 번 더 해봐도 괜찮을 제 같다.
  • PrimaryArithmetic/허아영 . . . . 1 match
         제점1 -> 나중에 고쳐야 할 것이 많다. 생각하지 못했던 것들을 수정하느라 시간이 더 많이 간다.
  • ProgrammingLanguageClass/Report2002_2 . . . . 1 match
          * 프로그램의 완벽한 수행을 위해서 당신의 데스트 데이터를 신중히 설계하라. 또한 당신의 테스트 프로그램 내부에 합당한 서를 첨부하는 것을 추천한다.
  • ProjectAR/Temp . . . . 1 match
          스토리가 빈약하기 때에 무언가에 몰입할 다른 요소를 만들어야 한다.
  • ProjectLegoMindstorm . . . . 1 match
          * 빨리 위키 사용법을 익히고 페이지를 만들어 나갔으면 좋겠네요. - [이승한]
  • ProjectPrometheus/Iteration4 . . . . 1 match
         || 도서관에서 헌정보 학과 관련 자료 열람(신세계 탐험) || . || ○ ||
  • ProjectPrometheus/Iteration5 . . . . 1 match
         || 도서관 검색 결과를 사용자 평가도에 따라 정렬하기 || . || . ||
  • ProjectPrometheus/Iteration7 . . . . 1 match
         || 사용자 등록 페이지 || 0.5 || ○ ||
  • ProjectPrometheus/Iteration8 . . . . 1 match
         || My Page 사용자 공지 || 0.5 || ○||
  • ProjectPrometheus/LibraryCgiAnalysis . . . . 1 match
          사용자 정보 ( 필수 사항 구분 )
  • ProjectPrometheus/Tips . . . . 1 match
         === Python 에서의 한글 사용 ===
  • ProjectVirush/ProcotolBetweenServerAndClient . . . . 1 match
         || 지역 선택 || showmap 1(지역 번호) || showmap Server내용 참고 || 지역 구별자(숫자) || showData 지도에보여줄감염자수 정상인수 + 바이러스이름1 개수1 항체수1 + 바이러스이름2 개수2 항체수2 ... ||
  • ProjectVirush/UserStory . . . . 1 match
         사용자는 id, pw를 입력한다.
  • PyGame . . . . 1 match
         사용하기 정말 쉽다. [Python] Interpreter 에서 한줄 한줄 입력하면서 공부할 수도 있다.
  • PythonFeedParser . . . . 1 match
         원래 다른 feedParser 사용하다가 한글이 잘 안되는 경우가 있어서 검색 하다가 위 링크의 파서 발견. 훨씬 좋음. 한글 파싱 잘된다. 진작 위 파서로 만들걸.. - [(namsang)]
  • PythonMultiThreading . . . . 1 match
         사용하는 방법은 매우 간단. Thread class 를 상속받은뒤 Java 처럼 start 메소드를 호출해주면 run 메소드에 구현된 내용이 multithread 로 실행된다.
  • RSS . . . . 1 match
         Soon afterwards, Netscape lost interest in RSS, leaving the format without an owner, just as it was becoming widely used. A working group and mailing list, RSS-DEV, was set up by various users to continue its development. At the same time, Winer posted a modified version of the RSS 0.91 specification - it was already in use in their products. Since neither side had any official claim on the name or the format, arguments raged whenever either side claimed RSS as its own, creating what became known as the RSS fork. [3]
  • RabbitHunt/김태진 . . . . 1 match
          if(b[0][i]==b[0][j]) {C++; continue;}
  • Random Walk2/곽세환 . . . . 1 match
          continue;
  • RandomWalk/문원명 . . . . 1 match
         SeeAlso [원명]
  • RandomWalk/은지 . . . . 1 match
         음..방향을 배열루 입력시키믄 switch을 길게 안써두 되는군..
  • RandomWalk/재니 . . . . 1 match
          cout << "Random-Walker를 실행하겠습니다. 숫자를 입력하십시오. ";
  • RandomWalk/현민 . . . . 1 match
          cout << "랜덤 워크를 실행하겠습니다. 숫자를 입력하세요 : ";
  • RandomWalk/황재선 . . . . 1 match
          continue;
  • RandomWalk2/TestCase2 . . . . 1 match
         2. 가로 세로 같으며, 여정이 종료 되기전에 모두 방해서 종료
  • RandomWalk2/영동 . . . . 1 match
          int i, j;//for 돌리는 데 필요한 변수
  • RandomWalk2/질문 . . . . 1 match
         RandomWalk2의 변경4에 대한 질인데요, (긁어서 보세요)
  • ResponsibilityDrivenDesign . . . . 1 match
          * SeparationOfConcerns - 논에 관련 내용이 언급된 바 있음.
  • ReverseAndAdd/문보창 . . . . 1 match
         [ReverseAndAdd] [보창]
  • ReverseAndAdd/이동현 . . . . 1 match
          print "회을 찾을 수 없는수?"
  • RubyLanguage/Class . . . . 1 match
         1은 다음과 같이 사용할 수 있다.
  • SOLDIERS/정진경 . . . . 1 match
          * 이건 이제 다들 알고있다고--! 그 뒤가 제란말야!!
  • STL/Miscellaneous . . . . 1 match
          * 어떤 컨테이너가 int값들을 담고 있다고 하자. 거기서 1982 라는 숫자를 몽땅 지워주고 싶다면?
  • STL/map . . . . 1 match
          warning 의 이유는 STL에서 나오는 디버그의 정보가 VC++ 디버그 정보를 위해 할당하는 공간(255byte)보다 많기 때입니다. 보통 디버그 모드로 디버깅을 하지 않으면, Project setting에서 C/C++ 텝에서 Debug info 를 최소한 line number only 로 해놓으면 warning 는 없어 집니다. 그래도 warning 가 난다면 C/C++ 텝에서 Generate browse info 를 비활성(기본값)화 시키세요.
  • STL/sort . . . . 1 match
          * 한가지 주의할점. 이 sort알고리즘은 컨테이너가 임의 접근(Random Access)을 허용한다는 가정하에 만든것이다. vector나 deque처럼 임의 접근을 허용하는 컨테이너는 이걸 쓸수 있지만. list는 임의 접근이 불가능해서 사용할수 없다. -l[5] 이런 접근이 안된다는 의미 - 따라서 list에서는 컨테이너 내부에서 sort메소드를 제공해 준다.
  • STL/참고사이트 . . . . 1 match
         좋지만 오래된 서 - [http://www.decompile.com/html/tut.html] 미러 : [http://mip.ups-tlse.fr/~grundman/stl-tutorial/tutorial.html]
  • SVN 사용법 . . . . 1 match
         1. 마우스 오른 쪽 버튼 클릭 -> add 선택 -> Debug 제외한 폴더 Add
  • ScheduledWalk/권정욱 . . . . 1 match
          continue;
  • Self-describingSequence/문보창 . . . . 1 match
         Sorted List 이므로 Search 부분에서 Linear Search 대신 Binary Search를 하면 좀 더 효율적이나, 이 정도만 해도 충분히 빠르다. 메모리 사용량을 줄이려면 어떻게 해야 할까?
  • Self-describingSequence/황재선 . . . . 1 match
          * 메모리 사용을 줄이기 위한 방안이 필요하다. 또한 입력값에 맞는 배열 크기 할당이 요구된다. 여기는 입력 값에 관계없이 최대 입력 값에 맞는 배열 크기를 할당하였다.
  • Server&Client/영동 . . . . 1 match
          * 아직 자열 전송은 못 했고 연결만 했습니다.
  • SingletonPattern . . . . 1 match
         SingletonPattern 은 남용할 경우 위험하다. 여전히 Global object 이기 때이다. 즉, Singleton 을 이용하는 모든 모듈은 Singleton Object 와 관계를 맺고 있는 것이 된다.
  • Slurpys/곽세환 . . . . 1 match
          int i, j, temp = -1; // temp는 Slimp의 마지막 자 위치
  • Slurpys/황재선 . . . . 1 match
          * 테스트와 함께하니 재밌다. 자열의 순서를 따지느라 if-else를 남발했는데 리펙토링하기 참 힘들다 -- 재선
  • SmalltalkBestPracticePatterns/DispatchedInterpretation . . . . 1 match
         때때로, 그러나, 한 객체의 정보는 다른 객체의 행위에 영향을 미칠 것이다. 정보의 사용이 단순할 경우, 또는 제한된 정보에 기반해서 선택이 가능할 경우에는 인코딩된 객체에게 메시지를 보내는 것이 충분히 가능하다. 이와 같이, 부울린 값들은 두 클래스의 하나의 인스턴스로 표현되어진다는 사실은, True 그리고 False, 메시지 #ifTrue: ifFalse:. 뒤로 숨겨진다
  • SmithNumbers/신재동 . . . . 1 match
         제 설명에 나온대로 그냥 무식하게 만듬. --재동
  • SnakeBite . . . . 1 match
         ["제분류"]
  • SnakeBite/창섭 . . . . 1 match
          * 타이머를 잘 몰라서 인수랑 선호 서 좀 봐야죠. 케케... OnTimer, SetTimer 로 하고 있긴 합니다만..-.-
  • SpikeSolution . . . . 1 match
         주어진 제에 대한 실험적인 프로그래밍.
  • Spring/탐험스터디 . . . . 1 match
          * 스터디 대상이 매우 방대하므로 충분한 개인적인 학습과 과제 수행, 그리고 스터디 모임에서 많은 질을 할 것
  • StephaneDucasse . . . . 1 match
         최근 Stephane 은 Squeak 에 대한 책을 쓰고 있다. http://scgwiki.iam.unibe.ch:8080/StephaneDucasseWiki 에서 읽을 수 있다. Turtle Graphics 를 이용한 튜토리얼을 제공하는데 정말 재미있다! Smalltalk 를 입하려는 사람에게 추천.!
  • StringOfCPlusPlus/세연 . . . . 1 match
         심화제를 트리루 짤려구 하는데 잘안되네.......
  • StructuredProgramming . . . . 1 match
         다익스트라의 구조적 프로그래밍에 관련한 논들입니다. - [eternalbleu]
  • SummationOfFourPrimes/김회영 . . . . 1 match
          else if(n==2 || n==3) //숫자 1,2,3은 소수이다.
  • SuperMarket . . . . 1 match
         ["제분류"]
  • SuperMarket/인수 . . . . 1 match
         // 제의 코드 부분
  • TAOCP/Exercises . . . . 1 match
          휘동, STX라는 명령이 없어--[강희경]
  • TCP/IP_IllustratedVol1 . . . . 1 match
          * 무턱대고 만들었다. 으.. 아무래도 오늘 자료구조 사건이 큰 영향이었던 듯. 아무튼 저번주와 이번주.. 충분히 느슨해졌었으니 다음주부터는 다시 strict management 체계로 가자. 그리고 서화도 이 페이지에 좀 해야겠다. '앞으로는'. -zennith.
  • TddRecursiveDescentParsing . . . . 1 match
         제점 : 테스트 가능할 수 있는 아이디어가 나오기까지가 오래걸렸다. 테스트 가능한 방법으로 접근하고 나서부터의 코딩은 1-1.5시간정도밖에 안걸렸지만. 그리고 본래의 스펙에는 AST 에 대한 언급이 없었다. 해당 함수가 제대로 호출되었는지를 근거로 접근하는 것이 나았을지도.
  • Technorati . . . . 1 match
         RSS와 블로그의 폭발적인 사용에 힘입어 급속성장하고 있는 기업중에 하나. 기존 포탈의 top-down 방식의 정보 제공이 아니라 개별의 요소들을 종합해서 정보를 만들어내는 bottom-up 방식으로 가공된 정보를 제공하는 사이트.
  • TestCase . . . . 1 match
         XP에서 TestCase를 먼저 작성함으로서 프로그래머가 내부 구현에 신경쓰다가 정작 그 원하는 동작(예를 들어, 다른 모듈과의 인터페이스)을 놓칠 위험을 줄여준다. 왜냐하면, 프로그래머는 먼저 만든 TestCase를 통과하는 것을 첫번 목표로 삼을 수 있기 때이다.
  • TestDrivenDevelopmentBetweenTeams . . . . 1 match
         관련 서 : http://groups.yahoo.com/group/testdrivendevelopment/files 에 Inter-team TDD.pdf
  • TheJavaMan/로보코드 . . . . 1 match
          서로 배틀한번 해봤으면 좋겠군..넷미팅은 끊길려나..아직 만드는중이닷;; --[원명]
  • TheJavaMan/스네이크바이트 . . . . 1 match
          continue;
  • TheKnightsOfTheRoundTable/하기웅 . . . . 1 match
         세변의 길이가 주어질때 삼각형의 내심원의 반지름을 구하는 제이다.
  • TheLargestSmallestBox/문보창 . . . . 1 match
         [TheLargestSmallestBox] [보창]
  • ThePracticeOfProgramming . . . . 1 match
         [TheElementsOfProgrammingStyle] 에 대해 의사항이 있어 저자중 한명에게 메일을 보냈더니, 이 책을 언급하였다. TEOPS 의 중요한 내용들을 이책의 첫 챕터에 수록하였다는 말과 함께. -_-a
  • TheTrip/문보창 . . . . 1 match
         [TheTrip] [보창]
  • TheTrip/황재선 . . . . 1 match
          * double형으로 숫자를 입력받아서 소수점 처리를 하는데 고생했다 -- 재선
  • TheWarOfGenesis2R . . . . 1 match
          3. [[HTML(<STRIKE>)]] DirectX - DirectGraphics / OpenGL 사용법 익히기. [[HTML(</STRIKE>)]] - 1시간 20분
  • TheWarOfGenesis2R/일지 . . . . 1 match
          * 초기화 구의 존재를 계속 잊고 있다가 오늘 번뜩 생각이 나버렸다.
  • Thread의우리말 . . . . 1 match
         [Thread]. 내가 처음으로 [ZeroWiki] 접근하게 되었을때 가장 궁금했던 것중 하나이다. 도대체 [Thread]가 무었인가?? 수다가 달리는장소?? 의미가 불분명 했고 사실 가벼운 수다는 DeleteMe라는 방법을 통해서 이루어지고 있었다. 토론이 펼쳐지는 위치?? 어떤페이지의 Thread의 의미를 사전([http://endic.naver.com/endic.php?docid=121566 네이버사전])에서 찾아보라고 하길래 찾아보았더니 실에꿰다, 실을꿰다, 뒤섞어짜다 이런 의미가 있었다. 차라리 이런 말이었으면 내가 혼란스러워해 하지는 않았을 것이다. [부드러운위키만들기]의 한가지 방법으로 좀더 직관적인 우리말 단어를 사용해 보는것은 어떨까?? - [이승한]
  • TicTacToe . . . . 1 match
         [제분류]
  • TkinterProgramming . . . . 1 match
         알아서 사용하면 됨. -_-;
  • ToeicStudy . . . . 1 match
         시간 결정, 도서관 일주전 스터디룸 빌리기, 해야할 분량 : 법파트와 어휘파트 한과씩,
  • TortoiseSVN/IgnorePattern . . . . 1 match
         서브버전에서 커밋시 기본적으로 제외하는 형태를 지정한다. 대체로 IDE 가 만들어내는 설정 파일과 컴파일된 오브젝트 파일들을 주로 넣는다.
  • Trace . . . . 1 match
         MFC 에서 제공하는 {{{~cpp TRACE }}} 매크로의 기능을 VC 의 다른 프로젝트에서도 사용할 수 있다. 단, 여기서는 매크로가 아니라 함수인것을 유념하자.
  • TriDiagonal/1002 . . . . 1 match
         수치해석 레포트로 나온 TriDiagonal 제에 대한 나름대로의 (--;) TFP 식 접근 풀이. 오히려 다른 사람들보다 소스가 커지긴 했지만, 소스를 원한다면 더 줄일 수 있고 (단, 코드를 알아보기 어려워질까봐 묶을 수 있는 부분에 대해서도 풀어 씀), LU 분해 부분에 대해서는 어느정도 일반화를 시켰다고 생각하기에 그리 나쁘진 않다고 생각하는중.
  • UDK/2012년스터디/소스 . . . . 1 match
         = 2012.07.16 간단한 자열 연결 kismet 소스 =
  • UglyNumbers/송지훈 . . . . 1 match
         sorting 을 사용하는 방법을 생각해봐야 하겠다 라는 것을 느낌.
  • UglyNumbers/이동현 . . . . 1 match
         제에서 제시한 값과 너무 큰 차이가 나는듯.. 어디가 잘못되었는지 모르겠다.
  • UniversalsAndParticulars . . . . 1 match
         대학에서는 특히 보편을 배워야 한다. 소학이 아니고 대학이기 때이다. 그러나 보편은 특수를 통할 때에 맥락을 갖는다.
  • UpgradeC++/과제2 . . . . 1 match
          cout << "정렬할 숫자 10개를 입력하세요!";
  • UploadedFiles . . . . 1 match
         == 사용법 ==
  • User Stories . . . . 1 match
         원 : http://www.extremeprogramming.org/rules/userstories.html
  • VMWare . . . . 1 match
         VMWARE 는 보통 개발 중인 OS 테스트 환경, 임베디드 환경의 크로스 컴파일 환경, 개발 중 어플리케이션의 다양한 플랫폼에서의 테스트 비용 최소화를 위해서 많이 사용한다.
  • VacationOfZeroPage . . . . 1 match
          * TOEFL 의 경우 시사 영어사이에서 나온 TOEFL 책보다는 Barron 이라고 하는 토플 책이 있습니다. 물론 시사도 좋지만. 법에 대하여 어느정도 자신이 있는 상황이라면 Barron 의 TOEFL 책도 좋을겁니다. 번역서는 없고 원서만 있지만 추천할 책입니다.
  • VimSettingForPython . . . . 1 match
         Python extension 이 설치된 상태에서 사용 가능하다.
  • VisualAssist . . . . 1 match
         제는 VA 쓰다가 VA없는 VS쓸라 그러면-_-; 퍼포먼스 50프로 저하;; --[인수]
  • VonNeumannAirport/Leonardong . . . . 1 match
         Traffic하고 Configuration을 각각 2차원 행렬로 표현했다. Traffic은 ( origin, destination )에 따른 traffic양이고, Configuration은 origin에서 destination 까지 떨어진 거리를 저장한 행렬이다. 전체 트래픽은 행렬에서 같은 위치에 있는 원소끼리 곱하도록 되어있다. 입출력 부분은 제외하고 전체 트래픽 구하는 기능까지만 구현했다.
  • WERTYU/1002 . . . . 1 match
         JuNe 의 이야기를 듣고 doctest 를 처음 써보다. (실제로는 한단계씩 진행) 느낌이 꽤 재밌었다. test code 에 대해서 'test code == 서화 정보'를 한다는 느낌이 더 깊게 난다. 조금 더 써먹어보고 관찰해봐야겠다는 생각중.
  • WeightsAndMeasures/신재동 . . . . 1 match
         클래스를 사용한다면 스스로 어떻게 정렬될지 아는 놈으로 만드는 것도 좋겠다.
  • WhatToExpectFromDesignPatterns . . . . 1 match
         서화와 학습을 도와줌.
  • Where's_Waldorf/곽병학_미완.. . . . . 1 match
         로직은 그냥 BF로 했는데 코딩에서 뭐가 젠지 자꾸 에러가 나네....
  • WikiGardeningKit . . . . 1 match
         = [서구조조정] =
  • WikiProjectHistory . . . . 1 match
         || ["NSIS_Start"] || ["1002"] || 2002.2.1~2.9. NSIS Installer에 대한 사용법 작성 ||종료||
  • WikiSandPage . . . . 1 match
         현재
  • WorldCup/송지원 . . . . 1 match
         == 제 설명 ==
  • WorldCupNoise/권순의 . . . . 1 match
          * 아... 입력 받고 시나리오 바로 출력하는 방식이었네요.. 전 처음에 입력 다 받고 나서 출력하는 거였는데.. 영어가 제네요 -_-a
  • WorldCupNoise/정진경 . . . . 1 match
          * [http://poj.org/problem?id=1953 제링크]
  • X . . . . 1 match
          * 필명 : 주로 쓰이는 필명은 X.... (한글자인데다가 영이라서 깨질 염려도 없다 -_-)
  • XpWeek . . . . 1 match
         [http://www.okjsp.pe.kr/upload/Agile_Voice.zip 기민한 화 이야기]를 안 보신 분은 꼭 보고 오셨으면 합니다.
  • XpWeek/20041220 . . . . 1 match
         10시 30분~12시 : 기민한 화 이야기 [http://www.okjsp.pe.kr/upload/Agile_Voice.zip 음성PPT] 보기
  • XperDotOrg . . . . 1 match
         국내 ExtremeProgramming 사용자(?) 모임.
  • Yggdrasil/020523세미나 . . . . 1 match
          cout<<"숫자를 입력하시오.";
  • ZIM/RealUseCase . . . . 1 match
         사용자 인터페이스와 함께 설명이 이루어지면 더 좋겠죠. 일단 ["ZIM/UIPrototype"]이 대강 나온다면... ^^;;;
  • ZPBoard/APM . . . . 1 match
          * 영
  • ZPBoard/HTMLStudy . . . . 1 match
          * MySQL 과 PHP 를 사용해서 만들기
  • ZPBoard/PHPStudy . . . . 1 match
          * [ZPBoard/PHPStudy/기본법]
  • ZPBoardHistory . . . . 1 match
          *지금은 사용하지 않아서 역사의 뒷편으로~~~
  • ZPHomePage/20041228 . . . . 1 match
          * 이달의 인물소개(집중적으로 질 가능)
  • ZPHomePage/레이아웃 . . . . 1 match
          * 집에가닥 글을 잘못썼다는 생각을 했는데 벌써 답글을 달았네요.. '''하면 안된다'''식으로 이해될 수가 있는것 같아 아차했습니다. 제 말의 요지는... 구현한 기능을 사람들이 얼마나 사용할까.. 였습니다. - [임인택]
  • ZP의 나아갈 길 . . . . 1 match
         = 제점 =
  • ZeroPageServer/FixDate . . . . 1 match
         그런데, rdate 가 이번 테스트 업그레이드 버전 부터 안되는 것이다. 새버전에서 servername 을 입력받을수 없다고 하는데, 왜그런지 모르겠다. 그래서 대안으로 이것을 사용한다.
  • ZeroPageServer/계정신청상황 . . . . 1 match
         * ''' 접속시 주의사항''' : ["ZeroPageServer/set2002_815"]에서는 ssh2 텔넷을 지원합니다. 접속시 [http://zeropage.org/pub/util/putty.exe putty]나, 접속하실때 ssh2 지원 client를 사용하세요. ssh1전용인 zterm은 작동하지 않습니다.
  • ZeroPager구조조정 . . . . 1 match
         초기 인원 50(05학번)에서 지금 활동하는 인원은 많지 않기 때에 Zeropage의 효율적인 관리를 위해서 등등을 위해 05학번을 대상으로 구조조정을 해보려고 합니다.
  • ZeroPage성년식/지금그때 . . . . 1 match
          * 기획단이 미리 작성해보는 지금그때 질
  • ZeroPage성년식/후기 . . . . 1 match
          * 소심 게으른 성격때에 행사 준비같은 것은 한번도 해본 적이 없었는데, 제로페이지의 20주년이라는 큰 행사를 준비하게 되어 어깨가 많이 무거웠었습니다. 진행 활동들을 준비하면서 재학생과 선배님들 모두 즐겁게 참여하실 수 있도록 하는 부분이 가장 힘들었습니다... 그치만 걱정과 달리 다들 즐겁게 즐겨주셔서 다행입니다. 이제 맘 놓고 30주년 행사를 기대할 수 있겠네요. 이 글을 읽는 10년 뒤의 후배님들 화이팅입니다 ㅎㅎ - [서지혜]
  • ZeroPage정학회만들기/지도교수님여론조사 . . . . 1 match
          * 저학년 일수록 접해본 교수님이 적기 때에 정확한 분석을 위해 기명 투표를 합니다. 양해해주십시오.
  • ZeroWiki/Mobile . . . . 1 match
          만약 그래도 별개의 프로젝트로 진행하고 싶다면 [http://jquerymobile.com/ jQuery Mobile]을 사용하시는 것을 추천합니다. - [변형진]
  • Zeropage/Staff . . . . 1 match
         남상협, 황재선, 김상섭, 보창, 이선호, 나휘동, 이도현, 조현태, 허아영, 송수생
  • Zeropage/Staff/회의_2006_02_13 . . . . 1 match
         1학기->페어 프로그램, 제풀기
  • [Lovely]boy^_^/Diary/2-2-1 . . . . 1 match
          * 비행기 게임 1차 릴리즈(DB완료, 출력, 게임성 보강만 하면됨).
  • [Lovely]boy^_^/Diary/2-2-12 . . . . 1 match
          * MMM은 정말 영어가 어려운거 같다. 다른 거는 아무리 어려워도 느낌이라도 오는데.. 이건 느낌조차도 안오는 장이 너무 많다. 대강 정리 해놨다.
  • [Lovely]boy^_^/Diary/2-2-14 . . . . 1 match
          * 난 항상 지하철 타고 다니는 사람들이 부러웠다. 지하철에선 책을 볼수가 있기 때이다. 멀미를 잘 하는 나로서는 버스에서 책을 본다는건 미친 짓이다... 학교 왔다 갔다 하는데 드는 2시간을 어떻게 때울까가 현재 고민이다.
  • [Lovely]boy^_^/Diary/2-2-2 . . . . 1 match
          * 우리나라에 사람 무는 바퀴벌레가 들어온 기념으로.. TDD를 이용한 RandomWalk2를 해보았다.(Python) 파이썬 법 자체에서 좀 많이 버벅거렸다는게 좀 아쉽다. 테스트 수십개가 통과하는 것을 보고 있자니 괜시리 기분이 좋아진다는--;
  • [Lovely]boy^_^/Diary/2-2-3 . . . . 1 match
          * 지식의 역사 빌림, 어떻게 제를 풀 것인가 반납
  • [Lovely]boy^_^/Diary/2-2-4 . . . . 1 match
          * 한게 없구만--; 집에 있으면 너무 나태해져서 제다. 뭔가 마음을 다잡을 계기가 있어야 할텐데
  • [Lovely]boy^_^/Diary/2-2-9 . . . . 1 match
          * 알카노이드 이제 그만하자.--; 지겹다. 빨리 리팩토링 대충 끝내고 서화해야겠다.
  • [Lovely]boy^_^/Diary/8/6_8/10 . . . . 1 match
          * 친구 아버지 병
  • [Lovely]boy^_^/USACO/BrokenNecklace . . . . 1 match
          * 역시 테스트를 마니 해봐야 한다는 걸 뼈저리게 느낀 제였다는;;
  • abced reverse . . . . 1 match
          str2[5]=str1[5]; // 널값이 맨 앞이면 출력되지 않음, 따라서 널을 제외한 것 reverse
  • apache/mod_python . . . . 1 match
         === 관련서 ===
  • callusedHand . . . . 1 match
          ''DeleteMe) 처음 독서 방법에 대한 책에 대해 찾아봤었을때 읽었었던 책입니다. 당연한 말을 하는 것 같지만, 옳은 말들이기 때에 당연한 말을 하는 교과서격의 책이라 생각합니다. 범우사꺼 얇은 책이라면 1판 번역일 것이고, 2판 번역과 원서 (How To Read a Book)도 도서관에 있습니다. --석천''
  • callusedHand/projects/fileManager . . . . 1 match
          * 사용 언어: C
  • cogitator . . . . 1 match
         슬슬 홈피 부활이신가요? :) 대 사진 멋있어요.~
  • eXtensibleStylesheetLanguageTransformations . . . . 1 match
         XSLT를 잘 이용하는 곳의 하나로 feedburner를 뽑고 싶다. 한때 MS XSLT 구현 방법에 대해서 말도 많고 탈도 많았으나... 뭐 어쨋든 나름대로들 잘 사용하고 있는 듯 보임.
  • eclipse플러그인 . . . . 1 match
         내가 사용하는 플러그인 update 주소
  • fnwinter . . . . 1 match
          사운드 프로그래밍(FFT/Eq/Sound Effect/BASS/FMOD 사용하기/공짜로 MP3를 다운받기)
  • html . . . . 1 match
         Document Type Definition(Doctype). HTML 서의 버전을 명시한다. 버전 명시 이유는 [http://hooney.net/2007/08/21/438/ 여기]에서.
  • html5/web-storage . . . . 1 match
          * 서를 만들고 보니까 http://dev.w3.org/ 의 내용이 가장 충실하고 확실하다는 걸 알게 되었음. - 이승한
  • iText . . . . 1 match
          RefactorMe [페이지이름]이 부적절하다고 생각하시는 분은 [페이지이름바꾸기]해 주세요. 프로젝트(라이브러리) 이름을 그대로 사용했습니다.
  • jQuery . . . . 1 match
         jQuery를 사용함으로써 일반적이고, 반복되며, 업무량을 증가시키는 불필요한 마크업들을 제거할 수 있고, 이를 통해 작고, 훌륭하며, 이해하기 쉬운 자바스크립트 코드를 작성할 수 있습니다.
  • nilath개인페이지처음화면 . . . . 1 match
         Assembly를 모르는 놈은 C를 안다고 할 자격이 없으며(법만이야 알겠지. 얕은 깊이로 뭔들 못할까. 언젠가 한계가 올것... ㅉㅉ), C++을 안다고 할 자격이 없다.
  • sakurats . . . . 1 match
          * OCU때에 반 강제적으로 PHP에 손대고 있습니다.
  • study C++/ 한유선 . . . . 1 match
         자입력받은후 거꾸로 출력
  • whiteblue . . . . 1 match
          * ["제풀이게시판"]
  • whiteblue/MagicSquare . . . . 1 match
          continue;
  • whiteblue/MyTermProjectForClass . . . . 1 match
          Data( "구봉" ,20025315, 78, 90, 75 ),
  • zeropageBlog . . . . 1 match
          * 자세한 사용법은 [http://www.tattertools.com 태터툴즈 홈페이지]를 이용해 주십시오.
  • 갓헌내기C,C++스터디 . . . . 1 match
          * 자! 이제 헌내기가 되어간다 곧 11학번이 들어올것이고 11학번들은 선배들에게 전공공부에 대한 많은 의를 할것이다.
  • 강석우 . . . . 1 match
          * 모르는 것이 있으면 자유게시판이나 위키 어느 곳이든 질을 하셔도 됩니다. -상욱(["whiteblue"])
  • 강연 . . . . 1 match
          * 쉽고 재미있는 강연이었다. 못알아들은 내용도 있었지만, 교수님의 유머감각은 단연 돋보였다. 영어로 술술 질하는 영교과 학생들도 인상적.. -_-; - [임인택]
  • 개인페이지 . . . . 1 match
         ZeroPage 위키의자 이고, ZeroPagers 라면 누구나 가져야 하는 위키내의 자신의 소개 페이지 이다. 개인 페이지에 실리는 정보는 자신의 소개 이외의 사항은 자율적으로 작성하며, 어떻게 사용해도 상관 없다.
  • 결혼과가족 . . . . 1 match
          * 강사: 최보아(외모 출중에, 그 당시 신혼이라서 경험을 바탕으로 재밌는 강의를 할 거라는 소을 듣고 수강), 성적이 훌륭한데 학점이 안나오는 과목이 있다. 단순 암기과목인 경우 그런 경우가 있다. 예를 들어 10명이 듣는데 3명이 절대 점수 99점이고 내가 98점이면 나는 98점이라는 우수한 점수에도 불구하고 B+이라는 점수를 받게되는 것이다. 나에게 결혼과 가족이 그런 과목이었다. 강사님과 친하게 지내고 레포트 점수도 우수했고 시험 점수도 우수했지만 B+이라는 점수를 받았다. 강사에 따라 다르겠지만 단순 학점이 목적이라면 이런 암기과목은 피해야겠다.(ex, 일본어,한자...) 나름대로 강의 내용은 흥미롭고 실생활에 유용한 내용이다. [성의과학]과 같이 들을시에는 약간의 씨너지효과도 있다. --[강희경]
  • 고슴도치의 사진 마을 . . . . 1 match
         || [SVN 사용 방법] ||
  • 고한종/팩토리얼 . . . . 1 match
          * 위키를 열심히 사용하고 있네요~ 바람직합니다 ㅋㅋㅋ 그런데 ZeroWiki에서는 위키 페이지를 생성할때 상위페이지명/하위페이지명 이런 식으로 카테고리처럼 페이지 이름을 만든답니다. 예를 들어 이 페이지라면 고한종/팩토리얼 이렇게 써주는 것이 적절하겠죠. 그리고 각각의 페이지가 고립된 섬이 아니라 다른 페이지들과 연결될 수 있도록 상위페이지 혹은 연관된 다른 페이지를 링크해주면 더더욱 좋답니다. :) 예를들어 이 페이지에는 [고한종] 페이지와 [새싹교실/2011/A+]을 링크할 수 있겠네요. - [김수경]
  • 구구단/유상욱-Scheme . . . . 1 match
         음... 굉장히 괄호 사용이 많은 언어군요... 이런 언어 싫어하는데...ㅠ.ㅠ
  • 권영기 . . . . 1 match
          * [정모/2013.2.26] - OMS : 재미있는 제 (Indexed Binary Tree)
  • 그래픽스세미나/1주차 . . . . 1 match
          * 등 엄청 다양하게 사용된다.
  • 그림으로설명하기 . . . . 1 match
         모르는 개념엔 그림이 약이다. "백이 불여일견"이라 하지 않나.
  • 글로벌CEO . . . . 1 match
          * 솔직히 들은지 몇주밖에 안되었지만 수업이 너무 좋은거 같아서 이렇게 글을 쓴다. 수요일 7,8,9 에 중앙화예술관 10902에서 하니깐 청강 하실분은 해보시길.. 그냥 경영학 수업 듣는거 보다 이렇게 다국적 기업 CEO들의 경험과 노하우가 녹아 있는 수업을 듣는게 더 나은거 같다. 책에서는 배울수 없는 것들을 배우는 만큼 좋은 기회라고 생각한다. 지금까지 몇주동안 들은 수업 내용중에서도 상당히 귀중한 것들을 느꼈다.-[상협]
  • 금고/문보창 . . . . 1 match
         층수가 n 인 건물중 해를 찾는 위치에 첫 금고를 떨어뜨린다고 하자. 그러면 건물은 그 위치 아래와 위로 나뉘어지며, 위쪽은 T(b, k) 가 되고, 아래쪽은 T(a, k-1)이 된다. 여기서 a, b는 첫 금고를 떨어뜨린 위치를 기준으로 나뉘어진 위 아래 건물의 층수다. 여기서 제의 정의에 따라 우리가 구하고자 하는 해는
  • 김동준/원맨쇼Report/08김홍기 . . . . 1 match
          *적절한 아이템의 사용
  • 김상윤 . . . . 1 match
          cout<<"숫자를 입력하시오\n";
  • 김상호 . . . . 1 match
         == 방자, 글 남겨 주쎄요!!! ==
  • 김태진/Search . . . . 1 match
         봉봉교수님이 내주신 연습제에는 하나밖에 찾을 수 없는 구조인데, 함수에 check라는 static variable을 추가해서 그 함수가 호출되었을때 처음 찾은 값 다음부터 탐색하도록 하였습니다. thanks to. 힌트를 준 진경군.
  • 김태형 . . . . 1 match
         [http://www.caucse.net/ 동서버]
  • . . . . 1 match
         가의 족보에 획을 긋기 위해 살고있음..
  • 나는이런곳을즐겨찾는다 . . . . 1 match
         || http://www.newstand.co.kr/ || 잡지들을 모아논 사이트 주로 스포츠 신을 봄 || . ||
  • 나를만든책장/책 . . . . 1 match
          - 도서 대출관련 의 연락하세요.
  • 남자들에게 . . . . 1 match
          * 이책을 읽게 된 동기 : 솔직히 이책은 작가의 이름때에 읽게 된거 같다. 예전에 로마인 이야기를 읽으면서 참 재밌다고 생각해서 그 책을 지은 작가도 알고 있었다. 그 작가가 바로 시오노 나나미다. 그리고 어떤 사람이 이 책을 추천하는 글을 본것도 이책을 읽게된 동기이다.
  • 논문검색 . . . . 1 match
         See Also NoSmok:논검색 , Moa:전산학자료검색
  • 단어순서/방선희 . . . . 1 match
          cout << "자를 입력하세요.:" ;
  • 데블스캠프2002/Afterwords . . . . 1 match
          * 피곤 했다. ㅠㅜ, 그리고 데블스캠프가 내가 보기에는 괜찮았던거 같다. 내가 1학년때 이런 캠프가 있었다면 지금 보다 더 나은 내가 있었을지도 모른다는 생각도 들었다. 그리고 기초가 부족했던 나도 데블스 캠프를 통해서 몰랐던거 많이 배웠다. ㅡㅡ;, 특히 지금에서야 말하지만 그때 이중 포인터는 나도 한번도 안써봤고 생각도 안해 봤던 것인데 그것을 신입 회원 들에게 설명을 해줬다. ㅠㅜ 아 찔린다. 그런데 역시 설명하는 입장이 되니깐 이해가 더 팍팍 되는거 같다. 긴장을 해서인지(아마 이중 포인터 설명 나올때부터 긴장해서 듣었는지도 모른다. 나중에 그것을 설명해줘야 할 입장이 될테니..) 써본적도 없었지만 마치 많이 써본것 처럼 설명을 해줬다. 그래도 틀리게는 설명 안해준거 같다. (이게 과외의 노하우 일지도.. 위급한 상황에서는 인간의 능력은 한없이 향상되는거 같다.) 음, 하여튼 데블스 캠프때에 집에도 늦게 내려가고 기숙사도 빠져서 기숙사에서 잔소리좀 듣었지만, 나에게는 좋은 경험이었다. - 상협
  • 데블스캠프2003/ToyProblems . . . . 1 match
         예비 제들...
  • 데블스캠프2003/넷째날 . . . . 1 match
         ||03||원명||
  • 데블스캠프2003/다섯째날 . . . . 1 match
         ||03||원명||
  • 데블스캠프2003/셋째날 . . . . 1 match
         || 03||원명||
  • 데블스캠프2004/5일간의의미 . . . . 1 match
          * 보창: 뭔가 얻어갈 수 있는 곳
  • 데블스캠프2005 . . . . 1 match
         [http://gigamail6.paran.com:8080/gigamail_pop.php?file=/D6/1/20050620/13/09/beonit@paran.com/1119244238_8864_x0.zip&filename=flashmx.zip FlashMX] - [데블스캠프2005/FLASH키워드정리]에서 사용할 플레시 프로그램
  • 데블스캠프2005/RUR-PLE/Sorting . . . . 1 match
          continue
  • 데블스캠프2005/RUR-PLE/정수민 . . . . 1 match
         바꿨으니 질초기화 -_-!!!
  • 데블스캠프2006/목요일/winapi . . . . 1 match
         = 감상 =
  • 데블스캠프2006/목요일후기 . . . . 1 match
         개인적으로 오류 잡느라 시간을 너무 잡아먹었기 때
  • 데블스캠프2006/수요일/연습문제 . . . . 1 match
         = 데블스캠프2006/수요일/연습제 =
  • 데블스캠프2006/월요일/연습문제/for/김대순 . . . . 1 match
         == 데블스캠프2006/월요일/연습제/for/김대순 ==
  • 데블스캠프2006/월요일/연습문제/for/윤성준 . . . . 1 match
         == 데블스캠프2006/월요일/연습제/for/윤성준 ==
  • 데블스캠프2006/월요일/연습문제/for/윤영준 . . . . 1 match
         == 데블스캠프2006/월요일/연습제/for/윤영준 ==
  • 데블스캠프2006/월요일/연습문제/for/이경록 . . . . 1 match
         == 데블스캠프2006/월요일/연습제/for/이경록 ==
  • 데블스캠프2006/월요일/연습문제/for/이차형 . . . . 1 match
         == 데블스캠프2006/월요일/연습제/for/이차형 ==
  • 데블스캠프2006/월요일/연습문제/for/임다찬 . . . . 1 match
         == 데블스캠프2006/월요일/연습제/for/임다찬 ==
  • 데블스캠프2006/월요일/연습문제/for/주소영 . . . . 1 match
         == 데블스캠프2006/월요일/연습제/for/주소영 ==
  • 데블스캠프2006/월요일/연습문제/switch/성우용 . . . . 1 match
          cout << "숫자를 입력하세요";
  • 데블스캠프2006/월요일/연습문제/기타문제/김대순 . . . . 1 match
          if(i==5) continue;
  • 데블스캠프2006/월요일/연습문제/기타문제/성우용 . . . . 1 match
          continue;
  • 데블스캠프2006/월요일/연습문제/기타문제/윤성준 . . . . 1 match
          if (i == 5) continue;
  • 데블스캠프2006/월요일/연습문제/기타문제/윤영준 . . . . 1 match
          continue;
  • 데블스캠프2006/월요일/연습문제/기타문제/이경록 . . . . 1 match
          continue;
  • 데블스캠프2006/월요일/연습문제/기타문제/이장길 . . . . 1 match
          continue;
  • 데블스캠프2006/월요일/연습문제/기타문제/이차형 . . . . 1 match
          continue;
  • 데블스캠프2006/월요일/연습문제/웹서버작성 . . . . 1 match
         [데블스캠프2006/월요일/연습제/웹서버작성/변형진]
  • 데블스캠프2006/월요일/함수 . . . . 1 match
         [데블스캠프2006/월요일/함수/제풀이]
  • 데블스캠프2006/월요일/함수/문제풀이/김준석 . . . . 1 match
         [데블스캠프2006/월요일/함수/제풀이]
  • 데블스캠프2006/월요일/함수/문제풀이/이차형 . . . . 1 match
         주사위 숫자 출력
  • 데블스캠프2006/전체일정 . . . . 1 match
         || 월 || [데블스캠프2006/월요일] || 법 || 함수 || . || . || . ||
  • 데블스캠프2006/준비/화요일 . . . . 1 match
         구조체, 파일 입출력, 포인터(메모리), 디버깅
  • 데블스캠프2006/화요일/pointer/문제1/김준석 . . . . 1 match
          == 제 1 ==
  • 데블스캠프2006/화요일/pointer/문제1/이송희 . . . . 1 match
         == 데블스캠프2006/화요일/pointer/제1/이송희 ==
  • 데블스캠프2006/화요일/pointer/문제2/김준석 . . . . 1 match
          == 제2 reverse ==
  • 데블스캠프2006/화요일/pointer/문제2/주소영 . . . . 1 match
         제 2번~
  • 데블스캠프2006/화요일/pointer/문제4/성우용 . . . . 1 match
          cout<<"자를 입력하세요.";
  • 데블스캠프2006/화요일/pointer/문제4/이송희 . . . . 1 match
         == 데블스캠프2006/화요일/pointer/제4/이송희 ==
  • 데블스캠프2009/금요일/SPECIALSeminar/송지훈/김홍기/박성현 . . . . 1 match
          2. 피드백도 좋았고, 10만개 예제에서 질에 관한 부분, 과제마인드에 대한 부분. 왜 그런지 생각을 해보고 관점을 다르게 볼 필요가 있다는 점에서 느끼는 점이 많았다.
  • 데블스캠프2009/금요일/SPECIALSeminar/조현태/변형진/김준석 . . . . 1 match
          1. 우선 연구실 일때에 늦게 온 점이 아쉽다. 역시 디버깅 전에는 충분한 생각이 있어야 할것 같다. 목표를 잘 세워야 할것 같다.
  • 데블스캠프2009/금요일/연습문제/ACM2453/송지원 . . . . 1 match
         == 데블스캠프2009/금요일/연습제/ACM2453/송지원 ==
  • 데블스캠프2009/금요일/연습문제/ACM2453/정종록 . . . . 1 match
         Describe 데블스캠프2009/금요일/연습제/ACM2453/정종록 here
  • 데블스캠프2009/금요일/연습문제/ACM2453/조현태 . . . . 1 match
         == 데블스캠프2009/금요일/연습제/ACM2453/조현태 ==
  • 데블스캠프2009/목요일/연습문제/MFC/김태욱 . . . . 1 match
         =Describe 데블스캠프2009/목요일/연습제/MFC/김태욱 here=
  • 데블스캠프2009/목요일/연습문제/MFC/박준호 . . . . 1 match
         = 데블스캠프2009/목요일/연습제/MFC/박준호 =
  • 데블스캠프2009/목요일/연습문제/MFC/송지원 . . . . 1 match
         === 데블스캠프2009/목요일/연습제/MFC/송지원 ===
  • 데블스캠프2009/목요일/연습문제/MFC/정종록 . . . . 1 match
         Describe 데블스캠프2009/목요일/연습제/MFC/정종록 here
  • 데블스캠프2009/월요일/연습문제/HTML-CSS/강성현 . . . . 1 match
         == 데블스캠프2009/월요일/연습제/HTML-CSS/강성현 ==
  • 데블스캠프2009/월요일/연습문제/HTML-CSS/강소현 . . . . 1 match
         == 데블스캠프2009/월요일/연습제/HTML-CSS/강소현 ==
  • 데블스캠프2009/월요일/연습문제/HTML-CSS/박준호 . . . . 1 match
         == 데블스캠프2009/월요일/연습제/HTML-CSS/박준호 ==
  • 데블스캠프2009/월요일/연습문제/HTML-CSS/서민관 . . . . 1 match
         == 데블스캠프2009/월요일/연습제/HTML-CSS/서민관 ==
  • 데블스캠프2009/월요일/연습문제/HTML-CSS/정종록 . . . . 1 match
         == 데블스캠프2009/월요일/연습제/HTML-CSS/정종록 ==
  • 데블스캠프2010/Prolog . . . . 1 match
         = 연습제 =
  • 데블스캠프2010/넷째날/DHTML . . . . 1 match
         사실 이렇게 써도 별 제는 없음
  • 데블스캠프2011/둘째날/Machine-Learning . . . . 1 match
          * SVMLight 사용 실습 http://svmlight.joachims.org/svm_multiclass.html
  • 데블스캠프2011/둘째날/Machine-Learning/SVM/namsangboy . . . . 1 match
          continue
  • 데블스캠프2011/셋째날/String만들기 . . . . 1 match
          * 사용 언어 : C++
  • 데블스캠프2011/준비 . . . . 1 match
          * 1주 전 : 자 돌리기
  • 데블스캠프2013/셋째날/머신러닝 . . . . 1 match
          continue;
  • 도덕경 . . . . 1 match
         이부분 읽고 감상 쓸 때 따로 옮겨놔야지..라고 생각했었는데[[BR]]
  • 디자인패턴 . . . . 1 match
         디자인패턴에 대한 설명이라.. 다른 곳에서 이미 체계적인 설명들을 해 놓아서 장황하게 설명하지 않는다고 한다면, 말 그대로 '패턴'이 된 디자인들의 묶음입니다. (물론 그렇다고 패턴이 모든 디자인 제를 해결해주는 silver bullet는 아니죠.) 처음 프로그램을 설계를 할때 참조할 수 있는, 어느정도 공식화 된 디자인들을 일컫습니다. 현재 거의 Reference화 된 23개의 패턴이 있고요. 계속 새로운 패턴이 추가되고 있는 것으로 알고 있습니다.
  • 땅콩이보육프로젝트2005/개발일지 . . . . 1 match
          * 폐기된 사항 : 영어단어, msn 말하기, 목적의식 부양, 호감도 설정, 자신의 감정상태, 학습능력, 말투, 바탕화면 도우미, 파일실행, 가사출력, 음성인식, 텍스트게임, 텍스트 읽기, 주소록, 일기, 시간, 알람, 메모, 혼잣말하기
  • 랜웍/이진훈 . . . . 1 match
          continue;
  • 레밍즈프로젝트/그리기DC . . . . 1 match
         [레밍즈프로젝트]에서 사용하게 될 그리기 클래스.
  • 레밍즈프로젝트/프로토타입/에니메이션버튼 . . . . 1 match
         윈도우 컨트롤 중에 에니메이터 컨트롤이 있다고 함. -_- 그 녀석을 사용하면 해결 할 수 있을듯. 바로 밑에 있군-_- -이승한
  • 로고캐릭터공모/문의 . . . . 1 match
         == 의사항 ==
  • 로그인하기 . . . . 1 match
         UserPreferences 페이지에서 이름과 패스워드를 적고 Profile 만들기 버튼을 누른다. ChangeYourCss 페이지나 CssMarket 에서 개인 취향에 맞는 스타일 시트를 등록해서 사용하면 더 좋다.
  • 로마숫자바꾸기/DamienRice . . . . 1 match
         [로마숫자바꾸기], LittleAOI
  • 리디아처음화면 . . . . 1 match
         처음 사용해 보는 wiki네요.. 우하하. ^^
  • 마방진/문원명 . . . . 1 match
         [MagicSquare] [원명]
  • 마이포지셔닝 . . . . 1 match
          * 이책은 글로벌CEO 특강에서 스파이렉스 사코사의 박인순 사장님이 아주 아주 강력하게 추천해서 정현이와 공동 구매 해서 샀다. 아직 도서관에는 안 들어 왔는데 지금 우선 신청은 해놓은 상태다. 우선 전체적인 느낌은 보통의 성공학, 자기계발서는 어찌 좀 뜬구름 잡는듯한 내용도 많았는데 이책은 아주 현실적으로 접근하고 있다. 처세서, 성공학 같은 책중에서 이책이 가장 솔직하고 정확하게 그 길을 제시해주는거 같다. 저런 책에 관심이 있다면 이 책을 꼭 읽어 보는게 좋다. 누군가와 협력하고, 누군가의 장점을 알아볼수 있고, 좋은 아이디어를 알아볼수 있는 능력이 정말 핵심인거 같다. 그리고 혼자 잘나서 다 할수 있다는 생각을 가지면 절대 안되고, 자신이 올라탈 말이 있어야 한다. 그리고 2막은 없다는 이야기가 있는데 1막에서 성공하였다고 해서, 그 똑같은 일을 그 회사 나와서 다시 다른 회사 차려서 해서 성공하는 경우는 거의 없다. 그것은 자기 자신이 시기를 잘 만나서 성공한게 아니라 자기가 잘나서 성공한거라는것을 대중에게 보여주고자 하는 자아 때인데, 그런 자아를 가지고서 다시 성공할 수도 없다. '수로부여'라고 자신이 한번 잘되었던 일이 있으면 계속 그런식으로 일을 하는것을 말하는 특성이 있는데, 두번째로 할때도 첫번째것이 성공하였다고 그런식으로 똑같이 해서 어떤 경쟁력도 생길수 없다.
  • 마인드맵핑 . . . . 1 match
         ''캠프에서의 첫날은 <나는 그것을 할 수 없다> 날로 불리워지는데 그것은 아이들의 정신과 육체가 할 수 없다고 생각하는 것을 하는 날이기 때이다.''
  • 만년달력/곽세환,조재화 . . . . 1 match
         함수를 하나더 사용. 코드이해를 증가시키기위해서...
  • 메모장 . . . . 1 match
          인지부조화 : 행동과 태도가 일치하지 않는 부조화가 발생하면 일관성을 지키기 위해 부조화를 해소하려 한다. 행동은 이미 저질렀기 때에 태도를 바꿔야 한다.
  • 멘티스 . . . . 1 match
         == 사용설명 ==
  • 몸짱프로젝트/BinarySearchTree . . . . 1 match
          cout << "숫자 입력" << endl;
  • 몸짱프로젝트/DisplayPumutation . . . . 1 match
          * Recursive Function Call 사용
  • 몸짱프로젝트/HanoiProblem . . . . 1 match
          * Recusive Function Call 사용
  • 몸짱프로젝트/InfixToPostfix . . . . 1 match
          * 제점 : 연산자가 출력 안 됨
  • 문보창처음화면 . . . . 1 match
         보창
  • 문자반대출력/김정현 . . . . 1 match
         [LittleAOI] [반복자열]
  • 문자반대출력/조현태 . . . . 1 match
         [LittleAOI] [자반대출력]
  • 문자열연결/조현태 . . . . 1 match
         [LittleAOI] [자열연결]
  • 문제분류 . . . . 1 match
         제들의 ["분류패턴"]
  • 물푸 . . . . 1 match
         * 영화나 책을 읽은 뒤 감상 쓰기 [[BR]]
  • 미로찾기/김태훈 . . . . 1 match
          if(x==0 && y==0) continue;
  • 바람의딸걸어서지구3바퀴반 . . . . 1 match
          * 이책에서는 한비야의 세계여행을 재밌게 전해준다. 이책에서 인상깊은 구절은 킬리만자로 산을 올라갈때 천천히 자신의 속도로 꾸준히 올라간다면 누구나 올라갈 수 있다고 하는 구절이다. 인생도 마찬가지로 누가 어떤 속도로 가던지 자신의 속도를 알고 자신의 속도로 꾸준히 나간다면 못 이룰게 없다. 또 얻은 교훈은 세상은 사람이 만들어낸 각종 규칙, 규범들로 돌아가지만 말만 잘하면 얻고자 하는것을 얻을 수 있다. 결국 그런 규칙, 규범도 사람이 만든 것들이기에.. 그리고 반드시 환경이 편하고 몸도 편해야 행복한건 아니란것도 느꼈다. 오히려 더 행복을 방해하는 조건으로 작용할 수도 있다. 환경이 아주 불편하고 바빠도 사람은 아주 행복할 수 있고, 오히려 행복하기에 더 좋은 조건일 수 도 있다. 오지일 수록 더 행복해 보이는 이유도 이러한 이유 때일지도 모르겠다. 행복은 내 안에 있다. 그리고 세계에는 지금의 나의 환경과는 비교할 수 없을 만큼 불편하고 좋지 못한 환경에서도 행복하게 사는 사람이 많다는걸 느끼고 지금의 생활에 감사하자는 생각을 했다. 그리고 한비야가 어떤 외국인과 만나서 같이 등산하는데 그 외국인 행동이 꼴볼견이고 싫어할 행동만 했다고 그런다. 그런데 알고보니 그 외국인은 마약에 중독되었다가 마약을 끊고 나서 지독한 우울증에 시달리고 있다고 한다. 그 말을 듣고 쉽게 다른 사람을 판단해서는 안되겠다는 생각이 들었다. 역시 사람 사는 일에는 원인이 있고 결과가 있다. 또 무슨일을 하던지 목표를 잡고 나서 세부적인 계획을 세워서 차근 차근 해 나간다면 아무리 큰 목표라도 이룰 수 있겠다는 생각도 들었다. 사람은 계획에 있어서는 치밀해야겠단 생각이 들었고, 꾸준한 계획들의 실천이 있어야만 원하는 성과를 이룰수 있다는걸 느꼈다.
  • 박성현 . . . . 1 match
          * [QuestionsAboutMultiProcessAndThread] - O/S 공부 중 Multi-Process와 Multi-Thread 개념이 헷갈려서 올린 질...
  • 박지호 . . . . 1 match
          * 40대 컴퓨터공학부 학생회 화부장
  • 반복문자열/김소현 . . . . 1 match
         [LittleAOI] [반복자열]
  • 반복문자열/김영록 . . . . 1 match
         [LittleAOI] [반복자열] [김영록]
  • 반복문자열/김태훈zyint . . . . 1 match
         [LittleAOI] [반복자열]
  • 반복문자열/문보창 . . . . 1 match
         [반복자열] [LittleAOI]
  • 반복문자열/이강희 . . . . 1 match
         [반복자열/허아영]을 읽어보세요. 함수를 이해하는데 도움이 되는 내용이 들어있습니다. 함수가 무엇일까요? -- [Leonardong]
  • 반복문자열/이규완 . . . . 1 match
         [LittleAOI] [반복자열]
  • 반복문자열/이유림 . . . . 1 match
         = 반복자열 / 이유림 =
  • 반복문자열/이태양 . . . . 1 match
         [반복자열]
  • 반복문자열/임인택 . . . . 1 match
         [반복자열]
  • 반복문자열/조현태 . . . . 1 match
         [LittleAOI] [반복자열]
  • 벡터/김홍선,노수민 . . . . 1 match
         === 백터 연습제 ===
  • 벡터/조동영 . . . . 1 match
         == 연습제 ==
  • 변준원 . . . . 1 match
          * 모르는 것이 있으면 자유게시판이나 위키 어느 곳이든 질을 하셔도 됩니다. -상욱(["whiteblue"])
  • 분류분류 . . . . 1 match
          * 이 위키에서 사용되는 분류페이지들의 시작점(Starting Point).
  • 분류패턴 . . . . 1 match
          * 가급적 프로젝트들은 Project 네임스페이스를 적용하고 프로젝트가 끝나면 서구조조정을 통해 일반화된 페이지들을 빼낸다. 이렇게 함으로서 비슷한 주제들에 대해 묶을 수 있을 것이라 생각된다.
  • 비밀키/박능규 . . . . 1 match
          cout << "key 를 입력하세요(단,숫자) : ";
  • 빵페이지/구구단 . . . . 1 match
          재귀함수인가? 한번 사용해 봤습니다 ㅎㅎ
  • 사람들이과제를해오지않는다 . . . . 1 match
          * 두가지를 생각해 볼수 있다. 첫번째는 그 발표 과제가 그 사람에게 너무 벅찬것이었고 숙제도 그 사람의 수준에 맞지 않는 것이이서 못해올 수도 있다. 아니면 발표거리나 과제 거리가 그 사람에게 충분한 흥미, 동기 유발을 자아내지 못했을지도 모른다. 이는 과제를 내거나 숙제를 낸 측에서 잘못 판단한것이 제가 된것이다. 두번째 경우는 그 사람이 그 발표를 하거나 과제를 하는것에 우선순위를 아주 낮게 두는 경우다. 그래서 발표 준비나 과제를 하는건 자신이 할거 다하고 시간 남으면 하거나, 귀찮아서 미루다 미루다 안하는 경우다. 내가 보기에는 첫번째 경우 두번째 경우 모두 우리 제로페이지에서 다반사로 일어났었다고 본다. 내 예를 들면 보통 무슨 책을 같이 공부 하자고 함께 공부하는 스터디는 끝까지 가거나 어느 정도까지 간 경우가 단 한번도 없었다. 내가 보기에는 책을 스터디 그룹 지어서 같이 공부하는건 상당히 어렵다고 본다. 아예 그러고 싶으면 스터디 그룹을 만들어서 우선 개별적으로 단시간안에 그 책을 한번 공부하고 나서 다 공부한 사람들끼리 그 책에 대한것들을 서로 물어보고 토론을 하고 하는게 좋을거 같은데 쉽지 않은 얘기다. 그런데 수동적으로 책을 공부하는 프로젝트가 아닌 프로젝트를 하는데 이러 이러한 책이 필요해서 그러한 책들을 필요한 부분들을 참고하면서 해나가가는 프로젝트는 제로페이지 내에서 중간에 해체 안되고 끝까지 간경우가 책 하나에 대한 스터디 보다는 훨씬더 많았던거 같다. 내가 보기에는 이 차이는 프로젝트, 스터디를 해 나갈때는 아주 명확한 목표가 있어야 한다고 본다. 장거리 자동차 여행을 가는데 목적지 없이, 지도없이 출발하는 경우는 없다. 프로젝트도 마찬가지로 어떤 결과물을 만든다거나, 어떤 수준(아주 구체적, 객관적인)에 도달한다는 목표가 있어야 한다고 본다. 그런데 어떤 수준은 좀 애매하기에 어떤 결과물을 목표로 잡고 스터디, 프로젝트를 하는게 좋겠다고 생각한다. - [상협]
  • 사이트검색창찾기 . . . . 1 match
         == 제점 ==
  • 삼미슈퍼스타즈의마지막팬클럽 . . . . 1 match
         제목은 한겨레신에서 수도 없이 보았지만 이제서야 읽었다. 재밌어서 깔깔 웃었다. 1할 2푼 5리 슬률로 살아가는 모든이들에게, 어쩌면 필요없는 조언일지도 모르겠다. 그보다는 9할 넘는 승률로 살아가는 어떤이들에게 고민을 안겨주지 않을까? 어쨌거나 나에게는 잘 놀고 열심히 살자는 이야기였다.
  • 삼총사CppStudy/20030731 . . . . 1 match
          * 기본적인 클래스의 사용방법
  • 상규 . . . . 1 match
          * [제풀이게시판] (2003.3.5 ~ )
  • 상협 . . . . 1 match
          * [상협/100100답]
  • 상협/Diary/8월 . . . . 1 match
          * ["상협/학의즐거움"]읽음
  • 상협/Diary/9월 . . . . 1 match
          * 장점 : 만약 가기로 하면 맘은 편하다. 보통 사람들이 택하는 길이기 때에 심리적으로 부담이 없다. 군대에서 배울게 있다고 한다. 다행히 기숙사에서 그런거 좀 배워서 그런거 배우는거는 군대직접 가서 안배워도 될거 같다.
  • 상협/Medusa . . . . 1 match
          * Python으로 서버를 돌릴때 사용하면 괜찮을듯 싶다.
  • 상협/나는희망의증거가되고싶다 . . . . 1 match
          * 음.. 이책을 읽게된 동기는 우리 누나가 추천을 해줘서 읽게 되었다. 읽고 나서는 잘 읽었다는 생각이 들었다. 언제나 느끼는 것이지만 다른 인간의 투철한 삶에 대한 투쟁을 보면 나에게 그 의지가 조금이나마 전달되는거 같아서 좋다. 나는 나 자신도 상당히 의지가 굳세다고 생각했는데, 서진규 씨를 보니 본받을 점이 많은거 같다. 서진규 씨는 고생을 더 많이 했기 때에 그 성취후의 보람도 훨씬 더 컸을 것이다. 서진규씨의 투철한 삶에 대한 의지는 감동이었다. 그런데 그 서진규씨에게 있어서 희망이라는 것이 다른 사람에게 보여주기 위한(사회적 지위와 명성 같은 타인에 의한 판가름 되는거.) 희망인지 아니면 자기 자신에게 보여주기 위한(자아실현) 희망인지는 확실히 분간을 못하겠다. 아무래도 전자인거 같은 느낌이 좀 든다. 서진규씨는 자신의 하고 싶은 공부를 하고 있다는 데에서 기쁨을 느끼기 보다 하버드라는 곳에서 그 스스로 대단하다고 생각하는 사람들과 공부를 하게 된 점에서 더 큰 기쁨을 느끼는거 같다. 그래서 약간 씁쓸하기는 하다. 그리고 서진규씨는 미국 군인이었던 만큼 미국에 대한 사랑이 큰거 같다. 개인적으로 미국 자체를 싫어 한다고 볼 수는 없지만, 현재 미국이라는 거대한 이익 집합체가 세계에 하는 행동을 좋게 보지 않는 입장이라서 그게 좀 걸렸다. 그래도 그 수많은 세월동안 미군에 있으면서 자신의 꿈을 실현해 나갔으니 이해는 간다. 음.. 이렇게 좀 삐딱하게도 조금 볼 수 는 있지만, 그래도 서진규씨의 인생에 찬사를 보낸다. 여러가지 고난을 이겨내고 자신이 생각하는 꿈을 이루었으니... 자신이 생각하는...
  • 상협/모순 . . . . 1 match
          * 이책을 읽으면서 행복과 불행에 대해서 생각해 보았다. 그리고 사랑에 대해서도 생각해 본다. 진정한 행복은 불행이 있기에 존재할 수 있는거 같다. 불행이 없는 삶은 행복또한 없는 삶이다. 행복이라는 것도 어떠한 기준이 필요할텐데 그 기준으로서 불행이 적합하기 때이다. 모......순..... 그렇다면 어떤 방패도 뚫을 수 있는 창이 있기에 어떤 창도 막을 수 있는 방패도 존재 한다고 말할 수 있는 건가?..어떤 창도 막을 수 있다는 말에서 어떠한 창이라는 말이 어떠한 방패도 뚫을 수 있을 만한 창이라는 가정이 숨어 있다. 즉 어떠한 창도 막을 수있다는 말은 필연적으로 어떤한 방패도 뚫을 수 있는 창이라는 존재의 기반 위에서 존재 할 수 있는 것이다. 그 말의 성립 여부를 떠나서 그 말의 존재라는 기반위에서 생각하면 두 말은 서로의 불가분의 관계에 있는 것이다. 세상사의 모든 관계가 그런건 아닐까?..
  • 상협/프로젝트관련 . . . . 1 match
          * 만약 짜본다면 내가 제일 좋아 하는 AI 오목을 Java로 TDD를 사용해서 한번 다시 짜볼까 한다. 인공지능을 사람이 못이기게 무진장 향상 시켜서.. +_+
  • 새싹교실/2011/AmazingC/과제방 . . . . 1 match
         // 위에 40을 임의의 숫자로 바꾸면 모든 경우의 결과물을 볼 수 있습니다.
  • 새싹교실/2011/GGT . . . . 1 match
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
  • 새싹교실/2011/學高/3회차 . . . . 1 match
          /*사용자 공격*/
  • 새싹교실/2011/學高/5회차 . . . . 1 match
          * increment/decrement, postfix/prefix: 이거 모르면 곧바로 질합니다. 저 자는데 깨워도 되요(물론 ~~안~~못 받겠지만)
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.15 . . . . 1 match
          * 법을 배웠습니다~ 실습도 했구요.
  • 새싹교실/2012/반반 . . . . 1 match
          || 서교 || ||
  • 새싹교실/2012/사과나무/과제방 . . . . 1 match
          * 최소한 사용법 정도는 있어야 인정.
  • 새싹교실/2012/아무거나 . . . . 1 match
          * 참고로 ZeroWiki는 MoniWiki Engine을 사용하며 Google Chrome이나 Mozila Firefox, Safari보다는 Internet Explorer에서 가장 잘 돌아가는 것 같습니다.
  • 새싹교실/2012/아무거나/1회차 . . . . 1 match
         이재형 학생이 자봉단 때에 불참하여 Visual Studio에서 디버깅하는 방법을 배움.
  • 새싹교실/2012/아무거나/3회차 . . . . 1 match
         오늘도 for을 배우는데는 실패했지만! while로도 커버 가능함을 새삼 느낀다. F11 디버깅과 Alt+F8도 배웠는데 나한테 정말 꼭 필요한 것 같았다.
  • 새싹교실/2012/아우토반/뒷반/4.13 . . . . 1 match
         정수 N을 입력하여 변의 길이가 N인 마름모꼴 출력을 다음과 같이 자로 나타내시오
  • 새싹교실/2012/아우토반/뒷반/4.6 . . . . 1 match
          * 컴퓨터가 자를 표시하는 방식
  • 새싹교실/2012/아우토반/뒷반/5.11 . . . . 1 match
          * for을 쪼개라
  • 새싹교실/2012/열반/120409 . . . . 1 match
          * 중첩 반복을 이용한 별찍기
  • 새싹교실/2012/열반/120514 . . . . 1 match
          * 내용이 많아 주석을 많이 달지 못했습니다. 직접 컴파일하고 실행해보고, 궁금한 점은 질하시기 바랍니다.
  • 새싹교실/2012/열반/120521 . . . . 1 match
         == 자열 출력 ==
  • 새싹교실/2012/주먹밥/이소라때리기게임 . . . . 1 match
          break;//while을 빠져나간다.
  • 새싹교실/2013/라이히스아우토반 . . . . 1 match
         중간고사 2주전이라 기출제를 주고 풀어보는 시간을 가진걸로 끝(...) 미안
  • 새싹교실/2013/라이히스아우토반/4회차 . . . . 1 match
          * Internet Explorer를 제외한 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
  • 새싹교실/2013/록구록구/10회차 . . . . 1 match
         == 질 ==
  • 새싹교실/2013/록구록구/11회차 . . . . 1 match
         == 질 ==
  • 새싹교실/2013/록구록구/1회차 . . . . 1 match
         == 질 ==
  • 새싹교실/2013/록구록구/5회차 . . . . 1 match
         == 질 ==
  • 새싹교실/2013/록구록구/6회차 . . . . 1 match
         == 질 ==
  • 새싹교실/2013/양반/5회차 . . . . 1 match
         == 질 ==
  • 새싹스터디2006 . . . . 1 match
         병아리 : 최재 한상모
  • 새싹스터디2007 . . . . 1 match
         == 보창(04) ==
  • 새페이지만들기 . . . . 1 match
         '''방법2''' 의 방식은 일종의 TopDown 방식이 된다. 해당 주제를 Parent로 하여 계속 주제와 연관된 글들을 뻗어나가는 방식이다. 반면 '''방법 1'''전자의 방법은 BottomUp의 방식으로 사용할 수 있다. 새 주제들을 모아서 나중에 페이지분류 & 조정작업을 통해 Parent를 잡을 수 있을 것이다.
  • 서지혜/2011 . . . . 1 match
          * 논, 자소서, 멘토링 plus 학교과제.. 헉헉
  • 서지혜/2012 . . . . 1 match
          * 아 귀찮아 서귀찮아
  • 선의나침반 . . . . 1 match
          * 라마나 마하리쉬가 말하는 '나는 누구인가'에 대한 질도 숭산 대사도 똑같이 강조하는게 기억에 남는다.
  • 성적처리프로그램 . . . . 1 match
          break; // 9999입력시 숫자 포함 방지
  • 세여니 . . . . 1 match
          * 오홋! 저위에 "BOOK"이라고 써있는데 가보니 책들이 소개 되어 있네요!(를 보아하니..)..지금 '서양화사'라는 과목을 듣는데 누나두 재밌게 들으실듯 하네요!! C++을 어쩌다 말려서 안듣고 듣게 된 과목인데..별로 후회안합니다! 나중에 들으세요! ^^ - 정훈 -
  • 소수구하기/인수 . . . . 1 match
          continue;
  • 소프트웨어장인정신 . . . . 1 match
         소프트웨어를 개발하는데 장인정신이라는 비유를 사용한다. 프로세스와 프로세스 산출물에 초점을 맞추는 소프트웨어 엔지니어링은 규모가 작은 프로젝트에는 좋은 선택이 아니다. 평범한 소프트웨어 개발자 여럿을 두고 이를 관리하기보다 장인 소프트웨어를 개발자 한 명을 고용하는 편이 속도나 품질 모두에서 낫다. 따라서 전통적인 수공업에서 나타나는 도제생활이 초보 프로그래머에게는 필요하다. 프로그래머는 도제를 거쳐 중간 장인으로, 결국에는 장인으로 성장하게 된다.
  • 수학의정석/방정식 . . . . 1 match
         제: 강물이 흐르는 속력은 xkm/hr 이다. 이 강을 따라 ykm의 거리를 배로 왕복하는 데 t분 걸렸다고 한다. 이 때, 잔잔한 강물 위에서의 이 배의 속력을 구하여라.
  • 수학의정석/집합의연산/이영호 . . . . 1 match
          continue;
  • 순차적학습패턴 . . . . 1 match
         '''작가는 서로를 반박하고, 서로의 아이디어를 확장하고 부차적으로 서로를 참조하기 때에 작품을 연대 순으로 학습하지 않는 경우 독자는 중요한 연결고리를 놓치거나 오해하기 쉬워진다. 일부 작품은 순서대로 학습하지 않으면 절대 이해할 수 없을 수도 있다.'''
  • 숫자야구/민강근 . . . . 1 match
         [숫자야구]
  • 숫자야구/장창재 . . . . 1 match
         [숫자야구] [장창재]
  • 쉽게Rpg게임만들기 . . . . 1 match
          * 쉽게 RPG 게임 만들기 라고 해서 RPG 쯔꾸르 깔고 사용하는 법만 간단히 설명하는 건가 했는데 Ruby 얘기도 나오고 해시 얘기도 나오고 슈퍼 클래스 얘기도 나와서 놀람… - [김수경]
  • 스네이크바이트/C++ . . . . 1 match
          cout << "숫자: ";
  • 스터디제안 . . . . 1 match
          스터디의 이름에 담겨 있는 정보가, 해당 분야나 스터디의 시기의 정보뿐 아니라, 목표에 부합하는 의미가 첨가되는 것 역시 의미있을 것으로 생각합니다. 이름을 읽을때 마다 목표를 상기시키는 역할도 겸할수 있어서, 거울의 역할을 할 수 있을 것입니다. 하지만, 말씀 하신대로 독립적인 주제와 독립적인 의미를 가지게, 목표만을 이름으로 삼는것은 스터디의 내용과 괴리 될수 있다는 위험때에, 피해야 할 것으로 생각합니다. --["neocoin"]
  • 스터디제안/2013 . . . . 1 match
          * 우왕ㅋ굳ㅋ 이런 페이지는 대에 걸어둡시다!!!!! - [김수경]
  • 시간맞추기/남도연 . . . . 1 match
          └time(0), time(NULL)뭐 둘다 그말이 그말이지만.. 1970년 1월 1일부터 지나간 초를 알려줍니다. 물런 숫자가 무지무지무지무지 크므로 리턴값은 unsigned long 형 과 유사하며, 단순히 1초가 지날때마다 1씩 증가합니다. 그래서 이럴때 써먹습니다. - [조현태]
  • 시작 . . . . 1 match
         }}} [[ISBN(ISBN 숫자,KR]] [[FullSearch(내용단어)]] [[PageList(제목단어)]] [[RSS(RSS주소,5)]] [[LinkCount(페이지제목)]]
  • 아는것으로부터의자유 . . . . 1 match
          * 우리는 앎을 통해서 교만해지거나 거만해지기 쉽다. 하지만, 진정한 앎은 앎을 버렸을때, 즉 망각할때 얻어진다고 본다. 노자의 [(namsang)도덕경]에서도 학을 쌓아가는 것이지만 도(道)는 덜어가는 것이라고 이야기 하였다. 크리슈나무르티의 가르침도 이와 다를 바가 없다고 본다.
  • 아인슈타인 . . . . 1 match
         아인슈타인은 국가주의를 공격했고 평화주의 사상을 장려했다. 베를린에서 반유대주의 물결이 거세어지자, 아인슈타인은 '물리학에서의 볼셰비키주의자' 범주로 구분되었고, 그가 시오니즘 운동을 대중적으로 지지하기 시작하자 우익집단들의 그에 대한 격노가 거세졌다. 아인슈타인은 베를린에서 적대를 받았으나 유럽의 다른 도시에서 그에게 요청한 것 때에 상대성이론을 강의하러 유럽의 여러 도시들을 널리 다녔는데, 보통 3등열차를 타고다녔고 늘 바이올린을 지니고 있었다. (from http://preview.britannica.co.kr/spotlights/nobel/list/B14a2262b.html)
  • 아잉블러그 . . . . 1 match
         서버를 구축하고 관리하고 다양한 웹 프로그램을 사용해 보는 프로젝트.
  • 안전한장소패턴 . . . . 1 match
         '''각자 서로를 돕고 모두가 질하고 실수하는데 편안함을 느끼는 따뜻하고 관대하며 공손하고 집중된 환경을 만들어라.'''
  • 안혁준 . . . . 1 match
         == 잡다한 서 ==
  • 알카노이드 . . . . 1 match
         책 언제 빌리지 ;; 그것이 제네 ;; 학교 가기가 영 ;; -[권정욱]-
  • 압축알고리즘/정욱&자겸 . . . . 1 match
          cout << "압축할 영자열을 입력하세요 :";
  • 압축알고리즘/희경&능규 . . . . 1 match
          continue;
  • 연습용 RDBMS 개발 . . . . 1 match
          printf("숫자 %d : %s\n\n", num, result ? "소수가 아닙니다." : "소수입니다.");
  • 영호의해킹공부페이지 . . . . 1 match
         80년대 윤리 강령. 90년대에 새로운 것에 기반한 것이 나왔다지만 나는 80년대 것을 선호한다. 자유롭기 때에.
  • 예수는신화다 . . . . 1 match
         이 책은 기독교 단체들이 동아일보사에 대한 불매운동을 벌여 절판되었습니다. 학교 도서관에도 존재하지 않기 때에 보시려면 다른 학교 도서관이나 공립 도서관을 알아보세요.
  • 오목/재선,동일 . . . . 1 match
          // 클릭한 배열에 숫자 1을 대입한다.
  • 오빠가돌아왔다 . . . . 1 match
         냉소 가득한 짧은 이야기였다. 우습게도 작가가 써 놓은 냉소가 너무 재미있게 느껴진다. 오랜 시간 스스로 냉소를 즐기며 살았기 때이겠거니.
  • 오월의 노래 . . . . 1 match
         건강을 회복한 뒤 슈트라스부르크로 유학, 71년에 학위를 받았으며, 여기서 5년 선배인 J.G.헤르더를 알게 되어 민족과 개성을 존중하는 예관(文藝觀)의 영향을 받았는데, 후일 <슈투름 운트 드랑(Sturm und Drang)>의 바탕이 되기도 하였다.
  • 오페라의유령 . . . . 1 match
         뮤지컬의 이미지때인지 (한번도 안본 뮤지컬에 대해 이미지를 떠올리는것도 우스운 일이다. OST와 Sarah 의 뮤직비디오는 많이 보긴 했지만) 크리스틴을 볼때마다 사라아주머니의 젊었을때의 사진을 떠올렸고, Phantom 이 등장할때엔 그 Main Theme (Phantom 의 그 멋진 웃음소리와도 같게 들리는...) 를 떠올렸다.
  • 오픈소스검색엔진Lucene활용/세미나060401_2시 . . . . 1 match
          * 한글 관련한 제 해결 설명하기.
  • 위키개발2006 . . . . 1 match
          * 사이트내 실시간 채팅 매크로 추가. 아래와 같은 매크로 사용시에 실시간 채팅 매크로가 추가 된다. 직접 구현은 안했고, gabbly 거 이용함.
  • 위키분류 . . . . 1 match
         위키위키 사용법, 위키위키 철학등에 관련한 페이지들.
  • 위키설명회2006 . . . . 1 match
          유선, 수생은 화목 자료구조 때에 7시에 참가하기로 함.
  • 윤현수 . . . . 1 match
         [http://www.caucse.net/ 동서버]
  • 이름짓기토론 . . . . 1 match
          그..그래. 단어단위 대자가 보기 좋긴 하군. --석천 [[BR]]
  • 이민석 . . . . 1 match
          * 졸업논: 하스켈을 이용한 효율적인 알고리즘 설계
  • 이상태 . . . . 1 match
          * 위키사용법 , 비쥬얼스튜디오가 이런거구나~ / 3.16
  • 이승한/mysql . . . . 1 match
          * PHP 에서 지원하는 MySql API 함수를 사용
  • 이승한/tip . . . . 1 match
         그 외의 #pragma 의 기능이 많다고 한다. 뭘까. 알고싶긴한데. 영이라 압박이다.
  • 이승한/자전거여행 . . . . 1 match
          여름은 해가 길어서 오후는 너무 뜨겁기 때에 아침일찍부터 출발.
  • 이영호/시스템프로그래밍과어셈블리어 . . . . 1 match
         프로그래밍을 처음 접하는 사람으로서는 Assembly어는 무리가 있을지도 모르나, 약간의 지식을 갖춘 사람은 Assembly어를 꼭 배워야한다. Assembly어는 결코 사라질 수 없는 언어이다. 이것은 매우 중요하며, 이 때에 대학에서도 정규 과정속에 포함되어 사라지지 않는 것이다.
  • 이영호/지뢰찾기 . . . . 1 match
          continue;
  • 이정화 . . . . 1 match
          사용법..터득...ㅎㅎㅎㅎㅎㅎ 대순이..이름쓰는거 까먹음..
  • 이차함수그리기/조현태 . . . . 1 match
         그런데 어제 하루 그냥잤다공.. 왜 제 답이 안올라 오는겨?ㅎ
  • 이현정 . . . . 1 match
          학생회 화부 일반회원 -_-;;;
  • 인상깊은영화 . . . . 1 match
         평 : 자식을 위하는 아버지(덴젤 워싱턴 분) 때에 눈물이 났다. 결말은 달라도 홀리데이
  • 인수/Smalltalk . . . . 1 match
          * 머리에 쥐나는줄 알았다.--; 사소한거 하나로 삽질한게 몇가진지... --; 법이 왜 이리 하던거랑 다른지.;;
  • 일정잡기 . . . . 1 match
          * 반면에 1,2,3번이 모두 결여된 경우도 있는데, C집단의 회장 L군은 2012년 C집단의 정모가 매번 다른 일정과 겹치게되는 불운을 맞이하게된다. 정보 수집을 하지 못해 학교 행사와 일정이 겹쳤음은 물론이고, 그 때에 직전에 날짜를 바꿈으로 인해서 다른 사람들의 다른 일정과 모조리 겹쳐지게 되기도 한다. 게다가 운도 없어 그 날짜에 자신이 참석하지 못하는 불운을 맞이하였고, 일정 파토라는 최악의 사태를 낳기도 했다.
  • 임수연 . . . . 1 match
         수연아, 오랜만!! [보창]
  • 임시분류 . . . . 1 match
         일회용 페이지들에 대한 분류.DeleteThisPage 의 대상이 될수 있는 페이지다. 경우에 따라 보존될 가능성도 있는 페이지들. 가령 설조사등은 일회용이 될수 있지만 일종의 자료로 남을 수도 있다. DeleteThisPage 가 아니라면 추후 재분류 대상 페이지.
  • 임시페이지 . . . . 1 match
         레밍 앞으로 움직이기 서화
  • 임인택/코드 . . . . 1 match
         = (윈도우즈 프로그래밍) 한글/영 토글하기 =
  • 자리수알아내기/나휘동 . . . . 1 match
         속도는 2번이 더 느립니다. 로그를 구하는 방법 때일 것으로 추측해봅니다. 게다가 2번은 300자리 정도까지만 제대로 동작하는군요. :(
  • 재미있게공부하기 . . . . 1 match
         '''여러 자료 사용하기'''
  • 정렬/문원명 . . . . 1 match
         [원명]
  • 정모/2002.3.28 . . . . 1 match
          * 랜카드 에서 WOL(Wake On Lan) 을 메인보드와 연결하면 정전됐다가 전기가 들어왔을때 자동으로 켜진다죠 WOL 전선 값도 몇푼 안할텐데 어서 하나 연결합시다~. -- 동서버에서 동현이형 글을 퍼옴.
  • 정모/2003.11.17 . . . . 1 match
         ||세미나 뒷풀이 사용|| 아마 다 썼음||-7만||
  • 정모/2003.12.27 . . . . 1 match
         ||03||황재선, 나휘동, 곽세환, 임민수, 장창재, 원명||
  • 정모/2003.4.29 . . . . 1 match
         1. 제풀이 게시판(PHP 스터디 연동)에 관하여
  • 정모/2003.8.26 . . . . 1 match
         || 03 || 황재선 강석우 조재화 나휘동 노수민 임민수 원명 곽세환 ||
  • 정모/2004.5.21 . . . . 1 match
          과거에 대학원에 이야기해서 대학원실을 빌려서 사용했습니다. --NeoCoin
  • 정모/2004.7.12 . . . . 1 match
          || 04 || 보창 조동영 신소영 김홍선 김기남 박진영 이재환 권정욱 김태훈 ||
  • 정모/2005.2.2 . . . . 1 match
         강희경, 임민수, 윤성만, 하욱주, 이승한, 황재선, 나휘동, 보창, 조동영, 노수민 총 10명.
  • 정모/2005.3.14 . . . . 1 match
          * 4월 첫째주 부터 중간고사 전주 까지 하면 총 3번정도의 세미나 텀이 나옴. C세미나는 [보창], [이승한]이 진행 하기로 결정.
  • 정모/2005.9.5 . . . . 1 match
          * 회원정리 - 다음주 까지 안나오는 사람들은 앞으로 자를 안보내기로 선언;;
  • 정모/2006.1.19 . . . . 1 match
         김상섭, 남상협, 송수생, 보창, 허아영, 조현태, 이선호, 이도현, 한유선, 김민경, 하기웅, 김태훈, 남도연
  • 정모/2006.2.16 . . . . 1 match
         1학기->페어 프로그램, 제풀기
  • 정모/2006.2.2 . . . . 1 match
         남상협 나휘동 하기웅 김선호 허아영 보창 조현태 송수생 김상섭 김정현
  • 정모/2006.3.16 . . . . 1 match
         분실물이 생기면 동서버및 7피 보드에 목록 적기
  • 정모/2011.11.9 . . . . 1 match
          * 이번 OMS를 하면 좀 오래 걸릴 거라 생각했는데 역시 오래 걸렸네요. (시간 보신 분은 아실 듯.) 그래도 해야 될 말을 다 못한 거 같아 아쉬웠습니다. (뭘 더 이야기 하려고 -_-) 빨리 이번 신작 주한게 왔으면 하네요.;; 여하튼. 10월 한달 동안은 시험기간이었지만 뭔가 이것 저것 많이 한 것 같았습니다. - [권순의]
  • 정모/2011.7.4 . . . . 1 match
          * 채택된 분께는 화상품권을 !!
  • 정모/2011.8.1 . . . . 1 match
          * 그러고 보니 후기를 안 쓰고 있었네;; 흠흠.. 이번 OMS는 구글을 이용해서 영작하기.. 참 원어민이 아니고서야 술술 영작하는 정도가 되려면 엄청난 노력이 필요하죠.. 영작 하면서도 괜시리 이게 어법에 맞나 궁금하고.. 그런 제를 잘 해결 해 줄 수 있는 내용이었던 것 같습니다. MT에 대해서 듣고 사이트 들어가 봤는데.. 뭔가 엄청 럭셔리 해 보이는데 여긴가요? 워우~ 재미있겠네요 ㅋ 기대됩니다. - [권순의]
  • 정모/2012.1.13 . . . . 1 match
          * 기승전와이브로 OMS 잘들었습니다. 지금 LTE 사용하는 건 여러모로 호갱이 아닐까싶네요. 그나저나 와이브로 쓴지도 꽤 오래됐는데 사실 무의식중에 아직도 수도권에서만 될거라고 생각하고 살고있었어요. 그러고보니 그럴리가 없잖아... 몇년이 지났는데.... - [김수경]
  • 정모/2012.10.15 . . . . 1 match
          * 칠판은 사용한 후 지워주고, 마커는 칠판 옆(주변)에 둡시다.
  • 정모/2012.11.12 . . . . 1 match
          * 논 번역 스터디 시작
  • 정모/2012.11.5 . . . . 1 match
          * 논 번역 스터디 모집 - [김태진], [이민석], [서민관], [신형준]
  • 정모/2012.2.10 . . . . 1 match
          * 다음주 정모는 신입생 간담회와 --승한선배의 세미나때에-- 6시(는 그대로 유지)에 시작하게 됩니다. 헷깔리지 마세요~
  • 정모/2012.5.21 . . . . 1 match
         1학년 + 고학년 해서 1학년 발표, 둘이서 같이 준비하면 20명이 되겠죠. 주제는 어느거라도 할수 있을 것 같습니다. 새 언어 소개, 새 기술 소개, 지난주에 인상깊은 교훈 소개 등등. 주제 결정하는 시간도 아깝기 때에, CSE 학과 과정 전체의 키워드를 모아서 골라서 하라고 해도 좋을 것 같습니다.
  • 정모/2013.1.29 . . . . 1 match
          * ACM study - 팀원들 각각 2제 씩 풀었습니다. 그리고 벌금제도 도입. 자세한것은 ACM위키페이지참조.
  • 정모/2013.10.8 . . . . 1 match
          * 정모 때는 주요한 사항에 대해 결정하거나 후보 연설 활동을 제외하고는 커뮤니티를 통해 의견을 교환합니다.
  • 정모/2013.2.12 . . . . 1 match
          * 우리는 정보보호에 특화된 동아리가 아니기 때에 조심해야 할 필요가 있다.
  • 정모/2013.3.4 . . . . 1 match
          * 월요일 9~12 교시 공학설계입 <207관(207관(봅스트홀))606호 <강의실>> 입니다. ㅠㅠ - [조광희]
  • 정모/2013.4.29 . . . . 1 match
          * 참여 가능 여부를 자로 받을 예정
  • 정모/2013.5.20 . . . . 1 match
          * TIP : Internet Explorer를 제외한 브라우저(FireFox라던가 Chrome이라던가)로 들어오면 각 항목 우측에 "편집"이라고 떠요. 좀 더 편하게 수정 할 수 있죠.
  • 정모/2013.8.19 . . . . 1 match
          * 아두이노와 같은 경우에는 현재 보유중인 것만으로는 부족합니다. 키트로 팔긴 하지만, 가격이 비싸기 때에 필요한 부품만 낱개로 사는 것이 좋습니다.
  • 정모/2013.8.26 . . . . 1 match
          * 현행 방식에서 약간 제점이 있어, 새로운 방법을 연구중입니다.
  • 정모/2013.8.5 . . . . 1 match
          * 사실 중앙대 GDG 설립 경과 보고에 있는 항목이나 지금 여기 후기에 있는 태진이 질이나 몇몇 얘기들은 바로바로 위키나 홈페이지 공지사항을 통해서 알려줘야 조금 더 많은 사람들이 현재 상황을 알고 그에 대해 생각을 하고 의견을 나눌 수 있을텐데, 너무 아나운스가 없으니 뭐가 어떻게 되는지 알 수가 없네요... 엠티도 사실 일정만 딱 나와 있고, 누가 가는지, 언제 가는지, 가서 뭘 하는지 준비물이 필요할 수도 있는데 그런 것들에 대해서도 이야기가 없으니... - [서민관]
  • 정모/2013.9.25 . . . . 1 match
          * 연구실 세미나떄에 중간에 내려가서 아쉽.. 정모 공지는 정모에 오고싶어할 잠재적 ZPer를 위해서라도 가급적 빠르면 좋을거같다는 생각 -[태진]
  • 조금더빠른형변환사용 . . . . 1 match
         // 인라인 어셈 사용.
  • 조영준/CodeRace/130506 . . . . 1 match
         [조영준]의 하위 서입니다.
  • 조영준/다대다채팅 . . . . 1 match
         [조영준]의 하위서입니다.
  • 조재화 . . . . 1 match
         결과물 :[정렬/조재화], [구구단/조재화], [피보나치/조재화],[파스칼의삼각형/조재화], [숫자야구/조재화],[마방진/조재화]
  • 조현태 . . . . 1 match
          * 소속: 중앙대학교 컴퓨터공학부, 화부, ZeroPage......
  • 조현태의자바교실 . . . . 1 match
          * 각 프로젝트 질/답변
  • 졸업논문/참고문헌 . . . . 1 match
         [졸업논]
  • 좋은글귀s . . . . 1 match
         스티브 잡스가 애플에 복귀한 지 일 년이 조금 지났던 1998년. 그는 한 컨퍼런스에서 "당신은 언제쯤이면 애플을 회생시켰다고 느낄 것입니까?"라는 질을 받았습니다.
  • 좋은위키페이지 . . . . 1 match
          ["상민"] 이도 ["데기"] 가 말하는 부분들이 아쉽다. 그러한 느낌을 기록하고, 그것을 공유하는 것이 위키의 순기능중 하나라고 생각한다. 하지만, 그런 모습이 ZeroWiki에 부족한 이유가 느낌을 기록하기 위해 글을 쓰는 '''용기'''가 부족하기 때이라고 생각한다. ZeroWiki에서는 경험과 느낌이 표현되는 곳은 프로젝트 페이지의 '''여정'''이나 '''느낌''' 기록하는 부분이나 이벤트의 '''후기''' 같은 부분이 주가 되고 있다. --["상민"]
  • 주민등록번호확인하기/김영록 . . . . 1 match
          ASCII 숫자에 -48 하는거랑 if 에서 =하고 == 혼동해서 애먹엇음
  • 중위수구하기/정수민 . . . . 1 match
          인공지능 !! 나나.. 쵸비츠만들어주...ㅠ.ㅜ ㅋ 인공지능이면 나처럼 마인파인더라던지.. 제푸는 알고리즘을 많이 만들어보는게 어때?ㅎ 그리고 꼭 쵸비츠 만들어줘야해~!!! - [조현태]
  • 즐거운공부 . . . . 1 match
         see also NoSmok:학의즐거움, ["재미있게공부하기"]
  • 즐겨찾기 . . . . 1 match
         [http://www.cinsk.org/cfaqs/html/ C에서 자주묻는질]
  • 지금그때 . . . . 1 match
          * 지금그때는 단지 고학년이 저학년에게 경험을 나누어주는 정도의 행사는 아니라고 생각합니다. 마치 개구리 올챙이적 시절 기억못하듯이, 그때 궁금해 했지만 지금은 왜 궁금했는지 조차 모르는 그런것, 지금과 다르게 생각했던 그시절 기억들. 그런것을 고학년도 경험을 할 수 있는 기회되지 않을까요?? 때로는 우리가 조언해 주고 있는 사람들이 가지고 있는 신선한 질들은 자신을 자신의 일을 한번 더 돌아볼수 있게 만드는 기회를 주기도 하지 않나요?? - 이승한
  • 지금그때/도우미참고 . . . . 1 match
         [질의힘]
  • 지금그때2003/후기 . . . . 1 match
         다음에 또 기회가 생긴다면 질하는 사람이 아닌 대답해주는 사람이 되고 싶네요
  • 지금그때2004/강의실선전홍보문안 . . . . 1 match
         날짜는 3월 31일 다음주 수요일이고, 참여할 사람이 얼마나 되는지 파악하기 위해 미리 신청을 받고 있습니다. 관심있으신 분들은 동서버에 올라온 글을 보시고 신청해주세요.
  • 지금그때2004/토론20040324 . . . . 1 match
          * [지금그때2004/강의실선전홍보안]
  • 지도분류 . . . . 1 match
         || RegressionTesting || 회귀 테스팅으로 기존의 기능에 제 없는가 테스트 ||
  • 지속적인에너지패턴 . . . . 1 match
         '''스터디 그룹을 시작하는 것은 꽤 쉽다. 그러나, 그것을 유지하고, 멤버들이 활발하게 하고, 대화가 통찰력이 있고, 그룹이 오래 지속되게 하는것은 전혀 다른 제이다. '''
  • 창섭/Arcanoid . . . . 1 match
         || 11월 12일 || 새벽에 완성. 추가기능-바 늘어나기, 공 달라붙기 OnTimer 사용. ||
  • 책분류Template . . . . 1 match
         사용법은 NoSmok:ISBNMacro 를 참고하세요.
  • 최소정수의합/남도연 . . . . 1 match
         알고리즘들이 상당히 유사한 느낌입니다만..;;ㅁ;; sum에 덧셈연산을 한 뒤에 n을 증가시키기 때에, 결과는 n이 1이 크게 나온답니다.^^
  • 최소정수의합/이규완 . . . . 1 match
         이 알고리즘대로 수행하면 계산 결과에 1이 더해서 나옵니다.^^ 덧셈후 n에 1을 증가시키기 때입니다.^^
  • 최연웅 . . . . 1 match
          * 순천금당고등학교 졸업 (혹시 동 없나요..)
  • 캠이랑놀자 . . . . 1 match
         [1002] [보창] [허아영]
  • 컴퓨터공부지도 . . . . 1 match
          * 내 생각엔 일단.. : 윈도우 컨트롤(VC 등의 리소스 편집기에서 제공 되는 모든 컨트롤들) 을 다루는 법을 완전히 습득 하자. 리스트 컨트롤, 트리 컨트롤, 탭 컨트롤 등의 모든 컨트롤을 자유자재로 원하는 모양(비트맵) 으로 바꿔서 사용할 수 있을때 까지 하자. 완전히 습득하면 어떤 프로그램이든 50% 이상 개발 기간이 단축될 것이다. -- ["김정욱"]
  • 컴퓨터를전공하면서꼭알아야할세가지 . . . . 1 match
         두번째는 "필로소피"이고, "사이언스"에 해당합니다. 도대체 컴퓨터로 무엇이 가능하고 무엇이 불가능한 것인가를 묻는 것이지요. 컴퓨터 공부중에서 가장 이론적이고 학적인 성격이 강한 것입니다. 이게 없고서는 컴퓨터공"학"(보다 적절히는 전산"학")을 했다는 말하기가 좀 그렇죠.(그렇다고 그 효용이 큰 건 아닙니다. 컴퓨터 전공자들의 끊을 수 없는 딜레마기도 하죠.)
  • 코드레이스출동/밥묵자 . . . . 1 match
          * 김상섭, 보창, 김민경, 조현태, 허아영
  • 코드레이스출동/후기 . . . . 1 match
          * SVN 사용에 매우 미숙했다. 또한 리눅스를 너무 몰랐다. 간단한 쉘 스크립트 작성하는데도 헤맸다. 수차례 도움을 요청했지만 불평 한번 없이 웃으며 도와주신 자봉님께 감사드립니다!
  • 타도코코아CppStudy/0804 . . . . 1 match
         || 제 || 학생이름 || 학생의 답안 || 강사의 평 ||
  • 타도코코아CppStudy/0818 . . . . 1 match
          * 알바때에 오늘 스터디에 갈수없게 됐습니다. 죄송.. 빠른시일내에 끝내서 숙제든 스터디든 쫓아가도록 하겠습니다. --[선희]
  • 테트리스만들기2006/예제1 . . . . 1 match
          ==== 1초마다 숫자를 1 증가시키는 소스 ====
  • 토이/숫자뒤집기/김정현 . . . . 1 match
         [토이] [토이/숫자뒤집기]
  • 통계청 . . . . 1 match
         검색 엔진에서 통계청의 내부에 링크를 걸지 못하기 때에 통계청을 알아두어야 한다.
  • 통찰력풀패턴 . . . . 1 match
         '''혼자 스스로 작품을 읽고 공부하는 건 아무 제도 되지 않는다. 그러나 위대한 작품은 잘 알아야할 가치가 있고, 개인 학습은 그룹으로 대화하며 학습한 것에 비하면 초라하다.'''
  • 파스칼삼각형/김남훈 . . . . 1 match
         제는 내가 scheme 시스템에서 stdin stdout 을 어떻게 다루는지 몰라서 그냥 함수만 만들었다는 점.
  • 파스칼삼각형/김수경 . . . . 1 match
          printf("%d행 %d열의 파스칼의 삼각형 숫자는 %d 입니다.\n",m, n, Pascal(m,n));
  • 파스칼삼각형/문원명 . . . . 1 match
         [원명]
  • 파스칼삼각형/손동일 . . . . 1 match
          cout << "숫자를 입력 하세요~ " << endl;
  • 파스칼삼각형/송지원 . . . . 1 match
         저도 제 다 풀어놓고 보니 완전 다르게 짰군요ㅠㅠ
  • 파스칼삼각형/임상현 . . . . 1 match
          cout<<"파스칼의 삼각형 "<<row<<"행 "<<col<<"열의 숫자는 "<<Pascal(row,col)<<"입니다."<<endl;
  • 파스칼삼각형/조현태 . . . . 1 match
          누가 제 또올려 놔떠..ㅠ.ㅜ 후딱 풀어놓구 일하러 갑니다아~~
  • 파이썬->exe . . . . 1 match
         win32com 에 있는 것들을 사용해서 프로그램을 만들고 나면..
  • 파일 입출력_3 . . . . 1 match
          fprintf( fpt_1, "a = %d \nb = %d \nc = %d", a,b,c); //printf와 사용법 비슷
  • 파킨슨의 법칙 . . . . 1 match
          * '''위원회의 인원과 효율성의 상관관계''' 혹은 집단이 비능률에 빠지는 숫자
  • 포항공대06입시 . . . . 1 match
          내 세울것들(논, 프로그램 만든것등.. 참고 자료), 영어는 기본
  • 프로그래밍/ACM . . . . 1 match
         Java 언어 사용
  • 프로그래밍/Score . . . . 1 match
         [http://acm.kaist.ac.kr/Problems/2005a.pdf Score 제 보기]
  • 프로그래밍잔치 . . . . 1 match
          * 고 : JuNe
  • 프로그래밍잔치/둘째날 . . . . 1 match
          * 우리가 제 Set 이야기하기 & 진행 방법 - 5분.
  • 프로그래밍잔치/셋째날 . . . . 1 match
          1. 먼저 간단한 제에 대한 프로그램을 작성한다. 제한 시간이 짧으니 가장 빨리 짜도록 한다.
  • 피보나치/SSS . . . . 1 match
          printf("숫자를 입력 하세요:");
  • 피보나치/김영록 . . . . 1 match
         변수 a,b,c를 이용해서 a,b가 주 숫자고 c는 임시 변수 입니다
  • 피보나치/김재성,황재선 . . . . 1 match
          printf("숫자를 입력해주시와요~ 캬캭\n ");
  • 피보나치/김정현 . . . . 1 match
          cout<<"숫자를 입력해봐요\n";
  • 피보나치/김진목 . . . . 1 match
          printf("숫자를 입력해보셈 ㅋㅋ : ");
  • 피보나치/문원명 . . . . 1 match
         [원명]
  • 피보나치/민강근 . . . . 1 match
          cout<<"피보나치 수열 에서 몇번째 숫자를 출력 받고 싶습니까? : ";
  • 피보나치/변형진 . . . . 1 match
         for으로 할 수 있는 것과 크게 다르지 않다.
  • 피보나치/손동일 . . . . 1 match
          cout << "몇번째 숫자를 출력합니까?: " ;
  • 피보나치/유선 . . . . 1 match
         printf("숫자를 몇개 출력할까요? 3이상으로 선택해 주세요");
  • 피보나치/이승한 . . . . 1 match
         [데블스캠프2005/화요일] [데블스캠프2005/Python]에서 풀어본
  • 피보나치/태훈 . . . . 1 match
          indata = input('숫자를 입력해 보세요 -->> ')
  • 피보나치/현정,현지 . . . . 1 match
         printf("%d항의 숫자는 %d입니다.\n",num,suyul[num-1]);
  • 한비자 . . . . 1 match
          * 이 책을 읽으면서 아무런 비판없이 받아들였던 공자의 주장도 저렇게 비판적으로 받아들일 수 있다는 것을 배웠다. 옛날부터 그렇게 해왔고, 옳은 것이라고 배운 곳도 실상을 살펴보면 그렇지 않을 수 있다는 것을 배웠다. 신상필벌을 명확하게 하는게 중요하다. 그리고 항상 어느 한쪽으로 치우쳤을 경우 제가 생길 수 있으니 그에 대비해 준비 해야 한다. 그리고 사람이 각자 자신의 이익을 위해서 움직인다는 것도 염두에 둬야한다.
  • 함수포인터 . . . . 1 match
         [http://www.cs.sfu.ca/%7Ecameron/Teaching/383/PassByName.html 5. html 서]
  • 허아영 . . . . 1 match
         [http://www.caucse.net 동서버]
  • 허아영/MBTI . . . . 1 match
         단지, T쪽으로 기울어져 있기 때에 T의 성향이 좀 더 뚜렷하게 나타난다 일뿐?
  • 헝가리안표기법 . . . . 1 match
         그러나 실제로 현장에서 일하다 보면 헝가리안 표기법을 제대로 지키는 개발자는 그리 많지 않다. 어느정도 개발경험을 가지고 있는 프로그래머는 물론 심지어 시중의 프로그래밍 서적에서 조차 저자마다 변수명을 개인에 따라 가지각색으로 짓고 있어서 처음 프로그램을 배우는 입자들들이 변수 명명에 대한 기준을 제대로 잡지 못하고 있는 실정이다.
  • 호너의법칙/김태훈zyint . . . . 1 match
         //반복된 자열 출력
  • 호너의법칙/남도연 . . . . 1 match
         이렇게 하는거 맞는건가 ㅡㅡ;; 1넣으면 33 나오기는 하는데 ㅡㅜ 제가 이해가 안감... 어쨌든 호너의 법칙은 맞고... 1넣으면 33,10,10 나옴;;
  • 홍길동 . . . . 1 match
         개인 사용자의 예제 페이지 입니다. 이와 유사하게 꾸밀 필요는 없으며, 꾸밀 내용이 생각나지 않으실때 쓰세요.
  • 황세연 . . . . 1 match
         [http://www.cyworld.com/Myfate '''warn 불시검''']
  • 황재선 . . . . 1 match
          특정 column 길이가 짧아서 고민하고 있었는데 감사합니다.^^ 링크를 보고 힌트를 얻어 table 전체 사이즈를 변경하는 방법을 찾았습니다. 제 해결해서 기쁘네요 :)
  • 회비 . . . . 1 match
         = 사용된 회비 =
  • 회원 . . . . 1 match
         || 이름 || 기수 || 휴면 신청 사유 || 휴면 만료일 || 안내 자 수신 ||
  • 후기 . . . . 1 match
         대안언어가 보여준 많은 새로운 생각이 널리 퍼지지 않아 안타깝다. 혁신을 이루려면 많은 사람이 그 아이디어를 받아들여야 한다던데, 대안언어축제 이후에 어떠한 변화가 있을까? 새로운 아이디어를 적용한 코드를 작성할 수 있을까? 새로운 프로그램을 만드려고 할 때, 현재 사용하는 언어보다 더 적당한 언어를 선택할 수 있을까? 기존에 개발하던 프로그램이 있을 때는 새로운 언어로 갈아탈 수 있을까? 창의적인 아이디어와 실용성 사이 간격을 좁혀서 대안언어가 정말로 대안이 되길 꿈꿔본다.
Found 2617 matching pages out of 7555 total pages (4500 pages are searched)

You can also click here to search title.

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