E D R , A S I H C RSS

Full text search for "한"


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Linux/필수명령어/용법 . . . . 558 matches
         초보를 위 자료입니다
         사용자를 새로 등록다.
         - GD [100]: ,,정해주는 값을 그냥 사용다.
         그외에도 홈 디렉토리에 사용하는 셸 등을 계속 물어오는데, 대괄호 속에 내정된 것을 그냥 사용하고자 다면 엔터키만 누르면 된다. 패스워드 등을 입력하고 나면 지금까지 입력된 정보를 보여주고, 몇 가지 생성 작업을 화면으로 보여준 후 작업을 종료다.
         프로그램을 지금이 아닌 나중에 실행하도록 예약다.
         -q 큐 : 대소문자 알파벳으로 큐를 지정다. 순서적으로 빠른 알파벳이 지정된 큐 일수록 CPU 시간 점유 우선권이 낮다.
         명령은 기본적으로 표준 입력 장치를 통해서 받으며, ^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 형태 중 선택하라.
         현재부터 얼마의 시간이 경과 후에 수행할지를 지정하려면 기호를 사용하라. 이 기호뒤에 숫자를 명시하고, 다시 뒤에 그 숫자의 단위가 무엇인지 지정하면 된다.
         work에 수록된 작업 사항들을 오전 8시에 수행하도록 다.
         - at noon work ,,정오에 work에 수록된 작업을 수행다.
         내일 오후2시 40분에 work 파일에 수록된 작업을 수행다.
         인수로 주어진 문자열을 큰 글씨로 만들어서 출력다.
         - banner linux | lqr ,,디폴트 프린터에 확대 글자를 출력다.
         이것은 리눅스의 Boume 셸이다. sh를 사용하면 sh가 bash를 호출하여 실행다. bash를 직접 사용하지 말고 sh를 사용하도록 하라.
         전자우편의 수신을 즉시 알려주는 동작을 가능하게 할 것인지 그렇지 않은 지의 여부를 보여주거나 결정다.
         유닉스 셸은 사용중이라도 주기적으로 전자우편의 수신 여부를 점검다. 만일 사용자가 전자우편이 도착하는 즉시 알고자 다면 biff를 사용하여 그것을 지시할 수 있다. 또는 언제라도 그 기능을 해제할 수도 있다. biff는 인수없이 사용되면 현재 어떤 상태로 되어 있는지 보여준다. 기능 설정과 해제 여부는 y 혹은 n 인수를 주어서 결정다.
         -j : 1월 1일부터 날짜수를 계산하는 julian 날짜를 표시다.
         -y : 올해의 달력을 표시다.
  • MoreEffectiveC++/Miscellany . . . . 449 matches
         사물은 변화다.
         소프트 웨어 개발자라면, 우린 아마 많은것을 알 필요는 없다. 하지만 변하는 것은 인지해야 다. 우리는 무엇이 변할건가, 어떻게 변할건가, 언제 변화가 일어나는가, 왜 거기에서 변화가 일어나는가 이런것 따위는 알필요가 없다. 그렇지만 우린 알아야 다. '''변화다.''' 라는 점 말이다. (작성자주:개인적인 의견으로 의역 단락, 혹시나 관심있으면 의견좀 내주세요.)
         좋은 소프트웨어는 변화를 잘 수용다. 새로운 기능을 수용하고, 새로운 플랫폼에 잘 적용되고, 새로운 요구를 잘 받아 들이며, 새로운 입력을 잘 잡는다. 이런 소프트웨어는 유연하고, 강하고, 신뢰성있고, 돌발 상황(사고)에 의해 죽지 않는다. 이런 소프트웨어는 미래에 필요 요소를 예상하고, 오늘날 구현시에 포함시키는 프로그래머들에 의해서 디자인된다. 이러 종류의 소프트웨어는-우아하게 변화하는 소프트웨어- ''program in the future tens''(매래의 프로그램:이하 영문 직접 사용)을 감안하는 사람들이 작성다.
         ''program in future tense''는, 변화의 수용하고, 준비다. 라이브러에 추가될 새로운 함수, 앞으로 일어날 새로운 오버로딩(overloading)을 알고, 잠재적으로 모호성을 가진 함수들의 결과를 예측다. 새로운 클래스가 상속 계층에 추가될 것을 알고, 이러 가능성에 대하여 준비다. 새로운 어플리케이션에서 코드가 쓰이고, 그래서 새로운 목적으로 함수가 호출되고, 그런 함수들이 정확히 동작을 유지다. 프로그래머들이 유지 보수를 할때, 일반적으로 원래의 개발자의 영역이 아닌, 유지 보수의 몫을 안다. 그러므로, 다른 사람에 의해서 소프트웨어는 이해, 수정, 발전의 관점에서 구현하고 디자인된다.
         이런 좋은 소프트웨어를 만들기 위 방법으로, 주석이나, 기타 다른 문서 대신에 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)으로 선언해라, 그리고 차후에 그것을 바꾸어라 왜냐하면 그것은 다른사람을 편하게 하기 때문이다.;전체 클래스의 목적에서 변화를 유지하는지 확신을 해라.
         모든 클래스에서 할당(assignment), 복사를 잡아라. "비록 아무것도 하지 않는 것"이라도 말이다. 왜냐하면 그것들이 지금 할수 없는건 미래에도 할수 없다는 의미이다. 만약 이러 함수들이 구현하기에 어렵게 다면, 그것을 private로 선언하라. 미래에도 동작시키게 하지 않다는 의미다. 컴파얼러가 만들어내는 함수에 대 모호 호출을 할리가 없다. (기본 할당 생성자나 기본 복사 생성자가 종종 발생되는 것처럼)
         어떤이가 무언가를 '''할수있다는것''' 알게되면 그들을 그것을 '''할것이다.''' 그들은 예외를 던질 것이다. 그들은 그들 스스로에게 객체를 할당할 것이다. 그들은 값을 제공하기전에 객체를 사용할 것이다. 그들은 객체를 제공하겠지만, 결코 사용하지 않는다. 그들은 커다란 값을 제공할 것이다. 그들은 아주 작은 값을 제공할 것이다. 그들은 null 값을 제공할 것이다. '''일반적으로 만약 컴파일이 되면 어떤이가 그것을 할것이다.''' 결과적으로 당신의 클래스를 정확히 사용하는건 쉽게, 이상하게 사용하는건 어렵게 만들어라. 클라이언트가 실수를 하도록 해라 그리고 당신의 클래스들이 그러 에러들을 방지하고, 찾고, 수정할수 있게 만들어라. (예를들어 Item 33 참고)
         이식성 있는 코드를 만들어라. 이식성 있는 프로그램의 제작은 그렇지 않은 경우보다 매우 어려운게 아니다. 그리고 눈에 보일 만큼 성능면에서 이식성 없는 코드를 고집해야 하는 경우는 희귀하다.(Item 16참고) 특정 하드웨어를 위 프로그램의 디자인에서도, 얼마 안있어 하드웨어 성능이 동일 수준의 성능을 가져다 주므로, 이식성 있도록 만들어라. 이식성 있는 코드의 작성은 플랫폼 간의 변환에 쉽고, 당신의 클라라이언트 기반을 공고히 하고, 오픈 시스템의 지원에 관하여 좋다. 만약, OS에서 성능이 실패해도, 쉽게 복구할수 있다.
         당신의 코드를 변화가 필요할때, 그 효과를 지역화(지역화:localized) 시키도록 디자인 해라. 가능 캡슐화 하여라:구체적인 구현은 private 하라. 광범위하게 적용해야 할곳이 있다면 이름없는(unamed) namespace나, file-static객체 나 함수(Item 31참고)를 사용하라. 가상 기초 클래스가 주도하는 디자인은 피하라. 왜냐하면 그러 클래스는 그들로 부터 유도된 모든 클래스가 초기화 해야만 다. - 그들이 직접적으로 유도되지 않은 경우도(Item 4참고) if-than-else을 개단식으로 사용 RTTI 기반의 디자인을 피하라.(Item 31참고) 항상 클래스의 계층은 변화다. 각 코드들은 업데이트 되어야만 다. 그리고 만약 하나를 읽어 버린다면, 당신의 컴파일러로 부터 아무런 warning를 받을수 없을 것이다.
         이와 같은 내용들을 아무리 반복해서 말하곤 하지만, 대부분의 프로그래머들은 현재의 시류를 그대로 고집다. 훌륭 안목의 C++ 전문가가 말하는 충고에 관해서 생각해라.
          * 당신은 B*가 가리키고 있는 D를 제거할때 가상 파괴자를 필요로 다.
         그 의미는 클라이언트 코드에 대하여 약간의 변화가 -delete문-결과적으로 클래스 B의 정의까지 변화해야 하는 필요성을 보여준다. 그런 상황이 발생하면, B의 클라이언트들은 모두 재 컴파일 해야 다. 아까, 이 필자의 충고를 따르면, 확장 코드에 대 클라이언트의 라이브러리도 재 컴파일, 재 연결해야 다. 이는 소프트웨어 디자인에 효과를 미틴다.
         그렇지만 새로운 클래스가 B로부터 유도되면 바뀌어야 다.
         다시, B에 작은 변화는 아마 클라이언트의 부가적인 재 컴파일과 재링크를 요구다. 그렇지만 소프트웨어의 작은 변화는 시스템에 작은 충격을 줄것이다. 이러 디자인은 테스트로 실패이다.
          * 만약 다중 상속 상태에서 어떠 파괴자가 있다면, 모든 기본 클래스가 아마 가상 파괴자(virtual destructor)가 되어야 할것이다.
         미래의 시류로 생각하는 관점은 완전히 다르다. 지금 어떻게 클래스를 사용하느냐를 묻는것 대신에, '''어떻게 클래스를 디자인 하느냐를 묻는다.''' 미래 지향적 생각으로는 이렇게 말다. 만약 기초 클래스로 사용된 클래스가 '''디자인''' 된다면 그 클래스는 가상 파괴자를 가져야 다. 그러 클래스는 지금과 미래 모두 정확히 동작해야 다. 그리고 그들오 부터 클래스들이 파생될때 다른 라이브러리의 클래스에게 영향을 끼쳐서는 안된다. ( 최소, 파괴자로 인 논란 만큼, 영향이 없어야 다. 추가적인 변화가 클래스에 필요하면 다른 클라이언트들오 아마 영향을 받을 것이다.)
         상업용 클래스 라이브러리(C++표준 라이브러리 상의 string 스펙의 날짜를 앞당기려는 회사)는 가상 파괴자를 가지고 있지 않은 sting클래스를 포함다. 그 벤더의 설명은?
         확실히 vtbl 문제는 합법적인 접근이다. (Item 24참고) 대다수 String클래스의 구현에서 오직 하나의 char*를 각각의 String 객체가 가지고 있다. 그래서 각 String객체에 추가되는 vptr도 두배의 양을 차지다. 허용하지 않으려는 이유는 이해하기 쉽다. String같은 클래스를 무겁게 사용하면 눈에 띠는 성능 저하가 있다. 앞서 언급 경우 클래스당 성능 저하는 약 20%정도를 가지고 온다. (Item 16참고)
         문자열 객체에 대 메모리의 할당은-문자의 값을 가지고 있기 위해 필요로하는 heap메모리까지 감안해서-일반적으로 char*이 차지하는 양에 비하여 훨씬 크다. 이러 관점에서, vtpr에 의 오버헤드(overhead)는 미미하다. 그럼에도 불구하고, 그것은 할만(합법적인,올바른) 고민이다. (확실히 ISO/ANSI 포준 단체에서는 그러 관점으로 생각다. 그래서 표준 strnig 형은 비 가상 파괴자(nonvirtual destructor) 이다.)
  • MoreEffectiveC++/Efficiency . . . . 387 matches
         DeleteMe ) 해당 스크립트의 뒷부분이 제대로 이해가 안간다. 당연 내용을 꼬아 쓴것 같은데, 차후 수정 시도 하겠음 --상민
         '''80-20 규칙''' 이란? 프로그램의 80%의 리소스가 20%의 코드에서 쓰여진다.:실행 시간의 80%가 대략 20%의 코드를 소모다;80%의 메모리는 어떤 20%의 코드에서 쓴다.;80%의 disk 접근은 20%의 코드에서 이루어진다.:80%의 소프트웨어 유지의 노력은(maintenance effort)는 20%의 코드에 쏟아 부어진다.[[BR]]
         80-20 규칙은 수많은 기계에서, 운영체제(Operating System)에서, 그리고 어플리케이션에서 적용된다. 80-20 규칙은 단지 재미있는 표현보다 더 많은 의미가 있다.;그것은 광범위하고, 실질적인 개념이 필요 시스템의 성능(능률)에 개선 대 기준점을 제시다.
         80-20 규칙을 생각할때 이 숫자에 너무 매달릴 필요는 없다. 때로 사람들은 90-10이 될수도 있는거고, 실험적인 근거도 역시나 그렇게 될수 있는 것이다. 정확 숫자이든, 중요 사안,포인트는 바로 이것이다.: 당신의 소프트웨어의 수행의 부하는 거의 항상 소프트웨어의 작은 부분에서 결정되어 진다는 점이다.
         프로그래머의 노력이 당신의 소프트웨어의 성능 개선에 촛점을 맞추게 된다면 80-20 규칙은 당신의 생활을 '''간편하게(윤택하게)''', 혹은 좀더 '''복잡히(어렵게)''' 만들어 나갈것이다. '''간편하게(윤택하게)''' 쪽을 생각다면, 80-20 규칙은 당신이 성능에 대하여 솔직히 어느 정도 평범 코드의 작성을 대다수에 시간을 보낼수 있음을 의미다.왜냐하면 당신이 일하는 시간의 80%에 작성된 것은 시스템의 성능에 관해 특별히 해를 끼치지 않는다는 의미이기 때문이다. 저의미는 아마 많은 부분이 당신을 위 말은 아니지만, 그것은 당신의 스트레스 정도를 다소 줄여줄수 있다. '''복잡히(어렵게)'''를 생각해 본다면 80-20 규칙은 만약 당신이 성능문제를 가지고 있다면 당신 앞에 놓여진 일은 험하다는 걸 의미다. 왜냐하면, 당신은 오직 그 문제를 일으키는 작은량의 코드들을 제거해야 하고, 성능을 비약적으로 향상시키는 방법을 찾아야 하기 때문이다. 이렇게 80-20 규칙은 두가지의 반대되는 다른 관점에서의 접근이 주어진다.:대다수 사람들은 그렇게하고, 옯은 방법을 행해야 할것이다.
         많은 사람들이 병목현상(bottleneck)에 관 해결책에 고심다. 경험에 따른 방법, 직관력, tarot 카드이용(운에 맏기기) 그리고 Ouija(점괘를 나타내는 널판지의 상표명, 즉 점보기) 보드를 사용 하기도 하고, 소문이나 잘못, 올바르지 않은 메모리 할당, 충분하지 않은 최적화를 컴파일러, 혹은 치명적인 순환 구문을 만들어내기 위해 어셈블리 언어를 사용 돌대가리 메니저들의 메니저들. 이러 사정들은 일반적으로 멸시의 비웃음을 동반하고, 그들의 예언은 솔직히 잘못된 것이다.
         대부분 프로그래머들은 그들의 프로그램에 관 특성에 관하여 멍청 직관력을 가지고 있다. 왜냐하면 프로그램 성능의 특징은 아주 직관적이지 못하다. 결과적으로 남에 눈에는 띄지 않고 말할수 많은 노력이 성능 향상을 위해 프로그램의 관련된 부분에 쏟아 부어 진다. 예를들어서 아마, 계산을 최소화 시키는 알고리즘과 데이터 구조가 프로그램에 적용 되다. 그렇지만 만약에 입출(I/O-bound)력 부분 적용된다면 저것은 허사가 된다. 증가되는 I/O 라이브러리는 아마 컴파일러에 의하여 바뀐 그 코드에 의해 교체될것이다. 그렇지만, 프로그램이 CPU-bound에 대 사용이라면 또 이건 별로 중요 포인터(관점)이 되지 않는 것이다.
         저러 상황에서, 만약 내가 느린 플그램이나 너무 많은 프로그램을 만나면 어떻게 해야하는가? 80-20 규칙은 프로그램의 랜덤 구역의 증가는 돕는데 썩좋지는 않다는 걸 의미다. 사실, 프로그램은 성능 향상은 비직관적이다. 하지만 당신의 프로그램에서 단순 랜덤 부분의 증가보다 성능의 병목 지점을 찾는 생각에 노력을 기울이는 것이 더 좋와 보이지는 않은 것이다. 자 그럼 일해 보실까요?
         일을 할 그 부분은 실질적으로 당신의 프로그램의 20%로, 당신에게 고민을 안겨주는 부분이다. 그리고 끔찍 20%를 찾는 방법은 프로그램 프로파일러(profiler:분석자)를 사용하는 것이다. 그렇지만 어떠 프로파일러(profiler:분석자)도 못할일이다. 당신은 가장 관심 있는 직접적인 해결책을 내놓는 것을 원다.예를 들자면 당신의 프로그램이 매우 느리다고 하자, 당신은 프로파일러(profiler:분석자)가 프로그램의 각각 다른 부분에서 얼마나 시간이 소비되는지에 관해서 말해줄껄 원다. 당신이 만약 그러 능률 관점으로 중요 향상을 이룰수 있는 부분에 관해 촛점을 맞추는 방법만 알고 있다면 또 전체 부분에서 효율성을 증대시키는 부분을 말할수있을 것이다.
         몇번이나 구문이 실행되는가, 함수가 실행되는가는 때때로 당신의 소프트웨어 안의 모습을 이야기 해준다. 예를들어 만약 당신이특별 형태의 객체를 수백개를 만든다고 하면, 생성자의 횟수를 세는것도 충분히 값어치 있는 일일 것이다. 게다가 구문과, 함수가 불리는 숫자는 당신에게 직접적인 해결책은 제시 못하겠지만, 소프트웨어의 면을 이해하는데 도움을 줄것이다. 예를들어서 만약 당신은 동적 메모리 사용을 해결하기 위 방법을 찾지 못다면 최소 몇번의 메모리 할당과 해제 함수가 불리는것을 아게되는것은 유용 도움을 줄지도 모른다. (e.g., operators new, new[], delete and delete[] - Item 8참고)
         물론,프로파일러(profiler:분석자)의 장점은 프로세스중 데이터를 잡을수 있다는 점이다. 만약 당신이 당신의 프로그램을 표현되지 않는 입력 값에 대하여 프로파일(감시 정도 의미로)다고 하면, 프로파일러가 보여준 당신의 소프트웨어의 모습에서 보통의 속도와, 잘 견디는 모습을 보여준다면 - 그부분이 소프트웨어의 80%일꺼다. - 불만있는 구역에는 접근하지 않을 다는 의미가 된다. 프로파일은 오직 당신에게 프로그램의 특별난 부분에 관해서만 이야기 할수 있는걸 기억해라 그래서 만약 당신이 표현되지 않는 입력 데이터 값을 프로파일 다면 당신은 겉으로 들어나지 않는 값에 대 프로파일로 돌아가야 할것이다. 그것은 당신이 특별 쓰임을 위하여 당신의 소프트웨어를 최적화 하는것과 비슷하다. 그리고 이것은 전체를 보는 일반적인 쓰임 아마 부정적인 영양을 줄것이다.
         이런 결과들을 막는데 최선책은 당신의 소프트웨어에 가능 많은 데이터 들에게 프로파일을 시도하는것이다. 게다가 당신은 각 데이터들이 소프트웨어가 그것의 클라이언트들(혹은 최소 가장 중요 클라인트들에게라도)에게 사용방식을 잘 보여주도록 확신할수 있어야만 다. 잘표현되는 데이터들은 얻기가 용이하다 왜냐하면 프로파일링 중에는 당신이 그들의 데이터를 사용할수 있기때문에 많은 클라이언트들이 좋기 때문이다. (뭔소리야. --;) 당신은 당신의 소프트웨어를 그들과 만나면서 조정(tuning)을 할것이고, 그것이 오직 당신이나 클라이언트들 양쪽에게 좋은 방법이다.
         DeleteMe ) lazy evaluation이나 여러 용어가 마땅 글말이 없어서 이후 영문을 직접 쓴다. 전반적인 내용이 의미 설명을 하다. --상민
         능률(efficiency)의 관점에서 최고의 계산은 결코 아무것도 수행하지 않는것이다. 말이 좀 이상가? 생각해 봐라 당신이 어떤 일도 필요없을때 이건 맞는거다. 왜 당신은 당신의 프로그램안에서 가장 처음에 그것을 수행하려 하는가? 그리고 만약 당신이 어떤 일을 수행하기를 원할때 당신은 그 코드의 실행(excuting)을 피할수는 없을까?
         우리가 어린이이고, 당신의 부모님들이 당신에게 방을 치우라고 이야기 했을때를 기억해 보자. 만약 당신이 나와 같다면 말이지 난 당장 "네" 하고 대답하고 아마도 다시 내가하던 다른 일을 할꺼다. 당신은 아마 방을 치우지 않겠지. 사실 방을 치우는 작업은 당신의 일의 우선순위에 대 생각에서 마지막에 위치다. - 그러니까. 당신의 부모님이 당신에 방에 다가오는 소리를 들을때 말이지. 그리고 나면 당신은 전속력으로 방으로 뛰어들어가 가능 가장 빨리 치운다. 만역 당신이 행운아라면 부모님들은 결코 체크를 안하시고 당신은이런 모든 치우는 귀찮은 작업을 보통 꺼린다.
         이런 같은 관점을 이제 막 5년차 C++프로그래머에 대입 시켜본다. 컴퓨터 과학에서, 우리는 그러 뒤로 미루기를 바로 ''''lazy evaluation''''(구지 해석하면 '''필요시 연산, (최)후 연산, 늦은 연산'''정도라 할수 있겠다.)이라고 말다. 당신이 lazy evaluation을 사용하면 당신의 클래스들이 최종적으로 원하는 결과가 나올 시간까지 지연되는 그런 상태로 코딩을 해야 다. 만약 결과값을 결국에는 요구하지 않는다면, 계산은 결코 수행되지 않아야 다. 그리고 당신의 소프트웨어의 클라이언트들과 당신의 부모님은 더 현명하지 않아야 다.( 무슨 소리냐 하면, 위의 방치우기 이야기 처럼 부모님이나 클라이언트들이 lazy evaluation기법의 일처리로 해결을 하지 않아도 작업에 대 신경을 안써야 다는 소리 )
         아마 당신은 내가 이야기들에 대하여 의문스로운 점이 있을것이다. 아마 다음의 예제들이 도움을 줄것이다. 자!, lazy evaluation은 어플리케이션 상에서 수많은 변화에 적용할수 있다. 그래서 다음과 같이 4가지를 제시다.
          // 같이 사용 방식이 적용된다고 가정다. 하지만 결코 존재하지는 않는다.)
         지금 위에서 이렇게 접근하는 방식은 작고, 간단 부분을 언급하는거에 불과하다 그래서, 누가 무엇을 공유했는지 알고 있고, 반환되는 값으로, 언급 new와 복사에 추가비용되는 지출을 줄일수 있다. s1,s2가 공유하는 데이터 구조의 상태는 클라이언트들에게 명확하다. 그리고 그것은 확실히 다음에 제시될 예제같이 값을 쓰지 않고 읽기만을 요구할때는 아무런 걱정할 점이 없다.
         사실, 값을 공유하는 시간은 둘중 아무거나 값이 수정되어 버릴때 다른점이 발생하기 전까지만 유효 것이다. :ㅣ그런데 양쪽이 다 바뀐게 아니라 쪽만 바뀌는 이런 지적은 중요것이다. 다음과 구문처럼
  • MoreEffectiveC++/Techniques2of3 . . . . 293 matches
         Reference counting(이하 참조 세기, 단어가 길어 영어 혼용 하지 않음)는 같은 값으로 표현되는 수많은 객체들을 하나의 값으로 공유해서 표현하는 기술이다. 참조 세기는 두가지의 일반적인 동기로 제안되었는데, '''첫번째'''로 heap 객체들을 수용하기 위 기록의 단순화를 위해서 이다. 하나의 객체가 만들어 지는데, new가 호출되고 이것은 delete가 불리기 전까지 메모리를 차지다. 참조 세기는 같은 자료들의 중복된 객체들을 하나로 공유하여, new와 delete를 호출하는 스트레스를 줄이고, 메모리에 객체가 등록되어 유지되는 비용도 줄일수 있다. '''두번째'''의 동기는 그냥 일반적인 생각에서 나왔다. 중복된 자료를 여러 객체가 공유하여, 비용 절약 뿐아니라, 생성, 파괴의 과정의 생략으로 프로그램 수행 속도까지 높이고자 하는 목적이다.
         이런 간단 생각들의 적용을 위해서는 많이 쓰이는 자료형태를 찾아 예제삼아 보여주는 것이 이해에 도움이 도리것이다. 이런 면에서 다음의 예는 적합할 것이다.
         이러 그림을 참조 세기에서 말하는 중복 객체에 대 자료의 공유를 적용시킨 그림은 다음과 같을 것이다.
         그리고 여기의 5에 해당 하는 숫자를 '''''Reference count''''' 라고 부른다. 혹자는 ''use count''라고 부르기도 하는데, 학술 용어의 당파에 따른거니 별 상관 안다. 하지만 나(scott mayer) 그렇게 안부른다.
         참조 세기를 하는 String 클래스를 만드는건 어렵지는 않지만, 세세 부분에 주목해서 어떻게 그러 클래스가 구현되는지 주목해 보자. 일단, 자료를 저장하는 저장소가 있고, 참조를 셀수 있는 카운터가 있어야 하는데, 이 둘을 하나로 묶어서 StringValue 구조체로 잡는다. 구조체는 String의 사역(private)에 위치다.[[BR]]
         지금까지 말 사항의 기본은 다음과 같다.
         물론 이의 이름은 String과 다른 이름을 매겨야 하겠지만,(아마 RCString정도?) 하지만 String자체를 구현다는 의미로 그냥 이름은 유지하고, 앞으로 말할 참조세기를 적용시킨 String 객체를 만들어 나가겠다.
         이것으로 StringValue의 구현은 일단 끝이다. 이를 사용하는 String 객체의 구현에 들어가야 다.
         먼저 생성자를 구현다.
         // String의 복사 생성자, 초기화 목록으로 StringValue에 값을 할당다.
         다음과 같다. 여기에서 "More Effective C++" 라는 문자열을 공유다면, 참조세기가 이루어 지는 것일 거다. 그러기 위해서 String의 복사 생성자는, 참조 카운터를 올리고, 자료를 새로 생성할것이 아니라, 그냥 포인터만 세팅해 주는 일을 해야 다. 이런 과정을 구현하면
         // String 클래스의 복사 생성자, 초기화 목록으로 StringValue의 포인터를 세팅다.
         생성자의 손쉬운 구현같이 파괴자 구현도 그리 어려운 일이 아니다. StringValue의 파괴는, 서로가 최대 사용하고, 값이 파괴 시점은 참조 카운터가(reference counter:이하 참조 카운터만) 1인 경우 더이상 사용하는 객체가 없으므로 파괴하도록 구성다.
         다음에 구현해야할 사항은 할당(assignment)관련 구현 즉 operator= 이다. 복사 생성자(copy constructor)를 호출이 아닌 할당은 다음과 같이 선언되고,
         이것의 구현은 약간은 복잡데, 이유는 생성과 파괴가 동시에 있어야 하는 상황을 고려해야 하기 때문이다. 그래도 아직 앞으로 다루어야할 내용에 비해 상당히 간단 편이다. 자세 설명은 소스에 주석을 참고하라
          delete value; // 있지 않다면 삭제 다.
          value = rhs.value; // 자료를 공유다.
          === Copy-on-Write : 쓰기에 기반 복사 ===
         참조세기가 적용된 문자열에 대하여 둘러 봤는데, 이번에는 배열에 관(array-bracket) 연산자들 "[]" 이녀석들에 관해서 생각해 보자. 클래스의 선언은 다음과 같다.
         const String에 대 값을 주는 것은 아래와 같이 간단히 해결된다. 내부 값이 아무런 영향을 받을 것이 없을 경우이기 떄문이다.
  • MoreEffectiveC++/Techniques1of3 . . . . 279 matches
         가상 생성자, 이것에 관해서 생각해 보기는 좀 생소하다. 사실 가상 함수를 부를려면, 객체에대 참조나, 포인터를 가지고 있어야 하는데, 생성할때 부터 가상(virtual) 함수를 사용다? 좀 이상하지 않은가? 어떨때, 어떻게 이 '''가상 생성자''' 라는걸 써먹을수 있을꺼?
         NewsLetter 객체는 아마 디스크에서 자료를 적재할 것이다. NewsLetter가 디스크에서 자료를 가지고 보여주기 위해 istream을 사용해서 NewsLetter를 구성할 객체들을 생성다고 가정다면 다음과 같은 코드들을 대강 만들수 있는데
          // readComponent가 해석 객체를 newsletter의 리스트 마지막에 추가시키는 과정
         readComponent가 무엇을 어떻게 하는지 궁리해 보자. 위에 언급듯이 readComponent는 리스트에 넣을 TextBlock나 Graphic형의 객체를 디스크에서 읽어 드린 자료를 바탕으로 만들어 낸다. 그리고 최종적으로 만들어진 해당 객체의 포인터를 반환해서 list의 인자를 구성하게 해야 할것이다. 이때 마지막 코드에서 가상 생성자의 개념이 만들어 져야 할것이다. 입력되 는자료에 기초되어서, 알아서 만들어 인자. 개념상으로는 옳지만 실제로는 그렇게 구현될수는 없을 것이다. 객체를 생성할때 부터 형을 알고 있어야 하는건 자명하니까. 그렇다면 비슷하게 구현해 본다?
         가상 생성자의 방식의 종류로 특별하게 가상 복자 생성자(virtual copy constructor)는 널리 쓰인다. 이 가상 복사 생성자는 새로운 사본의 포인터를 반환하는데 copySlef나 cloneSelf같은 복사의 개념으로 생성자를 구현하는 것이다. 다음 코드에서는 clone의 이름을 쓰였다.
         보다시피 클래스의 가상 복사 생성자는 실제 복사 생성자를 호출다. 그러므로 "복사" 의미로는 일반 복사 생성자와 수행 기능이 같다 하지만 다른 점은 만들어진 객체마다 제각각의 알맞는 복사 생성자를 만든다는 점이 다르다. 이런 clone이 NewsLetter 복사 생성자를 만들때 NLComponent들을 복사하는데 기여를 다. 어떻게 더 쉬운 작업이 되는지 다음 예제를 보면 이해 할수 있을 것이다.
         생성자는 실제로 가상 함수가 될수 없다. 마찬가지로 비멤버 함수들 역시 마찬가지 이리라, 하지만 그러 기능이 필요할 떄가 있다. 바로 앞 예제에서 NLComponent와 그것에서 유도된 클래스들을 예를 들어 보자면 이들을 operator<<으로 출력을 필요로 할때 이리라. 뭐 다음과 같이 하면 문제 없다.
         하지만 출력해야할 스트림 객체가 righ-hand 객체라는것이 사용자 입장에서 불편하게 만든다. 우리가 보통 사용하는 것처럼 스트림 객체에 출력할 객체를 넣는 다는 개념이 적용되지 않는 것이리라. 하지만, 전역 함수나 friend함수를 이용해서 구현다면 더이상 가상함수로 구현할수가 없게 된다. 여기서의 방법이 비멤버 함수를 이용하는 것이다.
         다음과 같이 가상 함수로 출력을 구현하고, 전역이든, namespace로 묶여 있든, 비 멤버 함수로 스트림 객체와의 출력의 고리를 연결시켜서, 비멤버 함수가 가상함수처럼 돌아가도록 구현다.
         가상 함수의 역할을 비멤버(non-member)함수로 구현 사례이다. 비 멤버 함수이지만 inline을 통해서 가상 함수와의 직접 연결 통로를 만들었다.
         비멤버 함수의 가상(virtual)관련 사용에 대하여 더 다루자면 내용이 복잡해 진다. 이에 대 관련 사항은 Item 31을 참고하라
          * Item 26: 객체 숫자 제하기.
         자 지금까지 객체에 대 이야기로 당신은 미칠 지경에 빠졌을 꺼다. 게다가 이것은 당신을 혼란에 빠트릴 수준까지 왔을 것이다. (첫줄만 직독직해.) 예를들어서 당신의 시스템에 프린터가 하나 밖에 없을때 프린터를 대변하는 객체의 숫자를 하나로 제해야 하지 않을까? 아니면 하나의 파일에 대하여 16개의 파일 접근자만 허용할때 따위 같은거 말이다. 여기서는 그 해법에 관해서 생각해 본다.
          * 작성자주 : 이 부분은 Singleton 패턴과 연관해서 생각하면 재미있을 것 같다. Singleton 패턴이 DP에 논의될때 이것을 감안 안것이 아쉽다. 1995년에 발간이라 STL도 제대로 다루지 않았고, C++의 기본적인 문법을 이용해 구현하였다. MEC++는 Techniques 부분은 C++의 문법과 개념을 극으로 쓴다는 느낌이 든다.
         자 이렇게 하면 생성자가 private상태라서 외부에서 생성자를 부를수 없기 때문에, 외부에서 객체를 생성할수 없다. 이런 아이디어를 바탕으로 생성 자체에 제을 가해 버리는 것이다. 그럼 처음에 말 프린터의 예제를 위의 아이디어를 구현해 보자.
          friend Printer& thePrinter(); // 이 friend 함수가 유일 객체 하나를 유지 시키고
          // 객체의 사용권을 부여 하는 역할을 다.
         해당 디자인은 세가지의 중점으로 이해 하면 된다. '''첫번째''' Printer클래스의 생성자를 private(사역)인자로 설정다. 이는 객체 생성을 제다. '''두번째''' 전역 함수인 thePrinter를 Printer클래스의 friend로 선언다. 그래서 이 thePrinter가 첫번째에서의 제에 상관없이 관여 가능하도록 만든다. '''마지막으로(세번째)''' 전역함수인 thePrinter 내부에 정적(static) Printer 객체를 만든다. 이는 오직 하나만의 객체를 thePrinter내부에 유지시킨다.
         하지만 이렇게 구현시에는 thePrinter가 "'''전역 공간을 사용해야 다.'''" 것으로 코드를 약하게 만든다. 알다 시피, 전역 공간의 사용은 되도록이면 피해야 하는 방법이며, thePrinter를 Printer클래스 내부에 숨기기를 추천하다. thePrinter를 Printer클래스 내부 메소드로 넣어 버리고, friend를 삭제해 보자.
         Printer& Printer::thePrinter() // friend만 없앴지 마찬가지 방법을 제시다.
  • 1002/Journal . . . . 265 matches
         하루 평가 : 5점 만점중 2점. (중요하고 긴급 일들을 잘 처리 못함)
          * 내용설명 관련 -> 1차적으로 이해를 위 TOC 작성. - O
          -> 살을 붙여서 이해하기 -> restatement 필요 & 대강 무질서 방법으로 넘어가버림.
          * 1시 30분. 양대쪽으로 이동하기 - o
         '요새 느슨하게 살고 있다' 라는 10글자에 대 약간의 구체화 & 재진술.
         아직은 다른 개념에 대 재추상화에 대해선 별로 궁리하고 있지 않은중. 일단은 바보인 상태를 진행중. 관찰중이긴 할까?
          * 전체 책 내용에 대 Summary 가 TOC 로 조직적이라는 점. (이번에 TOC 를 준비 안했다.)
          * 구현 경험이 풍부하다는 점. 해당 책 내용에 대해 코드로 예를 들어달라면 들어줄 수 있을정도. (나는 해석부분에 대 1차 해석에서부터 잘 하지 못함)
          * 다른사람들이 '나'로부터 뭔가 유용점을 얻기가 쉽지 않겠다는 생각이 들게 되다. 뭐, 의외의 오해로 가능할지도. 해당 말에 대 가치는 듣는 사람들이 만들어내니까.
          반론 : Journal 을 쓰는 목적은 일기와 다르다. 이건 철저하게 '해당 일에 대 개선'을 위 일이다.
          몇몇 중요 사건들에 대해 기록할 수 없다. (Daum workshop 등..)
          반론 : 그러 글들은 보안이 유지되는 다른 곳에 적으면 되지 않는가?
          재반론 : 정보가 곳으로 모이지 못하고 분산되는 형태가 되어버린다.
          재반론 : 위키 곳에서 모든 작업을 할 수 없다는점이 마음에 안든다.
          * 내가 쓰는 상당양의 단어들을 볼때 누구의 영향을 얼마만큼 받았는지가 느껴진다. 비록 훌륭 학생이 아니긴 하지만.
         책을 8권 정도 샀다. Input 대비 Output 비율이 이전보다 조금이나마 높았으면 다.
         도서관에서 이전에 절반정도 읽은 적이 있는 Learning, Creating, and Using Knowledge 의 일부를 읽어보고, NoSmok:HowToReadaBook 원서를 찾아보았다. 대강 읽어봤는데, 전에 글용어로는 약간 어색하게 느껴졌던 용어들이 머릿속에 제대로 들어왔다. (또는, 내가 영어로 된 책을 읽을때엔 전공책의 그 어투를 떠올려서일런지도 모르겠다. 즉, 영어로 된 책은 약간 더 무겁게 읽는다고 할까. 그림이 그려져 있는 책 (ex : NoSmok:AreYourLightsOn, 캘빈 & 홉스) 는 예외)
          글 책을 읽을때엔 글로 요약다. 영어책을 읽는 중 글로 요약하려니 내가 읽을때 가급적 글로 해석 안하려고 하는 연습중이다. 그러하기엔 또 지금 영어 작문능력이 뛰어나지 않다.
          책을 읽으면서 '해석이 안되는 문장' 을 그냥 넘어가버렸다. 즉, NoSmok:HowToReadaBook 에서의 첫번째 단계를 아직 제대로 못하고 있는 것이다. 그러 상황에서는 Analyicial Reading 을 할 수가 없다.
          * GOF 번역을 할때엔? - 번역을 할때엔 애매 단어들에 대해 전부 사전을 찾아보게 된다. (완전히 직역을 하므로) 시간이 많이 걸리지만, 영어학습 초기엔 자주 해보는게 좋지 않을까 생각다. (꼭 글 번역이 아닌, 어려운 영어에 대 쉬운 영어로의 해설. 이게 좀 더 어려우려나..)
  • 2011년독서모임 . . . . 244 matches
          * [김수경] - [http://www.yes24.com/24/Goods/436056?Acode=101 성공 CEO는 단순하게 해결다]
          * [강소현] - [http://www.yes24.com/24/Goods/3105115?Acode=101 엄마를 부탁해]<- [http://news.nate.com/view/20110416n04609?mid=n0507 요상 비판기사ㅇㅁㅇㅋ]
          * [김수경] - [http://www.aladin.co.kr/shop/wproduct.aspx?ISBN=8955614101 왜 사람들은 이상 것을 믿는가]
          * '''책에 대해..''' 무대 위의 프리마돈나 마리아 칼라스.. 하지만 그녀의 어렸을적 환경을 돌아보면 재능이 있어 노래를 시키려고 했던 독 엄마, 자신 때문에 인생을 포기해야만 했던 언니, 타국에서 달달이 돈을 보내주고 온 정성을 쏟았지만 가족들을 버렸다고 오해받은 아버지... 이런 환경에서 자라면서 친구 하나 사귀지 못하고 폭식증에 걸리며, 못생긴 얼굴 때문에 외톨이여야만 했다. 죽는 순간까지 그녀는 외로운 영혼이었고, 오직 무대에서 가장 크게 빛났다.
          * '''느낌''' 우선!! 책읽기 모임에 참여하면서 오랜만에 독서를 하는 계기가 되었다. (전공 서적, 영어책 이외의 독서를 안지 오래되었다는...OTL) 책을 전부 읽지는 못했지만 어렸을 때부터의 마리아를 보며, 그녀의 아름답기보단 압도적이고 풍부 음색을 이해하게 되는 계기가 되었다. 이제는 마리아 칼라스의 노래를 들으면 어쩐지 그녀의 이 느껴진다.
          * 안철수는 아버지의 뒤를 이어 의사가 되기를 기대하는 부모님의 모습에, 자신의 생각을 접고 의대에 갔다. 그러다 자신이 쓰던 컴퓨터가 고장난 원인이 "바이러스"임을 알게되고 여러 자료를 찾아가며 치료제를 만들었다. 당시, 바이러스라는 존재를 모르고 당하는 사람이 많아, 안철수는 무료로 바이러스 백신을 배포하여 사람들테 도움이 되고자 했다. 그대로 갔으면 의사로서 앞 날이 창창했겠지만, 자신을 찾는 사람이 있고 자신도 원하던 일을 하기 위해 "안철수 연구소"를 차리게 되었다. 그 모습을 지켜본 아내도 초기에 자리잡기 힘들었을 때 돈을 대주고, 지금은 반대로 자신이 원하는 일을 하기 위해 꿈을 찾아 갔다. 잘될거라는 긍정적인 마인드로 자신의 길을 관철해 나아가는 모습이 멋졌다. 늦었다고 포기하지 말고, 내가 진짜 원하는 일이 무엇인지 고민해보아야 겠다.
          * 스페인의 위대 건축가였던 가우디의 죽음을 살해되었다라는 가정을 바탕으로 시작된 소설이다. 어떠 비밀을 가진 가우디는 비밀을 빼앗으려는 무리에 의해 살해 되지만, 비밀은 빼앗지 못하고 가우디와 같이 있던 아이에게 그 비밀이 전해진다. 시간이 흘러 아이는 할아버지가 되었고, 할아버지는 손녀에게 그 비밀을 전해주게 되면서 비밀을 빼앗으려는 무리에게 쫓기는 신세가 되면서 그 비밀을 파해쳐 간다.
          * 가우디라는 사람에 대해서는 알고 있던 바가 적었으나, 이 책을 읽으면서 가우디가 어떤 사상을 가지고 있었는지, 왜 가우디의 건축물이 그러 모양을 하고 있는지, 왜 사그라다 파밀리아 성당이 100년이 지난 지금도 지어지고 있는지에 대해서 조금이나마 자세히 알 수 있었다. 스페인에 갔었을 때 이러 것을 알고 갔었다면 조금더 그 건물들을 보는 느낌이 달랐지 않았을까 하는 아쉬움이 남았다.
          * 데미안은 싱클레어의 성장소설이다. 자신도 친구들과의 대화에 끼기 위해 물건을 훔쳤다고 거짓말을 싱클레어는 프란츠 크로머가 주인테 일러 포상금을 타겠다는 협박을 하자 크로머의 온간 잡일을 맡게되며 무마를 시도다. 하지만 나쁜 일을 하게 되면서 점점더 약점이 잡혀간다. 그러던 그를 데미안이 구제해준다. 하지만, 싱클레어는 그 일을 금새 잊고는 자유를 누린다. 그러다 술+담배+여자(!)의 막장 길을 타다가 우연히 길에서 스치듯 지나간 여자를 보고 정신을 차리기도 하고, 자신의 이상형을 손이 가는데로 그렸는데 데미안과 비슷 인상의 사람이 그려지기도 했다. 이 그림은 싱클레어의 성장에 맞춰 점점 데미안의 모습에 가까워진다. 교회에서 만난 피아노 치는 사람테서 '''압락사스'''의 존재에 대해 심도있게 알게되고, 불 앞에 엎드려 명상을 하면서 깨달음을 얻기도 다. 데미안과 그의 어머님을 만나 깨달음은 극에 이르고, 전쟁이 발발하면서 징병나간 그곳에서 마침내 데미안과 하나가 된다.
          * 어렸을 때는 말도 어렵고, 내용 자체가 이게 뭔 말인지 이해가 안갔었다. 지금은 인간으로서 선 쪽 일만 할 수 없기 때문에 선+악이 공존하는 압락사스가 등장했다는 것과, 어려워질 때마다 등장하여 이끌어준 데미안이라는 존재에 가까워져가는 싱클레어의 성장기라는 것은 이해가 간다. 하지만 싱클레어의 내면 중에 데미안의 어머님을 엄마 혹은 연인으로 동일시하는 것과 데미안이 프란츠 크로머로부터 구해줘도 고마워하지 않는 것은 이해가 가지 않는다. 나중에 번 더 읽어야 할 필요성을 느꼈다. '''이해가 안갔던 영화'''에 대해서도 이야기를 나눴는데 내가 생각 것은 [http://movie.naver.com/movie/bi/mi/basic.nhn?code=17368#story 마법의 빗자루]였다. 편지를 받아가며 공부했던 견습 마녀 1명 외에 다른 사람들은 편지를 보낸 사람이 사기꾼인지 인식 못했다던지, 사기꾼이었던 브라운 교수가 가진 나머지 반의 책을 찾기 위해 시장에 갔다가 그 책을 노리는 또 다른 무리를 만났는데 어느 순간 안보인다던지, 마법의 주문을 찾기 위해 애니메이션 세계로 갔는데 그 곳에서 가져온 물건은 사라진다던지, 사물을 움직이는 마법 주문을 공부하려던 이유가 전쟁에 도움이 되기 위해서이었다는 사실이라던지 무언가 내용 구성 측면에서 허술하고 이해 안가는 전개가 많았다. 하지만 침대를 통해 원하는 장소로 이동이 가능하고, 사물을 움직이고, 토끼로 변하는 등 어렸을 때 가족끼리 보기에는 좋았다.
          * 몰입에 대 얘기가 참 많이 나오지만 몰입하기 참 어려운 책이었습니다. 동기화를 다고 해도 '절실함'이 없으면 몰입하기 어렵고 실천하기 어렵다는게 제 생각인데 그런 부분에 대게 별로 없어서 아쉬웠습니다. 자신이 몰입으로 이러 성공을 거두었다는 내용이 있었으면 몰입의 효과에 대해 더 와 닿았을지 모르지만 자신이 연구를 위해 조사했던 남얘기 위주입니다.
          * 영화 중에 제작자의 의도가 이해하기 어렵다고 느낀 영화는 장쯔이, 금성무, 유덕화 주연의 영화 '''연인'''이었습니다. 아름다운 엔딩 장면을 만들기 위해서 였겠지만, 장쯔이는 자신의 가슴에 박힌 칼을 빼서 금성무를 구하려고 하여 죽게 됩니다. 그러나 칼 맞아서 죽은줄 알았던 장쯔이가 봄,여름,가을,겨울까지 금성무와 유덕화가 싸우고 급 일어난 부분과, 유덕화가 사실은 금성무에게 칼을 던지지 않고 던지는 '척'만 하여 결국 장쯔이의 희생이 개죽음이 되어버린 부분은 다소 아쉬웠습니다. (너무 결과만 보는 걸까요...) 극적인 반전을 위해 스토리적 공감을 포기 부분이었다고 생각되었습니다.
          * 저는 그냥 '몰입'이라는 책을 읽었습니다. 비슷 내용인 것 같아요. 거기서 몰입하는 방법에 대 방법이 아주 짧게 나와있는데, 몰입할 대상을 의식적으로라도 계속 생각하면 자연스럽게 몰입이 가능하다는 말이 있었어요.. 연구원들이 쓰기에 좋은 방법이라고 하더군요.. - [서지혜]
          * 알랭 드 보통의 왜 나는 너를 사랑하는가라는 책은 처음 이 책을 받았을 때 단순 소설이라는 생각을 가지고 있었지만, 조금 읽고 나니 이 책은 단순 소설이 아니라는 것을 알게되었습니다. 책에는 우리가 이성과의 만남과 교재 중 벌어지는 일 (예를들어, 다툼이라던지 연인과의 첫 키스라던지..) 그리고 헤어짐에 대하여 단순히 그런 일이 있었다가 아닌 이러 일이 일어나게 된 철학적인 분석과 여러가지 (확률이랄지..)가 어우러져 그 효과를 독자에게 전달하고 있다. 그래서인지 어느정도는 이해가 되다가 나중에 가서는 '뭐 어쩌라는거임....' 이라는 생각도 들게 하는 책이었습니다.
          * 어렸을 때 가족들이 영화를 보고 있길래 옆에서 그냥 같이 봤었던 (제목은 기억 안나고..) 영화 두편이 있었습니다. 하나는 (독서모임때는 베트남이 배경이라고 이야기 했는데,, 생각해 보니까 인도였습니다 -_-;;) 인도에 주둔하던 영국군이 나오는데.. 정확 스토리는 기억 안나 패스 하겠습니다.. (죄송;) 다른 편의 영화는 시나리오 작가가 시나리오로 소위 대박을 터뜨리고, 그로 인해 영화사에서 얼마든 시간을 줄테니 시나리오를 써 달라고 합니다. 처음에는 시나리오가 딱히 생각이 나지를 않아 고민하고 있을 때 영화사 사장은 뭐든 생각나는 것을 자유롭게 써 달라고 합니다. 그 때, 옆에 있던 영화사 사장 비서가 작가에게 나같으면 사장님께 지금 머리에 있는것을 자유롭게 이야기 하겠다면서 어서 이야기 하라고 하다가 짤립니다 -_-; 뭐 그렇게 작가는 시나리오를 써 가는데 옆집에 사는 남자와 친하게 지냅는 장면이 나옵니다. 사실 그 이웃사촌은 살인마였습니다. 하루는 그 이웃사촌이 작가에게 상자를 하나 맡기고 (중요 거라고 이야기 하면서) 잠시 어디를 좀 갔다 오겠다 하고 사라집니다. 그렇게 작가는 다시 글을 쓰는데 그 작가의 책상 위 벽에는 해변에 비키니를 입은 여자 사진이 있습니다. 뭐 이곳에 가고 싶다는 둥의 이야기를 거 같은데.. 뭐 아무튼.. 그러고 얼마 안가 작가는 자신이 생각하는 엄청난 시나리오를 만들게 됩니다. 하지만, 영화사 사장의 마음에는 들지 않았습니다. 그리고 당시 배경이 제 2차 세계대전으로 애국심이 불타오르던 시기여서인지 사장은 그러 영화를 원다고 말하고 그 짤랐던 비서를 다시금 데려와야겠군 이라며 나갑니다. 그러고 집에 돌아오니 낯선 남자 둘이서 작가의 시나리오를 읽고 있었습니다. 그들은 옆집에 살던 살인마를 쫓아 왔다며, 행방을 묻습니다. 그러면서 이웃이 주고 갔던 상자에 사람의 목이 들어있다고 말합니다. 그때 옆집 남자가 돌아오고 낯선 남자 둘과 싸움이 납니다. 작가의 집은 불타고 작가와 살인마는 몇마디 주고 받더니 작가는 정장을 입고 유유히 집을 빠져나갑니다. 그렇게 작가는 어느 해변가에 도달하고 해변가에서 어느 비키니를 입은 여자와 몇마디 주고 받더니 작가의 벽에 걸려 있던 사진과 같은 장면이 연출이 되면서 끝이 납니다..... 생각나는데로 시나리오를 적은건데.... 뭘 말하는건지는 모르겠습니다. 별 다섯개를 받은 영화인데 -_-;; 언제 인터넷 검색을 해서 좀 찾아봐야 될 것 같은 생각을 가지게 된 시간이었습니다.;
          * 주제 : 국인, 외국인이 나오는 책
          * 책의 주인공인 스기하라는 일본에 사는 교포입니다. 그런 교포의 관점에서 바라본 일본 사회의 모순과 조국에 대 생각과 관점, 연예기 등을 다루고 있습니다. 결국 스기하라는 이러 일본 사회에 커다란 '즐 -_-;;' 을 날리고 끝난다고 보면 되는데요, 이 책을 읽고 난 후 우리나라에 살고 있는 많은 외국 국적을 가진 사람들이 격고 있는 바가 이와 다르지 않다는 것 같다는 생각이 들었고, 만약 제가 외국에 나가 살게 된되서 이와 같은 상황에 국면하게 되면 과연 나는 어떻게 대응하게 될까 라는게 궁금했습니다.
          * 이와 관련해서 외국 음악이랑 외국 영화에 나오는 국에 대해 찾아보려 했는데요,, 급 귀차니즘 때문에 외국 음악에 나오는 국 관련된 것만 찾았다는...; 뭐,, 그래서 찾은 것이 Gary Moore의 Murder in the skies 라는 노래인데, 이 노래는 1983년 9월 1일에 뉴욕에서 출발 국행 비행기가 소련의 영공에 침범 했나(? -_-;; 죄송;;) 그래서 소련의 전투기가 Kal기를 격추시키는 일이 발생하였는데, 그것을 내용으로 소련의 만행으로 무고 사람들이 죽음을 당했다는 것을 비판 노래라 소개 했었고, 또 하나 찾아봤었던게 Deftones의 Korea라는 노래인데... 알고보니까 그냥 노래 내용이 어떤 소녀에 대 이야기인데 그 소녀의 이름이 국인 성과 비슷해서 그냥 그렇게 썻다고 해서 패스했습니다.
          * 먼지의 여행은 대학을 졸업하고 변변찮은 직장조차 얻지 못하고, 뒤늦게 자신이 해왔던 일이 무의미했었다 좌절하던 주인공이 우연히 순례자 부부를 만나면서 하게된 여행기입니다. 돈을 벌어 악착같이 살아야다는 강박에서 벗어나 돈 없이 세계여행을 갑니다. 처음에는 순례자 부부를 따라다니며 그 사람들을 따라하려하지만, 이 역시 그저 남의 경험을 얻어먹으려는 행위로 밖에 여겨지지 않아 자신이 혼자 여행을 떠납니다. 콜키타에 있는 마더하우스에서 고아원 봉사활동을 하며 아이들의 순수함을 보며 깨달음을 얻고, 그 때 그 때를 즐기는 삶을 살게 됩니다. 돈 없이도 사람이 행복할 수 있다는 것을 깨닫습니다.
          * 주변의 바람에서 벗어나 자신이 진정으로 하고싶은 일이 무엇인가 자아를 찾아가는 과정이 인상깊었습니다. 특히, 남이 나보다 더 오래 살았고, 많은 경험을 했으니까 나테 맞는 조언을 해줄 수 있을 거라는 막연 생각이 잘못되었다는 말에 충격을 받았습니다. 외국인 부부테 조언을 구했지만 주인공테 왜 그걸 남이 정해주느냐는 말을 했습니다. 이 책의 주인공이 깨달은 것처럼 타인의 삶이 영향을 끼칠 수는 있지만, 자신의 삶을 개척하는 것은 결국 자신인듯 합니다. 스터디를 할 때, 나보다 잘 하는 사람이 내가 어떻게 해야할 지 도와줄꺼라 생각하고 나는 약간 비껴서서 참여하는 경향이 있었는데, 작은 것부터 주체적으로 되야할 필요성을 느꼈습니다.
  • EffectiveC++ . . . . 218 matches
         preprocessor(전처리기)보다는 compiler를 선호다는 뜻.[[BR]]
         DeleteMe #define(preprocessor)문에 대해 const와 inline을(compile)의 이용을 추천다. --상민
         책에서 언급 두가지.[[BR]]
         2. 상수의 영역을 클래스로 제하기 위해선 상수를 멤버로 만들어야 하며
          그 상수에 대개의 복사본이 있다는 것을 확신하기 위해서 static으로
          멤버 변수를 만들어야 다.
          static const int NUM_TURNS = 5; // 상수 선언! (선언만 것임)
          const int GamePlayer::NUM_TURNS; // 정의를 꼭해주어야 다.
          * inline: 함수 호출로 인 오버헤드를 줄일수 있는.. 거시기. 궁금하면 책찾아보세요.
          // 매크로 작성시에는 언제나 매크로 몸체의 모든 인자들을 괄호로 묶어 주어야 다.
          inline int max(int a, int b) { return a > b ? a : b; } // int형으로만 제 되어있네..
         #define 문을 const와 inline으로 대체해서 써도, #ifdef/#ifndef - #endif 등.. 이와 유사 것들은 [[BR]]
         메모리를 올바로 얻는 것과 그것을 효율적으로 수행하게 만드는것(?)에 관 얘기들.
          * ''new를 호출할때 []를 이용했다면 delete의 호출시에도 []를이 용다. 간단간단!''
         이런 혼란(?)을 피하기 위해선 배열 타입들에 대 typedef를 피하면 되지뭐. ^^[[BR]]
         나중에 메모리를 해제하기 위해서 소멸자에서 delete를 사용다.[[BR]]
         세번째 '''소멸자에서 포인터 삭제'''에 관 것을 제대로 안해주면 메모리 유출(memory leak)으로 그냥 처리되기 때문에 클래스에 포인터 멤버를 추가할 때마다 반드시 명심해야 다.
         메모리가 부족할경우 적절 처리를 해준다는 얘기인것 같은데... [[BR]]
         '''메모리 부족시에 대 예외처리를 대비해두어라''' 정도면 적당할 것 같은데. [[BR]]
         set_new_handler를 이용 memory 할당 실패처리.[[BR]]
  • 회칙 . . . . 197 matches
         제1조(명칭) 본 학회의 명칭은 ZeroPage이며 어떠 경우에도 이 조항을 바꿀 수 없다.
         제2조(성격) ZeroPage(이하 "학회"라 다)는 중앙대학교 소프트웨어대학에 근거하는 학술동아리로 인력의 장이다.
         제3조(회원의 구성) ① 학회의 회원은 정회원과 준회원으로 구성다.
          ② 정회원은 회장 선출에 대 선거권과 피선거권을 가지며 회칙 개정을 비롯 의사 결정 과정에 참여할 권을 갖는 회원이다.
          ④ 정회원의 자격과 요건은 회장이 정다.
         제4조(회원의 의무) ① 회원은 정모를 비롯 학회의 활동에 성실하게 참여해야 다.
          ② 정회원은 학회 운영에 필요 회비를 납부해야 다.
         제5조(휴면) ① 정회원은 다음 각 호의 어느 하나에 해당하는 사유로 일정 기간 활동이 불가능 경우 휴면을 신청할 수 있다.
          3. 기타 회장이 인정하는 불가피 사유
          ② 휴면 신청 시 휴면 기간과 사유를 명시해야 하며, 휴면 중 휴면 기간 또는 사유에 변동이 발생 때에는 변경 사항을 알려야 다.
          ③ 휴면 기간 종료로 복귀 회원은 기존의 회원 등급이 유지된다.
          ④ 휴면 중인 정회원은 정회원 재적 인원에는 포함하지 않으나, 정모에 출석 때에는 정회원 출석 인원에 포함다.
         제6조(은퇴) ① 정회원은 다음 각 호의 어느 하나에 해당하는 사유로 향후 활동이 불가능 경우 은퇴할 수 있다.
          2. 기타 회장이 인정하는 불가피 사유
          ② 은퇴 대상자는 은퇴 사유 발생 1년 이내에 회장에게 은퇴 의사를 표시해야 다.
          ③ 은퇴 회원은 자신의 신변이나 연락처에 변동이 발생 때에는 변경 사항을 알려야 다.
          ④ 은퇴 처리되면 정회원으로서의 권과 의무는 소멸하나, 은퇴 회원도 학회의 활동에 참여할 수 있다.
          ④ 탈퇴 또는 제명 처리되면 회원으로서의 권과 의무가 모두 소멸다.
         제8조(회장) ① 회장은 학회의 대표로서 학회 운영의 최종 결정 권을 가지는 정회원이다.
          ② 회장은 학회의 회원을 관리하며 정모, 주관 행사를 비롯 일체의 활동을 총괄다.
  • HolubOnPatterns/밑줄긋기 . . . . 191 matches
          * 복싱에서는 스트레이트, 잽, 훅, 이 세가지 펀치를 기반으로 다른 모든 종류의 펀치가 나온다고다. ~~~ 이러 기본 자세가 튼튼하다면 그만큼 다른 펀치를 배우는 데도 진입 장벽이 낮아지기 때문이다.
          * 다른 종류지만 검도는 내려치기 자세만 천번인가 연습다고 합니다. 하루에(만화책이었음ㅋㅋ) 그만큼 기본기가 중요하다는 말이겠죠 - [서지혜]
          * 슬프게도 개발자 입장에서는 의사 결정에 참여하여 변경에 대 요구를 막지 못하는 것이 대부분이다.
          * ~~그건 인도개발자만..~~ 원래는 의사결정은 가장 많은 정보를 가진 사람이 내려야하는데, 기술에 대 결정권을 기술과 거리가 먼 관리자등이 내리는 경우가 있다고 합니다(까라면 까 식으로). 이때의 의사결정권자는 모순적 상황에 처해있을 거란 글을 봤는데ㅋㅋ 1. 기술에 대 지식이 적거나 거의없다. 2. 지식은 없지만 기술에 대 확고 입장을 가지고 있다. - [서지혜]
          * 난 책보고도 이상 말이라는 생각밖에 안드는군. - [김준석]
          * 에 달린 역자주석을 보니 노스 화이트헤드가 "문명이 진보다는 것은 인간이 의식적인 노력 없이 자동적으로 수행하는 활동이 증가하고 있음을 의미"다는 지적을 했다고 다. 이디엄은 과연 좋은것인가? 이디엄이야말로 생각없이 적용하는 패턴이 아닌가? - [서지혜]
          * 다양 사례에 적용해서 적용되기 전보다 높은 효율을 보일 수 있다는 것이 충분히 검증되었기 때문에 이디엄이 되는 것 아닐까요? 물론 모든 것에 100% 적용되는 이디엄이란 존재하지 않겠지만요. - [박성현]
          * 무책임 상속은 오히려 변화의 크기를 증가시키기도 합니다. 이디엄이라고 반드시 옳은것은 아닌듯ㅋㅋ - [서지혜]
          * 먼저 패턴은 발명되는 것이 아니라 발견되는 것이라는 사실을 이해해야만 다.
          * 패턴이 목적이 아니라 어떤 의도를 구현하기 위해 만든 코드들에서 비슷 패턴이 발견된다고 다. - [서지혜]
          * 패턴은 이와 같이 일반적인 해결 방법이기 때문에 프로그램에서 다른 프로그램으로 디자인패턴을 복사해 붙여넣는 것은 거의 불가능하다.
          * 그들은 패턴 자체를 패턴을 설명하기 위해 사용 코드와 혼동하고 있는 것이다.
          * 현실에서는 패턴에 참여하고 있는 객체와 클래스가 동시에 다른 패턴에서도 사용되는 경우가 매우 많다.
          * 패턴에 입문 지 얼마 안 되는 초보자일수록 무언가 멋져 보이는 클래스 다이어그램에 관심을 쏟는데, 더욱 중요 것은 '패턴의 의도'(혹은 목적)와 '동적인 행동양식'이다.
          * '동적인 행동양식'은 패턴을 통 목적 달성에 이루기까지 흐름이 어떻게 이루어지는지에 대것 같아 -[김준석]
          * 시원하면서도 안락 느낌을 주는 방들을 살펴보면 앞으로 '교차 통풍'이라 부를 패턴이 창발다.
          * 이 의도를 만족시킨다면 어떤 구조든 이 패턴의 합당 실체화가 된다.
          * 패턴의 실체화는 디자인이지 코드가 아니며, 하나의 디자인은 여러 가지 합당 방법으로 구현할 수 있다.
          * 중요 것은 구조를 통해서만 패턴을 파악하는 것이 불가능하다는 사실을 이해하는 것이다.
          * 패턴을 찾아내려면 아키텍처의 의도를 포함 문맥 정보가 필요하다.
  • MoreEffectiveC++/Exception . . . . 183 matches
         일단 여러분은 파일에서 부터 puppy와 kitten와 키튼의 정보를 이렇게 읽고 만든다. 사실 Item 25에 언급할 ''virtual constructor''가 제격이지만, 일단 우리에 목적에 맞는 함수로 대체다.
         다음과 같은 느낌(?)으로 출력다.
         pa에 해당하는 processAdoption()은 오류시에 exception을 던진다. 하지만, exception시에 해당 코드가 멈춘다면 "delete pa;"가 수행되지 않아서 결국 자원이 새는 효과가 있겠지 그렇다면 다음과 같이 일단 예외 처리를 다. 물론 해당 함수에서 propagate해주어 함수 자체에서도 예외를 발생 시킨다.
         방법은 올바르다. 예외시에 해당 객체를 지워 버리는것, 그리고 이건 우리가 배운 try-catch-throw를 충실히 사용 것이다. 하지만.. 복잡하지 않은가? 해당 코드는 말그대로 펼쳐진다.(영서의 표현) 그리고 코드의 가독성도 떨어지며, 차후 관리 차원에서 추가 코드의 발생시에도 어느 영역에 보강할것 인가에 관하여 문제시 된다.
         여기에서 재미있는 기법을 이야기 해본다. 차차 소개될 smart pointer와 더불어 Standard C++ 라이브러리에 포함되어 있는 auto_ptr template 클래스를 이용 해결책인데 auto_prt은 이렇게 생겼다.
         그리고 해당 auto_prt의 적용 모습은 다음과 같이 보인다.
         일반적으로 C의 개념으로 짜여진 프로그램들은 createWindow and destroyWindow와 같이 관리다. 그렇지만 이것 역시 destroyWindow(w)에 도달전에 예외 발생시 자원이 세는 경우가 생긴다. 그렇다면 다음과 같이 바꾸어서 해본다.
          if (imageFileName != ""){ // 이미지를 생성다.
          if (audioClipFileName != "") { // 소리 정보를 생성다.
         생성자는 theImage와 theAudioClip를 null로 초기화 시킨다. C++상에서 null값이란 delete상에서의 안전을 보장다. 하지만... 위의 코드중에 다음 코드에서 new로 생성할시에 예외가 발생된다면?
         자 이렇게 해주면 문제 될것이 없다. 자 이상태에 refactoring이 필요 코드들이 보일것이다 하겠다. delete부분을 함수로 역어 네는 것이다.
          // theImage는 가장 처음 초기화 되어서 자원이 세는 것에대 걱정이 없다. 그래서 해당 소스에서
         이런 해결 방법은 올바르다 하지만, 이전에 언급 것과 같이 소스 사후 관리와 현재 소스 자체도 많이 지저분하다
         그래서 더 좋은 방법은 Item 9에서 언급 방법을 사용하는 것이다.
         그리고 생성자의 코드를 이렇게 다.
         다음 예제는 online 컴퓨터 세션을 위 Session 클래스를 생각해 본 것이다. 각 세션 객체들은 생성과 파되된 날짜를 기록해야만 다.
         자 이건 괜찮아 보인다. 하지만 저 logDestruction상에서 예외가 발생다면 어쩌게 할것인가? 해당 소스는 Session의 파괴자 안에서는 예외를 잡지 못다. 그래서 해당 파괴자를 호출 자에게 예외를 던진(전달)다. 그렇지만 다른 에러들이 던져진 상황에서 파괴자가 스스로 자신을 부른거라면 함수의 종료가 자동으로 이루어지기를 원할 것이다. 그리고 당신의 프로그램은 이쯤에서 머추어 버릴 것이다. -해석이 이상하군, 암튼 다른 예외 처리시에 세션 파괴자 로그시 예외가 발생다면 프로그램이 멈춘다는 소리다.
         아마 대다수의 사람들이 이런 상태로 빠지는걸 원하지 않을 것이다. Session 객체의 파괴는 기록되지 않을 태니까. 그건 상당히 커다란 문제이다 그러나 그것이 좀더 심 문제를 유발하는건 프로그램이 더 진할수 없을 때 일것이다. 그래서 Session의 파괴자에서의 예외 전달을 막아야 다. 방법은 하나 try-catch로 잡아 버리는 것이다.
         하지만 이것도 원래의 코드보다 안전할 것이 없다. 만약 operator<< 부를때 exception이 발생다면 파괴자가 던지는 exception으로 다시 우리가 해결하고자 하는 원점으로 돌아가 버린다. 그렇다면
         이렇게 아무런 처리를 하지 않는다면 logDestuction에서 발생 예외가 전달되는걸 막고 프로그램 중지를 위하여 스택이 풀려나가는걸 막을수는 있을 것이다.
  • ProjectPrometheus/Journey . . . . 163 matches
         ["ProjectPrometheus"] 작업 수기. ["ThreeFs"] 에 따라. 그날의 일과 느낀점, 교훈 등을 생각해보는 시간가지기. 순간을 채집하고 민감할 수 있도록.
          * 패키지 분리를 하고, 관련 경로 화일들을 수정을 하면서, 중복이 없는 코드가 얼마나 강력지가 보인다. 정말정말 고칠 부분이 많이 줄어든다. (사람이건 툴이건 덜 고생하게 된다.)
          * 윈도우에서 작업 ["Java"] 화일이 의외로 방에 ["Ant"] 로 빌드하고, ZeroPage 의 Resin 서버에서 동작하는 것을 보며, 다시금 자바의 위력이 실감난다.
          * 원래라면 방학중 번 Release 하고 지금 두번째 이상은 Release 가 되어야 겠지만. Chaos (?)의 영향도 있고. -_-; 암튼 두달간 장정에서 이제 뭔가 느낌이 든다. 초반에는 달아오르는 열정이되, 후반은 끈기이다. 중간에 느슨해질 거리들이 많음에도 불구하고 천천히나마 지속적일 수 있었음이 기쁘다.
         오늘은 일의 진행이 정말 일사천리로 이루어졌다. 모이고 처음 일을 시작할때 상민이와 이전에 했던 일들과 오늘 해야 할일에 대해 간단하게 정리를 점이 주효것 같다. 간단 일이긴 하지만, 그날의 할 일에 대해 미리 머릿속에 그림을 그려둔다는 점에서 5분 Stand Up Meeting 은 의외로 효과를 주는것 같다. 그리고 Pair 를 하는중 디버깅이나 기타 일을 할때 미리 자신이 어떠 일을 하려고 하는지 짧으면서도 자주 대화가 오고 갔던 점, 프로그래밍때 자주 체인지 것도 오늘 일이 잘 진행되는데 도움이 컸다고 생각. --["1002"]
          * 동안 PairProgramming 할때 주로 관찰자 입장에 있어서인지. (이상하게도. 창준이형이랑 할때나 상민이랑 할때나. 그나마 저번 르네상스 클럽때는 아무도 주도적으로 안잡아서 그냥 내가 잡긴 했지만, 다른 사람들이 적극적으로 나서지 않을때엔 웬지 그 사람들과 같이 해야 다는 강박관념이 있어서.)
         그동안의 Pair 경험에 의하면, 가장 Pair 가 잘 되기 어려운 때는, 의외로 너무 서로를 잘 알고 Pair를 잘 알고 있는 사람들인 경우인것 같다는. -_-; (Pair 가 잘 안되고 있다고 할때 소위 '이벤트성 처방전'을 써먹기가 뭐하니까. 5분 Pair를 하자고 하면 그 의도를 너무 쉽게 알고 있기에.) 잘 아는 사람들과는 주로 관찰자 입장이 되는데, 잘 아는 사람일수록 오히려 개인적으로 생각하는 룰들을 잘 적용하지 않게 된다. (하는 일들에 대 Tracking 이라던지, 다른 사람이 먼저 Coding 을 하는중 이해 못할때 질문을 다던지 등등. 차라리 그냥 '저사람 코딩 잘 되가나본데..'. 오히려 예전에 '문제'라고 생각하지 않았던 부분이 요새 '문제' 로 다가 온다.)
         그렇다고 이 상황을 다른 사람에게 말로 하면 당연히 '응. 그래. 다음번에는 주도적으로 잡아' 라고 하지만. 동안 손가락이 쉽게 가지 않을 것 같다. 개인적인 문제일까. 아직 현상에 대 분석이 잘 안되는중이다.
         1002 개인적으로 진행. 뭐 진행이라기 보다는, 오랜만에 Solo Programming 을 해봤다. 장점으로는 느긋하게 소스를 리뷰하고 대처할 시간을 천천히 생각해볼 수 있던점. (보통은 상민이가 이해를 빨리 하기 때문에 먼저 키보드를 잡는다.) 단점으로는 해결책에 대 Feedback 을 구할 곳이 없다는 점이 있다. (평소 물어보고 둘이 괜찮겠다 했을때 구현을 하면 되었는데, 이경우에는 책임 소재랄까.. 웬지 혼자서 생각 것은 의외의 틀린 답이 있을 것 같은 불안감이 생긴다. 테스트 중독증 이후 이젠 페어 중독증이려나..)
          * 근데, 해놓고 나서 커밋할 생각이.. 좀 안나긴 하다. 편으로는 Test 들을 통과하니까 둘이 서로 정 의도대로 것이니 상관없다는 생각. 하지만, 편으로는 'Pair 로 것이 아닌데..' 하는 생각. 그냥 Spike 버전 정도로 생각해둘까나.
         학기중에는 시간을 맞추기가 쉽지 않음을 느끼며. 뜻하지 않는(뭐 편으론 예상했지만) Requirement 의 변경이 일어났다. 도서관 UI & 시스템이 전면적으로 수정된 것이다.
         다행히 모듈화가 잘 되어있었고, Test 들이 있었기에 ["neocoin"] 과 ["1002"] 는 주로 깨진 테스트들을 바로잡기로 했다. 일단 도서관들의 HTML 을 얻고, Local HTML 문서에 대해 데이터들을 잘 추출해내는지에 대 테스트를 먼저 복구했다.
         속좁은 ["1002"] 이 상민쓰에게 신경질 부리던날로 기억 -_-; 일종의 Test 에 대 압박을 받아서이긴 데, 처음에는 'Model, Logic' 부분에 대해서만 Test 정도 붙이면 되겠지 라고 생각했는데, Servlet 으로 작성 Controller 부분이 커지면서, 각각 Command 에 해당하는 (service 라고 이름지었음) 부분에 대해 로직이 붙었기 때문이다. 근데, Servlet 이여서 테스트를 못붙이고, 작업은 작업대로 진행되는데 테스트 붙일 방법을 생각하지 못하는데, 잘 진행되어간다고 보이는 작업 발묶는것 같아서 이야기 못하고 꿍해있다는.
          * 대안을 생각중인데, 일종의 Facade 를 만들고, Controller 의 각 service 들은 Facade 만 이용하는 식으로 작성하면 어떨까. 그렇게 다면 Facade 에 대해서 Test Code 를 작성할 수 있으리라 생각. 또는, Servlet 부분에 대해서는 AcceptanceTest 의 관점으로 접근하는 것을 생각. 또는, cactus 에 대해서 알아봐야 하려나.. --["1002"]
          * 문제에 부딪치고, 그 문제가 해결될꺼 같이 보이면서, 아슬아슬 버티면 내일 해결해야 다. --["상민"]
         어제 마지막 고민이 지하철을 타고가면서 해결되었다. 그리고 오늘 와서 생각대로 적용하니 이후 Test들에서는 아무런 문제가 발생하지 않아서 안도의 숨을 내쉰다. 시스템들이 Test를 통과하자, 가장 큰 문제로 발생된 것이 Test의 작성과 확인이었다. 책 4권과 사용자 3명.. 정말 머리에서 피시식 연기가 나는 느낌을 받는다. 그나마 Pair이기에 명이 코드를 보면서 생각하고, 명은 종이를 보면서 생각하면서 동기화를 시키니 다행이지, 혼자였다면 후유.. 문뜩 온라인 게임들이 굉장히 긴 시간동안 베타 테스트를 하는 것이 이해가 간다. --["상민"]
          * Object-Database 연동을 위 {{{~cpp BookMapper}}}, {{{~cpp UserMapper}}} 작성
         이 부분도 일종의 Architecture 의 부분일것인데, 지금 작성것이 웬지 화근이 된것 같다는. Architecture 부분에 대해서는 Spike Solution 을 해보던지, 아니면 TDD 를 뒤, Data Persistence 부분에 대해서 내부적으로 Delegation 객체를 추출해 내고, 그녀석을 Mapper 로 빼내는 과정을 순차적으로 밟았어야 했는데 하는 생각이 든다.
         Object-RDB Mapping 에 대해서는 ["PatternsOfEnterpriseApplicationArchitecture"] 에 나온 방법들을 읽어보고 그중 Data Mapper 의 개념을 적용해보는중. Object 와 DB Layer 가 분리되는 느낌은 좋긴 데, 처음 해보는것이여서 그런지 상당히 복잡하게 느껴졌다. 일단 처음엔 Data Gateway 정도의 가벼운 개념으로 접근뒤, Data Mapper 로 꺼내가는게 나았을까 하는 생각.
         DB 쯤 되고 나니, Test 들의 보폭을 줄이는게 힘들어지는것 같다. (그리고..; 사람들이 잘 안줄이려고 하는것 같다;) TDD 가 좀 더 활성화되러면 학교 컴퓨터들이 더 빨라져야 다고 개인적으로 생각중 -_-;
  • 논문번역/2012년스터디/이민석 . . . . 123 matches
         == Experiments in Unconstrained Offline Handwritten Text Recognition(제약 없는 오프라인 필기 글자 인식에 관 실험) ==
         오프라인 필기 글자 인식을 위 시스템을 소개다. 이 시스템의 특징은 분할이 없다는 것으로 인식 모듈에서 줄을 통째로 처리다. 전처리, 특징 추출(feature extraction), 통계적 모형화 방법을 서술하고 저자 독립, 다저자, 단일 저자식 필기 인식 작업에 관해 실험하였다. 특히 선형 판별 분석(Linear Discriminant Analysis), 이서체(allograph) 글자 모형, 통계적 언어 지식의 통합을 조사하였다.
         필기 글자 인식은 패턴 인식의 도전적인 분야다. 지금까지의 오프라인 필기 인식 시스템들은 대부분 우편 주소 읽기나 은행 수표 같은 형식을 처리하는 데 적용되었다. [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 데이터베이스의 서식에는 적용하지 않았는데 저자들이 양식 아래의 두 번째 시트에 자를 쓰도록 요청받았고 서식 자체는 스캐닝하면서 정확히 정렬되었기 때문이다.
         글을 걸음 더 처리하기 위해 각각의 줄을 추출하여야 다. 그러기 위해 이미지를 필기 라인의 핵심 영역(core region)들 사이를 분리다. 핵심 영역, 즉 텍스트 라인의 위 베이스라인과 아래 베이스라인 사이의 영역은 threshold를 적용하여 찾는다. threshold는 줄들이 핵심 영역에 속하기 위해 필요 전방foreground 픽셀들의 최소 개수를 나타낸다. 이 threshold는 이진화 필기 영역의 수평 밀도 히스토그램을 이용하여 Otsu의 방법 [12]를 적용하면 자동으로 결정된다. 그 다음 수평 투영 히스토그램에서 각 줄의 검은 픽셀의 개수가 축적되고 이미지는 이 투영 히스토그램의 minima를 따라 핵심 영역별로 나눠진다.
         다양 저자의 글씨체 때문에 인식 작업을 단순화하기 위해 필기를 정규화다. 특히 수직 위치, 기울임, 경사(slant)의 교정이 전처리에서 중요함이 드러났다. 그 이상의 정규화는 필기의 크기와 그레이레벨의 강도를 고려다.
         가끔 글씨체가 줄에서도 확 바뀌는 것에 동기를 얻어 우리는 각 줄의 수직 위치, 기울임, 경사를 국소적으로 교정다. 따라서 각 행은 필기 조각segment들 사이의 공백을 탐색하여 분리된다. 믿을 만 정규화 계수를 계산하기에는 너무 짧은 조각을 피하기 위해 threshold를 사용다.
         수직 위치와 기울임은 [15]에 서술된 접근법과 비슷 선형 회귀(linear regression)를 이용 베이스라인 측정법을 적용하여 교정 반면에, 경사각 계산은 가장자리edge 방향에 기반다. 그러므로 이미지는 이진화되고 수평 흑-백과 백-흑 전환을 추출하는데 수직 stroke만이 경사 측정에 결정적이다. canny edge detector를 적용하여 edge orientation 자료를 얻고 각도 히스토그램에 누적다. 히스토그램의 평균을 경사각으로 쓴다.
         마지막 전처리는 그레이 레벨을 정규화하여 다양 펜과 배경색으로 인 변화에 대처하는 것이다. 이미지의 그레이 레벨 구간은 어두운 강도는 0이 되고 밝은 쪽은 255가 되도록 조정다. 말뭉치의 통상적인 줄에 이들 전처리를 적용 결과가 그림 3에 나타나있다.
         필기 줄을 전처리 이미지는 특징 추출 단계의 입력 자료로 사용된다. sliding window 기법을 [11]이 설명하는 접근법과 비슷하게 적용다. 우리의 경우 이미지의 높이와 열 네 개 크기의 창이 이미지의 왼쪽에서 오른쪽으로 두 열씩 겹치면서 움직이고 기하 추출의 쌍을 추출다.
         sliding window의 각 열에서 특징 7개를 추출다. (1) 흑-백 변화 개수(windowed text image의 이진화 이후), (2) 베이스라인에 대 강도 분포의 평균 값 위치, (3) 최상단 글자 픽셀에서 베이스라인까지의 거리, (4) 최하단 글자 픽셀에서 베이스라인까지의 거리, (5) 최상단과 최하단 텍스트 픽셀의 거리, (6) 최상단과 최하단 텍스트 픽셀 사이의 평균 강도, (7) 그 열의 평균 강도. 특징 (2)-(5)는 core size, 즉 하단 베이스라인과 상단 베이스라인(극대값을 통 line fitting으로 계산)의 거리에 의해 정규화되어, 글씨 크기의 변동에 대해 더욱 굳건해진다. 그 후에 모든 특징은 윈도우의 네 열에 걸쳐 평균화된다.
         강도 분포의 평균값의 변화 뿐 아니라 하단 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 변환은 다음 고유 벡터 문제를 풀어 계산다.
         𝜇𝑖와 𝐴𝑇𝜓𝑖는 𝑆𝑤−1𝑆𝑏의 고유값과 고유벡터다. 차원 reduction(경감?)은 가장 큰 m개 고유값에 속하는 m개 고유 벡터만을 구하여 얻어진다. 모든 특징 벡터를 LDA 변환 후에는 완전히 새로운 HMM 훈련이 수행된다.
  • Gof/FactoryMethod . . . . 112 matches
         객체 생성을 위 인터페이스를 정의하라, 그렇지만 sub 클래스들이 구현사항을 결정할수 있도록 하자. [[BR]]
         == Also Known As : 비슷, 혹은 동일 역할을 하는 용어 ==
         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는 반드시 클래스에 관해서 명시해야 되지만, 실제의 쓰임을 표현할수 없고 오직 추상화된 내용 밖에 다를수 없다.
         Factory Method 패턴은 이에 대 해결책을 제시다. 그것은 Document의 sub 클래스의 생성에 대 정보를 캡슐화 시키고, Framework의 외부로 이런 정보를 이동 시키게 다.
         Application의 Sub 클래스는 Application상에서 추상적인 CreateDocument 수행을 재정의 하고, Document sub클래스에게 접근할수 있게 다. Aplication의 sub클래스는 번 구현된다. 그런 다음 그것은 Application에 알맞은 Document에 대하여 그들에 클래스가 특별히 알 필요 없이 구현할수 있다. 우리는 CreateDocument를 호출다. 왜냐하면 객체의 생성에 대하여 관여하기 위해서 이다.
         Fatory Method 패턴은 이럴때 사용다.
          * 클래스가 몇개의 helper sub클래스에게 책임을 위임하거나, 당신이 helper sub클래스에 관 정보를 특성화 시키기를 원할때
         DeleteMe 구조에 관 그림
          * Factory Method가 생성하는 객체에 관 인터페이스를 정의다.
          * Product에 인터페이스에 대 구현사항이다.
          * Procunt 형의 객체를 반환하는 Factory Method를 선언다. Creator는 또 기본 ConcreteProduct객체를 반환하는 factory method에 관 기본 구현도 정의되어 있다.
          * Product객체를 만들기위 factory method를 호출다.
          * ConcreteProduct의 인스턴스를 반환하기 위, factory method를 오버라이드(over ride) 다.
         Creator는 factor method가 정의되어 있는 Creator의 sub클래스에게 의지다 그래서 Creator는 CooncreteProduct에 적합 인스턴스들을 반환다.
          DeleteMe) 왜 결과지. 결과는 적용후에 얻을수 있는 이익이지만, 현재 이것은 패턴을 적용 코드를 구현하기 전에 이론적 바탕에 대하여 결론 짓는 것이라고 생각해서 결론이라고 했음. 그냥 결과는 부족것 같고, "패턴 적용 결과"보다는 "패턴 적용 결과 고찰" 이라는 의미가 강거 같은데, 그냥 결론으로 쿨럭 --;
         Factory method는 당신의 코드에서 만들어야 Application이 요구하는 클래스에 대 기능과 Framework가 묶여야할 필요성을 제거다. 그 코드는 오직 Product의 인터페이스 만을 정의다.; 그래서 어떠 ConcreteProduct의 클래스라도 정의할수 있게 하여 준다.
         factory method의 잠재적인 단점이라고 다면 클라이언트가 아마도 단지 특별 ConcreteProduct객체를 만들기위해서 Creator클래스의 sub클래스를 가지고 있어야 다는 것일꺼다. 클라이언트가 어떤 식으로든 Creator의 sub클래스를 만들때의, sub클래스를 만드는 것자체는 좋다. 하지만 클라이언트는 이런것에 신경쓸 필요없이 로직 구현에 신경을 써야 다.
         자, 역시 Factory Method 패턴에 관련 두가지의 결론을 이야기 다.:
  • 시간관리인생관리/요약 . . . . 110 matches
          - 당신은 매일 저녁에 다음날 반드시 해야 할 일 가지를 정하기만 하면 된다.
          - 성공적으로 완수하면, 다음날 할 또 다른 일을 정하고 약간만 더 어렵게 하라. 충분히 그 일을 할 수 있어야 다.
          - 난이도를 약간 낮춰서 두 가지 일을 모두 할 수 있게 다.
          * 삶을 성공적으로 관리하는 사람들은 그렇지 못 사람들과 아주 다르게 일을 다.
          || 큰 그림을 보지만, || 사소 것들에 얽매인다. ||
          || 좋은 시스템이 있지만, || 시스템이 없거나 나쁜 시스템을 사용다. ||
          || 행동으로 두려움에 반응하지만, || 회피로써 두려움에 반응다. ||
          * 중요 것에 집중하는 것은 삶에서 성공하는 열쇠이다
          * 저항을 극복하는 법을 배우면 능력을 최대도로 발휘할 수 잇다.
          === 3장 가장 중요 시간 관리 도구 : 'No"라고 말하기 ===
          * 필요 모든 관심을 줄 수 있기 전에는 당신이 하는 다짐들을 줄여라.
          1. 삶에서 추구하는 다짐과 활동의 분야들을 목록으로 작성하라. 공사를 포함하고 가능 잘게 나누어서 모든 분야를 구분하라.
          * 모든 항목에 '''충분''' 관심을 주어서 그것을 제대로 할 수 있게 해야 다. 역시 합은 100이 되도록 하라
          * 연습의 목적은 당신에게는 제된 양의 관심밖에 없고, 제대로 할 수 있는 시간이 없는 활동에 관심을 쏟는 것은 무의미 하다는 점을 알게 하는 것이다.
          * 연습을 마치면 당신에게는 모든 항목에 충분 관심을 주어 그것이 제대로 수행되고 당신의 관심 합계가 100퍼센트를 넘지 않는 목록이 생기게 된다.
          * 몇가지 대안들을 해 보면서 어느것에 가장 기분이 좋은지 보라. 이것은 '''선택'''에 관 연습임을 기억하라. 메뉴판에서 항목들을 선택하듯이 선택을 하라.
          1. 앞으로 1주일 동안 해야 할 것들의 목록을 작성하라. 매일 같이 하는 것들과 하겠다고 늘 ㅁ라하지만 아직까지 하지 못 것들을 포함시켜라.
          * 과거에 겪은 경험에 바탕해서 가능 정직하게 이 질문에 답하고 목록을 보라. - 실제로 할것 같은가? 100% 60% 20%
          * 예상대로 주말까지 성공적으로 수행항 항목들은 목록에서 지워라. 여수행하지 못 항목들을 검토하고, 같은 수준의 중요도에 머물러 있다면 결코 수행되지 않는다는 사실을 받아들여라.
          * 당신이 동안 연기 했던 비교적 직선적인 프로젝트 하나를 실행하겠다고 결정하라. 그 과업을 완수하는데 필요 '''행동들의 점검표를 작성하라.''' 이 과업들이 위압적으로 보인다면, '''그것들을 더 자세하게 세분하라.''' 작은 과업 할 때 얼마나 저항을 적게 느끼는지 번 보라.
  • 프로그래머의길 . . . . 101 matches
         독자중 사람이 필자에게 이런 질문을 적이 있다.
          프로그래밍에 대 정의는 여러가지가 있지만, 필자는 이와 같이 말하고 싶다.
          프로그래머는 화가와 같다. 화가의 그림에 대 영감이 프로그래머의 코드에 대 영감이며, 화가의 화판은 프로그래머의 자판인 것이다. 단지 프로그래머는 화가가 사용하는 붓대신 손을 이용 코딩을 다는 차이점 뿐이다. 맨처음 코딩에 대 영감은 단순하게 시작다. 하지만 그 영감을 현실속으로 끌어내기 위해서는 많은 시행착오를 거치게 된다. 자신의 실력을 탄하기도 하면서 자신이 만들어낸 알고리즘에 흠뻑 취하기도 다.
          초반의 정열은 무섭다는 표현이 맞을 것이다. 정말 자신이 생각해낸 알고리즘의 성공 여부를 알아보기 위해 무섭게 그 일에 매달린다. 밤과 낮이 서로 바뀌고, 모든 사회적 문화권에서 소외된다. 이와 같이 초반의 정열은 그 끝이 어디인지도 모르는 자아도취의 행동인 것이다. 하지만 이러 정열은 바로 시들어 버린다. 현실속에 안주할 것인가 아니면 이상을 선택할 것인가 하는 기로에 놓이게 되기 때문이다.
          현실 속의 안주는 시간과의 싸움이다. 모든 프로젝트는 정해진 시간을 갖고 있다. 초반 설계 단계에 수립된 계획은 불가피하게 수정되는 경우가 태반이다. 이는 코딩중에 예상치 못 복병(?)을 만나게 되는 경우가 있을 수 있으며, 관리자의 무리 계획으로 초반 계획이 수정되는 경우도 있다. 모든 프로그래머들은 항상 후자에 치중하게 된다. 현실도피를 위 희생양으로 몰아세우는 격이지만, 대부분의 경우는 관리자의 이해 부족에 의 비현실적 계획이 주를 이루기 때문이다.
         이와 반대로 이상을 선택하는 프로그래머는 그 다음부타 자신과의 싸움이 시적된다. 끈기 바로 이것이다. 흔히 우리는 능력이 탁월 사람보다는 성실 사람을 더 높이 평가해중다. 프로그래머 역시 끈기가 없으면, 완성도 높은 프로그램을 만들지 못다. 자신이 만든 알고리즘이 아무리 탁월하다고 해도 이를 이용 애플리케이션의 완성도가 높지 않으면, 아무리 탁월하다고 해도 이를 이용 애플리케이션의 완성도가 높지 않으면, 아무도 알아주지 않는다. 필자는 수많은 디버깅과 요구사항을 수용해 나가면서 자신의 이상을 실현해 나가는 프로그래머를 높이 평가하고 싶다. 그리고 그러 사람이야말로 발전 가능성이 있으며, 신뢰할 수 있는 프로그램을 만들기 때문이다.
         사실 완벽 코딩이란 존재하지 않는다. 다만 완벽을 위해 프로그래머는 키보드를 애인으로 삼을 뿐이다. 끈기있게 코드를 디버깅하는 프로그래머는 그만큼 버그의 수를 줄일 수 있고, 또 추가 요구사항에 대 대비도 충분히 할 수 있다. 따라서 필자는 프로그래머란 정열보다는 끈기가 더 필요하다고 말하고 싶다. 정말 진정 프로그래머란 자신의 역량보다는 주제에 대 완벽에 가까운 해결책을 찾아내는 끈기있는 사람이라고 생각다. 우리 모두 학창시절 어려운 수학문제를 풀던 때를 생각하면서, 그 의미를 되새겨보자.
         사람은 누구나 어떤 일을 하든 넘어야 할 벽을 만나기 마련이다. 프로그래머역시 여러가지 벽을 만나게 되는데, 필자는 컴퓨터의 벽을 크게 '''이해의 벽'''과 '''창조의 벽''', 그리고 '''마음의 벽'''으로 구분하고자 다. '''이해의 벽'''은 초보자가 넘어야 하는 벽이고 '''창조의 벽'''은 중급자가, 그리고 마지막 벽인 '''마음의 벽'''은 전문가가 넘어야 하는 벽이다.
         이 글을 읽고 있는 독자라면 어느 정도 프로그래밍을 해본 경험이 있을 것이다. 초보자라 함은 프로그래밍에 입문하고자 하는 사람을 말다. 즉 컴퓨터 사용부터 천천히 배워나가고 있는 사람들이다. 이들은 특정 학원 혹은 학교의 정규 과정을 통해 동료들과 함께 배우기도 하고, 또는 개인적으로 학습해 나가는 경우도 있다. 초보자들의 공통점은 전문가들의 논쟁을 아직 이해 할 수는 없지만큰 관심을 갖고 있으며, 컴퓨터로 모든 일이 가능할 것이라는 부푼 기대에 차있다는 것이다. 여기서 그들의 기대감이 문제시 된다. 기대가 크면 클수록 돌아오는실망감은 비례다.바로 컴퓨터로 할 수 있는 일이 정돼 버리는 시점에서 더 이상의 진전이 없게 되는 것이다.
         초보자 들 중 주위 사람들 보다 좀더 많은 내용을 알고 있다는 자만심을 갖고 있는이들이 특히 그럴 확률이 높다. 이들은 일종의 유틸리티를 이용해 남들이 하지 못하는 기법을 익혀 이를 자랑하면서 우월감에 사로 잡히게 된다. 하지만 그러 우월감은 그리 오래 가지 않는다. 자신보다 더 뛰어난 전문가를 만나면 '도대체 내가 무엇을 하고 있는가?'하는 반문이 생기기 때문이다. 여기서 이들은 '이해의 벽'을 피부로 느끼며, 컴퓨터를 이용 새로운 도전을 받아들이게 된다. 물론 이 시점에서 이해의 벽을 뛰어넘지 못하는 이들도 있을 것이다.하지만 프로그신머의 길을 걸어가기를 원하는 이는 자신에게 닥친 상황을 돌파하기 위 해결책을 찾는다. 이것이 바로프로그램이다. 필자는 이들에게 이렇게 말하고 싶다.
         "프로그래밍이라는 것은 단순히 코딩다는 의미보다는 컴퓨터를 이해다는 의미로 받아들여야 다."
         프로그램은 컴퓨터가 이해할 수 있는 기계어를 사람이 좀더 쉽게 알아볼 수 있도록 만든것에 불과하다 이를 다시 표현하자면, 기계와 언어소통하기 위해 프로그램을 배운다는 것이다. 우리는 외국어를 공부하면서 문화적 이질감으로 인해 단어의 의미를 파악하기 힘들때가 종종 있다. 이는 그 나라의 풍습과 역사를 이해하지 못하기 문이다. 컴퓨터도 마찬가지 이다. 컴퓨터를 이해하지 못하면 프로그램 역시 서투른 번역이 돼버린다. 다시 번 논하지만, 프로그램을 배우는 과정을 컴퓨터를 이해다는의미로 받아들이면 좀더 쉽게 중급자의 길로 도약할 수 있을 것이다.
          그렇다면 이 정도의 실력을 갖추기 위해서는 어떻게 해야할까? 아마도 많은 독자들이 궁금해하는 문제일 것이다. 정확 해답이 있을 수 없는 질문이다. '''영어에 왕도는 없다'''라는 표현을 빌어 '''프로그램에는 왕도가 없다'''라고 표현하는 것이 정답일 것이다. 하지만 왕도는 없지만 방법은 있다. 바로 '''자신이 할 수 있다고 판단하는 것보다 항상 더 많은 일을 만들어 내라는 것이다.''' 의미는 도전 정신이 필요하다는 뜻이다. 예를 들어 자신에게 주어진 일이 10만큼의 크기라면 자신의 목표를 20정도로 세우는것이다. 그러면 10만큼도 하기 벅차다고 느끼던 것이 어느날 목표 10을 이루고 20으로 다가가고 있는 자신을 발견하게 될것이다. 만약 목표 10도 이루지 못했다고 해서 실망하지는 말자. 돌이켜 보면 프로젝트가 실패했다고 해서 잃는 것보다는 얻은 것 더 많다는 것을 알게 될것이다. 필자는 중급자의 벽인'창조의 벽'을 해결하기 위해서는 무엇보다도 도전 정신이 필요하다고 주장하고 싶다.
          프로그래머들의 마지막 벽인 '''마음의 벽''', 이 벽은 상당 의미를 가진다. 전문가로 성장 프로그래머들은 누구보다도 마음이 굳게 닫혀 있는 경우가 많다. 자신만이 완벽 코드를 작성해 낸다는 마음자세가 이들을 그렇게 만들어 버린다. 프로그래머의 고집은 가히 말로 표현할 수 없을 정도로 완강하다. 아니 고집이 아닌 아집에 가깝다. 고집은 자신이 스스로 잘못을 인정할 수 있는 수준이지만, 아집은 그 잘못도 자신이 아닌 다른 사람의 영향에 의해 발생 것이라 말하는 것이다. 고집이 없는 프로그래머는 프로그래머라 할 수는 없지만, 그 고집이 아집이 돼서는 안된다.
          만약 자신이 만들어낸 이론이 우수하다고 생각된다면 약간의 고집으로 자신의 의견을 관철시킬 수 있는 자세가 이들에게 필요하다. 다른 팀원의 사고를 자신의 이론으로 집중시키고, 그 이론의 타당성을 타진해 보는 것이 바람직하다. 이때 고집이아집으로 바뀌지 않은 시점에거 차협점을 찾아야 할 것이다. 만약 자신의 이론이 채택되지 않더라도 실망하지는 말자. 다만 이러 것을 만들 수 있다는 확신만 버리지 않는다면 언젠가 자신의 이론이 옳다는 사실을 남들이 인정해 줄것이다.
          지금까지 프로그래머가 걸어가면서 만나게 되는 세가지 벽에 대해서 살펴 보았다.물론 모든 이들이 이러 벽을 만난다는 것은 아니다. 하지만 필자가 지금까지 프로그래밍을 해오면서, 그리고 많은 사람들과 같이 프로젝트를 진행해 오면서 경험 일을 토대로 나름대로 정리해 본것이다. 아직 필자도 세번째 벽인 '''마음의 벽'''을 완전히 뛰어 넘었다고 생각하지 않는다. 만약 이벽을 뛰어넘는다면 또 다른 제4의 벽이 다가올지도 모른다.
          인간의 욕심은 끝이 없다는 표현이기도 이 말이 '어떻게(어떤게? - 문맥상 어느게 더 어울릴까요 - 오타수정하던 임인택) 프로그래머들이 가져야 할 자세인가'라고 반문하는 독자들이 있을 것이다. 지금까지 프로그래머의 길을 연재해 오면서 필자는 프로그래머라면 욕심을 갖고 있어야 다고 강조했고, 또 도전정신에 의해 그 욕심을 실현하라고 표현했다. 그렇다면 역설적인 표현이 아닌가!
          만약 이와 같이 생각 독자가 있다면 필자가 의도하는 내용을 정확하게 파악 것이 아니다. 버리라고 표현 것은 자기 자신이 가지고 있는 생각, 즉 프로그램에 대 생각을 버리라는 것이다. 우리 인간은 변화에 대 불안함을 내포하고 있다 특히 나이가 들수록 그 정도는 심화되고, 젊은 사람들의 사고를 이해하기보다는 왜곡됐다고 평하게 된다. 이는 그 사람의 가치관이 고정돼 버렸기 때문에 자신의 사고와 일치하지 않는 다른 모든 행동을 잘못됐다고 생각다.
          프로그래머들이 가장 쉽게 빠져드는 유혹이 바로 이런 점이다. 자신이 지금까지 프로그램을 해도던 방식이야말로 정석이며, 진리라고 생각다. 컴퓨터는 하루가 다르게 변하고 있지만 아직까지도 구시대 유물이 전부라고 생각다. 필자는 단호하게 말하고 싶다.
         '''"자신이 작성 코드를 버려라"'''
  • Gof/Facade . . . . 99 matches
         서브시스템의 인터페이스집합에 일관된 인터페이스를 제공다. Facade는 고급레벨의 인터페이스를 정의함으로서 서브시스템을 더 사용하기 쉽게 해준다.
         서브시스템을 구축하는 것은 복잡함을 줄이는데 도움을 준다. 일반적인 디자인의 목적은 각 서브시스템간의 통신과 의존성을 최소화시키는 것이다. 이 목적을 성취하기 위 가지 방법으로는 단일하고 단순 인터페이스를 제공하는 facade object를 도입하는 것이다.
         예를 들기 위해, 어플리케이션에게 컴파일러 서브시스템을 제공해주는 프로그래밍 환경이 있다고 하자. 이 서브시스템은 컴파일러를 구현하는 Scanner, Parser, ProgramNode, BytecodeStream, 그리고 ProgramNodeBuilder 클래스를 포함하고 있다. 몇몇 특수화된 어플리케이션은 이러 클래스들을 직접적으로 접근할 필요가 있을 것이다. 하지만, 대부분의 컴파일러 시스템을 이용하는 클라이언트들은 일반적으로 구문분석(Parsing)이나 코드 변환 (Code generation) 의 세부적인 부분에 대해 신경쓸 필요가 없다.(그들은 단지 약간의 코드를 컴파일하기 원할뿐이지 다른 강력 기능을 알 필요가 없다.) 그러 클라이언트들에게는 컴파일러 서브시스템의 강력하지만 저급레벨인 인터페이스는 단지 그들의 작업을 복잡하게 만들 뿐이다.
         이러 클래스들로부터 클라이언트들을 보호할 수 있는 고급레벨의 인터페이스를 제공하기 위해 컴파일러 서브시스템은 facade 로서 Compiler class를 포함다. 이러 클래스는 컴파일러의 각 기능성들에 대 단일 인터페이스를 정의다. Compiler class는 facade (원래의 단어 뜻은 건물의 전면. 외관, 겉보기..) 로서 작용다. Compiler class는 클라이언트들에게 컴파일러 서브시스템에 대 단일하고 단순 인터페이스를 제공다. Compiler class는 컴파일러의 각 기능들을 구현 클래스들을 완벽하게 은폐시키지 않고, 하나의 클래스에 포함시켜서 붙인다. 컴파일러 facade 는저급레벨의 기능들의 은폐없이 대부분의 프로그래머들에게 편리성을 제공다.
          * 복잡 서브 시스템에 대해 단순 인터페이스를 제공하기 원할때. 서브시스템은 종종 시스템들이 발전되어나가면서 더욱 복잡성을 띄게 된다. 대부분의 패턴들은 패턴이 적용된 결과로 많고 작은 클래스들이 되게 다. 패턴의 적용은 서브시스템들이 더 재사용가능하고 커스터마이즈하기 쉽게 하지만, 커스터마이즈할 필요가 없는 클라이언트들이 사용하기 어렵게 만든다. Facade는 서브시스템에 대 단순하고 기본적인 시각을 제공다. 이러 시각은 대부분의 클라이언트들에게 충분하다. 커스터마이즈가 필요 클라이언트들에게만이 facade를 넘어서 볼 필요가 있는 것이다.
          - 각 서브시스템 클래스는 각 요청에 대 책임이 있다.
          - 클라이언트의 요청을 적합 서브시스템 객체에게 위임다.
          - Facade 객체에 의해 정의된 작업을 처리다.
          - facade 에 대 정보가 필요없다. facade object에 대 reference를 가지고 있을 필요가 없다.
          * 클라이언트는 Facade에게 요청을 보냄으로서 서브시스템과 대화다. Facade 객체는 클라이언트의 요청을 적합 서브시스템 객체에게 넘긴다. 비록 서브시스템 객체가 실제 작업을 수행하지만, facade 는 facade 의 인퍼페이스를 서브시스템의 인터페이스로 번역하기 위 고유의 작업을 해야 할 것이다.
          1. 서브시스템 컴포넌트로부터 클라이언트들을 보호다. 그러함으로서 클라이언트가 다루는 객체의 수를 줄이고, 서브시스템을 이용하기 쉽게 해준다.
          2. 서브시스템과 클라이언트 간의 연결관계를 약하게 해준다. 종종 서브시스템 컴포넌트는 클라이언트와 강 연결관계를 가지기도 다. 약 연결관계는 클라이언트에게 영향을 미치지 않으면서 서브시스템의 컴포넌트들을 다양하게 만들어준다. Facade 는 시스템과 객체간의 의존성을 계층화 하는데 도움을 준다. Facade는 복잡함이나 순환의존성을 없애준다. 이것은 클클라이언트와 서브시스템이 비의존적으로 구현되었을때의 가장 중요 결과일 것이다.
          3. 그러하면서도 어플리케이션은 여전히 서스시스템 클래스들을 사용할 방법을 제공다. 사용의 편리성과 일반성을 선택할 수 있다.
         그러면 클라이언트는 추상 Facade class의 인터페이스를 통해 서브시스템과 대화할 수 있다. 이러 추상클래스와의 연결은 클라이언트가 사용할 서브시스템의 구현을 알아야 하는 필요성을 없애준다.
          서브클래싱의 대체는 다른 서브시스템 객체를 가진 Facade 객체로 설정하는 것이다. facade를 커스터마이즈하려면 단순히 서브시스템 객체를 다른 객체로 교환다.
         서브시스템은 인터페이스를 가진다는 점과 무엇인가를 (클래스는 state와 operation을 캡슐화하는 반면, 서브시스템은 classes를 캡슐화다.) 캡슐화다는 점에서 class 와 비슷하다. class 에서 public 과 private interface를 생각하듯이 우리는 서브시스템에서 public 과 private interface 에 대해 생각할 수 있다.
         서브시스템으로의 public interface는 모든 클라이언트들이 접속가능 클래스들로 구성되며. 이때 서브시스템으로의 private interface는 단지 서브시스템의 확장자들을 위 인터페이스이다. 따라서 facade class는 public interface의 일부이다. 하지만, 유일 일부인 것은 아니다. 다른 서브시스템 클래스들 역시 대게 public interface이다. 예를 들자면, 컴파일러 서브시스템의 Parser class나 Scanner class들은 public interface의 일부이다.
         서브시스템 클래스를 private 로 만드는 것은 유용하지만, 일부의 OOP Language가 지원다. C++과 Smalltalk 는 전통적으로 class에 대 namespace를 global하게 가진다. 하지만 최근에 C++ 표준회의에서 namespace가 추가됨으로서 [Str94], public 서브시스템 클래스를 노출시킬 수 있게 되었다.[Str94] (충돌의 여지를 줄였다는 편이 맞을듯..)
         Compiler 서브시스템은 BytecodeStream 클래스를 정의다. 이 클래스는 Bytecode 객체의 스트림부를 구현다. Bytecode 객체는 머신코드를 구체화하는 bytecode를 캡슐화다. 서브시스템은 또 Token 클래스를 정의하는데, Token 객체는 프로그램 언어내의 token들을 캡슐화다.
         Parser 클래스는 Scanner의 token로 parse tree를 구축하기 위해 ProgramNodeBuilder 를 사용다.
  • 작은자바이야기 . . . . 99 matches
          * 흥미로워서 참여하고 싶지만 아직 서울에 갈만 형편이 안되네요.. 흥미로운 주제를 다루시는것 같던데. - [안혁준]
          * 학교에서 배울 수 없는 Java에 대 좀더 깊고 다양 이야기
          * 다룰 법 주제
          * 현업 Java 개발자도 놓치기 쉬운 문제들을 짚어보고, 올바른 Java 프로그램을 빠르고 깔끔하게 구현하는데 필요 중급 수준의 지식을 전달하기 위해
          * Java를 중점적으로 다루지만, Java에 정되지 않은 폭넓은 컴퓨터공학적 이해를 바탕으로 사고하도록 하기 위해
          * 그동안 설계와 구현에 관 일반론을 위주로 세미나를 진행해왔기에, 이번에는 좀더 practical하고 pragmatic 지식을 전달하는데 비중을 두고자 함.
          * 나 스스로도 알지만 불충분했던 지식이나 아직 어렴풋 지식을 설명하면서 함께 공부하고 배우기 위해
          * 학교에서 배우기 힘든 다양 지식(자바뿐만 아니고)들을 접해보고, 활용할 수 있기위해
          * 아직 내가 구현하는게 불가능 것을 가능하게 하는 것부터, 좀 더 '잘' 구현하는게 가능 영역까지 그 폭을 넓히기 위해
          * 병특을 위 중장기 프로젝트(?)
          * 자바를 좀 대충 배운 감이 있어서 자바에 대해서 조금 더 확실히 알고 학교에서 가르쳐주는 것 외의 자바에 관 지식을 조금 더 배우고 싶어서.
          * 언어에 관 것 뿐만 아니라 유용 라이브러리, 자바 개발 환경 등 개발을 더 빠르고 편리하게 할 수 있는 방법을 배우기 위해서.
          * 유닛테스트, mock 프레임워크 사용 등의 부분에 대 실제 사용 예를 잘 알기 위해
          * 단순히 자바 언어에 대해서가 아니라 더 다양 주제를 다루는 스터디이기 때문에 흥미가 있어서.
          * 튜터가 생각 이 스터디의 "무엇을?", "어떻게?", "왜?"를 자세히 소개하고, 튜티들이 원하는 "무엇을?", "어떻게?"에 대 이야기를 나눴습니다.
          * SpringSource Tool Suite(Eclipse IDE)의 기본 설정과 프로젝트 설정에 필요 기본적인 정보를 설명했습니다.
          * Python 은 PEP에 절대 권을 가진 귀도가 그냥 의견을 모아서 정겁니다. 원숙 언어일수록 스펙 자체가 '원래 그런 것'은 없고, '사람간의 약속'입니다. 이하 참고자료. --NeoCoin
          * 제가 "원래 모든 함수가 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로 해결할 수 있음을 배웠습니다.
  • Gof/Singleton . . . . 98 matches
         클래스로 하여금 오직 하나의 인스턴스만을 가지게 하며, 어디서든지 접근 가능하도록 다.
         몇몇 클래스들에 대해서 오직 하나의 인스턴스 만을 가지는 것은 중요 일이다. 예를 들면, 어떤 시스템에선 수많은 프린터들이 있더라도 거기에는 단 하나의 프린터 스플러만이 있어야 다. OS에서 돌아가는 화일시스템이나 윈도우 매니저의 경우도 오직 하나여야 다 (동시에 2-3개의 윈도우매니저가 돌진 않는다.) 디지털 필터의 경우에도 A/D converter는 단 하나를 가진다.
         어떻게 우리는 클래스로 하여금 단 하나의 인스턴스만을 가지도록 보장해줄 수 있을까? 그리고 그러 인스턴스를 쉽게 접근하게 할 수 있을 것인가? global 변수로 둘 경우 어디서든지 접근가능하겠지만, global 변수는 단일 인스턴스만을 가지도록 할 수 없다.
         더 좋은 방법은 클래스 자신으로 하여금 자기자신의 단일 인스턴스를 유지하도록 만드는 것이다. 이 클래스는 인스턴스가 생성될 때 요청을 가로챔으로서 단일 인스턴스로 만들어지는 것은 보증다. 또, 인스턴스에 접근하는 방법도 제공다. 이것이 바로 SingletonPattern이다.
         SingletonPattern은 다음과 같은 경우에 사용다.
          * 클래스가 정확히 오직 하나의 인스턴스만이 존재해야 할 때. 그리고 잘 알려진 엑세스 방법으로 어디서든지 접근 할 수 있어야 다.
          * 단일 인스턴스가 서브클래싱에 의해 확장가능해야 할 경우. 그러면 클라이언트는 그들의 코드 수정없이 확장된 인스턴스를 사용할 수 있어야 다.
          * Instance operation (클래스의 메소드)을 정의다. Instance 는 클라이언트에게 해당 Singleton의 유일 인스턴스를 접근할 수 있도록 해준다.
          * Singleton 자신의 유일 인스턴스를 생성하는 책임을 가진다.
          1. 클래스에 대 접근이 오직 하나의 인스턴스에게로 제된다. Singleton 클래스는 자기 자신의 단일 인스턴스를 캡슐화하기 때문에, 클라이언트가 언제, 어떻게 접근하던지 그 접근이 엄격하게 제어된다.
          2. namespace를 줄인다. SingletonPattern은 global variable을 줄임으로서 global variable로 인 namespace의 낭비를 줄인다.
          3. 명령어와 표현을 확장시킬 수 있다. Singleton class는 subclass될 수 있고, 이 확장된 클래스의 인스턴스를 가지고 어플리케이션을 설정하는 것은 쉽다. run-time중에 필요 경우에도 가능하다.
          4. 여러개의 인스턴스를 허용다. 프로그래머의 마음에 따라 쉽게 Singleton class의 인스턴스를 하나이상을 둘 수도 있도록 할 수 있다. 게다가 어플리케이션이 사용하는 인스턴스들을 제어하기 위해 동일 접근방법을 취할 수 있다. 단지 Singleton 인스턴스에 접근하는 것을 보장하는 operation만 수정하면 된다.
          5. class operation 보다 더 유연하다. 패키지에서 Singleton의 기능을 수행하기위 또다른 방법은 class operation들을 사용하는 것이다. (C++에서의 static 함수나 Smalltalk에서의 class method 등등) 하지만, 이러 언어적인 테크닉들은 여러개의 인스턴스를 허용하는 디자인으로 바꾸기 힘들어진다. 게다가 C++에서의 static method는 virtual이 될 수 없으므로, subclass들이 override 할 수 없다.
         1. unique instance임을 보증하는 것. SingletonPattern의 경우도 일반 클래스와 마찬가지로 인스턴스를 생성하는 방법은 같다. 하지만 클래스는 늘 단일 인스턴스가 유지되도록 프로그래밍된다. 이를 구현하는 일반적인 방법은 인스턴스를 만드는 operation을 class operations으로 두는 것이다. (static member function이거나 class method) 이 operation은 unique instance를 가지고 있는 변수에 접근하며 이때 이 변수의 값 (인스턴스)를 리턴하기 전에 이 변수가 unique instance로 초기화 되어지는 것을 보장다. 이러 접근은 singleton이 처음 사용되어지 전에 만들어지고 초기화됨으로서 보장된다.
         다음의 예를 보라. C++ 프로그래머는 Singleton class의 Instance operation을 static member function으로 정의다. Singleton 또 static member 변수인 _instance를 정의다. _instance는 Singleton의 유일 인스턴스를 가리키는 포인터이다.
         클래스를 사용하는 Client는 singleton을 Instance operation을 통해 접근다. _instance 는 0로 초기화되고, static member function 인 Instance는 단일 인스턴스 _Instance를 리턴다. 만일 _instance가 0인 경우 unique instance로 초기화시키면서 리턴다. Instance는 lazy-initalization을 이용다. (Instance operation이 최초로 호출되어전까지는 리턴할 unique instance는 생성되지 않는다.)
          * (a) static 객체의 유일 인스턴스가 선언되어질 것이라고 보장할 수 없다.
          * (b) 모든 singleton들이 static initialization time 대 인스턴스되기 위 충분 정보를 가지고 있지 않을수도 있다. singleton은 프로그램이 실행될 때 그러 정보를 얻을 수 있다.
          * (c) C++ 은 global 객체의 생성자가 translation unit를 통하면서 호출될때의 순서를 정의하지 않는다[ES90]. 이러 사실은 singleton 들 간에는 어떠 의존성도 존재할 수 없음을 의미다. 만일 그럴 수 있다면, 에러를 피할 수 없다.
  • PatternOrientedSoftwareArchitecture . . . . 98 matches
          * 3가지 다른 레벨(소프트웨어 구조,모든 디자인, idioms)에서 어떻게 패턴이 발생하는지 이 책에 자세히 나와 있다. 이러 통합적인 접근 다소 이론적일거 같이 보이지만, 저자는 12개의 패턴과 실제로 사용되는 예제를 많이 보여 준다.
          * 자세 소개는 아마존 사이트를 참고 하면 좋습니다.
          * 중간 중간에 해석이 안되는 부분이나 잘못 기술 부분 있으면 수정해주시면 감사 하겠습니다. ^^;
          * 패턴에 대소개와 이책의 구성에 대 것등의 내용이 나온다.
          * 환경(Context) : 분해가 필요 큰 시스템
          * 최근에 수정되는 소스는 그것이 속 component에만 영향을 주어야지 다른 component에까지 영향을 끼쳐서는 안된다.
          * interface는 안정적이어야 다.
          * 시스템의 각 부분은 교환 가능해야 다. (Design for change in general is a major facilitator of graceful system evolution - 일반적으로 변화에 대비 디자인을 하는것은 우아 시스템 개발의 주요 촉진자이다.)
          * It may be necessary to build other systems at a later date with the same low-level issues as the system you are currently designing ( 정확 의미는 모르겠음, 누가 해석좀....)
          * 이해하기 쉽고 유지보수도 하기 쉽게 하기 위해서 유사 필요 기능(responsibilities)을 그룹화 다.
          * component 경계가 교차 하는것은 성능의 저하를 초래다. 예를 들어 많은 양의 데이터가 레이어를 지날때 또 역시 많은 교차하는 component 경계를 지나게 되기 때문이다.
          * 해결책(Solution) : 자신의 시스템을 적당 숫자의 레이어로 나누고 각 레이어를 알맞는 순서에 맞게 쌓는다
          * 레이어 J+1에 의해서 사용될 서비스를 제공다.
          * 하부 작업을 레이어 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보다 더 추상적이기 때문이다. 덜 추상적인것이 여러개 모여서 더 추상적인것이 되는 것을 생각해보면 이해가 갈것이다.(예를 들어 복잡 소켓 프로그래밍을 자바에서는 간단 명령어로 금방 다.)
          * Scenario2 - bottom-up communication, 레이어 1에서 시작하는 연쇄적인 동작들이다. top-down communicatin과 헷갈릴 수도 있는데 top-down communication은 요청(requests)에 의해서 동작하지만, bottom-up communication은 통지(notifications)에 의해서 동작다. 예를 들어서 우리가 키보드 자판을 치면, 레벨1 키보드에서 최상위 레벨 N에 입력을 받았다고 통지를 다. bottom-up communicatin에서는 top-down communication과는 반대로 여러개의 bottom-up 통지들(notifications)은 하나의 통지로 압축되어서 상위 레이어로 전달되거나 그대로 전달된다.
          * Scenario3 - 레이어 N-1이 cache로 작용하여서, 레이어 N의 요청이 레이어 N-1에게만 전달되고 더이상 하위 레이어로 전달되지 않는다. 요청을 보내기만 하는 레이어들이 상태가 없는(stateless) 반면에 이러 cache 레이어는 상태 정보를 유지다. 상태가 없는 레이어들은 프로그램을 간단하게 다는 이점이 있다.
          * Scenario4 - 레이어 1에서 event가 감지되었지만 레이어 3까지만 가고 더이상 가지 않는 경우와 같은 경우, 예를 들어서 성격 급 클라이언트가 데이터를 요청하고, 못 기다리고 금방 다시 요청하는 경우에 첫번째 요청으로 응답 데이터가 가다가 두번째 요청이 오는것과 교차하게 된다. 이때 두번째 요청도 첫번째 요청과 같은 것이기에 이때 이 요청이 도이상 가지 않게 다.
          * Scenario 5 - N개의 레이어들로 이루어진 2개의 stack 들이 서로 소통 하는 경우이다. 통신 프로토콜이 대표적인 예이다. 쪽의 레이어 N에서 보내는 요청은 결국 하위 레이어 1(하드웨어 레벨)을 통해서 상대편 하위 레이어1로 전해지고, 이것은 또 N 레이어로 쭉 올라간다.
  • 논문번역/2012년스터디/서민관 . . . . 93 matches
         off-line 필기 인식을 위 시스템을 소개다.
         전처리, 특징 추출, 통계적 모델링을 위 방법들을 소개하고, 작성자에 독립적인 방법, 복수의 작성자, 명의 작성자의 필기 인식 등에 대 실험들도 이루어질 것이다.
         특히, 선형 판별 해석(linear discriminant analysis)과 allograph 문자 모델, 통계적 언어 지식을 결합 방법을 살펴볼 것이다.
         어휘 제이 없는(lexicon-off) 필기 인식의 결과는 제안하는 방식의 효율을 입증할 것이다.
         패턴 인식에서 도전할 만 분야는 필기 텍스트의 인식이다.
         이런 시스템들은 분할된 문자나 단어에만 정적으로 사용되고 있고, 제약사항이 없는 필기 인식 시스템은 무척 적다.
         이것은 방대 어휘에 대해 글자나 단어의 경계가 존재하지 않기 때문에 이러 작업의 복잡도가 올라가기 때문이다.
         하지만 컴퓨터의 계산 능력의 증가가 더 복잡 처리를 가능하게 하였기 때문에 필기 텍스트 인식 기술을 더 살펴볼 만 가치는 있다.
         이 논문에서는 어휘 제이 없는 off-line의 필기 인식을 기본으로 Hidden-Markov-Model을 소개할 것이다.
         그리고 작성자에 독립적인 방법과 복수 작성자, 단일 작성자에 대해 완전 영어 문장 데이터베이스에 기반 몇몇 실험들을 소개할 것이다.
         전처리와 특징 추출을 위 방법들을 기술할 것인데, 추가적으로 선형 판별 해석, allograph 문자 모델, 통계적 언어 지식 등의 더 정교 방법도 살펴볼 것이다.
         다음 섹션에서는 필기 인식에 대 관련 연구를 간단히 살펴볼 것이다.
         우리가 사용할 데이터베이스에 대해서는 섹션 3에서 소개다.
         그 후에 이어지는 섹션들에서 전처리 과정, 특징 추출을 위 방법들, 통계적 모델링과 인식에 사용된 기술 들에 대해서 서술할 것이다.
         제안 방법의 효과를 나타내기 위 평가 결과는 세션 7에서 소개할 것이다.
         지난 여러해 동안 off-line 필기 인식 분야에서 상당 진전이 있었다.
         이와는 달리 방대 양의 단어를 사용하는 제이 없는 필기 텍스트의 인식은 훨씬 어렵다.
         이런 일들은 주로 문맥 정보나 단어 구간의 정보가 없기 때문에 일어난다. 이러 어려움은 분리된 단어 처리를 위 시스템 들에 내재되어 나타난다.
         이런 어려움들에도 불구하고 제이 없는 필기 텍스트 인식은 많이 발달해 왔다.
         [1, 18]과 [15]에 HMMs 방법을 사용하는 텍스트 분리에 기반을 둔 방법과 recurrent neural network와 HMMs를 혼합 방법의 각 예시가 있다.
  • ProjectZephyrus/ClientJourney . . . . 91 matches
         클라이언트 팀 모여서 일에 대 정리. 일/느낀점/교훈(["ThreeFs"]) 등을 생각해볼 수 있는 기회가 되었으면 함. (팀원내 자유로운 비방 허용; 치외법권선포;)
          * 작업상황이 막바지인것을 실감할 거 같다. 엄청나게 길어진 코드를 보면 알 수 있다. 내가 없는 사이에 엄청나게 많은 변화가 있었다. 주석이 없는 코드라서 그런지 해석하는 데 애먹었다. 이궁...CVS 사용을 며칠 안해봤다고 또 잊어먹었다. 바부..도움말 뒤지는 중이다. 아마 이번 프로젝트에서 내가 가장 크게 느끼는 것은 영서와 비슷할 것 같다. 자바 언어에 대 공부보다는 프로젝트 진행 방법, 팀프로젝트에서 개인과 팀의 역할 등을 가장 크게 배우는 것 같다. 예전에 친구와 함께 뭐 하나 하다가 어설프게 끝난 적이 있는데 아마 내가 그만큼 어설프게 진행했던 것 같다. 아무튼 이번에 가장 크게 느낀 점이다. 또 하나 느낀점이 있다면 형하고 pair 하려면 이정도로 공부하고 노력해서는 부족할 것 같다는 생각이다. 아직 내가 갈 길은 멀었다는 생각이... -_-;; 이번에 확실히 늘어난 실력은 아마도 소켓의 개념이 아닐까...-_-;;
          * 소프트웨어 개발이 공장스타일이 될 수 없는 이유를 하나 든다고 다면 개발중 개발자가 계속 학습을 해나간다는 점에 있지 않을까 다. 처음부터 끝까지 모든 것을 다 예상하고 개발할 수 는 없을것이니. (필요 라이브러리가 무엇인지, 실제 그 라이브러리의 장단점이 무엇인지, 어떻게 사용하면 바로 알수 없는 버그가 되어버리는지 등등. 뭐 큰 소프트웨어일 경우 이것을 다 예측해야 다라고 하면 할말없지만. 이것도 비용을 고려해서 처신해야하겠지. Cost Estimate 자체가 Cost 가 드는것일거니.) 암튼 아쉬운건 중간에 디자인이 바뀌었을때 (실제로 처음 디자인의 클래스들을 몇개 뺀것도 있고, 인터페이스만 맞춰본 것들도 있고 그러함) 바쁜 사람들이 참석을 하지 못해서 처음부터 설명해야 하는 경우이다.
          * 학교에서의 작업의 단점중 하나는 고정된 장소와 고정된 스케줄을 만들기가 쉽지 않다는 점이다. 학교시간표 보고 빈 시간대를 맞춰야 하고, 그 사람은 또 그 사람 나름대로의 스케줄이 따로 존재다. 시험이라던지, 동아리 활동이라던지 등등. 이 경우 팀원별 스케줄을 보고 팀내 기여도를 예상다음 그 기여도를 줄여주도록 해야 서로가 부담이 적을 것이다. 단, 위에서 언급대로 개발중 지속적인 학습과정이 있는 이상, 중간 참여는 그만큼 어렵게 된다. CVS가 있을 경우 해당 코드의 변화를 지속적으로 관찰해나가야 하며, 외부에 있는 사람은 내부 작업자에게 필요에 따라 해당 문서를 요구해야 다. (내부 작업자가 어떤 욕을 하건 -_-; 나중에 다시 참여시의 리스크를 줄이려면) 내부 작업자는 그 변화과정을 계속 기록을 남겨야 할 것이다. (Configuration Management 가 되겠지.)
          * 팀내 기여도에 대해서는 여러가지를 생각해야 할것 같긴 데, 이것은 개인의 목적과 팀의 목적과 결부지어서 생각해봐야 할것도 같다. 개인의 목적과 팀의 목적이 일치할때 그 사람은 자신의 기여도를 높이려고 할 것이다 (이것은 자신의 이익과 일치하는 것일테니).
          * 이번 프로젝트의 목적은 Java Study + Team Project 경험이라고 보아야 할 것이다. 아쉽게도 처음에 공부할 것을 목적으로 이 팀을 제안 사람들은 자신의 목적과 팀의 목적을 일치시키지 못했고, 이는 개인의 스케줄관리의 우선순위 정의 실패 (라고 생각다. 팀 입장에선. 개인의 경우야 우선순위들이 다를테니 할말없지만, 그로 인 손실에 대해서 아쉬워할정도라면 개인의 실패와도 연결을 시켜야겠지)로 이어졌다고 본다. (왜 초반 제안자들보다 후반 참여자들이 더 열심히 뛰었을까) 편, 선배의 입장으로선 팀의 목적인 개개인의 실력향상부분을 간과하고 혼자서 너무 많이 진행했다는 점에선 또 개인의 목적과 팀의 목적의 불일치로서 이 또 실패이다. 완성된 프로그램만이 중요건 아닐것이다. (하지만, 나의 경우 Java Study 와 Team Project 경험 향상도 내 목적중 하나가 되므로, 내 기여도를 올리는 것은 나에게 이익이다. Team Project 경험을 위해 PairProgramming를 했고, 대화를 위 모델링을 했으며, CVS에 commit 을 했고, 중간에 바쁜 사람들의 스케줄을 뺐다.) 암튼, 스스로 만큼 얻어간다. Good Pattern 이건 Anti Pattern 이건.
          * 암튼. 이렇게 해봤으니, 앞으로는 더 잘할수 있도록, 더욱더 잘할수 있도록. ["DoItAgainToLearn"] 했으면 다. 앞으로 더 궁리해봐야 할 일들이겠지. -- 석천
          * 움.. 아무래도 난 말빨 글빨 다 딸리는거같다.. 위에글처럼 멋있게 쓰고싶은데, 그냥 내식대로 써야겠다.. 간만에 내가 또 형보다 일찍왔다. 이틀동안 빠진게 타격이 너무 컸나보다.. MainSource에 새로 추가된 파일도 꽤되고 기존파일도 업데이트된 내용이 많아서 이해가 아니라 읽어보는것만해도 엄청난 시간이 들었다.. --;; 정통부 회의겸 기짱턱땜에 일찍갔는데 아무래도 금요일로 완료가 된 모양이다.. 이번이 나로선 거의 처음 해본 프로젝트였는데, 내가 별로 건없지만, 솔직히 뭔가 만든것보단 배운게 더 많은거같다.. 하긴 프로젝트를 해본다는거 자체가 배운다는거였으니깐.. 꼭 자바에 대해서 배운것보다도 Design이라던지 Architecture(맞나?) 같은것에 대해서도 배웠고.. 프로젝트란 이렇게 진행해야 하는거구나라는것도 느꼈다. 뭔가 많이 쓰고싶은데 머리속이 정리가 안된다.. 이럴때 정말~~ ㅠ.ㅠ 아우~ 나중에 더 써야겠다..
          *(나중) 형의 말대로 아쉽다는 생각이 든걸로 봐서는 실패란 생각이 들긴다.. 그래도 프로젝트를 하면서 여러사람들과 머리를 맞대본것만으로도 오랜 어두운 동굴에서 빛을 찾은것처럼 느껴진다.. 다른사람이 모라 할지라도 그것만으로도 나에겐 이번 프로젝트가 나름대로 큰 성공이라고 생각다.. 근데 아직 메신저를 못실행시켜봤다.. 어떻게 해야되는지 모르겠다.. --;; 서버쪽을 안읽어봐서 그런가.. 이거 쓰고 번 돌려봐야겠다.. 별로 건 없지만, 아니다 나도 엄청난 역할을 했기에 돌려보면 너무 기쁠꺼같다.. ^^
          ''100% 실패와 100% 성공 둘로 나누고 싶지 않다. Output 이 어느정도 나왔다는 점에서는 성공 70-80% 겠고, 그대신 프로젝트의 목적인 Java Study 와 성공적인 Team Play 의 운용을 생각해봤을때는 성공 40-50% 정도 라는 것이지. 성공했다고 생각 점에 대해서는 (이 또 개인의 성공과 팀의 성공으로 나누어서 생각해봤으면 다.) 그 강점을 발견해야 하겠고, 실패했다고 생각 점에 대해선 보완할 방법을 생각해야 겠지. --석천''
          * 1002 혼자서 작업. 집에서 작업해서 그런지 중간에 다른 일을 좀 많이 했다. (애니보고 축구보고. -_-;) 장소가 주는 장단점이 확실히 존재다. 아무리 집의 컴퓨터가 나에게 셋팅이 맞춰져있다고 하더라도, 집에는 너무 유혹거리가 많다.)
          * 중간 중간 테스트를 위해 서버쪽 소스를 다운받았다. 상민이가 준비를 철저하게 것이 확실히 느껴지는 건 빌드용/실행용 배치화일, 도큐먼트에 있다. 배치화일은 실행번만 해주면 서버쪽 컴파일을 알아서 해주고 번에 실행할 수 있다. (실행을 위 Interface 메소드를 정의해놓은것이나 다름없군.) 어떤 소스에서든지 Javadoc 이 다 달려있다. (Coding Standard로 결정 사항이긴 하지만, 개인적으로 코드의 Javadoc 이 많이 달려있는걸 싫어하긴 하지만; 코드 읽는데 방해되어서; 하지만 javadoc generator 로 document 만들고 나면 그 이야기가 달라지긴 하다.)
          * TDD 가 아니였다는 점은 추후 모듈간 Interface 를 결정할때 골치가 아파진다. 중간코드에 적용하기 뭐해서 궁여지책으로 Main 함수를 hard coding 뒤 ["Refactoring"] 을 하는 스타일로 하긴 하지만, TDD 만큼 Interface가 깔끔하게 나오질 않는다고 생각. 차라리 조금씩이라도 UnitTest 코드를 붙이는게 나을것 같긴 하다. 하지만, 마감이 2일인 관계로. -_- 스펙 완료뒤 고려하던지, 아니면 처음부터 TDD를 염두해두고 하던지. 중요건 모듈자체보다 모듈을 이용하는 Client 의 관점이다.
          * 내가 지난번과 같이 5분 Pair를 원해서 이번에도 5분Play를 했다.. 역시 능률적이다.. 형과 나 둘다 스팀팩먹인 마린같았다.. --;; 단번에 1:1 Dialog창 완성!! 근데 가지 처리(Focus 관련)를 제대로 못게 아쉽다.. 레퍼런스를 수없이 뒤져봐도 결국 자바스터디까지 가봤어도 못했다.. 왜 남들은 다 된다고 하는데 이것만 안되는지 모르겠다.. 신피 컴터가 구려서그런거같다.. 어서 1.7G로 바꿔야다. 오늘 들은 충격적인 말은 창섭이가 주점관계로 거의 못할꺼같다는말이었다.. 그얘긴 소켓을 나도 해야된다는 말인데.... 나에게 더 많은 공부를 하게 해준 창섭이가 정말 고맙다.. 정말 고마워서 눈물이 날지경이다.. ㅠ.ㅠ 덕분에 소켓까지 열심히 해야된다.. 밥먹고와서 네트워크부분은 그냥 고개만 끄덕였지 이해가 안갔다.. 그놈에 Try Catch는 맨날 쓴다.. 기본기가 안되있어 할때마다 관련된것만 보니 미치겠다.. 역시 기본기가 충실해야된다. 어서 책을 봐야겠다.. 아웅~ 그럼 인제 클라이언트는 내가 완성하는것인가~~ -_-V (1002형을 Adviser라고 생각할때... ㅡ_ㅡ;;) 암튼 빨리 완성해서 시험해보고싶다.. 3일껀 내가 젤먼저썼다.. 다시번 -_-V - 영서
          * PairProgramming 을 할때 가장 답답해지는 상황은 잘 이해 안가면서 넋놓고 있을때랑, 둘이 같이 있어도 Solo Programming 하느 사람 마냥 혼자서 문제를 끙끙거리며 풀려고 하는 모습이다. 꼭 문제를 스스로 삽질해서 풀어야만 자기실력이 향상되는것일까? 다른 사람에게 올바른 질문을 할 수 없는 사람은 혼자서 문제 푸는데에도 오래걸리게 된다고 생각다. 상대방에게 질문을 하면서 자신이 모르는 것 자체를 구체화하고 (문제 자체가 모호상태 자체가 문제다. 무엇이 문제인지, 자신이 모르는 것이 구체적으로 무엇인지 모르면서 어떻게 문제를 해결할까? 자신이 모르는게 버클리소켓 전체 사용과정인지 소켓 API의 인자들을 모르면서 네트웍 프로그래밍을 할 수 있을까. 그런사람들에게 '지금 모르겠는게 뭐지?' 라고 물으면 80-90%는 '다 몰라요' 이다. 모르겠는 부분에 대해서 하나하나 구체화시켜나가라. 구체화시킨 예로서 생각을 해봐도 좋을것이다. 시나리오를 만들어보면서, 그림을 그려보면서, 아니면 자기 자신이 그 시스템의 일부가 되어 보면서.) 다른 사람의 아이디어를 자신의 사고에 붙여나가면서 '더 좋은 방법' 을생각해낼 수는 없을까? 언제나 문제의 답을 내는 방법은 '이사람의 방식' 아니면 '저사람의 방식' 뿐일까.
          * PairProgramming 의 교대시간을 5분으로 해봤다. 사람이 5분동안 해당 부분을 플밍하다가 다 못짜면 다음사람이 다시 5분의 시간을 가지고 이어서 짜고 하며 교대로 프로그래밍을 이어나가는 (마치 릴레이경주와도 같다) 방법이다. 사람들에게 제안했을때 그 표정들이 심상치 않다;; 그래 너희들은 실험용 모르모트다;; 흐흐.
          * 5분간격으로 Pair Programming을 했다.. 진짜 Pair를 기분이 든다.. Test가 아닌 Real Client UI를 만들었는데, 하다보니 Test때 번씩 다 해본거였다.. 그런데 위와 아래에 1002형이 쓴걸 보니 얼굴이 달아오른다.. --;; 아웅.. 3일전 일을 쓰려니 너무 힘들다.. 일기를 밀려서 쓴기분이다.. 상상해서 막 쓰고싶지만 내감정에 솔직해야겠다.. 그냥 생각나는것만 써야지.. ㅡ.ㅡ++ 확실히 5분간격으로 하니 속도가 배가된 기분이다.. 마약을 상태에서 코딩을 하는 느낌이었다.. 암튼 혼자서 하면 언제끝날지 알수없고 같이 해도 그거보단 더 걸렸을듯데, 1시간만에 Login관련 UI를 짰다는게 나로선 신기하다.. 근데 혼자서 나중에 Tree만들땐 제대로 못했다.. 아직 낯선듯하다. 나에게 지금 프로젝트는 기초공사가 안된상태에서 바로 1층을 올라가는 그런거같다.. 머리속을 짜내고있는데 생각이 안난다 그만 쓰련다.. ㅡㅡ;; - 영서
          처음에는 영서와 GUI Programming을 했다. Main Frame class 의 메뉴붙이고 리스너 연결하는 것부터 시작, 입력 다이얼로그를 노가다 코딩해서 만드는데 서로 교대해서 1시간이 걸렸다. 코딩 속도도 저번에 비해 더욱 빨랐고, 대화할때도 그 질문이 간단했다. (5분간격이니 아무리 플밍이 익숙 사람이 진행해도 그 진행양이 많지가 않다. 그리고 자신이 그 사람의 미완성 코드를 완성해야 하기에 모르면 바로 질문을 하게 된다.)
         (그 이후 창섭이가 와서 영서에게 JTree관련 Solo Programming 을 시켰는데, 말이 안되는 프로그래밍을 했다. -_-; 아직 영서가 Swing 에 익숙하지 않아서 그런데, 앞의 프로그램은 어떻게 만들어졌을까 의문이 들 정도였다; 아마 5분 간격 플밍시에는 서로 앞 사람 소스작성을 것을 기준으로 붙여나가는 방식이기에 그 흐름을 잡고 프로그래밍을 해서 Pair 가 성립이 가능했던것 같다는 생각도 해본다. 이는 처음 프로그래밍을 하는 사람과의 PairProgramming 시 궁리해봐야 할 사항인듯)
         다음번에 창섭이와 Socket Programming 을 같은 방법으로 했는데, 앞에서와 같은 효과가 나오지 않았다. 중간에 왜그럴까 생각해봤더니, 아까 GUI Programming 을 하기 전에 영서와 UI Diagram 을 그렸었다. 그러므로, 전체적으로 어디까지 해야 하는지 눈으로 확실히 보이는 것이였다. 하지만, Socket Programming 때는 일종의 Library를 만드는 스타일이 되어서 창섭이가 전체적으로 무엇을 작성해야하는지 자체를 모르는 것이였다. 그래서 중반쯤에 Socket관련 구체적인 시나리오 (UserConnection Class 를 이용하는 main 의 입장과 관련하여 서버 접속 & 결과 받아오는 것에 대 간단 sequence 를 그렸다) 를 만들고, 진행해 나가니까 진행이 좀 더 원할했다. 시간관계상 1시간정도밖에 작업을 하지 못게 좀 아쉽긴 하다.
  • 토비의스프링3/오브젝트와의존관계 . . . . 88 matches
          * 사용자 정보를 JDBC API를 이용해 DB에 저장하고 조회할 수 있는 간단 DAO 만들기.
          * 간단히 빈이라고도 다.
          * 원래 의미는 비주얼 툴에서 조작 가능 컴포넌트.
          * getter와 setter를 통해 조회, 수정할 수 있는 프로퍼티를 가진 오브젝트를 의미다.
          * UserDao : JDBC를 이용 등록, 조회 기능이 있는 DAO 클래스
         == main()을 이용 테스트 ==
          * DAO의 기능을 사용하는 웹 어플리케이션을 만들어 서버에 배치 뒤 웹 브라우저를 통해 사용해보거나
          * UserDao 코드가 동작하는지 확인하기 위해 너무 복잡 작업이 필요.
          * main 메소드를 이용 테스트 코드
          * main() 메소드에 작성 테스트로 확인해보니
          * 기능이 정상적으로 작동
          * 어플리케이션이 폐기처분될 때까지 오브젝트 설계와 코드는 끊임없이 변다. 그렇다면 변화에 어떻게 대비할 것인가?
          * 가장 좋은 대책 : 변화의 폭을 최소으로 줄인다.
          * 동일 기능 변경을 요청했을때
          * 단 몇 줄의 코드만 수정하고 수정 뒤에도 문제 없이 작동함을 보여주는데 5분이 걸리는 개발자 > 코드를 수정하는데 5시간이 걸리고 수정 뒤 문제 없이 작동하는지 확신할 수 없는 개발자
          * '''분리와 확장'''을 고려 설계
          * 모든 변경과 발전은 번에 가지 관심사항에 집중해서 일어나지만 그에 따른 작업은 곳에 집중되지 않는 경우가 많다.
          * 가지 관심이 군데에 집중되게 하라.
          * 관심이 같은 것끼리는 하나의 객체 안으로, 관심이 다른 것은 가능 떨어져 영향을 주지 않도록 분리.
          1. DB 연결을 위 커넥션을 어떻게 가져올 것인가.
  • Gof/Command . . . . 85 matches
         request 를 객체로 캡슐화 시킴으로서 다른 request들을 가진 클라이언트를 인자화시키거나, request를 queue하거나 대기시키며, undo가 가능 명령을 지원다.
         때때로 요청받은 명령이나 request를 받는 객체에 대 정보없이 객체들에게 request를 넘겨줄 때가 있다. 예를 들어 user interface tookit은 button이나 menu처럼 사용자 입력에 대해 응답하기 위해 요청을 처리하는 객체들을 포함다. 하지만, 오직 toolkit을 사용하는 어플리케이션만이 어떤 객체가 어떤일을 해야 할지 알고 있으므로, toolkit은 button이나 menu에 대해서 요청에 대해 명시적으로 구현을 할 수 없다. toolkit 디자이너로서 우리는 request를 받는 개체나 request를 처리할 operations에 대해 알지 못다.
         Command Pattern은 request 를 객체화함으로서 toolkit 객체로 하여금 불특정 어플리케이션 객체에 대 request를 만들게 다. 이 객체는 다른 객체처럼 저장될 수 있으며 pass around 가능하다. 이 pattern의 key는 수행할 명령어에 대 인터페이스를 선언하는 추상 Command class에 있다. 이 인터페이스의 가장 단순 형태에서는 추상적인 Execute operation을 포함다. 구체화된 Command subclass들은 request에 대 receiver를 instance 변수로 저장하고 request를 invoke하기 위 Execute operation을 구현함으로서 receiver-action 짝을 구체화시킨다. The receiver has the knowledge required to carry out the request.
         Menu는 쉽게 Command Object로 구현될 수 있다. Menu 의 각각의 선택은 각각 MenuItem 클래스의 인스턴스이다. Application 클래스는 이 메뉴들과 나머지 유저 인터페이스에 따라서 메뉴아이템을 구성다. Application 클래스는 유저가 열 Document 객체의 track을 유지다.
         어플리케이션은 각각의 구체적인 Command 의 subclass들로 각가각MenuItem 객체를 설정다. 사용자가 MenuItem을 선택했을때 MenuItem은 메뉴아이템의 해당 명령으로서 Execute oeration을 호출하고, Execute는 실제의 명령을 수행다. MenuItem객체들은 자신들이 사용할 Command의 subclass에 대 정보를 가지고 있지 않다. Command subclass는 해당 request에 대 receiver를 저장하고, receiver의 하나나 그 이상의 명령어들을 invoke다.
         예를 들어 PasteCommand는 clipboard에 있는 text를 Document에 붙이는 기능을 지원다. PasteCommand 의 receiver는 인스턴스화할때 설정되어있는 Docuemnt객체이다. Execute 명령은 해당 명령의 receiver인 Document의 Paste operation 을 invoke 다.
         OpenCommand의 Execute operation은 다르다. OpenCommand는 사용자에게 문서 이름을 물은뒤, 대응하는 Document 객체를 만들고, 해당 문서를 여는 어플리케이션에 문서를 추가 뒤 (MDI를 생각할것) 문서를 연다.
         때때로 MenuItem은 연속된 명령어들의 일괄수행을 필요로 다. 예를 들어서 해당 페이지를 중앙에 놓고 일반크기화 시키는 MenuItem은 CenterDocumentCommand 객체와 NormalSizeCommand 객체로 만들 수 있다. 이러 방식으로 명령어들을 이어지게 하는 것은 일반적이므로, 우리는 복수명령을 수행하기 위 MenuItem을 허용하기 위해 MacroCommand를 정의할 수 있다. MacroCommand는 단순히 명령어들의 sequence를 수행하는 Command subclass의 구체화이다. MacroCommand는 MacroCommand를 이루고 있는 command들이 그들의 receiver를 정의하므로 명시적인 receiver를 가지지 않는다.
         이러 예들에서, 어떻게 Command pattern이 해당 명령을 invoke하는 객체와 명령을 수행하는 정보를 가진 객체를 분리하는지 주목하라. 이러함은 유저인터페이스를 디자인함에 있어서 많은 유연성을 제공다. 어플리케이션은 단지 menu와 push button이 같은 구체적인 Command subclass의 인스턴스를 공유함으로서 menu 와 push button 인터페이스 제공할 수 있다. 우리는 동적으로 command를 바꿀 수 있으며, 이러함은 context-sensitive menu 를 구현하는데 유용하다. 또 우리는 명령어들을 커다란 명령어에 하나로 조합함으로서 command scripting을 지원할 수 있다. 이러 모든 것은 request를 issue하는 객체가 오직 어떻게 issue화 하는지만 알고 있으면 되기때문에 가능하다. request를 나타내는 객체는 어떻게 request가 수행되어야 할지 알 필요가 없다.
          * MenuItem 객체가 하려는 일을 넘어서 수행하려는 action에 의해 객체를을 인자화시킬때. 프로그래머는 procedural language에서의 callback 함수처럼 인자화시킬 수 있다. Command는 callback함수에 대 객체지향적인 대안이다.
          * 다른 시간대에 request를 구체화하거나 queue하거나 수행하기 원할때. Command 객체는 request와 독립적인 lifetime을 가질 수 있다. 만일 request의 receiver가 공간 독립적인 방법으로 (네트워크 등) 주소를 표현할 수 있다면 프로그래머는 request에 대 Command 객체를 다른 프로세스에게 전달하여 처리할 수 있다.
          * undo 기능을 지원하기 원할때. Command의 Execute operation은 해당 Command의 효과를 되돌리기 위 state를 저장할 수 있다. Command 는 Execute 수행의 효과를 되돌리기 위 Unexecute operation을 인터페이스로서 추가해야 다. 수행된 command는 history list에 저장된다. history list를 앞 뒤로 검색하면서 Unexecute와 Execute를 부름으로서 무제의 undo기능과 redo기능을 지원할 수 있게 된다.
          * logging change를 지원하기 원할때. logging change 를 지원함으로서 시스템 충돌이 난 경우에 대해 해당 command를 재시도 할 수 있다. Command 객체에 load 와 store operation을 추가함으로서 change의 log를 유지할 수 있다. crash로부터 복구하는 것은 디스크로부터 logged command를 읽어들이고 Execute operation을 재실행하는 것은 중요 부분이다.
          * 기본명령어들를 기반으로 이용 하이레벨의 명령들로 시스템을 조직할 때. 그러함 조직은 transaction을 지원하는 정보시스템에서 보편화된 방식이다. transaction은 데이터의 변화의 집합을 캡슐화다. CommandPattern은 transaction을 디자인하는 하나의 방법을 제공다. Command들은 공통된 인터페이스를 가지며, 모든 transaction를 같은 방법으로 invoke할 수 있도록 다. CommandPattern은 또 새로운 transaction들을 시스템에 확장시키기 쉽게 다.
          - 수행할 operation을 위 인터페이스를 선언다.
          - Receiver 객체와 action 묶음을 정의다.
          - ConcreteCommand 객체를 만들고 receiver로 정다.
          - command 에게 request를 수행하도록 요청다.
          - 처리할 request에 대해 명령어들을 어떻게 수행해야 할지 알고 있다. 어떠 클래스든지 Receiver로서 활동가능하다.
          * client는 ConcreteCommand 객체를 만들고, receiver를 정다.
  • 이영호/64bit컴퓨터와그에따른공부방향 . . . . 85 matches
         현재 머리가 제정상은 아니지만 다시 다른 충격적인 것을 목격바 짧은 고민 끝에 공부 방향을 바꾸기로 했다.
         연륜과 많은 공부 때문이 아니라 컴퓨터 구조 자체에 대 깊은 이해를 바탕에 둔 듯하다.
         내가 이러 방식으로 공부를 하면 그들을 따라 잡을 수 있을까? 결코 불가능하다.
         컴퓨터 구조를 자세히 알고 어셈블리를 자유자재로 다루며 그러 실력으로 32비트
         그들과 나의 사이엔 큰 장벽이 있음을 실감다.
         때문에 완전 64bit 체제가 자리 잡기 전까진 32비트 체제의 지식을 내것으로 만들어야다.
         이것은 패러다임을 따르는 입장에서 32bit를 버려야다는 뜻이된다.
         Assembly이다. Assembly를 현재 나와 있는 가장 발전된 언어라 생각하고 Assembly를 누구보다 깊게 파고 들어야다.
         (C를 사용할 시 Inline Assmbly만을 허용다.)
         몇가지 질문을 다면 (활동 영역을 아마 시스템 프로그래머 분야로 잡은 것 같아서, 좋아하는 분야를 공부하는 것에 대해서는 큰 이견이 없습니다.)
          * C++ 혹은 더 나아가 C++ 보다 속도상으로 느린 스크립트 언어를 쓰는 사람은 C++ 개발자들보다 덜 우수할까요? (위의 Assembly > C++ 로 평가것으로 봐서는, 퍼포먼스와 하드웨어 제어 용이성 관점에서 Assembly 를 평가 것 같습니다만) C++ 개발자들 혹은 더 나아가서 Java 나 Python 과 같은 개발자들이 Assembly 와 같은 low level 제어성을 포기하는대신 얻어간 것은 어떤 것일까요?
          └저도 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를 공부하지 않은 사람의 계는 언젠가는 드러나게 되죠.
         전 어제 제가 평생 해도 따라가지 못할것 같은 사람을 보았습니다. 그 사람과의 벽이랄까요. 물론 그분이 연륜이 있으시지만 컴퓨터 자체에 대 기초적이고 깊은 지식은 따라가질 못하겠습니다. 그분의 소싯적에 C언어로만 짠 프로그램들은 컴퓨터에 대 깊은 이해가 없으면 불가능 것들이었습니다. 그분이 Assembly를 배우지 않고 C를 처음부터 만졌다면 어땠을까요? 그런 프로그램들을 짤 수 있었을까요? 이상, 우물 밖으로 튀어나온 개구리였습니다.
         (64 비트로 변할 때에는 프로그래머가 3가지 아키텍쳐(32비트 때에는 32비트 아키텍쳐 가지)에 대 것을 모두 생각해야하기 때문에 32비트만 취급할 수는 없겠죠. 호환성때문에. 결국 64비트 아키텍쳐에도 공부할 시간을 할애해야하고 32비트의 공부시간이 줄어든다는 말이었습니다.) - [이영호]
         이러고 보니 현직 프로그래머들의 싸움이 되고 있군요. System 프로그래머와 일반 Application 프로그래머의 싸움. 가지... 모두가 다 그런것은 아니겠지만, 전 Coder에 머무르고 싶지는 않습니다. 저 높은 수준까지는 아니더래도 Programmer로서 Guru정도의 위치에는 가고 싶군요. - [이영호]
         그냥 시스템 프로그래머와 어플리케이션 프로그래머의 차이정도로만 생각하겠습니다. 언어 관련 논쟁과 다른 레이어간 논쟁에 대해서는 정말정말 재미없습니다. ^^ 의도하는 바도 아니고요. 단지, '시스템 프로그래머' 컨텍스트가 붙지 않았을 경우에는 다른 사람들에게는 좀 갸우뚱할 상황이여서 쓴 것일 뿐입니다. (그렇다고 시스템에 대 이해의 중요성을 무시하려는것은 당연히 절대로 아니고요.)
         참고로, 어플리케이션 개발쪽에서는 다른 이야기들이 이슈가 됩니다. 순수하게 프로그래밍 부분만을 생각다면(조금 개인적인 생각이 짙습니다만)
         "종국에 C++과 같은 현재 패러다임을 따르는 사람들은 결코 나를 넘지 못하리니..."라는 말이 참이 되는 시점이 있다면 "나 역시 그들을 넘지 못하리니."도 참이 되진 않을까 반문해 보세요. 그리고 만에 하나 그렇게 된다면 거기에 만족할 수 있을까 생각해 보세요. 너무 이른 걱정이려나요? (전문성은 분야를 넘어서까지 적용되지는 않는다는 것이 최근 인지과학이 밝혀낸 사실입니다. 반드시 체스 전문가가 바둑을 특별히 잘두거나, 바둑 전문가가 체스를 뛰어나게 잘두거나 하지는 않습니다. 체스 고수가 특별히 IQ가 높고 암기력이 뛰어나거나 하지도 않고요. 가지를 잘해서 두루 잘하기는 무척 어렵습니다)
  • 데블스캠프2002/진행상황 . . . . 84 matches
         강사/진행자들의 후기 페이지입니다. 이 또 ["ThreeFs"] 를 생각하기 바랍니다. 오늘의 글들이 다음날, 또는 내년에 쓰일것임을 생각하시길. 그날 자신이 했던 일들 (또는 다른 사람이 했던 일들)을 확인하고, 그에 대해서 무엇이 잘되었는지, 왜 잘되었는지, 무엇이 잘 안되었는지, 왜 안되었는지를 확인하고, 앞으로의 대안을 생각해보도록 작성합시다.
          * 일요일, 그리고 목요일, 금요일 동안 지겹도록 풀었을것 같은 RandomWalk 가 이렇게 다양 모습을 보여주었다는 점에선 꼭 푸는 문제 수가 중요하지 않다라는 점을 확신시켜주었다.
          * 마지막 날에 온 사람이 3명. 그리고 문제를 푸는데 참여 사람이 2명 밖에 안남았다는 점은 데블스캠프를 준비 사람들을 좌절하게 다. 그나마 편으로 기뻤던 점은, 아침 7시가 되도록 컴퓨터 하나를 두고 서로 대화를 하며 RandomWalk를 만들어가는 모습을 구경했다는 점. 그 경험이 어떻게 기억될지 궁금해진다.
          게다가 피시실에 서 있는중 중간중간 아이디어가 떠오를때 화이트보드를 쳐다보고 있노나니 내용 없는 빈 보드를 가만히 두고 싶어지지 않는다. 손이 근절근절해지도록 일종의 NoSmok:어포던스 를 제공다고 할까. 칠판과는 다르게 손도 잘 안더러워진다.
          피시실에 컴퓨터만 바꿀 것이 아니라, 화이트보드를 놓는 것도 좋은 피시실 환경을 제공하는데 도움을 주리라 생각다. (과 사무실에서 디지털 카메라를 빌릴 수 있다면 더더욱 좋겠다. 화이트보드로 아이디어를 적고, 디지털 카메라로 찍어서 바로 올리고..)
          * 세미나나 스터디를 준비할때 앞 세미나의 흐름이 연결되었을 경우 그 진행이 더 쉽다. 앞에서의 세미나 내용을 이용하여 설명하면 강사나 학습자나 서로 시간낭비를 줄일 수 있으니까. 추후 이러 세미나 준비를 할때 그 체계성을 고려해야 할 것이다.
         === 일 ===
         우리는 수학문제에 대해 달랑 답만 달아놓으면, 설령 답이 맞더라도 "과정이 없다"고 문제를 틀리기도 다. 프로그램은 최종적인 "답"이다. 우리는 그 답이 나오는 과정에 너무도 무관심하다.
          * OOP를 바로 설명하기 전에 나의 프로그래밍 사고 방식을 깨닫고, StructuredProgramming 의 경우와 ObjectOrientedProgramming 의 경우에는 어떠지, 그 사고방식의 이해에 촛점을 맞추었다.
          * 일단 지난시간에 만들었었던 RandomWalk 의 스펙을 수정 RandomWalk2 를 사람들로 하여금 풀게 뒤, 그 중에 완성 두명을 뽑아 (상규와 현민) 자신이 어떻게 프로그래밍을 했는지에 대해 창준이형의 진행으로 질답을 하면서 설명해나갔다. 그리고 코드를 프로젝터와 노트북을 이용, 신피의 벽에 비추며 설명하였다. (["RandomWalk2/상규"], ["RandomWalk2/현민"])
          * ["RandomWalk2"] 를 ObjectOrientedProgramming 으로 구현하기 - 위의 Python 관련 실습동안 ["1002"] 는 ["RandomWalk2"] 에 대해서 C++ Prototype을 작성. (["RandomWalk2/ClassPrototype"]) 이를 뼈대로 삼아서 ["RandomWalk2"] 를 작성해보도록 실습. 해당 소스에 대 간략 설명, 구현의 예를 설명. 중간에 객체들에 대 독립적인 테스트방법을 설명하면서 assert 문을 이용 UnitTest 의 예를 보였다.
         Python으로 만든 스타크래프트 놀이는 참가자들이 무척이나 좋아했다. 또 그 직전에 Python Interactive Shell에서 간단하게 남자, 여자, 인간 클래스를 직접 만들어 보게 것도 좋아했다. 아주 짧은 시간 동안에 OOP의 "감"을 느끼게 해주는 데 일조를 했다고 본다.
         또, JuNe과 ["1002"]의 CrcCard 세션을 (마치 주변에 사람이 없는 듯 가정하고) 보여줬던 것도 좋은 반응을 얻었다(원래는 ["1002"]가 혼자 문제를 푸는 과정을 보여주려고 했다가 JuNe이 보기에 두 사람의 협력 과정을 보여주는 것도 좋을 듯 했고, 분위기가 약간 지루해 지거나 쳐질 수 있는 상황이어서 중간에 계획을 바꿨다.) 선배들이 자신이 풀어놓은 "모범답안"으로서의 코드 자체를 보여주는 것은 했어도 분석하고 디자인하고, 프로그래밍 해나가는 과정을 거의 보여준 적이 없어서, 그들에게 신선하게 다가간 것 같다.
         또, 동일 문제를 여러번 하는 것의 교육적 효과를 다시금 확신하게 되었다. 내용이 이어지고 연계가 되니, "현재의 주제를 벗어난 것들에 에너지를 덜 소모하면서" 많은 학습이 가능했다. 최소 문제를 매번 새로 설명하고, 그걸 이해시키게 하는 시간은 주제가 바뀔 때마다 아낄 수 있었다.
         참가자들 중 대표로 몇 명의 코드를 프로젝터를 통해 직접 보면서 하나 하나 짚어 나갔다. 그 사람이 어떤 순서로 프로그램을 만들었고, 어떤 의도에서 이걸 이렇게 했는지. 줄 정말 "많은 것을 가르쳐주고, 배울 수 있겠다" 하는 생각이 들었다. 우리는 "교사/정답에게서만 배운다"는 사고에서 자유로워질 필요가 있다.
          * 어떤 만화에서 보면 스승이 춤을 지도할때 재현성에 대해 이야기다. '극장에 가득찬 관중들 앞에서, 당신은 "오늘은 신이 내리지 않았습니다" 라고 사과할 셈인가요?" 세계의 정상엔 최고의 춤에 '재현성'을 가지고 있습니다. 의식하십시오. 발가락, 발바닥, 모든 근육들을.'
         과정을 의식하고 행다는 것은 그런것 같다. 문제 SPEC을 받았을때부터 코드의 끝까지. 잘못된 부분을 의식하지 않으면 끝까지 고칠수 없다. 문제 자체가 드러나지 않으면 문제를 풀 수 없으니까. 문제가 나를 지배하기 전에 내가 문제들을 지배하려면. 하나하나 나의 제어영역으로 들어오도록 해야겠다. 이름상으로는 세미나의 진행자로 올랐지만, 이 시간만큼 나는 세미나 진행자인 동시에 배우는 사람일 수 있었다.
          * '''Pair Teaching''' 세미나를 혼자서 진행하는게 아닌 둘이서 진행다면? CRC 디자인 세션이라던지, Structured Programming 시 명은 프로그래밍을, 명은 설명을 해주는 방법을 해보면서 '만일 이 일을 혼자서 진행했다면?' 하는 생각을 해본다. 비록 신입회원들에게 하고싶었던 말들 (중간중간 팻감거리들;) 에 대해 언급하진 못했지만, 오히려 세미나 내용 자체에 더 집중할 수 있었다. (팻감거리들이 너무 길어지면 이야기가 산으로 가기 쉽기에.) 그리고 내용설명을 하고 있는 사람이 놓치고 있는 내용이나 사람들과의 Feedback 을 다른 진행자가 읽고, 다음 단계시 생각해볼 수 있었다.
         ["RandomWalk2"]를 풀 때 어떤 사람들은 요구사항에 설명된 글의 순서대로(예컨대, 입력부분을 만들고, 그 다음 종료조건을 생각하고, ...) 생각하고, 또 거의 그 순서로 프로그래밍을 해 나갔다. 이 순서가 반드시 최선은 아닐텐데, 그렇게 이유는 무엇일까. 두가지 정도를 생각해 볼 수 있겠다.
         하나는 사람들이 별다른 외현화를 하지 않고 바로 프로그래밍에 들어갔기 때문이다. 외현화라는 것은 자기 생각을 머리 바깥에 표현하는 것을 말다. 다이어그램을 그리거나, 글을 쓰거나 해서 표식을 남기는 것이다. 외현화가 필요 이유는, 사람의 단기기억 장치는 상당히 작은 수의 것들만 기억할 수 있기 때문에 일종의 "보조기억장치"를 통해 기억부담을 줄여야 하기 때문이다. 그런데, 미리 문제이해/분석/기획시에 특별히 자신이 이해하고 계획 문제풀이를 외현화하지 않았기 때문에, 프로그래밍을 하는 중엔 유일 보조물인 "요구사항"을 그대로 보고 따라하게 된 것이 아닐까 생각다. 만약 문제를 보고 분석을 하면서 간단 다이어그램을 그려뒀고, 그것을 참조하면서 프로그래밍했다면, "좀 더 바람직 순서"를 택할 수 있지 않았을까.
  • CToAssembly . . . . 83 matches
         이는 하드웨어만을 고려 것이다. 모든 마이크로컴퓨터 시스템은 하드웨어 구성요소들의 작업을 지시할 소프트웨어가 필요하다. 컴퓨터 소프트웨어는 시스템측(시스템 소프트웨어)과 사용자측(사용자 소프트웨어)으로 구분할 수 있다.
         프로그램을 실행하기위해 필요 함수들을 모아둔 기본 라이브러리나 사용자가 만든 라이브러리는 사용자 소프트웨어에 포함된다.
         고급언어 변환기, 어셈블러, 편집기, 다른 프로그램을 만드는 작업을 돕는 프로그램들이 시스템 소프트웨어에 속다. 우리는 이미 프로그래밍에는 기계어, 어셈블리어, 고급언어 세 단계가 있음을 안다.
         기계어 프로그램은 컴퓨터가 이해하고 직접 실행할 수 있는 프로그램이다. 어셈블리어 명령어는 기계어 명령어와 보통 일대일 관계로 대응하지만, 우리가 쉽게 이해할 수 있는 문자열을 사용다. 고급언어 명령어는 영어에 매우 가까워서 프로그래머가 생각하는 방식과 자연스럽게 대응다. 결국 어셈블리어나 고급언어 프로그램은 변환기라는 프로그램에 의해 기계어로 변환되야 다. 이 변환기를 각각 어셈블러(assembler), 컴파일러(compiler) 혹은 인터프리터(interpreter)라고 다.
         C/C++같은 고급언어의 컴파일러는 고급언어를 어셈블리코드로 변환할 수 있다. GNU C/C++ 컴파일러의 -S 옵션은 프로그램 소스에 해당하는 어셈블리코드를 생성다. 반복, 함수 호출, 변수 선언과 같은 기본적인 구조가 어셈블리어로 어떻게 대응하는지 알면 C 내부를 이해하기 쉽다. 이 글을 이해하기위해서는 컴퓨터구조와 Intel x86 어셈블리어에 익숙해야 다.
         먼저 hello world를 출력하는 간단 C 프로그램을 작성하고, -S 옵션으로 컴파일다. 입력파일에 대 어셈블리코드를 얻을 수 있다. GCC는 기본적으로 확장자 `.c'를 `.s'로 변경하여 어셈블러파일명을 짓는다. 어셈블러파일 끝의 몇줄을 해석해보자.
         80386 이상 프로세서에는 많은 레지스터와 명령어, 주소지정방법이 있다. 그러나 간단 명령어 몇개만 좀 알아도 GNU 컴파일러가 만드는 코드를 충분히 이해할 수 있다.
         일반적으로 어셈블리어 명령어는 라벨(label), 연상기호(mnemonic), 연산수(operand)로 구성된다. 연산수 표시방법에서 연산수의 주소지정방식을 알 수 있다. 연상기호는 연산수에 저장된 정보에 작업을 다. 사실 어셈블리어 명령어는 레지스터와 메모리위치에 작업을 다. 80386계열은 eax, ebx, ecx 등의 (32비트) 범용레지스터를 가진다. 두 레지스터, ebp와 esp는 스택을 조작할때 사용다. GNU Assembler (GAS) 문법으로 작성 전형적인 명령어는 다음과 같다:
         이 명령어는 eax 레지스터에 값 10을 저장다. 레지스터명 앞의 `%'와 직접값(immediate value) 앞의 '$'는 필수 어셈블러 문법이다. 모든 어셈블러가 이런 문법을 따르는 것은 아니다.
         목록 1은 first.s 파일에 저장 우리의 첫번째 어셈블리어 프로그램이다.
         프로그램의 첫번째 줄은 주석이다. 어셈블러 지시어 .globl은 심볼 main을 링커가 볼 수 있도록 만든다. 그래야 main을 호출하는 C 시작라이브러리를 프로그램과 같이 링크하므로 중요하다. 이 줄이 없다면 링커는 'undefined reference to symbol main' (심볼 main에 대 참조가 정의되지않음)을 출력다 (번 해봐라). 프로그램은 단순히 레지스터 eax에 값 20을 저장하고 호출자에게 반환다.
         다음 목록 2 프로그램은 eax에 저장된 값의 계승(factorial)을 계산다. 결과를 ebx에 저장다.
         복잡 프로그램을 만들때 우리는 해결할 문제를 체계적으로 나눈다. 그리고 필요할때마다 호출할 함수를 작성다. 목록 3은 어셈블리어 프로그램의 함수 호출과 반환을 보여준다.
         일반적으로 함수는 함수가 사용할 변수들을 정의다. 이 변수들을 유지하려면 공간이 필요하다. 함수 호출시 변수값을 유지하기위해 스택을 사용다. 프로그램 실행중에 반복되는 재귀호출시(recursive call) activation record가 유지되는 방법을 이해하는 것이 중요하다. esp나 ebp같은 레지스터 사용법과 스택을 다루는 push와 pop같은 명령어 사용법은 함수호출과 반환방식을 이해하는데 중요하다.
         프로그램의 메모리 일부를 스택으로 사용하기위해 비워두었다. Intel 80386 이상의 마이크로프로세서에는 스택 최상위 주소를 저장하는, 스택포인터(stack pointer)라는 esp 레지스터가 있다. 아래 그림 1은 스택에 저장된 세 정수값 49, 30, 72를 보여준다 (정수는 각각 4 바이트를 차지다). esp 레지스터는 스택 최상위 주소를 저장다.
         위로 쌓여가는 벽돌과 달리 Intel 컴퓨터의 스택은 아래방향으로 자란다. 그림 2는 명령어 pushl $15를 실행후 스택을 보여준다.
         스택포인터 레지스터는 4만큼 감소하고, 숫자 15를 4 바이트(주소 1988, 1989, 1990, 1991)에 저장다.
         명령어 popl %eax는 스택 최상위에 있는 값(4 바이트)을 eax 레지스터에 복사하고 esp를 4만큼 증가다. 만약 스택 최상위에 있는 값을 레지스터에 복사하고 싶지 않다면? 명령어 addl $4, %esp를 실행하여 스택포인터만 증가하면 된다.
         목록 3에서 명령어 call foo는 호출을 마친후 실행할 명령어의 주소를 스택에 넣고 foo로 분기다. 함수는 ret에서 끝나고, 실행을 스택 최상위에서 가져온 주소에 있는 명령어로 옮긴다. 물론 스택 최상위에 유효 반환주소가 있어야 다.
         레지스터 개수가 적기때문에 프로그램의 모든 변수를 레지스터에 담을 수는 없다. 지역변수는 스택에 위치다. 목록 4가 그 방법을 보여준다.
  • JavaNetworkProgramming . . . . 83 matches
         *'''책은 반정도 보왔는데. 2월달안에 나머지를 볼수 있다.'''
          *네트워크관 기초지식들이 나온다. (TCP/IP,UDP.등등을 소개)
          *본질적 성격을 띄는 로우 레벨 보안 : 네트워크를 통해서 읽혀진 바이트코드의 무결성과 관련 매우중요 부분이긴하나 프로그래머가 직접적으로 세세하게 알필요없음
          *그외 URL프로토콜,IP멀티캐스트,DNS,방화벽,HTTP 프록시 서버,SOCKS,방화벽 내부의 DNS에 관해 간단 설명 나옴
          *보통 자바책에서 볼수있는 정도의 예외처리에 관 설명이 나와있음
          *간단 사용자 예외
          public class AuthException extends IOException{ //사용자 예외를 정의할때 적당 예외 클래스의 서브클래스가 되는것이 중요
          } //당연 얘기지만 IOException을 처리하는 다른 모든 코드에서 처리될수있다.
          *다중 쓰레딩은 자바 네트워크 프로그래밍에서 매우 중요 부분이다. ^^;;
          *동기화(Synchronization) : 동기화란 여러 쓰레드가 동시에 작업할 떄 각 쓰레드의 작업 순서를 제어하기 위 메커니즘이다.
          *자바에서 코드의 특정 부분을 번에 쓰레드만이 접근할수 있도록 해주기위해 synchronized 문장을 사용
          //중요 코드들
          *세마포어(semaphores) : 세마포어란, 자바 객체가 아니라 특별 형태의 시스템 객체이며, 이객체는 '얻기(get)'와 '놓기(release)'라는 두 가지 기능을 가지고 있다 순간에, 오직 하나의 쓰레드만이 세마포어를 얻을 수 있으며(get), 쓰레드가 세마포어를 가지고 있는 동안 세마포어를 얻으려고 시도 다른 쓰레드들은 모두 대기 상태에 들어간다. 다시 쓰레드가 세마포어를 놓으면(release) 다른 쓰레드가 세마포어를 얻고(get) 다시 대기상태로 들어간다. 이런 매커니즘을 사용하여 특정 작업을 동기화 할수있다.
          *동기화의 효율 : 대부분의 경우 동기화 작업은 매우 중요하며, 때로는 적대 생략해서는 안되는 경우도 있다. 그러나 불필요 동기화 작업은 프로그램의 수행 성능을 떨어뜨리고, 재사용성을 감소시키며, 프로그램이 교착 상태에 빠지게 할 수도 있다.
          execution = new Thread(this); //Runnable 인터페이스를 구현 것을 넣어줌
          execution = null; //쓰레드가 크리티컬 섹션을 수행하는 도중 이 메소드가 호출되는 경우,중요 데이터에 다른 쓰레드가 영영 접근할수 없는
          *Thread 통지(notification)메소드 : 주의해야 할 점은, 이 메소드들 호출하는 쓰레들이 반드시 synchronized 블록으로 동기화 되어야 다는 점이다.
          *효과적인 다중 쓰레딩 : 자바에서 쓰레드를 생성하는 것은 매우 느린 작업이며 일부 자바 가상 머신은 쓰레드에 관련된 메모리 누스 때문에 고생하기도 다. 따라서 효과적인 쓰레딩을 위해서는 새로 쓰레드르 생성하는 것 보다 이전에 생성했던 쓰레드 객체를 재사용하느 것이 좋다 진보된 형대의 자바 가상 머신에서는 시스템 레벨에서 이러 쓰레드 재사용을 지원하기도 하지만, 이경우조차도 쓰레드를 재상용하는 방식을 사용하면 여러가지 이점을 얻을수 있다. --예제는 17장쯤에..
          *6장 : 스트림을 사용 파일 처리 프로그램밍의 진수
          *7장 : 필터를 이용 스트림의 확장 기법
  • 새싹교실/2012/startLine . . . . 82 matches
          * 변수 선언과 사칙연산만 시점에서 어떤 과제를 내야 할지 딱히 떠오르는 것이 없어서 이번에는 패스.
          * 일단 재현이가 기존에 C를 어느 정도 공부했는지를 확인하기 위 시간이라 따로 과제를 준비하지 못 했음.
          * 서민관 - 간단하게 재현이가 C문법 알고있는 부분 알아보기, 함수 만들어보기, 전체적인 계획 설명, gcc 사용법. 일단 제어문과 간단 함수 문법까지도 알고 있는 것 같다. 어제 일도 있어서 긴장을 많이 했는데 그래도 생각보다 어렵지는 않았다. 앞으로는 좀 더 예제등을 준비해야겠다.
          * 간단 제어문 실습.
          * 박환희 - 오늘은 제어문에 대 내용을 배웠고 느낌은 마음이 편하였고 제어문에는 이러 종류가 있다는것을 알았고 앞으로 문법을 좀더 익혀야겠다는것을 생각했습니다.
          * 서민관 - 제어문의 사용에 대 수업(if문법, switch.. for...) 몇몇 제어문에서 주의해야 할 점들(switch에서의 break, 반복문의 종료조건등..) 그리고 중간중간에 쉬면서 환희가 약간 관심을 보인 부분들에 대해서 설명(윈도우 프로그래밍, python, 다른 c함수들) 저번에 생각보다 진행이 매끄럽지 않아서 이번에도 진행에 대 걱정을 했는데 1:1이라 그런지 비교적 진행이 편했다. 그리고 환희가 생각보다 다양 부분에 관심을 가지고 질문을 하는 것 같아서 보기 좋았다. 새내기들이 C를 배우기가 꽤 힘들지 않을까 했는데 의외로 if문이나 for문에서 문법의 이해가 빠른 것 같아서 좀 놀랐다. printf, scanf나 기타 헷갈리기 쉬운 c의 기본문법을 잘 알고 있어서 간단 실습을 하기에 편했다.
          * 간단 예제.
          * 간단 이전 시간(if문, 반복문)의 복습과 배열의 사용에 대해 알아보았다. 그리고 이번 시간에 주로 내용은 함수가 왜 필요지와 함수를 만드는 법, 함수를 사용하는 법 등이었다. 개인적으로는 함수를 꽤 중요하게 생각하는 만큼 함수의 필요성을 잘 캐치해 줬으면 좋겠다. 그리고 새삼 드는 생각이지만 환희의 질문이 중요 부분을 잘 찌른다는 생각이 든다. 별다른 언급도 없었는데 함수 내에서 변수의 scope나 함수 내부의 이름 겹침 등에 대 질문이 있었다. 그리고 중간에 함수 사용의 예제로 printf문을 약간 이상하게 쓴 코드를 보여줬는데 의외로 감을 잘 잡은 것 같았다. 현재 진행상황으로는 다음에 포인터를 다뤄야 할텐데 함수를 쓰는 것을 조금 더 연습을 시킬지 바로 포인터를 나갈지 고민이다. 당장 포인터를 했다가 어려워하지 않을까 모르겠다. - [서민관]
          * 재현, 성훈이의 함수에 대 지식 확인.
          * malloc 함수를 이용 메모리 할당.
          * 처음에 간단하게 재현, 성훈이의 함수에 대 지식을 확인했다. 그 후에 swap 함수를 만들어 보고 실행시의 문제점에 대해서 이야기를 했다. 함수가 실제로 인자를 그대로 전달하지 않고 값을 복사다는 것을 이야기 후에 포인터에 대 이야기로 들어갔다. 개인적으로 새싹을 시작하기 전에 가장 고민했던 부분이 포인터를 어떤 타이밍에 넣는가였는데, 아무래도 call-by-value의 문제점에 대해서 이야기를 하면서 포인터를 꺼내는 것이 가장 효과적이지 않을까 싶다. 그 후에는 주로 그림을 통해서 프로그램 실행시 메모리 구조가 어떻게 되는지에 대해서 설명을 하고 포인터 변수를 통해 주소값을 넘기는 방법(call-by-reference)을 이야기했다. 그리고 malloc을 이용해서 메모리를 할당하는 것과 배열과 포인터의 관계에 대해서도 다루었다. 개인적인 느낌으로는 재현이는 약간 표현이 소극적인 것 같아서 정확히 어느 정도 내용을 이해했는지 알기가 어려운 느낌이 있다. 최대 메모리 구조를 그림으로 알기 쉽게 표현했다고 생각하는데, 그래도 정확 이해도를 알기 위해서는 연습문제 등이 필요하지 않을까 싶다. 성훈이는 C언어 자체 외에도 이런저런 부분에서 질문이 많았는데 아무래도 C언어 아래 부분쪽에 흥미가 좀 있는 것 같다. 그리고 아무래도 예제를 좀 더 구해야 하지 않을까 하는 생각이 든다. - [서민관]
          * 포인터의 기초와 포인터를 이용 swap 함수 구현, 값 변환. 그리고 malloc의 형태 기초와 좀 더 쉽게 쓰는 법 익힘. 다음엔 malloc을 이용 응용프로그램 구현을 해보고 싶다. - [최재현]
          * 추가적으로 환희의 질문들에 대 대답과 기타.
          * 개인적으로 현재 시점에서 과제를 낸다면 C의 문법을 익히기 위 과제를 준비할 것 같은데 환희가 현재 시점에서 C 문법을 나름대로 잘 쓰는 만큼 그렇게까지 무리해서 과제를 낼 필요는 없지 않을까 싶다. 사실 언제쯤부터 어떤 과제들을 내야 할지 정확히 감이 안 잡히는 것도 있지만... - [서민관]
          * 저번시간에 했던 swap 함수에 대해서 간단하게 복습을 하고 swap 함수의 문제점에 대해서 짚어보았다. 그리고 포인터의 개념과 함수에서 포인터를 사용하는 방법 순으로 진행을 해 나갔다. 새삼 느끼는 거지만 call-by-value의 문제점을 처리하기 위해서 포인터를 들고 나오는 것이 가장 직접적으로 포인터의 필요성을 느끼게 되는 것 같다. 그리고 개념의 설명을 하기에도 편 것 같고. 그 후에는 포인터에 대 부분이 일단락되고 성훈이나 재현이처럼 malloc이나 추가적인 부분을 진행할 예정이었는데 환희가 함수의 사용에 대해서 질문을 좀 해 오고 그 외에도 약간 다른 부분을 다루다 보니 진도가 약간 늦어졌다. 그래도 포인터에서는 이해가 가장 중요하다고 생각하는 만큼 조금 천천히 나가는 것도 괜찮다고 본다. 그리고 앞으로의 목표는 일단 처음에 잡아둔 목표까지 무사히 완주하는 것이다. 원래 첫 진도 예정에 다양 것들이 담겨있는 만큼 목표만 이루어도 충분히 괜찮은 C 실력이 길러지지 않을까 싶다. - [서민관]
          * 포인터에 대 대략적인 개념 - 복잡하지만 숙달되면 나아질듯 합니다.
         특히 heap과 stack에 대 깊은 이해를 할 수 있었네요.
         그래도 역시 개념만 충실 상태라 좀 많은 예제를 다뤄볼 수 있었으면 좋겠네요
          * 포인터 변수에 값을 주어 초기화 하려면 어떻게 해야 하는가(malloc 함수의 사용)와 메모리 해제(free 함수)에 대 이야기를 했다. 그리고 배열과 포인터에 대 이야기를 했는데, 배열도 결국 연속된 메모리를 잡는다는 점에서 포인터와 같고 값의 참조도 포인터 변수와 똑같이 할 수 있다는 것을 다뤘다. 그 후에는 포인터 변수(배열)를 인자로 받는 함수를 만드는 법을 배우고, 배열을 인자로 받을 때는 반드시 길이를 관리해줘야 다는 이야기를 했다. - [서민관]
          * 포인터 2회차. 포인터 변수에 대해서 잠깐 리뷰를 하고 그 후에 구조체와 typedef에 대해서 다루었다. 그리고 구조체를 인자로 받는 함수에 대해서도 다루었다. 그 후에 typedef int* SOMETHING이라는 표현을 써서 이중 포인터에 대해서 이야기를 해 봤는데, 이쪽은 역시 약간 난이도가 있는 것 같다. 특히 int **twoDim에서 twoDim[0]에 다시 malloc을 해 줘야 다는 부분이 어려운 것 같다. 차근차근 해보자. 개인적으로 성훈이가 가르친 부분들을 잘 따라오려고 다는 것을 (*s).age에서 느꼈다. ->연산자가 아니라 *연산자 후에 .연산자로 내용물을 참조다는 것은 나름대로 메모리의 구조를 생각하려고 애를 썼다는 얘기다. 좀 고마웠다. - [서민관]
  • 회원자격 . . . . 81 matches
          * ZeroPage의 회원으로 인정하기 위 자격을 함께 이야기하고 싶어서 페이지를 열었습니다.
         2. ZeroWiki 개인 페이지에 '정회원 승격 조건'의 번호와 그에 대 '목록, 일시, 주제' 등 작성
         4. 운영진이 정기적으로 게시판을 확인 후 신청 내용에 따라 등급을 조정해드립니다.
          오프라인과 특수 상황 기반 온라인 성격의 모임은 모두 1번의 모임을 1회 참여로 간주합니다.
          * 주요 행사란, '새싹교실', '강 나들이', '새싹톤', '코드레이스', '데블스 캠프', '모꼬지', '엔젤스 캠프', '기년회' 등을 뜻합니다.
          * 군휴학 후 복학 회원은 면제 (현재 기준 2023학년도 복학)
          * 주요 행사란, '새싹교실', '강 나들이', '새싹톤', '코드레이스', '데블스 캠프', '모꼬지', '엔젤스 캠프', '기년회' 등을 뜻합니다.
         2. ZeroWiki 개인 페이지에 '정회원 승격 조건'의 번호와 그에 대 '목록, 일시, 주제' 등 작성
         4. 운영진이 정기적으로 게시판을 확인 후 신청 내용에 따라 등급을 조정해드립니다.
          오프라인과 특수 상황 기반 온라인 성격의 모임은 모두 1번의 모임을 1회 참여로 간주합니다.
         2. ZeroWiki의 개인 페이지에 '정회원 승격 조건'의 번호와 그에 대 '목록, 일시, 주제' 등을 작성해주시기 바랍니다.
         4. 2를 완료 경우 https://zeropage.org/hello 에서 공지의 양식에 따라 등급 조정을 신청해주시기 바랍니다.
         5. 운영진이 정기적으로 게시판을 확인 후 신청 내용에 따라 등급을 조정해드립니다.
          오프라인과 특수 상황 기반 온라인 성격의 모임은 모두 1번의 모임을 1회 참여로 간주합니다.
         2. 1을 충족 상태에서 '정회원 승격 조건' 중 1개 이상 충족
         2. ZeroWiki의 개인 페이지에 '정회원 승격 조건'의 번호와 그에 대 '목록, 일시, 주제' 등을 작성해주시기 바랍니다.
         4. 2를 완료 경우 https://zeropage.org/hello 에서 공지의 양식에 따라 등급 조정을 신청해주시기 바랍니다.
         5. 운영진이 정기적으로 게시판을 확인 후 신청 내용에 따라 등급을 조정해드립니다.
          오프라인과 특수 상황 기반 온라인 성격의 모임은 모두 1번의 모임을 1회 참여로 간주합니다.
         2. 1을 충족 상태에서 '정회원 승격 조건' 중 1개 이상 충족
  • Gof/Composite . . . . 79 matches
         부분-전체 계층구조를 표현하기 위해 객체들을 트리구조로 구성다. Composite 는 클라이언트로 하여금 각각의 객체들과 객체의 묶음을 동일 방법으로 처리하게 해준다.
         드로우 에디터나 회로설계 시스템과 같은 그래픽 어플리케이션은 단순 컴포넌트들의 차원을 넘어서 복잡 도표들을 만들어내는데 이용된다. 사용자는 더 큰 컴포넌트들을 형성하기 위해 컴포넌트들을 그룹화할 수 있고, 더 큰 컴포넌트들을 형성하기 위해 또 그룹화 할 수 있다. 단순 구현방법으로는 Text 나 Line 같은 그래픽의 기본요소들에 대 클래스들을 정의 뒤, 이러 기본요소들에 대해 컨테이너 역할을 하는 다른 클래스에 추가하는 방법이 있다.
         하지만, 이러 접근방법에는 문제점이 있다. 비록 대부분의 시간동안 사용자가 개개의 객체들을 동일하게 취급다 하더라도, 이러 클래스들을 이용하는 코드는 반드시 기본객체와 컨테이너 객체를 다르게 취급하여 코딩해야 다는 점이다. 이러 객체들의 구별은 어플리케이션을 복잡하게 만든다. CompositePattern은 객체들에 대 재귀적 조합 방법을 서술함으로서, 클라이언트들로 하여금 이러 구분을 할 필요가 없도록 해준다.
         CompositePattern의 핵심은 기본요소들과 기본요소들의 컨테이너를 둘 다 표현하는 추상 클래스에 있다. 그래픽 시스템에서 여기 Graphic class를 예로 들 수 있겠다. Graphic 은 Draw 와 같은 그래픽 객체들을 구체화하는 명령들을 선언다. 또 Graphic 은 Graphic 의 자식클래스들 (tree 구조에서의 parent-child 관계)에 대해 접근하고 관리하는 명령들과 같은 모든 composite 객체들이 공유하는 명령어들을 선언다.
         Line, Rectangle, Text 와 같은 서브 클래스들은 (앞의 class diagram 참조) 기본 그래픽 객체들을 정의다. 이러 클래스들은 각각 선이나 사각형, 텍스트를 그리는 'Draw' operation을 구현다. 기본적인 그래픽 구성요소들은 자식요소들을 가지지 않으므로, 이 서브 클래스들은 자식요소과 관련된 명령들을 구현하지 않는다.
         Picture 클래스는 Graphic 객체에 대 포함관계를 정의다. Picture 는 Picture의 children의 Draw 메소드를 호출하게끔 Draw 메소드를 구현다. 그리고 Picture는 child와 관련 명령어들을 알맞게 구현다. Picture 인터페이스는 Graphic의 인터페이스를 형성하므로, Picture 객체는 다른 Pricture들을 재귀적으로 조합할 수 있다.
          * composition 에의 객체들에 대 인터페이스를 선언다.
          * 모든 클래스들에의 기본적인 인터페이스에 대 기본 행위를 구현다.
          * 자식 컴포넌트들을 접근하고 관리하기 위 인터페이스를 선언다.
          * (optional) 재귀 구조에서의 해당 컴포넌트의 부모 클래스로 접근하기 위 인터페이스를 정의하고, 적절하게 구현다.
          * composition의 leaf 객체를 표현다. leaf 는 children를 가지지 않는다.
          * composition 의 기본 객체들의 행위를 정의다.
          * children을 가지는 컴포넌트들을 위 행위를 정의다.
          * 자식 컴포넌트들을 저장다.
          * Component 인터페이스중 자식컴포넌트 관련 명령들을 구현다.
          * Component의 인터페이스를 통해 composition의 객체들을 조작다.
          * 클라이언트들은 Component 클래스의 인터페이스를 이용, composite 구조의 객체들과 상호작용을 다. 만일 상호작용하는 객체가 Leaf인 경우, 해당 요청은 직접적으로 처리된다. 만일 상호작용하는 객체가 Composite인 경우, Composite는 해당 요청을 자식 컴포넌트들에게 전달하는데, 자식 컴포넌트들에게 해당 요청을 전달하기 전 또는 후에 추가적인 명령들을 수행할 수 있다.
          * 기본 객체들과 복합 객체들로 구성된 클래스 계층 구조를 정의다. (상속관계가 아님. 여기서는 일종의 data-structure의 관점) 기본 객체들은 더 복잡 객체들을 구성할 수 있고, 계속적이고 재귀적으로 조합될 수 있다. 클라이언트 코드가 기본 객체를 원할때 어디서든지 복합 객체를 취할 수 있다.
          * 새로운 종류의 컴포넌트들을 추가하기 쉽게 해준다. 새로 정의된 Composite 나 Leaf 의 서브클래스들은 자동적으로 현재의 구조들과 클라이언트 코드들과 작용다. 클라이언트 코드들은 새로운 Component 클래스들에 대해서 수정될 필요가 없다.
          * 디자인은 좀 더 일반화시켜준다. 새로운 컴포넌트를 추가하기 쉽다는 점이 단점으로 작용하는 경우는 composite의 컴포턴트들로 하여금 제을 두기 힘들다는 점이 있다. 때때로 특정 컴포넌트들만을 가지는 composite를 원할 때가 있을 것이다. Composite 인 경우, 이러을 강제도 두기 위해 type system에 의존할 수 없게 된다. 그 대신 실시간 체크를 이용해야 할 것이다.
  • OpenGL스터디 . . . . 78 matches
         이 페이지는 위키를 연습?할겸 제가 현제 공부중인 openGL내용을 정리하기 위 페이지입니다. 혹시 openGL을 공부하시는 분들은 참고하셔서 도움이 되면 좋겠습니다.
          * openGL을 공부하기전에 이에 필요 간단? 용어와 개념을 간단히 정리하고 들어갑시다.
         {{{: example : 정육각형을 그릴때 모든 변을 그린다면 우리는 뒷면과 앞면을 착각해서 볼 수 있다. 왜냐하면 뒷면에 해당하는 선들이 앞쪽에 위치 선으로 착각할 수 있기 때문이다.
         이런 팝핑현상은 3차원적인 표현을 방해다. 고로 보통 이를 제거하기위해서 뒷면을 그리는 선을 제거하여 3차원적인 표현을 더 생생하게 다. 이렇게 뒷면의 선을 제거하는 방식을 '''은면제거''' 혹은 '''숨겨진 표면 제거'''라고 다.
          * 핵심정리 : 3차원 사물에 대 정보를 가지고 화면(2차원)에 표시하는 것을 '''랜더(render)다'''라고 말하고 랜더링이라고 마디로 말다.
         컴퓨터화면은 2차원이다. 하지만 우리가 3D게임을 할때 보면 그 내용물은 마치 3차원의 물체처럼 보인다. 하지만 실제로는 내용물은 2차원적인 것을 3차원처럼 보이게 만든것뿐이다. 그렇다면 어떻게 2차원적인것을 3차원적인것처럼 보이게 만들 수 있을까? 여러가지 방법이 잇지만 그중에 하나는 원근법을 사용다는 것이다. '''원근법이란 가까히 있는 것은 크게 멀리있는것은 조그마하게 표현하는것을 말다.''' 더 정확히 말하자면 '''선사이의 각도를 조절하여 3차원효과를 내는 기법'''을 말다.
         3차원적인 요소를 더 두드러지게 표현하기 위해서는 쉐이딩을 사용하면 된다. 쉐이딩이란 '''입체적인 물체에 음영이나 색상 밝기 등을 잘 조절하여 표면에 입히는 기법'''을 말다. 이런 기법을 통해서 정육각형같은 경우는 각 면을 도드라지게 표현할 수 있고, 더욱 실감나는 3차원적인 표현을 가능케 다.
         지오메트리(도형)이 증가하면 증가할 수 록 그래픽하드웨어에서 처리해야할 일들은 많아진다. 만약 이렇게 많은 지오메트리(도형)을 일일히 쉐이딩 작업을 다면 실시간 작업이
         필요 경우에는 속도저하에 대 문제가 발생할 수가 있다. 이런점에서 텍스쳐 맵핑은 훌륭 대안책이 될 수 있다. '''텍스쳐 맵핑이란 각 입체 표면에 미리준비해둔 이미지를
         입히는 것을 이야기다.''' 여기서 준비해둔 이미지를 '''텍스쳐'''라고 부르며, 텍스쳐의 각 요소를 '''텍셀''' , 이런 텍셀을 물체의 표면에 맞춰 입히는 작업을 '''필터링'''
         '''블랜딩(blending)'''이란 화면상에 색상과 물체를 혼합하는 효과를 이야기다. 이를 사용하는 곳은 주로 두 이미지가 겹쳐있는 효과를 내기위해서 사용다. 예를 들어
         컴퓨터는 기계어라는 언어라는 이진적인 표현(이진법적인 표현)을 사용다. 마디로 1011001과 같은 표현을 예시로 들 수 있는데, 이 때문에 연속적인 표현을 실질적으로 표현
         하는것이 불가능하다. 선을 그린다고 보면 이는 점들의 집합에 해당할 뿐이고, 보이기에 선일 뿐이지 점들의 조밀 집합에 불가하다. 그리고 컴퓨터에서의 점의
         표현은 사각형의 점으로 표현이되는데 그 이유는 연속적인 표현이 불가 컴퓨터로서는 완전히 동그랗게 이어진 원을 그리기에는 실수표현에 계가 있기 때문이다.(무 소수의
         란 계단현상을 부드럽게 표현해주는 방법을 말다.
          * 실시간 3D는 말그대로 사용자가 화면 구성에 필요 데이터를 입력 즉시 화면에 반영하는 방식을 이야기다. 예를 들어 비행기 시뮬레이션 프로그램이라던가, 게임을 예시로 들 수 있다.
          * 비실시간 3D는 반대로 미리 구성해둔 3D이미지를 화면에 보여주는 방식을 이야기다. 예시로는 애니매이션이나 영화를 들 수 있겠다. 고품질 3D이미지같은 경우는 이를 랜더링하고 구성하는데에만 해도 몇시간이 걸릴 정도로 많은 시간이 소요되는데, 이를 위게 미리 3D이미지를 구성해두고 화면에 띄워주면 즉시 화면에 보여줄 수 있어서 마치 실시간 랜더링 것 처럼 보여줄 수 있다.
         실시간 3D 그래픽을 위 API 프로그래밍 방식에는 즉시모드와 보류모드 두가지 방법이 있다.
          * '''보류모드란, api상에서 미리 어떤 기본적인 도형의 구성방식이나 처리방식이 내부적으로 정해져있는 상태에서 도형을 구성하는 데이터를 API 또는 툴킷에 제공함으로써 도형을 구성(이미지 구성)하는 방식을 이야기다.''' 장면내의 모든 물체들과 그 사이의 관계를 미리 만들어진 데이터 구조로 만들어두는것을 씬그래프(scene graph)라 다.
          * '''즉시모드란, 그래픽 프로세서에 직접적인 명령을 전달해서 상태를 변경시켜 이어지는 모든 명령에 그 상태를 반영하는 방식을 이야기다.''' 이 방식은 위에서 언급 씬그래프에 API의 내부적인 동작에도 이 방식이 쓰인다. 즉시모드에서 이미 실행된 명령은 그 다음 명령에 영향을 받지 않는데 예를 들자면 화면에 하늘에 대 폴리곤을 텍스쳐를 입힌뒤 이 텍스쳐 상태를 해제하고, 땅에 조명효과에를 주기 위해 조명효과 상태를 변경시킨다면, 화면에는 하늘에 미리 구성된 텍스쳐에는 변함이 없으며 하늘에 조명효과가 반영이 되고 땅은 텍스쳐 상태가 반영이 안되고 조명효과에 대 것만 반영이 될 것이다.
  • 책거꾸로읽기 . . . . 77 matches
         [강희경]은 보통 책들이 서두에서는 흥미위주의 간단 이야기를 다루다가 뒤로 갈수록 내용이 어려워지거나 뒷심부족으로 책을 다 읽지 못하는 경우가 많았다. 이 문제점을 해결하는 데 있어서 '''책거꾸로읽기'''가 큰 도움이 되줄 것이라 믿고 번 시도 해본다.
         인도에서 국 기업의 선전과 그 이유를 다룬다. 인도인의 습성이 괴이하기 때문에 인도에서 사업하기가 어렵다고 다. 느릿느릿 여유로움을 가지고 있으며 신용할 수 없다고 다. 국 기업의 선전이유는 인도인들에게 '''이 기업은 너희들의 기업이다. 너희들은 XX인이다.'''라는 마인드를 심어주었기 때문이라고 다.
         인도에서의 사업은 큰 위험이 있기 때문에 번 실수로 휘청거릴 중소기업에겐 벅찬 일이라고 충고다. 대기업과 연계하여 진출할 것을 충고다. 그 밖에 인도에서 사업할 때 주의할 점(ex, 왼손은 조심해서 써라)을 말다.
         * 역시 예상했던 대로 인도에서 사업할 생각이 없는 [강희경]에겐 지루 내용이었다.
         인도의 다양 얼굴을 소개다. 인도는 10억의 인구가 민주주의를 실천하는 국가이다. 선거도 4번에 걸쳐다고 다. 인도는 이러 민주주의 때문에 어떠 일을 진행할 때 너무 오랜 시간이 걸린다는 단점을 가지고 있다.
         인도는 많은 인구 수나 거대 땅덩이나 중국과 비슷 면이 많다. 지금 당장 인도와 중국을 비교하자면 누가봐도 중국이 앞선다. 하지만 인도의 추격도 만만치 않다. 인도의 장래를 밝게 보는 이들은 '''지금은 느려도, 급하게 먹다 배탈 나는 중국을 나중에 추월할 것'''이라고 기대다. 인도에게 높은 점수를 주는 이유 중 하나는 바로 '''영어'''이다. 만약 이 두 나라가 서로 손 잡는다면 어떠할까? 인도의 소프트웨어와 중국의 하드웨어가 결합다면 찰떡궁합일 것이다.
         인도는 종교적 문제로 인해 술을 별로 안마신다. 그런 종교적 색체가 강 나라가 AIDS 2위라는 것은 참 아이러니하다.
         채식을 많이 다.
         * 점점 지겨워지면서 그만 보고 싶어진다. 그래도 '''앞 챕터는 재밌겠지'''라는 생각으로 계속다.
         인프라가 인도경제발전의 발목을 잡는다는 말이 있다. 인도는 정전이 잦다. 게다가 물문제도 심각하다. 인도여행시 물을 조심해야된다. 잘못 마실시에는 설사로 고통받는다. 호텔에서 양치질할 때도 생수로 해야다. 그런 물 조차도 부족하다. 도로사정도 열악하다.
         인도의 가장 큰 적은 무엇일까? 바로 '''가난'''이다. 빈곤퇴치정책으로 좀 줄어들긴했지만 빈부격차 또 심각하다.
         인도는 하나의 나라라고 보기 어려울 정도로 다양 인종과 종교와 언어가 버무려져 있다. 이런 다양함이 묘 균형을 이루며 살아가는 게 인도인데 하나의 종파, 하나의 인종, 하나의 언어만을 이야기다면 이런 균형은 깨지기 쉽다.
         인도인들은 훌륭 관광자원들(ex,타지마할)을 지니고도 그것을 이요해 돈 버는 방법을 잘 모른다. 그 이유로는 오랜 사회주의로 인해 돈 맛을 아직 모르고, 내새를 중시하는 종교문화 때문에 현실을 개선하려는 의지가 부족하다는 점이 있다. 하지만 거꾸로 뒤집어 보면 당장 돈 맛에 눈을 뜨면 돈벌이는 시간 문제라는 이야기가 될 수 있다.
         '''핵탄두를 만들어 소달구지에 끌고 가는 나라가 인도'''라는 우스갯소리가 있다. 인도의 심각 이중성에 대 비아냥거림을 담은 조크다. 하지만 소달구지가 뜻하는 원시성이야 그렇다 치고, 그런 후진성, 원시성을 가졌으면서도 핵탄두를 자체 기술로 만들었다는 사실을 주목해야다. 세련되게 상품화하고 양산하는 기술이 모자랄 뿐이지 원천기술 쪽으로 가면 오히려 많은 부분을 앞서있는 나라가 인도이다.
         인도에서 돈 좀 있다는 상류층 부자들은 대체로 전체의 2퍼센트 정도라고 다. 2퍼센트라고 하지만 10억인구에서 2퍼센트이면 2천만명이라는 것을 명심해야다.
         타타와 릴라이언스라는 국민기업의 설명과 오너들과의 인터뷰 내용을 다뤘다. 대체적으로 깨끗 경영과 사원복지, 인재양성에 힘쓰고, 번 돈의 많은 부분을 사회에 환원다는 것이 보기 좋다.
         * 오랜만에 [전철에서책읽기]를 해서 그런지 술술 읽혔다. 인도의 성공 기업들의 철학을 들어보니 '''성공하는데는 다 이유가 있구나'''라고 느꼈다.
         == Chapter2. IT 신화를 창조 코끼리 ==
         방갈로르는 시 전역이 거대 IT파크같다. 인터내셔널 테크놀로지 파크(ITP)에는 100여개가 넘는 첨단기업들이 둥지를 틀고 있다. 이곳에서 일하는 인원만도 1만2천여명에 이르고, 아메리카온라인멤버스, 제너럴모터스, IBM글로벌서비스등등 입주 회사의 면면이 만만치 않다.
         시장 지향적 정책, 값싸고 풍부 이공계 인력, ITP 같은 편리 시설, 마디로 사업하기에 딱 좋은 도시가 방갈로르이다.
  • SmallTalk/강좌FromHitel/소개 . . . . 76 matches
          Smalltalk에 대 몇 가지 이야기
         이 글은 Smalltalk라는 프로그래밍 언어에 대 몇 가지 중요 이야기를 담고
         Smalltalk White pager"의 내용에 제가 생각 것을 몇 가지 덧붙여서 Smalltalk
         에 대 이야기를 시작해 보려 합니다.
         사실 Smalltalk에 관 국내의 자료는 매우 빈약 편입니다. 이상하게도 우리
         로그래밍 언어의 조상이자 완결판이라고 할 수 있는 Smalltalk에 대 자료는 거
         그러나 90년대에 들어서면서부터 훌륭 공개용 Smalltalk 시스템이 많이 배포되
         고 있으며, 필자가 자료실에 올린 Dolphin Smalltalk 역시 그런 훌륭 개발 환
         이제 미약하나마 저는 Smalltalk에 관 자료를 조금씩 힘닿는 대로 여러분에게
         소개시켜 드릴 것입니다. 물론 번에 많은 양을 드리지는 못하겠지만, 앞으로
         먼저 Smalltalk 언어에 대 기본적인 생각과 철학을 간단히 소개합니다. 흔히들
         Smalltalk에 대해 가지기 쉬운 오해들 또 여기에서 다루도록 하겠습니다. 그래
         서 Smalltalk 언어는 배워볼 만 가치가 있다는 것과 충분히 실제 응용
         요 문제로 대두되었으며, 객체지향 패러다임은 이런 문제를 해결할 수 있는 하
         러 시도들은 기존에 존재하는 패러다임 위에 객체 지향 패러다임을 덧씌운 결
         과를 초래하여, 필요 이상으로 복잡 언어 명세를 만들게 되었으며, 기존의 구
         조적 프로그래밍 습관에 익숙 우리들에게 객체 지향 기법을 구현할 수 있는 생
         (software community)에 의해 매우 중요 객체지향 프로그래밍 환경으로 여겨
         되었습니다. 또 Smalltalk 환경에서 사용되는 많은 개념들이 우리가 현재 사용
         하고 있는 Delphi나 Visual Basic 등에 적용되고 있는 것으로 볼 때, 이러
  • SmallTalk_Introduce . . . . 76 matches
          Smalltalk에 대 몇 가지 이야기
         이 글은 Smalltalk라는 프로그래밍 언어에 대 몇 가지 중요 이야기를 담고
         Smalltalk White pager"의 내용에 제가 생각 것을 몇 가지 덧붙여서 Smalltalk
         에 대 이야기를 시작해 보려 합니다.
         사실 Smalltalk에 관 국내의 자료는 매우 빈약 편입니다. 이상하게도 우리
         로그래밍 언어의 조상이자 완결판이라고 할 수 있는 Smalltalk에 대 자료는 거
         그러나 90년대에 들어서면서부터 훌륭 공개용 Smalltalk 시스템이 많이 배포되
         고 있으며, 필자가 자료실에 올린 Dolphin Smalltalk 역시 그런 훌륭 개발 환
         이제 미약하나마 저는 Smalltalk에 관 자료를 조금씩 힘닿는 대로 여러분에게
         소개시켜 드릴 것입니다. 물론 번에 많은 양을 드리지는 못하겠지만, 앞으로
         먼저 Smalltalk 언어에 대 기본적인 생각과 철학을 간단히 소개합니다. 흔히들
         Smalltalk에 대해 가지기 쉬운 오해들 또 여기에서 다루도록 하겠습니다. 그래
         서 Smalltalk 언어는 배워볼 만 가치가 있다는 것과 충분히 실제 응용
         요 문제로 대두되었으며, 객체지향 패러다임은 이런 문제를 해결할 수 있는 하
         러 시도들은 기존에 존재하는 패러다임 위에 객체 지향 패러다임을 덧씌운 결
         과를 초래하여, 필요 이상으로 복잡 언어 명세를 만들게 되었으며, 기존의 구
         조적 프로그래밍 습관에 익숙 우리들에게 객체 지향 기법을 구현할 수 있는 생
         (software community)에 의해 매우 중요 객체지향 프로그래밍 환경으로 여겨
         되었습니다. 또 Smalltalk 환경에서 사용되는 많은 개념들이 우리가 현재 사용
         하고 있는 Delphi나 Visual Basic 등에 적용되고 있는 것으로 볼 때, 이러
  • Gof/Mediator . . . . 75 matches
         MediatorPattern은 객체들의 어느 집합들이 interaction하는 방법을 encapsulate하는 객체를 정의다. Mediator는 객체들을 서로에게 명시적으로 조회하는 것을 막음으로서 loose coupling을 촉진하며, 그래서 Mediator는 여러분에게 객체들의 interactions들이 독립적으로 다양하게 해준다.
         Object-Oriented 디자인은 객체들 사이의 행위 분산을 장려다. 그런 분산은 객체들 사이에 많은 연관을 지닌 객체 구조로 나타날 수 있다. 최악의 경우에는 모든 객체가 결국 모든 다른 객체들을 알게 된다.
         비록 하나의 시스템에 많은 객체들이 참여하는 것이 일반적으로 재사용성을 강화할지라도 interconnections이 늘어나는 것은 재사용성을 감소시키려는 경향이 있다. 너무나 많은 객체간의 상호 연결들은 객체들의 독립성을 떨어뜨릴 수 있다. - 그런 시스템은 마치 완전히 통일된 것 같이 행동다.
         게다가 하나의 시스템에 많은 객체들이 참여하는 것은 어떤 의미있는 방법으로 시스템의 행위를 바꾸는 것을 어렵게 다. 왜냐하면, 행위는 많은 객체들 사이로 분산되어 졌기 때문이다. 결론적으로 당신은 아마 그런 시스템의 행위를 customize하기 위해서 수많은 subclass들을 정의해야 할 것이다.
         예로써 어떤 GUI상에서 다이얼로그 박스의 구현을 고려해보자. 하나의 다이얼로그 박스는 작은 도구들(버튼, 메뉴, 입력 필드)의 모음을 표현하는 하나의 윈도우를 사용다.
         대게 다이얼로그의 도구들 사이에는 어떤 dependency들이 존재다. 예를 들면, 어떤 버튼은 어떤 입력 필드가 비어있을때는 비활성화 되어있는다. list box라 불리는 선택 목록에서 객체를 선택하는 것은 입력필드의 내용을 바꿀 것이다. 바꿔말하면, 입력필드에 문자를 타이핑하는 것은 자동적으로 리스트 박스에서 하나이상의 대응대는 입력을 선택하는 것이다. 번 텍스트가 입력 필드에 나타나면, 다른 버튼들은 아마 활성화 될것이다. 그래서 사용자가 텍스트로 어떤 일을 하게 하게할 것이다. 예를 들자면, 관련있는 것을 삭제하거나 변경하거나 하는 따위의 일을 할 수 있을 것이다.
         다른 다이얼로그 박스들은 도구들 사이에서 다른 dependency들을 지닐 것이다. 그래서 심지어 다이얼로그들이 똑같은 종류의 도구들을 지닌다 하더라도, 단순히 이전의 도구 클래스들을 재사용 할 수는 없다. dialog-specific dependency들을 반영하기 위해서 customize되어져야 다. subclassing에 의해서 개별적으로 도구들을 Customize하는 것은 지루할 것이다. 왜냐하면 많은 클래스들이 그렇게 되어야 하기 때문이다.
         별개의 mediator 객체에서 집단의 행위로 encapsulate하는 것에 의해서 이런 문제를 피할 수 있다. 하나의 mediator는 객체들 그룹 내의 상호작용들을 제어하고 조정할 책임이 있다. 그 mediator는 그룹내의 객체들이 다른 객체들과 명시적으로 조회하는 것을 막는 중간자로서의 역할을 다. 그런 객체들은 단지 mediator만 알고 있고, 고로 interconnection의 수는 줄어 들게 된다.
         예를 들면, FontDialogDirector는 다이얼로그 박스의 도구들 사이의 mediator일 수 있다. FontDialogDirector객체는 다이얼로그 도구들을 알고 그들의 interaction을 조정다. 그것은 도구들 사이의 communication에서 hub와 같은 역할을 다.
          1. 리스트 박스가 그것의 director에게 그것이 변했다고 말다.
          4. 이제 입력 필드는 어떤 문자를 포함다. director는 행동(글씨를 굵게 하거나 기울이게 하는 따위의 행동)의 초기화를 위해 버튼을 활성화 다.
         director가 리스트 박스와 입력 필드 사이의 조정하는 방법을 요약하자. 도구들은 서로 단지 간접적으로 director을 통해서 통신다. 그들은 서로에 대해서 몰라야 하며, 그들 모두는 director를 알아야 다. 게다가 행위는 클래스에 지역화 되어지기 때문에 행위는 클래스를 확장하거나 교체함으로써 변하거나 바꿔질 수 있다.
         DialogDirect는 다이얼로그의 전체 행위를 정의 추상 클래스이다. client들은 화면에 다이얼로그를 나타내기 위해서 ShowDialog 연산자를 호출다. CreateWidgets는 다이얼로그 도구들을 만들기 위 추상 연산자이다. WidgetChanged는 또 다른 추상 연산자이며, 도구들은 director에게 그들이 변했다는 것을 알려주기 위해서 이를 호출다. DialogDirector subclass들은 CreateWidgets을 적절 도구들을 만들기 위해서 override하고 그리고 그들은 WidgetChanged를 변화를 다루기 위해서 override다.
         MediatorPattern은 이럴 때 사용다.
          * 어떤 객체들의 집합이 잘 정의되었지만, 복잡 방법으로 통신할 때. interconnection의 결과는 구조화되지 못하고 이해를 어렵게 다.
          Colleague 객체들과 통신을 위해서 인터페이스를 정의다.
          Colleague 객체들을 조정함으로써 엽합 행위를 구현다.
          자신의 colleague들을 알고 관리다.
          각가의 colleague 는 자신이 다른 colleague와 통신할 때마다 자신의 mediator와 통신다.
          Colleague들은 Mediator 객체에게 요청을 보내고 받는다. Mediator는 적절 colleague에게 요청을 보냄으로써 협동 행위를 구현다.
  • 논문번역/2012년스터디/김태진 . . . . 75 matches
         완전 영어 문장들로 학습/인식을 위 데이터를 제공했는데, 각각은 Lancaster-Oslo/Bergen corpus에 기초다. 글쓴이에 상관없는 형태와 마찬가지로 다수의 저자에 의 실험은 the Institute of Informatics and Applied Mathe- matics (IAM)에서 수집 손글씨 형태를 사용했다. 전체 데이터는 다양 텍스트 영역들을 가지고 있고,500명보다 많은 글쓴이들이 쓴 1200개보다 많은 글씨를 가지고 있다. 우리는 250명의 글쓴이가 쓴 글쓴이-독립적인 실험에서 만들어진 카테고리들의 형태를 사용하고, 6명의 글쓴이가 쓴 c03 형태로 여러 글쓴이 모드를 적용해본다.
          개인 저자에서도 우리의 시스템을 평가해보기 위해서, 우리는 Senior[15]로 수직 데이터로 만들어진 글씨들을 사용 실험을 다. 이 데이터는 명의 글쓴이가 만든 25페이지에 달하는 손글씨를 사용하였고, 웹에서 공공연하게 이용가능하다.
          이 두가지 데이터들 모두 300dpi using 256 grey-levels로 스캔해서 사용했고, Fig 에서 각각의 데이터를 예시로 제시다.
         주어진 손글씨 문서에 대 이미지에 대해 처음 전체 이미지를 삐뚤게 쓴 것은(?) 글쓰는 것에 대 지속적인 "drift"(흐름) - 지속적으로 계속되는 것이거나 스캔하는 동안 부정확하게 놓여진 것(가지런하게 두지 않아서..)에 의 오류들을 수정하기 위해 고쳤다. 그래서, 그 이미지는 2진화된 이미지를 수직 밀집 히스토그램에서 최소의 엔트로피가 될때까지 반복다. 이러 전처리는 IAM 데이터베이스에 대 공식을 사용하지 않았는데, 글쓴이들이 스캔하는 동 정확하게 ???????because the writers were asked to use rulers on a second sheet put below the form and the formulars itself are aligned precisely during scanning.
          더 많은 문서 작업을 위해, 개인의 손글씨 각 줄들을 추출했다. 이것은 글씨들을 핵심 위치들 사이로 이미지를 쪼개는 것으로 할 수 있었다. 핵심 위치란, 글씨의 아래위 선사이의 영역과 같은 것인데, 핵심 위치에 존재하는 줄에서 필요 전체 픽셀들의 최소 갯수를 말하는 계점을 응용하여(?)찾을 수 있다. 이러 계점은 2진화된 손글씨 영역에 대 수직적인 밀집 히스토그램(the horizontal density histogram of the binarized handwriting-area)을 사용 Otsu method를 사용하여 자동적으로 만들 수 있다. 검은색 픽셀들의 갯수는 수평적 투영 히스토그램에 각각의 줄을 합 갯수이고, 그 이미지는 이 히스토그램의 최소화를 따라 핵심 위치들 사이로 조각 내었다.
          다양 글쓴이들의 글쓰는 스타일에 대 분포때문에 손글씨는 인식을 간단히 하기위해 일반화 해야다. 특히, 수직적인 위치, 기울어짐, slant에 대해서 고치는 것은 전처리 작업에서 중요 것이다. 더 일반화 하는 방법은 gray-level의 집적과 손글씨의 크기를 고려하는 것이다.
          글쓰는 스타일이 때로 줄 내에서 중요하게(?) 바뀐다는 관측에 고무되어서, 우리는 각 손글씨 줄들을 각각 수직적인 위치, 기울어짐, slant에서 수정했다. 그래서 각각의 줄은 문서의 부분 사이에 공백으로 찾아 쪼개었다. 계점은 일반화 요소들을 통했을때에 계산하기에 너무 짧은 부분들을 피하기 위해 사용했다. 반면에 수직적인 위치와 기울어진 것은 [15]에서 묘사된 방법과 비슷 선형적 regresion?을 사용 기준선 추정 방법으로 고쳤고, slant 각도에 대 계산은 모서리의 방향에 기초하여 고쳤다. 그렇게 이미지를 이진화했고 수직적인 변화를 추출하여 consid- ering that only vertical strokes are decisive for slant estima- tion. Canny 모서리 감지는 각 히스토그램에서 계산된 모서리 방향 데이터를 얻기위해 사용했다. 그 히스토그램의 의미는 slant 각도를 사용하는 것이다.
         Section 1.5에서 동일 등식은 등식을 벡터 방정식으로 쓰는 것으로 다른 관점으로 공부할 수 있었다. 이 방식으로, 초점을 Ax=0에 대 알 수 없는 해답부터 벡터 방정식에서 나타나는 벡터들까지 바꿔보자.
          이 방정식은 물론 x1=x2=x3=0이라는 자명 해를 가지고 있다. Section 1.5에서와 같이, 주요 논점은 자명 해가 오직 하나인지(아닌지)이다.
         만약 벡터 방정식 ...가 오직 자명 해를 가진다면 Rn에 있는 인덱싱된 벡터들의 집합을 선형적으로 독립적(linearly independent)이라고 말다. 만약 (2)와 같은 0이 아닌 가중치가 존재다면 그 집합은 선형 독립전이다고 다.
          등식 (2)는 가중치가 모두 0이 아닐 때 v1...vp사이에서 linear independence relation(선형 독립 관계)라고 다. 그 인덱싱된 집합이 선형 독립 집합이면 그 집합은 선형독립임이 필요충분 조건이다. 간단히 말하기위해, 우리는 {v1,,,vp}가 선형독립 집합을 의미할때 v1...vp가 독립이라고 말할지도 모른다. 우리는 선형 독립 집합에게 유사 용어들을 사용다.
         Linear Independence of Matrix Columns 행렬 행에 대 선형 독립성
         우리가 벡터들의 집합 대신에 A=[ ]로 시작다고 하자. 그 행렬 등식 Ax=0는 ...으로 쓰여질 수 있다. A의 행들 사이에 각각의 선형독립 관계는 Ax=0에서의 자명하지 않은 해와 일치다. 그래서 우리는 그 중요 사실을 따른다.
         행렬 A의 행들이 선형적으로 독립이면 방정식 Ax=0는 오직 자명 해만을 갖는 것이 필요충분조건이다. (3)
         v라고 불리는 오직 벡터만을 가진 집합은 v가 0벡터가 아니면 선형 독립임이 필요충분조건이다. 이는 벡터방정식 x1v=0가 v=0이 아닐 때 오직 자명 해만을 갖기 때문이다. 제로벡터는 x1*0=0는 수많은 자명하지 않은 해답들을 가지고 있기 때문에 선형 의존적이다.
         다음 이론의 증명은 예시 3번의 해답과 비슷하다. 상세 것은 이 섹션의 마지막에 다룬다.
         주의: 이론 7은 선형 독립적인 집합에서 모든 벡터가 앞선 벡터들의 선형결합이라고 말하지 않았다. 선형 독립적인 집합에 있는 벡터는 다른 벡터들의 선형결합이 되는데 실패할지도 모른다. 연습문제 3번을 봐라. 예시4는 의 선형 의존적인 u와v를 R3(3차원)의 어떤 집합{u,v,w}로 일반화다. 그 집합 {u,v,w}는 평면에서 w가 u와 v로 span(평면화)되면 선형 독립적이다(필요충분).
          다음 두 이론들은 집합에 대 선형 의존성이 자동적인 특별 경우를 지칭다. 더욱이, 이론8은 뒤 단원들에서의 동작을 초래하는 핵심일 것이다.
          행렬 방정식 Ax=b와 associated(?) 벡터 방정식 x1a1+...+xnan=b는 단지 표기의 문제이다. 그런데, 행렬 방정식 Ax=b는 벡터들의 선형 결합으로 직접 연결되지 않은 방법에서 선형 대수학으로 생길 수 있다. 이것은 우리가 행렬 A를 Ax라고 불리는 새로운 벡터를 만들기위해 곱셈 벡터 x로 "동작하는" 것으로 생각할 때 일어난다.
          예를들어, 방정식 ...은 b로 x를 변환하고 제로 벡터로 u를 변환 A로 곱셈 것이다. Fig1을 봐라.
  • 지금그때/OpeningQuestion . . . . 74 matches
         == 대학에서 시간을 투자다는 것이 다른 시기에 비해 특히 중요지? ==
         == 영어가 얼마나 중요가? ==
         그러나, 만약 자기가 어떤 분야에 있어 국 최고(혹은 그 이상)가 되려고 다면 영어를 편하게(!) 사용하는 것이 중요합니다. 자기 실력에 더하기가 아니고 곱하기가 됩니다.
          ''무엇이건 간에 자신에게 직면 문제에 대 탈출구.''
         최소를 고려다면, 다이나믹 랭귀지 하나, 스태틱 랭귀지 하나. 여력이 있다면 여기에 펑셔널 랭귀지와 환경과 언어가 결합된 언어(e.g. 스몰토크) 추가. --JuNe
         == 자신이 배워왔던 교육 방식중, 가장 최악의 교육 방식은 어느것이고, 자신이 개선다면 어떻게 하겠는가? ==
         == 자신이 참여 행사중 가장 인상깊은(추천하는) 행사(세미나, 컨퍼런스등)는 무엇이고, 어떻게 참여하는가? ==
         == 우리 학교의 사회적 위상은 어떠가? ==
         == 재미있게 공부 과목은? ==
         선배님의 대학생활을 통틀어 가장 재미있게 공부 과목은 어느 것이었나요? 무엇이 달라서 그렇게 재미있었다고 생각하시나요? 재미있었던 기억을 이야기해주실 수 있을까요? --JuNe
         우리학교 컴공에 정해서 생각해 보죠.
         어설픈 교양수업보다 진지 전공수업이 훨씬 나은 경우가 많습니다.
         == 학교 수업을 따라가는 것이 중요가? ==
         주어진 기회는 잘 이용해 먹는 것이 현명 것이겠습니다. --JuNe
         == 미리 공부해야 다면 뭘 공부해 두는 것이 좋나? ==
         == 졸업 사람들이 가장 유용하게 생각하는 과목은 무엇인가? ==
         == 선후배 관계가 중요가? 좋은 선후배 관계는 무엇일까? ==
          * 지원시, 원하는 날짜 선택이 아닌 '월'을 선택다.
          * 나이를 살 더 먹는데 괜찮을까?
          * 오히려 다양 경험을 할 기회가 중요하다.
  • Android/WallpaperChanger . . . . 73 matches
          * 안드로이드 배경화면이 개인게 너무 싫어서 여러개 선택후 바꾸게 하는 어플을 만들고 싶어서 만들게됨.
          1. 어플에 필요 배울것 체크
         = 어플에 필요 배울것 체크 =
          * 또 Service는 AndroidManifest.xml파일에 당연히 등록을 해야다. (Application탭 -> Service등록)
          // 실행 서비스 중지 요청
          // 서비스에 대 스레드에 연결된 Handler. 타이머 이용 반복 처리시 사용.
          // 지정 횟수 실행하면 스스로 종료
          || 4/25 || PathRepository를 ArrayList로 Parcelable객체로 만드는것을 성공 순서도상의 DB접근을 제을 두어야할것 같음. 문제점 : WallpaperManagerActivity에서 Add시키고 setting하는데 객체가 날아감. 우짬.. 아! 우선 만들어놓고 setting할때만 DB에 저장시키는 방식으로 해야겠다.그리고 0으로 index가 없는것과 있는것을 표기해서 update혹은 새로 만들기를 실행하도록 하고. ||
         || 4/28 || WallPaperAndroidService에서 Bitmap Loading방식 바꿈. 먼저 Loading을 해서 준비해놓고 순서가 오면 화면이 바뀌는 형식으로 바꿔놓음.시간 설정 저장 DB adapter생성 및 DB새로 만들어서 저장함.사용자의 편의를 위 TextView설명 추가 ||
          * Thumnail제작을 위 Multi-Thread방식 Image Loading : http://lifesay.springnote.com/pages/6615799
          * Iterator를 통 Remove방법...
          * [이승]님의 Java상의 enum은 문자열 비교로 인해 임베이디드와 반복코드에서는 성능을 저해시키는 요인이 될수 있다.
         성능을 위 설계
         안드로이드 애플리케이션의 속도는 빨라야만 합니다. 음, 효율적이어야 다고 말하는 쪽이 더 정확할 듯싶네요. 다시 말해, 제된 컴퓨팅 파워와 데이터 저장소, 작은 화면, 갑갑 배터리 수명 같은 모바일 장치 환경에서 가능 효율적으로 실행되어야 다는 것입니다.
         애플리케이션을 개발할 때에는 이것을 명심하세요. 듀얼코어 개발 컴퓨터에서 실행하는 에뮬레이터에서는 충분히 잘 작동할지도 모르지만, 모바일 기기에서 실행할 때엔 그리 잘 되지 않을 것입니다. — 최고 성능의 모바일 기기라도 일반적인 데스크탑 시스템의 성능을 따라잡을 수는 없습니다. 그런 이유로, 다양 모바일 기기들에게 최상의 성능을 보장하기 위해 여러분은 효율적인 코드를 작성하도록 열심히 노력하셔야 합니다.
         일반적으로, 빠르거나 효율적인 코드라는 것은 메모리 할당을 최소화 하고, 꽉 짜인 코드를 작성하고, 특정 프로그래밍 언어나 잠재적으로 성능상 문제가 될만 프로그래밍 어법들을 피하는 것을 말합니다. 객체지향 용어로 말하자면, 이러 일이 가장 빈번히 일어나는 곳은 메소드 레벨이며, 이와 비슷하게 실제 코드 라인들과 반복문 등에서 발생합니다 .
         자원 제적 시스템에는 두 가지 기본 규칙이 있습니다:
         누군가는 이 페이지상의 많은 조언이 "섣부른 최적화"나 마찬가지라고 비판할지도 모릅니다. 미시 최적화는 때로는 효율적인 데이터 구조와 알고리즘을 개발하는 것을 더 어렵게 만든다는 것은 사실입니다. 하지만, 핸드셋과 같은 임베디드 기기에서는 때로는 별다른 선택지가 없습니다. 예를 들어, 여러분이 데스크탑에서 개발할 때 생각하는 VM의 성능에 대 가정을 안드로이드에도 적용다면, 여러분은 시스템 메모리를 소진해버리는 코드를 꽤나 작성해 버리고 말 것입니다. 이것은 여러분의 애플리케이션이 바닥을 기도록 할 수 있습니다 — 시스템에서 동작하는 다른 프로그램들에게 무엇을 하는지 지켜보세요!
         이것이 바로 이 가이드라인이 중요 이유입니다. 안드로이드의 성공은 여러분의 애플리케이션이 제공하는 사용자 경험(UX)에 달렸고, 사용자 경험이란 것은 여러분의 코드가 빠르고 팔팔하게 반응하는지, 아니면 느리고 무거운지에 달렸습니다. 모든 우리의 애플리케이션들은 같은 장치에서 동작할 것이기 때문에, 어떤 의미로, 우리 모두 함께 이 것들을 지키도록 최선을 다해야 합니다. 이 문서를 운전면허를 딸 때 배워야만 하는 도로교통법이라고 생각하세요: 모든 이가 따르면 문제없이 원활하겠지만, 따르지 않는다면 사고가 날 것처럼 말입니다.
         자세 내용을 다루기 전에, 간단 주의사항입니다: 아래 설명된 대부분의 이슈들은 VM이 JIT 컴파일러이든 아니든 효과적입니다. 같은 기능을 수행하는 두 메소드가 있고 interpret 방식에서 foo()의 실행속도가 bar()보다 빠르다면, 컴파일 된 버전에서도 아마 foo()가 bar()과 비슷하거나 더 빠른 속도를 보여줄 것입니다. 컴파일러가 여러분을 "구해줄"것이라던가 충분히 빠르게 만들어줄 것이라고 의존하는 건 현명하지 못하다는 것이죠.
  • DPSCChapter1 . . . . 73 matches
         ''The Design Patterns Smalltalk Companion'' 의 세계에 오신걸 환영합니다. 이 책은 ''Design Patterns Elements of Reusable Object-Oriented Software''(이하 DP) Erich Gamma, Richard Helm, Ralph Johnson, and Jogn Vlissides(Gamma, 1995). 의 편람(companion, 보기에 편리하도록 간명하게 만든 책) 입니다. 앞서 출간된 책(DP)이 디자인 패턴에 관련 책에 최초의 책은 아니지만, DP는 소프트웨어 엔지니어링의 세계에 작은 혁명을 일으켰습니다. 이제 디자이너들은 디자인 패턴의 언어로 이야기 하며, 우리는 디자인 패턴과 관련 수많은 workshop, 출판물, 그리고 웹사이트들이 폭팔적으로 늘어나는걸 보아왔습니다. 디자인 패턴은 객체지향 프로그래밍의 연구와 개발에 있어서 중요 위치를 가지며, 그에 따라 새로운 디자인 패턴 커뮤니티들이 등장하고 있습니다.(emerge 를 come up or out into view 또는 come to light 정도로 해석하는게 맞지 않을까. ''이제 디자인 패턴은 객체지향 프로그래밍의 연구와 개발에 있어서 중요 위치를 가지고 있으며, 디자인 패턴 커뮤니티들이 새로이 등장하고 있는 추세입니다.'' 그래도 좀 어색하군. -_-; -- 석천 바꿔봤는데 어때? -상민 -- DeleteMe)gogo..~ 나중에 정리시 현재 부연 붙은 글 삭제하던지, 따로 밑에 빼놓도록 합시다.
         ''디자인 패턴''은 객체지향 언어로 제작된 프로그램에 23개의 패턴을 제시합니다. 물론, 23개의 패턴이 객체지향 디자이너들이 필요로 할 모든 디자인의 난제들을 전부 잡아내지는 못합니다. 그럼에도 불구하고 "Gang of Four"(Gamma et al.)에서 제시 23개의 패턴은 좋은 디자인의 든든 출발을 보장합니다. 이 23개의 패턴은 Smalltalk class libraries에 기반을 디자인 수준(design-level) 분석(analog)입니다. 이 패턴을 이용해서 모든 문제를 해결할 수는 없지만, 전반적이고, 실제 디자인의 다양 문제들을 위 해결책을 위 유용 지식들의 기반을 제공할것입니다. 또, 이 패턴을 통해서 전문가 수준의 디자인 지식을 취득하고, 우아하고, 사후 관리가 편하고, 확장하기 쉬운 객체지향 프로그램 개발에 기초 지식을 제공하는데 톡톡 역할을 할것입니다.
         Smalltalk Companion에서, 우리는 패턴의 "base library"를 추가하는 것보다 앞으로 요구될 수 있는 패턴으로 때때로 확장하고 해석해서, 설계자나 프로그래머를 위해 제공다.
         우리의 목적은 Design Pattern을 교체하려는 것이 아니다. 당신은 Design Pattern을 대신하는 것이 아니라 Design Pattern과 함께 Smalltalk Companion을 읽어야 다.
         우리는 Gang of Four 책에서 이미 잘 문서화된 정보는 반복해서 공부하지 않는다. 대신, 우리는 자주 그것을 참조해야다. 여러분 또 그렇게 해야다.
         다른 이론적인 테두리안에서 프로그램(''전통적인 절차식 스타일'')을 후 객체 지향 언어를 배우는 것은 어렵다. Smalltalk 안에서 복합된 응용 프로그램 하는 것을 배우는 것은 복잡 새로운 기술과 문제에 대 새로운 사고 방식을 요구다.(" e.g Rosson & Carroll, 1990; Singley, & Alpert, 1991") "Smalltalk" 라는 산을 오르는 것은 확실히 사소 것이 아니다. 일단 당신이 간단 Smalltalk 응용 프로그램을 만드는 데 자신이 있는 경지에 닿았다고 해도, 아직 전문가의 경지와는 분명 차이가 있다.
         Smalltalk 전문가들은 여러가지 다양 추상적 단계와 폭넓은 programming과 design에 대 지식과 기술면에서 초심자들이 알지 못하는 많은 것을 알고 있다.
          * 현존하는 기반 class 라이브러리로부터 이용가능 class, methods. 그리고 그 모듈들(현재는 functionality를 function 군들 또는 모듈 정도로 해석중. 태클 바람. --;)에 대해
          * 새로운 문제를 찾고 문제 해결을 위 기존의 모듈을 재사용하기 위해, 또는 정적이거나 동적인 관점 양쪽 측면에서 프로그램을 이해하기 위해 어떻게 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는 비록 같은 기본적인 패턴에서의 출발을 해도 다른 언어, 다른 개발환경, 다른 문화로 말미암아 각자 다른 모양새를 보여준다.
         Gang of Four의 ''Design Patterns'' 은 C++의 관점에서 디자인의 이슈와 해결책들을 제시다. Design Patterns는 대부분 C++을 이용 패턴들과, C++의 적용(implementation)과 관련있는 이슈들에 관 견해를 다루고 있다. 그러 이슈들은 C++ 개발자들에게는 매우 중요할지 모르지만, 다른 언어들을 이용하고 있는 개발자들에게는 자칫 이해하고 패턴의 적용에 어려움을 가지고 온다.
         이책은 ''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로된 간단 코드를 많이 제공다. 대부분에서, 우리의 예제들은 ''Design Patterns'' 예제의 간단 Smalltalk 버전은 아니다. 우리는 자주 C++ 예제의 단순 번역 이상으로 좀더 유용하다는 것을 느꼈다. 여기에 간단 말로 ''Design Patterns''에 보충 ''Smalltalk Companion''을 위 목적이 있다.
          * Gang of Four's design patterns의 Smalltalk 구현에 대 구?셈岵? 쟁점의 토의를 다.
  • Z&D토론백업 . . . . 73 matches
         페이지 구조조정을 위 백업 페이지입니다. 구조조정 뒤에 본래의 글의 의도를
          * 위키 스타일에 익숙하지 않으시다면, 도움말을 약간만 시간내어서 읽어주세요. 이 페이지의 편집은 이 페이지 가장 최 하단에 있는 'EditText' 를 누르시면 됩니다. (다른 사람들의 글 지우지 쓰지 않으셔도 됩니다. ^^; 그냥 중간부분에 글을 추가해주시면 됩니다. 기존 내용에 대 요약정리를 중간중간에 해주셔도 좋습니다.) 정 불편하시다면 (위키를 선택 것 자체가 '툴의 익숙함정도에 대 접근성의 폭력' 이라고까지 생각되신다면, 위키를 Only DocumentMode 로 두고, 다른 곳에서 ThreadMode 토론을 열 수도 있겠습니다.)
          * 상당히 민감 문제로 가칭(제로페이지데블스)로 정함. 올해 선배님들의 자리를 갖고 선배님들의 의견을 듣고 결정. (이것은 언제 할 것인지? offline ? online?)
         현재의 ZeroPage 서버를 이용다.
         달에
         여름방학때 기존 데블스의 방식으로 밤샘 스터디를 후 최종 정회원을 정다.
         단, 밤샘이 불가능 사람을 위 예외로 특별 과제를 내준다.
         일단은 브레인 스토밍으로 가되, 중간에 비슷 주제의 의견들끼리는 추후 정리하는 방식을 취하겠습니다. (단, 문맥이 끊어지지 않도록 편집하기 바랍니다.)
         무언가 이상하다는 생각이 들지 않나요? 논의의 주체가 빠져있는 듯 느낌이 말입니다. '''선배'''들까지 고려를 해준다면 고마운 일이지만, 선배는 그야말로 차후의 논의 대상입니다. 현재, 그리고 앞으로 이끌어갈 사람이 논의의 주체가 되어야 합니다. 선배들(실제적으로는 곧 직접적인 관여에서 손을 뗄)이 실컨 논의를 해봤자, 실제적인 해결방안이 될수는 없습니다. '''무언의''' 입김을 불어넣고서, '''자 이제 토의해봐''' 하는 식은 지양해야 할 것 같습니다. 아울러, 실제적으로 살림을 꾸려나갈 후배님들은, 주변 사람들에게 참여를 독려해주기 바랍니다. 어서 '''그들'''을 뒷짐지게 하고, 주인으로써 자리를 차지하기 바랍니다. --이선우
         선배들이 조언을 해줄 수 있을지언정, 졸업 선배들이 여러분과 논의를 통해 어떠 결과를 이끌어 내기에는
         어려운 위치입니다. 설령 어떠 논의결과를 이끌어 내더라도, 선배들은 아무런 책임을 지지 않고 훌쩍
         == 정말 중요 것은 학회의 역량을 키우는 것 ==
         과거 ZP 폭파론 역시 비슷 이유에서 출발했던 의견이었습니다. "조직" 이란 존재가 시간이 흘러서, 우리에게 힘을 주지 않고, 되려 우리 힘을 소진시키는 단계라면 쇄신하거나, 아니면 해체하는 것이 수순이겠지요.
         힘이 다 조직을 끌지 말고, 여러분의 역량을 키운 다음에, 언젠가 다시번 뜻을 펼쳐보세요. 열정과 패기에 찬 사람들이 모이면, 그 조직은 알아서 굴러 갈 것입니다.
         '''짧은 제 소견은...''' 형식적인 것들을 따지기 보다는, 내실있는 학회로 거듭나는 것이 중요하다는 것입니다. 학회의 이름, 통합시에 양쪽의 이해관계, 세미나나 회원 운영방식의 고수... 이런 것들은 우리가 같은 과로서, 모두 함께 발전하고 과의 역량을 결집하는 데, 크게 중요하지 않습니다.. 따라서, 제 생각에는... 통합 과정의 절차는 간소화하고, 서로 다른 모임이 아닌 동문으로서의 하나된 생각으로, 앞으로의 실무적인 얘기에 중점을 뒀으면 합니다.. 그리고, 어차피 새로 들어오는 02학번 신입생들은 통합에 대 과정은 모를터인데, 그 후배들에게 학회에 대 '''사명감과 책임감'''을 키워주는 점도 토의해 보아야 할 것 같습니다...
         00, 01이 주가 되어야 하지만, 지금까지 저의 활동도 적극적이지 못했던 것에 죄송스럽고.. 올 해.. 중앙대 컴퓨터 공학과의 더욱 건설적인 학회로 거듭났으면 좋겠습니다... --상윤
          ''간소화 통합 절차''는 어떤 순서가 되어야 할까요. --이덕준
          * 소개 - 우선 저를 모르는 사람을 위해서 제 소개부터 하겠습니다. 저는 01학번이고 데블스 회원입니다...^^ 전에 통합에 대 회의가 있을때 초반에 데블스 2명이 왔다고 했는데 그 때 정직형과 제가 있었습니다. 즉, 그 회의에 실질적 참여를 했습니다. 글이 이렇게 늦어진거에 대해서는 정말 죄송합니다. 그럼 제 짧은 생각을 이야기 하겠습니다.
          * 제가 이해하는 현상황 - 방금 ZP 위키 가서 몇 선배님들의 통합에 대 글을 읽어 보았습니다.(어려운 위키를 거의 처음으로 제대로 사용듯...-,-;;;) 그리고 여기 여러 글도 읽어 보았습니다.제가 이해하기로는 지금 상황은 (제 이해가 틀리다면 이야기해주세요) 고학번 선배님들 사이에서 의견차가 좀 있는 것 같아 보입니다. 이름 문제부터 시작해서 가장 기본적인 합치는 문제 까지... 서로에 대 애착심이 강하다보니 의견차가 나는 것은 당연하다고 생각합니다. 그런데 정작 이야기의 주체가 되야할 00,01이 참여가 없어서 선배님들이 애 태우시는 듯 해 보입니다... 정말 죄송합니다.
          * 통합 회의 - 전에 ZP와의 통합 회의 했을 때부터 이야기를 해야겠군요. 그 당시에 정직형과 광식형이 얘기 했듯이 ZP와 데블스는 자신이 인정할 정도로 학회가 제대로 운영되지 않았던 것 같습니다. 그리고 그 원인을 첫째로 인원에서 보았습니다. 왜냐하면 무슨 일을 하려해도 어느정도는 인원이 있어야 되는데 서로 실질적으로 남은 인원이 거의 없었기 때문입니다. (ZP나 데블스나 00, 01 학번당 5명정도...) 작게 봐서 데블스 쪽만 본다 해도 정말 너무 인원이 없었습니다. 2학기 01 MFC 세미나때 1,2명 빠지면 그 주 세미나는 취소될 정도였습니다. 그래서 통합을 하려 했습니다. 그리고 그 이후 회의는 합쳐진 걸 거의 기정사실화 후 합쳐진 이후에 발생하는 문제점에 대해 회의를 했습니다. 이름이나 서버나 새내기 받는 일등... 그 때 데블스의 입장은 데블스에서 가장 중요 색이라 생각 날셈 세미나만 고수할 수 있다면 아주 큰 문제는 없다고 생각했습니다. 전에 따로 태호형이 이야기 했듯이 데블스의 색깔만 잊지만 않는다면 ZP와 통합되어도 그 색이 남아있다고 생각합니다. 뭐 데블스에 다른 여러 색이 많겠지만 제가 생각하기에도 정말 데블스 하면 '날셈 세미나'가 가장 기억에 남습니다. 여튼 그래서 통합을 하면서 그 색을 남기게 하였고 그것이 남아 저는 그것으로 만족했습니다.
  • ProjectVirush/Idea . . . . 72 matches
         프로젝트에 직접 참여하지 않으시더라도 다양 의견을 환영합니다. 특히 생물학 지식에 대해서는 오류수정이나 추가정보를 기다립니다!
          첫째 '실시간'이다. 실시간으로 돌아가는 프로그램은 커다란 제약을 가지게 된다. 무엇보다 '슈퍼 울트라 복잡 연산을 해서는 안된다.'는 것이다. 맵이 너무나도 큰 나머지, 또는 맵을 검색하는 알고리즘이 너무 자세 나머지 "왼쪽 끝에서 오른쪽 끝까지 이동하도록 명령하니 1분동안 길을 찾느라 멈추었어요." 라는 소리를 들어서는 안된다. 물런 이런 과장된 일은 없겠지만, 실시간으로 진행되는 만큼 끊김없이 느껴질 수 있는 부드러운 연산이 가능해야 다는 것이다. 더욱이 멀티플레이인 만큼 이 문제는 더욱더 중요해 진다. 플레이어 1이 복잡 연산을 수행시켜버렸다고 해서 플레이어2까지도 버벅되서는 조금 곤란해 진다. 이러 문제를 감안해서 어떻게든 연산을 빠르게 만들어야 다.
          또 실시간이라는 점은 사용자가 접속하지 않아도 돌아가는 것을 의미다. 사용자가 하루, 이틀 쉬었다가 접속하였을때 플레이어의 바이러스들이 전부 죽어있는 광경을 연출해서는 안된다. 그렇기 때문에 바이러스들은 플레이어가 없어도 꿋꿋하게 살아나갈 수 있는 인공지능을 가지고 있어야 다.
          둘째 '온라인 멀티'플레이이다. 명의 사용자가 접속해서 사용하는 것이 아니기 때문에 여러명이 접속해서 사용하게 된다. 그러 만큼 여러 플레이어가 행동을 다는 것을 염두에 두어야 다. 명에게는 적절 난이도이지만, 협동을 하니 난이도가 대폭 하락해서 금새 이길 수 있었다 라던가 하는 이야기가 나와서는 안된다.
          이 문제는 위의 '실시간'이라는 점과도 연계가 된다. 다른 플레이어들이 잠자러 간사이... 올빼미족의 플레이어가 나타나서 전 플레이어의 바이러스를 사살해 버리고 도망가 버린다거나, 타 플레이어의 바이러스를 포위해 버려서 더이상 증식이 불가능하게 만드는 난처 상황이 발생해서도 안된다. 물런 '상대방의 바이러스를 사살할 수 있다.' 와 같은 규칙은 정해진 바 없지만, 다른 플레이어가 자리를 비웠을때 플레이어가 다른플레이어의 캐릭터에게 영향을 미칠 수 있다는 점도 고려를 해야다.
          셋째 '게임' 이다. 게임은 무엇보다도 재미가 있어야 다. 이것이 어떻게 보면 가장 큰 난제라고도 할 수 있다. 이게 쉽다면 그 많은 게임들이 도데체 왜 사장되었겠는가... 우리
         의 게임도 이런 길을 걷지 않도록 노력은 해보아야 할것이다. 실시간이라고 해서 강 인공지능을 부여했더니 몇년동안 자리를 비워도 꿋꿋하게 성장해서도 안된다. 또 규칙이 단순해서 오늘은 '성장' 내일은 '정지' 이런식으로 반복하면 수학적으로 최적화된 성장 알고리즘이 나온다. 와 같이 되면 재미가 없어질 것이다.
          A. 빠르고 단순 연산이어야 다. 그러면서도
          B. 높은 AI를 가지고 있어야 다. 또
          F. 어느정도 돌발적인 상황이 있어야 다.
          H. 다른 플레이어와 연계가 있어서 즐겁게 진행할 수 있어야 다. 하지만
          이런 험난 상황을 해결할 비책이.... 아쉽게도 나에게는 없다.
          그렇지만 몇가지 아이디어는 내어 볼 수 있다.^^ 그래서 요 며칠간 짬짬이 생각 아이디어를 서술해 보겠다. 많이 부실해도 예쁘게 봐주고 보충해 주면 좋겠다.^^
          K. 일반인이 플레이를 못할 정도가 아니어야 다는 점을 대강 고려해서 만든 규칙은..
          2. 이 바이러스들은 자신의 염기서열(이하 DNA)을 바탕으로 AI를 구성하여 움직이고, 분열하고, 다른 세포에 침투다. (J)
          3. 바이러스를 잡는 면역체계AI(이하 백혈구)가 존재다. (D)
          4. 백혈구는 각 인간의 고유 DNA의 일부를 통해서 적, 아 를 구분다. (J)
          5. 백혈구의 일부는 유전자 알고리즘을 통해 바이러스를 잘 잡도록 진화다. (D)
          (이는 플레이에 잘 대응하기 위해서이기도 하지만, 이렇게 진화 다면 오래 플레이해서 세력이 큰 플레이어는 고생하고, 막 시작 플레이어는 비교적 덜 고생할 것이다.)
          6. 백혈구는 진화할때 일부의 성능이 떨어지는 DNA를 그대로 복제다 (E)
  • ViImproved/설명서 . . . . 69 matches
          마지막형 (: / ? !) 에 대 입력을 읽어 냄 CR(캐리지 리턴)은 입력 읽어 내기 종료 <DEL> 인터럽트 ; 종료 취소
         ▶.exrc 파일 설 정 vi가 시작할 때 자동적으로 읽어 들임 vi입력 모드에 쓰이는 모든 명령어와 vi환경 설정인 set 에 대 정보를 가지고 있다 만약 .exrc파일이 없으면 모든 set값은 default로 설정됨
         주 요용 어 번지지정 명령 vi 명령중에서 처리해야할 대상의 종류를 사용자가 지정할수 있도록 하는 명령예) d 명령에서, dw는 단어 삭제를, db는 앞단어의 삭제를 의미다.
          모드형 모드형 프로그램이란 서로다른 기능을 가진 모드를 가지고 있어다중환경을 지원다. 예) 모드에 따라 엔터키의 역할도 달라진다
          비모드형 비모드형 프로그램은 키들을 항상 같은 의미로 사용
          :q!↓ 파일변경 내용을 무시채 vi종료 및 시스템으로
          :e! #↓ 변경 점을 버리고 직전에 편집 file을 편집
          :n 다중화일 편집시 지정 화일중 현재 파일의 다음 파일로 이동
          n 현재 행으로부터 n번째 행으로 이동
          ; (n;) 바로 전에 검색 방법과 같은 방향으로 문자 c로 이동
          , (n,) 바로 전에 검색 방법과 반대 방향으로 문자 c로 이동
          } or n} 인접 이전 패러그라프의 시작 위치로 이동
          ]] or n]] 인접 이전 섹션의 시작위치로 이동
          [[ or n[[ 인접 다음 섹션의 시작 위치로 이동
          ^Y n^Y 행 뒤로 이동
          ^E n^E 행 앞으로 이동
          o 현재줄 밑에 줄 첨가
          O 현재줄 위에 줄 첨가
          ^D 문자 back tab. autointent의 왼쪽 마진을 리셋
          J 두 행을 결합하여 행으로 만든다
  • DataCommunicationSummaryProject/Chapter8 . . . . 68 matches
          * 에어 링크가 동작하기 위해서는 두가지 수신기가 필요데 사용자에 의해서 작동하는게 MSU(핸드폰) 운영자에 의해서 동작하는게 BTS(Base Transceiver Station) 이다.
          * 핸드폰을 말다. (MS mobile station)
          * 모든 셀의 가운데에 있는 거대 수신기 이다.
          * 지면에 장애물에 방해 받지 않기 위해서 높은 위치에 있어야 다.
          * 여러개의 Base Station이 BSC를 같이 사용다.
          * moblie voice 네트워크에서 가장 복잡 구성요소는 MSC(Mobile Switching Center)이다.
          * 모든 고객은 특정 MSC에 등록되어 있다.
          * 자신이 포괄하는 범위내의 사용자에 대해서만 정확 지리적인 정보를 가지고 있다.
          * 만약 사용자가 범위 밖으로 이동하면, 그 이동 곳의 MSC 분별 번호를 대신 저장다.
          * MSC가 포괄하는 범위내의 모든 핸드폰의 지리적인 위치를 임시적으로 저장다.
          * 그래서 많은 네트워크들은 현재 MAP(Mobile Application Part)라고, HLR과 VLR을 오직 번만 찾아봐서 가능하면 지역안에서 연결되게 하는 새로운 시스템을 구현하고 있다.
          * 전화요금이 정확하게 매겨지게 하고, 도난당 핸드폰의 정보등을 가지고 있어서 도난당건 사용못하게 하도록 다.
          * 디지털 네트워크에서만 존재다.
          * 2G 핸드폰은 핸드폰만 검증 하지만 3G 폰과 PMR(Private Mobile Radio)는 네트워크도 검증다.
          * TSC는 네트워크에서 보통 매우 적거나 때때로는 하나만 사용되지기도 다.
          * 그것은 모바일 네트워크를 전화 네트워크(PSTN)나 다른 roaming 협약을 맵은 운영자와 연결다.
          * 모바일 데이터도 BST나 BSC와 같이 음성 데이터와 비슷 조직 체계를 사용다.
          * GPRS 네트워크에서 가장 비싼 부분이 Packet Control Unit(PCU)이다. base station은 패킷 데이터를 위해서 이게 있어야 다.
          * Serving GPRS Support Node (SGSN)은 data infrastructure 에서 MSC와 비슷 것이다.
          * MSC처럼 이것은 다양 데이터 베이스(위치를 찾고, 인증 하는거..)에 연결되어 있다.
  • HowToStudyDesignPatterns . . . . 66 matches
         DPSC를 구입 분들이 좀 있는 것으로 보아, DP를 공부하려는 움직임 같은 게 있지 않을까 하는 생각에 "조금 먼저 공부 사람"으로서 몇 가지 조언을 드릴까 합니다. (DPSC 이야기가 안나왔으면 이런 글 쓰지 않았을텐데... 이것도 인연이라면 인연이네요)
         기본적으로는 제 교육철학과 언어교습론, 그리고 공부론에서 크게 벗어나지 않으므로 저번 영어(및 기타) 강의를 들으셨던 분들에겐 익숙 이야기가 많을 겁니다.
         기본적으로 "교육은 교육자가 피교육자가에게 지식을 고대로 전달하는 행위가 아닙니다. 진정 교육은 피교육자의 개인적 체험에 기반 전폭적 동의에서 출발합니다. 저는 이를 동의에 의 교육이라고 합니다."
         내가 여러분에게 "주석문을 가능하면 쓰지 않는 것이 더 좋다"라는 이야기를 했을 때 이 문장을 하나의 사실로 받아들이고 기억하면 그 시점 당장에는 학습이 일어나지 않는다고 봅니다. 대신 여러분이 차후에 여러가지 경험을 하면서도 이 화두를 놓치지 않고 있다가 어느 순간엔가, "아!!! 그래 주석문을 쓰지 않는게 좋겠구나!!"하고 자각하는 순간, 바로 그 시점에 학습이, 교육이 이뤄지는 것입니다. 이는 기본적으로 컨스트럭티비즘이라고 하는 삐아제와 비곳스키의 철학을 따르는 것이죠. 지식이란 외부에서 입력받는 것이 아니고, 그것에 대 모델을 학습자 스스로가 내부에서 축조(construct)할 때 획득할 수 있는 것이라는 철학이죠.
          ''최소 언어 교육에 있어서는 피교육자의 "기쁨에 찬" 동의가 없으면 별로 효과를 볼 수 없다는 게 제 생각입니다. 모르는 사람은 아예 모르기 때문에 아직 공부할 필요가 없으며 아는 사람은 이미 알기 때문에 다시 공부할 필요가 없습니다. 아는 것도 모르는 것도 아니고 어중간 상태에서 나름의 문제의식을 갖고 있는 경우, 이 사람에게 누군가가 "제대로 된" 두마디만 던져줘도 그는 열가지 스무가지 일사천리로 소화하고 이해하며 자발적인 학습을 하게 됩니다.
          예컨데 자신의 삶의 목표에 대해 문제의식 조차도 형성되지 않은 사람에게는 백날 종교니, 철학이니 떠들어 봐야 헛수고입니다만, 이미 개별적이고 구체적인 체험들을 통해 자신만의 문제의식을 나름대로 형성 사람은 공부하고 남의 말을 들을 준비가 된 사람입니다.
          아담이 세상의 모든 "것"들을 보고 일일이 이름을 붙였던 것은, 보았기 때문에 가능했던 것입니다. 그러나 우리나라 교육의 대부분은 horse를 보기 이전에 horse라는 이름을 가르치고, 문제의식을 외부에서 학생에게 주입하려 합니다. 그러 지식의 필요성까지도 암기하고, 이해하도록 강요하는 것이지요.
          저는 후학들이 난생 처음 어떤 학문을 공부할 때 처음부터 최고의 대가에게 가서 강의를 듣는다든가 하는 것을 그다지 권하지 않습니다 -- 강의자와 피강의자의 노력에 비해 크게 도움이 되지 않습니다. 이것은 결국, 스스로가 자신만의 문제의식을 갖고 있어야 하며, 또 그 문제의식은 철저히 자신의 삶에서 우러 나와야 하는 것이기 때문입니다. 그 이후에 훌륭 선생들을 만나면 정말 비약적인, 계단을 서너칸 뛰어오르는 발전을 할 수 있습니다.
          결국 제 후배가 달 정도만에 그렇게 껍질을 깨고 나오는 발전을 할 수 있었던 것은 그 자신이 늘 "반성적인 학습"을 해오며 자기 영어 공부에 대 문제의식을 형성했고 궁리해 왔기 때문입니다. 물론 절대적인 영어 공부량(input)이 이미 어느 정도 되어 있었기 때문이기도 합니다. 물길을 열어줄 "열쇠"가 필요했었던거죠. 이미 물은 어느 정도 차 있었고요.
          권법에서 주먹에 대해 달통 도사가 "권을 내지르는 법"에 대 규칙들을 정리를 해서 애제자의 대갈통 속에 아무리 쑤셔넣는데 성공을 들 그 제자가 도사만큼의 주먹이 나갈리는 만무합니다. "권을 내지르는 법"을 유추해 내기까지 그 스승이 겪은 과정을 제자는 완죤히 쏙 빼먹고 있기 때문입니다. 소위 '몸'이 만들어 지지 않은 것이지요. 제자는 마당 쓸기에서부터 해서, 물 긷기, 기타 등등의 몸의 수련의 과정을 겪어야만 하고, 그 제자가 스승이 정리 그 규칙의 일련에 손뼉을 치고 춤을 추며 기쁨의 동의를 할 수 있을 정도로 과정의 축적이 이루어진 이후에야 비로소 진정 '가르침'이 이뤄지는 것이며, 청출어람의 가능성도 생각해 볼 수 있는 것입니다.
         이런 동의라는 것은 학습자 자신만의 컨텍스트와 문제의식을 바탕으로 것입니다. 우리는 많은 경우, 어떤 지식과 동시의 그 지식의 필요성까지도 지식화해서 외부에서 주입을 받습니다. 하지만 진정 체화된 지식을 위해서는 스스로가 이미 문제의식을 갖고 있어야 합니다.
         패턴도 마찬가지인데, 대부분 그 패턴의 필요성을 체감하지 못 채 그냥 도식적 구조를 외우기에만 주력하는 사람이 많습니다만, 사실 그렇게 되면 어떤 경우에 이 패턴이 필요하고 어떤 경우에는 사용하면 안되는지 등을 알기 힘듭니다. 설령 책에 나온 가이드를 암기했더라도요. 자신의 삶 속에서 문제의식이 구체적으로 실제 경험으로 형성되지 않았기 때문입니다.
         DP의 저자(GoF) 중 명인 랄프 존슨은 다음과 같이 말합니다:
         결국은 어떤 패턴의 필요성을 자신의 경험 속에서 "절감"하지 못다면 그 패턴을 제대로 아는 것이 아니라고 말할 수 있을 겁니다.
         따라서, 패턴 하나를 공부할 때에는 가능 실제 예를 많이 접하도록 해야 합니다. 그리고 패턴을 적용하지 않은 경우에서 그 필요를 느끼고 설명할 수 있게끔 다양 코드를 접해야 합니다.
         패턴 중에 보면 서로 비슷비슷 것들이 상당히 많습니다. 그 구조로는 완전히 동일 것도 있죠 -- 초보자들을 괴롭히는 것 중 하나입니다. 이것은 외국어를 공부할 때 문법 중심적인 학습을 하는 것과 비슷합니다. "주어+동사+목적어"라는 구조로는 동일 두 개의 문장, 즉 "I love you"와 "I hate you"가 구조적으로는 동일할 지라도 의미론적으로는 완전히 반대가 될 수 있는 겁니다. 패턴을 공부할 때에는 그 구조보다 의미와 의도를 우선해야 하며, 이는 다양 실례를 케이스 바이 케이스로 접하면서 추론화 및 자신만의 모델화라는 작업을 통해 하는 것이 최선입니다. 스스로 문법을 발견하고 체득하는 것이라고 할까요.
         역시 GoF의 명인 존 블리스사이즈는 다음과 같이 말합니다:
         제가 여러번 강조, 어떤 지식을 체화하기 위해선 그 지식으로 살아야 다는 말을 여기서도 확인할 수 있군요. 영어를 배우려면 영어로 살고, DP를 배우려면 DP로 살아라. 단순하면서도 아주 강력 말 아닙니까.
         어떤 특정 문장 구조(as much as ...나, no more than ... 같은)를 학습하는데 최선은 그 문장 구조를 이용 실제 문장을 나에게 의미있는 실 컨텍스트 속에서 많이 접하고 스스로 나름의 모델을 구축(constructivism)하여 교과서의 법칙에 "기쁨에 찬 동의"를 하는 것입니다.
         주변에서 특정 패턴이 구현된 코드를 구하기가 힘들다면 이 패턴을 자신이 만지고 있는 코드에 적용해 보려고 노력해 볼 수 있습니다. 이렇게 해보고 저렇게도 해보고, 그러다가 오히려 복잡도만 증가하면 "아 이 경우에는 이 패턴을 쓰면 안되겠구나"하는 걸 학습할 수도 있죠. GoF는 결 같이 패턴을 배울 때에는 "이 패턴이 적합 상황과 동시에 이 패턴이 악용/오용될 수 있는 상황"을 함께 공부하라고 합니다.
  • RandomWalk2 . . . . 66 matches
         바퀴벌레 마리가 판 위를 돌아다닌다. 이 바퀴벌레가 각 칸을 방문 횟수와 총 움직인 횟수를 구하라.
          * 뼈대예시 ["RandomWalk2/ClassPrototype"] (OOP를 처음 다루는 경우가 아니라면 보지 않기를 권다)
         첫 줄의 M,N은 판의 행과 열로 판의 크기를 말하고, 다음 라인의 숫자 두 개는 바퀴의 초기 위치로 행과 열의 순서다. 다음 줄에는 바퀴의 여정이 나오는데 0부터 7 사이의 숫자가 이어진다. 0부터 7 사이의 숫자는 방향을 의미다. 0이 북쪽이고, 시계방향으로 1,2,3,...7이 배치된다. 마지막 줄은 999로 끝난다.
         10행 10열의 판의 0행 0열 지점에서 바퀴가 출발하고, 처음 다섯 칸을 동쪽으로 움직인 다음, 다섯 칸을 남쪽으로 움직이고, 마지막에 남서쪽으로 칸 움직인 다음 끝난다.
          * 판 위의 모든 칸(cell)을 번 이상 방문했거나
         바퀴는 여정에 따라 번에 칸 씩 움직이되 총 8 방향 중 하나로 움직일 수 있다. 만약 판의 끝을 넘어서면 반대쪽으로 돌아 나오게 된다.
         표준 출력을 통해, 바퀴가 총 움직인 횟수와 각 칸에 도달 횟수를 출력다. 양식은 다음과 같다.
         첫 번 째 줄은 바퀴가 총 움직인 횟수(처음 바퀴가 놓이는 것은 움직인 것으로 치지 않는다)이고 줄은 띈 다음, 판의 각 칸에 바퀴가 방문 횟수를 행렬로 출력하되, 동일 행의 칸은 빈칸(스페이스)로 구분하고, 각 행은 하나의 줄을 차지다.
         대부분의 프로그래밍 문제나, 경시대회 문제는 번 주어진 문제에 번 대응하면 그걸로 끝난다. 하지만 현실은 그렇지 못하다. 번 개발 프로그램을 요구사항 추가/변경에 따라 몇 번이고 수정하고 다시 개발해야 할 때도 있다. 우리가 말하는 문제풀이 능력에는 이미 만든 프로그램을 유지보수하는 작업도 포함되어야 다.
         교육에 있어 이런 작업이 중요 이유 중 하나는, 자신이 만든 프로그램이 해답을 제대로 내느냐는 것을 확인하는 데에는 문제를 번 푸는 것으로 족하지만, 거기서 코드의 디자인 질을 확인할 수가 없다는 문제가 있기 때문이다. 하지만, 요구사항 변경에 따라 자신이 개발 프로그램을 다시 수정하게 되면, 이전에 만든 코드의 질에 따라 그 노력에 현격 차이가 난다. 디자인 질이 높으면 아주 짧은 시간 안에 간단하게 요구사항 변화에 대응할 수 있을 것이고, 질이 낮았다면 장기간에 걸쳐 여기저기를 들쑤시고 골치를 썩혀야 할 것이다.
         이런 경험을 하게 되면 "디자인의 질"이 무엇인가 직접 체험하게 되고, 그것에 대해 생각해 보게 되며, 실패/개선을 통해 점차 디자인 실력을 높일 수 있다. 뭔가 잘하기 위해서는, "이런 것이 있고, 난 그것을 잘 못하는구나"하는 "무지의 인식"이 선행되어야 다. (see also Wiki:FourLevelsOfCompetence )
         다음은 코드 디자인이 좋지 못했을 경우 고생을 할 요구사항 변경들이다. 그냥 대충 생각나는 대로 아무것이나 나열 게 아니고, 순서나 변경사항이나 모두 철저하게 교육적 효과를 염두에 두고 "디자인"되었다.
         변경사항은 순서대로 "누적적"이다. 변경1을 볼 때는 변경2를 보지 않는다. 현재의 변경을 모두 완료 후에야 다음 변경을 볼 수 있다. 따라서 변경3을 하고 있다면, 사실상 현재의 코드는 {{{기본 요구사항+변경1+변경2}}}를 이미 충족하고 있어야 다.
         만약 자신이 작성 코드를 위키에 올리고 싶다면 {{{RandomWalk2/아무개}}} 패턴의 페이지 이름을 만들고 거기에 코드를 넣으면 된다. 이 때, 변경사항을 하나씩 완료함에 따라, 코드의 어디를 어떻게 바꿨는지(예컨대, 새로 클래스를 하나 만들어 붙이고, 기존 클래스에서 어떤 메쏘드를 끌어온 뒤에 다른 클래스가 새 클래스를 상속하게 했다든지 등) 그 변천 과정과 자신의 사고 과정을 요약해서 함께 적어주면 자신은 물론 남에게도 많은 도움이 될 것이다. 또, 변경사항을 하나 완료하는 데 걸린 시간을 함께 리포팅하면 가지 척도가 될 수 있겠다.
         바퀴벌레의 마리수가 두마리로 늘어난다. 그리고 "턴"(turn)의 개념이 생긴다. 턴은 일종의 단위시간으로, 번의 턴에 두 마리의 바퀴벌레는 각각 자신이 예정 방향으로 이동을 다.
         입력자료는 다음과 같이 바뀌어야 다.
         처음 턴에 1번 바퀴는 2방향으로 칸 움직이고, 2번 바퀴는 1방향으로 칸 움직인다. 둘 중 쪽 바퀴의 여정이 끝나도 다른 하나의 바퀴 여정이 끝나지 않으면 게임은 종료하지 않는다. 하지만, 두 바퀴 중 어느 누구의 여정도 끝나지 않았더라도 판 위의 셀이 모두 방문되었다면(즉, 1이 방문 셀과 2가 방문 셀의 합집합이 전체 셀이라면) 게임은 종료다.
         바퀴에 두가지 종류가 있다. {{{SuperRoach}}}와 {{{NormalRoach}}}가 그것이다. {{{NormalRoach}}}는 번에 칸,{{{SuperRoach}}}는 번에 두칸을 쓸고 지나간다.
         첫번째 바퀴는 슈퍼바퀴로 0행0열에서 시작해서 22222444445의 여정대로 여행다. 두번째 바퀴는 정상바퀴로 3행7열에서 여행을 시작다.
         출력정보는 바퀴별 움직인 횟수(슈퍼바퀴의 경우 번에 두칸을 움직이기에 움직인 횟수 역시 두번으로 친다)와 판의 상태다. 앞서의 경우와 동일하다.
  • AcceleratedC++/Chapter11 . . . . 65 matches
         3장에서 작성 Student_info 타입은 복사, 대입, 소멸시에 어떤 일이 수행되는지 명세되어있지 않음.
         실제로 클래스를 제작할 경우에는 클래스의 생성, 복사, 대입, 소멸의 고려하여 설계되어야다.
         클래스를 설계할때에는 우선 인터페이스를 결정해야다. 인터페이스의 결정에는 실제로 그 객체를 이용 프로그램을 작성해보는 것이 좋다.
         //첫번재 요소와 마지막 요소에 대 반복자 리턴
          연산을 결정후에는 어떤 방식으로 Vec를 구현할지를 결정하는 것이다.
          여기서는 '''template class'''를 이용다.
          begin, end, size 함수를 구현해야 하므로 이러 작업을 위해서 '''첫 요소의 주소, 마지막 요소를 하나 지난 주소, 요소들의 개수'''를 저장할 수 있어야다.
          size는 begin, end 를 통해서 그 크기를 구하는 것이 가능하므로 여기서는 '''첫 요소의 주소, 마지막 요소를 하나 지난 주소'''를 저장하고 개수는 계산을 통해서 구현다.
          템플릿은 단지 틀일 뿐이며, 사용할때 type parameter로 준 형에 따라서 실제의 클래스를 생성다.
          앞의 인터페이스 명세에서 아래의 2가지를 가능하게 하도록 했기 때문에 생성자 2개는 최소 구현해야다.
          // 표준 vector 클래스는 크기와 함께 초기화 요소를 인자로 받는 생성자도 제공다.
          2번째 생성자는 초기화의 인자로 인자 파라메터인 T의 생성자를 이용다.
          인자의 기본형을 지정해주면 개의 함수정의로도 2가지의 생성자의 역할을 할 수 있기 때문에 편리하다.
          생성자가 하나의 인자를 받는 경우. 일반적인 대입 생성자와 혼용이 될 가능성이 존재하기 때문에 명시적인 생성만을 허용시키는 방법이다. (12.2 절에서 자세 논의)
         Vec<int> vi = 100; // not working. 암묵적으로 Vec를 생성하고 그 값을 vi 에 복사다. refer 11.3.3
          절적 typedef를 추가하고, 멤버 데이터의 형도 여기에 맞추어서 변경하였음.
          상기의 연산을 가능하게 하기 위해서는 operator[], size() 함수를 정의 해야다.
          만약 멤버 함수로 연산자가 정의 되어 있다면 좌측 피연산자는 함수를 호출 객체로 간주되고 오버로드 연산자는 인자로 우측의 피연산자만을 인자로 취다.
          모든 멤버함수는 암묵적으로 가지의 인자를 더 받는다. 그것은 그 함수를 호출 객체인데, 이경우 그 객체가 const이거나 const 가 아닌 버전 2가지가 존재하는 것이 가능하기 때문에 parameter specification 이 동일하지만 오버로딩이 가능하다.
         사실 이렇게 상세 객체의 행동양식을 규제할 수 잇는 언어로는 C++이 유일하다. (그만큼 클래스를 작성할때 많은 것들이 고려되어야다.)
  • OurMajorLangIsCAndCPlusPlus/stdio.h . . . . 65 matches
         || int fgetc(FILE *) || 해당 스트림에서 글자를 받아온다. ||
         || int fgetpos(FILE *, fpos_t *) || 해당 스트림의 포인터의 위치를 fpos_t에 저장다. ||
         || char * fgets(char *, int, FILE *) || char*에 int의 길이만큼 스트림에서 읽어서 저장다. 파일의 끝이나 오류일 경우 NULL을 리턴다. ||
         || int fileno(FILE *) || 해당 스트림의 핸들을 반환다. ||
         || int fprintf(FILE *, const char *, ...) || 해당 스트림에 문자열을 기록다. ||
         || int fputc(int, FILE *) || 해당 스트림에 문자를 기록다. ||
         || int fputs(const char *, FILE *) || 해당 스트림에 문자열을 기록다. ||
         || FILE * freopen(const char *, const char *, FILE *) || 세번째 인자의 스트림을 닫고 그 포인터를 첫번째 인자의 파일으로 대체다. ||
         || int fscanf(FILE *, const char *, ...) || 해당 파일에서 문자열을 지정 형식으로 읽어들인다. ||
         || int fsetpos(FILE *, const fpos_t *) || 해당 스트림의 포인터를 지정 위치로 옮긴다. ||
         || size_t fwrite(const void *, size_t, size_t, FILE *) || 해당 내용을 두번째 인자의 크기만큼, 세번째 인자의 횟수로 스트림에 기록다. ||
         || int getc(FILE *) || 해당 스트림에서 글자를 받아온다. ||
         || int getchar(void) || 표준 입출력으로 부터 글자를 읽어온다. ||
         || char * gets(char *) || 표준 입출력에서 줄을 입력받는다. 오류가 발생할 경우 NULL을 리턴다. ||
         || void perror(const char *) || 마지막 에러에 대 오류메시지를 출력다. ||
         || int printf(const char *, ...) || 해당 형식의 문자열을 출력다. ||
         || int putc(int, FILE *) || 해당 스트림으로 문자를 출력다. ||
         || int putchar(int) || 표준 입출력으로 문자를 개 출력다. ||
         || int puts(const char *) || 표준 입출력으로 줄을 출력다. ||
         || int remove(const char *) || 해당 파일을 삭제다. 성공시 0, 실패시 -1을 리턴다. ||
  • 데블스캠프2012/둘째날/후기 . . . . 65 matches
         = 웹 서비스 구축 전반에 관 이야기 =
          * [김태진] - 상민선배님이 오셔서 웹 전반에 관 이야기를 해주신건 작년 성년식때도 그렇고(그땐 아이폰이었지만) 참 유익 배경지식들을 많이 얻을 수 있는 기회인거 같아요. 후반부에 git에 관 이야기를 따로 잠깐 해주신거도 꽤나 유용 정보였구요. 다들 이런식으로 각 세션에 대해 후기를 작성해주면 된답니다.
          * [권순의] - 웹에 대 많은 이야기를 들을 수 있어 좋았습니다. 선배님의 굉장 호기심?이라고 해야하나.. 그런 알고자 하는 열망이 정말 즐기고 있구나 라는 생각이 들었습니다. 정말 행복해 보이시더군요. 웹이라는 것이 정말 무궁무진하다라는 생각도 들었습니다. 그리고 월간 마소도 좀 많이 봐야겠군요. 1년 정기 구독 했으니 많이들 봐 주시길...
          * [이재형] - 아직은 새내기이고, 아는 것도 거의 없어서 듣는데 많이 힘들긴 했지만 제가 컴퓨터 공학부 학생으로서 앞으로 이 길을 걷는데 도움이 될만 정보들을 많이 얻은 것 같습니당. 웹서버가 실제로 어떻게 구성되고 그를 위해 무엇이 쓰이는지 사실 아직도 제대로된 이해가 되지 않지만 좋은 '익숙함'을 얻은 것 같아서 기분이 좋았습니다. 감사합니다~~
          * [김민재] - XE를 다루면서 MySQL에 대해서는 조금 알았지만, 오늘 이야기를 들으면서 많은 종류의 DB와 프레임워크가 있다는 것을 처음 알고 놀랐습니다. 아직 실력이 많이 부족 탓에 이해를 못 점도 있었지만, 웹에 대 전반적인 이야기를 들으면서 웹에 대해 많이 이해할 수 있었습니다. 특히 우리가 사용하는 웹 서비스 하나를 위해 140대나 되는 Queueing Server가 필요하다는 점에 놀랐습니다. 앞으로는 여러가지 분야에 호기심을 가지고 관심을 가지도록 해야겠습니다.
          * [서민관] - 유상민 선배님께서 오실 줄은 몰랐는데 정말 귀중 시간을 써 주신 것 같습니다. 개인적으로 웹이나 서버 쪽에도 관심이 많아서 관련 이야기를 좀 들을 수 있어서 좋았습니다. 개인적인 사정으로 이야기를 자세히 못 들어서 좀 아쉬웠지만 잠깐 듣기에도 꽤 흥미가 가는 내용이었습니다. 그리고 집에서 월간 마이크로소프트를 현재 보고 있는데, 말씀하시는 걸 들어보면 월간 마소 좀 보면서 이것저것 해 보는 게 좋을 것 같네요. 여담이지만 형진 선배가 정말 이상 걸 잘 하시는군요... 삼성도 참 문제가 많은듯...
          * [서영주] - 웹 개발을 위해 필요 전반적인 지식에 대해서 알 수 있어서 좋았습니다. DB관련해서 어떤 것이 있는지, 주 언어에는 어떤 것들이 있는지. 어떤 것들을 공부해야 하는지 방향성을 알 수 있었던게 컸던 것 같습니다. 그리고 개인적으로는 개인 서버 구축이나 취미로 하는 공부도 나중에 현업에 나가서 도움이 되는 것이 많다는 얘기에는 상당히 끌리는 부분이 있었습니다. 나중에 개인 서버를 만들어서 유용하게 써봐야겠습니다. 감사합니다.
          * [안혁준] - 웹서비스를 위 전반적인 사항을 깔끔하게 정리해주셔서 많은 도움이 되었습니다. 가끔은 이렇게 전반적인 것을 정리할 필요가 있다고 느끼지만서도 제 지식이 짧아서 스스로 하지 못하고 있었는데, 이번이 정말 좋았던 기회인것 같습니다.
          * [변형진] - 이번 데블스캠프에 웹 관련 주제가 많기도 하고, 다들 웹에 관심도도 높아 보이는 게 바야흐로 웹의 전성 시대가 확실 듯 합니다. 혹시 더 관심있는 분들은 여름방학에 함께 공부할 기회를 만들어드릴게요. ㅎㅎ
          * [김준석] - 웹서비스는 학교에서 배울수 없기에 강의주제로 잡았었는데 거기에 배우는 Skill 트리나 개발자로서 '1년후에나 쓸모있는 마소'를 읽는법을 가르쳐주셔서 좋았습니다. 현재 하시는일 잘되시길바라고 부족 제 세미나를 채워주셔서 감사합니다.
          * [정진경] - 웹 서비스를 하고 싶을 때 기반이 되는 옵션이 쭉 정리된 느낌입니다. 각 언어별 프레임워크에 대해서는 잘 와닿지가 않았던 것 같네요. 아마도 아무 것도 안만져봐서 그런 것 같습니다. 하나 골라서 써봐야겠습니다. 새로운 것에 대 도전으로는 루비온레일스가 끌리네요.
          * [권순의] - 앞에서 내용으로 인해 날로 먹기 강의가 되었군요. 뭐 APMSetup을 설치하고 FileZilla로 서버 사용 것 까지는 해 봤는데 블로그 만들고 하는 짓은 안 해봐서 뭐.. 새로웠습니다. 근데 본인 특성상 블로그는 운영 안 할 것 같네요. 지워야 하나.. 아 컴터 하나 사서 서버로 쓰고 싶네
          * [김해천] - 가끔씩 뻘짓으로 웹호스팅에서 빌린 걸로 제로보드나 뭐 이상 걸 많이 해 보기는 했습니다만, 이렇게 자기 컴퓨터로 이런 걸 재현할 수 있다는 것에 신기했습니다. 설정에 관련된 것을 알아가는 시간이여서 좋았습니다. 워드프레스는 글 포스팅 할 때 환경설정에 들어가서 뜯어고치는 것 같다는 생각을 지울수 없네요ㅠ_ㅠ. 위키는 꼭 나중에 따로 설치해서 구동을 해 봐야 겠습니다.
          * [김민재] - APM이 뭔가 했더니 Apache + PHP (perl? python?) + MySQL 인걸 알았을 때의 놀라움 ㅋㅋㅋㅋ 내 컴퓨터에서 준석이 형 페이지에 접속했을 때 정말 신기했습니다. 또 MyAdmin으로 데이터베이스를 직접 만드는 것도 처음 해보았습니다. (cafe24 호스팅에서는 DB 만들기가 안되더라구요..) 오늘 여러모로 신기 체험을 많이 해 보았습니다.
          * 리눅스에서는 데비안 계열의 Aptitude와 레드햇 계열의 YUM을 쓰면 "훨씬" 편리하고 서버로 쓰기 적절 설정으로 설치되고 업데이트도 쉽게 되니깐... - [변형진]
          * [서영주] - 학교에서 웹기술 관련 수업을 들었던 적이 있었는데 프로젝트를 어떻게 만든다느니 그런걸 제대로 모르고 무작정 했어서 이번에 직접 구조를 눈으로 본게 엄청 와닿는게 있었습니다. 웹 관련으로는 늘 애매 느낌으로 인식하고 있었는데 뭔가 손에 닿는듯 느낌이 있어서 좋았습니다.
          * [권순의] - 그렇게 자바 스크립트를 깊게 공부 편이 아니고 그냥 알바 하면서 깔작깔작 본 정도라 대강의 내용은 이해는 하겠다만 편견이 있을만큼은 아니었나보네요. 그냥 그 상태로 받아들이는 시간이었습니다. 보다 심도 있는 웹 공부를 해 봐야 겠다는 생각이 드네요.
          * [김도현] - 예전에 혼자서 자바 해보려다가 포기했던게 기억나네요 ㅋ. 오랜만에 다시 들어보니까, 더멘붕. 그래도 피보나치 짜는거라던지 배열쓰는거라던지 직접해보니까 의외로 c랑 비슷 느낌이들어서 친근해졌어요. javascript에 대해서 아무생각도 없었지만 그래도 좋은 인상을 많이 받았습니다
          * [김해천] - 처음에는 잘 안 듣다가, 갑자기 이해가 안 가서 혼자서 화를 내고, 나중에 다시 PPT를 보고는 혼자서 복습 시간이었습니다. 화를 낸 것에 대해서는 깊은 반성을 합니다. JavaScript라... 뭔가 C보다는 문법적으로 다양 유동성을 가지고 있다는 생각을 했습니다. 이번 방학때는 이미 할 게 많지만, 시간이 난다면 마스터 해 보고 싶다는 생각이 들었습니다.
          * [김태진] - JavaScript를 많이 쓰던 때는 1학년 방학때랑 동문네트워크 만들 때 뿐이었는데, 그때는 좀 객체에 관해서 따지진 않고 했습니다. 그에비해 이번엔 엄청난 추상화를 할 수 있다는걸 다시 번 생각해보고, 음.. 재밌는 언어네요. 방학중에 여행갔다오거든 Canvas로 뭔가 해보고싶기도 하고, 그렇네요. 작년에 피보나치를 함수형으로 짜라고 할땐 멘붕했는데, 이번엔 글 문제를 그냥 for문으로 쓴지라 쉬웠달까요..
  • 페이지제목띄어쓰기토론 . . . . 65 matches
         == 주제 : 글제목페이지를 만들때 띄어쓰기를 할 것인가? 제목에서 띄어쓰기를 했을때 어떠 장단점이 있을까? ==
         === 글제목과 영문제목의 차이 ===
         영문제목의 경우 대문자 단위로 붙여 쓰면 {{{~cpp (ex: TheWikiName) }}} 페이지 표시해줄때 {{{~cpp The Wiki Name}}} 식으로 알아서 띄어서 찍어준다. 하지만 글제목의 경우는 지원하지 않는다.
         === 제목에 글 띄어쓰기 허용시 장단점 ===
          * 글 표현에 대 제약이 없다.
         === 제목에 글 띄어쓰기 불허용시 장단점 ===
          * 제목에 대 일관적인 원칙이 생긴다.
          * 글 표현에 대해 제약이 생긴다.
          * 영문 제목의 경우 모두 빈칸을 붙여서 사용다. (제목으로 표시될때 자동으로 단어의 대문자 단위로 빈칸을 띄어주므로)
          * 글 제목의 경우 붙여쓰기를 기본으로 하되, 띄어쓰기도 허용다. (띄어쓰기에 따른 효과는 아직 검증되지 않았으므로, 별다른 제약을 가하지 않기로 함)
          * 제목중 특수문자는 일단 자유롭게 허용다.
         "Trim, 글자간 칸" 이정도의 규칙이면 별무리 없을것 같은데, 엄청나게 빠르게 문서가 누적되는 상황이 아니기 때문에, 3~4개월 정도 혹은 정모때 논의해서 정리하는 것도 괜찮을것 같다. --상민
         전 wiki:NoSmok:페이지이름띄어쓰기 에서 내린 김창준선배님의 결론에 동의하는 입장입니다. 복합명사는 띄어쓰기를 마음대로 해도 되거든요. 어쩌면 이미 익숙해졌기에 이런 말을 할 수 있는지 모르겠지만, 띄어쓰기로 인 불편은 아직 못느꼈습니다. --데기
         문제를 시스템과 관련해서 제을 두지 말고 생각해봅시다. 글 띄어쓰기가 더 사용하기에 좋은지, 아니면 붙여쓰더라도 별다른 불편이 없는지. 만약 띄어쓰는게 더 좋은 방법이라고 모인모인을 수정해볼수도 있겠죠? 예를들어, 글의 경우 마음대로 띄어쓰기를 하는 경우가 중복된 페이지를 생성하는데 문제가 된다면, 검색시나 새로운 페이지 생성시 white space 를 제외 검색으로 페이지를 보여줄수도 있겠지요. 생각해보면 다른 '구현' 방법도 찾을 수 있을것 같습니다. 문제는, '문제'자체가 어떠게 더 좋은 방법인지를 이야기해보도록 합시다. -- 이선우
         저는 위에서도 언급했지만, 공백을 넣는것은 글에서는 반드시 필요하다고 생각합니다. 띄어쓰기의 배제는 언어 자체의 특성을 제을 제공다고 생각합니다. --상민
         우선, 국어는 영어와 달리 띄어쓰기를 하지 않아도 크게 불편하지 않습니다. 문자와 말의 특성 때문입니다. 하지만 이것이 띄어쓰기를 경우보다 정보 손실이 있다는 점은 사실입니다. 현재 모인모인에서는 {{{~cpp ["..."]}}}를 이용해서 확장위키이름을 사용하는 , 띄어쓰기를 하든 안하든 상관이 없습니다. 띄어쓰기를 하는 것이 좋겠다고 생각을 다면 그렇게 해보세요. 그리고 나서 토론해 보는 것이 좋을 것입니다. 현재 노스모크는 규칙 변경을 하기에는 비용이 너무 높습니다.
         저는 만약 글 띄어쓰기를 허용하면 분명 어리버리 영문도 띄어쓰기를 하는 사람들이 증가하게 될 것이고, 이는 곧 위키네임이라는 엄청나게 편리 기능을 사장시킬지도 모르겠다는 우려를 했었습니다(어떤 규칙을 허용하면 그 규칙은 다른 규칙을 점진적으로 파괴하기도 합니다). 노스모크 초기 때에 페이지이름에 대해 엄격 룰이 없었는데 제가 우려 현상이 나타났었죠. 글이건 영문이건, 띄어쓰기를 하는 사람도 있었고, 안하는 사람도 있었고.
          DeleteMe) 위키네임이 주는 편리 기능이란, 손쉽게 같은 내용의 중복을 방지하고 하나의 집약된 문서를 만드는 것인가요? 초기에 노스모크에서 일어난 글 띄어쓰기 문제가 곧 영문의 경우에도 임의로 띄어쓰게 결과를 낳았고, 이로 인해 발생 문제는 '중복된' 페이지의 양산,혹은 사용자가 원하는 페이지를 쉽게 찾을 수 없는데에서 기인하는지 알고 싶습니다. 전, 순수하게 띄어쓰기 자체가 사람이 문자나 내용을 인지하는데 나쁜 영향을 준다고는 생각하지 않습니다. (현재 자연스러운 글쓰기 형태는 지금 쓰는 문서처럼 띄어쓰기를 허용하니까요. 물론, 제목의 경우에도 예외라 생각하지 않습니다.). 정리해서, 띄어쓰기 자체가 띄어쓰지 않는것보다 좋지 않다고 생각하시는건지, 아니면 위키와 결부된 기능상의 문제인지 알고 싶습니다. -- 이선우
          거듭 말씀드리지만, 기능상으로는 제이 없습니다. 그리고 띄어쓰기 자체가 붙여쓰기보다 나쁘다는 어처구니 없는 일반진술도 하지 않았습니다. 어떤 구체적인 컨텍스트 속에서 이야기를 해야죠. 위키네임이 주는 편리 기능이란 단어를 붙여쓰면 자동으로 링크가 되는 것을 말합니다. 사람들이 FrontPage라고 하면 될 것을 {{{~cpp ["front page"]}}}나 {{{~cpp ["Front Page"]}}}, 혹은 {{{~cpp ["Frontpage"]}}} 등으로 링크를 걸었다는 것이죠. 또, 사실 사용자가 띄어쓰기를 하건 말건, 혹은 대소문자를 어떻게 섞어쓰건 일종의 분리층(separation layer)을 둬서 모두 동일 페이지이름으로 매핑을 하는 방법이 있습니다. 하지만 이렇게 되면 새로운 규칙 집합(제가 말하는 규칙이란 사람들간의 규칙을 일컫습니다)이 필요할 것입니다. 국문 경우는 몰라도 영문 경우는 띄어쓰기를 하냐 안하냐가 아주 차이가 큽니다. 노스모크는 초기부터 영어 페이지이름을 많이 사용했고 현재도 그러하기 때문에 이런 문제는 꽤 중요했죠. 또 (영문 경우) 기존의 위키표준을 지킨다는 생각도 있었고요. 하지만 여기는 아직 출발단계이고 하니까 다른 실험을 해볼 수 있겠죠. 아, 그리고 생각이 난건데, 페이지이름을 띄어쓰기를 하게 되면, 사람들이 이걸 위키에서 말하는 어떤 고유 "단어"로서의 페이지이름(위키의 페이지이름은 "단어"입니다. 그게 하나의 커뮤니케이션 단위이기 때문이죠.)이 아니고 게시판에서의 게시물 제목 수준으로 생각하게 되는 경향(affordance)이 있었습니다. 사실 위키에서의 페이지이름은 프로그래밍의 변수이름처럼 상당히 중요 역할을 하는데, 붙여쓰기를 하게 되면 사람들에게 기존 의식틀에서 벗어나서 페이지이름이 고유 것이고, 기존의 게시물 제목과는 다르다는 인식을 심어주는 데에 많은 도움이 되었습니다. 다른 원인도 있겠지만, 주변에서 페이지이름에 띄어쓰기 붙여쓰기 등 별 제 없이 자유로운 곳일수록 페이지이름을 페이지이름으로 활용하지 못하는 경우를 많이 봤습니다. 만약 띄어쓰기를 허용다면 오히려 더욱 엄격 규칙과 이의 전파가 필요할지도 모르겠습니다.
          아, 이제야 띄어쓰기에 대 어떠 문제가 있는지 알았습니다. 위키의 철학을 모른채 접근하다 보니, 단순히 띄어쓰기 자체에만 이야기를 것 같습니다. 위에서 제가 이야기가 "띄어쓰기 자체가 붙여쓰기보다 나쁘다"라고 선배님이 말씀하신것처럼 느껴지셨다면 사과드립니다. 그런 의도는 아니었고, 단순히 띄어쓰기를 왜 조심해야 하는지에 대해 이해가 가지 않아 거듭 질문드렸던거였습니다. 전 본 논의를 더 개진하기 전에 위키의 철학을 더 살펴봐야 본 뜻을 살려서 이야기를 할 수 있을것 같습니다. 말씀 감사합니다 :) -- 이선우
  • 새싹교실/2012/AClass/1회차 . . . . 64 matches
         -컴파일 : 프로그래밍언어로 코딩 것을 컴퓨터가 이해할 수 있는 기계어 코드로 변환하는 작업
          빌드: 컴파일과 링크를 합쳐 빌드라 다. 빌드를 해야 컴퓨터가 실행할수 있는 형태의 기계 링크: 프로그램마다의 라이브러리를 내가 만든 것과 연결해 주는 작업
         -전처리 과정이랑 컴퓨터가 코딩 파일을 컴파일 하기 전에 여러 텍스트를 바꾸고 고치는 기능. include<stdio.h>
         5.#define이 무엇을 의미하는지 쓰고, 이것을 사용 '간단' 프로그램을 하나 작성해보세요.
         7.if, else, else if문을 이용 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
         8.switch-case문을 이용 간단 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
         9.while문을 이용 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
         예습을 위 과제
         - 함수란 프로그램내에서 동일 명령문들의 반복되는 부분을 모아놓은 집합체이다. 피연산자나 식과 같이, 함수는 데이터형과 값을 갖고 있다.
         - 함수형 프로그래밍은 프로그래밍의 주된 구조가 함수 호출에 기반을 둔 프로그래밍을 말다. 기존 명령형 언어로 작성 프로그램보다 간결하고 더 추상적이며 이해하기 쉽고 형식적인 분석과 조작이 용이하다는 특징이 있다.
          void는 값을 반하지 않는다는 뜻이므로 return하지 않는다.
         -동일 데이터형을 가진 자료구조로, 변수이름을 각각 다른 이름으로 사용해야 하는 번거러움을 줄이기 위해 사용다.
         6.배열을 사용 간단 프로그램을 하나 만들어보세요.
         = 송이 =
          내용을 포함 시키도록 지시다.
          전처리 과정 : 컴파일러가 프로그램을 처리하기전에 특별 일을 수행해주는 과정
         5.#define이 무엇을 의미하는지 쓰고, 이것을 사용 '간단' 프로그램을 하나 작성해보세요.
          #define : 특정 대상을 정의함으로써 전처리기가 이를 특별하게 다루도록 하고싶을때 사용다.
          이렇게 정의된 특정 대상을 매크로 라고 다. 매크로는 전처리기 과정에서 정의된
          || : 논리 OR 예)a||b : a,b중 적어도 개가 참이면 1이고 그렇지 않으면 0이다
  • MFC/CollectionClass . . . . 62 matches
         '''컬렉션(Collection)'''은 특별 방식으로 구성되어 있는 임의 개수의 데이터 항목의 집합을 뜻다.
         || Map || 순서가 없는 데이터 항목의 집합. 키값을 통해서 각각의 컬렉션에 접근다. 데이터의 검색에 유용하다. 그렇지만 순차적인 접근이 필요 곳에서는 배열이 더 좋다. ||
          ''두가지 형태로 구현되어있다. 첫번째는 함수템플릿을 이용 형태로 구현되어있고, 두번째는 템플릿을 사용하지 않는 방법으로 옛 버전의 VC++에서 부터 사용되어온 방식이다. 현재는 템플릿을 이용 방법을 사용하는 것이 좋다.''
         객체의 컬렉션을 정의하는 템플릿 클래스는 MFC의 CObject클래스에서 파생된다. 이런 템플릿 클래스는 기본 데이터 형식이나 사용자가 정의 클래스, 구조체를 포함 어떠 종류의 객체도 저장, 관리하는 것이 가능하다. 이런 클래스들은 내부적으로 복사를 하기 때문에 복사생성자를 만들어야 다.
          첫번째 타입 인자는 저장될 요소의 타입을 말하며, 두번째 인자는 멤버함수가 사용하게될 인자를 말다.
          || {{{~cpp SetSize()}}} || 배열의 초기 개수를 지정다. 지정하지 않아도 동작하지만 어느정도의 값을 예측해서 주면, 불필요 매모리 재할당의 작업이 줄어들 수 있다. ||
          || {{{~cpp Add(ObjectType)}}} || 특정 객체를 배열에 저장다. ||
          || {{{~cpp GetAt(index)}}} || 인덱스로 지정된 배열의 객체를 리턴다. ||
          || {{{~cpp operator[index]}}} || GetAt()과 동일하게 작동하며, built-in 배열과 동일 사용법을 제공다. [[BR]] {{{~cpp pointArray.SetAt}}}(3, NewPoint)[[BR]]{{{~cpp pointArray[3]=NewPoint}}} ||
          || {{{~cpp Append()}}} || 인자로 전달된 배열을 배열의 끝 부분에 추가다. ||
          || {{{~cpp InsertAt()}}} || 인자로 전달된 객체를 배열의 특정 인덱스에 삽입다. ||
          첫번째 타입 인자는 저장될 요소의 타입을 말하며, 두번째 인자는 멤버함수가 사용하게될 인자를 말다.
          || {{{~cpp AddHead()}}} || 리스트의 첫번째 요소에 객체를 추가다.[[BR]]리턴형은 POSITION이다. ||
          || {{{~cpp AddTail()}}} || 리스트의 마지막 요소에 객체를 추가다.[[BR]]리턴형은 POSITION이다. ||
          || {{{~cpp GetNext(POSITION)}}} || 전달된 위치 변수를 증가시킨다. 마지막 객체에서 사용될때에는 NULL을 리턴다. ||
          || {{{~cpp InsertBefore(POSITION, ObjectType)}}} || 두번째 인자의 객체를 첫번째 인자의 위치의 앞부분에 삽입다. ||
          || {{{~cpp SetAt(POSITION, ObjectType)}}} || 첫번째 인자의 위치에 두번재 인자의 객체를 할당다. POSITION 의 유효성을 검사후에 사용해야다. ||
          || {{{~cpp GetHeadPosition()}}} || 리스트의 맨 처음에대 POSITION값을 리턴다. ||
          || {{{~cpp GetTailPosition()}}} || 리스트의 맨 마지막에대 POSITION값을 리턴다. ||
          || {{{~cpp GetAt()}}} || 특정 위치의 객체를 리턴다. ||
  • SmallTalk/강좌FromHitel/강의2 . . . . 61 matches
          재 필자가 사용하고 있고 또 자료실에 올려진 환경은 1.1판입니다. 그러므
          이지만, 자료실의 파일명 길이 제 때문에 위의 실행 파일을 다시 WinZip으
          리고 Smalltalk 프로그래밍에 대 흥미를 느낄 수 있도록 짤막 Smalltalk
          인하는 곳입니다. 일터는 '메모장'이나 '워드패드'와 비슷 동작 방법을 가
          지고 있습니다. 즉 흔히 사용하는 텍스트 문서 편집기와 비슷 동작 방식을
          이 창에 여러분은 마음대로 글을 쓸 수 있으며, 덩이(block)를 씌워서
          방금 우리가 실행 명령은 1972년 10월에 Smalltalk 시스템에게 처음으로
          지금 여러분은 200!, 즉 200의 계승을 구 것입니다. 정말 어마어마 자릿
          기본으로 제공하는 기능만으로 위와 같은 결과를 얻으려면 상당 노력이 필
          연수의 곱을 n에 대하여 일컫는 말입니다(글학회, 1994, 우리말큰사전).
          여기서 중요 것은 이러 시간값이 아닙니다. 필요하다면 Smalltalk에서는
          100만 분의 1초 단위로 명령 실행 시간을 측정할 수 있다는 것이 중요
          이제 Smalltalk의 내부를 번 들여다보겠습니다. Smalltalk 환경에는 많은
          는지를 눈에 알 수 있습니다.
          더 많은 수의 갈래가 존재다는 말입니다. 또 방금 실행 명령의 결과를
          지금까지 살펴본 것처럼 Smalltalk에서 어떤 명령을 실행 뒤에는 언제나
          결과가 남습니다. 그 중에는 "3 + 4."의 경우와 같이 간단 결과를 남기는
          경우도 있지만 지금의 경우처럼 복잡 결과를 남기는 경우도 많습니다.
          이와 같이 복잡 결과를 좀 더 쉽게 보기 위해서, 지금까지와는 다른 명령
          위에서 내린 명령을 번 더 실행해 봅시다. 역시 명령의 끝에 커서를 놓고
  • 영어학습방법론 . . . . 61 matches
         컴퓨터 공학도로써 계속 빠른 시간내에 쏟아져 나오는 신기술을 원서(원어)로 접하지 못다면 정보의 시공간의 격차(시간: 원서의 번역서 출간까지의 시간차, 공간: 저자의 의미와 번역자의 의미의 차이)로 인해서 다른 이들보다 정보를 습득하는 것이 늦어지고 이는 곧 앞서나갈 수 없음은 물론이거니와 따라가거나 바쁘거나 뒤쳐질 수 밖엔 없다.
         == 영어에 관 FAQ ==
          * 일상생활에서 동시에 카테고리의 단어들이 쏟아져 나오는 일은 없다.
          * 이것은 원어민들이 언어습득을 하기 용이 방법. 따라서 Toeic 500도 안되는 사람들이 하는건 말이 안됨.
          ex) speculate (수박을 먹으며 곰곰히 생각하다) 원뜻 : 곰곰히 생각하다. 이것이 다른 사람과 이야기하거나 책을 읽을때 수박이란게 먼저 생각난다면 곰곰히 생각하다와 아무 상관없는 것이 연상되어 도리어 단어를 제대로 쓰는 것에 해를 가다. 즉 이미지가 원뜻과 상관없는게 나오면 방해가 된다는 것
          * 자기가 이해하고 경험 것이나 이미지를 상상할 수 있는 문맥과 상황에서 나오는 단어들을 체득(!)하는 것이 가장 안정적이고 확실 단어 암기 방법이다. 즉 단어 하나하나를 외우는 단순 암기는 도움이 안됨. 그러므로 책을 통해서 외우는 것이 가장 좋음. 이것역시 손으로 일일이 써서 외우는게 아니라 문맥과 상황을 상상과 자신의 경험과 결부시켜서 문장을 이해다면 단어는 그 사이 자연스럽게 자기것이 된다는 것.
          * 먼저 중요 단어부터 외운다.
          * UWL : University Word List (http://jbauman.com/UWL.html) 이것은 여러 가지 버전이 있음. 홈페이지 참조. 대학생수준에서 필요 단어들. GSL과 UWL로 보통영어속의 단어의 90%커버
          * 되도록 정확 듣기와 발음을 같이 하는 것을 연습하면서 단어를 익히기.
          * Topic 중심이나 또는 아예 random 단어장이 괜찮음
          * 잘 안외어지는 단어는 동화[자신이 글로 계속 보고 싶을 정도로 좋아할 정도로 잘 아는 것. ex) Readers]같은 예문을 모르는 단어를 search하면서 그 단어의 쓰임을 예문을 통해서 외운다.
          * 영문을 해석할때, 단어의 뜻을 가지만 아는것과 여러가지를 아는것의 차이는 주관식 문제를 푸는것과 객관식 문제를 푸는것에 비교할수 있습니다.
          단어의 여러가지 뜻을 동시에 외우면 그 단어 고유의 명징 의미를 파악하는데 해가 됩니다. 김창준님도 그에 대 글을 쓰신 적이 있습니다. 단어의 여러 의미를 습득하기 위해서는 각 의미를 서로 다른 단어로 간주하고 습득, 여러 용례가 습득된 뒤에 용례 간의 논리적 공통점을 추론하는 것이 좋다고 봅니다. 그리고 죄송하지만 글의 통일성을 해치는 김정욱 씨의 의견은 스스로 삭제하는 것이 어떨까요? DeleteMe -- 지나가는 사람
          * 우리나라 사람들은 외국 사람과 발음, 청음의 이해차이가 있다. girl을 걸이라고 발음하지 않았고 Law와 Low를 외국사람들은 잘 구분하지만 우리는 별로이다. 이는 계속해서 들어온 발음에서 우리가 계속 구분해서 들어본 발음이 아니므로 우리가 구분하기 쉽지 않다. 따라서 비슷 발음은 자주 들어서 구분을 할 수 있는 연습이 필요하다.
          feel like ~ing 문법을 알아야다. [[BR]]
          즉 자주 쓰는 것으로 경험을 통해 축적해야만 위와같은 비슷 발음을 의미를 파악해서 구분이 가능하다.
          * 성문종합이나 그런 것은 70년대 쓰여진 책으로 보통 오래된 문법이나 심지어는 외국의 큰 문법사전에도 나오진 않는 예외규정이나 17~18세기 문법도 나오는등 국인이 쓰기에 적 문법책이 아니다. 문법공부를 다시하는 것은 우리들에게 불피요하고 Context에서 모르는 것이 나오면 문법책에서 모르는 것을 찾아본다. 아래에 참고서적에서 사전은 단어를 원뜻으로 이해할 수 있는 기회를 제공하고 제대로 뜻을 전달해준다. 참고문헌과 문법책은 다 쉽고 재밌어서 우리나라의 문법책처럼 무작정 법칙대로 외우게 하지 않는다.
          * 자신이 약 part를 분석 : 자기점수대의 다른 사람들과 비교해서 점수가 낮은 Part를 분석하고 중점적으로 공부다. 뒤에 자세히 설명함.
          * 가지 entity에 대 다양 representation을 알아야다.
          * ex) apple를 발음하는 다양 소리가 있다. 영어 강사나 테잎의 성우는 standard 발음을 다. 하지만 외국인들과 이야기하려면 standard가 아닌 영어도 들어야지 말할 수 있다. 모든 사람에겐 개인마다 각각 독특 점이 있지않나. 듣기,읽기,쓰기,말하기.. 이 기본적인 4가지. 거기에다 자신이 체득(경험) 것이 감각적으로 결합되어야 제대로 되어야만 작문이 됨. (체득에 관해서는 위에 자세히 설명했음. 영어가 몸에 배이지 않으면 안된다는 말.. 당욘 이야기임!)
  • MineFinder . . . . 60 matches
          * '지능' 해당 부분 - 변환된 데이터를 근거로 해야 할 행동을 결정하는 부분. 기본적인 형태는 유상태머신을 띈다.
          * 지뢰찾기 프로그램의 윈도우 핸들을 얻은뒤 DC를 얻은후 화면 캡쳐. 그리고 캡쳐 비트맵을 근거로 하여 데이터로 변환하는 루틴 관련 SpikeSolution
          * Expert mode 51초, Middle mode 11초 기록. 알고리즘 최적화에 대 다른 관점 잡음. (하지만, 여전히 깰 수 있는 확률 낮음)
          * 디자인 부분에서의 TFP의 중요성을 놓친것이 화근이 되었다는. -_-; 추후 알고리즘 부분으로 들어가면서 TFP를 게을리 점과 프로그램 돌아간다는 점에서의 즐거움에 시간낭비가 좀 심했다는..~
          * 미션 크리티컬 문제였다면 그냥 넘어가면 안될 일이지만. -_-; 장난감 가지고 노는 기분으로 일이였던지라.~ 그리 무게감을 가지고 일이 아닌 관계로 특별히 나쁘진 않았다.
          * 현실에서 가상으로 다시 현실로. 암튼 '1002 보기에 좋았더라'. 여전히 멍청 넘이고 주사위 던지는 넘이지만 (오호.. Random Open 때 주사위 돌리는 애니메이션을 넣을까. ^^;)
          * 지금쯤 다시 짜라고 다면 TFP를 좀 더 제대로 추구할 수 있을 것도 같다. (이 점에서 TFP를 할때 SpikeSolution 에 대 어느정도의 충분 시간을 두는 점이 좋을 것 같다는 생각이 들었다. 초기 SpikeSolution 으로 해당 부분을 간단하게 대강 해보고, Test를 할 수 있는 부분에 대 구체화하기.)
         [영현] 형 신기해~ ㅎㅎㅎ bitmap data로 숫자들과 거시기들을 구분건가..ㅡㅡa.. spy 좋구만..[[BR]]
          * 지뢰찾기 프로그램은 윈도우에 기본적으로 내장된 프로그램을 이용다.
          * 기본적으로는 Begineer Mode 만을 지원다.
          * 컴퓨터는 현재의 지뢰찾기 프로그램 상황을 알아서 판단하고, 해당 행동을 결정다.
         지뢰 버튼을 열고 깃발체크를 위 마우스 클릭시엔 WM_LBUTTONDOWN, WM_RBUTTONDOWN 이고, 단 ? 체크관련 옵션이 문제이니 이는 적절하게 처리해주면 될 것이다. 마우스클릭은 해당 Client 부분 좌표를 잘 재어서 이를 lParam 에 넘겨주면 될 것이다.
         손에 대 모델링이여서 그런지 손에만 집착하게 되었군. -_-; 이 일을 위해서는 손, 눈, 머리가 있어야 하겠는데. 마우스 노가다를 위 손, 해당 지뢰찾기 상태를 봐야 할 눈, 그리고 해당 상황에 따른 판단, 지시를 해야 할 머리의 모델링. (단, 여기에 각각에 대해 조건을 붙인다면 '지뢰찾기프로그램을 위' 이라는 말이 붙겠지만.)
         원리는 간단하다. 윈도우 핸들을 얻을 수 있다면, 해당 윈도우에 대 DC를 얻을 수 있을 것이다. DC를 얻을 수 있다면, BitBlt 을 이용, 비트맵을 메모리DC 쪽으로 복사할 수 있을테니까. (간단 캡쳐 프로그램시 이용할 수 있다.) 단, 화면을 복사하려는 프로그램이 다른 프로그램에 가려지면 안되겠다.
         머리는? 지뢰찾기 알고리즘에 해당되는 부분은. 으흐~ 나중에. -_-; 대강 이쯤 해서 각 부분부분에 대해 맞는지를 알아보기 위 프로그램을 간단하게 짰다.
          * [http://zeropage.org/~reset/zb/download.php?id=KDP_board_image&page=1&page_num=20&category=&sn=&ss=on&sc=on&keyword=&prev_no=&select_arrange=headnum&desc=&no=57&filenum=1 1차일부분코드] - 손과 눈에 해당하는 부분 코드를 위 간단 예제코드들 모음. 그리고 지뢰찾기 프로그램을 제어하는 부분들에 대해 Delegation 시도. (CMinerControler 클래스는 처음 '막 짠' 코드로부터 지뢰찾기 제어부분 함수들을 클래스화것임)
          * 지뢰찾기 프로그램은 윈도우에 기본적으로 내장된 프로그램을 이용다.
          * 지뢰찾기 프로그램을 조작다. (Mode 변환, 재시작, 지뢰체크, 빈칸 열기 등)
          * 지뢰찾기 프로그램의 화면을 Capture, 분석뒤 데이터화다.
          * 기본적으로는 Begineer Mode 만을 지원다.
  • OurMajorLangIsCAndCPlusPlus/errno.h . . . . 60 matches
         ||1||int EPERM||허가되지 않은 작동; 파일의 소유자(또는 다른 자원)나 명령을 수행할수 있는 특별 권리를 가진 프로세스.||
         ||2||int ENOENT||그러 파일이나 디렉토리 없음: 이것은 이미 존재하고 있을 걸로 예상 파일이 없는 경우에 일어 나는 "파일이 존재하지 않습니다"라는 에러이다.||
         ||4||int EINTR||가로채기 함수 호출;발생 비동기 신호와 호출의 방해된 종료. 이럴 경우에 당신은 다시 호출을 시도해보라.||
         ||6||int ENXIO||그런 장치나 주소가 없음. 시스템이 당신이 파일에서 설정 장치를 사용하고자 하나 그러 장치 를 찾을 수 없었다. 이것은 장치파일이 잘못 인스톨되었거나, 물리적인 장치를 빠뜨렸거나 또는 컴 퓨터와 제대로 부합되지 않았음을 의미다. ||
         ||10||int ECHILD||자식 프로세스(child process)가 없다. 이 에러는 자식 프로세스를 다루는 오퍼레시션을 사용했는 데 다루기위 어느 프로세스도 존재하재 않을 때 발생다.||
         ||11||int EAGAIN||자원을 일시적으로 사용할수 없다.; 그 호출은 나중에 당신이 다시 재시도 할수 있도록 다. 오 직 분기점에서 이러 이유로 EAGAIN에러 코드를 리턴다.||
         ||16||int EBUSY||시스템 자원 사용중; 분배될 수 없는 시스템 자원이 이미 사용중일 때, 예를 들어: 현재 마 운트된 파일시스템의 루트에서 개의 파일을 지우려 할 때에 이 에러를 만난다.||
         ||17||int EEXIST||파일이 존재: 새로운 파일로 만들겠다고 파일이 이미 존재다.||
         ||18||int EXDEV||파일시스템이 인지할수 없는 영역에 부적당 링크를 만들려고 시도할 때 이 에러메세지가 나온 다. 이것은 링크를 사용할때만 발생하지만 또, rename으로 파일을 재명명할 때 발생하기도 다.||
         ||19||int ENODEV||디바이스의 특별 정렬을 하는 함수에 주어진 디바이스가 잘못된 타입이다.||
         ||21||int EISDIR||파일이 하나의 디렉토리 이다; 쓰기(writing)위해 이 디렉토리를 열려고 시도할 때 이 에러는 발생 다.||
         ||22||int EINVAL||적합하지 않은 인수. 이것은 라이브러리 함수에 잘못된 인수를 주는것과 같은 종류의 다양 문제 를 지적하는데 사용다.||
         ||23||int ENFILE||지금 현재 프로세스에 너무 많은 파일이 오픈되어서 더 이상 오픈할수 없다. 복제된 기술자가 이 제에 대하여 셈다.||
         ||25||int ENOTTY||하나의 보통 파일에서 터미날 모드를 정하려 시도하는것과 같은 부적합 입출력 제어 오퍼레이션 에 발생.||
         ||28||int ENOSPC||디바이스에 공간이 남겨지지 않았다.; 파일에 쓰기 명령을 줬을 때 디스크가 가득차서 공간이 남아 있지 않으면 실패다.||
         ||31||int ENLINK||너무 많이 연결.; 하나의 단일 파일의 링크 수가 너무 길다. 리네임은 이미 할수 있는것보다 많은 링크를 가진 파일을 리네임하면 이 에러의 원인이 된다.||
         ||32||int EPIPE||부러진 파이프; 다른 파이프의 끝에서 프로세스를 읽는 것은 불가능 하다. 모든 라이브러리 함수 는 SIGPIPE로 일반화된 에러코드를 리턴다. 이 신호는 만약 처리되지 않거나 막아지지 않으면 그 프로그램을 멈추게 다. 그러므로 프로그램이 처리되거나 블록된 SIGPIPE를 갖지 않으면 항상 EPIPE가 보일 것이다.||
         ||36||int EDEADLK||교착상태 회피; 시스템 자원의 점유는 교착상태의 결과를 낳는다. 시스템이 모든 상황을 다 알아 챌거라고 보증하지 못다.||
         ||39||int ENOLCK||유용 락이 아니다. 이것은 파일 락킹 함수들에 의해 사용된다.||
         ||40||int ENOSYS||함수가 이행되지 않았다. 어떤 함수들은 정의된 옵션이나 명령들이 어떤것에서도 지원되지 않는 것이 있다. 만약 요청 함수에서 이런 에러를 얻는다면 그것들은 지원되지 않는 것이다.||
  • 제12회 한국자바개발자 컨퍼런스 후기/유상민의후기 . . . . 60 matches
         ["제12회 국자바개발자 컨퍼런스 후기"]
         원문 : 국 자바 개발자 컨퍼런스/12회 관련 개인 위키 페이지
         다만, '기술 변화의 중심에 서라 (국오라클 최윤석 전무)'건은 내용은 의미 없었는데, 발표자 '최윤석'씨의 부지런함에 놀랐다. 왜 국 오라클에서 일하는 사람이 저렇게 해야하는지 이해가 안갔다. 추측할수 있는건 두가지, 오라클 전무 그만두고 사업 준비 하던가, 오라클 전무 자리가 정말 할일이 없어서 자신이 좋아하는 취미생활 하기.
          * 좋은점 ~ 괜찮은 소프트웨어(stan2j) 추천, walking skeleton 이야기 재미있었다. 대부분의 말들에 자신의 경험을 소개건 매우 가치있었다.
          * 아쉬운점 ~ 요소중 두가지 대해서 핵심에 동의 안다. 중요 부분을 잘못 이해하고 말하는것 같다. 혹은 내가 잘못 이해하고 있는거 같다.
          * 좋은점 ~ 자세 절차를 잘 정해놔서 따라가기 좋다. 특히 꽤 자세 가이드라인이 있는 점이 좋다.
          * 많은 방법론과 경험을 통해 정립했다고는 하지만.. 글쎄.. 10년전에 소프트웨어 공학 책 그대로 읽는것과 별 차이를 못느끼겠다. 액션에 대 부분의 용어 설명이 필요 부분이 너무 많은 것 같다. 절차가 너무 많다. 이걸로 중소기업이나 소기업을 실행하게 만드는건 무리가 있다고 느낀다.
          * 나는 듣는 내내 발표자 본인이 확신을 가지지 못다고도 느낀다. 짧은 시간에 너무 많은 내용을 읽어줘버려서 발생하는 문제로 생각다. 그래도 이렇게 많은 정보를 이야기 하려면, 눈을 반짝이면서 신나게 해야 동조 할까말까 데.. 너무 방어적으로 남 이야기 하는거 같았다.
          * 지금 발표하신걸 '이건 뭐뭐 이다.'라고 부를만 명확 용어가 있나?
          * 중간에 말씀하신 것 중에 많은 자료를 참고해서 개념 정립을 했다고 말씀하셨다. 그렇다면 이 요구사항 문석 역시 아이디어의 근원이 될수 있는 방법론 중 참조걸 알수 있을까?
          * 대답 못함. 두개라도 언급되었다면 이해가 가지만..
         대답을 통해서, 학교에서 소프트웨어 공학 수업들었을때와 비슷 느낌을 받을 수 있었다. 요구 분석 절차를 위해서 300페이지 짜리 문서를 보면서 5분단위로 쪼개진 프로세스를 지키면서 하라는 소리는 하지말라는 의미와 별반 차이 없을 것 같다. 중간에 청중에게 질문
         '여기에서 가장 중요 역할이 누구인거 같아요? 바로 보조자 입니다. '
         보조자라는 표현은 잘못이라고 생각다. 이 사람이 주제하는 사람에게 회의가 어느 단계로 가고 있는지 알려주고 회의 내역을 기록다고 하였다. 이건 진행자 롤인데? 왜 보조자가하지? 보조자는 '기록자'에 가까운건데? 상상에 아마 컨설팅했던 본인의 롤이 보조자가 아니었나 싶다. 워크샵 주체인 팀장 옆에서 진행 가이드하고 내용을 본인이 기록건 아닌가 싶다. 이러면 당연히 '보조자'라는 모호 용어의 롤이 제일 중요하지.
         내가 보기에 실행 자체 데이터나 용어 정의를 잘못하지 않았을까 생각다.
         전 세션에서 손영수씨가 말 '걸어다니는 해골'이 좀 더 성공을 위해 현실적일 것 같다.
         소프트웨어 진흥원에서 이런식으로 가이드를 다는 부분이 충격이었다. 컨설팅 후 참여 인원이 지속하기 너무 어렵지 않을까 싶다. 본인이 정립했으므로, 시중에 참고할 만 관련 서적은 당연히 없고 용어 정의 부터 모호하다. 인상 깊은건 중간에 발표자와 프로그래머의 '행복'에 대 언급을 많이 하는데.. 난 이거 듣고 많이 우울해 졌다.
          * 내가 이해력이 낮아서 발표자가 말 용어의 상관관계를 잘 모른다.
         == 초보자를 우 분산 캐시 활용 전략 ==
          * 캐시가 안되서 망거 많이 봤다는 표현을 썼는데.. 그런거 본적없다. 사례가 있으면 좋겠다. 그냥 개념적으로 생각해도, 이 부분은 납득하기 어렵다. 국내 트래픽이면 그냥 돈써서 장비 업하면(스케일 업) 쉽게 해결된다. 뭐, 만약 사례가 네이버 만화라면 이해가 간다.
  • 새싹교실/2012/AClass . . . . 59 matches
          * 멘티 : 곽길문, 도상희, 송이, 황혜림
          * 6주차(6/13) - 1~5주차를 소화하지 못 할 경우를 위 주.
          * 일반적으론 거의 불가능 진도입니다.. 어디까지 나가느냐는 얼마나 해오시냐의 열의에 달려있습니다.
          * 코딩과제는 완전 프로그램으로 써 주시고(에러나지 않도록), 서술하는 문제는 간단하게(1~3줄) 써 주세요.^^
          * 코딩 것은 그냥 파일에 복사붙여넣어도 되고, .c파일을 보내주셔도 됩니다.
          * 완성하지 못 (코딩)문제는 어떤부분이 막혔는지 간단하게 써봐요~
          * 복습 및 생략 기초 내용
          1. #define이 무엇을 의미하는지 쓰고, 이것을 사용 '간단' 프로그램을 하나 작성해보세요.
          1. if, else, else if문을 이용 프로그램을 하나 작성해주세요. else나 else if를 3번이상 써 주세요.
          1. switch-case문을 이용 간단 프로그램을 하나 짜 보세요.(eg. Grade계산기 A,B,C)
          1. while문을 이용 프로그램을 하나 작성해 주세요. C수업시간이나 과제에 나온 것을 새로 짜보아도 좋습니다.
          * 위 과제가 너무 쉬웠던 분들을 위 추가 과제
          * 예습을 위 과제
          1. 배열을 사용 간단 프로그램을 하나 만들어보세요.
          * 위 과제가 너무 쉬웠던 분들을 위 추가 과제
          1. 재귀함수를 이용 프로그램을 하나 짜 보세요.(eg.1~n까지의 합, n!구하기등)
          * 오늘 처음 시작 새싹교실수업날이었습니다. 에공 ....-L-
         ==== 송이 ====
          * 출력해오실 과제는 코딩 과제 중 풀지 못 과제의 코드와 글쓰는 과제만 출력해 오시면 됩니다.
          * 자리 숫자이다가 2자리 숫자이면서 깨지는 것은 예외처리해주셔도 되고 하지 않으셔도 됩니다.
  • neocoin/Log . . . . 58 matches
          ==== 일 ====
          ==== 일 ====
          * IS - JTC1 과 TC중에 연관성 있을 만 주제에 대하여 리포트 10/1까지
          * 감안 : 임의의 비트맵 파일을 로드할수 있다. 임의 비트맵 파일로 저장할수 있다. MFC Class를 이용해 본다. Api로만 작성해 본다. Java로 작성해 본다. TDD를 생각해 본다. 어떻게 가능가?
          ==== 일 ====
          * 책에 대 기록을 느낌을 적게 기록하고, 기억남는 문구의 인용으로 대체하여 보았다.
          * 미루어두었던 정리의 시간이다. 다시금 생각나는 말 ''바보는 과거에 매달린다. 현자는 과거를 반성다.'' -드래곤 라자중- 이거 비슷 말일 것이다. 쉬운 일이지만 잊을때가 많다.
          * 이번달 마소를 보니, Tiger에서 추가될 개념이 C#에서 구현된 것이 많다. 대체 무슨 이점이 존재하는가 보고서 작성, 추가되기를 원하는 기능과 삭제되기 원하는 기능에 대 보고서 작성
          * 학습에 대 의견, 사실 보고서 작성
          * 영어 듣기 말하기 , 가장 절실거 같군. 거의 제로
          * Grid Computing에 관 리포트
          * 프로그래밍 언어론 4th 서 ( Concepts of Programming Language ) : PL 수업
          ==== 것 ====
          * ["ProjectZephyrus"] : 이게 20일에 시작줄 알았는데, 기록을 보니 12,3일 경에 시작듯 하다. 남는 자원을 이쪽에 최대 할당을 하려고 했는데, 욕심에 차지는 않는다. 일단, 본 궤도에 오른것 같고 부가적인 코딩 작업만이 남은것 같다.
          * 4월까지 책의 저자들이 나에게 말해 준것들에 관 분류, 기억에 남는 것들에 대 기록을 소흘히 했다. 물론 마인드 맵식으로 설명하라고 하면 설명 하겠지만, 역시나 아쉬운 감이 있다.
          * 5월이 끝나는 시점에서 Read의 수를 세어 보니 대략 55권 정도 되는듯 하다. 200까지 145권이니, 여름방학 두달동안 60여권은 읽어 주어야 다는 결론이 난다. 부담으로 다가오는 느낌이 있는걸 보니 아직 책에 익숙해지지 않은것 같다. 휴, 1,2학년때 너무 책을 보지 않은 것이 아쉬움으로 남는다. 남들이 4년에 읽을껄 2년에 읽어야 하니 고생이다.
          * 스케줄러를 보면 이번달도 그리 달은 아니었다. 하지만, 고질적인 문제점인 금요일에 헤이해 지는 것을 고쳐야만 다.
          * 전공, 교양 리포트등, 학교에서 모든 것은 집의 컴에 백업되어 있다. 놀지 않았단 말이야 T_T 애써 남길 것이 없는 것에 대 변명
          ==== 것 ====
          * 4월 달은 그저 학교 공부에 읽고 싶은 읽은 책을 읽은 정도이다. +알파 에 해당하는 것들을 많이 안했다고 할까. 그나마 책을 읽은 것도 목표 바를 채우지 못해 아쉽다.
  • 데블스캠프2011/셋째날/후기 . . . . 58 matches
          * 감회가 새로웠습니다. 교환학생 파견갔을 당시 자료구조 첫시간 과제로 받아 C++을 다시 기억해내고 클래스에 대 개념을 다시 생각해내고 &와 포인터, C++에서의 객체 선언을 알아내느라 고생했던 기억이 납니다. 이번에도 &와 객체 선언부에서 잠깐 해맸었어요.(역시 반복학습이 중요..) = 를 하나 빼먹어서 charAt 테스트에 통과하지 못했던 것은 아쉬웠습니다.
          * String 멤버 함수를 하나라도 더 짜보려는 무경쟁의식이 급 생기는 바람에(문화상품권이 그렇게까지 필요하거나 탐났던 것도 아닌데) 주변 후배들을 별로 챙겨주지 못해서 아쉬웠습니다. 언제 번 이후 정모 때 수경이가 String을 진행하지 않더라도 개인적으로라도 몇몇 후배들에게 실습을 시켜보고 싶어졌습니다.
          * 11학번을 위해 준비 코스인데 11이 '''하나도''' 안 와서 아쉽네요.
          * 처음 생각 것은 다른 내용인데 주제를 급하게 바꿔서 테스트 케이스를 미리 만들어오지 못 것도 아쉽습니다. 제가 테스트 케이스를 가져왔으면 다른 학우들이 구현할 때 조금 더 편했을텐데ㅜ
          * 불변객체가 되어야대서 그냥 내부에서 변경을 할 수 없게만 해주었는데 이게 맞는건가? 아 외부에서도 변경 안됨(아마)
          * 새내기가 있었으면 쉬웠을법 내용이 갑자기 난이도가 상승했네요 -ㅅ-;; C++을 군대가서 대부분 포멧(?) 하고 와서인지 어떻게 해야될지 몰라 멍 하니 있었던게 참... 시간만 그냥 허비했었던거 같아 씁슬했네요a 쩝.. 그래도 다시금 기억나게 되어 좋았습니다.
          * String Class를 만들고 java에서 상용하는 것과 같이 String의 함수들을 짜는 시간이었다. 처음 class의 생성자를 만드는데에만 시간을 거의 다 썼다. 생각과는 다르게 많이 어려웠다. 생성자를 만들고 두개의 함수들을 만들자 시간이 끝낫다. 프로그램을 작성하는데 익숙해 질 때쯔음 끝나서 아쉬었다. 나중에 String class 를 완성시겨봐야겠다.
          * 새내기가 없어서 hardCore coderace로 변해버린 C언어 코딩. String을 만드는건 너무 힘들었다. 하지만 이렇게 스피드하게 건 너무 오랜만이라 재미있었다. C++ 스트링클래스는 정말 예외처리가 많고 하다가 중간 중간 완성된것이나 예외처리 테스트를 만들어놨으면 나중에 더 빨리했을까했는데 너무 오래걸렸다는것이 아쉬웠다. 여튼 수고 당신에게 박수를. =
          * 사실 08년도에 잠깐 맛보기로.. 그것도 결국 졸려서 뻗어버리는 바람에 제대로 해보지 못했던 러플을 이번 기회에 해보는 계기가 되었습니다. 똑똑 코드를 많이 짜내지 못해서 아쉬운 점도 있었습니다(오히려 요행만 점점 늘어난...)
          * 처음엔 빨리 고급 구현을 하고싶은 마음이 들었는데 막상 고급 구현을 시키니 잘 못 짠 것 같아요. 잠깐이지만 Python 분명히 스터디를 했었는데 문법이 잘 생각이 안 나서 난감했습니다ㅜㅜㅜㅜ 그리고 RUR-PLE도 새내기들에게 흥미있게 다가갈 만 주제인데 막상 새내기들이 늦게 온 것이 매우 아쉽습니다.
          * python을 이용 학습 프로그램이엇다. 로봇을 이용하여 beeper를 줍고 버리고 하며 여러가지 실습 프로그램을 하엿다. 교육용프로그램이라 쉬워보였는데 정작 프로그램을 짜는데 매 마음데로 되지 않아서 고생을 하엿다. rur-ple도 끝나갈 쯔음에 프로그매짜는거에 어느정도 적응이 되서어 미션을 수행할 수 있었다. 게다가 python은 그나마 익숙 언어라서 재미 있었다.
          * 초보자를 위 RUR-PLE. 우선 1년만에 다시 공부를 하는데 좀더 많은것을 알았지만 프로그램적으로는 나는 발전이 없었구나 생각하게되었습니다. 프로그램을 새로 짜는데 발전이 없었으니까요. 그리고 RUR-PLE을 두번째 했을때 느끼는것은 무조껀 즐기는것이 좋고 단순했으면 하는데 그렇게 안되서 참난해했습니다. 수강생들은 대부분 안들었던 사람들이지만 재학생이어서 난이도 높은걸 할까 생각했었지만 단순 Harvest문제도 처음 하는 사람들과 비슷 속도로 풀게 되었죠. 그 원인을 보게 되면 참 재미있죠. 처음에 단순하게 즐기는 초보자는 단순하게 문제를 풀고. 아는 사람들은 아는걸 최대 이용해서 문제에 최적화 해서 낭비를 줄이려 합니다 그대신 오래걸리죠. 위의 이유로 같은 문제 풀이도 많은 분기가 나오는걸 볼수 있었죠. 시간 제을 안둬서 그런가. 다음부터는 원할 진행을 위해 시간제을 둬봅시다. 마지막으로 RUR-PLE에 대 감상으로 교육 환경을 만든 사람들은 참 대단하다고 다시번 생각합니다. 봐도 봐도 재밌긴 하네요. 다음에 이걸 다시 하게 된다면 더욱 재미있게 해보았으면 좋겠습니다.
          * 평소에 파이썬에 흥미가 있던 편이어서 나름 재미있었습니다. 생각걸 그대로 바로 움직이게 할 수 있다는 점이 일반 컴파일 언어보다 와닿는 것 같네요. 근데 그러다 보니까 코드가 조금 지저분해지는 경향도 있는 것 같아서 그런 부분을 좋게 개선 코드를 짜려고 하면 그건 그것대로 힘든 것 같기도 -_-
          * 약간 늦게 도착해서 초반 설명을 약간 듣지 못하고 짜게 되었네요. 이 프로그램이 파이썬을 배울 수 있는 용도로 짜여있다고 했는데, 명령어들은 NXT프로그래밍 명령어랑 정말 비슷했다고 생각했어요- (창설의 악몽이 되살아났다?) 간단 설명을 듣고 1 주워담기를 위해 1을 놓아야하는데, 그게 귀찮아서(프로그래머적 '귀차니즘'면모 발현) 놓는걸 짜고 먹는걸 짰네요. 그 뒤에는 소트를 해야 했는데, 저는 쪽으로 쭉 밀어 넣으면 좋겠다고 생각했으나.. 그건 소트라기보단 줄맞춤(?)에 가까운거였다고 하시더군요. 아무튼 치완이랑 제가 그걸 짜서 문상 GET! 끝나고나서는 미로도 짰는데 로봇녀석이 이미 방향이란걸 가지고 있다보니 C로 짠거보다 훨씬 쉽게 짰네요.
         == 윤종하, 황현/난해 프로그래밍 언어 ==
          * 진짜 난해하네요. 세상엔 참 골때리는 사람이 많아요. Shakespear언어를 어디에선가 보고 비슷 방식 chef는 대체 어떻게 짜는 건지 궁금했는데 알게되어 좋았습니다. 우리도 0oOㅇ○로 코딩하는 Zero언어를 만들어볼까요?
          * 재미있는 컨셉 기발 컨셉의 언어가 많네요
          * 직접 난해 언어(RNA)를 만드는 [황현] 멋진데요?ㅋㅋ
          * 다 좋은데 '''왜 우리테 코딩을 시킵니까?!'''
          * 상당히 난해 프로그래밍이었습니다. 틀에 박힌 언어가 아니라 기상천외 다양 언어들이 신기하기도 했고 재미있었지만 코드를 다시 짜고싶진 않네요.. 코딩을 하는중에도 앞에 해놓은게 뭐거였는지 가독성도 떨어지는게 아니라 아예 없는수준이고.. 그래도 기존에 많이 쓰이는 언어들의 소중함을 느끼게 해주는 시간이었습니다.
  • 열린제로페이지 . . . . 58 matches
          '숨쉬는독'군은 평소 관심이 많던 보안 관련 스터디를 하고 싶은데 어떻게 시작하면 좋을지 잘 모르는 초보자이다. 앞서 공부했던 선배의 조언을 듣고 싶고, 또 같이 공부할 사람이 있으면 좋겠다는 생각이 들었다. 그리고 자신이 공부 내용을 나중에 공부할 사람과 공유하며 같이 발전하길 원했다. 그러나 그가 속 '우드페이지'란 학회에는 보안에 관심이 있는 사람이 그렇게 많지 않았다. 결국 '숨쉬는독'군은 선배, 동기를 모아(공교롭게도 그들은 '우드페이지' 회원이 아니었다.) 보안학회 '까스'를 만들기로 결심을 다. 그러나 관련 분야 초보자가 새로운 학회를 만들기란 무척 버거운 일이었다. 결국 그가 만든 보안학회는 좌초되었다.
          '숨쉬는독'군은 평소 관심이 많던 보안 관련 스터디를 하고 싶은데 어떻게 시작하면 좋을지 잘 모르는 초보자이다. 앞서 공부했던 선배의 조언을 듣고 싶고, 또 같이 공부할 사람이 있으면 좋겠다는 생각이 들었다. 그리고 자신이 공부 내용을 나중에 공부할 사람과 공유하며 같이 발전하길 원했다. 그래서 그는 과내 학회 '오픈페이지'에 보안 스터디 그룹 '까스'를 조직하고 사람을 모았다. 중앙대학교 컴퓨터 공학과 학생이라면 누구나 거리낌없이 참여할 수 있는 학회 '오픈페이지'에 보안에 관심있는 사람들이 새로 모였다. 보안 스터디 '까스'는 '오픈페이지'의 위키위키에 보안에 대 화두 정도를 던져놓고 해체되었다.
          '배장이'군은 새내기 시절 사람과 어울리는게 마냥 좋아서 전공 공부는 뒷전이고 선배, 동기들과 어울려 노는게 제일 좋았다. 그러나 학년이 올라가면서 실속을 차려야겠단 생각이 들었고, 이에 따라 전공 공부에 관심과 열의를 조금 늦게 갖게 되었다. 마침 늦바람을 자극하는 주제인 MFC 스터디가 학회 '우드페이지'에서 시작되려다는 것을 알았지만 '배장이'군은 '우드페이지' 회원이 아니기에 아쉬워 하며 술잔만 비운다. 그러다 '배장이'군은 평소 친분이 있는 집행부 선배와 동기들과 같이 방학동안에 스터디를 다.
          '배장이'군은 새내기 시절 사람과 어울리는게 마냥 좋아서 전공 공부는 뒷전이고 선배, 동기들과 어울려 노는게 제일 좋았다. 그러나 학년이 올라가면서 실속을 차려야겠단 생각이 들었고, 이에 따라 전공 공부에 관심과 열의를 조금 늦게 갖게 되었다. 마침 그의 늦바람을 자극하는 주제인 MFC 스터디가 학회 '오픈페이지'에서 시작되려다는 것을 알고서 '배장이'군은 '오픈페이지' 에 스터디 동참 의사를 밝힌다. 비록 스터디 팀원들과는 학번 차이는 나지만 비슷 실력으로 인해 '배장이'군은 무리없이 스터디에 합류하고 성과를 얻을 수 있었다.
         이 생각에 반대 의견이 무척 거세리라고 생각되지만 정보 공유의 진입 장벽이 될 뿐인 '''제로페이지의 명확 회원 구분은 불필요하다'''는 주장을 해봅니다. 앞선 네개의 가상 시나리오 중 1-1, 2-1번 시나리오는 실화를 바탕으로 작성했습니다. 1-2, 2-2번 시나리오는 주관적이며 희망적인 방향으로 서술했습니다. 현재의 제로페이지는 연초에 모은 사람들 중 꾸준히 학술적 활동을 하는 사람들만이 제로페이지 회원이 될 수 있는 폐쇄적인 학회입니다. ["열린제로페이지"]로 방향을 잡는다면 학회에서 교류되는 정보의 질과 양을 높일수 있지 않을까요.
         물론 현실적으로 지금 당장 ["열린제로페이지"]로 가는 데에는 많은 무리가 따르리라 생각됩니다. 그러나 현재 제로페이지 회원들이 ["열린제로페이지"]가 되기를 원하는 마음을 갖고 시간을 두고 노력을 하며 학과 동문들이 그 노력을 이해해준다면 불가능 일은 결코 아니라고 생각합니다. 다른 회원들의 생각이 궁금합니다. (저는 이 글을 쓰기 위해 무척 오랜시간을 고민했습니다. 즉각적인 반응보다는 이 문제에 대해 진지하게 생각해본 후의 반응을 보고싶습니다.)
         전체적인 부분에 대 고민은 부족하지만, 가지 사실을 간과하는듯 하여 글을 남깁니다. 현 시점에서 제로페이지는 자선 단체가 아닙니다. 누군가 자신의 잉여 시간을 투자하여, 원할 스터디나 프로젝트를 위해 돕는게 아닙니다. 시나리오 1-1, 2-1에서의 이유는 '누군가 뒷바라지를 안해줘서', '기대고 들어올 틈이 보이지 않아서' 라는게 주요 이유로 보이지만, 현재로선 이러 상황에 대 여유가 없었고 또 학회가 생긴 본래의 목적은 아니었기 때문입니다. 오히려 반문해볼 수 있습니다. 제로페이지에 들어오는데 누구도 막은 일이 없는것으로 알고 있습니다.(제가 학교에 없을때의 일은 모르겠습니다.) 진입장벽 이야기는, 어느 모임에나 있습니다. '모임에 처음나갔는데 아는 사람끼리만 이야기 하고 너무 서먹하더라'로 귀결되는 이야기는 여타의 동호회에서도 쉽게 찾아볼 수 있는 문제점 입니다. 모임에 들어오고자, 모임에서 어떤 내용을 얻고자 다면 노력이 있어야 하는건 당연합니다. 애초에 그러 접근 자체를 차단다면 문제가 되겠지만, 현재는 말이 제로페이지로 묶여있는 상태이지 교류는 제을 두지 않는것으로 압니다. 예를들어, 나우누리라는 통신회사가 자료를 누구나 쓸 수 있게 공개를 하지 않았다 하여, 나우누리는 정보 공유의 진입 장벽이 될 뿐이다. 라고 비난할 수는 없는 노릇입니다.
         다른 관점에서 살펴봅시다. 주변을 둘러보면 모임이 참 많습니다. 그러 모임들은 왜 생겨난 것일까요. 전체가 하나라면 장벽도 없고 좋을텐데 말이지요. 하지만, 전체가 해결하지 못하기에 부분이 생겨난 것이고, 그러 부분들이 묶여서 전체가 되는게 실제 입니다. 제로페이지가 생겨났던 이유도 비슷합니다. 중앙대학교 컴퓨터공학과에서 해결하지 못하는 부분이 생겨났고, 이를 위해 제로페이지가 만들어졌습니다. 대부분은 모임의 특성상 구성원이 필요하고, 이를 위해 지속적인 활동을 요구하게 됩니다. 가지 중요 점은 제로페이지가 외부와의 연결고리를 차단 바는 없고, 자유롭게 교류할 수 있다는점이 현재 이야기 ["열린제로페이지"] 역할 을 다고 생각합니다. 물론, 그러 참여방법을 보다 세련되고 원할하게 만들자는 이야기에 대해서는 찬성합니다.
         제로페이지는 자선 단체가 아니라고 하신 말씀에 동의합니다. 그리고 전 제로페이지에서 자선을 베풀자는 얘기를 하지 않았습니다. 시나리오 1-2, 2-2 와같은 상황에서 제로페이지가 손해를 보면서 베푼것이 무엇인지요. 오히려 제로페이지의 학술 정보 교류가 양적, 질적으로 긍적적인 방향으로 이루어지지 않았는지요. 시나리오 1-1, 2-1 의 상황 같이 공부는 하고 싶은데 '' '누군가 뒷바라지를 안해줘서', '기대고 들어올 틈이 없어서' '' 와 같은 생각을 하는 사람에게 학회가 필요것이 아닐까요. ["열린제로페이지"]를 주장하는것은 궁극적으로 제로페이지의 발전을 위해서 입니다.
         또, 제로페이지의 진입 장벽에 대 얘기를 하겠습니다. ''모임에 처음 나갔는데 아는 사람 끼리만 이야기 하고 너무 서먹하더라.'' 만으로도 어차피 진입 장벽이 생긴다고 말씀 하셨습니다. 옳은 말씀입니다. 하지만 제 주장은 진입장벽을 없애자는 것이 아니라 현재 제로페이지의 두터운 진입 장벽을 완화하자는 것입니다. 제로페이지 회원을 모집하는 때가 아니면 제로페이지 회원이 되기 위해 길게는 일년을 기다려야 합니다. 말씀드렸듯이 현 제로페이지는 폐쇄적인 조직이기에 거기에 섞이려면 남다른 각오도 있어야합니다. 지금 제로페이지는 언제든 자유롭게 활동할 수 있는 조직이 아닙니다. 저는 이런 회원 모집 방식이 불필요 진입 장벽이라고 생각합니다.
         ''대부분은 모임의 특성상 구성원이 필요하고, 이를 위해 지속적인 활동을 요구하게 됩니다.'' 에 대해서 제로페이지의 활동은 지속적이어야 다고 생각합니다만 그 구성원이 반드시 지속적이여야 다고 생각하진 않습니다. '''현재 활동중'''인 회원이 ["열린제로페이지"]내에 항상 필요 만큼(최소 지금의 회원 수 만큼)은 남아있으리라 생각합니다.
         예전에..아주 예전에..당나귀와 당근이론(-.-)을 설명하던 때에 잠시 언급했던 제 의견과 유사 의미의 내용이었기에 도움이 될까해서 당시 있었던 이야기를 번 적어 봅니다.(어쩌면 회의록에 있을까요?) 그 때, ZeroPage회원 관리를 인력 풀 형식으로 하자는 의견을 냈었습니다. 자신이 같이 공부할 혹은 같이 프로젝트를 진행할 사람이 필요하면 학회에 그런 선전을 하고 그렇게 마음이 맡는 사람들끼리 단위 작업을 수행하는 식으로 학회를 꾸렸으면 좋겠다고 했었습니다. 하지만, 그 때 제기된 문제점은 그러 방식은 조직의 결속력을 화해시킬 우려가 있지 않을까 하는 점이였습니다. 자신이 필요할 때는 학회를 찾다가 학회에서 자신에게 이익이 되지 않는 일을 할때는, 가령 전시회 준비를 다거나 , 나 몰라라는 식이 될 수도 있다는 점이 문제점이였던 것 같습니다. 이런 일이 반복되게 되면 회원들 간의 유대관계가 느슨해질거라는 우려를 해결 방안이 없었기에 더 이상의 의견을 주장하지 못하였습니다.
         흠.. 해결책을 논하는게 어떨까요. 이미 과거에 이런 식의 "열린제로페이지가 좋지만, 사람들이 안들어 온다."로 이와 비슷 결론이 난것 같습니다. 그렇지만, 이번에 또 재미있는 변수는 "밤샘을 꼭 해야다." 라는 점도 있을수 있겠지요. [[BR]]
         적극성이면 무엇이든 된다는, 이런 경우도 있습니다. 저희 고등학교 졸업때, 폐쇄적인 천체 관측 동아리의 회장은, 2학년때(1학년이 아닌) 중간에 그냥 끼어서 회장이 된 케이스가 있었구요. 좀 특별 케이스죠. 저도 1학년때 축구하고 싶어서 어느날 무작정, 일요일 아침에 축구하는 동호회에서 껴서 적이 있었지만(지금이야 그만 뒀지만 --;).. 대체 zp가 어떻게 해야 할까요? [[BR]]
          1. 최근에 할수 있는 것으로 보이는 기회는, 상협이가 말하는 학술터에 진출(?) 이 대안이 될수 있겠지요. 그렇게 된다면, 올해의 "특별일" 이 되겠네요.
          1. 좀 황당건데, ZP전원이 과 석차에서 앞에 등수를 다 해먹으면, 관심을 끌수 있겠지요. 하지만 좀 신경만 쓰면, 불가능하다고 생각도 안합니다. 비슷하게, 올해 있을 30주년 학술제에 몽땅 작품 내는것이지요. 제작년 부터 건축 공학과에서 졸업생 작품 전시회가 있는것으로 기억하는데요, 올해를 기점으로 학술제가 그렇게 발전했으면 좋겠네요.
         zp 가 학회이지만, 과 내의 모든 공부를 책임져야하는 것 같은 맨 위의 시나리오는 마음에 와닫지 않는다. 원다면 얼마든지 스스로 길을 찾으라고 하고 싶다. 두리뭉실하게 zp 가 열려있다면 구성원들의 구속력이 불분명 패닉에 빠질것이다. --박지환
          '''과내의 모든 스터디 그룹, 프로젝트 팀은 제로페이지를 통해 공부해야만다.''' 라고 주장 사람은 없습니다. 스스로 길을 찾되, 찾은 길이 학과내 사람들과 학술적 정보를 공유하는 장으로서의 제로페이지라면 막지 말아야 다는 주장입니다. 목적성이나 운영체계가 명확하지 않고 두리뭉실 상태의 ["열린제로페이지"]라면 패닉상태에 빠질것이란 말에는 공감합니다. --이덕준
         ["열린제로페이지"] 론에 대해서는 회원모집 방식 외에 다른 점은 그다지 보이지 않네요. (Web 에 대해서는 우리가 Closed User Group 을 표방하는 것도 아닌이상) 그렇다면 회원 모집방식에 촛점을 맞춘다고 할때, 회원 모집방식을 수시모집방식으로 하던지. 정모가 이제는 달 2번이니까, 그때 논하는 방식으로 바꿀 수 있겠죠. 하지만, 기존 데블스 통합때의 약속에 대해 생각해볼 필요가 있다고 보이네요.
         공부를 하는데에 대해서 꼭 '학회'화 될 필요는 없다고 생각합니다. 그냥 달 단기프로젝트같은 모임이더라도 시작과 끝만 좋을 수 있다면 (대부분 그렇지 않고 '흐지부지', '어영부영'이여서 문제지만) 그것도 좋겠죠. 그러 모임이 자주 생기는 모습을 구경했으면 좋겠습니다. ZeroPage 안에서건, ["동문서버위키"] 내에서건. --석천
  • MoreEffectiveC++/Operator . . . . 57 matches
          * C++는 타입간의 암시적 type casting을 허용다. 이건 C의 유산인데 예를 들자면 '''char'''과 '''int''' 에서 '''short'''과 '''double''' 들이 아무런 문제없이 바뀌어 진다. 그런데 C++는 이것 보다 수 더떠서 type casting시에 자료를 잃어 버리게 되는 int에서 short과 dougle에서 char의 변환까지 허용다.[[BR]]
         일단 이런 기본 변환에 대해서 개발자는 어찌 관여 할수 없다. 하지만, C++에서 class의 형변환은 개발자가 형변환에 관하여 관여할수 있다. 변환에 관하여 논다.
          * '''''implicit type conversion operator''''' 은 클래스로 하여금 해당 타입으로 ''return'' 을 원할때 암시적인 변화를 지원하기 위 operator이다. 아래는 double로의 형변환을 위 것이다.
         참 괜찮은 방법이다. 하지만 이 방법은 개발자가 의도하지 않은 형변환마져 시키는 것때문에 문제가 발생다. 다음을 보자
         '''operator<<'''는 처음 Raional 이라는 형에 대 자신의 대응을 찾지만 없고, 이번에는 r을 ''operator<<''가 처리할수 있는 형으로 변환시키려는 작업을 다. 그러는 와중에 r은 double로 암시적 변환이 이루어 지고 결과 double 형으로 출력이 된다.[[BR]]
          * '''''single-argument constructor''''' 는 더 어려운 문제를 제공다. 게다가 이문제들은 암시적 형변환 보다 더 많은 부분을 차지하는 암시적 형변환에서 문제가 발생된다.
         첫번째 생성자는 배열의 lowBound~highBound 사이로의 크기 제자이고, 두번째 생성자는 해당 크기로 배열 공간 생성인데, 이 두번째의 생성자가 형변환을 가능하게 만들어서 무 삽질에 세계에 당신을 초대다. (실제로 이런 의미로 써있다. --상민)
          if( a == b[i] ) { // 헉스! 이런 "a"는 "a[i]" 써야 할 코드였다!. (개발자의 실수 의미, 미 양국에서 같은 발음의 oops! --;; --상민)
          a[i]와 b[i]가 같을때 이 코드를 수행다.;
          위의 조건을 만족하지 못하면 이 코드를 수행다.;
         이런 애매 상황을 피할수 있는 가장 효과적인 방법은 C++에서 등장 새로운 키워드인 '''explicit''' 의 사용이다. 이 키워드가 붙은 생성자로의 형변환에서는 반드시 명시적인 선언이 있어야 가능하다. 즉 위의 코드를 다시 작성하여 '''explicit'''의 사용을 알아보고 문법상 유의 사항도 알아 보자
         여기에 가지 더 생각해 보자.[[BR]]
         여기에 나온 Array 예제를 번 고쳐서 마치 explicit 를 쓴것처럼 해보자
         하지만 이 가감 연산자는 두가지로 나뉜다는 사실을 생각하면 갑자기 난감해 진다. 설마 설계자가 그런 단!순!! 문제를 간과할리 없다.
         class UPInt{ //무 정수형
         보고 있자면 정말 아이디어 괜찮은듯 그럼 구체적인 구현부에 관해서 간단히 논다.
         *작성자 사설: 아 나는 정말 이런 리턴이 이해가 안간다. 참조로 넘겨 버리면 대체 컴파일러는 어느 시점에서 oldValue의 파괴를 하냔 말이다. C++이 reference counting으로 자원 관리를 따로 해주는 것도 아닌대 말이다. 1학년때 부터의 고민이단 말이다. 좀 명쾌 설명을 누가 해줬으면..
         암튼 저 위와 같이 하면 이해가 갈것이다. 하지만 이럴 경우 요 짓거리를 못다.
         위의 코드에서는 strlen() 함수내부에서 p에 관련 null pointer 검사가 필요하지 않다. 왜냐하면 && 에서는 앞의 조건이 부정 즉, ( false && anything ) 의 경우에는 뒤의 조건(anything)은 수행조차 안하기 때문이다. operator ||의 경우도 특정 조건에서,(true || anything) 뒤에 코드를 수행하지 않은다는 것은 비슷하다.
         수많은 개발자들이 이런 단순 원리를 프로그램 상에서의 짧은 진행(short-circuit)을 추구하는데 사용하였다. 그렇다면 C++에서의 객체들에게 operator ||, && 를 overload 시키면 짧은 진행을 추구하는데 도움이 되지 않을까? 그런데 하지 말라니 왜일까? [[BR]]
  • 데블스캠프2011/다섯째날/후기 . . . . 57 matches
          * 파이썬의 기본적인 프로그램을 배우고 (python에서 제공하는 학습용 라이브러리인 turtle을 사용하였습니다.) 네트워크에 관 간단 설명들을 들었습니다. 네트워크라는 부분을 공부해 본적이 없어서 처음 네트워크에 대해 이해하는 것이 어렵긴 했지만 알기쉬운 설명덕분에 그럭적럭 이해하고 넘어갈 수 있었습니다. server와 Client측에서 네트워크를 구성하는 부분을 파이썬으로 작성하였는데 코드는.. 긁어 왔다ㅋ 헌데 파이썬의 장점처럼 코드가 무지하게 짧았던게 인상깊었다.
          * turtle을 이용해서 파이썬의 문법에 대해서 간단하게 다루어보고 파이썬의 소켓을 이용해서 서버/클라이언트를 만들어보고 와이어샤크를 이용해서 실제 주고 받는 패킷들을 보는 일을 했습니다. 그리고 중간중간에 최대 알기 쉽게 네트워크에 대 개략적인 설명이 끼어 있었지요. 개인적으로는 여러모로 마음에 드는 세미나였습니다. 우선은 전체적인 방향성을 잡아주는 세미나였다는 점에서 괜찮았다고 생각합니다. 사실 데블스에서는 특정 주제를 다루어도 자세히 다루기에는 시간적인 계가 있는 만큼 이렇게 흥미를 유발할 수 있는 세미나가 좀 더 바람직하지 않은가 싶습니다. 그리고 현태 선배 스타일로 듣는 사람이 알기 쉽게 예를 들어가면서 설명을 하는 것도 듣기 좋았고요. 그리고 개인적인 의견으로는 간만에 현태 선배를 만난 것도 좋았습니다 ㅋ 나중에는 좀 더 네트워크에 대 부분을 공부를 해 봐야겠지요. 현태 선배 덕분에 파이썬도 배우게 됐는데 네트워크도 공부하게 되는 건가...
          * 옛날에 c로 TCP/IP 프로그래밍 책을 본 적이 있었는데 그쪽에서 소켓을 이용하는 부분을 생각해보면 c에 비해서 파이썬쪽에서는 참 쉽게 되는구나 싶었습니다. 그리고 개인적으로 좀 신기했던게 리턴 값이 하나 이상 있을 수 있는 함수도 있다고 부분이었습니다. 이건 파이썬쪽의 특성인지 아니면 다른 인터프리터쪽 언어도 이렇게 될 수 있는지 궁금하네요. 네트워크쪽에 대 기본적인 설명도 좋았습니다. 와이어샤크쪽에 대해서는 제대로 알려면 공부가 더 필요할 듯. -_-
          * 갑작스런(?) 세미나였지만, 좋은 내용이었습니다. 루비와 비슷 면이 많은 것 같네요. 와우하는 사람들이 크게 관심을 가진 것 같던데,, 전 와우를 안해서 -ㅅ-;; 그래서 준석이가 옆에서 루아 책 가지고 이게 왜 작동이 안되냐고 성질내고 있네요.(응?) 이제 됬나보네요. 쩝.. 여하튼 간단하게 들을 수 있고 선배님의 좋은 말씀 들을 수 있어 좋았습니다.
          * 루아는 설명을 약간 짧게 하셨죠. 가장 기억에 남는건 와우의 베이스에 루아가 있다!!! 라는... 루아 특징이 저용량으로 쉽게 돌릴 수 있다라는것인지라 저테는 아직 와닿지 않았던거 같아요. 하지만 문법은 결국 파이썬과 비슷했던거 같기도... 처음 들어본 언어라는 점에서 흥미롭게 들었던거 같네요.
          * 루아에 대 간단 소개와 문법의 설명. 사실 바쁘실텐데 와서 짧은 세미나라도 하고 가신 것만 해도 참 대단하시다는 생각이 듭니다. 사실 루아에 대 이미지는 세미나 때 전체적인 분위기도 그렇듯이 와우 UI에 사용하는 언어라는 정도만 알고 있었는데 조금 더 자세 설명을 들을 수 있었습니다. 개인적으로 세미나를 듣고 든 생각은 두 가지군요. 하나는 객체가 없다니??? 하는 것과 다른 하나는 크기가 작다는 게 그렇게까지 큰 메리트가 될 수 있는가? 하는 점이었습니다. 사실 요즘 이런저런 곳에서 게임 로직을 루아로 만든다는 얘기를 들었는데, 특정 작업에서 쓰는 사람들이 있다는 것은 그 부분에서 인정할 만 뭔가가 있다는 뜻이겠지요. 하지만 개인적으로는 아직도 조금 더 손을 대 봐야 할 언어들이 있어서 당장은 건드려 볼 일이 없을 것 같다는 느낌이 좀...
          * 루아에 대해서 찾아보니까 주목받는 이유는 역시 용량이 작기 때문인 것 같은데 폰쪽에서 일하셨다는 부분도 그렇고 역시 임베디드쪽인가 싶었습니다. 임베디드에서 루아로 프로그래밍을 하기 위게 따로 있다고 하신 부분이 좀 궁금했습니다. 이번에 파이썬에 루비, 루아까지 스크립트 언어쪽을 많이 본 것 같습니다. 다들 문법적으로는 비슷 느낌인데 어떤걸 쓰는지는 용도 나름인 것 같습니다.
          * 형진이 형이 정말 자세히 가르쳐 주셨는데,, 새내기들테는 그래도 어려운 거 같네요. 저도 1학년이었다면 그런 느낌이었겠죠 -ㅅ-;; 확실히 설명하는게 더 힘드네요. 계속 설명을 하는데 뭔가 부족하고 그래서 그거 때문에 고생했던? 뭐 그런 시간이었습니다. 책에서 이런 내용을 봤었는데 이렇게 하라고만 했지 어떻게 하라고 잘 나와있지 않아 그랬는데, 이렇게 하게 되어서 좋았습니다.
          * 수경이의 String 코드 레이스에서 저의 프로그래밍 달리기를 너무 빡세게 했던게 부끄러워서 이번엔 1학년 학우(저 같은 경우 성화수 학우)에게 설명해주고 그 학우가 하고 싶은 스펙으로 함께 프로그래밍 하고자 많이 노력했습니다. 파트너 교체 후 순의랑 파란 바를 만들어버리는 실수를 저지르긴 했습니다만 제가 부족 탓이었구요-_-;; 개인적으로 화수의 '0층부터 지하까지' 아이디어는 신선했어요. 형진이가 처음에 의도했던 엘레베이터 문제(밖에서 누르고 층을 누르는 케이스)는 다른 클래스도 필요하고 일단 화수를 이해시키는데에 초점을 둬서 그걸 못 푼 점은 좀 아쉬웠어요.
          * Java를 통 TDD (비스므리) 것을 실습했죠. 좀 신기 방식이라 신기했던거(??) 같습니다. 테스트 케이스를 만족하도록 코드를 만들거어간다라.. 확실히 다른사람의 코드이고 주석이 없는데도 대략적으로 이해할 수 있다는 점은 좋은 거였던거 같습니다. 여러사람들이 개의 프로젝트를 다루게 된다면 이런식의 것도 필요할거같네요. ..하지만 그럼에도 불구하고 테스트 케이스만 만족하면 된다는 사상도 있어서 어려움이 완전히 해소될것이리라! 라는건 아닌거 같네요. (사실 남의 스펙을 자신이 구현했기 때문에 발생했던 문제겠지마는,.) SVN도 써보고 TDD나 이런 저런 기법들을 데블스에서 처음 접해봐 신선했습니다.
          * 코드 잘 짜는 법. 신경써야 할 부분을 최소으로 줄이자. 필요 것을 먼저 쓰고 구현은 나중에 다. 자주, 많이. very very many many
          * 개인적으로 항상 고민하는 부분 중의 하나입니다. 어떻게 하면 코드를 잘 짤 수 있을까. 그리고 회고 때에도 말했듯이 제가 작년 데블스 마지막 때 세미나를 하고 싶다고 했던 주제이기도 합니다. 변명삼아 말하자면 아직도 스스로가 남에게 이야기 할 수 있을 만큼의 능력과 자신감이 없어서 세미나를 피 것도 있습니다 ;;; 사실 제가 다고 하면 생각을 코드로 만드는 법(형진 선배의 말하듯이 코딩하기 부분) + 남이 만들어 둔 라이브러리의 사용 으로 하려고 했는데 과연 그게 괜찮은 방법인가에 대 확신은 역시 좀 부족하군요... 하지만 모르긴 몰라도 언어에 사로잡히지 말고 로직이 우선해야 다는 생각은 기본에 둬도 괜찮을 것 같습니다.
          * 현재 구현해야 하는 부분을 해당 기능 하나로 좁혀서 거기에만 집중해야 다. 해결해야 하는 문제의 범위를 최소으로 줄이는게 코드를 잘 짜는 비결이다. 라고 하셨었는데 하다 보면 이것 저것 고려할게 많아지는 것 같습니다. 그래도 앞으로는 이번에 배운 것들을 코드를 짜는데 적용해보려고 노력해야 할 것 같습니다. 다만 이렇게 문제의 범위를 최소으로 줄였는데도 해결을 못다면 어떻게 하면 좋을지 하는 생각이 들지만 -_- 거기는 개인의 실력 나름인가 싶습니다.
          * 남이 짠 스펙을 보고 구현다는건 처음이었습니다. 대개는 학교 프로젝트 할 경우에는 무슨 기능이 필요하다는걸 처음부터 생각하고 만드는데 실제 일하는 쪽에서는 그렇지 않을테니 좋은 경험이 됐다고 생각합니다. 유닛 테스트에서 해당 테스트 케이스가 스펙이 될 수 있다는 부분에 대해서도 잘 생각해보고 또 적용해보기 위해 노력해봐야겠습니다. 근데 TDD의 단점에 대해서는 크게 말이 없었던 것 같아서 그 부분이 좀 아쉽습니다.
          * QDD는 정말 신세계였죠. 그리고 스펙을 먼저 두고 구현다는것이 무슨말인지 처음에 잘 이해가 안되서 간단 스펙만을 제시했더니 결과는... 누가 나쁜놈일까요
          * 수경누나가 해주신 정보보호는 중학교때인지 고등학교때인지 어렴풋이 들었던게 있는 부분이었던거 같습니다. 공개키/비공개키 부분이요. 공인인증서 부분은 정말 어떤 천재가 이런걸 만들었나 싶을정도였습니다. 으아니 이런식으로 신뢰할 수 있는 공개키를 만들어 낸다니! 만든놈들 진짜 머리좋네!! 랄까요, 수경누나가 시작하기 직전에 했던 말이 저테서도 나왔습니다.
          * 정보보호에 대 이론과 암호화/복호화 방식에 대 세미나. 좀 놀랐던 것 중 하나는 문제가 되는 케이스를 세밀하게 나누었다는 것이었습니다. 그리고 암호화 방식에서 공개키/비공개키 부분은 상당히 인상깊게 들었습니다. 특히 수경 선배의 설명이 상당히 알기 쉬워서 좋았습니다. 사실 이런저런 책에서 자주 눈에 띄는 얘기이긴 데, 이렇게 간결하게 설명을 할 수 있는 건가 놀랄 정도로 듣기 편했습니다. 근데 정보보호는 일단은 개인적으로 그렇게 우선순위가 높지 않다는 점이 좀 아쉬운 부분이겠네요... 아마 동안은 뒤쪽으로 밀려나 있을 가능성이 높아 보입니다 -_-
          * 시간 빠듯했던 것 같은데 예를 들어서 알기 쉽게 설명해주시느라 고생하신 것 같습니다. 개념적으로는 보면서 참 신기하다는 생각이 들었습니다. 하지만 실제 구현 부분의 얘기를 하면서 이런 저런 연산을 다는 부분에서는 갑자기 흥미가 -_- 연산 부분의 실제 구현에 대 것도 나쁘지 않긴 했지만 C나 자바 등의 주요 언어에서의 라이브러리 사용 등의 설명도 있었으면 더 좋았을 것 같습니다.
          * 정보보호의 내용을 은행 보안하는거랑 연관지어 생각하려고 했는데,, 머리의 계로 안되데요 -ㅅ-;;; 음.. 이번 설명을 듣고 이래서 정보보호라는 것이 필요하다는 것을 많이 느낀 시간이었습니다. 그런데도 비밀번호는 바꾸기 귀찮네요 -ㅅ-;; 이러고a 짧은 시간에 핵심만 잘 요약해서 진행 세미나였습니다.
          * 마지막 트리 문제는 저도 약간 헷갈려서 정확 정답을 맞추지 못했네요[..] 김성권 교수님의 정보보호이론은 명강의입니다. 저도 보안의식 참 딸리는 학우고 수학 싫어하지만 정보보호는 재밌게 들었어요.
  • ACM_ICPC/2011년스터디 . . . . 56 matches
          * ACM-ICPC 2011 Asia Daejeon Regional에 도전다.
          * 명이라도 못 하면 다음 문제로 넘어가지 않는다.
          * 간단 방향 제시
         || 날짜 || [정진경] || [김태진] || [권순의] || [강소현] || [김준석] || [고종] ||
         || 날짜 || [정진경] || [김태진] || [권순의] || [강소현] || [김준석] || [고종] ||
          * 진행 방식 및 기본 규칙에 대 회의
          * 네.. 이번주는 대략적인 것들을 결정하는 시간이었지요. Jolly Jumper를 제가 그냥 임의로 찍어서 문제로 하기로 해서, 5시 스터디가 끝나자마자 1시간동안 열심히 코딩해서 완성했습니다. ..그런데 Wrong Answer. 으아아ㅏ아아아아ㅏ 2시간동안 진경이랑 삽질하다 얻은 결론: 얘내들은 입출력방식이 달라서 우리가 짠 것만으로 되는게 아니고 계속 입력을 받도록 해야다. 그리고 입력이 끝나면 프로그램이 종료되어야 하는데 뭐 -1?인가 그게 뜨도록 하려면 띄어쓰기같은 것도 없어야다. ...결국 답은 대략 맞았지만 저런 형식때문에 2시간동안 고민거죠. JollyJumpers하시는 형/누나들 참고하세요 ;ㅅ; ..아무튼 ACM스터디가 재밌게 잘 진행되었으면 좋겠어요~ -[김태진]
          * 늦어서 민망했습니다. 진행 방식에 대 논의가 부족하다는 생각이 드는데 진행하면서 더 다듬으면 되겠죠? - [김수경]
          * 생각치도 못 표준입출력 때문에 고생했습니다. 저놈의 judge 프로그램을 이해하지 못하겠습니다. 입출력방식이 낯서네요. 입력 종료를 위해 값을 따로 주지 않고 알아서 EOF 까지 받아야다니... 정올 현역때는 이런 문제 구경하기 힘들었는데ㅜㅜ 제가 뭘 크게 오해하고 있나요. 덕분에 c도 아니고 c++도 아닌 코드가 나왔습니다. 그리고 3N+1 문제가 25일 프로그래밍 경진대회에 1번 문제로 나왔습니다. 허허.. - [정진경]
          * 할머니 생신 파티로 약 시간을 늦게 갔는데 친절히 맞아주어 고마웠슴다;ㅅ; 졸리점퍼의 첫 숫자도 포함인줄 알았는데 나중에 보니까 그냥 갯수였더군요. 0을 입력 받으면 갯수가 0이니까 종료되는 거고! 오오..국어인데도 이해가 안가면 안되는데 ;ㅅ; -[강소현]
          * 사실 저도 글번역거보고 그게 더 헷깔렸다죠;; 그리고, 호두과자 맛있게 먹었어요~ -[김태진]
          * 못 사람 : JollyJumpers 해오기
          * 사람 : 다른 언어 혹은 다른 방법으로 JollyJumpers 다시 짜오기
          * 6월 1일 12시 01분, 드디어 (제가 짠 알고리즘으로, 소트해서!)졸리점퍼 Accept에 성공했습니다! 여러가지 시도를 해봐도 문제가 없었는데 왜 안되나 하다가, 결국 입출력의 문제.-_-;; 띄어쓰기도 인식하는 더러운...; 사실 코드자체가 너무 복잡해서 그걸 발견하기까지 시간이 오래 걸린 문제도 있으니, 코드를 좀 더 간결화 하는 방법도 생각해보아야 겠다고 생각했어요. 아무튼 전 다 했어요~_~(이 후기가 아니고 수업에 대 후기를 써야하는데 말이죠;) -[김태진]
          * 생각보다 진행이 디뎠습니다. 입출력 문제가 생각보다 복잡하네요. 하지만 이래저래 여러번 해결하다보니 어느 정도 감이 잡히는 것 같기도 합니다. 졸리점퍼 숏코딩을 할까 하는데, 만약 다면 처음 해보는 숏코딩이 되겠네요. 중도가서 책을 빌리고 공부해봐야겠습니다.(으아아 대출도 초과) -[정진경]
          * 참석률을 보아 다음주를 할지 말지 결정답니다.
          * 저번주에 온 사람들은 이제 모두 JollyJumper를 해결거 같네요. 이제 입출력에서는 좀 덜 틀리겠죠..-_-; 다음주 나이트의 여행은.. 전 뭔가 어렵지 않을까 생각은 들지마는 코드 길이도 길고, 시간도 오래걸리고, 메모리도 많이 먹는 코드를 짜면 괜찮지 않으려나 싶네요 --; 다음주는 시험기간 전이라 스터디를 할 지 안할지 다들 의견교환을 해봐야 할거같네요 -[김태진]
          * 하면 할수록 입출력에 대 감각이 어느 정도 살아나는 것 같습니다. 처음 접했을 때보단 생소하게 느껴지진 않네요. 처음에는 무슨 삽질을 했길래 그랬을까... 숏코딩을 처음으로 번 해봤는데 역시 컴파일러에 대 깊은 이해와 고도의 수학적 사고력이 요구되는듯 싶습니다. 졸리점퍼 71B는 도데체 어떤 코드일지... 처음에는 관심없었는데 해보니까 승부욕이 생깁니다.. 그것보다 해시함수나 B트리 등 심층적으로 다뤄보지 못 알고리즘에 대 의욕도 있지만.. 음!! 하고 싶은게 너무나 많네요. -[정진경]
          * "A Knight's journey" accept해오기, UnEasy Problem 아직 해결 못사람 해오기
          * A Knight's journey 어렵네요 ㅠㅠ 알고리즘 배운지 얼마나 됐다고 리셋이 된거지!?! 왠지 백트래킹을 써야할 거 같지만...잘 못쓰겠는 ;ㅅ; An easy problem 같은 경우 부주의하게 했다가 여러 예외를 고루고루 겪었슴다 ~ㅁ~ㅋ 다음에는 코드 번 더 살펴보고 넣어야지ㅠㅠ - [강소현]
  • BigBang . . . . 56 matches
          * 2012년 그들이 스터디를 시작다.
          * ALGOL계 언어라고도 다고 다.. [http://hkpark.netholdings.co.kr/web/inform/default/inform_view.asp?menu_id=9730&id=1456&parent_id=1517 궁금해 할 사람을 위해]
          * 그러나 비슷 시기에 탄생 Fortran, lisp등을 제하고 이후 대부분의 언어에게 영향을 주었으니 ALGOL과 무관 언어가 있을까..
          * 서로 다른 세 언어를 마치 언어처럼 쓸수 있게끔..
          * UNIX/LINUX 계열에서는 중요 정보
          * 이걸로 프로그램이 제대로 끝났는지 판단다.
          * return에는 중요 특성이 있는데 이게 호출되면 지역변수를 정리다.
          * int크기는 CPU가 번에 처리할수 있는 정수 - 당연히 16bit에서는 다를수 있다.
          * C는 bool이 없다!, c++은 있다. java는 boolean으로 사용다. - C11은 있단다.
          * 대부분의 경우 그냥 정수로 처리다.
          * 많은 기능을 잘게 쪼개기 위해 함수를 사용다.
          * 가독성을 좋게 다.
          * 변수 접근을 제어하기 힘들기 때문에 버그를 유발할 확률도 증가다.
          * C/C++/Java의 parameter는 call-by-value 형식으로 값을 전달다.
          * 참조는 내부적으로 포인터를 이용다.
          * extern "C"를 이용하면 이러 함수 decorator가 없어진다.
          * 왠지모르게 C++에서 비슷걸 만들어 보고 싶어 지네요 - [안혁준]
          * #ifndef NAME : #define NAME이 되어있지 않는 경우에 작동다. 주로 헤더파일 중복 include를 막기 위해 사용다.
          * #pragma once도 동일 효과를 준다. 전체 소스코드를 단 번만 include 다. (비표준)
          * <<는 shift 연산자에 오버로딩 것 (stream)
  • Gof/AbstractFactory . . . . 56 matches
         구체적인 클래스를 정의하지 않고서, 연관되거나 의존적인 객체집합을 만들수 있는 인터페이스를 제공다.
         유저인터페이스 툴킷은 다양 ["룩앤필"] 기준을 제공하도록 고려다. 다른 룩앤필은 스크롤바, 윈도우, 그리고 버튼처럼 다른 모습과 행동양식의 유저 인터페이스 ["Widget"]을 제공다. 이식가능 룩앤필 기준을 위해서는, 개별적 룩앤필 Widget을 위 어떤 애플리케이션은 ["하드-코드"] 가 아니어야 다. 즉석으로 정의 룩앤필 클래스는 나중에 룩앤필을 바꾸기 어렵게 만든다.
         이 문제는 기본적인 Widget의 인터페이스를 정의 abstract WidgetFactory 클래스를 정의함으로써 해결할 수 있다. 또 모든 종류의 Widget에는 추상클래스가 존재다, 그리고 구체적인 서브 클래스는 Widget을 상속해서 룩앤필 기본을 정의다. WidgetFactory의 인터페이스는 각각의 추상 Widget 클래스의 새로운 객체를 반환하는 기능을 가지고 있다. 클라이언트는 이런 기능을 수행해서 Widget 인스턴스를 만든다. 그러나 클라이언트는 사용하는 클래스의 구체적인 내용에 대해서는 신경쓰지 않는다. 이처럼 클라이언트는 일반적인(?) 룩앤필의 독립성에 의존다.
         각각의 룩앤필에는 해당하는 WidgetFactory의 서브클래스가 있다. 각각의 서브클래스는 해당 룩앤필의 고유 widget을 생성할 수 있는 기능이 있다. 예를 들면, MotifWidgetFactory의 CreateScrollBar는 Motif 스크롤바 인스턴스를 생성하고 반환다, 이 수행이 일어날 동안 PMWidgetFactory 상에서 Presentation Manager 를 위 스크롤바를 반환다. 클라이언트는 WidgetFactory 인터페이스를 통해 개개의 룩앤필에 해당는 클래스에 대 정보 없이 혼자서 widget들을 생성하게 된다. 달리 말하자면, 클라이언트는 개개의 구체적인 클래스가 아닌 추상클래스에 의해 정의된 인터페이스에 일임하기만 하면 된다는 뜻이다.
         또 WidgetFactory는 widget 클래스 간의 의존관계를 형성다. Motif 스크롤바는 Motif 버튼과 Motif 텍스트 에디터와 함께 사용되어야 다, 그리고 MotifWidgetFactory를 사용함으로써 이러 의존성이 강제적으로 이루어지게 된다.
          * 시스템이 다양 부산물의 집합을 고려해야 할 때.
          * 추상 객체(ProductObject)들을 만드는 기능을 위 인터페이스를 정의다.
          * 객체(ProductObject)를 만드는 기능을 수행다.
          * 어떤 객체(ProductObject)를 위 인터페이스를 정의다.
          * 팩토리에 상응하는 객체(ProductObject)를 정의다.
          * 추상 인터페이스(ProductInterface)를 수행다.
          * AbstractFactory에 의해서 정의된 인터페이스와 AbstractProduct 클래스만을 사용다.
          이 concrete factory는 특정 상속에 의 객체(ProductObject)를 만들어낸다. 서로 다른 객체(ProductObject)를 만들어 내기 위해서는
          클라이언트는 서로 다른 concrete factory를 사용해야 다.
          * AbstractFactory는 객체(ProductObject)의 생성을 ConcreteFactory의 서브 클래스에 위임다.
          1. ''독립적인 concrete 클래스들.'' Abstract Factory 패턴은 어플리케이션이 생성 오브젝트의 클래스를 조정할 수 있도록 해준다.
          factory가 객체를 만들어 내는데 대 수행과 책임을 캡슐화 하기 때문에 상속 클래스로부터 클라이언트가 독립적일 수 있다.
          2. ''산물의 집합간에 전환을 쉽게 해준다.'' concrete factory의 클래스는 어플리케이션에 단 번, 선언될 때만 쓰인다.
          abstract factory는 완벽 산물의 집합을 생성해 내게되어, 모든 산물의 집합이 번에 바뀔 수 있게 다(같은형태의 다른 모습들이므로.. 역자 주).
          UI 예제에서 Motif widgets을 Presentation Manager widgets로 바꾸는 작업을 단지 유사 팩토리의 객체와 바꿔주고 그 인터페이스를 다시 생성함으로써 행할 수 있다.
  • Java Study2003/첫번째과제/장창재 . . . . 56 matches
          - 자바(Java)를 이야기할 때 크게 두 가지로 나누어 이야기 할 수 있습니다. 먼저, 기계어, 어셈블리어(Assembly), 포트란(FORTRAN), 코볼(COBOL), 파스칼(PASCAL), 또는 C 등과 같이 프로그래밍을 하기 위해 사용하는 자바 언어가 있고, 다른 하나는 자바 언어를 이용하여 프로그래밍 하기 위해 사용할 수 있는 자바 API(Application Programming Interface)와 자바 프로그램을 실행시켜 주기 위 자바 가상머신(Java Virtual Machine) 등을 가리키는 자바 플랫폼(Platform)이 있습니다. 다시 말해서, 자바 언어는 Visual C++와 비유될 수 있고, 자바 플랫폼은 윈도우 95/98/NT 및 윈도우 95/98/NT API와 비유될 수 있습니다.
          자바 언어(Java Language)를 이용하여 작성 자바 프로그램(Java Program)은 자바 컴파일러(Java Compiler)를 이용하여 자바 바이트코드(Java Byte code)로 컴파일 되고, 이 자바 바이트코드는 자바 가상머신에 의해 해석되어 실행되는데, 이때 자바 가상머신은 자바 바이트코드에 대 해석기 즉 인터프리터(interpreter)로 동작하게 됩니다. 이렇게 자바 프로그램은 컴파일 방식 및 인터프리터 방식이 모두 적용된다는 것입니다.
         컴퓨터는 각 CPU에 따라 서로 다른 기계어를 갖습니다. 이러 이유 때문에 도스 또는 윈도우 95/98/NT 등이 설치되어 있는 컴퓨터에서 실행되는 프로그램이 유닉스가 설치되어 있는 컴퓨터에서는 실행되지 않는 것입니다. 그러나, 자바 바이트코드는 이러 플랫폼에 상관없이 자바 가상머신에 의해 실행될 수 있도록 정의된 중간코드입니다. 따라서, 자바 바이트코드로 컴파일 되기만 하면, 자바 인터프리터인 자바 가상머신이 설치되어 있는 곳이면 어디에서든 실행시켜 줄 수 있습니다. 이는 자바 개발자 또는 사용자로 하여금 자바 프로그램을 개발하거나 사용할 때 그 플랫폼이 윈도우 95/98/NT, 유닉스, 또는 매킨토시인지 전혀 신경 쓰지 않아도 되도록 합니다.
         자바 바이트코드 명령어를 해석하고, 이를 자바 인터프리터가 설치되어 있는 플랫폼(윈도우 95/98/NT, 유닉스, 매킨토시 등)에 맞게 실행시켜 줍니다. 자바 인터프리터는 자바 바이트코드를 실행시켜 주기 위 기능을 명세하고 있는 자바 가상머신을 구현해 놓은 것으로서 자바 가상머신과 같은 의미로 사용되며, 주로 자바 가상머신으로 많이 사용됩니다.
         자바 바이트코드는 자바 가상머신에서 실행되는 기계어라고 생각하면 됩니다. 그리고, 모든 자바 인터프리터는 자바 가상머신을 구현해 놓은 것으로, 자바 가상머신과 자바 인터프리터를 같은 것으로 생각할 수 있습니다. . 이러 자바 가상머신은 JDK(Java Development Kit)에 포함되어 있을 수도 있고, 자바 호환 웹 브라우저 내에 내장되어 있을 수도 있습니다. 또는, 자바 칩과 같이 하드웨어에 직접 구현될 수도 있습니다. 자바 바이트코드는 “write once, run anywhere”라는 말을 가능하게 해 줍니다. 다시 말해서, 자바 언어를 이용하여 작성 자바 프로그램을 각 플랫폼(윈도우 95/98/NT, 리눅스, 유닉스, 매킨토시 등)에 맞게 제공되는 자바 컴파일러를 통해서 바이트코드로 컴파일 할 수 있습니다. 그리고, 이 바이트코드는 자바 가상머신이 있는 어떤 곳에서도 실행될 수 있습니다.
         자바 가상머신은 자바 플랫폼의기반을 이루며, 다양 하드웨어기반 플랫폼에 포팅(poring) 됩니다. 다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있으며, 사용자는 자바 바이트코드로 컴파일된 자바 프로그램을 실행시키기 위해서 이 자바 가상머신을 이용하면 됩니다.
         자바 API는 윈도우 API와 같이 운영체제에서 제공해 주는 라이브러리와 같은 것입니다. 다시 말해서, 자바 프로그램을 개발하기 위해 사용할 수 있는 라이브러리 또는 클래스들이라 할 수 있습니다. 이러 자바 API는 서로 관련된 클래스들을 묶어서 패키지 단위로 제공되고 있습니다.
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또, 자바의 이러 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         높은 수행성능(High-performance)을 제공다:
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또, 방대 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         다중 스레드(Multi-thread)를 지원다:
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
         자바 운영체제 또는 자바 프로세서와 같이 자바를 위 전용환경을 만들어 줍니다.
         하나의 HTML 페이지 내에 있는 애플릿은 하나의 클래스만을 사용할 경우도 있겠지만, 대부분의 경우 여러 개의 클래스를 필요에 따라 사용하게 됩니다. 여러 개의 클래스를 사용할 경우, 모든 클래스가 동시에 사용되지는 않겠지요. 또 어떤 클래스는 정의는 되어있지만, 필요에 따라 전혀 사용되지 않을 수도 있겠지요. 따라서, 자바에서는 필요할 경우에만 클래스를 로딩하여 사용하게 됩니다. 이러 기술을 느린(lazy) 클래스 로딩 이라 합니다.
         세 번째, 모호 언어적 특성, 비결정적 자바 가상머신, 표준화된 실시간 API가 없는 문제 때문에 실시간 응용이 어렵습니다. 이를 위해, 자바에서는 다음과 같은 기술을 개발하고 적용함으로써 실시간 응용을 가능하게 할 수 있습니다.
         모호 언어 특성의 문제점:
  • 위키설명회2005/PPT준비 . . . . 56 matches
         넓어진다. 위키를 보면 알겠지만, 항상 활발하게 움직이는 살아있는 학회다. 늘 변화다. 새로운 것을 추구다.
         6502 는 16bit addressing이 가능 CPU 였습니다. 즉, $0000 ~ $FFFF 였죠.
         1991년 : 창단, 14년의 유구 역사, 벧엘 Word Processor Project 수행
          5회 현대 전국 대학생 SW 공모전 경진대회 출전, 1회 삼성 컴퓨터 명인 마당
          ==> (2004년 9월 9일 복날에 모여서 수정 회칙)
          달에 두번 격주로 시행함을 원칙으로 다.
          시간과 장소를 과게시판, 과방, 위키, 엘레베이터에 미리 공지하고, 당일에 늦게 오는 사람을 위해 구피에 모이는 장소를 공지다.
          데블스캠프를 1회 이상 참여 사람
          정모에 2회 연속으로 활발히 참여 사람을 회의를 통해서 회원으로 인정 경우
          회원 자격 상실 여부는 회의를 통해 결정다.
          데블스캠프는 1년에 5일 이상 개최다.
         - 세계에서 가장 큰 위키위키는 위키백과사전인데. 많은 사람들이 글자씩 더하여 완벽 백과사전을 만들고자 하는 위키 백과사전입니다.
         - 국에서는 노스모크가 최초로 실용적인 위키를 도입하였고, 국에서 가장크고 세계에서 10번째 내외의 큰 위키입니다.
         ==== 누구나 수정가능 문서 ====
         - 위키에 익숙해지다 보면 솔직히 디자인은 그다지 신경 쓰이지 않고, 어떤 CSS를 쓴다면 눈이 편할까에 집중하게 된다. 물론 위키 전도사가 되려면 초보자들을 위 배려에 대해 많이 고민해야 다.
         위키에서는 사람의 뇌가 정보를 기억하는 구조와 유사 형태로 정보가 관리된다.(연쇄에 의 기억법) 법이나 기술적인 강제 장치를 필요로 하는 기
         존 사이트와 달리, 네티즌들의 자발적인 자율, 정직, 예의, 책임, 공유 의식을 요구다.
         쓰레드 방식은 최근 올라온 순서대로 게시물을 보여주기 때문에 이전에 있었던 질 높은 게시물들은 사장되고 이러 이유로 해서 게시물들 간의, 이용
         자들 간의 소통이 반복되고 방해받게 된다. 이에 대 대안으로서 도큐먼트 방식은 이미 완성된 텍스트가 아닌 점점 완성되어가는 텍스트를 지향하고
         누군가가 돌려놓을 것이다. 이러 과정을 겪으면서 텍스트는 풍부해지고 정교해지는 방식이다.
  • Gof/State . . . . 55 matches
         객체의 내부 상태가 바뀌었을 때 객체의 행동을 바꿀 객체를 허용다. 객체는 마치 객체의 클래스가 변경된 것처럼 보일 것이다.
         네트워크 커넥션을 나타내는 TCPConnection 라는 클래스를 생각해보자. TCPConnection 객체는 여러가지의 상태중 하나 일 수 있다. (Established, Listening, Closed). TCPConnection 객체가 다른 객체로부터 request를 받았을 때, TCPConnection 은 현재의 상태에 따라 다르게 응답을 하게 된다. 예를 들어 'Open' 이라는 request의 효과는 현재의 상태가 Closed 이냐 Established 이냐에 따라 다르다. StatePattern은 TCPConnection 이 각 상태에 따른 다른 행위들을 표현할 수 있는 방법에 대해 설명다.
         StatePattern 의 주된 아이디어는 네트워크 커넥션의 상태를 나타내는 TCPState 추상클래스를 도입하는데에 있다. TCPState 클래스는 각각 다른 상태들을 표현하는 모든 클래스들에 대 일반적인 인터페이스를 정의다. TCPState의 서브클래스는 상태-구체적 행위들을 구현다. 예를 들어 TCPEstablished 는 TCPConnection 의 Established 상태를, TCPClosed 는 TCPConnection 의 Closed 상태를 구현다.
         TCPConnection 클래스는 TCP 커넥션의 현재 상태를 나타내는 state 객체를 가지고 있다. (TCPState 서브클래스의 인스턴스) TCPConnection 은 이 state 객체에게 모든 상태-구체적 request들을 위임 (delegate) 다. TCPConnection 은 커넥션의 특정 상태에 대 명령들을 수행하기 위해 TCPState 서브클래스 인스턴스를 이용다.
         커넥션이 상태를 전환할 경우, TCPConnection 객체는 사용하고 있는 state 객체를 바꾼다. 예를 들어 커넥션이 established 에서 closed 로 바뀌는 경우 TCPConnection 은 현재의 TCPEstablished 인스턴스를 TCPClosed 인스턴스로 state 객체를 교체다.
         다음과 같은 경우에 StatePattern 을 이용다.
          * 객체의 상태에 대 처리를 위해 구현하는 다중 조건 제어문이 거대해질 경우. 이 상태들을 일반적으로 하나나 그 이상의 열거형 상수들로 표현된다. 종종 여러 명령들은 객체 상태에 따른 처리를 위해 비슷 유형의 조건 제어와 관련 코드를 가지게 된다. StatePattern 은 각각의 조건분기점들을 클래스로 분리시킨다. 이는 객체의 상태들을 다른 객체로부터 다양하게 독립적일 수 있는, 고유의 권리를 가지는 객체로서 취급하도록 해준다.
          * 클라이언트들이 원하는 인터페이스를 정의다.
          * Context 의 특정 상태와 관련된 행위들을 캡슐화 하기 위 관련 인터페이스를 정의다.
          * 각각의 서브클래스들은 Context의 상태들과 관련된 행위들을 구현다.
          * Context는 상태-구체적 request들을 현재의 ConcreteState 객체에 위임다.
          * context는 request를 다루는 State 객체에게 인자로서 자기 자신을 넘길 수 있다. 이는 필요 경우 State 객체들로 하여금 context 에 접근할 수 있도록 해준다.
         다음의 예제는 앞서 Motivation 에서 언급했었던 TCP 커낵션에 대 C++ 코드의 예이다. 이 에제는 TCP 프로토콜에 대해 단순화 시킨 것이므로, TCP 커넥션들의 모든 상태나 프토토콜 전체를 설명하지 않는다. (이 예제는 Lynch 와 Rose [LR93] 에 의해 설명된 TCP 커넥션 프로토콜에 기초 것이다)
         일단, 우리는 TCPConnection 클래스를 정의다. TCPConnection 은 데이터를 전달하고 상태 전환을 위 request를 다루는 인터페이스를 제공다.
         TCPConnection 은 _state 멤버변수를 이용, TCPState 의 인스턴스를 유지다. TCPState 클래스는 TCPConnection 의 상태-전환 인터페이스를 중복하여 가진다. 각각의 TCPState 명령들은 TCPConnection 인스턴스를 인자로서 취하며, TCPState 로 하여금 TCPConnection 으로부터 데이터를 접근하거나 현재 커넥션의 상태를 전환할 수 있도록 다.
         TCPConnection 은 상태-구체적 request들으 TCPState 인스턴스인 _state 에 위임다. TCPConnection 은 또 이 변수를 새로운 TCPState 로 전환하는 명령을 제공다. TCPConnection 의 생성자는 _state를 TCPClosed 상태로 초기화다. (후에 정의된다.)
         TCPState 는 위임받은 모든 request 에 대 기본 행위를 구현다. TCPState는 또 ChnageState 명령으로써 TCPConnection 의 상태를 전환할 수 있다. TCPState 는 TCPConnection 의 friend class 로 선언되어진다. 이로써 TCPState 는 TCPConnection 의 명령들에 대 접근 권을 가진다.
         TCPState의 서브클래스들은 상태-구체적 행위들을 구현다. TCP 커넥션은 다양 상태일 수 있다. Established, Listen, Closed 등등. 그리고 각 상태들에 대 TCPState 의 서브클래스들이 있다. 여기서는 3개의 서브클래스들을 다룰 것이다. (TCPEstablished, TCPListen, TCPClosed)
         TCPState 서브클래스는 내부 상태를 가지지 않는다, 그러므로 TCPState는 공유될 수 있고, 각각 단지 하나의 인스턴스만이 요구되어진다. 이 TCPState 서브클래스의 각각의 유일 인스턴스들은 정적함수인 Instance 로 얻어진다. (TCPState 서브클래스는 Singleton 으로 만들어진다.)
         각각의 TCPState 서브클래스는 해당 상태에 알맞는 request 에 대 상태-구체적 행위들을 구현다.
  • 정모/2011.4.4 . . . . 55 matches
          * [김수경], [서지혜], [변형진]이 지난주에 참여 XPer 3월 정모에서 경험 방식을 빌려왔습니다.
          * 지난주에 진행 프로젝트, 스터디, 새싹 교실 혹은 수업 내용 중 어려운 점에 대해 질문하고 ZeroPager들이 답변해주는 시간.
          * 질문자가 자발적으로 질문다.
          * 왜 써야하는지 이해할 수 있게 설명하면 된다. 예를 들어 "Hello world!"를 번 출력하게 했다가 열번 출력하게 했다가 천번 출력하라고 시킨다.([김수경])
          * 튜터링 수업은 정규 수업 진도를 꼭 따라갈 필요는 없을 듯 합니다. 작년에 튜터링 수업을 들었던 경험상, 튜터 선배님이 다들 1년동안 배운 C, C++과 공통된 문법은 넘어가고 클래스부터 설명을 하였습니다. 그리고 수업 외에 이때 내가 알았으면 좋았을거다! 싶다 생각 것을 가르쳐 주셨습니다. map, set에 대 간단 설명이나, UML 사용법에 관 프린트를 뽑아와 알아두면 좋다 하시기도 하고, MVC에 대해 예시를 들어 설명하시기도 하고, 인터페이스를 저그, 프로토스, 테란의 공통된 기능을 묶어 설명하기도 하고... 열심히 연습하며 따라가면 좋았을텐데 저의 성찰일지는 늘 공부를 했어야 했는데...로 끝났다는 게 미스지만요ㅠㅠ([강소현])
          * 다른건 몰라도 뭔가 배운다 하면 죽었다 깨나도 꼭 알고 가야하는걸 가르치면 그걸로 충분하다. 하지만 성현이 본인이 날로 먹는거에 대해 고민다면 '''조성래 교수님은 가르치지 않지만 본인이 알고 있는것'''을 준비해서 가르쳤으면 함. 자기가 아는걸 준비하는 것도 날로 먹는거라고 생각할 수도 있지만 학우들을 가르치게 되면 그건 아는 것에서 완벽하게 자기 것이 되지 않을까.([송지원])
          * (이걸 말하려다 시간상으로 말 못했었던거 같은데 -_-) 송지원 학우의 튜터링과 강성현 학우의 튜터링을 듣는 사람으로서 마디 하자면, 송지원 학우의 자구 튜터링에 비해서 (C언어를 배웠기 때문에) 기본적인 것들은 이해하기가 쉬운게 사실인데다, (이거는 수업 중에 이야기를 했던건데) 직접 자기가 어느 정도 해 보고 막히는 부분에서 튜터의 역할이 더 빛이 나는 것이고, 이 튜터링이라는 것도 하나의 스터디인데 그 스터디에서 아는 것을 (표현을 빌자면) 날로 먹듯이 하는 거 보다는 심화된 부분을 가르쳐 줌과 동시에 수업과 관련 필수적으로 알아야 할 것들을 집어 주는 것이 좋을 것 같습니다. 뭐 송지원 학우의 자구 튜터링은 제가 따로 공부좀 해야겠는데 요즘 뭘 건지 -_-;; 송지원 학우가 만들어 봐 이러면 좀 멍해져서 말이죠 -ㅅ-;;;;;;;;;; ([권순의])
          * 4월 4일 현재 출입이 가능 사람은 [김수경], [서지혜]입니다. 프로젝트 진행을 위해 캡스톤 설계실 출입을 원하시는 분은 출입 가능 사람에게 연락 주세요.
          * 도와줘요 ZeroPage에서 무언가 영감을 받았습니다. 다음 새싹 때 이를 활용하여 설명을 해야겠습니다. OMS를 보며 SE시간에 배웠던 waterfall, 애자일, TDD 등을 되집어보는 시간이 되어 좋았습니다. 그리고 팀플을 할 때 완벽하게 이뤄졌던 예로 창설을 들었었는데, 다시 생각해보니 아니라는 걸 깨달았어요. 명은 새로운 방식으로 하는 걸 좋아해서 교수님이 언뜻 알려주신 C언어 비슷 언어를 사용해 혼자 따로 하고, 명은 놀고, 저랑 다른 팀원은 기존 방식인 그림 아이콘을 사용해서 작업했었습니다 ㄷㄷ 그리고, 기존 방식과 새로운 방식 중 잘 돌아가는 방식을 사용했던 기억이.. 완성도가 높았던 다른 교양 발표 팀플은 선배가 중심이 되서 PPT를 만들고, 나머지들은 자료와 사진을 모아서 드렸던 기억이.. 으으.. 제대로 된 팀플을 기억이 없네요 ㅠㅠ 코드레이스는 페어로 진행했는데, 자바는 이클립스가 없다고 해서, C언어를 선택했습니다. 도구에 의존하던 폐해가 이렇게..ㅠㅠ 진도가 느려서 망줄 알았는데, 막판에 현이의 아이디어가 돋보였어요. 메인함수는 급할 때 모든 것을 포용해주나 봅니다 ㄷㄷㄷ 제가 잘 몰라서 파트너가 고생이 많았습니다. 미안ㅠㅠ [http://en.wikipedia.org/wiki/Professor_Layton 레이튼 교수]가 실제로 게임으로 있었군요!! 철자를 다 틀렸네, R이 아니었어 ㅠㅠ- [강소현]
          * 이번 코드 레이스에서 제된 시간 안에 두 사람이서 계속 바꾸어 가면서 코드를 짜는 것을 해 보니.. 역시나 난 허접 실력이구나 라는걸 실감했고 -_-; 무엇보다 자신의 생각을 다른 사람에게 정확하게 전달다는 것이 역시나 쉬운일은 아니라는 것도 느꼈습니다. 더 나은 프로젝트 만들기에서는 역시 사람이 미래다면서 돈 안되는 학과를 없애는 두산... (이게 아니잖아 -ㅅ-) 사람이 중요하다는 것을 새삼 느꼈는데, 서로를 잘 이해하려고 노력해야겠습니다. - [권순의]
          1. 기존의 프로젝트/스터디 공유가 너무 보고하는 모양새가 되는 것 같아 서로 소통하듯 공유할 방법이 없을까 하다가 도와줘요 ZeroPage를 시도해봤습니다. 저는 세 명의 답변을 듣는 것이 매우 금방 끝날 줄 알았는데 생각보다 그렇지가 않네요. 만약 다음주에도 이 코너를 진행다면 그 땐 명의 답변만 듣고 나머지 답변은 위키로 듣는 식으로 진행해야 할 것 같습니다. 참가자 모두의 질문을 세 명의 답변을 듣고 넘어간다면 정모가 아니라 소규모 지금그때가 될 듯ㅋㅋㅋ
          1. 작년에 프로젝트를 진행하면서 Agile 프로세스를 도입하고 싶었는데 생소 개념에 대해 생소 용어로 설명하다 팀원들의 관심을 얻지 못 경험이 있습니다. 그래서 OMS를 준비하며 Agile이라는 말도 하지 말고 Agile을 소개해보자!! 하는 생각에 '더 나은 프로젝트 만들기'라고 주제를 잡았습니다. 용어를 하나도 사용하지 않으려다보니 이번엔 너무 붕 뜨게 설명하게 된 것이 아쉬운 점입니다. 제가 Agile에 대해 정말 잘 안다면 어떠 용어를 사용하지 않고도 쉽게 설명할 수 있었을텐데 그렇지 못 것이 안타깝네요.
          1. 빠르게 코딩하는 것에 집중하느라 PairProgramming의 장점을 못 느꼈다는 의견도 있었습니다. PairProgramming의 장점 중 하나는 혼자 코딩할 때보다 더 생산성이 높아진다는 점인데(그러니까 더 빠르게 짤 수 있다는 점인데...) 이번 CodeRace 그런 장점을 느낄 수 있는 기회가 되지 못 것 같아 안타깝습니다. PairProgramming의 장점을 느껴볼 수 있는 다른 활동을 이번학기 내에 번 시도해보고 싶네요. 제가 XPer 3월 정모에서 참여했던 나노블럭으로 페어 배우기를 해볼까 생각중입니다. 굉장히 재미있어요!
          * 간만의 페어 프로그래밍이라 재밌었습니다. 개인적 성향일지도 모르겠지만 혼자 코딩하면 코딩 참 싫어하는데 페어 프로그래밍을 할 때는 상대적으로 훨씬 즐겁게 하는 편입니다. 상대가 성현이라서 더 긴장하고 집중하고 했던 것도 큽니다 ㅋㅋㅋ (미안해, 성현아 누나가 허접해서...) 중간에 수경이에게 뭐라 마디 하면서 정모 분위기를 흐린건 죄송합니다. 다른 학우들은 어떻게 생각했을지 모르겠습니다. 수경이가 못할 말을 하진 않았고, 방호실 아저씨가 옳다고는 전혀 생각하지 않습니다만 제 입장에선 전달법이나 태도는 대표자로서 맞지 않다고 생각했습니다. 학생회장이 조금만 부주의하게 언행을 일삼아도 비난받고 총무부장이 자기도 모르는 새에 조금만 빈틈을 보여도 욕을 먹듯이 리더이고 회장이고 제로페이지의 얼굴이기 때문에 싫어도 가져야 하는 자세가 있습니다. 번 생각해보셨으면 좋겠습니다. - [Enoch]
          1. 우선 가장 먼저 짚고 넘어가고 싶은 것은 어제 그 상황에서 제가 ZeroPage 대표로서 방호실 아저씨를 대했는가에 대 점입니다. 다른 사람이 아닌 제가 방호실 아저씨와 이야기하게 된 것은 무엇보다도 제가 그때 앞에 서 있던 사람이라 그랬던 것이고 또 다른 이유는 강의실을 빌린 사람이라 그런 것입니다. 정모에 모인 사람들 중 제가 ZeroPage 대표이기 때문에 방호실 아저씨와 이야기 것이 아닙니다. 심지어 방호실 아저씨는 제가 ZeroPage 회장이신 줄도 모릅니다. 따라서 그 상황에 대해 "회장다운 태도"가 안 되어 있다고 지적하시는 것은 열린 공간에서의 저의 모든 태도에 대해 지적하신 것과 같습니다. 말씀하신대로라면 "회장다운 태도"는 사실 제가 ZeroPage 회장인지도 모르는 방호실 아저씨와 마주칠때보다 6피 등 제가 ZeroPage 회장인 것을 아는 사람들이 많은 공간에서 더 중요할 것 같습니다. 그렇다면 제가 6피에서 그냥 컴퓨터공학부 학생으로서 사담을 나눌 때도 항상 ZeroPage 회장답게 할 말은 걸러하고 완곡 표현을 쓰라고 요구하시는 것인지 궁금합니다.
          1. 학생회장, 총무부장의 예를 드셨는데 어제 제가 총무부장을 언급해서 예로 드신 것인가 싶어 덧붙입니다. 저는 총무부장이 총무부장으로서 맡은 책임을 제대로 이행하지 못하는 부분 때문에 언급 것입니다. 저는 총무부장의 평소 행실은 알지도 못하며 알아도 평소 행실에 대해 총무부장으로서 부적절하다고 평가할 생각이 없습니다. 그 학우가 디씨 코갤을 다니든, 학고를 맞든 혹은 그 외의 제가 정말 싫어하는 어떤 일을 하더라도 사적인 일이라면 그 학우 개인을 싫어했으면 했지 총무부장답게 행동하라는 말을 하지 않을 것입니다. 다만 저는 총무부장이 총무부장의 책임을 다할 때 그의 언행에 문제가 있다면 그런 것을 지적하는 것입니다.
          1. 따라서 제가 언급 부분은 송지원 학우께서 저의 행실에 대해 지적하신 부분과 기본적인 관점 면에서 많은 차이를 보입니다. 혹시 굳이 제가 언급해서가 아니라 다른 대표성을 가진 사람이라 예로 드신 것인가 싶어 다른 말도 덧붙입니다. 총무부장이 개인으로서 빈틈을 보였다고 총무가 그래도 되냐는 말을 듣는다면 그것이 합리적인 상황입니까? 저는 그런 말은 의미가 없는 말이라 생각합니다. 물론 총무부장이라는 잘 알려진 자리에 있기 때문에 누군가는 그가 평소 빈틈을 보일 때 욕을 할지도 모릅니다. 그러나 그런 경우 총무부장이 모든 비난을 고려할 필요가 전혀 없습니다.
          1. 물론 제가 개인으로서 행동다고 해도 ZeroPage 회장인 사실이 변하지는 않으므로, 좀 더 상냥하고 화도 안 내고 그런 사람이 되어 나쁠 것은 없습니다.(그런 맥락에서 원래 관심도 없던 후배들하고 얼굴 익히는 일도 올해는 ZeroPage 회장이니 더 신경써야겠다고 생각하기도 했습니다.) 그러나 그런 것은 ZeroPage 회장에게 요구되는 필수 덕목은 아니라고 생각합니다.
          1. 더 쓸 말이 있지만 숙제가 급해 마지막으로 가지만 더 적습니다. 저는 이것을 읽고 왜 이것이 후기인가 싶은 생각이 들었습니다. ZeroPage 회장과 소통할 창구는 정모 후기 말고도 여러 방법이 있습니다. 정모 후기란에는 정모 후기를 적어주셨으면 합니다. 개인적으로 말씀하시라는 뜻이 아닙니다. ZeroPage 회장의 태도에 대하여 공론화를 시키고 싶으셨다면 홈페이지 자유 게시판이나 위키에 별도의 페이지를 만들어 공론화를 시키시면 됩니다. 정모에서 있었던 일을 다루고 있다고는 해도 저의 태도에 대해 지적하신 부분은 표현 면에서 후기가 아니라고 생각합니다. - [김수경]
          * 오늘 OMS를 들으면서 이전 기억을 되돌아 보았습니다. 정말 팀플에서 서로간의 신뢰가 깨졌을 때 극단적으로 나올 수 있는 상황이 생각나더라구요. 서로 같은 테이블에 앉아서 마주보고 앉아 각자의 노트북을 보고 프로그래밍을 하고 있을 때, 상대가 하는 것을 전혀 신뢰하지 못하고 계속 의심하게 되는 상황을 겪어봐서 그런지, '''서로를 신뢰하는 것'''이 정말 중요하다는 걸 다시 번 깨닫게 됩니다. 페어 프로그래밍을 하면서 느꼈던건, '''''(비록 시간이 촉박할지라도)''문제다! 라는 인식을 하게 되면 잠시 멈추고 생각하는 시간을 가져야 할 것 같다'''는 것입니다. Deadline처럼 느껴졌던 3분이라는 시간에 너무 연연하게 되어 Tunnel Vision에 빠져버렸습니다...OTL... 단계를 밟아나가는 단 맛에 빠져, 점점 벌집으로 다가가고 말았죠 ㅋㅋㅋ 몇 단계만 더 진행됬으면 결국 벌집을 건드리고 말았을겁니다 ㅋㅋㅋㅋ 아무튼 재미있고 유익 시간이었습니다. 후기를 적으면서 느낀 것인데, 전 바로적는 후기보다, 하루~이틀 정도 지난 후에 다시 되돌아보면서 쓰는 것이 훨씬 넓은 시야에서 생각하면서 쓸 수 있는 거 같네요 ㅋㅋ - [박성현]
  • TeachYourselfProgrammingInTenYears . . . . 54 matches
         원문 : http://www.norvig.com/21-days.html (Peter Norvig 는 AI 분야에서 아주 유명 사람. LISP 프로그래머로도 유명)
         어느 책방에 발길을 옮겨도,「7일간으로 배우는 Java(Teach Yourself Java in 7 Days)」라고 하는 방법책을 보기 시작하고, 그 곁에는 Visual Basic 나 Windows 나 인터넷등에 대해서, 똑같이 몇일이나 수시간에 배울 수 있으면(자) 파는 책이, 무의 바리에이션으로 나란해지고 있다.Amazon.com 그리고 이하의 조건으로검색해 보았는데,
          (타이틀에 「날」이라고, 「배운다」인가 「독습」이라고 하는 단어를 포함,
         결론으로서는, 누구나가 컴퓨터에 대해 배우는데 분주가, 아니면 컴퓨터라는 것이, 다른 어떤 것보다, 배우는 것이 어찌 된 영문인지 믿을 수 없을 정도 쉽다고 하는 것이 된다.왜냐하면 몇일이나 수시간에 배우는 베토벤이든지, 료코 물리든지, 개의 조교라고 하는 책은 전무인걸.
         배운다:3일간에서는, 의미가 있는 프로그램을 얼마든지 쓰거나 그 과정에서의 성공이나 실패로부터 배우는 시간 등 짝이 없다.경험을 쌓은 프로그래머와 함께 작업을 실시해, 그러 환경안에서의 생활이 어떤 것인가를 이해하는 얼마 되지 않다.빠른 이야기, 대단 일을 배울 시간이 없다고 하는 것이다.따라서 그러 서적은, 외관만 정통하는 것에 대하여 말할 뿐으로, 깊은 이해에는 연결되지 않는다.알렉산더제가 말 것처럼, 서투른 병법은 상처의 원이다.
         Pascal:3일간으로, Pascal 의 문법을 배우는 것은 가능할지도 모르는(유사 언어를 이미 알고 있으면)가, 그 문법의 이용법까지는 충분히는 배울 수 없다.즉, 예를 들면 당신이 Basic 프로그래머이다고 하여, Basic 스타일로 Pascal 의 문법을 이용 프로그램의 쓰는 법을 배울 수 있을지도 모르지만, Pascal 가 실제의 곳, 무엇에 향하고 있을까(향하지 않은가)를 배울 수 없다.그런데 여기서의 포인트는 무엇일까? Alan Perlis(역주1) 은 일찌기, 「프로그래밍에 대 생각에 영향을 주지 않는 것 같은 언어는, 아는 가치는 없다」라고 말했다.여기서 생각되는 포인트는, 당신이 Pascal(그것보다 어느 쪽일까하고 말하면 Visual Basic 나 JavaScript 등의 (분)편이 현실에는 많을 것이다)를 그저 조금 배우지 않으면 안 된다고 하면(자), 그것은 특정의 업무를 실시하기 위해서(때문에), 기존의 툴을 사용할 필요가 있기 때문일 것이다.그러나, 그러면 프로그래밍을 배우는 것으로는 되지 않는다.그 업무의 방식을 배우고 있을 뿐이다.
         3일간:유감스럽지만, 이것으로는 충분하지 않다.다음 방향으로 해설다.
         연구자 (Hayes, Bloom)에 의하면, 체스, 작곡, 회묘, 피아노 연주, 수영, 테니스, 그리고 신경 심리학이나 위상 기하학의 연구를 포함, 광범위 분야의 머지않아에 대해서도, 전문 기술을 몸에 익히려면 대략 10년 걸린다고 다.지름길 등 실재하지 않는 것 같다.4세로 해 음악의 신동이었던 모차르트조차, 세계적인 악곡을 만들어 내기까지 13년 이상의 시간을 필요로 했던 것이다.사뮤엘·존슨(역주2)는, 「어떤 분야에 있어도, 생애에 걸치는 노력 없애 뛰어난 것에는 달할 수 없다.그것보다 싼 대상으로 손에 넣을 수 없는 것이다」라고, 거기에는 10년 이상 걸린다고 생각했다.
         여기서 프로그래밍으로 성공하기 위, 나나름의 레시피를 소개하면(자):
         다른 프로그래머와 이야기를 해, 타인의 프로그램을 읽는 것.이것은 어떠 서적이나 트레이닝·코스보다 중요 일이다.
         프로그램을 쓰는 것.학습하는 최고의 방법은,실천에 의 학습이다.보다 기술적으로 표현다면, 「특정 영역에 있어 개인이 최대의 퍼포먼스를 발휘하는 것은, 장기에 걸치는 경험이 있으면 자동적으로 실현된다고 하는 것이 아니고, 매우 경험을 쌓은 사람이어도, 향상하자고 하는 진지 노력이 있기 때문에, 퍼포먼스는 늘어날 수 있다」(p. 366) 것이며, 「가장 효과적인 학습에 필요 것은, 그 특정의 개인에게 있어 적당히 어렵고, 유익 피드백이 있어, 게다가 반복하거나 잘못을 정정하거나 할 기회가 있는, 명확 작업이다」(p. 20-21)의다(역주3).Cambridge University Press 로부터 나와 있는 J. Lave 의「Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life」(역주4)라고 하는 책은, 이 관점에 대 흥미로운 참고 문헌이다.
         만약 그러 있고 것이라면, 4년간 대학에서(혹은 대학원에 가, 더욱) 배우는 것.그러면 성적 증명서를 필요로 하는 일자리에 접근하고, 그 분야에 도착해보다 깊은 이해를 얻게 된다.하지만, 학교를 즐길 수 없다고 다면, (열의가 있으면) 일을 하는 과정에서 같은 체험을 얻을 수 있다.어느 경우이든, 책에 의 학습만으로는 충분하지 않다.「컴퓨터·사이언스의 교육으로 누군가를 프로의 프로그래머로 하려고 하는 것은, 브러쉬나 그림도구에 대해 배우게 해 프로의 화가로 하는 것 같은 정도 어렵다」라고 The New Hacker's Dictionary(역주5) 의 저자인 Eric Raymond 는 말다.내가 지금까지 고용 중에서 최고의 프로그래머의 명(역주6)은, 고등학교까지 밖에 나오지 않았다.그렇지만, 그는 많은훌륭소프트웨어를 만들어, 지금은 자신의뉴스·그룹까지 가지고 있어, 스톡옵션 덕분에, 틀림없이 내가 일생 걸려 벌 수 있는 것보다 좀 더 부자다.
         프로젝트로, 다른 프로그래머와 함께 일하는 것.몇개의 프로젝트로, 제일의 프로그래머가 되는지, 그렇지 않으면 맨뒤의 프로그래머가 되는 것.당신이 제일이라면, 프로젝트를 지휘해, 다른 사람들에게 당신의 비전을 닦아 넣는 능력을 시험하게 된다.당신이 맨뒤라면, 달인이 할 것을 배워, 그들은 어떤 말하는 것을 하고 싶지 않은 것인지 알게 된다(그러 일은 당신에게 시키려고 하기 때문에).
         다른 프로그래머가 일을 끝낸후의프로젝트에 임하는 것.사람이 쓴 프로그램의 이해에 열중하는 것.원래의 코드를 쓴 프로그래머가 근처에 없는 경우, 그 프로그램을 이해하거나 고치거나 하려면 무엇이 필요가 생각하는 것.당신의 프로그램을, 다음에 다른 사람이 메인트넌스 하기 쉽게 하려면 어떻게 디자인하면 좋은가 생각하는 것.
         언어 표준화의 시도에 참가하는 것.ANSI C++ 위원회라면 그것이 생길 것이고, 가족에서의 코딩·스타일에 대해, 인덴트의 공백을 2 문자로 할까 4 문자로 하는가 레벨에서도, 결정하게 될 수 있다.어쨌건 간에, 다른 사람이 프로그램 언어의 어떤 곳을 좋아하는가, 얼마나 깊고 좋아하는가, 그리고 아마, 왜 그렇게 좋아하는가는 일도 조금, 배우게 된다.
         가능 빨리, 언어 표준화로부터 멀어지는 분별을 가지는 것.
         가능 조기에 탑 디자이너를 체계적으로 인정다.
         유망 인재의 육성을 책임을 가지고 실시하는 캐리어 어드바이저를 임명해, 면밀 캐리어 파일을 보관 유지다.
         이상은, 이미 뛰어난 디자이너가 되는데 필요 자질을 가지고 있는 사람이 존재다고 하는 것을 전제로 하고 있다.거기서 해야 다 (일)것은, 그들을 확실히 유도 해 주는 것이다.Alan Perlis 는 그것을 보다 간결하게 표현하고 있는:「누구라도 가르쳐 주면, 조각을 할 수 있도록(듯이)는 된다.미켈란젤로는, 방물어라고도 조각을 하고 있었을 것이다.뛰어난 프로그래머도 마찬가지다」
         표준적인 1GHz 의 PC로 2001년의 여름에 측정, 여러가지 연산의 소용 시간
  • 요정 . . . . 53 matches
         '성스러운 것' 과 '사악 것' 어디에도 속하지 않는다. 보통때는 사람들과 다를 것도 없는 생활을 다. 무리를 만들어 사는 것도 있으며 혼자서 사는 경우도 있다. 나무나 물의 정령처럼 자연계에 오랫동안 살기도 하고 모습을 감추고 살기도 다.
         육지에 사는 것, 물 속에 사는 것이 있으며 성질도 가지각색으로 인간에게 도움을 주는 것 (아일랜드의 레프리콘) 도 있지만 요정의 화살을 쏘아서 마비시키는 (콘월의 픽시) 등 나쁜 짓을 하는 것도 있다. 땅의 풍토나 자연에 따라 가지각색의 요정이 있다. 요정은 스스로 선택해서 모습을 나타내기 때문에 사람이 요정을 만나기는 쉽지 않다. 다만 느낄 수는 있다. 눈보다 귀로 요정의 존재를 아는 사람이 훨씬 많다는 걸 알아두어야 다. 발소리나 노래 소리 따위는 요정의 짓이 대부분이다. 요정은 보기도 어렵지만 보게 되더라도 눈깜짝할 순간에 놓쳐버리고 만다. 투시 능력이 있는 사람에게는 보인다고도 하지만 보통 인간에게도 간단 방법이 있긴 하다. 네잎 클로버를 머리 위에 올려놓고 요정이 바르는 약을 눈에 붙인다. (다만 약 만드는 법은 요정만이 알고 있다)
         영국의 웨일즈 지방 어딘가는 그곳을 왕래하다가 헛발을 디뎌 넘어지면 순간 요정이 보이는 1평방 야드 정도의 땅이 있다고 다. 보기 쉬운 시기는 5월 1일, 6월 24일 (하지), 10 월 31일 (할로윈) 따위, 시간은 태양이 머리 꼭대기에 오는 정오, 밤중, 황혼 무렵이다.
         단호히 요정을 지명해서는 안된다. 요정이 기분이 상해서 장난을 치기 때문이다. 좀더 부드럽게 '작은 사람들' , '평화로운 사람들', '좋은 이웃', '착 사람들', '금발을 일족' 따위로 부른다. 재미있는 점은 요정은 자기 진짜 이름을 밝히지 않는데, 만약 사람이 그 이름을 알게 되면 그 요정은 그대로 사람의 종이 되기 때문이다.
         요정 중에는 악마적인 행동을 하는 요정도 있지만 결정적인 차이는 악마가 그런 행위를 하는 목적은 인간에게 해를 끼치거나 타락시키는 것인데 비해 요정은 그들 자신이 살아가기 위 방편이거나 그들 스스로 즐기기 위 것이다.
         작은 산이나 물속, 숲 근처에 사는 요정이 많은 듯하다. 물론 사람 근처에 사는 걸 즐기는 요정도 있다. 요정 나라는 작은 산의 입구부터 대지 밑, 또는 해변의 동굴부터 바다밑까지 널리 퍼져있다. 또 요정들은 호수나 냇물 속, 나무 구멍이나 뿌리 사이, 언덕에 뚫린 굴속에 사는 것으로 여겨졌다. 그들은 달빛을 받으며 춤을 추는 걸 즐겼는데, 사람들은 항상 '요정의 링' 을 보고 그들이 맘에 들어 무도장을 발견할 수 있다. 그것은 버섯이 점점이 줄지어 완전 원형을 만들어 놓은 것으로, 그 원 속의 풀은 주위의 풀보다 짙은 녹색을 띈다. 사람들은 이 순수 원을 피해 가야다. 만약 그 원 속에 발을 디디거나 그 속에서 잠을 잔다면, 요정들에게 유괴될지도 모른다고 생각했기 때문이다. 요정들에게 유괴되어 그들이 사는 지하에서 몇 분 있다 돌아오면 지상에서 는 이미 몇 년이 지나있다고 다.
         대체로 남을 돌봐주길 좋아하는 밝고 쾌활 성격으로, 마음에 드는 인간에게 선물을 하거나 집안일을 도와주지만 그것을 떠들어대거나 감사해서는 안된다. 프라이버시를 침해하거나 요정이 다니는 길을 방해하면 그들은 심술궂은 마음을 갖게 된다. 빌려주고 꿔주는 것도 귀찮아 다. 가령 요정에게 음식을 꿨다면 돌려줄 땐 똑같은 양이 아니면 안된다. 만약 조금이라도 많다면 화를 내며 두번 다시 꿔주지 않는다. 반대로 빌려준다면 두 배로 돌려준다고 다. 요정은 친근 성격이지만 대체로 요정 쪽에서 친구를 선택다. 집에서 가사를 도와주는 '브라우니' 따위각 그 대표적인 예이다. 브라우니는 근심 걱정을 해결해 주는 요정으로 어려움에 처 가족을 도와주었던 이야기들이 각지에 남아있다. 도움 받은 사람들은 대개 가난하지만 바른 마음을 가지고 살아가는 사람들이다.
         후이돌이라고 불리는 바이올린의 일종을 빠른 템포로 연주하고, 스텝을 밟기 쉬운 곡이라면 어떤 곡도 좋지만 특히 '지그 (jig- 만화영화 '인어공주' 에서 선상에서 나왔던 음악이죠. 춤추기 좋은 민속음악의 일종입니다)' 라고 불려지는 곡은 요정들의 댄스곡으로서 친숙 것 같다.
         집단으로 사는 요정 중에서도 궁전 형태를 갖춘 요정들에게는 분명 남녀의성차가 있다. 또 남성을 유혹하는 요정인 라난시는 여성, 여성을 유혹하는 요정 간코나는 남성이다. 그 밖의 요정에게는 남성이나 여성도 있지만 그 양쪽을 합쳐서 가지거나 또 어느 쪽도 아닌 것도 있다고
         벌레 정도 크기부터 인간과 같은 정도도 있고 커지거나 작아지거나 변신할 수 있는 종류도 있다. 아름다운 요정만 있는게 아니라 추 요괴 모습을 것도 많다. 덥수룩 수염을 하고 있어 보기만 해도 두려움에 몸서리 쳐지는 녀석들도 꽤있다.
         모두가 해질녘까지 적당 장소에서 잠을 잔다. 예전엔 난로에 연결된 굴뚝 속이나 냄비를 걸어 두는 쇠사슬 위에 솜씨 좋게 붙잡고 잠자는 브라우니가 목격되기도 했다. 항간에는 만약 잠자고 있는 요정을 보더라도 잠을 깨우거나 하는 바보같은 짓은 하지 않는게 좋다고 다.
         무슨 놀이인지는 알 수 없지만 하링이라는 놀이를 좋아다고 다. 혹 요정들이 게임을 같이 하자고 유혹하더라도 자신이 없으면 하지않는게 낫다. 요정은 지기 싫어해서 술수를 써서라도 이기려고 하니까 승산이없다.
         가끔 요정들은 사람에게 일종의 마성을 띈 꿰뚫어보는 힘인 '천리안'을선물하곤 했다. 그것은 요정이 사람의 눈꺼풀 위에 고약 (또는 요정의 침)을 바르는 순간 생기는데 이 시력은 마술적 환상을 꿰뚫어 볼 수 있게 했다. 즉 마법으로 만든 각종 가구, 장식품 등이 실제로는 나무 등걸이나 짚더미인 것을 알아챌 수 있게 것이다.
         믿을 수 없지만, 유럽에는 요정의 물건을 소장하고 있는 박물관이 많다.에딘버러에 있는 박물관에는 '요정의 관' 이 있다. 스코틀랜드의 서쪽에 떠있는 루이스 섬의 근처에 픽시의 작은 섬이 있다. 16 세기와 17 세기에 인간의 것으로 보기에는 너무나 작은 뼈가 발견돼었다는 기록이 남아 있다. 그러나 20 세기에 들어서 발견된 뼈가 바다새나 작은 포유동물의 것으로 판명됐기 때문에 과거에 발견된 뼈도 요정의 것은 아닌 것으로 보인다. 요정을 찍은 사진 중에서도 수정이나 이중 촬영 흔적이 보이는 것이 많다.(참고로 빅토리아 시대엔 요정의 존재를 꽤 믿었다고 합니다. 이 시대에 초심령현상에 대 열풍이 불기도 했지요.)
         콘월 지방에 사는 난쟁이 픽시 (pixie)는 빨간 뾰족모자에 푸른 옷을 입고 둥근 눈과 귀를 가지고 있는데, 꽤 짓궂은 장난을 치기 좋아해 길에서 여행자가 길을 잃게 하고 집에서는 물건을 숨기거나 촛불을 불어 꺼 버렸다. 콘월 지방 사람들은 픽시를 세례를 받기 전에 죽은 갓난아기의 영혼이라 믿었다. 또 픽시의 땅 '가리토 랩 (가리트립스라고도 함)' 에 잘못하여 발이 닿으면 요정의 화살에 맞는다고 다. 콘월의 옛 광산 갱도에는 '노츠카' 라는 광산의 요정이 살고 있어 친절 사람에게는 바위를 울려서 광산이 있는 장소를 알려주었다고 다.
         아일랜드를 대표하는 레프리콘은 사람들에게 전혀 해코지하지 않는 아주 온순 요정으로, 땅굴 속에 숨어 살면서 언제나 쪽 구두만 만든다고 다. (공포영화에 주연으로 나오기도 했지만..원래는 착 요정이랍니다) 식사를 대접해 준 구둣방 노부부를 위해 밤새 구두를 만들어 주었다는동화 속 난쟁이 요정들은 바로 이들이다. 아일랜드의 또다른 요정 밴시는 늙은 여자의 정령으로 죽음이 찾아오려 하는집밖에서 울부짖는다고 전해진다. 밴시는 머리를 길게 기르고 푸른 옷에 흰색 망토를 입은 창백 여성으로 직접 사람들을 해치지는 않지만 섬뜩 울음소리 덕분에 두려운 요정으로 알려져 있다. 아일랜드에는 라난시라는 요정이 또 있는데 매우 아름다운 용모로 자기에게 매혹된 남자들의 생명을 앗아간다고 다. 이 요정은 시인이나 예술가에게 영감을 주는 요정으로, 그리스 신화의 뮤즈들과 흡사 점이 많다.
         북유럽 신화에 등장하는 드워프는 손 기술이 뛰어나 무엇이든 잘 만드는 재주꾼이다. 드워프는 긴 수염과 작으면서도 단단 몸집, 그리고 대단 먹성으로 유명데 동화 백설공주와 일곱 난장이들의 난쟁이의 모티브가 되었다고 다.
         요정은 일반적으로 양심이나 절조가 없고 장난기가 있어 인간에게 친절 대접을 받으면 거창하게 답례하지만 조금이라도 푸대접을 받으면 심하게보복다. 때때로 인간의 아기와 못갱긴 자기 아기를 바꿔 놓기도 하는데, 이때에는 요정의 아기 발에 기름을 바르고 천장에 매단 후 아래에서 불을 피우면 마지못해 훔쳐갔던 아기를 돌려준다고 다.
         요정들은 치유 능력을 가진데다 환상과 저주를 잘 다뤘다. 가끔 인간과 결혼하기도 했는데, 특히 여자 요정은 매우 까다로워서 인간 남편이 약속을 어기면 그날로 결혼 생활이 끝나 버린다고 다.
  • ZeroPageServer/Mirroring . . . . 52 matches
         이번호에서는 이러 유틸리티를 사용하지 않고, 미러링(Mirroring) 기능을 이용하여 로컬시스템 또는 원격서버의 데이터를 그대로 복사하여 백업하는 방법에 대해서 알아봅니다......
          는 서버 동기화(server syncronization)라고도 다.
          항상 미러링 서버는 원격 서버의 동일 데이터 상태를 유지하게 된다. 미러링은 로컬 시스
          템의 데이터를 백업할 때도 적용할 수 있으며 서버마다 동일 데이터 구조를 유지하고자
          rsync는 루트의 권없이 서버로부터 데이터로 빠르게 전송받을 수 있으며, 원격 서버와
          또 SSH를 이용하면 rsync 서버가 구축되어 있지 않아도 미러링을 할 수 있는 이점이 있
          를 설치하여 사용다. 그러면 우선, rsync 패키지가 설치되어 있는지를 확인해 본다...
          되어 있지 않는 것이므로, rsync-2.5.5-4.i386.rpm 패키지를 구해 다음과 같이 설치다.
          설치전에 반드시 미리 구 패키지가 있는 디렉토리로 들어간후 설치하는것을 잊지 말자.
          의존성 오류가 나올 때는 redhat-lsb-1.3-1.i386.rpm을 먼저 설치
          에 rsync 패키지를 설치다.
         # 4. SSH를 이용 원격 서버 데이터 미러링
          은 다음과 같다. rsync 사용법에 관 자세 것은 잠시 후에 살펴보기로 하자...
          원격 서버의 주소와 미러링하고자 하는 데이터의 경로를 지정 후에 -e ssh 옵션을
          워드를 입력다. 만일 일반 사용자 계정으로 이 명령을 수행다면 원격 서버에도 동일
          계정이 존재하여야 하며, 원격 서버의 계정 패스워드를 입력다.
          @ [ 참고사항 ] - SSH를 이용 rsync 데이터 동기화를 위 원격 서버의 환경
          속할 수 있도록 미리 준비해 놓고 있어야 다는 예기다....
          원격 서버에서는 클라이언트가 미러링할 수 있도록 rsync 서버를 구축해야 다. rsync 서
          용자가 직접 만들어 사용해야 다. 이 파일의 설정 형식은 다음과 같다.
  • 데블스캠프2008/등자사용법 . . . . 52 matches
         필요 사람은 말해요. 보내주겠습니다.
         고기압의 가장자리에 들겠습니다. 전국이 구름이 많겠으나, 제주도와 남해안지방은 흐리고 때 비(강수확률 40%)가 조금 오는 곳이 있겠습니다.남해안지방에는 바람이 다소 강하게 부는 곳이 있겠습니다. 바다의 물결은 남해먼바다와 제주도전해상에서 2.0~3.0m,그 밖의 해상에서는 0.5~2.5m로 일겠습니다.오늘과 내일(17일) 해상에 안개끼는 곳이 많겠습니다. * 예상 강수량(16일 17시부터 17일 24시까지) * - 제주도, 전라남도해안: 10~50mm- 경상남도남해안: 5~30mm
         공부는 꾸준히 하지 않으면 절대 못다 ...ㅜㅠ[.....]
         논다 < 프로젝트를 열심히다 < 시험을 잘본다 < 잘 찍는다
         저는 학원이나 과외번도 없고요
         계가있었어
         이론 번 읽어보고 문제를 푸는 방법으로 하면 100점
         명이 뿌리지 말고 -_-
         번에 여러개에 집중하는 건 시간상 불가능 경우가 많다
         애들아 나테 메세지 보낼땐 자신의 아이피를 써줘
         1. 중심내용 : 자전거는 지나가기에 충분 크기다.
         1. 공부할 때 가장 중요 것?
         잠재 의식과 자신의 느낌 그리고 즐거움을 응용 자기 개발
         그래서 좋은 선생님을 만나야 성공다.
         굳이 프로그래밍을 잘해야 다는 강박관념에 빠지기 보다는 자연스럽게 할수 있을 정도가 되어야 다는 내용.
         굳이 결과물을 내놓지 않더라도 비록 그 결과물이 다른사람이 보기에는 헛짓이더라도 만큼 늘수 있다는 내요
         격려하면서 즐겁게 테니스를 치도록 다..ㅋㅋ
         중요 개념보다 유용 개념 먼저 가르친다-
         누군가가 Accelerated C++을 평 글이다.
         단순 교육이 아닌 innergame방식의 교육을 통 획기적인 교육.
  • 새싹교실/2011/데미안반 . . . . 52 matches
          * C언어의 단점 중 low-level적 특성으로 프로그래밍을 하는데 많은 주의를 요다 했는데, 실제로 잘못 사용 사례는?
          * A언어 : ALGOL을 말합니다. 고급 프로그래밍 언어(어셈블리나 기계어를 저급 프로그래밍 언어라고 합니다)로 각광받던 포트란ForTran에 대항하기 위해 유럽을 중심으로 개발된 프로그래밍 언어입니다. ALGOL은 Algorithm Language의 약자로서, 이름 그대로 알고리즘 연구개발을 위해 만들어졌습니다. 하지만 ALGOL은 특정 프로그래밍 언어를 지칭하기 보다는 C언어나 파스칼과 같이 구조화된 프로그래밍 언어를 지칭하는 말(ALGOL-like programming language)로 쓰입니다. [http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=68855131&qb=Q+yWuOyWtCBC7Ja47Ja0IEHslrjslrQ=&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=ghtBIz331ywssZ%2BbORVssv--324794&sid=TYBj6x1TgE0AAE@GUeM 출처 링크! 클릭하세요:)]
          * 기계어로 번역된 파일이 .obj 파일인데 왜 이상 영어들로 되어있나요?
          * [강소현] - 열성적으로 질문을 해주어서 좋았습니다. A언어도 있는지의 여부를 물었었는데 저는 몰랐었는데 실제로 존재하더라구요 ㅎㅎ 가벼운 내용이라도 의문이 드는 사항이라면 언제든지 위키나 문자로 질문해주면 최대 답변을 달도록 노력하겠습니다. 다음 시간에는 이전에 실습했던 것의 복습과 scanf 이후로 나갈 예정입니다. PPT 준비에 디자인도 없이 급하게 만든 티가 났었는데, 다음 시간에는 조금 더 준비를 해가겠습니다:)
          assert(val++ == 10); //val++ 값이 10과 같으면 정상작동. 아니면 오류 출력
          assert(++val == 12); //++val 값이 12과 같으면 정상작동. 아니면 오류 출력
          * 기타 대입 연산자 사용 예에서 -= , /= , %= 결과를 assert(val1 == 7); 와 같이 assert함수 안에 넣어 확인하시오.
          * 증가 감소 연산자 사용 예에서 감소연산자를 사용 예를 추가해보자.
          * assert는 '''강하게 주장하다'''라는 의미로 위와 같은 경우 val1이 7이 아니다! val2가 4가 아니다! 라고 주장다는 의미입니다. 하지만 val1값은 7이고, val2의 값은 4니까 에러창을 띄워 주장이 잘못됐다고 알려주는 거에요. 전체적으로 의문사항은 assert문보다는 '''!='''의 의미를 잘 몰라서 그런 듯 합니다. == 는 같다, !=는 아니다라는 의미의 관계연산자입니다.
          * [박성국] - 오늘 다양 연산자에 대해 배우고 printf 와 scanf 에 대해 잘 이해 할 수 있었어요. 감사합니다.^^
          * [이준영] - 수업시간에 이해가 잘안가던 printf랑 scanf를 배울 수 있어서 유익 시간이었습니다. 기타 연산자도 배울 수 있었습니다.감사합니다.
          * [강소현] - 4피에서 수업이 없는 줄 알고 괜히 이동했다가 다시 6피로 이동하는 번거로운 일을 했었는데, 앞으로는 얌전히 6피에서만 수업을 해야겠어요. 수요일 11시부터 12시까지 딱 새싹 시간에 다른 수업이 있는 줄 몰랐었어요 ㅠㅠ printf와 scanf에서 시간을 많이 투자해서, 급하게 연산자를 쭉쭉- 설명하고 끝내느라 기억에 남지 않을 것 같습니다. 따라서 연산자에 관 간단 과제를 내어 익히도록 하겠습니다.(?!) 준비를 잘 해와야하는데, 계속 부족 강의라고만 하는 것은 겸손이 아니라 그냥 자기비하란 생각이 문득 들었습니다. 그 동안 푸념을 들어주어 미안했고, 앞으로는 그런 일이 없도록 할 것입니다.
          * 데이터 저장을 위 변수
         ''자세 내용은 PPT에 있습니다:)''
          *[http://ko.wikipedia.org/wiki/2%EC%9D%98_%EB%B3%B4%EC%88%98 2의 보수]에 2의 보수에 대 설명이 있습니다. 왜 0000 0010 의 음수 형태를 1000 0010 으로 하지 않고, 2의 보수 형태인 1111 1110 을 사용했냐! 이건 컴퓨터가 음수와 양수를 이용 계산을 편리하게 하기 위해 그런듯합니다. 2-2를 우리야 바로 0이라고 계산할 수 있지만, 컴퓨터는 2+(-2)형태로 바꿔서 0000 0010 과 1111 1110을 더해 0000 0000 이 나오게 합니다. '''컴퓨터에서 가산기를 사용하여 뺄셈을 하기 위해 음수의 표현으로 자주 사용된다'''라고 사전에 나오네요ㅠㅠㅋ
          * [이준영] - 반복문을 배웠습니다. for문과 while, do while 을 배웠는데 다 비슷 문법 같습니다.
         while을 중첩하는 방법도 배웠는데 매우 복잡것 같습니다.
         매우 유익 시간이었어요. 감사합니다.
         }//글 ㅇ를 치니까 피라미드가 나오던데요 ㅇㅅㅇ 이건 어떤 현상인지 ㅋ?
          * 글 ㅇ를 치니까 피라미드가 나옵니다.
  • 새싹교실/2012/주먹밥 . . . . 52 matches
         || 12 || 원표 ||
         || 원표 || O || O || O || X || O || X ||
          * [박도건] : 컴퓨터에 관 여러가지 잡 지식 + 프로그램 사용법 습득, 네트워크 프로그래밍, 게임 만들어보기.
          * [원표] : 다양 컴퓨터 프로그램에 익숙해지고 커리큘럼을 열심히 따라가겠다.
          * 맨 왼쪽부터 박도건, 김준석, 원표, 용상훈 입니다.
          * Linux에서 GCC를 사용 컴파일 시범
          * 원표 : 새싹교실 첫 수업이었다. 박도건, 용상훈이라는 동기들과 같이 하게되었는데 앞으로 친해졌으면 좋곘다. 처음에는 새싹교실을 하는 이유와, 진행방식 등에 대해 선배님께 설명을 들었다. 그리고 wiwki에 가입해서 앞으로 우리가 새싹교실에서 배운것, 느낀것을 직접 편집할 수 있다는 것이 좋았다. 그 후에 Virtual Box라는 것으로. Hello World라는 프로그램을 짯는데 새로운 환경을 볼 수 있어서 좋았지만 편으로는 처음보는 환경이라 어색 감이 있었다. 그리고 어플 프로그램을 보여주셨는데. 친구들은 이해하는것 같은데 나만 잘 못하는 것 같았다.
          * 용상훈 : 오늘 경험했던 일은 새싹교실은 "어떻게 된다"라고 설명하는 시간이었다. 처음에 새싹교실에 들어가면 무지 어색할 것 가았는데 그렇지 않았다. 컴퓨터 3대를 앞에두고 wiki에 해서 처음 이야기를 들었다. 생소것이어서 많이 신기하셨다. 그리고 버츄얼 박스 받고 리눅스 환경를 처음보았다. 재미있을것 같다. 그리고 가장 신기 일은 고등학교 선배님인 박성현 선배님을 뵙는데 너무 신기 하였다. 먼저 인사를 드렸어야 했는데.. 인사드리고 전화번호도 알려드렸다. 신기 하루였다.
          * 박도건 : 캡스톤설계실(208-216)에서 김준석 선배님과, 원표, 용상훈 동기들과 같이 3월 21일 PM6시에 gcc, Linux, android example, wiki작성법 등을 배웠다. 나랑 비슷해보이는 친구가 있어서 같이 프로젝트 할 수 있을것 같다.
          * 김준석 :용상훈, 원표, 박도건을 이끌고 새싹을 캡실에서 진행해보았다. 우리반의 징크스는 끝나지 않았다. 꼭 걸러내도 기본을 아는 친구들이 아무것도 모르는것처럼 들어와. 여튼, 그래도 새로 새싹을 가르칠수 있고 좀 알고 있는 학생들이 들어와서 좋다. 강의를 다음시간에 팍팍나가도 될것 같다. 2주차에 대해 코딩하는것이나 앞으로의 진로에 대해 물어보았고 현재 전체적인 진도나 수준을 간접적으로 알 수 있게 된것이 가장 큰 성과다.
          * 글 띄어쓰기에 문제가 발견되고 코딩 띄어쓰기에 대 중요성을 알지 못하는것을 알게됨 - [김준석]
          * 헤더 파일들에는 뭐가 들어가는지 번 알아보았습니다. math.h에는 수학에 관련된 함수. time.h에는 시간 제어에 관련됨 함수를 사용했죠 .srand(time(NULL))이 왜 쓰이는 지는 아직 안알려주었답니다^.^
          * 원표 - 세 정수 정렬하기
          * 원표 -윤년 판단하기
         == 3주차(4/3, 4/4 원표 보강) ==
          * 김준석 - 아이패드 개발을 하는데 데드라인은 지났어. 그래서 교수님께 사과메일을 보냈어. 그리고 캡스톤 설계실에서 새로운 프로젝트를 제안을 받습니다. 원래 댄스스포츠 동아리를 하고 있는데 발레를 배우게 됬음. 수요일마다 운동과 건강 조교활동을 하고 있고 목요일은 교수님 애를 봐줌. 어제 지인중에 상당 분이 있어서 밤새서 지켜주고 빛 리더스에서 독후감쓰는거 했음. 휴학생인데 학교에 24시간 있고 영어학원 10시에 일어나는거 너무 힘듬. 난 아침에 못일어나~ 그리고 새싹 강사들 교육하는 거 4타임 너무 귀찮음=ㅂ= 강사가 못알아 먹어!!!! 뭐 여튼 원표도 와서 4시간 와서 배우고 갔음. 일주일이 부족함. 시간을 대출해줘!
         ==== 원표 보강 수업(2012/4/3, 4/4) ====
          * {{{ || && 논리 연산 : ||는 쪽만 참이어도 참을 뱉어냄 &&는 양쪽이 참이어야지 참을 뱉어냄}}}
          * {{{ ~^&| 비트 연산자 : char 예제로 1byte -> 8bit ~은 0과 1을 바꾸는것 ^는 같으면 거짓 다르면 참 &는 양쪽이 1이어야지 1 |는 쪽만 1이어도 1로 서로 계산함. }}}
          * 위와 같이 함수 추상화의 완성형은 Call-by-reference를 이용 전달입니다. 잊지마세요!
  • PairProgramming . . . . 51 matches
          * Pair Refactoring - 꼭 소스 코드가 아니더라도 위키 페이지에 대 ["문서구조조정"] 을 하는 경우에도 적용할 수 있다. 특히, 해당 토론이 벌어진뒤 양론으로 나누어졌을 경우, 각 의견 지지자들이 Pair 로 문서구조조정을 할때 이용할 수 있다.
          * Protocol Analysis, 지식의 전달 - Seminar:CognitivePsychology 참조. 다른 사람의 사고과정을 관찰하고, 또 자신의 사고과정을 다른 사람으로 하여금 관찰할 수 있게 해준다. 이는 자신의 프로그래밍 과정중 잘못된 부분을 고치는데 도움을 준다.
          * 해당 시간 내 집중도의 상승, Pair Pressure - 평소 프로그래밍 외의 것(프로그래밍 중 음악듣기, 쓸데없는 웹서핑, 메일 읽기)에 대 잡음을 없앤다. 작업 자체에만 몰두하게 해준다. ["TestDrivenDevelopment"] 와 상호작용이 빠른 언어(["Python"] 등..)를 이용하면 Feedback 이 빠르므로 집중도가 더 높아진다.
         == Pair Programming 에 대 오해? ==
          * Pair 중 Expert는 Junior에게 많은 설명을 해줘야 다? - 이는 Junior 의 Feedback 을 보고 결정하는 것이 좋다. 처음부터 Expert 가 꼭 '선생님'이 될 필요는 없다.
          * Junior : Junior Pair 는 의미가 없다? - 결과물에 상관하지 않는 학습의 경우 그 의미가 있다. Junior 의 실력 계 내에서의 Output 으로도 의미가 있다. 처음 프로그래밍을 익히는 사람에게 Pair 를 하는 것 자체가 새로운 학습경험이 된다.
         진행 사람 : 강석천, 윤상혁 [[BR]]
         동문서버 프로그래밍 팀의 인수인계용으로 이용되었었다. PP를 주로 하고 두번의 VPP를 했다. 해당 소스를 같이 만들어가면서 기존의 프로그램을 설명했다.
         Expert : Junior . 즉, 해당 분야에 대 전문가 : 초심자 의 문제이다. 이 경우 그 진행이 늦어질 수 있다. (Expert : Expert는 최고의 효율성을 가진다. 물론 이것도 열린 마음을 바탕으로 다. Junior : Junior 도 나름대로(?) 빨리 움직인다. (제대로 움직인다는 보장은 못다. -_-;)) 그리고 Expert가 해당 프로그래밍에 대 답 (코드)을 이미 알고 있는 경우 Expert의 집중도와 긴장감을 해치게 된다.
         이 때에는 Expert는 놀지말고 (-_-;) Observer의 역할에 충실다. Junior 의 플밍하는 부분을 보면서 전체 프로그램 내의 관계와 비교해보거나, '자신이라면 어떻게 해결할까?' 등 문제를 제기해보거나, reference, 관련 소스를 준비해주는 방법이 있다.
         또 하나의 문제점으로 제기된 것은, Junior 가 Expert의 권위에 눌릴 수 있다는 것이다. Junior 는 질문에 용감해야 다. Expert는 답변에 인색해서는 안된다. 열린 마음이 필요 일이다. (Communication 과 Courge 는 XP 의 덕목이다. ^^)
         전문가라 하더라도 프로그래밍의 실력과 다른사람에게 답변해주는 능력은 다르다. 커뮤니케이션 능력은 실제 도메인에 대 지식과는 다를 수 있다. Expert 는 Junior 에게 설명을 해줌으로서 기존의 지식에 대 정리를 해 나갈 수 있다. Junior 는 혼자서 삽질하는 것보다 더 빨리 필요 지식에 대해 접근할 수 있다.
         진행 사람 : 강석천, 박지환 [[BR]]
         간단 아날로그 시계를 만드는 프로그램이였다. MFC + CppUnit 로 작업했다.
          * Pair 의 진행을 이끌어가는 것 - 프로그래밍의 흐름이라고 해야 할까. 디자인을 어느정도 선정도로 맞추고 어떠 문제를 풀 것인가에 대 약간의 선이 필요할 것 같다. 이 경우에는 초반 디자인이 허술했었다는 약점이 있었다. '전체적인 관점에서 무엇무엇을 하면 프로그램이 완성될 것이다' 라는 것. UserStory 만 생각하고 EnginneringTask 를 간과 것이 큰 문제였다. (그때 EnginneringTask 에 대 개념이 없었었다는. 어디서 함부로 주워만 지식. --; 사고를 하자 사고를. -_-)
          * Pair 의 분배 - TFP를 공부하느냐고 시작 것이였던지라, 상대적으로 CppUnit 에 익숙하지 않은 사람에게 코딩을 주도하게 했다. 1주일정도 되는 프로젝트라면 Junior로 하여금 경험을 쌓게 함으로써 오히려 장점으로 작용할 수도 있을 것 같다. 하지만, 역시 적절하게 분배를 했었어야 할 것 같다.
         TestFirstProgramming 과 PairProgramming 은 집중도에 관해서는 가장 훌륭 선택인 것 같다. (단, Pair와의 담합행위가 이루어지면 곤란하겠다. -_-;)
         진행 사람 : 강석천, bioinfomatix 에서 일하시는 분들[[BR]]
         학습목적이 아닌 실질적인 개발을 위 PairProgramming 으로는 처음인듯 하다. 2주간 격일로 일을 했었는데, XP 스타일로 프로젝트를 진행하였다.
          * 보통 코딩을 주도하는쪽이 빨리 지치며 집중력도 떨어지게 된다. 특히 PairProgramming 의 경우는 상대편 Pair에 대 배려상 해당 시간에 작업 이외의 다른 일을 거의 하지 않는다. (화장실도 자주 안간다;;)
  • 고한종 . . . . 51 matches
         >중앙대 컴퓨터 공학 11학번 고종입니다.
         = 일 =
         ~~공해라고 표현해도 좋을 만큼 시시콜콜것도 다써서 솔직히 부끄럽다~~
         - [고종/업적/WinAPI를 통 테트리스]
         - ~~[고종/업적/WinAPI로 만든 학과주점 포스기]~~
         - [고종/업적/Math-Explorer] (...)
          * 내 1학년 겨울방학을 전부 잡아 먹고, 2학년 1학기, 여름방학 전반부도 잡아먹은 녀석 (...), 지금보면 정말 허접 App인데, 아직도 이 소스의 도움을 받고 있다. 가끔 들여다보면 전부 싹다 갈아 엎어버리고 싶은 생각이 가끔 든다. [황현]선배의 마음이 약간은 이해가 된다. 이해가 안되는건 갈아 엎는 걸 개강직전에 하고 여름방학에도 하고 그랬다는거지 (...), 이걸 안 했으면 지금의 나는 좀 다른 사람이었을 것 같다. - [고종], 13년 3월 16일
         - [고종/업적/Androshoot]
          * 2학년 JAVA 팀플용으로 만든 것. 얼마전에 엄마 갤S2에 그대로 남아 있는걸 보고 놀람. - [고종], 13년 3월 16일
          * 개인적으로 이거 덕분에 안드로이드 할 수 있게 되어서 좋기도 데... 그래도 기분 나쁨. 다른 의미로 내 실패를 상징하는 작품이라... - [고종], 13년 3월 16일
         - [고종/업적/AutoSugang]
          * 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일
         - [고종/업적/DrawPicture]
          * 완성은 못 했고, 이때는 멀티스레드 쓸 생각을 전혀 못 했는데, 이제는 할 줄 아니까 지금 붙잡으면 고칠 수 있음. 이거 만들땐 AppStore에 올려서 돈벌 생각을 했었는데... 얼마전에 이거보다 훨씬훨씬 훨씬 훌륭게 이미 나와버려서.. -_-;; 몇몇 사람들에겐 보여줬으니 알지도... [권순의]선배 사진가지고 많이 테스트해봤다. 테스트할려고 찍은 인물사진중엔 제일 좋은결과가 나왔었음. - [고종], 13년 3월 16일
         -[고종/업적/MALogin]
          * 여태까지 만들었던 것중에 가장 잘나간 것. 하지만 속 알멩이는 여태까지 만든 것 중 가장 쓰레기. 이걸 OOP개념이라던가, 좋은 유지보수가 가능하게 코딩하려면, 프로젝트를 버리고 다시 시작해야 할듯. 소개하자면 이걸 공개게 13년 1월 8일인가 하는데, 12년 12월 20일에 확산성 밀리언 아서라고 일본 ~~T~~CG(트레이드가 없어....) 게임이 들어왔다. 애니팡으로 국 모바일 게임시장이 열린 상황 (그 전에는 미친 법 때문에 스토어에 게임 카테고리가 없었지....), 퍼즐류는 애니팡이 먹고, 슈팅게임은 드래곤플라이트, 레이싱(?)은 다함께차차차, 캐쥬얼은 윈드러너가 먹은 상황에, ~~T~~CG라는 새로운 장르가 수입이 되니.. 그야말로 공급이 없어서 단숨에 유저 확보. 지금 대략 생성된 계정은 못해도 80만개를 넘었다고 다. 게임소개는 여기까지하고, 이 게임이 1기긱 1계정으로 기기종속 게임인데, 온라인 게임인데 부캐를 돌리고 싶은것은 어찌보면 당연!. 사람들이 로그아웃 하는 방법을 찾아놓은게 있다. 근데 겁나 불편하다 (...) 그래서 그걸 안드로이드 어플로 자동화시켜서 터치번이면 되도록 만들었다. 그리고 공개 -> 2달이 지난 지금 1만 5천명이 내 블로그를 들렸다 나갔다. 아마 못 해도 1만은 다운로드 까진 해보지 않았을까 싶다. - [고종], 13년 3월 16일
          * 나름 사용하기 쉽게 만든다고 만들었는데, 초기 셋팅에서 이상짓해서 망치는사람이 은근 많다. 이거 만들고나서 컴퓨터 못하는사람들이 다 멍청이로 보인다 어뜩함 -_-;;; - [고종], 13년 3월 16일
          * 이거 결국엔 카피켓이 먼저 구글 플레이 스토어에 올라가 버렸다. 이런 저런 이유로 마켓에 올릴 생각은 없었지만. 카피켓이 스토어 올라가서 수익 내고 있는거 보니까 기분이 참 미묘미묘함 -[고종](13/03/27)
         - [고종/업적/PaperMosaic]
  • 데블스캠프2010/셋째날/후기 . . . . 51 matches
          * 신기 경험(?)을 것 같아요^^ 평상시 스스로 못 보는 걸 관찰할 수 있는 기회가 되면서 학습 방법에 대해서 번 더 생각하게 되었어요. 특이 강의였어요! - [김정혜](사실 지금도 진행중...ㅎㅎ)
          * 옛날부터 가지고 있던 고질적인 문제를 다시번 상기시켜주었던 강의였던것 같네요.. 저만 너무 게없어서 팀원들테 미안해지는... - [양아석]
          * 관찰자로써 정말 깜짝놀랐어요. 저도 이런 시뮬레이션으로 저를 번 돌아보는 기회를 만들어봐야겠네요. - [이충현]
          * 오늘 내가 팀장을 맡아서 팀을 짜서 팀프로젝트를 했는데 나의 문제점을 알 수 있었고 내 성격과 특성을 객관적으로 볼 수 있어서 유익 시간이었다.- [배진재]
          * 관찰자와 플레이어로 나뉘어 학습하는 시뮬레이션을 진행했습니다. 저는 따로 자원해서 관찰자를 했었는데 상당히 유익 시간이었다고 느꼈습니다. 사람을 관찰하고 또 분석다는 것이 생각보다 힘들지만 대신에 보는 시야가 층 넓어진다는 것을 알수 있는 좋은 기회가 되었습니다. 사실 더 많은 것을 느낀 시간은 후의 느낀 점을 발표하는 시간이었는데요, 제가 느낀 점을 발표하고 다른 사람들이 발표하는 것을 듣고 거기에 김창준 선배님이 조언해주는 것까지 들으며 이런 저런 많은 생각을 할 수 있는 좋은 기회였습니다. 인생의 모든 순간은 선택이므로 학습이나 혹은 삶에서 자신이 취하는 모든 행동은 결국, 자신이 그렇게 했기 때문에 비롯된다는 것에 대해 번 더 깊게 생각해보고 자신을 반성할 수 있는 시간이었습니다. 오늘 단 하루로 '아, 즐거웠다' 가 아닌, 앞으로 삶을 살아가며 '매 순간 순간의 선택은 자신이 결정하는 것이다' 라는걸 새겨야겠습니다. - [김준영]
          1. 관찰자를 할까 생각하다 플레이어로 참가했는데, 관찰자들이 시뮬레이션 후에 발표했던 이야기를 듣고 저에게 어떤 문제가 있는지 알게 되어 플레이어로 참가하길 잘했다는 생각이 들었습니다. 중고등학생때부터 조별 활동을 여러차례 했었는데 만족 경험보다 그렇지 못 경험이 훨씬 많았습니다. 각 활동은 다양 주제와 상황 하에서 이루어졌는데 모든 조별 활동에서 공통적으로, 그리고 가장 불만이었던 부분은 대다수의 팀원들이 적극적으로 참여하지 않는 점이었습니다. 그런 불만을 해결하기 위해 저는 '내가 미리 더 많이 생각하고 방향을 제시해야겠다'고 생각했습니다. 그런데 오늘 시뮬레이션을 해보니 제 태도로 인해 오히려 팀원들이 더 참여하기 힘들어질 수 있다는 것을 깨달았습니다. 앞으로는 팀원들이 참여하지 않는 것이 문제라고 느껴질 때 제 의견을 주장하는 대신 팀원들이 모두 자신의 의견을 말할 수 있도록 해야겠다는 생각이 들었습니다.
          2. 논문을 처음 보고 '여기서 가장 중요 게 뭘까? 그거 위주로 보면 좋을텐데.'라고 생각하면서 전체 내용을 대충 훑어봤는데 생소 내용이라 뭐가 중요지 조차 알 수 없었습니다. 나중에 김창준 선배님께서 논문의 제목에 대해서 말씀하셨을 때 제목에 먼저 집중했으면 좋았겠다는 생각이 들었습니다. 제목을 이해했다면 논문에서 다루고자 하는 것이 무엇인지 알기 훨씬 좋았을 것이고, 똑같이 논문을 읽더라도 내용을 파악하기 더 쉽지 않았을까 하는 생각이 듭니다.
          3. 되돌아보니 질문을 하거나, 룰을 바꾸려는 생각조차 하지 못했다는 게 굉장히 안타깝습니다. 이 시뮬레이션에서 뿐만이 아니라 평소에도 부딪쳐보지도 않고 지레짐작으로 '당연히' 안 되는 것이라고 생각하는 게 많았습니다. 앞으로는 그런 생각에서 벗어나 필요하다면 더 잘 아는 사람에게 질문도 하고, 필요 것이 있으면 룰을 바꾸려는 노력, 제안, 시도 등을 해야겠다는 생각이 듭니다. - [김수경]
          또 팀장으로써 팀에게 일을 분배할때나 의견을 규합할 때 모두 '목적을 달성하기 위해 필요 전략'을 제대로 설정하지 않고 막무가내 식으로 하다보니 단순하게 'J언어의 특징, J언어의 장점, J언어 예제'라는 완전히 가르치는 사람 입장에서의 내용들을 선택하게 되었습니다. 실제 청자의 특징을 고려하지 않은 이러 선택으로 인해, 결과가 신구조화팀 보다 좋지 않았던 것 같습니다.
          좋았던 것은 시뮬레이션을 하면서 즐거웠던 것입니다. 처음부터 팀에 대 기대감도 있었고 팀원들 모두가 열정적으로 참여해줘서 그랬던 것 같습니다. 팀원들 모두가 분배받은 일을 완료하고 그에 대 피드백도 주었구요. 또 제가 보지 못 부분들을 관찰자 분들에게서 들을 수 있어서 좋았습니다.
          * 처음에는 학습 이라는 주제에 무엇을 할까 궁금했는데 참 신기 방법으로 저에대 문제를 파악할 수 있어서 유익 시간이었습니다. 실제 학습을 하다보니 사람마다 유형이 판이하게 다른것도 너무 흥미로웠고 또 편으로는 제가 구글을 너무 믿는 구나 라는 것도 느꼈습니다..(ㅎㅎ) 나중에 회고시간에 선배님께서 '룰'을 깰 생각을 사람이 아무도 없다는 점이 놀랐다고 하셨는데 그 얘기를 듣는순간 내가 너무 룰 이라는 것에 박혀서 그걸 깰 생각을 하지도 조차 못하고 수동적으로 살아왔나 라는 생각도 하게 되었습니다. - [이원정]
          * turtle 재밌네요 ㅋㅋ 다른 재미있는 모양을 만들고 싶었는데 프로그래밍 실력이 아직 많이 부족 탓에 거기까진 시간 안에 못했네요;;-[신기호]
          * 러플과 함께 또다른 언어를 배웠네요! 근데 정말 재밌습니다 ㅋ 문법이 어렵지 않아서이그런건지... 또 그림을 그릴 수 있다는 새로운 방식에 재미를 많이 느꼈어요. 일단.. C와 C++을 마스터 후에...?!!! 파이썬도 열심히 해봐야겠네요 ^^ 감사합니다! - [이충현]
          * python 을 이름만 들어봤는데 이렇게 직접 해보니 정말 재미있었던 시간이었습니다. turtle함수를 이용 그림그리기 프로그램을 해보니 파이썬에 대 흥미가 들었습니다. 앞으로 파이썬에데해서 많은 관심을 가지게된 계기가 된것 같습니다. - [양아석]
          * python...새로운 언어를 배웠네요ㅎㅎ제가 프로그래밍 것이 그래픽으로 나온다는 것이 참 재미잇고 신기 것 같아요 -[박정근]
          * Python이라는 언어의 특징에 대해서 알아보고 사용법에 대해 배웠다어요 C에 비해서 편점이 많은 것 같았고, 개발자 분이 만드실 때 참 재밌게 만든 것 같다는 느낌이 들었어요ㅋㅋ. 거북이를 이용해서 여러 그림도 그려보고 재미있었어요~_~. 설명도 잘 해주셔서 이해하기 쉬웠고 코딩도 생각보다 잘 되서 좋았어요~ㅋPython에대해 좀더 알아보고 싶고 더 재밌는 그림도 그려보려고요~! [박재홍]
          * python 짱 신기해요!! 정혜랑 아까 이거 배우기 전에 파에톤인데 머지 이러면서 막 그랫엇는데ㅋㅋ 신기하고 재밋엇어요!! 그렇게 어렵지도 않고.ㅎㅎ 먼가 씨랑 비슷거 같으면서도 다른게 있고 무튼 완전 재밋었어요!!!!-[박소연]
          * 파이썬!!! 그동안 이전 데블스나 뭐 다른 시간에 조금씩 써본 적은 있는데 그땐 진짜 엄청 간단 것만 해서 아쉬웠는데 오늘은 좀 더 재밌는 것들을 많이 해봐서 좋았어요. 그 마지막에 했던 프랙탈 그리는 것 혼자 꼭 다시 짜봐야겠어요 ㅋㅋㅋ 하다가 막혀서 ㅜㅜㅜㅜ - [김수경]
          * Python, 개인적으로 참 배워보고 싶었던 언어였습니다. 왜냐면 ZP가 사랑하는 언어잖아요... ㅋㅋㅋㅋ 번 들어보니 새롭긴 했습니다. 작년에 루아를 잠깐 공부해본적이 있었는데 자료형에 대해선 같은 특징을 가지고 있더라고요. 역시 '스크립트 언어는 인터프리터를 사용해서 자료형을 지정하는 것이 유연성이 없어서 그런가보다'라는 생각이 들었습니다. 재미지네요. 그런데 제가 스크립트 언어 하나 정돈 제대로 배워볼 생각인데 파이썬 번 해봐야겠네요. - [박성현]
          * 노트북 고치러 용산 갔다오느라 앞부분 놓치는 바람에 쭉 못들어서 아쉬워요 ㅠ 파이썬 번 공부해보고 싶었는데 ㅠ - [윤종하]
  • CleanCode . . . . 50 matches
          * [http://dogfeet.github.io/progit/progit.ko.pdf git 사용과 관련된 pro git이라는 책의 국어 번역본. 상당히 자세히 나와 있다고 하네요]
          * 코드를 깨끗하게 하고 싶으면 테스트 코드도 깨끗하게 유지해야 다. 테스트 코드가 더러워지면 테스트를 잘 안하게 되니까 코드도 더러워지게 된다.
          * 실제로는 쓰지 않는데 테스트를 위 메소드를 추가하게 되는 경우가 있을 수 있지 않은가? -> java의 경우는 reflection을 사용하면 메소드의 추가 없이 처리가 가능 경우도 있지만 그것보다도 테스트용 framework(mockito 등)를 사용하는것이 좋다.
          * [https://gist.github.com/benelog/2922437 버전관리가 필요 이유를 깨닫는 어떤 사람]
          * 헐ㅋㅋㅋ 번역하니까 인스토루디레쿠토리로 나온닼ㅋㅋㅋ 전 그냥 환경변수 설정 해버렸습니다. 절대경로 쓰다가 베이스 디렉토리 번 날려먹고 가능하면 피해범위 적도록 경로 이동해서 조작하거든요. - [서지혜]
          * 함수는 하나의 일을 하는게 좋다고 하는데 플래그를 쓴다는 것은 함수가 플래그의 값에 따라서 다른 값을 다고 말하는 것이므로.
          * 추상화 레벨이 달라지는 것을 막기 위해서는 코드를 짧게 하고 메소드로 많이 나누면 코드 내에서 추상화 레벨이 달라지는 것을 막을 수 있다.
          * - : 프로젝트 방식과 방향이 흐릿 느낌이다.
          * + : 책 얘기만 게 아니라 책의 예제를 시도해봤다.
          * 네 그래서 일부러 코칭이라고 썼어요ㅋㅋ 멘토링은 아닌 것 같고 티칭은 지양하고싶고, 스터디가 잘 되어가고 있는지를 확인하고 싶다는 맥락에선 코칭이 제일 유사 것같아서리.. - [서지혜]
          * - : 배경지식이 부족 듯 하다.
          * F : 스터디중에 어떻게 진행해야 하나에 대 얘기를 너무 많이 다.
          * - : 리팩토링을 할 때 리팩토링에 대 요구사항, 리팩토링을 멈출 수 있는 수준을 제시하지 못하였다.
          * ajax (callback에 대 이해를 위해)
          * javascript를 이용 비동기 http 요청.
          * UI를 그리는 흐름(thread)과 http 요청에 대 흐름(thread)이 따로 존재함.
          * javascript 소스 코드에서 꺼번에 인자를 넘기는 방식.
          * 로그인 성공, 실패에 따른 callback 함수를 번에 넘기고 있다.
          * 꺼번에 { id:, password:, success:, fail: }을 하나의 객체로 만들어서 넘기는 방식.
          * id, password와 success, fail은 관계가 별로 없는데 같이 묶어서 넘기면 나중에 login 내에서 각각의 파트를 또 뽑아내야 다.
  • EffectiveSTL/Container . . . . 50 matches
          * STL의 Container들의 장점이라고 다면, 역시 유연성, 메모리 관리 알아서 하기, 자신이 알아서 늘었다 즐었다 하기 등등이 있겠다. 또 인터페이스가 이거나 저거나 비슷비슷해서 하나만 공부하면, 쉽게 다른것도 쓸수 있다는 것도 또 하나의 장점이 될수 있겠다.
          * 큰 1장 Containers에서는 상황에 맞는 적절 Container 고르는 법, 효율성 극대화 하기 등등을 다룬다.
          * 그 외에 Non Standard라고 써있는게 있긴 데, 잘 안쓰는 것 같다. 혹시라도 나중에 중요성이 부각되면 다시 봐야겠다. 딴게 급하니 일단.. AfterCheck
          * vector가 좋다고 써있다. 잘 쓰자. 가끔가다 시간,저장공간 등등에 있어서 Associative Containers를 압도할때도 있다고 다.
          * vector 는 Sequence Container 니까 보통 Associative Container 들(주로 Map)보다 메모리낭비가 덜함. 그대신 하나 단위 검색을 할때에는 Associative Container 들이 더 빠른 경우가 있음. (예를 들어 전화번호들을 저장 container 에서 024878113 을 찾는다면.? map 의 경우는 바로 해쉬함수를 이용, 큐에 찾지만, Sequence Container 들의 경우 처음부터 순차적으로 좌악 검색하겠지.) --[1002]
          * 전자에는 vector, string, deque 등이 있다. 뭔가 또 복잡 말이 있긴 데 그냥 넘어가자. 대충 insert, delete가 일어나면 기존의 원소가 이동다는 말 같다.
          * Random Access Iterator(임의 접근 반복자)가 필요하다면, vector, deque, string 써야 다. (rope란것도 있네), Bidirectional Iterator(양방향 반복자)가 필요하다면, slist는 쓰면 안된다.(당연하겠지) Hashed Containers 또 쓰지 말랜다.
          * Insert, Delete 할때 원소의 인덱스 위치가 변하면 안된다? 그러면 Contiguous-memory Containers는 쓰면 안된다. (해당 원소의 인덱스 위치가 변다.)
         == 완벽 Container 독립적인 코드 작성은 불가능? ==
          * Standard Node-based Container들은 양방향 반복자(bidirectional Iterator)를 지원다.
          ''STL Tutorial and Refereince 를 보면, 일부러 해당 Container 에게 최적화된 메소드들만 지원다고 써있었던 기억. 예를 든다면, Vector 의 경우 push_front 같은 것이 없다. (만일 vector에 push_front 를 다면? push_front 될때마다 매번 기존의 원소들 위치가 바뀐다.) --[1002]''
          * Encapsulization을 잘 하자. 바뀌는 것에 대 충격이 줄어들 것이다.
          * 컨테이너에 넣을 때나 뺄 때, 복사를 다.
          * 컨테이너에 Object를 넣을때에는, 그 Object의 복사 생성자(const reference)와, 대입 연산자를 재정의(const reference) 해주자. 안그러면 복사로 인 엄청난 낭비를 보게 될것이다.
          * 하지만 역시 내가 delete해줘야 다는 단점이 있다. 대안으로 smart pointers라는게 있다.(이게 뭘까)
          * 불필요 객체의 복사를 막기 위해 디자인 되어있다.(잘 이해가 안간다.)
          * 내가 요구할때만 그만큼 많은 공간을 할당다.
          * 컨테이너에 하나도 안들었다는것을 가정할때 size() == 0 이것보다 empty() 가 더 좋다고 다.
          * 약간 익숙 사람이라면..
         // copy 알고리즘을 이용다.
  • 토비의스프링3/밑줄긋기 . . . . 50 matches
          * 스프링을 사용하는 개발자들은 자연스럽게 자바와 엔터프라이즈 개발의 기본에 충실 베스트 프랙티스를 적용할 수 있고, 이상적인 개발 철학과 프로그래밍 모델을 이해하게 되고, 좋은 개발 습관을 체득하게 된다.
          * 스프링을 사용하는 개발자들이 스프링을 통해 얻게 되는 두 가지 중요 가치가 있다면 그것은 '''단순함'''과 '''유연성'''이다.
          * 가장 좋은 대책은 변화의 폭을 최소으로 줄여주는 것이다.
          * 그런데 디자인 패턴은 설계 전략이기도 하지만 굉장히 편리 커뮤니케이션 수단이기도 하다.
          * 템플릿이란 이렇게 바뀌는 성질이 다른 코드 중에서 변경이 거의 일어나지 않으며 일정 패턴으로 유지되는 특성을 가진 부분을 자유롭게 변경되는 성질을 가진 부분으로부터 독립시켜서 효과적으로 활용할 수 있도록 하는 방법이다.
          * Context는 전달받은 그 Strategy 구현 클래스의 오브젝트를 사용다.
          * DI의 가장 중요 개념은 제3자의 도움을 통애 두 오브젝트 사이의 유연 관계가 설정되도록 만든다는 것이다.
          * 템플릿과 콜백을 찾아낼 때는, 변하는 코드의 경계를 찾고 그 경계를 사이에 두고 주고받는 일정 정보가 있는지 확인하면 된다고 했다.
          * 예외는 처리돼야 다.
          * 예외를 처리할 때 반드시 지켜야 할 핵심 원칙은 가지다. 모든 예외는 적절하게 복구되든지 아니면 작업을 중단시키고 운영자 또는 개발자에게 분명하게 통보돼야 다.
          * 굳이 예외를 잡아서 뭔가 조치를 취할 방법이 없다면 잡지 말아야 다.
          * 예외를 회피하는 것은 예외를 복구하는 것처럼 의도가 분명해야 다.
          * 애플리케이션의 로직을 담기 위 예외는 체크 예외로 만든다.
          * 빠르게 실행 가능 포괄적인 테스트를 만들어두면 이렇게 기능의 추가나 수정이 일어날 때 그 위력을 발휘다.
          * 이것도 확인해야다는 생각을 미처 못했다. - [김수경]
          * 테스트를 만들면 작성 코드에 확신을 가질 수 있고 마음이 편해지는 건 사실이지만, 귀찮다고 대충 작성 테스트는 오히려 찾기 힘든 버그와 사고의 원인이 될 수도 있으니 조심하자.
          * 이 정도 코드라면 번 살펴보는 것 만으로도 오류가 있는지 쉽게 찾아낼 자신이 있는 개발자도 있겠지만, 정말 뛰어난 개발자라면 아무리 간단해 보여도 실수할 수 있음을 알고 있기 때문에 테스트를 만들어서 직접 동작하는 모습을 확인해보려고 할 것이다.
          * 이정도~ 부분을 읽고 자신있어 내가 부끄럽다.. 헐리우드에 가서 jesus=heaven no jesus=hell 판들고 행진하는 사람들처럼.. - [서지혜]
          * 코드가 깔끔해 보이지 안는 이유는 이렇게 성격이 다른 여러 가지 로직이 데 섞여있기 때문이다.
          * 성격이 다른 두 가지 경우가 모두 곳에서 처리되는 것은 뭔가 이상하다.
  • Linux/배포판 . . . . 49 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가 진행중이긴하다) 리눅스를 좀 다루어본 사람들이 설치하고 쓴다.또 설치 시간이 컴파일 하는 시간과 같이 걸리기 때문에 엄청난 설치시간으로도 유명하다.
         번도 써본적이 없어서 뭐라고 말하기 힘들다. 대략 배포방식은 레드햇(페도라)처럼 CD형태의 완전 패키지 형태로 배포된다.
         = 리눅스를 시작다면 =
         리눅스를 처음 시작하면서 어떤 배포판을 선택하는 지는 중요하다. 같은 리눅스이기는 하지만 사실 대부분의 리눅서들은 패키지 매니저를 이용하여 프로그램을 설치하는 편이지, 자신이 원하는 버전이 패키지 트리에 없다던가 버그가 있는 경우를 제외하면 직접 제작사 홈페이지에서 바이너리를 설치하는 경우는 거의 없다. 이럴때 동일 패키지를 쓰는 사람테 묻기가 편하고 이해하기가 편하기 대문이다. 2005년 현재 리눅스를 시작다면 현시점에서는 [http://www.ubuntulinux.org/ Ubuntu]를 가지고 시작해서 [http://www.debian.org Debian] 으로 옮겨가길 권다. 동일 패키징 방식을 가지고 있으면서 우분투는 데스크탑 리눅스를 표방하고 있는 만큼 다루기가 쉽기 때문이다. 우분투에서 기본을 익히고 직접 서버를 운영하는 수준으로 올라가면 데비안으로 옮겨가면 배포판을 바꾸는데에 대 부담을 전혀 느낄 필요가 없다. 나의 경우 대략 2주일 정도를 밤새면서 이런 저런 문제를 해결하면서 왠만 문제는 이제 스스로 해결할 정도가 되었는데... 번쯤은 해볼 만 도전이라고 생각다. 쓰다보면 윈도우 없이도 살 수 있는 세상도 있다는 생각도 하게 된다. 실제로 리눅스를 쓰는 사람들은 가장 게으른 배포판으로 데비안, 젠투정도를 꼽는다. 그만큼 잘 안변하고 번 설치하면 거의 새로 설치해야할 일이 없다는 것을 말하는 것이다.
  • MoreEffectiveC++/Basic . . . . 49 matches
         아직 string써본적 번도 없다. 반성..
          cout << rd; // rd에 관 특별 검사 필요 없다. reference니까.
          cout << *pd // pd가 null인지 검사 해야 다. pointer니까.
         pointer의 유의 사항인 null에 관 내용을 다시 알려준다.
         사견: Call by Value 보다 Call by Reference와 Const의 조합을 선호하자. 저자의 Effective C++에 전반적으로 언급되어 있고, 프로그래밍을 해보니 괜찮은 편이었다. 단 return에서 말썽이 생기는데, 현재 내 생각은 return에 대해서 회의적이다. 그래서 나는 COM식 표현인 in, out 접두어를 사용해서 아예 인자를 넘겨서 관리다. C++의 경우 return에 의해 객체를 Call by Reference하면 {} 를 벗어나는 셈이 되는데 어디서 파괴되는 것인가. 다 공부가 부족해서야 쩝 --;
          지역함수 안에서 지역 객체를 생성하여 Reference로 리턴할 경우 지역 함수가 반되면 지역 객체는 없어질 것이고, 리턴되는 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배 정도 난다고 광고하고 다녔었는데, 지금 생각해 보면 다 부질없는 이야기 같습니다.) -상민
          * Item 2 : C++ 스타일의 형변환을 권장다.
         update(&csw); // 당연히 안됨 const인자이므로 변환(풀어주는 일) 시켜 주어야 다.
          // C++는 C와의 호환성 고려를 위 것이므로 위와 같이
          // 동작 하지만 명시적이지 못면이 지적된다.
          // 이런말 하면 다 가능 듯 싶고 static_cast 와 차이가 없는 것
          // const_cast 가 down cast가 불가능 대신에 dynamic_cast 는 말그대로
          // 불가능 하면 null 을 반환해주는 기특 역할이 핵심이다.
          * ''reinterpret_cast<type>(expression)'' 은 차후 다시 읽은뒤 정리다.
          이렇게 구현 해서 대비하는걸 추천다. (dynamic_cast 는 C의 절차적 프로그래밍에서 등장 불가)
          * Item 3: 절대로! 클래스 간의 다형성을 통 배열 취급을 하지 말라
         이런 클래스를 선언했다. 그리고 다음과 같은 함수로 해당 클래스의 배열을 사용다고 가정하자
         그리고 다음과 같이 사용다.
          printBSTArray(cout, BSTArray, 10); // 올바르게 작동다. 아무 문제 없다.
  • 데블스캠프2011/첫째날/후기 . . . . 49 matches
          * 데블스캠프의 가장 중요 부분인 기록을 위해서 SVN과 위키의 사용법에 대 설명을 하는 시간. 사실 세 번째니만큼 그렇게까지 어색 느낌은 아니었습니다. 오히려 세 번째인데도 SVN의 사용법을 완벽하게 알고 있지 못 자신에 더 놀랐습니다 -_- 배웠다고 썩히지 말고 좀 더 자주자주 쓰도록 노력을 해 봅시다...
          * 오리엔테이션을 제가 미리 준비했어야했는데 전날까지 그래픽스 팀플을 하느라 정신이 없었어요ㅠ 갑자기 지원언니께 부탁드려서 죄송했습니다ㅜㅜ 갑작스럽게 부탁드렸는데도 5일간 진행하며 꼭 필요 것을 다 다뤄주셔서 좋았습니다. 제가 준비없이 했다면 절대 그렇게 못했을거예요ㅠㅠㅠ
          * 전 늦게와서 오프닝은 잘 못들었기 때문에 svn을 활용해보지는 못했네요 ^^; 하지만 팀프로젝트를 할 때 편리 프로그램인 것 같습니다.
          * 형진이형이 병특을 했던데다, 회사에 다니고 계셔서 항상 묻고싶었던게 많았는데, 많은걸 물어볼 수 있는 시간이 되어서 정말 좋았던거 같아요. 형진이형이 뭔가 끝없이 나오는 봇물(?) 같은 존재이신듯..! 우리가 프로그래머가 되면 어떠어떠게 될 수 있는지, 어떠 프로그래머가 되어서는 안되는지(정체된 프로그래머!), 병특하려면 어떤 조건(?)이 유리지(그런데 오늘 신검받고 2급 ㅠㅠ, 내면의 장애를 발견할 수 없었어요) 재밌게 들었구요, 면접관이 되어 질문다면 어떤 질문을 하겠는가?? 라는 것에서 다른분들이 쓴 글들을 보고도 많은걸 배운거 같았어요.
          * 형진이형의 여러 이야기를 들으면서 많이 찔리는 부분도 있고, 앞으로의 길에 대하여 다시 번 생각하게 된 계기가 되었던 것 같습니다. 확실히 형진이형은 걸어다니는 백과사전이네요. ㅎㅎㅎ 개발자로서의 많은 부분 들을 예전에 읽었던 책에서도 그렇고 많이 연관이 되어서 새록새록했습니다.
          * 형진이 형의 주제미정의 이야기 였습니다. 개발자로서 살아갈 때에 생각해봐야 할 부분들을 집어주셔서 그에대 고민을 잠시나마 할 수 있어서 좋았습니다. 이러 부분은 나중에 제가 개발자로 있을때에 다시 번 생각할 문제 이겠지요. 또 개발자를 판단하기 위가지 질문에서 다른 사람들이 생각하는 질문들과 그에 대 다양 답변을 들을수 있어서 좋았습니다.
          * 이것저것? 하느라 앞부분을 잘라먹었네요.ㅜㅜ 생각할 만 거리를 던져주는 좋은 말들이었습니다. 앞으로 어떻게 해야할지 생각도 해보게 됐구요.. 저는 큰일 났습니다.ㅋㅋ 일을 혼자하거나 소수로 움직이는걸 좋아해서, '남의 말대로 했는데 안되면 더 빡친다.' 맞는 말입니다. 다른 팀원의 실수를 제가 떠안아야하는 것도 있고, 제 실수를 다른 팀원이 떠안는 경우도 있습니다. 차라리 오픈소스 프로젝트는 브런치로 내맘대로 뻗어나가면 되지만, 팀 내에 갈등이 있을땐 쪼개지거나 합의를 보거나 둘 중 하나를 해야하지요. 음... 다른 팀원이 주도했다하더라도 팀의 결정은 곧 나의 결정이라고도 생각합니다. 그런 태도로 임다면 좀 더 나은 개발자가 될 수 있지 않을까 생각해봤네요.
          * 아 맞다. '내가 면접관이라면 하고싶은 질문'도 있었지. 나는 내 질문이 마음에 들어서 나표ㅋㅋㅋㅋ 지금 당장 할수있는 무엇을 하겠다라고 답하는 사람에게 점수를 줄 생각이었음. 계획을 세워서 무엇부터 하겠다라고 하는 사람은 많겠지만(아마?) 지금 내가 할수 있는 일을 시작하는 것이 중요함을 아는 사람은 많지 않을거라고 생각해서......
          * 개발자들이 앞으로 어떤 길을 갈 수 있는지, 어떤 것들에 주목을 해야 하는지에 대 세미나. 원래 정해져 있지 않았던 시간의 급조 세미나라고 하셨는데 개인적으로는 꽤 괜찮았다고 생각합니다. 사실 데블스캠프가 기술 주제를 많이 다루는 만큼 다소 높은 시야에서 전체적인 로드맵을 보여주는 세미나도 있어야 다고 생각하니까요. 들을 때마다 느끼는 거지만 형진 선배의 세미나는 원론적인 부분을 잘 짚어주는 것 같습니다. 저도 좀 더 기본적인 부분을 강화해야 할 필요가 있을듯합니다.
          * 좀 더 나은 사람을 뽑기 위해서 어떤 질문을 하면 좋을 것인가 하는 부분에서 질문들을 보면서 지금의 나는 저 질문들에 대답했을 때 나은 사람일까 아닐까 하는 생각이 들었습니다. 경험을 많이 쌓아서 괜찮은 대답을 할 수 있는 정도가 될 수 있으면 좋겠다는 생각이 듭니다. 하지만 신입사원은 어차피 처음에는 다 쓸만 수준이 안된다는 사실은 믿을 수가 없을 정도 -_- 틀림없이 다들 잘할 것 같은데...
          * 개발자 인생말고도 다른 범위에도 포함되는 질문입니다. 나와 일할수 있는사람. 내가 일하고싶은사람. 내가 생각하는 일 잘하는사람. 이 부분에 대해 생각해보게되었습니다. 질문들이 번쯤 들어봤지만 정말 필요했다고 생각되네요.
          * 발전하는 개발자가 되어야하는데 발전하는 척만 하는 것 같아 뜨끔. 준비할 시간이 거의 없었는데 잘 진행해줘서 고마워요. 어떤 기술적인 것을 배우는 시간은 아니었지만 중요 얘기였다고 생각합니다. 듣고 그렇구나 하고 끝나는 것이 아니라 자신이 만들었던 질문에 좋은 답을 할 수 있는 사람이 되도록 저도, 다른분들도 노력할 수 있는 기회가 되길 바랍니다.
          * '개발자는 무엇으로 사는가' 시간에는 전설의 레전드이신 형진이형의 강의를 들을 수 있어서 좋았습니다. 현직 개발자로써 느끼는 국의 현 환경이라던가 좋은 개발자는 어떤 사람이라던가... 특히 노력하지 않으면 실력이 절대 늘지 않는다는 말씀이 참 인상깊었습니다. 지금부터라도 안좋은 습관들을 고쳐나가고 좋은 코드를 만들도록 노력해야겠습니다.
          * Play with Java에서는 1학년 때 승이형이 여러 사람들이 함께 프로젝트를 진행할 때 누군가 어느 부분을 수정했는지 알 수 있게 해 주는 부분이 있다고 하셨었는데, 그걸 전역하고 나서야 다뤄보네요 -ㅅ-;; 쩝... 아무튼 간단 프로그램을 만드는 것이라 재미있게 사용법도 익히고 좋았습니다. 자주 써 먹어야겠네요. ㅋ~
          * 2009년에 Java와 JUnitTest를 주제로 진행했을 때 실습 미션을 잘못 준비해오고 시간이 많이 비었던 뼈아픈 기억 때문에 시간이 부족했음에도 불구하고 나름 신경을 많이 썼던 섹션이었는데 오히려 타임오버가 되었네요;; 프로그래밍보다 수학 시간이 되었던거 같은 실습시간.. (그래서 처음에 겉넓이를 뺐던 것이었는데 팀이 많아서 추가하고 으헝헝) 그리고 다들 프로그래밍을 잘해서 '''Unit Test를 굳이 하지 않아도 버그가 없었던''' 프로그램을 완성하는 바람에.. Unit Test의 필요성을 많이 체감하지 못것 같아서 좀 아쉬웠어요. 역시 '''적절 예제'''를 만들기는 어려운것 같아요.
          * java를 이번학기에 수강을 하였기 때문에 어느정도 자신이 있었습니다만, 지원누나의 설명을 들으면서 역시 알아야 할것은 많구나 라는 생각이 들었습니다. 특히 SVN을 사용 커밋과 JUnit은 팀플할때에도 많은 도움이 될 것 같아 좀더 공부해 보고 싶어졌습니다. 저번 java팀플때는 Github을 사용했었는데 SVN과 무슨 차이점이 있는지도 궁금해 졌구요. JUnit Test는 제가 실제로 프로그래밍 하면서 사용하였던 원시적인 test와 많은 차이가 있어서 이해하기 힘들었지만 이 또 더 사용하기 좋은 기능인것 같아 점 더 공부해 봐야겠습니다.
          * 코드 중심의 팀프로젝트 경험이 없어서 SVN을 쓰게 된지 얼마 안됐는데. 참 유용듯 싶습니다. 둘이서 할때는 커밋이나 업데이트에 문제가 거의 없었는데, 규모가 커지면 심각 문제를 야기할 수 있다는 사실을 알게 됐습니다..-_-;; JUnit도 유익 시간이었습니다. 테스트 기법에 대해서는 더 공부를 해봐야겠지만. 극히 일부분의 테스트케이스를 직접 입력다는 점에는 조금 의문이 있었습니다.. 대량의 테스트케이스를 자동으로 생성하는 부분에 관심이 가네요. 또 저는 메인으로 실행하지 않아도 된다는 점보다 문서화가 용이하다는데에 느낌이 확 오더군요. 유효 테스트케이스가 축적될수록 유지보수하는데 도움이 될테니까요.
          * 1학년을 대상으로 세미나였을텐데 왜 제가 감동을 받은걸까요?
          * mock도 해봤으면 좋았으련만, TDD의 꽃은 mock인데 아쉽네요. 엔젤스캠프에서는 단계 업그레이드된 TDD하고싶어요
          * 조성래 교수님의 수업을 듣고서도 자바에 대 자신감이 그닥 크게 있지는 않았습니다. 하지만 지원이 누나의 강의를 들으면서 여러가지 많이 배웠습니다. 특히 JUnit Test라는 녀석 매우 신기했습니다. 다음부터 열심히 써먹어야겠어요.
  • 이성의기능 . . . . 49 matches
          * 여기서 인상적인 부분의 내용은 이거다. 이성의 기능은 자신의 환경을 바꾸어가는 기능이라는 말이 너무 큰 깨닳음을 주었다. 주변을 보면 사람만큼 이렇게 환경을 바꾸는 생명체는 없다. 사람은 정말 엄청나게 환경을 바꿨다. 물론 사람들중에서 어려운 환경이 주어지면(일종의 도전) 수동적으로 그 환경에 순응하거나 멸종하는 경우도 있다. 이러 경우에는 아무런 발전도 기대하기 어렵다. 반면 그 어려운 도전에 맞받아서 환경을 인간에게 유리하게 변형하여 큰 진보를 이루는 경우도 있다. 환경이라는 것이 얼마나 강력하게 인간에게 영향을 끼치는지는 우리 주변에서 여러 사례를 보면 쉽게 알 수 있다. 특히 인간이 만드는 문화, 조직, 인간관계 등등의 환경은 그 영향이 개인에게 끼치는 정도가 엄청나다. 이러 환경의 영향에서 독립적이기는 상당히 힘들고, 게다가 그 환경을 바꾸는 것은 더더욱 힘들다. 하지만 인간은 이성을 가지고 있기에 자신의 환경을 계속 바꾸어 나가면서 발전할 것이다. 다만 환경이 바뀌기 힘든만큼 그 근저에 깔려 있는 기본적 패러다임이 바뀔때에는 시간이 좀 걸릴것이다.
          * "피로는 이성의 反 이다." 피로는 새로움을 향 충동을 제거시키는 작용을 다. 피로는 하향, 이성은 상향. 피로를 거부하는 이성의 작용
         이성. 'reason' 의 단어에 대 새로운 정의라 생각됨. (기존 철학에서 이성에 대해 대단 정의를 내린 것을 볼때..)
         저자가 수학자이고 물리학자이면서 추후에 철학자가 되어서 그런지, 중간중간 물리학의 개념또는 수학이 추구하는 논리의 엄밀성에 대 무게중심등이 보인다. 시간의 흐름. 역사를 '상향적 기운' 과 '하향적 기운' (이것은 물리에서의 엔트로피의 개념이 들어온 것 같다.) 으로 나누고, 그 중에서 '상향적 기운'. 즉 , 무질서도를 바로 잡으려는 노력에 대해 '이성'이라는 개념을 끌어온다. 삶에는 여러가지 정신이 존재하고, 이 정신은 일종의 '무정부적인 욕망'으로 보며, 그 무정부적인 욕망속에서 질서를 잡는 욕망중의 욕망을 '이성' 이라고 정의다.
         중반부에 사변이성과 실천이성에 대해 설명을 하면서 '과학적 방법' 이라는 것의 위험함을 이야기하면서 (귀납적 방법) 귀납적 방법으로부터 시작해서 일반화시키는 과정에서의 사변이성의 중요성을 꺼내온다. 일상 생활의 경험으로부터 세상을 이해하고 잘 살기 위해 만들어내는 효율적 법칙을 만들어내고 (방법론, 실천이성) 급기야는 그 방법론 자체에 대해 반성하며, 전반적 세계에 대 하나의 이해의 통찰을 만들어내는 사변이성을 이야기다. (세계를 구성해내는 원리를 이해하려는. 형이상학 정도로 생각하면 될듯.)
         책을 번역 사람이 동안 방송가를 떠들썩하게 '김용옥' 씨인데. 방송에서의 김용옥씨에 대 느낌은 별로 안좋았었는데 최근 그 사람이 건드린 책을 보면서 김용옥씨에 대 나의 시각을 다르게 책이기도 하다. 단순히 번역이 아닌 '역안'. 즉, 본래의 영어 원문을 실은뒤, 그 밑에 번역을 놓고, 그 밑에는 책을 읽으면서 자기 나름대로의 해석을 실는 방식을 취하고 있다. (편으로는 김용옥씨가 주장하는 '기철학'을 설명하기위해 화이트헤드의 글을 끌어왔다라는 생각도 들긴 했지만) 이로 인해서 이해가 더 잘 되었다는 점과, 편으로는 번역자의 번역중의 생각을 앎으로서 번역자의 사상에 끌러가지 않고 거리감을 두면서 읽을 수 있게 하는 장치가 된다. (번역은 제 2의 창조라고 할때, 원문에 번역자의 의도가 들어간다. 또 언어가 다른 언어로 번역되면서 그에 따른 내용의 차이가 생길 수 있다고 할때 편으로는 용기있는, 편으로는 자신감 넘치는 방법이라 하겠다.)
          * 김용옥씨의 '도올논어' 라는 책은 뭐 유명해서 다들 알겠지만, '도올논어' 1권을 보면 논어를 들어가기 전 자신이 공자에 대해 알고 있는 바와 어느정도 자신의 생각으로 해석바로 책의 절반을 잡고 간다. 순수하게 기존지식을 습득만 하는 것이 과연 학문일까. 번 딴지도 걸어보고 책의 저자와 싸우다가 자신의 시점을 교정하고, 또는 죽은 저자의 지식에 자신의 생각을 보태보기도 하고.. (거인 어깨위에서 탑쌓기..)
          * 방송에서의 쇼맨쉽을 발휘하면서 그게 좀 커져서 독단적인 모습으로 보여서 아쉬웠던 김용옥씨지만, 그의 책을 보면 그의 학문하는 방식이 참 솔직해 보인다. 이것이 그의 진정 모습이길.
          * 사실상 상향적 경향에 수반된 것은 환경과 유기체 사이의 역의 관계의 성장이다. .. 우리에게 더 친숙 동물들의 사소 행동조차 잘 살펴보면 그것은 그들의 환경을 개조하는 행위이다. ... 생명의 고등 형태들은 그들의 환경을 개변하는데 능동적으로 종사하고 있다고하는 그 능동적 사실이야말로 가장 중요것이다.
          * 이제 나는 인간의 환경에 대 능동적 공격을 설명하는데 다음의 3중의 충동이 자리잡고 있다고 하는 테제를 제의다. 1) 산다. 2) 잘 산다. 3) 더 잘 산다. 실상 삶의 기술이란 첫째, 생존하는 것이며, 둘째, 만족스러운 방식으로 생존하는 것이며, 셋째, 만족의 증가를 획득하는 것이다.
          * 아래로부터의 이성의 진화라고 하는 것은 비교적 짧은 예견의 시간범위에서 아주 실용적으로 이루어진 것이다. 이성으로부터 도출되는 아주 원초적이고 깊숙이 자리잡는 만족감, 기억할 수 없는 태고의 유전에서부터 우러나오는 그런 만족감은, 현재의 실천을 규제하는 어떤 방법을 강조적으로 명료하게 함으로써 제공될 수 있다. 그러 방법이 현실적으로 기능하면 이성은 만족된다. .. 사실은 인간의 호기심을 그 방법의 범위내로 제시키려는 또 하나의 적극적인 관심이 있는 것이다. 그러 관심이 패배당할때는 정서적으로 적개심이 일어나게 되는 것이다. 그러면 경험론은 사라진다. ... 방법론이 이미 낡아버렸다는 주요 증거는, 그 방법내에서 일어나는 진보가 더 이상 주요 잇슈들을 취급하지 못다는 사실로 입증된다. 사소 문제들에 끊임없이 시비하고 있는 마지막 단계에 온 것이다. ... 그 방법의 범위내에서 성취할 수 있는 더 큰 대비들이 다 탐구되었고 또 친근하게 되어버렸다. 그리고 반복으로부터 생기는 만족감도 시들시들해져 버린다. 그러면 생명은 그 운명을 결정하는 마지막의 선택의 기로에 국면하게 되는 것이다.
          이 마지막 선택의 기로는 이미 내가 앞에서 언급 삼중의 충동이라는 성격에서 유래되는 것이다 : 산다, 잘 산다, 더 잘산다! 방법론의 탄생이라는 것은 본질적으로 살려고 하는 안전 방법의 발견이다. 그것은 전성시대에은 좋은 삶을 위 긴박 조건들을 만족시킨다. 그러나 좋은 삶이라고 하는 것은 불안정 것이다. 피곤의 법칙이 용서없이 엄습다. 삶의 어떠 방법론이라도 그 범위내의 신선함을 다 고갈시키고, 또 피로가 물밀쳐올때까지 그 신선 것들을 다 써먹어버리게 되며, 하나의 마지막 결단이 그 종의 운명을 결정다. 하나는 그 자신을 안정적으로 만들고 그냥 생존하는 수준으로 퇴행해버리는 것이요; 또 하나는 과거의 관습들을 자유롭게 떨쳐버리고, 더 잘 사는 모험을 시작하는 것이다.
          이 두개의 기로에서 후자의 경우, 그 종은 낡아빠졌지만 아직 지배적인 방법의 범위르 벗어나 잡다 경험의 혼돈속에 감추어져 갓 태어나기 시작하는 방법론의 하나를 포착다. 그 선택이 재수좋게 맞아떨어지면, 진화는 상향의 코스를 취하기 시작다. 재수없게 안 맞아떨어지면, 시간의 망각이 사라진 종의 흔적위로 면사포를 드리운다.
  • CCNA/2013스터디 . . . . 48 matches
          * [http://www.hanb.co.kr/edu/view_detail.html?hi_id=72, CCNA(640-801) 준비를 위 시스코 네트워킹]
          * 프로토콜: 데이터를 전송하기 위 규칙
          * 인터페이스 - 계층간 통신을 위 통로
          * 모듈화 처리 - 복잡 문제를 쉽게 해결
          || 6계층 || 표현 계층 (Presentation Layer) || 응용 프로그램을 위 데이터 표현 ||
          || 2계층 || 데이터 링크 계층 (Data Link Layer) || 물리적 전송을 위 미디어 지원 ||
          * 통신을 위 네트워크에 대 기본적인 방식 정의
          * MAC 주소: 48비트, 12 Hex(16진수), 유일 주소, 수평적인 구조
          * 적당 교재, 문제집을 찾을 수 없음 - 연습문제가 참...
          * 의도 바는 아니나 WAN 프로토콜 (3)을 봐 버림 ㅋㅋㅋ
          * 근데 단원이 너무 광범위 함 -ㅅ-;;
          * 저럼 비용으로 여러 호스트를 연결할 수 있다.
          * 성능에 제이 있음
          * 복수의 네트워크 장비나 호스트가 동일 미디어에 연결되어 있어 두 대의 호스트가 동시에 데이터를 전송할 경우 콜리전이 일어나는 범위
          * 물리계층 장비는 콜리전이나 브로드 케스트를 막지 못다. 전체가 하나이다.
          * 배선 계획에 대 국제 표준
          - 설치, 운용이 쉽다 -> 문제에 대 해결 방법들이 많이 나와 있다.
          - MA(Multiple Access) : 회선에 여러 호스트가 접근.
          - back-off 알고리즘 : 충돌 발생 시에 개별 호스트는 랜덤 시간이 지난 후에 데이터를 재전송함. 랜덤 시간인 이유는 대기 시간을 고정시키면 충돌이 일어난 후에 개별 호스트들이 고정 시간만큼 기다리고 나서 데이터 전송 시에 또 충돌이 발생하기 때문.
          - (속도)(signaling 방법)(전송 매체 타입)으로 표기다.
  • Chapter II - Real-Time Systems Concepts . . . . 48 matches
         리얼 타임이라는 말은 Timing 의 correctness (정확성)에 의해 결정되는 말이다. 이러 리얼타임은 대략 두가지 부류를 가지고 있다.
         Soft / Hard 가 그 두가지 예라고 할 수 있다. Soft Real Time 이란 말은 Task 의 수행이 가능하면 보다 빠르게 진행 될 수 있게 만들어진시스템을 말다.
         예를 들어 High Priority를 가진 Task가 선점형 수행을 하며 다른 Task 보다 많은 자원을 사용할 수 있을 때를 말는것 같다.
         반에 Hard System이란 특정 시간내에 Task의 작업이 완수 되어야 하는 작업들을 말다. 대부분의 Real-Time 시스템에서는 두가지
         시스템의 혼합을 필요로다.
         실제로 이러 전반적인 부분에서 쓰이는 지는 모르겠다. 요즘 가전 제품들이 보다 우수해져서 이러 리얼타임이 필요하지만 책에 나온 예는 과 것 같다.
         책에 나온 예는 다음과 같다. 참고적으로 알아 두었음 다.
         작은 시스템에서는 시스템의 효율성을 위해 보단 간편하고 일반적인 디자인을 사용다고 다. 실제로 어플리케이션이 작동하는 부분을 Background System이라고 하며 ISR (interrupt service rountines) 라고 불리우는 인터럽트 부분을 Foreground system이라고 다.
         크리티컬 섹션 또는 크리티컬 리젼이라 불리우는 이 부분은 커널과 관련된 중요 부분에서 인터럽트로 인 커널의 손상을 막기 위해 불리우는 곳이며 또 수행시간의 단축이 절대적으로 필요 부분에서 쓰이는 구간이다. 이는 코드와 자원의 공유를 막고 배타적인 공간으로 설정된다.
         태스크에 의해 쓰여지는 빈 공간을 말다. 이러 리소스는 I/O , Printer , Memory , KeyBoard 가 될 수 있으며 다른 기타 자원도 있다.
         공유 자원이란 하나 이상의 Task가 같은 자원을 쓸 경우를 말다. 두 Task는 배타적으로 같은 Resouce에 접근을 하며 Data의 파손을 방지다. 이러 방식을 mutual exclusion (상호 배타성) 이라고 다.
         멀티태스킹이란 프로세스의 스케줄과 CPU의 스위칭에 의해 복수의 Task가 실행되는 것을 말다. 또 멀티태스킹이란 Back/Fore Ground 처럼 복수의 Task가 운영되는 것을
         말다.
         DORMANT :: 태스크가 메모리 상에는 존재하나 아직 활성화 되지 못 상태[[BR]]
         문맥전환이라 불리우는 이 과정은 하나의 태스크에서 다른 태스크로 작업이 이전 되기 위 과정을
         말다. 이렇게 하기 위해서는 지금 수행 중인 태스크의 환경(레지스터,변수등)을 저장공간(스택)에
         커널은 멀티태스킹에서 태스크의 관리를 수행하며 또 태스크 사이에서의 통신을 담당다. 또
         커널은 CPU 시간을 측정하며 세마포어,메세지,큐등과 같은 서비스를 제공다.
         새로운 높은 순위의 태스크는 현재 낮은 우선순위의 태스크가 CPU를 포기했을 때 권을 갖는다.
         이러 비선점형 커널은 인터럽트 네스팅이 낮다.또 수행중인 태스크가 다른 태스크에 의해
  • MFCStudy_2001/진행상황 . . . . 48 matches
          * 차후 일정에서 29일을 마지막으로 다는걸 30일로 변경하겠습니다. 29일에 ibm에서 세미나가 있어서 갈려고 합니다.
          * 2002. 1. 22 프로그램 진행 상황의 체크 종료. 진행상황 점검과, 체크사항, 프로그램에 대 의견 교환
          * 이번 스터디의 추진력에 대 유발 동기
          * 개인들에 관 최종 정리 : 이번주 2월 3일까지 프로그램을 주세요. 최종 정리는 4~6일 사이에 이루어 집니다.
         = 제안, 토의 사항, 숨, 잡담 : 각 팀원들이 적어 주세요. =
          * 도저히 배경그림으로 쓸걸 못찾겠어요........ 제발.. 쓸만 배경그림좀... !! --선호
          * 차후 일정에서 29일을 마지막으로 다는걸 30일로 변경하겠습니다. 29일에 ibm에서 세미나가 있어서 갈려고 합니다. --상민
          * 사실 22일을 마지막으로 종지부를 찍으려 했지만, 30일을 종착점으로 삼겠습니다. 일단 프로젝트 상황 체크는 종료이고, 종료하는 이유는 언급것과 같이 Java에 좀더 신경을 써달라는 의미와 더 자세 이유는 다음 30일 최종 모임에서 이야기 하겠습니다. 여름방학부터 진행되어 왔던 계획들의 이야기와, 그동안의 거시적 미시적 성과 같은것을 살펴보겠습니다. 그리고 영서, 영창 오세요. --상민
          * 1월12일 : 커서를 사라지게 했습니다. 커서의 시작점도 바의 중간으로 옮겼고, 그리고 안정성 죄금 증가.(과연 증가건지는 알 수 없네요.)
          * 1월 11일 - 멀티미디어 타이머 쓰다가 계속 에러가 난다. 자꾸 형이 틀렸다고 나오는데 열받아서 때려쳤다. 나중에 기분풀리면 다시.. 벽돌 즉각즉각 깨짐. 블록 두개에 동시에 부딪칠때도 같이 처리. 이제 95프로 정도 기본틀 완성. 죽을 때 처리만 해주 면 완성. 그 뒤로 미사일이나 아이템 넣고 싶으면 넣을 생각..-.- 100 프로 완성! 벽돌 다 깨지고 죽는거 처리돼고 어쨌든 지금 보기엔 완벽것 같음. 앞으로는 좀더 이쁘게 다듬어볼 생각..~~ 멀티미디어 타이머를 쓴다고 써봤는데.. 확실히 바를 막 움직여도 공은 상관안하고 원래 속도 유지하면서 가긴 하거든요 근데 호출주기를 너무 줄여버리니까(1~20정도) 바가 움직이지 못하는 현상이... 끝낼때는 디버그 에러도 나더군요. 뭐 가 잘못된 건지..
          * 이상 점 : 내껀 왜 일케 실행파일이 클까..--;; 거의 2메가 가까이 되네.. 컴파일할때 뭔가 설정을 해줘야 하는것일까.. 음.. 제 배경화면 비트맵이 24bit 트루컬러라서 굉장히 커서 그런걸까요..-.-
          * 이상 점2 : 울집에선 잘 돌아간단 말얏! 왜 딴집에선 안 돌아가는 거시야..ㅠ.ㅠ 리소스 새는 걸 어떻게 잡지.. DeleteObject 다 해줬고.. 힝..ㅠ.ㅠ * 그외 : 상협이테 줘서 테스트 해봤는데요. 처음엔 잘되다가 중간부터 공이 잔상이 생긴다네요. 그리고 상민이형 왈, 오래 놔두면 너네 집에서도 뻗을거야 라는 말씀에 시간 동안 틀어놔봤거든요. 별다른 변화를 못 느끼겠어여--; 도대체 어떻게 잡을지..ㅠ.ㅠ
          * 이상 점3 : 내껀 cpu 점유율이 장난이 아니더라고여.. 배경 비트맵 큰 거 가지고 이렇게 될것 같지는 않은데.. 혜영이누나랑 선호꺼는 점유율 1-3정돈데.. 제껀 젤 높게 갔을때가 70오버더라고여..--;; 어떻게 된일인지..
          * 느낀 점 : 역시 난 아직 걸음마를 익힌 단계에 불과 넘이다. 이런 허접걸 프로그램이라고 만들어 놓고 좋아하다니..--; 앞으로 더욱 열심히 매진을! 메모리 엄청 새고.. DC에 대해 더 공부를 해야 하는 걸까..
          여름방학때 98에서 짠 지뢰찾기를 xp에서 돌려보니 그림이 막 이상데에 그려진다.
          *1월 2일 : 메뉴 만들기[[BR]]Option으로 Ball Size, Paddle Size, Ball Speed를 사용자가 선택하도록 하기 위해서 필요. Ball Size는 11,13,15 Pixel 중에서 하나를 선택해야 함 - 중복 선택할 수 없도록하기 위 처리..--;나중에 보니 1학기때 실습예제로 있었는데 몰라서 참을 삽질) 그리고 게임중일때는 Option메뉴를 선택할 수 없도록 하기 위 처리까지 했다.
          *1월 3일 : 비트맵완성..--;[[BR]]비록 공은 다른 곳에서 캡쳐해오기도 했지만, 예쁘지는 않지만 비트맵을 다 만들었네요..--; 괜히 포토샵으로 삽질 것 같기도 하지만 그래도 뿌듯..--;
          *상대가 칸 띈 공격을 할때의 방어
          *자신도 칸 띈 공격을 하게 만들기
          *1월 12일 - 인공지능 보강것들
  • ProgrammingPartyAfterwords . . . . 48 matches
         다음은 파티 전체(파티 준비부터 뒷풀이 막판까지)에 대 공동 기사로 가능하면 NoSmok:다큐먼트모드 를 지킨다 -- 자기는 분명히 알고있는 사건(event)인데 여기에는 아직 기록되어 있지 않다면 그냥 적당 자리(!)에 직접 보충해 넣도록 하고, 묘사가 미진하다면 좀 더 치밀하게(!) 가다듬는다. 페이지 마지막에는 NoSmok:쓰레드모드 로 개인적인 감상, 소감 등을 적도록 다.
          ''보통, 전체 모임/파티 동안 사람이 참여하는 대화는 전체 발생 대화로 볼 때 극소수에 해당합니다(게다가 동일 대화에 참여했으면서도 인식하는 것과 기억하는 것에는 개인차가 큽니다). 각자가 나눴던 이야기 같이 사실적인 것들은 모두 다큐먼트모드로 여러사람이 협동을 해서 채워나가도록 하면 좋겠습니다. 집합적 기억이 되는 것이죠 -- 개개인이 갖고있는 기억의 전체 합집합. "내가 있었던 테이블에서는 어쩌구에 대해 이야기 했는데, 저쪽에서는 저쩌구를 이야기 했군! 이야, 재미있는 걸. 저쩌구에 대해 좀 더 써달라고 부탁해야겠다." 그러면 모두가 이득을 볼 것이고, 심지어 그 뒷풀이에 오지 못했던 사람들도 뭔가 얻는 것이 있을 겁니다. --JuNe''
         "문자 날려보면 되겠죠. 희상이가 친구 핸폰 번호 주면서 문자날리면 전화다고 했어요. (툭 툭툭...)"[[BR]]
         1시 40분 경 문을 열고 들어오는 이가 오늘의 Mentor 중 명인 김창준씨와 신제용씨였다. 그들은 오늘 프로그래밍 파티의 경기 규칙이나 룰, 시간 같은것을 말해 주었다. 2시 10분경 상협군이 헐러벌떡 뛰어 왔다. 쫌 전에 창섭이와 혁기도 왔다.
         2시가 조금 넘어서 파티를 시작했다. ZP팀 중에 불참 인원이 두 명이 있어서 인원 조정을 했다. 그 결과로, 다음과 같은 배정이 되었다. 각 팀에는 명 씩의 멘터(도우미)가 붙었다. 그들은 문제 해결에 관련된 직접적인 조언은 피하고, 개발 과정이나 여타 문제에 대 도움을 주기로 했다.
         먼저, 김창준씨가 앞으로 나와서 인사를 하고 이 파티의 의의를 설명했다. 그리고는 바로 파티의 스케쥴과 간략 참가방법을 설명했다. 멘터(Mentoror)와 퍼실리에이터(Facilliator)의 역할, 소개 등이 있었고, 심사방법이나 심사 요소에 대 자세 설명이 있었다..
         다음으로는 요구사항에 대 해설이 있었다. 당시의 문제는 http://no-smok.net/seminar/moin.cgi/ElevatorSimulation 에 가면 볼 수 있다.
         이렇게 2시 40분까지 Requirement 와 이번 행사에 대 설명을 마친뒤, 드디어 개발이 시작되었다.
         먼저 ZP#1팀은 Mentor 채희상씨와 함께 요구분석을 시작하였으나 어떤 방법으로 이루어져야 하는지 어떤 형식으로 하여야하는지 서로 명확히 몰랐기 때문에, 아무도 말을 하지 않고 있었다. 희록님이 생각하기에 '이렇게 아무말도 없다면, 시간만 흘러가게 될 것이다. 내가 약간 분위기를 만들어야겠다'는 생각을 했다. 그래서 "자 우리 모두 자기가 생각하는 요구사항을 말해보기로 하자"라고 하였고, 우리는 서로의 요구사항에 대 논의가 있었다.
         시간이 좀 흘렀을 때, 희록님의 생각은 '우리 모두 이 프로그램을 짜는데서 왜 알고리즘이 사용되어야 하는지 모르고 있다. 이는 문제를 제대로 파악하지 못했다는 것을 의미다' 라는 생각을 하였다. 그 때, 누군가가 입력 형식에 관해서 Mentor에게 물었다. 하지만 아쉽게도 입력형식에 대해서 명확 답을 얻을 수는 없었지만, 몇가지 새로운 사실들을 알수 있었다. 하지만 진행은 계속 지지부진하게 되었다. 희록님은 다시 그것을 깨고자 "CRC카드를 번 사용해서 문제를 다시 번 생각해보자"라고 하였다. 우리는 CRC카드를 작성하기 시작하였고, 우리가 CRC카드를 이용해서 시뮬레이션을 실행해보고서는 요구사항을 분석하는데는 크게 도움이 되지 않았지만, 우리가 프로그래밍시에 어떤 객체들이 필요할지와 그 속성들에 대해서는 약간 명확해졌다.
         그 때쯤인가, ZP#2팀의 Mentor이신 김창준님이 '슬쩍' 오셔서 Design이 잘 떠오르지 않는다면, 비슷 아키텍쳐를 가진 문제를 풀어서 그 아키텍쳐를 재사용해 보라는 말씀을 하셨다. 하지만, 우리 팀원중 아무도 그것에 대해선 이후에 언급하지 않았다.(묵살되었다. --) 그러다가 우선 요구분석에 대 이해를 높이고, 디자인을 상세화하기 위해서(디자인->코딩->디자인->코딩 단계를 반복하였다.) 코딩을 시작하기로 하였다. 상협군과 인수군은 매직펜을 맡았고, 희록군은 키보드를 맡았다. 희록군은 Unix환경에서의 Eclipse의 작업 문제로 인해 심각 스트레스를 받고 있었다. 그러다가 컴퓨터를 번 옮겼으나 그 스트레스를 줄이진 못했다. 아무래도 공동으로 프로그래밍 하는거에 익숙하지가 않아서 좀 서투룬 감이 있었다. 그래도 해야 겠다는 생각을 하고 문제의 요구 사항을 분석하고 어떻게 설계를 해야할지 의논했다.
         이 때 ZP#2팀은 Mentor 김창준씨가 지켜보는 가운데 바로 요구사항 분석에 들어갔는데, 이를 보던 김창준씨가, "저라면 시간 계획을 먼저 세우겠습니다"라고 말을 해서 그들은 이에 동의하며 시간계획을 먼저 짰다. 20 분 정도를 요구 분석, 다음 20분을 디자인, 그리고 남은 시간엔 구현과 디자인 반복하기로 계획을 세웠다. 구현, 디자인 반복을 하는 방법은 멘터의 조언에 따라 두명이 짝으로 구현, 나머지 명은 디자인 다듬기로 하였다. 팀원은 긴장 채로 문제에 집중하려 애썼다.
         요구분석을 마치고 디자인을 하기로 시간이 되었기에 팀원들은 테이블에 모였다. 그리곤 CRC 카드를 이용해서 디자인에 들어가기 시작했다. 암묵적으로 ["구근"]님이 ZP#2의 무게중심이 되어서 디자인 회의가 시작되었다. 어떤 클래스들이 필요가, 어떤 이벤트를 누가 발생시키고 그 이벤트를 누가 알아야하는가에 대 이야기가 오가는 가운데 ["데기"]는 문제파악 조차 제대로 안되어서 무척 혼란스러웠다. 서로 요구분석 이해에 차이가 있었음에도 불구하고 디자인은 계속 진행되었고, 시간은 계속 흐르고 흘러서 구현을 시작하기로 시간을 훌쩍 넘어버렸다.
         편 실습실 구석에서 Mentor 1002씨가 함께 Moa팀은 처음에 책상 하나를 두고 4명이서 서로 대화를 하면서 Requirement 를 이해해나갔다. 그러다가 중간에 2명은 Person - Elevator 의 전반적 구조를, 2명은 Elevator 알고리즘에 대해 생각을 전개해 나갔다.
         '오.. 대화진행속도가 빠르다!' 1002 가 본 moa 의 마치 평소 손발을 맞춰본 팀같았다. 근데, 토론하는 것을 들으면서 1002가 생각하기엔 '음.. 근데, 너무 초반에 Algorithm-Specific 하게 생각하는게 아닐까. 일단은 문제를 간단 문제로 분해하는(보통 1002가 'Design' 을 간단하게 정의하라고 할때 저렇게 표현다.) 과정이 더 중요할것 같은데'
         3시 40분쯤. 1002는 시간이 너무 지체된다고 판단, '처음부터 일반화 알고리즘을 생각하시는 것 보다는, 사람수 명일때라 생각하시고 작업하신뒤 사람수는 늘려보시는것이 더 편할겁니다' 라고 했다. 이는, 금요일, 토요일때 미리 엘리베이터 시뮬레이션을 만들때 느낀점이긴 했다. Moa 팀에서는 동의를 했고 직원 명에 대 여정부분을 Hard-Coding 해나갔다.
         팀의 사람수가 4명인 관계로 다른팀이 컴퓨터 1대를 쓰는 동안 두 팀으로 나누어 컴퓨터 두대를 이용, 작업을 해 나갔다. 다른 팀을 많이 둘러보진 않았지만, Pair 간의 대화가 잘 이루어지고 있었다. 단, 두팀으로 나누어진 관계로, 서로의 작업부분에 대 통합부분에 대해서는 특별 진행을 하지 않는 것 처럼 보였다.
         멘터인 1002는 '저렇게 하면 나중에 main 함수 어떻게 만들까.. OO Style 이라면 main 루틴 부분이 좀 짧긴 하겠지만, C 라면 좀 힘들지 않을까' 라고 생각, 5시가 가까워지는 4시 20분쯤에 각 모듈 부분을 통합할것을 제안 했다. 통합 중간중 의견 조율을 하는 중간에 ZP#2 멘터인 김창준씨는 두 팀으로 나누어졌을 때 서로 엇갈려서도 Pair 를 바꿔보도록 제안, Moa 의 두 팀은 명씩 서로 바꾸어보기도 하며 일을 진행해 나갔다.
         각 팀별로 전지에 자신들의 디자인을 표현하고 모두에게 그 디자인에 대해 설명하는 식으로 발표를 하였다. 각 팀별 디자인의 특징을 볼 수 있었다. '뭘 잘못했느냐?'가 아니라 '어떻게 해야 잘할 수 있었을까?'와 같은 '올바른 질문'을 던짐으로써 더 배울 수 있다는 것을 확인할 수 있었다. 그리고 발표할때 What 과 How 를 분리하고 What 만을 전달해야 다는 것이 중요하다는 것을 관찰할 수 있었다.
         그동안 각 팀들은 퍼실리에이터와 함께 인포멀 토론을 하였다고 다.
  • 이학 . . . . 48 matches
         이학(耳學) 즉, 귀로 배우는 학문의 과정과 성과에 관
         나는 그런 유학생들과 이야기하는 가운데 여러가지 이학(耳學)을 할 수 있었다. 이 점에서 내가 유학 것은 정말로 잘 일이라고 생각다.
         일반적으로 미국에서는 이학이 발달되어 있는데, 그 이유로는 미국이란 나라가 높은 봉급으로 교수를 고용하기 때문에 여러 나라에서 우수 인재들이 모여 있다는 점을 빼놓을 수 없다. 이학이라는 것은 책에서 배우는 것이 아니라 직접 사람과 접하면서 그 사람이 갖고 있는 지식이나 사고 방식을 배우는 거을 말다. 따라서 우수 인재가 모여 있다는 것은 그만큼 '이학'이 발달될 소지도 크다는 것이다.
         이것과 관련하여 컬럼비아 대학에 있었을 때 만난 제자 생각이 난다. 멀리서 그의 모습이 보이면 교수들이 피해갈 정도로 만날때마다 질문을 해대는 학생이었다. 학교에서뿐만 아니라 밤 늦은 시간에도 교수 집에 전화를 해서 시간씩이나 질문을 하기도 했다. 외모는 뛰어났지만 컬럼비아 대학에 들어올 정도의 실력이 못 되는 학생이었기 때문에 (경력이 특이하고, 면접시 추진력을 인정받아서 입학시킨 학생이었다.) 그의 질문은 대부분 전혀 조리가 안 맞고 초점이 없었다. 나도 대학이나 집으로 걸려 오는 전화를 통하여 그의 왕성하긴 하나 시시 질문에 몇 번이나 손을 들었다.
         그런데 입학해서 2년 정도 지나니까 그는 더 이상 시시 질문만 하는 학생이 아니었다. 가끔 질문다운 질문을 할 때도 있었고 4학년이 되어서는 마침내 우수 논문을 써내어 학계 일류의 논문지에 발표할 정도로까지 성장하였다. 그는 그 후 내가 하버드 대학으로 옮길 때 강사로 따라왔다가, 스탠퍼드 대학의 조교수를 거쳐 지금은 캘리포니아 대학의 교수가 되었다.
         이 학생에게서 전형적인 예를 보듯이 미국에서는 질문을 통해 배운다. 즉, 귀로 배우는 '이학'이 학문의 방법으로 널리 쓰이고 있다. 일본 사람들은 일반적으로 '좋은 질문' 과 '시시 질문'을 구별하고, 실제로 답을 알면서도 자기 재능이나 발상을 과시하기 위하여 질문하는 경향이 있다. 미국 사람들은 좋은 질문이나 시시 질문에 상관없이 모르는 것은 무엇이든지 질문하고 할 수만 있다면 질문만으로 다 배워 보겠다는 자세가 있다.
         일류 대학의 학생이라면, 이 이학만으로 단기간 내에 상당 수준까지 배울 수가 있다. 가령, 3,4백 페이지 분량의 책에 씌어진 내용을 배우려고 할 때, 학생은 교수에게 가서 "이 책에는 무엇이 씌여져 있습니까?" 라고 일본의 대학에서는 상상도 할 수 없는 질문을 다. 다소 유치하고 대략적인 질문이지만, 질문받은 교수는 그에 대해서 학생에게 열심히 설명다. 그러면 그 설명에 대해서 또 질문하고, 그것을 몇 시간에 걸쳐서 되풀이하는 동안에 학생은 그 책의 요점을 파악해 버린다. 두꺼운 책을 몇 페이지 읽다가 이해하지 못해 포기하는 것보다 질문을 하는 것이 결과적으로 좋은 효과를 내는 셈이다. 물론 상세 부분은 스스로 읽어야 되겠지만, 대체적인 요점이나 골격을 파악하면 책에 대 이해는 훨씬 빠르다.
         학생과의 관계에서 자주 경험하는 일인데, 일본 학생은 'why' 라든가 'how'라고 질문하는 경우가 매우 많다. 말할것도 없이 'why'라는 것은 '왜'라는 것인데, 이것은 '진리(眞理)'를 물어 보고 있는 것이다. 이에 반해 미국 학생은 'what'이라는 형태의 질문을 많이 다. "그것은 도대체 무엇이냐?" 라는 식으로 물어본다. 이것은 '사실(事實)'을 묻는 것이다.
         요컨대 일본 학생은 사실의 배후에 있는 진리를 구하고 있다고 해석할 수 있다. 'why' 라고 묻는 것이 사실만으로 만족할 수 없기 때문이라면 나름대로 훌륭 질문이 될 수 있다. 그러나 경우에 따라서는 정보(情報)를 진리로 착각할 때도 있고, 사실을 모르면서 진리라는 말을 혼동하여 자기 만족에 빠지는 경우도 있을 수 있다.
         편 사실을 확실히 알지 못하고 출발하는 것도 위험하다. 사실로 진리를 통하여 간파하는 것은 자기의 일이며 딴사람에게 물어서 해결하는 것이 아니라는 태도도 있다. 어느 쪽이 좋다고 얘기하기는 힘들지만 미국과 일본과는 그러 차이가 있다는 것을 알아두는 것도 좋을 것이다.
         '이학'은 단순히 학문에서뿐만 아니라 여러 방면에서 이용된다. 예를 들어 일본에 대해서 알고 싶어하는 미국 사람은 일본에 관해서 쓴 책을 읽기 보다 우선 주변의 일본 사람에게 자꾸 질문다. 나도 주변의 미국사람에게서 일본에 대 여러 가지 질문을 받은 적이 있다. 질문을 받으면 대답해야 다. 대답해 주지 않으면 자기도 상대방에게 그와 비슷 질문을 할 수 없기 때문이다.
         어떻게 대답하면 좋은가? 일본이란 어떤 나라인가, 일본인이란 어떤 성격을 가진 국민인가? 자기 스스로도 생각해 보고 책을 읽고 배워야 다. 가르치기 위해서는 배워야 다. 바꾸어 말하면 배우기 위 방법의 하나는 남에게 가르치는 것이다.
         이러 경험을 되풀이하는 동안에 일본이라는 나라의, 눈에 안보이는 특성이나 일본 사람 특유의 생활 감정, 사고방식 등에 대해서 상당 것을 발견하게 되었다.
         정말 흥미로운 내용이네요. 전국투어팀은 선배님들을 찾아가서 학문에 대 내용에만 국되지않은 훌륭 ["이학"]을 하고 있겠죠? 대학 시절에 ["이학"]을 통해서 빨리 배울 수 있는 분위기가 만들어졌으면 좋겠어요. 전공에 관련다면 위키위키가 그 대안이 될 수 있을까요?
         또하나 문득 떠오르던 모 학회의 제 친구의 글. '우리가 모이면 꼭 항상 컴퓨터에 관해서만 이야기해야 다는 강박관념에 빠져 있을까..'
         공부를 효율적으로(비용 대 수익 면에서) 잘 하는 사람들을 보면, 질문하기를 잘(자주)하고 또 잘(능숙하게) 합니다. 또 하나 관찰할 수 있는 것은, 어느 누구에게 무엇을 묻든 꺼리거나 부끄러워 하지 않으면서도, 물을 때는 주변에서 가장 적당 사람, 최적의 사람을 찾아 묻는다는 점입니다.
         노벨 물리학상을 받은 리차드 파인만(그의 전기는 물리학과 인연이 없는 사람들에게도 추천합니다. 밤을 단숨에 샐 겁니다)은 이런 질문하기의 기술과 용기를 두루 갖춘 사람이었습니다. 그가 모 프로젝트의 중간에 투입되었을 때 관련 기술지식을 전혀 갖고 있지 못했습니다. 그 프로젝트의 현장 기술자들을 불러놓고 그들에게 끊임없이(대여섯시간?) 질문을 해서 순식간에 그들의 지식을 흡수 이야기는 전설로 회자되기도 합니다.
         그런데, 이런 "가당찮아 보이는" 질문에 제대로 답변을 해주려면 그 사람이 "대가"여야 합니다. 대가가 아니고서는 이런 질문에 모든 것을 통섭하여 쉽고 간략 답변을 내어놓지 못합니다. (여러분 중에 "알고리즘이 뭐에요?"라고 묻는 문외에게 자신의 언어로, 쉽고 명료 -- 그러나 조금도 어긋남 없는 -- 설명을 해줄 수 있는 사람이 몇이나 될까요) 그래서 "최적의 사람"을 골라 물어야 하는 것입니다. (질문을 잘하는 사람은 상대가 유명 대가라고 해도 겸손할지언정 절대 주눅들지 않습니다. 다짜고짜 그 대가를 찾아가서는 도움을 청하는 것이죠.)
         전산학 분야에도 지대 영향을 미친 논리학자 타르스키의 "논리학 입문" 책을 보면 첫 장에 나오는 말이 걸작입니다. 그는 첫 페이지부터 도대체 "변수"란 무엇인가에 대해 설명을 합니다. 그러면서 대부분의 수학책이 이 개념을 잘못 가르치고 있다고 비판을 합니다. 대가는 이런 사람입니다. 가장 기본적이고, 가장 상식적인 대상에 접근해서, 사정없이 흔들어 놓고는 아주 명징하고 명료 상태로 만든 후에 소리없이 사라집니다. 또, 파인만은 이런 말을 자주 했습니다. "어떤 개념이든지 수식을 쓰지않고 쉽게 설명할 수 없다면, 그 사람은 그걸 완전히 이해하지 못 것이다"
         대여섯시간 동안 질문하는 사람도 대단하게 느껴지고, 그에 맞춰서 대여섯시간동안 답변해주는 사람 또 대단하다 생각됩니다.
  • 제12회 한국자바개발자 컨퍼런스 후기 . . . . 48 matches
         #title 제12회 국자바개발자 컨퍼런스 후기
         = 제12회 국자바개발자 컨퍼런스 =
         || 10:40 ~ 11:00 |||||||||||||| 축사 (행정안전부 정보화전략실 황서종 국장 / 국IT전문가협회 조성갑 회장) ||
         || 11:30 ~ 12:00 |||||||||||||| 기조연설2 - 기술 변화의 중심에 서라 (국오라클 최윤석 전무) ||
         || 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) || 클라우드 서버를 활용 서비스 개발 실습 (허광남) ||
         || 15:00 ~ 15:50 || 스타트업을위 Rapid Development (양수열) || 하둡 기반의 규모 확장성있는 트래픽 분석도구 (이연희) || 초보자를 위 분산 캐시 활용 전략 (강대명) || Venture Capital & Start-up Investment (이종훈-벤처캐피탈협회) || How to deal with eXtream Applications? (최홍식) || SW 융합의 메카 인천에서 놀자! || 섹시 개발자 되기 2.0 beta (자바카페 커뮤니티) ||
         || 16:00 ~ 16:50 || 대용량 고가용성 분산 캐쉬서버(infinispan)를 활용 웹서비스 (이용혁) || 대박날때 후회말고, 성능큭정 자주하자!/성능측정도구 nGrinder (김광섭) || 모바일 웹 개발 플랫폼 (현철주) || IT 개발자 환경의 문제점과 개선점 등 (김효상-IT노조) || 분산 애플리케이션 개발을 위 기업 통합(EIPs) 전략 (차정호) || SW 융합의 메카 인천에서 놀자! || 되돌아 보는 스프링 프레임워크 (KSUG 커뮤니티) ||
         || 17:00 ~ 17:50 || 쓸모있는 소프트웨어 작성을 위 설계 원칙 (김민재) || Java Secure Coding Practice (박용우) || 개발자가 알아야하는 플랫폼 전략과 오픈 API 기술 동향 (옥상훈) || 반복적인 작업이 싫은 안드로이드 개발자에게 (전성주) || 개발자가 알아야할 오픈소스 라이선스 정책 (박수홍) || 이클립스 + 구글 앱 엔진으로 JSP 서비스하기 (OKJSP 커뮤니티) || 여성개발자의 수다 엿듣고 싶은 그들만의 특별 이야기 (여자개발자모임터 커뮤니티) ||
          9시 30분부터 JCO 회장님의 축사를 시작으로 본 행사가 진행되었는데, 행사 참여자를 분석 도표가 인상깊었다. 웹 개발자와 학생이 대부분이고 나머지는 극 소수... 음... 뭐 여하튼.. 축사와 기조연설을 하는데 벌써부터 졸리기 시작 -_-;; 심하게 졸린게 아니라 계속 들었다. 국 오라클에서의 기조연설 중 생각나는 부분은 학교에서는 큐브를 어떻게 맞추는지를 배우지만 실전에서는 어떻게 해서든 큐브의 색을 맞춰 (그림에는 페인트로 색깔을 맞췄..)내는 모습과 변화에 민감하라라고 했던 부분이다.
          간단하게 점심을 먹고 본인은 첫 세미나로 Track 3에서 아키텍트가 알아야 할 12/97가지를 들었다. 그 내용중에서 STAN으로 프로그램의 상태를 보여주는 부분이 인상깊었다. 그렇다고 여기에 너무 민감하게 반응하지는 말라던.. 그리고 그 곳에 심취해 있다고 단순히 신기술이라고 무조건적으로 사용하기 보다는 이런 저런 상황을 고려하라는 것.. 가장 생각나는 것은 문제는 기술의 문제가 아니라 모든 것은 사람에 관 것이다라는.. 모든 일은 나 자신으로부터 비롯된다라고 생각하고 있었는데 그 부분과 어느정도 상통하는 이야기였던 것 같다.
          그 다음으로 Track 5에서 있었던 Java와 Eclipse로 개발하는 클라우드, Windows Azure를 들었다. Microsoft사의 직원이 진행하였는데 표준에 맞추려고 노력다는 말이 생각난다. 그리고 처음엔 Java를 마소에서 어떻게 활용을 다는 건지 궁금해서 들은 것도 있다. 이 Windows Azure는 클라우드에서 애플리케이션을 운영하든, 클라우드에서 제공 서비스를 이용하든지 간에, 애플리케이션을 위 플랫폼이 필요데, 애플리케이션 개발자들에게 제공되는 서비스를 위 클라우드 기술의 집합이라고 다. 그래서 Large로 갈 수록 램이 15GB인가 그렇고.. 뭐 여하튼.. 이클립스를 이용해 어떻게 사용하는지 간단하게 보여주고 하는 시간이었다.
          세 번째로 들은 것이 Track 5의 How to deal with eXtream Application이었는데.. 뭔가 하고 들었는데 들으면서 왠지 컴구 시간에 배운 것이 연상이 되었던 시간이었다. 다만 컴구 시간에 배운 것은 컴퓨터 내부에서 CPU에서 필요 데이터를 빠르게 가져오는 것이었다면 이것은 서버에서 데이터를 어떻게 저장하고 어떻게 가져오는 것이 안전하고 빠른가에 대하여 이야기 하는 시간이었다.
          네 번째 시간으로는 Track 3에서 모바일 웹 개발 플랫폼을 들었는데.. 뭔가 웹에서 사용되는 것은 이러이러 것이 있습니다라고 50분동안 열거하는 느낌이라 기대보다는 지루했다. -_-a 그래서 사실 기억에 남는 것이 별로 없다..;
          마지막으로 Track 4에서 반복적인 작업이 싫은 안드로이드 개발자에게라는 것을 들었는데, 안드로이드 프로그래밍이라는 책의 저자인 사람이 안드로이드 개발에 관 팁이라고 생각하면 될 만 이야기를 빠르게 진행하였다. UI 매핑이라던지 파라미터 처리라던지 이러 부분을 RoboGuice나 AndroidAnnotations를 이용해 해결할 수 있는 것을 설명과 동영상으로 잘 설명했다. 준비를 엄청나게 모습이 보였다. 이 부분에 대해서는 이 분 블로그인 [http://blog.softwaregeeks.org/ 클릭!] <-여기서 확인해 보시길...
          그렇게 모든 시간이 지나고 경품 추천이 있었으나 역시나 경품은 나와 상관 없다는 것을 느끼고.. 거기다 종이가 번호 하나 차이로 iPad를 놓친 모습을 보며 더욱..
          하루 종일이었지만 현재의 기술 동향이라던지 사람들이 관심있어하고 관심 가져야 할 만 부분, 알아두면 유용할 만 팁들을 들을 수 있어 좋은 시간이었다. 다만 좀 피곤지다. -_-a -[권순의]
          * <공개SW 활성화 정책> 기조연설은 뭔가 PPT가 조잡해서 집중이 안됐다. 내용은 간단히 요약하자면 '''있는 것을 가져다 쓰자''', '''국 개발자가 개발 오픈 소스가 세계적인 소프트웨어가 되게 하자''', '''오픈 소스 잘 알고 쓰자''' 였던 듯. 그리고 ''우리 열심히 일하고 있어요. 관심 좀...''(?) 중간에 공개 SW 개발자 대회 수상자 중 마에스트로 하는 사람 명이 있댔는데 그게 지혜얘기인가 싶었음.
          * --돈돈라클 아저씨--국 오라클 전무님 기조연설이 가장 기억에 남는 것 중 하나. 큐브 예시에서부터 공감이 갔다.
          * 그 다음으론 <Event Driven Architecture>를 들었는데 생각과 너무 다른 내용이라 흥미가 없어서 옆 트랙으로 옮겼다. <성공하는 개발자를 위 아키텍쳐 요구사항 분석 방법>에 대 이야기였는데 처음부터 이걸 들을 걸 그랬다. 좀 많은 내용을 넣으시다보니 시간이 많이 모자란 느낌이긴 했지만 전 트랙보단 관심이 가는 내용인데. 기억에 남는 것은 각각 '''목적에 맞게 설계해야 다'''는 이야기.
  • Adapter . . . . 47 matches
         클래스 인터페이스를 예상되는 다른 인터페이스로의 변환을 다. '''Adapter'''는 상이 인터페이스 때문에 다른 달랐던 클래스의 일을 묶는 역할알 다.
         '''Adapter'''는 위에도 의미 것과 같이 특별(일반적 접근을 벗어난) object들을 '''client'''들이 고유의 방법('''Targets''')으로 접근하도록 해준다.
         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]]
         이처럼 Adapter가 정의되어져 있다면 Adapter와 Adaptee양쪽의 인터페이스를 이미 알고 있는 셈이다.;그래서 우리는 Shape 메세지를 TextView메세지에 맞추는 해석 과정과 같은 Adapter를 이런 특별 용도에 맞추어 만들수 있다. 우리는 이런걸 Teilored Adapter라고 부른다.
         우리는 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부분에서 그것의 정확 수행 방법을 볼것이다.
  • 우리가나아갈방향 . . . . 47 matches
          우이동으로 MT안가는 MT의 치밀 계획이 우리가 나아갈 방향 쿨럭 이건 아니고.
          뭐 하루하루 페이지만 해도 되는거 같은데 그게 힘드니 원 --;
          -_-; 하루 페이지.. 그래 그것만 해도 되는데.. 반갑게도 토욜에 제피가 올라온다네.
         지식에 대해서는 공유할 수 있지만, 경험과 공부 것 자체는 공유할 수 없다는 것임을.. 결국은 공부는 스스로 하는 것일테니. 똑같은 책의 구절을 보아도 사람에게마다 영양소가되는 위치가 다른 것임을. 일종의 훈련인 것에 대해서는 누구도 어떻게 해줄 수가 없는거지.
         암튼. 누차 강조하지만. 공부하기위해 모이지 않기를. 공부 내용을 가지고 모일 수 있기를.. 경쟁과 협동이 자신들 이익과의 같은 방향노선속에서 적절하게 싹틀수 있기를. 학술연구회라는 거창 이름이 아니더라도, 하고자 하는 욕망이 있다면 그 길은 저절로 열리는 것임을. '빛이 있으라' 라는 마디가 세상에 빛을 열어놓은 것처럼. 모임 자체가 억지로 만들어주는 것이 아닌, 자신들이 만들어가야 할 것임을.
          홈 브루 컴퓨터 클럽을 그 대상으로 다면 참 좋은것 같다. 우리의 정모가 해당 모임이 될수 있을 것이고, 과거에도 그렇게 하려고 노력했것만, 호응도가 낮았다고 생각다. 뭐 하지만 계속 바위에 계란을 던지다 보면 언젠가 이끼라도 끼지 않을까. 할수있는 최상은 제자리에서 열심히 --상민
          또 가지는 복학생의 수용을 어떻게든 이루었으면 좋겠다는 생각을 다. 어때 석천 올해 홍보라도 할까? --상민
          ''암튼. 누차 강조하지만. 공부하기위해 모이지 않기를. 공부 내용을 가지고 모일 수 있기를.. --석천''
          ''DeleteMe) 오해의 소지가 있게 쓰긴 했네요. 본래의 의도는 (01들은 내가 이야기를 들어서 알겠지만) 스터디를 할때, 책을 미리 읽고 난 뒤의 생각이나 프로그래밍을 했을때의 경험들을 들고 올 생각을 하지 않고, 모이고 난 뒤에 그제서야 책을 읽을 생각을 다는 점을 지적하고 싶었습니다. 모임자체를 하나의 시스템으로 보고 공부하지 않은 자신을 시스템으로 억지로 묶어보려고 하는 모습같아서.. 그 점을 지적하고 싶었습니다. 같이 공부했을때의 효율이 혼자서 할때보다 높기 위해서는 (장점을 가질 수 있으려면) 사전에 공부하려는 해당 부분에 대 의미를 조금이라도 파악해두어야 다고 생각합니다. --석천''
         따스 5월의 봄날에 맞이 제로페이지의 10주년을 진심으로 축하합니다. 10년이라는 적지 않은 시간동안 우리 학회가 만들어온 크고 작은 모습 하나하나는 선배님들과 여러 동기 여러분 그리고 후배님들의 학문에 대 열정과 서로에 대 이해와 배려가 일구어낸 아름다운 자화상이라고 생각해봅니다. 우리 제로페이지는 중앙대학교 컴퓨터공학과의 최대 학회이며 여러 학생들의 학술적 비젼을 제시해 주고 있는 중요 학회입니다. 이런 제로페이지가 좀 더 발전적이고 원숙 모습을 갖추기 위해서 당부하고 싶은 것들을 몇가지 말씀 드리고자 합니다.
         시대의 흐름을 바로 읽어 우리가 해야 할 것들에 대 명확 목표를 제시하고 서로 도와가며 공부할 수 있는 분위기를 조성하는데 주도적인 역할을 하길 바랍니다. 낯선 학문에 대 설레임과 막연 두려움 때문에 어느 곳부터 손을 대야 할 지 몰라 고민하는 신입생들이 많이 있습니다. 또 프로그래밍 언어 1~2가지를 익혔으나 그 다음에는 무엇을 해야하는지 내가 이 도구를 공부해서 무엇에 써야하는지 몰라 일관성 없는 학습만을 반복하여 제자리를 맴돌고 있는 친구들도 많이 있습니다. 우리 학회에는 훌륭 선배님도 많이 계시고 능력있는 회원님들도 많이 있다고 자부하고 있습니다. 이런 분들이 배우고자 하는 회원들에게 방향을 제시하고 또 배우는 사람들은 자발적으로 학습하며 자신의 능력을 개발해 나가는 것이 중요합니다.
         그리고 타성에 빠지지 않으려는 노력이 중요합니다. 늘상하는 같은 종류의 세미나가 학회 활동의 대부분을 차지하는 일이 매년 반복되어서는 안됩니다. 1,2학년때는 열심히 참여하다가 3,4학년때는 별로 배울것이 없다하여 많은 수의 회원들이 활동을 하지않는 모습에대해 비판만 할것이 아니라 반성해보는 자세를 가져야합니다. 최신기술에 대 순회 세미나와 조직화된 프로젝트팀을 활성화시켜서 회원들의 동기유발을 유도해야합니다. 컴퓨터의 시작은 하나의 뿌리였지만 지금은 수만갈래로 나뉘어져 혼자서는 각각에 대 기본적인 지식조차 얻기가 어렵습니다. 항상 새로운 주제로 많은 회원이 온/오프라인상에서 꾸준히 공부하고 그것을 나누는 분위기를 조성할 것을 제안합니다.
         돌이켜보면 제가 말 두가지는 이미 여러차례 논의되어 왔던 것이지만, 실제로 옮겨지기까지는 많은 회원들의 노력이 필요 부분입니다. 10년이면 강산도 변다는 말이 있듯이 이제 제로페이지는 예전의 그늘에서 벗어나 우리만의 새로운 모습으로 바꿔가는 의지가 절실해지는 때입니다. 이 행사를 준비하기 위해 밤낮으로 고생 후배님들깨 감사를 전하며 제로페이지가 항상 신선 모습으로 우리 곁에 남아있기를 진심으로 바랍니다.
         ''제로페이지 10주년 기념 격려사, 96 상우 선배님''의 글을 옮겨적었습니다.
         하지만 개인 경쟁력 강화와 경력 관리라는 측면까지 고려해서 제로페이지 활동을 다면, 지금보다 더 많은 가치를 얻을 수 있을 것 같습니다. 특히 게임이나 유틸리티 같이 쓸 목적으로 프로그램을 만드는 프로젝트를 다면, 프로젝트 하나하나가 자신의 경력을 쌓을 수 있는 기회라는 생각도 해보면 좋겠습니다.
         이러 상황에서 학부생이 경력 관리를 하는 가지 방법으로 제로페이지 활동을 할 수 있을 것입니다. 실제로 기업에서 일하는 수준엔 못 미치더라도, 자신의 실력을 보여줄 수 있는 포트폴리오를 만드는 것이지요. 자기가 혼자 만들고 즐기는 것이 아니라 남에게 보여줄 것이기에 어느정도 완성도를 지녀야 할 것입니다. 이게 별 것 아닌 것 같지만, SourceForge같은 공동체도 대다수가 경력 관리를 위해 오픈 소스 프로젝트에 참여하고 있다고 합니다.
         다른 가지 나아갈 방향으로 인맥을 만들고 정보를 공유하는 제로페이지가 되었으면 합니다. 현재 재학중이고 자주 만나는 제로페이지 회원들끼리는 서로 알고 있습니다. 하지만 그 외 회원들, 선배님과는 연락망이 거의 없다시피 합니다. 졸업하신 선배님을 통해서 정말 많은 정보를 얻을 수 있는데도 제로페이지 전체 회원 연락망이 없다는 사실은 참으로 안타깝습니다.
         연락망을 만드려면 연락처를 구하는 일이 가장 먼저 이루어져야 다고 생각합니다. 현재 제로페이지 회원 연락망이 회장단에게 물려져 내려오고 있지만 연락처가 부정확 경우가 상당수 있습니다. 연락이 가능 회부터 시작하여 꼬리에 꼬리를 물고 연락처를 구해나갈 수 있을 것입니다. 그 다음으로 현재 활동하지 않는 회원들에게도 가치를 돌려줄 수 있는 정보 공유의 장이 마련되어야 하리라 봅니다. 무조건 도움을 받기만을 바라고 이러 인맥을 만든다면 그다지 많은 호응을 얻어낼 수도 없을 것이기 때문입니다.
         윗 글에서 ''게임이나 유틸리티 같이 쓸 목적으로 프로그램을 만드는 프로젝트''를 해야 다는 말에 공감합니다. 실제로 저런 프로젝트를 하면서 프로그래밍 하는 재미를 느끼게 됩니다. 먼저 2학년 이상인 ZP 회원들부터 저런 프로젝트를 하는 모습을 후배들에게 보여줘야 다고 생각합니다. -[상협]
  • SmallTalk/강좌FromHitel/강의4 . . . . 46 matches
         ["Vim"] 도 에러가 발생다.
         Smalltalk를 실행해 보면 최소 두 개의 창이 열려 있음을 볼 수 있습니다.
         의 창이 있습니다. 각각은 저마다의 독특 쓰임새를 가지고 있으며, 이들은
         모두 Smalltalk로 프로그램을 짜는데 꼭 필요 역할을 수행합니다.
         자세하게 설명할 것입니다. 여기서는 그냥 이러이러 창이 있으며, 대충 이
         문에, 그림을 곁들이고 싶은 필자의 간절 마음이 반영되지 못하기 때문입
         Smalltalk 환경에서 가장 중요 창은 "알림판"(transcript)입니다. 원래
         깊이 공부하지 못 필자로써는 왜 transcript라는 낱말이 이 창에 붙게 되
         여하튼 이 창은 Smalltalk 환경에서 가장 중요 창입니다. 이 창이 열림으
         Smalltalk가 종료되는 것입니다. 즉 이 창은 Smalltalk 환경과 동고동락
         이 창은 뒤에서 설명할 '일터'(workspace)와 비슷 기능을 합니다. 그러나
         프로그램을 실행하는데 중대 잘못이 생겼다거나, 새로운 꾸러미를 불러왔
         일터(workspace)란 Smalltalk 환경에서 알림판 다음으로 중요 창입니다.
         들은 자신이 처리 일의 결과를 사장에게 되돌려 보내줍니다. 이렇듯 일터
         는 분주 곳입니다.
         Smalltalk의 일터 또 마찬가지입니다. 여기서 여러분은 기본적으로 글을
         할 수 없는데 비해, 일터는 여러분이 필요 수만큼 많이 만들 수 있습니다.
         다. 그러므로 어떤 명령을 실행 뒤에 나타나는 여러 가지 결과와 더불어
         그러나 명령을 복사하고 붙이는 것은 전혀 이러 효과를 볼 수가 없습니다.
         공부할 때 직접 경험 것이므로, 번 믿어보셔도 좋을 것입니다.
  • WhatToProgram . . . . 46 matches
         학교에서 숙제로 내주는 것들이란 정말 숙제를 위 숙제인 경우가 있다. 아니, 꼭 그렇진 않더라도 나는 뭔가 내 페이스에서 스트레스 없이 내가 원하는 것을 만들어보고 싶다. 어찌되었건 프로그램을 잘하려면 프로그램을 자주 해봐야 다고 말하지 않는가. 그럼 도대체 무엇을 프로그램할 것인가?
         나는 일차적으로 단순 것을 권하겠다.
         이 단계가 넘어서면( 달 정도면 넘어서지 싶다) 자신에게 가까운 것을 프로그램하라고 하겠다. 주희의 근사록이라는 책이 있다. 말 그대로 "가까운 것들에 대 생각을 적은 기록"이라는 말이다. 공부는 무릇 가까운 곳에서 시작해야 다고 말다. 내 삶 속에서 제대로 구현되지도 않으면서 우주를 걱정하는 것은 "위기지학"(자기를 위 공부)을 하라는 가르침에 어긋난다.
         철학적인 언설을 떠나, 이것이 어떤 의미가 있으며, 왜 중요가.
         프로그래밍의 궁극은 "사용자"와 프로그램의 사용을 통해 그가 받는 "현실적 가치"에 있다. 프로그래밍을 하면서 사용자를 생각하지 않는 것은 도무지 아무 의미가 없다. 프로그래밍이라는 행위 자체가 성립하질 않는다. 골방에 틀어박혀 자기만족적인 지적 유희를 즐기는 해커가 아니라면 말이다. 우리는 사용자의 마음을 꿰뚫어야 다. 여기에 있어 직접 사용자가 되는 것만큼 좋은 방법은 없다. 업계에서 혹자는 요구사항 분석시 사용자와 달 간 같이 생활해 보라는 말도 다.
         '''자신을 위'''
         자기 삶에서 의미가 있는 프로그램을 만들게 되면 스스로가 사용자가 된다. 목적이 분명해 진다. 자기가 편 프로그램을 만드는 것이다. 이 프로그램은 꼭, "내가 쓸 마음이 나는 프로그램"이어야 다(그 프로그램을 만들고 싶은 열정이 생기고, 그걸 생각하면 가슴이 두근거린다면 더더욱 좋다 -- 이런 호기가 있을 때 그것을 충분히 누리도록 하라). 아무리 간단 프로그램일지라도 나에게 가치있는 프로그램은 존재다. 특정 언어에 대 경험이 두 달일지라도 분명 그런 프로그램을 만들 수 있다. 대부분은 다른 프로그램들을 엮어주는 것일지도 모른다. 만약 난관에 부딪혔다면 책을 읽고, 사람에 묻고 자료를 검색해서 기술과 도구를 배우면 된다.
         이 프로그램을 개발해서 일주일이고, 달이고 매일 매일 사용해 봐야 다. 일주일에 번 사용하는 프로그램을 만들기보다 매일 사용할만 프로그램을 만들라. 자신이 하는 작업을 분석해 보라. 무엇을 자동화하면 편리하겠는가. 그것을 프로그램 하라. 그리고 오랜 기간 사용해 보라. 그러면서 불편 점을 개선하고, 또 개선하라. 때로는 완전히 새로 작성해야할 필요도 있을 것이다(see also [DoItAgainToLearn]). 아마도 이 단계에서 스스로를 위 프로그램을 작성하다 보면 아이콘을 이쁘게 하는데 시간을 허비하거나, 별 가치없는 퍼포먼스 향상에 시간을 낭비하지는 않을 것이다. 대신 무엇을 프로그램하고 무엇을 말아야 할지, 무엇을 기계의 힘으로 해결하고 무엇을 여전히 인간의 작업으로 남겨둘지, 즉, 무엇을 자동화할지 선택하게 될 것이다. 또, 같은 문제를 해결하는 여러가지 방법(기술, 도구, ...) 중에서 비용과 이익을 저울질해서 하나를 고르는 기술을 익히게 될 것이다.
         사실 이 단계에서는 꼭 어떤 사용을 전제로 하지 않더라도 열정을 갖게 해주는 프로그램이라면 괜찮다. 어떤 것에 대해 호기심이 생기는가? 컴퓨터로 실험을 해보고 싶은가? 그 생각이 밥을 먹거나, 잠을 자거나 떠나지 않는다면 프로그램 하라. 그냥 이걸 프로그램하면 공부가 될 것 같다든가, 혹은 남들이 다 하길래 다든지 하는 것과는 질적으로 다른 경험을 할 것이다. 열정을 가진 것은 대부분 가슴 속에 그 모양이 이미 형성이 되어 있다. 조각가는 조각품의 형상을 이미 가슴 속에 품고 있다. NoSmok:최기 는 이것을 강조다. 일이 제대로 이루어지려면 그 일을 흉중에 품고 있어야 다고. 머리 속에서, 정말 손끝에 잡힐 것만 같고, 그 프로그램이 살아있는 것 같이 느껴진다면 프로그램 하라. 자신의 아이디어를 컴퓨터가 이해하는 언어로 표현해 내는, 그리고 그 프로그램이 자신의 아이디어를 더 발전시키게 하는 능력을 갖게 될 것이다.
         '''타인을 위'''
         이 과정이 어느 정도 되면, 타인을 위 프로그램을 작성할 수 있다. 나에게는 별 의미가 없지만 남에게 "아주 귀중 가치를 주는" 프로그램을 만들어라. 서로 만들어줘도 좋다. 자신이 컴퓨터 공학과라면 국문학과 학생에게 프로그램을 만들어주라. 그와 가까이 지내고 그가 진정 원하는 것이 무엇이며, 진정 필요로 하는 것이 무엇인지(원하는 것과 필요로 하는 것은 다르다) 분석하고, 프로그램 해줘라. 그가 그 프로그램을 달 이상 사용하는가? 그래야 다. 그 정도로 가치있는 프로그램이어야 다. 가치있는 프로그램이 꼭 복잡하거나 거대할 필요는 없다. 그가 프로그램의 수정을 요구다면 가능하면 모두 들어주어라. 그게 힘들다면 그를 납득시켜라. 아마도 이 단계에서 타인을 위 프로그램을 작성하면서 "작성자"와 "사용자"간의 프로그램을 통 커뮤니케이션의 중요성에 눈을 뜨게 될 것이다. 인터페이스에 대해 고민할 것이다. 얼마나 이쁘냐보다, 얼마나 실수할 행위유발성을 제공하지 않느냐, 그리고 어떤 메타포를 사용할 것인가(이에 대해서는 비지칼크란 프로그램을 연구하라) 하는 문제를 생각할 것이다.
         '''타인들을 위'''
         이 단계를 거치면 이제는 타인들을 위 프로그램을 작성다. 일단 사용자가 다수이다. 또, 어떤 사용자 집단을 상정할 수는 있지만 개개인을 전제할 수는 없다. 아마도 이 단계에서는 평균적 사용자에 대해 고민하게 될 것이고, 때로는 여러사람의 동시 사용자로 야기되는 동시성 제어나 퍼포먼스 문제로 고민할 것이다. 그리고 프로그램의 크기가 커지면서 그리고 요구사항 변경이 여러 소스를 통해 빈번히 들어오게 되면서 어떻게 설계해야 하느냐는 문제로 고민할 것이다.
         프로그래밍 기술보다도 중요 것은 어쩌면 현실세계의 문제를 해결하는 것 그 자체일지도 모른다(도구와 기술은 본질적 문제를 해결해 나가는 과정으로서 필요에 따라 공부하면 되겠다). 우리는 정말 사용자를 위 프로그램을 만들어야 다. 그리고 이 공부는 가까운 곳에서부터 출발다.
  • Z&D토론/통합반대의견 . . . . 46 matches
         나는 이 문제, 통합과 분할의 문제에 있어서 걸음 뒤로 물러나련다.
         지금까지 주시만하고 아무말도 안했던 이유는 아래에 이미 이야기적이
         있고, 이제 마디를 하고자 다.
         마디로 적절치 못하게 둘러댄 핑계거리다. 나는 지난 91년부터 작년까지
         제로페이지와 데블스(95년부터)를 봐왔다. 제로페이지 회원이 학년에
         아팠지. 하지만 그게 분명히 필요 거라면 어쩔 수 없는 것이었고, 그래도
         열심히 하고, 대학원을 KAIST로 가기 위 노력들을 많이 했었지만, 이젠
         더이상 KAIST 학부과정 학생들도 더이상 대학원을 안간다고 다. 그게
         못했다. 다음에 꼭 하겠다, 오늘 아르바이트가 있다, 내일 친 친구가
         흘러간다. 그 무의미 시간들은 제로페이지나 데블스를 약하게 만들기에
         너무나 충분 시간들이었다.
         대학에서는 경험이 쌓이지 못다. 계속 새로운 사람들이 들어오고 오래된
         사람들은 떠나기 때문에 경험이 쌓일 새가 없다. 이를 극복하는 유일
         방법은 이전의 경험들이 전수되는 방법 뿐인데, 사실 그것도 되지 못다.
         되지만, 결론은 반대이다. 왜냐 하면,, 사람이 바뀌지 않는, 사고가 바뀌지
         않는, 마음가짐이 바뀌지 않는 달라지는것은 아무것도 없다. 물론 통합후
         대 우려가 없지 않다. 그것이 지난 과거들이 보여준 모습들이기 때문에,
         개인들에게는 너무나 소중 자신들의 인생이기 때문에 그렇게 하기를
         하고 있는가? 현재 태호가 혼자서 허우적거리고 있지만, 마디로 불쌍할
         다소 희석될것은 분명데, 그 이후에는 뭘 하게 될까. 또 무의미 시간들이
  • ZeroWiki에서 언어습관 . . . . 46 matches
         * 매주 월요일마다 모이는건가요? 이런... 곤란디 ㅠ_ㅠ;; - 신동엽
         오옷. 호동이다 -_- 곤란게 어딨어!ㅎㅎ - 김재동
         이 예제는 이모티콘이나, 자음, 모음만 사용 예제 중 양호 편입니다. 이러 언어 습관은 작년(2003) 보다 올해(2004)가 두드러 지는것 같은데, 이런 현상에 대하여 어떻게 생각하시나요?
         최근에 이모티콘 관련표현들이 많은건, 이전에 위키를 써온 사람들의 방식에 대해 제대로 모르는 상황에서, 사람들이 익숙하던 방식으로 쓰는 중이라는 생각을 해봅니다. 그리고 그에 대 지적이 아주 심하진 않았고요. --[1002]
          ''과거 [노스모크]의 전례를 보았을때, 기존 회원들은 자연계처럼 자정작용이 언어습관에 적용되기를 바란것이 아닐까요? 제가 읽는 대부분의 커뮤니티에 저런 패턴의 글들이 자연 소멸했습니다. 지금 저 글을 읽기 힘들다는 느낌 자체가 신기 경험입니다. 마치 "그놈은 멋있었다."를 읽다가 눈이 피곤 느낌이라고 할까요? ''--NeoCoin
         편으로 다르게 생각해보면,기존의 위키를 쓰던 사람들이 예전만큼 활발하게 활동하지 않은 상황에서 '상대적으로 많아보이는' 것이 아닐까요. :) 하지만, 또 현재 새로운 회원들이 이전 회원들이 기존에 만들어진 위키 페이지들을 얼마만큼 읽어보았는지 궁금하기도 합니다. 해당 위키에 대해서는 그동안 그 위키가 자라온 방식이 있습니다. 물론 그로 인해 자기 표현의 제을 받는건 좋은 현상이 아니지만, 편으로는 기존의 위키가 자라온 방식을 관찰함으로서 배울 수 있는 점들이 있으리라 생각합니다. --[1002]
         처음에 이모티콘 관련 글을 보면, '일단은 사람들에게 익숙 방식으로 위키라는 툴에 익숙해지는 것도 좋겠다'는 생각이 들었습니다. 어떠 형태로건 대화가 편하게 이루어지면 좋으니까요. 하지만, 그러 표현이 기존의 회원들과의 거리를 를 벌일것이란 걱정도 듭니다.--[1002]
         요즘 제로위키 글을 읽다보면, 전자라서 읽다가 그만두는 경우가 종종 발생합니다. 심하게, '글쓴이가 글이 남에게 읽힐때의 고민이 전무하다' 라고 표현할까요? 읽다 보면, 기존에 쓰여진 글들이 매우 딱딱 문장이 아님에도 채팅과 같은 글들이 밑에 있어서, 딱딱하게 보입니다. 기말고사 시험지에 써있는 낙서, 생각의 흔적들이랄까요? 묘하게 배치된 글들을 보면서, 시간과 공간의 경험이 서로 다른 사람들의 생각과 글들이 융화되기가 참 힘들다는 생각을 가집니다. --NeoCoin
         [제로위키]에서 쓰는 어떠 언어습관이 관습화되고 있는건가요? 아니면 [제로페이지]에 새로 들어온 회원들이 원래 쓰던 언어습관과 '''다르게''' 자꾸 글을 써서 아직 관습화되진 않았는데 '''관습화 처럼''' 느껴지는 건가요? 로마에 가면 로마법을 따르라지만, [제로위키]에는 어떠 법이 있나요? --[Leonardong]
          [제로위키]에는 말씀처럼 특별 법이 없습니다. 마찬가지로, 어떠 위키에도 어법에 관 법은 없습니다. 그렇지만 타 위키들은 언어습관의 진행 방향이 서술 형식의 표준어 분위기로 진행하는 것에 비하여 [제로위키]는 다른 방향으로 진행되어 가는 것 같아서 주목할만 점이 아닐까요?
          아시다 시피 위키는 과거글이 꾸준히 읽히고, 타인이 고칠수 있는 시스템입니다. 그래서 모두가 읽는데 의미 전달의 변이가 적은 표준어, 서술 형식으로 수렴되는 것을 당연하게 생각했습니다. (반대로, 게시판은 번 쓰면 타인이 못고치고 다시는 읽지 않으니 분위기가 수렴되거나 하는 것이 적겠지요.) 그런데, [제로위키]는 최근 2년간의 모습이 재미있거든요?
          특히 NoSmok:단락나누기 와 같은 위키 쓰기에 관련 교육이나 고민을 공유하는 시간이 적은 상태에서 진행방향은 점차 더 달라 지는 것 같습니다. 몇년후 [제로위키]는 상당히 특별 색깔을 가지게 되지 않을까요? --NeoCoin
          [제로위키]가 다른 위키나 커뮤니티의 글처럼, 의미 전달의 변이가 적은 표준어나 서술 형식으로 수렴하지 않는다는 말씀이시군요. 요새만 그런 것이 아니라 최근 2년동안 죽 그래온 것으로 보아, 앞으로 이모티콘이 가득가득 위키라는 특별 색깔을 [제로위키]가 가지리라는 의견이시고요.
          문단의 내용이 확인을 부탁하는 것 같아서 답변 답니다.(그렇지 않다면, 중복 문단의 존재 이유가 없겠지요?) 전자의 문장은 잘 정리하셨습니다. 허나, ''앞으로 이모티콘이 가득 위키라는 특별 색깔을 [제로위키]가 가지리라는 의견이시고요.'' 에는 전체 긍정을 할수 없습니다. 아직 예단할수는 없지요. '가득가득'이라니요. 내년 신입 회원이 기대되기는 하지만요. --NeoCoin
          왜 그럴까 그 이유를 생각해보았습니다. 제가 생각하기에 가지 이유는 [제로위키]에서는 과거 글이 꾸준히 읽히지 않는다는 것이고, 다른 이유는 과거 글을 타인이 고치지 않는 것이라고 봅니다.
          '' ...전략...위키는 과거글이 꾸준히 읽히고, 타인이 고칠수 있는 시스템입니다. 그래서 모두가 읽는데 의미 전달의 변이가 적은 표준어, 서술 형식으로 수렴되는 것을 당연하게 생각했습니다. (반대로, 게시판은 번 쓰면 타인이 못고치고 다시는 읽지 않으니 분위기가 수렴되거나 하는 것이 적겠지요.) 그런데, [제로위키]는 최근 2년간의 모습이 재미있거든요? ...후략...'' --NeoCoin 윗글 인용
          * 예, 꾸준히 제기되는 문제입니다. 과거 글이 읽히는 것까지 위키라는 시스템이 책임지지는 않지요. 이제 [제로위키]도 2000페이지가 넘었고, 각 페이지당 A4 장이라고 생각해도, 1000장의 두꺼운 사전이니까요. 휴~, 그 중 우리가 읽고 키울것은 많게 잡아도 20% 내외 일것입니다. (200~300 페이지) 당장 사용하는 것은 10% 정도? 그러나 위키 시스템의 철학적인 면에 대 학습과 토론의 장이 전무 상황에서 당연 결과 같네요. [위키요정]과 NoSmok:문서구조조정 NoSmok:WikiGardening 등의 노력이 적은게 아쉽습니다.
          * 새로운 작업에 대 '문서화' 경향이 적습니다. 학기중에 익힌 지식들을 문서화하기 어려울수 있죠. 작년도 비슷했던 것 같습니다.
          * [제로위키]가 태어나고 1년즈음에 이르로 이러 문제가 본격 제기되었습니다. 새로운 회원들에게 진입 장벽을 낮추기위해 위키의 계층을 도입해 개인화 페이지를 권장하면서 문제가 제기되었지요. 새로 만드는 것은 좋습니다. 허나 이를 지식으로 가공하는 것은 [위키요정]들의 몫입니다. 위키철학을 공유하고 모두 함께 진행하는 해결책이 필요 하겠지요.
          * 이러 [위키요정]의 사례로, [STL]관련 새로 만든 개인 페이지가 넘쳐나서, 내용이 중복되고 어수선했는데, 전부 정리 적이 있습니다.
  • 데블스캠프2002/날적이 . . . . 46 matches
         이 곳에 신입회원들은 일, 알게된 것, 교훈 (ThreeFs 페이지 참조) 등을 적으세요. 그날 했었던 일을 생각하면서 알게된 점을 생각하고, 잘했다고 생각점은 계속 지향해나가야 겠고, 잘못했다고 생각점은 '어떻게 하면 잘할 수 있을까?' 하며 대안을 생각해볼 수 있었으면 합니다.
         "열심히 하겠습니다", "좌절했습니다" 등의 닫힌 소감만 쓰는 것보다 구체적 경험과 그에 대 분석까지 쓰는 것이 자신은 물론 다른 사람에게도 도움이 될 것입니다. 자신이 실패 경우 그 경험에 대해 구체적으로 생각하고 분석해보고 차후 조정을 하지 않으면 똑같은 실패를 반복하기 쉽습니다.
          * 주변에 상대적으로 성공 친구/선배가 있었다면 그에 대 관찰/분석
         2. Scenario Driven - 앞의 CRC 세션때에는 일반적으로 Class 를 추출 -> Requirement 를 읽어나가면서 각 Class 별로 Responsibility 를 주욱 나열 -> 프로그램 작동시 Scenario 를 정리, Responsibility 를 추가. 의 과정을 거쳤다. 이번에는 아에 처음부터 Scenario 를 생각하며 각 Class 별 Responsibility 를 적어나갔다. Colloboration 이 필요 곳에는 구체적 정보를 적어나가면서 각 Class 별 필요정보를 적었다. 그리하여 모든 Scenario 가 끝나면 디자인 세션을 끝내었다.
          * 위의 장점은 이미 이 프로그램을 우리가 알고 있다는 가정하에서의 장점이란 생각이 든다. Scenario 가 거의 번에 뽑아져 나왔다는 점에서 더더욱.
          * Scenario Driven 관계상 중간중간 실제 프로그램 구현시 어떻게 할것인가를 자주 언급되었다. 'What' 과 'How' 의 분리면에서는 두 사고과정이 왕복되는 점에서 효율성이 떨어진다고 생각다.
          * [영동] : 처음엔 남훈이 형의 세미나를 들었습니다. 제가 컴퓨터에 대해 거의 모르는 터라 처음 보는 용어가 너무 많았습니다. 그래서 그런지 "A는 어떤 어떤 일을 다..."는 설명을 들으면 A가 어디에 속 건지 혼란이 온달까... 그래도 나중에 동영상을 보니 그럭저럭 이해가 되는 것 같습니다. 남훈이 형 수고 많이 하셨습니다. 나중에 목소리 잘 안 나오는 거 보고 참 감사하다고 생각했습니다. 그리고 세미나가 끝나고 드디어 객체지향 프로그래밍으로 랜덤워크(스케쥴드워크로 개명됨)를 짜게 되었습니다. 어제 고민되던 문법은 의외로(?) 간단하더군요. 아직 구체적으로 들어간 게 없어서 그런가? 프로그래밍을 하는데 초반에는 5분에 번씩 키보드를 파트너에게 넘기는 룰이 있었으나 후반엔 버그에 서로 정신이 팔려 그 규칙을 잊어버리고 거의 파트너였던 재니가 거의 짠 거 같습니다... 하여간 여기서 어려운 것은 전달인자를 넘기는 것이었습니다. 넘길 때 자꾸 변수 이름이 혼란스럽다는 것. 그리고 처음에 작성 추상적으로 보이던 OOP 디자인. 여기서 프로그램을 이끌어 낼 수 있다는 것이 놀라웠습니다. 물론 그 이끌어 내는 과정이 너무 어렵다는 것이 문제지요. 또 가지 놀라운 것은 확실히 객체지향 프로그래밍을 쓰면 코드의 길이가 확실히 줄어든다는 것이었습니다. 마지막으로... 세미나 준비하시고 프로그래밍 도와주신 선배님들 정말 감사합니다.
          * 일부러 문법쪽에 대 정통적인 설명을 배제하긴 했음. 뭐.. 그정도만 해도 디자인 타임때 디자인 객체를 구현하는데 문제 없을 것 같고 해서. 졸지도 않고 끝까지 둘이서 같이 이야기하면서 플밍 하는 모습이 보기 좋았던 거 같아. 그리고 요구사항 추가내용인 바퀴벌레 2마리일때와 2차원 판이 아닌 3차원 직육면체를 돌아다닐때에 대해서 StructuredProgramming 과 ObjectOrientedProgramming 을 하여 비교하면 문제점 면에서 그 차이를 확실히 알 수 있을것임. --석천
          ''아직 RandomWalk2에서 변경사항4까지 풀지 않은 사람은 읽지 마세요: (읽으려면 마우스로 긁기) [[HTML(<font color="white">)]]음식 요구사항 같은 것은 특히 OOP에 대 일반인의 고정관념을 깰 수 있는 좋은 예입니다. 보통 비지니스 애플리케이션에서 역할(Role)이라고 하는 것을 경험할 수 있습니다. 흔히들 OOP에 대 비판 중 하나가, 집에 있으면 아들이고, 학교에 가면 학생이고, 과외집에 가면 선생이 된다는 "객체 자체의 변화"에 대 것입니다. 이것은 추상적이고 일시적인 대상도 객체가 될 수 있다는 사고 전환에서 해결 가능합니다. 일시적으로 어떤 역할을 갖고 있다가(Has-a) 그 역할이 바뀌는 것이죠. RW2의 변경사항들은 OOP 교육적 측면에서 모두 중요 것들입니다. --JuNe [[HTML(</font>)]]''
          결론만 말하자면, 내가 이곳저곳에서 보아오던 디자인방식. 코딩방식들이 또 평소에 아무생각없이 짜던 코드들. '이것들이 이거였구나!!' 라는 생각을 하게 되었습니다. 세미나 초반에 창준선배께서 말씀하신 (Protocol Analysis).. 정확 명칭은 잘 생각이 안나지만 자기 자신에 대해 생각해보는것... 오늘건진 가장 큰 수확은 그거인것 같습니다...^^a
          * 첫번째 문제에 대 조언을 다면, 그 route 입력값을, 캐릭터(문자)로 볼것인지 스트링(문자열)으로 볼 것인지 에 관 문제 같군요. 아마 어제 들은 얘기로 볼 때, 하나 하나의 이동 명령이란 개념에만 매달린 나머지 그걸 따로따로의 문자의 합으로 본거 같은데, 거기서 그 개념에 얽매이지 말고 문자열로 개념을 확장시켰다면 수월했을겁니다. -["zennith"]
          도저히 5개 줄로 모이면 끝나는 조건은 못하겠더라구여... ㅠ_ㅠ[[BR]]
          * 명진 : 갈수록 어려워지는 듯 프로그래밍... 알고리즘을 잘못 생각해서 오목이 2~3개면 끝나버리는 현상이 나타나고... 다음부터는 연습장 같은것에 써가면서 하나씩 알고리즘을 확장해나가야 할듯 하군요.
          * 동기 : 오목조건 체크 어렵네요.. 적합 알고리즘이 생각이 안나서..
          * [영동] : 오늘 오목을 짰습니다... 처음에 어렵사리 유저 인터페이스를 구현했습니다. 처음엔 덮어쓰기를 불가능하게 하고 칸 밖으로 삐져 나가지 않도록 고치는 것은 간단했습니다만... 오목인지를 확인하는 것... 육목은 인정 안 하는 것을 아직 못 했습니다. 대각선 방향으로 체크하는 것도 아직 못 했습니다. 너무 어렵네요. 빨리 적당 알고리즘을 찾아야...
          상황에 적합 알고리즘을 찾는 실력이 부족것 같습니다.... 연습장과 함께 모든 조건들을 적은 후 제일 적합
          알고리즘을 찾는 버릇을 택해야 할 것 같습니다....
          그래도 씨의 새롭고 유익 함수들을 접할 수 있는 좋은 기회였네요^^[[BR]]
          * 대근) 오호... Unix 를 사용 것은 정말 뜻깊은 기회였습니다. Linux의...그것도 이론만 접해본 저로서는 익힌 명령어들을 쓰구 쓰구~~ 또 쓰면서 너무 기쁜 시간이었습니다.. 물론 숙제라는 강박관념두 없었고요...[[BR]]
          * 성재) 우선 처음의 Unix의 경우는 쉽고 재밌었습니다. 제가 개인적으로 홈페이지에 관심이 많던터라 퍼미션 조정에 대해서도 잘 알수 있었구요.. 서버에서의 html을 찾아가는 경로도 알수 있어서 좋았습니다. 그런데... -_-;; 씨 프로그래밍은 여전히 어려웠습니다...-_-;; 첫번째 문제밖에 못풀었는데요.. 우선 Randomwork경우에는 문제조차 이해를 바로하지 못했던게 문제였던 것 같습니다. 동적배열을 쓰는 법도 잘 몰라서 문제였구요. 선배들이 도와주셔서 알긴 했지만 좀 더 공부해야 겠다는 생각이 들었습니다. 그리고 중요 에러중에 하나가 괄호를 생략하는데서 나온건데요.. 코딩시 줄을 줄여보겠다는 일념<?>하에 괄호가 필요하지 않은데는 일일히 해주지 않았더니 꼬이더라구요... 코딩을 하는데에서의 인터페이스와 여러가지에 대해 깨우치고 알았던 기회였던 거 같습니다. 다음에는 좀 더 찬찬히 알고리즘부터 쫘악 짜서 천천히 풀어봐야 겠습니다...
  • 새싹교실/2012/AClass/2회차 . . . . 45 matches
         자리 숫자이다가 2자리 숫자이면서 깨지는 것은 예외처리해주셔도 되고 하지 않으셔도 됩니다.
         //1.3.6.10 수열이 규칙을 찾아서 행을 만들어 주려고 다… 코딩 생각 하는데 시간이 세시간 초과.. 그래서 6을 입력하면 행이 6이 되는 삼각형 만듬..
          // 몇번째 있는지는 if문이 두 번돌아서 3번째 7번째 뜨는데.. 번에 출력하는 거는 잘 못하겠어요…
         1.2차원 배열이 무엇인지 쓰고, 어떻게 선언하는지도 작성 뒤, 이를 이용 간단 프로그램을 작성해주세요.
         -동일 데이터형의 많은 변수를 처리하기 위 단수 변수를 사용하면 변수이름을 각각 다른 이름으로 사용해야하기 때문에 많은 불편이 따른다. 이러 불편함을 덜기 위하여 같은 데이터형인 일련의 기억장소를 표현 변수를 '배열변수'라 다. 즉 배열을 이용하면 여러개의 변수를 간단히 표현할 수가 있다. 2차원 배열은 '데이터형,배열명,그리고 [행]과[열]'을 나타내어 표현다. 1차원 배열은 배열 요소의 크기와 데이터형이 동일 기억장소를 1개의 차원으로 선언하였다고 말하면 2차원 배열은 2차원으로 선언(행과열) 것이다.
         - 난수(random number)를 생성할때 stdlib.h헤더파일을 코드에 포함시키고 srand()를 사용다.rand()함수는 매번 그 값이 같은 반면에 매실행때마다 난수를 다르게 생성하기 위해서 srand()를 사용다.
         srand역시 stdlib.h에 포함되어 있다. srand는 시드값을 주어 사용하는 것이고 그 시드값으로부터 특정 법칙으로 난수를 생성하는 것이다.따라서 매번 다른 난수를 얻으려면 시드값을 계속 바꾸어주어야 다.
         이러 코드개선을 위해서 time()함수를 사용해야 다. 이 함수를 사용하기 위해 time.h 헤더 파일을 코드에 포함시켜야 다. 또 time함수는 1970년 1월 1일 이후 경과된 시간을 초 단위로 반환하는 함수 이다.
         -포인터는 기억장소에 있는 어떤 변수의 주소를 말다. 즉, 다른 기억장소 위치의 주소를 갖고 있는 변수이다.포인터는 두개의 단일 연산자인 &와 *로서 정의다. &연산자는 일반적인 변수 이름으로 사용되고 그 변수의 주소를 의미다. 즉 &a는 a의 주소를 의미다. *p는 p안에 있는 주소 위치의 내용을 의미다. &는 주소 연산자이고 , *는 간접 연산자로 포인터선언을 의미다. 일반적인 포인터 선언형식: 데이터형 *포인터변수명; 이다.
         차이점으로는 포인터는 변수인데 비해 배열은 상수이고 포인터는 언제든지 다른 대상을 가리킬수 있지만 배열은 선언될 때 그 위치가 이미 고정되어 다른 대상을 가리킬 수 없다.또 포인터는 동적으로 결정할수 있지만 배열이 가리키는 배열의 크기는 선언할 때부터 정적으로 결정되어있다. 배열로 []연산자를 이용해 그 값을 읽는 것과 포인터 간접 참조 연산으로 그 값을 읽는 것의 속도 차이가 있다.
         자리 숫자이다가 2자리 숫자이면서 깨지는 것은 예외처리해주셔도 되고 하지 않으셔도 됩니다.
         1. 2차원 배열이 무엇인지 쓰고, 어떻게 선언하는지도 작성 뒤, 이를 이용 간단 프로그램을 작성해주세요.
         포인터란 메모리의 주소 값을 저장하기 위 변수. 타입에 상관없이 크기는 4바이트(컴퓨터 주소 체계가 4바이트로 표현된다는 것을 의미)
         = 송이 =
         o 자리 숫자이다가 2자리 숫자이면서 깨지는 것은 예외처리해주셔도 되고 하지 않으셔도 됩니다.
         1. 2차원 배열이 무엇인지 쓰고, 어떻게 선언하는지도 작성 뒤, 이를 이용 간단 프로그램을 작성해주세요.
         포인터 – 메모리에 부여된 주소 주소‘값’을 나타낼 때는 포인터 상수라 하고, 주소를 저장할 수 있는 ‘변수’를 나타내는 포인터 변수라 다.
         1. 2차원 배열이 무엇인지 쓰고, 어떻게 선언하는지도 작성 뒤, 이를 이용 간단 프로그램을 작성해주세요.
         -srand함수는 여러 개의 난수표 중 하나를 선택하는 것이고, rand 함수는 선택된 난수표로부터 값을 꺼내오는 것이다. srand함수에는 인자가 하나 들어가는데, 그것을 seed값이라고 다.
         - 포인터는 가리키는 변수의 시작주소(메모리의 위치)를 기호화
  • 정모/2011.3.21 . . . . 45 matches
          * 참가자 : [박정근], [신기호], [황현], [강소현], [박성현], [강성현], [서지혜], [임상현], [김수경], [송지원], [김준석], [이승], [권순의]
          * [황현] 학우가 제시 키워드 전기수로 Ice Breaking을 진행했습니다.
          * 개강 후 번도 모이지 않음.
          * [ZeroWiki/제안] 페이지에서 ZeroWiki에 대 각종 제안을 받습니다.
          * 현재 ZeroWiki Url에 대 제안이 올라왔습니다. 가서 읽어보시고 의견을 달아주세요.
          * ZeroWiki에 대 새로운 제안도 환영합니다!
          * 이번주에 집부 모집으로 인해 정모 참여율이 약간 저조하기도 했고, 아직 학생들과 수업을 진행하지 못 반이 많아 트레이드는 다음주에 진행됩니다.
          * [이승] 선배님의 Emacs & Elisp 세미나
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * Emacs & Elisp 후기 :의 소개를 보면서 다양걸 사용하는 승형에게 잘맞는 프로그램이라 생각됬다. 그 프로그램을 사용하기에 다양걸 좋아하기도 하고 내가 가장많이쓰는건 Eclipse와 그걸 지원하는 플러그인이지만 여러가지를 개발하는 개발자에게 저것은 좋은프로그램이라 생각된다. 하지만 나에게는 아직도 Eclipse를 다루는것조차 아직은 버겁기에 우선 Eclipse를 하자는생각이 들었다.
          WoW 소개의 후기를 쓰자면 OMS를 사람으로 준비를하면서 게임광고를 공개석상에서 할때 하는 방법에 대하여 여러가지로 연구해보았다. 그리하여 게임광고가 우리의 시각적이고 환상적인 분야를 자극하기위해 영상에 공을 들였다는걸 알았단 점. 그리고 일상에서 주위사람들에게 가장 큰 게임의 광고효과는 내가 재밌게 게임을 하는것이라 생각되었다. - [김준석]
          * 이번에 승이 형의 Emacs. Elisp 세미나를 들었다. 세미나를 들어보니 Emacs는 매우 자신에 맞게 전환 할 수 있는 도구 인 것 같다. 와우 에드온 같이 자기에게 딱 맞게 설정하는 재미가 있을꺼 같다. 기회가 되면 번 다뤄봐야겠다. 그리고 다음 OMS로 주제를 키넥트에 관해서 하고싶은데 아직 사지도 않아서!!! 뭘해야될지 고민이다... 그냥 요즘 새로나온 게임 인터페이스들에 대해 통짜로 해버릴까...고민중임 - [임상현]
          * 간만에다시온 제로페이지는 그대로 이더군요. 준석이의 충격적인 세미나는 역시 와우는 나같은 사람은 손대면 안된다는 걸 확신하게해 주었습니다. 후밴들이많아서더 맛있는걸 못 사준게 좀 아쉽고, 발표는 사람들이 잘 집중해 줘서 너무고마웠습니다. 빨리 더 많은걸 배워서 세미나 해주고 싶습니다.. 마지막으로 회장님 화이팅ㅋㅋㅋ - [이승]
          * 제로페이지 스러운 사람들이 모여 있는게 그대로 였습니다. :) - [이승]
          * 뭐지ㅠㅠ Nerd 사람들이란건가요ㅠㅠㅠㅠㅠ - [서지혜]
          * 현이의 이번 아이스 브레이킹은 새로운 시도였던 것 같았는데, 아쉽게도 처음이라 그런지 시행착오를 겪은 것 같았습니다. 다음 아이스 브레이킹때 이번에 아쉬웠던 점이 보안되면 더 재미있는 시간이 되지 않을까 생각합니다. 승이 형의 Emacs & Elips 세미나를 듣고 나서는 편으로는 저런 것을 써 보는 것도 괜찮을 것 같다라는 생각도 들었지만.. 아직은 지금 쓰고 있는거 부터 잘 다룰 줄 알고나서 접근하는 게 좋지 않을까라는 생각도 들었습니다. -_-;; 워낙 초보인 나 자신이 부끄럽기도 시간이었습니다. 쩝. 그 이후엔 일이 있어서 먼저 갔는데... 저.. 참가자에 제 이름이 없네요 -ㅅ-ㅋ (먼저 가서 그런가 ㅋ) - [권순의]
          1. 키워드 전기수가 생각처럼은 진행되지 않았습니다. 아마 첫 시도라 그렇겠죠? 현이가 낸 아이디어가 매우 좋아서 지난 주간 이 활동을 굉장히 기대했는데 생각해보니 제가 글을 못 쓴다는 사실을 망각 채 기대만 했어요… 다음주엔 더 재미있게 진행될 수 있도록 시간제이나 키워드 수 등 방식을 고민해보겠습니다:)
          1. 오랜만에 승선배께서 오셔서 세미나 해주시니 좋네요!! 피자도 사주시고ㅜㅜㅜ 잘먹었습니당 :9 승 선배 세미나 덕분에 정모가 더 알찬 시간이 된 것 같습니다. emacs는 전에도 [데블스캠프]에서 소개해주신 것이 기억납니다. 그때 간단히 써보았는데 파워풀만큼 처음에 적응하기는 많이 힘들다는 느낌을 받았었어요. 그런데 다시 봐도 어려워 보이네요T_T 하지만 단축키를 사용하여 많은 작업을 할 수 있다는 것이 매력적입니다. 빠르고 효율적인 것도 그렇지만 제 노트북 터치패드가 고장인데다 마우스도 가끔 정신이 나가거든요…….
          1. 준석 선배의 OMS는 와우에 대 소개가 주제였는데, 프리젠테이션에서 게임을 해보지 않은 사람들도 즐겁게 볼 수 있도록 하기 위해 많이 고민하신 것이 느껴졌습니다. 저는 와우를 플레이 적이 있기때문에 보여주신 영상들을 전에 몇번 봤었는데 혼자 노트북으로 보는 것과 프로젝터로 앞에 크게 틀어놓고 다같이 보는 것은 느낌이 또 달라서 재미있었습니다.
          * Ice braking은 많이 민망합니다. 제가 제 실력을 압니다 ㅠㅠ 순발력+작문 실력이 요구되는데, 제가 생각 것이 지혜 선배님과 지원 선배님의 입에서 가볍게 지나가듯이 나왔을 때 좌절했습니다ㅋㅋ 참 뻔 생각을 개연성 있게 지었다고 좋아하다니 ㅠㅠ 그냥 얼버무리고 넘어갔는데, 좋은 취지이고 다들 읽는데도 혼자만 피하려심하기도 했습니다. 그럼에도, 이상하게 다음주에 늦게 오고 싶은 마음이 들기도...아...;ㅁ; 승 선배님의 Emacs & Elisp 세미나는 Eclipse와 Visual Studio가 없으면 뭐 하나 건들지도 못하는 저테 색다른 도구로 다가왔습니다. 졸업 전에 다양 경험을 해보라는 말이 특히 와닿았습니다. 준석 선배님의 OMS는 간단 와우 소개와 동영상으로 이루어져 있었는데, 두번째 동영상에서 공대장이 '바닥'이라 말하는 등 지시를 내리는게 충격이 컸습니다. 게임은 그냥 텍스트로 이루어진 대화만 나누는 줄 알았는데, 마이크도 사용하나봐요.. 그리고 용개가 등장 게임이 와우였단 것도 새삼 알게 되었고, 마지막 동영상은 정말 노가다의 산물이겠구나하고 감탄했습니다. - [강소현]
  • 회원정리 . . . . 45 matches
         어떤 기준에 의해서 정리가 되는 건가요? 그것이 회칙에 규정되어 있나요? 아니면 임의적으로 행해질 수 있나요? ["회원정리"]가 꼭 필요할까요? 회원정리를 당 사람은 회원정리를 사람(혹은 남은 사람들)과의 실 관계에 서먹해지진 않을까요? 위키의 홈페이지를 꼭 삭제해야 할까요?
         모임에 참가를 잘 못하고, 프로젝트 활동이 미진 사람에게 처벌이 필요하나요? 모임에 참가를 안하고 프로젝트 활동이 부진 것 자체가 일종의 처벌이 되는 경우는 없을까요? 처벌이 아니고 보상으로써 적극성을 이끌어 낼 수는 없을까요?
         번 강제 탈퇴 당 사람이 자기의 친구들이 자신이 관심있어 하는 내용을 공부하려고 사람을 모으는 걸 알았습니다. 과연 참여할 수 있을까요? 그 사람이 "제로페이지"라는 임의적 단체의 가상적 "선(線)" 때문에 함께 공부를 못다면, 그럴 가치가 있을까요?
         경영학에서는 최근들어 조직이론에 패러다임 이동이 있습니다. 흔히들 말하는 군대식, 위계식, 고정적 조직에서 네트워크식, 수평적, 동적 조직으로의 변화이지요. 이합집산이 쉬워졌습니다. 조직과 조직간, 개인과 개인간의 결합력(coupling)이 약해졌습니다. 하지만 번 모인 이상 응집력(cohesion)은 높습니다. 꼭 원하는 사람들만 모일 수 있죠. 대학사회에서도 비슷 현상들이 나타나고 있지 않나 생각합니다. 예전에는 뭔가 큰 조직에 발을 담궈놓아야 편안함과 안정감을 느꼈는데 이제는 그렇지 않습니다. "개인주의적"이라고 비판을 받기도 하지만 현실을 부정할 수는 없을 듯 합니다. 그렇다면 변화하는 패러다임에 맞는 동아리 활동은 어떤 모양새여야 할까요?
          저도 상당부분 동의합니다. 그런데 제가 아직 변화에 따르지 못하는 것인지.. 아니면 아직도 대학사회가 변하지 않는 것인지는 모르겠지만 비교적 저학년에 속해있고 스스로에 익숙치 않은 1,2학년들에게는 위와같은 모습을 기대하기가 생각만큼 쉽지는 않을것 같습니다. 물론 이미 대학을 거쳐(점차 대졸출신이 많아지므로 이렇게 말하겠습니다.) '비교적 스스로에 익숙' 사람들이 있는 사회에선 위와같은 모습을 기대할 수 있을 것이라는 것에는 공감을 하고 동의합니다. 만약 제가 시대의 흐름에 뒤따라가지 못하고 있다면 고쳐보고 싶습니다. (물론 학회차원에서가 아니라 개인적 차원에서입니다.. :) )
         (참고로 이것들은 번 생각해보자는 의미에서 꺼내는 질문들이지 어떤 비판을 목적으로 것이 아닙니다.)
          회원정리의 기준은 회칙에서 정해진 대로 '사전 연락없이 정모 연속 2회이상 불참' 에 근거하였습니다. 미처 게시판,위키에 연락하지 못하고 회장에게 연락 경우도 감안을 하였습니다. 또 프로젝트, 스터디 등을 하면서 ZeroWiki 상에서의 활동여부도 참작을 하였습니다. 활동사항이 전혀 없으면서 정모에 연속 2회이상 불참이 경우가 회원정리의 대상이었습니다.(공교롭게도 이렇게하여 나온 명단의 사람들은 정모에 2,3달 이상 불참하였습니다. 자진 탈퇴라고 보아도 될 정도로 말이죠. 아무런 연락도 없이 불참하였으니까요.) 분명히 정모를 하기 전에 '회원정리를 합니다' 라고 명시를 했었고 그에 대하여 아무런 의견도 없었습니다. 회칙을 정모에서 정했던 만큼 동의하는 것으로 간주하여 회원정리 당일 정모에 참여했던 회원들끼리 회칙 기준에 맞추어 회원정리를 단행하였습니다.
          그리고 사과의 말씀 FrontPage에도 올렸지만 다시번 드립니다. 일처리를 함에 있어 경솔하였고, 성급했던 점.. 그리고 회칙을 좀더 눈여겨 보지 않고 회원정리를 점에 대하여 회원들은 물론 선배들께 우려를 끼쳐드린점 죄송합니다. 이런 일이 없도록 하겠습니다. 같은 과친구들끼리 서로 웃으며 대하는 친구들끼리 회원정리라는 것때문에 실관계가 서먹해지는 것은 저도 우려하는 바입니다. 홈페이지까지 삭제하는 일은 지나치다는 생각이 들었습니다. 회원정리는 개개인의 추방을 목적으로 하는 것이 아니라 학회의 부흥을 목적으로 하기 때문입니다. 그리하여 상민이 형이 Delete This Page 대신에 ZeroPagers 를 ZeroWikian 으로 바꿔놓으며 차후 연락하여 활동재개의 여지를 남겨놓으신 일에 감사드리며, 형이 미쳐 손대지 못 홈페이지도 제가 마저 ZeroWikian 으로 바꿔놓았습니다. ZeroPagers 가 아니더라도 ZeroWikian 으로 같이 공부할 수 있다면 좋을 것입니다.
          창준이 형 말대로 제로페이지라는 임의적 단체의 가상적 선때문에 함께 공부하지 못다면 이 또 비극이 될 것입니다. 따라서 본의 아니게 지나친 조치들을 취했던 것 다시번 사과드립니다. 회원정리 대상의 친구들 또 차후 같이 공부할 수 있다면 그보다 더 반가운 소식은 없을 것입니다. 따라서그에 대 대안으로 함께 공부할 수 있는 여지를 남겨놓기 위해 앞서 말씀드린대로 ZeroWikian 으로 남겨두는 방안을 생각했습니다.(물론 제가 생각했다기 보단 상민이 형의 추가조치에 따른 것이지만요... :) )
          그리고 회원정리의 근거가 된 정모의 참여여부를 말씀드리자면 정모에 규칙적으로 나옴으로써 친목을 다져 스터디, 프로젝트 등의 활동에 활기를 불어넣고자 함이었습니다. 처리할 안건이 있으면 이날 모인 김에 처리할 목적도 있었구요. 그리고 정모를 '무 자유'로 할경우 참여가 저조하다는 지적이 있어 강제성을 부여하고자 '회원자격상실'이라는 처벌을 두게 된 것입니다. 2002.1에 제로페이지와 데블스의 통합할때 '학회활동의 저조함의 원인' 의 하나로써(전부가 아니라 일부라는 점을 다시 말씀드립니다.) 정모의 불참으로 인 회원들간의 결속력 상실을 꼽았던 걸로 기억합니다. Z&D 로 페이지 검색하면 나오는 페이지들이 당시 통합과정에서 남은 문서들입니다. 아무튼 그리하여 정모에 강제성을 두고자 회원자격박탈이라는 벌칙이 만들어졌고 일년이 지난 지금 시행하게 되었습니다.
          전체 회원들의 참여도를 높게 유지해야만 하는가에 대해서는 '예' 라고 하고 싶습니다. 물론 모두의 의미로 말씀드리는 것은 아닙니다. 거의다의 차원에서 말씀드립니다. 회원들 간에 참여도가 높은 사람들과 낮은 사람들이 생기는 것은 바람직 학회의 모습이 아니라고 봅니다. 보상이든 처벌이든 무엇으로 하든지 회원들의 참여도를 높게 이끌어가는 것이 학회의 모습이라고 생각합니다. 만약 학회내에 참여도가 높은 사람들과 아닌 사람들이 나뉠수 있게된다면 참여도가 낮은 사람들이 소외감을 느껴 결국은 ZeroPagers 라고 등록은 되어있지만 실질적으로 ZeroPagers 라고 보기 어렵게 될 것입니다. 이것은 결국 암묵적 회원정리가 됩니다. 이러 회원들을 '유령회원'이라고 하겠습니다.(참여도라는 말에는 활동의 활발함도 포함시킬 수 있겠습니다. 써놓고 보니 의미가 부족 것 같아 덧붙입니다.)
          유령회원들은 ZeroPagers 라는 이름으로 등록되어있지만 실제로 활동은 0에 가깝습니다. 아니 0 인 경우가 더 많겠지요. 이러 회원들을 굳이 ZeroPagers 에 포함시킬 이유는 없다고 봅니다. 학회는 살아있어야 다는 것이 제 입장입니다. 활동이 0에 가까운 사람들은 학회가 살아있도록 다기보단 학회의 인적규모만 표면적으로 늘릴 뿐 실질적 활동사항은 0에 가까워지게 다고 봅니다. '겉으로는 인원이 많은 거대규모의 학회, 하지만 안으로는 활동사항이 미진 학회.' 제가 보는 '망해가는 학회'의 모습입니다. 표현이 극단적일지는 모르겠으나 이렇게 되는 것은 하루아침에 되는 것이 아니라 서서히 참여도가 줄어들면서 만들어 질수 있는 모습이라고 생각됩니다. 이런 모습을 막기 위해서라도 회원정리라는 방법이 필요하다고 생각합니다.
          제 글에 이상 점이나 의문점이 있다면 언제든지 지적해주세요. 아직도 배울 점이 많은 후배입니다. 계속해서 관심가지고 조언해주시면 감사하겠습니다. ^^;
          경고는 회칙에 있지 않은 조치였습니다. 경고라기 보다는 앞으로 열심히 해달라는 식의 공지였습니다만 그럴만 정당성도 없거니와 할 이유가 없어 삭제하였습니다. 회원정리의 경우 회칙에 명시된대로 개인 연락을 하기로 하였습니다. --["창섭"]
          --다시 쓰기엔 번거롭기도 하고 페이지 낭비이기도 하므로 반복하지는 않겠습니다. 위의 창준이 형에대 제 답글을 읽어주세요. :) --["창섭"]
         회칙에 적혀 있는 내용에 의하면 '본인 의사로 회원 자격을 상실다'인것으로 알고 있습니다만. '정리대상'에 오른 회원들의 의사를 확인하였나요? (글을 보면, 회원정리가 먼저고 공지가 뒤에 이루어지는 것 같은데.. 이건 순서가 안맞는것 아닌가요?)
         이전 99년도 즈음에 소위 'Filtering' 이라는 말이 있었습니다. 초기에 우루루 몰리는 회원, 학기 반이 지난뒤 우루루 사라지는 현상을 보면서 일종의 회원정리 차원으로 일이죠. 하지만, 그 이후 학과 내 비 ZP 사람들이 ZP 에 대해 좋은 시선을 가질리는 없었습니다.
          --제가 위에 쓴 글들이 충분 답변이 되었으면 좋겠습니다. 충분하지 않다면 말씀해주세요... ^^; --["창섭"]
         중요건 저의 '지시' 가 아닙니다. ('지시'가 되어서도 안되고요.) 정말 중요건, 위에 나온 질문들에 대해 어떤 답을 만들어낼 것인가 입니다. --["1002"]
          결코 '지시'로 받아들이지 않습니다. 선배님들의 따뜻 충고로 받아들일 뿐입니다. 앞으로도 계속 지적해주시면 감사하겠습니다. :) --["창섭"]
  • 5인용C++스터디/소켓프로그래밍 . . . . 44 matches
         || 전화를 받기 위 '전화 번호' || IP주소 ||
         서버-클라이언트 환경을 만들기 위 과정을 서버측에서 보자면 다음의 과정을 거치게 된다.
          -> 클라이언트의 명령을 받아서 적절 서비스를 수행
          기초 클래스가 CAsyncSocket인 새로운 클래스 CListenSock, CChildSock을 새로 생성다.
          새로 추가된 두개의 클래스를 다음과 같이 편집다.
          [클래스위저드]의 CListenSock에 가상 함수 OnAccept()를 추가 후 다음 라인을 삽입다.
          [클래스위저드]의 CChildSock에 가상 함수 OnReceive()와 OnClose()를 추가 후 다음 코드를 삽입다.
          어플리케이션 클래스에 다음의 멤버변수와 함수 원형을 선언다.
          어플리케이션 클래스의 생성자에서 추가 멤버변수를 초기화다.
          그리고 나서 추가 멤버함수를 다음과 같이 정의다.
          다음으로 데이터 송수신 작업을 하는 함수를 추가다. 그 다음, 데이터 송수신 후 마무리 작업을 다.
          [리소스뷰]에서 다이얼로그 항목의 "IDD_SERVER_DIALOG"을 편집다.
          다이얼로그가 초기화될 때 서버로 작동하도록 CServerDlg 클래스의 OnInit Dialog()함수에 다음 코드를 삽입다.
          그리고 나서 [클래스위저드]의 CServerDlg에 IDC_SEND를 맵핑 후 다음 코드를 추가다.
          서버와 동일 방법으로 클라이언트 프로그램에서 사용할 소켓 클래스 CClientSock을 생성(기초 클래스: CAsyncSocket)다. 그리고 나서 [클래스위저드]의 CClientSock에 가상함수 OnReceive()와 OnClose()를 추가 후, 다음 코드를 삽입다.
          서버 접속시 필요 IP 주소를 입력받기 위해 [리소스뷰]에서 다이얼로그를 하나 추가 후 다음과 같이 편집다.
          [클래스위저드]를 실행하여 CConnectDlg 클래스를 새로 생성 후 CConnectDlg 클래스에 다음 변수를 추가다.
          그리고 [클래스위저드]의 CConnectDlg에 IDOK를 맵핑하여 사용자가 입력 IP 주소를 멤버변수 m_strAddress에 저장다.
          어플리케이션 클래스에 다음과 같이 멤버변수와 함수 원형을 선언다.
         어플리케이션 클래스의 생성자에서 추가 멤버변수를 초기화다.
  • AcceleratedC++/Chapter13 . . . . 44 matches
         ''(9.6절에 있는 기존의 프로그램을 이용다.)''
         몇 가지 추가사항을 제외하면 클래스와 다른 클래스가 동일 경우가 많다는 데에 착안해서 나온 개념이다.
         '''대학원생과 학부생의 성적의 공통적 요소만을 표현 Core Class'''
         '''대학원생에 관련된 점을 추가 Grad class'''
         Grad 클래스는 Core로 부터 파생되었다(Derived from), 상속받았다(inherits from), 혹은 Core는 Grad의 base class 이다 라는 표현을 사용다.
         상속받은 클래스는 그 부모클래스의 생성자, 소멸자, 대입연산자를 제외 그외의 모든 클래스의 요소를 물려받는다.
         또 파생 클래스는 부모 클래스의 메소드를 재정의 하여서 자신에게 맞도록 수정하여 동작하는 것을 허용다.
          private 보호 레이블로 지정된 멤버는 그 클래스 자체, friend 함수를 통해서만 직접적으로 접근이 가능하다. 이 경우 상속된 클래스에서는 부모 클래스의 private 멤버로의 접근이 필요데 이럴때 '''protected'''라는 키워드를 사용하면 좋다.
          상기의 클래스는 Grad의 멤버 함수로 부모 클래스의 read_common, read_hw의 함수를 그대로 상속받았다는 것을 가정다.
          Core::grade()를 사용하지 않고 grade()를 사용하게 되면 Grade:grade()를 재귀적으로 호출하여 어떤 결과를 리턴할지 예상하지 못다.
          || * 전체 객체에 대 공간을 할당 [[HTML(<BR/>)]] * 기본 클래스 생성자 호출, 기본클래스 공간 초기화 [[HTML(<BR/>)]] * 생성자의 초기설정자''( ): { 사이에 존재하는 것들 )''를 이용해서 파생클래스의 멤버 초기화 [[HTML(<BR/>)]] * 파생 클래스의 생성자의 본체를 실행다. ||
          Grad의 생성자는 Core의 생성자가 midterm, final을 초기화 다는 가정하에서 thesis만을 초기화하고 있습니다. 이러 초기화는 암묵적으로 행하여진다.
         compare(g, c); // Grad, Core레코드를 비교다.
         '''Grad 클래스가 사용가능 이유'''
         다시 말해서 Grad가 Core의 자식 클래스 이므로 Grad객체를 통해서 Core클래스의 함수를 바인딩시켜 사용하는 것이 가능하다는 뜻이다. ''(대신에 이 함수의 안에서는 Grad의 Core 의 요소들만을 취다.)''
          '''grade와 유사 기능을 하는 compare_grade 함수'''
          '''동적바인딩을 위 virtual키워드'''
          만약 일반형의 변수로 virtual함수를 호출하면 객체가 항상 가지 타입으로만 존재하기 때문에 정적바인딩이 된다. 그러나 포인터, 참조형의 경우 이렇게 할때에는 동적바인딩으로 동작하게 된다. 포인터의 형과 실제 포인터가 가리키는 데이터형이 다른일이 생기기 때문이다. 따라서 이 경우 virtual 멤버함수는 '''런타임에 동적으로 바인딩''' 된다.
          '''대신 virtual 키워드로 지정된 함수는 파생 클래스에서 반드시 재정의 되어야다는 특징이 있다.'''
          기본 타입에 대 포인터나 레퍼런스가 필요 곳에 파생 타입을 사용할 수 있다는 개념. 하나의 타입을 통해서 여러 함수들 중 하나를 선택하여 호출할 수 있다.
  • DPSCChapter3 . . . . 44 matches
          연관된 혹은 의존적인 객체들의 집합을 만들기 위 인터페이스를 제공다. 클라이언트가 구체적인 클래스들에 대 구체화
          패턴은 실제로 아주 간단하다. 문제 상황은 많은 부분들을 포함다. Abstract Factory 패턴이 적용될 수 있는 예제를 보도록
          부분들을 원다. 즉 Ford 자동차는 Ford 엔진과 변속장치를 가져야다. 이것은 Ford Family안의 부분들이다. 셋째, 우리는
          Ford parts,Toyota parts,Porsche parts 등등이다. 유사 클래스들이 클래스 구조를 통해서 확장된다. 각각이 적당 하위
          그리고 모든 faimily에서 같은 코드를 사용해서 부분들을(엔진,변속장치..) 얻는 것을 사용다.
          된 여러 종류의 클래스들 중 하나를 선택할 수 있도록 해주는 것을 의미다.
          Abstract Factory Pattern는 여러 개의 Factory중 하나를 선택할 수 있도록 해주는 것을 수행다. )
          적용하기에는 충분 수준의 추상을 제공하고 있다.
          우리는 CarPartFactory라는 추상 팩토리 클래스 정의를 하면서 패턴 구현을 시작다. 이것은 "구체적인 클래스들에 대
          구체화 없이 관계된 혹은 의존적인 객체 집합을 만들기 위 인터페이스를 제공하는" (Intent 부분에서 언급 내용)
          클래스이다. 그것은 추상적인 상품 생성 함수들(makeCar,makeEngine,makeBody)을 정의다. 그 때 우리는 상품 집합 당
          하나의 구체적인 팩토리 하위 클래스를 정의다. 각각의 하위 클래스들은 적당 부분을 만들고 반환하기 위해서 상품 생성
          함수를 재 정의다. 그래서 우리는 Object를 상속 새로운 하위 구조를 추가다.
          자동차 부분(part) 생성 메쏘드를 구현하기 위해서, 우리는 추상 팩토리 클래스로 시작다.
          그리고 이 메쏘드를 오버라이드하는 구체적인 하위 클래스를 추가다.
          Abstract Factory로, 부분들을(part) 결합시키는 것은 팩토리의 클라이언트가 하는 일이다. 팩토리는 부분들의(part) 하나의 집합의 (family)로 부터 나온다는 것을 보장다. 하지만, 팩토리는 단지 부분을(part) 반환하는 일만 할 뿐이다. 최종 상품은 팩토리가 조립하지 않는다. 그것은 클라이언트의 일이다. (우리는 Abstract Factory와 Builder 패턴 사이의 주요 차이점을 나중에 볼 것이다.)
          아직, 확실하지 않는 부분이 있다. CarAssembler는(factory 클라이언트) 어떻게 구체적인 CarPartFactory 하위 클래스의 인스턴스를 얻을 수 있을까? 그것은 특별 하위 클래스 자체를 소비자의 선택에 기초해서 인스턴스화 할 수 있을 것이다. 혹은 외부 객체에 의해서 팩토리 인스턴스를 다룰수도 있을 것이다.
          하지만, 두 경우에 자동차를 생성하기 위 코드와 그것의 컴포넌트 하위 부분은 여전히 같다. 즉, 모든 CarPartFactory 클래스들은 동일 메시지 프로토콜을(다형성)을 구현하기 때문에, 팩토리 클라이언트는 팩토리 타입이 무엇인지 상관하지 않고 호출을 할 수 있다. 그것은 단지 팩토리 프로토콜에 의해 제공되는 일반적인 메시지를 전송다.
          다형성의 힘 때문에, 클라이언트는 코드 구현을 번만 하면된다. ABSTRACT FACTORY PATTERN을 사용하지 않을 경우, 자동차 생성 코드는 다음과 같이 보일 것이다.(아주 비효율적인 코드)
          따라서, CarAssmebler를 만들기 위 자동차 종류가 무엇이고 그 하위 부분들이 무엇을 해야하고, 그것의 실제 부분의 인스턴스가 무엇을 수행해야 할지를 결정다. ABSTRACT FACTORY 해결은 우리가 CarAssembler 객체 밖의 모든 행동들을 추상화시킨다. 그리고 팩토리로 분리다. 특별 자동차 팩토리로 CarAssembler 확인을 후에, CarAssembler는 간단하게 구체적인 자동차와 하위 부분을 만들기 위 팩토리를 호출다.
  • ExtremeProgramming . . . . 44 matches
         초기 Customer 요구분석시에는 UserStory를 작성다. UserStory는 추후 Test Scenario를 생각하여 AcceptanceTest 부분을 작성하는데 이용다. UserStory는 개발자들에 의해서 해당 기간 (Story-Point)을 예측(estimate) 하게 되는데, estimate가 명확하지 않을 경우에는 명확하지 않은 부분에 대해서 SpikeSolution 을 해본뒤 estimate을 하게 된다. UserStory는 다시 Wiki:EngineeringTask 로 나누어지고, Wiki:EngineeringTask 부분에 대 estimate를 거친뒤 Task-Point를 할당다. 해당 Point 의 기준은 deadline 의 기준이 아닌, programminer's ideal day (즉, 아무런 방해를 받지 않는 상태에서 프로그래머가 최적의 효율을 진행다고 했을 경우의 기준) 으로 계산다.
         그 다음, 최종적으로 Customer 에게 해당 UserStory 의 우선순위를 매기게 함으로서 구현할 UserStory의 순서를 정하게 다. 그러면 UserStory에 대 해당 Wiki:EnginneringTask 를 분담하여 개발자들은 작업을 하게 된다. 해당 Task-Point는 Iteration 마다 다시 계산을 하여 다음 Iteration 의 estimate 에 적용된다. (해당 개발자가 해당 기간내에 처리 할 수 있는 Task-Point 와 Story-Point 에 대 estimate) (Load Factor = 실제 수행 날 / developer's estimated 'ideal' day. 2.5 ~ 3 이 평균) Iteration 중 매번 estimate 하며 작업속도를 체크뒤, Customer 와 해당 UserStory 에 대 협상을 하게 된다. 다음 Iteration 에서는 이전 Iteration 에서 수행 Task Point 만큼의 일을 할당다.
         Iteration 중에는 매일 StandUpMeeting 을 통해 해당 프로그램의 전반적인 디자인과 Pair, Task 수행정도에 대 회의를 하게 된다. 디자인에는 CRCCard 과 UML 등을 이용다. 초기 디자인에서는 세부적인 부분까지 디자인하지 않는다. XP에서의 디자인은 유연 부분이며, 초반의 과도 Upfront Design 을 지양다. 디자인은 해당 프로그래밍 과정에서 그 결론을 짓는다. XP의 Design 은 CRCCard, TestFirstProgramming 과 ["Refactoring"], 그리고 StandUpMeeting 나 PairProgramming 중 개발자들간의 대화를 통해 지속적으로 유도되어지며 디자인되어진다.
         개발시에는 PairProgramming 을 다. 프로그래밍은 TestFirstProgramming(TestDrivenDevelopment) 으로서, UnitTest Code를 먼저 작성 뒤 메인 코드를 작성하는 방식을 취다. UnitTest Code -> Coding -> ["Refactoring"] 을 반복적으로 다. 이때 Customer 는 스스로 또는 개발자와 같이 AcceptanceTest 를 작성다. UnitTest 와 AcceptanceTest 로서 해당 모듈의 테스트를 하며, 해당 Task를 완료되고, UnitTest들을 모두 통과하면 Integration (ContinuousIntegration) 을, AcceptanceTest 를 통과하면 Release를 하게 된다. ["Refactoring"] 과 UnitTest, CodingStandard 는 CollectiveOwnership 을 가능하게 다.
          * On-site customer: 같은 작업실 내에서 프로그래머와 커스터머가 언제든지 대화할 수 있도록 보장다.
          * UserStory: 사용자 관점에서 시스템의 행위에 대 간략 서술
          * ThePlanningGame: 개발자는 UserStory들에 대해서 구현, 예측, 지시들에 대해 토론다.
          * UnitTest: 모든 클래스들에 대 자동화된 테스트 코드들.
          * TestDrivenDevelopment : Programming By Intention. 프로그래머의 의도를 표현하는 테스트코드를 먼저 작성다. 그렇게 함으로서 단순 디자인이 유도되어진다. (with ["Refactoring"])
          * ["Refactoring"] : 코드를 향상시키기 위 프로세스
          * PairProgramming: 프로그램코드는 두명 (driver, partner)이 하나의 컴퓨터에서 작성다.
          * SpikeSolution: 주어진 문제에 대 구현의 난이도를 예측하기 위 작은 실험 프로그래밍.
          * CollectiveOwnership: 누구든지 어떠 오브젝트건 고칠 수 있는 권리를 가진다.
          * CodingStandard: CollectiveOwnership 을 위. 누구나 이해하기 쉽도록 코딩스타일 표준의 설정.
          * ContinuousIntegration: 매일 또는 수시로 전체 시스템에 대 building 과 testing을 수행다.
          * ["Metaphor"] : Object Naming 과 프로그램의 해당 수행에 대 커뮤니케이션의 가이드 역할을 해줄 개념의 정의.
          * Forty-hour week: 지친 심신은 실수를 만들어낸다. 가능하면 초과근무를 피다.
          * http://extremeprogramming.org - 처음에 읽어볼만 전체도.
         위의 전체 그림을 번 정리해 보고 싶어서 추가함
  • Spring/탐험스터디/2011 . . . . 44 matches
          * [Spring]의 핵심 가치와 원리에 대 이해
          * 세미나가 아니라 각자가 공부 것을 바탕으로 공유하고 정답을 찾아나가는 스터디
          * 스터디 모임에서는 각자 주간 학습하고 과제를 수행 경험을 공유하고 궁금증을 해결
          * 코치 참석 여부와 상관없이 스터디를 정시에 시작다.
          * 스터디 대상이 매우 방대하므로 충분 개인적인 학습과 과제 수행, 그리고 스터디 모임에서 많은 질문을 할 것
         21일에 것들
          1.3 테스트 가능 프로그램 : 모듈화가 잘 되어있어야 함(관심사 분리) 모듈을 먼저 만들어서 테스트하고 후에 조립을 다. TDD 개발시 TDD이전에 테스트 가능 프로그램을 만들어야 다.
         4일에 것들
          1.1 RESTful : 이기종간 통신. RESTful 웹서비스는 리소스 URI를 알면 웹서버와 웹클라이언트의 종류에 상관없이 HTTP 프로토콜만으로 접근 가능 서비스라 할 수 있다. 리소스 하나에 하나의 URL을 할당해놓았다.
          1.3 Resttemplate : spring에서 RESTful에 접근하기 위 template. spring에서 데이터를 받아오는 방법.
          * 14일에 것들
          1.1. 전략 패턴 : 전략(알고리즘)의 분리를 다는 의미. 언어에 따라 패턴을 적용하는 방법이 조금씩 다를 수도 있다. 책에서는 interface를 사용해서 전략을 분리하였는데, 이것은 자바에 어울리는 전략의 분리라고 다.
          1.2. Runtime Injection : 다형성을 만들기 위해서 사용 방법. 개인적으로 코딩할 때 다형성의 사용이 좀 부족하다고 느꼈는데, Runtime시에 오브젝트간의 관계를 맺게 하지 않고 그냥 클래스에 맞춘 코딩을 했기 때문인 것 같다. 앞으로 코딩을 하는데 머릿속에 넣어두고 자주 써 보는 것이 좋을 것이라 생각된다.
          - HomeController는 MVC 모델의 컨트롤러로 뷰에 모델을 바인딩하는 역할을 담당다. home() 메소드 내부의 Welcome home!은 logger에 찍히는 문자열이기 때문에 실제로 실행시에 보이는 것은 아니다. HomeController가 하는 주된 역할은 return "home";을 함으로써 HomeController를 사용하는 쪽에서 home.jsp(뷰)를 찾을 수 있게 하는 것이다.
          * 이후에
          1.1. 우선 MySQL을 받아서 설치다.
          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.1. 우선 책에서 외부 라이브러리를 사용하고 있는데, STS에는 필요 라이브러리가 들어있지 않은 것 같다. 이쪽 페이지(http://www.tutorials4u.net/spring-tutorial/spring_install.html)를 보고 라이브러리를 받아야 다. 받아서 압축을 풀고 spring-framework-3.0.5.RELEASE/dist 폴더에 있는 jar 파일들을 프로젝트에 포함시켜주면 AnnotationContext, AnnotationConfigApplicationContext, @Configuration, @Bean 등을 사용할 수 있게 된다.
          * 21일에 것들
  • ZeroPage_200_OK . . . . 44 matches
          * 위에 링크 저의 Workspace Project의 index.html 파일에 메뉴 샘플을 구현해두었습니다. 상단의 Preview로 확인하면서 적절히 참조해서 만들면 도움이 될겁니다.
          * [정진경] - c9.io는 필요할 때 먹통이 되네요... 실습 테마가 웹 게임 제작이면 Challengers의 콘텐츠를 보강하기 위해 인공지능으로 플레이가 용이 게임을 기획해야겠습니다...ㅋㅋ
          * 웹은 다양 이론적 배경을 바탕으로 탄생하고 발전해 왔습니다. 우리 스터디에서는 그런 통합적인 지식을 바탕으로 여러분들에게 현재의 웹 기술에 대 이해는 물론이고 웹 이후의 새로운 경향을 고민하고 연구하기 위해 필요 단서를 제공하는데 목표를 두고 있습니다. 물론 굳이 모르고 있어도 단순 웹 개발을 하는데 무리는 없으나, 관련된 문제해결 과정이나 새로운 기술 이해를 위해서 중요 능력이 될 수 있습니다.
          * form 관련으로 사용자 입력을 받을 수 있었던 부분 실습을 주로 배웠습니다. 근데 궁금게 도중에 html5 얘기를 하시면서 <a href=""><button>abc</button></a> html5에서는 이렇게 사용할 수 있는데 이런게 자바스크립트를 쓸 수 없는 경우에 된다고 하셨는데 그럼 원래 버튼의 onclick같은 on~는 자바스크립트인건가요? - [서영주]
          * 이번 주제는 형진이형테 여러번 들었던 내용이었네요. 확실히 여러번 들으니까 무슨 이야기를 하는지 조금 더 빠르게 이해할 수 있었던 것 같습니다. 그리고 지난번 들을 때에는 궁금게 생각 안 났었는데 이번엔 궁금게 생기더군요. 뭐지 -ㅅ-;; ㅋㅋ 다만 다음주에 할아버지 팔순이라 참여를 못 하게 되어서 좀 아쉬울 뿐.. -_-a 그리고 공모전과 관련해서 끝나고 이런 저런 이야기가 많이 나왔었는데, 잘 진행되어 우리 잘 하고 있어요~ 라는 모습을 보여줬으면 하네요 - [권순의]
          * 개인적으로 이래저래 많이 듣기만 용어들(쿠키, 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이 다시 만들어져서 핸들러가 전부 다 사라진다는 것도 기억을 해둬야겠습니다. - [서영주]
          * 자바스크립트에서 객체를 표현하기 위 표기법.
          * 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() 안에 넣어주어야 다.
          * 이벤트 메소드 - 이벤트 메소드에 함수를 인자로 주지 않고 실행시키면 이벤트를 발생시키는 것이고, 함수 인자를 주고 실행시키면 이벤트 핸들러에 해당 함수를 등록다. (ex. $(".add_card").click() / $(".add_card").click(function() { ... }))
          * live() - 처음에 ready() 때에 이벤트 핸들러를 걸어주는 식으로 코드를 짰을 경우 중간에 생성 객체에는 이벤트 핸들러가 걸려있지 않다. 하지만 ready()에서 live() 메소드를 사용해서 이벤트 핸들러를 걸 경우 매 이벤트가 발생 때마다 이벤트 핸들러가 걸려야 할 객체를 찾아서 없으면 이벤트 핸들러를 알아서 걸어준다. 하지만 처음에 핸들러를 걸어주는 것과 비교해서 비용이 다소 비싸다.
          * CSS -> HTML -> JavaScript 순서로 html을 작성다. - CSS가 뒤에 있으면 HTML 렌더링을 후에 CSS가 적용된다. JavaScript가 앞에 있으면 JavaScript가 다 받아지고 나서 뒷부분이 실행되기 때문에 속도에 문제가 있을 수 있다.
          * Script의 요청 - import에 대 요청은 병렬적으로 이루어지지만 뒤쪽의 요청이 먼저 처리되더라도 앞쪽 요청이 처리되기 전까지는 대기해야 다.
  • 새싹교실/2012/AClass/3회차 . . . . 44 matches
         1~5.www.koistudy.net 코이스터디 100번~104번까지 Accept받기(등업이 안되어 있으면 그 문제의 소스를 저테 보내주세요)
         9.포인터를 이용 예제코드 하나를 짜 보세요.
         (rand()%1000을 다면 1에서 1000까지의 숫자가 나올 것입니다.)
         -linear search란 리스트의 처음부터 하나씩 비교하여 찾아가는 선형탐색을 말다.
         12.이번시간에 배웠던 내용을 바탕으로, int* a; int b;로 선언했을때 &a,a,*a,&b,b에 관해서 각각 설명하고, 어떤 것이 어떤 것과 일치하는 것인지를 이해할 수 있도록 쉬운말로 정리해보세요.(예제 코드를 작성 후에 테스트해보고 써보는 것도 좋은 방법일 것입니다.)
         - *a가 b를 가리키는 포인터도 선언 되었다면, &a는 a의 주소값, a는 메모리 안에 있는 값(즉, b의 주소값-포인터의 정의), &b는 b의 주소값, b는 메모리 안에 있는 값(할당 값),a=&b와 같다. 둘다 b의 주소값을 나타낸다.*a=b와 같고 b에 할당 값과 같다.
         1.구조체가 무엇인지 알아보고, 간단 구조체 하나를 만들어보세요.
         - 다른 종류의 데이터를 하나로 묶어서 사용하는 데이터 결합법을 구조체라고 다. 구조체는 같은 자료형을 묶어서 다면 구조체는 다른 자료형을 묶어 사용다.
         malloc을 후에는 free을 호출해서 메모리에 할당하였던 것을 풀어주어야 다. 그렇지 않으면 메모리에 남겨서 필요할때 사용할수가 없다.
         - 포인터의 주소를 가리키는 포인터를 이중포인터라고 다.
         4.스택, 큐가 무엇인지 설명하고, 이를 이용 간단 예제를 만들어보세요.
          for(j = front ; j < 5; j++){ //엔터를 번씩 누르면 값이 차례대로 빠짐
         1~5.www.koistudy.net 코이스터디 100번~104번까지 Accept받기(등업이 안되어 있으면 그 문제의 소스를 저테 보내주세요)
         9.포인터를 이용 예제코드 하나를 짜 보세요.
         (rand()%1000을 다면 1에서 1000까지의 숫자가 나올 것입니다.)
         12.이번시간에 배웠던 내용을 바탕으로, int* a; int b;로 선언했을때 &a,a,*a,&b,b에 관해서 각각 설명하고, 어떤 것이 어떤 것과 일치하는 것인지를 이해할 수 있도록 쉬운말로 정리해보세요.(예제 코드를 작성 후에 테스트해보고 써보는 것도 좋은 방법일 것입니다.)
         1.구조체가 무엇인지 알아보고, 간단 구조체 하나를 만들어보세요.
         ‘힙’에 메모리를 할당하는 것을 두고 동적 할당 이라 다.
         이중 포인터는 싱글 포인터의 주소 값을 저장하기 위 용도로 사용되는 포인터이다.
         4.스택, 큐가 무엇인지 설명하고, 이를 이용 간단 예제를 만들어보세요.
  • 정모/2011.3.14 . . . . 44 matches
          * 포스트잇 명당 3개씩 받아 각 포스트잇에 지난주에 있었던 일을 하나씩 쓴다.
          * 이 때 두가지는 실제 있었던 일로 가지는 거짓말로 작성다.
          * 사람씩 돌아가며 지난주에 있었던 일을 소개하고 질문을 받는다.
          * 정답을 공개다.
          * 예를 들면 모든 강의를 영상으로 녹화하여 공개다던가
          * 혹은 새싹 교실에서 진행 프로젝트를 공개다던가
          * 기타 다양 방법
          * 다양 시도
          * 올해 들어 ZeroPage에 다양 새로운 시도들을 하고 있다. …그러다보니 시행착오도 많다.
          * 새싹 교실에 신청 새내기가 40명이 넘어 어쩔 수 없이 선생님에게 많은 학생 배정.
          * 달에 피드백 2개를 못 채우면
          * 제로페이지에 대 기여도를 회원 기준으로 본다는 의미입니다^^ -[서지혜]
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 중반무렵에 들어가긴 했지만, ZP모임에 처음, (그리고 아마 11학번 최초!) 참석해 봤어요. 들어갔을때는 선배들이 '대안언어축제'에 대해서 말하고 계시던데, 종하형테서 몇마디 들었던 터라 그게 그거일거라 생각하고 들었지요. 제 추측에는 다른 컴퓨터 언어에 대 세미나 같은거였으리라 생각하는데... 아무튼, 그렇게 몇마디 듣고서 ZP정회원이 되는 방법 (피드백 10개를 받으면 정회원이 된다! 라고 하는데, 정확히 무엇인지는 다시 알아봐야겠구요. 정회원 자격유지 요건이 뭐 2번 하는거라고 했는데.. 돈으로도 떼울 수 있다는 소리는 기억나네요. 이런 정모, 재밌게 진행된다면 정말 재밌게 즐길 수 있을거 같아서 계속 참여해보고 싶네요.
          * Fact는 중간중간에 껴넣을 것임으로 생략합니다. 중간에 가느라고 대안언어축제 공유를 참가하지 못게 아쉬웠어요ㅠ_- IceBreaking에 충격적 진실 소재가 있어서 더 즐거웠어요 (조폭이었던 형님과 술먹음 ㅋㅋㅋㅋ) 현이의 OMS 진행 때 전자교탁 컴퓨터가 원활하게 돌아가지 않아서 시간이 좀 깎아먹힌게 아쉬웠어요. 전자교탁 좀 안된다 싶을때 기호 컴퓨터로 바로 세팅 시작했으면 더 좋았을거 같아요. (어차피 전자교탁으로 해도 퀵타임은 깔아야하지 않았나;) 제 생각이지만 본래 발표같은거 준비할때 학교 등의 사전답사가 안된 장비는 믿지 않는게 정석입니다. 다음 정모때 세미나 섭외했는데 많이들 오셨으면 좋겠어요 - [지원]
          * Ice Breaking 때 스펙타클 거짓말을 썼는데 "달을 다녀왔다" 라고 썼습니다. 물론 고쳤지만요.ㅋㅋ 그리고 이번 Ice Breaking은 시간이 좀 길어진게 흠이지만 참 재밌었습니다. 이번 정모 때 가장 인상적인건 현이의 옵젝C 였습니다. 중간에 "함수 오버로딩은 지원 안하나요?" 라고 물어봤었는데, "언어의 특징 상 지원할 필요가 없다" 라고 현이가 답해줬습니다. 대답을 들으면서 '''"아, 난 그동안 언어의 특징을 너무 무비판적으로 수용 것이 아닌가?"''' 라는 생각을 하게 되었습니다. '''"객체지향 언어는 당연히 함수 오버로딩을 구현해야 다"'''는 선입견이 있었거든요. 저에게 심심 충격이 됐습니다. 다른 OOP Language 중 오버로딩을 구현 비율이 얼마나 되는지 번 찾아봐야 겠습니다 ㅋㅋㅋ - [박성현]
          * 현이가 기부 Objective-C 표지가 재미있었어요. 방학때 공부하고 싶어요. - [박성현]
          * 솔직히 Ice Breaking할때 저번 주에 재미난 일이 생각이 안나서 어떻게 대충 쓰다보니 너무 자명 거짓말을 써 버렸습니다ㅋㅋ OMS할때 Objective-C에 대해 하나도 몰라서 초반의 Obj-C의 클래스 선언 방법이나 문법에 대해서는 이해를 했지만 뒤에 가서는 이해가 안가는 부분이 대다수였던 것 같네요. ZP책장에 Obj-C 책을 넣어 뒀다고 하니 언젠간 번 꺼내서 읽어봐야겠습니다. - [신기호]
          * 앗 자명 거짓말... 그런데 저는 못맞췄어요ㅠㅠㅠ Objective-C에 관심을 갖게되신 분들이 많네요! 방학때 스터디를 하는 건 어떨까요? - [김수경]
          * 그간 PNA를 별로 시덥잖게 생각하다가, 이번에 후기를 듣고 나서 꼭 번쯤은 가봐야겠다는 생각이 '''강하게''' 들었습니다. (딱히 M모 기기 때문은 아닙니다. 정말로.) 다음 주에 할 [http://extaccess.cyrusian.com/zeropage/keyword.php 키워드 전기수]가 기대됩니다. :) - [황현]
  • 프로그램내에서의주석 . . . . 44 matches
          아..["Refactoring"] 하라는 거군요.. 사실 설계 자체에서도 빠진 상태라 전체 구조 이해하는데 가장 크게 애를 먹었습니다. 아무튼 진짜 이해 후에 코드를 수정해 놓는 것도 좋은 방법인건 분명하다고 생각합니다. ^^; --창섭
         처음에 Javadoc 을 쓸까 하다가 계속 주석이 코드에 아른 거려서 방해가 되었던 관계로; (["IntelliJ"] 3.0 이후부턴 Source Folding 이 지원하기 때문에 Javadoc을 닫을 수 있지만) 주석을 안쓰고 프로그래밍을 게 화근인가 보군. 설계 시기를 따로 뺀 적은 없지만, Pair 할 때마다 매번 Class Diagram 을 그리고 설명했던 것으로 기억하는데, 그래도 전체구조가 이해가 가지 않았다면 내 잘못이 크지. 다음부터는 상민이처럼 위키에 Class Diagram 업데이트된 것 올리고, Javadoc 만들어서 generation 것 올리도록 노력을 해야 겠군.
         약간 변명이라면, 개인적 경험에서는 주석이 달린 코드는 주석에 시선이 먼저가고, 주석이 없는 코드에는 함수 프로토타입에 시선이 먼저간다라는 것. 하지만, 의도가 전해지지 않았다면 역시 뭐 무의미것이겠지. --석천
         내가 가지는 주석의 관점은 지하철에서도 언급 내용 거의 그대로지만, 내게 있어 주석의 주된 용도는 과거의 자신과 대화를 하면서 집중도 유지, 진행도 체크하기 위해서 이고, 기타 이유는 일반적인 이유인 타인에 대 정보 전달이다. 전자는 command.Command.execute()이나 상규와 함께 달은 information.InfoManager.writeXXX()위의 주석들이고,후자가 주로 쓰인 용도는 각 class 상단과 package 기술해 놓은 주석이다. 그외에 class diagram은 원래 아나로그로 그린것도 있지만, 설명하면서 그린건 절대로 타인의 머리속에 통째로 저장이 남지 않는다는 전제로, (왜냐면 내가 그러니까.) 타인의 열람을 위해 class diagram의 디지털화를 시켰다. 하는 김에 그런데 확실히 설명할때 JavaDoc뽑아서 그거가지고 설명하는게 편하긴 편하더라. --["상민"]
         자바 IDE들이 Source Folding 이 지원하거나 comment 와 관련 기능을 지원다면 해결될듯. JavaDoc 은 API군이나 Framework Library의 경우 MSDN의 역할을 해주니까. --석천
         자네의 경우는 주석이 자네의 생각과정이고, 그 다음은 코드를 읽는 사람의 관점인 건데, 프로그램을 이해하기 위해서 그 사람은 어떤 과정을 거칠까? 경험이 있는 사람이야 무엇을 해야 할 지 아니까 abstract 클래스 이름이나 메소드들 이름만 봐도 잘 이해를 하지만, 나는 다른 사람들이 실제 코드 구현부분도 읽기를 바랬거든. (소켓에서 Read 부분 관련 블럭킹 방지를 위 스레드의 이용방법을 모르고, Swing tree 이용법 모르는 사람에겐 더더욱. 해당 부분에 대해선 Pair 중 설명을 하긴 했으니)
         그리고 개인적으론 Server 쪽 이해하기로는 Class Diagram 이 JavaDoc 보는것보다 더 편했음. 그거 본 다음 소스를 보는 방법으로 (완벽하게 이해하진 않았지만.). 이건 내가 UML 에 더 익숙해서가 아닐까 함. 그리고 Java Source 가 비교적 깨끗하기에 이해하기 편하다는 점도 있겠고. (그래 소스 작성 사람 칭찬해줄께;) --석천
          좌절이다. 일단 자네 의견에 동의 정도가 아니라 같은 의도의 말이었다. 위의 자네 말에 대 내가 의미를 불확실하게 전달거 같아서 세단락 정도 쓴거 같은데.. 휴 일단 다시 짧게 줄이자면, "프로그래머의 낙서의 표준"인 UML과 {{{~cpp JavaDoc}}}의 출발은 아예 다르다. 자네가 바란건 디자인 단위로 프로그래밍을 이해하길 원거 같은데, 그것을 {{{~cpp JavaDoc}}}에서 말해주는건 불가능하다고 생각다. Sun에서 msdn에 대응하기 위해(?) {{{~cpp JavaDoc}}}이 태어난것 같은데 말이다. [[BR]]
          하지만, "확실히 설명할때 {{{~cpp JavaDoc}}}뽑아서 그거가지고 설명하는게 편하긴 편하더라."라고 말 풀어쓰는 건데, 만약 디자인 이해 후에 코드의 이해라면 {{{~cpp JavaDoc}}} 없고 소스만으로 이해는 너무 어렵다.(최소 나에게는 그랬다.) 일단 코드 분석시 {{{~cpp JavaDoc}}}이 나올 정도라면, "긴장 완화"의 효과로 먹고 들어 간다. 그리고 우리가 코드를 읽는 시점은 jdk를 쓸때 {{{~cpp JavaDoc}}}을 보지 소스를 보지는 않는 것처럼, 해당 메소드가 library처럼 느껴지지 않을까? 그것이 메소드의 이름이나 필드의 이름만으로 완벽 표현은 불가능하다고 생각다. 완벽히 표현했다면 너무나 심 세분화가 아닐까? 전에 정말 난해 소스를 분석 적이 있다. 그때도 가끔 보이는 실낱같은 주석들이 너무나 도움이 된것이 기억난다. 우리가 제출 Report를 대학원 생들이 분석할때 역시 마찬가지 일것이다. 이건 궁극의 Refactoring문제가 아니다. 프로그래밍 언어가 그 셰익스피어 언어와 같았으면 하기도 하는 생각을 해본다. 생각의 언어를 프로그래밍 언어 대입할수만 있다면야.. --["상민"]
         난해 코드일수록 주석이 필요 것일것이고 (또는 그 반대로 쉽게 알아볼 수 있도록 짤 방법을 강구해야 다면 억지쓰는 것이려나.) 개인적으로 읽어본 가장 긴 낯선 코드가 3000~4000 라인을 못넘어 본 관계로 아직은 '정리' 단계로만 끝날 것 같다. CVS 의 history 가 코드 진화과정을 따라가는데 도움을 줄것이라고 생각했지만, 아직은 먼 이야기일듯.
         내가 Comment 와 JavaDoc 둘을 비슷 대상으로 두고 쓴게 잘못인듯 하다. 두개는 좀 구분할 필요가 있을 것 같다는 생각이 들어서다. 내부 코드 알고리즘 진행을 설명하기 위해서는 다는 주석을 comment로, 해당 구성 클래스들의 interface를 서술하는것을 JavaDoc으로 구분하려나. 이 경우라면 JavaDoc 과 Class Diagram 이 거의 비슷 역할을 하겠지. (Class Diagram 이 그냥 Conceptual Model 정도라면 또 이야기가 달라지겠지만)
          그리고, JDK 와 Application 의 소스는 그 성격이 다르다고 생각해서. JDK 의 소스 분석이란 JDK의 클래스들을 읽고 그 interface를 적극적으로 이용하기 위해 하는 것이기에 JavaDoc 의 위력은 절대적이다. 하지만, Application 의 소스 분석이라 다면 실질적인 implementation 을 볼것이라 생각하거든. 어떤 것이 'Information' 이냐에 대해서 바라보는 관점의 차이가 있겠지. 해당 메소드가 library처럼 느껴질때는 해당 코드가 일종의 아키텍쳐적인 부분이 될 때가 아닐까. 즉, Server/Client 에서의 Socket Connection 부분이라던지, DB 에서의 DB Connection 을 얻어오는 부분은 다른 코드들이 쌓아 올라가는게 기반이 되는 부분이니까. Application 영역이 되는 부분과 library 영역이 되는 부분이 구분되려면 또 쉽진 않겠지만.
         이번기회에 comment, document, source code 에 대해서 제대로 생각해볼 수 있을듯 (프로그램을 어떻게 분석할 것인가 라던지 Reverse Engineering Tool들을 이용하는 방법을 궁리다던지 등등) 그리고 후배들과의 코드에 대 대화는 익숙 comment 로 대화하는게 낫겠다. DesignPatterns 가 서도 나온다고 하며 또하나의 기술장벽이 내려간다고 하더라도, 접해보지 않은 사람에겐 또하나의 외국어일것이니. 그리고 영어가 모국어가 아닌 이상. 뭐. (암튼 오늘 내일 되는대로 Documentation 마저 남기겠음. 글쓰는 도중 치열하게 Documentation을 진행하지도 않은 사람이 말만 앞섰다란 생각이 그치질 않는지라. 물론 작업중 Doc 이 아닌 작업 후 Doc 라는 점에서 점수 깎인다는 점은 인지중;) --석천
         DeleteMe)위에 좌절인 이유를 안써놨는데, 상세히 각 종류별로 생각을 적어 놓았는데, commit시에 충돌이 나서 먹어 버렸어. 하..하..하 ... 암튼 이번에 프로그래밍을 하면서 생각 컨셉들을 서로 설명하면서 같이 말해야 겠군. [[BR]]
         주석이 실행될 수 있는 코드가 아니기 때문에, 반드시 코드가 주석대로 수행된다고 볼 수는 없지만 없는것 보다는 낳은 경우도 많다. 코드 자체는 언어의 subset 이기 때문에 아무리 ''코드가 이야기다(code tells)''라 할지라도 우리가 쓰는 언어의 이해도에 미치기가 어렵다. 이는 마치, 어떤 일을 함에 있어서 메뉴얼이 존재함에도 불구하고 경험자에게 이야기를 듣고 메뉴얼을 볼 경우, 그 이해가 쉽고 빠르게 되는것과 비슷하다.
         프로그램에 있어 주석이 하는 순기능을 하나 더 찾아볼 수 있다. ''메마른 코드속에서 사람의 숨결을 느끼게 해준다.'' 유머가 없는 세상을 생각해보라. 얼마나 끔찍가.
         예를 들어 다음의 코드를 살펴보자(회사에서 누군가 작성 코드)
          // 자살다.
         // 입양을 갈때, 자식들은 항상 데리고 다니지만, 부모나 형제와는 떨어지는 것을 원칙으로 다.
         // 새식구를 받을때, 먼저 부모 자식간의 관계를 정립 다음, 형제간의 서열을 정립다.
  • Bigtable기능명세 . . . . 43 matches
          1. ISSUE : 평균+일정 수치를 이용 계산식 필요
          1. source는 target에게 정해진 갯수만큼의 태블릿을 리스트로 이름전달 ( 연속된 태블릿을 전달다)
          1. 자신의 태블릿 리스트에서 전달 태블릿들을 삭제
          1. 클러스터의 로드가 적어서 하나의 TS가 커버할 수 있는 정도도 로드 밸런싱이 필요가?
          1. 마스터는 주기적으로 TS들의 태블릿 리스트를 스캔다.
          1. 스캔 태블릿 리스트들과 메타태블릿(루트태블릿이었나?)과 비교해 누락된 태블릿 리스트가 있는지 검사
          1. target들을 정다. (어떤 기준으로? 몇개나?)
          1. traget들에게 직접 태블릿 리스트를 전달다.
          1. source는 target에게 성공 메세지를 받으면 자신의 태블릿 리스트에서 전달 태블릿들을 삭제다.
          1. source는 마스터에게 성공 메세지를 보내 마스터를 업데이트다.
          1. 마스터는 메타태블릿을 업데이트다.
          1. 로드 밸런싱 중간에 target이 다운된다면 : 마스터는 로드밸런싱을 위해 다른 target을 선택. 이후 TS 복구를 다.
          1. 무 읽기 시도 -> DFS 부하 증가
          1. 읽기 실패 태블릿 삭제요청 -> 정보 손실
         태블릿의 삽입(혹은 split)이 있을 때마다 마스터(또는 TS 스스로)가 b+ 트리를 갱신다.
         마스터의 스캔요청에 대 응답. TS가 관리중인 모든 태블릿의 리스트를 마스터에게 전달다.
          1. TS가 자신이 관리하고 있는 태블릿의 리스트들을 전달다.
          1. 검색결과들을 '''merge'''다.
         크기 제(2GB) 필요
         원형 자료구조를 사용해 공간의 재활용필요 -> 바퀴 돌아서 공간이 없어지면 memtable들의 minor compaction이 필요하다.
  • WOWAddOn/2011년프로젝트/초성퀴즈 . . . . 43 matches
         Eclipse에서 Java외의 다른것을 돌리려면 당연 인터프리터나 컴파일러를 설치해주어야 다. 그래서 Lua를 설치하려했다. LuaProfiler나 LuaInterpreter를 설치해야다는데 도통 영어를 못읽겠다 나의 무식함이 들어났다.
         당연히 글의 초성을 빼올수 있어야다.
         그래서 찾아봤더니 UTF-8방식으로 빼올수 있다고 다.
         근데 이상데 UNICODE에서 계산해서 빼오더구만.
         추가 : 알고보니 UNICODE를 포함하는 방식중 하나라고다. 근데 더 모르겠는데... U-00000800 - U-0000FFFF 범위에 들어간다고 하는데??
         거기서 글을 빼온후 UTF-8에 따라 0xACC00 (<- UTF-8시작) 을 빼고 초성 중성 종성을 다음으로 빼온다
         기본적으로 "/World of Warcraft/interface/addons/애드온명" 으로 폴더가 만들어져있어야다.
         toc에 정보를 넣어주어야다.
         신기데?
         WOW는 WOW API를 소개해주는 wiki를 가지고 있고 API를 가보면 다양것들이 있다.
         또 Widget과 LuaFunction의 사용정보를 볼수 있다.
         여기서 아이템 초성 퀴즈의 기본은 아이템 이름 DB를 검색할수 있어야다. 근데 WOW아이템은 현재 아이템 넘버만 7만을 넘는다. 중간중간 비어있는 index도 있다. 이게 뭥미. 아마 suffix때문일것으로 예상된다. suffix란 아이템에 부가적으로 붙은 옵션을 item index에수치화 것을 부르는 말인데 그것에 따라 아이템의 index가 결정되는것 같더라. (아직 정확히는 모른다)
         그리고 아이템 리스트를 꺼번에 뽑는것을 지원해주는 것이 아니라서 누구드랍, 블루아이템 같은 애드온은 심지어 아이템 ID와 캐시 정보까지 구해놓고 있더만.. 까보고 놀랐네.
         아직 WOW addon에 대해서 모르는것도 있고. WOW에서 사용하는 몇몇 자료구조가 특이건 알겠다. 젠장. Item에 뭔 부가정보가 그렇게 많이 붙어!! 여튼 그것에 대해서는 번 다시 다루어보아야겠다.
         HelloWoW를 수정해서 만든것을 번 다시 보자
         우선 일단 아직 아이템 번호는 7만을 넘지 않는다 wow아이템정보에 관건 나중에 조사하기로 하고 그래서 i 는 와우 일반 item의 최소 시작값인 '낡은쇼트단검' 25부터 시작해서 1만개의 아이템을 검색해서 base테이블에 개씩 저장해서 출력다.
         결과는 잘된다. 조금 느리겠지만 이걸 DB화해서 저장해놓았다가 해도 좋을듯 다. 최적화따윈 우선 버리고 해보자.
         헤더 바이트의 값의 범위로 UTF-8 글자의 바이트 수 알아내기
         다시번 말하자면 글은 3byte이다.
         자 이제 글을 받아와서 초성만 뽑아 보자.
  • 자유로부터의도피 . . . . 43 matches
          * 자유의 무겁고 부정적인 면이 나왔고 그에 대 해결을 논하고자 하는거 같다. - 상협
          * 신앙은 인류의 내적 관계나 내적 긍정의 표현일 수도 있고, 개인의 고독과 인생에 대 부정적 태도에 뿌리 박힌 깊은 회의의 감정에 대 반작용의 구성일 수도 있다.
          * 회의 그 자체는 인간이 그 고립을 극복하지 않는 또는 그의 위치가 스스로의 욕망에 의미 있는 것이 되지 않는 결코 소멸하지 않는다.
          * 노력이나 일을 목적 그 자체라고 생각하는 이 새로운 태도는 중세 말기 이후 인간에게 일어난 가장 중요 심리적 변화라고 할 수 있다.
          * 새로이 근대사회에 일어난 사실은 사람들이 외적인 압력에 의해서라기보다는 내적인 강제에 의해서 일을 하게 되었다는 것이다. 그것은 근대 이전의 사회에서는 매우 엄격 우두머리만이 능히 해낼 수 있었던 것이다.
          * 일에대 충동, 절약하고자 하는 정열, 손쉽게 초개인적인 목적을 위 도구가 되려는 경향, 금욕주의, 의무의 강제적 의식 -> 자본주의 사회의 생상적인 힘이 된 성격상의 특성
          * 권위주의적인 성격은 과거를 숭배다.
          * 감상 : 이책을 읽게 된것은 정말 행운인거 같다. 이책은 현대인의 문제점을 아주 날카롭고 정확하게 지적해주어서 지금까지 뭔가 뿌연 안개처럼 잘 알수 없었던 문제들을 파악하는데 많은 도움을 준다. 인생살이에 정말 많은 도움이 되는 책이다. 이책은.. 강력 추천 !, 특히 고등학교와는 다른 생활에 처음 접하는 대학교 1학년들은 꼭 읽어 봤으면 좋겠다는 생각이 든다. 음.. 솔직히 이책이 그렇게 자극적인 재미를 주는 것은 아니지만, 내가 명확하게 설명하지 못것을 명확하고 면밀하게 분석해주는데서 오는 통쾌함 같은 것을 느낄 수가 있다. 이책에서 알게 된점은 자유라는 것이 분명 좋은것이긴 하지만 그것을 제대로 제어를 하지 못하면 자신에게 좋지 못 방향으로 다가온다는 점이다. 그리고 그렇게 좋지 않은 방향으로 다가온 것들(무력감, 고독, 기타 등등)을 피하기 위 임시 방편(자동 인형, 파시즘)으로는 자유를 제대로 향유할 수 없고, 오히려 자신의 자아를 말살 할 수도 있다는 점이다. 그때에는 오히려 자신의 자아가 다른 어떤 자아와도 다르다는 것을 인식하고, 그러 자아를 유지하고 키워 나가야 다. 내가 너무 단순화 시키거나 왜곡 시켜서 말하는거 같지만 내 의견을 말하자면, 자유가 오면 피하지 말고 있는 그대로 맞 받아치고 받아들여서 자신의 제어권 안에 두어야 겠다. 즉 자유가 자신의 주인이 되게 하는게 아니라 자신이 자유의 주인이 되어야 할 것이다. 그리고 여기서 자유를 제대로 향유하지 못 영향으로 발생하는 새디즘이나 매저키즘등이 나왔는데, 이것도 상당히 흥미로웠다. 지금까지 잘 알지 못했던 내용인데 우리주변에서는 아주 흔하게 볼 수있는 것들이었다. 새디즘이나 매저키즘이나 둘다 자유로부터 도피의 수단이었다. 대충 감상을 적으면 이정도이다.
          * 먼저 사람은 자유를 원하면서 동시에 어딘가에 구속되고 싶어 다는 부분이 정말 맞는 말 같다. 역시 정이 있으면 반이 있나 보다. 예전 철학에세이 라는 책에서 모든 현상은 모순관계에 뿌리를 두고 있다는 말과도 통하는 부분이 있는것 같다. 이 모순관계에서 변증법적인 합일을 이루는것이 관건인거 같다. 자유라는 것과 이것으로 인해 발생하는 고립감, 외로움 사이에서 우리는 어떻게 대처를 해야 할까.. 확실것은 이것에 대해서 피하지 말고 온몸으로 부딪혀 보고 내가 왜 이런지 아는것 같다.
          * 어떠 이데올로기, 사상이 사람들에게 영향을 끼치기 위해서는 사람들이 그러 사상을 필요로 할때에 그러 사상이 나와야 다. 칼빈이나 루터가 그 시대에 많은 사람들에게 영향을 끼친것은 그때의 시대 상황이 사람들이 그러 의지할만 사상을 필요로 시대였기 때문인가 보다. 이렇게 영향을 끼친다는 것은 [이기적인유전자]에 나오는 밈을 퍼뜨리는것과 비슷것 같다. 그렇다면 현대 인들이 열렬히 환호할만 사상은 무엇일까... 현재 너무 물질 중심적으로 변해가는 사회에 반기를 들만 것은 아닐까 싶다.
          * 루터와 칼빈 사상의 특징은 인간은 사악하고 불완전 존재이므로 인간의 의지와 노력은 소용이 없고 절대적인 신에게의 복종만이 최선이다라는 식이다. 이는 자본주의가 발전하기 위 심리적인 준비를 시켰다. 자기의 목적이 아닌 거대것의 목적에 자신을 복속 시키려는 심리적 매커니즘은 신 - 개인 관계에 있어서 적용 되었지만 이는 지도자 - 개인, 조직 - 개인 간에도 쉽게 전이될 수 있다.
          * 우리가 무의식적으로만 알던것을 날카롭게 지적것중 하나가 우리는 자본을 소비를 위해서가 아닌 축적을 위해서 모은다는 점이다. 보통 주변에서 보아도 평생 다 못쓸 자본을 끝임없이 축적하는 사람들을 많이 볼 수 있다. 이 축적이라는것이 끝이 없기 때문에 항상 이 축적에 매달리게 된다. 이렇게 된 이유가 뭘까.., 우리의 자아를 재산, 명예와 권력등과 같을것으로 지탱하려 하기 때문에 그런일이 일어난다. 왜 그런것으로 지탱하려 하는가? 현대 사회에서 개인은 사회에 있어서 평가받는 하나의 상품이다. 그러 것들이 이런 상품으로서 값어치를 높여주기 때문이다.
          * 우리가 생각하고 행동하는 것중에서 우리 스스로 생각해서 행동하는게 얼마나 될까?.. 우리 주변에서는 우리에게 끊임없이 암시를 주고 사상, 생각을 불어 넣어 주는 것들로 가득찬것 같다. 이러 상황에서 부처님이 말씀하신것중 '관' 이 필요 것 같다. 내가 무엇 하고, 무슨 생각을 하는지에 대해서 아무 생각없이 당연하게 생각하지 말고 이에 대해서 '관' (바라보기) 해야 겠다.
          * 우리는 우리 문명이 강요하는 획일화, 자동인형중 하나로 자신을 포함시킴으로써 안정을 얻는다. 즉 거대 것과 자신이 하나가 되었다고 느끼는것이다. 하지만 대가는 크다. 그 대가는 자아포기.... 저런 획일화, 자동인형에 동참하지 않을때 심각 외로움, 고독감에 부딪히게 된다. 어떤것을 택해야 할까... 저런것들에 구속되지 않는 사람들이 부처님이나 예수님처럼 깨닳은 사람들인가 보다.
          * 아직 몇십패이지 밖에 읽지 못했습니다. ( 줄 이해하면서 읽기가 힘드네요.)
          * 여기까지 저자가 말하는 내용의 주지는 이렇습니다. "사람은 자유를 가지기 위하여 열망하기도 하지만, 사람은 종속받고 싶어하기도 다. 고로, 사람의 마음에는 자유 뿐만이 아니라, 내면에서는 어떤 것이든지간에 그것에 종속받고 싶어하는 마음이 있다. (예 : 민주주의 / 군주정치, 사회주의)'
          * 읽은지 오래되고 또 읽으면서 그닥 감동의 물결이 일지 않고 고리타분 어투의 글들이라고 생각해서 별반 기억이 없다. 남상의 리뷰를 보니 다시 읽고 싶어지는군. 자유의 열망과 종속에의 열망이 공존다라. 정리하기 힘들지만 다시 책을 찾아봐야겠군. 책은 역시 정독을하고 정리하는 습관을 들여야겠어.
  • 정모/2011.4.11 . . . . 43 matches
          * 나에 대 세 가지를 말하되 두 가지는 진실, 가지는 거짓으로 말다.
          * 지난주에 예외에 대 부분을 공부했다.
          * 처리되지 않은 예외는 폭탄과 같아서 그냥 내버려두거나 무히 throw하면 안 된다.
          * [HolubOnPatterns]를 읽으면서 스터디하고 DB 프로젝트를 통해 실습다.
          * 각 팀은 1분 15초 안에 최대 많은 답을 맞춰야하고, 최대 15문제를 풀 수 있다.
          * 죄송하지만, 정확 계획을 알려주세요ㅠㅠ - [황현]
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 항상 그렇듯 정모할때 궁금건 Ice Breaking 시간이군요. 녹화 재방이라도 제발 보고싶은 마음입니다. 정모시간에 소개해주신 LETSudent는 참석해봐야겠습니다. 유익 정보군요. 새로온 21기 학우들 반갑습니다. 얼굴 기억했어요. Zeropage의 생활을 맘껏 즐겨보아요. 새얼굴들이 보였는데 이제 새로 새내기들을 번 정모에 참여할때가 되었다는 생각이 잠깐 들었던 시간입니다. 권순의 학우의 OMS는 배경이 아야나미 레이라서 기쁨반 안타까움 반으로 배경을 지켜보았고 안티짓도 좀 올렸었습니다만, 그거 알잖아요 안티도 팬입니다. OMS에서 소개된 노래들에 대해 다시번 들어보고 생각해보게 되었던 시간은 기쁩니다. 창작자의 의미가 가득차있는 것을 알게해주었으니까요. 그사람들도 기쁠겁니다. 회장님이 만들으셨던 스피드 퀴즈는 정말 신선했어요. '우리도 올해는 이런 레크레이션을 다하는구나'는 뿌듯 생각이 들었습니다. 전 이런거 좋아하니까요. 저도 어느정도 공통된 경험이 쌓인사람들과 만난다면 해보는게 좋을것 같습니다. 다음주 소풍은 정말 꽃이 만발했으면 좋겠단 생각이드네요 번 이건 알아봐야겠습니다. 비는 안오겠죠. 시험기간 전이라 걱정이될 사람도있겠지만 경험상, 시험기간 전에는, 시험기간 중에는, 시험기간 후에는 노는겁니다. Enjoy EveryThing이죠. 항상 늦지만 이렇게라도 정모에 참석해서 후기를 남길수있는게 가장 즐겁습니다. 다음주에는 즐거운 소풍준비를 해가야겠군요 - [김준석]
          * Ice Breaking .. 재밌는데 너무 시간이 오래 걸리는거 같습니다. 이거 오래하니까 뒤에 준비된 순서를 시간에 쫓겨서 하네요. 진경이 맨날 기숙사 엘리베이터에서 어색하게 인사만 하고 지나갔는데.. 오늘 보니 반가웠습니다. OMS의 영화에 나온 음악 하니까 최근에 영화관에서 레드 라이딩 후드 보다가 MUSE의 노래가 나오길래 깜짝 놀란 기억이 납니다. 영화도 되게 재밌었어요. 그리고 네이트 주소를 적어두질 못했는데 다시 번 올려주시면 저도 파일방 이용을 좀...ㅎ 다음주 소풍 정말 기대됩니다. 항상 정모 나올 때마다 느끼는거지만 뭔가 하고 간다 라는 느낌을 확실히 받는거 같네요. 정모 준비하느라 고생하시는 회장님 감사합니다~ - [정의정]
          * 파일 수정해서 OMS PPT 올려드리겠습니다 - [권순의]
          * ㅋㅋㅋㅋ사실 쫓기는 건 맨날 내가 할 걸 오버해서 들고오는 탓도 있음ㅜㅜ 안 그래도 그거땜에 시간 계산 잘 해야지 하고 다시 번 생각했지 ㅋㅋㅋ - [김수경]
          * 이번 정모에는 11학번 학우분들이 참여하여 반가웠습니다. Ice Breaking때는 화기애애 분위기가 마음에 들었습니다. 다들 웃으면서 ㅎㅎ 재미있는 시간이었던 것 같습니다. 일일 퍼실리테이터... 어떤 느낌일지는 모르겠지만 번 해 보는 것도 재밌지 않을까라는 생각도 했습니다. 이번 OMS를 진행하면서.. 음... 역시 배경이 문제였었던 같습니다 -ㅅ-;; 그리고 생각했던거 보다 머리속에 있는 말이 입 밖으로 잘 나오지를 않아가지고 제가 생각했던 것들을 모두 전달하지 못했던 것 같습니다. 사실 음악을 좋아하다 보니까 영화나 TV를 보다가 아는 음악이 나오면 혼자 반가워 하고 그랬는데,, 그 안에 있는 의미를 찾아보는 일은 많이 하지 않았었습니다. 다만, 이런걸 해 보겠다고 생각했던게 아이언맨 2 보다가 (보여드렸던 장면에서) 처음에는 Queen의 You're my Best Friend라는 노래로 생각하고 저 장면과 되게 모순이다라고 생각했었는데 그 노래가 아니라 다른 노래라 조금 당황했던 것도 있고, 노래 가사를 보면서 아 이런 의미가 있을 수도 있겠구나 라는 생각을 했습니다. 그래서 이것 저것 찾아보게 되었던 것이 계기가 되었던 것 같습니다. 그리고 이번 스피드 퀴즈는 그동 제로페이지에서 했던 것들이 많았구나 라는 생각과 함께, 제가 설명하는데 윤종하 게임이 나올줄이야 이러면서 -ㅅ-;; ㅋㅋㅋ 마지막으로 다음주 소풍 기대되네요 ㅋ - [권순의]
          1. Ice Breaking을 제가 많이 해 본 것은 아니라 원활 진행이 잘 안 되네요. 당장은 할 일들이 쌓여있으니 바로 공부하겠다고 하면 거짓말이 될테고… 방학 중에 Ice Breaking에 대해 알아보고 2학기땐 더 즐거운 시간이 될 수 있도록 해야겠습니다.
          1. 이번 OMS는 영화 속 음악에 대 내용이었는데 매우 흥미로웠습니다. 소개하신 노래들 중 제가 좋아하는 노래가 있었던 것도 좋았구요!!! 미처 생각해보지 못 영화 속 음악의 의미에 대 설명을 들으니 뭔가 좀 더 교양있는 사람이 되는 것 같은 느낌이예요. 요금제때문에 달에 두 편씩은 꼭 영화를 보는데 앞으로 영화 볼 때 나오는 음악에 대해서도 더 관심을 가지고 들어봐야겠습니다.
          1. 스피드 퀴즈는 이번에 처음 시도해봤는데 다들 어떠셨어요? 저는 역시 스피드라 그런지 정신이 없더라구요. 그 정신없는 점이 재밌기도 했지만요 ㅋㅋㅋㅋ 다음에는 스피드 퀴즈 말고 칠판을 이용 캐치마인드를 번 시도해볼까합니다. - [김수경]
          * 처음 참여 제페 정모! 재밌었습니다.ㅋㅋ 재밌는 아이스브레이킹. 처음이라 그런지 적정 수준의 문제를 내는게 꽤 난감했고... 제페에 현재 어떤 스터디가 진행중인지 알게 됐습니당, 그리고 ACM 스터디가 열리면 참가하게 될 것 같구요ㅋㅋ, 현재 웹 구축을 진행하고 있어서 자바스크립트도 관심이 있는데, 지금은 데이터베이스 때문에 자바스크립트는 커녕 코딩도 못하고 DB만 만들고 없애고 반복 중이라 ㅜㅜ엉엉.. 디비짜고 기본틀 갖춰지면 HTML, CSS, PHP 거치고 나서야 자바스크립트를 볼 수 있을 것 같아요.. 처음 본 OMS는 어째서인지 배경화면만 기억에 남아있네요...ㅋㅋㅋ 수업 듣고 과제하고 놀고만 반복하다가 오랜만에 신선 자극을 받은거 같습니당. 다음주는 갈 수 있을지 모르겠어요, ㅜㅜ 선형대수학+동양철학의 압박;; 주자의 격물치지에 대해 아시는 분??! - [정진경]
          * 저는 횟수로 따지자면 이번이 두번째로 참여하게 되는건데, 좀 제대로 참여건 오늘이 처음이라 어떨지 많이 개대됐어요. Ice Breaking도 좀 더 재밌게 쓸 수 있었을 텐데 하는 아쉬움(?)도 남네요. 또, 중간에 스터디 소개같은거 하는데서는 이게 도대체 무슨 말이지.... 라는 것도 좀 있었구요. OMS는 매트릭스가 제일 기억에 남...는 다고 하면 거짓말이겠고.. (배경이..) 사실 OMS하는게 상당히 많이 전문적인(저번에 현이형이 준비하는거 봤거든요.)걸 하는 줄 알았는데 꼭 그런건 아닌거 같아 좀 쉽게 다가온거 같아 좋았어요. 근데 갑자기 궁금게.. 위키에 두명이 동시에 수정하게 되면 어떻게 될까요? 앞에 저장 사람의 내용이 씹히게 될까요;? - [김태진]
          * 동시에 두명이 수정하면 먼저 저장 것이 반영됩니다. 뒤늦게 저장을 누른 사람은 Can't Save라는 메세지를 보게 되죠. - [김수경]
          * 이번 정모에서는 11학번들이 많이 와서 굉장히 흥미로웠습니다 ㅋㅋ 저번 정모에 안나가서 그때도 11학번들이 많이 왔었는지는 모르겠지만, 이렇게 1학년들과 같이 정모에 참석하니 아 이제 1년이 지났구나 하는 생각이....Ice Breaking에서는 거짓말을 급조해야 하다보니 그 당시에 생각나는 아주 사소 걸로 할 수 밖에 없었습니다. 그리고 OMSㅋㅋ 처음에 배경화면 뭔가가 친숙 얼굴이다 했는데 생각해보니 에반게리온의 아야나미 레이..ㅋㅋㅋㅋㅋ 아 이러면 안되지 어쨋든 영화나 광고 속에서 작가(?)가 전하고 싶은 말을 노래 가사를 통해 알려준다는 사실이 놀라웠습니다. - [신기호]
          * 11학번이 참석하는 정모를 처음으로 구경했습니다. 근데 새내기들을 보는거 같지가 않았어요. 왜 이렇게 친근 놈들이 많은지 모르겠어요. 전 진짜 11학번들과 친 좋은 선배인가 봐요. 앞으로 더 잘해야겠어요. 그리고 학생회를 하느라 정모를 못 나간 동안 프로젝트와 스터디가 많이 진행됐네요. 저도 참여하고 싶지만 프로그래밍 경진대회와 전시회 잘 준비하겠습니다. ACM 스터디 하시는 분들을 위해 김대원 교수님과 열심히 얘기하고 있고 저 나름대로도 생각 많이 하고 잇으니까 zp 활동 열심히 못다고 기뻐하지 말아주세요. 그리고 다음주 소풍 갈 땐 맥주사가죠 - [윤종하]
  • AcceleratedC++/Chapter10 . . . . 42 matches
          || 주소 연산자(address operator) || 객체의 주소를 리턴다. ||
          || 역참조 연산자(dereference operator) || 포인터 p가 가리키는 객체를 리턴다. ||
          포인터도 타입을 갖는데 일반적으로 type-name * 으로 정의다.
          === 10.1.2 함수에 대 포인터 ===
          함수에 대 포인터를 인자로 전달하고 역참조 연산자를 통해서 그 포인터에 접근하면 우리는 원래의 함수에 접근하는 것이 가능하다.
         i = fp(i); // 마찬가지로 이 2개의 표현모두 유효 표현이된다.
          따라서 우리가 일반적으로 사용하는 함수의 표현만으로도 매개변수로 함수를 전달시키는 것이 가능 것이다.
          하지만 이러 자동 형 변환은 함수의 리턴형에는 적용되지 않는다. 따라서 함수를 리턴하는 경우에는 명식적으로 포인터임을 나타내야할 필요가 있다.
          상기의 코드에서 프로그래머가 원 기능은 get_analysis_ptr()을 호출하면 그 결과를 역참조하여서 const vector<Student_info>&를 인자로 갖고 double 형을 리턴하는 함수를 얻는 것입니다.
          상기와 같은 표현은 const로 지정된 변수로 변수를 초기화하기 때문에 컴파일시에 그 크기를 알 수 있다. 또 상기와 같은 방식으로 코딩을 하면 coord에 의미를 부여할 수 잇기 때문에 장점이 존재다.
          또 배열의 이름은 그 배열의 요소의 첫번째 요소를 가리키는 포인터형으로 초기화 되기 때문에 배열과 포인터는 밀접 상관 관계를 갖고 잇다.
         *coord = 1.5; //coord 배열의 첫번째 요소를 1.5로 할당다. 즉, coord[1] = 1.5; 와 동일 표현이 된다.
          포인터도 일종의 반복자이다. 이사실에서 배열의 포인터를 이용 접근을 생각해볼 수 잇다.
          || coord+3 || 3번째 요소. 배열에서는 유효하지 않지만 포인터 그 자체로는 유효 포인터이다. ||
          || coord-1 || -1번째 요소. 배열에서는 유효하지 않지만 포인터 그 자체로는 유효 포인터이다. ||
          coord+NDim 은 coord의 마지막 요소에서 1개가 더 지난 값을 가리키므로 상기의 표현은 유효 표현식이다.
          그러나 이 차이를 나타내는 값은 구현 시스템 마다 다를 수 잇고, 음수가 나타내는 경우가 있기 때문에 '''<cstddef>'''에는 '''ptrdiff_t'''라는 약칭을 통해서 그 데이터 형을 제공다.
          a가 n개 요소의 배열이라면, a+i가 유효하기 위해서는 0<=i<=n, a+i가 a의 요소를 가리키기 위 필요 충분 조건은, 0<=i<n이다.
          STL의 컨테이너들과는 달리 배열은 초기화에 있어서 다른 문법을 제공다.
          상기의 예제에서 month_length의 배열의 크기를 명시적으로 나타내지 않았다는 사실에 유의. 대신에 컴파일러가 초기화된 갯수에 맞추어서 배열을 할당다.
  • Gnutella-MoreFree . . . . 42 matches
         파일 공유 프로토콜인 Gnutella 에 대 분석글
         이 문서는 내가 아르바이트를 하면서 번역과 작성 문서이다.
         그누텔라는 확실히 매력적이고 또 이상적인 순수 P2P라는 생각이 든다. 하지만 P2P란 많은 부분
         희생(?)이 필요하다. 여기서 희생이란 불필요하지만 쓸 수 밖이 없는 대역폭을 말다.
         하지만 이러 희생을 줄이는 것이 보다 좋을 것이라는 생각이 든다. 그런 점에서 내가 생각하는 가장
         고쳐져야 겠지. 하지만 지금의 e-Donkey처럼 개인이 서버를 가질 수 있고 또 이 서버를 가지고 찾는
         다면 불필요 대역폭은 줄어들 것이고 분산된 서버를 하나의 순수 P2P로 묶고 서버에서 클라이언트의
         노드들을 수정해 준다면 가장 이상적이지 않을까? 라고 때 무신히 고민했다. 잡소리 이제 그만!!!!
          Query전송을 통해 네트워크내 파일의 검색과 다운로드를 가능하게 다.
          Note 1 : 모든 데이터 필드는 특별 말이 없으면 리틀 엔디언
          Gnutella 프로토콜의 경우 synch를 맞추는 특별 byte가 존재하지 않아
         || pong || Ping을 받으면 주소와 기타 정보를 포함해 응답다.Port / IP_Address / Num Of Files Shared / Num of KB Shared** IP_Address - Big endian||
         || queryHit || 검색 Query 조건과 일치 경우 QueryHit로 응답다. Num Of Hits 조건에 일치하는 Query의 결과 수 Port / IP_Address (Big-endian) / Speed / Result Set File Index ( 파일 번호 ) File Size ( 파일 크기 )File Name ( 파일 이 / 더블 널로 끝남 ) Servent Identifier 응답하는 Servent의 고유 식별자 Push 에 쓰인다. ||
         || push || 방화벽이 설치된 Servent와의 통신을 위 DescriptorServent Identifier / File Index / IP_Address(Big-endian)/Port ||
          낸 Servent는 네트워크 상에서 제거된 것을 의미다.
          QueryHit 명령어를 받으면 파일을 초기화 하고 다운로드를 시작다.
          방화벽으로 인해 직접 연결이 불가능 경우 Push Descriptor를 보내고 라우팅을 통해 받은
          QueryHit에 대 응답으로 새로운 TCP/IP 연결이 생긴
          과 같은 HTTP GET request형식으로 응답을 하며 파일을 전송다.
          Compile / Execute 가능 Code를 손에 얻을 수 있는 프로그램이다. 물론
  • NSIS/Reference . . . . 42 matches
         주로 이용하는 것들 (["NSIS/예제1"], ["NSIS/예제2"], ["NSIS/예제3"] 을 작성할 때 필요 것 정도의 수준)위주로 정리. 좀 더 자세 것에 대해서는 원문을 참조.
         || Icon || "setup.ico" || Installer 의 아이콘. 반드시 32*32*16 color 이여야 다. ||
         || MiscButtonText || "이전" "다음" "취소" "닫기" || 각 버튼들에 대 text 설정 (순서대로) ||
         || InstallButtonText || "설치 || Install 버튼에 대 text 의 설정 ||
         || InstType || "Full Install" || Install 관련 component type 에 대 정의. 순서대로 1,2,3,4...8 까지의 번호들이 매겨지며, 이는 추후 SectionIn 에서 해당 component 에 대 포함관계시에 적용된다. ||
         || SpaceTexts || "필요요구용량" "이용가능용량" || "Space required:", "Space available:" 에 대 표현 관련 텍스트 ||
         || AllowRootDirInstall || false || 루트디렉토리에 설치할 수 있도록 허용할것인지에 대 여부 ||
         || AutoCloseWindow || false || 인스톨 완료시 자동으로 인스톨 윈도우를 닫을것인지에 대 여부 ||
         || ShowInstDetails || show || hide | show | nevershow . install 되는 화면을 보여줄 것인지에 대 여부 ||
         || DetailsButtonText || "Show Details" || "Show details" 버튼의 text 에 대 설정 ||
         || CompletedText || "완료되었습니다" || "Completed" 문구 text에 대 설정 ||
         Uninstall 화면에 대 설정들.
         Section 은 설치를 위 일종의 하나의 모듈, 컴포넌트이다. Section 과 InstType 은 다르다.
         단, Uninstall Section은 언인스톨을 위 특수 Section이다.
         || Section || "ZPTest Defaults Modules (required)" || Section 의 시작을 알린다. Section의 이름을 설정. 만일 Section의 이름이 비어있거나 '-'로 시작되는 경우에는 사용자가 선택할 수 없고, 볼 수도 없다. (즉, 반드시 필요 Section에 대해). 그리고 가장 처음으로 선언되는 Section은 default Section이 되며 역시 필수 Section이 된다.||
         || AddSize || 1000 || kb 단위. 각 Section당 필요 용량에 대해 적어준다. ||
         함수는 Section과 비슷 역할을 다. 하지만, 다른 점이라면 함수는 installer 에서 직접 선택하여 호출하는것이 아니라, Section 에서 Call 명령어를 통해 호출되어 인스톨러의 기능의 일부들을 보충하는 역할을 다. 그리고 특별 경우로써, Callback Function들이 있다.
         || 함수중 'un.' 으로 시작하는 것들은 일반적으로 Uninstaller를 위 함수들이다. Uninstall Section이 정의되어있지 않은 경우, 호출되지 않을 것이다.
         Label은 Goto 명령어나 기타 조건제어문들 (IfErrors, MessageBox, IfFileExists, StrCmp 등)을 위해 이용다.
         Label 은 반드시 Section 이나 Function 내에 존재해야 다. Label 은 해당 Section 과 Function 내에서만 그 범위를 가진다.
  • TAOCP/BasicConcepts . . . . 42 matches
         (m과 n을 모두 나누는 가장 큰 양의 정수)를 구다.
         E3. [줄이기] m <- n, n <- r 으로 설정다, 그리고 E1단계로 돌아간다.■
         E0. [m >= n 인지 확인하기] m < n 이라면, m <-> n 을 교환
         == 알고리즘의 5가지 중요 특징 ==
         1) 유성(Finiteness)
         알고리즘은 유 단계 후에 항상 종료되어야
         알고리즘의 각 단계는 정확히 정의되어야
         Ω의 모든 원소 q에 대하여 f(q)는 q와 같아야 다.
         집합 I의 원소 x의 입력은 계산수열, x0, x1, x2,..., 를 다음과 같이 정의
         Ω에 속하는 xk 에 대하여 k가 가장 작은 정수라면 계산수열은 k단계에서 종료된다고 다. 그리고 이 경우에 x로부터 결과 xk가 생성된다고 다.
         이 책의 수많은 부분에서 MIX언어가 등장다. 따라서 독자는 이 절을 주의 깊게 공부해야 다.
          여섯 바이트로 이루어진다. 바이트에는 0~63까지 숫자가 들어갈 수 있다. 그림으로 나타내면 다음과 같다.
          필드 제이 주어질 수 있다. 형식은 (L:R)이다. (L~R의 범위를 뜻다.)
          여기서 더해진 주소를 M, M에 들어있는 값을 CONTETNS(M)이라고 다.
          사칙연산을 다. ADD, SUB, MUL, DIV가 있다.
          레지스터와 CONTENTS(M)을 비교해서 LESS, GREATER, EQUAL을 설정하는 명령어이다. CMPA, CMPX, CMPi가 있다. CMPi를 할 때는 앞에 세 자리가 0이라고 가정다.
          M이 가리키는 메모리 셀로 점프다. JSJ를 빼면 점프를 하면서 점프 명령어 다음 위치를 rJ에 저장다. the comparison indicator를 이용하거나(JL, JE, JG, JGE, JLE, JNE) , 레지스터(JrN, JrZ, JrP, JrNN, JrNZ, JrNP)를 이용다.
          시프트 명령은 rA와 rX를 사용다. SLA, SRA, SLAX, SRAX, SLC, SRC가 있다. M은 시프트하는 횟수를 나타낸다.
          MOVE명령은 F만큼 CONTENTS(M)을 rI1이 가리키는 메모리 셀로 값을 복사다.
          NUM은 rAX를 가지고 숫자로 바꾸어 rA에 저장다. 각 바이트가 자리로 바뀌는데, 일의 자리만 가지고 바꾼다(10 -> 0, 23->3 )
  • ZeroPage정학회만들기 . . . . 42 matches
          * ZeroPage는 그간 수많은 활동을 하며 화려 경력을 갖고 있으며 대내외적으로 인지도가 높고 현재에도 중앙대학교 컴퓨터공학과의 학회로써 열심히 활동하고 있었습니다. 하지만 정작 컴퓨터공학과에서는 정학회로 인정해주지 않아 적지 않게 활동에 차질을 빚어왔습니다. 2003년 컴퓨터공학과가 학부제로 바뀌면서 정원이 늘어난다고 합니다. 점점 커져가는 과에서 진정으로 인정받는 ZeroPage 가 되었으면 하는 바램에서, 그리고 여러가지 활동을 할 때 원활히 진행될 수 있도록 하기 위해 정학회로 ZeroPage를 승격시키고자 합니다.
          현재 빈 공간은 신임교수님들을 위 공간이라고 합니다.)
          학과행사로 받아서 것이라고 합니다. 학생들의 모임 지원금은 거의 힘들 것이라는 것이
          * 과에서 정식으로 인정 학회라는 점에서 중앙대학교 컴퓨터공학과를 대표하는 학회로 거듭난다. (홍보효과 -> 회원들 활동 활발)
          * 정식으로 인정 학회가 되면 학회홍보에서 명분을 얻을 수 있으며 회원들의 적극적인 참여를 유도할 수 있을 거라고 본다. 따라서 활발할 활동을 기대할 수 있다.
          * 서버실의 쾌적 환경에서 ZeroPageServer가 편안히 살(?) 수 있다.
          * 주변의 사람들을 설득다. 현재 컴퓨터 공학과 학우들은 물론 학과장님을 포함 다른 교수님들까지 ZeroPage 의 홍보와 현재 활동 상황등을 보여주며 설득다.
          * 졸업 선배들에게 지원을 요청다.
          * 정학회 승인 동의서에 학우들의 서명을 받는다.(이러기 위해서 ZeroPage가 정학회가 되는것에 대 정당성을 충분히 알린다.)
          * 우선 시험기간이므로.. 이른시일내에(수삼일내에) 학우들에게 동의서를 받고 졸업선배들에게 e-mail 을 보내 추천을 부탁드린다. 동시에 ZeroPage 정학회화에 대 공론화를 꾀다.
          * 방학중에 교수님들께 홍보물을 보여드리고 설득다.(방학중)
          - 둘다 타당성이 있다고 보는데.... 음.. 우선 개강총회는.. 학생회의 일년 사업을 결정하는 자리인 반면, 종강총회는 해를 뒤돌아 보는자리라서... 그렇다고 개강총회때 하는것도... 새내기들 들어오기 전에 (정학회가 되는쪽으로)결정되었으면 좋겠다고 생각합니다. - 임인택
          - 다 좋은생각입니다만, 일단 정학회를 만들기 위해서는 학생들 사이에서의 여론을 조성하는 것이 무엇보다 우선이 되어야 할것 같군요 우리 과 사람들이 다 인정다면 학생회에서도 훨씬 더 쉬울 수 있기 때문입니다. 학생회가 아니라도 여론 조성은 제1순위가 되어야 할것 같습니다 - 상욱 (["whiteblue"])
         위에서는 정학회로서의 책임과 의무는 없는 것 같은데. 제로페이지가 정학회가 된다면, 해당 행사를 열때마다 정학회로서의 역할을 해야 다고 생각다. 즉, 특정 세미나를 다고 다면, ZP 내의 세미나도 있겠지만 적절 수의 학과 내 외부 세미나나 이벤트를 주최할 수 있어야 다는 것이지. (이때는 물론 학생회에게 지원을 요청할 수 있겠고) 정학회라면 더이상 이전의 동아리 스타일의 내부모임단체가 아니다. 정학회가 된다고 다면 자신에게 이득이 되는 일인 동시에 과내사람들에게도 동시에 이득이 되는 일이 되어야 다.
         정학회로 승격되기 위해 여러가지 홍보대책을 세우는 것도 의미있는 일이겠지만, 그 전에 '정학회인 경우 할 일'들을 직접 실천할 수 있다면, 그리고 과 내에서 보기에도 정식학회가 있음으로서 과내 사람들이 이득을 얻게 되고, 정식학회로서의 자격이 있다고 보여진다면, 홍보의 절반이상은 저절로 되리라 생각다.
         ZeroPage 에서의 대내외 활동경력은 주로 90-94년도에 집중되어있고, 그 이후에는 외부 활동은 거의 미천하다고 생각다. 내부적인 활동은 최근들어서 비교적 활발했다고 생각하지만, 여전히 학과 사람들 대상으로 하는 열린 행사들은 거의 없었다고 판단다. 외부 행사에 도움을 준적이 있지만 (주로 JuNe 형 주도로 열리긴 했다) 과내 사람들에게 홍보가 되진 않았다. 여전히 과에서의 ZeroPage 의 행사들은 바깥일일 뿐이라는 생각을 다. (그리고, 외부 타 학교나 직장 등에서 중앙대하면 ZeroPage 의 이름보다는 JStorm 이 더 먼저떠오르는게 아직은 당연 현상이다.)
         양쪽중 '어느 쪽이 일반적 희생이다' 라고 생각되어버린다면 관계란 이루어지기 어렵다. 그러 점에서 정학회라면 어떤 일을 할까 궁리해봐야 할 것 같다.
          * 외부 공모전 출전 (도전해볼만 하리라 생각. ACM 도 있겠고, 게임 NHN 게임공모전 도 있겠고. 개인 이득 + 학과 홍보효과가 된다.)
          * 학기중 위키에서 진행된 프로젝트(꼭 개인공부가 아니더라도, 학교 숙제 등)에 대 사람들과의 토론모임 (이 역시 ZP + 과내 사람들 이득이 되리라 생각)
          * 결론이 지도교수님모시기로 났습니다. 학과에서 '정학회' 로써 학과차원의 지원은 불가능할 것이다 라는 것이 학과장님의 말씀이셨습니다. 과차원의 지원이 있지 않다면 굳이 명분을 쌓을 이유가 없어진다고 봅니다. 설문조사를 하는 것이 명분을 얻기 위해 다고 보기 때문에 이제는 설문조사가 필요없을 듯 싶습니다. 전에 설문지 돌렸을 때 서명해주신 학우들께 죄송할 따름이지만요.. 혹시 설문조사를 하는 것이 좋다는 의견이 제가 언급 내용과 다른 이유에서라면 말씀해주세요. 다른 이유가 있을 것이라는 생각이 듭니다. --창섭
  • AcceleratedC++/Chapter14 . . . . 41 matches
         Student_info 클래스는 레코드의 인터페이스. 레코드의 메모리 공간을 관리다.
         이렇게 2가지의 추상적인 기능을 조합해서 만들게 되는 것은 허술 클래스 설계때문인 경우가 많다.
         내부의 개체를 가리키는 포인터와 비슷 객체를 적절히 사용하면 불필요 복사가 행해지는 성능상의 문제를 해결할 수 있다.
         만약 객체 x가 y를 가리킨다면 x를 복사다고 해서 y도 볼사될까?
         13장에서 문제를 해결하기위해서는 서로 다른 타입의 객체를 개의 컬렉션에 젖하는 방법이 필요했다.
          이 클래스는 객체의 형에 무관게 동작하여야 하므로 템플릿으로 작성다.
          || * Handle은 객체의 참조값 [[HTML(<BR/>)]] * Handle은 복사가 가능하다 [[HTML(<BR/>)]] * Handle 객체가 다른 객체에 바인딩되어 있는지 확인이 가능 [[HTML(<BR/>)]] * Handle클래스가 가리키는 객체가 상속구조의 클래스형을 가리킨다면 virtual 에 의해 지정된 연산에대해서 다형성을 제공다. ||
          사용자가 Handle 클래스를 이용해서 특정 개체에 Handle을 붙이게 되면 Handle은 그 객체의 메모리를 관리하게 된다.
          대신 일단 그 객체는 오직 하나의 Handle만을 부착시켜야 하며, 일단 부착시킨 뒤에는 포인터가아닌 Handle을 이요해서 객체에 접근해야다.
          Handle(const Handle& s) : p(0) { if (s.p) p = s.p->clone(); } // 복사 생성자는 인자로 받은 객체의 clone() 함수를 통해서 새로운 객체를 생성하고 그 것을 대입다.
          if(&rhs != this) { // 자기 참조를 조사뒤 행동방식을 결정다.
         } // 최기화를 할때 생성 객체를 가리키는 결과를 리턴다.
          -> 연산자는 일견 이항 연산자 처럼 보이지만 동작하는 방식이 다른 연산자들과는 다르다. ->를 호출하게 되면 연산자의 좌측요소에서 포인터를 대신해서 사용이 가능 요소가 리턴된다.
         // 동일 표현
          상기의 정의에서 *, -> 연산자를 참조형, 포인터형으로 리턴하게 함으로써 자동으로 파생객체에 대 동적바인딩이 가능해 진다.
          Handle 클래스는 연결된 객체의 clone() 멤버함수를 이용다. 따라서 Core클래스에 clone()메소드를 public으로 작성하는 것이 필요하다.
          '''Handle<>을 이용 Student_info 의 구현'''
         어떤 경우에 프로그래머는 Handle이 대상 객체를 복사하는 형태가 아니라 단지 가리키는 형태로만 사용되기를 바랄 수 있다. 즉 동일 객체를 2개의 다른 Handle 이 가리킬 수 있다는 말이다.
         이경우 대상객체의 해제는 객체를 가리키는 마지막 핸들이 소멸될때 행해져야다. 이를 위해 '''레퍼런스 카운트(reference count, 참조계수)'''를 사용다.
         이를 위해서 우리는 이전의 클래스에 '''카운터(counter, 계수기)'''를 추가하고 객체의 생성, 복사, 소멸시 이 카운터를 적절하게 갱신다.
  • joosama . . . . 41 matches
         테이블에 4명씩 쭈욱앉았어요.
         ||승오빠[이승]||타블로[최경현]||동영오빠[조동영]||현욱이 [sisay]||......||
         주심인 과대가 지나가면서 마디해줍니다.
         그러면서 느낀것이 늘 공허 외침으로 끝나버리고 마는 안타까움이었다.
         독도문제만 하더라도,일본의 지리교과서는 물론이고, 일본에서 발행되는 어떤 지도이든지 간에 독도를 국영토로 표기 지도는 없다.
         그러므로 당연히 일본에서 교육을 받고 자라나는 국민들은 독도가 일본영토라고 생각다.
         나는 이러 일본인들에게 독도가 국땅이라는 것을,
         아니 다께시마가 아닌 독도라는 이름으로 국이 실제적으로 지배하고 있다는 것을 알려주고 싶었다.
         그러나 그것은 그리 간단 일이 아니었다.
         우리정부나 사회단체들도 이 문제를 일본인 들에게 알리기위 체계적인 노력도 기울인 적이 없다.
         우리 같은 민간인들이 생업을 소홀히 하면서까지 나서는 것은 계가 있는 일이었다.
         그러나 이번에 시마네현에서 독도 문제를 공론화 답시고, 조례를 제정하는 바람에 일본 전국에 알려지게 되었고,
         그 첫번째가, 박정희 전 대통령 재임 초기에 이루어진 일 수교회담에서,
         일본이 거론 독도문제를 분명하게 못을 박지 못하고 못들은 척 협상에 임 까닭이다.
         왜냐하면 하루라도 빨리 돈을 받아내어 다는 강박관념에 시달리고 있었기 때문이었다.
         그 두번째는, IMF사태가 불거진 이후에 대통령에 당선된 김대중 대통령이 외환 위기 극복을 위 방안으로,
         즉 국이 어려울때 일본은 돈으로 협상을 유리하게 진행시켜 왔던 것이다.
         당시의 김대중 대통령은 이러 협상이 추후에 문제가 될 것이라는 것을 몰랐을 리가 없다.
         이러 일련의 과정들이 시마네현과 일본우익들이 독도에 대 미련을 버리지 못하게 하였던 것이고,
         우리가 독도 문제를 강력히 제기하여 우리의 영토라는 것을 세계 만방에 공포를 다하더라도 하등의 지장이없다.
  • 데블스캠프2005/주제 . . . . 41 matches
         || 월 || 강의실 밖으로 나온 OOP || 휘동 || 2시간30분 || OOP라는 개념을 가지고 할 수 있는 즐겁고 유익 활동 ||
         || 월 || FLASH || 승 || 3-4 || 액션스크립트를 이용 간단 상호작용 ||
         || 수 || JAVA || 이승, 하욱주 || ? || 기존의C와 자바의 차이점과 간단 소개 ||
         || 수 || ASP&PHP&JSP || 승, 성만 || ? || 각 웹언어의 비슷 점과 차이점 IIS, APM의 차이점과 비슷점 설치법 ||
         || 목 || [RUR-PLE] || 남상협 || 3시간(실습위주..) || 간단 러플 학습 & 러플 가지고 놀기 ||
         || 금 || ? || [신재동], [임인택] , 이정직[fnwinter] || 실습까지 3시간 예상 , 윈도우즈 프로그래밍 || 네트워크 이용 게임 정도 ||
         [데블스캠프]같은 행사에서 하루 정도는 신입생이 재학생을 대상으로 세미나를 해보는것도 좋을것 같다. 준비의 주체는 신입생 모두이고 주제는 어떤 것이 되든 상관없다. 신입생들은 준비하는 과정에서 이것저것 얻게 되는 부분이 무언가 가지는 반드시 있을 것이다. - [임인택]
          그 자리가 신입생에게 부담이 되지 않는 편안 자리였으면 좋겠습니다. 저도 하자에 마음이 기우는군요. ^^ - [톱아보다]
         - Guido van Robot 보니까 옛날 LOGO 프로그램 생각나네.. 비슷거 같은데 아닌가? - fnwinter
          약간 비슷거 같긴데 자세히 안봐서 몰라(둘다) - 인택
         금요일에 제가 타임을 맡겠습니다. 네트워크 사용 간단 프로그램을 만들 예정입니다. 언어는 파이썬으로 하려합니다. 그러므로 파이썬 배운 후에 몇 개의 토이프로블램은 파이썬으로 연습 시켜주셔야 합니다. --재동
         새내기 발표, 혼자하는것도 좋겠지만 발표자 사람에게만 도움이 되지 않을까요. 제가 이 의견을 낸것도 '''함께'''해보는 과정에서 무언가를 얻어갔으면 하는 취지에서였는데 말이죠. 조현태군. 주위에 친구들 꼬셔보세요..^^; - 임인택
          주사마를 꼬드길 생각이양~ㅋ - [이승]
         정직이형~ 윈도우즈 프로그래밍 세미나 해주세여~ 세미나 번 하고 나서 테트리스 같은거 짜는 과제 번 내주는것도 회원들의 도전의식에 자극을 줄 수 있을거 같은데여, 말 들어보니깐 형 있을때의 데블스 캠프에서는 윈도우즈 프로그래밍 좀 알려주고 나서 테트리스 짜는거 했다던데여 - [상협]
         시간에 여유가 있으면 이런 시간을 마련해 보는것도 좋을 듯 합니다. 일종의 '토의'인데요. 신입생, 재학생 (여름방학정도 되면 신입생, 재학생을 구분하는 의미가 축소되기는 하지만 여기서 표면적으로나마 준비하는 사람들-참가하는 사람들을 구분해서 표현할만 마땅 표현이 없으므로 패쓰)들이 그동안 경험해 왔던 '프로그래밍 공부'에 대 이야기를 나눠보는 것입니다. 이러 이야기를 나눠봄으로써 참가자들간에 많은 피드백이 이루어질 것이고, 이러 경험들은 앞으로 공부를 하는데 있어서나 프로그래밍을 하는데 있어서 소중 양분이 될 것입니다.
         프로그래밍을 경험 기간에는 차이가 있겠지만 오히려 이 점이 이 토의를 더 영양가 있게 만들수 있다고 생각합니다. 신입생이 대학에 입학해서 처음으로 프로그래밍을 접했다고 했을 때, 대부분이 프로그래밍을 공부 방법은 수업시간에 특정 언어에 대해 수업을 들은 것이 대부분이고 코딩경험도 수업시간에 내준 레포트를 작성하는 것이 전부일 것입니다. (물론 개인적으로 열심히 사람들도 있겠지요) 재학생의 경우에는 자신이 그동안 어떠 방법으로 공부를 했으며, 어떻게 했으면 더 좋았겠다. 라는 생각을 분명히 갖고 있을 것입니다.
         이러 상황에서 이러 토의는 아주 의미가 깊을 것 같습니다. 최소, 재학생의 경우에는 신입생들을 통해서 자신을 돌아볼 수 있는 계기가 될 수 있고, 신입생의 경우에는 공부를 하는데 있어서 기존 재학생들이 선행 방법을 택하거나 아니면, 새로운 공부 모델을 창조하는데 도음이 될 것 같네요. 물론 여기저기서 좋은 컬럼이나 고전을 접할수도 있겠지만 같이 공부를 하는 학생들간의 토의는 이에 못지않은 효과를 얻을 수 있으리라 확신합니다. 만약 이러 시간을 정말 갖게 된다면 저에게도 큰 도움이 될것은 자명 일이구요. - 임인택
         [DevelopmentinWindows] 여기에 메세지 루프에 관 설명하고 툴 디버깅에 대 얘기 하면 되겠다. 감기가 걸려서 오늘 갈 수 있을 란지...
  • 문서구조조정토론 . . . . 41 matches
          직접 바꾸건, 누군가 바꾸어 주느냐의 문제가 아니고, 또 단순히 글 자체에 대 의도가 맞지 않아졌음을 이야기하는게 아닙니다. 문서 조정의 결과로 어울리지 않는 내용이 나타나는것 보다 큰 문제는, 다른 이들에게 잘못된 이야기들을 파생시킬 수 있는 점입니다. --이선우
          DeleteMe) 현재의 해당 스레드는 정모에 관 모든것을 다루는 것이라 생각해서 말씀하신 주제를 포용다고 생각합니다. 하지만, 의도의 전달이 잘못되었다면 작성자가 고치기를 간절히 바라고 있습니다. 현재 문서 구조조정이후 고치는 사람이 별로 없는거 자체가 약간 걱정이 되지요. --상민
          계속 대화의 핀트가 어긋나고 있습니다. 내용 자체가 전달하려는 의도와 어긋난 것이라면, 해당 작성자가 고치는게 가장 맞는 방법이라는데 동의합니다. 제가 제기 이야기는 그러 부분이 아님을 말씀드립니다. 서로 연관된 문제에서 위치를 바꾸는등의 문서 구조 조정 이야기 입니다. 이 경우, 내용 자체의 변화는 없지만, 문서 구조 조정자가 관련글의 위치를 바꿈으로써 잘못된 의미를 전달할 수 있고, 그 결과로써의 파생 결과를 우려하였습니다. 이는 해당 문서 작성자보다, 문서 구조 조정자가 좀 더 신경을 쓰는 편이 맞다고 생각합니다. --이선우
         ["neocoin"]:말씀하시는 문서 조정은 문서 조정은 문서 작성자가 손대지 말아야 다라는걸 밑바탕에 깔고 말씀 하시는것 같습니다. 문서 조정자는 특별히 문서 조정을 도맡는 사람이 아니고, 명이 하는 것이 아니라, 다수가 접근해야 다는 생각입니다. "다같이" 문서 조정을 해야 된다는 것이지요. 문서 조정을 사람의 도맡고 이후 문서 작성자는 해당 문서에서 자기가 쓴 부분만의 잘못된 의미 전달만을 고친다라는 의미가 아닌, 문서 조정 역시 같이해서 완전에 가까운 문서 조정을 이끌어야 다는 생각입니다. 즉, 문서 구조 조정이후 잘못된 문서 조정에서 주제에 따른 타인의 글을 잘못 배치했다면, 해당 글쓴이가 다시 그 배치를 바꿀수 있고, 그런 작업의 공동화로, 해당 토론의 주제를 문서 조정자와 작성자간에 상호 이해와 생각의 공유에 일조 하는것 이지요.[[BR]] 논의의 시발점이 된 문서의 경우 상당히 이른 시점에서 문서 구조조정을 시도 감이 있습니다. 해당 토론이 최대 빨리 결론을 지어야 다음 일이 진행할수 있을꺼라고 생각했고, thread상에서 더 커다랗게 생각의 묶음이 만들어 지기 전에 묶어서 이런 상황이 발생듯 합니다. 그렇다면 해당 작성자가 다시 문서 구조 조정을 해서 자신의 주제를 소분류 해야 다는 것이지요. 아 그리고 현재 문서 구조조정 역시 마지막에 편집분은 원본을 그대로 남겨 놓은 거였는데, 그것이 또 번 누가 바꾸어 놓았데요. 역시 기본 페이지를 그냥 남겨 두는 것이 좋은것 같네요.(현재 남겨져 있기는 합니다.) --상민
         '문서 조정은 문서 작성자가 손대지 말아야 다' 라는 어처구니 없는 내용을 어떻게 끌어냈는지 모르겠습니다. 어느 부분에서 도대체 '구조 조정은 구조 조정자의 몫이다'라는 식의 이야기를 했다는지 궁금하군요. 제 이야기는 현재의 잘잘못을 따지고, '문서 구조 조정은 ''누군가 그 일을 할 사람''이 알아서 해라'라는 식의 이야기가 아닙니다. 문서는 누구나가 노력을 해서 고쳐가되, 다만 문서 구조 조정자는(누가됬건 현재 문서를 구조 조정하고 있는 사람은), 자신이 결과에 따라 어울리지 않는 글이 될 수 있으므로 해당 문서 구조 조정의 시점에서 더 신경을 써야 다는 뜻입니다. 물론, 해당글의 작성자가 나중에 발견하고 이를 고칠수도 있지만, 처음 시점부터 좀 더 신경을 쓰는 방법이 효과적이라 생각 이유입니다. 번 더 강조하자면, 문서 구조 조정자가 신경을 쓸 필요가 있다라는 이야기가 해당 글의 작성자 자체가 '나는 문서를 구조조정할 필요가 없다'라는 의미는 절대 아님을 이야기합니다. 모로가도 서울만 가면 되지만, 더 편 방법이 있다면, 그런 방법을 택하는게 자연스러운건 자명 이치입니다. --이선우
          ["neocoin"]: 그렇다면 저에게는 지금까지 페이지가 나온 이유 자체가 모호해 집니다. 그럼 말씀하시는 주제가 결국 "문서 구조 조정은 신중히 해야다." 이것이라고 생각합니다. 이것은 의견이라기 보다 문서 구조 조정시의 기본 명제라 생각하며, 이중에 말씀하신 "문서 구조 조정시에 위치 변경은 글쓴이의 의도의 방향을 바꾼다."라는 것도 문서 구조 조정을 신중히 겠지요. 이런 것은 당연히 동의 합니다. [[BR]] 이것에 반대다는 말이 없고, 이는 해당 의견의 암묵적 동의라고 생각하고, 잘못된 부분에 대하여 다시 구조조정을 해 주십사 원 것인데, 다시 대화가 다른 방향으로 전개되어서 "문서 구조 조정자"와 "문서 작성자"로 나뉘어서 접근하시는 말씀인것으로 받아 들였습니다.[[BR]]해당 글처럼 잘못 된 부분의 지적 이후, 고치지 않는다면 다른 이가 해당 문서를 더 고치지 못하는 위화감 이랄까요. 그런것이 발생다고 생각합니다. 현재 위키에 00들와 01들이 이러 "조심스러움의 유발 요인" 때문에 활발히 글을 날리는데 방해가 될것이라고 생각합니다. 글을 장려하는 입장에서 글을 계속 올리다 보니, 대화의 주제가 어긋난 것 같습니다. --상민
         ["혀뉘"] : 위키 사용에 있어서 , 기존의 게시판과 같은 '글' 편집의 독자성,일관성 을 보장받지 못하다보니 이런 토의가 필요하게 된것 같군요. 사실 위키는 이러 편집의 권리를 많은부분 '공유' 다는 개념에서 나온것이기 때문에, 이를 너무 의식하면 위키 본래의 기능을 상실할 수 밖에 없을것 같습니다. 이런 일이 생기는 이유가, 그동안 ZP 의 움직임에 대해서 토론할 주제들이 많았기 때문에, 위키를 토론의 목적에 사용해서 그렇지 않았나 싶군요. 누구든지 글을 수정 할 수 있다는 위키의 장점이, '토론' 분야에 적용하면서 단점으로 바뀌게 되었다고 봅니다. '토론' 분야 만큼은 편집의 독자성을 보장 하는것이 어떨까요? 문서의 종류에 따라, 사실에 기초 문서는 여러사람이 손을 대서 '완전에 가까운 문서' 를 만들어낼 수 있겠지만, '의견' 에 기초 문서는 여러사람이 손을 대면 댈 수록 본래 의견제시를 했던 사람의 '의견' 은 훼손됩니다. 편집의 독자성이 필요하다고 생각됩니다. 망치로 대패질 할 수는 없는게 아닐까 합니다. 망치를 쓸 곳에 대패를 사용하려면, 대패 몸이 조금 상하겠지만, 휘둘르는 방법으로 못을 박아야지요 :)
         위키에서 편집의 권리를 '공유'하고 고쳐나가는 개념이 제대로 적용되는 것은, 위키를 쓰는 사람들이 점점 익혀나가야 할 부분입니다. 토론과 관련된 부분에서 위키의 방식이 단점으로 작용다고 보지 않습니다. 예를 든다면, KLDP의 토론란을 보면 더더욱. 스레드가 길어질수록 주제와 맞지 않는 글들이나 중간에 일어나는 감정싸움들은 걸러져야 할 것임에도 불구하고 그 자리를 차지하고 있습니다. 스레드가 길어질수록 결국은 논제를 벗어납니다. 위키스타일이라면, 문서구조조정을 통해서 그러 것을 어느정도 줄여줄 수 있을 것이라 생각됩니다.
         문제는 문서구조조정인데, 이는 문서구조조정자가 신도 아니고. -_-; 하지만, 본 저자의 의도가 벗어나지 않도록 문서구조조정을 해야 하는것은 당연 것이며, 추구해나가야 할 부분이겠죠. 저번에 문서구조조정 (데블스 관련) 을 했을때는 상민이랑 제가 넷미팅을 공유하고 대화하면서 문서구조조정을 했었습니다. (원래라면 데블스쪽에 있는 사람과 해야 더 무게균형이 있었겠지만) 중요 토론이라면 이런식의 방법도 고려해볼만 하겠죠. (단, 역시 cost가 더 크긴 하겠죠.)
         저는 PairProgramming을 가르치기에 앞서 NoSmok:PairDrawing 을 경험하게 합니다. 여기에는 여러가지 방법이 있는데, 구체적인 대상(사람 얼굴이나 동물 등)을 정해놓고 서로 줄 씩 번갈아 가며 그리는 방법이 있고, 아니면 아무것도 정하지 않고, 혹은 대강의 주제만 정해놓고 그냥 "멋진 그림"을 그리자는 합의하에 번갈아 가며 줄 씩 그리는 방법이 있습니다. 모두 그리는 중엔 말을 하지 않습니다. 여기서, 후자 경우 적극적으로 상대방의 의도를 이해하려는 노력이 없으면 좋은 그림이 나오기 어렵습니다 -- 사람은 사람을 그리려고 하고 다른 사람은 나무를 그리려고 하는(혹은 상대가 나무를 그리려고 하고 있다고 오해) 경우를 생각해 보세요. 상대의 의도를 이해하려고, 또 그것이 더 잘 드러나도록 서로 노력하다보면 혼자 그린 그림보다 더 좋은 그림이 나오는 경우가 종종 있습니다.
         해당 공동체에 문서구조조정 문화가 충분히 형성되지 않은 상황에서는, NoSmok:ReallyGoodEditor 가 필요합니다. 자신이 쓴 글을 누군가가 문서구조조정을 걸 보고는 자신의 글이 더욱 나아졌다고 생각하도록 만들어야 합니다. 간단 방법으로는 단락구분을 해주고, 중간 중간 굵은글씨체로 제목을 써주고, 항목의 나열은 총알(bullet)을 달아주는 등 방법이 있겠죠. 즉, 원저자의 의도를 바꾸지 않고, 그 의도가 더 잘 드러나도록 -- 따라서, 원저자가 문서구조조정된 자신의 글을 보고 만족할만큼 -- 편집해 주는 것이죠. 이게 잘 되고 어느 정도 공유되는 문화/관습/패턴이 생기기 시작하면, 글의 앞머리나 끝에 요약문을 달아주는 등 점차 적극적인 문서구조조정을 시도해 나갈 수 있겠죠.
  • 새싹교실/2012/세싹 . . . . 41 matches
          * feedback은 최대 성의있게 써주세요.
          (설치 도중에 설정해줘야되는 것 : 글자판 배치를 국어(101/104키 호환)으로 해야됨!)
          2) linux의 다양 명령어 검색해보기
          * 새싹 첫시간을 가졌습니다. 캡스톤실도 처음 들어가봐서 많이 신기했습니다. 처음 듣는 용어, 처음 보는 화면들 생소게 많지만 재미있을 것 같아서 기대가 됩니다. 숙제도 권장사항도 열심히 해보겠습니다. 앞으로 잘 부탁드립니다. - [권영기]
          * 그리고 실패하였습니다. 7z 젠장... 여러단계를 번에 풀어주는거 같군요. 메뉴얼을 읽어보니 cmd로 풀라고 합니다. 시키는데로 하니 msi 파일이 나오는군요. -[김희성]-
          1) gcc 컴파일 옵션이 어려웠습니다. - gcc 컴파일 옵션의 대부분은 컴파일에 크리티컬 것이 아니라 사용자에게 정보를 제공하는 것이 목적입니다. 그냥 안써도 되요 :D
          - physical : 비트들을 물리적으로 이동시키는 역할을 합니다. 유선의 경우 다양 케이블, 무선일 경우 공기가 매체가 되겠네요.
          - 인터넷 소켓(Internet socket, socket' 혹은 network socket 라고 부르기도 다)은 네트워크로 연결되어 있는 컴퓨터의 통신의 접점에 위치 통신 객체다.
          네트워크 통신을 위 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환다. - wikipedia
          5) 자세 사항은 http://forum.falinux.com/zbxe/?document_srl=441104 를 참고하세요.
          3) 난이도가 다소 높을 수 있으므로 완성을 요구하지 않습니다. 번 해보고 금요일날 다시 이야기 나눠보겠습니다.
          * 이 반 빡세네요 ㅋㅋㅋㅋ 네트워크 가르치기 힘들겠다… 난감할땐 맨땅에 헤딩하는 것 그것이 진정 공돌이의 길이라고 둘러대는 게 좋을듯… - [김수경]
          * 오피에서 숙제를 했습니다. VS로 하려니까 뭔가 막 오류가 나는데 고치지는 못하겠고 그래서 우분투를 깔아서 시도를 했네요. 용어가 익숙하지 않아서 그런지 함수 설명을 봐도 번에 와닿지 않아서 힘들었습니다. 아 그리고 숙제를 하다가 생긴 문제인데요. 서버 프로그램을 처음 실행했을 때는 괜찮은데 두 번째로 실행했을 때는 Bind에러가 나네요. 그래서 매번 실행할 때마다 포트값을 수정해야했습니다. 왜 이런 문제가 생긴걸까요? - [권영기]
          * [권영기] 학생이 맞닥트린 bind 오류는, 해당 포트에 내가 가서 눌러앉으려고(bind하려고) 가 보니까 다른 놈이 이미 차지하고 있어서 bind하지 못했다는 오류입니다. 프로그램에서 bind 후 다 쓰고 나서 bind를 해제하지 않으면 이런 일이 발생합니다. bind 해제 코드를 꼭 넣도록 하세요. - [황현]
          * 자세 해결 방법입니다. 소켓을 생성하고나서 바로 setsockopt(mySocket, SOL_SOCKET, SO_REUSEADDR, &anyIntegerVariableThatContainsNonZero, sizeof(anyIntegerVariableThatContainsNonZero)); 함수를 호출하면 이 소켓의 생명이 다하는 순간 해당 포트에 자리가 나게 됩니다. - [황현]
          * 지난 시간에 수업 내용에 대해 이야기 했습니다.
          - thread를 이용하여 서버와 클라이언트를 어플리케이션 안에서 사용하는
          - 양방향 통신중 쪽이 off-line상태인 경우에도 메시지의 전송과 수령이 가능하도록
          * 지난 숙제에서는 클라이언트가 번만 메시지를 전송하고 받았는데, 지속적으로 전송하도록 구현해봅시다.
          * 다중접속 가능 클라이언트랑 서버 (스레드를 이용 일 대 다수 연결 구현)- [김희성]
  • FocusOnFundamentals . . . . 40 matches
         어떻게 특정 플랫폼에서, 특정 언어로, 화면을 빨리 리프래쉬하는지 테크닉을 가르쳐주는 책에 관심있는 사람은 많아도 모든 플랫폼에서, 모든 언어로, 특정 문제에 어떤 패러다임을 적용해야 할 지 관심있는 사람은 드물다.
         소프트웨어 엔지니어링 교육은 근본에 집중할 수 있으며, 또 그렇게 해야 다.
         내가 EE 교육을 시작했을때 나는 나의 낡아빠진 'RCA Tube Manual'이 쓸모없는 것임을 알고 놀라게 되었다. 나의 교수들 그 누구도 특정 tube 나 tube 의 타입의 장점에 대해 칭찬 적이 없었다. 내가 왜 그랬는지 질문했을때 '유명했던 디바이스나 기술들은 10년 내에는 별볼일 없어진다'는 것을 알게되었다. 대신, 나는 근본적인 물리, 수학, 그리고 내가 오늘날까지도 유용함을 발견하는, 사고하는 방법에 대해 배웠다.
         명백하게, 실용적인 경험은 모든 엔지니어링 교육에서 필수적이다; 이는 학생들로 하여금 그들이 배워온 것을 어떻게 적용할지에 대해 배우는데 도움을 준다. 나는 연구실 숙제, 나의 취미 (아마츄어 라디오) 에서 기술들에 대해 많은 것을 배웠고, 또 여름방학때 아르바이트 등에서도 배웠다. 하지만, 수업들은 더 지속적인 가치들의 개념을 가르쳐주고, 이는 오늘날까지도 나에게 새로운 기술들에 대해 이해하고 이용할 수 있도록 도움을 주고 있다.
         소프트웨어 필드에 익숙 독자들은 오늘날의 '중요' 주제들은 언급되지 않음을 지적다. ["Java"], "웹 기술", "컴포넌트 지향", 그리고 "프레임워크" 는 나타나지 않았다. 이러 접근법과 툴들에 기반 많은 좋은 아이디어들은 반드시 가르쳐야 다. 연구실 숙제들과 다른 프로젝트들은 학생들에게 가장 대중적이고 유명 툴들을 이용할 기회를 제공해야 하며, 또 뭔가 새로운 것을 경험할 기호를 제공해야 다. 하지만, 우리는 이러 주제들은 오늘날의 이른 변덕을 위 교체품들 이며 만병통치약이며 곧 교체될 것들임을 기억해야 다. 교육자들에게는 오늘날의 학생들의 성공이 40년은 지속할 수 있어야 함을 기억해야 할 책임이 있다. 우리는 이 기간동안효과적이고 유용 근본들을 알고, 그리고 수업시간에 이 원리들을 강조해야 다. 많은 프로그래머들은 특정 시스템이나 프로그래밍 언어를 배우는 것이 뭔가 다른 것을 배우는 것일 뿐, 그 그거 자체의 목표가 아니라는 사실에 대해 시야를 잃곤 다.
         학생들은 일반적으로 가장 많이 이용될 것 같은 언어들 (FORTRAN 이나 C)을 가르치기를 요구다. 이는 잘못이다. 훌륭하게 학습받은 학생들 (즉, 바꿔 말하면, clean language(?)를 가르침받은 학생)은 쉽게 언어를 선택할 수 있고, 더 좋은 위치에 있거나, 그들이 부딪치게 되는 해당 언어들의 잘못된 특징들에 대해 더 잘 인식다.
         지금 공부하고자 하는 것이 사장될 기술일까 걱정됩니까? 정말 뜰 수 있을까 의심이 갑니까? 많은 사람들은 자바가 사장될 것이라고 말했습니다. 많은 사람들은 블루투스가 뜰 것이라고 말했습니다. 어떻게 해야 하나요? FocusOnFundamentals. 오라클만 후벼파기보다 RDB의 근본을 후벼파면, 자바만 후벼파기보다 OOP의 근본을 후벼파면 적어도 향후 5년간은 든든할 것입니다. 이런 근본을 후벼파는 것은 언제할 수 있나요? 학생 때 할 수 있습니다. 사회에 나가면 하기 어렵나요? 그렇습니다. 미리 지엽에만 매달릴 필요는 없습니다. 단, 예외는 있습니다. 공부하고 싶어서 밤에 자다가도 가슴이 뛴다면 그것이 지엽이건 근본이건 매진 하십시오. 후회하지 않을 겁니다. 하지만 마냥 해야할 것 같아서, 나중에 취직에 도움이 될 것 같아서, 남들 다 하니까 등등의 잡다 기술을 주워담는 어리석음은 범하지 마십시오.
         저는 주변에서 자바만 공부 사람을 봤습니다. 그 사람은 자바가 아닌 다른 언어를 보면 이건 나랑 상관없는 거라고 생각하며 고개를 돌립니다. 어느 하나의 OOP 언어에 계를 두지 않고 공부하는 사람을 봤습니다. 그 사람은 다른 것간의 관계를 찾고 연결짓고, 더 큰 그림을 만들어 나갑니다. 둘 중에 후자가 OOP(심지어는 자바 자체)에 대 이해가 더 깊고 본질적이었습니다. 저는 점점 더 이와 비슷 사례를 접하게 됩니다.
         자바를 후벼파는 것은 좋습니다. 그러나 동시에 OOP도 후벼파야 합니다 -- 사실 OOP를 후벼파면서 자바를 등시 하기는 어려울 것입니다. 하지만 자바'''만''' 후벼파는 것은 다시 번 생각해 보십시오(그러나 제가 앞서 말했듯이 잠자다가도 자바 때문에 가슴이 뛴다면 공부하십시오). 미리 배움에 계를 긋지 마십시오. 그리고 좀 추상적인 이야기가 될지도 모르겠는데, 우리는 "소크라테스가 죽는다"는 것을 배우는 것에서 그치길 원하지 않습니다. 우리는 "사람은 죽는다"는 것을 배우고 싶어합니다. 그러나 그 배움은 직접적인 사실의 체험 이후에 가능합니다. 고로 모든 공부는 기본적으로 귀납을 바탕으로 합니다(이것이 제가 말하는 "몸 공부"입니다). 귀납식, 연역식 공부라고, 또 그것을 개성이라고 구분하는 것은 무의미합니다. see also NoSmok:최기''''''의 추측록
         우리가 조심해야 할 것은 어느 방법이 절대적이라고 하는 것과, 반대로 상대주의에 매몰되는 것 두가지 입니다. 무엇이건 괜찮다(anything goes)와 이것만이 유일하다 중 하나만 골라야 하는 것은 아닙니다.
         사실 제 이야기는 수사적인 차원에서 약간 과장된 것일지도 모르겠습니다. FocusOnFundamentals가 적용되는 범위를 꼭 계지을 필요는 없을 듯 싶습니다. 자바를 공부다면 자바의 "fundamentals"에 더 집중을 할 수도 있겠죠. 하지만 늘 "큰 그림"을 보도록 노력해야 할 것입니다. 내가 공부하는 것 속에서 "fundamentals"는 무엇이고, 내가 공부하는 것이 속 범주에서 "fundamentals"는 무엇인지.
         말은 길게 했지만 결국 DavidParnas가 말과 같은 선 상에 있다고 보면 되겠습니다.
         세상에는 참 다양 사람이 있습니다. 귀납식의 공부를 해야 잘되는 사람, 연역식의 공부를 해야 잘되는 사람.. 자바를 죽도록 공부했더니 OOP의 근본만을 후벼판 사람보다 더 OOP를 잘 꿰는 사람도 있을 수 있습니다. RDB가 아닌 오라클만이 RDB의 전부라고 생각하는 사람이 오히려 더 빨리 RDB의 근본을 깨칠 수도 있습니다. 컴파일러학문이 나오고 포트란 언어가 나온 것은 아닙니다. 어느 하나의 방법만이 옳다고 생각하지는 않습니다. 그리고 그 어떤 것도 잡다하지는 않다고 생각합니다. 사람마다 너무나 다양 개성이 있겠지요. --["아무개"]
          ''우선, 제가 OOP나 RDB 등 근본을 공부하라고 말을 OOP, RDB 이론서만 붙잡고 늘어져라는 의미로 곡해하신 듯 합니다. 자바 말고 OOP를 공부해라는 말이 부디 자바책은 보지말고 OOP 이론서만 보라는 말로 오해되지 않기를 바랍니다(저는 요즘들어 OOP 공부는 스몰토크에서 시작하는 것이 좋지 않을까 생각하고 있습니다). 그리고 잡다하다는 것은 여러가지 너저분하게 섞여있어 체계가 없다는 것입니다. "X가 잡다하다"고 하는 것은 X 속에 있는 내용물이 체계가 없다는 이야기가 됩니다. 잡다하다는 것은 존재 지향이 아니고 관계 지향의 표현입니다. --["김창준"]''
  • 정모/2011.7.18 . . . . 40 matches
          * 참가자 : [김수경], [서지혜], [권순의], [김준석], [송지원], [임상현], [김태진], [정진경], [고종]
          * 주자 : [고종]
          * 월요일에는 [wiki:JosephYoder방번개모임]에 다녀옴.
          * 심리학에 대 책을 읽음.
          * 이미 구현 사람은 기능을 추가하거나 변경하여 구현 or 리팩토링
          * 아직 구현 안 사람은 기능 구현
          * 내일부터는 심슨의 장면을 따라해보는 시간도 가지기로 했음.
          * 자신이 주동안 했던 것 중 다른사람들에게 도움이 될만 것들을 가지씩 공유하는 시간이었습니다.
          * 각자 자기가 공유 리빙포인트를 적어주세요~
          * 요즘 다니는 학원 선생님 왈.. 긍정적인 자세는 좋지만, 무작정 긍정적인 자세 보다는 현실을 직시하는 것이 우선이다. 라고 하시며 자신이 아는 50대 정도의 아저씨 이야기를 해 주셨는데 50대가 되면 이 나이대 절반의 남성은 불행하고, 그 나머지는 고군분투다. 즉, 세상은 우리가 생각하는 것 만큼 만만 곳이 아니니 무작정 난 잘된다라는 것 보다는 현실을 직시할 줄도 알아야 다라고 하셨네요 - [권순의]
          * ACM문제를 풀면서, 코드짜면서 생각하는게 더 빠른거 같아~ 라는건 헛소리라는걸 깨달았습니다. 코드를 짜기에 앞서 여러번 생각해보고 많은 예외상황을 고려 후에 확신이 들때서야 코딩하는게 서너번씩 새로 짜지않고 바로 좋은 코드를 짤 수 있는 방법인거 같았습니다. -[김태진]
          * 막상 떠오르는게 없어서 진짜 리빙포인트를 얘기해버렸는데... 근데 정말로 3근에 만 원 하는고기 콜라에 담가뒀다 먹으면 먹을만 하긴 해여모름지기 싼고기는 양념을 해먹어야 평타/ 다음엔 진지하게 생각해서올게요...-[고종]
          * 고기 냄새 빼는데는 마늘만게 없답니다. - [지원]
          * 그렇게 진지할 필요는 없지만 정모는 정된 시간동안 진행되는거니까 조금 더 함께 알면 좋은 걸 공유하는 시간이 되었으면 좋겠어요:) + 사실 고기는 비싼 고기를 사먹는 게 최고라고 생각합니다... 엥겔 지수가 높아지더라도... - [김수경]
          * 독서모임에서 읽은 책을 통해 느낀 리빙포인트입니다. '상대방의 심리를 잘 파악하려면 상대방에 대 관심이 필요합니다.' - [지원]
          * Joseph Yoder와의 만남에서 배운 것. Naming은 상당히 중요합니다. Naming이 적절하면 자세 구현을 보지 않아도 됩니다. - [김수경]
          * 송지원 학우가 자격증 취득 DB2에 대 간단 공유
          * [wiki:JosephYoder방번개모임]을 참고해주세요.
          * (아이폰 사파리가 스크롤이 없어서 잠시 새치기 할께요 ㅠㅜ)첫 OMS를 하게 되었습니다. 사실 내용이 참 빈약해서... 아 재미 없고 망하는거 아닌가 걱정했는데 다른 후기들 보니까 생각보단 반응이 좋네요. OMS끝난뒤에 했던 활동은 저에겐 너무 어려워서 졸고 말았습니다 .. 죄송해요분명히 OMS시작 5분전만해도 잘되던 팀뷰어가 잘안돼서 당황했음 - [고종]
          * 후기는 작성 순서대로 쓸 필요 없으니 새치기해도 괜찮아요~ OMS는 원래 거창 세미나라기보단 관심사를 공유하는 코너라서 부담가질 필요 없답니다. 그리고 내용 전혀 빈약하지 않았어요!! - [김수경]
  • HowToStudyDataStructureAndAlgorithms . . . . 39 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)
         DeleteMe) 1학기끝나가는 마당에 후회 막급임. 모든 것들을 번씩 구현해보고 갔어야하는데... 새로 들으시는 분들 꼭 번씩 구현해보세요. 지금 생각해보니 정작 중요 것을 등 느낌입니다 - [eternalbleu]
  • 데블스캠프 . . . . 39 matches
         2002년을 시작으로 매년 교내에서 6월말~7월초에 5일간 연속으로 진행하는 컨퍼런스 입니다. . 교내 홍보를 통해 Zeropage 회원 뿐만 아니라 Zeropage 외의 학생들에게 컴퓨터공학의 기초적인 주제부터 현재 트렌드까지 강의 내용을 함께 공유하는 자리입니다. Zeropage의 현재 활동하는 재학생뿐만 아니라 1기 선배님부터 참석하여 발표를 진행합니다. 링크([https://wiki.zeropage.org/wiki.php/데블스캠프])에 간략 설명이 포함되어 있습니다
         <p>컴공에 입학지 엊그제같은데, 어느덧 기말고사를 치고 있습니다. 이제 곧 여름방학 두 달 동안 뭘 해야 좀 제대로살까 생각해보고 있지 않나요?? 방학이라고 놀기만 하자니 좀 그렇고, 그렇다고 다음 학기를 예습하려니 뭐부터 해야 할지 모르겠고…</p>
         <p>그럴 땐 ZeroPage에서 준비 <b><font color="red">Devils Camp</font></b>에 참여해보세요!</p>
         <p>Devils Camp는 <b><font color="green">전공과 관련 있는 다양 주제로 지식과 경험을 공유</font></b>하는 시간입니다. ZeroPage의 재학생들과 졸업하신 선배님들께서 2~3시간씩 각기 다른 주제로 세미나를 진행하는 방식으로, 학과 커리큘럼 외의 다양 분야를 접해보고 직접 실습도 해볼 수 있는 흔치 않은 기회입니다.</p>
         <p>'나는 1학년인데 저기 가면 알아듣지도 못하는 것 아닌가?' 하는 걱정은 접어두어도 됩니다:) 상당수 세미나는 컴공에 관 기초지식만 있으면 흥미롭게 들을 수 있는 분야와 내용으로 구성되어 있습니다.
         대학에 들어가서부터 지금까지 밤샌 일은 머리카락을 움큼 집어야 될것
         그런데 왜 하필 이렇게 끔찍 방법, 그것도 5일(또는 7일)동안 연속해서 하는
         않다. 그에 대 답변이 그동안 충실히 되어졌는지는 알수 없지만 그때 밤을 새본
         사람은 따로 이야기하지 않아도 그때의 느낌만큼은 알 수 있을 것이라 생각다.
         앞에서 권국이는 그것이 내가 창조해낸 방법이라고 했는데, 나의 의지에 의
         이를 설명하기 위해 시간을 Devils가 처음 만들어질 시점인 95년으로 돌아가야 다.
         부터 다음날 6시까지의 강행군이 시작되었다. 그때 참여 사람은 95학번만 6-7명
         부족 수면을 채워갔던 것 같다.(이게 바람직하지 않은 것은 알지만) 그래도
         밤새는 것은 평가를 위 것이 아니다. 이것으로 사람들의 근성을 알아보려는
         며칠씩 밤새도록 있는 것이 그리 중요하지 않을 수 있다. 하지만, 중요것은
         가끔 언론에서 극 상황에 도전하는 사람들의 이야기를 보곤 다. 그 사람들을
         보면서 편으로 왜 저런 고생을 사서 하는 것일까 하는 의문을 갖기도 하지만
         또다른 편으로 그들이 그런 험 환경을 극복하고 무언가를 이루었을 그 순간
         우리는 그런 상황을 하나 설정해서 그런 시도를 번 해보자는 것이다. 뭐하러 사서
         것이다. 이것이 그런 느낌을 가져다주지 못다 하더라도 그런 각오와 목표로
  • 데블스캠프2012/셋째날/후기 . . . . 39 matches
          * [정종록] - 나도 딴짓했음요.. 미안 08 전체가 딴짓듯...
          * [박정근] - 늦게와서 제대로 못 들었네요ㅠ 뒷부분에 API를 사용하는 부분을 보니 관심이 생겼습니다. 번 들여다 봐야겠어요
          * [서영주] - http request를 직접 보내서 그 결과를 받아온게 인터넷 페이지의 소스보기와 같다는 부분을 보여줘서 웹에 대 느낌을 조금 더 가깝게 느낀건 좋았습니다. 개인적으로 오픈api는 학기중에 질리도록 봐서 더이상 보고싶지가 않을 정도였지만. -_-
          * [김윤환] - 사진이나 글자가 바이너리 수에서 변환되는 부분이 상당히 인상깊었습니다.
          * [정진경] - OpenAPI를 재미삼아 쓰기엔 트래픽 제 때문에 과정이 좀 귀찮다고 생각되네요. 책 지식검색과 관련해서 해보고 싶은 프로젝트가 있는데 배워본 김에 시작해볼 수 있길...
          * [서민관] - 개인적으로 1학년을 대상으로 정말 내용을 쉽게 하려고 했는데 그러다 보니까 내용이 약간 뜬 느낌이 있네요. 그리고 번에 너무 많은 주제를 다룬 것 같기도 합니다. 소켓 + HTTP + Open API라 주제가 약간 흐릿했죠. 혁준 선배는 예전 데블스에서 웹에 대해 꽤 알기 쉽게 다뤘던 것 같은데 말이죠... 하지만 개인적으로 정말 아쉬운 것은 1학년들테 제가 이번 세미나를 준비하면서 알게 된 것들의 반도 못 전달했다는 점이군요. 세미나 준비를 하면서 덕분에 저만 잔뜩 공부했네요.
          * [김수경] - 그냥 API 사용하는 법에 대 얘기만 할거라 예상했었는데 소켓부터 시작해서 제법 이론적인 이야기들이 많이 나와서 좋았습니다. 사실 저는 네트워크 수강을 마친 상태라 설명에 불만이 없었지만 새내기 입장에서는 설명이 이해하기 조금 어렵지 않았을까 싶네요. 내용 자체가 익숙하지 않은 것 투성이니까요ㅠㅠㅠ 하지만 마지막에 직접 실습을 해보면서 재미도 느낄 수 있었을 것 같습니다.
         = 테스트를 위 CTIP =
          * [권순의] - SE 수업을 듣는 듯? 비슷 내용이 많이 나오네요. 사실 찾아보면 많은 툴들인데 알려고 하지 않으면 잘 알지 못하는 것들이라 새내기들테 많은 도움이 되길 바라는 뭐 그런... 시간이었습니다. 민관이테 테스트에 관해서 많이 공부하고 있다는 소리를 들었었는데 정말 그런 것 같다는 생각이 들었습니다. 이것 저것 많이 찾아보고 것 같네요.
          * [정종록] - SE 수업이 생각났던 테스트... 새내기들테 도움이 되는 시간이었을텐데 자바이야기가 많아서 잘 들었을지 모르겠네요. 전 관심있는 내용은 아는거고 뒷부분은 관심이 잘 안가는 것도 있어서... 내용 자체는 참 필요 내용인데 말이지....
          * [김윤환] - svn(servertion) 내용이 가장 인상깊엇습니다. 그쪽부분은 정말 쓸모 있는 부분인것같아요. 그리고 테스트 부분에서 정말 필요 부분만 테스트다는것은 매우 설득된것 같습니다. 당연거지만 설득당해버렷어요? 수긍해버렷어요 ㅎㅎㅎ
          * [엄제경] - 허헛, 웬지 나중에 테스트를 해볼만 것을 내가 만들 수 있을진 의문이지만, 나중에 팀프로젝트를 할 때 쓸만 좋은 공유방법을 배우게 되어 좋았어요 ㅎ.
          * [서영주] - 왜 이런 환경을 구축해서 사용하는가에 대건 다른 사람들과 프로젝트를 진행해보지 않았으면 느끼기 어려운 것 같은데 그 필요성을 조금 더 말했어야 했던 것 같습니다. 저학년들은 일단 SVN으로 편하게 프로젝트를 공유할 수 있다는 것 정도만이라도 알아가면 좋겠다고 생각합니다.
          * [안혁준] - 음... CTIP라는 말에 겁을 먹었는데 알고보니 다 알고 있는것이었다는점..정도... 총제적인 환경에 관해서 말것 같았는데.. 막상 저는 일자리 구하는거 때문에 정신이 딴데 가있어서... 죄송...
          * [서민관] - 개인적으로는 테스트나 환경 구축에 관심이 많은 만큼 꽤 기대를 하고 들었습니다. 내용 자체는 좋았다고 생각하는데 아무래도 세미나 대상이 애매하다는 느낌이 강하네요. 좀 더 이런 환경이나 각 플러그인들이 왜 필요지에 초점을 맞춰서 이야기를 했으면 흥미 유발이 될 수 있지 않았을까 하는 생각이 듭니다. 세미나 형식도 형진 선배 말대로 좀 알고 찾아다니는 사람들테 하기에 적당했다는 느낌이 드는군요. 내용이 좋은 만큼 많이 아쉽습니다.
          * [권영기] - SVN 설치할 때, 인터넷이 잘 안되서 설치하는 데 직접적인 참여를 하지못 것이 상당히 아쉽네요.
          * [권순의] - 뭔가 현이 다운 세미나로 시작해서 진규 스럽게 끝났다고 하면 현이테 수치겠지? ㅋㅋㅋ 농담이고,, Apple과 관련된 것은 역시나 빠삭하게 설명이 나오는군요. OS에서 배운 내용과 연관되어 이해되기 쉬웠습니다. 뭔가 시간의 퀄리티 있는 강의를 들은 느낌이랄까,, 그렇게 이런 저런 이야기 다 듣고 나서 생각나는 건 좋아하고 즐기면 전문가가 되나 봅니다.
          * [황현] - 키노트를 끝내고 내려와서 생각해보니 LLVM+Clang에서 가장 중요 부분인 컴파일 오류 화면을 안 다루고 지나갔다는 것이 떠올라 멘붕합니다. 제가 다루고 싶었던 바로 그걸 안 긁고 넘어갔네요. 대신 그거랑 관련된 포스팅 하나를 링크하니 꼭 읽어보도록 하세요: http://minjang.egloos.com/2914484 - [황현]
          * [서민관] - 새삼 드는 생각이지만 황현은 전문적인 지식이나 프레젠테이션 솜씨나 어디 하나 빠질 데가 없는 것 같네요. 몇몇 1학년들이 몰라서 대답하기 곤란했던 개념적인 용어들도 정확하든 정확하지 않든(드립이든) 뚜렷하고 날카롭게 가르고 가는 느낌은 들으면서 상당히 감탄했습니다. Block이라... 개인적으로는 비표준이라는 단어가 정말 찝찝하긴 데, 표준으로 정립되면 좋겠다는 생각이 듭니다. C에도 함수 객체가 들어오면 좋겠죠.
          * [김태진] - 현이형다운 주제였습니다. LLVM의 경우, 작년에 현이형 옆에서 공부하다가 GCC네 뭐네 물어보다 들은 기억이 나네요. 좀 더 정리되어 정말 좋았습니다. 역시 현이형이 많은걸 알고 있네요. 작년 학기초부터 현이형테 배운게 많아(특히 APPLE관련) 도움을 많이 받았더니 항상 감사하다는 말을 전하고 싶네요.
  • 데블스캠프계획백업 . . . . 39 matches
         2002년 6월 1일 기준 ["데블스캠프토론"] 에 대 백업페이지입니다. ["문서구조조정"] 관계로 백업해둡니다. 문서구조조정 후 문맥의 변화로 인해 글의 의도가 바뀌었는지 각자 확인해주시고 고쳐주시기 바랍니다. --석천
          * 이번 30일 정모때 이야기할 방학 스터디의 시작인 ["데블스캠프"]를 어떻게 진행할지에 대해서 정모 전에 우선 대략적인 모습을 구상하기 위해서 만들어 봤습니다. 그래야 정모때 회의가 너무 길어지는것을 방지할 수도 있고, 이 안건이 상당 중요성을 가지고 있는데 정모에 피치 못할 사정으로 못 나오는 사람들이 의견을 낼 수 없을거 같아서 그러 사람들의 의견도 들어봤으면 좋을거 같아서 이 페이지를 열었습니다.
          * 우선 신입생들이 직접 프로그램에 고민을 많이 하게 했으면 합니다. 기술적인 것보다는 알고리즘을 스스로 생각하게 하는 것을 우선적으로 많이 하게 했으면 합니다. 그리고 전에 창준 선배님이 가르쳐 주신 페어 프로그래밍 방식도 번 해 보는 것도 괜찮을 듯 합니다. 구체적인 모습은 저도 좀 생각 하고 다시 쓰겠습니다. 마지막으로 개인적인 이야기지만 작년에 ["데블스캠프"]를 하며 일주일 동안에 정말 많은 걸 배우고 느꼈습니다. 그것을 후배들도 느끼게 했으면 좋겠습니다...^^ --재동
          * ["PairProgramming"]은 안했으면 하네요.. 아직 프로그래밍에 대 기초가 없을텐데.. 데블스 캠프의 목적이 프로그래밍의 기초를 다지는데 있지 페어 프로그래밍 방법의 전수는 아니라고 생각하거든요. --태호형
          ''["PairProgramming"]을 하냐 안하냐 하는 것은 크게 중요 것은 아닌데, 가지 오해가 있군요. 페어 프로그래밍은 "["PairProgramming"] 방법의 전수"를 위해서 하는 것이 아니고, 프로그래밍을 잘하기 위해서 하는 것입니다. 과외가 "과외방법의 전수"를 목적으로 하는 것이 아니고, 공부를 잘하기 위해서 하는 것이듯. --JuNe''
          * 솔직히 저는 ["PairProgramming"]의 장점을 모르겠습니다. 같이 프로그래밍을 하면서 다른 사람의 프로그래밍 기술을 습득하는것이 장점인지 아니면 프로그램의 개발 속도 향상을 하는것이 장점인지 .. 아마도 둘다 장점이 되겠지요. 하지만 ["PairProgramming"]의 목적은 둘중에 개발 속도 향상에 중점을 두고 있다고 생각하네요. 다른 사람의 프로그래밍 기술의 습득은 부가적인 것이구요. 후배들에게 하는 세미나는 개발을 위게 아니고 실력 향상을 위 것인데 제가 보기에는 ["PairProgramming"]을 해서 얻는 기술보다는 기존의 방법들이 훨씬더 효과적일거라고 생각하네요. 그들 자신이 이 문제를 어떻게 해결해야 할 것인가에 대 고민을 하고 자신의 생각을 코드로 표현할 수 있는 능력을 기르는 것. 문제 해결의 해법을 어느정도 찾을 수 있고 자신의 생각을 코드로 표현 할 수 있으며 타인의 코드를 완벽하게는 아니더라도 어느정도 이해 할 수 있는 수준이 된 사람이라면 ["PairProgramming"]으로 얻을 수 있는 기술들은 많을거라 생각하지만 전혀 그렇지 않는 신입생들에게는 무리일거 같군요. -태호-
          * 작년에는 '간략 세미나(매우 짧습니다.) + 과제 제출 + 다음 문제 관 세미나 + 제출...' 이런 식이었습니다. 세미나라 하면 거의 문제가 무엇인지를 알려주는 정도였습니다. 스스로 고민을 많이 하게 했던 캠프였습니다. 당시 과제의 갯수는 대략 20개 정도였습니다. --창섭
          * 여태까지 있었던 ["데블스캠프"]는 짤막(정말 어이없을 정도로 짧을 수도 있는..^^) 세미나 직후 문제 내주기, 풀기 등으로 이루어졌던 걸로 압니다. 이번에도 그렇게 할 것인지.. 아니면 Team 프로젝트식으로 선후배가 팀이 되어 하는것이 좋을지도 생각해봐야겠습니다. 그런데 아직 경험이 부족 1학년들과 선배들이 페어가 되어 다면 (잘하는 사람 예외) 선배들만의 잔치가 될 우려가 있기 때문에 잘 생각해보고 정해야겠습니다. --창섭
          * 작년엔 선배들이 1학년들할 때 지켜보면서 많은 도움을 주셨습니다. 이번에는 어떻게 할까요. 참. 작년엔 선배들이 각각 파트를 나눠서 세미나를 했습니다. 그리고 이번 회의때는 캠프기간에 무엇을 다루었으면 하는지도 있었으면 합니다. 방법 못지 않게 중요 것이 '무엇을' 이니까요. 작년엔 HTML, C/C++, API, MFC 등을 했습니다. 물론 API, MFC 는 맛봬기였구요. 자료구조도 다루었습니다. --창섭
          * 꼭 힘들고 고되게 밤새가며 하지 않으면서도 많이, 오히려 더 많이 얻을 수 있다고 생각합니다. 어떻게 하면 모두 즐겁고 유익 시간을 가질 수 있을까요? see also Wiki:SustainablePace --JuNe
          * NoSmok:ApprenticeShip 모델을 적용해서, 처음에는 선배 주도로 프로젝트를 하나 하고, 다음에는 조금씩 후배가 안으로 들어오게 하고, 선배는 바깥으로 빠지는 것도 좋습니다. 이 NoSmok:ApprenticeShip 에는 전통적으로 두가지가 있습니다. 재단사들의 경우, 사람이 새로 들어오면 맨 마지막 마무리 일(예컨대 단추달기 등)을 맡깁니다. 그러면서 경험이 쌓이면 공정을 역으로 거슬러 올라오게 합니다. 즉, 이번에는 단추달기도 하고, 주머니 달기도 하는 겁니다. 다음에는 단추달기, 주머니 달기, 팔 만들기처럼 하나씩 늘려 갑니다. 어느 시점이 되면 자신은 Journeyman이 되고 작은 일은 새로 들어온 Apprentice에게 넘기고, 자신은 나름의 확장을 계속하죠. 반대로 처음 공정부터 참여를 시키는 방법(항해사)도 있습니다. 중요 것은 "주변"(덜 중요 것)에서 "중심"(더 중요 것)으로의 점차적 확장이지요. 이렇게 되면 견습공은 매번 "제품의 완전 개발 과정"을 관찰할 수 있고, 어떻게든 도움이 되는 일을 하며, 그 참여의 영역을 넓혀나가게 되어, 종국에 가서는 전 개발 과정에 참여할 수 있습니다. 장난감 문제(Toy Problem)의 계를 벗어나는 길이지요. --JuNe
          * 기존 방식대로.. 위에서 말하는 방식들은 어느정도 프로그래밍에 기초가 다져진 사람들에게 적합할듯.(신입생들의 실력이 어느정도일지는 모르지만 구구단도 제대로 못짤것 같음.) 기존의 방식은 아직 프로그래밍의 기초가 없는 사람들을 대상으로 성공적이었으므로. 그리고 몇년의 시행착오를 거쳐서 굳어진 방법이므로 . 새로운 방법을 도입다면 해왔던 만큼의 시행착오를 해야 하므로 후배들이 얻을수 있는 것들에 대 확신을 못함. --태호형
          ''변화를 두려워하면 영원히 개선되지 않습니다. 하지만 어찌되건, 이 캠프를 할 당사자(가르치고 배울 사람들) 이외의 사람들의 입김이 크게 작용하는 것은 여러모로 바람직하지 못하다고 봅니다. 선배들의 이야기를 참고는 하되, 결정은 당사자들(특히 직접 가르칠 사람들)이 자신의 주관을 갖고 하길 바랍니다. 필요하다면 몇가지 실험을 해볼 수도 있을 겁니다. (그리고, NoSmok:ApprenticeShip 방식은 수천년의 시행착오를 거쳐 인류와 함께, 우리 DNA에 코딩된 방식입니다. 이 방식의 장점은 아무 기초가 없는 사람도 참가할 수 있다는 것이죠. 과거에 공식적인 교육기관이나 별도의 책을 접하기 힘든 상황을 생각하면 오히려 당연하죠.) --JuNe''
          * 변화를 두려워 하지는 않지만 무턱대고 마구 바꿔대면 망할수 있다는것은 감안해야 할겁니다. 마찬가지로 NoSmok:ApprenticeShip 모델이 어떤걸 말하는지 알지는 못하네요. 당연히 당사자가 세미나는 어떻게 할것인가 등등은 당사자들이 정해야 할 문제이고 어쩌면 제가 그 당사자중 하나가 되어 버릴지도 모르겠네요. 저역시 기존의 ["데블스캠프"]( 실제로는 데블스가 신입회원을 뽑을때 썼던 방법입니다. 95년에 시작했으니 벌써 8년째를 접어드는군요..) 를 여러차례 해왔고 기존 방법의 장점을 누구보다 잘 피부로 느끼고 있습니다.위에서 간략하게 설명해 놓은 내용을 볼때 기존의 방식이 위에서 제시 방법보다 훨씬 효과적이라고 장담할 수 있습니다. 그건 수년간 기존의 방법을 수행해온 경험자로써의 확신입니다. -태호-
          ''구체적으로 이전의 ["데블스캠프"] 때 했었던 일들에 대해 말씀해주셨으면 합니다. ZeroPagers들이나 JuNe 님의 경우 ["데블스캠프"]를 겪어보지 않은 관계로 '기존의 방법' 자체에 대해 제대로 알고 있지 못하다고 생각합니다. 그때 실제 했었던 행사들, 느꼈던 장점이 될 부분, 그리고 보완해나가야 할 점 등에 대해서 말씀해주신다면 각 방식들에 대 올바른 시각을 가질수 있으리라 생각합니다. 서로 무엇을 말하는지 알지 못하는 상황에서는 좋은 판단이 내려질 것이라 생각되지 않습니다. --석천''
          저는 참여자가 아니라서 적극적으로 나서지 않고 있었는데, 정말 좋은 생각입니다. 역시 여러 사람 머리가 두 사람 머리보다 훨씬 낫겠지요. 저는 옆에서 관전하면서 최소의 조언만 하겠습니다. 제가 하려던 이야기의 골자는 석천군이 이미 이해하고 있다고 생각하므로... :) --JuNe
          * 제 생각에는 꼭 가지 방법을 모든 신입 회원들에게 적용할 이유는 없다고 생각합니다. 아직 기초가 부족하다 싶은 회원, 좀 프로그래밍에 익숙하다 싶은 회원을 각자 다른 방법으로 캠프를 진행해도 괜찮다고 생각합니다. (작년에 MFC스터디 벽돌깨기팀과 오목짜기 팀처럼 익숙 정도에 따라 방법을 나누는 거죠..) - 상협
          ''아주 중요합니다. 선배가 어떻게 버그를 잡는지, 코딩은 어떻게 하는지, 어떤 사고 과정을 거치는 지 등의 암묵적 지식(tacit knowledge)은 책에서 배우기 힘듭니다. 여러 선배와 돌아가며 페어를 해보면서 얻는 경험은 어느 무엇과도 바꿀 수 없는 귀중 경험이 될 것입니다. --JuNe''
          ''PairProgramming 이 그 방법으로서 적합하다고 생각하지만, 이 또 '선'을 잘 맞춰야 하겠죠. 개인적으로는 약간의 전략이 필요하다고 생각합니다. 요즘 하고 있는 Pair의 경우 초기에 대해서는 가급적이면 알고 있는 내용을 천천히, 자세하게 가르쳐주려고 하는 중입니다. 일단 Todo List 를 주석으로 달아놓고, (또는 연습장 등) 제가 먼저 기본 틀이 되는 부분을 플밍을 합니다. 그리고 나머지를 후배들이 플밍하게끔 하고. 그리고 이 주기를 좀 짧게 가져보려고 하고 있죠. (20 - 30분) 그리고, 차차 그 주기를 늘려 보려는중. 너무 선배가 오래잡고 있어도 후배들은 넋놓고 구경하고, 너무 후배가 오래잡고 있어도 완성되는 정도가 오래걸려서 Feedback 이 오는 시간이 오래걸리면, 또 지쳐하는 듯. --석천''
          * 학교를 다니면서 혼자서는 거의 공부하지 않을만, 그러나 중요 것들(see also FocusOnFundamentals). 앞으로 학교생활에서 체험하기 힘든 것들. 학교를 졸업할 때까지 유효 지식으로 남아있을만 생명력이 긴 것들. 학교생활 동안 공부, 프로그래밍에 영향을 많이 끼칠 메타 수준이 높고 늘상 하는 것들. 사고하는 방법. 프로그램을 만드는 방법. 아마추어 아이디어 맨은 "아이디어"를 만들고, 프로 아이디어 맨은 "아이디어를 대량으로 생성해 낼 수 있는 구조와 과정"을 만들어 낸다고 합니다 -- 프로가 만든 아이디어는 엄청난 양의 아이디어를 자동 생산해 냅니다. 제가 학교를 다닐 때 "프로그램을 생성해 낼 수 있는 구조와 과정"을 선배에게서 배웠더라면 얼마나 좋았을까 하는 생각을 자주 합니다. 예를 들어, 이메일 주소를 찾는 RE를 "답"으로서 가르치거나, 혹은 무작정 시행착오를 거치면서 그 답을 찾으라고 종용하거나 하는 것보다는, 그런 RE를 효율적이고 손쉽게 생성해 낼 수 있는 과정과 인식적 도구를 가르쳤으면 합니다. --JuNe
  • 상협/학문의즐거움 . . . . 39 matches
          * 사람이 갖고 있는 정신 에너지 중 창조에 쓰이는 부분의 비율이 경쟁의식으로 인해 질투로 변형됨으로써 상당히 낮아진다. 정신 에너지는 사고 에너지, 창조 에너지 등을 포함 에너지인데, 그것이 남과의 우열경쟁에 소모된다면 그만큼 창조 에너지가 적어지기 때문이다.
          * 난 경쟁 의식이 상당히 강거 같다. 아무래도 고등학교때의 영향인가. 그때 활활 타올랐던.-_-; 그런데 난 기술적으로 뛰어난 사람도 좋지만 그보다 창조적인 사람이 되고 싶다. 그러니 쓸데없는 경쟁 의식을 불태우지 말아야 겠다. 이 사람이 위와 같이 말은 맞는말 같다. 나는.. 나 일뿐이다. 그 누구와 비교 하고 싶지 않다
          * 체념하는 기술을 알아두는것, 그것은 창조하는 데 관련되는 정신 에너지를 제어하고 증폭하는 데 대단히 중요 것 중의 하나이다.
          * 체념다라... 이것을 어떻게 받아 들여야지.. 난 어떤일을 하기로 마음을 먹으면 몸이 부서지는 이 있어도 해내야 다고 생각다. 깡생깡사. -_-;, 그래서 이 어구는 그냥 그대로 받아 들일수 없고 내 식으로 해석해서 받아 들여야 겠다. 즉.. 체념은 더나은 발전적인 방향을 위 체념일때만 그 체념을 해야 겠다는 생각이다. 즉.. 자신감 부족이나 의지 부족, 열정 부족 따위로 체념하는것은 말도 안된다고 생각다. 물론 저자도 그런 의미에서 이렇게 말거라고 생각다.
          * 소박 마음 - 나는 바보니깐?
          * 이 어구도 여러가지를 생각해보게 만든다. 우리는 아주 가끔 주위에서 꽤 머리가 좋아 보이는 사람을 볼때도 있다. 그럴때면 보통 나는 왜 저렇게 할수 없는 거지 하면서 탄을 하기도 다. 그런데 이때 논리적으로 생각을 해보자. 나는 저사람보다 머리가 덜 좋다. 저 사람은 내가 2시간에 할것은 1시간만에 다. 그런데 나도 저사람만큼 되고 싶다. 그러면 내가 두배의 노력을 하면 되겠네~?.. 간단히 말하면 이런식이다. -_-;; 즉... 사실을 부정하거나 합리화(정말 해서는 안되다 싶은거..합리화는.-_-;) 말고 받아 들인 후에.. 그것을 극복할 현실적이고 구체적인 방법을 생각 하는 것이다.
          * 이것은 우리가 평소에 알고는 있어도 많이 저지르는 실수 중에 하나이다. 즉 어떤 일을 자신의 관점에서 바라보면 그일을 자신이 보고 싶은 방향으로 보는 경향이 있는 것이다. 시오노 나나미씨가 ["로마인이야기"]라는 책에서도 그랬듯이 사람은 자신이 보고 싶은 현실을 보는 것이다. 이것을 극복다면 인생 살이 사는데 도움이 많이 될거 같다. -_-;
          * 다른 사람과 비교할 필요는 전혀 없다. 자기 자신의 목표를 가져야 다.
          * 바로 이거다.. 옛날부터 생각은 했는데 실천을 못거.. 나는 나일 뿐이다. 그 누구보다 못 나도 아니오 그 누구보다 잘난 나도 아니오 나는 다른 사람을 통해서 정의하는 나가 아니라 나 자신으로서 정의할 수 있는 나이다.
          * 창조적인 일을 하려고 다면 가설을 세워서 연역하는 사고 방식으로 적극적으로 받아들이도록 권하고 싶다.
          * 이건 나도 평소에 전혀 생각해 보지 못 말이다. 음.. 즉.. 도전적인 사고 방식이 필요하단 말이군. 연역적 사고라.. 아무래도 이것은 체험을 하지 않는 제대로 느끼지 못할거 같다. 연역적인 사고를 하려고 노력 해야 겠다.
          * 무엇인가 만들어 가는 과정에서 중요 것 중의 하나는 유연성이라는 것이다.
          * 맞는말 같다. 페어 프로그래밍에서도 이 유연성이 중요거 같다. 난 유연성이 부족거 같다. 급 성미 때문인거 같다. 앞으로는 너무 급하게만 몰아치지 말고 이 유연성도 키워야 겠다.
          * 욕망이 창조에 필요 것은 두말 할 필요도 없지만, 어디까지나 자기 내부에서 생긴 것이 아니면 안 된다는 것을 뼈저리게 느꼈다.
          * 이책을 난 우리 누나에게 먼저 빌려 주었었다. 근데 우리 누나가 엄청 이책을 씹으면서 이 책의 히로나카씨가 잘난척을 무지 잘다고 다. 그리고 뭐 인간 관계도 이해 타산적이라고 막 씹어 댔다. 나도 이책의 저자가 인간관계에 일정 선을 두어서 번도 배신을 당적이 없다고 말은 좀 재수 없어 보인다. -_-; 사람이 뭐 로보트도 아니구, 그렇게 살고 싶나.. 차라리 배신을 당 지언정 사람을 믿으면서 살고 싶다. 이게 내 생각이다. 인간 관계에 관 말은 우리 누나의 말대로 이사람에게 별로 배울점은 없다. 이 사람의 인간 관계는 자신에게 도움을 줄수 있나 없나의 이해 타산적인 면이 기본 바탕인거 같기 때문이다. 난 그렇게 살고 싶진 않다. -_-;, 그리고 이 사람은 사람을 판단할때 그 사람의 사회적 지위같은것을 아주 아주 중요걸로 판단하는거 같아서 그것도 좀 재수 없는거 같다. 근데 다른 점에서는 배울 점이 있다. 창조적인 일을 하기 위해서 생각해볼 어구도 꽤 많다. 나름대로 읽을 만 가치가 있는 책이었다. 우리 프로그래머도 결국 창조적인 일을 하는거니깐 이책을 번씩 읽어 보면 얻는게 꽤 될것이다.
  • 3DGraphicsFoundationSummary . . . . 38 matches
          * 왼손 좌표계 : 공간개념 이해하기 쉽기 때문에 그래픽스에서 많이 사용다. 앞뒤가 Z, 좌우가 X, 위아래가 Y
          * 뭐.. 별로 볼거 없다. 다 고등학교 때 했던 거다. 생소거만 몇개 적어보면..
          * 외적은 ⓐXⓑ 이렇게 표현다. 방향은 벡터 ⓐ에서 벡터ⓑ쪽으로 180도보다 작은 각으로 돌릴때 나사가 진행하는 방향이다. 이게 뭔 개소리냐--;
          * 모든 면은 인접해야 다.
          * 특정 다각형을 mesh 내에서 찾을수 있어야 다.
          * 하나의 다각형을 이루는 모든 모서리는 정확하게 표현되어야 다.
          * 하나의 모서리를 공유하는 다각형들을 직접 찾을수 있어야 다.
          * mesh 전체를 바꾸거나 디스플레이할수 있어야 다.
          * 어떤 물체를 직선과 곡선의 집합체로 표현 다음 투영을 통해 테두리를 표시하는 'Wire frame 모델'
          * [ Xe, Ye, Ze, 1 ] = [ Xw, Yw, Zw, 1] V : V는 실좌표계를 시각좌표계로 바꾸기 위 행렬
          * y축을 시선벡터의 xy평면성분의 방향과 일치시켜야 다. Z축을 중심으로 (파이/2-θ) 회전 (θ는 x축과의 각)
          * 사용하는 함수 : glEnable(GL_BLEND), glBlendFunc(원본 픽셀에 대 블랜딩 계수를 계산하는 방식, 대상 픽셀에 대 블랜딩 계수를 계산하는 방식)
          * 원본 픽셀에 대 계산 방식
         || GL_ZERO || 원본 색상을 0,0,0,0 으로다 ||
         || GL_ONE || 원본 색상을 그대로 사용다 ||
         || GL_DST_COLOR || 원본 색상과 대상 색상을 곱다 ||
         || GL_ONE_MINUS_DST_COLOR || 원본 색상과 ((1,1,1,1)-대상 색상)을 곱다 ||
         || GL_SRC_ALPHA || 원본 색상에 원본 알파 값을 곱다 ||
         || GL_ONE_MINUS_SRC_ALPHA || 원본 색상에 (1-원본 알파값)을 곱다 ||
         || GL_DST_ALPHA || 원본 색상에 대상 알파 값을 곱다 ||
  • AcceleratedC++/Chapter9 . . . . 38 matches
         C++은 클래스 타입과 같은 사용자가 정의 어플리케이션 고유의 타입을 정의할 수 있는 많은 기능은 지원다.
         4.2.1절 Student_info 구조체를 다루는 함수를 작성하고, 이를 개의 헤더파일로 통합을 하는 것은 일관된 방법을 제공하지 않기 때문에 문제가 발생다.
         프로그래머는 구조체를 다루기 위해서 구조체의 각 멤버를 다루는 함수를 이용해야다. (Student_info 를 인자로 갖는 함수는 없기 때문에)
         string, vector 와 같은 것들은 Student_info의 내부 구현시에 필요 사항이기 때문에 Student_info를 사용하는 프로그램의 또다른 프로그래머에게까지 vector, string을 std::에 존재하는 것으로 쓰기를 강요하는 것은 옳지않다.
          '''상기의 구조체안에 Student_info 를 다룰 수 있는 멤버함수를 추가 것'''
          std::istream& read(std::istream&); //입력 스트림으로 부터 입력을 받아서 4개의 멤버변수를 초기화다.
          double grade() const; //내부 멤버변수를 활용하여 점수를 계산하고 double 형으로 리턴다.
          객체에서는 const 객체 내부의 데이터들을 const형으로 다룰 수는 없지만, 멤버함수를 const 멤버함수로 만듦으로써 변형에 제을 줄 수 있다.
          compare함수는 동일 형의 2개의 Student_info를 받아서 서로를 비교하는 역할을 다. 이런함수를 처리하는 일반적인 방법이 있는데, 9.5, 11.2.4, 11.3.2, 12.5, 13.2.1 에서 배우게됨.
          || class 키워드를 사용 클래스 || 기본 보호모드가 private 으로 동작다. ||
          || struct 키워드를 사용 클래스 || 기본 보호모드가 public 으로 동작다. ||
          '''다음은 각기 동일 표현식을 나타낸 2가지의 경우이다.'''
          일반적으로 자료구조가 간단할 때에는 struct를 이용다. 그러나 2가지 키워드의 사용의 차이는 존재하지 않는다. 단지 문서화를 어떻게 하느냐에 의해 차이가 생길 뿐이다.
          name 멤버 변수에 직접적으로 접근하는 대신에 name()함수를 만들어서 접근하도록 만들었다. const 함수이므로 멤버변수의 변경을 불허다. 리턴값이 복사된 것이기 때문에 변경을 하더라도 멤버변수에 영향을 주지는 않는다.
          name 멤버 함수와 같이 클래스 내부에 정의를 하는 것은 inline으로 함수를 정의하는 것도 동일 효과를 가진다. 이렇게 멤버변수에 접근을 위해서 만들어지는 함수를 통칭 '''접근함수(accessor function)'''이라고 부른다.
          접근함수는 캡슐화의 기본개념이 반하는 것으로 다른 인터페이스 일부로서만 사용해야다.
          인자로 받은 변수들을 직접 접근하지 않고 그 멤버함수로 접근다.
          만약 s:Student_info 에 read(istream&)을 통해서 데이터를 입력하지 않고서 s.grade()를 사용다면 프로그램을 에러를 낼 것이다.
          bool valid() const { return !homework.empty(); } // 사용자에게 그 객체가 유효 데이터를 가졌는지를 알려준다.
          상기와 같은 방식으로 통해서 grade를 호출하기 전에 객체의 유효성을 검사다면 에러를 없애는 것이 가능하다.
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/변준원 . . . . 38 matches
         일반적으로 우리 생활에서 어떤 정보와 어떤 종류의 작업은 개념적으로 서로 연관되어 있음을 많이 접다. 이러 연관된 정보와 작업 또는 기능을 하나로 묶는 것은 자연스런 과정이다. 예를 들어 대학교의 인사관리에서는 학생들의 이름, 주소, 학번, 전공 들의 정보를 유지하며 학생들에 관해 가능 작업인 평점 계산, 주소변경, 과목신청 들의 기능들을 생각할 수 있다. 이러 정보와 정보 처리에 필요 작업, 즉 기능들은 모두 학생에 관 것이므로 학생이라는 테두리로 묶어두는 것이 자연스러운 것이다. 이렇게 연관된 사항들을 하나로 묶는 것을 캡슐화(encapsulation)라고 다.
         속성 상속이라는 개념 역시 우리의 일상 생활에서 흔히 사용하는 개념을 프로그램으로 표현하기 위 편리 수단이다. 어떤 객체의 종류, 즉 클래스는 좀 더 세분화하여 분류할 수가 있는데 이렇게 세분화된 종류나 유형을 subtype 혹은 subclass라고 다.
         객체지향 프로그래밍에서 "속성 상속"은 새로운 클래스를 정의할 때 모든 것은 처음부터 다 정의하는 것이 아니라 이미 존재하는 유사 클래스를 바탕으로 하여 필요 속성만 추가하여 정의하는 경제적인 방법을 의미다. 이 때 새로이 생기는 클래스를 subclass라 하고 그 바탕이 되는 클래스를 superclass라 다. 이렇게 하면 클래스들 사이에서 공통으로 가지는 특성, 즉 데이타 구조나 함수들은 중복하여 정의하는 일을 줄일 수 있을 뿐 아니라, 특성을 수정하거나 추가시에 superclass의 정의만 고치면 그 subclass들도 변경된 속성을 자동적으로 상속받게 되므로 매우 편리하다.
         객체 지향 프로그램의 중요 특징으로 하나의 함수 이름이나 심볼이 여러 목적으로 사용될 수 있는 다형성(Polymorphism)을 들 수 있다. 객체 지향에서의 다형성이란, 복수의 클래스가 하나의 메세지에 대해 각 클래스가 가지고 있는 고유 방법으로 응답할 수 있는 능력을 말다. 즉, 별개로 정의된 클래스들이 ㅌ은 이름의 함수를 별도로 가지고 있어 하나의 메세지에 대해 각기 다른 방법으로 그 메세지를 수행할 수 있는 것을 의미다. 예를 들어, 여러 가지 화일(file)들을 프린트 하는 함수를 생각해 보자. 화일에는 간단 텍스트 화일(text file), 문서 편집기로 만든 포멧 화일(format file), 그래픽을 포함하는 화일(file with graphics) 등 여러 가지가 있다. 이들 각각의 화일들은 프린트 하는 방법이 모두 다르다, 객체 지향에서는 아래처럼 각 종류의 화일을 별도의 클래스로 정의하고, 각각의 화일 종류별로 Print라는 함수를 화일의 형태에 맞게 구현다.
         정보 은폐란 캡슐속에 쌓여진 항목에 대 정보를 외부에 감추는 것을 의미다. 즉, 처리하려는 데이타 구조와 함수에 사용된 알고리즘 들을 외부에서 직접 접근하지 못하도록 하고 캡슐 내부의 함수들만이 접근하게 된다. 객체지향에 관 서적이나 논문에서 이 두가지 개념이 중요시 소개되는 것은 바로 객체라는 것이 캡슐화와 정보 은폐의 원리를 실제의 프로그래밍 언어에서 실현 것이기때문이다.
         객체와 객체 사이의 정보 교환은 외부에 공개하고자 하는 일련의 정보를 public interface로 정의해 외부에 객체들이 이 Interface를 통해서 그 객체와 정보를 교환하도록 다. 즉, 객체의 Public Interface를 그 객체가 "무슨 일을 할 수 있다. 혹은 이 정보는 공개할 수 있다."라고 외부에 선언하는 것이다.
         이 Public Interface는 언어에 따라 표현 양식이 다른데, C++에서는 "public"이란 특별 구문을 두어 "public"란에 들어간 항목들만 외부에 공개된다. Effel이란 언어에서는 "export"라는 란에 지정된 항목들만 외부에 공개된다. 앞에서 정의 POINT라는 객체 정의를 보면 move와 setcolor의 함수들이 외부에서 관찰될 수 있는 public interface임을 알 수 있다. 여기서 가지 유의할 점은 move와 setcolor라는 함수들이 외부에 보여져 불리워질 수 있는 함수들이라는 것이며 각 함수가 가지고 있는 코드나 알고리즘까지 보여지는 것은 아니라는 것이다. 함수가 외부에 보여지는 부분을 signature라고 하며 하나의 signature는 함수의 이름, 입력 매개변수(input parameter)와 출력 매개변수(output parameter)로 구성되어 있다.
         위에서 살펴볼 캡슐화와 정보 은폐의 이점은 우선 객체 내부의 은폐된 데이타 구조가 변하더라도 주변 객체들에게 영향을 주지 않는다는 것이다. 예로서, 어떤 변수의 구조를 배열(array)구조에서 리스트(list) 구조로 바꾸더라도 프로그램의 다른 부분에 전혀 영향을 미치지 않는다. 또 어떤 함수에 사용된 알고리즘을 바꾸더라도 signature만 바꾸지 않으면 외부 객체들에게 영향을 주지 않는다. 예를 들어, sorting 함수의 경우 처음 사용된 sequence sorting 알고리즘에서 quick sorting 알고리즘으로 바뀔때 외부에 어떤 영향도 주지 않는다. 이러 장점을 유지보수 용이성(maintainability) 혹은 확장성(extendability)이라 다.
         클래스 중에는 인스턴스(instance)를 만들어 낼 목적이 아니라 subclass들의 공통된 특성을 추출하여 묘사하기 위 클래스가 있는데, 이를 추상 클래스(Abstract class, Virtual class)라 다. 변수들을 정의하고 함수중 일부는 완전히 구현하지 않고, Signature만을 정의 것들이 있다. 이들을 추상 함수(Abstract function)라 부르며, 이들은 후에 subclass를 정의할 때에 그 클래스의 목적에 맞게 완전히 구현된다. 이 때 추상 클래스의 subclass가 상속받은 모든 추상 함수들을 완전히 구현했을 때, 이를 완전 클래스(Concrete class)라고 부른다. 이 완전 클래스는 인스턴스를 만들어 낼 수 있다.
         추상 클래스의 예로서 프린터 소프트웨어를 생각해 보자. 우선 모든 종류의 프린터들이 공통으로 가지는 특성을 정의 추상 클래스 "Printer"가 있다고 다면, 여기에는 프린터의 상태를 나타내는 변수, 프린터의 속도 등의 변수가 있으며 함수로는 프린팅을 수행하는 Print 등을 생각할 수 있다. 그러나 프린터마다(Dot matrix printer, Laser printer, Ink jet printer) 프린팅 하는 방법이 다르므로 이 추상 클래스 안에서는 Print라는 함수를 완전히 구현할 수 없다. 다만, 여기에는 Print 추상 함수의 Signature만 가지고 있으며, 실제의 구현은 여러 subclass에서 각 프린터 종류에 알맞게 하면 된다.
  • OurMajorLangIsCAndCPlusPlus/ctype.h . . . . 38 matches
         ctype에 대 라이브러리
         || 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 iswalpha(wint_t) || Uncode 인지 확인 (글 등) ||
         || int iswupper(wint_t) || 소문자인지 검사다. ||
         || int iswlower(wint_t) || 대문자인지 검사다. ||
         || int iswdigit(wint_t) || 주어진 문자가 숫자인지 검사다.||
         || int iswxdigit(wint_t) || 16진수 를 표할 수 있는 문자인지 확인다. ||
  • 데블스캠프2011/첫째날/개발자는무엇으로사는가 . . . . 38 matches
         == 개발자를 판단하기 위가지 질문 ==
          * 로또가 당첨되어도 그 돈으로 평생 먹고 살 수는 없다. 평생 먹고 살려면 일해야 다 - [지원]
          * 당신이 경쟁 유료제품을 위협할만 만큼 고품질의 프로그램을 만들어 일반에 무료로 배포하고 있다는 가정을 해봅시다. 만약 경쟁회사에서 큰돈을 주며 프로그램을 폐기하라고 유혹다면 당신은 어떻게 하시겠습니까?
          * 어떠 프로젝트를 만들어 달라고 요구하는 사람들에게 그 프로젝트의 진행 결과가 눈에 보이지 않아(뚜렷 소스가 없다던지 해서) 어서 빨리 그것을 보여 달라고 다면 그 상황을 어떻게 헤쳐 나갈 것인지?
          * 더 좋은게 생각났다!! 착 사람에게만 보인다고 다. 이건 동화에도 나온 방법~ - [김수경]
          * 동료가 주장 방식보다 자신이 생각 방식이 옳다고 생각다면 어떻게 하겠는가?
          * 자기가 (여기서) 하고싶은 프로젝트에는 어떠 것이 있는가?
          * 당신이 진행중인 프로젝트가 팀원간의 불화로 파탄 직전까지 갔다고하자. 그리고 이 이유가 기술적인 문제로 인 팀원간의 불화라고 가정하자. 이 문제를 어떻게 해결하겠는가?
          * 형진이형이 말씀하신 정체된 개발자, 사람과의 관계가 가장 중요하다는 점에서 생각했습니다. 기술적인 문제로 인함에서 정체된 개발자와 정체되지 않은 개발자는 다른 관점으로 접근할 것으로 생각되기 때문이며, 이 문제를 어떻게 해결하겠는가는 팀원들의 의견을 조율하는데 있어 중요 점이라고 생각했기 때문입니다.
          * 가장 힘들었던 프로젝트(기술적으로든 다른 문제든 해결하기 어려웠던) 경험을 묻고 그 당시 문제를 해결하기 위해 어떻게 행동했는지, 지금 그 프로젝트를 다시 다면 어떻게 행동할 것인지.
          * 힘들었던 프로젝트를 했을 시의 실력, 그 프로젝트가 지나고 나서 어려움에 대 대처, 발전 모습에 대해서 알 수 있는 좋은 질문이라고 생각됩니다. - [서영주]
          * 너가 가장 하고 싶은 프로젝트가 무엇이고 그를 위해 시도 것은?
          * 그리고 버그를 처리 후에 전체 처리 과정을 문서화 하였는가.
          * 평소에 질문하러 오는 사람이 많다는건 그만큼 프로그래밍쪽에 관해서 아는 것이 많으며 사람들에 대 인간관계도 괜찮기 때문일 것이라 생각해볼 수 있을 것이므로 실력과 인간관계 양쪽을 다 생각해볼 수 있다. 또 어떤 방식으로 도움을 주느냐에 따라서 주변 사람들의 실력 발전에 도움이 되는지 아닌지의 여부도 고려. 과제를 다 해주거나 하면 상대의 발전은 생각해볼 수 없다 등.
          * 내가 아는 것일 때 적극적으로 도와주려 노력다. 문제는 내가 모를 때 그에 대해 공부해보지 않는다는 점이다 (찾아보다 포기하는 경우가 많다) - [지원]
          * 사실 나도 잘 아는게 아니라 어떤 방향으로 생각해 보는것이 좋을지 정도로만 이야기다. 동시에 급 구글링 신공!! - [서지혜]
          * 1학년 기준으로 일단 질문자의 질문에 달려있는거 같아요. "포인터가 뭐냐?"(x) "포인터 이거 여기서 왜틀린거지?"(o)라는 느낌요? 전자면 대답자체를 회피할거고, 후자면 최대 자세히 설명하려고 노력하겠지요. -[김태진]
          * 개발 개수와 그때 그때 가졌던 직책의 권 범위 - 개발 프로그램의 개수를 통해 그 사람의 내공을 알아볼수 있다. 능동적인지 수동적인지 시키는데로만 했던건지 직책과 권을 통해 이 사람이 무엇을 했는지 알아볼 수 있다. 만약 개발 프로그램이 수십개가 넘는데 일개 개발자, 일개 개발자, 일개 개발자에 불과하다면 수동적인 사람으로 의심 할 수 있을것이다. 정해진 루틴따라 개발하는 일에서는 그만큼 편하긴 하겠지만 지속적인 변화가 요구되는 분야에서는 힘들것이다.
          * 일개 개발자라도 프로젝트에 대 문제점 지적이나 의견, 방향성을 제시할 수 있지 않나요? 저는 진정 리더란 발 물러나는 사람이라고 생각합니다. 앞에 나서기 좋아다고 능동적인지, 그래서 좋은 프로그램을 짤 것인가는 알수없을 것 같아요~ - [서지혜]
          * 프로젝트를 할 때 윗자리에 앉히는건 그만 이유가 있을 것이리라 생각되므로 사람을 관리하는 부분과 실력에 대해서 양쪽 다 생각해볼 수 있는 괜찮은 질문이라고 생각합니다. - [서영주]
  • 새싹교실/2011/A+ . . . . 38 matches
          * 이 항목? 은 뭐하는 곳인가요? - [고종]
         ||<|6> 학생 || [고종] ||
         || [김성] ||
          * 선생님이 잘못 점도 부담없이 말해주세요. 보다 더 좋은 수업을 위 일입니다.
          *[새싹교실/2011/앞반뒷반그리고App반] 수업하는걸 옆에서 같이 해보았습니다. assert를 배우던데 저희도 배웠으면 좋겠습니다. - [고종]
          * feedback은 최대 성의있게 써주세요.
          * 종 - 이 날은 원희형의 부득이 사정으로 아주 간략 수업만 하고,
          다음에 모일 시간을 정뒤 해산했다, 근데 이게 첫 실습시간에 많은 도움이 되었다.
          * 성 - 이하동문
          * 종 - printf,scanf 부터 시작하여 if문 쓰는법까지 배웠다, while, do while도 언뜻 배우긴했지만 기억이 안남;
          내가 할 수 있는건 while(1)을 써서 무루프 돌리는것 정도...;
          구구단을 짜오라는 과제를 받았다. 어떻게 해놓긴했는데 정답보니까 난 완전 못것 같음 ㅜㅠㅠㅜ
          * 성 - 이하동문
          * 종 - /*저장 눌러야 하는데 고치기 눌렀다 완전 씽난다 ^_^*/
          -> 내가 살짝 메모리 관련 말거는 기억 할려나?ㅋㅋ(원희)
          * 그거 PC사랑에 나온 SSD 구조 설명 기사보는 느낌이다.. 같은정도로만 기억하고 있어요 -[고종]
         과제로 배열을 이용 구구단 만들기를 받았다.
         새싹교실이 끝난뒤 배운 while문과 '윤종하 게임'에서 뽑아온 switch코드를 이용해서 [고종/on-off를 조절 할 수 있는 코드]를 만들어 내었다. 아이 싱난다. -> 이런게 피드백 인가염?
         과제 다했으요 ^_^ [고종/배열을 이용 구구단 과제]
         * 성 - 종이 피드백을 보고 배열이란걸 배웠구나라고 생각이 났다. arr[10]어디서 봤더라했다.
  • 코바예제/시계 . . . . 38 matches
         CORBA 애플리케이션이 어떤 것인지를 설정하기 위 단순 예제이다. 그렇기 때문에 이 코드를 그대로 사용해서는 올바르게 동작하지 않는다. 구체적인 코드는 필요에 따라서 추가해야다. 자신이 사용할 ORB의 종류에 따라 혹은 사용할 언어에 따라서 다르게 구성될 것이다.
         CORBA FRAMEWORK를 이해하기 위 것으로 단순히 타임 서버로부터 현재 시간을 알아보는 간단 분산 애플리케이션이다.
         == 프로그램에 대 구체적 설명 ==
         시간 객체에 대 인터페이스는 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 컴파일러에 의해 만들어진 스켈레톤 클래스와 결합해야 다. 이 결합은 상속 또는 위임을 사용해서 이루어질 수 이다.
         //구현 클래스에 대 가상 코드
         이 클래스는 환경을 초기화하고, 구현 객체를 생성하며, 클라이언트가 구현 객체를 사용할 수 있도록하고, 이벤트를 받아들이는 일을 다.
         //서버 객체에 대 가상 코드
         클라이언트 구현은 기본적으로 다음 세 가지 단계를 통해 이루어진다. 먼저 CORBA 환경, 즉 ORB를 초기화다. ORB를 초기화다는 것은 ORB 의사 객체(pseudo-object)에 대 객체 레퍼런스를 얻게 된다는 것을 의미다. ORB가 '의사 객체'라 불리는 이유는 그 메소드가 런타임 시스템과의 통신을 통해 라이브러리의 형태로 제공되며, 의사 객체 레퍼런스는 CORBA 인터페이스 오퍼레이션에 대 파라미터로 전달될 수 없기 때문이다. 그 다음 단계는 객체 레퍼런스를 얻는 것이다. 객체 레퍼런스는 불투명 데이터 구조이다. 그러나 객체 레퍼런스를 문자열로 바꿈으로써 지속성을 가지게 될 수 있다. 이것은 '객체 레퍼런스의 문자열화'라 불리며, 그 결과 얻어지는 문자열을 일컬어 '문자열화 객체 레퍼런스'라고 다.(IOR) 이 문자열화 객체 레퍼런스는 원래의 "유효" 객체 레퍼런스로 다시 바뀔 수 있다. 이 과정은 CORBA, 즉 ORB 인터페이스에서 정의된 두 가지 오퍼레이션 object_to_string()과 string_to_object()를 이용하여 이루어진다. 모든 CORBA 2.0 호환 ORB는 상호 운용 가능 문자열화 객체 레퍼런스를 실제 돌아가는 객체 레퍼런스로 바꿀 수 있다. 적절 타입으로 객체의 범위를 줄이면 그러 결과를 얻을 수 있다. 이러 오퍼레이션을 'narrow'라 다. ORB를 초기화하고 객체 레퍼런스를 얻은 후에야 CORBA 프로그래밍은 원래 의도 표준 객체 지향 프로그래밍처럼 동작하게 된다. 클라언트가 객체의 메소드를 호출하게 되면, 실제로 그 메소드는 원격 객체와 함께 동작하지만 클라이언트가 보기에는 지역 객체와 함께 동작하는 것처럼 보인다.
         // 객체 레퍼런스를 얻어내는 부분, 여기에서는 클라이언트 프로그램의 첫번째 인수로 문자열화 객체 레퍼런스가 주어진다고 가정다.
         //이제 객체 레퍼런스의 범위를 적절 타입으로 줄인다.(narrow down)
  • 코바용어정리 . . . . 38 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와 언어 맵핑은 공조하여 각각의 스텁이 특정 객체 레퍼런스와 제대로 연결될 수 있도록 해야 할 것이다.
         클라이언트가 호출될 객체와 수행할 오퍼레이션을 지정하고자 할 때, 특정 객체 A의 특정 오퍼레이션을 지정하는 대신 객체 호출을 동적으로 생성하도록 허용하는 인터페이스를 이용할 수 있다. 이러 경우 클라이언트 코드에서는 수행되는 오퍼레이션과 전달되는 파라미터의 타입에 대 정보를 제공해야 다. 이 정보는 대개 인터페이스 저장소와 같은 런타입 소스에서 얻어진다. 실행 시간 중에 해당 정보를 얻은 후, 클라이언트 코드는 이른바 동적 호출 인터페이스(DII)를 이용해서 동적으로 호출을 할 수 있게 된다.
         구현 객체가 ORB에 의해 제공되는 서비스를 이용하는 주된 방법은 객체 어댑터를 통하는 것이다. 객체 어댑터는 CORBA 라이브러리인데 ORB 코어 통신 서비스의 맨 위쪽에 위치하고 있으며 서버 객체를 대신하여 리퀘스트를 받아들인다. 객체 어댑터는 서버 객체를 인스턴스화하기 위 실행 환경을 제공다. 즉, 서버 객체에 리퀘스트를 전달하며 객체 ID를 부여하는 등의 작업을 하게 된다는 것이다. 또, 객체 어댑터는 구현 저장소에 어댑터가 지원하는 클래스와 런타임 인스턴스를 등록다. CORBA에서는 각 ORB가 기본 객체 어댑터(BOA)라 불리는 표준 어댑터를 지원하도록 규정다. 하나의 서버가 여러 개의 객체 어댑터를 지원할 수 있다.
         객체 어댑터를 통하여 ORB가 제공하는 서비스에는 흔히 객체 레퍼런스의 생성과 해석, 메소드 구현, 보안과 상호 작용, 구현 객체의 활성화/비활성화, 구현으로의 객체 레퍼런스 맵핑, 그리고 구현 객체의 등록 기능 등이 포함된다. 객체 어댑터를 통하게 되면, ORB에서 비슷 요구 사항을 가진 특정 그룹의 구현 객체만을 정하여 다루는 것이 가능해진다.
         각각의 언어 매핑에 대해(아마도 객체 어댑터에의 의존하게 되겠지만) 각각의 타입의 객체를 구현하도록 해주는 메소드에 대 인터페이스가 존재할 것이다. 이 인터페이스는 일반적으로 업콜(up-call) 인터페이스일 것이다. 구현 객체의 개발자는 그 인터페이스에 따라 루틴을 작성하게 되고 ORB는 스켈레톤을 통해서 그 루틴을 호출하게 될 것이다. 그러나 스켈레톤의 존재가 그에 사응하는 클라이언트 스텁의 조재를 의미하지는 않는다는 것이다. 이말은 클라이언트가 DII를 통해서 리퀘스트를 만들 수도 있다는 것이다. 또, 어떤 언어 맵핑은 스켈레톤을 사용하지 않는데, 이것은 Smalltalk에시는 대체적으로 맞는 말이다.
         동적 스켈레톤 인터페이스는 IDL에 기초하지 않는 스켈레톤/스텁을 가진 객체의 메소드 호출을 처리해야 하는 서버에 대해 런타임 바인딩 메커니즘을 제공다. 동적 스켈레톤은 수신된 메시지의 파라미터값을 참조하여 어떤 객체가 호출되었는지 어떤 메소드가 호출되었는지를 알게 된다. 이것은 일반적으로 컴파일된 스켈레톤을 사용하는 것과는 비교되는데 이러 스켈레톤에서는 메소드의 구현이 IDL로 정의된다. 구현 코드는 모든 오퍼레이션 파라미터에 대 상세 설명을 ORB에 제공해야 하며, ORB는 오퍼레이션을 수행할 때 사용되는 입력 파라미터값을 제공다. 오퍼레이션이 수행된 후, 구현 코드는 출력 파라미터 또는 익셉션을 ORB에게 넘겨준다. 동적 스켈레톤 인터페이스의 특성은 프로그래밍 언어 맵핑에 따라 또는 객체 어댑터에 따라 실질적으로 달라질 수 있지만, 일반적으로는 업콜 인터페이스이다. 동적 스켈레톤은 클라이언트 스텁 또는 DII를 통해서 호출될 수 있다. 이 두 가지 방식의 클라이너트 리퀘스트 생성 인터페이스는 동일 결과를 제공다.
         ORB 인터페이스는 애플리케이션에 중요 지역 서비스에 대 API들로 구성되어 있지 않다. 이것은 곧바로 ORB로 가는 인터페이스이고 모든 ORB들에 대해 동일하다.ORB 인터페이스는 객체 어댑터 또는 객체 인터페이스에 의존하지 않는다. 대부분의 ORB의 기능이 객체 어댑터, 스텁, 스켈레톤 또는 동적 호출 등을 통해서 제공되므로 몇몇 오퍼레이션만이 모든 객체들에 대해 공통이다. 공통 오퍼레이션에는 get_interface와 get_implementation 같은 함수가 포함되어 있는데, 이것들은 임의의 객체 레퍼런스에 작용하며 각각 인터페이스 저장소 객체와 구현 저장소 객체를 얻는 데 사용된다.
  • 1thPCinCAUCSE . . . . 37 matches
         1회 중앙대학교 컴퓨터공학과 프로그래밍 경진 대회에 대 자료.
          * 팀 구성: 2-3인 / 팀 당 PC
          * 팀은 문제에 대해 소스코드가 완성되면 디스켓에 담아 채점 팀에 제출다.
          * 채점은 그 소스코드를 컴파일해서 수행파일을 만들어 채점다.
          * 그 문제에 대해서 준비된 테스트 데이타( 보통 5-10개)에 대해서 모두 맞는 답을 내야 그 문제를 맞춘 것으로 다.
          * 컴파일 error, 실행 시간 error , 출력 포맷이 문제에서 정 것과 다른 경우에도 틀림.
          * 제출 답안이 틀렸을 경우, 매번 일정 penalty 점수 (10점)를 받게 된다.
          * 맞춘 문제에 대해서는 경시 시작부터 문제를 제출 시각까지 시간을 분으로 환산 것이 점수로 주어진다. (따라서 점수가 적을수록 유리) 그리고 여기에 penalty 점수를 합산 것이 그 문제의 최종 점수가 된다. 예를 들어, 어떤 문제에 대해서 다섯 번째 제출을 시작후 1시간 20분에 하여 맞추면, 지나간 시간이 80분이므로 80점, 네 번째까지는 틀렸으므로 4번*10점=40점이 penalty, 최종 점수는 120점이 된다.
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산 후 반드시 출력을 다. 이때, 입출력은 표준입출력만 사용다. 파일 입출력문을 쓰면 안됨.
          4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 팀의 컴퓨터에서 실행다. 이점을 유의할 것. 즉, 자기 컴퓨터에만 있는 특수 기능을 사용하게 되면, 채점 팀 컴퓨터에서는 안 돌아 갈 수 있음.
          5. 채점 팀은 채점에 필요 데이터를 파일로 만들어서 가지고 있다가 이를 학생의 수행파일에 파일 redirect를 통하여 수행파일에 입력시킨다.
         이 대회를 하고, 높은 점수를 받은 팀의 소스 코드를 공개하고 몇 가지 "후속 작업"(예컨대 각 팀의 회고를 포함, 대회에 대 다큐먼트 위키 문서라든가)을 해주면 아주 많은 것을 배우게 되리 라 생각합니다.
         아쉬운 점이라면, 국내 대학생 프로그램 경진 대회와 acm의 icpc를 모델로 하는 듯 데, 그렇다면 사용언어와 플랫폼 역시 좀 선택의 폭 을 넓게 해주는 게 좋지 않을까 하군요.
         이제까지 제가 봐온 대학생 수준의 경진대회 중에서 개발환경과 언어 모두 를 이렇게 경우는, 특정 회사에서 스폰서를 하는 경우 빼고는 본 적이 없습니다. (최근 정보처리 자격증 실기 시험에서도 모든 언어를 허용하도록 바뀌었다고 합니다) 더 많은 배움의 기회가 될 것인데 참 아쉽군요.
         뭐 어쨌든 C/C++ 밖에 안된다면 또 나름대로 장점으로 돌려 생각하고 열심히 준비하는 것도 의미있겠습니다. 이런 대회가 열렸다는 자체가 귀중 것이니까요. 앞으로 정기적으로 열리면 학생들에게 많은 동기부여가 되겠습니다.
         혹시 여러가지 언어를 수용하는 경진대회가 궁금 사람은 ICFP 프로그래밍 경진 대회(http://icfpcontest.cse.ogi.edu/ )를 번 둘러보시기 바랍니다. 눈이 확 뜨일 겁니다. 특히 올해 주제는 로봇 프로그래밍입니다. 무척 흥미로운 주제지요.
         제 생각에는 경진대회 문제 은행에서 갓 꺼낸듯(약간은 천편일률적인) 문제들 외에도 학생들이 좋아할만 프로그 래밍 주제가 많은데, 그런 것들도 시도해 보면 어떨까 합니다.
         수학 경진 대회건, 프로그래밍 경진 대회건 그걸 준비하는 사람들은 매일 비슷비슷 유형의 문제들만 "최단시간내에" 풀어제끼는 훈련을 하고, 덕분에 어떤 해답 집합을 미리 외우고 있 습니다. 알고리즘 X하면 바로 무의식적으로 손 끝에서 해당 알고리즘을 구현 모범 답안이 튀어나오게 자신이 프로그램 되어 있죠. 다 좋습니다만, 모든 사람이 그렇게 훈련받을 필요는 없지 않을까요?
         저는 영어공부를 하는 사람에게 이런 말을 해줍니다. 영어공부를 하려고 원서를 고를 때에는 일단 그 책을 통 영어공부의 이득을 무시하고 고려를 해도 여전히 그 책을 읽을 마음이 드는, 설사 그 책이 국어로 되어 있다고 해도 여전히 그 책을 읽을 마음이 드는 그런 책을 보라고 말입니다.
         저는 일단은 학생들이 그 주제 자체가 매력적이어서 정말 참여 해보고 싶은 생각이 마구 드는 경우가 이상적이라고 봅니다. 꼭 지적도전을 좋아하는 사람들만이 아닐지라도 "야, 저거 번 해보면 참 재미있겠다" 그런 생각이 드는 것 말이죠. 그리고 거기에서 각자의 수준에 맞게 저마다 무언가 배우고 얻을 수 있다면 더 좋겠죠.
  • OOD세미나 . . . . 37 matches
          * '''“단일 변화로 인 수정 사항을 예측 가능 범위 내에 집중시켜라.”'''
          * 이것은 비단 객체지향에 정된 이야기가 아니라 컴퓨터공학 발전의 역사를 이끌어온 가장 중대 목표이자, 앞으로 여러분이 컴퓨터공학도로서 갖춰야할 모든 공학적 지혜들의 근본이라는 것을 잊지 마세요. - [변형진]
          * 오늘 긴 시간동안 모두 수고하셨습니다. 오늘 설명 내용이 아직 깊이 와닿지 않더라도 좋습니다. 프로젝트 개발에 있어 그동안 흔히 전개했던 방식과는 다른 접근 방식의 가능성을 확인하는 것만으로도 좋은 경험이 되었길 바랍니다. 누누히 강조하지만 번에 이해하시길 바라서 진행하는 세미나가 아니라, 정말 중요 하나의 제언만이라도 남는다면 그것을 앞으로 몇 번 듣고 또 듣고, 그리고 정말 그 개념이 필요 순간이 됐을 때 큰 힘이 되리라 믿습니다. 예제는 좋은 예제거리에 대 의견이 없어 SE 프로젝트 주제를 차용했는데, 설계만으로 문제가 깔끔하게 해결되는 과제가 아니라 알고리즘으로 해결해야할 부분이 꽤 있는 과제다보니, 실습이 설계부분에 집중하기 힘들었던 점은 다소 아쉽네요. 좋은 후기를 작성해주신 분 분을 선정해서 번역서 [http://book.naver.com/bookdb/book_detail.nhn?bid=2500990 Holub on Patterns]을 선물로 드립니다. 후기는 감상보다는 되새김이 되었으면 좋겠습니다. :) - [변형진]
          * 원래 정말 철저하게 절차지향적으로 프로그래밍 하던 사람이라... 오늘 내용이 좀 어려웠습니다;; 특히 그냥 들을때는 이해하면서 넘어가도, 실제 프로그래밍을 하려니까 막막하더라구요. 마지막 실습때 질문도 했었는데, 형은 if문 안에서 Comparer 객체를 선언해서, equals 함수를 사용하라고 하셨는데, 전 if문 안에서 객체를 생성할 생각조차 하지 못했었거든요. 그저 주어진 정보만 가지고, 반복문을 돌릴 생각뿐이었죠; 그런데 집으로 돌아오면서 생각해봤는데, 제가 짠대로 하면 '''“단일 변화로 인 수정 사항을 예측 가능 범위 내에 집중시켜라.”''' 라는 말과는 거리가 참 멀어지더라구요;; 예측은 가능데 예측범위가 프로그램 소스 코드 전~부 라는거죠. 덕분에 "아, 정말 이런거 때문에 OOP를 하라는 거구나" 라는걸 알게 되었습니다 ㅋㅋ
          오늘 했던 내용 중 정말 특히 기억에 남는건 '''"상속을 하기 위 프로그래밍을 하지 말아라" & "패턴을 적용시키기 위 프로그래밍을 하지 마라"''' 였습니다.
          정말 중간에 어려워서 LineDrawable 얘기할땐 잠깐 졸았지만 너무 유익 세미나 였습니다~ - [박성현]
          * 일단 개인적으론 늦어서 앞부분을 못들은게 아쉽고, SE팀플과 관련된 수확이 있어서 여러모로 유용 세미나였습니다ㅋ 일단 들으면서 간단히 적었던걸론
          * '''추상화는 단일변화에 대해 수정해야 할 사항을 예측가능케 할려고 다는점 -> 변경 가능성이 있는건 다 추상화하자?'''
          확실히 제 경험에 비추어보면 학부과정에서 OOP에 대 개념을 배울때는 상속, 다형성 등을 배울때 과제는 상속을 이용 무언가, 오버라이딩, 오버로딩을 하도록 요구했습니다. 심지어 의미없는 프렌드도 쓰도록했었죠ㅎ 물론 가르치는 교수님의 입장에선 직접 써보게하려면 그 방법이 가장 확실합니다. 그렇지만 그렇게 배우고나면 왠지 설계에 대 별 생각없이 그렇게 하게되더군요. 저또 미숙하지만 후배들에게 OOP를 왜 쓰고, 어떤 점이 좋은가를 알려주다보니 다시 번 기본개념에 대해 생각하게되고 그러면서 제대로된 OOP는 뭔가 싶었습니다. (적어도 제 생각엔)'''단지 class쓰고 상속다고 OOP가 아닙니다'''. OOP의 장점을 이용해야 진정 OOP입니다.
          이 글을 보는 분에게 하고싶은 말은 위의 요지와 함께 ''' 명제가 참이라고 그 명제의 역이 반드시 참은 아니라는점'''과 '''아 다르고 어 다르다'''라는 말도 함께 해주고 싶네요ㅎ
          그리고 저 또 오늘 실제 디자인에서 Drawable로 GUI를 로직에서 완전히 분리시킨 것을 보고 다시 번 추상화에 대 공부가 되었습니다. 앞으로 추상화하는 법을 좀 더 익혀야겠어요. - [김홍기]
          * 집에 가자마자 아버지가 저테 객체 지향 설계를 왜 하는지 설명하라고 했습니다. 그런데..여러 번 반복해서 언급 내용임에도 불구하고, "단일 변화로 인 수정 사항을 가능 범위 내에 집중시켜라"라는 말을 정확히 할 수 없었습니다ㅠㅠ 나중에 기존 내용을 고칠 때, 여러 군데에 퍼져있으면 고치기 힘드니까 쓰인 곳 안에서만 해결하는 것이 좋다고 풀어서 대답하긴 했지만, 정확 표현은 아닌 듯 하네요. 아직 세뇌가 덜 됐..ㅎ;;
          get과 set을 사용하면 메인에서 그 자료형이 뭔지 알고 있는 거니까 변경시에 같이 변경해야 하므로 사용을 자제하는 건가요? 다른 클래스에서 private로 선언 거를 메인에서 접근하기 위해 get과 set을 사용하는 거 같은데, 그럴거면 private로 왜 선언하는 건지 의문을 작년에 가졌...는데 여전히 모르는..;ㅅ; 우문(뭔가 질문하면서도 이상해서..;)현답을 기대합니다 ㅎ; - [강소현]
          * 매우 유익 세미나였어요. 사실 2학년 다니면서 이미 OOP라는 수업을 들었음에도 불구하고-_-;; 객체지향이 뭐야 ㅠㅠ 라고 생각했었는데, 세미나를 통해, 아 설계란 이렇게 하는 것이구나 라는것을 어느정도(?) 느꼈어요. 2학년때, 자바 프로젝트를 하면서 로직에서 gui를 어떻게 붙이나 때문에 꽤나 고생하던걸 생각하면 아 나의 고민은 참의미없었구나 라는것도 깨닳았지요. 또, 예제로 쓴 문제 덕분에 꽤나 막막하게 느껴졌던 SE프로젝트를 어느정도 구체화할 수 있었다는 점에서도 너무 유익했어요. 이제 형진오빠의 세미나도 들었으니, 저도 객체 지향적 설계에 대해 진지하게 고민하고 실천해볼 생각이에요. 머리가 뒤죽박죽.. 위키도 이상해서 피드백은 여기까지.. 위키 이상해요 ㅠㅠ - [이원정]
  • SmallTalk/강좌FromHitel/강의3 . . . . 37 matches
         층인지, 그리고 이 사람들이 어떤 것을 원하는지를 조사하기 위 수단이라
         고 생각합니다. 또 사용자 지원을 위해서도 필요 사항이라고도 합니다.
         앞서 말 대로, 등록을 하려면 Object Arts사에서 발급하는 등록 번호를 받
          Dolphin Smalltalk에 대해 처음어로 접 매체를 고릅니다.
          이전에 Smalltalk를 사용 경험을 묻고 있습니다.
         * Usrname: "Locked Image" 창에 입력 여러분의 Username을 입력합니다.
         재 여러분이 설치 Smalltalk에 대해서는 Username과 Password가 그대로 사
         Smalltalk에서 실행 모든 것을 저장할 수 있습니다.
         일단 등록판이 생성되면 모든 기능을 제 없이 사용할 수 있습니다.
         에서 아래의 명령을 글쇠를 사용하여 실행해서 다시 번 디지털
         여전히 화면에 큼지막 디지털 시계가 표시되고 있을 것입니다. 이제 File
         실행되자마자 여러분이 입력 <바탕글 1>과 함께 디지털 시계가 다시 움직
         실이 그리 놀랄만 일은 아닙니다. 그러나 C++나 Delphi 또는 Visual Basic
         재의 Smalltalk 상태'를 "본"(image)이라고 부르고, 이러 본을 저장해 두
         가 기록되는 것입니다. 그러므로 '본'은 매우 중요 것입니다. 그야말로 여
         결국 "본"은 시간이 흐름에 따라 자꾸 자꾸 변다는 것을 알 수 있습니다.
         면서 말이지요. 그런데 만약 여러분이 실수로 Smalltalk에서 꼭 필요 어떤
         객체를 지웠다고 생각해 봅시다(물론 이러 일을 Smalltalk가 묵묵히 지켜
         릴 수 있겠습니까? 사실 방법이 없습니다. 지우기는 쉬워도, 그렇게 해서
         Smalltalk를 설치 후에 바로 생성되는 '바탕본'(base image)을 벌 떠
  • SoftwareEngineeringClass . . . . 37 matches
          * 강의내용: 소프트웨어 개발 공정에 대 전반적인 이론.
          * 컴퓨터 공학과 전공 수업을 통틀어 다섯 손가락 안에 꼽을 수 있을 정도로 중요 역할을 하는 과목이다. 그러나 중앙대학교 컴퓨터 공학과에서 이 과목의 위상은 그다지 크지 않은 듯 하다. 내가 생각하는 첫번째 문제는 교재에 있다. 두번째는 비현실적인 실습내용이다. 구체적이고 실용적인 실습이 필요하다. 세번째는 학생들의 인식부족이다. 소프트웨어 공학 수업이 자신의 프로그래밍 커리어에 얼마나 많은 실질적 효용을 줄 수 있는지 전혀 깨닫지 못다. 물론 이것은 대부분 수업 자체의 문제에서 연유다.
          * 수업에서 원하는 것을 얻지 못하는 경우 수강은 하되 독학 혹은 학생 차원의 그룹 스터디를 할 것을 강력하게 권다. 졸업 후 어디를 가건 두고 두고 유용하게 쓰일 것이다. 외국 유명 대학 경우 AOD/VOD로 수업 내용을 볼 수 있는 곳이 많이 있다.
          * 본인은 거의 독학으로 SE 공부를 했다. 수업시간에 구조적 프로그래밍(structured programming)에 대해 설명을 들었을 때는 전혀 감흥이 없었고 졸음까지 왔다. 기억나는 내용도 없다. 하지만 스스로 공부를 하면서 엄청난 충격을 받았다. OOP는 구조적 프로그래밍의 패러다임을 완전히 벗어나지 못했다! 구조적 프로그래밍을 Goto 제거 정도로만 이해하는 것은 표피적 이해일 뿐이다! 구조적 프로그래밍 하나만 제대로 익혀도 내 생산성은 엄청나게 향상될 것이다! (참고로 정말 구조적 프로그래밍이 뭔지 알고 싶은 사람들은 다익스트라의 6,70년대 이후의 저작들을 읽어보길 권다. 칸트 철학을 공부하는 사람이 칸트의 1차 저술을 읽지 않는다는 게 말이 되겠는가.) --김창준
         ["neocoin"]:수업 무지하게 재미있음. 더 자세 이야기는 수업 종료후 추가. 현재의 느낌은 수업이 커버하는 내용이 너무 방대하여, 재시간안에 지식전달을 다 못할것 같은 교수님의 불안감이 수업에서 느껴지는게 아쉬움 --상민
         ["fnwinter"]: 수업이 잼있다는 것은 동감...수업 내용이 너무 방대하는 것도 동감..또...수업이 실제적이지 못하다는 것도 동감...수업에서 너무 많은 내용을 다루어서 그런가 싶다..결론...수업을..듣고..얻은.것이..무엇인가..라는 의문점이 남는다.
         수업 선택시엔 두 수업이 같은 과정이라 다면 이경환 교수님의 수업을 신청하기를 권장. 중간중간 노교수님의 연륜이 들릴테니.
          * 막무가내식의 coding에 관 것이 아닌 직접적인 돈과의 연관성에 대해 알아가는 학문 같다는 느낌. 제된 기간안의 적절 cost를 통해 project를 완성(?) 하는 것. 아.. 정말 학기 중기 까지는 재미있었는데. 알바로 인 피로누적이 수업을 듣지 못하게 T-T 아쉬움이 너무 많이 남는다. 번더 들을까..? 원래 이런건 번더 듣는거 아닌가? ^^a 하하.. 상민이형 필기 빌려줘요. ^^;; -- 영현
          으어 나의 허접 필기는 보이기도 부끄럽구나. 최근 약학과 교양 듣는 학우가 필기하는거 보고 느낀점 --["상민"]
          * 저도 이 과목의 중요성은 많이 들었습니다만 학교수업으로는 크게 느끼지 못것 같습니다. 수업도 지루하게 느껴지고 실제적으로 필드에 나갈때나 몸에 와 닿으려나요.. - 임인택
          ''수업을 청강 할 정도로 내용이 있지는 않아. 그 이유는 딱 번만 이경환 교수님 수업을 들어 보면 알게돼. 차라리 관련된 책을 몇 권 보는 게 더 낳을 듯 해. 여튼 개인적으로는 여차여차해서 재수강으로 인해 이번 학기까지 2번째 듣고 있지만 수업 내용 보다는 우리과 수업중 가장 규모가 큰 (기간이나 팀인원수나) 팀 프로젝트를 해 보는 게 이 수업에서 가장 크게 배울 점이라고 생각해. 많은 팀원과 개발 계획부터 시작해서 최종 테스트까지의 일련의 프로젝트 개발 과정을 해 본다는게 확실히 도움이 되지. 그리고 배 보다 배꼽이 더 큰 문서가 좀 성질 나기는 하지만 경험상 해보는 것도 괜찮은 듯 해. --재동''
          * 저희 반 같은 경우에는 현재 컨설팅을 하고 있는 박사과정 선배님이 수업을 맡고 있죠. 가끔가다가 자신이 컨설팅 하는 경험담을 들을 수 있어서 좋다고 생각합니다. 교수님반보다 프로젝트 실습 과정에서 피드백도 더 많은 편이고요. 사실 개인적으로는 소프트웨어 공학에서 요구하는 내용을 경험 사람이 많지 않기 때문에, 더 자주 피드백이 필요하다고 느끼지만요.
         대신에 소프트웨어 개발 과정을 이것이 정답이다라고 정해주려는 면이 있어서 조금 아쉬워요. 이를테면 현재 모든 팀에게 MBase 기반의 LCO를 요구하고 있습니다. 고객의 요구 사항을 포함 여러가지 의견을 번 듣고는 마는 셈이죠.
          * 나의 생각에 SE 수업을 제대로 배우고 있다면 학기가 지나면서, 혹은 최소 학기가 끝난 후에 내가 혹은 내 팀이 프로그래밍 과제(꼭 해당 수업 것만 말고)를 하는 "생산성"에 향상이 있어야 다. 아니 적어도 그런 과제를 수행하는 과정을 이전과는 다른 각도에서 볼 수 있어야 다. 이것이 Here And Now의 철학이다. 조그마 학기 프로젝트 정도를 진행하는 데에 소프트웨어 공학은 필요없다고 생각할런지 모르겠으나, 작은 것도 제대로 못하면서 큰 것을 논다는 것은 어불성설이다 -- 특히 프로젝트 규모가 커질수록 실패확률이 몇 배 씩 높아지는 통계를 염두에 둔다면.
          * 또, 예컨대 지금 하도급 SI 업체에서 일하는 PM을 명 초대해서 그가 이 수업에 대해 생각하는 바를 경청하고, 또 반대로 그에게 조언을 해줄 수 있어야 다. 만약 현업을 뛰는 사람이 이 수업에서 별 가치를 느끼지 못다면 그것은 수업자체의 파산이다. 이것 역시 Here And Now의 철학이다. 우리가 배우는 것은 지저분 진흙탕 세계에 대 것이 아니고 깔끔 대리석 세계에 대 것이라고 생각할런지 모르겠으나, 지금 여기의 현실에 도움이 되지 않는다면 도무지 SE가 존재할 이유가 어디에 있겠는가.
          * SE 교육은 첨탑 끝에서 계단 위로 내려와야 다. 천상의 공부만 하고 지상으로 내동댕이쳐진 학생들은 다시 천상에 들어갈 기약없는 그 날까지 모든 것을 망각하게 된다 -- 더군다나 천상에 돌아가더라도 여전히 망각의 심연을 헤매거나 혹은 그 때 천상은 이미 또 다른 천상으로 떠나있는 상황이 종종 벌어질 것이다.
         ''SE는 문서''란 말을 실감했습니다. 수업에서 요구하는 바는 모든 작업을 하기 전에는 계획서를 작성하고, 계획서에 근거해서 작업을 수행 뒤, 보고서를 작성하는 것으로 보입니다. 처음 만드는 계획서라 시간이 오래 걸렸겠지만, 다시 계획을 세울 때에 재활용 할 수 있을 것 같습니다. 계획된 프로젝트 진행을 연습해보는 좋은 시간이었던 것 같습니다.
  • 데블스캠프2013/셋째날/후기 . . . . 37 matches
         [김태진], [고종], [김윤환], [서민관], [권순의], [김해천], [김현빈], [박희정], [이예나], [김남규], [지영민], [조영준], [김도형], [원준연], [임지훈], [김홍기], [엄기용], [안혁준], [이봉규], [순의형], [백주협], [ ], [ ], [정종록], [장혁수], [박성현]
          * 개인적으로 저테는 실용성으로 따지면 아마 이번 데블스 캠프 1위가 아닌가 싶을 정도로 마음에 드는 주제였습니다. Window Builder는 전에 순의 선배가 쓰시는 걸 봐서 이런 게 있는 건 알았지만 그래도 직접 써 보니 생각보다 더 좋군요. 아마 나중에 정말로 쓸 일이 많이 있지 않을까 싶습니다. - [서민관]
          * 회장님이 자바실습시험때, 이걸 이용해서 짜면 편하다고 추천해 준 것이었는데, 하지만 코드가 은근히 어려워져서 세세 부분을 건드릴 때에는 더 많은 시간이 걸릴 것 같아서 안 쓴 윈도우빌더군요! 사실, 이 단점은 GUI 툴킷 프로그램이 짊어지고 가야 할 문제일 수도 있지만, 이번에 나름대로 빠른 프로그램 제작에는 편하겠구나라는 생각을 가지게 되었습니다. - [김해천]
          * 자바도 C처럼 직접 짜는 것만 있는 줄 알았는데 편리 인터페이스가 구현되 있다는 것은 처음 알았네요 - [원준연]
          * windowBuilder 쓸 줄 안다고 생각 했었는데 세미나 참여해보니 생각보다 많은 기능을 제공하는 플러그인 이었네요. 그래도 툴에 의존하면 안되니 Swing을 더 파야겠습니다. -[고종]
         = 서민관 / HTTP 프로토콜, C언어를 이용 웹 서버 만들기 =
          * 맥에서는 윈도우 소켓과 다른 방식이라 직접 실습해보지 못해 아쉬웠습니다. (뭐.. 번 해봤지만서도) 하지만 피피티 정리가 체계적이라 전체적인 내용 이해하는데는 도움이 많이 되었네요 :) -[김태진]
          * 음... 사실 정말 열심히 준비를 해서 최대 차근차근 쉽게 설명을 해 보자고 생각을 했는데... 그래도 역시 처음 접하는 것이라 그런지 그렇게 간단하게 진행되지는 않은 것 같아서 마음에 아쉬움이 남습니다. 새내기들이 파일 포인터랑 파일 입출력을 조금이라도 알고 있었으면 훨씬 수월했을텐데 말이죠. 그래도 제가 할 수 있는 전력을 다 했다고 생각하고, 앞으로 똑같은 주제로 세미나를 다고 해도 더 낫게는 못 할 겁니다. 따라서 앞으로 같은 주제로 세미나를 할 일은 아마 없지 않을까 싶습니다. 부탁이라도 들어오지 않는 이상. 이것 때문에 마음 걱정이 커서 밥을 먹어도 먹는 느낌도 없었는데, 그래도 스스로 만족스러울 만큼은 것 같아서 속이 후련하고 또 조금은 아쉽기도 합니다. - [서민관]
          * 올해 데캠에서는 유난히 네트워크를 이용 것이 많이 나오는 군요! 네트워크 매니아인 저를 불타오르게 하는 세션이였네요.(하지만, 저는 네트워크가 어떤 것인 지 공부했을 뿐, 어떻게 만드는 지는 공부를 안해서... 실습 때 애를 좀 먹었습니다..) 만드는 것이 더 어렵군요! 사이언스가 엔지니어링만큼 중요하지만서도, 역시 엔지니어링이 훨씬 더 대단 일을 하고 있다는 것 느낍니다! - [김해천]
          * 소켓이라는 개념을 처음 들었는데도 굉장히 잘 설명해주신 덕분에 충분히 이해했고, 친숙 언어로 짜다보니 더욱 인상깊었습니다! - [원준연]
          * 짝짝짝짝. 굉장히 신선 주제였습니다! 아주 재밌게 들었습니다. 컴공인으로써 전압이나 회로는 친숙하지 않아 진입장벽이 있었는데, 이젠 아두이노도 해볼 수 있겠다는 생각이 들었습니다. 감사합니다.ㅋ - [박성현]
          * 저도 갑자기 NXT가 생각나는데요.. 그래도 집에 개 쯤 가지고 생각날 때마다 납땜하고 코딩하면 좋을 것 같네요. 신세계를 보여주셔서 감사합니다. :D - [남근우]
          * 정말 보면 볼수록 아두이노 정말 완소.. 인데 (번 만져봐서 얼마나 만지기 쉬운지도 알고..) 주변 부품이 너무 비싸서 ㅠㅠㅠㅠ -[고종]
          * 아두이노,,, 우노..게다가 우노..에 대 안좋은 추억이..ㅠㅜ 물론 세션 내용은 흥미롭게 들을 수 있었습니다. 다만, 우노를 가지고 블루투스 모듈을 연결 다음 안드로이드랑 통신할때 이게 문자열을 해석 잘 못하는 경우를 당해서 맨붕적이 있어서... - [김윤환]
          * 역시 명불허전 머신러닝! C언어 입출력에서 이렇게 나를 괴롭힐줄이야.. 코딩하면 코딩할수록 '내가 지금 펜을 잡고 생각을 정리해야하는데, 왜 타자기만 잡고 있는 것인가'라는 생각을 하게 되었습니다. 페어 프로그래밍이어서 더 떨렸습니다... 멍청거 들킴; 제출된 코드 중 파이썬 코드가 있었는데 참 맘에 들더군요. 로직에만 집중할 수 있도록 해주는 언어! 파이썬! - [박성현]
          * C#으로 반쯤 날로먹다 격 삽질로 신나게 시간을 날려먹어서 멘탈에 살짝 기스가 갔... 습니다만 저를 비롯 많은 사람들이 가장 활발하게 활동했던 수업이라 좋았습니다. 다만 앞에서도 말씀드렸지만 모두의 멘탈이... - [조영준]
          * 제 바램대로 '데캠에 참석 모두가' '열심히 코딩을 하며' '모두가 멘붕을 겪는다' 가 이뤄졌네요. 1학년때 상협선배님이 해주신 머신러닝이 가장 기억에 남았는데, 제 방식대로 그런걸 새로 풀어낼 수 있었네요. 새내기들이 이 분야에 감이라도 잡고(추상적인 인공지능에서 논리적인 기계학습으로..-) 선배들도 충분히 집중해야하는, 잘 조화된 세션이 될 수 있었던거 같아 다행이네요. -[김태진]
          * 아, 그런데 삼일간 삽질 GA를 쓰지 못건 아쉽네요. 열심히 했으나 결국 오늘 진행 세션은 2시간 준비로...(예전에 많이 했기때문이지만.) 덕분에 난이도가 더 적절했건거같긴 하지만요. -[김태진]
          * 개인적으로 좀 아쉬움이 큰 세션이었습니다. 물론 머신 러닝이 쉬운 주제가 아니라는 건 맞습니다. 하지만 오히려 그렇기 때문에 강사 입장에서는 최대 난이도를 낮추기 위 노력들을 할 수 있지 않았을까 하는 생각이 조금 남습니다. 적어도 새내기나 2학년 들이 머신 러닝이라는 뭔가 무서워 보이는 주제 앞에서 의욕이 사라질 수 있다는 생각을 했다면, 전체적인 알고리즘의 간단 의사 코드를 보여주거나, DataSet을 줄인다거나 해서 조금 현실적인 시간 내에 결과를 보고 반복적으로 소스 코드를 손을 볼 수 있게 할 수 있지 않았을까요. 적어도 간단 샘플 소스를 통해서 이 프로그램이 어떻게 돌아가는가, 어떤 input을 받아서 어떤 output을 내는가 등에 대해서 보여주었다면 더 재미있는 실습이 될 수 있지 않을까 하는 생각이 듭니다. 머신 러닝은 흥미로운 주제지만, 흥미로운 주제를 잘 요리해서 다른 사람들에게 흥미롭게 전해줄 수 있었는가를 묻는다면 저는 좀 아쉬웠다는 대답을 할 것 같습니다. - [서민관]
          * 물론 Socket을 재미있게, 쉽게 설명하지 못 제가 말하는 것도 좀 입이 아픈 얘기긴 데, 그래도 Socket에 대해서는 제가 생각하기에 정말 난이도를 낮추기 위해 최선을 다 했다고 생각하는데 머신 러닝 세션은 난이도가 조금... - [서민관]
  • 상협/Diary/7월 . . . . 37 matches
         = 7월 달에 대 소감 =
          * 초반에는 여러가지것들을 균형있게 하려고 거 같다. 그러다가 중반 넘어가서는 거의 가지일에만 메달린거 같다. 그리고 영어 공부가 많이 부족했다. 그리고 생활도 초반에는 좀 착실하게 하려고 거 같은데 후반에 가면, 목적의식 같은게 없어진거 같다. 앞으로는 달에 할것들의 목적을 세워야 겠다.
         || 독서 || 자유로부터의 도피 4장 || 0% || 독서는 뭔가 특별걸로 느껴져서. ||
         || ["비행기게임"] || 미숙것들 처리 || ㅠㅜ || 파일에서 적 경로 읽어오기 하다가 실패함 ||
          * 오늘은 별로 게 없당... 오늘 기숙사에서 기분이 좀 나빠지는 일이 있었다. 그때는 막 화가 났는데, 조금만 다르게 생각하자 그렇게 나빴던 기분도 풀렸다. 역시 사람은 화를 내는것보다 웃는게 훨씬 나은거 같다.^^ 옛날에 어디서 그런 연구 결과를 본거 같다.(화를 내는 경우와 웃는 경우 신체적 호르몬 분비나 스트레스 해소나 축적 정도...) 화내는것은 자기만 손해이고 스트레스만 쌓이는거 같다. 차라리 상대편 사람에게 화난점을 말하거나 그러 여건이 안되면, 그 사람의 입장을 이해해 보려고 노력해 보거나 그사람이 나테 잘해줬던 일들이라도 생각해보던지 해야겠다. 그리고 사람이 번 소심해지면 없이 계속 소심해지는거 같다. 오늘 기숙사에서의 일도 여러가지 방향과, 여러 사람의 입장에서 다양하게 생각해보면 그렇게 기분 나쁠일은 아닌거 같다. 소심해 지지 말잣~
          * 오늘은 과외도 갔다오고 이것저것 하기도 하고, 영화를 편 봐서 딴거 할시간이 줄어 들었다.
          * 오늘도 별로 것도 없이.. 지나갔넹..
          * 오늘은.. 아침에 일어나서 정신이 몽롱것이.. 뭐를 해도 머리에 안들어 오고 하는거 같았다. 점심때 되서야 회복이 되었다. ㅠㅜ, 맛있는 냉면을 먹고.. 냉면을 2그릇이나 먹었더니.. 낮에 너무나 잠와서.. 자버렸다. ㅠㅜ, 일어나니깐 맛있는 기숙사 저녁밥 돼지고기가 나를 반갑게 맞이해 주었다. 아. 포만감.
          * 요새는 맨날 3D만 다. 난 번 뭐 만들라고 맘 먹으면 눈에 뵈는게 없는거 같다. 벽돌깨기가 너무나도 만들고 싶은거라서 이거 말고 딴거는 못하겠당.. ㅡㅡ;; 그래서 POSA 프로젝트도 유보를...
          * 오늘? 오늘 뭐했지... 별로 기억이 없당.. ㅡㅡ;;, 학생회 회의도 가고 과외도 가고 해서..오늘은 태양계를 번 해볼라고 했는데 대충 뭐 돌아가고 하기는 하는데 각도 좀 휘게 해서 돌게 할라고 하는데, 수학적인 계산은 했는데 실제로는 안된다. ㅡㅡ;; 이제 되었다. - 로 해야할것을 +로 해서.. 지금까지 안되었던거 같다~
          * 오늘은 거 거의 없다. 요새 다시 폐인이 된듯..
          * 오늘은 11시 반에 일어났다. ㅠㅜ 잠을 너무 많이 자니깐 머리가 아플라고 다. 새벽에 잘때 기분이 안좋아서 많이 잔거 같기도 하다. 기숙사에 대 환멸이기도 하고, 기숙사의 인간에 대 실망과, 지금까지의 기숙사 생활로 나도 어느새 그런 인간이 되지는 않았을까 하는 두려움도 생겼다. 이미 기숙사 생활로 나도 상당히 학번이라는 권위에 호소하는 경향이 있는거 같다. 빨리 제정신 차려야 겠다. 그러나 기숙사를 나올수는 없는 상황.. -_-,
         || 일 || 분량 || 체크 || 비고 ||
          * 오늘 거의 게 없구나.. ㅠㅜ 아침에 기숙사가 더워서 도서관 가서 잠좀 자고, 기숙사 와서 이것 저것 하다가 워크 판 하고 또 좀 있다 보니 하루가 홀딱 가버렸다. 쩝.~
         || 일 || 분량 || 체크 || 비고 ||
          * 오후에 학교에서 공짜로 해주는 영어 회화 번 가구, C++ 우리팀 모이는데 번 가고 그러다 보면 하루 다 가겠다. 지금과 같이 뭐 특별거 없고, 그저 그런 상황에서 난 중딩때 미래를 생각했는데.. 지금 상황에서 무엇을 조금씩 다면 그것은 미래에 아주 큰 도움이 된다는거... 음.. 어떤걸 해봐야 할까~~ 영어인가.. 아니면 다양 분야의 책들? 프로그래밍 공부는 원래 하는거다고 치고... 아니면 뭐 음악적으로 기타같은거라도 배울까나?? 별 생각이 다든다. -_-;;
         || 일 || 분량 || 체크 || 비고 ||
         || 일 || 분량 || 체크 || 비고 ||
         || 놀기 || 최대 || 100% || ㅎㅎ ||
  • 제로페이지의문제점 . . . . 37 matches
         (항상 업데이트되고, 또 그 문제가 지속되지 않고 해결되어야 할 페이지)
         현재 ZP 에서 '주력으로 다루는' 분야는 없는 중이다. 이는 [제로페이지의장점]이 되기도 하지만, 편으로는 . 이전에 Netory 가 생겼을때 당시에, Netory 를 열었던 사람중의 명에게서 '제로페이지는 너무 거대해보인다' 라는 말을 듣기도 하였다. 글쌔? 사람 수가 몇명이나 된다고 '거대해'보였을까? 그래서 마저 물어보니 '주제에 대해서 모든 것들을 다룬다. 이는 주변에 새 학회를 만드는 입장에서는 고민이다.' 라고 웃으며 이야기했던 기억이 난다. (참고로 지금 Netory는 네트워크와 Ad-hoc & 유비쿼터스 쪽으로 상대적으로 깊이를 다루는 학회인 중이다.) 적절 [선택과집중] 이 필요하지 않을까.
         다루는 분야가 넓었던 이유는, 주로 외부에서 '볼 수 있는' 정보가 위키이고, 이 위키의 컨텐츠를 채워나갔던 사람들이 주로 Generalist 스타일이여서 그렇게 보인 것이였을것이다. 하지만, 상대적으로 깊이있는 정보는 부족하며, 사람들끼리의 스터디그룹 or 프로젝트 또 그 수가 많지 않은 형편이다. 또 컨텐츠를 스스로 만들고 정리하려는 사람들은 여전히 부족하다.
          * 중요 것은, 컴퓨터 공학과(혹은 학교) 내에서 여타의 조직(학과이건, 사적인 스터디 모임이건)이 못하는 무엇을 ZP가 제공해 줄 수 있냐는 것이다.
          * 제로페이지의 제네럴함에 대 이야기를 나눈적이 있었는데, 선택과집중은 좋은 방향이지만, 관심이 있는 학우들의 수가 적어지면 와해되는 문제점이 있다고 생각합니다. ''타 학회들이 선택 주제를 지금도 다루고 있는지 모르겠습니다....'' -[서지혜]
         이는 타 학회에서도 마찬가지일런지 모르겠다. 학기중에 텀 프로젝트가 나올때, 혹은 시험기간을 기해서 학기 초에 열었던 프로젝트들이 일시에 사그라든다. 이러 현상은 굉장히 자주 일어나는 문제이며, 대책이 필요하다.
         99학번들의 경우 1학년때 여름방학때는 C++ & API 스터디를(15명이 넘었던걸로 얼핏 기억), 그 이후에 좀 풀 꺾이다가 이전 스터디 멤버중 5-6명이 MFC 스터디를 진행하였다. 이 또 시험기간때 이후 잠정적으로 중지되었지만, 스터디 만큼만은 멤버들에게 지식으로 남았다. 그리고 그중 3명은 매일 금요일마다 밤새는 날을 만들기도 하였으며, 혹자는 이상엽씨 배개책을 버스에서 완독하였다고 전해진다.
         [임인택]은 어떤 스터디 또는 프로젝트를 진행다고 했을때(위키에 페이지를 만들었을때) 같이 참여할 사람이 없어 접은 경우가 몇번 있었다. (물론 충분히 혼자 진행할 수도 있었지만 사람들과 같이 진행해보고 싶었다) 이유를 물어보면 '''공통적으로''' ''공부좀 해야 그걸 할 수 있을것 같아요'', ''제가 그걸 하기엔 실력이 조금 부족것 같네요'' 라고들 말다. 이러 친구들은 스스로 제약을 많이 거는 것 같다. 자신을 발전시키기 위해 스터디나 프로젝트를 진행하는 것인데, 자신이 발전되어 있지 않아서 스터디나 프로젝트에 참여할 수 없다는 뜻으로 받아들여도 되는걸까?
          - 전에 선배님들과의 만남에서 나왔던 이야기인데, 서울대는 졸업생, 재학생간에 메일링리스트가 있어서 많은 것들을 공유다고 합니다. 우리도 비슷것을 만들어보는건 어떨지요? - [임인택]
         제로위키내의 지식이 어느 레벨 이상 오르지 않는 느낌을 받게 된다. 사람들은 다시 새로 유입되고, 다시 Java & C++ 스터디는 열린다. 하지만, 기존의 회원들은 졸업을 뒤에 그 활동이 종료된다. (Home Coming Day 나 기타 행사 외)
          * 졸업선배들중에 제로위키를 이용하시는 분들은 없을까? 물론 회사 차원에서의 보안상 공개할 수 없는 정보도 많고, 일과 피로때문에 글을 정리하실 시간이 많지 않다는 등 어려움이 많다. 그리고 위키 인터페이스 자체를 불편해하는 사람들 또 많다.
          * 스터디 그룹중 롱런을 하는 스터디그룹도 필요하다. 혹은 기존에 쌓인 지식들을 빨리 흡수하고 차원 더 클 수 있는 환경이 필요하다.
         전에 장난 삼아 번 말 적있었는데, 하루에 시작하고 끝내는 방식의 단기프로젝트를 많이하는 것이 좋을 것 같습니다. 장기 프로젝트 좀 벅찬 감이 있습니다. --[강희경]
         === 스터디가 신입 수준을 벗어나지 못다 ===
         ZeroWiki 에 쌓이는 지식 역시 이를 벗어나지 못다. 현재 정체 상태
          * 과연 [데블스캠프2003]에서 진행 ToyProblems 소스를 보면서 우리가 얻는 것이 있는가?
         이런 말은 좀 엄할지 모르겠지만 모든 스터디나 세미나 같은 것들이 신입생을 대상을 하는 듯 느낌이 드네요.
         세미나가 [데블스캠프]외에 신입생 위주로 하는게 있어요? 설마 스터디를 이야기 하는거라면, 자신이 만들어 나가는건데요. :) 여태 제가 신입생 대상 스터디를 해본적이 없어서 공감이 안가는 이야기 같네요. 스스로 만드세요. SeeAlso 개인 제외 같이 것들 --ExploringWorld ProjectZephyrus ProjectPrometheus [MFCStudy_2001] [KDPProject] [Refactoring] --NeoCoin
         학회실 이야기는 언제부터 나온건가요??? 실현 가능 일인지 궁금하네요.. 가능하다면 제가 도움이 될진 모르겠지만 앞으로의 후배들을 위해서라도 추진하는게... - [조동영]
          * 개발 방법론이랄까, ZP같은 학회에서 성공하는 프로젝트가 진행되는 정형화된 방법이 없는 것 같다. 많은 페이지에 기록이 남아있긴 하다. 하지만 실제로 새 프로젝트를 시작하면서 이전에 선배들이 했던 프로젝트의 기록을 참고하지 않고, 프로젝트 진행 과정에 대 정리가 따로 돼 있지는 않은 것 같다. --[Leonardong]
  • 창섭/배치파일 . . . . 37 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 파일명' 으로 파일을 작성하면 행으로 다시돌아갈 수 없을 뿐 아니라 수정이 불가능하기 때문입니다. 그러므로 배치파일을 만들 필요가 있을때는 문서 에디터를 이용하는 것이 좋습니다.
         현재 실행중인 배치 파일을 종료하지 않고 필요 다른 배치파일을 호출하여 실행 다음 원래의 배치파일로 다시 돌아오려고 할 때 사용됩니다.
         어떤 배치 파일을 실행하는 도중에 경로 C:\bats 에 있는 sample.bat 파일을 실행 다음 다시 원래의 배치파일로 돌아옵니다.
         배치 프로그램 내에서 사용자의 선택을 묻기 위해 사용됩니다. 배치 파일 제작자가 설정 물음을 출력하면서 지정된 키 입력을 기다립니다. 이 명령은 배치파일 내에서만 사용 가능합니다.
         - /T[:]기본키, 대기시간 : 기본키를 지정 후 대기시간 동안 사용자의 키 입력이 없으면 자동적으로 기본키가 입력된 것으로 간주하고 진행됩니다. 지정 가능 대기시간은 초단위이며 0에서 99 사이의 값입니다.
         ◇ 설명 : 입력 가능 키를 a,b,C,D로 정하며 사용자로부터 입력되는 영문자의 대,소문자를 구분하는데, 만약 5초 내에 사용자로부터 키 입력이 없다면 C 가 입력된 것으로 간주합니다. 그리고 화면에는
         배치파일 실행중에 명령어를 화면에 표시할 것인지의 여부를 설정하며, 그 상태를 표시합니다. 편 ECHO 명령 뒤에 오는 메세지는 화면에 나타납니다.
         지정된 집합 중의 각각의 요소에 대하여 명령으로 설정 처리를 반복 실행합니다.
         - <옵션> : 지정 명령의 옵션이나 FOR 명령에서 지정 옵션을 설정합니다.
          DEL *.bak /p, DEL *.tmp /p, DEL *.$$$ .p 를 실행 것과 동일 결과를 얻게됨.
          HLIST READ*.*, HLIS TWH *.* , HLIST FILE *.* 를 실행 것과 동일 결과를 얻게 됩니다.
         지정 조건의 판단 결과에 따라서 배치 처리를 진행합니다.
         - NOT : 지정 조건의 반대 조건일 때만 실행합니다.
         - ERRORLEVEL <수치> : 바로 전에 실행 명령(프로그램)의 종료 코드가 <수치> 이상일 때에는 참이 되고 <명령> 이 실행됨.
  • AcceleratedC++/Chapter7 . . . . 36 matches
         기존에 이용 vector, list는 모두 push_back, insert를 이용해서 요소를 넣어주었을 때,
         이러 순차컨테이너가 모든 프로그램의 자료구조의 대안이 되어 줄 수는 없다.
         단순 순차검색보다 더욱 빠른 수행 시간을 갖는 프로그램의 작성을 하고 싶을 수 있다.)
         || '''연관컨테이너(Associative Container)''' || 요소들을 삽입 순서대로 배열하지 않고, 요소의 값에 따라 삽입 순서를 자동적으로 조정다. 따라서 검색알고리즘의 수행시 기존의 순차컨테이너 이상의 성능을 보장다. ||
         || '''Key''' || 요소의 검색을 위해서 사용되는 검색어. 개의 요소를 다른 요소와 구분하는 역할을 다. 키는 요소의 변경시에 변경되지 않는 값이다. 이에 반하여 vector의 인덱스는 요소의 제거와 추가시 인덱스가 변화다. 참조)DB의 WikiPedia:Primary_key 를 알아보자. ||
          * 최초로 등장 string key에 대해서 map<k, v>은 새로운 요소를 생성. value-initialized.
          따라서 번 성성된 Key는 변경이 불가하다.
          * 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; 라고 선언 하던지 해야 다.
         // 기본적으로 split 함수를 이용하여서 단어를 tokenize 다. 만약 인자로 find_url을 주게되면 url이 나타난 위치를 기록다.
          cout << it->first << " occurs on line(s): "; // key 값인 string을 출력다.
          // second 값인 vector<int> 를 이용하여서 string이 나타난 각 줄의 번호를 출력다.
          '''''주의) STL을 이용하면서 많이 범하는 실수: > > (0) >>(X) 컴파일러는 >>에 대해서 operator>>()를 기대다.'''''
          기본 변수 split 을 이용해서 입력받은 값을 이용해서 ret를 초기화다.
          문법과 주어진 단어를 이용하여서 간단 문장조합 프로그램을 만들어 본다. 제시된 규칙은 다음과 같다.
          상기에서는 map<string, vector<string> >의 형태로 구현해야다. 그러나 <adjective>, <location>, <noun>과 같이 동일 키 값에 대해서 규칙이 여러개가 존재하는 경우를 다루기 위해서 '''map <string, vector< vector<string> > >''' 의 타입을 이용다.
          vector<string> entry = split(line); // split 함수를 이용해서 입력된 문자열을 ' '를 기존으로 tokenize 다.
          //vector<string>의 첫번째 요소를 entry의 키값으로 이용다. 2번째 요소부터 마지막 요소까지는 entry의 값으로 저장다.
          g:Grammar map에서 <sentence> 키값으로 실제의 문장에 관 문법을 읽어들인다.
          map<class T>.find(K) : 주어진 키를 갖는 요소를 찾고, 있다면 그 요소를 가리키는 반복자를 리턴다. 없다면 map<class T>.end()를 리턴다.
          nrand(c.size()) : 7.4.4 절에서 설명함. pseudo rand 함수를 통해서 [0, c.size()) 의 범위를 갖는 가상적 임의의 수를 리턴다.
  • PragmaticVersionControlWithCVS/Getting Started . . . . 36 matches
         CVS클라이언트는 현재 우리가 쓰는 커맨드 형태의 클라이언트도 있지만, GUI형태의 TortoiseCVS, WinCVS등도 있다. (sourceforge.net에서 확인) 또 IDE 자체가 CVS 클라이언트의 기능을 하는 것들도 있다. (ex. eclipse, dev-cpp)
         간단 프로젝트를 CVS상에 만들자. 예제는 소스로 보이지는 않지만 크게 상관은 없다.
         ~/work를 조사해서 ~/work/sesame 디렉토리에 정상적으로 저장소의 파일이 체크아웃되었다면 원본 파일을 삭제다.
         color.txt를 위와 같이 변경뒤에 프로프트에서 다음의 명령어를 사용해보자.
         또 '''diff''' 옵션을 이용해서 변경된 파일이 어떤 변경이 있었는지를 조사하여 보여주는 옵션도 존재다.
         '''--side-by-side''' 옵션을 이용하면 지역 버전과 저장소버전을 화면에 출력하여서 비교를 할 수 있다.
         파일을 수정, UnitTest를 거치면 수정 내용을 저장소에 저장해야할 것이다.
         변경된 프로젝트는 '''commit''' 옵션으로 체크인시키는 것이 가능하다. 이때 '''-m''' 옵션으로 변경된 사항에 대 주석을 다는 것이 가능하며, 만약 주석을 달지 않을 경우에는 vi 에디터가 실행되면서 주석을 저장할 수 있는 파일이 열린다.
         이제 개의 파일을 두사람이 동시에 변경할때 생기는 상황에대해서 살펴보자.
         이러 경우를 살피기 위해서 기존의 sesame 이라는 디렉토리이외의 공간에 저장소에 저장된 sesame을 받아야다.
         과 같이 동일 저장소의 프로젝트가 서로다른 디렉토리의 로컬 작업공간을 할당받았다는 것을 알 수 있다.
         상기와 같이 변경 파일을 체크인 시킨다.
         상기와 같이 확인을 해보면 aladdin/number.txt 는 체크아웃을 통해서 저장소의 소스와 동기화를 해주어야다는 상태를 나타내고 있다.
         '''최신 버전이 아닌 로컬 작업공간의 내용과 저장소의 내용을 비교다'''
         -rHEAD는 현재의 branches에 존재하는 가장 최신버전의 것과 비교하는 옵션이다. 만약 이 옵션이 없다면 cvs는 현재 받아진 지역 버전과 동일 저장소상에 기록된 소스와 비교를 다.
         저장소상의 aladdin 과 동일 버전의 number.txt는 전혀 변화가 없었기 때문에 출력되는 내용이 없다.
         우선 aladdin 의 파일들을 체크인다.
         그렇게 만든뒤에 sesame의 파일을 수정 사람이 체크인을 다고 생각해보자.
         상기에서 보듯이 에러를 내면서 체크인하지 못다.
         이 경우는 동시에 수정이 일어나서 저장소의 최신버전이 반영되지 못했기 때문에 발생 것이다.
  • ScheduledWalk/석천 . . . . 36 matches
         ["데블스캠프2002"]때 소개했었던 StructuredProgramming 기법을 처음부터 끝까지 진행하는 모습을 보여드립니다. 중간에 버그가 발생하고, 그 버그를 수정 소스를 그대로 실어봅니다. 그대로 따라해보셔도 좋을듯. 단, 중간 삽질과 컴파일 에러에 겁먹지만 않으신다면. ^^;
         말 그대로. 전형적인 '프로그램' 입니다. '입력을 받고, 처리해서 출력다.' 라는;
         위까진 프로그램의 트리중 1차 레벨이겠고, 이를 조금씩 재정의해나갔습니다. 컴파일 에러는 거의 뭐 무시를..~ 어차피 뼈대이므로. 컴파일 에러나 무루프 등이 문제가 발생하는 경우엔 일단 void 형으로 리턴값을 적거나 return false; 식으로 채워넣습니다. 일단은 뼈를 잡는게 더 중요하므로.
         이정도까지 진행되는데 15분정도 걸렸군요. 아마 연습이 충분하다면 10분내로도 가능할듯.~이 코드는 아무런 하는 일이 없으니까요.~
         이 답이 완벽 답은 아니며, HIPO 이후 바로 프로그램 완성까지의 길에는 약간 거리가 있습니다. (왜냐. 이 Top-Down Design 의 결과가 완벽하다라고 말할수는 없으니까요. 하지만, 문제와 전반적 프로그램 디자인, 큰 밑그림을 그리고 이해하는데 도움을 줌에는 분명합니다. )
          1. 순차적으로 - 왼쪽 -> 오른쪽 순서로. 실행 순서에 따라 구현다. (실행 순서와 상관없이 독립적으로 따로 생각하여 구현할 수 있습니다. 이는 UnitTest 참조)
         구현 순서에 대 원칙을 잡았으면 구현을 해봅니다. 일단 Input 부분을 구현하기로 정해졌고요. (순서상 가장 왼쪽) 그 중 가장 깊이가 깊은 InputBoardSize, InputStartRoachPosition, InputRoachJourney 중 InputBoardSize 를 구현합니다.
         입력데이터를 받아서 처리하는 방법에는 두가지가 있겠습니다. 하나는 리턴값을 넘겨주는 방법, 하나는 인자로 해당 변수의 포인터 또는 레퍼런스를 받은뒤, 그 변수의 값을 변화시켜주는 방법. (scanf 함수가 그러 방법이지요.) 여기선 간단하게 리턴값을 넘겨주는 방법을 이용했습니다. int 형 두개 변수를 리턴하는 것이라면 구조체를 이용하는 것이 더 간단하리라는 판단에서입니다.
         typedef struct __IntegerPair { // return 을 하기 위 구조체 선언
         InputRoachJourney() 는 String 문자열인 관계로 좀 다르게 구현했습니다. 아까 말, 메모리 포인터를 넘겨서 값을 저장하는 방식에 속합니다. 배열은 또다른 포인터와 다름없기에, 이렇게 쓸 수 있습니다.
         2. 구현. 필요 변수가 생길때마다 하나씩 인자로 넘겨받기.
         실행해보면, assert 부분에서 에러가 날 겁니다. 그러면서 assert 부분과 관련 코드 라인을 표시해줍니다. 즉, 제가 원하는 상황을 가정하고 Test 코드를 만든뒤, 그 Test 를 통과할때까지 코드를 작성하면 되겠죠. 추후 뭔가가 작동이 이상하다라고 다면,
          1. 일단 해당 문제일 모듈을 체크다.
         이 이후부터 해당 함수 구현에 대 프로세스는 다음과 같습니다.
         1. 크거나 그 기능이 애매 또는 모호 함수/모듈에 대해서 재정의 하기.
         5. Test Case 를 늘려보기. (이 사이즈에 따라 구현의 난이도가 있습니다. 테스트와 다음 테스트 작성과의 시간이 길어질수록 어렵습니다. 그 만큼 생각을 추상적으로 다는 뜻일 수 있으니까요.)
         MoveRoach 에 대 Test Case 의 작성.
         Test Case 에 대해 만족하는 가장 간단 MoveRoach 를 일단 구현해봅니다. 본래의 Requirement 의 경우 해당 판의 최대범위를 넘어가면
         반대편으로 워프를 해야 하지만, 이에 대해서 아직 구현을 하지 않으면 되죠. 추후 이에 대 Test Case를 작성하고 구현하면 됩니다.
         그러면 이제 아까 고려하지 않았던 사항인 판의 범위를 넘겼을 때에 대 워프부분에 대해 Test Case 를 추가해봅니다.
  • ToyProblems . . . . 36 matches
         당신은 이제까지 이런 문제들을 후배들에게 가르치면서 그들을 정신의 감옥 속에 가둬넣지 않았습니까? 이제까지 구구단 문제를 정말 생소 방법으로 해결 후배를 본 적이 있습니까? 모두 for 루프를 쓰지 않던가요? 네. 당신은 이제까지 후배들을 자신의 협소 패러다임으로 세뇌시켜왔습니다. (사실, 시간을 써가며 후배들에게 자신의 지식을 베푸는 선배들은 정말 훌륭하고 그런 사람들을 폄하할 생각은 전혀 없습니다. 일부러 좀 과장을 해서 썼습니다.) --JuNe
         ToyProblems에는 단점이 있다. 너무 간단하다. 배우는 사람은 지루하고 시시하게 느낄 수 있고, 문제를 풀어봐야 별 감흥이 없으며, 새로운 걸 배운 느낌이 들지 않는다. 그러나 그들에게 아직 복잡 문제는 시기상조이다. 이 딜레마를 어떻게 깨트릴까.
         ToyProblems를 풀게 하되 다음 방법을 이용다. Seminar:TheParadigmsOfProgramming [http://www.jdl.ac.cn/turing/pdf/p455-floyd.pdf (pdf)]을 학습하게 하는 것이다.
          1. 일단 자신이 아는 방법을 총동원해서 문제를 풀게 다.
          1. 선배가 이 간단 문제를 다양 패러다임으로 다르게 풀 수 있다는 것을 보여주고 간략히 설명다. 이때, 대부분의 경우 긴 설명이 필요없다. 이미 문제를 풀어봤기 때문이기도 하고, 문제 자체가 간단하기 때문이기도 하다.
          1. 이번에는 해당 패러다임을 이용해서 앞서 1번에서 풀었던 문제와 유사하지만 다른 문제를 풀게 다.
         이런 식으로 패러다임을 여러가지 소개다. 예를 들어 구구단 같은 문제는 최소 10가지 이상의 패러다임으로 풀 수가 있다.
         학생은 이 경험을 통해 프로그래밍 "개념"과 "패러다임"들을 학습하게 되며, 어떤 경우에 어떤 패러다임이 더 적절지 판단할 능력이 생기고, 무엇보다도 가지 패러다임에 대 초기 각인(새끼새가 처음 본 흰색을 무조건 어미라고 생각하는 효과)을 깨트리고, 좀 더 자유로워질 수 있다 -- 가지 패러다임만 아는 사람보다는 여러가지 패러다임을 아는 사람이 더 개방적이고 포용력이 넓다. --JuNe
         고학년(저학년을 가르칠 사람들) 대상으로 강의를 해줄 용의가 있습니다. 만만 문제가 결코 만만 게 아니라는 것, 간단 것에서 정말 엄청나게 많은 걸 배울 수 있다는 것 등을 느끼게 될 것입니다. --JuNe
          ''요세 저도 위와 같은 것 때문에 고민 했는데 해결하기가 쉽지 않았습니다. 후배들에게 좀 더 많은 걸 배울 수 있는 문제에 관하여서... 그런데 어려운 문제는 좌절할 거 같고 그렇다고 쉬운 문제는 배우는 게 얼마 없는 거 같고... 여러 가지 패러다임을 통해서 고민을 해결할 수 있다면 이번 기회에 번 시도 해보고 싶습니다. --재동''
          * ToyProblems 후보 : 구구단, 소수구하기, SpiralArray, 삼각형 그리기, (기타 참가자가 원하는 것 추가 가능. 단 조건은 1학년이 시간 내에 풀 수 있는 간단 문제)
          1. 그 중 하나에 대해 스스로 문제를 풀게다 10m.
          1. 비슷하지만 약간 다른 문제를 풀게다 10m
          1. 비슷하지만 약간 다른 문제를 풀게다 10m
          1. 1번에서 고른 나머지 문제를 가능하면 다양 방법으로 여러번 풀게다. 각자 몇 개의 전혀 다른 프로그램을 만들어 내는가? 60m
          1. 비교다. 10m
         희상 - CSP를 응용해 문제를 푸는 것을 듣고 난 후 Alan Kay가 Paradigm이 Powerful Idea라고 했던 것에 고개를 끄덕끄덕 할 수 있었다. 그동안 FP를 맛만 보았지 제대로 탐구하지 않았던 것이 아쉬웠다. FP에 대 관심이 더 커졌다.
          문제 여러번 푸는 것은 역시 좋은것 같다.
         상민 - 새로운 사고란, 새로운 사고법이라 불리우는 것이, 미묘 차이를 인지하는 것에서 온다는 사실을 알았다. 겸손 자세가 중요것 같다.
          - 창준 - Higher Order Programming과 로우레벨에서의 설명(예컨대 단순 함수 포인터로 설명하는 것)의 차이는 미묘하고, 또 크다. 동사(달리다)를 명사(달림)의 품 안에 넣는 것이다. 이 사고에서 엄청난 차이가 생길 수 있다.
  • YouNeedToLogin . . . . 36 matches
         페이지 수정에 로그인이 필요 YouNeedToLogin 모드를 적용다면 다음과 같은 장,단점이 있을 수 있다.
          * 초보자의 테스트 목적 접근이나 실수로 인 페이지 생성을 줄일 수 있다.
         ["상민"]은 로그인이 없었으면 좋겠다. 익명으로도 누군가 고칠수 있으면 좋겠다. http://c2.com 같이 로그인 하든 안하든 문서를 수정하는 편이 편면에서 좋을것 같다. 로그인은 배경화면이나, css 의 개인화 처럼, 편의성을 제공하는 형태로 존재하는 선택지의 상태로 두어으면 좋겠다.
          ''제가 페이지수정에 로그인 의무화를 주장하는 가장 큰 이유는 보기좋고 편리 RecentChanges 입니다. 로그인이 귀찮은건 사실입니다만 보다 잘 정리된 ZeroWiki 를 사용하고 싶습니다.'' --["이덕준"]
         제 생각은 '' 아무나 어떠 없이 수정할수 있다 '' 입니다. 로그인 자체가 필요 이유가 현재 두가지를 드는데, 보기좋고 편리 RecentChanges 와 이상 형태의 새페이지 개설을 막자입니다. 전자는 저 자신은 그리 크게 신경 쓰지 않는 일이라, 여태 생각하지 않았던 것입니다. 후자는 인간이 그러는 것이라면, 로그인 이후에도 그러 실수는 배제할수 없지 않을까요?
          ''ZeroWiki는 아무나 어떠없이 로그인할 수 있습니다. 전 후자의 경우는 위키 초보자가 저지르는 실수라고 생각합니다. 로그인을 할수 있는 사용자는 그런 실수를 하지 않으리라 봅니다. 그리고 다시 말씀드리지만 그러 작은 불편 때문에 YouNeedToLogin을 주장하는 것은 아닙니다. --["이덕준"]''
          제가 RecentChanges 에 그렇게 신경이 안쓰이지만, 다른 분들이 신경이 쓰이는것 처럼, 저에게는 작은 불편으로 인식되지 않습니다. 위의 Document 에서 언급것처럼 틀속에 갖히는 느낌이 가장 싫습니다. 그리고, 처음 오시는 분들이 자유롭게 수정못하는 것에 가장 마음이 걸립니다. 제가 http://c2.com 을 보고 받은 충격을 받고 느낀 자유로움 때문에 이런것이 작은 불편보다 더 크게 다가 옵니다. --["neocoin"]
          ''DeleteMe 약간의 오해가 있었던거 같은데, 제가 말 '작은 불편'이란 로그인 과정의 불편이 아니라 이상 형태의 새페이지 생성으로 인 불편을 말 것입니다. --["이덕준"]''
         로그인은 그자체로 무언가 틀속에 갖혀 있다는 생각이 듭니다. http://c2.com 에 오타같은거 수정하면, 로그인이 없고, 그냥 edit 버튼을 누를수 있는 것이, 최대 글을 쓰는 것을 격려다는 생각이 듭니다.
         로그인을 유도 하기 위해서는 위에서 언급했지만, 로그인에 여러 이점으로 끌여 들여야 하지, 로그인으로 접근 제을 하는것은 그리 격려할 만 일은 아니라고 생각합니다.
          저도 사실 로그인을 글쓰기 권으로 하는 방안에 찬성하는 입장이었는데 생각해보니 위키 사용에 익숙치 않은 사람들에겐 '로그인의 의무화'가 글을 쓰는데 또하나의 벽이 생길지도 모르겠습니다. 위키가 일반 게시판과 다르듯이 일반 싸이트 로그인하듯이 로그인하는 것과 다르다고 생각합니다. --["창섭"]
          보름 정도만 ZeroWiki를 YouNeedToLogin 모드로 사용해보길 제안합니다. 그 이후에 YouNeedToLogin 모드를 유지할지를 결정했으면 합니다. --["이덕준"]
         그런데.. 보름 정도 YouNeedToLogin 모드로 사용하게 된다면, 로긴을 하지 않았을 때 글을 쓸 수 없다는 거지요? 그건, '로그인 하지 않고 글 쓰는 것' 을 막는 거겠군요. 개인의 자유에 맏겨두지 않고 말이지요. 전 반대합니다. 일단, 싫고, 자유와 가능성을 제다는 것이 싫습니다. --["zennith"]
          YouNeedToLogin 모드가 자유와 가능성을 얼마나 크게 제하는지, 그 제으로 과연 우리가 얻는게 있는지 번 경험해보자는 의도입니다. 달을 하자는 것도 아니고 일년 동안 하자는 것도 아닙니다. 잠시 그렇게 해보자는 겁니다. 절대로 안되겠습니까. 자유와 가능성을 제하는 것은 저 역시 싫습니다. 하지만 '절대 자유'가 최선이 아닐수도 있다는 생각을 하고 있습니다. DeletePage 액션은 관리자만이 쓸 수 있습니다. 조금만 더 유연하길 부탁드립니다. --["이덕준"]
          저의 이번 쟁점에 대 의견 피력이었을 뿐입니다. 그리고, 잠시 그렇게 해보자는 것에 대해서는 저도 찬성 합니다. 다양성은 중요하니까요. 다만, 기간을 '확실히' 정했으면 좋겠습니다. 흐지부지 되지 않게 말이지요. --["zennith"]
         요새들어 제로페이지 위키에 검색엔진을 통해 생성된 쓰레기 페이지들을 자주 볼 수 있습니다. 볼때마다 매번 지워주기는 하는데, 노스모크처럼 로그인을 해야 글쓰기 권이 생기게 바꾸어 보는것도 좋겠다는 생각을 합니다. 이 페이지가 생긴게 꽤 오래전인것 같기는 하지만 YouNeedToLogin 에 대해서 다시 번 생각해봐야 할 때가 아닌가 생각됩니다. 하지만 로그인을 해야하는 것은 방법은 위키의 철학에 위배되는게 아닌가 하는 생각도 할 수 있습니다. 굳이 로그인을 하지 않더라도 스팸성 글을 막을 수 있는 대책이 필요합니다. 예를 들어, 페이지 수정을 할 때에 난수값을 하나 찍어두고 input 필드를 하나 더 두어 이 곳에 생성된 난수값을 그대로 입력하게 하여 초기에 생성된 난수값과 같을 시에만 글을 수정하게 하는 것입니다. 물론 똑똑 로봇들은 이를 교묘히 피해가겠지만요. - [임인택]
  • 지금그때2006/여섯색깔모자20060317 . . . . 36 matches
         [나휘동]이 준비를 경험 사람으로서 [지금그때] 준비에 앞서 필요 이야기를 전달했다. 이 역시 일종의 [지금그때]이다.
         이때까지 해온 [지금그때]는 크게 네 가지 정도 목적이 있었다. 먼저 대학 4년 내내 몇 번 안되는 '''선후배 사이 이야기 자리'''이다. 소중 '''경험에서 나온 생각을 나눌 수 있는 기회'''를 마련하고 싶었다. 평소에 만나기 어려운 선후배 사이라면 이러 기회가 절실하다. [지금그때]를 통해서 몰랐던 사람을 만나고 알게 되니, 이야말로 '''바람직 인맥'''이 아니겠는가? 또 [지금그때]에 참여 경험이 하나의 '''공감대'''를 형성해서 이후로도 [지금그때]에서 좋았던 부분을 발전시켜나가는 계기로 삼는다.
         준비 과정에서 빠트리지 말아야 할 부분은 홍보, 참여대상, 역할 정하기이다. 홍보를 잘 하면 행사 목적을 이룰 수 있다. 참여대상을 잘 고르면 나눌 수 있는 이야기가 다양해진다. 역할을 잘 정하면 행사를 계획대로 진행하기 쉽다. 실제 진행시에 필요 역할은 사회자, 기록자, 시간관리자 등이 있다.
         [지금그때]에 변치않는 OpenSpaceTechnology 토론에도 아쉬운 점은 있다. 주제가 매년 반복된다. 영어, 군대, 책에 대 이야기는 세 번 모두 나왔다. 따라서 새로운 주제가 나오도록 유도하거나, 같은 주제라면 기존 토론 내용을 바탕으로 이야기를 발전시키는 것이 좋겠다.
         마지막으로 후기를 쓰는 것과 동시에 아무도 손대지 않는 [지금그때] 내용에 대 정리가 필요하다. 중복되는 내용은 데 모으고 아직 열기가 남아있는 주제는 이야기를 더 할 수 있으면 좋겠다.
         노랑: 금요일 7시에 모두 동의다.
         파랑: 날짜를 정하자. 가능 대안은 3.31이나 4.7이다. 빨간 모자를 써보자.
         빨강: 3.31 -> 4.7 표. 총 네표.
         노랑: 4.7에 모두 동의다.
         파랑: 초록모자를 쓰고 가능 장소를 말해보자.
         노랑: 나머지 강의실 중에 하나를 빌리는 것에 모두 동의다.
         파랑: 강의실 빌리는 책임은 역할을 정할 때 맡기도록 다.
         빨강: 소개팅 좋다 두표, 싫다 표. 연애는 인생의 반 좋다 두표. 머리가 팽팽 돌게->생각의 차이를 느낌->생각의트임 좋다 표. 제로페이지 발전 좋다 표, 싫다 표-> 후원금 좋다 표, 싫다 표. 색다름 싫다 두표.
         노랑: 소개팅은 친분을 쌓고 자리 배치에 따라 좋은 결과가 날 수 있다. 연애는 인생의 반은 학교뿐 아니라 사회의 러브스토리를 알 수 있다. 후원금으로 풍족 제로페이지를 만들자. 색다른 행사로 전공외에도 관심을 가진다.
         파랑: 그럼 노란모자를 쓰고 각 목적에 대해 동의를 구다.
         노랑: 생각의 트임에 전원 동의다.
         파랑: 나머지 의견은 다른 곳에 반영하도록 다.
         초록: 크게 누가, 어떻게, 누구에게 할 지 정해야 다. 책임은 다같이, 일부는 제외하고, 06포함, 특정개인이 맡을 수 있다. 방법으로 재학생 대상으로 A4, 강의실, 동문네트워크, 입소문이 있으며, 나머지 대상으로 전화, 이메일, 문자, 제 3자에게 전달이 있다. 또 단계적으로 몇 차례 나눠서, 돌아가면서, 남여교차, 학번교차하는 방법이 있다. 대상은 제로페이지 선배, 졸업앨범 명단, 교수님, 다른 학회 선배가 있다.
         빨강: 남여교차 몰표. 06포함 두 표. 특정개인과 일부제외 좋다 표, 싫다 표. 강의실 싫다 표.
         초록: A4는 수생이가 눈에 띄게(컬러도 가능) 만들어 붙인다. 강의실은 일부 제외하고 저학번이 주도하여 홍보다. 동문네트워크에는 학번교차로 올린다. 입소문은 기준없이 개인이 알아서 다. 이메일을 보낸 후 답장 받으면 전화하고 행사 전에 다시 문자를 보낸다.
  • 02_C++세미나 . . . . 35 matches
         = 강사 - 각오 마디씩^^; =
          * c++을 듣는데도 잘 이해안가고 아리까리 02
          * 강사들이 이상 소리 하면 말려 줄수 있는 선배나 동기
         아주 중요 사실이니 꼭 기억하기 바란다.
         그럼 포인터가 변수이긴 데 과연 무엇을 저장하는 변수란 말인가??
         int로 정의 변수는 정수를 저장하는 변수이고,
         double로 정의 변수는 소수점이 있는 수를 저장하는 변수이고,
         char로 정의 변수는 문자를 저장하는 변수인데...
         포인터는 바로 변수의 메모리 주소를 저장하는 변수이다. (그러므로 포인터는, 그 포인터가 어떤 종류의 변수의 주소값을 가지느냐에 따라서 변수의 가짓수 만큼의 변형이 있다. 왜 여러 종류의 포인터가 필요지는 나중에 포인터의 연산(물론 포인터도 변수이므로 연산, 비교, 대입 등 거의 일반변수에서 가능 모든 것이 가능하다)에서 설명하겠다.)
         변수에 어떤 값을 저장다는 것은 실제로 그 변수에 대응하는 메모리에 저장하는 것이다.
         이에 대해서는 하드웨어적인 컴퓨터의 동작원리에 대 체계적인 이해가 필요하지만 나중에 기술하도록 하겠다.
         그렇다면 대체 왜 이다지도 복잡 포인터를 쓰는가? 내가 알기로는 포인터는 C 와 C++ 언어에서만 존재하는 기능이다. 동시에 사람들이 C 와 C++ 를 어려워하는 이유이기도 하다. 왜 사람들은 C 에만 있는 기능인 포인터를 어려워 하는가. 그건 포인터를 써야만 하는 어떤 '이유' 가 있는게 아닐까? 재미있게도, 사람들이 C 언어를 좋아하는 이유가 '포인터의 강력함' 때문인 경우가 많다.
         여러가지로 말이 많았는데 이쯤에서 포인터의 쓰임에 대해 간략하게나마 설명하겠다. 포인터의 이론적인 정의는 무엇인가. 바로 '메모리의 주소를 가지고있는 변수'란 것이다. 그건, 동시에 포인터를 이용하면 그 해당하는 메모리로의 직접적인 접근과 제어가 가능하다는 뜻이다. 그렇다면 포인터의 역활은 메모리로의 직접적인 억세스가 되는것이고, 여기에 포인터의 연산을 통해 거의 어셈블리언어에 가까운정도의 저수준 메모리 제어를 가능케 다. 바로 그것이 포인터의 존재이유이며 쓰임이다. 이런 이론적인 포인터의 쓰임 말고, 직접적인 강함의 체험을 원다면, 여러분이 직접 사용해볼것을 권다.
         이렇게 만들면, a는(*a가 아니다. 정의할때만 *를 붙여야 다. 사용할땐 a로 쓴다)
         p=&a; // a의 메모리 주소를 p에 저장다. (p는 정수형 변수의 메모리 주소를 저장하는 변수이므로...)
         처음에 강조했듯이 포인터 역시 변수이기 때문이다. 그러 경우에 대해서는 나중에 다시 알아보기로 하겠다.
         *는 포인터를 대상으로만 사용되는 연산자인데, 포인터에 저장되어 있는 메모리 주소에 보관되어 있는 값을 엑세스할때 사용다.
          cout << a << " " << *p << "\n"; // a의 값과 p에 저장되어있는 메모리 주소에 보관되어있는 값을 출력다.
          cout << a << " " << *p << "\n"; // a의 값과 p에 저장되어있는 메모리 주소에 보관되어있는 값을 출력다.
         또 *연산자를 이용하여 *p의 값을 바꾸는것은...
  • AcceleratedC++/Chapter4 . . . . 35 matches
          * 이름을 가지고 있어야 다.
          3장까지 봤던 것은 첫번째것만 있고, 나머지 것은 없다. 프로그램이 작을때는 별로 상관없지만, 커지기 시작하면서부터 2,3번째 것이 결여되면, 나중엔 제어가 불가능해진다. C++에서는 다른 언어와 마찬가지로 함수 + 자료구조를 제공함으로써, 프로그램을 구조화시킬수 있는 방법을 제공다. 또 함수 + 자료구조를 묶어서 가지고 놀 수 있는 class라는 도구를 제공해준다.(Chapter9부터 자세히 살펴본다.)
          * 3장까지의 프로그램을 보면 등급을 메기는 부분이 있다. 이 부분을 함수로 추출해보자. 함수로 추출함으로써, 나중에 똑같은 내용을 또 코딩할 필요가 없고, 알아보기도 쉬워진다. 또 등급 메기는 방법을 바꿀때 그 함수 부분에만 문제를 정지을 수가 있다. 또 함수에 이름을 지어줌으로써, 더욱 추상화시킬수가 있게 된다.
          * 함수를 호출할때에는 함수를 만들때 주어졌던 parameter lists를 충족시키는 값들을 넣어줘야 다. 물론 순서도 맞춰줘야 다. arguments라고도 다. arguments는 식이 될수도 있다. 그 뒤에 함수로 넘어간 parameter들은 함수 내에서 지역 변수(함수가 끝나면 소멸되는)처럼 작동하게 된다. 즉 그 값들을 복사하게 되는 것이다. 이를 call by value라 다.
          * 앞에서 우리는 vector에 들어가 있는 값에서 중간값 찾는 걸 했었다. Chapter8에서는 vector에 들어가 있는 type에 관계없이 작동하게 하는 법을 배울 것이다. 지금은 vector<double>로만 정짓자. median 구하는 루틴을 함수로 빼보자.
          * 또, 아까 함수 호출하면서 parameter로 넘겨줄때에는 그 값을 복사를 다고 했다. 저렇게 함수를 호출함으로써, 원래 vector를 손상시키지 않고, 복사본 vector에서 sort를 해서 작업을 처리해 줄수가 있다. 비록 시간이 좀 더 걸리긴 하지만..
          * const vector<double>& hw : 이것을 우리는 double형 const vector로의 참조라고 부른다. reference라는 것은 어떠 객체의 또다른 이름을 말다. 또 const를 씀으로써, 저 객체를 변경하지 않는다는 것을 보장해준다. 또 우리는 reference를 씀으로써, 그 parameter를 복사하지 않는다. 즉 parameter가 커다란 객체일때, 그것을 복사함으로써 생기는 overhead를 없앨수 있는 것이다.
          * grade() function : 우리는 아까 grade라는 함수를 만들었었다. 그런데 이번에 이름은 같으면서 parameter는 조금 다른 grade()를 또 만들었다. 이런게 가능가? 가능하다. 이러 것을 함수의 overloading이라고 다. 함수 호출할때 어떤게 호출될까는 따라가는 parameter lists에 의해 결정된다.
          * 이제 우리가 풀어야 할 문제는, 숙제의 등급을 vector로 읽어들이는 것이다. 여기에는 두가지의 문제점이 있다. 바로 리턴값이 두개여야 다는 점이다. 하나는 읽어들인 등급들이고, 또 다른 하나는 그것이 성공했나 하는가이다. 하나의 대안이 있다. 바로 리턴하고자 하는 값을 리턴하지 말고, 그것을 reference로 넘겨서 변경해주는 법이다. const를 붙이지 않은 reference는 흔히 그 값을 변경할때 쓰인다. reference로 넘어가는 값을 변경해야 하므로 어떤 식(expression)이 reference로 넘어가면 안된다.(lvalue가 아니라고도 다. lvalue란 임시적인 객체가 아닌 객체를 말다.)
          * 입력받은게 등급이 아닐때(점수를 입력해야 되는데 이상 것을 입력했을때) istream 객체 in은 실패 상태가 된다. 또 그것을 읽지 않는다. 파일의 끝에 도달것 처럼...
          DeleteMe) 두번째가 잘 이해가 안가네.. 누가 잘 아시는 분은 명쾌 설명 부탁드립니다.
          * const가 아닌 참조형 파라메터는 lvalue여야만 다.
          // 이리로 온다. 만약에 try 안에서 예외 안 뜨면 catch 안은 수행안다.
          * 여태까지는 학생의 데이터만 가지고 놀았다. 하지만 성적 처리 프로그램은, 모든 학생의 데이터를 대상으로 다. 이에 다시 체계적인 데이터 구조가 필요하다.
          * is >> 을 보면, string을 읽었다가 double을 읽기도 다. 이게 가능 이유는 오버로딩 때문이다.
          * 무엇을 기준으로 sort를 할것인가? 이름? midterm? final? 알수가 없다. 따라서 우리는 predicate라는 것을 정의해 주어야 다. 다음과 같이 해주면 된다.
          * catch(domain_error e) 다음에 무슨 예외 났는지 알고 싶으면 e.what()을 해준다.
  • Cpp에서의멤버함수구현메커니즘 . . . . 35 matches
          Foo* foo1 = new Foo();// Create! 를 출력다.
          Foo* foo2 = new Foo();// Create! 를 출력다.
          Foo* foo3 = NULL; // 자세 설명보세요.
          foo3->sayHello(); // Hello 를 출력다.
         결과는 다음과 같이 출력됩니다. 비교해보면서, 생각해 보고 이해가지 않는다면 자세 설명을 보세요.
          Foo* foo1 = new Foo(); // Create! 를 출력다.
          Foo* foo2 = NULL; // 자세 설명보세요.
          foo2->sayHello(); // Hello 를 출력다.(음--;)
         DeleteMe 이렇게 보이는 것도 좋지만, '''실행할수 있는 완전 소스''' 형태를 제시하는 편이 더 좋을것 같습니다. --NeoCoin
         === 자세 설명 ===
         위의 "간단 설명=코드"를 인용하면서 설명합니다.
         C++은 Strong typed language 이므로 컴파일 시간에 모든 형이 선언되고, 사용되는 것을 검증할 수 있습니다. 하지만 이는 다음과 같은 지역 변수에 국합니다.
         여기까지가, class 와 struct 키워드가 하는 동일 작업입니다. 그리고, class 에는 몇가지 더 생각해야 하는데, 그중 하나가 foo 를 이용해서 어떠 member 함수를 호출할 수 있는가 입니다.
         그러나, 컴파일러인 우리는 이 정보를 지역 변수이든, new 로 할당이든 컴파일 시간에 인자의 type을 보고 함수 호출 유효성을 확인하고, 적절 함수 포인터를 함수 호출하는 부분에 넣어 줄수 있습니다. 그리고 실행할 수 있는데 이 과정을 두번째에서 설명합니다.
         그외 class와 instance의 생성시 vpt와, 상속 관계에 대 pointer 정보가 더 들어 가야 합니다. 그러나 여기에서는 생각하지 않습니다. 둘째로 넘어갑니다
         C++ 표준안에서 전역에서 함수 호출과, instance에 귀속된 멤버 함수들의 호출을 가리지 않습니다. 함수 선언과 멤버 함수 선언의 함수 실행 코드는 모두 동일 방법으로 선언되고, 모두 동일 메커니즘의 함수 포인터를 이용해서 호출합니다.
         이러 전제라면, 가지 의문이 생깁니다.
         '''전역 함수와 동일 함수 선언의 형태라면 각각의 instance에 어떻게 접근하는가?'''
         C++ 에서는 이런 계를 class 에 귀속된 함수들의 처음 인자로 해당 class 의 포인터를 묵시적으로 선언해서 해결하고 있습니다. 즉,
         라는 형태의 함수로 선언하고, 실행할수 있도록 만듭니다. 그리고, 호출다면 {{{~cpp Foo*}}} 부분에
  • PragmaticVersionControlWithCVS/WhatIsVersionControl . . . . 35 matches
         이장에서는 서로 다른 의미로 사용되는 용어의 정의를 목적으로 다.
         개발 중인 프로젝트의 모든 버전이 저장되는 장소이다. 파일 시스템, DB일수도 있으며, 어떤 경우에는 2가지를 같이 사용하기도 다.
         최근에는 네트워크를 이용해서 원격지의 서버에 존재하는 저장소에 저장다.
         프로젝트의 기본으로 저장되는 소스코드. 그 외에 버전관리에 필요 기타 파일들이 저장함.
         '''원칙:만약 프로젝트의 진행에서 없으면 곤란 모든 것이 버전관리의 대상이된다. 즉 반드시 프로그램의 빌드만이 아니라 차후에 필요 다큐도 버전관리를 해야할 필요가 있다'''
         || 자동으로 생성되는 잔여파일의 경우 굳이이를 관리할 필요는 없다. 대신에 특수 이유(컴파일 타임. 라이센스)로 필요 경우에는 관리를 하는 경우도 있다 ||
         전송(commit) : 수정 파일을 저장소에 반영시키는 것.
         ''만약 개의 파일을 2명의 프로그래머가 각기 수정을 뒤 commit다면 이때의 상황을 어떤식으로 처리할 것인가?''
         기본적으로 Version Control 에서 관리의 가장 작은 단위는 파일이다. 그외에 개의 프로젝트 단위로 전체 프로그램을 관리하고, 그 하부에 모듈을 기준으로 해서 소스를 관리다.
         저장소는 말과는 다르게 사실 많은 과정을 거쳐서 저장된다. 저장소는 번이라도 체크인적이 있는 모든 버전을 보관다.
         각각의 체크인된 버전에는 체크인 날짜, 시각, 변경의 내용을 저장하는 주석이 포함된다.
         버전 관리 시스템에서는 전체의 파일, 모듈단위, 프로젝트 단위로 이에 속 파일들에 꼬리표라는 것을 붙이는 것이 가능하다.
         이 경우 PreRelease2를 불러들이게 되면 상기의 버전의 파일들이 불러들여지게 된다. 태그는 프로젝트의 진행에 있어서 중요 일이 발생 시점을 기록하는 것으로 사용되는 것도 가능하다.
         개발중심축(mainline) : 일반적인 개발환경하에서 개발자들은 동일 코드 기반을 가지고 작업을 다. 체크아웃, 개정판을 만들어서, 변경사항을 체크인하면 모든 개발자가 서로의 작업을 공유하게 되는 것이다. 이러 개발흐름을 일컬어 개발중심축이라 함.
         브랜치를 만들게 되면 그 시점에서 브랜치로 만들어진 소스는 개발의 중심축선상에서 빠져나와서 기본 개발축과 다른 개발을 할 수 있다. 또 이렇게 분기된 프로젝트의 변경부분을 본래의 개발중심축선상에 반영시키는 것또 가능하다. 또 이 릴리즈 시점을 지나서 개발중심축이 상당부분 진행이 된 상태에서 소비자가 릴리즈버전의 버그를 보고하여, 이 버그를 고쳐야할 필요가 생겼을때 개발자들을 새로 소스를 만들 필요없이 단지 릴리즈 시점의 브랜치로 옮겨서 작업을 하고, 패치를 만들어 내는 것이 가능하다.
         브랜치를 이용하면 명의 개발자가 개의 컴퓨터를 가지고도 릴리즈 버전의 버그 수정작업과 mainline상의 프로그램의 개발을 동시에 하는 것이 가능하다.
         만약 개의 파일을 가지고 2명의 사람이 동시에 수정작업을 거쳐서 체크인하게된다면 어떤 상황이 벌어질까? 아마 이대로는 개의 파일이 쓰여지고 다른 파일이 그 파일을 덮어 쓰는 상황이 벌어질 것이다.
         '''엄격 잠금'''
         상기와 같은 식으로 소스를 수정뒤 fix01, fix02를 순차적으로 체크인하면 fix01에 의해서 저장소에 있는 파일이 갱신되었기 때문에 fix02가 체크인 되는 시점에서 충돌이 일어나게 된다. 이경우 CVS는 fix02의 소스에서 fix01에 반영된 3번째 줄의 변경내용을 병합하여 로컬 작업 공간에 반영하고 체크인하게된다.
         ''일반적으로 낙관적 잠금으로 구현된 {{{~cpp VersionControl}}}을 선호다.''
  • 데블스캠프2003/넷째날/Linux실습 . . . . 35 matches
         여기서 다운 받아 실행 후, Protocol을 SSH로 하고 Hostname을 zeropage.org로 하여 접속하세요. 그리고 부여받은 id와 비밀번호를 입력하면 됩니다.
          * cd .. 단계 상위 디렉토리로 이동다.
          * 주의) 반드시 cd 다음 칸 띄어야 함.
          * ls -1 ( 줄에 하나씩 보여준다.)
          * 그 외에 다양 옵션이 있다. 옵션을 여러개 꺼번에 쓸땐 ls -1l 식으로 쓴다.
          * cp (파일1) (파일2) => 파일1을 파일2란 이름으로 카피다.
          * cp 파일1 temp_file => 파일1을 temp_file로 카피다.
          * cp 파일1 ../temp_file => 파일1을 현재의 상위 디렉토리의 하위 디렉토리인 temp_file로 카피다.
          * man (알고 싶은 명령어)의 형식으로 사용다. cp명령어에 대해 알고 싶으면 man cp를 쓰면 된다.
          * chmod (권 설정)
          * ls -l을 해보면 제일 왼쪽에 -rwxrwxrwx 등의 문자가 나오는데, 이것은 권을 말다.
          * 접근 권에는 3종류가 있다. r: read, w: write, x: excute의 권을 나타냄
          * 권 부여 대상에도 3종류가 있다. 왼쪽의 rwx부터 차례로 u(user), g(group), o(others)의 순서.
          * chmod ugo+rwx aaa.txt => aaa.txt를 user, group, others에게 읽고 쓰고 실행시키는 권을 준다.
          * chmod u-r aaa.txt => aaa.txt의 읽을 권을 user로부터 빼앗는다.
          * chmod 701 aaa.txt => user에겐 rwx의 권을 주고, group에겐 어떠도 안 주고, others에겐 x의 권만 준다.
          * vi는 MS워드나 아래아 글과는 달리 메뉴가 없습니다. 그래서 여러 기능을 쓰기 위해선 각 기능에 해당하는 버튼을 외워야 할 필요가 있습니다.
          * copy, paste 등 편집과 관련된 다양 기능을 사용할 수 있다.
          * 등등의 다양 명령을 쓸 수 있고, 이제부터 편집(copy&paste)에 관해서 설명합니다.
          * yy => 줄 복사하기
  • 데블스캠프2005/RUR-PLE . . . . 35 matches
         = 작성 소스 =
          * 간단 설명 5분
          * 프로그래밍 언어를 배우는것은 재밌어야 다는 취지에서 만들어진 환경이다. 실제로 해보면 재밌다. 도움도 많이 된다.
          * 실제로 로봇에 프로그래밍 해서 그 로봇이 현실에서 자신이 프로그래밍 하는데로 움직이는것을 보면 정말 좋겠지만 여건이 안되는 만큼 -_-; 화면으로나마 그 로봇이 움직이는 것을 보면서 프로그래밍 해볼 수 있다. 여기에서 작성하는 코드들이 무슨 쓸모가 있을까 싶기도 하겠지만, 추후에 실제 로봇의 동작을 프로그래밍해서 넣는다면 여기서 쓰이는 방식과 비슷하게 넣을것이다.(하드웨어적으로 복잡것을 명령어로 추상화 시킨다음에 그 명령어을 적절하게 복합적으로 사용하여 원하는 행동을 로봇이 하게 만드는 식으로..) 즉 말그대로 로봇 프로그래밍을 간접적으로나 해볼 수 있다.
          * 컴퓨터 프로그래밍을 익히는 것은 악기를 익히는 것과 비슷하다. 당신은 그것에 관해 단순히 읽기 말고 해봐야 다.
          * 사람들이 읽기 쉬운 프로그램을 작성해야 다.
         = 간단 러플 사용법 =
         == 로봇 번 움직여 볼까? ==
          * 창에서 Robot: Code and Learn 탭을 선택다.
          * 그후 화면에 Mp3 Play 버튼 비슷하게 생긴 버튼을 클릭다.
          * 저장하라는 창이 나오면 test 라고 넣고 저장다.
          * 화면의 로봇을 클릭다.
          * 위쪽 방향 키보드를 누르면 앞으로 이동다.
          * 칸 앞으로 간다음에 왼쪽으로 돌고나서 칸 앞으로 가고 나서 정지하는것을 볼 수 있다.
          * RUR-PLE에서도 디버깅을 다.
          * Play버튼 옆에 Play 모양과 작대기 하나 있는것은 step into와 비슷 역할을 다. 명령어가 하나씩 실행된다. 현재 실행되고 있는 명령어는 코드 부분에서 회색으로 highlighting 된다.
          * 버튼들 중에서 벽 처럼 생긴 버튼을 클릭다. 그럼 아래 그림과 같은 화면이 나온다. 여기서 클릭! 클릭~! 해서 벽들을 만들 수 있다.
          * repeat 명령어를 써서 여러번 수행해야 하는 함수(명령어 포함)을 번에 방복 횟수만 지정해서 사용할 수 있다.
          * 벽 만들기 연습에서 코드들을 함수화 해서 중복 제거를 다.
          * next_to_a_beeper() : beeper가 현재 로봇의 자리에 있으면 true, 없으면 false를 반환다.
  • 데블스캠프2005/게임만들기/제작과정예제 . . . . 35 matches
         start()안에보면, 다양 색상들이 적혀있는color라는 이름의 변수가 보일 것이다.
         1.출력할 블럭의 모양을 결정다.
         2.랜덤으로 블럭을 생성 후 next창에 출력다.
         3.next창에 출력된 블럭을 가져온뒤 메인창에 출력다.
         6.줄이 다 찼을때, 블럭을 삭제다.
         예제) 일자모양을 배열으로 표시하는 방법. 소스가 길어지므로, 헤더파일에 넣기를 권장다.
         == 랜덤으로 블럭을 생성 후 next창에 출력하기 ==
          우선 랜덤하게 블럭을 생성하기 위해서 start()함수에 srand((int)time(NULL));라고 적어서, 시간을 이용해서 랜덤하게 나오게 다음,
          테스트를 위해서는 key_Left()와 같은 변수안에 넣고, 랜덤으로 만드는 함수를 호출후, 호출해 보면 된다.
          소환된 블럭을 움직이게 해보자. 움직이게 하는데는 여러가지 알고리즘이 있지만, 쉬운 방법은 블럭이 내려가면 색깔을 바꾸고, 색깔이 있는 블럭만 움직이게 하는 방법이 있다. 두번째는, 블럭의 끝을 계산해서 그 부분이 닿게되면 멈추게 하는 방법이 있다. 후자가 연산이 더 복잡하나, 좀더 다양 색상을 볼 수 있다. 움직일 때에는, 좌우의 벽과 다른 블럭을 고려해서 움직여야 다.
         예제) 두번째 방법을 이용 모습중 하나. -1은 왼쪽 0은 아래, 1은 오른쪽으로 움직인다는 뜻으로 인자를 넘겨받는다.
          리팩토링이 많이 필요 모습이다.
          // 블럭의 끝을 체크다.
          // 블럭이 움직일 수 있는가를 판단다. 못 움직일 경우에는 1을 리턴하고 종료다.
          // 이전의 블럭의 이미지를 제거다.
          블럭을 회전하기 위해서, 해야할 일은, 좌 우측으로 충분 공간이 있는지를 보고, 벽이 막고 있으면 움직여준 뒤에 공간을 확보해서 회전하게 하는 것이다. 이동보다는 간편 편이며, 전역변수에 움직인 정도를 기억시켜서, 움직일 수 있도록 해야 다.
          //블럭이 벽에 닿는지, 충분 공간이 있는지를 확인다.
          //블럭이 회전할 공간이 있으면, 이전의 블럭을 삭제다.
          //변화된 값을 저장다.
          블럭이 내려오게 되어, 줄이 완성되면 삭제되어야 다. 또, 삭제된후 그 윗줄부터는 칸씩 아래로 내려져야 다.
  • 데블스캠프2010/첫째날/후기 . . . . 35 matches
          * 팀프로젝트를 할 때 번 써봤는데 제대로 쓰질 못했던 기억이 있네요. 이걸 제대로 익혀서 다음에 유용하게 쓰게 된다면 좋겠네요ㅎㅎ - [허준]
          * 1등이다! 회사 생활은 역시 어려워 보인다...졸업 후의 진로를 다시 번 생각하게 만드는 세미나였다 - [박근수]
          * 적당히 현실적이면서 재밌게 이야기를 해주셨고 친근 강의가 되어서 좋았습니다^^ - [김정혜]
          * 개인적으로 게임 기획 및 개발에 관심이 많고 진로를 그 쪽으로 생각하고 있었는데 정말 좋은 경험이 되었습니다. 지금까지 몰랐던 이러저러 직장 생활 또 알게되어 즐거운 시간이었네요. - [김준영]
          * 게임 분야에 관심은 있어도 이런 실무적인 내용을 접해본건 처음이었는데 유익 시간이었습니다. - [백주협]
          특히 개발분야 뿐만 아니라 다른 분야에 취직하신 선배님들 이야기도 들을수 있어서 귀중 시간이 되었습니다^^
          * 07년도에 신입생으로 데블스캠프에 참여했었다. 그때도 박지상 선배님께서 데블스캠프에 오셔서 게임회사에 관 이야기를 들려주셨었다. 사실 그때는 앞으로 뭘 할지에 대 생각이 아는 것이 정말 아무 것도 없어서 세미나를 듣고도 막연하게 '아, 게임 회사는 이렇구나' 하는 감상밖에 가질 수 없었다. 학교를 몇 년 다니며 별 특별 경험은 아니지만 이것저것 접해보고 고민하기 시작 지금 다시 선배님의 말씀을 들으니 07년도와 비슷 주제의 세미나지만 굉장히 새롭게 다가왔다. 기획자로서 어떤 일들을 해야하고 무엇에 집중해야 하는지 궁금했는데 대충 이런게 있다고 어디서 읽는 것보다 직접 기획자로 일하셨던 선배님께서 말씀해주셔서 더 상세하고 와닿는 이야기를 들을 수 있었다. 그리고 요새 대세인 SNS, SNG에 대해서도 말씀해주셨는데 평소 가볍게나마 관심을 가지고 있던 부분이라 더욱 흥미로웠다. - [김수경]
          * 게임은 개인적으로 관심있는 분야인데, 이렇게 실제 현업 이야기를 들으니까 좋았습니다. 기획자와 프로그래머, 디자이너의 갈등이라던가, 연차가 쌓여갈 수록 '코딩'이 아닌 '관리'라는 측면에서 프로젝트를 참여해야하는 분위기라던가.. 여러가지를 다시 생각해보게 하는 시간이였습니다. '관리'나 '코딩' 둘 중 어떤 것에 더 우선순위를 둘지를 조금 더 생각해봐야겠습니다. 일주일 정도 생각해보고 지금 현재 나의 행동들 중 우선순위에 맞지 않는 행동을 수정해보도록 하겠습니다. - [박성현]
          * 선배님의 말씀을 들어보면 아무래도 우리나라의 게임 관리자는 상당히 특이 위치를 점하고 있지 않은가 싶다. 인터넷에서도 우리나라 IT에 대 우스갯소리도 자주 들릴 정도니까. 그런만큼 그 자리에 있는 사람만이 말할 수 있는 것이 있지 않을까 싶다. 특히나 표절과 관련된 주제는 민감 만큼 이런 자리가 아니면 이야기를 들을 수 없지 않았을까 싶은 꽤나 생각해 볼 만 주제였다. 아쉬운 점은 플래쉬와 SNG 이야기가 나오길래 스마트폰과 애플 이야기도 들을 수 있지 않을까 했는데 그 부분에 대 언급은 없으셨다는 점이었다. 그래도 이런 자리에서만 들을 수 있는 가치있는 이야기였다고 생각다. - [서민관]
          * 정말재밌어요! 창의적설계를 이것으로 했으면 진짜 재밌었을텐데 ^_^ ㅠ_ㅠ... 우수법의 승리!!. RUR-PLE 이란 것을 소개시켜주셨고, 또 맵을 수행하기위 여러 생각을 할 수 있도록 해주셨습니다 ^^. - [이충현]
          * 개인적으로 왜 계속 svn이 fail 뜨나 했더니 초반에 등록 안거였 ㅠㅠㅋ 작년 스크래치 비슷하게 재밌었어요. 완료 건 많이 없지만 ㅠㅠㅋ- [강소현]
          * 새롭게 경험해보지 못 Rur-ple이라는 파이썬을 이용 프로그래밍 언어 환경을 사용해보았습니다. 평소에 프로그래밍 언어에 대해 머리아프다고만 생각했었는데 이렇게 로봇을 이용해 움직이는것을 보니 좀더 재미있게 프로그래밍을 할 수 있었습니다. 머리를 많이 사용해서 그런지 좀 어지럽긴 하지만 평소에 C나 자바 대신 이것으로 프로그래밍을 다면 코딩도 잘하고 성적도 잘 받을수 있을것만 같네요ㅎㅎ - [허준]
          * 러플이 정말 재미있었습니다 ㅎㅎ 파이썬의 기본을 알게된것 같아 좋았습니다. 단지 미로가 너무 어려웠던... 하지만 나머지들을 하면서 좋은 경험을 거 같네요 ㅎㅎ
          * 러플을 처음 접해보았는데 흠 역시 일반적인 프로그래밍 언어와는 달랐습니다. 그리고 작년에 했던 NXT가 생각나더군요. 교육용 언어에 대해 별 생각이 없었는데 오늘 해보고 나니 새로운걸 배워본다는 취지로는 좋았습니다. 언어 자체의 문법도 간단할뿐더러, 결과를 바로바로 확인해볼 수 있더라구요. 가지 아쉬운 점이 있었다면 러플을 해본적도 없는 제가 도우미로 나섰던 점... ㅋㅋㅋㅋ 그래서 파이썬과 러플이 무슨 관계인지 확인을 못해봤습니다. 궁금했었는데... ㅋㅋㅋ - [박성현]
         = 일반리스트(강사: 이승) =
          * 어려워서 제대로 듣지 못 게 많이 아쉽네요 ㅜㅜ....... 다음엔 준비된(?) 학생이 될게요 ㅜㅜ ㅋㅋㅋ - [김정혜]
          * 정말 유익.. 것.. 같은.. ㅠㅠ... 죄송해요.. C 확실하게 공부해서 2학기떄는 꼭 강의 잘들을수있도록 할게요 !! - [이충현]
          * 알아들을 수 없는 얘기가 너무 가득 세미나였어요 ㅜㅜ;; C만 가지고도 많은 것을 할 수 있는걸 알았고요ㅋㅋ 내년에 자료구조 배우면서 이해할 수 있으면 좋겠어요 ㅋ [박재홍]
          * 머라는 건지 잘 못 이해했어요ㅠㅠ 2학년때 자료구조 쫌 배우고 프로그램을 쫌 더 능숙하게 만질 수 있을때... 다시번 기회가 된다면 들으면 좋을듯해요!!히히 -[박소연]
          * 자료구조를 배울 때도 느꼈지만 뭔가 쉬운 듯 어려운 거 같아요. 그래도 컴공이면 자료구조랑 알고리즘을 알아야 다던데 열심히 봐야죠 ㅠㅠㅋ - [강소현]
  • 데블스캠프2011/둘째날/후기 . . . . 35 matches
          * 사실 스크래치를 접해보는 건 이번이 두 번째군요. 2009년 데블스캠프에서도 번 다루었던 걸로 기억합니다. 스크래치는 원래 아동 교육용으로 만들어진 프로그래밍 언어라고 들었습니다. 그런데 아동용이라고 대충 넘기기에는 기능도 생각보다 훨씬 다양하고 능력도 강력 것 같아요. 1학년 떄는 이래저래 미숙 부분이 많아서 그런 부분을 볼 여유도 없었는데 다시 보면서 약간 여유가 있어서 그런지 잘 만들었다는 느낌이 새삼 들었습니다. 그리고 이번에도 2009년 때처럼 게임을 만들기로 했었는데, 이번에는 다행히도! 제대로 돌아가는 게임을 만들었습니다. 사람이 그래도 발전이 있긴 하군요. 앞으로도 열심히 해야겠습니다.
          * 겉모습에서 일단 코드가 나오지 않으니 확실히 잘 모르는 사람도 생각하기 쉬울 것 같습니다. 다만 반복문 구문 블록이 여러개로 나뉘어 있는데 비슷비슷해 보여서 좀 불편하기도 하더군요. 하지만 중요건 언어의 사용법이나 형태가 아니라 만드는 사람의 실력에 달렸다는걸 만들면서, 그리고 다른 분들이 만든 물건들을 보면서 다시 번 느꼈습니다. 어릴 때부터 이런걸로 교육받고 자라면 코딩 잘하려나 -_-
          * Scratch참 재밌었습니다 ㅋㅋ. 하다보니까 로보랩느낌도 나고 코딩도 미리 만들어져있는 명령어 끌어다하니까 다른 언어보다 쉽게 느껴지구요. 고양이 움직이는 것도 귀여웠고 생각보다 꽤 다양 것을 구현할 수 있어 놀랐습니다. 마지막에 핑퐁게임을 만들었는데 생각보다 버그가 많아서 아쉬웠네요 ㅜㅜ.
          * 처음해보는 Scratch 였습니다. 그림을 끌어다 놓고, 명령어들을 끌어다가 추가시키면서 프로그램 진행을 구성하고... 독특하고 신기했습니다만 정작 익숙해지기에는 힘들었습니다. 코드로만 하다가 이렇게 짜여진 틀을 움직인다는게 어색해서 짜고있던 게임을 완성시키지는 못 것이 아쉬었다.
          * 제가 처음 준비했던 컨텐츠였는데 성현이가 세미나를 진행하니 감회가 새로웠습니다. 저는 09년 때 간단 인터페이스만 가르쳐줬는데 학우들이 창의적인 컨텐츠를 많이 만든 반면 성현이는 기능 하나하나 상세히 설명해주어서 제가 몰랐던 기능도 많이 알게 되었습니다. 수업을 들으면서 플래시 같은 애니메이션을 만들었는데 갑자기 게임을 만들라고 해서 소닉이 좌우로 이동하는 것밖에 못 만들어봤네요 ㅋㅋ 그래도 이동할 때의 모습을 바꾸는 데에서 삽질 끝에 성공해서 뿌듯뿌듯했습니다. 저의 Scratch 작품의 포인트는 역시 '음악' 입니다.
          * Scratch!! 오늘 했던것중에는 가장 재밌게 했습니다. (하나는 약간 강의위주였고, 하나는 저희에게는 좀 어려웠으니까요..;) 저는 학점 나올 시즌이 되었기에 그에 걸맞게(?) A학점 잡기 게임을 만들었어요. F학점의 추격을 피하며 B학점을 챙기고, 최종적으로는 A를 몰아넣어서 잡으면 되는거 였지요. 사실 다른데서 만들어 놓은 마우스 피하기에 약간 영감을 받은거였지만.. 아무튼 3시간이 부족하다 느낄정도로 재밌게 했어요. 다만 끝에 시간이 모자라 다른사람들이 것들을 함께 보지 못건 좀 아쉬웠던거 같아요.
          * [http://sdec.kr SDEC] 가느라 못 들었는데 나중에 다른 학우들이 걸 돌려보며 저도 다시 Scratch를 사용해봤습니다. 오랜만에 하니 재밌네요 ㅋㅋ
          * Hacking != Cracking. Cheat Engine, 자바스크립트를 이용 사이트 공격? 툴을 이용 Packet Cracking 등 개인적으로 무척 재미있던 세미나였습니다. 뭐... 사실 많이들 관심은 있지만 실제로 하는 걸 보는 건 흔치 않은 만큼 이번에 세미나를 볼 수 있었던 것은 여러모로 행운이었다고 생각합니다. 더군다나 질문을 꽤 많이 했는데 선배님이 친절하게 답변을 해 주셔서 정말 감사했습니다. 웹 쪽은 이래저래 공격을 당할 가능성도 높은 만큼 나중에 그쪽으로 가게 된다면 관련 기술들도 배워둬야 하지 않을까 싶군요.
          * Craking이 우리가 보통때 말하는 Hacking이었다는걸 처음(사실 저번에 번 들은거 같지만) 깨달았네요. 또, 이전까지 그런 툴을 만드는 사람들은 도대체 어떻게 만드는가! 싶었는데 어셈을 이용해서 만들곤 다는 걸 보며, 음.. 좋군(?) 쇼핑몰중에 지금도 간단 방법으로 털리는 곳이 있던데, 비밀번호까지 털 수 있다거나 하는걸 보니 정보보안의식에 대 자각이 들었던거 같기도 하구요.(캐시 충전사건으로 문제가 생긴적이 있다는걸 듣고 충격!) 뚫을 수 있는 사람이 막을 수도 있다고 하니 정보보안쪽을 공부해보고 싶다면 Craking에 대해서도 아는게 좋을거 같군요. 저는 처음보는 형이었는데, 형 세미나에서 많은걸 배울 수 있었던거 같습니다.
          * 리버싱 프로그래밍 하는 것을 보고, 패킷을 주고 받는 것을 얻어서 사용다던지 또 웹에서 javascript injection으로 쿠키를 얻어서 그것을 사용할 수 있는 사이트에서 다른 아이디로 로그인 하는 것도 보았다. 정말 신기했지만 그렇게까지 하기 위해서는 무지하게 다양 내용을 알아야 할 것 같았다.ㅜ
          * 역시 실전 Cracking은 다른 사람 앞에서 보여주려고 하면 잘 안되는 것 같아요. 동준이가 다년간 쌓아왔던 노하우를 그냥 보여주지는 못하게 하는군요 ㅋㅋ 많이 노력 동준이에게 큰 박수를!!
          * 이번 주제는 1학년 때 새싹 스터디 하면서 잠깐 보여주었던 내용을 다시금 보게 되어서 재미있었습니다. Cheat Engine을 직접 사용해 볼 수 있는 부분도 상당히 매력있었습니다. 많이들 듣던 해킹에 대 정확 정의도 알게 되었고 그 과정이 어떻게 되는지 조금이나마 알 수 있었던 부분이었습니다. 세미나에서 보여주고자 했던 게임이 생각되로 되지 않아 아쉽긴 했지만, 편으로는 저렇기 때문에 보안이 중요하다는 것도 다시금 생각할 수 있었습니다.
          * 씐나는 Cheat-Engine Tutorial이군요. Off-Line Game들 할때 이용했던 T-Search, Game-Hack, Cheat-O-Matic 과 함께 잘 사용해보았던 Cheat-Engine입니다. 튜토리얼이 있는지는 몰랐네요. 포인터를 이용 메모리를 바꾸는 보안도 찾을수 있는 대단 성능이 숨겨져있었는지 몰랐습니다. 감격 감격. 문명5할때 문명 5에서는 값을 *100 + 난수로 해놔서 찾기 어려웠는데 참. 이제 튜토리얼을 통해 어떤 숨겨진 값들도 다 찾을 수 있을것 같습니다. 그리고 보여주고 준비해왔던 얘제들을 통해 보안이 얼마나 중요지 알게되었습니다. 보안에 대해 많은걸 생각하게 해주네요. 유익시간이었습니다. 다음에 관련 책이 있다면 번 읽어볼 생각이 드네요.
         실제 Real World 에서 어떤 방식으로 프로젝트가 진행되고 (물론 Base이긴 하지만) 이것이 어떻게 작동하게 하는지, 또 작동중 얼마나 많은 노하우가 들어가는지
          * 어떤 방식인지 느낌은 오는데 수식에 대 이해도가 좀 부족했던 것 같습니다. 프로그래밍 잘하려면 수학을... 이라는 얘기는 많이 들었지만 실제로 겪어보니까 좀 충격이 큰 시간이었습니다.
          * List로 무식하게 짰는데 답은 잘 나왔습니다. 참만에
          * 수식은 어떤식으로 문서를 분석하는건지 알것같은데.. 파일입출력을 제대로 못해서 시도조차 못해봤습니다.ㅠㅠ 기초 능력이 부족 탓이네요, C로 train 파일을 입력받아 변수에 단어별로 저장하고 단어의 개수를 세는것까지는 했지만 그 이상은 하지 못했습니다.. 능력부족을 실감했어요
          * 거기까지 했으면 거의 다 거네, 읽어온 단어 갯수가지고 확률식 적용하면 돼~ 다시해봥ㅋㅋ - [서지혜]
          * 가장 Brute-Force 방법으로도 문제를 해결할 수 있다는걸 보여준 인간승리!!!
          * Classification의 정확성을 높이기 위해 글자나 특수문자가 포함된 단어들을 제외시켰는데 오히려 정확도가 떨어져서 아쉬웠습니다. 인공지능 수업때도 느꼈던 것이지만 사람의 생각(아이디어)가 반영된다고 해서 더 성능이 좋아진다고 보장할 수는 없는것 같아요
  • 설득의심리학 . . . . 35 matches
          * 대조 효과 - 점포를 찾는 고객에게 비싼 물건을 먼저 권다. 자동차를 팔고나서 옵션을 판다. 부동산에서는 초라하고 비싼집을 먼저 보여주고 다른 집을 보여준다.
          * 상호성의 법칙 - 먼저 호의를 베풀고 그에대 보답을 요구다. 다른 사람이 우리에게 베푼대로 우리도 그에게 되갚아야다고 생각하는 경향. 상대방이 양보하면 나도 양보해야 다고 생각다.
          * 일관성의법칙 - 불일치는 바람직하지 못 성격적 요소로 간주된다.
          * 물건을 그냥 놔둔 상태에서 도둑이 훔쳐갔을때와 봐 달라고 후에 도둑이 훔쳐갔을때 후자가 훨씬 더 많이 제지다.
          * 번 선택 것은 버리기 아깝다. - TM 강의
          * 개입과 일관성의 심리전, 국전때 중공군이 미군을 세뇌 시킨방법 -> 작은 것부터 시작해서 크게, 자신이 번 변해버리면 그 이미지에 충실하기 위해서 더욱 적극적으로 변하게 된다.
          * 고난의 경험이 일관성을 강화다. - 가혹 기숙사 신입생 환영회
          * 개입이 영향을 끼치기 위해선 -> 개입이 자발적, 공식적인 것이어야 하며 많은 노력도 포함되어야 다.
          * 강 외부적 압력 없이 우리 스스로 선택하여 행동 일에 대해서는 우리가 내부적 책임감을 갖게 된다.
          * 일관성의 근거를 만드는 미끼 기법 - 자동차 판매, 에너지 절약 캠페인. 승낙이 이루어지면 미끼를 제거다.
          * 방어 전략 -> 본능적인 거부감에 따라 행동다. 미끼가 없었다면 어떤 결정을 했을지 상상을 해본다. 처음에 자신이 의도했던 바를 되돌아 본다.
          * 다수의 무지 - 애매모호 상황에서는 모든 사람들이 다른 사람들이 행동하는 대로 행동하려는 경향 -> 오직 사람만을 선택해서 도움을 요청하자.
          * 유사성의 영향력 - 우리는 우리와 비슷하다고 생각되는 사람의 행동을 바탕으로 자신의 적절 행동을 결정하곤 다.
          * 인민사원 집단 자살 사건, 경마장에서 배팅에 자신이 없는 사람들은 다른 사람이 많이 배팅 말에 배팅다. 이를 이용해서 돈을 벌기도 다.
          * 자동차 판매왕 - 고객은 정당 가격을 원하고 그들이 좋아하는 영업사원으로부터 차를 구입다.
          * 호감의 원천 - 1. 신체적 매력 2. 사소 공통점에도 호감을 갖는다.(예, 옷차림, 취미, 이름, 정치 성향, 지역 등등)
          * 칭창해주는 사람을 좋아다.
          * 호감의 법칙을 사용 집단간의 갈등 극복
          * 협동을 통 학습 - 공동의 목표를 제공다.
          * 권위의 법칙 - 사회적으로 존경을 받는 직함들은 그것을 갖고 있는 사람들의 키가 더 크게 보이게 다.
  • 제13회 한국게임컨퍼런스 후기 . . . . 35 matches
         #title 제13회 국게임컨퍼런스 후기
         = 제13회 국게임컨퍼런스 =
         || 행사명 || 국국제게임컨퍼런스 Korea Games Conference 2013(KGC2013) ||
         || 주 최 || 국게임개발자협회 ||
         || 후 원 || 문화체육관광부, 국인터넷디지털엔터테인먼트협회, 서울산업통상진흥원, NHN Ent. ||
         || 09:20 – 10:20 || 하복비전엔진을 이용 MMO게임 개발 || 강경덕(팀버게임즈) || Graphic ||
         || 11:40 – 12:40 || 빠른 게임개발을 위 Autodesk®3ds Max® 활용 팁 || 김일혁(오토데스크 코리아) || Graphic ||
         || 13:30 – 14:30 || 키노트 1 - 모바일과 온라인 게임 개발의 미래, 그리고 끊임없이 변화하는 시장안에서 기솔적 우위를 점하기 위 선택 || Brian Waddle(Havok) || ||
         || 15:50 – 16:50 || 아바(AVA)의 트레일러, 협업을 통 사운드 스토리텔링 || 장규식(주-레드덕) || Audio ||
          * 코엑스에 도착 시간은 8시 40분. 코엑스 신관이라고만 되어 있어 그랜드볼룸이라고는 생각하지 못하고 헤매다 도착... -ㅅ- 여하튼 등록을 마치고 기념품(거대 마우스 패드, 티셔츠, 책자 등)을 받은 뒤 들어가 보니 많은 부스들이 아직 준비 중... 그냥 무엇 무엇이 있는지 구경 후 첫 세션을 들으러 들어갔다.
          * 첫 세션은 하복엔진에 관 이야기... 근데 이 분... 발표를 많이 안 해 보셨나 보다. 가뜩이나 아침 일찍 하는 세션인데 지루하고 졸리게 진행 덕에 기억에 남는 것이 없다... 쩝
          * 두 번째 세션인 모바일 3D엔진을 만들어 보는 부분에서는 창 윈도우 환경에서 개발하다가 다른 환경에서 포팅을 하면서 겪은 이야기를 하였다. 인코딩과 관련 부분, 혹은 디버깅에 관련 팁에 대해서 이야기하였는데, 다른 환경으로 옮기면 신세계가 펼쳐진다는 이야기로 마무리..
          * 세 번째 세션 Autodesk는 자신의 툴을 어떻게 사용하는지에 관 이야기가 주였다. 이건 익숙해 지는 것이 관건인 듯..
          * 점심을 먹고 키노트를 들었는데, 처음 키 노트는 장황하게 이야기를 했다만 결국 ‘국 시장 좋음 ㅋ’ 이 이야기... 쩝.. 그리고 두 번째 키노트는 가상현실로 주목을 받고 있는 Oculus였다. 보다 실감나는 가상현실을 만들기 위해 무엇을 해야 하는지, 왜 이것을 해야 하는지에 대 내용이었다. 결국 ‘보다 실감나게 게임을 하려면 가상현실을 해야함 ㅇㅇ’ 이 내용..
          * 그리고 나서 음덕인 본인이 찾아간 곳은 Audio관련 세션. 트레일러를 만들더라도 음악을 어떻게 만들어야 하는지에 대해서 이야기를 했다. 스토리텔링을 통해 짧은 시간에 시선을 사로잡을 수 있어야 다고 했다. 그러면서 잘못된 예와 잘 된 예를 보여주셨는데 잘 된 예도 그닥..
         || 09:20 – 10:20 || 언리얼을 이용 모바일게임 그래픽 제작 노하우 || 장학준(DAEgames) || Graphic ||
         || 13:30 – 14:30 || 키노트 5 - 모두를 위 MMORPG || 최관호/재갑(네오위즈 블레스 스튜디오) || ||
          * 3일차에는 1일차에 그래픽 부분을 들으면서 프로그래밍과 큰 연관성을 찾지 못 까닭에 프로그래밍 위주로 찾아 다니기로 했다. 하지만, 원래 들으려고 했던 ‘좋은 게임을 최고로 만들어 주는 요소 분석’ 파트를 들으려 했으나 갑자기 잠수를 타 버리는 바람에 급하게 언리얼 엔진 주제 쪽으로 넘어갔다. 모바일 게임과 관련 이야기를 하면서 온라인 게임과는 비용, 기간 등 많은 차이가 발생하는 것에 대해서 이야기 했다. 그러면서 아티스트들은 제발 쓸데없는 자존심 버리고 게임이 잘 돌아가게 해 달라는 요구를 하시던.. 하기야 콘솔 게임 정도 되어야 그래픽에 많은 부분 신경 쓸 수 있겠다만 모바일은 화면도 작고 하니.. 라는 생각이 들었다. 결국 메모리를 줄이기 위해 Object를 나누어 Module 사용을 해라는 이야기로 마무리 지어졌다.
          * 세 번째 세션은 또 음악의 세계로... 역시나 자기네 회사 프로그램을 사용하면 사운드 효과를 다양하게 낼 수 있다는 것에 대해서 이야기 해 주었다. 뭐 Chaining 관계를 이용 소리의 조합이라나 뭐라나..
          * 그 다음 키노트는 ‘다양 사람들에게서 설문조사를 반영해 자신들은 더 좋은 게임을 만들어 나가고 있어요~’ (리얼리?) 뭐 계속 그런 내용..
  • 지금그때2006/후기 . . . . 35 matches
         이렇게 유익 시간은 처음이고 아직은 많은 선배들을 모르고 서먹하지만 조금이나마 친해지는
         지금그때에 처음으로 참석하면서도 1부 사회자를 맡았던 사람으로서.. 약간의 미안 마음을 감출 수가 없네요
         최대 사회자는 사람들의 생각을 수용하고 반영해야 다는 생각으로 했지만 중간중간 미흡 점이 있었습니다.
         >>>그거 보고 다시 번 크게 깨달았습니다. 일반적으로 바늘에 실을 끼우지만.. 실에 바늘을 끼우는게 더 빠르다는 말.. 정말 충격이었습니다. - [창섭]
         주사위를 이용 참신 발상도 좋았고 시간 안배에 신경을 써 진행에 지장이 없었던 것이 좋았다고 할 수 있겠네요.
         또 게임을 쉬는 시간에 넣어 행사에 재미도 더하고 집중도 시킬 수 있어 좋았구요. ^^
         아는 만큼 보인다고 하지요. 지금 그때를 지 3년만에 참여하면서 잊어버렸다고 생각했는데 다시 해보니 다 기억나는군요.
         질문을 하고 싶은데 차례가 오지 않아서 못 것이지요. 이런 행사가 익숙 재학생 선배들은 서슴없이 질문을 할 수 있겠지만 아직은 서먹서먹 신입생들에게
         나서서 질문을 다는 것이 쉽지 않으니까요. 이를 어떻게 해결하면 좋을까요? 저도 생각을 해봐야겠습니다.
         1부에서 저도 말을 짧지 않게 했었지만 사람당 발언 시간에 제을 두어 말을 요약적으로 하게 하고 싶다면 모래시계를 이용하는 것도 괜찮을 듯 싶습니다. 디지털 타이머보다
         훨씬 부드럽게 시간적 제을 둘 수 있지 않을까요.
         2부에서 아쉬운 점은 '내가 아는 것을 그 때도 알았더라면' 이라는 행사의 취지대로 발언 사람들이 적었다는 것입니다. 굳이 경험의 선후배가 아니라도 서로 도움의 말을
         줄 수 있는 말들이 대부분이 아니었나 싶네요. '나는 이러 경험을 했었는데 그때 만약 내가 지금 깨달은 것을 알고 있었다면 나는 이렇게 했을것이다' 라는 식의 말들이
         기획단에게 번 더 진행에 수고해주어 감사하다는 말과 바쁜 일정 쪼개어 참여해주신 선배님들은 물론이고 참석자 모두에게 감사의 말씀을 드립니다.
         준비 친구들 수고 많았습니다.
         그리고 꼭 지금그때의 타겟을 1학년으로 국할 필요는 없겠다 싶습니다. 1학년은 이때 와서 어리둥절 하기도 하고 감도 잘 안올 수 있습니다. 하지만 만약 그 친구들이 2 학년이 되어서 다시 지금그때를 계획하고 그 때에는 선배로서 참석을 하면 느끼는 것이 훨씬 많아지겠지요. 그 사람들이 3학년이 되어 참석하고, 또 군대 다녀와서 다시 참석하고 하면 매년 느끼는 것이 다를 것입니다.
         >>>자다가 꿈에서 문제를 풀어낸 후의 묘 희열감.. 그것은 제가 정말 문제에 몰입했을 때에만 가능했던 일이었습니다. 가면 갈 수록 그런 일이 없어진다는 사실에 반성하게 되었습니다. -- [창섭]
         첫번째 세션은 참여를 못해서 모르겠고, 두번째 세션의 경우 선배들이 좀 적어서 아쉬웠으나 뜻깊은 자리였습니다. '나를만든책장'은 4회 전통 중 새롭게 시작 전통일 겁니다. 더 오래 진행되고, 사람들에게도 뜻깊고 더 이로움을 주는 세션으로 계속 되었으면 좋겠습니다.
         세번째 세션은 전통의 OST. OST 자체는 어느정도 자리가 잡힌 것 같습니다. 다음번에는 거기에 무언가 변화를 주거나 Detail 부분을 심어넣을 수 있겠다는 생각이 듭니다. ex) Simple Rule Card
         마지막으로, 우리가 했던 일들에 대해 좀 더 많은 사진 자료들이 있었으면 좋겠습니다. 글만으로, 혹은 사람과 사람만의 이야기로 일의 방식이 전해지는 것도 있겠지만, 우리가 무엇을 했는지에 대 과정들이 좀 더 전달되기 쉽게 사진들을 많이 찍었으면 좋겠습니다. 기념 사진만이 아닌, 우리들이 4시간 동안 일들의 과정들에 대 사진을 찍어도 다음번 때 준비하시는 분들에게 전달될 것이 더욱 더 많을 것 같습니다.
  • AspectOrientedProgramming . . . . 34 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 클래스는 특정 어플리케이션에 종속적인 클래스로 전락하게 된다.
          우리가 앞서 가정 어플리케이션에서 동기화 개념은 다음과 같은 속성들을 갖는다.
          1. 객체에 대 동기화 관련 코드가 시스템 전체에 횡단적으로 존재다. 다수의 클래스와 더 많은 수의 메소드들이 이 동기화 메커니즘에 영향 받는다.
          1. Data 객체를 사용하는 클래스들을 위해 lock 및 unlock 메커니즘을 제공다(lock(), unlock()).
          1. Data 객체를 수정하는 모든 메소드들이 수행 전에 lock()을 호출하고, 수행 후에는 unlock()을 호출함을 보장다.
          1. 이상의 기능을 Data 객체를 사용하는 클래스의 자바 소스를 변경하지 않고 투명하게 수행다.
          먼저 ‘Aspect는 꼭 필요가?’라는 질문에 답해보자. 물론 그렇지는 않다. 이상에서 언급 모든 문제들은 aspect 개념 없이 해결될 수 있다. 하지만 aspect는 새롭고 고차원적인 추상 개념을 제공해 소프트웨어 시스템의 설계 및 이해를 보다 쉽게 다. 소프트웨어 시스템의 규모가 계속 커져감에 따라 “이해(understanding)”의 중요성은 그만큼 부각되고 있다(OOP가 현재처럼 주류로 떠오르는데 있어 가장 중요 요인 중 하나였다). 따라서 aspect 개념은 분명 가치 있는 도구가 될 것임에 틀림없다.다음의 의문은 ‘Aspect는 객체의 캡슐화 원칙을 거스르지 않느냐?’는 것이다. 결론부터 말하자면 ‘위반다’ 이다. 하지만 제된 형태로만 그렇게 다는데 주목하도록 하자. aspect는 객체의 private 영역까지 접근할 수 있지만, 다른 클래스의 객체 사이의 캡슐화는 해치지 않는다.
          AspectJ는 Eclipse 프로젝트라기 보다. Xerox PARC 의 AspectJ 프로젝트의 홈페이지가 옮겨 온것 입니다. 역시 이글이 wegra님이 해석해 놓으신거 였군요. 좀더 많은 내용은 아래의 SisterWiki 를 참고하시고, 관련포럼 비스무리 데가 http://aosd.net 입니다. --NeoCoin
  • JosephYoder방한번개모임 . . . . 34 matches
         제4회 국 SW 아키텍트 대회에서 기조연설을 위해 방 Joseph Yoder가 국 XP 모임(http://xper.org )의 여러분들을 위해 준비 자리입니다. 리팩토링, 테스팅, 패턴 등을 주제로 간단하게 이야기하고 토론을 할 예정입니다. 특히 패턴쪽에 경험이 많으신 분이시라, 패턴 저작, 패턴 운동의 문화 등에 대해서도 이야기를 해주시기로 했습니다. 장소대여비(토즈)를 위해 1인당 약 1~1.5만원 내외의 회비를 현장납부하셔야 합니다. 좀 더 아담하고 편안 자리를 위해 20인 이하의 소수만 선착순으로 받습니다. 강연(영어)에 대 통역은 제공되지 않고, 토론/질답 시간에는 순차 통역이 제공됩니다.
          * 너무 당연하게 TestDrivenDevelopment라면 테스트부터 작성해야다고 생각하고있었는데 TDD가 반드시 TestFirstDevelopment일 필요 없다는 말을 듣고 머리를 얻어맞은 것 같았다. 테스트를 언제 작성하는지가 중요 게 아니라 테스트를 통해 빠르게 피드백을 얻는 것이 중요.
         프로그램은 자기소개, 리펙토링의 중요성, 기본적인 리펙토링 기법, Agile과 리펙토링의 상관 관계, QnA, QnA중 Joseph이 쓰는 기법에 관 설명 으로 이루어졌다.
         리펙토링 기본 기법에 관해서는 기본적으로 Rename과 함수 분할 등을 Martin Fowler이 지은 Refactoring책을 통해 알수있다고 했다 이러 리펙토링을 이용하여 청소할 수 있고 리펙토링은 중요하다고 했다. 이거 좋군. 딱 들은 생각. 우선 리펙토링할때는 이름이 최우선적으로 다루어져야다고 했는데 가장 설명하기 좋고 듣기도 편했던 부분이다. 그 이유는 이름부터가 단축이면 못알아먹기 때문에~~~!! 이라고했다. 그래서 나는 앞으로 길더라도 의미가 되는 단어를 쓰기로 결심했다. 괜히 이름 단축시키지 말자고.
         Refactoring과 Pattern은 누가 누구에 속 관계가 아니라서 적절히 써야다고했다. 교집합이었다 그림은. 그래 적절히 써야지라고 생각했다.
         강조했던것은 Agile과 Refactoring의 상관관계였는데 둘다 얽히면 굉장 시너지를 내기 때문에 목적은 달라도 병행해서 쓰면 좋다고했다. Agile을 지금 쓰는 사람 있냐고 물어봤는데 손들기는 뭐했다. Face-to-Face, pair 프로그래밍. Communication 만세다! Agile기법에 대해 Refactoring에 대해 자신의 이념, 이상이 들어간 코드를 만드는 프로그래머가 반대를 다면 Pair프로그래밍을 통해 '너만의'코드가 아닌 '우리'의 코드라는것을 인식시켜주는게 좋다고 했다. 근데 그런사람이 있을까? 여튼 경험에 우러나온 대답같았다.
         adaptiveobjectmodel은 Joseph이 연구하고 있는 분야로 Refactoring의 상황에 맞는 방법과 패턴의 쓰임세를 지정하는 모델이다. 현재 쓰이는 패턴을 모델화해서 정리해서 했다고다. 책에서나 보던것을 좀더 정확하고 명확하게 근거있게 설명하는것 같았다. 그리고 Refactoring이 필요 이유에 대해서는 실제로 이렇게 하면 성공을 하기 때문에 리펙토링을 하는것이 좋다고했는데 이것은 다른것에 비해 약 근거라고했는데 그 이유는 리펙토링을 안 더러운 코드도 성공을 하기 때문이라고 했다. 하지만 자신있게 말하자면 리펙토링을 하는것은 좋다고했다.
         변화 -> 추상화 이고 리펙토링이 잘못됬을 경우 그 결과를 뒤집기는 좀 힘들다고했다. 패턴을 알면 장점이 많단다. 초보자가 패턴을 아는척 하면 다친단다. 테스팅과 패턴을 초보자가 하면 좋다. Refactoring을 좀더 잘할려면 첫 걸음은 Rename부터.. 엄청난 프로그래머는 만드는것이 패턴으로 만들어질 수 있지만 대부분 그렇지 않다고 다. 그러므로 리펙토링을 통해 수준을 높이는 훈련을 해놓는것이 좋다고다. 그렇게 하면 의식하지 않아도 된단다.
         여러모로 Refactoring에서 나오는 Pattern과 Holub이 주장하는 Design Pattern과는 많았고 옆에서 계속 번역해주시는 창준선배님을 보면서 참 나도 영어 듣기가 녹슬었구나 하는 생각이 들었다. FPS에서 영어를 배워봐야하나. 여러사람이 다양하게 생각하는 Refactoring과 Pattern에 대해 다시번 좀더 연구할 생각이드는 시간이었다.
          * 후기 정말 잘 쓰셨네요. ㄷㄷㄷ 후기 쓴 것만 봐도 뭔가 얻는 느낌이 들 정도입니다. 되게 하고 완성하고 최적화 하는 건 데블스에서 들었던 신경 쓸 일을 최소으로 줄이라는 것과 약간 닮은 것 같습니다. 시작부터 최적의 코드를 짜려고 하는 것은 번에 너무 큰 일을 하려는 것 같네요. 평소에 그렇게 연습을 해 두면 나중에는 처음부터 조금 더 나은 코드를 짤 수 있겠지요. - [서민관]
          * '방기념번개모임'이라고 할걸 그랬나
          * 패턴을 이용 리팩토링
          * facade, wrapper 패턴등을 이용해 지저분 구현을 숨길 수 있다!
          * throwaway code. 정말 번만 쓰고 버린다. 다시는 돌아보지 말아야다.
          * 테스트는 구현 기능이 의도대로 동작다는 것을 검증하는 방법임. 테스트를 통해 적절 피드백을 받을 수 있다면 된다.
  • UbuntuLinux . . . . 34 matches
         그럼 그전에 먼저 홈 네트워크를 구축해보자. 원래 내 컴퓨터는 서버로 사용중이었다. 집안 네트워크를 맘대로 끊어버렸어나 특 요구가 없으므로 아무런 핍박없이 네트워크 작업을 할 수 있겠지. 우선은 구글에 검색해보고 ( 검색 먼저, 삽질은 나중에 )
         글이 안 써진다. 여태까지 그걸 모르고 있었다니 놀랐다. 문제가 조금 어려워지니까 글이 안 써지는 것도 걸림돌이 되었다. 어차피 글을 안 쓸 수는 없으니까 글 입력을 하는 방법을 찾아보았다.
         못 찾은 건지 몰라도 글 입력이 기본이 아닌가보다. 키보드에 영어랑 일본어도 있는데 글은 없다. 세종대왕이 알면 가슴을 치며 탄하시겠군. 글 입력 하는 방법을 찾던 중 우분투 홈페이지게 가 보았고, ''나비''라는 프로그램을 설치하면 된다는 사실 발견. 드디어 글을 쓸 수 있게 되었다. 우리말이 정말 사랑스럽다.
         하지만 여전히 /영키가 안 먹힌다. 다른 단축키(shift+space)가 있음에도 꽤 불편하다. 하긴 예전에는 이렇게 바꾸곤 했지.
         홈네트워크 구축은 예상보다 훨씬 삽질을 필요로 했다. 개념상 윈2000과 마찬가지로 NAT를 하면 될텐데 말이다. 일단 글로 된 페이지를 찾아보았으나 시간에 비해 얻은 것이 너무 적었다.
         어느덧 몇 시간이 흘러 아까와 똑같은 실수를 하고 있었다. 일단은 우분투 공식 사이트부터 가는 것이 순리가 아니겠는가? 물론 우분투 내장 도움말에도 NAT에 대 영어 설명이 있었으나 이보다도 먼저 공식 사이트에 갔어야 했다.
         하지만 문제는 다시 부팅을 하면 인터넷 연결이 안 되있다는 점이다. 먼저 어떤 명령이 진짜 인터넷 공유를 가능하게 하는지 알아내야 했고, 다음에는 이를 자동으로 실행하도록 하는 단계를 밟아야 다. 꼭 프로그래밍 하면서 디버깅 하는 느낌이랄까.
         다음 목표는 이전에 사용하던 윈2000을 멀티부팅하기. 사실 리눅스만 쓰고 싶은 마음이 간절하지만 각종 윈도우 전용 프로그램을 사용하던 과거를 순간에 지워버리지는 못하거든.
         우분투는 부트로더로 grub이란 녀석을 사용다. 원래는 GNU에서 쓰는 건데 좋길래 리눅스에도 사용하는 추세라는 글을 웹을 탐험하던 중에 읽었다. 아하 그렇군요. 그럼 grub을 사용해서 윈도우를 부팅하면 되겠네요.
         물리적 하드 두개에 리눅스와 윈도우가 따로 설치된 상황이라서( 둘은 서로를 모른다.) 사실 안 되는 게 아닐까 걱정도 했다. 웹을 찾아보니 윈도우나 리눅스를 먼저 설치 뒤 다른 하나를 설치 경우가 대세였다. 태반은 하드 하나를 파티션을 나누는 방법으로( 굉장 노력인듯.;; 하드가 두개 있어 아무런 걱정없이 리눅스를 다르는 하드에 설치 나는 행운인가.;;;) 두 운영체제를 골라서 사용하는 방법을 설명하고 있었다.
         하지만 grub메뉴얼을 읽어보니까 내 경우도 듀얼부팅이 가능가보다. 우분투는 설정파일 이름이 달라서 찾기 힘들었다. /boot/grub/menu.lst 라는 데 있으니 헤메지 맙시다. 설정파일에 다음을 추가하면 된다.
         리눅스가 설치된 하드를 primary disk로 쓰고, 이녀석 이름은 hd0이다. 윈도우즈가 설치된 하드는 secondary disk이니까 hd1이다. (리눅스에서는 각각을 hda, hdb로 인식다.) 명령을 설명하려고 해도 명료하지 않아 그냥 넘어가야겠다. (윈도우로 부팅할 때는 트릭을 쓰기 때문에 리눅스 파티션이 보이지 않는다.)
         집에 남는 컴퓨터 대를 서버로 돌려보자는 생각에 무식하게 랜카드를 세장이나 꼽아서 돌려보려고 했다. 데 X윈도우와는 다르게 랜카드 인식부터 안되는 문제가 생겼다. 며칠 삽질하다 포기할까 생각도 들었는데, 오늘 드디어 해결했다.
         랜카드가 이상이 있나 싶어 데스크톱 리눅스(위에 등장했던 멀티부팅이 되는)에 랜카드를 옮겨 인식을 시험해보았더니 문제없이 인식했다. 하지만 새로 꼽은 랜카드는 어떠 과정을 거쳐 자동으로 인식하는 모양이었다. 수생이에게 들은 말과 웹서핑 정보를 종합해보면 아마도 모듈을 로드 안해서가 아닐까.
         이 명령을 이용다. 제길 이거만 알았어도 eth0이 왜 안잡히냐고 삽질할 필요도 없었을 텐데.. 알고보니 eth2에 잡혀있는 것이 아닌가!
         집에 아직 윈도우즈가 돌아가는 컴퓨터가 대 남아있다. 동생은 게임을 해야 되서, 그 외에 인터넷 뱅킹이라든지 아무튼 윈도우즈가 필요 경우 때문에 남겨둔 녀석이 골치덩어리다. 서버로 쓰는 리눅스를 통해 나머지 두대끼리 폴더 공유를 할 수 있어야 하는 경우가 생겼기 때문이다.
         까지 진행 결과 성공할 수 있었다. 끝까지 따라 뒤 서버에서 다음을 실행하면 실제 작동을 즉석에서 테스트 할 수 있다.
         서버에서 번 삽질했는데 또 설정하느라 삽질했다. 다음같이 하면 된다
          * 우분투를 깔면 gcc가 처음부터 깔려 있지는 않다. 그래서 sudo apt-get install gcc 해서 gcc 를 받고 간단 것을 컴파일 하면 기본적인 라이브러리들이 없다면서 컴파일이 안된다. 이때 g++ 도 위와 같은 방식으로 깔면 문제는 해결된다.
         = [http://www.igooo.net/Tattertools/tag/%EC%9A%B0%EB%B6%84%ED%88%AC 글] =
  • XMLStudy_2002/Start . . . . 34 matches
          1 Invalid Documents : XML의 태그 규칙을 따르지 않거나,DTD를 사용 경우에 DTD에 정의된 규칙을 제대로 따르지 않는 문서
          1 시작 태그가 있으면 반드시 닫는 태그가 사용되어져야 다.
          2 시작 태그에 대응하는 닫는 태그가 오기전에 시작 태그의 바깥에 위치 태그의 닫는 태그가 위치하지 않아야 다.(태그들이 겹쳐서(orverlapped) 사용될수 없다.)
          3 어트리뷰트의 값들은 끈따옴표로 둘러쌓여야다.
          step3. Well-formed 또는 Valid 문서가 되도록 XML 문서 작성
          *XML 문서는 XML로 기술된 구조적인 정보로 구성되는 문서이며 XML1.0스펙에 맞게 작성하며 XML을 지원하는 프로세서(또는 프로그램)에서 사용하기 위해서 Well-formed나 Valid 형태로 작성된 문서를 말다. ---> 정의
          *XML 응용프로그램이란 이러 택스트 객체(textual object)를 처리하여 사용할수 있는 프로그램이다.
          *구조적 문서 검색이나 문서의 구조 정보가 필요 응용에 이용 ,EDI DTP등에 이용,전자상거래 플랫폼으로 이용
          *Kawa4.0에서는 Project나 Workspace에 대 정보 및 기타 몇 가지 프로그램에 대 정보를 XML문서 형태로 유지
         <P>지정된 DTD에 따라 작성하는 아주 간단 XML 문서 작성 예제입니다.</P>
          2. DTD(Optional) : DTD를 사용하는 경우에는 어떤 DTD를 사용할지를 선언 내용또는 DTD가 포함
          *standalone : 외부 마크업 선언의 사용 여부를 표시 외부 마크업 선언으 개이상 선언했을떄 no
          *ANY : 내용 부분에 어떠 엘리먼트가 몇 개 든지 순서에 관계없이 횟수에 관계없이 위치해도 괜찮다는 의미이다.
         1. MAIL 엘리먼트에는 SUBJECT,SENDER,RECEIVER,BODY,SIGNATUER 엘리먼트가 순서대로 위치하는데 ,다른 엘리먼트들은 단 번 위치하지만 RECEIVER 엘리먼트는 1개 이상 올수 있으며, SIGNATURE 엘리먼트는 번 나오거나 또는 사용하지 않아도 되는 예
         2. BODY 엘리먼트에 P엘리먼트가 번도 오지 않거나 여러번 반복해서 위치할 수 있는 예
          *CDATA(Character Data) : XML프로세서에 의해 파싱되지않음 어떠 문자형도 위치할수 있음
         4. 엔티티를 선언해서 사용 예를 들어서 아래와같이
         "&ttl;"와 "드래곤 라자"등은 모두 용에 대 책이다.
         4. 그다음 공백뒤에 나오는 것이 이 오브젝트에대 description
         5. 그다음 슬래쉬 두개 다음에 나오는것은 어떤 언어를 사용했는지 나오는것 EN은 영어 KO는
  • 데블스캠프2005/화요일후기 . . . . 34 matches
         == 참여 사람 ==
         허아영, 박경태, 윤성복, [송수생],[최경현],남도연, 이규완, 김민경, 김범준, 최정빈, 정진수, [이재혁], 김소현, 김태훈([zyint]), [조현태] 유선,김영록,김재성, 정수민
         [허아영] 사실 : 훌륭 강의, 느낌 : 뿌듯 느낌, 교훈 : 남들이 자고 있을 때도 공부하는 센스
         [김민경] 사실 : Python과 자료구조 배웠어요, 느낌 : 즐거워요, 교훈 : Python으로 거 C로도 해보자, 새로운걸 배울수 있어!
         [윤성복] - 데캠을 참가지 언 2일, 이제는 아침에 맞는 해가 지겹다. 앞으로 3번에 해를 더 봐야 다.
         좋았던 점은 파이선이라는 새로운 프로그램과 하노이라는 간단하면서 어려운 문제를 해결해 나가는데에서 더욱더 나 자신을 발전시킬수 있었다. 그리고 선배님과 많은 상의를 해보면서 선배도 우리를 잘 가르쳐주시고 우리는 선배님의 지식을 습득해 가면서 정말 좋은 시간이 되었다. 밤을 새가면서 공부를 다는 것은 그것만으로도 아주 커다란 성취감을 갖게 다. 나쁜점은 아무래도 밤이라서 잠과의 싸움이 가장 큰 문제이다. 밤이라서 집중이 잘 안되는 건 어쩔수 없다. 밤을 새가면서 공부를 다는건 참으로 어려운 일이다.
         [박경태] - 데블스캠프 2일째, 첫날보다 더 적응도 많이 되고, 뼈저리게 느낀 것도 많았다. 여러 문제들을 설계하고 코딩하면서, 특히 설계를 해내는 과정이 나에겐 너무나 힘들었다. 여태껏 오늘처럼 이렇게 많이 생각해 본 적이 없었던 것 같다. 그리고 나의 계(?)라고 할까? 그것을 너무 뼈저리게 느낀 것 같았다. 내가 지금까지 해온 것은 데블스 기간에 하는 것에 비하면 아무것도 아니라는 것을... 그래도 편으로는 데블스를 통해서라도 이렇게 배우고 깨닫는 것이 나에게 소중 경험이 된다는 것을 생각하니 참가하고 있는 나 자신이 자랑스럽기도 했다. 남은 데블스 기간에도 열심히 참여하고 나 자신을 더 발전 시킬수 있는 기간으로 만들어야 겠다.-_-v
         [김소현] 사실: 자료구조와 Python이라는 정말 똑똑 녀석에 대해서 알았다.
         느낌: 알고리즘은 정말 중요하고, Python은 부담스럽게 똑똑하다. 그리고 정말 신기 언어이다.
         교훈: 아무리 똑똑 언어라도 내가 모르면 바보같은 언어다. 그러므로 공부하자.
         [유선] 사실:파이썬과 자료구조를 배웠다. 느낌: 자료구조 어려워요 ㅠ_ㅠ 교훈:참 자고났더니 너무 많이 지나가있어서 ㅠ_ㅠ 잠을 줄여야지~
         [남도연]:오늘 크게 2가지를 배우게 되었다. 하나는 알고리즘과 자료구조에 관 내용이었고 하나는 파이선에 대해 배운 것이었다. 알고리즘과 자료구조는 평소 우리가 수업시간에 들었던 내용이기는 하였지만, 막상 코드로 직접 적용하려니 잘 풀리지 않았다. C코딩을 할때 중요 것이 알고리즘이라는 것을 또 번 느끼게 되었다. 아무 생각 없이 코딩을 무작정 하려고 하다가는 크게 낭패를 본다는것을 배웠기 때문이다. 알고리즘은 하나의 계획표라고 볼 수 있다. 하나의 프로그램을 짜기 위 계획표. 파이선은 C언어와는 사뭇 다른 언어였다. C언어 보다 편리면이 많아 보이기는 했지만, C언어보다 못 점도 간혹 보였다. 아직 미숙하기 때문에 딱히 무엇이라 말할 수는 없지만.. ㅋ 오늘 새로운 언어도 배우고 알고리즘의 중요성도 다시금 느끼게 되어 날 샌것이 아깝지 않았지만, 내준 과제 모두를 다 해결 하지 못 것이 아쉬움이 남는다. 다 해결했으면 더 뿌듯 했을텐데 .. ㅋ
         [조현태] : 길찾는 알고리즘, 예제가 15*15가 아니라 고생 것이 아쉬웠다. 하지만, 알고리즘에 대해 느낀바가 많았고, 새로운 언어 파이썬도 뭔가 독특했다. 인터프리터 언어라니..ㅎㅎ 그렇지만, 역시 고생 탓인지 왠지 잠이 더 쏟아져 내리는 하루였다. 마지막으로 이런 강의를 준비하느라 고생하신 강의자 분들께 많은 감사를 표다.
         [정수민] : 늦었지만 후기를 남긴다; 현태와마찬가지로.... 배열에서 () 와 {} 를 해깔린것만생각하면 치가 떨린다. -_- 아무튼;; 피곤만큼 재미도있었고 배운것도 많았다 ㅎㅎ
         [이동현] : 파이선배운것에서, 파이선이 매우 편리 언어라는걸 느꼈다. 느낌은 그 편리 파이선을 배우면서도 계속 C문법과 연관지어서 생각하게 되는걸 보니 너무나 내 자신이 C에 길들여져 있다는걸 느꼈다.
         데블스캠프 강사들은 반드시 자신의 강의에 대 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
          * 미리 ppt자료를 완성하고 리허설을 마치면 어느 시점에서 무엇을 해야할지 명확해진다. 자료 만드는데 신경을 많이 썼지만 리허설을 안 해보고 실습 자료 준비에 소홀 점이 후회된다. 아무리 사소 것이라도 앞에서 보여주면 그것을 따라하고 응용하면서 발전시켜나가는 수강자(?)들을 보니 더욱 철저하게 준비해야겠다는 생각이 든다.
  • 병역문제어떻게해결할것인가 . . . . 34 matches
          * 특기병의 종류는 다양하지만, ZeroPage 회원들이 많이 갈만 곳 위주로 적어둠
          * 카투사 : 토익 780점 이상, 요샌 스피킹도 받아줌. 9월 쯤 접수하고 평생 번밖에 지원을 못합니다.
          * 개발 경력이 중요합니다. 희망하는 사람은 개발 결과를 제출하면 가장 좋습니다. 인터넷에 올려놓거나..컴퓨터 잡지에 기고 경력도 있으면 좋습니다 --전산장교 출신
          * 이 항목이 미래창조과학부(MSIP)주관, 정보통신산업진흥원(NIPA)운영하는 SW 마에스트로와 MOU를 체결 그 부서의 그 특기병과를 지칭다면, 지원하기 위해서는 활동량이 많은 제로페이지 회원이어도 지원 자격 요건은 충족할 수 있습니다만, 그건 구색을 맞추기 위 지원조건이고, 실제로는 MOU 체결 기관의 지원자에게 우선순위를 부여하기 때문에, 비 기관 지원자가 서류를 통과할 가능성은 거의 없다고 합니다. (입대설명회에 나온 간부가 말하길 서류 특별점수가 60점 정도 되는데, MOU 기관은 만점 채우고 시작, 아닌 사람은 산더미 만큼 모아와야 채울 수 있다고 합니다.)
          * 위 내용은 작성자가 합격해서 정확 내용을 파악하면 정정 될 수 있음.
          * 매달 모집합니다. 여기서는 산업기사 자격증이 필수는 아니지만 추가 점수 입니다. 그리고 2학년 2학기 성적이 나와야 지원 가능합니다. 또 매달 지원해도 상관 없답니다.
          * 말그대로 레이다를 운용하는 특기병. 해안가 기지에서 육지로부터 10마일 이내의 범위를 감시합니다. 나름 매달 모집하고, 학과와 자격증에 따라 추가점수가 있기 때문에 대부분 합격할 수 있습니다. 훈련소를 마치고 후반기교육을 받은 후 자대 배치를 받으며, 해안가 기지로 배치받기 때문에 인천부터 시작해서, 해남/완도, 여수, 부산, 강원도 등 어디를 배치 받을지 알 수 없습니다. 감시 기지이기 때문에 격오지로 취급해 휴가와 수당이 지급되며, 24시간 작전부대로 취급되어 체력단련 및 기타 사격 훈련, 유격, 혹기 등의 훈련이 없습니다. 단점은 분대 단위로 근무에 투입되어 3교대를 다는 것이지만, 밤새서 과제하던 여러분이라면 금방 익숙해질 것 입니다. 격오지 부대라서 PX가 없지만 주에 번꼴로 황금마차가 방문합니다.
          * 두가지 일을 다. 청음, 시추공 관리. 청음실에서 2인 1조 혹은 단독으로 근무하며 지하 폭발음을 청음다. 시추공 관리는 감시 범위가 꽤 넓어 돌아다니는 운동량이 상당할 수 있다. 근무 난이도가 복불복 이지만 복이 많다.
          * 시추공 관리는 호불호가 나뉘는데 상당 범위를 매일 돌아다녀야 하므로 힘들 수 있다. 하지만 부족 운동량을 채우는데 도움이 된다.
          * 불복일 경우 : GP 를 같이 들어가거나, 수색대 수색 경계에 참여하거나 훈련에 참가다.
          * 복일 경우 : 훈련이 전혀 없다. 청음실에서 행복하게 독서와 부족 공부를 하며 군생활을 할 수 있다. 사단 직할 소속으로 대대에 파견 근무갈 경우 누구도 간섭하지 않는다.
          * 자세건 [김정민], [이민욱]에게 문의
          * 나이를 살 더 먹는데 괜찮을까?
          * 별 문제 없다. 나이보다 현재 나의 모습, 능력이 중요하다. 오히려 다양 경험을 할 기회가 중요하다.
          * 자세 사항은 [https://inclue.kr/3 복무 정보], [https://inclue.kr/4 구직 정보]를 참조하면 됩니다.
          * 2016년 이후 재배정 TO에 하여 대학생도 사용가능하도록 하여 일부 인원들은 TO를 받을 수 있게 되었으나, 수요에 비하면 재배정 TO는 굉장히 적은 상황입니다.
          * 현역과 보충역은 같은 산업기능요원이더라도 TO 획득에서 차이가 너무 납니다. 보충역은 지역 TO가 무제 수준이라서 회사에서 OK만 하면 TO를 받을 수 있습니다. 카더라로는 보충역 n명을 모으면 현역TO가 생겨서 보충역을 모으는 회사도 있다고 합니다... 그러니 보충역이면 적당 실력만 있으면 아주 높은 확률로 산업기능요원을 할 수 있습니다. 조언을 구할 때도 현역, 보충역은 별개로 생각해서 조언을 받는게 좋습니다.
          * 박사 전문연구요원 : TEPS, 대학원 성적을 통하여 일정 인원들에 해 박사 과정 진학 후 교내에서 전문연구요원을 할 수 있음. 현재 과기원들도 박사 전문연 TO 감소로 인하여 경쟁이 어느정도 있다고 알려짐. 단 보충역의 경우 일정 조건만 만족하면 가능
          * 2달에 번 신청을 받고, 체력검정 팔굽혀펴기에서 은근 많이 탈락하니 연습해야 함.
          * 경찰서 대신 소방서에 근무다고 생각하면 됨. 이쪽도 복무기간은 해군과 동일하게 20개월
  • 임베디드방향과가능성/정보 . . . . 34 matches
         임베디드 분야로 제대로 된 길을 잡기 위해서 C, Assembly, Kernel, 보안, 등등을 Master 수준으로 올려야다.
         하지만 이러 개발자의 노력에도 불구하고 임베디드 분야에 대해서는 비관적인 의견이 많다. 이에 따라 정보를 몇개 수집해 보았다.
         이제 제 개인적인 생각을 말씀드리죠. 먼저 임베디드 시스템이 쓰이는 용도에 대해 조금 시야가 좁으신 것 같습니다. 적어도 집에 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의 타겟은 대부분 임베디드 기기입니다.) 대부분의 비메모리 반도체칩은 그 용도가 정해져있으며, 비메모리 반도체를 사용하는(혹은 설계하는 사람)을 두고 임베디드 엔지니어라 할 수 있죠. 사실 임베디드는 범위가 매우 넓기 때문에 가지로 정하기 힘듭니다.
         그리고 전망입니다. 저는 앞으로 PC보다 더 큰 시장이 열릴거라 확신합니다. general pc를 필요로 하지 않는 응용 분야는 엄청나게 많습니다. 다른 산업이 발전할수록 임베디드 기기 시장은 비례해서 늘어날 것이구요. 홈오토메이션, 모든 가전기기, 로봇, 자동차전자장치, 기차시스템, 항공.. 일일이 열거할 수 없습니다. 참고로 5~8호선 열차시스템에 쓰이는 것도 임베디드 시스템(모토롤라mpc series)입니다. 20
         년전 빌게이츠 시절엔 불가능했지만 현재는 가능 것은 반도체산업의 비약적 발전 때문이겠죠. 이전엔 micom시장+고성능,고기능화로 인해 새로 창출되는 시장을 합쳐서 임베디드 시장이 부를 수 있겠군요. 특히 현재 많은 분야에서서 진행되는 연구가 cpu를 기반으로 하고 있는데, 그 응용분야는 다 제각각 입니다.(즉, 임베디드 시스템이죠.)
         너무 낙관적으로 말씀드린 것도 같군요. 제 생각에 적어도 정부가 임베디드 분야에 차세대 산업이 될 것이라고 판단 것은 옳다고 봅니다. 우리 정부만 그런게 아니고 세계적인 대세죠. 하지만 그에 따라 그 분야에 종사하는 사람 대우가 좋을 것이냐? 이것도 낙관적이라 말씀드리지 못합니다. 정부가 많은 인력을 쏟아 붙는다면 단순 작업, 노가다식 일만 하면 it산업의 재탕이 될 것입니다. 적어도 정부가 나서는 일에서 엔지니어가 행복 경우는 없었죠. 하지만 임베디드는 그 뜻처럼 타분야와 관련성이 높기 때문에 전문성을 기르기도 좋다고 생각합니다.(즉, pc산업과는 다르다..는 것이죠.)
         마디 더 추가하겠습니다. constraint가 거의 없는 시스템이 pc입니다. (단순pc라면 200만원대 이하가 유일 조건인가요..? 특별 작업을 위 시스템이면 수천만원도 가능하겠군요) 하지만 임베디드 시스템은 많은 constraint가 존재합니다. 크기,무게,가격,온도,습도,처리량,time-to-market 등등..
         가지 예를 든다면 님 말씀대로라면 가정에서는 주로 게임기로 쓰이는 pc가 게임시장에서는 임베디드 기기(플스,x-box)에 ko패를 당했습니다. 결국 앞으로 pc가 같는 기능은 대부분 임베디드 기기로 옮겨 갈 것입니다.(pda,smart phone..등등) 더욱이 지금까지 PC가 쓰인 분야(별로 없죠)말고 다른 분야에 이미 많은 임베디드 기기가 쓰이고 있고, 앞으로 더 많이 쓰일 겁니다.(각종 robotics분야, 무인분야, 다시말해 digital이 쓰이는 거의 모든 분야.. digital world=embedded)
         PC도 주로 집이나 사무실에서 쓰이는 다른 임베디드 기기와 다를게 없습니다. 거기에 들어가는 CPU는 INTEL이 만들고 OS는 MS가 만들죠. 그런데 PC USER가 엄청나게 많기 때문에 pc분야는 물론이고 다양 분야의 고성능 TOOL들이 나오게 되는 것이죠. 일반적인 임베디드 기기에서 이런 환경을 기대하긴 힘듭니다. 왜냐하면 pc는 ms와 intel에서 standard를 정하지만 embedded는 정할 수 있는 주체도 없고 각각 시장도 크지 않습니다. (ms가 win ce로 노력 중이긴 하는데 유료이며 거기다 비싸다는 취약점이 있죠. 그리고 모든 분야를 cover할 수 없습니다.)
          (마디 추가다면서 많이 추가했군요.. 제 의견이었습니다.)
         일본의 경우 트론 프로젝트가 올해(작년인지 헷갈리네요.)로 20주년을 맞이다고 하던데 트론 얘기를 신문에서 본 건 작년이 첨이었구요.(제가 신문을 잘 안 봐서 그럴지도..--;)
         별로 안뜨는듯 데요..임베디드 하는 업체는 많은데.. 매출은 그리 신통치 않은것 같고.. 핵심칩 설계회사만 돈을 버는듯.. 나머지는 거의다 칩 사다가 조립하는 노가다꾼으로 전락중이죠.. 유비쿼터스의 경우에도.. 고성능의 단말기를 대량으로 제조해서 보급하면 되기때문에.. 설계및 제조하는 사람들은 극소수의 인원으로도 충분합니다. 뭐 정부에서 하는거라면..웹디자이너꼴 나겠네요..
         음... 윗분들 말씀이 대개 맞는듯 하구요. 괜히 없던것도 아닌데 뭐 있는양 임베디드 어쩌고 하면서.. 얼마나 얘기 할꺼리가 없으면 그러겠습니까. 음.. 그리고 유비쿼터스라... 실용화되면 여러가지로 파급은 좀 있을듯 데... 아직은 셀폰으로 tv나 동영상보는것 처럼.. 없어도 그만, 있어도 그만일 테지만 뭐 돈좀 긁어내려고 여기저기 들쑤시거나 하면 지금 셀폰 국민학생들도 다 가지고 있듯이.. 이상하게(?) 잘 팔릴지도 모르죠.
         그리고 과거에도 CPU를 사용하여 제품들을 제어하는 업무가 많았는데.. 그것을 운영하는데 인터럽트나..무루프를 이용하여 제어를 반면에..요즘에 임베디드 시스템이라고 하는것들은 간단 운영체계를 도입게 다른데.. 이것도..별것 아닌데.. 왜 임베디드 엔지니어니..뭐니떠드는지 잘 모르겠습니다. 그냥 마이크로 프로세서를 이용하는 땜쟁이들이 기본으로 익혀야할.. 노가다이고... 핵심 부품 예를들면 ARM7의 코어부분등은 핵심기술을 가진 회사에서 독점하고있어서..그걸 이용해서 칩을 파는 업자나.. 프로그래밍짜는 엔지니어나..그냥.. 그들의 하수인에 불과할수도 있겠네요..요즘에는 임베디드 OS도 객체지향을 이용하고.. 그래픽 라이브러리들이 잘 나와있어서 WIN CE나 윈도우즈에서 제어용 프로그래밍 짜는 수준의 단순노가다로 넘어가고있는 추세입니다.. 하여간에 이것도 다들 하니까.뭐.. 별 영양가 없는것 같습니다.. 모 업체에서.. 벼레별거 다할수있는 기술적인 능력이있는데.(암9보드에 하드도달고 액정도달고..달수있는것 다 달고..) 막상 그 보드를 만들어놓고 쓸데가 없답니다. 요즘 추세를 보니까..몇년전까지도 고급기술자의 업무였던.. PC에서 기계제어하는것들도..이젠 전문대졸업자나..고졸자가 주로하는 일이 되어버렸더군요.. 제 생각에는 미래에는 엔지니어가 그다지 많이 필요하지는 않을것 같습니다. 소수의 천재들이.. 프로그래밍 제네레이터.. 임베디드 칩 제네레이터 만들어서.. 가상현실상에서..뚝딱 뚝딱 맞추면.. 결과물이 떡하니.그냥 나와버리는 시스템이되고.. 다른 대부분의 경우에는 시스템이 거의모든 상황을 커버할만큼 고성능이되어버려서..별 예외조치에대 필요성이 없는것이죠.. 엔지니어링 분야도..워드프로세서가 지구상에 몇개 안되는걸로 다 카바되는것처럼..그리될거같고.. 하여간에.. 기술분야에서도 극빈층에 속하는 재화를 소비만 하는 덧샘 뺄샘도 모르는 대다수의 사람과..극소수의 모든것을 다 할수있는 초기술을 가진 과학자들의 두가지 집단만이 살아남을듯 하네요.. 아마도 그런 과학자들에 의해 사육되겠지요...
  • 코드레이스/2007/RUR_PLE . . . . 34 matches
          * 간단 설명 10분
          * 프로그래밍 언어를 배우는것은 재밌어야 다는 취지에서 만들어진 환경이다. 실제로 해보면 재밌다. 도움도 많이 된다.
          * 실제로 로봇에 프로그래밍 해서 그 로봇이 현실에서 자신이 프로그래밍 하는데로 움직이는것을 보면 정말 좋겠지만 여건이 안되는 만큼 -_-; 화면으로나마 그 로봇이 움직이는 것을 보면서 프로그래밍 해볼 수 있다. 여기에서 작성하는 코드들이 무슨 쓸모가 있을까 싶기도 하겠지만, 추후에 실제 로봇의 동작을 프로그래밍해서 넣는다면 여기서 쓰이는 방식과 비슷하게 넣을것이다.(하드웨어적으로 복잡것을 명령어로 추상화 시킨다음에 그 명령어을 적절하게 복합적으로 사용하여 원하는 행동을 로봇이 하게 만드는 식으로..) 즉 말그대로 로봇 프로그래밍을 간접적으로나 해볼 수 있다.
          * 컴퓨터 프로그래밍을 익히는 것은 악기를 익히는 것과 비슷하다. 당신은 그것에 관해 단순히 읽기 말고 해봐야 다.
          * 사람들이 읽기 쉬운 프로그램을 작성해야 다.
         = 간단 러플 사용법 =
         == 로봇 번 움직여 볼까? ==
          * 창에서 Robot: Code and Learn 탭을 선택다.
          * 그후 화면에 Mp3 Play 버튼 비슷하게 생긴 버튼을 클릭다.
          * 저장하라는 창이 나오면 test 라고 넣고 저장다.
          * 화면의 로봇을 클릭다.
          * 위쪽 방향 키보드를 누르면 앞으로 이동다.
          * 칸 앞으로 간다음에 왼쪽으로 돌고나서 칸 앞으로 가고 나서 정지하는것을 볼 수 있다.
          * RUR-PLE에서도 디버깅을 다.
          * Play버튼 옆에 Play 모양과 작대기 하나 있는것은 step into와 비슷 역할을 다. 명령어가 하나씩 실행된다. 현재 실행되고 있는 명령어는 코드 부분에서 회색으로 highlighting 된다.
          * 버튼들 중에서 벽 처럼 생긴 버튼을 클릭다. 그럼 아래 그림과 같은 화면이 나온다. 여기서 클릭! 클릭~! 해서 벽들을 만들 수 있다.
          * repeat 명령어를 써서 여러번 수행해야 하는 함수(명령어 포함)을 번에 방복 횟수만 지정해서 사용할 수 있다.
          * 벽 만들기 연습에서 코드들을 함수화 해서 중복 제거를 다.
          * next_to_a_beeper() : beeper가 현재 로봇의 자리에 있으면 true, 없으면 false를 반환다.
          * 위의 if문과 함수 정의, repeat를 사용하여 아래 화면과 같은 상황을 처리다.
  • 프로그래밍언어와학습 . . . . 34 matches
         토크백까지 같이 읽어야 할 것 같고. -_-; (물론 쓸데없이 화내는 사람들이 많아보여서, 쩝..) 그 글에 대해서 약간 계를 생각다면.. (뭐. 그 글 쓴 분의 의도는 대강 알겠지만.)
          * 학교에서 C++ 배운다고 하드웨어 건드리나. -_-; (전전공이라면 몰라도..) 컴퓨터공학과의 경우 학교에서 C++ 배워도 어셈블러 레벨까지 다루는 사람이 별로 없다고 할때, C++ 을 배웠다고 시스템레벨 까지의 깊은 이해가 필요없었다는 점인데.. 글을 읽으면, 마치 '교육용 언어로 C, C++ 을 배웠다면 시스템 레벨까지 이해할 것' 처럼 쓴 것 같다고 생각. (C, C++ 포인터를 레퍼런스 이상의 개념으로 쓴적이 있었나.. --a) 차라리 '우리는 전전공 출신에 하드웨어제어 해본 사람 뽑습니다' 라고 할것이지..쩝. Domain-Specific 부분을 생각치 않고서는 시스템 프로그래머에게서는 늘 자바와 Script Language 는 '군인을 나약하게 만드는 무기' 일 수밖에 없으니까.
          * Language != Domain. 물론, Domain 에 적합 Language 는 있더라도. 이 글이건 Talkback 이건.. 두개를 동일시 본다는 느낌이 들어서 좀 그렇군. (나도 가끔은 Java Language 와 Java Platform 을 똑같은 놈으로 보는 우를 범하긴 하군. -_-;)
          * 사족2) 예전 마소의 김재우씨가 '프로그래밍의 숨겨진 진실과 거짓' 관련 기사 나왔을때 강규영씨의 반박문을 읽을때도 약간 핀트가 안맞는다란 느낌이 들었는데.. 뒤의 토크백들을 보면.. 또 숨. --석천
         > 향을 미치는지를 가르쳐야 다. 그렇게 하기에 자
         하지만 이제는 컴퓨터 시스템에 대 저차원적인 이해 없이도 얼마든지 뛰어난 프로그램을 만들 수 있는 영역이 늘어나고 있습니다. 언제든지 저차원에 대 이해는 도움을 주지만 이제는 저차원의 정의가 조금 더 상향 조정된 문제 영역이 훨씬 많습니다. (컴퓨터 발전 초기에는 적용도메인이 협소했습니다)
         하드웨어를 "뼈 속 깊이 꿰뚫고 있는 사람"과 그런 거라곤 하나도 모르는 사람이 동일 문제에 접근했을 때 후자의 경우가 더 훌륭 프로그램을 더 빨리 산출해낼 가능성은 얼마든지 있습니다.
         > 바라는 언어는 분명 계가 있다. 자바는 컴퓨터 시
         > 스템을 이해하지 못하게 하고, 시스템 자체에 대
         목적에 따라, 이해/구축이 필요 시스템의 추상 레벨 수준이 다릅니다.
         > 에 대해서 관심도 높고 좋은 언어라고 생각다. 하
         맥락을 제거 언어의 우열 논의는 비생산적입니다. 또, 우리는 언어 자체말고도 (그 언어에 잠재해있는) 광막 세계를 접합니다. C언어가 깊이가 있니 Java언어가 깊이가 있니 하는 것은 난센스입니다. 언어는 모두 깊이가 같습니다. see also [처치튜링논제]
         문화인류학이 융성하던 초기, 언어학자들은 어느 언어가 더 우월가, 또 거기서 언어 사용자의 정신능력에 차이가 생기는가 등을 따지는 연구에 심혈을 쏟았습니다. 그들이 얻은 결론은 인류에게 있어
         자바라는 언어 자체는 그다지 중요하지 않습니다. 중요 것은 자바로 무엇을 얼마나 효과적으로 할 수 있느냐는것입니다.
         언어의 차원이 1차원이면, 그 위에는 (저차원에 기반) 2차원, 3차원,... 무히 펼쳐져 있습니다.
         영작을 수십년간 공부 사람을 알고 있습니다. 맨날 관용구를 외우고, 문법을 익히고, 날마다 영작을 편 씩 해서 미국의 교수에게 그 글을 보내고 검사를 받아온 사람입니다. 그 사람이 몇 년 전 제게 고백을 했습니다. 자기 영작 공부는 후회스러운 것이라고. 그 사람은, 훌륭 글을 쓰는 것은 단순히 언어적, 문법적인 요소를 떠나서 얼마나 훌륭 아이디어를 갖고 있느냐에 일차적으로 좌우되는 것이라고 깨닫고, 후학들에게 다양 주제의 책을 접하라는 충고의 글을 썼습니다. 명료 글을 쓰려면 언어가 명료하기 이전에 사고가 명료해야 하며, 풍부 글을 쓰려면 언어가 풍부하기 이전에 사고가 풍부해야 합니다.
         국에서 일찍부터 컴퓨터를 접했던 소수의 "특권" 계층은 자신이 익숙하게 사용해온 것들이 인기를 잃는 것에 대해 개탄하고, 신세대들은 공부가 부족하다며 비판하길 좋아합니다. 그들의 진정 문제는 겸손하지 못하다는 것입니다. 자신이 하고 있는 것이, 자신이 있는 영역이 더 본질적이고 더 어려우며, 더 고수준의 것이라고 생각하기 쉽습니다.
         이 문제는 어디를 가도 비슷합니다. 학교시절에 어렵게 공부를 기득권층은 최근의 "열린교육"이나 "대안교육"에 대해 상당 불만을 갖고 과거회귀를 주장하기 마련입니다. "너희는 몰라."
         p.s.2 토크백에 자바를 대학에서 가르칠 것을 주장하며 "파스칼 따위는 이제는 버려야죠"라는 말이 있는데, 버리려면 먼저 가지고 있어야 할 뿐 아니라, 파스칼을 갖거나 버리거나 하는 것은 이제 큰 의미가 없습니다. 구조적 프로그래밍 같은 파스칼을 주축으로 패러다임을 배우는 것이 중요합니다. OOP는 구조적 프로그래밍을 감싸안고 더 자라난 것이지 뒤에 남겨두고 진보 것이 아닙니다.
  • 2006김창준선배창의세미나 . . . . 33 matches
          * 단순히 기존의 방식대로 창의적인 생각을 하려고 하기 보다, 이미지나 몸동작과 같은 우뇌를 적극 활용하는 활동을 통해서 창의성을 자극 할 수 있다. 예로 훌륭 프로그래머들은 머리속으로 특정 상황을 Play, Pause, Backward 등을 하면서 프로그래밍이나 문제 해결등을 다고 다.
          * 그리고 생각, 개념등을 카드로 적어서 그것을 이리 저리 배치하면서 생각하는것도 도움이 된다고 다.
          * 특정 의식을 치루고 나면 알파파를 증진시키고, 창의력을 높일 수 있다. 예를 들어서 켄트백은 문제가 잘 해결되지 않을때 밖에 나가서 전기톱질을 다고 다. 이러 운동을 통해서 아드레날린이 분비가 되고, 우뇌도 활용하면서 뭔가 생각의 전환을 가져 오는것 같다.
          * 그리고 창준 선배도 기천이라는 의식을 활용다고 다.
          * 이러 의식으로 운동이나 기타 악기 연주 등이 활용 될 수 있을거 같다. (아인슈타인은 바이올린 연주를 이러 의식으로 쓴건 아닌가 싶다)
          * 주변에 있는 것들과 비유를 해보면서 창의적인 생각이 나올 수 있다. 예를 들어서 동양 철학에서의 음양 오행이나, 주역 등도 그러 비유로 활용할 수 있다. 전혀 상관이 없을 것같은 것들도 비유를 하는 과정에서 무의식을 건드려서 뭔가 상관 있는 창의적인 것을 꺼내는것 같다.
          * Genetic Algorithms 적인 방법 - 여러가지 창의적인 생각들을 하면서 그중에서 우수 종자들끼리 서로 교배(합성)을 시켜셔 게속 우수 창의적인 생각들을 만들어 나간다.
          * Elitsm - 우수 것들을 뽑는다??..
          * 알파파 만들기 -> 위에서 기억 행동을 하거나 그러 생각들을 머릿속에 그리면 나도 모르게 알파파가 생기며 현재 집중력이 올라가며 창의적 사고에 도움이 된다.
         == 천재에 대 오해 1 ==
          * 천재적이고 창의적인 사람은이 하는 것들은 모두 천재적이고 창의적인 것은 아니다. 그러 사람들이 것들도 Variance 가 크다. 즉 좋은것은 아주 좋지만, 안 좋은 것은 아주 안 좋다는 것.(천재적 학자와 일반적인 학자의 평균 논문의 질(인용횟수로 ) 은 비슷하다. 다만 천재적 학자의 변화폭이 더 크다)
          * 가장 성공적인 논문(예술품)을 쓰는해에는 가장 형편 없는 논문도 썼다고 다.
         == 천재에 대 오해 2 ==
          * 날때 부터 천재였다? - 물론 그런 경우도 있다. 하지만 경험과 노력으로 그만큼 도달 사람도 있다. 아래 그래프는 미술가들의 각 나이별로 얼마큼의 값어치의 미술품을 만들었는지를 보여준다. 여기서 빨간석은 Conceptualist 이고 파란색은 Experientialist 이다. 즉 전자는 천재적인 사람들이고, 후자는 경험(노력)을 통해서 훌륭 업적을 남기는 사람들이다. 즉 천재적인사람이나 범인이나 모두 가능성이 있다. 자신에게 맞는 가능성을 찾아 보자.
          * 새로운 책을 읽는다면 그 책을 통해서 이전에 자신이 가졌던 지식, 책들을 하나식 통과 시켜 보면서 그 새로 읽은 책을 Amplifier 로 사용다. 이렇게 해서 단순 더하기가 아닌 지수승의 효과를 낸다.
          * 물의 반대 라고 하면 불 이라고 대답하기 쉽다. 이것은 물에 대해서 특정 축에 대 반대이다. 어떻게 생각하면 얼음을 반대라고도 할수 있다 (O2H 를 반대라고 할수도 있고,,)
          * 즉 특정 생각의 반대, 비슷 것을 생각하고자 하면은 그것을 어떠 측면에서 바라보는지, 즉 축이 필요하게 된다. 그 축을 잘 활용하면 여러가지 창의 적인 생각을 하기 쉽다.
  • AcceleratedC++/Chapter6 . . . . 33 matches
          * 5장에서 본것처럼 우리가 다루는 컨테이너들은 내부 사정은 다를지라도, 우리는 그것을 모르고도 똑같이 쓸 수가 있다. 즉 일관된 인터페이스를 제공다는 것이다. 컨테이너나 반복자와 마찬가지로 표준 라이브러리도 일관된 인터페이스를 제공다. 벡터를 배웠으면 리스트도 금방 쓸수 있는 것처럼, 하나의 알고리즘 쓰는 법을 배우면, 다른 것 쓰는 법도 금방 알수가 있다.
          * 근데 이것보다 더 일반적인, (즉 컨테이너에 독립적인) 방법이 있다. 컨테이너의 멤버함수를 이용하는 것이 아닌, 표준 알고리즘을 이용하는 것이다. 위의 것과 동일 기능을 다.
          * Postfix와 Prefix : i++과 ++i의 차이점이다. ++i는 i를 사용하기 전에 값을 증가시키고, i++은 i를 사용 후에 값을 증가시킨다.
          * 다음으로 반복자 어댑터(Iterator Adapters)를 살펴보자. 반복자 어댑터는 컨테이너를 인자로 받아, 정해진 작업을 수행하고 반복자를 리턴해주는 함수이다. copy알고리즘에 쓰인 back_inserter는 ret의 뒤에다가 copy를 수행다는 것이다. 그럼 다음과 같이 쓰고 싶은 사람도 있을 것이다.
          * 5장에서 공부 것 중에 주어진 string을 공백을 기준으로 잘라서, vector에다 넣은 다음 리턴해주는 함수가 있었다.(split) 이것을 좀 더 간단히 만들어보자. 앞의 것은 굉장히 알아보기 힘들게 되어있다.
          * find_if의 인자를 보면, 앞의 두개의 인자는 범위를 의미다. 첫인자~두번째인자 말이다. 마지막 인자는 bool형을 리턴하는 함수를 넣어준다. 즉 predicater이다. 그러면 find_if는 주어진 범위 내에서 predicator를 만족하는 부분의 반복자를 리턴해 준다.
          * 또 제네릭 알고리즘은 end()를 깔끔하게 처리해준다. 우리가 신경안써도 된다는 것이다.
          * Palindrome이란 앞에서부터 읽어도 뒤에서부터 읽어도 똑같은 단어를 의미다.
          * 참 깔끔하다. rbegin()은 역시 반복자를 리턴해주는 함수이다. 거꾸로 간다. equal함수는 두개의 구간을 비교해서 같을 경우 bool 의 true 값을 리턴다. 파라매터로 첫번째 구간의 시작과 끝, 두번째 구간의 시작 iterator 를 받는다. 두번째 구간의 끝을 나타내는 iterator 를 요구하지 않는 이유는, 두개의 구간의 길이가 같다고 가정하기 때문이다. 이는 equal 함수의 동작을 생각해 볼때 합당 처리이다.
          i 는 :// 의 시작 위치를 가리키는 역할을 다.
          e 는 url의 마지막 텍스트를 가리키는 역할을 다.
          // string 에서 sep 의 문자열의 시작부분을 찾아서 i에 iterator를 대입 후 e와 비교하여
          // 같지 않으면 실행다. (즉, sep를 찾았을 경우)
          --beg; //protocol-typed의 위치에 존재하는 문자열이 조건에 맞을 경우 앞으로 칸씩 움직이면서 검사다.
          * protocol-type://domainname 의 형태를 검사다.
          * find_if(b, e, p) 문자열 시퀀스 [b, e)에서 함수 p를 통해 테스트다.
          * static 스토리지 지정자는 함수의 최초 생성시 저장공간에 단 번만 할당되며, 다시 호출을 하여도 새로 할당되지 않는다.
          Chapter 4.2에서 제시된 중앙값을 이용 방식으로 성적을 계산할 경우 악의적으로
          2. 실제로 제출 과제에 대해서만 중앙값을 적용하는 방법(6.2.4)
          이를 위 세부작업
  • D3D . . . . 33 matches
         3D를 이용 오락 만들기. [[BR]]
          * [영현] 음.. 맘에 들지 않는다. 무슨 소리인지 갈피를 잡지 못하는게 현실이다. 관련 책이라도 좀 봐야 하겠다.[[BR]]약간은 설명이 미흡것 같다. 내가 모자르기 때문일수도 있지만, ㅋㅋㅋ[[BR]]아직까지, 예제다운 예제를 못보다. 3D object를 본적이 없음. 아직까지.. --; - 232p/602p...
          * [광식] 이책 덮은지 20된거 같다. 되층되층 봐가지고 기억이 안난다. 니가적어논거를 보는거로 시작다.
          * potential function에 대해서만 봤다.. 약간 쓸만 알고리즘(?) 인것 같다. ㅋㅋㅋ[[BR]]다음에 나오는 PathPlan에 관얘기는 쉬운것 같은데. 장난이 아니다.[[BR]]머리 아프다. - 249p/602p...
          * 책비르러 간다. 3D에 관책.. --+ 무신 책이 겜 초보자를 위게 아닌거 같어.. --+ 짱나 짱나.. [영현]
          * 잠시 외도. 광식이테 빌린 책으로 3D를 공부.
         이런 종류의 책들이 다 그렇듯이, winapi를 사용다.[[BR]]
         그렇기 때문에, 초반의 chapter는 거의다 winapi를 사용해서 [[BR]]
         DX 초기화 루틴과, game loop(message loop)를 포함 library를 실제로 만든다.[[BR]]
         슬슬 책이 짜증나려고 다. --+ 그냥 간단하게 책에서 제공하는 library를 쓰면 chapter2는 솔직히[[BR]]
         추천 도서: Inside DirectX (필요로 다면 말하시오. 전자책으로 있어요. --;;)
         점은 3D 그래픽에서 가장 중요 요소랍니다. 책에서 그러데요. [[BR]]
         vector(3D 공간상의 점이 있는 일정 거리)의 크기 (magnitude)를 구하는 공식은 [[BR]]
         단위 벡터- 세개의 주요 축들의 방향을 나타내기 위 벡터.[[BR]]
         i, j, k벡터의 선형 조합으로 3D내의 어떠 점이라도 나타낼수 있다.
         3D점을 캡슐화 하기위 구조체.
         float이나 double이 나타낼수 있는 부동소수점의 계로 인해 vector끼리 동등지 아닌지를 잘 처리하지 못다.[[BR]]
         그래서, epsilon (이 책에서는 0.001로 정의)이라는 것을 두어 그 문제를 해결다고 다. [[BR]]
         - http://www.gameschool.co.kr/cyberhtm/3dPolygon.htm - 폴리곤에 관 page
         // x, y, z축으로 회전시킨 행렬들을 하나로 결합하기위 표준 방법이 없다. // ??
  • ZP도서관 . . . . 33 matches
         || C++로 배우는 PC 하드웨어 || 김성환 ||.|| ["fnwinter"] || 서 ||
         || Client/Server Survival Guide (3rd ed.) || Robert Orfali, Dan Harkey, Jeri Edwards || 영진출판사 || 이선우,류상민 || 서 ||
         || ["DirectX3D"] ||.||.|| 보솨 || 서 ||
         || Flash Action 액션스크립트 활용사전 || 장동화 환재현 || 정보문화사 || [이승] || 이것도 프로그래밍 ||
         || inside C# || Tom Archer || 정보문화사 || ["1002"],류상민 || 서 ||
         || Oracle Bible ver8.x ||.||영진||["혀뉘"]||서||
         || Windows NT 프로그래밍 || Julian Templeman || 정보문화사 || ["1002"] || 서. Wrox 번역판 ||
         || Writing Solid Code||.||.||류상민||서||
         || XML APPLICATIONS ||.||.||["erunc0"]||서||
         || 자바 퍼포먼스 튜닝 || 잭 시라지 || 빛미디어 || 이선우 || 서 ||
         || 전문가와함께하는XML Camp ||김채미 외 ||마이트Press||["혀뉘"]||서||
         || 파이썬 시작하기 || 마크 루츠, 데이비드 애셔 || 빛미디어 || 이선우, ["ddori"] || 서 ||
         || 파이썬 표준 라이브러리 || 프레드릭 런드 || 빛미디어 || 데기, ["ddori"] || 백종현 역 ||
         || 어셈블리 언어(가장 좋은 어셈책) || IRVINE || 교보문고 || 정직 || 서||
         || about FreeBSD ||.|| 영진 || 광식, ["ddori"] || 서 ||
         || XML-RPC || 사이먼 로렌트 외 || O'REILLY || ["구근"] || 민수 역 ||
         || 리눅스 디바이스 드라이버 || RUBINI ||.|| ["fnwinter"] || 서 ||
         || 정보처리기사 (실기) C 특별대비(산업기사포함) || 영진정보연구소|| 영진닷컴 || 정해성 || 서 ||
         || 굴소년의 우울 죽음 || 팀버튼 || 데기 || 판타지 ||
         || 까라마조프가의 형제들(범우사) || 도스토예브스키 || [이승] || 소설 ||
  • 가독성 . . . . 33 matches
         간단하게 C언어에 대 문제와 답을 올리는 페이지에서 다음과 같은 내용이 있었다.
         가독성은 개인취향이라고 생각합니다. 제 경우는 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에 대 부분을 봐도 토발즈가 코딩 스타일에 대 자신의 생각을 독자들에게 강조 것으로는 보이지 않네요. - [임인택]
         위에서 이야기 것 중 터미널 화면에서의 작업시 세로라인의 범위가 좁은 경우 { } 가 가독성을 해칠수 있다는 의견이 있습니다. 재미있는 의견 같네요.
         전에 여러 회사의 팀들 분들과 이야기를 하면 사람들마다 얼마나 취향차들이 다른가에 대해서 느끼는데, 편으로는 그냥 개인의 취향차로만 보기에는 그 분들의 작업 환경에 따라 차이가 있는 듯 합니다. 일례로, ["Refactoring"] 개념이 개발자들에게 퍼진 이후 메소드는 가능 짧고 간결하며 가지 기능만을 하는게 가독성과 모듈디자인상 좋다고 이야기합니다. 근데, 리눅스나 VI 에서 작업하시는 분들은 '너무 메소드 길이가 짧아도 안좋다.' 라던지 '리눅스의 xx 코드 본 적 있냐? 페이지에 주욱 나오는게 정말 읽기가 좋다.' 'OO 디자인이 좋다고 하는데, 코드 분석하려면 이 화일 저 화일 돌아다니고 메소드들을 이리저리 돌아다녀야 하고 별로 안좋은거 같다' 라고 말씀하시는 분들도 있습니다.
         그래서 추측을 했었는데, 자신이 쓰는 도구에 따라 같은 코드도 가독성에 영향을 받을 수 있겠다는 생각을 해봅니다. VI 등의 editor 들로 코드를 보는 분들이라면 아마 일반 문서처럼 주욱 있는 코드들이 navigation 하기 편합니다. (아마 jkl; 로 돌아다니거나 ctrl+n 으로 page 단위로 이동하시는 등) 이러 경우 OO 코드를 분석하려면 이화일 저화일 에디터에 띄워야 하는 화일들이 많아지고, 이동하기 불편하게 됩니다. (물론 ctags 를 쓰는 사람들은 또 코드 분석법이 다르겠죠) 하지만 Eclipse 를 쓰는 사람이라면 코드 분석시 outliner 와 caller & callee 를 써서 코드를 분석하고 navigation 할 겁니다. 이런 분들의 경우 클래스들과 메소드들이 잘게 나누어져 있어도 차라리 메소드의 의미들이 잘 분리되어있는게 분석하기 좋죠.
         가독성을 생각할때 종종 이런 생각을 합니다. '어떠 코드가 디자인이 좋은가? 혹은 어떠 도구가 좋은 디자인을 이끌게 하는데 도움을 주는가?' 어떻게든 도구를 만들고, 다시 도구에 영향을 받게 되는게 사람이니까요. --[1002]
  • 논문번역/2012년스터디/신형준 . . . . 33 matches
         '''자발적인 손으로 쓴 글자인식에 대 실험'''
         자필 글자 인식에 대 체제가 발표됬다. 이 체제는 자유 분할 접근에 의 특성을 가지고 있는데, 전체 문서의 줄이 인식모듈에 의해 처리되어 진다는 의미를 가지고 있다. 전처리, 특징추출, 그리고 통계적 모형화에 있어 사용되는 방법이 소개되어 있고, 인식 주제(문서) 들을 자필로 하는 독립된 작가, 다수의 작가, 그리고 혼자쓰는 작가에 대 몇몇의 실험들이 실행되었다.
         특히, 선형판별인식, 이서 문자 모델, 그리고 통계적 언어 지식의 설립에 내용이 조사되어 있다. 어휘가 자유로운 자필인식에 대 평가 결과들은 제안된 방법들이 효과적임을 보여준다.
         패턴 인식의 도전 영역은 자필 문서 인식에 있다. 지금까지 대다수의 자필 인식 시스템은 우편 주소를 읽거나 은행 수표와 같은 형태들을 처리하는데 사용됬다. 반면에 이 시스템은 분리된 문자 또는 단어에 대해서 계를 가지고 있는데, 오직 구속되지 않은 자필 문서의 인식에 대 많지 않은 시스템 만이 존재했다. 이와 같은 수행의 증가된 복잡성 때문에, 문자의 부재 혹은 단어의 경계 정보, 거기에 크거나 심지어 계가 없는 단어들에 의해 특징지어진다.
         그럼에도 불구하고, 자필을 인식하는 일에 대해 기술들을 더 조사하는 건 가치가 있다. 왜냐하면 컴퓨터 성능의 향상이 더 복잡 처리과정을 할 수 있게 해주었기 때문이다.
         이 에세이에서 HMM에 기반 어휘에 자유로운 필기 인식에 대 시스템이 설명되어 있고, 영어로만 이루어진 문장 데이터 베이스에서 몇몇의 실험들이 필기자에 독립된 형태, 또 다수와 개인 작가 형태에 대해서 비교하기 위해 실행되었다.
         전처리 과정과 특징추출에 대 방법이 묘사되었다. 그리고 게다가 선형 판별 해석, 이서 특징 모델들의 사용, 그리고 통계적인 언어 모델들과 같은 더 세련된 기술들을 살피게 될 것이다.
         그후에 우리는 그다음 section들에서 전처리 과정 단계, 특징 추출에 대 방법, 그리고 통계적 모델링과 인식을 이용 기술들을 묘사다. 제안된 방법들의 효율성을 입증하기 위 평가결과는 section 7에 있다.
          선형 연립 방정식의 중요 특성들은 벡터들의 개념과 표시법에 의해 묘사되어 질 수 있습니다. 이 부분에서는 벡터들과 평범 방정식들의 연립들이 연관된 방정식들을 연결해 줍니다. 이 백터라는 용어는 다양 수학적이고 물리적인 문맥(우리가 Chapter 4, “백터 공간”에서 논의할)을 나타냅니다. 그때까지, 벡터는 숫자들의 정렬된 목록으로 써 의미를 가집니다. 이 간단 생각은 우리에게 흥미롭고 중요 적용들을 가능 빠르게 얻게 도와줍니다.
         주어진 벡터 u과 실수 c에 대해서 c에 대 u의 스칼라 곱은 u의 각 각 의 entry에 c를 곱함으로 써 얻어진 cu벡터 입니다.
         이같은 경우에 개인적인 점들(화살표 그것 스스로에 대해서)은 특별 중요성을 가지고 있지 않습니다.
         두 벡터들의 합은 유용 기하학적 표시법을 가지고 있습니다. 북석적인 기하학구조에 의해 앞의 규칙이 학인되어 질 수 있습니다.
         ||합에 대 평행사변형 규칙||
         ||만약 R^2에있는 u와 v가 평면상에서 점들로 표현된다면, 그때 u+v는 평행사변형의 제 4의 꼭짓점에 대응다.(다른 벡터들은 u,0, 그리고 v) Fig 3를 보자||
         R^n에서의 같음과 스칼라 곱과 벡터 합 의 연산자들은 R^2에서 와 같이 entry와 entry에 대응하여 정의되어 집니다. 이 벡터들에 대 연산자들은 실수에대 대응하는 속성들로부터 직접적으로 증명할 수 있는 다음의 속성들을 가집니다. Practice Problem 1과 Exercises 33 그리고 34 (이 섹션 마지막에 있는) 을 보십시오.
         그리고 이것은 c1,...cp의 weights를 같는 v1,..,vp의 선형결합이라고 불려집니다. 이와 같은 선형결합을 실행할때, 위의 속성 (ii)는 우리에게 괄호를 누락시키는걸 허용해줍니다. 선형결합에서 weights는 0을 포함 어느 실수라도 될 수 있습니다. 예를들어 벡터 (p28의 벡터 3개) v1과 v2의 몇몇의 선형결합과 같이 나타낼 수 있습니다.
         Example 5를 보면,a1,a2,b 벡터들은 첨가된 행령의 열들인걸 알 수 있습니다. 간결 성을 위해, [a1 a2 b]라 이것의 열들을 인식하기위 방법으로 씁니다.
  • 데블스캠프2009/월요일후기 . . . . 33 matches
         == HTML/CSS - 이승 ==
          * '''박준호''' - html 에 대해 그냥 대충 img src 나 이런거만 알았는데 CSS 에 대해 알아보니 정말 재밌고 firebug 같은 걸 이용하여 소스들을 보며 어떻게 되어 있는가 알 수 있어서 유익 시간이 되었습니다. 오늘 배운걸로 더욱 더 새로운 장난도 칠 수 있을것 같습니다.
          * '''서민관''' - 사실 html쪽은 인터넷을 보면서 필요 자료가 있을 때 소스만 가끔 보는 정도에 그쳤었는데, 이번 기회에 조금 제대로 맛을 볼 수 있어서 괜찮았습니다. 그리고 파이어 폭스와 파이어 버그 같은 경우는 알아두면 나중에라도 html 관련 작업을 할 때 정말 유용하게 쓸 수 있을 것 같네요.
          * '''강소현''' - 필요 내용을 fire bug를 이용해서 찾아내고 수정해서 사용할 수 있다는 점이 좋았어요.
          * [김준석] - 단순하지만 있을건 있는 프로그램. Easy, Enjoy라는 개념이 어울린다. 프로그래머가 아닌 일반인(유치원생)도 이런 프로그램을 사용해봄으로서 나와 같은 프로그래머의 입장이 되어 쉽게(Easy) 즐길수(Enjoy) 있는 기회를 준것이다. 내가 1학년때 송기원교수님이 말이 떠오른다 "언젠가는 일반인도 쉽게 만들수 있는 프로그램 언어가 나올꺼다. 전화 프로그램 만들고 싶으면 사람하고 사람 그림 두개 따서 전화기 그림을 가운데 놓고 연결하면 이게 전화 프로그램이 되는. 그럼 너희들은 뭐 먹고 살래? 사람들이 머리만 조금 굴리면 알아서 딱딱 만드는 세상이 될텐데 아이디어랑 생각이 중요거야." 딱, 이거 아닌가? 물론 프로그램 언어의 현상황에서 프로그래밍에 업을 달고 사는 사람에게 쉽고 즐긴다는 말은 저기 저 먼 안드메다에 있는 개념만큼 멀게 느껴지지만 마지막에 송지원학우님이 얘기해주신것처럼 프로그래밍이 단순히 어렵고 복잡것을 뜻하는것만이 아니라 새로운 아이디어로 생각해 그 시각으로 바라보는것으로 개발자의 입장이되는 우리도 더 쉽고 재밌게 즐길수 있을것이다. 그렇지만 기본은 먹고 살아야지.
          * [김수경] - 대안언어축제에서 Scratch를 접했을 때도 느낀 점이지만, 프로그래밍 언어를 처음 접 사람에게 코딩을 친숙하게 해주는 정도로는 좋은 것 같아요. 그런데 이미 다른 언어를 어느 정도 쓸 줄 아는 사람에겐 제약이 많다는 것과 일일히 찾아서 드래그해야 다는 점이 오히려 귀찮게 느껴지는 것 같아요. 누구나 쉽게 쓸 수 있는 툴은 기능이 아쉽고, 강력 기능을 제공하는 툴은 복잡해서 쓰기 어렵고.. 이런 문제는 도대체 어떻게 해결할 수 있을까요ㅋㅋ 이건 Scratch에만 국된 문제는 아니지만요;
          * '''서민관''' - 사실 09학번이 1학기 때 로보랩을 하지 않았더라면 월요일 수업 중에서 가장 괜찮은 수업이 되지 않았을까 싶다. 문자로 된 프로그램 언어를 시각적으로 접하게 하는 것이 목적인 것 같은데, 조작 또 간단 드래드 정도로 쉽게 할 수 있는 것도 굉장히 괜찮았다. 다만 몇몇 필요 기능들이 없는 건지 못 찾은 건지 해서 괜찮은 물건을 만들지 못 것은 너무 안타까운 점이었다. 아. 정말 아쉽네요.
          * '''강소현''' - c언어에서 쓰이던 거를 블럭으로 쉽게 나타내, 프로그래밍하는 방법을 전혀 몰라도 활용할 수 있어 좋았어요. 게다가 그림을 이용해 간단 애니메이션이나 게임을 만들 수 있어, 이번 수업 이후에도 자주 애용할 거 같아요.
          * '''박준호''' - 새로운 프로그래밍언어를 배워봐서 재미있었다. 로보랩을 할때와 비슷 느낌이라 더 좋았고 만약 C 언어의 함수를 다 모르고 그런 상태라면 이런 사람에게 친근 고급언어가 더욱 쉽고 유용거 같다.
          * '''서민관''' - 마지막 시간인 svn 시간은 수업을 위 수업이라기보다는 앞으로의 활동을 위 베이스적인 수업의 성격이 강했던 것 같다. nforge와 svn을 이용하면 확실히 앞으로 팀 프로젝트로 코드를 짜거나 수정할 때 여러모로 편리할 것이라고 본다. 하지만 그 이후의 코드 레이스는 좀 힘들었어요. 제가 원래 머리 회전도 좀 느린 편인데다가 창의력이나 응용력도 부족하단 말이에요. 어째 앞길이 막막데.
          * '''강소현''' - 프로그램이 잘 깔리지 않아서 가입만 점도 있고, 페어로 활동하는 데 모르는 점이 많아 속도를 따라잡지 못해 아쉬웠습니다. 새싹스터디의 연장선으로 수경언니테 여러 가지를 배운 듯;;...음..그래도, 다른 사람이나 폴더를 공유하고, 무언가를 수정했을 때 바뀐 부분을 바로 파악할 수 있고, 이전의 내용으로 다시 돌아갈 수도 있다는 점이 앞으로도 쓰기에 무척 좋다고 생각해요. 그보다...코드레이스를 했었구나 ㅇㅁㅇ..<<응?! ...어쩐지 앞쪽이 활발했었어...
          * [김준석] - 과거 06년도 데블스 캠프때 서버 할당받아서 svn잠깐 써보고 그다음에 전혀 써보지않았던 svn... 다시쓰기가 난감 할정도는 아니었지만 까는거에서 에러나면 어떻게 하는거야? 뭐여튼 nForge로 할당받아서 프로젝트 하나하나 올리면 되겠는데 문제는 이게 제로페이지 공용이라서 과연 학생들이 학업중 팀프로젝트때도 쓸려나.. 사용법을 가르쳐주는것 만으로 충분하긴 데.. Zeropage내의 프로젝트는 얼마 되지 않는데;; 외부프로젝트라도.. 몇개나 올라올지는 모르겠지만 일단봐야지. 4~5개만 나와도 엄청난 프로젝트 갯수를 채우는 거겠군.. 프로젝트 진행중 중요건 여러명의 개발자가 사용 프로그램이기에 주석과 구조 그리고 변수건 함수건간에 서로 알아보기 쉽게 암묵적인 규약이라도 있어야된다는거 하긴 혼자할때는 그런거 필요없지만 SVN을 통해 올리는 프로젝트는 그렇게 해야 참고하고 구경하러온 학우들에게 도움이 될테니까. 특별히 코드레이스는 엄청나게 신경쓰면서 열심히 해봤는데 마지막에 올릴때 그것의 미인증이 인터넷을 막는 바람에 못올린것에 전산센터는 좀 반성해야되! 그리고 아쉬운점은 코드레이스는 좀더 늦게하고 제로페이지에 참가 학우들에게 알고리즘이나 객체, 구조 함수에대해서 좀더 알려주고 조금 더 생각할 문제를 풀었으면 재밌었을텐데.. 난 printf()만 나오는 그리는 문제에는 잼병이란 말이다! 그렇다고 머리를 잘쓰는건 아니지만. 뭐.. 그렇듯 코드로 짜는건 빠른 손가락만 움직이면 되지만 푸는건 머리라는 사실은 변함이 없다. 코드레이스때 특정함수를 쓰게해서 DBMS나 라이브러리 북을 찾아보는 연습하는것도 좋았을텐데... 뒤에서 원그리고 있는데 앞에서 로보코드하고있을때는 안습. 끝나고 포트2 강추.
          * [송지원] - svn은 주변 프로그램이 많아서 더 어려운것 같다. 얼핏 생각하면 tortoise SVN으로 충분해보이지만, nForge나 트랙, notifier, websvn 등이 함께해야 더 시너지 효과를 발휘다. 코드레이스를 하면서 느낀 것은, 왜 진작 1학년 때에 이에 흥미를 느끼지 못했는지다. 내가 잘 못해서, 아무것도 몰라서 흥미를 느끼지 못했지만 사실 따지고 보면 그건 나의 문제다. 물론 코드레이스를 내가 하는거보다 새내기가 하는걸 보는게 더 재밌긴 하다 ㅋㅋ 역시 나는 뭔가를 하는 것보다 잔소리하는게 적성인듯.
         == 다음날 데블스캠프를 위 피드백~ 강화할 점, 개선할 점 ==
          * 재학생들 좀 일찍 옵시다. 컴퓨터랑 프로젝터 전원 안 들어온 것도 그렇고 미리 왔었다면 괜찮았을텐데 좀 뻘짓했다. 오늘 새내기들 중 와서 "헉 왜 누나밖에 없어요?" 하덥니다. 물론 과사에 갔던 종록이랑 공대 봅스트홀에 갔던 승오빠를 못보고 말이었지만.. - [지원]
  • 위키로프로젝트하기 . . . . 33 matches
          1. 해당 주제로 페이지를 연다. 가급적이면 고유 프로젝트 이름을 가지는 것이 좋다. 일반적인 용어에 대해서는 다른 사람들도 같은 이름의 페이지가 필요할 것이기 때문이다.
          * ["프로젝트기록의필수요소토론"]에서 거론된 필수 요소들를 반드시 생각다.
          * What - 이는 단순히 '무엇을 다' 가 아닌 구체적인 목표이다. 무엇을 원하는가?
          * Who - 이는 프로젝트를 진행하는 사람들이다. 해당 페이지에 대 주도적인 책임을 지는 사람들이다.
          * When - 프로젝트에서의 '기간' 은 아주 중요 요소이다. 기간이 무정인 프로젝트에는 힘이 없다. 기간 내에 해당 프로젝트를 끝내도록 노력하자.
          * How - 목표를 위 방법과 일정의 기록이다. Offline 또는 Online 상에서 일에 대 ["ThreeFs"] 를 남겨라.
          * Why - 프로젝트를 하기 위 동기이다.
          * output 화일 링크걸기 - 다른 사람들이 직접 컴파일하거나 소스를 열어볼 수 있도록. 가급적이면 프로젝트 진행 초기버전부터 링크를 걸어주는 것이 좋다고 생각다. (다른 사람들이 해당 사람의 사고 궤적을 볼 수 있다.)
          * 공동 번역 - 영어 원문을 링크를 걸거나 전문을 실은뒤 같이 번역을 해 나가는 방법이다. Offline 으로만으로도 가능 방법이지만 효율적인 방법으로 다른 방법들을 곁들일 수 있겠다.
          * 종료 - 원하는 목표에 도달했을 경우, 또는 Schedule 에 세운 계획에 맞춰 일이 완료되었을 경우에는 프로젝트를 종료다. 만일 기간을 넘기고, 프로젝트를 진행할 의욕을 잃었다면, 프로젝트를 종료시켜라. (무기 보류로 오래 끌고 있지 않도록 다. 이는 추후 새 프로젝트를 열때 발목을 잡을 것이다.)
         일반게시판에 경우 프로젝트가 어떻게 진행될까? 하나의 프로젝트당 하나의 게시판이 열려있어야 다. 프로젝트가 10개라고 다면 게시판이 10개가 열려있어야 하고, 각각의 글들은 시간순서대로 저장이 된다. 위키에서의 page 10개의 의미와 게시판 10개의 의미중 어떤 것이 더 cost가 적게 들까? 그리고, 시간순서의 글 index 나열방식과 텍스트 내의 하이퍼링크중심 글 나열방식중 어느것이 더 의미있는 정보를 담을까?
         기존의 게시판방식이 장점이 있다면 '시간의 역사' 라는 점이 있겠다. 매일 작업일지를 쓰는 경우. 시간의 흐름에 따른 진행상황이 처음부터 주욱 보이기 때문이다. 반면 위키는 늘 현재성을 추구다. 위키의 페이지는 늘 해당 주제를 중심으로 고쳐지는 글이다. 하지만, 시간의 역사 자체의 의미보다는 페이지 자체 내용, 즉 Content 중심의 사고라는 점에 더 무게중심을 두고 싶다. '시간의 역사' 자체가 Content 로서 중요하다면, 그것을 위 페이지를 열어라.
          1. 현재 자신이 관심을 보인 분야를 다른 ZeroPagers에게 소개하는 효과를 가진다. 그럼으로써 해당 분야에 대해 먼저 공부 ZeroPagers에게 암묵적으로 질문을 던지고 도움을 청하는 것이 된다. ZeroPage 에서 활동하는 사람 역시 다른 사람들의 페이지에 대해서 가급적이면 활발 Feedback 을 보여주기 바란다.
          * 이미 열려져 있는 페이지를 토대로 공부할 수 있다. 자신은 그 위에 또 하나의 글들을 추가하거나, 시대에 맞지 않는 틀린 글들을 고쳐주면 된다. 하나의 Page 이름 ( == Contents 라고 해도 좋을 것이다) 하에 많은 사람들이 해당 Page에 대 '공헌자' 가 되는 것이다. 이는 새로운 프로젝트를 여는 것 보다 더 쉽고 빠르면서도 효율적으로 공헌하는 방법이다.
          * 자신이 공부하거나 프로젝트를 추진하는 내용들을 문서로 정리하는 과정을 통해 공부 내용을 확실히 자기 것으로 만들 수 있을 것이다. 그리고 또 정리된 문서는 타인에게 하나의 좋은 공부자료가 될 것이다. 오프라인 세미나의 자료로 사용할 수도 있겠다. 자신이 일에 대해 정리하는 것 자체가 좋은 습관이라 생각된다.
          * 더 효율적으로 이용하기 원다면, 해당 지식을 이해 상태에서 정리가 이루어져야 할 것이다. 만일 2~3명 이상 다른 사람들과 스터디를 하게 되는 경우, 해당 지식에 대 사람들의 이해의 관점이 다를 수 있음을 알게 될 것이다. 여러 관점을 보는 것 또 좋은 경험이 될 것이다. (외국의 대학에서는 위키를 해당 강의에 대 공동필기장으로 쓰기도 다.)
          * 온라인이라는 잇점이 있다. 시간과 공간의 제약을 덜 받는다. 하지만, 오프라인을 배제해서는 안된다. 각각의 대화수단들은 장단점들이 존재다. 위키의 프로젝트는 가급적 Offline에서의 프로젝트, 스터디와 이어져야 그 효과가 클 것이다. ZeroPage 의 ["정모"] 때 자신이 하고 있는 일에 대 상황을 발표하고, 서로 의사소통을 할 수 있겠다.
  • 위키설명회2005 . . . . 33 matches
         [신입회원모집]과 [부드러운위키만들기]의 가지 방법으로 행해지는 행사.
         준비자 : [강희경], [윤성만], [이승]
         모임일정 : [정모/2005.3.7], 3월 7일 저녁 엠에스엔 회의, 수요일까지 wiki에 대 자료수집, 당일 리허설.
         2. 위키소개 - [이승]
         3. ZP와 zero위키의 관계 - [이승]
          신입생명이 개의 피씨를 사용다.
          신입생들의 페이지를 종합하는 개의 페이지를 두는것도 좋을것 같네요.
          위키를 이용 보물찾기
          [노스모크] 에서 검색을 통해 흥미로운 페이지를 찾아내고 간단하게 발표를 다.
          [노스모크] 를 이용하는 이유는 ZP위키는 프로젝트 중심이기 때문에 흥미로운 페이지가 적고, [좋은위키페이지] 에대 분별력이 떨어질 것이라는우려.
         새내기 여러분은 대학생활 달을 어떻게 보내고 계신지요??
         제 일년전을 돌이켜보면 처음 달동안은 공강조차 즐거울정도로 쉴새없이 즐겼던 기억이 납니다. ^^
         ZeroPage에서 신입생을 대상으로 ZP소개 및 wiki 설명회를 준비했습니다.
         (아래 wiki에 대 간단 소개를 덧 붙였습니다.)
         <b>위키에 대 간단 소개.</b>
         관리자가 아니라도 누구나 읽고, 쓰기가 가능 웹사이트.
         위키는 누구나 관련 내용을 계속 수정해 나가고 필요 내용은 덧붙여 놓기 때문에 본문 글이 점점 다듬어져 나갑니다.텍스트가 진화다고 말하기도 합니다.
         하지만 마치 바둑이 단 몇가지의 룰로 변화무쌍 형세를 만들어 나가듯이,
         위키도 누구나 고칠 수 있고, 링크의 연결이 간단하고, 동일공간에서 텍스트가 진화할수 있다는 간단 룰에서 출발합니다.
          - 노스모크에 가도 위키소개에 도움이 될 만 페이지들이 많이 있을게다. - [임인택]
  • 2011국제퍼실리테이터연합컨퍼런스공유회 . . . . 32 matches
          * 퍼실리테이터(facilitator)는 회의 또는 워크숍과 같이 여러 사람이 일정 목적를 가지고 함께 일을 할 때 효과적으로 그 목적을 달성하도록 일의 과정을 설계하고 참여를 유도하여 질 높은 결과물 만들어내도록 도움을 주는 사람을 말다.
         사람들은 일정 시간에 일정 장소에서 홀로 일을 하는 것이 대부분이다. 그러나 때로는 여럿이 일정 장소에 함께 모여 일하는 것이 필요 경우가 많다. 회의나 워크숍이 그러 경우이다.
         이는 여러 사람의 지식, 경험, 의견, 관심사를 자리에서 나누면서 합의할 수 있는 이점이 있기 때문이다.
         하지만 회의나 워크숍에 대 비판도 만만치 않다. 비효율적이고 의미없는 회의나 워크숍을 많이 경험했지 때문이다. '회의' 하면 '시간 낭비,' '쓸데없는 일' 정도로 여기는 사람들도 적지 않다. 이는 회의를 효과적으로 설계하고 진행하는 요령을 가지지 못 사람에 의해 진행되는 회의를 주로 경험 데서 비롯된다.
         퍼실리테이션 스킬을 갖춘 효과적인 퍼실리테이터에 의하여 진행된 회의를 경험 사람이라면 회의가 얼마나 효과적인 일하는 방식인지 깨닫게 된다.
         퍼실리테이션이 잘 이루어지려면 잘 훈련된 퍼실리테이터(facilitator)가 있어야 다. 훌륭 퍼실리테이터는 보통 다음과 같은 일을 다.
          - 회의 주관자와 상담하여 회의의 목적과 결과물을 정확히 파악다.
          - 그 것을 달성하기에 적절 시간과 장소, 참석자를 확보다.
          - 그 목적과 결과물을 산출하기 위하여 효과적인 절차를 설계다.
          - 발언에 대하여 안전함을 느끼도록 분위기를 형성다.
          - 필요 경우 절차에 따라 기법(예: 브레인스토밍)과 도구(예: SWOT)를 사용다.
          - 참석자의 참여 분위기를 파악하고 적극적으로 참여하도록 유도다.
          - 소수의 참석자가 회의를 주도하지 않도록 관리다.
          - 예정대로 진행되고 있는지 평가하면서 필요 조치를 취다.
          - 시간을 관리하고, 회의 내용을 적고, 요약다.
          - 참석자들 스스로 우수 결과물을 내놓을 것이라고 신뢰다.
          - 효과적인 퍼실리테이션에 관 지식과 기술을 지속하여 연마다.
         퍼실리테이터는 답을 제공하는 컨설턴트가 아니며, 지식을 전달하는 강사도 아니다. 또 개인의 성장을 돕는 코치와도 다르다. 퍼실리테이터는 참여자들(group)이 스스로 답(문제해결)을 찾도록 과정을 설계하고 진행을 돕는 사람이다.
  • Ant . . . . 32 matches
         Platform 독립적인 Java 의 프로그램 컴파일, 배포 도구 이다. 비슷 역할로 Unix의 make 툴과 Windows에서 프로그램 Installer 를 생각할수 있다.
         일단 이글은 Jarakta 프로젝트의 일부인 Ant 에 대 메뉴얼(?)같은 것으로써http://jakarta.apache.org/ant/manual/
          make.gnumake,nmake,jam 과 같은 다른 Build 툴은 놔두고 왜 Ant 를 써야하는가에 대 질문이다. Java 기반으로 프로그램을 짜고 컴파일 및 배포용 쉘 프로그램을 짜봤는가? 해봤다면 그것의 어려움을 잘 알것이다. 각 [OS] 마다 쉘 스크립트가 다르고 일반적으로 사용하고 있는 Unix 에는 또 각종 쉘들이 존재다. 윈도우 쉘 또 복잡하긴 매가지이고 프로그램을 모두 작성하고 컴파일 및 배포 쉘 스크립트를 작성하기 위해서 이것들을 모두 작성하는것 자체가 프로그래머에게 또 하나의 고난이 아닐까 생각다.(즉, 쉘 프로그램을 배워야 다는 의미이다.)
         게다가, 팀 단위 작업을 다고 할때, 작업하는 컴퓨터와 [IDE] 들이 각각 다른 경우, IDE 에 따라서 classpath, 배포디렉토리 경로들도 다를 것이다.
         Ant 는 OS Indepenent 하게 프로그램을 Build 할 수 있는 환경을 제공해준다. build.xml 이란 Build 파일을 작성해서 그 내용에 따라 Build 를 진행해 나갈 수 있다. Ant 는 ["Java"] 에서 거의 표준으로 굳혀져가고 있으며, 거의 모든 IDE들이 Ant 를 지원다.
          Ant 는 다양 Optional Tasks를 제공합니다. 일단 Task 라는 말이 앞으로 많이 나올텐데 Glossary 를 참고하세요. 예를들면 CVS 에 소스를 업데이트 해주는 Optional Task 가 있을 수 있고, 또 .NET 컴파일을 다던지.. 기타 등등 다양 Task 가 있습니다. (이에 대 예제로는 ["AntTask"]를 참조)
          이제 Ant 를 실행하는 방법에 대해서 알아보자. Ant를 실행하는 것은 마치 make 명령을 내리는 것처럼 쉽다. Ant 에서 중요 것은 make에서 "Makefile" 을 만들듯이 Build 파일을 잘 만드는 것이 중요합니다. Build 파일을 만드는 것에 대해서는 나중에 알아보기로 하고 일단 실행하는 방법부터 알아보죠.
          일단 쉘에서 실행하는 간단 형태는 다음과 같습니다.(여기서 '%'는 쉘을 의미합니다.)
          이것은 바로 위에 있는 것에다가 dist라는 것이 붙었는데 이것은 target 을 나타냅니다. Unix/Linux 에서 make 명령으로 컴파일 해보신 분들을 아실껍니다. 보통 make 명령으로 컴파일 하고 make install 명령으로 인스톨을 하죠? 거기서 쓰인 install 이 target 입니다. Ant 에서는 Build 파일 안에 다양 target 을 둘 수 있습니다. 예를 들면 debug 모드 컴파일과 optimal 모드 컴파일 2개의 target 을 만들어서 테스트 할 수 있겠죠? ^^
          위의 예에 하나가 추가됐죠? -D 옵션은 Build 파일의 Property task 와 같은 역할을 합니다. 즉 Build File 내부에서 사용되는 일종의 변수를 선언다고 볼 수 있겠죠? ^^
          Ant 를 다룰줄 안다는 말은 즉, Build File 을 만들줄 안다는 의미와 같다. Build File 은 파일이름에서도 알 수 있듯이 xml 을 기반으로 하고 있다. 예제로 참조해볼만 화일로 ["Ant/TaskOne"], ["Ant/BuildTemplateExample"] 이 있다. 해당 화일을 보면서 설명을 읽으면 편할것이다.
          || default || default target 명을 넣는 곳이다. ant 를 실행할 때 target 을 지정하지 않으면 여기서 지정 target 으로 실행다. || Yes ||
          || basedir || 프로젝트의 base 디렉토리를 말다. ant 내부에서 사용되는 모든 path 들은 이 디렉토리를 기반으로 다. || No ||
          기존의 Makefile 이라던지 다른 Build 툴을 보면 의존관계(Dependency)라는 것이 있을 것이다. 즉, 배포(distribute)라는 target 을 수행하기 전에 compile 이라는 target 을 먼저 수행해야 하는 의존 관계가 발생할 수 있을 것이다. ''target'' 에서는 이런 의존관계(dependency)를 다음과 같은 방법으로 제공다.
          그리고 D 가 C 에 의존해서 A,B,C 를 수행하고 난 후에 다시 B 에 의존하게 된는데 B는 번 수행했으므로 다시 실행되지 않는다. 이점을 유의하도록 하자. ''target'' 은 번만 수행된다.
          * ''property'' 태그 - 일종의 변수역할을 다. 예제들을 보면 property 태그로 정의 변수들이 어떻게 이용되는지 알 수 있다.
          * '''Build File''' : Build 의 순서 및 각 단계별 작업들에 대해서 xml 형식으로 적어놓은 파일을 말다. Ant 에서는 default 로 build.xml 을 사용다.
          * '''Task''' : Ant 에서의 작업단위(빌드, CVS, FTP, JUnit 실행 등등)를 말하는 것입니다. 예를 들어 설명하면 property task 는 Ant에서 쓰는 변수(쉘에서의 환경변수와 비슷)의 값을 설정합니다. ["Ant/TaskOne"]
         AntHill, CruiseControl 등의 툴과 연동하여 이용하기도 다. 이 툴들은 해당 ant build 를 스케줄러에 맞춰놓고, 해당 시간이 되면 자동으로 해당 ant build file을 실행해준다. See Also Wiki:AntHill, Wiki:CruiseControl
  • JavaScript/2011년스터디/3월이전 . . . . 32 matches
          * 금요일은 공부해온 것을 발표하고 그 다음 화요일은 자신이 작성 코드를 발표다.
          * [http://www.yes24.com/24/goods/2943930?scode=032&OzSrank=1 자바스크립트 완벽 가이드]의 목차를 참고하여 진행다.
          * 목차를 보고 매주 적당 분량으로 챕터를 묶어 그 주 공부할 부분을 정다.
          * 그 주 공부할 부분은 모두 같이 공부다.
          * 서로 다른 챕터를 공부하여 발표하면 남이 공부 부분은 겉핥기 식으로만 알게 되는 경우가 많아서.
          * 발표는 각자 챕터씩 맡아 발표다.
          * 발표할 부분은 금요일에 모여 제비뽑기로 결정다.
          * 그 이후에도 오지 않는 사람은 기다리지 않고 바로 진행다.
          * 모든 참가자는 잘 모르겠는 것, 궁금 것, 더 공부하고 싶은 것 등 질문을 3가지 이상 준비다.
          * 공부 내용은 3분 이상 발표다.
          * 발표자를 제외 사람들은 들은 내용과 샘플 코드에서 가장 인상깊은 점 3가지를 고른다.
          * var로 생성 변수는 delete할 수 없다는데 실제 해보니 되었다.
          * void 연산자를 사용하면 피연산자의 값에 상관없이 undefined를 반환다.
          * 문자나 숫자, ""사이에 들어가 것들을 '리터럴'이라고 부르며 따로 구분다.
          * var로 선언 변수는 delete가 안된다더니 되는데?!
          * 레퍼런스로 함수를 직접 보면서 하니까 눈에 들어와 좋았다
          * 박정근 - 좀 더 정확 최신자료를 참고하겠다.
          * 과제 : 7일날 자신이 발표 부분을 직접 실습할 수 있는 코드 최소 1개 짜오기. 7일 스터디 불참자는 스스로 챕터 선정하여 코드를 짜오면 된다.
          * 자바스크립트에서 함수의 전달인자가 개수의 제이 없다는 점
          * 클로저의 정확 정의를 알고싶다. 유효범위와 관계있다는 것은 알았음
  • JavaStudy2003/두번째과제/노수민 . . . . 32 matches
          Run쪽 옵션이 틀린건가;; 오류가 아니라 메인 클래스가 없다는 등의 다양 메시지가 뜨면서 안돼요; 결국 간단 소스를 올립니다
          달린다, 멈춘다, 속도를 높이거나 낮춘다 등의 행동을
          이러 실세계를 소프트웨어적으로 표현하기 위 방법중 하나가 '객체지향'이다.
          로 모델링다.
          실세계의 객체를 소프트웨어 객체로 모델링하고 구현다.
          * 캡슐화 : 변수(상태)와 메소드(행동)를 하나의 묶음으로 캡슐화다.
          하나의 객체의 소스가 다른 소스와 무관하게 유지할 수 있고, 또 public이나 private 권을 통해 정보에 대 접근 정도를 설정할 수 있다.
          각 메시지는 메시지를 받을 객체, 수행을 요청 메소드의 이름과 그 메소드에 필요 매개변수의 세 가지 구성요소를 갖는다.
          * 클래스 : 특정 종류의 모든 객체들에 적용할 수 있는 변수와 메소드를 정의하는 '소프트웨어적인 설계도' 이다.
          청사진이라고 하기도 하고, 벽돌을 찍기 위 하나의 틀에 비유하기도 다.
          * 인스턴스 : 클래스에 대 변수를 선언하는 것을 '인스턴스를 생성다'고 하고, 이 변수를 인스턴스라 다.
          * 상속 : 자동차 클래스에 버스 클래스, 트럭 클래스, 자가용 클래스가 속다면,
          자동차 클래스는 상위 클래스, 버스,트럭,자가용 클래스를 하위클래스라 하며, 이들의 관계에서 "하위클래스는 상위클래스를 상속다"고 다.
          * 다형성 : 같은 이름을 같는 여러 가지 형태가 존재다는 것
         [접근권] static 변수 선언;
         [접근권] static 메소드 선언;
          * new 생성자를 이용하여 객체를 위 메모리 공간을 할당
         또, 하위클래스는 자신에게 필요 변수들과 메소드를 추가적으로 정의할 수 있습니다. 그리고, 하위클래스는 상위클래스에서 정의된 메소드와 같은 이름, 같은 인자들을 갖는 새로운 메소드를 정의하여 상위클래스에서 상속되는 메소드를 재정의할 수 잇는데,
          * 인스턴스 메소드이어야 다.
          * 메소드의 이름이 같아야 다.
  • NeoCoin/Server . . . . 32 matches
         달에 번씩 아파치 로그를 점검하자
          * 8080 포트에 접속해 보고, 자칫 노출될수 있는 정보에 대하여 막는다. resin, tomcat 모두 8080 포트를 이용 테스트를 다.
         올해 들어 국 표준시의 사이트에서 시간을 맞출수가 없다. 귀찮아서 오페라를 사용하고 있다.
          * 결국 설치의 모든것을 dselect, apt를 쓰거나, dpkg로 패키징 해서 설치해야 다. 즉, 서버 설치이후에 python이든 다른 app든 전부 툴을 이용해야 다는 결론
          * ReiserFS 로 변경도 해야 하고 전원 자동 종료 문제도 해결해야 다.
         jvm설정에서 dummy를 설정하고, jdk는 따로 sun에서 받아 오거나, http://blackdown.org 를 이용다.
         1. 다음 패키지들을 설치다.
         menuconfig로 커널 설정하려면 libncurses5-dev 패키지도 설치다. xconfig로
         설치다.
         /usr/src/linux는 실제 커널 소스 디렉토리에 대 링크여야 다.
         컴파일에 필요 커널 헤더가 libc6-dev 패키지에 포함되어 있기 때문에
         4. 다음과 같이 /etc/kernel-pkg.conf 파일을 편집다. debian은 커널 패키지의
         CONCURRENCY_LEVEL는 make의 -j 옵션에 대 숫자인데 빠른 CPU에서 숫자가
         6. 커널 소스 디렉토리로 이동 다음 "make-kpkg clean"을 실행하여
         소스 디렉토리를 청소다.
         .config 파일로 복사다.
         "make-kpkg configure"를 실행다. kernel-pkg.conf에서 정 대로
         다음 명령어들을 실행다.
         만들어진 커널 패키지를 설치다.
         여기서 ALL은 모든 모듈에 대 commit 로그를 메일로 보내겠단 뜻입니다.
  • WhenJuniorsAsk . . . . 32 matches
         선배는 후배들에게 조금이라도 더 많은 것을 전달해 주려고 혹은 "선배되어보기"의 즐거움을 느끼려고 거창, 그러나 2, 3학년 쯤 되면 대개 스스로 느끼는 평범 깨달음을 이야기 합니다. 후배들 중 대부분은 마지못해 경청하는 척을 하거나, 몇몇은 소위 감화를 받아 "선배가라사대"를 외우고 다닙니다.
         개인적으로 존경하는 형과 정담을 나누다가 OT 이야기가 나왔습니다. 그 형은 이미 졸업을 했는데, 신입생 OT 때 졸업생 대표 비슷하게 참석을 해서 후배들을 위해 좋은 말씀을 들려달라는 요청을 받았다고 하더군요. 그 형은 가지 않겠다고 했습니다. "요즘은 생각이 좀 바뀌었어. 내가 거기 나서서 결국 남들 다 해줄만 이야기 해줘봐야 걔네들테는 별 느낌이 없을거 같아. 그냥 자기들끼리 놀고 싶은 대로 놀게, 이야기하고픈 대로 이야기하게 내버려두는 게 더 좋지 않을까해. 훨씬 더 마음도 잘 통할테고 말야."
         저도 비슷 생각을 합니다. 후배들에게 좋은 이야기를 해주려는 마음은, 때로 후배보다 자기 자신을 위 "자기만족적" 행위가 둔갑을 것일 수도 있는 듯 합니다. 꼭 그렇지는 않다고 해도, 신입생들에게 아무런 공감도 불러일으키지 못하는 이야기를 쏟아붇고, 그들은 귀로 흘려버리고 하는 것은 양자 모두에게 불행 모습일 겁니다. 선배가 후배에게 지도를 해준다거나 하는 것은 그들이 자신들만의 문제의식을 스스로 형성하고, 나름대로 탐색과 고민을 해본 이후에라도 늦지 않은 것 같습니다. 그들이 자구적으로 물어볼 때, 그 때 문을 슬며시 열어주는 것이죠. WhenJuniorsAsk.
         저는 다른 말을 해보겠습니다. 우선은 위에서 좋은 말씀을 들려주셨으면 더 좋았을꺼라는 생각을 가져봅니다. 물론 선배님의 말씀을 주의 깊게 듣는 학생은 더물겠죠. 하지만, '자바는 배우기 쉽고 잘 짜여진 OOP언어이다.'라고 대학 2년차 학부생들이 말하는 것보다는 SUN의 노련 자바 프로그래머를 초빙해서 그런말을 듣는게 더욱 많은 사람의 강동을 얻을 수 있다고 생각합니다.
          ''OOP의 장점은 反/非 OOP적 프로그래밍을 해보고 거기서 나름대로 고민해 보았던 사람이 아니라면 '''절대''' 느낄 수 없다고 생각합니다. 기왕 SUN의 프로그래머를 초빙다면 거기에 관심을 갖고 간절히 듣고 싶어하는 사람들에게 우선권을 주는 게 좋겠다는 이야기죠. 전원 집합 하에 청강다든가 하는 것 말고요.''
          위의 제글의 이야기는 강연 방법이나 강연 대상을 이야기하자고 하는 것은 아니었습니다. 제글은 강연자의 "권위"를 강조하기 위 이야기였습니다. 선배님의 윗 글의 의미는 대학년 1년생들에게 그 선배님이 강연을 하시는 것은 비효율적이라는 말씀을 하고 싶으신 것입니까? 문제의식이 없는 사람들에게 강연을 하는 것은 비효율적이라고 말씀하시는 것입니까? 신입생들은 강연자의 (어떤 강연인지는 모르겠지만..)강연 내용에 대 문제의식이 전혀 없다는 전제라면 뭐라 드릴 말씀이 없습니다. 이것이 의견차를 가져오게 된 결정적인 이유 같습니다. 저는 그 선배님의 강연이 1학년들도 충분이 문제를 가질만 이야기를 해줄 수 있는 이야기를 강연 주제로 잡으신줄 알았습니다. 뒤에 다른 저의 글은 하나의 의견차이에 대 반론과 이번 사건에 대해 바램이 있어서 적어보았습니다. 뒷에 글까지 다 적은 후에 이 글을 수정하여서 동기화가 안될 수도 있으니 양해해주십시요.
         뿐만 아니라 그 선배님께서는 메아리가 될 이야기들만 하지 않을꺼라 생각됩니다. 경험이라는 것은 오우라와 같아서 본인은 알지 못해도 다른 사람들은 느낄 수 있다고 생각합니다. 그리고 선배님께서 아무런 공감을 얻을 수 없는 이야기를 쏟아붓고 귀로 흘려버려서 양자 모두 불행하니까 안하겠다는 것은 무언가 말이 안 맞는 말 같습니다.
          ''청자가 뭔가를 느끼느냐 마느냐는 문제를 떠나서, "자각 기회 박탈"이라는 면에서 생각해 볼 수도 있겠지요. 저는 남들에게 뭘 가르치기 이전에 항상 "실패의(혹은 간혹 성공의) 경험"을 충분히 만끽하게 합니다. 그러지 않고 바로 답을 혹은 답에 이르는 방법을 가르쳐 주게 되면 그들은 매우 귀중 자각의 기회를 박탈 당하는 겁니다. 물론 교육적 방편에서 좀 더 자주, 더 일찍, 더 멋지게 실패할 수 있는 환경을 마련해 주는 경우는 있습니다.''
         즉 그 선배님께서 후배들이 공감을 갖을 만 이야기를 할 수 없다는 말이 더 정확하겠습니다.(내가 초보자에게 할 말은 열심히 하란 말 밖에 없다. 아시겠지만, 나쁜 의도의 말이 아닙니다.) 그 선배님께서 신이 아닌 이상 후배들의 마음을 알 수 없을터이고 경험상으로 그런 경향을 보여왔다고 하더라도 훌륭 "청자"만 존재다면 "자기만족적"행위가 나쁘다고 생각하지 않습니다. (자원봉사 같은 신성 일도 행하는 사람의 입장에서는 "자기만족적"행위라고 생각합니다.)
          ''문제는 그런 자위적 상황에서는 진솔 이야기가 나오기 어렵다는 겁니다. 겉멋이라고 하죠. 그걸 듣는 사람들도 겉멋에 현혹되기 쉽습니다.''
          굳이 겉멋이라고 하더라도 전체적으로 플러스 효과만 발휘다면, 저는 괜찮다고 생각합니다. 근래에 나온 영화 "뷰티플 마인드"의 주인공 존 내쉬도 자신을 돋보이게 하기 위하여 어려운 수학 문제들에 매달렸다고 합니다. (누군가 이 문제를 번 풀어보겠냐고 물어보면, 존 내쉬는 그것이 정말 어려운 문제인가? 그것을 풀었을 때, 사회적 반향을 먼저 주위 사람들에게 물어보았다고 합니다.) 이러 예는 역사 속에서도 많이 찾아볼 수 있다고 생각합니다. (영화 "쉰들러 리스트"에서도 그러하죠.) "자기만족적"행위가 시간이 많이 흐른 후, 설혹 나쁜 결과를 얻어 낸다고 하더라도 경제적인 측면에서 보더라도 "이타주의적"행위를 하는 사람은 극히 소수에 불과하기 때문에, 무엇을 얻고자 하는 다수의 사람의 수요를 충족시킬 수 없습니다. 이런 관점에서는 그 소수를 기다리는 것보다는 다수("이타주의적"행위를 하는 사람과 비교해서)의 "자기만족적"행위자에게서도 공급을 얻는 것이 더 합리적이라고 생각합니다.
          ''"좋은 길을 찾는 방법"은 좋은 길을 찾을 생각을 번이라도 해 본 사람에게 가르쳐주는 것이 좋겠지요. 아직 그런 생각도 들지 않는 사람에겐 성급히 뭘 전달해 주려고 하는 것보다 차분히 기다려주는 것이 더 바람직 경우가 많습니다. --김창준''
          선배님의 생각은 아직 (신입생들에게 들려주려는) 강연을 듣기에는 때가 이르다는 생각이신 것 같습니다만, 그렇다면 강연을 하실 수 있는 채널은 열어 놓으신 것입니까? 다시 말씀드린다면, 분위기를 봐서 언제정도에 (학생회측에서 요청이 없더라도) 강연을 하려는 계획이 있다는 말씀이십니까? 이렇게 묻는 것은 말꼬리 잡는 말이기도 하지만, 김창준 선배님의 강연을 들었을 때, 상당히 느끼는 바가 많았으며, 이런 선배님과 친분이 있으시고 학생회에서 섭외했을 정도의 선배님이 신입생들에게 강연을 해주었다면, 그 선배님의 생각과는 달리 신입생들에게 상당 느낌이 다가오지 않을까 하는 막연 믿음 때문입니다. --정희록
          ''저는 "고민하고 있는 학생"들이라면, 제 시간과 사정이 되는대로 도움을 드리고 싶습니다. 그리고, 꼭 어떤 강연의 형태를 띄거나 물어보아야만 가르쳐주는 그런 것이 아니고, 그 사람들이 눈을 뜨고 뭔가 찾을 때, 혹은 이리 저리 지나치다가 번 보고 관심이 가면 뛰어들어서 연구할수 있는, 좋은 자료 구성에도 신경을 쓰고 있습니다. 즉 듣기 원하는 사람에게 더 많은 적극성이 요구되는 형태가 바람직하다고 생각합니다. --김창준''
  • ZeroPage회칙 . . . . 32 matches
          1. 본 학회의 명칭은 ZeroPage 이며 어떠 경우에도 이 조항을 바꿀 수 없다.
          1. 정모란 ZeroPage 회원들의 정기 모임을 말하며 제4장.운영에서 모임의 성격을 정다.
          2. 회원이란 함은 제2장.회원에서 자격을 득 자를 말다.
          3. 회장이란 ZeroPage의 대표로써 제3장.회장단에서 명시과 의무를 갖는다.
          4. 부회장이란 제3장.회장단에서 명시과 의무를 갖는다.
          1. 본 회칙은 정모를 통해서만 개정될 수 있으며 회장의 최종 승인이 있어야다.
          1. 정회원은 제2조에서 자격을 득 자를 말다.
          2. 준회원은 제3조에 해당하는 자를 말다.
          3. 이하 회원이라하면 정회원을 말다.
          4-2. 프로젝트 참여도, 정모 참여도, 연락여부 의 순으로 정모 참여 인원이 평가하여 정다.
          1. 재학중 정회원의 자격을 득 상태로 졸업 자를 말다.
         회장 선거의 후보는 다음 조항을 만족해야다.
          2. 선출시기는 매년 1월 정모로 다.
          3. 임기는 선출일 당일부터 다음 회장 선거까지로 다.
          5. 당선은 당일 참석 인원의 과반 수 이상 득표를 얻는 것으로 다.
          1. ZeroPage 의 대표로써 학회 운영의 최종 결정 권을 가진다.
          1. 회장을 도와 학회를 운영할 의무가 있으며 회장 다음으로 회장의 권을 가진다.
          2. 회장의 부재시 회장을 대행다.
          1. 정모의 시기는 정모에서 결정다.
          2. 장소, 시간은 회장이 정하며 회의 전날까지 공지다.
  • 데블스캠프2012/넷째날/후기 . . . . 32 matches
         = 백트래킹을 이용 알고리즘 문제 해결 =
          * [서영주] - 처음에 gcd나 3n-1문제의 풀이 과정에 대 얘기는 그렇게 어렵지 않았는데 갑자기 사발뒤집기 문제 들어가면서 멘탈이... 백트래킹에 대 얘기 자체를 조금 더 다뤄줬으면 좋았을 것 같았습니다. 이미 아는 사람들테는 어떨지 모르겠지만 잘 모르는 저학년에게는 비주얼 스튜디오를 이용 디버깅도 좋은 내용이 됐다고 생각합니다. 나중에 되면 정말 디버깅 지겹게 하게 되니까요 -_-
          * [권영기] - 오랜만에 백트태킹을 이용해보니까 참 마음처럼 구현이 안되네요. 오랜만에 알고리즘을 써본 거 같아서 좋았습니다. 미로찾기를 하지 못게 아쉽네요.
          * [김태진] - 음, 진경이 다운 주제로 재밌게 거 같습니다. 재귀라.. 참 헷깔렸는데 말이죠. 어쩌다보니 3n+1은 다이나믹 프로그래밍으로 문제를 풀고있었지만요.. --; 젖소는 거의 다 짜가는데 짜서 accept받아내야겠습니다. + 사실 제가 하고 싶었던 주제였기도 했지만, 저는 다음 기회에 다른 방식으로 해봐야겠네요. ㅋㅋ
          * [김수경] - 오랜만에 뵙는 지원언니 세션이었습니다. 노트북에서 C# 실습을 할 수 없어서 적당 PC 찾아 돌아다니느라 시간을 허비했어요ㅠㅠㅠ 자리잡고도 마에스트로 없애느라 약간 뒤쳐졌네요. 뒤쳐진김에 세번째 미션은 타이머를 이용하되 원 스펙과는 조금 다르게 스탑워치를 구현했습니다…
          * [서영주] - C#은 비주얼 스튜디오 2010빨인가 뭔가 C++보다 예뻐보이는 느낌이 있어서 흥미가 좀 있었는데 이번에 이렇게 듣게 돼서 좋았습니다. 내용 자체는 그렇게 어렵지 않은 저학년들을 위 내용이었지만 어려운 내용이 없었던 만큼 오히려 부담없이 들을 수 있었던 것 같습니다. 물론 자세히 들어가면 C#만의 복잡 내용도 있겠지만 그런 부분은 나중에 더 자세히 공부해봐야겠습니다. 간단하게라도 콘솔, gui 양쪽을 둘 다 다룬 부분도 참 좋았습니다.
          * [서민관] - 현재 이런저런 사정으로 Unity 엔진을 공부하고 있는데 그쪽에서 C#을 스크립트 언어로 쓰는 바람에 최근에 C#을 좀 공부하게 되었습니다. 그래서 그런지 뭔가 반가운 느낌이 있네요. 근데 원래는 지원 선배가 1학년 대상으로 기획 시간이었는데, 개인적인 생각으로는 자바와는 또 다른 C#만의 이런저런 특이 점들이나 강력 기능들을 보여주거나 했으면 그것도 또 좋았을 것 같은 느낌이 듭니다. 약간이나마 공부 지금 보면 어쨌든 C#이 그렇게 나쁜 언어는 아니라고 생각하는데 말이죠.
          * 실제로 강사 당사자가 '''5일간''' 배운 C#은 실무(현업) 위주라 객체지향 관점이라던가 이런건 많이 못 배웠습니다. 함수 포인터와 비슷 Delegate라던가 Multi Thread를 백그라운드로 돌린다던가 이런건 웬지 어린 친구들이 멘붕할듯 하고 저도 확신이 없어 다 빼버렸지요 ㅋㅋㅋㅋㅋㅋ namespace와 partial class, 참조 추가 dll 갖고 놀기(역어셈을 포함하여) 같은걸 재밌게도 해보고 싶었지만 예제 준비할 시간이 부족했어요ㅠ_- 개인적으로 마지막 자유주제 프로그램은 민관 군 작품이 제일 좋았어요 ㅋㅋ - [지원]
          * 자바스크립트를 쉽게 접근했다면 성공했다고 봐요 (회사 교육에서 수강생들이 제일 멘붕게 javascript..) 솔직하게 말씀드리면 전 1,2학년 때 프로그래밍을 정말 못했습니다. 제가 바보가 아닌가 생각될 정도로요~ 경험이 중요합니다. 멘붕은 당연 거에요 - [지원]
         = 새내기를 위 파일입출력 =
          * [권순의] - 파일 입출력은 학부 과정을 수행할 때 많이 쓰는 것이다 보니 잘 알아두시는 게 좋을만 내용이었습니다. 주제 선정이 잘 된 것 같네요. 사실 저도 매번 할 때마다 찾아서 하다 보니 귀찮긴 데,, 자주 쓸 때는 외우는데 또 동안 안 쓰면 까먹고 그래서 ㅋㅋㅋ 새내기 여러분은 잘 외워 두는 것도 나쁘지 않다고 봅니다. 아니면 정확히 이해하는 것 만으로도 이번 시간에서 얻어갈 만 내용이 아닐런지
          * [서민관] - 이번 데블스캠프에 fundamental 내용이 적다고 형진 선배가 얘기를 하셨는데 이번 시간이 그런 fundamental 부분에 대 요구를 좀 충족시켜준 시간이 아닌가 싶습니다. 다만 개인적으로 아쉬운 점은 1학년들이 C 언어 사용에 그렇게까지 익숙하지 않은지 파일 입출력 함수들의 사용이 그렇게 익숙하지 않았다는 점이었습니다. 분명 익혀두면 2학기에 도움이 될 기술이라고 생각하는 만큼 좀 아쉽긴 하네요. 그래도 아마 2학기 되면 인터넷에서 찾아가면서 하겠지만.
          * [이재형] - 좋은 것 중요 것을 배우는데 파일 입출력간의 관계가 너무 헷갈려서 힘들었어요. 그래서 성현이형을 새싹교실 처럼 마구마구 괴롭혔지요;;; 죄송하기도 하고 감사하기도 하고 ㅎㅎ 암튼 달무티 하러 이만 ㄱㄱㄱㄱㄱ!!!!
          * [서영주] - 파일 입출력은 매번 쓸 때마다 찾아서 보고 그러는 것 같습니다. -_- 자바 오래하면 C++이 헷갈리고 C++오래하면 자바가 헷갈리고... 그래도 빼먹을 수 없는 기본적인 중요 내용인 것 같습니다. 문자열 저장, 바이너리 저장에 대 얘기와 바이너리로 저장된 파일이 실제로 어떻게 되어있는가, 리틀엔디안 빅엔디안 등 뭔가 눈에 보이는 실습이어서 좋았다고 생각합니다. 지금 당장은 모두 기억하기 어렵다고 하더라도 이런 방식으로도 파일을 저장할 수 있고 저런 방식으로도 저장할 수 있다는 사실을 알아두는 것 만으로도 나중에 파일입출력을 해야 할 때 참고가 될거라고 생각합니다.
          * [김윤환] - 파일입출력은 번 공부해서 반복하는 연습하는데 정말 좋앗습니다. 그리고 뒤에 바이너리 부분이 상당히 흥미로운 부분이어서 더 공부해봐야할것같아요 ㅎㅎ
          * [권영기] - 파일입출력, 정확히 안다고 하기도 그런데 새벽이라서 체력이 방전이 되서 그런지 집중을 제대로 하지 못했습니다. 강의 열심히 해준 선배님테 죄송하고, 연습을 좀 해야겠네요.
          * [김태진] - 전 이시간에 파일입출력보단 다른 것들을 많이 배운거 같습니다. 일단, 글을 콘솔에서 입력할때 어떤 오류가 나는지, 그걸 해결하려면 어떻게 해야하는지, Bash에서 쉘 명령어 쓰는방법이라던지, 등등.. 아, 또 코드를 객체지향적으로 설계다고 생성자를 만들려다 오버로딩이 안돼서 멘붕하기도 했죠.. 아무튼 다른걸(?) 추가적으로 많이 배운 시간이었습니다.
  • 상협/삽질일지/2002 . . . . 32 matches
          * AI 오목 하면서, 효율적으로 어떻게 구성할지에 대 생각을 별로 안해서, 나중에 경우의 수가 많아지자 상당히 힘들어졌다. 그때 번 날 잡아서 중복되어 보이는 함수들을 다 통합했다. 그 통합하는 시간이 아깝다고 생각했었는데, 번 통합하자 효율은 극도로 높아졌다. 예전에는 몇개의 기능추가 하면 그 경로를 나름대로 축약을 했었음에도 불구하고 4가지 경로 && 공격 && 방어에 대해서 따로 시간을 내어서 코드들을 작성해야 했다. 그러나 함수들을 최대 중복되지 않게 축약하자 번의 기능추가가 바로 공격 && 방어 && 8가지 방향에 대해서 다 적용되는 것이었다. AI 수준 높이는데 드는 노력이 훨씬 줄어 들게 되었다. 효율적으로 프로그래밍을 해야겠다는 것을 막연히 생각하고 있었지만 이 경험으로 인해서 체감을 하게 되었다.
          * JDBC와 ODBC를 연결하기 위해서 많은 삽질을 했다. ㅠㅜ 여기서 아무 생각없이 코드 똑같이 쳐서는 안되겠다는 생각을 했다. 똑같이 하라는대로 했는데 분명히 안되었다. 나중에 연결하는 원리를 알고 나서, 몇가지 좀 하니깐 삽질의 마수에서 벗어 날 수 있었다. 삽질을 해결 순간 날아갈듯 했다.
          * 어떤 숫자들의 결과에 1/6을 곱하는 것과, 그 숫자들/6 과는 많이 차이가 있다는 것을 수치해석 숙제를 통해서 알았다. 만약 친구의 소스를 통해서 1/6 곱했던것을 숫자들/6 으로 하지 않았으면 숙제 해결 못했을 것이다. 실제로는 별로 차이 없을만 것도 컴퓨터에서는 엄청난 차이를 불러 일으킨다는 것을 알았다.
          ''오.. 중요 정보같은데. 혹시 상민쓰 자네 그래프 문제도 이것 때문이 아닐까 --석천''
          * 헉헉.. 오늘은 내 컴퓨터에 pws 를 실행시키지 않고, Apache로 다시 웹서버를 바꿨다. 이유는 Java Servlet 번 실행시켜 볼려는 의도였다. JDBC 보다가 Servlet이 나오길래 그냥 호기심에 번 해보고 싶었다. 결과는 참담.. ㅡㅡ; 책에 나온데로 JSDK깔고, JServ 깔고 Tomcat깔고, 이것저것 설정 맞추고, 바꾸고, 지지고 볶고 하면서 아까운 시간들을 보냈다. 지금의 결과..Servlet 예제 쳐봐서 했는데 안됐다. ㅠㅜ 괜히 삽질로 하루 날렸다. 섯부른 호기심때문에 정작 할일들을 못했다. 교훈 -> 시간관리 잘하자..., 목적성을 가지고 일을 하자.
          * 삽질 해결.. ㅡㅡV, 내가 Apache Jserv와 Tomcat을 깔때 내가본 인스톨 가이드와 내가 실제로 부딪힌 상황들이 다른 이유는.. 버전이 달라서 였다. ㅡㅡ;;, 버전이 올라가면서 예전에는 수동으로 설정했던 것들이 자동으로 되었나 보다. 이번일 덕분에 Forte도 맛가고, JDK도 좀 이상거 같고해서 윈도우 밀고 다시 깔았다. ㅠㅜ, 아주 기초적인거지만... 나중에도 잊지 말자.. 버전이 다르면 설치 방법도 다르다는걸.. 생각해보면 처음 깔았을때도 돌아가기는 돌아 간거 같다..ㅡㅡ; 단지 어떻게 돌아가는지 파악을 못하니 안돌아 가는것 처럼 보인거 같다..
          * 오늘은 엄청난 삽질의 하루다. 것은 하나도 없는데 시간은 벌써 반나절이 지났다. ㅠㅜ 우선 내가 삽질 내용을 적어보고 그 이유는 나중에 찾아 봐야 겠다.
          * Driver driver = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); 이거 할때 메인 함수에서 throws Exception 를 하지 않으면 thrown 을 잡거나 선언 해야만 다는 메시지가 뜬다. 아직 이유는 모르겠다.
          * 방금 삽질 하나 해결..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+"'"); 이렇게 해주어야 했던 것을... 잘못된 코드가 있으면 좀더 유심히 관찰해서 원인이 무엇인지 파악하는 버릇을 들여야 겠다. 너무 주먹 구구식으로 거 같다. 어쨋든 찾아서 기쁘다.
          * 이번 삽질은 정말 중대 삽질이었다. 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안에 넣어서 웬지 모를 찝찝함이..
          * 오늘은 간만에 빡센 삽질을 했다. 오픈GL을 하는데, 여러개 반복되는 구문이 많은거 같아서 내 딴에는 함수화 시켜서 편하게 사용해야지 하고 생각하고 함수화를 했다. 그런데 그 과정에서 여기저기 실수해서 겁나게 삽질했다. 실수하고서는 번 죽 흩어보지 않고 단지 성급하게 빨리 에러를 찾고자 하는 맘에.. 쩝.. 역시 삽질은 정신적인 스트레스를 너무 많이 준다.
          * 에러 처리의 중요성을 알았다. 에러 처리를 제대로 하면 실수 곳을 찾기 쉽고 고로 삽질을 덜할 수 있군.
          * 삽질 없는 세상에서 살고 싶어.. ㅠㅜ, 이번에 3D 알카로이드 하는데.. 충돌 처리가 제대로 계속 안되었다.... 근데 방금 수많은 삽질 끝에 해결했다. ㅠㅜ, 안되었던 이유는 내 머리속에서 핑핑 돌아가던 3D 좌표와 컴퓨터가 생각(내가 예전에 만들었던 함수..) 3D 좌표가 달라서 그랬던 것이다. 이렇게 말하면 쉽지만 실제로 충돌 처리 함수는 금방 만들었는데.. 버그 찾는데 그거보다 5~6배 정도 시간이 더 든거 같다. ㅡㅡ;; 아.. 끝없는 삽질의 나라.~
          * 간만에 쓴다. 삽질일지.. -_-;; 그동안 너무 놀았나.. 쩝.. 이번 삽질은 내가 처음으로 환타스탁 소켓 플밍 연습하는데, API로 작성된 WinSock 소스 가지고 send랑 recv 가지구 놀고 있는뎅... 글자가 계속 깨져 나왔당.. 미치고 환장할일.. -_-;; 정모때 남훈이형이 어떻게 해서 되기는 되었는데 이유는 몰랐다.. 그래서 희망을 안 버리고 계속 삽질 해봤는데.. send랑 recv의 타이밍이 서버와 클라이언트가 맞지 안아서 였다.. 쩝..테스트 결과 서버가 send먼저 하고 클라이언트가 recv하면 깨져 나왔당..서버가 recv하고 클라이언트가 send하면 글씨가 안깨진다..-_-;;.. 이게 규칙인가~ 쩝.~
  • C/C++어려운선언문해석하기 . . . . 31 matches
         CodeProject에서 최근에 아주 흥미로운 글을 읽었습니다. 글의 내용이 별로 길지도 않고 워낙 유용 정보라 생각되서 날림으로 번역해봤습니다. 영어와 글의 어순이 반대라서 매끄럽지 못 부분이 많은데 이런 경우 원문도 같이 볼 수 있도록 같이 올렸습니다.
         간혹 int * (* (*fp1) (int) ) [10]; 과 같은 선언문이나 혹은 이와 유사하게 난해 선언문을 볼 기회가 있습니까? 이 글은 이런 C/C++
         선언문을 직면했을 때 이를 어떻게 해석하는가를 알려주기 위 글입니다. 매우 기본적이고 평범 예제에서 시작해서 복작 경우까지
         이 글은 단순히 우리가 이러 선언문을 맞닥뜨리게 되었을 때 어떻게 이 선언문을 이해할 수 있는가 방법을 알려주는 것입니다. 여기
         예제에서 제시된 것과 같이 복잡 선언문을 사용하여 이해하기 어려운 코드를 작성하는것은 결코 좋은 프로그래밍 습관이 아니겠죠.
         위의 문장은 '변수 n 을 int 형으로 선언다'라고 해석할 수 있습니다.
         '변수 p를 int *형으로 선언다' 라고 해석할 수 있고 다시 말하면 '변수 p를 int형을 가리키는 포인터로 선언다'라고 할 수 있습니
         좋습니다. 왜냐하면 다음과 같은 선언문을 사용하면서 실수할만 소지를 없애주기 때문입니다. (역자주: 참고로 C++ 창시자인 Bjarne
         Stroustrup는 변수 형에 붙이는걸 더 선호다고 했답니다.) (추가: 단순히 B. S.는 이걸 선호했다고 하더라는 무책임 언급만 남기고
         자세 설명을 첨가하지 못해서 죄송합니다. 다음의 링크를 참조하시면 더 자세 이유를 보실 수 있으실 겁니다. http://www.research.att.com/~bs/bs_faq2.html#whitespace )
         우리는 또 포인터를 가리키는 포인터를 선언할 수 있습니다.
         원리만 따지자면 이 관계는 무히 반복될 수 있습니다. 따라서 우리는 float형을 가리키는 포인터를 가리키는 포인터를 가리키는 포인
         다음과 같은 선언문들을 봅시다. (역자주: 여기서 부터는 선언문 해석 원문을 괄호안에 넣습니다. 선언문을 글로 표현하기가 이렇게
         인적으로는 const가 강조되어서 의미가 더 분명 첫번째 선언문을 선호합니다.
         다음에 나열 선언문들을 보시면 const를 어떻게 해석할 수 있는지 더 분명하게 아실 수 있을겁니다. 이 중에 몇몇 선언문은 선언하면
         [[ typedef의 세밀 구분 ]]
         아래에 typedef를 사용 선언문들을 설명과 함께 나열해봅니다.
         typedef는 보통 아래에 나열것과 같이 struct는 선언과 같이 사용됩니다. 다음과 같은 struct 선언문을 사용하면 C++ 뿐만 아니라 C에
         것 을 볼 수 있습니다. 그럼 간단 예제부터 시작해보겠습니다.
         이 규칙은 매우 간단하지만 어떠 복잡 선언문이라도 해석할 수 있게해줍니다.
  • DataCommunicationSummaryProject/Chapter9 . . . . 31 matches
          * cellular networks가 예상보다 빠르게 성장데 비하여,short-range mobile systems은 덜 성공적이였다.그 이유에는 속도,유선에 비하여 신뢰성의 떨어짐, 경쟁적인 기준이 있다.물론 Cordless phones 처럼 인기있는것도 있지만, 점점 범위를 늘리려고 다. 또roaming에서의 실패성이 많다.적외선이 laptop 이나 PDA에서 거의 사용되지만 잘 사용되지 않는다.
          * 2000년대 부터 wireless LANs가 데이터 속도와 가격만에서많은 성장을 가져왔다.IEEE의802.11b의 지준을 많이 사용다.물론 아직은 핸드폰이나 인터넷에 비할수는 없지만,성장 속도는 빠르다. 새로운 시스템은 유선에 도전을 줄 만큼 데이터전송량과 속도를 증가 시켰다.
          * ISM(Industrail,Scientific, and Medical) 는 의사소통을 위것이 아니다. 따라서 이 범위의 주파수는 국가에서 나두었다. 그래서 무선 전화나 무선 랜에서 사용된다.
          * ISM 2.4 는 여러 국가에서 모두 사용가능 주파수 범위이다.따라서 너무나 많은 곳에서 사용하므로 완전 사장보다 더 복잡하다. 그러니 스프레드 스펙트럼을 사용다. 하지만 11Mbps이상은 능력이 딸린다.
          * License-Free Radio 통신서비스를 하도록 허락 주파수대이다.(돈주고 판것이것지) 물론 미국과 유럽의 기준이 약간 틀리다.
          * IEEE 802.11b보다는 Wi-Fi 나 무선 이터넷이 우리에게 잘 알려져 있다. 물론 IEEE 802.11b를 기준으로 다. Wireless Fidelity(통신에서 충실도의 뜻으로 많이 쓰인다. 예를 들어 " a high ~ receiver 고성능 라디오(cf. HI-FI) ") 의 약자이다. WECA(the Wireless Ethernet Compatiility Alliance)의 트레이드 마크이기도 하다.
          * CCK(Complementary Code Keying)라고 불리는DSSS의 2.4GHZ를 사용다. 물론 기존의 기계와 호환성을 기진다. MAC하는 방법은 CSMA/CA(여기서 A는 avoidance이다 유선과는 틀리다) half-duples이다.shared이다. 대역폭이 11Mbps이지만 오보헤드가 심하다. 여기에다가 쉐어드이니 장에가 심하면 1-2Mbps밖에 안된다.하지만 데이터 전송률은 쓸만하다. 이러 낭비를 줄이려고 차세대로 갈수록 물리적인 데이터 율을 줄인다.
          * 유럽의 1992년에 새운 기준이다. 지들이 만든 GSM을 기준으로 다.5-GHz의 대여폭을 사용다.
          * HiperLan2 는 802.11a와 거의 물리적인 층은 비슷하다. 그러나 인터넷에 기준을 두지 않는다.(인터넷이 데이터를 처엄부터 기준으로 했다면, ETSI는 음성위주 여기에 데이터를 같이 생각 했으며로 당연하다) TDMA 을 기반으로 다. 당연 음성 서비스에 좋은 서비스를 해준다. 그러나 역시 미국(802.11a)테 밀린다.
          * 홈테트워킹을 위해서 싸고 간단 네트워킹을 만들기로했다.
          * 1Mbps에서 10Mbps까정 (FHSS을 기반으로 하는데 이것에 관 규칙FCC가 바뀌어서)
          * 가장 큰 이점은 보안성과 품질(QoS)이다(SWAP).그래서 많은 어필을 다. 그런데 무선랜의 대부인Wi-Fi와 호환성이 없다.
          * built-in key management system - 이건 잘 모르겠다. 가증 키는 제되어 있고, 해킹하는 데에는 선형시간이 걸린다.
          * 현재 이렇게 하고 있다다.
          * 같은 전화기를 사설, 공용 네트워크 모두에서 사용다.
          * Frequency Hopping을 사용다.
          * 책보니깐 bluetooth가 덴마크랑 노르웨이를 통일 바이킹왕이라네.
          * 짧은 거리 무선 시스템은 허가되지 않은 주파수 영역을 사용다. 이것들은 대화를 위해 공개될수 있고, ISM 어플리케이션과 공유될수 있다.
          * 현재 호환되지 않는 많은 LAN 표준이 있는데, IEEE(이더넷 개발 회사)랑 ETSI(GSM 개발 회사)로 압축될수 있다.
          * 가장 유명 무선 랜 기술은 IEEE 802.11b(2.4GHz의 ISM 대역폭에서 11Mbps의 속도를 낼수 있는) 이다.
  • EightQueenProblemDiscussion . . . . 31 matches
         만약 당신보다 더 짧은 시간에, 더 짧은 코드로 문제를 해결 사람이 있다면, 그 사람과 함께 PairProgramming (혹은 NetMeeting 등을 이용, VirtualPairProgramming)을 해서 그 문제를 함께 새로 풀어보세요. 당신은 무엇을 배웠습니까? 그 사람은 어떤 방식으로 프로그램의 올바름(correctness)을 확인합니까? 그 사람은 디버깅을 어떻게 합니까(혹은 디버깅이 거의 필요하지 않은 접근법이 있던가요)? 그 사람은 어떤 순서로 문제에 접근해 갑니까? 그 사람은 어느 정도로까지 코드를 모듈화 합니까? 이 경험이 당신의 프로그래밍에 앞으로 어떤 변화를 불러올 것이라 생각합니까?
         일단 구석에서부터 채워나가면 실패다.. (7개까지는 되지만.. 여덟개는 되지 않는다) 뭔가 다른방법을 찾아 보아야겠다.
         두번째.. 가장 작은 자리수를 채워나가면 실패다 (역시 7개까지 되지만.. 여덟개는 되지 않는다.) 역시 다른방법을 찾아야겠다.
         세번째각도.. 성공적이다. 일단 줄에 개의 퀸만 들어간다는 점에 착안하여 모든 점을 검사하였다... 비효율적이지만 확실 방법ㅡㅡ;
         맨 처음에는 해당 체스판에 대 적절 처리를 하는 것 부터 접근해 나아갔다. 판에 퀸을 놓는 것 부터 시작.
         그 다음에는 '퀸을 놓을 수 있는 위치가 안전 곳일까?' 하는 점에 대해 접근. 이를 SelftyZone 이라 칭했다. 이를 체크하기 위해서는 가로/세로/대각선방향을 모두 체크해야 하므로 다시 4개의 작은 모듈로 나누어졌다. 그중 대각선 체크의 경우 처음 비교를 시작할 위치를 측정하기 위 모듈을 하나 더 추출하게 되었다.
         해당 자리에 놓았을 경우. 다른 퀸을 공격할 수 있는 위치에 대해 알아보기 위 부분에 대해 생각했다.
         해당 level (0번째줄~7번째줄) 에 대해서 공격당하지 않는 위치를 얻어내기 위 리스트 (정확히는 튜플)를 얻어내는 부분.
         해당 알고리즘을 구현하기 위 기반이 되는 체크 관련 부분에 대해 (여기까지) 만드는데는 52분정도가량이 걸렸다. 하지만, 정작 Queen 을 배열하는 알고리즘을 생각해내는데 3시간 가량이 걸렸다. --;
          * Feelings - 느낀점: 시간이 넘 오래걸려서 편으로는 쪽팔리긴 하다. -_-; 뭐.. 알고리즘 부분에 대해서 너무 시간을 오래 끌었다. 왜 그랬을까 생각하는데.. 아마 특정 알고리즘들이 먼저 머릿속에 떠올라서가 아닐까 다. (이 부분에 대해서는 stack을 쓸까 recursive 로 대신할까 이리저리군시렁군시렁) 이런 부분에 대해서는 어떻게 test가능 부분으로 접근해나갈수 있을까.
         자신에게 항상 "What is the simplest thing that could possibly work?"라는 질문을 하면서 TestDrivenDevelopment를 했나요? 테스트/코드 사이클을 진행하면서 스텝을 작게 하려고 노력했나요? 중간에 진척이 별로 없는 경우, 어떤 액션을 취했나요? 그 때 테스트 사이클의 스텝을 더 작게하려고 했나요? 만약 다시 같은 문제를 새로 푼다면 어떤 순서로 테스트를 하고 싶나요? (직접 다시 번 새로 시작하는 것도 강력 추천) 왜 다른 사람들에 비해 시간이 상대적으로 많이 걸렸을까요? 테스트 코드를 사용 것이 그 시간만큼의 이득이 있었나요? TestDrivenDevelopment를 해내가면서 현재 패스하려고 하는 테스트 케이스에서 무엇을 배웠나요? 켄트벡이 말하는 것처럼 사고의 도구가 되어 주었나요? 참고로 저는 EightQueenProblem을 파이썬으로 약 30분 정도 시간에 50 라인 이내로(테스트 코드 제외) 풀었습니다. TestDrivenDevelopment로요. --김창준
         즉, 실제 Queen의 위치들을 정의하는 재귀호출 코드인데요. 이 부분에 대 TestCase 는 최종적으로 얻어낸 판에 대해 올바른 Queen의 배열인지 확인하는 부분이 되어야 겠죠. 연습장에 계속 의사코드를 적어놓긴 했었는데, 적어놓고 맞을것이다라는 확신을 계속 못했죠. 확신을 위해서는 테스트코드로 뽑아낼 수 있어야 할텐데, 그때당시 이 부분에 대해서 테스트코드를 못만들었죠.
         사고의 도구로써는 연습장과 TFP 둘 다 이용했지만, 순수하게 적용하지는 않았습니다. (위의 Queen을 놓는 부분에 대 재귀호출부분에서는 적용못함) 테스트작성시간/코드작성시간 등에 대 관리는 하지 않았습니다. (이 부분에 대해서는 반성을. ^^;) 흠.. 그리고 'The Simplest Thing'을 찾아나갔다기 보다도, 이미 해당 문제에 대해서 의사코드를 생각하고, 해당 코드에 대해 Top-Down 형태로 모듈을 나눈뒤에 모듈에 대해 테스트를 만들어갔다는 생각이 드네요. --석천
         지금가지 모두 C++, Python, Java 등 OOPL을 이용했는데 그 중 OOP로 푼 사람은 아무도 없네요 -- class 키워드가 있다고 OOP라고 하긴 힘들겠죠. 사람은 시간이 급하다고 생각이 들수록 평소 익숙 도구와 멘탈리티로 돌아가려고 하죠. 어쩌면 OOP가 편하고 수월하다고 느끼는 사람이 없다는 이야기가 될지도 모르겠네요. 물론 모든 문제를 푸는데 OOP가 좋다는 이야기를 하려는 것은 아닙니다만. --김창준
         실패 이유
          * 문제 인식 잘못, 풀이 계획 잘못. 완성되었다고 생각 순간에, 크나큰 실수가 있었음 인지하였다. 답이 없는 줄 알았다. TT
          * 말에 대 정보를 체스판에만 가지게 하였다. (문제 분석 소홀히 댓가 TT)
          * TFD로 시도하였는데. test와 code간 이동이 빠르지 못하였다. 즉, test부분이 충분히 작아지지 못 것 같다.
         [이승]과 PairProgramming을 하며 문제를 풀었습니다. TDD를 하지 않고 30분을 작성했고 나머지 1시간30분을 TDD로 했습니다.
         적당 자료구조를 끝까지 찾지 못해 헤맸다는 느낌입니다. 처음 TDD를 접하는 파트너로서는 테스트를 빨리 이해할 수 없어서 동안 페어 사이에 공백이 느껴졌습니다. 속도를 늦추고 파트너에 맞추자, 파트너가 드라이브를 하는 의욕을 보였습니다. 완성하지 못해 다른 이의 코드와 비교하는 시간이 없어서 안타깝습니다.
  • Gof/Strategy . . . . 31 matches
         비슷 문제들을 해결할 수 있는 알고리즘의 군들을 정의하고, 각각의 알고리즘을 캡슐화하고, 그 알고리즘들을 교환할 수 있도록 다. Strategy는 알고리즘들로 하여금 해당 알고리즘을 이용하는 클라이언트로부터 독립적일수 있도록 해준다.
          * linebreaking이 필요 클라이언트이 그 알고리즘을 직접 포함하고 있는 경우에는 클라이언트들이 더 복잡해질 수 있다. 이는 클라이언트들을 더 커지거나 유지가히 힘들게 다. 특히 클라이언트가 여러 알고리즘을 제공해야 하는 경우에는 더더욱 그렇다.
          * 각각의 알고리즘들은 상황에 따라 적절할 때가 존재다. 클라이언트는 사용할지 안할지 모르는 알고리즘들까지 전부 필요하지 않다.
         이러 문제는, 각각의 다른 linebreaking을 캡슐화 클래스를 정의함으로 피할 수 있다. 이러 방법으로 캡슐화 알고리즘을 stretegy 라 부른다.
         Composition 클래스는 text viewer에 표시될 텍스틀 유지하고 갱신할 책임을 가진다고 가정하자. Linebreaking strategy들은 Composition 클래스에 구현되지 않는다. 대신, 각각의 Linebreaking strategy들은 Compositor 추상클래스의 subclass로서 따로 구현된다. Compositor subclass들은 다른 streategy들을 구현다.
          * SimpleCompositor - 일반적인 줄 나누기 알고리즘을 구현다.
          * TexCompositor - linebreaking 에 대해 TeX 알고리즘을 적용, 구현다. 이 방법은 번에 문단 전체에 대해서 전반적으로 linebreak를 최적화하려고 다.
          * 많은 관련 클래스들이 오직 그들의 행동들에 의해 구분된다. Strategy들은 많은 행위중에 가지로 상황에 따라 클래스을 설정해주는 방법을 제공해준다.
          * 당신은 알고리즘의 다양함을 필요로 다. 예를 들어, 당신이 알고리즘을 정의하는 것은 사용메모리/수행시간에 대 trade-off (메모리를 아끼기 위해 수행시간을 희생해야 하거나, 수행시간을 위해 메모리공간을 더 사용하는 것 등의 상관관계)이다. Strategy 는 이러 다양 알고리즘의 계층 클래스를 구현할때 이용될 수 있다.
          * 클래스가 많은 행위들을 정의다. 이는 다중조건문들에 의해서 구현되곤 다. 이러 많은 조건문들 대신, 각각 관련된 조건들을 Strategy 클래스들에게로 이동시킬 수 있다.
          * 모든 제공된 알고리즘에 대 일반적인 인터페이스를 선언다. Context는 ConcreteStrategy에 의해 구현된 알고리즘들을 호출하기 위해 이 인터페이스를 이용다.
          * Strategy 인터페이스를 이용하여 알고리즘을 구현다.
          * 조건문을 제거하기 위 Strategy
          * 클라이언트는 반드시 각각의 Strategy들에 대해 알아야 다.
          * Strategy 와 Context 사이의 대화중 overhead 가 발생다.
          * 객체의 수가 증가다.
         FlyWeightPattern : Strategy 객체는 종종 훌륭 flyweight를 만든다.
  • Gof/Visitor . . . . 31 matches
         object structure 의 element들에 수행될 operation 을 표현다. [Visitor]는 해당 operation이 수행되는 element의 [class]에 대 변화 없이 새로운 operation을 정의할 수 있도록 해준다.
         [컴파일러]가 abstact syntax tree로 프로그램을 표현다고 하자. 컴파일러는 모든 변수들이 정의가 되어있는 지를 검사하는 것과 같은 '정적인 의미' 분석을 위해 abstract syntax tree에 대해 operation을 수행할 필요가 있을 것이다. 컴파일러는 또 code 변환을 할 필요가 있다. 또 컴파일러는 type-checking, code optimization, flow analysis 와 해당 변수가 이용되기 전 선언되었는지 등의 여부를 검사하기 위해서 해당 operations들을 수행할 필요가 있다. 더 나아가 우리는 pretty-printing, program restructuring, code instrumentation, 그리고 프로그램의 다양 기준들에 대 계산을 하기 위해 abstract syntax tree를 이용할 것이다.
         이러 operations들의 대부분들은 [variable]들이나 [arithmetic expression]들을 표현하는 node들과 다르게 [assignment statement]들을 표현하는 node를 취급할 필요가 있다. 따라서, 각각 assignment statement 를 위 클래스와, variable 에 접근 하기 위 클래스, arithmetic expression을 위 클래스들이 있어야 할 것이다. 이러 node class들은 컴파일 될 언어에 의존적이며, 또 주어진 언어를 위해 바뀌지 않는다.
         이 다이어그램은 Node class 계층구조의 일부분을 보여준다. 여기서의 문제는 다양 node class들에 있는 이러 operation들의 분산은 시스템으로 하여금 이해하기 어렵고, 유지하거나 코드를 바꾸기 힘들게 다. Node 에 type-checking 코드가 pretty-printing code나 flow analysis code들과 섞여 있는 것은 혼란스럽다. 게다가 새로운 operation을 추가하기 위해서는 일반적으로 이 클래스들을 재컴파일해야 다. 만일 각각의 새 operation이 독립적으로 추가될 수 있고, 이 node class들이 operation들에 대해 독립적이라면 더욱 좋을 것이다.
         우리는 각각의 클래스들로부터 관련된 operation들을 패키징화 하고, traverse 될 (tree 의 각 node들을 이동) abstract syntax tree의 element들에게 인자로 넘겨줄 수 있다. 이를 visitor라고 다. element가 visitor를 'accepts' 할때 element는 element의 클래스를 인코딩할 visitor에게 request를 보낸다. 이 request 또 해당 element를 인자로 포함하고 있다. 그러면 visitor는 해당 element에 대 operation을 수행할 것이다.
         예를든다면, visitor를 이용하지 않는 컴파일러는 컴파일러의 abstact syntax tree의 TypeCheck operation을 호출함으로서 type-check 을 수행할 것이다. 각각의 node들은 node들이 가지고 있는 TypeCheck를 호출함으로써 TypeCheck를 구현할 것이다. (앞의 class diagram 참조). 만일 visitor를 이용다면, TypeCheckingVisior 객체를 만든 뒤, TypeCheckingVisitor 객체를 인자로 넘겨주면서 abstract syntax tree의 Accept operation을 호출할 것이다. 각각의 node들은 visitor를 도로 호출함으로써 Accept를 구현할 것이다 (예를 들어, assignment node의 경우 visitor의 VisitAssignment operation을 호출할 것이고, varible reference는 VisitVaribleReference를 호출할 것이다.) AssignmentNode 클래스의 TypeCheck operation은 이제 TypeCheckingVisitor의 VisitAssignment 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들을 캡슐화다.
         VisitorPattern으로, 개발자는 두개의 클래스 계층을 정의다. 하나는 operation이 수행될 element에 대 계층이고 (Node hierarchy), 하나는 element에 대 operation들을 정의하는 visitor들이다. (NodeVisitor hierarchy). 개발자는 visitor hierarchy 에 새로운 subclass를 추가함으로서 새 operation을 만들 수 있다.
         VisitorPattern은 다음과 같은경우에 이용다.
  • Linux/디렉토리용도 . . . . 31 matches
         내용을 윈도우에서 강의하는거 같다는 기분이다. 덕분에 2장 보면 파일을 지우는 나 -_-;)''
         draft는 웹상의 내용을 기본으로 내가 추가할 만 부분을 추가함. (그런게 있을지나 모르겠네.. 너무 좋은 내용이 많다)
         ps. 내가 아는 부분은 루트에 존재하는 디렉토리의 용도에 조금 더 수준이라서 필요하다면 참고서적을 참고하겠다.
         리눅스의 디렉토리 구조를 이해하기 전에 마운트라는 개념을 이해해야할 필요가 있다. 리눅스는 모든 파티션을 /(이하 루트)에 포인터를 통해 연결 마운트의 개념을 통해서 접근을 할 수 있다. 따라서 모든 디렉토리를 각기다른 장치 각기 다른 파티션에 나누어 넣어서 따로 보관할 수 있으며 데이터가 직접 보관되는 디스크를 따로 마운트해서 나중에 시스템을 다시 설치할때에 그 파티션만 지우지 않고 후에 마운팅하는 용도로 사용이 가능하다.
          * 시스템의 근간을 이루는 가장 중요 디렉토리
          * reboot, modprobe, insmod 등등의 root 가 시스템을 관리하는데 필요 명령어들이 존재다.
         lib 디렉토리에는 컴파일러를 통해서 혹은 만들어진 파일들이 잠조하는 라이브러리들이 존재다. 또 하부에 modules 디렉토리에 존재하는 커널 모듈은 특수장치를 설치했거나 제거했을 경우 커널이 자동적으로 모듈을 올리지 못할 경우 insmod, rmmod, modprobe 명령어를 통해서 이런 모듈을 다룰때 이용된다. 커널 모듈의 경우 2.4커널에서는 *.o, 2.6 커널에서는 *.ko의 확장자를 가지고 있다.
          * 시스템에 대 정보를 제공하는 가상 파일 시스템.
          * 대부분 읽기 전용이나, 일부 파일중에는 쓰기가 가능 파일이 존재하는데 이러 파일들에 특정 값을 지정하면 커널 기능이 변하게 됨.
          * 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치 디렉토리
          * /etc/CORBA : Common Object Request Broker Architecture (COBRA)에 관 파일이 들어있음.
          * /etc/profile.d : 쉘 로그인 하여 프로파일의 실행되는 스크립트에 대 정의가 있음.
         아파치를 비롯 모든 서버의 환경설정 파일이 관리 되는 곳이다. 물론 사용자가 직접 바이너리로 설치했을 경우에는 이 곳에 위치하지 않을 수도있다. 그러나 대부분 패키지 관리자를 통해서 설치된 프로그램의 경우 이곳에서 설정이 가능하다. 직접 설치를 하는 경우라면 '''X11, apache2, init.d, rc.*, skel, xinitd.d''' 디렉토리를 많이 다루게 된다.
          * /var/log : 시스템에 발생된 일들에 대 기록 파일이 있음
         바이너리 파일의 경우가 아니라 실제 시스템이 운영되면서 변화하는 자료를 저장하는 부분이다. 웹 서버의 기본 루트디렉토리가 보통 이곳에 존재다. (alias 된경우는 예외) 일반적으로 로그가 위치하기 때문에 중요 곳이다. 시스템에 보안 관계된 문제나 크래쉬가 발생했을 경우 로그 분석을 통해서 원인을 분석다.
          * 일반 사용자들을 위 대부분의 프로그램 라이브러리 파일들이 위치.
          * /usr/lib : /usr/bin과 /usr/sbin에 있는 실행 바이너리를 실행하기 위 라이브러리 존재.
         보통 바이너리 프로그램을 설치할 경우 /usr/local 에 설치하여 일관성을 유지다. jdk등을 설치할 때에고 관습상 /usr/local 에 설치를 해주고, 배포판이 패키지 형태로 jdk등을 제공할때에는 배포판을 통해 설치하는 것이 패키지의 통일성 및 관리의 편의성 면에서 좋다.
          * /etc/lilo.conf에서 지정 커널 부팅 이미지 파일이 들어 있으며 부팅시 매우 중요 디렉토리
         이 디렉토리에는 커널의 바이너리 이미지가 위치다. 보통은 부트로더를 /vmlinuz 로 부팅하게 설정하고, 현재 내가 쓰고 싶은 커널의 심볼릭 링크를 /vmlinuz 로 설정하여서 이용다. 이 경우 커널의 버전업이나 테스팅을 위해서 커널의 버전이 필요할 경우 관리상 용이하다.
  • Ruby/2011년스터디/세미나 . . . . 31 matches
          * 간단 코드 따라하기
          * 루비는 진정 객체지향 언어다?!
          *루비의 모든것은 객체로써 존재
          * 루비의 신기 배열. 음의 인덱스를 가질 수 있다
          * 루비에서는 클래스명이 대문자로 시작해야다!(아니면 에러)
          * 블럭을 이용 반복자 함수
          * 상속을 통 테스트 케이스 만들기
          * [http://rubyforge.org/frs/?group_id=1109 RRobots]를 이용 RubyLanguage Robocode
          * A마을에서 B마을로 가려면 강을 건너야다.
         || [권순의] || 우아하다 ||성현이가 Ruby를 우아 언어라고 소개함. 지혜가 책에서 $_가 우아하다는 표현을 봤다고 말함. || ||
          * "우아" 언어인 루비를 다운받아 irb를 사용해 실습을 해보았다. 처음에 irb를 눌렀을 때, 무슨 dll파일이 없어서 실행이 안된다는 팝업창이 떴는데 확인 누르니까 알아서 잘 켜졌다. Ctrl+C를 눌렀더니 끌지 말지 여부가 떴는데 N을 눌러도 꺼졌다. irb보다는 넷빈즈를 이용하는게 좋다는 말이 와닿았다. 1+2를 치면 알아서 3이 나오는 것과 리턴 값이 항상 표시되는 것이 신기했다(없을 경우도 =>nil 로!). 루비의 블록 넘기기는 #define이랑 비슷 느낌이 들었다. 새로운 언어임에도 쉽게 익힐 수 있어 좋았다. 하지만, 페어로 하는 만큼 실습 시간도 반감되지 않았을까 죄송스러웠다. 세미나 공지가 뜨면 노트북을 가져가도록 해야겠다. - [강소현]
          * 우리 이거 공부했었는데 나도 까먹었네… 역시 공부는 번 하면 까먹나봐ㅠㅠ - [김수경]
          * 우선 늦게가서 if-else 밖에 못 들어먹었습니다 ㅠ 상당히 아쉬웠어요. 근데 if구문을 사용해도 의도가 명확하다면 괄호가 필요없다게 참 신기하더라구요. 제가 약간이라도 다뤄본 C, C++, Java, JavaScript, Python에서는 괄호를 반드시 사용해야만 하는 걸로 알고있었는데 말이죠. 근데 여기서 "의도가 명확하다는 것"이 무슨말인지.. 솔직히 이해가 안 가요. ㅠ 저가형 두뇌... 그리고 루비 개발도구가 참 많더군요. aptana... 루비를 위해 만들어졌지만 루비를 쓰지 못다는게 참 인상적이었습니다. 그리고 irb의 개발환경을 보니 수정을 할 수가 없어 참 불편하더군요. Python Shell의 개발환경이 보다 더 우수 것 같습니다. 그리고 회고할 때 주워들은 "우아하며 불완전 언어"라는 말... 왜 그런지 궁금하네요. - [윤종하]
         }}} 윗줄 아랫줄 모두 문제 없이 실행되지. 이 경우는 의도가 명확 경우야. 그런데 이 add 메서드를 호출해서 3, 4, 7을 더 값을 알고 싶다면
         }}} 그런데 위 코드는 대체 어떤 것이 처음 나온 add 메서드에게 넘겨주는 매개변수인지 명확하지 않지? 이런 경우는 의도가 불명확 경우라 반드시 괄호를 사용해서 코드를 작성해야해. - [김수경]
          * Ruby 라는 언어를 처음으로 접하게 되었습니다. irb를 이용하여 Ruby 코딩을 연습해 보았습니다. 코드 수정이 일단 번 해놨으면 다시 정의를 해야되서 매우 불편하였으나 c같이 문법이 딱딱하지 않고 생략해도 구문 자체의 의미가 명확하다면 알아서 해주는 모습이 매우 신기했습니다. 나중에 lua도 공부해서 wow 에드온을 어찌해봐야겠습니다. - [임상현]
          * 그건 irb의 문제인거같습니다..ㅋㅋ 파일명.rb로 파일을 작성 다음 '''ruby 파일명'''으로 컴파일/실행할 수도 있어요~ - [서지혜]
          * 진짜 번쯤 건드려보고 싶은 언어였는데 차일피일 미루다가 드디어 해봤습니다. 루비의 문제점도 많이 보였지만 그래도 (제 입장에서는) 직관적인거 같아서 좋았습니다. 시간이 된다면 irb로가 아닌 editor를 이용해서 편집 소스코드를 컴파일하고 돌려보는 방법도 해보면 좋겠어요. - [지원]
          1. 이번 RubyLanguage 세미나는 방학때 스터디를 하며 몇 주 전부터 준비해왔습니다. 그런데 동안 루비를 소홀히 했더니 [:강성현 성현]이와 지혜 프리젠테이션을 들으며 저도 새롭게 알게 된 것들이 있었습니다. 부끄럽네요. 분명 같이 공부했던 것들인데…T_T
          1. CodeRace를 준비하며 간단 코드를 짜보았는데 생각보다 어려워서 역시 책만 읽어서는 안 되겠다는 생각이 들었습니다. 그냥 돌아가게 짜라면 짤 수 있겠는데 언어의 특성을 살려 ''우아하게'' 짜려니 어렵네요.
  • 데블스캠프2004/세미나주제 . . . . 31 matches
          * 간단(어려워도 상관없음) 원격 컴퓨터 관리( +알파 [http://www.bo2k.com/ 백오리피스]?)
          * 프로그래밍을 위 기술들
          * C** 제외 다른 언어 SeeAlso [언어분류]
          * 자료구조 SeeAlso HowToStudyDataStructureAndAlgorithms, DataStructure StackAndQueue 뒤의 두 페이지들의 용어와 내용이 어울리지 않네요. 아, 일반 용어를 프로젝트로 시작 페이지의 마지막 모습이군요. )
          * Linux (또는 UNIX) 기초. 간단 커맨드들과 쉘 프로그래밍
         || 목 || 보안 || 민수 || 2h+a || 간단 암호화 기법 실습 ||
         || 목 || [STL] || 영동 || 2h || [STL/string]이나 [STL/vector] 등의 1학년도 쓰기 편리 자료구조 위주로 ||
         || 금 || 다음 데블스캠프 || ? || 1h || 다음 데블스캠프를 위 의견 나눔 ||
          - [STL]의 경우 사용법을 세미나하는것도 좋지만 GenericProgramming 의 개념과 왜 그러 패러다임이 나왔는지, 그 배경에 대 설명도 있으면 좋을 것 같습니다 - [임인택]
          정도로 계획을 짜 놓았는데 전부다하기에는 캠프의 첫날이 다 필요합니다. 월요일에 저렇게 예약된게 많으니, 3시간 정도만 해서 Wiki탐험과 ZeroPage역사+OT 정도만 진행할수 있으면 좋겠어요. 흐흐 벌써 [1002]를 섭외(?)해 놓았고, 다른 분들도좀 섭외를 해서 적절 요일에 만나면 될것 같습니다. :) --NeoCoin
          * 시험은 수요일날 완료. RevolutionOS는 '예' 로 든것이고. 실제로 04중에는 알 사람도 얼마 없지 않을까 해서. 적당히 컴퓨터쪽 역사의 과거와 미래에의 모습에 대해 보여줄만 영화, 그리고 재미있는 녀석이면 환영. --[1002]
          * 정 다 필요하시다면 다 쓰셔도 됩니다. 하지만 저희 둘의 생각으로는 위 주제로 첫날 하루를 모두 하는 건 불필요 것 같습니다. 이번 데블스 캠프의 대상은 아직 ZP 정회원이 되지 않은 이들입니다. 솔직히 (바라지는 않지만) 이들 중 많은 이들이 나갈텐데 그들을 상대로 ZP 역사나 OT에 많은 시간을 할애하는 건 소용이 없다고 봅니다. 그리고 자칫 시작 첫날부터 따분하게 되기 쉬워보입니다. --재동, 상규
          STL 좋지. 데 이건 자료구조 시간과 OOP가 끝나고 하면 좋을 듯 해. --[신재동]
          우선 단기적으로 보면 03학번이 실력을 키워야 합니다. 02 학번은 현재 영동군, 1명만 남은 상태이고 그 또 올해 군대를 갑니다. 석천 형(졸업)과 상민 형(군대)도 더이상 봐주기 힘들겁니다. 그리고 군대 간 ZP들(01, 02)이 돌어오는 시기는 내년 말이나 되야 할 것입니다. 그나마 다행히 저나 상규가 동대학원에 진학 예정이라 2년 정도 더 봐줄 수 있습니다만 결국 재학생 선배의 공백은 03학번이 해결해야 할 것입니다. 편 장기적으로 본다면 문제는 앞서 나왔듯이 ''군대''인 듯 합니다. 남자들은 군문제가 학회에 지속적인 활동을 못하게 합니다. 저나 상규가 아직까지 군대를 가지 않고 남아 ZP에서 계속 활동 것이 ''스타''라는 이름이 붙인 것 같습니다. 이를 해결할 수 있는 건 군문제를 대학원 후의 전문연구원으로 해결 하던지 아니면 여자 회원이 공백을 매꿔줘야 할 것입니다. 그리고 제대 ZP 회원들을 빨리 다시 활동 할 수 있게해야 할 것입니다. 마지막으로 저나 상규는 절대 스스로를 스타 또는 영웅이라 생각치 않습니다. --재동
         장기적이자 단기적이라면, 학회를 이용해서 자신을 갈고 닦는 마음가짐을 가지고 이를 실천하게 만드는 것 시스템을 구성하는 것이 필요합니다. 즉, '''적극적인 활동을 일으키는 시스템''' 이겠지요. 실력은 따라오는 것 같습니다. 더구나 4학년이 되가면서 큰 편차가 나지 않는 것 같습니다. (K대학 전산하신분 분의 말씀인데 동감합니다.) 위의 세미나만 봐도 '하지 못해서'가 아니라 '하지 않아서' 없는것 같습니다. 서로에게 이걸 하는 것을 권하고, 부탁하면서 분담하는 것이 필요데요. 이러기에 서로가 너무 조심하는 것이 아닐까요.
         모두 다 전국에서 생경 사람들이 모이는 이런 모임이 글쎄 오랜시간 함께 했던 학회들에 비하여 에너지와 활기가 넘칩니다. 다 아시다 시피, '활동성'이 넘치는 사람들이 모였다는 거겠지요. 검증된 사람들의 모임, 학교를 다니면서 보면, 학회나 활동에 정말 필요 사람들인것 같습니다. 때론 이런 사람들만으로 구성된 집단이 궁금합니다. 하지만 학회에 '활동성'이 있는 사람들은 가뭄에 콩나듯 있는 것 같네요.
         그래서 무지하게 궁금합니다. 학회가 무엇인지, 모두가 어떤 생각을 하는지 그래서 첫날에 그런 생각들을 담아내고 시스템을 조성해보자는 취지로 월요일 4시간의 시간을 달라고 것 입니다. 그리고 당연히 이 시간은 함께 만들어 나가는 거겠지요. 그래서 토요일에 모임을 예약(?) 해 두었는데 사람 모으고 있습니다. ;;
         [STL]을 할때 단순히 자료구조를 사용하는 방법을 같이 보는것도 중요하겠지만 내부구조 (예를 들어, vector는 동적 배열, list은 (doubly?) linked list..)와 같이 쓰이는 함수(sort나 또 뭐가있드라..그 섞는것..; ), 반복자(Iterator)에 대 개념 등등도 같이 보고 더불어 VC++6에 내장된 STL이 ''표준 STL이 아니라는 것''도 같이 말씀해 주셨으면;; (SeeAlso [http://www.stlport.org/ STLPort]) - [임인택]
          - 아! 그리고 template에 대 내용도.. :-) - [임인택]
         === [데블스캠프2004/금요일] 에 마지막 해야할 토론에 관 내용들 토의 ===
  • 지금그때2004/회고 . . . . 31 matches
         [지금그때2004] 를 준비 사람들의 회고. (혹시 지금그때2004 위키에 어울리다면 그쪽으로 옮겨주길)
          * 참고 : 일반매직을 사용해서 전지에 글씨를 쓰면 책상에 자국이 남습니다. 보드마카를 이용해서 했더니 괜찮더군요. 리허설할때 사소 것도 번 해보고 넘어가는게 좋겠어요 (상민형 미리좀 알려주셨으면 얼마나 좋아요...)
          * 예상했던 인원이 거의 맞아 떨어졌다. 비록 신청 사람과 안 사람의 상쇄가 엄청났지만...;;
          * 행사를 준비하는 과정에서의 훌륭 토론 진행. ([여섯색깔모자])
          * 사회자는 건강관리도 잘 해야 다. 특히나 목감기 조심
          * 사회자가 중간에 긴장해서 미리 준비 멘트들을 다 써먹지 못했다.
          * COW에서 명도 오지 않았습니다. 물론 사정이 있어서겠지만 홍보와 연락이 부족했다고 생각합니다.
          * 'COW', 'JStorm', 'Netory' 에 대 홍보는 전혀 이루어지지 않았습니다. 행사 당일날 JStorm 이나 Netory 소속 멤버들에게 해당 모임이 있는지에 대해 물어봤을 때 아시는 분들이 없었습니다. (패널을 맡으신 분들을 제외하고요.)
          * 해당 학회 게시판에 '지금그때' 에 대 홍보가 하나도 없었습니다.(Netory의 경우는 행사 전날 급하게 올린 공지글이였고, Netory 에서 오신 분들은 패널을 맡아주신 선호형 외에 없었습니다.)
          * JStorm 의 경우 또 마찬가지입니다.
          * 패널제의를 급하게 요청 부분이 있습니다. 그 덕에 해당 시간이 되어서야 패널이라는 Role 의 의미를 파악하신 분들도 있으셨습니다.
          * 패널들의 이력사항에 대 소개가 미비했다는 생각이 듭니다. 패널들의 소개를 좀 더 적극적으로 자세히 하고 홍보를 다면, 더 적극적인 질문을 이끌어내지 않았을까 생각합니다.
          * 할 수 있다면, 리허설때 패널을 맡으실 분들을 일부 초청하는 방안도 생각. (보통은 쉽지 않으나, 올해처럼 재학생인 패널도 있으므로, 그러 사람들에게는 가능하지 않을까)
          * 질문 : 기록을 찾을수 없어서 그러데, 이번에 리허설을 대략 몇시간 정도 했나요? --NeoCoin
          * 30여분 하였습니다. 행사 소개 시간을 뺀 나머지 시간은 1시간을 12분으로 계산하고 했습니다. 일정을 모두 칠판에다 적어두고 시작했습니다. 번 리허설 하다가 시간이 잘못되었다는 지적이 나와서 다시 번 하였습니다.
          * 제가 급해서 잘못 전달했군요. [지금그때2004/전통과사유20040329]에 시간이 부족하고, 재현에 불과해서 내용을 간추려서 실제 속도와 다르게 것입니다. 다음에 이러 기회가 온다면, 코너만 때어서 거의 비슷 시간으로 리허설을 해보시는 것도 좋습니다. 2003에서는 1시간 정도, ost에서 나올 만 주제만 때어서 [지금그때2003/규칙]을 밑바탕 삼아 동일 속도로 했거든요. 그 피드백으로 규칙이 변했었죠. 모든 사람이 하나에 매달일 필요도 없이, 두 조로 나누어서 병렬로 하면 좋은 효과를 볼수 있습니다.
          * JStorm 이나 Netory 의 경우 해당 소속의 명에게 이야기하는 식으로 하는 소극적인 전달이 아닌, 1주일전 해당 학회 게시판에 공지를 적고 오실분들이 어떻게 연락을 해야 하는지, 학회 소속원으로의 연락은 어떻게 해야 하는지에 대 명시적인 피드백을 받아야겠습니다. 그리고 최소 해당 학회 소속원과 2회 이상의 전화연락이 필요하다 봅니다.
          * 도우미들이 적극적으로 Recorder 가 되는 건 어떨까. MinMap이나 ScatterMap 기법들을 미리 숙지뒤, 레코딩 할때 이용하면 정리 부분이 더 원활하게 진행될것 같다.
          * 도움이 될 만 링크를 걸어주실 수 있나요?
  • 현재 위키에 어떤 습관이 생기고 있는걸까? . . . . 31 matches
         새로운 공원을 지을 때였다. 공원 설계사가 공원에 대 전반적인 설계를 하고 있었다. 공원 조경 설계를 마치고 잔디와 길을 내었다. 그런데 문제가 있었으니, 옆에 분명히 길이 있었음에도 불구하고 사람들이 잔디를 가로질러 지나가는 것이었다. 푯말을 세워도, 줄로 길을 만들어도 사람들이 제대로 지키지 않는 일이 허다했다. 공원설계사는 '도대체 뭐가 문제일까?' 하며 고민을 하였다.
         오랫동안 고민 끝에 설계사는 잔디를 보고 이 문제를 간단히 해결했다. 잔디가 가장 많이 밟힌 부분을 따라 새로운 길을 내었다. 잔디가 가장 많이 밟힌 부분을 보니 다른 길로 지나가는 가장 가까운 지름길이였던 것이다.
         우리가 현재 OneWiki(가제 이하 OneWiki로 표현)라는 공원을 돌아다닌지(또는 길을 설계지) 일주일 이상의 시간이 흐르고 있는데, 그동안 자신들이 어떠 경로를 만들어내려고 했는지, 또는 어떠 경로들이 있고 돌아보면서 어떠 느낌을 받는지 생각해 봤으면 합니다.
         두번 이상 혹은 규칙이라 의식하고 번이라도 행 것이 있다면 내용과 느낌을 적어 봅시다.
          * 이름의 하위 분류로 / 를 사용다. 예) [삼총사CppStudy]하위에 속 [삼총사CppStudy/숙제1] 페이지
          * URL이나 dos, unix 디렉토리 구조 같아서 친숙 것 같다. 프로그래머나 컴퓨터 파워유저는 익숙것 같지만, 국말에는 어울리지 않는 것 같다. --NeoCoin
          + 길에 비유를 했었는데 우리는 0'Wiki를 사용함으로 해서 익숙 길이 있기 때문에 1'Wiki에도 역시 똑같이 사용하는것 같습니다. 이대로 페이지가 쌓인다면 0'Wiki와 똑같이 되지 않을까 합니다.-[상욱]
          + 편 길이 있다면 계속 써도 문제는 없다고 생각하지만.. --[snowflower]
          * 그것이 왜? 편 길인가 앞으로도 편할수 있는 길인가? 나쁜점은 왜 나쁜가? 하는 것을 이야기 하자는 것이지요. 저 이야기에는 분명 많은 부분이 생략되었을 겁니다. 이 길을 내도 되는건가? 왜 사람들이 많이 다닐까? 하는 고민들이요. OneWiki 에 길을 보면서 생각해 BoA요. --NeoCoin
          * 제목이 영어라면 각 단어의 앞을 대문자로 씀으로써, 띄어쓰기의 효과를 누릴수 있었지만... 글은 그게 참 애매하지요. 띄어쓰기를 안하자니 눈에 들어오지도 않고, 또 띄어쓰기를 하자니 검색이 보장이 안되니... 아예 '영어제목만 만들자' 같은건 어떨까 생각중입니다. --[인수]
          * 개인위키를 돌려본 결과... 글제목 페이지는 좀... 안좋더군요. 일일히 Delete하기 귀찮아서 번에 필요것만 지울라 했더니, 글 페이지 제목은 파일명이 알파벳과 숫자의 조합으로 알아볼수 없는 문자로 되어 있더군요. 역시 '영어제목만 만들자'가 저를 강력히 꼬시는군요.--; --[인수]
          * 음.. 위키가 외국에서 개발되어서 어쩔 수 없는걸까, 글에 대소문자가 없어서 어쩔수 없는걸까. -_- 어쨌든 영어이름으로만 지으면 이런 페이지는 안녕이겠네. 하지만 인수의 의견도 좋아보이는군 --[snowflower]
          * 하위 페이지에서 상위 페이지로 가기 위 역링크 도 존재하는 것 같습니다. 없는 페이지도 많지만(그냥 복사해서 그런걸까..) --[snowflower]
          * 좀 이상(...라기보다는 제로위키에서였다면 생소했을) 페이지(ex) [InterestingCartoon], [GoodMusic], [창섭이 환송회 사진])를 만들어봤다. --[인수]
         기존 공원을 레노베이션할 때였다. 공원 설계사가 공원에 대 새로운 설계를 하고 있었다. 이전의 설계를 뒤집어 엎고, 새로운 공원 조경 설계에 따라 잔디와 길을 내었다. 그런데 문제가 있었으니, 옆에 분명히 길이 있었음에도 불구하고 사람들이 잔디를 가로질러 지나가는 것이었다. 푯말을 세워도, 줄로 길을 만들어도 사람들이 제대로 지키지 않는 일이 허다했다. 공원설계사는 '도대체 뭐가 문제일까?' 하며 고민을 하였다.
         오랫동안 고민 끝에 설계사는 잔디를 보고 이 문제를 간단히 해결했다. 잔디가 가장 많이 밟힌 부분을 따라 새로운 길을 내었다. 잔디가 가장 많이 밟힌 부분을 보니 이전 공원의 길이었던 것이다.
         지금 OneWiki 는 ZeroWiki 에 대해서 어떠 차별점을 만들어내었습니까? --[1002].
  • AcceleratedC++/Chapter12 . . . . 30 matches
         12장에서는 string 클래스의 클론 버전인 Str 클래스를 제작다. Str 클래스는 string 클래스의 형변환과 연산자의 구현에 초점을 맞추어서 제작다.
         이 클래스는 복사 생성자, 대입 연산자, 소멸자가 하는 모든일을 Vec클래스에 일임다.
         Str s("hello"); // s를 생성다.
         Str t = "hello"; // t를 초기화 다.
         s = "hello"; // 새로운 값을 s에 대입다.
         클래스는 기본적으로 복사 생성자, 대입 연산자의 기본형을 제공다. 위의 클래스는 이런 연산에 대 기본적인 요건을 만족하기 때문에 const char* 가 const Str& 로 변환되어서 정상적으로 동작다.
         상기의 클래스에는 Str(const char*) 타입의 생성자가 존재하기 때문에 이 생성자가 Str 임시 객체를 생성해서 마치 '''사용자 정의 변환(user-define conversion)'''처럼 동작다.
         이 구현의 세부적인 작동방식은 모두 Vec 클래스로 위임하였다. 대신에 const 클래스와 const 가 아닌 클래스에 대 버전을 제공하였고, 표준 string 함수와의 일관성 유지를 위해서 string 대신에 char& 형을 리턴하도록 하였음.
          입력 연산자는 일견 객체의 상태를 바꾸기 때문에 멤버함수로 선언이 되어야 다고 생각하기 쉽다. 그러나 이항 연산자의 경우 파라메터의 맵핑이 좌항의 경우 첫번째 우항의 경우 두번째인자로 받는데, 이렇게 될 경우 멤버함수로 >>연산자를 오버로딩하면 우리가 워하는 결과를 얻을 수 없다.
          상기와 같은 이유로 operator>>는 비멤버함수로서 선언이 되어야 다.
          위의 식 처럼 사용하기 위해서는 Str::size() 가 정의 되어야다.
          if(is) { // EOF를 만나면 입력 스트림을 false 값을 리턴다.
          if(is) // 입력중 공백 문자를 만났을 경우 방금전에 입력으로 들어왔던 문자를 무시다.
          상기의 함수는 Str 자료형에 입력을 하기 때문에 Str 형에 대 쓰기 권이 필요하다. 그러나 9.3.1절처럼 단순히 입력 함수를 만들게 되면 일반 사용자가 객체의 내부 구조를 건드릴 수 있는 인터페이스를 제공하는 꼴이 되기 때문에 옳지 못하다.
          따라서 우리는 operator>>를 public 멤버로 만들고 data에 대 쓰기 권을 가지게 해서는 안된다.
          * operator+는 연산의 결과는 Str 형을 리턴해야다.
          상기의 문장은 다음과 동일 순서로 동작하게 된다.
          이런식으로 동작하게 하면 임시 변수의 생성으로 인 오버헤드가 상당함으로 알 수 있다. 이런 문제를 해결하기 위해서 string 클래스는 자동변환에 의존하지 않고, 피연산자들의 모든 조합에 대해 결합 연산자를 제공다.
         11.2.2 에서의 explicit 키워드의 사용은 자동 형변환에 이용이 되는 단일 인자를 받는 생성자의 행위를 제함으로써 프로그래머가 원치 않는 변환을 막는 기능을 다.
         하단의 코드가 올바르게 동작하지 못다. 변환되는 형이 요구되는 형과 전혀 맞지 않기 때문이다.
  • DesignPatterns/2011년스터디/1학기 . . . . 30 matches
          1. SRP(Single Response Principle)에 대해 얘기하면서 '책임'이란 무엇인가에 대 이야기가 나왔다. 삽질 경험이 없는 사람에게 객체지향 원칙을 설명할 때 '책임'이 무엇인지 어떻게 이해시켜야 할지 모르겠다. 오늘 얘기하면서 낸 결론도 경험이 없으면 이해하기 어렵다는 것…
          1. 의존관계 역전이라 해서 낯설었는데 이렇게 설명하니 상위기술에 하위기술이 맞추는게 당연게 아닌가 하는 생각이 들었다.
          1. 좋은 설계는 천재 프로그래머에 의해 번에 만들어지는게 아니라 고민하는 프로그래머에 의해 지속적으로 만들어 지는 것 이다. 용기를 주는 말입니다.
          1. 이 자리에 이 패턴을 적용해야할 이유를 대라. 패턴을 적용할 때에는 타당 이유가 있어야 다. 생각없이 적용된 패턴은 오히려 설계를 망친다.
          1. 책에 나온 교차 통풍 패턴을 예로 들어 말하자면, 정적인 구조를 볼 때 마주보는 양 쪽 벽 비슷 높이에 창문이 있는 사무실은 교차 통풍 패턴에 속하는 것처럼 보일 수 있다. 그러나 창문 앞에 커다란 건물이 있으면 바람을 막아서 창을 통해 바람이 들어오지 않는다. 교차 통풍 패턴은 마주보는 양 벽에 각각 창이 있다는 그 자체로 실내 공기를 쾌적하게 만드는 것이 아니라 창을 통해 바람이 불어들어오고 불어나감으로써 실내 공기를 쾌적하게 만드는 것이다. 따라서 교차 통풍 패턴에서 마주보는 양 벽에 창이 존재다는 정적 구조 보다는 창을 통해 바람이 들어오고 나가는 동적인 행동 양식과 그것을 통해 실내 공기를 쾌적하게 만든다는 의도가 중요하다고 할 수 있다.
          1. 책의 일부 내용으로 미루어보아 절차지향적 패러다임이 판칠때 OO를 들고 나와 절차지향의 수호자들''--절차지향으로 코드 잘 짜지도 못 하는 허접들--''과 격 키배를 수도 없이 펼치지 않았을까…
          1. 무엇이든 생각없이 받아들이지 말고 장점과 단점을 모두 생각 후에 지금 사용하기 적절지 판단하고 적용하라는 아주 중요 메세지가 반복되어 나온다. 다시 번 되새기는 시간이 되었다.
          1. 기본 원리를 파악하는건 매우 중요 일이지만 정말 파악하기 어렵다는건 새삼스럽게 많이 느낀다.
          1. 멤버변수를 선언하면 꼭꼭 getter/setter를 만들었던 나를 반성...(나중엔 귀찮아서 public으로 적도 있다지)
          3. "어떤 작업을 수행하는데 필요 데이터를 요구하지 말라!!! 대신 정보를 가지고 있는 객체에게 일을 해달라고 부탁하라!" 항상 데이터를 get으로 꺼내와 바꿔놓고 set으로 넣어놨던 제 자신을 반성해 봅니다.
          1. 드디어 1장을 다 읽었다. 1장에 정말 중요 내용이 많다는 것을 후기를 쓰려고 돌아보며 다시 번 느낌. 이 책을 읽으면서 1장을 건너뛰고 각 패턴에 대 설명만 찾아보는 사람이 있을 거라 생각하니 답답함. -L-
          1. 상속구현이 나쁘다고 말다. 그래서 그런지 나뻐보인다. 코드가 꼬이니까.
          1. 오늘 스터디 부분은 '왜 extends가 나쁜가'였다. 왜 나쁜지 예를 보았는데 와닿지 않아 이해하기 힘들었다.
          1. 팩토리 메소드 패턴이 뭔지 잘 모르겠다. 기반 객체가 알지 못하는 파생 클래스를 생성다니. 기반클래스는 원래 파생클래스를 알지 못해! 이말은 생성되는 파생클래스는 기반클래스를 '''반드시 확장해야 다'''는 건가? 어려워.
          1. 인터페이스를 이용 캡슐화는 참 편리하다 Java를 만든사람들은 이걸 목적에 두고 만든것일까?
          1. 번 짜봐야 할 필요성을 느낀다. Life Game으로 넘어가기전에.
          1. SE프로젝트에서 후회하는 부분에 대해 집어보고 갈수 있었던 유용 시간.
          1. MVC로 나누고 Data모델을 위 Drawable을 만드는 이유를 알것 같았다. 서로 직접적인 통신을 꼭 안해도되는군..
          1. 다시번 보고싶은데 지금 생각해보니..?
          1. 지난 SE 프로젝트가 기억이.. 안난다. 내가 게 없다.. 그래서 SimpleMerge를 구현해본다 하여 반가웠다.
  • InsideCPU . . . . 30 matches
         2. 이후 ROM-BIOS는 일련의 CHECK 프로그램을 실행 시킨다. 흔히 보는 하드웨어 CHECK와 메모리 CHECK가 여기에 속다.
         3. 모든 CHECK가 끝나면 ROM-BIOS는 컴퓨터의 부팅 가능 드라이브를 찾는다. 이 순위는 CMOS 셋업에서 바꿔 줄 수 있다.
         :: 참고 여기서 부팅 가능 드라이브는 sector 0 번지에 섹터에 마지막 코드가 AA55h인 드라이브를 말다.
         4. 부팅 가능 드라이브의 0번 섹터를 읽어 들여 0000:7C00 에 적재 시킨다. 그리고 CS를 0000:7C00 으로 옮긴다.
         5. 그럼 로더 프로그램이 적재 된 상태이다. 이것으로 부팅은 끝이다. 이후 부터는 로더가 작업을 실행다.
         위에 로더는 1섹터(512KB) 밖이 되지 않는다. 이는 작은 프로그램 밖이 실행 할 수 없고 메모리의 위치가 0000:7C00으로 불안 위치이다. 대부분의 커널의 경우 이 메모리 블럭을 넘어서는 크기를 갖게 되므로 바로 커널을 로딩할 경우 로더의 메모리를 잡아 먹게 된다. 그래서 보통 Kernel로더는 자신을 보다 먼 곳의 안전 곳으로 이동시키고 커널을 로딩하게 된다.
         위와 같은 경우는 플로피에 해당하는 경우이다. 하드드라이브처럼 파티션이 여러개인 경우 MBR 마스터 부트 레코드가 존재하며 멀티 부팅을 위핸 lilo/grub이 올려져 부팅이미지가 있는 파티션을 찾아준다. 플로피와 같은 경우 플로피에 대 해당 정보를 적어줘야 나중에 플로피 디스크를 DOS에서 읽을 수 있다. 해당 정보는 0번 섹터에 다음과 같은 layer를 적어준다.
         음...여기까지만..귀찮아서 못 적겠다.. 보통 플로피의 0번 섹터를 write하기 위해 rawrite.exe란 프로그램을 쓴다. 플로피의 데이타를 얻기 위해 BIOS의 인터럽트루틴을 사용다. 이를 위 인터럽트는 INT 13h가 된다.
         실모드는 컴퓨터를 키면 항상 실모드가 된다. 이는 하위 CPU에 대 호환 정책으로 만들어진 것이며 열라 빠르게 움직이는 (펜티엄클럭) 8086이라고 보면 적당할 것이다. 또 실모드에서는 메모리 어드레싱 방법이 8086과 동일 20bit의 어드레스 비트를 가지고 있으며 즉 1MB 의 접근만을 허용다. 또 640KB의 base로 접근하고 384KB는 extends로 접근해야 하며 위의 메모리에는 ROM-BIOS와 Video Memory가 있다. 1MB를 접근하기 위해서는 16bit의 세그먼트와 16bit의 오프셋으로 구성된 물리적 접근이 있다.
         보호모드란 80286부터 적용된 하드웨어적 지원이다. 이는 다른 CPU에도(다른 이름으로) 존재하며 운영체제에게 안전 태스크 관리와 보다 빠른 Context Switching 을 적용할 수 있다. 이를 위해 몇몇의 assemble 코드가 추가 되었으며 80386 부터는 코드가 확장되어 보다 큰 메모리를 어드레스 할 수 있게 되었다. [[BR]]
         ''' 왜 보호 모드가 필요가 '''[[BR]]
         보호모드가 없을 경우 커널은 자신을 지키기 위 하드웨어적 방법을 잃게 된다. 만약 일반 유저 어플리케이션에서 아무런 제약없이 커널의 메모리 블럭에 접근할 수 있다면 ... 으..생각만해도 끔찍하다.
         이를 위해 각각의 어드레스 접근에 privilege level을 두었고 이를 각각의 Application에 적용시켰다. 보호모드의 경우 멀티태스킹을 지원하기 위 방법이다. 이는 지속적이고 반복적으로 일어나는 Context Switching 을 하드웨어적인 방법으로 만들어 소프트웨어적인 방법보다 빠른 Context Switching을 통해 하드웨어의 효율성을 높였다. 보호모드를 위 레지스터와 방법들..
         디스크립터는 세그먼트에 접근을 위 정보를 담고 있다.
         중요 것 DPL란 세그먼트에 접근 가능 레벨을 말다.
         GDTR은 GDT (Global Descriptor Table)을 정의하기 위 레지스터이다. GDT의 용도는 무엇인가? 글로벌 메모리는 어떠 태스크라도 접근 가능 메모리를 말다. 그리고 이를 정의하는 레지스터가
         GDT이다. 하나의 GDT가 존재하며 GDT에는 LDT의 베이스주소를 계산하는 데 쓰인다. GDTR은 48 BIT로 이루어졌으며 GDTR의 32 BIT의 BASE 주소와 16 BIT의 리미트 부분으로 나누어지며 BASE는 GDT의 시작 어드레스를 말하며 리미트는 GDT의 크기를 말다. GDT가 가지는 최대 디스크립터는 8192이다.
  • JavaStudy2004/자바따라잡기 . . . . 30 matches
          자바(JAVA)하면 섬나라 자바를 연상케 다. 그러나 미국 사람들에게 자바는 에스프레소 커피로 유명 커피 체인점을 생각 하게 된다. 유래는 커피체인점이고, 커피의 대명사로도 사용된다.
          그런데 언제부터인지, 네트워크의 대명사인 인터넷에서 이 자바 커피가 하나밖에 없는 독특 향기를 뿌리고 있다. 인터넷을 좀 아는 사람이라면 자바를 들어보지 못 사람은 거의 없을 것이다. 자바는 월드와이드웹 상에서 프로그램을 실행할 수 있게 하는, 네트워크를 기반으로하는 언어로, 인터넷 프로그래밍 언어의 표준이 되었다.
          자바가 인터넷 세계에서 관심의 초점이 된 것은 먼저 세계를 하나로 엮는다는 인터넷을 기본 환경으로 하고 있으면서 인터넷에 연결되는 수많은 서로 다른 운영체제(OS)들에서 동일 모습으로 프로그램을 실행할 수 있다는 점이다.
          자바의 탄생 배경을 알면 자바 언어의 특성에 대 이해가 쉬워질 것이다.
          자바는 가전 제품에 들어갈 소프트웨어를 만들기 위해 탄생했다. 자바를 개발 사람은 선 마이크로시스템즈 사의 제임즈 고슬링(James Gosling)이라는 사람이다. 그는 특정 컴퓨터 칩에 대해 컴파일하여야 하는 널리 알려진 컴퓨터 언어인 C 언어의 문제점, 또 가전 제품의 긴 수명으로 인 완벽 호환을 가진 소프트웨어의 개발 요구, 가전 제품에 사용될 소프트웨어의 높은 신뢰성 필요 등의 문제에 대 해결방안을 모색 해야만 됬다.
          이 문제를 해결하기 위하여 고슬링은 C와 C++를 개조해서 해결을 해보려고 시도를 했던 것이다.그래서 C언어의 불필요 부분이나 문제가 될 부분들을 제거 새로운 언어를 개발하게 되였는데, 이것이 바로 자바인 것이다. 최초로 자바를 이용 프로젝트는 가전 제품과 전기 기기들을 통합하여 가정 환경에 새로운 인터페이스를 제공하는 소위 그린 프로젝트(Green Project)라는 것 이였다. 그러던 1993년, 그래픽 기반의 월드와이드웹이 발표되고 자바의 개발자들은 곧 이러 웹 기반의 응용 프로그램에는 자바와 같은 기기(컴퓨터 및 그 운영체제)로부터 독립된 언어가 이상적이라는 것을 발견하였다. 그리하여 그들이 개발 것이 나중에 핫자바(HotJava)로 이름이 바뀐 웹러너(WebRunner)라는 웹 브라우저였다. 이것이 최초로 자바를 지원 웹 브라우저가 되었다. 자바라는 이름은 지역의 어느 커피점 안에서 얻었다. 그래서 지금은 웹 페이지에서 항상 끓고 있는 커피의 상징을 볼 수 있다.
          *1. 최근의 컴퓨터 분야의 용례에서, 가상머신은 자바 언어 및 그 실행 환경의 개발자인 썬 마이크로시스템즈에 의해 사용된 용어이며, 컴파일된 자바 바이너리 코드와, 실제로 프로그램의 명령어를 실행하는 마이크로프로세서(또는 하드웨어 플랫폼) 간에 인터페이스 역할을 담당하는 소프트웨어를 가리킨다. 자바 가상머신이 일단 플랫폼에 제공되면, 바이트코드라고 불리는 어떠 자바 프로그램도 그 플랫폼에서 실행될 수 있다. 자바는, 응용프로그램들이 각각의 플랫폼에 맞게 재작성 되거나, 다시 컴파일하지 않아도 모든 플랫폼에서 실행되는 것을 허용하도록 설계되었다. 자바 가상머신이 이를 가능하게 다. 자바 가상머신의 규격은 실제 "머신"(프로세서)이 아닌 추상적인 머신을 정의하고, 명령어 집합, 레지스터들의 집합, 스택, 가배지를 모은 heap, 그리고 메쏘드 영역 등을 지정다. 이러 추상적, 혹은 논리적으로 정의된 프로세서의 실제 구현은, 실제 프로세서에 의해 인식되는 다른 코드, 혹은 마이크로프로세서 그 자체에 내장될 수도 있다. 자바 소스 프로그램을 컴파일 결과를 바이트코드라고 부른다. 자바 가상머신은, 실제 마이크로프로세서의 명령어에 그것을 대응시키면서 번에 명령어씩 바이트코드를 해석하거나, 또는 그 바이트코드는 실제 마이크로프로세서에 맞게 JIT 컴파일러라고 불리는 것을 이용해 나중에 컴파일될 수도 있다.
          *3. IBM에서 말하는 가상머신이라는 용어는 또, 내재된 콘트롤 프로그램에 의해 교대로 관리되는 운영체계를 의미하는데 사용되기도 다. 그렇기에, IBM의 VM/ESA는 IBM S/390시스템 상의 다중 가상머신을 조정할 수 있는 것이다.
          "실행되고 있는 프로그램은 간혹 가상머신이라고 불려진다. - 실제 물리적인 현실로 존재하지 않는 머신. 가상머신 아이디어는, 그 자체로 기술의 역사에서 가장 멋진 아이디어 중의 하나이며, 소프트웨어에 관 아이디어의 진화에 있어 매우 결정적인 단계라고 말할 수 있다. 그것을 따라잡기 위해, 과학자와 기술자들은 프로그램을 운영하는 컴퓨터가, 단지 세탁이나 하는 세탁기가 아니라는 것을 인식해야만 했다. 세탁기는 그 안에 어떠 옷들을 넣는다 해도 여전히 세탁기이지만, 컴퓨터는 새로운 프로그램을 넣는다면, 그것은 완전히 새로운 기계가 된다.... 가상머신, 그것은 소프트웨어를 이해하는 방법이며, 소프트웨어의 설계가 기계의 설계와 다르다는 것을 생각하게 다."
  • JavaStudy2004/클래스상속 . . . . 30 matches
          상속은 객체 지향 프로그램에서 가장 중요 개념 중의 하나이다. 이것은 자바클래스를 직접 디자인하는 문제에 영향을 미친다.상속은 다른 클래스의 정보를 동적으로 액세스하도록 해주기 위해서 그 클래스와 다른 클래스와의 차이를 명시해주면 된다.
          각 클래스는 상위클래스(superclass)를가지며 하나 이상의 하위클래스(subclass)를 가진다.클래스들의 계층을 따라 내려가는 것을 상속된다고 다.
          하위클래스는 상위클래스로부터 모든 메소드와 변수들을 상속받는다.상위클래스가 필요 행위를 정의했으면 재정의하거나 다른 클래스로부터 복사할 필요도 없다. 상속받은 클래스는 자동적으로 상위클래스의 행위를 자동적으로 가지게 된다.자바 클래스 계층의 제일 위에는 Object라는 클래스가 있다. 모든 클래스는 이 클래스로부터 상속을 받는다. 각 클래스들은 특별 목적에 맞추어 특정 정보를 추가적으로 가지게 되는 것이다.
          자바 클래스를 새로 작성할 때 대부분 다른 클래스가 가지는 정보와 몇 가지의 추가적인 정보를 가지게 할 것이다. 예를 들어 새로운 Button을 만들려고 다면 클래스에 Button으로부터 상속받을 수 있도록 정의하기만 하면 된다. 따라서 Button과 다른 특징에 대해서만 신경 쓰면 된다.
          이러 메커니즘을 subclassing이라고부른다.
          많은 클래스를 만들기 위해서는 기존의 클래스 계층을 이용할 수도 있고, 자신만의 클래스 계층을 만들 필요도 있다. 이러 계층을 만들기 위해서는 몇 가지 생각할 점이 있다.
          * 다른 클래스에 공통적인 정보를 추출해서 상위클래스에 넣고 하위클래스에서 다시 사용하도록 다.
          * 클래스의 행위를 바꾸면 자동적으로 하위클래스의 행위를 바꾸게 다. 따라서 재컴파일할 필요가 없다.
          예를 들어 Motorcycle클래스와 같이 Car라는 클래스를 만드는 것을 생각하자. Car와 Motorcycle은비슷 특징들이 있다. 이 둘은 엔진에 의해 움직인다. 또 변속기와 전조등과 속도계를 가지고 있다. 일반적으로 생각하면, Object라는클래스 아래에 Vehicle이라는 클래스를 만들고 엔진이 없는 것과 있는 방식으로 PersonPoweredVehicle과 EnginePoweredVehicle 클래스를 만들 수 있다. 이 EnginePoweredVehicle 클래스는 Motorcycle, Car, Truck등등의 여러 클래스를 가질 수 있다. 그렇다면 make와 color라는 속성은 Vehicle 클래스에 둘 수 있다.
          인스턴스 변수의 경우 클래스에 새로운 변수를 만들었다면, 현재 클래스의 변수와 상위클래스에서 정의된 모든 변수를 가질수 있다. 따라서 모든 클래스들의 조합으로 현재의 객체를 위 템플릿을 형성하게되고 필요 정보를 채우는 것이다.
          메소드도 비슷하게 작동다.새로운 객체는 상위클래스의 모든 메소드 이름을 액세스다. 그러나 메소드가 호출될 때마다 동적으로 메소드 정의가 선택된다. 특정 객체에 대 메소드를 호출하면 자바는 제일 먼저 그객체 클래스의 메소드 정의를 살펴본다. 그 객체 클래스에 정의되지 않았다면 그 메소드 정의를 발견할 때까지 상위클래스를 찾게될 것이다.
          만일 하위클래스에서 상위클래스의 메소드의 이름과 인자의 타입을 똑같이 가진 메소드를 정의다고 하면 어떻게 되는가? 이것은 계층적으로 아래에 있는 것이 먼저 실행되게 되어 있다. 이러 방식으로 임의로 상의클래스의 메소드를 감추고 하위클래스에 필요 메소드를 정의할 수 있다. 바로 중복(overriding)이라고 부르는 것이다.
          * 공격다, 홀드다, 무브다, 스탑다(상태를 바꿔줌)
          * 질롯마리, 드라군마리씩을 만든다.
          * java의 함수에서는 디폴트 전달인자는 없나요?? 디폴트 전달인자가 있다면 함수의 수를 상당히 줄일수 있을것 같은데. - [이승]
          * 또 super()에의 부모 클래스에 대 값 전달은 생성자에서만 되는 건가요?? -- [이승]
          예를들면 위 circle 클래스의 getName 메소드에서 사용 것처럼요 super.getName() 이렇게 --[iruril]
  • Refactoring/BadSmellsInCode . . . . 30 matches
         Refactoring이 동작하는 매커니즘을 아는 것 만큼 중요 것은, 언제 Refactoring을 적용할까 하는 것이다.
         여기서 딜레마가 온다. 어떻게 인스턴스 변수를 삭제하거나 클래스 계증구조를 만드는가를 표현하는 것은 쉽다. 그건 사소 문제들이다. 하지만 언제 이러 것들을 해야 할 것인지 표현하는 것은 쉽지 않다. 나는 (여기서의 I는 Martin Fowler) 프로그래밍 미학이라는 모호 표현으로 얼버무리지 않고 좀 더 확실 것을 원했다.
         내가 이 문제로 Kent Beck 을 방문했을 때 그는 "언제" 를 설명하기 위해서 "Smell" 이라는 표현을 사용했다. 우리는 많은 코드들을 보았고, 그것들을 보면서 Refactoring이 적용가능 어떤 구조를 발견했다.
         여기에서 우리는 Refactoring이 적용가능 아주 정확 척도를 제공하려고는 하지 않을 것이다. 경험상, 어떠 측정도구들도 숙련된 인간의 직관의 경쟁상대가 될 수는 없었다. 우리가 하려는 것은 Refactoring에 의해 해결될 수 있는 문제들이 있는 몇몇 부분을 지적하려는 것이다.
         어떠 Refactoring을 해야 할 지 확신할 수 없을때 이 부분을 읽어라. 정확하게 똑같은 Smell을 발견할 순 없더라도 Refactoring에 대 올바른 방향을 가리켜 줄 지침이 될 것이다.
          * 두개 이상 서브클래스 내 중복코드시 - ExtractMethod 뒤 PullUpField
          * 코드는 비슷하지만 똑같지는 않은 경우 - 비슷 부분에 대해서 ExtractMethod
          * 새 데이터베이스가 생길때마다 3개의 메소드를 바꿔야 다.
          * 바뀌어야 하는 경우들을 명확하게 뒤 ExtractClass 하여 하나의 클래스에 모은다.
          * switch-case 부분을 ExtractMethod 뒤, polymorphism이 필요 class에 MoveMethod 다. 그리고 나서 ReplaceTypeCodeWithSubclasses 나 ["ReplaceTypeCodeWithState/Strategy"] 를 할 것을 결정다. 상속구조를 정의할 수 있을때에는 ReplaceConditionalWithPolyMorphism 다.
         일어날 가능성이 거의 없는 일까지 다 대비 필요없는 코드. 모든 기능들과 절차들은 제대로 이용되었을때 쓸모있다.
          * 불필요 Delegation - InlineClass
          * 추상적인 두리뭉실 메소드 이름 -_-; - RenameMethod 로 지상으로 내려오도록 하라는.. --;
         특별 상황에서만 세팅되는 변수를 가진 객체.
         사적인 부분(?)에 대해서 지나치게 관심을 기울이는 위험(?) 클래스들.
         나쁜 냄새를 가리기 위 방향제로 사용되는 주석. --;
         주석을 이용할 좋은 시기는 도대체 무엇을 해야 할 지 모르겠을 때 이다. 무엇을 할 것인지 주석으로 먼저 서술함으로서 주석은 프로그래머가 무엇을 해야 할 지 확신할 수 없을 때 좋은 지침서가 된다. 주석은 ' ''왜'' 당신이 이것을 하는가' 를 말하기 위 좋은 장소이다.
         전에 JuNe 형이 최기의 신기통을 언급하면서 Metaphor 로서 'Smell' 이 잘 맞아떨어짐을 이야기하던게 생각. '냄새란 일단 그 자체로 악취를 풍길 뿐만 아니라, 밖으로 점차적으로 퍼지고, 사람에게 배어들 수 있으며, 사람에게 배어들고 나면 그 사람이 냄새에 대해 인식을 하지 못다.'. Smell 에 민감 사람들은 작은 Refactoring 도 잘 해낼 수 있다. -- ["1002"]
  • SystemEngineeringTeam/TrainingCourse . . . . 30 matches
          * 여러가지 도메인이 가능했으나 글 이름으로는 짧은 도메인이 불가능. 닉네임으로 쓰고 있는 bluemir를 사용해서 가능 도메인 중에는 .org .net .me 등등이 가능했으나 .com은 불가능. 어차피 개인 도메인으로 사용할 예정이었고 .org 와 .net 보다는 .me가 조금더 맞는듯 도메인 이었음. 글이름 이니셜만 따서 .com을 사용해볼려 했으나 내 개인 도메인이라는 느낌이 들지않아서 위의 도메인으로 결정.
          * 여러 도메인 구매대행 업체를 비교하였으나 가격과 서비스는 큰 차이가 없었음. 결국 결제가 가장 편곳을 찾게 되었는데 [http://www.dotname.co.kr/ 닷네임 코리아]는 무통장 입금 방식의 결제가 가능했음. 개인별로 임시 계좌번호를 만들어 입금하면 바로 확인 되는 형식이라 별도의 확인 전화를 하거나 상대편에서 확인할때까지 기다릴 필요가 없었음. [http://www.hosting.kr/ hosting.kr]은 AcitveX방식의 결제를 해야 쉬운 결제가 가능하고 그 이외에는 절차가 너무 복잡해서 쓰지 않았음.
          * jereneal.me보다 훨씬 짧은데 사용가능 도메인이었음. jkim은 jereneal kim도 되고, (tae) jin kim도 됨. .com등의 도메인은 없었음.
          * 저 5가지중에 적당게 없으면 어떡하죠? -- simple 그럼 다른 5가지를 또 고르면 됨.
          * stylesha.re처럼 이어지는 도메인(rabier.re)으로 정하고 싶어 .re를 알아보았다. .re는 프랑스령의 섬인 레위니옹의 ccTLD. AFNIX에서 관리다고 다. 처음에 AFNIX 사이트에서 도메인 구입을 하려 했으나 회원가입도 변변히 못하고 쫒겨났는데 다시 찾아보니 [http://ko.wikipedia.org/wiki/.re 레위니옹 이외의 조직 또는 개인에게 아예 할당을 하지 않는 모양..]
          * 1년 99달러여서 쿡보다 싸다고 생각했는데 whois 개인정보 보호 서비스를 구매했더니 더 비싸졌다..
          * 후이즈, 호스팅케이알, 가비아, 아이네임즈 등 여러 사이트들을 찾아보았으나 서비스내용은 비슷것 같고 아직 모르는 내용들도 많아서 가격기 가장 싼 호스팅케이알에서 구입.
          * .com은 이미 등록되어있었고, .org .net .info .me 등 중에서 .net이 가장 싸서 이걸로 결정, 주로 네트워크회사 등에서 사용다지만 가격이 우선함.
         ||비슷 일반 데스크톱 운영체제||Fedora||ubuntu||FreeBSD|| ||
          * [안혁준] - 우선 Window서버는 원격으로 관리하기가 매우 귀찮고 POSIX호환도 안되므로 일단 제외. UNIX/Linux계열중 활발 활동이 있는데는 FreeBSD와 Redhat계열, 데이안 계열(Ubuntu).
          * Fedora - 주로 데탑으로 많이쓰이고 업데이트가 빠르며 다양 패키지들을 사용할수 있지만 다소 불안정함. 사실 연습용 서버로 쓰기에는 큰 무리가 없다.
          * RHEL - 실제로도 많이 쓰이고 확실 서버지원과 문제 해결이 가능하지만 유료.
          * CentOS - RHEL의 클론 버전. 라이센스 문제때문에 들어가지 못 패키지를 Open Source Software로 교체. 뛰어난 안정성을 자랑함. 다만 안정성을 택대신 패키지의 종류가 적고 업데이트가 매우 느린편. 아직도 jdk 1.6버전이라는 소문이 있다.
          * Ubuntu - 맥분투라고 비난받고 있는 리눅스 뛰어난 사용자 편의성과 GUI를 갖추고 있고 문제 해결에 실마리가 될 포럼이 가장 활발하다. 하지만 대부분의 문제는 XWindows(이걸 뭐라 부르지..)쪽 문제. 빠른 패치와 다양 패키지를 갖추고 있지만 언제 지원이 끊길지 모른다.
          * FreeBSD - 솔직하 깔아서 쓰기 전까지는 모르겠다. 일단 패키지 관리자 비슷것은 존재하는 것 같고 서버를 위 지원도 활발것 같다.
          * 직접 써보기 전까지는 모를것 같다. 각 운영체제를 비교할려해도 그져 features를 읽거나 근거가 없는 뭐가 좋더라 식의 글들을 읽는 것 밖에 없다. 내가 중요시 하는 건 "어떤기능이 된다"가 아니라 "비교적 쉽게 되고 마음만 먹으면 세세 셋팅도 할수 있다"를 원하기 때문에 features만 읽어서는 판별할수가 없다. 직접 써보고 비교해 보면 좋겠지만 그럴 여건도 안되서 조금 안타깝다. 사실 CentOS와 FreeBSD 중에서 CentOS를 쓰고 싶은데 도저히 적절 이유를 찾을수가 없었다. 그렇다고 FreeBSD를 쓰자니 FreeBSD가 좋은 이유를 찾을수 없었다.
          * 서영주 - 사용 비율, 포럼의 활성화 정도도 ubuntu쪽이 더 높은 것 같고 CentOS쪽이 안정성이 높다고는 하지만 어차피 지원을 받을 수 있는 RHEL과 비교하면 크게 차이는 없다고 다. 하지만 써본 적이 없으므로 배우고 싶다는 이유로 CentOS쪽을 써보고 싶습니다.
          * 서민관 - trello 쪽에 있는 서버 운영체제 요건을 봤을 때 대부분이 큰 차이가 없는 것 같고 안정성 면에서 CentOS, 업데이트 속도 면에서 Fedora/Ubuntu 라는 느낌이라서 둘 중에 어느 쪽에 중점을 두느냐에 따라 결정이 갈리는 것 같습니다. 이런저런 생각의 결과 Ubuntu 계열을 사용하기로 결정했습니다. 이유는 여럿 있는데, 첫째는 지금까지 Ubuntu를 좀 써 본 만큼 익숙 환경에서 하는 것이 그 외의 문제에 시간을 덜 쓰고 문제 자체만을 다루기에 좋을 것 같다는 것입니다. 그리고 두 번째로 이번에 Raspberry pi를 구매했는데, 이쪽에서 기본적으로 제공하는 운영체제가 Debian 계열이라서 Ubuntu에서 작업을 해 보면 Raspberry pi에서도 좀 더 작업을 편하게 할 수 있지 않을까 하는 생각이 들어서 Ubuntu 계열을 쓰기로 결정했습니다.
          * 일단 FreeBSD는 맥계열이라 제외 맥에대 서버는 관심이 없다. Ubuntu와 CentOS중에서 Ubuntu가 더 익숙하고 사용하기 편하지만 CentOS선택.
          * 이유 : Ubuntu는 데스크탑으로 사용중이기에 Debian계열의 apt-get패키지는 사용 적이 있다. 반면 CentOS의 yum패키지는 사용해 본 적도 별로 없고 사용하였을때 의존성문제로 많은 애러를 보았기에 이를 공부해 보고자 선택. 또CentOS가 서버로 많이 사용된다는 점을 들어 문재해결시 도움이 될 자료가 많을 것 같아서 선택
  • UnixSocketProgrammingAndWindowsImplementation . . . . 30 matches
         // sockaddr_in 은 TCP/IP체제 이므로 AF_INET만 사용다. -> TCP/IP는 인터넷 기반이므로.
         NULL : 임의의 포트를 할당다. client에서 사용다.
         // u_short sin_port 은 Big-Endian을 사용다.
         // 따라서 Little_Endian을 사용하는 시스템에서는 Big-Endian으로 바꿔줘야다.
         INADDR_ANY : 자기 자신의 주소를 할당다. (== 0)
         cf. 도메인 네임을 통 연결은 설명하지 않겠습니다.
          inet_addr(): 주소를 long형으로 계산하고 htonl()를 사용해 Big-Endian으로 변환 후 값을 return 다.
          // 이것을 A5C21B81로 바꿔 저장다.
         // sin_zero 배열은 항상 0으로 채워져 있어야다.
          ina.sin_port = htons(PORT); // PORT의 경우 정수를 넣어야다.
          // SERVER_IP의 경우 문자열 포인터를 넣어야다.
         = Server 가 될 프로그램에 필요 함수 =
         // backlog는 서버에 접속할 사람의 대기자 Maximum을 의미다.
         = Client 가 될 프로그램에 필요 함수 =
         == connect - Server에 연결다. ==
          ※ connect와 server 함수중 어떠 함수가 닮았는지 이야기 해보자.
         = 정리에 필요 함수 =
         // 성공 시 전달 바이트 수, 실패 시 -1 리턴
         // 성공 시 수신 바이트 수(단 EOF만나면 0), 실패 시 -1 리턴
         Project -> Setting -> LINK 메뉴 -> Object/library modules: 의 끝부분에 ws2_32.lib 를 추가다.
  • 이영호/개인공부일기장 . . . . 30 matches
         ☆ 구입해야할 책들 - Advanced Programming in the UNIX Environment, Applications for Windows, TCP/IP Illustrated Volume 1, TCP/IP Protocol Suite, 아무도 가르쳐주지않았던소프트웨어설계테크닉, 프로젝트데드라인, 인포메이션아키텍쳐, 초보프로그래머가꼭알아야할컴퓨터동작원리, DirectX9Shader프로그래밍, 클래스구조의이해와설계, 코드줄없는IT이야기, The Art of Deception: Controlling the Human Element of Security, Advanced Windows (Jeffrey Ritcher), Windows95 System Programming (Matt Pietrek)
         ☆ 앞으로 공부해야할 책들(사둔것) - Effective C++, More Effective C++, Exeptional C++ Style, Modern C++ Design, TCP/IP 네트워크 관리(출판사:O'Reilly), C사용자를 위 리눅스 프로그래밍, Add-on Linux Kernel Programming, Physics for Game Developers(출판사:O'Reilly), 알고리즘(출판사:O'Reilly), Hacking Howto(Matt 저), Windows 시스템 실행 파일의 구조와 원리, C언어로 배우는 알고리즘 입문
         ☆ 레퍼런스 - 리눅스 공동체 세미나 강의록, C언어 함수의 사용법(함수 모음), 데비안 GNU/LINUX, C사용자를 위 리눅스 프로그래밍, Add-on Linux Kernel Programming, Secure Coding 핵심원리
         4일 - 공부 계획 새로 세움. 아래의 계획은 2학기와 겨울을 거쳐 수행할 것들이다. 또 임베디드에 관해 공부해야 할것이 생길 것 같다. 리눅스 커널과 C언어를 다시 번 Guru 수준으로 끌어 올리는 공부를 하자.
         ※ Assembly 어를 확실히 마스터 해야다.
          Block 단위로 Assembly어를 해석, 해독 할 수 있어야다.
          PE의 구조 공부가 필요가?
         7일 (일) - 어제 내가 적은 글에 대 생각 생각. 내 생각이 옳다고 생각되어 반박 반박.
         이러 논쟁은 적을 만들기 쉽지만, 일부분은 받아들이고 옳다고 생각 되는 내 생각은 변하지 않는 것이 좋다. 내 생각이 그른 것이 아니기에. 가식은 싫다.
         3일 (수) - Real Time Signal (기초) - fcntl, umask, 등의 함수에 대 깊은 공부가 필요함.
         2일 (화) - 다시 침체기(현 공부과정을 단계 끌어올리기 위해 기존 공부하는 것을 심도있게 나가기로함.), 프록시서버 구현: [이영호/프록시서버구현]
         1일 (월) - 차례 내 실력이 워핑 했다. 높은 수준으로 올랐다. PCB와 Linux Kernel에 관 것을 배웠다.
         ☆ 1일 (월) - struct task_struct 의 SUPERUSERBIT를 flagon 시킬 수만 있다면 root의 권을 얻을 수 있다. kernel의 조작에는 회의적이지만 간접적으로 만질 수 있는 방법을 찾아봐야다.
         26 (화) - Compilers, C++(다양 Virtual 상속, Class의 메모리 구조-C의 구조체와 대비하여/Class는 구조체로 포인터함수를 사용해 구현 메모리 구조와 비슷하다.)
         - 26 (화) - malloc, new로 생성되어지는 메모리 구조. dynamic memory alloc은 변수(클래스)앞 1WORD(32비스에서 4바이트) 앞에 정보(크기, 위치, 사용)를 저장다.
         - 26 (화) - 이러 CPU 구조를 무시하고 원래 크기를 사용하려면 pragma 전처리기로 !!!구조체 선언 사이에!!! pack(1)을 해준다. 1바이트가 1WORD란 뜻이다. 구조체 선언의 끝에는 unpack을 써준다.
         25 (월) - Compilers(달에 1단원씩 떼기로 결정. 읽은곳 계속 읽어야 이해가 가능함. 오래전에 쓰여져서 상황도 과거로 이해해야함.), C++ Class 상속의 이해, 상속과 다형성
         공부. 학벌에 대 자격지심은 누구나 있을 것이다. 하지만 이것은 나에게 있어서 자격지심의 정도를 넘은 것 같다.
         나만 제외하고 대학이 그러니... 내 인생이 나를 끌어당기기 시작다. 여기에 하루하루 내가 공부 내용을 적으려다.
         즉, 10년이 지나서 내가 걸어온 길이 제대로 된 길이어야다. 미래를 바라보며 공부를 시작해보자.
  • 정모/2011.5.2 . . . . 30 matches
          * 중간고사 이전의 프로젝트, 스터디 모임에 대 소개시간
          * 학년 제이 없다.
          * 영어 점수를 따로 요구다기 보다는 전화 면접 등이 전부 영어라 영어를 못하면 입사가 어렵습니다.
          * 다른 회사보다 매우 복잡 과정이며, 사람을 뽑더라도 모든 사원이 빠짐없이 참여해 논의를 해야 합니다.
          * 사원이 프로젝트를 3번 말아 먹었는데 잘리기는 커녕 수고했다고 성과급 받았다는 후일담을 해주셨습니다.
          * 2011 IBM 똑똑 애플리케이션 공모전 안내
          * 이번 정모는 보통 하던 정모에 비해 빠르게 진행이 되었던 것 같네요. Google Campus Recruit를 들으면서 예전에 Google 캠 톡톡이었나 거기 신청했는데 안됬던 씁쓸했던 기억이 나긴 했지만 나중에 어떤 이야기가 있었는지 들어서 좋은 정보였다는 기억이 났습니다. 이번 내용도 그 때 들었던 이야기랑은 크게 다르지 않았던 것 같았던 것 같습니다. 그리고 우리 학교에는 안오네 이러고 관심을 끄고 있었던 생각도 들고 -_-; 이번 OMS를 들으면서 난 좋아는 하는데 잘 하지는 못하는 분류에 속해 있구나 라는 생각이 들면서 분발해야 겠다고 느꼈습니다. 학교 수업에 질질 끌려 다니는 제 모습이 오버되면서 편으로는 예전에 친구가 링크해놔서 봤었던 글(대학 수업이 무슨 수능을 준비하는 고등학생의 수업과 다른게 없는 것 같다라는)도 생각났습니다. (쩝.. 암울해지네 -ㅅ-;) - [권순의]
          * 정모에 뒤늦게 가서 OMS나 앞부분 정모는 대부분 참여를 못했지만 IBM공모전이나 삼성소프트웨어 멤버쉽같은 여러 활동을 항상 동아리때문에 바쁘다, 능력이 안된다는 핑계로 다른세계 이야기로만 생각해왔었는데 능력을 키우건 어쩌건 되는게 중요게 아니라 도전을 해볼 필요도 있겠구나 싶었습니다. 하지만 이런 생각을 항상 하면서도 다음날 자고일어나면 금방 잊게되는게 문제네요.. 저도 이제 학교수업만 듣고 학점을 위 공부가 아닌 진짜 나중을 위해 필요 공부를 해야겠다고 느껴지지만 이것도 역시 쉽게 불타오르고 실천하지 않는 제 모습이 뻔히 보이네요.. 그러지 말아야할텐데 - [경세준]
          * 이번 OMS에서 많이 아쉬움을 느꼈습니다. 준비도 약간 부족했고 했던 얘기를 반복하게 되고 오프 더 레코드 이야기를 너무 많이 것 같아요;ㅅ; 제로페이지 학우들에게는 뭐라도 말해주고 싶은데 아는게 쥐뿔도 없어서 그런가봐요ㅠ_ㅠ 구글 캠퍼스 리쿠르팅의 내용은 구글캠 톡톡톡이 생각나서 이것저것 껴들어서 말거 같구요..;; 나이값좀 해야겠다고 느낀 정모였습니다. 흑흑 - [Enoch]
          * 전 오프 더 레코드 이야기를 들어서 좋았어요 ㅋㅋㅋ 전에 몇몇 ZeroPager들과 ZeroPage에서 학교 밖의 이런 저런 정보들이 많이 오갔으면 좋겠다는 이야기를 적이 있었는데, 구글캠 톡톡톡이나 교환학생, IBM 캠퍼스 위자드 등 다양 활동을 하신 경험을 공유해주셔서 전보다 ZeroPage에서 접할 수 있는 내용의 폭이 넓어지는 것 같아요~ 감사합니다 ㅋㅋ - [김수경]
          * 정모는 제 시간 전에 갔으나 저녁 못 먹었다고 카벅 ㅊㅁㅊㅁ하러 갔다온 덕분에 앞부분을 살짜쿵 놓쳐버렸습니다. google->IBM->삼성으로 이어지는 각종 홍보가 많아서 하나라도 참여해보고 싶지만 이 상태에서 일을 추가했다간 이도저도 아닌 상태가 되기때문에 하지 못하는게 정말 아쉽더라구요 ㅠ 11월에 정통부장 끝나고 보죠. 그리고 11학번, 10학번이 staff로 참여했으면 하는게 제 개인적인 생각입니닼(특히 박레기) 그리고 지원이 누나 OMS에서 진로에 대해서 꽤 알아가는게 많았구요, 어제 회계와사회 시간에 박인선 교수님이 비슷 얘기 또 해서 놀랐습니다. 그나저나 학생회를 게 꽤 큰 문제더군요. 뭣 좀 할라치면 과 행사하는거 다 참여해야되니;;; '''프로그래밍 경진대회 준비하기 힘들어요. 참가 좀 많이 해주세요.''' - [윤종하]
          1. 똑똑 지구를 위 똑똑 애플리케이션 공모전 많이들 참가하셨으면 좋겠어요. 저도 작년에 신청만 하고 결과를 못 낸 아쉬움이 있어 올해 다시 도전해볼까 생각중입니다. 공모전이라고 해서 복잡하고 대단 프로그램을 만들어야 하는 게 아니라 사소 아이디어를 잘 다듬어 참가할 수 있는 공모전이라고 생각합니다. - [김수경]
          * 요약은 내가 게 아닌데.. 중간에 Can't Save 나와서 너랑 충돌 있는줄 알았어. 다른 사람이었군;; - [Enoch]
          * 너가 거였음? 오 땡큐땡큐ㅋㅋㅋㅋㅋ 어쩐지 디피스터디 내용이 매우 자세하다 싶긴 했어!! ㅋㅋㅋㅋ - [김수경]
          * 정모 후기를 쓰는데 조금 늦었네요 ^^; 이번 정모에서 많은 인원이 참석하지는 못했지만, 좋은 내용들이 많았던 것 같아요. IBM의 똑똑 타이틀을 달아놓은게 상당히 흥미로웠습니다.(그런데 공모전에 내놓을 만 실력은 아닌것 같군요) 캡스톤 설계실에 저번에 황현하고 같이 가본적이 있는데 많은 사람들이 팀 프로젝트를 하고 있었던 걸로 기억합니다. 음 그래서 말인데, 제로페이지 회원이 아니더라도 팀 프로젝트가 있으면 거기 가서 써도 되나요?(아 이거 정모에서 말을 했던가? 기억이 잘 안나네요ㅋㅋ;) - [신기호]
          * 팀원 모두 ZeroPager가 아니면 그건 ZeroPage 할당된 공간을 쓸건 아니고 따로 교수님께 연락드리거나 해서 공간을 할당받아야 할 듯. ZeroPager와 비 ZeroPager가 팀이라면 ZeroPager가 대표가 되어 프로젝트 지원서를 작성하고 임원진에게 제출하면 사용할 수 있어~ - [김수경]
          * 늦은 후기~ 항상 두주 뒤에 후기를 쓰는듯하네요.. 이번 정모에서는 공모전등 여러 활동에 대 공유가 있었습니다. 유용 정보를 나누어 보기가 좋았습니다. 그냥 그런게 있군 하고 넘어가지 마시고 (안친해도)옆사람 찔러서 같이 공모전 나가보세요!! 제로페이지의 인력풀을 사용하시길 바랍니다ㅎㅎ 프로젝트 공유도 해주시고, 제로페이지를 빛내는 기회기도 하네요. 계속해서 이렇게 공유하는 지피가 되었으면 좋겠어요~ - [서지혜]
  • 타도코코아CppStudy/0724/선희발표_객체지향 . . . . 30 matches
          * Identity(식별) - 각 객체는 다른 객체로부터 분리되고 있고, 분별 가능해야 다.
          * Classification(분류) - 같은 자료구조와 행위를 가진 객체들은 동일 클래스(class)로 분류된다.
          같은 클래스에서 생성된 객체들은 모두 같은 연산(operation) 기능을 갖고 있으며, 자료구조가 같고 동일 행위를 하게 된다.(자료구조는 객체들이 갖는 데이타와 속성(attribute)들의 집합이다. 그러나 데이터와 속성의 값은 물론 다르다.)
          예를 들어 '이동(move)' 이라는 기능이 '교수'라는 클래스에 적용될 때는 자택의 이사가 될 수 있으나, '승용차'라는 클래스에 적용되면 특정 목적지로 일정 시각에 정해진 속도로 움직이는 행위가 될 수도 있다.
          * Inheritance(상속) - 계층(hierarchy)관계에 놓여 있는 클래스들 간에 속성이나 연산 기능들을 공유다.
          * 모든 프로그램의 요소를 각각의 독립적인 객체로 생각다.
          * 데이터 추상화(data abstraction) : 자료 객체(data entity)들의 중요 특성을 모형화다. 이 모형이 객체의 속성이 된다.
          * 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
          * combining data and behavior : 특정 연산 기능을 수행시킬 때 단순히 메세지만 전송하면 된다.
          상속성은 설계 및 코드의 재사용(reuse)을 도와주는 중요 개념이다.
          서브클래스가 수퍼클래스의 변수와 메소드들을 상속받을 때 필요에 따라 정의가 구체화(specification)되며, 상대적으로 상위층의 클래스 일수록 일반화(generalization) 된다고 말다.
          겉에서 그객체를 사용하기 위 사용자 인터페이스는 제공하나 데이타를 검색, 수정 그리고 함수의 이용을 위해서는 이 인터페이스를 꼭 거쳐야 되게 하는것이다.
          즉 함수나 데이터가 그것이 속해있는 객체전용으로 된다는것을 말다. 좋은 예로 자동차를 들수있다.
          자동차라는 객체 클래스를 우리가 사용하기 위해서는 알아야할 것이 운전하는 방법뿐인 것이다. 표지 판이나 교통신호등은 관계는 있으나 자동차를 움직이기 위 객체 인터페이스와는 아무런 관계가 없는것이다. 캡슐화는 기능의 조직성과 논리성을 연관시킨다.
          * 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 명은 부산에 가려고 하고 명은 대구에 오려고 다.
          그렇다면 객체를 사용하여 생기는 마지막 목적지의 차이는 어디서 생기는 것일까? 바로 유저가 머릿속에 생각 목적지의 차이, 즉 주어진 데이타의 차이에서 오는것이다.
          즉 어떠 데이타형을 가지고 원하는 만큼의 여러가지 인스턴스를 만들수 있다는 얘기이다.
          * 상속성(Inheritance) : 객체를 이루는 클래스를 만들때 이전의 정의했던 클래스와 비슷하나 다른 특이 특성을 지니는 클래스를 만드는것이다.
          다형은 기본 클래스를 바탕으로 동일 메모리 개념을 써 다양성을 부여하는 것이다.
         문제를 정의하고 이 정의로부터 모형(model)들을 제작하여 실세계(real-world)의 중요 특성들을 보여주는 단계이다. 다음과 같은 모형 들이 만들어 질 수 있다.
  • 타도코코아CppStudy/객체지향발표 . . . . 30 matches
          * Identity(식별) - 각 객체는 다른 객체로부터 분리되고 있고, 분별 가능해야 다.
          * Classification(분류) - 같은 자료구조와 행위를 가진 객체들은 동일 클래스(class)로 분류된다.
          같은 클래스에서 생성된 객체들은 모두 같은 연산(operation) 기능을 갖고 있으며, 자료구조가 같고 동일 행위를 하게 된다.(자료구조는 객체들이 갖는 데이타와 속성(attribute)들의 집합이다. 그러나 데이터와 속성의 값은 물론 다르다.)
          예를 들어 '이동(move)' 이라는 기능이 '교수'라는 클래스에 적용될 때는 자택의 이사가 될 수 있으나, '승용차'라는 클래스에 적용되면 특정 목적지로 일정 시각에 정해진 속도로 움직이는 행위가 될 수도 있다.
          * Inheritance(상속) - 계층(hierarchy)관계에 놓여 있는 클래스들 간에 속성이나 연산 기능들을 공유다.
          * 모든 프로그램의 요소를 각각의 독립적인 객체로 생각다.
          * 데이터 추상화(data abstraction) : 자료 객체(data entity)들의 중요 특성을 모형화다. 이 모형이 객체의 속성이 된다.
          * 캡슐화(encapsulation) : 객체의 내부적인 사항과 객체들간의 외부적인 사항들을 분리시킨다. 이렇게 캡슐화된 객체의 행위는 외부에서 볼 때는 구체적인 아닌 추상적인 것이 되므로 정보 은닉(information hiding) 개념이 존중된다. 주어진 클래스의 특정 연산 기능은 메소드(method)라고 다. 캡슐화는 무슨 메소드로 구현되었는가에 구애받지 않고 추상적으로 정의된 연산 기능을 통해 객체가 사용되고 시스템의 상태(state)를 변화시키도록 해준다.
          * combining data and behavior : 특정 연산 기능을 수행시킬 때 단순히 메세지만 전송하면 된다.
          상속성은 설계 및 코드의 재사용(reuse)을 도와주는 중요 개념이다.
          서브클래스가 수퍼클래스의 변수와 메소드들을 상속받을 때 필요에 따라 정의가 구체화(specification)되며, 상대적으로 상위층의 클래스 일수록 일반화(generalization) 된다고 말다.
          겉에서 그객체를 사용하기 위 사용자 인터페이스는 제공하나 데이타를 검색, 수정 그리고 함수의 이용을 위해서는 이 인터페이스를 꼭 거쳐야 되게 하는것이다.
          즉 함수나 데이터가 그것이 속해있는 객체전용으로 된다는것을 말다. 좋은 예로 자동차를 들수있다.
          자동차라는 객체 클래스를 우리가 사용하기 위해서는 알아야할 것이 운전하는 방법뿐인 것이다. 표지 판이나 교통신호등은 관계는 있으나 자동차를 움직이기 위 객체 인터페이스와는 아무런 관계가 없는것이다. 캡슐화는 기능의 조직성과 논리성을 연관시킨다.
          * 데이타형 클래스와 객체(Class and Objectas any type data) : 자동차를 움직이기 위 유저가 2명 있다. 자동차라는 객체 를 둘다 사용하는데 명은 부산에 가려고 하고 명은 대구에 오려고 다.
          그렇다면 객체를 사용하여 생기는 마지막 목적지의 차이는 어디서 생기는 것일까? 바로 유저가 머릿속에 생각 목적지의 차이, 즉 주어진 데이타의 차이에서 오는것이다.
          즉 어떠 데이타형을 가지고 원하는 만큼의 여러가지 인스턴스를 만들수 있다는 얘기이다.
          * 상속성(Inheritance) : 객체를 이루는 클래스를 만들때 이전의 정의했던 클래스와 비슷하나 다른 특이 특성을 지니는 클래스를 만드는것이다.
          다형은 기본 클래스를 바탕으로 동일 메모리 개념을 써 다양성을 부여하는 것이다.
         문제를 정의하고 이 정의로부터 모형(model)들을 제작하여 실세계(real-world)의 중요 특성들을 보여주는 단계이다. 다음과 같은 모형 들이 만들어 질 수 있다.
  • EightQueenProblemSecondTryDiscussion . . . . 29 matches
         이번에 해결할때는 각 테스트 부분에 대해 시간측정을 하고 했습니다. ( 5분간격정도 기준) 중간에 테스트를 작은 테스트로 나눌때 빼고는 보통 테스트 당 5분정도 걸리더군요.
         우.. 그리고 여전히 테스트 코드를 생각하기 어려웠던 부분이 실제 Queen 을 놓는 부분인데요. 다음과 같이 코드를 나열하고 재귀호출 부분에 대해서 유도를 하는 방법을 시도해봤습니다. 일종의 수열 찾는 방법이 되더군요. 음.. 이 부분에 대해서는 EightQueenProblem 에 대 하나의 해를 알아놓고 시작다면 TDD를 시도할 수 있을것 같다는 생각이 들긴 하는데. (문제는, 답을 구해놓고 나서야 이 생각이 났더라는. --;)
          * 하고 나니 아쉬웠던점 - 여유가 있었는데, 만들고 나니 기존에 생각했었던 방법과 비슷하게 되어버렸다는 점. 좀 더 여유를 가지고, 현재 생각 방법 자체가 복잡 방법이 아닐까 생각하면서 더 쉬운방법을 생각해낼 수 있었을텐데.. 다른 사람들의 소스를 보니 Queen에 대 대각선 처리 알고리즘 부분이 훨씬 더 단순하게 할 수 있겠더라는.
         디자인하면서, 가장 의문이 들었던 부분이 출력과 관계된 부분이었습니다. EightQueenProblem 자체가 출력이 필요 문제인지, 아닌지로 시작된 고민에.. 결국 '출력이 필요하다' 라고 결론을 내리게 되어, 출력을 원할경우, 인자로 출력 소스를 넘겨주면 지시 곳으로 출력하고, 부가적으로 output format을 지원하는 방식을 채택하였습니다.
         제가 보기에 현재의 디자인은 class 키워드만 빼면 절차적 프로그래밍(procedural programming)이 되는 것 같습니다. 오브젝트 속성은 전역 변수가 되고 말이죠. 이런 구성을 일러 God Class Problem이라고도 합니다. AOP(Action-Oriented Programming -- 소위 Procedural Programming이라고 하는 것) 쪽에서 온 프로그래머들이 자주 만드는 실수이기도 합니다. 객체지향 분해라기보다는 거대 클래스 내에서의 기능적 분해(functional decomposition)가 되는 것이죠. Wirfs-Brock은 지능(Intelligence)의 고른 분포를 OOD의 중요요소로 뽑습니다. NQueen 오브젝트는 그 이름을 "Manager"나 "Main''''''Controller"로 바꿔도 될 정도로 모든 책임(responsibility)을 도맡아 하고 있습니다 -- Meyer는 하나의 클래스는 가지 책임만을 제대로 해야다(A class has a single responsibility: it does it all, does it well, and does it only )고 말하는데, 이것은 클래스 이름이 잘 지어졌는지, 얼마나 구체성을 주는지 등에서 알 수 있습니다. (Coad는 "In OO, a class's statement of responsibility (a 25-word or less statement) is the key to the class. It shouldn't have many 'and's and almost no 'or's."라고 합니다. 만약 이게 자연스럽게 되지않는다면 클래스를 하나 이상 만들어야 다는 얘기가 되겠죠.) 가지 가능 지능 분산으로, 여러개의 Queen 오브젝트와 Board 오브젝트 하나를 만드는 경우를 생각해 볼 수 있겠습니다. Queen 오브젝트 갑이 Queen 오브젝트 을에게 물어봅니다. "내가 너를 귀찮게 하고 있니?" --김창준
          ''말씀해주셔서 감사합니다. 이해가 안되는 부분 몇가지 여쭤보겠습니다. 종합해보면, ''NQueen 자체는 어떠 보드 형태가 n-Queens problem을 만족하는것인지를 알아봐야 하고, n * n 크기의 보드를 만들어거나 만들어진 보드를 출력하는건 ''다른 누군가''의 몫이다.'' 라는 이야기가 되는건가요?(이 내용이 위에서 쓰신 '''가지 가능 ... 볼 수 있겠습니다'''의 내용인지도 궁금합니다.) 그리고, 마지막에 쓰신 '''Queen 오브젝트 갑이 Queen 오브젝트 을에게 물어봅니다. "내가 너를 귀찮게 하고 있니?"''' 의 내용이 어떤 뜻인지 궁금합니다. --이선우''
          예를 들어, Board 객체는 Queen 객체들을 만들고 배치, 자신의 상태를 출력하는 서비스를 지원하고, Queen 객체는 내가 다른 Queen 객체를 공격할 수 있는지 없는지 알려주는 서비스를 지원합니다 -- 더 나아가서 스스로 자기 앉을 자리를 찾아갈 정도로 똑똑하게 만들 수도 있겠죠. Queen 오브젝트 갑이 Queen 오브젝트 을에게 물어봅니다. "내가 너를 귀찮게 하고 있니(attackable에 대 메타포임)?", 라는 부분은 OOP로 어떻게 표현될 수 있을까 직접 생각해 보는 것이 더 좋을 것 같습니다. OOP에서 객체끼리의 의사소통은 보통 메쏘드 호출로 이루어지고, 목적어는 인자의 형태로 전달된다는 점을 고려다면 여러가지 방법이 떠오를 수 있겠죠.
         계속해서 문제점을 발견하니 재밌습니다. 또다시 OOP에 도전해봤습니다. 기본 컨셉은, 체스 말과 보드 그리고 체스 플레이어가 등장합니다. 체스 말은 자신이 놓임으로써 다른 말을 "귀찮게 하는지"를 판단하고, 보드는 이러 체스 말들이 놓이고 출력하는 일을 담당합니다. 마지막으로 체스 플레이어는 자신의 알고리즘에 따라 보드에 퀸을 배열하게 됩니다. 이번에 대각선 방향의 퀸을 체크하는 방법으로 기울기에 의 방법이 떠올랐습니다. 덕분에 대각선 체크가 깔끔해진듯 합니다. 위에서 이야기해주신 방법 가운데 '스스로 자기 앉을 자리를 찾아간다'라는 부분은, 그렇게 되면 체스 말과 보드가 서로 tightly하게 연결될 공산이 커서 고민하다가 체스 플레이어를 탄생시킨 배경이 되었습니다.
         음.. 아직 구현은 안해보고 그냥 생각해본거지만, 체스 말과 보드가 타이트하게 연결되어도 큰 문제는 아닐 것 같은데요. 보드를 Singleton 으로 모든 Queen들이 공유하는 객체로 생각해도 좋을 것 같고요. (Queen에 눈이 달렸던지, 그렇지 않으면 체스 플레이어같이 Queen이 존재하고 있는 세계에 대 답을 내려줄 신 (?) 이 존재하던지 둘중 하나가 될듯 하다는. ^^;) 아직 OO 관점으로는 그냥 생각만 해보는중. --석천
         OO 패러다임은 사물(사건 + 물건)들이 제 할 일을 스스로 알아 하는 신기하고 편리 세상을 상정합니다. 친구가 집에 찾아왔다가 방을 어지럽히고 갔습니다. 자신이 갖고있는 "깨끗 방 배치도"를 이용하거나 혹은 각 물건 당 붙어있는 "원래 위치" 꼬리표를 보고 갖다 놓을 위치와 거기로 이르는 경로를 판단, 직접 재배치를 해야하는 세상과, 벽에 지도 장을 붙여놓고 마치 마술(automagically)처럼 "모든 물건은 제 위치로!"라고 외치면 말끔히 정리가 되는 세상, 어느 것이 OOP적일까요.
         다시 머리가 아파오기 시작합니다. 이번에 ''자를 수 있는데로 잘라보자''라고 결심을 하게 된 배경중 하나가, NQueen2 에서 자신의 영역을 뛰어넘는 Manager가 되버리는 경우에 대 이야기가 있어서 였습니다. 그렇다면 역으로, 위에서 superman과 object의 개념이나 경계는 모호해지는게 아닌가요? 그렇다면, Player가 따로 있는 개념보다는 Board에서 처리하는게 더 OO적인가요?
         제 말을 {{{~cpp mainProgram.runEverything()}}}을 실행하면 모든 게 마술처럼 알아서 실행되게 하라는 뜻으로 오해하지는 않았으면 합니다. 위 superman의 예에서는, 전자의 경우 superman을 제대로 이용해 먹으려면 superman의 내부적 구조를 알아야 합니다. superman의 구현에 종속적이 되는 셈이죠. 하지만 후자는 그게 디커플링이 됩니다. 자기가 매일 가는 길에 있는 도시를 방문하는 것은 superman이 스스로 수행할 수 있어야 할 책임이 있다 이거죠. Queen이라는 객체가 여덟개가 있다고 칩시다. 얘네들테 "너는 저 여왕을 공격할 수 있니?"하고 묻고 그 결과를 가지고 여왕을 배치하고 하는 것을 하나의 추상(abstraction)으로 묶는 것이 어떨까요? 묻지말고 "시키자"는 것이죠 -- 여덟개의 똑똑 Queen 객체를 만들고 하나씩 "판 위로 올라가라"고 시킵니다. 이렇게 하면 Board와 Queen에 커플링이 생겨서 문제가 되는 건 아니냐고 했는데, 어차피 Queen은 Board 없이는 별 의미가 없고, 또, 그렇게 하지 않더라도 어떻게든 비슷하거나 혹은 더 큰 정도의 커플링이 존재합니다. 어쨌건, 지금 단계에서는, 더 나은 방법이라기보다 그냥 다른 방법이라고 편안하게 생각하면 좋을 듯 합니다. --김창준
  • Java Study2003/첫번째과제/노수민 . . . . 29 matches
          * 자바는 Sun Microsystems 에서 개발 객체지향형 프로그래밍 언어
          * 기존의 프로그래밍 언어에 비해서 간단하며 배우기가 쉽고, 핸드폰에서, 대형 금융권 시스템에까지 그 활용범위가 무궁무진 프로그래밍 언어이자 플랫폼
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또, 자바의 이러 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
          * 높은 수행성능(High-performance)을 제공다:
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또, 방대 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
          * 다중 스레드(Multi-thread)를 지원다:
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
          * 자바 Applat 에서 - 자바 Bytescode는 소스를 자바 컴파일러로 컴파일 결과물로서 HTML 문서에 비해 크기가 매우 크며 웹 서버에서 브라우저로 전송되기까지가 많은 시간이 걸린다. 일단 전송된 애플릿은 브라우저가 수행시키므로 그 속도는 클라이언트의 시스템 환경과 브라우저가 내장하고 있는 JVM의 성능에 따라 좌우된다. 28.8K 정도의 모뎀 환경이라면 그럴듯 애플릿을 다운 받아서 수행하는데는 많은 인내심이 필요하게 된다. 그러나, 점차 인터넷 통신 환경이 좋아지고 있으며 가정집을 제외 대부분의 사무실과 학교 등에서는 전용 회선이 깔려 있고, 넉넉 환경의 전용선이라면 애플릿을 구동하는데 무리가 없다. 근래에는 가정에서도 초고속 통신 환경을 싼 값에 구축할 수 있으므로 점차적으로 인터넷 환경에서 애플릿의 전송은 부담이 되지 않을 것이다. JVM도 기술적으로 많이 향상되었고, Sun뿐 아니라, IBM과 같은 매머드급 회사들이 뛰어들어 개발하고 있어 초기 지적받았던 JVM의 구동 속도는 점차 문제가 되지 않는 상황이다.
         자바 가상머신은 자바 플랫폼의기반을 이루며, 다양 하드웨어기반 플랫폼에서 사용될 수 있다. (다시 말해서, 자바 가상머신은 윈도우 95/98/NT, 유닉스, 또는 매킨토시 등과 같은 기존의 운영체제 또는 인터넷 익스플로러와 넷스케이프 등과 같은 웹 브라우저 등, 여러 가지 플랫폼에 설치되어 사용될 수 있다)
          클래스로더는 자바 소스를 컴파일해서 생성된 클래스 파일을 로딩다.
          클래스 파일내의 메서드, 변수들, 객체 변수들을 자바가상머신의 각 메모리에 로딩다.
          실행엔진은 메모리에 로딩된 메서드들을 실행다.
          네이티브 메서드는 자바 언어 말고 다른 언어로 된 메서드를 호출해서 수행하는 메서드이다. 이러 메서드도 자바가상머신에서 처리다.
         기존의 CGI 프로그램과 같이 웹 서버 프로그램의 기능을 확장하기 위 자바 프로그램으로서, 웹 서버 내에 있는 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되도록 작성된 자바 프로그램입니다. 자바 서블릿은 웹 서버 내에서 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되고, 자바 애플릿은 웹 서버에서 웹 클라이언트로 다운로드 되어 웹 클라이언트에서 자바 호환 웹 브라우저에 내장된 자바 가상머신에 의해 실행된다는 차이점이 있습니다. 이렇게 웹 서버 내에서 실행될 수 있도록 작성된 자바 서블릿은 기존의 웹 서버 내에서 실행되는 프로그램인 CGI 프로그램을 대체할 수 있도록 고안되었습니다. 다음에 나오는 그림은 자바 서블릿의 실행 과정을 자세히 보여주고 있습니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있다.
  • MIT박사가한국의공대생들에게쓴편지 . . . . 29 matches
         저는 6년전 MIT에 유학와서 박사학위를 받고 지금은 미국에서 회사에 다니고 있습니다. 처음 1년 이 곳에서 공부할때 저는 제가 국에서 대학교육을 받은데 약간의 자부심을 갖고 있었습니다. 주위의 많은 국 유학생들이 서울대 과 수석 또는 서울대 전체 수석도 있고 국 대학원생의 80% 이상이 서울대 출신이니까 미국 학생들을 바라 보면서 그래 너희가 얼마나 잘났나 번 해보자라는 생각마저 들었습니다. 국에서 하던 대로 이곳에서도 국 학생들이 시험은 아주 잘 보는 편입니다.
         특히 국 중 고등학교에서 가르치는 수학의 수준이 미국의 그것보다 훨씬 높기 때문에 공대생들로서는 그 덕을 많이 보는 편이죠. 시험 성적으로 치자면 국유학생들은 상당히 상위권에 속합니다. 물론 그 와중에 국 유학생들 사이에서 족보를 교환하면서 까지 공부하는 친구들도 있습니다. 번은 제가 미국인 학생에게 족보에 대 의견을 슬쩍 떠본일이 있습니다. 그랬더니 정색을 하면서 자기가 얼마나 배우느냐가 중요하지 cheating 을 해서 성적을 잘 받으면 무얼하느냐고 해서 제가 무안해진 적이 있습니다. (물론 미국인이라고 해서 다 정직하게 시험을 보는 것은 물론 아닙니다.)
         어느덧 시험에만 열중을 하고 나니 1년이 금방 지나가 버렸습니다. 이제 research 도 시작했고 어떤 방향으로 박사과정 research 를 해나가야 할지를 지도교수와 상의해 정할 때가 왔습니다. 물론 명문대이니 만큼 교수진은 어디에 내놓아도 손색이 없습니다. 국에서 교수님들이 외국 원서를 번역하라고 학생들테 시킬때 도대체 어떤 사람들이 이런 책을 쓸 수 있을까 의아하게 생각하던 바로 그 저자들과 만날 수 있다는 것은 굉장 체험이었습니다. 과연 그런 사람들은 다르더군요.
         주위에 있는 미국인 학생들을 보면서 그래도 내가 국에서 어려운 교육도 받았고 (대학교 수학도 국이 더 수준이 높습니다) 저 아이들보다는 잘할 수 있겠지라고 생각했습니다. 그런데, 시간이 지나면서 소름이 오싹 돋는 일이 자꾸 생겼습니다. 하나 둘씩 주위에 있던 몇몇 미국인 학생들이 점점 두각을 나타내면서 점점 더 어려운 문제를 해결해 나가고 벽에 부딪치면 새로운 길을 스스로 파헤쳐 나가는 등 저를 놀라게 하였습니다. 초기에 제가 미분기하학이란 이런것이야라고 설명해주던 미국애가 이제는 제가 알아듣지 못하는 이론을 제게 설명해 줍니다. 뭐 그럴수도 있지라고 처음에는 생각 했습니다. 자기테 맞는 분야를 잘 정했겠지라고 생각했습니다. 그런데 점점 더 많은 그런 케이스를 보면서 또 그들이 발전해나가는 모습을 보면서 생각 했습니다. 이들중 몇명이 내가 천재라고 생각하던 그런 교수님들 처럼 되는 것이 아닌가. 바로 그랬습니다. 바로 그런 학생들이 그런 교수가 되는 것이었습니다.
         그때부터 왠지 슬퍼지더군요. 저뿐만 아니라 대부분의 국 유학생에게 넘을 수 없는 눈에 보이지 않는 어떤 장벽이 있음을 느꼈습니다. 우리나라 인구수로 따지자면 이미 노벨상 수상자가 여러명 나왔어야 하고 우리나라 사람들의 교육열로 보면 이미 세계적 수준의 과학기술자가 전세계에서 활약하고 있어야 할 시점에서 왜 국에서 일류 교육을 받은 국 유학생 들이 MIT 에서 기가 죽어 지내야 하는지 알 수 없었습니다. 학교 도서관에서 책만 읽어서는 그 이유를 알 수 없었습니다. 시간이 더 지나고 미국 친구도 사귀고 미국 사람들의 생활을 보면서 차츰 차츰 미국에서의 교육에 대하여 조금이나마 알게 되었습니다.
         일단 갓난아기때 부터 국과 미국의 교육이 달라 지더군요. 우리나라에서는 부모가 감정적으로 때로는 분에 못이겨 매를 드는 반면, 이곳에서는 모든것이 논리 정연하게 말로 설명이 되었습니다. 아이가 왜 안되느냐고 물어보면 그것은 이렇고 저래서 그렇다고 꼬치꼬치 자세하게 설명해 주고, 투정을 부리면 온갖 기발 계략으로 아이의 관심을 돌립니다. 부모가 항상 아이에게 말을 시키려 하고 자기 자신들이 그들의 부모로 부터 물려받은 삶의 지혜를 전해주려 노력합니다. 거의 대화가 없는 우리나라 가정과 꽤나 대조적 이라는 생각이 들었습니다. 저도 아이가 있지만 도저히 그들처럼 할 수 없습니다. 그런식으로 대대로 물려받은 몸에 밴 경험이 대부분의 우리나라 사람들과 저에겐 없기 때문입니다. 과연 이렇게 시작이 다른데 미국에서 애를 잘 키울 수 있을까 걱정이 듭니다.
         그들이 학교에 가면 차이는 더 벌어집니다. 우리나라 학생들이 암기력과 약간의 사고력, 이해력의 계발에 중점을 두는 동안, 이곳에서는 창의력, 상상력, 사회성 등을 키워나갑니다. 바로 이런것들이 거름이 되어 아까와 같은 천재들이 대학원에서 두각을 나타내는 것이 아닌가 합니다. 마디로 우리나라 학생들이 남들이 만들어놓은 포장된 지식을 주입받는 동안, 이 곳 학생들은 생각하는 법을 배웁니다. 자발적 참여 및 토론에 의 학습, 스스로 탐구하는 학습, 작문력, 발표력, 논리적 사고가 중요시 되는 교육을 받고 이들은 비록 미분 적분에 대하여 우리보다 늦게 배울망정 인생에서 창의력이 극대화되는 20대가 되면 어렸을때 생각하는 법을 배웠기에 스폰지처럼 지식을 습득하고 새로운 것을 창조해나갑니다.
         이곳에 와서 가지 더 놀란것은 미국사람들의 호기심 입니다. 새로운 것을 알고 싶어 하는 열정이 우리나라 사람의 몇배는 되어 보였습니다. 우리나라에서 금속활자, 물시계, 해시계 등을 발명해 놓고도 더 발전 시키지않고 있는 동안, 서양에서는 만유인력의 법칙을 발견하였고 이를 발전시켜 결국 오늘날의 과학기술로 바꾸어놓았습니다. 우리나라에서는 유치하다고 아무도 거들떠 보지 않았을 automaton (자동 인형 - 태엽 등의 힘으로 스스로 정해진 순서에 따라 움직임) 이 유럽에서는 이미 수백년 전에 유행하여 자동으로 연주되는 피아노, 날개짓하며 헤엄치는 백조, 글씨쓰는 인형등 갖가지 기발 발명품이 쏟아져 나왔고 바로 이것으로 부터 발전하여 나온것이 자동으로 계산하는 기계, 즉 컴퓨터입니다.
         제가 미국 친구들을 집에 초대하여 조금이라도 신기 것을 보여주면 이것은 어떻게 만들었느냐 무슨 원리로 동작하느냐는 등 질문을 쏟아 붓습니다. 심지어 하수구를 고치러 온 미국사람도 똑같은 관심을 보이면서 돈을 줄테니 자기 아들을 위해 하나 만들어달라고 조르던 적도 있습니다. 반면 MIT의 박사과정 국 유학생들은 시선이 1초 이상 머무르지 않고 전혀 관심을 보이지 않고 술만 마십니다. 과연 우리가 세계를 주도해 나가는 과학기술 수준을 이룩할 수 있을까요? 우리가 단지 선진국이 되기 위해 또는 노벨상을 받기 위해 과학기술을 하기 싫지만 억지로 연구하는 동안 이곳에서는 너무나 좋아서 신기해서 알고 싶어서 과학기술을 연구하는 사람들이 너무도 많습니다. 자기가 하는 일이 좋아서 하는 사람들의 열정은 절대 따라갈 수 없습니다.
         see NoSmok:미국대학과국대학 NoSmok:바보들의토론
  • MoreEffectiveC++ . . . . 29 matches
         ANSI C++에 대 약간은 수준있는 내용을 다루는 책. ["EffectiveC++"] 의 추가적인 내용이다.
          * ANSI C++에 대 제반적인 내용을 깔끔 필체로 쉽게 쉽게 다루고 있다. 명확 개념 설명이 돗보인다. 프로그램과 디자인 능력을 향상시키는 35개의 방법이 제시되어 있다. 배치, 가상 생성자, 포인터 레퍼런스 카운팅, 프락시 클래스, 더블 디스패치와 같은 C++의 보다 세련된 기술에 대해 설명하고있다.
         - 불필요 디폴트 구성자는 제외
         - 자원 낭비를 막기위 소멸자 사용
         - 레퍼런스를 이용 예외상황 캐취
         - 클래스 객체수의 제
         - 하나 이상의 객체에 대 가상 함수 생성
          * 원서를 보세요. 보시다 이상 부분만 같이 생각을.
          * 이 문서는 ZeroPage 회원들을 위 내부 문서입니다. 회원 이외에 저작권 문제에 소지가 되는 문제에 관해서 책임을 질수 없습니다.
          * Item 2: Prefer C++ style casts.- 스타일의 형변환을 권장다.
          * Item 3: Never treat arrays polymorphically - 절대로! 클래스 간의 다형성을 통 배열 취급을 하지 말라
          * Item 15: Understand the costs of exception handling. - 예외 핸들링에 대 비용 지불 대 이해
          * Item 24: Understand the costs of virtual functions, multiple ingeritance, virtual base classes, and RTTI [[BR]] - 가상 함수, 다중 상속, 가상 기초 클래스, RTTI(실시간 형 검사)에 대 비용을 이해하라
          * Item 26: Limiting the number of objects of a class - 객체 숫자 제하기.
          * Item 28: Smart pointers - 똑똑 포인터:스마트 포인터
          ["MoreEffectiveC++/Appendix"] : 글화의 필요성을 못느끼며, 위키화만 시켜놓음
          1. 2002.02.09 볼수록 절실 내용 투성이 이다. Efficiency의 부분이 가장 중요하다고 뽑았는데, 다음 Technicque 파트는 Efficiency를 비웃고 있다. 각 장마다 거의 두세배에 다라는 양과 더불어, "C++에서 알고 싶었던 것이 여기 다 모여 있구나" 하는 생각이 든다. 내용이 너무 많아서 어쩔수 없이 다시 요약 체제로 가야 겠다.
          1. 2002.02.15 드디어 스마트 포인터를 설명할수 있는 skill을 획득했다. 다음은 Reference counting 설명 skill을 획득해야 다. Reference counting은 COM기술의 근간이 되고 있으며, 과거 Java VM에서 Garbage collection을 수행할때 사용했다고 알고 있다. 물론 현재는 Java Garbage Collector나 CLR이나 Tracing을 취하고 있는 것으로 알고 있다. 아. 오늘이 프로젝트 마지막 시점으로 잡은 날인데, 도저히 불가능하고, 중도 포기하기에는 뒤의 내용들이 너무 매력있다. 칼을 뽑았으니 이번달 안으로는 끝장을 본다.
          1. 2002.02.17 Reference Counting 설명 스킬 획득. 이제까지중 가장 방대 분량이고, 이책의 다른 이름이 '''More Difficult C++''' 라는 것에 100% 공감하게 만든다. Techniques가 너무 길어서 1of2, 2of2 이렇게 둘로 쪼갠다. (세개로 쪼갤지도 모른다.) 처음에는 재미로 시작했는데, 요즘은 식음을 전폐하고, 밥 먹으러가야지. 이제 7개(부록까지) 남았다.
          1. 2002.03.08 문서화 종료 ( 1~35장 글화 or 요약, Appendix와 index는 제외)
  • PairProgramming토론 . . . . 29 matches
         그리고 전문가와 비숙련자가 pairing을 해도, 전문가테도 도움이 많이 됩니다. 예를 들어 변수이름 같은 것은 전문가도 실수할 수 있죠. 이걸 지켜보던 비숙련자가, "어라.. 아까는 PrinterStatus라고 치더니 지금은 PrintersStatus라고 치시네요..."라고 하면, '아차!'하는 거죠. 또 비숙련자가 코드를 이해를 못해서 설명을 해주게 되면, 전문가 스스로도 많은 공부를 하게 되고, 설령 그 사람이 그 설명을 이해를 못해도, "아 이런 부분은 이해를 잘 못하는구나. 앞으로 이건 더 쉽게 설명해야겠군"하고 잘못을 스스로에게 구하면서, 또 학습이 발생하죠.
         PairProgramming 자체에 대해서는 http://www.pairprogramming.com 를 참조하시고, IEEE Software에 실렸던, 로리 윌리엄스 교수의 글을 읽어보세요 http://www.cs.utah.edu/~lwilliam/Papers/ieeeSoftware.PDF. 다음은 UncleBob과 Rob Koss의 실제 PairProgramming을 기록 대본입니다. http://www.objectmentor.com/publications/xpepisode.htm
         편, 보통 숙련자/비숙련자 가 pairing 할때는 쪽 방향으로 프로그래밍 스타일 등의 무게가 치우쳐지기 쉽다고 생각하는데요. 보통 비숙련자인 사람이 수동적인 입장을 취하는 경우가 많기 때문에.. 다른 편, 숙련자인 사람이 마음의 벽을 넘지 못하는 우를 범할때에도 비숙련자인 사람이 '내가 저 사람보다 잘 모르니까...' 식으로 끌려가는 경우가 있을수 있다고 봅니다. (실제로 가끔 제가 '설명할 수 없는 부분은 혼란시켜라' 라는 말을 실천에 옮기는 경우가 종종 발생다는.. -_-;;) -- 강석천
         겉으로 보기엔, 왕초보/왕도사의 짝은 상당히 비효율적일 것 같지요. PairProgramming을 다고 해도, 왕도사가 키보드를 거의 독차지하고, 왕초보가 간간히 던지는 멍청 질문은 둘(정확히는 왕도사)의 프로그래밍 속도를 늦출 것이고요. 또, 아무것도 못하고 멍청히 지켜봐야만 하는 왕초보 역시 답답할 겁니다. 괜히 질문했다가는 핀잔받기 일수이고. 둘 다 짜증나는 상황이죠.
         PairProgramming 을 위해 특별히 필요 지식이 있는지 궁금합니다. (주로 자연스럽게 따라오는 것들이 XP 관련쪽 이야기여서.. XP에 대 구체적인 지식이 필요지 궁금합니다.)
         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 로 궤도에 올리는 기간에 관 문제인데.. (아무래도 팀원들이 해당 지식들을 알아야 하니까..) 아직 이부분에 대해서는 저는 머리가 안굴러가네요. (아직 경험이.. 흐.) --석천
         그냥 프로그래머 차원인 걸로 알고있습니다. (지금은 바뀌었나?) 로코즌 사람들하고 스터디도 해보고 했는데, 솔직히 말하면 그쪽 사람들은 대다수가 우선 자신의 그릇을 비우지 않은 경우가 많은 듯 해서 좀 안타깝습니다. 리팩토링이나 유닛테스트 등을 말하지만 제가 보기에는 XP적이지 못 게 많아 실망을 하게 되더군요. 공부는 엄청나게 하신 분들이지만, 달보다 자신의 손가락에 치우치는 우를 범했지 않나 싶습니다. --김창준
         ''문서에서는 Pair-Programming에서 가장 중요 것을 pair-analysis와 pair-design이라고 보고 말하고 있습니다.(좀 큰 프로젝트를 해 본 사람이라면 당연히 가장 중요하다고 느끼실 수 있을 것입니다.) 물론 pair-implementation도 중요하다고는 말하고 있으나 앞서 언급 두가지에 비하면 택도 없지요.''
         이 말은 자칫하면 사람들을 호도할 수 있다고 봅니다. 할려면 정확하게 레퍼런스를 하고 인용부호를 달고 자신의 의견은 분리를 하세요. pair-implementation이 "앞서 언급 두가지에 비하면 택도 없다"는 말은 어디에 나오는 말입니까? 그냥 자신의 생각입니까? 그리고, XP에서는 implementation time과 analysis, design time이 따로 분리되지 않는 경우가 많습니다. 코딩을 해나가면서 design해 나갑니다. Pair로 말이죠.
         ''그러니 왕도사와 왕초보와의 결합은 아주 미미 수준의 이점만 있을뿐 실제 Pair-Programming이 주창하는 Performance는 낼 수 없다고 생각됩니다. 더군다가 이 경우는 왕도사의 Performance에 영향을 주어 Time dependent job의 경우 오히려 손실을 가져오지 않을까 생각이 됩니다.''
         ''Performance보다는 왕초보를 왕도사로 만들기 위 목적이라면 왕초보와 왕도사와의 Pair-Programming이 약간의 도움이 되기는 할 것 같습니다. ''
         약간의 도움이라. 왕초보가 왕도사와 번이라도 Pair를 해보면 그 경험은 경천동지할만 합니다. 어떤 자성적 깨달음을 얻기도 합니다. 무술의 고수가 파리 잡는 것을 보고도 깨달음을 얻는다는데 말이죠.
         ''이 말은 자칫하면 사람들을 호도할 수 있다고 봅니다. 할려면 정확하게 레퍼런스를 하고 인용부호를 달고 자신의 의견은 분리를 하세요. pair-implementation이 "앞서 언급 두가지에 비하면 택도 없다"는 말은 어디에 나오는 말입니까? 그냥 자신의 생각입니까? 그리고, XP에서는 implementation time과 analysis, design time이 따로 분리되지 않는 경우가 많습니다. 코딩을 해나가면서 design해 나갑니다. Pair로 말이죠. (창준선배님이 쓴 글중)''
         pair-anaysis와 pair-design의 중요성을 문서에서는 ''"Unanimously, pair-programmers agree that pair-analysis and pair-design is '''critical''' for their pair success."'' 이와 같이 말하고 있습니다. 또 다시 보시면 아시겠지만.. 제가 쓴 문장은 "물론 pair-implementation도 중요하다고는 말하고 있으나 앞서 언급 두가지에 비하면 택도 없지요."입니다. 택도 없다는 표현은 당연히 제 생각이라는 것이 나타나 있다고 생각되는데....
         결국 제가 말하고 싶은 것은 PairProgramming은 왕도사와 왕도사 그룹이 할 수 있는 최상의 해법(제 생각입니다만)이라는 것입니다.. 모든 방법론이 모든 경우에 적합하지는 않은 것을 생각해본다면 PairProgramming이 왕도사와 왕초보 그룹이 아닌 왕도사와 왕도사 그룹에 가장 적합 것이 아닐까 생각해봅니다.
         또, 모든 분야에 있어 전문가는 존재하지 않습니다. 그렇다고 해서, 자신의 전문 영역만 일을 하면 그 프로젝트는 좌초하기 쉽습니다. (이 말이 이해가 되지 않으면 Pete McBreen의 ''Software Craftsmanship''을 읽어보시길) 그 사람이 빠져나가 버리면 아무도 그 사람의 자리를 매꿔주기가 어렵기 때문입니다. 따라서 PairProgramming을 통해 지식 공유와 팀 빌딩을 합니다. 서로 배우는 것, 이것이 PairProgramming의 핵심입니다. 그런데 "배운다는 것"은 꼭 실력의 불균형 상태에서 상대적으로 "적게 아는 사람" 쪽에서만 발생하는 것이 아닙니다.
         그리고 팀 내부에 상대적으로 실력이 부족 사람이 있을 경우 XP에서는 이 사람을 내보낼 것인지 아니면 그대로 쓸 것인지 여러면(이득/비용)에서 판단을 합니다. 만약 그대로 써야하는 상황이라면 PairProgramming이 아주 핵심적인 요소가 됩니다.
  • PrivateHomepageMaking . . . . 29 matches
         직접 홈페이지를 만드는데 약간 이나마 도움(?) 혹은 필요 내용을 적어보는 것임.
         최근에는 홈페이지로 쓸만 포탈 블로그 서비스도 많이 있고 서비스의 제
         대 관심이 그렇게 크지는 않다.
         또 직접 홈페이지를 만들어 보면서 서버관리, 디자인, 웹 프로그래밍을 어느정도
         운영 서버를 사용하는 것은 대략 2가지 방식이 존재다.
         요즘 호스팅 없체는 보통 개인이 쓰기에 적당 가격으로 계쩡부터 바인딩 서비스까지
         통합형 서비스를 제공하는 곳이 많이 있다. 찾아 보면 저렴 가격에 1인 홈페이지를 운영
         하기에 충분 곳들이 굉장히 많이 있다.
         제로페이지 서버를 이용하는 것도 굉장히 현명 선택이다. 일단 zeropage 서버는 쿼터(quota)
         가 없기 때문에 용량의 제이 없고, mysql, php, jsp 등
         을 이용가능하기 때문에 이만 서버환경이 없다.
         패키지가 무료로 돌아다니고 설치도 간단하기 때문에 운영이 같단 편이다.
         리눅스의 기본 명령어부터 설치까지 어느정도 할 수 있어야다. 일단 '''서버관리'''에
         어느정도 관심이 있다면 리눅스를 설치하고 운영해보길 권다.
         실제 APM의 설치를 위해서는 패키지 관리에 대 내용을 필요로 하는 배포판도 있다.
         (실제로 관심만 있다면 대략 2~3일 정도만 투자하면 운영가능 할 것으로 생각다.)
         윈도우를 선택 사람은 IIS를 이용해서 ASP로 구성된 페이지를 만드는 것이 간편하다. 그렇다고 해서
         ''(마디로 귀찮은 작업이다. -_-)''
         대략 보드 기반의 홈페이지는 몇가지 공통적으로 이용하는 프로그램들이 많이 존재다.
         물론 프로그램에 관심이 있는 사람은 이 기회에 게시판으 번정도 짜보는 것도 나쁘지 않을 것이다.
  • ProjectZephyrus/Afterwords . . . . 29 matches
          1. 프로젝트를 진행하면서 '잘된점' 에 대해 나열해 나갔다. (이 때는 잘된점만 이야기함) 처음엔 명씩 돌아가면서 이야기했고, 바퀴 돈 다음 생각나는대로 이야기했다.
          1. 프로젝트를 진행하면서 '잘못된점' 에 대해 나열해 나갔다. (이 때는 잘못된점만 이야기함) 역시 처음엔 명씩 돌아가면서 이야기했고, 바퀴 돈 다음 생각나는대로 이야기했다.
          1. 각각의 경우들에 대해서 그 원인을 파악하고, 대안을 생각해보았다. (시간이 조금 많이 흘러서 모든 경우들에 대 대안은 내지 못하였다. 하지만, 이는 계속 해 볼 일이다. 그당시 잘 했던 점은 더 잘하기 위해, 잘못했던 점은 다시 실수하지 않기 위해)
          * deadline 을 잘 맞췄다. - 6월 10일까지 완료하기로 약속을 지켰다.
          * Pair Programming 에 신경을 썼다. - Pair Programming 을 위 진행 전략이 있었다.
          * WORA 를 경험해볼 수 있었다 - 윈도우즈에서 개발/테스트 서버 프로그램을 별다른 수정없이 linux 서버인 ZeroPageServer 에서 돌릴 수 있었다.
          * Server Program의 Design Evaluation 을 못하는데에 대 스트레스 - 현재 나의 디자인이 올바른 디자인인지 평가받지 못하여서 불안하다.
          * 초기 SPEC이 너무 추상적이였다. - 프로젝트 중간에 합류 상규의 경우 프로젝트의 스펙을 이해하지 못했고, 완성된 Output 에 대 그림을 그리지 못했다.
         === 잘된 경우에 대 원인 분석 ===
          - PairProgramming 전에 진행 전략을 세웠다. (5분 PP 라던지, PP 순서시 간단 Modeling 뒤, Sequence Diagram 등을 그리고 난 뒤 진행을 다던지, 후배들에게 프로그래밍이 완성되었을 경우에 어떠어떠하게 돌아갈 것이다 라고 미리 그 결과를 생각해보게끔 유도)
         === 잘못된 경우에 대 원인 분석 ===
          - 팀원들의 열의 부족과 연관. 우선순위에 대 자각 부족. 체계적 시간관리능력의 부재.
          - JavaDoc의 시선 분산 여부는 개인차와 주석에 대 의견을 ["프로그램내에서의주석"]에서 토론되었다.
          * Server Program의 Design Evaluation 을 못하는데에 대 스트레스
          - Design Evaluation 을 꼭 해야 다는 강박관념이 있다.
          - DE를 공부하여 확인다.
          - 서버팀에서 일의 작업량과 수준을 잘못 측정해서 과도 PP가 있었다.
          - 프로젝트의 목적이 공부 라는 인식의 부족. 공부 부분에 대해서 (Swing, Java Network 등)에 대 문서화가 없었다. SPEC 과 Output 에 치중 점이 있다.
          - SPEC 에 대 구체적 문서화 부족. 초기 문서화 대신에 팀의 모임시 대화로 대체하였는데, 후에 추가 멤버가 제시 의견, 문서화도 부족했지만, 후속 멤버의 피드백 역시 부족하였다.
          * (아직 정리하지 못 내용에 대해 추후 기억을 위 키워드) - 추측록, 신기통, 최기, Vision, Propose, Problem, Solution
  • Refactoring/BuildingTestCode . . . . 29 matches
         리팩토링을 위 필수적인 선행조건은 견고 테스트를 하는 것이다. 당신이 리펙토링을 자동으로 해줄 수 있는 툴을 가지고 있다고 하더라도 여전히 테스트가 필요하다. 모든 가능 리펙토링을 자동으로 해주는 툴이 나오는데는 오랜 시간이 걸릴 것이다.
         나는 이것을 단점으로 보지 않는다. 나는 내가 리펙토리를 하는 중이 아니라 하더라도, 좋은 테스트는 프로그래밍 속도를 비약적으로 향상시킨다는 것을 발견했다. 이것은 많은 프로그래머들의 통념과는 반대된다는 점에서 놀라운 것이다. 그렇기 때문에, 왜 그러지에 대 이유를 설명할만 가치가 있다.
         프로그래머들이 시간을 쓰는 것을 가만히 살펴보면, 실제 코드를 쓰는 시간은 작은 부분이고 대부분의 시간을 디버깅에 소비다. 그리고 버그를 찾는 데 많은 시간을 보내고 수정하는 것은 금방이다. 모든 프로그래머들은 버그를 찾느냐고 밤새었던 이야기들을 하나 둘 이상은 가지고 있을 것이다. ^^; 게다가 버그 하나를 잡아도 여전히 다른 곳에서 버그가 생길 가능성이 있다. 이렇게 되면 버그를 잡는데 많은 시간을 소비다.
         나로하여금 self-testing code로의 길을 시작하게 계기는 OOPSLA '92의 이야기부터였다. 그때 누군가 (아마도 Dave Thomas)"클래스는 자기 자신의 테스트코드를 가지고 있어야 다" 라는 말을 했다. 이 말은 테스트를 구성하기 위 좋은 방법으로 여겨졌다. 나는 모든 클래스에 클래스 스스로를 테스트하는 메소드들 (''test''라 다.)들을 가지도록 만들었다.
         그때 나는 increment development단계에 있었고, 나는 매번 increment 을 완료할때 클래스들에 test method들을 추가했다. 그때 했던 프로젝트는 꽤 작았었고, 우리는 우리의 increment 주기는 주 단위정도였다. 테스트의 실행은 는 꽤 수월하게 되었다. 하지만 테스트들은 실행하기 쉬웠지만, 테스트를 하는 것은 여전히 지겨운 일이였다. 이것은 내가 체크해야 하는 모든 테스트들이 console 에 결과를 출력하도록 만들어졌기 때문이다. 나는 꽤 게으른 사람이고, 나는 일을 피하기 위해 꽤 열심히 일을 준비했다. 나는 이 클래스들이 프린팅 해주는 것을 체크하는 대신, 컴퓨터가 테스트를 수행하도록 했다.내가 할일은 테스트 코드에 내가 기대하는 결과를 작성하고, 그 비교를 수행하는 것이다. 자, 나는 모든 클래스들의 test method를 수행할 수 있었고, 모든 일이 잘 되면 단지 'OK' 가 출력되는 것을 확인하면 되었다. 이 클래스는 지금 스스로 자기 자신을 테스트를 했다.
         이제 테스트는 컴파일 만큼이나 간단해졌다. 나는 컴파일 할 때 마다 테스트를 했다.그리고 곧 나는 버그를 바로바로 찾아낼 수 있었다. 나는 내가 디버깅을 하는데 그리 많은 시간을 소비하지 않았음을 알게 되었다. 만일 내가 이전 테스트에 의해 주의하도록 , 버그가 있는 코드를 추가했을 경우, 테스트를 실행할 때 바로 볼 수 있었다.
         이 사실을 알아갈수록 나는 테스트에 좀 더 적극적이 되었다. increment가 끝가기를 기다리는 대신에, 나는 조그마 기능을 추가할 때 마다 테스트를 했다. 매번 나는 새 기능들을 추가 했고, 그들에 대 테스트들을 수행했다. 이 당시 나는 디버깅에 수분이상을 소비하지 않았다.
         test suite는 버그를 찾는 시간을 줄여주는 강력 버그 탐지기이다.
         그리고 이것이 실제로 프로그래밍 속도를 높인다는 것을 경험해보지 않으면 self-testing 코드는 사람들이 이해해주지 못다. 그리고 테스트가 수동이라면 이것은 지루할 것이다. 하지만 테스트가 자동화된다면 테스트 코드를 쓰는 것은 꽤 재미있는 일이 될 것이다.
         사실 테스트 코드를 작성하기 위 가장 좋은 때는 프로그래밍을 시작하기 전이다. 어떤 기능을 추가해야할 때, 테스트 코드를 작성하는 것으로 시작다. 이것은 뒷걸음질 치는 것이 아니다. 그 기능을 추가하기 위해서 어떤 것들이 행해져야 하는지 스스로에게 물어보는 것이 된다. 그리고 테스트 코드를 쓰는 것은 구현보다는 인터페이스에 집중할 수 있게 해준다. (그리고 이것은 언제나 좋은 것이다)
         테스팅 코드는 ExtremeProgramming 의 중요 부분이다. [Beck, XP]. 이 이름은 빠르고 게으른 해커같은 프로그래머들에겐 마술주문과 같을 것이다. 하지만, extreme programmer들은 테스트에 대해 매우 헌신적이다. 그들은 가능 소프트웨어가 빠르게 발전하기 원하고, 그들은 테스트들이 당신을 아마 갈 수 있는 빠르게 갈 수 있도록 도와줄 것을 안다.
         이정도에서 이야기는 충분하다 본다. 비록 내가 self-testing code를 작성하는 것이 모두에게 이익이 된다고 생각하더라도, 그것은 이 책의 핵심이 아니다. 이 책은 Refactoring에 관 것이다. Refactoring은 test를 요구다. 만일 Refactoring 하기 원다면, test code를 작성해야 다.
  • ZPBoard/AuthenticationBySession . . . . 29 matches
         Session 을 이용 인증.
         회원 인증이란 회원에게 부여된 고유의 아이디와 패스워드를 통해 회원임을 확인하고, 확인된 회원에 에서 웹 사이트의 회원 전용 기능을 사용할 수 있도록 하는 것.
         Session은 Cookie가 클라이언트 측에서 정보를 관리하는것과는 달리, 서버측에서 정보를 관리합니다. Session과 Cookie가 왜 나타났는지를 알려면 그 근원인 HTTP 프로토콜에 대 약간의 이해가 필요합니다.
         '''HTTP 프로토콜'''은 stateless 프로토콜입니다. connectionless 프로토콜이라고도 합니다. 예를 들어, 웹브라우저를 통해 제로페이지에 접속다고 봅시다. 클라이언트 입장에서는 자기 자신이 연속된 요청(게시물 보기나, 위키 사용등)을 보내는것을 알지만, 서버 입장에서는 매번 온 요청이 누구로부터 온 것인지를 알 방법이 없습니다. '''왜냐하면''' HTTP 프로토콜의 태생이 연결지향적이 아니고, 상태를 알 수 없기 때문입니다.
         클라이언트와 서버간에 지속적인 유대관계를 맺고 싶을때 사용하는 방법으로 Cookie와 Session이 등장하게 되었습니다. Cookie에 대 이야기는 논외로 하고, Session을 살펴보면, 이는 흔히 ''세션아이디'' 또는 ''세션키''라 부르는(이하 세션아이디로 통일) 값을 쿠키에 설정해놓고, 클라이언트의 요청시 쿠키에서 세션아이디를 가져와서 내부적인 검토과정을 거치고, 이에따라 유효 요청 또는 무효 요청을 외치게(인증하게)됩니다.
         서버에서는 이 세션아이디를 바탕으로 인증 작업을 하기만 하면 되니, 정보를 얻는 방법으로 데이터베이스를 사용하건 파일시스템을 사용하건 그 이용에 제을 가하지 않습니다.
         === Session 을 이용 인증 ===
         사용자가 '''로그인'''을 후에, '''세션아이디'''를 생성해서 '''세션값'''을 설정합니다. 이를 통해 클라이언트(ie. 웹브라우져)가 요청을 할때 '''세션아이디'''를 얻어오고, 서버측에서는 인증을 하게 됩니다.
          i. 처음 사용자가 로그인을 합니다. 이때 세션 아이디를 생성해서 저장하겠죠? 데이터베이스를 이용다고 가정하고, 생성 세션아이디를 키 값으로 해서 부가적인 정보를 기록합니다. 여기서는 현재 요청이 온 시각을 기록하면 되겠군요.
          i. 서버가 세션아이디를 통해 이전 요청 시각과의 차이를 구해보니 1초 차이로 '''유효''' 서비스 요청임을 부르짖습니다. 다시 현재 시각을 기록합니다.
         이 예는 세션이 사용되는 기능에 초점을 맞춰 가장 단순 경우를 이야기 것입니다. 실제로는 고려해야 할 부분이 더 있겠죠?
         A. maybe or maybe not. 일반적인 경우, 세션에서 사용되는 쿠키는 브라우져를 닫으면서 보통 삭제되게 되어있으므로 그렇다고 볼 수도 있지만, 엄밀히 이야기해서, 로그아웃처리가 되는것은 아닙니다. 해당 세션키를 통해 다시 요청다면, 서비스를 받을 수 있습니다. 이 모든 일은 HTTP 프로토콜 특성상 브라우져를 닫는 등의 행위가 오프라인에서 이루어지는것이기 때문입니다. (배틀넷을 하다가 랜선을 뽑으면 디스커넥이 되지만, 웹서핑도중 랜선을 뽑는건 어떠 영양도 미치지 않는것과 같습니다.)
          ''이 예제는 브라우져를 닫는것만으로 로그아웃이 안될수도 있고.. 그걸 고쳐야 다는 건가요? --["상규"]''
         session_start(); // Session 을 사용하기 위해서는 반드시 맨 처음에 이 함수를 호출해주어야 다.
         이곳에서 회원 DB 를 검색하여 회원 인증 폼으로부터 받은 아이디와 패스워드를 확인다.
         unset($_SESSION[Auth]); // Auth 라는 Session 변수를 제거다.
          * 맞습니다. 현재 예제에서 세션에 기록하는 값은 어떤 값인가요? 어떤식으로 인증이 가능하죠? 만약 클라이언트측에서 값을 조작다면 어떻게 조작여부를 알아낼 수 있나요?
          * 어라.. 세션도 조작이 가능가요? - ["재니"]
          문제 자체가 중요가요? 어떤게 문제이고, 왜 문제가 되는지, 문제가 왜 문제가되는아는 과정이 중요하다고 생각해서 이런식의 문답법을 의도하게 됬습니다. 단순히 문/답을 열거하는것보다 문제를 발견하는 과정이 중요하게 생각되어 이렇게 했는데, 받아들이는 입장에서는 그게 아니었나 보군요. 다시번 묻겠습니다. 그냥 문제와 답을 원하는지 답을 달아주기 바랍니다. --["sun"]
         좀 더 직접적으로 이야기 하기전에 번 더 다음의 상황을 보고 추측해보기 바랍니다. (Hint: 거창 문제점을 가지고 문제삼은게 아닙니다. 쿠키니 세션이 아닌 로직상의 문제점을 살펴보면 해답이 있습니다.)
  • ZeroPage_200_OK/note . . . . 29 matches
          * uploder에게 리소스를 올릴때 사용 주로 새글을 쓸때 많이 사용다.
          * 3. 실행문맥을 instance로 생성자를 호출다.
          * 단지 함수는 다른 인스턴스에 존재다.
          * javascript에서는 실행시간에 프로토타입 체인에 의해 실행다.
          * 자바스크립트는 함수와 일반 변수와의 구분이 없기때문에 변수 또 dispatch가 된다.
          * 자바 스크립트에서는 XSS를 막기(?)위해 동일 도메인이 아니면 javascript문맥에 접근할수 없다.
          * document.domain 을 조정함으로써 동일 도메인의 범위를 바꿀수 있다.
          * wiki.zeropage.org 와 www.zeropage.org 를 동일 도메인으로 취급하기 위해 document.domain을 zeropage.org로 설정할수 있다.
         ==== Same Origin Policy를 극복하기 위 방법 ====
          * 다른 도메인에 접근하기 위해 동일 도메인 서버에 다른 페이지의 결과를 그대로 읽어와 내려주는 proxy를 설치다.
          * 플래쉬로 극복할수 있으나 클라이언트에 부하가 있고 자바스크립트 고유 방식으로 해결하는것이 아니라서 좋지않다.
          * Same origin policy를 적용받지 않고 자바스크립트를 불러올수 있으나 바로 실행이 되므로 다른 방식을 써야다.
          * script tag를 읽어 로딩이 끝나면 바로 실행 하기 때문에 여러개를 동시에 불러올경우 전역변수를 이용 방식은 불가.
          * 따라서 callback함수로 해결다.
          * 위와 같은 형식으로 내려줄경우 클라이언트(요청 쪽)에서 _callback함수만 정의해두면 로딩이 끝남과 동시에 불리게 된다.
          * static 파일을 내려준다.
          * static 파일을 업로드 받는다.
          * Unix에서 File이라함은 다음을 모두 의미다.
          * Unix는 C임에도 불구하고 강력 추상화를 통해 뭔가를 읽고 쓰는 것으로 File을 만들었다.
          * Unix에서는 Pipe도 File이므로 static file 대신 Pipe를 쓰면 뭔가 다이나믹게 되지않을까?
  • ZeroWiki/제안 . . . . 29 matches
         ZeroWiki 에 제안할 사항을 적는 페이지입니다. 회의가 필요 부분에 대해서는 ["정모/안건"] 페이지에서 써주시기 바랍니다.
          * 작년에도 고치려고 생각은 해봤던 건데… ZeroWiki 첫 화면이 되게 난잡하지 않아요? 최근 변경내역 말고 다른 부분 유심히 보는 사람이 몇명이나 될지 가끔 궁금합니다. 사실 전 그 위에 공지나 아래 링크도 자잘하게 수정 적은 꽤 있었는데 고쳐도 뭐 눈에 잘 띄질 않고… 어떤 내용이 들어가고 어떤 내용이 빠지는 게 좋을지 이야기해보고 싶어요. - [김수경]
          * 현존하는 무료 위키 엔진 중 가장 강력함. (다른 PHP 기반의 데이터베이스형 위키 엔진과의 간단 비교: http://bit.ly/fdI51M )
          * 초대형 위키 사이트를 위 것이라, 중소 위키라면 절대 쓸 일 없는 데이터베이스 분산이라던가 하는 걸 막 집어넣은 탓에 별로 쓸 일 없어보이는 소스도 엄청 많다.
          * 위키 엔진 선택은 안 그래도 논의하려고 했던 주제입니다. [http://www.dokuwiki.org DokuWiki]나 [http://www.mediawiki.org MediaWiki]를 후보군으로 염두에 두고 있습니다. 다만 무겁고 복잡 MediaWiki보다는 깔끔 DokuWiki를 더 비중있게 고려하고 있습니다. 하지만 위키 엔진과 관련해 가장 중요 고려 사항은 nForge MoniWiki와 혼용으로 인 문법 이중화의 어려움이라서 이 문제에 대 대책이 필요합니다. - [변형진]
          * ZeroWiki의 URL에 대 의견을 받습니다.
          각 URL에 대 여러분의 의견을 적어주세요.
         지금 이 페이지처럼 오래된 내용이 남아있는 페이지를 어떻게 해야할지 논의해보고 싶습니다. 대부분의 페이지에서는 오래된 내용이 쌓여 좋을 때가 많지만 이 페이지 같은 경우 위키에 대 제안과 논의가 이루어지는 페이지인데 이미 과거에 해결된 제안과 그에 대 논의를 기록을 남겨놓는 것이 좋은 것인지 잘 모르겠습니다. 그냥 그대로 놔두면 현재 제안과 구분하기 쉽지 않으니까요. 제가 생각하는 선택지는 네가지 입니다.
          1. 오래된 제안들을 카테고리에 묶어 아래로 내린 채 보관다.(지금처럼)
          * 이 제안은 ThreadMode와 DocumentMode에 관 논의를 포함하고 있습니다. 이 페이지는 애초에 ThreadMode를 목적으로 작성됐고 그렇게 의견이 쌓여왔습니다. 2번 선택지는 ThreadMode의 유지를, 3번 선택지는 ThreadMode를 DocumentMode로 전환하여 정리하는 것을 의미하는 것 같습니다. 1번 선택지는 DocumentMode에 더 적합 방식이고, 4번 선택지는 경험의 전달이라는 위키의 목적에 따라 고려 대상에 올리기도 어려울 것 같아 제외합니다. 사실 이런 제안과 논의가 나열되는 페이지에서는 결론을 정리하는 것보다는 그 결론을 도출하기 까지의 과정이 중요하다고 생각합니다. 따라서 DocumentMode로의 요약보다는 ThreadMode를 유지하는게 좀더 낫다고 생각하며, 다만 필요하다면 오래된 내용을 하위 페이지로 분류하는 것도 좋다고 생각합니다. - [변형진]
         || YouNeedToLogin || 페이지 수정에 관 YouNeedToLogin 모드 적용 제안 ||
         제로위키의 정체성에 대해 생각해 봤으면 좋겠습니다. 제로위키가 ZeroWikian 의 위키 인지, 아니면 ZeroWikian 의 프로젝트와 스터디를 위 위키인지. --["zennith"]
          초기의 지향점이라고 다면, 일종의 '학회 재산 저장소'랄까. Repository 라고 쓰면 결국 동어반복이 되겠군. 학회가 거의 10년이 지나도, 그때의 일들이 제대로 안쌓이는 모습에 대 불만이랄까. 그러 점에서 99년도 처음 ZP 서버가 만들어질때, 96,97 형들이 언급했던 것이 'ZP 서버를 학회 지식의 저장소가 되게 하자' 라는 것이였지. 처음에는 게시판 활동이 주업이었고. 그러다가 위키를 알게 되고 난 다음, 처음엔 동문서버에서 좀 돌려보고, 그 다음은 ZP 에서 돌리게 했지. 그리고, 동문서버에서 위키 돌아가는 모양새를 보고, '위키 처음 열릴때의 분위기가 중요하겠구나' 하는 생각에 '스터디 & 프로젝트' 목적을 강조하는 뜻에서 초기에 그렇게 적은것임.
         각 분야의 기술들에 대 페이지를 열었으면 합니다. OS, 하드웨어, 네트워크등의 카테고리 안에 클러스터링등의 기술들을 말입니다. 각 페이지는 소개하고 싶은 개개인들이 만들고 단순 소개에서 부터 관심있는 사람들끼리 자료 공유, 토론의 장으로 이용했으면 합니다. 이렇게 하면 스터디 그룹을 만들기가 더욱 쉬워질테고 여러 분야를 폭 넓게 알 수 있을거라 생각합니다.--현철
          ''필요하시면 페이지를 열고 이용하세요. 만일 게시판이라면 해당 주제에 대해서 관리자에게 '게시판 열어주세요' 라고 요청을 하는 일이 필요하겠지만, 위키는 게시판이 아닙니다. 필요하시면 직접 카테고리를 열고, 글을 쓰시면 됩니다. (자세 설명은 ["HelpContents"] 페이지를 반드시 참조해주시기 바랍니다.) 현재 ZeroWiki 는 스터디 용도에 대해서 주제에 제을 가하지 않습니다. --석천''
         정모때도 번 나왔던 얘기 같은데.. 이제 노란색이 질리시지 않나요?^^; 여름 분위기 나게 시원 파란색으로 바꿔 보면 어떨까요? -- 인수
         저번에 들렀을 때 마지막으로 갔었던 곳에 먼저 가보는 경우가 많네요. 로그인을 하면 마지막에 들렀던 페이지가 뜨게 하면 어떨까요? 아니면 정해놓은 페이지가 뜨게 다든지요. 마치 인터넷 익스플로러에서 시작 페이지처럼요. -[Leonardong]
  • html5/offline-web-application . . . . 29 matches
          * 클라이언트에 캐시된 리소스를 사용하여 동작다.
          * 웹 어플리케이션을 오프라인에서도 사용할 수 있도록 리소스를 클라이언트 쪽에 캐시하기 위 기능.
          * 어플리케이션 캐시를 이용하면 웹 어플리케이션에 있어 필수적인 리소스는 캐시 매니페스트에 기록하여 브라우저에 의해 자동으로 캐시되게 다.
          * 'text/cache-manifest'라는 MIME 타입으로 배포되도록 설정해야 다.
          * 캐시 매니페스트의 URL을 html 요소의 manifest 속성에 지정해야 다.
          * 업데이트 체크 시 많은 양의 네트워크 리소스를 소비하므로 어플리케이션 캐시는 모든 리소스에 대해 업데이트를 체크하는 것이 아니라 캐시 매니페스트만을 체크다.
          * text/cache-manifest 타입으로 배포해야 다.
          * 문자 인코딩은 UTF-8이어야 다.
          * 첫 줄은 'CACHE MANIFEST'라는 문자열로 시작해야 다.
          * 상대 경로를 이용할 때는 매니페스트를 기준으로 하여 URL를 표시다.
          * 모든 URL은 메인 페이지와 같은 도메인에 소속되어야 다.
          * manifest 속성을 지정 html 요소를 가진 페이지.
          * 캐시할 리소스의 URL을 지정하기 위 섹션이다.
          * NETWORK 섹션 안에 지정된 URL과 일치하는 리소스는 캐시되지 않고 반드시 네트워크를 통해 액세스를 시도다.
          * NETWORK 섹션에 지정 URL이 다른 섹션 내용과 충돌할 경우 브라우저에 따라 예측하지 못하는 동작을 보일 때도 있다.
          * NETWORK 섹션에 지정 대상 URL은 특정 디렉터리 이하로 정하는 등 신경을 써야 다.
          * 오프라인 웹 어플리케이션이 액세스할 수 있는 URL을 화이트 리스트 형식으로 지정다.
          * 네트워크로 액세스할 URL을 같은 도메인으로 정하고 URL도 정하면 보안을 향상시킬 수 있고 디버그하기도 쉬워진다.
          * 다른 웹 사이트에 대 네트워크가 금지되어 매시업을 수행하도록 만들어진 웹 어플리케이션에서 문제가 되기도 다.
          * 제을 피할 수 있어 편리하지만 사용시 신중을 기해야다.
  • 데블스캠프2010/회의록 . . . . 29 matches
         마지막에 형진이 형이 주도 것은 포스트잇에 적힌것 같아서 별로 적지 않았습니다. - 컴공의 자랑..[김상호]
          * 총 참여인원은 해당 일 해당 시간에 참여 인원이 아닌, 회고 참여인원 중에서의 참여인원을 나타냅니다.
          * 실습을 난이도를 올리며 하는 것 보다 다양 종류의 실습을 하는 것이 마음에 들었다.
         == 일반 리스트 (강사 : [이승]) ==
          * (전반적)첫 수업에 사람이 없을 경우에 대 대처가 부족했음.
          * (강사후기)원래 취지가 코딩이였음. 새내기들도 class정 도는 알아야 다는 생각에 class를 대략적으로 설명거였음. 10분마다 코더 교체의 룰이 지켜지지 않아 아쉬웠음.
         == SDL을 이용 게임 프로그래밍 (강사 : [남상혁]) ==
          * 신입생을 위해서 내년에 비슷 컨텐츠가 필요것 같음.
          * 예시가 부족 점이 아쉬움.
          * 가상화에 대 설명이 부족했음.
          * 듣는 사람에 대 배려나 시간 배분같은 점이 좋았음.
          * (강사후기)매우 바빴음. 심도있는 php의 내용 보다는 php에 대 관심을 유발하는것이 목적이었음. 간단 ppt를 만들껄.. 하는 후회가 듦.
          * 무작정 코딩을 하는 것 보다 번 더 생각을 해보고 코딩을 하는 것이 중요하다는 것을 깨달음.
          * 부족 C++을 보충할 수 있는 기회가 되어서 도움이 됨.
          * 딱딱 코딩에 게임적 요소를 넣어서 흥미유발이 됨.
          * 진행방식 자체는 나쁘지 않았음. 그러나 주제가 생소해서 흥미 유발이 잘 되지 않았음. 초창기의 제로페이지에 대 얘기를 들을 수 있어 색달랐음.
          * 시간이 짧았음. 전체적으로 새내기가 듣기에 무난함. 그러나 어려운 용어에 대 설명이 약간 부족했음.
          2. 제일 좋았던 것을 가지 씩 적는다.
          * 블리자드에 취직해 데블스캠프 강의를 다. -[김준영]
          * 파이썬 - 파이썬 언어에 대해 관심을 가지게 강의였음. -[김준영] 학우
  • 데블스캠프2012/첫째날/후기 . . . . 29 matches
          * 만약 이번 데블스 캠프에서 Object를 주제로 진행하게 된다면 적절 복습이 될 것 같네요.
          * 당신을 위 최고의 솔루션 - [http://random.org/ RANDOM.ORG]
          * 생각보다 새내기 비율이 높아서 좋았어요. 비율이 높은 그 자체로도 좋았고 제가 준비 주제가 새내기를 대상으로 정 주제라 다행이라는 생각도 들었구요. 작년에는 새내기 위주로 준비했는데 새내기가 하나도 없어서 재학생 코딩 배틀이 됐던 안타까운 기억이 있어서…
          * 항상 느끼는 건데 두세시간 안에 뭔가 알차게? 확실하게? 배워가기는 힘든 것 같아요. 학생들이 주로 세션을 맡는 데블스캠프뿐 아니라 현직 종사자들이 세션을 맡는 컨퍼런스에 참여해도 그래요. 가르치는 사람들은 그런 점을 고려해서 세션을 준비해야 할 것 같습니다. 듣는 사람 쪽에서는 각 세션을 새로운 분야에 대 접근성을 낮춰주는 계기라고 생각하면 좋을 것 같아요.
          * 저녁 먹고 진행 페챠쿠챠(사실은 이그나이트!) 생각 것보다 재미있었습니다. 첫날인데 서로에 대해 더 알 수 있는 시간이 되었던 것 같아요. 미리 준비해오는 것도 아니고 그 자리에서 준비해서 발표 것이 좋았습니다.
          * 첫 날이라 그래도 쉬운 내용을 다고 했는데 새내기들이 어떻게 받아들였을지 궁금하네요. 하긴 저도 1학년 때 뭔 소리를 하나 했지만 -ㅅ-;;; 그래도 struct를 사용해서 많이 만들어 본 것 같아 좋았습니다. UI는 뭐랄까.. Microsoft Expression은 번도 안 써 봤는데 그런게 있다는 것을 알 수 있어 좋았습니다. 페챠쿠챠에서는 서로가 어떤 것을 좋아하는지나 어떠 곳에서 살았는지에 대해서 재미있게 알 수 있는 것 같아 좋았습니다. 아 베이스 가르쳐 달라고 하신 분,, 나중에 학회실로 오세요-.. 미천하지만 어느 정도 가르쳐는 줄 수 있.........
          * 12의 뭔가 어중간 C실력에 대해 맨붕...
          * 첫날이라 나름 쉬운내용을 것 같긴데 새내기들은 c언어 하는데도 어려워 것 같네요. 전 할만했는데 1학년때를 생각하면 머.... 나도 정말 어려웠으니까.... 페차쿠차 역시나 주제 정하는게 어렵지 주제만 정하면 정말 쉬운듯......페차쿠차가 오늘 내용중 제일 재미있네요. 내일 내용도 기대댐.
          * GUI 프로그래밍 : 그래도 제대로 참여 세션으로 GUI 부분은 참 신기했습니다. wpf인가? 하는 건 정말 편집할 때의 느낌도 그렇고 코딩이 아니라 디자인이라는 느낌을 주기 위해서 많이 노력 느낌을 주려고 노력 것 같더군요. C#이라는 게 좀 걸리긴 하는데, 하기에 따라서는 써 볼 만 할지도 모르겠군요.
          * 배웠는데도 모르는 C : 순수 C문법은 C++이랑 헷갈리는 부분도 많고 구조체는 안써본지도 오래돼서 조금 불안했는데 그래도 치니까 별 문제 없이 돌아가는걸 보니까 아직까지는 많이 안까먹은거 같아서 다행이었습니다. 그리고 옛날에 함수 포인터를 처음 봤을 때는 이게 도대체 어떻게 돼먹은건가 싶었는데 지금 보니까 그렇게 어렵게 생긴게 아니라는 느낌이 들었습니다. 그래도 약간은 발전 것 같아서 기뻤는데 오늘 이 부분을 처음 본 사람들은 어떤 느낌을 받았을지 궁금했습니다.
         페챠쿠차 같은거 처음하는제 내가 발표를 다는게 아직도 어색하기도 하고 할말을 다 못거 같기도 하고ㅋ
          * 페챠쿠챠를 저는 2번 셈이 되었네요. 아무튼, 여러사람들이 다양 주제로 하게 되어 꽤 재밌었던거 같습니다. 약간 지루 점도 있지 않았나 했지만, 다들 돌아가면서 뭔가를 했다는게 가장 큰 장점이었던거 같네요.
         프로그래밍을 해야하는 신입생 대상(?)의 세션에서는 신입생들의 역량을 잘 알고 진행의 속도나 난이도를 조절해야 다고 느꼈네요. 이론과 실습의 비율도 적정해야할 것 같구요. 올해 C프로그래밍 담당 교수님이 바뀌면서 후반부에 배우는 내용이 약간 달라진 것 같기도 합니다.
         페챠쿠챠는 준비하다가 이걸 어떻게 설명해야할까 멘붕이 오기도 했지만 그래도 설명하기에 시간이 부족 쪽이 재미있지 않을까 하는 생각이 들었습니다. 중얼중얼보다는 우왕자왕이 재미있는 것 같기도.
          * 늦게 와서 C는 듣지 못하고 UI 프로그래밍부터 참여 했습니다. C로 UI를 만들 수 있는 툴을 배웠는데, 오늘 실습해본 툴은 C#툴이고 사양이 높은 툴인것 같아서 저사양의 다른 툴을 찾아보고 사용할 수 있을 것 같습니다. 내일 웹서버관련된 세미나를 진행하는것 같은데 늦지않고 일찍 와서 유익 시간이 됬으면 좋겠습니다.
         페챠쿠챠는 왠지 모르게 이상 주제를 하고 말았는데,,,
         GUI공부가 필요 참에 여러 지식을 쌓을수 있게되서 매우 좋은 공부가 됫습니다 ㅎ
  • 프로그래밍잔치/첫째날후기 . . . . 29 matches
         (이 부분은 Document Mode 이며, 해당 일들을 기억하는 사람들끼리 기억을 모아서 만듭니다. ^^ 그날 했었던, 일어난 일들에 대해 기억나는대로 간단히 정리해봅시다. 너무 길어지면 '프로그래밍잔치첫째날' 식으로 페이지를 나누어도 좋겠고요. )
         일단 간단하게 ["프로그래밍잔치"] 소개를 하고 위키에서 ~~ 부분에 대해 설명을 하였다.
         ["상민"] 과 ["1002"] 는 위키에서의 대화에 대해 간단 시연을 보여주었다. [1002/MP3공유프로그램] 에서 가상의 인물 1002, 상민, 쩡직 등이 대화를 하면서 페이지내용을 조금씩 정리하고, 점차 [음악공유프로그램], [소리바다와그누텔라] 페이지로 나누어져가는 모습을 중간중간 버벅이는 설명과 함께 시연을 했다.
         쪽은 상욱, 세연, 은지, 창섭, 기웅, 상민은 위키의 좋은점, 불편점, 어떻게 위키를 써야 할 것인가에 대해 이야기했다.
          * 위키에서의 자유로운 링크가 오히려 위키를 읽는데 어려움을 가져오기도 다. (링크를 따라가다보면 내가 처음에 읽었던 글로 다시 돌아오지 못하고 방황함)
          * 계층위키에 대해서 - 개인 페이지 내에 계층위키로 페이지를 열고 시작다면, 처음 쓰는 입장에선 특별히 편집에 대해 구애받지 않아서 좋을 것 같다.
         쪽에서는 진균, 덕준, 상협, 재동, 상규, 인수, 석천은 주로 위키 활성화와 위키글쓰기 스타일에 대해 이야기했다.
          * 오늘 위키의 간단 룰로서 들고 나온 개인페이지 내 '/' 구분자를 이용하는 계층위키에 대 사람들의 생각
          * 위키의 활성화에 대 이야기
          * ZeroPagers 의 위키에 자신의 공부내용을 정리하는 것은 '의무'인가? 자신을 위 행동이 아닌가? 강요되는것은 아닌지. (실제로 자신의 공부내용을 글로 정리하기에 대 어려움)
          * 위키에 다른 사람 참여를 원다면, 처음부터 조금씩 점차적으로 글을 쓰는건 어떨까?
          * 구체적으로 '~ 점이 잘못되었다' 라고 길게 설명하는 것 보단, 그냥 조용히 적절하게 고쳐주는 것이 좋을 수도 있다.
         편, Smalltalk을 고른 인수, 재동은.. ~ 을 했다. 가끔 '피 토하겠다'는 말을 했다;
         '''우리나라에서는 왜 이러 언어들이 잘 쓰이지 않는가?'''
         ~ 답변으로 ~가 있었고, 중간에 http://www.tiobe.com/tpci.htm 를 프로젝터로 보았다.
         '''오늘 언어들 중에서 추천하는 언어로는?'''
         학부생이 공부해볼만 언어로는 Scheme이 추천되었는데, StructureAndInterpretationOfComputerPrograms란 책을 공부하기 위해서 Scheme을 공부하는 것도 그럴만 가치가 있다고 했다. 특히 SICP를 공부하면 Scheme, 영어(VOD 등을 통해), 전산이론을 동시에 배우는 일석삼조가 될 수 있다. 또 다른 언어로는 Smalltalk가 추천되었다. OOP의 진수를 보고 싶은 사람들은 Smalltalk를 배우면 큰 깨달음을 얻을 수 있다.
         == 일. 느낀점. 교훈 ==
          * 처음으로 어떤 언어를 접했을때 그 언어를 보는 기준은 지금까지 내가 알아왔던 언어이다. 예전에 알았던 언어에 있던 구문이 이 첨 보는 언어에서는 어떻게 할 수 있나 살펴 보는 것이다. 그 원하는 기능이 이 첨보는 언어에서는 없을 수도 있고 대신 다른 기능이 있을수도 있는데. -_- 이번에 Haskell이라는 언어를 봤을때 이것도 지금까지 언어들이랑 비슷 비슷할거라고 만만하게 생각했었다. 그래서 지금까지 짜왔던 방식으로 해볼라고 생각했다. 그런데 잘 안되었다. 이 언어는 그 밑바탕에 깔려 있는 개념이 달랐던 것이다. 그래서 그런식의 접근은 좋지 않을 수 밖에 없었던 것이다. 이렇게 다른 패러다임을 바탕으로 하는 언어를 접하게 된것은 신선 충격이었다. - 상협
          * 신선 충격(?) 이었다. 몇가지 언어의 틀속에 틀어밖혀있던 나의 모습이... 불쌍했다. --["상규"]
  • 프로그래밍파티 . . . . 29 matches
         다른 학교(이게 중요함) 동아리와 공동행사를 개최하는 것은 어떨까요? 꼭 어떤 공식적이고 거창 액션을 취하지 않고도, 할 수 있는 것 중에는 가치있는 것이 많습니다. 또, 비격식적인 모임을 종종 갖는다고 해서 문제될 것은 없겠죠 -- 오히려 격식적인 년례 행사 같은 것보다 이득이 훨씬 더 많으리라 생각합니다. 행사를 치루기 위해 행사를 하는 것이 아니고, 서로에게서 배우기 위해 행사를 하는 것이죠. 예를 들어, 제로 페이지와 타 대학교 동아리 양쪽으로 편을 나누고, OOPSLA의 DesignFest 비슷 것을 해보면 어떨까요? ACM의 ICPC같은 것도 좋을테구요. 심사위원단은 양측의 고학년 同數로 구성하고 말이죠. 여러가지로 자극도 많이 되고, 배우는 것도 많을 겁니다. 곳에만 고여있는 물은 ??기 마련입니다. (''희상씨네 서강대 모임도 괜찮을 듯데..?'') 학교에서 못해주면 우리가 직접 찾아하면 되죠. --JuNe
         재미있는 제안이죠? (아..솔깃;) 자신의 실력이 어느정도 되는지 가늠해 볼 수 있고, 또 다른 학교 소모임과 이런 행사를 가진다는 것이 좋은 경험이 될거라 생각이 됩니다.
          * 팀구성 - 현 인원 기준 4명 팀으로 ZP 에서 두 팀, Moa 에서 팀. (당일 참석자 확인뒤 재조정)
         더 필요
          * 선랩에 윈도우 피씨가 4대밖에 없는 관계로 더 필요지 여부(나머지는 모두 리눅스 머신) - ZP 내에서 C,C++ 참여자 수요도 파악해야 할듯.
          * 전지 6~9장정도 & 유성매직 or 컴퓨터용 사인펜 (팀 2-3장쯤?)
         '''파티 참가자'''(심사위원 제외. 인원수 제 없음)
         자유롭고 편안 분위기 속에서 어떻게 하면 "즐기면서" 가치있고 생산적인 이야기들이 오고가게 할 수 있을까요? 모조리 큰 탁자에 둘러앉아 이야기하는 것이 좋을까요? 아니면 소그룹으로 나누되 자유롭게 이동할 수 있게 하는 게 좋을까요? 꼭 술집이 유일 선택일까요? see also NoSmok:GoodParty
         또 뒷풀이에 대 문서화, 기록 작업을 하는 게 좋습니다(기록하기 위해서 기록하는 것은 아닙니다. 사용되어지고 읽히기 위해 기록합니다). "참 재미있었어요!"나 "아무개씨는 참 재미있는 사람이고, 홍길동씨는 인상이 좋고.."같은 통신 공간의 상투적 "후기"를 말하려는 것이 아닙니다.
         보통, 전체 모임/파티 동안 사람이 참여하는 대화는 전체 발생 대화로 볼 때 극소수에 해당합니다(게다가 동일 대화에 참여했으면서도 인식하는 것과 기억하는 것에는 개인차가 큽니다). 각자가 나눴던 이야기 같이 사실적인 것들은 모두 다큐먼트모드로 여러사람이 협동을 해서 채워나가도록 하면 좋겠습니다. 집합적 기억이 되는 것이죠 -- 개개인이 갖고있는 기억의 전체 합집합. "내가 있었던 테이블에서는 어쩌구에 대해 이야기 했는데, 저쪽에서는 저쩌구를 이야기 했군! 이야, 재미있는 걸. 저쩌구에 대해 좀 더 써달라고 부탁해야겠다." 그러면 모두가 이득을 볼 것이고, 심지어 그 뒷풀이에 오지 못했던 사람들도 뭔가 얻는 것이 있을 겁니다.
         다른 테이블에서 나눴던 대화가 궁금했던 적이 많았는데, 참 중요 지적인 것 같습니다. --채희상
         프로그래밍 컨테스트의 문제도 좋지만, DesignFest의 문제는 어떨까요? 제 생각에는 후자의 경우에 더 많은 공동학습이 가능할 듯 데... --JuNe
          ZP 랑 Moa 랑 페이지가 따로 열려있어서 정보가 분산되는 느낌이 드는데, 곳에서 토의하는건 어떨까요? 그리고 DesignFest랑 ProgrammingContest 중 어떤거 할것인가는 무기명투표모드를 함 적용하는것도..~ (ProgrammingContest 의 경우 IPSC로 ZP가 예습(?) 것 같은 느낌이 들어서;; 오 찔린다;) 14일까지 결정하고, 16일까지 행사때 진행방법을 구체적으로 정했으면 합니다.~ ^^ --석천
          * 제 시간 이후 양 팀의 대표들은 각 팀의 Design 을 설명 - 1시간
         파티 진행 중에 팀 별로 명 씩 도우미가 배정된다. 이 때 가능하면 같은 학교 출신의 팀으로 배속되지 않도록 다.
         각 팀은 자신들이 것을 대표자가 발표하도록 다. 이 때 다음과 같은 것들을 함께 준비하도록 다.
         이 발표를 심사위원들과 모든 파티 참가자들이 함께 구경다. 그리고, 약 20분간의 시간이 주어지고, 그동안 심사위원은 다른 장소로 옮겨가서 의견 조율을 하고 우수팀을 선정하며, 다른 참가자들은 휴식 및 자유로운 의견 교환을 다.
  • AcceleratedC++/Chapter5 . . . . 28 matches
          * 여태까지 vector랑 string 갖고 잘 놀았다. 이제 이것들을 넘어서는 것을 살펴볼 것이다. 그러면서 라이브러리 사용법에 대해 더 깊게 이해하게 될것이다. 라이브러리는 자료구조?함수만을 제공해주는 것이 아니다. 튼튼 아키텍쳐도 반영해준다. 마치 vector의 사용법을 알게 되면, 다른것도 쉽게 배울수 있는것처럼...
          * 그렇다. 메모리 낭비가 있는 것이다. for루프가 끝날때에는 중복되는 두개의 벡터가 존재하는 것이다. 그래서 우리가 쓸 방법은 만약 f면 fail에 추가하고, f 아니면 그 자리에서 지우는 것이다. 반갑게도 이런 기능이 있다. 근데 졸라 느리다. 입력 데이터의 양이 커질수록 성능 저하는 급격하다. 벡터에서는 중간에 하나를 지우면, 메모리를 통째로 다시 할당하고, 지워주는 짓을 해야다. O(n*n)의 시간이 필요것으로 알고 있다. 벡터는 임의 접근이 가능 대신, 중간 삽입이나 중간 삭제의 퍼포먼스를 포기 것이다. 이제부터 여러가지 방법을 살펴볼 것이다.
          * 왜 students.erase(students[i]) 하지 않는가? 모든 컨테이너에 일관성을 제공하기 위해서라고 다. 바로 반복자라 불리우는 것을 이용해, (포인터보다 반복자가 먼저 나오네요.) 동일 방법으로 제어를 할수 있는 것이다.
          * 또, 지워줌으로써 컨테이너의 사이즈가 변다. 즉 모든 학생을 다 검사하지 못할수도 있다. 그래서 다음과 같이 바꿔주어야 다.
          * 여태껏 잘쓰던 벡터형 변수[n]은 벡터의 n번째 요소를 말다. 지금까지 하던거 보면 루프 안에서 ++i 이거밖에 없다. 즉 순차적으로만 놀았다는 뜻이다. 우리는 알지만 컴파일러는 알길이 없다. 여기서 반복자(Iterators)라는 것을 알아보자.
          * 컨테이너가 효과적으로 다룰수 있는 연산만을 가지고 놀도록 제하는 기능
          * 인수曰 : STL을 사용할때에는 반복자를 이용하는 것이 표준이라 다.
          * 생소게 보이지 않는가? 하나하나씩 살펴보자.
          * begin()과 end()는 각각 컨테이너의 맨 처음 요소를 가리키는 반복자와, 맨 마지막에서 칸 지난 것을 가리키는 반복자를 리턴해준다.
          * (*i).name : 반복자 i가 가리키는 요소의 멤버 name을 말다. 괄호를 꼭 써주자. 우선순위가 .이 *보다 높기 때문에 에러난다.
          * 또 신기게 보인다. 왜 students.erase(iter) 해준것을 또 iter에다 대입해주었는가? 삭제하면 반복자가 모두 갱신되기 때문이다. 지운 뒷부분은 몽땅 재할당 해야하니... 지금은 무슨 말인지 몰라도 좋다. 그렇다는 것만 알아두자. erase는 방금 지운 바로 그 부부을 리턴해준다.
          * 또 코드 최적화 다고 다음고 같은 삽질을 하는 사람도 있을 것이다.
          * 바로 list다. 중간 삽입과 삭제를 상수시간 내에 수행할수 있다. 이제 vector로 짠 코드를 list로 짠 코드로 바꿔보자. 바뀐게 별로 없다. vector가 list로 바뀐거 말고는... 다시 번 말하지만 list는 임의 접근을 지원하지 않는다. 따라서 vector에서 쓰던것처럼 [] 쓰면 안된다.
          * 벡터는 삽입, 삭제 할때마다 메모리를 몽땅 재할당다. 따라서 ~~.end()는 버그의 온상이 왼다. 계속 바뀌므로... 하지만 list는 삽입, 삭제다고 몽땅 재할당하지 않는다. 그래서 빠른 것이다. 또 임의 접근을 지원하는 컨테이너만 쓸수 있는 표준 알고리즘 sort도 당연히 쓸수 없다. 그래서 list의 멤버함수로 sort가 있다. 다음과 같이 써주자.
          * 표를 보면 알겠지만, 파일 크기가 커질수록 vector의 요소 삽입, 삭제 시간은 비약적으로 증가다. list는 별로 안 증가다.
          * string도 vector처럼 쓸수 있다. 실제로는 vector<char>이니... vector의 대부분의 기능을 지원다. []과 반복자는 물론 size() 등등도..
          * 그냥 string가지고 화면에 뿌리는 이상 장난치고 있다. 별로 볼거 없다.
          * 지금 보니까 쓸만 팁이 하나 있다. 바로 컨테이너에 다른 컨테이너의 내용들을 넣는 예제이다.
  • ComputerNetworkClass/Exam2006_2 . . . . 28 matches
         보안 기법에서 알고리즘과 자세 구현법에 대 내용은 교수님이 지양하신듯. (난이도 낮추려고 듯함)
         개별적인 기술의 상세 내용을 묻기보다는 전체 기술에 대 비교과 차이점에 대 이해를 중심으로 출제.
         (마디로 넓게 공부해야 결과 좋을듯함.)
         인터넷 보안 관련된 문제에서 문제로 출제 될 만하다고 생각했던 부분인 Authencation Protocol (3-way-handshake, keberos, using RSA)에 대 내용역시 미출제되었음. 덕분에 시험 난이도는 낮아졌지만, PEM 의 구조에 대 설명이 들어갔기 때문에 따로 관심을 가지고 공부 사람이 아니면 약간 어려웠을지도 모르겠음.
         TCP의 흐름제어 부분은 워낙에 중요하다고 설명했기 때문에 SLOWSTART, FAST RETRANSMIT, VEGAS 에 대 이해를 해야했을듯.
         1. 보안의 종류, 침입방법, 그에따른 보안 기법 예, 간단 설명
         availability(interruption, DoS, Jamming -> Firewall, Proxy-base Network System)에 대 설명과 수업때 배운 보안기술들을 분류하고 설명하는 문제임.
          2.1 playback time 에 대 책에 제시된 그래프를 그리고 그 설명을 하는 문제. (2.1 문제에서는 MPEG 과 같은 압축 기법이 이용되지 않는다고 가정)
          SSRC, CSRC, Contribution Count, timestamp, sequence number, Version etc 에대 내용을 적고 해설
          playback point, playback time 에 대 이해를 묻는 문제임. adaptive playback 에대 문제도 출제되었음.
          일반적인 메일 전송 프로토콜의 이해와 MIME 프로토콜에 대 간단 이해. 그리고 E(MD(5), PrivateKeyOfSnd) 의 해석 방법과 계층적 인증에 대 이해를 묻는 문제였음.
          문제의 내용에 메일의 헤더와 구조를 나타내라는 말이 있기 떄문에 책을 참조하거나 일반적으로 받는 이메일의 구조를 번 본뒤 시험을 보면 좋음.
          SLOWSTART 사용시기와 해당 기법의 사용이유에 대 해설
          4.2 fast restrasntmit 에 대 설명과 그렇게 했을때 그래프가 어떻게 변하나?
          FR이용시 그래프의 변화 추이와 그 이유를 설명. 중복 ACK 전송에 대 이야기와 VEGAS에서 이요하는 faster retransmit 설명했음.
          Integrated Service(flow-based), Differentiated Service(service-based) 에대 전반적인 이해를 하는 문제. 해당 기법에 WFQ를 적용하는 방법에 대 이해를 묻는 문제로 약간 응용해서 적으란 것으로 보임. 책에 DS에 대 설명은 WRED, RIO에 대 설명만 되어있었고, 이 방식은 Queuing 에 의 WFQ의 사후 처리가 아닌 사전 체리에 관련된 내용이었음. 솔직히 WFQ 왜 냈는지 모르겠음. -_-;;
  • MindMapConceptMap . . . . 28 matches
         How To Read a Book 과 같은 책에서도 강조하는 내용중에 '책을 분류하라' 와 '책의 구조를 파악하라'라는 내용이 있다. 책을 분류함으로서 기존에 접해본 책의 종류와 비슷 방법으로 접근할 수 있고, 이는 시간을 단축해준다. 일종의 知道랄까. 지식에 대 길이 어느정도 잡혀있는 곳을 걸어가는 것과 수풀을 해치며 지나가는 것은 분명 그 속도에서 차이가 있을것이다.
         MindMap 의 경우, 일반적인 책들과 같이 그 체계가 잘 잡혀 있는 지식에 대해 정리하기 편리하다. (SWEBOK 과 같이 아에 해당 지식에 대 뼈대를 근거로 지식을 분류해놓은 책같은 경우에는 더더욱) 일반적으로 챕터에 대해서 5-10분정도면 번 정리를 다 할 수 있을 정도로 필기할때 속도가 빠르다. 그러면서 해당 중심 주제에 대해서 일관적으로 이어나갈 수 있도록 도와준다. (이는 주로 대부분의 책들이 구조적으로 서술되어있어서이기도 할 것이다.)
         공부할때 챕터에 대해서 1시간정도 MindMap 을 구조적으로 그려나가면서 정리 뒤, 기억 회상을 위해 외워서 MindMap 을 3번정도 그려보면 (기억 회상을 위해 그리는데에는 보통 5-10분이면 된다. 반드시 '다시 기억을 떠올리면서' 그릴것! MindMap 이나 ConceptMap 이나 그리고 난 뒤의 도표가 중요 것이 아니다. 중요 것은 Map을 그려나가면서 기억을 떠올려나가는 과정이 중요하다.)
         관련 자료 : '마인드맵 북' , 'Use Your Head' (토니 부잔) - MindMap 쪽에 관 책.
         ConceptMap 은 Joseph D. Novak 이 개발 지식표현법으로 MindMap 보다 먼저 개발되었다. (60-70년대) 교육학에서의 Constructivism 의 입장을 취다.
         ConceptMap 은 'Concept' 과 'Concept' 간의 관계를 표현하는 다이어그램으로, 트리구조가 아닌 wiki:NoSmok:리좀 구조이다. 비록 도표를 읽는 방법은 'TopDown' 식으로 읽어가지만, 각 'Concept' 간 상하관계를 강요하진 않는다. ConceptMap 으로 책을 읽은 뒤 정리하는 방법은 MindMap 과 다르다. MindMap 이 주로 각 개념들에 대 연상에 주목을 다면 ConceptMap 의 경우는 각 개념들에 대 관계들에 주목다.
         개인적으로 처음에 MindMap 보다는 그리는데 시간이 많이 걸렸다. 하지만, MindMap 에 비해 각 개념들을 중복적으로 쓰는 경우가 적었다. (물론 MindMap 의 경우도 중복되는 개념에 대해서는 Tree 를 깨고 직접 링크를 걸지만) MindMap 의 Refactoring 된 결과라고 보면 좀 우스우려나; 주로 책을 정리를 할때 MindMap 을 하고 때때로 MindMap 에서의 중복되는 개념들을 토대로 하나의 개념으로 묶어서 ConceptMap 을 그리기도 다.
         ConceptMap 에서 중요 것은 각 Concept 뿐만 아니라 Concept 과 Concept 간의 Relation 의 표현이다.
         빠르게 책의 구조와 내용을 파악할때는 MindMap을, 그리고 그 지식을 실제로 이용하기 위해 정리하기 위해서라면 MindMap 을 확장시키거나, ConceptMap 으로 다시 번 표현해나가는 것이 어떨까 다. --석천
         '''마인드맵은 지극히 개인적인 도구이다.''' ["데기"]가 마인드맵에 기록하는 것들은 주로 연상 작용을 일으켜 이미 알고있는 것을 쉽게 떠오르게 할 수 있는 열쇠들이다. 마인드맵에 적힌 내용들이 그 열쇠가 되기도 하지만 그보다 마인드맵을 그리는 과정이 그 열쇠가 되어준다. 잉크가 말라 잘 안나오는 파란색 펜을 선택해서 굵은 줄로 가지를 치고 조금 삐딱 글씨체로 ''겨울 바다''라고 썼던 일이 나중에 그 마인드맵을 다시볼때 기억의 실마리가 되어준다. 그 실마리는 언어가 될 수도 있겠지만 이미지적인 요소도 무시할 수 없다. 굴림체 ''겨울 바다''와 ["데기"]체 ''겨울 바다''를 통해 연상되는 기억에는 분명히 차이가 있을것이다.
         MindMap 의 연상기억이 잘 되려면 각 Node 간의 Hierarchy 관계가 중요하다. 가능 상위 Node 는 추상도가 높아야 다. 처음에 이를 번에 그려내기는 쉽지 않다. 그리다가 수정하고 그리다가 수정하고 해야 하는데 이것이 번에 되기는 쉽지 않다. 연습이 필요하다.
         MindMap 의 표현법을 다른 방면에도 이용할 수 있다. 결국은 트리 뷰(방사형 트리뷰) 이기 때문이다. [1002]의 경우 ToDo 를 적을때 (보통 시간관리책에서 ToDo의 경우 outline 방식으로 표현하는 경우가 많다.) 자주 쓴다. 또는 ProblemRestatement 의 방법을 연습할때 사용다. --[1002]
  • PyUnit . . . . 28 matches
          * PyUnit는 Python 에 기본적으로 포함되어있는 UnitTest Framework library이다. 하지만, UnitTest작성에 대 기본적인 개념들을 쉽게 담고 있다고 생각하여 공부중. (솔직히 C++로 UnitTest할 엄두 안나서. --; Python으로 먼저 프로토타입이 되는 부분을 작성하고 다른 언어로 포팅하는 식으로 할까 생각중)
         unit testing 의 가장 기본적인 코드 블록 단위. 셋팅과 모듈이 제대로 돌아가는지를 체크하기 위 하나의 시나리오가 된다.
         === 간단 testcase 의 제작. 'failure', 'error' ===
         가장 간단 방법은 runTest 메소드를 오버라이딩 하는 것이다.
         테스팅을 하기 위해 Python의 assert 구문을 사용다. testcase가 실행될 때 assertion을 실행하면 AssertionError 가 일어나고, testing framework는 이 testcase를 'failure' 했다고 정의할 것이다. 'assert' 를 명시적으로 써놓지 않은 부분에서의 예외가 발생 것들은 testing framework 에서는 'errors'로 간주다.
         만일 testcase가 많아지면 그들의 set-up 코드들도 중복될 것이다. 매번 Widget 클래스를 테스트하기 위해 클래스들마다 widget 인스턴스를 만드는 것은 명백 중복이다.
         단순히, 우리는 tearDown 메소드를 제공할 수 있다. runTest가 실행되고 난 뒤의 일을 해결다.
         이러 testing code를 위 작업환경을 'fixture' 라고 다.
         === 여러개의 test method를 포함 TestCase classes ===
         종종, 많은 작은 test case들이 같은 fixture를 사용하게 될 것이다. 이러 경우, 우리는 DefaultWidgetSizeTestCase 같은 많은 작은 one-method class 안에 SimpleWidgetTestCase를 서브클래싱하게 된다. 이건 시간낭비이고,.. --a PyUnit는 더 단순 메커니즘을 제공다.
         여기에는 runTest 메소드가 없는대신, 두개의 다른 test 메소드를 가지고 있다. 클래스 인스턴스는 이제 각각 self.widget 을 생헝하고 각 인스턴스에 대해 따로 소멸되면서 각각의 test method를 실행다.
         인스턴스를 생성할때 우리는 그 테스트 인스턴스가 수행할 테스트 메소드를 구체적으로 명시해주어야 다. 이 일은 constructor에 메소드 이름을 적어주면 된다.
         Test case 인스턴스들은 그들이 테스트하려는 것들에 따라 함께 그룹화된다. PyUnit는 이를 위 'Test Suite' 메커니즘을 제공다. Test Suite는 unittest 모듈의 TestSuite class로 표현된다.
         unittest 모듈에는 makeSuite 라는 편리 함수가 있다. 이 함수는 test case class 안의 모든 test case를 포함하는 test suite를 만들어준다. (와우!!)
         makeSuite 함수를 사용할때 testcase들은 cmp 함수를 사용하여 소트 순서되로 실행된다.
         === test suite들의 집합. 모든 테스트들을 번에~ ===
         종종 testcase들을 함께 묶은 suites들의 그룹을 원할때가 있다. 그렇게 함으로서 번에 모든 시스템의 test를 수행할 수 있다. TestSuite들은 TestSuite 에 포함될 수 있기 때문에 매우 간단하다.
         testcode는 'widgettests.py' 처럼 따로 테스트코드들에 대 모듈을 두는 것이 여러가지면에서 장점을 지닌다.
          * 특별 이유없이 testcode를 test받을 code에 맞추려는 유혹을 덜 수 있다.
         PyUnit test framework는 테스트를 수행하기 위해 'TestRunner' 클래스를 사용다. 가장 일반적인 TestRunner는 TextTestRunner이다.
  • SeminarHowToProgramIt . . . . 28 matches
          * Stepwise Refinement -- 진부 미래, 신선 과거 (see also NoSmok:ProgrammingOnPurpose )
          * Coding Style -- esp. How to Name it (프로그래머를 위 정명학. "子曰 必也正名乎...名不正則言不順 言不順則事不成" <논어> 자로편)
         ''위의 것을 두시간 동안 다 다는 것은 -- 세미나 이전과 이후에 사람이 달라지는 수준에서 -- 불가능하고, TDD와 PP, 그리고 DP(RF)를 집중적으로 다루겠습니다. 가능하면 제 구두설명은 짧게 줄이고 나머지 시간은 이 세가지를 직접 실습, 토론하는 시간이 되도록 하겠습니다. 할 것은 많고 시간은 짧습니다. 요즘 저의 "세미나 화두"는 어떻게 하면 "적게 전달"하고 깊이 깨닫게 하거나 혹은 반성하고 또 다양하게 실험해 볼 여지를 많이 제공할 수 있을까 하는 것입니다.''
         대상은 프로그래밍 경험이 부족 분, 혹은 너무 많은 분.
         세미나는 실습/토론 중심의 핸드온 세미나가 될 것이며, 따라서 인원제이 있어야 할 것임. 약 20명 내외가 적당할 듯. ("Tell me and I forget, teach me, and I may remember, involve me and I learn." -- Benjamin Franklin)
          * 7:50-8:00 PP에 대 간략 소개, 주의점 등.
          해당 날짜에 7층의 PC실에 세미나 공고를 붙여도 된다고 허락 받았습니다. 저보다 먼저 pc실에 도착해 시간이 있으신분들은 적당 공고를 7층 PC실 문에 붙여 주세요. PC의 확보역시 자율적이지만, 마찬가지 입니다. --상민
         장소 관련 여담 : 덕준이와, 석천이가 2층을 대여를 위해 알아 보았지만, 학생의 권으로는 빌릴수 없다고 했습니다. 수고 하셨습니다. 만약 다음에 필요할때는 학과장님께 해당 행사의 문서 제출후에 장소 확보가 가능할듯 합니다. 과사에서 문서에 대 일반적인 양식은 존재하지 않는다고 합니다.(과거 PC 빌렸을때 처럼) --상민
         정말 재밌을 것 같습니다. 나도 갈 수 있으면 좋을텐데... 참석하지 못하는 사람들을 위해 소중 세미나 자료를 공유해주시면 감사하겠습니다. 창준군을 만난 건 여러분이나 저나 참 행운입니다. 24시간 가르쳐달라고 하세요. ^^ 이런 강의는 학교졸업하면 다시는 접하지 못할 것입니다. ^^ (그나저나 제로페이저도 아닌데 글을 올려도 되는 건지 모르겠군요.) - 박지훈
          ["neocoin"]:위키에 특정 로그인이 존재 하지 않고,열어논 이유가 글을 쓰고 의견을 주십사 해서 입니다. 저번달 누군가 함부로 지우는 사태가 발생해서 일단 지우는 권에 대하여 HGC(Human Garbage Collector- 아니라 KHGC인가.--a)체제로 바꾸었지만요. --상민
         사람이 많아 지니 참가에 대하여 불안 감이 드네요. zp회원에 하여 늦게 오는 사람 음료수 사기!!! --상민
         ||5|| 이주 ||
          * 참가자(aka Player) : 직접 학습에 동참하고 함께 토론하고 바탕 재미있게 놀아볼 사람.
         해당 팀은 개발 환경, 언어 선정부터, 프로그램 디자인, 코딩까지 모두 함께 하게 됩니다. 가지 문제 상황이 주어질 것이고, 제가 고객역할을 합니다. 개발 진행 중에 몇번의 요구사항 수정이 있을 것이므로, "적응도"에 대 테스트가 자동으로 이루어 질 것입니다. 개발 완료 후에는 각각 다른 언어로 구현된 프로그램들을 살펴보며 비교 토론을 할 것입니다.
         처음에는 신입생 대상으로 Python 강의가 있다고 해서, 거기에 보탬이 될까 하는 마음으로 세미나를 해드리겠다고 했는데, 어떻게 중간에서 "프로그래밍 전반"에 대 세미나로 성격이 변 것 같습니다. 실습 중심으로 하게 될 것이고, 아무리 Python이 배우기 쉬운 언어라고 해도 Python에 익숙 사람이 하나도 없는 페어가 두시간 안에 뭔가 다른 것을 (Python을 통해) 익힌다는 것은 어렵고, 또 효율적이지 못하기 때문에, 여러분들 자신이 가장 "자신있는" 언어를 사용하도록 하는 게 좋겠다는 생각을 합니다.
         이 때, OOP가 가능 언어를 추천하고, 해당 언어의 xUnit 사용법을 미리 익혀오기 바랍니다. (반나절 정도가 필요할 겁니다) http://www.xprogramming.com/software.htm 에서 다운 받을 수 있습니다.
          ''괜찮습니다만, 가능하다면 OOP언어를 권합니다. 그리고 자신이 선택 언어와 동일 언어를 선택 사람이 최소 명은 더 있어야 합니다.''
  • XpQuestion . . . . 28 matches
          ''Xper 에서 비슷 기능을 하는 페이지가 '질문답변' 인데, 이 페이지같은 경우는 직접 질문하고 답을 쓴거여서 '질문답변' 에 올리기가 좀 그렇더라구요 Faq 라는 페이지를 만들까 하다가 좀 주관적인 답이여서 그렇고. Xper 에서 페이지 제목 궁리하다가 그냥 일단 여기 만든거라는. ^^; (Xper 에도 올립니다. 페이지들 별로 녹여넣어야겠군요.) --["1002"]''
         - '필요하면 하라'. XP 가 기본적으로 프로젝트 팀을 위 것이기에 혼자서 XP 의 Practice 들을 보면 적용하기 어려운 것들이 있다. 하지만, XP 의 Practice 의 일부의 것들에 대해서는 혼자서 행하여도 그 장점을 취할 수 있는 것들이 있다. (TestDrivenDevelopment, ["Refactoring"], ContinuousIntegration,SimpleDesign, SustainablePace, CrcCard Session 등. 그리고 혼자서 프로그래밍을 다 하더라도 약간 큰 프로그래밍을 다면 Planning 이 필요하다. 학생이다 하더라도 시간관리, 일거리 관리는 익혀야 할 덕목이다.) 장점을 취할 수 있는 것들은 장점을 취하고, 지금 하기에 리스크가 큰 것들은 나중에 해도 된다.
         각 Practice 를 공부를 하다보면, 저것들이 이루어지기 위해서 공부해야 할 것들이 더 있음을 알게 된다. (의식적으로 알아낼 수 있어야 다고 생각다.) Refactoring 을 잘하기 위해선 OOP 와 해당 언어들을 더 깊이있게 이해할 필요가 있으며 (언어에 대해 깊은 이해가 있으면 똑같은 일에 대해서도 코드를 더 명확하고 간결하게 작성할 수 있다.) CrcCard 를 하다보면 역시 OOP 와 ResponsibilityDrivenDesign 에 대해 공부하게 될 것이다. Planning 을 하다보면 시간관리책이나 일거리 관리책들을 보게 될 것이다. Pair 를 하다보면 다른 사람들에게 자신의 생각을 명확하게 표현하는 방법도 '공부'해야 할 것이다. 이는 결국 사람이 하는 일이기에. 같이 병행할 수 있고, 더 중요 것을 개인적으로 순위를 정해서 공부할 수 있겠다.
         개인적으로, TestDrivenDevelopment 는 연습해보면 배울 게 많다고 생각다. Test 를 작성하는데에서 배웠던 일들이 많기에. (Test 를 작성하기 위해 큰 모듈덩어리에서 일어나는 중간단계에 대해 더 깊게 생각하고 작은단위로 쪼갠다던지, AcceptanceTest 를 작성하기 위해 전체 시스템 돌아가는 과정을 안다던지 등등)
         선배들에게 Pair 를 요청하는 것도 바람직 방법이라 생각다. Pair를 하면서 또다른 사람의 세계를 구경하고, 또 그 사람에게 또 다른 세계를 구경시켜줄 수 있으리라 생각다. (다른 사람들을 세심하게 관찰할 수 있고 실천할 수 있다면 참으로 빨리 배울 수 있는 사람이라 생각다.)
         - Story Card 는 Kent Beck 이 사용자와 더 빠른 피드백을 위해 생각 덜 형식적인 방법이다. 어차피 Story Card 는 전부 AcceptanceTest 로 작성할 것이기에, 테스트가 작성되고 나면 AcceptanceTest 가 도큐먼트 역할을 할 것이다. Index Card 도구 자체가 보관용이 아니다. 보관이 필요하다면 위키를 쓰거나 디지털카메라 & 스캐너 등등 '보관용 도구', 'Repository' 를 이용하라.
         - 어차피 실제 고객에게 가치를 주는 중요 일만을 하자가 목적이기에. Documentation 자체가 중요 비즈니스 가치를 준다던가, 팀 내에서 중요 가치를 준다고 다면 (예를 들어서, 팀원중 몇명이 항시 같이 작업을 할 수 없다던지 등등) Documentation 을 EngineeringTask 에 추가하고 역시 자원(시간)을 분배하라. (Documentation 자체가 원래 비용이 드는 일이다.)
         - ["1002"] 가 ProjectPrometheus 를 할때엔 거의 전체 작업을 Pair로 진행했다. Integration 비용이 전혀 들지 않았다. (두명이 멤버였으니; 당근!) 그리고 초기 소스와 지금 소스중 초기 모습이 남아있는 부분을 보면 '젠장. 왜 이렇게 짠거야? 이런 허접...' 이다. 중복된 부분도 많고, 매직넘버도 남아있고, 처음엔 쓸거라 생각했던 일종의 어뎁터 역할을 하는 클래스는 오히려 일만 복잡하게 만들고 등등.
         그리고, '지식의 전파'가 프로젝트에서 효율을 높인다고 다면. 이번 기회에서도 ["1002"] 는 Pair를 사람과 같이 싸우고 치고 받고 하면서 여러가지 생각을 할 수 있었던 기회가 되었다. '충돌' 이 물리적작용으로만 끝난다면 상처밖에 남지 않지만, 화학작용을 다면 뭔가 새로운 것을 만들어낸다. Pair 는 단순히 '사람 Skill' + '사람 Skill' 은 아니라 생각다.
         과연 40시간 작업이란 가능 일인가? 보통은 밤을 새어도 일을 못하는 경우가 많은데.
         - 이는 SustainablePace 에 대 증표이다. 보통 일이 초과되어 진행된다는것은 뭔가 일이 잘 안풀린다는 증거가 되기도 하다.
         === 연봉 협상과 관련 문제 ===
  • ZeroPage/임원/회의/2011-02-13 . . . . 28 matches
          * 학술활동을 진행하는데 필요 비용을 지원받을 수 있다.
          * 책에 대 지원
          * 전공 도서를 읽고 리뷰를 작성하면 마일리지를 적립다.
          * 임원단이 평가다.
          * 전공 도서를 읽고 알게 된 것을 ZeroPager들에게 세미나로 공유하면 마일리지를 적립다.
          * 피드백 (등급 * 개수)로 어느정도 지원할지 결정다.
          * 강의 도서를 제외 전공 도서에 해 희망도서를 신청할 수 있다.
          * 희망도서를 신청하면 책장 담당자가 구매하며 신청자에게 우선대여 권이 있다.
          * 대여 기간 :
          * 피드백 갯수를 일정개수 이상 채워야다.
          * ZeroPage 활동에 참여하고 스스로 작성 피드백도 가능하고
          * ZeroPage에서 세미나를 뒤 참가자들에게 받은 피드백도 가능하다.
          * 위키에 본인이 직접 쓰는 것을 원칙으로 하지만 형태에 제은 없다.
          * 다른 형태로 작성하였을 경우 위키에 옮기는 것을 권장다.
          * ZeroPager간 공유에 의 지식의 상승효과.
          * ZeroPage에서 의미있는 경험을 할 수 있어야 다.
          * ZeroPager가 우수 인재가 되도록.
          * 우수 인재가 ZeroPage에 오도록.
          * 하고싶은 것이 있을 때 ZeroPage에서 할 수 있어야 다.
          * 같이 할 사람을 ZeroPage에서 찾을 수 있어야 다.
  • 비행기게임 . . . . 28 matches
          * 비행기 게임을 번 만들어 봅니다.
          * 인수야~ 재동아 언제 번 모이자~~~~~
          * 각 스테이지 만들기( 6판 정도..)
          * 비행기에 다양 무기 만들기
          * 2인용 대결 모드. 상대편과 내가 일정 시간후에 만난다.. 그 중간 과정에서 얼마나 많은 컴퓨터 적을 격추 했는지에 따라서 무기를 업그레이드 하거나 다.
          * 그리고 비행기 게임을 하면 보통 자기 비행기 하나 빼고 나머지는 다 적군이서 막 생각없이 미사일 버튼만 누루면서 갈기는데 그것 보다 아예 적기가 나오면서 동시에 아군 비행기도 적당히 등장해서 자신을 돕게 다. 아군 비행기는 자신의 미사일에도 격추된다. 더 신중하게 미사일을 누루게 될것이다. 그리고 아군 비행기를 격추할시에는 일정 벌칙이 있다. 무기가 단계 안좋아 진다든지 하는 식으로.
          * 적기를 막 쏘기 보다는 적기의 특정 부분을 맞추면 적기가 더 잘 부서지게 다. 예를 들어서 다른 부분에 맞으면 적기가 2번 만에 죽는데, 왼쪽 날개 끝에 맞으면 단번에 죽는 식으로..
          * 음... 적기를 삼키는 비행기.. 적의 미사일은 피해야 다. 자기는 미사일이 없고 적기를 삼켜야 적기를 폭파할 수 있다.
          * 게임 만드는 것은 내 취향이 아닌거 같다. ㅠㅜ, 이번 비행기 게임 프로젝트를 통해서 뼈저리게 느꼈다. 뭐 그래픽 넣을때도 포토샵 단색으로 그리고, 또 세세 부분 신경 쓰는걸 잘 못하겠다. 아마다 덜렁대는 성격때문인거 같다. 오목 만들때는 재밌었는데 비행기겜 만드는건 그것 만큼은 아니다. 쩝.. - 상협
          * 절망이다. ㅡㅡ;; 마음만 급해가지고서는.. 허둥대고 있당... 말만 하고 실제로는 것이 없는거 같당.. 제대로 공부를 안해서 그런지 이것저것 잘 안되는 부분이 많당.. 결과적으로 보면..쩝..
          게임 그래픽 부분이 만만치 않긴 하지.. 흐흐. 스프라이트 그리는 사람이 고충이 생각보다 많음. 안티 엘리어싱 부분의 경우 투명색이 제대로 처리가 되지 않기 때문에 도트노가다를 해주어야 하거든. 나의 경우 포토샵으로 일단 트루컬러로 그린뒤 그것을 256 indexed color 로 바꾸고 투명색 하나 넣어서 도트노가다 해주는 식이거나, 또는 아에 3D 툴로 그리던지. (3D 툴로 모델링하고 렌더링시에 웬만 툴들은 alpha channel 을 따로 저장하거든. 그래서 3D 툴로 만든건 안티 엘리어싱 문제를 그리 의식하지 않음.) 또는 아에 엔진 자체가 3D이고 스프라이트들이 3D 이던지지만 이건 논의 대상 밖이겠군; 해성이의 경우는 원래 도트 노가다에 일가견이 있기에 뭐 전부 그려주긴 했고;
          그리고 몇몇 캐릭터들에 대해서 스프라이트 사이즈에 대 문제들도 있긴 하지만, 뭐 이건 논의 제외하기로 하고.
          암튼. 초반의 열정이 후반의 끈기로 이어지려면, 해당 일에 대 좋은 방법들을 중간에 계속 궁리하고, 적용해봐야겠지. 개인적인 조언이라면, 초반에 너무 그래픽 등에 많이 신경쓰지 않는것이 낫다고 생각함. 일단은 전반적인 틀과 게임 엔진을 만든다는 기분으로 하고, 그 엔진이 자신이 원하는 아이디어를 수용할 수 있는가에 더 촛점을 맞추는게 낫지 않을까 함. 단, 생각은 전반적인 부분을 보되, 구현을 쉽게 하기 위해서는 구체적 예제 데이터를 가지고 작업하는것이 효율적이겠지. 그리고 그 예제 데이터를 기반으로 일종의 SpikeSolution식으로 구현을 뒤, 그 구현된 프로그램을 보고 다시 코드를 작성하던지 또는 ["Refactoring"] 해서 일반화시키던지.(새로 짜도 얼마 시간 안걸림. 예상컨대, 아마 중반에 소스 번 뒤집어주고 싶은 욕구가 날껄? 흐흐) --["1002"]
         가지 더 개인적인 조언을 추가다면, 일단 지금 생각나는 '앞으로 해야 할일들' 을 좌악 정리하길. 그 다음 그 일들에 순위를 매겨서 일들을 해 나가는거지. 그러다가 중간에 '예상치 못했던, 하지만 해야 할 일들' 을 만나면, 앞에서 적은 그 리스트에 항목을 추가해주고 그 일을 하는거지. '내가 해야 할 일들이 너무 많아' 라고 생각될 때 추천하고싶은 방법임. --["1002"]
          '' 미안.. 나두 열심히 해주고 싶은데.. 잘 안되네.. 지금 와서 계속 다고 하기도 미안하고 빠진다고 하기도 미안하고.. ㅠ.ㅠ''
         '비행기게임' 을 위건지 아니면 Python 공부를 위건지? 뭐 둘 다 상관없긴 데.. 비행기 게임 제작 과정에 'Python 익히기' 가 먼저인건 순서가 아닐 것 같아서.
         개인적으로 '형은 뭐 먼저 했어요?' 라고 질문다라면, '나는 DirectX 7.0 의 Space donut 소스 분석뒤 만들었지만, 꼭 DX를 볼 필요는 없다' 라고 말해주고 싶군.
         일단은 작은 아이디어를 하나 정다음 (그 뭐다냐.. 총알 피하기 폐인 게임같은거) 완성시킨뒤, 프로그램을 키워가는 것도 좋을듯. --["1002"]
  • 새싹교실/2011/무전취식/레벨10 . . . . 28 matches
         김준석 : 5월이 막바지를 지냈어. 6월초에 프로젝트 발표가 4개 있어. 그래서 프로젝트에 치여삽니다. 하지만 잠도 잘자고 술도 잘먹어요. 그리고 구남영을 면회갔습니다. 소요산 근처 연천에 근무를 하는데 내가 옛날에 근무했던 지역에서 30분 정도 걸린지역이었다. 그래서 8시간이 걸렸음. 그래서 어제 힘들어죽는줄 알았다. 요즘 또 춤은 잘추고 있어요. 댄스스포츠 정말 잘 듣고있어요. 너희도 하고 싶으면 오세요. 프로젝트 기억밖에 없다.
         이소라 : 수요일에요. 누가 숙제를 도와달라고 해서 원래 그날 창설모이는 날이었는데 1시에 끝나서 도와주고 창설 할려고했는데 다해서 축제도 보고 싶어서 오고있었는데 "끝났음"이라고 문자가왔음. 그리고 전날에 화요일에 6시에 오기로 했는데 새싹때문에 늦어서 문자 보냈더니 만난지 30분만에 "끝났음"이라고 문자옴. 이진영 : ㅋㅋㅋㅋ 그리고 못보고 목요일날 갔는데 퍼펙트 성공 이진영 : 이씨~~ ㅋㅋ 그리고 목요일에 축제라서 친구가옴. 6시에 왔는데 낮에 있던거 다 닫고 주점만 있어서 두바퀴오르락 내리락하다가 저기 블랙바니가서 또 꿀꿀꿀 퍼묵퍼묵 하는데 남자친구가 와서 학교 구경 시켜줄려고 올라왔는데 볼게 없어서 걔 아는 형이 저기 병원에 있다길래 만나서 노래방감. 그날 낮에 풍선 미끄럼틀가서 이진영: ㅋㅋㅋㅋ 애들이랑 다 탐. 근데 엄청 재밌게 탔는데 어떤애가 타다가 바지가 찢어짐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ킨ㄹ이ㅓㅋㅋㅋㅋㅋ 그래서 진영이가 잘봤음. 그리고 금요일에 티셔츠 받으려했는데 줄이 너무길어서 그 전날 다른애테 뺏은 L사이즈 내가 입음. 완전 하의실종임 ㅋㅋ 그리고 김장훈왔었는데 완전 좋았음.
         이진영 : 화요일에 새싹 끝나고 선전부 회의를 가서 처음으로 자보를 썻음. 암튼 재밌었음. 그러고 화요일 수요일에 창설을 하느라 집에 계속 새벽 1시에 들어감. 근데 결과는 첫번째 할때 로봇 팔이 떨어져서 Fail 그리고 두번째는 퍼펙트를 했음. 그래서 돌만 없었으면 완전 퍼펙성공인데 짜증났었음. 그리고 화요일에 너무 배고팠는데 창설 4피에서 할때 홍병우 교수님에게 "교수님 배고파요"이랬더니 4피 사람들테 다 쏨. 매우맛있었음. 애들이 절 찬양했음. 그리고 축제는 재밌었음. 아 그리고 목요일에 시청에 가서 거기 앞에서 군악대랑 사물놀이 연주하는 봤는데 되게 재밌었음.
         서원태 : 수요일날 자다가 종하형테 문자왔음 "경진대회 감독좀 맡아라" 그래서 갔는데 문제좀 봤는데 하나도 모르겠음. 그래서 인터넷 쓰는사람 계속 잡았는데 치완이네 조가 인터넷 쓰는건 몰랐는데 알아서 말해서 강퇴시킴. 그리고 끝나서 같이 밥먹고 집에감. 목요일에는 가족 저녘약속있어서 축제 구경못하고 집에 감. 금요일날 축제 구경할려고했는데 문예사 프로젝트 발표 준비때문에 구경 못함. 내년 축제는... 아 군대가있지. 군대갔다오면 3년정도 뒤에 볼수 있을듯.
         김태진 : 저번주말에 부산에 내려갔습니다. 목요일 저녘에 갔기때문에 금요일 창설은 다해놓고 구경하러갔습니다. 그리고 금요일 저녘에 들은 소식은 Fail Fail~~~ ㅠㅠ. 축제도 못본건 아쉽긴 하지만 그래도 집에가서 이런저런거 먹고 잘 쉬다온건 행복했음. 프로그래밍 경진대회 나갔는데 종이랑 송치완이랑 같이 나갔음. 분명 MSDN까지만 쓰기로 되있었는데 송모군이 MSDN하면서 www.google.co.kr를 통해 검색을 하다가. 야. 이거 문제 똑같애 하다가 들켜서 강퇴당함.
         강원석 : 집에 강아지가 생겼음 종류는 말티즈 "콜" 네달됬는데 짱임. 남자임. 중성화 아직 안함. 해야다던. 똥오줌 가려서 완전 신기함. 애가 첫날 왔는데 신문지 위에서 비비빅하더니 오줌거기서 싸고 똥도 거기서 사고 완전 신기함. 거실에서 따로 재움. 그럼 방문열고 들어옴. 이번주 창설 1등했음. 완전 좋음. 축제때 애들이랑 술만먹음. 구경은 안했음.
          * 주석을 이용 프로그램 설계 방법
         김준석 : 급전환해서 과제를 풀게됬습니다. 개념정리는 복습해서 잘 이해하는것 같음. 뿌듯하기도 합니다. 그렇지만 아직 코딩을 위주로 안해서 약것 같습니다. 다음시간도 코딩을 해봅시다.
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 개념 정리에 대해서는 그다지 많은 가르침이 없었습니다. 오늘의 집중 항목은 여러명이 코딩하는 방법과 직접 코딩을 해보는것이었죠. 지각에 대해서도 마디했군요!! 지각할때 상대방의 양해를 구하지 않는것은 상대방에게 크나큰 실례입니다~ 모두 지각다면 먼저 알려주는 센스쟁이가 되주세요. 오늘은 진경이가 와줘서 너무 기쁩니다. 든든 조교가 있으니 강사가 무능해도 잘 진행되는군요. Show me the money!!! 담시간을 기대하시라!! 또 태진이도 들으러와서 신나보이는 새싹이었습니다. 이런 수업방식이 적응이 안될수도잇죠. 신나고 신나게 배우고 먹고 마시는것입니다. 이게 맞는지는모르겠지만 학생들이 모쪼록 제 배움을 즐겁게 받아들여주었스면 좋겠습니다. 다음시간에도 Coding Coding입니다!! 얏후!! 후기써라. - [김준석]
          * ㅋㅋㅋ오늘도 일등입니당*_* 위키올라오기전에 미리 확인 건 처음이에요. 과제하다가 들어와서 써용. 오늘 코딩해본 1, 2번은 다했습니다. 스스로 생각해보고 스스로 코딩해보는게 중요 것 같아욧!! 문제를 보고 어떻게 해결할까 고민하는 과정이 실력을 키우는 것 같네용... 여태까진 다른사람 생각을 그대로 옮기는 코딩을 했다면 이제부터는 제 스스로 생각해보고 코딩을 해야겠어요히히*-_-* 하하핫 이제 3번을..... - [이소라]
          * 무능무능해진 소라. 그래도 가장 코딩을 잘하는군요. 역시 경험자는 달라=ㅂ=. 1등은 이쁘니까 과자개 사주고싶은 마음만 줄께. 과제를 올라오기 전에도 했군용. 잘하고있습니다. 계속 고민하고 디버깅하는 과정이 프로그래머에겐 필요 과정이지. 이번주에는 코딩만해서 딱히 많은 것을 느낄것이 없었지만 그래도 충실하게 후기를 써줘서 고마움. - [김준석]
          * 으앜 오늘도 자느라 교양과목을 빼먹게되네요. 과제는 금요일 C수업까지 듣고 해보려고 합니다~ 코딩은 아무도 모르게 혼자 하는것이 편것 같아요ㅋㅋ 누가 보고있으면 두려워서 제대로 못하겠어요. 자신감을 키우기위해 반복해서 코딩을 해보는게 관건이겠지요? 다음시간에도 코딩을 해야하니까 새싹교실수업에 앞서 코딩연습좀 해보고 수업에 임해야겠습니다. 그리고 주석달기 숙제 여기다 쓰는건줄 알았는데 소라가 안쓴거 보니까 다른곳에 올리는건가???? 주석도 짜면서 1,2번은 번 해보려고 합니다. 마지막 과제인데 어렵네요. 모든강의가 다 마지막 과제는 어렵게 나오나봐요ㅋ - [서원태]
          * 오빠의 =ㅂ=이 쪽지가 무서워서 언넝 남기려구여!! 아..C과제 왜케 어려워진건지 @.@ 넘넘 어려운 거 같아요!! 코딩하려면 아 뭐부터 하지... 되게 막막해서 소라테 맨날 물어봤는뎅 이제 설계를 일단 해봐야 겠어요! 근데 아직 그..설계를해도 그걸 코딩하는 실력이 아직 부족해요 많이! 많이! 그래서 공부를 더 해야 겠지요 ㅠㅠ...도와주세여..ㅋㅋㅋㅋㅋ 암튼 직접해보는게 정말 중요 것 같아요. 근데 이 뒷부분은 어려워요 너무 ㅠㅠㅠㅠ 으아아가악!.! -[이진영]
          * 예에~ 앞으로 쪽지 자주보내야지 ㅋㅋ 아 못된것 같아. 여튼. 코딩하는 실력이 부족것을 느꼇다면 아마 그부분의 발전이 있을꺼야. 그리고 많이 그런 고민을 다면 훌륭 프로그래머가 되겠지~! 공부하는걸 도와달라고 하니 너무 기쁘구나 ㅋㅋ - [김준석]
         문제3.(단어별로 줄씩 나열하기??)
         // 글자 제 길이 설정하기(..??) Define!!
         /* 나름 머리 쓰려고 해봤는데 으으음.....잘거같진않아요 ㅋㅋㅋ특 히 3번!
  • 정모/2011.10.5 . . . . 28 matches
          * 참가자 : [김수경], [서지혜], [임상현], [송지원], [김준석], [김태진], [고종], [이민규], [송치완], [강소현], [추성준], [정진경], [권순의]
          * 활발 참여부문 : [임상현]
          * AOP(Aspect-Oriented Programming)은 트랜잭션 처리 등 핵심기능은 아니지만 코드에 포함되어 유지보수를 어렵게 하는 부가기능을 분리해내는 패러다임으로 OOP(Object-Oriented Programming)를 대체하는 것은 아니고 보완하는 역할을 다.
          * 구글 I/O에서 I/O는 Innovation in the Open을 의미다.
          * [http://ko.wikipedia.org/wiki/W3C W3C]는 월드 와이드 웹을 위 표준을 개발하고 장려하는 조직으로 HTML 표준을 제정하였다.
          * ''기발 발상, 하늘을 움직이다''의 주인공은 일본인 형사이다.
          * 명제는 주인공의 국적에 대 것이었는데 아무도 주인공이 누구인지 질문하지 않았습니다. 스스로가 뭘 하는지도 모르면서 무언가 하고 있는 경우가 많다는 걸 다시 번 느낄 수 있었습니다. - [김수경]
          * [2011년독서모임]에서는 말하기 능력이 반드시 필요 것은 아니다. 있으면 좋다.
          * ACM-ICPC 대회에는 책을 가져갈 수 없다. 다만 20페이지 가량의 인쇄물을 가져갈 수 있다고 다.
         ZeroPage의 활동 혹은 전공 관련 지식에 대 자음퀴즈
          * 임상이 큐에 맞춰버린 ''와우 애드온''
          * ''위모트플러스'' 예~전에 했던 OMS 내용이라 다들 동안 기억하지 못했다.
          * 주말에 정규표현식 스터디에서 이야기가 나온 ''노엄 촘스키''. 그는 아직 살아있습니다.
          * Since 1991을 내주신 [이승] 선배님이(가) 문화상품권을(를) 획득하였습니다.
          * 오늘은 정모 중간에 나가야해서 아쉬웠지요 ㅠㅠㅠ 지원이누나가 해주신 세미나는 오늘 날 물먹인 아이폰의 대항마라 생각해서 재밌게(?) 들었네요. 아아니 그게 아이언맨을 모토로 거라니.. 이상과 현실의 괴리?? 그리고 민규의 세미나도 민규가 저런걸 할거란걸 기대하지 않고 갔는데 꽤나 유익 걸 설명해주어서 정말 재밌었어요.(Blender를 배우고 있는데 이게 참 쉽지가 않더라구요) 아, 요새 후기가 많이 올라오지 않아 아쉽기도 데 다들 잘 올려주시면 좋겠어요~ + 저랑 진경이(with 진규) 다음달에 대전갑니다! -[김태진]
          * 대전 잘 다녀와~ 스터디 열심히 만큼 좋은 결과 있길 :) - [김수경]
          1. OMS 신기하네요. 그래픽스의 추억''(?)''도 생각나고… 누군가는 opengl로 저런걸(=3ds Max) 만드는데 난 그래픽스 과제로 뭘거지 싶었습니다…
          * 하늘공원 가자고 해도 반발이 심 이 판국에 체육대회라니 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ - [지원]
          * 왠지 7~9월의노력을 정리해둔듯 정모였습니다. OMS에 3DMX가 나온게 참 신기했네요. OX퀴즈에 F로 몰빵을 했다면 만점을 받을 수 있었을텐데. 사람을 너무 잘믿어서 구별을 못듯 합니다. 시험기간에도 씐나는 정모를 가졌으면 합니다. 이제 슬슬 OMS를 다시 해야겠다는 생각이 듭니다. 해봐야겠네요. 수요일이 좋네요. - [김준석]
          * 지난 주에 발표 과제를 했다가 엄청 까인지라 세미나도 좋았지만, 지원 언니의 발표 능력에 감탄했습니다. 저런 실력이 나테도 있어야 할텐데 하면서 퀴즈 문제도 비슷하게 언어적 능력으로 갔지요. 퀴즈 하면서 중고딩 때의 기억이 새록새록 났던거같아요ㅋㅋ OMS는 그냥 쓱 하면 딱 하고 뭔가 나와서 신기했습니다. 밥 아저씨가 생각나요ㅋㅋ 재밌었어요. -[강소현]
  • 정모/2011.3.7 . . . . 28 matches
          * (정모에서 공유 내용들이 위키 페이지에 잘 정리되어 있습니다.)
          * 사람이 적어 예전에 실패 SpringSecurity를 이용하여 동네API와 OAuth 연동하는 실습을 함.
          * 20분가량 새내기들이 잘 모를법 언어에 대해 프리젠테이션을 진행
          * 시험 결과와 선행 지식에 대 간단 설문을 통해 학생들을 분류
          * '''목적''' : 결과로 학생들을 자르기 위 것이 아니라 선행 지식, 이해도가 비슷 학생들을 같은 반으로 묶어 새싹 교실을 진행하며 발생하는 같은 반 학생들 간 실력 차이를 최대 줄이려 함.
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 제 컴퓨터에서는 동영상 잘 나오던데.. 안타깝네요 열악 강의실 환경 - [서지혜]
          * 이번 정모에서 루비 세미나 - 문법실습 - 을 준비했었습니다. 잘 할수 있을까 걱정했는데 예상대로 설명도 제대로 못하고 강사주제에 들으러 오신분들께 물어보고 시간도 두배나 초과하는 추태를 보였습니다. 혼자서는 다 아는것 같은 내용도 남들 앞에서 설명하려니 제대로 떠오르지가 않네요.. 앞에서 말하면서도 얼른 끝내고 도망가고싶다는 생각이 자꾸 들었습니다ㅠ 이래서 연습이란게 중요가 봅니다. 다른사람을 가르치려면 가르칠 사람보다 세배네배 더 공부해야 다는 말을 뼈저리게 새기는 하루였습니다. 혹여 또 세미나를 다면 벽보고 연습이라도 하겠습니다. 그때는 이런 괴로운 세미나를 들려드리지 않을게요ㅠㅠ - [서지혜]
          * 정모에서 세미나와 페챠쿠챠만 참여하게 되었습니다. OMS할 때는 학교 컴퓨터를 이용했는데, BGM과 동영상이 재생이 안되더군요. 안타까웠습니다. 그리고 루비를 보면서 느낀게 참 신기하더군요. 가장 신기게 'nil'이었습니다. 보면서 여러가지 질문이 생각나더라고요. ''왜 nil이 라고 용어를 붙여놨어. Null이랑 헷갈리게!'', ''실제로 가볍게 활용을 하려면 어떻게 이용해봐야 할까?'', ''루비의 가장 큰 특징이 뭐지? 왜 좋다고 이야기 할까?'' 블라블라~. 그리고 루비 위키페이지에 적어놓으셨던 문법들이 정상적으로 작동하지 않는 걸 깨달았습니다. '<'로 상속이 안돼! 이 깍쟁이 irb야~ 내가 너를 Some이라 불러줬으니 나에게로 와서 Some2가 되어달란 말이야 ㅜㅜ. 앞으로는 다음에 언어 세미나를 들을 때 ''왜 이 언어와 문법이 등장하였는지''를 좀 생각하면서 들어야겠습니다. 그냥 생각없이 들으니까 금방 까먹어 버리네요. - [박성현]
          * 활동보고에서 책읽기 모임 보고를 하면서 간만에 정말 정식활동 시작!! 번쯤 해보고 싶었던 루비 프로그래밍 실습도 하면서 알찬 정모가 되지 않았나 느꼈습니다. 아쉬웠던 점은 시간 안배인데, 정모의 시간에 대은 없으나 어느 정도 deadline은 잡아야 하지 않나 하는 생각이 들었습니다. (예를 들면 늦어도 9시까지는 끝낸다 라던가..) 책읽기모임 활동보고의 소요시간이 약간 길었는데, 각자 읽은 책에 대해서 정모에서 나누는 것이 가장 효과적이긴 하나 모임 때 나눴던 얘기의 단순 요약판이니 이제부터는 위키를 참조하는 것도 좋지 않을까 싶네요. 그리고 루비 코드 레이스는 참여자를 봐서 다음주 정모 때 하는게 어떨까요 - [송지원]
          * 학생회 회의 떄문에 늦어서 루비 세미나 뒷부분부터 참석 관계로 많은 프로그램을 놓쳐버렸습니다 OTL 아쉽더군요... 우선 새싹의 경우는 나름 담당자 인데 정모에 참여를 못해서 아쉽습니다. 그리고 성현이형의 영화 해석을 보면서 깨달은건데 그렇게 영화가 해석되는지 몰랐습니다. 그리고 JavaScript 스터디에 야매로 참가하면서... 알게된 내용이지만 인터프리터 언어에도 객체지향 언어가 존재하고 종류가 꽤 많다는게 신기하네요. 제가 어디서 주워 듣기로는 Python도 OOP가 가능하다고 하던데;; 아무튼 늦게 들어간게 죄입니다 ㅠ -[윤종하]
          * 세미나가 예상외로 긴 시간을 잡아먹고 노트북의 부재로 아쉬운시간을 가졌습니다. 하지만 루비 세미나는 꽤나 유용 세미나였던것으로 기억합니다. 예전 루비를 혼자 배워볼때랑 달리 친절 설치도 지원해주고 제가 처음 배웠던 부분과 다른 부분을 배울수 있어 좋았습니다. 후기에 계속 나왔던 말이지만 루비는 불완전 언어라는 말보다는 현재 루비로 지원해주는 많은 라이브러리가 부족것이지 언어자체는 굉장히 뛰어나다고 할수있습니다. 루비에 대해 다시 떠올리는것으로 좋은 시간이었습니다. - [김준석]
          * 제 2공학관에 강의실이 얼마 없는지 공대 행정실에서 자꾸 봅스트홀을 빌려주려고 하네요. 번거롭게 왔다갔다 해야했던 점이 아쉽습니다. 정모 활동을 회의보다는 세미나 등 학술 활동 위주로 가려다보니 전보다 많은 시간을 소요하게 되었습니다. 개강하니 정모를 늦게 시작해서 그 점이 난감하네요. 정모에서 할 수 있는 짤막 활동들을 기획해보겠습니다. 그리고 프로젝트/스터디 했던 것들을 공유할 때 좀 더 재미있고 효과적으로 공유할 수 있는 방법도 함께 생각해보았으면 좋겠습니다. :) - [김수경]
          * Objective-C 기대된다!! OMS는 페챠쿠챠로 진행해도 좋고 다른 방식의 프리젠테이션도 좋으니 편대로 진행해~ 내가 지난 정모에서 성현이테 페챠쿠챠 아니라고 되게 뭐라 것 같은 느낌이라 덧붙임... - [김수경]
          * 제가 "실용적"이라는 단어를 잘못 사용했네요. 이 단어를 사용하는 게 아니었습니다....... 언어가 너무 "중구난방" 느낌이 들어서, 별로 "제가 쓸 일이" 없을 것 같다는 의미를 전달하려 했어요. - [황현]
  • 프로그래밍잔치/둘째날후기 . . . . 28 matches
         처음에 팀 프로젝트를 잘하기 위 방법에 대해 각 팀별로 토론을 했다. 다음과 같은 이야기들이 있었다.
          * 팀원간 Communication 이 잘 이루어져야 하고, 역할분담이 어느정도 뚜렷해야 다. 팀원간에 서로가 무엇을 하는지 잘 알아야 다. (양팀 서로 나온 의견)
          * 허기지지 말아야 다 (^^;)
          * 팀원 참여도를 높여야 다.
          * 팀원의 능력에 맞는 일감을 정다.
          * 코드 통합때 문제점을 잘 극복해야 다.
          * 일의 분담을 잘 다.
         그러면서, 작업 분담을 가급적이면 비슷 수준이 유지되도록 하되, 통합시의 어려움에 대해서 이야기했다.
         편, Error Message 팀은..
         Error Message 팀은 JuNe 의 도움에 따라 그날 일을 정리하는데 Activity Diagram 을 이용하는 방법에 대해 알게 되었다. 그리고 Activity Diagram 을 이용, 그날 일들을 정리해본다.
         Successor 팀에서는 잘된점으로는 팀간의 잦은 대화를 뽑았다. 디자인에 대해 구체적이지 않았어도, 팀간의 잦은 대화가 추후 통합시에 도움을 주었다는 의견이 나왔다. 잘못된 점으로는 디자인과 선호-영동 Pair 이야기가 나왔다. 그에 대 대안으로서는 '디자인 부분에 대해선 초반에 다 같이 전체 디자인을 번 그려보는 시간을 가져본다', 'Pair 를 할때 사람들간의 마음가짐 개선' 등의 이야기들이 나왔다.
         1002는 대강 간단하게 정리하며, 그리고 오늘 행사의 의의는 결과물 자체가 아니며, 팀 프로젝트 경험 자체임을 이야기했다. 그리고 잘된점과 잘못된점을 생각하며 편으로는 좌절할지도 모르겠지만, 마지막으로 '대안'을 생각하기에, 다음번에 더 잘할 수 있음을 이야기했다.
          * 오늘 하면서도 느꼈던 것은 고정관념을 버려야 다는 것!! 어제 역시 새로운 언어를 해보면서 이전까지의 언어에서의 고정관념에 사로잡혀 허우적되는 나를 발견했었는데... 오늘도 또다시 고정관념을 버려야다는 것을 느끼게 했다. 프로그래밍에서 디자인이 시간낭비라는 고정관념, 코딩이 가장 중요하다는 고정관념, 프로그램 개발에서 가장 많은 시간을 소비하는 부분은 코딩이라는 고정관념.... 반드시 버려야겠다. 디자인은 절대로 시간낭비가 아니라는것... 가장 중요 것이 코딩이 아니라것... 프로그램 개발에서 가장 많은 시간을 소비해야 할 부분이 코딩이 아니라는것.... 꼭 기억해야 겠다. --["상규"]
          ''실제 개발시에 타이핑을 해 넣는 시간은 전체 개발 시간의 30%도 안된다는 통계가 있습니다. 그리고, 최종 상품으로서의 코드를 (전체 개발 기간*개발 인원)으로 나누면, 사람이 하루에 약 5줄의 코드를 짜면 (업계) 평균입니다. --JuNe''
          * 아쉽게도 오늘 것의 코딩 내용의 수준이 저에게 좀 높았던 거 같습니다. 그래서 중반 이후 거의 선호형이 맡게 되었고, 갈수록 소외되는 식이 되었습니다. 음... 다음부턴 팀 프로그래밍 중 팀원간에서 뒤쳐지지 않도록 노력해야겠습니다. 좋았던 점이라면 팀 프로그래밍이 어떤 거다...는 걸 알 정도의 경험이랄까...입니다. --영동
          * 팀프로그래밍을 하면서, 대화가 중요하단 생각을 했다. 형식적이지 않은 이런 저런 의사소통도 많이 필요하겠지만 어느정도의 형식이 갖춰진 대화를 하는 것이 필요할 것 같다. 예를 들면, 언어선택의 문제에 있어서 대충 두명이 이걸로 짤까?? .. 그럴까?? 이런 대화보다는 정식으로 사람들테 자신이 아는 언어와 생각을 물어서 종합적인 결론을 도출하는 과정이 필요했던거 같다..그리고 자신이 알고 있는 것과 모르고 있는 것에 대해서 스스로 잘 알필요가 있을듯..;; 또 다른 사람의 입장을 번더 생각하는 맘도 필요 것 같다. --은지
          * 나역시 페어를 해본건 아주 간단것이었긴 하지만, 그때의 느낌이라면 페어가 되는 조건에 대해서 좀 생각해봐야하겠지. Expert - Expert Expert - Novice의 단적인 예를 들자면 역시 Expert - Expert인 경우가 진행도 빠르고 페어도 효율적이겠지만 두번째의 경우 시간분배에 따라 해결하는 양도 틀리고 하지만 결국 시간이 느려지는건 사실 그러나 얻는것! 페어가 끝난후 Novice가 단지 처음의 수준에 머무르지는 않는다는 것이지. 내 느낌은 일단 그러네 ^^; 아 참고로 어중간 사람끼리 만나면 진행은 잘되는데 머 잘되면 좋긴하지만 안되는 쪽으로도 잘 되는? 현상이 벌어질 가능성도 있다고 사료됨. (이 내용은 1002 군의 예전의 페어에 관글을 참고함) - JihwanPark
         창섭이나 인수가, 자신들의 팀프로젝트때 어떻게 했었는지 (특히 창섭.. 내가 자신과 Pair를 할때 어떤 방법들을 이용했었는지) 번쯤 생각했더라면 좀 더 좋은 결과가 있지 않았을까. GUI Programming 먼저. UI 가 먼저되면 역시 좀.. 특히 사람들이 MFC와 Java 에 익숙하지 않다고 할때.
  • 2012년독서모임 . . . . 27 matches
          * [박기] - The Goal
          * [김태진] - 폰더씨의 위대 결정
          * [권순의] - 오랜만에 시작하는군요. Fault Line은 보이지 않는 균열이 세계 경제를 위협다는 내용으로 지표면에서 단층면이 접하는 선인 단층선이 Fault Line인데 그 곳에서 지진이 발생다는 것 때문에 따 왔다고 하더군요. 그래서 과거 시행했던 정책이나 여러 사건들을 통해 현재의 경제가 어떠 상황에 이르게 되었는지에 대해서 서술 책입니다. 사실 무지 재미 없습니다. -_- 읽은지 꽤 됬는데 눈에 잘 안 들어오고 하다 보니 아직도 다 못 읽었..
          * 주제 : 무신론 - 신에 관..?
          * [박기] - 만들어진 신
          * [권순의] - 신은 위대하지 않다.. 웃기게 쓴 글은 아닌데 좀 웃긴 부분이 많습니다. 글을 잘 쓰네요. 다양 관점에서 신이 존재하지 않는 이유를 나열합니다. 과학적으로도.. 성경도.. 뭐 어찌되었든 간에 이 책을 읽고 동조하는 거 보다는 그냥 번 쯤 생각해 보는 부분이 맞는 것 같습니다.
          * 그러고 어렸을 때 부터 가진 종교에 관 이야기를 쭉 했었는데요,, 뭐 라엘리안 무브먼트에 대 이야기도 하고, 마호메트 위인전에 대해서도 이야기 하고, 어렸을 적 경험담? 도 이야기 하고 여튼 이것 저것 많이 이야기는 했는데 알맹이는 없는 거 같네요 -_-; 그냥 종교인 덕분에 빡친 기억들과 이러 저러 이유로 전 그냥 나대로 살 생각입니다 가 결론이 된?? 뭐 여하튼.. 종교라는 것이 인류에 있어 의지할 곳 없던 사람들에게 도움이 된 부분이 없잖아 있습니다. 그래서들 종교를 믿는 것 같고요. 물론, 아닌 사람도 있지만 종교의 본질은 제가 생각하기에 마음의 안식처 인 것 같습니다. 굳이 종교를 가지지 않고도 마음의 안식처를 가질 수 있다면야 종교가 필요 없겠죠... 이건 쓰다가 생각난건데 정말 2012년에 지구 멸망하나?
          * [박기] - 화성에서 온 남자, 금성에서 온 여자
          * 사실 지난 번 주제를 정할 때 기가 요즘 고민이 뭐냐고 물어봐서 여자? 라고 대답 것이 주제가 되었.. 흠흠.. 이 책은 장 마다 다른 주제?에 대 이야기를 남자의 관점과 여자의 관점에서 전개되고 그것들이 모여 하나의 챕터?가 되는 식으로 구성되어 있습니다. 화성에서 온 남자, 금성에서 온 여자보다는 극단적이지는 않지만 남자와 여자의 생각하는 차이에 대해서 다시번 볼 수 있는 책이었습니다. 참.. 갈길이 머네요 라는 결론을 가져다 준? ㅋㅋ - [권순의]
          * 주제가 포괄적이라서 당연히 괜찮은 책은 많겠지만ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 주제를 굳이 저걸로 정 게 부끄러웤ㅋㅋㅋㅋㅋㅋㅋㅋㅋ - [김수경]
          * 주제 : 인류가 발명 발명 중 가장 위대 발명 (ex. 신앙, 음악, 바퀴 등)
          * [박기] - 에너지 버스
          * 인류가 다른 생명체와 다른 점은 표현할 수 있는 언어가 있어서이다 라는 말은 많이들 들어보았을 것입니다. 그래서 인류가 발명 발명 중 가장 위대 발명으로 언어를 선택했는데.. 책이 정말 학술적인 내용이네요.. 사실 지루해서 힘들었습니다. 영어에서의 불규칙 과거형 단어들이랄지.. 인간의 사고가 언어에 투영되는 것 등이 나왔는데.. 그냥 그러려니 하는 내용들.. 관심이 없으니 힘드네요a - [권순의]
          * [박기] -
  • AcceleratedC++/Chapter8 . . . . 27 matches
         Ch9~Ch12 WikiPedia:Abstract_data_type (이하 ADT)의 구현을 공부다.
         그렇다면 어떻게 함수가 어떠 자료구조를 만족 시키는지 판단할 수 있는가?
          Runtime이 아니라 Compile 타임에 실제로 타입이 변화하는 객체를 적절히 작성하면 올바른 동작을 보장다.
         template <class T> // type 매개변수의 지정, 이 함수의 scope안에서는 데이터 형을 대신다.
          실제 컴파일시 컴파일러는 프로그래머가 지정 타입으로 이 함수를 인스턴스화 시켜서 생성하고 바인딩다.
          STL은 실제로 함수의 인스턴스화에 관 표준적인 방식을 제정하지 않았다. 따라서 각 컴파일러마다 서로 다른 방식으로 함수를 인스턴스화다. 따라서 자신의 컴파일러의 특징을 파악하는 노력이 필요.
          * 독자적 방식의 template 모델 Compiler : 최근의 방식. 인스턴스화를 위해서 STL 정의부에 대 접근이 필요.
          || accumulate(B, E, D) || D의 인자의 형을 기준으로 [B, E)를 비교하여 값을 모은다. 리턴값이 D의 자료형에 영향을 받기 때문에 문제의 발생소지가 존재다. ||
          인자로 받은 두 값의 타입이 완전히 같아야지만 올바른 동작을 보장받는다. 인자는 operator>(T, T)를 지원해야다.
          예를 들자면 find(B, E, D)같은 함수의 경우 ''아주 단순적 연산만을 이용''하기 때문에 대부분의 컨테이너에 대해서 사용이 가능하다. 그러나 sort(B, E)같은 경우에는 ''기본적인 사칙연산들을 반복자에 대해서 사용''하기 때문에 이런 연산을 지원하는 string, vector 만이 완벽하게 지원된다.
          STL은 이런 분류를 위해서 5개의 '''반복자 카테고리(iterator category)'''를 정의하여 반복자를 분류다. 카테고리의 분류는 반복자의 요소를 접근하는 방법에따른 분류이며, 이는 알고리즘의 사용 유효성 여부를 결정하는데 도움이 된다.
          상기 2개의 구현 모두 begin, end iterator를 순차적으로 접근하고 있음을 알 수 있다. 상기의 함수를 통해서 순차 읽기-전용의 반복자는 '''++(전,후위), ==, !=, *'''를 지원해야다는 것을 알 수 있다. 덧 붙여서 '''->, .'''와 같은 멤버 참조 연산자도 필요로하다. (7.2절에 사용했떤 연산자이다.)
          class In 형의 반복자는 함수가 진행되는 동안 반복자를 통해서 읽기 연산만을 수행다. class Out 형의 반복자는 *dest++ = *begin++; 의 연산을 통해서 쓰기 연산을 수행다. 따라서 class Out 반복자는 '''++(전,후위). =''' 연산자만을 평가할수 있으면 된다.
          class Out 반복자를 출력에 배타적으로 사용하려면 '''++ 연산이 대입문 사이에서 1번이상은 무효'''가 되도록 만들어 주어야다.
          [begin, end) 의 범위안에서 x를 찾아서 y로 치환다.
          여기서 beg는 입력 반복자, 출력 반복자 2가지의 특성을 모두 만족시켜야 다.
          순방향 연산자의 모든 연산을 지원하고 '''--'''연산을 지원다면 이 반복자는 '''양방향 반복자(bidirection iterator)''' 라고 부른다. 표준 라이브러리 컨테이너 클래스들은 모두 양방향 반복자를 지원함.
          임의 접근 반복자의 경우 '''양방향 반복자의 모든 특성'''과 함께 다음과 같은 연산을 만족다.
          임의 접근 반복자르 이용하는 알고리즘은 sort. vector, string 만이 임의 접근 반복자를 지원다. list는 빠른 데이터의 삽입, 삭제에 최적화 되었기 때문에 순차적인 접근만 가능함.
          반복자의 끝값으로 컨테이너의 마지막 요소에서 개가 지난 값을 사용하는 이유
  • Basic알고리즘/빨간눈스님 . . . . 27 matches
         {{| 옛날에 어느 나라에 승려들만 모여 사는 섬이 있다. 그들 중에서 어느 사람은 눈이 빨갛고 어느 사람은 눈이 갈색이다. 눈이 빨간 사람은 마법에 걸려 있기 때문에 스스로 눈이 빨갛다는 사실을 깨닫게 되면 그 날 밤 12시에 그 나라를 떠나서 사라져야만 다. (무조건) 승려들은 서로의 눈 색깔에 대해 전혀 언급하지 안는다는 불문율이 있었기에 상대방의 눈 색깔을 알려줄 수도 없었따. 그 섬에는 거울도 없고, 거울 비슷 물건도 없었기 때문에 자신의 눈이 무슨 색인지 아는 사람은 아무도 없었다. 그래서 그들은 자신의 눈 색깔을 알 길이 없었기에 행복하게 살아갈 수 있었으며, 그 나라를 떠나는 사람도 아무도 없었다. 그러던 어느날, 그 섬에 관광객이 찾아왔다. 그는 승려들 사이에 존재하는 규칙을 알지 못했기 때문에 절대로 하지 말아야 할 말을 내뱉고 말았다.
         "당신들 중에서 적어도 명은 눈이 빨간색이로군요"
         무심 관광객은 그 날로 돌아갔지만, 남아 있는 승려들은 생전 처음으로 눈 색깔에 대 말이 나왔기 때문에 크게 동요하지 않을 수 없었다. 그리고 그 날 밤부터 그 섬에는 무서운 일이 일어나기 시작했다. 과연 어떤일이 일어났겠는가? |}}
         상당히 좋은 문제입니다. 이 문제를 컴퓨터를 도구로 사용해서 해결을 하는 훈련을 하면 상당 사고훈련이 될 것입니다. 적극 권합니다. 스스로 이 문제의 답을 알고 있다고 생각하는 사람도 직접 프로그래밍을 해보거나 하시면 많은 것을 느끼고 깨닫게 될 것입니다. --JuNe
          * 관광객이 거짓말 경우 (눈이 빨간 스님이 아무도 없는경우) : 이 경우에는 모든 스님들이 섬을 떠나게 된다. 왜냐면 모든 스님들은 자신의 눈을 제외 다른 사람들의 눈 색밖에 볼 수없는데 만약 다른 모든 사람들의 눈 색이 갈색이라면 자신의 눈 색이 빨간 색이므로 섬을 떠나야 다고 생각하게 된다. 빨간색의 눈을 가진 스님이 아무도 없기 때문에 모든 스님이 이렇게 생각하게 된다.
          * 눈이 빨간 스님이 분 있는 경우 : 이때 자신의 눈이 빨간 스님은 다른 모든 사람들의 눈이 갈색인것을 보고 자신의 눈이 빨갛다는 것을 알수 있고 섬을 떠나게 된다. 그리고 남은 스님들은 빨간 눈의 스님이 분 떠난 것을 보게 된다. 그리고 각자 자신이 보는 다른 모든 스님들의 눈 색은 갈색인데, 적어도 명은 눈이 빨간색이라고 했기 때문에 자신이 볼때 남은 스님들의 눈이 모두 갈색이더라도 자신이 100% 빨간 눈이라고 할수 없기 때문에 떠나는 스님은 없게 된다.
          * 눈이 빨간 스님이 분 계실때 - 그 분이 자신임을 알고 떠나시게 된다.
          * 눈이 빨간 스님이 2분 이상일때 - 최소 명의 눈이 빨간 사람을 보게 되므로 자신이 눈이 빨갛다는 것을 확신할 수 없기 때문에 아무도 떠나지 않는다.
          * 전체적으로 상협형의 의견과 유사합니다.^^ 글을 읽고 밑을 봤는데 형이 이미 의견을 올리셨네요.^^ 다른 경우가 관광객이 거짓말을 경우인데.. 저의 경우는 관광객이 거짓말을 할 이유가 없다고 생각해서..^^;;;; 다름 섬에 갔을때 괜시리 '당신중에 명 이상은 눈이 빨갛네요.'라고 할 이유는 없지 않을까요.^^
         (관광객이 말이 참말이라는 전제로 문제를 풉니다.)
         먼저, 관광객이 말인 "당신들 중에서 적어도 명은 눈이 빨간색이로군요" 를 분석 해 보면, 빨간색의 눈을 가진 사람이 적어도 1명, 즉 1명 이상이라는 것을 알 수 있다.
          * 빨간눈을 가진 스님이 명일 경우, 빨간색 눈을 가진 스님의 시각에서 빨간눈을 가진 스님이 아무도 없다. 그럴경우 자신이 빨간눈을 가지고 있다고 알게되고, 그 날 밤 그 스님은 그 섬을 떠나게 된다.
          * 빨간눈을 가진 스님이 두 명일 경우, 빨간색 눈을 가진 두 스님들은 각자 자신들의 시각에 사람의 빨간눈 스님이 보일 테므로, 그 날 밤 그 다른 스님이 섬을 떠날 것이라고 서로 생각하게 된다. 하지만 다음 날 아침 그 스님이 떠나지 않은 것을 알게되고, 빨간눈을 가진 각각 스님은 자신도 빨간눈인 것을 알게 된다. 그 날 밤 두 스님이 그 섬을 떠나게 된다.
          * 그러므로 빨간눈을 가진 스님이 N명 일 경우, 명의 스님이 그 스님들이 떠날 거라고 예상하는 기간은 N-1일이고, 자신이 만약 빨간색눈을 가졌더라면, N일 째 밤에 N명의 스님이 떠나게 됩니다.
          * 이해가 안가는 부분 : 빨간눈 스님이 두명 이상일때부터..., 일단 두명일때 - 자신의 시각에서 빨간눈의 스님이 분 보여서 그날밤 그 스님이 떠날거라고 서로 생각하는데 안떠났다고 했을때 그때는 빨간눈 스님이 최소 2명 이상이 된다. 그런데 이때 그 빨간눈 스님이 2명 이상이 된다고 해서 어떻게 빨간눈을 가진 스님은 자신이 빨간 눈인것을 알 수 있나.. 이해 안감..
          * 빨간눈 스님이 최소 두명인데.. 자기 눈에 보이는 빨간눈 스님이 명이면.. 나머지 명은 누구일까요?? 자기 자신이죠..^^ 이 규칙을 잘 지키려면 스님들이 머리가 좋아야 겠네요.^^
  • Bioinformatics . . . . 27 matches
          * 프로젝트 시작동기와 목적 : 본 연구는 차세대 Bio기술에서 컴퓨터 전공자로서 접근할 수 있는 기술인 Bioinformatics에 대 기초를 닦는 것을 목적으로 다.
         왜 Model을 이용하는가? 실제에 가까운 모델은 실제로 일어나는 일을 보다 더 잘 이해시키고 예측가능하게 다.
         이런 취지에서 NCBI는 sequence-related information에 관 모델을 만들었다. 그리고 이런 모델을 이용해서 Entrez(data retrieval system)나 GenBank DB(DNA seq.를 저장해둔 DB, 두 가지는 유전자 연구의 중요 data들이다.)와 같이 소프트웨어나 통합 DB시스템을 가능하게 만들었다.
         GenBank flatfile은 DNA-centered의 보고서이다. DNA중심이라는 것은 어떤 단백질의 유전자 정보를 저장하고 있는 DNA영역이 DNA위의 coding region이라고 불린다. 반대로 대부분의 Protein seq. DB들은 Protein-centered의 관점이며, 이는 단백질과 유전자 사이는 accesion number(유전자를 접근하기위 DB의 key값) ... 진행중
         National Center for Biotechnology Information 분자 생물 정보를 다루는 국가적인 자료원으로서 설립되었으며, NCBI는 공용 DB를 만들며, 계산에 관 생물학에 연구를 이끌고 있으며, Genome 자료를 분석하기 위 software 도구를 개발하고, 생물학 정보를 보급하고 있습니다. - 즉, 인간의 건강과 질병에 영향을 미치는 미세 과정들을 보다 더 잘 이해하기 위 모든 활동을 수행
         Entrez는 통합 데이터베이스 retrieval 시스템으로서 DNA, Protein, genome mapping, population set, Protein structure, 문헌 검색이 가능하다. Entrez에서 Sequence, 특히 Protein Sequence는 GenBank protein translation, PIR, PDB, RefSeq를 포함 다양 DB들에 있는 서열을 검색할 수 있다.
         DNA는 a twisted ladder라고 표현되는데 사다리의 각각의 strand는 당과 인산의 결합을 의미하고, lung은 Base들의 결합을 의미다. Base들은 사이의 결합은 수소결합을 이루는데, A와 T, C와 G가 결합이 이루어진다. 따라서 DNA를 분석해 base들의 수를 비교해보면 A와 T의 수가 같고, C와 G의 수가 같음을 알 수 있다. 이에 쪽 가닥에 있는 nucleotide는 다른쪽 가닥의 nucleotide 서열을 결정하게 된다. 그래서 그 두 가닥을 상보적 (complementary) 이라고 다. 즉, DNA 분자를 수직으로 그리면 가닥은 5'에서 3'으로 위에서 아래로 달리고, 다른 가닥은 5'에서 3'으로 아래로 위로 달린다.(5', 3' 효소라고 알고 있음, 정확힌 모름)
         왓슨과 크릭은 DNA의 구조, 특히 쌍을 이룬 nucleotide의 상보성이 유전물질의 정확 복제기작의 핵심임을 알았다. 그들은 "우리가 가정 염기쌍 형성원리가 유전 물질의 복기작을 제시하고 있음을 느낄 수 이었다."라고 말하였다. 그들은 이중 나선의 두 가닥이 분리되고 그 각각의 가닥을 주형 (template)으로 하여 새로운 상보적 사슬이 형성된다는 단순 복제모델을 만들었다.
         인간의 염색체(chromosome)의 종류는 23개이다. 22개는 상염색체(autosome)이고 1개는 성염색체(sex chromosome)이다. 종류의 염색체는 서로의 쌍을 가지고 있다. 따라서 인간의 염색체군(genome)은 46개의 chromosome으로 구성되어 있다. chromosome은 세포내에서 대부분의 시간을 실타래(fiber)같은 형태로 있는데.. 이는 chromosome 기본단위인 뉴클레오솜(Nucleosome)들이 결합된 형태이다. 이 nucleosome은 하나의 히스톤(histone)단백질을 DNA가 두번 휘감은 형태이다. --작성중
         유전 형질을 말하며 유전에 관여하는 특정 물질이다. Gene의 모임이 Genome이다. 또 이 Gene는 DNA에 그 내용이 암호화 되어 있다. 이미 알고 있을지도 모르겠지만, Gene이라는 것은 DNA의 염기 배열이다. 이 염기 배열(base sequence)이 어떤 과정을 통해서 대응되는 순서로 아미노산(amino acid)끼리의 peptide결합을 하여 단백질로 나타는 것을 유전 형질 발현이라고 다.
         그림 1을 참조하면 DNA는 2중 나선형 구조로 되어있다. 이것이 세포 분열 과정에서 DNA에 유전암호를 복사 mRNA로 바뀌며 이 mRNA가 Ribosome에 들어가면 tRNA는 mRNA에 담겨있는 DNA유전암호를 분석하여서 대응되는 amino acid를 가져온다. 이런 과정이 반복되고, amino acid사이에는 peptide결합을 이루면서 이는 단백질로 형질 발현이 된다. -- 진행중..
         절대 컴퓨터 지식만으로 승부걸려고 하지 말아야 할 것 입니다. 컴퓨터 지식만으로는 정말 기술자 수준 밖에 되지 못합니다. 그쪽 지식이 필요하다고 해도 이건 기술적 지식이라기보다는 과학, 즉, 전산학(Computer Science)의 지식이 필요합니다. 그리고 Bioinformatics를 제대로 '''공부'''하려면 컴퓨터 분야를 빼고도 '''최소''' 생물학 개론, 분자 생물학, 생화학, 유전학, 통계학 개론, 확률론, 다변량 통계학, 미적분을 알아야 합니다. 이런 것을 모르고 뛰어들게 되면 가장자리만 맴돌게 됩니다. 국내에서 Bioinformatics를 하려는 대부분의 전산학과 교수님들이 이 부류에 속다는 점이 서글픈 사실이죠.
         DeleteMe QnA를 읽어 보았는데 자신감이 '뚝' 떨어지는군요.(이것만이 아니어두 오늘 교재를 보는데 처음보는 생소 단어들 때문에 사전 찾으랴, 사이트 돌아다니며 어떤 건지 알아보랴, 해맸는데..) 그래두, 이름을 세번이나 틀린 이 학문이 뭔지는 알고 싶고,:) 다음에 혹시 저와 비슷 지식만 가진 사람이 이쪽에 관심을 가지고 연구를 할 때 도움이 될 수 있었으면 합니다.
  • EightQueenProblem2Discussion . . . . 27 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 알고리즘을 보고 왔지만 이문제에 대 설명도 보왔습니다. 하지만 알고리즘에 무지해서 그런지 잘 눈에 들어오지 않습니다. 그래도 밤새 풀면서(엉뚱 답이다도) 오래만에 재밌었습니다. ^^-최광식
         저는 뭐 아무것도 없이 문제만 보고 뛰어들었습니다. 일단 두번의 실패 (자세 내용은 EightQueenProblemDiscussion)이후 세번째로 잡은 생각은 일단 줄에 개만 말이 들어간다는 점이었습니다. 그 점에 착안하여. 8*8의 모든 점을 돌게 만들었습니다. 좀 비효율적인데다가 아주 엉망인 소스 덕분에.. 문제는 풀었지만.. 수정/보완에 엄청난 시간이 걸리더군요(종료조건을 찾을수가 없었다는.. 그래서 수정에 30분 이상 걸렸습니다.) 후...... 이래저래 많은 생각을 하게 소스였습니다. ㅡ.ㅡ;; 왠지 더 허접해 진 느낌은.. --선호
         BackTracking 이야기가 나오는데, 대강 수업시간에 들은것이 있었지만 그냥 연습장에 판을 그리고 직접 궁리했고요. 결국은 전체 방법에 대 비교방법이 되어서 (8단계에 대 Tree) 최종 구현부분은 BackTracking의 방법이 되어버리긴 했네요. (사전지식에 대해 영향받음은 어쩔수 없겠죠. 아에 접해보지 않은이상은. --;) --석천
         하..하하.. BackTracking이.. 뭐죠? 거꾸로.. 추적다는 이야기같은데.. ㅡㅡa --선호[[BR]][[BR]]
         저는 일단 10*10배열을 만들었습니다.(경계선 생각하면 귀찮아지므로..) 그다음에 1~8까지 랜덤 수를 두번 찾아서 보드의 아무 위치에다 Queen상수를 찍어줍니다. 그리고 그 주변의 8방향을 또 다른 상수 Other로 설정해줍니다. 이제 루프 돌면서 겹치지 않게 골라주면서 Queen으로 설정해주다가 8개가 되면 종료하게.. --인수
         두번째 문제에서는 최소의 처음에 찾은 자리에 대해 가장 변화가 적은 자리부터(가능) 생각하게 설계를 조금 바꿨습니다.
         어제 서점에서 ''Foundations of Algorithms Using C++ Pseudocode''를 봤습니다. 알고리즘 수업 시간에 백트래킹과 EightQueenProblem 문제를 교재를 통해 공부 사람에게 이 활동은 소기의 효과가 거의 없겠더군요. 그럴 정도일줄은 정말 몰랐습니다. 대충 "이런 문제가 있다" 정도로만 언급되어 있을 주 알았는데... 어느 교재에도 구체적 "해답"이 나와있지 않을, ICPC(ACM의 세계 대학생 프로그래밍 경진대회) 문제 같은 것으로 할 걸 그랬나 봅니다. --김창준
         BackTracking에 대해 찾아보니 결국 제가 방법이 그 방법이군요. 알고리즘자체는 좀 틀리지만 (전 리커시브를 이용...)
         개념은 동일 듯합니다.
  • Googling . . . . 27 matches
         Google, Inc 는 미국의 공공기업이다. 이 기업은 1998년에 개인적으로 설립된 회사이다. 이 회사는 구글 인터넷 검색엔진을 설계하고 운영다. 구글은 Mountain View 에 Googleplex에 본사를 두고 있다. 그리고 4000명 이상의 사원이 있다.
         구글사이트에는 대단히 다양 정보가 존재다. 현재 8,168,684,336(81억개ㅡ,.ㅡ)개의 페이지를 단 몇초만에 검색하고 가장 많은 사람들이 이용하는 사이트를 가장 합리적인 판단 기준에 의거해서 반환해준다. 이만큼 다양 페이지가 존재하는 만큼 다양 검색 옵션을 제공다. 단지 몇개의 검색 명령어만을 아는 것 만으로도 자신이 원하는 정보를 아주 쉽게 찾을 수 있다.
          ''원래 책의 목적은 이런 검색은 아니지만... 이 책만큼 구글링을 잘할 수 잇는 테크닉을 다룬 책도 없을 것 같다. 얼마전에 서도 출간되었고, 앞부분만 읽어도 왠만 검색 테크닉은 알 수 있다.''
         || "''keyword''" || 검색어를 문장단위로 검색다. 의미가 확장되어서 검색되지 않는다. ||
         || -''keyword'' || 지정된 키워드를 제거 결과값을 보여준다. ||
         || +''keyword'' || 키워드를 반드시 포함 결과를 보여준다. 일반적으로 stopword로 지정된 것을 검색할 때 이용다. ||
         || filetype || 인자로 전달 확장자를 지닌 문서만을 검색다. ||
         || link || 주어진 URL의 링크를 포함 모든 페이지를 보여줍니다 ||
         || site || 특정 사이트 내의 문서들만을 검색다. ||
         || related || 인자로 전달된 사이트와 유사 사이트를 검색다. ||
         || allintitle || 페이지의 제목만을 이용해서 검색다. 내용에서는 찾지 않는다. ||
         || allintext || 페이지의 본문을 이용해서 검색다. ||
         || allinurl || URL 링크에서 존재하는 문장을 통해서 검색다. ||
         || allinanchor || 링크된 글안에서 검색을 다. ||
          ''stop word: at, and 와 같은 일반적인 단어들은 검색을 할 경우 그 결과가 너무 많기 때문에 구글에서 제외시킨다. 이런 단어를 추가시켜서 검색하기 위해서는 검색어 앞에 + 를 붙여야다.''
          또 단순 웹페이지 검색만이 아니라 image, usenet, news 에 대 검색기능을 제공다.
  • OurMajorLangIsCAndCPlusPlus/math.h . . . . 27 matches
         math에 대 라이브러리
         ||int abs ( int n ) || 정수파라미터에 대 절대값을 리턴다 ||
         ||double acos ( double x ) || arc코사인 값을 계산다 ||
         ||double asin ( double x ) || arc사인 값을 계산다 ||
         ||double atan ( double x ) || arc탄젠트 값을 계산다 ||
         ||double atan2 ( double y, double x ) || 2개의 파라미터(각)에 대 arc 탄젠트 값을 계산다||
         ||double ceil ( double x ) || x와 같거나 x보다 큰 가장작은 정수를 리턴다||
         ||double cos ( double x ) || 코사인 값을 계산다 ||
         ||double cosh ( double x ) || x에 대 쌍곡선의 코사인 값을 계산다 ||
         ||double exp ( double x ) || x의 값의 지수를 리턴다 ||
         ||double fabs ( double x ) || 실수형의 절대값을 실수형으로 리턴다 ||
         ||double floor ( double x ) || x와 같거나 x 보다 가장 작은 값을 리턴다 ||
         ||double fmod ( double x, doublr y ) || x/y의 나머지를 계산다 ||
         ||long labs ( long n ) || long형에 대 절대값을 리턴다 ||
         ||double ldexp ( double x , int exp ) || mentissa와 exponent값을 구다 ||
         ||double log ( double x ) || x의 로그값을 구다 ||
         ||double log10 ( double x ) || x의 상용로그값을 구다 ||
         ||double sin ( double x ) || 사인값을 계산다 ||
         ||double sin ( double x ) || 쌍곡선의 사인값을 계산다 ||
         ||double sqrt ( double x ) || x에 대 루트값을 리턴다 ||
  • ProjectAR/Design . . . . 27 matches
          * 아이템을 상속받는 착용가능 아이템, 소모성 아이템 등등
          * 착용가능 아이템은 정령을 가지고 있다.
          * 맵도 있다. 맵은 데이터를 읽어와서 맵의 정보를 저장다.
          * CARObject는 각자의 패턴에 맞게 움직일수 있어야 다.
          * CARObject는 각자의 리치, 공격 타입 등에 맞게 공격할 수 있어야 다.
          * CARObject가 공격을 하려면, 각자의 시야안에 들어오는 또 다른 CARObject를 볼 수 있어야 다. CARMap을 파라메터로 넘겨주면 될까? 아니면 CARObject를 저장하고 있는 리스트 같은것을 넘겨주면 될까?
          CARMap에서 getState(좌표); 라는 메소드를 가지면 될꺼 같습니다. 이렇게 하면 주인공이나 몬스터나 맵이 어떠 상태인지 알 수 있게 될 것이고 또 이동 가능지 등을 이 메소드 하나로 판별이 가능할 거라 생각합니다. -[상욱]
          * CARObject는 파라메터(체력, 스킬포인트, 힘 등등)을 가지고 있어야 다.
          * CARHero는 아이템을 장착할수 있다. 장착 아이템에 따라 CARHero의 상태가 변다.
          * CARHero는 성장해야 다. CARHero가 CARMonster를 죽이면 CARMonster의 경험치를 받아온다.
          * CARHero는 장착 아이템에 스킬이 달려 있다면(정령에 의) 그 스킬을 사용할 수 있다.
          * 인벤토리가 있어야 다. 아이템을 주워서 둘 곳이 있어야 되기 때문이다.
          * 이동 페턴을 가져야 다. 예를 들어 주인공을 향해 이동을 하게끔 만들거나 이동을 하되, 맞으면 도망가는 형식, 또 보면 무조건 도망가는 방식 등이 있겠다. 여기서 많은 문제가 생길꺼라 생각다.
          * 떨어뜨리는 아이템 종류가 있어야 다. 어떠 확률로 어떤 아이템을 떨어뜨릴 것인지, 그리고 죽은 후 떨어뜨리는 것을 구현해야 다.
          * 주인공에게 능력치를 얼만큼 줄지 생각을 해야 다. 이를 계산하여 넘겨주기 위해 몬스터도 경험치를 가져 그것을 계산하는 방법도 있다. 이런 방법을 구현할려면 오브젝트에서 경험치를 처리하는 수도 있다.
          * CAREquipment는 잡아 놓은 정령에 따라 상태가 변다.
          * CARItem을 상속은 받지만 장착은 불가능 아이템이다.
          * CARItem은 그것을 사용 CARHero의 상태를 변화시켜 줄수 있다.
          그래서 이스에서는 물약을 하나로 제해놨거든. 우리도 물약을 안 넣고, 그냥 정령으로 때워도 될거 같기도 하다. 또 컨트롤을 강요해서, 컨트롤만 잘하면 안 맞고도 플레이가 가능 식으로 가도 될테고.. 그러면 이건 없애도 되는건가?
  • WebGL . . . . 27 matches
         [Javascript]임에도 불구하고 마치 C프로그래밍 스타일의 함수들이 존재다. [WinAPI]가 C스타일의 [OOP]이듯 WebGL 또 C스타일의 OOP이다. 모든 함수는 WebGLcontext라는 객체에 있는데 보면 그냥 접두어를 붙이는 느낌이다.
         위의 코드를 보면 [쉐이더] 프로그램에 fragmentShader와 vertexShader를 Link 시키는 구문인데 주체인 shaderProgram은 첫번쨰 인자이고 gl은 그냥 접두어 처럼 보인다. 저 구문만 그런것이 아니라 다른 모든 함수들이 저 gl 객체에 붙어있다. 하지만 정작 gl이 주체가 아닌 것들이 많다. 따라서 래핑 객체를 만들어 쓰는 것이 속편데 어설프게 했다가는 무척 꼬이게 된다.
         이 관습은 [OpenGL]이 기본적으로 C라이브러리이라 그런듯 하다. 실제 래핑을 진행해본결과 마치 MFC를 보는듯 느낌을 강하게 받고 있다.
          * WebGL은 기존 OpenGL과 다르게 직접 그리기가 지원되지 않는다. 기존의 glBegin()와 glEnd()사이에서 값을 계속적으로 전달하수 없고 오직 glDrawElement()를 통 배열을 꺼번에 전달하는 것'만' 지원다. 초보자들의 첫난관이다.
          * 유틸라이브러리로 제공되는 큐브, 구, 실린더, 티포트가 모두 지원되지 않는다. 역시 예제에만 쓰이고 쓰지 않기 때문에 과감히 제거것으로 보인다.
          * 광원, 카메라 조작, 회전 등이 제공되지 않는다. 모두 자신이 직접 연산을 통해 행렬을 구해주어야 다. 초보자들의 둘쨰 난관이다.
          * 텍스쳐 모드와 조명 모드가 매우 제되어 있다.
          * 쉐이더를 짜지않으면 쓸수가 없다. 심지어 텍스쳐를 입히는 것도 쉐이더에서 처리다. 그냥 단색으로 처리하는 코드도 쉐이더 코드를 짜지 않으면 그냥 햐얀 것만 보게된다. 그리고 그것도 회전시킬수도 없다.
         WebGL은 일정 흐름구조를 만들어 두고 그 각부분을 만들수 있도록 해 두었다. 아마 최적화가 쉬운 탓에 그러했으리고 생각된다.
         Attribute는 각 포인트 별로 전달되는 정보이고 uniform 은 전체에서 공통적인 정보이다. 일반적으로 Attribute는 각 정점의 위치 정보와 각 지점의 법선 벡터 정보를을 전달다. uniform은 일반적으로 카메라의 위치나 환경광의 위치처럼 전체적인 것을 전달다. Attribute나 uniform은 일종의 변수인데 핸들을 얻어와서 그것을 통해 값을 전달할수 있다. 즉 Atrribute나 Uniform은 Javascript측에서 쉐이더로 정보를 보내는 것이다. varying은 쉐이더 간의 정보 전달에 사용된다. vertex shader에서 fragment shader로 값이 전달되며 반대는 불가능하다(파이프라인 구조상 당연 것이다). 이때 vertex shader는 각 정점(꼭지점) fragment shader는 각 픽셀에 번 호출되게 되는데 각 정점 사이의 값들은 [보간법]을 거쳐 전달되게 된다(그라디언트 같은 느낌이다 중간값을 알아서 만들어 준다).
         각 쉐이더는 동시에 동작할수 있는데 당연히 이들은 서로간에 독립적이어야 다.
         쉐이더는 쉐이더 언어로 따로 짜주고 컴파일 해야하며 심지어 링크까지 시켜주어야 다. GPU의 강력 [행렬]연산 능력을 가져다 쓰기 위해서인것으로 보이는데 이것을 사용하지 않고서는 예제파일도 돌려볼수가 없다. 다행이 언어는 C언어와 매우 유사하고 행렬연산이 모두 있기 때문에 딱히 어렵거나 하진 않다. 다만 어느부분에서 어디와 연결되는지 이해하는데 시간이 걸린다.
         각 정점(vertex, 꼭지점)마다 호출되며 주로 꼭지점의 위치를 연산하고 실제 View에 투영하는 연산을 주로 하게 된다. 마디로 모델의 위치 변환과 카메라 시점에 따른 변환 원근법을 적용하는 변환등을 수행다.
         각 정점 사이에 있는 픽셀 마다 호출된다. 주로 광원효과를 적용 픽셀의 최종적인 색깔이나 텍스쳐 연산에 사용된다. varying변수를 vertex shader에서 fragment shader로 넘겨주면 각 정점 사이에는 보간법으로 변환된 값이 넘어 온다.
         아래 코드는 정확하지 않으며 연습 도중의 코드입니다. 또 WebGL의 특성상 코드가 분산되어 있습니다. 현재 객체 래핑을 진행중입니다.
         현재 객체 래핑중 중대 문제에 봉착. 대부분의 모듈과 세이더 코드는 [콜백]으로 호출되는데 이것을 적절히 래핑할 방법이 없다. webGL과는 하등 연관이 없는 부분이라서 각자 알아서 구현하도록 해도 되지만 대부분의 경우 같은 코드를 다스 짜고 있는 나를 보게 된다. 이것을 어떻게 해야 잘 래핑이라 할수 있을까?
         OpenGL과 동일 -1.0 ~ 1.0이며 이를 넘어갈시에는 표현되지 않는다. 매트릭스 연산을 직접해야만 하는 WebGL에서는 이점이 간과되기 쉬워서 이미 그린 페이지가 어디에 있는지 찾는 현상이 발생하게 된다.
  • 네이버지식in . . . . 27 matches
          네이버 지식in은 폐인까지 생겨나면서 비슷 위키는 이렇게 참여가 저조할까.
         지식in이란 서비스는 질문에 답변을 해주는 게시판 형식이긴 하지만, 참여가 자유롭고 주제에 대해 글을 쓴다는 점에서 위키랑 비슷하다는 생각이다. '''오픈 백과사전'''이라는 게 있기도 하던데 이게 위키랑은 더 비슷 형태이지만 지식in에 대면 별로 인기가 없어보인다.
         가장 먼저 떠오른 건, 이용자 수였다. 이용자 수가 엄청나게 많다는 점이 지식in서비스를 활발하게 해 주었다. 이용자 수가 많아진 이유는 여러 가지가 있겠지만, 텔레비전 광고까지 낼 정도로 홍보를 해서 그렇지 않을까? 반면 위키 홍보는 몇 번인가 하고는 그 뒤로는 사람들이 알아서 쓰기를 바랬던 것으로 보인다. 알려지지 않은 서비스가 아무리 많은 장점이 있다 들 사람들이 알아야 쓸테니까, 위키 사용이 활발하지 않은 건 일단 덜 알려져서라고 생각다.
         다음으로는 익숙하지 않은 형식이었다. 아예 인터넷을 처음 만나는 사람이라면 익숙 형식이 있지도 않겠다만, 많은 사람들이 글을 쓸 때는 게시판에 제목과 이름과 내용정도가 달린 게 글 형식이고, 글 제목이 목록으로 페이지에 나오는 형식이 익숙 형식일 것이다. 때문에 전부 '''내용'''처럼 생긴 위키를 보고는 일단 다르게 생긱 형식에 바로 적응하지는 못할 것이다. 쓰기 어렵지는 않겠지만 말이다. 때문에 위키가 엄청난 장점을 가져서 적응하는 노력을 들이고 싶을 만 하지 않다면 굳이 사용하려 하지 않을 것이다. -[Leonardong]
         그 차이는 의외로 아주 간단합니다. 네이버지식인과 같은 시스템은 개인의 명성(reputation)에 대 욕구에 상당 부분 의존하고 있습니다. 개인을 더 드러내는 것이죠. 반대로 위키는 개인이 잘 드러나지 않습니다. 명성 시스템이 아닙니다. see also ForgiveAndForget 이는 XP 철학과도 상통합니다. XP에서는 너희 팀에 영웅이 누구냐는 질문에 답이 바로 나올 수 있는 팀을 좋지 않게 봅니다. 영웅이 있는 팀은 위험 팀입니다. XP는 보상도 팀단위로 받고 책임도 팀단위로 지는 것을 이상적으로 봅니다.
         이와 관련하여, 제가 국내에서 최초로 위키위키를 대중매체에 소개할 때에 "대부분의 집단에서 파워라는 것은 제과 배제에서 오지만, 이곳의 파워는 자유와 참여에서 온다."는 말을 했습니다.
          우선 '위키'라는 개념과 형식은 사람들에게 생소하고 낯설게 다가오게 마련입니다. 기존 '게시판' 에 익숙해져있던 사람들에게 위키의 사용은 하나의 모험으로 작용하겠죠. 사람들에게 있어서 낯설음,생소함등은 곧 거부감으로 직결되기 쉽습니다. 이러 거부감을 없애려면 굉장 노력과 시간과 자본이 투자되어야 하겠죠. MS 사의 윈도우즈가 성공 요인이 뛰어난 기능과 능력이 아닌 '익숙함'이라는 것은 왠만큼 소프트웨어를 알고있는 사람들 사이에서는 상식이죠.
          - 현재는 독점 시장을 형성하고 있습니다. 하지만 그 과정을 살펴보면 MS 사의 윈도우즈가 뛰어난 성능과 기능을 가져서 독점했다고 보기는 힘듭니다. 객관적, 주관적, 전문가의 분석 어떤점으로 보나 윈도우즈보다 뛰어난 운영체제는 언제나 존재해왔습니다.(물론 지금도 존재합니다.) 하지만 사람들은 이미 익숙해져버린 윈도우를 버리고(월등히 뛰어나지는 않지만 그렇다고 절대적 성능이 떨어지는것도 아니니) 다른 운영체제를 택다는건 '모험'을 넘어서 '도박'에 가깝다고 느껴지게 됩니다. 그러므로써 그러 모험 내지 도박은 말씀드렸던 낯설음,생소함등으로 이어지게 되고, 자연스레 다른 OS 들은 설자리를 잃어버리게 됩니다. 단순히 결과만을 놓고 보았을때 말씀하신 독점시장이 맞습니다만, 제가 말씀드리고자 했던 요지는 그 과정속에서 찾을수 있었던 '익숙함'이었습니다.
          ''말씀하신 익숙함의 의미를 제가 독점으로 바라봐서 생기는 오해인것 같습니다. 분명 청정원 케찹도 있지만 오뚜기 케찹을 선택하고 많이 팔리는 것을 '익숙함'으로 볼수 있습니다. 하지만 오뚜기 케찹을 쓰지 않으면 모든 요리를 할수 없는 상황이 되면 그걸 이제 '익숙함'이라고 설명하기보다 독점으로 바라봐야 다고 생각하거든요. :) --NeoCoin''
          또하나 '보상과 동기부여' 라는 차원의 면에서 생각해 본다면, 네이버는 이미 매체를 통해 어느정도 인지도를 쌓은 후에 그 인지도를 십분 활용하여 '보상과 동기부여'를 제공합니다. 네이버와 위키의 공통점은 참여의 제이 없습니다. 대부분의 집단에서 파워라는것이 '제과 배제'에서 나온다고 하셨지만, 네이버의 지식인 '제과 배제'라기 보다는 '노력(실력)에 따른 보상'이라는 자본주의 정신과 일맥상통다고 봅니다. '보상과 동기부여' 이것이 네이버와 위키의 가장 큰 차이점이라 생각합니다.
          네이버에서 영웅은 없습니다. 열심히 노력 '고수' '명예의 전당'이 있을뿐입니다. - 장창재
         윗 글에 공감해서 동안 이 페이지를 잊고 있었는데, 어제 문득 다른 생각이 나서 또 적어봅니다.
         사람들은 [네이버지식in]을 마치 수학 문제 해답지처럼 여기는 것 같습니다. 저도 요즘엔 누가 궁금 게 있다고 물어봤을 때 모르는 경우''지식in 검색해봐''라는 말을 자주 합니다. 제가 누군가에게 모르는 걸 물어봤을 때도 자주 듣습니다. ''지식in엔 없는게 없다니까''라는 말도 들어보았습니다. 마치 [네이버지식in]에는 살아가며 궁금 것들에 대 모든 해답이 있는 듯이 여기고 있다고 느꼈습니다. -[Leonardong]
         야후에서 위키서비스를 다는군요. 서비스업체로서의 '위키'라는 이름을 걸고 서비스를 시도하는 건 처음이 아닐까 생각이 드네요. --[1002]
  • 데블스캠프2010/넷째날/후기 . . . . 27 matches
          * 자바스크립트라는말을 많이 들어봐서 뭔가 했는데 이제야 어떤건지 조금은 알았네요. 자바와 자바스크립트가 다른거라는것도 오늘알았고 자바스크립트가 C언어와 이렇게 비슷걸 보니까 언어 하나를 배우면 다른건 쉽게 배운다고하는말이 뭔지 알것같습니다. 그리고 역시나 감동의 쓰나미였다 또 C언어처럼 컴파일러 같은게 필요것도 아니고 코딩 파일을 웹브라우저로 실행하기만 하면 결과가 나온다는것도 신기하네요 - [경세준]
          * 개인적으로 웹이랑 자바스크립트에 관심이 있어서 꽤 관심이 있던 세미나였습니다. 첫 시간이라 사람이 적어서 좀 늦게 시작하긴 했는데, 그래도 간단 자바스크립트에 대해서 배울 수 있었고, 코딩 때 문제가 생기면 성현 선배가 잘 수정해주셔서 개인적으로는 만족스러웠습니다. 좀 더 DHTML쪽 요소가 있었으면 좋았지 싶은 게 아쉬운 점이네요. ㅠ.ㅠ - [서민관]
          * 자바스크립트가 C언어와 많이 닮은것 같아서 매우 인상깊었습니다. 하지만 저의 C언어 실력이 미숙하여 하는데에 많은 어려움을 겪으면서 많은 생각을 하게 되었습니다. 일단 기본적인 C언어의 문법과 선언하는 함수 등을 자세히 공부하고, 자바스크립트에서의 C언어의 활용 방법을 좀더 연구해야겠다고 생각했습니다. 그리고 자바스크립트를 통해 비쥬얼 스튜디오보다 좀더 편리 프로그래밍을 할수있어 더 좋은 내용의 프로그램을 만들수있다는 것에 대하여 생각해 보았습니다. 앞으로 좀더 열심히 공부해야겠다고 생각합니다. - [양아석]
          * 참 재밌었습니다. "쿠키와 세션"에 대 내용도 조금 알 수 있었고 웹의 작동 원리를 알 수 있어서 좋았습니다. AJAX가 등장 이유도 재밌었구요 ㅋㅋ 또 하나의 웹 페이지처럼 보이지만 실상은 여러 페이지를 include 것을 보고, "아 이런 원리였구나" 하고 깨닫게 되었습니다. 참 신기하고 재밌네요 ㅋㅋ C++0x도 역시 흥미로웠습니다. 새로운 문법들 중 &&를 이용 우측값 참조, 이걸 들어보니깐 점점 C++은 접근하기 어려운 언어가 되어가는 듯 느낌을 받았습니다... 하지만 저는 성능을 더욱 개선시킬 수 있다는 점에서 새로운 것을 알아 좋았습니다. - [박성현]
          * 1. 새내기들에게 아니 재학생들에게도 꼭 번쯤 해줘야 할 좋은 얘기!
         2. 재학생인 내가 듣기엔 재밌었는데 새내기들텐 좀 딱딱할? 어려울?수도 있었겠다는 생각이 듬. 암튼 난 재밌었어!! 이거 듣고 C++0x에 관심이 생김ㅎㅎ + 중간에 서비스센터에서 전화온 것에 정신 팔려서 잠시 안 들었다... 발표자에게 미안.... - [김수경]
          * C++0x라는건 처음들어봤는데 프로그래밍 언어도 계속 발전하고있다는 사실을 알았고 콘솔프로그래밍이 모든것의 기초라는것도 다시번 느낄 수 있었고 C++0x에 대건 자세히 이해하지는 못했지만 대충 어떤거라는거는 알수있었던 뜻깊고 감동적인 시간이었습니다. - [경세준]
          * 처음 했던 웹을 보는 시점에 대 이야기도 엄청나게 좋았고 C++0x도 엄청나게 좋았습니다. 사실 이번 데블스에서 노렸던 두 세미나 중의 하나였는데 정말 휴가까지 내서 들으러 올 가치가 충분하고도 남을 정도의 세미나였다고 생각합니다. 다만 문제는 C++0x는 1학년테는 이해하기 힘들지 싶다는 점이었네요. 어쨌든 찬사. -[서민관]
          * PHP는 정말 범접할수없는건줄만 알았는데 간단거지만 따라서 해보니까 신기했고 감동적이었습니다. - [경세준]
          * 늦게와서 제대로 따라가지 못했어요 ㅠㅠ 그래도 방명록 만드는거시 이렇게 심오지는 몰랐어요 ㅎㅎ --- [김정욱]
          * PHP에 관 예제를 직접 타이핑하고 완성하는 시간을 가졌습니다. PPT만 보는것보단 직접 타이핑하고 실습해서 그런지 재미있던것 같습니다. - [김준영]
          * 서버 만들어서 돌리는거 재밌네요. 상당히 흥미로웠습니다. PHP 예제도 타이핑 것도 재밌었습니다. 다만 DB 쿼리 날리는 것도도 같이 해봐서 그런지 DB 쿼리날리는걸 배운건지 PHP를 배운건지 헷갈려요 ㅋㅋㅋ 또 헷갈리는게 있었는데 HTML태그를 쓰면서 PHP를 사용했는데, 기본적인 태그들이 HTML 태그랑 똑같은건가요? 아니면 Java Script처럼 HTML 안에 들어가는건가요? 헷갈리네요.. - [박성현]
          * RSS리더기와 퀵소트에대해서 배워봤습니다. 또 생각하는 개발자에대해서 설명해주셧습니다. 여러가지로 생각해본점이 많았던 강의 였습니다. 또 리더가되었을때의 그 초조감은 정말 진땀났습니다;; 하지만 좋은 프로그래머의 기준을 잘 알려주신것은 정말 좋았습니다. - [양아석]
          * └ 리더가 되었을 때의 감정은 나도 잘 알고 있지... 내가 1학년땐 발표 번밖에 안 해봤을 정도로 소극적인 성격이었거든 ㅋㅋ 그런데 역시 이런건 앞에 많이 나가봐야 느는거 같아. 나도 아직 많이 많이 많이 많이 부족하지만 예전보다는 훨씬 좋아진거거든 ㅋㅋ 너도 번 데블스 끝나고 동기들과 스터디 그룹 진행해보면서 리더를 맡아봐. 준비하는 시간에서 배우고, 실제 진행할때도 배우게 될거야 ^^ - [박성현]
          * 항상 느꼈던 거지만 제 머리와 몸은 따로 노는 것 같습니다 ㅜㅜ 머리는 키보드에 먼저 손이 가면 안된다고 하는데, 막상 개발같은걸 할라치면 그냥 손이 자동으로 IDE를 켭니다. 그래서 동안 노트 들고 다니면서 노트에 생각 것들을 정리 해보기도 했었는데, 노트북을 사면서 부터 노트를 안 가지고 다니게 되었고 그러면서 다시 자동으로 IDE를 켜는 습관이.. ㅜㅜ 앞으로는 다시 노트를 들고 다니면서 먼저 생각 것들을 정리해보는 습관을 들여야겠습니다. - [박성현]
  • 새싹교실/2012/AClass/4회차 . . . . 27 matches
         -이중포인터는 포인터의 주소값을 갖는 것입니다. 그거에 따라서 &c는 자기 자신 주소를 의미하는 것이고 c는 포인터 a의 주소값을 말합니다. *c또 a의 주소값입니다 . &a는 a의 주소값, a는 a가 b를 가리키는 것이라면 b의 주소값을 말합니다.
         -원형 큐로 기본 큐와 마찬가지로 첫 번째 데이터가 추가되는 순간 큐의 처음과 끝부분이 그 데이터를 가리키게 된다. 처음을 F 끝부분을 가리키는 것을 R이라하면 꽉찬 경우나 텅빈경우에 F가 R의 칸 앞을 가리키는 것은 같기 때문에 F,R의 위치만을 가지고 꽉 찬경우와 텅 빈 경우를 구분할 수 가 없다. 따라서 이와 같은 문제를 해결하는 방법은 많겠지만 그 중 하나는 배열을 꽉 채우지 않고 배열의 길이가 N이라면 N-1만큼만 채워 졌을 때 꽉 찬 것으로 간주하는 방법이다. 이렇게 하면 저장 공간 하나를 낭비하게 된다. 하지만 이로 인해서 문제 하나가 해결이 되는 셈이다.
         3.typedef가 무엇인지 알아보고, 간단 예제를 써보자.
         - c언어에서는 char,int,float 와 같은 많은 수의 기본 데이터 형과 배열, 포인터, 구조체 등의 유도된 데이터형으로부터 새로운 데이터형을 만들 수 있는데, 사용자 측면에서 새로운 데이터 형을 정의 할 수 있도록 typedef선언을 제공다. typedef은 #define과 달리 이미 존재하는 c언어의 데이터 형만을 취하여 정의하고 typedef은 프리프로세서에 의해 처리되는 것이 아니라 c컴파일러에 의해 처리된다. 또 #define보다 다양 형태의 치환이 가능하다.
         LinkedList의 node를 선언하는 방법을 찾아보고, 왜 그런 형태인지 이해만큼 써보자.
         typedef가 무엇인지 알아보고, 간단 예제를 써보자.
          Std[2].name="송이";
         accept받은 걸 스샷으로 찍어도 좋아요 저번주에 accept받는데 실패하신 분들은 저나 다른분들에게 물어봐서 번 해보도록 합시다^^
         (rand()%1000을 다면 1에서 1000까지의 숫자가 나올 것입니다.)
         1. LinkedList의 node를 선언하는 방법을 찾아보고, 왜 그런 형태인지 이해만큼 써보자.
          struct Node *NextNode; //다음 노드에 대 포인터
         큐를 위 버퍼와, 시작과 끝을 나타내는 두개의 값을 사용하게 된다.
         3. typedef가 무엇인지 알아보고, 간단 예제를 써보자.
          {"송이",201002,23},
         == 송이 ==
         *c는 이상값, **c는 9
         1.LinkedList의 node를 선언하는 방법을 찾아보고, 왜 그런 형태인지 이해만큼 써보자.
         Malloc으로 할당 공간은 해당 함수가 끝나도 해제되지 않는다. 이건 속성이 다른 메모리 공간에 할당 했기 때문이다.(?????)
         큐를 구현하는 가장 일반적인 방법은 스택과 마찬가지로 배열을 이용하는 방법이다. 그러나 단순배열로 할경우 배열의 크기가 지정되어 있는 상태에서 데이타가 계속 추가되게 되면 어느 시점에서 overflow 가 발생하게 됨으로 데이타가 배열의 크기를 초과하게 되면, 초과된 데이타는 0번째 배열로 들어가게 해야 다. 이러 구조가 환형구조와 같다고 해서 보통 환형큐(circular queue) 라고
         3. typedef가 무엇인지 알아보고, 간단 예제를 써보자.
  • 새싹교실/2012/설명회 . . . . 27 matches
          * 참가 새내기 : 54명.
          * 참가 헌내기 : 약 20명
          1. 간단 저녁 식사
          * 신입생인데 시작부터 '사랑하지 않으면 떠나라'고 하는 프레젠테이션이 참 수경선배다워서 인상이 깊었습니다 ;;;;; 그리고 이번에 보니까 컴공에 흥미를 가지고 있는 신입생들이 많아서 조금 긴장되는군요. 다들 그만큼 열심히 해 주지 않을까 하는 기대감도 들고요. 어쨌든 이번이 복학 + 새싹으로 불안감은 큰 만큼 사전에 준비를 잘 해 가야 하지 않을까 싶습니다. 그리고 시간이 허락다면 다른 강사들이 수업하는 모습도 좀 보고 싶군요. 후후. - [서민관]
          * 새내기들은 딱 생각만큼(?) 왔네요. 재학생들이 많아서 강의실이 좀 더 넓었으면 좋았겠다는 생각이 들었어요. 제 2공을 빌려줬으면 편했을텐데 하여간 공대 행정실은 마음에 안 들때가 많습니다...
          * 선생님 지원자가 정말 많으네요. 사실 너무 많은게 아닐까 싶은 생각도 조금 듭니다. 만약 새싹교실을 성실히 진행 반에 지원다거나, 위키 사용을 잘 하고 있는지 번씩 체크해보고 싶다거나, 모든 반이 함께 모여 공동의 활동을 진행하려 할때 약간 버거울수도 있지 않을까 걱정되는 면이 있어요. 반편성이나 회장님께서 각 반 선생님들께 공지해야 할 일이 있을때도 좀 힘들지 않을까 싶어 걱정이네요ㅜㅜ
          * 진짜 간단히 짧게 말하려고 폰 타이머까지 들고 간건데... 길게 말하면 지겨울테니 진짜 짧게 말하려고 많이 주의했는데 장황하게 말했네요ㅡㅡ; 하여간 난 수다쟁이라 큰일이야... 말 너무 좋아하면 말로 망다는데...................... 너무 시간 잡아먹어서 분위기나 진행에 부담을 준 것 같아 좀 미안하네요ㅜㅜ
          * 우수새내기(?) 거르는 방법이 인상깊었습니다. 정된 시간 내에 파악하기 좋은 방법이라는 생각이 들었어요. 여지껏 제가 봤던 방법 중 가장 효과적인 방법인 것 같아요.
          * 새내기들이 지원서를 작성할 때 전체 선생님 명단이 화면이나 칠판에 있었다면 지원서 작성에 도움이 되지 않았을까 싶습니다. 아무래도 번 들은 걸 새내기들이 다 기억할 순 없으니까요. - [김수경]
          * 목록표를 만들어 놨는데 연락처가 있어서 게시판에 안 올렸었음/ 뭐 주소록도 올려 놓긴 했지만 이건 굳이 올릴 필요성을 못 느낀 것도 있고 해서 태진이테만 전달했었음. 사실 그날 화면에 띄워 주긴 했는데 잠깐 소개하고 들어간데다 글씨도 작아서 새내기들이 잘 몰랐을 수도 -ㅅ- - [권순의]
          * ISEF, KOI, NXT(??) 등등 생각보다 능력자가 많이 있는 것 같네요. 새싹교실 안내를 했는데, 저는 프리젠테이션 할 때 슬라이드를 꾸미거나 줄줄이 써놓는 편이 아니고 스크립트에 적어두는데, 발표자 도구를 썼지만 당황했는지 써놓은 안내 사항을 몇 개 빼먹었네요. 다음부턴 이런 실수가 없도록 해야겠습니다. C 보다는 프로그래밍이 중요하다는 말을 하고 싶었는데 수경누나테 선수를 뺏겼네요. ㅋㅋㅋ - [정진경]
          * 2월부터 준비하던, 생각보다 많은 준비가 필요했던 새싹교실을 드디어 시작하게되네요. 강사모집하고 강사에게 설명해주고- ZP외 다른 강사도 들어오고- 네토리도 들어오고- 규모가 좀 확장되었네요. 전례없이(?) 강사가 넘쳐나는 2012년 새싹교실이네요. 새싹교실 소개는 진경이에게 맡기길 잘 거 같습니다. 요즘 영 세세 프리젠테이션 작업은 쉽지 않더라구요.(자꾸 핵심내용을 까먹어버려요--;) 신입생들이 딱 생각만큼 많이 와주어서 좋았던거 같구요.(54명 + 온 강사 15명 = 버거 70개!!) 이제 반 배정만 잘 해서 새싹교실이 잘 진행되도록만 하면 되는군요. 뭔가 많은 일을 벌리고 몇개를 어느정도 기반을 닦아낸거 같아서 다행인거같네요. -[김태진]
          * 참가 새내기 : 약 30명.
          * 참가 헌내기 : 약 15명
          1. 간단 저녁 식사
          * 월드카페와 OST는 아마 최선의 선택이었던 것 같다. 작년의 새싹교실때보다 열기있는 모습이고 프로그래밍에 대 경험은 아니지만 언어를 ''맛보고'' 온 신입생들이 전보다 더 많아서 놀람. 다만 이 '''선행학습'''이 독이될지 약이될지는 개인의 바탕에 달려있을 것이다. 슈퍼 슈퍼 프로그래머로서의 자질이 없는 보통은 자신의 선지식에 안주하게 될 가능성이 높아보인다(잘난척 하는 몇몇이 있었음).
          * 월드카페와 OST가 비슷 점이 많아서 다음번엔 좀더 변화를 주어 보는게 좋을 듯 하다(생각해보자). 소리를 상쇄시킬 수 있는 큰 강당이 아니라면 테이블간의 거리를 많이 두는 것도 필요할 듯 하다. 의사소통이 조금 불편했다.
          * 확실히 옆 테이블의 목소리가 커지면 이쪽 테이블의 목소리가 잘 안 들리는 경우도 있어서 다음에 또 다면 목소리 크기에 대 대책을 세우지 않으면 안 될 것 같았습니다. 따로 통제를 하거나 하지 않으면 양쪽 테이블이 서로 목소리가 커지는 상황이 벌어져서 -_-;;; - [서민관]
          * 우리끼리 지식카페 해보지 않을래? 갑자기 생각났는데 재미있을 것 같아. 레츠랑은 좀 다른데 5-6명이 의자만 가지고 둘러앉아서 내가 배웠거나 깨달았거나 아는 것을 돌아가면서 3분정도 설명해주는거야. 어디서 본듯 느낌이 드는듯..?
          * 반 배정 결과를 번에 공개하면 각자 자기 반 찾느라 아수라장이 됐을텐데 순차적으로 공개해서 덜 혼잡했던 것 같습니다. 시간은 좀 더 걸렸겠지만 괜찮은 방식이라고 생각했어요.
  • 실시간멀티플레이어게임프로젝트 . . . . 27 matches
         교육적 목적과 동시에 과 친구들과 함께 즐길 수 있는 유익 게임을 만드는 목적도 있다. 또, 동기, 선후배들과 교육적인 프로젝트를 "즐겁게" 할 수 있는 틀을 제시다.
          * 자기 팀에서 기획 게임의 뼈대. 플레이 가능하고 최소 어느 정도의 재미는 있어야 함.
          * 각 팀은 다른 팀의 게임에 가지씩 기능 추가
         파이썬의 기초 문법만 알면 강의에 참여할 수 있을 겁니다. 제가 말하는 기초란, if문, for문, 기초 데이타형(리스트, 터플, 사전, 문자열, 정수 등), 함수 정도에 대 지식입니다.
         제작할 게임은 컴퓨터 그래픽을 사용하지 않습니다. 게임의 목표는 화려하거나 중독성 있는 게임이 아니고, 상상력을 자극하고 즐거운 게임입니다. 복잡하지만 단순 게임이 아니고, 단순하지만 복잡 게임입니다.
         강의 첫날 약 1-2시간만으로 당장 플레이해볼 수 있는 게임이 나오도록 할 것입니다. 개발은 팀 단위로 나눠서 할 예정이며, 두번째 날 세미나 시작 직전에 팀 별로 개발 게임을 발표합니다. 그리고 그중에서 투표를 통해 가장 잠재력이 큰(무엇보다 재미있을 것) 게임을 고릅니다. 그리고 이제는 참가자 전원이 하나의 게임을 함께 개발합니다.
         인원이 찼으므로 고정하겠습니다. 이 프로젝트에 참가하기로 하신 분들은 선착순으로 뽑힌 것이고, 그만큼 다른 분들의 기회를 박탈 것이니, 그에 상응하는 어떤 의무와 책임을 갖고 있습니다. 그렇다고 너무 부담 느낄 필요는 없습니다. 이 의무와 책임은 프로젝트에 충실히 참여해서 나중에 주변 사람들과 함께 자신이 얻은 것을 곱하기 하면 되는 것입니다.
          기본적인 개념과 프레임워크를 설명해 드립니다(최초 프레임워크는 director가 직접 만들어 제공합니다). 그 자리에서 간단 실험을 몇가지 해봅니다. 팀을 나눕니다. 제가 선정 단순 게임을 각 팀이 병렬로 개발합니다. 그 결과물에서 일종의 프레임워크를 추출해 냅니다. 다음 시간까지 팀별로 새로운 게임을 선정해서 개발해 와야 합니다.
          지난 일주일간 각 팀별로 개발 게임을 발표합니다. 팀을 바꿔서 게임을 플레이해봅니다. 그리고 그 게임(다른 팀이 만든)에 딱 가지씩 기능 추가를 해서 개선합니다. 이때 원래 게임을 만든 사람과 소통할 수는 없습니다. 각자의 작업을 서로 비교해 보고, 경험을 이야기 합니다. 마지막으로 투표를 해서 게임 하나를 고릅니다. 선택되지 못 팀의 아이디어에서 가져올만 것이 있다면 갖고 오는 등 아이디어 회의를 합니다. 계획을 세웁니다.
          제로 페이지 서버에 게임을 올리고 일단은 컴공과 학생이라면 모두 게임을 즐길 수 있게 합니다. 간단 게임 설명서도 있어야 할 것입니다.
          * 파이썬 언어에 대 스킬, 지식 등
          * 개발 것을 조금씩 다듬고 살을 붙이고 진화시켜 나가는 방법, 그 기술
         이 게임을 만들 때에는 (다른 게임을 만들 때와 마찬가지로) 도메인 지식이 있으면 유리합니다. 예를 들면, 생물학 모델(예컨대 진화)에 대 이해, 금융시장(예컨대 주식)에 대 이해, 역사(예컨대 임진왜란)에 대 이해, 물리학(예컨대 고전역학)에 대 이해 등. --JuNe
         스케쥴을 잡아야 하겠습니다. 공식적인 전체 모임은 총 4번이 있습니다. 모두 일주일 간격으로 있습니다. 번 만날 때에 대략 2시간 30분 정도 지속됩니다. 4번째 공식 모임은 간단 파티와 프로젝트 되돌아보기를 합니다. 저는 첫번째, 두번째, 그리고 마지막에 참여할 수 있을 것 같습니다.
  • 이기적인유전자 . . . . 27 matches
          * 서론 : 1월달 정도에 산거 갔다. 그때 우리 누나 생일 선물로 뭘 살까 하다가 이책을(내가 읽고 싶었던 책이기도 해서 ㅡㅡ;) 사다 줬더니, 싫다면서 나보고 읽어라고 했다. 그래서 벨트 선물을 다시 사다 주었다. (우리 누난 너무 까다로와 ㅠㅜ) 하여튼 그때 부터 읽을려고 마음을 먹었고 언제부터인가 조금씩 읽기 시작했는데, 오늘 다 읽었다. 5월 22일. 5달 정도 걸린거 갔다.
          * 본 감상 : 이 책에서 강조하는 것이 유전자는 끊임없이 자신의 복제자를 널리 퍼뜨리려고 하는 성질이 있다는 것이다. 그래서 생명체는 유전자의 목적 달성을 위해서 움직이는 하나의 기계라고 가정다. 이에 사람도 포함된다. 유전자는 끊임없이 자신의 복제자를 널리 퍼뜨리려고 다. 그래서 이기적으로 행동하게 된다. 자신의 복제자를 퍼뜨리기 위해서 생존 확률이 더 높아야 하고, 더 잘 생존하려면 이기적으로 되어야 하기 때문이다. 이에 맞추어서 사람을 보면 맞는 부분이 상당히 많다. 사람은 자신의 자손이 후세까지 널리 번영하기를 바라고, 옛날에 가장 큰벌중 하나가 삼대를 멸하는 벌이라는 점을 보아도 이를 확인할 수 있다. 따라서 사람의 본성도 이기적이라고 보는 것이다. 그런데 재밌는 점은 이책의 '마음씨 좋은 놈이 일등다. ' 라는 부분에서의 글이다. 이 부분에서는 각각 마음씨 좋은파, 배신파, 보복파 등등이 나오고 이 각 파들이 행동할 경우에서 각 파들이 어떻게 흥성하는가 또는 소멸해 가는지가 나와 있다. 이 부분에서는 결국 배신파 와같은 행동을 하는 유전자는 널리 퍼질 수 없음이 증명되었고, 보복파나, 2번 배신당할 경우에만 보복하는 파등이 어떻게 마음씨 나쁜 배신파 보다 유리지등이 나와 있다. 이 부분을 보고 사람들이 호혜적인 행동을 하거나 이타적인 행동을 하는점에 대 하나의 이유가 될 수 있거나, 그러 행동을 하는 유전자가 지금까지 살아남고 널리 퍼질 수 있었던 이유도 알 수 있었다. 즉 이타적인 행동이나 호혜적인 행동을 하는 이유와 그러 행동이 필요하다는 점등을 알 수 있었다.
          * 이 책에서 내가 처음 접 개념이 밈 이라는 개념이다. 이 밈은 이기적인 유전자가 모든 생명체를 대상으로 하는 특성이라는 점과 다르게 인간에게만 적용되는 특성이다. 이 밈은 문화와 비슷하게 보일 거 같은데, 구체적으로 예를 들면 곡조나 사상, 표어, 의복의 양식, 단지 만드는 법, 아치 건조법 등이 모두 밈의 예이다. 유전자가 유전자 풀 내에서 번식함에 있어서 정자나 난자를 운반체로 하여 몸에서 몸으로 날아다니는 것과 같이 밈이 밈 풀 내에서 번식할 때에는 넓은 의미로 모방이라고 할 수 있는 과정을 매개로 하여 뇌에서 뇌로 건너다니는 것이다. 밈은 비유로서가 아닌 엄밀 의미에서 살아 있는 구조로 간주해야 다고 다. 네가 내 머리에 번식력이 있는 밈을 심어 놓는다는 것은 문자대로 네가 내 뇌에 기생다고 하는 것이다. 나의 뇌는 그 밈의 번식용의 운반체가 되어 버리는 것이다. 예를 어 '사후에 생명이 있다는 믿음'이라는 밈은 막대 횟수에 걸쳐 세계 속의 사람들 속에 육체적으로 실현되어 있다. 이 밈이 인간의 본성과 어떠 관계가 있냐 하면은, 밈의 목적 달성을 위해서 이타적인 행동을 하는 사람들을 설명할 수 있는 개념이 된다. 예를 들어 '착하게 살아야 다'라는 하나의 밈만 해도 주위에서 흔하게 볼 수 있고, 이밈은 자신의 복제자를 널리 퍼뜨리기 위해서 실제로 그에 맞는 행동을 하게 되고, 그러 행동에 그에 상응하는 대가도 기대할 수 있게 된다.(예를 들어 착 행동에 대 칭찬 및 포상) 이 밈이라는 개념은 인간의 이타적 행동에 대 설명해 주고 또 왜 그러 이타적 행동이 필요지 밈의 관점에서 설명해주고 있다. 주의할 점은 이것은 하나의 관점이지 이게 전부는 아니라는 점이다. 이 밈이라는 개념은 내가 이책을 읽으면서 얻은 큰 수확중 하나이다.
          * 총평 : 우선 이책에 대 전체적인 느낌을 말하면 나에게 삶을 바라보는 새로운 시각을 주었다. 흠, 지금까지 내가 읽었던 책들중에서 아주 많은것을 느낄 수 있게 해준 책중 하나에 속다. 추천하고 싶은 책이다. 이 400쪽밖에 안되는 책에서 이렇게 많은 것을 얻을 수 있으니 말이다. 나중에 몇번 더 읽어보고 더 많은것을 느껴야 하겠다.
  • 이영호/잡다 . . . . 27 matches
         아무것도 없는 가상적인 우주공간에(물론 여기서 초끈 이론등을 배제다. 입자 체계는 플랑크 상수와 같은 극 미시적 세계가 아닌 원자 크기의 차원에서 이해다.) 원자 하나가 생겼다. 이 원자는 우주 공간에 가만히 있을것이다.(상대적인 기준이 없으니) 하지만 이 원자를 중심으로 양쪽 1km 에 원자가 하나씩 생겼다. 즉, 원자는 일렬로 3개다. 이럴 경우 원래 있던 가운데 원자를 중심으로 두 원자가 끌려올것이다. 물론 무게 중심인 원래 원자는 가만히 있겠다. 하지만 맨 오른쪽 원자 하나가 사라졌다고 하자. 물론 그냥 사라진 것이 아니다. 질량이 에너지로 바뀌며 사라졌다.
         1. 질량(무게:지구에서 실험)이 1kg이고 273K인(0 도씨) 철(Fe)을 정밀 무게를 다는 기계(밀폐된 공간에 놓아둔다)에 올리자. 정확히 1kg을 가리킬 것이다.
         Q=cmt 로 열량을 재고 E=mc^2로 질량을 측정다. 그리고 이 값이 주입 열에너지와 질량의 값이 똑같은지 확인을다.
         Q. 중력과 질량의 관계는 어떻게 될까? 실제로 입자에 질량을 부여하는 히그스 입자가 필요할까?(초끈이론의 부분/물론 제 2의 에테르 같이 보이지만 말이다.)
         A. 위의 실험에서 열에너지와 중력이 관계가 있다면(질량이 증가다면), 히그스 입자는 타당성이 없다.
         //중력은 엔트로피를 가지지 않으며 유리 순서의 첫 번째를 차지다.//
         이것이 미국 일부 큰 회사의 경영철학이고. 내가 만약 팀을 이끈다면 이러 경영 철학이 현재의 시대엔 옳다.
         제 목 넷마블이나 게임같은사이트를 만들려면 최소인원과 구성이 어떻게 되나요? 41681 sdryu@orgio.net 41681 0 0
         오늘 저를 불러서는 넷마블같은 게임을 만들었으면 다고 하면서
         혹시 게임 사이트나 게임 프로그램을 하신 분들 중에서 이거에 대 정보를 주실 분이 계시나요
          이 글에 대 코멘트
          2005-07-22 10:57:00 사장님.. 너무 간단히 보시는 듯. ㅡ0ㅡa 생각보다 많은 인원이 필요 할듯 데요..ㅋㅋ MaTin
         1개월은 꽤 심거 같군요.
         특별 컨텐츠없이 그저 남이 다고 나도 해보자는 식의 경영은,,,
         사장님께 정신차리라고 똥침 방 놓아주세요. 하얀그림자
          2005-07-22 12:00:00 넷마블이나 게임에 있는 게임이 몇 가지일까요? 거기에는 대규모 게임도 몇 개 있습니다. 하지만, 자체 개발은 아니죠. 그냥 포워딩과 계정관리정도. 생각보다 그런 게임들이 많습니다. 단기계약이죠.
          2005-07-22 12:47:00 제대로된 게임 하나를 개발하시고 나머지 부가게임들을 하나씩 붙이는게 어떨까요. 아님 번에 10게임 정도 외주를 주시던가욥. 비주얼 씨익[군]
         흉내는 낼수있겠죠... 하지만 중요것은 만들고 못 만들고가 아니고요.
         다른 경쟁 사이트와 어떤 것을 차별화하여 공략할 것인가에 대 전략입니다.
         계획서를 일단 만드신후에 검토 또 검토 하셔서 부족거나 미비거 수정하시고 검토하셔서 결정나면 그때 개발인원 생각하세요...
  • 정모/2012.11.26 . . . . 27 matches
          * 학회 외 사람은 약속대로 활동비 지원
          * 공학교육페스티벌에 대 후기를 위키에 작성 또는 공유 했으면 함
          * [권영기] - 첫회라서 강제로 끌어모은 느낌. 다른학교도 마찬가지인듯. 레이싱게임 비슷게 있는데 의자가 움직이는 것이 신기했음.
          * 전체적으로 학생 아이디어 착취를 위 느낌의 프로그램이었음.
          * [권영기]: 오늘 종하형 OMS는 10분도 안들었지만 충격과 공포였습니다. 허허허, 지금 생각해도 머리가 아파오네요. 그리고 공학교육 페스티벌 후기 공유는 들으면서, 다른 사람들도 다 비슷 생각을 했구나 싶더라구여.. 아 그리고 종록이형 다음 OMS가 기대되네여. ㅎㅎ
          * [이재형]: 저..절대 과자 준다고해서 오랜만에 간..건 아니지만요. 그..그래서 후기 쓰는 것도 아니지만요. 오늘 OMS를 들으면서 '아 제로페이지라는 집단에는 정말 본받을 분들이 많으시구나' 다시 번 느꼈습니당. 공학교육페스티벌 후기 공유 시간도 다시 생각해볼 수 있는 기회라 오히려 감사했구요. 활동내역 정리 맡은 바 최선을 다하겠습니당 ㅎㅎ. 종록이형의 OMS를 기대하며 끄읕~!
          1. 오랜만에 정모 참석했네요. OMS는 굉장히 굉장히 학술적인 내용이었습니다. 사실 전 공수도 멀컴도 듣지 않아서 그리 익숙 주제는 아니었네요. 그 화려 수식의 향연이란... 적당히 메모를 해가면서 들었는데 살짝 헷갈렸어요. 하지만 번 맛보기로 들어봤으니 다음에 어디에선가 다시 들을 일이 생기면 덜 낯설겠죠? :)
          1. 공학교육 페스티벌 공유를 들으니 ZeroPage에서도 평소 진행하는 프로젝트를 좀 더 다듬어서 다음 행사에 부스를 내 보는 게 어떨까 싶은 생각이 들었습니다. 아쉽게도 졸업 제가 할 순 없겠지만요. :(
          1. 아, 그리고 오늘 정모에서 스터디/프로젝트 진행에 대 공유가 없었던 것이 아쉬웠습니다. 제가 참여하고 있는 스터디 외에 다른 스터디들이 어떻게 진행되고 있는지도 궁금했고, 또 제가 하고 있는 스터디들 공유하고 지원을 요청하고 싶은 내용들도 있었거든요. 오늘 회장님께 은퇴 처리를 신청했고 사실 다음 주 정모에 갈 수 있을지 여부가 불투명하긴 하지만 어쨌든 다음 주 정모에서는 스터디/프로젝트 공유가 진행되었으면 좋겠습니다.
          * [김태진] - 드디어 과제를 끝냈네요.. 새벽 5시입니다.(는 쳐 놀다 시작해서 그럼) 저번과 이번 정모는 스터디.프로젝트 공유보다 초점이 약간 다른데 가있었죠. 임기가 2개월 남짓 남은 상황에서 이제서야 여러가지 좀 다른 시도들을 해보는 중입니다. 정모에 다른 활동들을 넣어본다던지.. 위키를 활성화 시켜본다던지.. 스터디 프로젝트는 작년부터 올해까지 계속 느껴온거지만 하는 사람/하지 않는 사람 차이가 심하고 하지 않는 사람은 하는 사람의 말을 이해하기 어렵다는 점이 항상 아쉬웠습니다. 그 점을 보완해 다른 방향을 생각 중이네요. (가령 초등학생에게 이 프로젝트를 설명다면? 코너, 내가 이 프로젝트를 하는데 이게 지금 부족거 같다 코너. 등) 좋은 의견 환영합니다.
          * 다음주 다과때 뭐 먹고 싶나요? 여기 써주시면 적극 반영할게요. (설령 두명 후기를 덜 쓰더라도)
          * [변형진]: 저는 경이로운 길이로 장황 [http://zeropage.org/board/64074 후기](?)를 작성했습니다. 그러나 이 위키의 여백이 너무 좁아 여기 옮기지는 않겠습니다.
          * [서민관] : 제가 후기의 마지막을 장식할 것 같군요. 좀 평소 정모와는 다르게 HOT 주제가 있었지만 그래도 괜찮게 넘어간 것 같아서 다행이었네요. OMS는 알아듣기가 많이 힘들었습니다. 내년에 공수나 다른 관련 과목들을 들어야 할지 고민을 해야 할 레벨이네요 ㅠㅠㅠㅠㅠ 그리고 활동 내역 정리 관련으로 일을 할 생각인데, 태진이테 민폐 안 끼치고 잘 처리 할 수 있으면 좋겠군요. 올 해 ZP의 활동이 왕성 것 같아서 무슨무슨 활동들을 했는지 보는 보람은 꽤 있을 것 같습니다. 재밌겠죠. 여담이지만 종록이 위키 정리 속도는 정말 신이 들린 레벨이지 싶습니다 -_-;;
          * [http://scienceon.hani.co.kr/media/34565 인지부하]에 대 글인데 참고해 주셨으면.. 이 글은 데블스 캠프나 새싹이나 기타 강의/세미나를 하시려는 분들이 참고해도 좋을 것 같습니다.
          * 시장터처럼 시끄러운 정모가 나쁘다고 생각지 않습니다. 사람들을 말하게 하는 것은 매우 중요 일이죠. 왠지 모르지만 말많은 사람들이 ZP에 많기도 하고.
          * [박정근] : 공학교육 페스티발에 대 공유가 재미있었습니다. 담에 번 가보고 싶네요ㅋ OMS는 못 들었지만 윤종하의 OMS에는 아쉬움이 없습니다. 아마 다음 정모는 과외때문에 못 가게 될 듯 싶네요ㅠ
          * [장혁수] : 윤종하 OMS가 너무 알아듣기 힘든 words를 골라 use듯 해서 understand하기 힘들었네. 종록이 OMS는 이러지 않겠지? 그래도 열정적으로 공부하고 있는듯 해서 좋았음 ㅋ
          * [강성현] : OMS는 뭐 predictable 내용이라 그냥 편히 들었습니다. 개인적으로 그동안 했던 OMS들의 내용을 간략히 정리 게 있었으면 좋겠네요. 지난번에 몇 번 정모를 빠졌는데 그때 했던 OMS들이 관심이 있음에도 불구하고 내용을 몰라서 아쉬웠던 적이 많았습니다. 그리고 이번 OMS처럼 들어도 잘 모르는 내용도 번 정리하면 좀 이해할 수 있을 것 같고요.
  • 프로그래머의편식 . . . . 27 matches
         많은 사람들이 작은 명인의 단계에서 더 이상 발전을 하지 못채 진정 명인이 되지 못다. 작은 명인은 화려 수상 경력도 있고 심사위원을 맡기도 하고 많은 추종자가 따르지만 진정 명인이 되지 못다. 그 이유는 그들이 닫혀있기 때문이다.
         ''그들은 이제 새로운 지식으로 향 문을 걸어 잠근 채 어떠 새로운 경험도 받아들이려 하지 않는다. 그들에게는 더 이상의 발전과 진보는 없다.''
         진정 명인들은 개방적인 마음을 가지고 있다. 겸손 마음으로 새로운 지식을 받아들이는 것을 멈추지 않는다. 카메라와 같은 장비에 대 의존도도 줄인다. "어떤 카메라든 훌륭 작품을 만들 수 있다."고 생각다.
         ''안타깝게도 세상에서 진정 명인은 아주 드물다. 진정 명인이 말을 아끼며 더 많은 창작을 하는 동안, 사진계에서 분란을 일으키고 잘난 척 하는 이들은 대부분 작은 명인(SMALL MASTER)들이다.''
         리눅스에서 프로그래밍을 오랫동안 해온 사람이 '난 윈도우 프로그래밍은 전혀 할 줄 몰라' 라는 것을 자랑스레 얘기다. 그러면서 MS욕을 실컷하고 나서 vim에 대 칭찬을 늘어놓는다. '난 윈도우에서도 vim을 깔아놓고 쓴다'면서 visual studio에 내장된 에디터를 어떻게 쓰냐며 이해못하겠다는 듯 표정을 짓는다.
         나름대로는 자기가 guru라는 것을 주장하려는듯 하지만, 미안하지만 난 그런 사람을 보며 단 번도 guru라는 생각을 해본 적이 없다. 오히려 꽉 막힌 사람이라는 생각이 들 뿐이다.
         OS별로 시스템 API가 다르지만 따지고 보면 다 거기서 거기다. 국에서 개라고 하는 것을 미국에서 Dog라고 하는 차이가 있을 뿐 OS가 다르다고 해서 프로그래밍하는게 완전히 새롭지 않다. 많은 OS에서 개발을 해보면 서로 놀랍도록 비슷하다는 것을 알 수 있다. 그러니, 새로운 OS에서 개발하는 것에 대해 두려워하거나 걱정할 필요 없다. 가지 OS에 대해 제대로 알고 있다면, 처음보는 OS에서 개발하는 것도 90%는 이미 알고 있다고 생각해도 된다.
         세상엔 리눅스에서 vi를 기가 막히게 쓰면서도 윈도우 프로그래밍도 잘하는 사람이 널리고 널렸다. 그러니, '난 윈도우따위에선 프로그래밍 안해'라는 걸 자랑스레 얘기해봐야 우스워 보일 뿐이다. 자기가 심하다는걸 떠벌리는 셈이다.
         에디터는 자기가 익숙하고 손에 편 것을 쓰면 그만이다. 어떤 에디터를 쓰느냐 보다 그 에디터로 어떤 프로그램을 만들어 내는가가 더 중요하다. 울트라 에디터를 쓰던, vi를 쓰던, 메모장을 쓰던, 쓰는 사람만 편하고 좋은 코드만 만들어낼 수 있으면 된다. 어떤 guru가 vi를 쓴다고 해서, 자기도 vi를 쓰면 guru가 되는게 아니다.
         해피 해킹 키보드를 쓴다고 다 guru가 되는게 아니다. vim을 화려하게 쓴다고 코딩을 잘하는 것도 아니다. 중요 것은 프로그래밍의 본질에 대 것이며, 그것은 플랫폼이나 언어를 뛰어넘는 것이다. 그것은 알고리즘이기도 하고 패턴이기도 하고 경험이기도 하다. 때론 수학이기도 하다.
         이 런 생각으로 새로운 것을 익히기를 거부하는 것은 너무도 오만하고 건방지다. 해보지도 않고 쉬운지 어려운지는 모를 일이다. 해보지도 않고 그게 시간 낭비일지 귀 경험이 될 지는 알 수 없다. 지금 자신이 알고 있는게 얼마나 하찮은지는 더 배우지 않으면 알 수 없다.
         오만하고 건방진 마음으론 결코 진정 명인이 될 수 없다. 겸손하고 개방적인 마음을 가지고 편식은 이제 그만하자
  • 훌륭한프로그래머의딜레마 . . . . 27 matches
         "열심히"씨와 "훌륭"씨는 각각 "엄청난소프트웨어회사"와 "허벌난소프트웨어회사"의 두 직원이다.
         우연치 않게 두 회사에 정확히 똑같은 내용의 주문이 들어왔다. "열나어려운문제" 해결을 위 프로그램을 작성해 달라는 것이었다.
         열심히씨는 처음 예상 소요 시간인 3개월 동안 정말 열심히 일했다. 하지만 일을 하면서 예상 외의 장애를 직면했고, 밤샘 작업까지 해가면서 3개월의 마지막 날 매니져에게 이런 말을 할 수 있었다. "정말 열나게 프로그램을 짰슴다. 밤샘도 하고요. 제가 지금까지 작성 프로그램은 2000줄입니다. 그런데, 새로운 문제가 기술적으로 불가피하게 발생했습니다. 복잡 버그(프로그램의 오류)도 몇 가지 해결해야 하고요. 달 가량이 더 필요합니다." 그러고 달 후 열심히씨는 몇 개의 버그와 더불어 나름대로 작동하는 프로그램을 매니져와 고객에게 자랑스럽게 보여줄 수 있었다. 벌겋게 충혈된 눈과 미쳐 깎지 못 수염, 무지무지 어렵고 복잡해 보이는 2500여 줄의 프로그램과 함께. "예상보다 훨씬 더 복잡 문제였군요. 정말 수고하셨습니다."라는 칭찬을 들으면서.
         훌륭씨는 매니져가 "의무적으로" 잡아놓은 예상 소요 시간 3개월의 첫 2달 반을 빈둥거리며 지냈다. 매니져는 훌륭씨가 월말이 되어서 "정말 죄송해요. 아직 줄도 못짰어요. 너무 어려워요. 좀 봐주세요."라고 처량하게 자비를 구할 날을 손꼽아 기다렸다. 웬걸, 마지막 날 훌륭씨는 예의 "너무도 태연스러운" 모습으로 나타났다. 150여 줄의 프로그램과 함께. 그 프로그램은 멋지게 "열나어려운문제"를 해결했다. 하지만, 매니져가 그 코드를 들여다 보자, 마디로 "너무도 쉬웠다." 초등학생도 생각해 낼 정도였다. 매니져와 고객은 이름을 "열나쉬운문제"로 바꾸는 데에 전적으로 동의다. 훌륭씨는 "이렇게 간단 문제를 3개월 씩이나 걸려서 풀었습니까? 왜 이렇게 성실하지 못하죠?"라는 비난을 들어야 했다.
         열심히씨는 승진하고, 급여인상을 받았다. 훌륭씨는 급여삭감을 직면하고는 퇴사해 버렸다.
         훌륭 프로그래머는 가난하다. 훌륭 프로그래머의 딜레마인 것이다.
         훌륭 프로그래머는 어려운 문제를 "터무니 없을 정도로 간단 문제"로 풀어내는 재주가 있다. 남들이 보기에는 그것이 너무도 당연 해결법으로 보인다. 하지만 그들은 쉽게 생각해 내지 못다. 그러고는 훌륭 프로그래머를 우습게 본다.
         중간치기나 하치기 프로그래머는 어려운 문제를 어렵게 혹은 더욱 어렵게 풀어내는 재주가 있다. 남들이 보기에는 그것이 너무도 기발 해결법으로 보인다. 역시 그들은 쉽게 생각해 내지 못다. 그러고는 중간치기 하치기 프로그래머를 대단하게 본다.
         See Also NoSmok:훌륭프로그래머의딜레마
  • DesignPatternsAsAPathToConceptualIntegrity . . . . 26 matches
         디자인패턴의 조직에 대 우리의 토론중 디자인 패턴의 '자연적인 생성' 을 정의하기 어렵다는 의견이 있었다.만일 우리가 어떻게 디자인 프로세스에서 디자인 패턴들이 이용되는지 이해다면, 그리고 패턴들의 조직화가 멀리 숨어있지 않다면, 이는 정의를 위 좋은 프로퍼티가 될 것이다. 크리스토퍼 알렉산더(Alexander) 는 디자인 패턴의 자연적 생성은 이득이 되는 요소중 하나임을 강조했다. 소프트웨어의 관점의 업무 내에서 자연적인 생성은 실패것 처럼 보이며, 디자인 패턴을 이용하는 더 일반적인 접근 방법은 다음과 같은 식으로 묘사된다. "xyz 문제에 대해 직면하게 되었을때.. 해결책은.." 혹자는 소프트웨어계에서 더 디자인패턴의 편의주의적인 적용은 디자인패턴의 생성적인 이용보다 유용하다고 말할지도 모른다.
         이러 차이의 근본은 디자인 프로세스 내에서의 디자인 패턴에 대 촛점의 부족일지도 모른다. 사실상, 우리는 디자인 패턴과 관련된 디자인 프로세스에 대 토론을 거의 보지 못했다. 디자인패턴을 프로세스와 독립적으로 쓰이는 도구처럼 보기도 다. 이에 대해 좀 더 연구해보자.
         이는 Brooks 가 25년 전에 쓴 말이다. "ConceptualIntegrity 는 시스템 디자인에서 가장 중요 일이다." 그는 계속 말다. "이 딜레마는 잔인 것이다. 효율성과 개념적 완전성중 혹자는 디자인과 구축을 하는 것을 선호할 것이다. 큰 시스템에 대해 혹자는 책임을 맡을 중요 맨 파워를 가져올 방법을 원할 것이다. 그래서 프로덕트는 적시에 출현할 것이다. 어떻게 이 두 필요요소들이 조화를 이룰 거인가?
         하나의 어프로치는 정의, 가장 최우선의 중요 특질을 상승시킨다. (어뎁터빌리티나 변화에 대 분리) 그리고 이 퀄리티들들을 디자인 프로세스의 설립의 용도로 이용할 수 있다. 만일 이 최우선의 특징이 프로세스의 목적이나 구체적 디자인 분류의 하나라면 아마 'many'는 같은 개념적 완전성을 "약간의 좋은 감정"으로서 적시에 프로덕트를 ..
         어떻게 이를 달성할 것이며, '잔인 딜레마' 의 일부를 해결할것인가?
         다음은 "객체지향 메소드들의 효과를 테스트하기 위 리트머스 종이로서의 디자인 패턴" 으로부터의 요약이며, 통찰력을 제공해줄 것이다.
         몇몇 O-O 디자인 방법론들은 구체적 디자인 기준에 따라 최적으로 나누어진(모듈화되어진) 아키텍쳐나 마이크로-아키텍쳐들을 개발하는 명확 단계의 폼에서 시스템적인 프로세스를 제공다.
         다음의 방법론들은 모듈화에 대 그들의 키 디자인 기준에 따른 목록이다.
         저자에 의하면, 오직 RDD 와 EDD 가 OO 디자인 대 명확 룰을 가지고 있으며 그러므로 이들은 설득력있는 OO 디자인 방법들이다.
         디자인 패턴은 "변화하는 부분에 대해 캡슐화하라"는 1차적인 모듈화 원리에 따라 마이크로-아키텍쳐들을 디자인하는 가이드를 제공다.
         EDO 와 RDD 는 이 1차 원리인 "변화하는 부분에 대해 캡슐화하라"와 그들의 명확 룰들에 따라 적용될때 다른 방법들로 만나서, 다른 디자인 패턴들을 생성해 낼 것이다. 예를 들면, RDD는 Mediator, Command, TemplateMethod, ChainOfResponsibility (주로 behavior), EDD 는 Observer, Composite, ChainOfResposibility(주로 structure) 를 생성해낼것이다.
         자, 이전 ConceptualIntegrity 에 대 토론과 함께 우리는 토론을 위 질문들을 제안할 수 있다.
         설득력있는 O-O 디자인 메소드들이 "a few good minds" 처럼 같은 개념적 완전성을 가진 "many" 를 에 대 결과물을 만들어낼 것인가?
  • Linux/필수명령어 . . . . 26 matches
         커맨드 명령어에 대 사용법을 익히는 것이 필요하다.
         시스템 설정이 가능 것은 아니기 때문에)
         하단에 표시 내용은 기본적은 용도만 표시하는 것을 목적으로 하며, 각기의 명령어는 파이프라인을
         || adduser || 시스템에 사용자를 추가다. ||
         || man || 다른 어떤 명령어 보다 중요 명령어, 각 명령어의 manual 메이지를 출력다. ||
         || nano || pico 에디터의 클론 버전으로 vi보다 간편 사용법 제공 ||
         || emacs || Richard, M. Stallman이 개발 editor ||
         || cd .. (또는 cd ../ 또는 cd /..) || 디렉토리 위로 가기 ||
         || ls -l x || 파일 x의 자세 상황을 보여줌, ||
         || chmod <permission> <filename> || 파일 권(permissions) 변경||
         symbolic link, hard link 에 관 내용은 구글링하면 됨''
         || gzip, gunzip || 특정파일은 gzip 형태의 파일로 압축다 ||
         || bzip || 인자로 주어진 파일을 bzip2 형태의 파일로 압축다 ||
         || du || 장치의 사용 공간 보여주기 ||
         || echo|| 어떤 것을 echo 화면에 인쇄다.||
         || finger ''{id}'' || 시스템에 존재하는 유저의 정보를 출력다 ||
         || pwd || 현재 리렉토리를 출력다. ||
         || who || 현재 접속중인 사용자를 표시다 ||
         || which || 인자로 주어진 명령어의 실 경로를 표시다. ||
         || reboot || 설명이 필요없는 명령어. -_-; 원격으로도 재부팅을 제공다. ||
  • VisualBasicClass/2006/Exam1 . . . . 26 matches
         1. 비주얼베이직에서 숫자를 표기하는 방법은 10진법, 8진법, 16진법으로 나뉘어진다. 이 중 10진법은 특별 표기(기호)없이 사용이 가능하다. 하지만 8진법과 16진법은 '?O'와 '?H'로 표기다. 이때 ?에 들어갈 기호는 무엇인가 (1점).
         2. 다음은 TextBox에 대 설명이다. 옳지 않은 것은?(1점)
         ① Alignment는 텍스트 박스 안의 문자열을 정렬다.
         ④ MultiLine은 컨트롤이 문의 여러 줄을 받아 들일 수 있는지 여부를 결정하게 된다. True는 줄을, False는 여러줄을 사용할 수 있다.
         리스트 박스는 여러개의 선택사항을 제공다. 이 때 리스트 박스 항목 선택은 값이 ? 일때선택 유형이 확장된 다중 선택으로 'Shift + 누름' 또는 'Shift + 화살표 키'를 사용할 수 있다.
         4. 비주얼 프로그래밍에 대 설명으로 가장 거리가 먼 것은?(1점)
         ④ 이벤트 중심의 프로그래밍 방식을 사용다.
         5. 비주얼 베이직의 기본적인 프로그램 작성 과정을 간략하게 나열 것이다. 올바른 순서를 쓰시오?(1점)
         A) 속성창을 통 오브젝트의 속성 지정
         6. 다음은 프로젝트에 새로운 컨드롤을 추가하는 방법을 나열 것이다 올바른 순서를 쓰시오 ?(1점)
         ㉠ 툴 박스에서 추가하고자 하는 툴을 클릭다.
         11. I 가 10으로 초기화되었다고 할 때 다음 중 단 번도 수행하지 않는것은?(1점)
         13. 서브프로그램과 함수에 관련된 설명 중 가장 부적절 것은?(1점)
         ① 지명 인수를 사용하여인수를 서브프로그램에 전달할 때는 반드시 파라미터의 순서대로 기술하여야 다.
         ② 인수들을 서브프로그램에 모두 다 전달하기 부적절 경우에는 Optional이란 키워드를 사용하면 효과적이다.
         ③ 함수는 수행 결과를 호출 프로그램에게 반하는데 입력 인수는 여러 개일 수 있으나 출력 인수는 오직 하나이다.
         ④ 일반적으로 함수 이름이 F_Name일 경우, 이 함수 내부에는 F_Name = 식 형태의 할당문이 있어야 다.
         ④ 어떤 시점에서 옵션버튼 그룹에서 옵션버튼만이 선택된다.
         15. 다음 프로그램에서 List1.Text의 역할에 대 설명으로 맞는 것은?(1점)
         MsgBox "선택 아이템은“ & List1.Text
  • ZeroPageServer/old . . . . 26 matches
         || [http://openlook.org/distfiles/PuTTY/putty.exe putty 글 입력 패치 적용] || 출처[http://fallin.lv/zope/pub/noriteo/putty 장혜식님의 홈] ||
         |||| 서버에 관련 내용 ||
         || [ZeroPageServer/UpdateUpgrade] || 서버 관리자가 일주일에 번씩 맘편히 해줄것 ||
          * 서버 처리시 문의 사항을 ["FeedBack"]을 여기에 하십시오. 어떠 불만사항 잡담도 좋습니다. 저는 기다리는 서비스지 찾아가는 서비스가 아닙니다. 서버 관련 처리 정도는 ["ZeroPageServer/set2002_815"]의 To Do List에서 확인 가능합니다. --["상민"]
          * 서버에서 글 입력이 안됩니다. 위키를 통 입력은 되지만, 직접 ssh로 로긴 해서 vim을 통 글입력은 안되는 군요. 대체 왜그런 걸 까요. -zennith
          * ssh 클라이언트일 가능성이 큽니다. 작년 11월에 글 패치 버전의 putty 가 나왔는데 이것들로도 테스트 해보세요. 저는 잘 쓰고 있습니다. --NeoCoin
          DNS 는 로컬 컴퓨터에 설치를 할 수 있고 동작은 하겠는데 교내의 어떤 규율(?)상 안되는 걸로 알고 있습니다. 아마도 네트웍 관리자에게 문의를 해봐야 할듯... 전에 비슷 문제가 있었는데 유야무야 그냥 이대로 흘러온 것 같습니다. 학교 도메인을 갖지 않으면서 교내에서 운영되는 대표적인 서버로 동문서버일텐데... 이 경우는 어떻게 처리하는지 참고해 보는 것이 좋을 것 같군요. --[Passion]
          지금 ZP 서버의 linux가 옛날 버젼이라면 설치된 bind 는 보안 문제가 발생 것일지도 모르겠습니다. 현재 Solaris가 설치된 회사 서버를 3년간 방치해 두었는데 얼마전에 들어가보니 해커들의 놀이터가 되었더군요. 백도어 및 Rootkit 들이 난무했었다는.... 아마도 문제가 보안 문제가 있었던 OpenSSH 또는 Bind의 문제였던것 같습니다. '''Bind 는 보안에 문제가 없는 최신 버젼으로 업데이트''' 하는 것이 좋겠습니다. 혹시 요즘 서버 관리가 시원찮았다면 [http://www.rkhunter.org/ rkhunter]를 다운 받아서 시스템을 점검보는 것을 추천합니다. --[Passion]
          배포판은 데비안(아마 사지)이구요. 바인드는 아직 설치되어 있지 않아요. 설치다면 최신걸로 설치할거에요. 그리고 1주일마다 업데이트도 하고 있으니깐 버젼이 낮아서 해킹당하는일은 없을거에요 --[곽세환]
          * (V) 글 로케일 설정
          - 몇차례의 업그레이드를 거치면서 터미널의 로케일이 기본값이 바뀌어 있었다. DebianKr:글설정문서
          * 이유는 2.2의 dospath 모듈 이름이 2.3에서 ntpath 로 완전히 변경되었기 때문이다. 예상치 못 부분에서 에러가 발생하였는데, 조금더 작은 발걸음이 필요했다.
          * 헉 cvs pserver 가 언인스톨 되어 있었다. 업그레이드 이후 어마어마 상황인데, squid 도 지워져 있나?
          * [http://www.robotstxt.org/wc/exclusion.html robot]규약 으로 엠파스의 침입을 막아야 다. HowToBlockEmpas
          * man과 동일 역할의 info 를 설치해 두었습니다. 사용해 보세요.
          * 현재 http://zeropage.org/pds 안의 내용이 그냥 열랍할수 있게 되어있네요. 디렉토리명이 대부분 이해할수 없는 숫자(=아마도 자료가 올라온 시간)일텐데 자료에 대 설명은 아직 DB에 남아있나요? - [임인택]
          - 10년이 넘은 역사를 가지고 있는 학회입니다. 정식 학회는 아니지만, 제로페이지가 지금까지 컴퓨터공학과를 위해 어떠 일을 해왔는지, 앞으로 컴퓨터공학과에 어떤 기여를 할 수 있는지 등에 대해서 교수님께 잘 말씀드리는 것이 좋을것 같습니다. - [임인택]
          - 학생회장으로부터 연락받았는데 이번주 목요일에 옮긴다고 하시네. 키보드는 학과에서 준다고 하심. 특별히 문제가 없는 이곳에 계속 두고 써도될듯.- [임인택]
          * 계정에서 [python] [cgi] 를 돌리고 싶은데, [ZeroPageServer/FAQ] 에 나온대로 ~beonit/public_html/cgi-bin/hello.cgi 로 접근해보아도 잘 안되네요. chmod +x hello.cgi 로 권설정도 했습니다. 어떻게 해야 하죠?? CGI 권을 따로 받아야 다는 이야기도 있던데... 흠...-_- - 이승
  • i++VS++i . . . . 26 matches
         C/C++ 에서 ++i 와 i++ 의 성능 차이에 대 비교
          * 사용 컴파일러 : Microsoft 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 (Microsoft Visual C++ 6.0 에 Service Pack 5 를 설치했을때의 컴파일러)
          * 비교 C/C++ 소스
          i++; // 이렇게 하면 차이가 당연히 없지 않을까요? 이럴때는 선행이든 후행이든 증가뒤에 printf에서 그 변수를 사용했으니..
          * 비교 C/C++ 소스
          * 비교 C/C++ 소스
          // 컴파일러는 내부적으로 operator++(0)을 호출다.
          ++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++를 쓰면 다음과 같이 두줄이 줄로 주는 경우가 있기 때문이다.
         현재 자료를 찍고, 다음 자료로 카운팅을 하려 다.
         가 이렇게 줄로 주는 후위 연산자의 '''기능'''을 이용할때 쓰자.
  • 레밍즈프로젝트/연락 . . . . 26 matches
         박진하야-_- 내 핸드폰 없어진지 얼마나 오래 됐는데아직도 전화받아라냐-_- - 이승
         GIF 에니메이션 관련 코드를 구했는데...-_- 너무 길다ㅋ 헤더간 7kb 구현 코드만 32kb;;
         [찌나] 당췌 감이 안잡히삼-_- Map 이랑 Pixel 제작; 이럼 뜬금없이 뭐 부터 하란 소린지ㅠ 이승아- 어찌해야돼?-_-
         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를 다차원으로 쓰기엔 까다로운 부분이 많거든...)
         2. 픽셀의 기능 : Pixel 인터페이스는 draw라는 순수 가상 함수를 가지고 있어 그리고 전달인자로 CMyDouBuffDC*를 받게 되지. 그리고 SetPixel(int x, int y)따위를 통해서 윈도우에 그림을 그리게 되지 (이부분은 [레밍즈프로젝트/프로토타입/SetBit]참조)을 통해서 배경에 대 픽셀을 뿌리게 되는거지.
         3. 화면에 보여지는 픽셀은 개의 pixel 객체가 될 것이삼 이삼-_- 만약 너무 작다면 연락 주시오-_- rectangle로 바꿔야 할지도 모르니까-_-
         4. 그 이외에 픽셀에 들어가게 될 정보는. 뚫을 수 있는지 없는지, 레밍이 죽게되는 곳인지, 들어가게 되는 곳인지 등에 대 데이터야-_- 레밍이 이 픽셀에 왔을 때 또는 다음 위치로서 이 픽셀을 검토하고 있을때 어떻게 해야 하는지에 대해서 생각다면 접근이 될거야.
         - 이승
         니말 들으니 좀 낫긴
         그리고 3시부터 쯤은 차기 부장 물밑작업?도 해야해서 ㅎ
         뭐 조금 버그가 남아 있어서 좀 고치긴 해야겠지만-_-ㅋ 아무튼 에니메이션 처리는 테스트 까지 거의 끝낸 상태~ 기대하시라~ 개봉 박두!! 오늘 저녁에 엠에센에 있으면 에니메이션을 볼 수 있을게다~ 으하하하하 -_-// - 이승
         이승 짱 - 유루
         7피에 괜히 오래 남은건 아닌듯-_-오늘 석천이형 테 이것 저것 물어보고 이야기 해 보았어.
         1. 먼저 윈도 구성부분. 버튼, 게임화면(기능상 미니맵도 포함), 이 부분들... CWnd 를 상속해서 커스텀 하면 구현 할 수 있을거래-_- 아마 그 부분 프로토타입을 작성해 보아야 할듯 싶어. 석천이형이 시간이 허락된다면 게시판에 자료들을 올려 주신다고 하셨는데... 시간이 되실지...흠... (게임화면부분, 버튼부분..)(주호 너가 하던 방식이 거의 맞는듯 싶어. 난 CWnd나 그 부분에 대해서 자료조사도 안하고 테스트도 안해봐서 뭐라고 할 처지가 못돼;; 그런데도 괜히 참견것 같아서 좀 미안하네;; 쏘리;;)
         승아 니말 졸래어려워서 못알아듣겠어 ㅋㅋ
         클래스 구조 짜는거 같이 모여서 해야 할 것 같기도해;; 너무 어려워;; 그리고 위의 코드는 당연히 에러가 나는거야;; Pixel 녀석을 CArray에 쳐 넣으삼 - 이승
          - 네이버 찾으삼-_-ㅋ -승
         이걸로다 - 유루
         이젠 무반복까지 다 옘병 - 찌나님V-_-V
  • 새싹교실/2011/Pixar/3월 . . . . 26 matches
         == 공부 것 ==
          * 사실 printf가 어떻게 내용을 출력해주는지는 똑똑 아저씨들이 stdio.h에 미리 써놓았어요. 우리는 #include <stdio.h>라는 코드를 써서 저 파일을 컴퓨터가 읽어볼 수 있도록 알려주기만 하면 됩니다.
          * 그런데 이상 점이 있죠?
          * 3+4가 뭐죠? 컴퓨터에게 번 물어볼까요?
          * 그런데 위 코드는 3+4의 값이 뭔지 확인해보기 위해 너무 복잡 일들을 해요. 3+4가 7인 것을 왜 굳이 출력해야하죠?
          * 이렇게 하면 컴퓨터에게 ''3+4는 8이라고!!!'' 주장하는 것과 같습니다. 만약 누가 갑자기 저런 말을 다면 아주 어처구니가 없겠죠? 컴퓨터도 저런 주장은 어이없게 생각하기때문에 말도 안 되는 주장을 할 경우 에러를 발생시킵니다.
          * 아, 그리고 assert도 함수같은 것인데 assert가 무슨 일을 하는지는 똑똑 아저씨들이 assert.h에 써두었습니다. 우리는 그냥 #include <assert.h>를 적어 저 파일을 컴퓨터가 읽어볼 수 있게 알려주기만 하면 됩니다. printf를 쓸때처럼요!
          * == 연산자에 대해서는 연산자를 공부할 때 더 자세히 설명하겠습니다. 지금은 '같다'를 의미다고만 알아두세요.
          * 1주차에는 수업시간에 했던 간단 Hello World랑 간단 연산과 assert함수에대해서 배우고 응용해 보았다. 수업시간에했던 C공부에 생겼던 의문들을 자세하게 다 알 수 있어서 좋았다. C가 참막막해보였는데 새싹교실 첫시간에 희망이생겼다. 다음시간에도 많이 배우고 갔으면 좋겠다. - [김연석]
         == 공부 것 ==
          * 아이스브레이크를 너무 오래것같아서 조금 아쉬웠어요ㅠㅠ. 복습하고 수업하고 그러는거 정말 괜찮았는데 1시간밖에안해서 아쉬웠어요ㅠㅠ. 정말 교수님테 듣는 수업에 비해서 엄청 쉬우셔서 쉽고 재밌게 배우고 있어요 ㅎ_ㅎ. int하고 char, 정수,변수 그거를 제가 다 까먹어서 다시 번 집에서 번 해봐야댈것같아요 ㅠㅠ. 앞으로도 이렇게만 배웠으면 좋겠어욬ㅋㅋㅋ. 누나감자칩먹고싶어요 크크. -김연석-
          * 아이스브레이킹을 제가 참여하며 진행하다보니 시간 제을 못 해서 너무 많은 시간을 썼습니다. 다음부터는 시간을 많이 쓰지 않는 아이스 브레이킹을 해야겠어요. 5피에서 진행했는데 컴퓨터가 너무 안 좋아 문제네요. 다음번엔 다른 곳에서 진행하겠습니다. - [김수경]
         == 공부 것 ==
          * 저번주에 시간 빠져서 저는 오늘 두번째 새싹교실 수업이었어요. 오늘은 연산자에 대해서 배웠는데 번 배워서는 다 외우기는 힘들꺼 같았어요. 벌써 다외울 필요는 없고 계속 쓰다보면 외워질거라는 말씀에 그래도 맘이 놓였어요. 그리고 오늘 새로운 애가 명 들어왔는데 걔는 분위기를 망치는거 같아요. - 광운 -
          * 새싹교실을 처음들었는데 대학생활 달만에 제대로 된 수업을 들은 느낌입니다. 오늘 많은 것을 배운 것 같습니다. 2시간동안 수업들었는데 딱히 수업이 긴거 같진 않았고요 재밌었어요 printf랑 assert 도 처음 배웠고 C언어 시간에 하나도 알아듣지 못 것을 여기서 많이 배우고 가네요 앞으로 복습도하고 예습?은 쫌힘들어도 복습은 철저히 해서 C언어를 잘하고싶어요~~~~~~-오상준-
          * 세번째 c프로그래밍수업 새싹교실을 했습니다. 연산자에 대해서 배웠습니다. 연산자는 사칙연산이랑 나머지를 구하는거등이 있었고, assert를 이용해서 확인해보면서 & 나 | 등 배우고 printf에 대해서도 배웠어요 내일은 수업이 없다고 하니 오늘 것을 복습을 열심히 하겠습니다~! 점점 잘할수 있을거같다는 마음이 드네요 . -이승열-
          * 휴강은 아닌듯? 전날로 땡겨서 가잖아 ㅋㅋ - [서지혜]
  • 정모/2005.2.16 . . . . 26 matches
         준비가 덜되 수요일로 연기하였습니다. -[이승]
         총 6개의 로고작품. 2개의 캐릭터 작품이 접수되었으며. 최종적으로 로고는 [강희경]의 다양성과, 미완결성을 표현 ZP의 형상화된 도트이미지가 선정되었으며, 캐릭터는 보완작업후 추후협의 로 이야기를 마쳤습니다.
         회의 기록에 대 [Leonardong]의 충고.
          * 3월 2일 입학식에서의 ZP소개. [이승]의 대략 준비.
          * 다음 정모 : 다음정모는 7일로 결정. 3월은 행사로 바쁘니 행사 없는날 모이자. 3월행사는 2,4,10,15,17,21(MT자봉첫회의),25(여학우모임)이 짜여져있다고 다. 7일로 결정. 입학식 ZP소개 전에 시간표를 보고 시간을 맞추어본다. 대략 저녁늦게 잡힐듯.
          * 지금그때 : 행사준비는 [이승], [강희경], [Leonardong]이 다.
          겨울방학 마지막 정모였다. 분위기 마무리를 위 간단 후기가 있었다.
          * java : 위키도 있었찌만 확실 교재가 필요했었다. 아는 내용의 단순반복으로 분위기 조금 늘어졌음. 저조 참여율. 닥달을 해서 높은 참여율을 이끌어 냈어야 했다. 조금 질질끌렸지만 그래도 얻은게 없는것은 아니었다.
          * [AOI] : 용두사미(1월 말이후부터 와해), 풀이를 위 모임이 적었음, 매일보는 3명이서 또 풀이모임을 하기는 조금 힘들었다. 난이도 조절실패. 토론이 부족했었다. 모임부족. 학기중이라면 아침에라도 모여서 이야기 문제에 대해이야기 할수 있지 않았을까?? 사전지식의 부족.
          * xpweek : 과정은 좋았다. 결과가 없었다. 시간이 지켜지지 않았다. 제작물 난이도가 높았다. 성만曰, "xp에 적절치 못 주제였다" ↔ 휘동曰, "xp 반대론자가 흔히하는 말이다" java언어의 장벽, 완성에 근접하지 않았나?? 8시간 연속코딩에 익숙치 않았다. 휘동曰, "안맞는 건 빼고 필요 것만 넣어야 다는 것을 배웠다."
         그후 다음 회의는 어디서, 어떻게 진행을 할것 인가에 대 간단 이야기가 있었다.
         [이승]의 1:1 수다형 회의 답게 결론이 잘 나오지는 않는다. 중간에 끊어 먹고 다음 주제로 넘어가는 경우가 허다하다. 지금은 적은인원이 간단하게 회의를 진행하기 때문에 쉽게 이루어 질지 모르지만 3월말 신입회원 모집에서는 어떻게 될까??
         정모날짜에 대 공지가 없어서 무슨일인가 했다.
         회의록 기록을위 사진기 준비가 조금 느렸다.
         여섯색깔모자를 이용 회의
         zp소갯말 기록을 위 간단 이야기
         1학기 프로젝트 구성위 이야기
         지금그때는 외부에서도 행사 준비할 사람들을 받아보는건 어떨까요?? 지금그때 행사 준비를 하고 싶어하는 사람도 있지 않을까요?? - [이승]
         이번정모에 찍은 회의록 사진이 보고 싶으신 분은 메일로 연락주세요. 보내드리겠습니다. - [이승]
  • 졸업논문/본론 . . . . 26 matches
         관계형 데이터베이스는 관계형 모델에 따라 논리적으로 연관이 있는 데이터를 모아놓은 것이다. 관계란 n-tuple이 줄 씩 배열된 것으로, 줄이 배열된 순서는 관계없고, 모든 줄은 구별할 수 있어야 다.[11] 데이터베이스 관리 시스템(DBMS)는 데이터베이스를 구성, 변경, 조회하는 프로그램을 모아 놓은 것이다.[12] 현재까지 관계형 DBMS가 많이 쓰이고 있는데, 이는 관계를 테이블로 나타내고 키를 이용해 정보를 연결하는 특징을 가진다.[11] SQL은 관계형 데이터베이스의 데이터를 생성,조회,변경하는 언어로 ANSI/ISO표준이다.[13] SQL을 이용하면 데이터베이스 테이블 생성에서부터 데이터 추가, 삭제, 변경, 조회는 물론이고 여러 건에 대 트랜잭션처리까지 가능하다.
         웹 애플리케이션 개발자가 가장 많이 쓰는 기능은 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의 설계 철학은 마디로 DRY(Don't Repeat Yourself)이다. 확연히 구분할 수있는 데이터는 분리하고, 그렇지 않은 경우 중복을 줄이고 일반화다. 데이터 뿐 아니라 개발에 있어서도 웹 프로그래밍 전반부와 후반부를 두 번 작업하지 않는다. 즉 웹 애플리케이션 개발자는 SQL을 사용하는 방식이 도메인 언어에 제공하는 프레임워크에 숨어 보이지 않기 때문에 프로그램을 동적으로 쉽게 바뀔 수록 빠르게 개발할 수 있다. 또 후반부 데이터 모델이 바뀌면 프레임워크에서 전반부에 사용자에게 보이는 부분을 자동으로 바꾸어준다. 이러 설계 철학을 바탕으로 기민하게 웹 애플리케이션을 개발할 수 있다.
         기본적으로 지원 되는 레코드 삽입, 삭제, 변경은 자동으로 사용자 화면까지 만들어주는 장점을 가진다. 대부분 웹 애플리케이션이 레코드를 건씩 입력하는 인터페이스를 가지기 때문에, 개발 전반부에 걸친 데이터 삽입, 삭제, 변경을 자동화할수 있기 때문이다. 특히 삽입, 변경은 저장이란 단일 개념으로 보고 save메소드로 추상화하였다. 또 삭제는 관련된 레코드를 함께 지워주는 기능까지 제공다. 이러 기능은 Model클래스에 정의된 데이터 타입에 따라 자동으로 이루어진다. 따라서 삽입, 삭제, 변경 SQL문을 실행하는 인터페이스에 많은 노력을 기울이지 않고 기민하게 전체 시스템을 설계함에 집중할 수 있다.
         레코드를 검색할 때는 기본적으로 간단 질의를 처리할 수 있는 함수들을 제공다. 앞서 살펴본 바와 같이 직접 관계를 가지는 테이블 사이에 조인 연산은 Model클래스의 메소드를 이용해서 추상화되어 있다. 하지만 그 밖인 경우에는 직접 SQL문을 작성하여 데이터를 얻어와야 하기 때문에 django를 사용하더라도 큰 이점이 없다. 또 추상화된 Model클래스의 메소드는 기본적으로 모든 레코드 속성을 읽어오기 때문에 시간, 공간 측면에서 비효율적일 수 있다. 마지막으로 SQL의 aggregate function등을 대부분 추상화하지 않았기 때문에, 이 역시 SQL문을 작성해야 하는 번거로움이 있다.
         다행히 django에서는 CLI와 마찬가지로 직접 SQL문장을 수행할 수 있는 인터페이스를 제공다. 또 도메인 언어인 python을 이용하면 CLI를 이용해 데이터베이스와 연동할 수도 있다. 종합적으로 기능적으로 지원이 불가능 면은 없지만, 검색 측면에서 좀더 많은 추상화가 필요하다고 평가할 수 있다.
  • CVS/길동씨의CVS사용기ForLocal . . . . 25 matches
         Local에서 간단히 CVS를 사용하는 과정에 대 Tutorial
         홍길동 씨는 이번에는 Java로 Hello Java를 작성하려고 다. 간단 소스지만 CVS에 넣어 볼겸 번 만들어 본다.
         이 프로젝트는 여러명이 할 것이 아니라서, 혼자서 자신의 컴퓨터에서 하려고 다.
         CVS를 개인적으로 사용할려면 두가지 방법이 있다. 하나는, 자신의 컴퓨터에 http://www.cvsnt.org/ 와 같은 서버툴을 설치하여 외부에서도 접근하는 것이고, 구지 서버를 돌리지 않고 cvs를 local에 저장소의 기능만을 이용하는 방법이 있다. 길동씨는 자신의 컴퓨터에서 간단 저장소의 경험을 해보고 싶어서, local로 시도다.
         먼저 세팅을 위 파일을 작성다. 이 세팅이 없다면
         cvs_SetForLocal.bat 내용 (글부분은 채워넣어 주세요.)
          도움말 : local은 remote에 접근하는 것과 달리 로그인을 하지 않는 것을 전제 다. 아무옵션도 붙이지 않고, 자신이 사용할 장소만을 지정다.
          도움말 : CVSROOT 에 설정된 대로 CVS 세팅을 다.
         cvs -d c:CVSLocal init // -d 태그를 설정안하면 환경변수 CVSROOT의 값을 가져와 쓴다. 모든 cvs사용에 해당다.
         프로젝트 진행 폴더를 만들고, 프로젝트를 서버에 등록다.
          도움말 : 모듈(프로젝트와 동일 이하 모듈로 용어 통일)을 로컬의 저장소에 등록다. 만약 내부에 소스같은 자원이 있다면 같이 등록된다.
         서버에 등록된 프로젝트를 받아온다. 이제 어디에서나 checkout을 하면 프로젝트를 받아 올수 있다. 프로젝트 전체를 가지고 오는 개념이라서 상위 디렉토리에서 수행다.
         (프로젝트 폴더 내부에 CVS가 생겼으면 성공 것이다.)
          도움말 : 지정하는 프로젝트(모듈) 전체를 받아 온다. local에 처음 프로젝트를 받아 올때 사용다.
         C:UserHelloJava>cvs commit -m "Hello Java를 출력다." HelloJava.java
          도움말 : add 서버에 추가되는 자원을 등록다. commit 서버에 변경사항을 반영시킨다.
         홍길동씨는 이렇게 프로그램을 C:CVSLocal 에 저장하고는 곧 잊어 버린다. 그러다 몇일뒤 아차 하며 다시 소스를 oop적으로 고칠려고 시도하였다. 그냥 출력하는 사람에게 일침을 가하는 글을 마소에서 본적이 있으리라. 그래서 객체 지향(?) 적으로 작성하려고 다.
         위와 동일 cvs_SetForLocal.bat 을 실행 하고, 그냥 checkout을 다. 시작 디렉토리는 c:user> 로 가정하였다.
          도움말 : commit 서버에 변경된 자원을 반영다.
  • Emacs . . . . 25 matches
          * 평소에 너무 IDE에 의존다는 생각이 들어서 범용적인 TextEditor를 사용해보자는 결심을 하고 쓰는데 어려웠던 사항을 기록하려고 합니다.
          * emacs 를 오랫동안 써온 입장에서 IDE 정도는 의존해도 됩니다. OS 의존을 벗어나는게 더 중요것 같습니다.
          * 최소 mac 가능 ubuntu 에서 사용하는게 정신건강에 좋습니다. ecb, cedet 등을 커맨드 번에 설치 하느냐, 여러번 거쳐서 설치하느냐는 하늘과 땅 차이입니다. ~~윈도우는 개발자의 OS 가 아닙니다~~
         Python을 Emacs에서 쓰려니까 환경변수 설정하는데 번 삽질하고 경로 잡아주는데 또 삽질 했습니다.
         경로 잡아주기는 순전히 주변지식이 부족 탓이었습니다. 파이선 폴더가 윈도우 환경변수인 PATH에 등록되지 않아서 그랬습니다. 이 역시 제어판->시스템->고급->환경변수 안에서 수정할 수 있습니다.
          * 주로 Emacs Wiki에서 받은 파일들이나 다양 .el 파일들을 넣는 데 사용합니다.
         == emacs의 유용 확장 기능 ==
          * Emacs의 확장 기능은 .el(Emacs Lisp 확장자) 파일을 읽어오는 방법으로 이루어진다. 따라서 .el 파일만 있으면 확장 기능을 사용할 수 있는데, ELPA 이전까지는 통일된 .el 파일의 배포 방법이 없었기 때문에 기능을 추가하려면 직접 파일을 (EmacsWiki나 github이나 다양 방식으로) 다운받아야 하는 불편함을 감수해야 했다. ELPA는 이러 흩어진 파일(= 확장 기능)들을 통합해서 받을 수 있는 기능을 제공하고 있다.
          * [https://github.com/technomancy/package.el/blob/master/package.el package.el]을 컴퓨터에 저장다. 저장 위치는 아무 곳이나 상관 없지만 되도록이면 HOME 디렉토리에 .emacs.d 디렉토리를 만들어서 그 안에 넣어 주도록 하자.
          * 강제 삭제 : d -> e(혹은 x)로 해당 패키지를 지울 수 있긴 데 제대로 지워지지 않는 경우가 좀 있다(...). 그럴 경우는 해당 파일이 ELPA의 폴더 안에 들어가 있기 때문에 ~/.emacs.d/elpa에 들어가서 해당 패키지의 폴더를 지워버리면 된다. 그 후 Emacs를 다시 기동해서 M-x package-list-packages를 보면 해당 패키지가 설치 항목에서 지워진 것을 볼 수 있을 것이다.
          4. emacs 설정 파일인 .emacs 혹은 init.el 파일에 설치 cedet을 로드하기위 elisp코드를 다음과 같이 써준다.
         참고#3. lisp 코드의 (setq byte-compile-warning nil)은 이 코드 바로 위의 주석에 해당하는 오류가 발생하여서 해결책으로 작성 코드이다. 혹시 이 코드로 인해 다른 오류가 발생하거나 다면, 이를 지우거나 구글링을 통해 다른 방법을 찿길 바란다.ㅠㅜ
          1. ecb 설치전에 우선 cedet설치가 우선되어야다. cedet은 이 글을 쓴 시점에 1.1 대의 버젼이 최신 버젼이다. cedet설치는 cedet을 설명해둔 부분에서 참조하길 바란다. (참고로 emacs 23부터는 내부적으로 CEDET이 설치되어있다.)
          2. 현제 emacs의 최신버젼은 24.*대이다. 그리고 이 버젼대의 emacs는 내부적으로 cedet이 설치되어있다고 다. 이 cedet의 버젼과 ecb의 버젼 사이에 버그때문에 ecb 환경설정을 하려하면 어려움이 많다. 열심히 삽질해서 알아본 결과 어떤 외국 신사분이 버그 fix후 report하기전에 반영이 늦을것같기에 미리 github에 올려두신 수정 버전이 있다.([https://github.com/alexott/ecb/]) 여기에서 ecb의 압축파일을 받는 것부터 시작을 다.
         소스파일의 tabbar를 쓰기위 플러그인이다.
         emacs 설정파일이 있는 디렉토리에 소스를 복사해서 tabbar.el이라고 소스파일을 만들어 저장다.
         커서가 위치 줄의 색을 달리하여 지금 작업하는 부분을 뚜렷히 보여주는 플러그인이다.
         emacs 설정파일이 있는 디렉토리에 소스를 복사해서 highline.el이라고 소스파일을 만들어 저장다.
         == 참고할 만 곳 ==
         [http://emacs.kldp.org/wiki/doku.php?id=#emacs-kr Emacs 국 사용자 위키]
  • EmbeddedSystemClass . . . . 25 matches
         휴인스 테크의 교육용 보드를 이용 실습을 다.
         임베디드 환경에서의 GUI 툴킷(Qt-embedded)를 이용 프로그램. 디바이스 드라이버 프로그래밍을 실습다.
         패키지 묶음 설치에서 '''Standard Package''' 만을 선택다. (x-windows, gnome 은 차후 필요 부분만을 설치다.)
         실습에서 사용하는 리눅스는 레드햇 9.0으로 상당히 오래된 버전을 이용다.
         툴체인을 구성하면서 필요 과정을 설명다.
         '''다음의 명량어를 순서대로 실행해서 관련된 패키지를 설치다.'''
         // 일단 최신 커널(+동일 버전의 커널 헤더)을 설치다.
         // vmware tools 인스톨에 필요 gcc 를 업로드다.
         // gcc 는 커널의 컴파일에 필요 버전을 설치해야하며 which gcc 를 이용해 현재
         // 실행되는 버전과 커널 컴파일에 필요 버전이 동일 버전인지 확인 후 버전을 맞추어 줘야다.
         // tftp 터널링에 필요 inetd 설치, tftpd 설치
         // nfs 마운트 환경 구축을 위 nfs 서버, 클라이언트 설치
         // nfs export 설정, 자세 사항은 man exports 페이지 참조
         // 필요할 경우 다음의 명령어를 통해서 x-window, gnome 을 설치다.
         // 설치후 입력기로 SCIM 을 등록다.
         우선 상기 패키지를 설치 후 다음과 같은 진행을 해야다.
  • HelpOnInstallation . . . . 25 matches
         `rcs`가 설치되었는지 확인다. {{{/usr/bin/rlog /usr/bin/ci /usr/bin/co}}}등등의 실행파일이 있어야 다. {{{/usr/bin/merge}}}도 필요하다. PHP gettext 모듈이 필요하다. See also MoniWikiRcs
          * 윈도우즈 사용자의 경우는 아파치 웹서버를 제외 PHP + rcs + 기타 몇몇 프로그램이 함께 패키징 된 apmoni-setup-1.1.x.exe를 제공합니다.
         == 압축을 적절 곳에 푼다 ==
         == monisetup.sh를 실행다 ==
         monisetup.sh를 실행하여 디렉토리의 쓰기권을 조정다. (기본값은 2777) 이렇게 하여야 MoniSetup.php를 실행시킬 수 있게 된다.
         여기서 가장 중요 것은 {{{$url_prefix}}}를 고치는 것이다. 이 값은 초기에 자동으로 설정되며,
          1. 다시 monisetup.php를 열면 필요 몇몇 디렉토리가 만들어진다.
          1. MoniWiki를 처음 설치할 경우는 WikiSeed를 심을것인지를 선택다.
          씨앗을 심는 경우는 불필요 페이지가 들어갈 수 있는데, 어느정도 익숙해졌다고 생각되면 지워도 되며, 아예 처음부터 설치하지 않아도 된다.[[BR]]
          그러나 초보사용자라면 SystemPages는 반드시 설치하는 것을 권장다.
         == secure.sh를 실행다 ==
         {{{secure.sh}}}를 실행해서 다른 사람들이 자신의 Wiki 설정을 볼 수 없게,고칠 수 없게 다.
         모니위키 설치가 끝났지만 사용자의 입맛에 맞게 설정하고자 다면 다음을 참고하세요.
          * MoniWikiOptions 모니위키의 다양 옵션을 조정다.
          2. {{{$rcs_user}}}의 기본 값은 "root"이나, 위키를 처음 설치할 경우는 이 값을 조절할 수 있다. 번 결정 후에는 이 값을 계속해서 써야다.
          * 윈도우즈에서 설치할 때에 이 값이 바뀔 수 있다. 업그레이드를 하여 데이타를 옮겼을 경우에 이 값을 계속 유지하도록 해주어야 다.
          * /!\ {{{$rcs_user}}} 값이 변경되면 버전관리를 쓸 수 없으므로 유의해야 다.
         특별 경우가 아니라면, 덮어쓰는 것만으로 업그레이드 할 수 있다. 원 파일을 수정하였을 경우라면 덮어쓰는 것을 선택적으로 해주어야 할 것이다.
          * backup : {{{?action=backup}}}해 보라. 백업은 data 디렉토리의 user와 text를 및 기타 몇몇 설정을 보존다. pds/ 디렉토리를 보존하지는 않는다. 백업된 파일은 pds/ (혹은 $upload_dir로 정의된 위치) 하위에 저장된다.
          * restore : {{{?action=restore}}}다. 백업된 tar 파일 목록이 나오고 tar 파일을 선택하면 관리 비번을 물어본다.
  • ProgrammingWithInterface . . . . 25 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 메소드를 사용할 수 있어야 다. 그런데 예외를 던지다니 말이 되는가?
         깔끔 코드가 나왔다. 하지만 MonitorableStack은 pushMany 함수를 상속다. MonitorableStack을 사용해 pushMany 함수를 호출하면 MonitorableStack의 입력 받은 articles의 articles.length 만큼 push가 호출된다. 하지만 지금 호출된 push 메소드는 MonitorableStack의 것이라는 점! 매번 size() 함수를 호출해 최대 크기를 갱신다. 속도가 느려질 수도 있다. 그리고 만약 누군가 Stack의 코드를 보고 pushMany 함수의 비 효율성 때문에 Stack을 밑의 코드와 같이 수정했다면 어떻게 될 것인가???
         와!~ 예전의 Stack보다 성능은 확실히 좋아 졌을 것이다. 그런데 문제가 발생했다. 더이상 pushMany 메소드에서 push 메소드를 호출하지 않는다. 이렇게 되면 MonitorableStack은 더이상 Stack의 최대 크기를 추적하지 못하게 된다. 예기치 않은 결과이다. 상속을 사용 구현으로 발생 문제이다. 여기까지 글을 (책의 내용) 읽었다면, 아마 '상속을 사용하기 전에 번 더 생각하는게 좋겠다' 라는 생각을 가슴 깊이 느꼈을 것이다. 아니면 별수 없는 일이다... :(
         완성된 코드에서는 상속으로 인 문제들이 발생하지 않는다.
  • SeminarHowToProgramItAfterwords . . . . 25 matches
         SeminarHowToProgramIt에 대 감상, 후기, 각종 질답, 논의, ThreeFs.
          ''그래서 PP나 XP의 과정을 Jazz에 비유하곤 합니다. 그리고 번 유의어사전을 프로그래밍시 일주일간만 사용해 보세요. 그리고 거기서 무엇을 더 배웠는지 이야기해보면 참 좋겠네요. --김창준''
          * [재동]:여러 사람과 처음으로 프로그래밍을 같이 하면서 커뮤니케이션이 얼마나 중요 지를 확실히 알았습니다. 이제부터는 '말 많은' 프로그래머가 되어야 겠습니다 ^^ 오늘 세미나 정말 수고하셨습니다
          * ["neocoin"] : UnitTest에서 추구 프로그램의 설계에서 Divide해 나가는 과정은 여태 거의 디자인 타임에서 거의 수행을 했습니다. 그래서 여태 Test를 위 코드들과 디버그용 코드들을 프로그램을 작성할때마다 그런 디자인에도 많은 시간을 소요했는데, 아예 프로그램의 출발을 Test에서 시작다는 발상의 전환이 인상 깊었습니다. --상민
          * ["1002"] : 어제 Test Code : Product Code 간 중복 (return 0 !) 을 OAOO로 풀어서 Refactoring 을 해야 할 상황으로 규정짓는다는 말이 뒤통수를 대 때리는 기분이였습니다;;
          * TDD를 어설프게나마 시도하면서 느낀점이 'TDD 에서의 Product Code 는 오직 테스트 까지만 만족하는 코드인가' 였었는데. 편으로는 이렇게 해석할 수 있겠더군요. '해당 스케일에 대해 더욱더 정확하게 작동하는 프로그램을 만들고 싶다면 그만큼 테스트 코드 양을 늘려라.' 테스트코드 자체가 일종의 Quality Assurance 를 위 도큐먼트 역할도 된다는 점을 다시 생각하게 되었습니다.
          * '테스트코드의 보폭을 조절하라. 상황에 따라 성큼성큼 보폭을 늘릴수도 있지만, 상황에 따라서는 보폭을 좁혀야 다. 처음 TDD를 하는 사람은 보폭을 좁혀서 걸어가기가 오히려 더 힘들다' wiki:Wiki:DoTheSimplestThingThatCouldPossiblyWork. 이것이 훈련이 아직 덜된, TDD를 하는 사람에게는 얼마나 힘든지는 이번 RDP 짜면서 느꼈었는데. 열심히 훈련하겠습니다.
          * 아까 발표때에도 이야기했지만, Code Review 를 위 reverse-TDD (정도로 해둘까요? 이것도 관련 문서가 있을텐데. ) 를 해보는 것도 좋을 것 같네요. 코드 분석을 위 test-code 작성이요. 즉, 이미 만들어져있는 코드를 테스트 코드라고 상정하고, 자신이 제대로 이해했는가에 대 검증과정을 Test-Code 로 만드는 것이죠. 시간 있었으면 오늘 마저 시도해봤을텐데, 시간에 마음 쫓긴게 아쉽네요.
          * ["Refactoring"] 책에서는 ''Refactor As You Do Code Review'' 에 Code Review 를 위 Refactoring을 이야기 하는데, Refactoring 을 위해서는 기본적으로 Test Code 가 필요하다고 할때 여기에 Test Code를 붙일테니까 상통하는 면이 있긴 하겠군요.
          * 흥미로운 것은 시끄러운 프로그래밍이였다는 것이였습니다. 혼자서 하는 프로그래밍(PairProgramming을 알고나니 새로운 개념이 생기는군요. 원래 Programming이라는 것은 혼자하는 거였는데, 이제 프로그래밍하면 pair인지 single인지 구분을 해주어야겠군요)을 하는 경우에는 팀원들이 소란스럽게 떠들면 ''아 지금 설계하고 있구나''하고 생각하고, 조용해지면 ''아 지금 코딩하고 있구나..''하는 생각이 들었는데, PP는 끝까지 시끄럽게 하는거라는 느낌이 들더군요. 그렇게 대화가 많아지는 것은 코딩에 대 이해도의 증가와 서로간의 협력 등 많은 상승효과를 가져올 수 있다는 생각을 했습니다.
          * 그리고 관찰하던 중 PairProgramming에서 Leading에 관 사항을 언급하고 싶습입니다. 사용하는 언어와 도구에 대 이해는 확실하다는 전제하에서는 서로가 Pair에 대 배려가 있으면 좀더 효율을 낼 수 있을꺼라 생각합니다. 배려라는 것은 자신의 상대가 좀 적극적이지 못하다면 더 적극적인 활동을 이끌어 내려는 노력을 기울어야 할 것 같습니다. 실습을 하던 두팀에서 제 느낌에 지도형식으로 이끄는 팀과 PP를 하고 있다는 생각이 드는 팀이 있었는데. 지도형식으로 이끄는 팀은 명이 너무 주도적으로 이끌다 보니 다른 pair들은 주의가 집중되지 못하는 모습을 보인 반면, PP를 수행하고 있는 듯 팀은 두 명 모두 집중도가 매우 훌륭 것 같아서 이런 것이 정말 장점이 아닌가 하는 생각이 들었습니다. 결국 PP라는 것도 혼자가 아닌 둘이다 보니 프로그래밍 실력 못지 않게 개인의 ''사회성''이 얼마나 뛰어냐는 점도 중요 점으로 작용다는 생각을 했습니다. (제가 서로 프로그래밍중에 촬영을 것은 PP를 전혀 모르는 사람들에게 이런 형식으로 하는 것이 PP라는 것을 보여주고 싶어서였습니다. 촬영이 너무 오래 비추었는지 .. 죄송합니다.)
          * 안녕하세요? 참관자였던 사람입니다. Feedback이 좀 늦었네요. 색다른 경험이었던것 확실했는데, 다만 시간이 시간 정도만 길었더라면, 훨씬더 많은건 느꼈을것 같아서 아쉽습니다. TDD나 CRC카드 둘다 접하기엔 좀 짧은 시간이었던것 같습니다. 앞으로도 이런기회가 많았으면 좋겠네요. 그럼 이만... --김정준
  • ZP&JARAM세미나 . . . . 25 matches
         || 7시 30분 || [이승] - 지속적 통합 세미나 ||
          * 이승 - 지속적 통합
          ZP 02학번 임영동입니다. 승이는 세미나가 시나리오를 세워서 잘 정리된 거 같았는데 마지막의 복습을 앞의 걸 훑는 게 아니라 다른 페이지를 만들어서 요약했으면 더 좋았을 거 같습니다. 병윤이 세미나는 목소리는 전보다 커졌는데 좀 더 말에 강약이 있었으면 좋겠습니다.
          * [이승]
          역시나 나의 부족함을 발견하는 세미나와 행사 진행이었다. 다른 학회 분들께 학회 소개를 부탁드린다고 미리 메일 날린다는걸 깜빡하다니;; 게다가 뒤죽박죽의 행사 진행;; ㅠㅠ;; 난 아직 멀었다. 그리고 아쉬운 송지원양의 송별회. 그래도 OST에서 이맥스에 관 열정을 다시 불태울 수 있어서 좋았던 자리-_ -후후후 그리고 다음엔 우리가 가서 좋은 세미나도 듣고 이 관계를 지속했으면 좋겠다.
          세미나 두개 다 정말 유익하게 들었습니다. 병윤이 세미나 주제가 우려먹기라는데 내가 그 때 커스모집 때문에 없어서 이번 기회에 들었습니다^^ 와핫핫~!! 프로젝트 통합방법도 내년에 돌아와서 팀플할때 잘 써먹을수 있을거 같아요. 승오빠가 하는 프리젠테이션 방식이 굉장히 좋았어요. 간결 글과 시각적 효과를 이용해 보는 사람으로 하여금 몰입도를 높이는..(웃음) OST도 좋았습니다. 시간이 부족게 좀 아쉽ㅠ
          내일이면 출국입니다. 마지막 모임을 연합 세미나 자리에서 가졌고 마지막 술자리를 ZP사람들과 함께했어요. 노래방에서 갖은 추태를 떨었지만..(양대 분들이 먼저 가셔서 다행ㅋㅋ) 사진 올려야 했었는데 시간도 없고 지피 서버도 불안불안.. 일본가서 올릴게염..ㅠㅠ
          linux & open source ost 했던 , 자람 20기 서버관리자 박훈준 입니다. 정말 즐거운 시간 이었습니다. 특히 스푸핑 관련 세미나... 네트워크에 대 이해를 ++++ 할 수 있는 좋은 자리였어요. 저희가 뭔가 좀 준비했었다면 더 좋았을텐데 아쉽네요. 무엇보다, 이런 행사들이 지속적으로 이루어 지는것이 중요하다 생각됩니다. 3년전 쯤인가, 홍대 컴공학회 P.C.R.C 와도 교류가 이루어 지는듯 하다가, 그 이후로는 교류가 없네요. 계속해서 교류하고, 많이 나눴으면 좋겠습니다. 무엇이든 할 수 있어요. :) (참, 밥도 맛있었어요)
          행사내용에 있어서는 2번의 세미나가 조화롭게 이루어진 것 같아요. 처음 세미나는 subversion의 유용성에 대 세미나였는데 기술적인 내용은 아니었지만 충분히 subversion의 매력을 느낄 수 있게 해 주신 세미나였고 두번째 세미나는 LAN 환경에서 어떻게 snipping, spooling 하는지 개념에서부터 실제 방법까지 잘 설명되어 있어서 이해가 잘 되었습니다.
          OST는 다들 열정적으로 참가해주셔서 몇 가지 주제에 있어서 이야기가 오고간것 같아요. 아쉬운 점이라면 새로운 주제가 생기면 그것의 홍보를 직접해야했다는 점이랄까요? 입구쪽이나 잘 보이는 곳에 OST 상황전달 가능 공간이 있었더라면 더 원활 진행이 되지 않았을까라는 생각을 해 보았습니다.
          오호라 후기네요~:) 이거 페이지를 어디다가 연결해야할지 갈피가 안잡히네요 여기다가 만들어도 문제가 없으려나?~?? 저는 좋은 게임과 나쁜 게임의 OST를 진행했던 양대 03학번 배진호입니다. 뭐 제 계획대로 아주 많은 것을 뽑아(?) 내지는 못했지만 그래도 적절하게 많은 분들이 동참하여 주셔서 흥미로운 대화가 되었던 것 같네요. 제가 미숙하여서 자르고 멈추고 이어나아가는 것이 능숙하지 못했는데, 어찌 되었든 OST를 주최해 주시고 좋은 세미나도 재미있게 보았습니다. 시간이 많았더라면 서로 더 알아갈 수 있었을 텐데 그 부분이 조금 아쉽네요. 앞으로도 많은 교류가 있었으면 좋겠네요. 군대에서 이 위키를 썼었느데 다시보니 방갑네요 :)
          자람 24기 김희정입니다~ 중앙대 처음가봤는데 학교가 참 옹기종기모여있으면서도 크구 참 이뻤어요! 마련된 저녁에도 감덩감덩 ㅜㅜ! 제로페이지에서 준비 세미나에서는 새로운 내용을 알게되서 좋았습니다. 같은 08학번인데 세미나 하시는 분 보고 저도 좀더 노력해야 겠다고 생각했구요, OST에서는 게임에 대 주제에 참여했는데 게임을 하는 걸로만 생각했었는데 이번 OST를 통해 개발자의 입장에서도 생각해 볼수 있어서 좋았습니다. 그리고 다양 공부?에 대 주제에 대해 들어보고 싶었는데 시간이 부족해서 참여할수 없었던게 좀 아쉬웠네여~ㅜ 여튼 그래도 알차고 재밌었던 시간이었구요~ 나중에 우리학교에서 다시만나요~안녕히~+_+
          다른 학회 분들 만나뵈어서 좋았어요. 저도 OST때 다른 학회분들과 이야기 나누지 못게 아쉽지만, 다음엔 기회가 되면 많은 이야기를 나누고 싶네요. ㅎㅎ 세미나 준비했었던 승이형과 병윤이 수고하셨어요. ㅎㅎ 병윤이껀 지원이처럼 커스사람들과 함께 있다보니 못 들었었는데 이번에 들을 수 있게 되어서 다행? ㅋㅋㅋ 그리고 지원이 송별회 때 일찍 가서 미안 ㅋㅋ 여하튼// 다음번에도 또 번 이런 시간 가졌으면 좋겠네요 ㅎㅎ
          ZP 18기 장혁수 입니다. 이번 기회로 많은 사람들을 만나볼 수 있어서 좋았습니다. 개인적으론 OST 시간처럼 떠들석 이야기 자리가 좋더라구요.^^ 시간이 얼마 없어서 많은 이야기는 나누지 못게 아쉽네요. 앞으로도 이런 자리가 또 있겠죠? 다음을 기대해봅니다~
          준비가 미흡해서 발표가 매끄럽게 진행되지 못했던것같아 죄송합니다~ 아직 큰 규모의 프로젝트를 해보지않아 svn에 대해 잘 알지못했었는데 알게되어 좋았구요 OST때 linux & open source 테이블 유익 정보 많이 듣게되어 재미있었습니다. 다음번 자람측 세미나가 기대되네요~
          이번 연합 세미나가 다소 부족 느낌을 주었을 지 몰라도 첫 번째 시도였다는 점에서는 참 서로 칭찬할 만 하다고 생각합니다.
  • 데블스캠프2010/둘째날/후기 . . . . 25 matches
          * 아인슈타인 퍼즐을 아인슈타인이 만든게 아니었다니 절망했다! A가 누구테 돈빌렸는지는 찾았늗네 독일인이 금붕어 키우나 orz - [박근수]
          * 일반적으로 C 프로그래밍은 자신이 아는 출력(또는 원하는 출력)을 위해서 구조를 짜는데 PROLOG는 중간만 만들어 놓으면 답이 알아서 나온다는 상당히 특이 구조를 가지고 있어서 꽤 신기했습니다. 근데 이건 좀 편견일지도 모르겠지만 어째 이건 뭘 만들기보다는 연구하기 위 언어가 아닌가 싶네요. - [서민관]
          * 아아.. 엘리베이터.. 처음엔 괜히 리스트로 접근하다가 결국은 반 노가다로 해결... 하지만 너무 기술적으로도, 또 너무 일반적으로도 치중되지않은 적절 난이도(?)의 문제덕에 재미있는 코딩을 할수있어서 좋은 경험이었습니다 ㅋㅋ-[남상혁]
          * 프로그래밍 공포증이 있는 저로서는 역시 좀 무서운 시간이었습니다. 그래도 직접 해보면서 작년보다는 많이 늘었다는 것을 스스로 느낄 수 있어서 좀 뿌듯함도 있었습니다. 근데 앞으로 공부는 참 더 해야겠네요. - [서민관]
          * 추, 추억의 엘레베이터...! 이거 바꾸기 전의 복잡 스펙? 엘레베이터 해봐야겠다는 생각이 들었다. 1학년 땐 못 했었는데; - [김수경]
          * 간단하게 만든 게임이 전체적으로 어떤방식으로 돌아가는지 알 수 있어서 유익하긴 했습니다. 간단하게라도 직접 뭔가를 출력해본다거나 이미지를 출력해보는거라던가 해봤다면 더 흥미를 가지고 재미를 느낄수있었을것같은데 너무 복잡 소스를 처음부터 보여줘서 세세하게 이해가 안돼서 어려웠습니다. 정말 감동적이고 유익 시간이었습니다, 추가로 부분부분 수정해서 약간의 변화를 주는것도 어떤식으로 변화가 있고 프로그램이 돌아가는지 약간이나마 이해할수있어서 도움이 되었네요 - [경세준]
          * 본격 혁씨버전 슈팅게임.. ㅋㅋㅋ C를이용 게임만들기가 정말 인상적이었습니다. 단지 C와 약간의 그림판질만으로도 만드러지는 게임이 정말 신기했습니다.
          * 이걸 직접 짜는건 힘들것같고ㅋㅋ코드를 분석하고 필요걸 바꾸니까 자료구조 팀플 다시하는 기분이네요ㅎ그래도 흥미로운 주제라서 재밋었어요~~ - [허준]
          * 아 원랜 더 재밌는거 만들려고 했었는데... ㅇㅅㅇ 월드컵덕분(?)에 밤새고 집에와서 잠에취해서 개-발 코등덕에 VS에서 안되는 불상사가 ㅋㅋㅋ 내가 내꺼에 후기달았으니 문상은 나를 위해서 쓰겠다 !!!음하하하하- [남상혁]
          * 자료구조 프로젝트로 SDL을 사용해서 게임 수정을 해봤는데, 또 SDL을 보게 될 줄이야.. SDL 시간이었지만, 느낀건 역시 IDE는 잘 선택해야 다는 것... 이클립스, 넷빈즈, 비쥬얼 스튜디오 등 많은 사람들이 사용하는 IDE끼리도 같은 소스를 충돌나게 하는걸 보면서 참 황당했다-_-;; - [박성현]
          * 오늘도 넓은 C의 세상에서 허우적거리다가 월드컵 응원 피로 까지 겹쳐서 집중하지 못거 같아서 죄송했어요. 빨리 C++공부 해야겠다는것을 느꼈고, 다음번 강의 때는 열심히 집중해서 들을께요! [박재홍]
          * 예전부터 세뇌시키셨던 '단일 변화가 발생했을 때 수정사항은 예측 가능 곳에 있도록 해라' 라는 주제를 다시 번 접했는데, 들을 때 마다 느낀거지만 제가 너무 사고방식이 절차지향적으로 굳어진 것 같아서 '얼른 다른 새로운 패러다임의 언어를 접해봐야겠어'라는 생각을 하게 됩니다. 세미나를 듣고도 실제로 적용해볼만 프로젝트를 하지 않으니 제대로 된 피드백이 되지 않는 것 같아서 안타까웠는데 요번엔 꼭 개인프로젝트라도 진행시켜보겠습니다! - [박성현]
          * 1학년 여름방학때부터 반복적으로 들었던 내용인데 (당연 말이지만) 처음 비슷 내용을 들었을 때보다 지금이 훨씬 이해가 잘 된다. 1학년때부터 이런 이야기를 들었기 때문에 비록 바로 이해하고 적용시킬 수는 없었지만 그래도 학교 과제 등을 하면서 번 더 생각해 볼 수 있었던 것 같다. 지금 1학년 후배들도 처음 들어선 잘 이해가 안 갈 수 있겠지만 이 강의를 들어본 것이 앞으로 생각하는 방향에 많은 영향을 주지 않을까 생각다. 강사가 원래 세미나를 딱히 지루하게 하는 사람은 아닌데 어제 축구때문에 다들 너무 상태가 안 좋았던 것 같은 점이 아쉽다. - [김수경]
          * 단일 변화로 인 수정이 발생했을 떄를 미리 예상하고 프로그래밍다 - [윤종하]
          * 2학년이지만 아직까지도 프로그래밍에 서툴고 흥미도 부족데 세미나를 들으면서 많은것을 느끼고 깨닫게 된 것 같아요. 오늘 배운내용이 정말 전공을 공부하는데 있어서 꼭 기억해야겠네요. 가장 기억에 남는게 말하듯이 코드를 짜는것 그리고 '단일 변화가 발생했을 때 수정사항은 예측 가능 곳에 있도록 해라'라는 말은 꼭 잊지말고 기억해야겠어요ㅎㅎ - [허준]
  • 새싹교실/2013/양반/3회차 . . . . 25 matches
         특별히 지정 안하면 첫 문장부터 시작하여 번에 문장씩 순차적으로 실행된다.
         if문에 else 절을 추가 if-else문을 이용해서 여러 가지 조건을 처리할 수 있다.
         조건식이 참이면 문장 1을 실행하고, 거짓이면 문장 2를 실행다.
         다중 선택을 위 if문
         if문 내에 if문을 또 사용할 수도 있다. 중첩된 if문이라고 다.(nested if)
         중첩된 if문과 관련해서 가지 주의해야 할 점은 중첩된 if문 다음에 오는 else절이 어느 if문과 짝이 되는가 하는 것이다,
         switch문 - 다중 선택 방법을 제공다.(정수 값에 따라 여러 경로 중에서 경로를 선택할 수 있다.)
         (1) 수식의 값을 계산다.
         (2) 수식의 값이 각 case의 상수 값과 같은지 차례대로 검사다.
         (3) 일치된 case값이 있으면 그 case 절의 문장들을 실행다.
          (3.2) 그렇지 않은 경우에는 다음 case 절의 문장들을 실행다.
         (4) 일치된 case 값이 없으면 default 절의 문장들을 실행다.
         조건이 루프의 끝에 위치하므로, 루프 본체를 먼저 실행하고, 조건을 검사하여 그 값이 참인 동안 반복다.
         do - while은 적어도 번 실행된다.
         for문 - 루프의 반복 횟루를 알고 있을 때 적합 반복문이다.
         수식 1 - 초기화를 위 수식/ 루프를 시작하기 전에 실행다.
         수식 3 - 조건식에 사용된 변수를 증가시키거나 감소시키기 위 식으로 루프의 각 반복후 실행
         * 초기화 부분은 처음에 번만 실행하고, 수식 2,3 은 루프의 반복 전후에 실행된다,
         오늘 실습 별로 사각형 찍기.
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • 정모/2012.2.3 . . . . 25 matches
          * 참가자 : [김준석], [변형진], [김수경], [서지혜], [강성현], [권순의], [정종록], [박성현], [윤종하], [황현], [고종], [김태진], [이민규], [이진규], [장용운]
          * 최소의 정해진 진행방식은 강사 명(혹은 두명)이 새싹 반(2명~6명)을 가르치게 되고, ZP정모 시간을 빌려 두어번 모든 새싹들이 모여서 강의나 골든벨(가칭)등을 하는 형태가 될 것 같습니다. 학기 중 시간이 빠듯해 매주 가르치는게 힘들거 같다고 하시는분은 "두명이 함께 강사신청 신청"해도 되며, 자기가 가르쳐줄 수 있는 것과 다른 강사가 가르쳐줄 수 있는게 현저히 달라 둘 같이 반을 가르치는게 좋겠다고 생각하는 분들도 함께 신청해도 됩니다. 또, 혼자서 신청했으나 학기가 시작되자 바빠져 곤란 경우에도 추후에 합반을 할 수도 있으니, 많은 참여 부탁드려요~
          * 이번주 금요일(2.10) 정모 전후로 6피 정비하겠습니다. 저번주에 걷은 회비를 이용 회식을 언제할지는 당일 오시면 알려드리겠습니다.ㅋㅋ
          * 좀 더 자세건 OOP스터디 이후에...
          * 제가 목이아파 목소리가 작았다보니 다시번 말해달라는 경우가 몇번 있었더군요. 음.. 오늘(금요일) 생긴 고민중에 하나는 대부분의 결정을 제(혹은 순의형이랑)가 하게 될텐데, 참 어떤게 좋을지 답도 명확해보이지 않고, 그렇다고 적당히 정하기도 어려운, 그런 상황인거 같아요ㅡ 좀 생각을 해 봐야 될거 같네요. - [김태진]
          * 조직이나 팀을 운영하는 데에 답이 존재하는 경우는 많지 않을 겁니다. 부회장님과 함께 ZeroPage를 이끌어 가는데에 다른 경험이나 시각이 필요하다는 생각이 든다면 도움을 요청하는데 주저하지 마세요. 1년 목표나 가치를 세워둔다면 자잘 결정에 대 비용을 줄일 수 있을겁니다. 자신이 어떤 타입의 리더인지를 파악하고 주위에 단점을 보완해줄 사람들을 두세요. 그래도 뭐 하나 하려면 머리 뽀개집니다ㅋㅋ 때로는 반대를 무릅쓰고 밀어부치는 것도 필요할거에요. 참고로 남을 설득할 때에는 처음부터 여러명을 설득하기 보다 두명씩 자신의 편으로 끌어들이면 반발이 크지 않아요(divide and conquer). 끝으로 가장 중요 것은 책임입니다. 모든 책임은 1차적으로 회장에게 있는겁니다. 자기가 직접적으로 행동이 아니라고 남에게 미루면 안돼요. 사람들의 신뢰를 잃게됩니다. 임원직을 후배님들께 물려드리자니 걱정이 많이 되네요.. 그치만 언제까지 ZP에 있을 수는 없으니ㅋㅋㅋ 화이팅!! 잘하려고 하지 말고 할 수 있는것을 하세요. 안못난 선배 물러갑니다. - [서지혜]
          * 내가 하려고 했던 말들이 이미 많이 있네. 자유게시판에 리더 특성에 대 글을 다시 올린 것도 단점을 보완해줄 사람들을 두라는 의도에서 그런 거였는데... 생각해보니 작년엔 뭔가 결정할 때 가장 영향을 많이 끼친 세 사람이 다 N 유형이었더라고. 나도 N, 너도 N, 형진오빠도 N... 그야말로 N판ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ - [김수경]
          * 새싹 교실도 그렇고 앞으로 결정해야 할 모든 사항에 있어 정답은 없습니다. 각각의 선택지에 장단점이 있죠. 작년같은 경우 [:ZeroPage/임원/회의 회의]를 통해 해의 목표를 정하고 그 목표를 이루기 위해 우리가 추구해야 할 가치는 무엇인가를 함께 공유 뒤 그 가치에 맞는 선택지를 고르려고 애썼던 것 같습니다. 정모에 모인 회원들과 회의를 진행하는 것도 좋지만 사실 사람 수가 많아질수록 이래저래 말만 많아지고 목표는 흐려지는 경우가 많습니다. 던져놓으면 그렇게 말이 많은 주제라도 임원들끼리 결정했을땐 그냥 따르게 되는 경우도 많구요. 꼭 모든 회원의 의견이 필요하다 싶은 중대 사항이 아니라면 임원들이 결정하는 쪽이 여러면에서 효과적이지 않을까 생각합니다.(시간을 효율적으로 쓴다는 점에서도 그렇고, 활동들이 일정 방향성을 가지고 ZeroPage의 목표를 따라가느냐 하는 측면에 있어서도 그렇습니다.) 아무쪼록 올해는 올해의 목표를 정하고 그 목표에 충실 활동들로 해를 채워나갈 수 있기 바랍니다. - [김수경]
          * 정모가 끝나고 깨닫는건 난 단추공장에 다니는 조가 되어있다는 것. 언제까지 단추만 누르고 살텐가. 개인적으로 이렇게 몸을 움직이는 ICE Breaking을 굉장히 좋아합니다. 뭘 하는지 모르게 시간이 가고 옆에 사람들의 웃긴 모습을 볼수 있으니 좋죠. 요즘 정모를 못왔지만 새 회장의 정모의 첫단추는 잘끼워진것 같습니다. 회장이 지금 맡은것이 많아서 좀 바쁘지만 빠릿빠릿하게 움직이는거 보면 올해도 잘 되겠죠. 새싹 스터디 같은 여러 의견이 분분 경우는 과거의 기록을 듣고, 읽고 잘 조합해서 하나의 의견을 만들어서 강하게 진행하는걸 추천합니다. 의견을 듣고 있는것도 좋지만 언제까지 Melting Pot처럼 섞기만 하면 재미가 없죠.- [김준석]
          * 오랜만에 해보는 IceBreaking이네요. 처음엔 이게 뭔가 싶었는데 자꾸 하다보니 웃겼어요ㅋㅋㅋ 웃느라 제대로 못듯ㅋㅋㅋㅋㅋㅋ 리듬 게임에 대 OMS는 놀랍지만 약간 아쉬운 감이 있습니다. 다른 리듬 게임들도 볼 수 있었으면 좋겠는데. 그러니까 격주로 용운이 OMS 번 더?! - [김수경]
  • 정모/2013.9.4 . . . . 25 matches
          * [고종], [김민재], [안혁준], [고종], [김남규], [김해천], [조영준], [이봉규], [서민관], [최다인], [송정규], [김도형], [임지훈], [장혁재], [김윤환], [권영기], [조광희]
          * 홈페이지나 위키에 도서 기자재를 신청받을 것입니다. 필요 도서가 있다면 신청해주세요.
          * 회장 -> 학술행사에 참여하는 금액에 대해 지원금 제 10만원정도 하려고합니다. 이것에 대해서 의견을 묻고자합니다.
          * 종 -> 지원금 제이 필요없다. 왜냐하면 1년에 많이가도 얼마 들지 않으므로 제을 안걸어도 그렇게 많은 돈이 나가지 않는다.
          * 본인 입으로 정확히 말하자면 :) 제이 없어도 잘 안가는데, 제이 생기면 더욱더 안 갈게 뻔하고, 지원금을 받는 대신 회원에게 공유할것을 전제로 주는 것이기 때문에, 사람이 집중적으로 많이 받아가도 별 반발이 없을거라 생각합니다. 받은만큼 토해(?)낼태니까요 :) 대신 세미나 같은 곳 다녀와서 건성으로 공유하지 않고 제대로 공유해줘야겠죠. 일단은 회장이 만족할정도면 된다고 생각합니다만. - [고종]
          * 덧붙여서, 지원금을 왜 주는지에 대해서 진지하게 생각했으면 좋겠어요. 저는 이게 학술 활동 지원이라 생각하는데, 지원 받는데 세세 조건같은거 있으면 귀찮아서 학술활동을 포기해 버리겠죠?
          * 하지만 비상식적으로 비싼 행사를 지양하려는 목적으로 최소의 상은 있는게 좋을듯.. 리눅스 포럼인가 10만원짜리 그런건 좀..-_-; -[김태진]
          * 제가 할법 잔소리는 이미 종이가 위에서 했으니 제끼고 궁금 게 있어서 이쪽에 붙습니다. 명만 가는 경우 지원하지 말아야 할 당연 이유가 있나요? 학술활동이 꼭 단체활동이어야 다는 법도 없고.. 같이 갈 사람 못 구하면 지원도 못 받는 건 어쩐지 이상하게 느껴집니다. - [김수경]
         == GDG에 대 논의 ==
          * 또 하나 문제가 생길 수 있는게, 외부에서 zp가 거의 주최하는거에 대해서 클레임을 건다면 문제가 생길수 있어서 소모임방식으로 주최하는것에 조심해야다.
          * .자.문 : 개강후 앞으로의 방향과 계획을 정하는 방식으로.
          * 오랜만에 돌아왔는데, 회장이 이제 정모 진행하는데 불필요 긴장감을 가지지는 않는것 같아 마음이 살짝 놓이네요. 하지만 여전히 뭔가 진행되는 느낌은 받지 못해 아쉬웠습니다. 휴학러니 앞으로 시간날때마다 짬짬히 들려서 지원해 드릴테니 힘내시길 : ) -[고종]
  • 조현태/놀이/지뢰파인더 . . . . 25 matches
          일단 눈, 머리, 손으로 나눠서 제작다.
          눈은 전체화면에서 지뢰찾기 프로그램의 이미지를 추출하는 방식을 생각했으나 그냥 핸들을 구해오는 편 방법으로 바꿔서 만들었다.
          뭔가 비정상적인 프로그래머..ㅎㅎㅎㅎ 이상 녀석!!^^;; - [조현태]
          클래스에서 다른 클래스를 붕어빵 찍듯이 찍어내고, 또 그 클래스가 여러개로 찍혀나가게 했는데..
          거기다 알고리즘이 생각보다 복잡해서 머리를 썩히고 있다. 끄응...역시 자료구조를 정하는게 가장 중요 일인겨..;;
          킁..ㅠ.ㅜ 재앙이다..;;ㅁ;; 앞으로는 이렇게 짜지 말자는거 이외에는 뭐라 할말이 없다. 오랫동안 손대지 않았던 터라, 알고리즘이 잘 생각이 나질 않는다. 그래도 내가 짜서 그런지 금방 알고리즘을 생각해내는데는 성공했지만... 많은 부분을 수정했으나, 더 많은 재앙들이 초롱초롱 눈빛으로 나를 반기고 있다. 이쁜 아가씨면 반겨주겠지만 이런 버그덩어리라니.. 도데체 어느 부분에서 잘못된 메모리를 엑세스 하는건지..흑흑 어빠햐가 잘못해떵..ㅠ.ㅜ 제발 정상적으로 작동해줘..ㅠ.ㅜ API의 특징인지...내가 못해서인지.. 테스트가 콘솔창보다 용의하지가 않다. 수없이 조각조각 나있는 할당된 메모리의 파편을 일일이 추적하자니.. 트리나 링크드리스트 형식의 문제점이라고나 할까..;;ㅁ;; 도데체 어디서 잘못된겨~!!! !@#$%^&*()...... 그래도 실행하면 지뢰 2-3개.. 숫자 2-3개는 찾고 뻗으니위안은 된다.(참고로 아직 지뢰를 건드린적은 없다!!) 수정해야할 부분 태산.. 만들어야 할 부분 태산.. 휴가가 극도로 짦은걸 보면 방학중에도 만들어야 할지도... 뭐 나름대로 앞으로 프로그램을 어떻게 짜야 할 지에대해서 조금은 도움이 되겠지뭐..ㅠ.ㅜ 흑.. - [조현태]
          계획 전면 수정. 알고리즘 및 소스 재작성 돌입. 과거 단순 "로봇을 이용해서 마호로매틱 쵸비츠..는 아니고 어쨋든 멋지게 만들어 보자!" 에서 "로봇만 이용하는건 넘흐 어려벙~ 다른걸 섞어봐야겠어~!" 로 변경. 사용하기가 편하고 검색속도가 빠른 기존의 방법과 정확도가 높은 로봇을 밀가루와 팥이만나 붕어빵이 되듯.. 잘 섞어보기로 결정했다. 새로 모든소스를 작성하고 기존 소스의 심각 문제점이었던, 어설픈 분할과 최악의 테스트 조건(윈도우 지뢰찾기는 실행해서 어떤 맵이 나올지 모른다. 또 테스트 시간이 길고 준비가 필요하다)을 극복하기 위해서 수정을 가했다. 좀더 체계화된 분할로 좀더 보기편하고 소스에 간지가 흐르도록 하였으며, 테스트 주도개발의 내용에서 눈꼽의 반만큼을 이용, 편리 테스트 환경을 만들었다. (나름대로 진보환 환경과 소스!) 가슴은 아팠지만 재앙보다야 나을거라고 생각다. 그리고 로봇..그 부분은 아직 경험이 없어서(데블스 캠프에 만들어 본게 다..)그런지 조금 빡세다. 뭐 그래도 번 실패도 했으니, 더 쉽게 만들어 질 것이라고 생각하고 만들기로 결정했다. - 2005.08.13
          드디어 로봇 완성. 저번보다 더 간지나는( 구조화가 잘된) 알고리즘 표현과, 훨씬 편 테스트 환경으로 저번에 비하면(어디까지나 비해서다. 아직 어려운 점이 많아 고생을 많이 했으며, 새로운 자료구조가 본인이 만든 탓인지 뭔가 복잡하다.ㅎ) 순풍에 돛을 단듯 아주 순조롭게 진행되었다. 그래서 로봇을 완성. 손과 눈을 api로 바꿔주고 지뢰찾기를 향에 발싸~!... 실패... 만능은 아니라서 시작 지점에 2가 떡하니 나와준다면.. 얘도 찍어야 다. (물런 찍어야 하는 상황에서 사람보다야 높은 적중률을 보이도록 설계했으나.. 이런 최악의 상황은 사람이나 프로그램이나.. 오히려 사람이 낮다.) 두번째.. 오옷..1초만에 성공... 세계신기록이야~ ~_~ 후후후.. 아~ 이날아갈듯 기분..ㅎ (혼자 행복에 겨워서 뒹굴었다.ㅎ) 세번째.. 알수없는 오류가 깊은산속 옹달샘에서 발생.......OTL.ㅎ 그래도 어쩄꺼나!!! 성공시켰다. 후후후.. 이제 남은 디버그따위..ㅎ 사뿐히 해결해주짓..(역시 테스트 환경이 좋으니 작업이 잘 진행된다. 꼭 염두해두자.ㅎ) 어쨋든 오류가 떠도 지금은 행복하다.ㅎ ~_~ 일해야 되서 지금은 못해도.. 시간나는데로 해서 완성시켜주마~ >ㅁ<;;; - 2005.08.14
          || 2005.08.01 || 정말 바뻐서 동안 손을 안댔더니, 내용이 잘 생각이 안난다는.. 디버깅 15% ||
          || 2005.08.12 || 소스 백지화 후 로봇을 제외 부분(메인, 테스트 환경, 손, 눈, 기본 탐색 알고리즘, 새로운 자료구조)완성 ||
          || 2005.08.15 || 나름대로 노브레인(응?) 1.0버전 완성.ㅎ ||
         실행할 때에는 반드시 지뢰찾기가 다른 창에 가리지 않아야 다!! - (괜히 메모리 오류를 만들지 말자.^^*)
         아직 예외상황에 대 대비가 부족하며..(무엇보다도 뽀대가 안난다!! 아직 배경을 만들지 못했다.OTL)
         약간의 딜레이를 주어서 풀어과는 과정이 나와 있다.(칸마다 번의 딜레이이기 때문에 여러칸이 동시에 열리면 마치 연산이 없는것 처럼 보인다.)
          (이거 업데이트 안되도 다른 컴퓨터에서 실행되게 하는 법이 있었던듯 데..;;)
  • 지금그때2004/여섯색깔모자20040331 . . . . 25 matches
         노랑 : 해당 의견에 대 장점. 긍정적 의견
          - 검정 : 시의성으로 볼때 중요가. 사회자의 경우 그렇지 않아고 본다
         하양 : 동문서버 게시판 홍보. 이것 또 5명과 연관이 있다고 본다.
         파랑 : 총 참여 인원으로 몇명을 원하는지에 대 녹색의견 받음.
         파랑 : 사람 수는 변하기 쉽다. 숫자 자체가 중요건 아니라고 본다. 이를 좀 더 편하게 표현하려면.. 퍼센트로 표현해보자.
         녹색 보충 : 위에서 99이하를 4명으로 말것은 졸업선배의 수를 포함하며, 확실히 올 수 있는 사람 기준으로 4명이라 이야기했다. 실제로 오기 원하는 수치는 그 2배~3배이다.
         녹색 & 검정 : 어디까지나 예상인원이므로, 그냥 이정도 선에서 이야기를 마쳐도 좋을것 같다. 홍보이후 재측정뒤 상황을 보는것이 좋겠다.
         파랑 : 이에 대해서는 실제로 홍보 가능 횟수를 생각하는것이 좋겠다.
         파랑 : 강의실 홍보가 필요가에 대해서는 모두 공감하는가? 이에 대해 노란색 모자 의견이 있으면 말해달라.
         노랑 : 동문서버에 가입 안 사람은 동문서버게시판에 홍보 내용을 모를 수 있다. 더 적극성을 발휘할 수 있다.
         초록 : 연락에 대해 명에게 위임하는 방법도 좋겠다.
         파랑 : 현재 사회자로 '재동'이 추천되었다. 이에 대 검정모자의견이나 노랑모자의견이 있는가?
         검정 : 당사자가 지금 회의에 없다. 그러므로 현재 논의된 진행상황에 대 파악이 어려울 것이다.
         빨강 : 주제, 진행에 대 형식만 잡히면 잘 할것 같다.
         하양 : 설문조사. 작년에 참여하지 못 사람?
         중간 사회자 권 지목.
         검정 : 이번에는 03이 맡았으면 다. 그렇지 않으면 매년 의존하게 된다. 내년에도 똑같은 이야기가 성립이 되어버리기 때문이다. 이번 행사 이후에도 지속적으로 이어지기 위해서는 03이 직접 경험해보아야 다.
         검정 : 사회자 비중이 적으므로, 지원자가 있었으면 다.
         파랑 : 시간관리자는 중요 일을 다. 이는 비단 이러 행사 뿐만아니라 컨설팅 등에서도 그렇다.
         노랑 : 작년에 사람의 경험으로 비추어볼때, 사회자에 비해서도 직접 무언가 발표를 하는일이 적다. 부끄러움이 있는 사람도 할수 있다.
  • 2010PHP . . . . 24 matches
          * 이모티콘을 삽입할 수 있게 다.
          * 크기 제은 32x32(px)
          * 내용에 /* keyword */ 형태로 쓰면 keyword에 해당되는 이모티콘이 삽입되게 다.
          * 글 작성 시 오늘의 상태를 선택할 수 있게 다.
          * 이름, 내용, 날짜, 오늘 상태, 글번호를 출력다.
          * 페이지당 게시물을 20개씩 출력다.
          * DB는 Mysql을 사용다.
         ||이름 길이를 10byte로 제다. || A ||
         ||내용 길이를 2000byte로 제다. || A ||
         ||글씨체를 선택할 수 있게 다. || C ||
         ||글씨색, 배경색을 선택할 수 있게 다. || B ||
         ||오늘의 상태를 선택할 수 있게 다. || B ||
         ||비번은 ****로 보이게 다. || A ||
         ||비번 길이는 4byte로 제다. || A ||
         ||수정 기능을 제공다. || A ||
         ||삭제 기능을 제공다. || A ||
         ||수정, 삭제 시 비번을 5번 틀리면 5분간 수정,삭제가 제된다. || B ||
          * 김상호 : 입력할 때 글자수 제
          * 글이 깨지는 이유를 모르겠음 ;ㅁ;
         == 참고할만 사이트 ==
  • 5인용C++스터디/멀티쓰레드 . . . . 24 matches
         스레드란 무엇인가? 실제로 말다면 하나의 작업의 단위를 스레드라고 할수 있습니다. 윈도98는 멀티 테스킹이 가능 프로그램입니다. 즉 번에 여러 작업을 할수 있다는 것입니다. CPU 자체는 스텝에 개의 작업밖에는 하지 못합니다. 그렇다면 어떻게 윈도95는 멀티테스킹이 가능할까요? 바로 시간 분할입니다. CPU의 처리 속도가 1초에 99개의 작업 다고 가정을 합시다. 그리고 현재 A,B,C 3개의 프로그램이 동작중이라고 예를 들어본다면 1초에 CPU는 A에 해당하는 작업 33개 B에 해당하는작업 33개 C에 해당하는 작업 33개로 나누어서 작업을 합니다.
         이렇게 작업을 함으로써 작업을 멀티 테스킹으로 할수 있다라는 의미입니다. 이때 하나의 작업 단위들을 스레드라고 합니다. "그럼 프로그램 내부에 모든 작업은 스레드로 나누어 지겠네요?" 라는 질문이 있을 것 같은데 그렇지는 않습니다. 스레드란 독립적인 작업 단위입니다. 즉 다른것에 구애 받지않는 자체적인 작업 단위를 스레드라고 합니다. 윈도에서 워드 프로세서를 띄우고 대용량의 데이터를 로드하여 프린터로 출력다고 가정을 합시다. 프린팅 작업 도중에 워드프로세서를 사용할수 있습니까? 물론 윈도 95에서는 프린터는 프린터 대로 작동을 하고 워드 프로세서는 워드 프로세서대로 작업을 할수 있습니다. 여기에 인터넷을 통해서 큰 데이터를 다운 받는다고 가정을 합시다. 프린터하고 원드프로세서로 새로운 내용을 입력하면서 인터넷을 통해서 데이터를 다운 받을수 있습니다? 물론 할수 있습니다. 여기에서 원드프로세서의 입력작업이 하나의 스레드 프린팅 작업이 하나의 스레드 또 다운 로드가 또하나의 스레드입니다. 실지로 윈도 98의 내부적인 모든 프로그램의 동작은 멀티 스레드로 설정되어 있습니다. 그렇기 때문에 다중 작업을 할수 있는 것입니다.
         스레드를 동기화 시키는 것은 상당히 어려운 작업중의 하나입니다. 아주 작은 실수만 하더라도 프로그램은 생각과는 전혀 다른 방향으로 흘러가고 맙니다. 또 여러개의 스레드를 동시에 디버깅 다는 것도 쉬운일은 아닙니다. 그러나 다해이도 VC는 기본적으로 동기화가 잘 된 프로그램을 제공합니다. 작은 단위의 일을 하는 중간에 자신의 작업을 다른 스레드로 뺏기는 일이 별로 없다는 이야기입니다. 여기에서는 스레드의 동기화에 대 맛보기 정도로만 소개합니다.
         프로그램이 수행될 때 개의 데이터를 동시에 두 개의 프로그램이 핸들링할경우가 있습니다. 예를 들어 (a)라는 파일에 A프로그램은 데이터를 입력,수정하고 B라는 데이터는 데이터를 검색합니다. B가 읽고자 하는 시점에서 A라는 프로그램이 그데이터를 수정하고자 다면 여기에서 문제가 발생됩니다. A가 수정 후에 B가 읽게 할것인가? 아니면 B가 읽고 난후에 A라는 데이터가 수정을 하게 할것인가? 이런 문제점은 동시성을 가진 운영체제에서 해결해야할 중요 항목입니다.
         생각하는 것과 식사하는 것, 두 가지 일만 하는 철학자 다섯 명이 있다. 이들 철학자 사이에 하나씩의 스틱이 놓여 있다. 식사 를 하려면 양쪽의 스틱을 모두 가져야만 다.
         만약 모든 철학자가 오른쪽의 스틱을 잡고 있고 왼쪽의 스틱을 기다린다면 문제가 발생다. 그들은 아무도 왼쪽 스틱을 얻을 수 없으므로 모두 굶어죽게 된다. 물론 철학자들은 모두 사기를 칠 줄 모르며 먹는 양도 모두 같다고 가정다. 이런 상태를 데 드락이라고 다. 데드락을 방지하려면 어떻게 해야 할까? 이 애플릿에서는 다섯 개의 스틱 중 하나를 표시하여 표시된 스틱을 잡을 경우 반드시 내려놓고 다른 스틱을 시도하도록 하고 있다. 이렇게 하면 위와 같은 데드락 상황이 발생하기 전에 표시된 스 틱의 왼쪽 철학자는 오른쪽의 표시된 스틱을 내려놓고 왼쪽 스틱을 기다리게 되므로 표시된 스틱의 오른쪽 철학자가 왼쪽 스틱을 얻을 수 있게 된다.
          * 프로그램이 로딩되어, 메모리 상에서 실행되고 있는 상태를 프로세스(process) 혹은 태스크(task)라 다.
         반복적으로 동작하는 두 개 이상의 스레드가 하나의 리소스를 공유하려고 할 때, 동시에 리소스에 접근하지 못하도록 하기 위하여 크리티칼 섹션을 사용다.
         Critical Section of Code 크리티컬 섹션 또는 크리티컬 리젼이라 불리우는 이 부분은 커널과 관련된 중요 부분에서 인터럽트로 인 커널의 손상을 막기 위해 불리우는 곳이며 또 수행시간의 단축이 절대적으로 필요 부분에서 쓰이는 구간이다. 이는 코드와 자원의 공유를 막고 배타적인 공간으로 설정된다.
  • Eclipse . . . . 24 matches
         ["Eclipse"] 프로젝트는 통합 개발 환경(IDE)을 위 플렛폼을 목표하는 오픈소스 프로젝트 이다. [http://www.eclipse.org/projects/index.html 부분인용]
         Eclipse에서는 내부의 CVS 클라이언트를 사용다.[[BR]]
          1. 원하는 프로젝트에서 {{{~cpp PopUp}}}을 띄우고 Check out As Project 로 가지고 와 작업다.
          * JDK에 대 외부 HTML {{{~cpp JavaDoc}}} 세팅
          * Ctrl + H Search에서 파일 검색, *.java 파일 검색, ;를 검색다. 아~ 멋진 Search기능 --;
          * Ctrl + H Search에서 파일 검색, *.java 파일 검색, * 로 검색다. String Set을 검색다.
         ||Ctrl+Space ||자동완성. 퀵픽스에 버금가는 사기 기능. 내가 무슨 기능을 쓸 수 있는지 자바독과 함께 보여주며 엔터만 치면 구현을 끝내주는 역할을 다. 혹자는 퀵픽스와 자동완성, 그리고 JUnit만 있으면 어떤 프로그램이든 만들 수 있다고 다.||
          * 에디터중 긴요 단축키
         ||Ctrl+Shift+F|| code의 정렬해준다. 라인의 소스가 길어지면(100이상) 포멧팅에 계 보이기도 다. ||
          * 기능으로 보나 업그레이드 속도로 보나 또하나의 Platform; 플러그인으로 JUnit 이 아에 들어간것과 리펙토링 기능, Test Case 가 new 에 포함된 것 등 TDD 에서 자주 쓰는 기능들이 있는건 반가운사항. (유난히 자바 툴들에 XP 와 관련 기능들이 많이 추가되는건 어떤 이유일까. MS 진영에 비해 자바 관련 툴의 시장이 다양해서일까) 아주 약간 아쉬운 사항이라면 개인적으로 멀티 윈도우 에디터라면 자주 쓸 창 전환키들인 Ctrl + F6, Ctrl + F7 은 너무 손의 폭 관계상 멀어서 (반대쪽 손이 가기엔 애매하게 가운데이시고 어흑) ( IntelliJ 는 Alt + 1,2,3,.. 또는 Alt + <- , ->) 단축키들이 많아져 가는 상황에 재정의하려면 끝도 없으시고. (이점에서 최강의 에디터는 [Vi] 이다;) 개인적 결론 : [Eclipse] 는 Tool Platform 이다; --석천
          * 결론이 말이지. consortium에 이렇게 정의 되어 있다는.. 아 영어여...그리고 아예 Subproject에 Platform, JDT, PDE로 나누어 있구만. 부지런 사람들 --상민
          * J-Creator가 초보자에게 사용하기 좋은 툴이였지만 조금씩 머리가 커가면서 제약과 기능의 빈약이 눈에 띕니다. 얼마전 파이썬 3차 세미나 후 Eclipse를 알게 되면서 매력에 푹 빠지게 되었습니다. 오늘 슬슬 훑어 보았는데 기능이 상당하더군요. 상민형의 칭찬이 괜히 나온게 아니라는 듯 생각이...^^;;; 기능중에 리펙토링 기능과 JUnit, CVS 기능이 역시 눈에 제일 띄는군요 --재동
         DeleteMe 후훗 학기중에 추천해 줄때는 사람덜 눈길도 안주더만, 역시 필요 동기가 사용을 낳는군. IntelliJ 역시 굉장히 강력함 하지만 역시나 Ecilpse, IntelliJ모두 128램에서 돌리기에는 버벅, 궁금 사항 문의하면 답변해 줄수 있을꺼다 아마 --상민
          * 회사 프로젝트에서 Eclipse 를 사용하고 있다. J2EE 개발에 유용 EclipsePlugin 을 추천함. -- [구근]
          저랑 경우가 비슷하시군요. 2003년 5월에 평가하고 적용 시작했습니다. 11월말 쯤 종료되었고, 전체 프로젝트에 Eclipse를 적용 것이 아니라, 제가 맡은 모듈에만 적용했습니다. 전체 프로젝트 인원이 25명정도였는데, 제가 맡은 모듈에는 6명 정도가 참여했습니다. 말씀하신 metric 도구는 번 써서 계산해 보겠습니다. 좋은 정보 감사... -- [warbler]
          * 새로운 Eclipse 3.0 은 Eclipse의 오리지날 기능을 발전하고, IntelliJ , VisualStudio 의 에디터 기능들을 많이 차용해 왔다. 뭐랄까, 에디터로 Eclipse 2.0 개발중 추가되었다가 정식에서 사라진 기능들도 일부 들어갔다. 그리고 기대했던 기능들은 새로운 프로젝트로 분리되어 대거 미구현 상태이다. 그래서 1.0->2.0 의 발전이 획기적이라는 느낌이라면, 2.0->3.0은 완성도를 높였다라는 느낌을 받는다. (이제 GTK에서 그냥 죽지 않을까?) 그리고 Sun의 지지 부진 1.5 발표로 Eclipse까지 덩달아 예정 기능이 연기된것이 아쉽다. -- NeoCoin
          * quick fix, UnitTest, [Refactoring], [CVS], 그리고 방대하고 다양 플러그인들이 제일 마음에 든다. 툴을 사용하는 재미가 있다. - [임인택]
          * 2005년 5월 중순경에 3.1 M7 버전이 나왔다. 아마 다음 버전이나 그 다음 버전이 3.1 정식버전이 되지 않을까 싶다. M6에서 M7로 가면서 메모리 사용량이 많이 줄어든 것 같다(Freemem 이라는 플러그인으로 메모리 사용량 확인). 전체적으로 가벼워진 듯 느낌을 준다. (총 용량은 변화가 거의 없지만) - [임인택]
          * 로드맵상으로 정식 버전이 나올꺼 같네요~ 이클립스 쓰면;; 정말로 이만 툴이 없다는 것을 거듭 느끼고 있어용~ 단지 사양이 않좋으면 좀;; 그래서 학교에서는 원격으로 쓴다는;;;
  • EnglishSpeaking/2011년스터디 . . . . 24 matches
          1. 가지 주제를 선정해서 그에 맞는 대답하기. (예) 자신의 가족 소개를 해보세요.
          * 참고 도서 : 달 만에 끝내는 OPIc (학생편/Intermediate) - 원글리쉬
          1. The Simpsons (심슨네 가족들)의 장면을 역할 분담해서 따라하기.
          * 막연하게 Free Talking을 하면 아직 어색 우리들, 어떠 방법으로 이를 극복할 것인가?
          * [송지원] - 말하기를 할 때마다 느끼지만 자신이 하고자 하는 말을 다른 언어로 표현하는게 참 쉽지가 않아요. 쉬운 말이라고 해도 안써버릇 하면 단어라던가 어휘가 생각이 나지 않고, 처음에 6피에서 영어로 입을 트자니 어찌나 부끄럽던지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 아 해외경험도 있는 주제에 이렇게 허접 영어 실력이라니 막막해지네요ㅠㅠ 그래도 열심히 해야겠다는 생각에 지금 심슨 영상도 뽑아내고 있고 그래요-_-; 앞으로 우리 울렁증을 극복해보아요 화이팅 ㅠㅠ
          * [김수경] - 아주 쉬운 말을 하고싶은데도 적절 표현이 생각나지 않아 괴로웠습니다. 그냥 주제없이 이야기하는 것도 좋지만 질문에 대답하는 식으로 진행하니 오히려 말하기 더 편것 같아 좋았어요.
          * 참여자 수가 준비 장면과 달라, Marge와 Homer의 대화 장면으로 대체.
          * 튜터링에 대 이야기
          * [김수경] - 오늘 처음으로 심슨 대사를 따라해봤습니다. 지원언니께서 네명이 같이 연습할만 장면들을 미리 골라두셨는데 막상 오늘 온 사람이 두명이라 다른 장면을 연습했습니다. 40초도 채 안 되는 짧은 대화인데 참 어렵더라구요. 문장씩 듣고 따라하고, 받아쓰기도 하고, 외워서 해보는 등 장면을 가지고 여러번 연습 것은 매우 좋았습니다. ''You tell me that all the time.''이나 ''Let me be honest with you.''가 어려운 문장은 아니지만 막상 말하려면 딱 생각이 안 났을 것 같은데 오늘 이후로는 좀 더 유려하게 말할 수 있을 것 같아요. 앞으로 매주 진행하면 이런 표현들이 늘어나겠죠 ㅋㅋㅋ
          * [송지원] - 혹시나 했지만 역시나 현지 영어 따라하기는 쉽지 않습니다. 짧은 몇 줄 문장을 외워서 따라하기는 어렵지만 많이 하면 실력이 늘 거라는 생각은 들어요. Free Talking은 제가 하고 싶은 말을 나름 자유롭게 구사해서 만족했는데 Theme Talking에서는 계를 느끼고 국어를 섞어서 그 점이 좀 아쉬웠어요. 다음 주에는 The Simpsons.. 정말 4명이 함께 하기를 (온 성의를 다해 대본을 준비하는 만큼;ㅁ;)
          * [권순의] - 심슨 영상을 보면서 따라 해 봤는데.. 뭔가 따라가는 듯 하면서도 뭔가 어눌 이 발음 ㅋㅋ 아 근데 너무 졸리네요 -_-;; 그래서 좀 힘들었습니다.;;; 그래도 세명이서 역할 분담을 잘 해서 재미있었습니다. 그러고 나서 자유 주제.. 졸리니까 멍하네요 -_-;; 좀 멍하게 시간이 지나간 듯..
          * [김수경] - 이번주 영상은 문장이 단어 조금 바꾸면 여기저기 가져다 쓸만 것이 많아 재미있었어요. 가위바위보로 역할을 분담했는데 ''Along with the ego and the superego, one of three components of the psyche.''라는 문장을 외워보고 싶어서 리사를 선택했습니다. 그런데 리사 분량이 제일 적어서 본의아니게(?) 가장 날로먹었네요 ㅋㅋ
          * 컴공인의 고충 - 사람들이 컴퓨터 고쳐달라고 다.
          * [권순의] - 어 이거 안 썻었네-_-; 우리 동네 이야기를 하다보니 참 노원구라는 동네는 있을건 정말이지 다 있는 거 같네요. 구에서 정말 복지 쪽에는 신경을 많이 쓰는 거 같긴 데... 교통이 안 좋아 -_-;; (지도 보면 서울 변두리가 노원입니다. 어디 나가려면 시간은 기본으로 잡고 나가죠;;) 뭐 아무튼,, 영어로 동네 소개 하면서 다시번 우리 동네를 돌아보게 되어(?) 좋았습니다.
          * [송지원] - 지난번까지는 쉽지만 알아두면 좋은 표현이 많은(..은 훼이크고 역할분담하기 괜춘했던) 장면들을 선택했다고 하면 이번에는 좀 길고 빠른걸 선택했는데.. 영상속도를 따라하기가 많이 버거워서 몇 번 스크립트 외워서 하다가 급마무리 ㅋㅋㅋ 빠르게 말하는게 중요건 아니지만 익숙해지려면 많이 따라해봐야겠어요. 롤모델로 이렇다하게 생각나는 유명인사가 많지 않아서 (그냥 이 사람의 이런 점, 저 사람의 이런 점을 본받아야겠다 뿐이었지 롤모델은 그닥..) 어머니에 대해 많이 얘기했는데 공교롭게도 순의가 그날 우리 어무이와 대면했드랬죠 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
  • Gof/Adapter . . . . 24 matches
         클래스의 인터페이스를 다른 필요 클래스의 인터페이스에 맞게 변환해준다. Adapter 는 서로 호환성이 없는 인터페이스들끼리라도 같이 작동할 수 있게끔 해준다.
         다음과 같은 경우에 AdapterPattern를 이용다.
          * 관련성이 없거나, 예측하지 못 클래스들과 협동하는 재사용가능 클래스를 생성하기 원할때. 이 경우 클래스들이 호환성을 가지는 인터페이스를 필요로 하지 않는다.
          * (object adapter 의 경우에만 해당) 현재 이미 만들어진 여러개의 subclass가 필요 경우, 하지만 각각의 서브클래스들에 대 인터페이스를 하는 것은 비효율적이다. 이 경우 parent class의 인터페이스를 adapt 할 수 있다.
         adapter 클래스는 하나의 interface를 다른 interface 에 적합하게 맞춰주기 위해 (말 그대로 어뎁터 역할~) 다중상속을 이용다.
         adapter 객체는 object composition 에 의존다.
          - 클라이언트가 이용 domain-specific 인터페이스를 정의다.
          - Target의 인터페이스에 따라 객체들과 상호작용을 다.
          - adapting이 필요 현존하는 interface를 정의다.
          * 해당 클래스를 이용하는 Client들은 Adapter 인스턴스의 operation들을 호출다. adapter는 해당 Client의 요청을 수행하기 위해 Adaptee 의 operation을 호출다.
         BridgePattern 은 adapter object와 비슷 구조를 가진다. 하지만 BridgePattern의 AdapterPattern과 그 의도가 다르다. BridgePattern은 실제 구현부와 interface부분을 분리시켜 실제 구현 부분이 다양하고 독립적일 수 있도록 하기 위 것이다. adapter는 현재 이미 존재하는 객체에 대 interface를 바꾸기 위해 이용된다.
         DecoratorPattern은 객체에 대 인터페이스의 변화없이 객체를 확장시킨다. Decorator 는 adapter보다 더 application에 대해 투명적이다. 결론적으로 DecoratorPattern은 재귀적인 composition을 제공다. 이것은 순수 adapter로서는 불가능하다.
         ProxyPattern은 해당 객체에 대 대리자 역할을 하며, 실제 객체에 대 interface를 변화시키지 않는다.
  • Java Study2003/첫번째과제/방선희 . . . . 24 matches
          -- class파일은 그 자체가 실행파일이 아니다. 따라서 그냥 수행될 수 없으며, 이 class파일을 읽어서 해석 후, 실행해 줄 무언가가 필요데, 그것이 바로 JVM이다.
          * Thread를 완벽하게 지원다.
          * 공고 security
          * 장점 : 가상머신이 플랫폼에서 제공되면, 어떠 자바 프로그램도 그 플랫폼에서 실행될 수 있다.
          * 2. 서블릿이나 JSP 는 J2EE의 구성원들로서 서버사이드 스크립트라고 합니다. JSP가 만들어진 이유가 뭐냐하면, 서블릿의 문제점을 해결하기 위해서라고나 할까... 웹 프로그래밍이란게 본질적으로 웹디자이너와의 협력이 불가피데 서블릿의 경우에는 DISPLAY 부분을 수정하기 위해서 웹디자이너가 접근하기 어렵다는 단점이 있죠.. 이때문에 JSP가 만들어졌다고 알고 있습니다. JSP라는 파일은 웹 디자이너가 페이지를 수정하기 편하게 되어있다는게 장점이죠. JSP가 컴파일되면 서블릿이 됩니다.(이게 전부임...) 그리고 서블릿이 실행되면 실제 HTML 페이지가 클라이언트에게 전송되는 것입니다.
          빈즈에 대해서 이야기 하자면 웹 서비스라는 큰 테두리 내에서 이야기를 해야 하는데, 간단하게 말하자면 빈즈라는 것이 만들어진 이유는 프로그램의 DISPLAY 부분과 LOGIC 부분을 분리해서 좀 더 확장성있고 유연 시스템을 개발하고자 하는 취지에서 탄생 것입니다.(언뜻 이해가 안될 수도 있음...)
          "추상화" 라는 것과 밀접 관련이 있습니다. 우리가 윈도우 운영체제를 쓸때 C 드라이브 D 드라이브를 클릭만 하면 그 안의 파일들이 다 보이죠. 하지만 실제 컴퓨터 안에서 뭐가 어떻게 돌아가는지는 알 필요가 없습니다. 그저 아이콘이 보이면 클릭해서 그 안의 파일들을 보고 열고 삭제하거나 수정하면 되는거죠.
          프로그래밍을 할때 데이터베이스에 대 접근이라든가 또는 다른 시스템에 대 참조를 할때 굳이 그 시스템에 대해서 세세하게 알필요 없이 그저 외부에 주어진 인터페이스만을 이용해서 접근하면 됩니다. (예를 들자면 어떤 기능을 이용할때는 이런 메소드를 호출하면 된다. 어떤 값을 저장하기 위해서는 이런 메소드로 접근하면 된다 정도). 빈즈에 대 내용은
          * 이 내용들을 대충이라도 이해했으면 될꺼 같군요. 역시 마찬가지로 실제로 프로그램을 돌게끔 만들지를 못거 같군요. 번 해 보세요.
          * Java란 프로그램언어는 enterprise 급 기업의 web시스템에서부터 작은 핸드폰에 이르기까지어디든지 사용할 수 있다. 다시 말해 Java를 할 줄 알면 어느 곳에나 적용 가능 프로그램을 개발 할 수 있다는 말이다. 그 뿐만 아니라, Java로 개발된 시스템은 다른 언어로 개발된 시스템보다도 훨씬 쉽게 확장이 가능하다.
          예를 들어 Java로 인사시스템을 개발하여 운영하고 있다가, 새로운 급여 시스템을 개발하고자 다고 가정하자. 이때 Java는 다른 언어에 비해 기존 시스템과 쉽게 연동가능하며, 혹 기존 시스템이 Java가 아니더라도 그 일은 가능하다.
          * Java는 보안능력이 뛰어나다. 예를 들어 네트워크를 통해 내 PC로 download된 Java로 개발된 프로그램은 일반적으로 그 능력이 제된다. 다시 말해 바이러스처럼 작용할 수 없다는 말이다 (이점은 MicroSoft의 Active X와 비교된다).
          예를 들어 모 site에 접속하였더니, applet이 내 PC로 내려와 수행되었다. 만약 이 applet이 내 PC의 중요 정보를 가져가거나 지워버릴 수 있을까? 일반적으로 불가능하다(물론 가능하게 하는 방법도 있다. 하지만 일반적으로는 불가능하다).
          기존에 Sun OS에서 Java로 개발 인사시스템을 Windows NT로 이관하고 싶다. 이때 프로그램 수정없이 가능할까? Windows NT를 지원하는 JDK가 있다면 가능하다. 그러고 Windows NT를 지원하는 JDK는 있다.
          * Java를 이용해 재사용 가능 object를 만들 수 있다. 이 object는 향후 다른 프로그램내에서 그냥 재사용 가능하다. 강력 Java의 재사용성은 Java가 가지고 있는 장점 중에서도 가장큰 장점이라고 말할 수 있다.
          예를 들어 A라는 회사에서 인사 시스템을 Java로 개발하여 사용하고 있다고 가정하자. 다른 B라는 회사에서도 같은 인사 시스템을 개발하고자 다면, B회사는 A회사의 인사 시스템 중 승진과 관련된 일부분을 가져와 그대로 사용할 수 있다.
          * 모호 언어적 특성, 비결정적 자바 가상머신, 표준화된 실시간 API가 없는 문제 때문에 실시간 응용이 어렵습니다.
  • Linux . . . . 24 matches
         리눅스와 비슷 운영체제로는 정통적인 유닉스 클론 이라고 평가받는 [:FreeBSD BSD]계열이 있다. BSD계열중 가장 잘알려진 [http://www.kr.freebsd.org FreeBSD]의 경우 실제로 과거부터 hotmail.com, yahoo.com, cdrom.com 을 운영해온 네트워킹에 대 안정성이 입증된 운영체제이다. 실제로 2.6커널의 도입이전에는 BSD의 네트워킹이 더욱 뛰어나다는 평가를 받았지만 일반적인 의견이었으나, 많은 구조적 변경을 통해서 리눅스는 현재 이런 점을 극복하고 BSD와 리눅스를 선택하는 것은 운영자의 기호일 뿐이라는 이야기를 다. 최근에는 리눅스를 데스크탑의 용도로 까지 확장하려는 노력의 덕분에 로케일 설정관련 부분이 대폭 강화되었으며, 사용자 편의성을 고려 WindowManager인 [Gnome], [KDE] 등의 프로그램이 대폭 강화되면서 low-level 유저라도 약간의 관심만 기울인다면 충분히 서버로써 쓸 만 운영체제로 변모하였다.
         본 페이지는 특별히 리눅스에 대 실제 운영에 관 이야기를 지양하려고 다. 운영에 관 내용은 리눅서들이 항상 말하듯이 네트워크의 바다에 널려있기 때문이다. 수많은 자료들을 대하면서 자신이 필요 자료를 찾는 것도 리눅서가 되는데 필요 덕목이다.
         어느정도 실력을 쌓았다 싶으면 RunningLinux, Oreilly 를 읽기를 권다. 이 책은 비록 초심자가 읽기에는 부적절하지만 APM설정에 어느정도 리눅스의 구조에 대해서 익힌 사람들이 리눅스를 운영하기 위 전반적 기초지식의 대부분을 습득 할 수 있는 수작이라고 생각된다.
         [http://www.kldp.org 리눅스 문서 글화 프로젝트(KLDP)]
         [http://kltp.kldp.org 국 리눅스 팁 프로젝트(KLTP)]
         [http://www.debianusers.org 국데비안사용자모임]
         [http://www.gentoo.or.kr 국젠투사용자모임]
         [http://www.ubuntu.or.kr 국우분투사용자모임]
         [BSD]도 상당히 유명 편인데 이 커널의 제작자가 안알려진 것은 약간 특이 일이라고 생각할 것이다. 이유인 즉은 BSD는 현재 메인테이너들에 의해서 커널이 관리되기 때문이다. 리눅스 커널은 커널 메인테이너 들을 의견의 제시를 하지만 실제로 방향을 결정하는 최종 결정권자는 리눅스 커널의 최초 개발자인 리누즈 토발즈이다. 그렇지만 BSD는 세계에 있는 BSD메인테이너(커미터)중에 몇명이 선발되어 커널의 개발을 주도하고 운영되기 때문에 사실 어떤 사람의 이름이 특별히 나올 여지가 많지는 않다. 리누즈 토발즈는 좋은의미의 독재자라고 불리기도다.
         DeleteMe) [EmbeddedSystem] 을 알아보려고 이곳저곳을 돌아다닌 끝에 도착 Linux...- 이승
  • MFC/DynamicLinkLibrary . . . . 24 matches
         기존의 C/C++ 프로그래에서는 라이브러리를 LIB라는 확장자를 가진 형태로 제공하여 코드를 컴파일후 링커가 프로그램에 필요 부분을 라이브러리 파일에서 추출해서 만들어진 프로그램에 붙여넣는 방식으로 만들어졌다. 이런 구조가 윈도우 프로그램으로 오면서, 바뀌어야했는데..
         종전의 방식처럼 정적으로 링크를 하게되면 윈도우 프로그램의 특성상 굉장히 메모리를 많이 차지하는 프로그램이 동시에 실행이 되면서 쓸데없이 동일 코드영역이 중복적으로 메모리 공간안에 차지하게 되는 현상이 발생하였다. 여기서 착안하여 생겨난 것이 DLL이다. 이는 실제 프로그램의 수행부분을 개로 두고서 여러개의 프로그램에서 그 부분을 공유하여 사용하는 것이다.
         확장자가 반드시 DLL이어야 하는 것은 아니지만, DLL 이 아닌경우에는 프로그래머가 이를 로드하는 부분을 따로 만들어야 다. .vbx .ocx같은 것은 특정 종류의 컨트롤들을 포함하는 DLL 들이다.
         Library.DLL을 3개의 프로그램 A,B,C가 동시에 공유다고 하면 각각의 프로그램이 실행될때마다 각 프로그램에서는 DLL파일의 함수로의 링크가 일어난다. 이런 과정은 윈도우 운영체제에 의해서 자동으로 이루어지고, 개의 프로그램이라도 실행이 종료되지 않으면 윈도우는 DLL을 메모리에서 제거하지 않고 남겨준다.
          프로그램과 DLL이 메모리 안으로 로드되자마자 사용되는 함수들에 대 링크가 성립된다.
          프로그램이 먼저실행되데 DLL은 프로그램의 요청이 발생 시점에서 메모리에 로드된다. 그때가 되서야 프로그램은 DLL로부터 함수의 어드레스를 얻고 그것을 사용해서 함수를 호출다.
          프로그램에서 필요 메모리의 양을 최대 줄이는 것이 가능하다.
         runtime dynmaic linking 의 중요 점은, 런타임 상에서 해당 모듈을 교체할 수 있다는 점이다. winamp 의 나 KMP 등와 같은 플러그인을 제공해주는 프로그램의 경우 대부분 이러 runtime-dynamic linking 방법을 이용다.
         DLL은 함수에 대 코드만을 저장는데 국되는 것이 아니다. 비트맵, 폰트와 같은 리소스들을 DLL 안에 위치시킬 수도 있다. 예를 들자면 카드놀이에 사용되는 Cards.dll 에서 카드들에 대 비트맵 이미지와 그 것들을 다루는데 필요 함수들을 포함하고 있다.
          독립적 실행은 불가능하지만 main함수의 변형된 형태를 포함다. 이 곳에서는 dll이 사용되기 전에 초기화되는 내용들이 포함되게 된다. DLL초기 로드시 운영체제가 호출다.
         만일 프로세스-global 메모리를 쓰고 싶다면, 메모리 맵을 이용하거나 DLL 공유 영역을 선언하는 방법 등을 써야 다.
  • Spring/탐험스터디/wiki만들기 . . . . 24 matches
          * 현재 로그인 사용자 정보 가져오기
          * Spring Security의 Role Voter는 "ROLE_" 접두어를 사용 접근 속성만 처리다. 단 접두어는 커스터마이징이 가능하다.
          * MarkdownJ, MarkdownPapers는 문서가 부실하고 남은 두 구현체 중 [https://github.com/sirthias/pegdown Pegdown]이 위키 제목을 통 페이지 링크를 더 간편하게 지원해서.
          * 아주 간단 Pegdown 사용 예
          * ''CGLIB는 코드 생성 라이브러리로서(Code Generator Library) 런타임에 동적으로 자바 클래스의 프록시를 생성해주는 기능을 제공(펌)'' 이라고 다.
          * 처음에 소스 코드 짜면서 일단 돌아가게 만들자!! 는 마음으로 코딩을 했더니 바꿔야 할 부분이 아주 많아졌다. 아무렇게나 짜려는 건 아니고 개발이 너무 지연되다가 흐지부지 되는 게 싫어서 그렇게 건데 지속적으로 개발하다가 특정 부분을 고쳐야할 시기에 기민하게 고치지 않으면 답이 없는 코드가 되는 것 같다.
          * 당시엔 적절 결정이라 생각했었을 텐데 이제보니 경악?스러운 부분이 있었다. '''결정에 대 이유를 기록해두자'''.
          * 이전에 돌아가던 것이 안돌아가 코드를 보니 테스트를 위 Mock 객체를 참조하고 있었다. 실제 객체는 구현이 덜 되어있었음. 테스트를 하기 위 구현을 했었다는 것을 알게되었다. 테스트용 코드가 Mock 객체를 벗어나 실제 객체에도 묻어있었음. 당시엔 확장과 변화를 위해 정걸 텐데 ''지금보니 왜 이럴까?''
          * 사소 결정이라도 결정을 할 때에는 이유를 적어야겠다.
          * 좀 오래 Spring, Hibernate도 어려움. CGLib, Spring Security, JSP, Session 찾아봐야겠다.
          * 이전 (리비전 9)에서는 jsp 에서 pageContext.getAttribute("page")로 Response의 page를 불러올 수 있었는데 리비전 10부터 pageContext.getRequst().getAttribute()(또는 request.getAttribute)를 해야 page를 불러올 수 있다. 왜지? 모르겠음. 참헤멤
          * login.jsp 를 만들어서 커스터마이징 로그인 페이지를 사용할 수 있게 수정했다.
          * 페이지를 타이틀로 검색 할 경우 어떻게 페이지 타이틀을 받아서 검색을 뒤 결과를 돌려주고, 없는 페이지는 새로 만들 수 있게 할까?
          * 비슷 기능으로는 getServletPath()
          * Page또는 User 계정 삭제에 대 고민. Page는 삭제도 History로 남는다. 삭제했다가 같은 이름으로 다시 만들면 history는 남아있음. 그러나 User는 삭제해도 id는 남아서 history에 존재해야하고 같은 id로 다시 만들면 기존 정보 삭제가 필요. 그래서 User의 속성중 id와 다른 정보(password, e-mail등..)를 분리하였다.
          * User가 탈퇴시에도 userId는 남아 있어야 하며 탈퇴 id로 가입할 수 있어야 하는 이슈 해결을 위해 User에서 userId(String type)와 password,..(UserInfo.class)를 분리하였다.
          * 회원탈퇴시 UserInfo를 삭제하는 것이 아니라 안의 field들을 null등으로 초기화 하기로 했음... + 탈퇴 회원인지 flag
          * 간단 문제인데 (내게) 우아 해결방법이 없다. 좌절.
          * backlink는 자신을 참조하는 링크들에 대 참조(역참조)이고, linkback은 backlink하는 방법들이군.
  • Z&D토론/History . . . . 24 matches
         여러 소모임들을 활성화 하여 다수의 회원들의 활동을 적극적으로 만들어 보고자 각자의 노선을 진행걸로 기억합니다. 제가 처음 들어왔을 때에도 폴리곤 데블스 등의 소모임들이 존재했었던 걸로 기억합니다. 여기서 가지 생각해 보아야 할 것은 소모임은 소모임이란 것입니다. .... 소모임에 대 제 생각은 어떤 ''소속내에서만'' 이루어져야 다고 생각했기 때문입니다. --Jihwan Park
         주도적으로 이끌어 주는 선배의 노력때문이 아닌가하는 생각이 듭니다.. 처음 만들어 졌을때는 승태형이 그 역할을 해왔을 것이고.. 제가 제대 이후로는 제가 그 역할을 해왔다고 생각하고 이제는 그 역할을 후배들에게 물려 줬다고 생각합니다. 물론 후배를 충원하기위 행위로써 기억에 남을만 야간 세미나를 하나의 전통으로 삼은 것 역시 그런 배경이 된게 아닌가하는 생각도 들구요.. 솔직히 몇번 후배를 뽑고 같이 공부를 해온 저로써.. 그리고 곧 졸업할지도 모르는 4학년이라는 입장에서 01을 뽑는 것은 부담스러운 일이었습니다. 그런데 후배들이 원하더군요. 후배들 말로는 야간 세미나를 게 가장 기억에 남는다고.. 그리고 01 후배들도 그렇게 말하구요. 저역시 그렇게 생각하구요.. 데블스에서 가장 기억에 남을 만 일이 후배를 뽑기위해 밤새서 세미나를 하는 일이라는 점이 아마도 그러 결정적인 배경이 된게 아닌가 하는 생각도 듭니다. --최태호
         데블스가 왜 소모임으로 대를 이어갔는가.. 제가 알기로는, 또 제가 보기로는 만들어질 당시 제로페이지의 기능이 유명무실해져서 그랬던것 같습니다. 현재의 제로페이지는 소규모 인원만으로 운영되는 것으로 보입니다만 데블스가 생겨날 때는 우리과 인원의 대부분이 제로페이지라는 울타리에 들어와 있었습니다(신입생중 대부분이었죠). 그러니 제로페이지는 연구를 위 모임으로서의 기능은 더 이상 할수 없는 (그 당시 말하기로는)"학원"으로의 기능만을 수행할 수가 있었습니다. 결국 앞선분이 말 것처럼 제로페이지의 부흥책으로 소모임의 활성화가 진행되었고. 그래서 데블스가 만들어졌고, 가만히 두면 흩어져버릴 후배들을 묶기 위해서 지속적으로 후배를 충원하게 된 것이지요. 물론 충원은 분리전까지는 제로페이지내에서 이루어졌습니다. 그 후 2년정도 뒤에 폴리곤이라는 소모임이 만들어지게 되었고 어느정도 경쟁관계가 형성되었습니다. 이후 풀리곤이 어떻게 되었는지는 알수가 없군요. 아마 데블스가 제로페이지를 나오면서 소규모가 된 제로페이지를 이들이 운영 것 같습니다. 잠시 딴데로 샜군요. 암튼 데블스가 대를 이어간 이유는 이렇습니다. - 김수영
          현재 폴리곤을 일단 소규모화된 zp를 보고 암묵적 소멸 상태입니다. 사실 99들중 폴리곤의 이름아래 모인 사람들이 있지만, 제일 처음 번 폴리곤의 모집이후, 자체적으로 zp내에서 편가르기는 필요없다란걸 알게되었기 때문입니다. --상민
         학회에서 소모임을 나누는 기준이 잘못되었던건 아닐까 생각이 드네요. 뚜렷 기능의 특화없이 나누어진 소모임이 학회안에서 지속적으로 유지되는 것은 어떤 의미를 가질까요. 제로페이지란 인력풀, 자원풀에 경계를 긋고 둘로 나누는 무의미 일이 아닐까요. 저는 기능 중심으로 조직이 나누어져야다고 생각합니다. 그리고 그 기능을 다 조직은 빨리 소멸되고 새로운 조직이 구성되는 일이 반복이 되어야다고 생각합니다. 결국 그 조직은 소모임보다는 프로젝트팀이란 이름이 적합하다고 봅니다. -- 이덕준
         참고로 제가 생각하는 데블스가 제로페이지에서 떨어져 나온 이유는 물론 제가 없을때 데블스가 제로페이지에서 분리가 되었지만..일종의 제로페이지에 대 무관심이라고 생각합니다. 데블스 사람들이 제로페이지에 무관심 할수 밖에 없었던 이유는 데블스 자체로도 만족을 했기 때문일 거구요.. 그러 것은 데블스가 제로페이지에서 떨어져 나올 즈음 상경이가 써놓은 글에서 보면 알수 있습니다. 글의 내용은 폴리곤 사람들은 제로페이지에 많은 기여를 하는 반면 데블스는 아무도 제로페이지에 신경을 쓰지 않는다라는 내용이었습니다. 필요 없으니 당연히 떨어져 나가겠지요. 물론 게다가 제로페이지에 무관심 데블스에 불만을 가지고 있는 폴리곤이 있으니.. 불보듯 뻔 일이 아닐까 생각합니다. 어찌되었든 저역시 처음 데블스가 제로페이지에서 떨어져 나올때 불안 했던 것처럼 다시 데블스와 제로페이지를 합치자는 말이 나오는 지금 상황 역시 불안하기는 마찬가지입니다. 저는 이 일이 어찌되든 후배들이 모두 좋은 방향으로 되길 바랄 뿐이고 그들이 정하는대로 따를 것입니다. - 최태호
  • 니젤프림/BuilderPattern . . . . 24 matches
         빌더 패턴은 소프트웨어 디자인 패턴의 하나이다. 빌더 패턴은 복잡 객체를 생성하는 방법과, 표현하는 방법을 정의하는 클래스를 별도로 분리다. 이 분리로서 얻어지는 효과는, 동일 생성 과정이 다른 표현을 얻어낼 수 있게 되는 것이다.
         쉽게 말해서, 아주 복잡 오브젝트를 생성해야하는데, 그 일을 오브젝트를 원하는 클래스가 하는게 아니라, Builder 에게 시키는 것이다. 그런데 자꾸 나오는 생성/표현 의 의미는, 바로 director 의 존재를 설명해 준다고 할 수 있다. director 는 Building step(construction process) 을 정의하고 concrete builder 는 product 의 구체적인 표현(representation) 을 정의하기에.. 그리고, builder 가 추상적인 인터페이스를 제공하므로 director 는 그것을 이용하는 것이다.
         복잡 데이터구조를 생성해야 할 때. 너무 간단가?
         패스트(정크)푸드 레스토랑 맥도날드에서 어린이용 해피밀을 만들어내는 걸로 예를 들 수 있다. 일반적으로 해피밀은 메인, 사이드, 음료, 장난감 (햄버거, 프라이, 콜라, 매달 바뀌는 장난감)으로 이루어져 있다. 여기서 중요건, 이런 템플릿이 정해져 있다는 것이다. 요즘 같이 까다로운 아이들에게 어릴때부터 맥도날드의 입맛을 확실히 들여놓으려면 당연히 다양 바리에이션이 필요하다. 고객은 햄버거나 치즈버거나, 아니면 맥너겟이나 이런걸 선택할 수 있지만, 기본적으로 해피밀이 구성되는 방식에는 변함 없다. 여기서 빌더 패턴을 적용다면, 카운터에서 주문을 받는 직원을 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 에 연결해 준다.
         Head First Design Pattern 에 나오는, Vacation Planner 를 구현 코드
         보시다 시피 Builder Pattern 과 Abstract Factory Pattern 은 많이 비슷하다. 차이점이라면 약간 미묘하다고도 할 수 있는데, Abstract Factory Pattern 은 무엇이 만들어지는가 에 초점을 맞추고 있고, Builder Pattern 은 어떻게 만들어 지는가에 초점을 맞추고 있다고 풀이할 수 있다. 물론 두 종류의 Creational Pattern 은 Product 을 제공하는데 첫번째 책임이 존재다. 가장 큰 차이점이라면, Builder Pattern 은 복잡 오브젝트를 단계 단계 만들어서 최종 단계에 리턴해주고, Abstract Factory Pattern 은 여러 종류의 generic product 를 여러종류의 concrete factory 가 생성하기 때문에 각각의 오브젝트가 만들어질 때마다 product 를 받을 수 있게 된다.
         Abstract Factory Pattern : 어떤 종류의 명확 오브젝트를 생성할 것인지를 실행 시간까지 연기다. (실행시간에 결정다) 예를 들자면, 레스토랑에서 오늘의 추천메뉴를 선택하는 것이다. 서버(interface to factory)는 "오늘의 추천요리" 라는 abstract generic message 를 주방(concrete factory)에 전달하고 음식을 받게 될 때 concrete product 를 얻게 되는 것이다.
         Builder Pattern : 복잡 오브젝트를 어떤 방식으로 조합하여 만들어낼지 에 대 방법을 제공다. (encapsulate) 예를 들자면, 건축업자와 계약을 해서 집을 건설 할 때, 건축업자(builder) 에게 평면도(product 의 윤곽)를 제공하면 건축업자는 일련의 작업을 거쳐서 집(complex object)을 만들어 낸다.
  • 데블스캠프2005/수요일후기 . . . . 24 matches
         == 참여 사람 ==
         [박경태] [윤성복] [남도연] [김재성] [김영록] [최정빈] [최경현] [김민경] [유우성] [임수연] [송수생] [정수민] [유선] [조현태] [박원석] 이[형노][김소현] [허아영]
         [이승] [윤성만] [황재선] [문보창] [김상섭] [이영호] [김정현] [안성진]
         이승 : 여전히 아쉬운 강의. 지나치게 욕심이 많았다. 재미가 없었던게 문제. 선배님의 조언이 필요했었던듯.
         유선 : 사실 매우 어려웠습니다. 처음에 너무 모르니까 답답했던게 아쉽네요 씨뿔뿔을 안해서 클래스가 뭔질 잘 몰랐는데 -_-;; 우리는 아직 객체고 뭐고 개념이 잘 안잡혀있답니다. 죄송 ㅠ_ㅠ
         임수연 : 자바를 배웠는데 이해하기 어려웠다, 그래도 강사 선배님들이 너무 열심히 해주셔서 감사했고 월요일보다 열심히것같아서 뿌듯,ㅋ
         조현태: 새로운 것을 많이 해본듯 하다, 특히 java와 네트워크 소켓은 기억에 많이 남을 듯 하다. 그리고 강의하는데 수고하신 강사분들께 감사를 표다.
         이형노 : 오늘 java , 소켓프로그래밍 , jsp.. 어렵다.. java만 어느정도 끄트머리만 잡은듯 하고.. 나머지는 전혀.. 어렵다..ㅠ.ㅠ
         [최경현] : 오늘은 전체적으로 처음 접해본 주제들로 세미나가 있었다. 평소에 관심이 있던 jsp를 배워서 좋았다. 다양것들 좀더 배워보고싶다.
         느낌: 오늘 내용들은 너무 어려웠다.
          아직 학교에서는 배운 분야가 많지 않은데, 데블스 캠프를 통해서 시야가 층 넓어진것 같습니다. 이젠 졸지 않을게요 ~ ㅜ
         데블스캠프 강사들은 반드시 자신의 강의에 대 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
          * 아직도 세미나를 할때마다 머리속이 새하얗게 변해 버린다. 생각보다 진도를 못나가고 자바의 새로운 기능에 대해서 많이 보여줄수 없었다. 문법적이나 개념적으로 지나치게 욕심을 많이 부린 탓인것 같다. 의외의 곳에서 새내기들이 버벅이고...원래 생각은 재학생이 생각외로 많이 오지않아도 새내기끼리 할수 있는 난이도 라고 생각했었는데... 선배들에게 강의 내용을 검증받지 못점이 너무 아쉽다. 어제 엊그제 보다 지나치게 재미 없지 않았나 싶다. 설명도 지나치게 추상적이고...OOP를 어렵게 배운 만큼 새내기의 마음도 잘 이해할수 있을거라고 생각했는데... 생각보다 그러지 못것 같다.
         결론 : 자바의 재미 있는 부분을 많이 보여주지 못 것 같다. 욕심이 과했던듯... ㅠ_ㅠ 재동형의 무조건 재미 있는 세미나 라는 말을 이제 좀 이해 할수 있을것 같았다. - [톱아보다]
          * 오늘 전체적으로 난이도 조절에 실패하지 않았나 싶다. 선배님들의 검증이 필요했다. 제대로 검증 받지 못 강의를 강행 후회...ㅠ.ㅠ
          위에 글 둘다 제가 작년에 세미나 후 비슷 경험을 것 같네요. 제가 하는 설명도 그렇지만 실습에서 더욱 못 따라온다는 느낌이었거든요. 작년에 저는 제가 해보지 않은 실습을 참가자들에게 던져주고 해보라고 했습니다. 그래서 이번에는 제가 해보았던 것을 가지고 리허설을 뒤에 세미나를 진행했어요. 이번엔 어떠가요? 다음에 이러 아쉬운점이 생기지 않게 어떻게 해야 할까요? --[Leonardong]
          황재선의 파이썬 세미나는 세미나 시작 3시간 전에 약 15분쯤 제게 검증을 받았습니다. 먼저 세미나 자료를 제게 이메일로 보내주었으며 저는 그 자료를 수정해야 할 곳을 알려줬고 진행 방법에 대하여 조언을 했습니다. 세미나에 참여하지 않아서 잘 진행했는지는 모르겠지만 검증을 받지 않고 것 보다는 훨씬 잘했으리라 생각합니다. --재동
          * 재미있고 좀더 토론으로 이끌어 낼수 있는 세미나가 되었으면 다.
  • 몬테카를로법 . . . . 24 matches
         [몬테카를로법]이란, [시뮬레이션] 테크닉의 일종으로, 구하고자 하는 수치의 확률적 분포를 반복 가능 실험의 통계로부터 구하는 방법을 가리킵니다. [확률변수]에 의거 방법이기 때문에, 1949년 Metropolis Uram이 [모나코]의 유명 도박의 도시 [몬테카를로]Monte Carlo의 이름을 본따 명명하였습니다.
         [몬테카를로법]의 역사는 멀게는 확률론의 개척자들이었던 도박사들이 여러 번의 임의추출을 바탕으로 특정 카드 조합이 나올 확률을 직접 계산했던 중세까지 거슬러올라갈 수 있습니다만, 진정 의미에서의 몬테카를로법을 처음 사용 사람은 현대 [컴퓨터] 구조의 완성자이기도 천재 수학자 [폰 노이만]으로, 그가 참여했던 [맨해튼 프로젝트](미국의 [원자폭탄] 개발 계획)에서 중성자 확산 시뮬레이션에 처음 사용 것으로 알려져 있습니다.
         간단하면서도 유명 예로, 몬테카를로법을 이용 파이(∏)의 계산법이 있습니다.
         먼저 아래 그림과 같이 정사각형 안에 꼭지점을 중심으로 사분원을 개 그립니다. 이때 정사각형의 전체 넓이를 1이라고 하면 원의 넓이는 ∏/4 가 되겠지요. 이제 컴퓨터로 난수를 발생하여 무작위로 정사각형 내부에 점을 찍습니다.
         이와 같이 몬테카를로법은, 많은 수의 실험을 바탕으로 통계 자료를 얻어 그 자료로부터 역산하여 어떤 특정 수치나 확률분포를 구하는 방법입니다. 특성상 통계자료가 많을수록, 또 입력값의 분포가 고를수록 결과의 정밀성이 보장된다는 것을 알 수 있습니다. 때문에 컴퓨터를 이용하여 시뮬레이션이 행해집니다.
         몬테카를로법의 특징으로는, 우선 적용하기 쉽다는 점이 있습니다. 실제로 파이의 값을 정확히 구하기 위해서는 무급수에 관 지식과 오차범위에 관 지식 등 다양 배경 지식을 바탕으로 올바른 알고리즘을 만들어 그 값을 계산해야 하지만, 몬테카를로법은 그런 모든 절차와 관계없이 짧은 컴퓨터 프로그램 몇줄만으로 쉽게, 비교적 정확 수치를 얻을 수 있습니다.
         이런 장점은 이론적 배경만으로는 계산하기 어려운 수치들 - 예를 들면 복잡 형태를 가진 표면에 빛을 비추었을 때 반사광의 분포, 복잡 분자계의 화학적 특성 분석, 핵융합로에서 중성자 빔이 반응에 미치는 영향 등 - 을 직접 구할 필요가 있을 때 빛을 발합니다. 때문에 컴퓨터를 이용 분석이 발달 최근에는 거의 모든 과학과 공학 분야에 걸쳐 몬테카를로법이 광범위하게 사용되고 있습니다.
         몬테카를로법을 통 실험을 설계할 때는, 입력값의 확률분포와 실험의 수학적 모델링이 정확하지 않으면 몬테 카를로 방법은 무의미하다는 점에 주의하여야 하며, 난수의 분포가 분석에 큰 영향을 미치므로 필요 난수의 범위와 분포에 따른 올바른 난수 생성 함수에도 주의를 기울여야 합니다.
  • 송년회 . . . . 24 matches
          해를 마칠 즈음 ZeroPagers가 모이는 자리
          으음. 앞으로는 회계 페이지를 만들어서 따로 관리를 해보는것도 좋을듯. - [이승]
          4311 무언가 이질감이 느껴지더니;; 4411과 헛갈린듯. 그날 공지좀 붙여 놓아야 할듯 ㅋㄷㅋㄷ 죄송합니다 - [이승]
         학기 마무리행사로 학교전체가 들썩일텐데, 예약이 필요하지 않을까요?? - [이승]
          예약 당연히 필요하다. 올 만 사람 수의 2/3 정도로 예약 하면 될 듯 하다. --재동
          전화연락 : 나휘동, 윤성만, 이승.
          덧. 주소록에 변경내용 반영 해 놓았습니다. - [이승]
         제로페이지 14기 (04학번) 이승입니다. ^ ^
         2004년 해도 이제 서서히 기울어져 가고 있습니다.
         1년을 마무리하고, 또 해의 도약을 위해
         이승 : 011 734 8469 (MSN & Email : silverfishlee@hotmail.com)
         몇몇 메일은 내용이 조금 다를수 있습니다. - [이승]
          으흐흐흐 - [이승]
         첫줄에 회원, 가족 이란 단어가 있는데 어떤게 더 좋을까요?? - [이승]
          가족 좋네요 휴휴. 훈훈 느낌도 들고 -[iruril]
          이메일 연락후에 모여서 전화연락도 할 예정입니다. -[이승]
         송년회야말로 OpenSpaceTechnology를 할 만 좋은 기회가 아닐까 생각도 해봅니다. 친숙 송년회는 아니겠지만요. --[Leonardong]
         이메일 연락에 대해서 이야기가 필요데. - 이승
         동문서버에도 공지를?? -[이승]
         그날 뒤풀이로 가기 전에 잠깐 이런 것도 해보면 좋겠습니다. 아이디어는 템플스테이에서 했던 유서쓰기 시간을 차용 것입니다. A4용지 장과 펜을 나누어주고 (펜은 지참하는 사람이 많겠습니다만) 해를 되돌아보는 글쓰기를 해 봅니다. 단 시간은 너무 길지 않게 5분정도로 하고요. 그리고 사람들에게 자신이 쓴 그대로를 읽어줍니다. 템플스테이에서는 불을 전부 끄고 각자 촛불을 하나씩 켜고 이야기했는데, 그런 준비가 안 된다면 그냥 해도 좋겠습니다. --[Leonardong]
  • 정모/2003.3.5 . . . . 24 matches
          * 전반적인 03년도 계획에 대 토의
          1. 컴퓨터공학에 대 전반적인 설명
          - 제안 : 학회에 대 설명을 이때 같이 다. - 창섭, 상욱
          * 데블스켐프를 통해 정회원(ZeroPagers)로 승급다.
         === 프로그래밍 존(가제) 프로젝트에 관토의 ===
          * 단계별로 프로그램에 대 튜토리얼과 간략 설명과 함께 그 수준에 맞는 프로그램을 작성해서 레벨업 시키는 방식.
          * 데블스켐프를 통해 정회원(ZeroPagers)로 승급다.
          저 대로라면 DevilsCamp 가 신입회원의 모집기간이 되는것이 아닐까요? 승급이니 뭐니 하는 것 자체를 없앴으면 좋겠군요. 단, ZeroPagers 에 등록 가능 날를 4,5월 뒤로 미루면, ZeroPagers 에 신입생들이 우루루 참여 했다가, 우루루 사라지는 것도 예방할수 있겠지요. --NeoCoin
         어느분께서 이 기록을 담당하셨는지는 모르겠지만, 요약에서 이모티콘 같은 감정 표현의 글자를 쓰지 말아주세요. 모두가 동일 감정을 느꼈는지 안느꼈는지 확인하지 않은 이상 말이지요. --NeoCoin
          죄송할 필요는 없습니다. 참여하지 못 저로서는 이러 요약은 매우 반가운 일이지요. --NeoCoin
         제로페이지 1년 계획과 홍보, 그리고 신입생 모집에 관 이야기가 주를 이룰꺼 같습니다.
          * 저는 신입생 모집을 따로 기간을 안두고 마음대로 위키에 페이지를 만들게끔 두고 싶습니다. 물론 정회원은 데블스 캠프가 끝난 후가 될꺼구요.. 신입생을 위 시험대비 씨++ 세미나와 제로페이지 소개 등을 지속적으로 가지면서 준회원을 모으는 것이 좋을것 같습니다. -- 상욱(["whiteblue"])
          * 상욱이의 의견에 찬성합니다. 그러나 학회 활동을 지나치게 위키에만 의존하는 것은 경계해야 할것 같습니다. 그리고 준회원과 정회원 구분이 어떤 의미를 갖는지, 꼭 필요 구분인지 궁금합니다. --["이덕준"]
          * 의견은 좋지만, 이를 모든 학우들에게 알려지기는 힘듭니다. 그래서 모집 기간이 있었던것이 아니었나요? ZeroPage 는 항상 열려는 있다고 ZeroPage 내에서는 회자되지만, 이것이 다른 분들의 기억속에 남아 있기는 힘든것 같습니다. 그래서, 일정 모집 기간 정도와 그의 홍보는 필요하다는 생각이 듭니다. --NeoCoin
          * 학회 분위기를 조금 쇄신하고자 합니다. 타 모임과 다르게 우리 제로페이지만의 단체성이 조금 약게 사실인거 같구요 그래서 조금 더 많은 모임과 술자리, 엠티, 행사 등을 가졌으면 합니다. -- 상욱(["whiteblue"])
          * 조금 더 많은 모임에 찬성합니다. 가장 중요 모임은 학회활동의 중심이 될 학술 모임이 되어야 할 것이라고 생각합니다. ZeroPageEvents 를 잘 이용했으면 합니다. 보다 적극적인 참여가 있는 ZeroPageEvents 들이 많이 추진되었으면 합니다. --["이덕준"]
         '''홍보문제에 대 얘기'''
          * 홍보는 물론 02학번이 주를 이루어 홍보를 하겠습니다. 이 점은 정모 때 자세 의견이 교환되었으면 좋겠습니다. -- 상욱(["whiteblue"])
          * 여러 선배님들과 이야기를 해 봤는데요 페이지 디자인을 싹 바꾸어보려고 합니다. 페이지 디자인이 좀 안좋다라는(-_-; ) 의견이 많았기 때문에 해 보기로 했습니다. 게시판을 새로 만든다 등 이런 것들은 차근차근 하기로 했구요 일단은 번 다 바꾸어보는데 의미를 두기로 했습니다. 이무리 학습을 목표로 페이지라도 디자인이 깔끔하고 좋으면 훨씬 좋지 않을까요? -- 상욱(["whiteblue"])
          * 학기중 서버를 비교적 전력 공급이 원할 서버실로 이전 계획 중입니다. --NeoCoin
  • 채팅원리 . . . . 24 matches
         1. 사용자가 접속다.
         UserListControl : 사용자의 접속을 관리다. 채팅에 접속하려는 사람이 원하는 ID를 기존의 사용자들과 비교하여, 없으면 채팅 접속을 허락하고, 있으면 다른 ID를 사용할 것을 권다.
         클라이언트쪽에는 4개의 Thread가 있다. JFrame을 사용 클래스가 2개 있는데, 하나는 Login때 ID사용 허가를 확인는 프레임이고, 다른 하나는 채팅의 기본 프레임이다. 4개의 Thread는 다음과 같다.
         Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인다.
         ChatMain : 채팅의 주 인터페이스를 관리하는 클래스이다. 이 클래스에서 대부분의 GUI를 관리하고, 채팅메세지보여준다. 또 채팅에 접속 사람들의 ID를 보여준다.
         ReceiveMessage : 서버로부터 전달되는 메시지를 받아서 ChatMain 클래스의 메시지 출력 화면에 보여주는 역할을 다.
         UserList : ChatMain 클래스의 사용자 List에 접속 사용자 ID를 보여주는 기능을 다.
         채팅의 동작원리는 실제로 채팅이 이루어지는 과정을 예로 추적하면서 설명하기로 다.
         서버가 시작하면 ReceiveEvent 클래스에서 클라이언트로부터 전달되는 Event를 기다리는 동시에 StatusDisplay 쓰레드와 다른 쓰레드들을 시작다.
         클라이언트가 시작되면 Login을 위 ID 체크를 다. 서버에 접속하여 서버에 저장되어 있는 사용자 ID Vector에 사용하고자
         하는 ID와 같은 ID가 있는지 없는지 비교 후 결과를 클라이언트에 돌려준다. 이미 사용중인 ID이면 다른 ID를 사용할 것을 권하고, 사용가능하다면 채팅을 시작다.
         클라이언트가 대기실에 입장하면 내부적으로 클라이언트는 서버쪽에 새 사용자가 접속했다는 메시지를 보낸다. 그러면서, Login 프레임대신 ChatMain 프레임을 보이게 다. 이제부터 대기실에서 채팅이 가능하게 된다. 서버쪽에는 새 사용자가 대기실에 들어왔다는 것을 보여준다.
         새 사용자가 접속을 시도하면 처음과 마찬가지로 사용자 ID 체크를 하게된다. ID 사용 확인을 후에 대기실에 접속을다. 대기실에 접속하면, 기존에 대기실에 있던 사용자들의 사용자 ID를 보여주는 리스트에 새로 들어오는 사용자의 리스트가 추가되면서, 채팅화면에 새로운 사용자가 들어왔다는 메시지가 나오게 된다.
         2명 이상의 사용자가 접속 상태이므로 실제로 채팅이 가능하게 된다. 채팅의 내용은 클라이언트의 TextField의 내용을
         DagagramPacket에 미리 기억된 서버쪽의 주소와 포트번호를 추가하여 네트워크로 보낸다. 이 메시지를 서버가 받아서 등록된 모든 클라이언트쪽으로 보내 모든 클라이언트가 메시지를 받아 채팅화면에 출력할 수 있게다.
         채팅을 종료할 때는 채팅 윈도우의 종료 버튼을 누르면 윈도우 종료 이벤트가 발생다. 클라이언트는 채팅 종료를 확인하는 옵션 패널을 보여준 후, 서버쪽에 채팅을 종료다는 내용을 보낸다. 이때 보내는 내용은, 자신이 사용하고 있는 ID를 제거, 자신의 주소를 제거, 사용자 1명의 감소등이다.
  • 1002/TPOCP . . . . 23 matches
          * 전반적인 내용에 대 뼈대 & 구성방식
          * 책 전체흐름에 대 abstraction
          프로그래머들이 그들의 작업을 하는 방법에 대 연구 격려
          개인 프로그래머들의 실력을 향상시키는 것에 대 이해를 촉진
          어려움이 닥쳤을때, 문제 자체만을 처리하기를 원다.
          다른 사람들이 이용다는 것도 고려
          추후 변화되는 부분을 확립하거나, 스펙을 명확화다.
          문제해결방법을 찾는 여러 방법들을 인식하고 있다. 문제를 이해하기 위 프로그램을 준비하기도
          case) 물리 교수로부터 해당 메트릭스를 반전하는 프로그램 작성. 개발자는 (A) 뭔가 배울 수 있는 좋은 기회라고 생각, buffering 을 이용하여 문제를 해결하려고 함.
          각각의 프로그램에는 적절 레벨이 있다.
          프로그래밍의 각 부분에 대해 동일 능력과 수고가 필요하다고 생각하는 것을 잘못이다.
          우리는 이러 복잡 행위들을 단순 하나로 만들어야 다.
          우리는 프로젝트의 일들을 정리하여 각각의 사람들이 자신이 잘하는 영역에 대해서로 특수화할 수 있도록 할 수 있지만, 적어도 두가지 단점이 존재다.
          우리는 각각의 프로그래머들이 자신이 잘 못하는 영역에 대해 스페셜리스트가 되게 일을 할당함으로서 학습률을 극대화할 수 있다. 또, 그가 문제상황이 생겼을때 각가이 다른 작업으로 교체할 수 있는 기회를 가질 수 있다.
          프로그래밍 프로젝트에 대 전체 바퀴를 돌고 난뒤, 프로그래머들이 작업하는 더 올바른 방법으로 작업을 나누는 것을 시도다.
          에러의 존재를 탐지다.
          에러를 수정다.
  • 5인용C++스터디/멀티미디어 . . . . 23 matches
         MFC는 멀티미디어를 위 별도의 클래스를 제공하지 않는다. Win32 API함수 차원에서 멀티미디어를 지원하기 때문에 MFC에서는 별도의 클래스로 만들어 놓지 않은 것이다.
         - SND_ASYNC : 비동기화된 연수를 다. 연주시작 후 바로 리턴하므로 다른 작업을 바로 시작할 수 있다.
         - SND_LOOP : 지정 사운드를 반복적으로 계속 연주다. 이 플래그는 반드시 SND_ASYNC와 함께 사용되어야 다.
         - SND_SYNC : 동기화된 연주를 다. 사운드 파일의 연주가 완전히 끝나기 전에는 리턴하지 않는다.
         뷰에 WM_LBUTTONDOWN메시지의 핸들러를 만들고 OnLButtonDown 핸들러에 다음과 같이 코드를 작성다.
          Project/ Settings/Link 탭에서 winmm.lib를 링크해 주어야 다.
         그 후 컴파일하고 실행 후 작업영역을 왼쪽 마우스 버튼으로 누르면 소리가 날 것이다. 시스템에 사운드카드가 장착되어 있어야 하며 같은 디렉토리에 Battle.wav라는 파일이 있어야 할 것이다.
          앞서 만든 예제를 보면 PlaySound 함수는 사운드 파일 연주가 완전히 종료되기 전에는 리턴하지 않으므로 연주중인 동안은 어떤 일도 할 수 없다. 이런 방법을 동기화 방식이라고 다.
          SND_LOOP 플래그를 지정하면 반복적인 효과음이나 배경음악을 연주하는 등의 설정을 할 수 있을 것이다. 연주를 중지시키려면 PlaySound 함수의 첫 번째 인수를 NULL로 하여 다시 호출해 주면 된다. 따라서, 오른쪽 마우스 버튼을 누르면 연주가 중지될 것이다. 주의할 것은 SND_LOOP 플래그는 반드시 SND_ASYNC와 함께 사용해야 다. 만약 동기화 연주방식으로 반복연주를 하면 무 루프로 빠져버릴 위험이 있다.
          리소스 뷰의 팝업메뉴에서 Import 메뉴항목을 선택하고 리소스에 포함시키고자 하는 Wave 파일을 선택다. 그러면 IDR_WAVE1이라는 ID로 리소스에 삽입될 것이다.
          PlaySound함수는 메모리 크기의 제을 받아서 1-2분 정도의 사운드 밖에 낼 수 없다는 점, Wave형태만 지원다는 점, 연주과정에 사용자가 개입할 수 없다는 단점이 있다.
          MCI는 멀티미디어 요소에 대 지원을 장치독립적으로 제공하는 일종의 라이브러리이다. 이것은 PlaySound 함수가 하지 못하는 여러 가지 일을 할 수 있지만, 사용 방법은 훨씬 더 복잡하다.
          MCI를 사용하면 동영상도 아주 쉽게 재생할 수 있다. AppWizard로 PlayAVI라는 SDI 프로젝트를 만들고 WM_LBUTTONDOWN 메시지의 핸들러와 WM_DESTROY 메시지의 핸들러를 다음과 같이 작성다.
          동영상 연주는 Video fot window 라이브러리를 사용하므로 뷰에서 vfw.h를 인클루드 해 주어야 다.
          또 프로젝트에서 이 라이브러리를 사용할 수 있도록 Project/Settings/Link 탭에 vfw32.lib를 추가다. 그리고 동영상 파일을 프로젝트 디렉토리에 넣어두면 된다.
         hWndParent: 부모윈도우를 지정다. NULL일 경우, 별도의 윈도우로 열린다.
         hInstance: MCIWnd롤 사용하는 인스턴스 핸들을 지정다.
         szFile: MCIWnd생성시 오픈할 장치, 또는 AVI파일을 지정다.
  • CauGlobal/Interview . . . . 23 matches
          * 자신이 생각하는 국의 이미지는?
          * 미국의 대학과 국의 대학에 차이가 있다면? (공부환경, 수업, 기타 등등)
          * 숙제의 양과 질은 국과 어느 정도의 차이가 있나요? (국내에서 공부했 봤다면 국내의 경우와 비교해서)
          * 수업이 국에서와의 다른점은? ( ex Theory 위주인지? Practical 위주인지? )
          * 교수와 학생과의 관계과 국과는 어떤 차이가 있는 것 같습니까? (ex. 수직관계의 예...)
          * 국에 듣기로는 대학원 과정은 스스로 학비를 충당할 수 있다고 하는데 어떻게 학비를 충당하고 계산가요? 특히 Stanford 는 학비가 비싸다고 들었습니다.
          * 여기에서는 국내에서와 마찬가지로 학벌에 대 차이가 있나요? (대학 순위라는 것이 의미가 어느 정도나 있나요?)
          * 외부 Project 가 어느 정도나 있고 그에 대 보수는 어떤지?
          * 현재 인턴쉽 중인 것으로 알고 있는데 미국 기업문화에 대 느낌이 어떠신가요?
          * 인턴쉽은 어떻 경로로 구하게 되나요?
          * 우리나라 기준으로 보면 박사학위를 거치고 계시는 분이 인턴쉽을 하시는 것은 느낌이 좀 이상합니다. 여기서는 인턴쉽에 대 인식이 어떤가요? 또, 학부 인턴과는 어떻게 다른가요? 보수는 충분가요?
          * 직장 상사와의 상하관계는 국의 그것와 어떤 차이가 있나요??
          * 국의 학생들 특히 저학년 학생들에게 당부하고 싶은 말은?
          * 팀워크를 높이기위 활동은 어떤 것들이 있습니까?
          * 국과 미국에서 공부하기는 어떤 점이 가장 다른가요? 공통적으로 가장 중요 사항을 가지만 꼽으라면?
          * 생활비는 어떻게 해결하셨나요? 벌어서 쓰셨다면 그 방법은 양적, 질적으로 적절했나요? 해보고 싶었는데 하지 못 일은? 추천해 주고 싶은 방법은?
          * 미국 사회나 기업에 대 정보를 어디서 찾으면 효과적인가요?
          저도 그 점이 참 고민이에요. 날카로운 지적 감사합니다 :) 일단 학교에서 지원해주는 행사라 학교에서 원하는 답을 만들어주기 위 의식이 어느정도 작용했던것 같습니다. 만약 형이 이런 기회로 가시게 된다면, 어떤걸 해보고 싶으세요? 힌트가 있으면 정말 도움이 될것 같습니다. --sun
  • Cpp/2011년스터디 . . . . 23 matches
          * 2학기에 들어가기 전에 잉여로운 방학시간을 이용해서 C++에 관 여러가지를 공부해보는 스터디입니다.
          * 참가자: 김태진, 고
          * 진행 방식: 간단하게 C++책을 학습뒤 테트리스 코드 레이스로 둘이 같이 짜면서 필요 부분을 다시 탐독다.
          * OOP에 발 다가선다.
          * 테트리스를 완성다.
          * XCode에서 코드를 좀 더 업그레이드 시켜보려고 했으나 망할 --VS2008-- '윈도' 에만 돌아가는 것들(Windows.h)이 있어 실패하고 종이 컴퓨터에서만 짜기로 했음.
          * 12시 13분 현재, 블럭이 갑자기 사라지는 현상을 수정하고 지정 시간에 따라 조금씩 내려가게 하는데 성공.
          * 태진이 텐 좀 미안데 혼자서 따로 만들어 보고 있었다. X코드와 VS2008은 서로 다른점이 너무 많아서 둘이 같이하면 이래저래 진행이 안될것 같아서; 움직이는 블록과 이미 자리잡은 블럭(+배경) 그리고 이들을 움직이게 하는 함수. 이렇게 3개를 class화 했다. 이 중 이미 자리를 잡은 블럭은 다른 두개의 객체에서 접근가능하면서, 유일하게 하나만 존재해야 했다. 그래서 찾아본결과. 싱글톤 패턴이란게 있어서... 이것 때문에 하루동안 고생했다. 어쨋든 성공 ㅋㅋ 뭔가 끝이 보이는 느낌이다. 근데 왠지 완성시키고 나면 종나 느릴것 같아..
          * 사실 저 저번 때부터 이럴것 같은 조짐이 있었지. 결국 파토 ㅋㅋㅋㅋ 혼자서 합니다 이왕시작거 테트리스는 만들고 끝내야 겠으!
          * 보니까 동적할당답시고 포인터형만 선언해놓고 정리를 안함
          * 릴리즈에선... 안죽어... 사실 죽는 조건을 잘못 설정 탓도 있긴데.. 심지어 그냥 냅두면 부활도 다 으앜 뭐지!
          * [고종] - 정보은닉, 상속, 생성자, 소멸자, 복사생성자... 뭐가 이리 많앜ㅋㅋㅋ // 대민국은 윈도가 甲
          * [고종] - 디버그 모드와 릴리즈 모드의 차이를 이번 기회를 통해 느끼게 되었다.. 속도차이 엄청나고.. 디버그 에러가 나고 안나고 차이정도, 근데 그게 꽤나 인상깊은.... 이상것이 만들어졌다. 아, 설계도 겁나 중요걸 깨달음 ㅡㅡ; 나중에가서 고치려면 매우 힘듬.
          * Hold기능            (완성/패널티와 횟수제이 없음ㅋㅋㅋ)
          * 객체지향적으로 짜보고 고친다. 확장성까지 고려된 말끔 형태가 나올때까지.....
  • HowToDiscussIt . . . . 23 matches
         토론을 진행하는 방식이 "어떻게"이고 그 토론을 통해 성취하고자 하는 것(보통은 어떤 특정 의제)이 "무엇"이다. 이 양자를 분리다. 대부분의 토론은 다음의 양상을 띈다.
         지금 이 경우, "어떻게" 토론을 진행할 지에 대 합의가 되어있지 않은 상태이고, "무엇을"과 "어떻게"가 뒤섞여 있다. 이렇게 해서는 진도가 잘 나가지 않는다. 따라서, 양자를 분리다.
         우선은 토론을 진행할 방식에 대해 토론을 다. 그리고, 이 방식의 대리인을 선정다. 이 사람을 Facilitator라고 부른다. 그는 토의 내용에 대은 없지만, 진행을 정리하는 교통순경의 역할을 다. 그리고, 모든 참가자는 이 방식을 따라 토론을 진행다.
         꺼번에 토론을 하기엔 사람이 너무 많다. 내성적인 사람들은 많은 사람 앞에서 이야기 하기를 꺼린다. 혹시나 자신이 말이 남들에게 바보처럼 보이지 않을까 걱정다. 특히 의견/질문을 내는 사람이 별로 없는 상황은 악순환을 거듭다. 의견을 내는 사람이 없기 때문에 의견 내기가 어려워진다. 또, 낮은 위치의 사람(저학년, 하급자, 경험이 적은 사람)과 높은 위치의 사람이 섞여 있는 경우, 낮은 위치의 사람은 무언의 압력을 느끼고 의견 개진을 어려워 다. 보통 두 사람 말 많은(혹은 경험이 많은) 사람이 전체 토론을 주도하게 된다.
         이럴 경우 '''Subgroup''' 패턴을 사용다. 사람 수가 적으면 참여도가 높아진다.
         예컨대, 일단 전체 그룹을 모아놓고 간략 문제 상황 설명과 목적에 대해 컨센서스를 이룬 후에, 학년별 소그룹으로 나누고 자기들끼리 알아서 대표를 선출하고 토론하도록 다. 선배의 눈치를 볼 필요 없이 자신들만의 의견을 개진, 정리하도록 다. 얼마 후에 모든 그룹이 모여서 각 소그룹의 대표자가 토의 내용을 요약 발표다. 이것에 대해 다시 전체 토론을 하고, 또 다시 '''Subgroup'''을 사용할 수도 있다.
         전체 개미 사회에서 일을 열심히 하는 개미가 20%이고, 나머지 80%는 게으름뱅이라고 하면, 이 80%만 따로 독립시켜 놓으면 그 중 20%가 부지런 개미가 된다. 전체 시스템의 모양은 변하지 않고, 각자의 역할이 조금씩 바뀌는 것이다. 말을 잘 하지 않는 사람이 있고, 말을 많이 하는 사람(예컨대 진행자, 강연자)이 있을 때, 이를 다시 소규모로 나누게 되면 대부분 참여도가 높아지게 된다.
         또 동류집단 사이에서는 좀 더 자유로운 의견 개진이 가능하다.
  • JavaScript/2011년스터디 . . . . 23 matches
          * [박정근] - javascript에 관 전반적인 내용들을 배웠습니다. 지난 시간동안 javascript를 공부하면서 배웠던 내용들을 정리하는시간이 되었던것 같습니다. 게다가 이론으로는 알고잇던 프로토타입같은 내용은 실제로 구글개발자 툴의 콘솔을 이용하여 직접 보면서 설명을 들으니 확실히 이해되기도 하였구요ㅋ 관심가는 부분에는 함수형 선언적 프로그래밍인데 함수형 언어를 사용 적이 없어서 그런 방식으로 프로그래밍 하는 것에 대해 신선함을 느끼고 더 알고 싶어졌습니다. 또 자바스크립트를 하면서 DOM에 관해서도 알아야 겠다는 생각이 들었습니다. 하아.. 공부할게 많네요ㅋ
          * [정진경] - 약 3시간 넘게 특강을 들었습니다.프로토타입에 대해서는 처음 접해본거 같은데 익숙치가 않아서 개념 이해가 버거운 것 같기도 하고-_-;깔짝깔짝 써본 자바스크립트가 이렇게 심오 언어일 줄은 몰랐습니다. 더글락스 어쩌구 아저씨의 책을 정독해봐야 겠네요. 그전에 기초부터 다져야 하겠지만, 오늘 배운 부분들이 꽤 많은 핵심들을 짚었다고 생각합니다.하지만 자바스크립트로 원하는 기능을 다 구현해보더라도 오늘 배운 것들을 응용할만 끈기가 저테 있을지는.. 모르겠습니다;;
          * 오늘 내용은 위에 써있는 네 줄에 대 설명인데 네 줄 가지고 세시간 넘게 진행. 네트워크가 떠오른다.
          * 네 줄 가지고 세시간 넘게 진행할만큼 중요 내용이라고 생각다. 그게 언어든 뭐든 쓰는 법을 익히는 것에만 집중하는 사람들을 많이 봤다. 그게 뭔지 확실히 알지도 못하면서 쓰는 법만 익히려다. 어떻게 쓰는지를 배우는 건 그렇게 어렵지 않은데 뭔지도 모르고 문법에만 집중하면 쓸 줄은 알아도 잘 쓰지는 못하는 것 같다.
          * JavaScript 스터디를 1년이라면 1년, 반년이라면 반년정도 진행해서 어디선가 다 들어보긴 얘기인데… 그래서인지 처음 들을때보다 듣고 알 것 같은 느낌은 든다. 그런데 나테 설명하라고 하면 저렇게 설명할 수 없을 것 같다.
          * [박정근] - URLHunter를 짜기는 다 했지만 timeout을 구현하지 않았더라구요. 그 부분을 더 첨가해 보고 또, prototype을 통해 상속받는 구조로 코드를 고치는게 더 좋을 것 같아 구조를 약간 변경시켜 보았습니다.(결국 스파케티를 요리하게 되었지만;;;) 그리고 또 가지 추가하고 싶은 것은 몬스터의 형태를 바꾸어 글자를 출력하게 하는 것인데 어떻게 될지는 모르겟지만 번 해 보아야지요ㅎㅎ
          * [김태진] - 다른분들은 오지못해서 거의 제 수준에 맞추어 형진이형이 설명해주셨어요. 일단 오늘 느낀건 함수형 언어의 위대함. + 괄호의 헷깔림 이에요. 줄에 쓰다보니 헷깔리던.... 자바스크립트가 함수형 언어의 특징을 가지고 있는지라 피보나치를 쉽게 나타낼 수 있고, 그걸 배열에도 어렵지 않게 나타낼 수 있었던거 같네요. 그렇게 함수형언어에 초점맞춰진 코딩은 처음 보는데 절차적이 아니라 뭐랄까 좀 단편적으로 생각해도 된다는 점이 있을것이란 말이 무척 공감이 되었던거 같아요. 요즈음 뭔가 하나를 배우면 그 앞에 3개의 새로운 배울것이 생기는 느낌이네요. 더 열심히..
          * 프리드로잉, 오른쪽클릭시 발생하는 메뉴에 대 처리를 했습니다. 함수가 유연하다보니 생각보다 쉽게 되네요. 드래그 중에는 마우스포인터가 캔버스 영역에서 못벗어나도록 하고 싶은데 스크립트만으로는 힘들어보이네요. ㅜㅜ - [정진경]
          * 오늘은 소스가 너무 스파게티여서 다른걸 첨가할 수 없었기에 리팩토링을 하고있습니다. 그 결과 나름 코드가 깔끔해졌고 기능들을 손쉽게 추가할 수 있게 되었습니다.+html select를 이용해 색깔고르기를 하고 싶었는데 함수를 찾느라 참 걸렸네요.+ 선으로 그림그려질때 마우스를 up했다 다시down 하면 이전 위치가 저장되어 있었는데, 문제를 해결했습니다. -[김태진]
          * 으.. 실행취소는 정말 대단 기능입니다. 도대체가 이 허접 실력으론 구현할수가 없네요. -[김태진]
          * [김태진] - 사실 오늘 거에 대 후기보다는.. 그림판 퀄리티를 향상시켰어요! UNDO와 REDO 완벽구현!! [http://clug.cau.ac.kr/~jereneal20/paint.html]
          * echo <<< 문을 쓸때 닫는 단어는 줄의 제일 처음에 써야합니다.(띄어쓰기 없어야함)
          * 테이블 수정에서 유용하게 쓰일만 MySQL 명령어들입니다.
  • LearningGuideToDesignPatterns . . . . 23 matches
         DesignPatterns로 Pattern 스터디를 처음 시작할때 보면, 23개의 Pattern들을 navigate 할 방향을 결정할만 뚜렷 기준이 없음을 알 수 있다. 이 책의 Pattern들은 Creational, Structural, Behavioral 분류로 나누어져 있다. 이러 분류들은 각각 다른 성질들의 Pattern들을 빨리 찾는데 도움을 주긴 하지만, 패턴을 공부할때 그 공부 순서에 대해서는 구체적인 도움을 주지 못다.
         DesignPatterns 의 저자들은 Pattern들간의 연결관계들을 제시하지만, 이것이 또 Pattern들에 대 navigation이 되지는 못다. 책 전반에 걸쳐 많은 패턴들이 연결 관계를 보여주며, 또 그것은 다른 패턴들 학습하기 이전에 공부하는데 도움을 주기도 다. 그리고 어떤 Pattern들은 다른 패턴들에 비해 더 복잡하기도 하다.
         여러해가 지난 지금, DPSG는 23주 기간의 pattern들을 공부하는 스터디 그룹들을 가져왔다. 각각의 그룹들은 스터디 그룹을 위 navigation 에 대해 실험하고, 토론하고, 수정했다. 여기서 제안된 navigation은 매 새로운 스터디 그룹들에게 이용된다. 여기서 제안된 navigation은 Pattern 초심자들에게 더 지혜롭게 하나의 패턴에서 다른 패턴으로 이동하게끔 도와줄 것이며, 효율적으로 23개의 Pattern들을 터득하는데 도움을 줄 것이다. 물론 이 navigation은 계속 개선해 나갈 것이다. 그리고 당신이 제안하는 개선책 또 환영다.
         StrategyPattern 또 책 전반에 걸쳐 빈번하게 이용된다. 이 패턴에 대해 일찍 알아둠으로써, 다른 패턴을 이해하는데 도움을 줄 것이다.
         "skin" vs "guts" 에 대 토론은 StrategyPattern 와 DecoratorPattern 를 구별하는 좋은 예가 될 것이다.
         IteratorPattern 을 공부함으로, CompositePattern 에 대 이해도를 높여줄 것이다.
         AbstractFactoryPattern은 두번째로 쉬운 creational Pattern이다. 이 패턴은 또 FactoryMethodPattern를 보강하는데 도움을 준다.
         Proxy 가 어떻게 object에 대 access를 control 하는지 공부하라. 이 패턴은 뒤의 AdapterPattern을 직접적으로 이끌어낸다.
         ObserverPattern 과 Model-View-Controller (MVC) Design 을 이해하기 위 준비단계로 MediatorPattern을 공부다.
         ObserverPattern 과 MediatorPattern 들을 이용 message의 전달관계를 관찰하면서, ChainOfResponsibilityPattern 의 message handling 과 비교 & 대조할 수 있다.
         아마도 가장 복잡 creational pattern 일 것이다. PrototypePattern 은 종종 CommandPattern 과 같이 이용된다.
         object의 행동 변화에 대 또 다른 방법으로 StatePattern 을 공부할 수 있을 것이다.
         가장 복잡 Pattern중 하나이다. 이 Pattern의 이용 예제는 다음 패턴인 InterpreterPattern 에서 서술된다.
  • MFCStudy_2002_2 . . . . 23 matches
          DeleteMe ) 우리도도 그러다가 결국 따분 이름으로 끝났다는 --["상민"]
          특별 이야기가 없으면 다음주 목요일에 모입시다.
          * 제가 미숙 탓에 잡다것만 것 같네요. 죄송합니다 ㅠ.ㅠ
          * 기본적인 MFC사용법(?), 간단 클래스와 함수에 대 공부
          * 클래스 위저드 사용법에 대 공부.
          * 잡담만 하다가 시간을 보낸것 같습니다. 죄송합니다 ㅡㅡ;;
          * MFC에 대 간단 이야기
          - 뭐 정모 있으면 다른날로 옮기면 되고 정모 방학때는 달에 번이라던데......
          * 아마.. 내가 이정도 때 했구나.. -_-;; 그때 딱 도움 되었던게.. 남의 source 훔쳐 보기. -_-+ www.codeguru.com 가서 많이 받아서 봤지.. -_-;; MFC 잘쓰는데는 꽤나 도움이 될거구만.. 뭐.. 거 가보면 mfc 내에서 엄청나게 상속받아서 지들이 만들어 놓은게 많아서 왠만건 분석도 못하는게 많이 있지만. --; 그래도 도움 짱이지... 지금 쓰질 않아서.. -_-; 기억이 하나도 안나는구만. 에또.. 제프 아저씨와 찰스 아저씨의 책을 읽어 보도록 해요. --; 세미나 하는 사람들테 물어봐 그건.. --;; 그럼.. 휘릭~ -- guts
          * 내가 누군가에게 위키에 배운것 올려달라고도 거 같은데.. 모임날짜랑 숙제도 안알려주다니..좀..실망인데요.. 좀 챙겨줬음 좋았을텐데.. 안간것도 아니구 못간건데..투덜투덜...-_-(이라고 말하고는 있지만 매우 속쓰림......) -성재
          책이 없어서 그런지 좀 정리가 안된 느낌이다. 책을 빨리 사야겠다..함수를 몇개 배운거 같긴 데 기억이 잘 나질 않으니..기억나는 사람이 이 페이지에 내용을 올려놨음 좋겠다.그리고 앞으로 스터디 할 때 책을 중심으로 차근차근 진도를 나가면 좀 정리가 될것 같기두 데..-은지 [[BR]]
          ''덧붙임. 비단 윈도우 프로그래밍뿐만 아니라 다른 어떤 종류의 프로그래밍을 하더라도 레퍼런스(라고 해야하나.. 적당 단어가 생각이 안나네요..;;)는 없어서는 안되죠'' - 임인택
          그동안 책을 안사서 몰랐는데..책보니깐..배운게 다 나와있네..-_-;; 글구..msdn이라..옛날에 번 볼려다가 복잡거 같아서 포기했는데..인제 익숙해져야겠네..^^;; - 은지
          열심히 해서 훌륭 프로그램을~ ㅋㅋㅋ... -상욱["whiteblue"] [[BR]]
          머리의 계를 느끼는...으으으으으으으음....-_-;;
  • MoniWikiOptions . . . . 23 matches
         /!\ 새롭게 추가되는 다양 옵션은 config.php.default에 들어있습니다.
          * 테마를 지정다. See also MoniWikiTheme
          * 기본 css의 경로를 설정다. 기본값은 `$url_prefix.'/css/default.css'` $theme를 설정 경우는 이 값이 자동 설정된다.
          * 대문을 지정다. 기본값은 FrontPage.
          * 기본값은 `$url_prefix.'/css/kbd.js'` : 사용하기 싫으면 그 값을 빈 문자열로 다.
          * 로고를 클릭할 때 가는 페이지를 정다. 기본값은 $frontpage.
          메뉴의 구분자를 설정다. 기본값은 `'|'` (''deprecated'')
          * 언어를 설정다. 기본값 'auto'로 브라우져 설정을 따르며, 강제로 국어로 하고자 하면 'ko_KR'로 지정다.
          * Email Notification을 활성화 다. 이 기능을 키면 SubscribePlugin을 사용할 수 있다.
          * [Trailer]를 활성화 다.
          * 페이지 카운터의 사용 여부를 결정다 (See PageHitsMacro)
          * 간단 referer_log 남기기 여부 결정
          * 모니위키 블로그에서 트랙백을 사용할 수 있게 다.
          * 기본 css의 경로를 설정다. 기본값은 `$url_prefix.'/css/default.css'`
          * "db3, db2, gdbm"등등. php가 지원하는 dba모듈의 유형을 지정다. 기본값은 보통 db3이며, 처음 설치시 monisetup.php에 의해 자동으로 결정다.
          * rcs를 ~/bin같은 곳에 설치할 때 이 변수에 path를 지정다 예를 들어 `/usr/local/bin:/usr/bin`
          * 윈도우즈 환경이라면 {{{$path='./bin;c:/program files/vim/vimXX';}}}와 같은 식으로 설정다.
          * UploadFile에서 허용되는 확장자를 지정다.
          * (monisetup.php에 의해 자동 결정된다) apache2를 쓸 경우는 '?'를 쓰거나, `AcceptPathInfo on`를 쓰고 '/'로 지정다.
  • STL/vector/CookBook . . . . 23 matches
         = 벡터를 사용해보기 위 기본 셋팅(앞으로 편의상 반말로 합니다.) =
          * 몇 번 써본결과 vector를 가장 자주 쓰게 된다. vector만 배워 놓으면 list나 deque같은것은 똑같이 쓸수 있다. vector를 쓰기 위 vector 헤더를 포함시켜줘야다. STL을 쓸라면 #include <iostream.h> 이렇게 쓰면 귀찮다. 나중에 std::cout, std:vector 이런 삽질을 해줘야 다. 이렇게 하기 싫으면 걍 쓰던대로 using namespace std 이거 써주자.
          * typedef으로 시작하는 부분부터 보자. 일단 반복자라는 개념을 알아야 되는데, 사실은 나도 잘 모른다.--; 처음 배울땐 그냥 일종의 포인터라는 개념으로 보면 된다. vector<int>::iterator 하면 int형 vector에 저장되어 있는 값을 순회하기 위 반복자이다. 비슷하게 vector<Object>>::iterator 하면 Object형 vector에 저장되어 있는 값을 순회하기 위 반복자겠지 뭐--; 간단하게 줄여쓸라고 typedef해주는 것이다. 하기 싫으면 안해줘도 된다.--;
          * for 부분을 보면 앞에서 typedef 해준 VIIT 형으로 순회하고 있는것을 볼수 있다. vector<T>의 멤버에는 열라 많은 멤버함수가 있다. 그중에 begin() 은 맨 처음 위치를 가르키는 반복자를 리턴해준다. 당연히 end()는 맨 끝 위치를 가르키는 반복자를 리턴해주는 거라고 생각하겠지만 아니다.--; 정확하게는 '맨 끝위치를 가르키는 부분에서 칸 더간 반복자를 리턴'해주는 거다. 왜 그렇게 만들었는지는 나테 묻지 말라. 아까 반복자는 포인터라고 생각하라 했다. 역시 그 포인터가 가르키는 값을 보려면 당연히 앞에 * 을 붙여야겠지.
          * 우리가 여태까지 배운 거만 써보면 이렇게 고칠수 있다. 그 유명-_- 동적배열이다.--; 아.. delete [] 저거 보기 싫지 않은가? c와 c++의 고질적인 문제점이 바로 저거다. 메모리 관리를 프로그래머가 해줘야 다는거.. 자바 같은건 지가 알아서 delete 해주지만.. c나 c++에서 delete 안해주면.. X되는 꼴을 볼수 있다. (본인이 번 경험해 봤다.) 그래서 잘 디자인된 클래스는 클래스 내에서 알아서 없애줘야 다. 바로 vector를 쓰면 저 짓을 안해줘도 된다. 또 고쳐보자.
          * 또 하나 살펴볼게 있다. 아까 예제에서는 반복자로 벡터 내부를 순회했었다. 하지만 벡터는 임의접근을 허용다. 배열처럼 ar[4] 이런식으로 쓸수 있단 말이다. 편대로 써주자.
          * resize() 메소드는 벡터의 크기를 다시 잡아주는 역할을 다. 잘 쓰자
          * container 에 값이 저장될때는 복사 과정이 수행된다. 그래서 값이 간단 int, double형 에 대 containter는 그렇게 문제가 되지 않된다.
          * 덩치가 큰 자료형을 container에 저장할때 마다 복사가 수행된다면, 많은 낭비가 발생다.
          * 그래서 pointer만을 이용해서 저장하자. 하지만 쓸모 없는 객체는 우리가 지워줘야 다. 포인터를 넣어줄때에는, 컨테이너가 소멸될때는 포인터들은 지워지겠지만. 그 포인터들이 가르키는 값들은 지워지지 않기 때문이다.
          * 이게 제가 알고 있는 STL에 대 겁니다. 나머지나 더 자세히 알고 싶으신분은 책을 보시든지..--; MSDN을 참고하세요. 근데 이정도만 알아도.. 왠만건 다 합니다. C++만든 그 이름 어려운 사람 BJar... Str...(--;) 이 사람이 쓰고 싶은 기능만 쓰랬거든요--; 자바가 쓰기는 쉬워도 역시 난 c++이 좋다.
          * 노파심에서 말하는 건데.. 함수로 객체를 넘길때는 꼭 참조! 참조! 입니다. 값이 안 바뀌면 꼭 const 써주시구여. 참조 안 쓰고 값 쓰면 어떻게 되는지 이펙티브 C++에 잘 나와 있습니다.(책 선전 절대 아님) 복사 생성자를 10번 넘게 호출다는 걸로 기억함.
          * 글구.. 요것도 별거 아닌 팁이긴 데.. i++과 ++i의 차이점은 다 아시죠? 근데 카운트하거나 루프를 돌때는 차이가 없다고 봐도 좋습니다. ++i가 i++보다 성능이 좋다고 하네요.(see also ["i++VS++i"] 이건 뭐..~ 맘대로 하세요^^
  • WinCVS . . . . 23 matches
          1. WinCVS를 사용하기 위해서는 Python과 TCL이 깔려있어야 다.
          WinCVS에 유용 몇몇 것들이 TCL 쉘 상에서 실행된다. 이것들을 활성화 시키기 위해서는 최신버전의 ActiveTCL이나 Tcl/Tk가 필요하다. (From WinCVS설치 메뉴얼)[[BR]]'' -- 선호
          ''WinCVS 의 쉘에서의 직접 커맨드 입력기능을 이용하려면 이전 버전에선 TCL, 최신버전에서는 Python 을 이용합니다. 하지만, 설치 안해도 WinCVS 의 주기능들은 이용가능걸로 기억합니다. --["1002"]''
          * Path : CVS파일들(저장소)의 주소를 설정다.
          3. Global탭은 필요 것들만 수정다.
          4. WinCvs탭에서도 필요 것만 수정하자
          * External Diff Program : 파일을 비교할 프로그램을 설정다.
          * Default viewer used to open : 파일을 볼때 쓸 프로그램을 설정다. 메모장정도면 충분하다.
          5. Command Dialog탭도 필요것만 잘 읽어보고 설정하자.
          3. Create - Import module 를 선택다.
          4. 파일들의 속성이 거의 자동으로 선택되니 특별 일이 없으면 넘어가자
          5. 열심히 동작 후 파일들이 무사히 나의 저장소에 저장되었다.
          1. 저장소에 들어있는 프로젝트를 편집 가능 공간에 모셔와보자.
          - 여기서 모듈을 리스트의 형태로 표시해주지 않기 때문에 직접 수동으로 이름을 넣어주어야 다.(약간은 불편하다.)
          2. 수정을 하고 싶은 파일을 선택 후 Trace - Edit Selection(툴바의 연필그림)을 선택하자
          3. 연필 그림의 작대기가 지워지면서 편집 가능 상태로 간다.
          5. 파일을 모두 편집 후에는 Trace - Unedit(툴바의 지우개그림)을 선택하자.
          1. 이렇게 수정 파일을 저장소에 보관해야다.
          2. Modefy - Commit(Ctrl + M)을 선택다.
          3. 변 파일들은 저장소에 저장이 된다.
  • ZeroPageServer/AboutCracking . . . . 23 matches
         Server Cracking 관련 기록. 주로 무식 서버 관리자 NeoCoin 에 의 진실의 고백 ;;
         === 2002 년 중반 제기된 무 트래픽 Cracknig 관련 보고 ===
          * 문제 제기 : 달후에 전산센터->용철 로 보안 권고 ip block
          * 증상 : '''ZeroPageServer 에서 무 데이터가 random ip 로 전송. 감시 동안 수천 packet 이상 통계 확인'''
          * '''다음날 NeoCoin 의 계정에서 (root 말고) 무 트래픽 발생 프로그램 발견 '''
          * 분석 : 세팅 과정에서 설치를 위 wu-ftp 패키지 서비스를 달간 제공하였는데, 설치 문제로 가장 자주 사용할 NeoCoin 이 걸려 든것 같음
          * cracking 사람이, 서버상의 NeoCoin 의 data를 지운것이 아니라서, 다행 하지만 역시 불안.
          * web analizer 를 설치 계기가 되었다. ( http://zeropage.org/log ) 재미있음
          * 2003-01-06 : 전산센터에 문의하여 ip 풀고, 서버 점검, 정확 문제는 찾지 못함.
          * 2003-02-08, 09 즈음에 squid 를 이용 proxy 서비스를 제공했다는 것을 기억. spam 샘플 몇통중 해다 suqid 사용 계정 id가 있었다는 점 기억 -> squid 동작 이후 spam신고 접수 된 것으로 가정
          * '''증상 : 개인 개정에 기본 설정의 설치된 squid 2.4 stable tar 의 proxy 서비스를 최초로 사용 후 얼마 지나지 않아, 알수 없는 메일 서버로(port 25) 데이터가 날아가는 mail rely 증상 보임 '''
          * squid 의 기본 port 를 바꾸면 이러 증상 없어 졌음
          * 개인 차원에서의 관리자가 모르는 지속적인 서비스의 위험성. 만약, squid 를 몰랐다면, 이 문제는 다시 두달 갔을 것 같다.
          ''보통 squid를 통 스팸릴레이는 스퀴드 8080 포트를 통해서 아이피만 바뀌고 보내는건 다른 서버에서 보내는데, 직접 25번이 나간다는건 참 이상하구요.(있을수 없는일이라 생각하시면 돼요. 스퀴드 변형 버전에서 그런 기능을 추가하기는 하는데 ^^; ) squid가 smtp랑 별 상관이 없는데, 특히 데비안 우디(?) 버전 squid패키지가 8080 통 계정없는 외부 릴레이하고 (웹을통)메일릴레이가 기본적으로 안되거든요. 소스로 설치했다면 모르겠네요 ^^;--동희''
          * 제가 위의 말을 정확하지 않게 썼습니다. 그리고, 동희씨의 말씀대로, ''소스로 설치했다면 모르겠네요.'' 에 해당 합니다. 상대의 smtp port 25으로 데이터가 전송되고 있다는 것이었습니다. 그럼 어디선가 이 서버의 squid 기본 세팅 포트로, relay 를 계속하고 있다는 의미도 되는것 같군요. 혹은, 8080이나, 80을 사용다는 것인데 각각, resin 과 apache가 사용하고 있어서 잘 모르겠습니다. 제가 이런 분야의 지식이 부족해서요. --NeoCoin
          그렇다면, 이 문제가 원인이 확실것 같군요. 테스트상 port 를 바꾸자, 정상적으로 동작하는 state 를 보여주었거든요. --NeoCoin
          * 만일 현재의 squid 가 Cracking상태라면, squid 의 셋팅을 수정하더라도 여전히 똑같이 문제가 발생해야 정상일 것이다. 그런데 셋팅 변경후 그 발송되는 상태가 사라진다는 점이 더욱더 상황을 혼란스럽게 다. 재미있는 점은, 그럼에도 가장 명확하게 기본 포트의 상황에서, 다른 메일 서버로 메일을 가는 것이 보인다는 점이다.
          * 서버가 몇번 정전을 맞은 이후, squid 를 실질적으로 사용 예는, 일요일 이다. spam이 뿌려진 정확 날짜를 알면, 비교 할수 있지 않을까?
  • ZeroPageServer/SubVersion . . . . 23 matches
          * 공용 저장소 (svn group에 속 사용자들이 공동으롯 사용하는 공간)
          제로페이지의 사용자 계정이 있다면 누구나 사용이 가능하다. 대신에 로컬에는 ssh의 클라이언트(커맨드 기반)가 필요하다. (그렇지만 그룹설정이 필요하기 때문에 관리자에게 그룹으로 설정해달라고 해야합니다. 그룹이용자가 아닌 경우에는 저장소를 읽을 수는 있지만 쓰기는 하지못다.)
          subversion 은 http 로의 접근도 제공다. 대신에 기본제공 프로토콜보다는 속도가 느린 단점이 있다. http 의 접근은 현재 익명계정에 대해서는 checkout, read 만 사용이 가능하며 checkin 계정을 받기 위해서는 관리자에게 다음의 정보를 메일로 보내주면 추가하는 것이 가능하다.
          * ''저장소의 개인권을 만들려고 하다보니 웹에서의 체크아웃은 공용 저장소인 project, study 에 국합니다. 개인별 저장소는 오로지 ssh 에 의 접근만을 허용합니다.''
          '''간단하지만 보안에서 취약 방법'''
          하지만 이런 방법을 통하지 않으면 SVN은 단위 작업을 할때마다 패스워드를 뭍기 때문에 가능하면 비슷 방법이라도 쓰는 것이 좋다.
          '''약간 복잡하지만 보안이 확실 두번째 방법'''
          Linux 계정이 있다면 ssh-keygen 을 이용해서 생성시키는 방법도 존재다. 이 방법이 훨씬더 빠르게 생성된다.
         3. key comment 를 알아보기 쉽게 변경다. 단순히 키의 주석을 다는 것이므로 아무걸로 해도 무관하다.
          keyphrase 는 주의해서 만들어야다. 이는 private-key에 암호를 부여하는 기능으로 키파일이 악의적
          사용자에게 복사되었을 때 어느정도의 안전성을 보장다. 만약 설정하지 않으면 파일만 있다면 기타의
         4. Save Public Key 를 눌러서 키를 저장다.
          ~/.ssh/authorized_keys 에 붙여넣는다. (내용을 전체를 복사해야 된다. 그렇지 않으면 인증이 안된다. 전체는 줄로 이루어진다)
          만약 키가 다수개가 존재다면 바로 다음줄에 붙여넣으면 된다. 만약 파일이 없다면 동일 파일이름을
         5. Save Private Key 룰 눌러서 키를 저장다.
         6. pageant 를 실행하여서 프라이빗 키를 등록다. 최초 키 등록시의 암호만 입력하면 시스템에
          내 암호를 역으로 알아낼 수도 없다. 단지 키를 분실하고, 그 키의 암호를 해킹당다면 수가 없다.
          ''(물론 소홀히 다루면 엄청난 재앙이... -_- 편 만큼 지켜야할 것도 많겠지...^^)''
          * 윈도우에서는 [TortoiseSVN] 을 이용해서 기존의 CVS와 거의 동일 방식으로 사용하는 것이 가능하다.
          원다면 개인용 저장소를 만들어주는 것도 가능함.
  • django/Example . . . . 23 matches
         본 논문에서는 Django를 사용하여 실생활에서 쓰일 만 시스템을 만들면서 질의처리 능력과 데이터베이스 추상화를 실험해본다. 안전관리시스템은 안전관리가 필요 위험을 파악하고, 위험이 발생하는 경우 사용할 수 있는 대처방안을 설정다. 그렇게 함으로써 위험 상황이 발생하지 않도록 하고, 실제로 위험 상황이 발생했을 때 정책에 따라 적절 방법으로 대처하여 큰 사고로 이어지지 않도록 돕는다.
         예를 들어 "너구리" 제조회사에서 안전관리시스템을 사용하여 "화재"라는 위험을 관리다고 생각하자. "화재"가 발생하면 가연성 물질인 "너구리 꼬리"에 불이 옮겨 붙어 대형 사고로 이어질 수 있다. 따라서 "너구리" 사는 "물뿌리개"를 직원들에게 지급하여 "너구리 꼬리"에 불이 옮겨 붙기 전에 "화재"를 진압하기로 결정했다. 또 "너구리" 사는 "화재"가 5분 안에 진압되지 않는 경우 "일일구" 서비스를 이용하기로 결정했다. 따라서 "너구리"사 직원들은 불이 났을 경우 "물뿌리개"로 일단 불을 끄고, 5분이 지나면 "일일구" 서비스를 부를 것이다.
         또 "너구리" 사는 "도난"이라는 위험도 관리다. "너구리 꼬리"가 "도난"을 당하면 "너구리" 사는 많은 손해를 입는다. 하지만 "다잡아"라는 무인 경비시스템을 설치하기에는 너무 많은 돈이 필요해서, "너구리" 사는 "종잇장" 보험만 이용하여 "도난"을 관리다. "종잇장" 보험은 "도난" 뿐 아니라 "화재"에 대해서도 보험금을 지급하기 때문이다. 또 "도난"이 발생하지 않도록 직원들에게 정기적으로 교육을 실시다.
         "화재"가 발생 뒤에는 위험이 발생하고 이에 대처 기록을 남긴다. "도난"이 발생 뒤에는 원인을 분석하고 이에 대처 기록을 남긴다. 이러 위험 발생 기록에 대하여 "너구리"사는 유효적절 대책을 시행했는지 확인다. 만일 유효 적절 대책을 시행했다면 이를 확인다.
         다음 ERD를 바탕으로 데이터베이스 스키마를 생성다.
  • 나를만든책장/서지혜 . . . . 23 matches
          * 위트 있는 풍자덕에 인간에 대 신랄 비판이 거북하지 않다.
          * 당연히 그렇지 않겠지만 늦었다는 생각이 들어 울적해진다. 자신의 재능을 찾아 열정을 쏟아야 다는 것이 작가가 말하는 바, 이지만 내가 잘하는 것도 없는 찌끄레기 같이 느껴짐..
          * 기발 발상, 하늘을 움직이다.
          * 비상식(??)적인 회사 이야기. 기존의 회사에 대 통념을 비판하고 있다. IT계열의 스타트업 회사라면 시도해 볼 만함.
          * 개발자를 ''남자친구''로 둔 사람들을 위 글임. 여자가 개발자일 경우따위 고려 안함^^ 왜 읽었을까. 불쏘시개이다.
          * 재미짐. 부유 백인 여성 화자의 가정부 유색인종(흑인만 나옴) 여성을 다룬 이야기.
          * 사랑하라 번도 상처받지 않은 것 처럼
          * 사람들이 미쳤다고 말 외로운 수학 천재 이야기
          * 말실수에 대 재미있는 이야기
          * 서른살 즈음의 방황하는 영혼을 위 반창고같은 책
          * 따듯 책이다. 다시 읽어보자
          * 이런 책은 좋다. 저자의 삶의 방식에 대 찬반과 관계없이, 장이 뜨거운 책.
          * 큰 변화를 원할수록 강 자극이 필요하다. 그것도 지속적인
          * 후기 : 기대에서 실망으로 실망에서 감동으로. 처음 장을 읽고 내팽개쳐둔것이 실수였다. 시간가는 줄 모르고 눈물 줄줄 흘린 책. 번역 제목보다 역시 원서 제목이 책의 주제를 잘 말하는것 같다. 원서 제목은 If I stay.
          * 세상은 나를 울게하고 나는 세상을 웃게
          * 이런 책은 좋다. 저자의 삶의 방식에 대 찬반과 관계없이, 장이 뜨거운 책2
          * 매우 실망. 인간관계에서 넘지 말아야 할 선에 대 이야기를 기대했는데, 일본식 자기계발서다. 흠
          * 마음을 가라앉히고 우주적 기운을 불러들인다는 내용이 소름끼치게 오그라들지만(기-chi-의 오그라드는 표현인듯) 고양이 이야기가 많이 나와서 읽었음. 게슈탈트 스캔이라고 동물의 신체/심리 상태를 스캐닝 다는 내용도 대뇌피질 반사! 해서 보면 나름 재미있는 책.
  • 데블스캠프2009/금요일후기 . . . . 23 matches
          * [김준석] - 이외수씨는 얘기했다. 세상에 답을 알기는 쉬워도 답을 실천하기는 어렵다고. '반성','반복','목표'. 인간개발에 대해 얘기를 할때 능력을 단련시키는데는 이 단어들은 빠지지 않는 '답'인듯하다. 그래프를 그려 사람 능력 발전정도에 대해 얘기해주실때 개발자가 1차 목표인 나에게 좀더 현실감 있게 다가왔다. 사람 심리에서 나누는 상위의 욕구(명예욕, 과시욕)에 자극되는것이 아니라 내가 앞으로 살아가는데 필요 밥을먹고 옷을입고 자는 '생존'의 욕구를 건들여 절실해졌달까? 비록 내가 최종 목표가 아닌 1차 목표(10년)으로 개발자를 생각했다고 했다지만 능력 개발에 매달리지 않으면 왠지 '평범'하거나 '떨어져나가는'그런 개발자가 되는 미래가 피부에 와닫는 느낌은 서늘하면서 뒤쳐진다는 생각에 분함을 느꼇다. 그런 내 미래에 대해 생각다면 무언가 내가 해야다고 생각하지만 달없는 밤길을 걷듣이 앞이 보이지 않는 길을 걷는것 같은 느낌. 생각으로는 어딘가를 가야다 생각하는데 보이지 않아 어디로 가야할지 모르는 그런 망설임. 그때 앞길을 밝혀줄 불빛이 필요하듯 좀더 다양 공부 경험과 그것을 반성,반복,목표하는 자세가 필요하다고 생각다. '철학','수학','소통','작문'등의 아주 기본적인것에 대해 좀더 번 생각을해보고 태도를 고쳐보는것도 필요하게 되었다. 또 가지 나테 아쉬운 점이라면 아직 군인 신분이라고 정확 목표를 세워놓지 않아서 그것에 대 조언을 여쭈지 못했다는것이 아쉬웠다. 후에 메일로 상담신청 고?
          * '''서민관''' - 이번 데블스 캠프 전체 중에서 세미나로 꼽자면 추상화 세미나와 함꼐 가장 마음에 들었던 세미나였습니다. 역시 고학번에 사회에서 활동하고 계신 분이라서 그런지 말씀 하나하나가 무게가 있고 날카로운 느낌이 들었습니다. 개발 실력을 늘리기 위해서 피드백과 반복, 학습 목표의 중요성을 말씀하셨는데, 이 세 가지는 앞으로도 항상 머릿속에 넣어둘 생각입니다. 그리고 커뮤니케이션 실력에 상당히 무게감을 두셨는데, 저 같은 경우 그런 부분이 부족 점이 많았던 만큼 앞으로는 조금 더 사람들에게 다가가고 더 많이 어울리도록 노력해볼 생각입니다.
          * [송지원] - 감동의 물결, '선배님은 역시 다르구나!'를 확확 느꼈다. 나의 평생 직업을 찾기 위해 노력다고는 했지만 정작 나는 학술회 잡지나 논문에는 손대본적도 없다. 사실 도서관에서 그걸 공짜로 빌려준다는걸 모르고 있진 않았는데 말이다. 모르는 것보다 알면서 안하는게 더 나쁜건데.. 삽질을 적게 하는 방법 세미나에서는 역시 정형화된 발상과 안일 마음가짐으로는 성공할 수 없구나 라는걸 실감했고, 제로페이지는 이래서 대단 곳이구나 하는 것도 느꼈다.
          * '''서민관''' - 그냥 코딩도 부족 점이 참 많은 저테 Short Coding은 너무 힘들었습니다. 결국 결과물도 내지 못 했고 말이지요. 그렇지만 전에 short coding을 했던 점에서 비추어 봐도 그렇고, 코드를 짧게 하면서 문제에서 요구하는 점을 정확하게 짚어내는 기술과 가장 짧고 간단하게 구현하는 기술이 늘어나는 것 같습니다. 제가 생각하기에 이 부분이 저테 가장 부족하면서도 가장 필요 부분이 아닌가 생각합니다. 정말 힘들지만서도 피해갈 수 없는 길이지 싶네요.
          * '''서민관''' - 참. 무시무시 수업이었습니다. 여러가지 의미로. 실력도 물론 무시무시하셨지만, 그것보다 우리가 평소 아무렇지 않게 사용하던 사이트들이 그렇게 보안에 취약지는 처음 알았네요. 아무렇지 않아 보이는 이미지 파일이 쿠키를 뽑아내는 모습은 참 기가 막혔습니다. 덕분에 Javascript의 강력함도 같이 느낄 수 있었네요. 이번 방학에 팀 프로젝트를 하신다고 하던데 되도록이면 같이 참가해서 뭐라도 좀 배워보고 싶습니다.
          * [송지원] - 진짜 너무 제대로 듣고 싶었는데 5일간의 강행군이 저질체력을 가진 여학우에게는 무리였는지 다리근육에 통증을 호소하며 흠씬 두들기다가 결국은 쓰러져 자고 말았다. 하아-ㅁ-... 비참 마무리..
  • 마케팅천재가된맥스 . . . . 23 matches
          * 이 책은 정현이의 추천으로 읽게 되었는데, 엄청 재밌고 유익하게 읽었다. 이젠에 네루의 세계사 이야기 책을 읽다가 너무 빡세서 힘들었는데 이책은 마케팅, 세일즈에 대해서 만화처럼 쉽게 알아먹기 좋게 잘 설명해 주었다. 공학도라면 꼭 읽어 봐야할 책이라고 생각다. 솔직히 우리는 기술개발이 최고로 중요하고 나머지, 경영 마케팅은 기술만 좋으면 되는거 아닌가 하고 생각하는 경향이 있다고 본다. 그런데 현실은 우리가 기술개발에서 우리의 중요성을 인정받고 싶은 만큼 마케팅 쪽도 기술개발만큼, 때에따라 훨씬 더 중요할수도 있다고 생각다. 그런 만큼 우리 공학도도 경영, 마케팅(세일즈) 등에 대해서 잘 알아야 다고 생각다.
          * 이책에서는 고대 이집트에서 그때까지는 없었던 '바퀴'라는것을 새로 발명 맥스가 그 '바퀴'를 이용하여 세계최고의 '바퀴회사'가 되어 가는 과정을 이야기다. 처음에 맥스가 '바퀴'를 만들었을때, 우리 공학도들이 그러는것처럼 이 기술은 정말 최고의 기술이야, 가만히 앉아 있어도 서로들 이것을 사려고 하겠지 하는 생각을 했다. 그러나 결과는 지금 현실과 마찬가지로 기술 개발만 하고 그 후 마케팅, 판매를 못해서 거의망하기 직전까지 간다. 그렇다고 맥스가 아예 판매에 손을 땐것은 아니다. 부인과 함께 이집 저집을 방문하면서 판매 하려고 해도 실패를 다. 그러다가 '세일즈캡틴', '빌더벤', '마법사토비' 를 차례대로 고용해서 판매를 하려고 했지만 번번히 실패다. 그러다가 '클로저 카시우스'를 고용해서 판매에 성공다. 현재 시장 상황에 따라서 필요 세일즈 방식이 다르다는 것을 보여준다. 정말 중요것은 시장 상황에 따라서 세일즈 방식이 다르다와 세일즈 방식이 다르기 때문에 고용하는 세일즈맨들도 성향이 달라야 다는 것이다. 강추 책.
         === 각 시장별 필요 인물들 ===
          * 드라마틱 프리젠테이션을 구사하여 고객의 마음을 움직인다. (시각적, 감각적 프리젠테이션)
          * 고객의 꿈, 환상, 욕망을 자극다.
          * 거절을 많이 받을 각오는 해야다.(신제품..)
          * 기회를 혼자서만 사용하기를 원다. 최고의 특권을 가지고 싶어다.
          * 독특 것을 좋아다.
          * 혁신적인 기술과 서비스를 원다.
          * 제품에 대 기술적, 제품 사용 교육등 토탈 솔루션 제공
          * 이 제품의 경쟁자는 누구인가? (신제품이라 할지라도 기존의 비슷 용도로 사용하던것들)
  • 새싹교실/2012/ABC반 . . . . 23 matches
         학생: 모영종 주만 김현기
         || 주만 || O ||
         virtual box를 설치다.
         virtual box의 새로만들기에서 우분투 가상머신을 새로 만든다.(설정은 기본설정이면 되되 메모리 용량은 1024MB로 다)
         우분투를 설치다.
         프로젝트를 만든다.(빈 프로젝트 체크박스에 체크를 해야 다)
         2주차 수업 내용도 번 읽어 오면 좋겠습니다.
         int myfunction(int a, int b); 라고 하면 int 자료형을 반환하며 int자료형 2개를 파라미터로 하는 myfuction이라는 함수를 정의 것이다.
         위 코드에서 보면 myfunc라는 함수는 int자료형 자료 2개를 각각 num1과 num2라는 이름으로 넘겨 받아 두개를 더해서 반환다.
         그럼 myfunc에선 num1에 a의 값을, num2에 b의 값을 넘겨받아 두 값을 더해 그 더 값을 반환다.
         반환 값은 c에 들어 간다.
         함수의 선언은 그 함수를 호출하는 코드보다 위에 있어야 다. 그렇기 때문에 위처럼 함수의 선언만 해놓고 실제 구현은 아래에다가 해놓는 경우가 많다.
         전역변수란 함수 밖에서 선언 변수이며 그 파일 전체에서 유효하다.
         같은 이름으로 지역변수와 전역변수가 있을경우 지역변수를 우선으로 다.
         if문은 if()에서 괄호 안이 true면 실행을 다.
         if(a== 2)라는 문장에서 a의 값으로 참과 거짓을 판별다.
         a에는 2가 들어가 있으므로 ()안의 값이 true가 되서 c= myfunc(a, b)를 실행다.
         참과 거짓에 대해서는 보통 0을 거짓으로 하며 1을 참으로 간주다. (사실 0아닌값은 모두 참으로 간주다)
         그 결과값을 c에 저장수 출력을 합니다.
         어쨋든 다음 수업때부터 진짜 프로그래밍을 다는 느낌을 받을 수 있을 거에요 -이민규
  • 위키의특징 . . . . 23 matches
          * 참고로 노스모크에서 위키에 대 설명들을 참고 하였다.
         || 글쓰기 권 || 작성자만 수정하도록 보통 사용 || 모두 수정 가능하도록 사용 ||
         || 게시물 목록 || 생성 날짜순 || 최근바뀐글(새로 올라오거나 수정글),인덱스, 랜덤 ||
         || 게시물 접근 || 키워드를 통 접근, 올라온 날짜순으로 접근 || 최근바뀐글,검색,각페이지에 걸린 링크를 따라서 접근(손쉽게 링크를 걸어 새로운 지식 창출), 분류||
         || 페이지온도의 변화 || 작성시간이후 계속 낮아짐.(이러 이유로 질&답 게시판을 보면 같은 내용의 질답이 많다 사람들이 작성날짜를 기준으로 글을 보고 쓰기 때문)|| 참여에 따라 언제든지(위키에서는 생성날짜보다 그글의 수정(혹은 생성-최근바뀐글)되었는지가 기준이 된다. 글에 대 접근이 각글을 읽다가 링크를 따라서 여러가지 글에 대 접근이기 때문에 언제든지 사람들의 관심을 가지는 글들은 재조명 받을수 있다.||
         || 접근성 || 단순 메타포때문에 사용자 접근이 쉽다 || 장벽이 게시판보다 높다 ||
         || 각 정보의 연결구조 || 지극히 단순 단점 || 각 정보들이 지속적으로 발전된다(링크, 최근바뀐글, 누구나 수정이 가능하여 모두의 지식, 의견을 모으기 쉽다) ||
          * 개인위키 : 스쳐지나가는 아이디어들을 쌓아서 결국 체계적인 정보 자료집을 만들어나가고자 할 때에 유용, 종국에 있어서는 체계적으로 정리된 지식의 형태가 된다. 개인위키는 블로그처럼 타인에게 보여주기 윈 목적보다 자기 자신을 위 것인 경우가 더 많다. 어느 누구에게 공개하지 않고 홀로 써도 많은 가치를 얻는다. 반면 블로그는 비공개 일기장으로 쓰는 경우는 별로 없다. 객관화된 양질의 지식을 얻기 위해서는 위키가 훌륭함.
          * 블로그 : 블로그는 통시적인 개인의 관심사에 대 문학적 구성에 유용할 것이라고 본다. 블로그는 철저히 개인적인 공간에 혼잣말을 적어두는 공간. 상대방의 정체성을 알고 관점을 이해하는데는 블로그가 장점
         || 특징 || 사고(무)확장 || 지식(무)연결 || 지식구조화/체계화 || 개인기록 나열/분류 ||
          * MBTI유형중 N(직관)형이 위키를 많이 사용. N형은 개별 사실보다 사실 사이의 관계에 대 인지가 선행된다. 처음 본 사람이 어떤 머리형을 하고, 어떤 셔츠, 어떤 바지, 어떤 구두를 신었는지를 먼저 파악하는 것이 아니라 그 사람이 전체적으로 풍기는 느낌을 먼저 catch 하게 되며, 이것은 개별 사실들의 전체적인 연관성에 의해 나타나게 되는 것이다. -> 위키가 이런 N형에게 그러 수단을 풍부하게 제공함. 수평적으로 나열된 사실들에 대해서 적절 링크(혹은 지도패턴)을 사용하여 관련을 맺어줌으로써 개별사실이 가지는 합 이상의 정보를 창조.
          * 현대의 정보화 사회에서는 많은 지식을 머리속에 가지고 있는 사람보다는 유용 지식이 어디 어디에 있는지 알면서 쉽게 찾아내는 사람이 지식인이다. 그런 의미에서 위키는 자신의 개인적 지식이나 특정 커뮤니티에서의 지식등을 체계적으로(사람의 두뇌 구조와 유사 방식.. 링크 - 유사연상) 관리다. 사람의 두뇌 구조와 비슷하기 때문에 일종의 외부 두뇌(external brain)로 볼수도 있다. 위키위키는 논리적이고 이성적인 객관화된 사실이나 진실을 찾아가는데는 탁월하다.
          * 온갖 관심사, 취미를 이야기, 생각이나 느낌을 표현, 친구나 가족과 자잘 일상을 함께 나눔
          * 네티즌이 웹에서 기록하는 일기나 일지를 뜻다.(가장 정확하게 표현해주는 말) 무엇을 기록할지는 사용자 마음
          * 기존의 홈페이지 보다 쉽게 만들고 사용, 관리할 수 있다. 매우 쉬워서 컴맹들도 시간 이내로 능숙하게 사용할 수 있다.
  • 정모 . . . . 23 matches
          * 안건을 처리하고, 회원들의 의견을 듣기 위 시간
          * 그외에도 많은 부분을 차지 했던 부분이 자신이 궁금 점을 이야기 하고 많은 사람에게 답을 구해가는 시간.
          * 시사 이슈에 관 간단 토론
         ||||2023.01.11||[김은솔]||||||||Enum 왜 씀? Enum 쓸 바엔 뜨끈 상수 든든하게 쓰고말지||
         ||||2023.02.22||[신연진]||||||||LaTeX, 번 써보았습니다.||
         ||||2023.04.03||[최성민]||||||||웹 개발자를 위 플러터||
         [정모] 라는 이름이긴 하지만, 그리 딱딱 모임이진 않길 바란다. 지금의 정모는 너무 '딱딱' 하다라고 생각. 이는 '세미나실'이란 장소가 주는 NoSmok:어포던스 일 가능성도. (이 단어 요새 잘 써먹는군; 근데 정말 일종의 '행위유발성'의 영향을 받는게 아닌가 하는 생각이 들어서. 세미나실의 특징상 가운데 발표자가 있어야 하는식이고, 개개인별로 비격식적인 이야기를 하기 어렵다. 오른쪽의 줄짜리 공간은 그 사람들만을 지역화 시킨다. 책상 배치상 안쪽 사람들이 밖으로 나가기 어렵다. 뒤에 앉은 사람들을 쳐다보기 어렵다. 창섭이 말투 관계상 낮게 깔리는게 사람들로 하야금 무게감을 느끼게 다; 등등) --석천
          -> 토론에 대 '결정'을 내리지 못다.
          -> Online (주로 Wiki를 통해 이루어지는) 에서 결정할 내용과 Offline 에서 결정할 내용을 구분하지 못다.
          -> 사람들이 정모에 대해 미리 충분 준비를 하지 않은건 아닐까?
          -> 근거 : 해당 주제에 대 해당 페이지들의 활성화가 늦다.
          -> 해결책 : 어떻게 하면 토론을 효과적으로 할것인가에 대 brain storming 이나, 학습 등.
          -> 사회자가 모든 질문에 대 답변을 다.
          -> 해결책 : 해당 주제제안자에게 사회자가 질문에 대 답변을 위임다.
         최근에 자주들렸던 말중 하나가 [정모]로 사람들이 모였음에도 불구하고 '위키에서 처리하자'이다. 이는 잘못이다. 위키에서는 의견들이 모이고, 결정은 정모에서 신속하게 되어야 다고 생각다. 위키는 해당 관련 정보를 모으고 토론이 격해질때 도큐먼트를 정리하는등 호흡이 긴 토론시에 유용하다. 모든 토론들이나 결정사항들이 위키에서 이루어질 이유가 없고, 또 별로 유용하지도 않다. --[1002]
  • 정모/2007.3.6 . . . . 23 matches
         여섯 번째 발표자 : 유상욱 -> 소감 : 오늘 02학번이 다 모여서 기쁨. 이마트에서 알바를 달 가까이 함. 방학동안 특별히 게 없음.
         열 번째 발표자 : 김남훈 -> 홀 아르바이트 활동을 함. 다른사람이 바텐더 활동을 다고 하면 말리고 싶음. 2년동안 영화계에서 잠시 활동하심. 2년동안 학교를 다니다가 군대에 다녀옴. 현재 3학년에 재학중입니다. 3학년 여러분들과 친분을 많이 다졌으면 합니다.
         열번째 발표자 : 임민수 -> 재대지 체 달이 안됨. 제로페이지 자유게시판에 복학생이라는 글을 올린 사람입니다. 모르는 분들이 많이 적응하는데 시간이 많이 걸릴거 같습니다. 프로젝트활동을 열심히 할 계획입니다.
         허아영 : 활기차고 역동적이며 화목 모임 (서로서로 끈으로 연결되어 있어 선후배간에 유대감이 무지 강 인간적인 학회임)
         유상욱 : 마디로 “폐인들의 집단”=> 조금 순화해서 예기하면 “엘리트 집단”
         고준영 : 자유롭고 편안 곳, 같은 뜻을 가진 사람들이 모여 진취적인 활동을 할수 있는 곳.
         조현태 : 어떤 상황에서도 적응을 잘하는 내구성이 강 유동적이고 독특 곳.
         김남훈 : 서로간에 부족점을 보완하기 위해 모인 곳. “인력풀!!”
         조현태 : 특별 체계가 없다. 제로페이지를 계속적으로 유지하고 더 큰 학회가 되게 하기 위해 강력 체계적인 관리가 필요하다고 생각합니다.
         김남훈 : 학교에서 배우는 좋은 책들을 활용 프로젝트를 많이 하였으면 합니다.
         - 신입생들과 관련 세미나를 열거나, 7피 알림판등등을 이용하여 ZEROPAGE를 간접광고 활동을 많이 하였으면 합니다.
         - 데블스 캠프의 처음 취지와 현재 상황이 부합되지 못 사항이 있기도 하므로 이 문제에 관 논의를 번 해야 할거 같음. 날을 새서 코딩을 하는것은 생산성이 떨어짐, 생체 리듬을 망가뜨리는 것도 있음.
         - 데블스 캠프를 밤에 열었던 이유중에 하나가 직업전선에 나가계신 분들께 세미나를 부탁하기 위 이유도 있었음.
         - 이 문제에 관 사항을 좀 더 생각해 보아야 할것 같습니다. 홈페이지를 활용 토의도 필요할거 같음.
  • 3rdPCinCAUCSE . . . . 22 matches
         3회 중앙대학교 컴퓨터공학과 프로그래밍 경진 대회에 대 자료.
         팀 구성: 2~3인 / 팀 당 PC
         - 팀은 문제에 대해 소스코드가 완성되면 디스켓에 담아 채점원에게 제출다.
         - 채점은 그 소스코드를 컴파일해서 수행파일을 만들어 채점다.
         - 문제에 대해서 준비된 테스트 케이스 (5-10개)에 대해서 모두 정답을 내야 그 문제를 맞힌 것으로 다.
         - 컴파일 error, 실행 시간 error, 출력 포맷이 문제에서 정 것과 다른 경우에도 틀림.
         - 제출 답안이 틀리면, 매 번 일정 penalty 점수 (10점)를 받게 된다.
         - 틀린 문제는 다시 제출할 수 있다. 문제에 대 제출회수 10회. 그 후는 그 문제는 못 맞힌 것으로 다.
         - 마감 10분전부터는 제출 문제는 다시 제출할 수 없음.
         - 맞힌 문제에 대해서는 경시 시작부터 문제를 제출 시각까지 시간을 분으로 환산 것이 점수로 주어진다. (따라서 점수가 적을수록 유리) 그리고 여기에 penalty 점수를 합산 것이 그 문제의 최종 점수가 된다. 예를 들어, 어떤 문제에 대해서, 다섯 번째 제출을 경시 시작 후 1시간 20분에 하여 맞히면 지나간 시간이 80분이므로 80점, 네 번째까지는 틀렸으므로 4번*10점=40점이 penalty, 최종 점수는 120점이 된다.
         1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산 후 반드시 출력을 다. 이때, 입출력은 표준입출력만 사용다. 파일 입출력문을 쓰면 안됨.
         4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 컴퓨터에서 실행다. 즉, 자기 컴퓨터에만 있는 특수 기능을 사용하게 되면, 채점 컴퓨터에서는 안 돌아 갈 수 있음.
         5. 채점원은 채점에 필요 데이터를 파일로 만들어서 가지고 있다가 파일 redirection을 통하여 수행파일에 입력시킨다.
         7. 각 문제마다 테스트 케이스가 5-10개가 있는데, 프로그램은 첫째 테스트 케이스를 입력하여 첫째 답을 출력하고, 둘째 테스트 케이스를 입력하여 둘째 답을 출력하고, ... 등으로 진행해야 다.
  • CppUnit . . . . 22 matches
         C++ 에서 UnitTest를 하기 위 UnitTestFramework. http://sourceforge.net/projects/cppunit/ 에서 다운 받을 수 있다.
         Visual C++ 6.0 기준으로 설명다. 다른 언어들에 비해 환경설정을 위해 해야 할 부분이 많으므로 인내심을 가지고 따라해야 다.
         == 준비 1 - 다운 받고 번 이상 꼭 해주어야 할 사항 ==
         컴파일 후 실행해 보면 다음과 같은 (혹은 비슷) 결과를 볼수 있다.
          === include, library directory 맞춰주기 (둘중 하나를 선택다.) ===
          * app 클래스에 다음과 같은 runner 실행을 위 코드를 추가다. 다음 코드를 추가함으로써 프로그램 실행시에 GUI Test Runner 가 실행된다.
         GUI Programming 을 하기 위해 winmain 이 시작인 코드의 경우(MFC GUI Programming 포함) 콘솔창이 뜨지 않는다. 이 경우 GUI Runner 를 실행해줘야 다.
         로 수정뒤, testrunnerd.dll 를 해당 프로젝트화일에 복사해주면 된다.
         Runner 실행코드는 다음과 같이 MFC UI 의 Test Runner 를 이용다.
         코드를 보면 알겠지만, ASSERT 문들에 대해서 전부 매크로를 이용다. 만일 이를 다른 언어들의 UnitTest Framework 처럼 assertEqual 이나 assert 문으로 쓰고 싶다면, 다음의 문장을 cppunit library 를 include 하기전에 추가해준다.
         기타 자세 내용들은 (flag 들) cppunit/portability.h 를 참조하면 된다.
          * 초기 준비할때 삽질하는 경우가 많다. -_-; CppUnit 의 경우는 헤더화일들의 include 순서들이 중요하다. 그리고 MFC 의 경우는 stdafx.h 를 각각의 화일들마다 include 해줘야 다. (API에서 CppUnit 는 어떨지 궁금해진다.)
          * 중간중간에 Rebuild 해줄 필요가 있다. (제대로 했다고 생각했는데 Test Case가 Failure 가 나는 경우에는 번 의심할 필요가 있다.)
         === 준비 - 2 TestCase 만들기를 위 세팅 ===
         || 다음과 같은 디렉토리 상태라고 가정다. ||
         싱가폴 국립대학의 소프트웨어 공학 프로젝트 수업에서 CppUnit을 사용하고 있는데, http://www.comp.nus.edu.sg/~cs3214s/tools/cppunitVC.html 에 가면 MSVC에서 CppUnit을 사용하는 방법을 쉽게 설명 안내서를 볼 수 있다.
         어떠 부분을 테스트하고 싶으신건지 궁금합니다. (테스트 대상이 되는 코드부분과 테스트 코드를 보여주시면 좀 더 도움이 될듯합니다.) --["1002"]
         Win32 API환경에서 MFC TestRunner를 사용하는 방법을 찾았으면 좋겠군요. 여러가지로 시도해보았는데 MFC에 대 지식이 너무 부족해서 계속 실패하네요. --[이응준]
         이 부분에 나오는 Code Generation부분이 어디에 있는지 찾지를 못 하겠네요. 메뉴가 숨어있기라도 건지...@-@;; --[leoanrdong]
         kldp.net 에 c 를 위 UnitTest Framework 프로젝트가 있었네요. http://kldp.net/projects/act/
  • DataCommunicationSummaryProject/Chapter5 . . . . 22 matches
          * Global roaming - 특별 multimode phone에서만 가능
          * 인터넷의 중요성을 느낀 후, Packet Switching Backbone에 기초 인터넷 프로토콜을 제공하기로 요구사항 추가
          * 서킷은 버츄얼 서킷으로 다.
          * 하나의 표준을 하면 좋겠지만 불가능게, 이미 크게 두가지 타입의 CDMA가 있고, TDMA도 있다. 기존의 시스템과 호환을 이루는게 중요하다.
          * Direct Upgrades : 이미 존재하고 있는 셀크기와, 채널 구조를 지키면서, 패킷 스위칭과 더 나은 모듈레이션을 추가다. 대부분의 2G는 TDMA이기에 direct upgrades는 2.5G로 간주된다.
          * Handover : 커버하는 영역 밖으로 벗어날시에 사용자에게 2G 네트워크로 handover다.
          * cdmaOne과의 차이점 : 시간 동기화가 필요없다. GPS 필요없다. 마이크로셀 사용. negative feedback에 기초, 보다 쉬운 파워 컨트롤 메카니즘 사용
          * QPSK를 사용하는 W-CDMA는 4Mbps를 이룰수 없다. 가능할라면 하나의 셀에 명의 사용자가 있어야 하고 채널에 간섭이 없어야 다. 아주 잘나올때, 마이크로셀 내부에서 2Mbps, 외부에서 384kbps 가능하다.
          * 2G 중 cdmaOne만이 CDMA이다. 이로부터 3G로 업글 것을 CDMA-2000이라 다.
          * 새 하드웨어가 필요하지만, 새로운 라디오 인터페이스가 필요없으며, Walsh Codes를 두번 사용해서 두배의 용량을 지원다.
          * 미래에는 호환성을 위해 W-CDMA를 기본으로 3.5G 기술을 택할것임
          * 200kHz라는 작은 채널 크기 -> CDMA의 무지막지 너비에 비해 매우 작음 -> D-AMPS 오퍼레이터들에게 매력적.
          * 따라서 목소리를 위 D-AMPS + 데이터를 위 EDGE Compact 제안
          * 압축을 이용해 실제 속도보다 더 나와 보이게 다.
          * 3개의 주요 3G 시스템 : W-CDMA, CDMA2000, EDGE. 이것들은 IMT-2000으로 알려진 것으로 묶을수 있으며, 384kbps를 넘는 속도, 패킷 스위칭 방식을 사용다.
          * W-CDMA는 GSM과 호환되게 디자인되었으며, 새로운 스펙트럼이 필요하다. 그것은 또 UMTS라 알려져 있고, 3.5G 수준의 속도로 확장될수 있다.
          * EDGE는 GSM과 GPRS로부터의 직접적인 업그레이드이고, 다른 시스템들에 비해 상당히 작은 스펙트럼을 필요로 다.
          * 처음 3G 시스템은 2001년에 서비스에 들어갔다. FOMA라 불리우는 W-CDMA의 변종을 사용 일본에서 가장 떴다. 다른 선구지로는 UMTS를 사용하는 맨섬(어디야 이거?), CDMA2000을 사용하는 남이 있다.
  • DataStructure/List . . . . 22 matches
         struct Node // 제가 c문법을 잘 모릅니다.. 책에서는 typedef인가? 이상걸 쓰더군요.
          * 리스트를 사용하는 간단
         delete kkk; // new로 건 꼭 delete로 지워주자
          * 위와 같이 다음 또는 먼저번 노드를 가르키는 포인터가 하나만 있는 것을 Single Linked List라고 다.
          * 반면에 둘 다 있는 것을 Double Linked List라 다.
          * Single Linked List에서는 쪽으로만 이동이 가능하기 때문에 멀리 있는 노드를 찾아가는데에 시간이 좀 오래걸린다.
          * Double Linked List를 사용 간단 예(3개의 노드를 예로 듬)
          * 장점 : 빠르다. (배열 같은 경우는 중간에 하나 지우고 나면 그 뒤에껄 다 앞으로 땡겨야 다. 수행시간 절라 오래 걸린다. 하지만 리스트는 다음 노드를 가리키는 포인터만 바꿔주면 된다.)
          * 단점 : 잘못된 포인터에 의 Memory Leak 이 발생할 수 있다.
          * 뭔가 굉장히 이상하군요..--; 제가 봐도..--;; 굉장히 조잡하고 굉장히 허접.. 그런 이상 코드 같습니다.--; 자바는 첨이라서 그런가..--;
         = 자바로 짠 링크드 리스트..2 (누가 걸까) 상협인가?=
         제가 자바로 링크드 리스트 짤때 제일 고민 점이 노드를 추가할때마다
         그래서 것이 노드를 추가할때마다 전체 노드를 다시 만드는 것이었습니다.
          boolean Add_ToSpecial(int coordi, int in) //특정 위치에 자료를 저장하는 메소드
          //하나의 공간이 더 많은 임시 배열을 생성다.
          tempNode[i] = m_Node[i]; //까지 복사 다.
          tem.next = m_Node[coordi]; //낀 곳에 원래 있었던 자료를 참조다.
          tempNode[coordi-1].next = tempNode[coordi]; //낀 곳의 바로 앞에 있는 자료가 첨가 자료를 참조하게 다.
          for(int i=0;i<tempNode.length;i++) // m_Node 에 tempNode를 복사다.
  • EightQueenProblem . . . . 22 matches
         널리 알려진 고전적 체스 퍼즐. 8X8의 체스판 위에 총 8개의 여왕을 배치하는데 서로 공격하지 않아야 다. (참고로 여왕은 상하좌우 대각선 총 8방향으로 마음대로 -- 장기의 차와 같이 번에 여러칸을 -- 움직일 수 있다.
         조건을 만족하는 체스판의 배치 상태를 출력다.
         이 문제를 프로그래밍을 해서 풀어보세요. 어느 언어를 사용하든 상관없습니다. 가장 자신있는 언어를 사용하세요. 그리고, 맞는 결과를 구했다면 다음 칸을 채워주세요. 비교적 간단 문제이지만, 문제를 해결해 나가는 중에 자신의 실력과 사용하는 도구, 프로그래밍 과정, 디자인 방법 등에 대해 생각해 볼 기회가 될 것입니다. 모든 후배들에게 꼭 번 시도해 볼 것을 권합니다. 이 경험에 대해 스스로 분석해 보고, 남들과 경험을 공유하고 차이를 살피고(AnalyzeMary), 또 토론하면서 '''아주 많은 것을 배우게 될 것입니다.''' 어쩌면 이제까지의 프로그래밍 경험에서보다 더 많은 것을 말이죠. 사실 이 실험의 진정 가치는 문제 자체보다 이 문제가 가능케 하는 자기 관찰/반성과, 타인과의 논의에 있는 것인지도 모릅니다. --김창준
         시간을 잴 때에는 Wiki:SandglassProgramming 에 소개된 프로그램을 이용하면 편리합니다. 화장실을 다녀온다든가 할 때 필요 중간 멈춤(pause) 기능도 있습니다.
         ''참고로, 소요시간이 모두 얼마냐 하는 것이 크게 중요 것은 아닙니다. 중요 것은 그 동안 얼마나 가치있는 무엇을(얼마나 더 얼마나 덜) 했냐는 것이죠. 남들보다 시간이 오래 걸리고, 코드가 길어졌다고 슬퍼하십니까? 아닙니다. 오히려 '''축하드립니다'''. 당신은 그만큼 큰 배움의 기회를 만난 겁니다. 자신의 프로그램이 다른 사람들의 그것보다 월등하다고 자랑스러워하며, 더 이상 배울 것이 없다고 생각하십니까? 아닙니다. 당신은 자신이 이렇게 훌륭 해를 구 것을 남에게 설명해 줄 기회를 찾았습니다. 가르치는 것만큼 큰 배움도 없습니다(이 때 자신이 만든 프로그램 자체를 설명하려고 하는 것보다 자신이 어떤 사고과정과 어떤 프로그래밍 성장 과정을 통해 최종물에 도달했는지를 반추해보고 설명해주는 게 더 좋겠습니다). 또 다른 사람들은 무엇 때문에 자신과 같은 좋은 해를 얻지 못했는지 분석을 할 여유가 있습니다.''
         질문 있는 데요. 개발 시간에 문제를 보고 생각 시간까지 포함되나요?? -- 선호
          ''네. 보통 개발이라고 하면 분석, 디자인, 테스팅, 코딩 모두 포함합니다. 따라서 문제를 보고 풀어봐야지 하고 생각 시점부터 개발은 시작된 겁니다. 사실 "코딩"의 과정은 전체에서 보면 작은 부분에 지나지 않습니다.''
         ㅠ.ㅠ 삽질했습니다.--; 상하좌우 대각선 8방향을 주위로 칸 이동할수 있는것이라고 해석을 해서..--; 이상 코드가 나와버렸네요 ㅠ.ㅠ 역시 체스를 몰라도 죄가 되는것인가~~ --인수
          * 프로그래밍을 잘다는 것은 단순히 빠른 시간 안에 짧고 기발 프로그램을 만들어낸다는 것이 아니라는 것을 인식시켜주기 위해
          * 배운다는 것이 얼마나 흥미진지(exciting) 것일 수 있는지 느끼게 해주려고
          * 같은 문제의 해법에 다양 혹은 비슷 부분들이 존재하며, 거기서 서로 배울 것이 많다는 것을 느낄 기회 제공
          * 별로 대단해 보이지 않는 활동에서 각자 얼마나 많은 것을 배울 수 있는지 직접 테스트해볼 기회 제공을 위해 -- 훌륭 학습자는 동일 사건에서 더 많은, 더 깊은 교훈을 얻는다는 것을 알려주기 위해
  • Linux/RegularExpression . . . . 22 matches
         리눅스와 같은 유닉스의 클론 운영체제를 하다보면 반드시 익혀야 할 것들이 몇가지 존재다.
         '''정규식'''이라는 것도 그중의 가지이다.
         거의 대부분의 유닉스 애플리케이션은 정규식의 사용을 지원다. 일단 배우면 쓰임이 대단하지만
          * [](Character Class) : seper[ae]te 하면 seperate, seperete 모두를 포함다.
          * ^ : [] 안에서는 반대를 뜻다. [^1-6] 은 1~6이 아닌것들을 의미..
          * |(OR) : 여러개의 식을 개의 식으로 합성할 수 있다. []안에서는 | 이 문자를 가리킬 뿐이다. gr[ea]y, grey|gray,gr(a|e)y 는 같다.
          * ()(parentheses) : a(a|b)cde 하면 aacde, abcde 둘다 해당 된다. [a|b]하면 | 를 문자로 처리 하지만 (a|b) 로 ()를 씌어 주면 |를 OR로 해석다.
          * -i(option) : 대소문자 구분을 안다. 예)egrep -i '^(From|Subject|Date): ' mailbox
         (3) . (period) : 임의의 문자를 표시
         이에 대 자세 내용은 C언어의 <ctype.h>를 참조하면 된다.
         정규식에서는 위에서 언급 특수 문자를 제외 나머지 문자들은 일반 문자로 취급함
         정규식은 Unix의 대표적인 유틸리티인 vi, emacs, ed, sed, awk, grep, egrep 등에서 사용할 수 있다. 다음은 grep에서 정규식을 활용 예를 보여 주고 있다.
         실행가능 파일("..x..x..x")들 찾기
         이외의 명령어들도 grep과 유사 형태로 이용된다. 따라서 정규식을 잘 이용하면 유닉스의 활용이 배가 될 것이다.
         PHP에서는 정규식과 관련하여 다음의 네가지 함수를 제공다.
         givenPattern은 "(pattern1)stringA(pattern2)stringB(pattern3) ... (pattern9)stringI"로 입력하여야 다. 즉 pattern1, pattern2, ..., pattern9는 각각 string1, string2, ... , string9에서 찾고자하는 정규식인 것이다.
         - 이때 pattern1이 string1에서 발견 패턴은 $matched[1]에 저장되고, pattern2가 string2에서 발견 패턴은 $matched[2]에 저장되고, ..., pattern9가 string9에서 발견 패턴은 $matched[9]에 저장된다. PHP3의 경우 ereg에서는 최대 9개 까지의 pattern을 찾을 수 있도록 설정되어 있음에 유의하자.
         - givenPattern이 "(패턴)"으로 묶인 문자열들을 포함하고 있으면, replacementPattern에는 이에 대응하는 "\\digit(문자열)" 형태의 문자열들을 포함하고 있어야 다(digit는 0, 1, ... ,9 중 하나). 그리고 givenString은 "(패턴)"을 이용해 찾은 결과들을 "\\digit(문자열)"에 있는 "문자열"들로 대체하게 된다. "\\0" 는 givenString 전체에 대해 "(패턴)"의 결과를 적용할 때 이용된다.
  • MFC/Print . . . . 22 matches
         출력을 구현하기 위해서는 view 클래스로 부터 상속받은 수많은 함수들을 오버라이딩 해야다.
          페이지 카운트를 계산다. DoPreparePrinting() 호출
          헤더/꼬리말을 출력다. 현재 페이지를 출력다.
          뷰클래스의 5개의 멤버함수는 프로그래머가 재정의 해야다. 최소 5개중에서 OnPreparePrinting(), OnPrepareDC(), OnPrint()는 구현해야다.
          프린터에 대 데이터의 출력은 디스플레이에 출력하는 것과 동일 방식으로 이루어진다. (GDI가 장치 독립적으로 만들어져 잇기 때문이다.)
         프린트 작업에서 기초적인 역할을 다. 프린트 job 정보, 프린트 작업 상황에 대 내용이 저장된다.
         || m_pPD || CPrintDialog 객체에 대 포인터. 출력 대화 상자를 나타낸다. ||
         || m_bContinuePrinting || TRUE로 설정되면 출력 루프를 계속다. FALSE가 되면 프린트 작업 종료. ||
         || m_lpUserData || LPVOID 형식을 갖는다. 생성 객체에 대 포인터를 저장다. 출력작업에 관 추가 정보를 저장하는 객체를 생성할 수 있도록 다. CPrintInfo 객체와 연계 시킬 수 있도록 다. ||
         || m_rectDraw || CRect 객체. 페이지에서 사용 가능 영역을 논리 좌표로 정의 다. ||
         || m_strPageDesc || CString 객체로 프린트 preview 동안에 페이지 번호를 나타내기 위해 프레임 웍에서 사용되는 포맷 문자열을 포함다. ||
  • MoniWikiACL . . . . 22 matches
         모니위키의 SecurityPlugin의 가지
         아래와 같이 그룹에 대 효력을 발생시킬 수 있습니다.
          * `deny` : 제
          * `protect`: 비밀번호 제이 가능 몇몇 POST액션에 대해 (모든 액션이 관리비번으로 제가능하지는 않습니다)
          * 일부 POST액션은 관리자 비밀번호로 제을 걸어둘 수 있는 액션은 protect 가능 액션입니다. protect 액션은 ''제된 allow''이며, 일부 POST액션만 지원합니다. 예) do_post_savepage()는 post 액션이며, 일반 do_goto()같은 액션과는 달리 관리자 비밀번호로 액션을 제을 할 수 있습니다.
         === 간단 적용의 일부 ===
         === 완전 적용의 예 ===
         // 모든 페이지(*)에 대해 모든 사용자의(@ALL) detetefile,deltetepage 등등의 protect 가능 액션을 protect
         === explicit하게 지정해야 다 ===
         /!\ 주의: 모든 경우, explicit하게 지정될 경우에 효력이 발생다.
         앞절의 설명은 priority가 같은 경우에 대 일반적인 설명이었다. 그룹의 priority를 두었을 때는 어떻게 적용될까?
          * 모든 사용자(@ALL)에게 allow를 제외 모든 액션 거부.
          * 이 경우, allow를 explicit하게 모든 액션에 대해 explicit하게 deny를 걸어주어야 된다. {{{deny *}}} 라고만 하면 안된다.
         ProtectedPage @User deny * # 이것만으로는 의도대로 작동 안다.
         # 다음을 explicit하게 명시해야 의도대로 작동다.
          * {{{allow edit,savepage}}}라고 explicit하게 정의된 것을 다시 취소시켜야 의도대로 작동하는 것이다. 따라서 {{{ProtectedPage @User deny edit,savepage}}}라고 써 주어야 다.
         @Guest Anonymous # @ALL을 제외 모든 그룹의 priority는 그 값이 지정되지 않으면 2 이다.
  • ProjectGaia/계획설계 . . . . 22 matches
          1. 속도가 빨라야 다.
          3. 가변길이 레코드로 다.
          1. 페이지 ID등 일반적인 크기 단위를 Word로 하여 충분 크기를 제공하고 속도를 보장받고자 하며,,
          또 슬롯을 추가할 경우에 추가할 위치를 포인터로써 바로 접근 할 수 있을것임.
          이에 슬롯에 있는 ID와 비교 후,,
          왜냐면,, 비교를 하기위해서 페이지를 적어도 번은 읽어야 하기 때문에..
          이에 마스터페이지(페이지들의 정보를 저장하고 있는 페이지)를 따로 선언해야만 다.
          키 순차화일 구현을 위 프로세스
          키 순차화일은 키 순서로 정렬된 화일을 말다.(교재122p부터) 여기서 키는 primary key(첫번째 필드)가 된다.
          정렬된 레코드를 page(4KB) 단위로 입력, page에는 header와 slot이 차지하는 공간을 제외 크기만큼 레코드를 저장할 수 있다. 레코드를 page에 입력할 때 비신장 가변길이 저장 방법을 사용, 입력될 레코드가 page의 남은 공간보다 클 경우 다음 page에 입력된다.
          레코드의 효율적인 검색or삽입or삭제를 위해서는 page의 구조, page 접근을 위 구조가 잘 구성되어야 다.
          page 접근을 위해 master page를 둔다. master page는 page들 중 가장 앞에 위치다.
          * ④ 페이지 수 등을 저장다.
          레코드는 무조건 화일의 끝에 삽입다.
          master page의 page 수를 읽고 가장 마지막 page로 간 다음, page header의 freespace size를 삽입 예정 레코드의 크기와 비교하여, 만약 해당 page에 충분 공간이 있다면 그대로 추가 입력, 충분 공간이 없다면 다음 page를 생성하고 넣어주는 비신장 가변길이 방법을 이용다.
          삭제와 동시에 해당 레코드가 있는 자리에 null flag를 두도록 다. 다른 레코드들이 page 간 이동할 필요가 없다.
          레코드를 검색 후 해당 key 값과 일치하는 key의 레코드를 지우고 삽입하게 된다. 가변길이 레코드.
          "교체 시 공간 부족 문제에 대 논의가 필요함"
          "기능 구현에 대 아이디어 더 생각해봐야 함"
  • VonNeumannAirport/1002 . . . . 22 matches
         언어는 C++ 로 할 것이고 중간에 STL 중 vector 를 간단하게 이용할겁니다. (자세 이용법은 나도 모르는 관계로 -_-;) 일단 저는 이 문제를 번 풀어본 적이 있습니다. 연습삼아서 새로 풀어봅니다.
         문제는 암튼 이해했고 (Input 에 대 Output 이 머릿속에서 어떻게 해야 할지 연결이 된 상태) 가장 간단하게 테스트할 수 있는 방법에 대해 생각해야 하겠군요.
         이에 대 코드 작성
         통과 테스트
         컴파일러가 인자 2개짜리 Interface 이기를 요청다. 요청대로 해주자.
         기존의 테스트들이 전부 깨졌다. 기존의 테스트는 getTraffic 와 관련 부분이고, 우리가 수정 부분은 getDistance 이다. getDistance 에 촛점을 맞추자.
         여기서 지금까지 생각 test 들을 전부 pass 했다. 앞으로 더 해야 할 일이 생각나지 않아서, 번 실제 메인테스트에 준하는 테스트를 해 보았다. 즉,
         일때 traffic 122 가 나와야 다.
         pass 되었다. 아무래도 번 미리 짜본 프로그램이여서 그런지 초반에 일반화된 것이 아닐까 하는 생각이 든다.
         setUp 부분 묶어서 Configuration 에 대 테스트를 두개로 묶기로 했다.
         근데, Refactoring 에 대해서만 1시간을 쓴 것 같다. 그것도 메인 코드인 Configuration 클래스 보단, Test 코드에 대 Refactoring 이 주가 된 것 같다. 실질적인 실용성을 볼때, 메인 코드에 대 Refactoring 위주로 나가는 것이 좋을 것 같다. (깨진 Test 는 주로 삭제하는 스타일로 가고..)
         Configuration 이 2개인 경우에 대해서. 이 Configuration 을 가지고 있는 것을 Airport 라고 상정짓도록 하겠다. Airport 는 Configuration 을 등록할 수 있으며, 각각의 Configuration 경우에 대 Traffic 들을 각 Configuration 에게 물어봄으로서 계산된 Traffic 들을 알 수 있다.
         간단 두번째의 경우 예를 먼저 든다면.
         각 경우에 대해 첫번째 traffic 은 600이, 두번째 traffic 은 300 이 나와야 다.
         멀쩡하다. 그래서, Configuration 에 대 테스트를 더 작성하였다.
         작동을 잘 다; 문제는 이제 Airport 쪽으로 축소되는 듯 하다.
          intVectorInit (arrivalCitys2, arrivalData, 2); // <-- arrivalData2 로 초기화되어야 다.
          intVectorInit (departureCitys2, departureData, 2); // 역시 또;
  • XMLStudy_2002/XML+CSS . . . . 22 matches
          *그러나 CSS로 스타일 시트를 작성할때는 계가 있다.
          *그리고 스키마의 사용이 보편화 되면서 여러 타입의 데이터들을 포함할 수 있는 문서 포맷이 되어 좀더 다양 디스플레이 방식이 필요하다.
          *이런 CSS의 계를 극복해서 좀더 유연하고 다양하게 디스플레이 방식을 기술할 수 있는 방법이 XSL이다.
         == CSS를 쓰는데 중요 점 ==
          *이렇게 네임스페이스를 지정해 주어야다.
          *그리고 위와 같이 HTML 네임 스페이스를 지정 경우에는 <HTML : A> 뿐 아니라 다른 HTML의 태그들도 HTML 네임 스페이스의 Prefix를 붙여 사용할 수있다.
         IE5.0을 브라우저로 사용하고 스타일로는 CSS를 사용하여 볼 수 있는 방법을 설명 것 입니다.
         이 문서 또 XML로 작성되어 있습니다.
         있도록 지원다.
         사용 경우, XML 문서를 Parser를 통해 파싱
         기술해 주어야 다. 브라우저는 XML 문서를 읽어들이면서, 스타일시트가 지정되어
         <PA>만약 XSL로 기술된 스타일시트를 사용하고자 다면, 다음과 같이하여 사용다.</PA>
         <PA>이러 사용할 스타일시트를 선언하는 부분은 XML 문서의 프롤로그에 위치하며,
          : 이 XML 문서에서 스타일 선언 부분의 위치를 확인해보시면 됩니다.</PA>
         스타일에 따라 해당 XML 문서를 볼 수 있도록 지원다.</PA>
         <LCOMPO>(1) XML 문서 브라우징을 지원하는 IE5.0을 설치다.</LCOMPO>
         <LCOMPO>(2) XML 문서를 작성다.</LCOMPO>
         <PA>DTD를 보고, 사용되는 엘리먼트들에 대해서 스타일을 지정해 둔다. 만약 DTD를 사용하지 않는 문서라면, 직접 문서내용을 보고 문서 내에서 사용되는 엘리먼트들을 찾아봐야 다.
         스타일은 번만 작성해도 같은 클래스에 속하는 XML문서들이 함께 사용할 수 있다.
         <PA>XML 문서에 대 예제를 보시려면 이 문서의 소스보기를 해보세요!</PA>
  • 데블스캠프2004/목요일후기 . . . . 22 matches
         === 참여 사람 ===
         간단 암호화와 STL 을 실습했다. 어렵게 여겼던 암호가 쉽게 느껴졌다. STL 은 정말 강력하고 편 Library였다. AcceleratorC++ 을 공부하며 STL 까지 확장해서 공부해야겠다. 민수와 영동형처럼 강의를 편안하게 하고 싶다. -- 재선
         노수민은 역시 변태다. 결국 잠들고 말았다. 정말 끈기가 부족하다고 느꼈다. 역시 아침형인간은 데블스 캠프에 부적절 인간형임을 배웠다.
         느낌 : 암호화와 복호화가 재미있었고, 영동이 형의 마지막 맵을 이용 복호화와 마지막 암호 welcome2zp 의 암호 재미있었습니다. 배열을 이용하면 어려워 보일 것들도 STL 을 이용해서 쉽게 할수 있다는걸 알았습니다.
         끈기가 필요 날이었고, STL은 알면 편하다. 자는 사람이 여전히 답답하다. 포기하려는 사람은 포기하지 않도록 독려해야겠다. --[Leonardong]
          '''데블스캠프 강사들은 반드시 자신의 강의에 대 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
          * 3학년(?)이 되었으니 후배들에게 뭔가 남겨줘야 다고 생각하고 시작하게된 세미나였는데, 후배들이 잘 알아들었을지 모르겠네요.
          * 1학년 여름방학때 처음 접하다 포기 STL을 다시 공부하게 되는 기회가 되서 좋았습니다. --영동
          * '문제는 내는 사람이 재밌는 걸 해야다'는 말을 제대로 실감했다.
          * class를 아직 안 배운 상태라 그것에 관 이야기를 가능 안 하려고 하다보니 또 설명이 더 횡설수설이 된것 같다.
          * 자잘 대비를 안 부분이 아쉬웠습니다. --영동
          * string str을 선언하고 getline(cin, str)을 하면 왜 입력 받은 후 엔터를 번 더 쳐야 넘어가나요?
          * 최종 확인 결과 VC++ 6.0 라이브러리의 버그다. VisualStudioDotNet 계열은 정상 동작을다.
          * 신입생들이 푼 연습문제페이지는 제가 페이지를 정리해 놓겠습니다. 자잘 준비를 미리 해야 다.
          * 우리는 청자들에게 끊임없이 공유 비전을 공감 시켜야 다. 공감하지 못하고 실종(?) 된다면 우리와 함께 하는 것이 아니고 뭐랄까, 하고자 하는 생각이 없다는 표현이 맞을까? --NeoCoin
          * Siver bullet 는 Pair + 요구사항 변경일까? 시간이 걸리는 가지를 진득히 구현하면서 밤을 새는 끈기를 이끄는 방법은 없을까? 재동 처럼하지 않은 것은 작년과 같은 기억으로 진행했었던 모양이다. 역시 피드백은 유용하군. ([데블스캠프2004/수요일후기] 강사후기에 적어주라) 작년 기록에서는 Pair 는 하지 않았군. 그럼 어떻게 해결했었을까? 03들이 작년의 기억을 되살려 [데블스캠프2004/공유비전]에 끈기를 넣은것 같은데 그때는 어떻게 했었지? --NeoCoin
          * 그렇군, 뒤에 이틀을 살펴보니 신입생+신입생으로 구성된 페어가 보이는군, 올해는 재학생 + 신입생 페어를 지향것 같은데(나도 그렇고) 무언가 부족 점이 있을까? 월요일 관찰은 2/8분 규칙을 해도 몇몇이 선배가 무시하고 키보드 독점 폐해가 있었다. --NeoCoin
  • 데블스캠프2005/월요일후기 . . . . 22 matches
         == 참여 사람 ==
         허아영, 김민경, 최정빈, 김태훈,남도연, 김소현,[송수생], 박경태, 윤성복, 조현태, 이현정, 정현지, 임수연, 정수민, 유선,김영록, 김재성,
         사실 : 흥미롭고 유익 강의를 들었다.
         사실 : OOP, FLASH 등 새롭고 유익 것을 배웠다.
         느낌 : 솔직히 생소 것이라 좀 헷갈렸다.
         사실 : 피곤하다 느낌 : 누가 잘 밤에공부하라디?ㅠㅠ 교훈 : 우린 너희가 잘때
         느낌: 새로운 세계를 보게 된듯 느낌
         느낌: 신기하다. 정말 세상에는 다양 학문이있다. 데블스 캠프는 신기하다.
         [황재선] : C, C++ 문법에 대 불편함을 느끼면서 사고의 틀을 벗어나지 못했던 점이 충격적이었다. 좀더 고차원적이고 추상화하는 능력을 키워야 겠다. 계절학기 듣느라 끝까지 못 점 무척이나 아쉽다.
         교훈으로는 코딩 수준을 단계 끌어올리자
         데블스캠프 강사들은 반드시 자신의 강의에 대 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
          준비하는 과정에서 리허설을 해보았다. 부족 점이 어떤 부분인지 와닿았다.
          사람들은 자신이 만든 작품에 대 열정이 대단하다는 것을 느꼈다.
          딱딱 내용이라면 유머를 최대 활용해야 했는데 아쉽다. 사람들이 어려워다고 강의자가 당황해서 준비 내용을 건너뛰다 보니 오히려 더 이해가 안된 것 같아 아쉽다. 차라리 준비 대로 설명을 해나가면 사람들이 이해하기 쉽지 않았을까?
          구석진 곳에서 듣는 사람들은 아무래도 집중도가 떨어졌다. 피시실 구조도 몫하겠지만, 되도록 뒤쪽 컴퓨터를 사용하지 않도록 권장할 필요가 있다.
          리허설 번으로는 불충분하다. 참가 인원을 고려 리허설이 필요하다. 기왕이면 혼자 리허설하기보다 여럿이 같이 할 수 있으면 더 좋겠다.
  • 데블스캠프2006/월요일/연습문제/웹서버작성/변형진 . . . . 22 matches
          * 유연 마임타입 설정으로 하이퍼 텍스트는 물론이고, 이미지 삽입, 멀티미디어 재생, 파일 다운로드도 모두 가능함
          * 디렉토리명으로 접근 경우 index.html, index.htm, index.php 순서로 가져옴
          * 아직 다양 보안 문제에 대 해결 방법을 마련해놓지 않아, 지정된 디렉토리에 있는 파일만을 보이도록 허용함
          * GET Method으로 넘어온 Query String를 처리다.
         형진이 다 만들었네. ㅋㅋ 잘했다. 가지 부탁할건 컴공으로 먹고 살라면 도메인 언어를 C나 Java로 바꾸는 게 필요할 것 같다. - [eternalbleu]
          * 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 보다 더 개발이 수월할 정도..
          * 내가 아무리 이렇게 말해도 귀에 안들어 올거라고 생각은 하고.. 다만 번 경험을 해보길 바래. 내가 지금 와서 조금 후회되는것은 위키를 Jsp,Java 로 안짜고 PHP로 짠것이니 만큼.. 그리고 컴공에서 제일 중요 것은 특정 언어 하나를 잘하는 것도 좋긴 데, 나는 어떠 것이 눈앞에 와도 금방 적응하고 배워서 써먹을수 있는 능력도 중요하다고 생각해. 그리고 검색 엔진에 관심이 있다면 오픈소스 검색엔진인 Lucene 을 번 갖고 놀아봐. 그리고 실제로 간단 것을 짜보고 싶으면 [MemeHarvester] 이 프로젝트 이어서 해도 되고. - [namsang]
         상협이의 현태에 이은 작업이 느껴지는군 ㅋㅋ ㅡ_ㅡb 가장 중요건 처음 대학에 왔을때 자기가 가진 관심분야에 대 공부를 끝까지 해나가는 것이 중요할 듯. 처음 가지고 있었던 이상과 자신의 방향이 흔들리면 결국 이도 저도 아닌 그냥 코딩만 하다가 끝나버릴 수 있으니까. 일단 학과에서 하는 공부에만 만족하지 말 것. 가능하면 본인이 자신이 있고, 관심이 있는 분야의 지식을 지속적으로 학습해 가는 과정이 가장 중요하다고 생각함. 대학 입학할때의 실력으로 만족하지않고, 지속적인 노력을 통해 자신을 단련해 가는 과정 자체를 늘기는 사람이 됐으면 좋겠다. (결론은 나처럼 놀지말라는 이야기 ㅡㅡ;; 나중에 후회다 ㅋㅋ) - [eternalbleu]
  • 문자반대출력/허아영 . . . . 22 matches
          * ver2 를 만들려고 다.
          영어와 글을 구분하는 것은 구했는데,
          글문자열을 반대로 출력하는 알고리즘이 떠오르지 않는다.
          단점: 글과 영어를 섞어서 사용 못다는 점. 영어와 글을 섞을 수 있는 ver.3 만드는 것이 문제.
          choiceNum을 영어, 글, 문자로 세분화 하려고 했으니 일단은 저렇게 코딩.
          choiceNum = 1; // 글??
         === 나테 할 말 ===
         글로된 문자열을 입력 했을 때 다른 결과가 나온다. 예를들어 최경현 이란 문자를 입력하면 置麗零 이렇게 나와 .... 내가 만든거도 이렇게 나온다 마찬가지 ..ㅠ.ㅠ --[최경현]
          좋은 발견입니다. 글자는 알파벳(1바이트)과 달리 2바이트입니다. 따라서 위 코드와 같이 해주면 영어와 같은 알파벳은 거꾸로 출력되지만 글은 아예 문자열이 바뀌게 됩니다. 글같은 2바이트 확장문자도 반대로 출력되게 구현을 번 해보세요. - 보창
          비베에서는 글이나 일본어처럼 2바이트를 사용하는 글자의 경우 알아서-_- 판단하고 글자 단위로 읽는 함수가 있긴 데 씨에서는 알파벳과 같은 1바이트 문자인지 아니면 2바이트 문자인지를 어떻게 구분해야 할까요? -태훈 [zyint]
          글로 해봤었는데, 이 프로그램은 영어만 되나, 하고 생각했었습니다. MSB를 이용하면 되겠군요. MSB에 대 자세 설명이 필요합니다. --아영
          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바이트 문자이다)라는 것을 말합니다.
  • 새싹교실/2011/AmazingC . . . . 22 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * [[신기호]]: 전날 밤에 직접 ppt를 제작해서 수업을 했다. 덕분에 내가 알고 있는 부분에 대 설명은 잘 것 같지만, 만든 분량이 적었는지 예상보다 빨리 끝났다. 그리고 아무리 학생들이 이미 배운거지만 중간중간에 설명이 너무 빨랐고 발음도 꼬인 것 같다. 담부턴 좀 더 알차게 ppt를 만들어야겠다.
          * [[이가희]]: 배운 내용을 다시 배우는 복습차원에서 정리를 다시 번 찬찬히 할 수 있었던 시간이었습니다. PPT까지 만드시느라 고생하셨어요.:)
          * [[박지호]]: 프로그래밍의 기초에 대 내용을 배웠습니다. 수업 내용이 이미 배운 것이었지만 질 자체는 꽤 괜찮았다고 생각합니다. 또 직접 ppt까지 제작하신 기호형의 성의가 돋보였습니다. 앞으로 수업에 대 기대가 큽니다.
          * 여러가지 자료형의 변수를 이용 연산에 대해 배웁니다.
          * 비트란 10진수의 숫자를 2진수로 바꿨을 때 디지털 숫자 자리를 비트라고 다. 단, 맨 앞자리 비트는 부호 비트로 사용다.
          * 오버플로우 = 어떤 특정 자료형이 표현할 수 있는 데이터의 범위를 벗어났을때 오버플로우가 발생했다고 다.
         ==== part2. 변수를 이용 연산 ====
          * 변수는 컴퓨터의 메인 메모리의 부분을 직접 차지다.
          * 따라서 scanf("%d",&number);에서 &는 number가 메모리에서 차지하고 있는 공간의 주소를 반환다.(후에 포인터 배울때 중요 개념)
          * 우리가 char형 변수에 문자를 넣을땐 컴터가 문자로 저장을 하지 못다!!(왜냐하면 컴퓨터는 숫자로 이루어진 기계니까)
          * [[신기호]]: ppt는 나름 알차게 짠 것 같지만, 이번에도 설명이 약간 빨랐던 것 같다. 궁금게 있으면 물어보라고 했더니 모두 아는 내용이라고 하긴 했지만, 왠지 나중에 어려운 개념에 들어가면 학생들이 어려워할 것 같다. 그리고 가희야 빵 고마워 ㅋㅋ
          * [[박지호]]: 자료형에 대해서 배웠습니다. C프 강의때 딴짓 해서인지 이해하지 못했던 내용을 배워서 좋았습니다. 마지막에 실습도 잘 이뤄졌으면 하는 아쉬움도 남았습니다.(마치 먼저 작성것처럼 조작하지마 이가희)
  • 서지혜 . . . . 22 matches
          * 매일매일 강박증에 걸린 것 처럼 쓸고 닦아야 다.
          * ~~4개월 밖에 안남았지만 달에 개의 목표 달성하기~~
          * 생활다는 것은 이 세상에서 가장 드문 일이다. 대다수의 사람들은 존재하고 있을 뿐이다.
          * '''의도적 수련'''에서 영감을 받아 시작하기로 reconstitution project
          * ~~4.5 정모에서 코드레이스의 코드를 TDD로 짜보려고 하고있어요.~~
          1. 나를 위 프로그램
          * 신선 동네 API사용
          * Apache Hadoop 기반 대용량 분산 처리 및 마이닝 알고리즘(MapReduce를 이용 ETL) 구현하기
          1. simple merge를 짜보고 거기서 발견 패턴 공유하기.
          * 이케아가 국에 들어올 무렵에 시작
          * hadoop MapReduce를 이용 ETL모듈
          * 물론 푼도 받지 못했다.
          * hadoop MapReduce를 이용 CF알고리즘, UI : ExtJS 4.0, 검색 : Lucene, 데이터 저장 : MySQL, Hibernate
          * mvel이라는 훌륭 오픈소스가 있지만 내가 만들어볼꺼야...
          * 달에 두세번씩 책들을 사들이고있다. 소설책은 재미뽕짝이 없어서 안읽겠다 했는데 러브크래프트 전집을 샀다. 퇴마록도 다시 나오던데 모아둬야겠다.
          * 스티븐킹이 러브크래프트가 대인관계 서툰 사람이라 작내에서도 인물간의 대화가 얄팍하다는 식으로 깠다고 다. 난 못느꼈는데,, 아 인물간의 대화보다 묘사가 더 많아서 몰랐군. - 2016.03
          * 논문을 읽고 BigTable을 분석하여 아키텍처를 설계다.
          * 구현까지 다면 금상첨화
          * BigTable부터 시작된 대용량 데이터 분산 병렬 처리 기술의 컨셉정도를 안 것 같다. 1년여가 지났으니 매우 많은 개념들이 바뀌었을 듯 하지만 변하지 않는 아키텍처에 대 그림을 그릴 수 있었다.
          * 끔찍 중복 코드 덩어리를 볼 수 있다!
  • 정모/2011.3.28 . . . . 22 matches
          * 주제는 국인과 외국인이 나오는 책. [강소현] 학우는 먼지의 여행, [권순의] 학우는 Go를 읽었습니다.
          * 탈락자도 정말 다양 탈락자가 있으니 맺힌 탈락 이야기를 들으실 수 있을듯…
          * [임상현] 학우의 다양 게임 컨트롤러와 활용 소개 세미나
          * 새싹 돌아보기 도중 나왔던 윤종하 게임 세미나! 정확히 언제 하실지 궁금해졌습니다 ㅋㅋ 다음 주 부터 ZP에 관심 있는 새내기들도 참여다던데, 이제 ICE BRAKING의 진가를 발휘할 때가 오지 않았나 싶습니다. 다른 사람들도 모두 알 수 있는 용어들로 채워졌으면 합니다. OMS에서 처음과 두번째 동영상은 TV 광고에서도 많이 봤던 류였지만, 세번째의 사람 전체 행동을 인식해서 컨트롤러 없이도 게임을 즐길 수 있는 것과 네번째 동영상에서 컨트롤러를 활용해 화이트보드에 글씨를 쓰거나 3D 형태로 보이게 하는 것이 신기했습니다. 특히, 로봇같은 경우는 오른쪽으로 가라고 하는 손가락질을 인식해서 이동하는게..정말 능력자가 많은 듯 싶습니다. 책 읽기 모임은 원래 격주로 하는데 시험이 3주밖에 안남아 다음주에 진행하고, 중간고사가 끝날 때까지 쉴까 고민중입니다. 어느 새 3월이 다 갔네요! 시간 참 빠르군요 ㅠㅠ - [강소현]
          * 이번 정모는 지난 달간 제로페이지가 어떻게 지내왔었는지에 대해서 다시번 생각해 보는 시간이었습니다. 그래서인지 독서 모임 말고도 다른 프로젝트나 스터디를 해야 겠다라는 생각이 들긴 했었는데.. 오늘 보다 보니까 박성현 학우 혼자 리펙토링 스터디에 이름이 올라가 있던데 왠지 저도 번 해 볼까 라는 생각도 들고 -_-;; 음.. 논문 읽기라.. 여하튼.. 달간의 제로페이지의 모습은 새 학기를 시작하는데 있어 정말 분주했었고 알차게 되기 위해 노력했었던 것 같습니다. 오늘 OMS는 콘솔 게임에 관심은 있지만 자금적인 문제..... 로 못하고 있는 저에게 참 재미 있었던 주제였습니다. 플레이스테이션도 그런 컨트롤러가 나와 있었는지 몰랐었는데 오늘 보면서 플레이스테이션이 왜 안나오나 했었는데 나와 있었구나 라는 생각을 하게 되었습니다. (응?) 그리고 그런 컨트롤러를 이용하여 게임 외 다양 분야에 활용하는 것을 보고 생각의 전환이라는 것이 사소 부분에서 시작하는 것을 다시금 느낄 수 있었습니다. - [권순의]
          * OMS에서 상현이형이 발표하신 인터페이스에 관 것들이 참 기억에 남더군요. 그 장비들로 작년에 창설을 진행했으면 전 A+을 받고 1학기 장학금을 타서 ZP 선배, 동기 들에게 술과 밥을 제공했을 것 같았습니다. 그리고 스터디는 하고있지만 학생회 일정 때문에 했다간 민폐력만 키울거 같아서 못하게 된게 정말 아쉬웠구요 ㅠ 방학 때에나 해야겠습니다. 그리고 새싹 저희반이 생각보다 다른 반보다 게 은근히 많더군요. 1등반 만들도록 애들 닥달해야겠습니다. 훗. 그리고 전 회비 냈지 말입니다. 그리고 회장님이 아이스 브레이킹에서 이상 키워드라고 회피하셔서 아쉬웠어요. - [윤종하]
          * 이상 키워드라서 이상 키워드라고 했는데 그럼 그걸 뭐라고 하리… - [김수경]
          * 시작하기 전에 다들 모여 앉을 수 있도록 앞으로 나와달라고 했어야하는데 깜빡했네요. 그래서인지 이번 정모는 약간 산만 느낌이 들었습니다. 이번 OMS는 게임 컨트롤러에 대 내용이었는데 굉장히 흥미로웠습니다. Wii 나왔을때도 신기하다 대단하다 싶었는데 이제 뭐 들고 있을 필요도 없다니… 기술 발전이 참 놀라워요. 느리지 않을까 생각했는데 별로 느리지도 않은 것 같고 말이죠. 요새 플래시 보드(타는)게임을 자꾸 하는데 키넥트를 이용 보드(타는)게임 해보고싶네요. 아파트에 살면서 그런거 하면 쫓겨나겠지만 난 아파트에 사는 게 아니니까;; 3월 회고를 진행했는데 OMS는 결같이 호응이 좋습니다. 다시 시작하길 잘했네요~ 발표하는 사람에게도 듣는 사람에게도 즐거운 시간인 것 같아요. 그런데 다음주 OMS도 과연 그럴지………… 위키의 활성화도 긍정적인 반응이 많아 기뻤습니다. 안 쓰던 위키라 다들 불편하게 느끼시지 않을까했는데 역시 쓰다보면 또 익숙해지는 거니까요ㅎㅎ - [김수경]
          * 정모에 참여하면서 굉장히 죄송했습니다; 저질 체력 때문에 몸이 자꾸 소리쳐서 몸의 요구를 들어줬습니다; 그래서 정모도 중간중간 일어나서 참여했습니다, 정말 죄송합니다; 키넥트에 대해 정말 간략하게만 알고 있어서 OMS를 집중해서 들어서 키넥트에 대 정보를 더 알아보려 했지만 실패했습니다. 생각해보니 키워드 전기수도 아예 못 들었네요; 역시 밤을 새는 건 좋지 않네요... 습관이 되버린 것 같기도; 운동 다시 시작하려고 합니다..만 발때문에 못하겠네요 -_-;; - [박성현]
          * 이번 정모는 굉장히 산만했던 것 같습니다. 개강 첫 달의 회고가 찜찜하게 마무리된듯 하네요.. 왜 집중이 안되었는지 생각해보았는데 많은 이유가 있었던 것 같네요. 모여앉기를 하지 않았고, 회장님(나도)의 컨디션이 좋지 않았고 참여하는 학우들중에도 상태가 안좋은 분들이 다수ㅋㅋ 포스트잇을 벽에 붙이고 다같이 보는것은 좋았는데 책상들때문에 접근성이 떨어져서 다같이 보기가 힘들었어요. 스카치 테이프를 챙겨가서 화이트보드 쪽에 붙이는게 나앗을 듯? 키넥트 동영상들은 전에도 봤던거지만 그래도 재미있었어요. 능력자님들은 어디에나 산재하는듯ㅠㅠ 그보다 OMS의 질이 점점 좋아지는것 같네요 부담스럽게시리- [서지혜]
  • 정모/2012.2.24 . . . . 22 matches
          * 참가자 : [이승], [김준석], [변형진], [송지원], [김수경], [서지혜], [강성현], [권순의], [정종록], [서민관], [황현], [고종], [김태진], [이민규], [이진규]
          * [http://wiki.zeropage.org/wiki.php/%EC%A0%9C12%ED%9A%8C%20%ED%95%9C%EA%B5%AD%EC%9E%90%EB%B0%94%EA%B0%9C%EB%B0%9C%EC%9E%90%20%EC%BB%A8%ED%8D%BC%EB%9F%B0%EC%8A%A4%20%ED%9B%84%EA%B8%B0 제12회국자바개발자컨퍼런스후기]
         == 이승 선배의 GUI ==
          * 2월에 ZeroPage가
          * 전기 안들어오는 줄 들어오게 하기 (중요!)
          * 오랜만에 지원이누나를 다시 보는데다 승선배가 오신다기에 급하게나마 2월 회고를 위 정리를 진행했어요. 는 지원이누나가 정모가 잘 진행되고 있는거 같아서 좋다고 하기에 안도. ㅎㅎㅎㅎ 회고에서는 아무래도 단추공장 조가 가장 큰 인기를 끌었던거 같네요. Agile Korea가서 제대로 건져와서 써먹네요. ㅋㅋ GUI는 요새 제가 동네 리뉴얼하면서 (실제로 난 별로 안하는거같기도..) MVC패턴이나 View부분에 신경을 많이 쓰다보니 와닿는점이 참 많았어요. 승선배가 좀 더 깊이 설명해주셨다면 좋았을텐데...라는 생각이 좀 들긴했지만요. 성현이형의 OMS도 엄청나서 (도쿄라니!) 전반적으로 정말 즐거운 정모였던거 같아요 - [김태진]
          * 새싹 OT는 그렇다치고, ZP에 관 OT도 있어야할까요? - [김태진]
          * 신입생들 대상으로 하는 얘기 맞지? 새싹 OT 하는 날 합쳐서 간단 소개는 필요하지 않을까? 따로 하는 건 좀 오버인거 같구 ㅋㅋ 주로 새싹 소개하면서 ZeroPage 설명부터 하고 시작했던 것 같아. 그리고 간단 세미나(혹은 새내기에게 하고싶은 말 세션) 같은 것도 함께 했던 적이 많고. - [김수경]
          * 작은 OMS 이야기라는 드립으로 시작 OMS.. 준비다고 시간 좀 끌었는데 들어보니 시간 끌 만 했다는 생각이 들었습니다. 재미있었어요! 여행을 거의 다녀본 적이 없어 간접경험삼아 열심히 들었네요ㅋㅋㅋㅋ ''그나저나 오늘 인터넷하다가 도쿄 역 방사능 수치가 4.88 마이크로 시버트라는 글을 어디서 봤는데..............''
          * 오랜만에 사회인 ZeroPager 두 분을 만나 즐거웠습니다! 치킨 감사합니다... 덕분에 ~~또~~ 폭식을 했습니다.....^_T 지원언니의 신입사원 연수 이야기 재미있었어요. 아직 취직을 하지 않았지만 가까운 미래에 취직을 해야할 상황이라 제겐 특히 더 와닿는 이야기가 아니었나 싶습니다. 승선배의 GUI 세미나도 잘 들었습니다. 유행하는 것과 유행하지 않는 것에 대 이야기가 가장 인상깊었어요. 작년에 [:DesignPatterns/2011년스터디 DP 스터디]를 시작하며 읽었던 FocusOnFundamentals 페이지가 생각납니다.
          * 아, 그리고 회고 진행될 때 느낀 건데 올해 회장 태진이가 확실히 세심하게 준비하는 면이 있어 좋아요. 지난 일년간 정모를 준비할 때 (후반에는 사실 뭔가 잘 준비를 못 적이 많았고....) 초반에 열심히 준비할 때에도 세세 부분은 신경쓰지 못 게 많았거든요. 완벽 ZeroPage보다는 항상 더 나아가는 ZeroPage가 바람직하다고 생각하는데 올해 ZeroPage가 작년보다 더 나은 ZeroPage가 될 수 있겠다는 생각이 들어 기뻤습니다. 회장 태진이도 그렇고, 방학인데도 열심히 정모에 참석하고 또 회고를 손 들어 이야기하는 방식으로 진행했는데도 적극적으로 참여하는 ZeroPager의 모습이 정말 보기 좋았습니다 :) - [김수경]
          * 개강 앞두고 피시실 관리와 새내기등 신경쓸일 많은 와중에도 정모 열심히 준비하는 회장님 존경. 이전 ZeroPage가 했던 고민을 다시 하고 계신듯 하여 (훌륭 세미나나 일용할 양식같은 물질적 도움은 못하지만) 도움을 드리고 싶네요. 그렇다고 결과가 특별히 좋았던건 아니라 망설여지기도 하고.. 커피나 잔 할까요 회장님- - [서지혜]
  • 정모/2012.3.19 . . . . 22 matches
          - DLL에 대 설명
          * 자기 언어에 대 이해가 충분해서 새로운 패러다임의 언어와 섞일 수준 아니면 차라리 아무것도 모르는 백지상태가 추천 대상(추천일 뿐)ㅋㅋ - [서지혜]
          * floating server와 비슷 아이디어인듯. 되게 재미있을거같은데 영어가 좀.. 아 자꾸 미련가네 - [서지혜]
          * 처음 나온 사람들도 있긴 했지만 서로 아는 사이가 많은 모임에서 자신에 대 진실 혹은 거짓은 적절 활동이 아닌 것 같습니다. 작년에 저도 진실 혹은 거짓을 진행 적이 있긴 데 그땐 일주일을 돌아보는 활동으로 지난주에 일들에 대해서 실제 했던 일과 거짓말을 적었던 거라서… 아이스 브레이킹이 원래 처음 보는 사람들 모이는데서 어색 분위기를 깨려고 진행하는 경우가 많은데 ZeroPage 정모는 주로 활동하던 사람들이 모이는 모임이니까 어떤 형태의 아이스 브레이킹이던 기존 형태를 그대로 쓰면 적절하지 않을 것 같아요. 어수선 분위기를 정리하고 다들 정모에 적극적으로 참여할 준비자세를 갖추게 하는 방향을 지향하는 게 좋지 않을까 싶네요.
          * 전체적으로 영어의 압박이 있었습니다. 사실 영어 하나도 못하지만 그 분위기가 은근 재미는 있었어요. 그런데 앞으로도 계속 정모를 영어로 진행해야하느냐에 대해서는 부정적인 견해를 가지고 있습니다. 외국인 참가자를 배려하는 건 좋지만 국으로 교환학생을 온 외국 학생이 불편하다면 그쪽에서 국어를 열심히 공부하는 게 맞는 방향이겠죠? 이 기회에 영어 스피킹을 마음껏 해보고싶은 사람이 영어를 적극적으로 사용하는 건 반대하지 않습니다. 그러나 영어를 사용하는 것이 정모의 원활 진행을 해치는 것은 아닐지 고민해봐야 할 것 같아요.
          * 파비앙의 DVPN, DPKI 이야기 덕분에 분위기가 층 더 학회스러워졌네요. 작년에 네트워크 응용설계와 정보보호를 수강했던 기억이 납니다. PKI에 대해서는 [데블스캠프2011]에서 간단히 이야기 적도 있었어요. 그런데 별로 brilliant idea는 떠오르지 않네요… 전 창의적인 사람이 아니라서-_-; 그런데 창의성이란 대체 뭘까요? 요새 창의도전SW를 준비하면서 이 점이 상당히 고민스럽습니다. - [김수경]
          * 저도 전체적으로 전부 영어를 쓰는게 좋다고는 생각하지 않아요. 정작 필요 내용을 제대로 전달하지 못할 수도 있으니까요. 다만 OMS정도는 가능하면 영어로 준비해보는거도 좋지 않을까 하는 생각이에요. + 파비앙은 학회실이 생기면 - [김태진]
          * 발표자가 영어발표를 원활하게 할 수 있지 않으면 그냥 글로 진행하고 파피앙에게 누군가 통역해서 설명해주는 것이 좋을 것 같습니다. 뜻이 불분명 단어로 수습하시면 양쪽 모두 알아 듣기 힘든 문제점이... - [김희성]
          * 저테는 첫 정모였는데 재미있었습니다. 영어로 진행되는 바람에 조금 이해하기 힘들었습니다. 다음부터는 글로 진행하면서, 동시에 영어로 통역을 해 주는 사람이 있었으면 합니다. 또 VPN와 PKI와 관련된 전문적인 설명을 들을 수 있어서 좋았습니다. 저는 전반적으로 만족합니다. - [김민재]
  • 학회간교류 . . . . 22 matches
         Netory:Netory 와 ZeroPage 간 공동스터디 진행과 방법에 관 토론들.
         두 학회가 서로 잘 다루는 분야, 그렇지 않은 분야가 있고, 이러 기회를 자주 갖게 된다면 서로에게 도움이 되리라 본다. 혹은 사람들간의 교류를 시작으로 다양 꺼리들을 만들 수 있으리라 본다.
         현재는 10월 말 중간고사와 Netory 에서의 공모전관련 일정 등으로 인해, 당분간 위키를 통 의견 교환을 하도록 함. 보다 구체적인 사항은 추후 있을 회의를 거친 후 결정할 생각이다.
          : 간단 예제 두개로 1~4학년까지 두루 좋은 교육이 될 수 있었으면 좋겠네요. 욕심이면 말구요..
          : 나의 머릿속이 탄로나 버렸군요.. 너무 애매 사항을 요구하는 거 같기도 하고.. 그렇다고 절 이질적으로 대하진 마세요. ㅡ.ㅜ 요즘 할 건 많은데, 교양서(?)를 더 많이 보느라 다른거 할 시간은 없군요.. 쩝.
          * 두 학회가 번도 접해보지 않은 주제를 하나 잡고 일종의 '탐사놀이' 같은것을 해보면 어떨까? --[1002]
          * 친목을 위 게임 대결. 혹은 게임 AI 만들기 등등.~
         첫 시도이니만큼, 무사히 성사해본다는 데 의의를 많이 가지자. 나름대로 욕심을 더 더하자면, 학생들이 좀더 안목을 넓히고 재량을 넓힐 수 있는 기회가 되었으면 다.
         방식은 그저 편안하고 익숙 수업방식이 좋을 것 같다. 대신 질답시간을 잘 활용해서 열성적인 분위기를 이끌어갔으면 좋겠다. --[경태]
         학점+영어가 아닌 코딩+실력이 되기 위해서 필요 것들에 대해 배우는 좋은 기회가 되었으면 합니다. --[경태]
          * Netory:경태 형께서 [임인택] 에게 제안하셨습니다. [전시회]페이지도 참고해 주셨으면 합니다. 일단은 회장님을 비롯 ZeroPagers 들의 생각을 듣고 싶네요. - [임인택]
          * 안녕하세요~ Netory:경태 입니다. 네토리에 속해서 다시 번 인사를 하게 되네요.. '일단 반대는 안다는 입장은 곧, 하면 좋다'로 이해하고 있을게요.^^ 언제고부터 스터디 모임을 공동으로 해보자는 이야기가 나왔지만, 첫째, ZP에는 ZP만의 스터디행사가 있었구.. 둘째, Netory는 Netory만의 일정이 있어서 생각만큼 좋은 뜻을 같이 하지는 못했었던 상황으로 알구 있구요. 현재로서는 제가 그저 제안을 내본거라서, 조만간에 네토리 모임을 갖어서 좀더 구체적인 사항으로 얘기를 다시 꺼내도록 하겠습니다. -- Netory:경태
         [1002] : 현재 네토리와 Zeropage간의 의견 교환이 잘 안이루어지고 있다. 보다 친하고 도움을 줄 수 있는 관계가 되고자 다. 또 그것을 교두보로 여러 이벤트를 진행하고 싶다. 가시적인 성과 이외의 잠재적인 발전적 측면이 많을 것이다.
         [나휘동] : 네토리 따로, 제로페이지 따로 의견을 내고 있는 느낌입니다. 그럼에도 저는 네토리 회원 누군가에게 말을 걸기가 매우 어렵다고 느낍니다. 이러 분위기부터 누그려뜨리면 결 이야기가 쉽지 않겠습니까?( 물론 이런 효과는 학회간 교류를 함으로써 얻는 결과물이기도 합니다. ) 좋은 방법이 뭐가 있을까요?
          - [전시회]나 [강연]등에 같이 참여하고 뒤풀이 같은것 (보드카페, 술자리.. 등등)을 함께해보는 건 어떨까요? 무언가 같은 경험을 공유 뒤에는 친밀도가 높아지고 보다 빈번 의견교환이 가능할것 같은데요. - [임인택]
         공모전에 낼 작품이 아쉽게도 완성되지 못했다고 들었습니다. 부럽기도 하고 안타깝기도 합니다. 그래도 많이 공부하셨을 텐데 그에 대 세미나를 해 주시면 어떨까요?--[Leonardong]
  • 2학기파이선스터디/함수 . . . . 21 matches
         return은 계산된 값을 함수를 호출 곳으로 돌려준다. def는 함수 객체를 생성하고 그 객체를
         add란 이름에 할당다. 즉, 이름 add는 함수 객체의 reference를 갖고 있다.
         pass는 아무 일도 하지 않는 통과문(statement)이다. 함수는 최소 개 이상의 문을 가져야 하기 때문에 사용다.
         >>> a = 20 # a는 객체 20을 참조다.
         >>> f(a) # a를 t를 통해 넘겼으므로 t는 a와 동일 참조를 갖는다. 그리고 t = 10에서 t가 객체 10을 참조다. 이때 a의 참조는 변함없다.
         None 객체란 파이썬 내장 객체로서, 아무 값도 없음을 나타내기 위 객체이다.
         return문을 사용하지 않아도 None이라는 리턴 값은 존재다.
          * 내장 영역(built-in scope) - 파이썬 언어 자체에서 정의 내용
         동일 이름이 여러 이름 공간에 걸쳐 있을 경우 LGB에 따른다.
         함수 외부에서는 전역 변수 h를 참조다.
         함수 f내부의 h를 전역변수로 사용하려면(즉, 전역변수h의 값을 바꾸고자다면)
         global문을 사용하여 h가 전역 변수임을 선언해야 다.
         미리 정의되어 있지 않은 키워드 인수를 받으려면 함수 정의할때 마지막에 **kw형식으로 기술다.
         람다 함수는 이름이 없는 줄 짜리 함수이다.
         || 함수의 이름 || def 다음에 지정된 이름으로 생성 함수 객체를 치환다 || 함수 객체만을 생성다 ||
         || 몸체 || 개 이상의 문을 포함 || 하나의 식 ||
  • ACM_ICPC/2012년스터디 . . . . 21 matches
          * 진행 방식에 대 회의
          * 진행 방식에 대 회의
          * [http://www.dovelet.com 더블릿] 옥상에서 문제 풀기.
          * 진행 방식에 대 회의
          * 문서를 공유다면, 그 알고리즘을 이용 문제를 풀어보는 것도 병행해야다고 생각함.
          * 문제가 어려워서 fail... 문제 풀다가 이방식도 아니고 저방식도 아니라 멘붕 상태에서 끝났습니다.
          * 오늘 내용
          * 두 문제에 대해서 논함. 풀지 못 사람들은 다음 시간까지 소스를 분석해서라도 해결해오기.
          * 오늘 내용
          * 오늘 내용
          * 오늘 내용
          * 4문제를 풀지 못게 아쉽네요.
          위키를 꾸준히 작성해야 되겠습니다. 밀려서 당일에 활동이 기억이 안나요. ㅎㅎ - [권영기]
          * 오늘 내용
          - Interval Tree (이것 또 Indexed Tree가 이녀석의 역할을 대신할정도로 만능이지만.)
         강 연결 성분 (Strongly Connected Components , 줄여서 SCC)
          * 오늘 내용
          * G번 문제, H번 문제와 J번 문제는 다시 번 본다면 풀 수 있을지도..
         원형상의 빨강,파란점. 파란점이 더 많거나 같음 빨간점을 파란점에 연결했을때, 그 길이의 합을 최소로 다.
  • CNight2011/고한종 . . . . 21 matches
          누님께 배열과 포인터의 기본, 주소에 의 .. 뭐라고해야하나 암튼. 근본적으로 배열은 포인터와 동일. 이런것을 배웠다.
         sorting이랑 스택큐? 인가 다고 했었는데 이것도 결국 안함 ㅋ
         다들 치우기싫어서 다 먹고서 참동안 시간끈건 공공연 진실.
         몰라 이거 구분은 종하형이 말 그 라운드가 아니라 그냥 내가 생각하는 라운드임ㅇㄹㅇㄹㅇㄹ
         잠을 쫓자고 시작 카트가 해뜨고 해산할때까지 이어짐 -_-
         난 카트가 없어서 참이나 ㅜㅠ.
         라고 다면
          사용할때마다 struct name 라고 해야다.
          의미가 통하는(?) 유용 (?) 데이터들을 그룹화 다고 생각하면 된다.
          일단 해두면 sort할때 매우 편하다 가지만 sort해두면 나머지도 따라오니까!
         사용법은 생각이 나질 않는다.. 사실 이때 졸려서 귀로 듣고 거의 흘림..
          '노드'에 의미가 있는 값과 다음 노드의 주소를 가르키는 포인터를 담는다.
         쌍방형성도 존재다.
         메모리상에 나란히 선언되어 주소값 간격이 일정 배열과는 달리
         <stdlib.h> 을 선언다.
         10은 배열로 치면 dia[ 10]을 셈이 된다.
         이대로 라면 변수가 10개짜리인 배열을 heap 선언것과 같다.
          * 진경이가 말하길 이건 사람입장에선 쓰기 참 편하지만 비효율적이라고다.
          그러니까 애초에 heap에 엄청큰 공간을 할당하고, 버퍼를 통해 값을 임시저장뒤, 다차면 큰공간으로 옮기고 입력이 끝나면 realloc을 통해 큰공간을 알맞게 줄여주는 그런것이 더 좋다고 하는데 난 잘모르겠닼
  • Chapter I - Sample Code . . . . 21 matches
          이런저런 소개들. (컴파일러는 무엇을 사용다. 머 어쩌구저쩌구.)
          모든 .c 파일에서 인클루드되는 헤더파일이다. 이 파일의 내용은 타겟프로세서마다 다르게 적용시켜야다.
          프로세서마다 각각 가지고 있는 특성이 다르기 때문에 우리가 포팅하려는 타겟 CPU에 맞춰 여러가지 글로벌 변수를 선언해줘야 다. (글로벌 변수라기보다는 키워드 재정의라고 말하는게 더 맞겠다) [[BR]]
          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]]
          '''uCOS-II를 끝내기 전에 PC_DOSSaveReturn 함수를 호출해야다. 그렇지 않으면 DOS가 curruped mode 가 되어버리고 이것은 당신의 windows에 영향을 줄 수도 있다.'''
  • GofStructureDiagramConsideredHarmful . . . . 21 matches
         Design Pattern 책 전반에 걸쳐 반복적으로 잘못 이해되는 내용들이 있는데, 불행하게도 이러 실수는 GoF의 스타일을 모방 다른 Pattern 책의 저자들에게서도 반복적으로 나타난다.
         사실은 각 Pattern을 구현하기 위 여러가지 방법이 있는데, GoF의 OMT diagram을 보노라면 마치 각 Pattern에 대가지 구현만이 있는 것으로 잘못 이해될 수 있다.
         하지만, Pattern에 대 경험이 부족 학생들이나 사용자들은 이 사실을 모르고 있다. 그들은 Pattern에 대 저술들을 너무 빨리 읽는다. 단지 개의 Diagram만을 이해하는 것으로 Pattern을 이해했다고 착각하는 경우도 잦다. 이게 바로 필자가 생각하기에는 독자들에게 해로워보이는 GoF 방식의 단점이다.
         GoF 책의 각 Pattern 마다 첨부되어 있는 구현에 대 매우 중요하고 민감 해설들은 어떠가? 이 해설들을 통해서 Pattern이 여러 방법으로 구현될 수 있다는 사실을 알 수는 없을까? 알 수 없을 것이다. 왜냐하면 많은 독자들이 아예 구현에 대 해설 부분을 읽지도 않고 넘어가기 때문이다. 그들은 보통 간략하고 훌륭하게 그려진 Structure diagram을 더 선호하는데, 그 이유는 보통 Diagram에 대 내용이 세 페이지 정도 분량 밖에 되지 않을 뿐더러 이것을 이해하기 위해 많은 시간동안 고민을 할 필요도 없기 때문이다.
         엔지니어들에게 있어서 Diagram은 정말 뿌리치기 힘든 유혹이다. 하지만 Gof의 Structure diagram의 경우엔 충분히 많은 내용을 말해줄 수 없다. Pattern들이 다양 Structure를 가질 수 있으며, 다양하게 구현될 수 있다는 것을 독자들에게 알려주기엔 턱없이 부족하다.
         결론은~ 패턴을 구현하는데에 꼭 가지 형태의 다이어그램과 가지 형태의 구현이 있다는 것은 아니라는 이야기. GoF 에서의 다이어그램 또 하나의 예라는 것을 강조.
         공부하는 입장으로서 인식해둘만 내용이라 생각이 되네요.
         비단 패턴만이 그렇지는 않습니다. 조금은 다른 이야기를 해보고록 하지요. 사람으로부터 나온(derived) 어떤 유-무형의 것들은 그것을 만든 사람, 또 그 사람이 몸담고 있는 환경을 반영(reflection) 합니다. 예를들어, 실세계에서 집을 짓는다고 해봅시다. 거기엔 수많은 공법이 존재합니다. 또 하나의 공법을 이야기다고해도 실제로 투입되는 사람들에따라 다양하게 나올 수 있습니다.(지난 2002년 1월 8일 뉴스에서는 측량할때마다 다른 토지 계산이 나오더군요) 조금더 엉뚱 이야기를 해볼까요. 하나님의 말씀은 하나이겠지만, 성경은 해석하기에 따라 다릅니다. 또 그 하나하나의 성경은 하나지만 그를 믿는 사람이 받아들이기에 따라 다양해집니다.
  • HelpOnUpdating . . . . 21 matches
         /!\ '''위키를 업그레이드 하기 전에 꼭 백업하세요!''' 특별 경우가 아니라면 기존의 데이타를 잃게 되거나 하지는 않으나, 아주 사소 실수로 예전의 데이타를 잃을 가능성도 있습니다. @)
         이 문서는 모니위키를 업그레이드 하거나 다른 웹 호스팅 사이트로 이전하고자 할 때 필요 것에 대해 설명하고 있습니다.
         모니위키 1.0.8 버전 이전에는 간단 업그레이드를 위 자동화 스크립트를 제공하지 않으며, 1.0.9버전 이후에는 간단 업그레이드 스크립트(UpgradeScript)를 제공합니다 (upgrade.sh)
         UpgradeScript가 하는 일은, 위키 엔진(*.php)을 업데이트하고, 기존의 위키엔진을 사용자가 변경하거나 해서 사용하고 있던 *.php는 없는지 검사하고 사용자가 변경 *.php파일이 있다면 백업해줍니다.
         모니위키를 설치 후에 `config/*` 및 `config.php`를 제외 특별히 다른 아무 소스파일도 변경된 것이 없다면, 새로 다운로드 받은 압축파일을 단순히 덮어 쓰는 것 만으로도 업그레이드가 완료됩니다.
         그렇지 않고 일부 파일을 변경 경우에는 조금 더 세심 주의가 필요할 것입니다.
         `wiki.php`, `wikilib.php`는 가장 중요 위키엔진입니다. 대부분 사용자가 직접 변경해서 사용하는 경우는 아마 이 두개의 파일일 것입니다.
         기존의 것을 잘 보존 후에 새로운 파일로 교체해 줍니다.
         다음은 `css/*.css` `imgs/*` `theme/*` `local/*` 등등의 파일을 업데이트합니다. 기존에 사용자가 변경 파일이 있다면 반드시 백업하시기 바랍니다.
         또 `data/intermap.txt` 파일 등이 새롭게 갱신되어 있을 수 있으므로 이것도 업그레이드 해주어야 합니다.
         (이런 복잡 작업을 UpgradeScript를 통해 보다 손쉽게 하실 수 있습니다)
         위의 단계를 통해 기본적인 업그레이드가 완료됩니다. 그 다음에는 모니위키가 설치되어 있는 디렉토리에 위치 예전의 `config.php`는 새 버전의 `config.php.default`를 참고해서 바뀐 점이 없는지 혹은 새로운 기능이 첨가된 것은 없는지 점검합니다.
         이런 절차가 필요 이유는 새로운 버전에서는 새로운 기능을 지원할 수 있고, 그것에 대 설정을 추가해 주어야 제대로 작동하기 때문입니다.
         업데이트중에 발생 문제점은 http://kldp.net/projects/moniwiki 를 통해 문의해보시기 바랍니다.
         업그레이드 혹은 이전(호스팅 서버 옮김)에 대 내용은 BackupScripts를 참고하세요.
  • Java2MicroEdition . . . . 21 matches
          * 휴대전화와 같은 매우 제적이 하드웨어에서 사용되는...
          그림을 보면 맨 아래에 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등의 크기와 성능이라는 측면에서의 요구사항이 동일 디바이스들의 집합을 하나로 묶어서 컨피규레이션을 정의하고, 이러 컨피규레이션을 바탕으로 각 디바이스들의 기능, 혹은 버티컬 시장의 요구사항에 맞추어 프로파일을 정의함으로써, 플랫폼의 통일성과 다양성을 동시에 만족시킬 수 있기 때문이다.
          java.sun.com/j2me 에 가면 CDC, CLDC, MIDP 등을 다운받을 수 있다. 다운받으면 소스코드까지 포함되어 있고, 개발하려는 하드웨어에 포팅하면 된다. (자세건 잘 모르겠음...ㅡ.ㅡ)
          * [http://zeropage.org/~dduk/development/j2me/midp-2_0-fr-spec-ko.zip midp 2.0 국어 스펙]
  • JavaScript/2011년스터디/7월이전 . . . . 21 matches
          * 근 달만의 자바스크립트 스터디입니다.. 달만에 전부 다 까먹었네요ㅠ 기억나는건 var정도. 일단 전에 하던 json2-js의 분석을 마무리하고 이번엔 직접 짜보기로 했습니다. 과제는 싸이냅소프트의 입사 퀴즈 던전 앤드 드래곤(?)으로 결정. AI에서 배운 웜프스 월드같은 느낌입니다. 아아.. 다시 공부해야겠어요... - [서지혜]
          * JavaScript 스터디 진짜 오랜만이네요. 전에 보다 만 소스 코드를 다시 읽는데 기억이 도통 안 나서 난감했습니다. 오늘로 대충 마무리는 지었지만 집에서 다시 번 읽어봐야겠어요. 계속 책만 읽으면 지루하니까 뭔가 만들어보기로 했는데 마침 현이가 적당 실습거리를 알려주었네요. 함께 만들어보면 재미있을 것 같아요. JavaScript에 대해 많이 까먹었기 때문에 책을 다시 빌려왔으니 책을 보며 어떻게 구현할지 생각해야겠어요. - [김수경]
          * 오른쪽 화살표를 누르면 >가 칸씩 오른쪽으로 이동, 이전 좌표는 .으로 대체된다.
          * 관련된 내용에 관 논의를 아래 링크에서 참고할 수 있습니다. - [변형진]
          * javascript는 하면 할수록 안되는거같습니다.ㅠㅇㅜ keypress가 왜 번씩만 입력받는지 고민하느라 시간을 다썻어요. 아주 간단 에제부터 하면서 다시 event를 받는것을 해봐야겠습니다. 아예 그것뿐만이 아니라 HTML같은 전반적인 것을 공부해야 겠다는 생각이 들었습니다. 아, 이쪽보다 동네 홈페이지를 가지고 장난치는게 더 재밋는것 같네요ㅋ - [박정근]
          * 지난주에 키보드 이벤트를 처음에만 처리하고 그 다음에는 못 처리다고 생각했는데 오늘 그럴리가 없다는 생각에 다시 테스트해보았습니다. 해봤더니 역시나 키보드 이벤트를 못 받는 것이 아니었네요. 이벤트 처리기에서 document.write()를 쓴 게 문제였습니다. 그런데 그 문제는 해결했지만 객체를 어떻게 설계할지가 새로운 고민거리네요. - [김수경]
          * 저는 자바스크립트 파일이 로드가 안되었는데 로드가 안되는게 아니라 자바스크립트에 에러가 있었던 거란걸 알게되었습니다. 개발자 도구 좋군요.. 자바스크립트 로드하는 법을 알았으니 이제 키보드 이벤트를 받아야겠습니다. 마우스 이벤트까지는 성공했어요*-_-* 참 사소것에 기뻐하게 되네요ㅋㅋ 새로운 언어를 배우니 초심자로 돌아간 기분입니다. 헬로월드를 처음 띄웠을 때의 그 시절로.....''아련'' 다음시간까지 키보드 이벤트를 받는 코드를 작성하겠다고 했었나?요? 해야겠네..요.. - [서지혜]
          * 공부하면 할수록 HTML이라던가 웹에 대히 공부해야겠다는 생각만 듭니다. javascript만 사용다는 것은 무리인것 같아요. 이번에는 연속적으로 키보드 이벤트를 받는 문제였는데 생각보다 쉽지 않네요ㅠ 은 innerHTML은 또 처음 들어요;; 여튼 더 공부하겠습니다!! - [박정근]
          * [김수경] : 유치 369 댓글 체크
          * 자바스크립트 완벽가이드 3장 시작부터 불리언 값에 대 부분까지 읽어오기!!(아마도 41쪽??)
          * 그냥 읽는 것이 아니라 궁금 점을 찾아오세요~ 따로 적어와도 되고 위키에 적으면 더 좋고ㅎㅎ
          * 합류 두명 중 명입니다. javascript랑 html이랑 차이를 생각해보는데 살짝 시간이 걸린거 같기도 하네요. ..으아니! 진짜로 그냥 저장만 했는데 실행이 되네!! 라는 생각도 들었어요. 얘내도 참 재미있는 언어인거 같네요. 빨리 배워서 제대로 스터디 궤도에 오를 수 있도록 해야겠어요. -[김태진]
          * 김태진 & 추성준 궁금
          * 불리언 타입 변환 -41p에서 만약 불리언 값이 문자열 문맥에서 사용되면 true는 문자열"true"로 변환된다와 같은 말이 무슨말인지 정확히 모르겠어요. 저희가 알아낸 것은 true를 write내에 쓰면 1로 인식다는 것뿐이었어요.
          * 저희는 저번주 숙제로 함수까지와 바로뒤 객체까지 새로 공부해보았는데요. 둘다 이 명령어들은 대체 뭔가, 이건 무슨뜻이야?! 가 다반사였습니다. 이해할 수 없는 명령어들은 나중에 다시 나올것이라 가정하고(..) 몇몇개 넘어갔구요. 개념적인 것에서 불리언, 함수, 객체, 프로퍼티등에 대해서 다시 고민해봤어요. 우선 문자열로 숫자를 써놓고 그것을 연산하면 숫자로 바뀐다는 것이 어떤 것인지 좀 명확히 해보았구요, 불리언은 T/F==1/0라는 것에 대해도 보았지요. 함수는 C에서 배웠던 것과 유사해서 크게 어려움은 느끼지 않았구요(앞에 함수 선언을 할 필요가 없더군요!). 문제는 객체/프로퍼티 였는데, 뒤에있는 예제들을 통해 어떤 객체의 속성? 쯤으로 프로퍼티가 있다는 결론을 내렸어요. (이것을 토대로 코딩해보았을때도 저희 예상대로 나왔지요.) ..또 띄어쓰기 문제때문에 참 고민 것도 생각나네요. -[김태진]
          * 오늘은 저번시간에 궁금했던 사항들을 수경누나테 설명받고, 객체와 구조체에 대해 설명을 들은다음 w3schools에서 몇몇가지 예제들을 실습해보았어요. ..이제 시험기간이고해서 방학때 스터디를 계속하게 될텐데, 방학들어가면 더 열심히해서 새싹이라는 느낌보다 스터디라는 느낌이 들 수 있도록 만들어야겠어요. -[김태진]
  • MFC/Serialize . . . . 21 matches
         MFC의 document 는 간단 클래스가 아니다. 이 클래스는 일반적으로 다양 객체들을 포함다.
         프로그램을 짜면서 이런 document 를 파일로 저장해야다. 단순히 기본형의 데이터를 저장하고 불러들이기는 쉽지만, 객체단위로 이를 행하는 것은 대단히 어려운 일이다.
         이를 위해서 MFC는 직렬화(Serialization)이라는 기능을 제공다. 이 기능을 통해서 데이터를 저장하고 다시 읽는데 들이는 노력을 최소화 할 수 있다.
          CXXXDoc 클래스의 객체가 시리얼화 입력과정동안 응용 프로그램을 통해 동적으로 생성될 수 있도록 다. IMPLEMENT_DYNCREATE와 매치. 이 매크로는 CObject 에서 파생된 클래스에만 적용된다. 따라서 직렬화를 하려면 클래스는 직접적이든 간접적이든 CObject의 Derived Class 여야다.
          직렬화를 하려는 모든 객체에는 이 메소드를 구현해주어야 다. (has-a 관계에 있는 것도)
          직렬화 기능이 작동하는데 있어서 필요 것. 이는 파일로 부터 객체를 읽을때 객체를 합성하는 프레임웍에 의해 사용된다.
          기본 클래스로부터 상속된 멤버들을 포함하여 CXXXDoc객체가 적절하게 동적으로 생성될 수 있도록 하는데 필요 것이다.
          IsStoring() 을 통해서 저장인지 로드인지를 판별다.
          MFC기반의 스트림을 제공하는 클래스이다. 객체들을 파일에 출력하거나, 그것을 입력 스트립으로서 복구하는 스티리밍에 대 메커니즘을 제공다.
          CArchive는 객체 데이터를 구성하는 로직을 처리하는 일을 전담다.
         매크로는 클래스의 이름을 인수로 받는다. 따라서 만약 CExample 에 직렬화 기능을 추가다면 CExample 의 정의부의 내부 어느 곳에서나
         구현 파일에 넣어야할 IMPLEMENT_SERIAL()는 3가지의 인수를 취다. 첫번재는 이름, 두번재는 바로 윗 단계의 기본 클래스, 프로그램에 대 스키마 번호(scheme number), 혹은 버전을 나타내는 부호 없는 32비트 정수를 인자로 받는다.
         이후에 클래스 정의를 수정다면 스키마 번호를 바꾸어야 다. (다른 버전의 파일을 읽으려 하면 예외를 발생시킨다.
         만약 CExampleDerived 가 CExample의 자식 클래스인데 이 클래스를 직렬화 하기위해서는 모든 중간 단계의 클래스 수준에서 직렬화가 구현되어야 다.
          * 클래스에대 Serialize()를 구현하라.
  • MicrosoftFoundationClasses . . . . 21 matches
         MFC의 클래스들은 CDocument, CView와 같이 C로 시작하는 이름을 갖는다. 데이터 멤버들에는 m_ 라는 접두어를 붙여서 만들어져 있다. 변수의 이름앞에 p, i, l, h 등을 이용해서 그 종류를 변수의 이름으로 추정가능하게 하는 [헝가리안표기법]을 이용다. 이는 과거 C환경하에서 형식 검사기능의 부재로 인 에러를 막기위해 고안된 측면이 크기 때문에 C++에 들어와서는 반드시 필요 표기법은 아니다.
          Create(0, "MFC Application"); // 기본설정으로 "MFC Application"이라는 타이틀을 가진 프레임을 생성
          ''컴파일 해보고자 하는 분들은 Project/Setting/General 항목에서 MFC DLL을 사용다는 설정을 해야다.
         하나의 단위로서 다루어지는 프로그람안에 존재하는 프로그램 데이터의 레이블 정도로 생각하면 편하다. MFC에서는 이를 CDocument 라는 클래스로 제공하고 프로그래머는 이 클래스를 상속받아서 자기가 필요 데이터형을 정의하고 그 데이터를 처리할 메소드를 작성하게 된다.
         응용프로그램에서 document를 몇개를 다루느냐에 따라서 SDI(single document interface), MDI(multiple document interface)로 구분하여 사용다.
         View는 도큐먼트에 존재하는 데이터의 집합체를 우리가 원하는 방식으로 표현하는 메카니즘이 구현된 객체이다. document 와 마찬가지로 CView라는 클래스를 상속하여 사용하게 된다. View는 윈도우의 개념으로 보아서 프레임 윈도우 영역안의 클라이언트에 속하는 view만의 윈도우안에서 표현된다. 개의 document 에 대해서 view는 여러개로 나누어서 만들어지는 것이 가능하다.
          ''excel을 생각해보면 될 것이다. 동일 수치 데이터를 가지고 서로다른 그래프, 그리고 테이블의 형식으로 만들어내는 것이 가능하다.''
         Document 객체는 관계된 뷰들의 포인터를 리스트로 관리다. 뷰는 관계된 도큐먼트에 대 포인터를 저장할 데이터 멤버 변수를 갖고 있다. 프레임 위도우는 현재 활성화된 뷰 객체에 대 포인터를 갖는다. 이런식으로 서로 묶여서 개의 윈도우를 형성다.
          도큐먼트 템플릿 객체는 단순히 document 만을 관리하는 것이 아니다. 그들 각각과 관계되어 있는 윈도우와 뷰들도 함께 관리다. 프로그램에서 각기 다른 종류의 도큐먼트에 대해서 하나씩의 document template이 존재다. 만약 동일 형태의 document가 2개이상 존재다면 그것들을 관리하는데에는 하나의 document template만 있으면 된다.
          하나의 document와 frame window는 개의 document template에 의해서 생성되며 view는 frame window객체가 생성되면서 자동으로 생성되게 된다.
          * {{{~cpp WinMain() 에서 InitInstance() 수행, document template, main frame window, document, view 를 생성다.}}}
  • NSIS . . . . 21 matches
         보통 프로그램을 개발하고 나서 '만들었다' 로 끝나는 경우가 많다. 하지만, 정작 배포때에는 할일이 많다. 특히 제어판 프로그램 등록/삭제 에 등록되는 방식이라던지, 레지스트리를 건드린다던지, Program Files 폴더에 복사다던지. 이 경우에는 보통 전용 Installer 프로그램을 쓰게 되지만, 아직 제대로 써본 적이 없었던 것 같다.
         이번에는 '배포' 라는 녀석에 대해 촛점을 맞춰보고자, 인스톨러중 하나인 NSIS 에 대해 간단히 정리하고자 다. (자.. 이제 폼좀 내면서 만든 프로그램 보여주자. ^^; 이게 가장 큰 목적. --;)
         NSIS의 원리는 간단하다. nsi 라는 스크립트 화일을 해석해서 해당 맞는 프로그램들을 하나의 화일로 압축시키고 실행프로그램으로 만드는 것이다. (마치 배치화일을 작성다고 생각할수도 있겠다.)
          1. 프로그램을 개발다.
          * NSI Script 를 작성다.
          * makensis 로 Script 를 컴파일다. 그러면 makensis 는 스크립트를 분석하면서 포함해야 할 화일들을 하나로 묶어준다. 그리고 zip의 형식으로 압축해준다. (내부적으로 zip2exe 가 이용된다. 이건 zlib 사용됨.)
          * /Vx (x는 0~4) - output 의 표시 정도를 조절다.
          * /Olog (log 는 filename) - compile 중 screen 상에 해당 화일에 대 log를 표시하는 대신 화일로 설정다.
          * /CMDHELP - command 에 대 기본적인 사용정보를 출력해준다.
         또는 Editplus 의 사용자도구그룹에 makensis 을 등록시켜서 사용하는 방법도 있겠다. (nsis 를 위 간단 ide 만들어서 써먹어보는중.. 이였지만. 엉엉.. 그래도 editplus 가 훨 편하긴 하다. --;)
          * ;, # 뒤에 나오는 것 또 comment 로 취급된다.
          * 표현하고자하는 string 에 공백이 있으면 따옴표를 이용다.
          * 하나의 command 가 여러줄을 이용하는 경우 '' 를 사용다.
         regsvr32.exe 로 dll 을 unregister 다음에 전체 폴더를 삭제할 때, regsvr32.exe 는 Exec 가 아닌 ExecWait 로 실행해주어야 다. (그렇지 않으면 해당 dll 이 unregister 되기 전에 dll 화일이 delete 되어 정상적인 uninstall 이 되지 않을 수도 있다.)
         FindProc Plugin 을 설치다.
         사용 예 : exec 로 regsvr32.exe 호출시 비동기 호출이 되어 뒤의 delete 문이 실행된다. 이를 방지하기 위 방법으로 다음과 같이 다.
         --[fnwinter] 형 고마워여~ NSIS 쓰는거 정리 할 필요가 있었는 데 , PS 이거 말고도 INNO SETUP 이라는 프로그램이 있거든요. 그것도 괜찮은데, 번 써보세요~
  • ObjectWorld . . . . 21 matches
         하이텔 객체지향동호회에서 시작. 객체지향과 관련된 세미나를 열기도 다.
         2002 년 6월 8일날 SoftwareArchitecture 에 대 세미나가 ObjectWorld 주체로 열렸습니다.
         첫번째 Session 에는 ["ExtremeProgramming"] 을 위 Java 툴들에 대 간단 언급이였습니다. 제가 30분 가량 늦어서 내용을 다 듣진 못했지만, 주 내용은 EJB 등 웹 기반 아키텍쳐 이용시 어떻게 테스트를 할것인가에 대해서와, Non-Functional Test 관련 툴들 (Profiler, Stress Tool) 에 대 언급들이 있었습니다. (JMeter, Http Unit, Cactus 등 설명)
         두번째 Session 에서는 세분이 나오셨습니다. 아키텍쳐란 무엇인가에 대해 주로 case-study 의 접근으로 설명하셨는데, 그리 명확하지 않군요. (Platform? Middleware? API? Framework? Application Server? 어떤 걸 이야기하시려는것인지 번쯤 명확하게 결론을 내려주셨었더라면 더 좋았을 것 같은데 하는 아쉬움.) 아키텍쳐를 적용하는 개발자/인지하는 개발자/인지하지 못 개발자로 분류하셔서 설명하셨는데, 저의 경우는 다음으로 바꾸어서 생각하니까 좀 더 이해하기가 쉬웠더라는. '자신이 작업하는 플랫폼의 특성을 적극적으로 사용하는 개발자/플랫폼을 이해하는 개발자/이해하지 못 개발자' 아직까지도 Architecture 와 그밖에 다른 것들과 혼동이 가긴 하네요. 일단 잠정적으로 생각해두는 분류는 이렇게 생각하고 있지만. 이렇게만 정의하기엔 너무 단순하죠. 해당 자료집에서의 Architecture 에 대 정의를 좀 더 자세히 들여다봐야 할듯.
          * Middleware, Application Server - Architecture 를 Instance 화 시킨 실질적 제품들. 전체 시스템 내에서의 역할에 대 설명으로서의 접근.
          * Framework - 특정 Domain 과 관련 모듈을 만들기 위 library
         세번째 Session 에서는 지난번 세미나 마지막 주자분(신동민씨였던가요.. 성함이 가물가물;)이 Java 버전업에 대 Architecture 적 관점에서의 접근에 대 내용을 발표하셨습니다. Java 가 결국은 JVM 이란 기존 플랫폼에 하나의 Layer를 올린것으로서 그로 인 장점들에 대해 설명하셨는데, 개인적으론 'Java 가 OS에서 밀린 이상 OS를 넘어서려니 어쩔수 없었던 선택이였다' 라고 생각하는 관계로. -_-. 하지만, Layer 나 Reflection 등의 Architecture Pattern 의 선택에 따른 Trade off 에 대해서 설명하신 것과, 디자인을 중시하고 추후 LazyOptimization 을 추구 하나의 사례로서 설명하신건 개인적으론 좋았습니다.
         개인적 사정으로 참석 못 것이 아쉽습니다. ObjectWorld는 주로 Moa:박성운 씨와 송재하씨, 그리고 김유석 씨 등의 색깔을 띄는 듯 합니다. 친자바적인 성향이나, POSA, 아키텍춰 중심 등이 그러하죠. 잡종교배를 통 ["생각을곱하는모임"]이 되기를 바랍니다.
         최근 XP 메일링 리스트에서 POSA에 대 논의가 있었습니다. 그 중 RonJeffries가 말이 기억에 남습니다.
  • PC실관리수칙 . . . . 21 matches
         1. PC실 정리와 학회실 정리는 학회실을 이용하는 사람들이 하는 것을 기본으로 다.
         2. PC실 정리는 학기에 번 진행하는 전체 정비 및 포맷, 학기에 2회이상 진행하는 대청소, 매일 진행하는 정리로 이루어진다.
         3. PC 포맷은 방학내에 진행하여야하고, 진행 후 지도교수님 혹은 담당교수님께 보고서를 제출하여야다.
         4. 대청소는 필요하다고 판단되는 시점에 진행하며, 모든 컴퓨터의 동작여부를 확인하고 바닥 청소까지 병행다.
          1. 정리는 정회원 및 학회실을 이용하는 사람들의 의무로 자발적으로 진행하여야 다.
          2. 정리를 하고 난 후에는 일지에 정리 내용을 간단히 작성하여야 다. (보고서 제출시 필요)
          3. 정리에는 프린트 토너 및 작동 체크, 의자 정리 및 파손 체크, PC 종료, 캔등의 쓰레기 버리기를 포함다.
          4. 특정 사람이 자발적으로 많이 참여 경우, 월말에 소정의 선물(책 등)이 지급될 수 있다.
          * 은퇴 회원은 필수로 포함시키지는 않는다.
          1. 토너가 떨어진 것의 기준은 인쇄 시 중간 부분이 제대로 출력되지 않는 시점부터를 말하며, 흔들어주면 잘 작동하는 경우도 있으나 곧 잉크가 소진되므로 이 경우 개인의 판단하에 교환하도록 다.
          1. 이후에도 동작하지 않는 경우 프린터를 컴퓨터와 분리하였다가 다시 연결해보도록 다.
          2. 이후에도 반응이 없으면 프린트 드라이브를 지웠다 다시 깔고(프린터 연결만 하면 소프트웨어 업데이트를 시킬 수 있다) 재부팅다.
         3. 인쇄물이 남아있어 프린터를 사용하지 못하는 경우, 삭제되지 않으면 프린트를 끄고 몇초 후 다시 켜보는 것을 추천다. 이후에도 차도가 없다면, 2번 프로세스를 따라가는 것이 좋다.
          * 현재까지 해오던 방식을 기술하였습니다. 세세 부분은 대개 임의로 하여도 문제 없을 것 같습니다.
          * 기본적으로 다른 사람의 물건을 버리지 않는 선에서 해결다.
          * 두고 간 개인물건들은 군데 모아두고 있으나 장소는 일정하지 않다. 전자기기 같은 귀중품은 회수 뒤 동네 게시판에 업로드하고, 우산이나 책같은 것은 지금 현재는 PC실 문 바로 앞 빈 책상 앞에 모아 두었다.
          * 컴퓨터를 종료 후 모니터는 꺼도 되고, 끄지 않아도 상관없다.(전기세가 걱정되거나 왠지 꺼야할것만 같으면 끄고, 켜진 게 너무 많아 귀찮다면 끄지 않아도 무방함)
  • ParametricPolymorphism . . . . 21 matches
         요즘 심심하면 이상 책들을 보는데 이런 이야기가 나와서 소개할만 가치가 느껴지므로 적음.
         객체 지향에서 가장 중요 개념을 꼽으라면 무엇을꼽을까?
         첫째는 최초로 제안된 다형성인 ParametricPolymorphism, 둘째는 어쩌다 생겨나 버린 Ad-hocPolymorphism 이렇게 두가지가 존재다.
         번 개념의 차이를 이해하고 자바5에서 지원하기 시작 generic의 도입의 의미에 대해서 생각해보는 시간이 될 것이다.
         그리고 내용이 대부분 책에 있는 내용에서 필요 부분만 간추린 내용이라 생략된 부분이 존재하니
         그중 차들을 추상화하여 표현 명사 Car, 그것의 하위의 것들은 sportCar, luxuryCar 이렇게 3개의 객체를 생각해보자.
         당연히 후자의 2개의 객체는 전자의 2개의 객체를 상속다.
         당연히 Car 와 sportCar, luxuryCar 는 서로 동일 원리로 움직이겠지만 동일하지는 않다.
         동일 Car이기는 하지만 run()이라는 메시지를 2개의 각기 다른 차에 주면 당연히 차는
         본디 폴리모피즘에서 추구 방식 즉 파라메트릭 방식에 의하면 상기의 식을 적용할 때 동적 캐스팅이 필요가 없어야다.
         이를 해결 코드는 다음과 같다.
         에러는 피했다. 하지만 우리가 그리도 바라마지 않던 품격의 객체지향 언어가 너덜너덜 표현법을 쓴다.
         본디 파라메트릭 폴리몰피즘은 상기와 같은 문제의 해결을 위해서 방어적 수단을 제공다.
         위와 같은 개념의 코드로 작성이 되면 동적 캐스팅이 필요 없을뿐만아니라 잘못된 타입 캐스팅으로 인
         '''generics에 대 예제'''
         상기와 같은 방식으로 작성하게 되면 다음과 같이 특정 데이터 형에 구애 받지 않는
         이렇게 파라메트릭 폴리모피즘을 도입함으로서 좀더 우아 코드가 완성된다.
  • Polynomial . . . . 21 matches
          다항식의 곱셈을 이용하는 프로그램을 작성다.
          하나의 항은 coefficient 와 exponent 로 구성된다. 하나의 항(단항식)을 표현하는 자료구조는 다음처럼 구조체를 사용다. (여기서는 지수와 밑모두 integer를 사용다)
          다항식을 표현하는자료구조는 크게 두가지로 생각해 볼 수 있다. linked list 와 array 이다. 배열은 모두들 잘 알겠고 linked list 는 동적으로 storage를 할당받아 각 노드를 포인터로 연결 자료구조를 말다..(라고 우선 설명만 해둬야지 정확 정의는 내리지 못하겠다..-_-). 물론 동적으로 할당받지 않고도 linked list 를 구현할수 있지만 그럴꺼면 배열로 하는게 낫지 그 노가다를 뭐하러 하나...-_-
          * 배열을 사용 방법
          Node expr_1[SIZE]; // 이와 같은 식으로 표현다.
          * linked list 를 사용 방법
          // 위의 정의 구조체에 포인터 변수 두개가 더 필요하다.
          이 방법을 사용할때 발생할수 있는 문제점은 memory leakage (메모리 누수)이다. Java같은 경우는 쓰레기 수집기가 있지만 c 는 코더(-_-)가 일일이 사용되지 않는 자원을 회수해줘야 다. 그렇지 않으면 그 자원을 다시 사용할 수 없게 된다.
          다음과 같은 prototype 을 갖는 함수를 구현해야 다. (이름은 달리해도 상관없다..)
          Node* mul(Node *n1, Node *n2); // 두 다항식의 곱을 표현하는 새로운 다항식을 리턴다.
          Node* add(Node *n1, Node *n2); // 두 다항식의 합을 표현하는 새로운 다항식을 리턴다.
          Node* add(Node *n1, Node *n2); // 두 다항식의 차를 표현하는 새로운 다항식을 리턴다.
          Node* input(); // 사용자에게 값을 입력받아 새로운 다항식을 생성하여 리턴다.
          void delete(Node *node) // 다항식을 삭제다.
          void sort(Node *node) // 다항식을 내림차순으로 정리다.
          * 다항식을 표현하는 클래스를 만들어서 operator overloading 을 사용해도 되겠지만 이는 위에 말 내용을 이미 구현 후 이걸 클래스로 포장하는거기때문에 지금수준에서는 무리라고 생각됨... - 임인택
          * 이거 작년에 했다가 명("영창이")만 겨우 풀었어요 저도 이거 하다 포기했고 1학년에게 넘 어려운 문제가 아닐런지...-재동
  • RefactoringDiscussion . . . . 21 matches
         Refactoring 과 관련된 토론, 질문/답변의 장으로 활용다.
         refactoring 의 전제 조건은, '''Refactoring 전 후의 결과가 같아야 다.''' 라는 것이다.
         Martin Folwer의 Refactoring p326(서), 10장의 Parameterize Method 를 살펴보면 다음과 같은 내용이 나온다.
         '''"MatrinFowler의 추종자들은 lastUsage()가 0 이상인 값에 대해 동작하는것일테니 (코드를 보고 추정하면 그렇다) 당연거 아니냐?"''' 라고 이의를 제기할지는 모르지만, 이건 Refactoring 에서 결같이 추구했던 "의도를 명확하게"라는 부분을 Refactoring이라는 도구에 끼워맞추다보니 의도를 불명확하게 결과를 낳은것 같다. (["망치의오류"])
         하지만 이것도 임시 방편일뿐, '''위험은 존재다'''. lastUsage()의 값이 Integer.MIN_VALUE 이거나, Integer.MAX_VALUE 라면? (이런일이 결코 일어날 수 없다고 장담할 수 있는가?)
          * 코드의 의도가 틀렸느냐에 대 검증 - 만일 프로그램 내에서의 의도바가 맞는지에 대 검증은 UnitTest Code 쪽으로 넘기는게 나을 것 같다고 생각이 드네요. 글의 내용도 결국은 전체 Context 내에서 파악해야 하니까. 의도가 중시된다면 Test Code 는 필수겠죠. (여기서의 '의도'는 각 모듈별 input 에 대 output 정도로 바꿔서 생각하셔도 좋을듯)
         로직이 달라졌을 경우에 대 검증에 대해서는, Refactoring 전에 Test Code 를 만들것이고, 로직에 따른 수용 여부는 테스트 코드쪽에서 결론이 지어져야 될 것이라는 생각이 듭니다. (아마 의도에 벗어난 코드로 바뀌어져버렸다면 Test Code 에서 검증되겠죠.) 코드 자체만 보고 바로 잘못된 코드라고 단정짓기 보단 전체 프로그램 내에서 의도에 따르는 코드일지를 생각해야 될 것 같다는 생각.
          * ["Refactoring"]의 Motivation - Pattern 이건 Refactoring 이건 'Motivation' 부분이 있죠. 즉, 무엇을 의도하여 이러이러하게 코드를 작성했는가입니다. Parameterize Method 의 의도는 'couple of methods that do similar things but vary depending on a few values'에 대 처리이죠. 즉, 비슷 일을 하는 메소드들이긴 데 일부 값들에 영향받는 코드들에 대해서는, 그 영향받게 하는 값들을 parameter 로 넣어주게끔 하고, 같은 일을 하는 부분에 대해선 묶음으로서 중복을 줄이고, 추후 중복이 될 부분들이 적어지도록 하자는 것이겠죠. -- 석천
         물론, 이론을 공부하는 전산학자에게는 좀 다르겠지요. 하지만, 누군가 말하듯이 "완벽 이론"은 현실에서는 큰 가치가 없기 마련입니다. 저는 리팩토링에서 "완벽 이론"보다 "유용 이론"을 찾습니다.
         ps. 현실에서 정말 모든 상태 공간/기계가 고대로 유지되는 리팩토링은 없습니다. 가장 대표적인 Extract a Method 조차도 모든 경우에 동일 행동 유지를 보장할 수는 없습니다. 1+2가 2+1과 같지 않다고 말할 수 있습니다. 하지만 우리에게 의미있는 정도 내에서 충분히 서로 같다고 말할 수도 있습니다 -- 물론 필요에 따라 양자를 구분할 수도 있어야겠지만, 산수 답안 채점시에 1+2, 2+1 중 어느 것에 점수를 줄 지 고민할 필요는 없겠죠.
         > 하지만 이것도 임시 방편일뿐, 위험은 존재다.
         우리에겐 프로그램의 옳음(correctness)이 일차적입니다. 이것은 ["UnitTest"]나 Eiffel 같은 DBC 언어로 상당 정도까지 보장 가능 합니다.
  • ReplaceTempWithQuery . . . . 21 matches
         를 다음과 같이 작성다.
         위의 예는 매우 극단적으로 보일지도 모른다. 하지만 위의 예를 매우 복잡 시스템의 일부분이라 가정하고 생각해보길 바란다. '''임시변수'''를 사용하는 코드는 해당 블럭에서만 접근 가능하기 때문에, 길어지는 성향이 있다. 이러 임시변수를 '''질의 메소드'''(query method)로 바꿈으로써 어느곳에서라도, 임시변수에서 사용될 정보를 얻을 수 있고, 클래스 코드는 더 깔끔해진다.
         프로그래밍 경력이 있는 사람일수록, 이러 사실에는 동의를 하지만 '''퍼포먼스'''를 우려해서 꺼리는 경향이 있다. '' '동일 연산을 왜 이렇게 수행하는거지?' '', '' '이러 블럭은 지역적이기 때문에 임시 변수 사용은 문제가 되지 않아!' ''.
         그러 우려는 ' '''단지 그럴지도 모른다.''' ' 라는 가정일 뿐이다. 누구도 실제로 '''프로파일링'''(profiling)해보기 전까지는 알 수 없다. 실제로 문제가 되는지 아닌지는.
         어느정도 수준에 오른 프로그래머일수록, 반복적으로 사용되는 값에 대해 임시변수를 사용하고 이러 최적화(?)를 나름대로 수행하려 다. 그러나, 이러 미시적인 최적화는 결과적으로 거시적 최적화의 기회를 박탈하게 다. 심지어 최악의 경우라도 임시변수를 다시 넣는 일은 쉽다(물론, 프로파일링 ' '''결과''' ', ' '''실제로''' ' 퍼포먼스에 심각 문제를 주는 경우라면).
         이러 방법을 사용하면서 부가적으로 얻을 수 있는 장점이 하나 더 있다. 실제로 도움이 될지 안될지 모르는 최적화를 하는데 쏟는 시간을 절약할 수 있다. 임시변수 사용뿐 아니라 이러 미세 부분의 조정은, 해놓고 보면 별로 위대해보이지 않는 일을, 할때는 알지 못하고 결국 시간은 낭비게 된다. 돌이켜보면 나의 이러 노력이 제대로 효과가 있었는지도 모른다. '''왜?''' 프로파일링 해보지 않았으니까. 단순히 ''시스템을 더 빨리 돌릴 수 '''있을지도''' 모른다''는 우려에서 작성 것이었으니까. [http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork DoTheSimplestThingThatCouldPossiblyWork]
         개인적으로 리펙토링 서적을 읽다가 상당 충격을 받았다. ''옳은 방법''이라고 생각 내용이 실제는 ''옳을지도 모른다''라는 사실이었고, ''하나의 나무를 잘 키우면 전체적으로도 득이 된다''라고 생각 내용이 실제로는 ''더 큰 가능성을 보지 못하게''하는 잘못된 습관이었다는 사실이 나를 온통 흔들어 놓았다. 다시 걸음마를 시작하게 된 느낌이다. 자신을 항상 ''바닷가에서 조개를 줍는 어린아이''에 비유하던 ''Isaac Newton''의 이야기가 떠오른다.
  • STLErrorDecryptor . . . . 21 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.CPP: 프록시 CL의 소스 코드. 관심있는 분은 번 보세요. 꽤 잘 짰습니다.
         다) 이젠 프록시 CL의 동작에 필요 환경 옵션을 제공하는 Proxy-CL.INI 파일을 여러분의 개발환경에 맞게 고쳐야 합니다. 텍스트 편집기로 Proxy-CL.INI를 열면 아래의 [common], [proxy.cl], [stltask.exe] 부분이 모두 비어 있는데, 윗부분의 주석문을 참고하면서 환경 변수를 고쳐줍니다. 반드시 설정해야 하는 옵션은 다음과 같습니다.
          * CL_DIR : VC의 컴파일러 프론트엔드인 CL.EXE가 위치 디렉토리. 이 부분을 지정하지 않으면 해독기 컨트롤러가 제대로 작동하지 않습니다.
         라) 이렇게 편집 Proxy-CL.INI를 윈도우 디렉토리에 복사합니다. 윈도우 디렉토리란 윈도우 98/ME 등에선 \WINDOWS이겠고, 윈도우 NT/2000/XP 등에선 \WINNT 이겠지요. 즉 운영체제와 프로파일 파일들이 들어 있는 곳입니다. 프록시 CL은 기본적으로 이 윈도우 디렉토리에서 읽은 Proxy-CL.INI을 가지고 동작 옵션을 정합니다.
         ''참고) VC++.NET을 사용하시는 분의 경우엔 컴파일 전에 반드시 /WL 옵션을 주어야 합니다. /WL 옵션은 모든 에러 및 경고 메시지를 줄로 표시해 주는 옵션입니다. VC++.NET은 소스 코드 줄에 대 에러 메시지를 여러 줄에 걸쳐(\n문자를 끼워넣어서) 표시하는데, 에러 필터링 스크립트는 에러 메시지가 줄로 되어 있을 때 재대로 동작하기 때문입니다. 아래와 같이 프로젝트 속성 페이지에서 [C/C++]의 [명령줄] 항목을 선택 후 /WL 옵션을 추가합시다.''
  • TestFirstProgramming . . . . 21 matches
         어떻게 보면 질답법과도 같다. 프로그래머는 일단 자신이 만들려고 하는 부분에 대해 질문을 내리고, TestCase를 먼저 만들어 냄으로서 의도를 표현다. 이렇게 UnitTest Code를 먼저 만듬으로서 UnitTest FrameWork와 컴파일러에게 내가 본래 만들고자 하는 기능과 현재 만들어지고 있는 코드가 하는일이 일치하는지에 대해 어느정도 디버깅될 정보를 등록해놓는다. 이로서 컴파일러는 언어의 문법에러 검증뿐만 아니라 알고리즘 자체에 대 디버깅기능을 어느정도 수행해주게 된다.
         테스트코드는 프로그래머가 하려고 하는일, 즉 의도를 담아낸다. 이는 이 프로그램이 어떠 시나리오로 돌아갈것인가를 먼저 생각해보는 기회를 저절로 제공해준다. Test가 가능 코드는 run 을 시켰을때 어떤 결과를 낼지를 파악할 수 있는 코드이다. 이 경우 해당 모듈이 완성되었을때가 언제인지 그 목표를 분명하게 잡는 역할을 해준다.
          테스트코드 자체가 일종의 도큐먼트역할을 하기도 다. 테스트 코드를 만들면서 자신이 하려는 일과 문제상황을 구체화 시켜간다.
         테스트코드가 완벽할 순 없다. 하지만, 테스트코드가 모든 에러를 잡아내지 못다는 이유로 많은 버그들을 줄일 수 있는 테스트코드를 작성하지 않을 이유는 없다.
         ExtremeProgramming에서는 UnitTest -> Coding -> ["Refactoring"] 이 맞물려 돌아간다. TestFirstProgramming 과 ["Refactoring"] 으로 단순 디자인이 유도되어진다.
         요새는 ["TestDrivenDevelopment"] 라고 다. 단순히 Test 를 먼저 작성하는게 아닌, Test 주도 개발인 것이다. TestDrivenDevelopment 는 제 2의 Refactoring 과도 같다고 생각. --["1002"]
         프로그램이 길어지다보면 Test Code 또 같이 길어지게 된다. 어느정도 Test Code 가 길어질 경우에는 새 기능에 대 테스트코드를 작성하려고 할 때마다 중복이 일어난다. 이 경우에는 Test Code 를 ["Refactoring"] 해야 하는데, 이 경우 자칫하면 테스트 코드의 의도를 흐트려뜨릴 수 있다. 테스트 코드 자체가 하나의 다큐먼트가 되므로, 해당 테스트코드의 의도는 분명하게 남도록 ["Refactoring"] 을 해야 다.
         Test Driven 에 대 접근 방법에는 End-To-End (BlackBoxTesting) 식의 접근 방법과 WhiteBoxTesting 의 접근방법이 있을 수 있겠다.
         후자의 경우는 해당 코드의 구조를 테스트해나가는 방법으로, 해당 코드의 진행이 의도 상황에 맞게 진행되어가는지를 체크해나가는 방법이다. 이는 MockObjects 를 이용하여 접근할 수 있다. 즉, 해당 테스트하려는 모듈을 MockObject로 구현하고, 호출되기 원하는 함수들이 제대로 호출되었는지를 (MockObjects 의 mockobject.py 에 있는 ExpectationCounter 등의 이용) 확인하거나 해당 데이터의 추가 & 삭제관련 함수들이 제대로 호출되었는지를 확인하는 방법 (ExpectationList, Set, Map 등의 이용) 등으로서 접근해 나갈 수 있다.
         Test - Code 주기가 길다고 생각되거나, 테스트 가능 경우에 대 아이디어가 떠오르지 않은 경우, 접근 방법을 다르게 가져보는 것도 하나의 방법이 될 수 있겠다.
         '지금 저쪽에는 에코서버가 있어. 지금 만들건 클라이언트고, 지금 만들 클래스로 write 를 하면 저기 띄어놓은 에코서버에 내가 입력 메세지가 그대로 표시될거야' 즉, 완성되었을 때의 결과를 미리 그려보는 것이다.
         아까보다 훨씬 수월하게 진행되었고, 그 결과를 눈으로 확인했고, 결과를 눈으로 확인뒤 '완료' 했다. TFP 라면 이를 코드로 작성하여 자동화 할 것이다. 자동화된 테스트는 앞으로의 추후 모듈 수정시에도 앞에서 내가 원하는 기능들이 여전히 작동함을 보장해준다.
         Random 은 우리가 예측할 수 없는 값이다. 이를 처음부터 테스트를 하려고 하는 것은 좋은 접근이 되지 못다. 이 경우에는 Random Generator 를 ["MockObjects"] 로 구현하여 예측 가능 Random 값이 나오도록 뒤, 테스트를 할 수 있겠다.
         이 경우에도 ["MockObjects"] 를 이용할 수 있다. 기본적으로 XP에서의 테스트는 자동화된 테스트, 즉 테스트가 코드화 된 것이다. 처음 바로 접근이 힘들다면 Mock Server / Mock Client 를 만들어서 테스트 할 수 있겠다. 즉, 해당 상황에 대해 이미 내장되어 있는 값을 리턴해주는 서버나 클라이언트를 만드는 것이다. (이는 TestFirstProgramming 에서보단 ["AcceptanceTest"] 에 넣는게 더 맞을 듯 하긴 하다. XP 에서는 UnitTest 와 AcceptanceTest 둘 다 이용다.)
  • XMLStudy_2002/Resource . . . . 21 matches
         XML을 사용하기 위해 필요 것들
         == 종류에 따라서 XML 사용시에 필요 것들 ==
         === XML 사용을 위 프로그램들 ===
          XML 파서,XSL 프로세서,DOM 라이브러리, XSLT 프로세서(예를 들어서 만약 Java로 된 API를 지원다면 XML 파싱기능을 해주는 Java 클래스들을 패키지로 묶어둔 Java 클래스 패키지라는 형태로 제공된다)
          *XML은 계속 변화하면서 너무나 빠르게 새로운 내용이 발표되고 XML을 사용하기 위해 필요로 하는 여러 소프트웨어적인 도구들도 빠르게 버전업 되므로 항상 이러 흐름을 주시해야 할 필요가 있다.
          *[http://www.w3c.org] : 항상 최신의 변화들을 업데이트 ,스펙의 새 버전이나 새로운 표준에 대 요구사항이나 드래프트들이 가장 먼저 올라오는 곳 XML을 찾아 클릭다.
          *텍스트를 작성할수 있는 어떠것으로도 작성할수있지만 XML에디터를 쓰면 편함
          *XML 파서는 문서를 Validation해 주며,XML 문서 구조를 트리 형태로 구성다. 이런 파싱에 대 것만을 지원하는것이 XML 파서이나 현재에는 파싱 작업 뿐 아니라 DOM이나 SAX같은것을 지원하여 XML 문서를 처리할수 있도록 하는 부분도 함께 포함된 도구들이 많다. 이런 도구들을 훈히 XML 프로세서라고 할수 있다.
          *기본적으로 IE5.0이상에는 XML 파서와 XSL프로세서를 사용하기 때문에 XML과 XSL지원이 가능데, IE에서 사용하고 있는 XML 파서와 XSL 프로세서가 MSXML로 dll 파일의 형태로 되어있다.
          *XML Software의 XML Parsers/Processors 홈페이지 : XML 파서와 파싱 및 DOM이나 SAX를 지원하는 XML 프로세서에 대 간단 설명과 라이센스 상태와 다운로드 받을수 있거나 또는 해당 프로세서의 메인 페이지로 이동할 수 있는 링크를 포함 하고 있다. 수십개 이상의 프로세서에 대 정보가 있어 거의 모든 파서를 찾을 수 있다. [http://www.xmlsoftware.com/parsers/]
          *XML.com의 Resource Guide 중 XML Parsers : 여기에서도 여러 파서들에 대 목록을 제공다. 목록에서는 각 파서에 대 설명이 간단하게 되어 있지만, 각 파서 이름을 클릭하면, XML.com의 Editor 중의 사람인 Lisa Rein이 평가 내용들이 기술되어 있고, 해당 파서의 메인 페이지나 다운로드 페이지로 이동할 수 있는 링크를 포함하고 있다. [http://www.xml.com/pub/Guide/XML_Parsers]
          *최신 버전을 설치다.
          *두번째 : 받아서 실행다.
  • woodpage/VisualC++HotKeyTip . . . . 21 matches
          *알고보면 상당히 편 visual 쩝
          *Hot Key를 쓰면 좋다. 스타에서 단축키 쓰는거랑 같은이유다. 마우스로 스타하는거랑 키보드까지 같이 쓰는것은 거의 천지차이다. 그만큼 유용 단축키를 많이 쓰면 쓸수록 코딩 속도도 빨라지고 소스분석도 잘되는거같다. ^^;;
          *일종의 페이지를 이동시켜주는 기능을다. A라는 페이지를 열고 작업하다가 B라는 페이지를 열었다. 그리고 다시 A라는 페이지를 가고 싶을때 Ctrl + Tab을 누르면 간다. 살짝 살짝 눌러주면 바로 전 페이지를 이동하는 기능을 수행다. 그러다 급하게 누르면 열린 페이지를 계속해서 이동하게 된다.
          * Ctrl + F6 이랑 같죠? -_-훨씬 낫군요.. 손으로 되고.. ㅠ.ㅠ --[선호]
          *1학년땐가 상민이형이 쓰는걸 보고 상당히 신기했던 북마크 번누르면 지정하고 번 더누르면 해제다. 지정하고 나서 F2를 눌러서 이동다 같은 페이지만 됨
          *세로로 블럭 지정 웬만 MS제품은 다지원하는거 같은데 역시 최근에 알음 --;
          *번 눌러보면 알게됨 --;
          *컴파일시 error나 경고에 warning에 대하여 줄씩 이동함 또 전체 문서에서 찾기(Alt + E + I) 에서 찾은결과에 대하여도 F4로 이동
          *디버그시 브레이크 포인트에 걸렸을시 줄씩 내려가면서 실행
          *모든 브레이크 포인트를 해제 상당히 필요 기능이나 툴바에 손바닥 가져다 놓는것을 더자주쓰는관계로 난 잘안쓴다.
          *Ctrl + Shift + H 를 누르면 클래스 header에서 cpp로 cpp에서 header로 이동다. 마디로 원추~!
          *믿을만 소식통에 확인해본결과 WndTabs 최신버전은 단축키가 바꼈다고하는데 먼지 모르겠다. 별수없이 지금 있는 버전(2.50)을 씀
          *참고로 Visual assist에서도 지원다고 들었는데 모르겠다.
          *회사들어와서 본격적으로 써봤는데 좋다. 편하고 색도 화려하고 근데 문제가 있다. 전적으로 나테 해당되는거지만
          *Ctrl + c로 복사해논것을 저장해준다. 쓸때는 Ctrl + Shift + V 누르면 (맞나?) 리스트가 나온다. 편리 기능
          * 메뉴에 Tools에 보면 Customize란 메뉴가 있다. 아마도 비주얼 c++을 니맘대로 구성해라 이런거 같은데 그중가지 쓰는것이 있다.
  • 새싹교실/2011/Noname . . . . 21 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 변수에 대 설명 : 메모리의 할당과 이름의 설정.
          * 모이는 시간을 잘못 알려주어서 사람 밖에 오지 못 하였습니다. 사람밖에 오지 못 하여서 진도를 많이 빼지 못 하고 복습과 질문 위주로 공부를 하였습니다. 시간을 확실하게 정하고, 다음부터는 애들이 나오지 못 하여도 진도를 위주로 공부를 해야겠습니다. - [박정근]
          * 연산자의 종류들과 #define함수의 활용법에 대해서 배웠습니다. 아직 C프로그래밍이 익숙지 않아서 간단 함수도 어렵게 느껴졌다. 여러 예재로 우선 C프로그래밍에 익숙해 져야 겠다. 수업이 끝난 후 복습을 꼭 해야겠다. - [김창욱]
          * expr1 에는 변수 초기화. expr2에 조건. expr3에 조건문을 탈출하기 위 문장.
          * expression이 충족될 경우 statement를 실행다.
          * 원치않는 무루프를 피하기 위해 while문 안에 조건문을 탈출 할 수 있는 문장을 만든다.
          * while문과 비슷하지만 do_while문은 statement를 무조건 번은 출력다.(그 뒤에 조건확인.)
          * 반복문을 공부하면서 별찍기를 해보았는데 생각보다 많이 어려우 하더라구요. 그래서 반복문에 대 문제를 좀 더 준비해 왔습니다.(별찍기가 오래걸려 풀어보지는 못 했지만..ㅠ) 아무래도 문제를 더 많이 풀어보도록 해 봐야 겠습니다. 반복문은 많이 써보는게 좋으니까요ㅎㅎ - [박정근]
          * 여러가지 종류의 반복문에 대해서 배웠습니다. 여러가지 형태의 별을 찍어 보았는데 재밌는 것 같습니다. 상황에 따라서 편 반복문을 사용해야 겠습니다. 다양 별을 찍으면서 반복문에 대해 익숙해 져야겠습니다. 저번주에 배운 내용인데도 불구하고 많이 까먹어서 복습을 해야 겠습니다.
          * 시험기간을 대비하여 많은 문제들을 풀었습니다. 반복문을 이용 달력출력과 별찍기, 기출문제들을 풀었습니다.
          * 동일 자료형의 여러개의 변수를 일괄되게 선언다.
          * index를 이용하여 자료들에게 접근다.
          * 선언시에 바로 배열을 초기화 할때에는 중괄호 {}를 사용다.
          * 배열을 선언 후에 배열의 각 원소에 값을 저장하러면 index를 이용다.
  • 새싹교실/2011/무전취식/레벨8 . . . . 21 matches
         김준석 : 이번주금요일에 IFA 에 참여를 합니다. Ice breaking같은 커뮤니케이션 기술, 회의 진행. 지난주에 체육대회 개최걸 다사다난하게 끝냈습니다. 스티브 잡스에 관 발표도 잘했어. 강원석 : 저도 스티브잡스 책봐요 ICon:스티브잡스! 사람들이 평가를 했는데 '교수님보다 잘갈킴' 기분이 좋았음. 어제 ZP 스승의 날 행사를 해줌. 춤은 여전히 잘배우고 있습니다.
         이소라 : 저번주 목요일날 모여서.별로 게 없음. 어제거 말씀드림. 어제 집에가서요. 친구 대타로 알바하게되었음. 걔가 축제를 하는데 공연을 해야다고 알바를 대신해야다고 그랬음. 축제가 수목금이라 월화는 안가도 될줄 알았는데 교육을 받으래서 2시간 일찍가서 교육받고 알바함. 8~12시까지 할것도 없음. PC방이었음. 그래서 일을 더했는데 사람이 2~3시되면 사람도 없는데 40대 아저씨가 이상 창을 띄우고 보는걸 카운터에서 봄. 그리고 빨리 닫음. 문화충격. 어제 잠을 못자서 스트레스를 받아서 라면, 햄버거 먹고 먹고 먹고 먹고 잘수 있었는데 친구랑 나가서 놀음.
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * Ice Breaking이 날이갈수록 흥미진진 얘기가 나옵니다. 재밌네. 오늘은 복습을 좀 많이 했죠. 기초가 중요겁니다 기초가. pointer도 쓰는법은 생각보다 간단하지. 간단 파일입출력도 해봤고. 정말 정말 잘하고있어. 수업태도도 나아지고있고. 이제 앞으로 나머진 들러리지만 알아두면 좋을 팁이라고 생각합니다. 하지만, 앞에서 배운 많은 개념을 잊어먹은것 보니까 이건 사태의 심각성이 있네 역시 복습하길 잘했어. 그리고 winapi사이트좀 자주가. 거긴 볼것이 많아. 그리고 후기좀 자세히봐=ㅂ= 후기쓸때도 그날 배운것 배껴서라도 올려내고!! - [김준석]
          * 오.. 1등 ㅊㅋㅊㅋ. 기특하군 새벽에 메신저에 있는거보니 뭐하는진 모르겠지만. 재밌길. 파일pointer가 좀 신기하긴 하지 사실 난 저걸 배울때 그냥 문법으로 알았는데 생각해보면 pointer라는것을 깨달은게 정말 오래걸렸달까? 구조체는... 나중에 진화단다 그걸 위해서 고생좀 해봐야지. 그래 우리가 앞으로 더욱 레벨업된 몬스터를 상대하게 될꺼야. - [김준석]
          * 파일 입출력을 처음 보게되었는데 어려워도 해보면 정말 재미있을것 같아요. 여태 많이 봐왔던 파일들의 위치를 나태내어주던(주소창에 막 써졌던 것들)것에 대해 오늘 배운 파일 입출력에서 실체를 알게되었습니다ㅋ 포인터는 정말 중요것 같아요. 반드시 여러번 이용해보면서 포인터에대해 익숙해 져야겠습니다. 그리고 저도 C관련 책을 하나 구해서 따로 자습을 해야 할것 같아요. - [서원태]
          * 음.. 포인터 없는 C란 존재할수 없지. 다음번에는 어떤 예제를 해볼까 두근두근 하구나. 원태 열심히는 하지만 이부분 외에도 다른부분에 신경써보면 좋겠어. 이시간에 집중하고 다른시간에 딴것을 해보렴. 다른것도 받쳐줘야 프로그래밍도 잘단다. - [김준석]
          * 파일 입출력 처음 배웠습니다! 완전히 처음봤어요. 근데 html인가? 하여튼 웹프밍배울때 배웠던 파일입출력이랑 조금 비슷 것 같아요. fgets는 이해 안가요 ㅠㅠ 왜 저렇게되는지 모르겠어요 흑흑. 수업은 파일입출력까지 안나가겠지만 그래도 확실히 알아두고싶습니다+_+ 오빠 월요일에 안가서 죄송해요..헤헷.. @>----- 꽃...하핳... 그래도 오빠테 항상 감사하고있어용♥ 앞으로도 잘부탁드려용 -[이소라]
          * 파일 입출력...을 배웠지요 저 나름 열심히 쳐다봤는뎅 잘 모르겟네욧.. 구조체란 것도..너무 생소 해요!! fgets도 ㅠㅠ 으아아악 모르는거 투성이가 나와버렸어요@.@ 제눈은 빙글 빙글..ㅋㅋ 음 저도 왠지 고등학교 때 html 잠깐 아주 조금 배웠었는데 이런것 것 같기두 해용..히히 저도 죄송하여요 선생님♥..오빠가 없었다면 전 C 찌질찌질 왕찌질이 였을꼽니당...ㅎㅎ 근데 지금 포인터때매 너무 혼란하네용 더 알려주세요>.< 복..습도 할꼽니당!! -[이진영]
          * 우왕=ㅂ= 귀엽게 써주었네~! 진영이 너무 귀엽다 ㅠㅠ 파일 입출력은 다음시간에 복습할겁니다. 이렇게 번씩 생각해본다니 신난다!! 뭘해볼까!? 빠지지 말고 와야되요!!! 그리고 포인터에 대 질문 고마워요. 뒤에 또 다시 복습 하겠습니다. 포인터는 중요하고 중요하고 중요것이니까요. 아싸 신난다~! - [김준석]
  • 신기호/중대생rpg(ver1.0) . . . . 21 matches
          printf("1.아이템을 산다\n2.쉰다\n3.보유 아이템 확인\n4.다른 마을로 이동다\n5.저장\n6.불러오기\n7.종료\n");
          printf("충분 휴식을 취했습니다.\n");
          strcpy(storage[0].name,"희미 혁명의 기운(구슬)");
          * 훌륭 스압이다. 이거 리펙토링하면 재밌을것 같은데 같이 해보자 - [김준석]
          * 난이도가 너무 높은데요..?! 청룡테 맞아죽었어요 ㅠㅠ - [김태진]
          printf("2.각 마을에 콜로세움이 생겼습니다! 더 강력 적에게 도전하세요.\n");
          ENEMY[6].setInfo("과제에 절망 학생회",530,530,530,134,0,245,150,6,17,130);
          ENEMY[7].setInfo("분노 새싹강사",340,340,340,165,0,563,230,7,20,160);
          COLLOSEUM[1][1].setInfo("무재부팅",360,360,360,96,0,120,87,0,10,143);
          COLLOSEUM[2][2].setInfo("과제에 분노 학생회",1043,1043,1043,160,0,203,549,0,24,200);
          COLLOSEUM[4][1].setInfo("영원의 무재부팅",720,720,720,192,0,240,174,0,20,286);
          COLLOSEUM[5][2].setInfo("복수의 과제에 분노 학생회",2086,2086,2086,320,0,406,1098,0,30,400);
          COLLOSEUM[6][0].setInfo("폭발의 무과제",2120,2120,2120,340,0,500,430,0,30,512);
          COLLOSEUM[6][1].setInfo("매우 단단 NXT",4300,4300,4300,300,0,480,880,0,30,540);
          printf("1.아이템을 산다\n2.쉰다\n3.보유 아이템 확인\n4.다른 마을로 이동다\n5.콜로세움 입장\n6.저장\n7.불러오기\n8.종료\n");
          printf("충분 휴식을 취했습니다.\n");
          storage[0].setInfo("희믜 혁명의 기운(구슬)",2,1,0,"용기가 약간 생긴다.",200);
          * 다음 버전에서는 몬스터 등을 아얘 따로 저장하는 파일을 만들어서 그걸 읽어들여서 몹들을 생성하게 해야겠습니다. 일일이 메인 cpp에서 만들려고 하니 없이 코드 줄만 길어지네요. 그리고 프로그래밍 공부를 좀 더 해야겠다는 생각이 들었습니다 ㅋㅋ 분명히 저기서 제가 삽질을 부분이 있을거에요 ㅠㅠ 이제 버전 1.2에선 소켓프로그래밍을 이용해서 네트워크 대전을 넣을 예정입니다.- [신기호]
          * 초반에 드랍테 잡혔더니 도망치기가 매번 실패해서 나보다 센 몹테 잡히면 도망 못치나보다 했는데 코드 읽어보니 그냥 50%네... 근데 난 왜 도망을 못쳤지ㅠㅠㅠㅠㅠㅠ - [김수경]
  • 이영호/nProtect Reverse Engineering . . . . 21 matches
         ## 부디 ZeroWiki가 인하대의 모 동아리 Wiki나 포항공대의 모 동아리 Wiki 처럼 좋은 정보가 많은 곳이 되었으면 다.
         특정 게임을 Cracking 하려고 했더니 nProtect와 비슷 녀석이 디버그 되는 것을 방해하고 있었다.
         확인 결과 nProtect와 guardcat은 비슷 역할을 수행하는 것을 발견하였다.
         마비노기가 아닌 다른 nProtect를 사용하는 게임을 확인 결과 소스에 포함되어 Exception Handling을 다는 것을 발견하였다.)
         성공 하였다. 다행히 이 guardcat은 Packing, Enchypher로 인 encoding이 되지 않아서 인라인 패치가 쉬웠다.
         중요것은 update를 어떻게 막느냐이다. 아마도 gc_proch.dll이 없더라도 mabinogi.exe는 제대로 실행될 것이다.
         1. mabinogi.exe(게임 자체의 업데이트 체크를 다. 그리고 createprocess로 client.exe를 실행하고 종료다.)
         2. client.exe(client가 실행될 때, gameguard와는 별개로 디버거가 있는지 확인하는 루틴이 있는 듯하다. 이 파일의 순서는 이렇다. 1. 데이터 파일의 무결성검사-확인해보지는 않았지만, 이게 문제가 될 소지가 있다. 2. Debugger Process가 있는지 Check.-있다면 프로세스를 종료다. 3. gcupdater.exe를 서버로부터 받아온다. 4. createprocess로 gcupdater를 실행다. 5. 자체 게임 루틴을 실행하고 gcupdater와 IPC를 사용할 thread를 만든다.)
         3. gcupdater(실행시 항상 서버에 접속하여 파일 3개를 받아온다. guardcat.exe, INST.dat, gc_proch.dll을 순서대로 받아와 자체적으로 wsprintf를 이용하여 복사다.-아마 디버거에 API를 걸리기 싫었는지 모른다. createprocess로 guardcat.exe를 실행시킨다.)
         4. guardcat.exe(실행시 EnumServicesStatusA로 Process List를 받아와 gc_proch.dll 파일과 IPC로 데이터를 보낸다. 이 파일이 실행되는 Process를 체크하여 gc_proch.dll로 보내게 된다. 또 IPC를 통해 client.exe에 Exception을 날리게 되 게임을 종료시키는 역할도 다.)
         5. gc_proch.dll(이 파일은 debugger를 잡는 역할을 다. 분석이 더 필요하다.) -> 이 파일은 dll injection 또 막아낸다.
         지금까지의 자료들을 분석 결과 key는 client.exe가 쥐고 있는 것으로 보인다.
         client.exe가 실행될 때, 데이터 무결성과 디버거를 잡아내는 루틴을 제거다면, updater의 사이트를 내 사이트로 변경후 인라인 패치를 통 내 protector를 올려 mabinogi를 무력화 시킬 수 있다.
         아니면 client.exe가 gcupdater.exe를 받아내는 부분을 고치면 결 수월 해 질 수도 있다. 단지, 무결성이 넘어가지 않는다면 힘들어진다.
  • 정모/2005.1.17 . . . . 21 matches
         과바에서 회의 했습니다. - [이승]
         || 연락없이 불참 회원 ||
         빙 둘러앉는 원탁 회의를 해보는건 어떨까요?? 지금은 ┛?위에 올라와 있어서 수동적인 회의가 이루어지는데 반해서 원탁회의를 다면 같은 눈높이라 좀더 집중력 있는 회의가 될수도 있을것 같습니다. 물론 강의실은 신관쪽이 되겠죠. - [이승]
         ZP는 CS분야만 다뤄야 할까요?? CS이외의 분야를 프로젝트 주제로 삼는것은 어떨까요?? 할 수 있다면 어떤 주제가 있을까요?? - [이승]
          ZP는 CS분야만 다루어야 합니다. 푸하하하 - [이승]
          * 회비운영에 대 페이지를 만들고 영수증을 모아서 좀더 투명 회비운영을 다.
          * 재동형님이 오셔서 방에 정리. 상규형님의 지원이 있을듯.
          무슨 지원을 말하는 건지?? 그리고 방에 정리라고 쓰기보다는 어떻게 하기로 했다는 식으로 자세하게 썼으면 좋겠습니다. --[상규]
          서버문제에 대해서 여러 이야기를 하다가, 재동형이 지금은 대학원생이 아니라 눈치 보여서 그렇지 상규형이나 재동형이 대학원에 들어가면 연구실에 서버 하나 넣는 것은 문제가 될 것이 없다고 하셔서 정리가 되었습니다. 지금은 일단 서버실을 최대 알아보고 안되면 연구실에 넣으면 좋겠다는 생각입니다. --[강희경]
          기록되지 않은 부분은 추가해 주세요. - [이승]
         PDA기초지식및 구입, 활용 가이드 - [이승]
          4시 10분 부터 짧게 PDA구입 가이드 발표를 해보겠습니다. - [이승]
          큭. 강의실은 확보했는데 메신저 하드 로그아웃상태에 학사 노트북은 켜지지도 않습니다. 취소합니다. 다음을 생각해봐야하는...ㅠ.ㅠ - [이승]
         오늘 과방 책상에서 진행 회의는 어땠나요?? 별 문제 없었다면 이번 겨울은 계속 이러 방식으로 해보려 합니다. - [이승]
         좀더 열심히 제로페이지 활동을 해야겠다는 생각을 했습니다. - [이승]
         수고했어. 근데 회의에 불참 사람도 회의록으로 보면 모두 이해가 갈 수 있도록 좀더 자세하게 회의록을 정리해야 될 것 같아. 회장이 서기까지 하면 회의 진행이 끊기게 되고 자세하게 적기 어렵게 되거든. 보통 서기는 부회장이 하는 걸로 알고 있어. --[강희경]
  • 정모/2012.3.12 . . . . 21 matches
          * 전시회 홍보, 동아리 방 설명에 이어서 OMS가 상당히 인상 깊었던 정모였습니다. 제목만 보고도 그 주제를 고르신 이유를 바로 알았습니다. 전체적으로 Type, Type Safety, Java Generics에 대해서 상당히 깊이 다루지 않았나 싶네요. 사실 제네릭스 모양이 C++의 템플릿과 비슷하게 생겨서 같은 것이라고 생각하고 있었는데 이건 확실히 '만들어진 이유가 다르다'고 할 만 하군요. 그리고 마지막에 이야기했던 Type Erasure는 제네릭스를 구현할 때 JVM 레벨에서 구현하지 않고 컴파일러 부분에서 처리를 하도록 했기 때문에 타입이 지워지는 거라는 얘기를 들었는데 맞는지 모르겠군요. 이거 때문에 제네릭스 마음에 안 들어하는 사람들도 있는 모양이던데. 중간에 이 부분에 대 개선이 이루어지고 있다는 말씀을 잠깐 하셨는데 컴파일 이후에도 타입 정보가 사라지지 않도록 스펙을 수정하고 있는 건가요? 좀 궁금하군요. 여담이지만 이번에 꽤 인상깊게 들었던 부분은 예상외로 Data Type에 대 부분이었습니다. 이걸 제가 1학년 여름방학 때 C++ 스터디를 다고 수경 선배테 들은 기억이 지금도 나는데, 그 때는 Type이 가능 연산을 정의다는 말이 무슨 뜻인지 이해를 못 했었죠 -_-;;; 이 부분은 아마 새내기들을 대상으로 새싹을 할 때 말해줘야 할 필요가 있지 않을까 싶습니다. 아마 당장은 이해하지 못 하겠지만. 후후 - [서민관]
          * Type erasure에 대해서는 마음에 안 들어다기보다는 어려워다가 더 적합해보이네요. 하지만 Type erasure가 개선될 것이라는 것은 제가 언급하지 않은 내용입니다. 다만 Java Generics에 관련된 개선이 있다는 이야기는 했지요. - [Kesarr]
          당장 학우들이 학교에서 배우는 버전은 아마도 Java SE 5.0과 6일 것이므로 혼란을 피하기 위해 JLS 3e 기준으로 설명했습니다. Java SE 7의 JLS SE7e 에서는 The Diamond <>를 이용 Type inference가 추가된 것이 가장 큰 특징이지요. 이를테면,
          * 아... Generics쪽의 개선이었군요 ;;; 타입 추론을 넣는 건가요. 컴파일러단에서 타입을 다 체크했으니 추측해서 넣을 수도 있다는 얘기였나... 그럼 타입 추론은 javac에서 이루어지는 건가요? 그렇다면 C++의 auto 키워드랑 같은 방식으로 작동다는 얘기인가? 아마 힌들리-밀너 뭔가 하는 걸로 타입을 추측하는 것 같던데 쓰기는 좀 더 편해지겠네요. - [서민관]
          * 좋은 OMS 감사합니다. 사소 것에서 영감을 얻어 다른 사람들에게 전파하는 능력이 대단합니다. 좋은 습관을 가지셨네요.
          * (ZP가 애자일의 영향을 받기는 했지만 아직도 애자일에 대 얘기를 꺼내기는 조심스러움)
          * 공대 동아리로 올라간게 이름만 올라가는 걸로 되서 다행이네요- 괜히 신경쓸게 많아질까 했는데 -ㅅ-a 동아리방도 음.. 어서 빨리 만들어 졌으면 합니다. 그러고 보니 6피 요즘 상태 어떤지 들러 봐야지 해놓고 맨날 캡실에 앉아 있네요 -_-;;; 음..a 말 나온김에 번 돌아보고 와야겠습니다. 형진이형의 OMS는 오우.. 사실 좀 신세계였네요- 그 부분까지 배우질 않은데다 스스로 공부도 안 해봐서 잘 모르던 개념이었는데 아주 vㅔ리 조금 알게 되었습니다. 어렵네요- 스스로 번 좀 찾아보는 시간을 가지도록 하겠습니다. - [권순의]
          * 제가 바쁜 일은 아니지만 동아리 지원사업, 동아리 방 등등.. 회장님 수고하십니다 ㅋㅋ. 제 개인적으로는 9학점 통계과 수업가서 학점 깔아주기와 전시회 출품 등으로 바쁘게 지내서인지, 이번 학기는 뭔가 일이 많은 것 같습니다. OMS는 저테 흥미있는 주제였습니다. 최근 안드로이드 프로그래밍 하면서 스레드 간 통신에서 불안전하게 다운캐스팅 할 때 찝찝 기분이었는데, 머리 속에 정리는 잘 안되지만 나중에 번 검색해볼 용기는 생긴 것 같습니다. - [정진경]
          * Type safety를 설명하기 위해 Data type 이야기에서 시작했습니다. Data type에 대 나름의 정의는 멘토링을 통해 듣고 새싹에서 알차게 우려먹은 내용이었어요. 아마 많은 새싹 교실 선생님들께서 첫 주에 변수와 자료형에 대해 수업을 진행하지 않을까 생각하는데 여러분도 알차게 써먹으시길ㅋㅋㅋ
          * Java generics에 대 내용이 다 이해가 가는 내용임에도 불구하고 내가 설명하면 저렇게 설명 못하겠다는 생각이 들었습니다. 왜 그럴까 생각해봤습니다. 처음에는 '하나를 설명하기 위해선 열 가지쯤 더 알고 있어야하는데 그 열 가지를 몰라서.'가 아닐까 했는데 사실 그보다는 평소에 제가 Java generics를 제대로 사용하고 있지 않아서 그런게 아닌가 싶습니다.
          * 어떻게 될지는 모르겠지만 friendship, 과학기술동아리 지원 등 ZeroPage가 지원받을만 프로그램들이 많이 있네요. 이런 저런 기회들이 많이 보이는 것이 좋습니다. 외부에서 동아리 지원 프로그램을 운영하는 것이 좋다기보다는 이런 기회가 있다는 걸 모르고 지나치지 않는 ZeroPage가 좋아요. - [김수경]
          * 저는 도대체 그런 정보들을 어디서 얻는지가 제일 궁금데... - [서민관]
  • 콤비반장의메모 . . . . 21 matches
          만화 형사 가제트(Inspector Gadget)에서 콤비 반장(Chief Quimby)은 형사 가제트에게 비밀 지령을 내릴땐 항상 자동 폭파되는 특별 메모지를 사용하곤 했다. 그러나 인터넷 시대를 맞이 콤비 반장은 이제 메모지 대신 번만 사용할 수 있는 파일을 사용하려고 다. ["콤비반장의메모"]와 같은 일회용 정보는 컴퓨터로 어떻게 구현할 수 있을까.
         메모리를 mp3 버퍼.. (e.g. 32kByte) 를 더블 버퍼로 잡아서, 네트워크로 더블 버퍼링 시스템으로, 네트웍으로 받은 자료로 다음 버퍼를 채우고.. 이런 형식으로 버퍼를 채운 다음에, 플러그 인 형식으로 배포하는건 어떨까요. 머.. 이건 winamp 에만 정되겠지요. - [zennith]
          * 사용자가 번 플레이 했다는 걸 네트워크로 확인해 보는 법 밖이 없나요? 씨리얼 키나 MD5키 같은 걸 사용해서~
          ''사용자가 번 플레이 했다는 걸 미디어에 직접 기록하는 방법으로는 디지털 워터마킹이 있습니다. 이 방법은 네트워킹 없이도 문제를 해결할 수 있는 방법입니다만 전문적 지식이 필요합니다. 네트워크로 확인하는 가장 쉬운 방법은 클라이언트는 재생시 마다 서버에서 인증을 받고, 서버측에서는 미디어의 아이디를 확인하고 재생횟수를 저장하는 방법이 아닐까 싶습니다. 미디어의 아이디 생성은 MD5 같은 해쉬함수 정도면 충분 할것 같습니다. --["데기"]''
         그냥 생각이 갑자기 나서 몇자 적어 봅니다. 자기 자신이 압축을 풀 수 있는 Zip - self-..어쩌구였는데 그러 형태로 만들고 마지막에 분리 데이타 파일을 지우는 식으로 만들어 봐도 재미있을꺼 같다는 생각이 들어서 .. 다 아는 건가? - fnwinter [정직]
          * player + encryped data 가 파일에, player는 decrypt & play 와 함께 data 삭제.
          * hint: Zip file format - Self Extractor 와 비슷 아이디어.
          * 사용자가 재생 안 파일을 그대로 복사다면?
          MGM이 11월 개봉 20번째 제임스 본드 영화 '다이 어나더 데이' 홍보를 위해 제작 DVD가 36시간 이내에 영화장면 일부와 예고편 내용이 사라져 영화평론가들에게 화제를 불러일으켰다.이 DVD는 새로 나온 음악과 영화정보도 알릴 수 있고 내용이 일정시간이 지나면 사라지므로 인터넷에 복제판이 뜰 염려가 그만큼 줄고 있기 때문이다.
          이 기술을 개발 플렉스플레이사와 스펙트라디스크사는 각기 DVD 겉혹은 내부에 화학물질을 첨가해 DVD를 이용하기 시작 시간에서부터지정된 시간까지만 내용을 볼 수 있도록 하고 있다.
          ''네트웍을 이용하는 모든 클라이언트는 기본적으로 서버에서 다운로드 된 정보를 이용하는 것이므로, 암호화된 컨텐츠를 제공함으로써 임의로 재생하지 못하게 하지 않는 이상 불가일이 아닐까? 암호화된 컨텐츠이더라도 암호가 깨질때까지 시적으로 안전하겠지만.. :) --이선우''
          암호화와 동시에 접근제어(AccessControl)가 필요 문제인것 같아요. 접근제어는 다분히 시스템 의존적이라 일반적인 해결이 쉽지 않은 문제죠. http://elicense.com/what/music.asp 이런식의 해법도 이미 나와있더군요. --["데기"]
         (조금은 황당)["문제분류"]
  • 큐와 스택/문원명 . . . . 21 matches
         여기서 의문점은 string헤더 파일을 include하지 않고 배열을 char *형으로 하고 #1,#2,#3을 strcpy를 사용하여 고치고 실행 후,
         처음에 "empty"로 초기화 하거나 PUSH를 할때, 배열의 모든값이 개의 값으로 변경된다는 점 입니다...아직도 그 이유를 모르고 있음..
         가능하다면, 전체 코드를 올려주세요. 지금 제 생각대로라면, 불가능 코드를 말씀하시는 것 같아서요. --NeoCoin
          밤(10시 이후)에 답변드리겠습니다. 저에게는 상당 학습의 기회가 될것 같군요. 재미있네요. 일단, 글로 표현하기에 자신이 없거든요. 주변의 사람들을 붙잡고 물어보는 것도 좋은 방법이 될것 같습니다. 그리고, 학교 교제의, call By Value, call By reference 와 Pointer 관련 부분을 읽으시면 좋겠습니다. --NeoCoin
         설명이 복잡것 같습니다. 안본셈 치세요 --;;
         // VC++ 7.0 에서 컴파일 결과, 실행하면 디버그 모드에서 조차 실행되지 않습니다.
          strcpy(array[i], "empty"); // Pointer가 가르키는 부분이 우연히 접근 가능 메모리 공간이라면
          // 코드 주변에 접근 가능 공간을 두기 때문에 에러가 없이 넘어가는
          // 것으로 보입니다. 경험상 debug 모드에서는 어느정도 수용가능
          // 안전을 보장할수 없습니다. 접근 가능 메모리 영역이라면, 입력 받은 만큼
          // 그래서 종반에는 곳을 바꾸면 모두가 바뀝니다.
          strcpy(array[tail], "empty"); // 위의 이유로, 역시 의미없는 영역에 대 복사 입니다.
         입력 관련 설명, cin을 통 {{{~cpp std:string}}}에 입력과, char* 에 입력시 차이
         처음에 의도 string 배열 코드는 다음과 의미가 같습니다.
          _Str.append(1, _Traits::to_char_type(_Meta)); // 문자를 하나씩 더다. 이때, string 객체가
         는 종단의 입력값을 세팅하는 코드가 다음과 같습니다. 위와 거의 동일 과정을 거칩니다.
          1. 현 [페이지이름] 자체에 대 고민
         그리고 위키의 사용 방법이나, 철학들을 [도움말]을 기점으로 따라가서 읽어보시면 알수 있습니다. 그러나 단발성 게시판에 익숙 많은 분들이 쏟아지는 정보에 두드러기가 날지도 모르겠군요. ^^;; 위는 그중 필요 링크 입니다. --NeoCoin
          ps. 초반에 데블스 캠프를 대비 ZeroWiki의 사용 방법에 대 정책이 부재했던것 같습니다. 하지만, 이 자체가 즐거운 학습의 기회가 될수 있을 것 같습니다.
  • 후각발달특별세미나 . . . . 21 matches
         위 문서도 리펙토링 된 것입니다. 그리고 예제 파일들은 완벽히 리펙토링 된 것은 아닙니다. 각 소스에서 가지 냄새를 느끼고 그 냄새에만 집중해서 리펙토링하는 것만 했기 때문입니다. 이외에도 여러가지 시도해보세요. --재동
         정말 재밌었어요. 수업중에 질문을 못게 있는데요, 주석은 되도록이면 안써주는건가요?? c언어 수업시간에 교수님이 주석은 많이 쓸 수록 좋다고하셨는데... --[최경현]
          주석이 많다는 것은 코드가 자신을 스스로 표현 못하기 때문입니다. 어딘가 주석을 달려고 생각 다면 번쯤 '주석 없으려면 어떻게 해야하는가?'라고 생각해보세요. 단, 숙제 제출에서는 교수님의 눈에 맞춰야합니다. --재동
          교수님이 말씀하시는 주석은 소스가 어떻게 돌아가는지 설명하는 주석을 말하는거 아닌가 싶습니다. 리펙토링을 통해서 주석 없이도 이해가는 소스를 작성하도록 노력하고, 뭐 필요 경우에는 쓸수도 있겠죠. - [상협]
          사실 이 질문은 제가 받았던 질문인데, 질문 받았던 당시에 별 생각없이 '''메모리를 많이 사용다는 단점이 있더라도 잃는 것(단점)보다 얻는 것(장점)이 더 많기 때문에 상관없다'''고 얼버무렸습니다. 그렇게 틀린 대답은 아니였지만 많이 부족 대답이었습니다. 그래서 재동형하고 이야기도 해보고 저도 나름대로 생각해서 답을 내어보았습니다.
          메모리를 많이 사용다는 우려의 원인은 많은 변수들에 있습니다. 전달인자를 받거나 값을 리턴할 때, 각각 상응되는 변수가 필요하기 때문이죠. 하지만 변수는 그 변수가 선언된 함수내에서만 효력을 발휘하고 함수가 종료되는 순간 사라집니다(메모리해제). 그러므로 모듈화된(쉽게 이야기해서 함수로 나뉜)프로그램에서는 함수내의 많은 변수들이 메모리를 많이 차지하더라도 그 함수가 끝나면 그 메모리는 해제되어 사용가능해집니다. 그리고 전역변수나 메인함수내의 변수만을 사용하는 프로그램은 프로그램이 끝날 때까지(메인함수가 종료될 때까지) 메모리를 잡아두므로 번 할당된 메모리는 사용불가능합니다.
          (참고로 제가 말하고자 하는 것은 코드에 의 메모리 사용량 입니다.)
          함수가 많다고 프로그램의 길이가 긴 것은 아닙니다. 길이가 짧은 함수를 여러개 가진 프로그램과 길이가 엄청나게 긴 함수를 개만 가진 프로그램이 있다고 해봅시다. 길이가 더 긴 프로그램은 어떤 것입니까?
          물론 함수가 추가되면 전달인자 처리를 위 약간의 코드가 추가되는 것은 사실입니다. 하지만 그것은 몇바이트에 지나지 않습니다.
         음악이 있어서 참 좋았어요~ 중간중간의 농담도 좋았구요. 지나 치게 진지 세미나 보다는 훨씬 났다는 생각이 드네요 ^^ 다만 조금 아쉬운건. 쉬는 시간에 음료수라도 뽑아 드려야지 라고 생각하고 있었는데...프로젝트 땜에 바쁘셔서 그런지 빠르게 진행 하시더라고요~ ㅋㄷㅋㄷ 마지막으로~ 간결 1장짜리 자료집이 너무 좋았어요~ - 톱아보다
          프로젝트 때문에 빠르게 진행게 아니라 선전부 모임때문에... 여튼 간결하게 하는 건 중요하다. 시간 되면 {{{~cpp The One Page Proposal}}}을 읽어보도록 해. --재동
         이제서야 글을 남겨서 죄송스럽지만; ㅎㅎ 유익 시간이였습니다. +_+ 리팩토링은 좀더 공부해야겠지만...;;
         통상 리팩토링에 대 반론은 다음과 같은 양상을 띕니다. 리팩토링을 많이 다 --> 함수 개수가 많아진다 --> 콜 체인이 길어진다 --> 속도가 느려진다. 메모리 문제보다는 속도 문제에서 리팩토링에 대 우려가 불거져 나오는 것이죠.
         그런데, 함수 호출에 의 오버헤드는 컴파일러/VM 기술이 발전하면서 점점 줄어들고 있고, 문제가 복잡할수록 그런 낮은 단계의 옵티마이제이션보다 높은 단계에서의 최적화가 훨씬 더 효과적인데, 리팩토링이 잘 되어 함수가 잘게 쪼개어져 있으면 높은 단계의 최적화를 하기가 쉬워집니다. (그래도 여전히 로우레벨의 옵티마이제이션이 필요하다면 매크로나 코드 제너레이션을 쓸 수 있습니다. DavidParnas의 [http://www.acm.org/classics/may96/ 논문] 참고)
         리팩토링을 잘 다면, 속도문제는 나중에 신경 쓰는 것이 결과적으로 나은 경우가 많습니다.
  • 3D프로그래밍시작하기 . . . . 20 matches
         라그나로크로 유명 그라비티사의 김학규 사장님이 쓴 글입니다. ( 4년전 쯤에여.)
         3D Programming 을 시작하는 사람은 상당히 막막 상태에서 시작하게 되기 마련인데, 실질적으로 거치면 좋을 것이라고 생각되는 몇가지 스텝을 적어 보았습니다
         아무래도 그냥 VGA 에서 만드는 것보다는 가속기능이 있는 카드에서 작업하면 훨씬 재미있습니다. (중요 요소죠..) 만약 현재 쓰는 카드가 전혀 가속기능이 없다면 중고 부두라도 하나 사서 달아보시길 꼭 권합니다
         3차원 프로그래밍을 하려면 최소 맥스(3d studio max)의 기본정도 (화면에 박스 배치하고 연결해서 움직이기등) 는 알아두는 것이 필수입니다.
          * 옛날 D3d에는 모드가 두가지가 있었는데요 retained mode 하구 immediate mode 가 있었는데 retained 가 immediate위에서 계층 더 추상화 시킨것이라 하더군요. 보통 immediate를 사용하는것 같더랬습니다. d3d안써봐서리.. --; 정확하진 않지만
         들이 글화 된 것이 많이 있습니다.
         수학관련 라이브러리가 어느정도 모습을 갖추었으면, 이제 최초로 뭔가 돌아가는 것을 만들어 볼때입니다.. 일단은 최소의 초기화와 실행 절차를 갖춘 프로그램을 만들어 놓도록 합니다. 화면에 무언가를 그리는 함수 같은 것은 쉽게 바꿔치기 할 수 있도록 해 놓는 것이 좋을 것입니다. 이런 뼈대 라이브러리의 형태에 대해 참조하실려면 OpenGL 관련 라이브러리중 하나인 glut 를 참조하심이 좋을 듯..
         이 단계까지는 화면에 그리는 내용이 직접 노가다 코딩으로 그릴 수 있는 간단 큐브정도로 정되어 있을 것입니다. 뭔가 좀 더 폼나는 것을 그리려면 맥스같은 외부툴에서 데이타를 가져와야 합니다
         이 시점에서 여러가지 해결해야 할 사항이 생기는데, 첫째로는 파일 포맷에 대해서 정확히 이해하고, 각 항목이 어떤 역할을 하는 것인지를 알아야 하겠으며, 둘째로는 비교적 여러단계로 복잡하게 구성되어 있는 3D Scene Data 를 효율적으로 정렬하기 위 자료구조를 내 프로그램에 심는 것입니다. STL 같은 라이브러리를 능숙하게 사용할 수 있다면 많은 도움이 될 것입니다. 가급적이면 계층적으로 구성된 모델을 읽을 수 있도록 해야 나중에 애니메이션도 해보고 할 수 있겠죠. 세째로는 기본 이상의 가속기에 대 조작을 할 수 있도록 d3d_renderstate 들에 대해서 알아두는 것입니다. 최소 바이리니어 필터링을 켜고 끄고, 텍스춰 매핑을 켜고 끄고, 알파블렌딩, 등등을 맘먹은대로 조합해볼 수 있어야겠죠
         만약 지금까지 험난 길을 거쳐서 화면상에 맥스에서 그린 오리를 읽어서 출력할 수 있다면 이제 기본적인 코스는 마스터했다고 볼 수 있을 것입니다.
         (몇가지 설명을 빼먹은 것이 있군요. 각종 좌표계 (모델좌표계, 월드좌표계, 카메라 좌표계, 스크린 좌표계) 들간의 변환에 대 의미와 프로젝션에 대 이해, 그리고 그에 따라 최소의 벡터와 행렬 연산만으로 화면상에 그림이 그려질 수 있도록 하는 그래픽스 파이프라인의 설계가 필요하죠)
         일단 엔진이 완성되고 나면 그 이후에는 자신의 필요에 따라서 할 일이 달라지겠지만, 최소 3차원상에 마우스로 물체를 배치하는 에디터정도는 꼭 만들어보시기 바랍니다. 어느정도 기능을 갖춘 에디터까지 자기손으로 만들어보고 나면 어느정도 이젠 뭐라도 만들 수 있다는 자신감이 생길겁니다..
          * 이것들 이외에도 모델링 데이타를 가져오기 위 포멧이 여럿 있습니다. x나 3ds등도 쓰입니다. 3ds의 경우 버텍스 모핑 키값을 쓸수 있다 하는데 실효성은 의문입니다. 그리고 그넘은 binary로 되있어서 읽을때 조금 더손이 갈 듯합니다.
          * 파일 포멧에 관 자료는 나우누리 게제동에 심심강좌.. 인가.. 거기하구 책으로는 3d file format이라는 책이 있는데.. addison wesley 에서 나온건가.. --; 있습니다. 여러군대에서 찾으실수 있을듯 합니다.
  • CVS/길동씨의CVS사용기ForRemote . . . . 20 matches
         홍길동 씨는 C++로 Hello World를 작성하려고 다. 간단 소스지만 CVS에 넣어 볼겸 번 만들어 본다.
         먼저 다음 내용의 cvs login을 위 cvs_set_remote.bat 란 세팅 배치 파일을 만들었다.
         cvs_set_remote.bat 내용 (글부분은 채워넣어 주세요.)
         원하는 디렉토리에서 배치 파일을 실행해서 cvs가 실행되는지 확인하고 로그인을 다. (문서의 작성자는 자신이 알고 있는 서버를 이용하였으니 개의치 마세요.)
         프로젝트 진행 폴더를 만들고, 프로젝트를 서버에 등록다.
          도움말 : 프로젝트를 서버에 등록다. 만약 내부에 소스같은 자원이 있다면 같이 등록된다.
         프로젝트 전체를 가지고 오는 개념이라서 상위 디렉토리에서 수행다.
         (프로젝트 폴더 내부에 CVS가 생겼으면 성공 것이다.)
          도움말 : 지정하는 프로젝트(모듈) 전체를 받아 온다. local에 처음 프로젝트를 받아 올때 사용다.
         .\HelloWorld>cvs commit -m "Hello World를 출력다."
          도움말 : add 서버에 추가되는 자원을 등록다. commit 서버에 변경사항을 반영시킨다.
         밍에 관 기사를 읽고 자신의 프로그램을 잘못 작성되었다고 생각하고 고치려 다.
         동일하고 cvs_set_remote.bat 을 실행 로그인을 하고, checkout을 다. 시작 디렉토리는 c:\user> 로 가정하였다.
          도움말 : commit 서버에 변경된 자원을 반영다.
         Hello World를 출력다.
          도움말 : diff 두 버전간의 차이를 비교 다. 파일이름을 생략하면 해당 프로젝트의 모든 소스들의 버전들을 체크해서 ㅗ인다.
          * 수많은 엔터프라이즈 툴들이 CVS를 지원합니다. (Rational Rose, JBuilder, Ecilpse, IntelliJ, Delphi etc) 이들 툴로서 gui의 접근도 가능하고, 컴퓨터에 설치하신 WinCVS로도 가능합니다. 하지만 그런 툴들도 모두 이러 과정을 거치는것을 단축하고 편의성을 제공합니다. (WinCVS 역시) Visual Studio는 자사의 Source Safe외에는 기본 지원을 하지 않는데, 플러그인을 찾게되면, 링크 혹은 아시면 링크 걸어 주세요. --["상민"]
  • CryptKicker . . . . 20 matches
         텍스트를 암호화하는 방법 중에 보안상 취약하긴 하지만 흔하게 쓰이는 방법으로 알파벳 글자를 다른 글자로 돌리는 방법이 있다. 즉 알파벳의 각 글자를 다른 글자로 치환다. 암호화된 것을 다시 원래대로 되돌릴 수 있으려면 두 개의 서로 다른 글자가 같은 글자로 치환되지 않아야 다.
         암호화된 텍스트가 줄 이상 입력되는데, 각 줄마다 서로 다른 치환 방법이 적용된다고 가정하자. 암호화 이전의 텍스트에 있는 단어는 모두 주어진 사전에 들어있는 단어라고 가정하고, 암호화된 텍스트를 해독하여 원래 텍스트를 알아내자.
         입력은 개의 정수 n이 들어있는 행으로 시작되며 그 다음 줄부터는 줄에 하나씩 n개의 소문자로 쓰인 단어들이 알파벳 순으로 입력된다. 이 n개의 단어들은 복호화된 텍스트에 들어갈 수 있는 단어로 구성된 사전이다. 사전 뒤에는 몇 줄의 텍스트가 입력된다. 각 줄은 앞에서 설명했던 방법에 따라 암호화된다.
         사전에 들어갈 수 있는 단어의 개수는 1,000개를 넘지 않는다. 단어의 길이는 16글자를 넘지 않는다. 암호화된 텍스트에는 소문자와 스페이스만 들어가며 줄의 길이는 80글자를 넘어가지 않는다.
         각 줄을 복호화하여 표준 출력으로 출력다. 여러 문장으로 복호화될 수 있다면 그 중 아무 결과나 출력하면 된다. 가능 풀이가 없다면 알파벳 모든 문자를 아스테리스크(*)로 바꾸면 된다.
         이런 종류의 암호화를 단일환자치환법, 또는 단일환자방식의 암호화 라고 합니다. [암호의세계] 라는 책에서 이 방법에 대해서 자세히 풀어 놓았었는데;; 하하하 책 헛읽었군요;; 이걸 보니 더블릿이랑 비슷듯. - [이승]
         단일환자 방식은 암호화 방식중에서도 기초적이고 풀기도 쉬운 방식이다. 복호화된 줄의 원본 문장만 가지고 있어도 거의 모든 암호를 풀어내 버릴수 있기 때문이다.
         또 gh, ing, ed, the, a 와같은 자주출현하는 글자쌍도 존재다. 만약 암호화된 코드에 덩그라니 글자짜리 x 가 존재다면 그것은 a일 가능성이 높아진다. 또 qer가 있따면 이것은 the가 될 확률이 높아지는것이고.
         이와같이 꽤 많은 문서와 문장의 알파벳의 출현빈도와, 특정 글자쌍을 추측 하다보면 어느순간 복호화가 완성되어진다.
         단일환자 치환법의 치명적 약점이 또가지 존재하는데 이는 송신자와, 수신자 에게 적어도 개의 법칙이 필요하다는 것이다. (이럴땐 [pangram]이 유용하게 쓰였을것이다)
         송수신가자 모두 가진 무언가 공통의 법칙이 필요했을것이고, 그렇게 되면 보안상의 문제가 발생하게 되는것이다. 직접 만나서 건낼 수 있다면 좋지만, 직접 만날거면 뭣하러 암호화된 문장을 사용하겠는가. 아무튼 암호화 규칙이 노출되지 않게 하기위해서는 상당 노력이 필요했을것이다.
         단일환자치환법은 조금 허접해 보일지 모르지만 결코 이 방식을 무시할수 없는 이유는 거의 모든 암호화 방식이 이 방법을 활용하고, 변형 방식이기 때문이다.
         독일의 아나그램도 단일환자 방식을 개량하여 빈도수의 특성을 희석시킨 방식이다. (뭐 아나그램에는 다른 법칙들도 많지만 어렵다. 이해못했다.) - [이승]
  • DataStructure/Graph . . . . 20 matches
         = 붓 그리기 =
         == 배열로 표현 Graph와 리스트로 표현 Graph의 비교 ==
          * 가지더 : Weighted Graph의 표현법
          * Depth First Search(우리말로 깊이 우선 탐색) : 우물을 쭉 파나간다는 말입니다. 가다가 막히면 빽. 스택 이용(또는 재귀). 처음으로 돌아오면 쫑난답니다.
          * Weighted Graph에 적용, 첫 Vertex에서 마지막 Vertex까지 끊어지지 않게 번에 그린다.
          * Edge들을 순서에 따라 하나씩 연결다. 연결하다가 Cycle이 생기면 그것은 잇지말고 제거다. 다 이어지면 그만둔다.
          * Vertex를 하나 선택다.
          * 거기에 이어진 Edge중 가장 작은것을 선택다.
          * 그 Edge에 이어진 Vertex와 처음의 Vertex에 이어진 Edge중 가장 작은걸 선택다.
          * 이짓을 반복다.
          * dist[w] : v0에서 출발하여 w까지의 Shortest Path의 값. 단 w를 제외하고는 S집합내에 있는 Vertex들만 거쳐야 다.
          dist[others] = 무
          반복다.
          * 역시 표현은 2차원 배열로 다. 그런데 이 알고리즘은 (-) Weight 도 허용다.(그리로 가면 이득이 된다는 말이다.) 하지만 Negative Cycle은 안된다.
          * Negative Cycle? 그 사이클을 돌면 - 가 나오는길을 말다.
          * 초기 행렬을 A(-1)[i, j] 로 다. 반복할수록 괄호 안의 값을 올려준다. 이걸 n-1까지 반복다.
  • DirectDraw/DDUtil . . . . 20 matches
          DirectDraw 장치를 풀스크린 모드로 생성다.
          위와 같은 일을 하지만 창모드로 생성다. 색상수가 없는 것은 윈도우 바탕화면의 색상 수를 따라가기 때문이다.
          보통의 서피스를 생성다.
          비트맵으로부터 서피스를 생성다.
          문자열로부터 서피스를 생성다.
          색상수가 적은 비트맵의 경우에는 팔레트를 지정해 주어야 다.
          특정 비트맵 파일로부터 팔레트를 얻어온다.
          CDisplay 에 특정 팔레트를 세팅다.
          서피스의 그림을 백 버퍼로 출력다.
          HBITMAP형의 비트맵을 특정 팔레트를 통해 화면에 출력다. [[BR]]
          컬러키(투명색)를 가진 채 화면에 출력다. prc는 사용하지 않는다.
          컬러키를 뺀채 화면에 출력다. 만약 dwFlags에 DDBLTFAST_SRCCOLORKEY를 넣어준다면 ColorKeyBlt와 같은 효과를 낸다. [[BR]]
          CSurface형을 화면에 출력다. prc는 사용하지 않는다.
          백 버퍼에 출력되어있는 내용을 현재 화면으로 출력다. 화면을 모두 완성 후에 사용다.
          CDislpay의 멤버 m_rcWindow를 갱신다. 저 CRect형 변수에는 윈도우의 크기가 들어있다.
          대개 잘 쓰이지 않는 색을 사용다.
  • DoubleBuffering . . . . 20 matches
          * 그래서 화면에 그림을 찍어줄 영역과 똑같은 크기의 가상의 버퍼를 만들어서 거기다 다 찍은다음 번에 화면으로 옮겨주는 기법이다.
          1. 화면에 그림 중 일부를 변경, 이동 할때(공의 움직임 따위) 기존의 화면을 일부 지우고 새로운 그림을 그려야 다.
          * ["[Lovely]boy^_^"]가 뻑하면 짜논 소스를 날려버리는 위험 넘이라서..--; 문서로 남겨놓으면
          * 이렇게 자원 할당 다 해주고, 더블 버퍼링을 하고 싶다고 다면.. 일단 메모리 DC에 필요걸 다 그린 다음에, 화면 DC로 BitBlt 해주는겁니다. 이게 더블 버퍼링인데.. 저는 잘못 이해하고 있었거든요. 개념은 알았지만.. 무슨 이상 생각을 조금 더 해버려서.. 지난번의 그 이상 코드가 나오게 되었던 겁니다. 훗날 본인도 못 알아보는..--;
         ["데기"]: 난 화면 전체를 꺼번에 랜더링 다음에 버퍼를 바꿔주는 방식만 보아왔기에... 독특하다고 생각하는중. 움직이는 영역이 많지 않다면 효과적인 방법인듯해. 공을 그려주는 루틴이 CBall 에 있는것도 독특하고...[[BR]]
         화면 전체를 꺼번에 렌더링 다음 버퍼를 바꿔주는 방식을 이야기하는 것 보면 아마 Page Fliping 을 이야기하시는듯. 단, 이것은 GDI 로는 불가능하지 않을까요? ^^ DC 핸들을 우리가 직접 조작할 수는 없는 것이고.. 말 그대로, 버퍼를 바꾼다는 것은 화면에 표시해 주는 메모리를 가리키는 포인터의 값을 바꾸는 거니까. Page Fliping 은 DOS나 DX에서는 가능할지 몰라도 GDI 에서는 불가능 방법일것이라는 개인적 생각. (DC에 Select 되어있는 Bitmap 을 다시 셋팅해주는 방법은 어떨까. 번도 안해봤지만. --;) [[BR]]
         그리고, 전체 그리기 관련 루틴의 경우는 애매데, 왜냐하면 저렇게 object 별로 그리기 루틴이 있는 경우 사람들 실수하는 것이.. 각각의 Draw에 더블버퍼링하고 또 메인 루틴부분에 더블버퍼링을 중복하는 경우가 있어서리.. (뭐. 요새는 하드웨어가 빨라서 별 속도 저하 없긴 것 같지만.) 개인적으로는 각각의 Draw부분에는 일반적인 Blt. 그리고 Main 부분에 더블버퍼링 번이 맞지 않을까 하는. 뭐.. 그냥 생각나서 주저리주저리. --; [[BR]]
         ["데기"] : ㅋㅋ, 표현이 조금 문제를 일으킬줄 알았어요. 화면 전체라 함은 클라이언트 영역을 얘기 것이고, 버퍼를 바꾼다는 얘기는 포인터만 바꾼다는게 아니라 디바이스 버퍼 내용을 바꾼다는 얘기거예요. 인수야, 내 애매 표현땜에 페이지 플리핑이랑 헷갈리지 말어. ^^; [[BR]]
         ["zennith"] : 뜬금없는 소리이고, 고루 이야기 입니다만, PCI 란 기술이 처음 소개되었을때 꽤 미래지향적인 기술로 각광받았던 것이 PCI bus mastering 이란 기술인데.. 무엇인고 하니, pci 채널로 연결되어있는 기기들끼리 서로의 메모리에 DMA 를 할 수 있었던 것이었죠. 대표적으로 이 기술이 사용된 예(라기보단 제가 알고있는 단 하나의 예)는 TV수신카드에서 사용되는 것이었는데요. TV 어플리케이션에서 TV 가 표시될 부분의 region 을 정해놓으면 TV 수신카드에서 그부분에 해당하는 비디오카드 메모리로 직접 쏴주는.. 그런 기술이었는데.. 더블버퍼링을 보니 갑자기 그 생각이 나는군요. 음.. 요즈음은 다들 agp 를 써서.. 저 pci bus mastering 이란 기술이 아직도 살아남아있는건지.. 잘 모르겠군요.
  • FreechalAlbumSpider . . . . 20 matches
         ["1002"] 가 만들었던 프리첼 앨범퍼오기 프로젝트. (10월 20일 ~ 29일) 그와 관련 프로젝트 후기.
         프리첼이 유료화되면서 주위 사람들이 게시판들을 프리첼로부터 이전을 하기 시작하였다. 주위 아는 교회선배들의 경우는 그중 숭실대에서 게임방을 운영하시는 분이 있어서 교회사람들 전용 서버를 하나 마련하고 게임방에서 굴리기로 다. 프리첼 게시판 변환기의 경우 이미 범용적인 제로보드나 이지보드에서 제공을 하지만, 앨범이나 화일 백업은 지원하지 않는다. 그리고, 게시판 백업을 할때엔 프리첼 관리자가 기존 게시판들의 접근 권정도를 조절해줘야 다. 로그인처리가 안되어있기 때문인데, 제로보드 게시판 변환기를 보니 쿠키 관련 처리가 없었다.
         처음 무엇을 해야 할지 고민을 해야 하는데, 일단은 '이미지를 가져오는게 가능가?' 를 먼저 하게 되었다. 프리첼의 경우 이미지를 얻어오는 방법이 getImage.asp 화일을 통해서만 가능하다. 일반 JPG 링크가 아니기 때문에, getImage.asp 로 넘겨주는 인자들을 알아내야 다.
         교회 사람이 운영하는 겜방에서 작업; 금연인 겜방이 이렇게 좋을수가. 쪽의 세미나실의 기독교 관련 서적이 빼곡하게 차 있는 것이 인상적.
         vi - python - ctags - grep 조합이 손에 참 잘 들어맞는다. 다른 Python 쪽 좋은 IDE들을 잘 못접해서 그런지 개인적으론 가장 편 조합이 되었다. 타 개발툴들로 작업할때 하던 일들을 이것들의 조합으로 의식적으로 할 수 있게 된다.
         각 모듈들이 서로 불러져야 할 순서들을 정하고 난뒤, 내가 만든 각 모듈들을 일종의 SpikeSolution 처럼 라이브러리 연습하듯이 이용해보았다. 그러면서 잠시 놓쳤던 흐름을 다시 잡았다. 이러 일들을 의식적으로, 그리고 '무엇을 할까 - 이것을 하자' 라고 생각해낼 수 있었던 것이 기분을 참 좋게 했다.
         초반 3일정도는 TDD 를 하고 후반의 PBI 스타일로 테스트 코드이 진행했는데, 후반으로 갈수록 작업 진척도가 떨어지고, 코드에 대 이해도도 떨어짐을 느꼈다.
         주로 제로보드 데이터로 변환하기 위 데이터베이스 저장 부분인데, 첫번째 이유로는 제로보드 DB 의 스키마를 제대로 파악하지 못것이 문제였다. 이 문제는 프리첼->제로보드 컨버터 PHP 소스를 보고 이를 Python 으로 포팅하였다. 이전에 PHP 프로그래밍을 많이 했기 때문에 익숙했고, 어차피 같은 어족군(?)의 언어이므로 별다른 어려움이 없었다. 하지만, 테스트 경우를 명확하게 하지 않았기 때문에, 작동이 제대로 되지 않는지에 대해서는 게시판 변환뒤 매번 웹에서 나온 결과를 확인해야 했다.
         또하나 문제로는 이상하게 MySQLdb 모듈이 문제를 일으켰는데, update query 를 날릴때 에러발생을 하는 것이였다. 똑같은 쿼리문을 쉘에서 실행했을때는 잘 되었는데, MySQLdb 의 cursor 클래스를 이용, 쿼리를 날리면 실행이 안되는 것이였다. (DB 에 적용은 되는데, 에러가 발생다.) 이 부분에 대해서는 일단 try-except 로 땜질처리를 했지만, 그리 기분좋진 않다. 수정이 필요하다.
          늦게서야 보게 되어서..; 지금도 작동을 할런지는 잘 모르겠습니다. 알바때문에 바빠서 유지보수를 못하는 중인지라.. 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]
  • HardcoreCppStudy/첫숙제/ValueVsReference/변준원 . . . . 20 matches
         값에 의 호출
         참조에 의 호출
         매개변수로 사용되는 변수에 대포인터를 전달
         ▶ 값에 의 호출(Call by Value)
         값에 의 호출 기법에서는 실인수의 값이 절대로 변하지 않음.
         ▶ 참조에 의 호출 ( Call by Reference )
         참조에 의 인수 전달 기법은 실 매개 변수의 주소를 호출된 함수에 대응하는 형식 매개 변수에 보내는 방법.
         참조에 의 호출(call by reference, call by address, call by location) 방법은 가인수의 값을 변경시키면 실인수의 값도 변경
         먼저 함수에 대 전반적인 소개를 하면..
         매크로 함수의 특성을 갖지만 compiler에 의해 처리되며 일반함수와 동일 매개변수 전달 방
         1) 매개변수에 의 방법
          - 값에 의 호출(Call by value)
          - 포인터 참조에 의 호출(Call by pointer reference)
          - 참조에 의 호출(Call by reference)
         2) 외부변수에 의 방법
         을 의미하고 power은 함수명을 의미하며 double base, int exponent은 매개변수를 의미다. power()라는
         함수 mytest 내의 지역변수로 선언 x의 값이 3이 되므로 this x=3이 되고 그 외의 값들은 모두 전역변수
         값에 의 호출방법(Call by value )
         포인터 참조에 의 호출(Call by point reference)
         참조에 의 호출(Call by reference)
  • ISBN_Barcode_Image_Recognition . . . . 20 matches
          * 1차원 바코드 인식을 하기 위해서는 해당 바코드의 심볼로지를 이해해야 다.
          * 심볼로지란, 바코드를 표시하는 방법을 정 규칙이다. 이 규칙이 존재해야 해당 바코드를 생성하거나 읽을 수 있다.
          * Bar는 바코드의 검은 부분, Space는 흰 부분이며, 각각 Black, White라고 표현하기도 다.
          * 가장 좁은 Bar 혹은 가장 좁은 Space(의 폭 길이)를 의미다.
          * 바코드를 보다 쉽게 인식하기 위해, 바코드 좌우로 X-dimension의 10배의 Space가 존재다.
          * 실제 영상에서는 대개 존재하나. 캡쳐 화면 상에 없을 수도 있고, 샘플링 과정에서 잡음이 끼기 때문에 바코드를 인식하기 위해 이 영역을 인식하는 것을 추천하지는 않는다.
          * 나머지 자리는 Left Characters의 Encoding으로 부터 해석다. (아래 Encoding에서 설명)
          * Right Characters의 마지막 자리는 Check Digit 이다.
          * EAN-13의 Check Digit는 마지막 자리이며, 나머지 12자리로 부터 생성된다.
          * 각 12자리 숫자에 가중치를 곱하여 다 합하고, 합 값을 10으로 나눈 나머지를 10에서 빼면 Check Digit가 나온다.
          * 가중치는 1, 3, 이 반복되는 패턴이다. 첫 번째 자리 숫자에 1을 곱하고, ... , 열두 번째 자리 숫자에 3을 곱다.
          * 0은 space, 1은 bar를 의미다.
          * 즉, 하나의 숫자를 나타내기 위해 2개의 Bar와 2개의 Space가 존재다.
          * 스페이스와 바에 의해 직접적으로 표현되는 숫자는 12개이다. 나머지 하나의 숫자는 Left Character의 인코딩을 해석해 얻어내야 다. 예를 들어 8801067070256 이라는 EAN-13 바코드가 있을 때, 바코드에 직접적으로 얻어지는건 맨 앞의 자리 '8'이 빠진 801067070256 이고, 이는 Left Character에 해당하는 801067의 인코딩을 보고 알아내야 다.
          * 안드로이드 공식 문서에 따르면 항상 지원되는 포맷이라고 다.
          * Planar Format으로, 프레임 크기만큼 Y 정보가 있고, 그 뒤에 프레임 크기의 반 만큼 U, V 정보가 존재다.
          * 공식 문서에 따르면 API level 12(허니컴 3.1.x)부터 항상 지원되는 포맷이라고 다.
          * 영상 일부에 빛이 비춰지거나, 그림자가 드리울 경우 Global Threshold를 수행하면 기대 결과를 얻기 힘들다.
  • Java/문서/참조 . . . . 20 matches
         채팅 UI를 짜려고 여러가지를 하다가 대화명을 입력하였을 경우에 그 대화명을 저장하려고 String 형태의 대화명을 전달인자로 사용하려고 하였는데 되지 않았다. 그래서 MSN을 통해서 상민이 형에게 그에 대해서 물어보았다. 상민이형이 MSN으로 몇십분에 걸쳐서 알려 주었다.(감사~) 이 문서에 나와 있는 내용에 대해서 아시는 분들도 있겠지만, 저와 같이 잘 모르는 분도 또 있을거 같기에 도움이 되기를 바라면서 상민이 형이 알려준 내용을 간추려 보았다.
         Java 에서는 new 와 delete 가 없지만 그 대안으로 참조형을 이용다.
         값을 이용할 수 있는 형을 말다.
         참조형은 Class, Array, interface (예외 String은 기본 자료형으로 취급다.
          메소드는 객체에 종속된 기능이라는 부가적 의미를 가지고
         안되는 이유는 아까 언급 바와 같이 클래스는 vector값이기 때문이다.
         에서 _a는 vector 값이다. 이 값은 국말로 쉽게 표현하자면 방향값,화살표 이다.
         이와같은 구문을 넣어서, 객체를 생성하고, _a에게 가리키게 하여야만 다.
         이건 성립다. 이유는 int는 기본 자료형으로서 스칼라 값이기 때문이다.
         스칼라(scalar) 역시 국말로 표현하면, 양값(?) 이라고 해야하나, 방향성이 없는
          문제는 200KB의 사소 용향이 아닌 그게 2메가 짜리의 문서의 경우는 문제가 된다.
          이게 심각 이유는, 기존 저장소를 그냥 유지체로, String의 길이만 1로 하고, a[0]에 a문자열을
          그래서 mutable String처리를 위해서 Java 1.2에서 등장것이 StringBuffer 이고 이것은 vector값으로
          등장다. string is imutable. Stringbuffer is mutable
          String은 번 자료가 들어가면 바뀌지 않아서 주로 바뀌고 확장되는
          문자열의자료의 경우 StringBuffer 를 사용하는 걸 권장다.
          mutable 객체의 구현을 위해 StringBuffer의 메소드를 보면, 일정 단위의 char저장 장소를 지정하여
          2배의 공간을 확보해 초기화 다..
  • MFC/ObjectLinkingEmbedding . . . . 20 matches
         외부 객체를 현재 프로그램에 대 도큐먼트의 부분으로서 저장하지 않고, 다른 프로그램에서의 레퍼런스로만 저장시키는 방식, 두번째로는 다른 프로그램의 도큐먼트를 자신의 프로그램에 엠베딩 시켜서 내부에 아예 포함해버리는 방식. 이렇게 2가지가 있을 수 있다.
         OLE서버 : 서버는 컨테이너에 들어갈 객체를 생성다. 풀서버는 독립적인 프로그램으로 작동할 수 있거나, 복합 도큐먼트 안에 임베드된 객체로 작동다. 미니서버는 standalone 모드로서 작동하지 못다. 오로지 객체를 만들기만 할 뿐이다.
         OLE 컨테이너, 서버 사이의 통신은 윈도우 운영체제를 매개로 동작다. 각 OLE 를 지원하는 프로그램은 공통의 OLE DLL을 가지는데 이 것이 윈도우의 기본지원 부분이다. DLL 안의 함수들은 이렇게 객체사이의 통신을 지원다. 이때 이를 지원하는 표준적인 인터페이스가 COM(Component Object Model)이다. 본질적으로 엠비드된 객체의 모양과 컨테이너가 그것과 통신하는 방법을 정의것이다.
         || QueryInterface() || 특정 인터페이스가 객체에 의해 지원되는지를 검사. 지원된다면 포인터가 리턴된다. ||
         || AddRef() || 인터페이스를 사용하는 클라이언트의 개수에 대 카운터를 증가시킨다. ||
         || Release() || 인터페이스를 사용하는 클라이언트의 개수에 대 카운터를 감소시킨다. 카운터가 0이되면 더이상 사용되지 않으므로 메모리에서 해제될 수 있다. ||
         이외에도 다른 인터페이스들도 있다. 인터페이스의 이름은 I로 시작하는 것이 원칙이다. 또 프로그래머가 자신만의 커스텀 인터페이
         OLE서버를 어떤 방식으로 식별할 것인가? OLE객체는 문서, 프로그램등 OLE를 지원하는 어떤 프로그램도 될 수 있다. 시스템에 있는 각각의 OLE객체는 클래스 ID 또는 CLSID라고 부르는 128비트의 숫자로 식별다. 이들은 GUID라고도 불리우며 알고리즘을 통해서 생성되기 때문에 모두 독특 값을 지니게된다. 이러 정보는 윈도우 시스템의 레지스트리에 저장되게 된다.
          COleClientItem 에는 엠베드된 항목의 관리를 위해 컨테이너가 필요로하는 인터페이스들이 존재다.
          || NotifyChanged() || 서버에서 객체가 변경되면, 이 객체를 임베드 하고 있는 모든 컨테이너에게 이를 알려 컨테이너가 OnChanged()를 호출하도록 다. ||
          컨테이너측에는 COleDocument, COleLinkingDoc 이 존재다. 전자의 경우는 in-place 활성화를 지원하며, 후자는 링크방식을 지원다.
          서버측에는 COleServerDoc에서 파생된 도큐먼트를 이용다. 서버측에서는 반드시 OnGetEmbeddedItem() 멤버를 구현해야다. 이는 이 함수가 순수가상 함수이기 때문이다.
  • MemeHarvester . . . . 20 matches
          * 젠장.. 구글에도 이와 비슷 알리미라는 서비스가 나왔구나.. 내꺼가 먼저 만들어졌는지 이게 먼저 만들어 졌는지는 모르겠지만.. 이것은 사용자가 사이트와 키워드를 입력하는 그러 번거로움 없이 사용자가 번 방문 사이트들에 대해서 자동적으로 업데이트 내용들을 알려주는 방식이었다. 이 방식은 본 받을만 거 같다.
          * 이것은 [EventDrvienRealtimeSearchAgency] 의 일종이다.- 싸이월드를 보면 자신의 방명록에 글이 올라오면 바로 알려준다. 이를 모든 웹사이트에 대해서 가능하도록 하는 프로젝트, 물론 단순히 새글이 올라왔다고만 알려주는것은 아니다. 어떠 새글이 올라왔는지 실시간으로 알려주며 키워드를 입력하면 해당 키워드가 포함된 글이 올라올때만 알려주기도 다. 활용 예를 보면 어떤 프로젝트인지 잘 이해가 갈 것임..
         || 범주 || 기존 엔진 || 구상것 ||
         || 질문에대 답글기다림해소 || 예를 들어서 데브피아에 자신이 궁금 것을 질문 게시판에 올리고 나서, 해당 게시판과 자신의 질문에 관련된 키워드를 입력해놓으면 자신의 질문에 대 답글이 올라오면 실시간으로 알수있다. ㅤㄱㅙㄶ이 들락날락 할 필요가 없어진다. ||
         || 대중 매체 관리 || 연예인 같은 경우 자신과 관련된 기사가 어디에 새로 올라왔는지 알고 싶을때 자신의 이름을 키워드로 넣고 여러 관련 사이트들을 입력 하면 자신과 관련된 기사가 올라오면 실시간으로 알수 있다. 또 학교나 기타 기관에서도 자신들의 이름이 어떠 매체 거론되는지 실시간으로 모니터링을 할 수있다. 예를 들어 우리학교에서도 알바생을 시켜서 각 신문을 뒤적이면서 학교 관련 기사가 나왔는지 찾게 하는데 이런 것들을 자동화 하는게 가능하다. ||
         || 불필요 웹서핑 줄이기 || 자신이 주로 가는 모든 사이트들에 대해서 수시로 들락 날락 할 필요 없이 특정 시점부터 특정 시점까지 바뀐 내역만 곳에서 모두 볼 수 있다면 편리~ ||
         || 중고 매매 알선 || 특정 중고 제품을 원다고 등록해놓으면 현재 등록되어 있는 중고 사이트중에서 해당 물품이 올라올 경우 사용자에게 실시간으로 알려준다. ||
         || 날짜 || 분야 및 담당자 || 일 ||
         || 로그인이 필요 사이트 테스트 해보기 ||
         해당 쓰레드는 요청 클라이언트들에게 바뀐 데이터를 보낸다.
          * 추후에는 각 웹들이 자신의 Observer 리스트를 가지고 있으면서 자신의 웹이 바뀔때마다 해당 Observer들에게 간단 신호를 보내는 식의 표준이 만들어지면 좋을거 같다.
  • PascalTriangle . . . . 20 matches
         == 재귀 호출을 이용 방법 - by 인수 ==
          /* 그렇지 않은 경우 행과 열을 1씩 감소해서 재귀 호출 값과
          행만 1 감소시켜 재귀 호출 값을 더해서 리턴 */
         == 동적 배열을 이용 방법 - by 인수 ==
          /* 각각의 정수 포인터에 정수 배열을 할당다 */
          /* 먼저 여태까지 할당 정수 배열을 반환 하고 */
          /* 정수 포인터 배열을 반환 후 */
          /* 종료다 */
          /* 열이 1이거나 행과 열이 같은 경우, 1을 대입 다 */
          전 행(i - 1) 동 열(j) 의 값을 더해서 대입다 */
          /* 계산 결과값을 임시변수에 저장다 */
          /* 정수 포인터 배열을 반환다 */
          /* 임시변수에 저장 값을 리턴 */
          * 아직 개선할점이 두 군데 있는데.. 구지 여기에 올린 이유는 저게 Null pointer assignment 에러가 나서.. 에러난걸 왜 올리는데. 라고 하시면 할말 없지만.. 혹시 혜안으로 시원하게 찔러주실 분 지적해주시면 감사하겠습니다.
          // 2개의 배열을 사용하여 계산을
          // 하나의 배열에 2행을 저장
          // 계속 이와같은 식으로 n행 까지 계산
          row[0][0]=row[0][1]=1; // 2행을 저장
         == 조합의 수를 이용 방법 ==
  • ProjectZephyrus/ServerJourney . . . . 20 matches
          * ok 완료. 문제는 내가 {{{~cpp command.CommandManager.getCommand()}}}에서 해당 패킷에서 {{{~cpp DeleteBuddy}}} 객체를 만든게 아니라 {{{~cpp InsertBuddy}}} 객체를 만들어 주어서 였다. 금요일에 pair시 이부분을 그대로 복사해서 붙여 두었었거든, 줄 바로 잡으니 잘 돌아 간다. 네 의도대로 인지, 테스트 해봐라 --상민
          * {{{~cpp LogoutCmd}}} 및 {{{~cpp UserSocket}}} 예외 부분 완료.... 라고 생각다. ^^;;
          * 아이디어란 순간에... 스쳐 지나가듯 나온다는걸 알았다... 불행이도 서버끄기를 다 만들구 알았다...ㅡ.ㅡ 그것만 아니었다면... 버디 리스트 삭제까지 만들수 있었는데....
          * 아무리 생각해도 정상적인 에러 메시지들이 맘에 안든다. 그 문제를 해결하고.. 서버에 새롭게 넣을 수 있을만 명령어들에 대해서 생각해봐야겠다..
          * 0604에 의논 내용 Server 측 UML에 추가
          * {{{~cpp InfoManager}}}에 대 test코드 작성
          * Logout 클래스 작성, Rename작업, 04일에 의논 내용 UML에 반영
          * 현재 {{{~cpp InfoManager}}}를 제외 모든 코드가 내가 작성 상태이다. 대체 재동군은 어제 어떻게 만날수 있을까.
          * 현재 재동군의 참여가 저조 점이 아쉽다. 일단, ["ProjectZephyrus/Server"]에 기능별로 나누어 놓으니 구현하도록 그리고 금요일에 전화함 --상민
          * 앗싸 재동이에게 사기 쳤다. initinstance 부분에서 점선으로 초기화 되는 과정에 대하여 표현이 잘못 되었었군. 재동 말이 맞았음 역시나 방학때 다시 번 훌터 봐야 할듯 바보 같이
          * 재동에게 구조 설명함, 하지만 보람차다는 느낌이 없다. 반응이 저래서야 상당히 피곤하다는 느낌 밖에는 없군. 재동 "별거 아니네요" 라는 말로 일축 할만큼 내가 짧은 시간을 투자게 아닌데 말이지 우어~ 아무 것도 없는 도화지에 저거 그려봐 우어~ --상민
          1. {{{~cpp JavaDoc}}}을 이용 도움말 작성 package설명 추가, 각 클래스별 설명 추가, 각 메소드별 설명 추가
          1. Windows 상에서 일반 콘솔에서 컴파일, 실행 하기 위 배치 파일 작성
          * 상규와 DB query를 console에서 날리고 받아 출력해 주는 간단 프로그램 작성했다. 해놓고 보니 재미있다는 생각이 듬. 확장 시키면 간단 클라이언트로 써먹을만 할것 같다.
          * Command에 결과의 유효성에 대 표현으로, int형으로 통일할지 String으로 할지 아직도 고민된다. 에구 둘다 장단이 있을것 같은걸 두개 다 해높을까.
          * Eclipse 사용법 배웠고, 지금까지의 서버 디자인에 대 설명을 들었습니다. 그리고 약간의 의견교환도 있었구요. 하지만 서버 디자인에 대것은 대부분의 윤곽은 잡혔지만 다같이 모여 여러번 이야기를 하며 아직 정확하지 않은 것들을 잡아가야 할 듯 합니다. 그리고 {{{~cpp DBConnectionManager}}}를 통해 ZP 서버의 MySQL에 접속해보고 몇가지 테스트를 해 보았습니다.(테이블 만들기, 자료 추가하기, 자료 조회하기) --상규
         간단 모임, 현재 문제 모두가 모일수 없다는 점 5/25-5/26 서버 중지로 mySQL쪽 테스트 부족, 월요일까지 생각해온(?) 것으로 짜와보기
  • Trac . . . . 20 matches
         Trac(트랙) 은 소프트웨어 개발 프로젝트를 위 위키 이자 이슈 트래킹 시스템이다. Trac은 웹 기반 소프트웨어 프로젝트 관리에 대해서 미니멀리스트적인 접근법을 취다. 우리의 미션은 개발자들이 위대 소프트웨어를 작성하는 것을 도우면서도, 그들의 방식에 대해 간섭하지 않는 것이다. Trac은 가능 팀에 이미 정착된 개발 프로세스와 정책에 대해서 덜 간섭해야 다.
         Trac 은 SubVersion 에 대 인터페이스를 제공하며 위키와 통합되어있고 편리 레포트 기능을 제공해준다.
         Trac 은 이슈에 대 서술과 커밋 메세지에 대해서 위키 태그를 지원하며, 버그,테스크,체인지셋,화일,그리고 위키 페이지들 간에 대해서 seamless 참조가 가능하게 해준다. timeline(타임라인)은 모든 프로젝트 이벤트를 순서에 맞게 보여주며, 프로젝트에 대 오버뷰를 얻는 것과 트래킹 진행을 매우 쉽게 해준다.
         http://kldp.net/projects/trac-ko/ - 글화 프로젝트
         http://projects.edgewall.com/trac/wiki/TracTermsKo - Trac 용어에 대 글 버전
         dev를 위해서는 사실 위의 링크들의 설치 방법은 거의다 쓸모 없다. Trac이 10->11로 넘어가는데 오래 정체되고 있는 이유는 내부를 대폭 개선하고 있기 때문이다. Template engine과 소스 컬러링 엔진을 바꾸었고, 기존의 plugin으로 존재하던 유용 관리 도구들을 모두 결합하고 있다. 자료 구조도 손보고 있다. NeoCoin이 몇달간 dev버전을 사용해 보면서 별 무리 없이 이용하고 있다.
          * 흐흐. gforge 보다는 좀 더 작은 단위의 프로젝트 관리툴임. 위키와 통합되어 있음. (모인모인에 이와 유사 플러그인을 만들 수도 있지 않을까 하는 생각도.)
         갈수록 오픈소스 진영에서 널리 쓰이는 중~ (최근에 구경 프로젝트들 중 꽤 많은 녀석들이 쓰고 있었던지라..) --[1002]
          * 흠 글화 프로젝트를 링크해놓으신건 ㅡ.ㅡ;; 글판으로 설치하라는 무언의 압박;;; - [eternalbleu]
          * 이걸 써먹을 만 놈이 없으니까 실제로 활용하는 방법은 잘 모르겠음.. ㅡ.ㅡ;; 괜찮은 놈 같은데... openlook 은 좀 프로젝트가 여러개 있더만... 실제 개발중인건지는 모르겠으나;; - [eternalbleu]
  • ZeroPageServer/set2002_815 . . . . 20 matches
          * PDS 의 Upload 시 글이 깨지는 문제에 대 해결책 필요. 단순히 글 인코딩 설정말고 다른게 또 있는가?
          * Admin 툴은 누가 만들었고, 정확 용도는 무엇인가? 모든 게시판이 표시되지는 않는다, 이유는 무엇인가?
          * 개인 계정 100 MB (기본적으로 쿼터제은 없으나 관리자가 관리)
          * Web에서 CGI권을 허용 받으려면 관리자(["neocoin"])에게 문의
          === 의미에 대 꿈보다 해몽 ===
          * 이번 세팅의 목적은 '''좀더 편 패키지 관리, 안정된 환경'''을 위해서이다. 그래서 상민이의 물망에 오른 것이 Zentoo Linux와 Debian, FreeBSD 정도 인데, 기본적으로 Linux를 택해서, FreeBSD와 Zentoo Linux와 Debian 비교에서 사용자 층과 편이성면에서 Debian이 더 우수하게 느껴져 선택하였다.
          * 설치는 달여 즈음 전에 릴리즈된 woody를 기본으로, 일본의 미러 소스 리스트를 이용해서 네트웍 설치를 하였다. Redhat측에서 시작부터 rpm에 대 체계적 통합적 관리가 되었다면, 현재의 deb 패키지 처럼 완전 네트웍 설치를 할수 있었을텐데 안타까운 점이다.
         ==== cgi권 설정에 과정 (해결책을 찾아보자 무엇이 해결책이었을까?) ====
          * 27일 새벽에 http.conf 파일에 권을 주는 설정들로 시도. 불발
          * [[HTML( <STRIKE> console 글 Locale </STRIKE> )]] cp --help
          * mini cd에 있는 2.2 커널에 세팅에 부족 점이 있는것 같다. 혹은 수행이 안되거나
          * [[HTML( <STRIKE> ZeroPage 좌측 하단 카운터의 cgi</STRIKE> )]] : counter.txt의 writing 권 문제
          * [[HTML( <STRIKE> moin 1.1 에서 글 index 먹도록 만들기 </STRIKE> )]] : 석천 수행
          * [[HTML( <STRIKE> vi에서 글키 먹도록</STRIKE> )]]
          * [[HTML( <STRIKE> .bashrc .bash_profile 글화</STRIKE> )]]
          * [[HTML( <STRIKE> 개인별 cgi 권 테스트 </STRIKE> )]]
          * [[HTML( <STRIKE> JSP 권 설정 </STRIKE> )]] : 사용자 woodpage에게만 줌
  • erunc0/COM . . . . 20 matches
         '''COM은 실용주의가 나은 산물이다.''' 마은에 든다. 상업적인 성공을 이끌게 된 이유야 무엇이든 간에.. 추상적인 학문이 아닌 실용적인 학문을 접해 보고 싶었기 때문에.. 공부하기로 마음 먹었다. 또, 하다가 그만 두면 안될텐데.. 라는 걱정은 뒤로 재쳐 두고 책권을 구해서 차근 차근 보기로 했다.
          * 간단 C++ 클래스로 시작하여 재사용 가능 이진 Component로써 클래스를 사용하는 법을 간단 예제를 통해서 배우게 된다. 처음은 DLL을 통해서 client 에게 제공하는 문제에 대해 말하며. 다음에는 이렇게 제공되어진 컴포넌트에 대 방화벽(?)등에 대해 논의 하면서 인터페이스를 통하여 컴포넌트 내의 은닉화를 위 방법들을 설명해준다. 그리고 그다음으로는 abstract class를 사용해 (virtual function을 이용 방법) 인터페이스의 확장에 관 부분까지 설명다. 그리고 끝으로는 RTTI 이용하여 더 나은 인터페이스의 확장 방법과 다중의 client 에게 컴포넌트를 제공할수 있게 만드는 부분까지 설명다. 서라서 그런지 애매 용어들이 많이 있어서 아직도 이해가 가질 않는 부분이 많았다. 번더 chapter 1응 읽은 후에 정리하고 chapter 2로 넘어가야 하겠다.
          * 개인적으로 COM 구현할때는 (정확히야 뭐 ActiveX Control) 손수 COM 구현하는데 하는 일들이 많아서 -_-.. (Interface 작성하고 IDL 컴파일해주고, COM Component DLL Register 해주고 그다음 COM Component 잘 돌아가는지 테스트 등등) 거의 Visual Studio 의 위자드로 작성다는. --a 그리고 COM 을 이해할때에는 OOP 에 대 좀 바른 이해를 중간에 필요로 할것이라 생각. 디자인 패턴에서의 Factory, FacadePattern 에 대해서도 아마 읽어볼 일이 생기기라 생각.
          * '정리'에 얽매이지 않기를. 뭐, 영현 자네가 공부하면서 성장했다면 그것으로 족것.. (예전에는 '정리'해야 성장다 식으로 열심히 사람들을 설득했지만. 뭐.) 단, 가지 더 충고라면 '글로 정리했을때와 안했을때'의 학습 효과는 알아서 비교해보기 바란다는. 흐흐 -_-v 가장 학습효과를 높이는건, 책보고 정리하지 말고 '자기 머릿속으로 아는 도만큼만 정리하라' 라는것. --["1002"]
          * COM 보는구나 나도 개학하고 부터 보고있는데 Standard C++로 구현것은 반도 이해못하고~ MFC로 구현하는거 보고있다. 처음엔 웹에서 설치되는 ActiveX 보려고했는데 어쩌다 보고있는지 ~ 정리잘해라 보아줄께 --["광식"]
  • html5/canvas . . . . 20 matches
          * IE를 제외 모든 주요 브라우저(?)에서 사용할 수 있는 기능. IE에서 사용하고 싶으면 Explorer Canvas, uuCanfas.js 등의 라이브러리를 사용하여 제적 기능으로 사용할 수 있다.
          * canvas위에 그림을 그리려면 Javascript로 그리기 컨텍스트를 생성해야다.
          * 그리기 컨텍스트는 그래픽을 그리는 데 도움이 되는 메서드를 제공다.
          * video 요소의 DOM 객체를 사용할 경우 drawImage()를 호출 시점에서 재생되는 프레임을 그려준다.
         == 복잡 선이나 도형 그리기 ==
          * 그리기 컨텍스트가 제공하는 API를 이용하여 직선, 베지에 곡선, 원호 등 다양 패스를 그릴 수 있다.
          * 패스를 선으로 표현다.
          * 선의 스타일은 strokeStyle 속성으로 지정다.
          * 내부 스타일은 fillStyle 속성으로 지정다.
          * 패스의 내부를 클리핑 영역으로 지정다.
          * stroke(), strokeRect() 등을 이용하여 그린 선의 색이나 스타일을 지정다.
          * fill(), fillRect() 등을 이용하여 그린 선의 색이나 스타일을 지정다.
          * 그리기 컨텍스트의 상태를 저장다.
          * 그리기 컨텍스트의 상태를 복원다.
          * save()로 저장 상태는 스택에 쌓이고 restore()를 호출할때마다 스택의 탑에서부터 상태를 불러온다.
          * 배열은 4개의 값이 묶음으로 1픽셀이 가진 정보(R, G, B, Alpha)를 나타낸다.
          * 이미지의 인코딩 방법을 MIME 타입으로 지정다.
          * [http://diveintohtml5.org/canvas.html#divingin canvas에 관 아주 자세 설명] 어떻게 그려지는지에 대해서는 이곳에서 물어보면 대부분 해결 될 듯
  • 상협/감상 . . . . 20 matches
          * 난 정말 기억력이 나쁘다. 방금 예전에 썼던 감상문을 다시 읽어보니 정말 새로웠다. ㅡㅡ; 앞으로는 책을 읽고나서 꼭 감상문을 써야 겠다. 안그러면 금방 까먹엇 읽은 효과가 없는거 같다. 또 예전에 썼던 감상문을 다시 읽어 보면 예전의 그 생생 감동이나 느낌이 다시 느껴진다. 이러 느낌이 너무 좋은거 같다.
          * 아래의 추천 정도는 극히 주관적인 것으로서 사람들 마다 느끼는게 다를거라고 생각함. 나의 의견은 그러 다양 의견중 하나라고 생각했으면 좋겠다.
         || ["위대게츠비"] || - || 2002 또는 2001 || 1 || ★★ ||
         || ["우주변화의원리"] || 동석 || 군대 || 1 || 이해를 못함 -_- ||
         || ["부자아빠가난아빠1,2"] || - || 군대 || 1 || ★★★ ||
         || ["비자"] || 비자 || 군대 || 1 || ★★★ ||
         || ["바람의딸걸어서지구3바퀴반"] || 비야 || 군대 || 1 || ★★★ ||
         || 사귐에 능 사람이 성공을 잡는다 || 손형석 || 1 || 5/1 ~ 6/16 ||★★★ ||
         || 책 제목 || 저자 ||읽은 횟수 || 추천 정도 || 간단 코멘트 ||
         || [OperatingSystem] || H.M.Deitel || 1 || 굿 || 운영체제공부를 처음으로 시작다면 이책이 적당하다고 생각다 ||
          * 난 원래 영화 잘 안보는 스타일 이지만, 마음도 심난하고 해서 컴퓨터로 이 영화를 보게 되었다. 처음 부분에서는 좀 황당 재미가 있었고, 중간 부분으로 가면서 지루해져서 그만 볼까 하는 생각도 했지만, 좀 더 보다 보니깐 재밌어져서 결국 끝까지 봤다. 이 영화를 보고 느낀점은... 음.. 지금 내가 보고 있는 세계도 혹시 환상은 아닐까 하는. ㅡㅡ;; 메트릭스도 생각나고.. 그리고 영화속 주인공이 불쌍해 보였다. 뭐 비록 천재인거 같지만 그렇게 사는것은 별로 유쾌 일은 아닐거다. 또 천재적인 사람들은 사회에 잘 적응 못하는건 아닐까 하는 생각도 해본다. 때 나도 머리가 천재적으로 좋았다면 좋겠다고 생각도 해보았지만, 그땐 이런 생각을 했었다. 머리가 너무 좋다면 노력해서 뭔가를 해내는 그런 쾌감을 얻을 기회가 적을 수도 있고, 주위로부터 사람의 인격체로 인정되기 보다는 하나의 이용해 먹을 도구로 인식되지는 않을까 하는 생각도 해본다.(그사람 == 머리, 이런 이미지가 생기면 그 사람의 다른 모습은 전혀 관심밖의 일이 될테니..)
  • 새싹교실/2011 . . . . 20 matches
         너무 짧은 시간동안 진행다면 가르쳐줄 수 있는 것이 적습니다. 그러니
          * 주에 두시간 이상 진행해주세요.
         내가 짠 코드를 직접 출력을 통해 확인하는 것은 분명 매력적인 일입니다. 그러나 처음 익힌 코딩 습관은 버리기 매우 어렵습니다. 많은 학생들이 처음 프로그래밍을 배우며 printf 함수를 사용하여 코드를 검증하는 습관을 들입니다. 그 때문에 상당수의 졸업할때까지 테스트보다는 직접 눈으로 확인하는 것을 선호합니다. 그런데 작성 코드가 잘 돌아가는지 알기 위해 직접 눈으로 확인해야만 하는 것은 매우 많은 문제가 있습니다.(이것에 대해서 더 적자면 정말 길어질테니 일단 이 페이지엔 적지 않겠습니다.)
          * 학교 수업에서 사용하기 때문에 printf 함수를 소개할 필요는 있습니다. 그러나 새싹교실에서 실습 코드들을 검증하기 위해 매번 printf를 사용하는 것은 권장하지 않습니다.
          * 출력을 통 확인보다는 테스트를 통 확인을 유도해주세요.
         피드백은 귀찮게 하기 위 관리의 수단이 아니라 각 반이 매 시간마다 더 즐겁고 유익 수업을 진행하고, 다음 해 새싹 교실에서도 이를 참고하기 위 기록입니다.
          * 학생들이 피드백 작성을 어려워다면 선생님이 구체적인 질문을 던지는 것도 좋습니다.
          * 거창 회고를 하실 필요는 없습니다.
         새싹 교실 지원 방침의 기본은 '''새싹 교실을 열심히 진행하고, ZeroPage의 발전에 기여다면 그에 대해 지원'''하는 것입니다.
          * 공부 내용 정리하기
          * 각 반 페이지에 매번 공부 내용을 정리해주세요. 일정 기간 별로 가장 잘 정리 반을 뽑아 지원합니다.
          * 혹은 새싹 교실에서 진행 프로젝트의 소스를 공개하는 것도 좋습니다.
          * 모든 반 새싹 선생님과 학생들이 자리에 모이는 날을 마련할 예정입니다. 이 날 진행 게임에서 우승 반은 추가적인 지원을 받으실 수 있습니다.
          * 더 좋은 커리큘럼을 만들기 위 의견도 환영합니다. 커리큘럼을 개선할 아이디어가 있으시면 아래에 적어주세요.
  • 새싹교실/2011/무전취식/레벨6 . . . . 20 matches
         강원석 : 선대 잘봤음. 다른과목에 비해서는. c보는 날 선대수업듣고 시험봄 그래서 망했나봄. 생일인데 청룡탕은 안들어갔고 애들테 밥사주고 술은 하늘이가 쏨 ㅋㅋㅋ 와인 파티가서 1만원내고 잔 마시고나옴 그래서 소개해준 친구가 다 내줌 총 4명이서 갔었음 다신 거기 안감 거기서 그리고 치킨도 먹음. 그리고 옆동네가서 심야영화보고 애들데려다주고 집에 4시에 들어갔음 재밌는 날이었음.
         서원태 : 선대 망. C언어 보고 정통부 애들끼리 모여서 술먹음. 그리고 PC방가서 게임하고 집에가서 또 게임함 4시까지 하고 그것때문에 다음 영어시험은 아예 못봐서 침울함. 그래서 교수님께서 번더 기회주셔서 다음주 월욜 10시까지 오라했는데 그날도 못옴. 그래서 중간고사 F.
         이진영 : 생일인데 비왔었음. 강가려했었는데. 그러고 선대시험봤는데 망함. 친구랑 그래서 인천가서 카페에서 3시간 떠들음. 그러고 다른친구를 만나서 그 친구 명만 보는줄 알았는데 친구들이 깜짝파티 해줌. 창설했는데 맵을 잘못따라가서 실패할줄 알았는데 56초만에 성공함. 난 생물의 기원과 진화 점수 평균 넘음.
         이소라 : 저요 물리시험을 봤는데. 1등함. 96점. 난좀 천재임. 그리고 천둥번개 엄청쳤음. 그때가 100일날이어서 놀러갈려했는데 못감. 슬픔 ㅠㅠ 그리고 창설 전 게 없는데 1등함. ㅋㅋㅋㅋ 잘부려먹었다. 캐치마인드 해서 하나 마스터함. ㅋㅋ 그래서 똥별됨 ㅋㅋㅋ.
          * Array는 같은 TYPE의 변수들이 연속적으로 이름으로 나열되있는것입니다. 생김새는 {{{ a[10] }}} 쓸수있는건 {{{a[0] ... a[9]}}}
          * Factorial 짤때 중요건 Stack Call!! 함수 호출시. 스택에 돌아올 주소를 넣어두고 함수가 종료되면 스택에서 빼와서 돌아간다. 너무 많은 자기 자신을 호출하는 함수라면 스택에 너무 많이 쌓여 오버 플로우(Over Flow)로 에러가 나게 된다. 항상!! 종료조건을 정하고 함수를 설계하자.
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 이걸 너무 늦게 올리게 되는군. 내가 Array를 이때 가르쳤었구나 이렇게. factorial은 중요하긴 데 더 중요건 Stack Call이라는 설계입니다. 잘 기억하시고요. 이때 케잌을 먹었는데 기억하면 신나는군요 자 다음 레벨 7로 갑니다. - [김준석]
          * 태진이 후기 써줘서 고맙다. 다른반에대 훌륭 피드백이 되는구나. 내가 진도가 좀 빠른것은 맞아 ㅋㅋ 심심하다 들으면 재밌지. - [김준석]
          * stack과 array 에 대해 배웠습니당..ㅎㅎ 근데 이날은 케잌과 과자를 무진장 먹고 엄청 졸았던 걸로 기억되네요...그래서 이 날 수업은 @.@ 이상태에서 들었어요..죄송해요..흑흑 근데 이거 다음주에 복습을 다시 번 해서 >.< 좀 알 것 같아요!! 근데 stack이 이해가 가긴 가는데 완전히 가지는 않아요ㅠㅠ 그...네모난 그릇밖에 생각이 안납니당...ㅎㅎ대충은 알겠는데 ㅠㅠ 더 올바른 이해가 필요합니당! -[이진영]
          * 네모난 그릇이 스택의 모양이지요~~ 꼭 정해진건 아니지만 이해하기엔 좋답니다. Array에 대 자세 설명을 더 써주었으면 좋은데@_@ ㅋㅋ 진영이 졸고 있어도 잘 듣고있는거 보고있어요. 착 어린이=ㅂ= 과자나 먹여봅세 - [김준석]
          * 후기 늦게써서 죄송해요...ㅠ_ㅠ 스택은 어렵습니다. 별로 신경써야하는 부분이 아니라고 생각하고있었는데 그래서 재귀함수를 못했나봐요. 배열도 완전히 까먹고있던걸 새로배우는 마음으로 배웠어요. 배열~포인터까지는 다시번 복습이 필요할것같아요! -[이소라]
  • 새싹교실/2012/우리반 . . . . 20 matches
          * feedback은 최대 성의있게 써주세요.
          * 프로그래밍 문장이 어떻게 되는지, 문장을 나누는 기준 (;) 에 대해서.
          4.Compile이란 뭘까? 자신이 생각하는 의미를 줄로 요약해서 후기에 써보자.
          1.이번시간 배운 내용(자료형, %d, %c, 절차지향, if-else, scanf, printf, else if, ==, =, +=,>)을 글로 써서 정리해봅시다. 괄호안에 있는 단어들을 이용해서 써봐요. 각각의 단어들의 뜻을 나열해도 좋고, 수업시간에 것을 생각해가며 이러이러 것은 주의해야다 라는 형태로 줄글로 써도 좋아요. 단순히 정의만 쓰더라도 A4 반페이지는 될거같네요~.
          2-1.switch, case문을 이용해서 이번시간에 짰던 프로그램을 새로 짜 보도록 합니다.(키에 관 프로그램)
          * 역시 모르는게 있으면 물어보면 제가 가르쳐 줄테니 '''모르면 꼭 물어봐요'''. 애매건 간단하게 적어놓고 체크해놓아도 좋아요.^^
          * 오늘은 태진이형이 내주신 과제를 같이 해보면서 printf와 scanf 자료형 temp if else if를 섞어가며 각각의 함수를 알아보았다. 헷갈리는건 아직 마찬가지지만, 훈련하면 나아질거라고 생각다. c언어는 정말 규칙이 많은것 같다. 집에서 코딩연습이 필요하다고 생각했고, 여러 규칙지키면서 해야하겠다 ㅋㅋ -[권도현]
         === Ice Breaking을 가장 퀴즈 ===
          * 아오 가장심 흑석병 ㅠㅠ 어쩌냐 여러분들도 흑석병 조심하세요. 난 엠티는 안갔다. 흑석병 ㅠㅠ 등산(집뒤에 광교산?)은 열심히~ + 농구도 했당 ㅋㅋ -권도현
          * 집부엠티를 갔다. 술마시고 꽐라~_~ 강 동작대교를 가봤는데, 춥고 냄시나는 곳이었다. 게없는데... NXT해야되는데 ㅠㅠ -[이미경]
         }}} 스위치를 이용 키 확인
          * 미경이 과제 : 숫자를 입력받고 해당 만큼 별찍기를 하는 프로그램 짜오기.
          * [http://www.winapi.co.kr/ WinAPI] 에서 for에 관것 읽어보자.
          * 점심약속 빨리 끝내고 와서 오늘은 함수를 배웠다. int main()이런 함수를 연달아 써서 함수간의 연결이나 끊김같이 조금은 복잡 것을 배웠다. 아직 구성이 눈에 않익어 힘들지만 이해가는 부분도 꽤 있었다. 원래 하는날이 아닌데 해주신다고 하신 태진이형 감사합니다 ^^ -[권도현]
          * 허준범교수님의 ppt에 필요것만 요약 후 정리.
          * 저번 시간이랑 이번 시간 두 번에 걸쳐서 포인터에 관 내용을 배웠는데 코드를 보면 그 당시에는 이해하는데, 다시 직접 해보려니 헷갈린다ㅜㅜ 혼자서 많이 연습해봐야 할 것 같다. 또 동적 할당에 대해서도 배웠는데, 배열과 비슷해서 이해하기 좋았다. 마지막 수업이라 뭔가 아쉽지만.. 학기동안 잘 가르쳐주셔서 C 수업 따라갈 수 있었던 것 같다 ^ㅡ^ -[미경]
  • 정모/2002.5.30 . . . . 20 matches
          ''두 사람을 컴퓨터 앞에 같이 앉혀놨다고 해서 PP가 되지는 않습니다. 그렇다고 PP에 규칙이나 방법이 따로 정해져 있는 것은 아닙니다. 두 사람이 같이 앉아있으면서 그 팀이, 그리고 두 사람 모두가 어떤 가치를 얻고 있다면 저는 PP라고 부르겠습니다. 그런데, 이렇게 되기까지에는 훈련이 필요하고, 또 언제나 개선하고 공부할 여지가 있습니다. 결국 PP도 "어떻게 타인과 잘 대화하고 잘 협력할 것인가"의 연장이니까요. 직접 일주일 동안 페어를 해보고, 남이 페어하는 것을 하루 정도 구경해 보면 아주 많은 것을 배울 겁니다. 설령 결론이 "페어는 저절로 된다"일지라도 말이죠. 프로그래밍을 40년도 넘게 사람이 좋다고 말하면 그것이 무엇이건 간에 최소 달 정도는 실험해 보자는 것이 제 원칙이자 그 분에 대 예우입니다. 달 정도야 그 분의 수십년간의 피땀에 비하면 조족지혈이겠지만... --JuNe''
          * PairProgramming 에 대 오해 - 과연 그 영향력이 '대단'하여 PairProgramming을 하느냐 안하느냐가 회의의 관건이 되는건지? 아까 회의중에서도 언급이 되었지만, 오늘 회의 참석자중에서 실제로 PairProgramming 을 얼마만큼 해봤는지, PairProgramming 을 하면서 서로간의 무언의 압력을 느껴봤는지 (그러면서 문제 자체에 대해 서로 집중하는 모습 등), 다른 사람들이 프로그래밍을 진행하면서 어떠 과정을 거치는지 보신적이 있는지 궁금해지네요. (프로그래밍을 하기 전에 Class Diagram 을 그린다던지, Sequence Diagram 을 그린다던지, 언제 API를 뒤져보는지, 어떤 사이트를 돌아다니며 자료를 수집하는지, 포스트잎으로 모니터 옆에 할일을 적어 붙여놓는다던지, 인덱스카드에 Todo List를 적는지, 에디트 플러스에 할일을 적는지, 소스 자체에 주석으로 할 일을 적는지, 주석으로 프로그램을 Divide & Conquer 하는지, 아니면 메소드 이름 그 자체로 주석을 대신할만큼 명확하게 적는지, cookbook style 의 문서를 찾는지, 집에서 미리 Framework 를 익혀놓고 Reference만 참조하는지, Reference는 어떤 자료를 쓰는지, 에디터는 주로 마우스로 메뉴를 클릭하며 쓰는지, 단축키를 얼마만큼 효율적으로 이용하는지, CVS를 쓸때 Wincvs를 쓰는지, 도스 커맨드에서 CVS를 쓸때 배치화일을 어떤식으로 작성해서 쓰는지, Eclipse 의 CVS 기능을 얼마만큼 제대로 이용하는지, Tool들에 대 정보는 어디서 얻는지, 언제 해당 툴에 대 불편함을 '느끼는지', 문제를 풀때 Divide & Conquer 스타일로 접근하는지, Bottom Up 스타일로 접근하는지, StepwiseRefinement 스타일를 이용하는지, 프로그래밍을 할때 Test 를 먼저 작성하는지, 디버깅 모드를 어떻게 이용하는지, Socket Test 를 할때 Mock Client 로서 어떤 것을 이용하는지, 플밍할때 Temp 변수나 Middle Man들을 먼저 만들고 코드를 전개하는지, 자신이 만들려는 코드를 먼저 작성하고 필요 변수들을 하나하나 정의해나가는지 등등.)
         일반적으로 피시실 등이나 세미나때에 선배들과 이야기하고, 선배들에게 조언을 들으면서 프로그래밍을 하는 것과 프로그램의 처음 작성부터 PairProgramming 을 하는 경우가 어떤 차이가 있을지 생각을 해보고 이러 '페어가 저절로 진행되어서' 라고 결론을 내렸으면 합니다.
         하지만, 스스로 문제를 먼저 해결해보도록 하는 것은 초반에 확실히 장점이 되리라 생각합니다. 자기 스스로 문제자체를 인식하고 느끼지 못 상태에서는 어떠 '인상적인 대단 내용' 도 일반 흘러가는 TV채널과 다를 바가 없게 된다고 생각.
         초반 3일정도는 스스로의 방법으로 (주어진 플랫폼(?)에서 계에 다다를 정도까지라고 할까요.) 해결해보도록 뒤, 그 이후쯤에 선배들과의 PairProgramming을 해보는 (위의 처럼, 문제 해결방법 순서까지 보여주는.) 것은 어떨까 하는 생각을 해봅니다. 위에 열거 저러 것들도 자신이 원하지 않으면, 또는 자신이 민감하지 않으면 관찰자체를 하지 않는 것들이니까요. --1002
          ''일단 자신이 가진 비효율적/비체계적 방법으로 좀 고생을 해보고나서, 선배의 방법(문제에 대 답이 아니고, 메쏘돌로지)으로 그 변화를 직접 느껴보고 자신이 받아들일지 말지 선택하는 것은 참 좋은 방법입니다. NoSmok:동의에의교육 이라고 할까요. --JuNe''
  • 정모/2004.11.16 . . . . 20 matches
          * 프로그래머 소양론에 대 책에서 자신의 생각을 다른사람에게 전달하는 프리젠테이션 능력 또 코딩 실력만큼 중요하다고 말하는 것을 보고 생각하게 됨.
          * 자신이 읽은 책을 다른사람에게 자유롭게 발표하고 질답, 비판, 발표에 부족 부분을 지적받아 다양 프리젠테이션 경을험을 쌓는다.
          * 발표를 하고 싶었지만 자신이 따로 공지를 하고 사람을 모아야 하는등 불편 절차때문에 망설이던 사람들에게 좋은 기회가 될수도 있을 것이다.
          정기적으로 모인다 : 달에 번은 지나치게 많은 발표자인해, 듣는 사람들이 기다리다 지치게 될 수도 있다. 수시로 소집다는, 말이 쉽지 참여도가 떨어질가능성이 많다.
          발표주제는 자유롭다 : 자신이 공부 전공에 대 이야기 또는 재미 있게 읽은 책에대 이야기.
          발표자는 발표 주제에대 제목정도를 미리 공지다.: 자신이 관심이 있는 주제에 대해서 발표를 다면 평소에 오지 않았던 회원들에게도 오고자하는 동기부여가 되지는 않을까요??
          발표형식은 자유롭다. : 실험 적인 프리젠테이션을 구성할 수 있지는 않을까요?? 발표에는 꼭 프로젝터가 필요건 아니니까.
          - 뭔가 다.
          * 우수회원을 선정다.
          다른 약속이랑 겹쳐 있어서 조금 일찍 나갈지도 모르겠어요. - [이승]
          동기들도 좀 올듯.크하하하하!! - [이승]
          발표 프로젝트가 잘 운영 되었으면 하네요~ 이히히히~ - [이승]
  • 정모/2012.1.27 . . . . 20 matches
          * 참가자 : [변형진], [김준석], [김수경], [권순의], [정종록], [강성현], [서민관], [강소현], [장용운], [정진경], [고종], [김태진]
          * 정모에 하고싶은 것이라던가, 하고 싶은 행사, 기타 도움이 필요 점이 있으면 말해주세요.
          * 이외에 대안언어축제, 단체 세미나 참여, Script언어의 날, 외부 학회간 교류, CNight, LETS(뭐더라;;?), 공모전 참여, ACM출전(행사..는 아니지만) 등 여러가지 회고에서 모집된 사항들을 최대 반영해보도록 하겠습니다.
          * ''LETS가 위키에 페이지가 없구나... 아 이래서 내가 위키옹호론자인거야ㅠㅠㅠㅠㅠㅠ'' 외부 링크를 걸어보려고 했는데 적절 페이지를 못찾겠네요. 찾으면 LETS에 대 설명을 링크걸겠습니다. 못찾으면 천천히 써볼게요... - [김수경]
          * [고종] 학우의 '''새해복 많이 받으세요''' 부제 : Theorem of Aggro // 세뱃돈
          * 정회원 기준은 지금까지의 정회원에 대 제고를 하는 것이 아닙니다. 12학번 새내기들이 정회원이 되는 것에 관 것입니다. 조건을 완화하여 좀 더 쉽게 정회원이 되도록하고, 차후에 (1학년 2학기라던가)활동이 전혀 없는경우 조금씩 정리하는 방향이 어떨까 의견을 내보았습니다.
          * 학회실 지원 및 지원금(근로 장학생 명목?)에 관 이야기가 나왔고, 학생회 입장은 ZP와 학생회가 반반 나누어 'PC실 관리팀'을 만드는 방향으로 제안서?를 써보기로 하였고, 저는 오늘 정모 의견에 따라 ZP에서 자체적으로 6피를 관리하는 것으로 써서 교수님께 제출하며 다시 의견을 나누어 보는 것으로 하였습니다.
          * 1월에 것 중 기억에 남는 것을 써주세요.
          * 인수인계를 위해 적을 글에 포함하려고 했는데 일단 여기에 아주 간단 내용만 적겠습니다. 하려는 말의 핵심은 작년에 했던 것을 그대로 따를 필요가 전혀 없다는 점입니다. 굳이 선생님을 여럿 모으고 각 선생님마다 반을 할당하는 방식을 고수하지 않아도 좋다고 생각합니다. 실제로 작년에 새싹교실을 준비할때는 강연자가 바뀌는 오픈 세미나 형식으로 진행할까 하는 생각도 했었습니다. 그 아이디어가 채택되지 않은 이유랑 나는 안해놓고 이제와서 그 말을 꺼내는 이유는 다른 곳에 천천히 쓰겠지만.... - [김수경]
          * 방학중인데도 많은 사람들이 참여 정모라 즐거웠습니다.
          * OMS 잘 들었습니다. 지난번 종이 OMS 때도 느낀거지만 누구나 접해봤을법 주위 사건에서 얘깃거리를 잘 뽑아내는 것 같아요. 발표할때 페이지 구성이나 설명도 재미있고ㅋㅋㅋ 중간에 문자와 전화에 대 내용이 있었는데 저는 오히려 전화보다 문자를 선호하는 편입니다. 모르는 후배에게 오는 연락은 특히나... 서로 어색 것도 싫고 메모해야하는 내용이 포함되어있다면 문자가 훨씬 편리하니까요...... 아마 저같은 사람도 꽤 있을거예요. - [김수경]
          * 그냥 예정이 되었군요 -_-a 음.. 여튼.. 많이들 와서 시끌벅적 했던 것 같네요. 종이의 OMS 주제는 항상 보면 그냥 생활에서 캐치해 쓰는 것 같네요. 전 그동안 제가 좋아하는 거 위주였는데 음.. 재미있었습니다. ㅋㅋ 저도 전화 싫어요 ㅋㅋ 전화 하는게 그냥 싫어요 ㅋㅋㅋ (낯을 가리는 성격이라 그런 것도 있고) PC실은 더 많은 이야기가 필요할 거 같네요. 학회의 공간이 생기는건 좋은 것 같은데.. 일단은 해 봐야 알겠죠 뭐 -ㅅ- 여튼 오랜만에 많이 모여서 반가웠습니다 - [권순의]
          * 핫하.. 예정이란말이 뭐랄까, 형이 생각 의미보다는 될지도 모른다는 식의 표현으로 쓰려고 했었는데 말이죠..ㅋㅋ - [김태진]
          * 제가 첫 MC(?)를 맡은 정모였습니다. 뭐랄까, 진행이 지루하거나 하지는 않았으면 좋겠네요. 보통 제가 드립을 치더라도 준비를 약간이나마 해야 칠 수 있는 경우가 많기 때문에.. 재밌고 보람찬 정모를 만들려면 어떻게하는게 좋을까 생각해보게 되네요. 뭐, 아무튼 종이가 OMS를 잘 해주어서 그에 대 부담이 줄었던거 같아요 ㅋㅋ. 다음주에는 제가 Agile Korea에서 배워온 '무언가'를 같이 해봐야겠어요. ㅎㅎㅎㅎ -[김태진]
  • 지금그때2006/선전문 . . . . 20 matches
         아마 선배님들 께서는 번쯤은 들어보셨으리라 생각이 듭니다.
         자신이 이때까지 살아오면서 정말 내가 잘 일이었지.. 라고 생각하는 일!
         열린 <b>지금그때</b> 자리에서, 후배들 또는 선배님들과 이런 저런 인생에 대 얘기를 나누면서 삶의 지혜나 사람들의 이야기를 들어보는 건 어떨까요?
         <B>지금그때</B>(이번 행사이름)는 이런 이야기를 나누는 진지하지만 재미있는 자리가 될 것입니다. 여태 서로 몰랐던 선배, 후배, 동기가 자리에 모여 이야기하는 동안 좋은 인연으로 발전할 수 있는 발판이 되기를 바랍니다.
         행사는 4월 7일 금요일 저녁 7시에 시작하여 2시간 정도 진행할 예정입니다. 장소는 공대 강의실 가운데 곳으로, 강의실 번호는 추후 공지할 예정입니다.
          사랑하면 알게 되고, 알게 되면 보이나니 그 때 보이는 것은 전과 같지 않으리라. (知則爲眞愛 愛則爲眞看 看則畜之而非徒畜也.) - 유준(兪漢雋, 1732 - 1811. 정조 때의 문장가)
         <B>지금그때</B>(이번 행사이름)는 이런 이야기를 나누는 진지하지만 재미있는 자리가 될 것입니다. 여태 서로 몰랐던 선배, 후배, 동기가 자리에 모여 이야기하는 동안 좋은 인연으로 발전할 수 있는 발판이 되기를 바랍니다.
         행사는 4월 7일 금요일 저녁 7시에 시작하여 2시간 정도 진행할 예정입니다. 장소는 공대 강의실 가운데 곳으로, 강의실 번호는 추후 공지할 예정입니다.
          사랑하면 알게 되고, 알게 되면 보이나니 그 때 보이는 것은 전과 같지 않으리라. (知則爲眞愛 愛則爲眞看 看則畜之而非徒畜也.) - 유준(兪漢雋, 1732 - 1811. 정조 때의 문장가)
         <B>지금그때</B>(이번 행사이름)는 이런 이야기를 나누는 진지하지만 재미있는 자리가 될 것입니다. 여태 서로 몰랐던 선배, 후배, 동기가 자리에 모여 이야기하는 동안 좋은 인연으로 발전할 수 있는 발판이 되기를 바랍니다.
         행사는 4월 7일 금요일 저녁 7시에 시작하여 2시간 정도 진행할 예정입니다. 장소는 공대 강의실 가운데 곳으로, 강의실 번호는 추후 공지할 예정입니다.
         사람들의 "나를 만든 책"을 소개하는 자리입니다. 졸업하는 사람이 "각자 자기의 대학생활 전체를 되돌아보고 그 기간동안 자신에게 가장 큰 영향을 준, 나를만든책을 딱 권 고른다"라는 발상입니다. 그리고 이를 기부하면서 간단 설명을 덧붙입니다. 듣는 이는 궁금 점을 물어볼 수 있습니다.
         사람들의 "나를 만든 책"을 소개하는 자리입니다. 졸업 선배님께서 "각자 자기의 대학생활 전체를 되돌아보고 그 기간동안 자신에게 가장 큰 영향을 준, 나를만든책을 딱 권 고른다"라는 발상입니다. 그리고 이를 기부하면서 간단 설명을 덧붙입니다. 듣는 이는 궁금 점을 물어볼 수 있습니다.
         참가해주신 여러분께 감사드립니다. 각자 얻어가는 것은 달랐겠지만 모두에게 유익 시간이었길 바랍니다.
         여러분의 생생 후기를 기다립니다. 지금까지 <지금그때>를 발전시켜온 것도 참가자들의 후기입니다.
  • 혀뉘 . . . . 20 matches
         자신의 의견이나 가치를 타인에게 강요하지 않으며 반대의견이나 충돌을 피하고, 인화를 중시다.
         다른 사람의 부탁을 거절하기 어려워
         규칙 틀에 묶이는 것을 싫어
         조용히 있다가 무대에서 끼를 발휘다. - 몰입이 특징
         지나치게 타인을 배려
         대중 앞에 선뜻 나서지 못
         즐기는 것에 대 호기심이 많다
         경쟁하는 분위기보다는 편안 분위기에서 능력을 발휘
         딱딱하고 사무적인 사람을 싫어
         즐거움에 대 호기심을 자제하고 우선 순위에 맞춰 일하는 연습이 필요
         당신은 사람을 선택하는데에도 신중하며, 왠만 일로는 마음이 흔들리지 않을 것입니다.
         바람은 절대 안피고, 다른 사람에게 껄떡대는 일이 없는 대신, 번 돌아서면
         번 아니면 끝이기 때문에 있을때 잘하는게 상책이지요.
          * 피노키오 - 잠들지 못 그리움
          * 연중 기온이 온화 나라에서 행복하게 사는 모습.
          기쁜 일이나 슬픈 일이 찾아오면, 그것들 또 머지않아 사라질 것임을 명심하라.
          그냥 생각인데, 10여년 후에는 베트남에 대 보상 문제로 사회가 또번 발칵 뒤집히지 않을까 싶어.
         == 지나가는 사람들 마디 ==
  • 10학번 c++ 프로젝트 . . . . 19 matches
         1. 프로젝트의 정기모임(이하 모임이라 칭함)은 매주 일요일 오후 3시에 시작다.
         2. 모임에 지각, 혹은 불성실 참여가 보일 시 벌금2000원의 벌금을 부과다.
          * 참여 구성원 :
          * 지각 구성원 :
          * 불참 구성원 :
          * 참여 구성원 :,남상혁,,박정근,김정욱,윤종하
          * 지각 구성원 : 김상호,박재홍,김정혜
          * 불참 구성원 : 박성현
          * 참여 구성원 : 박재홍 박정근 윤종하 김정욱 김상호 김정혜
          * 지각 구성원 : 윤종하 김정욱 김상호 김정혜
          * 불참 구성원 : 남상
          * 참여 구성원 : 박재홍 김상호
          * 지각 구성원 :
          * 불참 구성원 : 나머지 전원
          * 초시계를 제외 나머지 부분(시간표시, 알람설정) 은 완성.
          * 참여 구성원 : NULL 이라 치자. ㅋ_ㅋ
          * 지각 구성원 : NULL 이라 치자. ㅎ_ㅎ
          * 불참 구성원 : NULL 이라 치자. ^_^
  • 2011년돌아보기 . . . . 19 matches
         12월 마지막 정모에서 진행 2011년 회고 내용입니다.
         아직 정해지지는 않았지만 2012년 해 ZeroPage를 이끌어줄 회장에게 바라는 점!!
         === 고종 ===
         == 2011년 해 ZeroPage 활동에서 가장 인상깊었던 것 ==
         === 고종 ===
          * 누구보다 좋은 선배들을 누구보다 많이 만날 수 있었다는 것에 감사다.
          * ZP에서 받은것밖에 없다는 생각이 들지만, 편으론 내 활동자체가 ZP를 더욱 ZP답게 만들어 준 것같다.
          * 부회장이 되고 회장 수경이와 해동안의 ZP의 가치와 목표를 정했다.
          * 내가 ZP에게 많이 것이 없다.
         === 고종 ===
         == 마디 ==
          * 휴학하고도, 방학하고도 항상 ZeroPage 활동에 빠진 적이 없는 ZP순이인데 이제 졸업이니 전처럼 활동할 수가 없겠네요. 해를 마무리다기보다 5년간의 활동에 마침표를 찍는다는 느낌이라 2011년을 보내는 마음이 더욱 복잡합니다. 특히나 올해는 회장으로 활동해서 개인적으로 더 특별 해였습니다. 회장으로 막 활동을 시작했던 작년 이맘때가 생각나네요. 욕심도 기대도 걱정도 많았던 때였습니다. 일년이 지난 지금 하나하나 따져보면 뿌듯 일도 있고 아쉬운 일도 있지만 전체적으로 생각해보면 보람찬 해였다는 생각이 듭니다. 4학년과 ZeroPage 회장을 병행하면서 잘할 수 있을까 싶었는데 잘 것은 모르겠지만 하면서 배운 것, 얻은 것이 많아 회장으로 활동하기 정말 잘했다는 생각이 듭니다. 시도해보고 싶었던 것들을 가끔은 정말 대책없다 싶을 정도로 이것저것 많이 해봤는데 ZeroPager들이 함께 참여해주어 너무 고맙고 즐거웠습니다. 2012년은 더욱 더 ZeroPager들이 ZeroPage를 통해 성장하고, 또 ZeroPage도 성장할 수 있는 해가 되면 좋겠습니다. - [김수경]
  • 2thPCinCAUCSE . . . . 19 matches
         2회 중앙대학교 컴퓨터공학과 프로그래밍 경진 대회에 대 자료.
          * 팀 구성: 2-3인 / 팀 당 PC
          * 팀은 문제에 대해 소스코드가 완성되면 디스켓에 담아 채점 팀에 제출다.
          * 채점은 그 소스코드를 컴파일해서 수행파일을 만들어 채점다.
          * 그 문제에 대해서 준비된 테스트 데이타( 보통 5-10개)에 대해서 모두 맞는 답을 내야 그 문제를 맞춘 것으로 다.
          * 컴파일 error, 실행 시간 error , 출력 포맷이 문제에서 정 것과 다른 경우에도 틀림.
          * 제출 답안이 틀렸을 경우, 매번 일정 penalty 점수 (10점)를 받게 된다.
          * 맞춘 문제에 대해서는 경시 시작부터 문제를 제출 시각까지 시간을 분으로 환산 것이 점수로 주어진다. (따라서 점수가 적을수록 유리) 그리고 여기에 penalty 점수를 합산 것이 그 문제의 최종 점수가 된다. 예를 들어, 어떤 문제에 대해서 다섯 번째 제출을 시작후 1시간 20분에 하여 맞추면, 지나간 시간이 80분이므로 80점, 네 번째까지는 틀렸으므로 4번*10점=40점이 penalty, 최종 점수는 120점이 된다.
          1. 각 문제는 데이터를 외부에서 입력받아서 프로그램으로 답을 계산 후 반드시 출력을 다. 이때, 입출력은 표준입출력만 사용다. 파일 입출력문을 쓰면 안됨.
          4. 채점은 자기 컴퓨터에서 하는 것이 아니라, 채점 팀의 컴퓨터에서 실행다. 이점을 유의할 것. 즉, 자기 컴퓨터에만 있는 특수 기능을 사용하게 되면, 채점 팀 컴퓨터에서는 안 돌아 갈 수 있음.
          5. 채점 팀은 채점에 필요 데이터를 파일로 만들어서 가지고 있다가 이를 학생의 수행파일에 파일 redirect를 통하여 수행파일에 입력시킨다.
  • Benghun/Diary . . . . 19 matches
         아는 사람 중에 함수나 클래스를 만드는 것을 대단히 꺼리는 사람이 있다. 만들면 좋을 것 같은 간단 함수조차도 직접 만들려고 하지 않는다. 하지만 이미 잘 만들어 진 라이브러리는 자주 사용다. dependency가 없다면 변경에 영향을 받는 모듈이 없을 것이다. 나름대로 잘 사용하는 replace all in files, replace all in file, copy & paste등이 강력 프로그래밍 도구중 하나인 것 같기도 하다.(최소 나보다는 잘 사용하는 것 같다, 나름대로의 노하우도 있는 것 같다) 아마도 그는 dependency를 최소화하는 것에 큰 관심이 있거나 다른 이유가 있나보다.
         table에 대 query가 여러 곳에 분산되어 있었다. table이 변경되자 모든 코드를 살펴야 했었다. 이 문제를 해결하기 위해 테이블에 접근하는 클래스와 쿼리를 실행하는 클래스를 추가했다. Java 웹 애플리케이션 프레임웍 분석과 설계의 노하우, Applying UML and Patterns, 마소 2003/7 고전을 찾아서4 모듈화와 정보은닉의 상관관계가 도움을 줬다.
         어제 술장사하는 친구를 만나 이야기를 했다. 1 ~ 2년 동안 장사 후 목표를 달성하면 다른 벌이가 되는 장사를 다고 다. 아르바이트하는 사람들이 고생을 하건 말건 크게 신경쓰지 않는다고 다. 컴퓨터 산업에도 관심이 있다고 다. 걱정된다.
         나에겐 일이 아닌 회사 생활이 힘들게 느껴진다. 사람을 대하는 것이 왜 이렇게 힘들까 ? 어떻게 해야할지 어렴풋이 알겠는데 ( 모르는 것일지도 모르지만 ) 실천하기가 힘들다. 어떤 행위에 대 제약 때문일까 ?
         코드를 작성할 때 노가다성 코드이고 긴 시간을 필요로 다는 생각이 들면 극도로 코딩하고 싶어지지 않는 건 왜일까 ? 코드를 작성하는 것이 집중력을 필요로 하고 지겨운 작업이라고 생각이 들면 코딩하기 싫어진다. Pair Programming이 필요 것일까 ? 비단 코드를 작성하는 작업 뿐만이 아니라 모든 것들에 대해 아무것도 모르겠다.
         동호선배 장가간다고 자랑 메일 내용
         그리고 내가 잘 모르는 선배인 마이크테도 추천했다. 스피커테도 추천하고 싶다.
         Refactoring 세미나 시작 날 , 근효선배가 스터디에 합류했다
         내가 준비 세미나 자료를 검수(?)해 주신 분께 감사드린다.
         세미나 진행자로써의 준비 부족을 지적해 준 근희선배에게 감사를 표시다. ( 세미나의 서두가 엉망이었다. 결과적으로 질문공세가 유도되었다 )
  • CVS . . . . 19 matches
         Concurrent Versions System. 공동 프로젝트를 위 소스 버전 관리 툴. 오픈소스계열에서 Source Repository 의 용도로서 많이 이용된다. 활발하게 이용되고 있는 곳에 대해서는 http://sourceforge.net 에서 많이 볼수 있다.
         === 가장 쉬운 글 문서들 ===
          * http://network.hanbitbook.co.kr/view_news.htm?serial=299 - CVS 관리. tag, branch 등에 대 간단 소개.
          * http://cvsbook.red-bean.com/ CVS의 자세 도움말
          * http://www.chonga.pe.kr/document/programming/cvs/index.php 해당 사이트에서 제작 글 Reference
         설치는 간단하다. install script 를 이용, CGI 가 돌아가는 경로에 설치뒤, viewcvs.conf 에서 CVS ROOT 를 설정해주면 끝.
         현재 ZeroPage 의 경우 CVSROOT 는 /home/CVS 이므로 viewcvs.conf 의 경우 다음과 같이 설정되어있다. (여기서 Development 는 일종의 이름. 여러개의 root 존재시에는 ','로 구분다.
          * ZeroPage의 CVS 계정을 원하는 회원은 서버관리자(["neocoin"])에게 연락 바람 자세 내용은 홈페이지 왼쪽 메뉴 참고
          * 이때, connection refused 등의 메세지가 발생다면 /etc/hosts.allow 파일에 cvs:ip 를 추가해준다.
          * 원인: 어떠 이유에 의해, cvs를 실행하는 환경이 cvs 사용자와 다를 경우 혹은 권이 없을 경우 발생다.
          * 해결: cvs를 띄우는 환경을 적절하게(권이 있도록) 설정해준다.
         돈이 남아 도는 프로젝트 경우 {{{~cpp ClearCase}}}를 추천하고, 오픈 소스는 돈안드는 CVS,SubVersion 을 추천하고, 게임업체들은 적절 가격과 성능인 AlianBrain을 추천다. Visual SourceSafe는 쓰지 말라, MS와 함께 개발 적이 있는데 MS내에서도 자체 버전관리 툴을 이용다.
  • Cockburn'sUseCaseTemplate . . . . 19 matches
         = Example: 유스 케이스 5.물건을 구매다. =
          * 맥락 안에서의 목표: 구매자는 우리 회사에 직접 구매 요청을 보내며, 물건이 도착하고 청구서를 받아볼 것을 예상다.
          1.구매자가 찾아와서 구매 요청을 다.
          2.회사는 구매자의 이름, 주소, 요청 물건 등을 저장다.
          3.회사는 구매자에게 물건에 관련된 정보, 예를 들어 가격, 배송일 등을 제공다.
          4.구매자가 주문을 확정다.
          7.구매자는 물건값을 지불다.
          3a.구매자가 주문 물건 가운데 재고가 없는 물건이 있다: 주문을 재조정다.
          4a.구매자가 직접 신용카드로 물건값을 지불다: 신용카드로 물건값을 받는다. (유스 케이스 44)
          7a.구매자가 물건을 반송다. 반송된 물건을 처리다. (유스 케이스 105)
          * 상위 유스케이스: 고객 관계를 관리다. (유스케이스 2)
          * 하위 유스케이스들: 주문서를 만든다. (유스케이스 15), 신용카드로 물건값을 받는다.(유스 케이스44), 반송된 물건을 처리다.(유스 케이스 105)
          * 기: Release 1.0
         필요 경우 다른 유스케이스에 링크를 걸 수 있을 것이다. 더 좋은 방법은 책에서 설명했듯이 유스케이스 번호만 주면 보여지는 내용을 자동으로 생성하게 만드는 것이다. 예를 들어 ''UseCase5'' 라고 적힌 부분은 자동으로 ''물건을 구매다. (유스 케이스5)''이런 식으로 생성다.
  • DNS와BIND . . . . 19 matches
         서버관리자가 DNS와 BIND에 대해 공부 내용
         책 - DNS와 BIND, Paul Albitz & Cricket Liu, 이성희 역, 빛미디어
          이 네임서버가 이 영역의 데이터에 대 최고의 정보 제공처라는 것을 의미
          영역에 대 네임 서버 레코드
         ; 정규(canonical) 네임에 대 주소들
         ; 인터페이스를 위 특정 이름들
         ; 정규(canonical) 네임에 대 주소들
         ; 정규(canonical) 네임에 대 주소들
         (db 파일들은 /usr/local/named에 존재다고 가정)
          * 짧게 작성 db 파일
         ; 정규(canonical) 네임에 대 주소들
         ; 인터페이스를 위 특정 이름들
         ; 정규(canonical) 네임에 대 주소들
         ; 정규(canonical) 네임에 대 주소들
         == 유용 도구 ==
         와우~ 수고하십니다. 이후에 유용 자료가 될듯.. ^^ - [임인택]
          그냥 필요거 일부분만 정리했구요. DNS개념이나 고급적인 부분은 직접 책을 보시는게 좋을거에요 ^^ --[곽세환]
  • HardcoreCppStudy/두번째숙제/CharacteristicOfOOP/김아영 . . . . 19 matches
         데이터 은닉이란 모듈이 그것이 갖는 기능들을 명세 인터페이스(interface)를 통해서만 접근되고, 그 기능을 구현하는 방법은 다른 모듈로부터 은닉되도록 하는 것을 말다. 캡슐화된 객체의 외부 인터페이스를 엄밀히 정의함으로써 독립적으로 작성된 모듈간의 상호 종속성을 극소화하여 캡슐화된 객체는 외부 인터페이스만을 통하여 접근될 수 있도록 다면, 세부적인 구현 상세 사항에 대해서는 객체내에 은닉시킬 수 있다. 또 캡슐화된 객체는 객체 구현내역을 변경, 혹은 향상시킬 때 이 객체를 사용하는 타 객체들을 변경하거나 다시 컴파일하지 않도록 할 수 있다. 또 모듈의 내부 구현 사항들이 외부의 접근으로부터 보호될 수 있음으로, 그 객체의 정당성을 보증할 수 있으며, 오류가 발생되었을 경우에 오류는 모듈내로 국지화될 수 있다.
         우리가 흔히 다루는 각각의 객체들은 서로의 관련되 영역을 사용할 수 있는 부분과 없는 부분이 있다. 이것은 별도로 접근이 가능 영역과 불가능 영역으로 나누어서 관리하기 때문이다. 이것을 바로 캡슐화라 다. 갭슐화는 바로 접근 가능 코드와 불가능 코드로 나눔으로 인해서 데이터나 특별 영역을 보호하거나 감추는 역활을 할 수 있다. 때문에 필요 경우 데이터의 접근 필드를 제함으로서 데이터를 보호하는 결과를 얻을 수 있다.
         상속이란, 기존에 만들어 놓은 객체들로 부터 모든 변수와 메소드를 물려 받아 새로운 객체를 만들 수 있다는 것을 뜻다. 즉, 새프로그램을 만들 때 기존의 자료를 이용해(상속받아) 새롭게 정의하여 사용면 된다는 것이다. 이로인해 부수적으로 프로그래밍의 노력이 줄고 시간 단축되며 그리고 OOP의 가장 중요 재사용성(Reusability) 얻을 수 있다. 델파이는 TObject라는 최상위 객체로부터 상속시켜 단계적으로 하위 객체들을 생성해 만들어진 구조를 지니고 있다.
         추상화란, 객체가 자신의 정보를 안에 감추고 있으면서 외부에 구체적인 것이 아닌 추상적인 내용만을 알려주는 것을 말다. 때문에 추상화란 정보의 은닉(Information Hiding)이라고도 다.
         객체지향 프로그래밍에서 다형성이란 근본적으로 상속에 뿌리를 두고 있다. 조상 클래스로부터 상속을 받아 새로운 객체들이 파생되어 생성된다. 이때 만약 새객체들이 모두 조상 클래스와 모두 동일 값만 가지고 있다면 새로운 객체로서 의미가 없다. 왜냐면 그것을 만드는 이유는 무언가 다른 역할을 하기 위해 생성하는 것이기 때문이다. 그래서 다형성이란 조상이되는 객체로부터 상속을 받아 다른 결과물을 산출해 낼때 다형성이라는 의미를 부여할 수 있게 된다.
  • PragmaticVersionControlWithCVS/CommonCVSCommands . . . . 19 matches
         cvs server 에서 sesame sesame2 2개의 모듈이나 하위 모듈을 하나이 상의 동일 이름의 지역 디렉토리로 가져옮
         저장소에 존재하는 하위 모듈의 디렉토리안에서 일부분만을 체크아웃다.
         '''-r''' : 특정 개발판을 체크아웃. 버전번호 혹은 꼬리표로 지정.
          CVS는 HEAD, BASE라는 2개의 꼬리표를 자동으로 제공다.
         update 도중에는 변경된 사항에 대 특이사항의 정보가 같이 출력된다.
         다음은 그러 예문이다.
         위와 같이 동일 옵션이지만 위치에 따라서 그 의미하는 바가 다른 결과가 나온다.
         '''cvs add''' : 파일이나 디렉토리를 저장소에 추가다.
          * 유닉스, 윈도우의 줄 구분문자를 구별다.
         하지만 바이너리의 경우에는 문제가 발생다.
         만약 바이너리 파일을 -kb옵션을 주지 않은 상태에서 add 시켰다면 이를 바꾸는 방법도 존재다.
         ''마땅 마이너리가 없어서 책의 내용을 이용''
         위와는 다르게 -kb설정을 하지 않은 상태에서 checkout을 이미 상태라면
         note) 바이너리를 자주 사용다면 cvswrappers 에 대해서 알아보자.
         [http://www.zeropage.org/pds/200584977/pragmatic_version_control_with_cvs.pdf BOOK] 책의 76페이지에 존재다.
         개발을 하는 도중에는 여러개의 중간 단계의 파일들(.obj, .class 등등)이 생성된다. 이런 파일은 굳지 CVS 저장소에 보관하는 것이 아니라 로컬에 저장해 두고 사용자가 필요할 때마다 새로 생성시키는 것이 옳은 일이다. 다행히 cvs 는 이러 일을 설정하는 것이 가능하다.
         이렇게 저장된 .cvsignore 를 저장소에 올려두면 그 저장소를 방문하는 모든 사용자들도 동일 무시 설정하에서 작업하는 것이 가능하다.
         cvs에서 파일, 디렉토리의 이름을 바꾸는 특별 옵션은 없다.
         방법은 단지 로컬 공간의 파일이름을 바꾸고 저장소내의 기존의 파일들을 삭제뒤 로컬공간의 이름이 바뀐 파일들을 저장소에 추가하는 방법뿐이다.
  • ProjectPrometheus/CookBook . . . . 19 matches
         ProjectPrometheus 중 나눌만 Tip 들이나 기타 코드 이디엄들 등등.
         === Python 에서의 글 사용 ===
         === servlet 에서 글 출력 ===
          "글 테스트..." +
         물리적인 모래시계가 없을 경우 사용할만 모래시계 소프트웨어
          단순하지만 매우 편리 타이머. 태스크 바에서 남은 시간을 확인 가능
         Python 에서는 urllib 와 httplib 를 이용다. Python document 의 httplib - examples 를 참조하면 GET 의 예와 POST 의 예가 나온다.
         Java 에서는 HttpURLConnection 을 이용다. 관련 코드는 http://www.javafaq.nu/tips/servlets/index.shtml 를 참조.
         === GET, POST 인자의 내용중 글을 받을때 주의 사항 ===
         getParameter 가 호출되기 전에 request의 인코딩이 세팅되어야 다. 현재 Prometheus의 Controller의 경우 service 의 명을 보고 각각의 서비스에게 실행 권을 넘기는데, 가장 처음에 request의 characterEncoding 을 세팅해야 다. 차후 JSP/Servlet 컨테이너들의 업그레이드 되어야 할 내용으로 생각됨 자세 내용은 http://javaservice.net/~java/bbs/read.cgi?m=appserver&b=engine&c=r_p&n=957572615 참고
         root 디렉토리는 <doc-dir> 태그부분을, port 는 <http port='____'> 부분을 수정다.
         resin 셋팅 & JDBC 접근 방법 방에 되었어여..~ -- PP 팀 일동
         ZeroPageServer 에 릴리즈 뒤 UnitTest 하기.
         build_zpLocal.xml ( .../Prometheus/bin 에 빌드하는 스크립트 ) 를 이용, 실행되는 위치와 관계없는 곳에 일단 컴파일을 하고, 테스트를 돌리게 다.
          * ["Ant"] 에서 ["JUnit"] 을 실행시키는 방법이 있다고 다. 추후 알아볼것.~!
         ["Ant"] 를 이용하면 된다. Ant 의 경우 컴파일 & 배포할때 수정된 화일만 덮어쓰기를 다. CVS & ["Ant"] 조합이면 해결이라 생각.
  • PyIde/SketchBook . . . . 19 matches
          * 몇몇 생각 - 소스코드에 대해 flat text 관점으로 보지 못하도록 강요다면, 구조적으로만 볼 수 있게끔 강요다면 어떤 일이 일어날까. 어떠 장점이 생기고 어떠 단점이 생길까.
          ''스몰토크 비슷 환경이 되지 않을까. 소스 코드의 구조적 뷰로는 LEO라는 훌륭 도구가 있다. 크누스교수의 Literate Programming을 가능케 해주지. 나는 SignatureSurvey를 지원해 주면 어떨까 다. --JuNe''
          ''계속 생각했던것이 '코드를 일반 Editor 의 문서로 보는 관점은 구조적이지 못하고 이는 필요없는 정보를 시야에 더 들어오게끔 강요다. 그래서 구조적으로 볼 수 있도록 해야 다.' 였는데, SignatureSurvey를 생각하면 정말 발상의 전환같다는 생각이 든다는. (코드를 Flat Text 문서를 보는 관점에서 특정정보를 삭제함으로서 새로운 정보를 얻어낸다는 점에서.) --[1002]''
          * search - Function 이동시 편리. 게다가 일반 텍스트 에디터에 비해 search 기능을 수행하는 비용이 작다. / 번, 그리고 바로 키워드 입력. (다른 녀석은? Ctrl+F , 키워드 입력, enter & enter. incremental search가 아닌 경우는 단계가 더 있게 된다.)
         하지만, 손가락 동선의 경우 - ctrl + O 를 누르고 바로 메소드 이동을 다. 일반 이동도 메소드 중간 이동은 CTRL +커서키. (이는 VIM 에서의 W, B) 위/아래는 커서키. 클래스로의 이동은 CTRL+SHIFT+T. Source Folding 도 주로 Outliner 에 의 네비게이팅을 이용다면 별로 쓸 일이 없다. 보통 의미를 두고 하는 행동들은 클래스나 메소드들 단위의 이동이므로, 그 밑의 구현 코드들에 대해 깊게 보지 않는다. (구현코드들에 대해 깊게 보는 경우가 생긴다면 십중팔구 Long Method 상황일것이다.)
         Python 으로 HTML Code Generator 를 작성하던중. 좀 무식 방법으로 진행했는데, 원하는 HTML 을 expected 에 고스란히 박아놓은 것이다. 이는 결과적으로 test code 를 네비게이팅 하기 어렵게 만들었고, 해당 Generating 되는 HTML 의 추상도도 상당히 낮게 된다. 화면에 보여야 할 HTML 데이터도 많아야 다. 이는 결국 내가 에디터 창을 최대로 놓게 만들더니, 더 나아가 에디터 창의 폰트 사이즈을 11에서 8정도로 줄이고 모니터를 앞당겨 보게끔 만들었다. (15인치 LCD 모니터여서 해상도가 최대 1024*768 임.) 해당 상황에 대해 사람이 맞추는 것이 좋을까, 또는 툴의 Viewing 이 도움을 줄 방법이 있을까, 또는 사람이 이를 문제상황으로 인식하고 프로그램 디자인을 바꾸게끔 하는것이 좋을까.
         또는... 그냥 사람이 툴을 바꿀것인가. -_-; (상황에 대 인식, 그리고 툴에 대 선택을 하는 주체는 결국 사람이다.)
  • Ruby/2011년스터디 . . . . 19 matches
          * 하나의 배열에 동일 자료형이 아닌 객체들이 포함될 수 있다.
          * 궁금
          * 코드블록 { ~~ } 을 객체처럼 넘길 수 있음. 혹은 yield함수가 호출다.
          * Proc객체와 lambda함수의 차이점(정확 차이점과 사용법)
          * 루비는 왜 이렇게 기능에 대 구현법이 많은거야?
          * 반복자를 이용하여 간단 코딩이 가능
          * 궁금
          * [김수경] - 셋 다 책이 있고, 다양 책을 볼 수 있어서 좋았다.
          * 궁금
          * 루비는 간편 반복자를 많이 제공다.
          * 궁금
          * 모듈을 이용하여 제된 다중상속을 구현할 수 있다.
          * 궁금
          * 루비는 매우 동적이기 때문에(실행중에도 메서드를 정의할 수 있다) 테스트 또 동적으로 이루어져야 다(프로그래밍 루비 26장 참고)
          * 궁금
          * 궁금
  • TugOfWar . . . . 19 matches
         사무실 야유회에서 줄다리기를 하기로 했다. 야유회에 참가 사람들을 두 편으로 공평하게 나눈다. 모든 사람들이 둘 중 편에 참여해야 하며, 두 편의 사람 수는 명이 넘게 차이가 나면 안 된다. 그리고 양 편에 속 사람들 체중의 총합 차를 최소으로 줄여야 다.
         각 케이스의 첫번째 줄에는 야유회에 참가 사람의 수인 n이 입력된다. 그리고 그 밑으로 n줄에 걸쳐서 야유회에 참가 사람의 체중이 입력된다. 이 값은 1 이상 450 이하의 정수이다. 야유회에 참가하는 사람의 수는 최대 100명이다.
         각 테스트 케이스마다 줄씩의 결과를 출력하며, 각 줄마다 두 개씩의 정수가 출력된다. 첫번째 수는 편에 속 사람들의 체중의 총합, 다른 수는 다른 편에 속 사람들의 체중의 총합이다. 이 두 값이 서로 다르면 작은 값을 먼저 출력다.
         두 개의 서로 다른 케이스에 대 결과는 빈 줄로 구분다.
         || [이승] || C || 오래. || [TugOfWar/이승] ||
         이런식의 문제 대략 어려운데;; - [이승]
          사람수를 고려안하고 했음. 낭패. ㅠ.ㅠㅋ - [이승]
  • UnitTest . . . . 19 matches
         해당 실행 기능이 제대로 돌아가는지를 테스트하는 코드. 보통 SE에서는 모듈단위의 테스트를 지칭다.
         ExtremeProgramming 에서는 TestFirstProgramming 을 다. TestFirstProgramming 에서는 해당 기능에 대 테스트 프로그램을 먼저 만들고, 실제 프로그래밍을 다.
         TestFirstProgramming 을 하게 되면 해당 프로그램을 작성해 나가는 과정이 UnitTest 작성중 남게 된다. 이는 일종의 WhiteBoxTesting 이 된다. 또, 해당 모듈이 제대로 돌아가는지에 대 결과도 체크하므로 BlackBoxTesting 의 역할을 다. 즉, ExtremeProgramming 에서의 UnitTest 는 두가지 테스트의 성격을 같이 포함하고 있다. (Gray Box Testing)
         보통 테스트 코드를 작성할때는 UnitTestFramework Library들을 이용다. 각 Language 별로 다양데, C++ 사용자는 ["CppUnit"], Java 는 ["JUnit"], Python 은 ["PyUnit"] 등을 이용할 수 있다. PyUnit 의 경우는 2.1부터 기본 모듈에 포함되어있다.
         SoftwareEngineering 에 있어서 UnitTest 는 '단위 모듈에 대 테스트' 이다. 즉, 해당 기능이 제대로 돌아감을 확인하는 테스트가 UnitTest 이다.
         우리는 실제로 프로그래밍을 하는 중간중간에 결과값을 출력해봄으로서 제대로 돌아감을 확인다. 이 또 UnitTest 라 할 수 있겠다. (단, Manual Test 로 분류해야 하겠다.) 올바른 결과값인지 확인하는 과정을 코드로서 만들어 넣는다면 이 테스트는 자동화시킬수 있을 것이다.
         C 에서의 UnitTest Code 작성시에는 assert 문으로 비슷 기능을 구현 할 수 있다.
         Q: 가지 의문나는 점이 있어서 , 사용자가 임의로 생성할 수 없는(예를들면 Socket과 같은 시스템이 생성해주는 데이타 타입) 데이타 형이 파라미터로 있을 때는 어떻게 테스트 하는 것이 좋을까요?
         A: Socket 이나 Database를 이용하는 경우에는 문제가 되겠죠. 그럴때 MockObjects를 이용하는 방법이 있었던걸로 기억하는데, 아직 실제로 제가 해보지는 않아서요. 대강 개념을 보면 MockObjects는 일종의 가짜 객체로 실제 객체가 하는 일을 시뮬레이션 해주는 객체입니다. 미리 MockObjects 를 셋팅을 해두고 해당 함수결과의 리턴 요구시에는 예측할 수 있는 데이터를 리턴하게끔 하는 것이지요. 나중에 본 프로그램에서 MockObjects들을 토대로 실제의 객체를 만든다.. 식의 개념으로 기억하고 있긴 데, 저의 경우는 공부만 하고 적용해본 적은 없습니다. --석천
         A: MockObjects가 최적입니다. Socket이나 Database Connection과 동일 인터페이스의 "가짜 객체"를 만들어 내는 겁니다. 그러면 Socket 에러 같은 것도 임의로 만들어 낼 수 있고, 전체 테스팅 시간도 훨씬 짧아집니다. 하지만 "진짜 객체"를 통 테스트도 중요합니다. 따라서, Socket 연결이 제대로 되는가 하는 정도만(최소도로) "진짜 객체"로 테스팅을 하고 나머지는 "가짜 객체"로 테스팅을 대체할 수 있습니다. 사실 이런 경우, MockObjects를 쓰지 않으면 Test Code Cycle을 통 개발은 거의 현실성이 없거나 매우 비효율적입니다. --김창준
  • naneunji/Diary . . . . 19 matches
          * pie 애덜이랑 놀러가기루 약속이 취소되서 아쉽긴 했지만..[[BR]] 비 내리는 거 보니깐,,,놀러 갔음 빗물에 떠내려가 죽었을꺼 같다..ㅡㅡ;;
          * 오늘 잡지를 읽다 보니.. 가슴에 "퍽!" 하구 찔리는 글이 있었다. [[BR]] 대충대충 일을 마감 후, 하는 말이 "이번에는 좀 그렇지만 다음에는 정말 제대로 번 해봐야겠다" . 그러나 다음에도 별 수 없이 그 말을 반복하게 된다는... 내가 지난 6개월 동안 했던 생각이 아닌가..-_-;;
          * zp 정모 : 6시반 - 간단 프로젝트 상황 발표 후 밥(-_-)을 먹었다. 술대신..
          * 과외를 하나 더 하기루 했다. 윤석이 동생..근데 과연 잘하는 짓일까...???[[BR]] 모아논 돈이 없는데 과외 하나루 생활하기란..정말 고달프다...개강하구 나선 밥값이 모자르지는 않을지 걱정됬는데..과외가 구해져서 다행이라는 생각이 든다,, 하지만 편으로는 시간표두 빡빡데.. 개강하구 나믄 이리저리 치여서 과외와 내 공부..둘 중 하나 혹은 둘 다를 제대루 하지 못하게 될까 걱정된다. 이미 그러 경험을 적이 있기 때문에..더더욱..[[BR]] 돈과 시간..이 둘 사이에서 균형을 잡기란 쉽지 않은 일 같다.
         올 때 타고온 새마을호 기차는..좀 비쌋지만 비싼 값을 듯..
         공부를 안 탓에 돈이 좀 아깝다는 생각이 들었지만.. 걍 경험이라구 생각했다;;
         DeleteMe) 난생 첨으로 본 것이나... 공부 안해 돈이 아깝다고 생각거나... 걍 경험이라고 생각거나... 전부 같은 상황이라는...;; (근데 진짜로 공부 안했다는 것은 나만의 경험일까..ㅜ.ㅜ 강의 끊어서 두번갔으니..;;) --["Wiz"]
         프로그래밍파티 첫날..생소 언어를 고르라구 했는데 내가 고른 python은 생각해보니..번은 본 언어였음.
         여러사람이 하나의 프로그램을 짠다는것..페어프로그래밍을 다는것..
         어느 쪽만 같이 하려는 맘을 가져서는 그런걸 하기가 힘들다는 걸 느꼈다..대화의 중요성을 생각해 봤는데
         보통 가지고 있는 자기 일만 "묵묵히" 열심히 하면 된다는 생각은 수정되어야 할 것 같다. 같이 일다는게 어렵다는 생각이 드는걸 보면 .. 나두 열려있는 사람은 아닌거 같다...흠..;;
         자기소개서를 쓴다는게 진짜 힘든일인거 같다. 꼭 할말이 없어서라기보담..나를 표현하는데 미숙듯..나를 표현하는데 있어서좀 더 자신감을 가져야쥐..(아는 오빠는 취직하기위해 자기소개서를 4000자 쓴다든데..a4용지 면은 몇자정도 될까??)
  • 데블스캠프/2013 . . . . 19 matches
          * 세션 배분 : 하루에 3~4개 / 세션당 2~3시간
          || 1 |||| [Opening] |||| [새내기의,새내기에의,새내기를위C언어] |||| [http://zeropage.org/seminar/91465#0, GUI 다뤄보기] |||| |||| [Clean Code with Pair Programming] |||| OOP || 8 ||
          || 2 |||| [http://zeropage.org/seminar/91479#0 페이스북 게임 기획] |||| [새내기의,새내기에의,새내기를위C언어] |||| [http://zeropage.org/seminar/91465#0, GUI 다뤄보기] |||| |||| [Clean Code with Pair Programming] |||| OOP || 9 ||
          || 3 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [새내기의,새내기에의,새내기를위C언어] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용 웹 서버 만들기] |||| |||| [Clean Code with Pair Programming] |||| [:WebKitGTK WebKitGTK+] || 10 ||
          || 4 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [http://zeropage.org/seminar/91448 로우레벨로 보는 Physical MAC Cross Layer] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용 웹 서버 만들기] |||| |||| [진격의안드로이드&Java] |||| [:WebKitGTK WebKitGTK+] || 11 ||
          || 5 |||| [http://intra.zeropage.org:4000/DevilsCamp Git] |||| [http://zeropage.org/seminar/91448 로우레벨로 보는 Physical MAC Cross Layer] |||| [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용 웹 서버 만들기] |||| |||| [진격의안드로이드&Java] |||| 밥 or 야식시간! || 12 ||
          || 8 |||| ns-3 네트워크 시뮬레이터 소개 |||| [:데블스캠프2013/둘째날/API PHP + MySQL] |||| [http://zeropage.org/index.php?mid=seminar&document_srl=91554 Machine Learning] |||| |||| [MVC와 Observer 패턴을 이용 UI 프로그래밍] |||| [아듀 데블스캠프 2013] || 3 ||
          || 9 |||| [개발업계 이야기] |||| [:데블스캠프2013/둘째날/API PHP + MySQL] |||| [http://zeropage.org/index.php?mid=seminar&document_srl=91554 Machine Learning] |||| |||| MVC와 Observer 패턴을 이용 UI 프로그래밍 |||| [아듀 데블스캠프 2013] || 4 ||
         || 김민재(22기) || 새내기의, 새내기에 의, 새내기를 위 C언어 ||
         || 서민관(19기) || [http://zeropage.org/devils/91470#0, HTTP 프로토콜, C언어를 이용 웹 서버 만들기] ||
         || 이승(14기) || [진격의안드로이드&Java] ||
         || 정의정(21기) || MVC와 Observer 패턴을 이용 UI 프로그래밍 ||
          * 데블스캠프 준비와 진행을 위 페이지 [데블스캠프/2013/조언]
          * 시간 나면 제 클린코드 페이지에 답변좀 부탁해요.. 클린코드 스터디 페이지로는 정확 참가자를 모르겠어서... - [지원]
  • 데블스캠프2009/수요일후기 . . . . 19 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나 둘 다 팀 프로젝트용으로는 정말 좋은 기능이라고 생각합니다. 정말 뭐라고 더 칭찬을 해야 할 지 말이 안 나올 정도로 마음에 들었어요. 방에 제대로 프로그램을 못 짜는 저테는 메인 함수 없이도 버그 수정이 가능하다는 건 정말 고마운 기능이죠.
          * [송지원] - 사실 너무 아쉬웠다. JUnitTest를 위해 예로 제시 계산기 클래스도 함수 하나 정도밖에 테스트 해볼 수 없는 이상 설계의 클래스였다(너무 OOP 다음수업이라 캡슐화에만 신경을 썼던듯). 마디로 Java도, JUnit도 맛보기만 해준 꼴이 된것 같다. 하지만 '''JUnit은 확실히 강 라이브러리다'''. 내가 몸소 느끼고 자발적으로 세미나 이유도 그렇다. 내 세미나는 즈질이였지만 많은 1,2학년 학우들이 Java로 개발을 진행할 때 도움이 되었으면 다.
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/김동준 . . . . 19 matches
          // Data에 대 학습 시행
          else { this.sectionWord.put(wordTmp, this.sectionWord.get(wordTmp)+1); } // 있는경우 자신의 것에 갯수를 개 더 추가
          //자기 Section 이 아닌 내용을 Calculate 하는 함수. Index 에 반응하며 수행시 초기화 후 계산다.
          //해당 단어에 대 자기 Section 이 아닌 단어수를 Calculate 하는 함수. Index 에 대응하며 수행시 초기화 후 계산다.
          //해당 기사에 대 연산 결과를 반환하는 함수. 양수일 경우 해당 Index Section 에 일치하는 기사로 판단 것이며, 음수일 경우 해당 Index Section 에 일치하지 않는 기사라고 판단 것이다.
          // Ln[p(S) / p(!S)] 값을 계산하는 함수. Index 에 대응다.
          // Sigma Ln[p(Wi ^ S) / p(Wi ^ !S)] 값을 계산하는 함수. Index 에 대응다. 단 특정 단어에 대 Advantage 를 부과다. (Advantage 함수 참조)
          // 특정 단어에 대 Advantage 부과함수. 해당 Index Section 에만 존재하는 단어일때 빈도에 따른 가산점을 부여다. 가산은 해당단어수 / Section 전체기사수 * 50 이다.
          // 해당 File 변수에 대 Index Section 과의 매치율을 보여주는 함수. 맞은 것과 틀린것, 그리고 그 것에 대 판단 확률을 반환다.
         각 단어중 특별 단어에 Advantage 를 부과했는데, 단어가 해당 Section 에 Unique 하고 그 빈도가 클수록 Advantage를 크게 부과했습니다. (하지만 이도 분석 Section에 상대적입니다.)
  • 문제풀이게시판 . . . . 19 matches
          * 참여 유도와 여러 사람들의 문제풀이 경쟁의식을 통 실력향상 및 지식보존/공유/전파를 위해 문제풀이 게시판을 제작
          * 목적은 프로그램의 실력향상과 흥미유도로 다.
          * 몇단계의 레벨을 나누어 레벨이 올라갈 수록 문제 수준이 올라가게끔 문제를 제작다. 문제풀이자는 자신의 레벨에 맞는 문제에 도전을 하여 게시판에 소스를 올려 정답 여부를 판단다.
          * 문제 제시는 ZeroPagers 중 아무나 해도 좋다. (단, 레벨에 대 조절은 강제로 받을 수 있음)
          * 각 레벨에는 그에 필요 프로그램 관련 지식을 제시해도 좋다.
          * 언어 등의 제은 없으며 자신이 하고싶은 스타일로 문제를 풀어나가면 된다. see also ["제로페이지의장점"]
         문제풀이에 어려움을 느끼는 사람과 직접 PairProgramming을 해준다. 도우미는 "문제풀이도우미시장"이라는 위키 페이지를 유지 관리하면서 요청이 들어오면 가능 빨리 그 사람과 Xper:RemotePairProgramming 혹은 실제 PP를 해서 도움을 준다. 문제를 풀 직접적 지식을 전달하는 것보다 어떤 문제건 풀 수 있는 효과적/효율적 과정을 경험케 해주는 것이 우선이라는 점을 명심다.
         문제풀이도우미시장에는 자신이 사용할 수 있는 빈 시간대를 기록다. 예컨대, 이번 주 금요일 오후 3시에서 7시까지 시간이 빈다면 도우미시장에 자신의 이름과 메신저 등의 연락처와 함께 가능시간대를 기록해 둔다. 또, 도우미를 요청하는 사람 역시 같은 방식으로 자신이 원하는 시간대를 적어둔다. 그러면 짝이 맞는 사람끼리 PP를 하고, 해당 항목을 지운다.
          어떤 문제이건 도움이 되는 탁월 명저.
         || 00 || 임인택 || 문제제시, 간단 도움 (혹은 PP) ||
          음... 해커즈랩에 있는 lecture 랑 비슷 의미가 될꺼 같네요... 조금은 비슷할꺼에요^^;
          * 이름을 정해야 할것 같군요... 그리고.. 게시판이라기 보다..... 하여튼... 빠른 시일 내에 회의 번 합시다~! --["상규"]
          - StepForwardByStep 이건 너무 이상가.. -_- - ["임인택"]
          * 게시판 제작에 도움이 달라는 부탁을 받았는데요. 전에 상규가 지금 제작하고 있는 게시판을 약간 수정하면 된다고 하던데.. 어떻게 되는지 궁금하군요. 만약에 게시판만들기가 진행되지 않고있다면 간단 게시판을 만들어보려고 하는데요. (정말 간단하게 -_- ). 여러분들의 의견 부탁드립니다~ - [임인택]
          * 프로젝트를 위 모임을 해야할텐데.. 언제 번 모였으면 하는데요.. --[상규]
  • 새싹교실/2011/무전취식/레벨2 . . . . 19 matches
         860점 목표인데 못넘을것 같다. 나중에 번 해보세요 Toeic
         강원석 : 수요일 선형대 수업 땡땡이. -Why ? 그냥. 정치와 사회수업은 같이 듣는애들이 정치학과 애들인데 드랍준비. 드랍이유 : 여자팀원이 없다. 주말에 근처도서관을 갔는데. 선형대수학 시험준비하러갔습니다. 시험시간에 늦게 들어가서 문제 못풀었어요. 근데 3문제 ㅠㅠ. 대출하다가 걸린놈 불쌍. 교수님 탐정임. 선배들도 그런교수 첨본다능. 그리고 봉봉수업은 정말 못듣겠다. - All 동감 - 창설은 신난다. NXT짱 좋아요 ㅋㅋㅋ
         이소라 : 수요일날 선린 재수하는 친구 만남. 밥먹고 빵먹고 커피먹고 얘기함. 6시부터 10시까지. 공부하기 싫다는 친구. 선전 MT 선전송했음. 2등했음~~~ 여학우 2명이라 ㅋㅋ 'ㅅ'//// 선배님들 왔는데 06들 왔다. 주요, 임지현, 이태양, 박진용 술게임 했는데 11은 명도 안죽음 ㅋㅋㅋㅋㅋ 근데 06 오빠들은 서로 싸우고 술로 죽임 ㅋㅋㅋ 어제 진영이가 나 버렸음 ㅠㅠ 숙제하러 6피 갔는데 숙제를 30분 안했는데 숏다리 최연호 오빠가 밥사준다고 해서 나갔음. 성진이랑 근데 술먹음. 먹고 또 2차감. 2차에서 치소맥 먹음. 집에가서 취중 선대 과제했음ㅋㅋ. 잘안됨. 다 못했음 ㅠㅠ
         이진영 : 집부 MT. 가기전날 소라가 안간다 땡강부림 ㅠㅠ 그래서 나도 안갈려했는데 소라가 그냥 집나왔음 ㅋㅋㅋㅋㅋㅋㅋㅋ 선전MT갔는데 남자애들은 축구만했고 우린 골기퍼만 함=ㅂ= 짜증남. 근데 소라가 자책골 넣음 ㅋㅋㅋㅋㅋ 진영이는 2점땀. 'ㅅ'// 참잘했어요. 피구할려했는데 안하고 심심해서 기총가서 놀음. 기총애들 얼음땡하고 무궁화꽃이 하고 피구하고 거긴 너무 재미었음. 선전송하는데 선배가 작년에 술먹고 죽어서 못 선배(하현수)임. 근데 1등했음. ㅋㅋㅋㅋㅋ 전철에서 타고있었는데 옆에 아줌마테 기대잠. 포근했음. ㅋㅋ 어제 학교 안왔음. 아파서. 학교안오니까 신남. 빨리 방학하쟈~~~~~~
          * 간단 Array에대 소개. 다음시간에 더 자세히 말해주겠습니다. int {{{a[10];}}}
          * 0과 1은 컴퓨터에서 주요 소통 언어이다.
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 여기다 이렇게 쓰면됩니다. 오늘은 수업 두번째날 진경이는 멘토때문에 못오고 나는 머리를 이상하게 잘랐지. 시작하기전 기분은 안좋았지만 게속 말하다 보니까 내 기분이 좋아지긴 하더라. 새싹 수강생들이 있어서 기분이 좀 나아진것 같다. 너희들에게 밥먹이는 돈은 아깝지 않다!!! 뭐.. 이제부터 힘든것을 가르키기 시작 날이었고 복습은 하기 힘들겠지만. 다음시간에 복습을 하고 나가니 꼭 참고해주도록 다음시간에는 간식을 우적우적 하면서 합니다. - [김준석]
          * 형 머리는 너무 신경쓰지 마세요....(;;;) 근데 왠지 수업보다 롤과 폴짝폴짝들이 머리속에 남는것같은 이기분은 뭘까요 ;; . 이번주에 것도 복습조금~~(?) 하고 예습도 조금~~(?) 해서 C언어에 대해서 좀더 빨리 배워보고 싶네요 ㅠ 다음주에는 또 뭘할까요.. 내일 봉봉수업시간인데 내일은 뭘할까요.. 노트북가져가서 왠지 피카츄배구만 안하면 될거같은데.. 우걱우걱 - [강원석]
          * 고맙다 내 머리가 이상건 근데 기정 사실이라 이건 어쩔수가 없고. 봉봉수업은 째는게 답 ㅋㅋㅋ - [김준석]
          * 크크크 이해하지 못걸 궁금해다는건 다음에 큰 도움이 되지. 다음시간에 도 복습하고 들어갈꺼야. 좀 졸렸지 ㅠㅠ? 미안해 원래 이부분에서 다 졸더라구. 담시간에는 뭐좀 또 먹으면서 졸음을 쫓아내며 하자 ㅋ -[김준석]
          * 죄송해요...ㅠ_ㅠ 컴퓨터할수있는상황이안되서 지금써여 으앙 ㅠㅠ 일단 공대 팀플실 짱좋았어요 ㅋㅋㅋㅋ컴터만있었으면 공강시간에 신청해서 가있었을지도.... 이걸 노리는 애들이 많아서 컴퓨터를 안놓았나봐요..그리고, if문, while문등등 제어문 배웠어요!! 오랫동안 안해서 가물가물했던 부분인데 수업하기전에배워서 다행이에요 흐히. 정말 도움이되는거같아용♡ 롤 맛있었어요!!!!!!! 롤먹을때 그.... 수수께끼..? 수수께끼입니까 ㅠㅠ? 하여튼..그거 재밌었어요 ㅋㅋㅋㅋㅋㅋㅋㅋ아 알아가는재미 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ - [이소라]
          - 이거 번만 봐주셈.
  • 새싹교실/2011/무전취식/레벨3 . . . . 19 matches
         김준석 : 5일간 연속으로 술마셨고. 총MT를 가서 2시간 만에 죽었어. 다른과 교수님이랑 술마셨어. 경영과. 만우절날. 교회를 간만에 가서 잤어. 모교 고등학교 갔음. 추억이 새록새록것을 느낄수 있었어. 집에가서 백숙을 만들어먹었다. 그러고 자고 머리를 번 세워봤다. 그냥 볼만했다. 그러고 숙제로 밤을 새다가 화요일이 됬어.
         이소라 : 만우절에 교복을 입었다. 그러고 고등학교를 갔다. 그러고 친구들만났고 고딩 수업을 들었어요. 애들 수업중에 돌아다녔더니 선생님이 잡아서 교실에 집어넣고 공부를 어떻게 했는지 애들에게 말을 해달라 했다. 저말고 여러명간 애들이 '지금은 놀아라. 100일이 되야 똥줄이 타서 공부를 하지'라고 했다. 그리고 애들은 다 서성 이상을 간다고 예상하는데 깨주고 왔다. 이게 금요일이였고 선대 수업을 빼먹고 간거였어요. ㅊㅋㅊㅋㅊㅋㅊㅋㅊㅋㅊㅋㅊㅋㅊㅋㅊㅋㅊㅋㅊㅋㅊ 교실에 갔더니 여자애들만 교복이었어요. 토요일에 친구랑 영화 '그대를 사랑합니다'봤습니다. 슬펐습니다. 엉엉 ㅠㅠ 토요일에 고등학교친구랑 저희동네에서 먼데 봤어요. 어떤 음식점에 들어갔는데 따른 고등학교 친구가 또 들어와서 서프라이징!!!! 근데 별로 안친함. 아빠랑 그날 술먹음. 아빠가 엄청많이 취하고 나도 취했음. ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
         이진영 : 오늘 아침에 일어났는데 오늘이 토요일인줄 알았음 ㅠ.ㅠ 꿈꿔서. 근데 엄마테 신난다고 얘기했더니 엄마가 의아해함 . 토요일이라고 밥먹고 놀고있었는데 엄마가 화요일이라고 내 꿈을 깼다 ㅠ.ㅠ 만우절날 교복을 입고 베스킨에 갔는데 소라가 거기 있던 사람들이 '얘넨 진짜 고딩인가봐'라고해서 기분이 좋았다. 일요일에 과외를 시작했어요.(초딩이 고1을 가르친다) 그때 어머니가 오셔서 5만원 추가금액을 줌. 통장이 꽉차서 좋음 ㅠㅠ ~~~! 그리고 선대하는 시간에 과외공부해서 난감해용 ㅠ.ㅠ 그리고 토요일에 처음으로 고진감래 주란걸 먹어봤는데?? 맥주잔에 소주잔을 넣고 콜라를 넣어요. 그리고 또 소주잔을 넣고 소주를 넣어요 그리고 맥주를 맥주잖에 넣으면. 참 쉽죠? 그리고 흔들면 거품이 섞이면서 맛이나는데 첨은 쓰다가 뒤에 콜라맛덕택에 달아서 고진감래 주임. 그리고 그거먹고 빙글빙글@_@ 얼굴이 터질것 같았다. 심장이 배에서도 뛰고 귀에서도 뛰었어요@_@_@///
         서원태 : 총 MT갈려고 했는데 선발 가기 싫어서 후발대 신청했는데 가기 하루전에 누구테 감기를 옮아서 취소함. ㅠ.ㅠ 숙제하다가 잠. 그리고 월요일날 창의적 설계 남자고 해서 남아서 하는데 생각보다 너무 오래걸려서 숙제 못하고 저녁 안먹고 막차 놓칠뻔 재난을 겪었다 ㅠㅠ 술도 안먹었는데 그렇게 오래남은건 첨임.
         정진경 : 4월 기숙사 식권이 들어와서 아침을 드디어 먹을수 있게 됬음. 그리고 MT못갔는데 집에가서 엄마랑 쇼핑해서 옷삼(자랑질) 멘토 하는거 없슴=ㅂ= 제길. 오늘 아침에 파일서버 글이 깨져서 고치다가 서버가 다 날아감. 내 소녀시대 600G ㅠㅠ (원석 : 난 1TB)
          * 간단 Array에대 소개. 다음시간에 더 자세히 말해주겠습니다. int {{{a[10];}}}
          * unsinged int와 int의 차이점? 표현 범위가 어디서부터 어디까지? WHY??? 다시번 생각해봅시다.
          * 0과 1은 컴퓨터에서 주요 소통 언어이다.
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 후기는 이렇게 쓰면됩니다. 오늘은 2주차의 복습. 중요하고 중요하기 때문에 다시 복습하는거야~~ 왜냐하면 여기를 모르고서는 코딩을 할수 없거든. 2주차를 다시 확인해주면 좋겠어~! [새싹교실/2011/무전취식/레벨2] 그렇고.. 흠흠. 다음에는 이렇게 강의 시간을 줄이는 일은 없을꺼야. 복습을 하니까 어떤지가 젤 궁금데 어떠니? 잘 배우고 있는것 같아? - [김준석]
          * 이번 주 수업은 짧았습니다 약 시간정도ㅎㅎ 제가 모르는것을 되짚어 주셔서 감사했어요 이히히 근데 숙제안해갈뻔 했네여..ㅋㅋㅋㅋ까먹고 있었어요 앞으로 위키를 자주 확인 해야겠습니당.ㅇ...C공부를 더 하기 위해 C언어 입문서를 오늘구입했습니당...ㅎㅎ 잘해지고 싶어욧~! -[이진영]
          * 복습을 했습니다 오늘은 시간밖에 수업을 하지않았네요 ㅠㅠ 오빠도 일이있으셨고 저도 창설 팀플을 하기위해 갔지용..ㅠㅠ 오늘은 아이스브레이킹이 젤로 재밌었어요ㅋㅋㅋㅋㅋ 사실 진짜 별로 게 없었던 주였는데... 생각도안났고 ㅋㅋㅋㅋㅋㅋㅋ 쓰다보니 젤 많이 썻어요ㅋㅋㅋ 복습은 정말 중요 것 같습니당☞☜ 배열도 잠깐 맛보기했었는데 배열 정말 못해요!!!ㅋㅋ 배열 빨리 들어가서 정확하게 알고 쓸 수 있었음 좋겠습니당ㅎ_ㅎ!!!!! -[이소라]
          - 수업시간에 Exercise를 모두 풀어오세요 다음시간은 실습시간입니다.
  • 새싹교실/2012/개차반 . . . . 19 matches
          * High-level의 programming skill보단 low-level의 HW적인 구조를 설명하여 low-level에서 접근하는 독특(...) 코딩 스타일 전수
          * binary digit를 비롯 컴퓨터 시스템의 기초적인 개념 또 설명
          * High-Level 언어를 Low-Level 언어로 변환해주는 역할을
          * 이미 존재하는 함수를 가져다 쓰려 할 때 헤더파일을 불러와서 사용
          * 변수의 이름은 반드시 문자나 underscore (_) 로 시작해야
          * 변수의 이름은 대소문자를 구분
          * 변수에 저장할 수 있는 값보다 더 큰 값이 저장되었을 때 발생
          * 입력 것과 전혀 다른 값이 생겨나게 된다
          * 특정 기능을 수행하기 위 알림으로써 \ (back slash) 로 표시
          * int의 표현 범위=4byte=32bit=2^32 에서 맨 앞자리 0을 제외 나머지가 사용되므로 -2^31 ~ 2^31-1 개의 숫자를 표현할 수 있다
          * scanf의 & : 입력받는 값을 &뒤에 위치 변수에 저장하기 위해 메모리에 존재하는 변수의 위치를 알리는 역할을
          * 자신이 지정하는 문자열에 특정 값 등을 지정해두고 사용할 수 있다
          * 특정 수를 입력받고 and operator를 이용하여 그 수 보다 작은 짝수 중 가장 큰 짝수를 출력하라(scanf, printf 이용)
          * a와 b의 비트를 비교하여 서로 다르면 0, 서로 같다면 1로 표현
          * a와 b의 비트를 비교하여 하나라도 1이라면 1로 표현
          * a와 b의 비트를 비교하여 서로 다르다면 1, 서로 같다면 0으로 표현
  • 스터디그룹패턴언어 . . . . 19 matches
         우리는 평생 배워야다. 학습하고 자라기 위해서 우리는 수업을 듣고 선생에게 상담을 받으며 기사와 책을 읽거나 동료와 친구들로 부터 도움을 구다. 우리가 사용 가능 많은 학습 방법 중에 가장 훌륭 것들 중 하나가 스터디 그룹이다.
         스터디 그룹은 어려운 책을 이해하기 쉽게 해준다. 불만족스러운 수업이 실패하는 반면 스터디 그룹은 성공할 수 있다. 그리고 환경이 지속적으로 배우고 자라는 것을 받쳐주지 못다해도 스터디 그룹은 당신을 뒷받침 해줄 수 있다.
         스터디 그룹은 대화에 참여해서 고전의 본문 같이 쉽지 않은 어떤 주제에 대 이해를 증진시키기 위해 정기적으로 모이는 개인의 집합이다.
         기념비적인 책, ''A Pattern Language'' 와 ''A Timeless Way Of Building''에서 크리스토퍼 알렉산더와 그의 동료들이 패턴언어에 대 아이디어를 세상에 소개했다. 패턴언어는 어떤 주제에 대해 포괄적인 방안을 제공하는, 중요 관련 아이디어의 실질적인 네트워크이다. 그러나 패턴언어가 포괄적이긴 하지만, 전문가를 위해 작성되지 않았다. 패턴은 개개인의 독특 방식으로 양질의 성과를 얻을 수 있도록 힘을 줌으로서 전문적 해법을 비전문가에게 전해준다.
         본 패턴언어는 사람들이 스터디 그룹을 만들거나 개선하는 걸 돕기 위 것이다.
         어떤 주제에 대해 위대 지식의 원천을 식별해낸 다음, 해당 주제에 대 공부를 하기에 바람직하고 지성적으로 안전 환경을 만들도록 다.
          * [안전장소패턴](SafePlacePattern)
         커리프스키의 유명 글. 스터디 그룹 패턴에 대 정리. 꽤 유명 문서; 퍼진지도 좀 되었지만. 요약을 하면서 좋은 스터디그룹 방법에 대해서 정리를 해볼까 생각(번역까진 아니고, 그냥 읽으면서 정리하기). 앞으로 ZeroPage 에서 어떠 스타일로 실천이 될지 모르겠지만.
  • 정모/2006.12.16 . . . . 19 matches
          * 상섭 - 애매 모호 용어를 정리해 보자.
          * 창섭 - 회원 정리를 하기 위해서는 기수가 있어야 정리 대상을 명확히 할 수 있다. 또 기수가 같이 들어온 사람들의 유대감을 만들어 줄 수 있다. 때문에 앞으로 기수가 매겨져야 다.
          * 정현 - 실력차이와 기수는 무관데 구지 기수를 매겨야 할 필요가 있는가. 괜히 기수를 매겨서 문제를 만들지 않을까?
          * 기웅 - 4학년이 다고 해도 기록을 하는 방법을 찾거나 다른 방법도 있을 것 같다.
          * 정현 - 회장의 제을 없애도 될 것 같다.
          * 상욱 - 회장이 되는 사람은 열정이 뛰어난 사람이어야 할것이라고 생각다.
          * 창섭 - 회장을 뽑을때 회장단도 같이 뽑아야 다.
          * 창섭 - 회장이 지목을 할 경우에는 회장단의 책임이 떨어질 수 있다. 역활 분담을 명확히 해야 다.
          * 상섭 - 진행을 하면서 필요 역활을 정해 나가는 것이 나을 것 같다.
          * 기웅 - 꺼번에 다 뽑는 것 보다는 그때그때 정하는 것도 좋을 것 같다.
          * 창섭 - 추천인 제도를 다면 다른 사람들이 후보를 접할 기회가 늘어날 것 같다.
          * 재선 - 그 사람에 대 이미지는 이미 있기때문에 유예기간을 두는 것은 괜 소비가 될 것 같다.
          * 창섭 - 학회 내의 모든 사람이 후보자를 아는 것은 아니고, 공약을 검토할 기간이 되기도 다.
          * 상섭 - 소모임을 만들어서 소모임의 장에게 그에 맞는 권력과 의무를 부여다.
          * 기웅 - 프로젝트 풀에서 강제적으로 부여하면 좋은 결과물이 나오기 힘들기 때문에 적당 보상을 해주자.
          * 창섭 - 필요 프로그램, 기타 프로그램 두개의 풀을 만들자.
          * 기웅 - 프로젝트 기안서를 쓰자. (프로젝트 목적, 결과물, 가능 세미나 등) 1페이지 이상.
  • 정모/2007.4.3 . . . . 19 matches
         김동준 - 김동준, 김효석, 원대
         송수생 - 주희주, 최창원, 조영선, 도용, 정현준, 장은하, 최재용
         변형진 - 김옥경, 권민승, 서지혜, 박주현, 김미정, 이민재, 곽병학, 임
          * 2차 세미나 : 시험전에 번 실시할 예정입니다.
          - 분과장이 자신의 분과에 가입된 사람들에게 어떠어떠 프로젝트를 시작할 예정
          - 장점 : 분과에서 중점적으로 가지 프로젝트를 진행하므로 프로젝트가 끝에
         제도를 다는 것은 오버헤드가 발생해서 비 효율적이 될것같습니다. 차라리 위키를 통
          - 회장말씀 : 이 문제에 관해서는 많은 생각이 필요거 같습니다. 일주일간 각자
          * 궂이 회원 강등제도가 필요가?
         은 지식을 후배들에게 전달하는 것 또 중요 의무입니다. 자신에게 이익이 되는 세미나
         는다면 회원으로서의 자격이 없습니다. 따라서 어느정도 정리는 해야 다고 생각합니다.
          * 07학번을 대상으로 포인트제도 (출석, 세미나 참여도, 등등...)
          * 재학생을 대상으로 포인트제도
         인트를 주고 나중에 PM이 할당된 포인트를 프로젝트 기여도에 따라 배분다.)
          칠피관리 = 컴퓨터대당 2점
          => 현재 홈페이지에 글 게제시 1점씩 플러스 되므로 위에 정 점수에는 *10을 해
  • 정모/2012.5.14 . . . . 19 matches
          * [이진규]학우의 ''글''
          * 현재 진행되는 프로젝트나 스터디의 위키 페이지가 있고(활동 증거), 신청 사람이 이번주 정모에 참여했다면 바로 신청해주세요!(다과비로는 지원이 안됩니다..ㅠㅠ)
          * 돌아가면서 관리다.
          * 메뉴얼을 작성해 보고 다.
          * 있는 사람들이 번씩 체크
          * 상시로 관리하고 체크하는데, 많이 체크사람에게 소정의 보상
          * SICP 책으로 스터디 혼자 시작할 생각입니다. 공부할 언어는 아마도 scheme이 될 것이고 할 사람은 오든지 말든지 흥. 공부하고 싶은 다른 언어가 있다면 모여서 자기 공부를 하는 것도 좋겠네요. 요즘 스터디를 하기가 조금 빠듯 상황이라 모여서 각자 공부하고 회고겸 알게된 것 10분안에 가르쳐주기 정도(적게도 많게도 아니고)...? - [서지혜]
          * 사실.. 이번 정모 초반에 졸았습니다. 피곤지네요. 죄송. 진규의 OMS할 때 좀 졸다 듣다 졸다 듣다 졸다 듣다 졸다 듣다의 반복이었.. ZP지원금이 들어와서 좋네요. 이제 좀 돈이 있으니까 학회실도 좀 더 꾸미고 하고 싶네요. 사실 일요일에 칠판 하나 박으면서 이걸 해야 되나 말아야 되나... 라고 생각했었... 학회실에 프린터도 생기고 좋네요. 소파도 구입하고 싶은데 -_-ㅋ 그리고 피시실 관리에 대해서 말이 많이 나왔는데,, 뭐랄까.. 저도 가끔 가서 정리하고 하긴 하는데 사실 번 봉인하고 다 뒤집어 엎고 싶긴 하지만 방학때로 미루기로 하죠-,, 아.. 또 졸리네요.. 만성피로인가.. 여튼 학회실에서 자유로운 대화가 이루어질 수 있어 좋았던 정모였습니다.... -[권순의]
          * 진규의 글 관련 OMS가 상당히 흥미로웠습니다. 역시 오픈 소스 관련으로 알게 된 것 같은데 오픈 소스 쪽은 정말 다양 화제를 다루는 것 같군요 -_-;; 저도 처음에 우분투 깔고 글 관련으로 고생했던 기억이 있네요 ;; 진규가 말했던 마지막 문자가 제대로 안 찍히거나 받침이 이상하거나 하는 등의 문제가 있었습니다. 그리고 다음으로 제일 신경이 쓰이는 부분은 PC실 관리였습니다. 사실 제가 이렇다 하게 PC실 관리쪽에서 뭘 게 없어서 가슴이 뜨끔해서 그런 것 같습니다. 슬프네요 ;; 그렇다고 또 그냥 가볍게 넘어가기도 어려운 주제일 것 같아서 앞으로 어떻게 진행될지 궁금합니다. 사실 이거저거 이전에 저도 먼저 손을 뻗어야 할텐데 말이죠. - [서민관]
          * 조금 늦어서 중간부터 들었지만 OMS 재미있게 들었습니다. 키보드 할 때 들어와서 키보드에 대 이야기인가 했더니 글에 대 발표였네요. 사실 저는 Windows를 항상 주로 사용해왔기 때문에 글 사용 관련하여 크게 불편함을 느낀 적은 없었는데 이번 OMS를 들으며 다양 언어를 지원하기 위해 고려해야하는 점에 대해 생각해보게 됐습니다. PC실 관리는 사용하는 사람들이 불편할 때 학회실로 오게 하는 것이 좋다고 생각합니다. 그게 관리하는 쪽에서도, PC실 이용하는 쪽에서도 편 방법이죠. - [김수경]
  • 제로페이지회칙만들기 . . . . 19 matches
          * 회칙이 될만것 들
          * ["정모"] 날짜 : 매월 18일으로 다. or 매월 셋째주 화요일 7~9시에 다.
          * ["회원자격"] : 사전 연락 없거나(게시판 or 위키 공지), 현재 납득할 사정(학부생 아닌 경우,휴학)이 없이 2회 연속 정모에 불참시.본인 의사로 회원 자격을 상실다.
          이전 ZeroPage의 회칙이 있다고 알고 있습니다. 구해서 참고다면 좋을텐데요. --이덕준
         ["neocoin"]:광식아 내가 18일을 말건 이번달은 18일이 적당해서 건데, 간담회가 있으니 제대로 안될것 같은데? 그리고 말씀대로 하는것이 좋을것 같은데요. 현재는 주중에 하는것이 더 좋을것 같네요. 정모의 내용은 물론, 요일로 하는것이 더 적당것 같은데, 월화수목금토일 중 화요일 7시~9시 정도? --상민[[BR]]
          DeleteMe) 저도 그냥 예를 들어서 18일이라고 거지 특별 의민 없었습니다. -광식[[BR]]
          DeleteMe) 좋와해서 그렇기보다 다른 사람들의 일정에서 화요일이 빠질 확률이 많다고 생각해서 이지, 보통 월요일은 주의 시작이라 약속 잡는 경우가 많고, 수요일의 경우 주의 중간, 금요일이야 말할 것도 없고, 토,일을 뺀다면, 화, 목인데, 앞쪽이 좋은것 같아서, 그리고 과거에 다른 집부와 요일이 겹치는걸 많이 신경썼는데, 생각해보니 그럴 필요는 없다고 생각다. --상민
         회칙을 정할 때 "'제2조 회원관리 제3항 회비'" 뭐 이런 식으로 하는 건가요? 그렇게 다면 하드카피 문서로 만들어서 신입회원들에게도 줘야겠네요... ^^;; --["창섭"]
         그럼 이번달(2월)은 19일날 하게되는건가요?? 정모날짜는 매월 세째주 화요일이 되나요?? 그리고 주말이 아닌 평일로 정해지면 학기 시작하면 저녁때쯤 하게 되겠군요.. 5~6시쯤 하게되려나... 여기다가 일케 쓰면 되는거져?? ^^ --01영서
         ["neocoin"]:영서 말대로 화요일중 셋째주가 좋은것 같다. 1년중 특별 휴일이 전혀 없고, 추석같이 연속으로 노는 날도 다 피해가는데, 12월의 24일 크리스마스 이브만이 째려 보는군. 이견 있는 사람은 이야기 좀 해주어요. --상민 [[BR]]
         ["창섭"] : 매월 둘째주 넷째주에 하는 것으로 하고.. 4월 중간고사처럼 특별 일이 있을 때는 주 정도 늦춰도 달에 두번 다는 취지는 소색이 없을 것 같은데요.. 굳이 셋째주를 정하기 보다는 정모와 정모 사이의 기간이 너무 길거나 짧지 않고 달에 두번을 할 수 있다면 몇째주인지는 중요하지 않은 것 같습니다.. ^^;; --창섭[[BR]]
  • 주민등록번호확인하기/조현태 . . . . 19 matches
         가게보고 집에왔는데 또 가게보러 가야다..ㅠ.ㅜ
         //출력문자열 센스있다...누가 생각거지?ㅎ
          cout << "\n대민국 국민이네요~ ^^ 안녕하세요!\n";
          cout << "\n대민국 국민이네요~ ^^ 안녕하세요!\n";
          cout << "주민등록번호를 '-'없이 입력해주세요>>"; //안내문을 출력다.
          int cursur=0; //현재 커서의 위치를 저장다.
          if (47<number && number<58) //입력받은 값이 숫자인지 확인다.
          if (12==cursur)//마지막 값인지를 확인다.
          sum+=input_number[i]; //숫자를 다 더다.
          if ((11-sum%11)%10==number) //올바른 주민번호인지를 확인다.
          cout << "\n대민국 국민이네요~ ^^ 안녕하세요!\n";
          else input_number[cursur]=number*(cursur%8+2); //알맞은 값을 곱 숫자를 저장다.
          ++cursur; //기억된 커서의 위치를 오른쪽으로 칸 옮긴다.
          }else if (BACK_SPACE==number) //입력받은 값이 백스페이스인지 확인다.
          cout << " \b"; //이전 문자열을 삭제다.
          --cursur; //기억된 커서의 위치를 왼쪽으로 칸 옮긴다.
         2007년 대예언. ROR을 다는 것보다 Erlang을 다는 것이 더 섹시하게 보일 것이다. (타겟이 상당히 다르긴 하지만) -- 김창준 선배님
  • 지금그때2003/후기 . . . . 19 matches
         OST 시간이 다소 부족 감이 있어 아쉬웠지만 처음의 서먹함을 깨고 자연스럽게 얘기할 수 있었던 것이 좋았습니다. 끝나고 형들테 들은 얘기도 도움이 된것은 물론 제가 후배들에게 이야기를 하면서도 제가 갖고 있던 경험과 생각들을 정리해봄으로써 배울 수 있는게 있었습니다. 바쁘신데 오셨던 선배님들께 감사드리고 준비하신 분들도 수고많으셨습니다. :) --[창섭]
          1. 전통 깨기 (예컨대, 선후배간에 진지 대화는 술자리 밖에서는 경험하기 어렵던 전례를 깨기)
         어제는, 말씀드렸다시피 희망과 절망을 동시에 느꼈습니다. 이렇게 좋은 자리에 신입생들이 20명 남짓 왔다는 점이 절망이었습니다. 사실 애초에는 그 정도 인원을 대상으로 계획했지만 내심 더 많이 올 것을 예상했습니다. 오히려 너무 많이 오지 않을까 걱정을 해서 가능하면 광고수준을 낮추라고 주의까지 주었습니다. 희망은 20명 정도가 왔다는 것이고, 이런 행사를 기획하고 실행했다는 점입니다 -- 희망이 있습니다. 다른 학교 학생들이 중앙대학교 컴퓨터 공학과를 엄청나게 부러워다는 사실을 아십니까.
         [지금그때]를 처음 기획 사람으로, 이 전통을 가능하게 해준 모두에게 ''고맙다''나 ''수고했다''가 아니고 ''축하다''는 말을 해주고 싶습니다.
          * 초반엔 대화보단 일방적인 이야기가 된것 같아서 약간 지루하게 이루어진 감도 있긴 데, 시간을 더 늦추어서 하거나, 재학생들을 더 많이 참여시켜서 OST 1차를 진행하는 방법이 있을것 같습니다.
          * 학교 수업 12주정도의 학기 수업중 2번정도 OST 를 다면 어떤일이 있을까 생각해봅니다. 교수님도 guest로만 참여하시는 식으로, 그동안 공부 것들이 추후 실제로 어떠 의미를 가지는지를 서로 대화하는 자리랄까요. 번 그날 오신 분들이 OST 방법으로 진행해보셔도 재밌겠다는 생각을 해봅니다.
         우선 어제 있었떤 지금그때를 준비하신 선배님들께 너무나 깊은 감사 드립니다. 그리고 선배님들과 그리고 동기들과 대화를 하게 되서 너무나 좋았습니다. 특히 OST는 재미 있었습니다. 대학 최초라니 자부심도 가지게 되는듯 합니다. 허나 아쉬운 점도 있었습니다. 너무 빨리 끝났다는 것이죠. OST를 하는 시간이 너무 적어서 말이요. 글구 참여 사람이 너무나 적은것도 안타깝다고 생각합니다.
         어제가 처음이었는데 앞으로 정기적으로 선배님과 그리고 후배들이 함께모여 얘기를 나누는 자리를 가졌으면 합니다. 다음에도 이런 자리가 마련이 된다면 저는 어김없이 나갈 생각입니다. 앞으로의 생활에 대해서도 생각하도 좋은 얘기도 듣고 그리고 과거까지 돌아볼수 있지 않나 하는 생각을 합니다. 다시 번 앞으로도 이런 자리가 있길 바라고 다음엔 보다 많은 학우들이 함께 했으면 하는 합니다. - 03학번 변준원-
         모두가 느꼈듯이, 오히려 시간이 짧지 않았나 할 정도로 재미있었고 알차기도 시간이었습니다.
         자리를 마련해주신 선배님들께 다시 번 감사를 드리고
         다만 아쉬웠던 점은 시간이 조금 모자란듯 것 같았고
         미처 정리되지 못 모든 선배님들의 이야기를 직접 듣지 못것이 아쉬웠습니다.
  • AcceleratedC++/Chapter3 . . . . 18 matches
         // >> 연산자는 left operand를 리턴다.
         // -8437535 이거 비슷 이상 숫자가 들어가게 되는걸 보게 될 것이다.
          // count에 1을 더다.
          // sum에 x를 더다.
         // istream 내부의 복잡 작업이 있긴 하지만 12장까진 몰라도 된다. 그냥 이것마 알아도 충분히 쓸수 있다.
          * 실패했을 경우에는 stream 초기화를 시켜줘야 다.(4장에서 보자)
          * 평균값 대신에 중간값을 사용하는 프로그램으로 변경다.
          * 하지만.. 중간값은 그렇지가 못하다. 다 저장해놔야 다. 그리고 sort를 해야할 것이다.
          * 이러 것들을 Telplate Classes 라고 다. 11장에서 자세히 보도록 하자.
          while(cin >> x) // while루프는 값들을 읽어들이면서 homework에 저장다.
          * push_back : vector의 멤버 함수. vector의 끝에다 집어넣는 역할을 다. 그러면서 벡터의 크기를 하나 증가시킨다.
          * 또 vector의 크기가 0이면 아무것도 안들어있다는 것이므로 중간값의 의미가 없다. 0일때 처리
          * end() : 컨테이너의 맨 마지막 원소에서 칸 지난 값을 가리킨다.
          * 5장에선 이 둘을 자세하게 살펴볼것이며, 8장에서는 칸 지난다는 것의 의미를 살펴볼 것이다.
         // 원래 책에는 위 소스 처럼 각각 이름공간을 주었지만 이제부터 무난 std로 쓰겠습니다.
          * C++의 스탠다드 라이브러리들은 걱정하지 말고 써도 된다. C++은 performance-critical 애플리케이션 제작을 위해 만들어졌기 때문이다.
  • ComponentObjectModel . . . . 18 matches
         COM은 소프트웨어 컴포넌트를 위해 만들어진 Microsoft 사의 기술이다. 이는 수많은 MS사의 프로그래밍 언어에서 소프트웨어간 통신과 동적 객체생성을 가능케다. 비록 이 기술이 다수의 플랫폼상에서 구현이 되기는 하였지만 MS Windows 운영체제에 주로 이용된다. 사람들은 .Net 프레임워크가 COM을 어느정도까지는 대체하리라고 기대다. COM 은 1993년에 소개되고 1997즈음해서 MS가 강조 기술이다.
         90년대 마이크로소프트가 내놓은 가장 핵심적인 기술로 차후 ActiveX 를 이루는 기반기술이 된다. COM은 언어가 아니라 객체지향을 지향하는 바이너리를 만들어 내는 표준을 지정해놓은 것이다. 따라서 어떤 언어이던지 COM 표준에 부합하는 바이너리 형태를 생성할 수 있다면 그 언어로 작성 바이너리는 언어 독립적으로 COM을 지워하는 곳에서 컴포넌트로서 사용이 가능하다. 고질적으로 진입장벽이 업청나게 높은 기술로 유명하지만... -_-; .NET 이 나오면서 어떻게 쓰이게 될런지는 미지수가 되어버린 기술이다. Vista 가 나오면 완전히 legacy 로 취급되게 될 것인지... -_-;; 이제 MFC는 사장의 길로 걸어가는 것 같고... 당장이야 워낙에 기반이 이 기술이다보니 어쩔 수 없겠지만 .net 사용이 궤도에 오르면 아마도 COM 도 머지않아 그렇게 되지 않을까 싶다.
         COM 플랫폼은 Microsoft .NET프레임웍이 나오면서 많은 부분 대체되었다. 또 Microsoft 사는 이제 .NET에 대 마케팅을 하는데 노력다. 약간 더 나아가 생각해보면 .NET을 선호하는 환경에서 이제 사양의 길로 접어들었다.
         그렇지만 COM은 여전히 소프트웨어의 중요 기반들과 함께 실용적인 기술이다. 예를 들자면 DirectX 3D의 레더링 SDK 는 COM에 기반하고 있다. Microsoft 는 COM를 계속 개발할 계획도, 지원할 계획도 가지고 있지 않다.
         RCW를 구현하고 있는 .Net 하에서는 COM 객체는 아마도 제적으로 호환성의 측면에서 사용될 것이다. 또 .NET 객체들은 아마도 COM callable wrapper를 호출하는 것 때문에 COM 객체들안에서 사용될 것이다. 덧붙여서 COM+가 제공하는 일부분의 서비스들(transaction, queued components)은 여전히 .NET 응용프로그램에서도 중요 부분이다.
         예전에 COM 프로그래밍을 하다가 Java 에서의 결과물들을 보면서 'COM 은 OS 플랫폼/C & C++ 계 내에서의 컴포넌트 모델이라면, Java 에서의 Component (Beans) 는 VM 위에서의 자유로운 컴포넌트 모델이구나' 라는 생각이 들기도. .NET 플랫폼 이후에 COM 이 사라지게 되는건 어쩌면 당연 수순일 것이다.
         COM 을 처음 공부하고 직접 구현할때에는 모든 것들이 신기해보인다. 팩토리네 스마트 포인터네 스텁-스켈레톤이네 인터페이스네 구현상속과 인터페이스상속은 다르네 등등. 하지만, 동급에 해당되어보이는 Java 플랫폼 내에서의 솔루션들을 보면 너무나 당연건데 대단하게 표현되어있다거나 (예를 들면 '인터페이스 상속'. COM 책에서는 이걸 왜 무언가 새로운 대단 기술인 양 서술했을까?) 아에 필요가 없는 기술일 수도 있다. (스마트 포인터 : VM 지원을 받는 플랫폼에선 전혀 필요가 없다.) (물론, 이건 COM 을 설명하던 책들중에 C++ 로 COM 을 구현을 설명하는 책들에 함)
         COM 을 공부하던 당시 들던 생각 : 무언가 특정 기술에 대해서 공부를 할때 너무나 생소 용어들이 많이 나와서 '대단해보이는' 혹은 '무언가 있어보이는' 녀석들이 있곤 하다. 그 경우, 동급의 더 나은 기술들이 해당 문제들을 어떻게 해결하는지에 대 관찰이 필요하다.
  • CreativeClub . . . . 18 matches
          * 지난주에 나왔던 키워드 중 각자 하나씩 뽑아 총 6개의 키워드 셋을 구성다.
          * 6개의 키워드를 보고 각각에 대해서 혹은 조합하여 생각난 것에 대해 자유롭게 이야기다.
         === 다음 모임에 대 의견 ===
          6. 경험 부족으로 인 일정 추정 어려움
          * 개인적으로 진행 프로젝트 등을 손봐서 공모전에 사용하지 않음
          * 공모전과 관련해서 조언을 해 줄 만 경험자가 별로 없음
          * 인맥을 이용 멘토링 지원
          * ZeroPage의 이름을 알리기 위 방법
          * 유명 API 번역
          * Trouble Shooting을 위 wiki 운영.
          * wiki 제작이 잘 되었을 경우 정모에서 많은 글을 등록 사람에게 지원을 하는 방안도 생각.
          * ZeroPage 재학생 신입회원을 모집하는 방법, 복학 회원들이 ZeroPage 활동에 참여하게 하는 방법
          * 유용 것을 제공다.
          * 정모 시간에 해당 회원들이 흥미 있을 만 활동을 다.
          * 학회실을 자주 사용하도록 유도다.
          * ZeroPage가 가진 도서 리스트를 외부에 공개하여, 외부인이 학회실을 이용하도록 유도다.
  • MFC/MessageMap . . . . 18 matches
         이벤트의 발생과 함께 전달되는 메시지를 처리하는 메시지 맵에 대 설명이다. 하단의 소스는 AppWizard가 기본적으로 생성 코드에서 발췌 것이다.
          * 사용자 정의 메시지란 : 특정 시점에서 메시지를 보내서 다른 객체의 함수를 실행 시킬수 있다. 굉장히 유용하다. 일종의 콜백 함수 역할을 수행할 수 있는것이다. 즉 어떠 다른 클래스에서 특정 시점에서 다른 객체의 특정 함수를 실행시켜야 할 필요가 있을때 사용하면 유용하고, 소켓 프로그래밍에서 자주 사용된다.
          * 사용 예 : 어떤 클래스가 view 클래스의 멤버 변수이다. 해당 클래스는 파일을 다운로드 받는 클래스인데 해당 클래스에서 다운로드가 끝났을 경우 view에 있는 serialize 함수를 실행해야 다. 허나 현재 view클래스가 그 해당 클래스를 멤버로 가지고 있기에 include 로 해당 클래스에서 view 클래스를 포함할 수도 없고, 또 view 클래스의 현재 실행되는 객체를 얻을 방법도 마땅히 없다. 이때 해당 클래스에서 다운로드가 끝난 시점에서 다운로드가 끝났다는 메시지를 발생시켜서 view에 있는 serialize 함수를 실행시킬 수 있다. 이게 바로 사용자 정의 메시지 발생을 이용 사례..
         #define UM_ACCEPTCLIENT (WM_USER+10) // 사용자 정의 메시지를 정의 다.
          afx_msg LRESULT OnAcceptClient(WPARAM wParam, LPARAM lParam); // 이부분에 이렇게 정의 메시지를 실행할 함수를 넣어준다. 함수명은 하고 싶은데로..
         ON_MESSAGE(UM_ACCEPTCLIENT, OnAcceptClient) // 이부분에서 UM_ACCEPTCLIENT가 발생하면 OnAcceptClient함수를 실행시킨다고 맵핑다.
          afx_msg void OnAppAbout(); // 위저드로 생성되는 기본 코드에서는 오로지 ID_APP_ABOUT 매시지 만을 처리하는 함수가 존재다.
          DECLARE_MESSAGE_MAP() // 메시지 맵이 정의된 클래스에는 반드시 이 매크로 함수가 포함되어야 다.
          // 수동으로 매시지 맵을 추가하려고 다면 반드시 이 부분을 추가해야다.
          클래스의 정의 부분에 DECLARE_MESSAGE_MAP()을 포함했다면 그 클래스의 구현 부분에는 반드시 BEGIN_MESSAGE_MAP(), END_MESSAGE_MAP()매크로가 반드시 추가되어야 다. 이 부분에서는 WM_COMMAND 형태를 갖는 메시지 만을 처리하고 있다.
          ON_COMMAND() 매크로 함수는 지정된 메시지 식별자(ID_..)와 특정 함수를 묶어주는 역할을 다.
         MFC에서는 기본적으로 메시지가 전달되는 특정 순서에 따라서 메시지가 처리되고 처리 코드가 업을 결우 다음 순서의 클래스에서 그 메시지를 처리다. 결국 그 메시지를 처리하는 코드가 없다면 메시지는 윈도우로 넘겨지고 폐기처리된다.
          WM_COMMAND이외에도 윈도우에는 다양 식별 심볼들이 있다. 이는 다음과 같다.
  • MoreMFC . . . . 18 matches
         전자책을 가지고 있는 관계로, 원서 70000원, 서 45000의 거금은 들필요가 없었음. [[BR]]
         '''01.06.2002''' 부터 진행 할것 같음. 후딱후딱 볼계획, 그러나 source 는 다쳐볼 것임. -- v ('당연거지..') [[BR]]
          * 윽 괜 시작이었나?.. 혼자보면 금방 볼것을.. (해석 안되면 skip이지.. ) 그런데.. 요렇게 적으니까.. 몬해 먹겠네.. ㅋㅋ 어쨌든 화이팅이다.. T-T
         dos 시절의 절차식 프로그램의 습관에 젖은 프로그래머를 위해 이책도 역시 아주잘 윈도우 프로그래밍이 어떻게 다른지 설명해 준다. 그러나, 그걸 다시 다 설명할 필요는 없고.. 떡하니 그림 장이면 다 설명 될것 같다. 그럼.. image! [[BR]]
         그리고, MFC를 하기전에 꼭 번씩 나오는 SDK로 하는 windows programming. source. [[BR]]
         { // 무 루프를 돌면서 message 큐에 있는 message를 가져온다.
         // 이렇게 안보이는 곳에 WinMain과 WndProc라는 것이 존재해서, message를 받아서 처리다.
         // 자세것은 charles petzold의 Programming Windows라는 책에 보면 엄청 잘나와 있다. --;
         // 그 책도 다시 번 훌터 봐야 겠다. T-T 처음에 제대로 볼걸.. 다시 보게 되다니.. T-T
         그럼 이제 이 책에서 처음 나오는 MFC programming source를.. 공개 다. Dialog based로 프로젝트를 연후 Dialog에 관 class는 project에서 뺀후 App클래스내에 이 source를 쳐주면 될것이다. - 신기 하게도 App class와 MainWindow클래스만 있다. 이런 source는 처음 봐서 생소 했지만, MFC에서 제공해주는 source보다는 깔끔해 보였다.-
         // 프로그램을 초기화 할수 있는 가장 적절 장소. --a
         // CWinApp::InitInstance를 override 가상함수이다.
         떡하니 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]]
  • PerformanceTest . . . . 18 matches
         펜티엄 이상의 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 명령 사용법을 참조하기 바란다.
         Windows는 Multi-Thread로 동작하지 않습니까? 위 코드를 수행하다가 다른 Thread로 제어가 넘어가게 되면 어떻게 될까요? 아마 다른 Thread의 수행시간까지 덤으로 추가되지 않을까요? 따라서 위에서 작성하신 코드들은 정확 수행시간을 측정하지 못 할 것 같습니다. 그렇다고 제가 정확 수행시간 측정을 위 코드 작성 방법을 알지는 못합니다. -_-;
         단, 정확 수행시간 측정을 위해서라면 전문 Profiling Tool을 이용해 보는 것은 어떨까요? NuMega DPS 같은 제품들은 수행시간 측정을 아주 편하게 할 수 있고 측정 결과도 소스 코드 레벨까지 지원해 줍니다. 마소 부록 CD에서 평가판을 찾을 수 있습니다. 단, 사용하실 때 Development Studio 가 조금 맛이 갈겁니다. 이거 나중에 NuMega DPS 지우시면 정상으로 돌아갑니다. 그럼 이만. -- '96 박성수
         멀티쓰레드로 인해 제어권이 넘어가는 것까지 고려해야 다면 차라리 도스 같은 싱글테스킹 OS에서 알고리즘 수행시간을 계산하는게 낫지 않을까 하는 생각도 해봅니다. (하지만, 만일 TSR 프로그램 같은 것이 인터럽트 가로챈다면 역시 마찬가지 문제가 발생할듯..) 그리고 단순 프로그램의 병목부분을 찾기 위 수행시간 계산이라면 Visual C++ 에 있는 Profiler 를 사용하는 방법도 괜찮을 것 같습니다. 해당 함수들의 수행시간들을 보여주니까요.
  • SpiralArray/Leonardong . . . . 18 matches
         아이디어는 JuNe 선배가 말했던 것이다.(저번 자바 컨퍼런스에서 였던가..) 번 나선형으로 진행되는 것을 같은 층으로 본다. 그러면 가장 바깥쪽은 1층, 다음 안쪽은 2층 이런 식으로 안쪽으로 갈수록 높이가 높아진다. 사람이 피라미드를 바퀴 돌고 다음 층으로 올라가면서 자신이 들렀던 곳이 몇 번째인지, 좌표는 무엇인지 기억다. 층을 다 돌면 시작했던 자리로 돌아오기 때문에 중복해서 기억 좌표는 지우고 다음 층으로 이동다.
         하지만 여지껏 그러 접근법을 알고서도 TDD로 풀지를 못했었다. 매번 나선형 "행렬"에 어떻게 숫자를 새길지만 생각했기 때문이다. 그러다 보니 2차원 배열의 인덱스를 조작하는 수준에서 생각이 벗어나질 못했다. 하지만 사실은 움직임(이전의 인덱스 조작), 움직인 점들, 행렬을 따로 생각할 수 있었다. 아! 이렇게 테스트 하면 되겠구나!
         TDD로 풀었다는 점이 기쁘다. 처음부터 너무 메서드를 어디에 속하게 할 지 고민하지 않고 시작 것이 유용했다. 그 결과로 예전 같으면 생각하지 못했을 Direction클래스와 그 하위 클래스가 탄생했다. 또 행렬은 최종 결과물을 저장하고 보여주는 일종의 뷰처럼 쓰였다.
         현재는 행렬 구성이 비효율적이다. 움직였던 기록을 가지고 행렬을 구성하기를 반복다.이것을 수정할 때 좀더 효율적으로 작동하게 만들어야겠다. Mover클래스, Array클래스의 종료검사, 테스트 케이스는 확실히 Refactoring이 필요하다.
         goStraight 전 버전은 Direction클래스를 이용해서 이동(벽을 만나면 이동하지 않음) 위치를 얻어내고, 이동 기록을 저장하는 형식이었다. 벽에 대 검사가 겹치는 것 같아 mover에서 바로 벽을 검사하고 벽에 들어서면 종료하는 것으로 만들었다. 그러고 보니 따로 카운트 할 필요가 없어 moveCount변수를 없앴다. mover가 종료 조건도 검사하는데 board 넓이만큼 이동했으면 끝나는 것이기 때문이다.
         그런데 벽에 들어서야 종료하다 보니까 mover를 벽에 들어가기 전에 위치로 되돌려놓아야 했다. 그래서 direction에 모두 previous 메서드가 생겼다. 데 다음 번 goStraight를 할 때는 이미 이동했던 기록이 남아있게 되었다. 그래서 매번 goStraight를 할 때마다 마지막 이동 기록을 삭제했다. 그러다보니 board크기가 1일 경우는 이동 기록이 모두 지워져버리는 것이 아닌가. 조잡하지만 예외 처리를 해주었다.
         경계조건이 참 미묘하다는 것을 느꼈다. 시작과 끝을 어떻게 할 것인가? 참을 헤매다보니 더 나은 방법이 있는데도 찾질 못하는 것 같다.
         코드 안에서 헤매기 보다는 정확히 생각을 정리해서 구현해야 다. 이것 해보고 저것 해보는 사이에 시간이 너무 많이 흘러갔다. 결국에 답은 나왔지만, 이보다 빨리 할 수 있을 것이다.
  • TAOCP/InformationStructures . . . . 18 matches
          노드에 들어있는 WORD의 수가 c개라면 다음과 같이 쓸 수 있다.
         상수 L0를 base address라고 다면 다음과 같이도 쓸 수 있다.
         하지만 공간낭비가 무할 수 있다.( F, R이 계속증가하기 때문이다.) 따라서 이런 문제(the problem of the queue overrunning memory)를 해결하려면, M개의 노드(X[1]...X[M])가 순환하도록 다.
         여태까지는 문제(더 넣을 공간이 없거나, 더 지울 것이 없는 경우)가 없다고 가정했다. 이 문제까지 고려 과정이 다음과 같다.
         오버플로우와 언더플로우가 일어났을 때 어떻게 해야 할까? 언더플로우는 하나의 의미있는 조건 - 에러 상황이 아니라 - 이다. 하지만 오버플로우는 더 들어갈 공간이 없는데 들어갈 정보가 남아있어서 에러이다. 따라서 오버플로우가 생기면 용량계를 넘어서서 프로그램이 종료다.
         가능 공간에 리스트가 두 개 있다면 (고정된)bottom을 같이 쓸 수 있다. (p.246 그림 참고) 이런 경우 두 리스트가 메모리를 모두 써버릴 때까지 오버플로우는 생기지 않는다. 이런 형태는 매우 자주 쓰인다.
         하지만 리스트가 더 많으면 bottom이 움직일 수 있어야 다.(we must allow the "bottom" elements of the lists to change therir positions.) MIX에서 I번째 WORD를 rA에 가져오는 코드는 다음과 같다.
          LDA *,1 ;여기에 I를 더 주소로 가서 그 값을 rA에 넣는다.''
          a) ''''위로 칸씩 밀기(moving things up)'''
          i<k≤n인 k 가운데 TOP[k] < BASE[k+1]인 가장 '''작은''' k를 찾는다. 찾으면 TOP[k] ≥ L>BASE[i+1]인 L에 대해서 다음을 다.
          b) ''''아래로 칸씩 밀기(moving things down)''' a)에 해당하는 k가 없을 경우
          i≤k<n인 k 가운데 TOP[k] < BASE[k+1]인 가장 '''큰''' k를 찾는다. 찾으면 TOP[i] ≥ L>BASE[k+1]인 L에 대해서 다음을 다.
          공간을 찾을 수 없다. 포기해야 다.
          번 메모리 재배치를 할 때마다 공간을 적당히 마련하는 방법도 가능하다.( 그러나 이해하지 못했다.p.250에 중간에 보면 위 알고리즘(Algorithm G나 R)과 비슷 동적 메모리 할당 알고리즘의 수학적 분석은 매우 어렵다고 나와있다. )
  • UDK/2012년스터디 . . . . 18 matches
          * UDK로 만든 것들을 보니 방향성을 확실히 잡고 진행을 해야 겠다라는 생각이 들더군요. 오늘은 첫 날 모임 약속이 좀 거시기 해서 출석률이 저 모양이긴 데 모두들 무엇을 만들지에 대해서 확실히 정하도록 하는 것이 중요하겠네요. 다음으로 UDK 상당히 무겁군요 -_-;; 그래도 그래픽이 상당히 좋네요. 영화속 CG 같은 느낌이었습니다. 오늘은 제가 용운이테 어떤 것들이 있는지 그냥 보는 시간이었고요,, 정모 시간이나 다음 모임 때 확실히 주제를 정하도록 해야겠네요 - [권순의]
          * 몇 시에 모이자고 게 없어서 그냥저냥 모여서 순의형과 UDK 툴과 UDK로 만든 게임을 살펴보았습니다. 빨리 UDK를 배워서 게임을 만들고 싶습니다. 지금은 감도 안잡히네요-_-; 설명서나 책같은 것들을 좀 더 읽어봐야겠습니다. 그리고 UDK툴이 메모리나 그래픽을 꽤 많이 잡아먹네요ㅋㅋ 근데 화면 돌릴 때 눈이 어지럽게 돌아가는 건 어떻게 좀 해결을 봐야 할 것 같습니다. - [장용운]
          * 이번 모임 시간을 딱히 정하지 않아서 못갔지만... 일단 생각해본 주제중 가장 하고싶은 것 가지를 적어볼게요. 그리고 저 학교가는데에 1시간 반 넘게걸려요... 저를 위해서라도 최소 3일전에는 계획을 정확하게 정했으면해요..
          * 딱히 특징적으로 주목할만 컨텐츠가 있는 게임이 아니기 때문에, 풍경을 정말 잘 만들어야 할 것 같구요,
          * 그게 그렇게 간단 게 아니란다...ㅋㅋㅋ - [장용운]
         === 설치법 & 글 튜터리얼 ===
          * 스크립트 언어 수정을 이용 Hello World 찍어보기
          * 간단 스크립트
          * 결론적으로 첫 주는 그냥 허비 듯..? ㅋㅋㅋㅋ
          [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://library.cau.ac.kr/search/DetailView.ax?sid=1&cid=391650 게임 & 캐릭터 제작을 위 3ds max] 를 보면서 Sonic에 뼈대 넣어보고 있음
          * 쪽 다리 대충 어느정도 만들어 보긴 했는데 세부 작업이 더 필요 시점 -_-...
          * 스크립트와 툴 위주의 개발이라 코어 부분에 대 학습 불가
          * 일단 [http://ko.wikipedia.org/wiki/RPG_%EB%A7%8C%EB%93%A4%EA%B8%B0 RPG만들기]에 대 사전조사
  • ZPBoard/APM/Install . . . . 18 matches
          * Apache를 다운 받아 설치다. (http://www.apache.org/dist/httpd/binaries/win32/apache_1.3.26-win32-x86-no_src.exe)
          * PHP를 다운 받아 c:\php 정도의 적당 디렉토리에 압축을 푼다. (http://us3.php.net/do_download.php?download_file=php-4.2.2-Win32.zip)
          * PHP 디렉토리에 있는 php4ts.dll 파일을 Windows 디렉토리의 System(Windows 98의 경우) 또는 System32(Windows NT, XP의 경우) 디렉토리에 복사다.
          * PHP 디렉토리에 있는 php.ini-dist 파일을 Windows 디렉토리에 php.ini 라는 이름으로 바꾸어 복사다.
          * Apache의 httpd.conf 파일에 다음을 추가다.
          * MySQL을 다운 받아 설치다. (http://www.mysql.com/downloads/download.php?file=Downloads/MySQL-3.23/mysql-3.23.52-win.zip&download=http://mysql.holywar.net/Downloads/MySQL-3.23/mysql-3.23.52-win.zip)
          * MySQL을 실행다.
          * Apache를 실행다.
          * 웹브라우져를 실행시켜 주소에 http://127.0.0.1/test.php 를 입력하고, 제대로 설치 되었는지 확인다.
          * 제어판 -> 프로그램 추가/제거 -> Windows 구성 요소 추가/제거 에서 IIS를 설치다.
          * PHP를 다운 받아 c:\php 정도의 적당 디렉토리에 압축을 푼다. (http://us3.php.net/do_download.php?download_file=php-4.2.2-Win32.zip)
          * PHP 디렉토리에 있는 php4ts.dll 파일을 Windows 디렉토리의 System(Windows 98의 경우) 또는 System32(Windows NT, XP의 경우) 디렉토리에 복사다.
          * PHP 디렉토리에 있는 php.ini-dist 파일을 Windows 디렉토리에 php.ini 라는 이름으로 바꾸어 복사다.
          * IIS를 다시 시작 다.
          * MySQL을 다운 받아 설치다. (http://www.mysql.com/downloads/download.php?file=Downloads/MySQL-3.23/mysql-3.23.52-win.zip&download=http://mysql.holywar.net/Downloads/MySQL-3.23/mysql-3.23.52-win.zip)
          * MySQL을 실행다.
          * 웹브라우져를 실행시켜 주소에 http://127.0.0.1/test.php 를 입력하고, 제대로 설치 되었는지 확인다.
          * APM을 설치, 설정을 자동으로 해주는 프로그램도 있네요. 번거로운 설치과정이 귀찮으신 분들은 이놈도 좋을듯. [http://www.apmsetup.com/]. 하지만 직접 설치해 보지 않으면 모르는것도 있으니... 귀찮으신 분만 쓰세요ㅋ - [이승]
  • ZeroPageMagazine . . . . 18 matches
         [정모/2004.7.26]에서 논의 학회지 만들기를 위 페이지(페이지 이름은 임시로 지음)
         [정모/2004.8.9]에서 팀을 나누어 주 동안 프로토타입을 만들어보기로 했습니다.
         어떤 식으로 시작해야 할까요? [유쾌이노베이션]에서 읽은 내용을 번 실험해보면 재밌겠다는 생각을 합니다. 여러 팀으로 나눠서 ZeroPageMagazine의 프로토타입을 만드는거지요. 프로토타입은 완성품이 아니기 때문에, 팀에서 여러가지 프로토타입을 만드는 것이 전혀 문제될 것이 없습니다. 오히려 권장할만 일이죠. 그렇게 프로토타입을 모아 놓고, 좋은 부분을 골라서 합치는 과정을 반복할 수 있을 것입니다.
          좋은 의견입니다. 제 의견도 만들어나가는 프로토타입을 만들면서 그 '''과정'''을 즐기자는 취지입니다. 단, 가지 '''완성품'''을 만드는 데에, 또는 가지 방법으로 만드는 데에 초점을 두지 말았으면 합니다. 여러 가지 프로토타입을 만들어 보고, 다시 잘 된 것을 골라 개선해 나가자는 의견입니다.
          프로토타입을 만든다는 것이 틀을 정다는 의미가 아닌가요? 틀을 만들어 놓고 하면 짜임새가 있겠지만 그것에 따라야 다는 관념 때문에 원고를 작성하는 사람의 입장에서는 그 능률이 떨어지지 않을까라는 의견이었습니다. 예를 들어 저번에는 이런 것을 조사하고 싶어서 프로토타입으로 제출했었는데, 시간이 지나니까 또는 조사를 하다 보니까 영 아니다 싶은 경우가 있을 수 있겠죠. 혹시 제가 프로토타입에 대해 잘못 이해하고 있을수도 있겠다는 생각이 드는군요. 지적해 주세요.
          밑에 자세 설명이 있네요. 프로토타입 만들기를 하는 대상은 결과물에 정되지 않고, '리허설'처럼 그 과정도 해당합니다.
         프로토타입을 만든다는 것은 말 그대로 '시제품'을 만드는 겁니다. 해당 작업을 완벽하게 하기 전에, 무언가 내가 올바르게 하는 일인건지 리허설, 혹은 실험용 간단 모델을 만드는 작업을 이야기하죠. 건축으로 친다면 건물 만들기 전 모델을 만들고 선풍기 바람 돌려서 안무너지나 알아본다던지, 혹은 PDA 프로그램을 만들기 전에 PDA 종이 모형을 만들고 그 안에 스크린을 종이로 구성해본다던지 등을 예로 둘 수 있겠습니다.
         제가 선전부의 pop지의 발행과정에 대해 설명하겠습니다. 먼저 모든 부원이 모여 잡지에 기재될 내용에 대 토의를 합니다. (잡지의 디자인이나 형식 같은 것도 의견을 나눕니다.) 적당 주제꺼리를 추스리면 부원들에게 그 주제를 주고 내용을 만들어오라합니다. 부원들이 내용을 구성해서 부장에게 건내면 부장은 그 내용들을 적당히 편집하여 정리하여 인쇄소에 가서 인쇄를 합니다. --[강희경]
         AnswerMe ZeroPageMagazine은 앞으로도 계속 만들어나갈 것인가요? 일회성 행사에 그친다면 아쉬움도 많이 있겠지만 앞으로도 계속 만들어나갈 것인지 아니면 번 만들고 끝낼 것인지에 따라 발간형식이 달라질것 같아서요. 예를들어 직접 인쇄를 해서 ZeroPagers, ZeroWikian들에게 나누어줄 것인지, 혹은 위키위키형식으로 만들어나갈 것인지, 혹은 웹페이지, PDF, ... 등등 발간형태가 여러가지가 될 수 있는데 이에 대해서도 생각해 보아야 할것 같습니다 - [임인택]
         음... 저랑 승이도 참여해야 하나요? 그럼 어떻게 해야할지 문자로 보내주세요~ -윤성만
  • ZeroPage성년식/거의모든ZP의역사 . . . . 18 matches
         ||1학기 ||2기 회원모집. 1학년을 위 각종 강좌 마련, 스터디 조직. 2학년 각종 스터디 조직(C++, Graphics, OS, System-Programming, 글 구현). 첫돌 잔치. ||
         FixMe 임베팅 사이즈 조절 할줄 모르겠음. 오리지날 파일은 아래 참고. 스크린샷 상의 오르지오 메일은 망해서 모자이크 처리 안했음 --NeoCoin
         ||1학기 ||회장 이승, 15기 회원 모집, 지금 그때 진행, 새싹배움터 진행, ZeroWiki 서비스 재개 및 설명회 개최 ||
         ||여름방학 ||데블스 캠프 with 양대 자람, 대대적인 PC실 고스트 작업, 가평 MT, ||
         ||2학기 ||제 2회 대안언어축제 자봉단 참가. ACM 예선 통과(본선 11위) 동상 입상, 양대 학술동아리 자람과 학회교류 행사 ||
         ||겨울방학 ||하드 문제로 인 서버 소실 ||
         ||1학기 ||회장 이승, 18기 회원 모집, 새싹스터디 진행 ||
         ||2학기 ||하늘공원 소풍, PC실 관리 중단. 양대 컴공 학술동아리인 자람, ICPC와 함께 연합 학술교류 행사 ||
          * 04학번 이승 학우의 회장 재임
          * 2학기의 캡스톤 설계실 관리 권은 몇 차례 정모에서 공지드렸듯 ZeroPage와 공식적으로 아무런 상관이 없는 것으로 알고있습니다. 관리 권을 가진 회원이 ZeroPager라고 해서 ZeroPage의 발자취에 들어갈 수 있는 것인지 잘 모르겠습니다. - [김수경]
          * 충분 시간이 지났다고 생각하여 위키에서 해당 내용 삭제합니다. 어떤 식으로든 문제의 소지가 있는 기록은 남기고 싶지 않습니다. 캡스톤 설계실의 사용과 ZeroPage의 관계에 대해서는 수차례 정모에서 말 바 있기에 별도의 알림 없이 지웠습니다. - [김수경]
          * 제 1회 삼성 컴퓨터 명인 마당
         == 궁금거 ==
          * 서버 우리가 관리하다가 외부업체 맡기기 시작게 언제지?
          * 이건 졸업생들께 여쭈어야 하는데 연락될만 사람은 현태오빠 뿐인듯 - [지원]
  • django/RetrievingObject . . . . 18 matches
         데이터베이스에서 레코드를 조회할 때는 Model클래스를 관리하는 Manager클래스를 이용다. 가장 간단하게는 모든 레코드를 가져오는 방법이 있는데, 모델마다 기본적으로 제공되는 object라는 매니저를 이용다. object 매니저로 레코드를 조회하면 QuerySet이 반환된다. 이는 관계형 데이터베이스 CLI인 JDBC의 ResultSet과 유사하다.
          모델에 대해서는 여러 가지 필터를 설치할 수 있다. 필터는 SQL문에서 where절에 해당하는 역할을 다. 필터에는 검색하는 컬럼의 완전 일치, 부분 일치, 사이 값, 포함, 연월일 옵션을 줄 수 있다. 기본적으로 필터는 AND 조합으로 이루어지며, OR조합을 사용하고 싶다면 Q라는 쿼리 오브젝트를 사용해야 다.[9] 아래는 필터를 이용해 보고 날짜가2006년 10월 1일 이후인 위험 보고서를 찾는 python코드와 그에 해당하는 SQL문을 보여준다.
         일대다 관계인 레코드의 경우는 selete_related메소드를 이용하면 데이터베이스 접근 횟수를 줄일 수 있다. 일반적인 데이터베이스 조회는 추상화되어있어 실행할 때마다 쿼리를 수행다. 하지만 selete_related메소드를 사용하면 번 데이터베이스에서 결과를 가져온 후 필요할 때는 이를 그대로 사용다. 다음 예제에서 두 방식이 어떻게 다른지 확인할 수 있다.
         # 데이터베이스에서 번 값을 가져온다.
         사용자는 원하는 경우 extra메서드를 이용해 원하는 컬럼을 추가 결과를 얻을 수 있다. 다음은 2006년 1월 1일 이후 보고서를 최신으로 표시하는 컬럼을 가진 리포트 정보를 가져온다.
         extra메소드를 사용하면 다음과 같은 조금 복잡 질의도 할 수 있다. 각 직원이 몇 번이나 위험 보고서를 작성했는지 알아낸다.
         사용자는 values함수를 이용해서 원하는 속성을 지정할 수 있다. 이는 검색 조건을 만족하는 레코드의 필요 속성만을 이용하므로 효율적이다. 또 values함수는 QuerySet을 상속 ValuesQuerySet을 리턴하므로 다시 위에서 사용 검색 조건을 사용할 수 있다. 하지만 ValuesQuerySet은 사전형(dictionary) 자료구조를 가지고 있기 때문에, 많은 수의 레코드를 얻어오기에는 부적절하다. 다음은 사원 정보에서 이메일 속성만을 얻어온다.
         Django에서 기본적으로 제공하는 조인 연산은 없다. SQL문을 직접 수행하여 원하는 결과를 얻을 수 있다. 이는 JDBC의 인터페이스와 비슷하며, 커서를 이용하여 질의를 수행 결과를 하나씩 얻어오는 방식을 사용다. 다음은 특정 부서 에서 시행 위험 관리 대책을 얻어오는 함수이다.
  • 객체지향분석설계 . . . . 18 matches
          예제 프로젝트를 개 선정하여 제작해 보는 방향으로 가자.
          프로젝트의 목표는 여러가지로 정할 수 있다. 이 프로젝트를 통해 얻고자 하는 비지니스 요구사항, 이 프로젝트를 사용하는 사용자가 얻기 위 사용자 요구사항, 그리고 개발자 요구사항등이 있을 수 있다.
          먼저 Actor를 선정다. Actor를 잘 선택하면 추후에 유즈케이스를 구분할 때에 도움이 된다.
          유즈케이스는 각 단위 업무를 말하며 이에 합당지 검사하는 방법은 다음과 같다.
          * 시작과 끝이 존재하며 카운팅이 가능가.
          * 사람(Actor)이 순간에 장소에서 수행할 수 있는 업무인가.
          * 예외1 : 여러 작업에서 중복되는 보조 업무를 유즈케이스로 뽑기도 다. ex> Login/Logout
          * 예외2 : CRUD에 해당하는 유즈케이스는 하나로 묶기도 다.
          선택 유즈케이스에 각각 유즈케이스 명세서를 작성하여 주자. 다음과 같은 내용이 포함된다.
          기본흐름, 대안흐름, 예외흐름은 Actor로부터 시작하는 것이 원칙이다. Actor로부터 시작하여 일어나는 일을 정리다.
          영구적으로 저장되는 데이터를 선택다. 이 자료들은 Entity 클래스가 된다.
          각 클래스간의 상관관계를 분석, Control 클래스와 Boundary클래스로 나누어 선택다.
          위의 분석을 바탕으로 하여 Sequence Diagram을 개략적으로 작성다. 역시 Actor와 각 클래스들을 미리 배치 다음 필요 조작들을분석다.
  • 누가내치즈를옮겼을까 . . . . 18 matches
         새로운 길을 향해 나아가기 위해서는 스스로의 힘으로 개척해야만 다.]
         이책은 변화에 대 반응를 보여주고 있다. 변화에 대 대처 반응으로서 그 변화를 인정하고
         면 그 변화를 자세히 살펴보지도 않고, 기존의 기득권과 안락을 잃어버릴것을 염려하고, 또
         우리는 보통 첫번째 반응이 더 바람직하다는것을 알면서도 두번째의 반응을 다. 그것은 변화
         에 막상 부딪혔을때는 객관적인 사고보다는 당황하여 자신의 입장에서만 생각하게 되고, 또
         결국 변화에 대하여 제대로 대처하여 반응하기 위해서 필요것은 어떠 상황에서도 객관적인
         시각을 가지는것과 또 변화에 대 두려움을 극복하는것이다. 변화에 대하여 두려워 하는것은
         현재에 만족하기 때문이다. 이것은 상식적으로 생각해 보아도 알수 있다. 현재에 불만족다면
         변화를 싫어할리가 없기 때문다. 현재에 만족다는 말은 또 다르게 생각해 보면 현재 자신이
         가진것에 대 집착이 강하다고도 볼 수있다. 곧 소유욕이 변화를 두려워하는 마음에 어떠 역할
         을 하고 있다. 따라서 변화를 두려워하지 않기 위해서는 소유욕에 찌들어 있지 않아야다.
         소유욕에 찌들어 있지 말아야 다고 하면, 그것은 현실과 거리가 먼 구름같은 말이라고 치부할
         가기 위것인데, 그것도 결국 변화를 싫어하게 만들었던 소유욕이 아닌가?'라는 반론이
         바로 그것이다. 그에 대 해답은 이책에 나와있다. 헌인가 하는 꼬마가 치즈를 찾으러
  • 데블스캠프2013/넷째날/후기 . . . . 18 matches
         [서민관], [박희정], [김해천], [김남규], [백주협], [김현빈], [임지훈], [권영기], [조영준], [강성현], [원준연], [김태진], [김도형], [정의정], [장혁재], [장혁수], [고종], [안혁준], [송바위샘], [송지원], [박성현], [김수경], [변형진], [김홍기], [임구근], [강석천], [권순의], [이승], [정진경], [이예나], [이봉규], [김윤환], [정성우], [정종록]
          * 본격 다른 사람의 코드에 폭탄 싣기!!!. 예기치 않게 그렇게 되어 버렸네요ㅋ. 클린 코드에 대해서는 그렇게 공부해 보고 싶은 생각이 없었습니다만, 다른 사람과의 소통이 필요 코드를 위해서라면 어느정도는 숙지해야 될 것 같군요! 페어코딩하면서 나름대로 머리속을 잘 굴려봤네요. 쉽게 짜주신 여러분, 감사합니다. 저도 이렇게 짜기 위해서 노력하겠습니다. - [김해천]
          * 클린코드 스터디를 하고 있는 중이여서 더 좋았던 것 같습니다. 그리고 타인과 같이 코딩다는건 정말 힘든 일이예요 - [박희정]
          * 깨끗 코드 작성하기. 중요하다는 이야기도 많이 듣고, 깨끗하게 코드를 작성하려고 노력도 많이 하지만 아직 갈 길이 머네요 - [권영기]
          * 강성현 선배님과 조를 짠 덕분에 자바 자체에 대해서도 많이 배우고, 클린 코드라는 강의 내용도 제 코드 짜는 방식을 고치는 데에 좋은 강의였습니다. 그리고 무엇보다 글의 아름다움을 절실히 느낀 시간이었습니다. - [원준연]
          * 넘겨받은코드가 뭘하는건지 알 수 없는 코드여서 읽어보니 남은 시간 3분이여서.. 변수 i라고 넣고 넘겨버려서 참 미안했음.. 폭탄폭탄폭탄(...) -[고종]
         = 이승 / 진격의 안드로이드 & Java =
          * 악몽인줄 알았는데 갑자기 불지옥 ㅎㅎ, 그래도 저에게는 생소하기만 JVM, 안드로이드 내부 구조에 대해서 들을 수 있어서 즐거웠습니다. - [권영기]
          * 뭔가 절반정도를 당연하다는 듯이 들었는데, 생각해보니까 이건 어셈블리가 아니고 JVM... 결국 컴퓨터 구조랑 비슷 형태로 돌아가는거였군요. OS와 어셈블리를 번에 본 듯 느낌이었습니다. 참 많은 공대생들이 사라져갔을것만같네요.. -[김태진]
          * 이런거 알 기회가 직접 부당 상황을 겪는것 이외에는 흔치 않은데 덕분에 좋은거 알게되어서 다행입니다. -[고종]
          * 게임을 만들어서 인터넷에 그냥 배포하면 안된다는 말에 크나큰 충격을 당 1인이였습니다. 허허...물론 새션전에 들었던거였지만 이 내용에 덧붙혀서 더 많은 법적 절차를 밟아야 다는걸 알고 또 맨탈이..허허...슬프면서 유익 세션이였습니다. - [김윤환]
         = 정의정 / MVC와 Observer 패턴을 이용 UI 프로그래밍 =
  • 데블스캠프2013/첫째날/후기 . . . . 18 matches
         [조영준], [김태진], [김윤환], [권영기], [김해천], [서민관], [임지훈,] [김남규,] [이예나], [송정규], [백주협], [박지상], [이봉규], [안혁준], [장혁수], [정종록], [박희정], [김현빈], [고종], [김도형], [원준연], [박성현], [김홍기], [권순의]
          * 기존 온라인 게임과 SNG의 개발 구조?가 완전히 다르다는 건 꽤 들을 만 내용이었습니다. 그리고 자원을 부족하게 유지시킨다거나 SNG의 기획 방향 등도 좋았습니다. - [서민관]
          * 페이스북쪽 게임 개발은 그다지 생각을 안해봣는데, 가볍게 작은 게임 만들생각이나, 혹은 실험적이면서도 작은 측면의 게임을 테스트할때 번씩 쓰면 좋을 것같다는 생각이 들었습니다. - [김윤환]
          * SNS게임과, 온라인 게임을 이해하기 쉽게 비교해 주셔서 머리에 잘 들어왔습니다. 수익 모델을 어떻게 고려하면서 기획해야 하는지도 인상 깊게 들었습니다. -[고종]
          * 어느정도 기사나 추측으로 보고 있던걸 실질적인 관점에서 바라볼 수 있었네요. 사실 전 이런 게임 사이클도 오래가지 않아 사그라들거라고 생각하는 입장을 가진 사람중에 사람이지만.. 그렇게 부정적으로 볼 것까진 없는거같구요. 재밌게 들었습니다. :) -[김태진]
          * 명령어 같은 것이 너무 생소해서 어려웠지만 그래도 상당히 유익 시간이었던 것 같습니다. - [임지훈]
          * 더 심화된 내용쪽(특히 blame, ignore)이 마음에 들어서 잘들었습니다. 다만 처음에 그냥 git commit을 하니 vim이 떠서 명령어를 몰라 맨붕해서 방황하다가 git commit -m "원하는 메세지"를 하니 core editor를 쓸필요가 없음을 깨달아서 허무 기억이...흑...ㅠ. - [김윤환]
          * 데블스 캠프에서 빠질 수 없는 내용인 버전 관리 프로그램 관련 내용을 안혁준 선배가 해 주셨습니다. 전체적으로 깔끔하게 진행 느낌이었고, 직접 사용까지 해 보면서 새내기들은 조금 더 와 닿지 않았을까 싶네요. 다만 후반의 실습 부분은 약간 구성을 바꾸면 조금 더 매끄럽게 실습을 할 수 있지 않았을까 하는 아쉬운 느낌이 있었습니다. - [서민관]
          * GIT으로 누가 멍청 코드를 짰는지 좋은 예시를 든답시고 while문을 집어넣었는데 세션 진행에 방해가 되었었네요. 조금 조심해야겠다는 생각이 들었어요. -[김태진]
          * 너무나도 생소 내용이었지만 정말 재미있었고 앞으로 많은 도움이 될 거라고 생각합니다 - [원준연]
          * 네트워크 쪽은 지식이 상당히 얕은 관계로 그냥 두 노드간의 통신을 시뮬레이트 하는 방법 중에 이런게 있구나라는 것을 알아두는데에 의의가 있었습니다. 아, 이거하면서 페이스북에 리눅스 이야기도 나오고 민관이형이 리눅스를 물어보는 족족 너무 잘 가르쳐주신데다가 곁다리로 제 관심을 확 끌어당기는 중앙저장소 이야기가 나와서 리눅스에 대 관심을 일으키게된 세션이 되었습니다. - [김윤환]
          * 상당히 신기 느낌은 있었는데 이걸 어떻게 쓰면 잘 쓸 수 있을지는 경험이 별로 없어서 그런지 확 와 닿지는 않았다는 게 좀 아쉬웠다. 일단 봉규가 말 대로 네트워크쪽 알고리즘 등의 시뮬레이션에는 쓸 수 있을텐데 음... 시뮬레이션 코드도 C++로 그냥 절차적으로 작성하는 걸로 간단하게 작성 가능하고 pcap 파일로 뽑을 수 있다는 것도 무척 매력적이다. 분명 업계 사람들테는 상당히 귀중 툴이 아닐까. - [서민관]
          * 그러게나 말입니다 -[고종]
          * 황현선배님 ㅠㅠ... 일단 다른분들이 보통은 듣기 힘든, 현장에서의 생 경험을 말씀해 주신 귀중 시간이었습니다. 이런 것이 섞여있는 것도 나쁘지 않네요. - [조영준]
          * 무섭지만 생생해서 재밌었습니다. 저는 어째 이런거 들으면 아.. 내가 저렇게 될 수 있구나 보다는 허허허허 저런일도 있네.. 이런 생각이 들어서 재밌었어요. 앞으로 노력해서 SI는 가지 말아야 겠습니다. -[고종]
  • 새싹교실/2011/무전취식/레벨7 . . . . 18 matches
         Array 메모리상에 똑같은 형식의 변수들이 개의 이름으로 모여있는것.
         이소라 : 재수하는 친구를 만남. 12시에 만나서 점심을 먹으러 김밥 완전 맛난데 먹으러감'ㅅ' 그리고 청계천 걸어서 종각을 갔는데 케잌 가게가 완전 맛있는데서 딸기 스무디랑 케잌 완전 맛난거 먹음. 그러고 대학로를 감. 그리고 적녁을 먹어야 되서 돈부리를 먹음. 집에 그냥 가기 아쉬워서 카페에서 오렌지 에이드. 그리고 건대 축제 감. 갔는데 중앙대를 같이 온 친구를 번도 못봤는데 건대 축제가서 봄.
         그리고 나와서 일본어 과에 친구보러 주점감. 그래서 1:1로 술 병 놓고 함. 근데 컴공 누가 와있다고 함. 그래서 1:1로 병 놓고 먹음. ㅋㅋㅋ 그리고 나왔는데 성균관대 다니는 친구가 와서 얘기하다가 고등학교 선배를 만남. 그래서 또가서 먹음. 죽음 ㅠㅠ 그래서 오늘 아침에 밥을 못먹음.
         이진영 : 일요일에 어버이날 이어서 엄마,아빠 산에 가신틈을 타서. 이때 언니랑 나가서 선물 사옴 엄마는 스카프 아빠는 세시봉 사드림. 샀는데 엄마 아빠가 밤 12시 넘어서 들어오셔서 5월 9일 드림 . 난 싼타였음. ㅋㅋㅋㅋ 그리고 월요일에 남자친구랑 멀티방에 갓는데 Wii로 권투게임함. 저는 필살기를 알고있었는데 남친테 알려주니 계속짐 ㅠㅠ 그래서 완전 약올라서 다음번에 꼭 이길거임. 원숭이 캐릭터로 계속 이기고 원숭이춤춤 ㅋㅋㅋ 완전 때리고 싶음 ㅋㅋㅋ 석가탄신일에 학교에옴. 창설하러. 그래서 4시간동안 개조를 할려고 노력했는데 시간만에 다른 모델로 바뀜 ㅠㅠ 그래서 학교 3시에 왔는데 10시에감 ㅋㅋㅋ 그래서 고딩 동창회도 못감 . 그리고 어제 건대 친구가 축제라고 오래서 갔는데 축제 구경 안시켜주고 밥먹고 칵테일 바를 감. 소라랑 같이 안다님 ㅋㅋ. 가위바위보해서 데낄라 준대서 이겼더니 감기약맛남 ㅠㅠ 그리고 애플 마티니를 시켰는데 완전 씀. 술이 체질이 아닌듯함. 그래서 집에 오는 전철에서 딥슬립 옆남자 어깨에 기대서 잠. 그리고 오늘 창설 실패함.
         서원태 : 지난주 화요일날 영어 교수님테 시험 더보게 해달라고 메일을 보냈음. 보러오랬음. 그래서 시험 봤는데 아직까지도 평가를 안해주심. 쉬는중엔 C과제하고 스타1함 .
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 이걸 너무 늦게 올리게 되는군. 드디어 나오는 pointer 대마왕!! 이거이거 쓰는법이 정말 힘들게 하지요~ 난 컴퓨터가 아니라. 이건 너무 힘든 개념입니다. 요즘 너무 지루하게 가르치고 있는건지 아니면 시간대가 졸려운 시간인건지 모르겠습니다만 문제가 있는것 같아요. 졸리거든요. 이제 부터 아이스브레이킹 20% 복습 40% 진도 40% 시간이 될듯합니다. 번 읽어보는것만으로 큰 힘이 되는 개념이라 생각하고 갈키고 있으니 후기 쓸때도 잘 부탁드립니다. 길게 써요 좀. - [김준석]
          * 이제 포인터라는걸 배웠는데 너무 어렵습니다. 주위 친구들은(능력자들) 미리 배워놔서 잘 쓰고 있다는 말을 들으니 너무 부러워요ㅋ. 인터넷에 보니까 포인터배열,배열포인터라는게 있더군요 이게 뭔 소린지ㅋㅋㅋㅋ 다 자기하기 나름이지만 계속해서 난이도가 높아지는 C프로그래밍이 무서워지기 시작합니다ㅋㅋ C과제도 점점 어려워지는데 자기스스로 게 반정도 쯤? 나머지는 인터넷,선배님 찬스ㅋㅋ 방학동안에 C공부를 엄청나게 해야할것 같아요. 기말고사도 1달을 앞두고 있는데 중간고사때처럼 망치면 안되니까 열심히 복습을 해야겠습니다 - [서원태]
          * 포인터의 심화과정은 정말 길지. 그것의 기본 개념을 배웠다고 생각하면된다. 후기 먼저써준것 고맙다. 천릿길도 걸음 부터라고 너가 하고있는 일이 하나하나 너에게 힘으로 돌아올꺼야. 그리고 인터넷을 찾고 선배들에게 물어보는것은 분명 '검색'의 일종이다. 자주 찾아서 쓰다보면 너의 지식이 될꺼야. - [김준석]
          * 지난 시간 복습을 하고! 드디어 그 포인터라는 것을 들어갔습니다..학기초에 소라가 포인터 포인터@.@ 라고할때 그 포인터가 이렇게 일 찍 다가올 줄은 몰랐네요..ㅋㅋㅋ ㅠㅠ오빠가 잘 설명 해주셔서 대충은 알 것같아요 ㅎㅎㅎㅎ 하지만 꽉 잡고 싶어용! 앞으로 3년은 편해진다고 하시기에......ㅎㅎㅠㅠ 이제 첨 시작 거니까 겁먹지 않을 테여요!! ㅎ ㅔ헹~~!복습을 마니 해서 좋아요!! - [이진영]
          * 아 도망간거 아니에요 ㅜㅜ 그날따라 또 스케쥴이 겹치고 겹치고 완전 이상날이 되서 문예사 수업도 못듣고 머얼리 갔었는데 ㅜ..... 벌금이라뇨 ㅠㅠㅠ흐흐흐흐흑
          * 저도 포인터를 포기 경험이 있어서 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ못해요.... 앞으로 오빠테 잘 배울게용...하하 천천히 가르쳐주세용>_< 배열선언하고 배열이름엔 배열이 시작되는 주소값이 들어간다는 것도 배웠어요. 이제 점점 더 어려워지겠죠..흑흑 걱정이 앞서여어어어 이제 소라찬스따윜ㅋㅋㅋㅋ -[이소라]
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.3 . . . . 18 matches
          4. file을 번에 object파일로 바꾸는 컴파일말고 다른 개념이 있을까? 있다면 어떤 개념일까?
          9. 각 자료형들의 표현 가능 범위. 이를 통해 32bit 시스템에서 64bit 시스템으로 바뀌었을 때 달라지는 점들을 간략하게 배워봤다.
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 지난 시간 배웠던 것을 반복을 했다. 모두에게 문제에 대 대답을 전부 들었다. 굉장히 의미가 있었다고 생각다. 스쳐지나가는 기본들을 다시 다잡았다고 생각다. 잘못알고 있거나 약간 부족하게 알고 있던 내용들을 스스로 피드백을 줌으로서, 정리하게 하였다. 앞으로 마무리 할 때 쯤 다시 번 이런 시간을 가져야겠다. - [박성현]
          * 선생님의 질문에 답하는 시간을 가졌다. 질문에 답하면서 많이 헷갈렸던 것 같다. 다른 애들의 답변을 들으면서 많은 것을 배운 것 같다. 나도 기본적인 부분을 다시 번 공부해봐야겠다. 프로그래밍은 아무리 작은 것이라도 절대 놓쳐선 안 되기 때문에 기본에 충실해야 되니까... - [장용운]
          * 3월 초에 배웠던 것 부터 얼마전에 배운것 까지 번 훑어보았다. 평소에는 생각해보지 않았던 원론적인 것들에 대해 생각해보게 된 좋은 시간이었다. 가끔은 이렇게 처음부터 왔던 길을 돌아보는 것도 유익하다는 생각이 들었다. 앞으로 가끔 이런 시간을 가져봐야 겠다. - [송치완]
          3. 소스 코드를 작성다 -> 컴파일(.obj파일 생성) -> 링크(다른 오브젝트와) = .exe파일 생성
          4. 루비 언어처럼 명령문을 줄 입력하면 그 결과를 출력하는 방식?
          7. 인자 전달받음 -> 첫 번째 인자로 전달받은 문자열에 맞는 스타일로 전달받은 변수의 값들을 서식 문자에 맞추어 바꾸어 기본 출력 스트림으로 출력다!
          4. file을 번에 object파일로 바꾸는 컴파일말고 다른 개념이 있을까? 있다면 어떤 개념일까?
          -컴파일을 줄 씩하는 인터프리터 입니다
          -컴파일을 하기 전에 소스 코드에 명령에 맞는 처리를 다.
          -모니터에 ""안에 들어있는 인자들을 출력
          9. 각 자료형들의 표현 가능 범위. 이를 통해 32bit 시스템에서 64bit 시스템으로 바뀌었을 때 달라지는 점들을 간략하게 배워봤다.
  • 새싹교실/2012/나도할수있다 . . . . 18 matches
          * 다양 데이터형의 출력 방법
          * while 문의 무루프
          printf("무루프");
          * do-while 문의 무루프
          printf("무루프");
          * 새싹 첫수업을 했다. 도중에 현민이가 영어 수업을 받으러가서 시간 비었다. 다음주부터는 시간을 시간 연기하여 세시부터 시작할 예정이다. gcc의사용법을 간단히 설명했고, gdb는 학생들이 디버깅을 몰라서 설명해주지 않았다. printf사용법부터 시작해서 연산자, 데이터 타입, while,do-while,for문을 설명했다. 현민이는 쉰게 잘 따라오고, 윤호도 천천히 따라오고 있어서 앞으로 수업하는데에 지장은 없을 것 같다. 수업을 다 하고 생각해보니 너무 우왕좌왕하게 가르쳤던것 같다. 다음시간은 더욱 열심히 준비해야겠다. - 추성준
          * 후기쓰는걸까먹고있었다. 새싹은 내위주인것같아서기분이좋다.이러다교수님수업안듣게될까봐 걱정이다.교수님은 너무 날 힘들게다. 새싹좋다. -신윤호
          * 3월 22일, 6피에서, 이현민이랑 추선준 성생님과 c를 visual studio를 이용해서 수업을 했습니다. 함수를 몇개 배웠습니다. for,while이 어려웠습니다. 집에가서 다시번 해보려고 합니다. 아는게 없어서 다음에 뭘 해야 할지 모르겠습니다. - 신윤호 회고지
         /* for 문을 이용 1부터 10까지의 합 */
         /* while 문을 이용 1부터 10까지의 합 */
          * 지난주에 수업했던 for,while의 복습으로 시작했다. 1부터 10까지의 합을 구하는 프로그램을 짜보라고 했는데 쉽게 하지 못하고 많이 버벅거렸다. 둘다 집에 비주얼 스튜디오가 없어서 복습을 안 것 같다. 그리고 소라때리기 게이을 타이핑하게 하고, 소라때리기 게임에서 쓰이는 함수들을 설명해주었다. 그런데 번에 너무 많은 양을 배워서 그런지 이해도가 떨어지는 것 같아서 다음주에 보충수업을 하기로 했다. 다음주 과제로는 MP를 추가해서 마법공격, 체력회복을 추가해오는것을 내주었는데 아마 안해올것 같다. -추성준
          * 시작하자마자 while로 1부터 10까지 더했다. 나는 버벅거렸다. 근데 조언을 구하면서 해봤다. 게임코드도 베껴써봤다. define은 메인함수 바껭서 하는 거라고 배웠다. select=getch() 이거가 좀 헷갈렸다. break가 나오면 멈춘다고 다. 오늘 정말 여러가지를 배운거 같다. 때리기 게임안에 많은 함수가 들어있는게 신기했다. 복습도 좀 더 열심히 해야겠다. 집에 비쥬얼스튜디오도 깔고 스스로 하는 습관을 들여야겠다. -신윤호
          * 소라때리기 게임을 만들었다. for,while복습하고 오늘 여러가시 새로운거를 많이 많이 배웠다.다음에 여러가지 스킬을 만들어야 되요..ㅠㅠ너무 꺼번에 많을걸 배웠어요....과제는 2주에
         번만 했으면좋겠어요;ㅠㅠㅠㅠㅠㅠㅠㅠ아아..멘붕..;;-이현민
         /* 배열을 이용 스트링표현 */
          * 이번주도 굉장히 많은 내용을 배웠다. 함수, 구조체, 배열, 포인터를 가르쳐줬는데 역시 번에 이해시키기란 쉽지 않은 것같다. 다음주에도 어김없이 보충수업을 해야겠다. 짧은 수업시간에 많은걸 배우는게 쉽지 않는데 지각,결석 하지않고 잘 따라와줘서 고맙다. -추성준
  • 새싹교실/2012/열반/120319 . . . . 18 matches
          * 강사에 대 첫인상이 궁금해지는군요. - [김준석]
          * 출력을 위 함수
          * // 를 통해 줄 주석을 할 수 있다!
          * !=, >=, <= 에서 등호가 오른쪽에 있는 것이 중요합니다. 예를 들어, x=!y 는 x y를 비교 것이 아니라, y에 !(not) 논리 연산을 결과를 x에 대입 것입니다.
         = 다음 수업에 필요 내용 =
          * 생략 가능 내용 : 삼항연산자(?:)
          * 재귀함수를 이용 반복문을 먼저 설명하려 합니다.
          * [채유빈] : 교수님테 못물어보는거 편하게 물어볼 수 있어서 좋았어요.
          * [정진경] : 리눅스 터미널 환경에서 진행했는데, 컴파일 하는 과정이나 편집하는 과정의 설명은 생략했습니다. 검은 화면에 흰 문자열이 큰 거부감을 일으키는 것 같지는 않습니다. 아무래도 준비가 빈약하다보니 뭘 가르쳐야 할지 모르겠습니다. 일단 상세 문법이나 C 표준에 대 설명은 뒤로 미루는 것이 좋을 것 같고, 일정 수준 이상의 프로그래밍을 스스로 할 수 있을 정도로 실력을 끌어올리는 것에 집중해보려 합니다. 또 중간중간에 코드를 작성 것에 대 출력을 물어보면서 알고 있는지 확인하는 과정이 중요 것 같습니다.
         = 질문에 대 답변 =
          // 다중 반복문을 번에 빠져나오려 할 때 goto를 쓰기도 합니다.
  • 새싹교실/2013/라이히스아우토반/2회차 . . . . 18 matches
         ||고종|| o || o ||
         C : 반복문이 끝나고 수행할 연산. 보통은 i++ 같은걸 다.
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
         이상 나무가 만들어 졌습니다. 너무 어려웠습니다.
         아직 노력 부족인가봐요 ㅠㅠ 별찍기 번 정말 어렵내요
         별찍기 완성 순간 출력물 보는대
         2. for 문을 통 반복
         3. for문 2개를 이용 구구단
         4. for문 2개를 이용 팩토리열
         위 5가지를 배웠다. 좀 더 복잡 프로그래밍을 하고싶다.
         == 고종 ==
         경준이랑 영민이가 배우는 속도가 빠르다. 중간에 [김해천]이 난입해서 훈수 두는 바람에 뭘 얼만큼 하는지는 못 봤지만, 연습 예제를 꽤 많이 것 같다.
         다음에는 자리 앉는 법을 바꿔야 겠다. 줄로 쭉 앉으니 쪽에 신경쓰면 다른쪽이 산만해진다.
          char dot; // 입력 받을 문자를 위 변수.
          int i,j; // for문을 돌리기 위 인덱스용 변수.
          printf("\n"); // 층을 나눠줘야 하니까 enter를 번 찍음.
  • 새싹배움터05 . . . . 18 matches
         진행자들은 교수나 강사가 아닙니다. 세미나, 교유에 경험 부족 그들의 세미나가 완벽할순 없습니다.
         우리들이 진행자들을 부족 부분을 질문등 부드러운 방법의 첨가와 보충으로 도와준다면,
          * 소규모의 그룹으로 진행되는 [작은새싹배움터05]는 기본적으로 담임의 재량에 맡기되 담임끼리 언제나 충분 상의를 통하여 진행해 나간다.
         || 2_4/11 || C ([이승]) || 기본문법과, 포인터 || 중간고사 대비라는 느낌이 진하게 될듯 ||
         || 4_5/2 || [후각발달특별세미나] ([신재동]) || Refactoring에 관 것 || 냄새를 잘 맡게 게 됨. ||
         || 5_5/16 || [Debugging/Seminar_2005] || Debugging ||VisualStudio에서 Debugging 방법 + Eclipse에서 Debugging 방법 + 효율적인 디버깅에 대 토론 ||
          C, 발표잘하는법, PPT제작 기법, [Python], [PHP], [ExtremeProgramming], ToyProblems, Linux, Internetworking(TCP/IP), Ghost(demonstration), OS(abstraction), OS+Windows, Embedded System, 다양 언어들(Scheme, Haskell, Ruby, ...), 보안(본안의 기본과 기초, 인터넷 뱅킹의 인증서에 대해..), C언어 포인터 특강(?), 정보검색(검색 엔진의 원리와 구현), 컴퓨터 구조(컴퓨터는 도대체 어떻게 일을 하는가), 자바 가상머신 소스 분석
          * 이번에 세미나 및 프로젝트를 할때는 과거에 비슷 주제로 했던 문서들을 적극 활용하였으면 좋겠습니다. 지금까지 보통 세미나,스터디를 하면 뭐든 새로 만들었는데 그것보다 과거에 했던 것중에서 좋은것들을 잘 모아 편집하고 추가로 필요 내용들을 넣는것입니다. 그렇게 하여 가지 주제에 대 완성도 높고 양질의 문서들을 만들어 나가서, 세미나, 프로젝트가 그 순간에만 활용되고 끝나기 보다는 과거의 것을 정제 하고 과거 했던 비슷것들을 할 시간에 더 양질의 내용을 채워 나가서 계속 활용하였으면 합니다. -[상협]
         우선 처음 세미나는 신입생 대상으로 위키 세미나가 다시 이루어져야 할 것 같습니다. 예전 위키 세미나에 신입생이 많이 참여하지 못했다고 들었습니다. 전에 위키 세미나 했던 사람이나 아니면 새로운 사람을 정해서 했으면 합니다. 그리고 첫 세미나는 다음주 월요일부터 시작하는 건가요? 그렇다면 급 다음주 월요일 세미나 강사를 정하는 게 중요할 듯 합니다. --재동
         [데블스캠프]같은 행사에서 하루 정도는 신입생이 재학생을 대상으로 세미나를 해보는것도 좋을것 같다. 준비의 주체는 신입생 모두이고 주제는 어떤 것이 되든 상관없다. 신입생들은 준비하는 과정에서 이것저것 얻게 되는 부분이 무언가 가지는 반드시 있을 것이다. - [임인택]
         재동이 다음으로 제가 번 해볼까 하는데... 무엇을 하는게 좋을까요? --[상규]
          음 어떤게 좋을까요?? 많아 보였는데 실제로 하려고 생각하면 몇가지 없기도 하네요. 가능 주제를 먼저 골라보면... [Python], [ExtremeProgramming] 이 대표적인데... - [톱아보다]
         [CVS] 나 [VisualSourceSafe] 와 같은 녀석들도 번 세미나 해봤으면 좋겠습니다. - [톱아보다]
         5/31 월요일은 세미나가 없는 건가요? 내일이 기말 고사 전 마지막이 될 듯 데. --재동
  • 속죄 . . . . 18 matches
          * Author : 이언메큐언 // 정아
          * [이승]: 40점 B) B)
          * 무더운 어느 여름날, 열세살의 브리오니 탈리스는 우연히 창 밖을 내다보다가 언니 세실리아가 옷을 벗어던지고 정원의 분수대에 뛰어드는 것을 목격다. 자매의 어릴적 친구이자 케임브리지에서 얼마 전에 돌아온 의사 지망생 로비 터너가 그런 세실리아를 지켜보고 서 있다. 그날 하루가 끝날 무렵, 탈리스 저택의 영지에서는 또다른 소녀가 강간을 당하고, 이때부터 세 사람의 운명은 생각지도 못했던 엇갈림을 겪게 되는데...
          * 무슨 이상 상을 받았음(작은 날개에 써있었는데 잃어 버렸음)
          * 서강대학교 영문학과 국외국어대학교를 통역번역대학원 영과를 졸업했으며, 현재 양대학교 국제어학원 조교수로 재직중이다. "잔의 첫사랑" "우울 생활 극복하기" "이잔을 들겠느냐"외 다수의 책을 번역했다.
          * 양대 어학대학원도 별거 아니군.
         === 이승 ===
          * 공상하기 좋아하고 이야기 하기 좋아하는 여자아이, 세실리아라는 신식 여자, 하인 집안의 아들로 케임브리지를 우수 성적으로 졸업하고 다시 케임브리지 의대에 합격 로비. (위의 소개말과 다르지 않다.)
          * 이 세명에게 같이 일어난 가지 사건을 서로 다른 시각으로 사람씩 차례로 돌아가며 의식의 흐름기법을 이용해 서술다. 제길. 500페이지중 약 절반이상은 이렇게 의식의 흐름으로 때워버린다. 해가 어쨋네 땅이 어쨋네~ 뭐. 외국인이 자기네 말로 보면 재미있고 멋질지 모르지만, 기본적인 우리말 문법도 틀리는 이상 번역작가의 글을 보면서 멋지다고 하긴 정말 너무 힘들고 짜증난다. 이부분 끝나는 곳까지 보는데 3달 걸렸다. 제길.
          * ''번역이 이상 부분을 일일이 들춰보고 여기에 써보고 싶지만 이 책을 다시보긴 더 싫다.''
  • 숫자를한글로바꾸기/정수민 . . . . 18 matches
         동영상강의가 탐나서 엄마공장서 짬내서 번 만들어봤다.
         알고리즘은 문제가 없는데 자잘 실수때문에 2시간이나 더걸려버렸다.
         이런식으로 시간소모게 하루이틀은 아니니 넘어가고;
         이러저러 모양중에서 어떤게 제일보기 좋은지 생각하는중... 꾀나 . 어렵더라 -_-;;
         이런건 만들시간있고 자바는 안건드리는거 승이 형이 알면 화낼태지만 ㅡㅡ;;;
         이런문제는 번보면 다른일을 못하니 별수없이;;;
         //글로 출력하기 앞서 필요 변수들을 저장 /
         //글로 출력! /
          // 숫자를 출력다. 여기서 "input[ dummy_ja_ris_soo - ja_ris_soo ]"이조건은 시작을 //
          // 제외 부분에 1은 출력을 안다는 것이다. //
          // else if 부분은 시작부분은 무조건 숫자를 출력다는 조건이다. /
          // 작은 자리단위를 출력다. 여기서 "input[ dummy_ja_ris_soo - ja_ris_soo ] != '0'" //
          // 큰 자리단위를 출력다. "(ja_ris_soo-1)%4==0"이조건은 숫자의 뒤에서부터 4개단위로 //
          // 앞에서부터 출력하므로 --로 연산다. /
         == 나테할말 ==
         [LittleAOI] [숫자를글로바꾸기]
  • 시간관리하기 . . . . 18 matches
         보통 이 문제에 대해서는 '스스로가 게을러서' 로 끝나고, 문제에 대해 너무 막연하게 대처다.
         ["1002"] 의 경우 치열하게 살고 있진 않지만, 몇몇개 해본 일들이 있다. 처음에는 크고 거창하게 계획 세우고 일들 순위 매기면서 하는 스타일을 시도했었는데, 요사이는 작고 간단하며 실천적인 행동들을 생각하려고 노력다. (하지만, 여전히 게으르다;)
          * 그래프 그리기 - 기상시간을 체크 뒤, 다이어리의 모눈종이에 그래프를 그린 적이 있다. 일찍 일어나면 수치가 높고, 늦게 일어나면 수치가 낮은 식으로. 그러다보면 대강 기상시간이 늦어지는 때가 눈에 보인다. 걸리는 시간 : 5초. 분석 : 2분.
         사람들로부터 많이 화자되는 책들 관련. 자기혁신, 시간관리 책들은 참 많고, 편으로는 너무 작위적으로 보이기도 하다. 그중에서 추천해볼만 서적들.
         시간관리 책들의 내용들은 뭐 거기서 거기이라는 생각이 약간 들지만. 이 책의 장점이라면, 자신의 구체적인 행동이 적혀있다는 점을 뽑고 싶다. 구체적인 아이디어들이 적혀있다. 학교도서관에 있다. 책 두께도 얇고, 간단하게 두가지만 아이디어를 얻어서 실천해보고 또 해보고 하는 식의 접근도 좋을 것 같다.
         번역본도 있는데, 개인적으로는 그 책에서의 공병호씨의 리딩가이드를 참 싫어했었던 관계로; (오히려 방해된다는 생각이 들어서;) 학교 도서관에 서/영서 둘 다 있다.
         의외로 '간단해보이는', 하지만 인간적인 시스템을 제공다. TDD 를 하는 사람들이라면 'To Do List 에 등록해놓기' 생각날지도.
         시간관리 책들을 보고 처음부터 거대 시스템을 만들어서 꺼번에 자신에게 적용하려고 하는 사람들에게서, 소프트웨어 개발방법론인 XP 에서의 다음의 주문은 어쩌면 의외의 효과를 가져오는 것 같다.
         ==== 웹 서핑하다가 발견 글 ====
         어떤 시간관리 전문가에 대 이야기입니다.
         그는 테이블 밑에서 커다란 항아리를 하나 꺼내가지고 테이블 위에 올려놓았습니다. 그리고나서 주먹만 돌을 꺼내 항아리 속에 하나씩 넣기 시작하였습니다. 항아리에 돌이 가득하자 그가 물었습니다.
         학생들이 이구동성으로 대답했습니다. "예" 그러자 그는 "정말?" 하고 되묻더니, 다시 테이블 밑에서 조그만 자갈을 뭉큼 꺼내 들었습니다. 그리고는 항아리에 집어넣고 깊숙히 들어갈 수 있도록 항아리를 흔들었습니다. 주먹만 돌 사이에 조그만 자갈이 가득 차자, 그는 다시 물었습니다.
         눈이 동그래진 학생들은 "글쎄요" 라고 대답했고, 그는 "좋습니다" 하더니, 다시 테이블 밑에서 모래주머니를 꺼냈습니다. 모래를 항아리에 넣어, 주먹만 돌과 자갈사이의 빈틈을 가득 채운 후에 다시 물었습니다.
         학생들은 "아니요." 라고 대답했고, 그는 "그렇습니다." 라면서 물을 주전자 꺼내서 항아리에 부었습니다. 그리고 나서는 전체 학급에 물었습니다.
          학생이 즉각 손을 들더니 대답했습니다.
          * 역시 실천이 가장 중요듯.. --["상민"]
  • 음계연습하기 . . . . 18 matches
          세상에 음계(etude-연습곡)를 연습하는 것보다 더 지루 일은 없다. 그러나 [[HTML(<FONT COLOR=BLUE>위대 연주자일수록 하루도 빠짐없이 성실하게 음계를 연습다.</FONT>)]] 마찬가지로 [[HTML(<FONT COLOR=BLUE>유능 외과 의사일수록 층 더 성실하게 봉합술을 연마다.</FONT>)]]
          피아니스트는 연주 능력 향상에 크게 도움이 될 것 같지 않은 음계를 여러 달 동안 계속 연습하기도 다. 그러나 그 연습이 피아니스트로 하여금 원하는 음악적 성취를 이룰 수 있도록 해준다. 외과 의사는 능숙 수술 실력 향상에 크게 도움이 될 것 같지 않은 작은 손놀림을 익히기 위해 여러달 동안 계속해서 봉합용 실과 씨름을 다. 외과 의사는 그 꾸준 연습 덕분에 수술을 빠르고 정확하게 하게 되고, 그 결과 소중 인명을 구하기도 다. [[HTML(<FONT COLOR=RED>무언가를 성취하는 것은 반복적인 연습에 의해서만 가능하다. </FONT>)]]
         프로그래밍도 이러 음계(etude-연습곡)연습을 꾸준히 해서 장인(Craftsman)으로 발전해 나가는 길이 있지 않을까?
         단순 음계 연습은 무엇도 이루어 주지 않습니다.
         에릭슨(Ericsson)의 전문성(expertise)연구가 이쪽 방면에 유명합니다(see also http://www.vocationalpsychology.com/expertise.htm 및 각종 인지심리학 서적). 바이올린 전문가들에 대해 막대 추적조사를 해보았는데, 그들의 실력은 자신이 바이올린 연습(정확히 말하면 deliberate practice)에 투자 시간과 거의 비례했습니다. 하지만 에릭슨은 여기에 전제를 답니다. 단순 반복 연습은 아무 도움이 안된다고 강조합니다. 자기 자신을 관찰하는 것, 그리고 피드백을 통해 재조정하는 것이 중요합니다.
         [강규영]도 클래식 기타를 배울 때 선생님께서 매우 강조하신 두 가지가 있는데, 하나는 가능하면 거울 앞에서 연습할 것, 또 하나는 자신의 연주를 녹음 후 들어볼 것 이었습니다. --[강규영]
  • 정모/2011.5.16 . . . . 18 matches
          * 궁금게 있는데.. 왜 플젝 주소가 마이멘싱임? 내가 파견간 방글라데시 도시 이름이잖 ㅋㅋㅋㅋㅋㅋ - [지원]
          * 윈도우 코드네임처럼 도시이름을 따는데 마이멘싱이 그럴듯해서 거임 - [김준석]
          * 11학번 새내기가 많아서 좋았구요. 저와 이름이 거의 비슷 [강수현]이라는 이름의 여학우가 기억에 남아요/ㅁ/ 새싹 골든벨에서 문제들을 들을 때, 새싹교실에서 가르치지 않았던 문제가 나왔을 때 많이 미안했어요. 너무 대충 넘어간 감이 있지 않았나 싶었던 ㅠㅠ 특히 관계 연산자나 비트 연산자 같은 그런 부분은 회의 수업으로 그냥 넘겼었던거라 ㅠㅠ 카네이션과 파이 파티는 정말 인상깊었어요. 준영이가 앞으로 지각을 안하겠다! 라고 말했는데... 사실 오전 10시 수업이라, 집이 머니까 이해할 수 있어요. 하지만, 약속이니까 일단 믿어봐야겠..ㅎㅎ - [강소현]
          * 으아아 OMS 스크립트가 날아갔습니다. 어디간거지. 하하 다시 쓰려니 자꾸 중간에 만화짤방만 보게 됨.. 음 골든벨 참가할 생각은 없었는데 어쩌다보니 참가해버렸네요. 으 나누기 Fail; 그리고 이프문 안에 있는 OR 연산도 고민했습니다. 3월즈음에 플립플롭 본 내용이 기억나면서 그냥 찍었는데 맞췄네요(결합방향도 의심스럽긴 했지만). 여튼 지원금은 무전취식반이 까까라도 사먹으면 될듯. 으 진정 의미의 무전취식일지도 - [정진경]
          * 안녕하세요. 09학번 박성현 입니다. 라고 인사를 했던 박성현입니다. 후기를 오랜만에 쓰는 것 같군요. 저번주에는 오자마자 끝났었기 때문인가봐요. 으으. 들어가자마자 들은 소리가 'SW마에스트로 일찍 내'였는데, 어찌 제가 1주일 늦게 낸걸 다들 알고 계신건지ㅋㅋ 이번주 정모에는 새내기들이 많아 참여해서 참 좋았습니다. 이제 새내기들이 점점 정모에 참여를 많이 하겠군요. 들어가자마자 인사를 했는데, 정작 제 이름만 알리고 이름 알고 가는 새내기들이 명도 없네요 ㅜㅜ. 얘들아 나 보면 이름좀 알려줘... 얼굴은 기억 해놨어. 새싹 골든벨에선 "Gara"가 참 인상에 남네요. 발상의 전환입니다. ㅋㅋㅋㅋㅋㅋㅋ 그리고 우리 반에서도 승자가 나왔으면 좋았을 텐데, 제가 '아스키 코드'를 제대로 안 가르쳐서 그만 팀킬을 해버렸네요. 제대로 가르쳐야겠습니다. ㅋㅋ 다음에 또 골든벨 할 때는, 좀 더 의미있는 문제를 내봐야겠습니다 ㅋㅋ 문법문제 말고요 ㅋㅋ - [박성현]
          * 강의실 들어가는데 사람들이 많아서 깜짝 놀랐네요. 새내기들이 정모에 이렇게 많이 오다니 왠지 간질간질 정모였어요. 새싹 골든벨 다들 재미지셨는지. 미리 문제 안내도 되나 걱정했는데 재학생분들 문제내느라 아주 신나셨던듯ㅋㅋ 함정파놓고 두근거리는게 다 보였네요. 마지막에 준석선배의 이벤트 감동이었어요. 새싹 선생님들께 헌화하는 새싹들 오글부럽. 파이먹고 기분좋게 끝내서 다들 좋은 기억 가져갔겠죠? 뭐 저런걸 다해라고 생각했는데 소소 곳에서 감동을 받는게 인간인거 같습니다. 저도 이벤트 챙기는 법을 좀 알아둬야 겠어요. 하도 메말라서.. 후후 오늘의 후기 끝~ - [서지혜]
          * 11학번 학우들이 흥 했던 정모였습니다. 골든벨 문제를 내면서 또 학우들이 푸는걸 보면서 확실히 제가 새내기 때를 생각하면 수준이 많이 높아요.. (이것도 지피 학우들의 힘!?) 난 1학년 1학기 때 if문도 제대로 쓰지 못했는데 말이지요~_~ 스승의 날 이벤트로 준비 준식이의 꽃 + 파이 햏사도 인상적이였어요. 역시 준석이는 애들을 잘 챙겨요. 앞으로도 쭉 thㅐ내기 학우들과 재학생들이 흥하는 제로페이지 정모가 되었으면 좋겠습니다 - [지원]
          * 햏피 햏사였죠 - [서지혜]
          1. 새싹들과 함께 뭘 할까 고민하다 지혜가 아이디어를 내서 골든벨을 했습니다. 제가 사전에 문제를 다 준비하려다 시간도 안 되고 재학생들은 보기만 하는 정모는 재미없을 것 같아 재학생분들이 돌아가면서 내는 형식으로 진행했습니다. 결과적으로 제가 혼자 생각해본 문제들보다 다양 문제가 나와서 좋았어요! 지원금 쟁탈전이라는 명목으로 진행했지만 중간중간 새내기들이 잘 못 푸는 문제는 풀이도 하고, 단순히 맞고 틀리고를 떠나 그동안 배운 것들을 점검하고 몰랐던 것들을 배워가는 시간이라고 느꼈길 바랍니다.
          1. 준석선배께서 파이와 꽃을 가져오셔서 서프라이즈 스승의 날 파티를 했습니다. 꽃을 받을때는 다들 오글오글 표정이었지만 전 조금 오그라드는 편 즐거웠습니다. 올해로 마지막 새싹교실이라 더 와닿는 파티였어요. 이런 일을 계기로 새싹 교실 선생님으로 참여중인 재학생들도 누군가의 선생님이 된다는 것에 대해 좀 더 진지하게 생각해볼 수 있지 않을까 합니다. 그리고 파이가 정말 맛있었어요!!! 생긴 것 부터가 ''나 비싼 파이요''하고 말하는 듯 파이였습니다ㅋㅋㅋ 아 그리고 샴페인이 탄산음료인 건 충격적이었어요. 그럴 줄 몰랐거든요… - [김수경]
          * 나도 꽃받고 싶어서 행사였지! 근데 우리반애들 안와서 ㅠㅠ 하지만 기쁨은 나누면 두배가 된다는 말처럼 이런 행사를 진행했던게 나로서도 너무 기분이 좋네. 올해 마지막이겠지만 수경이 너무 새싹강사 수고했어 마지막이었다는 생각은 못했지만, 많은 경험도 있었고 즐겁기도 했을거라 믿는다. 아 샴페인도 스파클링(탄산) 있고 아닌것도 있어. 와인도 스파클링이 있고 아닌것도 있고. - [김준석]
          * gara가 가장 기억에 남는 정모군요. 제가 새싹하면서 그렇게 goto를 깠는데 저희 새싹 학생의 정답은 gara... 웃음을 준 준호에게 고마움을 전합니다. 그리고 진경이 OMS는 장난 아니더군요. 어째 전 1년 동안 ACM 이름만 들어봤는데 벌써 거기까지 준비해놓고 많은 정보를 후배테 얻을지는 몰랐습니다. 그리고 준석이형, 파이랑 샴페인 잘 먹었어요!! - [윤종하]
          * 후기가 엄청 늦었군요. 처음으로 참가 정모 였습니다. 기총회의가 월요일 6시라 정모참여하기 참 힘드네요; 학회라는 거 좋은 것 같아요. 분위기가 친숙하다고 해야하나... 맘에 들었습니다. -[고종]
  • 정모/2011.5.23 . . . . 18 matches
          * 참가자 : [김수경], [서지혜], [정의정], [김홍기], [권순의], [강성현], [황현], [정진경], [김태진], [고종]
          1. 오늘은 OMS도 ScriptLanguage에 대 내용이고, 세미나도 있고해서 학술 동아리스러운 느낌이 들어서 좋았습니다ㅋㅋㅋ
          * 모르는 11학우는 아마 [고종] 이라고 위키에 자주 등장하는 녀석일거예요~ -[김태진]
          * 먼저 자바스크립트 스터디에 관심이 생겼어요(진경이도 어제 뭐더라.. 어떤 언어가 알고리듬이 아주 달라서 배울만 가치가 있다고 하더라구요. 같은 맥락이지 싶어요). 내일 몇시인지 알아낸 다음에 어떻게 진행되고 있는지 살펴보고, 적합하다 판단되면 저도 동참해야겠어요. 또 세미나를 보면서, 와.. 저런걸 여기서도 구현하는구나.. 라는 생각이 들었어요. TrustModel과 비슷걸 만들고자 하는 사람들을 아는데, 저런식으로 아예 수치화 시키는게 역시 효율적인가.. 라는 생각도 들었구요, 후에 연구실(다른데인가?)에 들어간다면 저런걸 하는걸 보게/혹은 후에는 직접 하게될 수 있다는 사실에 나름 다시 감탄(?)했어요. ..아니면 빨리 이 길을 뜨는게 답인가요?ㅋㅋㅋㅋ 아, 또 성현이형이 동아리에서 프로젝트같은거 하신다고 하셨는데, 어떤걸 누구와 어떻게하였는지(그러니까 그 전반)도 번 들어볼 기회가 있으면 좋겠어요. 여기서 잘 복붙해서 세미나 글에도 후기를 올려야겠네요...ㅎㅎ -[김태진]
          * 이래저래 커스 공연도 다고 하고, 과제 때문에 불참도 하고, 저번 정모 때 워낙 11학번 학우들이 많이 있어서였을까요,, 조금 썰렁하다 라는 느낌이 있었지만,, 뭐 홍기의 세미나 잘 들었습니다. 이번 OMS에서 script에 대해서 하셨는데,, 아르바이트 할 때 약간 다뤘던 (간단 웹 페이지 수정 작업을 했습니다. 그 외에 엑셀 작업 조금이랑,, 개인 공부(?)) 기억이 났습니다. 조금 고치고 저장 다음에 페이지 열어보고, 잘 되네 이러고 다른거 수정 하고 했었습니다. 전역 후 승이형이 알려준w3school.com 사이트에서 좀 기초적인 것만 공부하고 아르바이트를 시작했었는데, 자세하게 공부 할 기회가.. (없었던게 아니라 내가 안했을 지도..) 접,, 여튼 조금 더 관심을 가져 봐야 겠다는 생각이 든 OMS였습니다. ㅎ - [권순의]
          * 지난 정모때 사람이 많았어서 상대적 박탈감(?)이 느껴지는 정모였습니다. 기말이 다가오니 바쁘신지 안오신 분들도 많았고ㅜㅜ 내 OMS가 있던 날인데.. 흙흙 그래도 매번 참석하는 11이 있어 기특합니다. 사람은 빈곤했지만 내용은 학술적인 내용으로 풍요로웠네요. 세미나도 하고. 연구실에서 무슨일을 하고있는지 알수 있는 좋은 기회였습니다. 연구실도 트렌드를 따르는군요ㅋㅋ 친구추천이랑 약간 비슷거 같아요. 나의 OMS 잘 들으셨는지ㅠㅠ 아 스크립트 소개를 위 스크립트도 썼는데 눈이 침침해서 잘 안보여서 횡설수설했네.. 자료실에 ppt랑 스크립트 같이 올려뒀어요 비교해 보세요.. 컴파일 언어가 전부인줄 알았다면 다른 종류의 언어도 익혀보세요! 전 루비와 얼랭을 해볼 생각입니다ㅋㅋ 구루가 되어보아요:> - [서지혜]
          * 이때까지 자바스크립트를 C랑 비슷 언어라고 생각하질 않았어요. 그냥 쓰면 되는구나.. 정도. 근데 정말이지 C같은 문법(?)을 가진 언어더군요! 신기 언어의 세계였어요 -[김태진]
          * ROBOTC를 쓰면 문법은 훨씬 편하당 ㅎㅎ C랑 다른게 하나도 없음 - [고종]
          * 아아 일주일 뒤에 후기를 쓰는 군요. 요즘 이런것에 신경을 덜쓰는것 같아요. 홍기형의 세미나 잘 봤습니다. 스크립트에 관 OMS도 잘 봤습니다. 스크립트언어는 java말고는 아무것도 몰랐는데.. 그래서 자바==스크립트 라고 생각적도 있었는데 좋은 지식을 얻게 되어 기쁩니다. 커스 공연덕에 1시간으로 짧게 끝난 정모라 조금 아쉽습니다. 너무 서둘러서 끝난 기분이 드네요. - [고종]
  • 중앙도서관 . . . . 18 matches
         내가 우리학교에 고마워하는 몇 안되는 것 중 하나는 ["중앙도서관"]이다. 재학시절 내 지식의 젖줄이 되어줬다. 신청하고 몇 달을 기다려 받아 본 책들이나, 내가 찾아낸 숨겨진 보물들, 십년도 더 된 저널들... 정말 귀중 도움이 되었다. 나를 키운 것은 도서관이었다. 그래서 학교 도서관에 애착이 많다.
         하지만, 현재의 도서관 시스템은 사용하면 할 수록 불편 시스템이다. "Ease of Learning"(MS 워드)과 "Ease of Use"(Emacs, Vi) 어느 것도 충족시키지 못다.
         나는 우리학교 도서관에 아마존 스타일의 시스템(많이도 말고, 도서별 리뷰 등록, 별표 평가, 고객 클러스터링을 통 서적 추천, 도서별 대출/검색 횟수를 통 베스트셀러 집계 및 이에 대 통계 분석 -- 예컨대 공대 학생의 베스트셀러, 경영학과의 베스트셀러, 4학년의 베스트셀러 등 -- 같은 것만이라도) 을 도입하면 학생들의 독서량이 두 배는 높아질 것이라고 확신하며, 이것이 다른 곳(정문 바꾸기 등)에 돈을 쓰는 것 몇 십 배의 가치를 지속적으로 만들어 낼 것이라 믿는다. 이제는 도서관도 인터넷 서점을 벤치마킹 해야 다.
         지금 도서관의 온라인 시스템은 상당히 오래된 레거시 코드와 아키텍춰를 거의 그대로 사용하면서 프론트엔드만 웹(CGI)으로 옮긴 것으로 보인다. 만약 완전 리스트럭춰링 작업을 다면 얼마나 걸릴까? 나는 커스터머나 도메인 전문가(도서관 사서, 학생)를 포함 6-8명의 정예 요원으로 약 5 개월의 기간이면 데이타 마이그레이션을 포함, 새로운 시스템으로 옮길 수 있다고 본다. 우리과에서 이 프로젝트를 하면 좋을텐데 하는 바램도 있다(하지만 학생의 사정상 힘들 것이다 -- 만약 풀타임으로 전념하지 못하면 기간은 훨씬 늘어날 것이다). 외국의 대학 -- 특히 실리콘벨리 부근 -- 에서는 SoftwareEngineeringClass에 근처 회사의 실제 커스터머를 데려와서 그 사람이 원하는 "진짜" 소프트웨어를 개발하는 실습을 시킨다. 실습 시간에 학부생과 대학원생이, 혹은 저학년과 고학년이 어울려서(대학원생이나 고학년이 어울리는 것이 아주 중요하다. see also NoSmok:SituatedLearning ) 일종의 프로토타입을 만드는 작업을 하면 좋을 것 같다. '''엄청나게''' 많은 것을 배우게 될 것이다. --JuNe
         전부 다 만들기엔 시간과 용기가 부족 사람들은 기존 시스템에의 랩퍼(wrapper)를 만들 수도 있다.
         즉, 현재의 도서관 시스템을 일종의 웹서비스로 이용하는 것이다. 직접 CGI로 쿼리를 보내고 받아오는 HTML을 파싱해서 적절 XML로 치환해주는 레이어를 만든다. 이렇게 하면 "일반적 도서관 랩퍼"를 만들 수 있다. 즉, 어느 도서관 시스템에든지 약간만 수정하면 적용할 수 있게 된다.
         사용자는 이 랩퍼를 통해 로긴을 하고, 책 평가도 하고, 리뷰도 쓰고, 베스트셀러 검색도 하고, 대출 예약도 다. 기존 시스템의 모집합이 되는 셈이다. (하지만 꼭 그럴 필요는 없다. 중요하고 자주 쓰이는 기능만 노출해도 충분하다)
         왜 우리는 학년이나 학부생, 학원생의 임의적 구분에 그렇게 매달리는 것일까. 저학년과 고학년이 팀이 되어 뭔가를 함께 하면 여기서 얼마나 많이 배울 수 있을지 사람들은 잘 모른다. 저학년은 고학년의 운신 하나 하나에서 배운다. 그가 키보드를 어떻게 누르고, 버그에 어떻게 대처하는지 등은 글을 통해 알 수 없다. 고학년은 저학년과 함께 일을 하면서 어떻게 팀을 이끌어나갈지, 어떻게 커뮤니케이션을 잘 할지, 내 코드의 가독성이 어떠지를 배운다.
         물론 현재도 저학년, 고학년이 함께 일하는 경우는 있다. 고학년이 예비역인 경우가 그렇다. 하지만 대부분의 경우, 저학년끼리, 고학년끼리 뭉치거나, 서로 섞인다고 해도 고학년은 방외자요, 관찰자로 남는다. 보다 명시적이고 적극적으로 저학년, 고학년 공동 학습을 장려할 필요가 있다. 우리는 교과과정이나 교육방법에 대 스테레오타입에서 벗어나야 다.
         정말 많이 배우는 지름길은 자신의 삶 속에서 실현을 하는 것이다. 만약 XP를 정말 제대로 공부다면 자신의 삶에도 그것이 영향을 미치지 않으면 안된다는 말이다. 아니 정말 그렇게 된다. 또, 그렇게 되도록 하면 정말 많은 것을 배우게 되고, 또 빨리 배울 수 있다. 마찬가지로 어떤 연습 프로젝트를 진행할지라도 자신의 삶에 의미가 있는 어떤 것을 우선적으로 택하는 것이 좋다. 날마다 게임을 하는 사람이라면 게임을 만들고, 날마다 게시판을 붙들고 글을 쓰는 사람이라면 게시판을 만든다.
  • 컴공과학생의생산성 . . . . 18 matches
         먼저 우리는 전산학과 학생이 아니고 컴퓨터공학과 학생이라는 점입니다. 국내에서 순수 전산학을 염두에 두고 가르치는 학교가 거의 전무하다는 점, 또 거의 대다수의 학부생이 IT 관련 취업을 목적으로 다는 점 등을 고려할 때, 이 점은 학과 이름에 크게 관련없이 두루 적용되는 것일 겁니다. 우리는 공학(engineering)을 하고 있습니다. 생산성 이야기가 빠지고선 공학이 성립할 수가 없는 것이지요.
         두째로, 생산성에 대 훈련은 학생 때가 아니면 별로 여유가 없습니다. 학생 때 생산성이 높은 작업만 해야다는 이야기가 아니고, 차후에 생산성을 높일 수 있는 몸의 훈련과 공부를 해둬야 다는 말입니다. 우리과를 졸업 사람들 중에 현업에 종사하면서 일년에 자신의 업무와 직접적 관련이 없는 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이라고 합니다. 인간 말고 다른 동물은 이런 고차원적 뇌활동을 할 수 없다고들 하죠. 전문가와 초보자의 차이는 이게 있냐 없냐로 말하기도 합니다. 현재 닥친 물리적 행동 자체에 뇌력의 거의 대부분을 소진하고 있다면 자신이 지금 하고 있는 것이 뭔지 따질 겨를이 없죠(테트리스를 처음 하는 사람과 전문가의 뇌 온도분포를 촬영 걸 보면 극명합니다. 처음하는 사람의 뇌는 마디로 비효율적인 엔진입니다. 하는 일보다 밖으로 방출되는 열량이 더 많습니다. 전문가의 경우 아주 작은 부분에서만 열이 납니다. 덕분에 게임하면서 딴 생각할 여유도 있죠). 소위 "어리버리"하다고 하는 겁니다. 군대에 처음 온 이등병들이 이렇습니다. 자기가 도대체 뭘하고 있는지를 모르죠. 그래서 실수도 많이하고, 실수 또 하고 그렇습니다. 일병을 넘어서고 하면서 자기가 하는 걸 객관적으로 관찰하고, 요령도 피우고 농땡이도 부리고 하는 건 물론, 자기가 하는 일을 "개선"하는 게 가능해 집니다. --김창준
  • 환경의중요성 . . . . 18 matches
         생명체가 살아가는데 있어서 환경은 참 중요하다. 환경이 나빠지면 생명체에게도 나쁜 영향을 미친다. 최근 도시의 아이들에게 아토피 질환이 급증하고 있는데, 이도 같은 맥락에서 생각하면 된다. 좋은 환경에서는 다양 개체가 유기적인 관계를 이루며 하나의 조화를 이룬다.
         훌륭 집단은 무엇인가? 좋은 환경과 문화를 가지고 있는 집단이다. 이러 집단에는 다양 구성원들이 존재하며 이들이 새로운 것을 받아들이는 것에 거리낌이 없고 서로를 존중하며 서로의 단점을 지적해주고 장점을 배우며 새로은 것을 창출해내려는 시도를 하는 문화를 가지고 있다(즉, 구성원들이 유기적인 관계를 맺고 있다).
         제로페이지는 훌륭 공동체이다. 그들은 끊임없이 배우려고 하고 새로운 문화를 창출해 내려 다. 단지 아쉬운건 그들에게 필요 환경이 부족하다는 것이다. (TomDeMarco 가 PeopleWare에서 언급 모델이나 AgileModeling에 언급되는 CavesAndCommon과 같은 장소적 측면에서의 환경) - [임인택]
         역사의 연구라는 책을 보면 인간 문화가 발달 경우는 환경이 아주 좋은, 언제나 맛좋은 과일, 식량을 구할수 있는 열대 지방이 아니라 특정 자극을 지속적으로 주는 그런 환경에서 인간의 문화가 발달다고 다. (지금 환경도 충분히 만족스럽다면 다른 발전적인 것을 할 필요성을 느끼지 못해서 인거 같다) 예를 들면 중국의 황하 는 자주 범람 하는데 그런 악조건속에서 그것을 극복하기 위 더 큰 문화적 발전이 이루어졌다. 또 베네치아도 결코 좋지 못 환경이었지만 오히려 그렇기 때문에서 살아남기 위해서 더 큰 발전을 이루었다. 그렇지만 저런 자극이 일정 도를 넘으면 그것은 해가 되어서 발전에 방해가 된다. 이런 측면에서 봤을때 제로페이지에서는 여러 자극을 많이 받을 수 있는 환경이지만, 앞으로 더욱 서로 긍정적인 자극을 주는 환경을 만들어야 다고 생각다. - [상협]
  • 1thPCinCAUCSE/null전략 . . . . 17 matches
         ["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 을 시도해서 추후 발견뒤 테스트를 수정하는동안 시간을 낭비했습니다.
         Sample 로 제공 데이터들을 만족시키는 코드는 작성하였으나, 여전히 변수들이 다 뽑아져지지 않아서, 임의의 결과데이터 (100인 경우) 에 대해 예상되는 결과를 생각하고 코드를 작성뒤, 코드와 결과들, 코드로부터 발견되는 변수들을 토대로 연습장에 기록을 했고, 그러던중 ["neocoin"] 이 일반화 공식을 찾아내었습니다.
         적절히 중복코드를 삭제하고 난 뒤, 5분정도 Input-Output 코드를 iostream 과 ["STL/vector"] 를 사용하여 작성 뒤 이를 제출, 통과했습니다.
         문제에 대해 역시 B 번을 진행하던 스타일대로 Structured 로 진행했는데, 초반에 너무 코드위주로 각 변수들을 뽑아내려고 접근 것이 문제가 되었던 것 같습니다. 여유를 두고 페이퍼 프로그래밍을 했어도. 바늘들에 대해서 OO 로 접근했으면 좀 더 쉽지 않았을까 생각.
         미리 예제문제로 제시된 5문제중 어려웠었던 뒤의 3문제들을 각자 풀어보고 훈련했었다면 실전에서도 더 여유있고 의식적인 작업을 할 수 있었으리라 생각하며. 그리고, 초반에 바로 TDD 로 나가는 것보다, 문제에 대 여러 접근방법을 둔 뒤, 하나를 고르고 그에 대해 TDD 로 나가는 것이 더 좋았을 것이라고 생각. (TDD를 바로 문제 Approach 기법으로 적용하는것 보단, 해당 문제 접근방법에 대해 빨리 필요 변수들을 발견해나가고, 명확하게 해주는데 더 효과가 크다는 생각이 들어서)
         문제를 푸는 동안, 굉장히 여유롭다는 느낌이 들었습니다. 적당히 달려나간다고 할까요. 위에 언급된 2가지의 실수가 없었다면, A를 넘어 C번도 노려 봄직 느낌이 듭니다. 이런 것들이 연습으로 체화되는 것이겠지요. 다음 ipsc를 즐겁게 기다려 봅니다.
         시간 지연된 이유는, 성급 방법론의 선택과 '''믿는 것을 가장 의심하라''' 라는 디버깅 원칙을 시간에 쫓겨서 생각을 하지 못점으로 생각합니다.
  • 2dInDirect3d/Chapter1 . . . . 17 matches
          2. 호환성 있는 IDirect3D8 객체를 검사 후, 적정 디바이스 타입을 고른다.
          3. 디스플레이 모드와 어댑터를 선택다.
          4. IDirect3DDevice8 객체를 만들고 초기화다.
          이렇게 써놓고 보면 상당히 간단 작업이다. -_-;;
          이것을 만드는 이유는 간단하다. IDirect3DDevice8 객체를 만들기 위해서는 "꼭" 필요하기 때문에 만든다. 이 객체에서는 실질적인 작업보다는 초기화를 도와주는 역할을 주로 다.
          1. [IN] 유일 인자인 SDKVersion에는 SDK의 버전을 넣어준다. 8.0 이렇게 집어넣는 것이 아니라 지정되어있는 매크로가 있다. 사용하는 방법은 단 가지뿐이다.
         IDirect3D8* pd3d = NULL; // 포인터를 개 만들어서
         pd3d = Direct3DCreate8( D3D_SDK_VERSION ); // 이렇게 생성다.
          요새는 컴퓨터마다 모두 다른 사양을 갖고 있다. 과연 그 컴퓨터가 어떤것을 지원하는지 호환성을 꼭 체크해야다.
          어댑터에는 모두 번호가 붙어있다. 첫번째 어댑터에는 0, 두번째 어댑터에는 1, 이런 식이다. 0은 기본으로 있기 때문에 매크로로도 만들어져 있다. '''D3DADAPTER_DEFAULT''' 매크로이다. 0번 어댑터를 기본 어댑터라고도 다.
          1. [RET] HRESULT형의 값을 리턴다. 성공하면 D3D_OK, 실패하면 D3D_INVALIDCALL이 나온다.
          DeviceIdentifier : 드라이버나 어댑터를 위 GUID(?)
          만들 수 있는 디바이스의 타입은 세 가지가 있다. (2번째 인자의 값으로 사용다.)
          1. D3DDEVTYPE_HAL : 하드웨어에서 지원하는 기능을 사용다.
         자세 것은 MSDN을,
  • 2dInDirect3d/Chapter3 . . . . 17 matches
          * Direct3D의 두가지 목적을 이해다.
          * 점을 표현하기 위 유연 vertex형태를 이해다.
          만약 D3D를 쓰는 사람에게 "당신은 왜 D3D를 씁니까?" 라고 물으면, 일반적으로 이런 대답이 나온다. Z-Buffer라던지, 모델, 메시, 버텍스 셰이더와 픽셸세이더, 텍스쳐, 그리고 알파 에 대 이야기를 다. 이것은 많은 일을 하는 것처럼 보인다. 몇몇을 제외하면 이런 것들은 다음의 커다란 두 목적의 부가적인 것이다. 그 두가지란 Geometry Transformation과 Polygon Rendering이다. 간단히 말해서 D3D의 교묘 점 처리와 삼각형 그리기라는 것이다. 물론 저것만으로 모두 설명할 수는 없지만, 저 간단 것을 마음속에 품는다면 혼란스러운 일은 줄어들 것이다.
          버텍스 데이터를 표현하는 방법은 많이 있고, D3D개발자들은 그들에게 편 방식으로 접근했다. 어떤 버텍스는 다른 것보다 정보가 더 필요했고 다른 것들은 좀 더 달랐다.
          버텍스를 표현 하는 방법을 ''flexible vertex format'' 줄여서 FVF라고 다. 버텍스에 필요 정보는 다음과 같다.
         position : 점의 위치, 가장 중요 정보이다.
         Vertex point size : 버텍스의 크기 (포인트스프라이트에서 사용다.)
          이것은 3차원 좌표로서, 기본적인 x,y,z에 수직인 곳의 좌표를 정다. 이것은 나중에 빛에 관련된 계산을 할 때에 사용된다.
          노말 좌표 뒤에 오는 정보로는 diffuse color가 있다. Diffuse color란 것은 빛이 그 점을 밝혔을 때 그 점에서 발산하는 컬러를 말다. 3D에서의 빛은 실제 생활과는 달리 거의 아무일도 하지 않는 다는 것을 기억하다.
          Diffuse Color의 형태는 D3DCOLOR(사실은 DWORD형이다.)형을 사용다.
          디퓨즈 컬러 다음에 오는 정보이다. 이것도 D3DCOLOR값이다. 이것은 점의 "Shininess"를 알려준다.
  • 3rdPCinCAUCSE/FastHand전략 . . . . 17 matches
         B 문제, A 문제를 풀었고 (A 문제까지 대략 1시간 30분정도 소요. 패널티 2번) C 번 문제를 풀던중 시간초과. C 번에 대 패널티 2번.
         해당 문제를 먼저 이해 사람들이 구현을 주도하였으며 (B : [1002], A : [경태]) 중간 디버깅시에 자연스럽게 Pair를 진행했습니다.
         알고리즘을 위해 연습장을 썼습니다. B 문제와 A 문제는 이전에 같은 프로그램을 짜 본 경험이 있던 관계로 특별 계산을 하지 않았으며, C 번 문제에 대해서 분석차 이용하였습니다. 그리고 테스트를 위해 예제 입력값들을 텍스트 화일로 미리 작성해두고, 도스창에서 이를 redirection, 결과를 확인했습니다. 이러 방법은 특히 A 번 문제에서 큰 힘을 발휘했습니다. (A번 문제는 입력값이 오목판 전체 이기 때문이죠.) 결과에 대 확인 테스트 시간이 1초도 걸리지 않았고, 테스트 인풋 데이터 만드는데도 거의 시간소요가 없었습니다.
         [1002] 가 이전에 비슷 문제를 풀어본 경험이 있던 관계로 바로 구현을 맡았습니다. 대략 코딩에 2-3분정도 소요하였고, 그 동안 [경태]와 [geniumin] 가 3번문제에 대해 분석.
         처음에 두명은 C 번에 대해서 Graph 스타일의 접근을 하였고, 명은 순차적인 링크드 리스트의 묶음 & recursive 순회로 접근했습니다. 의견을 이야기하던중, 실제 구현상으로 볼때 셋의 의견이 같다는 것을 파악하고, 마저 구현으로 들어갔습니다.
         대강 디자인 것으로는, Ball 이라는 객체가 있는데 이 Ball 은 각각 lower 와 higher 가 있어서 매 입력마다 자신보다 큰 Ball, 작은 Ball들을 가지고 있게 됩니다. 그리고 해당 Ball 중 그 Ball 과 연관이 있는 Ball 들, 즉 lower 의 수와 higher 의 수로 봤을때 전체 갯수의 평균값보다 큰 녀석들을 제하고 구다 식이였습니다.
         ComputerGraphicsClass 수업 레포트와 전자상거래 레포트, ComputerNetworkClass 레포트 구현 관계상 3명이 거의 일주일 내내 밤새면서 몸이 축난 중에도 수상을 하게 되어서 기뻤습니다. (문제풀던중 코 후비던 [1002]군이 피를 봤다는 후일담이 전해지고 있다는..;) 동기들끼리의 팀이여서 그런지 완벽 룰 설정과 호흡, 아이디어의 모음이 빛을 발했다고 생각합니다.
         [geniumin] & [경태] 군에게 다시금 감사하며.. 또하나 느낀점이라면, 협업에서는 사람들에 대 믿음이 참 중요하다는 생각이 들었습니다. 역시 수학적인 사고 & 알고리즘 부분은 [geniumin]나 [경태]쪽이 저보다 보는 시야가 깊다는 것을 느꼈습니다. [1002]는 처음에 [geniumin] 과 같이 C 번에 대해 알고리즘 분석 & 디자인 할때는 약간 이해가 가지 않는 부분에 대해서 수긍을 잘 안했었는데, 추후 [geniumin]를 믿고 그의 의견이 맞다고 가정하고 문제를 풀고 코드화 했을때 테스트 예제 데이터에 대 답이 정확히 나오는 것을 보면서, [geniumin]의 알고리즘을 코드화해주는것에 전념하게 되었습니다. 만일 혼자서 고민하고 문제를 각자 따로 풀려고 했었다면 그런 좋은 결과가 나오지 않았을 것입니다. (아쉽게 시간내에 C 번을 통과하지 못했지만, 조금만 더 시간이 있었으면 통과했을것이라는..~) 협업시에 상대에 대 믿음이 얼마나 중요가에 대해 다시금 느끼게 되었습니다.
         그리고, [재동] & [상규] 커플. 다시번 1위 것 축하. :) --[1002]
  • 5인용C++스터디/키보드및마우스의입출력 . . . . 17 matches
          키보드로부터 입력이 발생했을 경우 윈도우즈는 포커스를 가진 프로그램에게 키보드 메시지(WM_CHAR)를 보내주며 프로그램은 이 메시지를 받아 키보드 입력을 처리다. 여기서 포커스(Focus)를 가진 프로그램이란 활성화되어 있는 윈도우를 말하며 번에 오직 하나의 프로그램만 활성화된다. 아무리 여러개의 프로그램이 동시에 실행되는 멀티 태스킹 환경이라 하더라도 활성화될 수 있는 프로그램은 오직 하나밖에 없으며 활성화된 프로그램만 포커스를 가지고 키보드 입력을 받아들일 수 있다. 왜냐하면 시스템에 키보드는 하나뿐이며 키보드를 사용할 수 있는 사용자도 하나뿐이기 때문이다.
          소스를 입력 후 실행해 보자. 키보드에서 키를 누르면 입력 문자들이 화면 상단에 출력될 것이다.WndProc을 보면 우선 문자열 str이 선언되어 있으며 이 문자열 변수에 사용자가 입력 문자들을 모은다. 단 이 변수는 WndProc에 선언되어 있는 지역변수이므로 그냥 선언하면 메시지가 발생할 때마다 초기화되기 때문에 static을 붙여 정적변수로 만들어 두어야 다. 아니면 아예 WinMain 함수 이전에 선언하여 전역 변수로 만들어 두어도 된다.
          입력된 문자들을 바로 바로 출력하지 않고 반드시 문자열에 모아 두어야 하는 이유는 키보드 입력이 발생하는 시점과 문자열을 출력해야 할 시점이 분리되어 있기 때문이다. 키보드 입력 시점은 키보드 메시지인 WM_CHAR가 발생했을 때이며 이 메시지에서 문자열을 조립하기만 하고 문자열의 출력은 WM_PAINT에서 처리다. 물론 WM_CHAR 메시지에서 문자열을 바로 바로 출력하는 것도 가능하기는 하지만 윈도우즈 프로그램은 화면을 다시 그릴 준비를 항상 해 두어야 하며 모든 출력은 WM_PAINT에서 하도록 되어 있다. 그렇지 않으면 출력된 문자들이 지워지면 다시 복구되지 않는다.
          다음 코드는 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 메시지를 사용해야 다.
         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))이 된다.
  • AcceptanceTest . . . . 17 matches
         AcceptanceTest는 UserStory들에 의해서 만들어진다. Iteration 동안 IterationPlanning 회의때 선택되어진 UserStory들은 AcceptanceTest들로 전환되어진다. Customer는 해당 UserStory가 정확히 구현되었을때에 대 시나리오를 구체화시킨다. 하나의 시나리오는 하나나 그 이상의 AcceptanceTest들을 가진다. 이 AcceptanceTest들은 해당 기능이 제대로 작동함을 보장다.
         AcceptanceTest는 blackbox system test 이다. 각각의 AcceptanceTest는 해당 시스템으로부터 기대되는 결과물에 대해 표현다. Customer는 AcceptanceTest들에 대 정확성을 검증과, 실패된 테스트들에 대 우선순위에 대 test score를 검토할 책임이 있다. AcceptanceTest들은 또 production release를 위 우선순위의 전환시에도 이용된다.
         UserStory는 해당 UserStory의 AcceptanceTest를 Pass 하기 전까지는 수행되었다고 생각할 수 없다. 이는 새로운 AcceptanceTest들은 각 Iteration 때 만들어져야 함을 뜻다.
         QualityAssurance (QA)는 XP process의 주요 부분이다. 몇몇 프로젝트들의 QA는 분리된 그룹으로부터 수행되어지지만, 어떤 프로젝트들에서의 QA는 개발팀 스스로에 의해 수행되어진다. 각각의 경우에서 XP는 좀 더 QA와 관계있는 개발을 요구다.
         AcceptanceTest는 자동으로 수행되어져야 하며, 또 그렇기 때문에 자주 실행될 수 있다. AcceptanceTest score는 개발팀에 의해 점수가 매겨진다. 매 Iteration에 대해 실패 AcceptanceTest를 수정하기 위 시간분배 스케줄에 대해서 또 개발팀의 책임이다.
         'AcceptanceTest'란 이름은 본래 'FunctionalTest' 로부터 온 것이다. 이는 ''Customer의 요구사항에 대해 system이 'acceptable' 함을 보증다''라는 본래의 의도를 더 충실히 반영해준다.
         요새는 CustomerTest 라고 표현하기도 다. (UnitTest 를 ProgrammerTest 라고 부른다고 할때 상대적인 개념일듯).
         ["ProjectPrometheus"] 진행중에 ["1002"] 와 ["상민"]은 AcceptanceTest 를 작성하며 진행하였다. 주로 Python 을 이용하여 간단 web bot 를 작성, 시스템이 잘 작동하는지에 대해 자동테스트를 구현했다.
  • Athena . . . . 17 matches
          * Object Programming 수업의 숙제를 위 페이지입니다
          DeleteMe 이름은 좋습니다. 하지만 ["Athena"] 라는 이름의 페이지에는 여신 아테나에 대 정의와 소개가 들어 있는 것이 올바른 것이겠지요. 그래서 ["ProjectPrometheus"], ["ProjectZephyrus"] 라고 거랍니다. ;; --["neocoin"]
          * 상수를 이용 영상 밝기 변화 (1시간 20분) - 명훈, 재동
          * 히스토그램 그릴 때 깨끗 선이 그려지지 않음(윈도우상 픽셀의 계)
          * 상수를 이용 영상 밝기 변화 다이얼로그 작성(20분) - 명훈
          * 영상을 이용 영상 밝기 변화 다이얼로그 작성(3시간) - 명훈
          (영상을 이용 변환에서 0이 있는 영상의 경우 나눗셈할수 없음. 1로 나눌때랑 같게 했음)
          * 참신 아이디어에 관 회의 (30분) - 명훈, 재동
          * 참신 아이디어 1번 작성- 스크린캡쳐기능(1시간30분) - 명훈
          * 영상을 이용 변환에서 버그 수정(30분) - 명훈
          * 컬러구현에 대 마스크 적용하기(3시간) - 재동, 명훈
          * 4.1 상수를 이용 영상 밝기 변화
          * 4.2 다른 영상을 이용 영상변화
          * 8. 윈도우로 설정 영역에 대해서만 '7.영상 질 향상' 적용
  • BusSimulation/상협 . . . . 17 matches
          int m_currentDistance; //버스가 출발 곳으로부터 몇 Meter 갔는지 거리
          void SetVelocity(double v) {m_velocity=v;}; //버스의 속도를 지정다.
          void SetMinute(int m) {m_Minute=m;}; //버스의 출발 후부터 흐른 시간을 지정
          long GetMinute() {return m_Minute;}; //시간(분) 값을 리턴다.
          int GetDistance() {return m_currentDistance;}; //거리(미터)값을 리턴다.
          int GetPeopleNumber() {return m_people;}; //사람수를 리턴다.
         void Bus::IncreaseMinute(int t) //중요 부분.. 시간이 증가하는 이벤트는 다른 데이터에 어떠 영향을 끼치고 또다른
         { //어떠 이벤트를 발생시키는지 생각해보면 이해하기 좋음.
          { //가는 이벤트가 발생할 경우 어떻게 표시해줄지 생각다.
          int m_BusCapacity; //버스 대에 탈 수 있는 최대 사람수
          while(m_CurrentMinute!=m_DueMinute) //사용자가 입력 목적 시간 전까지 시간을 증가 시킨다.
          if(m_buses[i].GetMinute()!=0) //현재 그 버스의 출발 후 부터의 시간이 0분이 아니면.. 즉 버스가
          m_buses[i].IncreaseMinute(1); //즉 그 버스가 출발 경우라면, 그 버스의 시간을 증가시킴
          m_buses[i].IncreaseMinute(1); //뒷차의 출발 후부터의 시간을 1로 만듬. 즉 이제부터 출발
          CheckBusStation(); //버스 정류장에 버스가 도착했는지 체크
          //시키는 메소드를 호출
  • Java Study2003/첫번째과제/곽세환 . . . . 17 matches
         자바의 주된 특징은 기존의 C/C++ 언어의 문법을 기본적으로 따르고, C/C++ 언어가 갖는 전처리기, 포인터, 포인터 연산, 다중 상속, 연산자 중첩(overloading) 등 복잡하고 이해하기 난해 특성들을 제거함으로써 기존의 프로그램 개발자들이 쉽고 간단하게 프로그램을 개발할 수 있도록 합니다.
         자바는 C++와는 달리 처음부터 객체지향 개념을 기반으로 하여 설계되었고, 객체지향 언어가 제공해 주어야 하는 추상화(Abstraction), 상속(Inheritance), 그리고 다형성(Polymorphism) 등과 같은 특성들을 모두 완벽하게 제공해 주고 있습니다. 또, 자바의 이러 객체지향적 특성은 분산 환경, 클라이언트/서버 기반 시스템이 갖는 요구사항도 만족시켜 줄 수 있습니다.
         자바는 컴파일 시에 에러 검사를 철저하게 하고, 실행 시에 발생할 수 있는 에러에 대해서도 실행 시에 철저하게 검사를 수행함으로써 신뢰도가 높은 프로그램을 작성할 수 있도록 해 줍니다. 또, C/C++ 프로그램 개발자들을 가장 혼란스럽게 하고, 프로그램의 치명적인 오류를 발생시킬 수 있는 포인터 및 포인터 연산을 자바에서는 사용하지 않게 함으로써, 포인터를 사용함으로써 프로그래머가 범할 수 있는 오류를 없앴다는 것입니다.
         자바는 분산환경에서 작동하도록 설계 되었습니다. 그러나, 자바는 자바 언어와 자바 런타임 시스템 내에 보안 기능이 내재되어 있기 때문에 보안성이 있는 프로그램을 개발할 수 있도록 해 줍니다. 이러 특성은 자바 프로그램이 네트웍 환경에서 바이러스 등과 같은 프로그램이 파일 시스템을 파괴하려는 것을 막을 수 있도록 해 줍니다.
         자바는 서로 다른 이종(Heterogeneous)의 네트워크 환경에서 분산 되어 실행될 수 있도록 설계되었습니다. 이와 같은 환경에서는 응용 프로그램들이 다양 하드웨어 아키텍쳐 위에서 실행될 수 있어야만 합니다. 이를 위해 자바 컴파일러는 이종의 하드웨어 및 소프트웨어 플랫폼에서 효율적으로 코드를 전송하기 위해 설계된 아키텍쳐 중립적인 중간 코드인 바이트코드를 생성합니다. 이는 동일 자바 프로그램의 자바 바이트코드가 자바 가상머신이 설치되어 있는 어떤 플랫폼에서도 실행될 수 있도록 하는 것입니다. 또, 자바는 기본 언어 정의를 엄격하게 함으로써 효율적인 이식성을 제공해 주고 있습니다. 예를 들어, int 형과 같은 기본 데이터형의 크기를 플랫폼과 무관하게 일정하게 하고, 연산자의 기능을 확실하게 규정하고 있습니다. C 언어를 이용하여 int 형을 선언할 때, 도스에서는 16비트, 윈도우 95/98/NT 등 32비트 운영 체제 환경에서는 32비트, 유닉스에서는 32비트 등 그 플랫폼에 따라 크기가 다르지만, 자바에서는 플랫폼에 상관없이 32비트로 고정되도록 하였습니다. 이는 자바 프로그램이 실행되는 환경이 자바 가상머신으로 동일하기 때문입니다.
         높은 수행성능(High-performance)을 제공다:
         자바에서는 인터프-리터가 런타임 환경을 검사할 필요 없이 실행될 수 있도록 구성하였기 때문에 뛰어난 성능을 제공해 줍니다. 쓰레기 수집기(garbage collector) 즉 메모리 관리자는 자동으로 낮은 우선순위의 백그라운드 스레드로 실행되어 메모리가 필요할 때에만 동작하도록 함으로써, 자바 가상머신에게 무리를 주지 않으면서 보다 나은 수행 성능을 제공할 수 있도록 해 줍니다. 또, 방대 양의 계산을 수행하는 프로그램은 계산이 많은 부분을 본래의 플랫폼에 해당하는 기계어 코드로 재작성하여 자바 프로그램과 인터페이스 할 수 있도록 하였습니다.
         다중 스레드(Multi-thread)를 지원다:
         자바의 다중 스레드 기능은 동시에 많은 스레드를 실행시킬 수 있는 프로그램을 만들 수 있도록 해 줍니다. 자바는 동기화 메소드들을 기본적으로 키워드로 제공함으로써, 자바 언어 수준에서 다중 스레드를 지원해 줍니다. 자바 API에는 스레드를 지원해 주기 위 Thread 클래스가 있으며, 자바 런타임 시스템에서는 모니터와 조건 잠금 함수를 제공해 줍니다.
         기존의 CGI 프로그램과 같이 웹 서버 프로그램의 기능을 확장하기 위 자바 프로그램으로서, 웹 서버 내에 있는 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되도록 작성된 자바 프로그램입니다. 자바 서블릿은 웹 서버 내에서 자바 런타임 환경과 함께 제공되는 자바 가상머신에 의해 실행되고, 자바 애플릿은 웹 서버에서 웹 클라이언트로 다운로드 되어 웹 클라이언트에서 자바 호환 웹 브라우저에 내장된 자바 가상머신에 의해 실행된다는 차이점이 있습니다. 이렇게 웹 서버 내에서 실행될 수 있도록 작성된 자바 서블릿은 기존의 웹 서버 내에서 실행되는 프로그램인 CGI 프로그램을 대체할 수 있도록 고안되었습니다. 다음에 나오는 그림은 자바 서블릿의 실행 과정을 자세히 보여주고 있습니다.
         델파이 또는 비주얼 베이직을 이용하여 프로그램을 작성할 때, 버튼이나 창과 같은 컨트롤들을 마우스로 끌어다 프로그램 내에 삽입할 수 있도록 되어 있는데, 이와 마찬가지로 자바 빈은 하나의 완벽 기능을 갖고 재사용될 수 있도록 만들어진 소프트웨어 컴포넌트입니다. 마이크로소프트에서 제공되는 ActiveX 컴포넌트와 같이 자바에서 컴포넌트 프로그램을 가능하도록 해 줍니다.
         다른 자바 프로그램에 의해 삽입(import)되어 사용될 수 있도록 작성된 자바 프로그램입니다. 이러 자바 패키지는 기존의 프로그래밍 언어에서 사용하던 라이브러리 또는 운영체제에서 제공해 주는 API 등과 같다고 볼 수 있습니다. 자바 패키지 역시 해당 규약을 갖겠지요. 자바에서는 기본적으로 압축 파일의 형태로 'casses.zip"이라는 자바 패키지가 제공되고 있고, 압축 파일 내에는 디렉토리 단위로 패키지가 포함되어 있습니다. 다음에 나오는 그림은 JDK 1.2.2 에서 제공되는 패키지를 보여주고 있습니다.
          * "hello, World!"를 출력하는데 있어서 직접 실행이 되게끔 만들지 못거 같군요. 직접 자신이 실행이 되게끔 해 보라는 소리였습니다.
  • JavaStudy2004 . . . . 17 matches
          * Player 1 ( :D :D X-( :D :D :D ) : [이승]
          * 결석할 때 마다 노란 얼굴이 빨개집니다. X-( '''5번 결석 Player는 벌칙이??'''
          * [JavaStudy2004/콤보박스와리스트] - 이승
          ||이승||[JavaStudy2004/이승]||
          HeadFirstJava - ORIELLY. 빛미디어. 생각하게 만드는 책.
          * 작년에 [상규] 형이 진형하셨던 [5인용C++스터디] 를 경험삼아 비슷 방식으로 진행하려 합니다
          * 헛...-_-ㅋ;; 1학년들은 완전 관심이 없어진 분위긴데;; 오히려 형님들이...-0-ㅋ;; - [이승]
          * 지금의 플레이어 외에 조동영, 윤성만, 박진영 학우가 같이 다고 합니다. 기분 좋게 많아 지네 - [이승]
          * 요새 난 영국 유학생 1학년 대상으로 자바 과외하는데... Pair로 하니까 금방 따라오더라. 내가 먼저 시범을 보이고 그것을 약간 응용 것을 해보라고 다. Pair 바꾸는 시간은 약 5~7분. 내가 시범 보이면서 말로 설명도 해야하기 때문에 그정도가 적당. 보통 설명할 때는 펜으로 종이에 그림으로 하고. --재동
          * 이번주 토요일에 모여서 해보는건 어떨까요?? 미리 공부해 해야할 것들은 무었이져?? - [이승]
          토요일도 괜찮고, 미리 해야할 건 없는데 일단은 첫번째 수업페이지를 내일 간단히 올리겠습니다. 그냥 번 읽어보셔도 되요 --[iruril]
          * 어제 오늘 친구들과 잠시 멀리 놀러갔었습니다. 노느라고 수민이형과 승이의 전화를 못 받은 점 사과드립니다. - [윤성만]
          * 이거 우리가 발표 준비해야 할것은 없는거죠?? -- [이승]
          * 선생님만 19일 모임을 기억하고 있었더군요;; ㅋㄷㅋㄷ 금요일에 다시 모이기로 했습니다. - [이승]
  • KnowledgeManagement . . . . 17 matches
          * 지식 프로세스를 용이하게 하기 위해서 조직에게 필요 것은? 어떠 조직이 어떠 프로세스에서 가장 잘 지식 관리를 할수 있나? 에 초첨.
          * 무언의 지식은 잠재 의식에 있거나 내면화된 지식 그리고 각 개인이 스스로 알고 있다고 인지할 수 없거나 스스로 어떠 특정 결과를 성취했다고 알지 못하는 지식이다.
          * 무언의 지식을 구분하는 대중적인 방법은 그것이 우리의 두뇌에 있는지 여부이고, 명시적인 지식을 구분하는 방법은 우리가 그것을 체계화 지식인지 여부이다.
          * Nonaka 와 Takeuchi 는 성공적인 KM program 은 지식의 공유를 위해서 내면화된 무언의 지식을 명시적으로 체계화된 지식으로 바꿀 필요가 있다고 얘기다. 그리고 또 반대의 경우도 개인이나 그룹에게 있어서 KM 시스템에서 번 추출 지식을 내면화 하고 의미있게 체계화 하기 위해서 필요하다고 이야기 다.
          * 세번째 지식의 종류는 embedded knowledge 이다. 이것은 물리적인 사물에 비 명시적인 방법으로 내재되어 있는 지식이다. 예를 들어서 알려지지 않은 장치의 모양과 특성은 그 기계가 어떻게 사용되어지는지 이해하는지에 대 핵심 요소를 포함하고 있다.
          * 예를 들어서 조직을 위해서 새로운 프로젝트에 착수하는 개인은 이전에 비슷 프로젝트에서 배웠던 교훈이나 지식에 접근하려고 할 것이다. 현재 처리하고 있는 문제에 관련된 정보를 얻기 위해서 프로젝트 중에 관련된 정보에 접근하고, 프로젝트를 마치고 추후 프로젝트에서도 필요하게 될 정보를 남기기 위해서 관련된 정보에 접근하게 될 것이다. 지식 관리를 행하는 사람은 시스템, 저장소, 협동 프로세스를 제공하여 이러 활동을 촉직 다.
          * 지식 저장소에서 지식을 넣고 가져오는 가지 대체적인 전략은 각 개인이 자신의 지식 요구에 따라 ad hoc 기반으로 접근 하는 것이다. 이 방법의 장점은 각 개인에게서 오는 응답의 내용과 제시된 문제에 대 해결책이 풍부하고 그것을 제시하는 개인에게 특화될 수 있다는 점이다.
  • NextEvent . . . . 17 matches
         '''다음 행사'''(NextEvent)에 대 Idea, 준비, 의논을 합니다.
          * 사실 이건 보다 좋은, 훌륭 이라는 의미를 넣고 싶은데 나중에 ["페이지이름고치기"] 하지요.
          * Event : 사건; 행사; 중요 사건, 대사건.
         Fishbowl이라는 기술은 많은 사람이 토론을 할 경우 사용하는 테크닉입니다. 두개의 동심원으로 좌석을 배치하고 안쪽(어항)에 토론을 하는 사람들이 착석하고, 바깥쪽에 청중이 착석합니다. 안의 사람은 밖의 사람과 대화하지 못하고, 밖의 사람은 안의 사람에게 말을 걸지 못합니다. 안에 있는 사람들이 토론을 하는 것을 밖의 사람들이 어항을 구경하듯 관찰합니다. 여기에 변화를 주게 되면, 안의 사람을 동적으로 교환할 수 있습니다. 밖의 사람 중에 토론에 참여하고 싶은 사람이 있다면 언제든 안으로 들어와서 앉습니다. 그러면 최소 사람이 밖으로 나갈 때까지 토론은 중단됩니다.
         이 토론 기법을 프로그래밍에 적용합니다. 그리고 축구중계의 개념을 집어 넣습니다. 안의 사람들이 프로그래밍을 하고 이것을 벽면에 프로젝션합니다. 해설자와 아나운서가 이 광경을 해설합니다. 프로그래밍을 하는 팀원들 중에 피곤 사람은 밖으로 나올 수 있습니다. 해설자는 나오는 사람을 인터뷰하기도 하고, 방금 어항 속 물고기의 행동에 대 해설을 해줍니다. "아~ 멋진 페인트 액션이에요~" "저게 바로 압박 프로그래밍이라는 것이죠." 사람이 비면 밖의 사람이 안으로 들어갈 수 있습니다. 또 밖의 사람이 안으로 들어가면 안의 사람 중 사람은 밖으로 나옵니다. 이런 식으로 팀원이 항상 유동적으로 바뀝니다. 대신 개발하는 프로그램은 계속 유지됩니다.
         어항 밖에서 구경을 하다가 지금 개발 팀원들이 고생하는 문제의 간단 해결책을 안다면 바로 어항 속으로 뛰어드는 겁니다. 이제 좀 피곤합니까? 충분히 수영하셨습니다. 다시 어항 밖으로 나와서 물고기들을 구경하시기 바랍니다. 저 흥미진지 광경의 일원이 되어보고 싶으십니까? 좋습니다. 뛰어드세요. 누구라도 환영합니다. 오래된 물고기 마리가 다시 인간이 되어 밖으로 나가 쉴 겁니다.
         오, 정말 확 뒤집어지는 듯 느낌의 제안이십니다. 말빨을 키워야 겠네요. ;; 검색과, 구상중 --["neocoin"]
         현재 재학 중인 학생들 중 단 명이라도 오는 14, 15일의 Seminar:ReadershipTraining 에 와서 "공부하는 방법"을 배워가면, 그리고 그 문화를 퍼뜨릴 수 있다면 참 좋겠습니다. --JuNe
         그냥 하루를 할애하는 건 어떨까 하는 생각이 든다. 그러니까 아침 8시에 시작해서 밤 10시에 끝나게 다. 팀은 6명 정도로 구성된다. 꼭 팀 전원이 신입생일 필요는 없다 -- 헌내기 새내기가 고루 섞이도록 할 수도 있다. 각 팀에 공통 미션을 준다. 개발은 꼭 학교 컴퓨터실에서 할 필요가 없다. 여기 저기(도서관일수도 있고, 다운타운일수도, PC방일수도 있다) 찾아다닐 수도 있다. 여기저기 카메라로 사진을 찍고 설문조사를 하러 다닐 수도 있다. 뭐 꼭 (소프트웨어) 개발일 필요도 없다. 그냥 뭔가 만들어보게 다. 그게 꼭 파이널 프로덕트가 아니고 프로토타입이어도 좋다. 밤 10시가 되었을 때 서로 자기 팀의 결과물을 들고와서 자랑다.
  • ProgrammingContest . . . . 17 matches
         나이나 학력 제이 전혀 없습니다(Open경우). 팀은 세명까지 가능하고, 혼자서도 참가 가능합니다. 사용 가능 언어는 Java, C++, Pascal, Python 등 입니다. 제 조건은 팀은 프로그램 개발을 위해서는 하나의 컴퓨터만 사용해야 다는 것입니다. 이번 금요일(2002/5/10)에 국 시간으로는 오후 9시부터 5시간 동안입니다. 온라인(이메일)으로 진행합니다. (see also .http://ipsc.ksp.sk/rules.php )
         이미 참가 신청을 국팀(연세대, 경북대, ...)들도 몇 팀 보이는군요. 재미있겠죠? 등록은 컨테스트 시작 2시간 전까지 입니다.
          ''그..그게 누군지는 모르겠군요. -_-; 도대체 두팀이나; 누가 신청건지 자수를! (ps. 제가 신청서 안썼습니다;) --석천''
         만약 문제 이해 시간을 포함 (혼자서) 40분 이내에 R1과 R2 모두에 대해 정답을 구했다면 (2000년도 본선문제였습니다. 같은 사이트 Problem Archive에 정답이 있습니다) 아마 10위권 이내에 들 실력이라고 사료됩니다. 아마 EightQueenProblem을 (사전 정보 없이) 시간 안에 푼 사람이라면 10위권 안에 충분히 들 수 있을 것 같습니다.
         만약 자신이 K-In-A-Row를 시간 이상 걸려도 풀지 못했다면 왜 그랬을까 이유를 생각해 보고, 무엇을 바꾸어(보통 완전히 뒤집는 NoSmok:역발상 으로, 전혀 반대의 "極"을 시도) 다시 해보면 개선이 될지 생각해 보고, 다시 번 "전혀 새로운 접근법"으로 풀어보세요. (see also DoItAgainToLearn) 여기서 새로운 접근법이란 단순히 "다른 알고리즘"을 의미하진 않습니다. 그냥 내키는 대로 프로그래밍을 했다면, 종이에 의사코드(pseudo-code)를 쓴 후에 프로그래밍을 해보고, 수작업 테스팅을 했다면 자동 테스팅을 해보고, TDD를 했다면 TDD 없이 해보시고(만약 하지 않았다면 TDD를 하면서 해보시고), 할 일을 계획하지 않았다면 할 일을 미리 써놓고 하나씩 빨간줄로 지워나가면서 프로그래밍 해보세요. 무엇을 배웠습니까? 당신이 이 작업을 30분 이내에 끝내려면 어떤 방법들을 취하고, 또 버려야 할까요?
         만약 팀을 짠다면 두사람은 PairProgramming으로 코딩을 하고(이 때 Interactive Shell이 지원되는 인터프리터식 언어라면 엄청난 플러스가 될 것임), 나머지 하나는 다른 문제를 읽고 이해하고, (가능하면 단순) 알고리즘을 생각하고 SpikeSolution을 종이 위에서 실험 뒤에 현재 커플이 완료를 하면 그 중 명과 Pair Switch를 하고 기존에 코딩을 하던 친구 중 하나는 혼자 다른 문제를 읽고 실험을 하는 역할을 맡으면 효율적일 겁니다. 즉, 두 명의 코더와 명의 실험자로 이루어지되 지속적으로 짝 바꾸기를 하는 것이죠.
         특이 점은 토너먼트 형식으로 제된 시간내에 프로그래밍 대결을 벌인다는 거죠. 이긴자에게 상금을 줍니다만 미국외의 사람에겐 받을 자격이 없는 것 같기도 합니다. 스윙 애플릿을 다운로드 받아서 주어진 문제에 대해 자바, C++, C# 등으로 코딩할 수 있고 제대로 해결했는지 그 자리에서 바로 확인할 수 있습니다. -- 박지훈
  • ProgrammingLanguageClass/Report2002_2 . . . . 17 matches
          * Visual C++(6.0)과 Visual Basic(6.0), Java(JDK1.4)에서 디자인과 구현에 대 간단 테스트
          * 컴파일러가 적용하는 type-compatibility 규칙(묵시적 형변환 따위) 에 대 평가.
          * 컴파일러에서 포인터에 대 보안성에 관 평가
          * 만약 가능하다면 functional side-effects가 발생이 컴파일러에서 operand의 순서에 대 평가 점검다. -수정 필요
          * 보통, floppy diskette에 당신의 프로그램과, 테스트 데이터들과 실행에 의 결과를 제출다.
          * 프로그램의 완벽 수행을 위해서 당신의 데스트 데이터를 신중히 설계하라. 또 당신의 테스트 프로그램 내부에 합당 문서를 첨부하는 것을 추천다.
          * 다시 말하여, 당신이 왜 그러 디자인을 하였는지, 어떠 의도로 해당 테스트를 만들었는지에 대 논리적 설명을 첨부하라.
  • ProjectPrometheus/BugReport . . . . 17 matches
          * [[HTML(<strike> 서평에서 단순히 PRE 태그가 아니라, 워드랩이 가능하도록 고쳐야 다. </strike>)]]
          * [[HTML(<strike> 서평 제목과 링크가 서로 묶여 보이지 않아서 어느게 서로 관련된 것인지 애매하다. 같은 서평끼리 동일색으로 하고 색깔을 번갈아 배치하면 좋겠다. 예컨대 옅은 녹색, 진 초록 이런 식으로. </strike>)]]
          3. 같은 컴퓨터를 쓰는 이상, 로그인을 일일이 하지 않아도 되도록 클라이언트 쪽에 쿠키 설정을 해줬으면 다.
          * {{{~cpp RecommendList}}} 에 나오는 수가 너무 많다. 줄여야 다.
          * notice변경 사항에 관하여, DB에 넣는 방향으로 바꾸던지(게시판을 하던지), file path 비의존적으로 바꾸어야 다. 현재 file path문제로 직접 고쳐주어야 하는 상황이고, ant 로 배포시 해당 file의 쓰기 읽기 권 문제로 문제가 발생다. --["neocoin"]
          * ant build를 상민, 석천 두 계정 사이에 아무런 차이 없이 가능하도록 조정할수 있어야 다. 문제는 내 계정이 이상하다는것 --["neocoin"]
          * 동감, 해당 프로토콜을 분석해서 property로 만들어 버리는 작업을 수행해야 할것 같군. 이작업을 달에 번 수행시키도록 해야 할까 ;; --["neocoin"]
          * 타 휴대폰 사이트의 SMS 페이지들과의 연동기능 (011, 016 등 문자서비스 제공페이지에 자동 접속 & 예약 책들 등에 대해 정보 제공)
          * [[HTML(<strike>ZeroPageServer 에 릴리즈 이후 View Book 이 두번 이상 안되는 문제</strike>)]]
          * BtoBRel 에는 들어있는 bookid 가 book 에는 없는 경우가 있다. 확인이 필요하나, 현재 도서관이 죽어서 할수 없다. 열리는데로 해봐야 다.
          * 책 번호 357647 가 BtoBRel에는 들어 있고, book에는 없다. 이 권때문에 현재의 에러가 발생다. 간단히 없에면 되겠지만, 정체를 알고 싶다. --["상민"]
          * 다른 Conntion Pooling 용으로 http://www.bitmechanic.com/ 를 생각할수 있으며, 글 자료는 http://javaservice.net/~java/bbs/read.cgi?m=dbms&b=jdbc&c=r_p&n=1034293525&p=1&s=d#1034293525 에 소개되어 있다.
         우리는 여기에서 frequent release(give workable system to the customer every week)가 얼마나 중요가 새삼 확인할 수 있다. --JuNe
  • ProjectSemiPhotoshop/Journey . . . . 17 matches
          * 일 : 1차 integration
          * 일 : 프레임웍 작성 , Bmp 로딩 구현, Sampling 구현, 팀원간 소스 이해, 시간예측, 다음 일정 계획
          * 열심히 하자. 아직 초반이니까. 음... 강의 시간에 배운 것에 대 용어의 공부를 더 해야겠다. -- 현민
          * 일 : 메타포 결정, 일요일 모임 결정, 전체적인 이야기 진행
          * 일 : 새로운 제안을 물어보았다 --["경태"]
          * 일 : 현민과 경태, 현민 집에서 알카로이드의 기본을 열심히 배우고 익힘. - 자료실 스크린 샷
          * 내가 점심을 먹고 낮잠을 자는 바람에 피씨 실에서 모이기로 스터디 약속이 깨졌으나 4시 반쯤에 부시시 일어나서 경태에게 스터디를 하자고 했음. 웨 항상 밥 먹고 나면 졸리는지는 모르겠으나... -.ㅡ;;; 어쨋거나 스터디는 무사히 진행됨.
          * 상민이와 프로그램의 스타일이 달라서 나중에 세미 포토샵을 공동을 작업할 때에는 어느 정도 비슷하게 맞춰야할 것으로 보여..-.ㅡ 아직 뭘 모르는 나의 눈에는 그렇게 보였음.
          * 일 : 3시간 정도의 상민과 현민의 Alcanoid SpikeSolution 작성 - 자료실 스크린샷
          * 현민이와 5분 단위의 PairProgramming 시도하였다. 10.24 때의 모임 보다 훨씬 성과가 있었다고 자평다. 내 자신이 배우고 깨달은 것이 너무 많아, 정리하기가 힘들다. 그래서 현민이에게 미안 느낌 마져 약간 든다.
          * ["STL"] 관련 서적은 네가 가진게 없을꺼라고 생각다. 학교에서도 가르쳐주지 않는 부분이라. 스스로 익혀야 다. 너무나 단 과실이라, 꼭 보기를 권다. 관련 내용은 ["STL"] 에서 ["STL/vector"],["STL/vector/CookBook"]를 참고하면 될꺼다. --["neocoin"]
          * 일: GDI 로 그림 그려보기, BMP 출력해 보기, Keyboard 입력 받아서 이용해 보기
          * 현민이에게 야속 말일지 모르지만, 솔찍히 약간 당황스러웠다. ''무엇을 해야하는가?'' 에서 출발하고 싶었지만, 불행히 ''무엇을 배워야 하는가?'' 로 출발과 끝을 마무리 했다. 역시 ''문제를 인식''하는 단계가 중요함을 느낀다. --["neocoin"]
          * 그랬군. 그래도 배를 탔으니.. 같이 목적지를 향하여 노를 저어보세.. (뭔 소리냐구? 지금 부모님 집에 왔거든. 맘이 순수해져서.. ^^*) --경태
  • ProjectSemiPhotoshop/SpikeSolution . . . . 17 matches
          클립보드를 위 전역 함수
          // 메모리 핸들이 유효지 확인
          // 네칸의 픽셀값을 동일 값으로 평균화 합니다.
         내 생각엔 SpikeSolution 과정에서 중복된 코드가 나올것 같고 나중에 이것들을 묶어서 단순 설계를 구현시킬 수 있을 것 같다.
          오 신기하다. 이걸로 솔루션이 세개쯤인거네, 우리조는 선택도 할수 있네 대단조 ;; --["neocoin"]
          1. 성공적인 제품을 정의하기 위해 충분 스토리를 작성다.
          * 필요 조사를 수행다.
          * 각 스토리 구현의 난이도를 추정다.
          * 스토리 구현 속도를 추정다.
          * 비즈니스 가치와 난이도에 기반하여 첫번째 배포를 하기 위 스토리를 선택다.
         * 단순 설계
          1. 모든 테스트를 실행다.
          * 모든 아이디어를 표현다.
          * 최소의 클래스와 메소드를 가진다.
  • STLPort . . . . 17 matches
         본 문서는 상기의 페이지에 내용을 그대로 옮긴것입니다. 개인 홈페이지의 내용이기 때문에 링크가 깨질경우를 대비 백업이므로 가능하면 원래의 페이지에서 보시길 바랍니다. 최소의 원작자에 대 예의이겠죠 ^^;;
         본 문서는 Win32 환경에서 Visual C++ 를 사용하시는 분들이 STLport의 STL 라이브러리를 설치하여 사용하는데 도움을 주기 위하여 작성되었습니다. 가장 최소의 설치 과정만을 싣는데 초점을 두었으며, Visual C++ 6 이하의 버전에서는 테스트하지 않았음을 미리 알려 드립니다. 기타 세세 정보는 외부 자료 문서화 페이지 혹은 게시판에서 얻고, 나누어 주시기 바랍니다. 감사합니다.
         STLport 라이브러리는 SGI(실리콘 그래픽스)의 STL을 여러 가지 운영체제 및 개발 도구에서 쓸 수 있도록 포팅 것으로, ANSI 표준안을 충실히 따르고 있으며 이외의 비표준 라이브러리도 충실히 구비해 놓고 있는 공개 라이브러리입니다. 게다가 몇가지 장점이 더 붙어 있습니다.
          1. MSVC 컴파일러의 자질구레 경고 메시지를 막을 수 있다 ({{{~cpp _msvc_warnings_off.h}}}가 준비되어 있음)
         잘 아시겠지만, 본 문서는 읽으시는 분께서 Visual C++ 개발 환경과 C++ 사용에 불편해하지 않고 DOS 화면을 두려워하지 않는다는 가정 하에 작성했고, 윈도우 환경을 최대 사용하는 쪽으로 작성하였습니다. :)
          * '''etc''' : 말 그대로 기타 잡다구리 파일들이 있는 디렉토리
          * '''src''': 재사용 바이너리를 빌드하기 위 플랫폼 별 프로젝트 파일이 있는 디렉토리. (''주의: vc6.mak 파일이 있는지 확인해 보세요. 빌드에 중요합니다'')
          * '''test''' : STLport가 설치된 후 제대로 설치되었나 확인하기 위 테스트 프로그램 소스.
          * 메이크 파일을 읽으면, 아래와 같은 대화 상자가 나와 "프로젝트를 만들겠냐고 물어 보는데, 당연히 [예] 하시고, 적당 이름(예: STLP_vc6)을 짓죠. 프로젝트 파일인 .dsp와 .dsw가 만들어 지면서 재사용 바이너리를 빌드할 수 있게 됩니다.
          1. 빌드 라이브러리를 확인합니다. 별다른 조정을 해 주지 않았다면 아래와 같이 lib 디렉토리와 함께 만들어질 것입니다.
          ||'''정의 매크로 상수'''||'''대응되는 "Use Run-time Library" 설정'''||'''링크되는 STLport 런타임 라이브러리'''||
         _STLP_USE_STATIC_LIB 상수를 정의 후에 "Use Run-time Library" 설정을 <*><*threaded>으로 맞춘 뒤에도 {{{~cpp LNK2005}}} 에러와 {{{~cpp LNK4098}}} 경고가 동시에 나는 경우가 있습니다. 이런 에러가 나올 것입니다.
         STLport에는 자체 라이브러리에서 자체 디버그 정보를 내어 주는 독특 기능을 가지고 있습니다. 보충설명은 [wiki:ESTL 이펙티브 STL]의 항목 50을 참고하십시오. 여기서는 STLport의 디버그 기능을 활성화하는 방법만 설명합니다.말은 거창하지만, 본론은 간단합니다. 가장 먼저 컴파일되는 파일(.h/.cpp)의 앞부분에 다음과 같이
         만약에 nmake가 실행되는 데 문제가 있거나 라이브러리 설치가 제대로 되어 있지 않다면, 비주얼 스튜디오에 관련된 환경 변수가 시스템에 제대로 등록되지 않은 이유가 대부분입니다. 그러므로, VCVARS32.BAT를 실행 후에 다시 nmake install을 해 보세요.
  • Unicode . . . . 17 matches
         현재 대부분의 리눅스 어플리 케이션은 [UTF-8]을 기반으로해서 개발되고 있거나 포팅중이다. 새로 만들어지는 모든 패키지는 모두 UTF-8을 사용다. 그놈, KDE 와같은 윈도우 매니저들도 기존의 EUC를 기반으로 문자셋을 지원하지만, 표면적으로만 지원할뿐 내부적으로는 UTF-8로 변환하여서 처리함. 결국 UTF-8로의 문자셋 변경은 기간의 문제이지 대세이다.
         대부분의 흔히 쓰는 문자들을 정의 규격입니다.
         UTF-16LE, UTF-16BE 가 동일 규격으로 Little Endian, Big Endian 은 단지 byte order (바이트 순서)가 다를뿐 입니다.
         UCS-2, UCS-4 는 영어권에서는 분명 낭비가 있습니다.
         ascii 만으로도 충분히 표현 가능데, 글자에 쓰지도 않는 바이트가 낭비되지요.
         국어는 UCS-2 규격 내에 있기 때문에 3bytes 내에서 표현 가능합니다.
          글자당 8bit 씩 할당하지만 사용은 7bit 만 합니다.
         누구도 이런 식으로 설명해주는 사람이 없어서 예전엔 UCS2 = UTF16?? 이라고 헷갈리고 헤맸는데, 이게 정확 설명인지 모르겠습니다. 잘못된 점이 있으면 누가 지적해주시길... ^^;
         문자 집합(Character Set)이랑 인코딩(Encoding)에 대 차이도 뭐 속시원히 가르쳐주는 데가 없더군요. 결국 시간이 지나다보니 스스로 알게 되었습니다만.. 확실히 외국 자료 빼면 국내는 -_-;
         그러고보니 예전에 누군가가 국가 코드표와 인코딩이 가지는 의미에 대해 글 올렸던 거 같은데, locale 에 대 내용이 그 후로 안올라오는 거 같기도... 07/13 5:19:40 코멘트 지우기
         utf utf -8의 목적이 애매하네요. 원래 목적이 ascii문자만 있는 경우 사용하지 않는 첫번째 바이트를 없애기 위게 아닙니다. 개발 과정에서 ascii 문자와 호환을 위해 그 영역을 그대로 변환이 되도록 것입니다. 목적 자체는 ucs 캐릭터가 2 또는 4바이트로 이루어져 있는데 이걸 스트링으로 쭉 이어놓고 보면 중간에 널(0x00)이 들어갈 수 있습니다. 예를 들어 '가'는 0xac00인데 이 널 바이트 때문에 스트링 처리가 곤란하게 됩니다. 그래서 널 바이트를 없앨 수 있는 인코딩 기법을 개발하게 된 거죠. 07/13 23:22:49 코멘트 지우기
         resy 윗분 얘기대로 인터넷에서 안전 송수신을 위해서 UTF-8 의미가 있기도 합니다. 널 문자가 들어가지 않으니까요. 대표적으로 HTTP 프로토콜은 텍스트 방식이며, 전송 데이터에 널 문자가 들어갈 수 없죠.
         UTF-8 개발에 대 히스토리는 아래로 가면 볼 수 있습니다.
         asc 문자 만으로 해결되는 문화권 사람들에게 utf16,32 를 도입하라고 말해봐짜 별로 먹히지도 않을 것이고.. euc 등의 인코딩에서 unicode 로 넘어가는 단계에서의 혼란을 좀 줄이기 위 과도기적 인코딩이라고 보는게 더 의미 있지 않을까 싶군요...
  • VMWare/OSImplementationTest . . . . 17 matches
         = 작성 이유 =
         어려운 영문 OS개발방법을 글화 해주는 고마운 사이트
         무척 좋은 Protected mode에 대 설명과 소스를 담고 있는 사이트
         OS에 대 전반적인 자료가 있습니다.
         국 임베디드 개발자 모임
         = Protected i386 OS를 위 잛은 설명 =
         80586 (또는 P5 그러나 숫자는 저작권 보호를 받지 못다길래 이후에 Pentium으로
         코드는 그 메모리에서 시작다고 지정해야 할것입니다.
         읽어서 특정 메모리 번지에 로드 후 그 시작 함수 (엔트리 포인트 함수)로 점프하게
         - 간단 보호모드(세그먼테이션방식) 진입 및 커널 로드 부트로더
         - 부트섹터와 커널이미지를 merge하는 간단 makeboot.c 컴파일해서 자신만의
          ; 해야 다. ES:BX 로 1000:0000h 이기 때문에 아래처럼 다.
         커널이 끝나면 안된다. 계속 돌아야다.
         디버깅은 못하니 그냥 Release 모드로 선택 후 C++ 세팅을 아래처럼 합니다.
         또 컴파일 작업에서 바로 부트섹터도 컴파일하고 컴파일 끝나면 바로 부트 이미지도
         제일 중요 것은 이렇게 만든 가상 testos 의 플로피 디스켓 부팅 설정입니다.
  • VendingMachine/세연/1002 . . . . 17 matches
          1. 명확하지 않는 변수/함수&메소드 이름에 대해 - 이름을 다르게 바꿔준다. 또는 무엇을 하기 위 것인가에 입각, 함수/메소드 로 추출다. [[BR]]
          cout << "0.종료다\n";
         하지만 이건 추후에 Vending Machine 에서 메소드를 다른 클래스에게로 이양시켜주면서 UI 부분과 관련 클래스를 추출해 낼 수 있을 것 같다고 생각합니다. 여기서는 추후에 진행하도록 하겠습니다.
         일단 여기까지의 소스는 대강 이러합니다. 아직은 뭐 그리 큰 변화는 느껴지지 않습니다. ^^ (나머진 있다가 학교 도착 뒤 마저;)
          cout << "0.종료다\n";
         '무엇을 하는가' 라고 할때 InsertMoney 또는 InsertCoin 이 더 정확 표현이라 생각되어집니다. 그리고, 역시 하는 일에 대해서 메소드로 추출함으로서 comment 를 대신 할 수 있습니다.
         단, 이러 중복줄이기 & 일반화는 중복이 발생되었을때 (2 or 3 strike) 해주는 것이 쉽습니다. 처음부터 모든 중복될 부분을 다 예측해 낼 수는 없습니다.
         이것을 번 더 중복을 줄이면
         temp_money 가 하는 일을 보면 가지 일만 합니다.
         이 이외엔 쓰이지 않지만, private 멤버로 있습니다. 이러 입력을 받기 위 임시변수는 그냥 멤버에서 없애주면 됩니다.
         이 부분에 대해서 이미 일반화 공식을 만들었음에도 불구하고 불필요 switch & case 문이 있습니다. 이 부분에 대해서는 많은 코드를 줄일 수 있겠습니다.
         그리고, select_drink-1 식으로 쓴 것이 많은데, 이 이유는 아마 번호를 1,2,3,4 ... 로 찍기 위함일 것입니다. 그리고 select_drink 또 vending_machine 의 멤버인데, 특별히 하는 일이 없는 지역변수로 두는것이 낫습니다.
          cout << "0.종료다\n";
          << "0.종료다\n"
  • ZPHomePage . . . . 17 matches
         찌나 알바해요-_ㅠ 월~금 2시부터 7시까지 합니다. 그 시간 피해서 회의 하게되면 참가 가능데ㅠ_ㅠ
         각 공모에대 상금 비율이나 상품으로의 전환에 대 전권은 ZP홈 프로젝트에 일임됩니다.
         상품 구입에 대 영수증이나 상금인수자의 사인을 [윤성만] 군에게 제출해 주셔야 합니다. - [이승]
          * http://www.click4u.pe.kr/index_0.html - 홈페이지를 만드는데 필요 다양 내용들이 들어있습니다.^^
         2월 중순까지는 완성될수 있는 건가요?? - [이승]
         저번에 말했던 캘랜더 대충 가닥이 잡혔습니다. PHP로 꾸며보겠습니다. - [이승]
         약간 부족듯하지만 새로운 홈페이지를 공개합니다. 1주일정도 테스트뒤에 메인으로 띄우도록 하겠습니다. --[곽세환]
         드디어 개장합니다. 부족점은 많지만 계속 발전하는 홈페이지가 되도록 하겠습니다. -[곽세환]
         나도 뭔가하고 싶은데 전에 말 달력 만들면 되니? -[강희경]
          사진첩이랑 자료실은 제로페이지 회원만 접근가능합니다(가입할때 제로페이지 회원으로 가입해야되고요 제가 번 확인해보고 권을 드립니다)
          위키와 연동은 아직 불안정하긴 데요. 위키아이디 메일로 보내주시면 해결해드리겠습니다.
         건의사항입니다. 위의 모인모인 캐릭터를 Upload:ZeroWikiLogo.bmp 로 교체하고 기본 CSS를 clean.css로 바꿨으면 합니다. 모인모인 캐릭터의 경우 00학번 강지혜선배께서 그리신 거라는데(그래서 교체하더라도 원본은 삭제하지 않는 것이 좋겠습니다.) 제로위키에 대 표현력이 부족하다고 생각해서 제가 새로 그려봤습니다. 그리고 clean.css가 기본 바탕이 흰색이고 가장 심플 것으로 보아 기본 CSS로 가장 적합하다고 생각합니다. -[강희경]
  • pragma . . . . 17 matches
         C 와 C++ 을 구현 각각의 컴파일러에는 포팅된 하드웨어나 OS 에 의존적인 몇몇가지들의 기능을 가지고 있다. 일례로 몇몇의 프로그램들은 메모리에 데이터가 어떠 방식으로 자리잡을 것인지 에 관 문제나 함수가 파라미터들을 조작하는 방법들에 대 세밀 조작이 요구된다. #pragma 지시어들은 C 와 C++ 언어 안에서 최소의 호환성을 유지시키며 그러 시스템 의존적인 명령어들을 언어의 기능으로서 포함시키는 일을 다. Pragma 지시어들은 일반적으로 '''컴파일러들 마다 서로 다르다'''.
         map에서 나는 경고는 번호 C4786번과 C4788번(identifier가 너무 길어서 나타나는 경고라고 다) 단 2개 뿐임을 알았고, 결국 소스의 맨 윗줄에
         줄을 추가함으로 해결을 봤다.
         하지만, 이러 경고는 Visual C++ 6.0 에서만 유효것이고, VS.NET 부터 추가 세팅이 필요 없다. VC++ 6.0 에서는 map은 물론 STLPort 나, [Boost] 사용하는 것을 권장하지 않는다. 더 이상 MS 측의 컴파일러 기술 지원이 없으므로, VS.NET 이상 버전을 사용해야 다.
         뿐만 아니라 lib의 추가등이라던지 이 파일이 단 번만 열리게 할 수도 있다.
         #pragma comment(lib, "d3dx9") // dx9.lib 파일을 링크시 포함다.
         #pragma once // 이 파일은 번만 열리게 다.
  • 데블스캠프2003/다루어볼문제와관련세미나 . . . . 17 matches
         2003년도 데블스 캠프에서 다루어볼만 문제와 관련 세미나를 다루는 곳입니다.
          * 회의 때 나왔던 주제들 입니다. OOP, Computer System, 다양 프로그램 언어 체험, 네트워크
          * STL을 알려주는건 어떨까요? 좀 더 강력 프로그래밍을 하는 방법을 다룰 수도 있을듯 데...-[상욱]
          * 그럼 STL 내가 할래.--; 다른 사람보다 조금이나마 잘다고 생각하는게 이것밖에 없어서..--; --[인수]
          * 계획을 말씀드리겠습니다. 여러 문제를 푸는것 또 중요하지만, 큰(?) 프로그램을 다루는것도 괜찮은 생각 같아서 OOP를 2틀째 넣고 마지막날까지 팀으로 연속해서 만들어 데모를 하는 방법도 생각을 했었습니다.(정모 때요..) -[상욱]
          입장을 바꿔서 생각해보세요. 과연 1학년때 큰 프로그램을 짜라고 하면 짤 수 있을지... 선배들과 짠다고 하면 선배들이 대부분 짜버리는 부정적인 결과가 나올지도 모를것 같습니다. 페어를 통해 배우는게 많기는 하겠지만 이제 막 ToyProblems 에 재미를 붙일 사람들인데 너무 목표를 크게 잡고 있는 것은 아닌지요... 아마도 제가 큰프로그램에 대해 잘 몰라서 이런 말을 하는 것 같습니다. 큰 프로그램에 대 명확 설명을 바랍니다. --[창섭]
          * 네. 현철이형 그래서 제가 생각게 일단 동적 배열의 확실 이해와, 링크드 리스트를 구현해보게 다음에, 이들 지식의 선행으로 STL을 가르치려 하려구 그랬거든요. 위 두가지만 확실히 이해할 수 있다면 STL의 기본적인 (vector나 list같은) 것은 가르쳐도 무방하다고 생각합니다. --[인수]
          * 저는 STL 같은 것은 그냥 할수 있을 만큼 사용할줄만 알면 되다고 생각합니다. Library 가 제공하는 것은 우리에게 좀더 고차원적인 사고에 전념할수 있는 것이 겠지요. 배열의 길이에 신경쓰지 않는 것만으로, C++에서 얼마나 무 사고가 가능할까요? 학교 교제는 C++을 가르치는 것이 아니라, C에다 어떻게 충돌을 일으키지 않고 문법을 추가시켜 C++이 되었는가를 가르치기 때문에 이런 기회는 필요 할것 같습니다. 아마 궁금 사람은 STL의 소스를 보겠지요. 사족으로 STL은 OOP보다 Generic Programming의 관점에서 구현되 었습니다. --NeoCoin
          * 도큐먼트나 튜토리얼을 이용하는 방법을 알려주는 것도 괜찮은 것 같습니다. 새내기들에게 MSDN 에서 검색을 하는 것을 알려줬더니 단지 영어라는 이유로 겁부터 먹고 사용을 못하더군요. 어떠 주제를 던져주고 이러 것들을 스스로 찾아서 사용하는 방법을 알려주는 것도 스스로 공부를 해 나가는데 있어서 좋은 경험이 되지 않을까 합니다. -- [상욱]
          오늘 밤에 가능하나요? 중대로 가도록 하죠. 길게 할 건 아니고 딱 시간만. --JuNe
  • 데블스캠프2012/다섯째날/후기 . . . . 17 matches
          * [권순의] - C++의 개념을 C에서 어떻게 적용하는지, 컴파일러가 어떻게 돌아가는지에 대해서 생각해 볼 수 있는 시간이었습니다. 재미지네요. 단계적으로 나아가는 방법이 재미있었습니다. 설명도 자세하게 해 주시고 유익 시간이었습니다. 그러다 보니 왜 우리가 어떤 것을 사용했을 때 느리다던지 것에 대해서 보다 쉽게 이해할 수 있는 시간이 아니었나 합니다.
          * [이재형] - 오버로딩이나, 탬플릿 까지는 어렵지 않게 이해했는데 그 뒤부터 클래스, 구조체, 생성자와 소멸자, 상속, 가상함수 등등 부족게 많아서 정말 멘붕에 멘붕을 거듭했습니다. 그래도 정말정말 How에대 관점으로 공부해야겠다는 필요성과 더불어 이번 방학 공부에 동기부여가 잘 될 것 같아서 좌절감만 드는 것이 아니였습니다. 좋은 어려움이였던 것 같습니다.
          * [서영주] - 저학년을 위 C++개념 설명일줄 알았는데 생각보다 고학년테 반응이 좋았습니다. 저도 pl시간에 개념으로 대충 배웠던게 실제로는 이렇게 되어있구나 하는걸 알 수 있어서 좋았습니다. 언어를 쓰더라도 그런게 실제로 어떻게 구현되어있나를 생각해본 일은 별로 없었어서 내가 쓰는 언어에 대해서 다시 번 생각해볼 기회가 된 것 같습니다.
          * [서민관] - 개인적으로 C로 C++처럼 만들어 볼 수는 없을까 하는 생각을 조금 일이 있어서 보다 와 닿았던 것 같은 느낌이 강했습니다. 그리고 구조체의 맨 앞에 포인터를 배치해서 캐스팅하는 방법은 꽤나 그럴싸하군요. 항상 C++에서 궁금했던 것이 왜 맨날 첫 4바이트가 vtable의 정보를 가지고 있는 것인가였는데 아무래도 이번 실습 때 그걸 몸으로 체험 것 같습니다. 난이도도 그렇게 높지 않으면서 진행도 단계적으로 되어 있어서 따라가기도 편했습니다. 다만 1학년테는... 음...
          * [김희성] - Win32API를 할려다가 OMS에 없었던 12학번이 많아 OMS에서 했던 주제를 다시 했는데, 반응이 그다지 좋지 않은 것 같습니다. 비트맵 특성상 변수가 많이 쓰이는데 이해도를 위해 변수명을 축약이 아닌 풀네임으로 작성 것이 오히려 가독성을 낮추어 이해를 어렵게 것 같습니다. 오랜만에 비트맵 했더니 예제 시연에서 삑나고... 여러가지로 문제가 많았던 것 같습니다.
          * 내 생각엔 무엇이 x이고 무엇이 y인지 중간 계산 변수가 없이 바로 배열 첨자에서 번에 계산해서 이해가 어려웠던 것 같은데?ㅋㅋ - [변형진]
          * [서영주] - 비트맵 파일의 RGB값을 수정해서 그림에 변경을 가하고 하는 부분은 신기했습니다. 그런데 저테는 비트맵 자체보다도 실제로 많이 쓰이는 파일 포맷을 헤더와 데이터 부분 등 정해진 구조체의 크기에 따라서 값을 집어넣기만 하니까 알아서 읽어지고 파일을 다룰 수 있었다는 점이 조금 더 신기했습니다. 비트맵이 아니라 다른 파일이라도 마찬가지로 파일 포맷을 안다면 그 파일을 손댈 수 있다는 소리일테니까요.
          * [서민관] - 이런저런 일로 file format에 대해서 약간 볼 일이 있긴 했는데, 희성이가 좀 이미지 처리를 전문으로 해서 그런지 비트맵 형식에 대해서 꽤 본격적으로 다뤘네요. 비트 레벨에서 필터 등의 구현을 보는 건 신기했습니다. 근데 실습하기에는 이해도가 딸려서... 그래도 처음 보는 사람들테는 많은 이해를 주지 않았을까 싶군요.
          * [서영주] - 정말로 CSE 인생을 사셨구나 하는 생각이 들었습니다. 중고등학교 때 벌써 언어공부라니... 근데 인생 얘기하시면서도 맵 리듀스나 gba의 파일을 수정했던 얘기 등 중간중간에 들어있는 얘기들이 신기했습니다. 어떻게 그런걸 다 아시는지도 궁금하고. -_- 후기때도 했던 얘기지만 언젠가는 더이상 할 얘기가 없으실 때까지 얘기하시는걸 들어보고 싶습니다.
          * [서민관] - 앞으로 데블스는 낮에 했으면 좋겠습니다. ㅠㅠ 왜 그렇게 졸렸을까요. 아마 전날 캡실에서 잔 게 역시 좋지 않았던 것 같은데... 더군다나 중요 부분 이야기들을 다 조느라 못 들은 것 같아서 가슴이 아팠습니다. ㅠㅠ 근데 검색엔진 구현 때 선형대수학 얘기는 정말 할 말이 없군요. 역시 이것저것 전부 다 공부를 해야 하나.
  • 상쾌한아침 . . . . 17 matches
         = 상쾌아침 =
          아침 활용하기, 상쾌 아침 -- 재선
          페이지 제목은 상쾌 아침으로 결정했습니다. - [이승]
         || 이승 || :( || :) || :( || :( :( || :( || :) || :( :( || :( :( || :) :) || :( :( || :) :) || :( :( || :( :( ||
         || 이승 || :) :) || :( :( || :) ||
         || 이승 || :) || :( :( || :( || :( || :( :( || :) || :) || :) ||
         || 이승 || :) || :) || :) || :( || :( :( || :( || MT || :) :) || :) || :( || :( ||
          오우...- _ -ㅋ;; 7시 이전;; 난 8시에 일어나서 못견디고 다시 11시까지 다시 잤는데;; - [이승]
         저녁에 운동을 시작했어요. 게다가 학교까지 왔다갔다 휴... 일찍 일어나는게 더 힘들어 지네요;; - [이승]
         음화화~ 두시간 자고 일어났슴돠;; 아 머리아퍼;; - [이승]
          저는 일찍 일어나는게 불가능건지..ㅠ.ㅠㅋ - [이승]
         아프기도 해서 이틀 내리 쉬었네요;; - [이승]
          웃겼삼^^ㅋㄷㅋㄷ - [이승]
         그동안 자봉단이다, 이사다, 인터넷 문제다 해서 완전히 잊고 있었던 페이지. 잘 될진 모르겠지만 다시 해볼람니다. 일딴 게으름을 물리쳐야 하겠죠~^^ - [이승]
         수업때문에 요즘 계속 일찍 일어나네요 - [이승]
  • 새싹C스터디2005 . . . . 17 matches
          [황재선], [강희경], [이승], [조동영], [이영호], [윤성만], [하욱주]
          정확가요??
          현재 총 6명. 스터디 참여자 수가 늘어난다면 명([문보창], 이도현)을 더 끼울수도있다.
          학생들: [윤정훈], [윤성복], [남도연],[재만], [정진수]
          참여자 : [김재현].[김재형].[노상현].[박경태], [박지성], [김도현], [김민경], [이승](담임)
          학생들 : [허아영] , [정윤선] , [김진아] , [박수진] , [유선] , [이규완] , [이재영]
         Upload:CampusC.zip 공개강좌인 CampusC의 Text갈무리 버전인듯. 위의 것보단 짧다. 꽤 유명듯.
          조금 힘들지 않을까 생각 되네요;; 시험 진도도 중요하지만 그건 지나치게 빠르지 않나 싶습니다. - 이승
         영어성적://5번 반복다.
         구조체와 포인터에 대해 다룹니다. 포인터에 대해 다루게 된다면 값에 의 전달, 주소에 의 전달도 기본으로 다뤄야겠죠? 그에 따른 모듈화의 학습도요. 그리고 가능하면 메모리 할당에 대해서도(malloc명령문) 다뤄주세요.
         단축계산(short-circuit evaluation)의 개념을 설명 프로그램을 읽고 이 프로그램에서 4개의 printf()함수를 실행했을 때, i, j의 값이 왜 그렇게 나오는지를 설명하시오.
         다들 학교 생활하시기 바쁘실테니 휴학생인 제가 교장(?)비슷 역할을 하겠습니다. 목표는 중간고사 전까지 포인터(또는 시험범위)까지 진도를 나가고 스터디 종료하는 것입니다. -[강희경]
         이거 개가 빠진것 같은데요?? - [톱아보다]
         스터디의 규칙이나 모임시간에 대 다양 의견들이 아직 일치되지 못하고 공유되지 못것 같습니다. 이번주 안에 담임 모임을 가져보는건 어떨까요??~^^ 오프라인이든 온라인이든 말이죠.- 톱아보다
  • 새싹C스터디2005/선생님페이지 . . . . 17 matches
         C에서 공부해 보아야 할 내용들을 이야기 해 보았으면 좋겠습니다. 필요 내용이 있다면 누구나 써주시고, 순서가 뒤바뀐것이 있다면 바꾸어 주세요.
          * [톱아보다]는 오늘 첫 모임입니다. 신입생들에게 일정 진도까지 공부해 오라고 미리 말해 두었으며 그중 명에게 발표를 시키고 질문을 통해서 완성시켜 나갈 생각입니다.
          * 일주일에 번을 모이더라도 위키를 통해서 쉽지만 많은 예제가 나갔으면 좋겠습니다. 연습보다 좋은 선생님은 없으니까요.
          * 배열을 추가했습니다. 배열(이중)을 제대로 가르쳐야 Linked List를 제대로 가르칠 수 있을 것 같네요. Linked List를 쓰는 이유를 알려면 이중 배열을 알아야다 생각해요. 안쓰면 뭐가 안좋은지 알 수 있을테니까요. [이영호]
          * 정말 힘드네요 이거;; 스택, 큐, 트리에 대 이해없이 링크드 리스트라...-_-ㅋ;;
          * 자료구조에 대 구체적인 접근은 피했으면 합니다. 보통의 자료구조는 일상생활의 예제문제를 풀어나가면서 익힐수 있다고 생각합니다. - [톱아보다]
         지금 배열과, 제어문까지 나간걸로 알고 있는데 지나치게 빠른건 아닌지 생각해 봅니다. 변수에 대 입출력 연습이 지나치게 적었던것 같은데. 어떻게 생각하시나요?? - [톱아보다]
         지난번 세미나를 잠깐 듣고 느낀것은 번에 너무 많은것을 알려주려고 하는 것 같았습니다. 몇번의 세미나를 통해 프로그래밍 언어 가지를 가르쳐주는 것은 불가능합니다. 주제를 더 줄이고 보다 확실하게 이해할 수 있도록 가르쳐 주는 것이 더 좋을 것 같습니다. 모든 부분을 설명하지 못해도 상관 없습니다. 어차피 언어는 스스로 익히는 것입니다. 우리가 할 일은 스스로 익히는 일에 보다 빨리 다가갈 수 있도록 조금씩 이해의 폭을 넓혀주기만 하면 되는 것입니다.
         여러분들보다 조금은 세미나 경험이 많은 사람이기에 가지 이야기만 드리겠습니다. 세미나를 통해 무언가를 설명할 때 정의(definition)에 대해서 명확하게 알려주도록 노력해 보세요. 여러분이 세미나를 후에 신입생들에게 "변수의 정의가 무엇이냐?", "함수의 정의가 무엇이냐?" 와 같은 질문을 다면 신입생들이 대답을 할 수 있을까요? 혹은 여러분들은 이러 질문에 명쾌하게 대답을 할 수 있습니까? 어떤 새로운 것을 배울 때 가장 중요 것은 그것이 어디에 쓰이는 것인지, 그것이 어떻게 쓰는 것인지와 같은 것들이 아니라 그것이 무엇인지를 아는 것입니다. 무엇인지 확실하게 알아야 그 다음을 이해하는데에도 보다 쉽지 않을까요?
         오늘 집에 오면서 [프로그래머를위공부론]을 다시 읽어봤는데(앞으로 수십 번은 다시 읽어봐야겠지만) 다음과 같은 구절이 있었습니다.
          전 저렇게 하고자 노력을 하는데...선생님과 학생 둘 다에게 큰 인내심이 있어야 가능 교육방법입니다. -[강희경]
  • 새싹교실/2011/무전취식/레벨1 . . . . 17 matches
          2차도 갔는데 친구가 많이 마셔서 데려다 줬어요(착일)
         문자는 소문자 대문자를 구별다. char babo; char BABO;
         정진경 : VS2008에 다시번 입문 기분이었다.'' 나도 이런때가 있었다.''
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 여기다 이렇게 쓰면됩니다. 오늘 새로운 새싹 인원들을 이끌고 새싹 교실을 시작하였다 초롱초롱 눈동자의 진영이와 소라 원태 원석이 그리고 많이 알지만 참고 같이 수업을 봐준 진경이가 있어서 너무 좋았다. 약간 몇가지 설명을 안것도 있지만 꾸준히 따라와주는 원태와 궁금점에 대하여 질문을 하는 원석이의 태도가 참 많이 들었고 소라가 옆에서 진영이를 그때 그때 잘봐줘서 고마웠다. 첫시간이라 좀 어색하고 수준을 맞추기에 난감것이 있었다. 다음시간에는 좀더 체계적이고 기존 커리큘럼이지만 설명을 보강하고 더욱 재밌는 수업을 만들었으면 다. -[김준석]
          * 첨으로 VS2008을 써보았슴다. 표준입출력 연습?? 언어에 관해서는 그다지 어려운 점이 없었는데, 내컴에 깔린 VS2008과 실습실에 깔린 VS2008 환경설정이 달라서 조금 걱정ㅠㅠ.. 사실 C언어 코딩을 반년 넘게 안하고, 중간에 C99 표준 내용을 아주 쪼오금 본 뒤 다시 표준입출력으로 돌아오니, C언어가 참 어렵다는 생각이 들기도 했습니당. 저도 갈길이 멀지만 저보다 발짝 뒤에 있는 동기들을 보면 조금 걱정입니다. ㅜㅜ 화이팅 -[정진경]
          * VS2008이란 것을 처음으로 사용해보았습니다. 처음 새싹수업에서는 어려운 점을 많이 느껴서(긴장을 좀 탓도 있어요ㅋㅋ) 그날 배웠던 것을 잊어먹지 않기 위해 계속 해서 성공할 때까지 실습을 했습니다. 하나 하나씩 성공을 하고 나니 뿌듯함도 느끼고 자신감도 생기는것 같아서 기분이 좋습니다. C프로그래밍 시간에 졸았던게 많이 후회가 됩니다ㅋ 대학교와서 노는 시간이 많이 늘긴 했지만 초심을 잃지 말아야 겠어요ㅋ. 앞으로는 수업 내용들을 가능하면 당일날 복습을 해둬야 할 것 같습니다. 새싹교실 들기를 정말 잘 것 같아요~! -[서원태]
          - 돈받았다 원태테 까먹고 못받았네?
          * 열심히 하시네요! 궁금게 있는데 저기 변수명 선언규칙의 제약조건은 변수명 첫글자에만 해당되는거겠죠?? - [서지혜]
  • 새싹교실/2011/무전취식/레벨11 . . . . 17 matches
         서원태 : 처음으로 중앙도서관 가서 책을 대출함, '이기적 유전자'책이었는데 이해를 못했음. 그래서 독후감을 써야되는데. 글씨 8pt로 해야되서 도저히 끝까지 분량을 채울수가 없어서. 반장 채우고 교수님테 메일 보냈는데 12시 지나고 답장이옴. '홈피에 올리셈' 시간 지나기 전에 빨리 올려놓고 잤는데 시간내에 됬는지 모르겠음.
         강원석 : 목요일. 학교 끝나고 집에 갔는데 강아지가 또 생김. 원래 있던 놈이 너무 귀여움. 그날 집에 갔는데 큰놈이 작은놈을 공격해서 그 다음날 보니까 작은애가 큰애 공격함. 근데 또 보니까 하루종일 큰놈이 기가 죽음. 꼬리도 안흔들고 밤에 목욕 시켜줬더니 신나함. 작은애는 '예삐'임 ㅋㅋ 작은애는 키우다가 할머니 댁으로. 금요일인지 목요일인지 보현이 생일이어서 학교 끝나고 놀았음. 제 생일떄 밥을 샀는데요. 걔는 밥을 안사더라구요 ㅋㅋㅋ 그리고 애들이랑 치킨집 가서 치맥을 시킴. 거기서 케잌을 하는데 주인아저씨가 화냄 '바닥에 뭍히면 묻어버림' 그리고 싸가지도 없음. '딥테이스트' 썩을 ㅋㅋㅋ 그리고 술막 먹고 당구장에 감. 신세계였음. 장난 아님. 그렇게 했는데 밤새는 애들 많아서 빨리 해산함. 고딩 친구 만나러 양대감. 갔는데 쿨피스 소주를 시킴. 맛이 쿨피스도 아니고 술도 아니고 다신 안먹음. 그친구가 애들꺼 다 사줘서 잘먹고 그날은 잘 갔음. 토요일날 번지 뛴다고 해서. 10시에 분당에 비가옴 그래서 재환이형테 전화해서 비온다고 하니까 망했다고 함. 그래서 자고일어났는데 11시에 비가 개고 날씨가 더움. 번지 뛰기 최고의 날씨. 전화하니까 '콜' 7명이 왔음. 그래서 운전해서 감. 율동공원에 갔는데 예약을 하고감. 그리고 정자동에 상현이형 아버지가 하시는 '오모리찌개'에 감. 고3친구들이랑 자주 갔던덴데 선배네 아버지가 하는집이어서 신기함. 맛있게 먹고 재환이형이랑 근화형이 다 사줌. 그리고 서현역 가서 오락실을 갔는데 신나게 놀고. 드럼 게임기에서 농락당함 ㅋㅋㅋ 그래서 다음애가 난이도 올려서했는데 또 Easy가 되서 손가락 하나씩만 씀. 일부러 죽었는데 다음판이 또됨. 아무튼 그래서 죽어서 500원 넣고 다시함. 그런데 또 못쳐서 죽음. 그다음 번지뛰러감. 엘레베이터 탔는데 1층과 2층(45m) 2층 올라가서 뛰어내림. 뛰어내리는 순간 죽는거 아닌가 '그어어어~'하고 뛰어내림. 그리고 애들 다 뛰어내림. 여름 방학때 가평을 가기로 함. 65 m뛰어내리러 갈꺼임. 나머지 사람 보내고 서현역에 뭘 먹으러감. 내가 서현살지만 몰랐던 치킨 7천원에 무리필집이 있었음. 그런데 그집이 치킨이 마리 시키면 반마리 밖에 안나오는데 너무 느려서 먹다가 지치는 구조임. 맥주만 엄청 먹고 나왔는데 또 근화형이 다삼. 감사합니다. 꿀꿀꿀. 그리고 다 태워드리고 버스태워드리고 집에 옴. 일요일. 엄마 생신인데 아침에 엄마랑 대판 싸움. 12시에 일어났는데 엄마가 세수하는데 나가버리심. 엄마가 차타고 가심. 그래서 집에와서 화내고 놀러갈라 했는데 그것도 아닌것 같아서 앞에 백화점 가서 생일 선물 삼. 그리고 집에와서 미역국 끓이고 놀러나감. 친구들 만나러 나감. 재수생 친구들 친구들 만났는데 불쌍해 보임. 그래서 당구장 가고 피씨방 가고 노래방 가고. 그리고 술집 가서 아줌마가 반갑다고 서비스 해주심 옆테이블 아저씨가 우리 담배피는사람 아무도 없다고 착하다고 먹고싶은거 시키라고하심. 그와중에 다이다이까고 있는 두명있었음 둘이서 4병까고 안죽음. 그리고 집에 11시에 간다고 다고했더니 아빠가 화내심. 엄마 생일케잌 기다림. 그러고 생일 케잌하고 잠. 그리고 월요일에 눈뜨자 마자. 운동하고 집에 감. 요즘에 살이빠져서 참 좋아요. 집에 와서 가족끼리 영화를 보러가고. 그렇게 지나갔는데 오늘 새벽에 WWDC봤는데 새벽 4시까지 봤는데 아이폰 발표안해서 실망.
         이소라 : 수요일에 학교 끝나고 동생 학원 등록해주고 남친 봄. 놀다가 남친 6시 수업가야되는데 2시에 만나서 놀시간 없어서 그래서 가지 말라고 땡깡부림. 그래서 걔 1교시랑 2교시 빠지고 3교시 들어감. 목요일에도 학교 일찍 끝나서 머리 자르러감. 머리를 자르고 고데기를 해줬는데 초딩 머리를 해줌. 바로 집에감. 그리고 안나옴. 머리 감아서 고데기 풀었더니 그나마 나아져서 다행. 머리 망. 토요일에 재수하는 친구 만나서 홍대 다니는 친구 만나서 놀았는데 시간 두시간 영화가 여석 없어서 포기하고 밥먹고 스티거 사진 찍으러감. 스티커 사진 기계가 배경 고르는것도 10초 밖에 안주고 찍는것도 하나 이러고 찍고 이건 망했구나 번 더 찍는데 그 기계가 다 괜찮은데 꾸미는거 70초 남았는데 끝남 ㅋㅋㅋ 소라 ㅅ 쓰고 있는데 꺼져서 그냥 가지고 나와서 콜드스톤 가서 아이스크림 먹으면서 사진찍고 와라와라 가서 과일소주가 있어서 직접 앞에서 갈아주는거 가는 사람이 자꾸 갈면서 절 쳐다봄. 갈면서 쳐다봐서 화장실갔다왔더니 검사했데서 얼른 먹고 나옴. 월요일에 그 남친네 수리 '나'형보고 공대가서 미적봐야되서 미적갈켜줌. 그리고 오늘 아까 목아파서 병원감. 근데 수업시간 다해서 딱 맞게 나왔는데 사람이 많아서 영어 40분정도 지각하고 20분 수업듣고 끝냄.
         이진영 : 저번주에 창설 휴강해서 집에 일찍 갔는데 원래 선대 공부를 할려했는데 근데 일주일동안 잠만 많이 잤음. 그래서 일요일에 아빠 거래처 사람이 앵무새를 갖다주심. 근데 말은 못하는 애들같음. 근데 제가 조류를 싫어함. 원래 고양이를 기르려했는데 못기르는데 동네 고양이가 현관문 열어뒀더니 새들테 달려들음. 그래서 새를 이름 지음. '모토' '로라' 근데 새가 엄청 조용했는데 하루 지나고 짹째댐. 때려야겠음. 그리고 어제 월요일이라서 남자친구 만났는데 인천 대공원갔음. 그래서 자전거 탔는데 사람 너무 많았음. 근데 30분타고 힘듬. 너무 덥고 그래서 쉬다가. 자전거 반납함. 그러고 롯데월드감. 그래서 롯데월드가서 야간이랑 이벤트해서 1만 5천밖에 안하는데 사람 너무 많아서 ㅠㅠ 별로 못탔는데 그래도 유명거 다탐. 씐난다! 번지드롭 봤는데 초딩 4명이 스크림 가면쓰고 손흔드는데 많이 무서웠음. 그리고 자이로 스윙 무서웠는데 어제 타니까 별로 안무서웠음 'ㅅ'
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 후기 페이지를 안만들었는데도 만들어주었군요! 역시 훌륭 학생들입니다!! 사실 이번시간은 자습아닌 자습을 하게되었고 그냥 미래에 대해서만 물어보게 되었네요. 딱히 것은 없습니다. 미안해요 선생님이 오늘은 바빳어요. 다음시간은 드디어 기말고사 준비입니다! 드디어 성과를 맺을때가 됬죠. C공부를 자세히 하라고는 안하겠습니다. 다만 피피티 훑어보는걸 5번만 하세요 부탁인데 5번만. 그리고 꼭 훑어봐야합니다. 읽어는봐야되고 꼬치꼬치 캐묻지는 말아야하는정도로~! 다음시간에 보증금을 반환해줘야겠네요. 이제 제자들이 쏘는날이다! - [김준석]
          //우수법을 구현겁니다.
          * 모르는 점은 조교테!
  • 새싹교실/2011/무전취식/레벨9 . . . . 17 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 후기가 날아가서 갑자기 의욕이 팍... 앞으로는 저장하고 적어야겠습니다. 이런일이. 역대 Ice Breaking중 가장 길었는데!!! 이미 수업 진도는 다 나아가서.. 이제 좌우를 돌아볼차례입니다. 알고리즘도 배우고 함수 쓰임도 배우고 코딩도 손에 익히고. 이번 시간에는 진영이에게 코딩을 맞겼는데 생각보다(?) 정말 잘했습니다. 가르치고 싶은건 이제 생각 내용을 코드로 바꾸는것입니다. 다음시간에는 그것에 대해 번 생각해서 진도에 적용시켜봐야겠습니다. 그리고 자료구조를 번 알려줘야겠어요. 숙제는 잘들 해가죠? - [김준석]
          * 일등이다 야홍호오호오홍호오호옿 ice breaking이 저장되지않았다니... 슬픕니다ㅜ_ㅜ제꺼가 제일길었는데... 숙제 다시 풀어보다가 생각나서 후기쓰려고 들어왔는데 일등이네요 하핫 오늘은 축젠데 노는건 내일부터 해야겠네요ㅠ_ㅠ 지지난 시간 복습을 했습니다. 스택구조에대해서 다시번 배웠고, 파일입출력을 배웠습니당(사실 복습). 파일은 구조체로 작성되어있는데, 파일이 있는 주소와 파일을 어디까지 읽어왔는지를 기억하는 변수가 포함되어 있다고 배웠어요. 그래서 while문에서 fgets로 읽어온 곳이 null이면 break하라는 if문을 4번거쳐서(파일 내용이 4줄일경우) printf가 4번실행된다는 것을 알았어용.(맞낰ㅋㅋㅋ) 그리고 숙제로 나온 문제를 풀어주셨는데 2번이 어려웠었는데 수..수학때문이었던 것 같네용... 아직까지 dev의 공식을 모르겠어요. 나름 수학열심히했었는데.. 다시해야하나봐요ㅠ_ㅠ 수학이 모든 학문과 연관되어있다니..싫어도 꼭 제대로 공부해야할 것 같습니다ㅜ_ㅜ(그래도 선대는싫어요.)c공부도열씨미하고 수학공부도열씨미할게용 하하하하 후기 길다!! 숙제 도와주셔서 감사합니당♥히히힛 - [이소라]
          * 오옷~~ 소라가 길게 썻어 ㅋㅋ 우와우와.. 정말 레벨 9까지의 후기중에 가장 보람찬 후기군요. Ice Breaking저장 못해서 미안... 흑흑. 오늘은 축제이지만 사실 우리학교는 별로 놓게 없답니다 슬프지만 이게 현실이에요..ㅠ.ㅠ 맨날 술먹고 스타부르고. 정작 학생들이 놀자리가 없다니 이게 뭔가요 =3=!!! 이번 레벨9에서 배운내용에 대해 자세하게 남겨줘서 너무 기쁩니다. 정말. 정말 기쁨. 다음시간에도 파일 입출력을 해보고. 돌아가며 실습에 들어가봐야겠습니다. 수학. 우와 어렵죠. 소라도 수학이 약하지만 언젠가 수학이 필요날이 올때가 있을거란다. 정말로. 정말로. - [김준석]
          * 이번 수업때 배운건 셀렉션소트와 버블소트.... 둘을 모두 손봉수교수님 강의자료를 보면서 공부했는데 숙제를 할때 셀렉션소트를 해야 하는걸 버블소트로 써버려서 다시 하고 있어요 ㅜㅜ 다시 하는 김에 이번 수업에 배운 셀렉션소트에 대해서 또 번 공부를 하게되어 참 유익했습니다.(과제에 관 힌트때문만은 아니에요 ㅋㅋㅋ) 오름차순이나 내림차순으로 정열하게 할 수 있는 소트들중 셀렉션소트와 버블소트와의 차이점을 알게 되었고(이중 첫번째 것과 비교&교환하고 이후의 것들도 두번째 것과 교환하는 셀렉션소트에 대 이해부족으로 과제에 애를 많이 먹었습니다ㅋㅋ) 과제도 이제 점점 어려워지네요ㅋㅋ 복습이 정말정말 중요하다는 것을 계속해서 깨닫고 있습니다. 기말고사 준비를 해야겠어요ㅋㅋㅋ - [서원태]
          * Bubble이 왜 Bubble일까? Selection이 왜 Selection일까? 그것의 이름만 생각해도 온전히 너에게 얻는것은 있을것이다. 도움이 되엇다니 다행이네 알고리즘이 좀 재미는있었나 이게 좀 지루것이라. 말빨이 좀 잇어야하는데. 웩. 우리는 복습을 하면서 대부분의 1시간을 보내지. 정말정말 중요하거든. 복습의 중요성을 깨닫는다니 다행이다. 더욱 열심히 복습해보자 그리고 벌써 기말고사 준비하면 지친다 ㅋㅋ - [김준석]
          * 전 이번 수업시간때 지나가며 배운게 ICE Breaking 기법중 하나인.. 이름은 모르겠고 어떤 것의 전문가가 되어 질문에 답하기! 였어요 ㅋㅋㅋㅋㅋ 개발자들테는 정말 저런게 있어야 좀 더 원할 소통이 되는군, 이라고 ICE Breaking이 나름 중요하다는걸 다시 생각해보게 되었네요. -[김태진]
          * Creative Expert였지. 나름 센스가 있는 답변 잘들었어 ㅋㅋ. 와서 유익 시간이 되었길 바란다 재밌었나 ㅋㅋ? - [김준석]
          * 애들이 왜케 후기가 빨라진 고에여..아직 목요일인뎅?,..ㅠㅠㅠㅋㅋㅋㅋ이번 시간은 정말롱! 유익햇어요 항상 그랬지만은 이번주는 특히! 왜냐면 수업에 빠졌었어서..ㅎㅎㅎ 뭔가 이해도 팍팍됐구요오 이번 시간에는 버블소트랑 셀렉션소트랑..과제 2,3번과 음..그 저번 시간 복습 파일 입출력! 그리고 while문에서 4번돌아가는거...힝 이거는 들어도들어도 계속 알것같으면서 모르겠어요!ㅠㅠ 어려워이잉 수업시작 되기전에 저 엄청 졸렸는데 수업할 때 맛있고 재밌어서 깼어요 잠! ㅋㅋㅋ 저 은근 열심히 들었는뎅..ㅎㅎㅎ 그리고 코딩도 해봤어요! 직접! 꺅! 근데 생각보다...할 수있었어욬ㅋㅋㅋㅋ코딩 맡겨보는거 좋은거같애요 오빠!히히 이제 이거 번 복습하구 과제 마무리하러 가야게써용!! -[이진영]
          * 흐음.. 이번주는 정말 기분이 좋아^^ 후기를 이렇게 빨리써주다니. 이번 시간에는 나조차 생각못 재밌는 시간이었나? 여튼.. 다음시간에도 파일 입출력 복습합니다. while문이 4번돌아가는건 fget함수 특성상 입력에서 \n을 만나면 거기서 끊어주기 때문이지=ㅂ=! 함수 특성에 대해서는 좀더 알려드리겠습니다. 가르쳐야될게 많아졌네. 그리고 역시 젤 좋은건 먹을것에 대 유혹인가봐. ㅋㅋㅋ 아이셔 잔뜩 먹이면.. 잠 안올려나. 음.. 실험을 해봐야겠어! 여튼 진영이도 이렇게 후기 올리느라 새벽에 수고가 많아. 하번 훑어봐주고 과제 화이팅!! - [김준석]
  • 새싹교실/2012/Dazed&Confused . . . . 17 matches
          * 새싹 인원들 개인 사정들로 인해 주 휴강 -_-a (처음 부터..;;)
          * 사실상 첫 수업이었다. 어떻게 가르쳐야 할까 고민하다가 나름 PPT를 만들어 보긴 했는데 (그래봤자 [http://winapi.co.kr/ winpai]에서 다 복붇이었지만 -_-) 허허허.... 모르겠다 -_-a 뭐.. 어찌되었든 간에 일단 이론적으로 PPT를 보면서 설명을 하면서 진행을 했는데.. 알긴 아는 거 같은데... 음.. 좀 더 같이 해 보면 알겠지- 그래도 잘 따라와 준 것 같아 고마웠다. 많이 부족 놈을 선생으로 둔 새싹들도 고생 많았어요 -ㅅ- 다음엔 더 준비 해 올게요a 근데 왜 회고지엔 소라 게임에 대 이야기만 있는거지.. 에잇 - [권순의]
          * define, rand, srand, 다양 헤더파일을 처음 써 보았다. 내가 혼자서 다시 해 봐야겠다. 신기했다. 이렇게 다양 함수를 알게 되어 좋았지만 조금 더 집중해야 할 것 같다. 이번 강의에서는 실습이 적었는데 실습과 직접 프로그래밍을 해 보는 시간을 가졌으면 좋겠다. - [박용진]
          * 드디어 반 아해들이 맨붕을 하기 시작했습니다. 뭐 놀라운 결과도 아니지만,, 직접 보니 ...하네요. 이번에도 ppt를 열심히 복붙해서 나누어 줬습니다. 그렇게 하나하나 알려주다가 포인터부터 조금씩 힘들어 하더니 재귀함수 부분에서 실습을 원하길래 피보나치를 짜 보라고 시켰습니다. 표정들이 맨붕 복탄을 맞은 것 같더군요. 음... 그래서 결국 준비 부분은 다 못 나갔습니다. 다음에 이어서 해야겠네요. 4주차 내용이 끝나면 번 전반적으로 실습 위주로 시켜야 겠습니다. - [권순의]
          * 진도가 빨라 매우 빨리 배우는 듯 느낌이었다. 번에 너무 많이 나가서 차근차근 천천히 나갔으면 좋겠다. - [박승우]
          * 포인터와 구조체, 전역 번수와 지역 변수에 대해 배웠고, 포인터가 어느 곳에서나 자료를 읽을 수 있다고 하는 것과 Call-by-Value, Call-by-Reference에 대해서도 배웠다. 포인터에 대 개념은 알고 있었지만 깊게는 알지 못했는데 오늘 새싹으로 많은 것을 배울 수 있었다. 그러나 이 모든 것들이 하루만에 끝내려고 하다 보니 너무 부담스러웠다. 조금 더 다양 프로그래밍 예제에 대 경험을 했으면 좋겠다. - [김민재]
          * 포인터, 재귀함수, 피보나치 수열을 코딩해 보았다. 피보나치는 하다가 실패했지만 자주 코딩을 해 보면 슬슬 감이 올 것 같다. 재귀함수의 return에 대 개념이 흐려서 아직 재귀함수를 잘 못 쓰겠다. 연습을 자주 해야겠다. Practice makes Perfect?.. 포인터에 대 개념이 흐렸는데 어느 정도 자리를.. 개념을 잡은 것 같다. 머리 속에서 코딩이 안 되면 펜으로 수도 코드작성이나 수학적으로 해설을 먼저 작성하는 연습을 해 보아야겠다. 강의에서 좀 더 코딩 연습이나 연습 문제 풀기와 같은 것이 많았으면 좋겠다. 단순히 따라적기만 해서는 잘 이해가 안 되는 것 같다. - [박용진]
          * 오늘 강의는 지난 주 내용을 복습하는 것 위주로 진행되었습니다. 그래도 번 했던 내용이라 저번 주 보다는 이해하는 정도가 다르더군요. 그래서 다시 번 재귀함수를 통 피보나치 수열을 짜 보게 했습니다. 저번 주 보다는 그래도 나은 결과를 보여주었습니다. 그래도 지속적으로 반복 학습 시켜야 할 듯 싶습니다. 그와 동시에 실습도 여러번 필요 할 듯 하군요.. - [권순의]
  • 새싹교실/2012/도자기반 . . . . 17 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/새싹교실강사교육/1주차 . . . . 17 matches
         1. 새싹 강사, 학생에게 서로 질문 던져보기 (뭐 때문에 들어왔나?/목표는?/왜 그렇게 잘생김•이쁨?/ 주 동안 뭐했는지 공유)
         선배 후배간의 학술적인 교류를 개인적인 능력에 의 특혜가 아니라 누구나 공개적으로 경험하기 위하여 ‘05년도부터 시작된 ZeroPage ‘새싹 배움터’를 시초로 다. 현 ‘12년 학부의 행사로 자리잡아 컴퓨터 공학부의 세 학회(ZeroPage, Netory, CLUG)가 진행을 하고 교수님과의 Feedback을 통해 유동적인 강의 과정을 만든다. 또, 새싹 교실의 필수과정인 Wiki의 사용, 회고를 통해 처음 프로그래밍을 접하는 새내기들뿐만 아니라 새싹 교실의 선생들도 배움을 얻어가는 자리이다.
         2) 만나서 Ice Breaking (모임 전까지 주의 일, 기본 학과 강의 시간에 배운 점, 재미있었던 일, 안녕 조~) (10분 내)
         ※ 시간은 강사 재량에 따라 기본 시간에서 2시간까지로 진행합니다.
         (앞에 공백 칸)* 내용 동그라미
          자기 이해도 (1-10점) : 강의 내용에 대하여 자신이 이해 정도를 평가. 1점 낮음 10점 높음
          좋았던 점 : 새싹 교실 중간에 좋았던 점 을 작성다. 강사에 대해 외모, 매너, 강의 내용 등에 대해 작성해도 되고 자신이 감정에서 좋았던 점을 경험 것에서 뽑아보자.
         예 ) 강사가 늦었는데 더 일찍 와주었으면 다. 수업시간에 졸았는데 다음에는 잠을 더 자고 와서 열심히 듣겠다. 강의 내용이 너무 어려웠다. 조금 더 쉽게 설명해 주셨으면 다. 이번에 과제를 못했는데 꼭 다음 과제랑 같이 다음 시간 전까지 해서 올리겠다.
         3.3 Vitualbox실행 -> 새로 만들기 -> 다음 -> 운영체제 : Linux 버전: Ubuntu(64bit) ->다음 -> 메모리(1024MB) -> 다음 -> 다음 -> 무 다음 -> 만들기 버튼 클릭 -> 완성
         3.5 팝업 메시지 다 확인 클릭 -> 부팅되면 설치 마법사가 실행되고 있음 -> 국어 선택 -> Ubuntu 깔기 선택 -> 체크 박스 체크 안하고 앞으로 클릭 -> 앞으로 또 클릭 -> 지금 깔기(아직 끝난 거 아니다) -> 설치하면서 설정 -> 중요! 글자판 배치에서 국어(101/104키 호환)을 골라야 /영 키가 정상 작동함. -> 계정 암호설정은 알아서.
  • 성당과시장 . . . . 17 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. 오픈소스「뜨거운 경제 논쟁] 같이 아직까지도 꾸준 논쟁이 이루어 진다.
         국내에서는 최근(2004) 이만용씨가 MS의 초대 NTO인 [http://www.microsoft.com/korea/magazine/200311/focusinterview/fi.asp 김명호 박사의 인터뷰]를 반론하는 [http://zdnet.co.kr/news/column/mylee/article.jsp?id=69285&forum=1 이만용의 Open Mind- MS NTO 김명호 박사에 대 반론] 컬럼을 개재하여 화제가 되고 있다.
         나의 경우 이런 책은 잘 않읽기 때문에 그냥 요점만 알아두는 것을 좋아다. -_-;
         그래서 나는 온라인 문서들을 좋아다 ㅋㅋ
         || 성당 || 찬란 고독 속에서 일하는 몇 명의 도사 프로그래머나 작은 그룹의 뛰어난 프로그래머들에 의해 조심스럽게 만들어지고 때가 되어야 발표할 수 있는 엄숙 성당 건축 방식 ||
         결국 이 책은 2가지 형태의 개발 방식에 대 접근 법을 제시 책이며, 저자가 주장하는 것은 아마도 시장 방식일 것이다. Open!!!
         (또, 레이몬드 본인은 이 시장방식이라는 것을 실제로 경험해보고자 fetchmail 이라는 것을 실제로 시장방식으로 개발해보았다고다.)
         이 책은 당시 책이 발표된 시점에서 얼마뒤 네츠케이프 사가 망하고, 망하면서 Netscape 을 Mozilla 라는 Project 이름으로 발표함으로써 더욱유명해 졌다고다.
         실제로도 네츠케이프사에서 이 결정을 하는데 이 책이 중요 역할을 했다고 다.
  • 위시리스트/130511 . . . . 17 matches
          * 암막커튼 (중요도: 5) : 학회실에서 정모를 할 때, 스크린이 잘 안보여서 필요함. - [고종]
          * A4용지 10박스 (중요도: 5) : 꼭 필요. 적재 가능 만큼 구매하자(2학기때 더 신청할 수 있는거 고려해서) -[김태진]
          * 64비트 멀티코어 OS 원리와 구조 1, 2 / 저자 : 승훈 / 빛미디어 -[장혁수]
          * 도어락 - 비번 누르는 걸로 문에 설치하면 괜춘할 듯 데..? - [권순의]
          * The C# Programming Language (Fourth Edition) 국어판 - [김민재]
          * Visual C++ 2008 MFC 윈도우 프로그래밍 최호성 저 | 프리렉(이디지털리) - [김민재]
          * 의자 5대 (중요도 2) : 학회실 내에서 기존의 딱딱 의자 대신에 편안 의자로 바꾸기 위함 -[김민재]
          * 2~3대쯤 사놓고 Ebook용으로 사용해도 될듯...
          * 24인치 모니터 (중요도: 2) : 필요하긴데 다음 학과 기자재 신청땐 모니터가 새로들어올 수도 있으므로.. -[김태진]
          * 아두이노 WiFi 무선인터넷 쉴드 (중요도: 1) - [고종]이건 정말 없어도 그만이긴데..진짜 정말 신청할꺼 없으면 사주세옄. 13만원이야 ㅋ;
          * 프린터는 산다면 HP껄로 사는게 좋습니다. Mac지원을 잘해주거든여. / 암막커튼 설치하는건 왠지 내가 할 수 있을것 같으니 설치 걱정은 하지말고. / 물품신청란에 책과 그외를 구분 했으면 합니다. 헷갈림; - [고종]
          * 일리 있는 말 같아서 그렇게 했음.-[고종]
          * 기자재의 범위는 학회 운영과 프로젝트 진행에 필요 것으로 설명을 들었습니다. 물론 우리가 신청 것을 삼성에서 다 인정해 주는 것은 아닙니다. 일부는 캔슬될 수도 있지요. - [김민재]
  • 프로그래머가지녀야할생각 . . . . 17 matches
         DeleteMe--우선 윗글에서 (확실히) 불분명 두 단어를 사용하였는데 하나는 ["programmer"]이고 다른것은 ["생각"]이라는 단어입니다. 우선 단어 정의가 필요거 같은데..대충 비슷하게는 생각할꺼 같은데 정교화가 필요할꺼 같군요. 재밌고 유익 토론이 되었으면 합니다.
          ''미안하실 이유 있나요~ 그냥 번쯤 생각해봐도 좋은 주제일듯 해요. --1002''[[BR]]
          ''미안하다고 건 생각다는 것은 그 자체가 에너지를 낭비하는 힘든 일이라서 결국 내가 힘든일 시킨게 되잖아. --nautes''[[BR]]
         학부시절 혼자하는 프로그래밍의 경우, 사소 기능 하나를 추가하려다가 제풀에 지쳐서,
         제 생각에 현대 사회에서 근면이라는 가치는 상대적으로 많이 떨어졌다고 생각합니다. 요즘 같이 사람에게 많은 일을 짧은 시간 내에 요구하는 사회에서 근면함이 얼마나 큰 가치를 지닐 수 있을지는 곰곰히 생각해보아야 할 것 같습니다. 그리고 부지런하지도 게으르지도 않은 사람도 많습니다. 자책하지 마세요. :) (혹시 진짜 게으른.. --+) -- nautes
         너무나 이상적이고 추상적인 생각이겠지만 '프로그래머는 사회에 이익이 되는 프로그램을 만들어야 다'는 근본적인 생각을 갖는 건 어떨까요? 예를 들어 재미있는 오락도 좋겠지만 장애인이나 나이 많이 드신 분들을 위 보조용프로그램 같은 것들이 많이 개발되어야 다고 생각합니다. 전에 정보요원단 활동을 할 때 우리나라에 보급되어 있는 장애인용 프로그램들이 많이 부족 현실을 봤었는데... 내가 만든 프로그램이 남에게 도움이 된다면 그보다 좋을 일이 또 있을까요? ^^ -- jeppy
          * 다들 인간으로써의 프로그래머를 두고 말씀하시는 것 같아 제 말이 뚱딴지처럼 들릴 것 같네요...^^;[[BR]]전 말이죠... 프로그래머는 컴퓨터를 사랑해야다고 생각합니다. 정말 제가 생각해서 어이없는 말 같지만, 프로그래머는 컴퓨터에게 명령만 내리는 것이 아니라 컴퓨터와의 커뮤니티가 형성되어야 좋은 프로그램(인간에게가 아니라 컴에게)을 짤 수 있다고 생각합니다. 지극히 추상적이라서 반박의 여지가 많은 말이지만 그냥 그렇지 않을까 생각해봅니다. 컴퓨터에 미친 사람이라면 다음의 말에 공감을 할 지도 모르겠네요. [해커를 위 파워핸드북]표지에 나오는 말입니다. ''''컴퓨터 속에서 흘러 다니던 비트가 내 혈관 속으로 옮겨와 흐르기 시작하고, 나는 컴퓨터와 함께 오르가즘을 느낀다.'''' --["창섭"]
          * 위엣 말이 컴퓨터 자체에 관 기계적 이야기라면 인간적 이야기도 추가하고 싶어요. 프로그래머는 프로그램 이전에 인간을 먼저 생각해야 다는 것이죠... 상민이 형이 줬던 V노트에 나온 말이 인상깊습니다. ''''크래커든 프로그래머든 둘다 시작은 해커를 꿈꾼 젊은이 였으며, 인격을 가진 사람이다. 악이 없이 선이 없듯이 크래커가 영원히 존재하지 않을수는 없을지라도 지금 당신의 열정과 땀으로 주어질 선택이 진정 존경으로 돌아올수 있도록 유혹을 이겨낸 진짜 승자가 되어야 하지 않을까......'''' --["창섭"]
  • 프로젝트기록의필수요소토론 . . . . 17 matches
         ["neocoin"] 지금 프로젝트중 어정쩡 상황으로 가는게 있는데, 반달정도에 번도 업데이트 안되는 것을 그 예라고 생각합니다. 프로젝트의 끝이 명확해야 하지 않을까요? 비록 팀원들간에 사정으로 해당 프로젝트가 와해 되었다면, 팀원들중 아무나, 혹은 다른 회원의 지적으로 종료 시점을 기록해서 와해 이유와, 차후 방지에 관하여 번쯤 생각해 봐야 할것이라고 생각 됩니다. [[BR]]
         [1002] 프로젝트의 마감부분은 중요 부분이 됩니다. 올바른 프로젝트의 끝맺음은 새로운 프로젝트를 다시 추진할 수 있도록 뒷처리를 해주니까요. 현재 semi-project 부분의 경우 그 양이 많은데, 어떻게 끝맺음들을 할지는 좀 더 두고봐야하겠습니다. (자신 주도하로 할 자신이 없다면 페이지를 '일반화' 시켜버리십시오. 즉, 자신의 이름을 걸고 하지 말고 하나의 문서처럼 Document 화 시켜버리십시오. 그렇다면 다른 사람들이 중간에 참여하기가 더 용이할 겁니다.) 개인의 이름을 걸고 다는 것은 그만큼 자신이 해당 페이지를 연 것에 대해 (또는 프로젝트를 연 것에) 책임을 지겠다는 것으로 해석다면 제가 오버 것일까요? 하지만, 그런뜻으로 하신 것이 아니라 하더라도, 어느정도 책임감을 가지셨으면 좋겠습니다.
         [1002] 프로젝트 이름에 대해서 마디 다면, 'Java', 'ExtremeProgramming' 은 공부하려고 하는 지식의 종류이지 프로젝트의 이름으로 부적절하다고 봅니다. 만일 Java Study 팀이 두 개인 경우라면? 문제가 발생할 수 밖에 없습니다. 초창기에 해당 기술부분으로 페이지를 열 수는 있지만, 나중에 프로젝트가 끝나고 난다음에는 일반화시켜서 본래의 이름을 반환해주는 것이 좋다고 생각합니다. (즉, 'Java' 페이지는 Java 에 대 소개나 기술 등을 넣어주고, 'Java' 페이지이름을 썼던 프로젝트팀은 프로젝트팀 이름의 새 페이지를 만들어서 경과보고를 하는식으로..)
         [1002] 가지 더 지적다면, 해당 토론 또 기간이 있어야 할 것 같다는 생각. --; (사람들이 이야기는 많지만, 정작 '어떻게 하자', '예. 동감합니다', '아니요. 그건 그렇게 생각하지 않습니다', '이러이러 방향이 더 좋겠습니다' 라는 이야기를 안하니. -_-;) 기간이 길어지고 아무 이야기 없으면 해당 주제에 대 결론을 영원히 유보해야 하겠습니까.. 쩝. 전에도 이야기 했지만, WIKI 자주 이용해주시고, 불편하시면 다른쪽 게시판이나 해당 사람에게 e-mail 로 답변을 주시기를. (동보메일이라도 보낼까요? --a ZP 에 sendmail 이 돌고있던가 기억이 안나는군. --;)
         ["neocoin"] ZeroWiki의 프로젝트 페이지를 위 6하 원칙을 생각해 봤습니다. 저정도면 될것 같네요. 어디서(where)이 있지만 이것은 보나마나 여기서 여기서니 프로젝트 이름으로 대체해서 했습니다. 앞으로의 모든 페이지가 저 정보가 꼭 있어야 다고 정모에서 건의 함이(이거 원 정모를 해야 --;) --상민
  • 1002/책상정리 . . . . 16 matches
         책상을 어떻게 정리할 것인가에 대 궁리. -_- 이는 책상을 어떻게 이용할 것인가에 따라 그 방법을 달리다.
         현실세계에서의 책상은 일종의 OS 이다. 운영체제에서의 몇몇 용어들은 사무용품에서부터 비롯되었다. 데스크탑, 폴더, 화일, 캐비넷 화일 (cab) 등등. 가상계가 현실을 모델링했다고 다면, 현실계에서도 가상계의 기법들을 어느정도 끌어올 수 있으리라. 이는 물리에서 수학적 모델을 기초로 기계 등을 만드는 것과 비슷하리라.
         === '책상은 창고 대용이다'에 대 접근 ===
         이런 Approach 를 하는 때는 평소 공부나 프로그래밍 작업을 하는 곳이 학교, 회사 인 경우이다. 일은 일터에서, 쉬는건 집에서; 라는 접근방법이다. 이 경우 집에서는 절대로 일을 안다는 전제하에, 밖으로 들고다니기 쉬운 것들이 가장 눈에 띄기 쉬워야 다. 그리고 책상에서 '아 공부하고 싶다' 또는 '아 작업하고 싶다' 라는 생각이 들게끔 하면 안된다;
         간단 방법 : 책상 위에 책을 잔뜩 늘어놓는다. 단, 이 경우 위의 '밖으로 들고다니기 쉬운 것들이 가장 눈에 띄기 쉬워야 다' 에 충실하지 못하므로, 가장 자주 들고다니는 책들을 책상에 늘어놓아야 다. 이 경우 다른 대안책으로서, '자주들고다니는 책은 아에 가방속에 넣어놓는다' 라던지 또는 '책상을 없애고 책장 2개를 산다' 라는 Architecture 적인 접근이 필요할지도 모르겠다. -_-a
         === '책상은 작업 공간이다'에 대 접근 ===
         이는 위의 경우와 반대가 된다. 위에서의 책상에 비해 '휘발성'을 띤다. 이 경우 책상 판 자체는 main memory 역할을 하게 되므로, 가급적 책상을 비우기 위 전략을 짜되, 해당 자료에 대 접근성이 좋아야 다.
          * 책상 위를 main memory, 책꽂이1을 제 1 cache, 책꽂이2를 제 2 cache, 책장을 제 3 cache, 바깥 책장을 hdd-drive 라 생각하고 정리다.
          * 압축방법의 도입 - 압축의 방법으로는 일반압축기법을 이용 압축과 손실압축법이 있다. 그리고 공간의 Optimizing 을 생각해볼 수 있다. -_-a 전자의 경우 부피줄이기, 중자는 스크랩, 후자로는 공간활용법을 생각할 수 있다.
          * LRU 기법 실천에 대 또다른 접근 : 깨끗하게 비우고 시작하기 - 책들을 일단 눈에 보일 수 있는 어딘가에 쌓아놓는다. 그리고 책상과 가장 가까운 책장을 무조건 비운다. 그리고 이틀 정도 진행해보자. 그러면 점차적으로 책이 쌓일 것이고, 그 책들이 가장 최근에 내가 이용중인 책이다;
  • 5인용C++스터디/윈도우에그림그리기 . . . . 16 matches
         GDI(Graphics Device Interface)란 윈도우의 클라이언트 영역에 그리기를 하는데 사용되는 함수이다. 비디오 출력과 프린터에 그래픽 출력을 책임지고 있는 부분이다. 사용자가 Windows용으로 작성하는 응용 프로그램이 GDI를 사용하여 시각적인 정보를 출력할 뿐 아니라 Windows 자체도 GDI를 사용하여 메뉴, 스크롤 바, 아이콘, 그리고 마우스 커서 같은 사용자 인터페이스 아이템의 시각적인 출력을 수행다.
         DC(Device Context)는 GDI에 의해 내부적으로 관리되는 데이터 구조체이며 '''그래픽 작업을 하기 위해서 필요 것'''이다. 그림을 그리고자 할 때에는 반드시 먼저 DC에 대 핸들을 얻어야 다. 프로그램에 이 핸들을 주는 것으로 Windows는 사용자가 그 장치를 사용할 수 있도록 허가해 준다. 그러면 핸들을 GDI 함수의 인자로 사용하여 현재 그리고자 하는 장치를 Windows가 식별할 수 있도록 다.
          예를 들면 자동차를 운전할때 자동차핸들을 좌/우로 움직이면서 자동차를 조작하듯이 '''윈도우에서 핸들은 윈도우를 조작하기 위 것'''입니다.
         첫번째 인자는 프로그램의 윈도우에 대 핸들이다.
         보통 프로그램이 WinMain에서 UpdateWindow를 호출할 때 발생다. 이것은 윈도우 프로시저로 하여금 클라이언트 영역에 무엇인가를 그리게 다.
         WM_PAINT 처리는 거의 항상 BeginPaint에 대 호출로 시작된다.
         두 경우에 있어서 첫번째 인자는 프로그램의 윈도우에 대 핸들이다. 두번째 인자는 PAINTSTRUCT 형식의 구조체에 대 포인터이다. PAINTSTRUCT 구조체에는 윈도우 프로시저가 클라이언트 영역을 그리는 데 사용할 수 있는 정보들이 저장되어 있다.
         WndProc은 BeginPaint를 호출하고 난 후 GetClientRect를 호출다.
         첫번째 인자는 프로그램 윈도우에 대 핸들이다. 두번째 인자는 RECT형식의 사각형 구조체에 대 포인터이다.
          * DeleteObject() : CreatePen()함수로 생성 펜을 지우는 역할.
  • AcceleratedC++/Chapter0 . . . . 16 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도 이용하기 위 문장도 있다.
  • BeingALinuxer . . . . 16 matches
         Being A Linuxer는 '리눅서가 되는' 정도의 뜻으로 해석할 수 있다. 이는 완료형이 아니라 진행형이다. 이 스터디로 인해 참가자들이 리눅스를 조금이나마 이해하고 리눅스 환경에 익숙해지는 것을 최종 목표로 다.
          || 이름(원하는 Nick) || 학번 || Messenger || 각오마디 ||
          || 유선 || 05 || hallyu@hotmail.com || 잇힝~ ||
          * B: : 오승혁, 송수생, 유선
          1. 학과 과제를 번 이상 리눅스 환경에서 구현.
          3. 오픈소스에 대 친근감.. (?) 형성
          3. 첫 수업이 있기 전 간단 개념 정리가 있을지도 모름.
          7. 4~6의 과정을 하나의 사이클로 보고 사이클을 3주에 끝내는것으로 가정. 스터디가 종료될 때까지 스터디를 반복
          * 첫 번째 - 간단 리눅스 소개, 서버 접속법(terminal, sftp), 파일 목록보기, 디렉토리 옮겨다니기 ([http://zeropage.org/~linuxer/documents/BeingALinuxer01.odt 자료01], [http://zeropage.org/~linuxer/documents/BeingALinuxer01.pdf PDF버전])
          * 6월 1일 화요일 5시 30경 부터 구피와 과방을 배회. 다른 스터디 사람들 찾지 못해 난감해 함. 연락할 방법 또 없어서 난감해 함. 6시 12분경 귀가를 결심. 다음에 만날땐 번호를 '꼭!!!' 따야겠다 결심함. --[형노]--
          * 6월 2일 목요일 A->B강의 시작. 참가자: 송수생 이동현 오승혁 유선
          오늘의 의문점: 와일드카드 문자의 정확 동작을 모르겠다.(ls pu* 로 하면 왜 pu*폴더안에있는 파일까지 다 나오는지?)
          * 완전 퐈~ 다까먹었어요 ㅠ_ㅠ -[유선]-
          우리 다시모일날 빨리 정해요~이러다가 시간또 흘러흘러 참 갈듯.ㅋㅋ
          긁어서 정리만 건데.. ㅋ
          * 요즘 잘 안되고 있는 것 같아요 -_-;; 방학해서 그런가?? [유선]
  • CollectiveOwnership . . . . 16 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) 기능을 쓰거나, 해당 언어 파서를 이용하는 간단 스크립트를 작성해서 쓰는 방법 등이 있다. 이렇게 큰 걸음을 디디는 경우에는 자동화 테스트가 필수적이다.
         일단 리팩토링을 필요로 하는 부분을 정하고, 그 주위에 테스트 프로그램을 조금씩 붙여 나가야 다. 그리고 리팩토링을 다. 간혹 컴파일러를 테스트 프로그램으로 여기는 약간은 위험 방법도 있다. see also Wiki:RefactoringLegacyCode
  • DPSCChapter4 . . . . 16 matches
         '''Adapter(105)''' 는 다른 인터페이스의 Clients들이 예상할수 있는 형태오 클래스의 인터페이스를 변형시킨다. 즉, Adapter는 양립할수 없는 다른 상황의 두가지의 일을 수행하는 클래스를 상호간연결시키는 역할을 다.
         '''Bridge(121)'''은 적용(implementation)의 추상화를 통 분리를 통하여 둘에게 독립성을 부여다.
         '''Composite(137)'''은 전체-부분의 계층 나타내기위 tree구조로 각 object를 구성시킨다. Composite는 client 들이 개별의 object와 object들의 조합을 일정 규칙으로 다룰수 있게 다.
         '''Decorator(161)'''은 object에게 동적으로 임무와 할일을 부여다. Decorator는 기능의 확장을 위 함수에 대하여 유연 선택을 제공다.
         '''Facade(179)'''는 확장된 시스템에서(하위, 상속받은) interface들의 조합에 대 일관적인 접근(interface)을 제공다. Facade는 확장 시스템(하위, 상속받은)을 좀더 사용하게 쉽도록 높은 단계의 interface를 정의다.
         '''Flyweight(189)'''는 많은 수의 잘 만들어진 object들의 효과적인 공유를 가능케 다.
         '''Proxy(213)'''은 다른 object의 조정,관리(control)을 위 대행자, placeholer를 제공다.
  • DebuggingSeminar_2005/DebugCRT . . . . 16 matches
         || _CRTDBG_CHECK_ALWAYS_DF || _CrtCheckMemory() 함수를 모든 new, delete 함수에 대해서 자동 호출 되도록 지정다.[[BR]] 이 함수는 할당된 공간의 유효성을 지속적으로 체크다. 즉 domainerror나 기타 메모리 access에 관 부분을 검사다. 대신 오버헤드가 상당하다. 그러나 그만큼 디버깅의 효율성을 높여줄 수 있다. ||
         || _CRTDBG_LEAK_CHECK_DF || 프로그램이 종료되는 시점에서 _CrtDumpMemoryLeaks()를 호출. 메모리 해제에 실패 경우 그 정보를 얻을 수 있다. ||
          ''_CRTDBG_ALLOC_MEM_DF 는 기본적으로 on, 기타 플래그는 디폴트 off이므로 bitwise 연산자를 이용해서 적절하게 플래그를 설정해야다.''
          //DCRT의 오버헤드가 상당하기 때문에 기본옵션이 꺼져있다고 다. 따라서 다음과 같이 옵션을 활성화 하는 작업이 필요
         MFC에서는 기본적으로 로드하지만 콘솔에서는 사용자가 직접 지정을 해줘야 로드다.
         CRT의 기본 함수들의 출력은 디버그 메시지 윈도우이다. 이를 변경하기위해서는 _CrtSetReportMode()라는 함수를 이용해서 출력에대 일반 목적지를 지정하고, _CrtSetReportFile()를 이용해서 특별 스트림 목적지를 설정해야다.
         || _CRT_ERROR || 복구불가 치명적 에러 ||
          ''crtdbg.h는 ASSERT, ASSERTE라는 메크로 함수를 생성다. 둘의 차이점은 ASSERTE는 assertion 표현을 보고하고, 다른 것은 하지 않는 다는 것이다.''
         || _CRTDBG_REPORT_MODE || 현재의 리포트 모드를 리턴다. ||
         || _CRTDBG_REPORT_FILE || 현재의 목적지를 리턴다. ||
          동적 멤버변수를 사용하는 경우에는 대입, 할당 생성자, 소멸자를 반드시 만들어야다.
  • HanoiProblem . . . . 16 matches
         = 필요 지식 =
          * 재귀함수에 대 이해
         '''재귀함수에 대 이해'''
         만약 HanoiProblem을 풀게 하기 이전에 팩토리알과 비슷 형의 문제만 보여줬다면, 오히려 HanoiProblem을 어렵게 느끼고 학습이 많이 발생하지 못 것이 더 당연하다고 생각됩니다.
         그리고 재귀함수를 만들 때 유의점과 사고보조물을 가르쳐 줍니다. 유의점이라면 재귀함수는 리턴되는 값의 종류(타입)가 모두 동일해야 다는 것, 재귀호출을 벗어나는 지점 근방에서 유의해야 다는 점 등이고, 사고보조물로는 스택의 상태를 그림으로 그리는 방법이나, 수식을 사용하는 방법 등이 있겠죠.
         순서효과는 복잡 것과 쉬운 것이 있을 때 어느 것을 먼저 제시받느냐에 따라 문제를 푸는데 걸리는 시간에 큰 차이가 있다는 것입니다.
         시작하는 수를 하나 주고, 특정 연산을 사용하여 정해진 스텝만에 다른 수로 전환시키는 문제를 주었습니다. 예를 들어, 8에서 시작해서 곱하기 2나, 빼기 7을 사용해서 6번의 스텝만에 15를 만드는 문제입니다.
          그룹은 예를 들은 복잡 문제를 먼저 제시받았고, 다른 그룹은 단순 문제(예컨대 2번만에 8을 9로 바꾸는 것) 두개를 먼저 제시받았습니다.
         첫번째 그룹은 문제를 푸는데 평균 406초 이상 걸렸지만, 두번째 그룹은 복잡 문제를 푸는데 97초 걸렸고, 세 문제를 모두 푸는데 192초 밖에 걸리지 않았습니다.
         이를 HanoiProblem에 적용하면, 3개(혹은 5개, 6개)의 원반 문제가 복잡하다면, 하나, 둘 등의 좀 더 단순 문제를 먼저 풀고 거기서 문제풀이의 "구조적 유사성"을 발견해 낸 뒤에 좀 더 어렵거나 좀 더 일반적인 (즉 원반 n개) 문제에 도전하는 것이 효과적이라는 말이 됩니다.
         HanoiProblem이 복잡하게 느껴진다면, 우선 목적지에 도달 상태, 즉, 모든 원반이 다른 막대기로 옮겨가 있는 상태를 상정합니다. 다음에는 여기에서 바로 직전의 상태로 거슬러 내려옵니다.
  • HelpOnMacros . . . . 16 matches
         매크로는 위키 페이지에 특수 기능을 집어넣는 확장입니다. 대부분의 위키페이지는 매크로기능을 사용하지 않고 있지만 경우에 따라서 이러 특수 기능이 필요할 때가 있습니다. 예를 들어 RecentChanges 페이지에는 RecentChanges매크로를 사용하고 있고, SystemInfo 페이지에는 SystemInfo 매크로를 사용하고 있습니다. 각 페이지를 편집하거나 [[Icon(info)]]를 눌러 이전 정보로부터 페이지 소스를 보시면 매크로를 어떻게 사용하고 있는지를 보실 수 있습니다.
         매크로는 {{{[[MacroName]]}}}과 같은 문법을 사용합니다. 매크로에 대 인자가 필요 경우가 있는데 각 매크로에 대 자세 설명은 해당 페이지에서 확인하실 수 있습니다.
         {{{[[MacroName]]}}} 혹은 인자가 필요 경우에는 {{{[[MacroName(arg1,arg2,arg3...)]]}}}처럼 사용합니다.
         매크로의 구현에 따라 인자는 다양 방식으로 들어갈 수 있습니다.
          * 원래 모인모인 문법에서 매크로 이름은 반드시 대문자로 시작하는 이름이어야 했습니다. 모니위키에서는 이러이 없습니다.
          * 모니위키 1.1.5 부터는 매크로에 대 별명을 지원합니다. {{{[[각주]]}}}라는 식으로 써서 {{{[[FootNote]]}}}의 별명으로 사용하실 수 있습니다.
          * 이경우 대소문자 구분이 중요데, 반드시 `plugin/파일이름.php`에 대응하는 파일이름을 {{{"각주"=>"매크로파일이름"}}}식으로 지정해야 합니다.
         ||{{{[[TitleIndex]]}}} || 모든 페이지에 대 제목 목차 || TitleIndex ||
         각각의 매크로에 대 예제는 각 매크로 해당 페이지에서 보실 수 있습니다. 간단 예로 SystemInfo페이지에서 사용하는 {{{[[SystemInfo]]}}}매크로입니다. {{{[[SystemInfo]]}}}를 임의의 페이지에 집어넣으면 다음과 같이 보여집니다:
  • HowManyZerosAndDigits . . . . 16 matches
         10진수 N과 10진수 B가 줄씩 입력된다. 이 때 N은 20비트의 부호 없는 숫자이며, 진수 체계인 B의 범위는 1 < B <= 800 이다. 10진수에서 5! = 120 일때, 16진수 체계에서는 78이 된다. 그래서 16진수 5!은 0이 없다.
         입력에 대해서 주어진 진수 체계에서 팩토리얼 수의 0의 개수와 숫자의 개수를 줄씩 출력다. 두 숫자 사이에는 공백으로 구분다. 0의 개수와 숫자의 개수가 2^31-1보다 크지는 못할 것이다.
          || [임인택] || Java || ? || [HowManyZerosAndDigits/임인택] [[BR]] 주의 : 일단 10진법 이상의 진법도 10진수로 표현다고 가정하고 문제를 풀었음 [[BR]] (예를 들어 A0 대신 10 0 이라고 표현다고 가정) ||
         만약 800진법일 경우 0~9 까지의 숫자는 표현할수 있겠지만 그 이후의 숫자는 어떻게 표현하나요? 16진법으로 나타낼때 0에서 F 로 표현하는 것처럼, 800진법에서 10이상의 수를 표현해야 할 방법이 있어야 할 것 같은데요. 알파벳을 이용다고 해도 Z(35)이후의 수는 표현할 방법이 없는데요. 이에 대 정의가 없다면 정확 답을 구할 수 없을 것 같습니다(문제에서 말 ''0의 개수''말이죠). 간단 예를 들어 설명하자면,
         그리고 문제를 설명하는 문장의 내용이 번에 와 닿지가 않네요. 문장을 조금 다듬어 주시면 감사하겠습니다. ^^ - [임인택]
         책에 있는 올림피아드 문제 원문 그대로를 실었습니다. 문제가 명확하지 않다는 점을 부정할 순 없지만, 문제에 손을 댈 경우 제 주관적인 생각이 문제의 틀을 바꿔버릴 수 있기때문에 어쩔수 없습니다. 개인적 소견으로는 N!을 B진법으로 변환하는 것이므로, 입력을 받는 N이 조금만 커져도 N!이 굉장히 커지기 때문에 N은 B보다 작은 범위, 즉 B진수 체계에서 자리를 입력받는 문제가 아닐까 합니다. 또, 문제의 마지막 조건인 2^31-1 같이 int형의 오버플로우방지를 해 놓은 것에서 보듯 범위를 어느정도 제해 놓았다고 보여집니다. 정확 답변을 드리지 못해 죄송합니다. - [문보창]
  • HowToBlockEmpas . . . . 16 matches
         ZeroWiki 는 ZP 내부작업을 위 위키입니다. 아무래도 외부로 노출되었을 경우 여러 문제들이 발생할 수 있을 것입니다. (저번과 같은 크래킹의 문제도 있을테고요..)
         엠파스 눈 이상 바보 토끼녀석! [[BR]]
         도대체 엠파스는 어떻게 저희 홈페이지를 링크걸까요..?[[BR]]
         보통 검색 로봇들은 해당 페이지들의 링크들을 얻어서 그 페이지들을 검색하고, 다시 또 링크를 얻어서 페이지를 검색하는 식으로 재귀적으로 페이지들을 검색뒤, 내용들을 인덱스화 하여 데이터베이스에 저장하는 방식일 것입니다.
          * empas 에 등록 철회를 요청다. 만약 거부할 경우에는 무단링크로 처리 가능하다고 합니다. (거부당 증거 필요) - 이에 대 요청 방법 아시는 분?
          * 검색 엔진에 대 robot.txt 작성
          ''검색결과의 삭제에 대 내용이 다음 사이트에 있군요.'' [http://www.google.com/intl/ko/remove.html]
          * 이를 ZP 홍보기회로 이용다. --a
          * 우리 모두 위키의 정신을 번 되세겨 보자. 위키는 자유공간인데 그걸 계정을 만든다느니 어짼다느니 다는 건 위키의 정신에 위배되는 행위라고 본다. delete 하지 못하게만 것으로 충분하지 않을까 싶은데.... From X
          * Page History 로 해당 페이지를 원상복구 할 수 있고, 백업도 주기적으로 잘 해주고 있으니, 그냥 검색엔진 IP를 막는 것으로 마무리 지었으면 합니다. 단, 동문서버에 링크 거는 것에 대 것이 문제인데, 이는 동문서버팀에게 요청하는 선으로 해결지었으면 합니다. --석천
         검색서비스를 제공하고 있는 곳에서는 로봇 에이전트를 사용하여 검색다는거 아실겁니다. 이러 로봇은 강제성은 없지만 로봇 배제 표준을 따르도록 프로그래밍 하는 것이 관례 입니다. 웹서버 루트에 robots.txt 파일을 다음과 비슷하게 작성하시면 되겠습니다.[[BR]]
  • HowToStudyRefactoring . . . . 16 matches
         OOP를 하든 안하든 프로그래밍이란 업을 하는 사람이라면 이 책은 자신의 공력을 서너 단계 레벨업시켜 줄 수 있다. 자질구레 기술을 익히는 것이 아니고 기감과 내공을 증강하는 것이다. 혹자는 DesignPatterns 이전에 ["Refactoring"]을 봐야 다고도 다. 이 말이 어느 정도 일리가 있는 것이, 효과적인 학습은 문제 의식이 선행되어야 하기 때문이다. DesignPatterns는 거시적 차원에서 해결안들을 모아놓은 것이다. ["Refactoring"]을 보고 나쁜 냄새(Bad Smell)를 맡을 수 있는 후각을 발달시켜야 다. ["Refactoring"]의 목록을 모두 외우는 것은 큰 의미가 없다. 그것보다 냄새나는 코드를 느낄 수 있는 감수성을 키우는 것이 더 중요하다. 본인은 일주일에 가지씩 나쁜 냄새를 정해놓고 그 기간 동안에는 자신이 접하는 모든 코드에서 그 냄새만이라도 확실히 맡도록 집중하는 방법을 권다. 일명 ["일취집중후각법"]. 패턴 개념을 만든 건축가 크리스토퍼 알렉산더나 GoF의 랄프 존슨은 좋은 디자인이란 나쁜 것이 없는 상태라고 다. 무색 무미 무취의 無爲적 自然 코드가 되는 그날을 위해 오늘도 우리는 리팩토링이라는 有爲를 익힌다. -- 김창준, ''마이크로소프트웨어 2001년 11월호''
         기학으로 우리 사상사에 큰 획을 그은 철학자요, "서울서 책만 사다 망 사람"으로 이름을 날릴 정도로 엄청난 지식욕을 과시하던 사상가 혜강 최기는 그의 저술 <神氣通>에서 눈에 통하는 법(目通), 귀에 통하는 법(耳通), 코에 통하는 법(鼻通) 등을 이야기하고 있다. 어떻게 하면 우리는 코에 도통할 수 있을까? 리팩토링을 공부하거나 혹은 했던 사람들에게 많은 영감과 메타포를 주는 책이다. 일독을 권다. --김창준
          * Minimize Comments : 코드의 가독성을 떨어뜨리지 않거나 혹은 오히려 올리면서 주석을 최소화하도록 노력다. 이렇게 하면, 자동으로 리팩토링이 이뤄지는 경우가 많다.
          * Follow OAOO : OAOO 법칙을 가능하면 최대 따르려고 다. 리팩토링 자발공이 터진다.
          * Follow ["LawOfDemeter"] : 디미터 법칙을 가능하면 지키려고 다. 어떤 리팩토링이 저절로 이뤄지거나 필요 없어지는가?
          * Pair Refactoring : 함께 리팩토링다. 혼자 하는 것 보다 훨씬 빨리 훨씬 더 많은 것을 배울 수 있다. 특히, 각자 작성했던 코드를 함께 리팩토링하고, 제삼자의 코드를 또 함께 리팩토링해 보라. 사람이 많다면 다른 페어가 리팩토링 것과 서로 비교하고 토론해보라.
  • ProgrammingLanguageClass/2006/EndTermExamination . . . . 16 matches
         02, 05 년에 언어 디자인시 고려해야할 점에 대 문제가 출제되어서 그쪽으로 공부를 많이 했지만 나오지 않았다는 점에서 의외였음. 디자인 이슈를 공부할 생각이라면 Pointer, Array, Abstraction, Subprogram 의 디자인 이슈에 대해서 공부하는 것이 좋을 듯함.
         d) if에서 Dijkstra's Guarded Command 에서 Boolean Expression 중 어떠 것도 참이 아닌경우 구문을 벗어나는지 묻는 문제
         e) Ada 에서 for loop 를 이용 iteration 소스. 루프 종료후 condition variable 처리에 대 문제 출제.
         a) 상기 소스에서 fun 함수의 파라메터 전달 방식이 Pass-By-Value, Pass-By-Name 의 경우로 나누어서 출력 결과값을 나타내라 (소스는 대충 비슷거 같은데 확실하지 않음. -_-;; 기억에 의존하다 보니 ㅋㅋ)
         3. operator 우선순위에 의거 functional side effects문제
         a) 비지역 변수의 참조에 Static-Chain 기법에 대 설명을 할 것
         c) display 에 대 설명을 하시오. (Qsd = Psd, Qsd < Psd, Qsd > Psd 를 나누어서 설명. 5판에 자세 내용있음)
         가디드 커맨드가 selector, loop 에서의 동작이 다르기 때문에 이를 조심해야다. (책참조)
          * upto terminate 해석에 따라서 답이 달라짐 종료 직전 -> 답은 True, 종료 시점을 의미다면 답은 False
         만약에 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. 마지막 선택은 네 손에 달려 있다.
  • ProgrammingLanguageClass/Report2002_1 . . . . 16 matches
         ※ 입력된 문장들이 제시된 문법(grammar)에 맞는지 판단하는 Recursive Descent Parsing 기법을 이용 파서(parser)를 작성하시오.
          * 출력: 주어진 문법에 따라 INPUT.TXT에 저장되어 있는 문장을 분석다. 파싱(parsing)되는 중간과정을 <처리 예>와 같이 출력하고, 문법에 적합하면 “Yes,” 입력된 문장이 적합하지 않으면 오류 메시지와 “No”를 출력다.
          * 각 파싱(parsing) 함수는 리턴하기 직전에 해당 non-terminal이 검색되었음을 알리는 메시지를 출력하여야 다.
          * <identifier>와 <constant>의 경우에는 찾아진 lexeme을 함께 출력다.
          * 입력 스트림에서 ASCII 코드로 32 이하인 것은 모든 white-space로 간주하며, white-space는 각 token을 구별하는 용도 이외에는 모두 무시다.
          * 어휘분석기(lexical analyzer)의 소스코드는 정수 변수 next_token, 문자열 변수 token_string, 함수 lexical()을 포함하여야 다. 함수 lexical()은 입력 스트림을 분석하여 하나의 lexeme을 찾아낸 뒤, 그것의 token type을 next_token에 대입하고, lexeme 문자열을 token_string에 저장하는 함수이다.
          * 문장이 문법에 적합하지 않으면 관련 오류 메시지를 출력다. 그 다음 오류를 발생시킨 lexeme을 제거 또는 첨가 후, 파싱을 재개다. 예를 들어, x = a + + b일 경우, “+” 연산자가 개가 더 존재하므로 오류 메시지를 출력다. 그 다음, “+”기호를 제거 후 파싱을 계속다.
          * 기타 구현 시 요구되는 세부 사항은 직접 결정하고, internal document에 기술다.
          * 데모 시 디스켓에 실행파일을 미리 준비다(데모 시에 컴파일하는 경우는 감점처리함).
  • ProjectSemiPhotoshop/요구사항 . . . . 16 matches
         시스템 설계에 관 전반적인 밑그림을 그리기 위해, 팀은 스토리 구현에 필요 세부적인 작업에 대 아이디어 수집을 다. 이 단계에서 고객은 프로그래머가 전혀 이해하지 못하는 부분을 알아 볼 수도 있다. 설계 프로세스를 지켜보면서 팀 전체는 공통의 지식과 자신감을 얻게 된다.
          영상처리는 흑백 영상을 기본으로 다.
          i. 상수를 이용 영상 밝기 변화
          * 다른 영상을 이용 영상변화
          * 윈도우로 설정 영역에 대해서만 '7. 영상 질 향상' 적용(O)
          참신 아이디어를 추가할 경우 최대 3점까지 추가 점수가 가산될 수 있다.
          단, 교재에 있는 코드를 그대로 복사해서 제출하면 참신 코드라고 할 수 없으므로 가산 점이 주어지지 않는다.
          * 이 과제의 점수를 30% (30점 / 성적 100점)로 다.
          * 참신 아이디어는 평가에 따라 최대 9점까지 줄 수 있다.
          * 레포트 표지에 자신이 수행 내용 중 3)을 추가 경우 설명서의 6, 7, 8과 같이 표시하고, 4)의 내용을 추가 경우 설명서의 번호 9.를 표시다.
  • QuestionsAboutMultiProcessAndThread . . . . 16 matches
          * 스위칭을 다면, 프로세서 A에 Time Slice를 조금 남겨놓고 스위칭을 하는 것인가? 즉 I/O 작업을 계속 할 수 있도록 CPU가 조금씩 I/O 작업을 진행하면서 프로세서 B를 실행하는 것인가?
          * CPU가 할당 Time Slice를 하나의 Processor내부에 있는 각각의 Thread가 쪼개서 사용 하는 것인가?
          * A) processor라고 쓰신 것이 아마도 process를 의미하는 것 같군요? scheduling 기법이나, time slice 정책, preemption 여부 등은 아키텍처와 운영체제 커널 구현 등 시스템에 따라 서로 다르게 최적화되어 설계합니다. thread 등의 개념도 운영체제와 개발 언어 런타임 등 플랫폼에 따라 다를 수 있습니다. 일반적으로 process의 context switching은 PCB 등 복잡 context의 전환을 다루므로 단순 thread 스케줄링보다 좀더 복잡할 수는 있으나 반드시 그런 것은 아닙니다. - [변형진]
          * 첫번째와 세번째 질문에 대 답변은 "time slice 정책에 따라 다르다." 인거에요?? - [박성현]
          3. 다음의 예가 적절 예인가?
          - 그 건물엔 화장실이 하나 있네. 그리고 명 들어가면 더는 못 들어가네.
          - 화장실이 여러 개 있네. 각 화장실에는 명만 들어갈 수 있네.
          * … 이 비유에 CPU Scheduler도 추가다면 어떤 비유를 들 수 있을까?
          * A) processor라고 쓰신 것이 process, cpu가 processor를 의미하신 것 같군요. process는 실행되고 있는 하나의 프로그램 인스턴스이며, thread는 a flow of control입니다. 즉, 하나의 프로그램 안에 논리적으로 여러 개의 제어 흐름이 존재하느냐(*-thread)와, 하나의 컴퓨터에 논리적으로 여러 개의 프로그램 인스턴스가 실행되고 있느냐(*-process)로 생각하는게 가장 좋습니다. multi-processor(multi-core)는 말 그대로 동시에 물리적으로 여러 개의 흐름을 처리할 독립적인 처리기가 병렬로 존재하느냐입니다. 위에 제시된 예는 적절하지 못 것 같습니다. - [변형진]
          * "물리적으로 여러개의 '흐름'을 처리다."는 말씀은 '각각의 CPU들이 '''하나의 프로세스''' 내부의 '''여러 개의 쓰레드'''들 중 개별적으로 쓰레드를 선택해 처리다'는 말씀이신가요? - [박성현]
          * 어느 바쁜 음식점(machine)입니다. 두 명의 요리사(processor)가 있는데, 주문이 밀려서 5개의 요리(process)를 동시에 하고 있습니다. 그 중 어떤 요리는 소스를 끓이면서(thread) 동시에 양념도 다지고(thread), 재료들을 오븐에 굽는데(thread) 요리를 빠르게 완성하기 위해 이 모든 것을 동시에 합니다. 명의 요리사는 특정시점에 단 가지 행위(instruction)만 할 수 있으므로, 양념을 다지다가 (context switching) 소스가 잘 끓도록 저어주기도 하고 (context switching) 다시 양념을 다지다가 (context switching) 같이 하던 다른 요리를 확인하다가, 오븐에 타이머가 울리면(interrupt) 구워진 재료를 꺼내어 요리합니다. 물론 두 명의 요리사는 같은 시점에 각자가 물리적으로 서로 다른 행위를 할 수 있으며, 하나의 요리를 두 요리사가 나눠서(parallel program) 동시에 할 수도 있습니다. - [변형진]
          * 예제 읽으면서 마치 헤드 퍼스트 책을 읽는듯 느낌을 받았다..ㅋㅋㅋ - [송지훈]
  • TddWithWebPresentation . . . . 16 matches
         즉, 현재 action 코드에 다 섞여있는 것이다.이부분을 TDD로 작성하기 위 테스트는 다음과 같았다.
         즉, 일종의 Template Method 의 형태로서 Testable 하기 편 ViewPageAction 의 서브클래스를 만들었다. 어차피 중요것은 해당 표현 부분이 잘 호출되느냐이므로, 이에 대해서는 서브클래스로서 텍스트를 비교했다.
         그러다가, 최근 프로젝트 하는중에 ModelViewPresenter 라는 개념에 대해 익히게 되었다. 정확 개념에 대해서는 잘 잡지를 못했지만, HumbleDialogBox 라는 아티클을 보니 대강 감이 온것 같았다. 중요 건 표현부분에 대해서 가능 로직이 남지 않아야 다는 점이고, 표현부분을 사용하는 쪽 입장에서도 가능 추상화레벨이 높은 메소드를 쓸 수 있어야 다는 점이다.
         하지만, 이건 리팩토링 단계에서의 이야기고, 만일 새 코드를 작성하는 중의 UI 부분 presenter 를 TDD로 구현다면 어떻게 될까? 아마 저 MockViewPresenter 부분이 먼저 구현되고, 이 인터페이스를 근거로 ViewPresenter 를 만든 뒤 HTML 코드 부분을 작성하면 될 것 같다. 실제 UI 에 어떠어떠 것이 표현되느냐는 AcceptanceTest 단에 맡기면 되리라.
         다음부터 action 부분을 작성다면?
          1. action test 를 만든다. (생각해보건데, action 에서의 Servlet 부분이 있는 곳 또 얇게 만들 수 있겠다는 생각을 해본다.)
          2. MockPresenter 를 만든다. 중요 것은 출력결과를 테스트하는것이 목적이 아니라 action 결과 행해지는 일들(Transaction)이 제대로 일어났는지를 테스트하는 것이다. MockPresenter 는 그냥 해당 메소드들이 호출되었는지만 verify 하는정도면 충분할 것이다.
  • ZeroWiki . . . . 16 matches
         ZeroWiki는 ZeroWikian, ZeroPagers들의 ''프로젝트 & 스터디 공간''으로 쓰이며, 공개적으로 운영되고 있다. 현재의 자신들이 공부, 관심있는 분야들에 대해 페이지를 지속적으로 키워나가면서 다른 사람들에게 보여줄 수 있고, 또 참여를 하게 할 수도 있다. 그리고 여기에 남겨놓은 문서들을 토대로 다른 사람에게 전달해줄 수 있을 것이다. 또 해당 페이지는 다시 수정과 수정을 거침으로 키워져 나갈 것이다.
         각각 사람들이 공부하고자 하는 분야가 다양해지고, 사람들이 모든 영역을 다 커버할 수 없다고 할때, 반복되는 질문이 일어나기 쉬운 일반 게시판의 질답란보다 더 의미있는 정보들을 담아낼 것으로 기대다. ZeroWiki 는 ZeroPage 의 정보 Repository 이다.
         현재(2021.11) 국어 위키위키 위키페이지수 27위에 있다.[http://ko.wikipedia.org/wiki/국어_위키위키 참조]
          * '''스터디'''와 관련된 용도에 대해서는 어떠 주제이건 제을 걸지 않습니다.
          jereneal: 왜 제로위키에 노스모크라는 말이 많나 했더니 그게 국어 최초 위키에 김창준선배님이 관리자였구나.......
          kesarr: 노스모크는 국어 최초의 위키위키이고, 김창준 선배님은 국에 위키위키를 소개 사람. 제로페이지에도 소개했지
          kesarr: 노스모크는 흡연을 안 하는 사람들의 폐쇄적인 모임 같은 건데 처음에는 파이썬으로 구현된 유명 위키 플랫폼인 모인모인을 사용했는데 제로페이지 위키도 김창준 선배와 교류하면서 노스모크 활동을 하시던 제로페이지 선배님들이 모인모인을 적용했었고 노스모크 내부의 다양 요구사항에 대응하기 위해서 노스모크의 회원이 모인모인을 개조하기 시작 이걸 모인모인 노스모크 에디션이라 부르고 그 회원이 아예 위키 플랫폼을 새로 만들자고 선언하고 PHP로 새로운 국형 위키 플랫폼을 개발했는데 그것의 이름이 모니위키
          kesarr: 그리고서 노스모크는 모니위키로 건너갔고 제로위키는 제로페이지 선배님들이 모인모인과 호환되는 새로운 위키를 공부도 할겸 제로페이지 내 프로젝트로 진행하셨는데, 이게 제로위키. 제로페이지 위키는 여기서 제로위키로 갈아탐 제로위키는... 일단 심각 버그가 있었고 특정 행동(콘텐츠 편집)에서 행이 걸려서 엄청나게 늦게 반응하는 문제가 있었음...그런데 프로젝트를 진행하던 선배님들이 계속 제로위키를 유지보수하기 힘들게 되면서... 그런데 그 시점에...!!
          kesarr: 학교에 있던 제로페이지 서버가 폭파되는 재난이 발생... 06~07년에 사용하던 제로위키에 저장된 콘텐츠는 모두 증발하고 모인모인에서 제로위키로 옮겨타던 무렵 백업해둔 자료를 가지고... 새로운 서버에 모인모인과 문법이 호환되는 모니위키를 설치해서 운영 재개... 11-12년 도쿠위키 또는 미디어위키로 위키 플랫폼을 옮기려는 제로페이지 내부 프로젝트를 개설했으나... 다들 바쁜데 진행할 게 많고 이미 모니위키가 모인모인과 많이 달라져서... 모인모인-타위키 컨버터를 쓸 수 없다는게 함정 모니위키는 국의 일부 위키만 쓰므로... 다른 위키와의 컨버터 따위 없다.. 게다가 제로페이지 위키는 모인모인 문법과 모니위키 문법이 혼재하기 때문에 컨버터를 만드는 것 자체가 까다로운...
  • callusedHand/books . . . . 16 matches
          저는 오픈 소스 진영을 좋아하며 그 곳에서 많은 도움을 얻고 있는 입장입니다. 하지만 무조건적으로 오픈 소스 개발 방식을 옹호하는 것은 아닙니다. 공개 소스 방식의 소프트웨어 개발이 보완해야 할 부분과 함께 단점이라고 여겨지고 있는 부분들에 대 나름대로의 반론을 펼치고자 합니다.
          공개 소스 방식의 개발은 많은 개발자들의 자발적인 참여를 이끌어낼 수 있습니다. 그렇기 때문에 낭비라고 볼 수 있는 많은 동류의 소프트웨어 개발, 무수히 많은 패치들, 중복된 작업들이 존재합니다. 그리고 이런 양상은 혼란스러워 보입니다. 하지만 이것을 더 나은 소프트웨어를 개발하기 위 과정이라고 보는 것이 타당할 듯 합니다. 소프트웨어 산업에도 약육강식, 적자생존의 법칙이 적용됩니다. 엔드 유저가 찾고 엔드 유저의 눈에 보이는 것은 경쟁 속에서 살아남은 몇 가지 소프트웨어입니다. 그리고 개발자들의 자발적인 참여는 성당 개발 방식에서 개발자들을 기계화하는 것과는 다릅니다. 참여 개발자라면 적어도 그 프로그램에 대 관심, 열정을 가지고 있으며 이는 자율이라는 점에서 더욱 힘을 얻어 개발자는 개발에 열중하게 될 것입니다. 이럴때 개인의 창의력, 프로그래밍 능력이 극대화될 수 있을 겁니다.
          저는 개발자의 필요에 의해 소프트웨어 개발이 진행되기 때문에 정작 엔드 유저가 필요로 하는 프로그램이 적다는 말에 반대합니다. 개발자도 사용자입니다. 개발자는 컴퓨터를 개발의 도구로만 보지 않습니다. 채팅방에서 시시콜콜 대화를 나눌 수도 있고, 음악을 듣거나 영화를 볼 수도 있습니다. 바로 이러 입장에서 개발의 필요가 나타나는 것입니다. 그리고 소비자의 필요와 동 떨어진, 컴퓨터 과학에 치우친 개발이라고 해도 이것은 컴퓨터 산업에 힘을 실어주기 마련입니다. 미분, 적분과 같은 실생활과 관계가 없을 것 같은 이론이 오늘날 여러 산업 분야에 큰 토대가 되고 있지 않습니까?
          오픈 소스 방식의 개발을 무료 프로그램 개발로 여기는 것은 잘못된 생각입니다. 오픈 소스방식의 개발은 단지 소프트웨어 개발론 중 하나일 뿐입니다. 시장에 내다팔 상품을 오픈 소스 개발 방식으로 만들어 낼 수도 있습니다. . 오픈 소스 방식의 개발을 통해서도 얼마든지 수익을 창출할 수 있으며 근래의 리눅스 업체들이 이를 뒷받침해 주고 있습니다. 왜 독점적 소프트웨어를 가지고 돈을 버는 것보다 불리하다고 생각합니까? 레드햇의 로버트 영의 말을 유심히 들어볼 필요가 있습니다. “대부분의 산업 국가에서는 그냥 수도꼭지만 틀면 물을 마실 수 있는데 어떻게 에비앙이 수백만 달러의 물을 이 시장에 팔 수 있는가? 간단히 말하자면 에비앙이라는 브랜드는 믿으면서 여러분의 수도꼭지의 물은 믿을 수 없다는 불합리 두려움 때문이라고 할 수 있다. 바로 이점이 비공식 레드햇 리눅스 복사본을 쓰지 않고 50달러짜리 공식 레드햇 리눅스를 많은 사람들이 선호하는 이유이다. 케찹은 향료를 가미 토마토 튜브에 불과하다. 여러분은 토마토, 식초와 같은 자유롭게 배포할 수 있는 물건들로 부엌에서 케찹을 만들 수 있다. 하지만 소비자는 왜 부엌에서 케찹을 만들고 있지 않으며 하인즈는 어떻게 해서 케찹 시장의 80%이상을 점유하고 있는가? 편리함은 원인의 일부분 뿐이며 진정 원인은 하인즈가 소비자의 마음 속에 케찹의 맛을 정의할 수 있었기 때문이다. 이제는 하인즈 케찹의 브랜드가 큰 영향력을 가지고 있기 때문에 소비자인 우리는 하인즈 케찹이 더 좋다고 생각해 버린다.”
          프로그램에 치명적인 버그가 있을 때 책임지고 고쳐 줄 사람이 없기 때문에 오픈 소스 개발 방식은 위험하다는 주장도 오픈 소스 개발 방식에 대 오해에서 비롯된 것이라고 생각합니다. 위에서 말했지만 오픈 소스 개발 방식은 수많은 소프트웨어 개발 방법 중 하나 일 뿐입니다. 기존의 많은 오픈 소스 프로젝트가 개발자들의 취미, 재미라는 동기에서 비롯되었기 때문에 사후 관리가 미미하고 개발자들이 개발을 포기하는 경우 엔드 유저는 피해를 볼 수 밖에 없었던 것입니다.
          소프트웨어 공학이란 최소의 경비로 품질 높은 소프트웨어를 개발, 유지보수하기 위 방법론에 관 학문입니다. 프로그램을 구현하는 단순 작업 이상의 다양 측면을 기지고 있으며 이는 일반적으로 요구 사항 분석, 시스템 디자인, 세부 디자인, 구현, 통합, 필드 테스트, 사후 지원과 같은 공정을 거칩니다. 소프트웨어 공학과 오픈 소스 개발 방식을 비교해 볼 때 오픈 소스 개발 방식이 갖는 문제점을 찾을 수 있습니다.
          요구 사항 분석, 시스템 디자인, 세부 디자인 과정이 구체적으로 진행되지 않거나 문서화가 이루어 지고 있지않는 점입니다. 이는 프로그램의 유지보수, 재사용 측면에서 볼 때 심각 문제로 프로그램을 개선시키고자 하는 개발자가 있을 때 디자인에 관 문서가 없으면 많은 시행 착오를 겪을 수 밖에 없으며. 좋은 코드들이 그냥 버려지게 되는 경우가 많아 집니다. 이것들은 분명히 낭비라고 볼 수 있습니다. 그러므로 문서화 할 필요가 있습니다.
  • html5/overview . . . . 16 matches
          * 기존의 HTML : 문서를 위 플랫폼, HTML5 : 웹 어플리케이션을 위 플랫폼
         * 풍부 웹 어플리케이션 기능 : 웹 어플리케이션의 표현력 증가
         * 시맨틱 마크업
          * 기존 HTML문의 애매모호 문법 개선
          * aticle : 섹션의 종류, 페이지에서 독립되어있는 부분 (ex. 블로그웹의 블로그 본문)
          * address : 섹션에 관 문의처 정보(ex. 회사 전화번호등)
          * 후방호환성 - HTML5을 적용 브라우저에서 HTML5 이전 버전 문서 표시가능
          * 표준만 따른다면 어떤 브라우저에서도 똑같이 작동
          * 이미 사용되고 있는 내용에서 사양을 추출
         * HTML의 목적 : 1998년 W3C는 html이 아닌 XHTML의 표준 사용을 권고다. 그러나 XHTML은 HTML과의 비호환성으로 널리 퍼지지 못다.
         * 결과적으로 10년이상 사용되는 HTML의 저사양이 오히려 웹 어플리케이션의 발전을 저해했다. 그러나 W3C는 XHTML을 위해 새로운 HTML의 개발을 거절다.
         * 그러자 apple, mozillar, opera 세 기업이 모여 WHATWG를 발족하고 HTML의 진화를 지향다.(apple은 플래시를 제공하는 어도비와 관계가 좋지않아 HTML5를 적극적으로 추진다는 소문이다)
         * 현재 HTML5는 W3C에 LAST CALL(최종 심사 초안)이 제출된 상태이다. 또 W3C가 진행하던 XHTML2의 사양 제정이 중지로 HTML5의 표준화는 기정 사실로 보인다.
  • 겨울과프로젝트 . . . . 16 matches
         일정이나 기간에대해서 회의에서 동의를 얻어야 할 부분이 많이 있었네요;; 준비가 부족했습니다. 죄송합니다. 혹시 문제가 될만 부분은 지적해 주십시요 - [이승]
          * 제로페이지 회칙에따라 2주에 번씩 모이는 정모를 기준으로 겨울방학 12월 조금과 2개월을 5개의 마당으로 나눈다.
          * 마당을 굳이 나누는 이유는 너무 방만 시간관리가 이루어지는 경우도 있기 때문이다.
          * 각 마당 끝에서 번씩 모이며 마지막 2월 말에는 모이지 않는다.
          * 지나치게 모이지 않는다면 프로젝트에 대 커뮤니케이션에 지장이 생길지도 모르니 단위별로 적어도 일주에 번씩은 모임이 있었으면 좋겠습니다. 참고해 주십시요. ( 정기적인 모임은 정모와 겹쳐도 상관없습니다. )
          * 아마 실제적으로 프로젝트가 진행되는 마당은 3번의 마당 달반 가량 될듯 싶습니다. 연말, 설, 오티, 크리스마스 까지 있어 지장이 많을듯.
          * XpWeek가 진행되며 방학을 즐기며 술독에 빠져 사는 경우가 많음으로 프로젝트 참가자를 받고, 프로젝트 진행을 위 사전 준비를 다. ( 학습방법, 교재, 모임주기, 기타등등 )
          * 1월 중순에 만나 서로의 경과 상황을 주제로 정모를 다.(날짜는 아직 미정)
          * 1월 말에 만나 서로의 경과 상황을 주제로 정모를 다.(날짜는 아직 미정)
         [JavaStudy2004] ([노수민]) : JAVA언어를 익히면서 OOP에 대 이해.
          참가자 : [이승], [이재환], 임영동 [Yggdrasil], [강희경], [이용재], [윤성만]
          참가자 : [이승], [황재선], [김회영], [문보창], 오승균
         생각나는대로 써놓았습니다. 프로젝트 명과 내용 수정해 주세요~ >__<ㅋ - [이승]
  • 공학적마인드 . . . . 16 matches
         이들을 보았을때 [공학적마인드]란 '직관보다, 측정치나 통계 등 데이터를 이용해서 미래를 예측하려는 노력, 의사 결정 방법' 과 비슷 의미가 아닐까요? 워낙 직관에 의존 의사 결정이 팽배 시점에서 자주 들었습니다. --NeoCoin
         일단, '내적정합성' 이란 단어를 생각해보면, 수학으로 칠때 해당 문제공간을 고정시킨 상태, 즉 '전제'를 고정시킨 상태에서 각 변수대비 관계들을 논리적으로 규명하여 답을 내는데, 각 논리에 대해 그릇된 바가 없다고 다면 답이 맞는 것이지요. 여기까지가 '수학자적 마인드' 라 생각합니다.
         그리고, 여기에 현실에서의 변수들을 하나씩 추가해봅니다. 즉, 이전의 '전제'들을 하나씩 허물고 문제 공간을 넓혀가는 것이지요. 그러 결과 답이 올바르면 '외적으로도 정합' 상태라 할 수 있겠습니다. '관찰 & 분석'이라는 관점에서 이 부분은 '과학자적 마인드'라 생각합니다.
         안쪽으로는 논리적으로 각 변수들을 연결시키며 내적정합성을 유지하고, 현실에서 실제 관찰 측정치값들을 근거로 '외적정합성'을 최대 유지하며 미래를 예측하는, 그리고 여기에 '공학', 즉 'Trade-Off' 를 적용하여 input 에 대 노력 대비 output 을 최대로 이끌어내는 것이 [공학적마인드] 가 아닐까 생각해봅니다.
         요새 '내적정합성' 과 '외적정합성' 이란 단어에 대해 곰곰히 생각하던중, 번 적어봅니다. --[1002]
         [공학적마인드]의 사고가 이루어지는 장소를 공대 내라고 정지었을 때, '어떻게든 돌아가게만 하자'가 아닐까 생각해봅니다. -_-;; - [임인택]
         구글을 검색하니 어떤 페이지(http://foe.mmu.edu.my/main/career/html_version/tsld005.htm )가 나오는데 훌륭 목록인 것 같습니다. 이 목록은 "이런 사고를 가져야 다"는 의미에 가깝습니다.
         우리가 보통 일상에서 말하는 공학적 사고라는 것은 대부분 "계량적 사고"와 "통계학적 사고"를 말하는 것 같습니다. 어떤 다리에 얼마만큼의 철근이 들어가나? 여기에 "많이"라고 답하면 이것은 비공학적입니다. 이 다리가 얼마나 튼튼가 하는 질문에 "상당히"라고 답하면 역시 비공학적입니다. 또, 공학은 도구(측정,제조)에 종속되는 특성상 특수 예를 제하고는 완벽이 존재하지 않기 때문에 "어느 정도로"라는 정도표현이 매우 중요합니다. 이런 것들을 생각해 보면 "테스트가능성"과 일면 통하는 면이 있습니다.
  • 기억 . . . . 16 matches
         ["기억"]에 대 심리학 접근
          a. 감각 기억 : 인간의 오감으로 유입되는 기억들로, 저장 양은 무제, 이지만 즉각적으로 처리(1-4이내) 하지 않으면 유실되거나, 새로운 정보로 대치 된다.
          감각 기억의 존재와 무제 성에 대 실험 ( Speling, 1960)
          우리가 어느 순간에 떠오르는 기억들을 단기 기억이라 할수 있다. 다른 말로, 작동 기억이라고도 다. 현재 우리의 머릿속에 활성화된 기억을 의미다.
          1. 용량이 제 된다.
          * Miller(1956)는 단기 기억 저장 공간을 7+-2 즉, 5~9로 라고 하여, 이를 magic number 7이라고 다. 이 원리는 전화 번호나 우리가 알파벳을 외울때 사용된다.
          * chunking(청킹) 은 자주쓰는 관용어구 같이 유의미 단위의 묶음을 이야기 하며 magic number를 이용해 기억력을 비약적으로 증가 시킨다. tree구조의 책 구성이나, 마인드 맵에서 발견할수 있다.
          1. 연속적 주사( successive scanning ) 로 인출 다.(순차적 인출)
          * Sternberg(1966 ) : 숫자 제시후 조금 지난후 실험자에게 제시 숫자가 이전 제시 숫자 항목에 포함되었는가 확인, 항목 증가시마다 40msec씩 증가다.
          1. 용량 무제.
          i. 감정 : 정의가(affective value)-감정이 극단 적인것이 더 잘기억, 기분 일치(mood congruence)-사람의 성격에 따라 기억 되는 단어, 상태 의존(state dependence)-술취 사람, 학습 자세
          i. 기본 원리 : 심상 그리기, 친숙것 관계 짓기, 상식 뛰어 넘기
  • 데블스캠프2002 . . . . 16 matches
         == 신입회원 참가자 (여기에 적어주세요! 참가자 수 제 없음) ==
         프로그래밍을 위 연습문제들 정리. (문제, 내용, 고른 이유 등은 관련 페이지 참조)
          1. ["NumberBaseballGame"] - 작년 데블스 캠프에서 숫자 야구 게임입니다 --재동
          1. 간단 파일입출력 - 이것.. 학교에선 배우지 않지만 써먹을 때는 상당하지요^^; --선호
          1. ["DevelopmentinWindows"] - 윈도우즈 운영체제를 기반으로 프로그램 개발의 간략 소개 --상규
          1. ["Omok"] - 이건 문제라기 보다는 간단 실습~ - 상협
          1. ["Factorial2"] - 기본자료형의 계를 벗어나보자. --zennith
          1. ["Knapsack"] - 배낭 문제라 하여 상당히 유명 문제입니다 --재동
          1. ["StarCraft"] - 내가 생각해본 문제.. Class에 대 이해와 접근에 도움을 주기 위해.. --광민
          1. ["BusSimulation"] - 오늘 제가 교양 숙제로 거. 엘레베이터 시물레이션과 약간 유사거 같기도함 - ["상협"]
          1. ["Polynomial"] - 이건 좀 어려울듯 데... 그래도 번 올려볼게요- 임인택
          1. 그외의 문제(강의실, 야식, 홍보, 섭외등등.. 필요것들..)에 대해 고민을 하믄 될듯.
         온라인상으로만 회의를 하지말고 오프라인에서 같이 캠프를 진행해 줄 사람을 모아서 회의를 해서 위의 사항들을 결정하는게 좋을듯데.. --최태호
  • 데블스캠프2009/금요일/SPECIALSeminar . . . . 16 matches
          * 기능이 다 있는 간단 코드를 만들 수 있는 능력 - 민관
          * 언급된 말들 중 중요
          * 민관 : 간단 코드 -> 다른 사람이 이해하기 쉽게
          * 지원 : Satisficing (Satisfy + Sacrifice) - 여러가지 도 안에서의 최적을 찾아낸다.
          * Outlier가 되기 위해 필요 요소들
          1. 결론 : 과제를 할 때 번으로 끝내지 말고 실험 해보고 학습 목표를 갖는 자세를..
          * 민관이의 질문 - 선배님께서 생각하시는 개발 실력에서 가장 중요
          * 나무 판자 여러 개를 대어 만든 컵처럼 몇 가지 능력이 어우러져야 다.
          * 하지만 나무 판자와는 달리, 가지 특출 능력이 있다면 컵이 담을 수 있는 물의 높이가 높아진다.
          * 굉장히 중요것 중 하나는 커뮤니케이션
          * 하지만 타인에게 많이 나눠주는 것도 필요하다. - 그것을 잘다면 자신이 타인에게 물었을 때 도움받을 수 있을 것이다.
          * 화면에 100000개의 랜덤 원을 그리는 프로그램 - 어떻게 검증할 것인가?
          * 지금 이순간 내가 필요 정보를 다 취하고 있는가?
          * 실무에서는 정확 문서를 주지 않는다 - 들으면 잘 기억해둬라
          * 주어진 정보로 error의 범위를 최대 좁혀라!!
  • 부드러운위키만들기 . . . . 16 matches
          [임인택]은 후배들에게 위키위키를 권해줄때마다 그들이 위키에 대해 어려워하고 있다는 사실을 느끼고는 합니다. 백문이 불여일행 이겠지만 스스로 재미를 느끼며 위키를 자연적으로 흡수할 수 있는 방법이 없을까요? 전 글과 컴퓨터 이찬진 사장께서 컴퓨터에 쉽게 친숙해지기 위해 게임을 하는것도 좋다고 하셨던게 생각나네요.
          저같은 경우 위키에 친숙해지게 된 계기가 1학년때 상민이형, 석천이형이 이끌어준 프로젝트를 위키상에서 하다가 친숙해졌습니다. 분명 친해지는데는 시간이 좀 걸렸습니다.( 3~4달 정도) 번 친해지니깐, 휴가 나와서도 맨날 가봅니다. -_- 1학년 2학기때쯤에 윗 학번이 프로젝트를 하나 저렇게 이끌어 주면서 자연스럽게 위키를 사용하게 하는것도 괜찮을거라 생각합니다. 그리고 보면 제로위키 페이지중에 공개/비공개 설정을 하게 만든다면 구지 개인위키를 따로 돌리지 않고 제로위키안에 자신만의 개인위키를 만들 수 있고 그렇게 하면 자신의 개인 위키에 자주 오다 보면 접근성도 높아 지지 않을까하는 생각을 해봅니다. - 남상협
          새로운것을 직접 찾아서 써보기 좋아하는 사람이 아니라면 위키 자체에 대해 '익숙해질 필요가 있는가' 라는 질문이 먼저나오리라 봅니다. 이러 필요성을 눈으로 보여주는 것이 선배의 역할이겠죠. 이는 단순히 '위키'라는 툴 자체의 문제가 아닙니다. 현재의 제로페이지 웹 사이트가 과연 '사람들이 이 위키를 필요할 정도로 매력적인 컨텐츠를 가지고 있는가?' 라는 질문이 될 수도 있고요. 이에 대해서는 활동하는 사람들 모두가 고민해볼 문제일겁니다.
          툴에 대 익숙도 문제에 대해서는 1. 간단 위키 시연 세미나 2. 1학년을 포함 공동 스터디 & 공동 문서화(혹은 Pair 문서화) 정도의 답이 나올지 모르겠습니다. 하지만, 더 근본적인 것을 생각해야 다고 봅니다. 필요가 절실하면 그에 따른 행동들은 자연스레 따라오리라 봅니다. (함 시험 족보라도 모아볼까요.; 아주 농담은 아닙니다.) --[1002]
          제친구가 처음으로 위키를 접하게 되었을때 첫 느낌으로 딱딱하다는 느낌을 받았다고 하더군요. 어떤사람들은 이곳 위키에서 사람들이 이야기 하는것을 보면 무서워 보인다는 이야기도 하고요. 문제는 이런 사람들이 대부분의 사람들이 비슷하게 느낀다는 것입니다. 대부분의 사람들이 위키에 적응하지 못하는 이유도 이런게 아닐까요?? 좀더 부드럽고 사용자에게 쉽게 다가갈 수 있는 위키의 방향은 없건가요? - [이승]
          도구로서의 위키에 대해 익숙하지 않아서일겁니다. 처음 접하는 이들에게 위키위키라는 매체는 문화라기보다는 단지 사용하기 어려운 도구에 가깝게 느껴질 것입니다(실제로는 무척 사용하기 쉬운 도구임에도 불구하고 말이죠). 딱딱 느낌을 받는 것은 이곳에서 주로 다루는 내용이 컴퓨터 공학과 관련된 전공지식 위주가 아니어서일까 생각합니다. [임인택]은 이번위키설명회때 [짝위키]를 해보는 것을 제안합니다. 사람이 위키를 자유자재로 항해하며 페이지를 수정하면(PairProgramming으로 치면 드라이버가 되겠죠), 나머지 사람은 드라이버가 위키를 어떻게 사용하는지 살펴보고 드라이버가 행하는 행위에 대해서 질문(일종의 옵저버)하며 위키에 대 감을 익혀갑니다. PairProgramming 과 마찬가지로 일정 시간간격을 두고 드라이버와 옵저버의 역할을 바꿉니다. - [임인택]
          [이승]은 4-5명이 개의 페이지를 만들어가는 방식을 생각했었습니다. 짝위키라 다음 [위키설명회] 회의에서 구체적으로 이야기 해 보고 싶네요~^^
  • 새싹교실/2011/무전취식/레벨4 . . . . 16 matches
         이소라 : 화요일에 새싹끝나고 창설했어요. 전 게 없어요 ㅠㅠㅠㅠㅠㅠ 잉여잉여 ㅋㅋㅋ 제가 뭘할까요 했더니 공부나 하랬음 ㅠㅠ 배고팠는데 성진이가 주먹밥사줘서 맛나게 먹었어요 'ㅅ'/ 금요일에 하늘이 생일이어서 1교시 물리시간에 걍 케잌사고 여유롭게 지각을 햇음. 토요일에 이화여대갔음. 친구를 만나 거기 소극장에서 영화를 봄. '파수꾼'이란 영화였는데 그 영화를 본 이유가 선린고여서 봤어용. 재밌었음. 그날 배우들 인사하는 날이라 배우들이랑 얘기하고 포스터 받아옴. 그걸 보고 밥을 먹으러감. 간데마다 사람 많아서 두시간 돌아다니고 쌈밥먹고 끝냄'ㅅ'
         서원태 : 창설 햇는데 생각보다 잘것 같다. 2등을 했는데 많이 게 없어서 제가 팀중에 꼴지할것 같음. 창설교수님테 노트하고 펜을 드렸더니 칭찬해주심. 펜을 모르고 건국대팬을 줌. 팬은 다시받음 노트는 찢어져서 안받음. 주말에 C프로그래밍 숙제를 하는데 막막해서 7시간걸렸음. 무도전을 못봤음 ㅠㅠ. 알고보니 봉봉교수님 PPT자료의 예시로 해놓은게 있어서 교수님꺼 보고 함. 끝.
         강원석 : 창설 했는데 생각보다 못함. 12등. 끝에서 4등. 근데 저희꺼 로봇이 오래되서 창설 시험볼려고하는데 LCD가 나감. 그리고 모터도 느려터져서 이번주에 교체하러 머얼리 가야되요. 그리고 아직 C숙제는 안했는데. 빨리해야될것 같아요. 그리고 금요일날 재수생 친구들을 만났는데 학원에 완전 적응하고 즐거워하고있다( 또 재수하겠지) 놈은 여자친구도 만들었다. 그리고 주말에 전주 놀러갔다. 올라오는데 차가 막혀서 5시간 걸림. ㅠㅠ 그리고 주말이 끝났다. /애도
          * http://winapi.co.kr <- 사이트에 대해 설명해주었습니다. 처음에 매우 유용 사이트지요!
          * 함수선언시 출력 타입(Return Type)에 따라 마지막에 반환해주는값 또 같은 Type으로 반환해주어야합니다.
          select = getch(); //getch()는 char형 글자를 받아주는 함수.
         김준석 : 오늘 어렵고 지루 역시 단순암기과목에 대해 하였습니다. 하지만 윤종하 게임이 프로그래밍을 재밌게 만들어주었습니다. 이소라 도망갔어요~~~~~
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 이렇게 쓰면 됩니다. 점점 어려워지는 난이도!! 역시 뭔가 재미있고 신나는 컨텐츠가 필요해. 그래도 초롱초롱하게 말잘듣고 잘배우는 학생들이 옆에 있으니 행복함. 얘들아 미안해 그래도 단순 암기는 단순 암기야 ㅠㅠ 이건 외워야돼!!! 여튼 오늘 수업은 어려웠겠지만 적당 쉬는시간과 먹을것 그리고 이소라 때리기 게임으로 분위기를 몰아가려하였습니다. 나쁘지 않았어요=ㅂ= 태도 굿! 그리고 숙제를 풀때도 참 즐겁게 코딩하던 여러분. 그리고 특히 이소라때리기 게임할때 즐거워하던 '이진영'. 이 모습들이 제 마음에 남는 날이었어요. 다음시간에는 정말정말 재미있게 하드코딩을 시켜봐야겠습니다. - [김준석]
          * 수업이 길긴 했는데ㅋㅋ 많은 것들을 배웠고 제어문을 활용해서 간단 게임을 만드는 과정이 참 재미있었어요. 게임 만드는게 어려워보이긴 했지만 그래도 익숙해지면 편할 것 같아요. 요즘 중간고사 기간이라 시간에 쫒기기 시작했어요 ㅜㅜ 게임 만들기가 숙제인데 중간고사 공부 하느라 만들 시간이 좀 없을 것 같지만 중간중간 비는 시간을 활용해서 C언어 중간고사 준비와 간단 게임 만들기를 할 계획입니다~! -[서원태]
          * 어... 어라.... 아 이게 후기가 아니었군요..ㅠ_ㅠ 위에다 썻는데... 비요뜨+과자를 먹으면서 함수를 배웠어요. 랜덤함수도 배웠을텐데 저는 팀플하러 가서 못배웠어요 ㅠㅠ 다시 번만 알려주세요.. 죄송.....☞☜죄송해요...ㅋㅋㅋㅋㅋ 그래도 수업 재밌어요! 사실 팀플에 안가고 싶었습니다..하핳... 앞으로는 진짜로 화요일에 팀플을 잡지않을게요!!! 히히 죄쏭해여....♥ - [이소라]
  • 새싹교실/2012/사과나무 . . . . 16 matches
         ||강사||고종||김성원||김성원||김성원||
         전부 뜬구름 잡는 듯 느낌이라 도익이가 이해하기 힘들었을거라 생각합니다. 미안;
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 새싹교실 첫 수업이었다. 고종 강사님이셨고 같이하는 팀원과는 같이못해 혼자듣게되었다. 선배님은 간담회때 처음뵜고 서정이누나는 뒤풀이때 처음봤다.새싹교실이라고해서 무거울줄 알았는데 내생각이 틀렸다. 아주 기본부터 차근차근 설명을해주셨고 문외인 나에게 과제도주셨다. 더열심히 하라는 뜻인거같다.그리고 수업시간에는 간단 사칙연산만 만들었는데 오늘 이차방정식을 푸는 프로그램을 만들어봤다. 도움을 받고 만든 프로그램이지만 다음엔 내가 스스로 만들어보고싶다. 앞으로 기대된다. - [김도익]
          * [고종]
          * 새싹교실 첫 수업이었다. 원래 두명의 학생과 같이 하기로 했는데 서로가 시간이 맞지 않아서 따로 따로 듣게 되었다. 고종 선배님은 새터가기전에 몇번 뵙긴하였는데 대화를 해보진 못했다. 그런데 새싹 오티에서 처음 이야기 해보고 오늘은 계속 미루어 오던 수업을 드디어 듣게 되었다. 수업내용을 알아듣게 설명을 잘 해주어서 나름 어렸었던 문제들이 조금 해결되었다. - [김서정]
          * 반이 바뀐 첫날, '이소라 때리기 게임'을 직접 손으로 타이핑을 시키고, 이 프로그램에 쓰인 개념들을 가르쳤다. 작년 나와 비슷 수준이라 더 열심히 가르쳐야 겠다는 생각이 들었다. 둘 다 현재 수준이 많이 낮다는 걸 알았다. 앞으로는 좀 더 쉽게 설명해야겠다. - [김성원]
          * switch문과 if문이 서로 바뀔 수 있다는 것을 보기위 코드입니다.
          * 오늘은 제어문에 대해 배웠다. 지난시간에 했던 부분이지만 다시 공부하였다. 지난과제 구구단을 나눠서 출력하는 프로그램을 만드는데 \t 어떻게 써야할지 몰라서 많이 헤맸고,int k라는 개념도 생각을 하지 못해 나 스스로 만들지는 못했다. 변수를 2개만 해야다는 고정관념을 버려야겠다. 오늘 배운점은 프로그램을 만들때 편협 시각이 아닌 자유로운 생각으로 이것저것 생각하는 것이 너무나도 중요하다는 걸 보았다. 수학문제 풀이도 다양하듯이 프로그램도 마찬가지라고 생각다. 가지 주제에 대해 다양 생각을 하는 연습을 해야겠다. - [김도익]
  • 새싹교실/2012/앞부분만본반 . . . . 16 matches
         Linear Algebra에 대 전체적인 구성
         이에 대 기하학적 표현으로
         2 -> 점에서 만나다
         *elimination(소거법) 에 대 설명
         ||1. 식에 영이 아닌수를 곱다.||
         ||3. 식에 k배(k≠0)을 뒤 다른 식에 더다.||
         ||1. 행에 영이 아닌수를 곱다(kRi, k≠0)||
         ||3. 행에 K배 뒤 다른 행에 더다.(k×Ri + Rj -> new Rj)||
         E.R.O는 reversible 하므로 그에 대 inverse E.R.O를 설명함.
         E.R.O를 하면서 발생할 수 있는 실수 몇 가지를 소개하고 , 그에 대 주의를 당부함.그리고 이것을 예제에 적용해 보았음.
  • 새싹교실/2013 . . . . 16 matches
         || 01 || [새싹교실/2013/라이히스아우토반] || [고종] || [임지훈], [지영민], [박경준], [이명연] || 5회차 || 매주 수요일 오후 2시 ||
         || 11 || [새싹교실/2013/구남영반] || [구남영] || [강인], [이원세], [예림] || 0회차 || ||
         || 13 || [새싹교실/2013/빕스반] || [박상영] || [김남규], [이예나], [김준] || 0회차 || ||
          * 미리써도 되지 않을까? 해서 썼다가 번 날림 젠장 - [고종](13/03/16)
          * 근데, 강사를 위 가이드라인 어디 있나요ㅠㅠ - [김해천](13/03/17)
          * 새로 글 쓸 때,6. junetemplete를 쓰면 매우 편리하다는 것을 발견했다!. 다만 새싹교실/2012로 연결되니 주의. -[고종](13/03/19)
          * 여러분 새싹반이 되게 적어보이는데, 실제로는 이거보다 많이 돌아가고 있어요. 다만 위키를 쓰자는데 동의를 안팀이 많은 것일뿐... - [고종](13/03/22)
          * 위키를 사용하지 않는 팀들은 그럼 새싹교실 스터디만 진행하는 건가요? 아니면 다른 곳에 기록을 다거나 정모에서 배운 내용을 공유다거나 다른 활동을 하는 건가요? 위키를 사용하지 않더라도 링크 없이 반 이름 정도는 리스트에 올려두는 게 어떨까 싶은 생각이 듭니다. - [김수경]
          * 오늘은 애들테 대략적인 위키 쓰는 법을 가르쳐야 될듯.. -[김상호] (13/03/25)
          * 저도 오늘 가르킬려고요. 위키에 저 혼자 정리하니 계가 있네요.ㅠㅠ -[김해천] (13/03/25)
          * 혼자쓰면 안되지! 애들이 쓰는게 의미가 있어서 하는건데-[고종](13/03/27)
          * 다들 회차가 안오르네.. 분명 수업 하고 있는거 같긴 데 ㅎㅎ 난 저거 보면 뿌듯하더라 헿헿 -[김상호](13/04/03)
          * 시험끝나고 1주일 지난뒤에 들어와보니 으허...... -[고종](13/05/01)
  • 새싹교실/2013/라이히스아우토반/3회차 . . . . 16 matches
          * Template를 만들어 보려 했으나 실패?... 단순히 갱신이 느린건지.. 아니면 내가 권이 없는 건지... - [고종](13/04/02)
         ||고종|| o || o || o ||
          * 적절 예제가 떠오르지 않으므로 ㅇㅈㅎ게임 부활시켜야 겠음(..)
         ㅇㅈㅎ게임 예제까지 하긴 것 같다.
          * 입력을 위 함수를 써야 합니다. C언어의 콘솔을 위 입력용 함수는 이런것들이 있습니다.
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * Internet Explorer를 제외 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
          * Can't Save가 떴을 땐 당황하지 말고, 작성 내용을 클립보드에 보존 뒤(Ctrl+C) 새로고침을 뒤 붙여넣고 저장할 것.
         여태 배운것들이랑 비슷데 더 많이 알게되서 좋았다
         또 getchar() 과 scanf()등 여러 함수를 배우는 활동이었다.
         == [고종] ==
  • 우리홈만들기 . . . . 16 matches
          *지금 이 프로젝트는 28일까지 마감을 하고 졔,혜영,남훈이가 웹프로그램을 공부다고 하니
          *그중 계정이 있지만 홈페이지가 없는 이들이 뭉쳐~ 홈페이지를 만드는거시다. --> 중요 이유~
         == 제안, 토의 사항, 숨, 잡담 ==
          * 나도 게시판 만드는데 필요 JSP나 PHP배울 생각은 있는데..왠지 남훈이가 하루면 될 분량을 나는 1주일은 넘게 붙잡아야 할 것 같은 생각이 든다..--; 지혜는 PHP해봤고, 광식이는 JSP해봤고 남훈이는 빠르고.. 아아~ 나는 무엇인가..ㅜㅜ -혜영이-
          * 내 머리는 백지상태~~~ 갈켜주신 분들?? 분?? 테는 죄송하지만... 이 석화되고 있는 나의 머리는... 그나마 배운 대부분의 것을 잊어가고 있는듯.. ㅠ_ㅠ 사실.. 머리속에 원래 있던것도 별로 없다고 사료되어짐.. ㅡ.,ㅡ;; 어쨋거나 뭔가 해야 할텐데.... 바보같구만그려.. ㅡㅡ;; -setsuna-
          * DeleteMe)난 cgi를 번도 안해보왔는데. ~~ JSP밖에 안했어~~
          * 요즘은 perl 이라는 거로 cgi 를 제작다는데 (이것조차 이제야 알았다) 이거로 해볼까요 아니면 역시 전통적인; c 로 할까요;; -zennith.
          * DeleteMe) 헉 요즘은, 자네는 언제 출간된 책을 보는거야. 2~3년 전? 그리고 개인페이지에 뭐좀 채워 넣어라 --;; --상민
          * 괜찮아. 방법적인걸 도와달라는게 아니니까. 암튼.. 네가 도왔으면 다; -zennith.
          * DeleteMe) 개인적으로 cgi를 위 언어로 파이썬을 추천합니다. 물론 펄도 문자열 처리가 쉬워서 cgi에 아주 좋은 언어이지만 cgi에 써먹는 것으로 끝날 확률이 높아 보입니다. --["이덕준"]
         각 자 일을 적는다..^^
          * 청주가서 제작 홈페이지 외관으로 바꿈
          * 이제 홈페이지를 꾸며야하는데 ~~ 기운이 없음 웬지 웹플밍 연습거처럼보이지만 나름대로 처음 홈을 가진거에 만족하고 ^^
          * 2월 8일 : 홈페이지를 띄웠다. 그전에는 하드에서 가지고 놀았는데, 시대가 시대인만큼(계정을 구만큼?) 웹에 띄웠다.
          * 사용중인 툴 : 에디트플러스 2 평가판 (사용지 30일 가까워옴..)
          태호형도 보고감..^^에디트 플러스 기간 지나도 무대로 사용가능함..^^;;;
  • 유혹하는글쓰기 . . . . 16 matches
         ''정말 심각 잘못은 낱말을 화려하게 치장하려고 하는 것으로...애완동물에게 야회복을 입히는 것''
         ''지옥으로 가는 길은 수많은 부사들로 뒤덮여 있다..잔디밭에 포기가 돋아나면 제법 예쁘고 독특해 보인다. 그러나 이때 곧바로 뽑아버리지 않으면...철저하게(totally), 완벽하게(completely), 어지럽게(profligately) 민들레로 뒤덮이고 만다.''
         ''건축 재료는 여러분의 어휘력, 그리고 기본적인 문체와 문법에 대 지식... 층 가지런히 쌓아올리고 문짝도 고르게 대패질하기만 하면 무엇이든 건설할 수 있다.''
         (작가가 되고 싶다면) ''무엇보다 두 가지 일을 반드시 해야 다. 많이 읽고 많이 쓰는 것이다. 이 두가지를 슬쩍 피해갈 수 있는 방법은 없다. 지름길도 없다.''
         '' 번에 단어씩 쓰죠''
         ''그렇다면 작품을 끝낸 뒤에는...왜 그런 수고를 감수했는지 자문해보는 것이 자신과 작품에 대 예의''
         학교에서 글쓰기 강의를 들은지 2년여 만에 흥미로운 글쓰기 강좌를 들은 셈이다. 소설가 입담이 어디 갈까 싶게 어릴 적 이야기부터 시작해서 글쓰기로 입문해 가는 과정을 거쳐 자연스럽게 창작론으로 넘어간다. 그렇다고 창작론 역시 따분 이론이 아닌 덕분에 끝까지 빠져들 수 있었다.
         프로그래밍에 적용시켜도 좋은 교훈도 얻을 수 있었다. 워낙 글쓰기와 프로그래밍이 비슷하기 때문이리라. 나에게는 까다로운 작업을 하다가 포기 경험이 있기에 작가의 말이 쓰디 쓴 약이 될 것 같다. 슬쩍 피해갈 수 없다. 지름길도 없다.
          * 기억에 남는 것은 인위적으로 플롯을 만들어서 이렇게 해야지 하면서 창작을 하는것이 아니라, 작가 자신도 쓰면서 앞날을 알 수 없다고 다. 뭔가 와 닿는게 있다. 그리고 자신이 잘 아는 내용(배경)에 대해서 써야 좋다는 것도 알았다.
          * 그리고 무엇보다 중요 것 !!! -> 일단 초고를 완성하고 나서 6주 정도 안 보이는곳에 놓고 안보고 있다가 6주정도 후에 다시 봐서 수정 작업을 하는게 정말 좋다고 다. 이것은 어떻게 생각하면 [포토리딩]에 나오는 내용과 일면 비슷 부분이 있다. 이렇게 안 보고 있는 사이에 무의식이 작용을 하나 보다.
  • 이승한/자전거여행/완료 . . . . 16 matches
          * 자전거 타는 테크닉도 중요하지만 수리 상태에 따라 상당히 많이 다르다. 타이어는 예사고 기름칠이 잘 안된 체인의 경우에는 가끔씩 체인이 끊어지는 사태도 벌어지고. 브레이크. 휠. 엎어지기라도 해서 기어가 망가지면 난감하기도하고 생각지도 못 곳곳에서 문제가 계속발생다.
          * 다리도 다리지만 3시간 정도 달리다보면 사타구니 부위가 무지하게 아픔. 안장을 최대 작은것으로 달고. 생각과 다르게 작을수록 사타구니가 아프지 않다.
          * 하루에 번정도는 번갈아가면서 고장이나 자전거 수리점에 들렀는데. 가는곳 마다 이런 자전거로 여행하면 무지하게 고생할것이라고 경고를 들었고, 역시 무지하게 고생했음.
          * 지도, 돈, 간단 옷가지 그리고 간단 간식거리 정도만 있으면 됨.
         비가온다는 예보와 달리 비가 조금 오다가 말았음. 좀더 준비가 필요하다는 의견과 일기예보를 못믿겠다는 의견이 나왔고. 격렬 상의 끝에.
         1시간 - 3시간. 수색언덕길. 지긋지긋. 이승 욜리 힘들었음. 아직 자전거가 익숙치 않고 다리가 안풀려 세명중에 내가 가장 힘들어 했음. 나중에 친구들은 나때문에 여행이 지체 될 걸로 걱정했다고 함. 그러나 기우.
         상암경기장 주변에서 간단하게 식사끼.
         목동쪽 강 지류를 따라서 어디어디를 갔는데 나는 어디였는지 생각도 안남;;
         승 좀 심하게 힘들어했음. 슬슬 자전거가 발에 붙기 시작.
         강을 건너고 다리를 건너는 사투끝에 자전거 상점에 들러 수리. 자전거 여행다고 하니 수리비 안받음.
         이때부터 이승 폭주. 체력이 돌기 시작. 지치지를 않음. 그래도 언덕길은 힘들었음.
         자전거 라이트를 달았지만 효과는 미미하고. 자동차가 번 지나가면 강 빛으로 인해 잠시 앞이 전혀 안보임.
         힘들었지만 아직까지는 체력이 남았는지 모두 3시간 반정도 자고. 새벽 4시 30분에 기상. 편의점에서 라면 사발에 삼각김밥 하나먹고 5시에 출발. 서산으로 목표수정.
  • 이영호/미니프로젝트#1 . . . . 16 matches
         소규모 프로젝트를 진행 하려 다.
         예상 라인수는 2000~3000 라인 정도이며 프로젝트를 더 커질수록 라인수의 가변성 또 존재다.
         // 가지 웃긴것은 C++로 짜면 C와 동일 기능을 가졌음에도 라인의 수가 3배 이상 늘어난다는 것이다.
         주의점 : Zombie Process를 만들지 않도록 System Call 을 잘 관리다.
         1. Client Console에 메세지를 입력하면 IRC Server로 문자열을 전송다. -> Main Process
         main.c -> IRC Server로 메세지를 보내는 역할을 하고 자식 프로세스를 생성다.
         parse.c -> IRC Server로 부터 오는 메세지를 파싱다.
         file.c -> 파일 입출력을 다루는 함수와 메세지들을 Log하는 부분을 담당다. 일단 프로그램을 어느 정도 만들고 구현하도록다.
         request.c -> IRC Server로 부터 날아오는 PING에 대 PONG 처리.
         bot.c -> 봇에 관 함수.
         (2일에 번씩 컴퓨터를 사용하므로...)
         // fork 부분만 구현다.
          kill(0, SIGKILL); // 부모가 종료하면 자식 프로세스 모두 종료다.
  • 정모/2003.1.15 . . . . 16 matches
         자세 사항을 알려면 01학번에게 직접 연락 바랍니다.
         참여 가능 사람 조사 (여기 사람들중에 5명이 외부 프로젝트에 참여하게 됩니다.)
         ||||참가 가능 사람||
          * 창세기전 - 일주일에 번씩 만나서 진행하고 있음
          * 뚜렷 목표가 없다.
          * 참석 인원은 기록하지 않나요? 예전에은 2번 이유없이 불참하면 탈퇴 시키기로 했는데, 그게 흐지 부지 된거 같군요. 지금 졸업을 하시는 선배님이나, 병특중인 선배님, 군대간 선배나, 동기들 빼고는 나머지 인원들중에서 참여 여부를 확실히 해야 좋을거 같군요. 정모 참여를 확실히 하고, 정모때 아무것도 하는 프로젝트나 스터디가 없으면(특히 널럴 방학중에.) 정모에 나오는 의미가 없으니, 뭐 할거 생기기 전에는 나오지 말라고 해도 좋겠네요. 활동인원을 확실히 하는게 좋을거 같네요. 뭐 방학때 지방에 가있거나, 사정이 있거나 정모에 나오고 싶지 않아 하는 사람들은 정모에 나오지 않고 위키에서만 활동하도록 하는것도 괜찮구요.
          * 02들끼리 안친걸 문제로 삼았는데, 제로페이지는 친목 단체가 아니고 학회인 만큼 그리 큰 문제라고 생각하지 않습니다. 같이 프로젝트도 하고 스터디도 하다보면 자연 호감도 갈테니깐요.. 지금의 01들처럼...
          * 위키가 어렵다 -> 위키는 처음 접근 장벽이 높은거 같습니다. 우리 01들이 02들에게 그걸 낮춰주지 못게 실수인거 같습니다. 우리 01들도 처음에는 잘 사용안하다가, 위키를 사용하는 프로젝트를 함으로써 위키를 적극적으로 사용하게 되었는데, 02들을 대상으로 하는 프로젝트중 데블스 캠프 말고는 제대로 위키를 사용하게끔 도와준 프로젝트가 없었던거 같군요. 그나마 지금 활동하는 02들은 위키를 사용다는 점이 위안이 됩니다. 03학번부턴 이걸 유의해야겠죠.
          * 뚜렷 목표가 없다. -> 맞는 말입니다. 그냥 단순히 학교 공부에나 도움될줄 알고 나오는 사람도 꽤 있는거 같습니다. 제가 가진 생각으로는 2가지 목표가 있을거 같네요. 프로그램 짜는거와, 프로그래밍 경진대회 같은데 나가서 입상하는거 정도..2003년도부터는 과내 프로그래밍 경진대회에서 입상하면 ACM예선 대회 같은곳에 나갈 수 있도록 지원해줄거 같으니, 그런걸 목표로 해도 되고, 좋은 프로그램을 짜서 다른 사람들도 널리 쓸 수 있도록 하면서 보람을 느끼는걸 목표로 해도 되겠네요.
          * 실력 없는 사람들의 열의가 금세 사라진다. -> 실력이 없어서 열의가 없는게 아니라 열의가 없어서 실력이 없는거 같네요. 이런건 뭐 주위에서 뭐라고 할 수 있는 문제가 아닌거 같습니다. 그사람이 흥미가 없어서 그런거니.. "해커 그 광기의 기록"이란 책을 보면 MIT에서도 해커적으로 프로그래밍을 즐기는 사람들과 단순히 열의 없이 주어진 공부를 하는 사람들이 있던데, 이건 뭐 어디가나 마찬가지인가 봅니다. 제 의견으로는 두 부류로 나누는건 힘들거 같습니다. 열의가 있는 사람들도 지금 힘든판에 열의가 없는사람들까지 이끌고 가긴 힘들거 같고, 아예 열의 없는 사람들이 스스로 열의가 생길때까지 놔두고 열의 있는 사람들을 주변에서 잘 포착해서 데려오는게 좋을거 같습니다. 상규를 제로페이지로 데려온것이 그 좋은 사례인거 같네요. 이번에 02 석진이 같은 경우도 열의가 있어 보이고 들어 오려고 했던거 같은데 아마 이번 정모에 안 왔을듯 싶습니다. 사람들을 데려올땐 적어도 1명이라도 좀 아는 사람이 있어서 같이 가자고 해야 갈만하지, 아무도 직접 오라고 하지 않았으면 가기가 좀 그럴겁니다. 그런걸 염두에 두고 모든이를 대상으로 하는 말인, "제로페이지는 열려 있으니 정모 아무때나 오세요~"라고 하기보다는 그 대상에게만 언제 어디로 와서 번 보자고 직접 메신저라든지, 전화 같은걸로 해야 할듯 싶습니다.
          * 새내기 모집일정해 대해 번쯤 이야기를 해야하지 않을까요? 매년 새내기들이 많이 빠져나간것도. 여러가지 문제가 있겠지만, 모집일정에도 약간 문제가 있다고 생각합니다 - 임인택
          * 현재 ZeroPage 새내기를 모집하는데 있어서 ('뽑는다' 가 아니라 '모집다'가 맞는거겠죠?) 기존에 행하여오던 방법에 문제가 있었다고 생각합니다. 우선 ZeroPage의 경우 회원을 1학기 초에 모집하는것으로 알고있습니다. (그 이후에는 수시모집인것으로 알고 있습니다.) ''친구따라 강남간다''처럼, ''친구따라 ZeroPage 회원되다''. 가 되는 새내기가 많은 게 사실입니다. 문제는 강남에 갔다가 다시 자신이 있던 곳으로 돌아온다는데 있는 것 같습니다. 매년 반복되어오던 현상이 아닌가요. -.-a 저는 이러 모습에 부정적인 시각을 가지고 있는 터라, 다른 방법으로 새내기를 모집하였으면 좋겠다는 생각을 했습니다. 우선, 1학기 초가 아닌 여름방학 시작 전에 모집을 하는 것은 어떻습니까? 여름방학 전에 새내기 모집을 하고, DevilsCamp를 개최하면, 나름대로 좋은 방법이 될 것이라 생각합니다. 모집 전까지는 새내기와 2학년을 대상으로 하는 산발적인 세미나를 개최하여, ZeroPage에 대해 인지도를 높일 수 있고, 새내기들로 하여금 ‘’남들하니까 나도해야지‘’가 아닌, ‘’나에게 꼭 필요하구나‘’를 느끼게 할 수 있지 않을까요? (ps. 이에 대해 토론 페이지를 개설하는건 어떻습니까?) - 임인택
          작년의 경우 3월에 소개, 홍보 차원에서 '설명회'를 했었고 4월부터 C++세미나 등등 관심을 불러일으키고 낯익게 하기 위 것들을 했었습니다. 여기까지 '준회원' 형식으로 있다가 '데블스캠프'를 마쳐야 정회원이라는 조건을 내걸었었습니다. 데블스캠프가 조건이 되지 않았던 것 같지만 사실 현재 02학번들의 활동을 보면 데블스캠프 참여도와 상관성이 많습니다. 작년 모집방법에서 수정이 필요 부분을 짚어주시면 감사하겠습니다. 뭔가 선배 의견에서 공감이 될것 같은데 정확히 못집어 내겠습니다. ^^;; --창섭
  • 정모/2013.7.29 . . . . 16 matches
          * 기존 스터디 회식비 지원은 달 1회에 하여 회식비를 지원해 주고 있음.
          * 제안은, 달 1회 지원이 아닌, 도 금액(기존처럼 인원 수로 책정) 내에서 사용하고 월말에 정산하는 방식으로 개정하는 것
          * 일반적으로, 매 스터디 진행시에 다과를 구입해서 먹는 경우가 많기 때문이며, 1회에 해서 전액을 사용하는 것이 효율적이지 못하다는 의견이 있기 때문
          * 좀 더 의견을 수렴 후 결정하도록 함
          * 현재 ZeroPage에서 GDG를 소모임 형태로 만들 것인지, 아니면 ZeroPage 자체가 중앙대 GDG가 될 것인지에 대 의견을 들어보고자 합니다. (위키에 의견을 달아주세요.)
          * 제 입장에서는 중앙대 GDG와 ZeroPage는 분리를 했으면 좋겠네요. 현재 ZP만 봐도 다양 혜택을 받고 있는 만큼 또 다양 책임을 지고 있다고 생각하는데, 여기에서 GDG까지 하게 되면 역시 추가적으로 해야 하는 일이 늘지 않을까 생각합니다. 사실 해야 하는 일이 느는 것 자체가 문제라기 보다는 나중에 정말로 하고 싶은 일이 생겼을 때 현재 지고 있는 짐(책임)이 무거워서 몸을 움직일 수 없다면 문제가 아닐까 하는 염려 때문이네요. - [서민관]
          * 저도.. ZP가 관여하고 소속되는 곳이 많을수록 움직이기 어려워지니까요. 또, 하나를 더할때마다 의무의 측면이 심하게 가중되는데, 그만 이점을 얻기는 힘들거같다고 생각되는.. 알고리즘분야만봐도 사실 ZP가 들고갈 수 있는 영역은 아닌거같다는 느낌이..(여기에는 우리과의 동아리 비활성화가 가장 큰 문제지만.) 차라리 우리과에 다른 동아리가 생기는데 거기가 해당 활동을 할 것이면 좋을텐데.. -[김태진]
          * 혹시 괜찮으면 현재 회장님이 왜 ZP == 중앙대 GDG를 선호하는지 이유를 좀 들었으면 좋겠네요. 디메리트(라고 해야 하나)는 위에서 언급 부분이 있는데, 그에 대 메리트가 많이 있을지 좀 궁금합니다. - [서민관]
          * 엠티에 대해 조금만 더 설명 덧붙여주세요~ + 전국 대학생 프로그래밍 대회 동아리 연합에 관 이야기를 언젠가 할 기회가 있어야할텐데..음 -[김태진]
          * GDG 학교만으로 구성할 수 있어? 내가 아는 최소단위는 지역인데.. - [서지혜]
  • 02_Python . . . . 15 matches
          * Infoseek 이란 포탈 싸이트는 일부 검색엔진을 파이썬 기반으로 사용
          * NASA 는 임무 제어 시스템에 파이썬을 사용
          * Industrial Light and Magic 사는 파이썬을 사용하여 광고용 에니메이션을 제작
          * 이 위키페이지는 파이썬을 이용 cgi 로 만들어졌다
          '' C 나 C++ 은 소스를 꺼번에 다 치고서 나중에 "컴파일" 하는식이지만 Python 의 경우 자신이 쓰는 라인마다 읽혀들어간다. ''
         == C 와 C++ 과 Java 와 Python 의 간단 소스 비교 ==
          2. 모듈은 문을 포함다.
          3. 문은 객체를 생성하고 처리다.
          * 파이썬은 내장 자료형을 기본으로 다.
          '' 기존 C 나 C++ 의 경우는 어떠 변수를 지정할떄 타입을 꼭 지정해 줘야했다 그 예로 int 나 char 이 있다 하지만 파이썬의 경우는
          자체적으로 자료형을 지원해서 나오므로 어떠 변수형인지 지정을 해주지 않아도 된다 ''
         1234, -25,0 일반정수 이며 C의 경우 int 에 해당다.
         1.23, 3E210 부동소수점이며 C의 경우 double 에 해당다.
          * 파이썬의 가장 유연 자료형이므로 객체 자료의 순서를 갖는 집합이다.
         t1 = (0,) 개의 항목 튜플
  • 3rdPCinCAUCSE/J-sow전략 . . . . 15 matches
         문제풀기 규칙을 정다든지, 예상 문제를 살펴보는 준비는 없었습니다. 작년에 같은 팀을 했기에 올해도 같은 팀으로 [정우]와 함께 나갔습니다. 작년 대히를 생각해보면, 알고리즘을 생각하는데 주력할 것이라는 이야기를 나누었습니다.
         준비물로는 무 이면지와 볼펜 두자루가 있었습니다.
          * 사각형의 꼭지점에 집착 [나휘동]과 달리, 칸 넓이를 중심으로 본 [정우]가 의견을 내자 가장 쉬운 문제로 전락(?)했습니다.
          * 육목을 검사하지 않아 번 패널티를 받았습니다. :(
          * 마지막에 배열을 줄씩 읽어서 자신보다 큰 것이 구슬 수(N) 절반 이상이거나, 작은 것이 절반 이상인 줄이 몇 줄인지 세었습니다.
          // 이 부분에서 큰 것과 작은 것을 세는 카운터를 초기화 했어야 다.
          * B번 문제에서 했던 실수(초기화)를 그대로 반복해서 패널티 번을 받고 풀다가 끝났습니다. :(
          * 같은 실수를 반복해서 아쉽네요. 정답에 거의 접근했음에도 풀지 못 아쉬움이 많이 남습니다.
          * 아무리 급해도 필요 기능은 함수로 묶어내야 다고 느꼈습니다.
          * 최소 루프 인덱스라도 통일다면 결 코딩이 수월했으리라는 생각을 합니다.
  • BusSimulation . . . . 15 matches
          * 원래 대안언어 축제 코드 첼린지에 6단계까지 해서 내려던 문제인데(답 검증을 못 관계로 2단계로 축소후 일부 문제로만 냄) 이왕 만든거 아까워서 이렇게 올림 - [상협]
          * 우리는 보통 버스를 기다릴 때 버스가 꺼번에 오는 경우를 종종 보게 된다. 버스가 처음에 출발할 때는 일정 간격으로 출발하였을 텐데 이렇게 몰려다니는 이유는 무엇일까? 이 이유를 컴퓨터로 시물레이션 해본다. 초기 단계에서는 최대 간단하게 시작해서 점차 현실을 반영하는 시물레이션 으로 만들어 나간다. 하위 단계를 무시하고 다음 단계로 올라갈 수 없으면 순차적으로 시물레이션 단계를 올라간다.
          * Output - 출력결과는 버스의 위치(단위 meter), 단계에 따라서 승객 수를 출력다.
          * 정류장에는 1분마다 일정 수로 사람 수 증가(1명)
          * 버스에 탈수 있는 사람수 제(70명)
          * 추가 조건 : 정류장에서 버스에 탑승시 사람당 걸리는 시간 데이터 추가
          * busStationData.txt(시간_초, 정류장 너비, 정류장에서 대기하는 시간-처음 출발 할때는 정류장에서는 대기안함, 출발하는 간격(분), 정류장에서 사람 수 증가 율(명/분), 버스에 탈 수 있는 사람 수 ,정류장에서 내리는 사람 수, 사람이 버스에 타는데 걸리는 시간)
          * 물리적인 추측만으로 버스가 연달아 오는 경우를 생각했었는데 이를 실제로 컴퓨터로 시물레이션 함으로써 그러 현상이 일어나는 과정도 관찰할 수 있었고, 시물레이션 하는 과정에서 여러 가지 조건을 설정하면서 각 조건에 따라서 시물레이션이 어떻게 변할지도 생각해 볼 수도 있었다. 이러 경험은 생활 속의 물리 현상을 나의 전공과 연계해볼 수도 있구나 하는 신선 충격이었다. 이러 일들이 쉬운일은 아니었지만 정말 좋은 경험이 되었다.
         Discrete Event Simulation이 되겠군요. 사람이 몇 명이 기다리느냐, 길 막힘 상태 등은 이산 확률 분포를 사용하면 될 것입니다. NoSmok:TheArtOfComputerProgramming 에서 NoSmok:DonaldKnuth 가 자기 학교 수학과 건물 엘레베이터를 몇 시간 관찰해서 데이타를 수집 것과 비슷하게 학생들이 직접 84번, 85-1번 등의 버스를 타고 다니면서 자료 수집을 해서 그걸 시뮬레이션 실험하면 아주 많은 공부가 될 것입니다 -- 특히, 어떻게 실세계를 컴퓨터로 옮기느냐 등의 모델링 문제에 관해. 실제로 NoSmok:DonaldKnuth 는 TAOCP에서 이런 연습문제를 만들어 놨습니다. 제가 학부생 때 누군가 이런 숙제를 내줬다면 아마 두 계단(see also ["축적과변화"]) 올라설 계기가 되지 않았을까 하고 아쉬울 때가 있습니다. 이 문제에 드는 시간은 하루나 이틀 정도가 되겠지만 여기서 얻은 경험과 지혜는 십 년도 넘게 자신의 프로그래밍 인생에 도움이 될 것이라 믿어 의심치 않습니다. (팀으로 문제 해결을 하면 더 많은 공부가 되겠지요) see also ProgrammingPartyAfterwords 참고자료 --JuNe
  • C언어시험 . . . . 15 matches
         우연히 동문네트워크에 들어갔다가 2005년도 1학기 중간고사 C언어 시험에 대 이야기를 보게 되었습니다. 익게에 말이 엄청 많더군요.
         처음에 문제를 보고 조금 당황하기는 했는데 저도 큰 문제는 없다고 생각합니다. 문제에 '''정답''' 이란 것도 없을 것 같고.. 단지 '''배우지 않은 내용이 문제로 나왔다'''라는 이유만으로 말이 많은것 같네요. (물론 새내기의 입장은 충분히 이해합니다). 시험 문제로 인해 기분상 새내기들께는 교수님께서 문제를 그런 스타일로 내신 의도를 파악해 보라고 말씀드리고 싶네요. 마침 내일 zp정모가 있으니 새내기들에게 C수업방식에 대 이야기를 들어보고 내용을 이곳에 정리해서 올려보도록 하겠습니다. 제 생각도 전해주고요. 이전에, 첫 번째 과제에 대 이야기를 듣고 (SeeAlso CodeYourself) 김승욱 교수님의 C언어 수업을 반드시 청강해 봐야겠다는 생각을 했는데.. 연구실 일정과 조교일이 겹처서.. ㅠㅠ 내년에는 반드시 청강해 볼 생각입니다. 이번일로 인해 그 의지가 더 강해지는군요. - [임인택]
         제가 내린 결론부터 말씀드리자면, 새내기들의 불만을 터뜨리게 가장 큰 원인이 '예상하지 못 문제가 출제되었다' 인것 같습니다(학생들은 C언어에 대 문제가 주를 이룰 것이다라는 생각을 하고 있었을 테니까요). 사람들의 이야기를 들어보니 ''교수님의 속도와 학생들이 받아들이는 속도가 맞지 않았다.'' 라는 생각이 들었습니다. 교수님께서 ''책에 있는 내용은 스스로 공부할수 있으니 저는 책에 나오지 않는 내용을 강의하겠습니다.'' 와 비슷 말씀을 하셨다고 합니다. (새내기가 아닌) 학생이 교수님께 찾아가 강의의 난이도를 높여 달라는 말도 했다고 하구요(이 일 이후에는 C언어에 대 내용을 skip하는 경우가 많았다고 하네요).
         수업시간에 시험에 나온 Waterfall, Spiral Model등등 프로세스에 관 측면과 소프트웨어 디자인에 대 강의도 있었다고 하는데 제 느낌이지만 교수님께서 너무 앞서나가셔서 (리듬이 맞지 않았다고 하면 될 것 같네요) 학생들이 받아들이는데 문제가 있었던것 같습니다. (이러 주제를 다룬것 자체에 대해서는 학생들이 그다지 크게 잘못된 생각을 가지고 있는것 같지는 않습니다) 제가 수업을 들었었다면 조금 더 구체적으로 적을수 있었을텐데 아쉽네요. 적적 메타포의 활용이 아쉽네요. 저는 요새 후배들에게 무언가를 가르치려고 할때 메타포를 많이 활용하고자 답니다. - [임인택] - 추가해서. 제가 사실을 잘못 알고 있으면 누가 말씀해 주시길 바랍니다.
  • DirectDraw . . . . 15 matches
         DirectX 8.1을 이용 DirectDraw로 무언가를 만들어 보자.[[BR]]
         Library Files 에는 C:\DXSDK\LIB를 추가해야다.
         ddraw.lib와 dxguid.lib를 추가해야다.
         를 추가해야다.
         중간중간 더 중요 내용이 있을 것이다.
          * DDSCL_ALLOWMODEX : ModeX를 사용 가능하게 해준다는데. 알수 없다.(예전에 쓰던 화면 모드라고 다.)
          * ddsCaps.dwCaps : 더 자세.. 성격..
         일단 HBITMAP형의 비트맵을 얻어와야다.
          3. 그것을 Flip다.
         ㅡ.ㅡ 뭐.. 그 소스를 뜯어 고칠만 건덕지도 없군요.. 워낙 잘되어 있어서. [[BR]]
         거기서 필요없어보이는것 줄이고 쓸만거만 추려서.. 새로.. 만들어보던지만. 해야겠네요.[[BR]]
         [해성] 지나가다가 마디.. ^^;; DX 초기화 과정은 이전버전과 흡사하군요.. 음.. 초기화 인터페이스를 파악했다면.. 다이렉트 엑스가 어떻게 내부적으로 작동해서 일반 윈도우 프로그래밍 보다 빠른 엑세스 메카니즘을 제공하는지 파악하시구요.. 왠만하면 DX 쓰지말구.. 추가적인 이펙트등을 구현해보는게 좋을것 같네요.. 알파블렌딩을 응용 여러가지 기법(페이드 인아웃이나 전환.. 뭐라그러드라).. 하구.. 전 못해봤지만.. 블러링 필터 같은것두.. 서페이스에 직접 억세스 하는거 공부하면.. 해볼만 할것 같군요.. 그리구.. 음.. 매일 허접 플밍을 하구 있지만.. 그래두 지겨운 초기화 과정을 단축시키기 위해 어느정도 모듈화되게 라입을 구축하면 좋겠지요.. 전 절대 안하지만.. ㅋㅋ;; 그럼.. 잡설이었습니당~ 수거~[[BR]]
         ["데기"]) 해성이가 말 추가적인 이펙터들의 기본적인 아이디어는 '["영상처리"]' 시간에 배울 수 있습니다. (선호 혼자 DX 보는데도 의외로 진도가 잘 나가는듯...) [[BR]]
         DeleteMe) DX8 SDK문서를 보니 Direct Draw의 전 기능이 Direct3D로 통합 됐다는군.... 고로 DDraw는 이제는 의미가 퇴색듯.. 쿨럭;; by 봉환(비회원 참견꾼)[[BR]]
  • ExploringWorld/20040308-시간여행 . . . . 15 matches
         할만
         지하철에서 세환이와 오늘을 제목을 정다면, 어떨까 라는 고민을 했다. '워밍업 데이'? '시작날'? 하지만 이런 무미건조 단어를 쓰기에 오늘을 따뜻하게 표현하고 싶었다. 그리고 집에와 Zp서버의 과거를 주로 이야기 '시간여행'이라는 제목을 붙였다. 오늘을 마디로 설명하기에 충분 날이다. 그러나 크게 후회되는 점이 있다. 얼마전 나의 여행기에 '잘못된 이야기'에 대 반성을 쓰고 실천 사항을 적었는데 오늘 후배님들 앞에서 실천하지 않았다. 결과, 다시 번 아까운 시간을 두서없는 이야기로 채우는 우를 반복하였다. 다음주에는 반드시 이야기를 위 '계획'을 세워 가치있고 압축적으로 시간을 써야겠다. --NeoCoin
          아니 무슨 그런 황송 말씀을, 다 재미있자고 하는 일인데 --NeoCoin
         집으로 돌아와 MakeAnotherWorld 라는 세상을 만든다는 거창 은유법보다, 여행을 다는 느낌의 은유로 시작하면 재미있겠다는 생각이 들었다. 그래서 WalkingAroundWorld 나, CyclingWorld 같은 여행이라는 은유의 제목이 더 그럴싸것 같은데, 너희들은 어때? --NeoCoin
          오 좋은 생각이다. 차타고 휙지나가는게 아니라, 자전거를 타거나 걸어다니면서 이것도 기웃 저곳도 기웃을 생각했는데, 그럴게 아니라 새로운 세계를 탐험다는 느낌이 더 좋을것 같다. ExploringWorld 정도면 될것 같다. rename 할까? 또 좋은 의견 없나? --NeoCoin
  • ExploringWorld/20040412-세상읽기 . . . . 15 matches
         [뇌를단련하다]란 책에서 '다치바나 다카시'는 이러 표현이 있다.
         "영문학의 대작을 읽은 적이 없다는 과학자들의 뉴스를 듣고 이들은 동정어린 쓴웃음을 던진다. 그들은 과학자들을 무지 전문가라면서 무시다. 하지만 그들 자신의 무지와 '전문적인 바보' 모습도 사람들을 놀라게 다. 나는 전통적인 문화의 기준에서 높은 수준의 교육을 받았다는 사람들의 모임에 참석 적이 있는데, 그들은 과학자들의 무지에 불신을 표명하는 데 상당히 재미를 붙인 사람들이었다. 내가 도저히 참을 수 없어서, 당신들 가운데 열역학의 제 2 법칙을 설명할수 있는 사람이 몇이나 되느냐고 물었다. 대답은 냉랭하고 부정적인 것이었다. 나는 '당신은 셰익스피어 작품을 읽은 일이 있소?'라는 질문과 맞먹는 과학의 질문을 던졌던 것이다. 그보다 더 쉬운 질문, 이를테면 '질량 혹은 가속도란 무엇인가?'(이는 '당신은 읽을 줄 압니까?'라는 것과 동등 과학상의 질문이다.)라고 물었다면 ... 열 명에 하나가 내가 그들과 같은 언어를 사용 것 정도는 느꼈으리라고 믿는다....가장 현명하다는 사람들 대부분은 물리학에 관 말하자면 신석기 시대 선조들과 거의 같은 수준의 통찰력 밖에 가지고 있지 않는 것이다."...
          * 20m '열역학 제2법칙'이 가진 현실 세계에서의 중요성을 이야기 하고, '왜 전산 종사자들이 몰라도 그들의 일을 할수 있을까?' 에 대 NeoCoin의 견해를 이야기 하였다.
          * 20m NeoCoin 의 오늘 이야기에 대 불신감(?)을 심고 스스로 생각하기를 강조하며 종료.
         || 세환 || 시간이 빨리 갔다. || 치열 시장싸움을 알아서 좋다. || 프로그램 공부 뿐이 아니라, 관심을 가지고 여러 정보를 예의 주시해야겠다. ||
         === 이번 시간에 간 이런 저런 이야기 ===
          전 세상읽기에 표~~ -세환
          하하 사람의 세상읽기라고 표현하고도 싶군. 일단 해놓고 나중에 바꾸지 뭐 --NeoCoin
  • FoundationOfUNIX . . . . 15 matches
          * UNIX 사용법에 대 기초를 알려 줍니다.
          * 몇시간 정도 밖에 못할것을 감안하여, 그렇게 많은 내용을 전달할것 같지는 않고, 실습 위주로 간다히 UNIX 사용법에 대 맛만 보여줄 것을 목표로 잡았습니다.
          * cd ../test4 (.. 이렇게 점 2개는 디렉토리 개 뒤로 가는 효과, 상대 경로의 예)
          * 권 설정하는 명령어 chmod (change mode)
          * 권 주체 (u - user, g - group, o - others, a - all)
          * 접근 권 (r - read, w - write, x - excute)
          * 아까 -rwxr--r--은 (-디렉토리,파일여부 파일은 -, 디렉토리 d)(--- 사용자 권)(---그룹 권)(---다른사용자 권)
          * 권 주는 예제
          * 아마 안할 것임.. 특별일 없으면.. 안함.. ㅡㅡ;
          DeleteMe) 읏.. 휴지통이 더 친숙데..쓰레기통이라 하니까..웬지 거부감이..ㅋㄷㅋㄷ --창섭
          * 필요 내용
          * 간단 쉘 스크립 파일 만들기
          * 먼저 만드는 방법 설명해 준다. 그후 date, ls, 후 자신의 home 디렉토리로 가는 쉘스크립트 파일을 만들게 함
  • NoSmokMoinMoinVsMoinMoin . . . . 15 matches
         || Like Page || 영문/글 지원 || 영문/글 페이지 지원 || . ||
         || Navigation 기본형태 || 하단 검색창, 노스모크 스타일로 커스터마이징 가능 || 상단 검색창. 익스에서 단축키(Alt-Z, Alt-X, \) 지원. NoSmok:양손항해 를 위 디자인 || . ||
         || login || u-id || id/pass || 이건 nosmok 쪽이 더 익숙하고 편리 형태라 생각. 기존 u-id 식 로그인이 사람들 고생 좀 시킨것을 생각하면.||
         || page 별 접근권 || 지원 || 지원 || login 해야만 글을 쓸 수 있는 페이지들 지정가능(nosmok)||
         || 계층 위키 || 지원 || 지원 (1차 레벨) || '/' 구분자 이용시 부모 페이지 이름 자동으로 붙여줌.(단, 계층 위키의 적절 이용에 대해선 NoSmok:HierarchicalWiki 의 글 참조||
         || 부가기능 || Hot Draw Plugin 지원, 간단 벡터 그래픽 첨부 가능. 페이지 미리보기 기능, RecentChanges 에 변경사항에 대 Comment 기능 지원. go 입력창에 새 페이지 작성시 자동으로 이미 만들어진 비슷 이름(Like Page) 페이지들 리스트 보여줌.(1.1 이상) || go 입력창에 새 페이지 작성시 자동으로 이미 만들어진 비슷 이름(Like Page) 페이지들 리스트 보여줌. InterWiki 등록을 위키내에서 수정가능. || . ||
         || . || Header 태그 이용시 자동으로 번호 붙음(해제 가능) || . || 때에따라선 불편 기능. Header 작은 태그들을 꼭 큰 태그 써야만 쓸 수 있으니 쩝||
         기능들에 대해서는 좀 더 알아봐야 할듯. 그리고 또하나 생각할것은, 우리가 자주 이용하는 기능이 좋은 녀석을 골라야 다는점. 둘 다 Python Source 이므로 여차하면 소스수정도 가능할듯. --석천
         ["노스모크모인모인"] 으로 위키를 바꿉니다. 그리고 추후 노스모크모인모인 버전업할때에 차례 더 바꿀 예정입니다. --["1002"]
         전 현재 배포판인 MoinMoin 1.0 을 커스터마이징해서 썼으면 합니다. ''(http://acup.wo.to 에 가보시면 MoinMoin 1.0 을 커스터마이징 위키를 구경할 수 있습니다.)'' ["노스모크모인모인"]에도 현재 욕심나는 기능이 많긴 하지만 MoinMoin 1.0 의 AttachFile 기능이 참 유용하다고 생각하고 있습니다. 그 밖에 Seminar:YoriJori 프로젝트가 다소 정체되어 있다는 느낌이 들기도 것이 이유가 될수 있겠습니다. MoinMoin 1.0 설치 및 커스터마이징은 2 ManDay 정도만 투자하면 가능하리라 생각됩니다. --["이덕준"]
  • PNA2011/서지혜 . . . . 15 matches
          * 사람에 대 노력이 필요. 뛰어난 리더는 이끌기 보다는 스스로 이끌게끔 다.(뒤에서 끌어준다)
          * 자신이 행동이 MOIJ 테이블에 골고루 퍼져있으면 좋은 리더라 할 수 있다.
          * 이걸 들으며 진리는 어디서든 통다라고 생각
          * 나는 동기가 필요 사람에게 정보를 주는 타입인듯.
          * 대안언어 축제에 대 회고가 하나뿐이었다. 조금 아쉬웠음
          * 상대방이 좋아하는 것, 익숙 것부터 시작해라
          * 컴퓨터 밖으로 나가라 : 컴퓨터로 것을 실세계로 가져가라
          * '''나도 즐길 수 있어야다'''
          * 나의 행동에 대 상대방의 반응 예상 -> 실제 반응 비교
          * 입으로 이러니 저러니 싸우지 말고 번 실행해보자. 그 다음 다시 얘기해봐요:)
          * 의견을 받았을 때 구현을 생각하지 말고(머리아프잖아요) 일단 아이디어들을 수용 다음, 선택하고 구현은 그 다음에~
          * 뒤편에 자신의 연락가능 정보를 적어 비행기로 날린다!
          * 회고에 대 회고 : 왜 나는 좀더 일찍 이런 활동을 하지 않았나 하는 열등감을 가지고 있었는데, 동기가 부족 사람에게는 어떤 좋은 정보를 주어도 쓸모가 없다는 것을 깨달음.
  • PairSynchronization . . . . 15 matches
         하나의 대상을 놓고 둘이서 서로 번갈아가며 그리는 방법. 이때 그림은 쉽게 변경할 수 있어야하므로 화이트보드를 쓰는것이 좋다. ''' ''적합 페이지 이름 찾습니다.'' '''
         NoSmok:PairDrawing 이 있긴 데, 여기서는 개발자들끼리의 대화이므로 다른것을 써도 좋겠네요. PairModeling? --["1002"]
         ["sun"]이 PairProgramming을 하기에 앞서 CrcCard 섹션을 가지게 되었는데, 서로의 아이디어가 충분히 공유되지 않은 상태여서 CrcCard 섹션의 진도가 나가기 어려웠다. 이때 - 물론, CrcCard 섹션과는 별도로 행해져도 관계없다. - 화이트보드와 같은 도구를 이용해서 서로가 생각 바를 만들어나가면서, 서로의 사상공유가 급속도로 진전됨을 경험하게 되었다.
          1. 이야기 하고자 하는 대상을 정다.
          1. 순서를 바꿔가며 하나의 개념을 화이트보드에 그리고, 각 개념은 선으로 그어 표시다. See Also: MindMapConceptMap
          * 번에 하나의 개념을 나타낼 수 있고, 하나의 선을 연결 할 수 있다.
          * 다른 사람은 하나의 개념을 나타내거나, 이미 나타나 있는 개념에 선을 연결하고 설명함으로써 턴을 대신할 수 있다.
          1. 더 이상 개념이나, 선의 연결이 어려울때까지 계속다.
          1. 일방적인 명(특히 Expert)에 의 설계를 지양할 수 있다. 사람은 자신의 틀 안에서 빠져나와 자신을 쳐다보기 어렵다. 즉, 자신이 생각하는 디자인의 틀을 벗어날 계기를 마련해준다.
         ["sun"]은 기존 프로그램의 업그레이드 작업에 새로 명의 파트너와 함께 둘이 작업하게 되었다. XP를 개발에 적용해보기로 하고, 프로그램 디자인에 CrcCard 섹션을 이용하고자 했다. 처음 CrcCard 섹션을 진행해서 그런지, 별다른 진척이 보이지 않아 우선 화이트보드를 이용해서 개념을 정리해보고자 다른 색의 마커를 들고 번에 하나씩 개념을 그리고 선을 이어 나가며 디자인을 했다.
          * 자신의 생각과 일치하지 않는 개념이나 연관관계가 나올시, 바로 피드백을 하고 서로 토론을 후 화이트보드에 개념이나 관계를 추가해 나가게 되므로 생각 공유의 시간이 빨라졌다.
          * 부가적인 장점: 회사원들에게만 적용되겠지만, Pair의 작업은 집중해서 이루어지게 되므로 금방 지치게 되는 경향이 있다. 이때 회의실에서 쉬더라도, 누가 들어왔을때 화이트보드에 가득 디자인을 보면 열심히 일하는중이라 생각해준다. :)
         상민이랑 ProjectPrometheus 를 하면서 CrcCard 세션을 했을때는 CrcCard 에서의 각 클래스들을 화이트보드에 붙였었죠. 그리고 화이트보드에 선을 그으면서 일종의 Collaboration Diagram 처럼 이용하기도 했었습니다. 서로 대화하기 편 방법을 찾아내는 것이 좋으리라 생각.~ --["1002"]
  • ProgrammingLanguageClass . . . . 15 matches
         수업내용: 프로그래밍 언어의 구현 & 구성요소에 대 전반적 이해.
         프로그래밍 언어를 배우는 것은 사고와 표현의 방식을 하나 더 배우는 것이다. 따라서, 설사 해당 언어로 프로그래밍을 할 기회가 별로 없다고 해도, 판이 언어를 하나 더 배우는 것은 가치있는 일이다. 동시에 무슨 언어를 배우느냐, 어떤 신택스를 익히느냐는 것은 크게 중요하지 않다. 언어는 변하고 사멸하고 신생하며, 유행도 바뀐다. 그보다 그런 언어 저변에 깔려있는 다양 패러다임을 접하고 충분히 이해하고 적용할 수 있어야 다. 하지만 이게 가능하려면 구체적인 언어라는 채널을 통하지 않을 수가 없다.
         그러므로, 이런 ProgrammingLanguageClass가 중요하다. 이 수업을 제하면 다른 패러다임의 다양 언어를 접할 기회가 거의 전무하다. 자신의 모국어가 자바였다면, LISP와 Prolog, ICON, Smalltalk 등을 접하고 나서 몇 차원 넓어진 자신의 자바푸(Kungfu의 변화형)를 발견할 수 있을 것이며, 자바의 음양을 살피고 문제점을 우회하거나 수정하는 진정 도구주의의 기쁨을 만끽할 수 있을 것이다. 가지 언어의 노예가 되지 않는 길은 다양 언어를 비교 판단, 현명하고 선택적인 사용을 할 능력을 기르는 법 외엔 없다. --김창준
         꼭 그렇지는 않습니다. 다양 언어를 배우고, 특히 훌륭히 디자인된 언어(각 요소들이 서로 상충하지 않고 유기적으로 조화되어 하나의 건강 생태계를 이루는)를 충분히 접하게 되면, 아무리 문제있는 언어를 쓰게 되더라도 "선택적"인 사용이 가능해집니다.
         수업시간때 기억나는건 언제나 비난의 대상인 Fortran, 모든게 완벽 Ada, 그 이후 실용적인 선택 C++, Java. --석천[[BR]]
         석천이 형말에 동의.. 왠지 모르게.. 책만 읽어 주는 듯.. 기분이 들어.. 잠만 잤다.. 독학이 나을듯.. 혼자 공부할땐 재밌기만 하던데.. 교수님 수업들을때는 왜이렇게 졸리는지.. -_-a -- 영현[[BR]]
         중앙대학교 컴공과에 컴파일러 수업이 폐강되는 경우가 많은데, 컴파일러와 PL 둘 중 하나는 프로그래머가 되건, 전산학자가 되건 반드시 필요 교양이다.
         아쉬운 부분은 프로그램 언어론이란 과목임에도 불구하고, 설명의 비중은 많이 쓰이는 언어일수록 높았던 점입니다. 함수형언어(FunctionalLanguage)는 기말 고사 바로 전 시간에 시간만에 끝내려다가, 그나마 끝내지도 못하고 요약 부분만 훑었습니다. 그 밖의 종류에 대해서는 거의 절차적 언어, 특히 C계열 언어를 설명하다가 부연 설명으로 나오는 경우가 많았습니다. 논리형언어(LogicLanguage)에 대 설명은 거의 못 봤습니다. 어차피 쓰지 않을 언어라고 생각해서일까요.--[Leonardong]
  • StarCraft . . . . 15 matches
         스타크레프트에서 보면 종족은 여러 종류의 유닛을 가지고있다.
         그리고 몇몇 유닛들 끼리는 공격력이나 방어력의 래밸을 공유하기도다.
         이들은 각각 고유의 공력력과 방어력을 가지고 있고, 또 특수 능력도 가지고 있는 제각각의 유닛이다.
         내가 1학년때 C++을 배우면서 클래스를 이해하는데 상당 어려움을 느꼈다.
         그때 선배(오기정)가 클래스에 대해 설명하면서 스타크래프트를 예로 들어주셨고 나를 비롯 많은 사람들이
         클레스에 대해 이해하기 시작 기억이있다.
         그때의 기억을 되살려 클레스의 기본적이고도 강력 기능중 하나인 상속성을 쉽게 이해하고 활용할수 있도록 문제를 생각해 봤다.
         늘 그렇듯이 대부분의 사람들이 물리적 대상과 객체를 대응하는 고정관념에 빠져있어서 문제가 됩니다. 관계, 개념 등도 객체가 될 수 있다는 발상전환을 가능케 해주면 좋겠지요. 처음에 이런 사항만 넌지시 알려주고 디자인 하게 합니다. 그러고 나서, 일단 학생들의 디자인으로 개발 것을 놓고, 같이 토론해 보고(이 때 선배는 뒤에 물러서 관찰만 함) 다시 번 새로 디자인하게 합니다. 그리고 이번에는 선배가 디자인 것을 후배들이 최종적으로 디자인 것과 동등하게 같이 놓고 토론해 봅니다. 이 때 중요 것은 선배의 것이 마치 "궁극적 해답"인 마냥 비치지 않도록 주의하는 것이겠죠. (디자인 시에는 KentBeck과 WardCunningham이 최초 교육적 목적에서 개발 CrcCard를 사용하면 아주 훌륭 결과를 얻을 것입니다.) --JuNe
  • SummationOfFourPrimes/1002 . . . . 15 matches
         맨 처음에 문제를 읽고 대략 연습장에 문제에의 각 변수들이 될만 부분들을 보았다. 일단 소수들의 합이라 하고, 4자리의 합이라고 다. 대략 pseudo code 를 다음와 같이 작성해보았다.
         합이 x 인 수 조합리스트에 대해 어떻게 구할까 궁리하던중, 소수리스트를 먼저 만들고 소수리스트에서 4개를 골라서 합을 구 결과가 n 인지를 비교하는 방법이 더 빨리 구현할 수 있겠구나라는 생각이 들었다. 이에 대해서 TDD로 진행.
         그리고 소수리스트로부터 4개를 구하는 방법에 대해 생각하다. 맨 처음에 대해서는 중복을 허용하면 안되는 줄 알고 구현하였다. 그러다가 문제에서 중복을 허용다는 사실을 알고 다시 구현.
         스펙상 10000000 값 내에서 4초 이내에 답이 나와야 다. 이에 대해서 현재의 병목지점에 대해 profiling 을 해 보았다.
         최적화 이후 50000번 기준으로는 병목에 대 변별력이 없다.
         비록 inlining 을 시켰지만 여전 것은 selectionFour 부분이다. selectionFour 가 실행되는 경우의 최악의 경우는 (n 까지의 소수갯수)^4 가 된다. 이를 좀 더 smart 하게 할 방법이 없을까.
         소수와 관련하여 좀 더 똑똑하게 검색할 방법이 존재하리라 생각다.
         가장 간단 아이디어로, 4번째 값에 대해서는 바로 계산을 할 수가 있겠다.
         inlining 을 하지 않았음에도 6.4초대를 기록하였다. inlining 을 하면 5.7초대를 기록다.
         === 일 대비 느낀점 ===
          * 이전에도 느낀 점이지만, 가지 문제를 아주 깊게 풀어보려고 하는 것도 여러가지로 학습이 된다.
          * 과정에 대 기록. 무언가 잘 관리가 안되는 상황이 오래될때, 일들과 사실들을 기록해보는 것은 상당히 도움이 된다.
          * 이러 문제의 경우 특정 알고리즘의 아주 최적화 된 결과물이 답이기 보다는, 무언가 다른 차원에서 봤을때 너무나 빨리 답이 나오게 되는 경우일것이라 추측. 전혀 다른 방법의 어프로치도 생각해보고 싶다.
  • TFP예제/WikiPageGather . . . . 15 matches
         집에서 모인모인을 돌리다가 전에 생각해두었었던 MindMap 이 생각이 났다. Page간 관계들에 대 Navigation을 위. 무작정 코딩부터 하려고 했는데 머릿속에 정리가 되질 않았다. 연습장에 이리저리 쓰고 그리고 했지만. -_-; '너는 왜 공부하고 실천을 안하는 것이야!' 공부란 머리로 절반, 몸으로 절반을 익힌다. 컴공에서 '백견이 불여일타' 란 말이 괜히 나오는 것은 아니리라.
          * '생각할 수 있는 가장 단순 것부터 생각하라.' 디자인은 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 흐흐..) 암튼. 나는 모인모인소스를 보면서 제목 검색 관련 일부 코드를 짤라서 쉘에서 간단히 실행해보고 검토하고 실제 소스에 적용해볼 수 있었다.
          self.assertEquals (self.pageGather.WikiPageNameToMoinFileName ('''글테스트'''), '''_c7_d1_b1_db_c5_d7_bd_ba_c6_ae''')
          self.assertEquals (self.pageGather.GetPageNamesFromPage (), ["LearningHowToLearn", "ActiveX", "Python", "XPInstalled", "TestFirstProgramming", "글테스트", "PrevFrontPage"])
         집에서 돌리고 있는 모인모인 디렉토리 기준임. (Python shell 인 IDLE 글 패치를 해주지 않아서 그런지 원래는 글이 깨져서 나온다. 약간 편집했음.)
         pagename : 글테스트
         위의 예에서는 해당 모듈에서 FrontPage 화일을 직접 open 했다. 위키에서 FrontPage가 바뀌었을 경우에는 해당 알고리즘이 올바르다 하더라도 테스트 코드에서 에러를 유발할 것이다. - 테스트를 위 FrontPage 화일을 따로 빼두는 방법이 있겠군. -_-; (문제를 명확하게 해두면 해결방법이 도출되기 쉽다. ^^;)
  • UnityStudy . . . . 15 matches
          * 매주 이용 ppt, 예시 프로젝트, 리소스 외 기타 자료를 전부 여기에 올리겠습니다.
          * Unity 3D 이용해서 간단 게임을 만들어 보자.
          * Cube와 Sphere를 Scene에 등록다.
          * 축을 이용해서 객체의 position와 rotation 등을 조절할 수 있다. 또 크기도 조절이 가능하다.
          * 객체가 방향키를 이용해서 움직일 수 있도록 하는 코드를 MonoDevelop 툴을 이용, Javascript로 작성해서, Cube에 등록다.
          * 스플래시 이미지로 사용할 이미지를 Asset에 드래그 드롭으로 등록 다음, Build Setting에서 Splash Image에서 설정할 수 있다.
          * 스플래시 이미지는 유료 버전이 아니면 크기 조절에 제이 있다.
          * 우선은 간단 작업부터~ ㅇㅅㅇ 그리고 난이도 확? (...)
          - 게임의 골격을 이룸. 실제 동작에 대 구현
          - Cube를 등록, Asset에 Texture 이미지를 등록 후, Cube에 입힌다.
          - Camera의 포지션을 이동하고, Point Light를 등록 뒤, Cube에 빛을 쪼인다. 빛의 범위는 Range로 조정 가능하다.
         * Prefab -> 객체. 비슷 형질의 개체들을 여러 개 만들 수 있다.
          - Asset에서 Prefab을 만든 뒤에, Object를 Prefab에 드래그해서 등록다. Prefab에 등록된 모든 Object에 동일 설정(텍스쳐 등)이 등록된다.
          * 얘네들이 후기를 이상 위치에다가 쓰고 있다ㅋㅋㅋ - [김민재]
  • UserStory . . . . 15 matches
         사용자의 요구사항에 대 간략 기술. XP의 다른 과정들이 그렇듯이 (이건 아마도 XP 방식으로 진행하는 팀들의 특징인듯. -_-a Case Tool 보다는 간단 카드와 펜을 선호함.~) 보통 인덱스 카드에 기술을 다.
         Wiki:EngineeringTask 란 해당 Story를 구현하기 위해 실질적으로 해야 할 일들에 대 서술이다. UserStory 의 각 항목이 비교적 사용자 관점에서의 서술이라 다면, Wiki:EngineeringTask는 구현해야 하는 Developer들 관점에서의 서술이다.
         UserStory 들을 작성 뒤에는 Wiki:EngineeringTask 를 결정하고, estimate (해당 작업에 대해 얼마나 걸릴 것인가에 대 예측) Story Point 와 Task Point 를 기준으로 적절히 계산해 나간다.
         매 Iteration (개발주기)를 진행할 때마다 실제로 진행 Story들을 계산, 다음 estimation에 이용하게 된다.
         estimate 를 하기 힘든 경우는 두가지가 있다. 하나는 해당 Story 가 애매 경우이고 하나는 해당 Story의 구현이 전혀 생소 부분인 경우이다. 해당 Story 가 애매 경우에는, 주로 Story에서 해야 할일이 많은 경우이다. 해당 Story를 작은 Story들로 나누어서 생각해본다. 구현이 전혀 생소 부분에 대해서는 SpikeSolution을 해본뒤 estimation 하는 방법이 있다.
         물은 물이고 산은 산이다에서 물은 물이 아니고 산은 산이 아니다로 가고 난 후에야 비로소 다시 물은 물이고 산은 산이다로 올 수가 있죠. 항상 초월적으로 모두 다 같다 혹은 모두 다 다르다는 식으로 말하는 태도는 공부를 하고있는 학생으로서는 상당히 위험하지 않을까 하는 우려를 해봅니다. Wiki:UserStoryAndUseCaseComparison 에 양자의 유사점, 차이점에 대 논의가 있습니다. 참고로 Use Case의 대가라고 불리우는 코번은 다음과 같은 말을 합니다.
  • VisualStudio . . . . 15 matches
         VisualStudio 는 Microsoft 에서 개발 Windows용 IDE 환경이다. 이 환경에서는 Visual C++, Visual Basic, Visual C# 등 여러 언어의 개발환경이 함께하며, 최신 버전은 [Visual Studio] 2012이다.
         학교에서는 2008년까지만 해도 Visual C++ 6.0을 많이 사용했으나 2008년 2학기에 홍병우 교수님이 Visual Studio 2008 사용을 권 것을 계기로 최신 버전 환경이 갖추어졌다.
         VisualC++ 6.0은 VS.NET 계열에 비하여 상대적으로 버그가 많다. 가끔 IntelliSense 기능이 안될때가 많으며 클래스뷰도 깨지고, 전체 재 컴파일을 필요로하는 상황도 많이 발생다. ( 혹시, Debug Mode에서 돌아가다가, Release Mode에서 돌아가지 않는 경우도 있는데 보통 이는 프로그램에서 실수 태반이다. 그러나 간혹 높은 최적화로 인해 돌아가지 않을때도 있을 수 있다. )
         VisualAssist 를 사용다면, Code Re-Parsing 기능을 실행해준다.
         C++ 에서는 자바에서의 import 의 명령과 달리 해당 헤더화일에 대 pre-processor 의 기능으로서 'include' 를 다. 그러다 보니 해당 클래스나 함수 등에 redefinition 문제가 발생다. 이를 방지하는 방법으로 하나는 #ifndef - #endif 등의 명령을 쓰는것이고 하나는 pragma once 이다.
         단, pragma 전처리기는 de facto라서 정식 표준이 아니다. 따라서 사용에 대해 유의할 필요가 있다.[* pragma는 once외에도 다른 option도 존재다.]
         VS.net 에서는 프로젝트 상위 개념으로 솔루션이 존재합니다. (6.0도 그랬나? WorkSpace라는 녀석이 있었던듯... 아무튼~). 여러 프로젝트를 솔루션에서 관리하는 게 상당히 편해 졌더군요. 시작 프로젝트를 설정하고, 프로젝트의 컴파일 순서를 결정하는 일도 할 수 있고요.
         기본적으로 지정된 경로 밖에서 라이브러리를 사용해야 하는 경우가 있다. 몰랐다가 링크를 거느라 참 고생 김에 여기에 정리해본다.
          * Show directories for:(다음 디렉토리 표시:) 드롭 다운 메뉴에서 Include Files(파일 포함)를 선택하고 include 파일이 위치 디렉토리(예: C:\라이브러리폴더\include)를 입력합니다.
          * Show directories for:(다음 디렉토리 표시:) 드롭 다운 메뉴에서 Library Files(라이브러리 파일)를 선택하고 라이브러리 파일이 위치 디렉토리(예: C:\라이브러리폴더\lib)를 입력합니다.
          * Show directories for:(다음 디렉토리 표시:) 드롭 다운 메뉴에서 Executable Files(실행 파일)를 선택하고 실행 파일이 위치 디렉토리(예: C:\라이브러리폴더\bin)를 입력합니다.
          * 기본 도구 표시줄에서 Project(프로젝트) » Properties(속성) » Linker(링커) » Input(입력)을 선택하고 "Additional Dependencies(추가 의존관계)" 행에 필요 라이브러리 파일 (예: abcd.lib)을 추가합니다.
  • WebMapBrowser . . . . 15 matches
          * 처음 시작할때는 실제로 브라우저를 만드는것까지는 아니고, 간단하게 웹에서 보여주는것으로 시작다.
          * 현재의 브라우저는 단순히 점에서 점으로 가는 1차원이다. 이를 노드와 노드의 관계로 보여주는 2차원으로 확대다. 즉 패러다임의 전환
          * 여기에 또 집합 지성을 활용할 수도 있다. 각 노드(웹 페이지) 들을 거쳐간 사용자들이 어떤 노드로 이동하는지 통계도 나오게 하여서 자신과 비슷 관심사 노드(웹)을 방문 사람이 어떠 사이트로 이동하는지를 볼 수 있게 된다.
          * 또 자신이 지금까지 방문했던 사이트들이 일종의 지도로 작성되어 있어서, 어떠 링크를 통해서 어떠 링크로 이동했는데 링크드 그래프로 보여준다. 이로써 자신의 웹 방문에 대 지도를 만 들 수 있게 된다.
          * 또 각 노드에 자신의 태그도 부착 할 수 있게 하여서 각 노드들이 여러 태그로 분류 될 수 도 있게 다.
          * 추후에 파이어볼 검색 프로젝트에서 역링크 정보까지 제공해주게 되면 웹에서 다른 웹으로 나가는 엣지 뿐만 아니라 다른 노드에서 현재 노드로 들어 오는 엣지도 볼 수 있고, 또 역링크를 바탕으로 각 노드들의 관계도를 1단계 2단계 이상으로 파악할수 있고, 인기 순위도 파악다.
  • ZeroPage . . . . 15 matches
         [제로페이지]는 공부하고자하는 뜻이 있는 사람들이 모인 일종의 인력의 장입니다. 그 안에서 뜻이 같은 사람들을 만날수 있기를, 또는 자신이 아는 것에 대해 다른 사람들에게 전달해줄수 있기를, 또는 자신의 부족 점을 다른 사람들로부터 얻어갈 수 있었으면 합니다. 개인의 이익들이 모여서 집단의 이익을 만들어가며, 집단의 이익을 추구하는 것이 곧 개개인들에게 이익이 되는 경지가 되었으면 합니다.
         여러가지 힘든 여건 속에서도 뜻이 있는 사람들의 수고와 노력으로 지금까지 이어져 온라인/오프라인 활동을 계속하고 있습니다. 지금까지의 ZeroPage 는 ZeroPage를 거쳐간 사람들이 만들어놓은, 혹은 현재 활동중인 사람들의 과정에 대 결과이며, 다시 많은 사람들에 의해 재창조되고 새로운 모습을 만들어나가게 될 것입니다. 언제나 '현재 진행형' 중인 학회이기를. 이 정의 또 사람들이 스스로 깨뜨리고, 더 좋은 방향으로 바꾸어나가기를.
         현재는 02년도부터 도입 wiki 시스템을 통하여 각 프로젝트나 스터디를 진행할때마다 문서 산출물을 만들어 내어 양질의 정보들을 축적해 나가고 있다. 이 시스템은 스터디와 프로젝트를 팀으로 진행할때 공동 knowledge repository 의 역할을 함으로서 진행하는 회원 들에게 도움이 되고, 추후에 다른 회원이 비슷 스터디나 프로젝트를 할때 그 wiki 페이지를 참고 함으로써 같은 곳에 쏟을 노력을 줄이고, 그 wiki 페이지를 다시 키워 나감으로써 지속적으로 양질의 정보를 축적하여왔다. 이로서 제로페이지의 wiki 시스템은 현재의 회원과 학교를 떠난 회원그리고 앞으로 제로페이지에 들어올 회원들 모두에게 도움이 되는 시스템으로서 자리매김하고 있다.
         ZeroPage 라는 명칭에 대해서는 91학번 이찬근님(현재 중앙대학교 컴퓨터공학부 교수.)이 최초로 제시 것으로 알려져있음. (from 테크니카(김승태) )
          * ZeroPage 가이드북 발간 - '''코드의 바다를 여행하는 ZeroPager를 위 안내서''' [https://drive.google.com/file/d/0B5V4LW7YTwbjeDdDZk9ITmhvWmM/edit?usp=sharing 가이드북]
          * 2014 양대 지능형 자동차 대회 (1차 7/17, 2차 8/30)
          * team 'ZeroPage' : [김태진], [조광희], [안혁준], [김성], [이진규], [곽재효], [최영재]
          * 2013 ACM_ICPC 국 온라인 예선
          * 2012 이음 공모대전, ITem 서울어코드 공모전
          * 디지털 증거 수집을 위 디지털 포렌식 프레임워크 : [정의정]
          * 2012 ACM_ICPC 국 온라인 예선
          * team 'HONGHAI' 63등 : [정진경], [정의정], [고종]
          1회 삼성 컴퓨터 명인 마당
  • ZeroPage성년식/회의 . . . . 15 matches
          * 각 기수의 연락 가능 선배님들께 우선적으로 연락드린다.
         || 01 ~ 06 || 영동선배, 승선배에게 연락드려 알아보기 ||
          * 선후배가 함께 팀을 이뤄 진행하는 훈훈 레크리에이션!!
          * 현 회장의 마디
          * 다시 독촉,, 연락 되시고 참여하신다는 분에 에 onoffmix에 신청 유도
         04. 대기업가면 코딩 기계될 가능성이 농후가요?
         15. 후원의 중요성은? (푼만..)
          * 표지는 연색으로
          * 전화번호 여쭤보기(연락처가 손상되어 복구를 위 것)
          * 파트너와 3분
          * 서로 종이를 교환하여 발견 것을 적어준다
          * 나에 대해 새롭게 발견 것을 공유하는 시간
          * 나중에 발표하여 다른 팀 케이크 중에 표씩 투표
          * 주차관리실에서 하루권 5000원에 판매합니다. 다만 아무테나 막 팔지는 않고 시설관리팀에 문의해야할 거에요 - [지원]
          * 고속터미널은 안됩니다. 지하상가 리모델링 다고 지금 거의 다 문닫았어요 - [지원]
  • ZeroWikiVsOneWiki . . . . 15 matches
         요 몇달간 가지 목적(위키를 처음 사용하는 분들과 함께 새로운 규칙을 만들어가며 위키 사용에 익숙해지자는 것)을 위해서 제로위키와 원위키를 나눠서 썼는데, 그 결과나 앞으로 이대로 좋은지에 대해 토론해 봅시다. 그리고 다시 원위키와 제로위키를 합칠지 그대로 둘지도 생각해봅시다.
         제 생각에 결과는 조금 부정적이었던 것 같네요. 우선 원위키에 새로운 페이지가 많이 안 올라오는 데다가, 페이지가 만들어져도 참여를 잘 안 하게 된달까... 그래서 일단 본래 목적대로 새로운 규칙을 만들며 익숙해지자는 취지는 이루지 못 거 같네요. 그래서 다시 제로위키 하나만으로 돌아가는 것이 낫지 않을까요? 여기서 갑자기 참여가 많아지리라고는 기대할 수가 없을 것 같네요. -[영동]
          동의 표. 여러가지를 시도해 보았지만 나로서도 별로 차이를 느끼지 못했다. -[인수]
         위에 보이는대로 가지 목적으로 원위키를 나눴는데, 그 목적을 '''처음'''사용하는 분들이 잘 모르고 있지는 않았나? 아니면 많은 다른 사용하는 분들도 모르고 있지는 않았나? 나는 '''처음'''쪽인지 '''함께'''하는 쪽인지 알지는 못하겠지만, 처음에는 생각하고 있었으나 언제부터인가 '''목적'''을 잊고 있었다. 항상 들어가는 페이지(주로 [실시간멀티플레이어게임프로젝트])만 들어가다보니 생긴 현상일지도 모르겠다. 아무튼 '''목적'''잘 알려지지 않았다고 생각다.
         때문에 목적을 잘 알리고 더 시험해볼 거라면 원위키를 유지해야 다고 생각다. 그렇지 않다면야 원위키가 필요하지는 않으리라 생각다. 이 페이지도 영동이형 말대로 참여가 없다면, 토론이 이루어지기는 힘들겠지만 말이다. -[Leonardong]
         OneWiki 의 목적중, 신입 회원분들이 ZeroWiki를 쓰면서 그간 쌓여 있는 것들을 보면서 짖눌린 느낌을 받지 않을까 해서 였습니다. ZeroWiki는 내부 포멧이나, 내용이나 암묵적으로 무거움을 가지고 있다는 생각이 드는 걱정으로 OneWiki를 열고 새 인원들의 원할 실험의 장으로서 그 역할을 하기를 바랬던 것이지요.
         아쉽게도 자유롭게 쓰면서 의견의 충돌이나, 논의등을 이루며 발전에 나아가는 이상적 상황은 아직은 오지 못것 같습니다. 시기 적절함을 보아서, OneWiki가 ZeroWiki 먹어버리거나 그 반대의 형태로 쪽이 사라져 버리는 운명일까요?
         가지더, 오프라인 활동의 저조는 곧바로, 온라인 활동의 저조로 이어집니다. 시험, 공부에 치여 사는 학생들에게 학교 공부외에 서로 도우며, 배우고 닦을수 있는 것은 어려운 것일까요.
         새로운 스터디 그룹들이 많지 않았던 것과 그나마 생겼던 스터디 그룹들의 활동이 저조것도 원위키위 목적을 이루지 못 큰 이유중 하나인것 같습니다.. --민수
         활동 상황을 보면, ZeroWiki의 압박감때문에 잘 안썼다기보다는, 그냥 안 쓴듯 느낌이 듭니다. --[인수]
  • html5/richtext-edit . . . . 15 matches
          * HTML5는 리치텍스트 편집용 API를 표준으로 규정다.
          * 내용 편집이 불가능 요소(div등)를 편집하게 하기 위 API.
          * contenteditable의 상태는 상속되므로 편집가능 요소 하위의 요소는 모두 편집가능
         - 자바스크립트를 이용 편집 속성 정하기 -
         innerHTML : HTML태그를 포함 문자열
         = 선택 범위 조작 =
          * anchorNode : 선택을 시작 위치에 있는 요소의 DOM노드 가져옴
          * anchorOffset : anchorNode 안에서 선택을 시작 위치의 오프셋 반환
          * focusNode : 선택을 종료 위치에 있는 요소의 DOM노드 가져옴
          * focusOffset : focusNode 안에서 선택을 종료 위치의 오프셋 가져옴
          * collapse(parentNode, offset) : 지정 요소(parrentNode)안의 지정 위치(offset)으로 커서를 이동시킨다
          * Selection 객체에 toString사용하면 선택 범위의 문자열(HTML제외)가져옴
          * 조작 내용 이력 기록 undoManager가 저장(최상위 객체) 상당히 간단
  • radiohead4us/Book . . . . 15 matches
          노르웨이의 좌파정치와, 국제 정세, 국의 현실등을 잘 보여주고 있는 책이다. 책을 읽게되면 노르웨이에 대 막연 환상이 떠오른다. 모두가 대중교통수단을 타고 출퇴근을 하고, 자가용은 아주 가끔 이용다. 그들은 어떠 행동을 하기 전에 ''나보다 남을 먼저'' 를 생각하는것 같다. (참 부러운 대목이다). 지하철을 탈 때에도 일일이 검표를 하지 않음에도 불구하고, 무임승차를 하는 사람은 거의 없다고 다. 직업에 대 귀천도 없으며, 버스기사나 대학교수나 사회에서는 같은 대우를 받는다. 그리고 또.. 환경오염이 거의 없다고 다. 흑흑 부러워.
          70년간 좌익 세력이 정권을 잡았다고 하던데.... 그래서 그런건가. 굉장히 안정되어있는것 같다. 그곳에서는 권위라는 것을 찾아볼 수 없다. 국왕도 국민들과 함께 겨울스포츠를 즐기고 같이 어울린다. 가지 충격으로 다가온 것은, 그곳에서의 대학의 모습이다. 학생들이 자유롭게 교수의 의견에 의의를 제기하고, 너무나도 자유롭고 창의적인 분위기에서 수업을 진행다. 우리나라처럼 '''give>take''' 가 아닌 '''give<take''' 인것 같다. (역시 공부할때는 외국물을 먹어야다)
          인권탄압또 거의 없다고 다. 오죽하면, 주변국가에서 노르웨이로 와 일부러 죄를 짓는다고 할까.. (노르웨이의 감옥에는 차가운 독방도, 간수도 없다. 사진을 보면 그냥 자기 집에서 사는것과 별반 다를다가 없다. 그리고 원하는 기간동안 외출신청을 하면 복무기간중에 집에도 찾아갈수 있다고 다!)
          노르웨이처럼 유럽에서도 복지제도가 잘 되어있는 나라도 결국 그 복지를 떠받치고 있는 것은 제3세계 국가의 희생이라는 대목을 읽었을 때에는 ''아...!'' 하는 탄식이 나왔다. 하긴 피버노바를 만들때 동남아 어린이들이 하루 12시간씩 노동을 했다니 뭐.. (나이키나, 그런 회사들도 마찬가지인것 같다). 세상이란 참으로 아이러니것 같다. 아니면.. ZeroSum 게임인가.. 이곳에서의 복지는 저곳에서의 희생.. 으아 모르겠다.
  • zennith/MemoryHierarchy . . . . 15 matches
          상위 계층과 하위 계층사이에는 병목현상이 존재다.
          순차적으로 구성된 데이터의 흐름이 필요 경우가 있다. 그러므로, 번 하위 계층에서 데이터를 가져올 때, 연속된 데이터의 unit 을 가져올 경우, 순차적인 다음번에 위치 데이터가 요구될때 하위 계층에 다시 접근하지 않아도 된다.
         효율성에 따라 메모리는 계층구조로 이루어지며, 상위계층일수록 빠른 속도를 보장하며, 하위계층일수록 저렴 가격을 보장다.
          * 실행중에 요구되는 모든 데이터 값들이 동시에 가장 CPU 에 근접 계층에 존재할 수 있는 것은 아니다.
         레지스터는 메모리 계층구조에서 가장 상위 계층으로서, 가장 빠른 속도와, 가장 적은 capacity 를 제공다. 보통 개개의 레지스터는 그 프로세서의 word 크기이며, 현재 주로 사용되고 있는 인텔 i386 계열 프로세서들의 범용 레지스터의 크기는 32bit 이다.
         요즈음의 RISC 구조 프로세서에서는, 모든 연산의 연산자들로 레지스터만 허용하므로, 이 제된 숫자의 레지스터들을 어떻게 관리하느냐가 성능 향상의 주안점이다. 가령, 빈번하게 요구되는 변수는 계속 가지고 있는다던지, 아니면 동안 쓰임이 없는 변수를 레지스터에서 버린다던지 하는 일이다. 물론, 이 일(optimal register allocation)은 컴파일러에서 담당다.
         캐쉬의 목적 : 어떻게 하면 최대 메모리 참조를 적게하고 레지스터로 옮길 수 있을까.
         가상 메모리의 목적 : 그래.. 메인메모리까지는 참을 수 있어. 참을 수 있다고.. 그런데, 최대 디스크까지 가는일만은 피해보자.
         Q: Spartial Locality의 의미는 하위계층에 이왕 번 접근하는거 그때 유닛단위로 묶어서 여러개 가져와서 나중에 필요할때 쓴다는 말인가여? 그렇다면 그렇게 유닛 단위로 묶는 기준은 뭐에여? - 상협
          A: 각각의 계층마다 다릅니다. 캐쉬에서 쓰이는 unit 과 가상메모리에서 쓰이는 page 의 크기 차이는 큽니다. 다만, spartial locality 를 위해서 사용된다는 점은 같겠죠.. 좀더 상세 설명을 원하신다면.. 제게 개인적으로 물어보시거나, 아니면 공부 하시길 -["zennith"]
  • 같은 페이지가 생기면 무슨 문제가 있을까? . . . . 15 matches
          * 주제의 분산, 주제가 곳에 모여 있다는 장점이 감소 될 것이다.
          * 일일이 고치기보다는 손이 번이라도 덜 가는 구조가 더 편하다고 생각합니다.대신 주제가 분산되면 페이지를 나누는 작업은 해주어야 할 것 같네요. -[Leonardong]
          * 논의를 읽다 보니 새로 생각나서 적어봅니다. 중복 페이지가 생긴다면 발견자가 고칠 때 사람마다 기준이 달라서 번에 해결이 되는 것이 아니라, 이사람은 이렇게 고치고 저사람은 저렇게 고쳐서, '''쉽게'''정리가 안 되지 않을까 싶네요 - [Leonardong]
         무엇(What-손이 번 이라도 덜 가는 구조)인지는 알고, 이것은 저도 전제로 삼는 지향점 입니다. 이야기 할 발전적인 방향은 어떻게(How-그 구조로 어떻게 만들까?)를 논하는 것 이라 생각합니다. 제가 너무 함축적으로 글을 작성해서 풀어 씁니다.
         [현재 위키에 어떤 습관이 생기고 있는걸까?]의 공원 길의 예제와 같이 중복 페이지가 생기고, 발견자(위키 사용자-WikiGnome)가 중복 페이지를 두장 고칠 필요가 느껴질때 두장 해결해나가는 일종의 아래에서 위로(BottomUp)의 해결 방식을 이야기 하는 것입니다.
         타 위키에서 비슷 논의들을 보면서 이 방법이 적당하다는 생각합니다. [Leonardong]의 어떻게는 무엇인가요? ''페이지를 생성할때, 검색해서 찾아 중복 페이지를 만들지 않는다.'' 가 기본 전략인것 같은데 맞나요? --NeoCoin
          저도 거의 NoSmok 에서 읽었고, 최근들어 http://doc.kldp.org 를 보면서 같은 생각이 듭니다. 그외 링크라면 그외 위키를 기억하기는 힘듭니다. ZeroWiki 에서도 초기에 비슷 토의가 있었던 것 같습니다. --NeoCoin
          제가 읽은 토의는 '''분류'''에 대 토의인데 맞는 내용을 읽었는지 확신이 안 드네요. 일단 생각을 정리해서 써 보겠습니다.
          앞에서도 썼듯 ''페이지를 생성할 때, 검색을 자동으로 해준다. 그래서 검색 결과를 보여주고 페이지를 새로 만들지, 아니면 원래 페이지에 덧붙여서 쓸 지 사용자가 결정하게 다. 그러다면 검색 결과를 무시하지 않는 , 중복 페이지가 줄어들지 않을까''라는 생각이 기본입니다. 검색범위를 페이지 이름으로 할지 전체 글을 대상으로 할 지는 생각을 못 해 보았지만요. 페이지를 손으로 고치는 방식을 대체할 것은 생각 못했지만, 제가 생각 방식은 페이지를 만들기 전에 할 수 있으므로, 페이지를 만들고 나서 해결하는 '''아래에서 위로''' 방식과 혼합해서 쓸 수 있다고 생각합니다. 써 놓고 보니 페이지 이름하고는 빗나간 이야기이긴 하지만 어떻게 손이 번이라도 덜 가는 구조를 만들까 하다 보니 이런 글을 썼습니다.-[Leonardong]
          페이지이름을 만들때, '''제목대상 검색'''은 이전부터 지원되었습니다. 예를들어 이동 창에 Front를 쳐보세요. 처음부터 후자를 이야기 하는 것으로 알고 있었습니다. 보통 '''내용검색(FullTextSearch)'''는 부하 때문에 걸지 않습니다. 하지만, 현재 OneWiki 의 페이지가 적고, 페이지를 만드는 행위 자체가 적으므로, 후자의 기능 연결해 놓고 편리성과 부하의 적당 수준을 관찰해 보지요. --NeoCoin
  • 데블스캠프2005/목요일후기 . . . . 15 matches
         == 참여 사람 ==
         황재선 문보창 이승 [안성진] [윤성만] 김정현 [상협] 이상규 [1002]
         [김민경] 러플-자기가 가진 beeper의 개수정도는 알수있어야 좋을텐데ㅠ Vpython-매우 신기 세계+ㅁ+ 마우스로 돌려요돌려! 보안-이론은 어려워ㅠㅠ -- 오늘 매우 흥미로왔어요!
          느낌: 오늘 내용은 실습도 많이하고, 신기 내용도 많았고 재미있었던것 같다.
         김태훈([zyint]) 러플 보안과 비쥬얼 파이선을 배웠다. 직접 로봇을 움짓이는것같은 러플은 매우 흥미로웠다. VPython의 신기 기능...암호화의 원리를 배우게 되었다>.< 매우 재미있었다.
          보안.. 흥미로운.. 이리저리 생각도 해보고 할수 있었던게 가장 좋았던.. 하지만 암,복호화 하는 프로그램을 짜라고 할땐..;;역시 코딩력이 부족.. 코딩력을 키우자.. 아자!! 오늘은 실습이 많아서 긴장? 되었던.. 덕분에 조는 시간 없이 밤을 지샌...
         아쉬운 점은 시간이 짧아서 다못하고 간단하게 게 좀 아쉽네요~^^
         데블스캠프 강사들은 반드시 자신의 강의에 대 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
         4. 보안에서 활발 토론이 이루어짐( 이례적인 일!!)
          - 보통 '보안세미나' 하면 이론적이고 별로 이해 안가는 수식들의 나열이 되기 일쑤이다. 이번처럼 자신의 메세지를 암호화해보고, 이를 MSN 으로 보내보면서 비밀키의 문제점을 생각하게끔 하고 이를 서로 토론을 통해 이야기하게 보안세미나는 굉장히 이례적이고, 또 효과적이였다고 생각.~ --[1002]
         9. [RUR-PLE] 은 제약이 많아서 오히려 재미있다.!! 적은 룰로 다양 일을 할 수 있다는 점이 신기했다.~
         3. 최대 코드 짧게. 페이지 내로!!!!!!!!!!!
          가지여도 수준 낮춰서 단계별로 자세히 !!!!
  • 사람들이과제를해오지않는다 . . . . 15 matches
          * 두가지를 생각해 볼수 있다. 첫번째는 그 발표 과제가 그 사람에게 너무 벅찬것이었고 숙제도 그 사람의 수준에 맞지 않는 것이이서 못해올 수도 있다. 아니면 발표거리나 과제 거리가 그 사람에게 충분 흥미, 동기 유발을 자아내지 못했을지도 모른다. 이는 과제를 내거나 숙제를 낸 측에서 잘못 판단것이 문제가 된것이다. 두번째 경우는 그 사람이 그 발표를 하거나 과제를 하는것에 우선순위를 아주 낮게 두는 경우다. 그래서 발표 준비나 과제를 하는건 자신이 할거 다하고 시간 남으면 하거나, 귀찮아서 미루다 미루다 안하는 경우다. 내가 보기에는 첫번째 경우 두번째 경우 모두 우리 제로페이지에서 다반사로 일어났었다고 본다. 내 예를 들면 보통 무슨 책을 같이 공부 하자고 함께 공부하는 스터디는 끝까지 가거나 어느 정도까지 간 경우가 단 번도 없었다. 내가 보기에는 책을 스터디 그룹 지어서 같이 공부하는건 상당히 어렵다고 본다. 아예 그러고 싶으면 스터디 그룹을 만들어서 우선 개별적으로 단시간안에 그 책을 번 공부하고 나서 다 공부 사람들끼리 그 책에 대것들을 서로 물어보고 토론을 하고 하는게 좋을거 같은데 쉽지 않은 얘기다. 그런데 수동적으로 책을 공부하는 프로젝트가 아닌 프로젝트를 하는데 이러 이러 책이 필요해서 그러 책들을 필요 부분들을 참고하면서 해나가가는 프로젝트는 제로페이지 내에서 중간에 해체 안되고 끝까지 간경우가 책 하나에 대 스터디 보다는 훨씬더 많았던거 같다. 내가 보기에는 이 차이는 프로젝트, 스터디를 해 나갈때는 아주 명확 목표가 있어야 다고 본다. 장거리 자동차 여행을 가는데 목적지 없이, 지도없이 출발하는 경우는 없다. 프로젝트도 마찬가지로 어떤 결과물을 만든다거나, 어떤 수준(아주 구체적, 객관적인)에 도달다는 목표가 있어야 다고 본다. 그런데 어떤 수준은 좀 애매하기에 어떤 결과물을 목표로 잡고 스터디, 프로젝트를 하는게 좋겠다고 생각다. - [상협]
  • 상협/프로젝트관련 . . . . 15 matches
          * 이건 내가 제일 아끼는 프로그램이다. 오래되어서 잘 기억은 나지 않지만, 고생도 좀 했지만 그래도 무지 뿌듯했다. 개인적으로 번 짜보면 도움 상당히 많이 되는 프로그램이다. 강추다 강추.
          * 아쉬움이 많이 남는 프로젝트이다. 내가 생각했던 이상적인 프로젝트는 어차피 이런 프로젝트가 다 학습의 과정인 만큼 서로 특정 분야를 맡았다면 프로젝트를 해 나가면서 원활 의사소통을 하면서 자기가 맡은 부분에 대 설명을 스터디 그룹 형식으로 다른 팀원에게 해주면 서로 도움이 될거 같았다. 그런데 이 프로젝트는 자기가 맡은 부분만 하고 다른쪽 분야의 학습은 전혀 못했다. 프로그램 완성하기에도 시간이 부족 힘든 상황이어서 그랬을지도 모른다. 난 JAVA의 소켓이랑 스윙도 좀 알고 싶었는데 그쪽은 거의 모른다. 지금.. ㅡㅡ;; 이거 언제 따로 공부하지.. 쩝..
          * AI 오목보다 성취감이 훨씬 덜했다. 그렇게 시간을 많이 투자하지도 못했고, 또 내가 팀에 껴서 했던 프로젝트라도 모든 소스를 다 완전히 이해거 같지도 않아서 내가 짰다는 기분도 거의 안들었다. ㅠㅜ
          * 워낙 그래픽쪽을 대충 대충 감이 있어서 좀 허접해 보였다. 그래도 들인 노력에 비해서는 괜찮게 나온거 같다. -_-;
          * 이거 완성하면 대박이라고 내심 기대했었는데, 마무리를 제대로 못해서 원하는 만큼의 재미를 끌어 내지 못했다. 마무리를 제대로 해야 다는 필요성을 느꼈다.
          * 기본틀 완성을 프로젝트의 완성이라고 생각하지 말아야 겠다. 그렇게 생각해서 김빠져서 더 제대로 만들지 못거 같다. 기본틀 완성은 전체 프로젝트의 20%정도의 완성이라고 앞으로는 생각해야 겠다.
          * 여기서는 스테이지를 txt파일로부터 읽어 오는 부분을 연습해봤다. 그리고 멀티미디어 타이머와 더블 버퍼링을 배웠다. 이것도 마찬가지로 가볍게 숙제로 프로젝트이다.
          * 만약 짜본다면 내가 제일 좋아 하는 AI 오목을 Java로 TDD를 사용해서 번 다시 짜볼까 다. 인공지능을 사람이 못이기게 무진장 향상 시켜서.. +_+
          ''단순 소켓 통신을 하는 메신저라면 80번 포트로 통신하도록 해도 상관은 없지만, 지금 하려고 하는게 '''방화벽'''메신저 라고 봐서 SOAP을 추천거지. '80번 포트, HTTP 프로토콜이 방화벽과 무슨관계인가?'라는게 궁금하면 보안 관련 검색을 해보면 손쉽게 찾을 수 있을꺼야.'' --이선우
  • 새싹교실/2011/Pixar/5월 . . . . 15 matches
         == 공부 것 ==
          * 오늘 하노이탑을 하고 재귀함수를 이용 숙제를 했습니당. 아오 하노이탑 어려웠습니다. from temp to 유후 아직 조금 어려워요 ㅠㅠ. 프링글스는 맛있었습니다. 오늘 ARRAY가 너무너무 배우고싶었는데 망할 오상준과 이승열 이자식들이 안와서 못배웠습니다 ㅠㅠ. 숙제 집에가서 다시번해볼려구요 더 많이ㅣㅣㅣㅣ 배우고싶어요 누나 ㅋㅋㅋㅋㅋ
         === 광운 ===
         오늘 하노이탑 프로그래밍을 했습니다. 제 머리의 계를 깨닫게 되는 순간이었죠.
         하.... 수경누나가 계속 도와주시는대도 시간이 넘게 걸렸어요 ㅠㅠ
          * 오늘은 재귀함수 복습하는 차원에서 하노이탑을 같이 구현해봤습니다. 아마 좀 어려웠을거예요. 저도 1학년때 어디서 열심히 보고 짰는데 방학되고 짜보려니 또 생각이 안 나서 헤맸던 기억이 나네요. 오늘 해봐서 알겠지만 완성된 하노이탑 소스코드가 원반 하나하나를 순서대로 옮기는 프로그램은 아니었어요. 그런데도 실행시키니 제대로 움직이는 걸 볼 수 있었죠. 만약 원반 하나하나를 따로 생각했다면 원반이 7개만 되어도 생각하기 너무 어려웠겠지만 n개의 원반을 옮기는 문제를 n-1개의 원반을 옮기는 문제와 n번째 원반을 옮기는 문제로 나눠서 생각하니 간단하게 해결됐죠. 앞으로 학년이 올라가면서 더 복잡 프로그램을 짜다보면 이런 접근이 얼마나 중요지 느끼게 될 거예요. 문제를 해결할 때 전체를 보고 단계를 나눌 수 있어야합니다. 우리가 그림을 그릴때 숲을 그린다고 하면 어떤 귀퉁이의 나뭇잎 하나부터 그려나가는 게 아니잖아요. 나무의 배치, 뼈대같은 것을 먼저 그려야 균형잡힌 그림을 그릴 수 있듯 프로그램을 만들 때도 큰 그림을 먼저 생각해볼 수 있었으면 좋겠습니다. 물론 그런 접근이 단번에 몸에 익지는 않을 거예요 ㅋㅋ
         == 공부 것 ==
          배열에 대해서 누나에게 저번숙제를 위해 배워놨었기 때문에 배열은 어렵지 않았습니다. 근데 배열을 활용 예제들이 무척이나 어려웠습니다...ㅠㅠㅠ 숙제도 해가야대는데 ㅎㄷㄷㄷㄷ 너무 어려워요 ㅠㅠㅠ 이번새싹은 컴퓨터가 바뀐 5피에서 하고싶습니다. 어려운 문제좀 잘 풀고 싶습니다 ㅠㅠ
         === 광운 ===
         중간고사를끝나고 공부를번도 안해서 수업을따라가기가 매우어려웠습니다. 무슨말인지도 전혀모르겠고....
          * 4피 환경이 여의치 않아 빈 강의실을 찾아 진행했습니다. 손코딩도 매우 좋은 학습 방법이라고 생각하지만 네명이나 되니 일일히 봐주기 어려워 직접 코딩하는 것보다 진행하기 어려웠어요. (다른 것들도 그렇지만) 배열은 사실 쓰는 법은 매우 간단합니다. 어떻게 활용하는지와 실제 배열 사용시 작동방법을 이해하는 것이 중요하다고 생각해요. 그런것들은 앞으로 다른 부분을 배우면서 실습을 통해 계속 배워나갈거예요. 다음 시간에는 새로 단장 5피를 쓸 수 있었으면 좋겠습니다.
         == 공부 것 ==
         === 광운 ===
  • 새싹교실/2012/AClass/5회차 . . . . 15 matches
          4.BinarySearch가 무엇인지 찾아보고, 가능하면 번 구현해보도록 합시다.(가능하면!)
         -이진 탐색은 제어검색에서 가장 대표적인 방법으로 번 비교동작이 끝난 후 그 결과를 이용하여 다음에 비교할 대상을 선택하는 방법으로 검색다. 주어진 파일들을 일정 순서대로 배열된 상태에서 원하는 값을 검색하는 방법이다.
         = 송이 =
         4.BinarySearch가 무엇인지 찾아보고, 가능하면 번 구현해보도록 합시다.(가능하면!)
          * 번 비교 동작이 끝난 후, 그 결과를 이용하여 다음에 비교할 대상(K<Ki)을 선택하는 방법으로 검색다.
          * 주어진 파일들은 일정 순서대로 배열된 상태에서 원하는 값을 검색하는 방법이다
          * 이진탐색은 이미 데이터들이 정렬 된 상태 + 중복값이 없을 때 가능 탐색방법이다.
          정렬이 되있지 않은 데이터들을 이진탐색을 하면 데이터를 찾지 못다.
         1.KoiStudy 112~113,115~122 - 문제 많은데 별찍기같은건 거라서 몇개 할거 없을거에요.
         4.BinarySearch가 무엇인지 찾아보고, 가능하면 번 구현해보도록 합시다.(가능하면!)
         1.KoiStudy 112~113,115~122 - 문제 많은데 별찍기같은건 거라서 몇개 할거 없을거에요.
         4.BinarySearch가 무엇인지 찾아보고, 가능하면 번 구현해보도록 합시다.(가능하면!)
  • 새싹교실/2012/해보자 . . . . 15 matches
          * 목적: C언어를 다양 프로그래밍 실습을 통해 재미있게 배운다.
          * feedback은 최대 성의있게 써주세요.
          * sizeof(parameter): 매개변수가 가지고 있는 메모리상의 바이트 단위의 정수를 반환다.
          * overflow: 변수가 표현할 수 있는 범위를 넘어선 데이터를 대입할때 나타나는 현상으로, 데이터의 손실이 일어난다. 프로그래밍할 때 오버플로우를 조심해야 다!
          * 변수를 참조할 때 지역변수를 전역변수보다 우선으로 참조다.
         강재곤 후기 : 변수에 대해 배웠다. 첫날이라 많은 내용을 배운게 아니라 부담은 없었다. 오버플로우가 일어나면 자료의손실이 일어나므로 조심해야 다는 것을 알았다. 다음시간부턴 직접 실습을 해보고 싶다
          - true/false로 판별이 가능
          - 논리연산자로 연결다. ex) if(x==2&&y==3)
          - while: 조건식을 만족하는 경우 무 반복으로 처리
          - 무반복의 성질이 있기 때문에 영원히 빠져나오지 못하는 프로그램을 만들 수 있다.
          - 임의로 무반복의 상태를 벗어나게 할 수 있다. -> break,return
          - 초기식, 조건식, 증감식이 꼭 필요 건 아니다!
          * putch(): 입력 버퍼에 있는 값을 화면에 출력다. 얘도 마찬가지로 이 처리만 하고 끝난다.
          * 함수는? 수학에서의 함수와 동일 개념. 매개변수를 넘겨주면 결과값이 나온다!
          * 함수의 정의: 컴파일러에게 '이런 이런 함수는 이런 이런 일을 다'라고 알리는 것.
  • 서버재조립토론 . . . . 15 matches
         [정모]때 서버 재 조립에 대 이야기가 나왔다는 이야기를 회장님을 통해 들었습니다. 일단 제가 회의에 참석하지 못하고 회의록이 올라온 것도 아니므로 어떻게 해서 서버 재조립 이야기가 나왔는지 알고 싶습니다. 일단 제 생각은 굉장히 부정적인데요. 서버가 하는 일이 거의 웹서버 내지는 소스 리파지터리로 사용되고, 대규모 소스를 컴파일다거나 덩치가 큰 프로그램이 돌아가는것도 아니기 때문입니다. 게다가 동시접속 사용자수로 많지 않은걸로 알고있는데요. (물론 이런것들은 이제부터 하기 위해 하나 새로 맞춘다!! 면 할말 없지만..) 이 상황에서 굳이 새로 서버를 맞추는게 필요할지... [임인택]
         네 충분히 그렇게 생각 하실수 있다고 생각합니다. 현재로서 서버가 하는일이 웹서버및 소스 Repository 로서의 역할이니깐요. 그리고 마지막에 프로젝트 때문에 필요할 경우에 나 새로 맞출 필요가 있다고 하신 말씀도 동감합니다. 현재 3주 동안 제로페이지 서버가 제대로 작동하지 않았습니다. 제로페이지 서버를 아주 자주 이용하는 입장에서는 많이 제로페이지 서버에 들어가니깐 서버가 죽어 있어서 여러가지로 불편했고, 현재 제로페이지 서버와 연계해서 돌아가는 위키 포탈을 운영 및 관리하는 입장에서는 치명적이었습니다. 제로페이지 회원들이야 안면이 있으니깐 이해해 주겠거나 좀 불편하고 말겠지 하고 생각하실수도 있지만, 위키 포탈 서비스가 우리 학회에서 제공을 해주는 서비스지만 외부에서 이용하는 사용자도 꽤 있었는데 왠만 사용자들은 다 빠져 나간듯 하네요.. 그래서 지금은 급게 다른 서버에서의 DB 지연을 기다리는 시간을 원래 1분에서 3초로 줄여서 그나마 임시 방편으로 수습을 했습니다. 또 프로젝트 진행을 하는데에도 제로페이지 서버가 자주 죽어서 진행을 제대로 할 수가 없었습니다.
          제로페이지 서버가 현재 분명 문제가 있고, 이것을 해결해야 다는데에는(즉 좀 가끔가다가 죽으면 뭐 어때 하는 분은 없을거라고 생각합니다.) 모두 동감 하실거라고 생각합니다. 현재 제로페이지 서버가 아주 자주 죽는 문제가 제로페이지 서버의 하드웨어 적인 문제인가, 소프트웨어 적인 문제인가, 인프라적인 문제인가 이 3가지중 하나라고 생각합니다. 인프라적인 문제는 다른 학회나, 동문서버도 안 죽고 하니깐 제외 하겠습니다. 그러면 하드웨어 아니면 소프트웨어 적인 문제인데. 솔직히 저는 리눅스가 오래 사용해서 자주 뻗는다는 것은 좀 이해가 가지 않습니다. 리눅스를 서버로 우리보다 훨씬 오래 사용하는 곳도 부지 기수일텐데 그런곳들이 모두 이런 문제를 겪고 있을까요.. 그렇다고 지금까지 관리가 안되서 그런것도 아니라고 생각합니다. 상민형, 석천이형, 영창이 모두 제가 생각하기에는 그 누구보다도 서버 관리를 잘 했다고 생각합니다. 물론 테스트를 해봐야 알 문제입니다. 오늘 회장님이 테스트 해본다고 했는데 가끔씩 서버가 죽는 문제를 어떻게 테스트를 해야할지 전 감이 안 오네요. 일주일정도 제로페이지 서버를 죽이고 다른것(다른 하드에) 웹서버를 깔아서 아주 아주 수시로(몇분 단위로) 그 웹서버로 들어와서 죽었는지 확인을 해야 하는데(물론 테스트는 테스트를 진행하는 두사람만 하겠죠. 현재의 제로페이지 위키만 해도 하루 방문자가 1000이 넘는것에 비해서...)그게 참 어려운 문제라고 생각합니다. 또 일주일동안 서버를 죽이는것도 현재 위키위주로 돌아가는 제로페이지에도 치명적이구요. 이렇게 테스트를 해서 만약 하드웨어 적인 것이 문제라면 또 다시 서버를 업그레이드 다음에 다시 서버를 설치하는 작업을 해야겠죠.
          즉 제가 서버업그레이드를 제안하는것은 하드웨어적인 문제나 소프트웨어적인 문제를 동시에 해결하고자 제안 것입니다. 위와 같은 테스트를 할경우 그에 따른 희생및 서버 관리자의 불필요 수고가 필요합니다. 그리고 학회 운영 및 프로젝트에서도 많은 희생이 따름니다. 그리고 위와 같은 테스트도 확실 방법은 아니구요, 여전히 불확실성을 내포 방법입니다.
          결론은 저는 서버가 자주 죽는 문제의 해결책으로 서버 업그레이드를 제안합니다.(만약 다른식으로라도 서버의 빈번 죽음을 막을수만 있다면 좋겠죠. 최소의 희생으로..) - [(namsang)]
  • 세벌식 . . . . 15 matches
         원래 글은 초성, 중성, 종성을 갖는 3성구조로 이루어져있다(중국어는 4성, 베트남에는 6성언어인데 이것이 글자에도 반영되는지는 모르겠다). 우리가 보통 쓰는 키보드의 글자판배열은 두벌식이고 이것이 지금의 국가표준이다. 두벌이라 함은 왼쪽에 자음, 오른쪽으로 모음. 이렇게 두개의 벌로 구성되었다는 것을 의미다. 이는 글의 구조에 역행하는 자판배열이다. 앞서 설명 글의 3성구조가 그 이유이다.
         이때문에 두벌식 키보드를 사용할때 도깨비불 현상이 발생다. 간단하게 설명하자면 두벌식 키보드로 글을 치다가 전혀 의도하지 않았던 글자가 나타났다가 사라지는 현상이다. [http://no-smok.net/nsmk/%EB%8F%84%EA%B9%A8%EB%B9%84%EB%B6%88%ED%98%84%EC%83%81 여기]를 보면 더 자세히 알 수 있다.
         세벌식 자판배열의 장점은 글의 구조와 맞는다는 점외에 여러가지가 있다. [http://no-smok.net/nsmk/%EC%84%B8%EB%B2%8C%EC%8B%9D 이곳]을 참조.
          * [http://moonhwawon.org/ 글문화원]
          * [임인택]의 경우 어떤 치과에서 키보드 키캡에 붙이는 스티커를 나눠주는 페이지를 보면서 처음 세벌식을 접하게 되었다. 그때가 2005 년 2월경이었는데 처음에는 무척 힘들었지만 6개월정도 지나니 익숙해졌다. 세벌로 전환하기 이전인지 이후인지 기억은 잘 나지 않는데, 스펀지라는 프로그램에서 공병우 박사님을 추모하면서 세벌식과 관련된 지식을 알아본 적이 있었다. 카이스트인지 포항공대인지에 다니는 학생이 실험을 했는데, 두벌, 세벌 모두 엄청난 속도로 타이핑하는 장면을 봤다. 충격이었다. 어떻게 각각을 저렇게 빨리 칠 수 있는지. 나도 예전에 타이핑이라면 가닥 했었는데 10년이상 쓰던 두벌을 버리고 세벌로 전환 이후 두벌속도가 급격하게 줄었다. 처음 세벌로 바꿨을때 세벌보다 두벌을 약 20배 정도 빨리 칠수 있었는데, 지금은 오히려 두벌이 더 느리다. 이걸 가지고 생각해 볼 수 있는 문제는 사고의 전환이다. 스펀지에 나왔던 학생은 두벌로 타자할때 두벌식으로 사고하고, 세벌로 타자할때 세벌식으로 사고했을 것이다. 조금 생각해보면 이는 우리가 공부하는데 빗대어 설명할 수 있을 것이다. 가령 함수형 언어를 쓸때는 함수형 언어의 패러다임으로만 생각하고, 객체지향 언어를 쓸때는 객체지향 패러다임만을 생각다던지 하는 것이다. 지금 생각하건데, 그 학생은 두벌/세벌 타자에 있어서 구루인것 같다. 나도 두벌/세벌을 모두 쓰지만 두벌식을 쓸때 세벌식으로 생각하고 키를 누른다던지, 세벌식을 쓸때 두벌식으로 생각하고 키를 누르는 경우가 많다. 프로그래밍을 할때도 마찬지. 내가 배제하려고 하는것을 완전히 배제하지 못다.
  • 스터디제안 . . . . 15 matches
         각자 흥미로운 기사를 나눠 갖고 공부 다음, 함께 모여서 발표하고, 토론하고, 제로페이지 위키에 그 내용을 요약해서 올린다. 기사를 번역할 필요는 없고 대충 어떤 내용인지, 그리고 소감 같은 것, 관련 정보를 함께 연결지어 올린다.
         새로운 기술의 조류를 관망할 수 있을 것이다. 위 잡지들에서 번 크게 떠들고 나서 몇 달이 지나면 그제서야 국내 잡지에서 조금씩 모습을 드러내는 일이 다반사다.
         더구나 제로페이지 위키에 오는 사람들의 눈높이를 단계 높여줄 수 있다. 컴퓨터 기술을 바라보는 안목이 훨씬 넓어질 것이다.
         잡지 정리 스터디 같은 경우에는 정모때 정리걸 간단히 발표 해도 상당히 좋을거 같습니다. 특정 분야가 아니라 모든 회원들이 들어도 될만 내용일 테니 회원들에게도 도움이 되고 정모의 입지도 높일 수 있을거 같습니다. - 상협
         == 스터디에 대 생각 ==
         스터디를 하기 위해 또 다른 조직을 만들기가 부담이 된다면 이런 곳을 통해 인원을 모을 수 있겠습니다. 스터디하는 데에까지 꼭 멤버쉽 커뮤니티가 필요 것은 아니겠죠.
         많은 경우, 특정 주제에 대 스터디를 만들 때에는 가능하면 독립적인 아이덴티티를 드러내는 이름을 짓기보다, 그냥 공부하는 구체적 주제로 이름을 짓는 것이 나은 것 같습니다(반대로 특별 이름을 짓는 것이 주는 장점도 많습니다). 어차피 스터디 그룹은 시적인 것이고, 공부하자고 모인 것이지 어떤 조직을 만들자고 모인 것은 아니며, 해당 그룹이 공부 내용은 이런 위키에 축적이 될 것이므로. 그룹의 공동체적 성격이 초점이 되고, 공부보다 "관계"가 중심에 놓이는 경우가 있는데, 이는 공부하는 사람들이 피해야할 것입니다. 같은 주제를 공부하고 싶은 사람들끼리 모여서 정말 열심히, 성실히 공부 다음, 그 자료를 위키에 남기고, 다음을 기약하며 소리없이 해산하면 그만인 것이죠. 이 때의 또 다른 장점은, 다음에 그 주제를 공부하는 다른 스터디 그룹이 있을 때 이전에 스터디를 했던 사람들의 작업에 접근할 확률이 더욱 높아진다는 것이죠. 관계중심적인 공동체를 이루면 장점도 많지만, 외부에서 절연될 확률이 높아진다는 단점도 있는 것 같습니다.
          목표'''만'''으로 이름 짓는 것이라는 것이지 뭐, 예를들어서, ''C++ 잘해 보자 훌륭 넘 되자'' 라는 목표땜에, {{{~cpp GoodGuy}}} 이라고 이름 지으면 --;; --["neocoin"]
          내가 받아들이는 것은, 공부하는 주제로만 짓자는 것 으로 내가 착각을 모양이군. 그래서 목표를 섞어도 별 상관 없다는 생각이었는데? --["neocoin"]
  • 전시회 . . . . 15 matches
          2시에 수업이 끝나네요;; -- [이승]
          그럼 승군과 途?2시에 가죠.--[Leonardong]
         오늘 전기전자공학과학회의 전시회를 보았는데 재밌어보인다. 우리도 그런 거하면 괜찮을 듯. 돈은 별로 안들어보이는데.,우리가 화드웨어가 필요 것도 아니고..--[강희경]
          - 전전공 행사를 보지를 못해서 뭐라 하긴 힘들지만 우리가 관리하는 피씨실에서 몇 시간 정도 열어보는건 어떨까요?? -- [이승]
          * 유익했던 시간이었다. 활발하게 돌아가는 듯(04들의 적극성) 학회를 보니 왠지 부러웠다.
          * 설명해주는 오퍼레이터가 프로그램을 잘 모른다. 프로그램 개발자가 직접 오면 좋지만, 그렇지 못 경우 좀더 상세 설명이 있으면 좋았을 듯 하다.
          프로그램의 성능을 볼수가 없었죠 3.9기가 씨피유에 지포스2 에서 그 정도 화면이 끊긴다면 그게 더 이상 ~_~ --[김홍선]
          * 개선다면
          * 저것처럼 큰 행사는 아니어도. 달에 번씩 작은 전시회를 해보면 어떨까요??. 아무리 작은 성과라도 발표를 위해서 준비하는 과정이 필요하고 그 과정에서 다들 열심이 하는 분위기가 만들어 지지 않을까요??
          * 당구 작품이 그래픽 랩인가에서 만들어지지 않았나요?? - [이승]
          * 전시회가 단순히 설명해주고 듣고 해보는 일반적인 방식이였다. 좀더 다양 이벤트를 준비했으면 좋았을 것 같다. [윤성만]
          * 컴퓨터 조립중. 으흐흐흐. 젠장. 윈도우 XP시디 친구 빌려줘놨다. 또 구우면 똑 같은게 3장이 되는데...-_-;; - [이승]
          * 학교가 너무 작았다. 기대와 다르게 별로 이쁜 여자가 없었다. - [이승]
  • 정규표현식/스터디/문자집합으로찾기 . . . . 15 matches
         마침표(.)는 어떤 문자와도 일치다. 만약 특수 문자와 일치시키고 싶다면,
         "문자집합"을 사용다.
         문자집합은 메타문자 대괄호([])를 사용해 문자집합을 표현다. 대괄호 안에 있는 문자는 모두 집합의 구성원이 되며, 집합에 속 문자 가운데 하나가 일치다. 집합에 속 모든 문자가 모두 일치할 필요는 없다.
          * {{{다음과 같이 [] 는 리스트를 나열해주는 것으로 .과 같이 글자만을 지원다 여러개의 []리스트를 사용하고싶다면 '*'(와일드카드)를 붙이거나 범위를 지정해주는 {}를 사용하여 []* 이나 []{4,4}(4개 찾기)로 이용할수 있다.}}}
          * {{{또 다음과 같이 [0-9] = [0123456789]와 같이 사용하며 문자 또 지원다. 축약법은 하이픈(-)을 붙이는 방법으로 [A-Z][a-z] 이방법은 아스키 코드 방식을 따르며 축약시킬 경우 [a-A]는 역순이므로 되지 않는다. 또 리스트([])안에서는 또다른 리스트([])와 역슬래시(\), 하이픈(-)을 제외하고는 모두 일반 문자와 같이 인식하므로 특수문자 %&^&#*$ 를 단순히 리스트 안에 나열하는것으로 검색할수 있다 리스트 안에서 리스트([])를 검색하는 방법은 역슬래시를 붙여 이스케이프를 시켜야다.}}}
         == 제외하고 찾기(승) ==
  • 정모/2002.9.26 . . . . 15 matches
         ["ProjectPrometheus"] 팀의 경우는 현재 도서관 UI 가 바뀌는 통에 열심히 기존 코드 수정중이라고 함. 그대신 모듈화가 되어있어서 소스의 일부 클래스들만 수정하면 된다고 다.
         학술제가 다다음주 월요일이라고 다. (작품 준비하는 사람들은 그때까지..)
         시간관리, 우선순위 관리에 대해 고민하는 사람들이 많았다. 마침 재동이 '끝도없는일 깔끔하게 해치우기'(NoSmok:GettingThingsDone) 를 읽던 중이여서 책을 아는 사람들이 그와 관련 이야기들이 있었다.
         정모 참석 사람들이 전부 남자인데다가 군대를 갔다오지 않은 사람들이였다. 정모 참석자중 가장 관련정보를 많이 알고 있는 덕준이가 여러 방법에 대해서 이야기했다.
          * 대학원 - 대학원 진학 뒤 석사병특을 생각할 수 있다. 석사병특은 계속 확대되어가는 추세이고 대우도 좋아진다고 다.
          * 학사장교 - 컴퓨터와 관련된 학사장교의 경우 경쟁률이 6 : 1 선이라고 다. 시험과 면접등이 있다.
         이런 비형식적인 오프모임도 좋은 것 같다. 오늘은 Seminar:RenaissanceClub 모임 스타일이랑 비슷데, 꼭 '안건', '의견' 식으로 가지 않아도 좋을 것 같다. 사람들의 최근 관심사가 무엇인지 알고, 서로 자유롭게 의견을 말하거나 물어보는. 개인적으로는 이런 스타일로 계속 가보는 것도 재미있을 듯 싶다. ^^; --["1002"]
          번씩 돌아가면서 정모 기간 (2주정도?) 내 일어난 일이나 사건들. 관심사 등등. 그리고 2차행사로서 간단 세미나를 다던지, 자신이 만든 프로그램에 대해 시연을 다던지. 문제를 제대로 정의할 수 있다면, 답을 구할 수 있을것 같다. (가장 간단 일을 시작할 수 있을 것 같다. 정모 스타일에 비격식적 대화시간을 넣어본다던지, 자네가 정모 진행을 할때, 주위를 환기시킬 수 있고. 또는, 회장의 진행없이 나가볼 수도 있고.) --["1002"]
         ps. 조금 아쉬운건, 조언해줄만 경험있는 선배들의 참여가 적은 것같다는. (병특 문제에 대해 지금 준비하고 있는 사람이 이야기하는 것과, 현업에서 뛰는 사람이 이야기할때는 그 내용이 많이 차이날것 같다.) 시간이 늘 학부생 위주로 맞춰져 있는것도 약점이 되는듯하다. --["1002"]
         ps. 남훈이가 마디 할때면 새로운 세계가 열리는 것 같다. 마치 동양철학책을 읽는 느낌이다.; --["1002"]
          남훈이형은 머리속이 어떤 지 궁금 사람입니다...^^;;; --재동
  • 정모/2007.3.13 . . . . 15 matches
          - 세미나는 준비하는 사람과 조사하는 사람( 1학년들에게 필요 것이 무엇인지 조사)이 필요합니다., 우리는 1학년들의 수준과 필요점들에 대 정보가 너무 부족합니다.
          - 첫 세미나인 만큼 코딩까지의 진도는 너무 빠르다고 생각합니다. 첫 시간인 만큼 프로그램이 무엇인지에 대 인식에 주안점을 두었으면 합니다.
          - 인원 : 차형, 영준, 원희, 지원, 형진, 준형, 준석 ..등등 가능 모든 06인원들
          = 부서의 사람들이 모두 나가버리면 각개격파 당하는 사태가 초래할수도 있다.
          = 소모적인 토론을 하는 날과 세미나 하는 날을 나누어서 진행하는건 어떻까(확실 주제의 회의)? -> 소모적인 토론을 하는 날이면 사람들의 참여가 저조해져서 소모적인 토론이 되지 않을 수도 있다
          = 선호 : 필요 분야가 있다면 담당자를 더 뽑자.!!
          = 재학생 명에다가 신입생들을 끼워서 하는건 어떨까요?
         * 찜질방 같은곳에서 번 모이자!!
          - 말나온김에 날짜를 번 정해보자.
          - 긴회의 -> 시간제, 다수결, 회의 안건에 따른 부가 시간을 정하자. 이야기 하고 싶은 말이 있으면 미리 홈페이지에 올리거나 회장에게 말을 해준다.
         * 이번 주말에 가하신분
         송수생(05) : 저는 05학번 송수생입니다. 월급날이 언제인지는 모르지만 다가오면 턱쏠까요?
          - 마녀사냥 행위를 번 긍정적으로 승화시켜볼까 해서 이렇게 아무나 찍어서 발표하는 기회를 가져 봤습니다.
  • 정모/2011.5.9 . . . . 15 matches
          * [신기호] 학우의 게임 개발을 향 의지
          * [김홍기] 학우의 세미나(시간이 된다면 다네요.)
          * 이번 정모는 뭔가 후딱 지나간? ㅋㅋ 아무튼.. 4층 피시실에서 OMS가 뒤에서 다른 걸 하는 사람들의 시선까지 끌어던 모습이 생각이 나네요. 그리고 게임이 다른 게임에 들어가서 노는걸 보니 재밌기도 하고, 재미있는 주제였습니다. 그리고 이번주 토요일에 World IT Show에는 어떤 것들이 있을지 궁금하네요. 저번에 International Audio Show에 갔을때에도 다양 오디오와 헤드폰을 보고 청음할 수 있어서 좋았는데, 이번에도 다양 것들을 많이 볼 수 있을 거 같아 기대됩니다. 음.. 근데 이번 정모때에는 이거 이외에 잘 기억이 안나네요; - [권순의]
          * 국제 오디오 페스티벌... 귀만 진탕 호강 시간이었지... - [Enoch]
          * 저번주 정모에 못와서 이번주에는 꼭 가리라! 하고 왔지요. 앞으로도 항상 그럴거 같지만 가장 기억에 남는건 OMS!! 게임개발이란게 에디터를 써서 만든거도 포함된다고 생각적은 없는데 말이죠! (워3 에디터는 살짝 만져봤었습니다) 워3에서도 와우 MPQ를 불러와서 똑같은 캐릭터를 구현할 수 있었는데, 스타2에서는 더 와우에 가깝게 만들어지더군요 -_-! World IT Show도, 이런데 거의 안가봤기에 꼭 가보고싶네요. (근데 다들 언제가시는지.. 음.) IFA도 뭘까 궁금하네요. .. 그리고 이제 피드백갯수가 2~3개정도만 남은거 같아요+_+ -[김태진]
          * OMS 재밌었습니다. 스타1 유즈맵을 즐기는 저로서는 스타2의 무 가능성을 엿본듯 -_-;; 비록 아직은 버그투성에 애로사항이 있더라도 좀더 지나고나면 똑똑 게임개발툴이 나올 것 같네요. 월드아이티쇼.. 저는 아마 불발될 거 같습니다. ㅜㅜ 수금은 수업 때문에 안되고 목토는 일이 있어서 에구; 담주 OMS 준비를 제대로 할 수 있을까 걱정입니다;; 구글신 찬양과 함께 미래의 안드로이드와 클라우드 서비스에 대해 할까 하다가.. 준비할 시간이 많지 않을거 같으니 아마도 경시대회 관련 주제로 준비될거 같습니당.. - [정진경]
          * 스타2를 플레이해본 적은 없지만 스타1 캠페인 에디터나 RPG만들기는 조금씩 찌끄려봤는데 이번 기호의 OMS를 보고 유저의 게임 만들기에 있어 엄청난 발전과 변화를 불러 일으켰더군요. 버그가 많고 코드에 대 이해가 필요하다는 점도 있지만 스타2로 만들어진 와우는 정말 흥미로웠습니다. 데블스 staff 회의를 진행하면서 이제까지의 데블스캠프에 대해 회고해보고 어떻게 해야 개선할 수 있을지 고민해 보았는데 ZP에서 학우들이 학술적으로 오랜 시간 동안 많은 공유를 할 수 있는 몇 안되는 큰 행사이니 만큼 뜻깊은 시간이 되었으면 좋겠습니다. - [Enoch]
          * 장소를 미리 못 잡아서 4피에서 OMS를 했는데 기호에게 미안하네요... 장소가 산만하기도 하고 좀 부담스러웠을 것 같아요ㅜㅜ 그와 별개로 내용은 정말 흥미로웠습니다. 항상 생각했던 것이지만 쓰기 편하고 단순하게 만들면 할 수 있는 게 제되어 문제고 이것저것 할 수 있게 파워풀하게 만들면 너무 복잡 게 문제… - [김수경]
  • 정모/2012.12.3 . . . . 15 matches
          * 오후 4시반 무렵 모여서 몇가지 이야기를 다음에 송별회 및 종강파티를 진행할거 같군요.
          * 이 경우에 해 날짜가 바뀔수도 있단 말씀..!
          * 충분 지원금이 사용될 예정입니다.(일반 MT 비용으로 럭셔리 엠티가..!?)
          * 여러분의 다양 의견 받습니다.
          * 그닥 별거 없는 전시, 학교에서 2~3학년 수준의 과제를 내서 하는걸 구경하는 정도?. 대단 작품도 있었다. 비유 컴쟁이 페스티벌을 전국화 느낌.
          * 위락인가? 음악 만드는 것에 대 공유를 진행하는 SNS, feedback이 핵심 기능이 된다고 하는군요.
          * 주제 : 음악을 만드는 것에대 SNS
          * 가능하면 잘 적고, 달에 두번이라도 안하면 나가든가, 2만원 상당의 회비를 내도록 하자.
          * 문 잠그는 것에 대 논의.
          * [신형준] : 창세기전 정말 재밌을거 같아서 번 해보고 싶어 졌습니다. 그리고 OMS주제는 정말 다양거 같군요
          * [김태진] - 피곤하네요.. 최근들어 가장 길게 정모인듯 싶습니다. 전달할 사항도 많고 정할 사항도 있고 회고도 해야 했네요. 이제 남은 정모 횟수가 얼마 남지 않았는데요, 드디어 좀 자리를 잡은거같기도하고.. 작년에 이맘때는 소수였는데 올해는 여전히 사람들이 많이 참여해 기분이 좋군요 :) 방학때 1인 1프로젝트/스터디는 좋은 아이디어인거 같네요. 약간 강제성을 부여해서라도....
          * [윤종하] : 이번 달 회고하다보니 이번 달에 진짜 게 없군요.. 반성해야겠습니다
          * [정진경] - 창세기전 옛날에 해봤으나 살라딘이 쌍검(?)을 쓴다는 것 외에는 기억이 나지 않음.. 회고해봤는데 벌써 1년이 지나갔군여. 프로젝트나 스터디에 모두 참여하는 일은 역시 힘든 것 같습니당. 크리에이티브클럽에서 나왔던 것 같은데 개인적으로 관심있는 분야나 하고 싶은 프로젝트를 하는게 어렵다면 전공 수업에서 배운 내용을 위키에 기록하는게 어떠냐..는 내용이 있었습니당. 내년에 저는 사라지기 때문에 막 던지기.. ㅋㅋ 굳이 전공 수업이 아니더라도 최근 어코드 사업으로 특강이나 멘토링 등등 참여할 수 있는 활동이 많기 때문에 학술 활동을 하기 위 여건이 학부 차원에서 나아지고 있지 않나 싶습니당.
  • 정모/2013.7.8 . . . . 15 matches
          * 안혁준 회원 : 해택은 어떠가?
          * 김민재 회장 답변 : 확실거는 학회 정기 보고서를 올리는것. 다른 곳에서의 지원이 있으면 안되는가에 대 제약사항이 있는지는 잘 모르겠음.
          * 안혁준 회원 : 교통은 어떠가?
          * 안혁준 회원 : 픽업과 교통편이 편리해야다. 이동하는 인원이 많으므로....어떤 보드게임을 하고 누구에게 빌릴지와 같은 구체적인 계획이나 준비가 필요할 것같다.
          * 김민재 회장 왈 : 총무를 하시던 종이형이 개인적인 사정으로 (바쁜일정으로 인해) 못할것같아, 총무를 다시 정해야 할 것같습니다.
          * code formatting에 대 내용을 공부. 프로젝트에 대 것을 하나 정해서 그걸 리펙토링 하는 방향으로 진행 방향정함.
          * 주 쉼.
          * 그 전 주까지의 결과물은 공을 움직이는 간단 게임을 만듬.
          * 3D개념과 좌표조작을 통 모델뷰단의 구성쪽 공부중.
          * c / c++ /JAVA를 꺼번에 다루는 스터디!
          * 내용에 오해의 소지가 있는 것 같아서 저 부분(MT 계획) 이야기를 조금 다시 하자면, 저번 MT 때는 낮 시간에 뚜렷 계획이나 일정이 없어서 시간을 좀 늘어지게 보낸 측면이 있다. 그러니 이번에는 조금 더 구체적인 계획을 세워서 가면 좋겠다. 이런 얘기였습니다. 그래서 혁준 선배가 놀 거면 대충 계획 없이 놀지 말고 보드 게임을 할 건지, 다른 뭔가를 하면서 놀 건지, 물건들을 빌리면 어떻게 할 건지 좀 일정을 잘 정하자는 얘기를 하셨는데 해당 부분만 적혀 있어서 뭔가 놀기만 하러 가는 MT 처럼 보일 수는 있네요. 수정하는 게 나을지도. - [서민관]
          * 그리고 계절학기 일정이나 날짜 변경과 관련해서는 정규가 말했던 것 같음. 사실 나는 내 일정 때문에 학회 일정을 바꾼다는 건 좀 이상 것 같아서 -_-;; 내가 안 가는 게 맞지. - [서민관]
          * 형이 주중에 바쁜 사람들 모두를 대표다고 생각했어야지요 ㅋㅋ -[김태진]
  • 지금그때2003/토론20030310 . . . . 15 matches
         [지금그때] 준비를 위 토론 첫번째 모임. 마저 내용을 생각해보고 옵시다.~
         날짜 : 21일. 단, 학생회에 미리 연락, 집부나 교양학교 관련 행사들과 시간조정이 가능하도록 다.
          * 적당 장소를 확보하고, 그에 대 디자인을 생각하자.
          * 소모적인 토론이 되는 일을 방지할만, 간단 룰에 대해서(SimpleRule)
          * 어떻게 하면, 이러 행사(또는 다른 생산적인 행사들)를 '관습'으로 남길 수 있을 것인가. '관습'으로 유지시켜주기 위해, 더 나아가 이러 관습을 발전시켜주고 키워주기 위해선 어떠 시스템이 필요할까.
          * ex) 프로그램 공부는 어떻게 하나요? , 요새 어떤 책을 보나요? , 영어공부는 어떻게 해야 하나요? , 사회에 나가면 어떤 일을 하나요? , 학교공부만 따라가면 충분가요? , 학회에 속해야 하나요? 등등
          * 비슷 역할의 타 행사들에 대 분석
          * 현재 학기 초 분위기에 대 토론.
          * 오히려 그러 때에 이러 행사를 하면 그 의미와 효과가 크지 않을까?
  • 1thPCinCAUCSE/ProblemB . . . . 14 matches
         컴퓨터 키보드에는 0부터 9까지의 열 개의 수가 있다. 이를 이용하여 정수 57일 입력하려면 두 번 (5 번, 7 번) 키보드를 쳐야다. 정수 33을 입력하려해도 역시 두 번 키보드를 쳐야 다. 1부터 10까지 열 개의 정수를 모두 입력하려면 모두 11번 키보드를 쳐야다. (1부터 9까지는 각 번, 10은 두 번) 1부터 34까지를 모두 입력하려면 모두 59번의 키보드를 쳐야 다.
         X에 대해서 N을 계산하는 프로그램을 작성하시오. 해당하는 N이 없으면 -1을 출력다.
          입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T (10 이하) 가 주어진다. 다음 T줄의 각 줄마다 테스트 케이스가 주어진다. 테스트 케이스는 정수 개(X)로 이뤄진다. X의 최대는 2,000,000,000(20억) 이다.
          출력은 표준 출력이다. 각 테스트 케이스의 X에 대해 자기가 계산 N을 줄에 하나씩 출력다. 해당 N이 없으면 -1을 출력다. T개의 테스트 케이스를 모두 맞춰야 이 문제를 맞춘 것이다.
         '''입력의 예에 대 출력'''
  • 5인용C++스터디/에디트박스와콤보박스 . . . . 14 matches
         Copy / 선택영역을 클립보드로 복사다.
         Undo / 최후 편집 동작을 취소다.
          CreateEdit라는 프로젝트를 만들어보자. 폼뷰가 아닌 일반 뷰에 에디트를 배치하려면 뷰가 생성될 때 (WM_CREATE) OnCreate에서 에디트를 생성시키면 된다. 우선 뷰의 헤더파일을 열어 CEdit형 포인터를 선언다.
          그리고 뷰의 WM_CREATE 메시지 핸들러인 OnCreate를 작성하고 이 핸들러에서 에디트를 생성다.
          m_Edit가 CEdit의 포인터로 선언되었으므로 일단 new 연산자로 CEdit객체를 만든다. 그리고 이 객체의 Create 멤버함수를 호출하여 에디트를 생성다. Create 함수의 원형은 다음과 같다.
          첫 번째 인수로 에디트의 스타일을 주되 에디트는 메인 윈도우가 될 수 없으므로 WS_CHILD 스타일을 주어야 하고 생성하자마자 보여야 하므로 WS_VISIBLE 스타일을 주어야 다. 또 에디트는 디폴트로 경계선을 가지지 않으므로 WS_BORDER 스타일을 주어야 보이게 된다. 두 번째 인수로 에디트가 차지할 사각영역을 주고 세 번째 인수로 에디트의 부모 윈도우의 포인터를 준다. 마지막 인수인 nID는 에디트 컨트롤의 ID이되 통지 메시지를 처리하지 않을 경우는 ID를 주지 않아도 상관없다.
          new 연산자로 에디트 객체를 만들었으므로 프로그램이 종료될 때 이 객체를 파괴해 주어야 다. WM_DESTROY 메시지의 핸들러에 다음 코드를 작성하면 된다.
          이렇게 Create 함수로 만든 에디트의 통지 메시지는 어떻게 처리해야 할까. 클래스 위저드가 메시지 핸들러를 만들 때 해주는 세가지 동작을 프로그래머가 직접 해줘야 다. 우선 메시지 맵에서 메시지와 메시지 핸들러를 연결시켜 준다. ON_EN_CHANGE 매크로에 의해 IDC_MYEDIT 에디트가 EN_CHANGE 메시지를 보내올 때 OnChangeEdit1 함수가 호출된다.
          두 번째로 헤더파일에 메시지 핸들러의 함수의 원형을 선언다.
          세 번째로 메시지 핸들러 함수 OnChangeEdit1 함수를 작성다. 함수의 본체 코드는 물론이고 함수명까지 직접 입력해 주어야 다. 이 함수는 에디트 컨트롤의 문자열을 읽어 들이는 함수이다.
          예제에서 에디트의 EN_CHANGE 통지 메시지를 사용해 보았다. 통지 메시지란 컨트롤에 어떤 변화가 발생했을 때 부모 윈도우에게 자신의 변화를 알리기 위해 보내는 메시지를 말다.
         EN_MAXTEXT / 지정 문자열 길이를 초과하였다.
  • AdventuresInMoving:PartIV . . . . 14 matches
         워털루에서 대도시로 이사를 가려고 하는데, 이삿짐 트럭을 빌려서 갈까 생각 중이다. 그런데 요즘 기름 값이 하도 비싸서 가는데 기름 값이 얼마 정도 들지 미리 계산해보고자 다.
         이 트럭은 1킬로미터를 가는 데 1리터의 기름이 필요하다. 기름통은 200리터다. 워털루에서 트럭을 빌릴 때는 기름통이 절반만큼 차 있다. 나중에 대도시에서 차를 반납할 때도 기름은 절반 이상 채워 놓아야 다. 그렇게 하지 않으면 렌탈 회사에 훨씬 비싼 비용을 지불해야 다. 기름 값은 최대 아끼고 싶지만, 그렇다고 해서 길 위에서 기름이 바닥나서 멈춰서는 일은 없도록 해야 다.
         첫 줄에는 테스트 케이스의 개수를 나타내는 양의 정수가 입력되며, 그 다음 줄은 빈 줄이다. 각 테스트 케이스는 정수만으로 구성된다. 첫번째 정수는 워털루에서 대도시까지의 거리를 킬로미터 단위로 표시 것으로, 최대 10,000이다. 그 밑으로는 출발지로부터 거리가 가까운 것부터 먼 것 순서로, 주유소에 대 정보가 입력되며, 최대 100개까지 입력될 수 있다. 각 주유소에 대해 워털루로부터의 거리(킬로미터 단위)와 휘발유 1리터당 가격(0.1센트 단위)이 입력된다. 리터당 휘발유 값은 최대 2,000(즉 200센트 = 2달러)이다. 서로 다른 테스트 케이스 사이에는 빈 줄이 입력된다.
         각 테스트 케이스에 대해 워털루에서 대도시까지 가는 데 드는 연료비의 최소 값을 출력다. 문제의 제약조건에 따를 때 워털루에서 대도시까지 갈 수 없으면 "Impossible"이라고 출력다. 서로 다른 테스트 케이스에 대 결과 사이에는 빈 줄을 출력다.
         음. 나중에 대도시에서 차를 반납할 때도 기름은 절반 이상 채워 놓아야 다. 여기서 절반 이상이라는 조건에 주의를 하지 않으면 안됩니다. -- 보창
         === Greedy 선택이 안되는 반례 ===
         위의 테스트 케이스를 보면 처음에는 거리가 100인 주유소에 무조건 가야합니다. 그러면 기름은 0이 되고, 스터디때 말 방법으로 하면 앞의 200까지를 살피고, 가장 작은 가격이 있는 곳인 (200, 777) 까지 갈 수 있는 기름 100을 넣고 출발합니다. 그러나 여기서 살펴보면 최적의 해는 여기서 50만큼의 기름만 넣고, 150의 지점에서 또 50의 기름을 넣어서 (200,777)에 가는 경우입니다. -- 보창
  • AntOnAChessboard . . . . 14 matches
         어느 날 앨리스라는 개미가 M × M 체스판에 올라갔다. 앨리스는 체스판에 있는 모든 셀을 방문하려고 다. 그래서 판 쪽 구석에서 시작해서 체스판을 꺼풀씩 훑어나가기로 했다. 앨리스는 (1, 1)자리부터 움직이기 시작했다. 처음에는 칸 위로 올라간 다음, 오른쪽으로 칸 이동하고, 다시 칸 아래로 내려왔다. 그리고 나서 칸 오른쪽으로 움직여서 두 칸 위로 올라가고, 두 칸 왼쪽으로 움직였다. 이런 식으로 매번 행, 그리고 열씩을 움직였다. 예를 들어 앨리스가 25단계를 움직인 경로를 표시해보면 다음과 같다. 여기에서 각 숫자는 앨리스가 각 셀을 방문 순서를 나타낸다.
         앨리스는 여덟 번째 단계에서는 (2, 3) 위치에 있었고, 20번째 단계에서는 (5,4) 위치에 있었다. 단계 수가 주어졌을 때, 체스판이 매우 커서 움직일 수 있는 위치에 제이 없다고 할 때, 앨리스의 위치를 결정하는 프로그램을 만들어야 다.
         입력된 값에 대해 해당 단계에서의 앨리스의 위치 (x,y)를 나타내는 두 정수를 출력다. x는 열 번호, y는 행 번호를 나타낸다. 두 정수 사이에는 스페이스가 개 들어간다.
  • AseParserByJhs . . . . 14 matches
         RenameThisPage - 적저 이름과 하는 일이 필요할것 같아서. 궁리중 --["1002"]
          static bool GetAseAllInfo (FILE *s); // 각 노드의 헤더정보와, 연결된 피지크 정점 개수를 카운트하고 에니메이션 키가 없는 노드의 에니메이션 키를 1로 초기화다.
          static void ReleaseModels (); // s_AllList상의 모든 노드를 삭제다.
          static void UpdatePickedPoint (int &cl_x, int &cl_y, int &width, int &height); // Picking을 위해 윈도우 상의 클릭된 점의 좌표가 월드 좌표계 상에서 얼마인지 계산다.
          static vec3_t PickedPoint[2]; // 위의 함수에서 계산 결과가 저장된다.
          각 노드마다 자신의 상위 노드에 좌표계에 기준해서 자신의 좌표계로 이동시켜주는 메트릭스를 생성다.( -> AniTM)
          // : 루트 리스트에 트리 구조로이루어진 모델들을 링크 다.
         // 픽킹을 위해 클릭 된 점의 좌표를 계산다.
         // s_AllList상의 모든 노드를 삭제다.
          pM->bTexture_on = 1; //만약 텍스쳐 버텍스들이 존재다면 모델객체의 텍스쳐 플래그 온
          // 파싱 angular displacement?? 로 추정되는 것을..
          // 180도 이상되는 회전각을 가진 키에 대 처리
          // !! 여기서.. angle은 왼손 좌표계를 기준으로 다고 함..
          // 하이어라키 정보를 생성 후이므로..
  • AsemblC++ . . . . 14 matches
         MASM의 어셈블 코드를 [VisualStudio]에서 들여다 보는것 처럼 드래그하면 되는걸로 쉽게 생각했지만 그게 아니었다. VS를 너무 호락호락하게 본것 같다. 불가능 것은 아니어 보이는데 쉬워보이지는 않는다.
         그렇다면 [i++VS++i]에서 최적화된 i++ 어셈블 코드에 관 이야기, 연산자 오버로딩에 있어서 후치연산자++ 의 용도에 관 이야기들은 어떻게 해서 나오게 된것인지 궁금합니다.
         .exe파일의 어셈블 코드부분에 대 질문. [http://zeropage.org/wiki/AsemblC_2b_2b?action=edit 지식in]
          [i++VS++i]를 시작 사람이 접니다^^ 그걸 보고 관심을 갖는 사람이 있다니 반갑군요~ 혹시 누구신지요? --[상규]
         == 어셈블을 이용 [고급언어디버깅] ==
         어셈블 코드들을 쉽게 보여준다면 프로그램의 보안 문제에도 직접적으로 연관이 되는 군요. 수정에 관 보안장치도 있을 것이고요. 패리티 같은 단순 보안장치일지라도 코드의 무결성을 지키면서 어셈블을 수정하기란 쉬워 보이지 않네요. - 톱아보다
          .exe 파일에 대 어셈블리 코드는 역어셈블러(아래 상협이가 말 softice와 같은 프로그램)만 있으면 쉽게 얻을 수 있습니다. 수정에 관 보안장치도 전혀 없구요. 하지만 .exe 파일에 대 어셈블리 코드는 분석하거나 수정하는것 자체가 거의 불가능할 정도로 어렵습니다. 이유는... 시간이 없어서 나중에 쓰도록 하죠-_-; --[상규]
         처음에는 그냥 얼마나, 어떤식으로 컴파일러에 의해서 코드가 최적화되고 [IDE]의 버전과 종류에 따라서 어떤 차이가 존재할까 라는 단순 물음이었지만, 지금 보니 그렇게 코드를 파해치고 분석하는게 해킹이고 크래킹 인것 같기도 합니다;; - [톱아보다]
         Softice같은 프로그램을 사용해서 시리얼 번호가 있는 프로그램이나 날짜 제 프로그램을 크랙 하기도 합니다. 이번 디버깅 세미나에서 함 해볼라고 그랬는데 집에 있는 컴퓨터에서 그게 잘 안돌아가서 보류함. - [상협]
  • CCNA . . . . 14 matches
          * ethernet: CSMA/CD- 이더넷 통신에서 사용하는 프로토콜이다. 회선이 사용중이지 않을때 전송하고 충돌이 생기면 일정시간후 재전송다.
          * MAC 주소가 FF-FF-FF-FF-FF-FF 는 브로드캐스트로써 LAN상에 모든 PC에게 데이터를 전송다.
          * 유니캐스트 - 특정 PC 하나에게만 데이터를 보냄.
          * 네트워크에 대 표준 모델이며 실제로 사용되는것은 아니다.
          * TCP/IP란 프로토콜(Protocol)의 종류로 인터넷을 하기 위해 꼭 필요하다. ARPANET에 의해 처음으로 개발 되었으며 TCP/IP는 인터넷을 사용하는 컴퓨터라면 어디에나 세팅이 되어 있다.
          * 인터넷을 사용하기 위해서는 IP라는 주소가 필요하며 이 주소는 2진수 32개로 4묶음씩 구성된다. 각 묶음마다 10진수로 나타내어 알아보기 쉽게 만들었다. 현재 IP 버전은 4인데(IPv4) 약 43억개의 주소를 할당 할 수 있다. 그런데 이 주소가 얼마 남지 않아서 ip 버전 6으로 대체 할 것이라고 다.(IPv6은 2의 128개로 구성되어 있다고 함.)
          * 네트워크 영역에서 ip주소는 네트워크 부분은 다 같아야하고, 호스트 부분은 모두 달라야함.
          * ip주소에서 네크워크 부분과 호스트 부분을 나누는 방법을 약속 것이 ip주소의 class(A~E)
          //네트워크를 나타낼 땐 호스트 부분을 0으로 표현. 그리고 각 클래스에서 표현 가능것의 제일 작은 수와 제일 큰수는 사용불가.
          *호스트부분이 모두0은 네트워크, 1은 브로드캐스트 번호이므로 사용하지 않는다. -> 각 클래스에서 사용가능 최대 호스트수는 순계산-2해줘야함.
          * 서브넷 마스크 : 주어진 ip주소를 네트워크 환경에 맞게 나누어 주기 위해서 씌워주는 이진수 조합 -> 이름 그대로 보조로 다시 번 나눠준다.
          * 네트워크를 나눠 쓰지 않더라도, 디폴트 서브넷 마스크를 사용다.
         section9 이후는 서브네팅에 대 예시와 서브넷 마스크에 대 재정리(...)
  • ChainsawMassacre . . . . 14 matches
         캐나다 벌목인 협회에서 최근에 연례 벌목 경진 대회를 개최했는데, 몬트리올과 뱅쿠버 사이에 있는 국립공원의 나무들이 많이 잘려나갔다. 경진 대회가 끝나고 벌목인들이 모두 모여 즐기기 위 파티를 시작할 때가 되었다. 조직위원회에서는 이브닝 파티에 적합 무도회장을 만들기 위해 나무가 그루도 없는 넓은 직사각형 모양의 공터를 찾고 있다. 벌목인들은 모두 술이 취해서 아무도 전기톱을 가지고 작업을 할 엄두를 못 내고 있다.
         조직위원회에서 당신에게 무도회장으로 쓸 수 있는 가장 넓은 직사각형 영역을 찾아달라는 요청을 했다. 장소를 물색해야 할 전체 영역은 직사각형이며, 무도회장은 완전히 그 직사각형 안에 들어있어야 다. 그리고 무도회장의 각 변은 전체 영역을 나타내는 직사각형의 각 변과 평행해야 다. 무도회장은 주어진 영역의 경계에 닿아 있어도 된다. 그리고 무도회장 내부에만 나무가 없으면, 경계선 위에 나무가 있어도 상관없다.
         첫째 줄에는 시나리오 개수가 입력된다. 각 시나리오의 첫째 줄에는 주어진 영역의 길이 l과 너비 w가 미터 단위로 입력된다(둘 다 정수며 0보다 크고 10,000 이하다). 그 밑으로는 각 줄마다 다음 형식에 따라 나무 그루 또는 줄로 심어진 나무들을 설명하는 내용이 입력된다.
          * 1 × y - '1'은 나무가 그루라는 것을 의미하며, x와 y는 왼쪽 맨 위 지점을 기준으로 x와 y 좌표를 미터 단위로 표현 것이다.
          * k × y dx dy - k 가 1보다 크면 여러 그루의 나무가 줄로 심어져 있는 것을 나타내며, 그 좌표는 (x,y), (x+dx,y+dy),...,(x+(k-1)dx, y+(k-1)dy)이다.
          * 0 - 시나리오가 끝났음을 의미다.
         각 시나리오에 대해, 줄에 시나리오씩 무도회장의 최대 크기를 제곱미터 단위로 출력다.
  • ClearType . . . . 14 matches
         Microsoft 에서 주도 폰트 보정 기법의 하나로 기존의 안티얼라이징 기법과 최근에 나오고 있는 LCD Display 의 표현적 특성을 조합하여 폰트 이미지의 외관을 가히 극대화하여 표현하는 방식.
         LCD 디스플레이는 RGB의 색상체를 각 픽셀당 하나씩. 즉, 1개의 픽셀에 3개의 색상 표현 요소를 가지고 있다. 기존의 방식은 해당 픽셀을 하나의 요소로만 판단하여 폰트를 보정하여 출력해왔던 반면 ClearType 은 해당 픽셀의 3가지 요소를 개별적으로 컨트롤해서 표현하는 방식을 취다.
          * [MicroSoft]에서 개발 텍스트 벡터드로잉 방법.
          * [http://www.microsoft.com/typography/ClearTypeInfo.mspx ClearType기술 홈페이지] - 윈도우 적용 방법이나 기술에대 자세 소개.
          * CRT 보다는 LCD에서 더 큰 효과를 얻는다. (수평 해상도가 LCD가 CRT보다 높아서 그렇다고 다.)
          * 글에서의 ClearType
          * 영문은 거의 완벽하게 구현이 되었으나 글은 글자의 선 밀도가 영문보다 높아 구현에 어려움을 겪고있다.
          * 폰트를 매우크게하면 적용된 상태를 볼수 있다고 다.
          * 억지로 적용을 할수는 있지만 '를' 과 같은 글자는 '■' 처럼 보이기도 다고 다.
          * 특허문제로 Adove, Linux, Apple 들이 각 다른 방식의 벡터 드로잉 방법을 가지고 있다고 다.
         확실히 영문은 훨씬 더 잘보인다. - [이승]
  • CodeYourself . . . . 14 matches
         제가 영어 하는지라 페이지 이름이 쌩뚱맞을수도 있습니다. 마땅 이름이 생각나시면 [페이지이름바꾸기] 해주세요.
          ProgramingYourself라는 이름은 어떨까요? 우리 과 학생들에게 가장 중요 사항으로 보입니다. -[강희경]
         요즈음, 신입생들이 숙제때문에 고민을 많이 하는 것으로 알고있다. 프로그래밍, 조금 더 구체적으로 말하자면 C언어, 에 대해서 전혀 모르는 상태에서 일기를 프로그래밍 형식으로 써 보라니. 신입생의 입장에서는 어이가 없겠지만, 나의 생각은 조금 다르다. 오히려 이러 과제를 내 주신 교수님이 어떤 분인지 궁금할 정도로 흥미있고 유익 과제라고 생각다.
         모두 같지는 않겠지만 전산학과에 입학 신입생들이 언어를 배우는 단계를 보자면, ''처음엔 뭘 배우고 그다음엔 뭘 배우고 그다음엔 OS, SE'' 등등등, 정해진 순서와 틀 안에서 전산학의 이모저모를 접하게 된다. 이렇게 짜여진 순서에서 그리고 판에 박힌 수업안에 있다보면 자연히 그 안에 있는 학생들도 경직되어 있을 수 밖에 없다(다행이 중앙대학교 컴퓨터공학과에는 ZeroPage가 있다). 이렇게 느끼고 있는 상황에서 이 과제는 나에게 신선 충격을 주었다. 신입생들은 전혀 감을 잡지 못하고 이것을 어떻게 해야 할지 선배들에게 많은 조언을 구하곤 했지만(자문요청을 받은 대부분의 선배는 ''이러이러 방식으로 해라'' 라고 하면서 거의 C 문법에 가깝게 일기를 작성했다), 나는 이번 과제만큼은 선배들의 도움을 얻지 말고 자기 '''스스로''' 결과물을 만들었으면 하는 바램을 갖고 있다. 이번에 작성했던 자신의 프로그램 (그렇다. 일기가 아니고 프로그램이다)과 앞으로 자신이 배우게 될 프로그램을 비교해보았으면 좋을 것 같다. 그리고 순수하게 신입생의 사고로 만들어진 그 코드를 보고싶은 마음도 간절하다. - [임인택]
         C언어로 일기를 쓰라는 숙제가 있었나요? 재미있네요. 그런데 이건 좀 어려운 과제 같습니다. 왜냐하면, 프로그래밍의 일상적 시간 흐름과 정반대가 되기 때문입니다. 무슨 말이냐면, 프로그래밍이라는 행위는 시간의 순방향입니다. 내가 작성 프로그램은 미래에 일어날 사건(실행)에 대 청사진이죠. 하지만 일기는 주로 시간의 역방향입니다. 과거에 일어났던 일들을 정리, 기록하는 성격이 강하죠. 프로그램으로 과거의 일을 기록다는 것은 어찌보면 쉽지만 또 어찌보면 매우 어려운 문제일수도 있습니다. 신입생 입장에서는 시간의 흐름에 따라 일어났던 과거의 이벤트 연속을 적는 수준이면 될 것 같습니다. 아쉬운 것은, 이렇게 되면 조건 분기문을 활용하기가 어렵다는 점입니다. 힌트를 준다면, 리팩토링을 하면 가능합니다(내 하루의 중복을 어떻게 제거할지 생각해 보세요 -- higher-order function이 나올 정도면 상당히 진전된 것입니다). 어차피 과거의 기록 역시 "기술"(description)의 일종이고, 미래의 계획도 "기술"이니까요.
         이런 훈련이 되면 "과거형 프로그래밍"이 가능해집니다. 마치 과거에 일어난 일에 대 기술인 것처럼 프로그램을 작성하는 것이죠. 이것은 일종의 사고의 도구입니다. 이런 실험이 있습니다. 자신의 교수가 다가오는 여름휴가 때 뭘 할지 상상을 해서 종이에 적어보라고 학생들에게 시켰습니다. 다른 그룹의 학생에게는 그 교수가 이미 여름휴가를 다녀왔다고 가정을 하고 과거형으로 무슨 일을 했는지 적어보라고 했습니다. 후자의 그룹이 쓴 내용이 훨씬 더 풍부하고 자세했다고 합니다.
         자세 내용은 선배들에게 물어보세요.
  • CollaborativeFiltering . . . . 14 matches
         협업 (상호협동) 필터링, Recommender System이라고도 불림. ProjectPrometheus에서 사용다.
         problem space가 2차원 matrix 의 형태를 생각해본다. 행에 대해서는 item을, 열에 대해서는 user를 두고, 그에 따른 rating 을 값으로 둔다. 이 matrix 를 이용, CollaborativeFiltering 은 특정 사용자(user) i 에 대해서 rating 을 예측하고, item 들을 추천다.
          1. user인 i 와 비슷 흥미나 선호도를 가지는 사용자 집합(user set)을 선택다.
          1. 1 에서 선택된 user set 으로부터 user i 에게 적합 추천 item 을 예측해낸다.
          ex) 이 user set 에서 item j 에 대해서 높은 점수 (rating)을 주었을 경우, user i 에게 item j 를 추천다.
          1. 현재 이용중인 user 와 비슷 취향의 사용자 집합을 선택 - calculate user correlation
          1. 1에서 선택된 사용자 집합중 예측을 위 부분집합 선택 - neighbourhood selection
          * Coverage - 시스템이 추어진 item으로부터 추천 item 을 제공해주는 능력. (아마도 추천item품목수/전체item품목수 에 대 퍼센트이려나. 수정 필요)
          * Accuracy - 시스템이 추천 item 에 대 정확성 (추천 item에 대 사용자의 점수)
          * NoSmok:PrincipiaCybernetica 에 있는 아주 간단 개론(처음 보는 사람에게 추천) http://pespmc1.vub.ac.be/COLLFILT.html
          * [http://personalization.co.kr/person_method3.htm 글 개론]
  • DevOn . . . . 14 matches
          * [난해 언어] 개론과 [Befunge]
          * [http://www.bedroomlan.org/tools/befunge-93-playground befunge playground] : befunge에 대 설명, 코드 실행을 해볼 수 있다.
          * 개발자를 위 자연언어 이해하기: 개발자가 비개발자의 말을 더 잘 이해하기 위해
          * 개발자를 위 자연언어 이해하기: 생명의 언어 해독하기
          * [Lisp]을 이용 실시간 멀티미디어 프로그래밍
          * [정진경] - Gnome 3.10 즐기기는 잘 기억나지 않는다... 미안.. 진크리에이터... Wayland는 나름 도움이 되었는데, X 서버가 컴포지터가 인터프로세스 통신을 다는 사실을 처음 알게 되었다. Wayland는 X 서버와 컴포지터가 합쳐져 있는 형태이고, 프레임버퍼를 위 API가 제공된다는 것.. 이 부분은 나중에 공부해서 해당 페이지에 자세 내용을 기술할 필요가 있을 것 같다...
          * [정진경] - [파이어버그]의 기능들이 [파이어폭스]에 점점 합쳐지면서, 해당 기술들을 쓰는 것을 보여줬는데, [WebKit] 기반의 브라우저, 특히 [구글 크롬]과 크게 차별화된 점은 보지 못했다. 어느 정도 디테일 부분에서 다른 점들이 있는 것 같은데, 눈으로 봐서는 잘 기억나지 않는다. 내가 크롬 도구를 전문적으로 써본 게 아니라서 파이어폭스의 디버거가 어떤 점이 더 우수지는 잘 모르겠다. 기능 면에서는 부족하지 않은 것 같다.
          * 웹브라우져에서 실행가능 IDE
          * 통계적방법으로 자손을 만들어 효율성을 강화시킨 AI를 판만에 이기는데 성공. -[김태진]
          * 다음의 웹 접근성 테스트 프로세스에 대해 설명 들음. QA팀 외에 웹 접근성을 테스트하는 팀이 따로 있다고. 보통 QA가 전부 다 하는게 아닌가 했지만 2013 하반기 신입전형에서 웹 접근성 보고서를 읽고 1500자 글을 쓰게 것으로 보아 매우 진지하게 생각하고 있는듯. - [서지혜]
          * 내용은 뻔 것 같아서 제대로 듣지도 않았지만 철수형을 처음 볼 수 있었음다. -[태진]
  • Doublets . . . . 14 matches
         딱 글자만 서로 다른 쌍의 단어를 더블릿이라고 부른다. 예를 들어 'booster'와 'rooster', 'rooster'와 'roaster', 'roaster'와 'roasted' 등은 모두 더블릿이다.
         단어의 최대 길이는 16글자고 최대 25,143개의 단어(모두 소문자)가 들어있는 사전이 주어진다. 그리고 몇 쌍의 단어가 주어진다. 각 쌍의 단어에 대해 첫번째 단어로 시작해서 두번째 단어로 끝나고, 서로 인접 각 단어 쌍이 더블릿인 가장 짧은 단어 시퀀스를 찾아라. 예를 들어 'booster'와 'roasted'라는 단어 쌍이 입력되면, 그리고 여기에 있는 단어들이 모두 사전에 들어있으면 'booster', 'rooster', 'roaster', 'roasted'라는 시퀀스가 답이 될 수 있다.
         입력은 사전과 몇 쌍의 단어로 이루어져있다. 사전은 몇 개의 단어로 구성되는데 줄에 단어씩 들어가며 사전이 끝나면 빈 줄이 개 입력된다. 그 다음 줄부터는 각 줄마다 쌍씩의 단어가 입력되며 줄에 있는 두 단어는 스페이스에 의해 구분된다.
         입력된 각 단어 쌍에 대해 첫번째 단어로 시작해서 두번째 단어로 끝나는 가장 짧은 단어 시퀀스를 줄에 단어씩 출력다. 위 아래에 있는 두 단어는 더블릿이어야 다.
         가장 짧은 시퀀스가 여러 개 나오면 그 중 아무 시퀀스나 출력해도 된다. 답이 없으면 {{{~cpp "No solution."}}}이라고 출력다. 각 케이스 사이에는 빈 줄을 하나씩 집어넣는다.
         아~ 완전 어려워요 - [이승]
  • HowToStudyXp . . . . 14 matches
         제가 공부 경험을 토대로 "만약 다시 공부다면...":
         XP를 이해하려면 다음 기본 자료에 대 이해가 우선되어야 합니다.
          * XP Installed (Ron Jeffries et al) : C3 프로젝트에 적용 예, 얻은 교훈 등
          * ["Refactoring"] (by Martin Fowler) : 리팩토링에 대 최고의 책
          * XP in Practice (Robert C. Martin et al) : 두 세 사람이 짧은 기간 동안 간단 프로젝트를 XP로 진행 것을 기록. Java 사용. (중요 문헌은 아님)
          * The Psychology of Computer Programming (Gerald M. Weinberg) : 프로그래밍에 심리학을 적용 고전. Egoless Programming이 여기서 나왔다.
          * Agile Software Development (Alistair Cockburn) : 전반적 Agile 방법론에 대
         KentBeck 스스로가 XP Explained를 만약 다시 쓴다면 뜯어 고치고 싶은 부분이 상당히 된다고 말하는 것을 보아도 알 수 있듯이, 초기 XP 이후 바뀐 점, 보완된 점이 상당수 있습니다. 따라서, 책만으로 XP를 공부하기는 힘듭니다. 지금은 책 속의 XP가 사람들의 머리 속 XP에 참 뒤쳐져 있습니다.
         어찌되었건, XP에는 무술이나 춤, 혹은 악기 연주 등과 유사 면이 많습니다. 따라서, 글을 보고 그것을 익히기는 쉽지 않습니다. 그나마 메일링 리스트 같은 "대화"를 보면 훨씬 더 많은 것을 얻을 수 있기는 하지만, 태권도 정권 찌르기를 말로 설명해 내는 것이 불가능에 가깝듯이 XP를 언어를 통해 익히기는 정말 어렵습니다. 우리의 언어는 너무도 성글은 미디어입니다. (XP는 매 초, 매 순간 벌어지는 "일상적" 장면 장면의 연속들이 매우 중요합니다.)
         이게 힘들면 같이 스터디를 하는 방법이 있습니다(스터디 그룹에 관 패턴 KH도 참고하시길. http://www.industriallogic.com/papers/khdraft.pdf). 이 때 같이 책을 공부하거나 하는 것은 시간 낭비가 많습니다. 차라리 공부는 미리 다 해오고 만나서 토론을 하거나 아니면 직접 실험을 해보는 것이 훨씬 좋습니다 -- 두사람 당 대의 컴퓨터와 커대란 화이트 보드를 옆에 두고 말이죠. 제 경우 스터디 팀과 함께 저녁 시간마다 가상 XP 프로젝트를 많이 진행했고, 짤막짤막하게 프로그래밍 세션도 많이 가졌습니다.
  • IsBiggerSmarter? . . . . 14 matches
         어떤 사람들은 코끼리가 클수록 더 똑똑하다고 생각다. 그런 생각이 틀렸다는 것을 증명하기 위해, 일련의 코끼리들을 분석해서 체중은 증가하는 순서로, IQ는 감소하는 순서로 된 가장 긴 시퀀스를 뽑아보자.
          줄에 마리씩, 여러 코끼리에 대 정보가 입력된다. 파일 종료 문자가 입력되면 입력이 끝난다. 각 코끼리에 대 정보는 쌍의 정수로 입력되는데, 첫번째 정수는 체중을 킬로그램 단위로 나타낸 것이고, 두번째 정수는 IQ에 100을 곱 값이다. 두 정수는 모두 1 이상 10,000 이하다. 최대 1,000 마리의 코끼리에 대 정보가 입력될 수 있다. 체중이 같은 코끼리가 두 마리 이상 있을 수 있으며, IQ가 같은 코끼리가 두 마리 이상 있을 수도 있다. 그리고 체중과 IQ가 모두 똑같을 수도 있다.
         첫째 줄에는 찾아낸 코끼리 시퀀스의 길이를 나타내는 정수 n을 출력다. 그 밑으로는 n줄에 걸쳐서 각 코끼리를 나타내는 양의 정수를 하나씩 출력다. i번째 데이터 행으로 입력된 숫자들을 W[i], S[i]라고 표기해보자. 찾아낸 n마리의 코끼리의 시퀀스가 a[1], a[2], ... ,a[n] 이라면 다음과 같은 관계가 성립해야 다.
         이런 관계가 만족되면서 n은 최대 큰 값이어야 다. 모든 부등호에는 등호는 포함되지 않는다. 즉 체중은 반드시 증가해야 하며(같으면 안됨), IQ는 감소해야 다.(IQ도 같으면 안 됨). 조건이 맞으면 아무 답이나 출력해도 된다.
  • MoniWikiTutorial . . . . 14 matches
          * '''무엇이나''': 어떠 페이지라도 상관없이
         이러 위키의 기본 특성은 위키위키를 매우 강력하게 만들었고, 여러가지 안전장치가 더해져서 오늘날의 위키위키가 되었습니다.
          * 사용자 ID: 영문으로 사용자 ID를 만들 경우 보통 소문자 구성된 사용자 ID를 만드는 것이 일반적이지만, 위키위키에서는 FooBar같은 낙타식 사용자 ID를 종종 사용합니다. 글로 만드셔도 됩니다.
          * 비밀번호: 웹상의 비밀번호는 안전 비밀번호가 아닙니다. 자신만이 기억할 수 있는 간단 비밀번호를 넣습니다.
         자세 내용은 HelpOnNavigation을 참조하세요.
         줄의 내용 전체가 같은 개수의 "=" 기호로 둘러쌓여 있는 경우. 이때 "=" 기호와 내용은 공백으로 분리되어 있어야 하며 그 줄은 "="기호의 개수만큼의 깊이를 가지는 제목줄이 됩니다. 예: [[BR]] `== 두번째 레벨 ==`
         자세 내용은 HelpOnMacros를 참고하세요
          * 페이지가 발견되면 그 페이지로 갈 것이고, 발견되지 않으면 비슷 이름의 페이지 목록을 보여줍니다.
          * 비슷 주제의 다른 페이지가 없다면 페이지 만들기를 가리키는 아이콘 혹은 링크를 눌러줍니다.
          * 페이지를 만들때는 Template를 사용하면 편리 경우도 있습니다.
         페이지를 만들기 전에 비슷 주제 혹은 약간 다른 이름의 페이지가 이미 있는지 확인해 보시기 바랍니다.
         위키위키에 대해 더 궁금 내용이 있다면 다음을 참고해 보시기 바랍니다.
          * [wiki:KLDPWiki:FrontPage KLDP 위키] : 국내 오픈소스 개발자들을 위 위키 사이트
  • Monocycle . . . . 14 matches
         외발자전거는 바퀴로 가는 자전거를 말다. 다음 그림에 나와있는 것처럼 다섯 개의 서로 다른 색이 칠해져 있는 특별 바퀴가 달려있는 외발자전거를 생각해보자.
         색이 칠해진 부분은 전부 똑같은 각도(72')만큼 벌어져 있다. 어떤 사람이 정사각형 타일로 만들어진 M × N 격자 위에서 이 외발자전거를 탄다. 타일의 중심에서 바로 옆 타일의 중심으로 외발자전거를 타고 이동하면 바퀴가 정확하게 72' 회전하게 되어있다. 위 그림을 보면 어떤 식인지 알 수 있을 것이다. 바퀴가 1번 타일의 중심에 있을 때, 파란색이 칠해진 부분의 중점이 바닥에 닿아있다. 바퀴가 다음 타일(2번 타일)중심으로 이동하면 흰색으로 칠해진 부분의 중점이 바닥에 닿게 된다.
         격자에 있는 정사각형 중 몇 개는 자전거가 갈 수 없게 막혀있다. 그 자전거를 탄 사람은 위치에서 시작해서 어떤 다른 위치로 최단 시간 안에 도착하려고 다. 정사각형 위에서 그 자전거는 다음 정사각형으로 이동하거나, 같은 정사각형 내에서 왼쪽이나 오른쪽으로 90' 회전할 수 있다. 이런 동작을 하는 데 각각 1초가 걸린다. 자전거는 반드시 북쪽을 향하고, 바퀴에서 녹색 부분의 중점이 지면과 접하고 있는 상태에서 출발다. 도착 지점에서는 자전거의 방향은 상관없지만 지면과 접하고 있는 부분은 녹색이어야 다.
         각 테스트 케이스에 대해 먼저 아래 출력 예에 나와있는 식으로 테스트 케이스 번호를 출력다. 자전거가 도착지점에 갈 수 있으면 아래에 나와있는 형식에 맞게 초 단위로 그 지점에 가는 데 걸리는 최소 시간을 출력다. 그렇지 않으면 "destination not reachable"이라고 출력다.
         서로 다른 테스트 케이스 사이에는 빈 줄을 하나씩 출력다.
          || 김상섭 ]] || C++ || 무루프..ㅡㅜ || [Monocycle/김상섭] ||
  • NamedPipe . . . . 14 matches
         통해 Server / Client 통신이 가능하게 만들어 주는 역할을 다.
          // 쓰래드 함수를 생성다.
          // zero, GetLastError returns ERROR_PIPE_CONNECTED. // 만약 0 값이 리턴이 될 경우 ERROR_PIPE_CONNECTED를 리턴다.
          // Create a thread for this client. // 연결된 클라이언트를 위 쓰레드를 생성시킨다.
          // Request 에 대 대답을 chReply 버퍼에 넣어준다.
          // chReply를 대답다.
         // 읽기와 쓰기 모두 가능 모드라고 나와 있다.
         실제 예제 파일 NamedPipe를 이용 Chat Program [http://www.zeropage.org/pds/20031103027/NamedPipe.zip]
         || {{{~cpp CreateNamedPipe}}} || Named Pipe를 생성다.||
         || {{{~cpp CreatePipe}}} || anonymous Pipe를 생성다.||
         || {{{~cpp GetNamedPipeHandleState}}} || 특정 Named Pipe에 대 정보를 얻는다.||
         || {{{~cpp GetNamedPipeInfo}}} || 특정 Named Pipe에 대 정보를 얻는다.||
         || {{{~cpp SetNamedPipeHandleState}}} || {{{~cpp NamedPipe}}}의 {{{~cpp ReadMode}}} , {{{~cpp Block}}} 상태를 Set다.||
         || {{{~cpp WaitNamedPipe}}} || Connection 상태에서 Time-Out OR 정해준 시간이 되기 전까지 Wait다. ||
  • OpenCamp/첫번째 . . . . 14 matches
          * 발표하는 입장이어서 좀 많이 떨렸었습니다. 발표하는 주제가 별로 재미있거나 신기건 아니어서 사람들 지루해할 것 같았는데 들으신 분들은 어땠는지 잘 모르겠네요. 나중에라도 자바스크립트를 공부할 때 기억이 나서 도움이 됐으면 좋겠습니다. 그 외에 듣는 입장에서는 web의 기본 protocol이나 ajax, node.js에 대 설명이나 웹 헤더의 분석 그리고 jquery, php의 실습 등 이론 부분과 실습 부분 다 재미있었습니다. 하지만 다음번 자바 발표는 좀 무섭네요... - [서영주]
          * 데블스 때도 그랬지만 남들 앞에서 발표를 다는 건 상당히 떨리는 일이네요. 개인적으로는 이번 발표를 준비하면서 방학 동안 배웠던 부분에 대해서 다시 돌아보는 기회가 되었습니다. 그리고 그 외에도 방학 동안에 다루지 않았던 native app을 만드는 것이나 분석용 툴을 사용하는 법, Node.js, php 등 다양 주제를 볼 수 있어서 좋았습니다. 물론 이번 Open Camp에서 다룬 부분은 실제 바로 사용하기에는 약간 부족함이 있을 수도 있겠지만 이런 분야나 기술이 있다는 것에 대 길잡이 역할이 되어서 그쪽으로 공부를 하는 기회가 될 수 있으면 좋겠습니다. - [서민관]
          * 1시간 늦게 왔는데 데블스 캠프를 번도 겪어보지 못 저는 참 좋은 경험을 것 같습니다. node.js 영상 볼때 우리도 빨리 저런거(아두이노 같은거) 만지고 놀았으면 좋겠다는 생각을 했어요. 웹언어에 좀 더 능숙했다면 더 많이 감탄했을텐데 그러지 못해서 아쉬웠습니다. jQueryUI 십습해볼땐 정말 재밌었어요 간결함에 감탄. - [고종]
          * 데블스도 그렇고 이번 OPEN CAMP도 그렇고 항상 ZP를 통해서 많은 것을 얻어가는 것 같습니다. Keynote는 캠프에 대 집중도를 높여주었고, AJAX, Protocols, OOP , Reverse Engineering of Web 주제를 통해서는 웹 개발을 위해서는 어떤 지식들이 필요 지를 알게되었고, NODE.js 주제에서는 현재 웹 개발자들의 가장 큰 관심사가 무엇있지를 접해볼 수 있었습니다. 마지막 실습시간에는 간단 웹페이지를 제작하면서 JQuery와 PHP를 접할 수 있었습니다. 제 기반 지식이 부족하여 모든 주제에 대해서 이해하지 못 것은 아쉽지만 이번을 계기로 삼아서 더욱 열심히 공부하려고 합니다. 다음 Java Conference도 기대가 되고, 이런 굉장 행사를 준비해신 모든 분들 감사합니다. :) - [권영기]
  • OurMajorLangIsCAndCPlusPlus/locale.h . . . . 14 matches
         location specific information 를 setting 하는데 유용 라이브러리
         #define LC_ALL (integer constant expression) 모든 카테고리에 대 로케일 설정을 위 환경변수이다
         #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) 금액이 아닌 숫자 표현(천단위, 소수점, 숫자 그룹핑 등)을 위 로케일 설정
         #define LC_TIME (integer constant expression) 시간과 날짜의 표현(년, 월, 일에 대 명칭 등)을 위 로케일 설정 예를 들어 strftime(), strptime()
         || struct lconv* localeconv(void); || lconv 구조체를 현재의 location setting 에 맞게 값을 설정다. ||
         || char* setlocale(int category, const char* locale); || category에 대해 로케일 locale을 설정하고 (물론, 사용 가능 로케일인 경우), 설정된 로케일값을 리턴. ||
          /* 로케일을 변경하고 subroutine을 수행다. */
          /* 원래의 로케일로 복귀다. */
  • Plugin/Chrome/네이버사전 . . . . 14 matches
          * 크롬은 아시다시피 Plug-in을 설치할수 있다 extension program이라고도 하는것 같은데 뭐 쉽게 만들수 있는것 같다. 논문을 살펴보는데 사전기능을 쓰기위해 마우스를 올렸지만 실행이 되지 않았다.. 화난다=ㅂ= 그래서 살짝 살펴보니 .json확장자도 보이는것 같지만 문법도 간단하고 CSS와 HTML. DOM형식의 문서구조도 파악하고 있으니 어렵지 않을것 같았다. 그래서 간단히 네이버 링크를 긁어와 HTML element분석을 통해 Naver사전을 하는 Plug-in을 만들어볼까 다.
         flickr에서 permission을 받아 사진을 긁어오는 플러그인을 만드는것 같다. 파일구성은 HTML안에 스타일을 적용하는 CSS. AJAX, Javascript를 이용하여 (AJAX의 정의를 알아보아야겠다 ) 내용을 구성다. json을 통해 뭘 하는건가. 흥미롭군.
         영어로 보는게 더 자세하지만 난 국인이라. 간단히 말하자면 인터넷에서 자료를 주고받을때 그 자료형식을 정의하는 문서인데 javascript구문을 사용하는 파일이다. xml보다 web에서 효과적이기 때문에 web상에서 쓰인다고 다. 좋은거 배우네.
         Ajax는 비동기식으로 데이터를 주고받기 위해 (A는 Asyncronous) HTML과 CSS 동적 정보 표시를 위 동적 언어와 DOM문서형 구조를 가진 XML, json만이 Ajax를 뜻하는 것이 아니라 이런 조합으로 이루어진 비동기 웹 어플리케이션 기법을 뜻다.
          * 따라하다가 실수점 : manifest.json파일을 menifest.json이라 해서 update가 안됨. json정의할때 다음 element를 위해 , 를 붙여야하는데 안붙여서 에러. 그렇지만 나머지는 복붙해서 잘 가져옴.
          * 위의 na-open_window는 임의로 만든 함수긴데 status_bar나 기타 스크롤이 가능하지 않은 popup을 만들고 있다. 0은 false니까.
          * 충격과 공포다. 구글에서 제공해준 Sample이 잘못되있어서 참을 해멨다.
          * '''이건 매우 강조되어야다.'''
          * inline script를 cross script attack을 방지하기 위해 html과 contents를 분리 시킨다고 써있다. 이 규정에 따르면 inline으로 작성되어서 돌아가는 javascript는 모두 .js파일로 빼서 만들어야다. {{{ <div OnClick="func()"> }}}와 같은 html 태그안의 inline 이벤트 attach도 안되기 때문에 document의 쿼리를 날리던가 element를 찾아서 document.addEventListener 함수를 통해 event를 받아 function이 연결되게 해야다. 아 이거 힘드네. 라는 생각이 들었다.
          * Chrome extention의 overview를 읽어보았는데 다양 기능을 지원다. 그중에 extention에서 기본으로 제공하는 background.html이라는것이 있는데 이것이 extention기능으로 넣어놓은 script를 모두 포함하고 메인 페이지 밑단에 background에서 계속돌아가면서 이벤트 체킹이나 데이타 처리를 해주는것 같았다. 아직도 정확히 모르겠다 - 2012/7/3
  • ProjectVirush/Rule . . . . 14 matches
         * 명령을 수행하는데는 현실 세계의 시간이 필요하다. 따라서 플레이어는 게임에 접속해서 명령이 수행될 시간을 예약다. 그리고 예약 시간에 자신의 명령이 수행되었는지를 다음 번에 확인하고 새로운 전략을 세운다.
         * 생명체가 숙주이며 이차원 공간(지구표면)에 넓게 분포다.
         * 숙주 안에서 잠복다. 이 때는 숙주의 면역 반응을 일으키지 않는다.
         * 숙주 안에서 잠복기가 지나면 급격히 증식다.
         * 숙주가 감염 유발 행동을 하도록 만들어서 다른 숙주를 만났을 때 감염시키도록 다.
         * 기본적으로 일정 방향성 없이 움직인다.
         * 번식다. 즉 새로운 숙주를 탄생시킨다.
          * 숙주는 기본적으로 모든 바이러스를 잡을 수 있는 항체를 어느 정도 갖는다. (이를 '''기본 항체'''라고 다.)
          * 기본 항체가 새로운 바이러스를 잡기에 모자라는 경우(바이러스 사살 속도<바이러스 증식 속도), 숙주는 새로운 바이러스임을 알아차리고 이에 특화된 항체를 생산다. 특화된 항체는 기본 항체보다 바이러스 사살 속도가 빠르다.
          * 번 특화된 항체를 생산 경우 이를 '''습득 항체'''라고 하고, 특화된 항체를 생산하는 과정이 빨리 일어난다.
         * 플레이어끼리 암투 - 상대 약점을 이용해서 경쟁다. 자기 바이러스에 유리하도록 숙주를 조종하거나 상대 바이러스에 대 면역이 생기도록 일종의 예방접종용 바이러스(백신)을 퍼트린다.
  • ProjectZephyrus/ThreadForServer . . . . 14 matches
         이 아주 간단하고 단순 프로그램을 수행하기 위해서 아래의 두가지 라이브러리가 필요 하다. 다운 받아서 클래스 패스에 잡아 놓기 [[BR]]
          글구 아까 상규테 MySQL 사용법 대충 들었습니당 -재동-
          * 메신저에서 A라는 사람이 B라는 사람을 대화상대로 추가했다. B라는 사람이 접속중이라면 "A라는 사람이 당신을 추가했습니다"라고 알려줘야 다. B라는 사람이 접속중이 아니라면 로그인 할 때 "A라는 사람이 당신을 추가했습니다"라고 알려줘야 다.... --상규
         당일 월드컵 경기가 있을것 같으니, 동시에 두가지를 다는 것은 안되겟지, 근데 이건 아니군 --;;
         거기에 가지만 더 다면,
         하지만 다행이 이 글을 일요일에 봤다면, 9일에 마쳤으면 다.
         그후 남은 할일이라면, 현재 InfoManager가 다른 package임에도 불구하고 command package에 대
         ["ProjectZephyrus/Server"]에 피드백이 있기를 바랬는데, 너무 과 기대였나 싶구나.
         Server팀이 Client팀에게, Client팀이 Server팀에게 디자인에 대 설명을 하고
         데블스 캠프가 끝난 이후, 혹은 데블스 캠프 중에 이루어 질수도 있다고 생각다.
          * 저도 오늘(월욜)까지 작업 왠만큼 끊내놓을께요 편, wincvs 안쓸랍니다 eclipse 써야지 원...--재동
          * 혹시 자네가 branch 만들었나? 기록에는 그렇게 되어 있는데? 그리고 위에 정확히 언급이 안되어 있는가 본데, 낮에 잠깐 설명데로 끝났다. 진행 상황은 ["ProjectZephyrus/Server"]에 기재해 두었으므로 참고하도록. --["상민"]
  • RedundantArrayOfInexpensiveDisks . . . . 14 matches
         통칭 RAID 시스템이라 불리는 디스크 성능 향상 법에 대 내용
         stripe 라고도 하며, 저가형 RAID 카드에서 주로 지원하는 방식이다. 하드 디스크의 속도를 향상시킬 목적이라면 이것이 최적이다. 병렬로 하드 디스크들을 묶어서, 데이터를 읽거나 쓸때 병렬로 기록하고, 병렬로 읽어오는 방식이다. 이론상으로는 n 개의 하드디스크를 stripe 로 묶었을때 n 배의 성능 향상이 있게 된다. 묶인 하드 디스크들이 하나의 논리적인 드라이브를 구성하는 방식이며, 이것이 하드웨어 레벨에서 지원되기때문에 OS 에서는 완벽하게 하나의 하드디스크로 동작다. 단점으로는, 하나의 하드 디스크에 결함이 생겼을때, 논리적으로 하나인 드라이브이므로, 같이 사망 되겠다.
         shadowing 혹은 mirroring 이라고 부르며, 단어 그 자체 대로, 여러개의 디스크에 완벽하게 동일 자료를 저장다. 물론 읽어오는 작업을 할 때에는 병렬로 읽어올 수 있기때문에 성능향상이 있지만, 쓰기작업을 수행할때는 하나의 디스크를 사용하는 것과 차이가 없다. 조금 무식 방법이지만 자료의 무결성을 보장하려고 할때 가장 확실 방법이기도 하다.
         워드를 바이트 단위로 쪼개서 스트라이프 하고, 그에대 ECC 코드를 ECC 디스크들에 저장다. ECC 에 의해 실시간으로 에러 정정이 가능하며 빠른 읽기가 가능하다. 다만, 자료를 기록할때마다 ECC 가 그에 반영되어야 하므로 ECC 디스크들에 병목현상이 나타날 수 있으며, 이 이유로 쓰기 성능은 그다지 향상되지 않는다. 이 레벨의 RAID 를 지원하는 하드웨어는 없다.
         디스크들을 스트라이프 하고, 하나의 다른 디스크에 스트라이프 된 디스크들의 패리티를 저장다. 비교적 간단하게 구현되는 편이며, 이것 역시 RAID 2 처럼 패리티 디스크에 병목현상이 발생다.
         RAID 3 과 여러가지 면에서 비슷하다. RAID 4 에서는 스트라이프 되는 단위가 일반적으로 디스크의 섹터 단위이며 그에 따라, 섹터 하나에 담기는 정도의 작은 파일을 입출력할때에는 성능향상이 없다. 다만 섹터 여러개에 저장되는 파일이거나, 아니면 동시에 여러 파일을 접근할때에 성능향상이 있게 된다. 그리고 또 섹터단위의 패리티가 패리티 디스크에 저장되므로 RAID 3 처럼 패리티 디스크에 병목현상이 생기게 된다.
         RAID 3 과 4 와 비슷 하지만, 패리티가 하나의 독립된 디스크에 저장되지 않고, 스트라이프를 구성하는 각 디스크에 분산되어 저장된다는 점이 다르다. 이로 인해서 패리티 디스크에 부담을 막을 뿐만 아니라 패리티 디스크의 병목현상까지 방지다.
         기본적으로 RAID 5 와 비슷 구성이다. 2-dimentional array 로 디스크들을 구성하며, 각각의 row 와 column 에 패리티를 사용하여 두개까지의 디스크가 동시에 문제를 일으키더라도 정상 동작을 가능하게 다. 1987년에 제정된 최초의 RAID 표준으로부터 처음 나온 추가 레벨이다.
  • RubyLanguage/Container . . . . 14 matches
          * 객체로의 참조를 차례대로 나열 것.
          * 객체 자체를 변경하면 그 객체를 참조하고 있는 모든 배열요소의 값도 변화다.
          * 배열의 요소가 동일 자료형일 필요는 없다.
          * 0부터 시작다.
          * 해당하는 요소가 존재하지 않는 첨자에 대해서는 nil을 반환다.
         }}}[[FootNote('''p 메서드''' : 객체를 디버그에 적합 형식으로 문자열화하여 출력하는 메서드로 주로 디버그 출력을 위해 사용. 디버그, 학습, ShortCoding 이외에는 사용하지 않는 것이 좋다.)]]
          * 길이를 포함 첨자
          * [] 연산자에 대입문을 결합 형태
          * 길이를 포함 첨자나 범위 첨자를 사용 경우, 우변에 복수 개의 값을 취할 수 있다.(line 5, 6)
          * 좌변에 지정 요소개수보다 우변 식이 많은 경우 배열의 크기를 늘려서 대입다.(line 9)
          * 배열 객체끼리는 대응하는 요소가 모두 동일할 경우에 해서만 같다.
         모든 배열은 Array 클래스의 인스턴스로, 배열은 그 자체가 객체이다. 배열은 다양 메서드를 통해 조작할 수 있다.
  • SibichiSeminar/TrustModel . . . . 14 matches
          * 연구실에서 Trust Model에 대 일을 하고있어서.
          1. 웹에는 정보도, 의견도 너무 넘쳐서 오히려 적절히 판별해서 받아들이기 힘들 지경이라 이런 연구가 필요 것 같네요.
          1. 요새 간단 검색 서비스''?''를 구현하고 있어서 중간에 루씬에 대 내용에 혹했습니다. 나도 루씬 인 액션을 볼까...
          1. TrustModel에 대 것과 별개로 프리젠테이션 것도 정말 중요 내용이라 오늘 온 새내기분들이 잘 기억하고 계셨으면 좋겠습니다. 버전 관리의 필요성이나 유용함에 대해서는 직접 느껴봐야 와닿을거예요. ZeroPage에서 느낄 수 있는 기회를 마련하도록 하겠습니다. - [김수경]
          * 홍기가 대학원에서 짱박혀 있더니 이런걸 하고 있었군요,, 군대 갔다 온 사이에 너무 멀리 가 버린 느낌? ㅋㅋㅋ 아무튼,, 자료구조 시간에 Pre-test라는 형식으로 검색 방식에 관 희소 행렬과 관련 지었던 문제가 생각이 나는 그런 세미나였습니다. 뭐 제가 본 Pre-test는 그래도 쉽게 접근할 수 있게 해 놨었는데 역시나 자세히 들어가니 뭔가 복잡하기도 하다는 느낌도 들더군요. 마지막 즈음에 M-16과 장난감 총으로 든 예시는 재밌으면서도 어딘가 편으로는 씁쓸 생각이 들기도 하는.. 뭐 그랬습니다. - [권순의]
          * 음.. 어려운 내용이었습니다. 추상적으로 이해하고 끄덕끄덕... 견문이 좁은 탓이겠지요. ㅜㅜ 뒷부분은 재밌었습니다. 지난 주에 언급했던 커뮤니케이션의 실패와 관련이 있을지도... 버전 관리 얘기도 나왔는데, 그 부분이 궁금하네요. 그렇다 할만 팀워크를 해본 적이 없어서요. 코드를 구역 별로 나눠서 동기화하는 방법이 적절할 것 같은데. 이런 일을 돕는 프로그램이 있는거죠? -_-; - [정진경]
          * 세미나를 보면서, 와.. 저런걸 여기서(우리 코앞에 있는 연구실)도 구현하는구나.. 라는 생각이 들어서 뭐랄까, 진짜로 뭔가 연구하는데 다가간다는 느낌이 들었네요. TrustModel과 비슷걸 만들고자 하는 사람들을 아는데, 저런식으로 아예 수치화 시키는게 역시 효율적인가.. 라는 생각도 들었구요, 후에 연구실(다른데인가?)에 들어간다면 저런걸 하는걸 보게/혹은 후에는 직접 하게될 수 있다는 사실에 나름 다시 감탄(?)했어요. ..아, 개발자와 기획자가 상상하는 것에서 상당히 그럴듯하다고 생각했어요.(창설에 이렇게 만들어달라고 하면 상당히 다른 모양이 탄생하곤 했지요) -[김태진]
          * 세미나 주제가 참 놀라웠습니다. 페이스북을 이용해 관심사가 같은 사람들을 엮어주는 앱은 이미 나와있지만, 이건 일일히 사용자가 입력을 해야하는데, TrustModel은 프로그램이 알아서 다해주는것 같더군요. 지식이 얇아서 여기까지밖에 이해 못했습니다. 꺼이꺼이. 세미나 막간에 넣은 M-16인용 개발자-기획자-디자이너의... 뭐라고 해야하나요. 암튼 재밌게 잘 봤습니다. 삼위일체가 답이군요. 하하하하.. 정확 커뮤니케이션은 정말 힘든것 같아요. 새내기 다운 새내기가 없다는 말씀을 자꾸 하셨는데.. 저 새내기 맞아요 ㅜㅠ C언어도 학교 오고나서야 처음으로 알았어요 ㅜㅠ - [고종]
  • TheGrandDinner . . . . 14 matches
         올해 ACM 국제 대회 결선에 참가 모든 팀은 시상식 후에 있는 대만찬에 참석해야 다. 서로 다른 팀에 속 멤버들이 최대 서로 어울릴 수 있게 하기 위해, 테이블에 같은 팀에 속 멤버가 두 명이상 앉을 수 없도록 했다.
         각 팀에 속 멤버들의 수(경시대회 참가자, 감독, 후보 선수, 참관인 모두 포함)와 각 테이블에 앉을 수 있는 사람 수가 주어졌을 때 처음에 정 규칙대로 모두 앉을 수 있는지를 결정해야 다. 규칙대로 앉을 수 있다면, 좌석 배치 방법을 출력다. 여러 방법으로 배치할 수 있는 경우에는 아무 방법이나 출력해도 된다.
          개 이상의 테스트 케이스가 입력된다. 각 테스트 케이스의 첫째 줄에는 팀 수를 나타내는 1 이상 70 이하의 정수 M과 테이블 개수를 나타내는 1 이상 50 이하의 정수 N이 입력된다. 각 테스트 케이스의 둘 째줄에는 M개의 정수가 입력되는데, i번째 정수는 i번째 팀의 멤버 수를 나타낸다. 각 팀의 인원은 100명을 넘지 않는다. 셋째 줄에는 N개의 정수가 입력되며, j번째 정수인 n<sub>j</sub>는 2 이상 100 이하며 j번째 테이블에 앉을 수 있는 사람 수를 나타낸다.
         각 테스트 케이스에 대해 좌석을 배치할 수 있으면 1을, 그렇지 않으면 0을 출력다. 배치가 가능 경우에는, 그 밑으로 M줄에 걸쳐 좌석 배치를 출력하는데, i번째 줄에는 i번째 팀 멤버들이 앉을 테이블 번호(1에서 N까지)를 출력다.
  • ZIM . . . . 14 matches
         현재 BBS를 접속 사람들간의 대화수단.
          * ["ZIM/EssentialUseCase"] - 요구 분석 문서를 겸 유스케이스들. (by 시스템 엔지니어)
         DeleteMe) * 용어 정리에 관 페이지가 필요것 같습니다. 이는 추후 유지/보수에 도움이되겠죠? (ZIMMER 가 ZIM 을 쓰는 사람이란 뜻인가요?) -- 이선우
          ''예. 맞습니다. ["ZIM/ConceptualModel"] 의 Zimmer에 대 정의를 비워놨었었군요.''
          * Time, Cost, Quality에 최적이 되도록 프로젝트를 관리다.
          * 고객의 요구사항을 추출하여 시스템의 요구사항을 정의다. (Analysis)
          * 추출된 요구사항을 구현하는 방법을 정의다. (Design)
          * 전체 프로젝트의 작업산출물들(각종 문서 및 소스코드등)을 관리다.
          * 리뷰나 교육을 통해 품질을 보장하도록 관리다.
          * 각종 필요 소프트웨어와 툴들을 설치다.
         Zeropage 에 지원금을 요청다. -.-;
          * 1월 7일 유저인터페이스 프로토타입에 대 생각을 맞춰보려합니다. 학교서 뵙죠. ^^;
  • ZIM/EssentialUseCase . . . . 14 matches
          || 1. 사용자의 ID와 암호를 입력다. || 2. 등록된 사용자인지 ID와 암호를 비교뒤 결과를 보낸다. ||
          || 1. 파일을 받을 지머(Zimmer)와 보낼 파일을 선택다. || 2. 파일을 전송다. ||
          || 1. 화일 이름 & 용량을 확인뒤 화일수신수락여부를 결정다. || 2. 파일을 수신다. ||
          || 1. 파일을 받을 지머(Zimmer)를 선택다. || . ||
          || 2. 메세지창에 문자를 입력다. || 3. 해당 Zimmer에게 문자를 전송다. ||
          || . || 2. 현재 열려있는 대화창의 유저를 확인하고 새 대화창을 열거나, 해당 대화창에 문자를 출력다. ||
         저희팀(2001년 2학기 정보처리 실습 worktool팀)에서 방법을 하나 소개해준다면.
         파일 전송에 대 것은 Level 2 이런 식으로 말이죠..
         이렇게 먼저 아키텍쳐에 기반이 될만 것은 Level1 으로 정하고..
  • 빵페이지/숫자야구 . . . . 14 matches
          cout <<"컴퓨터가 생각 숫자 : " << num[0] << num[1] << num[2] << "\n";
          int player_num[3]; //사용자가 입력 값을 각 자리 숫자로 나눠서 rand_num과 비교하기 쉽게 만듭니다.
          rand_num[i] = rand()%10; // 자리수 난수를 생성합니다.
          * 아.. 그리고 비주얼 베이직이 갑자기 글이 다 깨져서 나오는데..
          * goto문이 생각나서 쓰긴했는데 ... ... 전에 실습시간에 조교오빠가 goto문 안 쓰는 게 좋다고 것 같은데.. ㅡㅜ숫자 입력할 때 숫자 넣고 스페이스 바 누른 후 다음 숫자를 입력해야 하는 번거로움이 있네 어떻게 해야하지?? 프로그램이 바르게 돌아가는 게 맞는 지 확신이 없어서 계속 미루고 못 올렸는데 흠.. 틀린 것 좀 알려주시길.... - 일정
          - 무엇이든 100% 좋고 100% 나쁜것은 없습니다. dijkstra 할아버지가 goto 를 쓰지 말라고 하셨을 때도 달리 생각하는 많은 아저씨들이 수많은 논문을 썼고 이로 인해 많은 논쟁이 있었습니다. 중요것은 ''좋으냐? 혹은 나쁘냐?'' 가 아니라 그 결론에 이루어지기까지의 과정입니다. SeeAlso NotToolsButConcepts Seminar:컴퓨터고전 [http://www.google.co.kr/search?q=goto+statements+considered+harmful&ie=UTF-8&hl=ko&btnG=%EA%B5%AC%EA%B8%80+%EA%B2%80%EC%83%89&lr= Goto Statements Considered Harmful의 구글 검색결과] Wiki:GotoConsideredHarmful - [임인택]
          * goto 문에 관 것은 도서관에서 ''마이크로소프트웨어 2003년 4월호'' '''''다익스트라가 goto에 시비(?)를 건 진짜 이유는 ''''' 이라는 기사를 보세요. 2003년에 GotoConsideredHarmful 을 스터디 후에 토론하고 작성된 기사입니다. Dijkstra 의 심오 생각들이 묻어 있을겁니다. --[아무개]
          * 문득 숙제를 하다 go to에대해 알아보게 되었군요. 편방법이긴데.. -주영
          } // 입력에 대 결과 출력
         이거 혼자거 아님.
  • 새싹교실/2011/Pixar/4월 . . . . 14 matches
          * 결석 사람은 보충 받고 싶으면 따로 연락하세요~ 제가 먼저 연락하지는 않습니다 ㅋㅋ - [김수경]
         == 공부 것 ==
         ''안 것''
         === 광운 ===
          1. 조건문, 반복문을 오늘로 마치려고 했는데… if else, for만 가르쳐줘서 주 더 해야겠어요~ while은 시간상 못 거지만 조건문 Switch case를 깜빡하다니ㅜㅜㅜㅜ
          1. 별찍기를 처음엔 혼자 짜보게 했다가 짝으로 함께 짜보도록 했습니다. 코딩에 참여 새내기들은 어떻게 생각할 지 모르겠는데 관찰하는 제가 보기엔 짝으로 구현하게 하니 혼자 짤 때보다 더 나은 점이 많아보였습니다. ''컴퓨터가 꺼지려고 해서 일단 저장해요ㅜㅜ''
          * 누나 숙제를 안해와서 정말정말정말정말정말죄송합니다 ㅠㅠ 우으어 C는 넘어려워요........ 구구단이랑 n*n개 짜는건 잘 했는데 그다음에 빈칸남기는건 잘안되네요 ㅠㅠ while문하구 switch 배우고 C숙제 다시점검했는데 배우는건 되게 잘거같아요 ㅋㅎㅋㅎ 누나 내일도 많이배웠으면 좋겠어요~~~~~~~~~~~~~~~~~~ [김연석]
         === 광운 ===
         그리고 별찍기의 신세계를 경험.... ㅠㅠㅠ
         == 공부 것 ==
          * 누나 솔찍히 어제 시험끝났다고 늦게자고와서 오늘 너무 피곤상태에서 했어서 집중도못하고 죄송해요 ㅠㅠ. 레몬에이드 제가젤좋아하는건데 누나 짱맛있었어요. 오늘 함수를 배웠는데 시험전에 혼자 공부해놨던게있었는데 그거때매 우쭐해서 솔직히 오늘 좀 건방졌던거같아요 죄송해요 ㅠ-ㅠ . 전역변수 지역변수 그게 솔직히 아직도 엄청 잘은 이해가 안되요 누나. 더많이배우고싶어요 누나 ㅋㅋㅋ . 누나 저 마에스트로 그거 어떻게쓸지 감이안와요..ㅠ.ㅠ.ㅠ.ㅠ.ㅠ
         === 광운 ===
         함수는 시험치느라 미리 공부해서 왠만 부분은 다 알았지만 정확하게 함수의 개념에 대해서 알게 되었다
  • 새싹교실/2012/부부동반 . . . . 14 matches
          * feedback은 최대 성의있게 써주세요.
          C/C++의 문법과 활용을 자세하게 설명 책. 문법을 소개하는데 그치지 않고 변화화는 코드가 실제 프로그램과 하드웨어적으로 어떠 영향을 일으키는지 비교함으로써 본 스터디의 목적과 매우 잘 부합됨
          난 정말 C Programming을 공부 적이 없다구요 - [http://kangcom.com/sub/view.asp?sku=200812300005&mcd=571]
          C 문법의 기초를 아주 잘 설명 개념서. 빠르게 C를 살펴보거나 기억나지 않는 문법을 찾아보는데 도움이 됨.
          C를 배우면 함수를 잘 만들어야 다 - [http://kangcom.com/sub/view.asp?sku=201004090011&mcd=571]
          코드를 Compact하고 Clear하게 구성할 수 있는 방법에 대 전문 연구서
         제시간 : 1시간
         이번 과제는 실질적인 코드보다 문제를 해결하는 프로세스를 알려주기 위 과제입니다.
         1시간 이상 소요되지 않는 범위에서 문제를 해결하기 위 아이디어를 서술하고 조사 자료를 토대로
         * 구조체와 클래스의 차이점, 구조체의 계를 벗어나기 위 수단
         * 컴파일러의 도움없이 스스로 메모리와 포인터의 관계를 통해 완벽 코드 구현
  • 새싹교실/2012/절반/중간고사전 . . . . 14 matches
         === 공부 것 ===
          * 4월에 겨우 첫주차를 시작하게되어 진도에 대 부담이 있는터라 일단 비주얼 스튜디오로 실습을 진행했습니다. 리눅스 셋팅에 두시간을 다 쓰고 싶진 않았어요^_T 생각할수록 올해 시그윈 쓰는 건 참 마음에 안 든다…
          * 교수님 커리큘럼이 궁금하네요. 제어문까지 진도 나갔다길래 변수, 자료형, 전처리기 당연히 했을 줄 알았는데 그런 내용은 아직 안 다룬 것 같더라구요? 제가 파악을 못건지-_-; 처음부터 새로 가르칠 생각이 아니라 교수님 수업을 바탕으로 모르는 것을 채워주는 것이 목표라 수업 커리큘럼을 알고싶은데 올해 커리큘럼은 어디서 봐야할지 모르겠습니다. 봉봉 교수님때는 봉봉 교수님 페이지에서 강의자료를 받아서 볼 수 있었는데…
          * #include와 헤더파일에 관 성질
         === 공부 것 ===
          * 변수명에 대 간단 이야기
          * for문을 이용 별 찍기
         === 공부 것 ===
          * 앞으로 새싹을 게임 만들기로 진행하려고하는데 새내기들이 게임을 안 좋아다고 해서 놀랐습니다. 당연히 좋아할 줄 알았는데 아니었어요. 컴공은 다 겜덕인줄 알았는데 나의 착각이었구나…………
          * 게임에 대 간단 설명을 준비하고
         === 공부 것 ===
          * 함수들 문법 정리
  • 새싹교실/2013/라이히스아우토반/1회차 . . . . 14 matches
         ||고종|| o ||
          * -> 나 빼고 다들 그럭저럭 아는 것 같길래 정말 간단하게 자기소개 하하허허 하고 넘어감... 얘들아 설마 서로 서먹서먹건 아니지?
          1. 컴공이라도 하드웨어에 대해서 이해를 해야 다.
          1. 운영체제란 것이 있고, 이것이 하드웨어와 소프트웨어를 연결 해주는 역할을 다.
          * 운영체제에서 갑자기 컴파일러로 건너 뛴거에 대 설명이 없었는데.. 운영체제를 크게 보면 그 안에 컴파일러가 들어가기도 합니다.
          1. 이 기계어에 다른 필요 이것저것 기타등등이 붙으면 실행파일이 된다. (윈도우 환경에서는 .exe가 바로 실행파일)
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
         오늘 수업이 상당히 쉬운거라고 말씀하셨지만,, 저는 이해하느라 어려웠어요 ㅠㅠ 역시 참 모자르다는걸 알게됬어요 ㅠㅠ
         == 고종 ==
         사실 오늘 수업 준비는 1시간 30분 들여서 했다. 결과적으로 준비 시간만큼 얘기 할 수 있었다.
         작년에는 별생각 없이 설명만 하려고해서 이해를 못 하는 학생이 있었는데, 올해는 준비 덕을 조금은 본 것 같다.
         준비할 때 생각것과는 다르게, 의외의 부분에서 애들이 어려워 하는 것 같다.
         오늘처럼 나만을 위 준비는 하지 않을 것이다.
  • 새싹교실/2013/라이히스아우토반/6회차 . . . . 14 matches
         ||고종|| o || o || o || o || ㅇ|| ㅇ||
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * Internet Explorer를 제외 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
          * Can't Save가 떴을 땐 당황하지 말고, 작성 내용을 클립보드에 보존 뒤(Ctrl+C) 새로고침을 뒤 붙여넣고 저장할 것.
         오늘은 switch에 대 자세 복습을 했습니다. 그리고 그 switch 를 if랑 else if 를 사용하여 바꿔보았습니다.
         그후 배열에 대 간단 개념을 배우면서 continue를 어떻게 써야 하는지 배웠습니다.
         당장 문제가 던져지면 if else같은 말로 떠오르는데 switch로 쓰려니 음.. 번더 생각해야다.
         == [고종] ==
  • 새싹교실/2013/이게컴공과에게 참좋은데 말로설명할 길이 없네반 . . . . 14 matches
          > 배열에 도달했을때, 이제 속도를 죽이고 천천히 포인터와 엮어서 설명다.
         - 진도: 메모리 구조(미약하게), printf와 scanf 정말 간단하게 다음시간에 더 자세하게 쓰임새 알려주어야 할뜻 , 제어문 간단 사용법과 필요성
         - 진도: 캐스트 형변환과, 자동 형변환 방식, 리턴값이 왜 필요지 예시를 통 설명(함수약간설명)
         영문 소문자로 구성된 긴 문장을 입력받아 이문자열 내의 각 알파벳 문자개수를 구해 출력하라. 예를 들어 alpha가 입력되었다면, a:2, b:0, ... , p:1이 출력되어야다. Tip> 각 문자의 출현 회수를 저장할 배열이 필요하다.
         출력 예의 형식으로 출력다.
         불 필요 공백을 출력해서는 안된다.
         출력 예의 형식으로 출력다.
         불 필요 공백을 출력해서는 안된다.
         - 지운 : 문법 전반을 잘 아는것같다. 자잘 문법실수가 없고, 차분히 깊게 생각다.
         - 앞으로의 방향 : 이제 문제를 풀면서 메모리의 구조를 다시 전반적으로 설명하고, 입출력방식, 간단 알고리즘(유클리드 호제법같은)을 가르친다. 이렇게 준비를 후 포인터에 돌입. 그리고 포인터에 대해서 이해가 어느정도 쌓였을때 발전시킬 수 있는 프로그램을 만들게 하면서 실력을 증가시킨다.
         - 이번 회차의 전반적인 계획 : 시험끝난 주이므로 브레이크 타임. 입출력 시스템과 컴퓨터 전반적인 내용에 대해서 설명다.
  • 실습 . . . . 14 matches
         2) File->New를 선택다.
         3) Tab에서 Project를 선택다.
         4) ListBox에서 Win32 Console Application을 선택다.
         5) Project 이름을 삽입다.
         6) Location:에 프로그램을 작성할 경로를 지정다.
         8) An empty project를 선택하고, Finish를 선택다.
         9) File->New를 선택다.
         10) Tab에서 Files를 선택다.
         11) C/C++ Header File을 선택 후, 오른쪽 File 칸에 "SungJuk.h"라고 기입다.
         13) 오른쪽 Project Workspace 창에서 Class View Tab을 선택다.
         14) Tree를 모두 펼쳐 보면, SungJuk.h와 SungJuk.cpp가 존재다.각 File을 밑에 보여주는 Source를 작성다.
         15) Source 작성이 끝나면, F7을 눌러 Compile다.
  • 위키에대한생각 . . . . 14 matches
         위키에 대 솔직 생각을 적어 주세요.
          * 처음 위키를 접했을때 '뭐 이딴게 다있어' 라는 생각을 했던 기억이 있다. 접지 6개월정도 지났지만, 아직도 그다지 위키가 강력하다거나 혹은 일반 게시판보다 뛰어난점이 있다고 생각하지 않는다. 아직 위키를 제대로 모르는걸까.......암튼 뭐 그렇다.--[아무개]
          * 익숙 사람에게는 편리하나, 처음 컴퓨터를 쓰는 사람에게는 복잡해 보일 수도 있다고 생각합니다. 글 쓸때 각종 효과를 특수 문자(들)을 써서 나타내므로, 일종의 컴퓨터 언어같은 면이 있다고 보입니다. 따라서 우리같이 연관 있는 사람은 금방 배우지만, 아닌 사람들에겐 쓰기 힘들다는 인상을 줄 수 있습니다. -[Leonardong]
          (하지만 이게 단점이 되기도 다.)
          === 주제를 놓고 여러 의견이 모여 있거나, 많은 자료를 요약해놓았다. ===
          직접 돌아다니며 찾기에 비하면 시간이 훨씬 절약된다. 또 다양 의견(이건 단점이 될 수도 있다...)을 만날 수 있다.
          * 하지만 히스토리 삭제시의 그 가속감을 생각다면!!! --NamelessOne
          * 번 뒤로 밀리면 다시 그 페이지를 보기가 상당히 어렵다기 보다는 귀찮다. 내가 생각 가장 치명적인 약점. -- 장창재
          * 검색을 하지 않고 페이지를 만들 경우 같은 내용을 담을 페이지가 생길 수 있다. 페이지만들기를 할 때 자동으로 검색을 다음 만들게 하는 방법도 괜찮은 듯하다.
          *위키는 최근바뀐글을 보고 그 페이지의 참여 정도를 파악할 수 있다는 점에서, 기존의 조회수를 보고 참여하는 것에 익숙 사람들은 다소 어색 공간이 될 수도 있다. 이를테면, 내가 어느 위키페이지에 글을 남겼는데 그 페이지를 보는 사람이 얼마나 있을까 하는 의구심이 생겨 그 페이지에 대 참여를 더디게 할 수 있다. 다른 사람이 그 페이지를 보기만 하고 글을 남기지 않는다면 최근바뀐글에 그 페이지가 업데이트 되지 않으므로, 참여 의욕을 저하시키는 요인이 된다. 해당 페이지에 조회수를 누구나 쉽게 볼 수 있도록 나타낼수는 없을까? (물론, 조회수를 나타내면 참여가 적은 페이지를 두번 죽이는 경우가 될수도 있다 ㅡ.ㅡ;;)--[문원명]
  • 이승한/PHP . . . . 14 matches
         = 이승 /PHP =
          * 다양 SQL 함수가 지원된다.
          * asp.net에서 보았던 ODBC 를 이용 DB와의 통신보다 간단하고 빠른듯.
         $query = "select name, eng, math from score";//쿼리문을 스트링을 저장다.
          * REMOTE_ADDR: 접속 컴의 IP주소
          * HTTP_USER_AGENT : 접속 웹브라우저 정보
          PHP 변수타입으로 문자열을 지원다. // 맞는지 모르겟네요. 대략 추정
          * explode() // 문자열을 특정 문자열을 기준으로 분리하여 배열형태로 넘겨준다. array 사용법을 잘모르겠음.
          * substr($변수, 시작점, 끝점) //지정 길이 만큼 문자열을 돌려준다. excel의 middle과 비슷. substr($string, 0, 5);
          * 산술 : + - * / % 사칙연산과 나머지 연산이 존재다. ++의 전후위 연산자도 있다.
          * 비교논리 : === != < > <= >= and or xor ! && || 이 있으며 우선순위는 C와 비슷듯 하다.
          * if, while, switch, for 이 존재다.
         [이승] [이승/mysql]
  • 정규표현식/스터디/반복찾기 . . . . 14 matches
         == 구간 지정하기 - 승 ==
          * 구간은 중괄호로 표시다. ({})
          * +, *는 일치하는 문자수 제이 없다. 최 몇개까지 일치하는지 정할 수 없다
          * RGB 값은 {{{#99FFAA}}} 처럼 {{{[:xdigit:]}}}가 정확하게 6번 나와야 다.
         === 정확 반복 횟수 ===
         물음표(?)는 제된 범위만큼 일치시키고(없거나 하나만 있는 경우 일치다), 구간을 쓰면 정확히 지정 만큼 일치하거나 지정 범위 안에서만 검색을 수행다.
          이경우 검색되는 범위는 <B> AK</B>, <B>HI</B>, <B> AK</B> and <B>HI</B> 세개가 일치되고 이것은 과하게 일치했다고 할수 있을것이다. 그럼 이렇게 중복되는것을 어떻게 방지할수 있을까? 위에서 말 물음표(?)를 쓰면된다.
         게으른 수량자란?? 번 걸쳐진 범위는 제외하고 검색해준다. 그러므로 이걸 사용하면 과하게 일치하는 상황을 방지할수 있다.
         다음을 이용다면 반복찾기 정규표현식은 중복도 방지할수있는 강력 도구로 만들수 있을것이다
  • 정모/2002.7.11 . . . . 14 matches
          이선우가 알고 있기로 현재 zeropage.org 도메인은 ["구근"]이 가지고 있고, 도메인 이용료 또 직접 내고 있는것으로 알고 있습니다. (이 이야기가 맞다면) 제로페이지는 개인에게 비용을 부담시키는 현재의 상황을 해결해주어야 합니다. 그리고, 도메인 또 단체가 소유할 수 있는지는 모르겠군요(아는분?). 소유할 수 있다면, 차후 관리는 제로페이지에서 직접 하는게 좋지 않을까요?
          2. 위에 있는 안건과 더블어 현재 제로페이지의 비품(?) 들이 개인에게 가있는데 그것을 모아서 관리하거나 적어도 누가 무엇을 가지고 있는지는 알았으면 합니다. 예를들어 제가 알고있는 것은 광식-->10주년창립제 자료집,서버보드메뉴얼 ,상민-->뺏지 이런것들을 데 모아서 관리하던지 아님 누구테 무엇이있는지 관리했으면 합니다.
          * Instance MP3 - 번만 사용하는 MP3 만들기
          * ACM 대회나, ICPC 대회등, 이러 것에 관심 있을때 훈련하는곳
          2. 신입회원들에게 무엇을 공부할것이며, 개인적으로 공부할 것과 팀으로 공부할 것에 대 성찰(어느정도 되었다고 생각했는데, 말로 꺼내어보려고 연습장에 정리하려니 계속 정리가 안되었다.), 기존 ["데블스캠프2002"] 와의 연장선을 모색할 방법 등에 대해서 이야기해보려는 시도(비록 ["데블스캠프2002"] 의 마지막날이 3명밖에 오지 않았더라도) 기존회원들의 책임이며, 소위 '어느정도 공부했다' 라는 사람들이 전달해줘야 할 지식이였으리란 생각을 해본다. (아직까지나마 배를 타고 있다면) 이 또 회의전 미리 조직화해야 하건만, 너무 늦어버렸군.
          * 중간에 급일로 회의중에 빠지시는 분들은 다른 사람들을 위해서라도 다른 사람들에게 사정을 이야기해주시기 바랍니다.
         ''DeleteMe later: 천천히 제로페이지 회원들을 위 컴퓨터 공부 로드맵(roadmap)을 하나씩 만들어 가면 어떨까요? 갑을 공부하려면 이걸 먼저 보고, 그 다음 이런 프로젝트들을 번 씩 해보고, 어떤 기사를 보고 등등. 각 과목에 대해서 만들어도 좋고, 특정 기술에 대해서 만들어도 좋겠습니다. 가능하면 선배들이 각자 자신이 공부 경험을 토대로 "공동 작성"하면 참 좋겠죠. 다만 시적인 기술일 경우 "축적"의 가치가 별로 없이 해당 로드맵이 일이년 만에 쓸모없어 질 수도 있겠죠. --JuNe''[[BR]]
  • 정모/2006.5.22 . . . . 14 matches
         3. 누구를 위 데블스 캠프? (대상)
          - 신입생을 위? 전체 회원의 위?
          - (창섭) 레벨 업 방식으로 경쟁을 유도하는 것이 단기간 실력 향상에 도움이 된다. 원래 데블스 캠프가 그랬었지만 제로페이지로 오면서 세미나 형식으로 바뀌었고 재학생이 얻는 것은 많았지만 신입생은 상대적으로 '구경'하는 입장이었다. 신입생들의 흡수력을 높이기 위해서는 일단 빠른 실력 향상이 급선무이다. 데블스 캠프는 기존 회원을 위 것이 아니라 주 목적이 '신입생이 프로젝트를 할 수 있는 기반 실력 향상' 이라는 것을 주목해야할 것이다.
          낮은 수준에서부터 공부했으면 다.
          전체 회원을 위 것은 어려움이 있다고 생각다.
          두번의 데블스 캠프를 했으면 다.
          - (상섭) 수업방식 : 페어 프로그래밍을 챕터화 시키고 선배는 힌트 정도만 준다
          - (상규) 재학생을 위 것은 빼자
          - (창섭) 재학생을 위 것은 따로 세미나를 만들어서 하자.
          - 결론 : 신입생을 위것으로 하자.
          - 재학생을 위것이 있었으면 좋겠다.
          - 꼭 세미나가 주가 될 필요가 없다. (간단 힌트 만으로 할 수 있다.)
  • 정모/2011.9.20 . . . . 14 matches
          * 참가자 : [김수경], [서지혜], [강소현], [김태진], [고종], [신기호], [황현], [윤종하], [송치완], [장용운]...
          * 자격조건은 배워나갈 자세가 되어있는 사람''??'' Ruby on rails를 쓸 줄 알면 더 좋은듯 느낌이...
          * [강소현]의 무독서
          * 다음 주제는 소외된 사람들에 대 책이라고 합니다.
          * 더불어 몇몇 학우의 무공강(무려 7시간이었나)도 생각해볼 문제인듯 - [지원]
          * [http://onoffmix.com/event/3672 개발자를 위 공감세미나]
          * OMS 재미있었어요. 통계 자료까지 준비해와서 더 흥미로웠습니다. 책을 1년에 권도 안 읽는 사람이 10명중 3명이 넘는다니 충격적이네요. [2011년독서모임]은 제가 하자고 만들어놓고 중간에 쏙 빠져서 민망하네요. 바쁠땐 바쁜대로 일정을 조정해가며 굉장히 꾸준히 이어나가는 모습이 보기 좋아요. 독서모임만 해도 평균 독서량 이상을 읽을 수 있다니 멋집니다. 그동안 했던 주제를 모아서 보여주니 진짜 다양 책을 읽었구나 싶은 느낌도 들었습니다. - [김수경]
          * 오랜만에 처음부터 끝까지 정모를 참여 시간이었습니다. 몇몇 분들이 오지 않으셔서 좀 썰렁했던 것 같네요. 제로페이지에서 진행하는 스터디에 참여하고 싶은 생각도 있었는데 아무래도 시간이 부족할 것 같아서 포기했네요 ㅠㅠ; OMS 대상자가 될 뻔 위험이 있었네요 살떨려요.. 오늘 OMS를 보고 집에 가는 길에 책을 질렀습니다. '독서'용은 아니지만 저에게 도움이 될 것 같네요. 그런데... 으앙 제가 참가자가 아니라니! - [장용운]
          * 처음 구인구직(?)의 시간은 저랑은 좀 먼 시간의 이야기였던거 같았네요.. 뭣보다 원래 알려줄 수 없는거라지만 그래서 결국 뭘 하시는지는 알수 없었던거같네요.(?) OMS는 저도 하고 있는 독서모임! 독서모임 많이와요~~ 자유롭게 책 많이 읽을 수 있어요! 그리고 세미나는 번 가 볼 생각입니다. 빨리 입금해야겠네요.. -[김태진]
          * 벤처(?) 회사에서 구직하러 많이 오시는군요.. 임베디드 시간에도 홍보하러 오시고ㅇ_ㅇ 시작하는 사람들의 열기가 느껴져서 둑흔거리네요ㅋㅋ 개인적인 의견이지만서도.. 벤처야말로 노련함이 필요 곳 같아요.(아니면 천부적인 센스라거나!) 특히 우리나라처럼 벤처 제도가 잘 없는곳에서는..
          회장님도 부회장님도 개인적인 일로 정모를 알차게 꾸려나가지 못하는 점 죄송합니다ㅜㅜ 정모에 대 제안이나 의견이 있다면 가지고 계신 모든 루트를 통해 의견날려주세요. 정모는 참여하는 여러분 모두의 것 이니까요:) (부회장은 회장의 그림자라 존재감이없다!!ㅋㅋㅋㅋ...ㅠㅠㅠㅠㅠㅠㅠㅠㅠ미아뉴ㅠㅠㅠ) - [서지혜]
  • 지금그때2003/선전문 . . . . 14 matches
         <li> 남의 글을 헤치지 않은 범위에서 자신의 후기를 적당 곳에
         == 이야기 주제가 될만 것들 ==
         그러는 분을 저는 여지까지 분 보았습니다.
         이런저런 좋은 경험들을 우리가 의식하지 못체 놓쳐 버립니다.
         [신청] 21일에 지금그때 에 대 사전참여 신청
         장소 강의실 ( 정확 강의실은 목요일에 공지합니다.)
          OST와 간단 이야기 규칙 소개
         이러 자리는 1년에 단 번의 기회로 여러분께 다가갈 것
         고칠부분을 지적해 주세요. 일단 이대로 03, 02 1학년 게시판 올렸는데, 고칠수 있으니 전달력이 약 부분을 고치고 싶습니다. --NeoCoin
         금방 학교를 졸업하고 머지않아 직업을 가져야 다는 걸 깨달았으리라.
         눈 덮힌 들판을 갈 때는 모름지기 함부로 걷지 말아야 다.
         1년의 막바지에 우리는 이제는 과거인 해를 둘러 봅니다.
         충실, 풍요로운 생활을 할 수 있지 않을까요?
  • 지금그때2004/토론20040401 . . . . 14 matches
          * 패널 진행방식에 대 진행여부 결정 & 구체화하기
          * 초록 : 학번당 명?
          학번당 명(6명?) - 고학번도 좋은 질문을 할 수 있기 때문
          ==== 전통과 파격에 대 논의중 ====
          * 그러 공간적인 면을 물어 본것이 아닙니다. 당일 책상 배치는 사람수에 따라 그 수가 재조정되었습니다.(물론 책상당의 사람수의 계산에 따른 것입니다.) 전 방식에 대 본질적인 질문을 것이지요. 다음에 열거하는 것들에서 큰 차이가 있는것 같은데 맞나요? --NeoCoin
          * [지금그때2003]에 진행 OST와 다른점으로 생각되는 것들 (기억나는 대로 적어 보아요~)
          * 의제를 발제 사람이 기록자이지만, 그 기록자도 움직일수 있음을 원칙으로 삼다.
          * 발표는 참여 누구나 이지만 대개 발제 사람이 하였다.
          * 대화에 대 Seminar:SimpleRule 이 [지금그때2003/규칙]으로 존재하였다.
         기록자는 기록 것을 적어주세요--[Leonardong]
  • 페이지이름 . . . . 14 matches
         ZeroWiki에서 ["페이지이름"]에 관 안내 사항
          1. 위키위키에서 ["페이지이름"]은 너무나도 중요 역할을 합니다. 제로위키에서 사용되어야할 페이지이름 규칙도 생각을 해보는게 좋을것 같습니다. NoSmok:페이지이름 페이지에 참고하기 좋은 내용들이 있습니다.
          * 영문 제목의 경우 모두 빈칸을 붙여서 사용다. (제목으로 표시될때 자동으로 단어의 대문자 단위로 빈칸을 띄어주므로)
          * 글 제목의 경우 붙여쓰기를 기본.
          *. ZeroWiki 에서는 '''/''' 으로 페이지 간의 계층을 구분다.
          * 당연히, 부모인 ["ProjectPrometheus"] 에 Jouney 에 대 링크를 찾아보면 있을 것이다. 그리고 ["ProjectPrometheus/Journey"] 의 가장 하단에, 밑줄({{{~cpp ----}}})로 자신의 부모를 링크를 걸어두어 보는 이가 항해하기 편하게 배려다.
          * 이에 반하여 ["ProjectPrometheus/Estimation"]은 부모에 대 페이지 링크가 가장 상단에 있다. 즉, 부모의 링크는 최상단, 최하단에 올수 있다. 이를 ["역링크"]라고 부른다.
          *. 부모가 없는 페이지들은 ["분류분류"] 들에 있는 분류중 하나로 속할수 있다. 만약 자신이 생각하는 분류가 없다면, 당신은 새로운 분류 꺼리를 ZeroWiki에 제공할 수 있다. 새로운 공식적인 분류페이지를 열수 있다는 것은 즐거운 일이다. 축하다. 해당 분류를 만들어 달라.
          * / 으로 계층을 표현다. ["역링크"]를 건다.
         아래는 ["제안"]이란 ["페이지이름"]에 대 토론 내용을 HierarchicalWikiWiki 페이지에서 옮겼습니다. 좀 더 다듬어야 하겠습니다. RefactorMe --["이덕준"]
          추상적이라 생각되면 일종의 사랑방으로 이용하면 된다고 봅니다. 범용적인 만큼 스레드 성격의 글들을 더 잘 포용할 수 있지 않을까 생각합니다. 저는 '토론'(을 원다면) 이나 '제안'(성격이라면) 임이 명시적으로 드러나는것이 좋지 않을까 생각것 뿐, 특별 다른 뜻은 없습니다. --["1002"]
  • 포커솔리테어평가 . . . . 14 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도 스트레이트 이다.
         6. 플러시 : 아래 계급 중 어떠 것도 해당되지 않으며, 5장의 카드가 모두 동일 경우 (예:5D, AD, KD, 7D, QD)
         7. 풀하우스 : 아래 계급 중 어떠 것도 해당되지 않으며, 원 페어와 다른 카드들로 트리플을 이루는 경우(예 : 3C, QS, QP, 3H, 3S)
         8. 포 카드 : 동일 숫자 4개로 구성되는 카드(예: AS, AD, AH, 7C, AC)
  • 프로그래머가알아야할97가지/ActWithPrudence . . . . 14 matches
         이터레이션 초반에 스케줄이 아무리 여유로워 보인다고 해도, 시간 압박을 다소 받는 건 어쩔 수 없다. “제대로 하기”와 “빨리 하기” 중 선택해야 할 경우, 나중에 다시 돌아와서 고칠 수 있다는 전제하에 “빨리 하기”를 선택하고 싶어지기도 다. 스스로에게나 팀에게 또는 고객에게 이런 약속을 할 때에는 정말로 나중에 고치겠다는 뜻이다. 그러나 십중팔구 다음 이터레이션에서 새로운 문제가 나타나서 거기에 집중하게 되곤 다. 이렇게 연기된 작업은 기술적 부채(Technical Debt)라고 알려져 있으며 이런 일에 익숙해져서는 안 된다. 특별히, 마틴 파울러(Martin Fowler)는 그의 기술적 부채 분류 체계에서 이를 의도하지 않은 기술적 부채와 헷갈려서는 안 되는 계획적인 기술적 부채라고 부른다.
         기술적 부채는 대출과 마찬가지다. 그로 인해 단기적인 이익을 얻지만, 전액을 상환하기 전까지는 이자를 지불해야 다. 이런 코드 내 지름길 때문에 기능을 추가하거나 코드를 구조조정하기 어려워진다. 이런 지름길은 결함과 안정적이지 못 테스트 케이스가 자라는 밑거름이 된다. 이를 오래 방치하면 방치할수록 더 나빠진다. 수정을 하려고 할 때 즈음이면 코드를 구조조정하고 수정하기 훨씬 어렵게 만드는 그다지 좋지 않은 설계가 애초의 문제 위에 켜켜이 쌓여 있을 수 있다. 사실상, 다시 돌아가서 고쳐야 할 때는 일이 너무 심각해져서 반드시 고쳐야 할 때뿐이다. 그 때엔 일정이나 위험을 감당할 수 없어 고치기 어려운 경우가 다반사이다.
         데드라인을 맞춘다거나 기능의 단편을 구현하려고 기술적 부채를 발생시켜야 할 때가 있다. 이런 입장이 되지 않도록 애써야 하지만, 이런 상황이 반드시 필요하다면 그렇게 하되, 다만 반드시 기술적 부채를 추적해서 재빨리 갚아서 급히 끌어내려야 다. 그렇게 타협하기로 결정하자마자, 이슈 추적 시스템에 과업 카드나 로그를 작성해서 잊어버리지 않도록 해야 다.
         다음 이터레이션에서 그 부채의 상환을 계획다면, 비용은 최소화 될 것이다. 부채를 상환하지 않고 놔두면 이자가 누적되며, 그 이자는 가시적인 비용으로 추적되어야 다. 이렇게 하면 프로젝트의 기술적 부채가 사업적 가치에 미치는 영향을 강조하며 상환에 적절 우선 순위를 줄 수 있게 된다. 이자를 어떻게 산정하고 추적할 것인가는 각각의 프로젝트에 달려있지만, 반드시 그것들을 추적해야 다.
         기술적 부채를 가능 빨리 상환하라. 그렇지 않는 건 현명하지 못 처사이다.
         여지껏 과제를 하면서 "제대로 하기"와 "빨리 하기"중 "빨리 하기"를 선택 적이 많았는데 요즘 그 선택들에 대해 후회하고 있습니다. 지금도 프로젝트를 진행하며 팀이 두 선택지 중 고민중인데 진행하다보면 "빨리 하기"가 더 매력적으로 느껴지는 것 같아 걱정됩니다. 이 페이지를 팀원들이 다같이 읽어보면 좋겠다는 생각이 드네요. - [김수경]
  • B급좌파 . . . . 13 matches
         김규항의 글을 읽고 편으로는 시원할런지 모르겠지만 (통쾌함하고는 좀 다르다. 친구랑 골방에서 맘에 안드는 넘들 뒤에서 까대는 느낌이랄까) 편으로는 속이 편할리 없다. 적당히 지적인척 이야기할때 전문용어 적당히 섞어주고, 제대로 알지도 못하면서 적당히 사회 아는 양 민주당이 어쩌고 나라당이 어쩌고 하는. 농활이나 빈활번 안다녀온 나로서는 더더욱 이 책을 보고선 웃으면 안된다. 삶에서 민감해야 할 사항에서 그냥 간과하고 조용히 사는 소시민으로서는 그저 지식인 투덜거리는 이야기일뿐이다. 진중권이건 강준만이건 김규항이건.
         그사람들의 글들이 나에게 읽어짐으로 인해 '적절히 써먹으면 재미있을 만 글투' 지식분류에 하나 추가되면, 또는 '적절하게 사회적인 척 일수 있는 인용거리'가 되면 괜히 미안해지니까. 그냥 적절히 읽고. '아 그 사람 이야기'. 나중엔 '지식인 록을 고르다' 가 나중엔 '지식인 규항을 고르다', '지식인 중권을 고르다' 식의 글도 나올지도 모르니. -- 소시민 ["1002"]
         전에 모 오프라인 모임을 나간 적이 있었다. 자기 소개시간때 처음으로 걸리게 되었다. 그냥 아무 생각없이 'C대학교 99학번 A 입니다' 라고 했는데, 그 다음부터 다른 사람들 소개가 전부 'S대학교 00학번 누굽니다' 'B회사 근무중 누구입니다' 였다. 그 와중에 중간에 붙일 소속을 궁리하며 머뭇머뭇거리다가 그냥 'B 입니다' 라고 사람도 있었다. 아차. 저 사람 내가 아는 사람인데, 대학에 다니지 않는다고 했었지.
         맨날 '학연이네 지연이네 지역감정이 어쩌네' 하면서, 무심코 나는 그 사람에게 폭력을 행사 것이리라. 차라리 그냥 'ZeroPage 에서 활동중 누구입니다' 라고 할걸. 온라인 모임이름이라면 그래도 1년에 10만 이상 못들어가는 대학교보단 그래도 덜 폭력적이련만. (하긴 결국 중대모임이므로 똑같으려나..) 나의 언어에선 당연 세상이 다른 사람들에겐 당연할 수 없는 세상인 경우가 있다. 순간에 대해서 민감할 수 있었더라면. 깨어있었다면. -- ["1002"]
         영업팀 : 이러 이러 제품을 이용해서 ... (중략)
         개발팀에서 위의 이야기는 대화의 단절을 시도하는, 그것도 상대방에 대해 치명적인 말을 것이지. '''넌 이것을 모르니 그런 소리나 하고 있는것이다.'''
         세상에 진리를 아는 사람이 몇이나 된다고. 기죽지 말고 당당하되, 자신의 귀만 열어놓으면 충분하지. 개인적으로 석천이가 당당 모습을 지닌다면, 지금보다 '''백만배''' 멋져보일꺼라 생각함 ;-) --선우
          ''뭐.. '어설프게 젠척하지 않기 위' 개인적인 경계의 글 정도로만 생각해주시길. :) 그 이상 가다가는 이 글이 '자기가 다치지 않기위해 미리 쳐놓은 보호막' 이 되어버릴지도 모르기에. -- ["1002"]''
  • CNight2011 . . . . 13 matches
          * [고종] - [CNight2011/고종]
         공부 내용을 위키페이지에 추가해주세요.
         구현 내용을 추가해야겠죠
          * 왕고로서 C Night에 참여해서 학우들에게 도움도 주고 제가 모르는 것도 배우고 싶었는데 잘 되었는지 모르겠네요. 미리미리 이것저것 테스트 해보고 동적 메모리 할당에 대해 질문 학우들을 보고 11학번 역시 수준이 높구나 생각이 들었습니다. 다음에는 다른 컨텐츠로 밤샘투어 해보고 싶어요 ㅋㅋ - [지원]
          * C를 1학년 때 힘들어 했던 기억 등으로 인해 다시 번 (자료구조를 하면서도 다루긴 했지만) 리마인딩하고 싶다는 마음에 참여 하였는데, 이번 11학번 학우들은 저보다 상당 실력과 열정을 가지고 있다는 것을 보고 편으로는 부럽기도 했고, 편으로는 더 열심히 해야 겠다라는 생각도 들었습니다. 오랜만에 밤 새니까 힘드네요 ㅋㅋ 늙었나 봅니다. ㅋㅋㅋ - [권순의]
          * 이번 스터디를 통해서 포인터랑 배열의 관계를 완전히 암기하게 되었습니다. 그리고 동적할당을 쓸 수 있게 되었습니다! 이게 가장 큰 소득이라고 생각합니다. 메모리 그려가면서 남에게 설명해주라고 하면 할 수 있을 것 같은 느낌이 듭니다. 아, 구조체는 아직 어떻게 쓰는지 잘 모르겠어욤.... 링크드 리스트도 쓰는 건 잘 모르겠습니다. 뭐 하는 건진 잘 알겠습니다. 이런 활동 언제든지 환영입니다. 밤샘은 정신을 맑게 해주니까요 (?) - [고종]
          * 많다면 많은 정보들이 꺼번에 머릿속에 들어왔었는데요, 이것 저것 배우면서 저게 유용하긴 데.. 분명 포인터랑 연관되어있다긴 하는데 뭐가 어떻게 연관된거야?! 라고 하다가 Linked List를 배우면서 왜 구조체가 필요지(very powerful!) 왜 많은 수의 자료들을 무조건 배열로만 쓸 수는 없는지등 많은 것을 알게되었어요. 나중에는 카트가 3D면서 렉없는 상당히 잘만든 게임이라는 말도 들었는데, 자료가 유동성 있으면서 접근하기 쉬운 그런걸 만든다는게 쉬운 것만은 아니겠구나 라고 생각했지요. 자구를 공부하면 이런 부분을 공부하는거겠죠. 재밌겠네요+_+(까봐야 알지만) -[김태진]
  • ComputerNetworkClass/Report2006/PacketAnalyzer . . . . 13 matches
         패킷분석기는 다음 사항을 최소 구현하여야 함.
         2. IP 헤더의 graphical 표시
         3. ethereal의 기능 중 1개 또는 새로운 기능을 가지 구현
         WSA prefix 를 가진 함수의 경우 대부분 Winsock 2에서 제공 되기 시작 것이며, 이 WSAIoctl 역시도 윈속 2에서 지원된다.
         네트워크의 3번째 프로젝트를 하기위해서는 SIO_RCVALL 라는 옵션을 설정하여 사용할 줄 알아야다. 유사 옵션으로는
         자세 사항은 MSDN 혹은 Network Programming For Microsoft Windows 를 참조하기 바란다.
         ※ 윈도우 소켓 프로그래밍을 위해서는 윈속 라이브러리를 같이 linking 해야하며, WSActrl 을 사용하기 위해서는 winsock2 라이브러리인 ws2_32.lib 를 포함해야다.
         ※ 'SIO_RCVALL' : undeclared identifier 에러가 뜰 경우에 아래 코드를 추가 다.
         (1) 콘솔로 캡쳐기, 필터, 컨테이너 클래스를 구성다.
          필터기는 가능하면 propery 를 설정해서 동작하도록 구성다.
          캡쳐기의 동작으로 인 UI 딜레이 현상을 막기위해서 쓰레드를 이용.
         (3) 만들어진 front-end, back-end 를 통합다.
  • Debugging . . . . 13 matches
          * 프로그램을 실행할때 디버깅 모드로 컴파일하여 디버거 기능을 포함시켜서 사용하면서 오류에 관 각종 정보를 수집
          * 수집하고 싶은 정보를 출력하기 위 디버깅용 명령을 미리 프로그램 곳곳에 삽입하여 실행 시키는 방식
          * 버그는 오래 되면 될 수록 그거에 관련된 코드에 대 기억도 희미해지고, 불명확해져서 디버깅하는데 더 많은 시간이 걸리게 된다.
          * 번에 하나씩의 버그를 수정하고 테스트 해본다.
          * 과학실험에서도 하나의 인자를 바꿔가면서 실험을 하지 꺼번에 여러 인자를 바꾸면서 실험하지는 않는다.
          어디서부터 시작할 지 생각다.
          누군가에게 설명
         = 디버깅 소프트웨어를 사용 디버깅 =
         || Step Into || F11 || 디버깅 모드에서 라인씩 실행 - 함수를 만나면 함수 내부로 들어가서 계속 실행 ||
         || Step Over || F10 || 디버깅 모드에서 라인씩 실행 - 함수를 만나면 내부로 안들어가고 실행만 하고 다음 계속 실행||
         || Step Into || F5 || 디버깅 모드에서 라인씩 실행 - 함수를 만나면 함수 내부로 들어가서 계속 실행 ||
         || Step Over || F6 || 디버깅 모드에서 라인씩 실행 - 함수를 만나면 내부로 안들어가고 실행만 하고 다음 계속 실행||
          사실 : 삽질 내용, 그 여정, 실수 이야기 -> 사고의 과정이 드러나도록!
  • GarbageCollection . . . . 13 matches
         컴퓨터 환경에서 가비지 컬렉션은 자동화된 메모리 관리의 가지 형태이다. 가비지 컬렉터는 애플리케이션이 다시는 접근하지 않는 객체가 사용 메모르 공간을 회수하려고 다. 가비지 컬렉션은 John McCarthy 가 1959년 Lisp 언어에서 수동적인 메모리 관리로 인 문제를 해결하기 위해서 제안 개념이다.
         현재에는 기본적으로 Java, Dylan 과 같은 언어에서는 기본 명세로서 제공되는 기능이며, C++, C와 같이 수동적 메모리 할당으로 디자인되었지만 가비지 컬렉션 구현을 지원하는 언어들도 존재다.
         2번째 경우에 대 힌트를 학교 자료구조 교재인 Fundamentals of data structure in c 의 Linked List 파트에서 힌트를 얻을 수 있고, 1번째의 내용은 원칙적으로 완벽 예측이 불가능하기 때문에 시스템에서 객체 참조를 저장하는 식으로 해서 참조가 없으면 다시는 쓰지 않는 다는 식으로 해서 처리하는 듯함. (C++ 참조 변수를 통 객체 자동 소멸 관련 내용과 관련 부분인 듯, 추측이긴 데 이게 맞는거 같음;;; 아닐지도 ㅋㅋㅋ)
         특정 주기를 가지고 가비지 컬렉션을 하기 때문에 그 시점에서 상당 시간상 성능의 저하가 생긴다. 이건 일반적 애플리케이션에서는 문제가 되지 않지만, time critical 애플리케이션에서는 상당 문제가 될 부분임. (Incremental garbage collection? 를 이용하면 이 문제를 어느정도 해결하지만 리얼타임 동작을 완전하게 보장하기는 어렵다고 함.)
  • HelpOnFormatting . . . . 13 matches
         위키위키는 좀 더 직관적이면서 이해하기 쉬운 단순 세트의 문법 규칙을 가지고 있습니다. HTML 문서를 만들기 위해서 HTML문법을 알아야 하는 것 처럼 위키위키 페이지를 만들거나 고치기 위해서 위키위키 문법을 알아야 합니다. HTML문법은 직관적이지 않고 복잡 측면이 있습니다. 그러나 대다수의 HTML문서는 매우 간단 문법을 알기만 하면 만들 수 있습니다. 위키위키는 이러 문법을 좀 더 단순화 시키고 직관적이고 이해하기 쉬운 단순 규칙으로 구성되도록 고안되었으며 조금만 시간을 투자다면 위키위키의 문법을 쉽게 이해하고 배우실 수 있습니다.
         그리고 이러 포매팅을 ''있는 그대로'' 보여주기 위해 ` {{{ }}} ` 중괄호 세개를 연달아 사용하는 문법이 있습니다.
         이렇게 줄을 띄우면
          줄을 띄워 쓰면 단락이 나뉘게 됩니다.
          단락 내에서 강제로 줄 바꿈을 하고 싶은 경우에는 {{{[[BR]]}}}를 씁니다.[[BR]]이것은 위키위키의 고급 기능에 속하는 [매크로문법] 입니다.
         이와 같은 소스 코드 컬러링은 모니위키의 ProcessorPlugin이라 불리 고급기능중의 가지 입니다.
         /!\ 모인모인의 경우에는 여러줄에 걸쳐있는 경우에도 이러 기본 문법이 적용되지만, 모니위키의 경우 기본 문법은 반드시 줄에 대해서만 적용됩니다.
  • LionsCommentaryOnUnix . . . . 13 matches
         훌륭 화가가 되기 위해선 훌륭 그림을 직접 자신의 눈으로 보아야 하고(이걸 도록으로 보는 것과 실물을 육안으로 보는 것은 엄청난 경험의 차이다) 훌륭 프로그래머가 되기 위해선 Wiki:ReadGreatPrograms 라고 다. 나는 이에 전적으로 동감다. 이런 의미에서 라이온의 이 책은 OS를 공부하는 사람에게 바이블(혹은 바로 그 다음)이 되어야 다.
         에릭 레이먼드의 사전에 [http://watson-net.com/jargon/jargon.asp?w=Lions+Book Lions+Book] 라고 등재되어 있는 이 유서 깊은 책은 처음에는 불법복제판으로 나돌다가(책 표지에 명은 망보고 명은 불법 복제하는 그림이 있다) 드디어 정식 출간하게 되었다. 유닉스의 소스 코드와 함께 주석, 그리고 라이온의 "간단 명료 쌈박" 커멘트가 함께 실려있다.
         내 생각엔 유닉스 수업 때 자질구레 해석서보다 이 책을 갖고 직접 소스 코드를 주물럭거리며 공부하는 것이 훨씬 더 재미있고, 더 많은 공부가 될 듯 싶다. 시그날이 어떻게 처리되는가 궁금가? 간단하다. Use the source, Luke, along with the Lion's Book.
         DeleteMe - "훌륭 화가가 되기 위해선 훌륭 그림을 직접 자신의 눈으로 보아야 하고 ... " 전적으로 동감.. T_T
  • MFCStudy_2001 . . . . 13 matches
         목표: MFC를 이용, 프로그램을 작성다. [[BR]]
         = 자세 내용 : 공지, 일정, 제안, 진행상황 =
         [인수]:코딩 삽질은 계속되어야 다.--;[[BR]]
         [상협]:이렇게 MFC프로그램을 짤 수 있도록 이끌어주고 가르쳐준 상민이형테 정말 너무 고마울 따름입니다.[[BR]]
         [상협]:인공지능 오목을 짜면서 여러번 벽에 부딪혔는데, 그 벽을 넘어서면서 예전에 비해서 조금더 성장거 같습니다. 그리고 제 오목이랑 사람이랑 두어서 이길때나 저 자신과 둬서 컴퓨터가 이길때(? 내가 바보인지..ㅡㅡ) 의 기쁨은, 그 수많은 삽질(버그사냥..ㅡㅡ;)의 스트레스를 잊게 해줬습니다. [[BR]]
         [상민]:아 그리고 --; 내가 말적이 없는가 본대 나 Java도 다. 그러고 보니 여태 내가 보인게 다 MFC관련것 밖에 없네, 참고로 당장에 내가 의논 할수 있는 것들이 MFC, Java, VB정도 이고(내가 생각해도 웃기는 인간 같아 --;), 뭐 내가 보기에는 다 어정쩡하지, 그런데 아마 지금 자네들 물음에는 답변할 수있을껄 랄라라~[[BR]]
         [선호]:마지막에.. 그리는 루틴 간소화다고.. 삽질을 해놨는데.. 크윽.. ㅡ.ㅡ 빨리 원상복귀시켜서 내야지~[[BR]]
         [창섭]:각 결과물에 대 느낌점들...후훗...[[BR]]
         [창섭]:우선 내꺼. -_-; -- 열라 큼직 바둑알이 인상적이지 않나요?키둑..-.-; 하나 두고 컴이 두길 기다리지만 전혀 반응없는 2인용...-.-; 흐흐.. 에러없이 잘 돌아간다는 사실에 만족해야쥐요. 쩝.[[BR]]
         [창섭]:파트너 상협이꺼. 오... 상당히 똑똑했다. 어쩌다가 갑자기 연산오류로 종료하는 경우도 있었지만 그래도 멋진 프로그램이다. 호오.. 파트너로써 미안걸..^^;[[BR]]
         [혜영] 우선 상민오빠에게 죄송하네요. 01스터디에 끼어보겠다고 나름대로의 포부를 설명하며(?) 하고 싶다고 했는데 정작에 일이 없네요. 스터디에도 제대로 참여도 못했고, 결과물도 언제나 몇발 늦게..-_-;;; 그래도 끝까지 신경써주신 상민오빠께 감사하구요.. 이번 벽돌깨기도 며칠 하려고 하다가 결국 또 이렇게 중간에 흐지부지하게 끝내버리고 말았네요. 끝이라는 말이 맞진 않지만.. 하다만 내용이죠..--; 그래도 버그 수정해야지 하고 생각만 하고 또다시 시간은 흐르고, 이제는 거의 포기상태랄까요..-_-;; 암튼 아쉬웠지만.. 그래도 기쁘네요. 상민오빠 말대로 끝을 명확히 하니깐..^^:;; [[BR]]
  • NUnit/C++예제 . . . . 13 matches
          * NUnit이 깔린 폴더의 bin안에 보면 NUnit-gui.exe을 실행다. 컴파일해서 나온 dll을 로딩해주고 run하면 테스트들을 실행해준다.
         VC++ 7.0의 MFC에서 NUnit을 써보자. 이것보다 좋은 방법이 있을듯데... 인수군은 이방법밖에는 만들어내지 못했다.
          2. 전체 솔루션에 Managed C++ Library 프로젝트를 새로 추가다. 이것을 테스트프로젝트라고 하자.
         메인프로젝트에서 만든 새 클래스를 테스트 프로젝트에서 테스트하고 싶다. 어떻게 해야할까? 순진 인수군은 #include <domain.h> 이렇게 하고, 테스트 클래스에 .h랑 .cpp 참조 넣어주면 될줄 알았다. 이것땜에 어제밤부터 삽질했다. 이렇게만 하면 안되고... 새로 만든 클래스를 일단 보자.
         평소대로 하자면 이렇게 하면 될것이다. 하지만 현재 프로젝트는 [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] 를 붙여서 선언해야 다.
         Unmanaged C++에서 가장 좋왔던 방법은 Unmanaged C++ Project 두개를 만들어서, 쪽으로 의존시킨후 assert 를 이용해 자체적인 Test Framework 을 작성해서 사용하는 방법이었다.
         아.. __gc를 쓰면 닷넷 플랫폼없는 곳에서는 쓸 수가 없겠네요. 그러면 이방법은 어떤가요? 일단 테스트할때는 테스트할 클래스에 __gc를 붙이잖아요? 나중에 배포할때는 __gc를 없애는 겁니다. 물론 Managed C++ Extensions의 문법을 쓰면 안되겠죠.(__gc빼고) 매크로를 잘 쓰면 어떻게 될거 같기도 데... --[인수]
         그것을 떠나서, MFC를 쓰면서 테스트를 하는 것이 의미 있어 지려면, MFC 로 작성 프로그램이 정상 동작하면서, 테스트를 할수 있어야 하는데, MFC Frameworks 이 Managed C++ 모드로 컴파일이 잘되고, 잘 돌아가는지, 이것이 의문이다. 된다면, MS에서 모든 MFC class앞에 __gc가 붙이기라도 걸까? 혹은 이미 해당 매크로가 존재하지 않을까?
         그래서 MFC 예제는 네가 작성 첫번째 예제와 동일 수준으로 쓸수 있는 것이 아닐까 생각다. 길을 열어줘 :)
  • ObjectOrientedReengineeringPatterns . . . . 13 matches
          * 레거시 시스템의 변환 작업을 담당하고 있는 실무자에게 재공학 관련 여러 기술들을 9종류의 패턴 기반으로 정리 해준 유일 책이다.
          * 역공학을 위 패턴 랭귀지에 대 이해가 있으면 이해에 훨씬 수월 할수 있다.
         Forward Engineering & Reverse Engineering 에 대 좋은 텍스트. 일종의 Practice 를 제공해준다. 게다가 실제 Reengineering 경험을 하여, 해당 Practice 전에 해당 문제상황의 예를 적어놓음으로서 일종의 Context 를 제공해준다. 각각의 패턴들에 대해 장,단점 또 적어놓았다.
         이 책을 처음 이용할때는 번 '책에서 이런거 해보랬으니까 이거 해보면 어떨까?' 하면서 각 방법들을 해봤으면 다. 여러 장점들을 얻어낼 수 있을것이다.
         [1002] 의 경우 Refactoring for understanding 이라는 녀석을 좋아다. 그래서 가끔 해당 코드를 읽는중 생소 코드들에 대해 일단 에디터에 복사뒤, 이를 조금씩 리팩토링을 해본다. 중간중간 주석을 달거나, 이를 다시 refactoring 다. 가끔 정확 before-after 의 동작 유지를 무시하고 그냥 실행을 해보기도 다. - Test 까진 안달아도, 적절하게 약간의 모듈을 추출해서 쓸 수 있었고, 코드를 이해하는데도 도움을 주었다. 이전의 모인모인 코드를 읽던중에 실천해봄.
  • ProjectPrometheus/EngineeringTask . . . . 13 matches
          * 책을 검색할 수 있다. 책을 검색할때는 Search Keyword type 을 명시하지 않아도 되는 Simple Search 와 Search Keyword Type 을 자세하게 둘 수 있는 Advanced Search 기능 둘 다 지원다.
         || DB 에서 책에 대 Total Point 를 가져와서 정렬, BookList 만들기 ||
          * 책에 대 구체적인 정보를 확인할 수 있다. 책 정보를 볼 때, 타 인터넷 사이트에 대 (amazon, wowbook, yes24 등등) Link 를 제공받아 이용할 수 있다.
         || ISBN 을 이용 Linker 작성 (고려 : ISBN 이 DB 에 저장되는 것이 좋겠다고 생각) ||
         || RS - 책을 구입 사람들이 구입 다른 책들 전부 표시 || ○ ||
         || Data set 2 - 도서관 검색 알고리즘에 근거 값들 || ○ ||
         || RS - 책을 보기 (view) 에 대 관계 || ○ ||
         || RS - 책에 대 점수 (light view) 감안 || ○ ||
         || 해당 점수 제선 이상만 출력 (Fuzzy Value) || ○ ||
          * 자신이 최근 검색 책 목록을 볼 수 있다.
          * 각 Page를 볼 때 지연시간이 10초 미만이여야 다.
          * 동시 접속자 수가 25명 이상이여야 다.
  • ProjectPrometheus/UserStory . . . . 13 matches
         ||책을 검색할 수 있다. 책을 검색할때는 Search Keyword type 을 명시하지 않아도 되는 Simple Search 와 Search Keyword Type 을 자세하게 둘 수 있는 Advanced Search 기능 둘 다 지원다. ||
         ||책에 대 구체적인 정보를 확인할 수 있다. ||
         ||책 정보를 볼 때, 타 인터넷 사이트에 대 (amazon, wowbook, yes24 등등) Link 를 제공받아 이용할 수 있다. ||
         ||자신이 최근 검색 책 목록을 볼 수 있다. ||
         ||각 Page를 볼 때 지연시간이 10초 미만이여야 다. ||
         ||동시 접속자 수가 25명 이상이여야 다. ||
          * 책을 검색할 수 있다. 책을 검색할때는 Search Keyword type 을 명시하지 않아도 되는 Simple Search 와 Search Keyword Type 을 자세하게 둘 수 있는 Advanced Search 기능 둘 다 지원다.
          * 자신이 최근 검색 책 목록을 볼 수 있다.
          * 책에 대 구체적인 정보를 확인할 수 있다.
          * 책 정보를 볼 때, 타 인터넷 사이트에 대 (amazon, wowbook, yes24 등등) Link 를 제공받아 이용할 수 있다.
          * Book Cart 기능 - 책 검색중 맘에 드는 책 (또는 도서관에 대여하려고 점찍어놓은 책)에 대하여 자신만의 Book Cart 에 넣어둘 수 있다. 점찍어놓은 책들을 보관하고 간단 메모를 적을 수 있다.
          * 각 Page를 볼 때 지연시간이 10초 미만이여야 다.
          * 동시 접속자 수가 25명 이상이여야 다.
  • ProjectPrometheus/개요 . . . . 13 matches
         내가 우리학교에 고마워하는 몇 안되는 것 중 하나는 중앙도서관이다. 재학시절 내 지식의 젖줄이 되어줬다. 신청하고 몇 달을 기다려 받아 본 책들이나, 내가 찾아낸 숨겨진 보물들, 십년도 더 된 저널들... 정말 귀중 도움이 되었다. 나를 키운 것은 도서관이었다. 그래서 학교 도서관에 애착이 많다.
         하지만, 현재의 도서관 시스템은 사용하면 할 수록 불편 시스템이다. "Ease of Learning"(MS 워드)과 "Ease of Use"(Emacs, Vi) 어느 것도 충족시키지 못다.
         나는 우리학교 도서관에 아마존 스타일의 시스템(많이도 말고, 도서별 리뷰 등록, 별표 평가, 고객 클러스터링을 통 서적 추천, 도서별 대출/검색 횟수를 통 베스트셀러 집계 및 이에 대 통계 분석 -- 예컨대 공대 학생의 베스트셀러, 경영학과의 베스트셀러, 4학년의 베스트셀러 등 -- 같은 것만이라도) 을 도입하면 학생들의 독서량이 두 배는 높아질 것이라고 확신하며, 이것이 다른 곳(정문 바꾸기 등)에 돈을 쓰는 것 몇 십 배의 가치를 지속적으로 만들어 낼 것이라 믿는다. 이제는 도서관도 인터넷 서점을 벤치마킹 해야 다.
         지금 도서관의 온라인 시스템은 상당히 오래된 레거시 코드와 아키텍춰를 거의 그대로 사용하면서 프론트엔드만 웹(CGI)으로 옮긴 것으로 보인다. 만약 완전 리스트럭춰링 작업을 다면 얼마나 걸릴까? 나는 커스터머나 도메인 전문가(도서관 사서, 학생)를 포함 6-8명의 정예 요원으로 약 5 개월의 기간이면 데이타 마이그레이션을 포함, 새로운 시스템으로 옮길 수 있다고 본다. 우리과에서 이 프로젝트를 하면 좋을텐데 하는 바램도 있다(하지만 학생의 사정상 힘들 것이다 -- 만약 풀타임으로 전념하지 못하면 기간은 훨씬 늘어날 것이다). 외국의 대학 -- 특히 실리콘벨리 부근 -- 에서는 SoftwareEngineeringClass에 근처 회사의 실제 커스터머를 데려와서 그 사람이 원하는 "진짜" 소프트웨어를 개발하는 실습을 시킨다. 실습 시간에 학부생과 대학원생이, 혹은 저학년과 고학년이 어울려서(대학원생이나 고학년이 어울리는 것이 아주 중요하다. see also SituatedLearning ) 일종의 프로토타입을 만드는 작업을 하면 좋을 것 같다. 엄청나게 많은 것을 배우게 될 것이다.
         전부 다 만들기엔 시간과 용기가 부족 사람들은 기존 시스템에의 랩퍼(wrapper)를 만들 수도 있다.
         즉, 현재의 도서관 시스템을 일종의 웹서비스로 이용하는 것이다. 직접 CGI로 쿼리를 보내고 받아오는 HTML을 파싱해서 적절 XML로 치환해주는 레이어를 만든다. 이렇게 하면 "일반적 도서관 랩퍼"를 만들 수 있다. 즉, 어느 도서관 시스템에든지 약간만 수정하면 적용할 수 있게 된다.
         사용자는 이 랩퍼를 통해 로긴을 하고, 책 평가도 하고, 리뷰도 쓰고, 베스트셀러 검색도 하고, 대출 예약도 다. 기존 시스템의 모집합이 되는 셈이다. (하지만 꼭 그럴 필요는 없다. 중요하고 자주 쓰이는 기능만 노출해도 충분하다)
  • ProjectZephyrus/Thread . . . . 13 matches
          * 제가 저번학기에 작업했던 메신져가 있습니다. 이번 프로젝트를 하면서 참고할 수 있는 부분을 참고하세요. 저번 학기에 정보처리 실습이란 과목에서 프로젝트로 했던 것입니다. UP 로 Process 를 진행했었고, 높은(?) 점수를 위해서 많은 문서를 남기긴 했는데.. 부족 면이 많군요 ㅡ.ㅡ;; http://www.inazsoft.net/projectworktool.html 에서 다운로드 받을 수 있습니다. - 구근
          ''정말 많은 문서;; 보고 감탄했슴다 형~ 문서형식이나 고려해볼 점등에서 참조할만 좋은 자료가 될듯 --석천''
         Database 관련 부분 아니라 팀 프로젝트시 고려해야 할 사항은 꽤 됩니다. SuccessfulProject 를 위해서 고려해야 할 사항은 어떤게 있을까요? 자세 내용은 차후 정리해서 쓰기로 하고, 하나 이야기 하고 싶은건 최대 '''중복'''을 피하도록 하세요. 특히나, 참 대화를 하지 않고 있다보면 같은 일을 하는 utility성 클래스들을 모두가 하나씩 지니고 있을겁니다.
         가장 이상적인 상태는 예전 창준선배님이 세미나에서 이야기 했었던, '이러 이러 라이브러리는 여기 있지 않을까 해서 봤더니 바로 그 자리에 있더라.' 하는 상태입니다. 그러면 최악은? '이러 이러 라이브러리가 필요데? 음.. 이쁘게 잘 만들어놓기는 귀찮고 에라 다음에 정리하지 뭐' 그리고는 해당 method들을 copy & paste. '''공통 모듈'''을 곳에서 다루도록 하세요. 공통 모듈은 꽤 많습니다. logging, configuration, resource managing ,..
          ''혼자서 플밍할때에도 자주 발생하는.. ^^ 다른 프로그램들 플밍하다가도 비슷 패턴의 코드들이 많이 보여서 그런 건 따로 utility class 식으로 디렉토리 따로 두고 관리하고 했었죠. 프로젝트 진행중에는 다른 사람들 소스를 지속적으로 같이 봐 나가면서 생각해야겠군요. CVS 로 곳에 소스를 모으면 도움이 될 것이라 생각. --석천''
         아 가지 더 생각나는게 있군요. 자바로 프로젝트를 하니 적습니다. 절대 작성하는 라이브러리나 코드의 중간에서 Exception을 잡아서 삼켜버리지 마세요. Exception은 추후 debugging에 절대적인 정보를 담고 있습니다. 중간에 try ~ catch 로 잡아버리고, 어떠 형태로도 알려주지 않는것은 상당히 위험합니다. 시간이 나면 이와 관련해서 더 적도록 하지요. --이선우
  • ReverseAndAdd . . . . 13 matches
         일단 어떤 수를 받아서 그 수를 뒤집은 다음 뒤집어진 수를 원래의 수에 더하는 과정을 뒤집어서 더하기라고 부르자. 그 합이 회문(palindrome, 앞뒤 어느 쪽에서 읽어도 같은 말이 되는 어구. 예:eye, madam, 소주만병만주소)이 아니면 회문이 될 때까지 이 과정을 반복다.
         어떤 수가 주어졌을 때 회문이 있으면 출력하고, 그 회문을 찾기까지 뒤집어서 더하기를 반복 횟수를 출력하는 프로그램을 만들어야 다.
         첫번째 줄에는 테스트 케이스를 나타내는 정수 N(0<N<=100)이 들어있고, 그 아래로 N개의 줄에 걸쳐서 회문을 구해야 하는 정수가 줄에 하나씩 들어있다.
         N개의 각 정수에 대해 회문을 발견하는 데 필요 최소의 반복 횟수를 출력하고, 스페이스를 칸 출력 다음, 그 회문을 출력다.
          || 이승 || C++ || 1시간 40분 || [ReverseAndAdd/이승] ||
          * 개인적인 사정도 있었고, 스러피에서 슬럼프에 빠졌었습니다. 다시 열심히 할께요~ - [이승]
          * 정수 N(0<N<=100) 제을 프로그램 상에서 걸어놓으면 로봇이 틀린 답으로 판단하는군요. 왜 그럴까요? -- 보창
  • StaticInitializer . . . . 13 matches
         Static Initializer 는 이러 값들을 미리 셋팅하기 위해 사용하며 다음과 같은 문법을 이용다.
         문제는 StaticInitializer 부분에 대해서 상속 클래스에서 치환을 시킬 수 없다는 점이다. 이는 꽤 심각 문제를 발생하는데, 특히 Test 를 작성하는중 MockObject 등의 방법을 사용할 때 StaticInitializer 로 된 코드를 치환시킬 수 없기 때문이다. 저 안에 의존성을 가지는 다른 객체를 생성다고 다면 그 객체를 Mock 으로 치환하는 등의 일을 하곤 하는데 StaticInitialzer 는 아에 해당 클래스가 인스턴스화 될때 바로 실행이 되어버리기 때문에 치환할 수 없다.
         이를 방지하려면, StaticInitializer 를 일반 Method 로 추출뒤, 생성자에서 이를 호출다. (단, 인스턴스를 2개 이상 만드는 클래스인경우 문제가 있겠다.)
         그 외에 Static 의 경우, 그 사용 가능 Focus가 Global 해지기 때문에 이 또 Bad Smell 이 될 가능성이 농후하다. 개인적으로는 가급적이면 Static Variable 을 쓰지 않는 습관을 들이려고 다. --[1002]
          Mock 생성자에서 값이 교체되어도 StaticInitializer 자체가 실행된다는 점에는 변함이 없습니다. 만일 StaticInitializer 에서 외부 자원들을 사용다면, Side-Effect 들을 피하기 어려운 경우가 많다는 것을 강조하고 싶었습니다. --[1002]
         실무에서 저러 StaticInitializer 를 가장 많이 볼 수 있는 곳은 Logging 관련 코드이다. 보통 Logging 관련 코드들은 개발 마무리 즈음에 붙이게 되는데, 일정에 쫓기다 보니 사람들이 Logging 관련 코드에 대해서는 CopyAndPaste 의 유혹에 빠지게 된다. 순식간에 Logging 과 Property(해당 클래스에 대 환경설정부분) 에 대 Dependency 가 발생하게 된다. 팀 차원에서 조심할 필요가 있다. --[1002]
  • TabletPC . . . . 13 matches
         마이크로소프트 전시관에서 관객들의 눈길을 끈 제품은 단연 태블릿 PC 윈도우 XP 에디션. 빌게이츠가 기조연설에서 강조 때문인지 많은 사람들이 관심을 보였다. 화면 가득 윈도우 XP의 세련된 UI와 키보드를 대신 펜이 눈에 들어왔다. 태블릿 PC는 데스크톱PC의 장점을 그대로 살리면서도 유동적이고 미팅이 잦은 비즈니스맨에게 적합 제품이라고 다. 향후 펜과 잉크 기능을 살린 애플리케이션이 추가된 버전이 소개될 예정인데, 이는 보험회사나 의사의 처방전 같은 곳에서 사용될 것이라고 다. 이전 테크놀로지 전시회에서 대기업들이 내놓은 유사 태블릿 PC가 크게 성과를 거두지 못 전례가 있는데도 MS가 이렇게 태블릿 PC를 강조 이유는 무엇일까.
         태블릿 피씨가 대중화 된다면 컴퓨팅 환경은 어떻게 달라질까. 태블릿 피씨를 위 운영체제는 어떤 요구사항을 만족해야 하는가...... -- ["데기"]
         TabletPC 가 대중화 된다는건 다수의 실패사례에도 불구하고 MS의 추진이 이상하게 느껴질 정도이다. 이것보다 PostPC 라는 개념이 더 광범위 토론을 촉구 시킬것 같은데.. --["neocoin"]
         MS가 어쩌면 'MS이니까 가능하다' 로 밀어붙이는게 아닐까. 그리고 이전 전시회때와 현재가 다를 수 있는것은 그만큼 현재의 기술이 발전해서 새롭게 각광받을 수 있는 기술들이 있어서겠지. (TabletPC가 블루투스 지원하고 사이즈도 공책만해지고 데스크톱 모드/렙탑 모드 사라지고 무선인터넷 지원다면 좋겠다. --;) groove 가 TabletPC 지원할거라고 하던데.. 비즈니스용으로서 확실 길을 걸을 수 있으려나.. (PDA도 제대로 활용되고 있는지도 모르겠는데..)
  • TheJavaMan . . . . 13 matches
          * 방식 : 팀이나 개인이 하고 싶은 프로젝트를 시작, 모임 때는 시연을 하거나 그 동안 작업 것을 설명
          * 웹 페이지에 애플릿으로 시연하는 방법(정확 표현인지 모르겠다.)
          - 참여 사람들이 각자 개 이상씩의 하고싶은 프로젝트에 들어서 (프로그램을 만드는데 필요 요소들을 중심으로 각자 책으로 공부하게 된다)같은 팀끼리 일주일에 번정도 모이고, 그것을 토요일에 설명하는 과정으로 (따라서 일주일에 두번 정도 모이게 됩니다.) 전체 자바 프로젝트를 진행해야 하는데 참여율이 저조것 같다. 토요일에는 각자 프로젝트에 대 세미나(다른 사람들의 이해를 돕기 위해)를 하고, 번 정도는 밤을 새서 몇개의 프로젝트를 완성하는 방법도 고려중이다.- 10일(토)에 모인 사람들
          요새 외박을 좀 해서 나는 밤샘이 어려울거 같다..피곤거도 있고 -_- -[문원명]
          - 나 친구에 관 사정으로 오늘 늦게가거나 못 갈수도 있다 저번에도 친구때문이엇는데 미안~ -[iruril]
          - 이번주에도 번 모여야지 않겠나 목욜어때 - 민수
          - 벌써 오고 있다면 미안데 오늘 자봉단 회의가 12시라서 못 하겠네요. 내일로 미루던가 오늘 하면 저는 못 갑니다. - 휘동
  • Ubiquitous . . . . 13 matches
          유비쿼터스 컴퓨팅의 발전사는 1988년 미국 제록스의 팔로알토 연구소(PARC)의 연구원인 마크 와이저(Mark Wiser)가 차세대 컴퓨팅 비전으로 제시 '''‘쉬운 컴퓨터’''' 연구에서 시작됐다.
          유비쿼터스 컴퓨팅의 최종 목표는 '''‘고요 기술’'''의 실현이다.('사라지는 컴퓨팅 계획(Disappearing Computing Initiative)')
          가트너 그룹의 발표에 따르면 2001년 세계 PC 판매량은 1억 286만대이고 휴대용 단말기는 3억9958만대로 집계되었다고 다.
          인간화된 인터페이스(Calm Technology)를 제공해 사용자 상황(장소, ID, 장치, 시간, 온도, 명암, 날씨 등)에 따라 서비스가 변다.
          물이나 공기처럼 시공을 초월해 '언제 어디에나 존재다'는 뜻의 라틴어(語)로, 사용자가 컴퓨터나 네트워크를 의식하지 않고 장소에 상관없이 자유롭게 네트워크에 접속할 수 있는 환경을 말다. 1988년 미국의 사무용 복사기 제조회사인 제록스의 와이저(Mark Weiser)가 '유비쿼터스 컴퓨팅'이라는 용어를 사용하면서 처음으로 등장하였다.
          당시 와이저는 유비쿼터스 컴퓨팅을 메인프레임과 퍼스널컴퓨터(PC)에 이어 제3의 정보혁명을 이끌 것이라고 주장하였는데, 단독으로 쓰이지는 않고 유비쿼터스 통신, 유비쿼터스 네트워크 등과 같은 형태로 쓰인다. 곧 '''컴퓨터에 어떠 기능을 추가하는 것이 아니라 자동차·냉장고·안경·시계·스테레오장비 등과 같이 어떤 기기나 사물에 컴퓨터를 집어넣어 커뮤니케이션이 가능하도록 해 주는 정보기술(IT) 환경 또는 정보기술 패러다임'''을 뜻다.
          유비쿼터스화가 이루어지면 가정·자동차는 물론, 심지어 산 꼭대기에서도 정보기술을 활용할 수 있고, 네트워크에 연결되는 컴퓨터 사용자의 수도 늘어나 정보기술산업의 규모와 범위도 그만큼 커지게 된다. 그러나 유비쿼터스 네트워크가 이루어지기 위해서는 광대역통신과 컨버전스 기술의 일반화, 정보기술 기기의 저가격화 등 정보기술의 고도화가 전제되어야 다. 이러 제약들로 인해 2003년 현재 일반화되어 있지는 않지만, 휴대성과 편의성뿐 아니라 시간과 장소에 구애받지 않고도 네트워크에 접속할 수 있는 장점들 때문에 세계적인 개발 경쟁이 일고 있다.
         전자태그(RFID, 또는 스마트태그) : RFID는 스캐너라는 특정 장비를 필요로 했던 기존 바코드와 달리 무선을 통해 식품, 동물, 사물 등 다양 개체의 정보를 관리할 수 있는 차세대 인식 기술을 말다.
         [http://zdnet.co.kr/news/network/ipv6/0,39029016,39137195,00.htm 국 IPv6 주소 확보「세계 3위, 아태 1위」] - 독일이 9000여 개로 1위라고 하네요.
  • Z&D토론/학회명칭토론백업 . . . . 13 matches
          * 창섭이가 언급것처럼의 이름 방식은 절대 반대이다. 데블스는 99년에 새로운 회원을 모집하게되었고 98이전까지의 데블스 선배님 역시 대다수 제로페이지이고, 작년 home coming day에서 참석하신 분도 많다. 아예 재 흡수 방식으로 나가던지, 완전히 새로운 이름을 추구하던지 방식을 했으면 좋겠다. 지나간 역사들의 페이지에 연연하는건 바보 짓일지 모르나, 스폰때의 기억과, 전체 기수간의 balance조정(미안합니다. 요즘 rpg합니다. --;) 역시 대두되는 문제일 것이다.[[BR]]결정적으로 느끼게된 계기는 통합 회의라고 모인 회의에서 토론하던 것들이 내 경험에 99년 말에 했던 것과, 00년 말에 했던 것과 같고, 더 작은 부분 그 일부임을 깨달았을 때였다. 과거 했던 주제는 회원 모집, 회장 선출, 서버 관리 문제, 회비 문제, 전시회 문제, 방학중 스터디 구성, 활성화 방안 문제 였다. 이번 처음 경험인 01들은 마치 이번 회의가 통합을 위 회의로 들렸을지 모르겠지만, 내용 상으로 봤을때 뭐가 다른가. 부족하면 부족했지. 아니면 데블스 인원이 참관인 같았다.[[BR]]그냥 이름을 고수 하던지 새로 하던지 둘중에 하나로 하라, 하지만 개인적인 의견이라면 '''선''' ''고수'' '''후''' ''변경'' 이다. 이유라면 또다시 긴글 써야 하니, 아무나 데블스 회원이 참여시 제발 설득해 달라 --; --상민
          *상민이 의견에 전적으로 찬성..음 내가 떠들자리인지는 잘 모르겠지만, 이름 문제는 둘중 하나의 이름을 택하던지 아니면 새로 만들어라. Z&D. 이런 식으로 만들지 말고, 이건 배를 탄 사람들의 이름이라고는 볼 수 없다. 단지 서로의 이익을 위해 잠시 손을 잡은 의미로 밖에는 느껴지지 않는다. 계속 후배를 받을거라면 모든 후배들이 물어볼꺼다 이름의 유래가 뭐예요? 하면 다시 ZP와 Devils의 합침이라는 의미를 설명해야될꺼고 그것은 '단일'이 '연합'의 의미를 가지는지 혼란스럽게 할 것이며, 다음에 분열의 원인이 될 수 있으리라고 여겨진다. 지금 이름 때문에 서로의 입장을 치열하게 대립된다면 아예 합치지 않는게 좋을 것 같다.. (또 아무런 입장의 대결도 없다면 합치지 않는게 좋을 것 같다. 첫 단추를 잘 꿰어야 하듯이 지금 이렇게 서로 논의조차 이루어지지 않는다는건 서로의 불만을 감추어 놓는 것일 것이고 이건 '+'가 '-'로 바뀔 수 있게 되거나 최악의 경우 다시 분열의 심지로 남을 수 있으리라 생각된다.) 서로의 입장이 너무 팽팽하다면 새로운 이름을 찾는게 가장 나을 듯하다. 하지만, 이것 역시 최후의 카드이다. --희록
         ps. 데블스 회원이 이 토론에 전혀 참여하지 않고 바라만 본다면 이건 일방적인 Resource Leak이다. 나 00년때 처럼의 그 쓰라린 뒤통수 맞는 기억을 되살리고 싶지 않다. 참여 해라 좀 (여기서 00,01 이야기 것입니다. --; 어째 모든글은 거의 선배님 글만) --상민
         주제넘는것 같지만 이름문제는 선배님들과의 협의후에 결정다고 했던것 같은데 선배님들의 의견을 모으기 위 방법이 논의되고 있는지 궁금하네요 -- 손혜연
          * 새론 만들지 통합할지는 개인의 생각입니다만 뭐가 어찌되었던 간에 확실하게 '이름은 '''xxx''' 로 하자. 왜냐하면 이러이러하기 때문이다.' 하는 식의 제안이 나왔으면 좋겠습니다. 언제까지나 실질적이지 않은 얘기로 겉돌 수는 없다고 생각합니다. 이제 02 신입회원을 받을 날도 달 밖에 남지 않았습니다. 긴 것같지만 짧은 시간입니다. 어영부영하다가 이러지도 못하고 저러지도 못하고 신입생을 받는 일이 없었으면 해서 다급 마음에 올립니다. 저역시 이런 말을 하면서도 변변치 못 소리만 해서 민망하지만 혹시나 내심 정하고 있는 이름이 있는데도 말을 못하는 분이 있을까봐 이런 글을 남깁니다.--창섭
          * 데블스측에서는 밤샘의 조건만 충족된다면 나머지 조건에 관계없이 합할 의향이 있다고 했습니다.(제가 잘못 해석건가요?) 그렇다면 이름을 아예 제로페이지로 하죠. 데블스가 제로페이지에서 떨어져 나왔다면 합할때도 제로 페이지라는 이름으로 합해져야 옮다고 생각합니다. - 강인수
         (이상 결론입니다. 네가지 토론 내용이 모두 학회 명칭을 ZeroPage로 정하는 것을 뒷받침하지 못하고 있습니다.)
         밤샘 조건만 이야기 하는 데. 그건 옳지 못합니다. 제가 학회 이름을 제로페이지로 하기로 동의 것은
         통합 과정의 최소화를 위해서였습니다. 통합 과정은 보다 나은 학회라는 생각의 과정일뿐 통합이 주는 아닙니다. 통합 과정을 간소화 하고 진행을 철저히 하자는 데 기인 생각이었습니다. - 정직 -
  • ZeroPage성년식/후기 . . . . 13 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 소심 게으른 성격때문에 행사 준비같은 것은 번도 해본 적이 없었는데, 제로페이지의 20주년이라는 큰 행사를 준비하게 되어 어깨가 많이 무거웠었습니다. 진행 활동들을 준비하면서 재학생과 선배님들 모두 즐겁게 참여하실 수 있도록 하는 부분이 가장 힘들었습니다... 그치만 걱정과 달리 다들 즐겁게 즐겨주셔서 다행입니다. 이제 맘 놓고 30주년 행사를 기대할 수 있겠네요. 이 글을 읽는 10년 뒤의 후배님들 화이팅입니다 ㅎㅎ - [서지혜]
          * 기획단으로 행사를 참석했던지라 어찌보면 처음부터 끝까지 전부 지켜 볼 수 있었는데요, 상민선배가 해주신 앱에 관 세미나부터 2차 뒷풀이까지 정말 저를 포함해 다들 즐겁게 즐긴거 같아요. 스티브 잡스 책을 못받은게 좀 아쉽긴 하지만.... 다른 선배분들과 조금 더 대화를 나눠볼 수 있었다면 좋았으리란 생각도 하지만 또 편으론 많은 대화를 나누었으니 만족했습니다. 아무튼 다음에도 이런 큰 자리가 ZP에서 있길 바랍니다 -[김태진]
          * 20년 ,오래된 전통을 가진 zeropage의 성년식을 참가하게되어 영광이였습니다. 1991년에 태어난 제가 20번째로 이곳에 들어올 수 있었던건 멋진 인연과 우연인것 같습니다. 20년 청년의 마음으로 시작하는 zeropage와 함께 울고 웃으며 늙어서 30주년 40주년에도 좋은 친구인 zeropage와 함께 하고싶습니다. 기획하느라 수고 기획단 여러분께 진심으로 감사드리며 30주년에도 꼭 함께 합시다! - [김정욱]
          * 감히 20주년 행사의 기획단을 맡아 걱정도 많이 하고 설레기도 했습니다. 가장 걱정되었던건 회원들의 참여였고, 많이 오실 거란걸 알게된 후 걱정했던건 귀 시간 내서 와주시는 선배님들께 의미있는 성년식을 만들 수 있을까 였습니다. 사실 성년식 전날 5시가 되어서야 잠이 들었어요. 역사 세션 발표준비를 몰아쳐서 해서도 있었지만[!?] 너무 설렜습니다. 걱정과는 달리 상민 선배의 번개 세미나부터 시작해서 기획단 학우들, 회장님, 부회장님, 재학생들, 선배님들께서 좋은 시간으로 채워주셔서 너무 좋았던 성년식이었습니다. 지금 그때 시간에도 말했지만 이런 선후배간의 연결고리가 쭉 이어져 나갔으면 좋겠습니다. 꼭 30주년이 아니더라도 기회가 되면 다시 만나고 싶은 사람들이 ZeroPager인것 같고 창준 선배와 상민 선배의 이야기에서도 느꼈지만 많은 분들께서 ZeroPage 안에서 행복했던 순간들은 역시 아는것, 배운것, 느낀것을 공유하는 시간들(받던, 주던) 이었다고 생각합니다. ZP 안에서 너무 행복합니다. 감사합니다 - 16기 [송지원]
          * 놀란점 ~ 10주년때는 20주년에 대 이야기를 하지 않았다. 너무 멀다고 느껴서인 것 같다. 이번 20주년에는 30주년에 대 상상과 이야기를 하고 있다. 심지어 당연시하고 있다. 그래 이제 '고작' 10년 후니까.
          * 아이스 브레이킹 중 재미있는 점 ~ 아이스브레이킹에서 많은 후배들이 키워드를 가장 고민을 적었다. 고민 많은 대학생들 답다. 키워드가 1개 정도만 있는 후배도 있었다. 나도 처음에 너무 막연했는데, ' 최근 가장 즐거운 것이나 뿌듯 것' 기준으로 삼고 적어 나가자 너무 많은 키워드가 등장해서 스스로 놀라고 가치있었다. 차후에는 구체적인 가이드가 있으면 더욱 좋을 것 같다.
          * 준비관점 ~ 10년 전에도, 사람 안모이면 어쩌지? 하는 걱정이 너무 앞섰는데, 많은 분들이 참석해 주었다. 이번에도 비슷거 같다. 중요건 역시 액션이다.
  • django/ModifyingObject . . . . 13 matches
         SQL문에서는 insert into values 구문을 이용해 레코드를 삽입하고, update set where 구문을 이용해 레코드를 수정다. 하지만 django는 이 둘을 하나로 보고 데이터베이스에 레코드를 삽입하고 갱신하는 작업을, 모델로 만든 객체를 저장(save)하는 것으로 추상화했다. 기본적으로 모델클래스는 save메소드를 가진다. 따라서 개발자가 작성 모델도 save메소드를 가지며, 이는 오버라이딩 할 수 있다. 아래 예에서 보듯이 save 메소드는 새로만든 레코드 필드의 속성에 따라서 적당히 삽입과 갱신 작업을 수행다.
         Employee 모델에 해당하는 새로운 객체를 만들고 save메소드를 이용하면, 데이터베이스에 새로운 레코드를 삽입하거나, 기존의 레코드를 갱신다. 기존에 삽입하지 않았기 때문에 처음 save를 호출하면 레코드를 삽입하고, 다음 번 save를 호출하면 레코드를 갱신다. 레코드는 객체로, 레코드의 속성을 객체의 멤버 변수로 취급다.
         save메소드는 우선 현재 저장하려는 레코드의 주키를 가지고 데이터베이스를 검색하여 레코드를 삽입할 지 갱신할 지 결정다. 주키를 이용해 기존의 레코드를 찾은 경우에는 단순히 갱신다. 주키를 이용해 레코드를 찾지 못 경우에는 단순히 삽입다. 만일 주키가 없는데 레코드가 있는 경우에는 삽입하여도 상관이 없으므로 삽입다. 다음은 save메소드의 주요 분기점을 보여주고 있다.
         데이터베이스에서 레코드를 삭제하는 작업은 Model클래스의 delete메소드로 추상화했다. 하지만 내부에서 실제로 레코드를 삭제하는 메소드는 delete_objects이다.[8] delete_objects메소드는 지우려는 레코드를 참조하는 다른 테이블의 레코드까지 함께 삭제하거나, 외래키를 NULL값으로 설정다. 예를 들어 다음은 Risk테이블에서 레코드를 삭제하는 경우 이를 참조하는 Consequence, Control 테이블의 레코드까지 함께 삭제하는지를 묻는 사용자 화면이다.
  • erunc0/XP . . . . 13 matches
          small talk 를 이용 간단 예제.
          지금 내가 꼭 필요것들 예를 들면 프로그래머가 해야 하는 xp 에 관 경험들이나
         '경험들' 로 친다면 오히려 Installed 가 맞는 선택일 것 같은데. --a 중간중간 실제 했었던 일들 이야기도 있었으니까 (RonJeffries 와 Chet 의 Pair 등) 뭐 암튼 적당하게 속도를 맞춰서 읽되, 국어판 책의 서문 대로 '각 Practice를 극까지 실험해보길'. 개인적으로 'Installed 가 추상적이다' 라는 말에는 반론 (Explained 라면 모를까..) 지금 XP 를 실천하는 중인 사람들을 보고 싶다면 뉴스그룹이 가장 생생하지 않을까 생각. (또는 http://xprogramming.com 의 글들) --["1002"][[BR]][[BR]]
         책속에 나온 사람들의 경험이란 것이 실제로 제겐 뭔가 느낌이랄까 그런것들을 전달해 주는데는 계가 있는것 같아서요. 그런 의미로 '추상적이다'라는 말을 썼어요. 제가 잘 이해하지 못해서 그렇지만요.. ^^; 다읽어 보긴 했는데요. 가장 제가 중요하게 생각 것은 고객, 팀원 그리고 기타 프로젝트에 도움이 되는 사람들과의 대화를 충실히 하라는 말이 가장 와닿은것 같아요. 누군가와 project를 xp로 하게 되면 책속에 나온 말들이 이해가 될것 같아요. 고맙습니다~ ["erunc0"][[BR]][[BR]]
         저는 지금 XPI를 읽고 있습니다. XPI에서 제시하는 극을 실험해보기 위해 지켜야만 하는 규칙(?)들을 찾는다고 해야 할까요 ? 예를 든다면 삶의 순환 법칙을 어기지 않기 위해 유저스토리는 고객이 작성해야만 다(도움은 주되 개발자의 욕구를 억제해야만 하는)는 것이겠죠 ? 이것은 XP 프로그래머가 반드시 지켜야만 하는 것이겠죠 ? 이것은 경험을 통해 얻는 극으로 몰고가는 방법(요구사항을 요구하는 자에게 얻어내는 것이 가장 좋다라는 것을 최대 활용하는 방법?)을 일종의 규칙처럼 이야기 것 같습니다. 그러니까 실질적으로 XP팀이 지켜야 하는 것들을 설명했기 때문에 추상적이지 않다라고 해야할까요? ^^; 경험적인 것을 얻고 싶다면 김창준님이 기고하시는 마소(2002.9)를 보는 것도 좋겠네요.--["Benghun"]
  • 권순의 . . . . 13 matches
          * 건강 몸을 만들자 - 운동은 꾸준히 합시다..
          * 신문은 꾸준히 보자 (균형을 맞추어; 조선일보+겨레) - 근데 볼수록 뭔가 암담함..
         == 이 사람이 것?? ==
          * [제13회 국게임컨퍼런스 후기]
          * [제12회 국자바개발자 컨퍼런스 후기]
          * OMS - 건강 몸을 만들자 (11/7/25)
          * 양대 자람과 학회 교류 참석 [ZP&JARAM세미나]
         == 이 사람테 해주고 싶은 말?? ==
          * 개인적으로 저 자들 어떻게 읽나요? - [유재범]
          * 남은 모르되 나는 안다면 번은 이기고 번은 질것이고
          * 남을 모르고 나 또 모른다면 모든 싸움에서 질 것이다
          * 뒤늦게 발견 레고마인드스톰...ㅂㄷㅂㄷ - [유재범]
  • 당신의큰돌은무엇입니까 . . . . 13 matches
         시간관리에 대 좋은 글
         시간관리 요령을 배우기 위해 많은 학생이 커다란 강의실에 모였습니다. 그런데 강의실에 들어온 시간관리 전문가는 엉뚱하게도 커다란 항아리 하나를 테이블 위에 올려놓고 주먹만 돌을 항아리 속에 하나씩 넣기 시작했습니다. 그리고 항아리 속에 동이 가득 차자 학생들에게 물었습니다. “ 이 항아리가 가득 찼습니까? “ 학생들은 어리둥절했지만, 이구동성으로 대답했습니다. “예!”
         그러자 그는 “정말?”하고 되묻더니, 테이블 밑에서 조그마 자갈을 움큼 꺼내 항아리에 집어넣고 깊숙이 들어갈 수 있도록 항아리를 흔들었습니다, 주먹만 돌 사이에 조그마 자갈이 가득 차자 그는 다시 물었습니다. “이 항아리가 가득 찼습니까?” 눈이 동그래진 학생들은 망설이며 “글쎄요.”라고 대답했습니다.
         그는 이번엔 테이블 밑에서 모래주머니를 꺼냈습니다. 모래를 항아리에 넣어 주먹만 돌과 자갈 사이의 빈틈을 채운 후에 물었습니다. “ 이 항아리가 가득 찼습니까?”
         그는 빙긋 웃으며 물을 주전자 꺼내 항아리에 부었습니다. 그리고 학생들에게 물었습니다. “이 실험의 의미가 무엇이겠습니까?” 학생이 손을 들더니 대답했습니다. “너무 바빠서 스케줄이 꽉 찼더라도, 자신이 진정으로 노력하면 새로운 일을 그 사이에 추가로 할 수 있다는 것입니다.” 다른 학생들도 그 말에 동의하는 듯 고개를 끄덕였습니다. 그런데 시간관리 전문가는 뜻밖에도 고개를 젓는 것이었습니다.
         여러분 인생의 큰 돌은 무엇입니까? 승진, 돈, 건강, 가족, 신의……. 무엇을 우선 순위에 두느냐에 따라 인생은 달라질 것입니다. 자신만의 큰 돌을 찾아보세요. 그리고 그 돌이 무엇이든지 인생이라는 항아리에 가장 먼저 넣어야 다는 것을 잊지 마세요.
         최선을 다해서 열심히 사는 것도 중요하지만, 자신의 삶에서 가장 소중 것이 무엇인지 잊고 살아가는 경우가 많습니다. 그것이 꿈이든 사랑이든 건강이든 가족이든 우선순위를 정해놓고서 이루려고 노력하거나 지키려고 노력다면, 내 인생의 가치는 더욱 소중해 지겠지요
         내가 알고 있는바로는 '천재B반을 위 Time Management' 에 있던 글로 추정 -- ["1002"]
  • 데블스캠프2009/화요일후기 . . . . 13 matches
          * '''박준호''' - 로보랩과 먼가 비슷 느낌이여서 쉽게 다가갔습니다. 하지만 로보랩이 C 로 작업하는것이라면 로보코드는 JAVA 로 작업하는것만 다르다는 그런 생각 이였습니다. 하지만 여러가지 너무 많은 변수들을 생각해야 되서 힘들긴 했지만 로보랩보다 더욱 더 재밌었습니다.
          * '''강소현''' - API가 뭔지, 그걸로 어떠어떠 프로그램을 만들 수 있는 지 알게된 수업이었어요. 왠지 마지막 피아노...최종귀축 여동생 플랑도르 같은 거도 연주하게 할 수 있지 않을까하는 느낌이 ㅇㅁㅇ(!) 직접 연주하는 프로그램인 거같긴 했지만ㅋㅋ;;
          * '''서민관''' - 개인적으로 이번 화요일 수업에서 가장 마음에 드는 수업이었습니다. 이런 식으로 시간의 흐름에 따라서 추상화 개념이 발전하는 모습을 보고 있으니 참 대단하다는 생각이 들었습니다. 그리고 반복을 줄이기 위 방법들(ex - 반복문, 자료형, class) 각각이 무엇을 위해서 만들어졌는지를 알아보는 것으로 평소에 아무 생각 없이 썼던 것을 다시 번 생각해 보는 기회가 되었습니다. 그리고 수업을 듣고 나니 추상화를 통해서 긴 프로그램 코드를 각각의 함수로 쪼개는 방법이 왜 중요지도 조금 더 잘 알겠네요.
          * [송지원] - 학우들이 OOP를 배우기 좀 더 좋지 않을까 싶다. 컴공에서 죽어라 부딪치며 삽질하고 어려워하는 개념에 대해 정말 쉽고 재밌게 설명해주는 형진이의 내공은 역시 최고인것 같다. 시간이 부족게 아쉬운건 어쩔 수 없는듯.
          * [김준석] - 같은 것을 반복하기 위해 우리는 자주 copy &paste를 사용다. 단순히 키보드 두번만 누르면 똑같은 것이 번더 만들어지는 좋은 단축키 이다. 하지만 사실 이 반복되는것을 우리는 단순히 단축키를 누름으로서 만들어지는것은 과거의 저급언어를 사용할때나 만들어지는 반복의 숙달이다. 평소 자주 알고리즘을 연구하자는 말을 들을것이다. 문제를 푸는것 만에는 사실 극히 특별 알고리즘이 필요없다고 생각다. 살면서 어떻게든 간단반복으로 대부분은 풀수 있을테니까. 알고리즘을 연구하는것은 우리가 사용하는 컴퓨터의 부담을 줄이기 위해 만들며 이는 단순 반복되는 계산과정을 줄여줘 자원의 낭비를 줄여준다. 이렇듯 컴퓨터의 반복은 줄이면서 직접 키보드를 치며 반복하고있는 나의 자원소비량은 어떤가? 나는 왜 반복을 하고 있는가? 이 긴 코드를 줄일수 있는 방법은 정녕 없는것인가?라는 컴퓨터 알고리즘을 생각하듯 나를 위 알고리즘을 생각을 해보았나? 대부분의 문서를 장으로 줄여서 요약할수 있다는것을 가르쳐주는 One Page Proposal이라는 책에서는 "온갖 미사여구를 넣어 50page나 100page가 넘어가는 문서는 문서를 받은 사람의 책상에서 쌓이고 쌓여 결국에는 보여지지도 못하고 세절기에 들어가 버린다. 정말 자신이 있다면 알짜배기만 모아서 1Page로 보기 좋게 만들어라." 맞는 말이다. 아무리 길게 만든 프로그램이라도 20줄도 안되는 프로그램과 성능이 똑같다면 당연히 보기도 좋고 관리하기도 좋은 20줄 프로그램을 쓰겠지.이 20줄 프로그램을 쉽게 만들기위해 사람은 자신이 편리하게 개발과 연구를 했다. 그렇게 편리하도록 발달하는 과정. 그 생각을 잘보여준 세미나였다고 생각다. 과연 네이버에서 자동완성됬던 Kesarr.
  • 데블스캠프2012 . . . . 13 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 ||
          || 4 |||| UI프로그래밍 |||| [http://prezi.com/uit4ykp5bx8g/javascript/ JavaScript 편견깨기] |||| [http://zeropage.org/seminar/62046 테스트를 위 CTIP] |||| |||| [:데블스캠프2012/넷째날/묻지마Csharp 묻지마 C#] |||| [http://zeropage.org/seminar/62095 비트맵 가지고 놀기] || 11 ||
          || 5 |||| UI프로그래밍 |||| JavaScript 편견깨기 |||| 테스트를 위 CTIP |||| |||| [:데블스캠프2012/넷째날/묻지마Csharp 묻지마 C#] |||| 비트맵 가지고 놀기 || 12 ||
          || 7 |||| [http://zeropage.org/index.php?mid=seminar&category=61948 페챠쿠챠] |||| [http://zeropage.org/seminar/62023 Kinect] |||| [http://zeropage.org/62033 LLVM+Clang...] |||| |||| 새내기를 위 파일입출력 |||| CSE Life || 2 ||
          || 8 |||| 페챠쿠챠 |||| Kinect |||| [:데블스캠프2012/셋째날/앵그리버드만들기 앵그리버드 만들기] |||| |||| 새내기를 위 파일입출력 |||| CSE Life || 3 ||
          || 9 |||| 페챠쿠챠 |||| [http://www.hanb.co.kr/network/view.html?bi_id=1760 유지보수하기 어려운 코드 작성법] |||| 앵그리버드 만들기 |||| |||| 새내기를 위 파일입출력 |||| 회고 || 4 ||
         || 웹 서비스 구축 전반에 관 이야기 || [유상민](9기) ||
         || 테스트를 위 CTIP || [서영주](외부강사) ||
         || 백트래킹을 이용 알고리즘 문제 해결 || [정진경](21기) ||
         || 새내기를 위 파일입출력 || [강성현](18기) ||
  • 루프는0부터? . . . . 13 matches
         대부분의 경험있는 C++프로그래머들은, 처음에는 이상하다고 생각할만 프로그래밍 습관을 가지고 있습니다. 그것은 바로 번호를 매길 때에 언제나 1부터 시작하는 것이 아니라 0부터 시작다는 것입니다.
         보통 비대칭형 범위는 대칭형 범위보다 더 사용하기 쉽습니다. 왜냐하면 다음과 같은 중요 속성이 있기 때문입니다. [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과 같은 방법을 사용 할수 있습니다. 하지만 이렇게 복잡하게 해서 얻을수 있는 이득은 거의 없습니다.
  • 상협/나는희망의증거가되고싶다 . . . . 13 matches
          * 이 책은 인간의 투철 삶에 대 투쟁을 그렸다.
          * 음.. 이책을 읽게된 동기는 우리 누나가 추천을 해줘서 읽게 되었다. 읽고 나서는 잘 읽었다는 생각이 들었다. 언제나 느끼는 것이지만 다른 인간의 투철 삶에 대 투쟁을 보면 나에게 그 의지가 조금이나마 전달되는거 같아서 좋다. 나는 나 자신도 상당히 의지가 굳세다고 생각했는데, 서진규 씨를 보니 본받을 점이 많은거 같다. 서진규 씨는 고생을 더 많이 했기 때문에 그 성취후의 보람도 훨씬 더 컸을 것이다. 서진규씨의 투철 삶에 대 의지는 감동이었다. 그런데 그 서진규씨에게 있어서 희망이라는 것이 다른 사람에게 보여주기 위(사회적 지위와 명성 같은 타인에 의 판가름 되는거.) 희망인지 아니면 자기 자신에게 보여주기 위(자아실현) 희망인지는 확실히 분간을 못하겠다. 아무래도 전자인거 같은 느낌이 좀 든다. 서진규씨는 자신의 하고 싶은 공부를 하고 있다는 데에서 기쁨을 느끼기 보다 하버드라는 곳에서 그 스스로 대단하다고 생각하는 사람들과 공부를 하게 된 점에서 더 큰 기쁨을 느끼는거 같다. 그래서 약간 씁쓸하기는 하다. 그리고 서진규씨는 미국 군인이었던 만큼 미국에 대 사랑이 큰거 같다. 개인적으로 미국 자체를 싫어 다고 볼 수는 없지만, 현재 미국이라는 거대 이익 집합체가 세계에 하는 행동을 좋게 보지 않는 입장이라서 그게 좀 걸렸다. 그래도 그 수많은 세월동안 미군에 있으면서 자신의 꿈을 실현해 나갔으니 이해는 간다. 음.. 이렇게 좀 삐딱하게도 조금 볼 수 는 있지만, 그래도 서진규씨의 인생에 찬사를 보낸다. 여러가지 고난을 이겨내고 자신이 생각하는 꿈을 이루었으니... 자신이 생각하는...
  • 상협/모순 . . . . 13 matches
          * 양귀자씨의 장편 소설로서 삶에 대 예리 관찰력이 돋보이는 작품이다.
          * 나는 이말에 대해서 이 소설을 읽기 전까지는 그렇게 크게 느껴지는게 없었는데.. 소설을 읽고 나서는 이말에 대해서 느껴지는게 많아 졌다. 인생을.. 미리 짜여진 계획대로.. 마음대로.. 된다고 다면 행복할까? 자기가 하고 싶은것은 다 할수 있고, 못하는게 없다면?? 과연 행복할까~?? 어떠 불행도 없는 행복을 행복이라고 할수 있을까? 하는 생각을 해본다. 인생이 그렇게 만만하지는 않을거 같고, 그렇게 만만하게 사는게 좋을거 같지는 않다. 나의 인생도 내 계획대로 된것도 아닌고.. 지금 생각하면 그게 더 재밌는 삶을 살 수 있게 만든건 아닌지 하는 생각이 든다.
          * 이책을 읽으면서 행복과 불행에 대해서 생각해 보았다. 그리고 사랑에 대해서도 생각해 본다. 진정 행복은 불행이 있기에 존재할 수 있는거 같다. 불행이 없는 삶은 행복또 없는 삶이다. 행복이라는 것도 어떠 기준이 필요할텐데 그 기준으로서 불행이 적합하기 때문이다. 모......순..... 그렇다면 어떤 방패도 뚫을 수 있는 창이 있기에 어떤 창도 막을 수 있는 방패도 존재 다고 말할 수 있는 건가?..어떤 창도 막을 수 있다는 말에서 어떠 창이라는 말이 어떠 방패도 뚫을 수 있을 만 창이라는 가정이 숨어 있다. 즉 어떠 창도 막을 수있다는 말은 필연적으로 어떤 방패도 뚫을 수 있는 창이라는 존재의 기반 위에서 존재 할 수 있는 것이다. 그 말의 성립 여부를 떠나서 그 말의 존재라는 기반위에서 생각하면 두 말은 서로의 불가분의 관계에 있는 것이다. 세상사의 모든 관계가 그런건 아닐까?..
  • 새싹교실/2012/아우토반/앞반/3.22 . . . . 13 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 우와 처음으로 새싹 교실 강의를 진행해 보았습니다. 긴장도 많이 됐는데 강의자료가 없어서 그런지 어수선 순서로 가르쳐준 것 같네요..ㅜㅜ 다음부턴 강의자료도 탄탄하게 준비해 오겠습니다:O 여러분 싸릉해요♥♥♥♥ - [장용운]
          * 제대로된 스터디 그룹은 처음 참여해본다. 근데 아침부터 수업듣고 과제만하다 바로 새싹을거라 조금 피곤했다. 뭔가 앞에껄 아는거같은데 제대로 모르는 것 같다 앞으론 좀 예습복습을 해야겠다. 아우토반 아주 좋소~ - [남성준]
         그 이유는 do-while문에선 변수안의 숫자에 관계없이 일단 번 while문이 실행되고나서 a--후연산이 시작되므로
         3에 ㅋ번 실행후 2로 감소, 2에서 ㅋ번 1로감소 , 1에서 번, 0에서 번 실행되므로
         while문에선 3에서 번 2에서 번 1에서 번 0에서 멈춤으로
         ㅎ3번, 후연산때문에 변수에서 -1이 번 더 되므로 -1.
  • 수학의정석 . . . . 13 matches
         취지 : 컴퓨터를 배우는 입장에서 컴퓨터 언어와 컴퓨터 구조만을 알고 우리들이 배운 수학이나 과학의 배경지식을 접목시키지 못하는 것은 정말 바보 같은 행동이다. 결국 그 사람은 코더밖에 될 수 없으며 결코 프로그래머는 되지 못다. 때문에 이러 페이지를 만들어 수학을 컴퓨터에 접목시켜 배우고자 다.
          SOURCE : 자신의 풀이를 먼저 적고 그것을 가지고 어떻게 프로그램을 짰는지 적어야다. 그리고 아래에 소스를 포함하도록다.
          결코 알고리즘만을 만드는 무식 행동은 하지 않기 바란다.
          CPU_CLOCKS : 시간은 기록 되지 않으며 프로그램이 수행된 시간(CPU CLOCK을 기록해야다. 방법은 아래.)
          이러 UPDATE를 둔 이유는 수학의 입장에서 여러가지 방식으로 문제를 풀 수 있기 때문이다.
          경우에 따라서는 아주 어려운 문제가 나올 수 있다. 이것은 출제자가 놀리는 것이 아니라 출제자 또 그 문제를 어렵게 생각다는 것을 뜻다.
         time_in = clock(); // 초기 시작 시간을 입력다.
         제가 알기론 clock() 함수가 리턴하는 값은 프로그램이 시작된 이후로 경과 CPU 클럭 수 이기 때문에 시스템마다 다르다고 알고 있습니다. 그래서 CLK_TCK로 나누어 초 단위로 바꾸어 비교를 하는것으로 알고있는데... 어떻게 생각하시는지...? --[상규]
  • 스터디/Nand 2 Tetris . . . . 13 matches
          * 스터티에 대 방향 :
         === 공부 내용 ===
          * 쇠뿔도 단김에 빼라는 말이 있듯이, 순식간에 스터디 진행합니다. 학기 끝날 때까지 매주 진행해보려고 하는데, 끝까지 다 할 수 있었으면 좋겠습니다. 뭐 윤환이나 혁준이형 있으니까 잘 진행되겠죠. 이번 시간에 했던 것은 기초 중에 기초인데, 사실 작년 논리회로 시간에 Nand 게이트로 다른 gate 구현하기 따위는 해본적이 없어서 좀 당황도 했습니다. 그리고 그림 그리는 것도 참 간만이고, 다음 시간까지 논리회로 ppt 좀 보고서 와야겠네요. 간단 4way MUX도 저리 긴데, 사칙연산은 어떻게 해야할지.. 머리가 아픕니다. - [권영기]
          * 지금은 처음부분이라 무난하게 진행했지만... 가면갈수록 어떤식으로 진행될지 난이도에 따라서 왠지 바뀔수도 있으려나...하는 생각이 들었습니다. 그나저나 논리회로 뒷부분은 거의 기억이 없는데... 전공책번 훝어보고 와야할것같습니다. - [김윤환]
          * 스터디에 필요 책 구입해서 비치해두었습니다. - [김민재]
          2개의 Instruction을 지원다. 각 Instruction은 2Byte이다.
          * MIPS 코딩하는 것을 생각하고 과제를 진행했는데, 현실은 MIPS 보다 더 하드코어했네요. Symbol도 사용안하고(사실 Cpu emulator만 사용해서 생긴 문제일 수도 있지만), 레지스터도 2~3개 밖에 사용하지 못하는 상황에서 작성하려고 하니 참 막막했습니다. I/O Handling 같은 경우 키보드 입력을 해결하려고 나름 생각을 해서 작성을 했는데, 결과물이 영 마음에 들지 않는군요. 아무튼 이번 시간에 느낀 것은 "High-Level Language가 왜 필요가?" 가 되겠습니다. 사실 이 느낌은 어셈블리 시간에도, 컴퓨터 구조 시간에도 느꼈지만 말이죠. 이제 1/3정도를 진행했고, 계획대로라면 12월이 되기 전까지 1/2는 진행할 수 있을 것 같아서 기분이 좋네요. 무사히 진행해서 끝을 봤으면 하는 생각입니다. - [권영기]
          지금까지 기본적인 논리 게이트를 (Nand만 사용해서) 구현하고, Combinational Chip 과 Sequential Chip까지 전부 구현했다. 지금까지 구현 것을 모두 합치면 Computer Architecture가 만들어진다.
          Screen을 위 RAM 어딘가를 할당해놓음. 이 공간은 Screen을 위 공간. CPU는 그 공간을 읽거나 써서 Screen 출력
          Keyboard를 위 RAM 어딘가를 할당해놓음. 이 공간은 Keyboard를 위 공간. CPU는 그 공간을 읽어서 어떤 key가 들어왔는지 확인.
          자세 설명은 [http://nand2tetris.org/lectures/PDF/lecture%2005%20computer%20architecture.pdf architecture] 에 나와있다.
  • 시간맞추기/허아영 . . . . 13 matches
         생각보다는 쉽게 코딩 것 같은데 ,
         책이란 책은 다 찾아봐도 간단 설명뿐 자세 건 알지 못해서 아쉽다.
         kbhit()이란 함수 인데, 키가 눌러지면 1, 안 눌러지면 0을 리턴을 다는 것만을 알아냈다.
         === 나테 할 말 ===
          if(time(0)-start_t == record-1 ) // 수정 부분
         아까 올린 답변보다 진화 답변..^^
         최대 아영이꺼에 가깝게 바꿨어.^^
          그런데 time()함수를 사용 방법에는 문제가 있는데 말이지..ㅎㅎ
          time()함수의 기능상의 문제점..ㅎㅎ 사실 이거말고 다른방법을 사용하는게 더 정확데..ㅎㅎㅎ
          음.. clock_t라는 time_t랑 비슷 변수를 만들고 변수명=clock() 라고하면 프로그램이 시작된 뒤부터 지나간 시간이 기록되는군.. 그런데 함수의 특성상 정확 시간을 나타내지는 않는다는 단점이..;;ㅁ;; - [조현태]
          정확 시간이라. 애매하다 그치 ㅋㅋ 아참. 문제 올려줄께 ~ 이번주 세문제가 안되었네 . -[허아영]
  • 오픈소스검색엔진Lucene활용 . . . . 13 matches
          * 여러가지로 활용도 많이 되고 되게 유명거 같다.
          * 검색이 필요 모든 분야에 활용 가능
         = 글 지원은? =
          * 지원 된다. 하지만 SearchFiles.java 예제 소스를 조금 수정 해야 다.
          * 위와 같이 하면 글 검색이 잘된다.
          * 쿼리에 별표를 붙이는 이유는 글은 저기서 사용하는 분석기는 빈 공간을 중심으로 토큰을 나눈다. 글도 빈 공간을 중심으로 나누는데 우리가 검색 하고자 하는 중요 것들을 거의 대부분 앞 글자에 나온다. 그렇다고 그 글자만 치면 검색이 안된다. 하지만 "*"( 검색에서 모든 문자를 의미하는것) 를 뒤에 붙이면 해당 단어 뒤에 어떠 단어든 붙어 있는 절들이 검색이 될 수 있다. 현재까지는 이러 방법으로 문제 생기는 것은 없었음.
         || 3/16 || 글 검색 및 인덱스 구성 검색 완료, JSP를 통 웹 서비스 테스트 완료 ||
         관련이 있는지는 모르겠지만 http://screencast4.sqlonrails.org/video/screencast2_lq.mov 이거 번 참고해보길 - 임인택
  • 정규표현식/스터디/메타문자사용하기 . . . . 13 matches
          * 윈도우 시스템에서 폴더의 구분을 역슬래시(\)로 하는 반면에 리눅스 시스템은 슬래시(/)를 사용다. 따라서 이것을 변경하기 위해 사용할 수 있다.
         == 특정 문자 형태와 일치 시키기(준석) ==
         자주쓰는 문자 집합들은 특수 메타 문자로 대신하여 찾기도 다. 이런 메타 문자들을 문자 클래스(classes of characters)라고 부른다. {{{[0-9]}}} = {{{[0123456789]}}} 와 같은걸 알것이다. 이것을 {{{[0-9]}}} 보다 더 편게 찾으려면 '\d'로 찾을수 있고 제외하고 찾기는 '\D'로 {{{[^0-9]}}}를 대신할수 있다.
         위와 보면 깨달을수 있다시피 정규 표현 문법은 대소문자를 구별하며 소문자와 대문자를 서로 반대임을 뜻다.
         '\W'는 영문자와 숫자를 제외것을 찾는것이다.
         '\x'를 붙여 10진수 10은 '\x0A'로 표현할수 있다. 이 문자를 사용다면 '\n'과 기능이 같다
         '\0'을 붙여 사용다. '\011'은 '\t'과 같고 그렇게 사용 할수있다.
          ||{{{[:print:]}}} ||출력가능 모든 문자 ||
          ||{{{[:space:]}}} ||빈칸을 포함 모든 공백문자 {{{[\f\n\r\t\v]}}} ||
          * 주의할 점은 대괄호가 두번 들어간다. posix 표현은 [:xdigit:] 이기 때문에 문자집합을 정의하려면 대괄호를 번 더 써줘야 다.
  • 정모/2013.1.8 . . . . 13 matches
          * 참여자 : [김태진], [권순의], [고종], [안혁준], [정진경], [박정근], [김정욱], [서민관], [강성현], [김준석], [김민재] 등등등...
          * 회장은 선거일로 5일 이전 공고된 정모에서 정회원 출석 인원 과반의 득표로 당선되며 부득이 경우 5일 이상 진행된 인터넷 투표에서 정회원 재적 인원 과반의 참여와 참여 인원 과반의 득표로 당선됩니다.
          * 원칙적으로 휴먼 중인 정회원은 정회원 재적 인원에는 포함하지 않으나, 정모에 출석 때에는 정회원 출석 인원에 포함합니다.
          * 은퇴 처리되면 정회원으로서의 권과 의무가 소멸합니다.
          * 탈퇴 또는 제명 처리되면 회원으로서의 권과 의무가 소멸합니다.
          * 인터넷 투표는 정모 선거의 대체이므로 휴면 중인 정회원은 인터넷 투표에 참여할 경우 정모 출석에 준하여 권을 행사하는 것으로 인정할 수도 있을 것 같습니다.
          * 현재 졸업자, 졸업예정자 여부와 무관하게, 회장에게 활동 중단 후 1년 이내에 은퇴 의사를 표시하여 "은퇴 처리"되거나, 탈퇴 의사를 표시하여 "탈퇴 처리"되거나, 1년 이상 활동하지 않아 정모에서 "제명 처리"되거나, 회장이 정 자격과 요건에 미치지 않아 준회원으로 "강등 처리"된 경우 선거권과 피선거권이 상실됩니다.
          * 동안 쉬었음. 이번주 목요일부터 당장 문제를 풀어와서 진행합니다.
          * 방도구
          * 점심 - 뭔가 간단 것(김밥, 햄버거, 솥)이나 가면 있는 식당
          * [김태진] - 후기를 작성해주세요. 오늘 시간동안 말을 계속했더니 (거기다 감기때문인지 목소리도 잘 안나옴) 힘들었네요. 근데 이것도 이제 번만 하면 끝..........
  • 정모/2013.3.18 . . . . 13 matches
         [김태진],[송지훈],[서민관],[김해천],[고종],
          * 진심 아무것도 모르고 오셨네 지전;; - [고종]
          * facebook이네, facebook이네, facebook이네, facebook이네, facebook이네, facebook이네, facebook이네, facebook이네, facebook이네, -[고종]
          * Q : 정확 사용자의 수요는 고려하셨는지? A : 그래서 협소하게 갑니다.
          * Q : 기존의 SNS와 다른점은? A : 주변 사람이 어떤 관심을 가지는지 모릅니다... --(받아적다가 의도를 이해를 못 해서 관둠,[고종])--
          * 세종대 어디선가 와서 뭔가 얘기 했는데.. 아 난 좀 맘에 안 들음. 사업을 하는 데, 소비자의 needs를 맞출 생각을 안 하고 자기들 여건에 맞춰서 사업구상하는게 맘에 안듬. - [고종]
          * 사업비밀이라는 말을 듣고 오늘 아침에 읽은 글이 생각난다. 스타트업 투자와 멘토링을 하고있는 폴 그레이엄 아저씨가 뉴욕에서 강연 - [http://mv.mt.co.kr/new/view.html?no=2013031715150681799 여기]
          사업에서 중요 것은 아이디어가 아님. 일단 살아남을 것, 그리고 빠르게 성장할 것 두가지임. 얼마나 대단 사업 기밀인지는 모르겠지만 일단 개발자도 구하기 힘드실 것 같다. 전략은 비밀인데 일단 투자하라는 꼴이네. - [서지혜]
          * [이병윤] 학우의 기계 학습을 이용 Segmentation
          * 자세 내용은 (아마도) zeropage.org 참조.
          * 이전처럼 행사에 참여 사람을 정회원으로 다.
  • 정신병원에서뛰쳐나온디자인/밑줄긋기 . . . . 13 matches
          * 어떤 사람이 소형 비행기로 비행하던 도중 구름 속에서 길을 잃었다. 그는 건물이 보일때까지 고도를 낮춘 뒤 그 건물의 열려 있는 창문 너머로 보이는 남자에게 ''"지금 제가 있는 곳이 어디입니까?"'' 라고 소리질러 물었다. 그 남자는 ''"당신은 지상 100피트 상공에 있는 비행기 안에 있습니다."'' 라고 대답했다. 조종사는 즉시 정상 코스로 복귀하여 공항을 찾아 착륙했다. 놀란 탑승객들이 조종사에게 어떻게 길을 알아냈는지 물어보았다. 조종사가 대답하기를 ''"그 남자의 대답은 100% 정확하고 사실이었지만 전혀 도움이 되지 않는 대답이었습니다. 그래서 나는 그가 마이크로소프트 사에서 일하는 소프트웨어 엔지니어라는 것을 금새 알아차렸습니다. 그리고 마이크로소프트 사 건물의 위치를 기준으로 해서 공항의 위치를 알아냈습니다."'' 라고.
          * 너무 웃겨서 신나게 웃었지만 편으로 MS 무지 까네 싶은 생각이 들었다. MS보다 못 소프트웨어를 만드는 곳이 얼마나 많던가. 그리고 작년에 나를 포함하여 몇몇 ZeroPager로 구성된 팀이 만든 포토잇을 생각해보면………… - [김수경]
          * 첨단 기술 회사들은 제품을 개선답시고 그저 복잡하고 불필요 기능들만 제품에 추가하고 있다. 공급자들이 이렇게 행동할 수밖에 없는 이유는 잘못된 개발 과정은 나쁜 제품의 문제를 해결할 수 없고 그저 새로운 기능만 추가할 수 있기 때문이다.
          * 소프트웨어 엔지니어들이 생각하는 허용 가능 품질 수준은 전통적인 공학 분야에서 허용되는 것에 비해 훨씬 더 낮다.
          1. 소프트웨어 공학이 전통적인 공학에 비해 늦게 시작된 분야라서 아직 품질 수준에 대 의식이 떨어지거나 품질 수준을 뒷받침할 기술력이 떨어지는 것 아닐까.
          1. 이 책에서 자동차 공학과 비교했기에 생각난 것인데 소프트웨어 공학은 전통적인 공학 분야에 비해 생명과 직결되는 분야가 아니라서 품질 수준에 대 기준치가 더 낮은 것은 아닐까.
          * 프로그래머들은 자신들이 가장 좋아하는 스타일로 컴퓨터의 행동 및 정보 제공 방식을 만들어내고, 이는 제인에게 가장 적합 행동 및 정보 제공 방식과 큰 차이가 있다.
          * 현대 문명 사회는, 사회 운동가들이 인종과 계층 사이의 벽을 허물기 위해 열심히 노력하는 편으로 기술자들이 본의 아니게 새로운, 오히려 더 높은 장벽을 쌓는 데 매진하고 있는 형국이다.
         == 즐거움을 위 디자인 ==
         == 강력함을 위 디자인 ==
         == 사람을 위 디자인 ==
  • 조현태/놀이/미스틱아츠 . . . . 13 matches
          좌우 이동은 물런, 점프도 다. 물런 끝에가면 알아서 뛰어내린다.
          마디로 똑똑Girl...귀여운 녀석.훗..
          엽기적인 테스트.. 역시 필요건 그래픽 디자이너..
          || 2005.04.14 || 네모네모 로직 푸는 프로그램 완성~~>ㅁ<;; 너무 힘들었..ㅎㅎㅎ(for와 if만 사용;;) || [조현태] ||
          || 2005.05.27 || 게임의 사소 그래픽 버그 수정, 두개이상의 키가 눌려도 처리가능하게 수정 || [조현태] ||
          || 2005.06.11 || 리펙토링 관련 뛰어내리는 버그 수정, 개 이상의 대상에 대 그림출력 수정 || [조현태] ||
          || 2005.06.12 || 기본 공격 2회설정, 키보드 세팅 변경, 사소 버그 수정 || [조현태] ||
          || 2005.06.17 || 화면 출력 알고리즘 변화, 포인터로 간단 레이어 효과 가능 || [조현태] ||
          || 2005.06.17 || 제시간의 추가, 1초마다 1씩 감소하며, 시간이 0이되면 hp와 mp가 감소하도록 설정. || [조현태] ||
          거기다 실력의 무능도 강하게 몫해서 진행속도는 바닥....거기에 귀차니즘까지..OTL..
          혹시 누군가가 게임을 만들려고 다면, 이미지 자료를 충분히 구하고 하거나 그래픽 디자이너를 구하고 만들기 시작하라고 권하고 싶다.
  • 좋은글귀s . . . . 13 matches
         == 재능, 그리고 승리하겠다는 강 의지 ==
         "스포츠팬이라면 알고 있겠지만 최고의 운동 선수는 뛰어난 재능 이상의 것을 필요로 다. 승리하겠다는 강력 의지가 바로 그것이다.
          예로 마이클 조던은 자선 골프 경기에서도 NBA 결승전만큼 열정적이다." - 케이트 루드먼 등의 '알파 신드롬' 중에서...
          "우리가 애플에 있는 이유는 세계에서 가장 우수 컴퓨터와 세계에서 가장 우수 소프트웨어를 만들기 위함이다. 우리는 현재 가장 우수 일부 제품을 가졌다. 그렇지만 그것을 층 더 발전시킬 수 있다. 우리는 훨씬 더 우수 제품들을 만들 방법을 알려고 매일 일하는 것이다. 그러므로 그것이 우리를 채찍질하는 역할을 다. 우리는 세계에서 가장 좋은 제품을 만들려 애쓰고 있다. 그리고 그렇게 할 때 우리는 편히 잠자리에 들 수 있을 것이다." - 제프리 크루이상크의 '애플의 방식' 중에서 (더난, 67p)
         스티브 잡스가 애플에 복귀 지 일 년이 조금 지났던 1998년. 그는 컨퍼런스에서 "당신은 언제쯤이면 애플을 회생시켰다고 느낄 것입니까?"라는 질문을 받았습니다.
         참 멋진 말입니다. 개인이나 조직이 이런 목표, 비전을 갖고 있다면 열정과 성과는 자연 함께할 겁니다. 나의 목표를 다시 번 생각해보게 만든 스티브 잡스의 말이었습니다. - (예병일의 경제노트, 2007.4.4)
  • 지금그때2006/세부사항 . . . . 13 matches
         홍보방법 이메일 문구에 언급을 다.
         책을 안가져 오시면 책이름과 소개 다.
         나를 만든 책장 총시간을 정해서 그이상 길어진다면 사회자가 제제를 다.
         자기소개 후 원탁에 둥글게 앉은 상태에서 사회자가 지적하면 해당 사람이 일어나서 그 자리에서 소개다.
          3. 다른사람들이 거기에 대 답을 다.
          4. 다시 (1)을 수행다.
          1. 질문을 포스트잇에 기록다.
          주제 - 이전의 주제를 그대로 사용하되, 필요 것은 추가다.
          2. 몇몇 사람이 정해진 주제나 자기가 생각 주제중에서 마음에 드는것을 선택해서 칠판에 기록다.
          3. 이전과 같은 방식으로 진행다.
  • 학술터위키와제로페이지위키링크문제 . . . . 13 matches
         -상협- 이번에 학술터를 위키로 만들어서 활성화 하고자 하는 프로젝트를 동문서버팀과 정통부가 연계되어서 추진하고자 합니다. 동문서버팀이 위키를 만들어 주면 정통부에서 그 위키에 필요 기본적인것들을 채우기로 했습니다. 그런데 위키가 처음 열릴때 기본적으로 사람들을 끌어모을만 아이템이 필요데, 이에 대해서 제로페이지에서 완료된 페이지들을 링크걸면 어떨까 하는 생각을 하였습니다. 이에 대해서 제로페이지인들의 허용 여부를 알고 보고 싶어서 이렇게 페이지를 개설 하였습니다.
          * 학술터 위키 초기 발전 용이 - 학술터 위키로서는 처음에 아무것도 없이 시작하는 것 보다는 몇몇 흥미를 끌만 내용들을 토대로 시작하는 것이 편할 것이다.
          * 검색엔진으로부터의 검색문제 - 이 또 학술터 위키쪽에서도 문제를 일으킬 수 있는 내용이다. 동문서버 관리자 또 검색엔진 IP를 막아야 하지만, www.caucse.net 전부가 검색엔진를 거부해서는 안되는 일이다. 이는 동문서버 관리자들도 고려해야 할 사항이다.
         Q : "정통부에서 그 위키에 필요 기본적인것들을 채우기로 했습니다." 의 의미는 무엇인가요?
         A : 그러니깐 프론트 페이지를 만드는것과, 거기에 필요 아이템들을 제공하는 것이죠. 공동 강의록같은 경우 정통부에서 초기에는 주도적으로 적어 나갈 것이고, 족보 같은것도 수집하여 올려 활성화를 위해서 힘쓸것입니다. 그리고 나머지 부분에서 제로페이지에서 완료된 페이지를 링크걸고자 다는 이야기 입니다.
         === 검색엔진에 관 문제는? ===
         Q : 동문서버팀 및 정통부 측에서는, 검색엔진에서 동문서버를 통 ZeroWiki의 문제의 소지가 있는 내부 스터디 자료에 대 접근은 어떻게 해결할 것인가요?
         DeleteMe) 제로페이지의 위키 자체를 링크하지 않고 저쪽 위키에 페이지를 열어 필요 내용만 가져간다면 괜찮을것 같지만.(저작권이 관련 있을까요..?) 이렇게 된다면 제로페이지의 주소는 남지 않겠죠. -- 선호 (정식 답변이 아니라 제 의견입니다^^;)
  • 한자공/시즌1 . . . . 13 matches
          * 7월 9일에 github에 올린 서로의 코드를 보며 이야기를 나누고, 책에서 읽어왔으나 다루지 못 내용을 기존 코드에서 살을 붙여서 만들 계획입니다.
          * 개별 과제에 대 이야기가 잠시 나와서 의논 할 예정입니다.
          * Github에서 글 안 깨지게 Eclipse 설정하기
          * 저번주에 코딩 서로의 코드를 보며 장단점을 이야기 함.
          * 오버로딩에 대해 알아보고 저번주 영준이의 코드를 이용해서 간단 오버로딩 실습을 함.
          * 7월 9일에 오버로딩 실습 코드에 생성자를 이용해 더 살을 붙일 계획입니다.
          * 정보 은닉과 패키지에 대 이야기를 나누었습니다.
          * 7월 23일에 계획 실습 내용에 따라 실습을 할 예정입니다.
          * 처음으로 자공의 모든 멤버가 모인 날입니다.
          입니다.(위의 내용에 대 내용을 회상하고 말해보는 방식으로 복습을 진행 하였습니다.)
          * '자바의 정석' 책에 있는 예제를 변형시켜서 실습을 하였습니다. 자세 내용은 깃허브에.
          * 8월 6일에 하지 못 내용을 다룰 예정입니다.
          * 각자 책을 읽어 오는 것이 아니라, 주어진 테마에 맞게 코드를 짜 옵니다. 원다면 같이 공부 할 부분을 예습해 와도 괜찮습니다.
  • 2dInDirect3d/Chapter2 . . . . 12 matches
          이 객체는 IDirect3D 객체와는 달리 실질적일 일을 하는 객체이다. 이 객체를 생성하는 함수는 다음과 같다. IDirect3D 객체는 이것을 생성하기 위해 존재다고 해도 과언이 아니다.
          1. 결과는 역시 성공하면 D3D_OK를 리턴다.
          2. BehaviorFlag에는 버텍스를 처리하는 방법을 넣어준다. D3DCREATE_HARDWARE_VERTEXPROCESSING, D3DCREATE_MIXED_VERTEXPROCESSING, D3DCREATE_SOFTWARE_VERTEXPROCESSING중 가지를 사용다. (사실은 더 많은 옵션이 있다.) 대개 마지막 SOFTWARE를 사용다.
          5. 다 사용 이후는 꼭!! '''Release()'''함수를 사용하여 사용을 해제시킨다.
          1. 결과는 성공하면 D3D_OK를 리턴다.
          1. D3DCLEAR_STENCIL, D3DCLEAR_TARGET, D3DCLEAR_ZBUFFER 세개가 있는데, 보통 D3DCLEAR_TARGET를 사용다.
          1. 네번째인자에는 색을 지정다.
          백버퍼에 그림이 들어오거나 클리어 경우엔 그것을 앞으로 끌고나와야 다. 그것을 하는 함수가 Present함수이다.
          1. 네 인자 모두 NULL을 넣어주면 된다. (프레젠트는 화면단위로 하는 경우가 대부분이기 때문이다.)
  • 2학기파이선스터디/if문, for문, while문, 수치형 . . . . 12 matches
         조건식1이 참이면 <문들1>이 수행되고, 그렇지 않으면 조건식2를 검사해서 참이면 <문들2>가 수행된다. 그렇지 않으면 <문들3>이 수행되는데 여기서 조건식이나 else다음에는 콜론(:)을 입력해야 하고, else if 가 아닌 elif라는 사실을 알아야 다. 또 if 문에서의 열이 잘 맞아야 다.
         다음은 예이다.
         때로는 사전을 이용하는 것이 더 좋을 때도 있는데, C언어의 switch, case문과 같은 맥락에서 이해하면 된다. 다음은 위와 동일 결과를 가져온다.
         <객체>는 순서를 갖는 자료여야 다. 반복횟수는 <객체>의 크기가 되는데, for문 안에서 continue를 만나면 for가 있는 행으로 이동하고 break를 만나면 <문2>를 수행하지 않고 for문을 빠져나간다. else이후의 <문2>은 for문을 정상적으로 다 끝냈을 때 수행다. 다음은 1부터 10까지의 합을 구하는 예이다.
         for 문에서 요소의 값 뿐 아니라 인덱스 값도 함께 사용하려면 enumerate() 내장함수를 이용다(파이썬 2.3 이상). enumerate() 내장함수는 (인덱스, 요소값) 튜플 자료를 반복적으로 넘겨준다.
         정수형으로 표현할 수 없는 큰 수는 자동으로 롱형 정수로 표현다. 롱(long)형 상수는 정수의 마지막에 L, l을 붙여서 표현다. 유효 자리는 메모리가 허용하는 대이다.
         복소수형 상수는 실수부+허수부로 표현되는데 허수부에는 J, j를 숫자뒤에 붙여야 다. 실수부와 허수부는 각각 실수형 상수로 표현된다.
  • 3DAlca . . . . 12 matches
          * 광원이 옆에서도 비추는거처럼 보여서 다른쪽 벽에 그림자가 생기게 다. 더 알아보기 좋게 하기 위해서
          * 화면은 어느 일정 도만 돌아가면 좋겠다. 어지럽다.. 도는 각도 제, 판이 끝에 걸려서 안 움직이는데도 화면은 계속 회전하는 문제 해결 가능
          * 판이 가운데로 왔을때 카메라도 가운데로 와야 하지 않을까 다.
          * 약간 치우쳤을 경우 판 움직이는 것보다 좀더 빨리 움직여서 리커버를 해야 다?
         || 날짜 || 일 ||
         || 10.15 || 그림자 효과 추가, 모든 컴퓨터에서 동일 속도로 돌아가게 만듬 ||
          * 현재 API에서 돌아가는걸 MFC에서 돌아가게 후 네트워크 1:1일 구현하고 , 그후 서버하나에 다중 접속할 수 있게 구현다.
          * 벽돌만 없고, 나머지는 비슷 상황에서 실제로 해보니깐, 첨에 너무 어려웠다.. 황당.. ㅡㅡ;; 이게 망했구나 하는 생각이 그 순간 들었다. 이렇게 만든사람도 어려워서 제대로 못하는데 누가 이겜을 할까 하는 생각이... 그런데 알고 보니깐 왼쪽으로 공이 떨어지면 충돌 처리가 안되는 버그가 있었다.-_- 버그를 고치고 나서도 뭐 마찬가지로 어려웠다. ㅡㅡ;; 그때 아하 하고 이생각이 떠올랐다. 이거 그냥 판만 크게 하면 되는거 아냐? 하는 생각.. 역시 판을 크게하니 할만했다... 후후후..
          * 인수는 이거 몇초 해보더니, 산만하다고 다. 음.. ㅡㅡ;;;, 요새는 이거 짜는 시간보다 이거 내가 하면서 즐기는 시간이 더 많은거 같다. 음 무엇보다 나테 재밌으니깐 다행이다. ^^; 아무도 안하더라도 내가 할테니.. ㅋㅋ
  • ACM_ICPC/2013년스터디 . . . . 12 matches
          * 참여를 원하는 분을 위 문은 언제나 열려있습니다.
          * n 마리의 쥐가 크기가 같은 n 개의 버터를 먹는데 n 시간이 걸린다고 할 때 , m 마리의 쥐가 m 개의 버터를 먹는데 걸리는 시간을 구하는것이 문제이다. 각각의 쥐가 치즈를 먹는 속도는 모두 동일하다고 다.
          * [http://211.228.163.31/30stair/bridging/bridging.php?pname=bridging&stair=15 bridging - binary indexed tree를 이용 Up Sequence 문제]
          * D번은 풀이법에 대 실마리가 제시되어 각자 코딩할 계획
          * 시험기간에 의 휴식기
          * 최대 path의 길이를 구 후에 뒤로 돌아가면서 숫자가 줄어드는 녀석들을 스택에 담으면 path도 구할 수 있다.
          * 곽병학 : 붓그리기?
          * 풀이 - 삼차원 테이블을 사용 DP문제, d(bar,unit,width)는 bar번째의 bar를 사용하면서, unit의 위치에 그 bar의 폭이 width일 때의 경우이다. 따라서 가능 모든 바코드의 수를 구하는 것은 d(bar,unit,0 ~ width)를 전부 더해주면 된다.
          - 설명하면 1110110 이라는 것이 있을 때, 1110110이 오기 전에는 110으로 시작하는 모든 바코드가 있을 것이고, 그 이전에는 10으로 시작하는 모든 바코드가 있을 것이다. 그리고 1110110이라는 바코드가 오기 전에는 111000으로 시작하는 모든 바코드가 있을 것이고, 그 이전에는 11100으로 시작하는 모든 바코드가 있을 것이다. dp테이블에 해당 경우에 대 경우의 수를 모두 저장해놨기 때문에, 앞에서 부터 차례대로 이전에 올 바코드의 수를 더해나가면 index를 구할 수 있다.
          * 풀면서 주의할 점 : dp테이블의 범위에 벗어나는 경우(예를 들어서 음수 번지)가 나올 수 있으므로 이에 대 처리를 해줘야 다. 비쥬얼 스튜디오에서 코드를 작성할 때, 테이블 범위에 벗어나도 정답이 나오는 경우가 생겨서 이런 예외를 발견하기 힘들었음..
  • BusSimulation/조현태 . . . . 12 matches
          (사실 이 증명 시뮬레이션은 편도에서 버스 용량이 무대고 설사 승객이 내리지 않더라도 승객이 타고, 타는데 시간이 걸린다는 것만으로도 버스가 몰려다니는 것으로 증명되어 있으나.. 재미없자넝~ 버스는 자고로 용량이 있어야.. 그리고탔으면 내리는게 인지상정.ㅎ)
          들떠서 다 적고나서 소스의 설명이 안되있는것을 깨닫고 시급히 수정.. 그런데 어느분이 그사이 페이지를 변경하셔서 눈물을 머금고 다시작성다.ㅠ.ㅜ
          편도인 관계로 승객의 목적지는 승객이 생성된 이후의 역중 곳(랜덤)으로 정해진다.
          또 이런 문제로 마지막 역은 승객을 만들(!)수 없다.
          버스가 자신의 속도(만들때 정할 수 있으며 이 소스에는 80으로 통일하였다.)로 움직이는데 턴이 소모된다. (앞에 차량이 있어서 정차하거나, 역에 들어가게되어 자신의 이동거리를 다 가지 못하더라도 동일하게 턴이 소모된다.)
          승객 1인을 태우고, 승객1인을 내리는데 1턴이 소모된다. (둘중에 가지 과정만이 이루어 지더라도 동일하게 1턴이 소모된다.)
          이러 규칙을 기본으로 해서 시뮬레이션 하고 있다.
          - 물런 재미가 없긴 하겠지만 이 증명은 버스가 편도로 움직이고 버스용량이 무이며, 승객이 내리지 않더라도 승객이 타고 승객이 타는데 시간만 걸린다면 버스의 몰림현상이 발생다. (고로 증명하기 위해 소스를 많이 짤 필요가 없을 수도 있다. 재미가 없겠지만..ㅎ)
          cout << name << "역에 사람이 명 생성되었습니다.\n";
          cout << name << "역에 사람이 명 생성되었습니다.\n";
  • C++Seminar03 . . . . 12 matches
          * 사회자의 역할: 간단 개념을 설명하고 개념에 대 실습에서 코드 작성 돕는다.
          * 매주 월요일 오후6시부터 시작하여 10시를 maximum 으로 다.
          * CS 에 등장하는 기본적인 개념이나, 프로그래밍을 하는데 기반이 되는 지식에 대해 간단 세미나를 하기도 다.
          1. 사회자 명과 2인 1PC 또는 3인 1PC 로 PC 1대당 조가 되어 PairProgramming 식으로 진행. 사회자는 간단 개념을 설명하고 개념에 대 실습(?) 또는 적용된 코드작성을 Pair 해본다. (이런식으로 진행할경우 장소에 문제가 될 수도 있을것 같네요. 실습실 하나를 제로페이지가 점령할수도 없는 일이고..-_- 강의실에서 간단 설명 -> PC 실로 이동.. 정도가 대안이 될까요? ) --["임인택"]
          * ZeroPage 홍보를 위 수단중의 하나로 C++ Seminar 가 개최되었으면 합니다. 현재 회장님께서 생각하시는 바가 DevilsCamp 이전까지는 준회원체제로 운영되다가 DevilsCamp 이후로 정회원을 뽑는 방식이 좋다는 쪽인것 같은데 일단 입학실날의 강의실홍보 이후로 C++ Seminar 를 여는게 새내기들의 관심을 모으는데 좋을 것 같습니다. --["임인택"]
          * 휴학 01이 참여해도 되는건가요. -_-a --["snowflower"]
  • CppStudy_2002_2 . . . . 12 matches
          * C++의 문법도 익히고, 나아가서 사용법, OOP에 대해서 더 친숙 해지기, 다양 과제를 통 프로그래밍 경험 쌓기
          번 안나오면 2주를 점핑해야 하기때문에 무리 갈 것이라...
          * 주마다 일정 양의 범위 공부와 숙제를 해야합니다
         || 과제명 || 사람||재동쓰 Edit||석천형의 Edit||
          * 드디어 스터디는 시작됩니다...^^ 좀 힘들더래도 자신의 '발전'을 위 거라 생각하시고 열심히 따라와 주세요
          * 형!! 너무해요... 하루 남겨놓구 챕터를 다 공부해 오라뉘..... ㅡ.ㅠ -재니
          * 조언 고맙습니다. 서문만 읽었는데도 제가 상당히 많은 게 부족하다는 걸 느꼈습니다. 기존 진행 방법에도 수정을 해야겠다는 생각이 듭니다. 편 위 책은 우선은 도서관에 신청을 해두었습니다. -- 재동
          * 얼.........string 다해서 올리려구 했는데 그만 디스켓을 학교에서 안가지구 왔다. 이런일 두 번 아닌데.......난 왜이럴까.......담부턴 나에게 디스켓 가져가라구 말들 좀 해줘 T.T - 세연
          * 재동아, 미안데 공부해야 할 부분이 어디지?? 워낙에 깜빡깜빡을 잘해서 말야..... -세연
          * 예 알겠습니다. 제가 조금이라도 낳은 디자인으로 고쳐 보여볼께요. 여기에 부족 부분이 있음 형도 제꺼에 지적 해주세요 (일명 '은근슬쩍 끌어들이기'...^^;;;) --재동
          뭐 저도 공부 시작 지 얼마 되지는 않았지만 조금이라도(Composing Mathods 정도) 리펙토링을 알고 행하는 게 나중에
  • CryptKicker2 . . . . 12 matches
         텍스트를 암호화하는 방법 중에 보안상 취약하긴 하지만 흔하게 쓰이는 방법으로 알파벳 글자를 다른 글자로 바꾸는 방법이 있다. 즉 알파벳의 각 글자가 다른 글자로 치환된다. 암호화된 것을 다시 원래대로 되돌릴 수 있으려면 두 개의 서로 다른 글자가 같은 글자로 치환되지 않아야 다.
         알려진 평문 공격법(known plain text attack)이라는 강력 암호 분석 방법이 있다. 알려진 평문 공격법은 상대방이 암호화했다는 것을 알고 있는 구문이나 문장을 바탕으로 암호화된 텍스트를 관찰해서 인코딩 방법을 유추하는 방법이다.
         여러 줄의 텍스트가 주어졌을 때 같은 케이스에서는 모든 줄에서 같은 치환 방법을 사용다고 가정하고 그 중 줄은 the quick brown fox jumps over the lazy dog라는 평문을 암호화 것이라는 점을 이용해서 암호화된 텍스트를 복호화하라.
         각 케이스는 여러 줄로 구성되는데, 앞에서 설명 방법에 따라 암호화된 텍스트다. 암호화된 내용은 소문자와 스페이스만으로 구성되며 길이는 최대 80문자로 제된다. 입력되는 텍스트는 100줄로 제된다.
         각 테스트 케이스에 대해 각 줄을 복호화하여 표준 출력으로 출력다. 가능 암호화 방법이 두 개 이상있으면 그 중 아무 결과나 출력해도 된다. 복호화할 수 없는 경우에는 다음과 같은 결과를 출력다.
         서로 다른 케이스 사이에는 빈 줄을 개 집어넣는다.
  • EffectiveSTL/VectorAndString . . . . 12 matches
          * new 해줬으면 delete 해줘야 다는 번거로움.
          * 번 delete 메모리를 또 delete하면 "잘못된 연산... " 요 에러가 뜰지도 모름.
          * 자신이 알아서 메모리 관리 다.(캬)
          * 배열은 제공하지 않는 연산을 제공다.
          * 새로운 메모리를 할당다.(일반적으로 두배 커진다.)
          * 원본 컨테이너의 값들을 새롭게 할당 메모리로 옮긴다.
          * 원본 컨테이너안에 있던 객체들을 삭제다.
          * 원본 컨테이너의 메모리를 해제다.
         == 헷갈릴수 있는 컨테이너 크기에 관 메소드들 ==
          * n이 현재 size()보다 크면 - 끝에서부터 n - size() 만큼의 빈 공간을 추가다.
          * n이 현재 capacity()보다 크면 - 메모리 재할당다.
  • EmbeddedSystem . . . . 12 matches
          * '''제된 자원'''을 가지고 '''특정 목적'''을 갖는 작업을 처리하기 위 시스템
          * 임베디드 시스템은 더 큰 시스템의 구성요소를 이루거나 사람의 개입 없이 동작하도록 기대되는 하드웨어와 소프트웨어이다. 전형적인 임베디드 시스템은 전원이 켜져 동작하기 시작하면 전원이 꺼질 때까지 멈추지 않는 특수 용도로 사용하는 일부 응용 프로그램을 시동하는 롬에 들어 있는 소프트웨어를 포함하는 단일 보드 마이크로컴퓨터이다. 임베디드 시스템은 운영체제를 포함하거나 단일 프로그램으로 작성할 수 있을 만큼 단순할 수 있다. 시스템에 필요 없을 경우 키보드, 모니터, 직렬 통신, 대용량 기억 장치와 같은 일반적인 주변 장치나 사용자 인터페이스 소프트웨어를 지원하지 않는다.그리고 실시간성을 요구할 때도 있다.
         = 제된 자원 =
          * 베터리 제
          * 저전력을 위 운영체제
          * 저전력을 위 컴파일런
          * 저전력을 위 CPU
          * 저장 매체의 제
          * 크기의 제
          * Soft Real Time System 반응이 느려도 무방 시스템
  • GUIProgramming . . . . 12 matches
         윈도우 매니저 KDE에 사용되는 툴킷이다. 이름은 "cute"라는 단어에서 만들어졌다고 다. 다양 멀티플랫폼을 위 기능이 존재하며 다국어 지원이 좋다. 또 기본적으로 C++을 이용하지만, 파이선이나 펄, C를 위 바인딩 기능을 제공다.
         자바로 작성된 프로그램에서 기본적으로 이용하는 API이다. 플랫폼에 독립적으로 제작된 툴킷이지만 내부 구현 상 플랫폼에서 제공하는 함수를 아주 낮은 수준의 추상화된 형태로만 제공하기 때문에 자바의 Platform-independable의 특성을 충분히 만족할 만 수준은 못된다.
         최근 버전의 자바에서 이용하기 시작 선사의 툴킷이다. 특징으로는 AWT보다 더욱 보기 좋은 그래픽을 제공다. 또 AWT와 달리 플랫폼에 비종속적이기 때문에 모든 플랫폼에서 동일 모양을 보여준다. 그리고 클래스 라이브러리에 약간의 수정을 가함으로써 Windows 에서 기타 플랫폼 (예를 들자면 Mac)의 {{{~cpp Look&Feel}}}사용하는 것이 가능하다. 물론 -_-; 원칙적으로 특정 운영체제의 룩&필은 변경해서 응용프로그램을 개발하는 것은 정책상 불법의 범주에 속다..
  • Garbage collector for C and C++ . . . . 12 matches
          * README.QUICK 파일에 기본적인 설명이 있다. doc/README.* 에 플렛폼별 자세 설명이 있다.
          * C++ 인터 페이스를 추가 하기 위해서는 "make c++" 을 하여야 다.
          /! 시스템에 따라 Makefile 내용 중 CC=cc 를 CC=gcc 로 수정하여야 다.
          * C++ 인터 페이스를 추가 하기 위해서는 "make c++" 을 하여야 다.
          * MS 개발 툴을 사용다면 NT_MAKEFILE 을 MAKEFILE 로 이름을 바꾸어 사용다.
          * win32 쓰레드를 지원하려면 NT_THREADS_MAKEFILE 을 사용다. (gc.mak 도 같은 파일 이다.)
          * 볼랜드 개발 툴을 사용다면 BCC_MAKEFILE 을 사용다.
         == 내가 사용 인스톨 ==
          * Windows NT 나 Windows 2000 에서 문제가 발생다면 -DUSE_GLOBAL_ALLOC 나 -DUSE_MUNMAP 옵션을 사용하여 컴파일 다.
  • IpscAfterwords . . . . 12 matches
         후.. 좌절(아까 떡볶이 먹을때에도 너무 강조것 같아서 이제는 다시 자신감 회복모드 중입니다만) 임다. -_-; 결국 5시간동안 문제도 못풀었네요. 처음 경험해본 K-In-A-Row 문제를 풀때나 Candy 문제를 풀때만해도 '2-3문제는 풀겠다' 했건만. 어흑;[[BR]]
          * 자자.. 가끔 자만감에 용기백배할때 번씩 이런거 풀어주면서 겸손 모드(?)로 전환을;; --석천
         집에와서 B번 문제를 30분시간 제을 걸고 생각했었던 방법으로 다시 번 플밍 해보는데, 생각이 틀렸었네요. 접근법은 프로세서하나하나들에 대 단순 원리의 조합.. 뭐 이런걸 바랬는데, 최소의 수로 나오지가 않는다는. B번 3번째꺼에서 100번 turn 을 돌아야 했다는; 음.. 나중에 또 번뜩일때 다시 궁리를;
         ICPC 모의고사(?)와 같은 류의 경험을 번 해보고 싶었는데 이번과 같은 기회가 주어져서 무척 좋았습니다. 아쉬웠던건 팀워크 발휘가 제대로 안된 점이네요. 또 알고리즘은 생각해냈는데 구현을 못 상황이라면 나름대로 자기 위안을 할 수 있겠는데 솔루션에 접근하는 길조차 찾지 못것도 퍽 아쉬운 점이구요. 처음 두어시간이 흐른뒤엔 사고 능력이 무척 떨어진걸 몸으로 느낄 수 있었는데 너무 오래간만에 머리를 썼더니 쉬 지친게 아닐까하는 생각이 드네요. ["프로그래밍파티"]때엔 좋은 컨디션으로 참여해보고 싶네요. 이제 좌절보다 풀어내는 재미를 느끼고 싶기도 하고, 공부할 좋은 기회를 만들어 주신 선배님께 실망스런 결과는 더 보이지 말아야죠. 모두들 늦게까지 정말 수고 많으셨습니다. --["이덕준"]
          * 분명 쉽고 간단 방법이 있을거라는 믿음을 갖기
  • Java/ModeSelectionPerformanceTest . . . . 12 matches
         Servlet 에서, 또는 Switch - Case 등 많은 분기를 하는 방법에 대 디자인 & 퍼포먼스 관점에서의 구경.
         이 방법은 일단 속도상으론 가장 빠르다. 하지만, 편으로
         Seminar:WhySwitchStatementsAreBadSmell 에 걸리지 않을까? 근데.. 그에 대 반론으로 들어오는것이 '이건 mode 분기이므로 앞에서의 Switch-Statement 에서의 예와는 다른 상황 아니냐. 어차피 분기 이후엔 그냥 해당 부분이 실행되고 끝이다.' 라고 말할것이다. 글쌔. 모르겠다.
         편으로 느껴지는 것으로는, switch 로 분기를 나눌 mode string 과 웹 parameter 와의 중복이 있을 것이라는 점이 보인다. 그리고 하나의 mode 가 늘어날때마다 해당 method 가 늘어나고, mode string 이 늘어나고, if-else 구문이 주욱 길어진다는 점이 있다. 지금은 메소드로 추출을 해놓은 상황이지만, 만일 저 부분이 메소드로 추출이 안되어있다면? 그건 단 마디 밖에 할말이 없다. (단, 저 논문을 아는 사람에 해서) GotoStatementConsideredHarmful.
         === 세번째. 위의 방법을 보완 방법이다. 바로 일종의 Table Lookup. ===
         이 방법은 initModeMap 에서 매번 Mode에 대 등록을 해줘야 다. 퍼포먼스는 Method Reflection 보다 훨씬 빠르다.
         위의 방법에 initModeMap 을 reflection 으로 처리 것이다.
         이건 위의 테스트들을 번에 실행시키기 위 runner class.
  • JavaStudy2004/오버로딩과오버라이딩 . . . . 12 matches
          기반 클래스에 이미 존재하는 함수를 파생 클래스에서 다시 선언하고, 구현하는 것을 함수를 재정의(Overriding)다고 다. 기반 클래스에 이미 존재하는 함수를 파생 클래스에서 재정의 하면, 파생 클래스에서는 기반 클래스에서 정의된 함수가 무시되고, 파생 클래스에 새로 정의된 함수가 동작하게 된다.
          예를 들어 People클래스에 move(int aX, int aY){this.position.x += aX;this.position.y += aY;}라는 함수가 있다. 그리고 People클래스를 상속 받은 Student이라는 클래스가 있다. 근데 '학생'은 좀 멍청해서 반대로 움직인다. 그렇다면 상속받은 move함수를 재정의 해줘야다. move(int aX, int aY){this.position.x -= aX;this.position.y -= aY;}
          함수를 재정의 할 때는 기반 클래스에 만들어져 있는 함수와 파생 클래스에서 재정의 함수의 함수명과 매개변수의 타입이 완전히 같아서 서로 구별할 수 없어야 다. 만약, 재정의 하려고 함수를 만들었는데 이것이 기반 클래스에 있는 함수와 매개변수의 타입이 조금이라도 다르면, 이것은 재정의가 아니라 오버로딩으로 간주된다.
          오버로딩이란 하나의 함수명에 비슷 기능을 하면서 넘겨 받는 매개변수가 서로 다른 함수를 두개 이상 정의하는 것을 말다.
          위에서 말 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;} 두 함수 다 유효 함수로 사용된다. 두 함수 중 어떤 함수가 호출될 것인지는 매개변수 값에 의해서 결정된다. 즉 오버로딩 된 함수들은 반드시 매개변수의 타입이 달라 서로 구별될 수 있어야 다.
  • JollyJumpers . . . . 12 matches
         n개의 정수(n>0)로 이루어진 수열에 대해 서로 인접해 있는 두 수의 차가 1에서 n-1까지의 값을 모두 가지면 그 수열을 유쾌 점퍼(jolly jumper)라고 부른다. 예를 들어 다음과 같은 수열에서
         앞 뒤에 있는 숫자 차의 절대 값이 각각 3,2,1이므로 이 수열은 유쾌 점퍼가 된다. 어떤 수열이 유쾌 점퍼인지 판단할 수 있는 프로그램을 작성하라.
         각 줄 맨 앞에는 3000 이하의 정수가 있으며 그 뒤에는 수열을 나타내는 n개의 정수가 입력된다. 맨 앞 숫자가 0이면 출력하고 종료다.
         입력된 각 줄에 대해 "Jolly" 또는 "Not Jolly"를 줄씩 출력
          || [이승] || C++ || 오래걸렸음 || [JollyJumpers/이승] ||
         입력 조건이 명확하지가 않군요! (1)입력을 줄 입력받고, Jolly 여부를 판단하고, 프로그램을 끝내거나, 혹은 (2)입력을 우선 모두 받고 입력의 끝 조건을 만났을 때,
          그건 그리 중요하지 않아. (1)로 하던지 (2)로 하던지. 중요건 제대로 Jolly jumper를 판단할 수 있는가지. --재동
         샘플인풋에 5 1 4 2 3 이 아니고 4 1 4 2 3 입니다(수정했음). 맨 앞의 수가 입력받을 숫자의 개수를 나타내는거에요. 문제가 불분명것 같아 가지 예를 더 알려드리죠 4 1 4 3 1 => Jolly --[곽세환]
  • LC-Display . . . . 12 matches
          친구가 방금 새 컴퓨터를 샀다. 그 친구가 지금까지 샀던 가장 강력 컴퓨터는 공학용 전자 계산기였다. 그런데 그 친구는 새 컴퓨터의 모니터보다 공학용 계산기에 있는 LCD 디스플레이가 더 좋다며 크게 실망하고 말았다. 그 친구를 만족시킬 수 있도록 숫자를 LCD 디스플레이 방식으로 출력하는 프로그램을 만들어보자.
         입력 파일은 여러 줄로 구성되며 표시될 각각의 숫자마다 줄씩 입력된다. 각 줄에는 s와 n이라는 두 개의 정수가 들어있으며 n은 출력될 숫자(0<=n<=99,999,999), s는 숫자를 표시하는 크기(1<=s<=10)를 의미다. 0이 두 개 입력된 줄이 있으면 입력이 종료되며 그 줄은 처리되지 않는다.
         입력 파일에서 지정 숫자를 수평 방향은 '-'기호를, 수직 방향은 '|'를 이용해서 LCD 디스플레이 형태로 출력다. 각 숫자는 정확하게 s+2개의 열, 2s+3개의 행으로 구성된다. 마지막 숫자를 포함 모든 숫자를 이루는 공백을 스페이스로 채워야 다. 두 개의 숫자 사이에는 정확하게 열의 공백이 있어야 다.
         각 숫자 다음에는 빈 줄을 줄 출력다. 밑에 있는 출력 예에 각 숫자를 출력하는 방식이 나와있다.
  • LoadBalancingProblem . . . . 12 matches
         Load Balancing 이라는 개념은 앞으로 몇번 접하게 될 개념입니다. 컴퓨터분야에서뿐만 아니라 다른 분야 (예를 든다면 이삿짐 업체나, 택배업체, 우체국 등등..) 에서도 쓰입니다. Load Balancing은 역할분담을 가장 적당하고 고르게 하여 각각의 개체들이 부담을 적게 느끼고 전체 작업시간을 단축시킬수 있도록 해 줍니다. 간단 LoadBalancingProblem 문제를 접하여보고 기회가 닿는다면 조금더 복잡 종류의 문제를 풀어보는것도 좋을것 같습니다.
          IPSC, ["임인택"]이 글화하고 요구하는 입&출력 스펙을 변경함
          SuperComputer 사는 N 개의 CPU 로 이루어진 슈퍼컴퓨터를 제작하였다. 각각의 CPU는 1에서 N 까지 번호가 새겨져 있으며 각각 독립적인 작업을 수행다. 새로운 작업이 생기면 무작위로 개의 CPU 에 그 작업이 할당된다. 이럴 경우 어떤 CPU 에는 작업이 엄청 많고 다른 CPU 에는 할당된 작업이 적거나 아예 없는 상황이 발생하게 된다. 이럴경우 각 CPU 에 작업을 적당하게 분배하여야 하는데 각각의 재분배 작업은 N번 CPU가 1-N, 1-N CPU 에 각각 하나씩의 작업을 전달하는 것이다. 차근차근 살펴보면,
          1. 1번 CPU의 작업의수를 본다. 다른 CPU 에 비해 작업이 많으면 양옆의 CPU 중에 곳으로 작업을 전달해줄수 있는데 1번 CPU 의 왼쪽에는 CPU 가 없으므로 2번 CPU 에만 작업을 전달해 줄 수 있다.
          (이 과정을 모든 CPU 가 최고-최저<=1 이 될때까지 반복다)
          IPSC 에는 입력을 파일로 받도록 하였으나 여기서는 직접 사용자가 다음과 같은 형식으로 입력다.
          1. 몇번 돌아보았는가? (1부터 N 까지 보았을때를 1 round 라고 다)
         == 이 문제에 대 의견이나 질문을 말해주세요 ==
          IPSC 라고 해서 엄청 어려운 문제도, 그렇다고 번에 풀수 있는 쉬운 문제도 아닙니다. 풀어본 문제 몇개 중에서 재미있다고 생각되는 문제들을 여러 사람들이 함께 풀어보았으면 하는 바람에서 페이지를 열어보았습니다. - 임인택
  • MockObjects . . . . 12 matches
         UnitTest를 위 일종의 보조객체.
          -> MockObjects 자체가 인터페이스정의를 위 도구로 이용할 수 있다. (TestFirstProgramming 에서는 Test Code가 일종의 인터페이스를 정의하기 위 방법으로 이용된다.)
         사용 예2) Datatbase 와 관련된 프로그래밍에 대해서 UnitTest를 할때, DB Connection 에 대 MockObject를 만들어서 DB Connection을 이용하는 객체에 DB Connection 객체 대신 넣어줌으로서 해당 작업을 하게끔 할 수 있다. 그리고 해당 함수 부분이 제대로 호출되고 있는지를 알기 위해 MockObject안에 Test 코드를 넣어 줄 수도 있다.
         MockObject 는 어디까지나 가짜객체이다. 실제 테스트를 할때에는 MockObject를 이용 경우와 실제의 객체를 이용했을때의 경우 둘 다 고려해야 다.
         그리고 위와 같은 경우 UnitTest 코드의 중복을 가져올 수도 있다. 이는 상속과 오버라이딩을 이용, 해결다.
         || MockObject || Mock Object들의 상위클래스. Mock Object들은 MockObject 들을 상속받아서 구현다. ||
         || Expectation || 소위 말하는 '기대값' 을 위해 미리 Mock Object에 예정된 값들을 채워넣기 위 클래스들. MockObject는 자신의 구현을 위 자료구조체로서 Expectation 클래스들을 이용할 수 있다. ||
         || ExpectationCounter || 해당 함수의 기대하는 호출횟수를 카운트 하기 위 도움 클래스 ||
          * http://www.mockobjects.com/papers/jdbc_testfirst.html - MockObjects를 이용 JDBC 어플리케이션 TestFirstProgramming
  • MySQL . . . . 12 matches
         [http://zeropage.org/pub/MySQL-manual-split/manual_toc.html MySQL 도움말] : ZeroPage 내부에 두었으며, MySQL의 완전 도움말
         ZeroPage Server의 경우 MySQL의 자료 저장 디렉토리가 {{{~cpp /var/lib/mysql}}} 이므로 해당 디렉토리 내의 자료를 복사 하는 것으로 가능하다. 복사중 mysql을 정지 시키는 것을 권장다.
          ''-- 이건 사용자가 root일 때만 되는거 아닌가요? 권이 없는걸로 알고있는뎅 ^^ -jeppy''
          * Database mysql의 user 테이블을 변경후 {{{~cpp flush privileges}}}를 수행다.
         === DB권 관련 (관리자용) ===
          앗 탄로 났다. 드뎌 영문으로 설치 부작용이 다들 영어 써요 ~ 와~~;; 오호 통재라 모든것은 시험끝나고 이루어질것이니.. --["neocoin"]
         MySQL에서 글이 들어간 문자열을 제대로 정렬하려면 char 타입이 아닌 char binary 타입을 쓰면 됩니다. 하지만 이미 char 타입으로 되어있다면 ORDER BY BINARY 필드명 을 사용하면 됩니다. MySQL에서 char 타입은 순수 아스키(0~127) 값에서만 제대로 동작합니다. 물론 char 타입을 쓴다고 해서 글이 저장되지 않거나 하는건 아니지만, 검색이나 정렬등에서 제대로 작동하지 않는 경우가 있습니다. --["상규"]
         MySQL 에서 다른 데이터베이스로 데이터를 옮길 경우 기존 데이터중 문제가 되는 것이 바로 내장함수인 PASSWORD 를 이용해서 암호화를 부분이다. 다른 데이터베이스에서 이 데이터를 쓸 방법이 없기 때문이다. 이 경우, 로직 단에서 MySQL의 Password 함수를 대신 구현해줌으로서 해결을 할 순 있다.
         다음은 자바 & 파이썬 버전(그대로 포팅 것)
         위의 PHP 버전은 어떻게 만들었을까? 바로.. MySQL 코드를 보고 만들었다고 다.- UseTheSourceLuke --[1002]
  • NSISIde . . . . 12 matches
          * 목표 : NSIS 와 연동하여 간단 NSIS Script 작성과 관련 IDE 환경을 구축다.
         특별 녀석은 아니고. -_-; NSIS 스크립트를 작성하다가 에디터 에서 스크립트 작성하고 command 창에서 스크립트 컴파일 하고 만들어진 인스톨러 실행하다가 갑자기 생각이 나서라는. --;
         Solo Programming 으로 진행. XP 공부거 소폭 적용해봄.
          Iteration 을 2시간으로 잡음. 1 Task Point는 Ideal Hour(?)로 1시간에 할 수 있는 양 정도로 계산. (아.. 여전히 이거 계산법이 모호하다. 좀 더 제대로 공부해야겠다.)
          * Save/Load 와 관련 메세지의 함수 호출 순서 (Function Call 따라가기)
          * MFC 와 연결되는 부분에 대 TestFirstProgramming 을 제대로 지키지 못했다. (아.. GUI 부분은 애매하다. --;) 애매 부분에 대해서 예전에 하던 방식이 섞이다 보니까 리듬이 깨졌다. 차라리 철저하게 TFP로 가는게 나았었을텐데 하는 생각이 들었다.
          * 하지만, View/Document 구조가 편으로는 방해물이.. 이미 디자인이 되어버린 Framework 의 경우 어떻게 적용을 시켜나가야 할까. 일단 주로 알고리즘과 관련된 부분에 대해 Test Code를 만들게 되었다. 계속 생각해봐야 할 문제일 것이다.
          * AcceptanceTest 를 중간에 짤 시간을 할당하지 못했다. (솔직히 GUI 부분이 들어가는 부분에 대해 감이 오질 않았다. 전에 Web Programming 때에는 직접 HTTP Protocol을 이용, 웹서버로부터 받아온 HTML 문서를 Parsing 뒤 그 결과에 대해 Test Code를 작성하는 식이였는데.. (그래도 Manual Test 목록이라도 작성해 두었어야 했는데 이건 계획단계의 실수라 생각)
          * UserStory 의 작성과 EngineeringTask 부분 작성시에 애매모호하게 쓴 부분과 잊어먹고 고려하지 않은 부분이 있었다. (이는 훗날 뒤통수를 친다. -_-;) 너무 복잡해서도 안되겠지만, 중요 사항들에 대해 잊어서도 안될것이다.
  • ObjectOrientedDatabaseManagementSystem . . . . 12 matches
         OODBMS[오오디비엠에스]는 객체로서의 모델링과 데이터 생성을 지원하는 DBMS이다. 여기에는 객체들의 클래스를 위 지원의 일부 종류와, 클래스 특질의 상속, 그리고 서브클래스와 그 객체들에 의 메쏘드 등을 포함다. OODBMS의 구성요소가 무엇인지에 관해 광범위하게 합의를 이룬 표준안은 아직 없으며, OODBMS 제품들은 아직 초기에 머물러 있다고 여겨진다. 그 사이에 관계형 데이터베이스에 객체지향형 데이터베이스 개념이 부가된 ORDBMS 제품이 더욱 일반적으로 시장에 출시되었다. 객체지향형 데이터베이스 인터페이스 표준은 산업계의 그룹인 ODMG (Object Data Management Group)에 의해 개발되고 있다. OMG는 네트웍 내에서 시스템들간 객체지향형 데이터 중개 인터페이스를 표준화하였다.
         Malcolm Atkinson을 비롯 여러 사람들이 그들의 영향력 있는 논문인 The Object-Oriented Database Manifesto에서, OODBMS에 대해 다음과 같이 정의하였다.
         객체지향형 데이터베이스 시스템은 두 개의 조건을 만족시켜야만 다 : 그것은 DBMS이어야 하며, 또 객체지향형 시스템이어야 다. 즉, 가능 범위까지 OODBMS는 객체지향형 프로그래밍 언어의 현재 작업과 함께 일관되어야만 다. 첫 번째 기준은 영속성, 2차 저장관리, 동시성, 회복, 그리고 특별 편의 등 다섯 개의 특질로 해석된다. 두 번째 것은 복잡 객체들, 객체 동일성, 캡슐화, 형 또는 클래스, 상속, 지연 바인딩과 결합된 오버라이딩, 확장성과 계산 결과의 완성도 등 여덟 개의 특질로 해석된다.
         이 논문은 이러 각 특질들에 관해 자세히 설명하고 있다.
  • ProjectZephyrus/간단CVS사용설명 . . . . 12 matches
         설치, 로그인 과정 생략, 팀원의 아이디로 로그인 하면 쓰기, 읽기 권 허용
          ===== 98 : 1,2번 아무거나 편대로 =====
          === 권 설정 ===
          ==== local 사용자를 위 서버 설정 ====
          '''2. 추가된 그룹에 권 설정'''
         groups 확인아이디
          ==== 원격 사용자를 위 서버 설정 ====
         보통 다음과 같은 방식으로 다.
          ==== 개개인의 권 문제 ====
          * 가상의 유저를 파일의 권을 그자(?)에게 돌리고, CVS내부 기록은 각 유저가 하도록 다. .
          * vi /etc/passwd 에 다음 줄 추가. 앞숫자는 유저 뒤 숫자는 권
  • PythonForStatement . . . . 12 matches
         Python 의 For Statement 에 관 글입니다.
         비슷 것을 찾자면 C++의 배열보다는 C++의 string 클래스, Java의 String 클래스와 비슷하다는 점을 알 수 있어. -- [Leonardong]
         친절 해석 :)
         음수가 아닌수로 제되어 있으며 순서가 매겨진 집합. 내장함수인 len()는 시퀀스의 아이템 갯수를 반환다. 시퀀스의 길이라 n이면, 인덱스는 0..n-1 까지의 범위를 가진다. 시퀀스의 아이템 i는 a[i]로 선택된다.
         C/Java1.4이하 와 Python의 for문에 대 관점이 '''전혀''' 다릅니다. 그리고 유용하지요. C의 for문과 구분하기 위하여 python의 이러 for문을 보통 '''for each''' 문이라고 부릅니다. 이게 진짜 for문 이라고 이야기들 하지요.
         왜 C++에 안되느냐면, C++의 제어문이 C문법에 종속되어 있고, C에서는 배열과 같이 주소를 통 인덱스로 접근하는 형들이 종료 인덱스에 대 정보가 없어서 구현이 불가능합니다. 추상화 시켜 C++에서는 [STL]에 for_each(..) 라는 함수로 비슷 것이 구현되어 있기는 합니다.
         Java 1.5 에 advanced for statement 라는 이름으로 비슷 것이 추가되었고, C#에는 언어가 탄생 될때 부터 있었습니다. Java 1.5에서는 수년간 논의 끝에 도입을 했는데, 언어에 녹이기 위해서는 Autoboxing/Unboxing과 편리성을 위해 Template과 같은 여러 필수불가결하고 복잡다난(?) 개념이 함께 추가되었습니다.
  • PythonIDE . . . . 12 matches
         파이선은 나온지 상당히 오래된 언어이며, 대안언어중에서 사용자가 가장 많은 상당히 비중이 높은 언어이다. 비록 어처구니 없는 상황하에서 발생하는 에러가 무시하지 못할 수준이기는 하지만 언어의 특징인 최대의 간격함과 빠른 개발을 위 다양 특징이 언어자체에 내포되어있다.
         이런 파이선에 적당 통합 개발환경이 갖춰진다면 더욱 빠른 속도의 개발이 가능하리라 생각된다.
         현존 하는 파이선의 대표적인 개발환경은 상당 수가 존재다. 이중에 알려진 몇가지가 IDLE, SPE, Wing, PyDev 등이 있다.
         각 IDE는 서로 만의 장단점을 가지며, 기반을 둔 GUI 툴킷에 따라서 툴킷간의 상성에 영향을 받기도 다.
          * IDLE : 파이선 Official 에서 제공는 기본 IDE
          * ???? : ActiveState Python 에서 제공느 기본 IDE
          * PyScripter : 개중 가장 좋은 기능과 공개라는 장점을 가진 IDE. 가히 최고라 불릴만하다. 하지만 wxPython 과의 상성이 좋지 않아 wxPython 유저에게는 그림의 떡. 완벽 디버깅 모드를 제공다.
          * wingIDE : 디버깅이 지원되는 IDE, 유료로 판매다.
          * Visualwx : wxToolkit 의 WYSWIG 을 지원하는 디자인 중심의 IDE. 파이선 프로그래밍을 지원다. GUI 개발시 wxWindow 를 공부하는 유저에게 상당히 좋은 학습자료가 될 수 있다.
  • RegressionTesting . . . . 12 matches
         RegressionTesting 는 SoftwareTesting 의 방법으로, 이미 해결된 문제들이 재출현 여부에 대하여 검사 하는것
         RegressionTesting 는 SoftwareTesting 의 방법으로, 테스터는 이미 해결된 문제들이 재출현 여부에 대하여 검사 다.
         소프트웨어가 개발됨어 감에 따라, 문제의 재출현은 불행히도 아주 일반적인 경험이다. 때때로, 그것은 고친 것이(fix)가 나쁜 보정 작업(poor revision control practice)들에 (혹은 revision control에서 사람의 단순 실수) 의하여 사라지기 때문에 발생다. 그렇지만 바로 문제에 대 고친것이 존재하면, 소프트웨어는 '''깨지기 쉬워(fragile)''' 해진다.- 만약 어떠 다른 변화가 프로그램에 가해지면, 고친 것(fix)은 더이상 동작하지 않는다. 결국, 문제를 잘 알지 못 상태에서, 재디자인된 몇가지 인자들이 있을때, 기존의 구현의 인자들 속에서 재디자인된 부분에서는 동일 실수들이 발생할 것이다.
         그래서 대다수의 소프트웨어 개발 시점 중에는 버그를 고쳤을때 훌륭 방법인가, 버그가 재작성되거나, 버그가 프로그램상의 하부 변화 이후에 규칙적으로 실행되는지 '''드러내는 테스트'''에 대하여 훌륭 실행 방법들을 제시다. 몇몇 프로젝트(내 생각에 Mozilla경우, Eclipse도 같은 시스템)는 자동화된 시스템으로 자동적으로 모든 RegressionTesting들을 규칙적으로(보통 하루나 주말단위로) 실행하고, 조사하도록 세팅되어 있다.
         RegressionTesting는 ExtremeProgramming 소프트웨어 개발 방법론의 필수적인 부분이다. 소프트웨어 개발 주기에서 매번 마다 모든 소프트웨어 패키지들에 대하여 광범위하고, 반복적이고, 자동화된 전체 소프트웨어에 테스트를 통하여 그러 디자인 문서들이 교체된다.
  • ResponsibilityDrivenDesign . . . . 12 matches
         Object 란 단순히 logic 과 data 묶음 이상이다. Object 는 service-provider 이며, information holder 이며, structurer 이며, coordinator 이며, controller 이며, 바깥 세상을 위 interfacer 이다. 각각의 Object 들은 자신이 맡은 부분에 대해 알며, 역할을 해 내야 다. 이러 ResponsibilityDrivenDesign 은 디자인에 대 유연 접근을 가능하게 다. 다른 디자인 방법의 경우 로직과 데이터를 각각 따로 촛점을 맞추게끔 하였다. 이러 접근은 자칫 나무만 보고 숲을 보지 못하는 실수를 저지르게 다. RDD는 디자인과 구현, 그리고 책임들에 대 재디자인에 대 실천적 조언을 제공다.
         RDD는 객체 디자인에 대해 명확하게 사고할수 있도록 도와주고 객체 지향 기술의 장점을 최대 이용하는데 도움을 준다.
  • TCP/IP 네트워크 관리 / TCP/IP의 개요 . . . . 12 matches
          * NSFNET는 ARPANET보다 규모도 작고 속도도 느렸지만, 인터넷 역사에 중요 사건으로 기억된다. 이유는 인터넷 효용성에 새로운 가능성을 제시했기 때문.
          *''internet'' : 단일 논리적 네트워크를 만들기 위해 동일 프로토콜로 서로 연결된, 분리된 물리적 네트워크의 모든 모임
          *''Internet'' : 원래 ARPANET에서 성장. 다양 네트워크를 하나의 논리적 네트워크로 묶기 위해서 인터넷 프로토콜(IP)을 사용하는 서로 연결된 네트워크의 전세계적 모임.
          * 특정 물리적 네트워크 하드웨어에 대 독립성 : TCP/IP가 많은 다른 종류의 네트워크를 통합할 수 있도록 해줌.
          * 표준화된 하이레벨의 프로토콜 : 일관성 있고, 널리 사용 가능 사용자 서비스를 위해서.
          *TCP/IP 프로토콜에 관 정보의 대부분은 RFC(Requests For Comments)로 발표
          *Network layer : 상위 계층을 위 네트워크 접속을 관리
          *모든 프로토콜은 자신의 피어(peer, 자신과 대등 프로토콜)와 통신 - 위와 아래와는 통신하지 않음.
          * 컴퓨터 내에서는 계층간에 데이터를 전달하는 방법에 대 규약이 있어야함. 모든 계층이 연관되어 데이터를 전송하기 때문.
  • TdddArticle . . . . 12 matches
         TDD 로 Database TDD 진행하는 예제. 여기서는 툴을 좀 많이 썼다. [Hibernate] 라는 O-R 매핑 툴과 deployment DB는 오라클이지만 로컬 테스트를 위해 HypersonicSql 이라는 녀석을 썼다고 다. 그리고 test data 를 위해 DBUnit 쓰고, DB Schema 제너레이팅을 위해 XDoclet 와 Ant 를 조합했다.
         여기 나온 방법에 대해 장점으로 나온것으로는 비슷 어프로치로 500 여개 이상 테스트의 실행 시간 단축(Real DB 테스트는 setup/teardown 시 Clean up 하기 위해 드는 시간이 길어진다. 이 시간을 단축시키는 것도 하나의 과제), 그리고 테스트 지역화.
         제약사항으로는 Stored Procedure 나 Trigger 등 Vendor-Specfic 기술들을 적용하기 어렵다는 점 (이를 위해선 로컬 DB 또 해당 Vendor의 DB를 설치해야 하므로).
         류군 이야기로는 Oracle 의 경우 설치하고 딱 실행하는데만 기본 메모리 200메가 잡아먹는다고 다. -_-; 로컬 테스트를 위해 HypersonicSql를 쓸만도 하군.; (In-memory DB 식으로 지원가능. 인스톨 할것도 없이 그냥 콘솔에서 배치화일 하나 실행만 하면 됨. 근데, JDBC 를 완벽히 지원하진 않는 것도 같아서, 약간 애매. (ResultSet 의 first(), last(), isLast() 등의 메소드들이 실행이 안됨)
          그렇다 해도 오라클을 테스트를 위 Local DB 로 돌리기엔 덩치가 크겠죠? --[1002]
         여기에서의 TDD 진행 방법보다는 Reference 와 사용 도구들에 더 눈길이 간다. XDoclet 와 ant, O-R 매핑 도구를 저런 식으로도 쓸 수 있구나 하는 것이 신기. 그리고 HSQLDB 라는 가벼운 (160kb 정도라고 다) DB 로 로컬테스트 DB 를 구축다는 점도.
         간만에 여유가 생겨서 번 따라해보게 되었는데, [Hibernate] 가 생각보다 복잡 녀석이라는 것을 알게 되었다. (내가 O-R Mapping Tool 에 대 경험이 없기 때문에 더더욱) 번에 습득하기에 쉬운 녀석은 아니였군.;
  • ThePriestMathematician . . . . 12 matches
         "하노이의 탑(Tower of Hanoi)" 퍼즐에 관 고대 신화는 이미 잘 알려져 있다. 최근 밝혀진 전설에 의하면, 브라흐마나 수도사들이 64개의 원반을 쪽 침에서 다른 쪽 침으로 옮기는 데 얼마나 오래 걸리는지를 알아내고 나서는 더 빠르게 옮기는 방법을 찾아내자는 결론을 내렸다. 다음 그림은 침이 네 개인 하노이의 탑이다.
         사원에 있는 수도사 중 명이 동료 수도사에게 침을 하나만 추가하면 1초에 원반을 하나씩 옮긴다고 할 때 나절이면 모든 원반을 옮길 수 있을 것이라고 알려주었다. 그가 제안 방법은 다음과 같다.
         이동 횟수를 최소화할 수 있는 k값을 계산 다음 18,433번만 옮기면 된다는 결론을 내렸다. 따라서 침이 세 개만 있을 때는 5천억년이 걸릴 일을 침 하나만 추가하면 5시간 7분 13초만에 할 수 있다는 것을 알아냈다.
         그 영리 수도사가 제안 네 개의 침을 사용하는 방법으로 원반을 옮기는 횟수를 계산하자. 원반은 번에 하나씩만 옮길 수 있으며 큰 원반을 작은 원반 위에 놓을 수는 없다. 이동 횟수를 구하려면 먼저 원반 이동 횟수를 최소화시킬 수 있는 k값을 구해야 다.
         입력된 각 줄에 대해 N개의 원반을 최종 위치로 옮기는 데 필요 이동 횟수를 출력다.
  • ToastOS . . . . 12 matches
         필요 기능만 간략적으로 구현하기로 했다.
         음..우선 전에 플로피 1번 섹터에서 부트섹트를 읽어 들여 부트 로더를 만든다고 까지 얘기 것 같다.그럼 커널로더는 무엇일까? 부트 로더가 할 수 없는 기이 일들을 커널 로더가 다. 우선 보호모드로들어가는 것과 커널을 실행가능 상태로 재배치 시키는 일등을 다. 왜 그런 일을 할까? 부트로더가512kb밖이 되지 않아 그런 일들을 할 수 없기 때문이다. 위에 사진에서 보면 퍼런 글씨로 kernel loader라고나오는데 전에 CAU Operating System 어쩌구...가 먼저 나온다..다만 VMWARE를 쓰기때문에 그런 글씨가 안나온다. 여하튼 커널 로더가 가지는 의미는 우선 부트로더를 만들기 위해 어쩔수 없이 썼던 짜증나는 어셈을 이제 안써도 된다...ㅋㅋ 사실 어셈은 계속 써야 된다... 다만 이제 어쎔을 주로 쓰지 않고 C에서 인라인 어쎔을 쓸것이다. 이제 Boland C 3.1 버전의 컴파일러로 커널로더와 커널을 제작하게 될 것이다. 그럼 위와 같은 것을 그냥 해주면 되는거 아니냐? 라고 반문하는 사람이 있을 것이다.. 그렇다. 그냥 해주면 된다. 우선 컴파일할때 -S라는 옵션을 두어서 어셈블리 소스를 만들고 나서 그리고 그렇게 만들어진소스의 extern들을 링크 시키고 그런 다음 EXE파일을 실행가능 재배치상태로 만들고 나서 부트로더와 같이뒤집어 씌우면 된다.
         또하나 이제까지 삽질 이유중하나가 플로피의 속도가 느리기 때문에 커널로드를 번 읽고서는 재대로 실행하지못다는 것 -> 이것때문에 정말 많은 삽질을 하게 되었다.
         아차 나는 boland C 3.1버전을 쓰지만 gcc를 쓰는 사람은 MAKE PLAIN BINARY FILE이라는 PDF가 있을 것이다.찾아서 읽어보면 아주 평평 바이너리파일을 만드는 법을 배울것이다. 참고로 C에서 평평 바이너리 파일을 만들기 위해 몇가지 주의사항이 있다. 그 PDF파일에 적혀 있으니 읽어보도록...
  • VacationOfZeroPage . . . . 12 matches
          이전까지는 방학중에 4주에서 6주 정도를 잡아 스터디나 프로젝트를 했지만 이것을 방학 초 1주에 몰아서 다. 우선 스터디 또는 프로젝트 그룹을 나눈 후, 목표를 정하고, 1주에 걸쳐 나인투나인(AM 9:00 ~ PM 9:00) 으로 아주 타이트하게 진행다. 마지막날에 그룹별로 발표를 함으로 끝낸다. 4주에서 6주 정도 잡고 스터디를 하는것보다 오히려 더 효과적인 학습이 이루어질거라고 생각다.
          방학중에는 정모, MT 등을 통해서 친목 도모를 다. 그리고 가끔 다수가 관심갖는 것에 대해서 세미나도 개최다.
          방학이 끝나기 전에 다시번 모여 특별 이벤트를 다. 이때는 스터디나 프로젝트보다는 흥미롭고 새로운 경험을 해볼 수 있는 시간을 마련다.
          * 내년 학술제 작품 전시회를 대비해서(제로페이지 전시회 대신에 학술제에 작품을 내는 식으로 만큼.) 각자 개인으로 만들던지, 팀으로 만들던지 아니면 여러개 만들던지할 계획을 말하고, 그걸 겨울 방학때 만드는것도 좋을거라고 생각합니다. 뭔가 머리로만 생각했던걸 실제로 만드는건 가슴뛰는 일이지 않습니까~, 그리고 개인적으로 지금 1학년들도 충분히 멋진걸 만들 수 있는정도가 되었다고 생각합니다.(노력과 공부만 하면..-_-;) 또 1학년들이 뭔가 만들어 봐야 프로그래밍의 재미도 만끽하지 않을까 싶습니다.(솔직히 뭐 만들고 싶은거 만드는게 제일 재밌습니다. -_-;)
          * 비록 제로 페이지 회원이 아니지만 마디 하고파~ 방학때 같이 토플 공부할 사람 없어? 신경향 시사 토플이라고 시사 영어사에서 나온것이지~ 작년에 산 책인데 이번 방학때 할려고 하는데~ 같이 할 사람~ 아참 너부리 너두 책 있잖어~같이 할까?
          -- 이번 RT 경험뒤 구체화할 계획. --["1002"]
  • ViImproved . . . . 12 matches
         Text Editor인 VI 의 확장판. [[NoSmok:CharityWare]], [[WikiPedia:Careware]] 인 아주 유연 에디터. 처음에 접근하기 어렵지만, 익숙해지면 여러모로 편리 응용이 가능하다.
         사실 다들 오해하고 있는 것 중의 가지로는 vim은 불편하다는 것이다. 최근의 vim은 플러그인을 통해 여러가지 기능을 지원하며 그 중에는 단어 자동완성을 물론 문맥 자동완성뿐만 아니라 대부분 언어에 대 syntax highlight를 지원다. 요즘에는 흔히 볼수있는 탭기능도 지원하기 시작지 오래되었으며 좌측에 파일 트리를 띄워두고 작업할수도 있다. 또 .vimrc파일을 통 강력 커스텀마이징이 가능하며 이를 이용하여 이클립스를 능가하는 편의성을 지니기도 다.
          * [[http://kldp.org/node/102947|Vi/Vim 단축키 모음 -KLDP]] ~ 위의 링크 글 버전
          * [[http://kldp.org/node/125263|vim 사용자를 위 플러그인 매니저 vundle 을 소개 합니다. - KLDP]]
  • WIBRO . . . . 12 matches
         이게 상용화 된다면 우리에게 어떠 변화가 올까??
         기존 무선랜은 이동성이나, 중계점에서 멀어지면 이용이 불가능 단점이 있음.
         와이브로는 음성통신은 전혀 고려되고 있지 않은 순전히 데이터 통신만을 전제로 하고 있는데, 여러가지 이유중 가장 큰 이유는 디지털화된 음성통신에 대 핵심 특허를 외국기업들이 가지고 있어 (CDMA,GSM등) 그 특허를 침해하지 않고 개발할 수 없다는 점 때문입니다. 그러나 끊김없는 디지털 데이터 전송이 가능하게 되면 VoIP 서비스를 올릴 수 있게 되므로 사실상 인터넷 전화기를 휴대 전화에 올릴 수 있게 됩니다.
         SK와 KT가 주요사업자 선에 올라와 있는 점, USB 커넥터에 의 노트북 접속도 가능하다는 점으로 미루어 접속기기가 소형이라는 것을 짐작할수 있고 휴대폰과 결합할 가능성도 있다.
         * 이 기술이 나오는 배경은 현재의 CDMA 망 위에서 구현되는 멀티미디어 동영상 기술의 요금이 엄청나게 높고, (FIMM 같은 서비스에서 드라마 편 보면 몇십만원..아시죠?) CMDA가 국이 아닌 미국 QUALCOMM사가 원천기술을 가지고 있어 라이센스를 엄청나게 지불하는 상황이기 때문입니다. (그렇게 비싼데 일본애은 휴대폰으로 인터넷 하는 이유를 모르겠음. 게다가 느리기도 오지게 느리다.)
          *일본애들이 휴대폰으로 인터넷을 하는 이유는 i-mode(전화 채널 중 채널을 데이터통신용으로 사용)라는 일본 기술을 을 사용하기 때문이죠. 가격은 싸지만 느리답니다.(데이터통신시간에 배움)--[강희경]
         * 와이브로 서비스가 성공적으로 상용화 된다면 070 인터넷 전화 단말기가 엄청나게 쏟아져 나올 가능성이 큽니다. 즉 현재의 휴대전화기와 비슷 서비스이지만 이 단말기들은 PC또는 PDA에 달면 마치 무선 랜카드처럼 작동다는 점이 눈에 띄는 기존 휴대전화와의 차이라고 보시면 됩니다.
         와이브로는 휴대전화로부터, 와이맥스는 무선랜으로부터 서로의 영역으로 진보하려는 기술들로서, 와이브로는 국 정부와 휴대전화 회사들이가 주도하여 개발되고 있고, 와이맥스는 여러개의 다국적 통신장비 기업 (인텔이 포함되어 있음이 특이함)이 주도적으로 개발하고 있습니다. 와이브로와 와이맥스는 특성이 많이 비슷하지만 도달 거리와 속도 면에서는 와이맥스가 훨씬 우위에 있습니다. (와이브로는 약 5-6km 거리에서 1Mbps정도, 와이맥스는 30Km 정도의 거리에서 50Mbps 정도) 그러나 와이브로는 와이맥스에 고려되지 않은 이동시의 통신(약 60km/s 정도의 이동속도) 과 이동통신회사 발상답게 과금체계를 가지고 있고, 상용화 예정 시기도 2006년으로 2007-8년경 시제품이 나올 와이맥스보다 훨씬 빨리 적용될 수 있다는 장점이 있습니다. 그리고 이미 통신 기술 자체의 개발은 끝나 있는 상황인데 비해 와이맥스는 통신기술이 아직 검증되지는 않고 이론적인 수준에 머물러 있습니다.
         디지털 타임스의 기사에서 보면 데이콤이 사업 포기선언을 햇다는데. LG그룹의 통신 3강체제는 하나로텔레콤 경영권장악 실패와 함께 통신시장에서 손을 떼려는 움직임인가?? 아니면 와이맥스와 시장성에 의문을 가지고 사업을 포기 것인가?
          돌아다니면서 인터넷을 할 수 있다는 환상? 에 대 글을 그것이 현실이 된 지금 시대에 읽으니 새롭네요. 이걸 보면 지금 발표된 기술들로 2020년은 무슨 세상인지 예측 가능할듯... - 2013.03.18 [강성현]
  • [Lovely]boy^_^/Arcanoid . . . . 12 matches
          * 아무리 생각해도 배열의 행과 열은 너무 헷갈린다. 동안 그림이 90도회전되서 나오더니, 저거 고치니까 되는군.
          * 소스에 이것저것 막 넣다 보니 지금 코드가 상당히 지저분해졌다. 중복을 최대 없애는 방향으로 해놔서 중복은 별루 없지만, 메소드가 너무 길고, 클래스 별 역할 분담이 제대로 이뤄지지 않은것 같다. 모든 충돌루틴이 다 CArcaBall에 집중되어 있다.
          * 공 여러개 돌아댕기는것도 넣어볼까 다.
         CArcaDoc : 위의 객체들을 포함다. 블록은 벡터로 저장다. 아이템은 먼저 나온걸 먼저 먹게 되므로 덱으로 저장다.
          * 이번에는 움직이는 바에 맞으면 각도가 꺾여야 단다...
          * MFC 책에 보면 비트맵 또는 GDI 쓸때 CPen pen, *pOldPen 이렇게 해서 뭔가 이상 짓을 하는데 갠적으로는 왜 그렇게 하는지 이해를 못하겠다. 그냥 멤버에 넣어버리면 pOldPen 이런거 안해도 되던데.. 아시는분은 갈쳐 주세요.^^;
          * 정확히 무슨 이상 짓이라는 거지? 코드를 보여주라 --["상민"]
          나는 좀더 욕심을 부려서, pDC 까지 보관하여 {{{~cpp GetDC}}}로 얻지도 않고 그릴려고 시도 했는데, 해봐 결과를 알수 있을꺼야. pDC는 끊임없이 변화를 시도하는 녀석이라 상태 유지가 되지 않더군. 바로 전까지 가진 pDC는 옛날 녀석이라 이거지, 결론으로 네가 의도하는 대로 상태 저장이 가능 GDI Object를 그렇게 쓰는거 부담없다. --["neocoin"]
         흑 ㅠ.ㅠ 예전 소스가 있었다면 제가 이거 만들고 있겠어요?--; 고스트 삽질로 싸그리 날렸더니만, 생각도 못 ZP 자료실에 실행파일만 덩그라니 남아있을줄은..--;
  • eclipse디버깅 . . . . 12 matches
         프로그램을 단계 진행하되, 메쏘드 호출부라면 실행 포인트를 메쏘드 안으로 옮긴다. 호출하는 메쏘드의 내부 동작을 확인하고 싶을때 사용다.
         메쏘드 호출부라도 메쏘드 안으로 들어가지 않고 현재 코드에서 단계씩 진행다. 호출하는 메쏘드 내부 동작에는 관심이 없고 현재 코드 블럭에 관심을 집중하고 싶을 때 사용다.
         현재 메쏘드에서 리턴 후 그 메쏘드를 호출부했던 곳에서 다시 멈춘다.
         에디터에서 커서가 위치 곳까지 실행다. 브레이크포인트를 새로 추가하지 않고도 코드 내 임의의 위치로 실행포인트를 옮기고 싶을 때 유용하다. 실행되지 않을 부분을 선택 상태에서 Run to Line을 실행시키면 프로그램이 끝까지 진행돼 버릴 수 있으므로 주의해야 다.
         선택 스택 프레임의 첫 행으로 실행 포인트를 옮긴다. 특정 메쏘드를 실행하다 그 메쏘드의 처음부터 다시 디버깅하고 싶을 때 유용하게 사용할 수 있다.
         프로그램을 종료다.
  • vending machine . . . . 12 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원인 상태를 가정다.
  • woodpage/쓰레기 . . . . 12 matches
          *Effective C++ 글판 (출판사: 대림)
          : JBuilder 아주 편 툴이라는걸 알았고 예전에 본 자바(아주로우)를 툴만으로 구현해줌 --; 마디로 삽질이었음(내생각)
          * 정보처리 산업기사 공부다. 보름 남았는데. 솔직히 좀 버거운게 사실이다.
          * 예상보다 쉬운 산업기사 실기를 대비다.
          * 학기중이라 공부하기 좀 힘들지만 XML공부다.
          * 메일 좀 생각을다.
          * 쩝 거의 달만에 글을 쓰는거 같다.
          * 5월은 잔인 달~
         집에서 어느정도 재충전을 거같다 -광식- [[BR]]
  • zennith/w2kDefaultProcess . . . . 12 matches
         경의 일부를 관리다.
         시스템 시작과 함께 구동되는 프로세스로 사용자가 지정 여러가지 입력로케일
         (HKEY_USERS\.DEFAULT\Keyboard Layout\Preload키에서 뽑아낸다)을 구동다.
         할 수 있도록 다. 작업관리자를 통해 이 프로세스를 종료하면 "EN" 아이콘도
         로컬 보안 인증 서버로서 Winlogon 서비스가 사용자를 인증하는데 필요 프로세스를
         위/속성을 승계다.
         사용자가 미리 지정 시간에 작업을 실행시키는 Task Scheduler Service
         의 다양 활동을 담당다.
         DLL로부터 구동되는 다른 프로세스들에 대 호스트로서 작동하는 generic process이
         세싱하지 않을 때 프로세서 타임을 관리하는 역할을 수행다. 작업관리자에서 이 프
         작업관리자를 위 프로세스
  • 객체지향용어한글화토론 . . . . 12 matches
         = 용어를 글화 해야하는 이유 =
          * 좋은 책은 그 어휘를 친절하게 설명을 해주기도 다. 하지만 모든 단어들을 설명해 놓은 책들은 없다고 보는게 좋고. 정말 난해 책들은 그나마도 그 단어들을 설명해 주지 않고 넘어간다.
          * 비슷 부류의 책들이 반복적으로 그런 어휘 설명을 함으로서 페이지를 낭비하는것 보다는 어휘를 우리말로 대체시켜서 좀더 직관적으로 알아보게 만드는게 좋지 않을까??
          * 외국인이 느끼는 그 느낌을 최대 살릴수 있는, 그 숨은 뜻을 최대 내포하는 우리말로 바꾼다면 좀더 이해가 쉽지 않을까??
          * [이승]이 처음 C언어를 접했을때 가장 답답했던 점은 용어를 글로 적어 놓긴 했지만 발음 그대로 옮겨 놓은것에 불과해서 그것이 어떤 뜻을 담고 있는지, 어떤 의미로 쓰이고 있는지 전혀 못 알아 보았던 점이다.
          DeleteMe - 원서를 보는 이유중의 가지... 용어의 문제도 있겠지만, 말그래도 '번역'된 문장은 너무 이해하기가 어렵다. - 임인택
          * 번역은 문화를 다른 문화로 이식하는 작업이다.
          * 'oriented'라는 단어가 사전에서는 '지향'이라고 설명되어 있지만, 그 고어적인 뜻은 '비롯되다', '해가 뜨는', '출현하는', '발생하기 시작하는' 이라는 뜻을 가지고 있습니다. 따라서 'Object oriented'라는 용어는 '객체에서 비롯된다'라고 해석할 수 있지요. 저는 이것이 좀 더 정확 해석이라고 생각합니다. - [http://garden.egloos.com/10001141/post/20974] - 출처
  • 고영준의Wiki처음화면 . . . . 12 matches
          - 개별의 목표의 체계에 기인 합리적인 Action (목적 합리적 행위)
          - 절대적인 가치에 기인 합리적인 Action (가치 합리적 행위)
          - 어떤 영향에 대 행위자의 감정에 기인 Action (정서적 합리적 행위)
         + probability(개연성) : 어느 (의미있게) 일정 방식으로 행위가 사회적으로 이루어질 수 있는 가망성
         + Conflict : 행위가 상대방들의 저항에 거슬러서 자신의 의지를 관철하려는 의도에 지향되어 있는 에서의 사회적 관계
         + Power : 어느 사회적 관계 내에서 자기 자신의 의지를 저항에 거슬러서도 관철할 수 있는 온갖 가망성을 의미다.
         + 지배 : 일정 내용의 어느 명령에 대하여 일정 사람들에게 복종을 발견할 수 있는 가망성을 뜻다.
         + 규율 : 훈련된 자세에 힘입어 어느 명령에 대하여 신속하고 자동적이며 도식적인 복종을 어느 일정 다수의 인간에게서 발견할 수 있는 가망성을 뜻다.
  • 기술적인의미에서의ZeroPage . . . . 12 matches
         6502 는 16bit addressing이 가능 CPU 였습니다. 즉, $0000 ~ $FFFF 였죠.
         다음은 참조 문서입니다.
         (제로페이지 명령어들은 명령어의 첫번째 주소 바이트를 0으로 가정하고 단지 두번째 바이트만 가져옴으로서, 짧은 코드와 짧은 수행시간을 가져다준다. 주의 깊게 제로페이지 명령을 사용하는 것은 코드 효율에 확실 개선을 가능케 다.)
         뭐 마디로 컴공과 아니 전국적으로(세계적은 너무 큰가 -_-) 탑에 들자는 의미가 아닐까?[[BR]]
         일찌기 PDP-8을 포함 컴퓨터에서 제로페이지라는 것은 특별히 빠른 메모리 어드레싱 모드를 갖는다.
         1980년대에는 컴퓨터 사용자들이 아마 상상도 할수없을 만큼 1970년대의 CPU 만큼 빠르고 그 보다 더빠른 메로리가 사용었다. 그러면서 대용품으로 메인 메로리를 사용하고 아주 적은 양의 레지스터를 갖는 것이 이치에 합당했다. 16비트 버스를 갖는 컴퓨터의 제로페이지 내의 각 메모리가 아마도 바이트로 어드레싱되기 때문에 제로페이지내의 메모리가 아닌 곳보다 제로페이지내의 메모리를 접근하는데, 8비트 데이터 버스를 갖는 머신에서보다 더욱 빨랐었다.
         상기의 2개의 명령어 모두 동일 일을 다; 이것들은 A레지스터에 $00라는 값을 로드다. 하지만 첫번째 명령어는 단지 2바이트길이 이고 두번째 명령어보다 더욱 빠르다. 오늘날의 RISC 프로세서와 다르게 the 6502의 명령어들은 1바이트에서 부터 3바이트의 길이가 되는 것이 가능하다.
         IC테크놀로지의 발전이 더욱 적은 비용으로 CPU의 레지스터를 늘리게 되었고 이에따라서 RAM을 액세스하는 것 보다 더욱 빠른 CPU명령어를 처리하게 되었기 때문에 제로페이지는 이제 대개는 역시적인 의미를 갖는다. 그럼에도 불구하고, 어떤 컴퓨터 아키텍처는 여전히 다른 목적을 위해서 제로페이지라는 개념을 제공하기는 다; 예를 들자면 인텔의 x86은 인터럽트 테이블의 사용을 위해서 512워드의 공간을 사용다.
  • 데블스캠프2005/월요일 . . . . 12 matches
          간단 워밍업 프로그래밍. 구구단, 탐색, 정렬, 입출력, 파일 입출력...
          제로페이지에 대 소개&의견교환 (15)
          재학생과 새내기의 대화를 통 생각 공유
          데블스캠프에 대 소개&의견교환(10)
          위키에 대 소개 (새내기의 대부분이 사용법을 아는걸로 추측...)
          간단 개념 설명 10m
          객체와 메시지에 대 느낌이 어땠는가?
          (15)textIntputBox와 버튼이벤트를 이용 입력처리
          (5)#2 : 함수를 이용 곱셈기
          (15)#3 : 사칙 연산에 대 4개의 인스턴스 만들기
          (10)#4 : 이 사칙연산을 모두 포함하는 개의 인스턴스 만들기
          (15)간단 키보드 액션 리스너
  • 위대한게츠비 . . . . 12 matches
         = 위대 게츠비를 읽고나서 =
         이책에는 위대 게츠비라는 소설 과 짤막 몇개의 단편소설도
         어떤 인물이 주인공과의 있었던 일들이나 주인공에 대 느낌등을 쓰는 형식이다.
         를 좋아해서는 안된다는걸 느꼈다. 그러 데이지 이지만 그 데이지를 사랑하는
         게츠비의 옛 사랑에 대 마음은 정말 가련하고, 처절하게 느껴졌다.
         또 게츠비가 부자였을때 그렇게 많이 모여들던 사람들이 게츠비가 죽자 장례식에
         단 명만 참석하는것을 보고, 쉽게 이루어지는 인간관계는 쉽게 허물어지는 구나
         진정 인간관계를 이룰수 없다는것을 다시 번 실감했다. 돈이라는 동기로
         것은 어쩌면 당연 것인지도 모른다.
         그러나 뭐 느끼고 생각할 것들도 많으니 번씩 읽어 보는것도 좋을거 같다.
  • 위시리스트 . . . . 12 matches
          * 이 제도는 학회 회원들의 활발 스터디 및 프로젝트 진행을 돕기 위함입니다.
          * 신청 물품은 운영진의 판단 또는 예산, 상황에 따라서 일부 승인되지 않을 수 있습니다.
          * 타인이 신청 항목을 임의로 수정하거나 삭제하면 안됩니다.
          * 형식: {{{물품 이름 : 필요 이유 - [신청인 이름]}}}
          * 여러 개가 필요 경우 갯수도 기재
          * 필요 이유 : 짧게 적어주시면 됩니다.
          * 2: 나는 쓸거같긴데 다른 사람들이 쓸지는 몰르겠고..
          * 킨들파이어 HD : 다양 태블릿 구비...? - [김태진]
          * 가방 정리를 위 책장
         Building Machine Learning Systems with Python 국어판
         DirectX11을 이용 3D 게임 프로그래밍 입문
         무상상 DIY 아두이노와 안드로이드로 45개 프로젝트 만들기
  • 위키QnA . . . . 12 matches
         A : 아. 번 고쳐봤습니다; 위의 네비게이션 바에 tab index를 주었습니다. 맨 처음 focus 는 바로가기 GO 입력창에 커서가 오고요. 그 다음 Shift + Tab 을 누르면 TAB 이 최근바뀐글 -> 검색 -> 제목색인 순으로 움직입니다. (반발이 3명 이상 나오면 원상복귀 하겠습니다;;) --석천
         A : InterWiki 라고 합니다. InterWiki 에 등록된 다른 위키의 페이지를 링크 걸때 사용합니다. 위키간 이름공간을 연결해주는 유용 매크로. ^^; InterWiki 에 가보시면 현재 등록된 다른 위키페이지들을 알 수 있습니다.~
         Semi Project에서 인원이 3명 이상이라면 자동으로 Regular Project가 되어야 합니다. 이렇게 이유는 Regular Project라면 대문에서 더 다수가 접근할 것이라고 생각되며 eye catch의 시간을 더 줄여야 다고 생각하기 때문에 이렇게 둔것입니다. 둘의 차이는 인원의 차이 외에 현재 아무것도 없습니다. 그냥 2명 이하라고 하는것 보다 Semi라는 이름이 멋있어서 붙여놨것만 --;; --상민
          현재의 FrontPage가 하는 역할이 좀 많다고 생각하는데. (Long Method 에 대해서는 Refactoring이 필요 법. --a) FrontPage가 하는 역할들에 대해 페이지들을 슬슬 나누는 것은 어떨까 생각중. --석천
          난 지금이 딱좋은데 더 확장되면 골치 아플껏 같고.. 혹은 사용용도가 ZeroWiki 와 합쳐 져야 다고도 생각. project의 직접 접근성을 없애는건 반대이고 Starting Point에 사용용도를 링크하는 것이 최적이라고 생각 --상민
          어이 난 원래 Regular Project와 Semi Proeejct의 의미 부여에 관 설명과 의논만을 원했어 ^^; --상민
         A: {{{~cpp [[TableOfContents]] }}} 매크로를 사용해보시는 건 어떨까요? 소제목들에 대 내부링크를 만들어줍니다. 링크의 기준은 === ===, == == 등으로 묶인 헤더태그들 기준입니다.
         Q: Bioinformatics에 관 프로젝트를 진행하려고 합니다. 소개와 내용의 재정리를 위해서는 많은 이미지 파일들을 위키에 올려야 될지도 모르겠는데, 위키에서의 이미지 사용은 그렇게 적절하지 않은 것 같습니다. 어떤 방식으로 이를 해결할 수 있을까요?
         Q: 어디에 글을 올려야 될지 고민하던 중 이곳에 글을 올립니다. 위키를 쓰다가 얼마전부터 느끼기 시작 점인데요. 이것이 문제인지 아닌지는 잘 모르겠습니다. 위키의 Recent Changes를 통해 바뀐 글중 관심있는 글들을 봅니다. 변경되었다고 해서 글을 읽어보지만 쉽게 무엇이 변경되었는지 알아볼 수 없었습니다. 시간이 많이 흐른 뒤에나 읽어보게 되는게 아닌가 생각합니다. 아무튼 제가 느끼기에 제가 읽지 않은 부분을 쉽게 알 수 있으면 편하지 않을까 생각합니다. 이미 안다고 생각 글을 다시 읽어도 많은 도움이 되겠지만... ^^; 세세 변화는 눈치채기 힘든듯 합니다.--["Benghun"]
  • 일정잡기 . . . . 12 matches
          * 어떤 일정의 날짜를 잘 잡는데 중요~~~~(하다고 생각되는) 요소는 3가지이다.
          1. 다른 사람/단체의 일정이 언제인지 잘 알 수 있어야 다.
          1. 다른 사람/단체의 일정을 바꿀 수 있어야 다.
          1. 운이 좋아야 다.
          * 예를들어 3학년 동기엠티를 추진하는 K군이 있다고 하자. K군은 5월 중에 MT를 가고싶어다. K군은 일정을 잘 잡는데 필요 요소를 고려해서 1달 전에 MT를 갈 계획을 세우기 시작다. 이 때 1달전이라는데서 얻을 수 있는 이점은 1번과 2번이다. 1번의 경우, MT참가 인원에 영향을 미치는 요소들을 미리 파악할 수 있게 된다는 장점이 생기게 되는데, 예를들어 농활(5/3~5/6) 해오름제(5/16) 축제(5/22~5/24)와 같이 일정을 잡는 사람이 바꿀 수 없는 요소를 미리 파악해 이를 피하도록 유도할 수 있다. 2번의 경우, MT참가자들의 일정을 1달전에 고정시킴으로 인해서 자신의 다른 일정들을 다른 날짜로 보내도록 만들고, 해당 날짜에 MT가 있음을 주지시켜 이 날 다른 집단이 일정을 잡는 것을 피하도록 할 수 있었다.
          * 역시 가장 좋은 방법은 위에서 말대로 일정을 미리 잡는 것인데, 이외에 3번이 필요 경우도 발생다. 예를들어 3학년의 특정 과목을 재시험쳐야하는 상황이 왔는데, 일정이 있는 당일 오후 6시에 시험을 칠 뻔 하였으나 강의실 사정 등으로 수업시간에 치게되는 운에 의해서 일정에 영향을 받지 않는다던가 말이다.
          * 반면에 1,2,3번이 모두 결여된 경우도 있는데, C집단의 회장 L군은 2012년 C집단의 정모가 매번 다른 일정과 겹치게되는 불운을 맞이하게된다. 정보 수집을 하지 못해 학교 행사와 일정이 겹쳤음은 물론이고, 그 때문에 직전에 날짜를 바꿈으로 인해서 다른 사람들의 다른 일정과 모조리 겹쳐지게 되기도 다. 게다가 운도 없어 그 날짜에 자신이 참석하지 못하는 불운을 맞이하였고, 일정 파토라는 최악의 사태를 낳기도 했다.
  • 장용운/곱셈왕 . . . . 12 matches
         2011년 4월 25일 오후 5시부터 실시된 C 프로그래밍 시험에서 발생 사건.
          그리고 그것을 동네에 올렸더니, 2학년에 모 형또 -104라고 답을 해 '현왕 황곱셈'이라는 말도 생겼다.
          또 11학번의 강 모 군은 38 * 4가 -102라고 답해 '곱셈애자' 의 칭호를 얻게 되었다.
          위키 열심히 쓰는 건 좋은 일이니까 미안할 건 없어요 ㅋㅋ 근데 같이 쓰는거니깐 개인적인 용도로 만든 페이지는 이름 아래에 넣어주거나 하면 좋을 것 같아요. ''멀티게이'' 페이지도 처음엔 하위 페이지로 만들까 했는데 그건 내용 자체가 링크 줄만 있더라구요; 그래서 그냥 링크로 바꿨어요. 뻘 내용이라도 이것저것 적을 게 있다면 페이지 만드는 걸 제하진 않습니다 ㅎㅎ 다만 만들기 전에 진짜 필요 페이지인지는 번 생각해보고 만들어주세요~ - [김수경]
          * 성아, 글을 썼으면 니가 누군지 이름을 써줘야지 -[김태진]
          *진짜 이건 성이 이름 안써도 성이 티나네 허허 참. - [고종]
  • 재미있게공부하기 . . . . 12 matches
          재미없지만 꼭 공부를 해야 다면 재미있게 만들어라. 우선 분석을 하라. 무엇이 재미없고 지루하게 만드는지, 그리고 내가 재미있어 하는 것은 어떤 것들이고 그것들의 공통점은 무엇인지. 그리고 재미없는 것에서 내가 재미있어 하는 요소들을 찾아낼 수는(혹은 투사할 수는) 없는지.
         어떤 주제를 공부하는 길은 여러가지다. 꼭 수업에서 정해준 교재로 공부해야할 필요는 없다. 모든 공부에 정도란 없다. 자신이 재미있어할만 자료를 찾아라. 그것이 책이든, 사람이든, 인터넷이든. 다만, 그런 자료를 찾느라 모든 시간을 허비하는 잘못을 하진 말아야 다. 먼저 공부해 본 사람들에게 물어본 다음 그 중에서 고르는 것이 효과적이다.
         다른 사람과 함께 공부다. 다양 관점과 해석이 가능하다는 것을 배운다. 그들의 경험을 배운다. 용기를 얻고 두려움이 사라진다. 재미가 생긴다. 특히 서로를 가르치는 것도 아주 좋은 방법이다.
         재미없는 공부에도 그나마 개중 재미있는 놈이 있다. 그 놈부터 공략다. 그걸 공부하고 나면 이전에 재미없어 보이던 것들이 하나 둘 재미있어 보이기 시작다. 이는 NoSmok:김창준의일반단어공부론 의 Frontier Zone System과 유사하다.
         ''재미있는 것부터 하기''와 비슷하게 특정 부분을 고르고 그 놈을 집중 공략해서 공부하는 방법이다. 이 때 가능하면 여러개의 자료를 총 동원다. 예를 들어 논리의 진리표를 공부다면, 논리학 개론서 수십권을 옆에 쌓아놓고 인덱스를 보고 진리표 부분만 찾아읽는다. 설명의 차이를 비교, 관찰하라(부수적으로 좋은 책을 빨리 알아채는 공력이 쌓인다). 대가는 어떤 식으로 설명하는지, 우리나라 번역서는 얼마나 개판인지 등을 살피다 보면 어느새 자신감이 붙고(최소 진리표에 대해서 만큼은 빠싹해진다) 재미가 생긴다. see also HowToReadIt의 ''같은 주제 읽기''
         NeoCoin군은 재미있게 숙제하는 요령을 익힌 것 같다. 축하다. 후배들을 위해 그 요령을 번 풀어놓아보겠니? --JuNe
  • 전문가의명암 . . . . 12 matches
         전문가가 된다는 것에는 밝음과 어두움의 두 측면이 공존다.
         전문가라는 것은 가지 방면에 도가 텄다는 것을 말다. 여기서 말하는 "도"라는 것은 장인(craftsman)의 의미를 내포다. 그 유명 미야모토무사시가 무엇때문에 하산하자마자 좌절하고 다시 입산했던가. 기름장수가 쳐다보지도 않고 기름을 퐁퐁 공중으로 날려 호리병에 넣는 모습을 보고 그는 충격을 먹었다. 그 기름장수는 분명 전문가였다.
         전문가는 가지를 오랜 기간동안 해왔다. 그래서 그 작업이 몸에 배어 있다. 그의 근육과 신경, 관절이 기억하고 있는 것이다. 덕분에 자신의 뇌력은 거의 사용하지 않는다. 그래서 해당 작업을 하면서도 딴 짓을 자유롭게 할 수 있고, 작업 중 예외상황이 생겨도 여유롭게 대처할 수 있다.
         그 밝음 때문에 그림자가 생긴다. NoSmok:장점에서오는단점''''''인 셈이다. 어떤 작업을 하는 데 주의를 덜 기울이고 지력을 덜 씀으로 인해 전문가는 자기 작업에 대 타자화가 불가능하다. NoSmok:TunnelVision''''''이고 NoSmok:YouSeeWhatYouWantToSee''''''인 것이다. 자신의 무 루프 속에 빠져있게 된다. 자신의 작업을 다른 각도에서 보는 것이 어렵다 못해 거의 불가능하다. 고로 혁신적인 발전이 없고 어처구니 없는 실수(NoSmok:RidiculousSimplicity'''''')를 발견하지 못하기도 다.
         진정 전문가는 자신의 이러 밝음과 어두움의 두 측면을 깨닫고 있어야 다.
  • 정모/2002.12.30 . . . . 12 matches
          * RT - semi RT 를 먼저 해본후 결정다.
          이전까지는 방학중에 4주에서 6주 정도를 잡아 스터디나 프로젝트를 했지만 이것을 방학 초 1주에 몰아서 다. 우선 스터디 또는 프로젝트 그룹을 나눈 후, 목표를 정하고,
          1주에 걸쳐 나인투나인(AM 9:00 ~ PM 9:00) 으로 아주 타이트하게 진행다. 마지막날에 그룹별로 발표를 함으로 끝낸다. 4주에서 6주 정도 잡고 스터디를 하는것보다 오히려
          더 효과적인 학습이 이루어질거라고 생각다.
          방학중에는 정모, MT 등을 통해서 친목 도모를 다. 그리고 가끔 다수가 관심갖는 것에 대해서 세미나도 개최다.
          방학이 끝나기 전에 다시번 모여 특별 이벤트를 다. 이때는 스터디나 프로젝트보다는 흥미롭고 새로운 경험을 해볼 수 있는 시간을 마련다.
          -> 방학 초 1주에 몰아서 하는 것이 힘들 가능성이 있으니 뜻이 맞는 사람들끼리 하도록 다.
          * ["Smalltalk"], MFC, DesignPattern, 영어공부등은 ZeroWiki에서 모집, 진행다.
  • 정모/2005.2.2 . . . . 12 matches
         강희경, 임민수, 윤성만, 하욱주, 이승, 황재선, 나휘동, 문보창, 조동영, 노수민 총 10명.
          --> 자세 내용은 보류
          --> 현재(2월 12일) 로고를 제출 윤진석 형이외에는 아무도 없습니다.--; 좀더 관심을 가지자는 의견.
          * 새회원 모집 일정 --> 3월말(일찍 회원들을 모집해서 제로페이지라는 공동체의식을 좀더 강하게 유지다는 의미를 내포함)
         부득이 하게 날짜를 옮기게 되었습니다. 죄송합니다~ _ _ - [이승]
         술이나 잔 하실래요?? - [이승]
         성만아..-_-ㅋ;; 회의록 올려야지;; - [이승]
         검은 모자를 쓰고 이야기해보겠습니다. 시작이 30분 늦어서 제시간에 온 사람은 기다렸습니다. 반대의 반대가 나와서 주제에 대 이야기가 길어지기도 했습니다. 토론 주제가 암시적으로 바뀌어서 무엇을 이야기하고 있는지 모를 경우도 있습니다. ''위키에서 좀더 이야기하자''는 이야기는 정모에서 할 일을 미루기라고 봅니다.
         저도 잠시 검은 모자를 써 보겠습니다. 회의 진행해나가야 하는 역할임에도 불구하고 스스로도 혼란스러워 하기도 했습니다. 덕분에 이야기가 다른 길로 빠지기도 했고요. 고쳐야 할 부분이라고 생각합니다. - [이승]
         2일 회의록 원본을 보고 싶습니다. - [이승]
  • 정모/2005.3.14 . . . . 12 matches
         3월달동안은 신입생 모집과 관련하여 의논해야 할 일이 많습니다.
         정모는 이주에 번 하는것이 보통이지만, 번 더 하기로 결정하였습니다.
          * [나를만든책장] 에대 구체적인 이야기
          * 봄 프로젝트 시작에 대 이야기를 해야겠네요.
         DeleteMe 거의 일주일 만에 올리네요;; 메신저 자동시작을 없애놓든가 해야지;; - 이승
          * 위키설명회는 간단하게 상황보고를 하고 넘어갔습니다. (DeleteMe맞는지 모르겠네요;; 확실히 회의록은 바로올려야지 까먹네요;;- 이승)
          * 기증식에 대 이야기가 나왔음.
          * 달이나 3주 정도의 단위의 세미나 팀을 구성.
          * 4월 첫째주 부터 중간고사 전주 까지 하면 총 3번정도의 세미나 텀이 나옴. C세미나는 [문보창], [이승]이 진행 하기로 결정.
         정모를 계속 월요일에 하는거죠? 월요일은 7시~7시반 정도까지 수업이 있어서 참여하기가 어려운데-_- 다른 시간에 다고 항상 가지는 못하겠지만... 가끔은 다른 요일에도 해주세요^^ --[상규]
          그냥 다른 생각하기 귀찮아서 월요일로 정했답니다. 다음 정모는 고려해 볼께요~^^ - [이승]
  • 졸업논문/결론 . . . . 12 matches
         이때까지 살펴본 바, django는 데이터베이스를 이용하는 패턴을 대부분 추상화하여 사용할 수 있도록 지원다. 모델과 데이터베이스를 연동하여, 주언어인 python으로 모델만 수정하더라도 데이터베이스에 이를 반영할 수 있다. 또 데이터베이스를 객체로 생각하고, 삽입과 갱신은 객체를 저장하는 것으로, 조회를 객체의 인스턴스를 얻어오는 것으로, 삭제를 인스턴스를 삭제하는 것으로 추상화하였다. 이러 추상화로 모자란 부분은 사용자가 직접 SQL을 작성할 수 있도록 지원하고 있다.
         기존의 웹 어플리케이션을 만들 때 설계 대로 데이터베이스를 사용하도록 프로그래밍 하는 시간을 줄였다. 기민하게 웹 어플리케이션을 작성할 수 있기 때문에, 개발자는 데이터베이스를 올바로 설계하고 사용자에게 정말로 필요 기능을 구현하는 데 집중할 수 있다. 또 실제로 사용하기에 부족 점이 있더라도, 프로토타입을 만들어 보려면 더할 나위 없이 좋은 프레임워크라고 생각다.
         RoR와 django 같은 경량 프로그래밍 기법이 힘을 얻는 또 다은 이유는, 강력 표현력을 가진 주언어를 사용할 수 있기 때문이다. Ruby와 python은 스크립트 언어의 성격을 가지고 있으며, 객체 지향 개념과 함수형 프로그래밍 언어의 패러다임을 포함다. 비록 느려서 시스템 프로그래밍에 사용하기에는 적당하지 않지만, 동적으로 빠르게 변하는 웹 환경에서는 ruby와 python같은 언어가 변화를 손쉽게 따라갈 수 있어 적당하다.
         웹2.0은 웹을 플랫폼으로 생각다. 플랫폼이 바뀌면 언어도 바뀐다. 웹 2.0이후에는 변화가 더욱 빨라질 것이고, 변화에 알맞는 새로운 개념과 기술과 언어가 생겨날 것이다. 하지만 기존에 널리 사용하던 기술은 변화를 맞더라도 쉽게 자리를 내주지는 않을 것이다. 따라서 변화를 만들어가는 입장에서는 기존 플랫폼, 기술, 언어와 연동할 수 있는 연결고리를 만들어서 기존의 것은 그대로 사용하면서 더 나은 것을 보여주어야 다. Django의 사례는 기존 데이터베이스를 그대로 사용하면서도 사용자에게는 추상화된 데이터 저장고를 제공하는 변화의 연결고리를 보여주고 있다.
  • 지금알고있는걸그때도알았더라면 . . . . 12 matches
         우리는 늘 과거에 대해 아쉬워 다. 그때 내가 이걸 알았더라면, 그때 내가 이걸 했더라면 하고 후회하기도 다. 인간은 시간이 지나고서야 비로소 가치를 알고 지혜를 얻는 자연의 섭리 때문이다. 하지만, 나는 비록 그렇게 하지 못했지만 내 뒤에 오는 사람은 더 나은 길을 택하거나 위험 길을 피하게 도와줄 수 있지 않을까?
         눈 덮힌 들판을 갈 때는 모름지기 함부로 걷지 말아야 다.
         나는 좀 더 다양 사람을 만났을 것이다. 학교의 울타리나 동아리의 선 안에 갖혀있지 않았을 것이다. 그리고 나보다 더 훌륭 사람들을 배우려고 노력하고 그들과 가까이 지내려고 했을 것이다. 나는 좀 더 용기를 가졌을 것이다. 그 사람이 날 만나줄까 걱정하기보다 일단은 만나달라고 간곡히 부탁을 해봤을 것이며, 내가 만든 것이 남들에게 우습게 보이리라 걱정하기보다 일단 남에게 보여주고 그 피드백을 얻어 더 나은 것을 만드려고 노력했을 것이다.
         나는 편식으로 나에게 선을 긋지 않았을 것이다. 내가 먹어본 것이 아니라고 피하지 않았을 것이다. 좀 더 다양 방면의 책을 두루 읽고 넓게 생각했을 것이다.
         나는 좀 더 근본에 치중했을 것이다. 얇팍 술기 하나 배워서 남들 앞에서 쑈를 하는 것 보다 기초체력과 실력을 축적하는 데에 더 많은 노력을 했을 것이다.
         나는 단점에서 장점을 보는 기술을 좀 더 빨리 익혔을 것이다. 또, 나는 좀 더 행복했을 것이다. 내가 행복하지 못 것은 나 자신 때문이라는 것을 좀 더 일찍 깨달았을 것이다. 나는 날마다 감동하며, 느끼며, 깨어있는 삶을 살았을 것이다.
         나는 도서관을 좀 더 적극적으로 활용했을 것이다. 나는 숙제나 교수, 혹은 교재가 맘에 들지 않는다고 수업을 등시하기 보다 거기서 뭔가 배울 것이 없을까 찾고, 또 다양 정보원을 이용하려고 더욱 노력했을 것이다. 주변에 나보다 뭔가 잘난 사람이 있다면 그 사람을 시기하기 보다 그를 분석하고 배우려고 했을 것이다.
  • 카고컬트과학 . . . . 12 matches
         방금 언급 교육이나 심리학 연구는 내가 카고 컬트(<수송기가 오기를 비는 의식>이라는 뜻-옮긴이)
         과학이라고 일컫는 것의 전형적인 예라고 생각다. 남태평양에는 카고 컬트를 행하는 사람들이 있다.
         이런 일이 다시 일어나기를 바란다. 그래서 사람들은. 활주로 비슷 것을 꾸미고
          * 가령, 어떤 물리 실험을 다고 했을 때, 그 실험을 하는 과학자들은 이전에 다른 과학자들이 실험 내용을 기초로 하여 새로운 가설을 만들려고 다. 하지만 그 실험이 잘못되었을 경우에는 자신의 가설은 허무맹랑것이 되고 만다.
          쩝.. 이걸보고.. 내가 남태평양에서 수송선이 오기를 기다리는 사람들은 아닌가.. 하는 생각을 하였다. 동전의 쪽 면만을 보려했고, 지금까지 내가 했던 생각들에 대해서 맞다고만 생각하였다. ''내 생각중에 이러이러 것은 일리가 있다.. 하지만 저러저러 것들은 어떻게 생각해야 할까. 어떤 관점에서 바라보아야 하는거지?'' 와 같은 생각을 몇번이나 했는지. 사물과 현상의 이면을 (항상) 바라보는 습관을 들여야겠다. (음.. 그리고 생각해보니 고등학교때 배웠던 ~~의 우상 과도 비슷 내용인것 같네요. 어떤 철학자가 말건데 이름은 기억이 안나고..-_-) - 임인택
  • 컴퓨터공부지도 . . . . 12 matches
         해당 분야를 공부하기 위해선 어떠 순서로 보는 것이 더 효율적일까? (또는 커리큘럼 작성?) 해당 언어에 대해서는 어느정도 언제쯤 적당 깊이를 가져야 할까?
         Scientist . Engineer . Programmer 의 영역. (꼭 이분법적으로 나누는건 좀 그렇지만. 일종의 간단 분류체계정도?)
         Windows Programming 이라고 다면 Windows 운영체제에서 Windows 관련 API 를 이용 (혹은 관련 Framework), 프로그래밍을 하는 것을 의미다. 보통 다루는 영역은 다음과 같다. (이 영역은 꼭 Windows 이기에 생기는 영역들이 아니다. Windows 이기에 생기는 영역들은 Shell Extension 이나 ActiveX, DirectX 정도? 하지만, 가로지르기는 어떻게든지 가능하다)
         예전에 Windows Programming 을 배운다고 다면 기본적으로 GUI Programming 을 의미했다. Windows 가 기본적으로 GUI OS 이기에 기본이 이것이라고 생각하는 것이다. 하지만, GUI 는 어디까지나 'User Interface' 이다. 즉, 이건 Input/Output 에 대 선택사항이다. 필요할때 공부하자. (하지만, 보통 User-Friendly 프로그램들은 대부분 GUI 이다.)
         Windows 에서 GUI Programming 을 하는 방법은 여러가지이다. 언어별로는 Python 의 Tkinter, wxPython 이 있고, Java 로는 Swing 이 있다. C++ 로는 MFC Framework 를 이용하거나 Windows API, wxWindows 를 이용할 수 있으며, MFC 의 경우 Visual Studio 와 연동이 잘 되어서 프로그래밍 하기 편하다. C++ 의 다른 GUI Programming 을 하기위 툴로서는 Borland C++ Builder 가 있다. (C++ 중급 이상 프로그래머들에게서 오히려 더 선호되는 툴)
         GUI Programming 을 하면서 익힐 수 있는 소중 개념으로서 Event Driven Programming, Design 으로는 CompositePattern 이 있다. 대부분의 GUI Framework 들은 Event Driven Style 의 프로그래밍 방식이며, 대부분 CompositePattern 을 이용다. Framework 들의 디자인 개념들이 비슷하므로, 하나의 GUI 관련 Framework 에 익숙해지면 다른 Framework 도 쉽게 익힐 수 있다.
         Windows GUI Programming 관련 서적으로는 찰스페촐드의 책을 추천다. 책 내용이나 번역(!)글이 어렵지만 개념설명이 잘 되어 있으며, 실려있는 예제들이 좋다.
  • 1thPCinCAUCSE/ProblemC . . . . 11 matches
         칸을 하나 누르면 그 칸과 이웃 칸들의 색이 반대로 변다. 예를 들어, 1번을 누르면 1,2,4,5 번의 색이 반대로 변다. 6번을 누르면 2,3,5,6,8,9 번의 색이 반대로 변다. 물론 5번을 누르면 1,2,3,4,5,6,7,8,9 번의 색이 반대로 변다. 예를 들어 아래 그림 (a)에서 6번칸을 누르면 그림 (b)로 변하고, 여기서 1번칸을 누르면 그림 (c)가 되어 모두 하얗게 변다. (a) 그림을 모두 하얗게 만드는데 누르는 회수는 2이다.
          출력은 표준 출력이다. 각 테스트 케이스의 X에 대해 자기가 계산 회수를 줄에 하나씩 출력다. 모두 흰색으로 바꾸는 것이 불가능하면 -1을 출력다. T개의 테스트 케이스를 모두 맞춰야 맞춘 것이다.
         '''입력의 예에 대 출력'''
  • AOI/2004 . . . . 11 matches
          || 문제 || 오승균 || [김회영] || [문보창] || [황재선] || [이승] || [신재동] || [강희경] || [곽세환] ||
         으윽. 두번째 문제. 또 막혔슴돠. ㅠ.ㅠ;; 이거 번번이 실패. 이것도 이산수학인가?? -_-ㅋ;; - [이승]
         진행사항에 보면 여름란이 있습니다. 안 풀어보신 분들은 번 풀어보세요. - 보창
         이쯤에서 번 모여서 이야기 해보는건 어떨까요?? - [이승]
         -_-ㅋ 더블릿 포기 - [이승]
         쳐다보지도 않았던 AOI 페이지;; 겁네 많이 밀렸네;; 다시 다시!! 화이팅!! - [이승]
         uva robot의 경우 보통 300 번 이상의 test case 를 쓰는 것 같습니다. 동적 메모리가 아닌 정적으로 할당할 경우 이 점을 유의(?)하지 않으면 RE error(포인터 에러)가 납니다. 보창은 이것때문에 하루종일 프로그램을 뜯어고쳤으나, 결국 우연 기회에 알게 되었습니다. LCD-Display의 경우 robot은 1000줄 이상을 test하는 걸로 보여집니다. -- 보창
         조언을 가지 하고 싶습니다.
          문제를 풀어본 후에 소요시간이 만족스럽지 못하거나 결과코드가 불만족스럽다면 이렇게 해보세요. 내가 만약 이 문제를, 아직 풀지 않았다고 가정하고, 다시 풀어본다면 어떻게 접근하면 더 빨리 혹은 더 잘 풀 수 있을까를 고민합니다. 그리고 그 방법을 이용해서 다시 번 풀어봅니다(see DoItAgainToLearn). 개선된 것이 있나요? 이 경험을 통해 얻은 지혜와 기술을 다른 문제에도 적용해 봅니다. 잘 적용이 되는가요?
  • BasicJava2005/5주차 . . . . 11 matches
          - abs() : 절대값을 구다.
          - sqrt() : 제곱근을 구다.
          - max(), min() : 최대/최소값을 구다.
          - round() : 반올림다.
          - pow() : 제곱다.
          - parseXXX : String을 각 형태로 변환다.
          - toString : 지정 숫자를 문자열 형태로 반환다.
          - try ~ catch 구문을 실행후 무조건 finally문장을 실행다.
          throws : 이 함수에서는 예외처리 하고 싶지 않을때 사용다.
          throw : 임의로 예외를 발생시키고자 할 때 사용다.
  • Bigtable/DataModel . . . . 11 matches
          1. 약 64KB마다 존재하는 row key를 블록의 인덱스로 다.
          1. 블록 인덱스로 선택된 row key부터 다음 블록 인덱스로 선택된 row key가 나올 때 까지를 하나의 블록 단위로 다.
         1. 태블릿당
          1. '''인덱스 블럭은 크기제 없다'''.
         1. 할당된 메모리 크기가 다 차서 더이상 쓸 수 없을 때 SSTABLE로 저장다.
         특정 컬럼을 가지는 row들을 별도의 태블릿에 저장 것. ex) 타이틀
          1. TS의 메모리에 존재다.
          1. 저장공간의 재사용 : 커밋로그는 원형 자료구조를 사용하여 자동으로 공간을 재사용하도록 다.
          1. 카탈로그 또 태블릿. TS가 관리다.
          1. 카탈로그에 필요
  • CauGlobal/Episode . . . . 11 matches
         항공권은 티켓의 유효기간에 따라 가격이 달라지고(유효기간이 길수록 비쌈), 일찍 예매할수록 저렴 티켓을 구할 수 있습니다. 또, 국적기는 자국민에게 할인을 못하게 되어있어서 외국 항공편을 이용하면 저렴하지요.
         2001년 유럽여행을 갔을때의 일입니다. 프랑크푸르트의 유스호스텔에서 쉬고 있던 중, 같은 방을 쓰던 일본인 여행객과 이야기를 하게 ㅤㄷㅚㅆ습니다. 이런 저런 이야기를 하다가, 무슨의도(?)에서였는지는 모르지만, 자신이 여기올때 싼(!) 대항공 타고 왔다고 말하면서, 우리는 어떤걸 타고 왔냐고 물어보더군요.
         그래서 웃으면서 대답해줬지요. 제일 싼 JAL 타고 왔다구요. 순간 표정이 얼떨떨 표정을 짓더군요. 짐작컨데, '아니 일본인인 우리도 비싸서 못 타는 항공기를 어떻게 국인이 타고왔지?' 하는것 같았습니다. 조금 후에, 이러 이러해서 국적기가 비싸다라고 설명을 해줬더니 고개를 끄덕이며 이해하는것 같았습니다.
          1. 외국 항공편은 직항도 있지만 대개는 자기 나라를 번 거쳐 갑니다. 이럴때, 성수기에는 보통 구간별로 WAIT 상태로 됩니다.
          1. 이때 꼭 같은 곳으로 가는 항공편일 필요는 없습니다. 예를들어, 샌프란시스코로 가는 JAL 항공권일 경우, 서울->동경 구간이 WAIT 상태라면, LA로 가는 예약에서 서울->동경 구간을 확보다면 되는거죠.
         하지만 중요건 해당 항공사에서 이러 묶음을 허용해줘야 하는데요, 저희는 별 말없이 해주더군요. 이번 경험을 통해 배운건, 무엇인가 간절하다면 어느새 그건 내 손안에 자라나 있다는 것. 삶이란 어떻게보면 자신의 상상력이 그 계일지도 모릅니다. :)
  • CodeCoverage . . . . 11 matches
         CodeCoverage 는 Testing 이 목표 어플리케이션을 얼만큼 충분히 테스트하는가에 대 측정 지표이다.
         CodeCoverage 는 Software Testing 에서 사용하는 측정 도구중의 하나이다. 프로그램이 테스트된 소스 코드의 정도를 기술다. 이는 다른 대다수의 다른 테스트 메소드와 다른다. 왜냐하면 CodeCoverage 는 소프트웨어 기능, Object interface 과 같은 다른 측정 방법에 비하여 source code를 직접 보기 ㅤㄸㅒㅤ문이다.
          * PathCoverage - 주어진 코드 부분의 가능 모든 경로가 실행되고, 테스트 되는가? (Note 루프안에 가지(분기점)를 포함하는 프로그램에 대하여 코드에 대하여 가능 모든 경로를 세는것은 거의 불가능하다. See Also HaltingProblem[http://www.wikipedia.org/wiki/Halting_Problem 링크] )
         일반적으로 소스 코드는 모듈화를 통해 도구처럼 만들어지고, 회귀(regression) 테스트들을 통해 실행되어 진다. 결과 출력은 실행지 않은 코드들을 보고, 이러 부분에 대 테스트들이 필요함을 분석해 낸다. 다른 관점의 CodeCoverage 방법들과 혼용하는 것은 회귀 테스트들의 관리하는 회귀 테스트들에게 좀더 엄격 개발을 이끌어 낸다.
         CodeCoverage 는 최종적으로 퍼센트로 표현다. 가령 ''우리는 67% 코드를 테스트다.'' 라고 말이다. 이것의 의미는 이용된 CodeCoverage 에 대 얼마만큼의 의존성을 가지는가이다. 가령 67%의 PathCoverage는 67%의 StatementCoverage 에 비하여 좀더 범위가 넓다.
          * http://www.mmsindia.com/JCover.html : Java Test Tool Solution 업체 그중 제품
  • ContestScoreBoard . . . . 11 matches
         ACM ICPC에 출전하고 싶다면 점수 계산법을 알아야 다. 경시 대회에 참가 팀의 순위는 우선 푼 문제의 개수가 많은 순으로, 그 다음으로는 시간 벌점(penalty time)이 적은 순으로 매겨진다. 이 둘을 모두 고려했는 데도 동점 팀이 둘 이상이면 팀 멤버 수가 적은 쪽이 더 높은 순위를 차지할 수 있다.
         제출된 풀이 가운데 정답으로 판정받은 것이 하나라도 있으면 그 문제는 해결된 것으로 인정된다. 시간 벌점은 해당 문제에 대 첫번째 정답이 제출될 때까지 걸린 시간으로 계산되며 정답이 나오기 전까지 제출된 오답이 있으면 개에 20분씩의 시간 벌점이 추가된다. 풀리지 않은 문제에 대해서는 시간 벌점이 전혀 적용되지 않는다.
         첫 줄에는 케이스의 개수를 나타내는 양의 정수 개가 들어있다. 그 다음 줄은 빈 줄이며 서로 다른 입력 사이에도 빈 줄이 하나 들어간다.
         각 입력은 심사 큐의 스냅샷으로 구성되는데, 여기에는 1번부터 9번까지의 문제를 푸는 1번부터 100번까지의 경시 대회 참가 팀으로부터 입력된 내용이 들어있다. 각 줄은 세 개의 수와 경시 대회 문제 시간 L형식의 글자 하나로 구성된다. L은 C, I, R, U 또는 E라는 값을 가질 수 있는데 이 글자들은 각각 Correct(정답), Incorrect(오답), clarification Request(확인 요청), Unjudged(미심사), Erroneous submission(제출 오류)을 의미다. 마지막 세 개의 케이스는 점수에 영향을 미치지 않는다.
         각 테스트 케이스에 대해 앞에서 설명 순서에 의해 정렬된 점수표가 출력된다. 출력되는 각 줄에는 참가 팀 번호, 그 팀이 푼 문제 개수, 누적된 시간 벌점이 출력된다. 모든 경시 대회 참가 팀이 풀이를 제출하는 것이 아니므로 실제로 풀이를 제출 팀의 결과만 표시다. 그리고 두 개의 서로 다른 케이스에 대 출력은 빈 줄로 구분다.
  • DPSCChapter2 . . . . 11 matches
         디자인 패턴에 대 구체적인 설명에 들어가기 전에 우리는 다양 패턴들이 포함된 것들에 대 예시들을 보여준다. 디자인 패턴 서문에서 GoF는 디자인 패턴을 이해하게 되면서 "Huh?" 에서 "Aha!" 로 바뀌는 경험에 대해 이야기다. 우리는 여기 작은 단막극을 보여줄 것이다. 그것은 3개의 작은 이야기로 구성되어있다 : MegaCorp라는 보험회사에서 일하는 두명의 Smalltalk 프로그래머의 3일의 이야기이다. 우리는 Don 과(OOP에 대해서는 초보지만 경험있는 사업분석가) Jane (OOP와 Pattern 전문가)의 대화내용을 듣고 있다. Don 은 그의 문제를 Jane에게 가져오고, 그들은 같이 그 문제를 해결다. 비록 여기의 인물들의 허구의 것이지만, design 은 실제의 것이고, Smalltalk로 쓰여진 실제의 시스템중 일부이다. 우리의 목표는 어떻게 design pattern이 실제세계의 문제들에 대 해결책을 가져다 주는가에 대해 설명하는 것이다.
         우리의 이야기는 지친표정을 지으며 제인의 cubicle (음.. 사무실에서의 파티클로 구분된 곳 정도인듯. a small room that is made by separating off part of a larger room)로 가는 Don 과 함께 시작다. 제인은 자신의 cubicle에서 조용히 타이핑하며 앉아있다.
         Data Entry. 이것은 다양 form으로부터 health claims 를 받는 다양 시스템으로 구성된다. 모두 고유 id 가 할당되어 기록되며, Paper claims OCR (광학문자인식) 로 캡쳐된 데이터는 각 form field 들에 연관되어있다.
         Validation. 스캔되고 입력되어진 form들은 각 필드들에 대해 일관성보증과 모든 폼이 완전히 채워졌는지에 대 보증을 위해 검증작업을 거친다. 불완전하거나 적절치 못 입력은 시스템에 의해 reject되고, 재확인을 위해 요구자에게 도로 보내진다.
  • Django스터디2006 . . . . 11 matches
         || 9/14 || 웹서버 동작 환경 만들기, APM 설치( PHP, MySQL 구동 환경 만들기), ZeroPage 계정에 간단 홈페이지 띄우기, 위키 CSS 바꿔보기 || 모두 ||
         || 9/21 || Django 환경 구축 + POST, GET , SESSION, COOKIE 에 대 설명, Django로 만들고 싶은것에 대 논의(과제 확인, 웹서버 부분 못들은 사람 물어봐서 했는지 체크) || 상협, 지훈, 우용, 준석, 지원 ||
         || 9/26 || Django 실전 프로젝트 설명, 블로그 포스팅 보여주는 방법 설명, 이것을 바탕으로 간단 블로그를 만들어 볼 예정 || 상협, 지훈, 우용, 준석 ||
         || 기 || 할것 ||
          * [http://www.python.or.kr:8080/python/LectureNotes/] 이것은 Python 따라하기 좋은 튜토리얼. 이것 쭉 번 해보면 파이썬 문법 대략 익히게 됨.
          * 그리고 HTML, JavaScript, Php, MySQL 에 대해서 궁금거 있으면 질문거리 가져오기 --> CSS도...
         시작하게 된 이상 열심히 해봐야 하겠지만.. 쪼금 알던거를 하자에서 아예 생소걸 파게 되었으니.. 다소 막막..
         떠오르누나...어째서 지금에 와서야 C가 정말 쉬웠다는 끔찍 생각이 무릇무릇 자라는 걸까...험난하도다... - 지훈
          * 전에 서버구축에 관 링크 있었던거 어디있어요? 집에서 장고 그냥 설치하려니까 자꾸 에러가... - 지훈
          * [http://altlang.org/fest/EnglishStudyWithDjango 대안언어축제에서실습장고] 이것 참고~. 오 지훈이 열심히 하네 ㅎㅎ, 또 하다가 모르는것 있으면 메신저 namsangboy골뱅이hotmail.com 으로 물어 봐도 돼 ㅎ
  • FromDuskTillDawn . . . . 11 matches
         블라디미르는 새하얀 피부와 날카로운 이를 가지고 있다. 나이는 600살이나 되지만, 뱀파이어인 블라디미르에게 나이는 별 의미가 없다. 블라디미르는 뱀파이어로 살아가는 데 있어서 별 다른 불편함을 느끼지 못다. 그는 항상 야간 근무를 맡는 의사로 일하고 있는데, 훌륭하게 의사 생활을 하고 있으며, 야간 근무를 도맡아 하다 보니 동료들하고도 매우 사이 좋게 지내고 있다. 그는 파티장에서 맛을 보는 것만으로도 혈액형을 알마맞히는 쇼를 보여주곤 다. 블라디미르는 여행을 하고 싶은데, 뱀파이어이다 보니 세 가지 문제를 극복해야만 다.
          3. 뭔가 먹을 것을 가지고 다녀야 다. 하루에 피를 1리터씩 먹어야 하며, 그의 관 안에서 정오(낮 12시)에 피를 마신다. |}}
         두 도시가 주어졌을 때 최단 경로를 찾는 프로그램을 만들어서 블라디미르가 최소의 피만 챙겨서 여행할 수 있도록 도와주자. 피를 너무 많이 가지고 다니면 사람들이 "그 피 가지고 뭘 하실 건가요?" 같은 질문을 하면서 의심할 수도 있기 때문이다.
         첫번째 줄에는 테스트 케이스의 개수를 나타내는 정수 개가 입력된다. 각 테스트 케이스의 첫번째 줄에는 그 밑에서 몇 개의 열차 노선을 설명할 것인지를 나타내는 정수 개가 입력된다. 각 노선을 설명하는 부분에는 두 도시의 이름, 첫번째 도시에서의 출발 시각, 그리고 총 여행 시간이 입력된다. 출발 시각은 반드시 정각이며, 여행 시간은 정확하게 정수 단위의 시간으로 표현된다. 블라디미르는 18:00 이전에 출발할 수 없으며 6:00 이후에 도착해서도 안 된다는 점을 꼭 기억해 두자.
         도시의 개수는 최대 100개며, 열차 노선(서로 다른 출발 시각 포함)은 1,000개를 넘지 않는다. 여행 시간이 시간 미만이거나 24시간 이상인 노선은 없지만, 블라디미르가 탈 수 있는 노선은 주어진 시간 내에서만 12시간 이내로 여행하는 것으로 제된다.
         각 테스트 케이스에 대해 일단 테스트 케이스 번호를 출력 다음, 그 다음 줄에 "Vladimir needs # litre(s) of blood." 또는 "There is no route Vladimir can take."를 출력다 (출력 예 참조).
  • GoodExams . . . . 11 matches
         시험은 학생의 평가를 직접적 목적으로 다. 하지만 교육기관에서의 평가라는 것도 궁극적으로는 "교육"이라는 목표를 벗어날 수 없다. 따라서 우리는 교육과 평가가 배치할 때 당연히 교육의 손을 먼저 들어줘야 하며, 교육의 틀 속에서 평가의 의미를 찾아야 다.
         "갑의 종류 8가지를 나열하라"와 같은 문제는 채점하기 편리하다. 하지만 이런 류의 지식은 시험 자체를 위 지식에 지나지 않는 경우가 대부분이다. 더욱 큰 문제는 대부분의 시험이 이런 식으로 이루어진다면 학생들의 평소 공부도 그런 쪽으로 향방이 정해진다는 점이다. 고등학교식으로, 생소 단어가 출현하면 밑줄부터 긋고 그 말을, 간혹 사전적 정의와 함께, 외우는데 전력을 기울인다.
         "컴퓨터란 무엇인가"와 같은 문제는 출제하기가 쉽다. 별로 신경을 쓰지 않고 문제 둘 내는 것으로 나름의 평가를 할 수 있다고 믿는다. 하지만 이런 문제는 대부분 학생과 선생 모두의 게으름에서 연유하며, 또 이를 조장다. 선생은 자신의 책임을 학생에게 완전히 전가해 버리며, 학생의 답안에 대해 깊이있는 분석과 이에 맞는 피드백을 제공, 부차적 교육이 일어나게 하지 못다. 학생은 자신이 공부를 아무리 착실히 해도 이런 식의 뭉떵그린 추상적 문제를 자주 접하게 되면 잡다 지식을 대충 얼버무려 장문으로 만드는 요령만 늘게된다. 교육은 "똑똑 질문"을 묻는 것이지, "이것에 대해 네가 아는 모든 걸 쏟아내놓아 봐, 얼마나 되는지 보자"가 되어선 안된다.
         좋은 질문은 학습자의 흥미를 유발하고, 그 사람이 깊이 생각할 기회를 주며, 자신의 현 단계 이해에서 계단 더 나아갈 구체적 안내자의 역할을 하며, 학습자의 사고 방식이나 습관 등에서 약점과 문제점을 발견할 기회를 제공다. 학습자를 더욱 똑똑하게, 더 깊이 이해하게 도와주는 질문인 것이다. 그러나 이것은 채점하기도, 출제하기도 쉬운 일은 아니다.
  • HelpOnActions . . . . 11 matches
         모니위키는 액션이라는 확장기능을 제공합니다. 액션은 현재 보고 있는 페이지 혹은 전체 위키에 대 특별 확장 기능을 말합니다. 매크로와는 다르게 위키 페이지에 직접 매크로를 삽입해야 하는 것이 아니라 그 페이지를 다른 방식으로 보는 방법을 제공합니다. 예를 들어 페이지를 편집하는 기능를 `edit` 액션이라고 하며, 북마크를 하는 기능은 `bookmark`액션을 통해 이루어지고, 전체 검색, 제목 검색, 역링크 검색 등등 여러가지 기능을 제공합니다. 이러 액션은 플러그인 방식으로 다른 기능을 손쉽게 확장할 수 있게 하여 위키의 풍부 기능을 가능하게 만들어주고, 일부 액션은 페이지의 내용과 상관 없는 기능을 제공하기도 합니다. (페이지 지우기 기능은 DeletePage 혹은 페이지 이름을 바꿔주는 RenamePage 기능)
         이러 기능은 시스템에 설치하거나 일부 기능을 비활성화 시키는 것이 가능하며, 확장을 통해 새로운 기능을 넣을 수도 있습니다. (자세 내용은 HelpForDevelopers를 통해 참조하세요)
          * `!LikePages`: 비슷 이름을 가지는 페이지 목록을 찾아줍니다. 영문의 경우 적절히 잘라내어 앞/뒤 단어별로 검색해주며, 글일 경우에는 앞/뒤 글자 이상을 잘라내어 비슷 파일 이름이 있는지 찾아줍니다.
          * `revert`: 구 버전의 페이지로 되돌리기 위 액션 (모니위키 1.1.3부터 지원)
  • JavaStudy2003/두번째과제/곽세환 . . . . 11 matches
          캡슐화는 모듈성(modularity)과 정보은닉(information hiding)을 제공다.
          모듈성은 각각의 객체를 위 소스코드가 서로 무관하게 유지될 수 있다는 것이다.
          정보은닉은 객체가 가지는 정보에 접근 권을 주어 다른 객체로 부터의 접근을 제할 수 있다.
          메시지를 받을 객체, 수행을 요청 메소드의 이름, 메소드에 의해 필요 매개변수 등 세가지 구성요소를 가진다.
         [접근권] static 변수 선언;
         [접근권] static 메소드 선언;
          * 인스턴스와 객체가 비슷 의미인것 같은데 차이는?
          아직 상속을 읽고 있는 중이기 때문에 모르는 것이지요^^. private 과 protected 는 상속이 이루어지지 않으면 똑같이 사용이 됩니다. 하지만 상속이 이루어진다면 의미는 틀려지죠. 만약 '''자동차''' 라는 객체가 있다고 봅시다. 그런데 이것은 굉장히 추상적인 개념이지요. 이 '''자동차''' 의 하위 개념인 '''트럭''' 과 '''버스''' 와 '''승용차''' 를 '''자동차'''에서 상속받아 만들었다고 합시다. 그랬을 때 '''자동차''' 가 가지는 어떠 상태는 '''트럭''' 과 '''버스''' 와 '''승용차'''도 역시 가지고 있을 수도 있습니다. 이런 경우 protected 로 선언해 주면 그 상태를 상속받을 수 있다는 것이지요. 하지만 외부에서 접근은 불가능하다는 사실은 변함이 없습니다. 하지만 public 은 외부에서 접근이 가능하게 되는 것이지요. 번 직접 코드로 만들어보세요. 어떻게 다른지 채험하는게 가장 이해가 쉬울겁니다.
  • JavaStudyInVacation/과제 . . . . 11 matches
          * AWT와 SWING이 무엇인지 알아보고, 그 차이점에 대해서 알아보기. 그리고 어떤것을 사용하는것이 더 좋다고 생각하는지, 그리고 왜 그렇게 생각는지...?
          * SWING을 사용하여 버튼이 있고, 그 버튼을 누르면 간단 메시지를 출력하는 자바 에플리케이션 작성해 보기.
          * 첫째날 만들었던 버튼을 누르면 간단 메시지를 출력하는 자바 에플리케이션을 에플릿으로 바꿔보기.
          * 다음과 같은 네트워크를 사용하는 간단 에플리케이션 만들어 보기. (SWING 이나 AWT 사용 안함)
          * 클라이언트로부터 연결이 끊기면 프로그램을 종료다.
          * 명령어 라인 인자로 접속할 서버 에플리케이션이 있는 IP 주소와 포트를 입력받아 서버에 접속다.
          * 서버로부터 문자열을 받아 화면에 출력해준다. ("ABCDEFG" 가 나와야 다.)
          * 서버와 접속을 끊고 프로그램을 종료다.
          * 셋째날 못것 하기
          * 두 명의 플레이어는 네트워크로 연결되어 게임을 다.
          * SWING을 사용하여 제작해야 다.
  • MFCStudy_2001/MMTimer . . . . 11 matches
          멀티미디어 타이머에 대 설명을 적게 되었습니다.[[BR]]
          자기 혼자 할 짓을 다 대네요.
          멀티미디어 타이머에 관련된 함수는 여러가지이나, 타이머를 구현하는데 필요 함수는 세개입니다. [[BR]]
          * MMRESULT에는 타이머의 번호가 리턴됩니다. NULL일 경우에는 실패 경우입니다.
          * TIME_ONESHOT : CALLBACK함수가 딱 번만 실행됩니다.
          CALLBACK 함수를 전역으로 선언 경우
          * 콜백 함수를 정의것입니다. 콜백 함수내에서는 복잡 일은 하지 않는게 정신건강에 좋다고 합니다.[[BR]]
          CALLBACK 함수를 클래스 함수로 선언 경우[[BR]]
          * this는 이 클래스 인스턴스의 값을 넘겨줍니다. 클래스 내부 함수로 선언했을 경우네는 중요 인자값입니다.
          왠만 함수들은 Callback함수 내에서 부르면 안됩니다.
  • MineSweeper . . . . 11 matches
         이 게임에서는 각 칸에 인접 칸에 몇 개의 지뢰가 있는지를 보여준다. 각 칸에는 최대 여덟 개의 인접 칸이 있을 수 있다. 아래쪽에 있는 4 X 4 지뢰밭에는 지뢰 두 개가 있으며 각각은 '*' 문자로 표시되어 있다.
         이 지뢰밭을 방금 설명 힌트 숫자로 표기하면 아래쪽에 있는 것과 같은 필드가 만들어진다.
         각 지뢰밭에 대해 Field #x:라고 적혀있는 메시지를 출력다. 이때 x는 필드 번호를 나타내며 1에서 시작다. 그 다음 줄부터는 n개의 줄에 걸쳐서 '.'문자 대신 그 칸에 인접 칸에 들어있는 지뢰의 개수를 출력다. 각 지뢰밭에 대 출력 사이에는 반드시 빈 줄이 하나씩 있어야 다.
          || [이승] || Flash/java?? || ? || [MineSweeper/이승] ||
  • ModelViewPresenter . . . . 11 matches
         MVC 에서 유래. MVP 의 목적은 Model 과 View 사이의 Observer connection 에 대해 더 깔끔 구현을 제공하는 것이다.
          * Presenter - 어플리케이션을 표현하고 코디네이트다. 다른 오브젝트들을 생성하거나 관계를 맺는다.
          * Selection - Model 의 서브셋을 구체화다. (Command에 의해 조정된다.)
          * Interactor - 키보드나 마우스 이벤트들을 Command 나 Selection 으로 매핑다.
         어플리케이션을 이러 방법으로 나누는 것은 좋은 SeparationOfConcerns 이 되며, 다양 부분들을 재사용할 수 있도록 해준다.
         C++, Java 의 다음 세대 프로그래밍 모델. Smalltalk 의 고전적인 MVC 프로그래밍 모델에서 나왔으며, 다양 번위의 어플리케이션과 컴포넌트 개발 테스크를 위 강력하면서 이해하기 쉬운 디자인 방법론. 이 개념의 framework-based 구현물은 MVP 를 em쓰는 개발 프로그램에 훌륭 가치를 더해준다. MVP는 또 다중 client/server 나 multi-tier 어플리케이션 아키텍쳐에도 적합하다. MVP 는 IBM 의 대부분의 OO Language 환경들에 대해 단일 개념의 프로그래밍 모델을 제공해 줄 수 있을것이다.
  • PairProgrammingForGroupStudy . . . . 11 matches
         PairProgramming이란 ExtremeProgramming이라고 하는 새로운 소프트웨어 개발 방법론의 가지 기법으로, 두명이 컴퓨터를 이용해서 같이 프로그래밍을 하는 것을 말합니다.
         지식관리의 세계적 학자 노나카 이쿠지로 교수는 지식에 형식지와 암묵지가 있다고 합니다. 형식지는 문서화, 규칙화, 수식화된 지식을 말하고, 암묵지는 그렇지 못 것들을 말합니다. 그런데, 어떤 전문가가 가진 지식이라는 것은 거의 대부분이 암묵지입니다. 이제까지는 형식지의 전달에만 신경을 쏟았지 암묵지는 별 관심을 받지 못했고, 교육 모델에서도 중요하게 다뤄지지 못했습니다. (덕분에 유명 인간문화재의 대가 끊기는 일이 빈번했죠.)
         기존의 영웅적인 프로그래머들의 일화를 들어보면 자신들이 비약적인 발전을 했던 시기는 대부분 "훌륭 프로그래머"와 함께 일을 할 수 있었던 때라고 입을 모읍니다.
         이 방식을 소프트웨어 개발 업체에서 적용 것은 Apprenticeship in a Software Studio라는 문서에 잘 나와 있습니다. http://www.rolemodelsoft.com/papers/ApprenticeshipInASoftwareStudio.htm (꼭 읽어보기를 권합니다. 설사 프로그래밍과는 관련없는 사람일지라도)
         예를 들어, A, B, C, D, E, F, G, H라는 여덟 명이 팀을 이룬다고 가정합시다. 여기서, A와 B가 전문가이고 나머지는 비숙련자라고 하죠.
         이 상태에서는 A와 B는 ExpertRating이 0이고, E와 F는 1이 됩니다. 이 개념은 Erdos라는 수학자가 만든 것인데, Expert 자신은 0이 되고, 그 사람과 번이라도 pairing을 했으면 1이 됩니다. 그리고, expert와 pairing 사람과 pairing을 하면 2가 됩니다. expert는 사람들의 ExpertRating을 낮추는 식으로 짝짓기 스케쥴링을 맞춰갑니다. 물론 처음에는 C,D,G,H는 아무 점수도 없죠. 이럴 때는 "Infinite"이라고 합니다.
         이렇게 pairing을 할 수 있겠죠. 역시 아까와 동일 태스크를 수행합니다. 대신 좀전 pairing에서 얻은 지식을 기반으로 좀 더 나은 프로그램을 새로 작성하는 겁니다. 각자 이전 경험이 다르므로(다른 사람과 짝짓기를 했으므로) 둘이 협력하면 서로 가르쳐 주고 배우면서 시너지 효과를 낼 수도 있습니다.
         너무나 좋은 글을 읽은 것 같습니다. 선배님이 써주신 PairProgramming에 관 글을 순식간에 읽었습니다 ^^ 이런 방법이 스터디의 방법으로 자리잡는다면 초보자의 실력향상에 엄청난 도움이 되겠군요
  • PracticalC . . . . 11 matches
         이 페이지는 이번 C교제인 프렉티컬 C의 내용을 간단히 정리 것입니다.
          프로그램은 수필처럼 읽혀져야 다. 즉 가능 이해하기 쉬고 명쾌 해야다.
          제목 : 프로그램의 이름과 하는 일에 관 간략 설명
          사용법 : 프로그램 작동법에 대 간략 설명
          제 : 프로그램을 사용할때 제범위를 설명(잘 모르겠음....)
          개정 히스토리 : 수정 사람, 수정내용, 수정날짜 등
  • PracticeNewProgrammingLanguage . . . . 11 matches
         새로운 프로그래밍 언어를 배울때 작성하면 도움이 될문 문제를 제시하는 페이지.
         문제의 난이도, 흥미도를 중시 문제제시가 아닌 언어가 제공하는 폭넓은 기능을
         즉!!! 이것만 해보면 이 언어로 프로젝트를 진행할 만하다 싶을 정도의 레벨을 만들기위 프로그램 작성.
         6. 스트링 검색 : 특정 텍스트 파일을 열고, 사용자가 입력 스트링을 검색할 수 있는 프로그램을 작성하라.
         7. 2인 오목 작성 : 언어의 기능을 최대 이용 오목을 작성다. (텍스트, 그래픽 무관)
         1. HelloWorld 소켓 : 소켓(유사 기능)을 이용하여 프로그램내에서 지정된 문자열을 교환하는 서버, 클라이언트를 작성하시오.
         2. 쓰레드 생성 : 2개 이상의 쓰레드를 생성하여 동기화 문제를 해결 1~500까지의 합을 구하는 프로그램을 작성하시오.
         3. TCP 에코 서버, 클라이언트 : 소켓(유사 기능)을 이용하여 TCP 기반의 에코서버를 작성함.
         4. UDP 에코 서버, 클라이언트 : 소켓(유사 기능)을 이용하여 UDP 기반의 에코서버를 작성함.
  • ProjectAR/Temp . . . . 11 matches
          * CMyDocument : 게임의 자료를 담당다(계산도 전부 담당)
          - MsgProc() : 메세지 처리 루틴 // 키입력, 마우스입력등을 처리다.
          - FrameMove() : Doc를 바탕으로 출력용 좌표들을 계산다. // 입력 내용들도 반영다.
          - Render() : 화면에 직접 출력다. (오직 출력루틴들만 있다.) // 계산을 하려면 FrameMove에서
          스토리가 빈약하기 때문에 무언가에 몰입할 다른 요소를 만들어야 다.
          - 정령은 무기의 능력치를 올려주기도(ATK+ , DEF+, HIT+등..) , 특수 능력을 부가하기도 (독, 레지, ...) 다.
          - 같은 종류의 정령은 합체시킬 수 있다. -> 강 정령 탄생
          - LV제을 높게 두자. (오우.! 9999정도?)
  • REFACTORING . . . . 11 matches
          * Refactoring 을 하기 위해서는 UnitTest code가 필수적이다. 일단 처음 Refactoring에 대 간단 원리를 이해하고 싶다면 UnitTest 코드 없이 해도 좋지만, UnitTest code를 작성함으로서 Refactoring 에 대 효과를 높일 수 있다. (Refactoring 중 본래의 외부기능을 건드리는 실수를 막을 수 있다.)
          * 뭔가 비슷 코드를 만들 것이고, 중복됨이 있은 경우에 당신은 주춤할 것이다. 하지만 어쨌든 일단 중복되는 내용이 있더라도 만들어라.
          * 다시 또 뭔가 비슷 일을 다. - Refactoring을 할 때이다. Refactoring 하라.
          * 어떤 부분을 Refactoring 해야 하는지 찾기 원다면 Chapter 3를 읽어라.
          * 실제로 Refactoring을 하기 원다면 Chapter 1,2,3,4를 정독하고 RefactoringCatalog 를 대강 훑어본다. RefactoringCatalog는 일종의 reference로 참고하면 된다. Guest Chapter (저자 이외의 다른 사람들이 참여 부분)도 읽어본다. (특히 Chapter 15)
         ["Refactoring"] 에 의외로 중요 기술로 생각되는건 바로 Extract Method 와 Rename 과 관련된 Refactoring. 가장 간단하여 시시해보일지 모르겠지만, 그로서 얻어지는 효과는 대단하다. 다른 Refactoring 기술들의 경우도 일단 Extract Method 와 Rename 만 잘 지켜지면 그만큼 적용하기 쉬워진다고 생각.
          - VC용 Refactoring 도구는 없나요? C++ 이라는 언어에서 Refactoring 이라는 개념을 적용시키려면 TDD in VC++ 처럼 약간 복잡 과정이 필요하겠지만요;; - [임인택]
  • ReleasePlanning . . . . 11 matches
         릴리즈 계획은 프로젝트의 전반적인 계획을 다룬다. 릴리즈 계획은 개별 반복에 대 반복 계획을 포함다.
         기술자들이 기술적인 결정을 내리고 현업 사람이 업무에 대 결정을 내리는 것은 매우 중요 일이다. 릴리즈 계획은 몇가지 규칙을 갖고 있는데 이것은 프로젝트에 참여 모든 사람이 자신의 결정을 내리게 다. 이러 규칙은 각각이 수행할 계획을 협상하는 방법을 담고 있다.
         이상적인 기간은 다른 업무 없이 이 스토리를 구현하기 위하여 필요 일정을 개발자가 추정하는 것이다.
         다른 것에 종속되지 않고, 다른 없무도 없이 테스트를 포함다. 고객은 어떤 스토리가 가장 중요지 또는 우선순위가 높은지를 결정다.
  • ShellSort . . . . 11 matches
         여틀 왕(King Yertle)은 그의 거북이 왕관을 재배치해서 가장 계급이 높은 귀족과 가장 가까운 측근들을 더 위쪽으로 올리고 싶어다. 쌓여있는 거북이들의 순서를 바꾸는 방법은 거북이 마리가 원래 자기 위치에서 빠져 나와서 맨 위로 올라가서 자리를 잡는 방법 밖에 없다.
         거북이 스택의 원래 순서와 새로 만들어져야 할 스택의 순서가 주어졌을 때 최소의 이동 횟수만으로 원래 스택을 새로운 스택으로 재배치할 수 있는 순서를 찾아야 다.
         입력의 첫번째 줄에는 테스트 케이스의 개수를 나타내는 K라는 정수 하나만 들어있다. 각 테스트 케이스는 스택에 들어있는 거북이의 개수를 나타내는 n이라는 정수로 시작되며 그 밑으로 n개의 줄에 걸쳐서 거북이 스택의 원래 배치가 기술된다. 각 줄에는 거북이의 이름이 들어있으며 맨 윗 줄에는 스택 맨 위에 있는 거북이의 이름이 있고 위에서 아래로 순서대로 거북이의 이름이 나열된다. 각 거북이테는 그 거북이만의 이름이 주어지며 각 이름은 80글자를 넘지 않는 문자열이고, 알파벳, 숫자, 스페이스 문자, 점('.')만 쓰인다. 그 밑으로는 n개의 줄에 걸쳐서 새로운 스택이 기술되며 여기에서도 위에 있는 거북이부터 아래있는 거북이 순으로 이름이 열거된다. 각 테스트 케이스는 정확하게 2n+1개의 줄로 구성된다. 거북이의 수(n)는 200 이하로 제된다.
         각 테스트 케이스에 대해 줄에 하나씩의 거북이 이름이 출력되며 이 거북이 이름은 스택을 빠져 나와서 맨 위로 올라가는 거북이의 이름을 의미다. 이 출력에 나와있는 순서대로 자기 자리를 빠져 나와서 맨 위로 올라가는 과정을 반복하면 원래의 스택이 새로운 스택으로 바뀌어야 하며 최소의 이동 횟수로 작업을 끝낼 수 있어야 다. 이 조건을 만족하는 이동 방법이 여러 가지 있으면 그 중 아무 것이나 출력해도 된다.
         서로 다른 테스트 케이스 사이에는 빈 줄을 하나씩 출력다.
  • SmalltalkBestPracticePatterns/DispatchedInterpretation . . . . 11 matches
         인코딩은 프로그래밍에 있어서 필수적이다. 몇몇 관점에서 당신은 말다, "약간의 정보가 있다. 어떻게 그것을 표현할 수 있는가?" 정보를 인코딩하는 결정은 하루에도 아주 많이(a hundred times a day) 발생다.
         과거로 돌아가서 데이타가 연산으로부터 불리되었을 때, 그리고 종종 그 둘이 만나야 했을 때, 인코딩 결정은 중대 것이었다. 너의 어떠 인코딩 결정은 연산의 많은 다른 부분들을 점차적으로 증가시켜나아갔다. 만약 잘못된 인코딩을 다면, 변화의 비용은 막대하다. The longer it took to find the mistake, the more ridiculous the bill.
         객체들 사이에서 어떻게 책임을 분배하는가는 중요 결정이다, 인코딩은 그 다음이다. 잘 요소화된 프로그램들의 대부분에서, 오직 하나의 객체만이 조각의 정보에 관심을 가진다. 객체는 정보를 직접적으로 참조하고 사적으로 필요 모든 인코딩과 디코딩을 수행다.
         때때로, 그러나, 객체의 정보는 다른 객체의 행위에 영향을 미칠 것이다. 정보의 사용이 단순할 경우, 또는 제된 정보에 기반해서 선택이 가능할 경우에는 인코딩된 객체에게 메시지를 보내는 것이 충분히 가능하다. 이와 같이, 부울린 값들은 두 클래스의 하나의 인스턴스로 표현되어진다는 사실은, True 그리고 False, 메시지 #ifTrue: ifFalse:. 뒤로 숨겨진다
  • SpikeSolution . . . . 11 matches
         주어진 문제에 대 실험적인 프로그래밍.
         어떻게 보면 우리가 일반적으로 하고 있는 것이다. Visual C++로 해당 라이브러리를 이용 프로그래밍을 할때 우리는 어떻게 할까? 아마도 Visual C++을 2개를 띄울 것이다. 그리고 창에서는 해당 라이브러리가 제대로 작동하는지, 대강 값들을 넣어보고 이리저리 제대로 원하는 일을 하게끔 여러 시도들을 하게 될 것이다. 그렇게 함으로서 미지인 부분에 대 대강의 선을 잡아놓는다.
          (ex) DB를 연결하기 위해 DB를 Install 하기, DB 작동이 어떻게 되는지 query 날려보기. 해당 라이브러리가 어떻게 작동하는지 간단 예제 프로그래밍 등
         이러 실험들을 XP에서는 Spike Solution이라고 다. 다른 점이라면, 우리는 보통 실험 코드를 만든 뒤 실전 코드에 바로 붙일 것이다. 하지만 Spike Solution 의 경우는 '실험은 실험에서 끝난다' 에서 다를 수 있다. 보통 Spike Solution 에서 실험 코드들을 메인소스에 바로 적용시키지 않는다. Spike Solution은 처음 계획시 estimate의 선을 잡기 위 것으로 메인소스에 그대로 적용될 코드는 아닌 것이다. 지우고 다시 만들어 내도록 다. 그러함으로써 편으로는 학습효과를 가져오고, 실전 소스의 질을 향상시킬 수 있다.
  • TellVsAsk . . . . 11 matches
         아랙 샤프의 "Smalltalk by Example" 이라는 최근의 책에서는 아주 값어치있는 교훈을 강조다.
         '''절차적인 코드에서는 정보를 얻고 난 뒤 할 일을 결정다. 개체 지향 코드에서는 객체에게 행동을 하도록 시킨다.'''
         요는, 당신은 객체들로 하여금 당신이 원하는 일을 하도록 노력해야 다. 객체들의 상태에 대해 객체들에게 묻지 말고, 결정하라. 그리고 객체들에게 원하는 일을 하도록 하라.
         문제점은 caller 로서, 당신은 called object 의 상태에 기반 결정을 내리면 안된다는 것이다.
         아마 당신은 이렇게 말할지도 모른다. "나는 그런 코드를 작성 적이 없어!" 하지만, referenced object 의 값을 조사해서 그 결과값에 따라 각각 다른 메소드를 호출하는 식으로 적당히 구현하며 얼머무리는 경우는 흔하다.
         하지만, 이는 좋은 방법이 아니다. 당신이 원하는 일에 대해서 object 에게 시켜라. (즉, 저 행위에 대 결정은 object 내에서 해결하게끔) object 로 하여금 어떻게 해야 할지 해결하도록 하라. 절차적이려하기 보단, 서술적이려고 하라. (이는 OOP 에서 이야기하듯, Object 들 간의 행동들에 대해서.)
         만일 당신이 각 클래스들의 책임에 기반 디자인으로 시작했다면 이러 함정에 탈출하는 일은 쉽다.
         (ResponsibilityDrivenDesign) 그러 경우, 당신은 당신에게 객체의 상태를 알리도록 질의문을 작성하는 대신 (주로 getter 들에 해당되리라 생각), class 들이 실행할 수 있는 '''command''' 들을 자연스럽게 발전시켜 나갈 것이다.
         만약 그들의 책임(의미)에 기반해서 클래스 설계를 시작다면 이런 덫에서 벗어나기에 더 쉽다.
  • VendingMachine/재니 . . . . 11 matches
          * 그러면 주문을 할 때 돈이 필요하니까 돈을 세는 계수기 비슷 것(CoinCounter)도 필요할 것 같다..^^
         이정도면 클래스를 나누는 것은 끝난 것 같으니깐 각각의 객체(클래스)에 필요 역할을 나누어보자..^^
          그리고 사람이 주문을 했을 때 주문받은 상품의 가격에 비해 잔액이 충분지 확인 하는 것 하구..... / 계수기[[BR]]
          이 두가지 조건에 만족할 때에는 주문 상품을 내줄 수 있어야 하겠고, 이 때 상품의 수량을 갱신해야겠지!^^[[BR]]
          * 흠.. 그리고 계수기의 역할을 번 볼까? 이녀석은 먼저 잔액을 기억해서 보여주어야 할 것이고..[[BR]]
          사람이 투입 돈이 형식에 맞는지(10,50,100,500,1000원) 확인해서 잔액을 늘려주어야 할 것이고,[[BR]]
          아!! 그리고 주문 음료의 가격에 따라 금액을 지불해주는 역할도 있어야겠군!^^[[BR]]
         가만있자.. 이거면 역할 분담은 대충 끝난 셈인가?^^ 그럼 번 코딩을 해볼까?^^*
          * 이번엔 프로그램 설계를 글로 했지만 영어로 해보고 싶은 욕심이 생기네엽..^^[[BR]]
          ''클래스 수가 많아서 복잡해진건 아닌듯(모 VendingMachine 의 경우 Requirement 변경에 따라 클래스갯수가 10개 이상이 되기도 함; 클래스 수가 중요하다기보다도 최종 완료된 소스가 얼마나 명료해졌느냐가 복잡도를 결정하리라 생각). 단, 역할 분담할때 각 클래스별 역할이 명료지 신경을 쓰는것이 좋겠다. CoinCounter 의 경우 VendingMachine 안에 멤버로 있어도 좋을듯. CRC 세션을 할때 클래스들이 각각 따로 존재하는 것 같지만, 실제론 그 클래스들이 서로를 포함하고 있기도 하거든. 또는 해당 기능을 구현하기 위해 다른 클래스들과 협동하기도 하고 (Collaboration. 실제 구현시엔 다른 클래스의 메소드들을 호출해서 구현다던지 식임). 역할분담을 하고 난 다음 모의 시나리오를 만든뒤 코딩해나갔다면 어떠했을까 하는 생각도 해본다. 이 경우에는 UnitTest 를 작성하는게 좋겠지. UnitTest 작성 & 진행에 대해선 ["ScheduledWalk/석천"] 의 중반부분이랑 UnitTest 참조.--["1002"]''
  • VonNeumannAirport . . . . 11 matches
          * ["1002"] 의 개인적으로 생각되는 '미숙' 했다고 생각 점을 든다면, 평소에 프로그래밍을 하는 리듬이 아니였다는 점. 이전 스타일이라면 일단 문제를 보고 문제를 나누면서 시나리오를 어느정도 만들어 놓은 뒤, 그걸 검증해나간다는 느낌으로 테스트코드를 작성했었는데, 이번의 경우 정말 Extreme 하게 작업 것 같다. (중반에 CRC 라도 번 하고 싶었는데, 형에게 물어보고 왠지 '아 내가 알던 방법이 틀린걸꺼야' 하며 그냥 Test 만 생각하게 되었다.) 작업하는 중간 뭔가 석연치 않은 느낌이 들었다면, 아마 대강 이런 느낌이였던 것 같다. 전반적 시각을 번정도 중간에 정리를 할 필요가 있을건데, 그런 시간을 두지 못것.
          * 중간에 창준이형이 "너희는 C++ 로 프로그래밍을 하면서 STL를 안사용하네?" 라고 했을때, 그냥 막연하게 Java 에서의 Collection Class 정도로만 STL을 생각하고, 사용을 잘 안했다. 그러다가 중반부로 들어서면서 Vector를 이용하게 되었는데, 처음 두번 이용 Vector 가 후반으로 가면서 전체의 디자인을 뒤집었다; (물론 거기에는 디미터 법칙을 지키지 않은 소스도 몫했지만 -_-;) 그걸 떠나서라도 Vector를 써 나가면서 백터 비교 assert 문 등도 만들어 놓고 하는 식으로 점차 이용하다보니 상당히 편리했다. 그러다가 ["Refactoring"] Time 때 서로 다른 자료형 (앞에서 array 로 썼던 것들) 에 대해 vector 로 통일을 하다 보니 시간이 비교적 꽤 지연이 되었다.
          * ["Refactoring"] Bad Smell 을 제대로 맡지 못함 - 간과하기 쉽지만 중요 것중 하나로 naming이 있다. 주석을 다는 중간에 느낀점이 있다면, naming 에 대해서 소홀히 했다란 느낌이 들었다. 그리고 주석을 달아가면서 이미 구식이 되어버린 예전의 테스트들 (로직이 많이 바뀌면서 테스트들이 많이 깨져나갔다) 를 보면 디미터 법칙이라던가 일관된 자료형의 사용 (InformationHiding) 의 문제가 있었음을 느낀다.
         ||[VonNeumannAirport/Leonardong] || 번 실패 후 재도전 Python버전 ||
  • WeightsAndMeasures . . . . 11 matches
         맥(Mack)이라는 이름의 거북이가 여틀(Yertle)왕의 거북이 왕좌(王座)을 만들기 위 거북이를 쌓는 방법을 문의해왔다. 혹시 자기 등껍질이 깨질까 봐 겁이 났기 때문이다. 여틀 왕의 왕좌을 만들기 위해 동원된 5,607마리의 거북이는 체중과 체력이 모두 다르다. 가능 가장 많은 거북이를 쌓는 방법을 찾아보자.
         여러 줄이 입력되는데, 줄에 쌍의 정수가 입력된다. 첫번째 정수는 체중을, 두번째 정수는 거북이의 체력을 나타낸다. 거북이의 체중은 그램 단위로 입력된다. 즉 체중이 300g이고 체력이 1,000g인 거북이등 위에는 700g을 올려놓을 수 있다. 거북이는 최대 5,607마리이다.
         어떤 거북이도 자기 체력이 허용하는 도 내에서만 등 위에 다른 거북이를 올려놓으면서, 몇 마리의 거북이를 쌓을 수 있는지를 나타내는 정수를 출력다.
          테스트 케이스가 필요하다면 꽁수가 있기는 하다. Java로 standard input으로 읽는 라인을 합쳐다가 모조리 특정 URL에 포스트 하도록 하는 코드를 만들어 업로드 다. 그러면 심사때 사용하는 테스트 케이스를 알 수 있다. --JuNe
         배경설명 - Yertle이라는 거북이 왕이 더 멀리 내려다 보려고(자신이 내려다 보는것들을 자신이 지배하고 있다고 생각함) 왕좌, 마디로 앉을 곳을 만드는데 거북이들을 쌓아서 만드는것이다. 처음엔 10마리 정도로 시작하다가 욕심이 끝이 없어서 계속 계속 거북이들을 쌓는다. Mack은 맨 밑에 깔려있던 거북이 이름.
         예전에 올렸던 풀이가 왜 틀렸는지 번쯤 생각해 보았으면 좋겠다. Greedy 방식이 항상 최적해를 찾지 않는다는 사실을 반례를 들어 간단히 보일 수도 있다. 그렇다면 올바른 풀이를 번 찾아봅시다. -- 보창
  • XMLStudy_2002/Encoding . . . . 11 matches
          *단순 텍스트 형태의 XML문서를 다양 언어로 작성하기위해 각 언어에서 사용하는 인코딩 방식을 사용다.
         === 글 완성형 인코딩 ===
         === 글 UTF-8 인코딩 ===
         === 글 UTF-16 인코딩 ===
          *XML에서 유니코드를 사용하면 문서 내에서 어떤 부분은 국어로 또 어떤 부분은 일본어로 작성하는게 가능하다.
         === XML에서의 unicode 사용에 대 사이트 ===
          *Unicode와 XML등과 같은 Markup Language 등에 대해 W3C와 Unicode.org 멤버들이 작성 Technical Report : [http://www.w3.org/TR/1999/WD-unicode-xml-19990928/]
          *다국어 지원 웹 컨텐츠 제작시 XML과 Unicode의 결합을 역설 내용 : [http://www.tgpconsulting.com/articles/xml.htm]
  • Yggdrasil/가속된씨플플 . . . . 11 matches
          * 1장을 공부하면서 자바의 string 클래스와 비슷하다는 것을 느꼈다. 이걸 먼저 알았으면 1학년때 숙제할 때마다 char 배열을 포함 클래스를 만들 때 수고를 좀 덜했을 거 같다.
          * 짧은 예제로 필요 설명은 다 하는 느낌이다. C책이 쓸데없이 두꺼울 필요를 못 느낀다?
         쓸데 없는 참견일지 모르지만, 번 [위키위키]에 대하여 생각해 봅니다. 제가 생각하는 [위키위키]의 장점은 꾸준히 WikiGnome 들이 위키를 관리하면서 중복된 페이지를 없애고, 가치있는 페이지를 만들어 내는 것입니다.
         잘알고 있겠지만, 지금 하고 있는 내용은 [AcceleratedC++]의 하위 요약 페이지와 많은 부분이 중복됩니다. 만약 이대로 유지다면, 두 내용 모두 불완전체로 끝나게 되겠지요. ([Yggdrasil/가속된씨플플/1장]와 [AcceleratedC++/Chapter1] 비교) 그렇다면 어떻게 할까요? 두페이지를 대상으로 [페이지다듬기]를 합니다.
         예를들어, [STL]의 모든 하위페이지, EffectiveSTL의 하위 페이지들은 기존에 ZeroWikian 들의 개인 하위 페이지에 국되어 있었습니다. 예를들어, {{{~cpp NeoCoin/STL}}} ExtremeSlayer/Vector 식으로 말이지요. 이것들을 [페이지다듬기]를 통해서 통합하고 기존 페이지들을 지워서, 곳에 완전 문서로 만들었습니다.
          * 그렇군요. 확실히 그런 하나의 완전 페이지가 있는 편이 좋겠네요. 하나로 정리할 때는 역시 이전의 페이지를 작성 사람과 상의를 해서 해야겠죠? 아니면 그냥 제가 추가하고 싶은 내용을 추가하면 됩니까? 후자의 경우는 '기본적인 사실인데 제가 잘 모르고 있던 개념' 같은 건 쓰기가 좀 곤란하겠군요. --영동
          * 요약과 같은 객관적인 내용은 NoSmok:말없이고치기 를해도 상관없다고 생각하며, 후자의 개념 문제는 확실하지 않은 내용은 쓰지 않으면 되지요. 중요 것은 중복된 페이지를 양산하지 않는다는 점입니다. --NeoCoin
  • ZeroPageHistory . . . . 11 matches
         ||1학기 ||2기 회원모집. 1학년을 위 각종 강좌 마련, 스터디 조직. 2학년 각종 스터디 조직(C++, Graphics, OS, System-Programming, 글 구현). 첫돌 잔치. ||
         FixMe 임베팅 사이즈 조절 할줄 모르겠음. 오리지날 파일은 아래 참고. 스크린샷 상의 오르지오 메일은 망해서 모자이크 처리 안했음 --NeoCoin
         ||1학기 ||회장 이승, 15기 회원 모집, 지금 그때 진행, 새싹배움터 진행, ZeroWiki 서비스 재개 및 설명회 개최 ||
         ||여름방학 ||데블스 캠프 with 양대 자람, 대대적인 PC실 고스트 작업, 가평 MT, ||
         ||2학기 ||제 2회 대안언어축제 자봉단 참가. ACM 예선 통과(본선 11위) 동상 입상, 양대 학술동아리 자람과 학회교류 행사 ||
         ||겨울방학 ||하드 문제로 인 서버 소실 ||
         ||1학기 ||회장 이승, 18기 회원 모집, 새싹스터디 진행 ||
         ||2학기 ||하늘공원 소풍, PC실 관리 중단. 양대 컴공 학술동아리인 자람, ICPC와 함께 연합 학술교류 행사 ||
          * 04학번 이승 학우의 회장 재임
          * 제 1회 삼성 컴퓨터 명인 마당
  • callusedHand/physicalExercise . . . . 11 matches
         '''*출처: 국과학연구원'''
         손바닥을 위로 채 다른 쪽 손으로 손가락을 가볍게 잡아 당긴다.
         5초 동안 잡아 당겼다가 놓기를 3-5회씩 반복다.
         양손의 손가락을 힘껏 쫙 편채 2초 정도 가만히 있다가 다시 2초 동안 주먹을 쥐기를 3-5회 반복다.
         자리에서 일어나 양 손을 머리위로 치켜 올리고,천장까지 손이 닿도록 힘껏 뻗는다. 다시 손을 쪽씩 머리위로 올려서 천장을 향해 힘껏 뻗는다.
         손바닥을 앞으로 향 채 두 팔을 앞으로 쭉 뻗는다. 깊은 숨을 들이 쉬면서 천천히 두 손을 끌어 당긴다. 3-5초 동안 이런 자세를 유지하다가 숨을 내쉰다. 3-5회 반복다.
         배영을 하는 것처럼 팔을 먼저 뒤로 돌리고 다시 다른 팔을 돌린다. 이런 동작을 3-5회 반복다.
         어깨를 천천히 귀 쪽으로 올렸다가 다시 뒤로 돌려서 내린다. 이런 동작을 3-5회 반복다.
         등을 쭉 폈다가 활처럼 구부린 후, 똑바로 앉아서 고개를 꼿꼿이 세운다. 천천히 오른쪽 귀를 오른쪽 어깨에 대면서 고개를 돌려 앞으로 숙였다가 다시 든다. 이런 동작을 2-3회 반복다.
  • django . . . . 11 matches
          * 개발이 끝나고 실제로 서비스할 경우에는 apache + mod_python 으로 올려야 다.
          * html 이 있는 template 에 많은 것을 바라지 말자. 가능하면 view에서 데이터를 거의다 처리해서 template에 넘기는것이 좋다. template에서 받아온 데어터로 리스트와 맵 변수의 첨자(subscriber)로 사용하려고 했는데 안된다. 이러 경우에는 view에서 데이터를 아예 가공해서 넘기는 것이 좋다.
          * mysql 은 사용자를 생성하고 settings.py 파일을 설정다. 그리고 pysqlite와 다른 점은 DB 이름을 넣고 나서 mysql 들어가서 따로 DB를 만들어 줘야 다. 그리고 사용자도 만들어 줘야 다.
          * syncdb 해도 admin 에서 추가 것이 보이지 않을때는 runserver 거를 중지 시키고 다시 서버를 시작 하면 보인다.
         = apache2, mod_python을 이용 웹 서버 설정 =
          * [http://altlang.org/fest/EnglishStudyWithDjango 대안언어축제에서실습장고] : 실제로 웹 개발을 따라서 해본다.
          * [http://www.mercurytide.com/knowledge/white-papers/django-full-text-search] : Model 의 Object 에 대 함수들 사용방법
          * [http://www.b-list.org/weblog/2006/06/13/how-django-processes-request] : Template 에서의 변수 참조에 대 설명. 필수!!, 리스트나, 맵, 함수등에 접근하는 방법
  • html5/drag-and-drop . . . . 11 matches
          * HTML5에서는 드래그 & 드롭 API를 제공다.
          * 다음 세 가지의 이벤트를 적절히 처리해야 다.
          * 데이터를 꺼낼 때는 데이터 포맷 형식의 인수를 이용하여 getData()를 호출다.
          * 처리를 끝낸 뒤 이벤트가 다른 욧에 전파되는 것을 막아야 다.
         || dragenter ||드래그 중 마우스 커서가 위치 요소 ||드래그 조작이 요소 안의 범위에 들어옴 ||
         || dragover ||드래그 중 마우스 커서가 위치 요소 ||드래그 조작이 요소 안의 범위를 통과 중 ||
         || dragleave ||드래그 중 마우스 커서가 위치 요소 ||드래그 조작이 요소 안의 범위를 벗어남 ||
         || clearData(type) ||드래그 중인 데이터를 삭제다. ||
         || setData(type, data) ||드래그 & 드롭할 데이터를 저장다. ||
         || setDragImage(image, x, y) ||img 요소를 이용하여 드래그 중의 피드백을 지정다. ||
         || addElement(element) ||드래그 중 피드백 이미지에 추가할 요소를 지정다. ||
  • html5/others-api . . . . 11 matches
          * HTML5는 사용자의 편의를 위 다양 요소를 제공다.
          * 다양 컨텐츠를 캡션할수 있다.
          * 플러그인을 표현할때 사용다 동영상 음악등을 통합하여 표현할때 사용다.
          * embed엘리먼트에는 자식엘리먼트를 사용할 수 없다. 단일하게 embed만으로 종료
          * html5오면서 변화점은 이전에 비해 embed엘리먼트가 정식등록된점-그전까지는 object 엘리먼트로 대체하도록
          * time엘리먼트는 24시간기준의 시간을 표현하거나 그레고리안 달력을 표현 할 때 사용다.
          * 열고 닫을수 있는 목록표를 제공다.
          * iframe은 내부에 포함된 콘텐츠를 표시할때 사용다.
  • iPhoneProgramming/2012년프로젝트 . . . . 11 matches
          * 참가자 : 김태진, 고
          * 진행 방식 : 전반적인 이해까지는 같이 공부하다가, 비슷 영역의 프로그래밍을 각자하면서 App 제작.
          * 으잌ㅋㅋㅋㅋㅋ -[고종]
          * 어떻게 진행해 볼 것인가에 대 이야기
          * 이때까지 Objective-C를 얼마나 배웠는가, XCode에 대 이해, iPhoneProgramming에 대 이해를 공유해봄.
          * 결론은 둘 다 비슷했음. 예전에 내가 많이 해보았단것과, 최근에 종이가 이것 저것 만져보았다는 것.
          * 좋은 진행 방식을 찾지 못 채 쫑남.
          * 종이는 책에 있는걸 그대로 해보는 것으로 감을 잡고 있음
          * 하지만 나는 그 이전에 언어에 대 좀 더 상세 이해라던가, 정확히 어떻게 동작하는지를 알아야 자유로운 프로그래밍을 할 수 있다고 충돌중.
  • 간단한C언어문제 . . . . 11 matches
         영호가 내는 간단 C언어 문제.
          특정 컴파일러에 종속적인 프로그래밍은 좋지 않습니다. C90이라는 표준이 엄연히 존재하니까요. 특정 구현에 종속적인 프로그래밍을 다고 하더라도, 프로그램의 심장은 표준에 따라 프로그래밍 하는게 좋습니다.
         안옳다. f가 아니고 s여야다. -[정수민]
         안옳다. 최초의 0을 제외 숫자가오는 시점부터 프린트 되는거같다. -[정수민]
         옳다. ,의 앞은 비교문이 아니라 선행 수행으로 처리다. - [이영호]
         안옳다. 단순히 포인터만 존재다. -[정수민]
         옳지 않다. static은 C++의 private와 비슷하다. 파일이나 특정 로컬함수에서만 쓰인다는 것을 표현다. - [이영호]
         너무 쉬운 문제들이야 많이 생각하고 풀어봤잖아. 이쯤에선 기초에 치중 중간 난이도의 문제가 필요하지. --영호
         가독성에 대 내용을 따로 뽑아서 [가독성] 페이지에 뽑아두었습니다. 이에 대 의견 교환은 이제 새로 만들어진 페이지에서 했으면 합니다 - [임인택]
  • 권영기 . . . . 11 matches
          * [정모/2014.8.27] - OMS : 아두이노를 이용 화재정보 상황 수집
          * [EffectiveC++] 처럼 개인페이지 작성(이제 2달 남았는데 뭘 거지)
          * 대학원을 위 영어 점수 따기.
          * 졸업을 위 자 급수 따기.
          * 사실 개인 위키 페이지가 있었다는 사실을 까먹고 있었습니다. 이전에는 그래도 자주 보고 업데이트도 했었는데. 성적은 잘 받았고, 전공과 관련 없는 책도 많이 읽었네요. 작년에 몇 권 정도 책을 빌렸는지 보니까 전공 비전공 합쳐서 65권 빌렸네요. 그래도 39권 정도는 다 읽거나 어느정도 읽고 도움도 많이 받았어요. 읽은 것에 대 내용 정리가 좀 더 되있었으면 좋았을텐데. 그래도 나름 나쁘지 않네요. 10권 정도는 빌려놓고 안봤고, 16권은 빌린책을 다시 빌려서(...) 그리고 영어 점수랑 자 급수는 2015년으로 넘어갔습니다. - [권영기] 2015/01/05
          * 자 급수는 아직 해결하지 못했다.
         == 마디 ==
          * 학교 책은 원래 다섯권씩 풀로 빌리고 권 읽고 나머지 손도 안 댄 체 연체하는 게 재미! - [김수경]
          * 심심해서 개인 페이지 갱신하다가 어떤 OMS 했었는지 찾아봤는데 주제가 결같네.. 그래도 1학년 때에 비하면 많이 늘었겠...지? - [권영기]
  • 권영기/web crawler . . . . 11 matches
         Python을 이용해서 Web Crawler를 제작하면서 Python의 사용법을 익히고, 원하는 웹 페이지를 긁기 위 Web Crawler를 제작다. (네이버웹툰(돌아온 럭키짱, 신의 탑...), 네이버 캐스트, 그 외의 각종 웹페이지..)
         == 필요 문서 ==
          r - 읽기 권
          w - 쓰기 권
          x - 실행 권
         디렉토리 소유자 권 그룹 권 전체 권
          * prepare는 앞의 4개 소스를 적절히 조합 python 파일
          * 로그인이 가능 페이지를 긁고 싶은데 방법을 모르겠다.
  • 금고/하기웅 . . . . 11 matches
         대충은 나온다만... 사이트가서 보니 삼분법이 빠르니.. 이분법이 최적이란걸 증명을 못다느니 그러네..ㅋㅋ
         너무 쉽게 나오는데 잘못 건가~??
         마지막 개는 그렇게 해서 좁혀진 공간에서 제일 낮은데 부터 하나하나 떨어뜨려보면 된다고 생각했는데.
         7일때, 7이라고 하면 4에서 번 6에서 번 7에서 번이면 3번에 찾아지는데.
         8일때, 8이라고 하면 4에서 번 6에서 번 7에서 번 8에서 번 4번에 찾아진다.
         8은 2^3이고 지수에 1을 더 4번이 최소횟수가 된다.
  • 날다람쥐 6월9일 . . . . 11 matches
          int *ip; 도 가능 표현이다.(이게 약간 더 옳은 표현.)
         은 int a[5] = {3, 4, 2, 1, 8};을 선언 형태이다.
         와 같이 배열의 번지수를 적어주어야 다는건데
         라고 다면 ap에는 a의 첫 번째 변수(a[0])의 주소가 들어가게 된다.
         = 포인터를 이용 간단 프로그램 =
         이름과 반을 3개 입력받고 포인터를 이용해서 edit라는 함수 안에서 2번째 입력받은 사람을 수정 후 다시 출력하기. 예) 유정석 1
         포인터를 이용 간단 프로그램 :
          printf("\n두번째 입력 이름과 숫자를 바꿉니다. : ");
          NumC = &Num2;//Num2는 포인터가 아니므로 '&' 을 앞에 붙여야 다.
  • 데블스캠프2006/월요일후기 . . . . 11 matches
         == 참여 사람 ==
         '''어떠 형식이든 느낀데로 자유롭게 써주세요. 좋았던점, 기억나는 것 등등 '''
         개선이 필요 부분은 푸짐 야식..^^; 기억나는 점은 선배님들의 열강~~~!!!
         '''이차형''' : 평상시에도 이렇게 공부적이 없는거 같다.. 과제나 벼락치기를 제외하고 해뜨는거 보면서 공부적은.. 흠.. 첫날이라 많이 피곤하기도 하지만! 힘내서 마지막날까지~! 홧팅!! ㅋㅋ
         사실 두문제는 못했는데 넘어갔어요~
         남상협 : 피곤하다. -_-;; 그래도 보람찬 하루.. 이렇게 꺼번에 여러가지를 해줄 기회가 드문듯.. 맨날 제로페이지 못 나오다가 이제야 좀 뭔가 느낌. 다들 마지막 날까지 힘내서 많은것을 얻어가길 바래~
         그래도 다들 잘따라 와주고 부족 저에 세미나 들어주신 새내기 고맙궁.ㅋ
  • 상협/Diary/9월 . . . . 11 matches
          * 일 없다. -_-;
          * 장점 : 만약 가기로 하면 맘은 편하다. 보통 사람들이 택하는 길이기 때문에 심리적으로 부담이 없다. 군대에서 배울게 있다고 다. 다행히 기숙사에서 그런거 좀 배워서 그런거 배우는거는 군대직접 가서 안배워도 될거 같다.
          * 장점 : 군대에 갔었다면 머리가 굳었을텐데 그 동안 하고싶은 공부 다하고 자기 실력을 쌓는다. 석사 병특 갈려고 공부 열나 열심히 하게 된다. 대학원 갈려면 학점이 좋아야 하니깐. 또 TOEFL도 잘 나와야 하니깐 공부 많이 할거 같다.
          * 단점 : 국내 대학원 떨어지면 군대 가야 다. -_-; 심리적인 부담감이 만빵이다. 또 석사로 유학도 못간다. 유학 가고 싶었는데. 쩝.-_-;
          * 현재로서는 군대 가는것은 평범 해결책이고 부담없는 방법인거 같다. 군대 가서 굴르고 하는거는 안해봐서 뭐라고 말은 못해도 그렇게 거부감이 들지는 않는다. 기숙사랑 친근 분위기일거 같다. -_-; 다만 안그래도 굳은 머리가 완전히 굳어 버려서 창조적인 사고가 마비될꺼 같은게 좀 걸린다. 다른 해결책들은 좀 스릴이 있는거 같다. 노력도 많이 해야 할거 같다. 어차피 번사는 인생 스릴있게 갈때까지 가볼까나..쩝..
          * 너무 심각하게 생각하지 말아야 겠다. 뭐 최악의 경우라고 해봤자 나이 엄청 먹어서 군대가서 젊은 얘들테 욕먹는건데, 그정도를 못버티면 내 자질이 부족거니깐.
          * 하는일 없이 지나갔다.. 허므디.. -_-;;
          * 기숙사 야유회 끝났고, 친구 만나고 별로 거 없다. -_-;
  • 새싹교실/2011/앞반뒷반그리고App반 . . . . 11 matches
         === 일단 뭔가 멋지게 마디 ===
         초반부는 쉬우니, 가능 스피디하게 전진합시다.
         ~~여행의 연장으로, 위키에 작성 글을 가지고 맞춤법 교정도 진행합니다.~~
         * 첫 새싹수업이었어요! 일단은 저랑 성호가 같이했었구요, 이때까지 봉봉교수님 시간에했던 전반과 C의 기원(?)을 공부했어요. 어셈에 대 언급도 나와서 뭐 이런 기계어를 배워야하나.. 라는 생각도 들었구요 =_= 아무튼 현이형이 쉽다기보다는 재밌게 설명해주셔서 좋았구요~ 새싹이 좀 더 정기적으로... 되지 못해서 늦게 시작건 좀 아쉬웠지요. -[김태진]
          * 옆에 낑겨서 재밌는 거 많이 배워갑니다 ㄳㄳ 근데 assert가 어떻게 쓰는 건지 참 궁금하네...- [고종]
          * 아아 기능은 알음. 근데 쓸줄을 몰라. - [고종]
          * 뭐하는 짓인가 싶지만 새싹교실 끝날때 주셨던 숫자 십자가 45도 돌리기 짜는데 성공했습니다.[고종/십자가돌리기] - [고종]
          * 시험기간 직전에 질문시간이었어요. ~~저밖에 오지 않았지만~~ 이날 새롭게 배운것은 (수업시간에 필요없다고 넘긴것이라 필요없었음에도 잔다고 필요없다는 사실을 몰랏음) redirection이었는데요! 뭐냐니 input과 output을 바로 프로그램에서 받고 띄우는 것이 아니라 다른 문서에서 불러오거나 집어넣는 것이었어요. 지금까지는 인풋은 무조건 scanf로 직접 넣었는데, 그것과는 다른것!!이었죠. 사실 방법은 지금 잘 기억나지를 않네요 -_- 아무튼 이런 신기걸 배웠습니다. -[김태진]
  • 아인슈타인 . . . . 11 matches
         구글에서 아인슈타인 생일 기념 로고를 만든걸 뒤늦게 봤다. 아인슈타인의 생일이 3월14일 이었구나...E=mc² 이 대체 뭘까 다시 궁금해지기 시작다...
         그는 물리쪽은 천재에 가까운 소릴 들었지만, 어학분야에 있어선 늘 낙제자였다. 하지만, 그는 그 당시에 있어서는 가장 뛰어난 과학교육을 받았다고 다. 그런 교육이 오늘날의 대천재 아인슈타인을 만든 것이 아닐까?
         현대의 상대성 이론등 그의 업적을 아는 사람들은 그가 무척이나 복잡 사람을 꺼라 생각할 것이다. 하지만 그는 세수하는 비누와 면도하는 비누의 구분을 귀찮아 할만큼 단순함을 좋아했다.
         아인슈타인은 검소 생활을 하였는데, 이는 그가 자신의 죽음뒤에 자신의 무덤조차 원하지 않았던 것과 양말을 신지 않고 다닌데서 볼수 있다. 그가 양말을 신고 다니지 않은 이유는 양말에 구멍이 생기면 누군가가 그것을 메워야 하는 것이 싫어서라고 했다.
         아인슈타인은 그의 나이 76세에 세상을 떠났다. 그가 정말로 원하던 자유였을 지도 모르겠다. 사인은 심장동맥 파열이었다. 그의 뇌는 포르말린이 담긴병속에 보관되어 있다고 다. 그의 눈은 몇년전에 경매를 통해 팔렸다고 하는데, 보석과도 같은 아름다운 눈이었다고 다. (from http://med.hallym.ac.kr/~sohnkm/ein.html)
         ● 아인슈타인(국브리태니커)
         그는 자신이 '사회 정의와 사회적 책임이라는 열정적 감각'을 갖고 있음을 인정했다. 아인슈타인은 그의 명성 덕택으로 평화주의·자유주의·시오니즘과 같은 대의를 지지하는 데 영향력이 있었다. 그러나 아이러니컬하게도 이러 이상주의적인 사람이 물질 입자가 엄청난 양의 에너지로 바뀔 수 있다는 에너지-질량 방정식 가설로 지금까지 알려진 가장 파괴적인 무기인 원자폭탄과 수소폭탄의 창조를 증명했다.
         아인슈타인은 국가주의를 공격했고 평화주의 사상을 장려했다. 베를린에서 반유대주의 물결이 거세어지자, 아인슈타인은 '물리학에서의 볼셰비키주의자' 범주로 구분되었고, 그가 시오니즘 운동을 대중적으로 지지하기 시작하자 우익집단들의 그에 대 격노가 거세졌다. 아인슈타인은 베를린에서 적대를 받았으나 유럽의 다른 도시에서 그에게 요청 것 때문에 상대성이론을 강의하러 유럽의 여러 도시들을 널리 다녔는데, 보통 3등열차를 타고다녔고 늘 바이올린을 지니고 있었다. (from http://preview.britannica.co.kr/spotlights/nobel/list/B14a2262b.html)
         spell 이 맞는지는 모르겠지만.. 만약에 아인슈타인의 이름이 Ein Stein 이 맞다면.. a stone 이로군요...-_-a 약간은 아이러니..ㅋㅋ - [임인택]
  • 여섯색깔모자 . . . . 11 matches
          * Publisher : 언출판사
          어떻게 하면 생각을 잘 모을 수 있을까? 어떻게 하면 신속 회의를 할 수 있을까? 라는 고민에 내려놓은 제 결론이 얼마나 부족가를 일깨워 주었습니다. 두께가 그리 두껍지 않으니, 가볍게 들고 다니면서 볼수 있습니다. --NeoCoin
         Green - 초록은 풀, 채소의 색으로 풍성하고 풍부 성장을 나타냅니다. 따라서 녹색 모자는 창조성과 새로운 아이디어를 의미합니다.
         수민형에게 이야기 듣고 빌리게 된 책. 예전과 다르게 요즘은 이런책에도 손이 가지더 군요. 이것과 비슷 다른 책들은 없나요?? '토론'이라는 키워드로 접근하면 무리가 없을까요?? - [이승]
         평소에 의견을 교환 하다가 보면 어느새 자신의 자존심을 지키려는 논쟁 으로 변하게 되는 경우가 많다. 이 논쟁이란게 시간은 시간대로 잡아 먹고, 각자에게 가지 생각에만 편향되게 하고(자신이 주장하는 의견), 그 편향된 생각을 뒷받침 하고자 하는 생각들만 하게 만드는 아주 좋지 못 결과에 이르게 되는 경우가 많다. 시간은 시간대로 엄청 잡아 먹고... 이에 대해서 여섯 색깔 모자의 방법은 굉장히 괜찮을거 같다. 나중에 함 써먹어 봐야 겠다. 인상 깊은 부분은 회의를 통해서 지도를 만들어 나간후 나중에 선택다는 내용이다. 보통 회의가 흐르기 쉬운 방향은 각자 주장을 하고 그에 뒷받침 되는것을 말하는 식인데, 이것보다 회의를 통해서 같이 머리를 맞대서 지도를 만든후 나중에 그 지도를 보고 같이 올바른 길로 가는 이책의 방식이 여러사람의 지혜를 모을수 있는 더 좋은 방법이라고 생각다. 이 책도 PowerReading 처럼 잘 활용 해보느냐 해보지 않느냐에 따라서 엄청난 가치를 자신에게 줄 수 도 있고, 아무런 가치도 주지 않을 수 있다고 생각다. - [상협]
  • 영어와친해지기 . . . . 11 matches
         새내기, 2학년, 3학년, 그리고 원서를 비교적 많이 접해본 4학년들 까지도 영어에 대 부담감을 많이 가지고 있는것 같습니다. 무조건 영어를 공부해야 하는건 아니지만, 개발자로 성장하기 위해서는 영문 레퍼런스나 논문을 읽는 정도에 대 부담감은 적게 갖고 있어야 된다고 생각합니다.
         하지만 현실은 아주 우울 것 같습니다(이에대 예가 될런지는 모르겠습니다만, DevilsCamp에서 제가 발표할 내용의 슬라이드를 어설픈 영어와 글 버전으로 제작해 놓고 영문 버전만을 발표전에 새내기와 2학년들에게 보여준 채, 발표자료가 어떤 것 같냐고 물어봤더니, 질문을 받은 학생들 모두가 상당히 부담스럽다고 대답하였습니다). 이는 아마 우리나라의 잘못된 영어교육 때문이 아닌가 생각합니다(잘못된 것은 비단 영어 뿐만이 아니지만). 저는 영어를 잘하는것은 아닙니다만 영어에 대 부담감 같은 것들은 그리 크게 느끼지 않고 있습니다. 이점을 제가 생각하는 제 몇 안되는 장점이라고 생각하고 있는데... 사람들이 엉어에 대 부담감을 덜 수 있는 좋은 방법이 없을까요? 여러분의 생각을 듣고 싶습니다.
         이에대 활발 의견을 주고받다보면, 오고간 내용이 '''어떤 새로운 것을 대하는 자세'''에 대 좋은 지침이 될 수 있을 것 같습니다.
         1. 평소에 가까이 다.
  • 위키를새로시작하자 . . . . 11 matches
         그래서 ZeroWiki 를 막아버리고, Wiki를 새로 시작하면서, 함께 예절과 규칙을 만들어 나가면서 위갭?다시 시작하는것이 어떨까 싶습니다. 현 ZeroWiki는 읽기만 가능하고, 새로운 위키는 읽기, 쓰기, 삭제(로그인 사용자만) 모두를 열어둘 생각입니다. 현 ZeroWiki 상의 예절이나, 규칙은 필요에 따라 재사용, 새롭게 정의 하려고 합니다.
         '''OneWiki를 새로 시작해서 1년간 실험을 하였습니다. 허나, ZeroWiki 와 그리 다르지 않다는 경험을 얻었습니다. 그래서 OneWiki 와 ZeroWiki를 통합하였습니다. 통합된 페이지중 DuplicatedPage 는 아직 완전 통합이 이루어 지지 않은 것이니, 해당 페이지를 고쳐주세요.'''
          NeoCoin : 방법은, 현재 위키를 읽기 전용으로, 새로운 위키를 읽기, 쓰기, 지우기 다 열고 새로운 문화, 예절이 만들어 지는 모습을 경험하고 싶습니다. 읽기 전용의 위키의 내용은 전이되거나, 그대로 남거나, NoSmoke:SisterWiki (차후 연결) 하거나 하고 싶습니다. 더 나아가, 모든것에 대 재정의와 다시금 생각해 보기를 해보았으면 합니다.
          모두가 멋지게 쓸수 있는 위키보다. 현재의 위키가 존재함으로서, 새로운 신입회원들이나 02 학번 정도의 사람들은 위키의 페이지가 처음 생기고, 예절과 규칙이 생기는 그러 경험들을 본의아니게 박탈 당해 버렸다는 생각이 들었습니다. 그런 경험을 돌려주고 싶습니다. --NeoCoin
          [Leonardong] : 기회군요. 원래는 번 밖에 오지 않는 기회...
          상용 서비스가 아니기에 언제든지 합의만 이끌어 낸다면 가능하지요. 다만 이런 생각을 하기가 힘든것 같습니다. 이러 시도는 Open Source 나, 상용 프로젝트에서 일정 버전 이후에 완전 새로 작성하는것에 비견하지 않을까요? --NeoCoin
         저의 경험으로 볼 때, 단지 새로 시작하는 것이 "새로운 것"을 가져다 주지는 않습니다. 동시에 두개의 위키를 돌리든가 하고, 새 위키에는 새로움의 어포던스(예컨대 비쥬얼 등)를 제공하도록 합니다. 그리고 새 위키에는 대다수는 읽을 수 있고, 몇 명만 쓸 수 있게 합니다. 그리고 그들이 규칙을 만들어 나갑니다. 우선은 규칙에 대 규칙(메타규칙)을 만듭니다. 예컨대 "전체 규칙 수는 9개를 넘지 않는다"든지... 그리고 가능하면 생성적인(generative) 환경을 만들려고 합니다 -- 야구선수가 공을 받는 방법을 미적분학으로 풀어내기보다, 공이 보이는 각도를 일정하게 유지하려고 다든지 하는 휴리스틱적인 규칙으로 접근합니다. 필요없는 것은 제거하고 꼭 필요 것만 남깁니다. 제거해보고 해보고, 붙여보고 해봅니다. 예를 들어, 현 위키에서 들여쓰기가 불가능하다면 어떤 세계가 펼쳐질까요?
          기존의 정보들을 옮겨놓자는 의미가 아니었습니다. 새로 만들어 지는 페이지들이 그쪽으로 가고 있는 것이지요. 지금 그렇게 되고 있고, 어쩌면 프로젝트를 위 특화된 위키가 될지도 모를것 같군요.--NeoCoin
         이런 의견도 있습니다. ''최소 지금과 같이 늘어나고 있는 프로젝트 관련 페이지를 분리하자''는 것입니다. --NeoCoin
  • 이승한/자전거여행 . . . . 11 matches
          준비가 안된 아마추어가 하루 60-80 킬로미터를 간다고 다.
          루트나 일정은 상현이에게 일임다.
          상현이에게 일임다.
          2 : 위와 비슷하게..월드컵경기장을 지나 강 시민공원을 타고 내려가서...동작대교를 타고..사당까지 가서..과천으로 간다..
          마을회관, 교회등에서 얻어자는 것을 기본으로 하되 3일 정도에 번씩 찜질방, 민박등을 거친다.
          먹을것은 부피가 크니 현지 조달다.
          ==== 승 ====
          침낭 (승 상현), 약품류(승원 상현)
          비옷 (승), 비니루(21일 아침), 부탄가스, 비상약(상현, 승원), 건식(미니스니커즈), 모기향, 물파스, 압박붕대, 고무뽄드, 빵꾸수리세트 (본드, 빵구때우는 킷), 만능공구 (6각 공구) (승이가 구해보고 안돼면 사야지 뭐), 자전거 바퀴 흙받이, 라이트, 후미안전등
         관련 페이지 [이승/자전거여행/완료]
  • 정모/2005.3.7 . . . . 11 matches
         [강희경], [이승], [윤성만]이 담당.
          이승이 일단 작성하여 검사를 받아 수정 후 업로드.
          검사인단은 Idea를 적는다, 꼭 넣었으면 것과 뺐으면 것.
         누구나 환영.열정과 열의.ZP를 빛내줄 회원 환영.오랜 전통.편안.컴퓨터에 대 공부.
         학과과정 외의.의미있는 시간.선후배간의 관계.혼자하기 힘든->강 의지.교제 이외의 노하우.
         C의 집중을 피해서 다양 주제를 다뤄보자.
          * 다양 컴퓨터
         스몰토크: 휘동, [이승]
         회장 이승은 책장 대용으로 쓸 사물함을 빠른 시일내에 유치.
  • 정모/2013.6.10 . . . . 11 matches
          * [고종] 학우
          * [Clean Code]에서 수혜를 전례가 있으니, 신청해 주세요!
          * 올해 들어와서 작년보다 학기 수혜액이 줄었다고 합니다.
          * 방학 전후 즈음에 교수님께서 액수와 자세 사항을 정리해서 통보해 주신다고 합니다.
          * 장학금 형태로 혜택을 주기로 했습니다. 초반에는 나름대로 잘 되다가, 지금은 잘 안 돌아가고 있는 것 같습니다. 제가 기대 형태로 돌아가지는 않은 것 같습니다. 그래서 다음학기(??)부터는 다른 접근방식을 연구해 보려고 합니다.
          관리하는 사람들이 체계적으로 다고 들, 비는 시간은 분명히 존재합니다. ZP의 다른 회원들이 가끔씩은 확인해 주었으면 합니다.
          * 이번 주 결론 : 코멘트를 코드로 나타낼 수 있도록 하면 됩니다. 코멘트를 최대 줄입시다!
          * [김현빈] 학우의 첫 참여-> 포토샵과 비슷 느낌, 신기했습니다.
          * 위키가 길어 보이는 건 실제로 내용이 많았기 때문에 어쩔 수 없는 거 아닐까. 오히려 많은 내용에 비해서는 잘 정리 것 같음 - [서민관]
  • 제로Wiki . . . . 11 matches
          * 게이트웨이 서버에 추가 서버를 등록만 시키면 유기적으로 다른 서버들과 연결이 된다.(마치 하나의 컴퓨터 처럼 보인다), 각 개인 위키 혹은 카페 위키를 생성할때에 자신의 원하는 서버를 지정하면 그곳에 그 위키가 생성된다. 그 위키에 대 페이지 데이터들은 모두 그 서버에 저장이 된다. 사용자의 입장에서 보았을때에는 하나의 웹사이트처럼 보인다.
          * 개략적 설명 : 각 페이지는 자신의 뇌의 일부분으로 생각 할 수 있다. 각 페이지는 다른 페이지들과 종속 및 포함 관계를 가질 수 있다.(페이지 링크를 통해서 가능함) 그리고 이 페이지를 다른 여러 사람들과 공유할 수 있다. 기존 위키 처럼 하나의 커뮤니티에서의 공유가 아니라 다양 커뮤니티 사이트들이 서로 서로 페이지를 공유 할 수 있게 되고, 그 공유 페이지가 업데이트 되었을 경우 현재 공유중인 모든 커뮤니티에 그것이 반영된다.(수정된글 목록에 떠서 사람들에게 환기 시킨다)
          * 하는 방법 : 예를 들어서 제로페이지 카페에 자신의 위키에 있는 페이지를 올리고 싶을 경우 먼저 제로페이지 카페에서 화면 오른쪽 상단의 가입하기 버튼을 눌러서 가입후, 올리기를 원하는 페이지를 고칠때 카페 선택을 제로페이지로 하고 나서 저장하면 그후로 계속 공유 관계가 유지된다.
          * 자신이 어떤 카페에서든지 새로 만든 페이지는 자신의 개인 위키에 그글이 자동으로 등록 된다. 그글에 대 반응을 자신의 위키에서 볼 수 있고, 자신이 어떤 카페에 글을 썼는지 기억 못하는 문제도 해결해 준다.
          * 자신이 페이지 만드는 데에 참여하고 싶은 페이지는 그 페이지가 있는 카페에 가서 그 페이지를 저장할때 카페에 자신의 개인위키를 지정함으로써 자신의 개인 위키에 그 페이지를 등록 시킨다. 그러면 그 페이지와 자신의 개인 위키가 공유 관계를 가지게 다.(공유 관계 : 공유 중인 페이지가 업데이트(수정) 될 경우 공유 관계에 있는 모든 위키에 그것이 반영된다.)
          * 군대 전우 카페 : 이 카페도 마찬가지이다. 같은 부대라도 자신과 다른 시기에 근무 사람이 태반이다. 이때 분류어 설정을 통해서 자신이 아는 사람들이 쓴 글들만 볼 수 있다.
          * 프로그래밍 카페 : 규모가 커질 경우 너무 다양 주제 대 글들이 올라 올 수 있다. 이때 자신이 관심 있는 언어를 분류어로 설정하여 그 언어에 대 글들만 볼 수 있다.
          * 저렇게 할 필요 없이 각 분류어별로 게시판을 만들면 되지 않냐고 생각할 수 도 있다. 하지만!!! 그렇게 각각의 분류 별로 게시판을 만들경우 그 게시판의 글들을 확인 하기 위해서 각각의 게시판에 들어 가야 다. 그리고 군대 전우 카페 같은 경우 각 회원마다 군생활 시기가 겹치는 사람도 있고 겹치지 않는 사람도 있는등 각 회원에 따른 맞춤식 정보 제공이 필요하다. 이럴때 분류어 기능이 유용하다.
          * 문서 수정 창에서 비공개 라디오 버튼을 클릭하면 문서를 생성 사람만이 볼수 있다. 바뀐글에도 그 페이지는 보이지 않게 된다. 단 그 주인이 로그인 하였을때만 보인다.
  • 졸업논문/서론 . . . . 11 matches
         이 가운데 경량 프로그래밍 모델을 적용 웹 기술이 계속 발전해가고 있다. 웹2.0 사이트는 Adobe Flash/Flex, CSS, 의미를 지닌 XHTML markup과 Microformats의 사용, RSS/Atom를 사용 데이터 수집, 정확하고 의미있는 URLs, 블로그 출판들 같은 전형적인 기술을 포함다.[2]
         이러 기술과 더불어 기민하게 웹 어플리케이션을 만들 수 있는 프레임워크도 점차 많아지고 있다. 대표적으로 Ruby on Rails(RoR)는 블로그 사이트를 15분만에 만들어내는 것으로 큰 관심을 모았다.[3] RoR과 같은 웹 어플리케이션 프레임워크는 모델, 뷰, 컨들롤러 구조에서 모델을 데이터베이스와 손쉽게 연동할 수 있어 인상 깊다.
         이러 맥락에서 python언어로 만든 django라는 프레임워크가 존재다. RoR과 마찬가지로 django를 이용하면 기민하게 동적으로 웹 사이트를 만들 수 있다.[4] Django에서는 모델, 뷰, 템플릿, 세팅 등을 이용하여 웹 사이트를 구축할 수 있는 특징과 함께, 관리자 인터페이스를 자동으로 제공해주는 장점을 가진다. 또 모델과 데이터베이스를 자동으로 동기화 해주고, 데이터를 삽입, 변경, 삭제할 때 웹 개발자가 직접 데이터베이스에 질의를 던지지 않아도 되도록 데이터베이스 접근을 추상화하였다.
         본 논문에서는 django의 사례를 바탕으로 기민 웹 어플리케이션 프레임워크가 데이터베이스를 어떻게 추상화했는지 살펴본다. 또 django가 어떻게 추가적으로 데이터베이스를 사용하도록 API를 지원하는지 살펴본다. 마지막으로 django에서 지원하지 못하는 기능을 살펴보고, 미비 부분을 개선할 방안을 제시다.
  • 창섭/BitmapMasking . . . . 11 matches
          * 우리가 비트맵을 불러다 쓸때 늘 사각형 모양으로 불러다 쓴다. 하지만 불러다 쓰고 싶은 모양이 사각형이 아니지만 본의 아니게 배경색까지 따라 찍힌다. 이 때 사용다.
          * 래스터 연산을 이용다. 디지털 공학 시간에 배우는 OR, AND, XOR 등을 비트맵에서도 적용할 수 있다. 여기서는 XOR 은 쓰지 않아도 된다.
         이렇게 된다. 다시 본론으로 돌아가서...우리가 하고 싶은 일은 그림의 배경을 잘라 내고 원하는 모양만을 밑그림에 붙이는 것이다. 따라서 우리는 배경은 무시되고 원하는 부분의 밑그림이 무시되어야 다.[[BR]]
         원본 그림에 흰색과 검은 색으로 그려진 그림(마스크)을 밑그림에 잘 연산시켜 순서를 잘 맞춰 그리면 원하는 그림이 나오는 것이다. 마스크는 밑의 두개중 아무거나 사용다.
          * 따라서 무시될 부분은 약하고 보일 부분은 강해지도록 배경색을 정하고 마스크를 정다.
          * 우리는 그림이 이기고~! 그림 외의 부분은 밑그림이 이겨야 다~!
          1. 그 위에 배경자리는 밑그림이 이기고 그림자리는 그림이 이기도록.. 마스크의 색깔을 정다.
          1. 마스크를 '''SRCAND''' 연산 다.
          1. 그림을 '''SRCPAINT''' 연산 다.
          1. 마스크를 '''SRCPAINT''' 연산 다.
          1. 그림을 '''SRCAND''' 연산 다.
  • 프로그래밍십계명 . . . . 11 matches
         도스시절 글라이브러리인 라 프로를 만드신 임인건님께서 쓰신 글입니다.
          *오늘 필요 없는 정보는 내일 필요하리라. 가장 가치 있고도 저렴 지식은 책 속에 있느니라. 서점과 동료의 책꽂이에 무엇이 꽂혀 있는지 때때로 살피어라. 무심코 흘렸던 종이 장이 너의 근심을 풀어 주었으리라. 설명서는 충분히, 꼼꼼히 읽을지어다. 모든 의문은 설명서를 안 보는 데서 생기니라. 그렇더라도 모두 다 읽을 필요는 없느니라.
          *5분 후에 정전이 되고 내일 너의 하드가 맛이 가리라. 그러하니 너의 소중 소스 코드는 정기적으로 여러 군데에 단계별로 백업해 두어라.
          *정수가 절대로 그 계를 넘지 않으리라 가정하는 것은 어리석음이라. 127, -128, 255, 32767, -32768, 65535, 이 숫자들을 너의 골수에 새기어라. 0.0은 0이 아니니 실수는 원래부터 결코 정밀하지 않느니라. 부호 없는 것과 있는 것을 어울리거나 정수끼리 나눌 때에는 늘 조심하여라.
          *너의 컴퓨터는 1보다는 0을 좋아 하니라. 배열의 첨자가 그 범위를 넘지 않을지 손 댈 때마다 따져 보아라. 수식에 1을 더하거나 뺄 때에는 늘 긴장하라. 너의 프로그램은 단지 번 덜해서 틀리고 번 더해서 다운되느니라.
         8. 번의 수정과 재컴파일만으로 연관된 모든 것이 저절로, 강제로 바뀌도록 할지어다.
          *어떠 것을 수정했을 때에 연관된 것이 따라서 변하지 않는다면 그것이 곧 벌레이니라. 컴파일러로 하여금 매개 변수 리스트를 완전하게 검사하도록 하고, 언젠가 손대야 하거나 따라서 변해야 하는 수치는 전부 매크로로 치환하며, 형 정의를 적극 활용하여라.
          *가장 완벽 프로그램일수록 가장 완벽하게 숨은 벌레가 있느니라. 네가 이 세상 최고의 프로그래머라고 떠들며 자만할 때, 옆집 곳간에서는 훨씬 더 뛰어난 것을 묵묵히 만들고 있느니라. 아무렴 프로그래밍은 혼자 잘나서 할 게 아니니, 너로 인해 다른 사람들도 더불어 잘 되면 그얼마나 좋은 것이냐.
  • 허아영/C코딩연습 . . . . 11 matches
          변의 패턴수와 패턴모양을 입력받아 마름모를 출력하는******
         두번째는 첫번째보다는 시간이 별로 안걸렸어요. 그만큼 조잡(?)가요?ㅡㅡ
         *패턴모양만 입력받아 변에 패턴 5개가 되는 마름모를 출력하는*
         정렬하는 여러방법중에 가장 쓸만 것 (?) 이 뭘까요 aa
         화면 출력제어에 대 연습
         • 2 ∼ 9 까지의 구구단을 화면에 출력하는 프로그램을 작성하시오.
         포인터 처리에 대 연습
         === 입력받은 문자의 2진수 중 0의 갯수 ===
         /*문자를 입력받아 문자의 비트중 0의 갯수*/
          printf("input 개의 문자 ==>");
          - 훗... 내 장학금 받아서 얻어먹을 생각을 하다니.. 그러다 굶어 죽으려면 어떻하려고..;; 그나저나 왠지 위키가 우리 낙서장인 듯 느낌이..음... 좋은 현상인지 좋지않은 현상인지..;; 뭐.. 어쨋든 열심히 하라고.^^ - [조현태]
  • 2008리눅스스터디 . . . . 10 matches
         || [이승] || 04 ||
         || 날짜 || 진행 것(세미나 진행자) || 참석자 ||
         || 6/26(목) || 제로페이지 서버 설치 및 초기세팅 (세미나 진행하지 않음) || 승, [지원], [홍기], 윤석 ||
         || 7/1(화) || 기본 명령어([홍기]), 폴더(윤석) || 승, [지원], [홍기], 윤석, 혁수 + 영동, 형진, 수경 ||
         || 7/7(월) || 퍼미션([지원]), 쉘 스크립트(승) || 승, [지원], [홍기], 윤석, 혁수 ||
         || 7/14(월) || 시스템 프로세스 관리(혁수), 부트 프로세스(윤석) || 승, [지원], [홍기], 윤석, 혁수 ||
         || 8/4(월) || 백업 및 압축(승), 리눅스 보안([지원]) || 승, [지원], [홍기], 윤석, 혁수 ||
         || 8/11(월) || FTP서비스(혁수), Apache웹서버([지원]) || 승, [지원], [홍기], 혁수 ||
  • 5인용C++스터디/더블버퍼링 . . . . 10 matches
         여기서는 더블 버퍼링의 원리에 대해서만 이해하도록 하고 실무를 할 때 더블 버퍼링을 쓰면 좋겠다는 생각이 들면 적극적으로 활용해 보기 바란다. 다음 예제는 더블 버퍼링을 활용 갱 화면이다. 갱(Gang) 화면이란 프로그램 제작자를 소개하는 용도를 가지며 일반적으로 숨겨져 있지만 제작자 자신을 표현다는 면에 있어 다소 멋을 좀 부리는 경향이 있다. 이 예제는 배경 비트맵을 깔고 그 위에서 제작자 목록을 위로 스크롤하는 예를 보여준다.
         "개발자 : 김 상형\r\n사진 모델 : 김 슬\r\n협찬 : 박 미영";
         실행 결과는 다음과 같다. 움직이는 화면이므로 직접 실행해 봐야 결과를 볼 수 있다. 예쁜 아기 그림이 있고 아래에서 문자열이 천천히 위로 올라오는 동작을 다.
         문자열은 바깥쪽에 회색 테두리를 가지도록 했으며 보기 편하도록 큼직 폰트를 사용했다. 비트맵 위에서 글자가 움직이지만 깜박임은 전혀 없으며 아주 부드럽게 스크롤되는 것을 볼 수 있다. 만약 이런 화면을 더블 버퍼링으로 처리하지 않는다면 배경 비트맵과 그림이 계속 반복적으로 화면에 나타나기 때문에 깜박임이 심해지고 갱 화면으로서 가치가 떨어질 것이다.
         좀 더 코드를 작성다면 글자들이 오른쪽에서 왼쪽으로 줄씩 날라 오도록 할 수도 있고 점점 확대되는 모양으로 만들 수도 있다. 또는 약간의 애니메이션을 첨가다거나 글자의 색상을 조작하여 Fade In, Fade Out 등의 장면 전환 효과를 낼 수도 있다. 아뭏든 더블 버퍼링을 쓰기만 하면 어떠 모양도 깔끔하게 화면으로 구현할 수 있으므로 기발 상상력을 발휘해 볼만하다.
  • ACE . . . . 10 matches
         우리가 많이 사용하는 버클리 소켓 API 를 사용다 하더라도, 이기종간 프로그래밍을 하기는 어렵다. 이는 플랫폼간 이식성이 결여되어있고 약간의 차이가 있기 때문에 이식성 높고 안정적인 프로그래밍을 하는데 많은 어려움을 주기 때문이다. 또 이식에 성공다 하더라도 이전의 성능을 완전하게 보장받을 수도 없다. 또 이식을 고려하지 않고 단순하게 소켓 API 만을 사용다하더라도, 개발자가 조심하지 않는 이상 소켓 API 는 개발중에 문제점을 일으킬 확률이 높다. 이는 소켓 API 가 개발중에 일어날수 있는 문제점에 대 방지를 보장하지 않기 때문이다. 이러 문제점을 해결하기 위해 수년간 개발되어온 프레임워크가 [ACE] 이다. [임인택]은 간단 서버를 작성할때 조차도 [Java]를 많이 선호하였는데, [ACE] 를 알게되면서는 [ACE] 로 서버를 작성해 보고 싶다는 생각을 하였다.
          서도 나와있기는 데 번역이 깔끔하지 않다. 곽용재씨가 감수했다고 해서 약간 믿었는데. 하지만 원서보는것 보단 빠르게 읽을 수 있을듯..
  • AI오목컨테스트2005 . . . . 10 matches
          * 각자 오목 AI를 짜서 대결 하는 이벤트.. 이번에도 우승하는 사람에게 책 권 주겠음.(물론 난 빼고.)
          * [http://zerowiki.dnip.net/~undinekr/OmokBase.zip] - 현태의 AI + 네트워크 가능 오목 프레임 워크
         Upload:Omok.exe - 파이썬 AI와 대결하기 위해 소스를 약간 수정 오목 실행파일
          * 1학년에게는 좀 무리였나 보다. 왠만하면 1학년 프로젝트로는 적절하지 않은것 같다. 다시는 1학년 프로젝트로 안하는게 좋을것 같다. 프로젝트 선택을 잘못것 같다. 어떻게 생각하면 3학년 AI 팀플이 오목과 비슷 오델로 AI 짜는건데 일학년에게 짜라고 것은 좀 오바였나 보다. 이 프로젝트에서 결과물을 만들지 못 회원들도 좌절은 하지 말고 열심히들 해 나가길~ - [(namsang)]
          상품 가격의 압박- _-);; 번 하면 꽤 재밌을듯 ㅋㅋ - [태훈]
         상협쓰~ 지난번에 이야기 중간일정 좀 적어주기를. 추후에 Minimax 랑 AI 개론 세미나 끼게..~ --[1002]
         출발부터 순탄치가 않군,, 소켓 알려주는것은 포기, 궁금사람은 현태에게 물어보길, 일단 현태에게 알려줬으니... - [(namsang)]
  • ArtificialIntelligenceClass . . . . 10 matches
         강의내용 : '지식' 표현방법, 탐색에 의 문제해결 방법 등
         지금 인공지능 수업이 피곤하고 졸린 이유는 뭘까. 교수님은 학생들의 feedback 을 끌어내려고 하지만, 끌어내기 위 방법 자체를 잘 모르신다는 느낌을 강하게 받았다. 수업 내용의 경우도 책의 수준을 벗어나지 못다. (시간상 조명상 더 졸립기까지 하다. 또는 교수님이 책의 내용을 정확하게 이해하시지 못다는 느낌을 많이 받게 되었다.) 차라리 좀 더 구체적인 예제를 만들고, 이에 대 해결법의 진행 과정에 대해 설명해주신다면 어떨까.
         요새 궁리하는건, othello team 들끼리 OpenSpaceTechnology 로 토론을 하는 시간을 가지는 건 어떨까 하는 생각을 해본다. 다양 주제들이 나올 수 있을것 같은데.. 작게는 책에서의 knowledge representation 부분을 어떻게 실제 코드로 구현할 것인가부터 시작해서, minimax 나 alpha-beta Cutoff 의 실제 구현 모습, 알고리즘을 좀 더 빠르고 쉬우면서 정확하게 구현하는 방법 (나라면 당연히 스크립트 언어로 먼저 Prototyping 해보기) 등. 이에 대해서 교수님까지 참여하셔서 실제 우리가 당면 컨텍스트에서부터 시작해서 끌어올려주시면 어떨까 하는 상상을 해보곤 다.
         실제로 AI 프로그래밍을 해보면서 이경우에는 지금 나와있는 어떤 방법과 어떤 방법을 어떠 식으로 적용해 보는게 좋고, 아니면 더 나은 대안을 찾아보고 이런식이 재밌을거 같다.
          * Logical Language(Lisp) 와 Procedure Language(C, C++) 의 차이점 및 인공지능 분야에서 Logical Language가 유리 이유
  • AustralianVoting . . . . 10 matches
         호주식 투표 제도에서는 투표권자가 모든 후보에 대해 선호도 순으로 순위를 매긴다. 처음에는 1순위로 선택 것만 집계하며 후보가 50%이상 득표하면 그 후보가 바로 선출된다. 하지만 50%이상 득표 후보가 없으면 가장 적은 표를 받은 후보(둘 이상이 될 수도 있음)가 우선 탈락된다. 그리고 이렇게 탈락된 후보를 1순위로 찍었던 표만 다시 집계하여 아직 탈락되지 않은 후보들 가운데 가장 높은 선호도를 얻은 후보가 그 표를 얻는다. 이런 식으로 가장 약 후보들을 탈락시키면서 그 다음 순위의 아직 탈락하지 않은 후보에게 표를 주는 과정을 50%이상의 표를 얻는 후보가 나오거나 탈락되지 않은 모든 후보가 동률이 될 때까지 반복다.
         입력 케이스의 개수를 나타내는 양의 정수 개가 들어있는 행으로 시작되며 그 줄에는 그 숫자밖에 입력되지 않는다. 그 뒤에는 빈 줄이 하나 들어가고 서로 다른 입력 케이스 사이에는 두 개의 빈 줄이 입력된다. 각 케이스의 첫번째 줄에는 후보 수를 나타내는 20 이하의 정수 n이 입력된다. 그 밑으로 n개의 줄에 걸쳐서 후보의 이름이 순서대로 입력되며 각 후보의 이름은 80글자 이하로, 출력 가능 문자로 구성된다. 그 뒤에는 최대 1,000줄이 입력될 수 있는데, 각 줄에는 투표 내역이 입력된다. 각 투표 내역에는 어떤 순서로 1부터 n까지의 수가 입력된다. 첫번째 숫자는 1순위로 찍은 후보의 번호, 두번째 숫자는 2순위로 찍은 후보의 번호, 이런 식으로 숫자가 기록된다.
         각 테스트 케이스에 대해 당선된 후보의 이름 줄, 또는 동률을 이룬 후보들의 이름이 들어있는 여러 줄을 출력다. 두 개 이상의 테스트 케이스가 있는 경우 각 결과는 빈 줄로 구분다.
  • AutomatedJudgeScript . . . . 10 matches
         이 프로그램에서는 정답과 제출된 프로그램에서 만들어낸 출력 결과가 들어있는 파일을 받아서 아래에 정의된 방법에 따라 Accepted, Presentation Error, Wrong Answer 가운데 하나로 답해야 다.
         Accepted : 제출된 프로그램에 의 출력 결과가 정답과 완벽하게 일치하는 경우에 'Accepted'라고 답다. 모든 문자가 똑같은 순서대로 매치되어야만 다.
         Presentation Error : 숫자는 전부 같은 순서로 매치되지만 숫자가 아닌 문자가 하나 이상 매치되지 않는 것이 있으면 'Presentation Error'라고 답다. 예를 들어 '15 0'과 '150'이 입력되었다면 'Presentation Error'라고 답할 수 있지만 '15 0'과 '1 0'이 입력되었다면 아래 설명에 나와있는 것처럼 'Wrong Answer'라고 답해야 다.
         Wrong Answer : 제출된 프로그램에 의 출력 결과가 위에 나와있는 두 가지 범주에 속하지 않는다면 'Wrong Answer'라고 답해야 다.
         입력은 임의 개수의 입력 세트로 구성된다. 각 입력 세트는 정답의 줄 수를 나타내는 100 미만의 양의 정수 n이 들어있는 행으로 시작된다. 그 다음 n개의 줄에는 정답이 입력된다. 그 다음 줄에는 제출된 풀이의 출력 결과의 줄 수를 나타내는 100 미만의 양의 정수 m이 들어있는 행이 입력된다. 그 다음 m개의 줄에는 제출된 프로그램에서 출력 내용이 입력된다. n으로 0이 입력되면 입력을 종료하고 그 행은 처리하지 않는다.
         각 세트에 대해 다음 중 하나를 출력다.
  • BoaConstructor . . . . 10 matches
          1. 글 패치 필요 - 이건 Scintilla 의 문제일듯.
          * Control 상속, 새 Control 만드는 과정을 아직 툴 차원에선 지원하지 않는다. MFC GUI Programming 할때 많이 쓰는데. UI class 들 중복제거를 위해서라도. -_a 하긴 이건 좀 무리 요구인가 -_-;
         GUI 플밍은 다시금 느끼지만, RAD 툴 없으면 노가다가 너무 많다. -_-; 차라리 GUI 코드는 더럽게 놔두고 툴로만 다루고, 코드상에서는 가능 GUI 부분 객체와는 interface 로만 대화하는 것이 좋겠다. 어디선가 본 것 같다. Code Generator 로 작성된 코드는 가능 건드리지 말라는..~ (Abstraction 이 제너레이팅 툴에서 이루어지기 때문일 것 같다.)
          3. 해당 코드들의 Abstraction Level 을 적절히 맞춰서 리팩토링하며 인터페이스나 모듈관계들에 대 디자인과 원하는 기능들에 대 구현 모습에 대 피드백을 받는다.
         UnitTest 가 있는 것만으로도 언제든지 리팩토링할 수 있다는 믿음이 있다면..~ 혼자서 프로토타입 플밍 할때는 그냥 StepwiseRefinement & UnitTest 조합도 괜찮은 것 같다. 빨리 기능을 얻은뒤 기능들 보고 중간에 CRC 해가면서 유용할만 Object들을 추출해나가는 것도. 언제든지 Object 뽑아낼 자신이 있으니까.
  • CodeRace/20060105 . . . . 10 matches
         요구사항에 다음 입력 파일 예제가 쓰인다고 가정다.
         텍스트 파일을 읽어 공백 단위로 분리해서 화면에 줄에 하나씩 출력다.
         중복되는 단어를 제거하고 단어가 몇 번 나오는지를 출력다.
         정렬된 결과를 출력다.
         알파벳이 아닌문자들은 제외
         count 뒤에 하나의 아스키값 총합을 하나 더 출력다.
         || 도현, 승 || [CodeRace/20060105/도현승] ||
          * 재미 있다~ㅋㅋㅋ - 이승
  • CppStudy_2002_1 . . . . 10 matches
          * C++의 문법도 익히고, 나아가서 사용법, OOP에 대해서 더 친숙 해지기, 다양 과제를 통 프로그래밍 경험 쌓기
          * 기간이 널럴 만큼 과제랑 예습 해와랑~
          * 스터디할 부분의 책에 있는 소스들은 번씩 쳐보기를 강력히 권장함. 소스칠때 생각하면서 치기, 또 만약 가능만 하다면 결과만 보고나후 책 소스 안보고 소스 스스로 짜내기(이렇게 안해도 상관 없고, 단지 하나의 방법론..)
          * 먼저 매주 몇개씩의 과제가 나가면 각자 그 과제를 해오고(도우미도 해올 것임) 서로 소스를 보면서 분석이나, 비판 해보고 나서 각자 일주일 동안 공부하면서 느낀점을 구체적으로(앞으로 도움이 되도록 발전적인 방향에서, 즉 어떤 점이 잘못되어서 앞으로 어떻게 하면 잘될것 이라든가 어떤점은 잘되었는데 그이유는 어쨌다는 둥, 공부 내용이나 학습 방법적인 면에서) 토론하기
          * 그리고 도우미는 EffectiveC++ 이라는 책도 참고하면서 세미나 해줄만거 있으면 해주거나, 특별 부분에 대 요청이 있을시에 해줄것임
         || 주 || 내용 || 사람 ||
          * ["StringOfCPlusPlus"]가 참 유익했던 거 같습니다. 제가 이걸 하기 전엔 문자열을 다루는데 어려움이 많았는데 이걸 하고 나니까 좀 쉬워진 듯 느낌이네요. -[영동]
  • DiceRoller . . . . 10 matches
          * 그러나 이 GP를 얻기가 매우 귀찮은(ㅡㅡ;) 관계로 자동 롤러를 구상중에 있다. 거기에 시간제까지 있어서 타이머도 붙이게 되었다.
          * 맵의 추가 : 워프게이트, 반도(좌/우) 추가.
          * Shift+Enter가 안된다. -> 원래 불가능 하다는 결론..(발생시킬수는 있어도 창을 끌러올려야 다.)
          * 자동 복구 루틴(방이 깨졌을 경우에)를 구현다.
          * 게임이 끝나고 나갈 때 가끔식 이유를 알수 없는 오류가 발생하곤 다. 아마도 창을 찾은 상태에서 실제로는 없는 게 되버려서 그런 것 같다.
          * 그래픽 대조루틴을 통 카드의 자동사용
          개선 점은 History.txt를 만들며 남겨놓고 있다.[[BR]]
          결국 프로젝트(?)를 합쳐버렸다. 후훗. MSN 을 통해 노가다를 하고는 있지만 결국 자리에서 해야할듯 하다.[[BR]]
          * 메모리상의 값을 얻어와서 해결할 방법은 아직은 먼 훗날의 이야기인 듯 하지만, 만약 가능하다면 모든 문제들이 해결되다시피다.[[BR]]
         == 필요 Source ==
  • EffectiveSTL . . . . 10 matches
          * 도서관에 가니까 Effective STL 원서가 있네요 *.*, 언젠가 ["1002"]형이 Most Diffcult C++이라고 걸 들은적이 있어요--; 뭐.. 각오는 하고 있습니다. 주기적으로 번 읽어보고 요약하는 방식으로 진행할 생각입니다. 부족점이나 잘못된 점, 또는 인수군의 영어가 많이 딸린 관계로(--;) 해석상의 오류 등등, 많이많이 지적해 주시기 바랍니다.^^;
          More Difficult C++ 은 내가 ["MoreEffectiveC++"] 를 그렇게 부른거 같은데, EffectiveSTL 은 번역이 잘되었다는, 서가 있으니 그것도 참고하는게 좋을 것 같다. --["상민"]
          우엥.. 서가 있었어요? ㅠ.ㅠ
          * Scott Meyers's Trilogy 라고 불리는 시리즈의 3번째 것이다. ''(EC++, MEC++, ESTL)'' 나의 경우에는 일단 CVS에 대 정리를 끝내고 서로 읽을 생각이며, 읽으면서 기존의 부분에 보충과 함께 약간의 정리를 해나갈 계획이다. 번역서가 곽용재씨가 직업 것이라서 서에대 걱정도 적은편이다. - [eternalbleu]
  • EightQueenProblem/kulguy . . . . 10 matches
         문제에 대 개략적인 이해만 하고서 마치 그 알고리즘을 완전히 이해 냥 무턱대고 코딩에 들어갔다가 정답이고 뭐고 완전히 엉켜버렸습니다. 결국 처음부터 다시 코딩 이전 단계부터 차근히 준비하여 겨우 문제를 해결할 수 있었습니다. 코딩 이전의 여러 프로그래밍 단계는 함부로 건너뛸 단계가 아니란 것을 다시 번 뼈 속 깊이 깨달았으며 성능을 위해 시공 교환 법칙을 나름대로 적용해 보았는데 그 효과의 상당함을 경험하였습니다.
          * 성능을 높이고자 다면 우선 시공 교환 법칙을 이용하자.
          성능이란 것을 크게 수행 시간(時)과 수행시 필요 메모리(空)라는 2가지 측면에서 본다면 메모리쪽의 성능을 희생해서 수행 시간을 끌어올리는 것을 말합니다. 즉, 자주 쓰일 것 같은 계산 결과는 매번 계산하지 않고 메모리에 담아두거나 외부에 저장했다가 가져오는 식이 되는 거죠. 저같은 경우 문제를 풀기 위해 체스판 위에 퀸 하나가 놓일 때마다 다음 퀸이 놓일 수 있는 "가능 자리를 계산"해서 그 다음 퀸을 배치하는 방식을 사용했습니다. 이 때 "가능 자리를 계산" 결과를 메모리에 담아두고 계속 이용하였죠. 참고로 이 용어와 개념들은 김창준님이 마소에 기고하신 파이썬 관련 기사에서 비스므리 인용 것 입니다. 인용이란 본래 그 내용을 정확히 전달해야 하는데 -_-;;; 마소 기사를 직접 참고해보시기 바랍니다 :)
          System.out.println("가능 해답 = " + String.valueOf(problem.getSuccessNum()));
  • EventDrvienRealtimeSearchAgency . . . . 10 matches
          * 쉽게 생각하면 로봇이 대신 웹서핑을 해서 사용자가 필요 정보만 실시간으로 수집해서 바로 바로 실시간으로 제공해주는 Searcy Agency를 Event Driven Realtime Search Agency 라고 칭다.
          * 로봇이 사용자가 지정 타겟 웹 정보를 짧은 시간 간격으로 수집다.
         = 필요 표준 =
          * ObserverPattern 과 비슷 개념이다.
          * 각 게시판이나 웹페이지들이 Observable 즉 관찰할 객체들이고 이 객체들은 각자 자신의 Observer 리스트를 가지고 있다. 이 Oberver 리스트는 바로 사용자들이 아니라 이 많은 사용자들과 웹을 매개해주는 서버이다. 이 Obsever 서버 리스트를 가지고 있으면서 해당 자신의 웹이 업데이트 될때마다 업데이트 내용을 이 Observer 리스트 서버(EDRSA가 동작하는)들에게 전송을 다.
          * 그러면 해당 서버에 있는 EDRSA 들은 해당 웝에 대 모니터링을 신청 각 사용자들에게 각 사용자들이 입력 키워드에 따라서 해당되는 내용들만 해당 사용자의 클라이언트 프로그램에 전송해준다.
  • HanoiTowerTroublesAgain! . . . . 10 matches
         하노이의 탑 문제를 변형시킨 문제들 중에도 흥미로운 문제들이 많이 있다. 이 문제는 N개의 기둥과 1부터 무대까지의 정수가 적혀있는 공에 관 문제다. 두 공에 적힌 번호의 합이 완전제곱수(어떤 정수를 제곱 수)가 아니면 그 두 공 사이에는 서로 맞닿아있을 수 없을 만큼 큰 척력이 작용하게 된다.
         공을 번에 하나씩, 번호가 커지는 순서로 기둥에 끼우는 게임을 다(즉 1번을 끼우고 나서 2번을 끼우고, 그리고 나서 3번을 끼우고 하는 식으로 공을 기둥에 끼움). 더 이상 서로 밀어내지 않도록 공을 끼울 수 없게 되면 게임이 끝난다. 게임의 목표는 최대 많은 개수의 공을 끼우는 것이다. 위에 있는 그림에는 기둥이 네 개인 경우에 최대 많은 공을 끼운 결과가 나와 있다.
         각 테스트 케이스에 대해 기둥에 끼울 수 있는 공의 최대 개수를 나타내는 정수를 출력다. 끼울수 있는 공의 개수가 무대면 '-1'을 출력다.
  • HelpOnConfiguration . . . . 10 matches
         MoniWiki는 `config.php`에 있는 설정을 입맛에 맛게 고칠 수 있다. config.php는 MoniWiki본체 프로그램에 의해 `include`되므로 PHP의 include_path변수로 설정된 어느 디렉토리에 위치할 수도 있다. 특별 경우가 아니라면 MoniWiki가 설치된 디렉토리에 config.php가 있을것이다.
         {{{$path}}}에 {{{./bin}}} 디렉토리를 추가다.
         윈도우에서 gvim을 사용하여 작동된다. 이 경우 {{{$path}}}설정을 제대로 해주어야 하는데, 예를 들어 다음과 같은 식으로 `config.php`에 설정을 다.
         config.php에 `$security_class="needtologin";`를 추가하면 로그인 하지 않은 사람은 위키 페이지를 고칠 수 없게 된다. 로그인을 하지 않고 편집을 하려고 하면 경고 메시지와 함께, 가입을 종용하는 간단 안내가 나온다.
         메뉴의 대문(FrontPage)및 로고 그림이 연결하고 있는 페이지는 config.php의 다음 변수를 설정다.
         $logo_img를 간단히 조정하거나, $logo_string을 통해서 미세 조정을 할 수 있다.
         /!\ monisetup.php은 config.php를 변경할 수 있으나, 간단 변경만 지원하고 세세 변경은 지원하지 않는다. 최근 1.1.3 버전부터는 여러줄의 config.php 설정을 읽고 수정할 수 있다. 단, monisetup.php를 사용할 경우 코멘트는 모두 제거가 되므로 주의해야 다.
         == 기타 설정 가능 것 ==
  • IntelliJ . . . . 10 matches
         Refactoring 기능과 깔끔 UI, Inspection 기능 등이 돋보인다. 2002년 Jolt Award 수상.
         개인적으로 IntelliJ 는 정말 TestDrivenDevelopment 와 Simplicity 를 위 에디터라고 생각하는데, 이유는 리팩토링 기능이나 화면상 UI (쓰이지 않는 필드 등에 대해선 회색으로 표시됨), 그리고 Inspection 기능때문이다.
         Inspection 을 이용하면, 현재 실제로 접근하지 않는 메소드들, private 으로 둘 수 있는 메소드들, static 으로 둘 수 있는 필드 등을 체크하고, 해당 메소드 등을 주석처리하거나 영구삭제, 또는 접근권을 private 으로 변환하는 등 여러가지 대처를 할 수 있다.
         그리고 Programming By Intention 을 툴 차원에서 철학으로 지원하는 IDE 라는 점이 가장 마음에 든다. IntelliJ 로 프로그래밍을 할때는 툴과 대화를 하며 프로그래밍다는 느낌이 든다고 할까. --[1002]
         Intelli J 에서는 외부 cvs client 를 이용다. 고로, wincvs 등을 깔고 난뒤 도스 프롬프트용 cvs 를 연결해줘야 다. (CVS - Project 연동부분에 대해서는 ["IntelliJ"] 쪽이 빨리 버전업이 되었으면 다는.. ["Eclipse"]의 CVS 연동기능을 보면 부러운지라~)
          4. Checkout - 이는 CVSROOT의 modules 에 등록된 project 들만 가능하다. CVS 관리자는 CVSROOT 의 modules 화일에 해당 프로젝트 디렉토리를 추가해준다.([http://cvsbook.red-bean.com/cvsbook.html#The_modules_File module file]) 그러면 IntelliJ 에 있는 CVS의 Checkout 에서 module 을 선택할 수 있다. Checkout 다.
         Intelli J 에서는 ["Ant"] 가 기본으로 내장되어있다. ["Ant"] 를 위 build.xml 화일을 작성해주고, 오른쪽 ant build window 에서 build.xml 을 추가만 해주면 됨. Intelli J가 ["Ant"] 의 dtd 를 해석, XML 화일 작성중 자동완성 기능을 구현해준다. (환상! 단, Intelli J 가 느린 IDE 이므로 램 256이상은 필수. 학교에서 하려니 도저히 못해먹겠는지라, 결국 메뉴얼과 editplus 보고 작성했다는. -_-)
         자주 쓰는 기능들임에도 불구하고 단축키가 정의되지 않은 기능들이 있다. 특히 run class 와 run test 들이 그러데, 이들은 Key Map 을 직접 해주도록 하자. (개인적으론 ctrl + F10, shift + ctrl + F10 으로 정의해놓고 씀)
  • JAVAStudy_2002 . . . . 10 matches
         목표: JAVA를 이용, 다중 Chattiing 프로그램을 작성다. [[BR]]
         *일주에 번씩 모임을 갖고 모임에 나온 숙제를 꼬박꼬박 해온다. [[BR]]
          *1:1채팅 프로그램을 가지고 예제를 완전 분석다.
          *2주간 클라이언트 부분 남은 2주간 서버 부분을 분석다.
          *달간 목표로하는 다중 채팅 프로그램을 작성다.
          * 2월 7일 : Core Java 책 보다가 질려서 다른책으로 바꿔서 공부하는중 무지 삽질 결과 대기실 UI 만듬. 제 홈페이지랑 연결해가지고 보여주고 싶지만 연결을 어떻게 해야 할줄 몰라서..^^;;
         현재 Java swing API중 버튼이나.. 텍스트 박스에 대 것을 익혔습니다.(Application쪽..)[[BR]]
         그리고 간단 ID입력창도 만들어 보았습니다.[[BR]]
         슬슬 Listener에 대 공부도 해야겠습니다.[[BR]]
  • LUA_1 . . . . 10 matches
         스크립트 언어는 이제 단순히 유행을 넘어서 개발자가 알아야 할 덕목에 가까워진 것 같습니다. 저 같은 경우 아직 C/C++/Java로 개발을 하지만 보조적인 역할에서는 스크립트 언어(Python)만큼 유용 게 없는 것 같습니다.
         Python 언어를 동안 사용하다가 최근에는 루아에 관심을 갖게 되었는데, 의외로 루아에 대 정리 된 자료를 찾는게 쉽지 않았습니다. 또 오랫동안 C/C++/C#에 얽메여 있으면서 뭔가 새로운 것을 배우고자 하는 욕망에 강좌를 시작하게 되었습니다. 부족 점이 있지만 저도 배우는 입장에서 루아에 대해 정리해 나가도록 하겠습니다.
         루아의 공식 사이트는 http://www.lua.org/ 입니다. 하지막 MS-Windows 환경에서 루아를 시작하고 싶으시다면 http://code.google.com/p/luaforwindows/ 에서 루아 프로그램을 다운 받으실 수 있습니다. 우선 MS-Windows 환경이라고 가정하고 앞서 말 사이트의 Download 페이지에서 LuaForWindows_v5.1.4-45.exe 를 다운 받습니다. 나중에는 버전명이 바뀐 바이너리 파일이겠죠. 이 파일을 다운로드 받아서 설치하면 시작>Programs>Lua>Lua (Command Line) 를 찾아 보실 수 있습니다. 해당 프로그램을 실행하면 Command 화면에 ">" 와 같은 입력 프롬프트를 확인하실 수 있습니다. 그럼 간단히 Hello world를 출력해 볼까요?
          둘째는 빠르다는 점입니다. 빠르다는 말은 상대적일 수 있는데, 다른 스크립트 언어에 비해서 빠르다는 뜻입니다. 예를 들면 Python 이겠죠. 자세 내용은 http://lua-users.org/wiki/LuaVersusPython 페이지에서 Python 과 비교 부분에서 확인 하실 수 있습니다.
          그리고 세번째는 많은 게임의 스크립트 언어로 검증이 되었다는 점입니다. 대표적으로 World of Warcraft(WOW)가 있겠죠. 많은 사람들이 루아를 WOW을 통해서 알게 되었죠. 간략하게 루아의 특징에 대해서 알아 보았습니다. 좀 더 자세 루아의 역사는 http://en.wikipedia.org/wiki/Lua_(programming_language) 에서 확인할 수 있습니다. 글 위키 페이지가 내용이 좀 부족하네요.
  • LUA_6 . . . . 10 matches
         > mt = { __add = function(a,b) return { value = a.value + b.value } end } -- '+' 연산자에 대 metatable을 작성
         __unm : Unary 연산자 예를 들면 -1 의 -와 같은 피 연산자가 하나 인 연산자를 위 meta 함수
         연산자 이외에 table에 대 event 들도 연결할 수 있습니다.
         __metatable : metatable을 보호하기 위 metatable 프로그램이 metatable을 수정하지 못하도록 하기 위해 재 정의 해주면 된다.
         2. 메타 테이블을 이용 클래스
         우선 간단 함수를 table 안에 만들어 보겠습니다.
         class를 만들기 위 페이지 http://lua-users.org/wiki/YetAnotherClassImplementation 추가로 링크 넣었습니다.
         테이블은 정말 루아에 있어서는 가장 중요 자료 구조인 것 같다. 테이블이라는 단순 구조를 이렇게 다양하게 변형 시키다니 신기하면서도 뭔가 독특 구조에 재미를 느꼈다.
  • Marbles . . . . 10 matches
         나는 유리 구슬을 모으는데, 그 구슬들을 담아놓을 상자를 사려고 다. 상자는 두 가지 유형으로 나눌 수 있다.
         각 상자에는 정확하게 주어진 용량만큼의 구슬을 집어넣을 것이며, 총비용은 최소으로 줄였으면 다. 여러 상자에 구슬을 나눠 담는 가장 좋은 방법을 찾아보자.
         입력 파일에는 테스트 케이스가 여러 개 들어갈 수 있다. 각 테스트 케이스는 정수 n(1 이상 2,000,000,000 이하)이 들어있는 줄로 시작다. 그 다음 줄에는 c1과 n1이, 그 다음 줄에는 c2와 n2가 입력된다. 여기에서 c1, c2, n1, n2는 모두 양의 정수며 2,000,000,000보다 작다.
         입력에 있는 각 테스트 케이스에 대해 비용을 최소화할 수 있는 해법을 출력다( 줄에 테스트 케이스 하나씩). 해법이 있으면 두 개의 음이 아닌 정수 m1, m2를 출력다. 이때 mi는 타입 i인 상자의 개수를 의미다. 해가 없으면 "failed"를 출력다.
         해가 존재하면 그 해가 유일 해라고 가정해도 된다.
  • NSIS_Start . . . . 10 matches
          * 주제 : Installer Program 에 대 이해를 위해. free software 인 Nullsoft ({{{~cpp SuperPiMP}}} | Scriptable) Install System 영문메뉴얼을 보면서 글 메뉴얼을 만든다.
          * 목표 : 글 메뉴얼 만들기. 간단 프로그램 배포본 만들기.
          * 간단 Installer (그냥 해당 디렉토리에 압축 풀리는 정도로.)
          * simple / full / custom 설정 가능 Installer
          * PHP Template script 글화
          * 만에 하나 9일 전에 끝나면 간단 NSIS Wizard 만들기 (with MFC)
          * PHP Template Script 를 글화를 초기계획을 잡았으나, 실효성을 못느껴서 계획중 제외.
          * ["NSIS/예제1"], ["NSIS/예제2"], ["NSIS/예제3"] - NSIS를 이용 예제
  • NUnit . . . . 10 matches
         [http://nunit.org/ NUnit] 은 .Net 언어들을 위 UnitTest Frameworks 이다.
          * http://nunit.org/ Download 에서 받아서 설치다. MS Platform 답게 .msi 로 제공다.
          * 어떠 클래스라도 즉시 Test를 붙일수 있다. (반면 JUnit 은 TestCase 를 상속받아야 하기 때문에, 기존 product소스가 이미 상속 상태라면 Test Fixture가 될수 없다. )
          * 스크린 샷에서 처럼, 함수 이름이 Test 세팅에 종속적이지 않다. (반면 JUnit 은 reflection으로 Test 메소드들을 찾아내므로, Test의 이름들이 testXXX 와 같은 형태여야 다.)
          * C++에서 CppUnit을 사용할수도 있겠지만, [인수]군이 써본바로는, 또 6.0이 아닌 .Net을 쓴다면 NUnit이 더 좋은것 같다.(어차피 6.0에선 돌아가지도 않지만--;) CppUnit은... 뭔가 좀 이상하다.--; --[인수]
          * 아무리 그래도.. pyunit,junit만큼 편건 없는것 같다. --[인수]
          * Java 1.5 에 메타 테그가 추가되면 NUnit 방식의 TestCase 버전이 나올것 같다. 일단 이름의 자유로움과, 어떠 클래스라도 Test가 될수 있다는 점이 좋왔다. 하지만, TestFixture 를 붙여주지 않고도, 목표 클래스의 Test 들을 실행할 수 있는 방식이면 어떨까 생각해 본다. --NeoCoin
          * MFC에서 사용하기 추가했습니다. 저 방식대로라면 어떠 방식에서든 쓸 수 있겠네요. --[인수]
  • OptimizeCompile . . . . 10 matches
         현재 프로세서의 속도는 [무어의 법칙]에 따라 극으로 속도가 증가하고 있다. 이러 상황에서는 예전처럼 [CPU] 의 속도 에 프로그램의 실행속도가 크게 영향 받지는 않으므로, 컴파일러의 최적화 작업도 더이상 연산(computation)을 줄이는 것 만이 목적이 되는 것이 아니라, 좀 더 메모리 계층구조를 효율적으로 사용하는 것에 관심이 기울여지게 된다.
         프로그램(translation unit)은 진행방향이 분기에 의해 변하지 않는 부분의 집합인 basic block 들로 나눌 수 있는데 이 각각의 block 에 대하여 최적화 하는 것을 local optimization 이라 하고, 둘 이상의 block 에 대하여, 혹은 프로그램 전체를 총괄하는 부분에 대하여 최적화 하는 것을 global optimization 이라고 다.
         컴파일러는 constant propagation 과 constant folding 을 반복하여 수행다. 각각 서로의 가능성을 만들어 줄 수 있으므로, 더이상 진행 할 수 없을 때까지 진행다.
         컴퓨터가 할 수 있는 연산 들은 각각 그 연산이 수행되는데 걸리는 시간의 차이가 있다. 연산에 복잡도에 의해서 이루어지는 현상인데, 극단적인 예를 들자면, shift 연산은 보통 2 클럭에 처리되는 반면에, 나누기 연산의 경우 80-90 클럭을 소모하게 된다.(i8088자료) 이런 연산에 대 computation time 의 차이를 줄이는 최적화 방법을 strength reduction 이라고 다.
         배열의 참조 연산 또 좋은 예가 될 수 있다. a[i] 와 같은 표현식에서 a[i]의 주소는 배열 a 의 시작주소로부터 a의 타입 크기 * i 만큼 떨어진 곳이 된다.
         와 같은 코드에서 a[i] 의 주소는 루프가 진행됨에 따라 계속 evaluate 된다. 그럼 a + (i * 8) 이 매번 반복되게 된다. 이러 연산은 단순히 루프가 진행되며 a 의 주소에 8 씩을 더해주는 것으로 해결될 수 있다.
         cpu architecture 차원에서 지원다.
  • PowerOfCryptography/조현태 . . . . 10 matches
         하지만 지금은 일해야 하기때문에 시간이 부족 관계로..
         // 값을 입력받을때, 두 값의 입력순서를 바꿔 놓았는데, 그편이 좀더 안정적이라는 단순 이유때문..
          cout << "제곱 결과값을 입력해주세요. >>";
          cout << "제곱 회수를 입력해주세요. >>";
          cout << "제곱 결과값을 입력해주세요. >>";
          cout << "제곱 회수를 입력해주세요. >>";
         int 형을 64비트로 했군. -_-. 생각해보자. 파이썬처럼 거의 무대자리까지 연산하려면 어떻게 해야할까??? - [이영호]
          번 공부하고 만들어봐... C언어에서 인라인 어셈 써서 함수 만들어두 좋구. 아래 참고. - [이영호]
          ;;ㅁ;; 음.. 영호선배는 넘흐 마니 알고이쩡..>ㅃ<;; C언어 소스 봐도 모르게떠용..ㅎㅎ 64비트형의 인트형의 변수를 두개 지정하고 a에다가 최대값을..(아마 부호가 있기 때문에 -1저장됬을듯..)넣고 b에는 a-1을.. 그럼 -2가 저장..;; 음.. 이게 아니라 혹시 b가 포인터라서 메모리 칸 앞쪽을 잡아주는 건가요? 음.. 그러면 할당되지않은 메모리를 건드는 사태가..;;ㅁ;; 이것도 아닌가.. 연구를..;;ㅁ;; - [조현태]
  • ProgrammingPearls/Column3 . . . . 10 matches
          * Column1의 이상 소트와 더불어, 지금까지 본 내용중에서 꽤 신선 내용이다. 왜 이렇게 하는지는 잘 모르겠지만... 역시 확장성을 위 것 같다.
          * 이렇게 생겼다. 굉장히 해괴망측하다. 아직 이렇게 하는 것에 대 장점은 잘 모르겠다.
          * 이런 식으로 가면 된다는 것이다. 간단 것이니 그냥 넘어가자.
          * 프로그래밍을 쉽게 하기 위해, 편리 도구(HTML, Name-Value Pairs, 스프레드시트, 데이터 베이스, 등등)를 갖추자는 것이다. 별로 볼 거 없다.
          * 복잡 구조는 캡슐화를 하자 -> 클래스
          * 이 컬럼의 주제 : 데이터는 복잡 코드를 적절 자료 구조로 바꿈으로써, 프로그램을 구성다.
  • ProgrammingPearls/Column4 . . . . 10 matches
          * 100명의 프로페셔널 프로그래머들에게 Binary search를 짜보라고 시켰다. 결과는? 90퍼센트의 사람은 버그 있는 Binary search를 짰다고 다.
          * 프로그램을 줄씩 따라 내려가면서 Loop에서는 위의 원칙을 적용해 corret가를 검사하고 있다.
          * Verification을 위 general principles을 제공하고 있다.
          * Iteration Control Structures : 위에서도 말했듯이, 초기화, 유지, 종료조건이 확실가를 체크해야다.
          * Functions : precondition - 함수 시작 전에 보장되어야 할 조건 -과 postcondition - 함수 끝날때에 보장되어야 할 조건 -을 명시해준다.(...) 이러 방법을 "Programming by contract"라 다.
  • ProjectZephyrus/Server . . . . 10 matches
          +---- lib : 컴파일에 필요 라이브러리의 보관소
          +---- command : 명령과 관련 패키지
          * Perspective를 CVS Repositary Explorering에서 {{{~cpp CheckOut}}}을 다음, 컴파일이 안된다면 해당 프로젝트의 JRE_LIB가 잘못 잡혀 있을 가능성이 크다. (Win98에서 JRE가 잘못 설치되어 있을때) 방법은 ["Eclipse"]에서 Tip중 설치 부분을 찾아 보라
          * 먼저 해당 프로젝트의 lib세팅을 수행 다. 그래도 안되면 다음
          * 현재 ZeroPage와 Windows 2k상에 글 인코딩 문제로 후자로 해야 ZeroPage서버에서 글로 안내 메세지가 나옴. 컴파일시 해결할수 있지만 귀찮아서 --;; --상민
          * 모든 객체 정의 완성 상태. Rename과 코딩중에 필요 부가적인 정보를 알아 내야 다.
          * Client 팀처럼 측정을 하면서 것이 아니라. 경험상으로의 진행률 만의 기록할수 있을것 같다. --상민
         혹시 새롬데이터맨이 아닌 이야기 로 테스트하는 사람은 주의 필요. 이야기에서는 포트번호를 32767 로 제하는듯. (50000 이 넘어가니까 overflow 성격의 버그 발생. 테스트하는 사람은 포트 번호 30000 번 이하꺼로 바꿔서 하시길) --석천
  • PythonLanguage . . . . 10 matches
         '~을 하기에 적합' 언어는 있어도 '~을 하기 위' 것이란 없다. -_-; ('~을 하기 위 API'는 존재할 수 있겠다.) 이녀석도 프로그래밍 언어이므로 프로그래밍을 하기 위 언어이다. ^^; (PHP도 사람들이 웹프로그래밍으로만 접근해서 그렇지 원래는 shell script programming 도 가능하다. perl 보다 편하게 쓰는 사람들이 많다.)
          * Python 을 '실행가능 의사코드(pseudo-code)' 라고 부르기도 다. 그만큼 완성뒤 코드를 보면 참으로 깔끔하다.
          * ["wxPython"] - linux, windows 둘 다 이용가능 GUI Toolkit.
         이미 다른 언어들을 번쯤 접해본 사람들은 'QuickPythonBook' 을 추천다. 예제위주와 잘 짜여진 편집으로 접근하기 쉽다. (두께도 별로 안두껍다!) Reference 스타일의 책으로는 bible 의 성격인 'Learning Python' 과 Library Reference 인 'Python Essential Reference' 이 있다.
          * [http://wikidocs.net/read/book/136 왕초보를 위 파이썬]
  • RandomWalk . . . . 10 matches
          '술취 바퀴벌레' 문제라고도 다. 다음과 같은 격자에 술취 바퀴벌레가 있다고 해 보자 [[BR]] [[BR]]
          바퀴벌레는 임의의 점에서 시작하여서 임의의 방향으로 움직이게 된다. 이미 지나갔던 자리에 다시 갈 수 있으며 프로그램은 바퀴벌레가 각 위치에 몇번 갔는지 기억하여야 다. 프로그램은 바퀴벌레가 모든 지점에 적어도 번 이상 도달하였을 경우 끝난다. 바퀴벌레는 가로, 세로, 대각선으로 칸 씩만 움직일수 있으며, 바퀴벌레가 움직이는 방향을 랜덤하게 만드는 것은 각자가 생각해 보도록 다.
          * 격자의 가로, 세로의 크기를 입력받을때. 엄청나게 큰 크기를 입력하면 어떻게 할 것인가? 배열의 동적 할당을 이용해서 2차원배열을 어떻게 사용할까? (c/c++은 자바와 달리 2차원배열을 동적할당 할 수 없다. 따라서 각자가 pseudo (혹은 imitation) dynamic 2D array 를 디자인하여야 다)
          * 할수 있다. 자바와 비슷 모습으로 --["상민"]
  • ReleaseDebugBuildStartGo의관계 . . . . 10 matches
         F5는 IDE(통합환경)가 실행 프로세스를 반동결(Soft-ice)상태로 실행시켜, 사용자가 내부 변수의 값을 들여다 볼 수 있거나 중간에 멈출 수 있게 합니다. 디버깅을 할 때에 아주 중요 역할을 하지요.
         이 두 개의 기능은 방금 설명 것 이외에 조금 다른 실행환경을 제공합니다. 바로 "미초기화 변수의 초기화"입니다. 그리고, 이 양상은 프로그램이 릴리즈 빌드냐, 디버그 빌드냐에 따라 다릅니다. 아래와 같은 구조체와 이것을 사용 코드(비록 줄이지만)있다고 가정합시다.
          이 코드를 릴리즈 빌드로 만들고, Start(CTRL+F5)로 실행할 때의 b값과 Go(F5)로 실행할 때의 b값을 체크하면 서로 다르게 나옵니다. Start의 경우 b의 값이 false가 나오고, Go의 경우 b의 값이 true로 나옵니다. 바꾸어 말하면 Start는 미초기화 변수를 0으로 놓고, Go는 0이 아닌 값으로 세팅다는 것입니다. (실제로 bool 타입의 false 값을 VC6의 디버거로 읽으면 0입니다. VC7의 경우엔 false라고 나오지만요)
          데, 디버그 빌드의 경우는 어떨까요? 그 경우에는 Start나 Go나 차이를 보이지 않고 b값이 true입니다. 여기서 자그마 결론을 얻을 수 있습니다.
          2. 릴리즈 빌드 프로그램을 CTRL-F5로 실행시키는 경우, 미초기화 변수는 0으로 초기화된다.
          디버깅할 때는 잘 돌던 프로그램이 그냥 실행시킬 땐 오동작을 보이는 경우가 있어 막대 육체적/정신적 에너지를 낭비하는 경우가 있는데, 그런 경우를 만난다면 이 글의 내용을 번쯤 떠올려 보시기 바랍니다. 그리고 다음의 점검을 해보시기 바랍니다.
  • RoboCode . . . . 10 matches
          * Upload:Robot글API.htm - Robot.class API
          * [http://www-128.ibm.com/developerworks/kr/library/j-robocode/ 로보코드 시작하기(글)]
          다운로드 파일을 더블클릭해서 실행다.(자바 설치 필요)
         시간 제 안에 로봇을 만들어내라고 했더니 아무것도 못 하는 사람도 있었다. 많은 명령어 가운데 어느 것을 사용해야 할 지 감을 못잡아서 그럴 것이란 생각이 들었다. 처음 로보코드를 접하는 사람들에게는 간단 규칙을 정해놓고 연습해보는 시간을 가져보는 것이 어떨까? 이를테면 명령어 몇 가지만을 사용다든지, 총 명령 개수를 제다든지 하는 규칙이 있겠다. --[Leonardong]
  • SeparatingUserInterfaceCode . . . . 10 matches
         전에 TDD 기사 썼을때 읽으면서 굉장히 감명깊었던 구절. 디자인에서 로직/UI 분리가 어떻게 이루어져야 하는가를 아주 간단하면서도 명료하게 말해준다. 개인적으론 RefactoringBook 을 읽었을때보다 이 글을 본 것이 더 충격적이였던것으로 기억된다. (특히, RefactoringBook 을 읽었을때보다 상대적으로 디자인에 대 지식이 더 있었을때임에도 충격이 더 컸음에.) :
         도메인모델로부터 프레젠테이션 부분이 분리되었을때, 도메인 코드의 어떠 부분도 presentattion 코드와 관련이 없도록 해야 다. 그리하여 만일 WIMP GUI 어플리케이션을 작성했을때 당신은 WIMP 인터페이스를 통해 할 수 있는 모든 것들을 command line interface 로 작성할 수 있어야 다. WIMP 코드로부터 어떠 코드도 복사하지 않고.
         도메인모델로부터 퍼시스턴스 부분이 분리되었을때, 도메인 코드의 어떠 부분도 퍼시스턴트 레이어 코드와 관련이 없도록 해야 다. 만일 MySQL Repository을 작성했을때 당신은 MySQL 인터페이스를 통해 할 수 있는 모든 것들을 Flat File Repository interface 로 작성할 수 있어야 다. MySQL 코드로부터 어떠 코드도 복사하지 않고.
         너무 이상적이라고 말할지 모르겠지만, DIP 의 원리를 잘 지킨다면(Dependency 는 Abstraction 에 대해서만 맺는다 등) 가능하지 않을까 생각. 또는, 위에서의 WIMP를 그대로 웹으로 바꾸어도. 어떠 디자인이 나올까 상상해본다.
  • SharedSourceProgram . . . . 10 matches
         소스공유 프로그램(Shared Source Program)을 통해 주요 MS 제품군의 소스에 접근할 수 잇는 권을 획득다. 특히 소스공유 프로그램은 현재 국과 호주 양국 MVP에게만 부여된 권이다.
         국내에서 MVP가 되고 싶다면 본인이 국MS MVP 웹사이트에서 신청서를 다운로드해 담당자에게 접수시키면 된다. 현재 국내에서는 1년에 세번 선발하며, 국MS 내부 심사 1차례와 두 차례의 MS 본사 심사를 통과해야 최종적으로 MVP 인증을 받을 수 있다.
         MVP만의 뉴스그룹에서 창업 경우도
         == 우리가 Shared Source 를 다면 ==
         공대차원 학회 지원 프로그램의 가지 방법으로 Shared Source Program 이 준비되고 있다고 다.
  • Spring/탐험스터디 . . . . 10 matches
          * [Spring Framework 3]로 작지만 유용 프로그램을 만들어보자!
          * [Spring]의 핵심 가치와 원리에 대 이해
          * 세미나가 아니라 각자가 공부 것을 바탕으로 공유하고 정답을 찾아나가는 스터디
          * 스터디 모임에서는 각자 주간 학습하고 과제를 수행 경험을 공유하고 궁금증을 해결
          * 코치 참석 여부와 상관없이 스터디를 정시에 시작다.
          * 스터디 대상이 매우 방대하므로 충분 개인적인 학습과 과제 수행, 그리고 스터디 모임에서 많은 질문을 할 것
          * 헐 이 스터디를 시작게 벌써 1년 2개월째라니..
          * 그동안 스터디게 하나도 안남아있다 망
         ==== 것 ====
  • StacksOfFlapjacks . . . . 10 matches
         그릴에서 팬 케이크를 구워서 완벽 팬 케이크 스택을 만드는 것은 정말 까다로운 일이다. 아무리 팬 케이크를 정성스럽게 만들어도 팬 케이크의 크기가 조금씩 다르기 때문이다. 하지만 팬 케이크를 잘 정렬해서 위에 있는 팬 케이크가 아래에 있는 팬 케이크보다 더 작게 쌓으면 깔끔하게 보이게 할 수 있다. 팬 케이크의 크기는 그 지름으로 주어진다.
         스택을 정렬하는 과정은 일련의 팬 케이크 뒤집기 작업을 통해 이루어진다. 번 뒤집는 작업은 스택에 쌓여있는 것 중 두 팬 케이크 사이에 주걱을 집어넣고 그 주걱 위에 있는 모든 팬 케이크를 뒤집는 작업(주걱 위에 있는 팬 케이크로 구성된 하위 스택의 순서가 거꾸로 되도록 만드는 작업)으로 구성된다. 번의 뒤집기 작업은 전체 스택을 기준으로 뒤집어질 하위 스택의 맨 아래에 있는 팬 케이크의 위치를 지정하는 방식으로 표시된다. n개의 팬 케이크로 구성된 스택이 있을 때 맨 밑에 있는 팬 케이크의 위치는 1, 맨 위에 있는 팬 케이크의 위치는 n으로 표시된다.
         입력은 여러 개의 팬 케이크 스택으로 구성된다. 각 스택은 개에서 서른 개 사이의 팬 케이크로 구성되며 각 팬 케이크의 지름은 1 이상 100이하의 정수로 주어진다. 입력은 파일 끝 문자에 의해 종료된다. 각 스택은 줄에 입력되며 맨 위에 있는 팬 케이크가 맨 앞에, 맨 밑에 있는 팬 케이크가 맨 뒤에 입력되고 모든 팬 케이크는 스페이스에 의해 구분된다.
         각 팬 케이크 스택에 대해 원래 스택을 줄로 출력해야 하며 다음 줄에는 가장 큰 팬 케이크가 맨 밑으로, 가장 작은 팬 케이크가 맨 위로 올라가도록(팬 케이크가 클수록 밑으로 가도록) 스택을 정렬하기 위해 필요 뒤집기 순서를 출력해야 다. 뒤집기 수선를 출력 후 맨 뒤에는 더 이상 뒤집지 않아도 된다는 것을 나타내는 0을 출력해야 다. 스택 정렬이 끝나면 더 이상 뒤집지 않는다.
  • SummationOfFourPrimes . . . . 10 matches
         오일러는 솟수가 숫자 영역에서 무하다는 가설을 자신의 고전이론으로 증명했다. 모든 수들이 4개의 양의 솟수 합으로 표현될 수 있을까? 답을 알 수는 없다. 답은 느린 386 컴퓨터에서도 돌아갈 수 있기를 원다. 시간 제은 펜티엄3 800 컴퓨터를 기준으로 다. 이 문제에서 솟수의 정의는 "완전 두 개의 다른 정수로만 나눠 떨어지는 양수"이다. 예를 들어,37은 정수 37과1로만 나눠지는 솟수이다.입력은 라인에 하나의 정수N만 포함다. 여기서 N은 10000000이하의 수이다. 이 수는 4개의 솟수의 합으로 구성될 수 있는 수이다. 입력은 하나의 수만 받는다. 입력 라인에 맞춰, 주어진 조건에 맞는 4개의 솟수를 줄에 출력다. 입력된 수가 솟수 4개의 합으로 표현될 수 없으면"Impossible."이라 출력다. 답은 여러개가 있을수 있다. 모든 정답을 받아들인다.
  • TCP/IP_IllustratedVol1 . . . . 10 matches
          *이 책은 스티븐스 박사의 名著 중의 하나로서, 내가 network 에 관 다른 책을 달리 읽어본 것은 아니지만, 전반적인 네트워크에 관 이론을 설명하면서도 구체적인 설명이 필요할때는 거침없이 베어버리는(이런 표현을 용서해 주기 바란다.) 그런 책이다.
          * "'''''The word illustrated distinguishes this bool from its may rivals.'''''" 이 책의 뒷커버에 적혀있는 말이다. 이말이 이 책을 가장 멋지게 설명해준다고 생각다.
          * 주에 둘에서 셋 정도의 챕터를 진행다.
          * 공부해온 내용을 토의하면서 좀더 깊게 이해다.
          * 서로가 서로에게 견제의 대상이 되며, 게으름과 귀찮음을 미연에 방지다.
          * 남훈 정말 무턱대로 만들 수 있는 거야! 마디 상의 없이...열심히 하자! 10장부터!~ -- 정직 --
          * 다들 이 페이지는 보고 있기나 건가.. 재동이는 거의 안보이고 -_-.. 아무튼 정직이는 시간이 없다고 하니 일단 의논이나 좀 해보자. 우리 이 스터디 일단 유보 할까? 이렇게 제대로 안되고 하느니 차라리 유보하는게 좋을 듯 데? -zennith
  • TheKnightsOfTheRoundTable . . . . 10 matches
         아서 왕이 천장에 삼각형 창이 있는 방에 원탁을 놓을 계획을 세우고 있다. 그는 햇빛이 원탁 위에 비추게 하고 싶다. 특히 정오에 태양이 바로 머리 위에 있을 때는 원탁 전체에 햇빛이 비추도록 하려고 다.
         그래서 그 원탁은 방 안의 특정 삼각형 영역 안에 자리잡아야 다. 물론 아서 왕은 주어진 조건 내에서 최대 큰 원탁을 만들고 싶어다.
         멀린이 점심을 먹으러 나간 사이에 해가 비추는 영역에 들어갈 수 있는 가장 큰 원탁의 반지름을 계산하는 프로그램을 만들어야 다.
         테스트 케이스의 개수에는 제이 없으며, 각 테스트 케이스마다 삼각형의 세 변의 길이를 나타내는 실수 세 개(a,b,c)가 입력된다. 어떤 변의 길이도 1,000,000을 넘지 않으며, max(a,b,c) ≤ (a+b+c)/2 라고 가정해도 된다.
         각 테스트 케이스마다 다음과 같은 결과를 출력다.
         여기에서 r은 정오에 해가 비추는 영역에 들어갈 수 있는 원탁의 최대 반지름이며, 소수점 셋째 자리까지 반올림 값을 출력다.
  • TowerOfCubes . . . . 10 matches
         서로 무게가 다른 N개의 색이 칠해진 정육면체가 주어졌다. 각 정육면체의 모든 면은 서로 다른 색으로 칠해져 있다. "무거운 정육면체를 가벼운 정육면체 위에 올려놓지 않는다"라는 첫번째 조건과 "모든 정육면체의 바닥면(맨 밑에 있는 것은 제외)의 색은 그 밑에 있는 정육면체의 윗면의 색과 같아야 다"라는 두번째 조건이 주어졌을 때, 두 조건을 만족하면서 최대 높은 탑을 쌓아야 다.
         우선 각 케이스마다 출력 예에 나와있는 식으로 테스트 케이스 번호를 출력다. 그 다음 줄에는 가장 높은 탑의 정육면체 개수를 출력다. 그 다음 줄부터는 탑을 이루는 정육면체를, 맨 위에 있는 정육면체부터 아래로 내려가면서, 줄에 하나씩 출력다. 정육면체를 출력할 때는 입력된 순서를 나타내는 번호를 출력하고 스페이스를 하나 출력 다음, 어느 방향에 있던 면이 위로 올라가도록 쌓았는지를 나타내는 문자열(front, back, left, right, top, bottom, 앞, 뒤, 왼쪽, 오른쪽, 위, 아래를 나타냄)을 출력다. 답이 여러개 있을 수 있는데, 그 중 아무 답이나 출력해도 된다.
         서로 다른 테스트 케이스 사이에는 빈 줄을 출력다.
  • TuringMachine . . . . 10 matches
         튜링 머신은 알랜 튜링이라는 사람이 소개 개념입니다. 그가 소개 이 머신은 현재 현시대의 대부분의 컴퓨터에 적용되어 쓰이고 있다.
         튜링 머신의 기본 개념은 현시대의 우리가 보는 관점에서는 대단 간단하다. 대략 사람과 장의 종이를 생각해보자.
         종이에는 우리가 행해야할 과정에 관 약속들이 적혀 있는 부분, 그리고 그 과정을 통해서 바꾸어야할 내용이 적혀있는 부분이 존재다.
         우런 단순 과정을 통해서 결과값으로 우리가 필요로 하는 내용을 얻을 수 있을 것이다.
         참조) Turing Award : 알랜 튜링의 업적을 기리기 위해서 제정 상으로, 컴퓨터 공학분야의 노벨상이라 칭해짐.
         http://www.acm.org/awards/taward.html 에서 수상자를 확인 가능. 보면 알겠지만 우리가 알만 사람은 번씩들 다 받았다. ㅡ.ㅡ;;
  • WinampPlugin을이용한프로그래밍 . . . . 10 matches
         winamp 의 plugin 을 이용 프로그래밍
         winamp 의 경우 다양 plugin 를 지원다.
         input plugin은 해당 화일을 읽어드리고 output plugin 으로의 출력을 소스를 제공다. output plugin 은 출력 소스를 사운드카드나 하드 디스크로의 출력을 관장다. 이 중간에 DSP 와 Visual plugin 이 callback 으로 결과물을 받은뒤 변수들을 이용다.
         이들을 잘 이용하면 복잡 ACM 관련 처리 없이 훌륭 확장성의 플레이어를 만들 수 있을 것이다.
          // 버전이 다른 경우에 대 처리.
          // DSP Plugin 부분. 역시 위와 비슷 맥락일듯.
  • ZeroPageServer . . . . 10 matches
         99년 후반 부터 운영되어오고 있는 ZeroPagers 들을 위 서버. 학회실이 없었을 때에는 준 학회실과도 같은 역할을 했던 소중 의견교환 & 정보저장소.
          * 기존 zp홈으로 활용하던 서버가 교내 네트워크 불안정과 기타 여러가지의 문제로 외부 호스팅을 시작뒤 남는 서버로 돌리는 서버입니다.
          * Linux에 익숙하지 못 학우들이 연습할수 있는 공간을 마련하기 위해 만든 서버입니다.
          * 현재 서버는 zp학회실에 위치해있고 언제든 직접 접근이 가능하며 리눅스 명령어에 익숙하지 못 학우를 위해 GNOME환경을 제공합니다.
          * 서버가 필요 학우는 언제든지 사용이 가능합니다.
          * 혹시 서버가 필요하지만 그에 따른 설정을 잘 모르는 분은 언제든 [bluemir]에게 연락바랍니다. 능력 도내에서 기술 지원 해드립니다.
          * 필요 분들에게 가상 서버를 제공해드립니다.
          * IP제상 공인 아이피를 다 드리지 못할수 있다는점 양해바람니다.
         이 아래는 예전 서버에 관 내용입니다.
  • ZeroPage성년식/준비 . . . . 10 matches
         ||13일||행사 취지에 대 구체적 논의, 온오프믹스||
         ||28일||참가에 대 회신 마감(이걸 기준으로 장소를 잡고, 추가모집)||
         || 현 회장의 마디 || [김수경] || O ||
         ||04||이승|| 송지원 || O || O (이승, 이도현, 이영호) ||
         ||11||고종,정진경,송치완,추성준,장용운,이민규|| 김태진 || O ||
          * 더도말고 덜도말고 딱 산더미네요... 세장씩 나눠드려야하나요'ㅅ'-[김태진]
         || 지출내역 || 금액 || 상세 || 지출 사람 ||
         || ZP책자 || 22000 || 부당 500 * 55부 = 27500원, 그러나 극적으로 깎아서 22000원 || 김태진 ||
          * DeleteMe 저따위가 축사를 할만 학번도 자격도 없다고 생각되서, 삭제했습니다. 그리고 여기 언급된 분들 말고도 몇 분께 더 전화 돌렸는데, 당일 스캐줄로 뒷풀이 참석하신다는 분도 있고 참석 확정 하시고 등록안하는 분들도 있네요. 즐거운 행사 기대합니다. -[류상민]
  • django/Model . . . . 10 matches
         모델은 웹 어플리케이션에서 사용할 데이터를 명세 python소스코드이다. 모델은 데이터베이스와 연동되며, 간단 경우 모델 하나가 데이터베이스 테이블 하나로 매핑된다. 따라서 웹 개발자는 데이터베이스를 직접 손대지 않고 소스코드인 모델을 변경해가면서 작업을 진행할 수 있다. 모델을 변경할 때마다 django에서 제공하는 manage.py syncdb를 이용하면 변경된 모델이 데이터베이스 테이블에 반영된다.
         다 대 일 관계에서는 다 쪽에서 일쪽을 참조하도록 설계해야 다.
         혹은 모델이 되는 클래스의 이름을 문자열로 지정할 수도 있다. 이는 클래스를 정의하는 순서에 상관없이 모델이 다른 모델을 참조할 수 있도록 다.
         다 대 다 관계에서는 어느 쪽 모델에 다 대 다 관계임을 표현다. 하지만 양쪽 모두에 다 대 다 필드를 설치하면 안된다. Django는 다 대 다 관계인 경우 이를 표현하는 테이블을 자동으로 생성다. 다음은 Employee와 Deparment모델 사이에 다 대 다 관계를 나타내고 있다.
         다대다 관계는 좀더 복잡해질 수 있다. 두 모델 사이에 관계에 해당하는 테이블이 또다른 속성이 필요 경우이다. 이 때는 중간 역할을 하는 모델을 직접 생성하고 양쪽 모델을 참조하도록 만든다. 다음은 RiskReport와 ControlReport사이 다 대 다 관계에서 보고된 위험에 대해서 대처 방안이 적절했는지 평가하는 is_vaild속성을 가지는 RiskControl모델을 보여주고 있다.
         Django는 정의 모델에 Admin클래스를 재정의해서 이를 삽입, 삭제, 갱신할 수 있는 기본적인 관리자 인터페이스를 자동으로 생성해준다. 사용자 인터페이스는 입력 항목을 원하는대로 배치할 수 있으며, 원하는 디자인도 적용할 수 있다. 이것으로 기본적인 입력 시스템은 만들어졌다.
  • html5/form . . . . 10 matches
          * 웹 양식을 지원하는 태그를 폼 태그(Form Tag)라
          * 라이브러리를 다운받고 아래와 같이 라이브러리를 참조
          * WebForms2 라이브러리는 HTML 폼 확장에 대해 각 브라우저마다 다르게 동작하는 문제점을 극복하기 위해 제공되며 Cross Broswer HTML5 Form 구현을 가능하도록 해 준다. 이와 관련 다음의 글을 참고해 보기 바란다
          * list — 값의 제을 포함하는 datalist element를 의미
          * max and min - 유요 날짜, 시간 그리고 숫자 값
          * search 타입, 전화번호 입력을 위 tel 타입, 리소스 주소 입력을 위 url 타입, 이메일 입력을 위 email 타입, 색상 입력을 위 color 타입 등이 새로 추가
          * 참고: 새로운 입력(input) 양식에 대 다음 글을 참고하기 바란다
  • iruril/도자기토론 . . . . 10 matches
         DeleteMe) [iruril]이 도자기에 대 토론에 대 내용을 기록해놓은 페이지입니다
         보편화 되려면 어떻게 해야다는게
         도자기 문화에 대 현주소와 사람들의 인식 그리고 앞으로 해야할 일 머 이런거 정도해야대나..
         그것을 보완하기 위 움직임을 생각해보고
         참여할 수 있는 여건에 대 측면
         여러가지 다양 축제
         소유에 관 측면
         수업시간에 교수님게서 말씀하셨던 영국에 대 이야기
         도자기 하나에 1000억씩 다는데
  • neocoin/Education . . . . 10 matches
         교육이란 주제에 대 생각 페이지 입니다.
          * 프로그래밍 언어론에 대 접근 방법 분류 필요, 기타 여러 배우는, 가르치는 법 필요.
          SIGCSE(ACM)을 참고해라. 좋은 자료를 많이 찾을 수 있을 것이다. 그리고 다양 교수법은 NoSmok:PedagogicalPatterns 를 봐라. --JuNe
          * 교육학에 대 이론에 대 조사 필요. 책을 찾도록
          잘 가르치기 위해서는 기본적인 교육학 이론보다는 Cognitive Psychology(학습부분)와 실제 "훌륭 교사"들의 방법을 설명 책(예컨대 NoSmok:SuccessfulCollegeTeaching ), 그리고 학습 과정을 설명 책(NoSmok:HowPeopleLearn )이 좋을 것이다. 또 성인 교육에 있어서는 Training, Coaching 관련 서적이 많은 도움이 된다. --JuNe
         중요 것은 책에서 본 내용을 직접 실험해보고 거기서 피드백을 얻어서 "추측"(NoSmok:최기 )을 잘해 다음 번에 적용하는 것이다. 따라서 가르칠 기회를 많이, 자주 갖는 것이 필요불가결하다. --JuNe
  • 김희성/리눅스계정멀티채팅 . . . . 10 matches
          //사용자가 이해하기 쉽도록 스레드 번호에 +1 값을 쓰도록 다.
          //코드의 간결화를 위해 값을 복사다.
          //스레드가 비활성화 되었으므로 thread_num을 0으로 초기화다.
          //스레드가 비활성화 되었으므로 thread_num을 0으로 초기화다.
          //스레드가 비활성화 되었으므로 thread_num을 0으로 초기화다.
          //스레드가 비활성화 되었으므로 thread_num을 0으로 초기화다.
          //스레드가 비활성화 되었으므로 thread_num을 0으로 초기화다.
          //스레드가 비활성화 되었으므로 thread_num을 0으로 초기화다.
          gotoxy(0,100);//gotoxy의 특징을 이용하여 화면을 칸 올린다.
         서버를 기반으로 로그인 시스템의 다중 채팅. 아이디로 재접속시 퇴장 시점부터 재접속까지의 대화 기록을 보여준다.
  • 덜덜덜/숙제제출페이지 . . . . 10 matches
         === [유선] ===
         너도 scanf 할때 "%s" 말고 " %s" 같이 칸 띄워서 해봐 그리궁 이름 받을때 2중배열해서 해보궁 ㅋ - [조동영]
         너가 지금 짠건 명만 받고 명의 평균만 낸거고 ㅋ 그렇게 5명의 이름을 모두 받기위해서 char name [5][10]; 이런식으로 2중배열로 메모리를 잡아주어서
         5명의 이름을 모두 받게 거양 scanf("%s" , &name[a]); 에서 a는 for문안에 있는 증가하는 변수잖으 각각의 이름을 받기위해서 저렇게 해준거지
         우오오 구조체로 처음 사람이다아~~~ ㅋㅋ 베리베리굳!!! 내가 가르친건 아니지만 감개무량 ㅠㅠ 구조체 이해했다면 이번 숙제도 가능할거입니다 ㅋ- [조동영]
         === [유선] ===
         오호오호 아하아하~ 감사합니다~ ^-^ [유선]
         이중배열이 뭔데요 -_-? [유선]
         진짜 초감사요~ ^0^ [유선]
  • 데블스캠프2004준비 . . . . 10 matches
          * 2004년 6월 21일(월)~ 25일(금)에 있을 데블스캠프 2004 준비를 위 페이지
          * 토이 프러블럼 분제에 대 도움을 줄때 개념설명을 해주고 얘기를 하면 그것으로 하여금 번쯤 생각을 해서 스스로 짤 수 있도록 하자.
          * ToyProblem 가운데 해 볼 만 것 - XOR 삼각형 (수학 공식 활용)
         || 누가 || 누구, 어디에 연락다 || 연락 결과는? ||
          새회원이 프로그램 문제를 해결하는 동안 기존 회원을 위 세미나를 준비해보면 좋겠다는 제안이 나왔습니다. 작년 기록을 보면 기존 회원을 위 세미나는 없었던 모양입니다.--[Leonardong]
          당연히 없었습니다. [데블스캠프]의 기본취지를 보시면, '밤새서 회원을 뽑기위' 것 입니다. [데블스캠프]를 재정의하던지, 새로운 행사로 이름을 바꾸던지 해야지요.--NeoCoin
         데블스 캠프의 매력은 끊임없는 삽질속에 피어나는 짜증과 스트레스, 그것을 단번에 날려버릴수 있는 성공의 통쾌함. 삽질을 하다가 문득 고개를 들었을때 태양이 떠오르는것을 보며 가슴속 깊은곳에에서 올라오는 그것이 아닐까.. - 장창재
  • 데블스캠프2006/목요일후기 . . . . 10 matches
         일주일간 풀로 참여하지 못게 아쉬울 정도로 배운 것도 느낀 것도 많았습니다.
         API의 경우 완전 생소하기도 하고 API에 대 기본적인 이론보다 코딩을 중심으로 가르쳐주셔서
         뭐.. 어쨌든.. 준식이가 데블스 캠프 1달 하는게 어떻겠냐고 말이 기억에 남네요
         저에게는 하루였지만 그 정도로 유익 시간이었던거 같습니다^^/
         상호작용이 중요 강의를 준비할 때에는 청중의 반응 속도를 충분히 느리다고 가정 후 목표를 잡아야다는 생각이 든다.
         물론 예상외로 빠른 반응이 올 경우에 대비 강의분량도 있어야겠지만 그렇다고 해서 느릴 경우를 예상하지 못하면 더 실패할 수 있다.
         너무도 막연했던 1학년 때 OOP 의 개념.. 우리 후배들이 나의 부족 설명에서 얼마나 얻었을까.. 흠흠.
         몇 시간만에 후딱 준비해서 알려주려니 역시 준비가 부족하다. 언제쯤 성실 녀석이 될 수 있을까.
  • 데블스캠프2009/금요일/SPECIALSeminar/송지훈/김홍기/박성현 . . . . 10 matches
          2. 피드백들. 반복을 안했는데 왜 부족지 알게됐다. 부족했던 부분을 알게된게 만족스럽다.
          1. 데캠 외엔 졸업 분들 세미나를 볼 시간이 없는데 이런 선배님들이 오셔서 설명해주시니 매우 감사.
          2. 피드백도 좋았고, 10만개 예제에서 질문에 관 부분, 과제마인드에 대 부분. 왜 그런지 생각을 해보고 관점을 다르게 볼 필요가 있다는 점에서 느끼는 점이 많았다.
          3. 7월 달간 데 그동안 지금까지 보려고 했다고 못했던 것들을 달동안 해볼 생각.
          2. 필요 지식들이 뭔가. 어떤 것들이 그런 지식에 속할까. 선배님을 보면서 막연히 생각해왔던 "관련지식"이라는 것에 대해 알게되었다.
          3. 지금까지 했던 과제들, 프로젝트들을 다시번 정리하는 과정을 현재 진행중에 있는데 이것을 완료해볼 생각.
  • 레밍즈프로젝트/프로토타입 . . . . 10 matches
         레밍즈 프로젝트에 필요 기술에 대 테스트 프로젝트들을 만들어본다.
         '''단순 기술에 대 사용이 아니라 재 사용 가능 클래스를 만들어 보는게 핵심이다.'''
         상태바, 선택바, 메뉴, 그래픽출력부, 미니맵 부 들을 구체적으로 그려봐야 다.
         간단 메세지, 대화상자 등을 만들수 있어야 다.
         = 출력 (이승) =
         참고 : MFC에서는 [(zeropage)STL/String] 보다는 CString 클래스를 사용하는게 [(zeropage)MFC/Serialize]를 하는데 용이하다고 다.
  • 마이포지셔닝 . . . . 10 matches
          * 이책은 글로벌CEO 특강에서 스파이렉스 사코사의 박인순 사장님이 아주 아주 강력하게 추천해서 정현이와 공동 구매 해서 샀다. 아직 도서관에는 안 들어 왔는데 지금 우선 신청은 해놓은 상태다. 우선 전체적인 느낌은 보통의 성공학, 자기계발서는 어찌 좀 뜬구름 잡는듯 내용도 많았는데 이책은 아주 현실적으로 접근하고 있다. 처세서, 성공학 같은 책중에서 이책이 가장 솔직하고 정확하게 그 길을 제시해주는거 같다. 저런 책에 관심이 있다면 이 책을 꼭 읽어 보는게 좋다. 누군가와 협력하고, 누군가의 장점을 알아볼수 있고, 좋은 아이디어를 알아볼수 있는 능력이 정말 핵심인거 같다. 그리고 혼자 잘나서 다 할수 있다는 생각을 가지면 절대 안되고, 자신이 올라탈 말이 있어야 다. 그리고 2막은 없다는 이야기가 있는데 1막에서 성공하였다고 해서, 그 똑같은 일을 그 회사 나와서 다시 다른 회사 차려서 해서 성공하는 경우는 거의 없다. 그것은 자기 자신이 시기를 잘 만나서 성공게 아니라 자기가 잘나서 성공거라는것을 대중에게 보여주고자 하는 자아 때문인데, 그런 자아를 가지고서 다시 성공할 수도 없다. '수로부여'라고 자신이 번 잘되었던 일이 있으면 계속 그런식으로 일을 하는것을 말하는 특성이 있는데, 두번째로 할때도 첫번째것이 성공하였다고 그런식으로 똑같이 해서 어떤 경쟁력도 생길수 없다.
          * 이책에서는 자기 혼자서는 아무것도 할수 없다고 다. 그리고 우리가 보통 믿고 있는것과 같이 아주 죽으라고 공부하고 일만해서 성공할 확률은 1%정도밖에 안된다고 다. 확실히 맞는말 같다. 우리는 무조건 공부만 열심히 하면 될꺼라는 생각을 주입받았지만 그렇게 해서 성공하는건 정말 1%도 안될 정도로 힘들다고 본다. 뭐 어느정도 안정된 생활은 가능할지도 모르겠다.
          * 그리고 '일하는 능력'보다 '눈에 띄는 능력'이 더 중요하다고 다. 그래서 최대 CEO 근처에 있으라고 다.
  • 만세삼창VS디아더스1차전 . . . . 10 matches
          음 내 파서는 이상 문법은 못받아들인다
          저게 왜 이상 문법이야
          선언도 안 타입을 ㅡ.ㅡ;
          바보 그런건 생략하는거야. 비겁 변명이군
          울트라 언어지
         흠.. MSN에서 있었던 영창이와 인수의 신경전 - 일종의 언어유희 - 을 공개다. 일단 1차전은 비긴 걸로 끝났다. 추후 다른 팀원들이 알아서 싸울 거라 믿어 의심치 않는다.
          니 소원대로 원문을 실었다. 비겁 녀석 이상걸로 시비 걸다니 ㅋㅋ --[인수]
          흠 너 눈은 아까 개념이랑 같이 말아 먹었냐 번 잘봐바 --[인수]
          throw FatilException # 엄연 타이핑 오류임. 컴파일 절대안됨.
  • 방울뱀스터디/GUI . . . . 10 matches
         padx=5, pady=5 # 각 객체들 사이의 간격을 설정다.
         ipadx=5, ipady=5 # 객체내부의 간격을 설정다.
         command는 단추를 눌렀을때 수행하는 함수를 지정다.
         각 그룹에서 개만 선택할수 있다.
         같은 그룹내에 있는 라디오 단추들은 같은 variable을 공유해야다.
         수직(수평)스크롤바를 위젯에 연결하기 위해서 2가지 일을 해야다.
         1. 위젯(객체)의 yscrollcommand 콜백 함수를 스크롤바 set 메쏘드에 설정다.
         다양 텍스트 문서를 표시해줄수 잇다. 다양 폰트나 이미지등도 가능함. 또 수정도 할수있다.
         전체 문서를 가져다가 contents 변수에 저장다.
  • 산이거기에있기때문에 . . . . 10 matches
         우리나라는 교육뿐 아니라 전반적인 의식구조(결과 지상주의, 학연,지연,혈연에 집착하는 모습이라든지..)에 문제가 있음을 가끔 느끼곤 하는데 (직접 외국의 문화를 체험다거나, 외국인과 대화를 했던 기억은 없지만) 다음의 글을 보면서 그 사실을 번 더 느끼게되었다. - [임인택]
         그는 등반사의 획을 그을만 위대 등반가로 동료인 앤드류 어빙과 함께 실종되었다.
         근데 웃기는 일은 우리나라의 국민윤리 교과서(79년 생이전이면 배운 교과서)에는 그 말을 에베레스트 정상을 정복 에드먼드 힐러리 경이 말로 그의 위대 정신 상태를 배워야 다고 배운 것이다.
         우리나라 사람들은 정상을 정복하지않으면 위대 사람이 아닌 가보다.
         맬러리가 마지막에 정상에 올랐는지는 아직 수수께끼로 있지만, 나는 그가 올랐든 안올랐든, 정말 노력 그를 존경하고 기억할 것이다.
  • 상협/100문100답 . . . . 10 matches
         49.사랑하는 이가 배신을 다면?*..*..*━☞
         마음만 통다면 상관없다
         56.가할때 무엇을 하나*..*..*━☞
         해소 안다. -_-
         65.애인이 시부 인생이라면?*..*..*━☞
         사회나 지금까지의 관습등이 우리에게 어떻게 어떻게 해야 다는
         놀러가기 좋은 화창 날씨
         71.소중 친구는?*..*..*━☞
         86.내일 지구가 멸망다면*..*..*━☞
         100.마지막마디*..*..*━☞
  • 새싹교실/2011/學高/1회차 . . . . 10 matches
          * Memory에 데이터가 저장된 공간은 어떻게 지시할까? 뭐 특별 이름이 따로 있을까?
          * 컴퓨터에 대 기초적 내용
          * 정말로 C에대 기초적인 설명
          * 제대로 배우지 못것이 있는데
          * Memory에 데이터가 저장된 공간은 어떻게 지시할까? 뭐 특별 이름이 따로 있을까?
          * 틀리지 않았다면 제 기억으론 위에 사용 stdio.h가 맞습니다.
          * \n(줄 내리기), %d%e, %c
          * Memory에 데이터가 저장된 공간은 어떻게 지시할까? 뭐 특별 이름이 따로 있을까?
         \n 은 줄 띄는것.
         * Memory에 데이터가 저장된 공간은 어떻게 지시할까? 뭐 특별 이름이 따로 있을까?
  • 새싹교실/2012/아우토반/뒷반/3.30 . . . . 10 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 오늘은 여러 가지 기초적인 문법 사항을 알려주었다. 언제나처럼 변수의 개념에 대해 강조했고, 개념 설명 위주로 수업을 진행하였다. 다음 주는 실습 시간이 될 예정이다. 아무래도 C를 처음 배울 때엔 많은 연습이 필요 것 같다. 그러므로 학생여러분은 숙제를 해결해오세요~ ㅋㅋ - [장용운]
          * 오늘은 C언어의 기초를 배운 것 같다. 오늘은 너무 피곤해서 수업시간 내내 졸았던 것 같아서 용운이 형테 너무 죄송스러웠다. 그래도 이번 수업에서 내용은 C프로그래밍 수업 때 조금 들었던 것이었기 때문에 내용을 이해하기가 조금 수월했던 것 같다. 오늘 너무 많이 졸았기 때문에 다음 시간부터는 수업전에 컨디션 조절을 해야겠다. 그리고 앞으로 내용이 많이 어려워질것 같은데..... 열심히 해야겠다. - [김태헌]
         정수를 하나 입력받는다. 입력받는 정수는 1~100 사이의 숫자로 가정다.
         입력받은 정수를 글 발음으로 출력하는 프로그램을 작성하시오
         단, 위 작업을 0을 입력받을 때까지 계속해서 수행하여야 다. (while문 사용)
         while문의 조건문에는 != 연산자를 사용다. != 연산자는 양쪽 피연산자가 같은 값을 갖지 않을 때 참이 된다.
         전 영어가 싫어서 글로 주석을 달았습니다~
  • 새싹교실/2012/열반/120402 . . . . 10 matches
          * 번 실행시켜 보세요.
          * while은 수업 시간에 다룬 내용이라 짧게 설명했습니다. 위의 printstar를 응용 실습을 진행했습니다.
          * i=<N 또 잘못된 문법입니다. i<=N 이 의도 것이겠지요?
          * 의도 대로라면, N은 항상 0인 상수이어야 하므로, 변수를 좀 더 생각해볼 필요가 있습니다.
          * 자잘 문법 오류는 없습니다.
          * 중첩 반복문 + 중첩된 반복문을 통 별찍기 실습 (Optional)
          * 강의자료 및 과제를 통 리뷰
          * while, do while 반복문과 재귀함수를 이용 점찍기를 배웠습니다. -[권우성]
          * 자잘 문법오류들을 보니 실습이 자주 필요하다는 생각이 듭니다. 다음주부터는 새로운 내용보다는 기존 내용을 확실히 하고, 중간고사 준비도 약간 해줘야겠습니다. -[정진경]
  • 새싹교실/2013/라이히스아우토반/4회차 . . . . 10 matches
          * Template를 만들어 보려 했으나 실패?... 단순히 갱신이 느린건지.. 아니면 내가 권이 없는 건지... - [고종](13/04/02)
         ||고종|| o || o || o || o ||
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * Internet Explorer를 제외 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
          * Can't Save가 떴을 땐 당황하지 말고, 작성 내용을 클립보드에 보존 뒤(Ctrl+C) 새로고침을 뒤 붙여넣고 저장할 것.
         == [고종] ==
  • 새싹스터디2006/의견 . . . . 10 matches
         새로운 회원을 모집하고 올해도 [새싹스터디2006]를 시작했습니다. 아마 스터디를 진행하는 반별로 다시 하위페이지를 만들고 나름대로 진행해 나가겠죠. 숙제와 소스를 올리는 하위페이지가 다시 생길 것입니다. 여기서 가지 고민이 생겼습니다.
         제로페이지 위키에 [새싹스터디2006]에서 소그룹으로 진행 기록이 재학생에게 필요할까요? [제로페이지의문제점]에서도 ''스터디가 신입 수준을 벗어나지 못다''라는 점을 지적합니다. [2004년활동지도]의 1학기 스터디, [새싹C스터디2005]의 Class페이지들이 대표적입니다. 반면 [새싹C스터디2005/선생님페이지], [새싹배움터05/첫번째배움터], [새싹C스터디2005/pointer]와 같은 페이지는 현재 [새싹스터디2006]을 진행하는데 도움을 줍니다. 조금만 가다듬으면 [STL]페이지처럼 주제별로 정리할 수 있습니다.
         따라서 지금 위키 구조를 잘 이용해 필요 정보는 제로페이지 위키에, 각 소그룹으로 진행하는 내용은 개인 위키에 정리하면 좋겠습니다. 나중에 정리할 필요 없는 시간 약속, 출석 체크, 메시지 전달 들을 개인 위키에서 진행하면 되겠죠. 단 숙제를 내면 반 이름의 하위페이지를 만들기보다, [EightQueenProblem]처럼 정보를 모을 수 있을 것입니다. 이로써 현재 미약 개인 위키 사용이 늘어날 것이고, 덤으로 사용자가 위키 카페 구조에 익숙해지는 효과도 얻을 것 같습니다. -- [Leonardong]
         위키에 기록을 남기되 개인위키를 활용하자는 말입니다. [stuck]같은 페이지에서 언제 만날지, 오늘은 누가 나왔는지까지 후에 참고할 필요가 없다고 생각합니다. 또 [빵페이지/구구단], [복/숙제제출] 같이 페이지 아래 실습 내용이 분산되지 않고, 각 반의 숙제 페이지는 되도록 문제에 따라 자리에 정리하면 좋겠습니다. 진행 상황은 페이지를 만들지 않아도 링크를 걸면 되겠죠. -- [Leonardong]
         제 말도 그거에요 ㅋ 링크 걸자는 거에요.. 그런데, 개인위키에 적는건 더 분산 아닌가요? 우리가 프로젝트 진행할 때 프로젝트 페이지에 여러 링크, 내용을 적잖아요? 새싹스터디2006/날아라병아리 이런식으로 만들어서 그 페이지 안에,우리가 풀었던 문제를 링크거는건 어떨까요?, 뭐 방법에 따라 다르겠지만, 저번처럼 새싹스터디 단체로 숙제를 내 주게 될 때는 달라지겠지만요.. -- [허아영]
         사실 [너구리]페이지는 제로페이지 위키에 있어도 그만입니다. 현재 진행중인 스터디를 모두 링크하는데 [너구리]페이지가 너굴아빠 개인위키에 있든 어디 있든 상관없지요. 다만 최근바뀐글을 생각하면 일장일단이 있습니다. [너구리]페이지가 제로페이지 위키에 있으면 현재 진행중인 스터디를 모든 사람이 곳에서 볼 수 있을 것이고, 따라서 다른 스터디도 돌아볼 기회가 많아지겠죠. 반대로 [너구리]페이지가 개인 위키에 있으면 자신의 위키홈에 가야지 볼 수 있기 때문에, 개인 위키 사용을 활발히 만들 겁니다.
         어느쪽이 되었든 하위페이지는 신중히 만들어야 합니다. 하위페이지는 순간 만들기 쉽지만 갈수록 구조를 바꾸기가 어려워집니다. '''숙제'''로 제로페이지 위키에 있는 페이지를 검색해 보세요. 내용으로 정리할 수 있는 페이지가 있지만, 손보려면 드는 시간이 적지 않을 겁니다. 일일이 페이지를 열어보기 전까지는 그 안에 어떤 내용이 있는지 알 수도 없고요. 또 하위페이지는 링크를 걸기가 더 어렵습니다. 상위 페이지 외에는 그 하위 페이지의 역링크 개수는 0에 가깝습니다. 이를테면 [5인용C++스터디/멀티쓰레드]는 [5인용C++스터디]에서만 링크하고 있습니다. 이러 현상은 하위의 하위 페이지로 들어가면 더 심해질 것입니다. -- [Leonardong]
  • 스터디지원 . . . . 10 matches
          * ~~제로페이지 내에서 진행되는 스터디와 프로젝트에 대해, 도 금액(인당 1만원) 내에서 식비로 사용하고 월말에 정산하는 방식입니다.~~
          * ~~ 달 안에 스터디와 프로젝트가 2회 이상 진행되어야 하고 그 진행 상황을 위키에 기록하여야 합니다.(다른 곳에 기록 후 링크로 대체 가능)~~
          * ~~ 달간의 지출 영수증을 총무(회장)에게 제출하면 됩니다.~~
          * ~~구성원 중 사람이 지출을 담당하기를 권장하며, 금전적인 이익이나 사익을 위 행위를 엄격하게 금지합니다.~~
          * 물품 지원과 회식 지원에 관 이야기는 이미 정모를 통해서 여러번 공지 내용들을 정리 것입니다. - [김민재]
          * 회식지원에 위키에 해당 일자에 스터디를 진행 기록도 있어야하지 않을까? -[김태진]
  • 신입생교육 . . . . 10 matches
         이승 군이 게시판에 아래와 같은 글을 올렸더군요.
         아주 중요 점을 지적해줬습니다.
         그럼 어떤 모델이 또 필요가?
         저는 선배가 주축이 되어 어떤 프로젝트(학습적 목표를 동반)를 진행하면서 후배들이 그 프로젝트에 같이 참여할 수 있도록 해주는 것이 좋을 것 같습니다. NoSmok:ApprenticeShip 모델인 거죠. 도제살이라고 합니다.
         도제살이의 장점은 실제 전문가가 일하는 방식을 옆에서 보고 배울 수 있다는 것, 그리고 처음에는 바깥의 덜 중요 일을 하다가 점차적으로 핵심적이고 어려운 일로 옮아갈 수 있다는 것, 처음부터 프로젝트에 일정 부분 기여할 수 있다는 것 등 많이 있습니다.
         이 모델을 번 고려해 보길 바랍니다. 이렇게 선배에게도 도움이 되고 후배에게도 도움이 되는 그런 상호적 이득이 존재하는 활동도 해보는 것이 좋겠습니다.
         혹시 하는 기우에서 말해두는데, 이 모델을 명의 선배가 슈퍼바이저 역할을 하고 대여섯 명의 후배들에게 과제를 주고 일주일 후에 확인하고 하는 식의 스터디와 혼동을 하지 말아야 합니다. 제 생각에 이런 도제살이 모델에서는 프로젝트에 참여하는 인원구성이 선배가 4나 3, 후배가 2 정도면 어떨까 합니다. 또 프로젝트 선정시 선배 자신이 열정을 느낄만 주제여야 합니다. 그게 아니면 수동적이 되기 쉽습니다.
          지금껏 경험하지 못 방식이 될 것 같은데, 신입수준을 벗어나지 못하는 지금 상황의 타개책이 될 수 있을 것 같습니다. -[강희경]
  • 일반적인사용패턴 . . . . 10 matches
         페이지 편집을 위 태그들은 다음 링크를 참조하세요. (해당 페이지를 EditText해보시면 다른 사람들이 어떻게 편집했는지 알 수 있으니 보고 배우셔도 됩니다.)
         위키의 특성상 페이지가 길어지는 경우가 많습니다. 스크롤을 위해 휠만 사용하는 것보다는 Page Up, Page Down을 적절하게 사용하시는 것이 편합니다. 쪽손은 키보드, 쪽손은 마우스.~
          * 페이지이름 : 최상단의 타이틀제목을 눌러보세요. 해당 페이지를 링크 페이지들 목록이 나옵니다. 역링크라고 합니다.
          * 페이지를 삭제하지 않은 경우 - 쪽 창에서 상단 오른쪽의 파란아이와 짝짝이 안경(?)을 클릭하시면 해당 페이지의 히스토리와 페이지의 수정내용을 알 수 있습니다. 일단 파란아이를 눌러서 복구하고 싶은 버전을 View 하십시오. 그 다음, URL 입력창에서 action=recall 을 action=raw로 바꾼 후 해당 내용을 다시 복사하시면 됩니다. (이때는 Frame 안에서 작업하지마시고, 위키 페이지를 직접 전체화면으로 하여 해당 URL이 보이는 상태에서 작업하십시오.)
          * 페이지를 삭제 경우 - 짝짝이 안경(diff) 기능이 작동하지 않습니다. 파란아이를 이용하셔서 날린 내용을 얻은뒤 편집해주세요. (조금 번거롭습니다.)
          * 기존 페이지로부터 글을 Copy & Paste 다.
          * 기존 페이지의 제목을 클릭, 기존 페이지를 링크 건 페이지들을 검색다. 링크들을 수동으로 고쳐준다.
          * 모든 링크들을 수정하고 나면 (기존페이지 제목을 클릭했을때 역링크가 없다면) 기존 페이지를 삭제다.
  • 정모/2005.1.3 . . . . 10 matches
         [이승]군의 피디에이 자랑질. -_-ㅋ;;
          * [이승]의 PDA구매 가이드 발표놀이 제안이 있었습니다.
          * [신재동] 형의 위키사용 압박. ''위키 줄 이상 안쓰면 다음 정모때 자기 돈 내고 밥 먹어!!''
          * 주소록 정리와 활동회원 주소록 에대 이야기도 있었습니다.
          정리해 보았습니다. 혹 제가 기록하지 못 부분이나 잘못된 부분은 언제든 수정해 주십시오. - [이승]
          그외 CS이외의 분야에 대해서 토론이나 공부하는 것에 대 가벼운 제안이 회식자리에서 있었습니다. 충분 이야기가 오간다면 다음 정모에 큰 주제로 올라올수 있을것 같습니다.
         오랜만에 모이는 자리인데 끝나고 간단하게 뒷풀이도 갔으면 좋겠습니다. ^ ^ - [이승]
          고맙습니다. ( _ _ )꾸벅 자신감 잃지않고 더 노력하겠습니다!! - [이승]
  • 정모/2007.3.27 . . . . 10 matches
          - 현재 pc관리 비용이 나오는지도 불투명 하고 동아리 지원금 또 불분명 하고 있다.
          - PC관리 비용이 나오지 않을 경우 우리 또 PC실을 관리할 이유가 없다(학교에 맡겨버리자)
          - 회의가 끝난뒤 우리는 학회이니까 자신이 부족 과목, 급 숙제, 궁금점 등등에 관해서 주제를 만들고 활용하는 방식으로 했으면 다.
          - 각 회의마다 적당 수의 ost주제가 나와야 하므로 홈페이지에 페이지를 만들어 주제를 미리 적어보는 방법도 고려해 보자.
          => 부족 부분은 선배님들께 세미나도 요청할 계획.
          => 웹쪽에서 강력 효용성을 가지고 있음. 기초부터 시작할 예정입니다. 관심있으신 분들의 많은 참석 바랍니다.
          => 매일 0.5~1시간 가량 간단 코딩을 할예정
  • 정모/2011.3.2 . . . . 10 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 개강 첫 정모라 그런지 재학생분들의 참여가 많아서 좋았어요! 오랜맨에 보는 얼굴들이 많아서 반가웠습니다. 그런데 10분들은 많이 안계시네요. 참가자들의 학년(?)이 높아선지 제안된 스터디들의 수준이 높아서 설렘!! 하지만 지난학기 성적을 보고 학기중에 다른 활동이 많으면 성적이 안좋아진다는 사실을 깨달았기때문에 전부 참여하지는 못했습니다.. 스프링에 대 설명을 잘 못해서 아쉬웠는데 앞으로는 발표할 때 머릿속으로 잠깐 생각 다음 말해야겠습니다. (첨부)정모에서 지난 스터디때 배운 내용을 공유할 수 있도록 기록해서 정리하는 습관을 들여야겠어요. - [서지혜]
          * 튜터링 오리엔테이션 갔다 오니 거의 다 끝났더군요; 복학도 만큼 자주 참석하도록 하겠습니다. - [권순의]
          * 아놔 수정하고 고치기 눌러서 날렸어요... 우선 늦어서 앞부분은 잘 못들었구요, 07, 08 학우들이 많이 와서 좋았습니다. 그들의 화려 컴백 및 활동 유지를 기대해봅니다. 독서모임에 참여함으로써 정모를 제외하고 ZP에서의 공식적이고 정기적인 학술회적 활동을 하는게 얼마만인지 모르겠네요. 소현이 말에 첨언하면 정모 직전이니 카페는 무슨 그냥 피시실이던 과방이던 강의실이던 학교에서 합시다. '''아 그리고 우리 사진좀 남겨요!! 저도 맨날 잊어먹는데 진짜 2009년 이후로 사진이 하나도 없어요!!'''- [송지원]
          * 사람들이 정말 많이왔어요! 처음 보는 분들도 몇 분 계셨구요. 고학년들이 많아서인지 제안된 프로젝트나 스터디 내용이 수준이 있어서 좋았습니다. 안건들에 대 의견도 많이 나와서 좋았습니다. ZP가 활발해진다는 느낌이 들어서 굿굿. 저도 지금 프로젝트 하나 건의 했는데, 잘 준비해서 열심히 해봐야 겠네요. - [박성현]
          * 방학동안에 수요일에 일이있어서 동안 정모를 못 나왔었는데요, 간만에 정모를 참여 할 수 있어서 좋았습니다. ZP정모에 참석을 하면 항상 뭔가 새로운 것을 해보고 싶은 기분이 들기때문에 더 좋으것 같아요. 앞으로도 더 잘 참석하겠습니다. - [박정근]
          1학년때는 나름 나왔었는데, 지금은 뒤로 슬슬 뒤쳐지는 기분이고요ㅋㅋ 정중동이라고 그러던가 뭔가 고요데 지피가 정말 활발해 보여서 좋았습니다. 몸이 안 따라주기는 하는데 정모 참여부터 시작해서 조금씩 활동력을 늘리도록 노력할게요 - [정지연]
  • 정모/2012.4.9 . . . . 10 matches
          * 드디어 학회실 정리를 했습니다. ..뭐 완전히 된거도 아니고 아직 잡다 물건도 없지만 그런거야 점점 채워나가고 정리해나가면 되지 않을까요. ㅎㅎㅎ 1월부터 계속 준비해오던 것 중 하나가 드디어 결실을 맺어 다행이에요. 이제 수요일까지 써야하는 Friendship 지원서만 써내면 제 공약(?)중 하나인 ZP학회실 확보 + ZP부자페이지 만들기 를 실천하게 되는군요.!! ㅋㅋ - [김태진]
          * 학회실 정리 거 축하드립니다. 오늘 입학하고 처음으로 제로페이지로 가게 되었습니다.
          * 생일 축하송 + 뭔가 어긋난 선물 + OMS를 준비하느라 바쁘진 않았습니다. 많은 사람들이 모여 오늘의 주인공을 축하하는 자리에서 제가 주인공이 된것 같아 기뻣고요. 저는 밥상에 수저만 올려놓았을 뿐입니다. 다음시간에는 비슷 주제로 나가겠습니다. 제가 하는 주제는 항상 코딩이나 기술에 관 OMS가 아니죠. 다른사람들이 다 하니까요. 여튼. 6피정리. 그날 헌혈하고 간만에 뜀박질하며 물건을 날랐더니 5시간 몸살이 걸렸었습니다. 집에 가자마자 미역국 퍼먹고 따뜻하게 푹자니 좀낫네요. 학회실 관리는 잘되었으면 좋겠습니다. 사실 6층 동아리방은 중요 자리니까요=ㅂ=. 여튼 앞으로 준비대로 동아리방을 차곡차곡 채워나갔으면 좋겠네요. - [김준석]
          * 새싹이 늦게 끝나는 바람에 정모에도 약간 늦어서 OMS를 못 들었네요 ㅠㅠ 그래도 메인 이벤트인 생일축하에는 참석할 수 있어서 그나마 다행이었습니다. 그 외에 정모 자체는 전체적으로 간단간단 느낌이었네요. 뭐, 사실 이게 다 학회실 정리 때문이었겠지만. 그래도 개인적으로는 학회실 정리하는 건 꽤 마음에 들었습니다. ZP 사람들끼리 모여서 북적거리는 느낌도 좋군요. 중간에 새싹이 있어서 빠지긴 했지만 빠지기가 아쉬울 정도였습니다 ㅠㅠ 이런 기회가 두 번 있지도 않을텐데 말이죠. 그래도 아직 학회실이 다 정리된 것은 아니니 앞으로 손을 볼 일이 더 있으면 같이 정리를 해 보고 싶네요 - [서민관]
          * 아니에요, 쓴다 안쓴다의 문제가 저텐 컸을뿐이에요 =_=;;; 전 원래 위키에 쓸때 엔터 안쳐서 누나꺼 바로 밑에 있게된 우연일뿐이구요 ;; - [김태진]
          * 보니까 쓰던 사람들만 계속 후기를 남기네. 아마 습관이나 후기에 대 어색함이 문제가 아닐까ㅋㅋ 장벽을 낮춰주는게 벌금 갈취하는 것 보다 효과적일듯ㅋㅋㅋ - [서지혜]
  • 정모/2013.1.29 . . . . 10 matches
          * 의견1: 뭔가 권같은 것을 부여해서 회원이냐 아니냐에 대 차이점을 주는 요소가 들어가야다.
          * 지출 예상내역으로 신입생 맞이를 위 책자제작 비용, 스티커 등이 있다.
         === 새싹교실 방식에 대 의견 ===
          * 의견2: 단체로 몇번뒤에 판단을 내려서 그대로 하거나 나누는게 좋을 것같다.
          * 의견3: 새싹강사들에 대 검증이 필요하다.(교습방식, 진행방식 등)
          * 결론: 우선은 작년 방식으로 하되 정기적으로 전체적으로 만나는 방식으로 해서 진행.(시간이 있으므로 자세 것은 나중에 결정. 변경가능성 有)
          * BigBang - 선형대수학에서 쓰이는 vector를 구현하기위 가변인자 + stl개요 등을 함.
          * ACM study - 팀원들 각각 2문제 씩 풀었습니다. 그리고 벌금제도 도입. 자세것은 ACM위키페이지참조.
  • 조동영 . . . . 10 matches
          이건 많이는 못할것 같지만.. 여유롭게 권씩 읽어봐야지...
          승이의 꼬임에 넘어가 시작하게된 프로젝트 ㅋㅋ
          젝일슨... 출석을 번 못했다... 타격이 너무나도 크다.. 앞으론 잊지 않고...
          얼떨결에 코 꿰어서 하게댄 프로젝트... 라고하긴 머하나... 다른사람에게 설명해주는 법을 공부다고 생각하고 해야지...
         == 마디씩 ==
          * [RandomWalk]라...-_-ㅋ;; - 이승
          * 아니에요ㅋㅋㅋ 전 웃긴아이가 아니라, 조신 아이랍니다.......ㅎㅎㅎ 어제 카우버거 잘먹었어요ㅋㅋ-[joosama]
          조신... ㅋㅋㅋ 카우버거 맛있지 ㅋ
          * 오빠 사진이 없네요 ㅋ- [유선]
          유선아 동영오빠테도 숨기고 싶은 과거가 있으시단다....ㅎㅎㅎㅎㅎ
  • 지금그때2005/회의20050308 . . . . 10 matches
         이번에도 [여섯색깔모자]를 이용 회의를 하였습니다.
         참가자 : [이승] [강희경] [Leonardong]
          동문서버를 이용다.
         저번 송년회 경험을 돌이켜보면 평일 오후에 전화하는 것은 조금 피해야 다. 회의하시는 분, 핸드폰 꺼놓으신 분들도 많았다.
         초록모자 : 질문리스트를 만들어 간다. 소외를 최소화 해야다. 움직임을 만든다.
         초록모자 : 부루마블을 결합다. YesNoWhy방식. 복잡하기도 하다. 수건돌리기
          [정모/2005.3.14]에서 하는 리허설에서 점검과 결정을 다.
          패스하지 않을 질문으로 만들자. 패스를 하면 엄 벌칙을 준다.
          질문리스트. YesNoWhy후렴 (이유에 대 우리의 평가?) <- 맞는건가요??
         패널토의는 안하는 건가요? - [이승]
  • 탈무드 . . . . 10 matches
          * 행복을 얻으려면 만족으로부터 멀어져야 다.
          * 신은 명랑 사람을 축복해 주신다. 낙관은 자신뿐만 아니라 남들까지 밝게 다.
          * 언제든지 이보다 더 불행이 있다고 생각하라.
          * 이미 해버린 일을 후회하기 보다는 꼭 하고 싶었는데 하지 못 쪽을 후회 하라.
          * 아무리 길고 훌륭 쇠사슬이라도 고리 하나가 망가지면 못 쓰게 된다.
          * 아무리 비싼 시계라도 바늘이 가리키는 시간의 길이는 마찬가지이며, 아무리 훌륭 인간에게도 시간은 60분이다.
          * 이책은 여러모로 참 유익 책이다. 나에게 지혜로 발전할 수 있는 지식을 많이 주었다. 이 지식이 나의 지혜가 되기 위해서 실 생활에 활용하면서 참 의미를 알아야 겠다. 이책에서 와 닿는 내용은 '성공의 절반은 인내다'와 친절과 겸하(겸손)가 중요하다는 내용, 시간이 돈보다 중요하다는 내용등이다.
  • 하드웨어에따른프로그램의속도차이해결 . . . . 10 matches
          * 우리가 만든 프로그램이 어떤 하드웨어에서던지 일정 속도로 돌아가기를 바라는 경우가 있다. 특히 게임을 만드는 경우가 대표적인 예이다. 그러 경우 어떠 해결책이 있는지 알아 보면 좋을거 같다. 여기에 그 해결책들을 적어 보고 잘못된 방법은 고치기도 하면서 좋은 방법을 찾으면 좋겠다.
          * Game 의 Tick 에 해당되는 함수를 idle에 넣지 말고 타이머마다 화면 그려주는 함수를 실행다.
          * 작동하는 속도를 피드백 받아서 프레임을 줄여 제작
          * 타이머를 이용해서 시간에 따라 움직이도록 다.
          * hardware independent하게 게임속도를 유지하려면 매프레임 그릴때마다 이전프레임과의 시간간격을 받아와서 거기에 velocity를 곱해 position을 update하는 식으로 해야다. 타이머를 하나 만들어 보자.
          * 궁금게 있는데, ["MFCStudy_2001/MMTimer"] 로 안된단 말이야? 가장 빠른걸로 알고 있어서, 동작 제어는 타이머단에서 하고, loop에서 열심히 그림 그려서 fliping만 해주면 되지 않을까? 낮에는 경황이 없어서, 그냥 멀티미디어 타이머 이야기만 했는데, winamp 같은 시간에 의존적인 프로그램들도 이 타이머를 사용해서 말이지. --["neocoin"]
          * 비슷건데.. 스레드와 timer 를 같이 써서 해결하기도 하지.. -_-; 아는 형 중에 그렇게 하던데.. dx 쓸때.. source 는 모르겠고.. mfc 에서 dx 쓸때 그렇게 다고 하더라.. 뭐 네가 말하는 문제의 해결책이 될듯 하기도 하고.. -- ["erunc0"]
  • 호너의법칙 . . . . 10 matches
         로 변환하는 것을 호너(Horner)의 법칙이라 다.
         호너의 법칙을 이용 프로그램을 작성하여라.
         아마 a[11 안에 들어있는 값들은 an, an-1인듯데, 그렇다면 n의 값도 입력받는지? 11개 고정?
         입력이 정말 저런모양인 것인가??? 앞에 int라고까지 적혀있다닛..;;자씩 입력받는건가? 아니면 저 모양으로 파일입력? 아니면 소스내부에 존재?
         Xn이라는 값은 아마 X^n을 뜻하는듯 데, 맞는것인지..
         일반화된 식을 보고, 번에 파악하기가 어렵다면 n = 1 부터 차근차근 넣어서 손으로 풀어보세요. n = 2, 3, ... 식으로 문제파악이 될때까지 풀어보세요. 그런후에 적절 설계를 하고, 마지막으로 코딩을 하세요. 데블스캠프 세미나 때 하노이타워를 떠올려보세요. -- 보창
         배열은 선언하고, 다항식에서 변수 x값은 표준입력받으세요. 예제 output에서는 변수 x = 1입니다. 출력은 output.txt파일에 번 해보세요. 문제의 요구조건은 이정도 일것 같습니다. 좀 더 일반화된 프로그램을 만들고자 하는 분은 배열도 번 입력받아 보세요. -- 보창
  • 회비 . . . . 10 matches
          * 지출시 영수증을 반드시 받아서 보관, 기록을 다.
         = 회비운영에 대 건의 =
          deleteMe) 위에 저돈은 모지요?? -0- [이승]
          오늘 학과장님이신 최광남 교수님(실습실관리는 박재화교수님 이라더군요)과 이야기 하고 왔습니다. 지급 총액이 삭감되었다 하시더군요. 동네팀, ZP, Jstorm, netory 모두 49만원씩이라고 이야기 해주셨슴돠. 만원이 깍이긴 했지만 선방했죠 모. ㅋㅋㅋ - 이승
         마이너스군요...근데 왜 5만원이나 쓰인거죠? 준비물 구입비 10000원을 휘동이테 주고 간식은 3만원 어치 사기로 것 같은데요. -[강희경]
          급기야 회비 통장이 마이너스가 났군요. 저번에 위키설명회 2005에서 남은 만원을 넣어야 넣어야 다는 생각을 했었는데;; 요새 극심 생활고에;; 내일은 채워 넣어야 겠네요. 휘동형테 만원도 갚고요 ㅠ.ㅠ - 이승
  • 05학번만의C++Study . . . . 9 matches
         1. C++에 대 개념 잡기.
         * 정해준 범위를 혼자 공부다.
         * 일주일에 번 모임을 갖는다.
         * 공부 부분에 대해 얘기다.
         * 책의 설명이 부족 부분은 선배님께 여쭈어본다.
         * 숙제는 일요일 밤 12시 까지 제출다.
          * 나 왜 수요일로 되어 있지 ㅡㅡ;; 나 화요일인데... 그리고 책없으면 하기 힘든건가 ;;; 책을 어디서 구하지 아직 승이 형테 못빌렸는데...뭐 대충 숙제는 할께-윤정훈
  • 0PlayerProject/커널업로드작업정리 . . . . 9 matches
          * 통신을 위 COM Port 설정
          * 리눅스 서버쪽에 TFTP서버를 인스톨뒤, 메뉴얼대로 설정을 해준다.
          * tftp 파일명 위치 : 해당 파일을 지정 메모리 주소에 기록다.
          * go 위치 : 해당 위치의 프로그램을 실행다.
          * erase 시작위치 끝위치 : 시작 지점에서 끝 지점까지의 내용을 삭제다.
          * cp.b 시작위치 끝위치 크기 : 메모리의 시작지점에서 NOR Flash의 위치에 지정 크기만큼을 복사다.
          * 종류 : JFFS2 ( 메모리를 위 것이지만 조금 느림), yaffs ( 안정성이 보장되지 않지만, 그나마 나음)
  • 2ndPCinCAUCSE/ProblemA . . . . 9 matches
         같은 길이의 성냥개비가 여러 개 주어져 있다. 이것들을 평면에 늘어놓아서 삼각형을 만들려고 다. 삼각형의 변은 여러 개의 성냥개비를 직선으로 이어서 만들 수 있지만, 성냥개비를 꺾거나 잘라서 변의 부분을 만들 수는 없다. 성냥개비의 개수가 주어졌을 때, 이들 성냥개비를 사용하여 만들 수 있는 서로 다른 삼각형의 개수를 구하는 프로그램을 작성하시오. 예를 들어서 9개의 성냥개비로 만들 수 있는 서로 다른 삼각형은 3가지이다.
          (1) 주어진 성냥개비는 모두 사용하여 하나의 삼각형을 만들어야 다.
          (2) 삼각형을 개도 만들 수 없으면 0을 출력다. 예를 들어서, 주어진 성냥개비의 개수가1, 2, 또는 4인 경우에는 삼각형을 개도 만들수 없다.
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 삼각형의 개수를 출력다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
         === 입력의 예에 대 출력 ===
  • 2학기파이선스터디/서버 . . . . 9 matches
         lock = thread.allocate_lock() # 상호 배제 구현을 위 락 객체
          #참여자 이름을 읽어서 등록
          # 라인을 읽어들인다.
         lock = thread.allocate_lock() # 상호 배제 구현을 위 락 객체
          #참여자 이름을 읽어서 등록
          # 라인을 읽어들인다.
         lock = thread.allocate_lock() # 상호 배제 구현을 위 락 객체
          #참여자 이름을 읽어서 등록
          # 라인을 읽어들인다.
  • ACE/HelloWorld . . . . 9 matches
          * 먼저 [ACE] 라이브러리를 다운받아 컴파일해야 다. [http://riverace.com 여기]서 다운받아 컴파일다. 빌드 컨피큐레이션이 프로젝트별로 3~4개씩 있는데 이거 번에 컴파일하는데 30분 넘게 걸렸었다...-_-; (P4 2.4G, 512MB, VC6)
          * project setting 에서 link 탭에 aced.lib (디버그용), 또는 ace.lib 을 추가다. (프로젝트 홈 디렉토리에 lib, dll 파일이있거나 path 가 걸려있어야 다. 혹은 additional library path에 추가되어 있어야 다)
          GNU make를 사용하는 경우 다음과 같이 Makefile 을 만들어주어야 다. 간단 예) test.cpp 를 test로 빌드
         BIN = test # 소스파일과 같아야다. 이 Makefile은 test.cpp 를 찾아 빌드하려고 할 것이다.
  • APlusProject . . . . 9 matches
         Upload:Chasedocument.zip -- 재동오빠가 추적하라는거 할려고 했는데 아무래도 이거는 프로그램 아는 사람이 해야할듯데요
         보기 좋고 바로바로 알려주기 위해서 준비다고 생각했는데 요구사항 번호 이런게 있으면 옆에 요구사항 간단 언급도 필요할 것 같더라구요
         오빠가 말 문서 열어봤는데 클래스 이름이나 함수이름이 안적혀 있어서 적을수가 없었어요;;
         현재 이곳에 올려 놓는 자료는 모두 암호를 가지고 있습니다. SE 수업이 끝나면 모든 소스와 문서는 공개할 예정입니다. 혹시 파일 다운을 못받으신다면 '인터넷 익스플로어'에서 도구 -> 인터넷 옵션 -> 고급 -> 'URL을 항상 UTF-8로 보냄'의 체크를 없애고 재부팅 해야 다운 받으실 수 있습니다. (파일 이름의 글이 문제입니다)
         ExtremeProgrammingInstallled - XP 입문서. 서 있음. PL 필독.
         TestDrivenDevelopmentByExample - TDD 입문서. 서 있음. QA와 Eng는 필독.
         Refactoring - Refactoring의 바이블. 서 있음. Eng 필독.
         C# 공부를 위 책.
  • APlusProject/ENG . . . . 9 matches
         설치할때 필요 .NET Framework 파일은 바로 위에 파일 두개 나누어져 있습니다.
         해결방법: 글 파일 참조하세요.
          가상 디렉토리에 등록을 해주는데 그냥 복사 컴퓨터에서는 가상 디렉토리 등록이
          그래서 그냥 복사 컴퓨터에는 가상 디렉토리를 등록을 해줘야 합니다.
         다른 권에게도 쓰기 권을 주셔야 합니다.
         '모든 사용자에게 동일 폴더 공유 권을 지정(권장)'의 체크를 비활성화
         프로그램 확인 했습니다. 잘 되네요. 수고하셨습니다. 편 추가된 페이지들로 인해 기본 설계와 상세 설계가 약간 변경해야 할 듯 합니다. 구현 하면서 설계때 생각치 못했던 게 나와서 설계 문서에 영향을 주리라는 건 이미 예상했던 일입니다. --재동
  • ATmega163 . . . . 9 matches
          * 자체 프로그래밍 가능 플래쉬 메모리
         == 프로그래밍에 필요 유틸리티 ==
         == 웨비 사운드에서 구 ATmega 163 L 보드에 관 Testing ==
          * 먼저 웨비 사운드에서 ATmega 163L E board 를 구다. - ps 난 판매 사원이 아니다.. 더 좋은 것이 있으면 ..그걸..
          * ISR 모듈과 함께 Board에 장착다.
          * 용산 가서 9 pin 짜리 Serial Port 잭과 5.5volt 어덥터에 끼울 것을 준비다.
          * 전원 어뎁터를 연결하면 LED가 켜지며 TEST를 위 준비는 끝난다.
          * 이후 새롬 데이타맨에서 모뎀에 의 연결로 SETTING하고 baud rate를 19300(ㅠㅠ) 로 설정 후 reset 버튼을 누르면 [[BR]]
  • BeeMaja . . . . 9 matches
         마야라는 꿀벌이 있다. 마야는 수천 마리의 다른 벌들과 함께 육각형 모양의 벌집에서 살고 있다. 그런데 마야에게 문제가 생겼다. 그녀의 친구 윌리가 만날 장소를 알려줬는데, 윌리(숫놈 일벌)와 마야(암놈 일벌)는 서로 다른 좌표계를 사용다.
          * 윌리의 좌표계(오른쪽 그림) - 윌리(오른쪽)는 조금 지능이 낮아서 벌집 가운데 있는 1번 지점에서 시작해서 시계방향으로 걸어서 이동하는 방법밖에 쓸 수 없다.
         마야를 도와서 윌리가 쓰는 좌표계를 마야가 쓰는 좌표계로 변환해보자. 어떤 벌집 번호가 주어졌을 때, 그 번호를 마야의 시스템에서의 좌표로 변환해서 출력하는 프로그램을 만들어야 다.
         입력 파일에는 줄에 하나씩, 개 이상의 정수가 입력된다. 모든 벌집 번호는 100,000 미만이다.
         윌리가 알려준 번호에 해당하는 마야의 좌표를 출력다. 각 좌표를 나타내는 정수 쌍은 줄에 쌍씩 출력다.
  • BusSimulation/영동 . . . . 9 matches
          * 열심히 할라고 거 같지만 문제의 의도에서 벗어 났음. 이 문제는 실제 각 이벤트가 일어나면 다른 조건에도 긴밀하게 영향을 주고 받아야 제대로 돌아 간다. 버스가 이동할때와 버스 정류장에 도착할때 다른 데이터들에게 어떠 영향을 끼치는지에 대해서 생각해 보아야 다. 즉 각각의 데이터에 영향을 끼치는 이벤트가 어떠 상황에 발생하는가를 생각해보고 그 상황에서 영향을 끼치는 데이터에 어떠 방식으로 그 영향을 반영할 것인가도 생각해볼 문제- 상협
         #define road 300 //길은 바퀴 순회하는데 300킬로미터. 즉 5시간 걸린다.
          //일정 속도로 도로위를 지나다님
          x_min=0;//0으로 초기화. 다음 계산에 이상 값이 들어가지 않도록.
          cout<<a+1<<"번째로 출발 버스의 위치는 시작점으로부터 "<<bus_loc<<"km"<<endl;
  • C++Study_2003 . . . . 9 matches
         == 진행 방식에 대 토론 ==
          * 여러가지 방법이 있겠지만... 이번엔 담임이 주로 가르치는 방법이 아닌 학생이 중심이 되어 공부하고 발표하는식은 어떨까요? 처음 몇번은 담임이 세미나를 하는 식으로 하고.. 다음부터는 학생이 주제별로 준비를 해서 발표하고.. 부족 부분은 담임에 채워주는 방식.. --[상규]
          * 다고 해놓고 알바 때문에 못 할 가능성이 크네요 ㅡㅡㅋ
          * 아 담임 할 사람 명만 더 있으면 딱 좋겠는데... --[선호]
          원래 회의때 스터디에 대 이야기를 하려 했으나 스터디 희망자중 5명만 회의에 참석하여 이 5명으로 구성된 [5인용C++스터디]가 우선적으로 만들어진 것입니다. 나머지 분들도 스터디를 하시려면 두 그룹 정도로 나누어 스터디를 진행하시면 되겠습니다. 전부 꺼번에 스터디를 하기에는 좀 인원이 많습니다. --[상규]
          * 음.. -_-죄송합니다.. 영동이랑 연락을 하려다가 점점 늦어지네요.. 팀은 인수군과 협의 대로 나눠볼께요 ^_^;;;
          알바와 운전면허학원땜시롱,,,,,,역시 뭔가를 포기다는건 마음 아프군요....혼자라도 열심히 밤새며 공부하겠습니다 -[강희경]
          * 헉.. 선호형~ 제가 언제 오후 1시에 하자구 했어요^^;; 3시이후가 좋은데... 그래두 이왕 그렇게 정거 오늘은 나가구바꿔요^^ㅋ 글구.. 011-763-5032 이건 제 연락처니까.. 형 연락처두 좀^^ -[손동일]
  • CleanCodeWithPairProgramming . . . . 9 matches
          || 00:00 ~ 00:10 || Opening || 간단 소개 ||
          || 01:30 ~ 02:00 || PP 마무리, 중간 회고, Clean Code 소개 || Pair Programming에 대 소감 들어보기, Clean Code 오프닝 ||
          || 02:30 ~ 03:00 || 리팩토링 w/ Sonar || 자동화 도구를 이용 리팩토링 해보기 ||
          * 박희정, 안혁준, 고종이 있습니다. 부담가지실 필요 없을 것 같아요. 스터디 하는데 음.. 뭐.. 합니다. - [서지혜]
          * 간단 프로그램인데 다른팀 구조가 너무 많이 달라서 읽다보니 시간이 전부 흘러가버림 -.- - [장혁수]
          * 이번에 자바를 처음 접해서 형테 많이 배웠습니다. -[김도형]
          * 하나의 작업을 둘이 다는 점에서 당연히 어려운 점이 있을 수 밖에 없었지만, 막히는 부분이 생기면 바로 질문을 하거나 이야기를 통해서 문제를 해결 할 수 있는 점이 매력적이였습니다. - [조영준]
          * 전체적으로 시간이 좀 부족 느낌이 있어서 좀 아쉬웠습니다. 아마 현업이 실제로 그렇기 때문이겠지만... 페어 프로그래밍은 확실히 바쁜 상황에서 더 도움이 되는 것 같습니다. 정신이 없을 때 놓치기 쉬운 부분을 옆에서 잘 잡아주네요 - [서민관]
         === Sonar, Jenkins 등 세팅에 대 몇가지 ===
  • CommentEachOther . . . . 9 matches
         전에도 느꼈었고, 여러 대가들께서도 자주 말씀하시곤 하는데, 자신의 코드의 퀄리티를 높이려면 남이 만들어놓은 소스를 보라는 이야기가 있다. 이 글을 읽는 분들도 동의하리라 생각다. CommentEachOther 는 [AOI]나 LittleAOI 처럼 여러 사람이 문제에 대 풀이를 올리고 그것들에 대 코멘트를 하는 스터디라 할 수 있겠다. 여기서 코멘트라 함은 소스코드에서 명령문 옆에 붙이는 간단 부연설명이 될 수도 있겠고, 코드 전체에 대 비평이나 느낌일수도 있다. 처음에는 간단 문제로 시작해서 디자인 principle 이 들어가있는 프로그램으로 횟감의 스케일을 키워나가는게 어떨까 생각을 다. 나는 그냥 제안하는 입장이고, 간혹 간단하게 작성 소스를 올리는 정도로만 참여하도록 하고, 적극적인 참여를 할 사람들이 생기면 이곳에 문제와 자신의 코드를 올리고 토론을 해봤으면 좋겠다. 토론의 방법이야 오프라인 모임에서 하거나 따로 코멘트 페이지를 만들거나. 자. 다들 어떻게 생각하시는지? 참여할분들(!) 계시면 아래에 참여자 목록과 문제를 업로드해 주셨으면.~ - 임인택
  • CompleteTreeLabeling . . . . 9 matches
         모든 잎(leaf)의 깊이가 같고 모든 내부 노드의 차수(degree)가 k인(즉 분기계수(branching factor)가 k인) 트리를 k진 완전 트리(complete k-ary tree)라고 다. 그런 트리에 대해서는 노드의 개수를 쉽게 결정할 수 있다.
         k진 완전 트리의 깊이와 분기계수가 주어졌을 때 트리의 노드에 번호를 붙일 수 있는 모든 가능 방법의 수를 결정해야 다. 이때 각 노드의 레이블은 그 자손의 레이블보다 작아야 다. 이진 힙 우선 순위 큐 자료 구조가 바로 이런 속성을 가진다(이진 트리이므로 k=2). N개의 노드가 있는 트리에 번호를 붙일 때, 1에서 N까지의 레이블을 붙일 수 있다고 가정하자.
         입력 파일은 여러 줄로 구성된다. 각 줄에는 두 개의 정수 k와 d가 들어있다. k>0이며, 이 값은 k진 완전 트리의 분기계수를 나타낸다. d>0며, k진 완전 트리의 깊이를 나타낸다. k X d ≤21인 모든 k와 d에 대해 작동하는 프로그램을 만들어야 다.
         입력된 각 줄에 대해 줄의 결과를 출력다. 그 줄에는 위에서 설명 조건을 만족시키면서 k진 트리에 레이블을 붙이는 경우의 수를 출력다.
  • ComputerGraphicsClass . . . . 9 matches
         수업내용: Computer Graphics 에 대 전반적인 이해. 주로 3D 관련 내용과 프로젝트.
         2004년 부터는 프로젝트시 OpenGL 을 이용다. (하지만 파이프라인 밑바닥부터 구현 다)
         [1002] 가 봤던 OpenGL 입문서. 간결 설명과 실제로 입력해보고 바로 확인할 수 있는 간결 예제가 장점. 약 200여페이지로 필요 내용만 간결하게 들어있는게 장점이다.
         가볍게 읽고 실용적으로 써먹을만 Problem - Solution 응용서.
         OpenGL 로부터 시작하여 개념들을 파고드는것이 있고, 그 반대를 해도 좋다. 중요건, 개념을 제대로 이해하는것.
         실제 수업의 경우는 OpenGL 자체가 주는 아니다. 3DViewingSystem 이나 Flat, Gouraud, Phong Shading 등에 대해서도 대부분 GDI 로 구현하게 다.(Flat,Gouraud 는 OpenGL 에서 기본으로 제공해주는 관계로 별 의미가 없다)
  • Counting . . . . 9 matches
         구스타보는 수를 셀 줄은 알지만 수를 쓰는 방법은 아직 배운지 얼마 되지 않았다. 1,2,3,4까지는 배웠지만 아직 4와 1이 서로 다르다는 것은 잘 모르기 때문에 4라는 숫자가 1이라는 숫자를 쓰는 또 다른 방법에 불과하다고 생각다.
         그는 그가 만든 간단 게임을 하면서 놀고 있다. 그가 알고 있는 네 개의 숫자를 가지고 수를 만든 다음 그 값을 모두 더다. 예를 들면 다음과 같은 식이다.
         112314 = 1 + 1 + 2 + 3 + 1 + 1 = 9 (구스타보는 4 = 1 이라고 생각다.) |}}
         구스타보는 합이 n인 수를 몇 개 만들 수 있는지 알고 싶어다. n = 2 일 경우에는 11,14,41,44,2 이렇게 다섯 개의 숫자를 만들 수 있다 (5 이상의 수도 셀 수는 있다. 다만 쓰지 못할 뿐이다). 하지만 2보다 큰 경우에 대해서는 그가 만들 수 있는 수의 개수를 알 수가 없어서 여러분에게 도움을 청했다.
         1 이상 1,000 이하의 임의의 정수 n이 줄에 하나씩 입력된다. 파일 끝 문자가 입력될 때까지 계속 읽어와야 다.
         입력된 각 정수에 대해 합이 n이 되는 숫자의 가지 수를 나타내는 정수를 줄에 하나씩 출력다.
  • CppStudy_2002_1/과제1/Yggdrasil . . . . 9 matches
          //beany의 ct 멤버를 설정다.
          show(testing); //testing 문자열을 번 출력
          show(testing, 3);//testing 문자열을 세 번 출력
         //함수는 사용자에게 이름과 핸디캡을 요구
         //이름이 입력되면 1을 리턴하고, 이름이 빈 문자열이면 0을 리턴
         //golf 구조체를 제공된 이름과 핸디캡으로 설정
         //함수는 handicap을 새 값으로 초기화
         //함수는 golf 구조체의 이름을 표시
  • Curl . . . . 9 matches
         Curl은 미국 MIT(매사츄세츠 공과대학)의 연구 프로젝트에서 시작된 새로운 Web 언어입니다. 서버에 대부분의 처리가 집중되는 기존의 웹 어플리케이션과는 달리 클라이언트측에서 대부분의 처리를 실행하는 「리치·클라이언트」를 실현할 수 있는 점이 최대의 특징입니다. 실현 가능 어플리케이션을 중심으로 Curl의 전모를 알아 보도록 하겠습니다.
         요즘은, 모든 기업이Web 어플리케이션을 이용하고 있다고 해도 과언은 아닙니다. 고객에게 정보를 제공하는 Web 사이트에 머무르지 않고, 사내의 기간계나 정보계는 물론이고 BtoB(기업간 전자상거래)나 BtoC(소비자대상 전자상거래) 등의 다양 시스템에서 Web 기술이 이용되고 있습니다.
         편, Web 어플리케이션의 과제가 표면화하고 있습니다. 처리가 서버에 너무 집중된다는 것이 가장 큰 문제점으로 거론되고 있습니다. 시스템 관리의 편리성이라는 관점에서 보면「클라이언트 측에는 Web 브라우저만 있으면 된다」라는 것은Web 어플리케이션의 아주 큰 장점입니다만, 그 때문에 클라이언트측의 “표현력이 약하고”, “조작하기 어렵고”, “응답 속도가 느리다” 등의 문제점이 부각되고 있습니다.
          Ajax프로그래밍을 해본적이 없어서 Gmail에서 관찰 내용을 기준으로 해보면... 아마도 curl 로 만들어진 빠른 속도의 애플리케이션을 이용해서 좀더 다양 처리 같은게 가능하지 않을까요? 뭐 그래픽 에디터를 activex를 이용하지 않고도 만들 수 있다던지.. 그리고 네트워크가 disconnect된 상태에서 사용자가 작업 내용을 보관하고 있다가 connect된 상태로 바뀌면 작업을 처리하는 일같은 것도 가능할 것 같고요.(ajax가 jscript+dhtml을 이용 기술이라고 아는데 이런것도 가능지는 모르겠네요.;;) 아무래도 로컬의 runtime위에서 작동을 하는 만큼 유저의 입장에서 좀더 다양 상용의 용도가 있을 것이라는 생각이드네요. 물론 runtime 이 있기 때문에 상업적 표준이 되기전에는 기업용 시장에서만 팔릴 것들에만 쓰일지도 모르겠고요. - [eternalbleu]
  • DataStructure . . . . 9 matches
          * 2월 3일까지 짓 : 트리까지 대충 봤다. 소스는 안보고 개념만 대강~
          * 2월 4일 : 옛날에 링크드 리스트 다시 번 해보고 있음.이번엔 double로
          * 2월 10일 : 그 동안 동안 못했음. 핑계를 대자면.. 감기..--; 또 너무 마니 다른 걸 찔러놔서..--;
          * 어째 시험기간에 공부할라고 정리하는 듯 느낌이 강하게 든다.. 점점..--;
          ''하지만, 이는 기존 70,80년대 Structured Programming에서 보는 프로그램의 상당히 제적인 시각이다.''
          * 위의 공식을 보건대 훌륭 프로그래머가 되기 위해선 자료구조 알고리즘이 필수이다.
          * 어쨌구나 중요건 중요거겠죠?^^;;
  • Debugging/Seminar_2005 . . . . 9 matches
          * 디버깅은 무엇인지 같이 번 얘기를 해본다.
          * 디버깅은 주로 구문적인 에러보다는 컴파일은 되더라도 자신의 의도 값이 나오지 않을 경우에 많이 다.
          * 번에 하나씩의 버그를 수정하고 테스트 (번 변경될때마다 컴파일을 해본다.)
          * 과학 시험에서도 하나의 인자를 바꿔 가면서 실험을 다.
          * 테스트를 많이 해야할 경우에 테스트 케이스를 만들어서 테스트 시간을 절약다.
          * 버그 리포트 작성 -> 이건 준비자도 안해봤다. 프로젝트가 좀더 커질 경우 이런 게 필요하다고
          * 혼자서 자신에게 묘사 하기도
  • ErdosNumbers . . . . 9 matches
         헝가리 출신의 수학자 폴 에르되시(Paul Erdos, 1913-1996)는 20세기의 가장 유명 수학자 가운데 하나로 꼽힌다. 에르되시와 함께 논문을 쓴 경험이 있는 수학자들도 존경을 받을 정도니 그의 명성을 짐작할 수 있을 것이다.
         주어진 논문과 논문 저자를 바탕으로 에르되시 수를 계산하는 프로그램을 만들어야 다.
         입력의 첫번째 행에는 시나리오 개수가 들어있다. 각 시나리오는 논문 데이터베이스의 이름의 목록으로 구성된다. 각 시나리오의 첫번째 줄에는 P와 N이라는 자연수 두 개가 입력된다. 그 다음 줄에는 논문 데이터베이스가 입력되며 각 논문마다 줄씩 저자에 대 정보가 입력된다. 각 논문에 대 정보는 다음과 같은 식으로 기술된다.
         각 시나리오에 대해 "Scenario i"(i는 시나리오 번호)라는 내용이 들어있는 행을 우선 출력다. 그 다음 줄부터는 입력된 모든 이름에 대해 이름과 에르되시 수를 출력다. 저자의 이름은 입력된 순서대로 출력된다. 에르되시 수는 시나리오에 들어있는 논문 데이터베이스를 기반으로 계산다. 데이터베이스에 있는 논문으로 볼 때 에르되시와 전혀 관계가 없는 저자들의 에르되시 수는 "infinity"로 출력다.
  • ExtremeBear/Plan . . . . 9 matches
         ==== 프로젝트를 어떠것을 염두하며 할까? ====
          xp를 통 프로젝트의 결과물보다 xp프로세스 자체를 배울 수 있다는게 중요하다.
          Eclipse에서 간단 프로젝트 사용과 ["JUnit"],CVS 사용하기 시범
          * 함수 : 동사와 명사의 조합으로 이루어지며 첫 단어의 첫글자는 소문자로 시작하고 두번째 단어부터는 대문자로 시작다 -> (ex testCase)
          * 변수 : 명사와 명사의 또는 동명사와 명사 또는 분사와 명사의 조합이로 이루어지며 멤버 변수, 지역 변수, 전달 인자든 뭐든 상관 없이 첫 단어의 첫글자는 소문자로 시작하고 두번째 단어부터는 대문자로 시작다 -> (ex backgroundColor)
          특별 일이 없는 월(공대로비),화(신피),수(공대로비) 오후 5시를 기본으로 다.
          전날 것 오늘 할것 다음날 할것 이야기
  • HotterColder . . . . 9 matches
         뜨거워 차가워라는 게임이 있는데, 게임 방법은 다음과 같다. 일단 A가 방을 비우면 B가 방 안 어딘가에 어떤 물건을 숨긴다. A는 (0,0) 위치로 방에 다시 들어와서 방 안의 다양 위치를 돌아다닌다. A가 새로운 위치로 움직였을 때, 물건을 숨겨둔 위치와의 거리에 따라 B가 이동 결과를 말해준다. 더 가까워지면 "뜨거워(Hotter)"라고 말하고, 멀어지면 "차가워(Colder)"라고 말하고, 차이가 없으면 "똑같아(Same)"라고 말다.
         최대 50줄까지 입력될 수 있으며, 각 줄마다 (x, y) 좌표를 나타내는 숫자 쌍과 "Hotter", "Colder", "Same" 중 가지가 입력된다. 숫자 쌍은 방 안에서의 위치를 나타내는데, 방은 (0,0)과 (10,10) 두 점에 의해 만들어지는 정사각형 모양이라고 가정하자.
         입력된 각 행에 대해 물건이 놓여있을 가능성이 있는 위치의 넓이 총합을 출력다. 줄에 하나씩 출력하며, 소수점 둘째 자리까지 출력다. 조건에 맞는 영역이 존재하지 않으면 '0.00'을 출력다.
  • HowBigIsIt? . . . . 9 matches
         이안이 캘리포니아로 이사를 가기 위해 짐을 싸고 있는데, 지금까지 모은 원도 포장해야 다. 일련의 원이 주어졌을 때 그 원들을 모두 집어넣을 수 있는 가장 작은 직사각형 상자의 크기를 구하는 프로그램을 만들어야 다.
         모든 원은 상자 바닥에 닿아야 다. 아래에 원을 직사각형 상자에 집어넣는 방법이 나와있는데, 이 그림에 나온 배치법은 최적의 방법이 아닐 수도 있다. 조금만 생각해보면 알겠지만, 최적화된 방법이라면 모든 원들이 서로 맞닿아있어야만 다.
         첫째 줄에는 테스트 케이스의 개수를 나타내는 양의 십진수 n(n≤50)이 입력된다. 그 밑으로 n줄에 걸쳐서 일련의 수들이 입력되는데, 각 수는 스페이스로 구분된다. 각 줄의 첫째 줄은 8 이하의 양의 정수 m이며, 그 줄에 몇 개의 수가 더 들어있는지를 나타낸다. 그 뒤로 m 개의 수가 입력되는데, 각각 상자에 집어넣어야 할 원의 반지름을 의미다. 이 수들은 꼭 정수가 아니어도 된다.
         각 테스트 케이스에 대해 원들을 모두 포장할 수 있는 가장 작은 직사각형 상자의 크기를 출력다. 각 케이스에 대 결과가 서로 다른 줄에 출력되어야 하며, 소수점 아래로 셋째 자리까지 출력다. 숫자가 1보다 작지 않은 경우에는 앞에 불필요 0을 덧붙이지 않는다(1 미만인 경우에는 0.543 같은 식으로 앞에 0을 하나 붙여준다).
  • ImmediateDecodability . . . . 9 matches
         기호의 코드가 다른 기호의 앞부분에 존재하지 않으면, 기호의 집합을 암호화하는 것은 직접 해독 가능하다. 모든 코드는 이진 코드이고, 코드 집합에서는 동일 코드가 존재하지 않으며, 각 코드는 적어도 1개 이상의 비트와 10개 이하의 코드를 갖는다. 각 집합은 적어도 2개 이상, 8개 이하의 코드를 갖는다.
         다음 코드는 직접 해독 가능성이 존재다.
         A:01 B:10 C:010 D:0000 (A가 C의 앞부분에 존재다)
         각 그룹은 다른 그룹과 따로 처리해야 다. 그룹의 코드가 다른 그룹의 코드와는 연관해서 처리하지 않는다. 즉, 각 그룹은 따로따로 처리해야 다.
         각 그룹에서 프로그램은 그룹의 코드들이 직접 해독 가능성이 있는지를 결정하고, 주어진 그룹 번호와 그룹의 직접 해독 가능성 여부를 줄씩 출력다.
  • LUA_4 . . . . 9 matches
         sum은 a,b 라는 매개 변수를 받아 a+b 연산을 후 반환해 주는 함수 입니다. 이제 좀 특이 루아만의 가변 매개변 수, 복수 반환 함수를 만들어 볼까요?
         함수는 사용하기에 따라 변형할 수 있는게 많아서 천천히 다양 방법을 설명하겠습니다. 대신 변수의 범위(scope)에 대해서 간단하게 예제로 살펴 보겠습니다.
         >> local inside = 2 -- inside는 local 에서만 쓸 수 있도록 선언다.
         local 이 없이 변수를 선언다면 함수 밖에서도 값을 참조/변경 할 수 있습니다.
         변수 범위는 이 밖에도 다양 이슈를 만들 수 있습니다. 예를 들면 do ~ end 문에서도 local 로 범위를 정할 수 있고 function 자체도 변수와 같이 범위(scope)를 정하여 사용할 수 있습니다. 또 local을 사용하지 않으면 전역 범위 내에서 변수나 함수 자체를 접근/변경할 수 있습니다.
  • MFC/AddIn . . . . 9 matches
         VSC++에는 IDE에 붙여서 프로그램 개발 환경의 기능을 향상시키는 다양 애드인 들이 있다.
         ''여기저기서 수집 자료임;;''
          메모리릭, 메모리 오버런등의 오류를 자동으로 발견하는 요긴 툴.
          유용 단축키 제공, 코드 생성을 간편하게 다.
          Ctrl+5 -> Ctrl+1 -> Ctrl+6: 커서가 있는 위치의 멤버 함수의 선언에 대 정보를 저장. 함수의 몸체가 자동으로 생성된다.
          코드템플릿기능을 이용해서 자동으로 주석 생성을 가능케다.
          공동 작업에 필요 소스 관리 도구이다. source merge 기능이 강력하다. conflict 를 auto merge 하는 기능이 뛰어남.
          ''종종 클래스 뷰가 이유없이 날아가는 일이 발생다. 그런 경우를 위해 써먹으면 좋을 듯''
  • NiceMilk . . . . 9 matches
         꼬마 토미는 빵에 우유를 찍어 먹는 것을 좋아다. 빵에 우유를 찍을 때는 빵의 변이 컵 바닥에 닿을때까지 빵을 컵 속에 집어넣는다. 그래서 밑에 있는 그림과 같은 모양으로 빵을 우유에 적실 수 있다.
         컵에 들어있는 우유의 양이 제되어 있기 때문에 빵의 밑변과 우유가 이루는 수면 사이 영역만 우유로 적실 수 있다. 우유의 깊이는 h며, 빵에 우유를 계속 찍어도 우유의 높이는 줄지 않는다. 토미는 이런 식으로 최대 넓은 영역을 우유로 적시려고 다. 하지만 빵을 우유에 담그는 횟수는 최대 k번으로 제되어 있다. 컵은 빵을 집어넣을 때 전혀 걸리지 않을 만큼 충분히 크다고 가정하자.
         k번 담가서 빵을 우유에 적실 수 있는 최대 넓이를 소수점 밑으로 둘째 자리까지 출력다. 각 테스트 케이스마다 줄씩 결과를 출력다.
  • NotToolsButConcepts . . . . 9 matches
         [임인택]은 1학년때에 수업시간에 보는 책을 어느정도 보았다고 생각하고 난 후, 형들테 이런것을 많이 질문했던 기억이 난다.
         지금 이 순간에 후배들이 같은 질문을 다면 NotToolsButConcepts 라는 대답을 해주고 싶다(단, 언어도 하나의 툴이라고 가정할 경우). 1, 2년 후배를 받을 때까지는 잘 몰랐지만, [데블스캠프]나 새내기가 참가하는 세미나를 찾아갈 때마다 매번 들리는 소리였다.
          SICP를 책을 보면 예제 코드가 SchemeLanguage로 나온다. SchemeLanguage에 대해서는 잘 모르지만, 이 언어를 사용하면 개념 전달을 쉽게 할수 있어서인듯 싶다. 툴이야 몇번 쓰면 자동적으로 익혀지게 되지만(더군다나 요즈음에 나오는 툴들은 더하다) 하나의 개념, 패러다임을 자기 것으로 만드는 데에는 얼마나 오랜 시간이 걸리는가. (ToyProblems 때도, 간단 문제를 가지고 여러 가지 방법으로 접근하였던 기억이 난다). 밥을 짓는 법을 안다면, 가스불로 만들던, 전기밥솥에 하던 상관이 없다.
         구현을 하는 사람은 늘 배경 개념들에 대해 사고해야 할것이며, 개념을 공부하는 사람은 구현 레벨에서의 코드와 결과물에 대해서 생각해보아야 할 것이다. 쪽만으로의 치우침은 위험하다는 생각을 해본다. -- [1002]
         NeoCoin 은 이렇게만 생각했지만, 2년 전 즈음에 생각을 바꾸었다. 구지 영어로 비슷하게 표현하면 UseToolAndLearnConcepts 이랄까? 돌이켜 보면 이런 상황을 더 많이 접하였다. 언어를 떠나 같은 시기 동안에 같은 일에 대하여, 같은 도구를 사용하는데, 달뒤의 사용 정도와 이해도가 다른 사람들을 자주 보게 된다. 도구의 사용 능력 차이가 재미와 맞물려서 도메인의 사용 폭의 이해도 역시 비슷하게 따라오는 모습을 느낄수 있었다. 멋진 도구에 감탄하고, 사용하려는 노력 반대로 멋지지 않은 도구에서 멋진 면을 찾아내고 사용하려는 노력 이둘은 근본적인 Concept을 배우는 것과 멀리 떨어진것은 아닌것 같다.
         NotToolsButConcepts라는 말은 수사적인 표현으로 용납할만 범위에 든다고 봅니다.
         저는 이 페이지가 컴퓨터 과학 뿐만이 아니고 대학생들의 공부 전반과 관련된 문제라고 생각합니다. 대학에서 무엇을 배워야 하는가? 무엇을 배우려고 노력해야 하는가? 저는 그것이 도구이건, 개념이건 간에, 그것이 좀더 근본적이고, 그것을 만든 사람의 사유에 근접할 수 있는 것이고, 그것을 배우는 과정에서 자신의 사고 근육을 제대로 단련할 수 있는 것이어야 다고 봅니다.
         오도할 위험을 안고 구체적인 예를 가지 든다면, Sway라는 GUI 라이브러리를 공부할 때, 동시에 Sway를 만든 사람(그리고 그 사람의 아버지, ...)의 머리속과 사고과정을 들여다보고(관련 선구적 논문들을 찾아보고), 그것과 동기화해보고, 다시 그것에 대해 스스로 판단을 내려보는 노력을 하고, 이를 다시 간단하게 구현해서 실험해 보고 하는 것을 반복하는 것이 제가 봤을 때에, NotToolsButConcepts의 정신에 맞지 않나 하는 생각이 듭니다. 이것이 제가 배운 "제대로 학문하는 법"입니다. 남의 최종 결과물(artifact) 속에서만 계속 놀지 말고, 그가 그걸 만들어낸 문제의식과 과정을 내 몸으로 직접 체험해 보고 거기에 나 스스로 판단을 내려 보는 것입니다.
         가족오락관에서 보면 여러명이 일렬로 서서, 맨 끝의 사람에게만 속담이나 사자 성어를 하나 보여주고, 그걸 몸짓으로 차례로 전달해서 마지막 사람이 맞추는 게임이 있습니다. 최초 몸짓을 하는 사람의 의도를 이해하지 않고 그 모션을 그대로 이용할 수는 있습니다. 하지만 그 내면적 의미를 꿰뚫고 있지 못하다면, 비록 아무리 잘 관찰을 했다고 해도 나는 분명 모션의 일부를 왜곡하거나 빠트린 채 전달을 하겠지요. 그러나 이용을 계속 하다보면 우연히(그러나 꽤 오랜 시간 후에) 그 의도를 깨칠 수도 있겠지요. 하지만 우리는 "의도적으로" 그 사람의 의도를 들여다 보려는 노력을 해야 합니다 -- 그 사람의 사고를 거슬러 올라가기도 하는 등 여러 방법을 동원해서 말이죠. 그렇게 되면 우리는 똑같은 사자 성어에 대해 훨씬 더 우아하고 더 단순하며 명료하게 다듬은 모션을, 혹은 전혀 다른 모션을 새로이 창조해서 다음 사람에게 전달할 수도 있지 않겠습니까?
  • NumericalAnalysisClass . . . . 9 matches
         전산학에서 OOP의 발전을 별로 수용하지 않은 대표적인 두 영역이 컴파일러와 수치해석 쪽이다. 또, 대부분의 수치해석 교과서들은 잡다 기법과 코드의 백과사전 수준에서 그치고 있다.
         하지만 이 책은 다르다. 어떤 문제를 접했을 때 어떻게 프로그램을 새로 만들어 내야하는지, 디자인은 어떻게 해야하고, 훌륭 프로그램을 어떻게 만드는지를 말하고 있다. 게다가 OOP를 "정말" -- 시늉으로써만이 아니고 -- 사용다. 모든 코드가 Java와 Smalltalk 양자로 쓰여있는 점도 큰 장점이다.
         세간에서 간혹 추천서적으로 꼽히기도 하는 Numerical Recipe 시리즈는 사실 전문가들로부터 "최악의 책"으로 꼽히고 있다. 단순히 책의 구성이나 깊이 등을 떠나서 잘못된 정보가 너무 많다, 수치해석에 대해서는 아마추어의 수준도 못되는 사람이 썼다는 비판이다. 인터넷에 이 책에 대 전문적인 서평이 많이 있다 -- 문제점 하나하나 꼼꼼하게 비판 것이다.
         수학에 약 1002로선 첫방에 이해를 못해서리; 수업때 이해안간건 수치해석책과 3D Graphics 관련 책을 이리저리 섞어보면서 나름대로 더듬거리며 따라갔다. (수치해석책들은 Bezier 가 별로 언급되지 않는 관계로) --석천
         생각하면 2학년에 들을 만 3학년 수업정도라고 생각됨. 수업의 난이도도 그다지 높게 책정하고 진행되지도 않고, MFC에 대 기본적 스킬만 익히고 있다면 마지막 과제까지 해결하는데 큰 문제는 없음 - [eternalbleu]
  • OurMajorLangIsCAndCPlusPlus/float.h . . . . 9 matches
         float형에서 가수부를 표현하는데 사용되는 비트수. 다음 표현식은 가수부 숫자들의 제된 수 때문에 1. 0이 나온다(수학적으로는 그것이 될 수 없을 지라도):
         이 매크로의 값은 float형이 표현할 수 있는 최대 수를 의미다. 이것은 적어도 1E+37이 된다. 값 자체도 float형을 갖는다. 표현 가능 가장 작은 수는 -FLT_MAX가 된다.
         이것은 float형을 위해서 가능 지수값으로 가장 작은 값이다. 더 자세하게는, FLT_RADIX에서 1을 뺀 값이 float형으로써 일반화된 플로팅 포인트 수로써 표현될 수 있는 최소 음의 정수이다.
         || 1 || 가장 가까운 수로 반올림다. ||
         || 2 || 무대로 양의 값을 향다. ||
         || 3 || 무대로 음의 값을 향다. ||
  • ProgrammingPearls/Column5 . . . . 9 matches
          * 큰 프로그램에서는 툴에서 제공하는 디버깅을 쓰지만, 이렇게 작은 알고리즘 같은 것에서는 print문 같은걸 쓰는게 편하다고 다.
          * 또 Binary Search의 가장 중요 전제 조건인 sort되었는가? 체크해주는 함수를 앞에다 써준다. 이 경우에는 search를 번만 해주면 n + lg n 이렇게 될것이다. 하지만 sort되었는가 체크하는 함수는 번만 해주면 되므로, search를 몇천,몇만번 돌리면 결국 lg n 에 수렴할 것이다.
          * 별거 없다. 그냥 배열을 생성다음, for를 정해진 횟수만큼 돌려가면서 assert체크해준다. 끝이다.--; 이렇게 함으로써, 사이즈가 0, 1, 2의 제곱수, 2의 제곱수가 아닌수 모든 경우의 수를 테스트해볼수가 있다.
          * 역시 별루 볼 거 없다. search 1000번 이상다음 걸린 시간에 대해 그래프를 그려보면, lg n 의 그래프가 나온다.
          * Debugging : 발판이랑 고립된 프로그램이나, 임베디드된 곳에서는 하기가 힘들다. Column5에서 설명다.
  • ProjectCCNA/Chapter5 . . . . 9 matches
          * 네트워크 영역에서 ip주소는 네트워크 부분은 다 같아야하고, 호스트 부분은 모두 달라야함.
          * ip주소에서 네크워크 부분과 호스트 부분을 나누는 방법을 약속 것이 ip주소의 class(A~E)
          * /표시는 network부분과 host부분을 구분 것.
          * 네트워크를 나타낼 땐 호스트 부분을 0으로 표현. 그리고 각 클래스에서 표현 가능것의 제일 작은 수와 제일 큰수는 사용불가.
          *호스트부분이 모두0은 네트워크, 1은 브로드캐스트 번호이므로 사용하지 않는다. -> 각 클래스에서 사용가능 최대 호스트수는 순계산-2해줘야함.
          * 서브넷 마스크 : 주어진 ip주소를 네트워크 환경에 맞게 나누어 주기 위해서 씌워주는 이진수 조합 -> 이름 그대로 보조로 다시 번 나눠준다.
          * 네트워크를 나눠 쓰지 않더라도, 디폴트 서브넷 마스크를 사용다.
          * section9 이후는 서브네팅에 대 예시와 서브넷 마스크에 대 재정리(...)
  • ProjectSemiPhotoshop/기록 . . . . 9 matches
         작업에 대 기록을 적는 페이지
          * 11/19 상민과 현민이 이미지 프로젝트의 시작을 위 시작 코딩
          * Bitmap 로딩과, 저장부에 대 작성. 기존 메모리 다루기가 힘들것 같아서, 추상화 목표.
          * 상민 : MFC MDI 를 이용 구성
          * 2차 integragion - 추가기능 + 새로운 라이브러리(하지만 추가기능에 대 대응 미흡으로 철수)
          * 흑백에 대 명암 처리 - Null, Negative, Gamma Correction, Contrast Stretched Compression, Posterizing, Clipping, Iso-intensity Contouring Range-hilighting
          * Contrast Stretching, Histogram Equalisation, 윈도우로 설정 영역에 대해서만 '7. 영상 질 향상' 적용
          * 참신 아이디어 (특정부분 강조) 구현
          * 3차 Integration : 11월 29일에 작성 기능들 하나로 합침.
  • ProjectVirush/UserStory . . . . 9 matches
         사용자는 id, pw를 입력다.
         외계인 본부에서 받는 지령을 볼 수 있다. 지령은 시간순으로 쌓이며, 지난 지령을 수행 결과를 볼 수 있다.
         지구를 위성에서 보듯이 보여준다. 지도에서 점으로 표시된 바이러스의 분포도를 볼 수 있다. 그래서 플레이어가 자신의 바이러스를 보낼 위치를 선정하도록 다.
         또 지구에서 숙주를 잡아올 지역을 선택하는데도 쓰인다.
         숙주를 실험 & 분석하는 곳이다. 숙주 내에 어떠 바이러스가 있고 특별 바이러스가 있을때 어떠 항체가 생성되는지, 바이러스와 항체의 비율 등을 알 수 있다.
         바이러스의속성을 선택하여 바이러스를 조립다.
         명령 스케쥴을 보여준다. 스케쥴을 추가하거나 삭제할 수 있다.
  • ProjectZephyrus/일정 . . . . 9 matches
          - 상대의 팀에게 디자인에 관해서 설명다.
          팀의 관리자였던, 류상민과 강석천은 진행시 전체적인 문제점과 개선 방향을 이야기 다.
          - 프로젝트에서의 자신의 역할, 느낀점, 잘못된점, 개선 방향 을 이야기 다.
          - 개인이 생각 프로그래밍, 코딩 지향점에 관해서 이야기 다.
          - 클라이언트, 서버의 배포를 위 jar와 소스 배포를 만들어 링크다.
         ps2. 저번주에 의논 대로라면, 오늘 화요일에 해야 하지만
         ||6.3(월)||2시||재동,상민||이제까지의 진행 상황과 디자인에 대 상민->재동 설명||
  • RAD . . . . 9 matches
         우수 소프트웨어 개발 도구를 이용하여 전통적인 개발 방법보다 더 적은 시간과 비용으로 더 좋은 품질의 소프트웨어를 개발하는 방법.
         전통적인 소프트웨어 개발 방법(waterfall 모델)은 오랜 기간의 분석, 설계, 프로그래밍 그리고 테스트 과정을 되풀이 후 최종 단계에서 비로소 사용자가 요구 시스템을 완성할 수 있었다. 그러나 이와 같은 방법으로는 소프트웨어의 생명주기가 점차 짧아지는 등의 급변하는 프로그램 시장과 사용자의 요구를 수용하기가 매우 어렵다. 따라서 소프트웨어의 생산성을 향상시키면서 동시에 개발 기간과 비용을 단축시킬 수 있는 방법이 요구되었고, 이러 연구의 결과로 RAD와 같은 개념이 등장하게 되었다.
         RAD는 우수 소프트웨어 개발 도구를 이용하여 전통적인 개발 방법보다 더 적은 시간과 비용을 투자하더라도 보다 나은 품질의 소프트웨어를 개발할 수 있는 소프트웨어 개발 과정을 말다. 이러 RAD 방식의 개발은 응용 프로그램의 전체 개발 과정을 하나로 통합하여 기존의 반복적이고 점진적인 소프트웨어 개발 과정은 그대로 수용하면서도, 개발 과정 초기에 사용자에게 실행 가능 기본적인 프로토타입을 제시하여 사용자의 요구를 훨씬 더 명확하게 수용하여 차후에 일어날 수 있는 많은 문제를 줄이고, 설계 과정을 그대로 개발에 재사용함으로써 전체적인 개발 기간의 단축을 꾀하는 것을 목적으로 다.
  • RUR-PLE/Etc . . . . 9 matches
          * 이 경우에서의 처리를 while 문을 사용하여 처리다.
          * 현재 월드를 바귀 도는 로직을 만든다.
          * 현재 월드를 바귀 도는 로직을 만든다.
          * 현재 월드를 바귀 도는 로직을 만든다.
          * 현재 월드를 바귀 도는 로직을 만든다.
          * 처음 시작 창문 말고 나머지 창문들을 beeper를 앞에 두는 식으로 해서 닫는다. 로봇은 처음 시작하는 창문으로 온다음에 그 창문을 바라보아야 다. 시작시에 로봇은 beeper를 충분히 가지고 있다.
          * trash2.wld 파일을 연다. trash1에서 작성 로직이 여기서도 돌아가야 다.
  • RonJeffries . . . . 9 matches
         40여년간 프로그래밍을 해온 분인데, 인터뷰 중에 "장차 프로그래머가 되려는 국의 젊은이들에게 어떤 말을 해줄 수 있겠느냐"라는 질문에 답 내용이 인상적입니다.
         왜이리 찔리는지. -_-; 특히 마지막문장.. 프로그래밍을 하다보면 가끔 누구를 위 프로그램인가를 간과하게 되는 경우가 많게 되는지라서.. ^^;
         예전 컴 정내권씨가 쓴 글중 '일단 자신이 해야 할 의무에 먼저 충실하라' 라고 했던 것이 생각나네요. 귀 글 올려주셔서 감사합니다.~ --["1002"]
         RonJeffries 을 좋아하는 이유중 하나로는 그의 글 스타일때문일런지도 모르겠다. 또는, XP 메일링리스트에서의 그의 답글 뒤 맨 마지막 짧은 줄때문일지도 모르겠다. 때때로 뒤통수를 대 때리는 유쾌 깨달음을 준다. --["1002"]
         RonJeffries의 글은 단순하고, 담백합니다. 심오 티를 내려고 하지도 않습니다. 그래서 더욱 심오하고, 또 파워풀합니다. --JuNe
  • TheTrip/이승한 . . . . 9 matches
         = TheTrip/이승 =
         평균에서 센트 이하 단위를 짜르는걸 생각 못해서 참 당황했습니다.
          double stu[1000] = {0.0}; //입력을 저장다.
          double endSum[10] = {0.0}; //결과값을 저장다.
          double sum = 0; //각여행에서 사용 금액의 총합
          double aver = 0; //각여행에서 사용 금액의 평균
          stu[i] = tempInput; //각학생의 경비정보를 저장다.
          sum += tempInput; //합을 누적합계다.
          tempIntAver = (sum * 100) / stuN; //센트단위까지만 계산하기 위 조치.
  • ThinkRon . . . . 9 matches
         여기서 Ron은 Think Big에서처럼 부사의 역할을 하며, "RonJeffries처럼"을 뜻다.
         일전에 XP 메일링 리스트에 조언을 바라는 글을 하나 올렸습니다. 회사에서 XP를 진행하다가 부딪힌 문제에 대 것이었죠. 그걸 올리고 답장이 장도 도착하기 전에 갑자기 이런 생각이 들었습니다. "만약 RonJeffries라면 어떤 답장을 쓸까" 신기하게도 저는 그걸 너무도 분명히 잘 알고 있었습니다. 그래서 그 답을 마치 RonJeffries가 직접 만들어준 마냥 귀하게 생각하고 요리조리 궁리해보고 또 실험해봤습니다. 그랬더니 아주 훌륭 결과를 얻었습니다. 며칠 뒤 진짜 RonJeffries가 제가 예측 것과 거의 비슷 답을 해주더군요.
         저는 이미 RonJeffries를 어느 정도 내재화(internalize)하고 있는 것은 아닌가 생각이 듭니다. 사실 RonJeffries나 KentBeck의 언변은 "누구나 생각할 수 있는 것"들이 많습니다. 상식적이죠. 하지만 그 말이 그들의 입에서 나온다는 점이 차이를 만들어 냅니다. 혹은, 그들과 평범 프로그래머의 차이는 알기만 하는 것과 아는 걸 실행에 옮기는 것의 차이가 아닐까 합니다. KentBeck이 "''I'm not a great programmer; I'm just a good programmer with great habits.''"이라고 말 것처럼 말이죠 -- 사실 훌륭 습관을 갖는다는 것처럼 어려운 게 없죠. 저는 의식적으로 ThinkRon을 하면서, 일단 제가 가진 지식을 실제로 "써먹을 수" 있게 되었고, 동시에 아주 새로운 시각을 얻게 되었습니다.
  • UploadFileMacro . . . . 9 matches
         모니위키는 파일 업로드를 위 3가지의 업로드 폼을 매크로로 지원하고 있다.
         {{{[[UploadFile]]}}}: 이것은 자바스크립트를 전혀 쓰지 않는다. 그 대신에 간단 여러개의 파일을 올릴 수 있는 방법을 제공다.
         {{{[[SWFUpload]]}}} 혹은 {{{[[UploadFile(swf)]]}}}: 이 매크로는 모니위키 1.1.3CVS부터 지원하며 다중 파일 업로드를 지원다. (Flash 10 지원)
         모니위키의 {{{[[UploadFile]]}}} 매크로는 업로드 된 파일을 {{{$upload_dir}}}로 정의된 디렉토리에 각 페이지별 디렉토리를 생성시키고, 그 디렉토리에 업로드된 파일을 저장다.
         == 업로드 제 ==
         config.php의 $pds_allowed라는 변수를 조정하면 업로드가능 파일을 제을 걸 수 있다. $pds_allowed의 기본값은 다음과 같을 것이다.
         안전 업로드가 이미 보장 된 경우 사용하실 수 있을 것입니다.
  • WinAPI/2011년스터디 . . . . 9 matches
          * 고종 : 내년 컴공주점에서 쓸 포스기 제작.
         ||이름||고종||송치완||
          * 일단 시작했다는데 의의를. 나만 신난것 같아서 조금 불안하지만 그래도 시작이라도 게 좋다. - [고종]
         ||이름||고종||송치완||
          * 윈도우 스타일 이나 옮겨 적어 놔야지.-[고종]
         ||WS_CLIPCHILDREN||8.차일드가 위치영역은 그리기영역에서 제외 ||
         ||WS_THICKFRAME||16.크기 조정 가능 두꺼운 경계선 ||
          * 쉬면 안되는데 쉬어 버렸다. 이러다가 격주 될것 같네.-[고종]
  • XpWeek/20041224 . . . . 9 matches
         알바하느라 소홀히 점이 아쉽다. 또 MockObjects에 대 이해가 부족하여 TDD로 진행하지 못 점이 아쉽다. 5일간 쉼없이 달려왔는데 아직 미흡 점이 많다. 혼자 리펙토링을 해보았지만 별로 재미 없었다. 구피에서 돌릴 수 있도록 간단 리펙토링하고 GUI 기능을 추가하고 싶다. 다음주중 하루 잡아서 하는게 어때?? 그리고 나의 최종 목표는 테스트코드를 추가하는 것이다. TDD는 아니지만 네트워크에 대 MockObjects를 구현해보고 싶다. -- 재선
          사실 네트워크에 대 MockObjects는 어렵지 않았던 것 같아. JUnit에서 제공하는 MockObject클래스를 소켓에 써먹는 방법에 집착 나머지 포기하지 않았을까? 단순히 서버와 클라이언트 흉내만 내면 될텐데...
  • Yggdrasil/가속된씨플플/4장 . . . . 9 matches
          * 전달인자(여기서는 배열)를 값에 의 전달/참조에 의 전달을 적절히 사용해야 다. 원래 값을 보호해야 하는 경우라면 값에 의해서, 원래 값을 바꿔야하는 경우라면 참조에 의해 전달다.
          * 값에 의 전달은 전달인자값을 다른 곳에 복사를 해줘서 전달하기에 실제 데이터는 변경되지 않는다. 복사에 시간, 메모리 소요.
          * 참조에 의 전달은 그 전달인자의 별명(?)을 넘겨준다. 즉 그 변수 자체를 넘겨주는 것이나 다름없다. 즉, 함수 내에서 그 전달인자로 전달된 변수가 바뀌면 원래의 값에도 변화가 온다. 그래서 적절히 const로 값이 바뀌지 않도록 제해주는 것도 좋다. 복사를 안 하므로 오버헤드를 줄일 수 있음.
         인데, compare는 함수인데 괄호는 쓰지 않는다. 괄호를 쓸 경우 그 인자까지 알아서 써줘야할 것 같은데, sort의 정확 구조를 잘 모르는 나에겐 좀 벅찬 방법이다. 하여튼 괄호는 쓰지 않는다.
          * try{}catch(a){}: try{} 블록을 실행하다가 예외상황이 발생하면 catch{} 블록을 실행다.
  • eXtensibleMarkupLanguage . . . . 9 matches
         [SAX] : XML을 읽어가면서 발생하는 이벤트에 기반 파서. 메모리의 사용량이 적다.
          * [http://javawork.egloos.com/2040057 C++을 위 XML파서 생성]
          * XML은 정말로 굉장히 강력하다. 덕분에 톰캣을 위시 많은 애플리케이션이 셋업 파일로 XML을 활용하기 시작했다. BUT 크리티컬 부분에 XML을 소통 데이터로 이용하게 될 경우 해당 부분이 그 프로그램의 performance critical path 가 되는 경우가 발생다.
          * DTD로 검색하다 여기로 왔네요ㅋㅋㅋ 예전에 쓰신 것 같아서 지금은 아시는 내용이겠지만 나중에 다른 분들이 이 페이지를 보실 수 있으니 시간을 건너뛰어 댓글 답니다~ DTD는 Document Type Definition의 약자로 XML 문서 작성을 위 규칙을 기술하는 형식입니다. valid XML Document의 경우 well-formed XML Document이면서 XML에서 사용되는 원소 이름이 해당 문서에 대 XML DTD나 XML Schema에 명세된 구조와 합치되어야 다고 하네요. 이 내용에 대 수업을 들으며 씁니다ㅋㅋㅋㅋㅋㅋㅋ - [김수경]
  • lostship/MinGW . . . . 9 matches
          * MinGW 인스톨 후 MSYS 를 인스톨 다. [http://www.mingw.org/index.shtml MinGW & MSYS]
          * 환경변수 path 에 /MinGW/bin 을 추가 다.
          * /STLport-4.5.3/doc/index.html 에서 컨피그 셋팅을 보고 필요하면 수정다.
          * STLport iostreams 을 사용하려면 다음 스텝을 진행다.
          * /mingw/STLport-4.5.3/src 로 이동다.
          * make -f gcc-mingw32.mak clean install 를 실행다. 그러면 /STLport-4.5.3/lib 에 생성된다.
          * .dll.4.5 파일들을 path 가 잡힌 디렉토리로 복사 다.
          * /STLport-4.5.3/stlport/config 에 있는 stl_gcc.h 에서 다음을 수정다.
          * ../g++-v3 를 c++/3.2 로 바꾸도록다.
  • 갓헌내기C,C++스터디 . . . . 9 matches
          휴면신청을 하려고합니다. ㅠㅠ 위키에 쓴 스터디 계획을 지키지 못것 송구스럽습니다'''
          * 자! 이제 헌내기가 되어간다 곧 11학번이 들어올것이고 11학번들은 선배들에게 전공공부에 대 많은 문의를 할것이다.
          * 간지나는 선배가 되기위해 지금까지 배웠던것을 복습하는 시간을 가졌으면 다.
          * 이미 알고있는 지식과 결합하여서 2학년때 배울 자료구조에대 선수학습을 진행하려고 다.
          * 엡솔루트 C++는 번 모임마다, 배운것을 응용하여 하나의 결과물 만들어내는걸로
          * 전체 회의수가 방학기간의 1/7 이상이 되어야다. 그렇지않으면 스터디를 폐쇄다.
          * 이주일이상 모임이 없을경우 스터디를 폐쇄다..
  • 강성현 . . . . 9 matches
          * [http://www.riss.kr/link?id=T13688893 온라인 집단의 의견을 이용 의사 결정 지원 시스템]
          * 자료구조(상용 교수님) 수업조교
          * 컴퓨터구조(상용 교수님) 수업조교 (2학기)
          * 효율적인 OCR 인식을 위 안드로이드 기반의 사진 편집 애플리케이션 개발
          * 자료구조(상용 교수님) 수업조교 (1학기)
          * 영타 글 번역기 (제작은 2011년 12월)
          * 졸업 학기 남기고 휴학
          * 컴퓨터공학부 내의 연구실에 대 빠른 설명. [http://zeropage.org/index.php?mid=board&search_target=tag&search_keyword=%EB%8C%80%ED%95%99%EC%9B%90 자유 게시판에 있는 대학원 소개]에 기초함.
          * [Ruby/2011년스터디] 의 공유 차원에서 진행. 시간이 빠듯해서 대충 진행 것 같아 아쉬움. [https://docs.google.com/presentation/d/1ld_NTuqaEF4OIY2_f4_2WhzF57S6axgxnMLf3LMcvrM/pub?start=false&loop=false&delayms=3000 발표자료]
  • 강희경 . . . . 9 matches
          아녀~ 코엑스 옆 어딘가서에서 다는데...흐음...고민중 그냥 피규어 잔치라는데 번 가보고는 싶고. 가본사람이 솔직히 좀 실망했다는데. 차라리 대민국 캐릭터대전을 노리는 편이 더 났다고...-_- 흠. - [이승]
         생일 축하 해요~^^ 발렌타인 데이가 생일이라니;; ㅋㄷㅋㄷ 해동안 복많이 받으세요~^^ - [이승]
         http://imgsrc2.search.daum.net/imgair2/00/01/00/00010002_1.jpg 안녕하세요~ 05학번 이연주라고 합니다~ 벌써 그렇게까지 유명해진건가요?ㅎㅎㅎㅎㅎ // 위키 잘쓰긴요 ㅋㅋ 아직 적응기인데요 ㅋㅋㅋ 일부러 와주셔서 감싸!!ㅋㅋ!!! 차마... 선배님테 테러까지는 못하고.. ㅎㅎ 지현언니 쎄우고 갑니다 ㅋㅋㅋ [joosama]
         안녕하세요 ~ 05학번 허아영 입니다 ! ^^ 잘부탁 드립니다 ~ p.s- 공부에 대 애정이 남다르시군요 ^^ [허아영]
         제 컴퓨터에선 술취 바퀴벌레가 안되요.. 무지 하고 싶습니다. 왜이럴까요?; [joosama]
  • 고한종/팩토리얼 . . . . 9 matches
         [고종]
         전역 변수 쓰지 않고 팩토리얼 선언하기. 근데 이거 사실 친구테 물어본거 ... 아 내가 것 같지 않음 ㅜㅠ
          * 위키를 열심히 사용하고 있네요~ 바람직합니다 ㅋㅋㅋ 그런데 ZeroWiki에서는 위키 페이지를 생성할때 상위페이지명/하위페이지명 이런 식으로 카테고리처럼 페이지 이름을 만든답니다. 예를 들어 이 페이지라면 고종/팩토리얼 이렇게 써주는 것이 적절하겠죠. 그리고 각각의 페이지가 고립된 섬이 아니라 다른 페이지들과 연결될 수 있도록 상위페이지 혹은 연관된 다른 페이지를 링크해주면 더더욱 좋답니다. :) 예를들어 이 페이지에는 [고종] 페이지와 [새싹교실/2011/A+]을 링크할 수 있겠네요. - [김수경]
          * 그렇군요. 근데 번 쓴 글은 제목을 못 고치는 것 같은데 지우고 다시 써야 하는 방법 밖에 없나요? - [고종]
          * 네. 제가 알기론 지우는 수밖에 없어요ㅜㅜ 다만 지우는 권이 아무에게나 있는 것은 아니라서 지울 페이지는 DeleteThisPage라고 쓰면 관리자가 내용을 확인 뒤 지웁니다. - [김수경]
  • 데블스캠프2003/둘째날/후기 . . . . 9 matches
          * 오늘 거 정말 장난이 아니다. 앞으로 도전은 계속된다. 모두들 열심하는 모습 보기 좋았네... 모두들 방학이 끝난다음에는 모두들 프로그램짜는데 자신감을 가질 수 있길 노력하자~~["조재화"]
          * 오늘 잘해보리라는 나의 다짐은 저멀리 날아가 버렸다.. '''8명의 여왕'''이 내머리속에서 '''미로'''를 헤매며 '''랜덤워크'''를 하고 있다;;머리가 터지려 다. 아니 아직 안 터진게 신기할 따름이다.. 아으.. 쓰댕앤 큐;; 당구나 치러 갈까;; 암튼 파이팅이다!! -- ps 나르동~ 또 김치 싸갖고 와라..ㅋㅋ --[변준원]
          * 문제에 하염없이 매달려있다는...졸려..ㅜㅜ 계를 뛰어 넘어야 하는데 그게 쉽지가 않네요...-[Leonardong]
          * TDD와 페어프로그래밍으로 상욱이랑 미로찾기를 만들면서 많은걸 깨달았다. 가장 중요건 네이밍의 중요성! 이름을 이상하게 지어놓고 이상걸 호출하다가 자꾸 이상하게 나와서, 나중에는 '미로를 무시하고 이동다.' 라는 말까지 나왔었다.--; 그러면서 중간에 TDD를 잘못했구나 아직 멀었구나 덜 테스트했구나하면서 좌절을 했지만 이름을 고치고 나니 바로 해결이 되는걸 보면서.. 아.. 더불어 CSP는 아직도 이해가 잘 안간다. --인수
          * 8퀸 문제를 실패하면서, 프로그램을 짤 때에는 먼저 확실 알고리즘을 구축해 놓아야 다고 생각했어요.. 알고리즘부터 틀리게 되면 나중에는 디버깅도 소용이 없다는 사실.. --[문원명]
          * 너무 힘들다..제길..ㅠ_ㅠ 문제도 못풀고..머리에 녹이 슬었..(콜록) [이진훈]
  • 데블스캠프2013/둘째날/후기 . . . . 9 matches
         [김남규], [이예나], [김도형], [원준연], [조영준], [이봉규], [장혁재], [김해천], [김윤환], [김태진], [박정근], [정종록], [송정규], [윤종하], [강성현], [안혁준], [고종]
         = 김민재 / 새내기의, 새내기에 의, 새내기를 위 C언어 =
          * 종하형이 다들 알아들을 수 없는 소재를 들고와 매우 어렵게 설명할 것이란 예상을 깨고 적절 정도로 잘 설명해주어서 이해하기 좋았네요. 특히 경춘선 3G문제라던가. 좀 짧게 끝나긴 했지만 아무튼 재밌었습니다. -[김태진]
          * 엇... 어려워요.... 그래도 신기 경험이라 정말 신기했어요. - [임지훈]
          * PHP로 진행되었나요? [wiki:고종 극도의 PHP 안티]의 후기가 궁금데 아직 없네요!!ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ - [김수경]
          * 사실 제 php 혐은 ~~황현~~~선배의 영향이 크기 때문에... 잘 알아야 싫어하죠. 그래도 키보드 타이핑은 하지 않고 눈으로 잘 쫓아서 참여 했습니다. -[고종]
          * 조금 어려웠지만 인터넷으로 무엇을 하는 실습이어서 신선 경험이었습니다. - [장혁재]
  • 독서는나의운명 . . . . 9 matches
         이승, , 정수민
         1. 일주일에 권.
          * [(picknic12)독서의기술] : 정말 유익 글..
          * 내가 추천하는 책은 - [자유로부터의도피], [이기적인유전자] 이 두개는 토론하기에 좋을 만 책(내가 강추 하는 책..), [채근담] 도 좋음.. 만약 이걸로 주제를 선정다면 나도 다시 읽을 생각..., 태백산맥은 양이 너무 많아서 너무 빡신데 -_-. 토론 하는 시간은 정모 끝나고 나서가 좋을듯.. 만약 술자리가 있다면 독서 멤버들끼리 따로 모여서 얘기해도 될듯.. - 상협
          * 아 그리고 독서 회원들은 일주일에 무슨일이 있어도 책 권 이상씩 읽기로 약속이라도 하면 좋을거 같은데~ - 상협
          * 아 그리고 아영아 네가 말 '''세상의지혜'''라는 책이 [세상을보는지혜] 이 책과 같은 책인거 같더라. 이번책 끝나고 저 책을 얘기 해도 될거 같다. - 상협'
          * 그 책, 7피에서 잃어버렸어요 ㅠ 흑흑.. 정말 유익 책이었는데! 진행하셔도 되요~ 전 최근 '나는 소망다 내게 금지된 것을 ' 읽고있습니다!-아영
  • 바람의딸걸어서지구3바퀴반 . . . . 9 matches
          * 비야의 세계여행을 쓴 책중 일부이다.
          * 이책에서는 비야의 세계여행을 재밌게 전해준다. 이책에서 인상깊은 구절은 킬리만자로 산을 올라갈때 천천히 자신의 속도로 꾸준히 올라간다면 누구나 올라갈 수 있다고 하는 구절이다. 인생도 마찬가지로 누가 어떤 속도로 가던지 자신의 속도를 알고 자신의 속도로 꾸준히 나간다면 못 이룰게 없다. 또 얻은 교훈은 세상은 사람이 만들어낸 각종 규칙, 규범들로 돌아가지만 말만 잘하면 얻고자 하는것을 얻을 수 있다. 결국 그런 규칙, 규범도 사람이 만든 것들이기에.. 그리고 반드시 환경이 편하고 몸도 편해야 행복건 아니란것도 느꼈다. 오히려 더 행복을 방해하는 조건으로 작용할 수도 있다. 환경이 아주 불편하고 바빠도 사람은 아주 행복할 수 있고, 오히려 행복하기에 더 좋은 조건일 수 도 있다. 오지일 수록 더 행복해 보이는 이유도 이러 이유 때문일지도 모르겠다. 행복은 내 안에 있다. 그리고 세계에는 지금의 나의 환경과는 비교할 수 없을 만큼 불편하고 좋지 못 환경에서도 행복하게 사는 사람이 많다는걸 느끼고 지금의 생활에 감사하자는 생각을 했다. 그리고 비야가 어떤 외국인과 만나서 같이 등산하는데 그 외국인 행동이 꼴볼견이고 싫어할 행동만 했다고 그런다. 그런데 알고보니 그 외국인은 마약에 중독되었다가 마약을 끊고 나서 지독 우울증에 시달리고 있다고 다. 그 말을 듣고 쉽게 다른 사람을 판단해서는 안되겠다는 생각이 들었다. 역시 사람 사는 일에는 원인이 있고 결과가 있다. 또 무슨일을 하던지 목표를 잡고 나서 세부적인 계획을 세워서 차근 차근 해 나간다면 아무리 큰 목표라도 이룰 수 있겠다는 생각도 들었다. 사람은 계획에 있어서는 치밀해야겠단 생각이 들었고, 꾸준 계획들의 실천이 있어야만 원하는 성과를 이룰수 있다는걸 느꼈다.
  • 바퀴벌레에게생명을 . . . . 9 matches
         [강희경]이 4일간에 걸쳐 수행 단기 프로젝트.
         아직 윈도우 프로그래밍에 익숙하지 못 후배들에게 윈도우 프로그래밍의 재미를 선사.
         다큐에서 CBug타입의 멤버 변수를 생성다. 그리고 뷰에서 방향키의 키이벤트(OnKeyDown)를 받으면 다큐의 CBug 타입의 멤버 변수의 Move함수를 호출하고 변경된 position과 direction을 OnDraw에서 받아서 알맞은 그림을 잘라내서 뷰에 그린다.
         타이머의 주기마다 바퀴벌레는 움직이고 그 움직임과 각 타일의 빈도수를 뷰에 그려준다. 종료조건은 스페이스바의 키이벤트와 모든 타일을 적어도 번씩 밟았을 경우(numberOfVirginTile == 0)이다.
         다큐에 TotalNumberOfMovement변수를 생성하여 바퀴벌레가 움직일 때마다 늘려준다. 그리고 프로그램이 정상종료 되었을 때(스페이스바에 의 종료는 정상종료가 아니다.) 메세지 박스로 그 값을 출력다.
         방향키로 먼저 시작점을 택다. 시작점을 택 후 스페이스바를 눌러 랜덤워크를 진행다. 정지를 원할 경우 스페이스바를 다시 누른다.
  • 새싹교실/2011/學高 . . . . 9 matches
          * 학생들이 보충수업을 요청해올 경우 보충수업 또 진행합니다.
          * 선생님이 잘못 점도 부담없이 말해주세요. 보다 더 좋은 수업을 위 일입니다.
          * feedback은 최대 성의있게 써주세요.
          * [윤종하]: 수업 준비가 미흡해서 제대로 진행못했고, 실습으로 준비게 수준이 좀 높았다. 김준호 학생의 경우 visual studio 설치와 Wi-Fi가 안 됨을 계속 불만사항으로 지적했으며 수업태도가 상당히 불량했습니다.
          * [김준호]: 선생님과 생각이 동일합니다.(김준호에 대 생각 빼고), 배고파요 그래서 집중을 제대로 못했어요
          * [김지연]: 지각해서 미안하고, 안 졸았지만 피곤해서 보여서 미안하고, 다음에는 안 피곤 모습
          * [윤종하]: 오늘도 역시 분량 조절에 실패했다. 알바하는데서 노가다 시켜서 정신을 놓고 새싹을 진행해서 잘 설명을 못것 같다. 다음시간부터는 애들 과제 절대로 수업시간에 써먹지 않겠다.
          * [윤종하]: 김준호를 제대로 지도하지 못해서 진도가 덜 나가서 약간 좀 진도나가기가 힘들었다. 김준호에 대 개별 보충학습을 수행하거나 혼자서 공부를 해오도록 유도하겠다. 세영이 같은 경우는 집이 멀어서 공부를 하기가 힘들다고 했다. 따라서 중간 고사 이후에는 시간을 확실히 조정하도록 하겠다. '''더 이상의 참가는 불허할 방침'''
  • 새싹교실/2012/강력반 . . . . 9 matches
         printf - 콘솔창에 출력을 위 함수
          %d, %f 등 변수의 숫자나 문자를 출력하기 위것들
         scanf - 콘솔창에서 입력을 받기 위 함수
          * 설유환 - 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로 이런것도 할 수 있다는 것을 알았다. 새싹 강사님께서 우선적으로 설명을 해주신다음 새싹들이 실습하는 방식으로 수업이 진행됬는데, 옆에서 강사님이 지속적인 피드백을 해주셔서 이해하기가 편했다. 다음에는 반복문에 대해서 배우고, 실습도 해봐야겠다.
         반복문을 사용 기본적인 예제
  • 새싹교실/2012/새싹교실강사교육/4주차 . . . . 9 matches
         4주차: 달이 되었으니 번 돌아보자
         3. 파일 입출력 예제를 통 자신만의 데이터 파일 만들어보기
         1. 정보저장은 왜 필요가?
         파일은 메모리와 같은 주기억장치가 아닌, 하드 디스크 같은 보조기억장치에 저장되는 기본 단위입니다. 파일에는, 그 어떤 프로그램이던 간에 무조건 프로그램이 작성 정보가 저장되는데요. 프로그램은 꽤나 많이, 실행 중에 파일을 새로 만들거나 등의 행동을 해서 파일을 액세스해야 하는 경우가 생깁니다. 그렇기 때문에 정보의 저장과 불러오기가 꼭 필요합니다. 그걸 간단하게 두 개로 설명해보겠습니다.
          1.2 프로그램이 작업 결과를 영구적으로 보존하기 위해서도 파일을 외부에 저장합니다. 이는 당연 거겠죠? 우리가 그림판을 통해 작업을 하고 난 뒤에는 항상 저장을 합니다. 이와 같은 이치입니다. 만약 게임의 점수 정보가 담긴 파일을 저장다든가 등에도 필요합니다.
         2.2 절대경로를 통 파일 복사 예제
  • 수학의정석/집합의연산/조현태 . . . . 9 matches
          또 오버헤드를 줄인다는 명목하에 함수로 나누지도 않았따. (귀차니즘.ㅎ)
          알고리즘은 1과 0으로 수를 저장, 칸씩 옮겨가면서 모든 경우의 수를 찾는 것이다.
          또 예를 들어 7개일 경우는 1개일때, 2개일때, ... 7개일때 이런식으로 나누어서 연산을 다.
          음 영호선배의 페이지를 보니 이 페이지의 설명이 부족듯 해서 덧붙인다.
          이렇게 세팅후 1인 경우에 출력다. 차례연산후
          질문이나 부족 점에 대해서는 글을 남겨주세요.^^*
          time_in = clock(); // 초기 시작 시간을 입력다.
  • 쓰레드에관한잡담 . . . . 9 matches
         여기서 time-sharing 을 설명다.
         Linux에서는 크게 두가지의 thread를 지원다.
         thread를 사용할때 중요것이 동기화인데, context switch를 할 때 데이터가 저장이 안된 상태에서 다른 thread로 우선순위가 넘어가면 치명적인 오류가 나게된다.
         Linux에서 멀티 프로세스 개념인 fork()는 내부적으로 do_fork()란 Kernel 함수를 호출하며, do_fork()는 내부적으로 user thread인 POSIX기반의 Mutex를 사용다.
         ... 그리고... 가지... POSIX thread를 사용하여 많은 양의 thread를 생성하면 동기화를 주목해야다.
         설계가 관건이다. 설계를 잘해야다. 사소 실수라도 하면 끝이다.
         명확 지식이 있기전까진 arg의 값은 믿을 수 없다. 이상.
  • 애자일과문서화 . . . . 9 matches
         이번학기에 소프트웨어 경영 모델링이라는 과목을 듣는데, 소프트웨어 프로세스를 경영자의 입장에서 바라보는 수업이라고 할 수 있다. 수업시간에 가끔 XP와 같은 애자일 방법론에 대 언급이 있는데, 수업시간에 나왔던 교수님의 마디로만 판단하기에는 무리가 있지만, 내가 알고 있는 XP와는 조금 다른 이해를 하고 계신듯 하다. 예를 들면,
         어찌보면 동의할 수 있고 어찌보면 문제의 일부분만 강조 것 같아 아리송하다. 문제의 본질은 우리가, 즉 개발자 또는 PM이 보는 XP와 경영자가 보는 XP의 입장이 달라도 너무 다르다는 것이다. 물론 내가 만일 경영자 또는 경영자가 되기 위 공부를 하고 있는 학생이라면, 개발자들이 생각하고 있는 입장을 이해하지 못할지도 모르겠다.
         라고 말것을 듣고 기겁했다고 했다. 그러면서 (수업시간에 보는 문서화자료를 가리키며) 이런것 없이 어떻게 프로세스 개선을 하고 조직 성숙도 (Organization Maturity)를 높일 수가 있냐고 하는 것이다. 수업시간에 배우는 내용으로는 조직의 성숙도나 프로젝트 개선방향등을 측정하기 위해서는 수백 수천페이지가 되는 두툼 문서가 필요할 것 같기도 데(경영자적인 입장), 다른 면에서 보면 전혀 쓸모가 없어보인다. 과연 그런것이 꼭 있어야만 개선할수 있는가(개발자적 입장)?
         그런 문서를 보면 별로 의미 없는 다이어그램이나 일정표. 코드등이 늘어져 있는데,, 그렇게 작성 문서를 기계적인 측정도구의 입력 데이터로 활용할 수 있는가이다. 내가 무지해서일수도 있지만, 적어도 문서화에 있어서는 헷갈린다. 과연 해야하는건지 말아야하는건지? XP에서 쓸데없는 문서화는 피하는것이 맞는 것일텐데. 프로세스 평가할땐 필요 데이터를 XP에서는 어떻게 해야하는지? 아아아 감이 잡히지 않는다. 실제 회사에서 개발자로. 간부급으로 수년씩 이런 고민을 하면서 일해보고 난 뒤에야 알 수 있는걸까? 생각이 복잡해서 글로도 정리가 잘 안된다. -_-; 차근차근 생각과 글을 다듬어야겠다.
  • 위시리스트/구상 . . . . 9 matches
          * 회원들의 '''스터디와 프로젝트에 필요 용도'''로 필요 물품을 지원해 주는 제도
          * 신청 물품에 대해서 회장 및 운영진이 필요하다고 판단 경우에 해서 지원.
          * 그 동안에는 트렐로나 위키, 홈페이지 등 흩어져 있어서, 누구든 볼 수 있고 작성하기 쉽게 하기 위하여 원칙적으로 '''위키에''' 필요 물품을, '''명확 용도'''와 함께 작성.
          * 가격 제? 원칙적으로 (재정 범위 내에서) 가격 제은 없습니다. 하지만, 가격 대비 필요성이 있다고 판단되지 않는 경우에는 거절될 수 있습니다.
  • 정모/2004.5.7 . . . . 9 matches
         * 프로젝트 진행사항에 대 의견
          프로젝트의 활성화 정도 : JSP같은 경우 교재만 정 상태
          프로젝트를 활성화 하기 위 방안들 :
          - 스터디에 대 방법론(어떻게 해야 효율적일까?)
         * 제로페이지에대 생각들(빨강)
          - 제로페이지에 대 장벽이 느껴진다 (프로그래밍 수준이나 데블스 캠프 미 참가등의 이유)
         * 열린 제로페이지를 위 방안들
          - 제로페이지가 융통성있는 학회가 되었으면 다.
         * 위키 설명회에 대 의견
  • 정모/2006.4.10 . . . . 9 matches
          * 해결 방안에 대 안건.
          3. 코드를 쉬운게 아니더라도 같이 작성다.
          4. 프리젠 테이션을 다.
          5. 세미나를 다.
          6. 요구사항을 신입생이 건의다.
          7. 새싹스터디를 이용다.
          11. 코드레이스 진행 후 팀별로 설명다.
          12. 코드레이스 전에 간단 문법 설명을 다.
  • 정모/2011.5.30 . . . . 9 matches
          * 선배님들께 [데블스캠프] 일정을 안내하는 연락을 드렸습니다. 주소록이 잘 관리되지 않아 전화로 연락이 불가능 선배님들이 많으시기에 추후 메일로 다시 연락드릴 예정입니다.
          * 오늘 1시까지 기다리다 정모페이지가 안만들어지기에 제가 만들어버렸습니다 -_- 음, 이번주 스터디 공유에서 디자인패턴에 어떤 규칙에따라 만들어지는걸 구경했는데요. 규칙을 좀 더 자세히 알아보고 싶네요. 신기했거든요 +_+ 에.. OMS이번주 주제는 OMS였죠. 합주에 관. 사실 생각해보면 하나하나씩 악기를 더해가는거니까 합주라고 볼 수도 있겠더라구요. 별로 생각도 안 방법이었는데 신기했어요. (사실 잘 하는 악기가 없습니다만..) 그리고 OMS를 안 사람이 저밖에 없다보니 제가 OMS 다음주자를 맡게 되었지요. 다다음주에 하지 않게되면 너무 질질끌게 되니까 준비가 된다면(;;) 월요일 하도록 하겠습니다~~ (사실 주제도 걱정입니다..와우에 대해서 해볼까?!) 그리고 회고방식이 저번달과 많이 바뀌었던데요. 이것도 ICE Breaking의 방식이라니 신기했어요. 전 나이를 1살로 했지요. 전 이제 막 ZP에 들어와서 모든게 새로우니까!(지극히 주관적) 아, 그리고 데블스 캠프도 기대되네요. -[김태진]
          * 오 땡큐땡큐 ㅋㅋㅋ 어젠 다른 일에 치여 미처 위키 페이지를 못 만들었어;; 회고는 맨날 비슷 거 하면 질리는 것 같아서 + 배워온 걸 공유하는 차원에서 방식을 바꿔봄 ㅎㅎ - [김수경]
          * 7시에 튜터링이라 조금 일찍 가긴 했는데 (그런데 7시 20분에 나갔..) 뭐 거의 다 하고 나간 거 같네요,, 이번 OMS에서는 정말로 One Man Show에 대 것을 봤는데요, 평소 그런 영상도 많이 봐서 그런지 조금 더 관심있게 봤던 것 같습니다. 뭐 보면 Five For Fighting과 같이 혼자 악기를 다루고 노래 해서 음반 발매하는 사람도 있으니깐요. 데블스 캠프 연락처를 받고 연락을 돌렸는데, 연락이 되신 분도 있는데 다시 연락 주신다고 하시고.. (뭐 하루밖에 안 지났지만..) 답이 없으시네요 -_-;; 이번 5월 회고에서는 색다른 방식으로 진행되었던 것 같습니다. Zeropage에게 인격을 부여하니 참 다양 모습이 나와 재밌었습니다. 생각해 보니 별명을 슬레이어즈의 가우리로 할껄 그랬네요 (밥 못 먹었을 때의 모습 -_-) 아무튼 재밌는 회고였습니다. ㅎ - [권순의]
          * OMS 사실 주제 선정에 가장 어려움이 있었던 것 같네요..주제 정하고나서 녹화할라고 난리치다가 아랫집에서 항의가 들어와서 당황 기억이; 데블스 캠프 연락처를 돌리면서 생각했습니다. 참여 해달라고 전화는 돌리면서 과연 난 잘 참여할 수 있을까? 음.. 항상 회고는 즐거운 것 같습니다. 새로운 시도가 좋네요. - [정의정]
  • 정모/2012.8.29 . . . . 9 matches
          * 참여자 : [변형진], [김준석], [김수경], [강성현], [권순의], [박성현], [서민관], [김태진], [정진경], [고종], [이진규], [이민규], [권영기], [박상영], [이재형]
          * 정모에서도 잠깐 이야기 것처럼 ZeroPage에서 운영하는 서버 및 각종 장치와 도메인 네임, 이에 필요 설정과 소프트웨어, 그리고 그와 관련 이슈를 다루는 공간이 Trello에 있는 게 좋을 것 같습니다. 게시판이나 위키에 비해 ZeroPage 웹사이트가 비정상 동작할 때도 사용할 수 있고, 전체 상황이 눈에 파악되면서 카드 별로 상태 관리가 간편하며, 모바일(iOS, Android)에서 notification push를 받을 수 있기 때문에 실시간 커뮤니케이션과 이슈 추적 및 관리에 유리합니다.
          * 가지 방법은 [https://trello.com/board/4f772fd6de39daf31f04799f ZeroPage Board]의 List나 Label로 관리하는 방법이고, 또 가지 방법은 [https://trello.com/zeropage ZeroPage Organization]의 Board로 따로 관리하는 방법입니다. 후자를 선택할 경우 ZeroPage Board가 덜 복잡해지는 대신 따로 Member를 추가해야 다는 단점이 있습니다. 의견주세요. - [변형진]
          * 방학이라 게으름이 절정에 다다른거 같네요. 이건 뭐 해야겠다도 말 뿐이고..-- 정모준비도 좀 대충인가 싶을정도네요. 정모에 대 의견 받습니다. -[김태진]
  • 지금그때2004/패널토의질문지 . . . . 9 matches
          * 마지막으로 놀라운 경험을 때? 경험의 내용?
          * 자신이 참여 행사중 가장 인상깊은(추천하는) 행사(세미나, 컨퍼런스등)는 무엇이고, 어떻게 참여하는가?
          * 대학에서 시간을 투자다는 것은 얼마나 중요할까요?
         질문을 할때 사회자의 말투라고 할까요. 내용은 위의 질문내용으로 할 수 있지만 질문접근방법에 대해서도 신경쓰면 더 좋은 답을 얻을 수 있지 않을까 합니다. 그러 점에서 볼때 [질문의힘] 의 후반부에 나오는 인터뷰들의 예를 참고해볼만 하다 생각합니다.
         "저의 경우 지금 자료구조 수업을 듣고 있는데 머릿속에 잘 안들어옵니다. 선배님들은 자료구조가 중요 과목이니 열심히 공부하라고 하시지만 쉽지가 않네요. 선배님께서 수업을 들으셨을때는 어떻게 하셨습니까? 그리고, 보다 능동적으로 재밌게 공부할 방법이 없을까요?"
         식으로 이전에 같은 컴공과 학생이라는 연결고리를 만들 수 있겠습니다. 또, 방청객들도 이러 질문을 들으면서 자기 경험대비 질문의 연결고리를 찾을 수도 있겠다는 생각이 듭니다. --[1002]
         "선배님의 대학생활을 통틀어 가장 재미있게 공부 과목은 어느 것이었나요? 무엇이 달라서 그렇게 재미있었다고 생각하시나요? 재미있었던 기억을 이야기해주실 수 있을까요?" --JuNe
         "저희는 이제 막 고등학교를 졸업하고 대학에 들어왔습니다. 삶에 있어서는, 뭐랄까 일종의 180도 회전 같은 거죠. 그래서 그래 이제는 번 마음껏 놀아보자, 그런 생각도 드는 것이 사실입니다. 하지만 아마도 선배님께서는 '내가 만약 그때로 돌아간다면 X나게 공부했을 것이다'라고 말씀하실지도 모르겠습니다. 그렇지만, 그것은 이미 과거의 경험을 전제로 '그랬었더라면'하는 후회의 형식이기 때문에 그런 말씀을 하실 수 있는 것 아닌가요? 지금 정말 열심히 놀고 설사 나중에 후회하더라도 나름의 가치가 있는 것은 아닌가요? 지금 우리에게 선배의 후회를 강요할 수는 없는 것 아닌가요?" --JuNe
  • 지금그때2005/리허설 . . . . 9 matches
         준비 게임이나 행사들을 미리 진행해보고 단점과 장점을 미리 파악하는 자리
         지금 자료집을 나누어 드리고 있고 그곳에 지금그때 행사에 대 대략적인 의의가 담겨져 있습니다.
         기록되지 않은것은 기억되지 않는다 라는 말이 있습니다. 이곳에서 남은 소중 경험들은 그 자료집에 담아가셔서 자신의 것으로 남기시기 바랍니다.
         === 진행순서에 관 소개 ===
         OST에 대 자세 소개는 그때가서 하고요.
         앞에는 저희가 생각 이번시간에는 최소 이런 이야기는 꼭 나왔으면 다는 이야기들을 적어 놓았습니다. 그 이외에 또 질문하고 싶으신 내용이 있으시다면 언제든 나오셔서 질문을 등록하실수 있습니다. 대답에 집중하는 사이에 어느순간 질문을 까먹어 버리는 경우도 많으니까요.
  • 지금그때2005/홍보 . . . . 9 matches
          앞부분을 추가했습니다. - 이승
         더불어 대학 생활 내내 접해보지 못 할 수도 있는 OST라는 너무도 신기 토론 방식을 체험할 수 있습니다. 제로페이지에서 국내 대학 최초로 시작했기 때문에 자부심을 가지셔도 좋습니다. 자신이 내성적이라서 토론이라면 듣고만 있지 않을까 생각하시던 분들도, OST를 하면 자신이 얼마나 활발히 토론에 참여하는지 알게 되고 놀라실 겁니다.
         도우미를 제외 신청인 수의 변화를 파악해봅시다.
         || 홍보일 || 동문서버 게시판 홍보글 || 강의실 홍보|| 대자보 || 신청 사람 수(도우미 제외) ||
         현재 신청 사람 : 3 명
         월요일이나 당일에 번 더 홍보를 해보는건 어떨까요? - 이승
         월요일 교양학교 홍보가 관건 일듯. - [이승]
         내일 1시 홍보 잊지 않겠습니다. - [이승]
  • 지금그때2006/기획단후기 . . . . 9 matches
         공지 행사 시작 30 분전에 모였는데 준비가 덜 되어 일찍 온 사람들은 준비하는 모습을 구경하고 있었다.
         신입생을 포함 재학생은 재미있게 참여했지만, 선배님들이 쪽에서 따로 이야기를 하고 계셨다. 참여를 유도했으면 좋았을 것이다.
         라면은 정말 미스입니다. 히든카드를 잃어버린듯 기분이었는데, 여튼 다른 게임에 호응이 좋아서 다행입니다.
         강의실 이동을 하다보니 생각지 못 부분이 드러났습니다. 전부
          * 시작할때의 어수선함이 OST의 어수선 분위기로 자연스럽게 연결됨. 바로 시작이 가능
          * OST를 하면서 여러 주제와 생각들을 접하는데 이러 분위기를 질문레스토랑에서 활발 질의응답으로 이어질 가능성이 크다고 생각함
          * 초반의 산만 분위기가 주~욱 이어질 수도
  • 큰수찾아저장하기/허아영 . . . . 9 matches
         물론 이런 생각도 해 보았다. matrix를 temp1,2 matrix를 만들어서 행과 열을 따로 계산다..
         하지만 이번에 내 생각에 변수 낭비될 것 같고 해서 그냥 matrix 복사를 번 더 했다.
          하고 생각해 봤다. 그래서 생각하면서 프로그래밍 것, 또 자초해서 해 버린 소트 때문에 시간이 많이 걸린 것 같다.
         === 나테 할 말 ===
         다해서 페이지 안에 들어갈 정도로 간단하다면 그냥 짜넣어도 문제는 없을것 같아..^^ -[조현태]
         소트건 쓰레기배열이니 문제없는거같은데 -_-;; 원래배열은 고대로 있잖아 --[정수민]
          아..두번이었네..ㅎㅎ 번만 복사하는줄 알았으..ㅎㅎ - [조현태]
          ''소감''좀 읽어달라구 ㅋㅋ 너희들이 얘기 것은 소감에 다 있는데 말이야 ㅋㅋ --아영
          분명히 열심히 읽는데 말이야..ㅎㅎㅎ 문제는 내 머리의 메모리가 작아서 몇몇 부분은 기억을 잘 못다고...ㅎㅎㅎ 그러니 다 적힌내용으로 삽질하고 있어도 너그러운 아량으로 이해해주시길..ㅎㅎㅎ - [조현태]
  • 프로그래밍잔치/ErrorMessage . . . . 9 matches
          * 1차 정리 시간 가까워질 무렵, 우리는 좌절을 느꼈다. MFC 그나마 좀 해본 인수군과 창섭군이 MFC에서 다뤄본건 다이얼로그 박스에 비트맵 뿌리는것 말곤 없었던 것이다.--; 그래서 다같이 어설픈 언어로 하느니, MFC로 하는 GUI보다는 JAVA로 하는 GUI에 익숙 인수군이 자바로 하자고 운을 뜸. 창섭군 적극-_-동의. 그래서 자바로 바꿨음. 2시간 날렸다.
          * 인수군 역시 자바 오랜만에 써본다. 이클립스 써본지 이틀 되었다. 계속 삑사리 낸다. 프레임 안나오고, 어쨌든 겨우겨우 생각해내고 도큐먼트 찾아가면서 메인프레임과 계산기 대충 완성(되도록 많은것을 구현하기 위해 예외처리, 복잡 연산은 하지 않고, 그냥 4칙연산(소숫점무시--;)과, 클리어 정도만 구현). 도중에 상민이형이 편 셋팅을 해줘서 그나마 편하게 코딩, 하다가 게임 없앰--;, 상욱이가 다고 달력 부활
          * 같은 시간, 창섭이와 상욱이는 "Hello World" 삑사리 내고 있었다. 컴파일 하면 클래스가 없댄다. 이래저래 암울 우리 조의 분위기를 느낄 수 있었다.
          ''내가 swing을 잘 몰라서, 상욱이테 바꾸자구 그래써..^^ --은지''
          * 끝나갈 무렵, 합칠떄가 왔다. 창섭군과 은지 누나가 걸 가져와서 씌울라고 보니..(처음에는 쉬울줄 알았따. 내 메인 프레임에서 버튼을 누르면 창섭군과 은지 누나가 만든 전화번호부 프레임을 띄울 예정이었다.) 문제가 생겼다. 내껀 스윙이고, 창섭이네꺼는 AWT다.--; 스윙과 AWT 같이 쓰지 말라고 하는 말을 너무 많이 봐서.. 스윙으로 고치기 시작했다. ... shit. 함수가 다르자나.--; 이러면서 어떻게 어떻게 고치고 보니--; 메뉴가 가운데 달렸다. 석천이형의 도움을 받아서, 메뉴를 제 위치에 나오게 했다.
          * 다 끝났다. 상욱이가 만능달력을 넣으려고 했지만, 시간 없어서 못했다. 하다가 SUCCESS팀 하는거 보고 생각난거, 우리 달력을 클릭하면 스케줄러가 뜰수 있게--; 실제로도 이것까지 해놨다. 날짜 클릭하면 창 하나 나오게.. 나중에 파일로 저장할수 있는 그런걸 해야겠다.
  • 학문의즐거움 . . . . 9 matches
         일본의 히로나카 헤이스케라는 사람이 공부하는 후진들을 위해 자신의 공부에 대해 이야기하는 자서전 형식의 수필이다. 그는 천재가 아니다. 하지만 남들보다 두배 이상의 노력을 다. 가지 문제를 풀기 위해 수년간 노력해온 과정을 보면 그가 정말 대단 사람이라는 것을 느낄 수가 있다. 그는 학문을 하는것은 지식을 키우기 위함도 있지만 나아가 지혜를 넓이기 위함이라고 다. (이부분을 많은 사람들이 공감할 것이라고 생각다). 그리고 주위에서 끊임없이 배우라고 다.
         이 책을 읽으면 공부란 무엇인가? 어떤 자세가 바람직 가에 대 저자의 생각을 볼 수 있다. 자서전 형식의 수필답게 꼭 이래야 다는 지침서는 아니라고 본다. 나의 경우 동감이 되는 부분도 있었지만, '''이건 좀 아닌 것 같은데...'''라는 부분도 있었다. '''문제와 함께 잠자라(Sleep with problem)'''라는 명언은 나의 평소 생각을 잘 나타내주었다. -[강희경]
  • 05학번만의C++Study/숙제제출/2 . . . . 8 matches
         ==== C++과 가까워지기 위 기본적인 문제 ====
          * 평상시에는 문자열의 주소를 하나의 전달인자로 취하여, 그 문자열을 번 출력하는 함수를 작성하라. 그러다가 0이아닌 int형 값을 두 번째 전달인자로 제공하면, 그 시점에 도달할 때까지 그 함수가 호출되었던 횟수만큼 그 문자열을 반복해서 출력다. (문자열이 출력되는 횟수는 두 번째 전달인자의 값이 아니라 그 함수가 호출되었던 횟수와 같다.)물론 이 함수는 거의 쓸모가 없다. 하지만 이것은 이 장에서 설명 몇 가지 프로그래밍 기술을 사용할 것을 요구다. 이들 함수를 사용하여 함수의 작동을 보여 주는 간단 프로그램을 작성하라
          * 화면 >>는 입력 줄.
          * 여기서 질문!! 전달인자가 1개인 함수와 2개인 함수만들어 오버 로딩 하라는 것인가? 그게 아니라면... cin을 라인별로 입력 받아햐겠는데.. 어떤때는 변수를 하나만 받고 어떤때는 변수를 두개 받아야하니.. 라인별로 처리 해야할듯.. 하지만 라인별로 처리해도....;;;; 음... 생각이 떠오르지 않음..;;; 쳇..;;[[BR]] 어제 교수가 defalte 에 대해 설명했던거 같은데.. 전달인자를 취하지 않으면 이미 입력된 변수의 값으로 처리다. 라고...;; 음..;;;이렇게 해야하나?
  • 2006신입생/방명록 . . . . 8 matches
         여기를 다녀가시는 분은 간단 메모와 학번, 이름 남겨주세요~
         - 오 경록~ 감사하긴^^ 담엔 잔도 하자그~ - [허아영]
         -열심히 글써놨다늬 테러하는사람 누군지.... 다시 가입인사해요.. ㅋㅋ -요-
         어쨌든 가입!! ㅋ그런데 위키는 하나도 모르겠다.. ㅠ_ㅠ 선배들테 배워야 될게 넘 많은거 같은 기분이.. ㅋ_ㅋ - 차형 -
         -정리 다고 제가 좀 정리를 했지만 그래도 지저분 모양이..ㅡㅡ;; 그러고 임의로 제가 정리 거 기분 나쁘신 분들 죄송합니다^^; - [송수생]
         -진짜 많네..+_+.. 얼마나 살아남을지 궁금...;; ←너나 잘하세요.. - [이경록]
  • 2011년독서모임/주제 . . . . 8 matches
         ||2011년을 준비하는 책||다시 시작하는 힘, 성공 CEO는 단순하게 해결다, 선물||
         ||자신의 생각을 대변해주는 제목을 가진 책||나는 아직 어른이 되려면 멀었다, 왜 사람들은 이상 것을 믿는가, 작심후 3일, 1등만 기억하는 더러운 세상||
         ||국인, 외국인이 나오는 책||먼지의 여행, GO||
         ||동화책 원작 읽기||알고보면 무시무시 그림동화||
         ||돈(MONEY)!||경제학 콘서트, 금융지식이 미래의 부를 결정다, 통장의 고백, 지금 당장 경제공부 시작하라. ||
         ||어르신이 나오는 책||병신같지만 멋지게, 노인과 바다, 수레바퀴아래서, 기발 발상-하늘을 움직이다 ||
         ||시험에 관 이야기(7막 7장같이 노하우 같은건 제외)|| ||
  • <시작페이지 사용규칙> . . . . 8 matches
         무분별 페이지 남발은 자칫 페이지의 비효율을 야기하므로
         일정 규칙이 필요 것으로 보임
          * 시작페이지에서 메뉴와 링크에는 링크명 양끝에 "<", ">" 를 넣어 다른 페이지들과 구분
          * 링크를 통 이동이 생명이므로 페이지 끝에는 꼭 이전 메뉴로 돌아갈 수 있도록 [시작] 같은 메뉴를 삽입해둔다
          * 페이지는 처음에 간략 설명, 제목, 링크로 구성된다
          * 최대 심플함을 추구다 - 항목이 많아지면 더 작은 소항목으로 나누어 묶는다
  • ACM_ICPC . . . . 8 matches
         == 현재 작성 라이브러리 리스트 ==
          * team 'NoMonk' 본선 62위(학교순위 35위) : [김성민], [재민], [이민욱]
          * team 'TheOathOfThePeachGarden' 본선 81위(학교 순위 52위) : [재현], [김영기], [오준석]
          * 장소 : COVID-19로 인 온라인 진행
          * 특이사항으로 국 대학 팀의 타 리저널 출전과 외국 대학 팀의 국 리저널 출전이 막혔습니다.
          * team 'Decentralization' 본선 54위(학교 순위 35위) : [박인서], [재민], [이호민]
          * 장소 : COVID-19로 인 온라인 진행
  • AM/AboutMFC . . . . 8 matches
         MFC의 정확 동작 원리를 알고 싶다면, 2000년 5~8월 사이의 프로그래밍세계의 MFC관련 기사를 추천합니다.(도서관에 있고, 복사할수 있습니다.) 재미있는 자료입니다. 저는 우연히 01년 상반기에 기사의 필자 곽용재씨에게 해당 내용에 대 강의를 들은적이 있는데, 그때 그림 사용을 허락맡고 [MFCStudy_2001]를 위해 자료를 만들어서 세미나를 했습니다.
         그나저나 정말 유치하게 써놨군요. 이 자료는 제 이야기를 전제하고 있어서 전혀 친절하지 않습니다.위에 언급 프세 기사도 내용이 내용이니 만큼 :) 친절 편은 아니지만 줄씩 확인하면서 읽으면 알수 있습니다. 처음의 흥미로운 부분과 머릿말들을 보고 MFC 소스를 따라가는 방법만을 보세요.
         전세계에서 가장 유명 사이트는 역시 http://codeguru.com 국내는 데브피아 겠죠. 데브피아가 상업화 되면서 어떻게 변했는지는 모르겠네요.
         F12로 따라가는 것은 계가 있습니다.(제가 F12 기능 자체를 몰랐기도 하지만, F12는 단순 검색에 의존하는 면이 강해서 검색 불가거나 Template을 도배 7.0이후 부터 복수로 결과가 튀어 나올때가 많죠. ) 그래서 MFC프로그래밍을 할때 하나의 새로운 프로젝트를 열어 놓고 라이브러리 서치용으로 사용합니다. Include와 Library 디렉토리의 모든 MFC관련 자료를 통째로 복사해 소스와 헤더를 정리해 프로젝트에 넣어 버립니다. 그렇게 해놓으면 class 창에서 찾아가기 용이하게 바뀝니다. 모든 파일 전체 검색 역시 쉽게 할수 있습니다.
  • BirthdayCake . . . . 8 matches
         오늘은 루시와 릴리의 생일이라서 어머니가 생일 케이크를 사오셨다. 케이크에는 체리가 2N(1≤N≤50)개 있다. 어머니는 케이크를 가운데를 따라 직선으로 잘라서, 루시와 릴리에게 주는 케이크의 양과 체리의 개수를 정확히 똑같게 하려고 다. 어머니를 도와주기 위 프로그램을 만들어보자.
         케이크의 반지름은 100이며 중심은 (0,0)에 있다. 각 체리의 좌표는 두 정수 (x,y)에 의해 주어진다. Ax+By=0 형태의 직선을 구해야 하는데, A와 B는 모두[-500,500]구간에 있는 정수다. 체리는 케이크를 자르는 직선 위에 있으면 안 된다. 모든 테스트 케이스에는 적어도 개의 풀이가 존재다.
         각 테스트 케이스마다 줄씩 A와 B를 출력하는데, 두 정수 사이에는 스페이스를 개 출력다. 풀이가 여러 개 있으면 그 중 아무 풀이나 출력하면 된다.
  • C++3DGame . . . . 8 matches
         3D 영역에서의 작업을 위해서는 사용할 좌표계를 정의해야 다.[[BR]]
         "원점에서 동쪽을 바라보며 죽쪽으로 38도 회전하고, 위로 65도 회전 후에 이 선을 따라 7.47피트로 이동"하는 방법으로 위치를 설명할 수 있다. 그러나, 수학적으로 풀 경우, 점을 이리저리 움직이면 처리하기가 더운 어려워진다. 그래서 이런 폴라 좌표계는 제어가 어렵기 때문에 3D엔진에서는 거의 사용하지 않는다.
         이렇게 하면 게임에서 CPU를 움직여야 할 경우, CPU를 그리는데 사용하는 모든점에 대 컴퓨터 중앙 만 움직이면 된다.[[BR]]
         하나의 code[] 절대 "세계"좌표를 구하려면 다음과 같은 코드를 사용다.
         CPU::GetWorldCoord(int index)는 그 세계의 원점에 대해 CPU 여덟개 점 중의 하나를 반환다. 단지 coord[index]를 반환다면, CPU중앙에 해당하는 CPU점을 반환하기 때문에 나중에 CPU를 그랠 때 원하는 대로 그릴 수 없게 된다. 중앙을 움직이면서도 CPU점 여덟개를 모두 옮기는 효과를 낼 수도 있다.
         역시나 나의 수학의 계로. 그냥 쓰윽 보면서 넘어 갔다. 뭔소리인지는 모르겠고. ㅋㅋㅋ 그냥 가져다 쓰면 되지. 나중에 궁금하면 더 파볼것이다.[[BR]]
         함수를 불러 쓰듯이. 케케.. ㅡㅡ; 어려워.. 해성이형테 물어봐야지.. --; [[BR]]
  • Chopsticks . . . . 8 matches
         중국에서는 음식을 먹을 때 젓가락 두 개를 쓰지만, L씨는 조금 다르다. 그는 젓가락 세 개를 사용다. 셋 중 하나는 긴 젓가락으로, 음식을 쿡 찍어먹기 위 용도로 쓰인다. 두 개의 일반 젓가락의 길이는 최대 비슷해야 하지만 나머지 하나는 무조건 제일 길기만 하면 된다. 길이가 각각 A, B, C(A<=B<=C)인 세 개의 젓가락이 있을 때 (A-B)^2을 계산하면 두 젓가락이 짝이 안 맞는 정도를 구할 수 있다.
         L씨는 그의 생일 파티에 K명의 손님을 초대했는데, 그의 특이 젓가락질 방법을 소개하고 싶어서 안달이 나 있다. 젓가락을 K+8세트(L씨 자신, 부인, 아들, 딸, 어머님, 아버님, 장모님, 장인어른, 그리고 K명의 손님)를 준비해야 다. 하지만 L씨네 집에 있는 젓가락들 중에는 길이가 다른 것이 많다. 젓가락들의 길이가 주어졌을 때, 각 세트의 짝이 안 맞는 정도를 최소화하면서 K+8세트를 만들어내는 방법을 찾아야 다.
         입력된 각 테스트 케이스에 대해 줄에 하나씩, 모든 젓가락 세트의 짝이 안 맞는 정도의 합이 가지는 최소 값을 출력다.
  • ComputerNetworkClass . . . . 8 matches
         수업내용: 데이터 통신에서 배우는 것보다 단계 상위 레이어. IP (Internet Protocol), TCP,UDP, Routing 의 원리, Subnet Mask, Tunneling 등의 개념 등에 대해 자세하게 배운다.
         실용적 수준의 네트워킹 기술을 공부다.
         기존의 데이터 통신이 DL, PHY 에 집중하여 공부 측면이 강했다면, 이 과목은 실제 Programmer 가 실무에서 많이 사용하게될 기술인 TCP, UDP, RTP 및 socket, rpc 에 대 전반적인 내용을 다룬다.
         프로젝트의 수준도 데이터 통신과는 달리 survey or analysis가 아닌 실제 프로그래밍을 통 결과 도출에 중심을 맞춘다.
         수업을 듣기전에 TCP/IP socket programming 에 대 입문서를 보고 듣기를 권하며, 수업의 진도를 따라가면서 TCP/IP 서적을 다시 번 보거나 중급서적을 읽기 시작하면 아주 도움이 많이 될 것이라 생각다.
  • ComputerNetworkClass/Report2006/BuildingWebServer . . . . 8 matches
         * 제작 작성해본 결과 HTTP Application 의 기본적인 사항은 에코서버의 연장선에 있습니다. RFC1945 를 확인하면 아주 단순 형태의 구현만으로도 충분히 간단 웹 서버의 동작을 구현하는 것이 가능합니다. (물론 이는 웹 브라우저가 RFC1945 의 HTTP-message BNF 의 가장 단순 형태를 지원다는 가정하에서 입니다.) CGI, 로드밸런싱을 이용할 수 있을 정도의 구현이 아닌이상 이는 단순 에코서버의 연장선과 크게 다르지 않습니다. (어쩌면 모든 네트웍 프로그램이 에코서버일지도 -_-;)
         프락시 서버 역시도 기본적으로 웹 서버와 동작이 다르지 않으며, Cache 의 방법과 로깅을 처리하는 방식에서 차이만 존재다고 생각이 됩니다. 물론 핵심적인 부분이기 때문에 각 프락시 서버의 핵심기술이라고 볼 수 있겠지만, 이는 학과의 개인 프로젝트의 수준을 넘는 처리이므로 불필요하다고 보아지는 바, 역시 프락시 역시도 에코서버의 확장형으로 보아도 무방할 듯 합니다.
         최초 작성하시는 분들은 우선 자신이 구현하려고 하는 웹 서버의 동작의 기본적인 구조(멀티쓰레드, 멀티프로세스, IO멀티플렉싱 등)를 결정하시고, 해당 방식으로 구현된 에코서버를 작성 혹은 소스를 구하신 후 웹브라우저의 HTTP request 를 읽어 분석뒤, 알맞는 파일을 브라우저의 소켓으로 보내는 형태로 작성하시길 권합니다.
         기본 소켓의 HELLO WORLD 만 주고 받을 줄 알고 HTTP BNF 만 주어진다면 1~3시간 이내로도 해결할 수 잇는 단순 형태의 프로그램입니다.
  • ConstructorMethod . . . . 8 matches
         인스턴스를 만들때 가장 유연 방법은 "new" 메소드 뒤에다가 여러 메세지를 보내주는 것이다.
         하지만 이 방법은 쓸만 인스턴스를 만들기 위해 클래스의 레퍼런스를 찾아봐야 하는 등의 골치 아픈 문제가 있다. 특히 클래스가 복잡할때는 문제가 좀 커진다.
         그래서 Constructor Method를 쓰기를 권다. 즉 인스턴스를 똑바로 만들어주는 각각의 메소드를 추가해주는 것이다.
         가지 예로 위의 것을 고쳐보자.
         ''DesignPatterns 로 이야기다면 일종의 FactoryMethod 임.(완전히 매치되는건 아니고, 어느정도 비슷) 비교적 자주 사용되는 패턴인데, 왜냐하면 객체를 생성하고 각각 임의로 셋팅해주는 일을 생성자 오버로딩을 더하지 않고서도 할 수 있으니까.
         요새 프로그래밍 하면서 느끼는 점은, 과도 오버로딩은 해당 객체를 이용하는 사람입장에서 골치아프게 만든다는것. 왜냐하면, 같은 메소드 이름에서는 해당 파라메터가 다른 것으로 바뀌었을때에 대 의도를 메소드 이름에 드러나지 않기 때문에.
         개인적으로는 JUnit Test 작성할때, Test 대상이 되는 클래스에 대 리팩토링 시도하는중 중간단계 역할로 많이 써먹었음.
  • CvsNt . . . . 8 matches
         이를 돌리려면 Windows용 ViewCVS 패키지를 받아야 다. http://www.cvsnt.org/wiki/ViewCvs 를 보면 알리라.
         http://russ.hn.org/viewcvs/ 에서 윈도우즈를 위 ViewCVS 를 받을 수 있다.
         또하나 필요 것이 있다면, ViewCVS를 돌리기 위 RCS 관련 툴들이다. 이는 http://ftp.cvshome.org/rcs/ 에서 받을 수 있다.
         하나만 맞추면 되는데, 바로 가장 중요 CVSROOT 의 위치이다. 설정해준 곳으로 맞춰준다.
         그리고, 이를 아파치나 IIS 등 cgi 가 실행될 수 있는 적절 디렉토리에 복사해준다. 그리고 실행해주면 된다.
         [http://www.redwiki.net/wiki/moin.cgi/CVSNT_20_bc_b3_c4_a1_20_b0_a1_c0_cc_b5_e5_bf_cd_20_c6_c1 CVSNT 설치 가이드와 팁] - 게임쪽에서 유명 redwiki 님의 글.[DeadLink]
         [http://www.redwiki.net/wiki/wiki.php/CVS 위 redwiki님이 정리 페이지]
  • DataCommunicationSummaryProject . . . . 8 matches
          * 그냥 내 생각에는 자기 챕터 공부해 와서 주말이나 아님 평일에 오프 라인으로 자기가 맡은 챕터를 대충 세미나 식으로 해주는 게 좋을 듯 데... 왜냐하면 문서화는 힘이 너무 많이 들어시리... 내 생각에 OP 숙제가 화요일에 끝나니 화요일에 공부해서(물론 화요일 전부터 시간날때 마다 읽음) 수요일과 목요일에 걸쳐서 수업 끝나고 하면 될 듯데... --재동
          * 위에 말 수정합니다. 제가 대충 요약을 해보니, 데이통 통신 강의록이 나오더군요.--; 정리는 필요없을거 같습니다. 그냥 재동군 말대로 공부해온다음 세미나해오는 방식이 나을거 같군요. --인수
          * 다 정리할 필요 없이 자신이 소화 내용을 간단히 적으면 안되나요? 우리가 뭐 고등학생도 아니고 큰 줄기가 아닌 내용까지 다 요약하자는 이야기는 아니었던 만큼, 소화 내용을 적으면 얼마 안될거 같은데, 그정도도 못할까요? - 상협
          * 그리고 우선은 약속은 해오기로 했고, 안하기로 모두 모여서 합의하지 않은 만큼 우선 약속은 지켜야 다고 생각합니다. - 상협
          * 음.. 역시나 그렇겠죠?--; 근데 요약을 하니 데이터 통신 강의록 글판이 나오는거 보고 좀 우울해져서--; --인수
          * 드디어 왠만 숙제(컴구조, OP)와 일을 끝내고 이제부터 책 읽기 시작하오...-,-;;;; Ch.4 빡시게 오늘안에 다 읽어 버리겠소. 정리는 다 읽는 대로 올라갈 듯 하오. --재동
  • DataCommunicationSummaryProject/Chapter11 . . . . 8 matches
          * 광케이블의 경우 중간에 신호확장을 거치기 전까지 초당 1000테라비트(페타비트)까지도 보내지만 무선은 이렇게 할 수 없다. 하지만 통신의 말단부분(Local Loop)에선 다르다. 도심 가운데다가 광케이블을 파묻기 위해 다 뒤엎진 못하지 않는가...;;
          * 보내고 받는 모양새가 대칭형이다. 레이저나 극초단파 같은 걸로 사용다.
          * 단말기만 있으면 거의 영구적으로 base station 과 연결되어 사용가능하고 기타 등등 열라 좋은 점이 많긴하지만 대역폭을 공유다는 것이 단점이다.
          * 대부분 보급되어있는 wireless local loop system은 산업, 과학, 의학용 주파수(ISM band) 를 사용다. 실제로 IEEE 802.11b 표준에 기초 시스템도 있다.
          * 8km 까지는 서비스 범위가 도달다. 표준으로 11Mbps를 지원하지만 multipoint 특성상 대역폭을 사용자들이 공유하기 때문에 실제로는 2~6Mbps 가된다.
          * 허가되지 않은 시스템은 국제적인 ISM 밴드를 사용할 수 있고, 종종 IEEE 802.11 무선랜 표준에 기초하기도 다.
          * 레이저 빔은 허가가 필요없고, 다른 어떤 타입의 고정 무선시스템보다 나은 수용능력을 제공다. 하지만 거리가 졸라 짧다.
  • DispatchedInterpretation . . . . 8 matches
         인코딩은 프로그래밍에 있어서 필수적이다. 데이터가 계산으로부터 분리되어 있던 과거에는, 인코딩 작업은 매우 중요했다. 삑사리 번 내면 돈 겁나 많이 들었다. 하지만 객체지향 시대에는 좀 다르다. 인코딩은 두번째로 밀려나고 객체들 사이의 책임을 분배하는 것이 가장 중요하게 된 것이다. 잘짜여진 OO 프로그램에는, 어떠 정보에 관심을 가지는 객체가 하나밖에 없어야 다. 그 객체는 자신의 정보에 직접 접근하고, 은밀하게 인코딩과 디코딩을 수행다.
         그.러.나. 객체의 정보가 다른 객체에 영향을 미쳐야만 할때가 있다. 간단할때는, 그냥 인코딩된 오브젝트에 메세지를 보내면 수월하게 해결이 가능하다. 하지만 복잡 경우에는 힘들다. 문제는 수백의 클라이언트들에게 모든 타입의 정보에 대해 명시적으로 case 형태의 구조를 만들기를 원하지 않는다는 것이다.(??)
         모든 커맨드를 위 case 구문을 쓰지 말고, PostScriptShapePrinter에 모든 커맨드를 두자.
         또, commantAt이나 argumentAt같은 메세지 말고, sendCommand(at,to) 같은 메세지를 제공하자. 위의 line,curve도 이꼴이므로 같이 다룰수 있다.
         정리해놓고 보니... 무슨 말인지 모르겠다.--; 앞이랑 뒤의 연관관계가 상당히 떨어진다. 본인의 해석이 부족 탓이다. 빠른 시일 내에 보강해서 올리겠다.
  • DoItAgainToLearn . . . . 8 matches
         왜 동일 문제를 여러번 풀고, 왜 같은 내용의 세미나에 또다시 참석을 하고, 같은 프로그램을 거듭 작성할까요?
         훨씬 더 많이 배울 수 있기 때문입니다. 화술 교육에서는 같은 주제에 대해 번 말해본 연사와 두번 말해본 연사에는 천지차이가 있다고 말합니다. 같은 일에 대해 두번의 기회가 주어지면 두번째에는 첫번째보다 잘 할 기회가 있습니다. 게다가 첫번째 경험했던 것을 "터널을 벗어나서" 다소 객관적인 입장에서 볼 수 있게 됩니다. 왜 자신이 저번에 이걸 잘 못했고, 저걸 잘했는지 알게 되고, 어떻게 하면 그걸 더 잘할 수 있을런지 깨닫게 됩니다. 저는 똑같은 문제를 여러번 풀더라도 매번 조금씩 다른 해답을 얻습니다. 그러면서 엄청나게 많은 것을 배웁니다. "비슷 문제들"을 모두 풀 능력이 생기게 됩니다.
         저는 ACM의 ICPC 문제 중에 어떤 놈을 이제까지 열 번도 넘게 풀었습니다. 대부분 PairProgramming이나 세미나에서 프로그래밍 시연을 했던 것인데, 제 세미나에 여러번 참석 친구가 물었습니다. "신기해요. 창준씨는 그 문제를 풀 때마다 다른 프로그램을 짜는 것 같아요. 혹시 준비를 안해와서 그냥 내키는 대로 하는 건 아니죠? :)" 저는 카오스 시스템과 비슷하게 초기치 민감도가 프로그래밍에도 작용하는 것 같다는 대답을 해줬습니다. 저 스스로 다른 해법을 시도하고 싶은 마음이 있으면 그렇게 출발이 조금 다르고, 또 거기서 나오는 진행 방향도 다르게 됩니다. 그런데 중요 것은 이렇게 같은 문제를 매번 다르게 푸는 데에서 배우는 것이 엄청나게 많다는 점입니다. 저는 매번, 전보다 개선할 것을 찾아 내게 되고, 또 새로운 것을 배웁니다. 마치 마르지 않는 샘물처럼 계속 생각할 거리를 준다는 점이 참 놀랍습니다. --JuNe
         Seminar:SoftwareDevelopmentMagazine 에서 OOP의 대가 Uncle Bob은 PP와 TDD, 리팩토링에 대 기사를 연재하고 있다. [http://www.sdmagazine.com/documents/s=7578/sdm0210j/0210j.htm A Test of Patience]라는 기사에서는 몇 시간, 혹은 몇 일 걸려 작성 코드를 즐겁게 던져버리고 새로 작성할 수도 있다는 DoItAgainToLearn(혹은 {{{~cpp DoItAgainToImprove}}})의 가르침을 전다.
  • DocumentObjectModel . . . . 8 matches
         초기에는 웹 브라우저가 HTML의 요소를 다루기위해서 각기 다른 형태의 DOM을 만들었다. 이러던 것이 W3C가 DOM에 대 표준(W3CDOM)를 지정하게되었다.
         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 를 이용하는게 좋겠지.
         DOM API 쓰는 코드와 SAX API 쓰는 코드는 [http://www.python.or.kr/pykug/XML_bf_a1_bc_ad_20_c7_d1_b1_db_20_c3_b3_b8_ae_c7_cf_b1_e2 XML에서 글 처리하기] 페이지중 소스코드를 참조. XPath 는 PyKug:HowToUseXPath 를 참조. --[1002]
  • HardcoreCppStudy/첫숙제/ValueVsReference/김아영 . . . . 8 matches
         * 값에 의 전달 방법
         * 참조에 의 전달 방법
         - 변수 자체의 값을 전달하는 것이 아니라 인수로 사용되는 변수에 대 포인터를 전달하는 것이다.
         - 함수에 배열을 전달하는 유일 방법이다.
         - 인수를 전달할 때에는 함수에 전달되는 인수가 포인터라는 사실이 함수 정의와 프로토타입에 반영되어야 다.
         - 함수내에서 전달된 변수를 사용하기 위해서 간접(indirection) 연산자를 사용해야 다.
         값에 의 전달에서 변수의 값이 함수에서 변경될 수 없는 반면에, 참조에 의 전달에서 변수의 값이 함수에서 변경될 수 있다.
  • HelpMiscellaneous . . . . 8 matches
         위키위키는 영어권에서 먼저 개발이 되었기 때문에 다국어나 글의 설정에 맞지 않는 부분이 있습니다.
         특히 페이지 이름을 영어로 만들 것인지 글로 만들 것인지에 대 부담을 가지게 되는데, 이러 부담을 덜고
         좀 더 유연 페이지 이름을 접근하는 방식을 제공하는 것이 바로 페이지 이름의 별명을 지원하는 것입니다.
         모니위키 1.1.5부터는 !HongGilDong이라는 페이지를 만들어 {{{#title 홍길동}}}이라고 하면 제목이 별명으로 등록되게 됩니다. 또 다른 별명을 등록하려면 {{{#alias 홍 길 동,홍 길동}}} 등등을 등록하여 띄어쓰기에 상관없이 만들 수도 있으며, 제목 검색도 별명과 함께 검색되게 되었습니다.
         특별히 글의 경우 그 띄어쓰기가 일관되지 못하는 경우가 많이 있는데, 모니위키 1.1.5부터는 띄어쓰기에 상관 없이 제목을 검색해주므로 띄어쓰기를 조금 잘못하더라도 손쉽게 페이지를 찾을 수 있게 되었습니다.
         그밖에 자세 내용은 각각의 기능 페이지를 참조하세요.
  • HelpOnLinking . . . . 8 matches
         외부 링크는 {{{http://kldp.org}}}같이 그대로 적어놓으면 '''자동'''으로 http://moniwiki.kldp.org 라고 링크가 걸립니다. 여기서 주의할 점은, 링크를 적을때 글 토씨를 그냥 붙여 적을 경우에 글까지 링크가 걸리게 됩니다. 이럴 경우에는 {{{[http://moniwiki.kldp.org]}}}라고 적으면 [http://moniwiki.kldp.org]와 같이 '''강제'''로 링크될 URL을 지정해줘서 자동으로 링크가 걸리지 않게 합니다. 강제로 링크를 걸러줄 경우는 모니위키에서는 그 링크 앞에 작은 지구 아이콘이 생깁니다.
         하지만 이렇게 외부링크를 새창으로 열게끔 하는 방식은 사용자를 새창을 열도록 강제하기때문에 별로 권장할만 방식이 아닙니다.
         앞부분에서도 언급 내용이지만, 자동으로 링크가 걸릴 경우 URL 주소 되에 공백을 넣어주거나, <http://moniwiki.kldp.org/wiki.php/FrontPage>와 같이 연결해주어야 합니다. 정리해보면
          * Wiki:SixSingleQuotes 를 이용다.
         WikiName과 같은 식으로 연결되는 것을 방지하고 있는 그대로 보여지는 것을 원다면 느낌표(''bang'')를 다음과 WikiName앞에 붙여서 다음과 같이 사용할 수 있습니다. {{{!WikiName}}} `!WikiName`. 또 물음표를 임의의 단어 앞에 붙이면 강제로 링크가 걸리게 됩니다. i.e. {{{?Hello}}} `?Hello`.
         === 물음표를 사용 강제 연결 ===
  • HelpOnPageCreation . . . . 8 matches
         페이지를 만드는 방법은 여러가지 방법이 있습니다. 그중에 위키에서 일반적으로 권고되는 방법으로는 먼저 원하는 페이지로 가서 편집을 해서, {{{FoobarPageName}}}이나 , {{{[[어쩌고페이지]]}}}식으로 위키링크를 본문에 집어넣고 저장을 합니다. 이렇게 하면 새롭게 갱신된 페이지에 새로운 링크가 생기게 되는데, {{{FoobarPageName}}} 혹은 {{{[[어쩌고페이지]]}}}라는 위키링크가 새로운 페이지를 가리키게 됩니다. 새로운 페이지는 아직 없기 때문에 새롭게 만들어진 위키링크는 색상이나 모양이 약간 다른 형태로 보이게 됩니다. 이것을 클릭하면 페이지를 새로 만들것이냐는 대화 메시지 혹은 비슷 이름을 가진 페이지 목록을 보여주게 되며, 원다면 새롭게 페이지를 만들 수 있게 됩니다.
         새롭게 페이지를 만드는 경우도 일반 페이지를 편집하는 방식과 마찬가지로 고칠 수 있습니다. 편집 폼에 내용을 채운 후에 최초 저장을 하면 페이지가 진짜로 만들어지게 됩니다. 번 만들어진 페이지는 일반적으로 지울 수 없도록 되어있습니다. [[FootNote(페이지 지우기는 모니위키 설정을 통해 변경가능합니다. 또 모니위키에서는 페이지를 지우더라도 변경 역사까지 지우게 되어있지 않습니다. 따라서 언제든지 복구할 수 있습니다.)]] 그러므로 위키 페이지를 처음 만들 때에 위키 페이지 이름을 잘 만드는 것이 낫겠지요.[[FootNote(모니위키에서는 페이지이름을 변경하는 것도 가능하며, 페이지이름에 대 별명을 만드는 방식도 지원합니다)]]
         하위 페이지를 만들면 조금 특별하게 처리됩니다. 하위페이지도 일반 페이지와 마찬가지 방식으로 만들 수 있으며 {{{[[페이지/하위페이지]]}}}와 같은 식으로 연결되는 페이지입니다. 하위페이지에 대 설명은 HelpOnEditing/SubPages 페이지를 참고하세요.
         다음의 변수들은 페이지가 최초 저장될 때에 자동으로 적당 값으로 대치됩니다. 이 변수들은 미리보기할 때는 있는 그대로 나오며, 템플릿 페이지인 경우에는 변수가 대치되지 않고 있는 그대로 저장된다는 사실에 유의해 주세요.
         이러 변수를 집어넣어 편집하게 되면 그 저장되는 시점에서 완전히 다른 내용으로 대치된다는 사실에 유의해 주세요.
  • HelpOnTables . . . . 8 matches
         테이블 속성을 위 몇가지 문법은 다음과 같습니다:
         이것을 기본으로 하여서 좀 더 장황 설정은 HTML 속성을 넣는 전통적인 방식과 비슷 문법을 지원합니다. (HTML에서 지원하던 모든 테이블 속성이 지원되지는 않습니다.). 이 방식을 이용하면 테이블 색상이나 줄의 속성을 지정하 수 있습니다. 특별히 테이블의 너비를 지정하려면 {{{||<tablewidth="100%">...||}}} 를 테이블 시작을 알리는 맨 처음 `||` 다음에 써넣으면 되며, 줄의 배경색은 {{{||<rowbgcolor="#FFFFE0">...||}}} 와 같이 지정합니다. 여기서 볼 수 있듯이, 테이블에 대 속성인지, 줄에대 속성인지를 알리기 위해 {{{table}}} 혹은 {{{row}}}와 같은 접두어가 붙었습니다.
         모니위키는 PmWiki 혹은 DokuWiki식의 간단 정렬 방식을 지원합니다.
         좀 더 분명 설명을 위해서: "공백"은 특별 의미를 가집니다. 즉,
  • IdeaPool/PrivateIdea . . . . 8 matches
          * 떠오르는 모든 Idea 들.(모두에게 필요 아이디어는 [IdeaPool/PublicIdea] 에)
          * 구상 아이디어에 대 자세 사항은 관련 페이지를 만들어서 옮겼습니다. 시작하려는 사람들은 그 페이지를 Starting Point 로 하여 시작하면 되겠지요. :) --[창섭]
          * 웹지도 브라우저에 대 정보수집합니다. 필요 지식이나 필요 것들, 유용 것들 전부 알려주세요. - [상욱]
  • JustDoIt . . . . 8 matches
          * 하욱주 - 우리 최고 핵심 정예 멤버. 마디로 '주춧돌'
          AnswerMe) 6월 7일 월요일 수업이 끝나는 5시쯔음에 모임을 가질까 데요 어떤가요? --[수민]
         || 첫수업 (5/24) || 간단 C++ || 첫수업페이지 없음 ||
         일단은 사뿐하게 경진대회 문제부터 풀어보아요~~ 저희만 활동이 없는 듯 -_-;;; 거시기하고도 거시기 -홍선-
         uncapping을 배워보아요 -_-^ 달에 1~2만원은 거저 벌듯 케케 -홍선-
         DeleteMe scienfun 님, [JustDoIt/소수구하기]에 원래 작성하신 소스는 어찌하실 건지요? 해당 소스는 자신이 작성 고유 것이니, 중복이 아니잖아요. 다른 해결책은 없을까요? --NeoCoin
          DeleteMe 저는 저의 발언 때문에 지운줄 알고, 미안 생각을 하고 있었습니다. --NeoCoin
  • KnightTour/재니 . . . . 8 matches
          * 나이트가 움직일 수 있는 여덟 방향을 일정 순서에 따라 움직인다.
          * 나이트가 체스판의 모든 칸을 번씩 방문하면 종료된다.
          * 시작 지점을 (0, 0) 부터 (7, 7) 까지 64가지로 하여 순서대로 검색다.
          * 시작 지점과 종료 지점을 화면에 출력다.
          * 나이트가 움직인 순서를 화면에 출력다.
          나이트가 위치 셀이 고립된 경우 BackStep 과정을 번 더 실행하면 루트를 찾는 시간이 훨씬 짧아짐.
          * 셀이 고립되면 어차피 다른 경로로 접근할 수 없어서 BackStep 을 두번 건데...
  • LightMoreLight . . . . 8 matches
         마부라는 사람은 특이 행동을 다. 복도에 n개의 전구가 있으면, 복도를 n번 왕복다. i번째 갈 때 그는 i로 나누어 떨어지는 위치에 있는 스위치만 누른다. 처음 위치로 돌아올 때는 아무 스위치도 건드리지 않는다. i번째 왕복은 (이런 이상 행동을 하면서) 복도를 번 갔다가 오는 것으로 정의된다. 마지막 전구의 최종 상태를 알아내자. 과연 그 전구는 켜져 있을까 아니면 꺼져 있을까?
         그 전구가 켜져 있으면 "yes"를, 꺼져 있으면 "no"를 출력다. 테스트 케이스마다 줄에 하나씩 출력다.
  • LinearAlgebraClass . . . . 8 matches
         길버트 스트랭은 선형대수학 쪽에선 아주 유명 사람으로, 그이의 ''Introduction to Linear Algebra''는 선형대수학 입문 서적으로 정평이 나있다. 그의 MIT 수업을 이토록 깨끗 화질로 "공짜로" 국 안방에 앉아서 볼 수 있다는 것은 축복이다. 영어 듣기 훈련과 수학공부 두마리를 다 잡고 싶은 사람에게 강력 추천다. 선형 대수학을 들었던(그리고 학기가 끝나고 책으로 캠프화이어를 했던) 사람이라면 더더욱 추천다. (see also HowToReadIt 같은 대상에 대 다양 자료의 접근) 대가는 기초를 어떻게 가르치는가를 유심히 보라. 내가 학교에서 선형대수학 수강을 했을 때, 이런 자료가 있었고, 이런 걸 보라고 알려주는 사람이 있었다면 학교 생활이 얼마나 흥미진지하고 행복했을지 생각해 보곤 다. --JuNe
  • LinkedList/숙제 . . . . 8 matches
         typedef로 'strucrt _slist'를 List로 정의다.
          pList=(List *)malloc(sizeof(List)); // malloc은 (List *)가 단위인 크기가 List인 메모리 공간을 생성하고 그 메모리 공간 첫 주소를 반환다. 그 주소가 pList에 대입(정의)된다.
          pList->next=0; // 이 구조체가 처음 부분에 있다는 것을 표시다. 0으로.
          pList->prev=0; // 이 구조체가 끝 부분에 있다는 것을 표시다.
          pList->num=1; // 이 구조체 번호가 1번인 것을 표시다.
          printf("root생성시\n"); // *pList를 root로 다.
          pNew->num=2; // 두번째 struct인 것을 표시다.
          free(pIns); // malloc함수로 만들어진 메모리중 쓸모 없는 메모리는 다시 반환되어야다. (그렇지 않으면 메모리가 가득차서 컴퓨터가 멈춘다. ㅋㅋ)
  • LoveCalculator/허아영 . . . . 8 matches
          // 수정 부분..
         === 나테 할 말 ===
          여전히 잘짜는Girl~ㅎ 근데 가운데 주석은 므렝~ 꼼꼼 아영이 답지안게시링..ㅎ
          다 만든김에 번 써보지그래?ㅎ 아니 이미 써봤는데 결과가 않좋디??(위에 소감을 보고 하는말.ㅎ)
          음..아무래도 국인 지원이 안되는 계산기 인가 보이.ㅎ(좋은 점수가 안나오자났!!킁..ㅠ.ㅜ)
          그럼 수고하세용~ㅎ 좋은하루되궁..ㅎ 문제 글루 내구..ㅠ.ㅜㅎ - [조현태]
          충고 고마워. 문제 글로 낼께 ㅋㅋ
          tolower(해당문자를 소문자로 바꿔줌, 소문자면 그대로)함수 또는 toupper(대문자로)를 쓰고 알파벳에서 숫자가 아닌 문자(alpha = alpha - 'a' +1)로 처리 하였다면 대소문자 따로 처리할 필요 없었고, 가독성 또 좋아지지 않았을까? - [이영호]
  • MFC/RasterOperation . . . . 8 matches
         CDC는 다양 드로윙 모드를 제공다. ROP는 그런 드로윙 모드의 하나로, 동적으로 변화되는 그림을 그릴때 그림을 지우고 다시그리는 작업을 하는데 유용하다.
         || R2_MERGENOTPEN || 펜의 반대색과 배경색을 OR로 연산 색으로 그려짐 ||
         || R2_MASKNOTPEN || 펜의 반대색과 배경색을 AND로 연산 색으로 그려짐 ||
         || R2_MERGEPEN || 펜색과 배경색을 OR로 연산 색으로 그려짐 ||
         || R2_MASKPEN || 배경색과 펜의 색을 AND로 연산 색으로 그려짐 ||
         || R2_XORPEN || 펜과 배경색을 XOR연산 결과로 그려짐 ||
         이를 이용하면 그림을 지우는 과정을 하지 않고 단순히 동일 그림을 그림으로써 기존의 그려진 그림을 간단히 지우는 것이 가능하다.
  • MFC/ScalingMode . . . . 8 matches
         논리 좌표와 장치 좌표간의 매핑을 변경할 수 있는 모두는 두가지가 존재다.
         전자의 것은 x, y축에 대 scale factor 를 동일하게, 후자는 각각 다르게 설정하는 것이 가능하다.
          ''뷰포트는 논리좌표가 장치좌표로 변환되는 파라메터의 역할을 다.''
         // TODO: 확대 기능의 구현을 위해서 뷰포트의 범위를 변경다.
         // MM_LOENGLISH 모드를 원하기 때문에 y의 범위는 음수가 되어야 다.
         pDoc->SetWindowExt(DocSize); // 윈도우의 범위를 설정다.
         int xLogPixels = pDC->GetDeviceCaps(LOGPIXELSX); // 인자에 해당하는 장치 정보를 리턴다. 인치당 픽셀의 개수를 리턴. 100단위
         // x와 y에서의 뷰 포트 범위를 계싼다.
  • Memo . . . . 8 matches
         //Project -> Setting -> LINK 메뉴 -> Object/library modules: 의 끝부분에 ws2_32.lib 를 추가다.
          // 프로그래머는 이것을 통해 네트워크와 대화를 다.
          = inet_addr(SERVER_IP); // 로컬 주소로 설정다.
          // 서버에 연결다. 시도나 해보자.
          // exit로 종료를 하면 모든 파일 디스크립터를 자동으로 닫고 종료다.
         신문을 비유로 들면 역할이 두 개로 나뉜다. 쪽은 신문내용을 원하는 대로 편집하는 신문사, 쪽은 신문 내용을 제보하는 취재 기자이다.
         우리의 취재 기자는 너무나 소명의식이 강하기 때문에 자신이 새로 알게 된 정보를 즉각 신문사에 알린다. 또 어떤 신문사 쪽에서 기자에게 정보가 틀렸다고 알려주면, 기자는 다른 신문사에게도 모두 새로운 정보를 알려준다.
  • MoniWikiPo . . . . 8 matches
         msgstr "\"%s\"에 대 역링크 찾기"
         msgstr "\"%s\"에 대 키워드 서치"
         msgstr "비슷 페이지가 없습니다"
         msgstr "%s에 대 Whois 서치 결과"
         msgstr "정확 비밀번호를 넣어주세요"
         "<b>목록:</b> 공백과 * 총알 개; 1., a., A., i., I. 번호달린 목록;\n"
         msgstr "%s은(는) 유효 액션이 아닙니다"
         msgstr "비슷 쪽"
  • OperatingSystemClass/Exam2002_1 . . . . 8 matches
         3. 일반적으로 다중 프로그래밍 시스템에서 메모리 보호를 위해 어떤 H/W 장치가 필요하며, 어떠 식으로 메모리 보호를 행하는가?
         4. system call 이란 무엇이며, 왜 필요가?
         7. 유 용량 Message Passing 을 위 send() 메소드와 receive() 메소들을 완성하시오. send() 메소드는 queue의 공간이 있을때까지 block 하며, 반대로 receive() 메소드는 avariable message가 있을때까지 block해야 다.
          만약 ti 와 Ji와의 차이가 1.0 미만이면 a = 0.3 으로 설정다면,[[BR]]
          2-2) 이는 어떤 효과를 유발하기 위 것인가?[[BR]]
          2) 파라메타 값이 a < b < 0 의 값을 갖는다면 이는 무슨 스케줄링 알고리즘을 의미하는가? (만약 정확 알고리즘 이름을 기술하기가 어렵다면 알고리즘의 특성을 설명하시오)
  • PPProject/Colume2Exercises . . . . 8 matches
          * [Leonardong]이 작성 코드
          * 작성
          저장공간을 하나라도 줄이려고 변수를 최대 안 쓰려고 노력했다. 식이 복잡해졌다. 간단 임시변수는 써줘야 겠다.
          시프트를 일반화시켜서 생각하고 문제에 접근했다. 하지만 풀리지 않았다. 책을 다시 읽고, 그림을 봐서 무엇을 잘 못 이해했는지 살폈다. 하지만 잘못 이해 부분은 없었다. 시간이 지나고, 문제를 다시 읽으면 힌트를 얻지 않을까 하는 생각에 문제를 읽었다. 문제에서 최대공약수라는 말을 신경쓰지 않았다는 점을 발견했다. 최대공약수를 이용해서 결국 문제를 해결했다.
         다소 여유를 가지고 PairProgramming 을 했다. 혼자 할때보다 문제 파악이 잘 되었고 뭔가 탁 트인 느낌이 들었다. 아쉬운 점이라면 문제 해결에 너무 매달려서 리펙토링을 게을리 결과 우아 프로그램을 완성하지 못했다. 늘 그렇듯이 역할에 맞는 변수명 붙이기는 어렵다. 짧았지만 흥미진진 시간이었다.
  • PluggableSelector . . . . 8 matches
         가장 간단하게 Pluggable Behavior를 구현하는 방법은 실행될 행동을 저장해놓는 것이다. 먼저 이것의 반례, 즉 서브클래싱 것을 보자.
         이런식으로 하나의 메소드만 계속 오버라이딩다면 서브클래스들의 가치가 없을것 같다. 쉬운 해결책은 ListPane 스스로를 좀 더 유연하게 만드는 것이다. 다른 인스턴스들이 다른 메세지를 보내게 하는 것이다.
         가독성 : 그냥 서브클래싱것보다 떨어진다.
         유연성 : P.S는 수신 객체에 구현되어야 다.
         확장성 : 오브젝트마다 최대 두번까지만 쓰자. 더 많이 쓰면 프로그램의 의도가 흐려진다. 더 많이 쓰고 싶으면 State Object를 쓰는 법이 있다.
         실행될 selector를 가지는 변수를 추가다. 이름 뒤에 Message를 덧붙인다. selector를 실행하기 쉽게 해주는 Composed Method를 만든다.
         예를 들어, 어떤 비쥬얼 컴포넌트를 다른 것의 상대적인 부분에 위치시키고 싶다면, 상대적인 위치를 만들어주는 Pluggable Selector를 사용할 수 있다.(???)
         이런 식으로 하면 CenteredRelativePoint, TopLeftRelativePoint같은 서브클래스를 만들 필요가 없다. 위에서 center라는 메세지를 추가 것처럼, topLeft메세지를 추가만 하면 되는 것이다.
  • ProgrammingPearls/Column1 . . . . 8 matches
         대부분의 언어에는 소트가 이미 구현되어 있다. 그런데 꼭 새로운 나만의 소트를 만들어야 될때가 있다. 레코드가 천만개쯤 된다고 하자.이것을 우리가 알고 있는 버블소트, 퀵소트 같은 것으로 하기에는 메모리가 많이 든다. 32bit(4byte)의 정수라고 다면, 40메가바이트가 필요하다. 하지만 어떤 작업을 할때에, 우리가 소트에 할당할 수 있는 공간은 1메가 남짓이라고 가정하자. 시간이 많이 걸려서도 안된다. 어떻게 해야 할 것인가? 이 레코드들은 7자리 전화번호이기 때문에 같은 것이 없다고 다.
          * 제 : 메모리를 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/MappingObjectToRDB . . . . 8 matches
          For cauBook Information (중대 도서관시 유일 키)
         ProjectPrometheus 는 RDB-Object 연동을 할때 일종의 DataMapper 를 구현, 적용했었다. 지금 생각해보면 오히려 일을 복잡하게 게 아닌가 하는 생각을 하게 된다. Object Persistence 에 대해서 더 간단 방법을 추구하려고 노력했다면 어떻게 접근했을까. --["1002"]
         Xper 에 O/R 맵핑 조언 구했을때 그에 대 답변
         PEAA 의 RDB Mapping 과 관련된 패턴을 바로 적용하는 것에 대 답변
          * 패턴의 오/남용 문제가 발생할 수 있다. - 어설프게 아는것은 모르느니만 못 경우가 있다. 그리고 제대로 안다고 해서 "많이" 하는 것은 정말 잘 아는게 아닐 수 있다.
         편으로 [http://www.xpuniverse.com/2001/pdfs/EP203.pdf Up-Front Design Versus Evolutionary Design In Denali's Persistence Layer] 의 글을 보면. DB 관련 퍼시스턴트 부분에 대해서도 조금씩 조금씩 발전시킬 수 있을 것 같다. 발전하는 모양새의 중간단계가 PEAA 에서의 Table/Row Gateway 와도 같아 보인다.
          2. 초기에 UpFrontDesign 로 나간 뒤, 후기에 점진적 발전을 추구점 - 두개가 비교대상이 되긴 어렵다.
  • ProjectZephyrus/Client . . . . 8 matches
          ''Engineering Task나 User Story 모두 노동의 양으로 estimation을 해서, 포인트를 준다. 이렇게 "비용"이 적힌 카드들을 놓고, 어느 것을 하고, 미루고, 먼저하는 지 등의 순위 결정은 "중요도 중심", "위험도 중심"이 있는데, 작년 이후 익스트리모들(KRW)은 복잡하게 이런 걸 따지지 말고 그냥 비지니스 가치로 순서를 정하라고 다. --JuNe''
         솔직히 서버와의 연동작업이 많아서. 이는 서버팀과 이야기를 해야 할 사안인데, 양 팀이 꺼번에 모이는 시간이 없는게 안타까울뿐. (억지로라도 하루 잡아서 만들어야 할듯.) 일단은 클라이언트쪽 관점에서 해야할일만 적기. (서버는 이미 완성되어 있다는것으로 전제)
         Total 6.5 TP. 실제로 6.5 * 1.5 = 9.75 TP 걸릴것으로 예상. 하지만 Task 는 계속 작업하면서 추가되기에, 실제로는 더 걸리겠지. 하지만 현재 생각할 수 있는 도내에서의 예측이라는 점에서 의미. (미지인 부분에 대해 미리 걱정하기엔 현재 일도 빠듯하기에) 계속 Update 시켜야 하겠지.
         || 입력 대화 내용 서버로 보내기 || 0.5 || ○ (40분) 6/7 ||
         |||||| ''' 등록 친구들을 buddy list 에 표시 - 2 ''' ||
         || 서버로부터의 등록 친구 관련 메세지 처리 || 0.5 || ○ (1시간 20분) 6/5 ||
         |||||| '''등록 친구들에 대 On/Off 상태 표시 - 2 ''' ||
  • PyIde . . . . 8 matches
          * idlefork, vim 말고 쓸만 python 개발환경을 구축해보자. -_-;;
          * Prototyping & 외부 공개소스 Review & Copy & Paste 하여 가능 빠른 시간내에 원하는 기능 구현법이나 라이브러리들을 연습하여 익힌뒤, Refactoring For Understanding 을 하고, 일부 부분에 대해 TDD 로 재작성.
          * [Eclipse] - [wxPython] 과 PDE 중 어느쪽이 더 효율적일까.. CVS 관련 기능들등 프로젝트 관리면에서는 Eclipse 의 Plugin 으로 개발하는 것이 훨씬 이득이긴 데.. Eclipse Plugin 도 [Jython] 으로 프로그래밍이 가능할까?
         아마 중간중간 학습할 코드들. 공부거리들. 하지만 중요건 '지속가능 속도로'
          * http://codespeak.net/pypy/ - 순수 파이썬으로 구현하는 python 이라고 다. 관심이 가는중.
          * 인터프리터에서 타이핑 내용 화일로 저장하기 ( 이거 되는거 있나? python 사용법을 몰라서 )
  • PythonNetworkProgramming . . . . 8 matches
         역시. 아주아주 간단 예제.~
         또는, 기본 모듈로 있는 SocketServer 모듈을 사용할 수 있다. 다음은 간단 예제.
         Medusa 는 내부적으로 select / poll 를 이용, 비동기 소켓부분을 구현다. 소켓 이벤트들 처리에 대 인터페이스가 아주 깔끔. 참 마음에 든다.
         다음은 화일 보내는 부분과 관련 간단 예제.
         다음은 화일 받는 부분과 관련 간단 예제.
  • SharedVision . . . . 8 matches
         SE 시간의 이경환 교수님의 이야기. CMM, SPICE 에서 Level 2 이상시 필요조건. 전체 회사의 비전은 팀의 비전과 일치되어야 하며, 팀의 비전과 팀 소속원의 비전이 일치되어야 다. 회사의 비전과 팀의 비전이 일치 제품이 나와야 하며, 팀의 행동 또 회사의 비전과 일치되어야 다.
         진정 모임이란 어떤 모습일까?
          * 또하나 생각난다면, 구심점이 되는 작은 사람들 (이때쯤 되니 또 20 : 80 법칙 생각이;)이 영향력을 발휘하는 방법. 보통은 이 스타일이 되는 것 같다. 문제제기 & 대안제안자 10%에 실제로 수습하는 사람 10%, 동의해주고 따라주는사람 40%, 60% 가 넘어간 뒤 인력의 작용(쪽에 커다란 힘이 모여있으면 이 또 인력이라고 생각다. 월드컵 축구를 보라. -_-; 뉴스건 사람들이건 신문이건 전부 축구이야기만 하면 영향 안받나;) 30%, 나머지 무관심 10% (반대의견을 내는 사람은 실제 수습자들속에 있기도 하다. 물론 냉소만 보내는 사람도 있지만)
  • UML서적관련추천 . . . . 8 matches
         수업시간에 나갈 때의 어찌 하다보니, 주된 스타일은 'All it together' 그리고 그 이후의 단계별 접근으로 진행이 되었습니다. 해당 단계들에 대해서 처음에는 전체적인 부분을 꺼번에 진행하고, 그리고 각 단계들을 보게 되었습니다.
         아마 레포트를 작성하시는 동안 요구사항이해-디자인-코드 작업을 지금 3번 정도 진행을 하시지 않았나 생각이 듭니다. 그동안 레포트 느낀점 등을 읽었는데, 은근히 다이어그램 표기법에 대해서 고민하시는 분들이 많았습니다.
         UML 에 대 개론서입니다. 두께도 얇고, 도서관에도 있습니다. 내용 상의 서술은 오히려 어느정도 개발을 사람들이 재미있게 읽을 만 것이긴 하나, 개론서로 읽어도 괜찮을 것 같습니다.
         UML 을 만든 소위 Three-Amigo 라 불리는 3명이 저자인 책입니다. Grady Booch, Ivar Jacobson, James Rumbaugh. 1판 번역서가 도서관에 있던걸로 기억하는데, 앞부분만 읽어보셔도 정말 예술인 책입니다. 처음 읽었을때, '모델' 이라는 개념에 대해서 이렇게 멋지게 서술 책이 또 있을까 생각이 들던 책이였습니다. 그리고, UML 을 공부할때 소위 '정석적'이라고 이야기하는 것들은 아마 이 유저가이드나 Reference Manual 에서 언급된 설명을 기준으로 말할 것이라 생각이 듭니다.
         참고로 UML 은 'Modeling Language' 입니다. 모델링 서술을 위 언어일 뿐, 모델링이나 디자인 방법 자체에 대 설명을 하진 않습니다. 디자인 관련 서적은 따로 서술하겠습니다.
  • UniversalsAndParticulars . . . . 8 matches
         뭘 가르쳐야 하나. 나는 특수를 통해 보편을 가르쳐야 다고 생각다. 특수를 가르치느라 보편이 가리워지면 안된다.
         WardCunningham은 이런 말을 했다. 작지만 유용 프로그램을 매일 만들어봐라. 복잡하고 큰 걸 만들다 보면 중요 아이디어가 감추어져 버릴 수 있다.
         대학에서는 특히 보편을 배워야 다. 소학이 아니고 대학이기 때문이다. 그러나 보편은 특수를 통할 때에 맥락을 갖는다.
         자바 스윙에서 어떤 API를 통해 어떻게 그림을 그리는지를 가르치기 보다, Event Driven Programming을 가르치되, 스윙이라는 맥락을 방편으로 이용해 가르친다. 해당 프레임웍의 API가 복잡 경우, 학습자들은 오히려 그 API를 외우고 공부하느라 더 중요 것을 잊을 수 있다. 따라서 이런 경우 가르치는 사람이 미리 좀 더 추상적인 차원의 레이어를 만들어(이를 교육학에선 스캐폴딩이라 다) 제공할 수 있다.
  • UselessTilePackers . . . . 8 matches
         Useless Tile Packer라는 회사는 효율에 대 자부심을 가지고 있다. 이 회사는 다른 회사보다 더 적은 공간을 사용하는 것을 가장 큰 목표로 삼고 있다. 영업부에서는 "useless(쓸모 없는)"라는 단어가 오해를 불러일으킬 수 있다고 생각하여 관리부에 회사 이름을 바꾸자고 여러 번 요청했지만 매번 거절당했다.
         포장해야 할 타일은 모두 두께가 같고, 간단 다각형 모양으로 생겼다. 각 타일이 담겨있는 용기 모양은 주문자가 마음대로 정할 수 있다. 용기 모양은 그 안에 들어갈 타일을 담을 수 있는 가장 작은 형태로 제작된다.
         하지만 이렇게 하면 용기 안에 낭비되는 공간이 생긴다. 타일이 주어졌을 때 낭비되는 공간의 비율을 계산해야 다.
         입력 파일은 여러 데이터 블록으로 구성될 수 있다. 각 데이터 블록은 하나씩의 타일을 기술다. 데이터 블록 첫째 줄에는 타일의 꼭지점의 개수를 나타내는 정수 N(3≤N≤100)이 입력된다. 그 밑으로는 N줄에 걸쳐서 각 꼭지점의 (x,y) 좌표를 나타내는 정수가 두 개씩 입력된다. 이때 x,y는 모두 0 이상 1,000 이하다. 꼭지점은 입력된 순서 그대로 연결된다. 세 개 이상의 동일 직선 상에 있는 점이 연속으로 입력되는 일은 없다.
         입력된 각 타일에 대해 출력 예에 나와있는 것과 같은 식으로 타일 번호(1부터 시작)를 출력하고, 그 다음 줄에 "Wasted Space = X %" 형식으로 낭비된 공간의 비율을 퍼센트 단위로 출력다. X는 낭비된 공간의 비율을 퍼센트로 나타낸 것이며, 소수점 아래로 둘째 자리까지 반올림해서 출력다.
         서로 다른 데이터 블록에 대 결과 사이에는 빈 줄을 하나씩 출력다.
  • ZeroPageServer/IRC . . . . 8 matches
         사실 따로 정책이 필요 지는 모르겠지만 있으면 명쾌할 것 같아 그냥 적어본 겁니다. 의견이 있으면 남겨주세요. - [변형진]
          * 권: [오징오징어] 봇에 등록된 사용자에 해 아래 해당하는 권을 설정합니다.
          * AOP(@): 회장이 허가 회원
          * HOP(%): ZeroPage 정회원 및 은퇴 회원
          * [황현] - Java로 엔진 구현하고 Lua로 모듈화 가능 유연 IRC 봇을 만들겠습니다.
  • ZeroPageServer/UpdateUpgrade . . . . 8 matches
         ZeroPageServer 는 데비안 (SeeAlso [http://debianusers.org/ 국데비안 사용자 모임] , 위키의 DebianKr:대문 )을 사용하고 있다.
         다음의 업그레이드를 보름에 번정도는 해주자. (업그레이드는 보통 보안과 패치들을 겸다.)
         가장 간단 코드, 나오는 메세지 거의다 Y를 누른다.
         소스트리는 현재(2004년) 테스트 버전인 sarge 가 되어 있다. 앞으로 sarge가 stable 이 되는 1~2년 사이에는 빈번 패치, 업그레이드가 이루어 지므로, 일주일에서 보름 정도 사이에 버씩 업그레이드를 해주면 된다. 달에 번씩 하면 수십개의 패키지가 업그레이되는 멋진 광경을 볼수 있다.
  • ZeroPageServer/Wiki . . . . 8 matches
         위키의 변경 사항에 대 공지 기록
         사소 것들이 추가되었습니다.
          저장 경로는 pub/upload 입니다. 권을 꼭 풀어주세요.
         몇가지 사소 안내가 글로 바뀌었습니다.
         글화 중 오타, 띄어쓰기 잘못된곳 , 이해 가지 않은 부분, 어색 부분, 상황에 맞지 않거나, 이중 해석될수 있는 메세지를 보고해 주세요. 대안도 가능하면 제안해 주세요. --NeoCoin
          * Q : 로그인을 했는데도, RecentChanges 페이지에서 diff 아이콘 이외에 update, delete, new 등의 아이콘이 안생기는데, 노스모크 안정버전에서는 원래 그러 것인가요? --[sun]
  • [Lovely]boy^_^/Diary/7/8_14 . . . . 8 matches
          * 쓰는 법 다 잊어먹었다.;; 닷넷 컴파일러로 바뀌니까 막 헷갈린다. 그런의미에서 간단 테트리스나 만들어 보기로 했다.
          * 형들이 정리해 놓은거 번 봤는데.. 뭔소린지;; 이건 아직 무리다.
          이랬다. 절대 안된다;; for써서 원소 하나하나씩 복사해줘야 다. C++의 참조 변수처럼 A바꾸니까 B도 같이 바뀌더라;;
          * 이상하다.. 날씨가 더워서 그런가.. 왜 일케 뭔가를 하기가 싫담. 오늘도 넋 놓고 있다가 운동 가고 가게 보다가 집에 오니까 10시.. 공부는 언제 담.;;
          * 석천이형이 봐오라고 TestDrivenDevelopment 랑 PyUnit 보고 있다.
          * 상협이랑 석천이형테 세미나 듣는날(11시)
          * 책 복사거 일주일 내로 다 보기
          * 죽도록 고생만 선우지만 이젠 가족도 만났고.. 병도 치료될 거 같고..행복해졌으면 좋겠다.
  • html5/outline . . . . 8 matches
         = 아웃라인을 의식 마크업 =
          * 웹 어플리케이션의 구조를 논리적으로 기술하기 위 기본 요소
          * article 요소를 사용할 것인가 말 것인가는 콘텐츠를 해당 페이지에서 분리해서 사용 가능가에 따라 결정
          * 여러 제목을 묶어 하나로 만들기 위 {{{<hgroup>}}} 태그 사용가능
          * 바로 위 부모 article이나 body 요소에 관 연락처 정보
          * 중첩이 가능. 안쪽 article은 밖의 article과 밀접 연관을 가진다.
          * [http://www.webguru.pe.kr/zbxe/web2/824655 outline 요소에 대 전반적인 예제와 설명]
          * [http://appletree.or.kr/blog/category/web-development/css/ HTML에 관 깊이 있는 글을 보여주는 블로그]
  • mantis . . . . 8 matches
          * apm 설치후, 걍 www 폴더에 복사후 웹으로 해당 localhost/mantis 들어 가면 인스톨 나오고 DB 관련 것을 넣어 주면 설치가 됩니다.
          * /core/user_api.php 에서 416line 을 아래와 같이 바꿔서 이메일 인증이 아니라 임시 암호를 부여하고, 사용자가 바꾸게끔 다.
         = 글 설정 =
          * administrator , 암호는 root 로 로그인 후에 계정관리에서 preference 부분에 가서 제일 하단 부에 있는 언어 선택을 글로 해야 글로 메뉴를 보고 글을 사용할 수 있습니다.
          * 글을 쓰려면? -> 일단 무슨 에러 메시지가 뜬 것을 볼 수 있습니다.
          * 위와 같이 하면 일단 글을 쓸 수 있는 있습니다.
  • zennith/SICP . . . . 8 matches
         "내가 컴퓨터 과학 분야에서 가장 중요하다고 생각하는 것은 바로 즐거움을 유지해간다는 것이다. 우리가 처음 시작했을 때는, 컴퓨팅은 대단 즐거움이었다. 물론, 돈을 지불하는 고객들은 우리가 그들의 불만들을 심각하게 듣고있는 상황에서 언제나 칼자루를 쥔 쪽에 속다. 우리는 우리가 성공적이고, 에러 없이 완벽하게 이 기계를 다루어야 다는 책임감을 느끼게 되지만, 나는 그렇게 생각하지 않는다. 나는 우리에게 이 기계의 능력을 확장시키고, 이 기계가 나아가야 할 방향을 새롭게 지시하는, 그리고 우리의 공간에 즐거움을 유지시키는(keeping fun in the house) 그러 책임이 있다고 생각다. 나는 컴퓨터 과학 영역에서 즐거움의 감각을 잊지 않기를 희망다. 특히, 나는 우리가 더이상 선교자가 되는 것을 바라지 않는다. 성경 판매원이 된 듯 느낌은 이제 받지 말아라. 이미 세상에는 그런 사람들이 너무나도 많다. 당신이 컴퓨팅에 관해 아는 것들은 다른 사람들도 알게될 것이다. 더이상 컴퓨팅에 관 성공의 열쇠가 오직 당신의 손에만 있다고 생각하지 말아라. 당신의 손에 있어야 할 것은, 내가 생각하기엔, 그리고 희망하는 것은 바로 지성(intelligence)이다. 당신이 처음 컴퓨터를 주도했을때보다 더욱 더 그것을 통찰할 수 있게 해주는 그 능력 말이다. 그것이 당신을 더욱 성공하게 해줄 것이다. (the ability to see the machine as more than when you were first led up to it, that you can make it more.)"
  • 강희경/도서관 . . . . 8 matches
          * 살아있는 국사 교과서
         || 14 || 폰더씨의 위대 하루 || || || ||
         || 3 || 수학.아직 이러 것을 모른다 || 요시나가 요시마사 || 최원석 || ||
         ''어떤 이유로든 다시 읽어볼 책''
         || 8 || 폰더씨의 위대 하루 || || || ||
          역사에 대해서는 문명의 충돌도 번 읽어보길 추천~나는 역사학입문을 들으면서 봤던 책이야. --[Leonardong]
          * 경제 : 시티즌 경제학(경제에 대 확실 개념을 잡는책_강추), 마케팅 관련 - [포지셔닝](강추), [마케팅천재가된맥스](강추)
  • 걸스패닉 . . . . 8 matches
          * 9월 24일 PM 시 네번째 모임
          * 9월 25일 PM 시 다섯번째 모임
          * 9월 26일 PM 시 여섯번째 모임
          * 9월 27일 PM 시 일곱번째 모임
          * 9월 29일 PM 시 여덟번째 모임
          * 어이, 회의 번 해야하는거 아냐? --[구자겸]
          * 지금 너무 흐지부지 어정쩡하다. 다음주 월요일 정모에 모여서 미래에 대해 진지 토론하자.--[강희경]
          * 일주일만에 완성 가능하게 계획을 세워야 다. --[구자겸]
  • 그래픽스세미나/1주차 . . . . 8 matches
          a. CRT의 전자총에서 빔을 화면의 형광물질에 쏴서 빛을 내게 다.
          * 그림의 안쪽을 쉽게 채울 수 있으나, 계단현상이 발생다.
          1. 위의 방법과 비슷하지면 X값을 1씩 증가시킨후 Y값의 결정을 할때 Y값의 양 정수중에서 더 가까운 수를 취다.
          a. 직접 선이 출력 영역과 교차하는지 비교다.
          1. 출력영역을 중심으로 화면을 9등분다.
          * 각각에 Outcode를 부여다.
          * 선의 시작점과 끝점이 들어있는 영역의 Outcode 2개를 AND 연산다.
         || [인철] || 파일 올리는 법-.-;; 저번에 나테 가르쳐주었는데..도저히 모르겠다..-.-||
  • 대학원준비에대한조언 . . . . 8 matches
         여러명이 모여서 스터디를 지도 삼 주가 다 되어간다. 같이 준비하면서 때로는 너무 사소 것에 매달리는 것이 아닌가 싶을 정도로 부분에서 넘어가지 못하는 경우가 있다. 참을 이야기해서 결론을 내보니 이미 말하던 도중에 나왔던 이야기였거나 책을 보면 알 수 있는 내용인 경우도 있다. 하지만 그렇게 해서도 결론이 나지 않는 문제들이 있었고 [대학원준비06] 팀은 교수님께 찾아가서 질문을 했다.
         질문에 대 답도 얻었지만 [대학원준비에대조언]을 얻은 것이 더 큰 성과였다고 생각다. [열린질문]을 던지면서 스스로 고민하는 시간이 중요하다는 이야기를 많이 하셨다. [대학원준비06] 팀이 과목 요약을 하고 난 다음에는 고민하는 시간을 가졌으면 좋겠다.
         그 밖에 연구실을 방문하라는 조언을 들었다. 포항공대에 [OpenLab]에 다녀온 경험을 생각해보면 매우 와닿는다. 심지어 아무것도 모르고 연구실을 찾아가고, 10분 남짓 시간을 둘러보고 오더라도 연구실 사람들 직접 만날 수 있다는 사실 만으로도 얻을 것이 있다. 몇 년의 시간을 보낼 장소를 선택하는데 하루의 노력이 아까울까!
  • 데블스캠프2005/Python . . . . 8 matches
         == 신기 익스플로러 제어 ==
          * dir() : 인수에 객체를 전달하면 객체 내에서 사용할 수 있는 함수 리스트를 리턴다.
          * help() : 인수에 전달된 명령에 대 설명을 보여준다.
         c = 999999999999999999L long형(무제)
         임의의 객체를 저장하는 자료형. 순서를 가지고 순서에 의해 접근 가능. 객체의 변경이 불가능다.
         임의의 객체를 저장하는 자료형. 순서가 있고 순서에 의해(index) 접근 가능. 객체의 변경이 가능다.
         임의의 객체 저장. 자료의 순서를 갖지 않는다. 키(key)를 이용해 값(value)에 접근다.
         내부적으로 해쉬(hash)를 이용하여 자료를 저장다. 빠른 속도로 자료를 찾을 수 있다.
  • 데블스캠프2009/수요일 . . . . 8 matches
         || 이병윤 || RootKit || Windows의 구조와 IA32 의 구조를 간단하게 설명. 커널레벨로의 접근을 이용 간단 루트킷 작성 || ||
         || 김준석 || 객체 지향 프로그래밍(OOP) || OOP에 대 개요 이해, 추상화에 대 개념. OOP 기반의 프로그램 설계를 코드가 아닌 글로 새내기와 함께 해본다. || 문법은 잊고 의사코드를 사용 설계실습을 해보자 ||
         || 송지원 || Simple Java & JUnitTest || Java의 간단 문법과 개념을 배우고,[[br]]JUnitTest를 통해 TDD 기반의 프로그래밍에 대해 맛보기. || 아무래도 Test가[[br]]메인이다 보니,[[br]]Java를 통 OOP 개념의 실습은[[br]]시간상 진행하지 않는다. ||
         ||am 03:00~03:50 || 간단 실습 -> Test 유도 || 송지원 ||
  • 동문서버위키 . . . . 8 matches
         동문서버위키가 현 상황에서 제로페이지의 위키나 다른 성공적 위키 사이트에 비해 상대적으로 사용이 저조하고 NoSmok:DegreeOfWikiness 가 낮고 무엇보다도 사람들이 해당 위키를 통해 얻는 "삶 속에서의 가치"(혹은 효용)가 없어서 마디로 실패 커뮤니티 사이트가 된 이유는 무엇일까.
         사람들의 인식을 바꾸는데에 실패했다고 본다. 일단 사람들이 위키를 현재 (익명) 게시판의 연장 혹은 (조금 저열) 보조물 정도로 여기는 인식이 굳어졌다고 본다. 특히 최근 동문서버위키를 살리려고 감성사전 페이지를 만드는 등 구제 노력이 있었으나 그것은 오히려 상황을 더 어렵게 만들었다고 본다. 번 여러가지로 생각해 보고 분석하고 함께 논의해 볼 문제라고 생각다. --김창준
          * 테스트 기간때의 개인페이지의 영향 - 동문서버팀에서 '좋은 선례' 를 만들어보기 위해 동문서버 프로젝트 자체가 돌아가는 모습 (ex - [http://dongmun.cse.cau.ac.kr/phpwiki/index.php?PPGroup_Board 동문서버게시판프로젝트]) 을 일부러 위키에 남겨보고, 몇몇 사람들이 공동번역페이지나 스터디 페이지 같은 것들을 열어봤었지만. 이미 그때 사람들의 주 관심사들은 자신들의 페이지들에 일기를 남기는 것이였었죠. 그 이후, 인식을 바꿀만 사건들이 나오지 않은 것 같습니다.
          * 위키 스타일의 이해차이 - 이미 잘 정립된 위키스타일을 인식하고 있는 사람이 있던가 하면 그렇지 못 사람들도 있었죠. 이미 잘 정립된 위키스타일을 알고 있는 사람들이 바로 위키초심자에게 해당 룰을 적용하는 일은 위험 것이라는 것을 그때 느꼈죠. (일부 사람들은 자신들이 작성하던 페이지를 도로 삭제하기도 했었죠. 위키의 룰이 강제성이 없으며, 반론을 제기할 수도 있는 것임에도 불구하고 시간낭비하기 싫었던 것일까요.. 쩝) 위키의 룰은 결국 위키를 사용하는 사람들이 이용해나가면서 서로 암묵적으로 인정해나가는 것들이 룰로서 올라가지, TopDown 식으로 명령하달식으로 내려 올 수 없는것이겠죠.
  • 메모장 . . . . 8 matches
          인지부조화 : 행동과 태도가 일치하지 않는 부조화가 발생하면 일관성을 지키기 위해 부조화를 해소하려 다. 행동은 이미 저질렀기 때문에 태도를 바꿔야 다.
          행동을 먼저 변화시켜서 태도를 바꾸게 되는 경우가 있다. 일단 저지르고 나서(행동) 태도의 변화를 꾀다.
          자신감. 여러 사람 앞에서 말할때 너무 긴장된다. 막 목소리 떨리고 준비 대로 진행되지 않는다. 사진찍으려하면 표정 암울해지고ㅠ 대학생활끝나기 전에 고치자.
          숙제를 미리 안 하더라도 관심을 가져보자. 조금만 파고들면 짐작이 된다. 몇 시간 걸릴지, 무엇을 공부해야 해결 가능지, 궁금증 미리 물어보기 등등~. 스펙 보고 10분만 집중하면 다 나온다~ 항상 머리속에 생각했는데 이제야 와닿을까..
          오늘 할일, 앞으로의 계획, 반성, 숙제, 공부 등등.. 이세상 모든것을 머리속으로 생각다. 정신이 산만해서인지 분야를 생각하다가 미해결로 남겨두고 다른 상상을 다. 종이에 나의 생각을 표현해보자. 차분히 정리해보면 길이 보일것이다. 내가 해야지, 누가 관리하냐
  • 무엇을공부할것인가 . . . . 8 matches
         완벽하게 만들수는 없어도. 사람들은 어떠 순서로 공부했고 어떤 생각을 했을까?
         Game Developer, System Software Developer, Software Architect, 전산학자 식으로 각각의 직업과 관련된 지식에 대 Roadmap 은 어떨까요? (예전에 '~~ 개발자가 되기 위 book map' 같은 것도 있었던 것 같은데)
         전산학을, 프로그래밍을 공부하는 사람이라면, 만약 내가 지금 배우는 대부분의 지식과 기술들이 내가 졸업을 하고 회사에 입사를 할 약 4년(혹은 병역을 마치는 경우 6년) 후에 쓸모없어 진다면 어떨까 하고 생각을 해 볼 수 있겠죠. 오늘 내가 밤샘을 하고 고민을 하면서 내가 사용하는 특정 도구의 계를 우회하기 위해 기발 방법을 짜내면서 얻는 지식은 4년 혹은 6년 후에 어떤 가치가 있을까요? 그 노력에 비해 얼마나 가치가 있을까요? 만약 그런 과정을 통해 어떤 지혜를 얻을 수 있다면, 좀 더 효과적이고 경제적인 방법은 없을까요?
         SeparationOfConcerns로 유명 데이비드 파르나스(David L. Parnas)는 FocusOnFundamentals를 말합니다. (see also ["컴퓨터고전스터디"]) 최근 작고 다익스트라(NoSmok:EdsgerDijkstra )는 수학과 언어적 능력을 말합니다. ''Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer. -- NoSmok:EdsgerDijkstra '' 참고로 다익스트라는 자기 밑에 학생을 받을 때에 전산학 전공자보다 수학 전공자에게 더 믿음이 간다고 합니다.
  • 문제풀이/제안 . . . . 8 matches
         승 :
          * 단순 프로그래밍 언어 지식 획득 이상의 무언가의 공부가 필요하다고 생각하여 시작.
          * 나는 승이가 끌여들였음. 나도 공부하면 된다는 것을 보여주겠음.하하하
          * 문제는 일주일에 문제 정도를 푸는것으로 다.
          * 정답 공개 시기는 출제자 마음대로 다.
          * 알려진 가지의 코드를 공개다.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.23 . . . . 8 matches
         = 간단 문제 =
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * C언어 진도를 나간 첫 수업이었다. 내가 생각보다 수업을 빠르게 진행을 건지 수업을 반정도 진행하니까 준비해간 내용을 전부 진도를 빼버렸다; 1시간을 가르치려면 1시간을 준비해야다더니, 그 말이 맞는 것 같다. 다음 화요일 수업에는 더 많이 준비해야겠다. C언어 말고도, 간단하게 다른 새로운거 접해보라는 의미로 tryhaskell홈페이지를 알려주었다. 애들이 재밌게 해봤으려나?ㅋㅋ - [박성현]
          * C언어 프로그래밍을 시작하기 위해 필요 컴퓨터와 프로그램에 대 지식을 공부하였다. C언어는 역시 멋진 언어인 것 같다. haskell을 해 보고 싶었는데 사이트가 이상했다 ㅠㅠ.. 프로그래밍 언어는 너무 많은 것 같다. 다 배우려고 하진 말아야지... - [장용운]
         assert함수에 의해 c가 30인지 비교다.
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.29 . . . . 8 matches
          * 변수와 상수에 대 설명
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 오늘은 표준 입출력 함수, 상수&변수의 의미와 각종 연산자들에 대해서 배웠다. 역시 배우면 배울수록 흥미롭다. 그런데 용운이는 다 알고있고 형준이는 안오고 뭔가 나만 배우고 있는 듯 느낌이...... ㅜㅜ. 아무튼 지금은 무식해도 올해가 끝나갈 쯤엔 나도 C언어 마스터가 되야지. - 송치완
          * 오늘 배운 것은 printf의 사용법과 각종 연산자에 대 것이었다. 예전에 배운 적이 있지만 다시 배우니 더 깊이 알게 된 것 같다. 프로그래밍은 배울 수록 느는 것 같다. 앞으로도 복습은 소홀히 하지 않아야겠다. - [장용운]
          * 오늘 가르치면서 느낀건 내가 준비가 좀 부족했다는 것이다. 시나리오가 제대로 준비되지 않아, 말에 두서가 없었다. Flexible하게 해보려고 하는 것도 좋지만, 일단 최소의 시나리오는 그리고 해야 할 것 같다. 그리고 컴퓨터로 실습을 하려고 했는데, 다음부터는 일단 개념적으로 익히고 실습을 해야겠다. 손에 익숙해지는 것도 중요하지만, 우선적으로 머리가 추측을 할 수 있도록 하는게 더 중요 것 같다. 그 사이의 갭은 점점 실습을 통해 줄여나가면 될 것 같다. - [박성현]
         1. \n은 줄 띄우는 엔터역할을 합니당
  • 새싹교실/2012/아우토반/뒷반/4.13 . . . . 8 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          *오늘 수업은 마디로 처참했다.아니, 수업내용이 처참게 아니라 수업을 받은 내가 처참했다.운지 하기를 여러번 결국 보다못 새싹교실 샘이 가르쳐 주는 지경에 까지 이르게 되었다.새싹교실을 하는 보람이 있어야 하지 않겠냐고 푸념을 하시는데 죄송스럽기 그지없었으나 배울 의지는 분명히 있었다.다만 공부할 의지가 강하지 않은 것 뿐.두개의 의지는 분명히 별개라는 것을 느꼈다.공부할 의지를 불살라야 샘도 가르치는 보람이 있을텐데 불초 제자라 샘도 고생을 많이 하실 듯.-박상희
         기 : 4월 13일까지
         기 : 4월 28일까지
  • 새싹교실/2012/아우토반/앞반/4.12 . . . . 8 matches
          * 난수 생성 함수 rand, srand에 대 간단 고찰
          * 조금 복잡 프로그램 짜보기
          1) 플레이어와 선대 중 쪽의 체력이 0 이하가 되면 게임종료
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
         문제는 for문에서 계속해서 돕니다.... 무루프도 아닌것이... 이게 뭔...
         continue의 정확 사용법과 switch case에서 'p'와 같은 식으로 받아주게 했을 경우에 인식을 하는지 정확히 모르겠네요.
  • 새싹교실/2013/라이히스아우토반/7회차 . . . . 8 matches
         ||고종|| o || o || o || o || ㅇ|| ㅇ|| ㅇ ||
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * Internet Explorer를 제외 다른 브라우저 (Chrome,FireFox, Opera)로 위키에 들어오면 편집하기 쉬워요.
          * Can't Save가 떴을 땐 당황하지 말고, 작성 내용을 클립보드에 보존 뒤(Ctrl+C) 새로고침을 뒤 붙여넣고 저장할 것.
         == [고종] ==
  • 손동일/TelephoneBook . . . . 8 matches
          int count; // 등록되는 전화번호의 개수 ( 명 등록시 1씩 증가 )
          void save(); // 적은 내용들을 파일에 저장다.
         == 칸띄고 ==
         void TelephoneBook::save() // 적은 내용들을 파일에 저장다.
         // 확인하기 위 문장
          if(!strcmp(compare, compare2)) // 두개가 같다면 0을 리턴다.
          if(!strcmp(compare, compare3)) // 두개가 같다면 0을 리턴다.
          if(!strcmp(compare, compare4)) // 두개가 같다면 0을 리턴다.
  • 수업평가 . . . . 8 matches
         컴퓨터 공학과 전공(또는 타과 전공, 교양 등) 수업에 대 무기명 평가. 유용성, 중요성, 수업 이후 자신에게 미친 영향, 수업의 질 등의 측면에서.
         물론 해에 따라 교수가 바뀌고, 교재가 바뀌고 강의의 내용이 조금씩 다를 수 있다. 여기서는 특정 수업을 평가다기보다, 중앙대학교 컴퓨터 공학과의 일반적 교육 수준과 학생들의 과목별 중요도에 대 생각을 평균해 보는 데에서 의미를 찾고자 다.
         해당 수업을 직접 수강 사람만 평가 가능. 기존의 숫자에 -2에서 +2 사이의 점수를 더하면 된다.
          *중요도 : 이 과목이 '''컴공과 학생'''에게 얼마나 중요
          *수업의 질 : 수업이 얼마나 알찼고, 교수법, 교재선택, 그룹활동 등에 대 지도 등이 잘 이루어졌나
         ||미술감상_광숙 ||-2 ||-2 ||-2 || -2 ||-8 || 1 ||-8 ||
  • 숫자를한글로바꾸기 . . . . 8 matches
         === 숫자를 글로 바꾸기 ===
          문제 : 숫자를 입력 받아서 글로 출력시키는 프로그램을 작성하여라.
          || 이영호 || C || || [이영호/숫자를글로바꾸기] ||
          || 조현태 || C/C++ || || [숫자를글로바꾸기/조현태] ||
          || 정수민 || C || 4h || [숫자를글로바꾸기/정수민] ||
          || 김태훈 || C || 40min || [숫자를글로바꾸기/김태훈zyint] ||
          || 허아영 || C || 1h || [숫자를글로바꾸기/허아영] ||
          * 이강성 교수님께서 만드신 TestDrivenDevelopment 강의 동영상에서 다룬 내용과 같은 문제네요. 이 문제를 푸신 분들은 제게 메신저로 말씀을 해 주세요. DevilsCamp 때도 TestDrivenDevelopment 에 대해서 잠깐 접해보셨겠지만 이 동영상을 보시면 많은것을 얻으실 수 있을 것 같네요. 참고로 제 MSN 주소는 boy 골뱅 idaizy.com 입니다. 원저자께서 해당 파일이 무작위적으로 유포되는걸 원치 않으셔서 신청자에 해서만 파일을 보내드리겠습니다. - 임인택
  • 전문가되기세미나 . . . . 8 matches
          *단순 피드백이 아니라, 정확히 정량화및 수치화 등 구체적인 피드백
         === 노력 시간 ===
         전문 디자이너에 대 미신
          * 지난 3개월간 최소 번은 모두 모여서 작업 습관에 대해서 고민하고 토론 해 봤는가
          * 최소 며칠에 번은 다른 팀원의 대화에서 뭔가 나에게 유용 것을 엿듣는가?
          * 서로의 설계에 대 오랜 논쟁 후에 기분좋게 disagree 할 수 있나?
          * 몇 시간 이내에도 가능가?
  • 정모/2005.4.4 . . . . 8 matches
         재학생 : 남상협, [임인택, 이동현, 이영호, 하욱주, 권정욱, 김장욱, 이도현, 이용재, 이진원, 오승혁, 김상섭, 김정현, 강희경, 조동영, 이승, 윤성만
          * 이주 c [강희경], 담주 c [이승], 다담주 중간고사, 다다담주 리팩토링 [신재동]
          * 강의를 해주실수 있으신 [남상협], [임인택], [신재동], [이상규] 선배님이 나오셔서 간단히 주제를 말씀해 주시고 설명을 곁들여 해주시고 들어가셨음 자세 기록은 [새싹배움터05]에...
          * 신청자에 하여 소풍이나 엠티를 감, 구체적인 장소는 다음 정모에서...
          * 지원금 확대 ( 학기 46 -> 62정도로 증가 ) SeeAlso [회계]
          * 굳이 큰 돈을 들여서 SSP 지원을 받는것 보다는 SSP 가 아니더라도 비슷 경험을 할수 있는 방법은 많다. (ex:OpenSource) 다른 시각에서 지원책을 찾자.
          * 공대 차원에서 새로운 패러다임에 관 초청강연.
         많은 사람과 회의를 진행할때는 많은 준비사항이 필요하다는 것을 느낀 자리였습니다. 회의 진행자는 회의라는 그림을 그리는 개의 연필과 같다는 오래되었지만 새로운 사실을 알았습니다. [여섯색깔모자]에서 어째서 파란모자사고가 그런 식의 사고가 필요했는지 이제야 조금 이해가 되는 듯도 하네요. - [톱아보다]
  • 정모/2011.11.9 . . . . 8 matches
          * 참가자 : [김수경], [서지혜], [강소현], [김태진?], [고종], [추성준], [권순의], [임상현], [김준석]
          * 10월 달 동안 ZP에서 했던 일을 각자 -5 ~ +5로 점수를 매김
          * 소닉 OMS를 보면서 소닉이 돌 때 마다 제 머리도 따라서 움직인 듯 느낌이?! 그리고 소닉x는 사람도 등장하길래 안 봤었는데, 쉐도우가 궁금해서 봐야할 듯 합니다ㅋㅋ 게임에 나오던 로봇 소닉도 등장다고 봤던거 같은데 은근 재밌을 것 같아요. 다음 주에 예정된 쓰레기로 작품을 만드는 것도 기대됩니다. 혹시 A4용지 박스 필요하면 말씀주세요ㅎㅎ - [강소현]
          * 이번 OMS를 하면 좀 오래 걸릴 거라 생각했는데 역시 오래 걸렸네요. (시간 보신 분은 아실 듯.) 그래도 해야 될 말을 다 못 거 같아 아쉬웠습니다. (뭘 더 이야기 하려고 -_-) 빨리 이번 신작 주문게 왔으면 하네요.;; 여하튼. 10월 달 동안은 시험기간이었지만 뭔가 이것 저것 많이 것 같았습니다. - [권순의]
  • 정모/2011.8.22 . . . . 8 matches
          * 참가자 : [김수경], [권순의], [송지원], [김태진], [고종], [김준석], [서지혜], [정종록], [강소현], [임상현]
          * 종이가 테트리스를 완성했습니다. 버그는 수정할 계획이 잠정적으로 없다고 합니다.
          * 왜냐하면 그걸 고치려면 ㅈ생각엔 처음부터 다시시작하는게 차라리 깔끔하고 편하고 쉬울것 같거든요. 근데 다시만들려면 얼마나 걸릴지 -_-... -[고종]
          * 일단 지혜누나, 오늘은 제가 1빠. // 오늘은 OMS를 보지 못해 좀 아쉬웠네요.. 보다는! 사생대회를 나갔죠. 나가서 공대감성으로 최대 열심히 그렸다는 생각이 드네요.--; 음, 또 저는 처음본, 그러나 며칠새 종하형테 몇번 말을 들었던("아 어떤 정통부 형이 있는데"), 그러나 베일(?)에 쌓여있던 종록이형을 정모에서 뵈서 좋았어요. 말년휴가때나 12/25이후로도 자주 볼 수 있으면 좋을거같네요 ㅎㅎ -[김태진]
          * 서버 백업(아마도 nForge 위주?) 과정에 가끔 일어나는 위키 8:45 현상을 보면서 nForge에 불필요 용량을 잡아먹는 프로젝트 svn들을 몇개 지워야겠단 생각이 들었어요. 몰랐을 때 코드만 관리하지 않고 이런저런 잡데이터를 넣었다보니-_-;; 사생대회 재밌었습니다. 고퀄의 로고를 만들지는 못했지만 간만에 그림질이라니 감회가 새로웠어요. 솥 도시락 치킨마요가 2000원 할인하는 즐거운 월요일이었습니다 (물론 이건 8월까지 이지만;;) - [지원]
          * 이번 정모는 진짜 아쉬운게.. 하필이면 지각 해버리는 바람에 제가 직접 시연(?)해볼려고 했던 테트리스를 .. 뺐꼇네욬. 아마 대충돌려보시면서 수많은 버그를 보셨겠지만 아마 전체 버그의 절반도 못보셨으리라 생각합니다.. -[고종]
  • 정모/2012.7.25 . . . . 8 matches
          * 신은행 110-342-828463 / 우리은행 1002-345-756483 예금주 : 권순의.
          * 활동 회원이 아는 사람이면 전부 출입 가능가?
          * ZeroPage_200_OK : 토요일 - 자바스크립트 클로저, JSON 등에 대 이야기. Prototype에 대해서 이번 주말에 다룰 것 같아서 기대됨.
          * 작은자바이야기 : Generics와 Reflection API를 이용 objectMapper 만들기. Reflection API는 강력해서 무척 마음에 든다. 그리고 objectMapper라는 아이디어를 잘 이용하면 다른 곳에서도 반복되는 작업을 많이 줄여줄 것 같아서 비슷 방식을 사용하는 것도 좋을 것 같다.
          * Creative Club - ZP의 외부 활동이란 어떤 것이 있을까. 강력 의견을 가진 사람이 없는 것이 우선 문제. 누군가가 뭘 할 때 필요 아이디어를 내 보려고 함. OpenSource(소프트웨어, 라이브러리, 게임 개발 툴), ACM 출전, 멘토링, 공모전 등이 가능. ACM은 출전하기는 쉬우나 결과를 내기 어렵다. 멘토링은 많이들 관심이 있을지 미지수. 공모전은 시기적으로 적절지 의문.
  • 정모/2013.2.26 . . . . 8 matches
          * 참여자 : [김민재], [송정규], [고종], [김태진], [정진경], [서민관], [강성현], [정의정], [권영기]
          * 다음 주자 : [고종] 학우
          * 총무 : 고
          * [김태진] 학우가 3월 11일 정모시간에 Data Mining에 관 간단 세미나를 할 예정입니다.
          * 특별 동아리 행사가 없는 경우 예정대로 진행 예정입니다.
          * ACM 스터디 - 스터디 하면서 푼 문제의 간략 소개를 함.
          * 김태진이 위키 쓰라고 지적해서 내가 1빠요. 근데, 19일 정모는 왜 글이 없음 ?_? 누나 졸업식 때문에 못 갔는데... - [고종]
  • 정모/2013.4.8 . . . . 8 matches
         [장혁재],[고종],[이병윤],[정종록],[김남규],
          * 서로 어색어색 것 같아서 [김태진]이 진행하자고 함.
          * Q: 거기서 사람이 올까? A: 교수님 입장에선 석사명 시키면 되니까 오겠지...
          * 주 쉬기로 했습니다.
          * 주 쉼
          * 네트워크에 관 것. 어떤식으로 네트워크를 구성해야 하는가, 장비를 다루는 법도 관련되어 있고.
          * 정모에서 뭔가 얘기가 나오긴 하는데, 처리되지 않는 느낌이 들었습니다. livelock 같은 느낌. - [고종](13/04/08)
          * JAVA,C++관련해 스터디 하고싶긴데..(제가 가르치는게 아니고 다같이 공부하는 그런스터디요) 강사분 모집?! - [양아석]
  • 정모/2013.5.20 . . . . 8 matches
         [김해천],[송정규],[김민재],[안혁준],[김윤환],[김현빈],[고종],김혜준ㅋㅋㅋㅋㅋㅋ,[조광희],[이봉규],[박희정],[김남규],[임지훈],[장혁재], [김태진], [서민관], [박성현], [정종록]
          * 02년에 시작되어서 현재까지 번도 끊어진적이 없음.
          * 신기거 많고, 싸고, 재밌으니까 많이많이 갑시다.
          * 금요일에 갈 사람은 [고종]에게 연락하시오.
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * TIP : Internet Explorer를 제외 브라우저(FireFox라던가 Chrome이라던가)로 들어오면 각 항목 우측에 "편집"이라고 떠요. 좀 더 편하게 수정 할 수 있죠.
          * 왜 내가 1등인 겁니까!!... 발표 연습 많이 해야겠어요. 주제도 간결화하는 연습을 해야 겠고요. 경험 하나 쌓았다는 것에 만족하겠습니다. 근데 스터디 상태 공유를 안 거 같은데.. - [김해천]
  • 정모/2013.8.19 . . . . 8 matches
          * 활용 방안에 대 다양 의견을 들어보고자 합니다.
          * 기자재를 활용 프로젝트를 기획합시다.
          * 아두이노와 같은 경우에는 현재 보유중인 것만으로는 부족합니다. 키트로 팔긴 하지만, 가격이 비싸기 때문에 필요 부품만 낱개로 사는 것이 좋습니다.
          * 제로페이지에 'MAKE'라는 잡지가 있던데, 거기에 아두이노를 활용 다양 예제가 있습니다. 거기에 나오는 것을 직접 만들어 보는 프로젝트를 진행 해 봅시다.
          * PC실 정리에 필요 사항들은 회장단이 미리 준비하겠습니다.
          * 정리 작업에 참여 분들에게는 회식을 지원합니다. 아무쪼록 많은 참여 바랍니다.
  • 정모/2013.9.11 . . . . 8 matches
          * [김민재], [최다인], [박희정], [김현빈], [장혁재], [임지훈], [원준연], [김명규], [김상호], [고종], [조영준], [김해천], [김윤환], [권영기], [신형준], [김태진], [백주협], [서민관], [안혁준], [이봉규], [송정규], [강성현], [송바위샘], [정의정], [김승태]
         == OMS 진행에 대 이야기 ==
          * 다양 주제로 진행했던 OMS를 이제 학술적인 내용으로 진행하려고 합니다.
          * OMS 진행은 10분으로 제합니다.
          * GDG에서 진행되는 다양 행사에 회원들이 많이 참여 바랍니다.
          * [고종], [조영준], [장혁재], [김민재] 학우가 이번 9월 14일에 진행하는 Google 해커톤에 참여할 예정.
          * 아직 팀, 총 엠티와 겹치는 것 때문에 신청이 적은 것 같다.
          * 아두이노 : 아두이노 관련 서적도 보유중입니다. 아두이노를 이용 스터디를 계획하고 있다.
  • 좋은위키페이지 . . . . 8 matches
         좋은 위키 페이지란 무엇일까? 에 대 이야기
          ["데기"]는 생각과 느낌을 나누는(곱하기까지 하면 더 좋고...) 페이지가 좋다. ["Python"] 페이지에서 파이썬 학습을 위 로드맵만을 만나는 것보다 "내가 어제 말로만 듣던 파이썬을 써서 구구단을 짰는데 너무 쉽고 재밌어서 감동이더라."와 같은 경험을 나누는게 더 반가울것 같다. --["데기"]
          ["상민"] 이도 ["데기"] 가 말하는 부분들이 아쉽다. 그러 느낌을 기록하고, 그것을 공유하는 것이 위키의 순기능중 하나라고 생각다. 하지만, 그런 모습이 ZeroWiki에 부족 이유가 느낌을 기록하기 위해 글을 쓰는 '''용기'''가 부족하기 때문이라고 생각다. ZeroWiki에서는 경험과 느낌이 표현되는 곳은 프로젝트 페이지의 '''여정'''이나 '''느낌''' 기록하는 부분이나 이벤트의 '''후기''' 같은 부분이 주가 되고 있다. --["상민"]
         '더 좋은' 것을 지향하되, 사람들이 자신의 수준에서 발자국 더 내딛은 것에 대해서 서로 격려해줄 수 있어야 할 것 같다. 후배들이 '용기'를 낼 수 있어야겠지만, 다른 사람들이 '용기'를 전해줄 수도 있어야 할 것이다. --칭찬에 인색 못된선배 ["1002"]
  • 중재자패턴 . . . . 8 matches
         ...참여자의 교육적인 경험에서 대화라는 수단은 직접적으로 어마어마 비중을 차지다. 이게 형편없이 잘 안되면, 대화는 통찰력의 풀([통찰력풀패턴])도, 안전 장소([안전장소패턴])도 될 수 없다. 이 패턴은 일종의 어떤 지침이 가치있는 교육적 경험을 하는데 도움이 될지 설명다.
         '''마음을 꿰뚫는 질문을 하고 대화의 초점을 유지하고, 다양 개성을 조화롭게 하며 그룹의 이해를 증진시키도록 대화를 중재하라. 모든 구성원이 중재할 기회를 가지지만, 그 역할을 언제 수행할 것인지는 그들이 선택하도록 하라.'''
         중재에 익숙해지려면 시간이 걸릴 수 있다. 왜냐하면 이는 적극적으로 말하고, 듣고, 관찰하는 것을 수반하기 때문이다. 또 반드시 사려깊게 준비해야다. 언제 대화에 개입할지 적절하게 결정하지 못하면 논쟁이 될 것이다.
  • 지금그때2005/후기 . . . . 8 matches
          * 처음에는 이게 뭐하는 행사인가 했고, 좀 뻘쭘하지 않을까 했다. 그런데 오늘 이 행사에 참여 해보니깐 상당히 큰 충격을 받았다. 이렇게 자리를 어떤식으로 만드느냐에 따라서 이렇게 훌륭 토론, 토의, 경험 공유가 가능하구나 하는것을 느꼈다. 이 행사를 통해서 다른 사람들의 경험, 조언, 좋은 얘기를 많이 들어서 너무 좋았다. 정말 좋은 행사라고 생각했다. 그리고 이런 행사를 준비하기 위해서 수많은 회의, 토론을 03,04 제로페이지 후배들이 자랑스럽게 느껴졌다. 이런 '지금그때' 행사같은 분위기는 처음 느끼는데, 정말 신선하고 좋은 경험이었다. - [상협]
          * 다른 생각을 가진 사람들의 얘길 듣는 건 참 재밌는 일 중 하나인 것 같습니다. 05학번 새내기들을 비롯해 04, 03들은 만날 자리를 갖기가 힘들었는데 새로운 만남을 갖게 되어 좋았습니다. 내년에는 보다 더 발전 '''지금그때''' 가 될 수 있길 바랍니다. - [jeppy]
          * 많은것을 준비하였고 많은 기대도 했었던 지금그때 2005. 작년에 참가하지 못했던 아쉬움을 달래기위하여 올해에는 준비도우미도 하였습니다. 나름대로 열심히 하였는데 행사의 주체가 되어주었으면 하였던 05학번이 많이 오지 못것이 조금 아쉬웠을뿐. 행사 내용에는 큰 만족을 하였습니다. 저희가 준비하면서 어떤 자리가 되었으면 했던것이 잘 반영된것 같았고 이런 행사가 있을수 있다는것에 대학에 와서 또하나의 기쁨을 얻은것 같습니다. 고학번과 저학번이 이렇게 어울릴수 있는자리가 술자리 외에는 거의 힘든것이 사실인데 이렇게 잘 어울릴수있다는것에도 신선 충격을 받았고요 앞으로도 쭉 계속 이어나가길 바랍니다. - [조동영]
          * 처음 들었을 땐, 고학번 선배님들이 많이 오신다고 해서 솔직히 많이 긴장되기도 했지만, 선배님들과 정보를 공유하고, 또 좋은 얘기를 많이 들을 수 있다는 이야기를 듣고 혼자 가게 되었습니다. 기대를 많이 만큼, 선배님들의 말씀을 듣고 학교생활에 대해서 새롭게 생각 할 기회가 있어서 좋았고, 또 1학년 때 그냥 쉽게 쉽게 지내는 생활을 후회하는 기회를 갖게 되어서 정말 잘 갔다라는 생각을 하게되었습니다. 더욱 중요건 , 훌륭하신 선배님들과 자리에서 이야기를 나눴다는 점에서 정말 뿌듯합니다. 지금 그때를 참가하면서 얻는 것이 많았습니다. 감사합니다 ^^ 내년에도 06,05,04... 등등 선후배가 모이는 자리 꼭 참석하고싶네요. - [허아영]
  • 짜장면 . . . . 8 matches
         ... 어떤 글을 쓰더라도 짜장면을 자장면으로 표기하지는 않을 작정이다. 그것도 어른들 때문이다. 어른들은 아이들이 짜장면이라고 쓰면 맞춤법에 맞게 기어이 자장면으로 쓰라고 가르친다. 우둔 탓인지는 몰라도 나는 우리나라 어느 중국집도 자장면을 파는 집을 보지 못했다. 중국집에는 짜장면이 있고, 짜장면은 짜장면일 뿐이다. 이 세상의 권력을 쥐고 있는 어른들이 언젠가는 아이들에게 배워서 자장면이 아닌 짜장면을 사주는 날이 올 것이라 기대하면서... - 본문중에서}}}
          * 아영이의 추천으로 읽게 되었다. 괜찮은 책이었다. 흡입력도 있어서 재밌게 잘 읽어 나갈 수 있었다. 우리가 흔히 색 안경을 끼고 보는 아이들도 우리와 다를바 없는 나름대로 사정이 각자 있는 아이들이구나 하는 생각도 하게 되었다. 밖에서는 존경받는 훌륭 교사이면서 집에서는 아내에게 막 대하는 주인공의 아버지를 보면서 [자유로부터의도피] 에 나오는 새디스트 (성적인 의미가 아니라 성격적 의미에서)적인 인간이 떠 올랐다.
          * 거칠것이 없었던 청년기와 반항심으로 충만했던 시기를 다시번 떠올려볼 수 있었다.
          * 고등학교 3학년, 서울에 올라왔다가 사촌오빠가 권해준 책이었다. 기차 안에서 읽으라고 ^^.. 가벼운 소설정도로 생각했었다. 맞다. 가벼운 소설이다. 쉽게 술술 읽혀지지만 그 얇은 책 속을 통해서 슬픔, 분노, 희열, 사랑, 행복, 비열, 긴장감, 등 다양 감정을 느낄 수 있다는 것에 대해 나의 또다른 인생을 겪어 보는 것 같아서 좋았다.
          * 이 소설의 내용은.. 순수하고 바르게만 자라왔던 고등학생 남자아이가 주인공인데, 지금 현재 그 아이는 어머니에 대 실망과 아버지에 대 불신이 어우러져 목표 없이 반항하는 반항아가 되어 지내고 있다.
          * 이 소설은.. 지금 현재 어른이 된 저자가, 과거를 회상하는 내용으로 나와 있다. 하지만 실제 필자는 정말 바르게 자라왔다고 다.
  • 코드레이스출동/후기 . . . . 8 matches
          * SVN 사용에 매우 미숙했다. 또 리눅스를 너무 몰랐다. 간단 쉘 스크립트 작성하는데도 헤맸다. 수차례 도움을 요청했지만 불평 번 없이 웃으며 도와주신 자봉님께 감사드립니다!
          * 첫 요구조건이 나왔을때 페어로 진행하지 못했다. 초반이라 하나의 견고 설계가 나와야 다고 생각해서 였다. 하지만 빨리빨리 하자는 생각에 간단 설계를 하여 나중에 힘들었다. 특히 파싱 처리를 쉽게 해주는 코드를 작성했더라면.. 고생하지 않았을 것이다.
          * 코드에 집중하느라 해설에 집중하지 못 점과 요구사항 구현 실패로 중반 이후 긴장감있게 진행하지 못 점이 아쉽다. 제대로 되지는 않았지만 팀원들과 의사소통하며 프로그래밍 하는 것은 즐거웠다.
  • 큰수찾아저장하기/김태훈zyint . . . . 8 matches
         문제는 금방풀고; 이 프로그래밍 함수 어떻게 나눌지 생각시간 걸렸을듯...
          - 추가: 리팩토링(?) 거같지도 않지만-_- 일단 나눠봤다; 행렬에서 transpose를 이용해서;;; 일단 짜보았는데 효율적이진 않은듯 -_-
          //전체 4 * 4 행렬의 공간 중 3 * 3 행렬의 공간에 키보드로 입력을 받아 숫자를 저장 후,
          //행렬[3][3]에는 전체 중 가장 큰 수를 찾아 저장 다음,
         void findmax_row(int (*value)[COL]); // 행의 최대값을 마지막 열에 넣기
          //전체 4 * 4 행렬의 공간 중 3 * 3 행렬의 공간에 키보드로 입력을 받아 숫자를 저장 후,
          //행렬[3][3]에는 전체 중 가장 큰 수를 찾아 저장 다음,
  • 타도코코아CppStudy/0731 . . . . 8 matches
         == 오늘거 ==
         책 사라 하기 뭐하니까 게임 만드는데에 필요 것만 익히고 넘어갑시다. 모르는건 언제든지 질문하세요. --[인수]
         예를 들어, 지뢰찾기를 만든다고 하면, 우리에게 필요 메세지는 뭐가 있을까?
          * 시간 재기 위 타이머 메세지
          * 윈도우에 그림을 그려주기 위해서는 DC라는게 필요하다. MFC에서는 DC를 랩핑하고 있는 가장 기본적인 클래스로 CDC를 지원다. CDC는 그림 그리는 사람의 손이라고 생각하면 된다. 그림을 그려주기 위해 어떤 색깔의 펜이나 붓을 고를수 있을 것이다. 또 사각형, 원도 그릴수 있다. 이러 행위들을 CDC의 멤버함수로 정의해놨다. 우리는 그걸 갖다 쓰기만 하면 된다. 세부적인 것은 나중에 알아도 된다.
          * 누군진 몰라도 멋드러지게 해놨어요!!^^ 누구얏? (-- )( --) 누가 이렇게 이쁜 짓을 거야? ^^;; - [CherryBoy]
  • 포지셔닝 . . . . 8 matches
          * 이책도 신선 충격을 던져준 책이다. 마케팅의 중요성을 다시번 일깨줘 주었다. 그리고 수많은 실패 사례에도 불구 하고 많은 기업들이 시도하고 있는 '라인 확장의 오류'도 나에게 좋은 교훈이 되었다. '핵심에 집중하라'라는 경영학 책에도 나와있던 내용인데, 이게 마케팅에서도 적용되는 내용이란것을 알고 놀랬다. 이 책에서 중요하게 생각 것은 제품이 소비자의 마인드에 어떤 포지션을 차지하고 있는가 이다. 효과적인 포지셔닝은 그 분야의 최초의 제품이라는(비록 최초가 아니더라도) 포지션을 소비자의 마인드에 심어 주는것과, 업계 리더라는 포지션을 심어주는것, 소비자의 마인드 속에서 아직 아무도 차지하지 않은 '틈새'를 찾아 내는것 등이 있다. 내가 생각해보아도 모든 분야를 다 다루는 기업보다는, 어떤 특정 분야에 집중해서 다루는 기업이 그 분야에 대해서 전문적으로 보이고, 더 우수 느낌이 든다.(우리 나라의 대기업들이 때 문어발식 확장을 했지만, 내가 보기에는 정경 유착과, 이윤 창출보다는 대마 불사라는 무조건 몸집 키우기의 일환이었다고 본다. 결국에는 그 기업들도 각자 핵심 분야에 집중 하는건 아닌가 싶다). 이는 [설득의심리학]에 나오는 일관성의 법칙과도 어느정도 상관 관계가 있는듯 싶다. 중요것은 제대로된 포지션을 소비자의 마인드에 확실히 심고 나서는 그것을 기반으로 일관성 있게 마케팅 해나가야 다는것이다. 말보르가 다른 담배들이 여성 소비자를 하나라도 더 잡으려는 마케팅을 할때 카이보이가 나오는 광고를 하여서 카우보이(남자) 담배라는 포지션을 소비자의 마인드에 확실히 심어줌으로 해서 오늘날 가장 많이 팔리는 담배가 되었다. (역설적으로 여성에게도 많이 팔리는 담배가 되었다)
  • 프로그래밍잔치/셋째날후기 . . . . 8 matches
         코드를 작성하고 코멘트를 달았다. 코멘트를 다는 중 '어떻게 하면 코멘트를 적절 곳에 잘 달 것인가' 에 대해 다른 사람들이 작성 코멘트를 보며 토론을 했다. 그리고 난 뒤 코멘트를 계속 달기 시작하였다.
         중간에 ["1002"]와 JuNe Pair 가 CommentMixing 결과 모습을 시연했다.
         행사가 끝나고 난뒤 선배님들과 후배들의 조촐 만남이 있었다. 영합반점에서 저녁식사를 후(회비로 해결) 토파즈로 뒷풀이. 간단하게 선후배 인사를 뒤 서로 이야기를 했다.
         아무개 아무개.. 등등은 이러이러 얘기를 했고
         아무개 아무개 아무개 등등은 이러이러 얘기를 했고..
  • 피그말리온과 갈라테아 . . . . 8 matches
         옛날 키프로스에 조각가가 살았답니다.
         (어떤 사람은 왕이었다고도 하던데 그게 중요 것은 아니고)그의 이름이 피그말리온이었어요.
         그래서 그는 자신이 사랑할 수 있을 만 아름답고 사랑스런 여인을 조각하기 시작했지요.
         그렇게 공허 소원을 빌고 집으로 돌아온 피그말리온은
         이룰 수 없는 사랑을 안타까워하며 그런데 이상 일이 일어났습니다.
         그는 너무 놀라 걸음 뒤로 물러섰고, 잠시 후 그녀의 입술에 키스를 했습니다.
         그러자 가닥 따스 기운이 그 조각의 입술을 통해 온 몸으로 스며들더니
  • 허아영/Cpp연습 . . . . 8 matches
         C언어도 많이 부족하지만, C++는 저테 더욱 새롭기 때문에 실수도 많이 범할 것 같아요.
          이에 대 나름대로의 생각을 키워가면서, 다시 말하면 그 C++에 깔려있는 철학(이라고 하면 너무 거창해질 소지가 있지만 마땅 단어가 떠오르지 않으므로)을 이해하려는 시도와 더불어 C++, 아니 다른 언어를 공부하면 기존에 예상했던 것 이상의 것들을 얻을 수 있으리라 생각합니다. - [아무개]
         지금 만드는 지뢰파인더가 지금까지 만든 클래스중에서는 그나마 클래스를 닮았는데 아직 제대로 되려면 참 멀었으..
         절차적 프로그래밍 기법을 통해 소프트웨어를 개발하다보면 개발시간도 너무 많이 소요되고 동일 작업들이 중복된다는 문제점이 야기된다. 이러 문제점을 해결하기 위해서 소프트웨어도 공장의 부품처럼 독립성을 갖는 객체들로 구성해 놓고 그들을 조립하여 완성다는 개념이 객체지향 적인 프로그래밍 기법의 근간이다.
         궁금게 있는데,,
  • 호너의법칙/조현태 . . . . 8 matches
         문제에 입력에 대 정확 설명이 없어서, 대강 소스에 넣었다.
         3. 또 register int i 이건 맨처음 번만 선언해주시고 나머지 i에서는 그냥 i만 써주셔야 할듯 해요. 반복 선언은 좀 무리일듯 .제 짧은 소견이었습니다.-[남도연]
         └ 그렇군요!! 근데 그걸 어디서 구담;; 난감하네요 ^^;; 조언 감사합니다 ^^ -[남도연]
         그리고 제가 사용 컴파일러(비주얼 .NET) 은 저에게 말하면 미소녀는 무료, 일반인은 밥 끼, 미소년은 무끼에 FTP나 HTTP로 제공해드리고 있습니다.^^
  • 홈페이지만들기/css . . . . 8 matches
         font.02{font-family: "컴바탕", "상호체"}
         <font class="02">컴 바탕폰트체로 나타냅니다.</font><br><br>
         둘 다 있을 경우에는 먼저 지정 글꼴이 우선 순위를 가진다.
         글꼴 크기에 사용되는 단위는 아주 다양하게 있다. 단위를 사용하지 않으면 기본적으로 픽셀 단위를 사용다.
         html과 달리 크기 조절에 제이 없다.
         {font-weight:키워드}문자 두께를 키워드에서 설정 값으로 적용
         === 글자 속성을 번에 지정 ===
         *너무 많다..수백개 다. 필요 것들만 골라서 정리해야겠다.
  • 1thPCinCAUCSE/ProblemA . . . . 7 matches
         아날로그 시계는 12시간 단위로 동작하며 시침과 분침이 있다. 주어진 시간 동안 시침과 분침이 몇 번 겹치는가를 알고 싶다. 예를 들어, 시작 시각이 11시 1분이고 끝 시각이 3시 20분이면, 이 시간 동안 시침과 분침은 4번 정확하게 일치다. 각자 자기 시계로 확인 해 보세요. 시작 시각이나 끝 시각에 시침과 분침이 일치하더라도 회수에 포함다.
         이렇게 시작 시각과 끝 시각이 주어질 때, 그 시간 구간 동안 시침과 분침이 몇 번 일치하는가를 계산하는 프로그램을 작성하시오. 시간 구간은 12 시간 미만이라 가정다.
          출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 자기가 계산 회수를 줄에 하나씩 출력다. T개의 테스트 케이스를 모두 맞춰야 이 문제를 맞춘 것이다.
         '''입력의 예에 대 출력'''
  • 2005MFC이동현님의명강의 . . . . 7 matches
          * 2005.09.14 C++ Class 에대 간단 설명과 필요 이유, MFC와API에 다른점.
          * 2005.09.21 좌표축, DC, 선그리기, 사각형그리기, 원그리기, 전체적 틀등에 대 공부 및 실습. 다음주까지 제작 숙제.
          * 이것은 지난시간에 했던것을 바탕으로 기초적인 혼자놀기 틱택토 소스이니까 감이안오는 사람은 참고하도록
          * 오늘 '곱셈기' 소스
          * 오늘 '타이머' 소스
  • 2ndPCinCAUCSE/ProblemB . . . . 7 matches
         우리 나라는 가족 혹은 친척들 사이의 관계를 촌수라는 단위로 표현하는 문화를 가지고 있다. 이러 촌수는 다음과 같은 방식으로 계산된다. 기본적으로 부모와 자식 사이를 1촌으로 정의하고 이로부터 사람들 간의 촌수를 계산다. 예를 들면 나와 아버지, 아버지와 할아버지는 각각 1촌이므로 나와 할아버지는 2촌이 되고, 아버지 형제들과 할아버지는 1촌이므로 나와 아버지 형제들과는 3촌이 된다. 여러 사람들에 대 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 프로그램을 작성하시오.
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 입력에서 요구 두 사람의 촌수를 나타내는 정수를 출력다. 어떤 경우에는 두 사람간의 친척 관계가 전혀 없어 촌수를 계산할 수 없을 때가 있다. 이 때는 -1을 출력다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
         === 입력의 예에 대 출력 ===
  • 2학기파이선스터디/ 튜플, 사전 . . . . 7 matches
         튜플 패킹 - 튜플 안에 여러 개의 데이터를 넣는 것을 튜플 패킹이라고 다.
         튜플 언패킹 - 반대로, 튜플에서 데이터를 꺼내오는 것을 튜플 언패킹이라고 다.
         4. 그 이외에 고정된 값을 표현하기 위하여 튜플을 사용다.
          이런 구조를 사용하는 이유는 키에 의 검색속도를 빨리하기 위함이다. < 해쉬 (hash) 용법 >
         * 값은 임의의 객체가 될 수 있지만, 키는 변경 불가능(immutable) 자료형이어야 다.
         10. D.popitem() : (키, 값) 튜플을 리턴하고 사전에서 항목을 제거다.
  • 3N+1Problem . . . . 7 matches
         학교에서 무료함을 달래기 위해 acm programming contest 기출문제를 풀어보는데, ToyProblems 에서도 다룰만 쉬운 문제가 있기에 이렇게 소개합니다. [http://acm.uva.es/p/v1/100.html 원문보기]
         CS에서 등장하는 문제의 종류는 여러가지가 있는데 (예를 들어, NP, Unsolvable, Recursive...) 이 문제는 '입력에 대해 출력이 어떻게 나올지 모르는' 이라고 분류할만 것에 대 분석을 하는 것이다. (해석이 애매하군요; )
         입력으로 22가 주어졌을때, 출력되는 값의 수 n(22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1) 는 22 16이다. 이를 n에 대 cycle-length 라고 다.
         정수 i와 j 에 대해 두 수 사이에 존재하는 cycle-length 값들중의 최대값을 구할 것이다. 입력은 아래와 같이 줄에 쌍의 정수로 이루어져 있다. 출력값은 이 두 정수 사이의 cycle-length 중에서 최대값을 구하는 것이다.
  • 3N+1Problem/Leonardong . . . . 7 matches
          * MAX(100000)개의 원소를 가진 리스트에 계산했던 CycleLength를 저장다.
          * 3n+1은 항상 짝수이므로 짝수 검사를 번 건너뛴다.
          * CycleLength를 구하는 과정에서 n이 짝수일 때만 저장된 값이 있는지를 검사다.
          * 구하는 범위가 Cutoff보다 크면 시작하는 수가 홀수일 때 CycleLength가 클 것이므로 홀수부터 시작해서 짝수는 무시하고 구다.
         파이선만으로 12초가 걸린다. 새로운 걸 번씩 시도할 때마다 시간이 줄어들어 신기했다. 중간에 코드를 고치면서 시간 테스트만 돌리다가 답이 잘못 나오는 코드를 가지고 동안 작업했었다. 새로운 기능을 추가하면 테스트를 전부 돌려야겠다. --[Leonardong]
         확신이 가지 않는 cutoff부분을 빼더라도 PsyCo를 쓰면 2초 안에 통과다. 3시간 동안 10초 정도를 줄였는데, 10분만에 10초를 줄였다. 시간을 줄여야 하는데 정말 수가 안 떠오르면 PsyCo가 꽤 도움이 될 것이다. 남용은 조심해야겠다.--[Leonardong]
  • 3rdPCinCAUCSE/ProblemC . . . . 7 matches
         모양은 같으나, 무게가 모두 다른 N개의 구슬이 있다. N은 홀수이며, 구슬에는 번호가 1,2, .... N으로 붙어있다. 이 구슬 중에서 무게가 전체의 중간인 (무게 순서로 (N+1)/2번째) 구슬을 찾기 위해서 아래와 같은 일을 하려 다.
         우리에게 주어진 것은 양팔 저울이다. 쌍의 구슬을 골라서 양팔 저울의 양쪽에 하나씩 올려 보면 어느 쪽이 무거운 가를 알 수 있다. 이렇게 M개의 쌍을 골라서 각각 양팔 저울에 올려서 어느 것이 무거운 가를 모두 알아냈다. 이 결과를 이용하여 무게가 중간이 될 가능성이 전혀 없는 구슬들은 먼저 제외다.
         M개의 쌍에 대 결과를 보고 무게가 중간인 구슬이 될 수 없는 구슬의 개수를 구하는 프로그램을 작성하시오.
         입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄부터 T개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄은 구슬의 개수를 나타내는 정수 N (1<=N<=99) 과 저울에 올려 본 쌍의 개수 M 이 주어진다. 그 다음 M개의 줄은 각 줄마다 두 개의 구슬 번호가 주어지는데, 앞 번호의 구슬이 뒤 번호의 구슬보다 무겁다는 것을 뜻다.
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 무게가 중간이 절대로 될 수 없는 구슬의 수를 출력다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
         === 입력의 예에 대 출력 ===
  • 5인용C++스터디/다이얼로그박스 . . . . 7 matches
         대화상자(DialogBox)는 최상위 윈도우(top-level window)의 자식 윈도우로서 일반적으로 사용자로부터 정보를 얻기 위해 사용된다. Dialog는 사용자들이 파일을 선택하여 열기 등의 작업을 쉽게 하도록 합니다. 파일 작업을 쉽게하기 위해 제공하는 컴포넌트가 FileDialog클래스이다. Dialog는 Frame윈도우와 비슷데 그 차이점을 살펴보면, 대화상자는 윈도우에 종속적이기 때문에 그 윈도우가 닫히면 대화상자도 따라서 같이 닫히게 된다는 것이다. 또 윈도우를 최소화시켜도 대화상자는 사라지게 된다.
          이 부분에서 사용자가 선택하고 싶은 것을 선택을 다. 이 Test프로그램은 Dialog based를
         모든 대화상자는 modal이거나 modeless형식이다. modal대화상자는 대화상자가 활성화 된 후 모든 작업은 이 대화상자에서만 이루어진다는 것이다. 즉, 대화상자를 닫을 때까지는 다른 작업은 할 수 없게 다. 반대로 modeless대화상자는 활성화 된 후에도 또 다른 윈도우로 넘어가 작업을 할 수 있다. 대화상자는 기본 default로 modeless이다.
         즉 modal dialog는 그 dialog가 닫혀지기 전에는 부모 윈도우로 마우스를 이용 focus이동을 할 수 없다. 따라서, dialog를 닫지 않는 이상 main window프로그램을 이용할 수 없다.
         modalless dialog의 예는 글 워드 프로세서의 찾기 창을 들 수 있다. 찾기창을 띄운 후 창을 닫지 않로서도 문서편집 작업을 계속해서 할 수 있다. 이러 속성을 modalless라고 다.
  • AKnight'sJourney . . . . 7 matches
         기사는 또 다시 같은 검은색과 흰색 사각형을 보는 것이 지루해 '''전 세계'''를 여행하기로 결심했다. 기사의 세계는 8*8 보다 각은 면적을 가진 체스판이다. 기사는 이동할 때 두 칸 이동하고 직각으로 칸 이동다.
         입력은 첫 번째 라인에 양의 정수 N과 함께 시작됩니다. 다음 라인은 N 개의 테스트 케이스가 포함되어 있습니다. 각 테스트 케이스는 두 양의 정수 P와 Q로 이루어져 있는데, 1<= P * Q <= 26 로 제이 되어있습니다. P*Q 체스판에서 P는 1, 2, ..., p , Q는 A, B, C, ..., Q를 나타냅니다.
         시나리오 시작 번호는 1입니다. 모든 시나리오에 대 출력은 "Scenario # I:"으로 시작합니다. 다음 기사 이동과 체스판의 모든 사각형을 방문하는 순서는 '''사전 편찬(집필) 상의 순서'''를 따라야 합니다. 방문 가능 경로는 여러 가지가 있을 수 있지만, ABC, 123 의 순서를 따지면 결과는 하나로 정해져 있습니다. 최종 경로는 줄에 제공해야합니다. 전부 방문할 수 있는 경로가 존재하지 않으면, 당신이 줄에 출력 불가능합니다.
  • AM . . . . 7 matches
          * 목적 : 윈도우 프로그래밍을 위 API와 MFC를 공부다.
          * 진행 방식 : 각자 정해진 분량을 공부하고 정모에 팀원들이 번갈아 가면서 공부 내용을 세미나다. 질문답변하며 피드백하는 과정을 갖는다.
          * [AM/20040817열번째모임]
         == AM스터디에서 제작 프로그램 ==
          * [5인용C++스터디]처럼 그날그날 배운걸로 간단 프로그램 숙제해요... 요즘들어 그냥 책만 보는것 같아서... 저만 그런가요?? --세환
  • AM/20040705두번째모임 . . . . 7 matches
          * 과감 프로젝터, PC실 컴퓨터 등 시설물을 적극적으로 활용하였다.
          * [1002]가 중간에 설명함으로 인해 앞에서 설명 사람의 흐름을 끊음.
          * 연락을 하지 않고 온 사람들로 인해 기존 정 룰이 깨짐. 룰에 의 효과도 저하됨.
          * 설명에 대 사람들의 피드백이 너무 없음
         ex) 배우는 부분이 Windows Programming, Window Event Driven Programming, GDI, GUI Control 들이라 다면
          * Spy++ 과 goto definition 을 통 분석 & 설명을 중간중간 이용하기.
  • AdvertiseZeropage . . . . 7 matches
         작년까지는 이즈음 해서 ZeroPage를 홍보했던것 같았는데 올해는 그렇지가 않은것 같네요. 현재 ZeroPage 가입을 희망하는 새내기가 여럿 있는데 ZeroPage에 대해서 질문을 하면 적절 답을 주지 못할 때가 많습니다.
          * 학회의 성격을 분명히 다. (일부 새내기들이 ZeroPage에 들어오면 선배들이 프로그래밍을 가르쳐줄 것이다 라고 생각하고 있습니다)
          - 제가 의미 것은 '프로그래밍을 가르쳐주는곳. That's all.' 이었습니다. 제가 생각하는 ZeroPage는.. '같이 공부하면서 무언가를 얻을 수 있는곳' 아닌가요.? - [임인택]
          * (새내기) 새싹 교실 활성화를 통 가입 유도
          * 이 부분에 대해서는 저도 회장이 되었을 때 상당히 고민했었습니다. 매년 상황이 다르고 제가 정답을 알고있는 것은 아니지만 나름대로 경험 바가 있으니 간단 의견을 적겠습니다. 제가 경험 것에 의하면 기존 회원들이 학회를 학회답게 꾸려나간다면 크게 걱정할 것이 없습니다. 늘 자발적으로 공부하고, 스스럼 없이 자신이 가진 지식들을 공유하는 분위기가 형성되어 있다면 결국 그 분위기에 녹아들 수 있는 새내기들이 남게 되더라구요. '학회는 학원이 아니다.'라고 새내기들에게 직접 말해주는 것보다 실제 학회란 무엇인지 활동하는 모습을 통해 새내기들에게 보여주는 것이 더 좋은 방법이라고 생각합니다. :) - [김수경]
  • AppletVSApplication/영동 . . . . 7 matches
          * main() 함수를 반드시 포함다.
          * 웹 브라우저에서 실행되는 작은 프로그램을 애플릿이라 다. 웹에서 클라이언트 측의 프로그래밍을 지원하는 강력 툴로 사용된다.
          * 제: 애플릿은 보안성 때문에 그 기능이 제적이다. 애플릿의 제 사항은 아래와 관려된 것이다.
          * 애플릿은 시간이 오래 걸릴 수 있다. 애플릿과 필요 파일들이 서버로부터 다운로드 되어야 하므로 시간이 걸린다. 이런 파일들을 JAR로 압축하여 전송하면 시간이 단축되며, 압축된 각 파일에 디지털 서명을 추가할 수 있다.
  • Barracuda . . . . 7 matches
         Presentation Frameworks로 Model 2형태의 Architecture 를 구현다.
         Struts와 비슷 모델 2 형태의 아키텍처 이지만 스트럿츠 보다 발전된 모델 이벤트 통지 메커니즘을 제공다. 바라쿠다 프레임 워크는 엄격 JSP접근 방식과 달리 더 뛰어난 유연성과 확장성을 제공할 수 있도록 템플릿 엔진 컴포넌트를 새로 만들었다. 이 프로임워크에서는 사용자 인터페이스를 생성할 때 XMLC를 이용하여 코드와 컨텐츠를 분할다. XMLC는 자바 기반의 컴파일로써 HTML과 XML문서를 소스로 읽어 들여 컴파일 하고 자바 클래스 파일을 생성다. 이 자바 클래스 파일은 런타임에 문서를 재생성하는데 이용된다. ...중략... 마크업과 애플리케이션 로직을 분리 덕에 웹 디자이너는 마크업에, 프로그래머는 코딩에 집중할 수 있다.
  • Basic알고리즘 . . . . 7 matches
         간단 알고리즘을 다뤄 본다.
         - 제가 오늘 읽은 책에 이런 부분이 나와있었습니다. 말이 필요없는 훌륭 구절(저테는^^)이라 여기에 올려봅니다.
         {{| " 그래서 우리는 컴퓨터 프로그래밍을 하나의 예술로 생각다. 그것은 그 안에 세상에 대 지식이 축적되어 있기 때문이고, 기술(skill) 과 독창성(ingenuity)을 요구하기 때문이고 그리고 아름다움의 대상(objects of beauty)을 창조하기 때문이다. 어렴풋하게나마 자신을 예술가(artist)라고 의식하는 프로그래머는 스스로 하는 일을 진정으로 즐길 것이며, 또 남보다 더 훌륭 작품을 내놓을 것이다. |}} - The Art Of Computer Programming(Addison- wesley,1997)
  • Boost . . . . 7 matches
          1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
          '''라이브러리를 확장 결과는 그 자체가 현재의 기술이 되며, 언젠가는 차후의 표준으로 제안될 수 있을 것입니다. http://boost.org 를 통해 라이브러리를 공개하는 일은 그러 방법 중에 하나입니다...'''
          쉽게 말해서, Boost는 미래의 표준 C++ 라이브러리의 일부가 될 수 있는 구성 요소들의 옥석을 가려주는 역할을 다고 볼 수 있네요. 참으로 가치 있는 서비스이고, 이러 일을 하는 분들이 있다는 데에 고개 숙여 감사해야겠습니다.
          --''Effective STL 서중 인용''
          * [http://boost.org/status/cs-win32.html 컴파일러 테스트] 페이지를 보면 알 수 있듯이 가장 많은 테스트를 통과하는 것은 gcc. VC++ 6 은 테스트도 안다.
  • BoostLibrary . . . . 7 matches
          1997년, C++의 국제 표준화 작업의 마지막을 알리는 종이 울리던 그 때, 자신들의 표준으로 올리자고 주장했던 표준 라이브러리의 기능이 삭제된 것에 불만을 품은 몇 명의 엔지니어들이 있었습니다. 이들 중 몇 명은 표준화 위원회 내부 임원이었는데, 이들은 결국 2차 표준화 작업 중에 표준 라이브러리의 기능을 보완하고 추가하기 위 기구를 만들기 시작합니다. 그 결과가 바로 Boost(부스트)로서, '''여러 사람들에 의해 검토되고 보완된 C++ 라이브러리를 무료'''로 제공하는 웹 사이트입니다. C++ 표준 라이브러리와 잘 조화되어 동작하며 이식이 가능 라이브러리를 만드는 데에 중점을 두고 있는데, 이런 취지에는 다음과 같은 동기가 있었다고 합니다.
          '''라이브러리를 확장 결과는 그 자체가 현재의 기술이 되며, 언젠가는 차후의 표준으로 제안될 수 있을 것입니다. http://boost.org 를 통해 라이브러리를 공개하는 일은 그러 방법 중에 하나입니다...'''
          쉽게 말해서, Boost는 미래의 표준 C++ 라이브러리의 일부가 될 수 있는 구성 요소들의 옥석을 가려주는 역할을 다고 볼 수 있네요. 참으로 가치 있는 서비스이고, 이러 일을 하는 분들이 있다는 데에 고개 숙여 감사해야겠습니다.
          --''Effective STL 서중 인용''
          * [http://boost.org/status/cs-win32.html 컴파일러 테스트] 페이지를 보면 알 수 있듯이 가장 많은 테스트를 통과하는 것은 gcc. VC++ 6 은 테스트도 안다.
  • BuildingWikiParserUsingPlex . . . . 7 matches
         Plex 로 Wiki Page Parser 를 만들던중. Plex 는 아주 훌륭 readability 의 lexical analyzer code 를 만들도록 도와준다.
         전자의 경우 각각의 Class Responsibility 들을 유지다는 장점이 있지만, AutoLinker 에서 원래 생각치 않았던 가지 일을 더 해야 다는 점이 있겠다.
         후자의 경우 클래스가 커진다는 단점이 있지만, 의도 lexical 들만 표현된다는 점과 1 pass 로 파싱이 같이 이루어질 수 있다는 장점이 있다.
         그러나......~ 후자로 수정하는데 40분도 안걸리다.; 작업으로 본다면 Parser 두개의 lexicon 을 합치는 작업임에도 불구하고, 그 안정성도 보장받으면서 parser 에서 line 단위 자르기 부분까지 수정하였다. 매 번 수정할때마다 테스트를 돌리면서 확인했기 때문에 그 결과가 보장이 되었다. Text Processing 에서 이러 부분에 대 TDD의 파워는 정말 크다란 생각이 든다.
  • CheckTheCheck . . . . 7 matches
         체스판 설정을 읽어서 킹이 공격받고 있는지(체크 상태인지)확인하는 일을 해야 다. 상대방의 다음 수에 의해 킹이 죽을 수 있는 위치에 있으면 킹이 체크 상태가 된다. 흰 말은 대문자로, 검은 말은 소문자로 표시된다. 흰 편은 항상 판의 아래쪽에, 검은 편은 판의 위쪽에 자리잡는다.
         다른 말을 건너뛸 수 있는 것은 나이트밖에 없다는 것을 꼭 기억해두자. 폰의 움직임은 어느 편인가에 따라 다르다. 검은 폰이면 아래쪽 대각선 방향으로, 흰색 폰이면 위쪽 대각선 방향으로 칸만 움직일 수 있다. 위에 있는 예는 소문자 "p"로 표시된 검은 폰의 움직임을 나타낸 것이다. 방금 "움직인다"라고 표현 것은 폰이 상대방 말을 잡을 수 있는 경우를 의미다.
         입력에는 임의 개수의 체스판 배치가 들어있을 수 있으며 각 판은 각각 여덟 개 문자로 구성된 여덟 줄로 구성된다. "."은 빈 칸을 의미하며 위에서 정의했듯이 각 말을 의미하는 대문자 또는 소문자가 입력된다. 틀린 문자는 없으며 두 킹이 모두 체크를 당하는 배치는 입력되지 않는다. "." 문자만으로 구성된 비어있는 체스판이 나올 때까지 입력을 읽어야 하며 비어있는 체스판은 처리하지 않는다. 각 체스판 배치 사이에는 빈 줄이 하나씩 들어간다. 비어있는 판을 제외 모든 판에는 정확하게 하나씩의 흰 킹과 검은 킹이 들어있다.
         입력된 각 판 배치에 대해 다음 중 가지 답을 출력다.
  • CppStudy_2002_2/STL과제 . . . . 7 matches
         노라 86 65 62 68
          * 컨테이너는 STL에서 제공하는 것중의 하나를 써야만 다.
          * 총점순으로 정렬다.
          * 효율성도 본다.(데이터 복사로 인 낭비 이런거.. 오늘 막판에 마구 삽질했던 그 부분을 잘 기억하는 사람이라면 약간 이득이 있을듯.)
          * 이름은 string 클래스로 처리다.
          * 이정도면 될라나.. 재동이랑 상협이는 뭐 필요거 있으면 좀 적어주게.
          * 인수가 숙제. 하기전엔 보지 마세요--; ["CppStudy_2002_2/STL과제/성적처리"]
  • CppStudy_2002_2/슈퍼마켓 . . . . 7 matches
         2. 가게의 물품은 무대로 준비되어 있음
         다음과 같이 표준입출력을 통 커맨드라인 인터페이스가 어떨까요? (자동) 테스트하기도 훨씬 쉬울테고요.
          * deposit -- 돈을 예금
          * cancel -- 산 물건을 취소
          * menu -- 구매 가능 물건의 목록을 보여준다
          각각의 명령에 대 구체적인 안내는 help <command>
         buy <product> <number> -- <product>를 <number>개 만큼 구매
  • DataCommunicationSummaryProject/Chapter12 . . . . 7 matches
          * 위성을 이용 말단(local loop) 기술
          * 위성 이용 모바일 서비스
          * 적도 상에서만 있을 수 있음 -> 위성 수 제, 위도에 따른 전파 세기 문제 (지구는 둥그니까)
          * Iridium: 위성을 사용 모바일 네트워크
          * GEO 위성에서 어느 방향에 집중적으로 전파를 쏘는 안테나를 달아 지면에서는 작은 안테나로도 전파 받을 수 있음 (예: SkyLife)
          * 대다수의 커뮤니케이션 위성은 지구로부터 먼, 그래서 눈에 띄는 지연시간의 GEO를 사용다.
          * 기구와 비행기는 값싼 가격으로 많은 위성 시스템의 이익을 창출하는, 가능 다른 기술이 될수 있다.
  • DataStructure/Tree . . . . 7 matches
          * n0을 잎사귀 노드의 갯수, n2를 Degree가 2인 노드의 갯수라고 하면 n0 = n2 + 1 이라는 공식이 성립다.
          * InOrder : Left Child -> Root -> Right Child : 우리에게 가장 익숙 방식
          * n이 2048정도 된다고 하면 일반 탐색은 2048이 걸리는 반면 이진 탐색은 11밖에 안걸린다는 말이져
          * Binray Search Tree 니까 당연히 Binary Tree 여야 다.
          * Keys in Right Subtree > Keys of Node(고로 순서대로 정렬되어 있어야 단 말입니다.)
          * y가 Child 있으면 - 그 밑의 노드들을 단계 위로.. 고로 할아버지의 자식
         // 트리에 관 함수들
  • DermubaTriangle . . . . 7 matches
         더뮤바 삼각지대는 지오메트리아 은하의 엘-팩스 행성에 있는데, 전우주적으로 유명 평평 삼각지대다. 더뮤바 사람들은 각 변이 정확하게 1km인 정삼각형 영역에서 산다. 집은 모두 그 정삼각형의 외심에 있다. 각 집에는 다음과 같은 식으로 번호가 붙어있다.
         더뮤바 사람들이 다른 집에 방문할 때는 자기 집에서 목적지까지 이르는 최단 경로를 따라서 이동다. 이때 최단 경로는 그 두 집을 연결하는 직선 거리를 의미다. 집의 번호가 주어졌을 때 그 두 집 사이의 최단 경로의 길이를 계산하는 프로그램을 만들어보자.
         입력된 각 줄마다 두 집 사이의 최단 거리를 출력다. 거리는 킬로미터 단위로, 소수점 셋째 자리까지 반올림 값을 출력다.
  • Devils . . . . 7 matches
         Devils ( Developers' Idols ) 란, 과거에 [제로페이지]가 해 70명~80명의 인원을 넘어서 너도나도 [제로페이지] 시절(19xx년~?)에 엘리트 주의를 표방하며 등장 두개의 소모임([데블스],[폴리곤]) 중 하나이다.
         두 단체의 차이점은, [데블스]는 다수 회원이 겹쳤지만, [제로페이지]와 완전 독립 단체를 선언하고 활동하였으며, [폴리곤]은 [제로페이지]내의 작은 소모임으로 존재다.
         이 두 단체는 [제로페이지]의 규모가 작아지고, 과거의 시작 멤버 이후로 모임의 강도가 약해지면서 [제로페이지]와 통합하였는데, [데블스캠프]는 [데블스]의 정신을 이어 받은 신입생을 위 밤새기 세미나로 남아 있다.
         [Devils]의 발음에 대 토론은 굉장히 많았으며, 창립멤버들이 '''[데블스]'''로 읽기로 결정해서 의견을 존중다.
  • Downshifting . . . . 7 matches
         (2) 자동차의 기어를 저속으로 전환다.
         미친 듯이 일하면서 행복감을 못 느끼는 사람들에게 일을 좀 줄이고 행복감을 찾으라는 이야기를 다. 일중독에 빠져 놓치기 쉬운 가족관계, 여가생활, 종교활동, 봉사활동을 하면서 새로 얻게 된 시간을 활용해 보라고 권유다.
         굳이 일과 행복에 정해서 생각하지 않는다면 유용 충고로 받아들일 수 있다. 정말 원치 않는데도 하고 있는 것을 줄이고 자기가 즐기는 것을 좀더 많이 하면 좀더 행복할 것이다.
         또 하나 유용 충고. 다운시프팅 같은 변화를 행동으로 옮길 때는 작은 부분부터 바꾸어나가라. 그리고 번 변화에 실패했다고 포기하지 말라! -- [Leonardong]
  • EffectiveSTL/Iterator . . . . 7 matches
          * 다음엔 C++의 casting에 관 무슨 함축적인 의미가 담긴 말을 하고 있는데.. 아시는분은 좀 가르쳐 주세요. 이런생각을 가지고 있는것에 대해 부끄러워 하라네요.
          * string::iterator는 char*의 typedef, string::const_iterator는 const char*의 typedef이다. 따라서 const_cast<>가 통다. (역시 클래스가 아니다.)
          * 정말 별걸 다 설명다는 생각이 든다. 모르고 있었으면 안쓸 것들도, 괜히 들쑤셔 내서 이거 쓰지 말아라 하니 오히려 더 헷갈린다는--;
          * 어째 그림이 좀 이상하긴 데..--; 각각의 반복자가 가르키는 위치를 나타낸 것이다. 보면 알겠지만 ri에서 base()를 호출해줬는데도 가르키는게 같지가 않다.
          * 만약에 ri가 가르키는 위치에다 새로운 원소를 삽입하고 싶다고 하자. 하지만 insert 메소드는 reverse_iterator는 인자로 받지 않는다. iterator형만 인자로 받는다. 즉 직접은 못다는 것이다. 지울때도 이와 같은 문제가 발생다. 그래서 base()를 쓰는 것이다.
          * 삽입은 문제없이 되었지만.. 만약에 erase()를 호출다면? 난 3을 지우고 싶은데 base()호출해서 iterator버젼으로 넣어주면 4가 날아갈 것이다. 어떻게 해야하는가?
  • EightQueenProblem/nextream . . . . 7 matches
         처음엔 2차원 배열 메모리 공간을 두고 메모리 상에 체크해 가며 루프를 돌릴까 하다가 생각을 바꿔서 재귀호출을 이용하게 되었습니다. 첫 문제에서 일단 제일 첫 퀸은 무조건 (0,0) 이라고 고정하고 재귀를 두번째 퀸부터 돌렸는데, 오히려 나중에 이 생각이 두번째 문제 풀때 딱 글자만 바꿔서 적응이 되는 것을 가능케 것 같습니다.
         원래 첫번째 해법은, 개만 뽑든지, 아니면 다뽑든지 둘중 하나였어야 하는데, 결론적으로는 문제를 풀긴 했지만, 어정쩡 모습이 되버리고 말았습니다.
         기본 아이디어는 라인씩 진행해 가면서 현재 라인 선상에서 X좌표값을 바꿔가며 위에 있는 퀸들에 의해 위협을 받는지 검사해서 안전 경우에는 계속 다음 라인으로 진행하고, 아닌 경우에는 철수하는 것입니다. 위협여부에 대해서는 같은 세로선상이거나, 대각선인 경우는 X, Y 좌표의 합과 차가 각각 동일 것이 있는지를 조사하는 것으로 만들었습니다.
  • EightQueenProblem2 . . . . 7 matches
         EightQueenProblem을 해결하신 것을 축하드립니다. EightQueenProblem 페이지에 개발 시간과 소스 라인 수 등을 기록하셨나요? 사실 문제는 하나가 더 있습니다. 대부분의 프로그래밍 숙제/대회는 코드의 디자인은 잘 따지지 않습니다. 하지만 실세계의 문제에서는 코드의 적응도(adaptability)가 매우 중요 요소가 됩니다. 자신이 작성 프로그램이 얼마나 새로운 요구사항에 잘 적응을 하는지를 보면, 자신이 얼마나 디자인을 제대로 혹은 엉망으로 했는지 알 수 있습니다. 디자인 질에 대 바로미터가 되는 것이죠.
         새 문제는 다음과 같습니다. 자신이 작성 프로그램을 수정을 해서, EightQueenProblem의 일반적인 문제를 푸는 것입니다. 즉, 8X8에서 8개의 여왕을 배치하는 서로 다른 모든 해법(총 92가지)을 구하는 것입니다.
          처음 문제에 '모든 해를 구해서는 안된다' 라는 말도 없고, '모든 해를 구하라' 라는 말도 없는데.. 제가 문제 이해를 잘못건가요..? 지적해 주셔서 감사합니다 - 임인택
         이러 변형 N-Queen 문제는 어떻습니까? http://eunjae85.new21.org/problem11/problem11.htm 입력값은 n과 h이고, 퀸이 h개까지 다른 퀸을 공격할 수 있게 하는 것입니다. h=0 이면 보통 N-Queen 문제가 되지요. --아무개.
  • ExtremeBear/VideoShop . . . . 7 matches
         약간 줄거리, 대여료, 대여현황(현재 대여가능지의 여부)
         연체료, 포인트 누적 점수(가족은 하나로 통합되어 있다. 이름 여려명 밑에 주소, 전화번호 개)
         검색정보 있을 시 간단하게 우선 열거 다(비디오 제목, 분류만)
         클릭하면 간단하게 우선 열거 다(비디오 제목, 분류만)
         비디오 번호 찍으면(원래는 바코드지만) 비디오 제목명이 뜨고 그 비디오는 대여상황으로 바뀌어야 다.
         관리자 메뉴로 들어갈 시 관리자 비밀번호를 입력해야 다.
          * 최대 TDD 등의 XP Practice 를 수행하며 하자.
  • GRASP . . . . 7 matches
          문제 도메인 개념을 표현하지 않는 인위적인, 편의상 만든 클래스에 매우 응집된 책임들을 할당다.
          Pure Fabrication 클래스를 식별하는 것은 중대 일이 아니다. 이는 어떤 소프트웨어 클래스는 도메인을 표현하기 위 것이고 어떤 소프트웨어 클래스는 단순히 객체 설계자가 편의를 위해 만든 것이라는 일반적인 점을 알리기 위 교육적인 개념이다. 편의를 위 클래스들은 대개 어떤 공통의 행위들을 함께 그룹짓기 위해 설계되며, 이는 표현적 분해보다는 행위적 분해에 의해 생성된다.
          * 행위적 분해(Behavioral Decomposition) : 행위를 그룹화하거나 알고리즘에 따라 책임을 할당, 몇몇 관련된 행위나 방법들을 그룹화하도록 개발자가 편의상 만들어 낸 클래스, 행위적 분해에 의
         PV와 관련된 다양 기법들이 있는데 그중 하나가 [LawOfDemeter]라는군요. :)
  • HelpContents . . . . 7 matches
          * ["페이지이름"] - 페이지 이름 짓는 방법에 대 정의
          * ["MacroMarket"] - wiki의 다양 매크로에 관 설명 페이지
         아래는 가장 중요 도움말 페이지목록입니다:
          * HelpForBeginners - 위키 초보자를 위 페이지
          * HelpOnUserPreferences - 위키 사용자로 등록하고, 설정가능 기본값을 입맛에 맞게 고쳐보세요.
          * HelpOnActions - 각 페이지에 대 여러가지 조작 및 변형법
  • HelpOnInstallation/SetGid . . . . 7 matches
         보안상의 이유로 웹서버는 php 스크립트를 `nobody, www, apache` 혹은 `httpd`같은 특별히 제된 계정으로 실행하게 됩니다. 이러 이유로 [모니위키] 스크립트가 생성하게 되는 여러 파일 혹은 디렉토리는 이러 특별 계정의 소유가 되며 진짜 사용자가 소유하지 못하게 되는 일이 발생하고 어떤 경우는 이렇게 만들어진 파일을 읽을수도 지울 수도 없게 됩니다.
         이러 것을 방지하기 위해서 [모니위키]가 특별 파일을 생성하게 되는 몇몇 디렉토리에 대하여 그룹 아이디로 퍼미션을 가지게 할 수 있습니다. 이렇게 Setgid를 사용하도록 그룹 퍼미션을 주게되면 wiki.php에 의해 새롭게 만들어지는 모든 파일은 진짜 사용자의 그룹아이디와 같게 되며, 그룹 아이디가 가지는 퍼미션을 진짜 사용자도 누릴 수 있게되어 읽거나 고치거나 지울 수 있게 됩니다.
         그런 다음 monisetup.php를 웹상에서 실행시키면 monisetup.php는 필요 여러 디렉토리를 만들게 되며 이 디렉토리들은 setgid에 적용을 받게 되고, 이렇게 최초 setgid 설정을 마친 후에는 최상위 디렉토리의 퍼미션을 원래의 퍼미션으로 되돌려야 합니다. (보통 `chmod 755`로)
  • HerdingFrosh . . . . 7 matches
         어느 날 대학 캠퍼스 가운데 있는 잔디밭을 신입생들이 점령하고 말았다. 캠퍼스 미화를 위해 4학년 선배들이 분홍색 명주실을 써서 신입생들을 감싸기로 했다. 당신은 이 일을 하기 위해 필요 명주실의 길이를 계산하는 일을 맡게 되었다.
         4학년 선배는 전신주에 그 명주실을 묶고, 잔디밭 주변을 바퀴 돌면서 명주실로 모든 학생들을 감싼 다음 다시 전신주로 돌아온다. 그 선배는 모든 신입생들을 둘러싸는 필요 최소 길이만큼의 명주실을 사용했으며, 전신주에 명주실을 묶기 위해서 1미터만 남겼다.
         각 테스트 케이스에 대해 필요 명주실의 길이를 소수점 둘째 자리까지 출력다. 서로 다른 테스트 케이스의 결과 사이에는 빈 줄을 하나씩 출력다.
  • IdeaPool . . . . 7 matches
          * 우리는 아이디어를 갖고 있어도 어떠 사정에 의해 실현(혹은 개발)까지 이르지 못하기도 다. 따라서 모두의 아이디어를 공유다면 프로젝트를 비롯 각종 활동 사항에 촉진제가 될 것이다.
          * 공용 아이디어 ( [IdeaPool/PublicIdea] ) - 학교, 학과, 제로페이지 등등 우리가 속 집단에게 유용 아이디어.
          * 개인 아이디어 ( [IdeaPool/PrivateIdea] ) - 공용 아이디어를 제외 각종 아이디어들.
  • LispLanguage . . . . 7 matches
          * emacs라는 IDE는 lisp을 통해 제어할 수 있다. 심지어 거대 lisp 인터프리터라고 불리기까지 다. 이 글은 비록 emacs를 쓰기 위해 부가적으로 lisp을 설명하는 수준이지만, 몇 안되는 국어 lisp 설명글이므로 참고를 위해 링크를 걸어 둔다.
          * [http://dept-info.labri.fr/~strandh/Teaching/Programmation-Symbolique/Common/David-Lamkins/contents.html Successful Lisp:How to Understand and Use Common Lisp] - 책인듯(some 에 대 설명 있음)
         당연히 우분투에서 거고 window에서 하는건 모른다
         [http://clojure.org/ Clojure] : Rich Hickey가 제작 Lisp 방언 중 하나. JVM 상에서 돌아가는 Lisp 구현체로, Java API를 직접 불러서 사용하는 것이 가능하다.
         [1002]의 경우 XLISP 라는 윈도우용 프로그램 사용했었다. 언어 자체를 익히는데 최소의 기능을 제공하는 인터프리터.
  • MFC/Control . . . . 7 matches
         하나의 컨트롤은 클래스와 연계될 수도, 안될 수도 있다. 정적 컨트롤의 경우 클래스가 필요없을 것 같지만 CStatic 이라는 클래스를 통해서 모양을 변경하는 것이 가능하다. 마찬가지로 버튼 컨트롤들의 경우도 대부분 Dialog 객체를 통해서 처리가 된다. CButton 클래스의 경우에는 컨트롤을 관리하는데있어서 객체가 필요할 경우에 이용하게 된다. 이러 모든 컨트롤들은 모두 윈도우의 일종이기 때문에 CWnd 에서 상속된 클래스를 이용다.
         || 버튼 컨트롤 || 번의 마우스 클릭으로 응용프로그램과 통신. 라디오 버튼은 다른 버튼과 그룹으로 묶여서 다중 선택이 불가능하도록 다.[[BR]]반면 체크박스는 개별적인 선택이 가능하다. [[BR]]푸시 버튼은 일반적으로 대화상자를 닫는데 사용된다. ||
         || 리스트 박스 || 기정의된 항목에서 선택을 할 수 있도록 다. 텍스트 이외에도 아이콘을 표현하는 것이 가능하다. ||
         || 콤보 박스 || 리스트 박스의 기능과 텍스트를 수정하는 옵션, 텍스트입력기능을 조합 것. Save As를 살펴보자. ||
         이외에도 common control 로서 애니메이트 컨트롤, tree 컨트롤, spin button 등의 컨트롤 들이 존재다.
  • MFC/Socket . . . . 7 matches
          * 서버에 접속다.
          * 서버를 구현하기 위해서 CSocket을 상속받아서 클래스를 하나 생성다. CSocket은 MFC에서 제공해주는 클래스
          Create(nPortNum); //특정 포트 번호로 서버를 생성다.
          m_serverSocket.Init(this,SERVERPORT); //서버를 생성다.
          if(!m_serverSocket.Accept(*m_dataSocket)) // 접속을 받는다. m_dataSocket을 통해 통신다.
          * 쪽에서는 서버 생성을 선택 (XP의 경우 이 프로그램의 서버를 허용할지 물어볼때 예 선택)
          * 다른 쪽에서는 서버 접속을 선택 IP와, ID를 나와 있는 그대로 놔두고(현재 컴퓨터라는 의미) OK 선택
  • MatrixAndQuaternionsFaq . . . . 7 matches
         위에는 이 글에서 사용하는 방법대루 하면 저렇게 된다는 뜻이구.. 저는 Gl 에서 쓰는대루 좌->우로 행을 해석하는 방법으로 설명합니다.
         이걸루 Basic 단원이 끝났음니다. 번역? 것두 별루 업꾼요. 크하하 (..);;;'''
         '''행렬식에 대 설명입니다. 행렬의 역행렬이 존재하는지 아닌지를 판별해 준다는군요. 부호가 positive이면 존재합니다. 그리구.. isotropic의 개념이 나오는데
         isotropic 행렬의 경우 전치(회전부분3x3을)하면 역행렬이 됩니다. 음.. 그리구.. 4x4행렬에 보면 traslation 부분도 있는데 그 부분의 부호를 바꿔주면
         '''isotropic의 반대가 anisotropic이구요 음음.. anisotropic 행렬을 곱하면 이전의 vertex normal 두 다시 계산 해야 다고 합니다.
         그리구.. transform 행렬을 적용시킨 vertex normal은 정규화(크기1로..) 되어있지 않을수 있으니.. 것두 다시 해야 다고 합니다.'''
  • MobileJavaStudy . . . . 7 matches
          * 이론적인 내용을 중심으로 공부하기보다는 간단 프로그램들을 직접 개발해보며 J2ME를 알아가는 방법으로 진행다.
          * 적어도 1주일에 번은 다 같이 모여 토론과 정보 공유의 시간을 갖는다.
          * 어느 정도의 실력이 갖춰지면 팀 프로젝트를 진행다.
          * ["MobileJavaStudy/Tip"] - 유용 프로그래밍 팁
          * 모바일자바스터디는 일단 종료하는게 어떨까?? 다음에 2차 스터디를 하든지 아님.. 프로젝트를 하든지 하면 될듯 데.. --["상규"]
          * 창섭인 공연때문에 뒤쳐지다가 결국 계속 다면 혼자 하게 되는구나...-,-;;;; --재동
  • ModelingSimulationClass_Exam2006_1 . . . . 7 matches
         Step 1) 필기 시험. AM9, PM1 시 경에 이루어지며, 시험시간은 50분 평가 시간을 10분 갖는다. 번의 시험에 최대 응시인원은 50명이며, 합격률은 80%이다.
         Step 2) 실기 시험. 필기 시험 합격자에 해서 치루게 된다. 시험은 차 2대를 가지고 이루어지며, 시험을 준비하는데 1분의 시간이 소요되며, 보통 6분 가량의 시간이 소요된다. 단, 시험 도중에 결격 사유가 발견될시 6분이 안되어도 시험이 종료되게 된다.
         (b) 구성된 모델이 안정적인지 명확 이유를 대고 설명하라. (3 points)
         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번 푸느라 시간은 보낸거 같다. 니미럴-_-; --[인수]
  • MultiplyingByRotation . . . . 7 matches
         보통 자연수의 곱셈은 복잡 연산이다. 어떤경우에서는 연산결과가 마지막 숫자를 앞으로 옮기는 것에 의해서 얻을 수 있다.
         물론 이러 속성은 사용하는 수체계에 따라 다르다. 위의 예제에서는 10진수를 사용했다. 9진수에서의 에는 다음과 같다.
         입력은 텍스트파일이다. 진수,첫번째 숫자의 마지막 숫자(the least significant digit of the first factor)와 두번째 숫자(second factor)로 구성된 3개의 수치가 줄씩 입력된다. 각 수치는 공백으로 구분된다. 두번째 숫자는 해당 진수보다 적은 숫자이다. 입력파일은 EOF로 끝난다.
         프로그램은 이동 곱셈속성을 갖는 숫자중 가장 작은 첫 번째 숫자의 자리 개수를 출력다.출력 파일도 텍스트파일로 다. 입력되는 데이터순서에 맞추어 결과를 줄씩 출력다.
  • NUnit/C#예제 . . . . 7 matches
          1. 테스트 하고자 원하는 Method 에는 Test를, 속 클래스에는 TestFixture Attribute를 붙인다.
          1. SetUp TearDown 기능 역시 해당 Attribute를 추가다.
          1. NUnit gui나 console 브라우져로 빌드후 나온 dll 혹은 exe를 로딩해서 Test를 실행다.
          1. Command에는 설치 NUnit 콘솔 프로그램의 경로를 적어준다.(예:C:\Program Files\NUnit 2.2\bin\nunit-console.exe)
          1. Show Command Containing 밑에 있는 박스에서 방금 추가 실행도구를 선택다. 이 때 명령의 이름이 나오지 않으므로 NUnit을 실행하는 것이 몇 번째 실행 명령(External Command)인지 알아두어야 다. 처음 실행 도구를 추가했다면 아마 External Command8 일 것이다. (VS2005경우는 외부명령1이 첫번째 External Tools임)
  • ObjectOrientedProgramming . . . . 7 matches
          * 'oriented'라는 단어가 사전에서는 '지향'이라고 설명되어 있지만, 그 고어적인 뜻은 '비롯되다', '해가 뜨는', '출현하는', '발생하기 시작하는' 이라는 뜻을 가지고 있습니다. 따라서 'Object oriented'라는 용어는 '객체에서 비롯된다'라고 해석할 수 있지요. 저는 이것이 좀 더 정확 해석이라고 생각합니다. - [http://garden.egloos.com/10001141/post/20974 출처]
          * 확실히 객체 지향이라는 말은 조금 난해해요. 번역이란 외국어에서 글로 옮기는 작업이 아니라. 문화를 다른 문화로 옮기는 작업이라고도 하던데(문화의 서로 다른 추상화과정 차이라고 생각해요.). 이 지향은 확실히 그냥 말을 옮기는 것에 불과 하지 않았나 싶어요. 국 사람에게 확 와닿는 그런 OOP 단어로 바뀌었으면 좋겠어요. - 이승
         1번이 제일 맘에 드는 말~>__<ㅋ - [이승]
         예전에 본 기억이 나는데...-_-ㅋ OOP 페이지를 검색할수 없었어 일단 만들었습니다. - 이승
  • OpenGL_Beginner . . . . 7 matches
          * 2.02 : p153 시점 전환에 관거 전까지
          * 2.10 : Chapter 6장 중반이후, 잠정 유보 ["MoreEffectiveC++"] 1차 요약이 종료되는 2월 말의 시점에서 다시 시작다.
          - 필자는 자신이 제작 상업용 3D 설계 툴의 소스를 가지고 오고, 라이선스 문제와, 자신이 생각하는 개선점을 고쳐서 다시 작성했다고 다. 인상 깊었다. 이해하기도 쉽고, 구조적 프로그래밍을 OOP로 옮긴다는 관점에 도움이 되었다. STL 비슷하게 linked list글 구현해 두었고, MEC++의 지식이 도움되었다. MEC++가 허송세월을 보낸것은 아닌 느낌이다. Java3D의 강좌에서도 Java3D의 프레임웍이 좋다고 하는데, 역시 살피는 과정에서 써야 겠다. 문서화 중
          * 동기 : 2학년 옛날 친구 모군과 ^^; 같이 공부 하고 싶었것만, 게을러서 못다 꿈을 위해.
          * OpenGL Super Bible ()
          * Game Programming Gems ()
  • OurMajorLangIsCAndCPlusPlus/time.h . . . . 7 matches
         || clock_t clock(void); || processor clock time 을 반환다 ||
         || double difftime(time_t time1, time_t time2); || 두 시간간의 차이를 계산다. ||
         || struct tm *gmtime(const time_t *timer); || timer 를 GMT에 입각하여 tm 구조체의 값으로 변환다. ||
         || struct tm *localtime(const time_t *timer); || timer를 local time 에 입각하여 tm 구조체의 값으로 변환다. ||
         || time_t mktime(struct tm *timeptr); || tm 구조체를 time_t 의 값으로 변환다. ||
         || time_t time(time_t *timer); || 현재의 시간을 time_t 형태로 변환다. ||
         || struct tm *getdate(const char *); || 문자열을 tm 구조체로 변환다. ||
  • PC실관리/고스트 . . . . 7 matches
         = GHOST 이미지 생성시 필요 프로그램 목록 =
          * 글 2005
         = 필요 설정 목록 =
          * 바탕화면 그림은 컴공과 지정 바탕화면으로 지정다.
          이 계정의 경우 Users 로 계정을 제해서 프로그램의 설치및 제거에 제을 두어야 차후에 문제가 발생하지 않을 것으로 생각됨.
         음 번 정리해봤는데 더 추가해야할 것이 있는지 모르겠음. 프로그램 목록은 개발과 관련된 것. 계정 접속에 관련된 기본적인 프로그램 중 가장 좋다고 생각하는 것으로 넣었음. - [eternalbleu]
  • Perforce . . . . 7 matches
         상업용 RC 이며, 오픈 소스 프로젝트 진행에 해서는 무료로 배포된다.
         프로그램은 서버, 클라이언트 환경으로 관리되며, 서버는 소스의 모아서 관리다. 서버 프로그램은 유닉스, 맥, MSWin 버전으로 제공된다. 클라이언트는 GUI, CMD 버전의 툴을 지원하며 다양 OS 에서 이용가능하다. 또 IDE 와 연동역시 지원다. (IDE에는 3dmax, maya, photoshop, office 등을 포괄하는 방대 시스템)
         비슷 소프트웨어로 Rational ClearCase, MS Team Foundation, Borland StarTeam 급을 들 수 있다.
  • PowerOfCryptography/이영호 . . . . 7 matches
         - 수정. 가지 오류를 바로 잡음. "/10" 으로 나눔 연산.
          = 1/n * ( log( 10의 (string:p의 자릿수)승) + log((x) = string:p의 맨 첫숫자와 두번째 숫자를 일의자리로 것을 반올림. -> 예제에서 1.8) )
         // 반올림은 ceil, floor 함수로 효율성 있게 구성다.
         // 여기서 문자를 숫자로 변경하고 log10 함수를 사용다.
         // 반올림을 하고 정수로 캐스팅다.
          sscanf(p_buf, "%2c\0", p); // 앞의 두 자리만 취다.
          buf = log10((double)atof(p_buf)/10); // 첫 두자리를 log취다.
  • PrimaryArithmetic . . . . 7 matches
         초등학생들이 여러 자리 수의 덧셈을 배울 때는 번에 자리씩 오른쪽에서 왼쪽으로 계산하도록 배운다. 그런데 그 자리 숫자의 합이 10을 넘어갈 때 그 윗자리 숫자에 1을 더해주는 것을 배울 때 많은 학생들이 힘들어다. 일련의 덧셈 문제가 주어졌을 때 자리를 올리는 횟수를 세어서 선생님들이 학생들을 가르치는 데 도움을 줄 수 있는 프로그램을 만들어야 다.
         마지막 줄을 제외 각 줄에 대해 주어진 두 수를 더할 때 자리를 올려야 하는 횟수를 계산 다음, 아래에 주어진 형식대로 결과를 출력다.
  • Profiling . . . . 7 matches
         이런 '''성능'''을 좌우하는 것은 문제 상황에 적절 자료구조와 알고리즘이다. 그리고 우리가 감안해야 할점은 이것이다.
         '''과연 어떤 부분에 대 최적화를 해야 할 것인가?'''
         이런 파레토 법칙은 프로그램에서도 적용될 수 있는 법칙인데, 이런 식이다. (몇%는 중요하지 않다. 중요 점은 인간이 보통 인지하는 것과 실제의 모습이 차이가 있다는 점이다. )
         실행 시간의 80%가 대략 20%의 코드를 소모
         프로그램이 성능을 높이기 위해서 이런 20%의 핵심 코드를 추정, 측정을 통해서 찾아야다.
         (다른 소개글로 [http://maso.zdnet.co.kr/20010407/about/article.html?id=120&forum=0 마소4월호기사 Python 최적화론]를 추천다.-링크깨졌음)
          || PerformanceTest || C/C++을 이용 성능 측정 코드 작성 ||
  • ProgrammingLanguageClass/Exam2002_1 . . . . 7 matches
          * PL/1 이 실패 이유는?
         다음과 같은 unambiguous 문법이 있다. (대강 이런식. 아 곱셈부분이 생각안난다; 정확거 아시는분은 보충을;)
          * Floating Point 변수의 경우 해당 값에 대해 근사값만을 표현다. 그 이유는 무엇인가?
         공부할때 각 요소들에 대 비교 할때마다 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 유효숫자를 다 쓸수 없을테니) 아.. 풀고나니 잘못생각했군. 흑; --석천
  • ProgrammingPearls/Column6 . . . . 7 matches
          * 알고리즘과 자료구조의 교체 : Sequential 것을 Binary Tree로 교체함으로써 O(n*n)이 O(n*lg n)으로 줄었다.
          * 시스템 의존적인 코드 튜닝 : 크리티컬 부분을 어셈블리로 다시 짰다.
          * 디자인 레벨에 관 가이드
          * 심플 디자인의 중요성은 아무리 강조해도 지나치지 않다.
          * 적은 양의 스피드업을 원다면 가장 고치기 쉬운 부분만을 고치자.
          * 많은 양의 스피드업을 원다면 다단계를 고치자. 군데를 고침으로써 다른 부분도 고칠것이 생긴다.
  • ProjectVirush/Prototype . . . . 7 matches
         지역 간 랜덤 숫자의 숙주 이동이 일어난다.
         바이러스는 증식 속도, 잠복기, 독성을 가진다. 이는 시간에 관 함수(f(t))이다.
         //Project -> Setting -> LINK 메뉴 -> Object/library modules: 의 끝부분에 ws2_32.lib 를 추가다.
          // 프로그래머는 이것을 통해 네트워크와 대화를 다.
          = inet_addr(SERVER_IP); // 로컬 주소로 설정다.
          // 서버에 연결다. 시도나 해보자.
          // exit로 종료를 하면 모든 파일 디스크립터를 자동으로 닫고 종료다.
  • Randomwalk/조동영 . . . . 7 matches
          int count = 0; // 총이동 횟수를 계산하게될 integer 값
          // 생성 동적배열을 초기화
          cout << "각 방에 이동 횟수 : \n\n";
          cout << "\n총 이동 횟수 :" << count << endl;
         지금 코드를 보면 번 움직일 때마다 모든 타일을 돌아다니면 0이 남아있는 지를 검사하는 시간낭비가 있구나. 이런 낭비를 없애기 위해 내가 1년전에 썼던 알고리즘을 하나 알려줄께. m*n의 공간에서 값이 0인 타일을 밟게되면 카운트를 +1해주면 카운트의 값이 m*n이 되면 그 공간의 모든 타일을 적어도 번씩은 밟았다는 얘기가 되지. 번 움직일 때마다 그 카운트 값을 검사하면 되겠지? 이해 안되면 나중에 물어보고. -[강희경]
  • STL . . . . 7 matches
         || ["STL/set"] ||집합을 구현 자료구조||
         앞으로 C++ 을 이용하는 사람중 STL 을 접해본 사람과 STL을 접해보지 않은 사람들의 차이가 어떻게 될까 번 상상해보며. (Collection class 를 기본내장 C++ 의 개념 이상.. 특히 STL 를 접하면서 사람들이 [GenericProgramming] 기법에 대해 익숙하게 이용할 것이라는 생각을 해본다면 더더욱.) --["1002"]
          차레의 피바람이 불어 이 페이지가 태어나다.. --["neocoin"]
         "[STL] 컨테이너는 포인터를 염두에 둬두고 설계된 것이 아니라, 객체를 담을 목적으로 설계된 자료 구조이다." 이 말을 너무 늦게 봤네요ㅠ_ㅠ 기본 데이터 타입 이외에 사용자 정의 데이터 타입(분류_[class])의 포인터를 사용하기 위해서는 상당 노력이 필요 할것 같습니다. 혹시 쉬운 방법은 없나요? - [이승]
          "사용자 정의 데이터 타입의 포인터를 사용하기 위해서는 상당 노력이 필요할 것 같습니다" - 어떤 뜻인지? 힘들었던 예를 코드로 써주면 더 명확할 듯.~ --[1002]
  • STL/map . . . . 7 matches
          * dictionary 구조를 구현하였다. DataStructure 에서는 symbol table 이라고 말다.
          * 이 구조는 각 언어마다 다양 이름을 가진다.
          * STL의 container 들은 모두 비슷 모양의 순회를 다.
          * map 은 내부에 STL의 pair 를 이용하여 구현다. 그래서, iterator 가 가리키는 것은 pair<key_type, value_type> 형이다.
         아쉬운점 : VC++ 6.0 에서 map 번 쓰면 warning 이 72개가 뜬다; STLPort 를 써야 할까..
          warning 의 이유는 STL에서 나오는 디버그의 정보가 VC++ 디버그 정보를 위해 할당하는 공간(255byte)보다 많기 때문입니다. 보통 디버그 모드로 디버깅을 하지 않으면, Project setting에서 C/C++ 텝에서 Debug info 를 최소 line number only 로 해놓으면 warning 는 없어 집니다. 그래도 warning 가 난다면 C/C++ 텝에서 Generate browse info 를 비활성(기본값)화 시키세요.
  • STL/sort . . . . 7 matches
          * 우리는 프로그램 첨 배울때 sort 짜는걸 많이 다. 수행시간이 θ(n*n)이나 되는 소트를 짜곤 했다.
          * STL에서는 Quick Sort를 약간 변형 Sort 알고리즘을 제공다.
         #include <algorithm> // sort 알고리즘 쓰기 위
         #include <functional> // less, greater 쓰기 위
          * 가지 주의할점. 이 sort알고리즘은 컨테이너가 임의 접근(Random Access)을 허용다는 가정하에 만든것이다. vector나 deque처럼 임의 접근을 허용하는 컨테이너는 이걸 쓸수 있지만. list는 임의 접근이 불가능해서 사용할수 없다. -l[5] 이런 접근이 안된다는 의미 - 따라서 list에서는 컨테이너 내부에서 sort메소드를 제공해 준다.
  • ServiceQualityOfYongsanMarket . . . . 7 matches
         용산 전자상가에 갈일이 많을 텐데, 이곳에 개개인이 평가 상점의 서비스 평가나 가격등에 대 정보를 모아두면 좋을 것 같아서 이 페이지를 만들었습니다. 상점이름은 ID로만 표현해두고 이 ID에 대 정보는 ZP의 게시판에만 게시를 해서 외부인은 열람할 수 없게 해 두는 것이 좋을것 같네요. -- 임인택
          * 간이영수증을 요구했더니 서랍장에서 주섬주섬 꺼내 장을 줬는데, 가다가보니 사업자번호, 상호, 등등이 하나도 적혀있지 않았음. -_-;
          * 주문 셋트에 대 궁합(?)을 보고 이에 대 대안을 전화로 알려줌.
  • Star . . . . 7 matches
         48개의 삼각형 셀로 이루어진 판이 하나 있다. 각 셀에는 0에서 9까지의 숫자가 적혀있다. 모든 셀은 두 줄 또는 세 줄에 속다. 각 줄들은 A에서 L까지의 문자로 표시된다. 아래 그림을 보면 9라는 숫자가 들어있는 셀은 D, G, I 줄에 속하며, 7이라는 숫자가 들어있는 줄은 B, I 줄에 속다.
         이 열두 개의 줄에서 각각 가장 큰 수를 읽어 들여서 판 위에 있는 수를 모두 더 값의 최소 값과 최대 값을 구하는 프로그램을 만들어라.
         입력된 각 줄에 대해 주어진 판에 들어있는 숫자 총합의 최소 값과 최대 값을 출력다. 이 두 값은 같은 줄에 출력해야 하며, 두 숫자 사이에는 딱 개의 스페이스를 출력다. 풀이가 없는 경우에는 "NO SOLUTION"이라고 출력해야 다.
  • SubVersion . . . . 7 matches
          * 커밋 단위가 파일이 아닌 체인지셋입니다. CVS에서라면 여러 개의 파일을 꺼번에 커밋하더라도 각각의 파일마다 리비전이 별도로 붙습니다. 반면 Subversion에서는 파일별 리비전이 없고 번 커밋할 때마다 전체 변경 사항에 대해 리비전이 하나씩 증가합니다.
          * CVS에 비해 엄청나게 빠른 업데이트/브랜칭/태깅 시간. 예로 같은 100MB 트리를 업데이트했더니 CVS보다 21배 빨랐습니다.
          * CVS와 매우 유사 사용법. CVS 사용자라면 누구나 어려움없이 금방 배울 수 있습니다.
          * 확장성을 염두에 둔 구조, 깔끔 소스
         오늘 처음 사용해보니 CVS보다 좀더 깔끔 느낌이 이입니다. [tortoiseSVN]을 사용했는데 [CVS]보다 좀더 직관적이지 않나 싶습니다. 소스관리 툴을 처음 사용하는 사람이라면 [CVS]보다 [SubVersion]이 더 좋지 않을까 싶습니다. 다만 [tortoiseSVN]을 사용하니 체크아웃 할 때 보통 5-6번 정도 비밀번호를 쳐야 하네요;; diff, merge 툴을 따로 설정할 수 있습니다. - 이승
  • SuperMarket . . . . 7 matches
         2. 가게의 물품은 무대로 준비되어 있음
         다음과 같이 표준입출력을 통 커맨드라인 인터페이스가 어떨까요? (자동) 테스트하기도 훨씬 쉬울테고요.
          * deposit -- 돈을 예금
          * cancel -- 산 물건을 취소
          * menu -- 구매 가능 물건의 목록을 보여준다
          각각의 명령에 대 구체적인 안내는 help <command>
         buy <product> <number> -- <product>를 <number>개 만큼 구매
  • TAOCP . . . . 7 matches
          * 문제(Exercise)를 풀어보고 모여서 서로 답을 비교 후에 해답을 본다.
          * 참고자료로 볼 수 있도록 위키페이지에 정리다.
         [삼색볼펜초학습법]으로 책을 읽고 모임을 가진다면 더 좋겠다는 생각을 다.
         이 책 정말 유명하네...쎄미나 준비하는데 이책에 대 얘기 계속 나와..
         그리고 표그리기, 희안 기호들, 작은 글자 표현하기도 힘들다
         1.3.1 MIX에 대 설명 정리했음 --[Leonardong]
         1.3.1 MIX에 대 설명에서 답변에 따라 MOVE 설명을 정리. --[Leonardong]
  • TddRecursiveDescentParsing . . . . 7 matches
         RecursiveDescentParsing 을 TFP 로 시도를 해보려고 하는데.. Parser부분에 대 test 의 결과를 얻기 위해서는 AST를 얻도록 해야 하고, AST를 조금씩 구축해나가는 방향으로 디자인유도중인데. 이 아이디어 생각하려는데 1시간을 소비했다. 흡;
          ''먼저 "1"을 넣으면 "1"을 리턴하는 프로그램을 만듭니다. 다음 "314"를 넣으면 "314"를 리턴하게 합니다. 다음엔, "1 + 0"을 넣으면 "1"을 리턴하게 합니다. 다음, "1 + 314"를 넣으면 "315"를 리턴합니다. 다음, "1 + 2 + 314"를 하면 "317"을 리턴합니다. 다음, "1 - 0"을 하면 "1"을 리턴합니다. 다음, "1 - 1"을 하면 "0"을 리턴합니다. 다음, "314 - 1 + 2"를 하면 "315"를 리턴합니다. 다음, "- 1"을 넣으면 "-1"을 리턴합니다. 다음, "( 1 )"을 넣으면 "1"을 리턴합니다. ...... AST는 아직 생각하지 말고 당장 현재의 테스트를 패스하게 만드는데 필요 것만 만들어 나가고 OAOO를 지키면서(테스트코드와 시스템코드 사이, 그리고 시스템 코드 간) 리팩토링을 지속적으로 합니다 -- 그렇다고 파싱 이론을 전혀 이용하지 말라는 말은 아니고 YAGNI를 명심하라는 것입니다. 그러면 어느 누가 봐도 훌륭 디자인의 파서를 만들 수 있습니다. DoTheSimplestThingThatCouldPossiblyWork. --김창준''
          * 아. 이번 레포트에서 요구하는 것이 계산기는 아니고, 간단 언어에 대 파싱 유도과정을 보여주고 에러처리하는 것이다보니, 구체적인 결과를 얻는 부분이 모호하다 판단이 들어서요. 그래서 조금 더 명시적으로 보이는 DOM 형태의 AST를 구하는 형태로 접근했습니다. --석천
         문제점 : 테스트 가능할 수 있는 아이디어가 나오기까지가 오래걸렸다. 테스트 가능 방법으로 접근하고 나서부터의 코딩은 1-1.5시간정도밖에 안걸렸지만. 그리고 본래의 스펙에는 AST 에 대 언급이 없었다. 해당 함수가 제대로 호출되었는지를 근거로 접근하는 것이 나았을지도.
  • TestDrivenDatabaseDevelopment . . . . 7 matches
         작성하는중에, DB에 직접 접속해서 확인하는 코드가 테스트에 드러났다. (이는 예상 일이긴 하다. DB 에 비종속적인 interface 를 제외하더라도 DB 쪽 코드를 계속 쌓아가기 위해선 DB 코드를 어느정도 써야 다.) 처음 DB 에 직접 데이터를 넣을때는 side-effect가 발생하므로, 테스트를 2번씩 돌려줘서 side-effect를 확인을 했다. 점차적으로 initialize 메소드와 destroy 메소드를 만들고 이를 setUp, tearDown 쪽에 넣어줌으로 테스트시의 side-effect를 해결해나갔다.
         프로그래밍을 하다가, 만일 여기서부터 interface 를 추출뒤에 거꾸로 MockRepository 를 만들 수 있을까 하는 생각을 했다. (interface 를 추출함으로서 같은 메소드에 대해 다른 성격의 Repository, 즉 File Based 나 다른 서버 로부터 데이터를 얻어오는 Repository 등 다형성을 생각해볼 수 있는 것이다.)
         즉, MockRepository 에서는 Exception 을 던질 필요가 없는데, 메소드마다 전부 throw 를 던져줘야 다. (편으로는, 다른 언어에서는 상관없는데 Java 에서의 Checked Exception 의 문제일런지도 모르겠다.
         만일 MockRepository를 먼저 만든다면? interface 를 추출 순간에는 문제가 없겠지만, 다음에 DBRepository 를 만들때가 문제가 된다. interface 의 정의에서는 예외를 던지지 않으므로, interface 를 다시 수정하던지, 아니면 SQL 관련 Exception 을 전부 해당 메소드 안에서 try-catch 로 잡아내야 다. 즉, Database 에서의 예외처리들에 대해 전부 Repository 안에서 자체해결을 하게끔 강요하는 코드가 나온다.
  • TestDrivenDevelopment . . . . 7 matches
          사람마다 다를것 같긴 하지만, 나의 경우는 테스트를 작성하기 전 TODO List 를 작성할때 가장 고민을 하고 시간이 오래걸린 것 같다. 뭘 만들것인지에 대 이해가 제대로 되지 않은 상태에서는 도대체 '뭘 해야 할지, 어떤 결과를 기대해야 할지'를 모르기 때문. :) 편, 만일 TODO 리스트 작성시 시간이 너무 지체된다 싶으면 빨리 '어떤 결과를 기대해야 하나(Test 디자인)' 이란 질문을 하고 테스트를 작성해보는 방법을 추천. 저 질문이 앞에서의 '뭘 할까?'라는 질문의 모호함을 보완해주기 때문. 무엇을 해야 할지 감이 안올때는 가장 간단 Input-Output 을 서술해봄으로서 조금씩 구체화시켜나갈 수 있음. '예제에 의 구체화'란 방법은 참 유용함. --[1002]
         테스트를 작성할때엔 '이미 완성되어있는 잘 된 API' 를 상상하며 작성다. 잘 만들어진 API는 같은 일을 하더라도 직접 호출해줘야 하는 함수의 갯수가 적고 이해하기 편하며 '무엇'을 해주는지 그 메소드가 말해준다. 적게 코드를 써도 많은 일을 해주는것이다. 그리고, 테스트로서 컴퓨터의 컴파일러에게 코드작성을 위해 해야 할 일들을 묻고, 인터페이스를 만들고. 그리고 구현하고, 다시 구현된 코드를 Refactoring 다.
         === 간단 C++ 에서의 TDD 참고 함수 ===
  • TheJavaMan/비행기게임 . . . . 7 matches
          - 미사일의 파워 : 같은 종류의 적 비행기를 미사일에 성능에 따라 두번 맞춰야 터지는 경우가 있는가 하면, 발로 적 비행기를 폭파시키고도 미사일이 계속 나가는 경우도 있다.(이 부분은 미사일에 HP개념을 두어, 미사일과 적기가 접촉하면 같은 속도로 HP가 깎이면서 먼저 HP가 0이되는 것이 터지는 방법으로 구현다)
          - HP, MP는 일정 점수 단위를 넘을때마다 상승다.(디아블로로 치면 '피가 빨린다'는 표현이 된다) 레벨업도 일정 점수가 넘으면 오른다.(미사일의 파워, HP, MP, 스킬의 파워가 오르고 비행기의 모습 등등이 바뀔수도 있다)
          - MP를 사용하여 스킬을 사용할 수 있다.(일단 가지 스킬만 만들어본다)
          - 적 비행기는 일반, 중간보스, 보스 형태가 있는데 보스급 비행기는 점수를 많이 준다거나 특정 혜택을 준다.(디아블로로 치면 '레어 아이템' 정도가 된다)
          - 기본 아이디어만 살리고 코드를 최대 단순화 해서, 일단 완성은 봐야 할 것 같다. 자바가 코드를 단순화 하지 않으면 실행 속도가 많이 느리고, 또 2월달 안에 완성하려면 시간도 생각해야 하니까 단순하게나마 완성을 해야 할것 같다. -[문원명]
          * 야 왜 비행기로 최고의 성능을 보유 F-16을 안쓰는거야!! - xxxxxxxxx
  • TheWarOfGenesis2R . . . . 7 matches
          == 기본적인 길찾기 알고리즘 구현 소스(11/05) ==
          == DirectDraw로 만든 간단 알카노이드(11/07) ==
          * 타일 그래픽의 편집은 그림판으로, 속성의 편집은 타일에디터로 다. 추후.. 통합(?) 할지도?
          * 오늘 건 결국 컨버터다.
          * 내가 그 길찾는 프로그램 돌려봤는데.. 가끔은 벽을 뚫기도 다. ^^ 내부벽 뿐만 아니라 외부벽을 뚫고 나가 헤매기도..;; 그리고 지그재그로 돌다가 가기도 다. 참고하라궁...^^ --["창섭"]
          * 억.. 그러냐?--; 우리가 실행 테스트에서는 다 고친줄 알았는데 아니었나 보군.
  • TwistingTheTriad . . . . 7 matches
         C++ 시스템의 Taligent 로부터 유래. Dolphin Smalltalk 의 UI Framework. 논문에서는 'Widget' 과 'MVC' 대신 MVP 를 채택 이유 등을 다룬다고 다. 그리고 MVC 3 요소를 rotating (or twisting)함으로서 현재 존재하는 다른 Smalltalk 환경보다 쓰기 쉽고 더 유연 'Observer' based framework 를 만들 것을 보여줄 것이다.
         고 다. -_a
          - 내가 파악 MVC 모델은 너무 얕은 지식이였나. 여태껏 그냥 Layer 단으로만 그렇게 나누어진다만 생각했지 해당 이벤트 발생시나 모델의 값 변화시 어떠 단계로 Control 이 흘러가는지에 대해서는 구체적으로 생각해본 적이 없었던 것 같다. 화살표를 보면 Application Model -> Controller 로의 화살표가 없다. 그리고 Problem Space 의 범위도 차이가 난다.
          근데, WEB 에서의 MVC 와 GUI 에서의 MVC 는 그 Control Flow 가 다르긴 할것이다. 웹에서는 View 부분에서 이벤트가 발생하여 이것이 도로 Model 로 올라간다..식이 없기 때문이다. 믿을만 출처일지는 모르겠지만, 암튼 이를 구분하는 글도 있는듯. http://www.purpletech.com/articles/mvc/mvc-and-beyond.html
  • UploadFile . . . . 7 matches
         동일 파일이 업로드 된다면, 기존의 파일이 지워지고 대체 됩니다.
         다른 분이 업로드 파일을 지우지 않도록 조심하세요.
         MoniWiki는 두가지 인터페이스의 UploadFile매크로를 지원다. 각각 이에 대응하는 액션이 있다.
         UploadFile매크로와 UploadedFiles매크로는 각각 다중 디렉토리를 지원다.
         'UploadFile'페이지 이외의 특정 페이지에서 {{{[[UploadFile]]}}}을 사용하면, 그 페이지 이름을 하위 디렉토리로 하는 새로운 UploadFile 디렉토리가 만들어지고 그 밑으로 파일이 업로드 된다. (1단계 하위 디렉토리만 지원된다)
         == 파일 확장자를 통 UploadFile제 ==
  • XpWeek . . . . 7 matches
          주 동안 ExtremeProgramming을 '''최대''' 체험해보기.
         [http://www.okjsp.pe.kr/upload/Agile_Voice.zip 기민 문화 이야기]를 안 보신 분은 꼭 보고 오셨으면 합니다.
         '''원칙에 충실 도우너'''팀의 참여자는 다음과 같습니다.
         [이승] - 24일은 조금 압박이 있네요;;
         오롤롤롤로~ 멋진궐요?? - [이승]
         xp에 대 기본 지식이 없어서 조금 막막하지만 해보고 싶군요! -- 재선
  • XpWeek/20041222 . . . . 7 matches
         11시 53분 : 참여자 : Client( 강희경, 황재선, 이승 ), Server( 나휘동, 윤성만 )
         4시경 : 분위기 다시 상승. 조금 활성화. 클라이언트 서버 접속 성공. 강희경, 이승 페어 완전 해체.
         5시경 : 이승 C++ 코딩 시작. 좌절. 분위기는 여전히 상승상태. 이승 카트 시작.
         그런데 내일이랑 내일모래는 약속으로 쥐쥐 저는 이만 해야 할듯...ㅠ.ㅠㅋ - [이승]
         으하하하~ 자바도 똑같네 - [이승]
         깐따삐아 성운에서의 1깐따는 우리시간 2시간이라는...크하하하하 재미 있었음 - [이승]
  • Yggdrasil/가속된씨플플/2장 . . . . 7 matches
          * 루프불변식(loop invariant): while문이 그 조건식을 검사하는 매 경우에 대하여 참일 것이라고 가정하는 속성. 처음에 이걸 보고, 이런 개념도 있었냐고 생각했음. 루프불변식은 코드는 아니고 주석에 해당하며, while문이 진행되면서 while문의 제일 처음과 끝에서 루프의 내용이 의도 대로 돌아간 건지를 정의 문장이다.(말로 설명하기 애매 듯...) 하여튼 이것을 쓰는 이유는 루프문을 제대로 설계하기 위해서. 아래의 코드는, 책에 있는 코드로, 불변식의 예이다.
         //행을 출력하면 불변식이 거짓이 된다(바로 아랫줄)
          * 단락평가(short-circuit): 그러니까 if(a==0||b==0){...}에서 왼쪽의 a==0이면 b==0인지는 보지도 않고 괄호 안을 실행다는 뜻. 자바에선 ||기호와 |기호를 구분하던 것 같았다. 아마 전자는 전부 평가, 후자는 단락평가였던 것 같다.
         std::string::size_type//unsigned형의 멤버변수로, 담을 수 있는 최대 문자 갯수를 저장다. 글자수에 알맞는 type으로 알아서 정의하는 듯.
          * 1부터 10을 각 줄에 출력다.
  • Z&D토론/학회명칭토론 . . . . 7 matches
         통합될 학회의 이름에 대 토론입니다.
          * 통합은 과정일 뿐 주가되는 이야기는 아니다. 가급적이면 통합과정은 간소화 하고 중요 목적을 향 진행들을 철저하게 해 나가는 것이 중요하다.
          * 학회명칭과 관련된 리스크는 줄이는게 낫다. 그러 점에서 새 이름을 짓는 것은 여러모로 리스크가 크다.
          * 'Z & D' - 가칭을 살리는 방안. 새로운 이름의 경우 선배들로부터의 맥이 끊기는 것이 되므로 기존의 이름을 합성 이름으로 가자.
          * 아에 새로운 이름 - 이름문제와 관련하여 입장이 팽팽 경우의 최후의 방안
         DeleteMe) 이 페이지의 Thread 는 참고일뿐, 학회명칭을 결정 것은 1월 30일 회의입니다. 그때의 토론내용을 결론부에 적어주는 것이 적절하다고 생각합니다. (즉, ZP로 결정된 이유등에 대해서.)
  • ZPBoard/PHPStudy/쿠키 . . . . 7 matches
         boolean setcookie ( "이름" [, string value [, 제시간 [, "경로" [, "주소" [, 보안]]]]])
          * setcookie는 반드시 제일 먼저 설정이 되어야 다.
          * <html> <head> 등등 보다도 앞에 있어야 다.
          * 제시간 항목에는 time()이나 mktime()함수의 리턴값을 사용할 수도 있다.
          * 쿠키는 생성될 당시의 인수(parameter)를 그대로 넣어 삭제해야 다.
          setcookie("CookieName", $value, time()+3600); // 제시간 시간의 쿠키 보내기..
  • ZeroPage성년식 . . . . 7 matches
          * 그닥 문제가 없었던걸로 기억하는데 저도 제로페이지 메일에서 신청에 문제가 있다고 보내주신걸 확인했습니다. 메일로 간단 몇가지 사항과 함께 참가 의사를 밝히면 저희가 관리하는 방법도 있지 않을까요 - [지원]
          * 성인식이 아니고 성년식이네요. 정확 행사명을 정할필요가 있을듯... -[김태진]
          * 늦추는것 보다는 당초 예상했던대로 송년회를 피해서 하려면 날짜를 당겨서 해야하는게 좋을것 같네요 시간이 촉박정도는 아닌데다 날짜의 변경을 염려해뒀었으니 앞쪽으로 변경해도 될것 같습니다 - [김준석]
          * 기획단 후기 수요일(11월 9일)까지 저에게 보내주세요. 두줄정도면 되고 메일이던 쪽지건 메신저던 상관없습니다. - [지원]
          * [김태진] - 제로페이지에서는 처음으로 기획단을 하였습니다. 누나/형들이 아주 구체적으로 어떤 항목들이 필요지 나열하면서 언제까지는 해야할 것이다고 계획을 바로바로 짜고 그 계획대로 되는걸 보니 어떤 기획을 제대로 하려면 저렇게 해야하는군.. 이라는 생각을 많이 하게 되었네요. 연락돌리는 일이나 신청받는거도 쉽지않은데 여러명이 잘 나눠서 차근차근 진행하니 잘 되더라구요. 여럿이 같이 열심히 기획하는게 최대 효율을 낳는다는걸 깨달았네요. 마지막으로 ZP20주년 성년식, 많은분들이 와서 즐거운 날이 되었으면 좋겠네요!ㅋㅋ
          * 지난 회의에 불참해서 미안합니다. 부탁이 있는데 행사 진행중에 ''저와 태진이는 찍사를 했으면 좋겠습니다.'' 20주년 성년식이니 만큼 많은 사진을 남기고 싶고, 명이 찍사를 다 부담하면 그 명이 다른 일을 할 때의 기록이 남지 않습니다. 태진이가 접수할때는 제가 사진촬영을 많이 하고 제가 발표할때는 태진이가 촬영을 많이 하고 이렇 식으로 하면 좋겠어요 - [지원]
  • [Lovely]boy^_^/영작교정 . . . . 7 matches
          * 글 문장
          * 내가
         === David는 언어에 상당 재능을 발휘했다. ===
          * 이번엔 어순에 문제가 있다. 또 나는 영작할때 잘 안풀리면 무조건 that을 넣고 본다는 것도 알게 되었다.
         === 우리는 극우 세력의 영향력을 견제해야 다. ===
         === 나는 그 같은 불쾌 싸움후에 떠나지 않을수 없었다. ===
         === 그 죄수의 행동은 왜 그가 사회에서 위험 존재인지를 보여준다. ===
  • intI . . . . 7 matches
         왜 그런지 번 생각해 보시길..
         다른 분들 생각도 번 들어보고 싶네요. ^^
         라는 궁금증이 문득들었어요-_-ㅋ - 이승
         DeleteMe) 잡담분류인가요;; - 이승
         i++ 값은 일단 0 이고 그 담에 i 는 1로 증가 했는데 이제 그 i++ 값을 i에 넣어서 그런거 같은데
         포트란인가 코볼인가 파스칼인가.. 아무튼 이 셋중의 언어에서 그렇게 쓰던것이, 하나의 관용이 된 것이라고 들은 기억이 있음 - 임인택
  • randomwalk/홍선 . . . . 7 matches
          t=rand()%Direction; // 랜덤으로 바퀴벌레가 움직일 방향을 정
          count++; // 바퀴벌레가 총 움직인 횟수를 구하기 위 카운터
          R_count++; // 바퀴벌레가 모든 타일을 방문하면 멈추게 하기 위 카운터
          Tile[Pos_x][Pos_y]++; // 바퀴벌레가 타일을 방문할 때마다 증가하여 방문 횟수를 구다.
          cout << "각 타일을 방문 횟수는 다음과 같습니다. \n";
          while(R_count!=size_x*size_y || count < 50000) // 바퀴벌레가 모든 타일을 거치면 멈추거나 횟수가 50000을 넘으면 멈추게
         지저분게... 어디를 고쳐야 할지... 막막하네요...
  • stuck!! . . . . 7 matches
         가볍고 쉬운 무료 C, C++ IDE. 글도 지원다.
         우리는 스스로 공부다!!
         출첵은 스스로 다.
         1차 : 입출력그리고 간단 변수의 종류에 대해서 공부해보고, 이름과 학번 그리고 원하는 평점을 입력받고 그것을 그대로 출력하는 프로그램을 작성해 본다. 일요일 오후 3시까지 제출해 주세요. 미 제출시 가혹 벌금이 있습니다ㅋㅋㅋ
          아직 홍보와 위키에 대 설명이 부족했나 보네요. 다음에 좀더 확실히 끌어보겠습니다.
  • 강소현 . . . . 7 matches
         주위의 잡음에 지나치게 신경을 써서 하루라도 마음 편할 날이 없는 타입입니다. 이른바 과민성 성격이라 불리는 부류의 사람으로 스스로에게 도저히 자신을 갖지 못합니다. 항상 소극적이고 지나치게 자상데다 매사의 대처가 엉성해 주위사람들로부터는 점점 이용만 당하고 결국 손에 남는 것은 찌꺼기뿐입니다. '지’, '정’, '의’의 불균형이 심해 사회의 작은 풍파에도 크게 흔들리고 덧없는 세상의 뒷길을 비틀대며 걸어갈 수밖에 없습니다. 이런 타입에게 가장 요구되는 것은 모든 일을 나누어 생각하는 습관입니다. 그리고 다른 가지는 눈을 딱 감고 자기주장을 관철시켜버리는 오기입니다. 필요할 때는 정색도 할줄 알아야 앞으로 더 큰 시야를 얻을 수 있습니다.
         연인, 배우자 - 답답 상대로 처음에는 기저이 당신의 뜻대로 되어주겠지만 어느새 반응을 보이지 않기 시작해 점점 불만을 느끼게 될 것입니다.
         거래처고객 - 이런 상대와 일을 다면 당신의 페이스에 말려들게 하여 끌어당기는 수밖에 없습니다. 그리고 당신의 방식이 성의를 기본으로만 다면 그걸로 충분합니다. 상대방도 그걸 바라고 있을 테니까요.
         동료, 부하직원 - 소심 상대이기 때문에 당신이 다가가 능력을 이끌어 내주어야 합니다. 천천히 일하는 타입이기 때문에 일을 재촉하면 과열되어 폭발할 위험이 있습니다.
          * 원래 내용 자체가 신랄 거였군요 ㅎㅎ - [강소현]
  • 강의실홍보 . . . . 7 matches
         많은 인력 필요하다. : 집부 같은 성격의 단체에 사람들을 끌어 들이는 것이라면 해당 단체의 구성원 중 목표 대상에게 친숙 사람을 중심으로 되도록 많이 필요하다. 이때 많은 인력으로 돌아가면서 행사의 소개를 할 수 있다.
         적은 인력을 괜찮다. : 이벤트 행사의 경우, 홍보 효과 강의 시간대에 소수 (1~2)명이 들어가도 충분할 것 같다. 중요 것은 이 소수가 행사의 전체 이미지를 잘 알고 있어야 다는 점이다. 행사를 구체적으로 모를 경우에는 홍보자에게 상호보완적인 역할을 할 수 없으므로, 좋은 효율을 내기 힘들다.
          * 1학년의 경우 고등학교의 버릇으로, 쉬는시간에 많은 수가 잠을 자서, 많은 영향을 끼치지 못다. 그리고 수업 중간에 홍보를 해서, 수업을 마치고 나서 잃어버린다.
          * 마지막 수업이 종료후 5분 정도의 양해를 구다고 말하고, 홍보를 다. 수업이 모두 끝난 순간 사람들은 모두 깨끗 정신으로 깨어있고, 집으로 돌아가면서 웹에 광고를 볼 가능성이 높다.
  • 결혼과가족 . . . . 7 matches
          * 강사: 최보아(외모 출중에, 그 당시 신혼이라서 경험을 바탕으로 재밌는 강의를 할 거라는 소문을 듣고 수강), 성적이 훌륭데 학점이 안나오는 과목이 있다. 단순 암기과목인 경우 그런 경우가 있다. 예를 들어 10명이 듣는데 3명이 절대 점수 99점이고 내가 98점이면 나는 98점이라는 우수 점수에도 불구하고 B+이라는 점수를 받게되는 것이다. 나에게 결혼과 가족이 그런 과목이었다. 강사님과 친하게 지내고 레포트 점수도 우수했고 시험 점수도 우수했지만 B+이라는 점수를 받았다. 강사에 따라 다르겠지만 단순 학점이 목적이라면 이런 암기과목은 피해야겠다.(ex, 일본어,자...) 나름대로 강의 내용은 흥미롭고 실생활에 유용 내용이다. [성의과학]과 같이 들을시에는 약간의 씨너지효과도 있다. --[강희경]
          * 나의 1,2학년 모든 교양을 통털어서 최고의 교양이었다. 이것도 강사님을 잘 만나야 하는데 이름이 잘 기억이 안난다. 하여튼 물어보면 잘가르치는 강사가 누군지 알수 있다. 희경이가 성적 얘기 했는데, 이 과목은 발표를 좀 해주면 잘 받는다. 외우는 것도 그렇게 많지 않아서 시험 성적도 거의 비슷 비슷하니깐 발표좀 하고 과제좀 신경쓰면 괜찮게 나온다.(나도 발표 두번 했는데 괜찮게 나왔다) 내가 수영과 더불어서 유일하게 졸지 않았던 교양 수업이었다. 그리고 교양을 들을때 자기가 흥미 있고 좋아하는 수업 들으면 성적은 괜찮게 나오는거 같다. 그러니깐 너무 신경 안써도 괜찮을듯... - [상협]
          * 희경이의 의견에 전적으로 동의다. 나 같은 경우는 출석 번도 안 빠졌고 시험은 보통, 리포트 점수는 별로(열심히 썼다고 생각하는데 분량에 있어 착오가 있었다)였는데 C+를 받았다. 들어두면 좋은 내용이긴 하나 그렇다고 추천할 정도는 아니다. 수업도 많고 강사도 많아 어떤 것을 듣느냐에 따라 차이가 많은 것 같다. --[곽세환]
  • 고한종/십자가돌리기 . . . . 7 matches
         [고종]
         0. 이전에 거 다 필요없고 완성본.
         int scale;// 전역 변수를 써야 다니 ㅜㅠ
          * 처음으로 흥미롭게 하는 프로젝트 (.. 라기엔 좀 초라듯) 인것 같다.
          * 목표는 스케일을 입력받고 항상 원하는 모양으로 출력되게 하는것이다. (입력 도는 int 계까지)
          * 이건 벌써 실현 불가능이라고 판명. 화면이 버티질 못다 ㄷㄷ;;
  • 권영기/채팅프로그램 . . . . 7 matches
         그리고나서 server는 채팅 종료직전에 받았던 메세지를 무히 출력합니다.
         그리고나서 client는 채팅 종료직전에 받았던 메세지를 무히 출력합니다.
         무 루프에 관 문제는 해결되었습니다. - 2012. 4. 3
         프로그램을 작성하면서 들었던 의문점은 Pthread_join에 관 것입니다. 서버쪽에서 쓰레드를 쓰면서 Join을 어디다가 놔야할지를 모르겠어서 번 빼놓고 해보니까 프로그램이 잘 작동이 되었습니다.(우연의 산물 ㅠㅠ)
          * 서버의 경우 listen을 하기위하여 while문으로 무 루프를 돌고 있으므로 조인이 없어도 스레드가 중간에 죽지않습니다. 그리고 main이 return을 하여 프로세스가 종료될 경우 지식스레드도 모두 종료되므로 main 함수 실행 도중에 종료해야하는 경우 이외에는 따로 처리를 하지 않아도됩니다. - [김희성]
  • 기본데이터베이스/조현태 . . . . 7 matches
          오오.. 귀차니즘이 글에달 소스여요.ㅎ
          그많은 자료구조중에서 왜 배열이냐고오..ㅠ.ㅜ 막강 메모리 낭비와 오버플로우의 계를 느끼고 싶은 것인가아..;;ㅁ;;
          또 소스에서 보시다시피.. 영어실력의 계가 마구마구 느껴지며~
          에러코드는.. 단순 장식.. ㅋ (뭐든지 뽀대가 나고 봐야함.ㅎ)
          // 실행해서 ?를 입력하면 입력 가능 명령어를 볼 수 있습니다.
  • . . . . 7 matches
         메일 : lucifer286@멜닷넷
         - 목숨을 걸만 것을 찾고싶다.
         꿈이란게.....역시...무지..신기게..많다...
         나에게 너무나 소중 무언가를 얻기엔..아직 내가 너무 부족것이 많은거 같아...
         그녀석이 믿어보란다...없는 기다림속에..끝있다고...
         일러수밖에없는...비겁..겁쟁이인가봐..
  • 덜덜덜 . . . . 7 matches
         예시는 제 페이지에 있습니다. 물론 제가게 답은 아니지요 할수있는방법은 다양하니까요 ^^ 아까 희경이형말처럼
         for문 하나로도 짤수있다고 하니까요 다양 답이 나오길 기대해볼게요 ^^
         공부중에 막히시거나 질문하실것은 저테 문자나(^^;) 엠에센 으로 질문해주세요
         ||[유선]||hallyu골뱅이hotmail.com|| :) || :) || :( || :) ? :( ? ||
         - 출석부는 선생님전용입니다 ㅋㅋ 엠에스엔 주소빼고는 건들지 마욧!!! 교수님 출석부번 건드려봐요 어떻게대나 ㅋ
         얼라리;;유선 엠에센아디 제껀데요?-_-;;;;[정서]
         나 아님 ㅋㅋ[유선]
  • 데블스캠프2004 . . . . 7 matches
         '''데블스캠프 강사들은 반드시 자신의 강의에 대 후기/피드백를 써주세요. SeeAlso [데블스캠프2004/월요일후기]
          * 벌써 2004년도 DevilsCamp 를 시작할 때가 되었군요..^^; 하하.. 미안 느낌만 드는건 왜일까요;; 뭐.. 그건 그렇다 치고 허접하지만 의견하나 내도 될련지... DevilsCamp는 참여하는 그 당시도 중요하지만 끝나고 나중에 "아. 그 때는 이렇게 했었지."라는 생각을 하면서 전의 내용을 확인하는 것도 중요하다고 생각합니다. 그렇기 위해서 필요게 다시 번 돌아보는 일입니다. 그 주제가 끝났다고 그냥 지나가는 것이 아니라는 거죠. 뭔가 부족 것은 다시 번 확인해서 고쳐도 보고 다르게도 만들어보고 또 다른 사람들과 비교도 하는 과정이 그대로 위키에 체계적으로 정리가 될 때 나중에 더 큰 재산이 된다는 것입니다.^^; 이상 허접 의견이었습니다. 많은 테클 부탁드립니다.(답변은 못올림;;) -[상욱]
  • 데블스캠프2005/금요일후기 . . . . 7 matches
         == 참여 사람 ==
         황재선 이승 남상협
         김민경 : 마지막날, 처음 테트리스 만들기, 그리고... 신기 채팅창만들기! ... 테트리스는 뭘해야할지 너무 막막했어요~ 채팅창만드는것도 마찬가지? 였지만 흥미로운 내용+ㅁ+ 내일 LT가 매우 걱정되요.ㅠ 이뿌듯함
         [이동현] : 게임을 이용하여 프로그래밍에 재미를 가지게 점이 좋았다.
          의외로 원카드 만들기에 반응이 좋았다. 아마 생활속에서 쉽게 접할 수 있는 단순 룰이어서가 아닐까?
          좀더 많은 준비에 대 노력이 필요할 듯 하다.
          또 원카드 만들기에서 약간이나마 헤더파일을 많들어 주는 방법이 있었는데, 앞으로는 기본은 어느정도 헤더파일을 많들어 주는것이 좋을 듯 하다.
  • 데블스캠프2009/월요일 . . . . 7 matches
         || 이승 || HTML, CSS || || ||
         || 송지원 || Scratch (스크래치) || 초등학생도 할 수 있는 프로그래밍을 통해, [[br]]프로그래밍에 대 친근감과 흥미 유발 || ||
         || 04 || 이승 ||
         ||pm 01:00~01:50 ||이전의 웹과 현재의 웹 || 이승 ||
         ||pm 02:00~03:00 ||CSS text. || 이승 ||
         ||pm 03:00~04:00 ||CSS box model. || 이승 ||
         ||pm 04:00~04:50 ||Scratch(1) - 간단 설명 등 || 송지원 ||
  • 도덕경 . . . . 7 matches
         도덕경에서의 마디
         "... 성스러운 사람은 함이 없음의 일에 처하고 말이 없음의 가르침을 행다.
         ... 공이 다 이루어지고 일이 다 되어도 백 가지 성의 사람들이 결같이 일컬어 나 스스로 그러할 뿐이라고 하는도다!
         ... 사람을 잘 쓰는 자는 자기를 낮춘다. 이것을 일컬어 싸우지 않음의 덕이라 다. 이것을 일컬어 사람을 쓰는 힘이라고 다.
         하늘의 길은 잘 이롭게 하면서도 해치지 아니하고, 성스러운 사람의 길은 잘하면서도 다투지 아니다."
         도덕경의 기억남는 마디
  • 레밍즈프로젝트/이승한 . . . . 7 matches
         animation, doubuff class 통합 과정중 상호 참조로 인 에러 수정.
         작업2 : 리팩토링, 레밍 에니메이션 테스트. 맵 제작에 필요 맵 로더 제작
         프로그램 구조상 오류발견. 500*500정도의 맵에서 단순 더블 버퍼링의 경우 초당 300만번 정도의 SetPixel이 호출됨-_-ㅋ
         메모리 관련 버그가 아니라. 메모리 확보와 해제를 위 CPU 타임이었음. 보통의 맵이 1000*150 정도의 크기를 가질 텐데 그것을 죄다 인터페이스화 된 클래스로 생성을 중간에 메모리 소모가 심했다. CDwordArray, CByteArray두개로 필요 데이터를 나누고 좀더 최적화 시켜서 해결을 해 보았다. 메모리 확보와 해제에 필요 시간은 거의 잡았지만 실제로 출력 할 때 어떤 어려움이 나타 날지는 모르겠다.
         리팩토링을 할 때에는 번에 개씩만 수정하라. 라는 리팩토링의 기본을 지키지 못해서 하루를 허비하다.
  • 말없이고치기 . . . . 7 matches
         [위키위키]에선 누군가가 별 말을 남기지 않고 뭔가를 수정하거나 삭제를 경우를 볼 수 있다. 이런 경우 그 사람이 경솔하다고 생각할 수도 있겠지만, 오히려 의도적인 경우가 있다.
         또, 맞춤법을 바로 잡아주는 것과 같이 명백 것이라면 ["말없이고치기"]를 하는 것이 훨씬 좋다. 그렇지 않으면 그걸 바로잡기 위해 서로 말을 주고 받는 사이에 부대비용이 더 커질 수 있다.
         누군가가 별 말 없이 삭제나 수정을 것을 봤다면 흥분하지 말고, 차분히 왜그랬을까를 생각해 본다(NoSmok:ToDoIsToSpeak). 고친 사람도 최소 나만큼 이성적인 인간일 것이라는 가정하에. (NoSmok:TheyAreAsSmartAsYouAre)
         이 방법은 특히 WikiMaster들이 많이 행다. OriginalWiki의 WardCunningham 경우는 "이건 이래야 다"는 식의 말을 특정인에게 직접 하는 일은 별로 없고, 대신 그 규칙을 어긴 글이 있을 때마다 일일이 찾아가서 단순히 그 오류만 고쳐준다 -- 말하지 않고 스스로 행함으로써 "보여주는 것"이다(NoSmok:LeadershipByShowing). 그러면 당사자는 이를 알아채지 못하고 처음 몇 번은 계속 실수를 할 수 있지만 어느 순간에 스스로 깨닫고 학습( NoSmok:동의에의교육 )하게 된다.
  • 복날 . . . . 7 matches
         복학 ZeroPagers와 만나는 자리
          1. 달에 두번 격주로 시행함을 원칙으로 다.
          1. 목요일 7시에 시작다.
          1. 사전 연락 없거나(게시판 or 위키 공지), 현재 납득할 사정(학부생 아닌 경우,휴학)이 없이 2회 연속 정모에 불참시.본인 의사로 회원 자격을 상실다.
          고칠 부분을 알려주세요. 강의실 빌렸습니다. 고칠 점에 대 의견이 없으면 오늘(월)에 올리도록 하겠습니다.--[Leonardong]
          || 누가 || 누구에게 || 연락 결과 ||
  • 블로그2007 . . . . 7 matches
          * 웹에 대 기초 소양을 기른다.
          * 게시판 및 블로그등을 공부다.
          * MYSQL 과 apache에 대 공부를 다.
          * 블로그, 위키, 게시판 세가지의 장점을 모으고[[BR]]단점을 보완 새로운 개념의 사이트를 생각해본다.
          *건영형또 저녁만 가능 건가.ㅠㅠ -[송수생]
         PHP 인터프리터는 APM을 같이 생각해 설치해야 합니다. 국내에 유명 APM패키지로는 [http://apmsetup.com/ APM Setup]이 많이 쓰입니다. 그러나 작년 말에 예정된 업그레이드 버전 이후 소식이 없습니다. (내부 사정이 있는 것 같아요.) 더 추천할 곳은 [http://www.apachefriends.org Apach Friends]라는 멋진 곳에 있는 XAMPP를 사용하세요. 천천히 RTFM해보면, 됩니다.
  • 빵페이지 . . . . 7 matches
          * 팀이름 정하던중 누군가가 지나가면서 던진 마디에...
          * 매주 월요일마다 모이는건가요? 이런... 곤란디 ㅠ_ㅠ;; - [Westside]
          오옷. 학평이다 -_- 곤란게 어딨어!ㅎㅎ - 주영
          어느날부터인가.. C++ 글이 깨져서 나와요 ㅜㅜ
          실행하면 글로 나오기는 다 나오는데.. 창에 쓰는것은 자인지 일어인지 그런 모양으로 깨져서 나와서..
          * 감사합니다.. 영어를 모르니 어디를 건드려야 할지 몰라서 헤맸는데 이제 글이 다시 보이네요 ㅠ_- -정욱
  • 삼총사CppStudy/Inheritance . . . . 7 matches
         class CMarine // 마린을 정의 클래스
         class CFirebat // 파이어뱃을 정의 클래스
          다음날 문제점이 발견되었다. 마린과 파이어뱃으로 부대를 구성하여 배열에 저장하려고 하였는데 두개의 클래스가 틀리기 때문에 개의 배열로는 포함할 수가 없었다.
         CMarine Force[12]; // 이렇게 하면 부대안에는 마린밖에 넣지 못다.
         CFirebat Force[12]; // 이렇게 하면 부대안에는 파이어뱃밖에 넣지 못다.
         protected: // protected를 사용 이유는 상속받은 클래스에서도 이 멤버들을 사용할 수 있게 하기 위함이다.
          이렇게 후 부대를 만들어보자
  • 상협/Diary/8월 . . . . 7 matches
          * Refactoring책 대충 번 흝어 보기 Failure (집에 내려가서 해야징.. -_-;;)
         || ["3DAlca"] || API -> MFC 컨버전 || 50%? || 쩝.. 네트워크를 위해서.. -_- ||
          * 오늘 갑자기 아주 조금씩의 미학이 떠올랐다. 하루에 어떤것을 아주 조금씩 하는것은 그것을 아예 안하는것보다 낮다고나 할까.. 뭐 당연 말인데 갑자기 퍼뜩 몸으로 느꼈다. 그런 의미해서 사놓은 책이랑 제본해놓은 책을 앞으로 하루에 조금씩 봐야 겠다.
          * 그담에 거 거의 없당
          * 지금 제일 급거는 3D 스터디 과제를 하는것.. -_-;;
         ||["비행기게임"] || 거의 끝내기 || 70~80%정도 || 아자 화이링~ ||
          * 게 거의 없다.
  • 상협/너만의명작을그려라 . . . . 7 matches
          * 우연히 신문을 보다가 책 소개하는 부분을 봤다. 그거 보고나서 끌려서 도서관에서 빌렸다. 역시 신문은 꼭 봐야 다니깐.. 이런정보도 있고..
         = 책에 대 간략 소개 =
         * 이책의 목적은 인간이 삶을 훌륭하게 살아가려면 어떻게 해야 하는지에 대해서 지금까지 살와왔던 사람들중에서 훌륭 삶을 살았다고 평가되는 사람들을 예로 들면서 그 방법을 제시해주고 있다. 이책은 이 저자혼자서 내용을 생각해서 쓴 책이라기보다 인류에게 훌륭 인물로 평가받은 사람들이 말들과, 그 행적등을 밑 바탕으로 해서 쓰여진 책이다.
  • 새싹C스터디2005/pointer . . . . 7 matches
         보다 명확 포인터 설명을 위 예제와 자료들
         두 수의 값을 변경다.
         &(변수) -> 항상 변수1의 주소를 뜻다.
         (변수) -> 항상 변수의 값을 뜻다.
         **pc에서 중요 것은 **pc자체의 주소인 &pc와 **pc의 값인 pc 뿐이다. 별표는 그 변수가 표시하고 있는 메모리 주소(여기에선 값)로 이동해서 그 값을 출력하는 것이라고 생각하면 편하다.
         음... swap 함수에서 값이 정수(배열, 포인터 주소를 제외 모든 값.)일 경우 xor 치환으로 간단하게 변경 가능합니다.
  • 새싹교실/2012/아우토반/뒷반/3.23 . . . . 7 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 새싹교실 아침반을 진행하였다. 뒷반 첫날부터 지각을 해버렸다ㅜㅜ. 오늘은 날씨도 추적추적하고 졸립고 해서 상당히 루즈해져 있었던 것 같다. 그래도 태헌이랑 상희가 잘 따라와줘서 되게 고맙다. 요즘 자기 관리가 잘 안 되고 있음을 새삼 깨달았다. 앞으로는 학생들과 모닝 커피라도 잔 하면서 시작해야겠다ㅎㅎ. 분위기 있는 아침 강의로 너희들을 사로잡아주겠서 뒷반도 싸릉해♥ - [장용운]
          * 강사가 정통부 부장이랑 같은 분이셨다.같이배우게 될 남학우도 정통부였다.오늘은 정통부 오리엔테이션을 빠지고 여학우 모임에 가지만 다음 모임엔 참석할 수 있었으면다.다음부터는 수업이다.따라갈 자신은 없지만 못알아듣는다고 화내지 말았으면 좋겠다고 생각.자꾸 정통부이야기를 것은 새싹교실에대해 경험 일이 없어서다. 그리고 강사가 아는 선배분이란 것과 수금덕분에 지각횟수가 줄어들것이라느 점이 좋았고 강사테도 수금을 하니 프로그램의 진지함도 보여 좋았다.앞으로 신세좀 지겠습니다~ ●u● - [박상희]
  • 서지혜/2011 . . . . 7 matches
          * 올해의 계획은 '''우물 파기'''입니다.
          * 나와 같은 생각을 하는 사람들을 만났고, 이미 생각했던 사람들을 만났고, 전혀 다른 생각을 가진 사람들도 만났습니다. 그리고 이야기를 했습니다. 너무나 소중 시간이었습니다. 사람들에게 전파하겠습니다. see also [PNA2011]
          * IFA 공유회 다녀옴(IAF에 대 공유였음)
          * 엑스퍼 정모에 조나와 레베카가 왔었다. 시간과 언어의 장벽으로 인해 겉핥기만 했다..
          * 요구사항 모두 구현거 아니지만 데모했으니 더 손 안대겠지..
          * Joseph Yoder의 방기념 번개에 다녀옴
          * see also [JosephYoder방번개모임]
  • 서지혜/단어장 . . . . 7 matches
          * 영어 공부하면서 정리 단어 공유
          방대 : He spends a lot of his own time checking up on his patients, taking extensive notes on what he's thinking at the time of diagnosis, and checking back to see how accurate he is.
          괄목할 만 :
          본전은 뽑을 만 가치 :
          bang : 쾅, 성공적인 것, 즐길만 것(excitement),
          마디로
          포위 당 : The police placed the city centre under a virtual state of siege.
  • 송지원 . . . . 7 matches
          * 어감이 좋아서 닉네임으로 정것 뿐 성경 속 인물에 대 개인적인 애착은 없다.
          * 2009년 : 3학년 다니면서 AIBI 연구실 학부연구생. 거라고는 제안서와 랩미팅 참여 뿐인가..OTL
          zeropage 신서버 설치, 세팅과 더불어 시작 스터디. 08홍기,윤석,혁수와 승오빠 이렇게 총 5명이 진행.
          php, mysql로 주소록 관리하고자 진행. 승오빠와 진행함. 로그인을 제외하고 완성.
          정현오빠, 대원오빠, 규현오빠, 지훈이 이렇게 넷이서 10월에 있을 공모전을 목표로 진행 프로젝트.
  • . . . . 7 matches
          ||이름||MSN||마디씩||
         두번째모임(2005.4.11) - CampusC를 교재로 5명의 학생들이 단원씩 강의를 할 예정. ㅡ _-;;;
         기본 함수들을 설명하기 위 예제니까요. :)
         읽어와 주세요~ ZP에서 상의대로, 누군가를 지목해서 해당되는 내용을 설명하게 하는 방식입니다~
         영어성적://5번 반복다.
         // 번쯤 생각해보세요 :)
         scanf(" %c", &a); // 문자 하나를 입력 받을 때에는 꼭 " %c" 처럼 칸을 띄우셔야 됩니다. :)
  • 아주오래된농담 . . . . 7 matches
         홀어머니 밑에서 두 아들과 늦둥이 막내 여동생이 자란다. 큰아들은 법대, 작은 아들은 의대에 다니며 밝은 미래가 보이는 듯 싶다. 하지만 큰아들은 미국가고, 작은 아들은 국에 남아 가족을 챙긴다. 이제는 흔 이야기인 고부갈등, 불륜, 재산문제, 말기암 따위 이야기가 쉴틈 없이 이어진다.
         행복 결말은 애초에 바라지도 않았다. 읽는 동안 나에게 질문을 던졌다. 말기암 환자에게 병명을 말해주어야 할까? 모든 여자를 성녀와 나쁜 년으로 구분할 수 있을까? 남자는 가정이 있어도 다른 여자에 대 유혹을 뿌리칠 수 없을까? 악조건이 사람을 악다구니로 만들까?
         마음이 불편하다. 사람이 사람을 속이기가 얼마나 쉬운지 생각해본다. 자기테 이익이 되니까, 재미로 남을 골탕먹이려고 속이기는 물론이고 자기 딴에는 배려다고, 사랑하기 때문에 속인다. 남을 속이고, 나까지 속인다. 위선자가 되기 싫으면 최소 나는 속이지 말아야지.
  • 아직도가야할길 . . . . 7 matches
          * 어떠경우든 문제를 정면으로 다루어야다. 그래야 정신적 성장을 다. 즐거운 일은 나중에 하자.
          * 우리가 우리의 행동에 대 책임을 지는 것이 어려운 이유는 그 행동의 결과로 받는 고통을 피하고 싶어하기 때문이다. 고통이 우리를 정신적으로 성장하게 다.
          * 인생에 있어서 유일하게 진정 안정이라고 할 수 있는것은 생의 불안정을 맛보는 데에서 발견되는 것이다.
          * 성숙해진 사람은 자신의 게으름을 잘아는 사람, 정신 질환은 오히려 은총, 그에 따른 책임을 전적으로 질뿐만 아니라 그것을 극복하기 위 변화를 스스로 일으키는 사람은 치유된다.
  • 이승한/mysql . . . . 7 matches
         = 이승/mysql =
         PHP공부를 위 mysql 구분 공부.
         ASP.net에서는 개의 파일일이 오직 개의 <form>만 가질수 있지만 PHP와 HTML은 그렇지 않은듯 하다.
          DB파일에 접속 및 예외 처리 예제. // [xpweek]때 했던 java의 객체지향적인 방식과 유사것 같다.
         [이승] [이승/PHP]
  • 이승한/질문 . . . . 7 matches
         = 승이 질문 페이지 =
         메인에서 들어간 sizeof(scores)는 배열 전체 크기를 리턴하는 반면에 함수에 들어간 sizeof(scores)는 int* 형의 크기를 리턴다.
         아마 승이가 원하는 답은 아니겠지만 번 적어본다. 지금 함수에 전달하는 것은 인트형의 포인터이기 때문에 함수는 지금 받은 것이 숫자인지 배열인지 알 수 가 없지. 게다가 주소를 참조하게 되서 함수 안에서 그 값을 변경해주면 원본 값도 변하게 되고. 그래서 나는 함수 안에 멤버 변수를 만들어서 전달 값을 복사해서 쓰거든. 보통 전달인수를 받을 때 컴파일러에서 그 원본 값을 쓰지 않고 복사값을 사용하는 건 알지? 그 작업을 프로그래머가 해주는 것이지. 밑은 여태 말대로 구현하고 간단하게 테스트 소스야.
         [이승]
  • 이영호/시스템프로그래밍과어셈블리어 . . . . 7 matches
         몇몇 게임(카트라이더, 워록, 대항해시대 등등)의 프로그래머들이 Application 층만을 다룰줄 아는 무식 프로그래머라는 것을 알았다. (특히, 워록의 프로그래머는 프로그래머라기 보다 코더에 가깝고 배운 것만 쓸 줄 아는 무식 바보이다. 그 프로그래머는 개발자로서의 수명이 매우 짧을 것이다. 3년도 못가 짤리거나 혹은 워록이라는 게임이 사라질걸?) - (이 게임들은 코드를 숨기지 못하게 하는 방법도 모르는 모양이다. 이런식으로 게임들을 건들여 패치를 만들 수 있다. KartRider는 요즘에와서 debug를 불가능하게 해두고 실행 파일을 packing 모양이다. 뭐 그래도 많은 코드들을 따라가지 않고 ntdll.ZwTerminateProcess에 BreakPoint를 걸어 앞 함수를 건들이면 그만이지만.)
         System Programming을 통해 Application층 프로그래밍의 본질을 깨닫기 시작했으며, 가장 중요 것이 Assembly란 것을 다시 번 깨달았다.
         프로그래머라면 Code의 본질을 알아야다. 그것을 이루는 것이 Assembly이다. 이것을 수행하지 않은 프로그래머는 프로그래머가 아니라 Coder이다. Assembly로 특정 함수를 따라다니며 실제로 익히는 방법은 MSDN에서 나와있는 것을 그대로 베끼는 것보다 현명할지 모른다. 프로그래밍은 배우는것이 아니라 직접 Code를 짜보는 것이다. MSDN을 보는 것과 debug로 따라 가보는 것은 그 차이가 크다.
         프로그래밍을 처음 접하는 사람으로서는 Assembly어는 무리가 있을지도 모르나, 약간의 지식을 갖춘 사람은 Assembly어를 꼭 배워야다. Assembly어는 결코 사라질 수 없는 언어이다. 이것은 매우 중요하며, 이 때문에 대학에서도 정규 과정속에 포함되어 사라지지 않는 것이다.
  • 전철에서책읽기 . . . . 7 matches
         서서 책을 오래 보다 보니 나중엔 등이 아픈것 같다. 자세를 똑바로 하고 봐야 다. --[인수]
         하루에 편도 시간반정도 지하철을 타는데. 부족 잠과 너무 푹신 쿠션으로 인해 앉으면 바로잔다. -- [이승]
         작년 1월에 지하철을 타며 책읽기를 했는데 번쯤 이런 것도 좋을 듯. 나름대로 재미있는 경험. :) Moa:ChangeSituationReading0116 --재동
          ' 번쯤'의 압박 ㅋㅋ --[iruril]
  • 정규표현식/소프트웨어 . . . . 7 matches
          * 정규표현식을 지원하는 소프트웨어와 간단 사용법을 정리 다.
          * 에디트 플러스도 정규식을 지원다.
          * grep, find 에서 regex를 지원다.
          * re-builder 모드를 불러서 복잡 정규표현식을 차근히 만들어 내서 실행할 수 도 있다.
          * '/' 를 누르면 정규표현식 모드가 된다고 다.
          * 뭐야 -_- 이맥스 보다 구리잖아. - [이승]
  • 정규표현식/스터디/문자하나찾기/예제 . . . . 7 matches
         == 문제 - 이승 ==
         2. 1410번 대의 값만 표시다.
         3. 1300 번대의 값만 표시다.
         2. 140[0-9] : 140이 앞에 붙어있고 뒤에 마지막 글자는 0에서 9밖에 못나온다
         === 풀이 - 이승 ===
         === 풀이 - 이승 ===
         === 풀이 - 이승 ===
  • 정모/2002.5.2 . . . . 7 matches
          * 이선호 : 죄송해요 정말 눈물나게 급 숙제가 있어서 (지금도 하는중..) 죄송합니다 ㅠ.ㅠ
          * 칼럼 게시판에 위키 칼럼 분류분류를 링크다.
         처음에 컬럼 게시판을 개설 목적은, 여러 사람들이 다시 볼 수 있었으면 하는 글이
         이에, 옮길만 글은 옮기고 컬럼 게시판을 삭제했으면 합니다. --이선우
          * 학기중 모드로 바꾼다. 이는 ZP 회원이면 누구든지 편리대로 수정하도록 다.
          * 5월 9일 목요일 5시에 모집다.
  • 정모/2003.4.9 . . . . 7 matches
          * 03 대상 세미나는 위키 설명을 재니, 성안당 C++책의 1,2,3장을 영동, 4장을 상욱이 하기로 하였습니다. 1,2,3장을 하는 영동은 C와 C++의 차이에 대해서 간략 설명도 끼워넣을 예정입니다.
          * ["지금그때"]의 자료정리는 그때 참가했던 영동이 하기로 하였습니다. 필요 것은 상민이 형께 위키에 있는 것 외에 오프라인 자료가 있나 없나를 듣는 것입니다. 시간 나는대로 빨리 정리하겠습니다.
          * EtudeProgramming 을 위해 Pair 분 정도 필요데, 같이 하실분? --NeoCoin
          * 달에 2회 독서 모임을 가지려고 합니다. 명이상 같이 하실분? --NeoCoin
         NeoCoin의 궁금
  • 정모/2004.04.27 . . . . 7 matches
         방식 : 저번 정모에 이어서 [여섯색깔모자] 방식을 번 더 적용해보았습니다. 정모 날짜 전에 미리 회의 안건을 받았습니다.
          * 행사 목적 : 제로페이지에서 활동하고자 하는 사람이 페이지를 만들어 새회원이 되도록 다. 이후로 새회원과 함께 할 수 있는 프로젝트, 스터디, 세미나를 계속다.
          * 서버 조교의 요구 : 2주일에 번 청소, 컴퓨터 점검과 수리, 하드웨어 고장 보고
          * 단체로 관리&청소를 하기로 정함 ->두 달 동안 일주일에 번 돌아가며 관리를 했으니 효과적이지 못 했기 때문.
          * 아직 안 사람 빨리 하기
          * 그날은 단순히 위키설명회와 멤버 영입인가요. 그 이후 무얼할 것인지 뚜렷 계획을 세우지 않은 것 같습니다. -- [황재선]
  • 정모/2004.12.20 . . . . 7 matches
         처음 회의 진행이라 미숙 부분도 많았고, 생각하지 못 부분도 참 많았습니다.
         더 나아지도록 앞으로 많이 노력하겠습니다!! 앞으로도 부족 부분 고쳐야할부분 언제든 말씀해 주십시요!! 꼭 이요!!
         회의에서는 겨울방학에 진행할 프로젝트에대 대략적인 이야기를 많이 했고 후에 제로페이지 서버에 대이야기도 있었습니다.
         제로페이지 서버는 연구실이나 서버실로 옮기기로 했으며, 나휘동, 곽세환, 이승이 관심있으신 교수님께 연락하기로 하였습니다. >__<ㅋ
         - [이승]
  • 정모/2005.4.25 . . . . 7 matches
          참가자 : [이승], [김민경], [하유선]
          └ 시나리오 작성부터 코딩까지 파트별로 따로 나뉘어져서 심사다고 함.
          * 2~3명씩 조를 짜서 [ACM]문제, 간단 게임제작을 해보는 것이 가능 자리 만듬.
          * [[HTML(<span style="font-size:9pt; letter-spacing:-1px;"><font face="Verdana" color=ff4500><b>)]]오는 사람테는 회비로 식사제공 (예상메뉴 : 피자)[[HTML(</b></font></span>)]]
         큭;; 피자가 중요겨?? - [이승]
  • 정모/2005.6.27 . . . . 7 matches
         참가자 : 임인택, 이승, 문보창, 황재선, 이규완, 김민경, 윤성복, 김영록, 하욱주, 김정현
         방학때 : 2주에 번씩, 프로젝트 단위로 미팅
          [이승] : 새내기 대상으로 [java]를 진행해 보고 싶다. 개인적으로 [MFC]도 같이 해보고 싶은...
          새내기들 테 해주고 싶은 프로젝트가 있다면 여름방학프로젝트 페이지에 제안해 주세요.
          * 이번에는 회의 질질 끄는 일이 없었으면 좋을듯. 내가 보기엔 이 안건이면 아무리 오래 걸려도 30분을 넘지 않을것 같음. 일단 정모를 4시에 정해둔걸 보면 회의를 시간 잡아둔듯데... - 임인택
          * 그래서 무슨 프로젝트를 하기로 건데? --재동
  • 정모/2011.9.27 . . . . 7 matches
          * 참가자 : [김수경], [서지혜], [임상현], [송지원], [김준석], [김태진], [고종], [이민규], [송치완], [장용운], [추성준], [정진경]
          * Git, Grails, Cappuccino, Apache Thrift에 관 설명.
          * Hadoop에 대 소개
          * 9월이 끝났어요 ㅜ_ㅠ 벌써 달 회고를 하다니.. 이번학기들어 시간이 너무너무 빨리 지나가는 것 같은데 저만 그런건가요ㅠㅠ 개강지 얼마 안된 것 같은데 달이 지났대.. - [서지혜]
          * 공감 세미나를 다녀와서 공유할것이 많은 정모였습니다. 달의 막바지에는 꼭 스터디 욕심이 많아지니 책을 달고 누가좀 읽어주었으면 하기도 하네요. 책을 많이 읽어야겠습니다. - [김준석]
  • 정모/2012.1.6 . . . . 7 matches
          * 참가자 : [변형진], [김수경], [서지혜], [강성현], [고종], [김태진], [김홍기], [이민규]
          * OOP & DP - 김수경, 고종, 김태진, 이민규
          * 코드 몇줄 가지고 방명록이 만들어지고 그게 DB랑 연동 되는걸 보니 참 신기 했습니다. 그리고 김태진 학우 혼자 회장 후보여서 저도 얼결에 추천받았는데.. 공약을 써야 다니 ! -[고종]
          * 차기 회장 추천/신청이 정모 이전까지는 저테 밖에 없었다는게 (추천 2명 + 자진 1명)좀 충격(?)이었습니다. 형진이형이 해준 Play framework는 음.. 뭔가 쉬운거같기도하고 어려운거같기도했네요. 하지만 빠르게 제가 만들었던걸 바로 만들 수 있었다니 그 이유가 형이 아는걸 말해줬기 때문에 모르는걸 제가 삽질거랑 시간차가 많이 나서인지, 프레임워크때문인지는 생각을 번해봐야겠네요.(는 코드 길이 차이가 많이나는군.) - [김태진]
  • 정모/2013.3.4 . . . . 7 matches
          * 참여자 : [김민재], [송정규], [고종], [김태진], [김윤환], [서민관], [강성현], [김해천], [정종록], [장혁수], [구남영], [이병윤], [권순의]
          * [고종] 학우의 밀리언아서를 가장 직접만든 확밀아 안드로이드 앱 소개 + 설명.
          * 다음 주 정모는 신학기 개강으로 인 변수가 많은 관계로 후에 휴대폰과 같은 매체로 공지하겠습니다.
          * 활발 학과 활동을 위해 쉬는 것으로 확정되었습니다.
          * 3월 7일까지 강사신청을 받되 외부인 강사는 강사가 부족하면 더 받는 식으로 다.
          * 링크좀 걸어줘라.. 여기 찾아오는데 검색을 써야 하잖아; - [고종](13/03/16)
  • 정모/2013.5.13 . . . . 7 matches
         [조영준],[김민재],[김해천],[김도형],[최은정],[송정규],[서민관],[김남규],[임지훈],[박희정],[김현빈],[정종록],[고종],[안혁준],[이봉규],[박경준],[구남영],[안정원],[]
          * 일단 완료 되었고, 기자재 지원은 항시 접수하고 있으니 필요거 있으면 부담없이 말하세요 :)
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * TIP : Internet Explorer를 제외 브라우저(FireFox라던가 Chrome이라던가)로 들어오면 각 항목 우측에 "편집"이라고 떠요. 좀 더 편하게 수정 할 수 있죠.
          * 정모 후기는 잘 안쓰지들.. - [고종]
          * OMS 비록 졸긴 했지만 유용 게 많았던 것 같아요ㅎㅎ 개인적으론 유익해서 좋았어요. - [김남규]
  • 주민등록번호확인하기 . . . . 7 matches
          *문제 : 주민등록번호 13자리를 입력받아 실제 존재하는 주민등록번호인지 분석 후 결과를 출력다.
          *주민등록번호 13자리를 입력다.
          *실제로 존재하는 주민등록번호라면 '대민국 국민이네요~ ^^ 안녕하세요!' 를 출력하고,
          존재하지 않는 주민등록번호라면 '혹시 간첩???? -_-;; ' 을 출력다.
          주민등록 번호 자리 총 13자리중 제일 뒷자리가 오류검증키 라고 다고함.
          그 곱수의 총합에서 11로 나누고 몫을 버리고 11에서 나머지를 뺀다고함.(11-(곱들의 총합)%11)
  • 지금그때2003/규칙 . . . . 7 matches
          * 게임규칙을 적은 종이를 항상 왼손에 들고 이야기 다.
          * 질문외에 모든 이야기는 다음과 같이 시작다.
          * 제가 + 경험 ex ) 제가 경험것은 , 제가 겪은것은,
          * Test 중 2번의 룰을 좀더 완화 하였다. 경험을 붙이니 말에 너무 많은 제약사항이 붙었다. 그래서 우리는 가지 제약사항을 없애고, '''제가, 저는, 저도'''로 룰을 바꾸어 해보았는데, 자신을 낮추는 것만으로 원만 대화의 장이 될수 있었다.
          * 단, xx의 정의에 대 질문시에 시작하기가 난해 했는데(ex- 전산센터가 뭐에요?), 이는 조그마 트릭으로 충분히 극복할수 있었다.
  • 지금그때2004 . . . . 7 matches
         정말 죄송데요, 목요일부터 시작된 감기로 지금 4월 5일까지 목소리가 정상으로 돌아오고 있지 않네요. 지금은 목이 쉬었습니다. 어쩌면 좋을까요? --[Leonardong]
         해당 패널에게는 패널토의질문지를 보여주어야겠죠? 해당 질문에 대 답변을 어느정도 준비하게끔 하는것도 좋겠다는 생각이 듭니다.
         이번에 뭔가 새롭게 시도다면 이런건 어떨까요?
         졸업, 혹은 아직 졸업하지 않은 선배들 몇 명을 패널로 앞에 앉게 합니다. 그리고 사회자 명이 질문을 합니다. 토크쇼처럼 말이죠. 중간에 "방청객"의 질문을 받을 수도 있습니다. 패널은 각자 자신의 생각을 말합니다.
         Berkeley Visionaries Prognosticate About the Future http://netshow01.eecs.berkeley.edu/CS-day-004/Berkeley_Visionaries.wmv 이걸 보면 대충 감이 올겁니다. 이 동영상의 경우 뛰어난 패널진에 비해 진행자가 그리 좋은 질문을 하지 못해서 아쉽기는 합니다. 좋은 질문을 하려면 서점이나 도서관에서 [질문의 힘]이라는 책을 읽어보세요. 그리고 04학번 눈높이의 질문에 대 고학번들의 생각을 들어보는 것도 중요하지만 04학번이 전혀 생각 못하는 질문을 대신 물어주는 것도 중요합니다. 고객과 요구사항을 뽑는 것과 비슷할 수 있겠죠. "그들이 원하는 것"은 물론 "그들이 필요로 하는 것"(주로, 나중에 그들이 원할만 것)을 이야기해야 하니까요 -- 또 종종 그들은 자신이 뭘 원하는지 모르는 경우도 많습니다.
  • 지금그때2004/게시판홍보문안 . . . . 7 matches
         이 자리에 대 특징을 꼽으라면
         * 술자리가 아닌 곳에서 진지 이야기를 적어가면서 들을 수 있는 점
         * 참석 사람들의 폭발적인 반응 <a href = "http://zeropage.org/wiki/_c1_f6_b1_dd_b1_d7_b6_a72003_2f_c8_c4_b1_e2" target = blink> <font color = "blue" >☞ 지금그때2003후기 바로가기 ☜</font> </a>
         정확 인원 파악을 위해 신청을 미리 받습니다.
         금방 학교를 졸업하고 머지않아 직업을 가져야 다는 걸 깨달았으리라.
         눈 덮힌 들판을 갈 때는 모름지기 함부로 걷지 말아야 다.
         또는 해를 돌아보면서도 “내가 그때 이걸 알았더라면”하고 생각합니다.
  • 지금그때2005 . . . . 7 matches
         [Leonardong], [강희경], [이승], [조동영], [윤성만], [황재선], [하욱주]
         지금그때의 의미를 담은 자료집과 질문릴레이에서 좋은 내용을 받아 적을 수 있는 종이. 그리고 OST를 간단하게 받아 적을수 있는 종이를 나눠준다면 좋지 않을까요?? - 이승
          [지금그때2005/자료집]이라는 페이지를 만든다면 어떨까요?? - 이승
         위키설명회에 이어 총엠티 자봉단 회의와 시일이 겹칩니다. 미리 22일에 다고 했으니 자봉단이 그 날짜를 피해줬으면 좋겠다고 생각 건 제 욕심이었나 봅니다. 오고 싶지만 못오는 사람이 있을지도 모른다는 생각에 안타까움을 감출 수가 없습니다. --[강희경]
          오늘 오후에 그것 강력하게 요청해 보는건 어떨까요?? 자봉단 할일중 반이 마임인데. 자봉단장에게 미뤄진 수요일은 작정하고 마임을 배우게 하자고 말하는것도 좋을것 같아요. - 이승
         문과대의 강의실을 빌릴 생각은 하지 못했었네요. 제 친구를 통해서라면 문과대(서라벌홀)의 강의실도 빌릴수 있을것 같은데. - [이승]
  • 지금그때2006/홍보 . . . . 7 matches
         일부 제외하고 저학번이 주도하여 홍보다.
         문구를 정 후 각 학회홈페이지에 홍보 글을 올린다.
         기준없이 개인이 알아서 다.
         이메일 문구 목요일 각자 작성 문구중 가장 잘쓴 문구 택.
         교수님에게는 찾아 뵈서 홍보다.
         강규영씨는 우리과 출신 아니지 않나? 물론 초대하면 좋긴 데.. ㅎㅎ;; - 임인택
          선배님의 의미를 굳이 우리과로 제하지 않으려 했어요. 목록을 만들다 보니 거의 우리과 출신이긴 하네요. 인택이형도 아는 분들께 많이 알려주세요~ -- [나휘동]
  • 지식샘패턴 . . . . 7 matches
         어디에서 완전, 걸러지지 않은, 단순화되지 않은 형태로 지식을 취할 수 있을까?
         '''사람들은 너무나도 당연히 지식을 얻어야 다. 사람들은 지식을 어디에서 얻어야하는지 알고 있으며, 가장 위대 지식의 원천 중 하나는 아직 개척되지 않았다고 생각다.'''
         '''전문 분야나 관심 영역에서 위대 작품(여태껏 작성된 최고의 책, 기사, 연설문)을 찾아내라. 그리고 이 작품들을 성실하게 공부하기 시작하라.'''
         그러면 공부할 가치가 있는 위대 작품을 어떻게 찾을까? 사람들에게 물어라. 지식이 풍부 이들에게 어떤 작가를 좋아하는지, 좋아하는 책이 무엇인지, 무엇이 그들에게 깊은 영향을 주었는지 물어보라.
  • 캠이랑놀자 . . . . 7 matches
          * 최근에 나오는 다양하고 재미있는 기술들에 대 관찰 & 실제 구현
         || 1 || 05.9.15 || [캠이랑놀자/050915] || New Media Art 들에 대 데모 구경. 비전 기반으로 할 수 있는 것들 구경. 추후 시간 정하기. || (v) ||
         || 2 || 05.9.25 || [캠이랑놀자/050925] || DirectShow 개관. 뼈대 코드 구경. 간단 캠영상 플레이 프로그램 만들기 || . ||
         || 3 || 05.10.8 || . || 영상처리 간단 개요. 비트맵 처리 관련 작업하기. 간단 동영상 필터 구현하기 || . ||
         || 6 || 05.10.29 || 기존 것 회상 모드 & 프로젝트 궁리 || . ||
         || 8 || 05.12.28 || [캠이랑놀자/051228] || 배열로서 표현되는 이미지, 데이터 조작으로서 행해지는 이미지 프로세싱, PythonLanguage & PIL & GrayScale Image 에 대 필터 실습 || (v) ||
          * NewMediaArt 관련 여러 데모들. 해당 아이디어들을 구현하게 된 동기들과 기술적인 부분에 대 관찰.
  • 통찰력풀패턴 . . . . 7 matches
         일단 지식의 샘([지식샘패턴])을 발견했으면, 그로부터 들이킬 물이 어마어마할 수 있다. 이 패턴은 위대 작품을 보다 쉽고 바람직하게 공부하는 방법을 제시다.
         '''혼자 스스로 작품을 읽고 공부하는 건 아무 문제도 되지 않는다. 그러나 위대 작품은 잘 알아야할 가치가 있고, 개인 학습은 그룹으로 대화하며 학습 것에 비하면 초라하다.'''
         최고의 스터디 그룹은 개인이 다른 이들과 함께 배우는 것을 편안하게 느낀다([안전장소패턴]).
         대화 시 분위기는 중요 역할을 다. 어떤 환경은 대화를 촉진시키지만(CommonGroundPattern, PublicLivingRoomPattern), 그렇지 않은 환경도 있다.
  • 튜터링/2011/어셈블리언어 . . . . 7 matches
          * 중간고사를 위 여러분의 대비
          * 2주 하고도 반짜리 진도를 번에 나가버렸다.
          * 책의 코드를 그대로 베껴와 프로그램을 완성했지만 어떻게 동작하는지는 잘 모르는 사람이 많아 다시 짜보기로 다.
          * 관례적으로 "Hello World!"를 출력해 보기로 다.
          * 지난주에는 루프와 레지스터를 이용 재귀함수까지 해 보았다.
          * 이번에는 전역변수와 스택을 이용 재귀함수를 구현해 본다.
          ; n이 1인지 검사
  • 파스칼삼각형/sksmsvlxk . . . . 7 matches
          //계산을 편하게 하기 위 잔머리.
          //그러나 불필요 공간을 좀 많이 필요로 하는...
          //필요 만큼만 동적배열.
          * 일단 불필요 공간을 쓰지 않고 할 수 있도록 해야 다.
          * 내가 사용할 수 있는 함수가 존재하는 지 알아야 다.
         담에 번 세미나 해봐야쓰겠다.
  • 프로그래밍잔치 . . . . 7 matches
         2002년 여름의 마지막을 마감하는 조촐 프로그래밍 모임. 이름은 ["프로그래밍파티"]의 오마쥬, 남상협군 제시
         ZeroPage 회원 가능 모두다. 특히 02 참석!!
         여름방학의 끝자락에서 방학을 시작 데블스캠프 처럼, 방학을 마무리 하는 조촐 프로그래밍 이벤트
          * 혹시 3일중 전부 참여 못하는 사람도 적고, 궁금 사항좀 이 잡담란에 적어 주세요. 모르면 두드려야지만 알수 있습니다.--["상민"]
          * 대박으로 바쁜일 터졌다.. ㅜㅡ 이런.. 토요일에나 번 갈수 있겠어요.. ㅜㅡ -- ["erunc0"]
          * 떨어졌음. 혹시 늦게 참가하는 것도 가능가요? 그럼, 5시쯤 참가 하겠습니다. -["zennith"]
  • 프로그래밍잔치/셋째날 . . . . 7 matches
          1. 먼저 간단 문제에 대 프로그램을 작성다. 제 시간이 짧으니 가장 빨리 짜도록 다.
          * 옆의 사람과 소스를 바꾸고, 해당 소스에 주석(comment)를 녹여 본다. 궁금 점은 소스의 주인에게 물어 본다.
          * 다시 원 소스의 주인은 바뀐 소스를 감상다.
  • 프로그래밍잔치/정리 . . . . 7 matches
          * 3일동안 그리 큰 돌발사태가 발생하지 않았다는 점. 하고자 기획 주제들을 끝까지 진행할 수 있었다는 점.
          * 행사에 대해 '어떠어떠 것이 필요하다' 에 대해 길을 해매지 않고 잘 진행되었다 생각.
          * 토론을 시키는중, 토론의 방향을 제대로 제시하지 못점.
          -> 준비 리허설에 대해서. 리허설의 정도를 좀 더 많이 준비다던지. 해당 주제에 대해 미리 공부해둠으로서 자신이 해당 주제를 접했을때의 소감 등에 대해서 이야기할 수 있도록.
          * 행사의 길이 - 6시간 3일은 아무래도 사람들이 지쳐다는 느낌을 많이 받았다.
          -> 진행 스케줄 중에 '5분 Pair Time', 'CRC Session Time' 등을 도입해주면, 사람들이 디자인이나 Pair 시 실천방법으로 도움을 받을 수 있으리라 생각다.
  • 한자공 . . . . 7 matches
         #title 번도 자바를 공부하지 않은 팀
         '''''' 번도 '''자'''바를 '''공'''부하지 않은 팀 입니다.
         [자공/시즌1]
         [자공/시즌2]
         [자공/시즌3]
         [자공/시즌3/프로젝트]
          * 자공? 뭐지? 누구 이름인가 했네. ㅋㅋ -[김태진]
  • .bashrc . . . . 6 matches
         # bash-2.05 이후 버전을 위 개인적 $HOME/.bashrc 파일
         # 아 파일은 대화모드 쉘을 위 것입니다.
         # --> 본 문서 저자에 의 주석.
         # 이 부분은 리눅스와 솔라리스용입니다 - 필요대로 고쳐 쓰세요...
         # 솔라리스에는, 제가 아는 , 이와 비슷 것이 없습니다.
  • 2006신입생 . . . . 6 matches
          * 이메일 주소와 전화전호를 직접 남기는 것은 참으로 위험 일입니다. 일단 이메일주소는 크로울러가 퍼갈수 없는 형태로 바꿔놨는데, 개인 연락처는 지우던지 아니면 비공개된 형태로 바꾸던지 해야 할 것 같습니다. 제가 이것까지 지우긴 좀 거시기 위치라... - 임인택
         = 가입신청 사람들 =
         || 주요 || - || - ||
          * [2006신입생/연락처] - 비공개 설정됨. 로그인 제로페이지 회원만 볼 수 있음. 여기 적으시면 계속 연락처 페이지로 옮겨 질꺼에요.
          * [2006신입생/방명록] - 여기를 다녀가시는 분은 간단 메모와 학번, 이름 남겨주세요~
  • 2학기자바스터디 . . . . 6 matches
         자세건 모여서 정하기로 하구요
         교재를 하나 정해서 공부 다음 발표하는 방식이 될것 같아요
         그리고 배운걸 바탕으로 간단 프로그램을 완성하고요
          아~ 참고로 저의 게으름으로 방학 중 자바 스터디가 허술 점은 사과드립니다;;; -[상욱]
         추석끝나고 본격적으로 시작하죠... 교재는 따로 정하지말고 도서관에서 읽기 쉬운걸로 골라서 보면 될것 같구요... 프로젝트까지는 아니어도 간단 프로그램짜는걸로 해요(toy problem이나 5인용스터디에서 했던것처럼) -세환
         이 스터디그룹은 왜 다는 소리가 안나오냐? 하면 가서 볼려구 했는데..^^; -[상욱]
  • 2학기파이선스터디/클라이언트 . . . . 6 matches
          * Login : 현재 채팅에 사용중인 ID와 사용하고자 하는 ID를 비교하여, 채팅 참가 허가 유무를 확인다.
          * ChatMain? : 채팅의 주 인터페이스를 관리하는 클래스이다. 이 클래스에서 대부분의 GUI를 관리하고, 채팅메세지보여준다. 또 채팅에 접속 사람들의 ID를 보여준다.
          * ReceiveMessage? : 서버로부터 전달되는 메시지를 받아서 ChatMain? 클래스의 메시지 출력 화면에 보여주는 역할을 다.
          * UserList? : ChatMain? 클래스의 사용자 List에 접속 사용자 ID를 보여주는 기능을 다.
  • ALittleAiSeminar . . . . 6 matches
          * 간단 Othello 룰에 대 설명
          * 파이썬 프로그래밍 가능 사람 1명 이상
          해당 돌 색에 대 놓을 수 있는 위치들 터플들을 준다
          게임 종료 조건 상태에 도달했는지에 대 여부
          자기 자신이 놓을 수 있는 위치인지에 대 여부 체크
          해당 플레이어가 놓을 수 있는 위치들에 대 리스트를 얻어옴.
  • Ant/BuildTemplateExample . . . . 6 matches
         Ant Build 를 위 기본 Template 예제. 적당히 해당 부분을 고쳐쓰면 된다.
          <!-- build 를 위 속성변수들(property)들의 정의 -->
          <!-- 즉, ${src} 는 위의 property 에 정의 "." 이 되며, ${build}는 "build". 즉, init 단계에서 만든 디렉토리가 된다. -->
          <!-- 배포를 위 디렉토리 만들기 -->
          <!-- build 단계 이후 clean 단계. make clean 과 비슷 의미. -->
          <!-- 여기서는 build, dist 디렉토리를 삭제다. -->
  • AntTask . . . . 6 matches
         Ant Build 를 위 기본 Template 예제. 적당히 해당 부분을 고쳐쓰면 된다.
          <!-- build 를 위 속성변수들(property)들의 정의 -->
          <!-- 즉, ${src} 는 위의 property 에 정의 "." 이 되며, ${build}는 "build". 즉, init 단계에서 만든 디렉토리가 된다. -->
          <!-- 배포를 위 디렉토리 만들기 -->
          <!-- build 단계 이후 clean 단계. make clean 과 비슷 의미. -->
          <!-- 여기서는 build, dist 디렉토리를 삭제다. -->
  • Apache . . . . 6 matches
         전세계 서버 50% 이상이 아파치를 사용다고 다.
         리눅스와 아파치를 이용하면 486컴퓨터도 멋진 서버가 될 수 있다고 다.
         최근 정부 프로젝트도 아파치가 도입되고 있다고 다.
         [ZeropageServer]도 [Linux]와 [Apache]를 이용하여 서비스를 제공다.
         비슷 놈으로는 InternetInformationService (IIS) 가 윈도우 환경에서 MS에 의해서 제공되고 있음.
  • Basic알고리즘/63빌딩 . . . . 6 matches
          * 찾을 수 있나..;; 일단 코딩은 했는데 6번 죽어야 하던데... 알고리즘을 개선해야 하나..T.T 그런데 2의 6승이니까.. 6번죽어야 할꺼 같기도 데..- [조현태]
          * 떨어졌을때... 뭔가 떨어진 거에 대.. 답이 나오는건가? 더 높은 층으로 가라던지, 더 낮은 층으로 가라던지.? --[(snowflower)]
         이진검색 이란 순서대로 (이진트리안에) 보관되어 있는 데이터를 검색하기 위해서 중간에 있는 (혹은 이진 트리의 루트에 해당하는) 값을 고른다음, 찾는 값이 그보다 크면 오른쪽으로 (값이 더 큰 쪽으로 ) 이동하고, 작으면 왼쪽으로 (값이 더 작은 쪽으로) 이동하는 방법을 의미다. 유명 알고리즘이므로 모르는 사람이 없으리라고 생각다. -저자^_^
          코딩. 랜덤함수로 1 ~ 64 중의 수를 정 다음, 자신의 방법을 통해서 찾아보자!
  • BusSimulation/태훈zyint . . . . 6 matches
         시간이 무히 지나면 10대의 버스가 몰려가는 현상이 발견된다-_-
         const long timerate = 1*60; // 시뮬레이터 할 때 번 실행할 때마다 지나가는 시간
          int LastMovingBusIndex=-1; //마지막 움직이기 시작 버스의 인덱스
          void start() { movingbus=true;} // 버스를 움직이게 다. 첫 출발할때!
          BusCapacity = 50; //버스 대에 탈 수 있는 최대 사람수
          int BusCapacity; //버스 대에 탈 수 있는 최대 사람수
  • C++HowToProgram . . . . 6 matches
         Deitel 부자의 C++ 개론 서적. 대학에서 교재로 많이 사용다.
         특히 "잘못된" 알고리즘(닥터도브스저널에 이 책에 실린 알고리즘의 오류를 지적하는 기사가 실렸다)이나 바람직하지 않은 스타일, 이디엄이 많이 있어서 초보자들에겐 극히 위험 책으로 평가 받기도 다.
         안타깝게도 국내에는 이런 사실이 널리 알려지지 않아서 마치 초보자들에게 널리 추천되는 탁월 개론서인양 인식되고 있다.
         하지만 최근들어서는 외국에서도 이 책에 대 긍정적인 평가가 많다. 이 책의 평가는 논쟁의 여지가 있다.
         나는 당연코 이 책 대신에, 새시대 C++ 책이라 할만 ["AcceleratedC++"]를 권하겠다. --JuNe
  • C++스터디_2005여름 . . . . 6 matches
         문보창 허아영 유선 이규완 정수민 남도연
         || 날짜 || 참가자 || 것 ||
         || 05. 8. 4 || 보창 아영 규완 유선 도연 || 객체지향에 대 설명, class 틀 실습 ||
         || 05. 8. 11 || 보창 아영 유선 도연 수민 || 객체지향 실습. 간단 프로그램 짜기 ||
          아~ 지루게 문제다!...음...잼있게 하면 되재~ -[fnwinter]
         꼭 목요일 마지막 시간에는 지금까지 내 준 숙제 2개를 해서 페이지에 올리고, 모두 참석해 주세요. 만약 다 못하게 되더라도 혼자 힘으로 곳까지 올려서 오세요. 마지막 날은 숙제를 비교해 가며 마무리를 하도록 하겠습니다. -- 보창
  • C++스터디_2005여름/도서관리프로그램 . . . . 6 matches
         지금까지 배운 것을 이용하여 도서관리 프로그램을 만든다. 간단 기능은 다음과 같다.
         도서관리프로그램에 책을 등록할 수 있다. - 이 때, 책 이름, 저자, ISBN을 사용자로부터 입력을 받아 새로 구입 책의 정보를 입력하게 다.
         책을 반납할 수 있다. - 사용자가 책 이름 또는 ISBN 을 입력하면 책을 반납하게 다.
         코드 올렸습니다. 어렵더라도 이번 숙제는 스스로 꼭 번 짜보시기 바랍니다. 다음 시간에 오실때는 꼭 공부좀 해오세요. !! - 보창
          └뭐~~ 필요고 이뜨면 말하라궁.ㅎㅎ 도와줄께.ㅎ - [조현태]
  • C++스터디_2005여름/학점계산프로그램 . . . . 6 matches
          - 다른 클래스에 속하는 객체를 클래스 멤버로 사용다.
         이를 이용 간단 실습을 해보자.
         중앙대 컴공 학생 120명의 이번 학기 각 과목점수을 파일로부터 읽어들이고, 각 평점을 계산하고, 장학생명단을 발표하시오! 과목은 C, 국어와 문학, 경제와 사회, 선형대수학 이렇게 4과목으로 다. 입력파일은 input.txt 이다. 객체 배열과 컨테인먼트을 사용하자.
         장학생은 10%로 하고, 순위별로 정렬다. 평점 1.5 미만의 학생은 따로 분리되어 사용자에게 보여줄 수 있어야 다.
  • CMM . . . . 6 matches
          * SW-CMM : Capability Maturity Model for Software. 소프트웨어 프로세스의 성숙도를 측정하고 프로세스 개선 계획을 수립하기 위 모델
          * P-CMM : People Capability Maturity Model. 점차적으로 복잡해지는 소프트웨어 환경에 효과적으로 대응하기 위하여 개인의 능력을 개발하고 동기부여를 강화하며 조직화하는 수준을 측정하고 개선하기 위 모델
          * SA-CMM : Software Acquisition Capability Maturity Model. 소프트웨어 획득 과정을 중점적인 대상으로 하여 성숙도를 측정하고 개선하기 위 모델
          * SE-CMM : Systems Engineering Capability Maturity Model. 시스템공학 분야에서 적용하여야 할 기본 요소들을 대상으로 현재의 프로세스 수준을 측정하고 평가하기 위 모델로서 기본적인 프레임웍은 SW-CMM과 유사
          * IPD-CMM : Integrated Product Development Capability Maturity Model. 고객 요구를 보다 잘 충족시키기 위하여 소프트웨어 제품의 생명주기 동안에 각각 진행되는 프로젝트들이 적시에 협동할 수 있는 제품 개발체계를 도입하기 위 모델
          * CMMI : Capability Maturity Model Integration. 모델을 사용하는 입장에서는 각각의 모델을 별개로 적용하는 것보다는 전체적 관점에서 시너지 효과를 내기 위해서는 어떻게 적용할 것인가에 대 방안이 필요하게 되어 개발된 통합 모델
  • COM/IUnknown . . . . 6 matches
         컴자체가 바이너리 모델이 거의 C++을 유사 형태로 가져온 만큼 C++ 모습을 보면 대략 어떤 향태인지를 추측할 수 있다.
         COM 객체의 참조카운팅을 조절다.
         ※ 이론적인 내용은 C++ 의 스마트 포인터 파트를 참조. 참조카운팅의 용도와 필요성에 대해서 숙지다.
         C++ 스마트 포인터에서는 참조 카운팅을 이용해서 dangling pointer 문제를 해결다. boost 의 shared_ptr이 이를 구현다.
         IUnknown 은 구현체가 유효 기간동안 인터페이스 포인터를 변경시키면 안된다.
  • ChocolateChipCookies . . . . 6 matches
         초코칩 쿠키를 만들기 위해 밀가루와 소금, 기름, 베이킹 소다, 초콜릿 칩을 섞어서 반죽을 만든 다음 가로, 세로 50cm의 정사각형 모양으로 밀어서 편다. 그리고 이 평평 반죽을 원형으로 잘라서 쿠키판 위에 놓은 다음 약 20분 동안 오븐에서 굽는다. 쿠키가 다 되고 나면 오븐에서 꺼내서 식힌다.
         반죽을 밀어서 편 다음에 첫번째 쿠키를 잘라내는 단계를 생각해보자. 반죽에 들어있는 초콜릿 칩은 모두 겉으로 드러나 있는데, 원 안에 칩이 최대 많이 들어갈 수 있도록 자르는 방법을 찾아보자.
         첫째 줄에는 테스트 케이스의 개수를 나타내는 양의 정수가 개 입력된다. 그 다음 줄은 빈 줄이며, 서로 다른 테스트 케이스는 빈 줄로 구분된다.
         각 테스트 케이스에 대해 지름 5cm인 쿠키 개에 들어갈 수 있는 초콜릿 칩의 최대 개수를 나타내는 정수를 하나씩 출력다. 쿠키가 완전히 가로, 세로 50cm인 반죽 판 안에 들어가야 할 필요는 없다(즉 쿠키가 완전히 원 모양이 아니어도 괜찮다).
         서로 다른 테스트 케이스의 결과 사이에는 빈 줄을 출력다.
  • ComposedMethod . . . . 6 matches
         초보자들은 작은 크기의 많은 메소드를 보고는, 프로그램의 진행 상황을 잘 모른다고 할 수도 있다. 하지만 경험이 쌓일수록, 잘 지어진 이름의 메세지는 코드의 흐름을 알기 쉽게 해준다. 메소드 이름을 의도가 드러나게 짓는것은 하나의 메소드 크기를 작게 하는 가장 큰 이유가 된다. 그 코드를 보는 사람들은 하나 하나의 작은 부분을 이해함으로써, 더 큰 부분을 이해할수 있게 된다. 또 메소드를 작게 하면 버그가 발생했을때도 거기에 국시킬 수가 있다. 뭔가 개선하기가 쉬워질 것이다. 물론 상속도 자연스럽게 할수 있다.
         '''당신의 프로그램을 하나의 동일화된 작업을 수행할수 있는 메소드들로 나눠라. 모든 메소드는 같은 수준의 추상화를 유지해야 다. 이는 자연스럽게 여러개의 작은 메소드를 만들어내게 될 것이다.'''
         당신이 가장 중요하게 Composed Method를 쓸때는, 당신이 뭔가를 구현하고 있을때 새로운 책임을 발견했을때이다. 당신이 둘 이상의 메세지를 다른 객체로 보낼때, 수신 객체에서는 그 메세지들을 합치는 Composed Method를 만들 수 있다. 이러 Method들은 당신의 시스템의 다른 부분에서도 유용하게 쓰일 것이다.
         개인적으로, 간단해보이지만 아주 중요 이야기라 생각함. ProgrammingByIntention 의 입장에서, 또 '같은 레벨의 추상화를 유지하라'라는 대목에서. (StepwiseRefinement 를 하면 자연스럽게 진행됨) --[1002]
  • ComputerNetworkClass/Exam2006_1 . . . . 6 matches
          각 방식에서 사용하게 되는 멀티캐스팅방식에 대 간단 약술
         4. TCP 버프를 이용 flow control 관련 문제들.
         TCP 수신측 버퍼 오버시 TCP 프로토콜의 처리과정 및 Probing 을 이용 에러제어
         Advertised Window를 이용하지 못하는 상황하에서 TCP의 에러처리 방식에 대 추론.
         시스템을 구축하고자 할때 필요 시스템과 구성과정을 기술하라.
  • ComputerNetworkClass/Report2006/BuildingProxyServer . . . . 6 matches
         문자열 파싱에서 아주 편리 함수
         인터넷 상에서 유일 16바이트의 숫자를 나타내면 COM객체의 유일 식별자를 만들기 위해서 이용하지만...
         이것을 이용하면 캐쉬할 파일의 이름이 겹치는 문제를 방에 해결할 수 잇음.
         늦은 것 같지만... -_-;; 휘동이에게 말해줬다가 실패 함수에 대 내용올림... scanf가 아니라 sscanf 였음
  • ConverterMethod . . . . 6 matches
         스몰토크의 String 클래스에 보면 asDate라는 메세지가 있다. 켄트벡이 경험 정말 극단적인 경우에 하나의 객체마다 다른 형태로 변환시켜주는 Converter Method가 30개씩 있었다고 다. 새로운 객체가 추가될때마다 저 30개의 메소드를 모두 추가해줘야만 했던 것이다.
         위의 일화와 같이 객체안에다가 Converting 해주는 메소드를 계속 추가 하다보면 끝도 없이 많은 메소드가 나올 것이다. 게다가 수신객체와의 커플링이 증가다. 이것을 피하려면? 컨버전할것만 구현하면 된다.
         위 예제에서 Set은 Collection처럼 동작해야 다. 즉, 객체가 리턴것은 수신 객체와 같은 프로토콜을 가지고 있어야 다. C++에서는 상속으로 해결할 수 있을듯하다.
  • Cracking/ReverseEngineering/개발자/Software/ . . . . 6 matches
         기존 배우고 있던 것들과는 별개로 Cracking에 대 것들을 익혀야다. (여기서 Cracking은 시스템 전반에 관 지식을 익혀 그것을 악용 하는 것이다.)
         개발자가 만들어 놓은 Software는 다른 사람들에 의해(물론 이런 사람들은 어느정도 컴퓨터에 대 지식이 있는 사람들) 파괴 되고 분석된다.
         Jeffrey Richter의 Programming Applications for Microsoft Windows란 책을 추천다. 현재 4th edition까지 나온 상태이다. 물론 글판은 없다.
  • CuttingSticks . . . . 6 matches
         나무막대를 여러 조각으로 잘라야 다. 절단 분야에서 가장 뛰어난 것으로 알려진 ACM(Analog Cutting Machinery)이라는 회사에서는 자를막대의 길이에 따라 요금을 부과다. 그리고 톱의 구조상 번에 하나씩만 자를 수 있다.
         절단 순서에 따라 요금이 달라진다는 것은 그리 어렵지 않게 알 수 있다. 예를 들어 10미터짜리 막대를 쪽 끝으로부터 2, 4, 7미터 위치에서 자르는 경우를 생각해보자. 자를 수 있는 방법은 매우 다양하다. 처음에 2미터 위치에서 자르고 그 다음에 4미터 위치, 마지막으로 7미터 위치에서 자를 수도 있다. 이렇게 하면 요금은 10+8+6=24가 된다. 첫번째 막대는 10미터였고, 그 다음 막대는 8미터였고, 마지막 막대는 6미터였기 때문이다. 하지만 일단 4미터 지점에서 자르고 2미터 지점에서 자른 다음 마지막에 7미터 지점에서 자르면 요금이 10+4+6=20이 되므로, 앞에서 잘랐던 방법으로 하는 것보다 요금을 줄일 수 있다. 어떤 막대가 주어졌을 때, 최소 절단 요금을 구하는 프로그램을 만들어보자.
         l의 값으로 0이 입력되면 입력이 종료된 것을 의미다.
         각 막대를 자르는 데 드는 최소 비용을 아래 예에 나와있는 것과 같은 식으로 출력다.
  • DelegationPattern . . . . 6 matches
         또, 클래스 하나가 방대해질때, 적절하게 그 클래스의 책임을 다른 클래스들에게 위임해주는 것은 ["Refactoring"] 의 방법이 된다.
         이 기능을 추가하기 위해 일단 Airport Code 를 Refactoring 하기로 했다. 이를 위해 Airport 의 기능중 Configuration 과 관련된 기능에 대해 Configuration 을 Extract 하고, 내부적으로는 Delegation 함으로서 외부적으로 보이는 기능에 대해서는 일관성을 유지다. (Test Code 가 일종의 Guard 역할을 했었음)
         DelegationPattern을 쓸 때 중요 점은, DelegationPattern을 사용하는 클래스의 클라이언트는 그 클래스가 Delegation을 쓰는지 안쓰는지 몰라야 다는 것이다. 즉, 우리에게 있어 DelegationPattern이 사용된 클래스는 여느 클래스와 동일하게 인식되고 사용되어져야 다. 게을러서 남에게 자신의 숙제를 위임하는 학생은 절대 남들에게 그 사실을 노출해선 안된다.
         전에 SE 수업중에 컴포넌트모델의 필요성을 이야기하던중 '상속으로의 재사용이 어렵기 때문에' 이야기를 하셨는데, 왜 대안 중 하나로서의 [Delegation] 에 대 언급이 전혀 없으셨는지 모르겠다. Delegation 만 잘 이해해도 준 컴포넌트 스타일의 모듈화 프로그래밍을 잘 진행할 수 있고, 사람들 간의 작업분담도 잘 이끌어 낼 수 있을건데.. --[1002]
  • EclipsePlugin . . . . 6 matches
         Eclipse 사용할 때 유용 Plug-in 정리
         JSP 코드 Assistant 인데 정말 엄청 가볍게 느껴지는 Eclipse Plug-in 이다. Highlight 는 기본이고 자동완성 또 지원다.
         또 jsp 문법 오류도 잡아준다. WebApp 의 ROOT 를 지정해 줌으로써 설정이 간단히 끝난다. 자체 JSP Compiler 를 이용해서 Servlet 을 생성하므로 Lomboz 보다 훨씬 가볍다.(Lomboz는 JSP Compiler 를 기존의 WAS 것을 가져다 쓴다.)
         eclipse.org 사이트에서 추가 플러그인으로 다운로드 받을 수 있다. 로컬에서 작업 파일을 간편하게 서버로 업로드 할 수 있다.
         Eclipse 에서 PairProgramming 을 하게 해 주는 플러그인이다. 전에 SE 랩의 박지훈 선배님께서 이와 비슷 IDE를 개발하시다가 중단하셨는데. 이클립스와 PP 의 결합이라... 정말 엄청난 파워를 발휘할 것 같다.
  • EmbedAudioFilesForFireFox . . . . 6 matches
         웹 페이지에 Embed된 오디오 파일을 FireFox에서 수월하게 재생시키기 위해서는 아래와 같이 type 속성을 주고 플레이어의 크기를 명시적으로 적어줘야 다.
         embed는 W3C에서 정의 표준에 위배되는 방법이다. 표준을 통과하면서 IE, Firefox에서 재생시키려면 다음과 같이 작성다.
          * 최근에 embed태그에 관 소송에 MS가 패소하여 앞으로는 embed태그에 관 기능이 달라지게 된다는 소식을 들은 기억이 있네요. 동네 자게였나? - 이승
  • EnglishSpeaking/TheSimpsons/S01E04 . . . . 6 matches
          * 호머는 가족들을 데리고 번즈 사장의 집에서 열리는 (의무적으로) 회사 연회에 참가다. 번즈 사장은 화목해보이지 않는 가족은 해고해버리려고 하고 호머는 번즈 사장 앞에서 가족들이 화목 '척'을 하려고 다. 하지만 바트와 리사는 사고를 치고, 마지는 펀치를 마시다가 술에 취해버린다. 호머는 바트에게 5달러를 주고 뽀뽀를 받는 등 부자연스러운 연기를 하는 반면 진실되게 서로를 존중해주는 다른 가족들을 보며 자신의 가족에 문제가 있음을 알고 실의에 빠진다. 모의 술집에서 고민하던 호머는 TV 광고를 보고 마빈 몬로 박사의 가족 치료 센터에서 이 문제를 해결하고자 가족들을 데리고 간다. 하지만 호머를 비롯 가족들은 어째 몬로 박사의 다양 치료법들이 모두 역효과를 불러 일으킨다. 하지만 만족하지 못하면 2배 가격으로 환불해줘야 하는 치료 센터의 규정 덕택에 심슨 가족들은 오히려 돈을 벌게 되고 이로 인해 가족들에게 행복(?)이 찾아온다.
          * 내용 : 다른 가족들을 보고 상심 호머가 모의 술집에서 술을 마시는데 다른 집을 배회하던 무리들을 찾는 경찰들이 들어온다. 다행히 호머는 그게 심슨 가족들이었단 것을 들키지 않지만 자신의 자녀들에 대해 나쁜 말을 하는 바니와 싸움이 붙는다.
  • ExploringWorld/20040315-새출발 . . . . 6 matches
         || 황재선 || 탄핵, Naver 접속 안된다. -> 모처럼 심야토론 봄 || 수요일 개강파티 -> 폭음 -> 죽음 : 2차를 처음 갔다. 조절해야겠다. || 다양 사람을 만남||
         || 곽세환 || 탄핵 : 뭐가뭔지 혼란스럽다. 답답하다. || 톰켓, HelloWorld(mission I) 번에 안된다. || 그래도 결국 했다. ||
          * Java를 만나서 궁금점, 재미있는점, 불만인점?
          * 수요일에 다시번 만나기
          * 오늘도 시간이 부족 하루다. -> 계획적으로 말하기
          * 서버의 모습에 대 기대감 -> 실망감
  • FifteenSecondsRule . . . . 6 matches
         어떤 시스템/프로그램이 있을 때, 모든 개념적 단위(예컨대 패키지, 모듈, 클래스, 메쏘드 등)를 개발자 자신이 15초 이내에 설명할 수 있어야 다는 "15초 룰"의 확장판이 꽤 유용할 때가 많습니다. 이런 식으로 설명을 모두 마쳤을 때는 소스 코드 전부를 설명 셈이어야 합니다.
         예를 들어, 경매 시스템이 있을 때, "이 시스템은 무얼 하는 것이냐?"라는 질문에 15초 이내에 깔끔하지만 '''완전'''(complete) 대답을 할 수 있어야 하며, "그럼, 이 시스템에서 {{{~cpp Authentify}}} 서브 시스템은 뭘 하는 것이냐?"라는 질문에 역시 15초 이내에 완전 대답이 가능해야 하고, "이 {{{~cpp FooBar}}} 객체는 무엇을 하는가?"라는 질문에 또 15초 이내의 대답이 나와야 합니다. 이런 식의 설명이 모두 끝났을 때, 소스 코드 '''전체'''를 훑은 셈이여야 합니다 -- 이게 용이하려면 프로그램의 구조가 이런 설명의 구조와 유사해야 합니다.
         만약 이것이 불가능하다면 왜 그렇고, 어떻게 해야 그것이 가능할지(예컨대, 특정 개념을 표상하는 새로운 어휘를 고안다든지, 추상 수준이 다른 것을 곳에 섞지 않는 것 등) 고민해 보면 많은 것을 배우게 됩니다.
  • FileStructureClass . . . . 6 matches
         수업내용: 화일 구조에 관것과 DB 를 쓰기 이전 직접 화일 구조를 만들어서 데이터처리를 할때 데이터 추가/삭제/변경에 관 이것저것들. External Sort, B-Tree 등의 자료구조와 관련 좀 더 심화된 내용들.
         다른 건 둘째치고, 교재의 Pseudo Code 가 정말 마음에 안든다. 전혀 구조적으로 볼때 번에 이해하기 어렵게 만들어놓았다는 느낌을 지울 수가 없다. 고로, 교수님의 수업을 잘 듣고 필기할 필요가 있다. (교수님이 잡아주는 예제가 더 쉽고 이해하기도 좋다.)
         강현철 교수님에게 인상적인 부분이 있다고 다면, 중간에 질문을 던지신 뒤 학생들이 답했을때의 자세이시랄까. 그럴때 바로 '틀렸다' 라고 이야기하지 않는다. "만일 자네의 의견이 맞다면, 어떻게 이 부분을 전개것인지 말해보게." 식으로 논리과정을 서술하게끔 다시 질문하신다. --[1002]
  • Freemarker . . . . 6 matches
         Java Servlet 을 위 오픈 소스 HTML 템플릿 엔진이다.
         프리마커는 자바 서블릿을 위 오픈소스 HTML 템플릿 엔진이다. 프리마커에서는 HTML을 템플릿으로 저장하는데 이들은 결국 템플릿 객체로 컴파일 된다. 이 템플릿 객체들은 서블리셍서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성다. 프리마커 객체들은 서블릿에서 제공하는 데이터들을 이용하여 HTML을 동적으로 생성다. 프리마커는 고유의 템플릿 언어를 사용하고, 정적인 HTML페이지에 근접 속도를 자랑다. ..하략
  • GDBUsage . . . . 6 matches
         pipe를 통 간단 프로세스 통신의 일예
         쉘로 탈출해 해당 명령어를 수행후 복귀다.
         해당 명령어에 대 설명을 출력다.
         다른 유용 기능들도 적어주333 - [eternalbleu]
  • Hartals . . . . 6 matches
         방글라데시의 정당들은 자신의 세를 과시하기 위해 정기적인 동맹 휴업(파업)을 추진하는데, 이 동맹 휴업은 경제에 상당 피해를 끼칠 수 있다. 이 문제에서는 각 당을 동맹 휴업 지수(hartal parameter)라고 부르는 h라는 양의 정수로 나타낼 수 있다고 하자. 이 동맹 휴업 지수는 동맹 휴업과 다음 동맹 휴업 사이의 기간을 날짜 수로 표시 값이다.
         입력의 첫번째 줄에는 입력될 테스트 케이스의 개수를 나타내는 하나의 정수 T가 들어있다. 각 테스트 케이스의 첫번째 줄에는 개의 정수 N(7≤N≤3,650)이 들어있으며 시뮬레이션을 돌릴 기간(날 수)을 나타낸다. 그 다음 줄에는 정당의 개수를 나타내는 정수 P(1≤P≤100)가 들어간다. 그 다음부터 시작하는 P개의 줄 가운데 i번째 줄(1≤i≤P)에는 i번째 정당의 동맹 휴업 지수를 나타내는 양의 정수 hi(7의 배수는 아님)가 들어있다.
         각 테스트 케이스에 대해 손실된 근무 일수를 줄에 하나씩 출력다.
  • HelpOnPageDeletion . . . . 6 matches
         raw 혹은 [[GetText(source)]]라고 되어있는 링크를 누르면 텍스트 형식의 위키문법이 브라우져에 보여지게 되며, 이를 그대로 복사 후에 해당 페이지에서 [[Icon(edit)]] 아이콘을 눌러 해당 페이지를 편집하여, 편집 폼에 복사했던 텍스트 내용을 붙여넣기 후에 저장합니다.
         모니위키 1.1.3부터 지원하는 `revert`액션을 사용합니다. 단축키로 '''i'''를 누르면 변경내역을 보여주며 이때에 [[GetText(revert)]]라는 액션에 대 링크가 나타납니다. `revert` 액션에 대 링크가 나타나지 않으면 {{{?action=revert&rev=1.100}}}식으로 주소줄에 써넣은 후에 페이지를 불러오면 대화창이 뜨게 됩니다.
         복구 액션은 남용이 가능하므로 비밀번호로 제이 걸린 `protected`액션이므로 위키에 따라서 일반 사용자가 사용하지 못할 수 있습니다.
         이러 경우에는 일반 사용자가 복구하려면 위의 '''수동 복구'''를 참조하여 복구하시면 됩니다.
  • HelpOnProcessingInstructions . . . . 6 matches
          * <!> vim 이나 기타 여러가지 포맷 지정자는 `plugin/processor` 아래의 지원 가능 모든 프로세서에 대해서 가능합니다.
          * {{{#action}}} ''action name'': 페이지에 대 기본 액션을 ''EditText'' 이외의 다른 것으로 바꿔준다.
          * {{{#keywords}}} ''keyword1,keyword2'': 페이지에 대 키워드를 설정다.
          * {{{#redirect}}} ''url'' : 페이지를 보게되면 `url`이 가리키는 곳으로 이동다. `url`은 페이지 이름이 될 수도 있고, 인터위키, url 등등이 될 수 있다.
          * {{{#alias}}} ''alias1,alias2'' : 페이지의 별명을 설정다. (모니위키 '''1.1.5''' 부터)
  • HowToCodingWell . . . . 6 matches
          * 보통 코딩을 학교 프로젝트 아니면 과제때만 많이 하게 되는 데, 그 보다는 평소에 즐기듯(?) 코딩해야 합니다. 급하게 쫓기면서 하는 코딩은 결과물을 만들어 내기 위 코딩이므로 생각하지 않고 코딩하게 됩니다. 평소에 자신이 필요 프로그램(ex 선대계산기, 알송 리스트 자동 갱신 프로그램) 들을 느긋하게 코딩해 보면 급하게 코딩 하지 않기 때문에 더욱 많은 생각을 하면서 코딩을 할수 있습니다. 진정으로 실력이 느는건 이런 생각하면서 코딩하면서 늘지 않을까요? - [안혁준]
          * 글을 잘 쓰기 위해서 필요 것 세가지는 다독(多讀), 다작(多作), 다상량(多商量)이라는 유명 말이 있습니다. 많이 읽고 많이 쓰고 많이 생각하라는 뜻입니다. 코딩을 잘하기 위해 필요 것도 같다고 생각합니다. 좋은 코드를 많이 접해보고, 직접 코딩을 많이 해보고, 프로그래밍에 대해 고민을 많이 해보면 잘하게 되지 않을까요? - [김수경]
          * 나쁜 코드를 많이 만들어봅니다. 그리고 오픈소스 코드들과 비교해 봅니다. 그러면 자신의 나쁜 버릇, 부족 점을 알게될 수 있어요. 좋은것을 배우고 나쁜것을 고치는게 발전하는 방법인 것 같습니다.. - [서지혜]
  • JavaStudy2002/영동-3주차 . . . . 6 matches
         3번째의 코드는 comment solving을 보인거니 감안하십시오. 3번을 그대로 다면, 입력 데이터와, Bug 사이의 인터페이스를 맞추는 함수가 필요할것입니다.
         사소 것이지만 지적다면 class main 의 이름을 Main 으로 바꾸시기를 강력(?) 추천합니다. Java 에는 지켜야하는 규칙인 문법외에 [http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html 코딩 약속]을 추천하고 있씁니다. 과거 MS라면 헝가리안표기법 이겠지요? 현재의 .net 에서 헝가리안표기법은 없어졌습니다. --["neocoin"]
          * HashMap 을 이용해서 방향값에 대 값의 변화량을 넣습니다. 이전에 배열로 구현하여 코드를 짧게 하는 것과 같은 목적입니다.
         변경중 적당 선에서 그만 둡니다. 변화가 심하지 않은 단계를 판단해서 하나씩 바꾸어 놓았으니, IDE에 붙여서, 뭐가 바뀌었는지 보세요.
         [http://zeropage.org/pub/j2sdk-1.4.1-doc/docs/api/java/util/ArrayList.html ArrayList] 나, [http://zeropage.org/pub/j2sdk-1.4.1-doc/docs/api/java/util/HashMap.html HashMap] 은 보통의 자바 책들에서 나오는 Vector 와 Hashtable 과 동일 역할을 합니다. 1.3에서 추가된 collection framework에서 위의 두가지를 더 추천해서 이용했습니다.
  • KAIST전산대학원면접/06전기 . . . . 6 matches
         마지막에 말은 트리중에서도 루티드 트리라고
         "트리라는 것은 루트가 없이 전부다 동등 버택스이고 단지
         잠깐 생각후 대답했다.
         공급이 부족 이시기에 재사용성과 유지보수성이 중요하다고
         강죠하셨고, 거기에 가장 적합 언어로써의 객체지향언어의
         "너 지금 여기에서 강의하라는게 아니야. 누가 강의를 하래 우리테. 짧게 답만말해."
  • KDP_토론 . . . . 6 matches
          * 이미지 & 화일 관련 - http://zeropage.org/~reset/zb/zboard.php?id=KDP_board_image 에 업로드 뒤 링크 따서 붙이는 식으로 합시다.
         JStorm 계셨던 분의 말씀을 들어보니, 서적의 번역과 그에 따른 저작권 문제, 출판 문제가 상당히 머리가 아프더군. 우리가 완전 번역을 하면 저작권에 걸리는 거고, 완전 번역시에 그걸 출판을 모색할 경우 상당히 힘들것으로 보인다. 이유는 우리가 학부생이고, 전문가라고 볼수 없는 위치에 있기 때문에 출판사 측에서는 그런 점을 지적다. 그래서 많은 책에는 유명 사람들의 감수가 들어 있다.
         출판과 라이선스에 관련 작업이 많고 학부생이 타진하기에는 너무 시간을 많이 빼앗기며, 그것은 공부 차원을 떠난 일이다. 이렇게 머리 아플바에야 완전 번역을 지향하는 것보다 강의 노트식 정리를 지향하고(비록 내용이 완전 번역일지라도) 원칙적 외부 반출을 금지하며, 내부 자료로 쓰도록 명시하여 라이선스 문제를 벗어나도록 하자는게 내 생각이고, 석천도 기본적인 동의를 것으로 알고 있다. 그럼 의견들좀 타진 --상민
         소모임내 스터디를 위 문서번역은 어디든지 하는 곳들이 있다고 할때.. 단, 우리의 문제는 인터넷에 그 문서들이 노출되어있다는 점. 그래서 공개되어있다는 점이 되겠지. 하지만, 의도적인 저작권 위반이 아닌이상, 그리고 명시적으로 우리의 목적을 밝히는 선이면 추후에 문제가 발생하더라도 바로 소송걸릴일은 없을거라 생각. 그리고, 도큐먼트의 효율화를 위해서 처음엔 번역인 문서들도 요약화되어질 것이라 생각중. (어차피 1차 번역은 소위 '와우북식 번역책 욕하기' 에 딱 걸릴 수준인지라. --;) -- 석천
  • LinuxSystemClass . . . . 6 matches
         개인적으로 교재가 마음에 든다. 단, 제대로 공부할 것이라면 가능 원서를 권다. 서의 경우 용어의 혼동문제와, 중간 오역문제가 눈에 띈다. (inexpensive를 expensive 로 정 반대의 뜻으로 해석) 뭐, 물론 그럼에도 불구하고 아마 사람들은 서 읽는 속도가 원서 읽는 속도의 3배 이상은 될테니. 알아서 잘.
  • MFCStudy_2002_1 . . . . 6 matches
          * 목표 : 방학중 스터디 진행, Programming 에 대 감각 익히기. Windows Programming 에 대 이해.
          1. 다음 숙제를 위 간략 세미나 및 토론
         아아~ 오목을 짜는데~~전에는 무식 방법으로 돌을 하나 놓을때마다 판 전체를 검색하는...방법을 사용했는데..[[BR]]
         인터넷 플레이가 가능 오목을 짤거라는 다짐을 하며...MFC 스터디..잠시 끝!...Class에 대해서 더 공부해지~~..[[BR]]
  • MIB . . . . 6 matches
         헐리우드의 오락판 X 파일이라고 할만 영화이다.
          * ["MIB"]들은 일반인들이 외계인을 의식하지 않고, 살수 있도록 하는 임무를 수행다.
          * 기타로 지구를 구하기도 다. 물론 대통령도 모르는 기구라서, 훈장 같은것이나 업적을 전혀 인정 받지 않는다. (이점이 드라마 Star Gate와 차별되는 점이다.)
          * 요즘 ["상민"]이는 "MIB들이 처리해 줄꺼야" 라는 말을 많이 쓴다. dcinside에서 "MIB들이 처리 했습니다." 라는 소리 마디 듣고 전염이 되어 버렸다. 여기에서 MIB라면 일전에 창준 선배가 말씀하신 그린베레 프로그래머(Green Beret Programmer(Wiki:GreenBeretCoding) 정도의 의미가 될 것이다. 후에 MIB Programmer가 더 적당 말이 될수 있겠다고 생각하곤 다.
  • Metaphor . . . . 6 matches
         시스템 메타포를 선정하면 같은 팀내에서 클래스와 메소드의 이름을 일관적으로 정할수 있어 공감대를 형성할 수 있다. (즉 하나의 메타포를 선정하여 공유하면 변수 이름같은 것을 지을때 같은 관점으로 짖게 된다는 의미). 어떤 객체에 대 이름을 정하는 것은 시스템 전체를 이해하거나 코드를 재사용하는데 매우 중요하다. 만약 메타포를 올바르게 정다면, 이름이 어떻게 정해지는가를 추측할 수 있게되고 실제로 개발 시간을 크게 절감시켜준다. 구축할 객체에 대 이름을 위 시스템(즉 메타포)를 결정할때는 모든 사람이 해당 시스템에 대하여 특별 지식이 없이도 쉽게 연관되어 질수 있는 것으로 선택해야 다. 예를 들어 크라이슬러의 지불시스템은 생산라인으로 구축되었다. 포드의 자동차 영업사원들은 BOM(부품표)으로 구조화 되었다. 구축하려고 하는 분야의 메타포를 사용할 수도 있다. 그러나 충분히 단순하지 않다면 영영에 해당하는 메타포를 사용하지는 말아라.
  • NSIS/예제3 . . . . 6 matches
         ; Installer 의 아이콘. 반드시 32 * 32 * 16 color 이여야 다.
         ; 버튼들에 대 text
         ; Install 버튼에 대 text
         SpaceTexts "필요요구용량" "이용가능용량"
          ; 윈도우 프로그램추가/삭제 관리자를 위 Uninstall 관련 key를 레지스트리에 저장
         SpaceTexts: required="필요요구용량" available="이용가능용량"
  • NeoZeropageWeb . . . . 6 matches
         새로 만들 ZP홈에 대 의견 제시
         게시판은 phpbb, zeroboard, grboard 등 다양 것들 중에서 선택가능함.
         태터 1.0 출범과 함께 다중 사용자의 지원이 가능 것을 이용함
         (특이 형태가 될 것 같은데.. -_-)
         뭐가 좋을까? ㅡㅡ? 쉽기는 3번이 가장 쉽고... 재미있기에는 2번이 가장 재미있고 독특 형태가 되지 않을까 생각하는데...
         다른 형태라던가 독특 구상이 있으면 의견좀 올려주세요~
  • NumericalExpressionOnComputer . . . . 6 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 . . . . 6 matches
          * 오목을 체크다.
          * 육목을 체크다.
          * 붙은 삼삼을 체크다.
          * 돌을 찍을때 물론 번갈아 가면서 찍어야 할테죠.. 키보드로 돌을 움직이는것이 중요데, 이것은 여러분이 아는 기본 적인 지식으로 할 수 있습니다.
          * 터보씨에서 지원하는 C 의 그래픽 함수들을 이용해서 colorful ..-_-;; 그런 오목을 만드는 겁니다.
          * 전부 그림으로 처리하기 때문에 그래픽적인 요소들을 위 코딩이 많이 들어가는...(나쁘게 말하면 생노가다..--; )
  • PC실관리/고스트/네트워크를이용한OS설치 . . . . 6 matches
          * 뭐 별로 대단것은 아니지만 이렇게 간단것도 만약 있는것을 모르면 오늘처럼 엄청난 삽질을 후배들이 또 하게될것이 심히 염려스러워서 간단 문서를 만듬
          * 네트워크가 가능 컴퓨터(PC실에 있는 컴퓨터들 기본적으로 다 됨)
          * 기본적으로 아래의 과정을 하기 위해서는 네트워크 설정을 해서 인터넷이 되게 해야 다.
         보기에는 굉장히 간단하지만, 오늘 저 네트워크로 하는것은 왠지 복잡하지 않을까 하는 선입관을 가지고 시도도 안해보고 하드 띄어서 복사하고, 시디 구워서 복사 하려다가 초절정 노가다를 곁드린 삽질을 하게 되었다. 조그마것을 귀찮아 하다가 더 귀찮아졌던 하루. 아 피곤.... - [(namsang)]
  • POLY/김태진 . . . . 6 matches
          * DP를 이용 문제.
          * 이때, 제일 위층을 제외 것의 제일 위층의 개수가 몇개인지 중요데, 최상층 개수와 두번째층의 개수에 의해 폴리오미노를 만족하는 경우의 수가 세분화되기 때문이다.
          * (예를들어 최상층 3개, 두번째층 2개(그 아래층은 상관없음)인 경우는 " 최상층 + 두번째층 - 1 ", 즉 4개의 경우가 생기고, 이를 곱해야다.
          * 여기까지 이해를 했다면 직접 DP 점화식을 만들어보고, 그렇지 않다면 코드를 보고 이해해보려고 노력해보자. 실제로 유의미 코드는 3번째 for문과 점화식 줄, 총 두줄 뿐이라는 것을 알게 될 것이다.
  • PhotoShop2003 . . . . 6 matches
          * 수업시간에 가장 어렵다고 생각하는 BMP 파일에 관 것을 했다. 이것만 할줄알면 나머진 알고리즘적 측면이 강하기 떄문에 쉬울 것이다.
         || 시작시간 || 종료시간 || 것 || 참여자 || 걸린 시간 ||
         || 시작시간 || 종료시간 || 것 || 참여자 || 걸린 시간 ||
         || ? || ? || BYTE를 2차원 배열처럼 쓰기 위 랩퍼 클래스|| 철민 || . ||
         || 시작시간 || 종료시간 || 것 || 참여자 || 걸린 시간 ||
         || 11:20 || 11:55 || 지금까지 각자 것 통합 & 버그 수정 & Median Filtering 완성 || 철민, 인수 || 35분 ||
  • PowerReading . . . . 6 matches
         이 책이 재미있는 것중 하나는, 다른 속독관련 서적과는 달리 '이해'를 가장 우선시 다는 것이다. (Chapter 1 ~ 10 첫번째를 보면 일관되게 Speed 보다 Comprehension 을 더 강조다.)
         영어가 쉬우므로 영어원서에 익숙하지 않는 사람들도 쉽게 읽을 수 있다. 앞부분만 읽어보긴 했는데, 추천할만 것 같습니다. '더 복잡 룰'은 직접 필요할때 만들어서 이용하시면 될듯.
          - 휴가 나와서 글쓰기 귀찮음에도 불구하고, 아주 아주 많은 도움을 준 책이길래 이렇게 글을 씁니다. 뭐 이 권 읽고 기억나는건 읽을때 손가락으로 가리키면서 읽는거 밖에 없지만, 이 조그마 차이가 엄청난 변화를 가져왔죠. 예전보다 읽는 속도가 3~4배 정도는 빨라진거 같고(원래 무진장 천천히 읽긴 했죠 -_-;) 속도가 좀 빨라지다 보니깐 책 읽는 재미도 느끼게 되어서 더 많은 책을 읽게 되었죠. 결국 이책에서 익힌 기법으로 책을 많이 읽게 되었기에, 이 책은 저에게 가장 큰 영향을 준 책이 된 셈이네요. - 남상협
  • ProjectAR/CollisionCheck . . . . 6 matches
          * 그러자니 오브젝트마다 그림 크기에 맞는 2차원 배열을 가져야 다. 어쩌면 비트맵을 읽어오면서, 그 비트맵이 메모리에 있을테니, 그걸 참조하는 방법도 있을듯 하다. 안된다 하더라도, 요즘 컴퓨터 메모리 남아도니까 별로 문제가 되지는 않을듯 싶다.
          일단 히트 판정이 날려면 주인공이 공격을 하게 됩니다. 그 때 발생하는 무기의 범위는 부채꼴이 되겠죠? 그렇게 때문에 오브젝트가 주인공의 위치와 무기의 거리사이에(각도는 제된 상태) 들어온다면 히트 판정이 나게 되겠죠? 그러므로 정교 히트 판정이 나기 위해서는 사각형 영역보다 부채꼴 형태가 더 적합하다고 생각합니다. 그리고 적의 충돌을 판정하기 위해서는 적은 최대 둥근 모습으로 만든다면 해결이 어느정도 가능하다고 생각합니다. 둥그스름 물체가 땅에 닿는 곳은 원형이 되겠죠? 그 원형을 판단하면 되지 않을까요? 어짜피 그려지는 곳의 머리가 주인공의 무기와 겹치는 동시에 친다면 더 부자연스러울꺼 같네요...
          (현존하는 게임의 90%가 이 방식이다. 대전격투가 아닌이상 크리티컬 충돌체크는 역시 무의미함을 깨달았다.)
  • ProjectEazy . . . . 6 matches
         [http://www.unicode.org/versions/Unicode4.0.0/ch11.pdf 유니코드표준 동아시아(글 포함)]
         [http://www.unicode.org/charts/PDF/U3130.pdf 유니코드 글 조합형 표]
         [http://www.unicode.org/charts/PDF/UAC00.pdf 유니코드 글 완성형 표]
         PyKug:CJKCodecs - 파이선 글 코덱, hangul모듈 다운로드
          Python2.4는 글코덱이 내장되어있다고 하는군요 --[강희경]
         파이선의 글은 조합형이 아닌가봅니다. 아니면 저 유니코드표가 잘못된건가요? --[Leonardong]
  • PythonThreadProgramming . . . . 6 matches
          * 문제 상황 예 : count 변수를 각 쓰레드들이 1식 증가를 시키는데 스레드가 증가 시키는 동안 다른 스레드도 동시에 증가 시키다 보면 원래 2 증가 해야하는데 1증가 하는 수가 생긴다..
          * 위 소스에서 why 부분,, 왜 sleep을 넣었을까?(만약 저것을 빼면 쓰레드가 자원을 독점하게 된다) -> Python 은 threadsafe 하지 않다. Python에서는 자바처럼 스레드가 문법의 중요 위치를 차지하고 있지 않다. 그것보다 이식 가능성을 더 중요하게 생각다.
          * 모든 built-in 함수가 다른 쓰레드가 실행할수 있도록 I/O에 대 block waiting 을 하는 것은 아니다.(time.sleep(), file.read(), select.select()) 은 예상대로 작동다)
  • RubyLanguage/Expression . . . . 6 matches
         || if unless while until || 표현식 제자 ||
          * 꺼번에 변수 여러개 대입하기
          * 좌변값이 둘 이상이라면, 우변값과 대응되지 못 좌변값은 nil(없는 값)이 된다.
          * defined? 연산자: 매개변수가 정의된 경우 그에 대 설명을 문자열로 반환하고, 정의되지 않은 경우 nil을 반환
          * ===: case 항목의 when이 비교할 대상과 동일지 비교
          * 무루프. 탈출식이 반드시 필요
  • STL/vector . . . . 6 matches
         vector<int>::iterator iter; // 내부의 데이터들을 순회하기 위해 필요 반복자.
          질문 : 상식에 의거해서 실습 해볼 때 저 부분을 {{{~cpp vector<int> ar( &data[0], &data[2] ); }}} 로 했더니 계속 문제가 생겨서.. 오랜 삽질끝에 &data[3] 으로 해야다는 걸 발견 했습니다. 좀 이상 것 같네요. {{{~cpp data[3]}}} 이라는 것은 배열의 범위를 벗어나는 연산일텐데요.. 그곳의 리퍼런스를 얻어서 생성자로 넘겨주는게.. 상식에서 거부했나 봅니다. 두번째 인자로 배열 범위를 벗어나는 값을 받는 이유를 혹시 아시는 분 계십니까? --zennith
         ar.push_back(3); // ar의 뒤쪽으로 3을 추가다.
         // for 에서 반복자를 이용 순회 1
         // for문에서 인덱스를 이용 순회
  • Self-describingSequence/1002 . . . . 6 matches
          * 수열에 대 일반식이 있을까?
         어제에 이어서 고민하던 중, 문제점에 대해서 다시 생각. 결국은 f(k) 를 위 table 생성에서 메모리를 많이 쓴다는 점이 문제.
         수열의 값이 늘 증가다 할때 다음번에 검색하는 경우 앞에서 검색했던 그룹 아니면 그 다음 그룹임을 생각하게 됨.
          * 하지만, 수학적인 관계를 찾아내는데에는 역시 계를 보임. 그냥 퍼포먼스 향상을 위 알고리즘 개선법으로만 접근.
          * 다시금 '이 문제에서 요구 방법이 이 방법이였을까?' 에 대해서 고민하게 됨. 비록 원하는 성능은 나오긴 했지만.
  • SelfDelegation . . . . 6 matches
         앞장에 나온 두가지 질문을 상기해보자. 위임 객체의 주체성이 필요가? 위임 객체의 상태가 필요가? 이 두가지에 yes라고 대답하면 Simple Delegation을 쓸수 없다.
         위임된 객체가 위임하는 객체에 접근하려면 가장 쉬운 가지 방법이 있기는 하다. 바로 위임하는 객체의 참조를 가지고 있으면 된다. 하지만 복잡해지고, 깨질수도 있다.
         HashTable은 Collection으로 보낸 메세지가 뱉어낸 값을 기반으로 해쉬값을 계산다.
  • SimpleDelegation . . . . 6 matches
         위임을 사용할때, 당신이 필요 위임의 묘미(?)를 분명하게 해주는 도와주는 두가지 이슈가 있다. 하나는, 위임하는 객체의 주체성이 중요가? 이다. 위임된 객체는 자신의 존재를 알리고 싶지 않으므로 위임 객체로의 접근이 필요하다.(?) 다른 하나는, 위임하는 객체의 상태가 위임된 객체에게 중요것인가? 그렇다면 위임된 객체는 일을 수행하기 위해 위임 객체의 상태가 필요하다.(너무 이상하다.) 이 두가지에 no라고 대답할 수 있으면 Simple Delegation을 쓸 수 있다.
         객체의 주체성(?)에 대 예를 들면(제대로 이해했는지는 잘모르겠지만... ^^;)
  • Slurpys . . . . 6 matches
         스러피(Slurpy)란 어떠 속성이 존재하는 문자열이다. 문자열을 읽어서 스러피가 존재하는지를 판단하는 프로그램을 작성해야 다.
         첫 줄에는 {{{~cpp"SLURPYS OUTPUT"}}}을 출력다. N 개의 문자열 입력에 대해서 각 문자열이 스러피인지를 {{{~cpp "YES"}}} 또는 {{{~cpp"NO"}}}로 표기다. 마지막으로 {{{~cpp"END OF OUTPUT"}}}를 출력다.
         정확하게 이름은 생각나지 않지만 디지털공학 시간에 예제로 해보았던 자판기나 신호등 문제의 접근 방법을 사용하면 재미 있을것 같습니다. - [이승]
  • SmallTalk/문법정리 . . . . 6 matches
          * SBPP를 공부하기 위해 최소의 문법은 떼야하겠다는 생각이 들었다.
          * ^ 리턴 : Smalltalk 모든 메소드는 리턴다. C에서와 같은 void는 없다. 그래서 명시적으로 리턴 안해주면 self를 리턴다.
          * 선택자는 특정 기호(하나나 둘이상의 문자, 숫자가 아님)이고, 인수가 딱 하나만 있다.(the selector is one or two non-alphanumeric characters, followed by exactly one argument object)
         == 신기점 ==
          1. 메세지는 왼쪽에서 오른쪽으로 진행다. Evaluation is done left to right.
  • StacksOfFlapjacks/이동현 . . . . 6 matches
         해법은 일단 0~n 까지 케익 중 가장 큰 케익 바로뒤에 주걱을 꼽고 번 뒤집어 가장 큰 케익을 맨 위에 오게 후 다시 flip(1)로 뒤집어 가장 큰 케익이 맨 아래 n에 오게다.
         그 다음엔 0~n-1 까지 케익을 가지고 동일 동작을 반복하고.. 이렇게 최고 n번정도만 하면 팬케익이 작은것부터 큰것까지 정렬된다.
         시간 대부분을 입력받는것 짜는데 매달렸으나 아직도 입력부분을 문제에서 요구대로 완성하지 못했다.
         여러줄 입력받는걸 만들기 힘들어 일단 그냥 줄 입력받고 결과출력 하는 식으로 했다.
  • StandardWidgetToolkit . . . . 6 matches
         내부에서는 초기부터 SWT와 [Eclipse] 프로젝트의 역할이 분담되어, 과거 IBM developerworks 에 gcc를 이용 프로그램 작성에 대 문서가 있었으나, SWT를 이용 프로그램의 등장은 보이지 않았다. 그러나 분리되면서, 그러 프로그램을 기대할 수 있게 되었다.
          * swt.jar 를 classpath 에 잡고 다음 소스를 컴파일 다.
          * 실행을 시키기 위해서, 실행되는 위치에 swt-win32-2133.dll (Windows 경우)가 있어야 다.
  • Steps . . . . 6 matches
         수직선 위에서 정수 x에서 정수 y로 이동하는 과정을 생각해보자. 각 단계의 길이는 음이 아니어야 하며 이전 단계의 길이보다 1이 작거나, 같거나, 1이 커야 다.
         x에서 y로 가는 데 필요 최소 단계의 수는 얼마인가? 첫번째와 마지막 단계의 길이는 모두 1이어야 다.
         첫번째 줄에는 테스트 케이스의 개수인 n이 입력된다. 줄에 하나씩의 테스트 케이스가 입력되며, 각 줄마다 두 개의 정수 x, y가 입력된다. 0 ≤ x ≤ y < 2<sup>31</sup> 이다.
         각 테스트 케이스에 대해 x 에서 y로 이동할 수 있는 최소 단계 수를 줄에 하나씩 출력다.
  • SubVersionPractice . . . . 6 matches
          저장소에 있는 프로젝트를 사용자의 컴퓨터로 가져오는 명령이다. 사용자는 체크아웃 프로젝트를 가지고 작업다.
          작업 프로젝트를 저장소에 올리는 명령이다.
          프로젝트에 파일을 추가했다는 표시를 다.
          저장소에서 최근에 변경된 내용을 사용자가 작업하는 프로젝트에 적용다. (주의해서 사용)
         [CodeRace/20060105]을 checkout해서 자신이 작성 코드를 올리기
  • ThePragmaticProgrammer . . . . 6 matches
          이 책에서, Andrew Hunt와 David Thomas는 소프트웨어 설계와 코드 작성에서의 각자의 경험 가운데 얻은 많은 유용 노하우를 요약하여 문서화하고 있다.
          이들의 프로그램학은 구체적이며, 그 구현에 이르는 경로는 간결하다. 이들은 예를들어,하나의 텍스트 편집기를 배우게 되면 그것을 모든 것에 활용하라고 독자들에게 조언하고 있다. 또 권고하고 있는 것은, 심지어 가장 작은 프로젝트에 대해서도 버전트래킹 소프트웨어를 사용하라는 것이며, 규칙적인 수식구문과 텍스트 처리언어 학습의 장점을 계도하고 있다.
         번역서(실용주의프로그래머)를 번 다 읽었지만 다시 봐야 할 내용이 너무 많이 있다. 다루는 분야가 매우 넓으면서도 각 장은 시간이 지나도 값어치 있을 실용적인 정보를 담고 있다. 언제 멈출지 몰라서 ''그림은 물감 속에서 사라진다''나 ''프로그래밍을 우연에 맡기면 어떻게 되는가'' 같이 내가 습관적으로 잘못하고 있는 부분을 짚어주기도 다. -- [(leonardong)]
         꼭 번 읽어 보고 싶은 책이다. 도서관에서 반납되기만을 손꼽아 기다리고 있는 중. - [(namsang)]
          ''도서관 책중 권은 내가 가지고 있는중. 여차하면 이야기하기를..~ --[(1002)]''
  • TugOfWarInput . . . . 6 matches
         이 자료를 TugOfWar 프로그램에 넣으면 (심사 서버에서) 10초 이내에 다음 결과가 나와야 다.
         참고로 TugOfWar 온라인 로봇 심사위원은 틀렸다. 잘못된 프로그램(50,50,100,200 경우 답이 150,250이어야 하는데, 200,200인 프로그램도 통과)을 걸러내지 못다.
         사람이 총 네사람 있다. 몸무게가 각각 50, 50, 100, 200이다. 이 네사람을 두 팀으로 나눈다면 가능 경우는 둘 씩 나누는 경우 하나 뿐이다. (하나 셋으로 나누면 두 팀의 인원 차이가 2가 되어서 부적격) 둘 둘 나눌 때 두 팀 간 몸무게 차이가 최소가 되는 경우는 150, 250인 경우이다. 200, 200으로 나누는 것은 불가능하다. 그러나 현재의 온라인 로봇 심사위원은 이런 틀린 답이 나올 "예리" 테스트 케이스를 포함하고 있지 않아서 잘못 작성된 프로그램도 통과시킨다.
         제대로 작성된 프로그램은 당연히 온라인 로봇 심사위원의 테스트 케이스를 모두 통과하며, 게다가 덤으로 50,50,100,200 인 경우에도 통과다. 하지만 Programming Challenges 책에 실린 모법 답안 등의 프로그램은 로봇 심사위원의 테스트는 통과하지만 50,50,100,200 같은 경우는 실패다.
  • VMWare . . . . 6 matches
         유사기술을 적용 Linux [Xen] 커널이 등장하기 시작했으며, Xen 은 차후 나타나게될 멀티코어 CPU 환경(플랫폼 자체가 완전히 다른)에 적합 커널의 구축을 목표로 하고 있다고 다. (완전히 다른 프로세서라면 당연히 해당 머신에 접근하는 인터페이스 역시도 다를텐데 XEN 을 이용해 해당 부분을 추상화시켜서 접근하는 식으로..) 현재에는 해당 기술을 보안 분야에서 이용하기 위 연구가 진행중이며 기존의 단일 커널하의 커널모드, 유저모드 식의 구분이 아닌 관리자 커널, 애플리케이션 커널과 같은 구분으로 2개의 서로 다른 커널을 구현해 커널 단에서 애플리케이션이 머신에게 직접적으로 접근할 가능성을 원천 차단하는 방식의 연구가 되고 있다.
         VMWARE 는 보통 개발 중인 OS 테스트 환경, 임베디드 환경의 크로스 컴파일 환경, 개발 중 어플리케이션의 다양 플랫폼에서의 테스트 비용 최소화를 위해서 많이 사용다.
  • VMWare/UsefulFunctions . . . . 6 matches
         = VMWare 유용 기능들 =
         VMWare 는 크로스 컴파일링 환경에서 유용 기능을 몇가지 가지고 있다. 물론 해당 가상 머신에 VMWare Tools 라는 VMWARE 가 제공하는 프로그램을 올렸을 경우에만 작동다.
         가상 머신이 리눅스이고 VMWARE TOOL 의 바이너리와 호환성을 갖지 못다면 커널 드라이버를 컴파일 해서 설치해야함. (물론 VMWARE 설치 스크립트가 알아서 해줌, 우분투 DD 에서는 정상동작 하지 않았음. 데비안, 페도라 사용 가능함.)
         하단에 마운팅이 되며, NTFS 직접 마운팅과 달리 VMWARE 드라이버를 단계 거쳐서 들어가기 때문에 정상적이니 파일의 입력, 출력이 모두 가능하다.
         즉 윈도우 시스템의 IDE 를 이용해 프로그래밍하고 VMWARE 호스트 머신에서 컴파일 하는 과정을 최대 간단하게 만드는 방법이 이 VMWARE TOOLS 을 이용하는 것이다.
  • WikiProjectHistory . . . . 6 matches
         || ["MFCStudy_2002_1"] || 창섭(["Wiz"]), 정훈, 재민 || 방학중 MFC 와 클래스의 개념을 익히며 간단 결과물 작성 || 종료 ||
         || ["NSIS_Start"] || ["1002"] || 2002.2.1~2.9. NSIS Installer에 대 사용법 작성 ||종료||
         || ["ExtremeProgramming"] || ["1002"] || 2002.1.9~1.31. ExtremeProgramming 에 대 개념이해 & 정리 ||종료||
         || ["MFCStudy_2001"]|| 6명 || 2001.2학기~ 2002.1 MFC 를 이용 개인 프로그램 작성||종료||
         || ["MoreEffectiveC++"] || ["neocoin"] || 2002.1.14~3.8 '''More Effective C++''' 예제 중심 글화 || 종료 ||
         || ["OpenGL_Beginner"] || ["neocoin"] || OpenGL의 기초를 공부하고, 3D로 바꿀만 꺼리를 찾는다. ||유보||
  • WikiSandBox . . . . 6 matches
         '''아래 설명은 간단히 따라해 볼 만 내용들입니다'''
          * 여기서는 실제로 "?" 표시를 누르고 글로도 링크를 만들 수 있는 ExtendedWikiName 을
         ||||||겁나게 중요 Table||
          * 특정 페이지를 없애려 할 때, DeleteThisPage 과정 없이 바로 DeletePage 다. ( [페이지지
          * 아직 내용이 없는 페이지들을 일단 만들어 열거다.
         에서 [글쓰기의두가지모드], [필명을언제남길까] 등 미묘 부분들의 감각을 익히실 필요가 있습
  • WindowsTemplateLibrary . . . . 6 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의 인터페이스는 대부분의 윈도우즈 프로그래머들에게 친숙하다.
  • X . . . . 6 matches
          * 필명 : 주로 쓰이는 필명은 X.... (글자인데다가 영문이라서 깨질 염려도 없다 -_-)
          * 혈액형 : A RH+(국에서 가장 흔 혈액형 _ _)
         뭐 XBOX, PS2, NGQ까지 들어오는 마당에 GP32, GBA,.... 등등 많은 게임기들이 국 시장에 진출하거나 하려고 준비중이고 PC게임시장은 비상식적으로 자라나고 있고 거기에 시장이 거의 포화상태라고 나는 내다보고 있다.[[BR]]
         1권 ch1은 게임 프로그래밍에 관 전반적인 것과 룰을 가르치는데 대부분 C++이라 -.-[[BR]]
         우물쭈물 내 자신
  • XpWeek/20041221 . . . . 6 matches
         아침에 TDD하면서 [Refactoring]이 만만치 않다는 생각을 했다. 생각보다 PlanningGame이 오래 걸려 지루 느낌과 지친다는 느낌을 받았다. 고객의 입장일 때 내가 뭘 원하는지 명확하지 않았다. 그래도 내일은 왠지 잘 될 것만 같다.
         TDD 경험하면서 test class의 Refactoring을 어떻게 해야 될지 모르겠다. test 코드라 굳이 할 필요성을 못 느꼈고 테스트만 하면 된다는 생각이 들었기 때문이다. 인원이 적어서 고객과 개발자의 역할을 번갈아가면서 했는데 개발하기 쉬운 방향으로 생각을 이끌어나가는 것 같았다. 입장을 명확히 후 생각을 정리하고 표현해야겠다. 회의가 길어지면서 나타난 의욕상실이 아쉬웠다.
         음, 아침의 testOneWord와 testTwoWord는 꽤 만족 스러웠다. 자바에 대 재미도 약간씩 붙는듯 했고. 오후의 일정은, 전날의 피로함의 연속이었는지 뭔가에 홀린 기분으로 진행듯. 내일은 좀더 활기차게 했으면 좋겠다. 계획단계가 너무 오래걸려서 지루 면이 없지 않아 있었지만 소수의 참여자로 인 현상이라 생각하며.. ㅎㅎ --[박진하]
  • Yggdrasil . . . . 6 matches
          아~ 자세 사항은 아실 필요 없고~가 아니라...
          서식지: 주로 서울 강남구 압구정동에 자주 출몰다는 제보가 들어와 있음...
         제로페이지 세미나(5/15)에서 것입니다.
         1학년 2학기 중 자바 스터디에서 것[[BR]]
         여름 방학 중 C++ 스터디에서
          * ["BusSimulation/영동"] <--솔직히 시뮬레이션이라고 부르기도 민망 것[[BR]]
  • ZPBoard/APM . . . . 6 matches
         === 꼭 필요 것 ===
          * http://www.apache.kr.net - Apache 글 홈페이지
          * http://www.php.net/manual/kr - PHP 글 메뉴얼
         === 참고할만 자료들... ===
          *
          * http://www.phpschool.com - PHP 글 사이트 중 최고의 사이트^^
  • ZPHomePage/레이아웃 . . . . 6 matches
         가로크기 - 최대 1024, 세로크기 - 제없음(메인의 경우에는 스크롤바가 없어야된다고 생각해요 --[강희경])
          성만이가 디자인2 쓸 계획이었는데 어쩐담... 새로 만들기 보다는 색상작업이랑 아이콘 만드는거 도와주면 좋겠다 --[곽세환]
         전에 말 세로 메뉴는 없는 건가? --[강희경]
          * 구현하기 번거로운 기능이 너무 많은것 같습니다. 간단게 좋아요. 굳이 필요하다면 위키에 통합하는건 어떨까요? [자유게시판]처럼 말이죠. SeeAlso [YAGNI] - [임인택]
          * 집에가닥 글을 잘못썼다는 생각을 했는데 벌써 답글을 달았네요.. '''하면 안된다'''식으로 이해될 수가 있는것 같아 아차했습니다. 제 말의 요지는... 구현 기능을 사람들이 얼마나 사용할까.. 였습니다. - [임인택]
          * 음... 고칠 부분 있으면 번 만들어서 올려주세요~ 그러면 훨씬 더 이해하기 편하고 또 수정하기 편할 것 같습니다.^^;; [윤성만]
  • ZP의 나아갈 길 . . . . 6 matches
         어떠 조직이 잘 굴러가기 위해서는 먼저 그 조직의 정체성과 가치체계가 분명해야
         조직은 매순간 선택의 기로에 서게 되는데 지리멸렬 하지 않기 위해서는 그 기준이 정체성과 가치체계에 바탕을 두어야
         개인적으로 먼저 회장이 생각 바를 적어줬으면 함 - 김정현
         제로페이지의 정체성과 미래에 대해서는 수도 없이 논의되었었다. 내가 1학년 때에도 그랬고 내가 회장이 되어 데블스와 통합했을때도 그랬었다. 내가 3학년이 되어 휴학을 했을 때도 그랬고 이젠 내가 제대 후 복학했는데도 같은 논의는 계속 되고 있다. 이는 발전하는 모습일까 아니면 계속해서 맴도는 정체된 모습일까. 나는 온라인 상의 회의를 결코 가볍게 여기지는 않는다. 하지만 좀 더 활동적으로 실행에 옮기기 위해서는 오프라인 모임이 절대적이라고 생각다. 제로페이지가 정말로 모습을 바꾸고 싶다면 어느정도 알을 깨고 나와야하는 고통이 따를 것이라고 생각다. - 이창섭
  • ZeroPage/임원 . . . . 6 matches
         || 부회장 || 27기 || [재현] || ||
         || 부회장 || 27기 || [재현] || ||
         || 회장 || 24기 || [김성] ||
         || 총무 || 21기 || [고종] || RESIGNED ||
          * 2008 회장 [변형진](16기 06) -> [이승](14기 04)
          * 2005 회장 [이승](14기 04)
  • ZeroPageServer/Log . . . . 6 matches
          * 잡담으로 ZeroWiki에 부족 가지들 생각 해보기
          * A: 따로 스트레스 테스트 적은 없습니다. 흠. 업그레이드 하는편이 좋겠습니다. 1월 이내로 하겠습니다.
          ''간단 resin log analyzer를 만들어두었습니다. admin 안쪽 RLA.jsp로 확인바랍니다. 참, resin이 root 계정으로 동작하던데, 권을 바꾸길 바랍니다. (권을 바꿔줄때, 그 부산물 - jsp가 컴파일된 자바 소스나 클래스등 - 도 함께 권을 바꿔줘야 합니다.)''
  • ZeroPagers . . . . 6 matches
          * [재민]
          * [고종]
          * [김성]
          * [유선]
          * 이승 : [이승] - 06년 3월 초 입대.
  • ZeroPage소개 . . . . 6 matches
          * 네, 지금까지 우리가 해왔고, 또 할 목표에 좀 더 초점맞춰보면 좋을거같아요. 뭐랄까, ZP가 회장에 의해 해가 결정되는부분이 많겠지만 바뀌지 않는부분, 바꿀수있음에도 바꾸지 않는부분 과 같은것들을 통해 써보자는걸까요. -[김태진]
          * 변하지 않는 ZeroPage만의 가치를 말하는군요. 이에 대 의견은 설문조사등으로 원하는 ZeroPage상에 대해 의견을 모아보는 것도 좋겠네요. 다만 일관성있는 가치를 세우는게 좋겠습니다. 언행일치정도? - [서지혜]
         [제로페이지]는 공부하고자하는 뜻이 있는 사람들이 모인 일종의 인력의 장입니다. 그 안에서 뜻이 같은 사람들을 만날수 있기를, 또는 자신이 아는 것에 대해 다른 사람들에게 전달해줄수 있기를, 또는 자신의 부족 점을 다른 사람들로부터 얻어갈 수 있었으면 합니다. 개인의 이익들이 모여서 집단의 이익을 만들어가며, 집단의 이익을 추구하는 것이 곧 개개인들에게 이익이 되는 경지가 되었으면 합니다.
         여러가지 힘든 여건 속에서도 뜻이 있는 사람들의 수고와 노력으로 지금까지 이어져 온라인/오프라인 활동을 계속하고 있습니다. 지금까지의 ZeroPage 는 ZeroPage를 거쳐간 사람들이 만들어놓은, 혹은 현재 활동중인 사람들의 과정에 대 결과이며, 다시 많은 사람들에 의해 재창조되고 새로운 모습을 만들어나가게 될 것입니다. 언제나 '현재 진행형' 중인 학회이기를. 이 정의 또 사람들이 스스로 깨뜨리고, 더 좋은 방향으로 바꾸어나가기를.
          * ZeroPage는 컴퓨터공학부 내에 있는 학술 동아리로서, 올해 21년째를 맞이 하고 있습니다. ZeroPage에서는 Computer Science&Engineering 전반에 걸쳐 구성원들이 하고자하는 분야를 탐구하고, 프로젝트를 진행하고 있습니다. 또, 매주 정모를 통해 구성원들과 자신의 스터디, 프로젝트 진행사항들을 이야기하고 각종 세미나들을 통해 자신이 알고 있는 것을 다른 사람들과 공유하여 구성원들 모두가 함께 발전해나가고자 하는 동아리입니다. 또 새싹교실과 데블스 캠프와 같이 동아리 구성원이 아닌 학우들도 함께 참여할 수 있는 프로그램을 통해 함께 발전해나가고자 하고 있습니다.
  • bitblt로 투명배경 구현하기 . . . . 6 matches
         (AND연산이란? 0and0=0 0and1=0 1and0=0 1and1=1 다시말해 0과 and연산을하면 무조건 0으로! 1과 and 연산을하면 대입값 그대로 나오는,
         현제 사용중인 소스의걸 조금 변형해서 복사터라.^^ 실수가 없으면 좋으련만..
         현재 필요것은..
         귀차니즘을 방에 날려줄 #include <부지런함> 이 가능 전처리기.. 어디없나? 휴..
         결국 마스크 비트맵을 메모리상에서 만들어서 장 비트맵으로 투명 배경만들기하는 거 였네 ㅡ.ㅡ;
  • html5/communicationAPI . . . . 6 matches
          * 프로그램간에 비동식으로 메세지 전달 : 느슨 결합(loosely coupled)
          * 다대다 메세지 통신을 실현하기 위 API
          * start() : 포트를 이용할 수 있도록 다. 채널 메세징 수행시 각각의 포트에 대해 start()를 호출
          * 채널을 이용 메세지 송신
          // 포트를 이용 메세지 송신
          * 주의 : 배열안에 null이 포함될 때, 이전에 postMessage()의 인수로 전달된 적이 있는 포트가 포함될 때, 채널의 포트1과 포트2가 동시에 포함될 때
  • html5/web-workers . . . . 6 matches
          * 웹 워커 : 자바스크립트 코드를 백그라운드에서 실행하기 위 기술
         = 워커를 이용 프로그래밍 =
          * 워커 인터페이스 생성자에 JavaScript 소스 파일의 URL인수로 전달하면 소스파일을 내려받아 백그라운드에서 실행
          * onerror : 에러 포착하기 위 이벤트 핸들러
          * onmessage() : 워커로부터의 메세지 수신을 위 이벤트 핸들러
         = 워커에서 사용가능 변수, 메서드, 생성자 =
  • html5/문제점 . . . . 6 matches
          * 드래프트 표준에서의 일관성없는 구현 -> 아직 초창기인 만큼 완전 표준이 정립되지 않아서 개발자들의 구현에 일관성이 부족하다.
          * HTML5는 2012년에야 초안 단계에 이를 것이며 완전 인증을 받을 것은 2022년이 될 것으로 예상.
          * 표준 비디오 코덱이 정립되지 않았기 때문에 여러가지 코덱을 지원하는 다양 브라우저에서는
          * 아직 구현 하지 못 많은 기술이 있으며 일부는 아직도 논쟁 중이다.
          * 오디오, 비디오 재생 시 자동 감지에 의 재생, 고화질 파일 재생, 대용량 스트리밍 서비스,
          * 플러그인 기술은 데스크톱, 모바일 및 향후 멀티 터치 단말에 까지 확장 가능 유용성이 있다.
  • teruteruboz . . . . 6 matches
         번쯤 들러서 방명록 남겨주심 감사욧!!
         == 간단 소개.. ==
         {{{~cpp 가지만 잘했으면 좋겠는데요~ ^_^ 그 가지도 제대로 못해서 걱정입니다.
         회지를 준비중이랍니다~ ^-^ 뭐..많이 부족 BS지만...[[BR]]회지!! 기대해 주세요~ 참가를 바라시는 분들은...웅... http://csebs.woorizip.com 으로 신청해주시면..[[BR]]
         심사숙고하여 특별 악연으로 배치를...쿨럭...-_-;[[BR]]
  • wxPython . . . . 6 matches
         wxWindows 를 기반 다중플랫폼 Python GUI Toolkit.
         qt, gtk 로의 접근에 어려움을 갖는다면 충분히 배워볼만 툴킷. 정말로 쉽고, 다큐멘테이션, 예제프로그램의 제공 형태가 굉장히
         바람직 형태로 구성되어있다. 예제프로그램은 도움말 파일의 형태로 embeded 되어서 실행되는 코드로 구성되어있다.
         궁합이 좋다. (단지 PyDev 가 wx 모듈에서 발생는 exception handling 메시지를 보여주지 않기 때문에 불편하다)
         == wxPython 을 이용 GUI IDE ==
          * [http://www.roebling.de wxDesigner] - GUI 디자인 툴. GUI 디자인 결과물을 wxPython, wxWindows 등의 코드로 변환할 수 있다.
  • 고한종/배열을이용한구구단과제 . . . . 6 matches
         [고종]
          printf("배열을 이용 구구단. n을 입력하세요.");
          * 오 ㅋㅋㅋ 윤종하 게임 만들면서 열심히 공부했나보네. 근데 가지 말해주자면 getch()를 쓰면 stdin 버퍼에 입력받은 값이 계속 남아있어서 무루프같은 문제가 생길 수 있어. 그래서 fflush(stdin);이라는 문장을 getch()를 사용 이후에 번 써주는게 좋아. 근데 코드 대충 읽어보니까 n 누르는거 아니면 while 계속 돌아갈듯?- [윤종하]
  • 공개선언 . . . . 6 matches
         다짐 내용이 작심삼일이 되지 않으려면, 공개적으로 다짐을 밝히면 도움이 될 것 같네요.
         다짐 만큼 노력하고, 끝까지 유지하기.
         미친듯이 책 읽기.(읽을 분야와 책이 둘이 아니다. 도서관을 십분 활용하자.)
         패션감각 익히기.(가장 취약 부분이다. 나를 포장할 줄도 알아야다. 어렵지만 해보자.)
         언어 능력 기르기.(언어 능력은 나의 활동 무대를 넓혀줄 것이다. 최대 늘리자. 깊고 넓게.)
  • 금고 . . . . 6 matches
         새로 개발 금고의 견고함을 측정해서 광고하려고 하는데, 금고 K개를 가지고 이 빌딩의 F층이 몇 층인지를 알고 싶다. 가능 방법은 임의의 층에서 직접 금고를 떨어뜨리고 그 결과를 확인 하는 것 뿐이다. 물론, 부서진 금고는 다시 사용할수 없으며 부서지지 않았다면 다시 사용할수 있다.
         이런상황에서 K개의 금고를 가지고 F층이 몇층이던 간에 F층을 알아낼수 있는 최소의 금고 낙하 획수를 E(N,K)이라 하자. 예를 들어 K = 1이라면 F를 알아내기 전에 금고가 부서지면 안되기 때문에 1층부터 차례대로 올라가면서 금고를 낙하해야 하며 많아야 N번이면 F층을 알아 낼수 있다. 따라서 E(N, 1) = N이다. 건물의 층수를 나타내는 정수 N과 금고의 개수를 나타내는 정수 k가 주어 졌을때, E(N,K)를 계산하는 프로그램을 작성하시오.
         입력은 표준 입력(standard input)을 통해 받아들인다. 입력의 첫줄에는 테스트 케이스의 개수 T(1 <= T <= 10)가 주어진다. 각 테스트 케이스는 줄에 빌딩 전체 층수와 금고의 개수를 의미하는 두개의 정수 N과 K(1 <= K <= N <= 500)가 순서대로 주어진다.
         출력은 표준출력(standard output)을 통하여 출력다. 각 테스트 케이스에 대해서 E(N, K)를 줄에 하나씩 출력하시오.
  • 데블스캠프2003/셋째날/후기 . . . . 6 matches
          * 그동안 C언어에만 제되어있던 사고의 범위를 다른 여러 언어를 접해보면서 넓히는 계기가 되었다...그 후에 짰던 ramdomwalk는 알고리즘에 확신이 섰는데도 불구하고 다 완성하지 못해 아쉬웠다...나중에 꼭 완성해야지.. --[문원명]
          * 현재 램덤워크를 해보는중 풀릴듯 데 이상하네 리턴값이 문제인거 같은데 어떠케 잡아야 할지 모르겠군;; 오늘 접 많은 언어들 식상표현이겠지만 너무나 좋았다. 씨뿔뿔과는 다른 언어들.. 오늘까지 하면서 이번 방학동안에 멀 해야 하는지를 깨달았다 마냥 놀아서는 도저히 남을 따라가지 못함을 남을 따라간다기 보다는 더욱 발전해야할 그리고 앞으로 발전 되있을 나의 모습을 보기 위해서. 더욱 힘을내자. 지금의 어려움은 아무것도 아니다. 아자!! -- [변준원]
          * 나 역시 새로운 언어들을 보면서 오길 잘 했다는 생각이 들었다. 앞으로 종종 사용할 수 있는 언어들은 사용할만 기회가 오면 좋겠다. --[snowflower]
          * 어제 이번 1학년들이 C 와는 다른 언어들을 봤는데 그냥 구경에서 그치지 말길 바란다. 직접 다른 언어도 공부 해보고 많은 걸 배웠으면 다. --재동
  • 데블스캠프2003/첫째날/후기 . . . . 6 matches
          * 오늘 농활에서 돌아와서 피곤 바람에 계속 졸았습니다. 똥오줌 못 가려서 죄송합니다. -영동
          * 다들 잘하네요..ㅠ.ㅠ 전 무지 어려웠는데..흑흑; 오늘밤에 나올수 있을까? 그래도 이왕 하기로 결심거 열심히 >_< 근데 안되는 문제는 정말 생각해내기 힘드네요.. ㅠ.ㅠ - [방선희]
          * 코딩하면서 해뜨는걸 보니 감회가 새롭네요. 함께 모든분들 수고하셨습니다. - [장창재]
          * 정말 쉬운프로그램에서도 많이 막힌 모습이 심스럽네요... 2학기때는 더욱 열심히 프로그램 공부를 해야게써요오~ ㅡㅜ;; --[동일]
          * 내가 하는 것만 하느라.. 제대로 도와주지 못것 같아서 미안하다 -_-;; 어쨌든.. 다음 참가날에는... 더 잘 해주고싶다..ㅡ.ㅡv --[snowflower]
          * 잘하지도 못하면서 더군다나 늦게온 터라 아무튼 너무나 애먹고 있습니다;; 진작에 공부를 열심히 했어야 하는건데 학점이 이렇게 나오는게 너무나 당연 일인거늘 오늘도 늦게 가는데 일났네.. 이제 시작이네요 더욱 열심히 하겠습니다 데블스캠프 끝날때는 나도 먼가 발전을 했구나 하는 마음이 꼭 들수 있도록 아자!! -- [변준원]
  • 데블스캠프2004/금요일 . . . . 6 matches
          개발 역사는 사장 직전의 Java를 구 Servlet-JSP 기술이 빠졌고, 2001년 기준의 'JavaTM 2 Playtform 1.3,'는 현재 J2SE 로 이름을 바꾸었지요. 1.4는 1년도 전에 나오고, 1.5 가 8월에 발표됩니다. Java는 major upgrade 시 많은 부분이 변경됩니다
          책을 보고 했는데 문제가 많았나 봅니다; 미숙 발표여서 죄송합니다 (__) --[iruril]
          저는 발표를 못봐서, 미숙지 모릅니다. 그러나 PT가 그대로 진행되었다면, 사실과 다른 내용은 충격적이군요. 다음부터라도 반드시 타인에게 감수를 받거나, 자신에게 납득할수 있는 내용을 담으세요. --NeoCoin
         ===== 간단 예제프로그램 작성 및 테스트 =====
          * JFrame의 show() 메소드 -> 프레임창을 보이게 다.
          * addMouseListener 로 마우스 핸들러를 추가다.
  • 데블스캠프2005/RUR_PLE/조현태 . . . . 6 matches
         단 삐삐는 미로의 출구(즉 미로의 외곽벽과 인접 위치)에 있어야만 다.
         저번 소트 알고리즘을 층 강화 고속 소트알고리즘이다.
         리펙토링이 덜된 이유는 리펙토링을 하면 할수록 느려지는듯 문제가(인터프리터방식으로 인듯)있는듯 하기때문 입니다.
  • 데블스캠프2011 . . . . 6 matches
          || 4 || [변형진] || [:데블스캠프2011/첫째날/개발자는무엇으로사는가 개발자는 무엇으로 사는가] || [김동준] || [:데블스캠프2011/둘째날/Cracking Cracking - 창과 방패] || [김준석] || [:데블스캠프2011/셋째날/RUR-PLE RUR-PLE] || [이승] || [:데블스캠프2011/넷째날/ARE Android Reverse Engineering] || [이정직] || [:데블스캠프2011/다섯째날/Lua Lua] || 11 ||
          || 5 || [변형진] || [:데블스캠프2011/첫째날/개발자는무엇으로사는가 개발자는 무엇으로 사는가] || [김동준] || [:데블스캠프2011/둘째날/Cracking Cracking - 창과 방패] || [김준석] || [:데블스캠프2011/셋째날/RUR-PLE RUR-PLE] || [이승] || [:데블스캠프2011/넷째날/Git Git-분산 버전 관리 시스템] || [변형진] || [:데블스캠프2011/다섯째날/HowToWriteCodeWell How To Write Code Well] || 12 ||
          || 7 || [송지원] || [:데블스캠프2011/첫째날/Java Play with Java] || [:상협 남상협] || [:데블스캠프2011/둘째날/Machine-Learning Machine-Learning] || [윤종하], [황현] || [:데블스캠프2011/셋째날/Esolang 난해 프로그래밍 언어] || [이승] || [:데블스캠프2011/넷째날/Git Git-분산 버전 관리 시스템] || [변형진] || [:데블스캠프2011/다섯째날/HowToWriteCodeWell How To Write Code Well] || 2 ||
          || 8 || [송지원] || [:데블스캠프2011/첫째날/Java Play with Java] || [:상협 남상협] || [:데블스캠프2011/둘째날/Machine-Learning Machine-Learning] || [윤종하], [황현] || [:데블스캠프2011/셋째날/Esolang 난해 프로그래밍 언어] || [서지혜] || [:데블스캠프2011/넷째날/루비 루비] || [변형진] || [:데블스캠프2011/다섯째날/HowToWriteCodeWell How To Write Code Well] || 3 ||
          || 9 || [송지원] || [:데블스캠프2011/첫째날/Java Play with Java] || [:상협 남상협] || [:데블스캠프2011/둘째날/Machine-Learning Machine-Learning] || [윤종하], [황현] || [:데블스캠프2011/셋째날/Esolang 난해 프로그래밍 언어] || [서지혜] || [:데블스캠프2011/넷째날/루비 루비] || [김수경] || [:데블스캠프2011/다섯째날/Cryptography Cryptography], 회고 || 4 ||
  • 디자인패턴 . . . . 6 matches
         디자인패턴에 대 설명이라.. 다른 곳에서 이미 체계적인 설명들을 해 놓아서 장황하게 설명하지 않는다고 다면, 말 그대로 '패턴'이 된 디자인들의 묶음입니다. (물론 그렇다고 패턴이 모든 디자인 문제를 해결해주는 silver bullet는 아니죠.) 처음 프로그램을 설계를 할때 참조할 수 있는, 어느정도 공식화 된 디자인들을 일컫습니다. 현재 거의 Reference화 된 23개의 패턴이 있고요. 계속 새로운 패턴이 추가되고 있는 것으로 알고 있습니다.
         그리고 편으로는 Refactoring을 위 방법이 됩니다. Refactoring은 OnceAndOnlyOnce를 추구합니다. 즉, 특정 코드가 중복이 되는 것을 가급적 배제합니다. 그러 점에서 Refactoring을 위해 DesignPattern을 적용할 수 있습니다. 하지만, Refactoring 의 궁극적 목표가 DesignPattern 은 아닙니다.
         그리고 디자인패턴이 하나의 설계언어가 되지요. '이클래스를 어떻게 연결하고 이 부분은 어떻게 구성하고...' 를 '~패턴으로 구현하고' 라는 마디로 줄일 수도 있죠. (단, 이정도가 진행되려면 거의 PM쯤이 아닐까 하는..)
  • 만년달력/곽세환,조재화 . . . . 6 matches
          weekDay=( weekDay+monthDays(year,i+1)%7 ) %7; // 입력 월의 요일을 구다.
          if(weekDay==7)//0~6 을 일~토 라고 했을때 토요일값을 입력하면 칸 뛰운다.
          getMonthWeekDay(weekDay,monthDays(year,i+1)%7); // 입력 월의 요일을 구다.
          if(weekDay==7)//0~6 을 일~토 라고 했을때 토요일값을 입력하면 칸 뛰운다.
  • 문자열검색/허아영 . . . . 6 matches
         앞으로 실수하지 않게 데블스캠프때 배웠듯이, 건축에 있어서 설계를 작성하는것은 중요 것 처럼
         그냥 알고리즘을 생각했다. 어떻게 보면 복잡 것 같기도 하다.ㅡㅠ
         단어의 시작을 중점으로 다.(나는 문자열 이라기 보다는 단어 검색 중심으로 짠것같다.)
         문장 속의 단어의 첫 글자와, 찾아볼 단어의 첫글자의 동일가 부터 시작다.
         === 나테 할 말 ===
  • 물푸 . . . . 6 matches
          만화책은 100권을 읽었고, 책은 28권을 읽었는데... 그림책이 대다수이니...쩝 2월 마지막 2주동안 책을 멀리 했더니 계획에 차질이 많이 생겼네요. 겨울방학에 거라고는... 숨만 나오지만 오랫동안 후회만 하지는 않으렵니다. 대신 3월을 바쁘게 보내야지욤.
          * '''어바웃 어 보이(about a boy) : 닉혼비'''(2003.3.27) - 어른이 되지 못 어른들을 위 이야기
          * '''이중간첩 : 구본'''(2003.4.12)
         === 2003년 해 계획 ===
  • 방울뱀스터디/Thread . . . . 6 matches
          만약 여러 쓰레드가 변수를 동시에 변경하려고 할때 문제가 생길 수 있다.
          값을 갱신하려 하는 중간에 다른 스레드로 교체되면 바르지 못 정보가 생길경우가 있기 때문이다.
         2. thread.release() - 락을 해제다. 다른 쓰레드가 이 코드 영역으로 들어갈 수 있는 것을 허락하는 것이다.
         lock = thread.allocate_lock() #여기서 얻은 lock는 모든 쓰레드가 공유해야 다. (->전역)
         g_count = g_count+1 #필요 코드 수행
         lock.release() #락을 해제. 다른 쓰레드가 ㅇ코드영역으로 들어갈 수 있도록 허락다.
  • 부자아빠가난한아빠1,2 . . . . 6 matches
         = 부자 아빠 가난 아빠 1,2 =
          * 나 자신을 위 사업을 하자.
          * 투자가 위험게 아니라 배우지 않는 것이 위험 것이다.
          * 자유와 안정중 하나를 선택해야 다. 투자를 할때 도박처럼 무작정 찍거나, 다른 사람들 말에 쉽게 흔들릴 수 있다. 그렇게 쉽게 현혹되지 않도록 노력해야 다. 원인 없는 결과는 없다. 투자하면 꼭 수익을 올릴수 밖에 없는 구조라는 걸 알아내고 나서 투자하자. 투자에 대해서 여러 사람들의 이야기를 들어 볼때는 그것이 그 사람에게 어떤 이익을 줄지 파악하면서 듣는다.
  • 사랑방 . . . . 6 matches
         ["사랑방"]은 이것저것 잡다 이야기를 할수 있는 곳입니다.
         purely functional language - Haskell 로 구현 quick sort algorithm..
         음.. 편건지 사기인건지 잘 구분이 안간다 -_- --["zennith"]
          ''약간은 사기라고 봐도 됩니다. 퀵소트에서 첫번째 원소를 피봇으로 잡는 경우가 헤스켈에서 아주 간단히 표현될 수 있다는 점을 이용 것이죠 -- 첫번째가 피봇이 되면 문제가 생기는 상황들이 있죠. 보통 헤스켈의 "간결성"을 강조하기 위해 전형적으로 사용되는 예입니다. 뭔가 독특 점을 강조하기 위해 쓰인다는 것 자체가 이미 약간의 과장을 암시하고 있습니다. see also Seminar:QuickSort --JuNe''
         regular expression으로 다음이 표현가능지.
  • 새싹교실/2011/AmazingC/6일차 . . . . 6 matches
          * 함수엔 반환형이 존재다.(반환형을 쓰지 않아도 된다)
          * 함수의 선언부: 반드시 함수 호출하기 전에 선언을 해놓아야 다!!
          * sum2의 경우 호출시 메인함수 위에 선언이 되어있나 확인 다음 sum2의 정의부를 실행다!!
         6일차를 너무 늦게 올렸다. 얘들아 미안 ㅋㅋㅠㅠ 함수에 대해 좀 자세하게 알려주고 싶어서 2파트로 나눴다. 함수의 기본적인 개념들이라, 그리 어렵진 않았을 것 같다. 그리고 삼항 연산자를 이용해서 팩토리얼을 계산하는 방법도 알려주었다. 다음 시간엔 지역변수,전역변수,정적변수에 대해 배우고, 함수를 이용 다양 연산을 연습합니다.-[[신기호]]
  • 새싹교실/2011/Pixar . . . . 6 matches
          * [김수경]이 가르치고 김연석, 이승열, 광운, 오상준이 배우는 반입니다.
         || || 김연석 || 이승열 || 광운 || 오상준 ||
          1. 어떤 것이든 완벽 것은 없죠. 그러니 새싹교실을 진행하고 나면 ''다음에는 이렇게 하면 더 좋을텐데''싶은 것들이 있을거예요. 그런 것들을 후기에 적으면 다같이 읽어보고 다음 시간은 더 나아진 새싹 교실을 진행할 수 있을거예요.
          1. 수년간 경험해보아 알겠지만 사실 들은 것은 기억에 잘 남지 않습니다. 교수님께서 분명 지난주에 가르쳐주신 내용이 이번주엔 생각이 나지 않죠! 그런데 어떤 것을 배웠는지 끝나고 번씩 되짚어보면 그냥 듣기만 했던 것보다 더 기억에 잘 남는답니다.
          * 아직은 링크를 눌러보는 것이 어색 그대들을 위 간단 설명
  • 새싹교실/2011/學高/4회차 . . . . 6 matches
          * 세개의 정수를 받아들여, 그 수를 모두 더 후 7를 더하면 얼마인지 출력하는 프로그램
          * 피자 넓이와 조각 당 가격 소스(양대 과제ㅋ)
          * 준비가 살짝 미흡해서 학생들이 잘 이해를 하지 못 것 같았습니다.
          printf("정수3개의 합에 7을 더 값: %d\n", x+y+z+7);
         완전 편의 소설-
         float 와 double에 배웠는데, 더블이 좀더 정확 수를 표현할때 쓰는 수이구여 .
  • 새싹교실/2011/씨언어발전/4회차 . . . . 6 matches
         * Zeropage 정모에 대 안내(다음 정모 "새싹과 함께하는 위키 놀이" 안내)
         함수의 장점 : 복잡 함수를 여러번 쓸필요없이 번 정의하여 불러와 쓸수있고 코딩이해에 도움이된다.
         재귀함수는 함수안에 자기함수를 써서 계속 불러다 계산다.
         수업시간에 자서 못들었던 함수에 대 내용과 지역변수 전역변수 static 변수 를 배웠다.
         봉봉교수님의 마성의 목소리를 들어 잠의 세계에 빠졋는데 static 변수는 지역함수와 비슷 것인데 값이 날라가지 않는다는 것이 특징이다.
  • 새싹교실/2012 . . . . 6 matches
          * ZeroPage가 주관하고 Netory, CLUG 회원을 비롯 컴퓨터공학부 재학생들이 선생님으로 참여.
         ||1||[새싹교실/2012/ABC반]||이민규, 김현기, 모영종, 주만 || 6회차 진행 || 금요일 5시+ 수시 ||
         ||16||[새싹교실/2012/양념반후라이드반]||고종, 윤민욱, 이선로||6회차 진행|| 목 3시 ||
         ||18-2||[새싹교실/2012/AClass]||김태진, 황혜림, 송이, 곽길문, 도상희 ||6회차 진행|| 수 3시(6/13종강) ||
         ||20||[새싹교실/2012/주먹밥]||김준석, 박도건, 용상훈, 원표|| 8회차 진행|| 수 6시 ||
          새싹교실/2012/ -> 이뒤에가 /가 들어가지 않는것이 계속 반복되면서 [^/]로 끝나는 문장 으로 검색것임
  • 새싹교실/2012/벽돌쌓기 . . . . 6 matches
          * 일반적으로 많이 쓰이는 반복문과 조건문을 설명하는 데에 있어 시간을 많이 투자하였고, 본 강사의 예제 코드를 따라 입력하게 뒤, 디버깅을 통하여 어떻게 구현되는가를 설명하였다.
          * 허나 1회차의 내용을 제대로 복습하지 않아 1회차 내용을 다시 설명하는 데 시간이 조금 걸렸고, C언어를 배우는 데 있어서 필요로 되는 프로그래밍 능력 또 키워주어야 다고 판단 되었다.
          * 본 강사의 몸 상태가 좋지가 않아 총 2시간의 강의를 진행하였고, 진도 내용 또 부실하였다고 판단하고 반성다.
          * 함수의 구현에 있어서 기본적인 int main(void) {}로 시작하여 간단 swap함수와 add함수를 구현하여 설명하였고 return값이 정확하게 어떤 의미를 띄는지 함수선언의 자료형에 맞춰 강의하였다.
  • 새싹교실/2012/아우토반/앞반/3.29 . . . . 6 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 개념 설명 위주로 수업을 진행하였다. 아무래도 포인터를 배우기에 앞서 필요 메모리 동작에 대 지식을 이해시키려면 좀 더 시간이 걸릴 것 같다. 실습하는 시간도 필요할 것 같다. 수많은 런타임 에러를 겪고 나서야 포인터를 느낄 수 있으니까... 긴장타시오 다음 시간엔 멘탈붕괴가 일어날 테니깐! - [장용운]
          * 개념 설명 위주로 수업을 들었다. 그런데 집중을하는데 잘 안들어왔다 왜그렇지 왜그런거지 왜그랬을까. 난 아직 갈길이 멀다는 걸 느꼈다. 포인터 쪽은 번에 전부 이해하기 힘드니 실습을 병행해 자주 봐야겠다.. 멘탈을 강화시키는 연습을 해야겠다
          * 프로그램 분석을 하고 설명을 들었습니다. 설명을 들을때 이해도 되고 몰랐던 사실에 대해 알게 되어서 좋았습니다. 그런데, 프로그래밍에대해서 조금 안다고 해서 제가 뭐가문제인지, 무엇이 부족지 잘 몰랐는데 수업을 하면서 알게되었습니다. 성준이나 저나 완전히 모르는게 아니라 수업 진도가 빨랐었는데
  • 새싹교실/2013/라이히스아우토반 . . . . 6 matches
          * 라임을 맞추면서, 최대 길고, 그나마 공학 냄새가 덜 나며, 북어가 아닌 명사를 선정.
         [고종],[임지훈],[이명연],[지영민],[박경준]
          * 새싹을 통해 정말로 유용 측면에서의 언어를 배우고 컴퓨터언어를 최대 마스터 하는 쪽으로 노력하겠습니다.!!-[박경준]
         ~~아무도 후기를 쓰지 않은채 달이 흘렀다. 망했다~~
  • 새싹교실/2013/케로로반 . . . . 6 matches
          * C언어의 유래와 C언어를 배워하는 이유, Hello World를 출력하는 소스를 짜고, 이것에 대 설명과 함께 함수를 곁들이기... 하다가 return 설명하는데 30분을 버리고 ~_~
          * 저 혼자 떠드는 듯 느낌을 또 받았습니다.
          * while문을 통해 1~10 까지 출력시키는 구문을 작성하고, 이를 통해 for문이 필요 이유에 대해 설명해 주었습니다.
          * if else문을 이용하여 해결 학생은 else문의 필요성을 알 수 있게 했습니다.
          * if와 else if를 익히고 switch case문을 익힌 뒤, 둘의 비슷 점과 차이점을 익혔습니다.
          * 지역변수가 다른 함수에서 접근이 불가능 이유와 call-by-value
  • 성의과학 . . . . 6 matches
          * 이 수업은 어떤 교수 수업을 듣느냐에 따라서 고등학교 생물 수업이 될수도 있고 유익 수업이 될수도 있다. 교수 이름은 잘 기억이 안나지만 하여튼 잘 가르치는 교수테 꼭 들어야 다. 불행히도 난 교수를 잘못 선택해서 고등학교 생물수업이었다. 내내 잤다. 남는게 없었다. -_- [상협]
          * 나는 이 수업은 2명의 교수에게서 들었다. ( 고로 재수강이었음 :( ) 분은 잘 기억이 안나지만 남자 강사였고 다른 분은 여자 강사였다. 단순히 성으로 구분해서 평가하기는 이상할지도 모르지만 후자의 여자 강사분으로부터 더 좋은 점수를 받을 수 있었고 더 좋은 강의를 들을 수 있었다. 일단 그 이유로는 시청각 자료의 활용과 거침없는 표현들 이었던 것 같다. 시청각 자료로는 성 정체성을 주제로 다루는 영화( 제목은 잘 기억이 나지 않는다. )를 보여줬는데 내용이 지루 것이 아니어서 수업시간에 집중해서 볼 수 있었다. 무엇보다도 인상적인 부분은 강의때 표현하는 방식이었다. 교과서에 나와있는 내용을 그냥 읽는 것이 아니라 나름대로의 경험(?)에 빗대어서 설명을 해 나갔다. 그리고 남자 학생들의 수보다 여자 학생들의 수가 더 많았다는 것이 신기했다. :) --[구근]
  • 소수구하기 . . . . 6 matches
         50000 이하의 모든 소수를 구다. 추천 목표시간은 1초 이내입니다.
         정말 정말 급건데요
         누군가 [자유게시판]에 다음과 같은 문제를 질문을 했다. 글이야 기분나쁘지만, NeoCoin은 이것이 pc로 가능가가 궁금해 졌다.
         '''문제정의 1'''의 50000이하 소수를 구하는 소스중 남훈이의 소스에서 제곱근 연산을 넣고, 모든 인자를 static, 컴파일러 옵션을 최대로해서 돌렸다. 출력은 필요 없으므로, 시간과 갯수만 출력다. (Duron 800 MS VS.NET 2003)
          마침 정수론을 보고 있었습니다. 허나 제시된 '임의의 큰수에 대 소수 판정 방법'에서 위의 시공간의 문제를 줄여줄 여지가 보이지를 않내요. 저 문제 내준 사람은 어떻게 풀라는 궁금해요. 11자리라.. 좀더 생각해 봐야겠습니다. --NeoCoin
          BBC의 방송 기사를 옮겨서 기사가 부실것 같다. [http://bbs.kldp.org/viewtopic.php?t=39037&highlight=%BC%D2%BC%F6 관련내용] 그리고 이해가 안가는게, 메르센 소수를 발견하는게 그 사람의 목표였는지, 아니면 발견된것이 메르센 소수인지도 이해가 안가게 해두었지. 것참 관심없는 내용이라고 저렇게 해둔건가.--NeoCoin
  • 식인종과선교사문제/변형진 . . . . 6 matches
         이 문제를 푸는데 흔히 이용되는 Backtracking 기법을 사용하지 않고 구현하는 방법이 없을까 해서, Case-by-case로 최소의 상황에 대 처리 방법을 지정해보았다.
         가능 모든 cases를 분석 결과 우로 건너기와 좌로 건너기에서 각각 상황에 따라 3가지 건너기 방법이 사용될 수 있었다.
         '''그러나 여기에서 사용 방법은 모든 cases를 사람이 직접 조건 별로 분류해 주어야 하므로 결코 좋은 방법이 아니다.'''
          * 모든 케이스를 DB에 저장해서 푸는것과 비슷하게 머신러닝으로 학습시켜 풀게 만들면(문제 해결에 관 state를 저장했다가 푸는것이므로 유사하다고 생각했습니다) 정답률이 얼마나 나올까요? - [[bluemir]]
  • 여사모 . . . . 6 matches
          * 차장 : 진성훈, 이재환, 이승
          배열, 구조체, 스택, 큐, 링크드 리스트, 이진트리(-_-;)등의 자료구조를 통 C공부!
         다음 주제가 뭐에요?? 예습할 건덕지를 주세요~>__<; 예습할 건덕지를!! - :) [이승]
         == 승이 궁금증 ==
         때문에 이상 값이 출력되는 거지. cout << a; 라고 해보면 이상 문자들이 출력되는게 보일꺼야. 7,8을 입력
  • 열정적인리더패턴 . . . . 6 matches
         스터디 그룹은 지속적인 에너지(EnduringEnergyPattern)를 갖고 안전 장소([안전장소패턴])가 되기 위 리더십이 필요하다. 이 패턴은 이런 특성을 만들기 위해 리더가 해야할 일을 설명다.
         때로는 다양 사유로 인해 리더가 그룹을 이끌지 못할 수도 있다. 이게 짧은 기간이면 대체로 문제가 되지 않는다. 하지만 어느 정도 기간 동안 그룹의 리더가 공석이 된다면, 누군가가 나서서 그 역할을 맡아야 다. 일반적으로 이미 그룹에 대해 열정적인, 적극적 참여자(ActiveParticipantPattern)가 좋은 선택이다. 그러나 언제나 최선은 역할을 맡겠다는 지원자이다.
  • 오픈소스검색엔진Lucene활용/세미나060401_2시 . . . . 6 matches
          * Lucene 에 대 간단 소개.
          * 글 관련 문제 해결 설명하기.
          * 자신의 프로그램에 검색이 필요 경우 굳이 새로 만들기 보다는 기존의 검증된 오픈소스를 활용하기 위 방법을 소개해 드릴 예정입니다.
  • 위키설명회 . . . . 6 matches
          * 설명 사람 : 나휘동
          * Rename, [문서구조조정]을 통해서 [Refactoring]을 경험하고, 이것이 프로그래밍의 영역에서 어떠 관점을 가지고 있는지 이야기 해 본다.
          * 현재 위키가 사용되는 곳들을 예시하고 (국 Gnome 사용자 모임, 데비안 사용자 모임, kldp ) 일정 주제에 대 자료 찾거나 서핑의 시간 (20~60분) 가진후 서로다른 쓰임새에 대하여 토의해 본다.
          * 위키의 자유와 방임에 대 문제에 대하여 토의해 본다. (각 이야기바다 경험자의 사례들이 나올 수 있다.)
          * [위키설명회] 도중에 난감했던 가지는, 파란아이를 통해 이전 문서의 원문을 볼 수 없어서 페이지 내용을 복구하는 방법을 저조차 모르고 있다는 사실을 안 것입니다. 원래 파란아이로 원문을 볼 수 없었나요? --[Leonardong]
  • 위키요정 . . . . 6 matches
         위키는 마치 정원같다. 그래서 꾸준히 잡초는 뽑고, 큰돌은 치우고 물을 주고 자라는대 방해하는 가지는 제거해 나아 가야 다.
         관련 기술들을 NoSmok:WikiGardening 에서 참고 할수 있다.
         공개된 [위키위키]들은 누구나 [위키요정] 될수있고, 누구나 되기를 권장다.
         하지만 위키는 일전에 창준이형 말씀대로 NoSmok:WikiGardening 처럼 구두를 수선하는 것보다 정원을 다듬는 은유법이 더 어울리는 것 같다. 망가지지 않도록 끊임없이 관리하는 것, 정원일이란 그대로 두면 인간에게 불편 자연을 좀더 편하게 즐길수 있게 만드는 작업이라서 그러 것일까?
         위키를 옳은 방향으로 이끌어 나간다는건 힘든일 같습니다. 수십페이지를 올바른 방향으로 수정하면서 드는 생각은 이렇게 했을때 이 글을 쓴사람이 기분나빠서 위키를 쓰는것을 꺼려하지 않을지 걱정되기도 합니다. 내가 올바른 방향으로 생각하는 것이 다른사람에게는 옳지 않은 방향일지를 항상 고민합니다. 하지만 가끔은 리누즈 토발즈 같은 좋은 독재자가 필요것도 같습니다. - [안혁준]
  • 이승한/tip . . . . 6 matches
         까먹을지도 모르는 간단 코딩 팁을 적어놓는 장소
         잘 알지는 못하지만 XOR을 활용할수 있는 다양 방법이 존재할듯.
         그 외의 #pragma 의 기능이 많다고 다. 뭘까. 알고싶긴데. 영문이라 압박이다.
          pragma once 는 해당파일을 번만 인클루드하게 하는것임 - [임인택]
         [이승]
  • 정규표현식 . . . . 6 matches
          * 환경 : [http://groups.google.com/group/zeropageregex google 그룹메일]을 통 메시지 전달 / Wiki를 통 스터디 내용 저장.
          * 4명 : 04 [이승], 06 [김준석], 08 [김홍기], 10 [김상호]
          * 스터디 모임요약본은 정규표현식/모임 안에 날짜별로 카테고리를 만들어 작성
          * Wiki 문서 작성시 안의 내용은 자유이나 맨위에 정규표현식 내용 링크 리스트는 모두 나와야하며 스터디문서에서는 정규표현식 링크와 스터디 링크만 나와야 하며 반대로 모임문서에서는 정규표현식 링크와 모임 링크만 나와야다.
          * 모임 문서에는 그 전모임에서 문서의 해당 모임까지의 결과를 링크시켜야다.
  • 정규표현식/모임 . . . . 6 matches
         * [이승] : 정규표현식S/W , 정규표현식번외
         문자열과 패턴들을 제시하고 적절 문자 찾기.
         이번 챕터에서 제시 내용을 활용해야 다.
         각자 문제씩 내면 총 4문제.
         04 [이승], 06 [김준석], 08 [김홍기], 10 [김상호]
  • 정규표현식/스터디/문자집합으로찾기/예제 . . . . 6 matches
         == 문제 - 이승 ==
         === 풀이 - 이승 ===
         === 풀이 - 이승 ===
          1. 아래 예문을 리스트 정의([])로 꺼번에 특수문자들을 찾아보아라.
          1. '#'뒤에는 항상 6개의 글자가 나타난다. #과 다음 규칙을 가진6글자를 리스트 []와 반복을 통해 번에 찾아보시오
         === 풀이 - 이승 ===
  • 정모/2004.9.24 . . . . 6 matches
          * 로보코드 - 로보코드 소개, 구현 및 play, 처음이자 마지막으로 모임 번 예정
          * 3D RPG - 민수 등 커스 팀의 caucse전시회 참가 예정 , 간단 퀘스트, 돌아다니며 몬스터 사냥
          방법론, 위키활용 - 지식관리, 다양 것, 자유롭다, 회의, 숙제를 스스로, 새로운 것을
         병원 가보느라 못 가봤습니다. - [이승]
         저번에 수업때문에 번 빠지고 나니 정모가 언제하는지 모르겠어여..=_=;
  • 정모/2005.12.15 . . . . 6 matches
         참가자 : 남상협, 이상규, 김정현, 황재선, 문보창, 김상섭, 이도현, 이선호, 나휘동, 이승, 유용안, 김민경, 김태훈, 이형노, 송수생, 조현태, 허아영
          - 방학동안 1주일에 번, 목요일 5시에 모이기.
          - 회장이 없어도 꼭 다. 변동없음.
          * 모임이 길어지는 바람에 MT 장소나 정확 날짜, 또 다음학기 학회비 어디에 쓸건지, PC실 관리에 대 내용을 토의하지 못했는데요,
          - 그거 좋은 아이디어이네요. . 제로페이지 전용 사물함을 개방하여 필요 사람이 쓸 수있도록 사용하는 것도 괜찮을 것 같네요 ^^ 계획을 잘해서 실행해볼까요? 다음주 회의안에 올리도록 합시다. - [허아영]
  • 정모/2011.4.4/CodeRace . . . . 6 matches
          * 1,2학년-3,4학년이 팀을 이룬다.
          * 두명이 하나의 모니터를 보고 하나의 키보드로 프로그래밍 해야 다.
          * 3분마다 역할을 바꾸는데 스위치 모션을 취 뒤 자리를 바꿔야 다.
          * 등장하는 모든 인물이 강을 건너 다른 마을로 가야다.
          * 내가 이걸 진행상황을 다 알고 다시 프로그래밍다면...
  • 정모/2011.7.25 . . . . 6 matches
          * 참가자 : [김수경], [권순의], [송지원], [김태진], [고종], [황현], [정의정], [박성현], [박정근], [김정욱]
          * 주제 : 건강 몸을 만들자
          * 저조 참여율 때문에 수경이와 지원이가 1:1 대화함.
          * OMS 뭐 할까 계속 고민하다 + 아이튠즈에 음반 1400장 커버 아트와 씨름(-_-) + 이것 저것 으로 주제를 못 정하다가 그냥 7개월동안 하고 있는 생채식에 대해서 이야기 할까 해서 완전 급하게 만든 ppt로 발표했네요 -_-;; 죄송.. 그래도 일상생활 속에서 이렇게라도 운동 해야지 하면서 해 왔던 것도 이야기 하는 거라 크게 어렵지는 않았던 것 같네요. 달.. 아 두달 회고를 하면서 보니 그래도 데블스 캠프가 가장 기억에 남는 것 같았습니다. 그리고 코드 레이스를 다시금 해 볼 수 있어 기대되네요. - [권순의]
          * 정모 후기 나만 늦은건가하고 걱정했는데 아니네 신난다! 지각해서 OMS못봐서 아쉬웠습니다. 5P잠겨서 당황 6p갔다가 결국 4p오니 아 아직다 신난다. 수경누나가 나랑 모르는 사이라고 해서 푸홬ㅋㅋ 덥고 지치고 오래되서 그것 밖에 기억안나오 으으 - [고종]
  • 정모/2012.12.10 . . . . 6 matches
          * 아마추어 아티스트(음악)를 위 Social Network 를 만드려고 합니다.
          * 연락주시면 자세 내용을 알려 드립니다.
          * 가장 소금같은 사람(짠 사람? 필요 사람?)
          * 튜터링이라 적어두긴 했지만 연속 세미나 혹은 소그룹 과외 혹은 새싹 스터디 비슷 느낌이 되지 않을까 생각되네요.
          * GRE Study : GRE 시험에 관 공부를 합니다. 같이 하실분!!! (대학원에 진학하고자 하는 분 추천!) - [윤종하]
          * [권순의] : 집 컴은 로그인 되어 있어서 고치기가 가능건가? 음... 올해도 이렇게 끝나는군요.
  • 정모/2012.2.17 . . . . 6 matches
          * 2012년 2월 18일에 코엑스에서 국자바개발자 컨퍼런스가 있습니다.
          * ["제12회 국자바개발자 컨퍼런스 후기"] 에 갔다오신 분 후기좀a
          * 고스트 작업중... 이었으나 이틀밤을 새서 진행 결과 정비를 마무리하였습니다.
          * 는 20대가 더 들어온다는 불편 진실
          * 컴퓨터를 포맷할 수 있으니 중요 자료는 절대!! 다른 곳에 백업해두세요.
          * 이승 선배의 세미나와 총체적난.. 아니 송지원 학우가 일용할 양식을 들고 옵니다(?).
  • 정모/2012.4.30 . . . . 6 matches
          wibro는 WiMAX 프로토콜을 이용 상표명입니다. wibro의 경우 IEEE 802.16e 표준을
          바탕으로 하고 있는데 4G는 IEEE 802.16m 표준을 이용 기술을 말하므로 wibro가
          * 포트폴리오와 같이 계획서나 완성품에 대 설명이 필요데, 회장테 제출하면 지원사업 선정시 프로젝트 지원금 드립니다.
          * nForge 관리자 권 누가 가지고 있나요?? -[김태진]
  • 정모/2012.5.21 . . . . 6 matches
         선후배들이 모여서 다양 이야기를 하거나..
          오셔서 후배들을 위해 많은 이야기 부탁드리겠습니다. 혹시 세미나를 해주실 수 있다면 편시간에 오셔서 부탁드리겠습니다.
         미리 위의 유형을 미리 준비하기 힘들죠. 자칫 의견으로 흐를수 있구요. 은근히 시간 많이 걸리고 보통 30분짜리를 만들어 옵니다. 그럼 아예 데블스 캠프 코너로 만드는거죠. 아예 모여서 1시간동안 이걸 준비 후(10~20장 이미지)에 30분 쉬고 1시간 동안 5분씩 12명이 발표해 버리는 겁니다. 3분이면 20명이 할수 있겠네요. 3,4학년에 있을 수많은 발표 과정을 압축해서 경험할 수 있을 것 같습니다.
          * 올해 들어서 참가 ZP 정모 중에서 가장 사람이 적었던 것 같은 정모였습니다 -_-;;; 그런데 생각해보니 다들 이번 컴공 전시회 관련으로 나가서 그런 것 같네요. 그렇게 보면 오히려 ZP에 능력있는 사람이 많다는 얘기니 그건 또 그것 나름대로 나쁘지 않나 싶군요. 태진이 OMS에 사람이 덜 참가 것은 약간 아쉬웠지만서도. 그리고 데블스 관련 연락을 돌렸는데 이렇다하게 참가를 확답해 주신 선배님이 없는 것은 좀 아쉬웠습니다. 역시 다들 사는 게 바쁘신 거겠죠... - [서민관]
  • 정모/2012.7.11 . . . . 6 matches
          * 자세 장소는 차후 선정.
          * 논문 분석 - 다양 자동화 툴들이 있어서 신기하다.
          - 문서들이 어떻게 연결되었는가 방식에 대 공부 중.
          * OpenCV - 영상인식을 위 라이브러리 사용.
          - 안드로이드에서는 JavaCV를 import해서 사용다.
          - 안드로이드는 하드웨어 제어에 대해 굉장히 제이 많아서 이용이 힘들었다.
  • 정모/2012.7.18 . . . . 6 matches
          * [김민재]학우의 DEP(Data Execute Prevention) : 실행 불가능 메모리 영역에서 프로그램을 실행시키는 것 방지.
          * 단양 쪽은 다수 수용 가능 맨션이 딱히 없음.
          * 토요일 : HTTP의 특징들과 그 계를 극복하기 위 방안들.
          * 자바 스터디 - Generic에 대해서 다루었는데, 평소에 써 본 일이 없었던 만큼 언어 차원에서 타입 제등을 해 주는 것이 편했다. batch라는 개념에 대해 이야기를 들을 수 있어서 좋았다.
          * 방학이라 인원이 적네요. 펜션 어디 할까 하다가 제 맘대로 예약했습니다. (토달지 마삼. 환불하면 또 일 복잡해짐.) 가평으로 갑니다. 안에서만 놀거 같으니 TV 큰거 있는 곳으로 (쿨럭).. 그리고 서울어코드사업 관련해서 문서 작성을 해야 되는데 아무런 양식이 올라오지를 않아서 뭐 어쩌라는거지 라고 고민 중입니다. 일단 활동 거 위주로 좀 모아봐야겠네요. 그리고 대외활동 하기가 참 난감하네요. 뭘 해야할지도 가닥이 잡히질 않고.. 아흠.. - [권순의]
  • 정모/2013.8.12 . . . . 6 matches
          * 제로페이지에는 안드로이드 개발 기기(Nexus 7)을 비롯해 Kinect, 아두이노 등 개발을 위 기기가 마련되어 있습니다.
          * 기자재를 활용 프로젝트를 기획하는 건 어떨까요?
          * 활용 방안에 대 다양 의견을 들어보고자 합니다. 위키에 의견을 달아주세요.
          * 개발기기가 뭐뭐 있는지 홈페이지 게시판에 공지로 올려 놓는다던지 다면, 사람들이 인지할 수 있는데 도움이 되지 않을까 합니다만 - [권순의]
          * 그런데 이게 8월 12일에 있었던 정모 내용인데 활용 방안에 대 의견을 위키로 듣고자 했으면 좀 더 일찍 정모 내용을 정리해서 올려야 하지 않았을까 싶습니다. 12일 정모 내용이 19일에 올라오면 언제 기자재 활용과 관련된 의견을 위키에 적고, 해당 의견이 언제 정모 때 반영이나 언급이 될 수 있을까요... - [서민관]
  • 정수민 . . . . 6 matches
         편하게 살기위 계획!
          ㅋ 지금보면 미숙부분이 너무 많은데;;; ㅋ; 이제와 수정할수도 없고 -_-;;
         이놈 때문에 고생거 생각하면 -_-;;;
         * 로또복권 당첨돼는 번호가 나올때까지 무 반복하는 프로그램입니다. *
         겨우...... 번 당첨된.......
          리팩토링이란 말이 있길래 코드를 번 봤어요. 배열 리팩토링이란 어느 부분을 말하고 있는지 잘 모르겠지만, 이전에 더 쉬운 리팩토링부터 해나가야 하지 않을까 싶어요. 이를테면 randem_x, randem_y같은 함수는 무슨 일을 하는가요? 하는 일이 너무 많지 않은지 의심해보세요. 코드가 중복되는 부분을 줄여나갈 수도 있겠죠. --[Leonardong]
  • 조영준 . . . . 6 matches
          * Wiki Path Finder (wikipedia api를 이용 두 단어간의 연관성 추정, 2014년 2학기 자료구조설계 팀 프로젝트)
          * [파스칼삼각형/조영준] - 지금 생각해보면 격 뻘짓.
          * [자공]
          * [스터디/게임에 미친이들을 위 히치하이킹]
          * 그런데 그것이 실제로 일어났습니다. [자공]
          * 자공 하면서 느낀 점 정리하기.
  • 조영준/파스칼삼각형/이전버전 . . . . 6 matches
          private int count; //좌우로 출력해야할 빈 공간의 수 (4칸이 단위)
          private int scale; // 칸당 너비 짝수야
          private int count; //좌우로 출력해야할 빈 공간의 수 (4칸이 단위)
          private int scale; // 칸당 너비 짝수야
  • 졸업논문 . . . . 6 matches
         학위를 수여할만 자격을 가졌는지 판단하는 근거가 되는 논문이다.
          * 기민 웹 개발 프레임 워크의 데이터베이스 추상화 : [django]의 사례
          * [졸업논문/참고문헌] - 참고 문헌의 열거 순서는 인용 순서 혹은 첫 번째 저자의 이름의 사전순으로
          * 서론, 본론, 결론에서 각 장을 새 페이지에서 시작다.
          * 참고 문헌을 인용할 시에는 해당 참고 문헌의 번호를 꺾쇠 괄호(bracket)안에 명시다. (예: [1])
          * 웹 이외의 자료도 찾아서 참고다.
  • 중위수구하기/정수민 . . . . 6 matches
         이렇게하면 재미있겠다 ... 싶어서 꼽살껴서 번 말들어봤음.
         그리고 코드가 '배껴진' 허아영양에게 심심 사과의 말씀을...;; 쿨럭;;;
         사람이라면 세가지 수를 꺼번에 입력받아 그 중간값을 찾아낼수있다. 어떻게 그럴 수 있을까를 곰곰히 실행해보다가 세수를 동시에 입력받는것을 선택했다.
         중간수 와 같은수인 middleNum를 출력다.
         === 나테 할 말 ===
          꿈이 인공지능연구니까 이상쪽으로 많이 생각이나더라고 ㅎㅎ 능률은 상당히 저조하지만 그런대로 만족하는 소스라는 ㅋ
  • 지금그때2003 . . . . 6 matches
         2003년 3월 21일 금요일 pm7~10 시에 있었던 [지금그때] 행사의 준비를 위 페이지
         김아영 박진섭 임민수 나휘동 김주현 구자겸 김신애 심주영 황재선 강석우 정정훈 일규 변준원 문원명 박상기 강희경
          주제가 어떤거지? 현재 지어진 제목을 보면 '미래를 예측하는 방법'에 관 내용인것 같고, [지금알고있는걸그때도알았더라면]은 '어떤것에 초점을 두어야 하는가'라는거 같은데.. 전자라면.. 앨런 케이의 말을 살짝 인용하며 정말 멋질것 같은데.. "The best way to predict the future is to invent it." - Alan Kay --[sun]
          [지금그때]는 너무 모호하군요. [선후배이야기자리]가 더 명확듯 싶지만... 늦은 지적이 된것 같네요. --[이덕준]
          그러고 보니 저도 [지금그때]는 모임 자리를 알리는데 부족 듯 하네요. --재동
          [지금그때] 는 그 자체를 용어로, 이미지를 만들기 위해서 지은 것에 어느정도의 목적이 있습니다. 선후배이야기자리가 [지금그때]가 축약하는 내용을 상징하기에는 부족하다고 생각이 되었고, 새로운 용어를 만들면서, 그 자체에 의미를 부여하고, 우리가 평소에 부를수 있도록 짤막하게 해보았습니다. ex) 지금그때 에서 xx 형식을 적용해보는 것은 어떨까요? --NeoCoin
  • 지금그때2005/자료집 . . . . 6 matches
         기록되지 않은것은 기억되지 않는다 라는 말이 있습니다. 이곳에서 남은 소중 경험들은 그 자료집에 담아가셔서 자신의 것으로 남기시기 바랍니다.
         간단 규칙을 알려드리겠습니다.
          * 입막음 - 질문에 대해 7분이 넘는 대답을 하는 경우 매니저에게 중지 당할 수 있습니다. 다음 질문을 위해 양해해 주세요.
         대학생활을 통틀어 가장 재미있게 공부 과목은 어느 것이었나요?
         프로그래밍 언어가 컴퓨터공학을 공부하는데 얼마나 중요가? 다른 중요것은 무엇인가?
  • 지도분류 . . . . 6 matches
         || ["CVS"] || Concurrent Versions System. 공동 프로젝트를 위 소스 버전 관리 도구 ||
         ||["ExtremeProgramming"]|| Agile Methodology 인 ExtremeProgramming 에 대 전반적 설명||
         || CodeCoverage || 작성 Test 가 Code 를 얼마나 수용하나 검사해주는 도구들 ||
         || ["기억"] || 기억에 대 심리학 시각의 분석 ||
         === 유명 상 ===
         || ["유쾌이노베이션"] ||
  • 큰수찾아저장하기/조현태 . . . . 6 matches
          오늘은 이번달 처음 문제라 쉬운거 거라구~
         그리고 난이도를 올리자고 건말야, 오랜시간동안 생각해서 알고리즘이 많이 차이가 날만 문제를 보고싶었던거야..ㅎㅎ 아직은 많이 비슷듯..ㅎㅎ - [조현태]
          난 나름대로 '''기초'''에는 충실 여러가지를 접하게 하려고 노력했는데, ㅎㅎ
          고로 쉬운것도 다시 번 보는 센쓰~~ !! ^^ 좀만 기달리시게!~ ㅋ-[허아영]
  • 타도코코아CppStudy . . . . 6 matches
          * 리팩토링과 의도에 의 프로그래밍 - 이건 계속 지켜나가야함
          * 숙제는 꼭 해오세요^^. 번 해봤던 것도 다른 방법으로 풀어오면 인정해드립니다.
          * 발표준비는 친구들이 알아들어 먹을수 있을 정도로 잘해오세요^^ 다른 사람들도 발표 안맡았다고 띵까띵까 놀지 마시고.. 예습해오세요. 제가 부족 부분에 해서 보충 설명을 하겠습니다. --[인수]
          * 또 공부하다가 모르는 거 있음 질문 다 받아 드립니다. 제가 아는 도 내에서, 몰라도 찾아서 답해드리겠습니다. --[인수]
  • 타도코코아CppStudy/0724 . . . . 6 matches
         == 오늘거 ==
          * 각자 자신이 것을 첨삭해보세요.
         == 오늘거 ==
          * 각자 자신이 것을 첨삭해보세요.
         || 파스칼의 삼각형 || [수진] || Upload:pascal_sujin.cpp || 헉.. 줄까지 맞추다니 멋져요.^^ 함수 분리도 꽤 잘거 같고.. 무엇보다 다른 개념(조합)을 사용했네요. 여태까지 사람들은 거의 다 위에꺼 더해서 했거든요. 하지만 로직과 보여주는게 분리가 안되어 있네요. 이따 저와 함께 고쳐 봅시다. ||
  • 타도코코아CppStudy/0811 . . . . 6 matches
         == 오늘거 ==
         최소 개. 무조건 클래스를 이용하세요. 일단 문법을 익혀야 하니... 또 될수 있으면 객체지향적으로.
         || ZeroWiki:RandomWalk || 정우||Upload:class_random.cpp . || 왜 Worker가 Workspace를 상속받지? 사람이 일터의 종류야?--; 또 에러뜨네 cannot access private member. 이건 다른 클래스의 변수를 접근하려고 해서 생기는 에러임. 자꾸 다른 클래스의 변수를 쓰려 다는건 그 변수가 이상 위치에 있다는 말도 됨 ||
  • 프로그래밍은습관이다 . . . . 6 matches
          * 대학원 다니는 아는 선배에게 디버깅 세미나 할건데 뭐 도움되는 말좀 해달라고 하니깐 '프로그래밍은 습관이다' 란 말을 해줬다. 공감이 가는 말이다. 프로그래머에게 프로그래밍은 습관인거 같다. 마치 자전거를 처음 탈때는 엎어지고 그러다가 번 타기 시작하면 그 다음부터는 쉽게 타는것이랑 비슷거 같다. 난 군대 가기전에 군대 갔다 오면 프로그래밍 하는것을 다 까먹을텐데 하고 걱정을 했었다. 그런데 군대 가서 프로그래밍에 더 발전은 없었지만 마치 자전거 타는 법을 배우고 동안 안타다가 다시 타는것과 같았다. 세세 문법같은것은 생각이 나지 않더라도, 그런것을 어디서 찾을지와, 어떤식으로 적용할지는 몸으로 체득했기 때문에(삽질ㅜㅡ ) 몸이 기억을 했다. - [상협]
          * 공감 가네요. 저는 고등학교에서 대학입시를 준비하느라 2년 이상정도 쉬고나서 저런 느낌을 받았었습니다. 처음에는 죄다 까먹었을줄 알았는데 막상 키보드에 손가락을 올려놓고 나면 무언가 떠오르면서 자연스럽게 키보드가 나가더군요. // 저는 [손가락이기억다] 라는 말로 군대가는 친구들 군대를 준비하는 친구들에게 이야기 하곤 합니다. - [톱아보다]
  • 프로그래밍잔치/Successor . . . . 6 matches
         2002년 8월의 달의 스케쥴러입니다.
         ["프로그래밍잔치/둘째날"]에 팀 프로그래밍 것입니다.
         DeleteMe 재동아~ 세연이테 이를꺼얌..ㅋㅋ
         2. 자세 스펙 정리 - Ok
         <- 영동 잘못 <- 선배라고 코딩에대 선입견
         4-5. 세밀 디자인 - 디자인 변경 생각 없음 3.5 (규모 작음)
  • 프로젝트전용위키 . . . . 6 matches
         [프로젝트전용위키]는 일반적으로 해당 프로젝트와 그 생명주기를 같이다. [프로젝트전용위키]는 해당 프로젝트의 형상관리 툴로 사용될것이며, 구성원들간의 커뮤니케이션용 도구의 역할도 할 것이다.
         ZeroPage에서 [프로젝트전용위키] 생성에 편리 인프라를 구축해준다면 좀 더 효율적인 프로젝트를 진행할 수 있을 것이라고 생각다.
         프로젝트로 위키가 생긴다고 다면, 각 프로젝트 팀들의 위키에 대 자유도는 높아지는 장점이 있으나, 매 프로젝트 때마다 위키를 열 필요가 생긴다. 그리고 해당 프로젝트가 끝난뒤의 프로젝트 위키에 대해 어떻게 해야 할지에 대해서도 생각해 볼 필요가 있다고 본다. (하지만, 쓸만 사람들은 알아서 개인위키 돌리고 있는게 현실이다. 왜 그럴까에 대해서도 생각해보긴 해야겠다.) --[1002]
  • 하얀가면의제국 . . . . 6 matches
         오랜만에 박노자씨 책을 읽었다. 무심코 받아들이는 담론을 다시 생각하게 만든다. [당신들의대민국]이 국의 배타적 성격을 잘 드러내었다면, [하얀가면의제국]은 힘있는 나라가 보여주는 야만성을 지적하고 경각심을 일깨운다.
         대민국은 지리적으로도 여러 나라 사이에 있다. 그렇다고 다른 나라에 맞설 힘이 대단 것도 아니다. 따라서 외세에 기대거나, 극명히 외세에 저항하기 쉽다. 이는 개인에게도 해당다. 동경하거나 저항하거나. 그리고 동경하는 무리가 더 많다.
         [장정일삼국지]를 읽으면서 강대국 사이에 낀 약소국의 처신이 어때야 하는지 생각했는데, 이번에도 또 생각하였다. [하얀가면의제국]에서도 말하지만 외세에 의존하면 역사가 말해주듯이 그 끝이 좋지 않다. 그렇다고 힘 없이 외세에 대적하기란 어렵다. 불행히도 지금 대민국은 외세에 의존하는 듯이 보인다.
  • 협상의법칙 . . . . 6 matches
         난 이책을 읽고 14만원 상당의 메인보드 값을 벌었다. 아싸~ 이책은 초강력 강추다. 꼭 읽어 보면 좋다! 내가 이책의 내용을 여기다가 간단히 요약을 할 수 도 있겠지만, 내 생각에는 시간을 들여서 읽어봐야 조금이나마 작가의 생각을 더 많이 이해하고 공유하고, 그것을 실제로 써먹을 수 있을거라 생각하기에 그에 관 내용을 많이 적지는 않겠다. 확실것은 내가 책에서 얻은 지혜를 삶의 지혜로 써먹을 수 있다는 것을 직접적으로 느껴서 너무 뿌듯했다 --[상협]
         처음 저자가 냉장고를 살때의 스토리 텔링에서 난 '''너무 피곤하다.'''란 느낌에 사로 잡혔다. 이 선입감은 읽는 동안 나를 불편하게 만들었다. 더구나, 저자는 모든 사람 사이의 대화를 이러 딱딱 느낌의 협상의 대상으로 보고 이야기를 전개다. '''이렇게 피곤하게 신경쓰며 평소에 살일이 있을까?''' 라는 생각이 든다. 저자가 문체를 약간은 더 평화롭게 해결하는 방향으로 잡았다면, 좀더 나에게 의미가 있는 책일것 이라고 생각다. --NeoCoin
  • 화이트헤드과정철학의이해 . . . . 6 matches
         김용옥씨의 서문의 인상이 꽤 깊게 남는다. 일상적 경험으로부터 귀납적 관찰로 쌓아올리지 않고, 조급하게 하나를 통찰하는 연역의 원리를 먼저 찾으려는 모습에 대 비판. 과연 나의 말은 나의 과정들, 경험들을 얼마나 담고 있는건가.
          * '진정 발견의 방법은 비행기의 비행과 유사하다. 그것은 개별적인 관찰의 지평에서 출발하여 상상적 일반화의 엷은 대기층을 비행다. 그리고 다시 합리적 해석에 의해 날카로워진 새로운 관찰을 위해 착륙다.' - 서문중 인용된 Whitehead 글.
          * '해체를 염두에 두지 않는 구성은 인간 지성의 오만 독단이겠지만, 구성에 기생하는 단순 해체는 인간 지성의 무책임 유희일 뿐이다' -- 문창옥씨 맺음말중.
  • 02_Archi . . . . 5 matches
         컴퓨터 구조에 대 이해는 프로그래밍에 기본 바탕이 되어집니다. 로우레벨의 프로그래밍을 하기 위
         작고 깜찍 리틀맨의 귀여운 활약상...(헉..내가 왜 이렇게 변했지?)
         인터럽트발생과 부팅과 실모드와 보호모드에 관...
         인텔 씨피유에 관 설명.
  • 05학번만의C++Study/숙제제출/4 . . . . 5 matches
         ==== C++과 가까워지기 위 기본적인 문제 ====
          * INT형을 만족하는 숫자를 입력하면 그 숫자를 저장하는 클래스를 생성되었다는 메시지와 함께 생성하라. 만약 입력된 숫자를 가진 클래스가 이미 존재할 경우에는 클래스가 가짖 숫자를 출력하고 해당 클래스를 삭제다. 프로그램이 종료될떄에는 모든 클래스를 삭제다. (단 숫자의 출력은 파괴자에서 해야다.)
          * 생성되는 전체 클래스의 개수는 255개를 넘지 않는다고 가정다.
  • 2006동계MT . . . . 5 matches
         허아영 조현태 김상섭 남상협 이선호 나휘동 문보창 김태훈 김민경 송수생 유선
         - 좋았던 점 : 여학우와 함께 MT?ㅋㅋ 정말 너무 즐겁게 놀고 잼있었습니다.ㅋ 방을 빨리 못구했어도 돌아다니며 공기 마시고 경치구경하고.
          방에서 절반 정도는 난방이 안 들어오는 바람에, 따뜻 곳에서만 옹기종기 모여서 잔 건 괴로웠답니다.
          속이 안좋아서 고생게 어흑 ㅠㅠ 아쉽다. 다음에는 컨디션이라도 병 빨고 가야겠다.
  • 3D업종 . . . . 5 matches
         이재혁 허아영 유선 송수생 김태훈
         || 이 름 || 허아영 || 송수생 || 유선 || 김태훈 ||
         == 간단 샘플 코드 ==
         vc6이나 2003을 쓸 경우, 비슷 경로에 glut를 복사하고, 프로젝트를 만들때 win32 console로 해서 링커 옵션에 opengl32.lib glu32.lib glut32.lib 파일을 추가합니다.'''
         헤더파일은 < gl/헤더파일명 > 이렇게 해야 대요. 이걸 오늘 재혁에게 물어봐서 알았어..ㅜ.ㅜ - 수생
  • 3rdPCinCAUCSE/ProblemA . . . . 5 matches
         왼쪽그림에서와 같이 같은 색의 바둑알이 연속으로 다섯 알이 놓이면 그 색이 이기게 된다. 여기서 연속이란 가로, 세로 또는 대각선 방향 모두를 뜻다. 즉, 위의 그림은 검은색이 이긴 경우이다. 하지만, 여섯 알 이상이 연속으로 놓인 경우에는 이긴 것이 아니다.
         입력은 표준 입력이다. 입력의 첫줄에 테스트 케이스의 개수를 나타내는 정수 T(10 이하)가 주어진다. 다음 줄 부터 T개의 테스트 케이스가 주어진다. 각 테스트케이스는 19줄로 이뤄진다. 각 줄 마다 19개의 숫자가 있는데, 검은 바둑알은 1, 흰 바둑알은 2, 알이 놓이지 않은 자리는 0으로 표시되며, 숫자는 칸씩 띄어서 표시된다.
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 검은색이 이겼을 경우에는 1을, 흰색이 이겼을 경우에는 2를, 아직 승부가 결정되지 않았을 경우에는 0을 출력다. 그 다음에 검은색 또는 흰색이 이겼을 경우에는, 연속된 다섯 개의 바둑알 중에서 가장 왼쪽에 있는 바둑알 (연속된 다섯 개의 바둑알이 세로로 놓인 경우, 그 중 가장 위에 있는 것)의 가로줄 번호와 세로줄 번호를 순서대로 출력다. 각 숫자 사이에는 빈칸을 둔다. T 개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
         === 입력의 예에 대 출력 ===
  • 5인용C++스터디/비트맵 . . . . 5 matches
         비트맵을 사용하는 방법은 펜이나 브러시와 비슷하다. 하지만 가지 분명 차이점은 비트맵은 출력할 DC에 직접 비트맵을 선택하지 않고
         사용다.
         사진과 같은 정밀 그래픽을 프로그램 실행중에 일일이 그린다는 것은 괴장히 비합리적.
         즉 복잡 그림을 출력해야 할 경우는 미리 그려진 비트맵을 사용하는 것이다.
  • 5인용C++스터디/후기 . . . . 5 matches
         우선 처음 시작했던 사람들 모두가 함께 끝낼 수 있어서 이번 스터디는 그럭저럭 잘 끝난것 같습니다. 스터디 내용이 좀 많았지만 발표 준비도 잘 해 주었고, 숙제도 잘 하며 잘 따라와준것 같습니다. 이번 스터디가 얼마나 도움이 되었는지는 모르겠지만 지금까지 배운것 보다 좀 더 풍부 경험이 되었다면 충분히 얻은것이라 생각합니다~ 앞으로는 관심분야를 잘 찾아서 스스로 스터디를 열고 열심히 공부하는 모습을 볼 수 있기를 바랍니다~^^ 다들 수고하셨습니다!
         문법이 복잡하고 어려워서 정말 힘들었지만 그에 대 두려움을 조금이나마 극복하게 된것 같습니다. MSDN 찾아보면서 숙제를 완성시키는 과정이 나름대로 만족스러웠습니다. MFC의 메시징 시스템 등의 체계, 윈도우 메시지의 작동 원리 등을 완벽히 이해하고 싶다는 생각이 듭니다. 스터디를 어떤 식으로 준비하고 발표해야될지 알게 되었고 윈도우 프로그램을 보면 어떤 식으로 만들었는지 대략 알 수 있는 능력이 생긴 것 같습니다. 다음 스터디부터 더욱 열심히 하고 싶습니다.
         공부하면서 아 내가 많이 부족하구나 하는 것을 알게 되었어요.. 끝까지 문법과 메시지 처리의 압박에 시달렸는데 내가 발표것은 그나마(!!) 나은데 다른사람이 발표 내용은 잘 알지 못하는 것 같아요 ㅎㅎ ^^; 친구들과 같이 공부하면서 나름대로의 경쟁심? 이랄까 의욕이란 것도 생기고 저만 빼고 다들 너무 잘 것 같아 앞으로도 열심히 노력해야겠다는 생각도 들엇구요 어떻게 공부해야 하나 대충 가닥을 잡을 수 있던 시간이었습니다
  • AOI . . . . 5 matches
          * 어려운 문제의 경우 해당 알고리즘 지식이 필요 경우가 많습니다. 문제를 해결 후 꼭 문제 접근방식을 코드와 곁들여 넣어 주세요.
          * 보창아 번 잘해보자 ㅋㅋ--[곽세환]
          * 동안 안 들어왔더니 경진대회 날짜 잡힌지도 몰랐네... 그런데 보창이 배신이야 배신... --[곽세환]
          * http://online-judge.uva.es/problemset/ <-- 여기에서 로봇이 실시간으로 답이 맞았는지 채점도 해준답니다. 푸신분들은 번 해 보세요 - 보창
  • APlusProject/PMPL . . . . 5 matches
         PM과 PL을 위 페이지 입니다.
         Upload:APP_TracingChart_0619.zip - 글파일로 수정했고, 세로로 안되서 가로로 했다. 버전은 0.2
         Upload:APP_Sequence0606.zip -- EF경우는 객체가 둘 씩 필요데 표기방법을 잘 몰라서 어떻게 해야할지?
         Upload:APP_OTFLCO_0526.zip - 수정 다 최종본
         심사계획서 빼고 다 검토됐어요 위에 하나 그림이랑 인덱스 이상거는 못고친거 고쳐달라고 글 적어놨구요
  • AcceleratedC++ . . . . 5 matches
         홈페이지: http://www.acceleratedcpp.com/ (VS.NET, VC++6.0 등을 위 소스화일을 받을 수 있다)
          || [http://www.acceleratedcpp.com/details/msbugs.html VS6 코드 수정] || 책에 나온 소스를 VS6에서 이용할 경우 발생하는 문제점에 관 내용이 있습니다. ||
         이제 하루정도면 다 볼거 같은데... 이미 C++의 기본 문법과 템플릿의 용법을 알고 있다면, (05년 스터디의 경우 01학번들) 8장정도 까지만 하면 충분히 이 책에서 볼것은 다 보았다고 보여진다. 만약 처음으로 C++을 접하는 경우 (05년 스터디의 경우 05학번) 마지막 까지 읽어야할 필요가 있음. 물론 상당 분량의 C++의 깊숙 내용을 너무 간단하게 다루는 경향이 이 책에 있기 때문에 C++ Primer Plus 같은 책을 같이 보아야할 필요가 있어보인다. 책을 좀 빠르게 읽는 편이라면 2~3일동안 집중해서 본다음에 실전에 적용시켜보는 훈련이 책 잡고 있는 것보다 더 도움이 될 것으로 보인다. 그리고 이 책 -_-;; 예제가 정말로 유기적이다. 예제를 만든 사람이 더 대단해 보인다. - [eternalbleu]
         흠 처음 생각했던 것 보다 뒷 장의 내용이 좀 신선 부분이 많다. 특히 14장에 Ptr 클래스는 정말로 신선하다. =.= C++로 프로그램을 짜면 이렇게 짤 수도 있구나 그런생각이;; - [eternalbleu]
  • AnalyzeMary . . . . 5 matches
         주변에서 남들과 비슷하게 일을 하는 듯 하면서 늘 더 나은 성과를 보이는 사람들이 있다. 대부분은 "메리에겐 뭔가 특별 것이 있다"(There is something about Mary) 수준의 감탄사를 외치는 데에서 끝난다. 그러면서 나는 왜 그들처럼 될 수 없을까 탄하고, 곧 까맣게 잊는다.
         우리는 살아오면서 수많은 사람들이 자신을 설득하려고 노력하는 것을 경험다. 부모님, 교사, 친구, 상사, ... 어떤 사람은 처절하게 실패하고 어떤 사람은 멋지게 성공다. 나를 설득시켰던 사람들의 공통점은 무엇인가? 무엇이 그들을 다르게 만드는가? AnalyzeMary and become Mary.
         NeoCoin은 02년도 기말 시험에서 너무나 시간이 없게되는 상황을 맞이 하였다. 학교 출발까지 15분, 통학 시간 1:30 분 남은 상태에서 밥먹으면서 교수님에 성향 대하여 AnalyzeMary를 하고 15분은 강의 노트에 대 AnalyzeMary , 그리고 도착전까지 열심히 외웠다. 도착 직전까지 외운 내용 조차 시험에 그대로 출제되어 있었다. 결국, 시험의 1문제의 부분적것 외에 전부 정답 작성이 가능했다. 여태까지 살아오면서, 최고의 효율이란 무엇인가를 느낄수 있었다. --NeoCoin
  • AustralianVoting/곽세환 . . . . 5 matches
         복잡 코드는 감당할수 없는 버그가 생긴다
         문제를 제대로 이해해야다.
         문제를 풀었을때의 기분은 수많은 삽질의 스트레스를 번에 날려준다.
          // 후보자 개인당 득표수를 구
          // 명이 50% 초과거나 득표수가 모두 같으면 종료
  • BasicJAVA2005 . . . . 5 matches
         - 으헛 저책으로 하는건가...... 상협이테 뺏어야겠네..;;; - 선호 ([snowflower])
         - 3시에 합시다~~~~~(오늘 정거지만.;.;) - 선호
         - 자바언어에 대 Tip - 자바 소스코드는 유니코드체계를 따르도록 설계되어있습니다. 그러므로 코드를 영어로만 구현해야하는 C/C++보다 매우 큰 융통성을 발휘하죠.
          예를 들면, 변수도 글로 사용이 가능합니다. (예를 들어서 String 임시 = "임시변수입니다."; 이런식으로 작성이 가능하다는 이야기죠.) - 도현
         질문 !! 이클립스 쓰는데, run as에 이상 JUnit Plug-in Test 이런거만 있는데, 어떻게 정상적으로 java application 나오게 하죠? -- 허아영
  • BuildingParserWithJava . . . . 5 matches
         자바를 이용 파서만들기, 기능추가하기
         3학년 1학기 ProgrammingLanguageClass에서 숙제로 파서를 만들면서 계를 많이 느꼈었다. 가장 큰 문제는 모든 흐름이 함수 호출을 따라 흘러간다다는 것이었다. 어느 곳이 잘못되었는지 알기가 어려웠기 때문에 찾는데 무척 애를 먹었다. 문법을 하나 추가하는 작업도 매번 오래 걸렸다. 그러다 보니 평가에 중요 예외처리를 할 시간이 많지 않았다.
         책을 보면서 그 때 했던 고민이 하나 둘씩 풀려감을 느낄 수 있다. 만들어보기 전에 번이라도 보았다면 매번 마감에 ㅤㅉㅗㅈ기는 일이 없었을 것 같다. 아니면 그 때의 고민이 지금 책을 읽는 데 도움이 되는 것인가?
         파서를 만들면서 고생했던 기억이 있는 사람이라면 책과 함께 CD를 꼭 빌려서 예제를 보길 강력히 추천다.
  • BusSimulation/영창 . . . . 5 matches
          * 각 역마다 사람이 증가하는 값을 다르게 정해야함. (시시각각에 다르게 적용되어야 하기 때문에 적당 범위 안에서 랜덤으로 처리해야다.)
          * 역에서 기다리는 사람이 타려고하는 버스가 도착하면 그 버스에만 탑승해야다.
          타야하는 버스는 마찬가지로 랜덤으로 할당해야다.
          왜 OOP적 접근법이 필요지 약간 감이 잡힌다고 해야할까? 이런 현실의 내용을 simulation 하기에는 structured programming의 접근법으로는 참 다루기가 힘든점들이 많을 것 같다. - [eternalbleu]
  • C++스터디_2005여름/도서관리프로그램/문보창 . . . . 5 matches
         우선 스터디 시간에 버벅대서 마무리 짓지 못거 미안하게 생각합니다. 자신이 꼭 스스로 프로그램을 짜시고, 그런 후에 제 코드와 비교해 보시기 바랍니다. 저보다 여러분이 잘 점, 혹은 제가 잘 점이 무엇인지 생각해 보시기 바랍니다. 어떤게 더 확장성과 재사용성에 유리지 곰곰히 생각해보세요.
         == 나테 할 말 ==
  • C++스터디_2005여름/학점계산프로그램/문보창 . . . . 5 matches
         꼭 본인이 모두 학점계산프로그램을 완성 후 제 가 짠 코드와 비교해 보시기 바랍니다.
          fin >> str; // >> 은 white space(공백)을 무시다.
         // 4 과목 점수의 평점을 구다.
         // 학생 정보를 출력다.
         == 나테 할 말 ==
  • CNight2011/김태진 . . . . 5 matches
         malloc, 포인터에 대해서 지원누나테 배웠는데요. a[2]==*(&a[0]+sizeof(int 2))라는 걸 배웠지요.
         Struct 에 대해서도 배웠는데요. 이건 여러가지 자료를 번에 움직일 수 있다는 거였어요.
         2010년 경진대회 문제로 Dynamic, Back Tracking에 대해서 설명해주었어요. 간단하게 요약해보자면, 가능성을 따져보는건데요, 어느 시점에서 그 길이 답이되는 길일 가능성이 없어지면 그 경우의 수는 제외다는 거죠.
         혹은 10만개의 선형적 자료 사이에 a~b사이의 값을 모두 합하는 시행을 1만번 다는 경우, 미리 모든 값의 합을 저장해놓는다는 거예요. 3 4 6 2 인 경우, 다른 곳에 3 7 13 15를 저장해놨다가, a b값이 나오면 그 두값을 빼는 것만으로 바로 쉽게 그 값을 구다는 거였어요.
  • CPPStudy_2005_1 . . . . 5 matches
          * 그리고 7/18 참여 못 분은 MSN으로 모르는거 물어 보면 알려 드리겠습니다. 월요일 했던 부분이나 이번주 할 부분에 대해서 아무때나 학교 3층 공대 복사실 와서 물어 봐도 알려 드립니다.
          [http://www.acceleratedcpp.com/details/msbugs.html VS6 코드 수정] 책에 나온 소스를 VS6에서 이용할 경우 발생하는 문제점에 관 내용이 있습니다.
         || 7/18 || 남상협, 박영창, 김태훈 || 각자 Chapter2까지 공부 해오기 || 간단 클래스 설명 & STL Vector || - ||
          * [CppStudy_2002_2/STL과제] 이 문제에 대 소스입니다.
          * 혼자 공부할때는 절대로 안했을 짐 것들을 사용
  • CSS . . . . 5 matches
         잘 구조화된 클래스와 CSS를 잘 이용하면 충분히 깔끔 소스를 얻을 수 있다.
         HTML과 CSS를 분리 웹페이지야말로, 사용자 측면에서도 개발자 및 디자이너 측면에서도 바람직하다. 웹접근성 뿐 아니라, 유지보수 관점에서도 제대로 된 구조화가 이루어져야 다고 생각해요. - [(kiryu)]
         [http://trio.co.kr/] - CSS, HTML, XHTML 등의 W3C 규격문서들을 번역 사이트입니다.
         [http://css.macple.com/] - CSS기반의 디자인을 위 웹표준 사이트입니다. 현재, 사이트 개편에 대해 투표가 진행중입니다.
  • Class . . . . 5 matches
         음.. 나만의 생각일지는 모르겠는데... 물 시리즈로 모델링을 다면 물 클래스를 상속받는 지하수 클래스, 해수 클래스 등등으로 보통 가지 않남?;
          - 수분 : 해수에서 '염분'을 제외 나머지 순수 '수분'이라는 객체.
          - 바닷물 속에는 다양 원소들이 '염분'이라는 단어로 추상화된다. ->클래스.
          - 염분의 각 원소들은 원소의 형태보다는 화합물의 형태로 존재다.
  • ClassifyByAnagram/인수 . . . . 5 matches
          * 먼저 사전 파일을 입력받으면서, 키값은 그 단어, 키에 해당하는 값은 <알파벳, 그 알파벳의 출현 개수> Pair인 Pair를 생성다.(--; 뭔가 좀 말이 이상하군)
          * 출력할때는 map 객체를 순회하면서, 번 첨부터 끝까지 돌면서 anagram찾은건 지워준다.(좀 안좋은 방법 같기는 하다.)
          * 먼저 입력받을때에는 key : 어떤 알파벳이 몇번 나왔나 저장 map 컨테이너, value : 그 string들의 list. 이런식으로 저장해준다.
          * 자료구조도 잘 골라야 다.
          * 컴터 상태도 좋아야 다.--;
  • CommonPermutation . . . . 5 matches
         입력 파일에는 여러 개의 케이스가 들어갈 수 있으며 각 케이스는 두 개의 연속된 줄로 구성된다. 즉 첫번째 줄과 두번째 줄이 테스트 케이스를 이루며 세번째 줄과 네번째 줄이 또 다른 테스트 케이스를 이루는 식이다. 각 행에는 소문자로 이루어진 문자열이 하나씩 들어있으며 테스트 케이스를 이루는 문자열 중 첫번째 것을 a, 두번째 것을 b라고 하자. 각 문자열의 최대 길이는 1,000글자다.
         입력된 각 테스트 케이스마다 줄씩 x를 출력다. 위의 조건을 만족하는 x가 여러 개 있으면 알파벳 순으로 맨 앞에 있는 것을 출력다.
  • CppStudy_2002_1/과제1/CherryBoy . . . . 5 matches
         //함수는 사용자에게 이름과 핸디켑을 요구
         //이름이 입력되면 1을 리턴하고, 이름이 빈 문자열이면 0을 리턴
         //golf 구조체를 제곤된 이름과 핸디캡으로 설정
         //함수는 handicap을 새값으로 초기화다.
         //함수는 golf 구조체의 이름을 표시
  • CubicSpline/1002 . . . . 5 matches
         각각 필요 모듈에 대해서는 다음 링크들을 이용.
          * NumericalAnalysisClass 에서의 Lagrange, Piecewise Lagrange, Cubic Spline 에 대 이해.
          * NumericalAnalysisClass 에서의 LU Decomposition (LU 분해) 에 대 이해.
          * Python 코드에 대 이해. UnitTest, TestFirstProgramming 에 대 이해.
  • DataCommunicationSummaryProject/Chapter4 . . . . 5 matches
          * 간단 text message는 전송 가능
          * GSM을 포함 대부분의 2G 시스템은 TDMA에 기초하고 있다.
          * TDMA는 단지 시간의 일부로 각각의 사용자들에게 전송이나 받는걸 허용다. 각각의 사용자에게 가능 수용능력은 더 많은 타임 슬롯을 할당흠으로써 늘릴수 있다.
          * PMR은... (해석 안됨) 그것은 많은 PMR 터미널의 주인들이 그들을 일반적인 셀 전화기로 사용함에도 불구하고, 보다 빠른 콜 셋업과 다른 것들, 회의 콜링 같은 것들을 제공다.
  • DecomposingMessage . . . . 5 matches
         메세지를 다루는 또 다른 방법은 여러 개의 조각으로 나누는 것이다. 리팩토링의 ExtractMethod이다. 스몰토크는 잘게 쪼개는 것을 좀 더 공격적으로 다. 그래서 메소드의 길이가 3-4줄정도밖에 안된다고 다. 이것이 가능 이유는 스몰토크는 다른 언어에 비해 높은 수준의 추상화를 제공해주기 때문이다. self 에게로 메세지를 보내자.
         지금 느끼는 거지만 파이썬의 self가 smalltalk에서부터 온 것이 아닐까 하는 생각이 든다. 두 언어가 생긴게 참 비슷거 같다.
  • DoWeHaveToStudyDesignPatterns . . . . 5 matches
         제 개인적인 의견으로는, 다른 것들과 마찬가지로 뭐든지 공부다고 해서 크게 해가 되지는 않겠지만(해가 되는 경우도 있습니다 -- 다익스트라가 BASIC을 배워 본 적이 있는 학생은 아예 받지 않았다는 것이 예가 될까요?) 공부해야 할 필요가 있겠는가라는 질문에는 선뜻 "그렇다"고 답하기가 쉽지 않습니다. 여기에는 몇가지 이유가 있습니다. (제 글을 "DesignPatterns를 공부하지 마라"는 말로 오해하지는 말아 주기 바랍니다)
         우선 효율성과 순서의 문제입니다. DesignPatterns는 이미 해당 DesignPatterns를 자신의 컨텍스트에서 나름대로 경험했지만 아직 인식하고 있지는 않는 사람들이 공부하기에 좋습니다. 그렇지 않은 사람이 공부하는 경우, 투여해야할 시간은 시간대로 들고 그에 비해 얻는 것은 별로 없습니다. 어찌 보면 아이러니칼하지만, 어떤 디자인 패턴을 보고 단박에 이해가 되고 "그래 바로 이거야!"라는 생각이 든다면 그 사람은 해당 디자인 패턴을 공부하면 많은 것을 얻을 겁니다. 하지만, 잘 이해도 안되고 필요성도 못 느낀다면 지금은 때가 아니라고 생각하고 책을 덮는 게 낫습니다. 일단은 다양 프로그램들을 "처음부터 끝까지" 개발해 보는 것이 중요하지 않나 생각합니다. (see also [WhatToProgram])
         다음은 우선성의 문제입니다. 과연 DesignPatterns라는 것이 학부시절에 몇 달을 투자(실제로 제대로 공부하려면 달로는 어림도 없습니다)할만 가치가 있냐 이거죠. 기회비용을 생각해 봅시다. 좀 더 근본적인 것(FocusOnFundamentals)을 공부하는 것은 어떨까요?
  • DoubleDispatch . . . . 5 matches
         Integer라는 클래스와 Float라는 클래스가 있다. 두 객체 간의 덧셈을 구현하고 싶다. 몇개를 구현해야할까? 4개다. 즉, Integer + Integer, Float + Float, Integer + Float, Float + Integer이렇게 말이다. 이를 해결하기 위 절차적 방법은 모든 상황을 거대 case 구문에 넣는 것이다. 이것은 군데에다가 로직을 다 넣을 수 있다는 장점이 있음에도 불구하고, 유지보수가 어렵다.
         argument에 메세지를 보내라. selector에다가 receiver의 클래스 네임을 덧붙인다. receiver를 argument로 넘긴다. 이 패턴을 사용 후의 Integer, Float 코드는 다음과 같다.
         역시 완벽 이해는 못했다. 좀 더 봐야 할듯 싶다.
  • EcologicalBinPacking/김회영 . . . . 5 matches
         //--->재활용 통의 병의 갯수를 우선 모두 더다. total변수에 넣는다.
         int ch_number; //최소 이동 횟수를 저장다.
         int temp=0;//각각의 조합에 대 현재값을 저장다.
         int max=0; //여러 조합에 대해 가장 큰 값을 저장다.
  • EightQueenProblem/da_answer . . . . 5 matches
         맵을 RECORD로 정의 다음 라인에 하나씩 여왕을 올려 놓고 그 때마다 공격 가능 패스를 다 지우는(?) 방식으로 하려했는데...
         항상 코딩이 끝나면 초반에 설계 것과는 좀 다른 방향으로 나가있더군요.. -_-;;
         위에 소스들을 봤는데 확실히 전 허접이라는게 다시 번 느껴지네요.. T_T
         전 당연히 그렇게 줄 알았건만.. 제가 뭔가 잘못하고 있었었네요... -_-;;;
  • Eric3 . . . . 5 matches
         무료 Python IDE. 제공하는 기능이 꽤 많은듯 하다. [Refactoring]을 지원하는게 가장 큰 기능중의 하나가 아닐까 생각다.
          오오~ 스샷만 봐도 상당 기능이 있는 듯. --재동
          개발자 홈페이지 가보면 이 사람이 윈도우용 PyQT 빌드 거 있음. 그거 깔고 설치하면 윈도우에서 실행 가능. (무언가 기능은 많긴 데.. 개인적으로는 이상하리 손이 안가는중.;) --[1002]
         개인적인 궁금증. -_-; 정말 무료 맞나;; 눈에 봐도 기능 많은데;; - [eternalbleu]
  • FactorialFactors . . . . 5 matches
         팩토리얼 함수는 많은 특성을 갖는다. 이 문제에서 주어진 정수 n을 다음과 같은 팩토리얼 식 n!로 표현했을때 인수항의 최대수를 구하고자 다. 단 1은 제외다. 예를 들어 보자.
         입력은 여러개의 테스트 케이스로 이루어지며 각 케이스마다 다른 줄로 구분다. 입력의 끝은 EOF이다. 각 라인은 하나의 정수 n을 가지며, n의 범위는 2 <= n <= 1000000 이다.
         각 테스트 케이스마다 인수들의 최대수를 줄에 하나씩 출력다.
  • FrontPage . . . . 5 matches
          * [스터디지원] : 스터디 및 프로젝트 지원에 대 안내
          * [[WikiSandBox]] : 위키 문법에 대 간단 설명이 있고, 자유롭게 위키 사용을 연습할 수 있는 공간입니다!
          * 페이지를 여는 사람들은 [[페이지이름]]과 [[페이지제목띄어쓰기토론]]을 번쯤 참고해 주세요.
          * [[ZeroWiki/제안]] : {{{ZeroWiki에 대 제안을 받고 있습니다.}}}
  • GDG . . . . 5 matches
          * ZeroPage의 활동 모습과 Google이 주최하는 다양 행사에 참여하는 모습을 보고 결정하겠다고 함.
          * with [고종], [조영준], [장혁재], [김민재], [조광희]
          * 동아리 주관 행사 때 GDG와 동아리명 공동 병기 가능. (지난 문의에 대 답변 중)
          * Google은 기존 커뮤니티(=ZeroPage)를 지원다기 보다는 직속 커뮤니티(=GDG)를 키우려는 것 같음
          * GDG 명칭은 지역이나 학교만 가능 설립다면 GDGCAU가 됩니다 - [조광희]
  • Gnucleus . . . . 5 matches
         그누텔라 프로토콜에 기반을둔 윈도우용 프로그램. 다른 그누텔라 구현물과 비교하여 특별 기능상의 장점은 없지만...
         누텔라의 쿼리 라우팅이나 PUSH 기법은 특별 장점은 보기 힘들지만, 꽤나 재미있는 것이라고 할 수 있다.
         윈도우 네트워크 프로그래밍을 하는 사람이라면 번쯤 소스를 통해서 윈도우의 메시지 드리븐을 최대 이용
  • GuiTestingWithMfc . . . . 5 matches
         CppUnit 을 이용 MFC 에서의 GuiTesting (시도중. 결과는?)
          4. List box 에서의 커서는 채워진 글에 위치다.
         ==== 4. 'List box 에서의 커서는 채워진 글에 위치다' 에 대 테스트 ====
          * 모달리스 다이얼로그인 관계로, 테스트를 run 으로 실행할 때 마다 Dialog 가 켜졌다 꺼졌다 다. 이에 따른 속도의 지연의 문제. -> CDialog::ShowWindow(SH_HIDE); 로 해결 가능
  • HardcoreCppStudy/첫숙제 . . . . 5 matches
         == 값에 의 전달과 참조에 의 전달의 차이 ==
          * 값에 의 전달, 참조에 의 전달의 차이에 대해 각 페이지를 만들어 기술할 것.
         가지 질문.. 숙제를 하셨으니, 짜면서 overloading 으로 얻어지는 자신이 생각하는 장점과 단점은 무엇인가요? 저에게도 정답은 없습니다. 처음 접하시는 여러분의 느낌이 궁금해서요.--NeoCoin
  • HelpOnCvsInstallation . . . . 5 matches
          1. 로그인은 단 번만 하면 됩니다. 번 로그인 하면 그 정보가 {{{~/.cvspass}}}파일에 보존됩니다.
          * 이 과정을 건너뛰는 경우에는 글 메시지가 나오지 않습니다.
         모니위키 본체 프로그램에 대 번역 메시지.
         자바스크립트에 대 번역 메시지.
  • Hessian . . . . 5 matches
         RPC 를 위해서는 서버-클라이언트의 대화를 위 interface 의 정의가 필요하다. 간단하게 정의해본다.
         이를 컴파일 하기 위해서는 hessian-2.1.3.jar 화일과 jsdk23.jar, resin.jar 화일이 classpath 에 맞춰줘야 다. (이는 resin 의 lib 폴더에 있다. hessian jar 화일은 [http://caucho.com/hessian/download/hessian-2.1.3.jar hessian] 를 다운받는다)
         그리고 class 화일을 Servlet 이 돌아가는 디렉토리에 복사다. 이로서 RPC Publish 기본준비는 ok.
         Java 의 경우는 다음과 같다. 위에서 정의 interface 인 Basic 이 있어야 다.
  • ISAPI . . . . 5 matches
          * IIS(Internet Information Services)란 웹 서버, FTP 서버와 같이 기본적이고 범용적인 인터넷 서비스를 시스템에서 제공할 수 있게 해주는 소프트웨어를 말다. 기존 윈도우2000 제품군의 경우 기본적으로 IIS 5.0을 제공하였고 윈도우XP의 기존 IIS 5.0의 기능을 개선 IIS 5.1을 제공하고 있다. 마디로 HTTP, FTP, SMTP 서버의 묶음이다.
         Internet Server Application Programming Interface 의 약자로 개발자에게 IIS 의 기능을 확장할 수 있는 방법을 제공다. 즉, IIS 가 이미 구현 기능을 사용해서 개발자가 새로운 기능을 구현할 수 있는 IIS SDK 다. 개발자는 ISAPI 를 이용해서 Extensions, Filters 라는 두 가지 형태의 어플리케이션을 개발할 수 있다.
  • InterestingCartoon . . . . 5 matches
          만화가 애니와 코믹스를 포함하는 범주라고 생각해서 이렇게 만들었습니다. 좀 불명확가요?;; --[인수]
         이 페이지 점점 무의미해 지는것 같네요. 각 애니별로 위키 페이지가 있어서 간단히 소감을 쓰면 모를까, 단순 제목 나열에 불과하게 되어 버리는것 같네요. --NeoCoin
         그냥 페이지를 나누어도 상관없을듯 합니다. NoSmok 의 경우 NoSmok:애니메이션명대사 , NoSmok:만화속명대사 가 따로있긴 합니다. Responsibility 가 2개 이상이라 느껴진다면 이를 분리하는것도 하나의 방법이겠죠. (편으로는, 이 페이지의 컨텐츠에 비해 너무 Rigid 하게 나가는 거 아닌가 하는 생각이 듭니다. 이 페이지로부터 다른 사람이 얻어가는, 또는 자신이 이익이 얻는 부분은 어떤건가요? 또는 어떠 내용이 있다면 사람들로부터 더 활발 이야기꺼리를 끌어낼 수 있을까요?) --[1002]
  • IsBiggerSmarter?/문보창 . . . . 5 matches
         단순히 Greedy 알고리즘으로 접근. 실패. Dynamic Programming 이 필요함을 테스트 케이스로써 확인했다. Dynamic Programming 을 실제로 해본 경험이 없기 때문에 감이 잡히지 않았다. Introduction To Algorithm에서 Dynamic Programing 부분을 읽어 공부 후 문제분석을 다시 시도했다. 이 문제를 쉽게 풀기 위해 Weight를 정렬 배열과 IQ를 정렬 배열을 하나의 문자열로 보았다. 그렇다면 문제에서 원하는 "가장 긴 시퀀스" 는 Longest Common Subsequence가 되고, LCS는 Dynamic Algorithm으로 쉽게 풀리는 문제중 하나였다. 무게가 같거나, IQ가 같을수도 있기 때문에 LCS에서 오류가 나는 것을 피하기 위해 소트함수를 처리해 주는 과정에서 약간의 어려움을 겪었다.
         이 알고리즘은 답을 산출해 내지 못다.
         == 나테 할 말 ==
  • IsThisIntegration?/하기웅 . . . . 5 matches
         x= cos t 로 치환하여 삼각 치환법을 이용해서 구다~ (그런데 왜 잘 안될까??ㅋㅋ)
         일단 제일 가운데 부분의 넓이를 구다.
         y=루트(3)x 라는 직선과 y=(1/루트(3))x 라는 직선이 y=1/2과 만나는 점을 이용하여 구
         이런 방법으로 간단 공식을 구 뒤 프로그래밍~
  • JTDStudy . . . . 5 matches
          * '''하루에 번은 Study page 업데이트 상황을 체크해 주시기 바랍니다.'''
          * [https://eclipse-tutorial.dev.java.net/eclipse-tutorial/korean/] : 이클립스 글 튜토리얼
          * [http://java.sun.com/docs/books/tutorial/] : Java 공부를 위 튜토리얼
          * 오~ 명 있구나;; 난 없는줄 알고^^;; 곧 날짜 잡고 시작합시다~! - [상욱]
          * 첫날 이거 다고 했었는데 정모때 못가서... 암튼 참가했슴다!! - 지훈
  • JTDStudy/첫번째과제/상욱 . . . . 5 matches
          * TDD로 만들려고 하니 적응도 안되고 해서 시간이 꽤나 많이 걸리네요^^; 프로그램을 위 테스트라기 보단 테스트를 위 프로그램이 되어지는 느낌이 팍팍;;; 하지만 장점이 많은 방법이라 앞으로 더 연습을 해 봐야겠네요~ - [상욱]
          * 내 경험으로는 테스트에 휘둘리기 보다는 테스트를 도구로 여기는 마인드가 중요 것 같당. 테스트가 우리를 원하는 길로 알아서 인도해주지는 않더라
          * 나는 Python이든, Perl이든 반드시 학습 해야된다고 생각다. 그래야 다른 언어들을 잘 쓸수 있었다. 예를들어 Java Collection Framework를 알고는 있었지만 잘 손이 안나갔는데, STL과 Python을 익히고 나니까 아주 손쉽게 쓰게 되더구나.
          * 이 언어들의 시작점으로는 간단 계산이 필요할때 계산기보다 열기보다 늘 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/첫번째과제/원명 . . . . 5 matches
          * 네, 제가 TDD의 의미를 확실히 하지 못 것 같습니다. TDD책의 앞부분만 읽어 보았는데, 계속해서 더 읽어야 나가야겠다는 다짐이 드네요. 관심 가져주셔서 고맙습니다 ㅋ -[문원명]
         readability 를 위해 필요없는 typecasting 문법들 제거 (Java Language Specification의 규칙들을 보세요. 해당 typecasting은 거의다 필요 없는겁니다.) 유의미 단위로 분리
         특정 포지션의 숫자를 얻어오기 위 반복 부분들 발견, 특정 포지션을 얻어오는 함수 만들기
         두개의 루프의 정확 의미 파악, 합침
         기타 overloading된 무의미 compare를 정리. 소스상 setCorrectNumber를 생성자로 옮김.
  • JUnit/Ecliipse . . . . 5 matches
         따라서 별도의 다운로드 및 인스톨 과정없이 보다 편하게 JUnit을 사용할 수 있는 강점이 있으며, 실제로 마우스의 클릭 몇번으로 대부분의 클래스 및 메서드를 생성해 주는 강력 기능을 지원합니다.
         O'REILLY 사의 Eclipse(저자 Steve Holzner) 를 구입하시거나 제본하신 분들께서는 CHAPTER 3. Testing and Debugging 을 보시면 Sample 예제와 함께 자세 설명이 있음을 알려드립니다.
         먼저 Eclipse 에서 JUnit 을 사용하기 위 세팅법입니다.
         이것으로 Junit을 사용하기 위 준비는 끝입니다.
         Java Beans 형식으로 되어있으므로 메서드에 대 설명은 하지 않습니다.
  • Java/스레드재사용 . . . . 5 matches
         아래 코드에 문제가 있는것 같아요. 분명 두개의 메소드가 같아보이는데 (주석처리된 run() 메소드와 run() 메소드) 개만 되고 나머지 개는 에러가 납니다(unreachable statement) - 임인택
         waitfortarget() 콜하기 전에 중괄호가 두개 있고 하나 있는 차이인것 같은디?? 음.. 지금 주석처리 안 run에서 에러가 나는거야?
         만약 그러면.. 무루프때메.. wait..어쩌구 함수에 도달 못해서.. '도달할수없는 문장' 이라는 에러가 나는것이 아닐까..??? (._.);
         주석처리것에서 나면.. 음.. 잘 모르겄넹.. ㅋㅋ;
  • JavaHTMLParsing/2011년프로젝트 . . . . 5 matches
          InputStream is;//URL접속에서 내용을 읽기위 Stream
          //URL객체를 생성하고 해당 URL로 접속다..
          //내용을 읽어오기위 InputStream객체를 생성다..
          //내용을 읽어서 화면에 출력다..
  • JavaStudy2003 . . . . 5 matches
          * 첫번째 과제가 나왔습니다. 보시고 번 알아보세요.
          * 스터디 연락이 늦은 것도 있고 과제도 아무도 안낸 관계로 오늘 스터디는 쉽니다. 여러분들의 호응 없이는 진행이 정말 힘듭니다. 이 글 읽으시고 되는 날짜에(이번주 내로) 꼭 연락을 주십시오. 사람만이라도 연락오면 그 때로 하겠습니다.
          * 8월 19일 화요일 수업 있습니다. 이 날은 '''2시'''에 시작 하겠습니다. 착오 없으시길.. 창재야~ 애들테 연락 돌려라~!
          * 집에와서 해보는데 기억이 안나요 <(;ㅁ;)> 어제 했던 "Hello, World!"프로그램 번만 다시 올려주심 안될까요..-[선희]
          알았어 ^^; 그리고 출력 양식이나 등등은 내가 번 튜토리얼 형식으로 만들어 보지 뭐 -[상욱]
  • JavaStudyInVacation/진행상황 . . . . 5 matches
          SWT 관련 상식 수준 - 글자료가 별로 없군요. 뭐니 뭐니해도 여러분이 쓰고 계시는 Eclipse 겠지요.
          * http://www.jini-club.net/eclipse/dw_EclipsePlatform.html
          * http://gnome.or.kr/moin.cgi/JavaSWT 글(간단 소개)
          * 프레임과 그 안에 이벤트 출력이 가능 버튼 생성하기.
          * 첫째날 만들었던 버튼을 누르면 간단 메시지를 출력하는 자바 에플리케이션을 에플릿으로 바꿔보기.
  • LUA_5 . . . . 5 matches
         오늘은 루아만이 갖고 있는 독특 자료구조 테이블에 대해서 알아보겠습니다. 루아에서 테이블은 해쉬 테이블과 같은 자료 구조 이상의 역할을 합니다. 테이블은 객체지향적 프로그래밍을 가능하게 해주는 역할도 겹합니다. 무슨 이야기인지는 천천히 설명 드리겠습니다. 우선 간단하게 자료구조로써의 테이블을 살펴 보겠습니다.
         > Fruit[ #Fruit + 1 ] = "grape" -- Fruit 의 아이템 갯수를 얻어 + 1을 해서 마지막 첨자를 구해 값을 대입다.
         >> return { Go = Go } -- 여기서 local function Go를 반환하므로 Car에 대 맴버 함수로 사용할 수 있다.
         위의 예제만으로 객체 지향이라고 부르기 좀 부족 면이 있는 것 같네요. 그럼 좀 더 객체지향적으로 바꿔 볼까요?
         간단하게 테이블에 대해서 배웠습니다. 테이블은 루아에서 가장 중요 타잎이고 더 다양하게 활용할 수 있습니다. 나중에 좀 더 깊이 테이블에 대해서 써 보겠습니다.
  • LoveCalculator/zyint . . . . 5 matches
          //자리 일경우 종료
         === 나테 할 말 ===
          오옷~!! 역시 진트.. 무 알고리즘의 복잡함에서 저렇게 깔끔 소스를 만들어내다닛.. 요리왕..아니 소스왕 진트..ㅎ
  • MFC/CObject . . . . 5 matches
         MFC의 계층 구조의 최상단에 있는 클래스이다. 자바로 치자면 Object 클래스에 비슷 클래스이다.
         || DECLARE_DYNAMIC() || 런타임 클래스 정보를 지원다. ||
         || DECLARE_DYNCREATE() || 런타임 클래스 정보와 동적인 객체 생성을 지원다. ||
         || DECLARE_SERIAL() || 런타임 클래스 정보와 동적인 객체 생성, 그리고 객체들의 시리얼화를 지원다. ||
          ''각각은 보조 매크로가 필요하며 DECLARE_ 대신 IMPLEMENT_ 접두사가 붙은 형태이다. 보조매크로는 클래스의 구현 파일 부분에 포함되어야 다.''
  • MineSweeper/이승한 . . . . 5 matches
         = Mine Sweeper/이승 =
         이땐 객체가 무언지 잘 몰라서 함수와 전역 변수들만 가지고 만들어 본...-_-ㅋ;; C랑 다른건 Array 객체를 사용 정도??;;
         // 지뢰위치만을 표시다.
         // 주변의 지뢰 갯수를 세고 표시다.
          // 주변의 지뢰 갯수를 세고 표시다.
  • Minesweeper/이도현 . . . . 5 matches
         매우 평이 문제이다.
         이번에는 처음으로 Presentation Error를 여러번 받았다. 이것은 프로그램이 도출하는 답은 맞으나 출력형식이 잘못된 경우 발생다.
         이 문제는 출력세트별로 반드시 빈 줄을 추가하라고 했다. 이것이 매우 애매 해석으로 이루어져서 코딩에 어려움을 겪었다.
         결과적으로 이야기하면 하나의 출력세트가 있을 경우엔 밑에 빈 줄이 없어야하고 하나 이상일 때만 빈 줄이 있어야다.
         // 2차원 배열에 데이터 입력은 (1,1) 부터 시작다.
  • MoniWikiPlugins . . . . 5 matches
         == 모인모인에서 내장 함수였던 것을 매크로로 분리 구현 것 ==
          * FastSearch (bsd해쉬를 이용 빠른 FullSearchMacro)
          * Gallery 간단 갤러리(UploadFile매크로 이용)
          * whois 간단 whois
          * format: 프로세서를 액션으로 이용하기위 인터페이스 액션 (모인모인도 이 방법을 쓴다)
  • NSIS/예제2 . . . . 5 matches
         ; 디렉토리 체크를 위 레지스트리
          ; 윈도우를 위 Uninstall key를 레지스트리에 저장
          ; 윈도우를 위 Uninstall key를 레지스트리에 저장
         ; 디렉토리 체크를 위 레지스트리
          ; 윈도우를 위 Uninstall key를 레지스트리에 저장
  • NeoZeropageWeb/기획안 . . . . 5 matches
         2006년 신학기를 최종 목표로 제로페이지 홈페이지의 구조를 쇄신다.
         '''기술자적 디자인에서 탈피다.'''
         '''세계의 추세 블로깅을 지원다.'''
         '''위키와 트랙의 유기적 통합을 추구다'''
         '''UTF-8로의 인코딩을 지향다'''
  • Parallels . . . . 5 matches
         패래럴즈 사에서 개발 가상 머신툴로 윈도우 플랫폼용 보다 맥용으로 유명하다. 동영상을 보면 알겠지만, 제된 디바이스만은 구현해서 인지 굉장 속도를 자랑다.
          글쌔. 게시판에서의 사용자 피드백과 이에 대 반영, 빠르게 Release 했다는 현상만으로 XP process로 진행되었다고 이야기하기에는 무리가 있어보이는데.. 홈페이지 내부에서도 XP 로 진행되었다는 이야기도 없고. 빠른 릴리즈와 사용자 피드백은 XP가 XP 라고 선언되기 훨씬 이전에도 자주 이용된 방법이였건만. --[1002]
  • PluggableBehavior . . . . 5 matches
          클래스의 다른 객체들은 일반적으로 서로 다른 상태와 같은 행위를 가지게 된다. 만약에 다른 로직을 원다면, 다른 클래스를 쓴다. 우리가 만드는 객체의 90프로는 이렇다. 가끔, 다른 클래스들은 당신이 문제에 대해 어떻게 생각하는가에 대 효과적인 의사소통을 못 할 수도 있다.(?) 클래스가 많아짐으로써 당신은 짜증이 나고 위협을 받는다. 단 하나의 메소드를 오버라이딩하려고 서브클래싱을 많이 하는것은 낭비다. 또 이렇게 많이 서브클래싱하면서 유연성이 떨어지게 된다.
         해석 점점 이상해진다.--; 이 또 C++에서는 함수 포인터로 구현할 수 있을 듯 하다.
  • PowerOfCryptography/허아영 . . . . 5 matches
         double 변수의 계라고 생각되는데요. 더 큰 변수형는 없나요?
         // n과 p를 입력받아 k를 출력다.
         // n과 p를 입력받아 k를 출력다.
         === 나테 할 말 ===
          재귀호출은.. 생각난 대로 건데, 스택오버플로우 되냐? ㅡㅜ -- 아영
  • PragmaticVersionControlWithCVS/HowTo . . . . 5 matches
         VersionControl 은 개발팀이 해야할 3가지 실천과제중의 개. ( UnitTest, Automation )
         보통 버전관리를 하게되면 개발팀에서 정해진 규칙에 의해 일련의 과정을 거쳐 관리를 다.
         이 경우 체크인처럼 여러번 그리고 자주하는 일에 적용되는 규칙은 간단해햐다.
         릴리즈 브랜치와 같은 일은 좀처럼 생기지 않으므로 좀 규칙이 복잡해도 되지만 최대 간단하게 다.
  • PrimaryArithmetic/sun . . . . 5 matches
         위에서처럼, 그동안 더 큰수를 위에 놓고 더하는데에 익숙해져 있기에 같은 방식을 따랐다. (경험상, 어떤 특별 알고리즘을 따르는게 아니라면, 현실 세계를 모델링하는게 편것 같다.)
         지금 생각해보면 {{{~cpp testNoNumber}}}는 필요없는것 같다. 나중에 글을 쓰다보니, 같이 쓰게 됬는데 원래는 위의 테스트를 먼저 작성하고 테스트 통과후 아래쪽 테스트를 추가했다. 이번 작업과 별도로 '''코딩후에 뭔가하자'''는 결국 놓치는게 많다는걸 다시번 증명하게 된다. :) ''see [http://jania.pe.kr/wiki/jwiki/moin.cgi/NowOrNever NowOrNever]''
         여기서도 마찬가지로 테스트를 작성하게 됬는데, 코드를 추가하다보니 비슷 패턴으로 테스트를 하게 되서, 테스트 셋 추가로 이뤄지도록 테스트를 구성
         (역시나, 하는 중간에 문서를 작성하지 않으니 커다란 동기가 없는 자세히 쓰지 않게 된다. 흑흑)
  • ProjectAR/ThinkAbout . . . . 5 matches
         를 일으키지 않고 잘 진행이 되게끔 하는 것도 생각해 보아야 다.
         하위 몬스터는 그리 문제가 되지 않는다.(그냥 다가오게 다음 때리게 하면 되니까.) 하지만 보스급
         몬스터는 뭔가 달라야 다. 패턴을 가지든 AI를 가지든 단순 움직임을 가져선 안된다.(엑션 RPG에서
         몬스터가 그냥 다가와서 때리기만 다면 말이 되지 않는다.) 이 문제도 많이 생각을 해 봐야 할 것이다
  • ProjectPrometheus/Iteration2 . . . . 5 matches
         || 7/18 || 1차 Iteration 에 대 AcceptanceTest. 2차 Iteration 계획. ||
         || RS - 책을 구입 사람들이 구입 다른 책들 전부 표시 || 1 || ○(3시간) ||
         || Data set 2 - 도서관 검색 알고리즘에 근거 값들 || 0.5 || ○(15분) ||
         || + RS - 책을 보기 (view) 에 대 관계 || . || ○(1시간) ||
         || + RS - 책에 대 점수 (light view) 감안 || 1 || ○(30분) ||
  • ProjectVirush . . . . 5 matches
         외계인이 지구에 있는 생명체에게 바이러스를 보낸다. 강력 바이러스로 지구 생명체를 몰살하려고 플레이어는 바이러스를 통제하는 과학자가 된다. 외계 본부에서 받은 지령을 성공적으로 수행하면 보상이 뒤따르지만, 그러기 위해서는 만만치 않은 다른 바이러스들을 따돌릴 전략을 세워야 다.
          바이러스는 미생물의 일종이다. 정확히 말하면 생물과 무생물 사이에 위치다.
          매개와 숙주. 매개체에서도 증식다.
          백신이란 치명적인 바이러스를 예방하기 위 것이다. 치료제가 아니다.
  • RelationalDatabaseManagementSystem . . . . 5 matches
         에드가 코드는 IBM에서 일할 당시 하드 디스크 시스템의 개발을 하였다. 이 사람은 기존의 codasyl approach 의 navigational 모델에 상당히 불만을 많이 가지고 있었다. 왜냐하면 navigational 모델에서는 테이프 대신에 디스크에 데이터베이스가 저장되면서 급속하게 필요하게된 검색 기능에 대 고려가 전혀되어있지 않았기 때문이다. 1970년에 들어서면서 이 사람은 데이터베이스 구축에 관 많은 논문을 썻다. 그 논문은 결국에는 A Relational Model of Data for Large Shared Data Banks 라는 데이터 베이스 이론에 근복적인 접근을 바꾸는 논문으로 집대성되었다.
         이 논문에서 이 사람은 대용량 데이터베이스의 저장과 작업에 잇어서 새로운 시스템을 기술다. 기존의 정렬된 링크드 리스트의 자유로운 형태의 레코드가 아니라, 고정 길이의 레코드를 가진 표를 데이터의 저장에 이용하자는 생각이었다. 링크드 리스트 시스템은 희소 데이터베이스를 저장하는데 있어서 대단히 비효율적이었다. 관계형 모델에서 이것은 테이블에다 데이터를 나누어서 저장하면서 이를 해결다.
  • RubyLanguage/InputOutput . . . . 5 matches
          * << 메서드는 매개변수 전달시 객체를 to_s 메서드로 문자열 변환다.
          * each_byte : 바이트씩 읽어옴
          * each_line : 세퍼레이터를 넘겨 단위(세퍼레이터로 구분)씩 읽어옴
          * foreach : 줄씩 읽어옴. 다 읽은 후 파일을 자동으로 닫는다.
          * TCPSocket을 이용 네트워킹
  • Self-describingSequence . . . . 5 matches
         솔로몬 골롱(Solomon Golomb)의 자기기술 수열 <f(1), f(2), f(3), ... >은 각 k에 대해 k라는 숫자가 정확하게 f(k)번 등장하는 속성을 가지는 양의 정수로 구성된 유일 비감소수열이다. 이 수열의 앞 부분을 생각해보면 다음과 같은 식이라는 것을 알 수 있다.
         어떤 값 n이 주어졌을 때 f(n)의 값을 계산하는 프로그램을 만들어야 다.
         여러 개의 테스트 케이스가 입력될 수 있다. 각 줄마다 하나씩의 정수 n이 입력되며, 정수 개가 하나의 테스트 케이스를 이룬다(1 ≤ n ≤ 2,000,000,000). n이 0인 테스트 케이스가 입력되면 입력이 종료되며, 그 케이스는 처리하지 않는다.
         각 테스트 케이스에 대해 줄에 하나씩 f(n) 값을 출력다.
  • StructureAndInterpretationOfComputerPrograms . . . . 5 matches
         소프트웨어개발에서 중요 개념중 하나인 Abstraction 에 대해 제대로 배울 수 있을 것이다. 그리고 Modularity, Objects, and State 등.
         그리고 전산학쪽 커리큘럼과 관련하여 쓸만 예제들이 돋보인다. (좀 어렵긴 하겠지만.) 그리고 중간에 Scheme 코드를 일반언어로 읽는 방법에 대해 이야기다. (이 또 Abstraction 의 관점이랄까.)
         국내에서 [http://pl.changwon.ac.kr/sicp/sicp_data.html 창원대학교]와 [http://ropas.kaist.ac.kr/~kwang/320/02/ 카이스트] 에서 교재로 이용하고 있다. 고대 에서도 과거 가르친적이 있다고 다. 현재는 아니지만.
  • SwitchAndCaseAsBadSmell . . . . 5 matches
         ["가위바위보"] 구현 코드들을 보면 케이스 문을 많이 쓰거나 혹은 비슷 구조의 if 문이 중복된 경우가 많습니다.
         케이스문이 줄줄이 나오는 것이나 비슷 구조가 반복되는 것이나 모두 "나쁜 냄새"(Moa:BadSmell )입니다. 조금이라도 나쁜 냄새가 나면 바로바로 냄새 제거를 해야 합니다. 예컨대, 반복되는 케이스문은 테이블 프로그래밍(Table/Data Driven Programming)으로 해결할 수 있습니다.
         그리고, 사고의 도구들을 적극적으로 활용하기 바랍니다. 스테이트 다이어그램이나, 심지어는 x,y 좌표계를 사용하는 것, 혹은 서브루틴을 통해 문제를 소문제(subproblem)로 나누는 것도 아주 훌륭 사고의 도구가 됩니다 -- 문제의 복잡도를 낮춰주기 때문이죠.
         여기서 단계 더 리팩토링이 가능할까요?
         사실은 이런 종적 상태로서의 프로그램이 중요 것이 아니고, 어떻게 이런 프로그램에 도달할 수 있었는지, 그 사고와 프로그래밍의 과정이 중요합니다.
  • TCP/IP . . . . 5 matches
         소켓 프로그래밍을 위 TCP/IP 용어 정리
         이런 그림을 그릴 수가 있다. 그림에 대 설명은 하지 않는다.
         이렇게 하면 다른 애플리케이션 역시 쓰여진 소켓을 읽을 수 있고 그 역도 성립다.
          * Interactive Shell이 지원되는 언어(e.g. Python, Ruby, ...)를 사용하면 TCP/IP의 개념을 아주 빠른 시간 안에 배울 수 있음. (Python은 내부적으로 C 라이브러리를 그대로 사용) 또, 현재 개발된/개발중인 시스템을 테스트 하는 데에도 매우 편리함. 예컨대, 리코에서는 XMLRPC 서버 접속을 파이썬 쉘에서 하고(import xmlrpc 다음에...), 거기서 사용자 등록 등의 서비스를 직접 사용하게 다.
  • TriDiagonal/1002 . . . . 5 matches
         수치해석 레포트로 나온 TriDiagonal 문제에 대 나름대로의 (--;) TFP 식 접근 풀이. 오히려 다른 사람들보다 소스가 커지긴 했지만, 소스를 원다면 더 줄일 수 있고 (단, 코드를 알아보기 어려워질까봐 묶을 수 있는 부분에 대해서도 풀어 씀), LU 분해 부분에 대해서는 어느정도 일반화를 시켰다고 생각하기에 그리 나쁘진 않다고 생각하는중.
          * 해결 시간 : 대략 6시간 10분 (수학 일반화 계산 1시간 30분, LU 분해 2시간 30분, tri-diagonal 2시간 12분)
         === test_lu.py - LU Decomposition 을 위 test code ===
         === test_tridiagonal.py - tri-diagonal 부분에 대 test-code ===
  • UglyNumbers . . . . 5 matches
         처음 수는 1로 시작하도록 다. 입력은 받지 않고, <number> 에 1500번째 심술쟁이 수가 출력되게 다.
         || [이승] || Python || 40분 || [UglyNumbers/승] || . ||
         음 부연설명을 하자면 양의 정수들을 대상으로 일정 부분의 정수들은 그 수가 단지 2와 3과 5의 곱으로만 표현될수 있잖아. 가령 6=2*3 혹은 15=3*5 혹은 45 = 3*5*3 이런식으로 생각할수 있잖아.그런식으 따졌을때 숫자의 크기순서로 볼때 내가 말 조건을 만족하는 1500번째 양의 정수는 ?? 무슨 숫자인지를 출력해야돼 물론 출력된 양의 정수는 2와 3과 5만으로 표현되겠지 [김회영]
  • UglyNumbers/1002 . . . . 5 matches
         처음 문제를 제대로 이해하지 않고 '그냥 2,3,5 외의 소수 제외것 아닌가?' 로 접근하다가 14 는 아니라는 것을 간과. 다시 처음부터 접근.
         연습장에 이것저것 써보다가 대략 두가지 접근법이 생각나다. 하나는 각 수들마다 'isUglyNumber' , 하나는 지수를 이용 방법. 일단은 'isUglyNumber' 먼저 구현해보기로 해봄. (워낙 간단하므로)
         그러다가, '에이.. 걍 sort 해버리자.' 접근. 하지만, n 값에 따라 결과가 영향을 받을 것이라는 막연 생각에 연습장에서 참 고민. 그냥 실제 원하는 값 보다 여유분 값을 만들고 적당히 답을 내는 방식으로 접근. 하지만, 무언가 굉장히 찝찝함.
         [UglyNumbers/JuNe] 코드 분석. 2시간 동안 보다가 도무지 접근법을 이해 못하다. 3시간째쯤 보다가 http://www.acmsolver.org/?itemid=28#ggviewer-offsite-nav-9512048 보고 이해 & 좌절.
  • VendingMachine/세연 . . . . 5 matches
          cout << "0.종료다\n";
         //자판기의 메뉴를 초기화
         코드의 경우 가장 간단 평가 기준으로 두가지를 둔다면,
          * 코드를 읽기 편가. - 외부로 보이는 public 메소드의 이름에 대해 'how' 가 아닌 'what' 이 표현되어야 할겁니다. 클래스는 보통 '이용되어지는 모습' 으로 이용되므로, 어떤 알고리즘을 쓰느냐가 메소드로 표현되는게 아니라 '무엇을 할것인가' 가 표현되어야 겠죠.
          * 코드의 중복이 얼마나 적은가 - 코드 중복이 많을 수록, 코드 하나가 잘못되면, 나머지 중복코드들도 다 고쳐줘야 합니다. Copy & Paste 를 하는 것과 함수/메소드로 추출 것의 차이가 되겠죠.
  • WindowsConsoleControl . . . . 5 matches
         터보 C를 사용할때는 라이브러리로 콘솔제어를 쉽게 하는 함수들이 존재하였다. MS의 콘솔을 배제하는 정책 때문인지 함수는 존재하지만, 불편 인터페이스를 그대로 유지하고 있는데, 이를 살작 추상화 시키는 간단 소스들이다.
         // n/1000초만큼 시간을 실행을 중지다.
         // 커서의 x 좌표를 조사다.
         // 커서의 y좌표를 조사다.
  • WorldCup/송지원 . . . . 5 matches
          || 개요 ||월드컵 축구 경기를 하면 이긴 팀은 3점, 진 팀은 0점, 비긴 팀은 각각 1점씩 획득다. ||
          * 번도 비기지 않는다면 정상적인 점수는 (경기 횟수 * 3)일 것이다.
          * 이길 경우 팀이 3점 받고 비길 경우 각 팀이 1점씩 받으므로 승패가 가려지면 총 3점, 안 가려지면 총 2점이 취득될 것임.
          * (경기 횟수 * 3)에서 각 팀의 총점을 더 sum값을 빼면 비긴 횟수가 될 것이다.
          * 몇번 해보면서 느끼는건데 poj는 사소 예외는 신경 안쓰는 경우가 많은거 같더라구요....;; 괜히 Accept안되니까 우리가 온갖 예외처리를 다 잡아넣어서 그렇지요..;;;;; -[김태진]
  • Yggdrasil/가속된씨플플/1장 . . . . 5 matches
          * 인터페이스: 해당 타입의 객체에 사용 가능 연산(operation)들의 집합
         std::string name2(3, '!');//이것도 생성자. 두번째 인자를 첫번째 인자만큼 채워서 string객체를 초기화. 즉 memset()함수와 비슷 기능
         std::string name4="Rim"+"Youngdong";//위에서 설명 것처럼, 이런 식으로 문자열 리터럴끼리만 더할 수 없음. 에러 출력.
          * 1-1과는 달리 처음에 큰 따옴표 안에 들어가 있는 문자열 리터럴을 두 개 더했음. 제일 뒤에 string 인스턴스가 있어서 괜찮을 것 같지만, 결합방식에 있어서 왼쪽 결합 우선이기에 처음엔 "Hello"와 ",world"를 더하게 된다. 그러므로 에러를 출력다.
          * x라는 인스턴스는 선언된 괄호 밖을 나가서 사용되었으니 에러를 출력. 이미 소멸되었으며, 맞게 고치려면 7째줄의 괄호를 없애고 그 다음줄에 써야다.
  • ZIM/UIPrototype . . . . 5 matches
         일단 오늘 연습장에 그리던것들 옮겨봤어요. 차라리 깨끗하게 손으로 그려서 스캔하는게 나을것 같다는. --a 추후 재정리 번 하죠. --석천
         Software for Use와 Contextual Design의 일독을 권합니다. UI쪽(특히 실전)에서는 탁월 책들입니다. 이 책들에서는 UI 프로토타이핑을 종이를 통해 하기를 강력하게 추천하고 있습니다. 각종 자동화 툴을 써보면 오히려 불편 경우가 많습니다. 넓은 종이와 다양 크기의 3M 포스트 잇을 이용해서 버튼 같은 것의 위치를 자유로이 옮겨볼 수 있습니다. 이렇게 만든 프로토타입을 사무실 벽에 걸어넣고 그 앞에서 토론도 하고, 즉석에서 모양을 바꾸기도 합니다. 초기에는 커뮤니케이션 보조 도구로 화이트보드를 많이 사용하기도 합니다. 그러나 자리에서 함께 작업할 기회가 적은 경우에는 어쩔 수 없이 전자문서와 이미지에 의존해야겠죠. 제 경우는 주로 스캐너를 이용해서 손으로 그린 이미지 공유를 했습니다. 온라인에서 공동으로 디자인 토론을 할 경우에는 화이트보드가 지원되는 온라인 컨퍼런싱 툴을 씁니다. (e.g. 넷미팅) --김창준
  • ZPBoard/PHPStudy/기본문법 . . . . 5 matches
          * define() 을 사용하여 정의할 수 있으며, 변수와는 달리 번 정의된 뒤로는 변경할 수가 없다.
          * 우선 기본적으로 C에서 사용하던 +, -, *, /, % 는 동일하게 사용다.
          * 앞에서 언급 각종 연산자를 대입연산자와 함께 사용하는 것도 C와 동일
         진짜중요명령
          *배열을 원소를 차례로 지정 변수에 하나씩 저장시켜서 루프를 돌면서 반복 수행
  • ZeroPageServer/BlockingUninvitedGuests . . . . 5 matches
         === 접근을 제하는 방법 ===
          - 확실 방법이기는 하지만, 위키철학에 어긋나는 방법이 될 수도 있다.
          - 두가지 방법을 생각 해 볼 수가 있는데, 하나는 아이피 자체를 막는 방법과 특정 URL 의 접근을 막는 방법. (URL을 막는 방법이 가능지는 모르겠다)
          - 만약 해당 페이지를 생성하는 주체가 로봇이 아닌 검색엔진의 결과를 클릭 사용자라면 이 방법은 적절하지 않다.
          - [임인택]의 [http://purepond.cafe24.com/ 개인위키]도 ZeroPage 에서와 같은 문제점을 (그것도 더 심하게) 겪었는데 아파치의 보안기능 (.htaccess 파일 이용)을 적용해봐도 결과는 마찬가지였다. 누군가의 장난이거나 검색엔진(+사용자)의 무지에서 오는 문제인것이 확실하였는데. 결국 NoSmoke:노스모크모인모인 의 '''등록 사용자만 글을 쓸수 있게 하는''' 기능을 이용하여 이 문제를 해결하였다. 여담으로.. 쓰레기 페이지를 손수 지우느라 엄청 고생함...-_-;;
  • ZeroPageServer/CVS계정 . . . . 5 matches
          * 신청자가 password 노출을 꺼릴때는 ~root/cryptout.pl 을 복사해 주고, telnet 상에서 암호화된 암호 문자열을 달라고 요청다.
          * <!> passwd 파일의 마지막에는 항상 빈줄이 들어가야 다.
          1. [Eclipse]나 여타 CVS 클라이언트로 접속해서 확인다.
          1. /home/CVS 이하 파일들의 권이 cvs_man 이 아니라면, 변경해준다.
          * CVS 계정은 신청하시기 전에 최소 ["CVS"] 에 있는 ["CVS/길동씨의CVS사용기ForLocal"] 라도 따라해 보시고 신청하세요.
  • [Lovely]boy^_^/Diary/7/22_26 . . . . 5 matches
          * 고로 게 없다--;
         || 종류 || 것 || 성과 || 코멘트 ||
         || 영어 || 단어 100개 정도 외우기 || 90% || 그냥 쓱 보고 다음에 볼떄는 외운건 체크하고 또 쓱 보고 이걸 반복다. ||
         || 종류 || 것 || 성과 || 코멘트 ||
         || 종류 || 것 || 성과 || 코멘트 ||
  • [Lovely]boy^_^/Diary/7/29_8/3 . . . . 5 matches
         || 종류 || 것 || 성과 || 코멘트 ||
         || 3D || 프랙탈을 이용 지형 만들기 || 100%? || 재귀땜에 쫄았는데.. 잘돼서 다행이다 ||
         || 종류 || 것 || 성과 || 코멘트 ||
         || 종류 || 것 || 성과 || 코멘트 ||
         || Python || 별루 것 없음 || 10% || ||
  • cyflux . . . . 5 matches
         정보 디자인, 인터텍션 디자인, 센서 기술등 다양 디자인과 기술에 대 지식과 정보를 공유하는 곳입니다.
         또, Flash로 작업 작업들이나 코드들을 공유합니다. 주로, 위 주제에 관 작업들을 주로 합니다.
  • eclipse단축키 . . . . 5 matches
         == 유용 팁 ==
          * Windows - Preferences - General - Editors - Text Editors - 80라인 제 선, 라인 수 보이기
          * 바로 전 실행 프로그램 실행
          * Content Assist : show template proposals 사용가능 메소드 이름 보여준다
          * Quick Fix : 에러 수정을 위 몇 가지 제안 알려준다
  • erunc0/Mobile . . . . 5 matches
         mobile. 왠지 거창하다. 내가 하는 일은 요즘 pda를 산다면 대부분이 사는 arm processor 를 장착 wince 기반의 ipaq 기종에 미니 게임을 만든다는.. --; 아직 시장도 없거니와. sk 쪽에서 휴대폰에 이어 앞으로 펼쳐지게(?)될 pda 시장에 sk 이름에 걸맞게 휴대폰 장사에 이어 독점 비슷하다 싶이 하기위해 자그마치 500 억이라는 투자로 인해 매일 같이 삽질을 하고 있다.
         === 필요 것 ===
          * lan card - 돈있으면 구입해서 다. compile 속도가 비약 적으로 상승. -_-;
          * gx library 에서 제공해주는 몇안되는 함수를 이용하여. pda 화면에 대 pointer를 얻어와 삽질해서 뿌린다. dx 할때랑 똑같음.
          * bitmap 뿌리는 것이 쉬워 보여도.. 무진장 어렵다.. 아직도 삽질 중이다.. 그 엄청난 bit 연산과.. 무지막지 pointer들. 도대체가 뭔 말인지 몰라 그냥 긁어 쓴다. 우헤헤헤헤..
  • html5/webSqlDatabase . . . . 5 matches
          * WebStorage는 간단 데이터를 저장하기 적합.
          * Indexed Database는 새로 등장 또다른 로컬 저장소 스펙이다
          * 비동기 작업 이므로 UI에 최소의 영향을 준다.
          * transaction을 지원다.
          * 사용전에 반드시 데이터 베이스를 열어야 다.
  • html5practice . . . . 5 matches
          * 로컬에만 데이터를 저장하는 안전 메모장
          * 간단 파일(그림, 텍스트) 전송 프로그램
          * [html5practice/즐겨찾기목록만들기] : [html5/web-storage] 활용 - 이승
          * [html5practice/roundRect] : [html5/canvas] 활용 - 이승
          * [html5practice/계층형자료구조그리기] : [html5/canvas] 활용 - 이승
  • ljh131 . . . . 5 matches
         모든 프로그래머들이 copy & paste에 빠져있어 구글신께서 포맷으로 심판하려 할 때 홀로 노가다 코딩을 하던 아노아씨는 구글신의 특별 계시로 포맷이 닥칠것을 미리 알게 된다. 그는 120번의 이터레이션에 걸쳐 방주(신개념 version control system)를 제작해, 8개의 대형 오픈 소스 프로젝트와 패키지씩의 여러 sf프로젝트를 커밋다. 포맷이 닥치자 모든 오픈 소스 프로젝트가 실패하고 말았지만, 이 방주에 커밋된 프로젝트들은 살아 남았다고 다.
          - 프로젝트 압박을 역설적으로 표현 남박사(남사장??@,.@)
  • pinple . . . . 5 matches
         새로운 느낌의 신선 프로젝트
         전부 새로운 기술이어서 난해 점이 많았다.
          모임 횟수가 모두 번이면 괜찮을거야 하고서는 아무도 도중에 늘리거나 줄이자고 하지는 않았다.
          * 전부 새로운 기술이어서 난해 점이 많았다. -> 일주일해 번정도 더 모여서 같이 스터디 하는 시간이 있었다면...
  • 김희성/리눅스멀티채팅 . . . . 5 matches
          //사용자가 이해하기 쉽도록 스레드 번호에 +1 값을 쓰도록 다.
          //코드의 간결화를 위해 값을 복사다.
          //스레드가 비활성화 되었으므로 thread_num을 0으로 초기화다.
          gotoxy(0,100);//gotoxy의 특징을 이용하여 화면을 칸 올린다.
         서버를 기반으로 다중 채팅 코드
  • 남자들에게 . . . . 5 matches
          * 감상 : 음 이책은 주관적인 면이 강거 같다. 뭐 이책의 특성상 자기의 의견이 많이 드러날 수 밖에 없는거 같다. 이책은 수필 스타일로 씌어 졌다. 그래서 평소 로마인 이야기에서와 같이 뭔가 자신의 모습은 감추는 듯 시오노 나나미씨의 모습과는 다르게 이 책은 온통 시오노 나나미씨의 생각들이다. 그래서 더 흥미로웠는지도 모른다. 이책에서는 시오노 나나미씨가 남자들에게 말하고 싶어하는 여러가지 내용이 나와 있었다. 음 바로 어제지만 좀 많이 까먹어서 별로 많이 생각나지는 않지만 몇가지만 적으면....
          * 불행 남자
          * 너무 원칙에만 충실하려고 하고 다른 사람에게도 그 원칙을 강요하는 사람. 어느정도 공감이 가는 내용이었다. 그리고 나에게 적용해서 내가 고칠점은 무엇인가도 생각해 보았다. 자신이 가지고 있는 원칙이 무조건 옳고 다른 사람도 그렇게 해야 다고 생각하는것은 정말 피해야할 생각인거 같다.
          * 소심 사람
  • 논문검색 . . . . 5 matches
          * [http://kric.kist.re.kr 국과학기술연구원(KIST)]
          * [http://www.kosef.re.kr/ 국과학재단(KOSEF)]
          * [http://www.keris.or.kr/ 국교육학술정보원(KERIS)]
          * [http://www.kins.co.kr/ 국아이엔에스(KINS)]
          * [http://www.krf.or.kr/ 국학술진흥재단(KRF)]
  • 달라이라마와도올의만남 . . . . 5 matches
          * 특별사항: 권당 16000원의 올컬러로 된 럭셔리
          * 현재 2권을 읽고 있는데 번쯤 읽어볼만 책인 것 같습니다 --[강희경]
          * '사리'나 '탑'등의 진정 의미...
  • 데블스캠프2003/다섯째날/후기 . . . . 5 matches
          * 마지막날.. 오목 정말 잼있고 적절 시간에 다해서 마지막 시간은 겜을 즐길 수 있었다. 캠프 기간동안 많은 체험을 할 수 있어서 정말 정말 좋았고 캠프기간동안 잘 가르쳐준 선배님들에게 감사하다는 말을 하고 싶다. 그리고 앞으로도 컴퓨터실력향상에 항상 부지런 하도록 노력하자~~ 동기친구들 모두들 수고 많았고...다들 파이링~~~ ^^: [조재화]
          * 오목 짜고 뿌듯 건 진짜 짱이었고;; 스타와 포트가 너무너무 재미있었다=ㅂ= 모君의 컴퓨터가 마우스를 흔들지 않으면 다운이 되서; 계속 흔들고 있었던 게 너무 웃겼다 ㅋ; 늘었다고 생각되는 건..프로그램 실력 조금이랑..스타와 포트 실력 왕창-_- (콜록) [이진훈]
          * 눈 아프다... @_@ 피곤데 잠은 금방 깨고... 뭔 일인지...ㅡㅡ;; -- [재니]
          * 끝까지 처음같이 못점...앞으로는 없도록 노력해야겠다. -[Leonardong]
          * 마지막 날 참여는 못했지만 올해 데블스 캠프, 절반은 성공 것 같습니다. 이제 방학 남은 기간동안 공부할 것을 찾아 (이미 많은 것을 보아 고르기만 하면 될 듯...) 열심히 공부하셔서 나머지 절반도 성공하시기 바랍니다. --재동
  • 데블스캠프2005/언어디자인/그까이꺼 . . . . 5 matches
         viewer란 프로그램이 있다. 뒤에 출력하고싶은 것을 입력다. ','로 구분다.
         viewer<-star,ent는 *를 출력하고 줄을 띄운다.
         loop(viewer<-star,ent)x5는 별을 화면에 하나 나타내고 줄 띄우는 프로그램을 5번 반복다.
  • 데블스캠프2006/준비/목요일 . . . . 5 matches
          * 목표 : 절차식에 익숙 신입생들에게 객체지향의 감을 전달다. (사과는 없다--;)
          * 순서는 객체지향이 먼저 나와야 하지 않을까? 아무래도 콘솔에 익숙 상태니까 하던거 그대로 나가는게 낫지 않을까 싶네 - [창섭]
          * 전날 밤새고 바로 새벽에 예비군갔다가 오후에 와서 또 밤새야다. 이건 철인의 체력을 요구다. 아무래도 뒷쪽에 맡은 강사들이 제정신이 아닐것 같은데 대책을 세우자. - [창섭]
  • 데블스캠프2010 . . . . 5 matches
          || 1 || 김수경 || Prolog || 토요일을 제외 전 시간대 ||
          || 4 || 남상혁 || SDL을 이용 게임프로그래밍 || 전 시간대 가능 ||
          || 6 || 이승 || 여러 플래폼의 list, 여러 플래폼의 socket 통신 또는 openCV || 24일제외 ||
          || 8시 ~ 10시 || [이승]|| [wiki:데블스캠프2010/일반리스트 일반리스트] || [변형진] || [wiki:데블스캠프2010/Factorize Factorize] || [이병윤] || 가상화 || [wiki:상규 이상규] || 생각하는 개발자 || [박성현] || Ending 총화 ||
          * 와아-_- 나도 C++0x를 할까 고민했었는데 - 이승
  • 레밍즈프로젝트/프로토타입/에니메이션 . . . . 5 matches
         AddFrame(UINT ITEM)으로 프레임을 추가시키고 외부에서 적절 타이머를 통해서 움직임을 조절다.(NextFrame())
         CDC를 확장 [레밍즈프로젝트/그리기DC]에 자동 에니메이션을 구현 하고자 하였다.
         에니메이션이 필요 객체들은 이 클래스를 상속 받음으로서 에니메이션 처리를 할 수 있다.
         이 클래스는 더블버퍼링과 bmp그리기를 자동화 시켜둔 [레밍즈프로젝트/그리기DC](CmyDouBuffDC)를 사용하여 드로잉을 수행다. (CDC를 사용하는 도 있지만... 편의를 위해서...)
  • 로마숫자바꾸기/허아영 . . . . 5 matches
         완벽하다고 자부다. (소스말구요 프로그램 출력..헤헤..^^)
         로마숫자는 숫자를 길게 쓰지 않으려는 노력의 흔적은 보이지만 딱 꼬집어서 가지로 말할 알고리즘은 없는것 같다.
         === 나테 할 말 ===
          완벽하네..ㅎㅎ 사실 그렇게 길지도 않는데?ㅎ 1000자리쯤 가면 좀 길어질려나..ㅎㅎ 왠지 {}안의 내용이 비슷비슷해 보이기는 하지만.ㅎㅎ 뭐..어디가 중복인지는 나도 모르겠..ㅎㅎ 그러니 나름대로 괜찮은 소스라고.. ㅎㅎ 그럼 좋은하루..(추신: 네 소스는 항상 테스트가 잘됨.ㅎ) - [조현태]
  • 마스코트이름토론 . . . . 5 matches
         MoinMoin -> MoMo(이건 캐릭터 이름 들어본거 같고) or MiMi(헉 그유명) or Moi(아무래도 이것이..) [[BR]]
         모이 ( Moi ) 는 어떠지? --상민[[BR]]
         원작자의 권으로 이름 지어도. 그래야 관련 페이지를 만들어서 찬양(?)하지 후후후 --상민
          1. 제작자 스스로가 자신의 창작물에 대 정체성을 모르고 있다. 여잔지 남잔지 마녀인지 도통 헷갈려함.
          그러므로 *마년* 이 결사반대 당것은 부당하다~.. ㅎㅎ --혀뉘
  • 몸짱프로젝트/CrossReference . . . . 5 matches
          * 불필요 부분 리펙토링 하는 중
         // Cross Reference를 작성하기 위 함수
         // 왼쪽 서브트리와 다시 비교다.
         // 오른쪽 서브트리와 다시 비교다.
         (*node)->left = NULL;// child 노드를 NULL로 초기화다.
  • 문서구조조정 . . . . 5 matches
         위키는 ["DocumentMode"] 를 지향다. 해당 페이지의 ["ThreadMode"]의 토론이 길어지거나, 이미 그 토론의 역할이 끝났을 경우, 페이지가 너무 길어진 경우, 페이지하나에 여러가지 주제들이 길게 늘여져있는 경우에는 문서구조조정이 필요 때이다.
         새로 페이지를 만들어주거나, 기존의 스레드 토론에서의 의견, 주장 등의 글들을 요약 & 정리 해줌으로서 해당 주제를 중심으로 페이지의 내용이 그 주제를 제대로 담도록 해준다. 이는 프로그램 기법에서 일종의 ["Refactoring"] 과 비슷 원리이다.
         이 역할을 해야 할 사람은 특별하게 정해져있지 않다. 위키는 해당 페이지에 대해 누구나 접근하고 고칠 수 있다. 즉, 누구나 이 역할을 할 수 있으며, 이 또 새 페이지의 주제를 열고 글을 쓰는 것 처럼 중요 일이다.
  • 문자반대출력 . . . . 5 matches
         문제 : 파일 입력으로 문자열을 입력 후, 어떠 알고리즘을 통해 반대로 된 문자열을 파일로 출력다.
          * C 에도 라이브러리로 문자열 반전 시켜주는 함수를 제공합니다. strrev()라는 함수를 사용하면 '\0'바로 전 글자부터 거꾸로 만들어주죠. 물론 ANSI 표준은 아니고 Semantec, Borland, Microsoft 에서 제공하는 컴파일러의 경우에 자체 라이브러리로 제공합니다. 이식성을 생각하지 않는 일반적인 코딩에서는 위에 나열 컴파일러를 이용다면 사용할 수 있습니다. - 도현
  • 박원석 . . . . 5 matches
         현재 영화는 우리생활에서 큰 비중을 차지하고 있다. 영화가 우리생활에서 큰 비중을 차지하는 만큼 영화는 새로운 문화적 현상이나 영상을 많이 창출해낸다. 우리나라에서만 이루어지는 것들만 보아도 굉장히 많다. 유행어를 창조해거나 새로운 패션을 창조해내고 타국에 대 인식도 바꿔놓는다. 유행어의 대표적인 예로는 ‘태극기 휘날리며’의 원빈대사인 ‘내 핑계 대지마!’ 가 있다. 이 대사는 ‘태극기 휘날리며’라는 영화를 통해 대중들에게 접근되었고 유행이 되었다. 또 타국에 대 인식의 예로는 우리나라의 ‘올드보이’가 최근 상도 받고 해외에 널리 퍼지게 됨으로써 국이 영화산업이 발전 나라로 인식을 하게 되었다. 이로써 타국에서는 국의 영화산업에 전보다 더 큰 관심을 보이고 교류가 활발히 이루어지게 되는 것이다. 이렇게 영화는 새로운 문화적 현상을 창출해 낼 수 있다.
  • 반복문자열/허아영 . . . . 5 matches
         === 나테 할 말 ===
          다음부터는 저런 형태가 아니라... 위의 코드와 어떤점에서 다른건지... 번 생각 해 보라는 소리인듯... - [이승]
          선배님들 소스가 장난이 아니에요. 사실 간단 문제라고 생각했었는데, 고정관념이 깨인듯 느낌이네요. -[허아영]
  • 봄과프로젝트 . . . . 5 matches
         학기초에 잘만 활용다면 많은 시간이 나오는 봄을 이용하여 프로젝트를 진행해 보자.
         || SmallTalk || [Leonardong], [이승] ||
         || [새싹배움터05] || [강희경], [문보창], [이승] ||
         || windowsAPI || [이승], [조동영] ||
         || [새싹C스터디2005] || [황재선], [강희경], [이승], [조동영], [이영호], [윤성만], [하욱주] ||
  • 비행기게임/진행상황 . . . . 5 matches
          * 7.8 ~ 7.9 : pygame 라이브러리 사용하니깐 만들기가 상당히 편거 같다. 대충 비행기 움직이게 만들었다.
          * 7.10 : 대충 비행기에서 미사일 나가고, 적기도 나타나고
          * 이거저거 하다 보니 실질적으론 게 없음
          * 7월 21일 : 충돌부분 이상거 해결, 미사일 나가는 간격 조정
          * 점수 뿌리는 거 하느라 죽을뻔 했다. Ailien의 암호화된 소스를 분석하는데 상당 시간을 소모했다. 여튼 점수 나타내는 거 끊냈다. 지금 시간 세벽 4시!! 인간승리다!!....ㅠ,ㅠ 파일은 자료실에 올려놨다 --재동
  • 상협/2DAlca . . . . 5 matches
         || 날짜 || 일 || 비고 ||
         || 10.27 ||벽돌 만듬, 벽돌과 공 충돌 처리함, 여러번 맞아야 깨지는 벽돌 만듬, 스테이지 파일에서 읽어오게 만듬, 스테이지 1~5판 만듬, 스펙에 있는 기본기능 모두 만족하게 자잘 기능 넣음|| 4시간 12분 ||
         || 11.4 ||98에서도 호환성을 유지하기 위 삽질을 합.. 98에선 키보드 안 움직임. 이유 알수 없음 ㅠㅜ|| 30분 ||
          * 오늘 시험 공부 하기 지루해서 번 짜 봤다 -_-.. 10.20
          * 역시 겜 짜는건 재밌당. -_-;; 네트워크로 번 짜볼까나.. 네트워크를 제대로 해번적이 없으니 ..쩝.. 10.27
  • 새싹교실/2011/AmazingC/5일차(4월 14일) . . . . 5 matches
          * case마다 하나의 명령만을 실행하려면 반드시 break쓸것!
          * 조건식을 만족하는 동안 무번 명령 반복
          * 따라서 반드시 1번은 명령을 수행다.
         [이가희] - 지금까지 배운 부분중에 가장 중요 부분이라고 생각되는 반복문과 조건문! if, while, for! 뒤에 별찍는게 좀 무서워보이긴 합니다만 열심히 해보겠습니다^_^ 오빠도 시험 잘보세요~ 아니 잘 보시고 계신가요 ㅋㅋㅋㅋ?
         과제 재밌어보인다... - [고종]
  • 새싹교실/2011/學高/2회차 . . . . 5 matches
          * 3+5=8E+0 를 출력하는 프로그램을 작성하라. 단, %d,%e를 반드시 이용해야 다.
          * 강사형의 시간표가 워낙 빠듯해서 수업이 오래 진행되지 못점, 아쉽습니다...
          * 왠지 모르게 피드백이 부실점, 죄송합니다...
          *3+5=8E+0 를 출력하는 프로그램을 작성하라. 단, %d,%e,를 반드시 이용해야 다.
          * 위키는 아직 익숙하지 않아서 못 쓰는 게 당연 일... 쓰다보면 다들 익숙해질거야 ㅋㅋㅋ 그나저나 벌써 2회차라니 빠른데!! - [김수경]
  • 새싹교실/2011/學高/5회차 . . . . 5 matches
         새싹교실하면서 이렇게 복습 열심히 건 처음인 것 같습니다..
         a=b 는 b대신 a로 표현 (?)... 그 비슷 뜻.
         봉봉교수님테 배울때 뭔소리인지 이해불능이었던
         또 x=x+3 보다는 x+=3요렇게 ? 인가? 이렇게가 더 많이 쓰이고 편하다는(?)것.
         저는 불편데 . .ㅠㅠ.ㅠ.ㅠ.
  • 새싹교실/2012/새싹교실강사교육 . . . . 5 matches
          * 고
          1. 강사간의 행동 교정을 통 상호 지도는 가능하다.
          1. 기본 커리큘럼으로 만들은 강의자료와 교육시간은 강사들에게 약간의 준비됬다는 자신감(자신이 뭘 가르쳐야될지에 대 확신감으로 표현 가능)을 부여다.
          1. 일주일에 2시간강의를 진행할때 나누어서 자주 만나는것이 더 관계, 대화를 진척시켜 빠른 피드백에 의 지식 전달에 도움이 된다(출석률이 좋을경우).
  • 새싹교실/2012/열반/120507 . . . . 5 matches
          * 과제 설명 및 배열에 대 개념 학습
         === 왜 배열이 필요가 ===
         === 왜 정렬이 필요가 ===
          * 어떤 도서관의 서가에 책이 정렬되어 있지 않다고 가정해봅시다. 그 상황에서는 어떤 특정 책을 찾기는 매우 힘듭니다. 우리가 도서관에서 책을 쉽게 찾을 수 있는 이유는 책들이 정렬 되어 있기 때문입니다. 단, 저런 편리함을 위해서는 어느 정도의 비용이 발생합니다. 기존의 데이터를 정렬할 때 드는 비용이 있고, 새로운 데이터가 삽입하려 할 때 정렬을 유지하기 위해 드는 비용이 발생합니다. 예를 들어 도서관의 서가에 책이 정렬되어 있으면 새로운 책이 들어왔을 때 제 자리에 찾아 꽂아야 하지만, 정렬되어 있지 않다면 아무 빈 공간에 꽂으면 됩니다. 이렇듯 비용이 발생하기 때문에, 어떤 자료를 항상 정렬할 필요는 없습니다. 찾는 일보다 추가하는 일이 훨씬 많다면 정렬하지 않는 것이 이득이 될 수도 있습니다.
          * 원소 간의 비교가 가능 데이터 N개가 주어졌을 때, 각각의 데이터에 순위를 부여하는 방법에 대해 생각해보세요.
  • 새싹교실/2013/록구록구/3회차 . . . . 5 matches
          * '''조건문을 이용 간단 계산 프로그램 만들기!!'''
          * '''반복문을 이용 별 찍기!!'''
         ''' 뭔 말이지? 라고 하는 당신을 위 설명 '''
         else if와 swich를 사용하면 왜 편리지 잘 와닫지 않았다.
  • 새싹교실/2013/양반/1회차 . . . . 5 matches
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
         새싹 교실 첫 번째 수업을 마쳤습니다. 오후 두 시부터 진행하여 두 시간 동안 논스톱으로 진행하였습니다. 수업 전에는 긴장도 많이 하고, 잘 할 수 있을지 걱정이 많았는데, 일단 준비 내용은 모두 것 같습니다. 다만 수업 내용에 있어서 단계적으로 맞지 않는다는 느낌을 크게 받은지라 다음 수업은 내용을 잘 구성해야겠다고 생각했습니다. 다음 수업은 여러 교재를 찾아보고 짜임새 있게 수업 내용을 준비해야 되겠습니다.
          * 후기는 그때 그때 하지 않으면 제대로된 결과물이 나오지 않아요! 잊지말고 학생들에게 후기쓰라고 하기. - [고종](13/03/20)
  • 새싹스터디2006 . . . . 5 matches
         == 노련새내기 ==
         노련선생님 : 황재선
         노련새내기 : 이태양 임다찬 주요
         병아리 : 최재문 상모
  • 새싹스터디2007 . . . . 5 matches
          * 2007년도 1학기 제로페이지 신입생 대상 세미나를 위 페이지입니다.
          * 팀원: 김동준(07) 김효석(07) 원대(07)
          * 팀원: 주희주(07) 최창원(07) 조영선(07) 도용(07) 정현준(07) 장은하(07) 최재용(07)
          * 팀원: 김옥경(07) 권민승(07) 서지혜(07) 박주현(07) 김미정(07) 이민재(07) 곽병학(07) 임울(07)
          * 팀원: 이창훈(07) 정형준(07) 도용(07) 김성호(07)
  • 새회원을받으면 . . . . 5 matches
          * 성공 스터디 사례, 실패 스터디 사례. 그리고 그 이유.
          * 04학번에게 이상(?) 소문을 들었습니다. 그대로 적어봅니다. ' ''제로페이지는 들어가면 졸라 빡시다. 열심히 활동 안 하면 준회원되고, 제로페이지에서 짤린다.'' '라고 하더군요. --[Leonardong]
          * 그게 이상 소문인가? 어떤 스터디에 얼만큼 참여하느냐에 따라 다르겠지만 어느 정도는 빡신게 맞고, 열심히 활동 안하면 당연히 회원 정리 대상이 된다. 휘동, 모든 사람을 만족시키려고 하지 말게나. ZP에는 다수의 어중이 보다 소수라도 정말 실력있는 사람들이 더 좋단다. --재동
         현재 위키 실험 중인가 보군요. 그런데 왜 이리 체계 없이 느껴지는지, 지금 일련의 행사에 대 계획이나 기록 어디 없나요? --NeoCoin
  • 생각하는프로그래밍 . . . . 5 matches
         처음 읽었던 때를 대학교 2학년 가을학기로 기억다. 어디서 봤는지 기억나질 않지만(지금은 찾을 수도 없다) " [ProgrammingPearls]라는 책이 있는데, 연습문제를 다 풀어보는데 6개월이 걸렸다"라는 서평을 읽은 후(들었는지도 모르겠다) 번 도전해보자는 마음으로 도서관에서 책을 빌렸다. 봄학기에 자료구조 수업을 재미있게 들었던 터라 자신감마저 가지고 원서를 읽기 시작했다.
         1장 본문을 다 읽고 연습문제를 보았는데, 연필로 조그맣게 체크가 되어 있었다. 누가 풀어본 것인지 몰라도 나도 번 풀어봐야겠다는 의욕이 솟구쳤다. (아직도 그 연필 자국이 남아있을 것이다.) 하지만 2장도 채 못 보고 반납기이 다가오니까, 빨리 다 읽고 싶은데 이걸 언제 다 읽냐는 조바심이 났다. 그렇게 번역서와 원서 사이에서 갈등하다가 결국 번역서를 샀다.
         내가 산 책은 군대간 동기 녀석테 빌려줬다. 하지만 어렵다고 안 본댄다. 부대에 프로그래밍 하다 온 사람도 조금 읽다가 그만뒀댄다. 어투가 건방지다나.
  • 서민관 . . . . 5 matches
          * 못 것들
         ||[http://zeropage.org/seminar/95651 XML-RPC을 이용 네이버 블로그 글 올리기]||
          * 형텐 항상 배울게 많네요. 최근 자바로 짜는 프로그램은 개발방식이 형이 하던거랑 꽤나 비슷해진거 같구요. 다음에 간단 프로젝트 코드레이스라도 해보면 좋을거 같아요. ㅎㅎ 형, 겸손것도 좋지만 자랑하는 것도 능력이에요. 형의 능력을 뽐내봐요! ㅎㅎㅎ -[김태진]
  • 세미나/02대상 . . . . 5 matches
          아 그이야기군. 그중에서 50%가 보고, 20%가 오기까지의 '''실행'''을 다고 하면 될라나.. --상민
         헤헤... 쉽고 문제 풀면 그에 대 문법을 확실히 알 수 있는 그런 문제들 부탁드릴께요~!^^; --상욱
         == 가능 시간 ==
         DeleteMe) 아씨 원래 수욜날 되는건데 주를 빠져서 당분간 일주일에 네번을 가야다는..--; -- 인수
  • 셸정렬(ShellSort) . . . . 5 matches
          * 설명: 셸에 의해 고안된 정렬(소트) 방식. 2분 탐색을 응용 것으로 집합 중의 첫 번째 항목이 집합의 반 정도의 항목과 비교되고, 다음 2분할 부분 집합의 두 번째 항목끼리 비교되어 순차적으로 집합의 전 항목이 비교된다. 비교 할 때마다 지정 기준에서 떨어져 있으면 그 항목의 장소를 교환다. -네이버 지식사전
          * 셸정렬이 nlogn 정렬중에 비교적 구현이 쉽다는 정군의 말을 듣고 번 구현해보려 합니다. -[김태진]
  • 실시간멀티플레이어게임프로젝트/첫주차소스3 . . . . 5 matches
         -목적 : 숙주가 죽지 않게 유지하면서 일정 시간 내에 자신을(또는 팀의 총 바이러스수를) 최대 많이 복제하기
          3. 각 조직은 건강상태도가 있음(0-10까지) 0 이면 죽음, 일정 회복속도도 가짐(하루에 1씩 증가)
         - 플레이어 정보 보내주기->현재 로그인 아이디(임시 파일에 저장)에 따른 정보를 넘겨줌
         프레임 워크는 재동이형이 새로 구상 것을 구현하려고 하고, 저는 게임 내용을 만드는 일로 바꿨습니다. -- 휘동
         저장된 명령을 실행하는 때를 '상태보기' 기능을 쓸 때 하는게 좋겠다는 생각입니다. , 로그인 할 때만 실행하게 다면, 로그인 후에 내린 명령 중에 실행 해야 할 게 있을 때 실행을 하지 않은 상태에서 '상태보기'기능을 쓰기 때문에 잘못된 결과가 나올 것 같습니다. -- 휘동
  • 아는것으로부터의자유 . . . . 5 matches
          * 혼란에 의해 행동하지 않는다. 무위는 완전 행동이다.
          * 깨달음이 앎을 통해서 이루어지지만 궁극적으로 앎을 버렸을때 온다고 생각다. 크리슈나무르티는 이 점을 책 제목에서부터 독자들에게 잘 지적해 주고 있다.
          * 우리는 앎을 통해서 교만해지거나 거만해지기 쉽다. 하지만, 진정 앎은 앎을 버렸을때, 즉 망각할때 얻어진다고 본다. 노자의 [(namsang)도덕경]에서도 학문을 쌓아가는 것이지만 도(道)는 덜어가는 것이라고 이야기 하였다. 크리슈나무르티의 가르침도 이와 다를 바가 없다고 본다.
          * 번쯤 읽어보면 좋을 서적이다고 생각다.
  • 아동언어습득이론 . . . . 5 matches
          근거 - 비슷 발달단계, 인간 종 특유, 뇌 전문화와 언어, 민감기가 있음
          반박 - 다른 종도 비슷 시기에 소리 구분 능력 유사
          감각 운동기가 언어발달에 중요 역할
          막연 사고를 먼저하고 점차 구체적 사고를 하게 됨
          능숙 파트너(부모)와 함께 근접 달달 영역의 과제를 습득
  • 아잉블러그 . . . . 5 matches
         서버를 구축하고 관리하고 다양 웹 프로그램을 사용해 보는 프로젝트.
         참가자 : 이승, 송수생, 이형노, 조현태
         || [아잉블러그/이승] ||
         코딩과정 조금 보여줘더니 혜지와 연주 GG 쳤삼 - 이승
         설마 통으로 그냥 찍어 올릴거라고는 생각도 못했삼 - 이승
  • 우리들의행복한시간 . . . . 5 matches
         사형은 마땅히 없어져야 다. 불우하다는 뜻으로 지었는지도 모를, 블루 노트에 담긴 내용이 전부 거짓이라 하더라도, 사형은 살인자에 대 적개심밖엔 안 된다.
         데, 사람이 사람을 용서할 수 있는가? 용서라니 너무 거창하고 오만하다. 진심으로 다른 사람과 화해할 수 있을까?
         책을 읽고 나서 며칠이 지나, 좋고 나쁨을 구분하는 가지 기준은 삶과 죽음이라고 생각했다. 좋으면 삶을 향하고, 나쁘면 죽음을 향다. 내가 우울하고 슬프면 죽음에 가까워 진 것이고, 내가 즐겁고 행복하면 삶에 가까워 진 것이다. 언젠가 죽지만, 그때까지는 좋은 삶을 마음껏 누리자.
  • 위키기본css단장 . . . . 5 matches
          * 기간 무
         || Upload:blue.css || 1|| 은은 파란 나라 ||
          * 중복 투표가 가능건가요? --[Leonardong]
          * 달에 번 정도 무작위로 기본CSS를 바꾸는 건 어떨까요? 투표가 추가적으로는 거의 이뤄지지 않네요. --[Leonardong]
  • 위키에 코드컬러라이저 추가하기 . . . . 5 matches
         이 문서의 내용은 MoinMoin 1.0 부터 지원하기 시작 Process 에 기반다. 그래서 그 이하 버전에서는 불가능하다.
         그리하여 그 방법을 연구 결과가 이문서의 내용이다..;;
          * 일단 파서. 다음 3개의 파이선 파일을 MoinMoin/parser 디렉터리에 생성다.
          * 다음 2개의 파일을 MoinMoin/processor 디렉터리에 생성다. (본인은 이름의 통일감을 위해 Colorize.py 도 PythonColorize.py 로 이름을 바꾸었다.)
  • 윤종하 . . . . 5 matches
         [공정 IT 생태계를 위 SW 정책 세미나]: 조만간에 추가하겠습니다
         참 의외입니다. 어떻게 그렇게 특수 분야에 초점을 맞출 생각을 했는지 궁금하네요. 이런 이벤트가 진행 중인 걸 알고 있나요. http://www.nextweapon.kr -- [이덕준] [[DateTime(2010-07-27T00:33:01)]]
         ㄴ 원래 이런쪽에 관심이 있었습니다. 그래서 고3 때 해사도 지원해봤더랬죠 ㅋㅋㅋ 요즘에 ADD홈페이지를 안들어가봐서 몰랐는데 이런 공모전이 있었군요. 번 열심히 해봐야겠습니다 ㅋ 감사합니다
          * 자발적으로 잘린거라고 하죠 ㅋㅋㅋ 개헌내기라고 건 박정근이니까 정근이하고 얘기해보세욬 - [윤종하]
  • 이승한/java . . . . 5 matches
         = 이승/JAVA =
         JAVA의 키워드 // 내가 잘 알만 것은 빼놓았다.
         goto, const 는 사용하지 못다.
         GUI를 위 라이브러리 : javax.swing
         [이승], [겨울과프로젝트], [JavaStudy2004]
  • 이영호/기술문서 . . . . 5 matches
         [간단C언어문제]
         [쓰레드에관잡담]
         [http://bbs.kldp.org/viewtopic.php?t=24407] - Reference 에 의 호출과 Pointer에 의 호출 (결론: Reference는 포인터에 의해 구현되며 표현만 CallByValue 다.)
         [http://bbs.kldp.org/viewtopic.php?t=1045] - *NIX 계통의 Debug에 유용 툴 (GNU/Linux에서는 strace = A system call tracer, ltrace = A library call tracer)
  • 이영호/끄적끄적 . . . . 5 matches
         // File에서 array로 바뀐 것을 읽어와 함수를 수행 하는 것을 count-1번 반복다.
          exit(0); // 우아 종료!
         // buf와 array를 비교다. (미완성)
         // 달라진곳은 save 포인터에 주소를 저장하고 다시 체크를 시작해 달라진곳이 나오면 자리를 교체다.
         // 간단 출력.
  • 이영호/지뢰찾기 . . . . 5 matches
         아래 소스는 지뢰찾기 분석 것을 coder가 제작 게임 소스 그대로 C언어로 완벽하게 구현 것이다. (아마 M$에 있는 소스와 완벽히 똑같을 것이다.)
         // srand(GetTickCount()); 를 이 함수 밖에서 수행다.
         재밌네..~ 전에 동우님(http://ssrnet.snu.ac.kr/~leedw)처럼 디스어셈블 시도해서 분석 것임~? --[1002]
  • 임수연 . . . . 5 matches
         수연아, 이슬이테 무슨짓을 거야!! ㅋㅋㅋㅋ [이규완]
         수연아, ㅋㅋㅋ 릴레이야?ㅋㅋㅋ 위에그림은...;; 왠지....;;; 이상 포스가 느껴지는데;; -[정수민]
         넌 역시 선전인. - 이승
         안뇽~ 나왔어~ ^0^ [유선]
  • 임인택/RealVNCPatcher . . . . 5 matches
          * 이미 만들어놓은 RealVNC 글화 패치 자동으로 해주는 인스톨러..작성..-_-a
         === 간단 과정 ===
          * 시스템 시작 서비스 목록에서 VNC Server Version 4 에 대 실행경로 가져오기. (레지스트리에는 없다)
          * 글화된 파일 복사
         2004.9.14 끝냄. [http://radiohead.egloos.com/718212/ 글패치]
  • 장정일삼국지 . . . . 5 matches
         글쓴이는 머리말에서 이전에 화이론과 영웅주의로 무장 삼국지에서 벗어나, 중국 외부 세력 뿐만 아니라 이름없이 그 시대를 살던 민중까지 소설 속에 담는다는 포부를 밝혔다. 삼국지에 원전이 있다는 편견을 버리고 지금 시대를 사는 사람의 눈으로 삼국지를 재해석하겠다는 것이다. 그래서 동탁과 여포가 족이 아니라서 겪는 외로움과 서러움도 그려지고, 황건 농민군(황실에서 바라보았을 때 황건적)도 소탕해야 할 도적떼가 아닌 민중으로 묘사된다.
         오랜만에 읽는 삼국지였고 읽는 동안 여러 생각을 할 수 있었다. 작가의 의도와는 다르게 삼국지에 등장하는 인물과 전쟁에서 많은 영감을 얻었다. 촉의 승상인 제갈량은 이 책에서도 역시나 귀신같은 지략을 보여주는데, 그 지략이 요술이나 점괘가 아닌 주변 상황에 대 끊임없는 관찰 때문임을 역설하였다. 제갈량 뿐 아니라 많은 전투 장면에서 장수나 참모가 이러 모습을 보여준다. 이는 소설을 매우 사실감있게 만들었을 뿐만 아니라 놀라운 결과는 세심 관찰에서 나온다고 알려주는 듯했다.
  • 정모/2002.10.30 . . . . 5 matches
          * 학기중 할만 이벤트나 아이디어가 없는가?
          * 이벤트에 대 아이디어를 모집
          * 그외 여타 신선 이벤트에 대 아이디어 모집
          * 부족 내용을 채워주세요. --["neocoin"]
  • 정모/2002.11.13 . . . . 5 matches
         ||소스(3d arka)에 대 세미나||_||
         기타 - 영화, 진로에 대 이야기, ...
         결과 : ["상규"]가 다음 정모에 COM, ATL 에 대 내용 발표
          DeleteMe) 이날 참석 인원을 적어주세요. 해당 정보는 차후 회원 구분이 있을때 필요 자료입니다. --["neocoin"]
  • 정모/2003.9.9 . . . . 5 matches
          * 현재 주축이 되는 02, 03이 참석을 안 관계로, 일단 다음 회의는 화요일에 하고, 그때 가서 정하기로 했습니다.
          * 현재 위키의 이용율로는 위키에서 해결하는 것을 원하지 않습니다. 극단적으로는 정모에 참석 사람들에 하여 발급하고 싶기도 합니다. 식정모 참석도 저조하고, 스터디 참석도 저조 상태에서 계정을 할당 받기는 어렵다고 생각합니다. 일단 9월 달 내로 제없이 발급하고, 결정에 따라서 이후에 정리하는 방향으로 했으면 좋겠습니다. --NeoCoin
  • 정모/2004.1.6 . . . . 5 matches
          -> 정모 뒤 세미나 했음.
          * 미리 못 온다는 사람 빼고는 다 왔다. 잘했어요~ 하지만 회의 준비를 하고 준비하고 싶었는데 뜻대로 안 되었다. 회의 시간도 안 지켜졌다. 회의에 준비가 필요 이유를 먼저 설명하고 시작해야 했을까? 정모가 회의를 위 것이 아닌데도 회의만 하고는 끝났다. 음..다음에 또 도전해보자. -[Leonardong]
          * 작년엔 회의 끝나고 플밍 배틀이나, 누구 사람이 세미나도 했었지. 할건 엄청 많으니 이것저것 해봐~ 잼있다 --[인수]
          * 회의 자체에 대 부담감이 작용하지 않았다 싶다 --[문원명]
  • 정모/2004.6.28 . . . . 5 matches
          *각 스터디 그룹은 의무적으로 스터디 내용을 발표하는 형식으로 세미나를 다.
          *리소스에 대 검토가 필요
         [나휘동] - 파란 모자가 강압적 태도를 취 듯해서 반성다.
  • 정모/2011.10.12 . . . . 5 matches
          * 참가자 : [김수경], [서지혜], [임상현], [송지원], [김준석], [김태진], [고종], [송치완], [강소현], [추성준], [정진경], [권순의], [박정근], [황현], [윤종하]
          * 부상자(+다리에 쥐가 나신 안타까운 선배님들...ㅜ)가 속출하는 성대 체육대회였다고 합니다.
          * 후기쓰라던 김태진은 왜 먼저 쓰지 아니 하였는가, 오늘 정모 유쾌했구요. 축구는 하기 싫어옄. 기획단은 어지간해선 하려는 성격인데 컴공축제 기획 끝난게 그제인데 바로 연이어서 하는건 심히 정신적 부담이라.... 근데 성준이 하길래 놀람. - [고종]
          * 오늘 오신 유상민 선배님께서 ZP의 과거사를 이야기 해 주심과 고대 유물을 전수해주셔서.. 갑작스러웠지만 뜻 깊은 자리였습니다. 그렇게 (소닉 20주년은 알고 있었는데 -_-a) 까먹고 있었던 ZeroPage 20주년 행사를 하게 되어 기쁘네요. 이 행사 이름도 잘 정거 같아 좋았고요,, 음.. 오늘 OMS는 어디선가 많이 들었던 내용들이 종합적으로 나왔네요 ㅎㅎ 다만 어디선가 들었던 내용들이 좀 더 명확하게 되면서 그냥 녹는줄만 알았던 회충들이 소화가 된다는 사실에........... 음... 여하튼 재미있었습니다. - [권순의]
          * 네, 중요 일이 있으니 가급적 참여하라는 말에 뭘까 의아했는데 선배님이 오셨었군요! 전 이때까지 04밑의 이야기는 거의 들은적이 없었는데 좀 더 많은 걸 알게되어서 좋았던거 같네요. 폴리곤/데블스 였다니.... 11월말에 할 예정이니 잘 준비해서 성공적으로 했으면 좋겠어요. 뭐랄까, 20주년이라는 큰 행사라서 12월에 할 행사까지 다 모을거같은 행사의 총 집합체! 기대됩니다. -[김태진]
  • 정모/2011.11.23 . . . . 5 matches
          * 참가자 : [김수경], [서지혜], [고종], [추성준], [송치완], [김태진]
          * [고종]학우의 '웹 커뮤니티가 오래 지속되려면'
          * OMS 인상깊었습니다. 뭔가 뻘듯하면서도 재미도 있고 ㅋㅋ 커뮤니티의 다양 양상에 대해 생각해 볼 수 있는 시간이었습니다. - [김수경]
          * OMS 급하게 만들어간건데 재밌게 들어주셔서 감사합니다. - [고종]
  • 정모/2011.7.11 . . . . 5 matches
          * 참가자 : [김수경], [서지혜], [정의정], [권순의], [김준석], [송지원], [임상현], [김태진], [정진경], [고종]
          * 다음주 주자 : [고종]
          * 이번주에는 제가 OMS를 하고, 회고는 시간이 없어서 하지 못했지요. OMS를 원래는 제 노트북을 연결해서 하려고 했으나.... 제대로 작동하지 않는다는 사실을 깨닫고 급 바꿔야만 했죠 -,.- 결국 keynote도 쓰지 못하고 ppt로 전환하는바람에 ppt효과도 사망.. 아무튼 참동안 고민 주제중에는 나름 잘 골랐던거 같아요. 오늘은 제 후기가 뭐 이런지...;; -[김태진]
          * 태진이가 내가 필요하데서 나왔는데... 아 뭐야 영상통화였냐.. 그건 집에서도 되는거잖앜!! 게다가 맥북 연결이 안 되서 그나마도 안함. 방학중에도 정모는 계속된다는걸 알았음. 와우 애드온 얘기 재밌었어요. 나와서 후회되는거라곤 아 안나왔으면 OMS 안걸리는건데.. 뿐이고 OMS 끝낸 지금은 아무래도 상관없는일! ㅎㅎ! 재밌었음당 앞으로는 자주 참가할께요. - [고종]
  • 정모/2011.7.4 . . . . 5 matches
          * 기 : 7월 말까지
          * [데블스캠프2011]이 끝나고 진정 방학(?)이 되었습니다.
          * 중간에 물리 교수님에게서 전화 와서 전화 받고 오니까 많은 부분이 지나가있더군요 -ㅅ-;;;; 쩝.. 뭐 그래도 들을 내용은 다 들었으니깐... 방학을 맞아 새로이 스터디가 진행되는 건 열심히 해 봐야겠네요a 결국 방학이든 아니든 학교는 자주 오게 된 -ㅅ-ㅋ 끝나고 곱창집이랑 하우스?에서 아이스크림 먹고 오락실 가서 1945판 하고 (펌프가 없어서 못하고) 재미있었습니다. ㅋㅋㅋ - [권순의]
          * 재학생으로 지낼 수 있는 마지막 학기라고 생각하니 역대 제로페이지 활동 중 가장 많은 프로젝트/스터디에 참가하게 되었습니다. 그 동안의 지피 활동에 비해 프로젝트/스터디 활동을 참 적게 했던게 부끄럽네요ㅠ 역시 공부와는 거리가 먼... 뭐 하나 도중하차 하지 않고 끝까지 하고 싶어요. 곱창은 검색 보람이 있었고 오락실에서 아무 게임도 못건 아쉬웠습니다. (테크니카라도 배워야 하나...ㄱ-) - [지원]
  • 정모/2012.11.19 . . . . 5 matches
          * 참여자: [김태진], [정진경], [장혁수], [권영기], [박정근], [양아석], [이민석], [고종], [박상영], [권순의], [신형준], [정종록], [서민관], [심재철]
          * [고종]: 어떤 과자인지에 대해 언급이 전혀 없습니다. 음모다!!!!
          * [심재철] : 오늘은 피곤해서 집에 가겠습니다. 상영이테 과자 많이 주세요 ㅋㅋ
          - 젭라 옥타브만 낮춰줏메..
          - 저번달에 것 중 가장 기억에 남는 것(좋았던것+아쉬웠던것) 3가지
  • 정모/2012.4.2 . . . . 5 matches
          * 파비앙을 위 프랑스어 회고지를 만들었으나 그는 오지 않았습니다ㅠㅠㅠㅠㅠㅠㅠㅠㅠ
          * OMS는 음악 만들기였는데 뮤직쉐이크 어디서 들어본 거 같긴 해요. 그런데 써본 적은 없고… 그런 프로그램으로 음악 만들기 힘들지 않나 싶었는데 생각보다 해볼만 것 같습니다. 시간나면 써봐야겠어요.
          * 정모에서 시간을 너무 많이 끌면 부담스러울 수 있지만 반드시 서둘러 끝내야 할 이유가 있나요? 문득 작년에 저는 시간만 했을 때 '아 준비를 너무 안했구나 오늘은 너무 짧게 했어ㅠㅠ' 라고 생각했던 기억이 나서 물어봅니다 ㅋㅋㅋㅋ - [김수경]
          * 사실 매번 꼭 빠르게 끝내겠어!! 라고 하는거보단, 3월 달 내내 길었으니, 환기하는 입장에서 빠른템포로 해보기로 거였습니다. 다른부분은 몰라도, 제가 어떤걸 공지하는 시간은 줄여야겠다는 생각이 종종 들곤 하더라구요. 그래서 해본거에요. ㅎㅎ -[김태진]
  • 정모/2012.5.7 . . . . 5 matches
          * rur-ple을 이용 짝 프로그래밍
          * 새싹 중간모임에서 뭘해야할까 참을 고민하다 러플을 준석이형에게 부탁했는데 다행히 성공적으로 할 수 있었던거 같습니다. 정모에서 뭘 할지 생각하는게 생각보다 쉽지 않군요. + 데블스 캠프도 이젠 좀 제대로 준비할 때가 되었는데 일정도 쭉 정하고 다른 학교와 이야기도 좀 더 해봐야겠네요. -[김태진]
          * 준석 선배가 scale-free network에 대 발표를 했는데 조금이나마 아는 주제가 나와서 상당히 기분이 복잡했습니다 -_-;; 알고리즘 시간에도 자주 듣는 얘기지만 문제에 대 모델링이 얼마나 중요지 조금씩 생각하고 있습니다. 그리고 rur-ple을 했는데 역시 파이썬이 참 간단하다는 생각이 새삼 드네요. 아마 이번 데블스에서 파이썬 관련 시간이 하나쯤은 있겠죠? - [서민관]
  • 정모/2012.9.10 . . . . 5 matches
          * 참여자 : [변형진], [김수경], [권순의]. [정종록]. [장혁수], [강성현], [서민관], [박성현], [임환], [이창원], [박정근], [고종], [김태진], [정진경], [추성준], [권영기], [박상영], [김민재], [김희성], [도상희], [이민석], [송이], [혜림] - 23명
          * 작은자바이야기 - 방학 후 첫시간, 지금까지 내용 다시 훑어보기, JUnit에서 Runner를 이용해서 테스팅 환경 설정하기.
          * 10명 있을거라 생각했을텐데 말이죠... ㅎㅎㅎ ppt ZP게시판에 올려주세요~ -[김태진]
  • 정모/2013.3.25 . . . . 5 matches
         [정종록],[장혁수],[임환],[고종],[이병윤],
          * 아직 수업도 안
          * 등등의 발언이 나옴. 결정건 없음.
          * 해천아 충돌 쩐다 그냥 내가 할게 냅둬라 - [고종]
          * 민재야 홍병우 교수님 같애............ 같은 질문 계속 계속 - [고종]
  • 정모/2013.4.1 . . . . 5 matches
          * [임지훈],[송정규],[안혁준],[서민관],[박희정],[김태진],[김윤환],[이영민],[김현빈],[손아석],[고종],[구남영],[조광희],[김민재],[김해천],[정종록],[이예나],맨뒤에2명,[강성현],[이병윤]
          * 간단 인공지능의 정의에 대 소개.
          * 진짜 인공지능 수업 학기 분량 강의 요약정리.
          * OMS 개꿀잼이었음 !!! ㅋㅋㅋㅋ - [고종](13/04/01)
  • 제로페이지는 . . . . 5 matches
          * 제로페이지는.. 학회..를 가장.. 친목모임?? 은 아닌것 같구요 혼자서 하면 의지가 무너질것 같은 일들을 같이 해줄수 있는곳... --선호
          * ["제로페이지는"] 중앙대학교 컴퓨터공학과의 정학회가 되면 좋겠고, 학생들간 컴퓨터공학에 관련 학술적 정보를 효율적인 동시에 자유롭게 교류할 수 있는 시스템이 되면 좋겠다. --류상민
          * ''현재로써의 제로페이지는(개인적 바램을 제외하고 말다면) 중앙대학교 컴퓨터공학과 내의 전공 관련 학술모임으로 과내 활동단체 중 하나이다.'' 맞을까요? ^^;; 제로페이지의 역할보다는 무엇인지라는 것에 입각했습니다.--창섭
          * ["제로페이지는"] 우선 중대 컴공이라는 이름하에 지원을 받으며 지도 교수가 먼저 생겨야 다. 좀 주제와는 떨어진 얘기 였지만 나로선 이게 우선시 되어야 할것 같다. 이름은 있되. 실체가 없는 듯 하다란 느낌이다. --["erunc0"]
          * ["제로페이지는"] ["제로페이지의장점"] 때문에 제로페이지이다. 그 장점을 살려나가야 다.
  • 조현태/놀이/시간표만들기 . . . . 5 matches
          * 편리 시간표 작성을 위해서.. 귀차니즘의 압박.ㅋㅋ
          * 시간표 작성에 필요 기본적인 것들이 다 들어있다.
          * 과목의 편리 수정을 위해서 다이얼로그가 2개 추가되었다.
          * 시간이 없어서 아직도.. 느리고....큰 용량이다.. 일주일에 번정도 업데이트 해주기로 했다.
          * 커플을 위 최고 싱크로율 시간표 생성기능... (대신 양쪽의 모든 경우를 탐색해야하니 무지 느릴꺼라는.. 사랑은 인내인 것이다 ㅡㅡV)
  • 지속적인에너지패턴 . . . . 5 matches
         ...이 패턴은 이 스터디 그룹을 삶에 가져오게 하고, 그것을 지속시키기 위해 무엇이 필요지를 알게 다.
         '''상세 주제에 대해 공부하기 위해서 진정 열정에 의해 스터디 그룹을 만들어라. 일주일에 번 또는 격주로 두시간씩 만나고, 도중에 짧은 휴식을 가져라. 보내는 시간을 즐길수 있는 곳을 미팅 장소로 정해라, 그리고 그룹이 집중할 가치가 있는 글만 공부해라.'''
  • 최소정수의합/송지훈 . . . . 5 matches
         => n의 범위를 무대의 자연수로 잡고, n까지의 합과 n+1까지의 합 사이에 3000이 들어가는
         그러 n+1을 찾아보려고 식을 저렇게 썼습니다.
         최대 haskell로 짜보려고 노력했는데 안되네요...
         Haskell에서 굳이 반복이란 개념을 사용하지 않아도 되잖아요?ㅋㅋ [최소정수의합/임인택2] 도 번 보세요.
         C++로 번 짜봤슴다.
  • 축적과변화 . . . . 5 matches
         내가 존경하는 스승님께선 어떤 사람이 얼마나 위대하냐는 것은 그 사람의 생애에 계단이 얼마나 많았느냐로 대변될 수도 있다고 말씀하셨다. 여기서 계단이라는 것은 극적인 "변화"를 말다. 껍질을 깨고 나오는 순간이고, 삶의 변곡점이며 특이점인 것이다.
         그렇지만 이런 "계단"의 기회는 일상에서의 축적, 직선의 느릿느릿 진행이 없이는 좀처럼 접하기가 쉽지 않다. 아니, 접하더라도 그냥 스쳐보내기 쉽다. "감동"이라는 것은 주어지는 것이 아니다. 나와 타자가 공조하여 만드는 대화다.
         컴퓨터를 공부하는 사람들이 각자 자신의 일상에서 하루하루 열심히, 차근차근 공부하는 것도 중요하겠지만, 자신의 컴퓨터 역사에서 "계단"이라고 부를만 시점이 정말 몇 번이나 있었나 되짚어 보는 것도 아주 중요합니다. 그리고, 주변에 그럴만 기회가 있다면 적극적으로 참여하고, 또 그런 기회를 만들어 내는 것이 좋습니다. 그런데 이런 변화의 기회라는 것은 나의 세계와 이질적인 것일 수록 그 가능성과 타격(!) 정도가 높습니다. (see also NoSmok:CelebrationOfDifferences ) 그렇지만 완전히 다르기만 해서는 안됩니다. 같으면서 달라야 합니다. 예컨대, 내가 아주 익숙 세계로 알았는데 그걸 전혀 낯설게 보고 있는 세계, 그런것 말이죠.
  • 타도코코아CppStudy/0804 . . . . 5 matches
         == 오늘거 ==
         최소 개. 무조건 클래스를 이용하세요. 또 될수 있으면 객체지향적으로.
          * 충분히 쉬운 것도 있다고 생각다. 내가 보기엔 하려는 노력도 안거 같다. 그게 아니라면 하다 만거라도 가지고 와바라.--[인수]
  • 페이지지우기 . . . . 5 matches
         '''If you want to delete this page, YouNeedToLogin.''' 현재 ZeroWiki 에서 Delete''''''Page 권은 계정 관리자가 갖고 있습니다. 로그인 사용자도 그 권을 사용할 수 있도록 단계 더 공개하는건 어떨까요? security.py 에서 {{{~cpp self.delete = self.delete and user.valid}}} 이 라인을 추가하면 됩니다. --["데기"]
  • 피보나치/김준석 . . . . 5 matches
          /*pivo(첫번째,두번째,재귀함수에 필요 감소변수,몇번째구하기에 쓸 변수)*/
         /*p_num의 용도 : 만약 10번째까지 구다면
          p_num을 번 돌릴때마다 1감소 시켜서 0 이 될때까지 다면
          if(!((num-p_num)%4)) printf("\n"); //돌리는 숫자-남은숫자가 4의 배수라면 줄 띄기
  • 학습된무기력 . . . . 5 matches
         셀리그먼은 동물을 대상으로 자신의 학습된 무기력 이론을 실험했다. 그외 동료들은 개에게 충격을 피해 도망치는 법을 가르쳤다. 그들은 셔틀 박스-개가 뛰어 넘을 수 있는 높이의 칸막이로 구분된 상자-에 개를 마리씩 넣었다. 그리고 조명을 어둡게 해서 개들에게 무슨 일이 일어나리라는 경고를 준 다음 약 전기 충격을 연속적으로 주었다. 전기 충격은 개들이 칸막이를 뛰어 넘으면 피할 수 있단는 것을 깨달을 때 까지 계속 가했다.
         이 실험을 하기 하루 전에 셀리그먼의 연구 팀은 개들 중 일부에게 어느 정도 휴식을 주었다. ( 이른바 '순진 개들'로 만들었다.). 그 반면 나머지 개들은 끈에 묶여 간헐적으로 가해지는 전기 충격을 겪게 했다. 순진 개들은 얼마 지나자 충격을 모면하는 방법을 깨닫고 셔틀 박스에서 충격이 전해지지 않는 부분으로 몸을 옮겼다. 그러나 나머지 개들은 다른 반응을 보였다. 처음 전기 충격이 가해졌을 때 그 개들은 이리저리 상자 안을 뛰어다녔지만, 이내 포기하고 그 자리에 엎드려 낑낑댔다. 충격이 끝났을 대도 개들은 그 자리에 그대로 있었다. 충격이 재개 되었을 때도 마찬가지의 반응을 보였다. 개들은 포기 듯싶었다.
  • 한비자 . . . . 5 matches
         = 비자 =
          * 저자 : 비자
          * 이 책을 읽으면서 아무런 비판없이 받아들였던 공자의 주장도 저렇게 비판적으로 받아들일 수 있다는 것을 배웠다. 옛날부터 그렇게 해왔고, 옳은 것이라고 배운 곳도 실상을 살펴보면 그렇지 않을 수 있다는 것을 배웠다. 신상필벌을 명확하게 하는게 중요하다. 그리고 항상 어느 쪽으로 치우쳤을 경우 문제가 생길 수 있으니 그에 대비해 준비 해야 다. 그리고 사람이 각자 자신의 이익을 위해서 움직인다는 것도 염두에 둬야다.
  • 후기 . . . . 5 matches
         함수형 언어 Haskell을 배우는 시간을 많이 가졌는데 참 재미있었다. 더욱 재미있는 것은 함수형 언어의 좋은 점이 다른 언어에도 녹아들 수 있다는 것이다. 수학에서 출발하는 개념이 실제로 쓰이도록 중간에서 다리 역할을 하고 있다. 수학이 프로그램 언어에 미치는 영향력을 볼 때 학부 때 컴퓨터 공학 대신에 수학을 전공해도 좋을 것 같다. 그게 안 된다면 대안언어축제라도 참가하면서 [성장]할 수 있어야 다.
         대안언어가 보여준 많은 새로운 생각이 널리 퍼지지 않아 안타깝다. 혁신을 이루려면 많은 사람이 그 아이디어를 받아들여야 다던데, 대안언어축제 이후에 어떠 변화가 있을까? 새로운 아이디어를 적용 코드를 작성할 수 있을까? 새로운 프로그램을 만드려고 할 때, 현재 사용하는 언어보다 더 적당 언어를 선택할 수 있을까? 기존에 개발하던 프로그램이 있을 때는 새로운 언어로 갈아탈 수 있을까? 창의적인 아이디어와 실용성 사이 간격을 좁혀서 대안언어가 정말로 대안이 되길 꿈꿔본다.
  • 01학번모임 . . . . 4 matches
         그래 계모임 하나 만들자. ㅋㅋ , 두달에 번씩 정기적으로 만나는것도 좋을듯~ - [(namsang)]
         달에 번 정도는 부담도 없고 말야~~ - 준수
  • 01학번모임/20060310 . . . . 4 matches
         3차 - 커피와 함께 01학번 활동에 대 논의
         - 몇몇은 1,2학년들과 스터디를 다.
         - 01학번들만의 수준있는 스터디를 다.
         - 지금 1,2학년들이 고학번이 되었을때의 활동 방향을 제시다.
  • 05학번만의C++Study/숙제제출1/조현태 . . . . 4 matches
          문제 앞에서 말햇듯이, 이 문제는 C++에 익숙해 지기위 입출력 형식만 쓸수 있게 것이야 ~
         너는 C++언어를 많이 써봤겠지만, 대다수는 안그렇거든.. iostream에 대 정보도 익숙치 않아.
         그리고, 너가 짠 소스는 문제에 대 답이 아닌것 같은데? 문제를 잘 읽고 써주길 - 아영
  • 10학번 c++ 프로젝트/소스 . . . . 4 matches
         * 숫자 디자인 참 고민했다능... ;;
          for(int x=0;x<8;x++){ //위에서부터 줄씩, 총 6줄 1초마다 출력
          if(prog_exit) break; //모드전환에 의
          printf("설정 알람은 %d시 %d분 %d초 입니다!\n",settm.altm_hour,settm.altm_min,settm.altm_sec);
  • 1thPCinCAUCSE/ExtremePair전략 . . . . 4 matches
          * 이때 여러 문제를 동시에 푸는 게(예: 2명이서 2개의 문제를 동시에 푸는 것) 아니라 문제에 대해서만 생각했습니다. 왜냐하면 예를 들어 문제 1번을 생각하는 데 A가 12분 B가 8분이 걸리고 문제 2번을 생각하는데 A가 10분 B가 15분이 걸렸다고 하면 문제를 둘이 동시에 풀면 8 + 10... 총 18분이 걸렸을 것을 문제를 각각 나누어 풀면 최악의 경우 A가 1번 B가 2번으로 나누어 풀면 12 + 15... 총 27분까지 시간이 걸리기 때문입니다. (대회 규칙상 컴퓨터는 각 팀당 무조건 1대입니다)
          * 코딩은 기본적으로 ["PairProgramming"] 이였습니다. 드라이버가 코딩할때 파트너는 잘못된 코딩뿐만 아니라 이해안가는 부분에서는 계속적인 질문으로 드라이버 스스로 명확 코드를 만들도록 했습니다.
          * 어디에서 overflow 날만 요소가 있었는지?? --["neocoin"]
  • 2010JavaScript . . . . 4 matches
          [http://tost.tistory.com/52 쓸만링크]
          * JS event 및 본인이 선택 세 가지 공부하기
          오늘 참가자는 적었지만 매우 유익 스터디가 된 것 같아요ㅋ_ㅋ
          - 지난주만큼 공부게 많아서 좋았어요 ㅎㅎ 이제 실전적인 스킬(?)을 정말 배워서 다음에 만날때까지 맡은 분량 해올 수 있을 것 같아요^^ - [김정혜]
  • 2ndPCinCAUCSE/ProblemC . . . . 4 matches
         유치원에 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 위해 목적지까지 번호순서대로 일렬로 서서 걸어가도록 하였다. 이동 도중에 보니 아이들의 번호순서가 바뀌었다. 그래서 선생님은 다시 번호 순서대로 줄을 세우기 위해서 아이들의 위치를 옮기려고 다. 그리고 아이들이 혼란스러워하지 않도록 하기 위해 위치를 옮기는 아이들의 수를 최소로 하려고 다.
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 번호 순서대로 줄을 세우는데 옮겨지는 아이들의 최소 수를 출력다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
         === 입력의 예에 대 출력 ===
  • 2학기자바스터디/운세게임 . . . . 4 matches
         운세게임이라서 거창 알고리즘을 필요로 하는게 아니라 랜덤함수를 이용해 오늘의 행운을 표시합니다
         날짜와 랜덤 클래스에 대 간단 사용법에 대해 알아봅시다
          다양 형식으로 출력하려면 SimpleDateFormat 클래스를 같이 이용합니다.
  • 3,5,7빵Problem . . . . 4 matches
         두명이서 돌아가면서 빵을 꺼내게 되는데 명이 번에 바구니에서만 빵을 꺼낼 수 있고, 몇 개를 꺼내던 상관없습니다.
         이때, 컴퓨터가 두번째로 시작다고 가정하고 사용자의 입력에 따라 무조건 이길 수 있는 최적해를 출력해 이기는 프로그램을 짜면 됩니다.
  • 3DGraphicsFoundation . . . . 4 matches
          * [[HTML(<strike>'01 이창섭 ["창섭"]</strike>)]] 사정상 계속 못하게되었습니다. 여지껏 도와주신 해성이형과 같이 공부 동기들께 고맙다는 말을 남기고 싶습니다.ㅡ.ㅜ
          * 프랙탈을 이용 지형 모델링 해오기(진행중)
          * 프랙탈을 이용 지형 모델링 해오기
          * 프랙탈을 이용 지형 모델링 해오리
  • 3N+1Problem/황재선 . . . . 4 matches
         입력은 0과 1000000 사이의 값을 갖는 쌍의 정수이다. 1과 999999를 입력 경우 몇 초 이내에 답이 나올까. Python으로 4초 이내를 목표로 구현했다. 하지만 만족할 만 결과가 나오지 않았다. 안타깝게도 더이상 최적화할 묘안이 떠오르지 않는다 -- 재선
         http://bioinfo.sarang.net/wiki/AlgorithmQuiz_2f3Plus1 에서 yong27님의 소스코드를 보았다. 소스가 정말 깔끔했다. 실행속도가 빨라서 그 원인을 분석해가며 지난번 작성했던 코드를 수정했다. 나의 목적은 0.001초라도 빠르게 결과를 출력하는 것이었다. 실행시간을 최소화하기위해 클래스마저 없앴다. 특히 두 부분을 수정하니 실행시간이 현저히 줄었다. 하나는 클래스 멤버변수를 제거하고 지역변수화 경우인데 왜 그런지 모르겠다. 둘째는 사전형 타입인 cycleDic 에서 key를 문자열에서 숫자로 바꾼 부분이었다. 지난번 구현시 무엇때문에 수치형을 문자열로 변환하여 key로 만들었는지 모르겠다. -- 재선
  • 3n 1/이도현 . . . . 4 matches
         정말 수도 없이 많은 시도를 했었다. 하지만 너무나도 꼼꼼하면서도 생각지 못 테스트 케이스에 항상 좌절했다.
         3. 알고리즘에 대 명확 파악이 루프 도는 횟수를 현저히 줄여줌을 배웠다. - 홀수 뒤엔 반드시 짝수가 온다.
          // 나누기 2는 right shift를 번 하는 것과 같다.
  • ACM2008 . . . . 4 matches
          * 알고리즘과 자료구조 탐구를 위
         short coding 이란 책 - 내가 신청하려고 했으나 누군가가 신청해서 이미 도서관에 있었던 책. 이런 경험 몇 번 없었는데. 재미있었음 - 에서 본 유익 정보 토막.
         [http://acm.pku.edu.cn/JudgeOnline/ POJ] Peking university Judge Online 이란 시스템이 있는데 온라인으로 프로그래밍 문제를 제공하고, 온라인으로 소스를 보내면 서버에서 컴파일해서 결과를 알려주는 시스템이다. 책에서는 code 의 길이를 이용 코드 골프쪽에 초점을 맞추고 있었지만 이 프로젝트의 목표상 그럴 필요는 없을거 같다. 다만 온라인으로 제공되는 문제가 꽤 있고 평가하는 시스템이 있으므로 보다 즐겁게 놀 수 있는 '꺼리' 일 것 같다.
  • AM/20040712세번째모임 . . . . 4 matches
          * 공부 내용 : API 교재 3장(출력) - 4장(입력)
          * 시간부족, 노트북 말썽, 참여율 저조,... 여러 안 좋은 상황에서도 꿋꿋이 모임이 진행되었습니다. 발표자로서 설명할 내용이 많았는데 제대로 전달하지 못것 같아 아쉽구요. 혹시라도 시간문제때문에 참여못하신분은 가능 시간을 적어주세요. 최대 시간을 조절하겠습니다. 그리고 예습은 필수랍니다~~ --[곽세환]
  • Ajax/GoogleWebToolkit . . . . 4 matches
         간단히 말하자면 jscript 기반의 ajax 개발환경을 java 개발환경으로 바꾸어 버리는 툴킷이다. java 의 강력 타입 체킹을 이용해서 개발의 비효율성을 대폭 감축시킨다.
         설치하고 설치하면 간단 웹 서버와 host 브라우저가 생성되며 이를 이용해서 eclipse 를 이용해 개발 후 해당 코드를 jscript 로 변환하는 것으로 보인다.
         무엇보다 편점은 이클립스 환경의 자바를 개발할 수 잇다는 점이 아닐까 생각함. ㅡ.ㅡ;; 무슨말이 더 필요할까 - [eternalbleu]
  • AnEasyProblem/김태진 . . . . 4 matches
          * 분명 처음에는 아 뭐 이런거 쯤이야 어렵지 않겠쿤! 하고 문제에 들이댔습니다. .. 그러나 나는 10진수로 보이지만 컴터는 2진수로 알고있겠지!! 라고 생각하고 계산하려해도 당최 쉽지가 않더군요 -- 참 고민하다 진경이가 힌트를 준 덕분에 해결했습니다. 번만에 accept! 코드길이는 198B까지 줄였으나, 더 줄일 생각은 아직 별로 들질 않네요-ㅎㅎㅎ
          * 번만에 accept 부럽다아-. 난 항상 고루고루 에러를 겪는데ㅋㅋㅋㅋ 덕분에 기를 빨려서 그런가 두번째 문제가 이해가 안간다 ㅠㅠ 왜 A1B3C1A2 요런식으로 가는거고 위에 3은 뭐고 으어어... -[강소현]
          * 이번건 문제 잘 읽어보고 충분히 체크해본다음에 제출해서 바로 accept된거같아요. (졸리점퍼때처럼 엄청 복잡 알고리즘을 쓰지 않아서기도 하지만요 --) 나이트저니는.. 으아아아= -[김태진]
  • AppletVSApplication/상욱 . . . . 4 matches
         안에서 동적으로 사용자의 입력에 반응하거나 실시간으로 변화하는 다양 자바 프로그램들은 모두 애플릿이며 자바로 만들어진 웹 브라우저인 핫
         웹 브라우저가 자바 애플릿이 포함된 HTML 페이지를 보여줄 때, 웹 서버쪽에 있는 자바 애플릿 코드를 다운로드 후 브라우저 내의 특정 영역에
          자바 애플릿은 기본적으로 java.applet.Applet 클래스를 상속하는 하위클래스를 생성함으로써 작성가능데, java.applet.Applet 클래스는
          - 애플릿을 다운로드 받은 서버를 제외 다른 컴퓨터와의 네트워크는 불가능합니다.
  • AwtVSSwing/영동 . . . . 4 matches
          * 단점: 운영체제에 따라 버그가 발생할 수 있다. 불규칙 컴포넌트의 모양과 레이아웃 설정 문제가 발생다.
          * AWT는 사용하긴 쉽지만 계가 있다. 롤오버 이미지를 사용하는 등 실제로 많이 쓰는 기능을 AWT로 구현하기 어려우며, 운영체제마다 버그가 생기기 때문에 사용하기 불편하다. Swing은 Top-Level의 컨테이너만을 운영체제의 자원을 사용할 뿐 그 하부에 있는 모든 것은 자바 코드에 의해 만드는 방식을 가진다. 발생하는 버그도 자바 가상머신의 범위 내에서 처리가 가능하다. 게다가 컴포넌트의 모양도 사용자의 입맛에 맞게 맞춰주는 것이 가능하다.
          * 단점: 실행 속도가 느리다. 실행시 메모리를 많이 차지다.
  • Basic알고리즘/RSA알고리즘 . . . . 4 matches
         1. p와 q가 소수라고 했을 때, n = pq를 계산다.
         2. 이제 p와 q에서 각각 1을 빼서 곱다. 그것을 ∮(파이) 라고 부른다.
         5. (n, e)는 퍼블릭키고, (n, d)는 프라이빗키다. p,q,∮와 같은 값은 공개되지 않도록 다.
         프라이빗키로 해석 답은 무엇일까?
  • Boost/SmartPointer . . . . 4 matches
          * [http://boost.org/ boost] 에 가서 다운받고 설치다.
          * boost 라이브러리는 헤더 파일만이 존재다. 모든 구현을 헤더 파일에 해 놓았기 때문이다. 바로 필살 헤더와 구현 분리하기 귀잖어 기술....본인은 애용다...
          * 표준 라이브러리에도 auto_ptr 이라고 같은 개념의 클래스가 있지만, 버그가 있다. -_-;; auto_ptr를 컨테이너에 집어넣으면 버그땜시 스스로 삭제가 안되 메모리가 새는 아주 심각 문제이다.
  • BoostLibrary/SmartPointer . . . . 4 matches
          * [http://boost.org/ boost] 에 가서 다운받고 설치다.
          * boost 라이브러리는 헤더 파일만이 존재다. 모든 구현을 헤더 파일에 해 놓았기 때문이다. 바로 필살 헤더와 구현 분리하기 귀잖어 기술....본인은 애용다...
          * 표준 라이브러리에도 auto_ptr 이라고 같은 개념의 클래스가 있지만, 버그가 있다. -_-;; auto_ptr를 컨테이너에 집어넣으면 버그땜시 스스로 삭제가 안되 메모리가 새는 아주 심각 문제이다.
  • C++Analysis . . . . 4 matches
         C++를 더욱 더 잘 이해하고 사용다.
          * STL Tutorial and Reference Guide, 2E (도서관에 서 있음)
          * EffectiveSTL (도서관에 서 있음)
          * 어떻게 되가고 있는지 궁금합니다. 지금 전 7장까지 공부 했는데.. 내일 쯤이면 9장까지 진행 될 거 같네요. 아.. 정말 게을러서 죄송하고요; 이사태를 어떻게 수습할건지 생각해 봅시다. 혹시, 계속 할 의향이 있다면 9장까지 의 내용을 정리해서 세미나 번 열 수도 있고요.. -- zennith
  • C++스터디_2005여름/도서관리프로그램/조현태 . . . . 4 matches
         이렇게 짜면 망다는 사실을 보여주려고..(뭐냐! 원래는 그럴의도가 전혀 없었..짜다보니~ ~_~) 짜버렸다.ㅎ
         뭐.. 참고 할만 부분은 참고하길 바란다..(만은 짜놓고 보니 도움이 안될듯..)
         C++의 특성이 많이 드러나지 않지만..(아마 본인이 C에 익숙 탓..지뢰파인더는 그나마 C++적인데..//광고는 금물.)
         (참가하고 싶으나 참가를 못하고..C++도 배운적이 없는탓에.(2학기에 다니까) 전혀 C++답지 않지만 알고리즘은 있으니.ㅎ그거라도)
  • C++스터디_2005여름/학점계산프로그램/허아영 . . . . 4 matches
          //장학생 명단을 찍어내기 위 변수
          오옷.. 근래 본 메인함수중에 가장 심플 함수였어~ 왠지 Hellow world!! 도 이보단 못할듯.ㅎ
          아예 쪽은 죽어라 입출력 계산만 하고 쪽은 자료보관만 하는계 좀더 깔끔했을지도~
  • CORBA . . . . 4 matches
         CORBA(Common Object Request Broker Architecture)는 소프트웨어 객체가 분산 환경에서 협력하여 작동하는 방식에 대 일단의 명세서이다. 이 명세서에 대 책임 기관은 OMG이며, 소프트웨어 업계를 대표하는 수 백 개의 회원 업체로 이루어져 있다. CORBA의 핵심부분은 ORB이다. ORB는 객체의 소비자인 클라이언트와 객체 생산자인 서버 사이에서 객체를 전달하는 일종의 버스로 생각될 수 있다. 객체의 소비자에게는 IDL이라는 언어를 이용 객체 인터페이스가 제공되며, 객체의 생상자에 의해 제공되는 객체의 자세 구현사항은 객체의 소비자에게는 완전히 숨겨진다.
  • CanvasBreaker . . . . 4 matches
          2. 다른 영상을 이용 밝기 변화
          5. 상수를 이용 영상변화 - 30분
          불완전 필기를 빌려 복사하였다.
          역시 자신의 필기가 아닌 남의 필기를 참조하려니.. 약간 힘들다. 그리고.. 1차그래프의 방정식을 잊고 살았다니.. 너무것 같다는 생각이 --["snowflower"]
  • CauGlobal/ToDo . . . . 4 matches
          * 구글에 메일 보내기 (국 디자이너 - 메일주소는??)
          * 구글에 메일 보내게 (국 디자이너 - 메일주소는??)
         == 학교에서 요구 준비물 ==
          ※ 글2002이상 버전으로 저장하여 파일 및 문서로 제출
  • CincomSmalltalk . . . . 4 matches
          * optional components, goodies, {{{~cpp VisualWorks documentation}}} 은 필요 경우 다운받아 만든 디렉토리에 압축을 푼다.
          * 압축을 푼 디렉토리 안에 있는 image 디렉토리 안에 있는 visualnc.im 을 더블클릭다.
          * {{{~cpp ObjectStudio}}} 를 다운받아 압축을 풀고 SETUP.EXE 를 실행하여 설치다.
          * {{{~cpp ObjectStudio documentation}}} 은 필요 경우 {{{~cpp ObjectStudio}}} 가 설치된 디렉토리에 압축을 푼다.
  • CollectionParameter . . . . 4 matches
         ComposedMethod의 단점중 하나는, 작은 메소드들 사이의 연관때문이다. 큰 메소드 하나에서 공유되었던 임시 변수들이, 이제는 작은 메소드들 사이에 공유된다. 가장 해결하기 쉬운 방법은 ComposedMethod를 없애고 다시 하나의 큰 메소드에 다 때려넣는 것이지만, 안좋다. 또 다른 해결책으로는 이 작은 메소드들 사이에서 공유되는 임시 변수를 멤버변수에 넣는 것이다. 이것은 객체의 생명기간 동안 유효게 아니라, 저 메소드들이 실행될때에만 유효하다. 역시 안좋다.
         우리의 해결책은, 메소드들마다 필요 파라메터들을 넘겨주는 것이다. 이것도 좀 망설여지는 방법이긴 하나, 다른 것들보단 낫다.
         즉, 두 메소드의 결과를 모으는 경우인데, 그리 흔 경우는 아니였던걸로 기억. 약간은 다르긴 하지만 나의 경우 CollectionParameter 의 성격으로 필요 경우가 read/write 등 I/O 가 내부적으로 필요할때 또는 Serialization 등의 일이 필요할때. 그 경우 I/O 부분은 Stream 클래스로 만들고(C++ 의 Stream 을 쓰던지 또는 직접 Stream 클래스 만들어 쓰던지) parameter 로 넘겨주고 그 파라메터의 메소드를 사용하는 형태였음. --[1002]
  • ComputerGraphicsClass/Exam2004_1 . . . . 4 matches
         A,B,C 좌표가 있다. 이에 대해 점 (__,__) 를 기준으로 45도 방향 시계방향으로 Rotation을 하려고 다.
         Anti Aliasing : 배경의 명도가 90이고 칠해진 부분은 0 이 된다. Sub Pixel 은 9 일때 각 부분에 대 명도값을 구하시오
         Projection 에서 View Volume 안에 있는 물체에 대 View Plane 이, Orthogonal Projection 과 Perspective Projection 에서 결과물에 어떠 차이를 보이게 하는지 쓰시오.
  • CppStudy_2005_1/BasicBusSimulation . . . . 4 matches
          * 시내 버스가 제 각각 다른 속도로 시내를 순환 다. 이때 사용자로부터 입력 받은 특정 시점에서의 각 버스가 위치하는 지점을 출력해준다.
          * 이때 시내 버스는 동시에 출발 다고 가정다.
          * 사실 위 문제는 아래 문제를 내기위 포석이었음.
  • CrcCard . . . . 4 matches
         Class - Responsibility - Collaboration Card. 보통은 간단 3 x 5 inch 짜리의 인덱스카드(IndexCard)를 이용다.
         XP 에서는 중간중간 디자인을 점검할때 CrcCard 를 즐겨쓴다. 객체를 직접 현실세계로 들고 와서 가지고 노는 효과를 생각할 수 있다. (만일 인스턴스가 하나 늘었는가? 카드를 장 더 쓰면 된다. ^^)
         ResponsibilityDrivenDesign 에서 OOP 를 이야기할때 '객체를 의인화'다. CrcCard Play는 이를 돕는다. 즐겁게 객체들을 가지고 노는 것이다.
  • CxxTest . . . . 4 matches
         C++ 의 경우는 언어차원에서의 리플랙션을 지원하지 않기 때문에 테스트를 추가하는 부분이 자바나 파이썬 등에 비해 상당히 귀찮다. 그에 대 대안으로 [CUT] 등의 C UnitTestFramework 의 경우 외부에서 Perl 등으로 작성 스크립트언어로 테스트실행과 관련 Runner 를 코드제너레이팅하는 방법을 쓰고 있다.
         [1002]의 경우 요새 CxxUnit 을 사용중. 밑의 스크립트를 Visual Studio 의 Tools(일종의 External Tools)에 연결시켜놓고 쓴다. Tool 을 실행하여 코드제너레이팅 뒤, 컴파일. (cxxtestgen.py 는 CxxTest 안에 있다.) 화일 이름이 Test 로 끝나는 화일들을 등록해준다.
  • DatabaseClass/Exam2004_1 . . . . 4 matches
         ESQL 에서의 cursor 가 필요 이유를 쓰고, 사용법에 대해 간단 Source Code 예를 들어 설명하시오
          - (튜플변수관련. 튜플 변수 사용 안하고 같은 테이블끼리 비교 예)
         1. 이름으로 오름차순, 계좌의 balance. from 절의 테이블 2개로 제.
  • DesignPatterns/2011년스터디 . . . . 4 matches
          * [:JosephYoder방번개모임]
          * 원래는 WinMerge의 아키텍처 공유하는 시간이었지만 아키텍처와 리팩토링 전문가인 Joseph Yoder씨의 방기념으로 창준선배님이 여신 번개모임에 다녀왔다.
          * [:JosephYoder방번개모임]
          * 자기가 설계 WinMerge 아키텍쳐 설명하기
  • Direct3D . . . . 4 matches
         DirectX 9.0 에서는 ApplicationWizard 를 지원다. 그 전까지는 뭔가 허술하게 보였는데. 9.0에서는 확실 프레임워크의 모습을 보여준다.
         CMyD3DApplication->DeleteDeviceObject() : 따로 생성 객체를 릴리즈하는 부분
         ( 참고로 자신이 생성 객체를 릴리즈하지 않으면, 프로그램 종료시 에러를 낸다. )
  • DirectVariableAccess . . . . 4 matches
         초기화처럼 변수에 접근하는 방법도 큰 이슈 중 하나였다. 이것에도 두가지 방법이 있는데, 역시 패턴의 존재 이유처럼, 하나는 유연성, 또 다른 하나는 가독성이다. 첫번째 방법은 모든 변수를 직접 접근하는 것이다. 다른 하나는, 항상 메세지를 보내는 것이다.(setter,getter를 사용다.)
         아래는 번 보고 '음. 메세지 x를 보내는군' 하고 잠깐 생각해야 하지만,
         와드 아저씨의 말로는, '클래스에 아주 적은 양의 메소드만 존재다면, getter/setter를 추가하는 것만으로도 메소드의 수가 두배가 되어버린다. 이는 전혀 사용되지 않을 유연성을 위해 쓸데없이 갯수를 늘린 것이다.' 라고 다.
  • EightQueenProblem/이선우3 . . . . 4 matches
         체스 말 중에서 퀸에 해당다. 가로,세로,오른쪽/왼쪽 대각선 방향을 체크다.
         일반적인 2차원 형태의 보드를 나타낸다. 실제로 구현하는 보드는 이를 상속받아 draw() 메소드를 구현하게 함으로써 다양 형태의 보드를 구현하는게 가능하다.
         n-Queens Problem을 해결하는 플레이어. 자신이 생각하는 알고리즘(여기서는 play 메소드)에 따라 보드에 체스 말 중, 퀸을 배열하고 올바른지 확인다.
  • EightQueenProblem/임인택 . . . . 4 matches
          8bit == 1byte 라는 생각을 하고 비트연산만으로 할 수 있을것 같다는 생각을 하였다. 하지만 이 경우는 n-Queen 으로까지 확장하기까지 힘들고 간단 index 로 값을 참조할수 있는 배열에 비해 비능률적인 방법이다. 단지 속도가 조금 빠를 것으로 믿었는데.. 빨라봤자 얼마나 빠르겠어.--;
          처음에 시작 call 을 좀 이상하게 다. loop 을 돌면서 첫번째 라인의 원소에 대 get_Queen()함수를 호출다. 생각에는 get_Queen(0,0); 처럼 호출하는게 가장 이상적이라고 생각하는데..--;
  • EightQueenProblem/정수민 . . . . 4 matches
         // EightQueenProblem 이라는 문제를 풀이 소스코드 //
         // 마지막 수정 날자 2006/04/07 //
          if ( SearchMap () == 1 ) { //진행이 가능지 불가능지 추척
  • EuclidProblem . . . . 4 matches
         유클리드가 밝혀낸 바에 따르면, 임의의 정수 A, B에 대해 A와 B의 최대공약수를 D라고 할 때 AX + BY = D 를 만족하는 정수 X와 Y가 존재다. A와 B가 주어졌을 때 위 식을 만족시키는 X와 Y, 그리고 A와 B의 최대공약수 D를 구하라.
          줄에 두 개씩의 수가 입력되며 두 수는 각각 A와 B다. A와 B는 스페이스로 구분된다. (A, B < 1,000,000,001).
         입력된 각 줄에 대해 각각 스페이스로 구분된 세 개의 정수 X와 Y 그리고 D를 출력다. 식을 만족하는 X와 Y가 여러 개 있으면, (첫째로) |X| + |Y|가 최소가 되고 (둘째로) X <= Y 인 값을 출력다.
  • ExploringWorld/20040506-무제 . . . . 4 matches
          * 문 자격증 시험은 집중이 잘됨 -> 보고 또보자 잘 외워 진다.
          * 직장 생활과 행복에 관 생각
          * You Excellent = 칭찬은 고래도 춤추게 다. 를 통해서 본 재미있는 경험 이야기
          * [성공하는 사람들의 7가지 습관]에서 나온 ToDoList 의 우선 순위와 마음가짐 처리 방법에 대 생각 토론
  • FOURGODS/김태진 . . . . 4 matches
          * 모든 A와 C에 대해서 다.(n^2)
          * B와 D의 후보를 찾아서 조건에 맞는지 확인다.(A,C와 연결되어있는지) (n)
          * 중복제거. A-B-C-D는 숫자로 주어지므로 우선순위를 정다.(e.g. 작은 숫자 우선)
          * A가 항상 가장 작은 숫자가 되도록 다. B와 C의 크기는 바뀔 수 있는데, A-B-C-D와 A-C-B-D 둘 모두 다른 정답으로 보기 때문이다.
  • FileZilla . . . . 4 matches
         [임인택]이 사용하는 오픈소스 ftp 클라이언트. 그 전에는 alftp을 주로 사용했는데, 사용했던 시기가 alftp 가 약간 불안하게 동작했던 시기라서 아예 FileZilla로 전환했다. 기본적인 ftp 프로토콜 외에도 sftp 프로토콜까지 지원다. 2.2.7 버전대로 올라오면서 글까지 지원하여 이제는 더없이 좋은 ftp 클라이언트가 되었다. 그 외에도 편리 사이트 매니저 기능등을 제공하지만 로컬 디렉토리를 브라우징할때 약간 불편 면이 있다.
  • Fmt . . . . 4 matches
         fmt라는 유닉스 프로그램은 텍스트를 읽어온 다음 적당히 연결하거나 끊어서 모든 행의 길이가 72글자는 넘지 않지만 최대 72글자에 가까운 출력 파일을 만들어낸다. 행을 연결하거나 끊을 때는 다음과 같은 규칙을 따른다.
          2. 입력된 줄바꿈 문자 가운데 (1) 빈 줄 또는 공백만 들어있는 줄 끝에 있는 것과 (2) 그 뒤에 스페이스 또는 다른 줄바꿈 문자가 있는 것을 제외 모든 줄바꿈 문자는
          4. 72글자가 넘는 단어가 있으면 줄에 그 단어 하나만 출력다.
  • FromDuskTillDawn/조현태 . . . . 4 matches
          불쌍 뱀파이어..T.T
          참고 : 나름대로 약간의 최적화가 되어있다. 그러나~ vector가 아닌 list를 사용다면 좀더 효과적일듯하다.ㅎ 이런 귀차니즘~
          //// 동일 위치로 간것과 전체 시간을 초과 것을 삭제합니다. ////
  • GameProgrammingGems . . . . 4 matches
         위의 Game Programming Gems는 게임에 쓰이는 전반적인 알고리즘(2D, 3D, AI(길찾기 포함))들을 전반적으로 대부분 다루어 놓고 얼마나 효율적인 프로그래밍을 할 수 있고 어떻게 해야 가능 가를 보여주는 책이 되겠다. [[BR]]
         이 책은 원서도 있고 서도 있다. 번역 수준은 탁 봤을 때 괜찮은 수준.... 책값이 없는 관계로(솔직히 영어 수준이 떨어지므로) 서를 선택해서 읽고 있다 [[BR]]
         물론 책 다보기다 -.- 그러나 그걸로는 조금 부족하고.... 상걸고 게임 대 잔치(.... 이미 게임에서 하고 있다 -_-)등에 출전하여 당당하게 상 따보자.... 라는 것이다.... -_-; 현재 필자는 직업을 가져서 조금 힘들지 모르지만 .... 필자가 이르노니 해보고 후회하는 게 낫기 때문에.... 이런 미친 프로젝트를 계획하고 있다. -_-V
  • HardcoreCppStudy/첫숙제/Overloading/변준원 . . . . 4 matches
         전달인자 리스트를 가지고 함수를 사용할 때에는 디폴트 전달인자를 오른쪽에서 왼쪽의 순서로 첨가해야 다. 즉, 어떤 전달인자의 값을 내정하려면 그 전달인자보다 오른쪽에 있는 모든 전달인자를 디폴트 전달인자로 해야 다.
         함수 재정의의 중요 열쇠는 함수의 전달인자 리스트인데, 이것을 함수의 시그내처라고도 다.
  • HardcoreCppStudy/첫숙제/ValueVsReference/임민수 . . . . 4 matches
         먼저 값에 의 전달, 참조에 의 전달의 차이점이 생긴 이유를 알아야 될듯싶습니다.
         그러나 참조에 의 전달은 그 변수의 주소자체를 전달 하기 때문에
          참조전달에 의 함수를 사용하였을경우 변수 자체의 값이 바뀌기 때문에 위와 같은 결과가 나옵니다.
  • HaskellLanguage . . . . 4 matches
          * 저 위에보면, featuring static typing, higher-order functions, polymorphism, type classes and modadic effects 라고 있는데, 이것들이 아마 haskell language의 큰 특징들이 아닐까 다. 각각에 대해서 알아두는게 도움이 될듯. ([http://www.nomaware.com/monads/html/ monad관련자료])- 임인택
          * 오늘 굉장 사실 하나를 알아버렸다. Haskell에서 값인줄로 알았던 3도.. 함수였던 것이다... 덜덜덜;; - 임인택
         함수를 정의할 때 곳에 모아두어야 다. 따라서 다음은 오류이다.
  • HelpForBeginners . . . . 4 matches
         누구나 어떠 페이지라도 고칠 수 있으며, 페이지간의 보다 손 쉬운 연결, 쉬운 서치환경, 그리고 현 위키에 있지 않는 페이지에 대해 새로운 페이지를 만들기 쉬운 어포던스를 제공합니다.
         처음 위키위키를 방문하신다면 무작정 다른 페이지를 고치려 하지 마시고 [위키모래상자]같은 곳에서 위키위키에 사용되는 간단 문법을 테스트해보시기 바랍니다.
         위키위키 여행을 위 좋은 출발점으로는
          * FindPage: 다양 방법으로 찾아보기
  • HelpForDevelopers . . . . 4 matches
         모니위키는 완전 자유 소프트웨어이며 http://kldp.net/projects/moniwiki 사이트에서 개발이 이루어지고 있습니다.
         모니위키 사용중에 문제점이 발생하는 경우에는 지체없이 http://kldp.net/projects/moniwiki/bugs 사이트에서 문제점을 보고해주시기 바랍니다. 혹은 사용중에 불편 점이 있다고 생각하셔도 보고해 주시면 고맙겠습니다.
         모니위키의 일부 부족 부분에 대해서 조금만 더 관심을 가진다면 모니위키의 기능을 확장하고 모니위키에 소스코드를 기여하실 수도 있습니다. 여러분의 기여가 많은 사람에게 도움을 줄 수 있습니다.
         모니위키는 GPL이라는 공개 소프트웨어 라이선스를 준수하고 있으므로, GPL에 준하는 어떠 기여도 환영합니다.
  • HelpOnInstallation/MultipleUser . . . . 4 matches
         모니위키 버전 1.0.9 이후부터 모니위키는 다중사용자를 위 좀 더 편리 설치환경을 제공합니다.
         이렇게 하면 [모니위키] 설치에 필요 파일이 public_html 하위에 일부는 복사되고 일부는 설치 디렉토리에 남게됩니다.
         == 편리 점 ==
  • HereAndNow . . . . 4 matches
         지금 여기가 가장 중요하다. 지금, 그리고 여기에서 이루지 못하면 그곳, 그리고 그때에도 이루지 못다.
         소스안에서 중복이 훤히 보이나 수정은 안하는 실정.. 항상 프로그램 다짜고, 리펙토링이나 해야지.. 라고 말하곤 다. '이놈의 숙제만 없어도.'라고 입버릇 처럼 중얼거리나, 숙제가 없어진다고 리펙토링을 할까?
         지금 그리고 여기에서 "쫑"을 내야합니다. 그러지 않으면 십중팔구 거기 그리고 나중에서도 비슷 푸념만 하게 됩니다.
          해도 성과가 안나타나기 때문에 생각이 잘 안들지만, 역시 튼튼 기반이 중요하니 해야할것 같아요.^^
  • HowManyPiecesOfLand? . . . . 4 matches
         타원 모양의 땅이 주어져 있는데, 그 땅의 테두리에 n개의 점을 임의로 선택다. 그리고 나서 각 점들을 다른 모든 점과 직선으로 연결하면 n(n-1)/2 개의 선이 만들어진다. 이 때 테두리 위의 점을 잘 선택해서 나뉘어지는 땅의 개수가 최대가 되도록 만들면 몇 개의 조각으로 나눌 수 있을까? 다음은 n = 6 일 때 땅을 나눠놓은 모습이다.
         각 테스트 케이스에 대해 n개의 점을 이은 직선에 의해 나뉘는 땅의 최대 개수를 출력다. 줄에 하나씩의 결과만 출력다.
  • HowManyPiecesOfLand?/문보창 . . . . 4 matches
         이론상으론 O(1) 시간만에 되겠지만 문제는 입력범위가 2 <sup>31</sup> - 1 까지 들어올 수 있기 때문에 고정도 연산을 수행해야 다. GNU C++ 이나 Java는 고정도 연산을 수행할 수 있는 클래스를 포함하고 있으나, 윈도우 C++에는 없다(혹, 내가 못찾는 것일수도 있다). 따라서 고정도 연산을 수행할 수 있는 클래스를 짰다. 성능이 너무 떨어진다. O(1) 을 O(n<sup>5</sup>) 정도로 바꿔 놓은 듯 느낌이다. 이 Class를 개선뒤 다시 테스트 해봐야 겠다.
         // 마지막으로 수정 날짜 :
  • IDL . . . . 4 matches
         [CORBA] 의 경우 분산된 네트워크상에 따로 위치 객체 간의 투명 접근을 제공하는 서로 간의 약속이 필요하다. 이런 약속을 정의할 때 특정 언어([C], [C++], [Java] 등)에 의존하지 않는 인터페이스 정의 언어가 필요하게 되었는데, 그것이 바로 IDL(Interface Definition Language)이다. 서버와 클라이언트가 서로 통신을 하기 위해서 서버는 클라이언트에게 제공하는 서비스 인터페이스를 IDL 로 정의하게 되며, 클라이언트는 이런 인터페이스 정보를 활용하여 서비스를 활용하게 되는 것이다. CORBA 프로그램을 개발하기 위해서는 가장 먼저 IDL 을 정의해야 하는데, IDL 은 구현에 대 정보는 포함하고 있지 않아 정의된 IDL 을 원하는 언어로
         매핑 다음 실제 구현 작업을 하게 된다.
  • Ieee754Standard . . . . 4 matches
         부동소수점 연산/표현에 대 IEEE 표준. 대부분의 현대 언어(Java, C++, ...)가 따르고(최소 따른다고 광고하고) 있다.
         전산/컴공과 학생이 NumericalAnalysisClass를 통틀어서 오로지 가지만 배워야 다면 나는 부동소수점 연산을 들고 싶다. --JuNe
  • IntegratedDevelopmentEnvironment . . . . 4 matches
         IDE는 Integrated Development Environment를 말하며 국어로는 통합 개발 환경을 의미다. 보통 텍스트 편집기에 syntax highlite와 debugger, 빌드 도구, 컴파일러 등이 모두 통합되어 나오며 IDE하나만으로도 소스코드를 작성하는데 문제가 없다.[* 최근에는 이마저도 부족 경우도 있다.]
         종종 일반 Text editor가 너무나 많은 기능을 제공하는 나머지 IDE랑 헷갈리기도 다. vim의 plugin을 깔거나 sublime을 잘 설정하면 IDE부럽지 않게 사용할수 있으나 해당 프로그램은 기본적으로 TextEditor이다. plugin을 통해서 지원하는 기능은 사실상 통합된 기능이라 보기 어렵기 떄문이다.
  • InternalLinkage . . . . 4 matches
         C++ 에서 SingletonPattern 을 구현할때 다음과 같은 방식을 사용하고는 다.
         예를들어, 함수 f가 InternalLinkage를 가지면, 목적코드(Translation Unit) a.obj 에 들어있는 함수 f와 목적코드 c.obj 에 들어있는 함수 f는 동일 코드임에도 별개의 함수로 인식되어 중복된 코드가 생성된다.
          ''DeleteMe 이 말도 이해가 안갑니다. 주제로 시작 inline은 중복 코드를 감안하고 성능을 위해서 쓰는 것이 아니 었던가요? 무엇이 문제인가요? inline 이 아닌 함수들은 ExternalLinkage로 전제 되었다고 볼수 있는데, 지적해야 할것은 inline의 operation에 해당하는 코드가 아니라, static 같은 변수가 중복을 예로 들어야 할것을... --NeoCoin''
         하지만 InternalLinkage가 초례하는 문제는 1996 {{{~cpp ISO/ANSI C++ }}} 표준화 작업에서 인라인함수(InlineFunction)를 ExternalLinkage 로 변경해서 문제가 되지 않는다.(최근의 컴파일러들은 지원다.).
  • IsThisIntegration? . . . . 4 matches
         아래에 정사각형 ABCD의 그림이 나와있다. AB = BC = CD = DA = a 다. 그리고 각각 A, B, C, D를 중심으로 하고 반지름이 a인 네 개의 원호가 그려져 있다. A를 중심으로 하는 호는 꼭지점 B에서 시작해서 꼭지점 D에서 끝난다. 다른 모든 호도 비슷 방식으로 그려진다. 이렇게 하면 서로 모양이 다른 세 가지 영역이 만들어진다. 이렇게 서로 모양이 다른 각 영역의 넓이 합을 구하라.
         입력 파일의 각 줄마다 정사각형의 변 길이 a(0≤a≤10,000.0)를 나타내는 부동소수점수가 입력된다. 파일 종료 문자가 입력되면 입력이 끝난다.
         각 테스트 케이스마다, 위 그림에 나와있는 서로 모양이 다른 세 영역의 넓이의 합을 출력다. 세 부동소수점수는 모두 소수점 셋째 자리까지 출력다. 각 케이스의 첫번째 수는 위 그림에서 줄무늬로 표시된 영역, 두번째 수는 점으로 표시된 영역, 세번째 수는 나머지 영역의 넓이 합이다.
  • JAVAStudy_2002/진행상황 . . . . 4 matches
          * 2월 7일 : Core Java 책 보다가 질려서 다른책으로 바꿔서 공부하는중 무지 삽질 결과 대기실 UI 만듬. 제 홈페이지랑 연결해가지고 보여주고 싶지만 연결을 어떻게 해야 할줄 몰라서..^^;;
         현재 Java swing API중 버튼이나.. 텍스트 박스에 대 것을 익혔습니다.(Application쪽..)[[BR]]
         그리고 간단 ID입력창도 만들어 보았습니다.[[BR]]
         슬슬 Listener에 대 공부도 해야겠습니다.[[BR]]]
  • JavaStudy2003/두번째과제 . . . . 4 matches
          * 이번 과제의 목표는 '''"자바와 친해지기"''' 입니다. 저번 수업에서 간단히 자바의 OOP문법을 설명해 드렸는데요. 그 밖의 소스나 아니면 참고자료, 책 등을 사용해서 간단 프로그램을 만들도록 하겠습니다.
          * 데블스 캠프 때 했던 ToyProblems 를 자바로 구현해 보세요. 그리고 차이점이 무엇일까 번 생각해 보시기 바랍니다.
          * 제가 밑에 링크 걸어놓은 페이지 가셔서 그 내용을 요약해서 정리해 보시기 바랍니다. Copy&Paste 하지 마시구요. 그럼 다 걸려요^^; 그냥 번이라도 좋으니 읽어보라는 의미니까 양은 상관하지 마시구요.
          * OOP의 특성이 몇가지 있습니다. 수업을 진행할 때 몇가지 이야기가 나왔는데 그걸 번 찾아보시기 바랍니다. 그리고 세부적 설명도 함께요. 여기에 대해서는 토요일, 혹은 일요일 쯤 퀴즈가 준비되어 있으니 준비해주세요^^;
  • JavaStudy2003/두번째수업 . . . . 4 matches
          * 위의 내용 제가 정말로 피땀흘려 만들어놓은 내용입니다. Copy & Paste 하나도 없이 제가 순수하게 참고만 해서 만든 튜토리얼입니다. 이렇게 노력걸 좀 가상하게 여겨서 숙제 좀 제대로 해 보죠? -_-+ -[상욱]
          * 파일이 안열려요; 이상글자 두개만 뜨는데 왜이렇죠?;; --[선희]
          아마 글 97이라서 그런거 아닐까? 2002로 만들었거든... 97로 저장하니깐 표가 깨져서..;; 글2002뷰어 받아서 봐. -[상욱]
  • KIV봉사활동 . . . . 4 matches
          * zeropage 회원 [이승], [송지원], [김준석] 그리고 김준석 여자친구가 가는 봉사활동 회의 임시 페이지
          * 김준석(총무) : 과, 약, 연수기, 프로그램 셋팅
          * 이승 : 벌레, 모기, GSM, 멀티탭(6구 길이 무관 2개), 공유기, 랜선
          * 송지원 : 영상, 국어, 멀티어댑터, 취사도구
  • KIV봉사활동/예산 . . . . 4 matches
          * 식비는 나머지 비용으로, 하지만 최대 아껴서 남긴다.
          * GSM 은 국에서 같은 가격으로 다시 되판다
         = 국 지출 내역 =
         == 승 ==
  • KIV봉사활동/준비물 . . . . 4 matches
          * 과 - 밀가루, 물엿, 색 낼거 -> 김준석이 해보고 할지말지 정하자
          * 프린트 : 글 영어독음, 간단 회화나 단어(워드파일로 준비), 그림, 쓰기책
          * unlock usim phone 2대 - ''1대 안드로이드'', 나머지 대 애니콜
  • LIB_2 . . . . 4 matches
         이번엔 타이머 인터럽트를 통해 컨텍스트 스위칭이 이루어지는 인터럽트 서비스 루틴에 관 [[BR]]
         코드를 살펴볼까 다.
         씨에서는 interrupt란 예약어로 함수를 인터럽트 콜이 가능 함수를 만들 수 있다.[[BR]]
         이 프로그램이 복귀 가능하게 만들 경우 TSR을 이용다..근데 지금은 필요 없는듯...
  • LIB_4 . . . . 4 matches
         그리고 세마포어와 이벤트에 관 코드는 대부분 비스므레 하다...이유는 거의 동기화하는 방법이
         TCB는 TASK CONTROL BLOCK의 약자.. 마디로 태스크에 대 정보를 담고 있는 구조체
         이벤트에 관 블럭
  • LearningToDrive . . . . 4 matches
         안되는 영어로 읽고 있는 중인 XP Explained 중. (제대로 뜻을 이해건지. -_-;)
         소프트웨어 개발을 운전을 배우는 것에 비유 설명이 재미있네요. software project 의 Driver 는 customer 라는 말과.. Programmer 는 customer 에게 운전대를 주고, 그들에게 우리가 정확히 제대로 된 길에 있는지에 대해 feedback 을 주는 직업이라는 말이 인상적이여서. 그리고 customer 와 programmer 와의 의견이 수렴되어가는 과정이 머릿속으로 그려지는 것이 나름대로 인상적인중. 그리고 'Change is the only constant. Always be prepared to move a little this way, a little that way. Sometimes maybe you have to move in a completely different direction. That's life as a programmer.' 부분도.. 아.. 부지런해야 할 프로그래머. --;
         그때는 괭장히 짜증나고 그랬었는데.. 편으론 제가 도량이 더 넓었다면 어땠을까 하는 생각도 해봅니다. 애시당초 기획할때 제가 아는 범위 내에서 도와주려고 노력했다면, 프로그래밍 중간중간 완성된 것 보여주면서 원하는 것에 대해 제대로 수렴을 시킨건지 물어봤었더라면.
          * 하지만. 편으론 '이상적인 만남' 일때 가능하지 않을까 하는 생각도. Communcation 이란 상호작용이라고 생각해볼때.
  • Linux/MakingLinuxDaemon . . . . 4 matches
         상기에서 확인가능 하듯 daemon 으로 동작하는 프로그램은 터미널이 할당되지 않는다. 또 기본적으로 ParentPID (ProcessID)가 1번으로 설정되어있음을 알 수 있다. 이는 1번 PID를 가진 init 프로세스가 데몬의 동작을 관리다는 사실을 알 수 있게 다.
          // 부모프로세스를 종료다.
  • LinuxProgramming/SignalHandling . . . . 4 matches
         위키 페디아의 정의를 빌리자면 시그널은 ''' 프로세서와 기타 다른 프로세스 사이에 전송되는 비동기적 이벤트''' 라고 다.
         쉽게 MFC 와 비유하여 설명하는 시그널은 메시지와 비슷하다고 보면 된다. 실제로 signal 함수를 이용해서 우리는 MFC에서 이벤트와 이벤트 핸들러를 연결하듯 프로그래밍을 다는 사실을 알 수 있다. (이렇게 보면 정말로 유닉스가 C로 짜여있다는 것을 확실하게 알 수 있다.)
         = signal 을 이용 타이머 =
  • LinuxServer . . . . 4 matches
         서버를 구축하고 관리하고 다양 웹 프로그램을 사용해 보는 프로젝트.
         참가자 : 이승, 송수생, 이형노, 조현태
         코딩과정 조금 보여줘더니 혜지와 연주 GG 쳤삼 - 이승
         설마 통으로 그냥 찍어 올릴거라고는 생각도 못했삼 - 이승
  • LoveCalculator/조현태 . . . . 4 matches
          이제는 문제도 염장질이냐~!! (괜히 문제에 화풀이 다눙~ㅎ)
          음.. 영호선배님의 조언을 듣고 번 수정했어요..ㅎㅎ
          tolower(해당문자를 소문자로 바꿔줌, 소문자면 그대로)함수 또는 toupper(대문자로)를 쓰고 알파벳에서 숫자가 아닌 문자(alpha = alpha - 'a' +1)로 처리 하였다면 대소문자 따로 처리할 필요 없었고, 가독성 또 좋아지지 않았을까? - [이영호]
          그런데 현태야;;; C++ 클래스 설계 할 때 고생 하겠다... 설계상의 약간의 문제점이 있네. 메인 함수는 최대 간단히 하고 입력만 받고 문자열을 함수로 넘겨 처리하였으면 더 간단해지지 않았을까?;;; - [이영호]
  • MFC Study 2006 . . . . 4 matches
          * 전에 배웠던 식으로 자신이 표현하고 싶은 주제를 선택해서 Class와 Object로 표현해 보세요. 문법, 코드 등 코딩에 필요 무엇도 필요없습니다. 설계에는 정답이 없다고 말거 기억하시죠?^^; -[상욱]
          * 다시 번 말씀드리지만 너무 잘하려고 부담갖지 마십시오.^^ -[상욱]
          * 1달이라는 공백기간이 이렇게 멀게 느껴질수가 없습니다. 모두 번쯤 MFC에 대해서 생각해 보셨나요? - [김준석]
  • MFCStudy2006/1주차 . . . . 4 matches
          * C++에 대 대략적인 설명
          * MFC를 이용 기본적인 프로그래밍
          * '''MFC를 이용 메신저 제작'''
          * 무엇이든지 좋습니다. MFC를 이용하여 어떠 것이든 화면에 출력하게끔 하세요.(추가내용)
  • Marbles/조현태 . . . . 4 matches
         간단 산수를 해서 알고리즘을 만들어 주었다..지만 사실은 매우 간단..
          무 루프의 영광으로 부터 나를 구해내리라~>ㅁ<;;
          앞에 훌륭하신 선배님중 분이 이런 최악의 조건을 만드셔서..
  • Mario . . . . 4 matches
          * 마리오 덕후는 마리오의 목숨을 최대으로 가지고 쿠퍼를 잡으려고 합니다. 그런데, 이 덕후는 게임을 너무 여러번 했더니 각 Stage에서 목숨을 얻거나 잃는 갯수가 항상 일정합니다. 또, 이 덕후는 모든 지름길을 다 알고 있어 원다면 굴뚝을 통해 마리오를 Stage를 건너뛰게 할 수 있습니다.(1탄->3탄, 3->5탄 등, 횟수제 없음) 이 덕후는 가장 많은 목숨을 얻은 채로 게임을 끝내고 싶어합니다.(마지막 쿠퍼가 나오는 Stage는 꼭 들러야합니다) 이때, 이 덕후는 몇 개의 목숨으로 게임을 끝낼 수 있을까요?
  • NIC . . . . 4 matches
         ["zennith"]가 사용하고 있는 NIC 는 현재 '''Realtek 8029(AS)''' 이다. 이 NIC 에 대해서 특별히 불만은 가지고 있지 않았지만, 얼마전에 경험하게 되었다. 바로, Linux 에서의 드라이버 지원 문제였는데, 동사의 8139(10/100 mega bit ethernet 카드로서, 대부분 리얼텍 NIC 를 쓴다고 다면 이8139일 것이다.)는 매우 잘 지원되는 것으로 보였으나.. 단지 10m bit ethernet 인 내 8029 는 너무 오래전에 나온것인지 꽤, 고난과 역경을 겪게끔 하는 그런 카드였다. 그래서, 지금 ["zennith"] 가 알아보고 있는 카드가 두개 있다. 하나는 ACTTON 에서 나온 것과, 또 다른 하나는 그 이름도 유명 NetGear 에서 나온 10/100 카드이다. 전자의 ACTTON 것은 나름대로 시대를 풍미했던 DEC 의 튤립이란 카드의 벌크 제품이라던데... 7000원이라는 가격이 매우 돋보이지만, 이것역시 벌크제품인지라 드라이버 지원문제가 꽤 걸릴거 같아서, 아무래도 NetGear 의 제품을 사게 될 것 같다.
         음.. 바로 이런페이지를 zennith/NIC 의 형식으로 만들어야 다는 이야기 일까요; 음.. 옮겨야 하나.. -["zennith"]
  • NSIS/예제4 . . . . 4 matches
         설치중에 윈도우 서비스를 멈췄다가 살리는 스크립트. 이것때문에 삽질을 좀 했다....-_-;; servicelib.nsh 파일을 인클루드 해줘야다.
         Name "RealVNC 4.0 글화 패치"
         SpaceTexts "필요 용량 : " "사용가능 용량 : "
  • OperatingSystemClass/Exam2006_1 . . . . 4 matches
         겁나게 쪼잔 책의 내용과는 달리 대체적으로 무난 문제였다. msdos와 unix 비교하는 것 말고는-_-;
         5번 문제도 좀 의외긴 했다. 문제 제대로 안읽어보면 엄거 쓸수 있는 소지가 다분하다. 시험본지 오래되서
         자세 문장은 기억이 안나지만 대충 이정도다.
  • OurMajorLangIsCAndCPlusPlus/signal.h . . . . 4 matches
          || SIG_IGN || 신호를 무시하도록 설정. 단 모든 신호에 대해서 가능것은 아니다. ||
          || __cdecl signal(int, void (__cdecl *)) || 해당 시그널에 동작할 행동을 지정다. 첫번째 인자가 시그널 번호, 두번째 인자가 행동을 지정다. ||
          || int __cdecl raise(int) || 이 함수를 호출 프로시져에 첫번째 인자에 시그널번호에 해당하는 시그널을 보낸다. 실패하면 0이 아닌값을 리턴하는데, 오직 유효하지 않은 시그널 번호에서만 실패하게 된다. ||
  • OurMajorLangIsCAndCPlusPlus/stdlib.h . . . . 4 matches
         || EXIT_FAILURE || 실패 종료 (0이 아닌 값을 가짐) ||
         || EXIT_SUCCESS || 성공 종료 (0인 값을 가짐) ||
         || void *calloc(size_t nitems, size_t size); || 요청된 메모리 할당 (모든 원소를 0으로 초기화 다) ||
         || void *realloc(void *ptr, size_t size); || calloc(), malloc()에 의해 할당된 메모리 크기를 재조정다 ||
  • PC실관리 . . . . 4 matches
         아니다. 가끔 햇볕이 좋은 날 창문을 열고 에어컨을 OFF 시킨 채 송풍 팬을 2, 3단으로 작동다. 더해서 매트 밑에 신문지를 넣어두면 냄새와 습기 제거에 큰 효과를 볼 수 있다.
         그림을 포함 청소 설명 - [http://www.airlove.co.kr/shop/index.php?inc=html/air]
          * 프린터 대 교체
          * [PC실관리/고스트/네트워크를이용OS설치]
  • PC실관리프로그램 . . . . 4 matches
          * 프로세서 관리자에서 이름을 제거하는 법을 이해하고 구현다.
          * 죽지않는 프로세서를 만드는 법을 이해하고 구현다.
          * PC실 관리를 더 쉽게 하고, PC실의 환경을 개선다.
          저도 3D 스터디 하는거 있어서 약속이 잡힐거 같은데 그거랑 특별 약속 안생기면 종일 널널함니다.ㅋ
  • PreparedParticipantPattern . . . . 4 matches
         '''개인들이 이전의 대화를 공부하지 않을 때, 그들은 대화에 아무것도 더하지 않거나 너무 많은 것을 더다. 준비되지 않은 참여자는 주제를 벗어난 질문이나 기초적인 질문, 혹은 생산적인 연구보단 오해를 불러일으킬만 생각을 하게하는 질문을 할 수도 있다.'''
         '''이전 공부 각 부분에 대해 철저하게 문헌을 공부해라. 공부것에서 뛰어난 문헌을 골라라 왜냐하면 사람들은 더 적은 일을 통해 그것을 공부하려고 동기부여가 될것이기 때문이다. 각 공부할 것들을 적절하게 나눠라 - 너무 작거나 너무 크지않고, 그룹의 능력과 각 공부할 것의 난이도에 맞게'''
  • ProgrammingLanguageClass/2006/Report3 . . . . 4 matches
         Jensen's Machine 은 Jørn Jensen라는 사람이 Algol 60을 제안하는 보고서에서 제시 프로그래밍 테크닉을 말합니다.
         제시된 문제는 상기와 같으며, 이는 100번째의 조화수를 구하는 문제를 해결하는 방법입니다. 차후에 그 이름도 유명 Knuth 님께서 Man Boy Test로 발전시켰습니다.
         cf) Jensen's Device, Man Boy Test 는 Compiler Theory 의 항목들입니다.
         음 잠깐 하면서 생각건데.... 이 숙제 정말로 구리다. -_- 내가 이렇게 재미없는 숙제를 하게된건 파일구조때 binary 가지고 장난친 이후 처음인듯하다. 문자열 장난할꺼면 펄로하게 해주던지... C 문자열 함수 가지고 놀려니... 정말로 구리다라는 생각뿐~ - [eternalbleu]
  • ProjectAR/회의/20030525 . . . . 4 matches
          * 타일의 크기는 16*16이다.
          * 이동이 약간 애매하긴 데, 프레임 기반으로 간다.
          * 제자는 모두 public으로 다.
  • ProjectCCNA/Chapter2 . . . . 4 matches
          * ethernet: CSMA/CD- 이더넷 통신에서 사용하는 프로토콜이다. 회선이 사용중이지 않을때 전송하고 충돌이 생기면 일정시간후 재전송다.
          * MAC 주소가 FF-FF-FF-FF-FF-FF 는 브로드캐스트로써 LAN상에 모든 PC에게 데이터를 전송다.
          * 유니캐스트 - 특정 PC 하나에게만 데이터를 보냄.
          * 네트워크에 대 표준 모델이며 실제로 사용되는것은 아니다.
  • ProjectPrometheus/AT_BookSearch . . . . 4 matches
          params = {'TI':'글', 'AU':'', 'IB':'', 'PU':'', 'OP1':'','OP2':'','OP3':''}
          params = {'keyword':'글'}
          params = {'keyword':'글3'}
          params = {'keyword':'글 3'}
  • ProjectPrometheus/Iteration1 . . . . 4 matches
         || . || 3. 제목에 '글' 로 검색. 10개 이상이면 성공. || ○ ||
         || {{{~cpp TestSimpleSearch}}} || 1. 키워드로 '글'로 검색. 결과값이 10개 이상이면 성공. || ○ ||
         || . || 3. 키워드에 글과 숫자 조합. || ○ ||
         || . || 4. 키워드에 글과 숫자, 빈칸 조합. || ○ ||
  • ProjectPrometheus/LibraryCgiAnalysis . . . . 4 matches
         도서관 검색 창 입력폼에 대 분석.
         Windows 2000 아파치 톰켓 조합에 Java JDK 가 1.3.1_01 이라. 약간 신기 조합같다는 생각이.. --a
          * 번 검색 하고 다음 페이지가 넘어갈때는 HISNO 의 값이 유지되고, SEQNO 가 증가다.
  • RandomWalk/임인택 . . . . 4 matches
         === 소스 1 : 2학년때 자료구조 숙제로 작성 (약간 Iterative것 같다) ===
          - 별로 OO 적이지 못것 같다...(Roach 와 Board 객체가 [양방향참조]를 다). DesignPatterns 를 참고하면서 보았어야 하는데.. 나중에 [Refactoring] 해야 함..
          TokenRing 에서 아이디어를 얻어 나름대로 만들어봤는데 (아직 제대로 동작하는지 미확인. 이 글을 작성하는 도중에도 버그가 하나둘 보이고 BadSmell 이 많이 난다. PC가 많은 곳에서 추가작업필요... :( ) 이게 CSP 의 이념에 부합하는지 모르겠다. m by n 배열에 있는 셀들을 TokenRingNetwork 형태를 띠게 하면서 사실은 배열인것처럼 동작하게 했다. 이 방법 말고 마땅 방법이 떠오르지 않았다. TestDrivenDevelopment 으로 작성해보려고 했지만 실천에 옮기지 못했다. 몸에 밴 습관이란건 극복하기가 쉽지 않은 것 같다.
  • RandomWalk2/Vector로2차원동적배열만들기 . . . . 4 matches
         음..--; 재동이테 2차원 동적 배열 만드는 방법을 제공 이유로..--; 책임을 지겠습니다 ㅠ.ㅠ 근데 다 그렇게 쓰던데..--;
         vector< vector<int> > ar; // 반드시 공백 줘야 다! 안주면 에러난다.
          * array보다 vector를 먼저 가르치는 대표적인 책으로 "진정 C++"을 가르친다는 평가를 받고 있는Seminar:AcceleratedCPlusPlus
  • RedThon/HelloWorld과제 . . . . 4 matches
          * 주말에 남는 시간을 투자하면 충분히 할 수 있으리라 생각합니다. 꼭 3가지로 하지 않아도 여러가지 방법이 있을 테니 번 시도해 보세요. --[Leonardong]
          다음..함수를 이용...나름대로..함수이길..바라고 있음...;;
          왕초보에서..예제 비스무리거...C++숙제하듯이..변경해서...했어요.
          그리고..클래스...상당히..어려울거같아...좀더..공부후에 할께요..
  • RegularExpression/2011년스터디 . . . . 4 matches
         Regular Expression을 정의하고 더러운 상황에 대 Regex의 강력함을 느껴보자.
         저것에 대 답을 찾아냈다면, 맞는것들'만' 찾아내는 것도 해보는건 어떨까요? 그러려면 표준을 알아야 다는...
         간단 JavaScript 예제
  • ReverseAndAdd/신재동 . . . . 4 matches
         파이썬에서 for 루프를 먼저 생각하는 것은 사고의 단위가 작은 것이고, 이것은 영문독해를 할 때 번에 단어씩 보는 것과 구문을 번에 보는 것의 차이와 비교할 수도 있다.
         ''all tests data will be computable with less than 1000 iterations (additions)''를 고려다면 명시적인 회수 체크는 없어도 될 듯.
  • Robbery/조현태 . . . . 4 matches
          ... 뭐 그래도 인생은 즐기는것.. 게임좀 하면 어때~~~~ (미래에 니트족 명 또 추가되겠군..;;)
          .. 너무 놀았으니 자기전에 간단히 개 풀어주고 자야지.. 해서 푼게 이것.
          '명확 경우' 에 속하지 않기때문에..^^
          자전거 문제에 이 소스를 배껴넣다가.. 규칙을 일부 잘못 이해것 같아서 수정했다.
  • Ruby/2011년스터디/김수경 . . . . 4 matches
         = Ruby를 이용 프로젝트 =
          * ZeroPage에서 사용할 수 있는 대화방을 Ruby로 구현다.
          * 필요 기능
          * 특정 이용자만 들어올 수 있게 제
  • SRPG제작 . . . . 4 matches
         = 필요 것들 =
          2. 타일 개의 크기는 40x40으로 정함.
          2. 맵에는 이벤트를 추가할 수 있도록 다.
          1. 위에서 만들어진 맵과 이벤트를 사용하여 프로그래밍을 다.
  • STL/Miscellaneous . . . . 4 matches
         miscellaneous : <사물 등이> 형형색색의 (것으로 이루어진), 갖가지 잡다, 잡동사니의
          * 컨테이너를 아무거나 쓰면 안된다. 가장 최적화된 자료구조를 생각해서 써야다.
          * vector<Object*> 이런식으로 동적 생성하는 객체의 레퍼런스를 위 포인터를 컨테이너에 넣을때는 추후 포인터가 가리키는 객체를 직접 delete 해줘야 다.
  • STL/list . . . . 4 matches
          * iterator 를 이용 순회는 containter에 공통점이다.
         list 의 반복자는 양방향 반복자로서 임의 접근 반복자가 지원하는 연산을 제외 기타 모든 연산자에 대 연산을 지원다.
  • STL/set . . . . 4 matches
          * 집합을 구현 자료구조(STL에서 containter)이다.
         // 3개가 동일 데이터 이므로 5 하나만 들어있다.
          * STL의 container 들은 모두 비슷 모양의 순회를 다.
  • ScheduledWalk/창섭&상규 . . . . 4 matches
          * 모든것을 진행다.(Execute) | 사용자(User), 판(Board), 바퀴벌레(Roach), 여정(Journey)
         진행자는 사용자에게 진행에 필요 정보를 요청다. 사용자는 판 크기, 바퀴벌레의 시작위치를 알려주고 여정을 만들어 준다. 진행자는 정보에 따라 판을 만들고, 바퀴벌레를 만든다. 그리고 나서 바퀴벌레에게 여정을 주며 판 위에 올라가서 판 위를 움직이도록 명령다. 바퀴벌레는 여정을 참고하여 자취를 남기면서 판 위를 움직이고 여정이 끝나거나 판의 모든 곳에 자취가 남으면 움직이는것을 멈춘다. 바퀴벌레가 멈추면 진행자는 판을 사용자에게 보여준다.
  • SimpleDesign . . . . 4 matches
         저 원칙은 XP 와 떼어서 생각하기 힘든, TestDrivenDevelopment 에서 더 제대로 적용된다. TestDrivenDevelopment 를 하면 할수록 가장 단순 것에 대해서 생각하게 된다. 이번에 기사를 쓰기 위해 간단 프로그램을 같은 문제에 대해서만 5번 정도 풀어보게 되었는데, 풀 때마다 더 간단 해결책이 보이게 되고, 문제를 더 잘게 나눌 수 있게 되었다.
         SimpleDesign 이란 ["디자인패턴"]을 써서 미학을 이루어야만 가능 것은 아닌것 같다. 비록 때때로 ["디자인패턴"]이 도움이 되기도 하지만. --["1002"]
  • SingletonPattern . . . . 4 matches
         프로그램 내에서 오직 하나만 존재해야만 하는 공용 객체에 대 해결방법. (내용에 대해서는 ["Gof/Singleton"] 참조)
         적절 상속관계와 오브젝트를 인자로 넘겨주는 방법으로 Singleton 의 남용을 적절하게 줄일 수 있는 경우가 많다.
         이전에 ProjectZephyrus 를 프로그래밍할때 느낀점이라면, 초반에 디자인을 할 때 일수록 Singleton 을 쓸 생각을 하지 않는것이 좋겠다는 점이다. 초반에 디자인을 할때엔 (특히 Conceptual Model 단계정도만 생각하고 프로그래밍에 들어가는 사람의 경우) 어떠 클래스건 대부분이 인스턴스가 개이다. -_- 그렇다고 이 모든 것들을 글로벌 객체로 만들어내는 것은 그리 좋지 않다. --["1002"]
  • SmithNumbers/이도현 . . . . 4 matches
          /* 입력 받은 숫자를 문자열로 저장하기 위 포인터 */
          /* 문자열로 저장된 수를 아스키코드 값을 변환하여 array에 저장다. */
          /* 배열에 저장다. */
         uva사이트에 등록할때 e-mail을 적었다면, e-mail로 컴파일 에러가 곳(?)을 로봇이 바로 보내줍니다. 참고하세요. 단, 메일은 스팸편지함을 확인해 보세요. -보창
  • SoftIce . . . . 4 matches
          * Device Driver 개발 할때 사용하거나, Crack, Debug 등을 할때 사용하는 유명
          * 본인이 수십 시간 삽질 결과 ㅜㅡ
          * 만약 위와 같은 상태에서 설치할때 경고 메시지나, 특정 화일을 레지스트리에 등록을 못다고 나온다. 이때 걍 무시하지 말고 해당 사항을 처리 담에 진행 해야 함. 무시하면 나중에 피봄.
  • StacksOfFlapjacks/조현태 . . . . 4 matches
          .. 번 생각하기는 쉽지만, 생각을 고치기는 어렵다고..
          이 소스는 2번씩 뒤집는걸 기본으로 다. (예외적으로 끝에 있을때는 번 안뒤집는다.)
          만든이의 귀차니즘으로 회의 계산을 줄인 소스..후후후..
  • SummationOfFourPrimes/문보창 . . . . 4 matches
         소수에 대 기본지식이 없어서 상당히 애를 먹은 문제이다. 2보다 큰 짝수는 모두 두 소수의 합으로 표현될 수 있다. 물론 아직까진 가설이다. 입력 천만기준에 대해 8이상의 모든 수는 소수 4개의 합으로 표현될 수 있다는 전제조건을 세우니 문제가 결 쉬워 보였다. 왜냐하면 소수 4개의 합이기 때문에 소수중 유일 짝수인 2를 이용하면 홀수 또 소수의 합으로 표현할 수 있다. 8보다 작은 수를 제외하곤 모두 소수 4개의 합으로 표현되어진다. 실제로. 정수론에 대해 흥미를 느끼게 해 준 문제였다.
  • TCP/IP 네트워크 관리 . . . . 4 matches
          DeleteMe 책에 대 소개를 해주세요.
          *지금 생각으로는 주당 1장씩 읽으면 부담없을듯.
         TCP/IP 네트워크 관리, Craig Hunt(박창민 역), 빛 미디어.
         == 숨 ==
  • TermProject/재니 . . . . 4 matches
         void menu1() // 1번 메뉴 : 사용자가 지정 과목을 입력순에 따라 화면에 출력함
         void menu2() // 2번 메뉴 : 사용자가 지정 과목의 성적순에 따라 화면에 출력함
          sum_sub[i] = 0; // 각 과목의 평균을 출력
          cout << sum_avr / students <<"nn"; // 평균들의 평균을 출력
  • TestDrivenDevelopmentBetweenTeams . . . . 4 matches
         팀단위로 TDD를 다고 다면?
         일단 각 팀들끼리 TDD 를 하면서 팀들간의 대화를 통해서 일종의 공통 interface 를 빼낼 수 있다. 일단은 일종의 MockObject 로 가짜값을 채워서 테스트를 통과시킨뒤, 실제 Object 가 구현되면, 천천히 하나씩 실제 Object 의 interface 를 끼워가면서 테스트를 통과하는지를 확인다. 그리고 최종적으로 실제 Object 로 MockObject 를 대체시킨다.
         Java 의 경우 inteface 키워드나 abstact class 를 이용하여 interface 를 정의할 수 있다. 팀의 구성원끼리 Pair를 교체 뒤 interface를 정의하면 더욱 효과적이겠다.
  • TheJavaMan/설치 . . . . 4 matches
         제로페이지 자료실에도 모두 있기는 데 그냥 최신버젼으로 링크해 놓았다. 후에 링크가 깨지면 알아서 고쳐줘
         2. '''File->New->Class'''로 클래스 하나를 만든다. 자바는 C와는 다르게 클래스를 꼭 만들어야 다. 그리고
         나는 클래스이름을 Hello라고 거구
         이 문장만 입력하면 될거야
  • TheTrip/Leonardong . . . . 4 matches
         각 여행자가 1센트까지 쪼개서 나워 가진다고 생각 코드입니다.
         문제를 풀기 전에 샘플 입력부터 보는 경향이 있다. 문제를 이해 못했으므로 샘플 입력을 보다가 결국 다시 문제를 보느라 시간이 지체된다. 따라서 문제를 다 이해하고, 정의 뒤 샘플 입력을 보아 정의가 맞는지 확인하는 순서로 문제를 풀어야겠다. 해결책은 문제를 정의 다음에 떠올린다.
         무엇이 잘못 되어도 테스트를 추가해본다는 점은 역시나 TDD가 매력적일 수 밖에 없는 요인이다. 이제는 손으로 테스트를 하려면 너무 귀찮고 시간낭비라고 생각다. TDD 리듬을 조절해줄 파트너가 옆에 있다면 더욱 좋으련만. :) --[Leonardong]
  • TheWarOfGenesis2R/일지 . . . . 4 matches
          * [[HTML(<STRIKE>)]] 타일 에디터에 관 간략 회의. [[HTML(</STRIKE>)]] - 20분
          * 이동(무히--;), 공격(바로 옆에 있는 놈만) 가능
          * 선호군이 인수군이 만든 전투 루틴을 그대로 갖다 쓸수 있을까 하는 의심을 품었다. 이에 발끈 인수군, 조금 뚝딱거려서 mfc로 포팅해보았다. 잘된다. 고친거라곤 cout 이것과 명령어 파싱하는 그 부분밖에 없다. 잘된거 같다.
  • Thread의우리말 . . . . 4 matches
         [Thread]. 내가 처음으로 [ZeroWiki] 접근하게 되었을때 가장 궁금했던 것중 하나이다. 도대체 [Thread]가 무었인가?? 수다가 달리는장소?? 의미가 불분명 했고 사실 가벼운 수다는 DeleteMe라는 방법을 통해서 이루어지고 있었다. 토론이 펼쳐지는 위치?? 어떤페이지의 Thread의 의미를 사전([http://endic.naver.com/endic.php?docid=121566 네이버사전])에서 찾아보라고 하길래 찾아보았더니 실에꿰다, 실을꿰다, 뒤섞어짜다 이런 의미가 있었다. 차라리 이런 말이었으면 내가 혼란스러워해 하지는 않았을 것이다. [부드러운위키만들기]의 가지 방법으로 좀더 직관적인 우리말 단어를 사용해 보는것은 어떨까?? - [이승]
          좀더 와닿는 우리말 없을까요?? - 이승
         엮어가기는 어떨까요?? -- [이승]
  • UseCase . . . . 4 matches
         나는 Alistair Cockburn이나 KentBeck, Robert C. Martin 등의 최소 방법론 주의(barely sufficient methods)를 좋아다. 나는 이 미니말리즘과 동시에 유연성, 빠른 변화대처성 등이 21세기 방법론의 주도적 역할을 할 것이라 믿어 의심치 않는다. Robert C. Martin이 자신의 저서 ''UML for Java Programmers''(출판예정)에서 [http://www.objectmentor.com/resources/articles/Use_Cases_UFJP.pdf Use Cases 챕터]에 쓴 다섯 페이지 글이면 대부분의 상황에서 충분하리라 본다.
         그는 UseCase와 UML의 UseCase Diagram은 다른 것이라고 말하며, UseCase를 기록할 때 단순히 NoSmok:IndexCards 에 해당 UseCase의 이름만 기록해 두고, 나머지는 구두로 의견교환을 할 것을 추천다. 그렇게 하고 시간이 지나면서 구현 내용이 점점 중요해지면 그 구체적인 내용을 카드의 여백에 채워넣으라고 다.
         이렇게 해서 최소 하나의 프로젝트에서만이라도 "제대로 활용"을 해보고 나면 비로소 필요에 따라 "더 많은 것"을 요할 수 있다. 이 때에는 본인 역시 Robert C. Martin과 같이 Alistair Cockburn의 ''Writing Effective Use Cases''(2000년 Seminar:JoltAward 수상)를 권다. (인터넷에서 초고 pdf화일을 구할 수 있다)
  • VimSettingForPython . . . . 4 matches
         Python Programming 을 위 VIM Setting.
         Python extension 을 설치하고 난뒤, BicycleRepairMan 을 install 다. 그리고 BRM 의 압축화일에 ide-integration/bike.vim 을 VIM 설치 디렉토리에 적절히 복사해준다.
         _vimrc 화일에 다음을 추가다.
         BRM 의 리팩토링 기능을 이용할때는 리팩토링전 해당 화일을 BRM에 Import 해주어야 다.
  • VoiceChat . . . . 4 matches
         다자간에 프로젝트를 진행할때 같은 장소에서 작업을 하기 힘든 경우 음성채팅을 이용하면 그나마 숨통을 틀 수 있다. MSN 메신저를 비롯하여 음성채팅을 지원하는 여러 메신저의 경우 1:1 만 지원다. 아래의 프로그램을 사용하면 다자간 음성채팅을 무료로 할 수 있다.
          * 거원소프트에서 만들었다. [http://www.cowon.com/product/d_voice/software/jet-voice-chat/download.html 홈페이지], 가입할 필요가 없고. 사람이 채팅서버 역할을 하고 나머지 가 클라이언트가 된다. 음질도 5k, 32k 선택가능.
          * KaZaA 의 개발진이 만들었다고 다. 전 세계적으로 많이 쓰이고 글화도 되어있다. PeerToPeer 기술을 사용했다. [http://web.skype.com/home.ko.html 홈페이지]
  • WERTYU/1002 . . . . 4 matches
          필요 함수들로는..
          만일 이것이 있다고 다면.. 각 char 단위의 결과를 그냥 그대로 합쳐버리면 될 듯 하다.
         JuNe 의 이야기를 듣고 doctest 를 처음 써보다. (실제로는 단계씩 진행) 느낌이 꽤 재밌었다. test code 에 대해서 'test code == 문서화 정보'를 다는 느낌이 더 깊게 난다. 조금 더 써먹어보고 관찰해봐야겠다는 생각중.
  • WikiGardening . . . . 4 matches
         ''실제 위키의 View 구조를 조성하는 사람들이 드물기 때문에, 기존 게시판에서의 스타일과 똑같은 이용형태가 계속 진행되어버렸다는 생각이 든다. (이 경우 RecentChanges 가 Main View 가 된다.) (조만간 위키 전체에 대 링크 구조 분석이나 해볼까 궁리중. 예상컨데, 현재의 ZeroWiki 는 Mind Map 스타일에 더 가까운 구조이리라 생각. (개념간 연결성이 적을것이란 뜻. 개인적으로는 볼땐, 처음의 의도 바와 다르긴 하다.) --1002'' (DeleteMe ["1002"]의 글을 다른 페이지에서 옮겨왔습니다.)
         방학동안 틈틈이 위키를 둘러보면서 가꾸어야 할 만 페이지를 추려보았습니다.
         구조조정 모델로 참고 할 만 페이지는 [페이지제목띄어쓰기토론] 같습니다.
  • XpWeek/20041223 . . . . 4 matches
         11시 53분 : 참여자 : Client( 강희경, 황재선, 이승 ), Server( 나휘동, 윤성만 )
         4시경 : 분위기 다시 상승. 조금 활성화. 클라이언트 서버 접속 성공. 강희경, 이승 페어 완전 해체.
         5시경 : 이승 C++ 코딩 시작. 좌절. 분위기는 여전히 상승상태. 이승 카트 시작.
  • YetAnotherTextMenu . . . . 4 matches
         보통 ToyProblems를 내줄 때, 입력양식으로 텍스트 메뉴를 이용하라는 요구사항이 주어지기도 다. JuNe이 보기에는 이것은 "단견"이다. 학생들은 매번 비슷 방식으로 텍스트 메뉴 프로그램을 만들 것이고, 매번 거기에 일정 시간을 빼앗길 것이다. 재미있게도 텍스트 메뉴를 사용하는 프로그램을 작성하면, 학생들이 만드는 프로그램 역시 그 메뉴의 구조를 닮는다. 이것은 그다지 바람직하지 않은 경우가 많다.
         차라리 "텍스트 메뉴" 자체를 Event Driven Programming 개념을 전달하기 위 toy problem으로 쓰는 건 어떨까? 간단 구조를 통해, 콜백 함수가 무엇인지 등을 배울 수 있을 것이다.
  • Z&D토론/학회현황 . . . . 4 matches
         ZeroPage 의 경우는 일단 01에 관해서는 MFCStudy팀 초기 1회만 참석, 그리고 정모 미참석, 이후 아무런 언급이 없는 사람을 제하고 말 것이므로, 그외 인원의 추가사항도 언급 부탁드립니다. 그리고 데블스의 경우도 통합시의 전체 Resource 파악이라는 면에서, 통합뒤 실질적인 운영을 주도하는 사람들 위주로 적어주시기 바랍니다.
         DeleteMe) ZeroPage 도 OB 회원님들 다 적을까요? 겹치시는 분들도 많고 (01 중에서도 또 같은 현상). 그리고 위에서도 언급했지만, 통합시의 전체 Resource 에 대 파악이라고 할 때, 통합 뒤의 학회를 실질적인 운영을 주도하는 사람들 위주로 적는게 낫지 않을까 생각해봅니다. (휴학, 군복무를 표시 이유도 같은 이유입니다.) -- 석천
  • ZPHomePage/20050111 . . . . 4 matches
          * 홈페이지 회원가입에 대 사항 => 미결
          => 일단 회원가입후 제로페이지회원을 따로 분리다.
          * 볼만 위키페이지를 1주일 단위로 소개
          * 조동영 - 줄메모장, 캘린더
  • ZeroPage/회비 . . . . 4 matches
          * 지출시 영수증을 반드시 받아서 보관, 기록을 다.
         [ZPHomePage]에서 회비관리 게시판을 만들어 보는것은 어떨까요?? - [이승]
         DeleteMe) 중요건 아니지만 [ZeroPage/회비] 보다 [ZeroPage회비] 페이지를 만드는 것은 어떨까요?
          [회비]라는 페이지가 있네요...-_-ㅋ;; 흐음...-_- - [이승]
  • ZeroPageServer/Telnet계정 . . . . 4 matches
          * pub에는 zp에서 공유시키거나, ZeroWiki에 노출시켜야 할 파일중 개인 계정에 링크하기 난해 것들(ex - Java API Doc, MySQL Doc) 대 해결책을 위해서 제공되었습니다.
          * 웹 프로그래밍을 할수 있다. 현재 zp서버에서 '''~/public_html/''' 이하 cgi 프로그래밍이 가능하다. ( ~ 은 자신의 디렉토리를 의미다. )
          * 종류 '''php, python, perl, jsp''' 프로그래밍이다. 하지만 jsp는 Server 관리자(["neocoin"]) 에게 문의하시면 상담하고 권 설정 해 드립니다.
  • Zeropage/Staff/회의_2006_01_19 . . . . 4 matches
          * 위키에 도서목록을 작성뒤, 빌리기 전에 요청다.
          * 사물함은 열쇠를 이용해서 관리다.
          * 도서관과 같이 2주의 대여기간을 주며, 1일당 100원의 연체료를 물린다. (연체료는 회비로 사용다.)
  • [Lovely]boy^_^/Diary/2-2-9 . . . . 4 matches
          * 상협이테 바 움직일때 타이머 쓰는 비법을 전수 받았다.
          * 초보자를 위 UML책 빌렸다. 역자가 곽용재씨군.(이 사람 번역 짱이던데.)
          * 알카노이드가 컴터마다 돌아가는 꼴이 너무 다르다. 굉장히 잘 돌아가는 데가 있는가 하면, 어디서는 깜박거리고, 또 어디서는 바가 안움직이기도 다.
          * 내가 남겨놓은 페이지가 누구테 도움이 될수 있다면 그건 정말 기분 좋은 일일 것이다.
  • [Lovely]boy^_^/Diary/7/15_21 . . . . 4 matches
          * 지난주에 걸 보니.. 게 없군;; 매일매일 열심히 살아야겠다는 다짐을 하지만.. 잘 지켜지질 않는건 왜일까
          * 오늘은 이상 방법의 종아리 운동을 했다. 중학생이랑 했는데... 어째 우리 또래보다 더 늙어 보이는 거지?--;
          * 스터디 고고(며칠이나 갈까..--; 최대 열심히 해야겠다.)
  • [Lovely]boy^_^/EnglishGrammer . . . . 4 matches
          * 동기 : 얼마전에 do 다음에는 원형이라는 중학교 입학하고 젤 첨 배운다고 할 수 있는 문법도 생각이 안나는 데에 놀란 인수군은 영문법을 대강이라도 번 공부하기로 마음먹는다. 교재는 Grammar in USE 영어로 되어 있어서 어떻게 볼까 생각했지만.. 추천이 장난이 아니더군. 그래서 함 봐봤는데.. 오 글보다 이해하기 쉽군. 쿠하하 정리나 해봐야겠다. 영어만 치다보면 영타도 늘겠지.
          ''영문법을 공부하려면 국의 웬만 교재보다는 NoSmok:GrammarInUse 가 낫습니다. 보통 Murphy시리즈라고 부르죠 -- 레벨별로 책이 따로 나와서 "시리즈"라고 합니다. 이와 함께 Azar시리즈도 많이 봅니다. 외국에 어학연수란 걸 나가면 90% 이상 이 교재로 공부합니다(고로 어학연수가서 교실에서 하는 공부는 별거 없습니다). 문법 공부를 할 때에는 레퍼런스북이 있으면 좋은데, PEU(''Practical English Usage'', Michael Swan)를 적극 추천합니다. 영어실력에 상관없이 두고 두고 유용하게 사용할 것입니다. see also NoSmok:영어학습법 --JuNe''
  • cogitator . . . . 4 matches
         혹 비슷 방향의 공직/ 기업쪽 전략파트를 물색하고있을지도 모르겠군.
         하나를 얻기위해서는 하나이상의 동등 대가를 치루어야 다. - 등가교환의 법칙
         코딩을 위 프로그래머가 아닌 세계를 창조할줄 아는 프로그래머가 되었으면 좋겠습니다.
  • erunc0/PhysicsForGameDevelopment . . . . 4 matches
          * 물리가 왜 필요 지 이제야 알았다.
          * 필요 없다고 생각 물리가.. 이렇게 쓰일 줄이야. 감회가 새롭다. T-T
          * 시간 날때마다 거 적어야지..
          * vector 로 거리를 잰후 점을 따라 다니게 하는 아주 간단 하고도 엄청나게 많이 써먹을 수 있는 걸.. 짯다..
  • java/reflection . . . . 4 matches
          * 외부 프로젝트는 jar로 패키징 다.
          * 프레임워크에서 많이 사용되는 방법이라고 다.
          * ORM(Object-Relational-MApping)이 아닌 방식으로 DAO를 만들 때 사용되기도 다.
          * jar파일로 패키징다. (.java와 .class만 따로 패키징하는 방법은 [http://kldp.org/node/75924 여기])
  • nilath개인페이지처음화면 . . . . 4 matches
         Assembly를 모르는 놈은 C를 안다고 할 자격이 없으며(문법만이야 알겠지. 얕은 깊이로 뭔들 못할까. 언젠가 계가 올것... ㅉㅉ), C++을 안다고 할 자격이 없다.
         어떠 언어든지... 일주일... C언어는 쓰이는 언어가 아니라 언어의 기본을 가르치는 언어이다...
         자바를 3일내에 떼고... C를 마스터 하는데 걸리는 시간이 7일... 주위 사람에게 들어왔지만... 이젠 인정다...
         다른 생산성을 기초로 차세대 언어만을 배운 사람이 될 수 있는 것은 기껏해야 코더뿐... 그것은 기술이다...
  • sakurats . . . . 4 matches
          우리과에서는 너테 도움을 줄만 사람이 없을듯하네..
          음.. 나도 막연히 고민하는데.. 어느 길로 가든 충격이 크지 않게 준비를 해두면서 막연 고민을 구체화시키는 게 현재 내가 할 수 있는 일 같아. ^^ --창섭
          막연 고민은 아무것도 고민하지 않는것 보다 오히려 좋지 않은걸지도 몰라.. 또 고민하기 전에 상대를 먼저 아는것이 더 도움이 될거 같고.. 그래서 지금 생각하는건.. 할수있는 만큼의 몇가지 도전들을 해보려고.. 헐헐. 이번에도 흐지부지하게 끝이 나지 않았으면 좋으련만. 노력해야지. -- 혜욘
  • snowflower . . . . 4 matches
         ||["SRPG제작"]||SRPG에 대 대략적인 계획 - 현재는 ["TheWarOfGenesis2R"]과 함께|| _ ||
         ||[그래픽스세미나]||OpenGL을 이용 그래픽스 - 도중에 중도 하차 ㅠ.ㅠ|| _ ||
         ||["DirectDraw"]||DirectDraw 에 대 스터디|| _ ||
          * 사이월드 여기다 공개다고 찾아가지 않는다.ㅋㅋㅋ 니가 사람들걸 찾아가야지 ㅋㅋ - [창섭]
  • tempOCU . . . . 4 matches
         오씨유 시험을 치루기 위 잠깐의 페이지
         동시 수정을 최대 피하기 위해서 수정자에 이름을 올린 사람만 페이지를 수정해 주세요
         이승
         잘 보자구 시험. :) - 이승
  • zennith/로망이없다 . . . . 4 matches
         편리하고 좋은 현대적인 어떤 소산물에 대해, 친구들과 이야기 할때에 ["zennith"]는 이야기의 마지막 즈음에 이런 이야기를 다.
         편하고 쉬운 것은 좋다. 잃는 것이 없이 많은 이익을 추구하는 것도 좋다. 하지만, 누구에게나 친절 사람은 사실 아무에게도 친절하지 않는 것처럼, 잃는 것이 적은 것들은 반대급부 로써 거기에서 얻어지는 정신적인 만족감이 적은 것 또 사실이다. 달리 이야기 하자면, 너무 편리 것에서는, 열정이 느껴지지 않는다.
  • 검색에이전시_temp . . . . 4 matches
         || 날짜 || 분야 및 담당자 || 일 ||
          * [데블스캠프2005/Python] 번씩 따라 쳐보기 좋음
         tid 만 알면 방명록 알림이 기능 가능함. 현재 싸이월드 방명록 알림이는 자신의 미니홈만 알려주지만 저 기능을 구현다면
         원다면 누구의 홈이던지 새글이나 방명록이 올라오면 알려줄수 있음...
  • 고전모으기 . . . . 4 matches
         CS에 지대 영향을 미친 대가들의 저작들을 모아보자. 지금 당장은 들여다보지 않더라도 책장에 하나 둘 고전이 늘어간다면 이것 자체가 하나의 [어포던스]가 될 수 있지 않을까. [나를만든책장]에도 끼워넣으면 좋을 것 같다. (단, ZP회비로...=_=;; ). 어디어디서 그러던데 NoSmok:서울서책만사다망사람 도 있다더라.
         === 추천할만 고전이라도? (굳이 CS가 아니어도..) ===
         SeeAlso [나를만든책장], NoSmok:권할만
  • 골콘다 . . . . 4 matches
          * 책을 읽으면서 '이게 과연 1920년대의 이야기일까?' 하는 질문을 하게 하는 소설같은 역사이야기. 특히, 최근 미국의 분식회계 사태를 보며 신문에서 '브루투스, 너마저...' (책에서 똑같은 말을 다;) 를 이야기하는것을 보면. 달라진 점이라면 액수가 커졌다 정도? (책에 나오는 모건 은행의 중개인인 리차드 위트니는 추후 자신의 경제파탄을 무마하려고 거의 300만달러에 달하는 빚을 진다. 대출을 받기 위해 고객의 유가증권들을 함부로 담보로 맡기는 짓도 서슴없이 했다고 다. 그게 1920년대란다; 결국은 이중장부와 불투명 경영, 하버드-월가 또는 정계의 연줄을 가진 엘리트들의 특이 도덕(?)의식의 결과.)
  • 공간박스 . . . . 4 matches
         방위에 널부러져 있는 책들을 보다보다 못 [인수]군은 책꽂이를 하나 사기 위해 인터넷 쇼핑몰을 뒤졌다. 책꽂이는 영 맘에 드는게 없고.. 지금 바닥에 널부러져 있는 책들을 꽂으려고 합당 사이즈를 찾다 보니 가격도 너무 비싸고 해서 포기할까 하다가 이 [공간박스]라는게 눈에 띄었다. 그냥 그걸 사면 나무판자들이랑 나사들이 들어있다. 그걸 조립하면 상자가 나온다. 거기다 뭔가를 넣으면 된다. ^^
         [인수]군이 산것은 이것이다. 다음 쇼핑 가서 뒤지면 나온다. 가격도 16900원으로 저렴(?)것 같다.
          * 사용기 수준은 아니고, 장점으로는 가격이 저렴하면서 나무재질이라 인테리어를 고려할때도 좋다는 것을 들 수 있을 것 같습니다. 배치만 잘 해놓으면 다양 사이즈의 책들을 수납할 수 있구요. 단점으로는 역시 나무재질의 DIY제품이라 견고성이 떨어진다는 점입니다. 각각의 부품의 맞물리는 형식이 아니라 나사를 이용해서 결합하는 방식이라 사용하다보면 그 결합부분이 망가지는 문제점이 있습니다(제것만 그럴지도 모릅니다)
  • 금고/문보창 . . . . 4 matches
         바로 코드 짜면 저번처럼 망해버릴 것만 같아서, 점화식 만들고, 간단히 증명까지 하고 코드를 짰다. 층수 n, 금고수 k 라 할때, 현재 복잡도 O(nk). 구간 값을 저장다면 메모리와 시간 모두 더 줄일수 있을 것이다.
         그런데 여기서 T(b,k) > T(a, k-1) 이거나 T(b,k) < T(a,k-1) 이라면 n = a + b + 1 인 건물의 층수가 우리가 처음에 가정 n이 T(n,k) 횟수만에 테스트 할 수 있는 건물의 최대 높이라는 가정과 모순된다. 따라서 T(b,k) = T(a,k-1) 이다. 따라서
         {{| T(a+b+1, k) = T(b,k) + 1 = T(a,k-1) + 1 |}} 이다. 여기서 a 와 b 또 건물의 최대 높이임을 만족해야 다. 초기값 T(1, k) = 1, T(n, 1) = n 을 이용하여 값을 구할 수 있다.
  • 김동준/Project/OOP_Preview/Chapter1 . . . . 4 matches
         1.위대 소프트웨어의 제작 방법
          1) 소프트웨어가 고객이 원하는 기능을 하도록 다.
          2) 객체지향의 기본 원리를 적용해서 소프트웨어를 유연하게 다.
          3) 유지보수와 재사용이 쉬운 디자인을 위해 노력다.
  • 김준석 . . . . 4 matches
          * 2015년 : 미래에 대 막연 두려움. 나는 생각이 없다.
          * 2021년 : 애가 둘이다. 먹여살리는것보다 더해야다.
         == 저테 하실 말 ==
  • 김태진 . . . . 4 matches
         == 죽기전에 해볼만 것 ==
          * 30살이 되기 전에 교수가 되어 강의 첫시간 학생들과 같이 자리에 앉아있다 학생들이 '왜 교수님 안오시지?'하고 웅성거릴 때 "그럼 내가 번 해볼까?"라고 하고 강의를 시작해보는 것. ~~ 이게 쉬워보이지만 빠른 졸업, 임용, 동안 세가지가 합쳐진 콤비네이션! ~~
         == 필요 위키 페이지 ==
          * 설리 하나 추가하고 감 - [고종]
  • 김희성 . . . . 4 matches
          터미널 크기가 작아지면 출력 위치가 꼬이는 버그가 있습니다. 터미널 크기 강제 조정이 불가능 관계로 해결을 못하였습니다.
          타이핑 중 상대방 입력이 날아오면 전송 안 타이핑 분량이 보이지 않는 상태로 버퍼에 남는 버그가 있습니다. 입력 방식을 scanf와 같은 문자열 입력함수가 아닌 문자 입력 함수로 바꾸어야할듯 합니다.
          recv함수는 send 횟수만큼 끊어 읽지 못다는 것을 간과하였습니다. 로그인 과정에서 send가 recv보다 빨리 작동하여 스택에 쌓인 후 하나의 메세지처럼 입력되는 것을 방지하기 위해 수신 확인 신호를 받도록 수정하였습니다.
          * ShortCoding 좋아하는 사람은 꾸준히 있네요 ㅋㅋㅋ 왠지 반갑다 ㅋㅋㅋ 제가 좋아다는 건 아니지만… - [김수경]
  • 김희성/리눅스계정멀티채팅2차 . . . . 4 matches
          //사용자가 이해하기 쉽도록 스레드 번호에 +1 값을 쓰도록 다.
          //코드의 간결화를 위해 값을 복사다.
          gotoxy(0,100);//gotoxy의 특징을 이용하여 화면을 칸 올린다.
          * 간단 명령어 가능 (명령어 목록 보기, 접속 인원 보기, 귓속말)
  • 노스모크모인모인 . . . . 4 matches
         NoSmok:노스모크모인모인. 기존의 모인모인을 커스터마이징 독자적인 버전. ZeroWiki가 새로 이용할 버전.
          * 노스모크 무슨 일 있나요? 얼마전 부터 접속이 안되는데...-_-ㅋ - 2006/03/11 - 이승
          * 특정 문서를 처리 못다.
          * python의 코딩상 문제점을 찾는다. 최소 모든 파일 unix newline 으로 변경
  • 누가소프트웨어의심장을만들었는가 . . . . 4 matches
          * 출판사 : 빛미디어
          * 현재 컴퓨터 모델을 지은 폰 노이만은 누구에게 영감을 받았을까? 앨런 튜닝. 현재 PC는 어떻게 탄생하게 되었을까? 메멕스. Wiki와 인터넷이 나오게 된 Hyper-Media란 것은 무엇인가? 이 책은 우리가 습관처럼 쓰고있는 IT가 어떻게 이루어졌는지 알려준다. IT의 기반을 세운 '영웅'들의 사상을 정리하고 간략하게 요약해서 보여주는 멋진 책이다. 그들이 발명 이론과 활동에 대해 그 세세 과정을 다뤄주지 않지만 이 책을 통해 소프트웨어 역사가가 되는 걸음을 딛을수 있을것이다. 그리고 저자 분의 이력도 흥미롭다 :) - [김준석]
  • 대학원준비 . . . . 4 matches
         == 입학에 대 조언 ==
          * 서류 심사 내용이 간당 간당 사람의 경우 면접이 까다로움
          (2) 첨부서류제출마감: 7. 24(월)/ 도착분에 함.
          * [대학원준비에대조언]
  • 덜덜덜/숙제제출페이지2 . . . . 4 matches
          변의 패턴수와 패턴모양을 입력받아 마름모를 출력하는******
         #2 2005/5/4 visualC++로//두번째는 첫번째보다는 시간이 별로 안걸렸어요. 그만큼 조잡(?)가요?ㅡㅡ
         *패턴모양만 입력받아 변에 패턴 5개가 되는 마름모를 출력하는*
         === [유선] ===
  • 데블스캠프2005/RUR-PLE/정수민 . . . . 4 matches
          추신: 궁금 점이 있소.muggi함수의 제일 아래 ()는 무엇을 뜻하는 것이오? 없어도 실행이 잘 되오.
          ... 승이형이 보셨으면 이렇게 말씀하셨을꺼닷.. 지긋지긋년.. 자다가 일어나서 고치다닝; @0@~
          //추신: 러플이녀석 재귀호출이 이상 방식으로 이루어 지는것 같다오. C를 써온 사람의 입장에서 볼때 불편하다는..
  • 데블스캠프2010/Prolog . . . . 4 matches
         그들은 전원이 5명 중 누군가 명에게서 돈을 빌리고 있고, 또 다른 명에게 돈을 빌려주고 있으며, 같은 상대에게서 빌린 동시에 빌려준 경우는 없다고 다.
         8.가운데 집에 사는 사람은 우유를 마신다.
  • 데블스캠프2010/다섯째날/후기 . . . . 4 matches
          * 좀 늦었지만 그래도 재미있었습니다. cpp를 이용 저글링들의 대결!! 그리고.. 마린.. 으악;; 뭔가 심오해보였습니다.. - [양아석]
          * [스터디그룹패턴언어]의 몇 가지 패턴을 짝을 지어 (독해 수준으로만)번역해보는 시간을 가졌습니다. 주제에 대 흥미 유발에 실패 것 같은데, 제 책임이 큰 것 같습니다. 두어 개 패턴만 골라서 깊이 생각하고 의견을 서로 나누는 기회를 가졌다면 어땠을까 싶습니다. 긍정적인 사이드 이펙트로 "번역 재미있는데?"라는 반응을 얻은 건 다행이라고 생각합니다. 번역 결과물의 품질이 만족스러워 질 때까지 지속적으로 다듬어질 수 있길 바랍니다. -- [이덕준] [[DateTime(2010-06-28T00:27:09)]]
  • 데블스캠프2010/첫째날/오프닝 . . . . 4 matches
          * 문법도 아주 간단하다. [http://nforge.zeropage.org/projects/devilscamp2010/wiki/WikiTutorial (문법에 대 안내사항)]
          1. 위키 사용자 등록 후 로그인다.
          2. 이 페이지를 고쳐 자기 이름을 추가다.
          || [양아석] || 반갑습니다 이번에가입10준회원이에요 ||
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/박정근,김수경 . . . . 4 matches
          //Elevator가 생성되었는지 test다.
          //goTo 전에는 항상 up 혹은 down이 있어야다.
          //번 goTo에 실패하면(잘못된 범위 선택:up 누르고 더 아래층으로 goTo) 다시 goTo 할 수 없다.
          //번 goTo에 실패하면(잘못된 범위 선택:down 누르고 더 위층으로 goTo) 다시 goTo 할 수 없다. 갇혔음 ㅡ_ㅡ;;
  • 데블스캠프2011/둘째날/Machine-Learning/NaiveBayesClassifier/송지원 . . . . 4 matches
          * 가장 느리고 무식 Linear Search로도 문제해결 했다를 보여주는 의지의 국인 코드
          * 다른 분들과 달리, 저는 글자인 문자와 특수문자를 첫 글자로 포함하는 단어들은 Train Data 및 Test Data 분석에 포함시키지 않았습니다.
          * 때문에, 경제 면에서는 200개의 기사 중 148개의 분류를 성공하는 저조 성적을 보였습니다.
  • 데블스캠프2011/준비 . . . . 4 matches
          * 투표로 결정다.
          * 세션당 시간 : 2시간 혹은 3시간
          * 달 전에 전화 드리기
          * 주 전에 다시 전화 드리기
  • 땅콩이보육프로젝트2005 . . . . 4 matches
          * 모임에 필요 준비물
          * word를 기준으로 next word를 찾는다. 필요하면 frequency도 이용다.
          * [http://www.alicebot.org/ ALICE] 뢰브너 라는 인공지능 대화 로봇 대회에서 우승 ALICE 라는 프로그램, 사이트 가면 실제로 대화해 볼수 있음
          * [http://nlp.kookmin.ac.kr/HAM/kor/index.html 국어 형태소 분석기]
  • 레밍즈프로젝트/박진하 . . . . 4 matches
         [레밍즈프로젝트/이승]
         승이와의 대화 후 방법 수정됨-
         후에- 유루가 윈도우 되면 윈도우에서 테스트해봐야다 ㅋㅋ
         Load 번 해봐야겠다-_-
  • 레밍즈프로젝트/일정 . . . . 4 matches
         || 11/16 || 에니메이션 프로토 타입(이승) ||
         || 11/18 || 레밍클레스(이승) ||
         || 11/19 || 에니메이션 버튼(유죠), 윈도우 프레임(유죠), 타이머클래스(박진하+이승) ||
         || 이승 || 레밍 액션 추가기능 ||
  • 로고캐릭터공모 . . . . 4 matches
          * 제출기 : 2005년 1월 24일 ~ 2월 6일
          응모된 작품은 반환하지 않으며 채택된 작품에 대 소유권 및 권리는 제로페이지에 귀속됨
          * 로고는 강희경의 작품이 선정(다양성과 미완결성을 표현, ZP를 형상화 도트이미지)
  • 문원명 . . . . 4 matches
          네트워크를 통해 할 수 있는 간단 놀이 프로그램을 만들고 싶어요.
         수 신중을 기해서 둘 수 있도록 고안했지....ㅋㅋ
         너 송승헌이랑 입대 날짜가 비슷가보구나. - [강희경]
  • 문자반대출력/문보창 . . . . 4 matches
         음 만약에 글과 같은 확장문자가 담겼다면 process_wchar() 함수에서 약간의 꼼수를 부린다. 가상의 예(실제로 이렇게 되지는 않지만, 원리는 같음)를 들어보자. "가나" 라는 문자열을 ver1과 같은 통상의 프로그램으로 뒤집으면 "나가"와 같이 프로그래머가 원했던 결과가 나오는 것이 아니고 "ㅏㄴㅏㄱ"가 나온다. 그렇다면 확장문자를 판단해서 문자열을 뒤집기 전에 "가나"라는 문자열을 "ㅏㄱㅏㄴ" 이렇게 만들어 놓는다면 기존 ver1의 프로세스를 전혀 바꾸지 않고도, process_wchar()만을 추가하는 것으로 원했던 기능을 모두 수행하게 된다.
         ==== ver2 (확장문자까지 판단해서 반대로 다) ====
         // 확장문자를 위 전처리 함수
         === 나테 할말 ===
  • 방학중PC실이용토론 . . . . 4 matches
         구피만 개방인가요? 7층 컴퓨터가 훨씬 사양이 좋은데. 게다가 구피는 Netory가 프로젝트진행차 쓰고 있는걸로 기억합니다. 공부다고 말하고 조교 입회하는거 상관말고 스터디할때 이용하시길. --[1002]
          오늘 제가 조교분께 물어보았을 때는 구피만 개방다고 들었습니다. 조교가 돌아가면서 입회다고 하네요. 열쇠가 조교에게 있어서 상관 안 할 수가 없겠는걸요? --[Leonardong]
         방학이 달 남았네요. 각종 스터디나 프로젝트를 잘 진행하고 계시나요? PC실 사용이 불편해졌는데, 그래도 PC실을 이용하시는 분들은 어떻게 불편을 극복하셨나요? --[Leonardong]
  • 벌이와수요 . . . . 4 matches
         저는 생각이 조금 다릅니다. 공급이 많지만 수요도 많을 뿐더러 양질의 공급이 부족합니다. 단순히 공급 양이 많아서 돈 벌이가 부족하다, 이건 아니다는 거죠. IT 기업에서는 필요 인력이 부족하다고 외쳐대고 있습니다 -- 우리나라 IT 인력이 부족 상황이라는 발표를 많이 접하지 않으십니까?
         IT에 대 환상을 심어준 미디어도 문제라고 봅니다. 중앙고용정보원의 보고서에 따르면, 우리나라 게임 개발자 평균 월급이 175만원이고, 웹개발자 평균 월급은 141만원 밖에 안됩니다.
         그렇지만, 정보시스템 감리사 평균 월급은 345만원입니다. IT 쪽에서도 돈 잘버는 사람은 억대 연봉자가 있는 것으로 알고 있습니다. 하지만, 의사나 변호사와 상대 비교를 하기는 어렵습니다. 그들은 자신의 직업을 획득하기 위해 엄청나게 많은 투자를 사람들입니다. 또, 직업의 성숙도에서 보아도 그들은 소위 자격증, 즉 직업을 얻기 위해 자격증을 따야하는 "전문직"(profession)의 단계에 이르렀지만, 컴퓨터 쪽은 아직 요원합니다(스티브 맥코넬 같은 사람은 이런 자격증 제도가 빨리 이뤄져야 다고 역설합니다).
  • 사과나무/과제방/1회차/김도익 . . . . 4 matches
         scanf() 함수는 입력란을 만들어 자료를 입력받는 함수입니다. 입력된 자료는 매개변수로 지정 변수에 대입됩니다. 문장 형식을 통해 입력된 자료를 변수에 대입다는 점에서 변수의 값을 문장 형식에 사용하는 printf() 함수와는 출력 방향이 반대인 셈입니다
          * printf("형식",형식에 필요 요소들 ... ) 형식으로는 %d, %lf, %s ... 등이 있다. 이런걸 바랬는데 내가 과제 설명을 너무 대충 해줬구나, my fault - [고종]
  • 상협/인공지능/오목 . . . . 4 matches
          * 2003.2.3 : 여전히 중복이 좀 있긴 하지만 일년동안 더 공부 짠밥이 있어서인지 잘 작동하지 않았던 기능들도 다 작동하게 함으로서 인공지능도 상당히 향상시키면서 동시에 소스 라인수는 대폭 줄임. 4200 -> 2300..
         || 번호 || 및 방어(공격 방어가 같은 함수) || 구현 유무 || 간략 설명 ||
         || 11 || 3->4 방어시에 2군데중 더 유리곳에 두기 || 진행중 || ||
         || 12 || 기타 잡다거(기억도 안난다 -_-) || 0 || ||
  • 새로운위키놀이 . . . . 4 matches
         [부드러운위키만들기]의 가지방법인 [위키설명회2005] 행사중에 실시하는 놀이의 종합페이지
          추가할 글을 메모장에 미리 적어 놓고 짧은 시간에 수정하는 것도 요령입니다. - 이승
         || [장이슬] || [이승] ||
         || [이승] || . ||
  • 새싹-날다람쥐 6월 10일 . . . . 4 matches
         은 메모리 상의 어느 곳에 (sizeof(char)*100)byte만큼의 공간을 할당하고 그 주소를 반환다.
         그리고 d는 char*형태이기 때문에 Casting을 해 주어서 (char*)malloc(sizeof(char)*100); 와 같은 형태가 되어야 다.
         이 free는 가장 하위 포인터에만 사용이 가능하다. 따라서 array를 모두 free시키려면 for문을 돌려서 free(array[i])와 같이 모두 없애준 후에 free(array);를 해야 다.
         하지만 간단 프로그램에서는 이렇게 해 줄 필요가 없다. 프로그램을 종료시키면 알아서 OS가 가져가기 때문에.
  • 새싹교실/2011/學高/8회차 . . . . 4 matches
          * 아래 소스코드를 큰 틀로 해서 recursive function을 이용하여 하노이의 탑 시뮬레이션 프로그램을 작성하라(이동 상황을 출력다, 전역변수를 이용하여 횟수를 카운트하게 하여 H_n = 2*H_n-1 + 1 점화식에 맞는 답이 나옴을 보여야다.)
          * 음... 헤더는 제가 실수거구요. 하노이의 탑을 짤 때 제대로 짰는지 확인해보라는 의미로 count를 넣었기 때문에 굳이 함수의 형태를 건들기보단 전역변수를 임시로 선언해서 쓰는것이 더 좋을 것 같아서 이렇게 작성했습니다. - [윤종하]
          * index는 0부터 시작
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.3.15 . . . . 4 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 오늘 2시에 6피에서 새싹교실을 처음했다. 박성현 선생님께서 위키 편집법을 가르쳐주셨다. 쫌만 더 해보면 금방 익숙해질것 같다. 앞으로 새싹교실에서 더 유용걸 많이 배우게 되겠지??:) - [송치완]
          * 오늘 새싹교실에서 6피에서 위키의 작성법에 대해서 배워보앗다. 생각 것보다는 상당히 쉬운 편인 것 같았다. 위키를 작성하는 맛(?)을 알게 되었다. 나중엔 직접 위키 페이지를 작성해봐야겠다. - [장용운]
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.4.6 . . . . 4 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 하나의 언어에 얶매이지 않는 다양 접근 방법이 돋보인다 ㅋㅋ 굉장히 잘했음!! - [박성현]
          * '고바기'라는 변수 이름이 돋보인다 ㅋㅋㅋ bit연산자인 XOR연산자(^)를 사용해서 조건판단을 것도 독특하다 ㅋㅋ 잘했음! ㅋㅋ - [박성현]
  • 새싹교실/2011/쉬운것같지만쉬운반/2011.5.17 . . . . 4 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * C 언어의 주요 특징인 포인터를 배웠습니다!! 역시 포인터를 보면 반갑기도 하지만 반갑지 않기도 했습니다 ㅜㅜ. 역시 포인터는 사랑할 수 없는 대상이군요... 요태까지 날 미행고야? ㅜㅜ
  • 새싹교실/2012/새싹교실강사교육/2주차 . . . . 4 matches
         2. 과제 검사, 수업을 받고 전주의 내용 물어보기, 그리고 주간의 일 물어보기. 강의시간 물어보기.재미있는 과목과제. 등
          select = getch(); //getch()는 char형 글자를 받아주는 함수.
         2. 코딩 Q&A(모른다면 가르쳐주고, 배워야 다면 적으세요! 공백은 적으라고 있는 것 입니다)
         ACM의 간단 문제를 풀어보겠습니다. 강사의 역량과 학생의 역량에 맞춰서 풀어주세요 *^_^* 뿌잉뿌잉~!
  • 새싹교실/2012/아우토반/뒷반/4.6 . . . . 4 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          *원래는 별찍기를 할 예정이었던 것 같던데 내 코딩실력이 매우매우 형편없었기에 기초부터 강의를 해 주셨다.다 아는것을 꾸역꾸역 들었을 태헌이테 미안 감정이 들락말락 하는 듯.일요일 와서 별찍기 실습을 했지만 그야말로 멘붕하고 끝이났다.가르쳐주는 선배들도 매우 답답하셨겠지.시험기간이 지나면 코딩도 점차 익숙해 지겠지 라는 생각을 했다. - [박상희]
  • 새싹교실/2012/열반/120326 . . . . 4 matches
         int f(int x); // 정수(정의역) x를 인자로 받아 정수(공역)를 반환하는 함수 f 를 '선언' 것입니다.
          * 목표 : f(x)=x²와 유사 기능을 하는 프로그램을 작성하세요.
          * 재귀함수를 통 별 찍기
          * 이번 수업에는 많은 내용을 못다룬 것 같습니다. 저번 시간에 결석 민규에게 보충수업을 안해줘서 수업이 약간 디뎌진 것 같습니다. 또 함수의 개념을 새싹들이 어렵게 느끼는 것 같습니다. 변수의 스코프를 가르친 뒤 재귀함수로 별찍기를 해볼까 합니다.
  • 새싹교실/2013/록구록구/4회차 . . . . 4 matches
          * 저번주 과제에 대 고찰 (형 변환 등등..)
          * 저번 과제에 대 간단 설명
         ''' 뭔 말이지? 라고 하는 당신을 위 설명 '''
  • 새싹교실/2013/양반/2회차 . . . . 4 matches
          비트 연산자는 수업 시간에 다뤄보지 않았지만 시간이 남으면 번 읽어 보세요.
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 새싹들 보고 후기 적으라고 해놓고서 본인은 안 적었네요. 새싹 진행하는데 있어서 시간이 부족 것 같아서 시간 확보를 어떻게 해야할지를 고민해봐야겠습니다. 과제는 내려고 했는데 딱히 뭘 내야할지도 생각이 안나고 그래서 제어문을 배우면 내줘야 할 듯 싶습니다.
  • 새페이지만들기 . . . . 4 matches
          페이지를 만들기 전에 페이지의 양식이 될만 템플릿들이 제시된다.
         '''방법 2(권장)'''. EditText를 뒤 편집하는 장소에 {{{[["페이지이름"]]}}} 을 쓴다. 그리고 나서 그 페이지를 보면 해당 페이지이름이 붉은색으로 링크가 걸릴 것이다. 해당 페이지이름을 클릭하면 새 페이지를 편집할 수 있으며, 해당 페이지가 만들어지고 난 뒤부터는 일반링크가 걸린다.
         <!> '''필독사항'''. 페이지를 만들기에 앞서 [["페이지이름"]] 에 대 안내를 읽어 본다.
         개인적으로 Zeropage에서는 후자의 방식('''방법 2''')이 일단은 주제를 흐트러트리지 않는다는 점에서 권장다. - 강석천
  • 선희 . . . . 4 matches
          * 첫째날 : 오리엔테이션과 간단 Toy Program 작성.(그러나 간단하지 않았다 -ㅁ-;)
          2:54 현재 문제도 못품.-_- 미치겠음. 차라리 수학문제를 풀라고해 ;ㅁ;
          * 첫째날 : 오리엔테이션과 간단 Toy Program 작성.(그러나 간단하지 않았다 -ㅁ-;)
          2:54 현재 문제도 못품.-_- 미치겠음. 차라리 수학문제를 풀라고해 ;ㅁ;
  • 수학의정석/방정식 . . . . 4 matches
         문제: 강물이 흐르는 속력은 xkm/hr 이다. 이 강을 따라 ykm의 거리를 배로 왕복하는 데 t분 걸렸다고 다. 이 때, 잔잔 강물 위에서의 이 배의 속력을 구하여라.
         수학을 풀어서 간단 식으로 나타내어 결과를 출력해도 좋다.
         이 페이지의 목적이기도 하다. 최대 효율적인 알고리즘을 창출하는 것이다.
  • 스네이크바이트 . . . . 4 matches
         윈도우 프로그래밍에 필요 약 300여 개의 클래스를 계층구조적으로 구현해 놓은 클래스 라이브러리이다.
         객체 지향 프로그래밍이란 마디로 말해, 프로그램을 만들 때 이 세상의 오브젝트를 프로그램을 구성하는 기본 단위로 해서 만들겠다는 의미이다.
         대형 프로그램을 작성할 때, 모든 것을 꺼번에 생각해서 만들기는 너무 복잡하다. 그래서 작은 단위로 나누어서 만든다. 객체 지향 프로그래밍에서 그 단위가 바로 '클래스'이다.
         링크드리스트를 이용 노드 추가
  • 안혁준 . . . . 4 matches
          * 각종 잡다 번역 <- 시켜서 해보니깐 됨.
          * ~~nhn 오픈 퍼블리싱 팀(이라쓰고 오픈소스팀이라고 말다)에서 nForge 4.0개발 중.~~
         == 잡다 문서 ==
          * 뭔가 신기 링크들이 많네요?? ㅎㅎ. -[김태진]
  • 얼굴빨개지는아이 . . . . 4 matches
         아무리 천천히 읽어도 시간이면 읽을 수 있는 분량인데, 절대 감동이 덜하거나 내용이 빈약하지 않다. 마르슬랭 까이유와 르네 라토는 친구다. 갑작스레 라토가 이사간 이후, 커서 다시 만난다. 그리고 행복 우정을 이어나간다.
         ''사람들은 우연히 친구를 만나고, 매우 기뻐하며, 몇가지 계획들도 세운다. 그러고는, 다신 만나지 못다. 왜나하면 시간이 없기 때문이고, 일이 너무 많기 때문이며, 서로 너무 멀리 떨어져 살기 때문이다. 혹은 다른 수많은 이유들로.''
  • 우주변화의원리 . . . . 4 matches
          * 서론 : 이책은 작년 2학기때쯤에 산거 같다. 그때 과외 교재 사러 갔다가 책이나 하나 살까 하는 생각을 했다.(평소에 그냥 이유없이 책 사는 경우는 번도 없었던거 같다. ㅡㅡ;;) 그때 눈에 띈게 이책이다. 내가 원래 철학이나 동양 사상에 관심이 평소부터 있었는데 이 책을 보니 웬지 모르게 그냥 끌려서 사게 되었다. 그런데 문제는 이 책을 사놓고 40쪽 정도 읽고 나서는 번도 안읽었다. 지금까지 ㅠㅜ. 그런데 다시 읽게된 동기는 www.no-smok.net 에서 창준 선배님이 이책을 추천하는 글을 보고 나서, 괜찮은 책인가 보다 하는 생각이 들어서 번 읽어 보아야 하겠다고 결심을 하게 되었다. 그런데 이책은 읽는데 이기적인 유전자보다 더 오래 걸릴거 같다. 그래서 아예 하루에 1~2페이지씩 읽고 그 읽은거에 따른 감상을 여기에 몇자씩 적어 나가야 겠다. 그게 더 확실할거 같다. 이제부터 채워 나가야지.~
  • 이름짓기토론 . . . . 4 matches
          ZeroWiki - 최광식군의 아이디어. 옆집 메뉴판에 달기 위 축약의 결정체.[[BR]]
          * zero라는 말을 어디서 많이 쓰고 있지 않아? 흠. 다른 좋은거 없을까. 아 그리고 Zeropage가 아니라 ZeroPage 라고 caucse게시판에 언급 글이 있던데 지키자 쩝 --;; 그러고 보니 Font Page도 Front를 Zero로 바꾸어도 의미가 통하네 그것참 묘하네.. -상민
          난 단어에 여러 뜻이 있는거 좋더라 FrontPage 는 어찌 보면 ZeroPage 해도 좋을듯 데 이거 바꾸면 차후 관리에 지장많아? 지금에서 10년후에 학회에서는 메모리의 ZeroPage보다 선구자의 ZeroPage의 의미만 남을지도..--상민
  • 이병윤 . . . . 4 matches
          1 먼저 '학과기본수업조회' 페이지를 얻어온뒤 파싱다.
          1 파싱결과를 통해 신청하고자 하는 과목의 여석이 존재하는지 확인다.
          1 여석이 존재할경우 수강신청 페이지를 요청하여 신청다.
          - 장바구니 페이지를 얻어온뒤 파싱다.
  • 이연주/공부방 . . . . 4 matches
         ==== 화면 출력제어에 대 연습 ====
          2 ∼ 9 까지의 구구단을 화면에 출력하는 프로그램을 작성하시오.
          * 잡다 궁금증 : %d 랑 %2d 차이는 눈으로 확인했습니다만 왜 이렇게 되는거에요?
         ==== 포인터 처리에 대 연습 ====
  • 이영호/문자열검색 . . . . 4 matches
         strstr, strcase, strspn등과 비슷 함수를 제작하는 것이었다면 이 답은 틀렸다.
         // while 고치기 귀찮다. while을 무 루프 돌리고 Ctrl-C를 정상적인 종료로 바꿔 끝내자.
          fgets(buf, sizeof(buf), stdin); // 문자열이라고 했으니 space를 포함다.
          buf[strlen(buf)-1] = '\0'; // stream으로 받은 \n을 제거다.
  • 장용운 . . . . 4 matches
          * 신의 탑에 도전 F의 연금술사
         == 직접 작성 소스 코드 ==
          *API랑 PHP 배우면 좋음? 프로그래밍하는데 둘러보니까 이거 두개 코드 무지 짧은데 뭔가 대단하던데 ;;;; - [고종]
          * 내 페이지를 업데이트다 (2015.3.12) [장용운]
  • 정규표현식/스터디/메타문자사용하기/예제 . . . . 4 matches
         === 풀이 - 이승 ===
         === 풀이 - 이승 ===
         == 문제 - 이승 ==
         === 풀이 - 이승 ===
  • 정규표현식/스터디/반복찾기/예제 . . . . 4 matches
         === 풀이 - 이승 ===
         === 풀이 - 이승 ===
         == 문제 - 이승 ==
         === 풀이 - 이승 ===
  • 정규표현식/스터디/예제문제/이승한 . . . . 4 matches
         2. 1410번 대의 값만 표시다.
         3. 1300 번대의 값만 표시다.
          * [김준석] - [정규표현식/스터디/예제문제/이승/1번문제/김준석]
         === 이승 ===
  • 정모/2002.7.25 . . . . 4 matches
          * 참여인원 - 18(21)명;모임후 회의에 불참 인원 포함하면 괄호
         시스템 업글을 위 회비 걷었나요? 시스템 업글 날짜 잡으려면 번에 걷는게 편하실것임. 그리고 재학생/졸업선배와의 자리에 대 언급이 없군요. (이에 대해서 꼭 회의할 필요는 없을것 같고, 기획하는 사람 중심으로 날짜/연락하시길) --["1002"]
  • 정모/2004.10.5 . . . . 4 matches
          * PageFlipping 구현 ( DoubleBuffering 보다 단계 더 복잡 TrippleBuffering )
          * 스네이크바이트 - MFC(C++) 스터디 - 일주일에 번 2시간 모임 - 길다, 많은 것을 배울 수 있다
         에고고. 역시 시간이 잘 안맞네요. 학교 근처에서 살면 잘 갈수 있겠죠?? 죄송합니다. -- [이승]
  • 정모/2005.12.29 . . . . 4 matches
          - 김상섭, 남상협, 황재선, 송수생, 문보창, 허아영, 조현태, 이선호, 이도현, 유선, 이규완
          || 알고리즘 || 간단 문제들을 풀어나갈 계획 ||
          - 담당교수님이 필요가에 대해 생각해봄.
         = 토의 내용 =
  • 정모/2005.9.5 . . . . 4 matches
          * 개강총회 형식으로 간단 뒷풀이가 있었습니다.
          * 참가자 : 이승, 조현태, 허아영, 이재혁, 김태훈, 박경태, 정수민, 신혜지, 이연주, 장이슬, 임수연, 윤성복, 남도연, 김영록, 김재성, 노상현, 송수생, 석지희, 김민경, 이정직, 신재동, 박종필
          * 저고학번이 팀이 됨. 학생회 점검표를 활용다. 매달 조를 바꾼다. 담당제. 정도의 이야기
  • 정모/2007.1.12 . . . . 4 matches
          2. 앞으로 회의는 1주일에 번씩( 제로페이지 정책 참여를 원하는 사람들만 참여) -> 의사결정, 아이디어 회의
          3. 정모의 컨셉-> 함께하는 자리(올수있는 사람 모두 참여) : 회장, 부회장, 회원이 모여 잡담과 정보공유(정모의 핵심!!), 의사결정(간단 결정사항들)을 하는 자리, 자기자신을 발전시키는 자리.
          참신 아이디어 권장.
          나온의견들 : 저렴 -> 우이동, 춘천,
  • 정모/2007.1.19 . . . . 4 matches
         김정현, 이장길, 조현태, 송수생, 유선, 허아영
          * 적당 비용? - 2만원이하
          * MT날짜는? -> 좀더 생각해보고 사람많이 참여날 확 정해버리자.
          * 일주일에 번씩 정모때 모여 함께 식사를 하니까 식당하나를 정해서 좀더 싸게 먹어보자.
  • 정모/2011.8.1 . . . . 4 matches
          * 참가자 : [김수경], [권순의], [송지원], [김태진], [고종], [황현], [강성현], [김준석],[박성현], [임상현], [서지혜]
          * 구글로 영작하기 신선 주제였음당ㅋㅋ 구글 번역기 쓰는법인가 했는데 처음보는 검색기법이더군요. 성현이는 은근 구글빠인거같아요. 방학동안은 열악 봅스트홀에서 정모를 해야할 것 같습니다. 제2공이 또 공사중이에요. 방학마다 공사하는듯.. 방학중엔 학교 오지 말라는거냐?! - [서지혜]
          * 달만에 가서 밥까지 먹고 왔네요. OMS는 정말 재밌었습니다. 책을 도서관에서 빌리려고 했는데 [http://library.cau.ac.kr/search/DetailView.ax?sid=1&cid=5193829 이게뭐야]... 그냥 사볼까요... 흠 다음번엔 언제 올 수 있을지 모르겠네요. 뒷풀이만 가야할듯 ㅠ.ㅠ - [강성현]
  • 정모/2011.9.5 . . . . 4 matches
          * 참가자 : [권순의],[송지원],[김준석],[임상현],[서지혜],[김수경],[박성현],[강소현],[황현],[경세준],[윤종하], [김태진], [고종], [송치완],[정진경], [이준영] ~~나이순~~
         돌아온 멤버와 처음온 사람을 위 나이순 자기소개
          * 이제야 후기를 쓰는데도 1등이군요.!! 정모에서 그림의 완성도를 높여오라고 하여 끄적여 보았지만 역시 디자인은 쉽지않네요..-; 정모전까지 최대 만들어는 봐야겠어요. -[김태진]
          * (아놔 저놈의 나이순 -_-) 네,, 오랜만에 정모에서 보는 사람도 있었고 새로 본 사람도 있어서 좋았습니다. 만찬(?)을 위해 빨리 끝내느라 많은 이야기가 없었던 거 같기도..? 여하튼.. 미국 만화 주인공.. 엄청 많네요. 영화로 많이 나와 번쯤은 들어본 이름들이지만.. 전체 스토리를 아는게 뭐 없네요 -_-;; (그나마 스파이더맨만 좀 아나..;) 개강 파티 재미있었습니다. - [권순의]
  • 정모/2012.1.13 . . . . 4 matches
          * 참가자 : [김수경], [서지혜], [강성현], [고종], [김태진], [권순의], [임상현]
          * 후보: 권순의, 강성현, 고종, 김태진
          * [OOP/2012년스터디] - 김수경, 고종, 김태진, 이민규
          * 참신 스타일의 OMS 잘 들었습니다. 어떤 책의 "인간은 기대했던 단어가 나오지 않으면 깜짝 놀라게 된다."라는 구절이 생각나네요. 마치 하이든의 놀람 교향곡을 들은 느낌입니다ㅋㅋㅋ.. 회칙 개정은 작년 초에 말했던거 같은데 이제야 과업을 달성(;)하네요. 지난 회장단의 사업을 마무리 해야하는데 조용히 사라진 계획이 몇 있는듯... 새회장님 당선 축하드려요. ZP를 잘 이끌어주시길.. - [서지혜]
  • 정모/2012.1.20 . . . . 4 matches
          * 참가자 : [김수경], [고종], [김태진]
          * 다음주자 : [고종] 학우
          * 그러고보니 다음 OMS 주자를 안 정했네요... 이번주 OMS는 사진에 대 내용이었습니다. 디카덕분인지 요즘 사진에 다들 관심이 많아 더 많은 사람들이 들었으면 재미있었을텐데 정모 참가자가 적어 아쉬웠습니다. 두 가지 선택지 중 하나를 선택해서 들었는데 과연 셀카에 대 내용은 뭐였을지 궁금하네요. - [김수경]
  • 정모/2012.2.10 . . . . 4 matches
          * 참가자 : [김준석], [변형진], [김수경], [서지혜], [강성현], [권순의], [정종록], [고종], [김태진], [이민규], [이진규], [장용운], [임상현], [정진경]
          * 다음주 정모는 신입생 간담회와 --승선배의 세미나때문에-- 6시(는 그대로 유지)에 시작하게 됩니다. 헷깔리지 마세요~
          * 아.. 그러고보니 휴면회원들이랑 활동이 뜸 회원들에게 전화를 번 돌려야 할거같네요. -[김태진]
  • 정모/2012.8.8 . . . . 4 matches
          * 다음 OMS - 고
         갑 에게 이미 구매 책이 있다. (A 4만원) (3년이내 쓸 만 책 - MFC같은거 말고)
         수늬형/태진 테(문서 작성, 학회실 관리? 등등) 장학금??
  • 정모/2013.5.6 . . . . 4 matches
         [고종],[박성현],[조영준],[],[],
          * 교수님께 문의 해본결과 논문급 퀄리티를 요구다고 합니다.
          * 관리가 시급 상황입니다.
          * 좋은 코드를 알아 볼 수 있다고 해서, 우리가 좋은 코드를 쓸 줄 아는 건 아니니 좋은 코드를 쓰는 법을 공부해야 다.
  • 제로페이지의장점 . . . . 4 matches
         나는 잡다하게도 말고 딱 하나를 들고 싶다. 다양성. 생태계를 보면 진화는 접경에서 빨리 진행하는데 그 이유는 접경에 종의 다양성이 보장되기 때문이다. ["제로페이지는"] 수많은 가(edge)를 갖고 중층적 접경 속에 있으며, 거기에서 오는 다양성을 용인, 격려다(see also NoSmok:CelebrationOfDifferences). 내가 굳이 제로페이지(혹은 거기에 모이는 사람들)를 다른 모임과 차별화 해서 본다면 이것이 아닐까 생각다. --JuNe
         학풍이라는 것이 있다. 집단마다 공부하는 태도나 분위기가 어느 정도 고유하고, 이는 또 전승되기 마련이다. 내가 1학년 때('93) ZeroPage에서 접했던 언어들만 보면, C 언어, 어셈블리어, 파스칼, C++ 등 경계가 없었다. 친구들을 모아서 같이 ''Tao of Objects''라는 당시 구하기도 힘든 "전문" OOP 서적을 공부하기도 했다. 가르쳐줄 사람이 있었고 구하는 사람이 있었으며 함께할 사람이 있었다. 이 학풍을 이어 나갔으면 다. --JuNe
         다양성말고도 다른 장점을 들자면, 그룹에 속해있다는 것만으로도 인적네트워크가 넓어지고 각종 회의를 통해 자신의 생각을 표현하는 스킬을 배운다. 제로페이지는 참 회의가 잦으며 잘 진행된다. -[강희경]
  • 주민등록번호확인하기/김태훈zyint . . . . 4 matches
          - 소스 다시 재정렬 해보았는데 뭐 그게그거같긴하다;; 그래도 뭔가 정리되긴듯;
          printf("대민국 국민이네요~ ^^ 안녕하세요!\n");
          printf("대민국 국민이네요~ ^^ 안녕하세요!\n");
         === 나테 할말 ===
  • 중위수구하기/허아영 . . . . 4 matches
          중간수 *b를 출력다.
         === 나테 할 말 ===
         이렇게 바꾸는게 변수도 안낭비하고 좋을 듯 데..^^
         음.. 뭐 단순 내생각이니 특별히 신경쓰지 말라고~ 집에서 할일없어서 하는 소리니..^^ - [조현태]
  • 지금그때2004/토론20040331 . . . . 4 matches
          * 시간 배분관련. 패널 진행방식에 대 진행여부 결정 & 구체화하기
         '''이 활동을 통 배운점'''
          * 효과적인 토론 방식에 대해 배웠다. 저번의 지지부진 실속없는 회의나 평소에의 자봉단 회의 같은 일에 비해 10배 이상 능률이 오른 기분이다.
         '''오늘의 느낀점-단어로~'''
  • 지금그때2005/회고 . . . . 4 matches
         [지금그때2005]를 준비 사람들의 회고.
         [이승]이 신입생이 적음을 자주 언급하여 민망하였다. -[강희경]
          사전에 이에대 소개가 미흡하지 않았나 생각합니다. - [임인택]
         [질문레스토랑]의 질문이 거의 다 신입생이 대답하기 어려운 것들이었다. 적절 질문을 추가해야겠다. -[강희경]
  • 지금그때2006 . . . . 4 matches
         우리가 살면서 경험하고 느낀 소중 것들을 공유합니다. 선후배가 만나 그러 이야기를 나눕니다. 생각이 트이는 경험을 해봅시다. [지금그때]에 참여 이들 사이에 공감대를 형성하고, 좋은 인연을 만들어 갑시다.
          * 기록 후 마땅 페이지에 정리
  • 지금그때2006/질문레스토랑 . . . . 4 matches
          * Q: 변형진 - 재미있게 공부 과목?
          * 이창섭 - 수학이 중요하다. 철학을 기호화 것이기 때문..
          * 이창섭 - 권투에서 명은 다운되어야 하는점이 인생에 교훈이 되었다.
          * 이창섭 - 감정은 순간이니까 휘둘리지 말라고 했던 친구..
  • 채근담 . . . . 4 matches
          * 사실 위에 링크 걸린 책으로 읽지는 않았다. 비싼 관계로.. -_-, 좀 저렴 걸로 어차피 같은 채근담이니 읽었다.
          * 특히 인상 깊었던 구절은 하면 안되는데, 하면 안되는데 (정작 정말 하고 싶은것인데)은 이미 했다고 생각하면 된다는 그런 비슷 구절이다. 이 구절을 담배 피는것에 적용하면 딱이다. 이제 담배 피면 안되는데, 이제 담배피면 안되는데 정말 피고 싶을때는 이미 까치 폈다고 생각을 하는것이다. 담배를 피나 안피나 피고나서 2,3분 지나면 똑같으니깐.. -_-
  • 최대공약수/조현태 . . . . 4 matches
         콜 바이 벨류라도 뭐 편대로 하다보니..;;ㅁ;;
          사용하려다 왠지 함수를 잘못 나눈듯 느낌에 뒤늦게 수정..;;
          이 부분이 했갈리는듯 데..ㅎㅎ음.. 문제네.^^ 남이 봐서 어렵게 작성하다닛..
          아참.. 농활..즐거웠으..^^ 너두 번쯤은 그런데 나와바..^^ 몸은 힘들었지만 말야..^^
  • 컴퓨터를전공하면서꼭알아야할세가지 . . . . 4 matches
         제 소견으로는 컴퓨터를 전공다면 아마도 다음 세가지는 기본적으로 갖춰야 하지 않을까 합니다.
         두번째는 "필로소피"이고, "사이언스"에 해당합니다. 도대체 컴퓨터로 무엇이 가능하고 무엇이 불가능 것인가를 묻는 것이지요. 컴퓨터 공부중에서 가장 이론적이고 학문적인 성격이 강 것입니다. 이게 없고서는 컴퓨터공"학"(보다 적절히는 전산"학")을 했다는 말하기가 좀 그렇죠.(그렇다고 그 효용이 큰 건 아닙니다. 컴퓨터 전공자들의 끊을 수 없는 딜레마기도 하죠.)
         근데 정말 중요 건 이런 것들을 단순히 "아는 수준"에서 끝나지 않는 것이겠죠. --김창준
  • 큰수찾아저장하기 . . . . 4 matches
         {{{~cpp 문제 : 전체 4 * 4 행렬의 공간 중 3 * 3 행렬의 공간에 키보드로 입력을 받아 숫자를 저장 후,
         행렬[3][3]에는 전체 중 가장 큰 수를 찾아 저장 다음, 이들을 깔끔하게 출력하는 프로그램을 작성하여라.
         키보드로 9개의 숫자를 입력하고, 3 * 3 공간에 저장다.
         이런식으로 출력다. (입력된 숫자만)
  • 타도코코아CppStudy/0728 . . . . 4 matches
         == 오늘거 ==
          * 간단 STL
          * 게임 만드는데 필요 간단 프로그래밍적 지식
  • 토이/메일주소셀렉터 . . . . 4 matches
         특정 text안에서 메일 주소만을 골라내 단체메일을 보내기 위 폼(가령 a@b.com, b@c.net,..)으로 변환하여 text로 저장해준다. 여러 단계로 차례차례 나누어 구현
         특정 파일을 읽어들여 거기에 있는 문자들 사이에 공백을 넣어 다른 파일에 저장다. 이때 개행문자는 무시되어야다.
         완료란에는 완료 단계를 넣읍시다
  • 토이/숫자뒤집기/임영동 . . . . 4 matches
          * 입력받은 문자열을 숫자로 변환 뒤 10으로 나눠주면서 그 나머지를 String에 붙여버린다. 그 후 출력.
          }//10으로 나눠서 자리 자리 이동다. 0보다 클 때만 계속 실행
  • 파스칼삼각형 . . . . 4 matches
          숫자를 2개 입력받습니다. 개는 행의 번호, 개는 열의 번호입니다. 결과는 행과 열에 존재하는 파스칼 삼각형 수를 출력하면 됩니다.
          테두리는 1 이고 그 이외의 숫자는 자신의 머리 위에 있는 2개의 숫자를 더 값입니다.
         == 사소 질문 ==
  • 파스칼삼각형/허아영 . . . . 4 matches
         ver.3 파스칼삼각형 코딩다니까. 보창오빠가 흘려가는 말로 "재귀함수로 짜면 되지 않냐" 고 했던 말이 생각나서
         짜봤다. 메모리 낭비없이 깔끔하긴 데, 제대로 짠건지 모르겠다. 재귀함수는 어쩔 땐 헷갈린다.
         === 나테 할 말 ===
         그러니 자세 사항은 필요할때 '자기야'에게 물어보라구^^ - [조현태]
  • 파이썬으로익스플로어제어 . . . . 4 matches
          * ie의 type이 instance라고 나오는데, ie가 사용할 수 있는 메소드(맞나요?)에 대 설명이 있는 문서가 어디 있나요? 어제 보여주신 id, pw를 입력폼에 넣는 메소드 및 사용법을 알고 싶어요. -- 재선
          자세 내용은 http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/objects/internetexplorer.asp 에의 컴포넌트들을 참조하세요. 주로 알아야 할 객체는 WebBrowser, Document 객체입니다. (login 예제는 나중에~) --[1002]
          IE Automation 을 이용 것이므로, firefox 나 opera 의 경우는 다른 방법을 이용해야겠죠. --[1002]
          * 생성 객체를 삭제할때는 del ie
  • 프로그래밍잔치/첫째날 . . . . 4 matches
          * ZeroWiki를 사용할때 지켜야할 제 1 원칙을 제시 다.
          * 다양 언어 혹은 Frameworks로 문제 풀기
          그룹별 진행자가 존재하고, 위키 좋은점, 나쁜점(불편점) 으로 나누어 진행
          * 개개인 전부 마디씩
  • 학회간교류/08 . . . . 4 matches
          1. 토의를 위 오프모임
          1. 실제 모임을 위 준비
          * 자람에 연락은 제가 하고 TGWing에는 승형이 하기로. 일단 연락에 대 회답이 오길 기다림 2008.11.30 - [김홍기]
  • 행사 . . . . 4 matches
          * 3월달에 준비를 시작으로 보통 4~5월에 개최다.
          * 책 기증과 함께 만담을 나눌 수 있는 기회를 제공다.
         * 2001년부터 출전을 시작하여 뜸 뒤 최근 다시 출전하게 되었다.
         ZeroPage의 다수 인원(단체)이 참가 행사.
  • 황현/Objective-P . . . . 4 matches
         Objective-J의 경우처럼, 클래스의 선언과 정의를 동시에 다. (사실 PHP의 구조상, 이럴 수 밖에 없다.)
         다만, @implementation만 사용하면 @interface가 외로워하니까, 인스턴스 변수의 선언에는 @interface를 사용하도록 하고, 메소드 선언 및 정의에 @implementation을 사용다.
         컴파일 이후, 위 코드는 최종적으로 다음과 같이 변해야 다. (PHP 5 객체 모델)
         GNAssert()의 경우, 두 번째 인자로 @"문자열"을 받지만, 결과적으로는 컴파일 이후 GNString으로 변해야 다.
  • 회원 . . . . 4 matches
          * ZeroPage 정회원, 준회원, 활동회원 등 회원 관리를 위 페이지.
          * 21기 - [김태진], [고종], [정진경], [장용운], [이민규]
          * 21기 - [김태진], [고종], [정진경], [장용운], [이민석], [이진규], [이민규]
          * 21기 휴면 - [추성준], [고종], [장용운], [이민석], [이민규], [이진규]
  • 2002년도ACM문제샘플풀이/문제A . . . . 3 matches
          * 두시간은 걸린거 같다--; 문제를 제대로 읽어보지 않은 탓이다. 무슨 찌그러진 사각형을 생각하다니--; 미친거 아닌가 모르겠다.
         // sort 함수는 #include <algorithm> 다음
         // 저것도 #include <cmath> 다음, abs(값) 하면 끝남
  • 2004여름방학MT . . . . 3 matches
         == 해 볼만 것 ==
          * 돈은 왜 내는거지? 회비가 부족가? --[구자겸]
          * 헉; 내일이네? -_-;; 알바땜에 힘들듯 데; 제로 모임은 늘 뭔가랑 겹친다ㅠㅠ --진하
  • 2005summerMT . . . . 3 matches
         가장 중요 회비는?? --재동
          그담으로 중요 장소는?
         예상 인원이라고 뭉뚱그려 20명 하지 말고 확실 참가 인원이 누구인지 적도록 해. 인원 관리가 될 수 있도록. --재동
  • 2010JavaScript/강소현/연습 . . . . 3 matches
         image map은 역전재판에서 열심히 증거물을 수집하려고 배경을 여기 저기 눌러 볼 때에 적당 거 같다 'ㅁ'
          ....... 차라리 css로 좀 더 세부적으로 분류 다음에 사용하는게 나을듯??
         <!-- rect는 x1,y1(왼쪽위),x2,y2(오른쪽아래)의 좌표를 지정 직사각형-->
  • 2010JavaScript/역전재판 . . . . 3 matches
         = 대사 파일을 첨부 HTML =
         위의 HTML파일에다가 JavaScript를 더것.
          <!--여기서 부터 첨가 부분.-->
  • 3N+1Problem/강희경 . . . . 3 matches
         파이선으로 재귀호출을 번 구현해보았으나, 엄청 느리다.
         2. 범위 안에 어떤수의 2의 배수가 있는 경우(또는 (x - 1)/3이 있는 경우) 1과 같은 이유로 그 수는 최대값에서 배제다.
         범위(Range)를 인위적으로 줄여야다는 결론에 도달.
  • 5인용C++스터디/API에서MFC로 . . . . 3 matches
         === 윈도우즈 프로그래밍에 필요 요소들을 클래스로 포장 ===
         === 매크로와 가상함수를 이용 메시지 처리 ===
          * ClassWizard - 클래스의 함수 오버라이딩, 메시지 처리 등 복잡 과정을 자동으로 처리해주는 툴.
  • 5인용C++스터디/메뉴와단축키 . . . . 3 matches
         실행창의 주메뉴 핸들을 구하여 *cmenu에 대입하고 주메뉴의 첫번째 부메뉴판의 핸들을 구다.
         cmenu(주메뉴의 첫번째 부메뉴판이 기억되어있는)를 좌표 (point.x, point.y) 이후에 표시다.
         0은 메뉴판이 마우스 커서 오른쪽 아래에 표시되게 다.
  • 5인용C++스터디/클래스상속 . . . . 3 matches
         하지만 상속하려면 private값을 이 기본 클래스에서 상속 클래스에서 직접 엑세스 는 것을 혀용하고 싶을 것이다.
         이에 protected키워들를 사용해서 현재클래스와 상속하는 클래스에게만 엑세스를 허용다.
  • 5인용C++스터디/템플릿스택 . . . . 3 matches
         || 조재화(동적할당으로) || Upload:Mr.CHO_StackByTemplat2.cpp || 동적 할당으로 처리 것은 잘 했고.. 언더플로우 처리가 있으면 더 좋겠음. ||
         || 문원명 || Upload:StackTemplateMwm.cpp || 잘 했으나.. pop 함수에서 꺼낸 값을 리턴시도록 만들라고 것 같은데... ||
         || 황재선 || Upload:TemplateStack_JS.cpp || exit 함수로 종료것만 빼고는 잘했음..ㅋㅋ ||
  • 8queen/손동일 . . . . 3 matches
         //처음에 첫째 줄에 칸을 잡는다...
          // int x = rand(); // rand()함수는 랜덤 숫자를 리턴하는 함수입니다.
         //줄에 0 이 표시 된후에 하나씩 돌아야 하네..... 흠... 어렵다... ㅡㅜ;;
  • AI세미나 . . . . 3 matches
         Artificial Intelligence (인공지능)에 대 세미나.
         세미나 시간은 2시간으로 컴퓨터 공학과 저학년도 들을 수 있을 정도로 쉽습니다. 그리고 간단 실습도 있습니다.
         http://www.red3d.com/cwr/boids/ - 불과 몇 가지 규칙으로 진짜 새처럼 보이게 다.
  • AM/20040629첫번째모임 . . . . 3 matches
          * 진행 방식 : 각자 정해진 분량을 공부하고 정모에 팀원들이 번갈아 가면서 공부 내용을 세미나다. 질문답변하며 피드백하는 과정을 갖는다.
          * 목표 : MFC의 원리를 이해하고 적용다.
  • AM/20040724다섯번째모임 . . . . 3 matches
          * 공부 내용 : API 교재 7장(컨트롤)
         == 모임 후 정 내용 ==
          * 파일이름에 공백있으면 링크 안된다, 글구 ppt 진짜 이쁘게 준비했네... 근데 중요하지 않다고 생각 스크롤바는 2줄로 끝내버렸군. --세환
  • AM/20040806아홉번째모임 . . . . 3 matches
          * 공부 내용 : MFC 교재 3장(GDI를 이용 그래픽)
         == 모임 후 정 내용 ==
  • APlusProject/QA . . . . 3 matches
         Upload:TestChase.zip - n-unit 테스트 거 정리 글파일입니다-- 윤주 6월4일 이거는 다른 사람이 다운 받을 필요 없는 제 정리 문서입니다.
  • Ajax . . . . 3 matches
         웹 상에선 요새 참 인기인 중인 기술. RichInternetApplication 은 Flash 쪽이 통일할 줄 알았는데 (MacromediaFlex 를 보았던 관계로) 예상을 깨게 하는데 큰 공로를 세운 기술.;
         MacromediaFlex 가 인기를 끌지 못 이유? 글쌔. 서버 대당 2만달러가 넘는 비싼 라이센스 때문이 아닐까. -_a -[1002]
  • AnEasyProblem/강성현 . . . . 3 matches
          * 1의 갯수를 구뒤에 i를 하나씩 늘려가면서 1의 갯구를 비교
          * 처음엔 배열로 하려고 했다가 복잡거같아서 걍 포기. 그냥 편하게 것 같네요. 바로 accept 돼서 좀 놀람
  • AnEasyProblem/강소현 . . . . 3 matches
          * 클래스 이름은 항상 "Main"으로 해주어야 합니다. 깜찍 poj 같으니:)
          * 2^20 = 1048576 으로 1000000보다 크니까 배열의 크기를 20으로 잡았었는데, 1과 0을 옮기면서 이 숫자보다 더 커지는 경우를 고려하지 못했습니다. 그 결과 1~1000000 중에서 4개의 숫자가 맨 앞의 1이 짤려서 숫자가 작게 출력된! ;ㅅ; 언뜻 보길래 맞은 줄 알아서 뻘짓을 많이 ㅋㅋ poj는 죄가 없어! 내가 바보임 ㅠㅠ
         || 자연수 I || 기대 값 || 실제 값 ||
  • Applet포함HTML/영동 . . . . 3 matches
         * 음... HTML 컨버터로 컨버트하긴 했는데 ftp사용법을 몰라서 계정에 올리는 법을 모르겠네요. 그러 관계로, 상욱이처럼 파일 내용만 올릴게요. ftp쓰는 법 배워서 링크시킬게요... [http://165.194.17.15/pub/util/WinSCP2.exe WinSCP 2.0 Beta]
         음... 계정에 올린 다음 링크를 시켰는데 이상하게 안 되네요. 경로도 맞고 권도 문제 없을텐데...
         DeleteMe 가지 지적하고 싶은데요. jre 의 버전이 낮은것으로 applet 링크가 세팅되어 있어서, 최신 버전의 jre의 pc라도 jre 1.4.0_03 을 설치하려고 하는군요.
  • AustralianVoting/문보창 . . . . 3 matches
         Presentation Error를 잡아야 다. 수행시간과 메모리사용량 또 만족할 만 수준이 아니다.
  • BasicJAVA2005/실습2/허아영 . . . . 3 matches
          //레이아웃을 구성다.
          //컨텐트 패인을 얻고 레이아웃을 설정다.
          //버튼을 생성하여 추가다.
  • BasicJava2005/3주차 . . . . 3 matches
          * 그 이외의 패키지는 import를 해야 다.
          * Java에도 MS의 MSDN같이 사용자를 돕는 메뉴얼이 존재다.
          * [http://pllab.kw.ac.kr/j2seAPI/api/index.html] : 글 5.0 API 문서
  • Bigtable/분석및설계 . . . . 3 matches
          * GFS는 전체 테이블을 scan해야 다.
          * 지금까지 것들 그림등으로 정리해서 보여주기
          1. 오프셋을 이용 기록 -> 원형 자료구조
  • BlogChangesMacro . . . . 3 matches
         특정 페이지에 대 blog rss
         전체 페이지에 대 BlogChanges
         특정 페이지에 대 BlogChanges
  • BookShelf/Past . . . . 3 matches
          1. 우리가꿈꾸는행복이혼은없다 - 20040129
          1. 강회사는회의시간이짧다 - 20050317
          1. 실용주의 프로그래머를 위 CVS - 20050404
  • C++ . . . . 3 matches
         C++은 범용성을 가진 컴퓨터 언어이다. 이는 정적으로 분류된(?) 다중 패라다임을 지원하는 언어이다. ( [:절차적프로그래밍 절차적 프로그래밍], [:GenericProgramming 제네릭 프로그래밍]을 지원다.) 1990년대에 C++은 가장 상업적으로 인기가 있는 언어중의 하나가 되었다.
         벨 연구소의 [http://www.research.att.com/~bs/homepage.html Bjarne Stroustrup]은 1980년대에 당시의 [C]를 개선해 C++을 개발하였다. (본디 C with Classes라고 명명했다고 다.) 개선된 부분은 클래스의 지원으로 시작된다. (수많은 특징들 중에서 [가상함수], [:연산자오버로딩 연산자 오버로딩], [:다중상속 다중 상속], [템플릿], [예외처리]의 개념을 지원하는) C++ 표준은 1998년에 ISO/IEC 14882:1998로 재정되었다. 그 표준안의 최신판은 현재 ISO/IEC 14882:2003로서 2003년도 버전이다. 새 버전의 표준안(비공식 명칭 [C++0x])이 현재 개발중이다. [C]와 C++에서 ++이라는 표현은 특정 변수에 1의 값을 증가시키는 것이다. (incrementing이라 함). C++이라는 명칭을 이와 동일 의미를 갖는데, [C]라는 언어에 증가적인 발전이 있음을 암시하는 것이다.
  • C++스터디_2005여름/학점계산프로그램/정수민 . . . . 3 matches
         나름대로 열시미 =ㅅ=
         == 나테 할 말 ==
          모르긴 몰라도 이정도면 잘고 같운데..ㅎ 숫자를 앞에 상수로 선언하면 더욱더 좋겠지만...ㅎ 구래두 잘해떵~>ㅁ<:;
  • CarmichaelNumbers . . . . 3 matches
         어떤 정수가 이러 페르마 테스트를 여러 번 통과하면 그 정수는 소수일 가능성이 높다고 할 수 있다. 하지만 안 좋은 소식도 있다. 합성수(소수가 아닌 수) 중에는 그 수보다 작은 모든 정수에 대해 이 페르마 테스트를 통과하는 것도 있다. 이런 수를 카마이클 수라고 부른다.
         주어진 정수가 카마이클 수인지 테스트하기 위 프로그램을 만들어라.
         입력된 각 수에 대해 아래에 있는 출력 예에 나와있는 식으로 그 수가 카마이클 수인지 아닌지를 판단 결과를 출력하라.
  • CartesianCoordinateSystem . . . . 3 matches
         프랑스 수학자 데카르트(Descastes)가 제안 좌표계. 그의 이름을 따서 Cartesian 좌표계라 명명다.
         물제의 위치를 2개의 점의 교차점이라는 개념을 통해서 표현다.
  • ChangeYourCss . . . . 3 matches
         || 누르스름 바탕. 디폴트에서 배경색만 바꾼 색. 링크색과 비슷 갈색계열이라 왠지 모르게 편안하고 아늑..^^; || /~wizardhacker/cgi-bin/MoinMoin/wiki-moinmoin/wizneo.css ||
  • CodeRace . . . . 3 matches
         코드 레이스는 팀 단위 실시간 프로그래밍 경진 대회입니다. 온라인게임이나 바둑, 혹은 스포츠 중계를 컴퓨터 프로그래밍에 적용하면 어떨까요? 코드 레이스는 10여팀이 동시에 같은 문제를 두고 프로그래밍을 하고, 이 모습이 실시간으로 벽에 투영되며, 해설자들은 관중과 교감해가며 그들이 두는 코드 수를 해설하는 독특 행사입니다.
  • CompleteTreeLabeling/조현태 . . . . 3 matches
          일단 만들기는 했지만.. 조건을 만족시키지 못다.
          물런 나름대로 머리를 굴려서 계산양을 줄인건데.. 조속 시일내에 해결책을 구상해서 수정하도록 하겠다.^^*
          아..그리고 그 결과값을 넣을 만 변수도 없.. 너무 크잖아..;;
  • ConstructorParameterMethod . . . . 3 matches
         Constructor Method로 인스턴스를 만들때, 그리로 넘겨준 파라메터들을 새롭게 만들어진 인스턴스로 어떻게 갖고 오는가? 가장 유연 방법은 각각의 변수에 대해 setter들을 만들어 주는 것이다. 즉,
         이렇게 되는것이다. 하지만 변수가 많아질수록 setter들은 계속 늘어난다. 이럴때에는 모든 변수를 번에 set해주는 하나의 메소드를 만든다. 그리고 접두사를 set으로 명명해주고 변수의 이름을 딸려준다.
          void setXnY(int x, int y) // smalltalk에서는 setX:xNum y:yNum이라는 메세지를 사용다.
  • CppStudy_2002_1/과제1 . . . . 3 matches
         = 각 소스에 대 도움말 =
          * 문제1번 : 여기서도 전역 변수를 많이 사용거 같다. 이것은 피하는게 좋다. 여기서 함수가 호출 갯수를 알아야 하는데 이때는 static 이라는 키워드를 사용하면 된다.
  • CrackingProgram . . . . 3 matches
         7/26일 두번째로 발표 주제입니다
         == 간단 프로그램 ==
         == 간단 암호입력 프로그램 ==
  • C언어정복 . . . . 3 matches
         학생 : 06학번 최재문, 06학번 상모
         밑에 수업 내용을 참고하여 내용정리를 해서 올려주세요~~
         ==== 수업 내용 ====
  • C언어정복/3월30일 . . . . 3 matches
         ==== 오늘 공부 것 ====
         10. Visual Studio로 간단 디버깅 시연
         12. 대입 연산자의 간단 설명
  • DataStructure/Queue . . . . 3 matches
         == 배열로 구현 Queue ==
          * 원소를 90개 넣고 그 원소를 90개 다지우면? Front와 Rear가 각각 89를 가리키게 되겠지요? 그럼 남는 공간은 10-_-개밖에 안됩니다.
          * 이를 보완하기 위해 원형 큐라는게 있더랍니다. 또는 링크드 리스트로 큐를 만들어서 제없이 쓰는 방법도 있겠죠.
  • DebuggingSeminar_2005/AutoExp.dat . . . . 3 matches
         Watch 창에서 표현되는 표현을 정의 파일이다. (파일은 VC 디렉토리에서 검색을 하면 나온다.)
         내가 만든 형태도 여기에서 일반형으로 표현이 가능하다. (수정은 좀해야다.)
         Visual C++ .net 에 있는 파일이다. {{{~cpp C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Packages\Debugger}}} 에 존재다.
  • DebuggingTip . . . . 3 matches
         기본 예제와 같은 작업을 했는지 확인다.
         바른 입력값을 주었는지 확인다.
         눈 앞에 보이는 문제를 해결하기 보다는 본질이 무엇인가 생각해야 다. 왜 잘못되었는가?
  • DermubaTriangle/허준수 . . . . 3 matches
         오답 잡던 도중에 친구가 소주잔 하자고 해서.. 일단 여기까지하고~
         소주 마시던 중 격좌좌표를 기하좌표로 옮기는 과정을 생략 것이 생각나서
         술자리를 파 후 취중 개코딩..-..ㅡ;; 빙고! ㅋㄷㅋㄷ
  • DesignPatternSmalltalkCompanion . . . . 3 matches
         다음과 같은 이유에서 DesignPatterns (이하 GoF)를 먼저보고 보거나 같이 보는 것을 추천다.
          * GoF 버전은 사람들에게 익숙 C++ 소스임에 비해 DPSC는 Smalltalk 소스이다.
          * DPSC는 GoF를 보충하는 기능을 다. GoF에서의 내용과 비슷해보이지만, 군데군데 부연된 내용들이 보인다.
  • DesktopDecoration . . . . 3 matches
          ps. 다른거 보다 메모장 위젯이 깔끔하고 마음에 든다. ㅡ.ㅡ; 메모장이랑 날씨위젯정도면 쓸만거 같다.
         다양 윈도우 클론들이 존재다.
  • DevPartner . . . . 3 matches
         = 간단 사용법 =
         DPP70.exe (VC.NET에만 설치할 수 있습니다. 주의하세요!) 를 실행합니다. 거의 클릭에 끝납니다.
         b) 이놈을 선택 후, "DevPartner Profiler" 서브 항목을 클릭해서 활성화시킵니다.
  • DevelopmentinWindows . . . . 3 matches
          * 윈도우즈 프로그래밍을 하기 위해 필요 함수들을 제공
         === 윈도우즈 API를 이용 예제 프로그램 ===
         === MFC를 이용 예제 프로그램 ===
  • Eclipse와 JSP . . . . 3 matches
         Eclipse를 적당 폴더에 복사
         (필요 경우) Windows->Preferences->Tomcat->Advanced 선택 후
         package 이름 후 빨간줄 뜨면 ctrl+1 눌르면 Eclipse 가 자동적으로 고쳐줌(영리 놈..-..ㅡ;;)
  • EightQueenProblem/강인수 . . . . 3 matches
          * C++로 거(심심해서 거)
          * 파이썬으로 거(2003 데블스 캠프 대비용)
  • EightQueenProblem/이창섭 . . . . 3 matches
          * 임의의 점에 퀸을 놓고 그곳을 시발점으로 하여 공격할 대상이 없는 곳에 퀸을 놓아 퀸이 총 8개가 되면 출력하고 끝난다. 퀸이 8개가 되지 않으면 다시 임의의 점을 수정다. 이 임의의 점은 모든 좌표를 돌며 정해진다.
          * 지금 보니 무시무시 소스다... 5중 루프... -_-;; --[창섭]
  • EnglishSpeaking/TheSimpsons/S01E01 . . . . 3 matches
          * 크리스마스를 즐겁게 보내는 옆집 플랜더스네 가족들, 심슨네 가족들도 나름의 크리스마스를 보내려고 다. 반면 심슨네 가족은 호머의 회사에서 크리스마스 보너스가 지급되지 않게 되고 크리스마스 때 쓰기 위해 모아놨던 저금통도 바트가 팔에 허락없이 문신을 해버리는 바람에 이를 지우기 위 시술비로 전부 날려버린다. 호머는 모를 통해 알게 된 산타클로스 아르바이트를 하지만 받게 되는 급료는 겨우 13달러. 호머와 바트는 바니를 통해 알게된 경구장에서 '산타의 작은 도우미'라는 개에게 13달러를 모두 걸지만 꼴찌를 하고 돈을 잃는다. 그 대신 경구장에서 아예 쫓겨나 버린 '산타의 작은 도우미'를 크리스마스 선물로 집에 데려간다.
          * 내용 : 보너스를 못받았다는 사실을 차마 가족들에게 말하지 못하는 호머는 모의 술집에서 바니를 통해 산타클로스 알바가 있음을 알게 되고 면접을 본 후 일을 시작다.
  • ErdosNumbers/문보창 . . . . 3 matches
          /* 여기까지가 에르되시의 수 1을 구다. */
          if (isCheck) // 기존 맵에 존재다면 추가
         == 나테 할 말 ==
  • ErdosNumbers/차영권 . . . . 3 matches
         Time Limit 나올꺼 같았다. 루프의 사용이 깔끔하지 못거 같다.
          /* 입력받은 줄에서 이름을 추출다 */
         ==== 나테 할 말 ====
  • Erlang/기본문법 . . . . 3 matches
          * 하지만 이미 존재하는 변수에 새로운 값을 대입하면 화려 예외를 보게 될것이다. (Erlang의 변수는 번만 할당된다!! 멋지지?)
          * '/' 와 같은 연산자는 자동으로 실수를 리턴다.
  • EuclidProblem/이동현 . . . . 3 matches
         문제가 있길래 번 도전해봤습니다. 참여하는데 다른 룰이 있는 것 인지 모르겠군요.
          xy[1][0] = xy[0][0]*-1*q+tx; //이번함수의 몫q*-1을 곱하고 이전이전함수의 계수를 더다.
         ==== 나테 할 말 ====
  • EuclidProblem/차영권 . . . . 3 matches
         유클리드 호제법과 디오판토스 방정식에 대해 공부해 볼 수 있는 좋은 기회였다고 생각다.
          // X, Y값을 계산
         ==== 나테 할 말 ====
  • ExecuteAroundMethod . . . . 3 matches
         같이 일어나야만 하는 행동은 어떻게 표현을 할 수 있을까? 예를 들면 파일을 열었다면 닫아야다. DC를 얻어왔으면 해제해줘야 다. 등등...
         내가 보기엔 저 방법이 좋아보이는데... 클라이언트로 하여금 이 객체를 배우기가 더 어렵게 만든다고 다. 그럴까? 잘 모르겠다. 좀 더 써보면 알 듯하다.
  • ExtremeBear/OdeloProject . . . . 3 matches
          * tdd와 PairProgramming 을 익숙하게 단련다.
          * 내일은 간단 문제로 호흡을 마추어 보도록다.
  • ExtremeProgrammingExplained . . . . 3 matches
         ExtremeProgramming 의 철학을 소개 서적. 저자 KentBeck. TheThreeExtremos 중 명. 얼마전에 2판이 나왔다.
         [임인택]이 도서관에 신청해둠. (다시 확인해보니 아닌것같다...-_-. 누가 먼저 듯.. ㅎㅎ)
  • FactorialFactors/이동현 . . . . 3 matches
         이렇게 배열을 잡은 이유는 예를들어 나중에 16의 인수의 개수를 구다면 16 = 8x2 이므로 fac[16] = fac[8]+1 = 4가 된다.
         하지만 k가 소수라면 이러 방법이 통하지 않는다. 소수는 나름의 판별원칙에 따라 판단. 소수판별에는 수학공식이 이용되는데 이것은 생략 ^^
          //n!이므로 알고리즘상 2는 사전에 미리 처리하고 3~n까지 각각의 수에 대하여 인수를 계산다.
  • FactorialFactors/조현태 . . . . 3 matches
          그러고보니 우리집 컴퓨터의 성능을 고려하지 않았다...;; 뭐 다른집도 비슷하리라 생각다..^^;; 3.2G CPU...OTL..
          보창형 심심하실까봐~ 어제 생각대로 약간 수정했다. 더빠르게할 다른 방법도 있는것 같지만 일단 이거부터~
         울집 1.4G인데 ㄱ-;;;; 이거 번 도전해볼까나;; -태훈
  • Favorite . . . . 3 matches
         간단 규칙 - Daily <= n개, Weekly <= 7*n, Monthly <= 30*n개를 유지다. 그러면 하루에 3*n 군데만 돌아보면 된다. 끝없는 웹서핑을 막아보자!
         [http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-ko-4/s1-acctsgrps-rhlspec.html 리눅스 권]
  • FeedBack . . . . 3 matches
         자극에 대 반응, 의견에 대 반응을 적극적으로 표현하는 행위 즉, 답글이나 반론을 다는 행위 일체, XP의 4대 요소중 가지
  • FooBarBaz . . . . 3 matches
          * Programming Language 서적에 나오는 예제 코드에 Foo, Bar, Baz 등의 단어가 자주 등장다.
         이외에도 foo와 baz 는 속어로도 쓰이는데 우리말로는 '쳇, 제길' 정도로 쓰이고, 온라인상에서는 ''Excuse me'', 정도의 뜻으로 쓰인다고 다. (PC통신이나 인터넷이 발달하면서 신조어가 생기거나 기존에 있던 어휘에 새로운 뜻이 첨가되는것은 우리나라에만 해당되는것은 아닌듯 하다)
         출처 : 컴사전
  • GTK+ . . . . 3 matches
          * 우선 GTK+ 라이브러리가 필요하다. Hello, World라는 버튼이 있고 이 버튼을 누르면 콘솔에 Hello, World를 찍고 윈도우를 종료시키는 간단 예제
         컴파일을 하기 위해서는 gcc 명령행에 몇가지 파라메터를 더 주어야 다. 아래는 예.
  • GotoStatementConsideredHarmful . . . . 3 matches
         주로 JuNe 과 [jania] 의 토론을 읽으면서 이해를 하게 된 논문이다. '실행시간계'와 '코드공간계' 의 차이성을 줄인다는 아이디어가 참으로 대단하단 생각이 든다. 아마 이 원칙을 제대로 지킨다면, (즉, 같은 묶음의 코드들에 대 추상화도를 일정하게 유지다던가, if-else 의 긴 구문들에 대해 리팩토링을 하여 각각들을 메소드화다던가 등등) 디버깅하기에 상당히 편할 것이고(단, 디버깅 툴은 고생좀 하겠다. Call Stack 을 계속 따라갈건데, abstraction level 이 높을 수록 call stack 깊이는 보통 깊어지니까. 그대신 사람이 직접 디버깅하기엔 좋다. abstraction level 을 생각하면 버그 있을 부분 찾기가 빨라지니까), 코드도 간결해질 것이다.
  • GuiTesting . . . . 3 matches
         GuiTesting 을 하는 이유는 여러가지가 있을 수 있다. GUI Programming 에 대 TestFirstProgramming 에 대 시도를 할 수 있기 때문이다. 해당 UI Control을 하나하나 만드는 일부터 시작할 수 있다. 하지만, 보통의 경우 UI Control을 만드는 일들은 IDE 툴들에서 하는 것이 더 편하다. GuiTesting 은 해당 이벤트 발생시에 따른 처리과정에 대 TestFirstProgramming 을 시도하려고 할 때 도움을 줄 것이다.
  • HardcoreCppStudy . . . . 3 matches
         Hardcore란 의미는 단어 그대로의 뜻이 아니라 열심히(hard) 핵심(core)을 탐구다는 의미입니다...
          * 멤버를 보면 모두 가닥(?)하는 나름대로 하드코어.특히 김모양.
          * 수업 방식은 매주 중요 개념에 대해 이야기하고 그 개념을 응용할 수 있는 예제들을 숙제로 내겠습니다.
  • HardcoreCppStudy/두번째숙제/This포인터/변준원 . . . . 3 matches
         f()로 클래스 내부에선 호출이 가능데 정확히 this->f()에서 this가 생략된 형이죠
         했을때 Save함수 내에 GetA라는 함수를 호출다고 하면 다음과 같이 사용이
         다른 클래스의 함수에서 c라는 클래스의 포인터로 GetA를 호출다고 하면
  • HelloWorld . . . . 3 matches
         이미 이 예제가 나올때부터 '프로그래밍이란 현실세계에 대 가상세계로의 모델링' 이라는 개념을 들고 온 것이 아닐까. 새로운 세상에 대 노크. 아. 멋지도다;
         예전에 CACM 에서는 OO Language (Java 등)에서 C 스타일의 HelloWorld 소스를 예로 드는 점에 관련하여 OO 적이지 못 예라는 논쟁이 있기도 했다는. ^^
  • HelpOnProcessors . . . . 3 matches
         다음과 같이 코드 블럭 영역 최 상단에 {{{#!}}}로 시작하는 프로세서 이름을 써 넣으면, 예를 들어 {{{#!python}}}이라고 하면 그 코드블럭 영역은 {{{plugin/processor/python.php}}}에 정의된 processor_python()이라는 모니위키의 플러그인에 의해 처리되게 됩니다. {{{#!python}}}은 유닉스의 스크립트 해석기를 지정하는 이른바 ''bang path'' 지정자 형식과 같으며, 유닉스에서 사용하는 목적과 동일 컨셉트로 작동됩니다. (즉, 스크립트의 최 상단에 지정된 스크립트 지정자에 의해 스크립트의 파일 나머지 부분이 해석되어 집니다.)
         이러 방식으로 모니위키는 여러가지 다양 프로세서 플러그인을 지원하고 있습니다.
  • HelpOnUserPreferences . . . . 3 matches
          * 웹상의 비번은 쉽게 노출될 가능성이 많으므로 가능 노출되어도 큰 문제가 되지 않을 비밀번호를 사용하시기 바랍니다.
          * '''[[GetText(Quick links)]]''': 최상단에 있는 메뉴에 자신이 원하는 링크를 추가하거나 원하는 위키페이지에 대 링크를 넣을 수 있습니다. QuickLinks 페이지를 참조해주세요.
         /!\ 이메일 구독은 `config.php`에서 설정을 해야 합니다. 자세 내용은 SubscribePlugin을 참조하세요.
  • HowBigIsIt?/하기웅 . . . . 3 matches
         이럴 땐 두 원 사이의 거리를 이용 풀이 방법이 통하지 않게 된다.(통하게 될려면 완벽 예외처리가 필요하다)
         내가 생각 건 여기까지~~
  • HowManyFibs? . . . . 3 matches
         입력에는 여러 개의 테스트 케이스가 들어있다. 각 테스트 케이스는 두 개의 음이 아닌 정수 a와 b로 구성된다. a=b=0이면 입력이 종료된다. 그렇지 않은 경우에는 a≤b≤10<sup>100</sup>이다. a와 b가 입력될 때 앞부분에 불필요 0은 전혀 붙지 않는다.
         각 테스트 케이스마다 a ≤ f<sub>i</sub> ≤b인 피보나치 수 f<sub>i</sub>의 개수를 줄에 하나씩 출력다.
  • HowManyFibs?/1002 . . . . 3 matches
         근데, a,b=(1,10^100) 로 해도 1초도 안걸린다. 처음에는 'big integer 를 만들어라!' 라는 문제가 아니라고 생각했는데, 풀고 나니 뭔가 허탈함. 글쌔. 출제자가 원 답은 big integer emulation 이였을까. 흑..
         피보나치 수가 굉장히 크게 늘어나는 수라는 점을 생각했더라면, input space 가 크더라도 fibo(n) 의 n 값이 커지지 않을 것이라는 것을 미리 알고 있었더라면 저런 고민을 안했을 것 같긴 하다. 하지만, 이러 사전지식이 없는 가운데, 문제를 풀라고 다면 어떻게 접근하는게 가장 좋았었을까. 고민된다.
  • HowToEscapeFromMoniWiki . . . . 3 matches
         이 문서에서 기술 내용은 ZeroPage에서 사용하던 MoniWiki에서 다른 위키 엔진으로 이주(migration)하기 위해 고민하고 연구하고 실제 적용하는 과정에서 정리 것입니다.
         이 문서가 제시하고 있는 내용은 완전하지 않을 수 있으며, 기존 MoniWiki 문서 데이터를 백업하지 않고 이 방법을 적용하여 발생하는 문제에 대해 어떠 책임도 지지 않습니다.
  • HowToReadIt . . . . 3 matches
         [이승]은 서브보컬링이 심해서 인지 하루에 교양서적 하나도 읽기 힘든데;; 두시간 만에 350페이지 분량의 교양서적정도는 뚝딱이라는 글을 읽고 순간 굳어버렸습니다. - [이승]
  • IntentionRevealingMessage . . . . 3 matches
         어떻게 된건가? 의사소통이다. 줄의 메소드가 의사소통에 가장 중요하다.(?) 사용자의 입장에서는 그냥 highlight라는 메세지에 영역만 넣어서 보내면 되는 것이다. 사각형을 뒤집음으로써 highlight된다는 사실을 몰라도 되는 것이다. IntentionRevealingMessage는 컴퓨터를 위다기보다는 사람을 위 가장 극단적인 형태의 패턴이다. 의도와 구현을 분리하자는 것이다. 메세지의 이름을 그 메세지 내에서 어떻게 되는건가로 짓지 말고, 그 메세지가 무엇을 하는건가로 짓자.
  • JTDStudy/첫번째과제/원희 . . . . 3 matches
          //String temp = JOptionPane.showInputDialog(null,"숫자를 입력하시오 (칸씩 띄어서)");
         처음에 하다가 영준이걸 보니까 마지막은 완전 똑같아진;;;ㅠㅠ
         자바가 완전 기초라서요, 숫자 세개 입력받을때 1 2 3 이렇게 입력받으면 배열에서 1,2,3 이렇게 들어가게 할려고 노력을 해봤지만 어렵네요......ㅠㅠ 생각의 계로 결국은 따로따로 입력받기......
  • JTDStudy/첫번째과제/장길 . . . . 3 matches
          * 테스트를 작성하며 느낀거지만 이건아니라는 생각이 자꾸만 드는 이유는 멀까요? ㅋㅋ 테스트를 이렇게 작성해도 돼는건지 모르겟네요... 프로그램도 좀 이상거 같고... 괸히 삽질만 많이거같은 생각이.... 흠 객체지향 개념을 다시번 살펴봐야 겠다는 생각이 자꾸만 드네요... -장길-
  • JUnit . . . . 3 matches
         Java 언어를 위 UnitTest Framework.
          * http://huniv.hongik.ac.kr/~yong/moin.cgi/JunitSampleCode - 박응용씨의 위키페이지. JUnit 간단 예제.
          }}} 이렇게 나오지 않습니까... 이게 아니고.. 저~ 위에 있는것처럼.. (생각해보면, 별로 중요거도 아닌데 매달리네요..-_-) - 임인택
  • Java/ServletFilter . . . . 3 matches
         Filter 를 이용 응용을 보면
         기존의 model 1 스타일의 jsp/servlet 코드를 가능 덜 건드리고 새 기능을 추가해야 할때 나름대로 써먹을 수 있는 방법중 하나.
  • Java/SwingCookBook . . . . 3 matches
         창 만들기 전 줄 추가.
         딱 하고 쓸만게 발견되지 않았지만..
         === UI 관련 구경해볼만 곳 ===
  • JavaScript/2011년스터디/JSON-js분석 . . . . 3 matches
         javastript의 자유 분방함을 제 perl과 비슷 역활
          * str function에서 'string', 'number', 'boolean', 'null' 은 모두 string로 변환다. 그런데 'object'의 NULL은 뭐지??
  • JavaScript/2011년스터디/윤종하 . . . . 3 matches
         급대로 파스칼의 삼각형 만들어서 if, for, 함수정의 공부거 티내려고 했는데 안되네요 ㅠ
         Anonymous Function에 대 예제를 구해왔는데요.
  • JavaStudy2002/입출력관련문제 . . . . 3 matches
         * 자바에는 C의 cin처럼 간단 명령어가 없단 말인가!? --[영동]
          * 여러분이 어려워하시는것 같아, 입력 부분을 만들었습니다. 해당 static method의 기능은 줄을 읽고, 공백이나, 탭을 기준으로 배열을 반환합니다. 사용 방법은 해당 함수의 main 을 참고하시고, 다른 소스에서 import해서 그냥 사용하세요. --["neocoin"]
          System.out.println("글자 줄 입력 받기 예제");
  • JollyJumpers/iruril . . . . 3 matches
          // 배열의 길이를 구다(n)
          // checkDifferArray[] 를 초기화
          * [MineSweeper/황재선] 코드를 참고 다음 코딩했습니다
  • JollyJumpers/오승균 . . . . 3 matches
         void check_possible (int max); // Jolly판단 자체가 가능 수열인가 검사
         void show_num (int max, int ar[]); // 입력 숫자 출력
         문제에 주어진 스펙에 최대 맞춰서 프로그램을 짜주세요. -- 보창
  • Jython . . . . 3 matches
          * raw_input 으로 글을 그냥 받으면 깨진다.
          * 아래와 같이 하면 글을 제대로 받을 수 있다. 나는 파이썬에 있는 디코드, 인코드 함수를 사용하려고 했는데 잘 되지 않았고, 생각을 바꿔서 자바에 있는 인코드, 디코드 방법을 썼다.
          * PyServlet - Jython 을 이용 servlet
  • KIV봉사활동/자료 . . . . 3 matches
          * 소녀시대 & 슈퍼주니어 - 서울송 (서울 알려줄때 꽤 좋은영상. 강, 광화문, 남산타워, 청계천, 덕수궁 등이 화면에 잘 담아져 있음)
          * 위에 제가 요청 자료들은 영어자막은 구했는데 영상을 못구것들 입니다.
  • LIB_1 . . . . 3 matches
          LIB_Init_Schedu(); // 스케쥴링을 위 우선순위 큐를 초기화 하고
          LIB_init_prl(0); // 패러럴 포트를 정리다.
         여기까지는 태스크에 대 정의만 나왔다.[[BR]]
  • LIB_3 . . . . 3 matches
         WAIT은 실행 가능하지만 멈춰 진 태스크를 위
         음..이렇게 나누어지고 WAIT큐의 0번째 태스크가 지금 실행 중인 태스크를 지칭다.[[BR]]
         이 함수는 스케쥴링을 위 준비 과정 TCB들을 다 초기화 해 준다.. 겁이 많아서 그냥 다 초기화 해줬다.[[BR]]
  • LUA_2 . . . . 3 matches
         자료형을 배웠으니 이제 자료형을 연산하기 위 연산자들을 살펴 보겠습니다.
         우선 간단 대입부터 보겠습니다.
         마지막으로 오늘 배운 것 이외에 추가로 주석처리 하는 방법을 살펴 보겠습니다. 앞서 예제에서 '--' 를 하고 코드를 설명했는데 '--' 가 주석을 시작하는 코드입니다. 줄 이상의 주석 처리는 "--[[" 와 "--]]"를 통해서 처리할 수 있습니다.
  • LinkedList/학생관리프로그램 . . . . 3 matches
         링크드 리스트를 이용 학생관리 프로그램
          printf("\n");//보기 좋게 칸 띈다.
          printf("\n현재 등록된 학생명단\n");//현재 등록되어 있는 명단을 출력다.
  • Linux/탄생과의미 . . . . 3 matches
          * [http://ko.wikipedia.org/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4 국]
          * Ver.0.01을 인터넷에 공개 후에, 관심있는 연구원들이 리눅스 운영체제 개발에 동참함으로 서 급속 발전
  • MagicSquare/은지 . . . . 3 matches
          row --; col ++; //칸 위로, 칸 오른쪽으로
          row++; //칸 밑으로
  • Marbles/이동현 . . . . 3 matches
         프로그램은 다음과 같은 원리로 동작다.
         n2가 작은 수라면 금방 끝나지만 다음과 같은 worst case일때는 약 몇억번의 루프를 돌아야 다.
          r = ((n2[i]/n1[i]==0?1:n2[i]/n1[i])*k+1)*n1[i] + (N[i]%n1[i]); //r은 n2보다 큰 가장 작은 n1의 배수에 N[i]%n1[i]을 더 값.
  • MedusaCppStudy . . . . 3 matches
         장문에서 단어의 빈도수를 세서 출력다. 이때 알파벳순으로 출력. (";" 을 만났을 때 문자열 종료)
         - 이상 돈 안됨
         - 이상 명령어 안됨
  • MedusaCppStudy/석우 . . . . 3 matches
          cout << "정사각형 변의 길이를 입력하세요: ";
          cout << "정삼각형 변의 길이를 입력하세요: ";
          cout << "어디 번 문장을 입력해보게나(마지막엔 ';'를 입력해야하네) " << endl << ">>";
  • Microsoft . . . . 3 matches
         마소는 세계에서 가장 큰 소프트웨어 회사이다. 대략 직원수만 50000명으로 각국에 분포해있다. 이 회사는 1974년 빌게이츠, 폴 앨런이 창업했다. 본사는 미국 워싱턴 레드몬드에 위치해 있다. 마소는 전세계적 규모로 다양 장비들에 사용되는 소프트웨어를 개발, 생선, 라이센싱, 지원다. 이 회사의 가장 대중적인 제품은 윈도우즈 운영체제 시리즈와 오피스 제품군이다. 이들은 각각 데스크탑 컴퓨터 시장에서 거의 독점적위치에 있다.
         마이크로 소프트와 좋게든 싫게든 관계된 사람중에서는 천재로 알려진 명성이 대단 사람들이 많다.
  • MineSweeper/황재선 . . . . 3 matches
          1. 생각보다 단순 문제였다. 윈도우의 지뢰찾기가 생각나서 어려워했나보다. RandomWalk보다 훨씬 쉽다.
          * 변수 명명이 아직도 고민된다. 배열은 무조건 array 혹은 arr으로, 키보드 입력은 input을 붙인다. 딱히 적당 이름이 생각나지 않는다.
          * tdd가 힘들다. 무엇을 테스트해야할지 모르겠다. 키보드 입력과 결과부분을 테스트했다. 그냥 막코딩것같다. 생각대로 풀려서 다행이다.
  • MobileJavaStudy/Tip . . . . 3 matches
         J2ME로 프로그래밍 할 때 도움이 될만 팁들.
          * 메모리가 겹치는 경우가 절대로 없게 다.
         {{{~cpp destoryApp}}} 메소드에는 {{{~cpp unconditional}}} 이라는 {{{~cpp boolean}}} 값이 있다. {{{~cpp MIDlet}}}이 더 이상 필요하지 않거나 종료되어야 할 때 {{{~cpp DestoryApp}}} 메소드가 호출되고 {{{~cpp MIDlet}}}이 {{{~cpp Destroyed}}} 상태로 들어가게 되는데, 만약 {{{~cpp MIDlet}}}이 중요 과정을 수행중이라면 {{{~cpp MIDletStateChangeException}}}을 발생시켜 그 과정이 끝날때까지 {{{~cpp Destroyed}}} 상태로 가는 것을 막을 수 있다. 하지만 이런 요청도 상황에 따라 받아들여지지 않을 수 있는데, {{{~cpp unconditional}}} 이라는 값이 그 상황을 알려준다. {{{~cpp unconditional}}}이 {{{~cpp true}}} 인 경우에는
  • NumberBaseballGame . . . . 3 matches
         간단 숫자 야구 게임입니다.[[BR]]
         (번쯤 해보시지 않았을까나...^^;;;)[[BR]]
         조금 더 문제 정의를 명확히 할 필요가 있지 않을까 합니다. (여기에 올라온 몇 개의 코드들을 살펴볼 때 명확 스펙이 잘 전달되지 않은듯 합니다)
  • NumericalAnalysisClass/Exam2002_1 . . . . 3 matches
          * 평이 시험이였고, 배운 것 위주여서 그리 할말 없음. 수학문제 특징상 답이야 명확것이고;
          * 시험공부를 할때 체크리스트 만들고 해당 항목들은 직접 증명해보기 식으로 공부했는데, 가장 확실 것 같다. (하지만, 시험시간에 일일히 증명해서 푼다는 건 좀 우스운거고; 프로그래밍에서도 idoim 이 있듯, 빨리 풀려면 공식을 외워야겠지. 하지만, '외워지게' 하는것이 가장 좋겠다.)
  • OOP/2012년스터디 . . . . 3 matches
          * 참고할만 위키 페이지 : [More EffectiveC++/Efficiency]
         === 고종 ===
          * 코드를 살짝 급하게 짠건지 디버깅을 참 했네요. 하지만 연산량은 적을 것이라 생각합니다. -ㅅ- -[김태진]
  • OnceAndOnlyOnce . . . . 3 matches
         OAOO. 필요 부분에 대해서는 중복없이 오직 번만 나타나야 다는 원칙. ["Refactoring"] 의 원칙.
  • OpenGL . . . . 3 matches
         3D Programming 을 위 API. 요새 유행하는 3D Game Programming 시에는 주로 [Direct3D] 와 [OpenGL]을 사용다.
         http://www.xmission.com/~nate/tutors.html - 추천! OpenGL 해당 명령에 대 동작을 정말로 쉽게 이해할 수 있다.
  • OpenGL스터디_실습 코드 . . . . 3 matches
          * glut을 쓰고 있으니 이에 대 설정을 하셔야 코드를 실행하실 수 있습니다.
         == 스텐실을 사용 물결흠이 새겨진 사각형 애니메이션 그리기 ==
         == 액터와 카메라를 통 3D시점 변경 ==
  • OperatingSystemClass . . . . 3 matches
         수업내용: Operating System 에 대 전반적인 개론. Computer Architecture 에서 단계 더 위의 Layer 를 공부하게 된다. 메모리의 계층구조, 멀티테스킹과 그에 따른 동기화문제, 가상 메모리 등등.
         애석하게 중대에서 그 사람수에 비해 강의가 하나밖에 없다. 그리고 요새 보통은 0,1,2 교시 수업이다; 예전 김영찬 교수님때는 모르겠지만, 황준 교수님의 경우 원래 서울여대에 있는 분이셔서, 수업 스케줄이나 준비면에서 좀 부실하시단 느낌이 든다. (특히; Report 로 내는 문제들에 대해서 Spec 에 대 문서가 없다; 수업시간중 구두 설명정도이다.)
  • OurMajorLangIsCAndCPlusPlus/print/이도현 . . . . 3 matches
          // 소수점아래 7자리까지 출력이므로 소수점 뒤에 0을 제거해야 다.
          // 소수점을 포함 숫자의 개수
          // 소수점아래 7자리까지 출력이므로 소수점 뒤에 0을 제거해야 다.
  • OurMajorLangIsCAndCPlusPlus/print/조현태 . . . . 3 matches
          //// 공백을 출력다. ////
          //// 정수부의 숫자를 출력다. ////
          //// 소수부의 숫자를 출력다. ////
  • OurMajorLangIsCAndCPlusPlus/setjmp.h . . . . 3 matches
          메크로 : setjmp() - 기능 : jmp_buf에 현재 스택을 기록다. 리턴값은 longjmp의 두번째 인자.
          함수 : void longjmp(jmp_buf, int) - 기능 : jmp_buf에 기록된 위치로 이동다.
         예제 : 2가 무하게 출력되는 것을 볼 수 있다.
  • PHP . . . . 3 matches
          - 비슷 예로 GNU(GNU's Not Unix) 를 들 수 있을까요..? ^.^a - [임인택]
         || [이승/PHP] ||
          * [http://www.php.net/manual/kr/ php 글 메뉴얼]
  • PHPStudy2005 . . . . 3 matches
          * 처음 웹프로그래밍 할때 잘 이해가 안가는 부분에 대 이해를 돕는다.(APM 설치, GET, POST 전달 방식, 정규식등)
          * 일방적인 정보 전달 스터디가 아닌, 하는 방법(메뉴얼 찾아서 하기, 틀정 사이트 Q & A 찾아서 하기, 있던 PHP소스 재활용하기, 모를땐 메신저로 선배테 물어보기-_- 등..) 을 알려주고, 그에 따라 간단 PHP 프로그램을 작성해본다.
  • PNGFileFormat/FileStructure . . . . 3 matches
          * CRC : Chunk Type + Chunk Data 에 대 4 바이트 CRC 값.
          * Filter method : 이미지 데이터에 대 전처리 방법. Compression과 관련.
          * Interlace method : 이미지에 대 비트오더.
  • PNGFileFormat/FormatUnitTestInPythonLanguage . . . . 3 matches
          # PIL과 비교. scanline by scanline 으로 비교해야 다.
          if i > 0 : # 인덱스가 0이 아닐 경우는 옆칸에서 더다.
          if ypos > 0 : # y가 0 이면 윗칸에서 더할수 없지만 0보다 크면 더해야
  • Postech/QualityEntranceExam06 . . . . 3 matches
          6. 1~3개 문제 펌핑 렘마 사용하여 증명 혹은 오토마타로 그려서 regular 에 속다고 증명 하기
          3. Machine Language Like 프로그램 만들기. 코드 주고. 스앞 함수 호출하는 부분 있고 파라미터 패싱을 설명해야함.
          8. 자잘 자잘 퀴즈들
  • PowerOfCryptography . . . . 3 matches
         입력은 정수 쌍 n, p가 각각 줄씩 입력됩니다. 여기서 n, p, k의 범위는 각각 1≤n≤200, [[HTML(1≤p≤10<sup>101</sup>)]],[[HTML(1≤k≤10<sup>9</sup>)]] 입니다. 입력의 끝 EOF입니다.
         주어진 입력에 대하여 [[HTML(k<sup>n</sup>=p)]] , 즉 k를 줄씩 출력해야 합니다. 여기서 k 는 http://acm.uva.es/p/v1/113img9.gif 입니다.
         ACM문제들을 훑어보다가 '1학년 여러분들이 풀어봤으면 좋겠다'라는 생각이 들어 번역해서 올립니다. 지금까지 배운 C를 이용하여 이 문제를 번 풀어보세요. C를 다지기 좋은 문제라고 생각합니다. -- 보창
  • PragmaticVersionControlWithCVS . . . . 3 matches
          * 그냥 번 보면서 정리가능 정도만 정리할 생각임. - [eternalbleu]
          * 오 대박이다. ㅡ.ㅡ;; 콘솔로 쓰다가 TortoiseCVS 쓰니깐 배로 편거 같다. - [eternalbleu]
  • PrimaryArithmetic/Leonardong . . . . 3 matches
         수식을 구현다는 생각이었다.
         이렇게 놓고 보니 수식과 비교해 이름을 잘못 지은 부분이 눈에 보인다. 아무튼 전단계 캐리를 구하는 부분을 그냥 작성하느라 흐름을 타지 못했다. 잘 돌아가는 프로그램을 만들었지만, 머리 속에 함수 재귀 호출을 계속 떠올리고 있었다. 수식이란 메타포가 있었는데도 구현을 하는데 메타포를 코드와 연결시키는데 오래 걸렸다. 아니 메타포를 생각하고 구현 것이 아니다. 중복을 없애다 보니 그제서야 수식이 눈에 들어왔다.
         빠른 속도가 아니었는데도 오히려 예상했던 시간(1시간) 안에 끝마쳤다. 시간안에 테스트&리팩토링 끝내기는 여전히 잘 안되는 편이다. 번 더 해봐도 괜찮을 문제 같다.
  • ProgrammingPartyPhotos . . . . 3 matches
         ||저 다소곳 손들을 보라. ZP#1과 멘터의 단체사진||
         ||저들은 뭐가 그리 즐거웠을까. Facilitator와 함께 디스커션 세션||
         ||ZP#1의 현란 CrcCard 세션||
  • ProjectAR/기획 . . . . 3 matches
          무기에 대 숙련도
          * 위에 괄호 안에 추가 내용은 제가 그냥 임의로 이렇게 해 보면 어떻까 하고 적어본거에요. 이거 외에도 내성도 데이터를 따로 안가져도 될꺼 같아요. 최대 가지는 데이터가 적었으면 좋겠어요 - 상욱
  • ProjectEazy/테스트문장 . . . . 3 matches
         입력해서 각각 격으로 분리가 되는지 알아보기 위 대표적인 문장
         == 제된 구구조 문법 ==
          고려대의 구구조 분석도 어떤 기준에 따라 하는지 모르겠네요...차라리 간단 규칙을 우리가 만들어보는게 어떨까요? --[Leonardong]
  • ProjectGaia/요구사항 . . . . 3 matches
          * 레코드 검색(1-n) - 전체 소요시간을 페이지 수로 나눠서 측정다고 했으니까 페이지를 많이 나누자.
          * 편리 사용자 인터페이스
          * 편리 사용자 인터페이스
  • ProjectLegoMindstorm . . . . 3 matches
          * 그런가? 난 그냥 줄줄 달아왔는데?? - 승
          * 프로젝트분류 태그, 팀이 어떻게 있는지, 앞으로의 진행사항을 기입해 주세요. - 승
          * 빨리 위키 사용법을 익히고 페이지를 만들어 나갔으면 좋겠네요. - [이승]
  • ProjectPrometheus/CollaborativeFiltering . . . . 3 matches
         일단은 본격적인 CF로 가는 것보다 아마존의 "Customers who bought this book also bought"식으로 좀 더 간단 것을 하는 것이 좋을 듯 하다. 이것은 꼭 Clustering이 필요없다 -- Clustering이 효과를 발휘하려면 상당량의 데이타(NoSmok:CriticalMass )가 쌓여야 하는데, 쉬운 일이 아닐 것이다. 다음은 JuNe이 생각 간단 알고리즘. 일종의 Item-to-Item Correlation Recommendation.
  • ProjectPrometheus/Iteration9 . . . . 3 matches
          * 도서관 UI 와 시스템 스타일이 바뀐점에 대 대처.(GET/POST 변수들에 대해 분석. Extractor 클래스들 수정)
          * 바구니 기능 - 근데, 우리가 생각 기능은 아닌듯. 용도가 좀 다름. 이에 따라 login 이 쿠키 스타일로 바뀜. (JSP 를 쓰던데, Session 스타일일 가능성도)
         각자 사정 & 추석으로 주 쉼.
  • ProjectPrometheus/Tips . . . . 3 matches
         ProjectPrometheus 중 나눌만 Tip 들.
         === Python 에서의 글 사용 ===
         Python 에서는 urllib 와 httplib 를 이용다. Python document 의 httplib - examples 를 참조하면 된다.
  • ProjectSemiPhotoshop/계획서 . . . . 3 matches
          * 11/19 상민과 현민이 이미지 프로젝트의 시작을 위 시작 코딩
          * Bitmap 로딩과, 저장부에 대 작성. 기존 메모리 다루기가 힘들것 같아서, 추상화 목표.
          * 상민 : MFC MDI 를 이용 구성
  • ProjectTriunity . . . . 3 matches
         파일 구조 팀 프로젝트를 위 페이지...
         || 다운로드 || 수정 사람 || 설명 ||
         || 다운로드 || 수정 사람 || 설명 ||
  • PyServlet . . . . 3 matches
         Jython 을 이용 Servlet 코드 작성하기.
         http://jywiki.sourceforge.net/ - 다양 예제들. Image, JDBC 연동 등.
         [1002] 가 PyServlet 에서 생각하는 장점이라면, Servlet 의 특징으로, CGI와는 달리 인스턴스가 메모리에 남아있다는 점이다. 간단 프로토타이핑을 할때 memory persistence 를 이용할 수 있게 된다. ZP 에서의 12줄 이야기와 같은 프로그램을 작성할 수도 있다.
  • PythonFeedParser . . . . 3 matches
         원래 다른 feedParser 사용하다가 글이 잘 안되는 경우가 있어서 검색 하다가 위 링크의 파서 발견. 훨씬 좋음. 글 파싱 잘된다. 진작 위 파서로 만들걸.. - [(namsang)]
         Python 용 RSS Parser Library. RSS 파싱하는데 단 줄이면 가능.
  • RUR-PLE . . . . 3 matches
          * 컴퓨터 프로그래밍을 익히는 것은 악기를 익히는 것과 비슷하다. 당신은 그것에 관해 단순히 읽기 말고 해봐야 다.
         ''''' 공감이 가는 말이다. 피아노를 아무리 책만 보고 공부다고 피아노 잘 치는게 아닌것처럼.. -[상협]'''''
          * 사람들이 읽기 쉬운 프로그램을 작성해야 다.
  • RandomWalk/ExtremeSlayer . . . . 3 matches
          * 간단걸 너무 복잡하게 짠건 아닌가 하는 생각이 든다.. 제길 -- 인수
          * 근데 리팩토링 책 보면 메소드는 최대 짧고 간결하게 끊으라 그래서--; -- 인수
          * 소스가 좀 길어지긴 해도 확실히 알아보긴 편것 같다. -- 인수
  • RandomWalk2/영동 . . . . 3 matches
          int i, j;//for문 돌리는 데 필요 변수
          base[y][x]=1;//시작점은 이미 번 왔으므로 1
          //동적할당 것 지움
  • RandomWalk2/질문 . . . . 3 matches
         RandomWalk2의 변경4에 대 질문인데요, (긁어서 보세요)
         (2) 턴에 둘 이상의 바퀴가 동시에 음식이 있는 칸에 도착했을 때, 바퀴의 수가 음식의 수보다 많다면 바퀴들은 어떠 순서로 음식을 먹게 되나요?
  • RedThon . . . . 3 matches
          그 그거 자체의 목표가 아니라는 사실에 대해 시야를 잃곤 다. |}} - FocusOnFundamentals 에서
         AnswerMe 혹시 [김동경] 이라는 사람의 개인페이지가 RedThon 이기도 가요? 그럼 이 페이지의 이름을 바꾸어야 할텐데요?--NeoCoin
         이 스터디를 종료합니다. 별로 게 없어서 아쉽네요. 방학 때 다시 할 수 있기를 바랍니다.--[Leonardong]
  • RedundantPower . . . . 3 matches
         ups 는 정전이나 순간적인 전력의 약화 시에 ups 안의 내부 전력을 이용하여 컴퓨터의 정상 동작을 보증하지만 Redundant Power 시스템은 Power Suply 를 병렬로 연결하여, 하나의 Power 가 고장 났을 때, 병렬로 연결된 Redundant 로 전원을 계속 공급함으로써 컴퓨터의 정상 동작을 보증다.
         극단적인 예로, redundant power 를 사용시에, 쪽의 파워를 강제 연결 해지해버려도 컴퓨터는 멀쩡히 잘 동작다.
  • Reverse Engineering처음화면 . . . . 3 matches
         역공학에 관 카페 개설.
         4. 프로그래밍 후의 Debugging을 위 초석.
         제:
  • ReverseAndAdd/문보창 . . . . 3 matches
         필요 배열의 크기를 알고 있다면, 동적할당보다는 오히려 정적할당이 유리하다. 다음번엔 정적할당을 후 수행시간과 메모리를 비교해보자.
          unsigned int reverseN; // reverse
  • ReverseAndAdd/이승한 . . . . 3 matches
         = [ReverseAndAdd]/[이승] =
          //returnNum을 이용하여 앞과 뒤가 같은지 검사다.
          * 여전히 복잡 제 소스...ㅠ.ㅠㅋ;
  • RubyLanguage/DataType . . . . 3 matches
          * 루비에는 Boolean클래스가 존재하지 않는다. 또 true와 1은 다르며, false와 0도 같지 않다.
          * null은 아무 객체도 할당되지 않은 상태를 의미다.
          * nil은 false처럼 동작하며 nil, false 이외의 값은 모두 true처럼 동작다.
  • RubyLanguage/ExceptionHandling . . . . 3 matches
          * 예외가 발생하면 예외 처리구문이 나올 때 까지 호출 스택을 타고 이동다.
          * 예외 처리 구문, rescue는 switch case문처럼 동작다. 맞는 처리 구문을 찾을 때 까지 계속 매칭.
          * 예외 발생시 throw를 이용해 예외를 발생시키고 catch에서 심볼을 이용하여 예외를 캐치다.
  • RunTimeTypeInformation . . . . 3 matches
         동적으로 만들어진 변수의 타입을 비교하고, 특정 타입으로 생성하는 것을 가능하게 다. (자바에서는 instanceof를 생각해보면 될 듯)
         MFC에서는 C++에서 표준으로 이용되기 이전부터 매크로를 이용 방법으로 이것을 지원했으며, 아직도 그 잔재가 남아있다.
         아래는 RTTI의 쓰임새를 표현 일예이다.
  • SchemeLanguage . . . . 3 matches
          * http://zeropage.org/pub/language/scheme/quickref.txt - Quick Reference로 프로그래밍을 할 때 참고할만 자료
          * http://zeropage.org/pub/language/scheme/schemedoc.pdf - Tutorial 정도로 사용할 만 자료
          * http://www.htdp.org/ - How To Design Programs. 비 전공자들을 위 Scheme Language 책으로, 인터넷에 공개되어있다. 위의 PLT Scheme 을 인스톨하면 Help 탭에 HTDP 링크가 생긴다.
  • ServerBackup . . . . 3 matches
          1. screen 공유를 위 서버 세팅
          * (./) sudo 권 설정
          * (./) 압축 ~ 위 스크립트에서 꺼번에 수행
  • SignatureSurvey . . . . 3 matches
         HTML Template 부분을 Generating 하는 부분을 하던중, 디자이너가 툴로 만든 HTML 코드를 분석해볼때 SigntureSurvey 의 방법을 적용해보면 어떤 일이 일어날까 의문이 들었다. 그래서 간단하게 실험해보고, 어떠 View 를 얻을 수 있을까 구경해보다.
         정확히 분석을 것은 아니지만. <> 태그 안으로 쓴 글자수가 같다면 화면상에서도 비슷 것을 보이게 하기 위해 C & P 를 했을 확률이 높다. 그러면 그 부분에 대해서 looping 을 하는 식으로 묶으면 될것 같다. 종이로 찍어놓고 보면 반복되는 부분에 대해서 일반화된 패턴이 보인다는 것을 알 수 있다. 그 부분에 대해 적절히 1차적으로 검색을 하고, generating 할때의 단위들을 끄집어내면 되는 것이다.
  • SnakeBite/창섭 . . . . 3 matches
          * 유보중.. 그리 복잡 건 아닌 것 같은데..끝도 못내고.. 참 착찹하군요..-.-;
          * 3.2 현재: 젠장. 잘못건드려서 소스 사라졌다. 다시 다. 아..짱나.. 인수의 기분을 이해할거 같다. -_-;
         DeleteMe) 얼라? 봉환이 ZP였나? 아님 가입하기로 거야? ^^--인수 [[BR]]
  • SolidStateDisk . . . . 3 matches
         백업 메카니즘으로서 배터리나 일반적인 자기디스크를 내장하곤 다. SDD 는 일반적인 HDD I/O interface 로 연결된다. 이로 인해서 얻을 수 있는 잇점은 적은시간에 빈번 I/O 작업이 일어날 경우에, seek time 이나 rotational latency 가 없는 메모리로서, 자기디스크에 비해 월등 성능을 나타낼 수 있다. 그에 덧붙여 구동부가 없는 구조로서 좀더 내구성이 뛰어나다고도 할 수 있겠다. 단점은, 특성상 대용량화가 어려우며 커다란 데이터의 요구량이 커질때. 즉 access time 보다 transfer time 이 더 요구될때 효율성이 안좋다.
  • SqLite . . . . 3 matches
         어플리케이션 내에 포함(Embedding) 이 가능 DB. Java 에서 HypersonicSql 과 비슷 역할. C/C++ 에서 간단 데이터베이스 기능을 추가하고 싶을 때 비교적 쉽게 이용 가능.
  • Squeak . . . . 3 matches
          스퀵은 스몰토크(Smalltalk)입니다. 일반적으로 스몰토크라 그러면 국내에서는 컴퓨터 역사의 부분으로 과거의 언어정도로 생각하고 있습니다. 그래서인지 국내에서는 일부 취미 생활로 공부하는 사람, 극(극극극극)히 적은 특정 분야의 회사를 제외하고는 쓰이지 않습니다. 그러나 스몰토크는 진보적이라면 진보적이지 결코! 절대로! 과거의 고리타분 언어가 아닙니다. 무엇보다도 스몰토크는 무척! 즐겁습니다. 특히 '스퀵'은 더 즐겁습니다. ;) (소개글은 http://squeak.or.kr 에서 퍼왔습니다)
          * 스퀵 (스퀵으로 스퀵을 다? )
  • StephaneDucasse . . . . 3 matches
         OORP(ObjectOrientedReengineeringPatterns) 의 저자중 명.
         최근 Stephane 은 Squeak 에 대 책을 쓰고 있다. http://scgwiki.iam.unibe.ch:8080/StephaneDucasseWiki 에서 읽을 수 있다. Turtle Graphics 를 이용 튜토리얼을 제공하는데 정말 재미있다! Smalltalk 를 입문하려는 사람에게 추천.!
  • StepwiseRefinement . . . . 3 matches
          * ["ScheduledWalk/석천"] : ["1002"]가 RandomWalk2를 StepwiseRefinement로 접근
         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의 단점은 무엇이고, 이를 극복하는 방법은 무엇일까요? --김창준.
  • SummationOfFourPrimes/곽세환 . . . . 3 matches
          * 곰곰히 관찰해본 결과 소수 3개의 합으로 웬만 수를 다 만들 수 있다는 것을 알았다.(모든 수를 만들수 있는지는 모르겠다) 그래서 일단 제일 큰 소수를 하나 구하고 나머지 값을 소수 3개의 합으로 나타내었다.
         접근방법이 달라야다. 내공이 아직 부족것 같다.
  • SuperMarket/인수 . . . . 3 matches
          cout << "* deposit <money> -- 돈을 money만큼 예금다. " << endl;
          cout << "* cancel <product> <count> -- 산 product 물건을 count개만큼 취소다 ." << endl;
          cout << "* menu -- 구매 가능 물건의 목록을 보여준다 ." << endl;
  • TheElementsOfProgrammingStyle . . . . 3 matches
         TheElementsOfStyle 에 대 글을 이곳 저곳에서 보면 항상같이 언급되는 책이다. 중앙도서관에 구입신청을 했지만 폐간되어서 입수를 못하고.. 아마존에는 brandnew는 없고 used book만 있다. 각 대학 중앙도서관을 뒤지던 중 연세대와 양대 중앙도서관에 있음을 알게됨. 우리학교엔 왜 없었던 걸까.
         음 저자이름이 낯익어 기억을 더듬어봤더니, 제가 생각하던 [http://www.cs.princeton.edu/~bwk/ 그분]이 맞네요. [http://www-2.cs.cmu.edu/~mihaib/kernighan-interview/ 인터뷰]를 읽은적이 있는데... 나머지 분은 누구일까요..? - [임인택]
  • TheGrandDinner/하기웅 . . . . 3 matches
         - 가지의 예외를 생각 못해 조금 헤맸음~
         - 가장 많은 사람이 있는 팀부터 가장 많은 자리가 있는 테이블부터 명씩 배치시키면 된다.
         - 어느 팀의 인원이 테이블의 수보다 많아버리면 무조건 배치가 불가능해진다.
  • TheOthers . . . . 3 matches
          * GUI와 Access DB를 이용 Weekly Report Manager
          * Weekly Report Manager? 주로 회사 같은 데서 많이 쓰는 금주 했던 일에 대 결산 레포트이다. 어느 일을 몇시부터 몇시까지 했으며, 그 일의 종류는 무엇이며, 주별로 통계를 내어, 어느 프로젝트에 몇시간을 투자했고 자기개발에 몇시간을 투자했는지 등등을 적어 회계용도로 쓰이기도 다.
  • ToeicStudy . . . . 3 matches
          - 인터넷 강의, 책 외 다양자료... 등으로 인하여 선택
         시간 결정, 도서관 일주전 스터디룸 빌리기, 해야할 분량 : 문법파트와 어휘파트 과씩,
         조속 시일내로 책 구입후(다음주 월요일) 착수
  • TravelSalesmanProblem . . . . 3 matches
         가장 전형적인 TSP 로 distance 는 symmetric 하고, triangular inequilty 가 만족하고, 임의의 도시에서 다른 도시로의 직접(또 다른 경유도시를 이용하지 않고) 갈 수 있는 길이 항상 존재다.
         시간제 : 1 분.
  • UglyNumbers/송지훈 . . . . 3 matches
         #define LIMIT 1500 // 배열 계수
          start = clock(); // 시작 시간.
         결국 퀵 소트로 정렬하신 듯 데...
  • UglyNumbers/이동현 . . . . 3 matches
         가지 이상점은 10만번째 어글리넘버가 44314690598262522787512975360 이 나오든데
         문제에서 제시 값과 너무 큰 차이가 나는듯.. 어디가 잘못되었는지 모르겠다.
  • Velocity . . . . 3 matches
          // Velocity 글 문제 처리 : properties 셋팅 필요.
         글 테스트.
         Velocity 에서 연산을 할 때에는 반드시 각 연산 당 스페이스를 주어야 다!!!
  • VisualAssist . . . . 3 matches
         VS6 에서의 그 버그많은 Intelli Sense 기능을 많이! 보완해준다; VS6 에서 지원하지 않는 매크로 인라인 함수 등에 대해서도 Intelli Sense 기능을 지원. Header - Cpp 화일 이동을 단축키로 지원하는 등 편 기능이 많다.
         쓸수록 불편해지는 느낌이 강하네요...-_- - 이승
         [1002] 의 경우 요새는 VC++.NET 이상 되는 녀석을 쓰는 일로 대체중. VA 자체 버그도 많아서 (특히 TDD 할때 아직 선언 안된 변수 먼저 쓰려면 자꾸 이상 변수로 자동완성시켜버린다.;) 잘 안쓰려는 중. --[1002]
  • VisualStuioDotNetHotKey . . . . 3 matches
         를 누르면 하단에 자세히보면, "증분검색" 이라는 텍스트가 나온다. 그러면 그때 찾기 원하는 단어를 입력할때마다 일치하는 위치로 바로바로 이동다. (좋은기능)
         가끔 연속된 연속기만으로는 부족경우가 있다. 이럴때, 몇번의 키동작으로 레코딩하여, 이것을 반복하고 싶은경우가있다. 이때 Ctrl+Shift+R 을 누르고, 원하는 동작들을 수행후, 다시 Ctrl+Shift+R을 눌러 종료다. 이 중간동작을 원하는 위치에서 반복하고 싶다면 Ctrl+Shift+P 를 누른다.
  • VonNeumannAirport/Leonardong . . . . 3 matches
         Traffic하고 Configuration을 각각 2차원 행렬로 표현했다. Traffic은 ( origin, destination )에 따른 traffic양이고, Configuration은 origin에서 destination 까지 떨어진 거리를 저장 행렬이다. 전체 트래픽은 행렬에서 같은 위치에 있는 원소끼리 곱하도록 되어있다. 입출력 부분은 제외하고 전체 트래픽 구하는 기능까지만 구현했다.
          행렬 곱셈 연산을 정의하면 이를 이용하기 위해서는 트래픽이나 거리 행렬 중 어느 쪽은 전치행렬이 되어야 다. 그러려면 전치 행렬 연산도 있어야겠다.
  • WERTYU . . . . 3 matches
         타이핑을 하다 보면 키보드에서 양손을 모두 원래 위치보다 오른쪽으로 칸 이동 상태에서 키를 눌러서 오타가 나오는 경우가 종종 있다. 그러면 'Q'는 'W', 'J'는 'K' 같은 식으로 오른쪽에 있는 키가 입력된다. 이런 식으로 입력된 메시지가 주어졌을 때 원래 메시지로 복구시켜야 하는 임무가 주어졌다.
         위에 나와있는 QWERTY 키보드를 기준으로 하여 각 글자나 기호를 바로 왼쪽에 있는 키에 해당하는 글자나 기호로 바꿔야 다. 입력에 스페이스는 그대로 둔다.
  • WebLogicSetup . . . . 3 matches
         http://localhost:7001/nameOfFile.jsp 의 형식을 취다.
          * Servlet은 명시적으로 등록을 해줘야 다.
          위에서 보는것처럼, <servlet/> 과 <servlet-mapping/>에 대 설정이 필요하다. <servlet/>에서 설정하는 내용은 alias 된 서블릿 이름과 실제 서블릿을 매핑시키는 것이고, <servlet-mapping/>에서 설정하는것은 uri 패턴과 alias된 서블릿 이름을 매핑 시키는 역할이다. 도식화 시켜보면 다음과 같다.
  • WikiStyle . . . . 3 matches
          * 사실 정보를 기록다.
          * 구체적인 조언을 다.
          * 페이지에 글을 쓴 시간 순으로 글을 배열하지 말고 "읽기 좋은 순서"로 배열다.
  • WordPress . . . . 3 matches
         MovableType이 유료화의 길을 걷기 시작뒤 그 뒤를 바짝ㅤㅉㅗㅈ고 있는 설치형 Blog. 오픈소스로 개발되고 있으며 php 를 기반으로 동작하며, 충실 플러그인 기능이 인상적이다. 기본적으로 css 를 통 블로그 디자인이 가능했으며, 현재는 테마기능역시 지원하고 있다.
  • XPlanner . . . . 3 matches
          ExtremeProgramming 팀을 위 웹-기반 프로젝트 관리도구, 위키 스타일의 포매팅도 지원다고 다.
  • Xen . . . . 3 matches
         젠(Xen)은 오픈소스 기반의 가상화 SW다. 젠은 하나의 컴퓨터에서 여러 종류의 운용체계(OS)를 사용할 수 있게 하는 SW로 가지 단점은 OS를 수정해야 다는 점. 그러나 올해 공개될 인텔의 밴더풀(vanderpool)이나 VT 기술을 적용할 경우 OS 수정이 필요하지 않을 것으로 보여 빠른 확산이 예상된다.
          초창기 개발과 지원을 담당해 온 ‘젠소스’라는 기업은 젠을 컴퓨터의 표준 기능으로 자리잡게 하겠다는 계획이다. 실제로 최근 열린 리눅스 월드 콘퍼런스에서 IBM·HP·인텔 등 주요 컴퓨팅 관련 기업이 젠에 대 후원 의사를 밝힌 바 있다.
  • Yggdrasil/파스칼의삼각형 . . . . 3 matches
         temp[j+1]=sum[j+1];이 필요지 아직도 잘 모르겠습니다...
         기본 알고리즘 생각 후 안 되자 변수를 막 바꾸다가 된거라...
          int i, j; // for 문을 돌리는데 필요
  • ZPBoard . . . . 3 matches
         APM을 이용 게시판 '''ZPBoard''' 제작 프로젝트.
          * ["ZPBoard/AuthenticationBySession"] - Session 을 이용 회원 인증
          * 다들 ["ZPBoard/AuthenticationBySession"] 를 참고하여 일기장까지 제작하도록...^^ 궁금건 언제든지 질문을~ --["상규"]
  • ZPBoard/PHPStudy/MySQL . . . . 3 matches
          * mysql 에 접속다.
          * mysql 함수를 실행다.
         }}} 위의 소스로 작성 페이지이다. [http://165.194.17.15/~bestjn83/babo.php "주소록"]
  • ZPHomePage/20041228 . . . . 3 matches
          * 메인에 공지, 줄메모, 위키바뀐글, 진행중인스터디 표시
          * 줄메모기능
          * 다양 것들을 경험해보는데 중점, 기본적으로 jsp 공부
  • ZPHomePage/계획 . . . . 3 matches
          * 메인에 공지, 줄메모, 위키바뀐글, 진행중인스터디 표시
          * 줄메모기능
          * 볼만 위키 페이지 1주일 단위로 소개
  • ZeroPageSeminar . . . . 3 matches
         앞으로 계획되어 있는 세미나 입니다. 자세 사항은 세미나별 페이지에서 확인하세요.
         || 이승 || 유비쿼터스의 기술 현황, 발전정도... || .||
         그동안 있었던 세미나에 대 기록입니다.
  • ZeroPageServer/FixDate . . . . 3 matches
         rdate -s time.kriss.re.kr <- 국 표준관련 연구소 서버, 이 서버가 죽을때가 있다.
         그런데, rdate 가 이번 테스트 업그레이드 버전 부터 안되는 것이다. 새버전에서 servername 을 입력받을수 없다고 하는데, 왜그런지 모르겠다. 그래서 대안으로 이것을 사용다.
         root 권에서
  • ZeroPageServer/계정신청상황 . . . . 3 matches
         데블스 통합에 관련 처리는 데블스에 가입 년도를 적어 주시면 됩니다.[[BR]]
         '''z''':ZeroPage Server 계정 '''m''': MySQL 계정 '''c''':CVS 계정 '''r''':메일을 보낸 여부, '''j''' : jsp권 처리
  • ZeroPageServer/계정신청상황2 . . . . 3 matches
          * z:ZeroPage Server Telnet 계정 m: MySQL 계정 c:CVS 계정 r:답변 메일을 보낸 여부, j : jsp권 처리
         || 나휘동 || leonardong || 03 || 2003 ||c || leonardong 메일 || ||
         || 곽세환 || darkduck || 03 || 2003 ||zm || gaggachi 엣 메일 || zrmr ||
  • ZeroPager구조조정 . . . . 3 matches
         하지만 언제든지 정회원이 될 수 있습니다.( 정회원 조건에 만족 다면 )
         허아영, 조현태, 송수생, 이형노, 이규완, 남도연, 유선, 김민경, 김태훈, 석지희, 정수민
         김범준, 김재형, 김진아, 김희웅, 노상현, 박경태, 박수진, 박원석, 신기훈, 신혜지, 윤성복, 윤정훈, 이연주, 이재영, 이재혁, 이현정, 장이슬, 정서, 정윤선, 정진수, 정현지, 조재희, 주승범, 최경현, 최정빈, 하현욱, 재만
  • ZeroPage정학회만들기/지도교수님여론조사 . . . . 3 matches
          * 저학년 일수록 접해본 교수님이 적기 때문에 정확 분석을 위해 기명 투표를 합니다. 양해해주십시오.
         || 상용 || 0 || . ||
         = 투표 회원 =
  • ZeroPage회칙토론 . . . . 3 matches
          * 회칙이 될만것들 & 안건들
         이전 ZeroPage의 회칙이 있다고 알고 있습니다. 구해서 참고다면 좋을텐데요. --이덕준
         회칙을 정할 때 "'제2조 회원관리 제3항 회비'" 뭐 이런 식으로 하는 건가요? 그렇게 다면 하드카피 문서로 만들어서 신입회원들에게도 줘야겠네요... ^^;; --["창섭"]
  • ZeroWikiHotKey . . . . 3 matches
         3. 단축키로 기능을 분류하지 않고. 기능으로 단축키를 분류하였습니다. 단축키로 기능을 분류 페이지는 [woodpage/VisualC++HotKeyTip] 가 있습니다.
         AnswerMe [ZeroWiki]의 [HotKey]를 모아놓은 페이지를 본적이 있었는데. 찾을수가 없네요;; - [이승]
          멋진 페이지네요~>__<ㅋ 그런데 이것 말고 [ZeroWiki]의 페이지에서 본적이 있는것 같은데. - 이승
  • [Lovely]boy^_^/Book . . . . 3 matches
          * Effective C++ SE(대림) - 대충 번 봤음
         == 효율적인 프로그램을 위 책 ==
          * 컴퓨터 시스템 어셈블리어 교재 - 제본거 - 역시..--;
  • [Lovely]boy^_^/Diary/2-2-10 . . . . 3 matches
          * SBPP 서문, Introduction 읽었다. 읽으면서 첨에 나온 예제를 C++ 예제로 바꾸어 보았다. 이제 슬슬 문법이 감이 오기 시작다.
          * XB 진짜로 시작. 재동이가 고객이 되어서, 재동이가 준비해온 네트워크 오델로를 짜기로 했다. 처음에는 기대감에 마구마구 넘쳐서 침을 튀겨가며 얘기를 했지만, 나중에는--; 결국 통합은 실패했다. 기초부터 시작해야 할듯싶다. 하지만 배운것도 많았다. 재미도 있었고.. 글구 혜선이가 고객을 해주기로 했다. 이제 프로젝트가 본격적으로 시작이 된다. 낼부터 2주정도는 간단 프로그램으로 TDD와 호흡 맞추는데 주안점을 둘 생각이다.
          * 오늘의 XB는 삽질이었다.--; Date클래스의 날짜, 월 등등이 0부터 시작다는 사실을 모르고 왜 계속 테스트가 failed하는지 알수가 없었던 것이었다. 덕택에 평소엔 거들떠도 안보던 Calendar, 그레고리Date, SimpleData등등 날짜에 관련된 클래스들을 다 뒤져볼수 있었다. 하지만..--; 결국 Date클래스에서 끝났다. 이제 UI부분만 하면 될듯하다.
  • [Lovely]boy^_^/Diary/8/11_8/17 . . . . 3 matches
         || 종류 || 것 || 성과 || 코멘트 ||
         || 종류 || 것 || 성과 || 코멘트 ||
          * 친구랑 술
  • [Lovely]boy^_^/Diary/8/6_8/10 . . . . 3 matches
         || 종류 || 것 || 성과 || 코멘트 ||
         || 종류 || 것 || 성과 || 코멘트 ||
         || Python || 비행기 게임 || 간단 회의, 앞으로의 예정 || 변태겜이 되갈 예정--; ||
  • [Lovely]boy^_^/USACO/BrokenNecklace . . . . 3 matches
          * 역시 해석 삽질로;; 이상 길로 빠졌다는;;
          * 역시 테스트를 마니 해봐야 다는 걸 뼈저리게 느낀 문제였다는;;
          * 전혀 생각도 못 경우가 튀어나와서 그걸 생각 못해준게;;
  • c++스터디_2005여름/실습코드 . . . . 3 matches
         [C++스터디_2005여름] 참가자가 스터디 날 공부 내용을 올리는 공간입니다.
         [study C++/ 유선]
  • callusedHand . . . . 3 matches
          ''DeleteMe) 처음 독서 방법에 대 책에 대해 찾아봤었을때 읽었었던 책입니다. 당연 말을 하는 것 같지만, 옳은 말들이기 때문에 당연 말을 하는 교과서격의 책이라 생각합니다. 범우사꺼 얇은 책이라면 1판 번역일 것이고, 2판 번역과 원서 (How To Read a Book)도 도서관에 있습니다. --석천''
  • comein2 . . . . 3 matches
          * E-BANKING 시스템 기반 사용자 인증 방법에 대 연구
          * J2EE 환경에 대 공부 (EJB , SQLJ , SERVLET)
          * 간단 분산 어플리케이션 만들기 (["코바예제/시계"])
  • fnwinter . . . . 3 matches
          몇가지만 완료하면 Free 하게 생활할 수 있을 텐데. 앞으로 달반은 더 고생해야 할 듯.(2005.4.18)
         = 다른 사람들을 위 공간 =
          도서관에 메모리 관련 패턴책이 들어왔던데. ISBN:0201596075 . 웬지 자네나 남훈이 틱 책 같아서. 혹시 신청하신건지? --[1002]
  • html5/VA . . . . 3 matches
          * source 요소에 속성들을 지정하여 미디어 데이터의 출력을 원활하게 다.
          * type 속성 지정을 통해 재생할 수 있는 미디어 데이터인지를 다운로드하지 않고도 판단다.
          * 사용자 중심의 편리 미디어 플레이어를 만들수 있다.
  • html5/geolocation . . . . 3 matches
          * 프로그램을 실행하는 디바이스의 위치 정보를 얻기 위 API
          * 현재 위치를 번만 받는 메서드
          ||timeout||위치 정보 확인에 시간제 설정||
  • html5/video&audio . . . . 3 matches
          * source 요소에 속성들을 지정하여 미디어 데이터의 출력을 원활하게 다.
          * type 속성 지정을 통해 재생할 수 있는 미디어 데이터인지를 다운로드하지 않고도 판단다.
          * 사용자 중심의 편리 미디어 플레이어를 만들수 있다.
  • html5/web-storage . . . . 3 matches
          * 기존 key/value 값을 저장하던 cookie의 단점 보완 (크기제, 스크립트 저장, 영구 저장 등)
          * 세션이라는 이름에서 볼 수 있듯이 현재 브라우저 창에만 유효 저장공간이다.
          * 문서를 만들고 보니까 http://dev.w3.org/ 의 내용이 가장 충실하고 확실하다는 걸 알게 되었음. - 이승
  • while문 구구단 . . . . 3 matches
         페이지의 출처를 알려주세요~ 가령, 스터디에서 작업이라면 스터디명/구구단출력 이런 식으로 페이지 이름을 만들어 주시면 됩니다.
         예전에 선배님들께서 저테 하신 말씀이 생각나, 마디 적고 갑니다~ : ) -- 허아영
  • whiteblue/MyTermProject . . . . 3 matches
         void copy() // 데이터 훼손을 방지하기 위 데이터 카피
         int input() // 올바른 입력을 위 입력함수
         void pass() // 바로 넘어가지 않기 위 함수
  • whiteblue/파일읽어오기 . . . . 3 matches
          음. 근데 이거 스펙대로 건가? 스펙에는 linked list 아니면, array 쓰라고 것 같은뎅..-_-a - 임인택
          음. 정확히 linked list 라고는 말할수 없고.. 친척 정도라고 말할수 있으려나. 두개 사이에 교집합이 존재하지만, 어떤것이 다른 하나에 속것은 아니니 - 임인택
  • wiz네처음화면 . . . . 3 matches
         || Study Chiness(자능력검정시험3급) || ▷▷▷▷▷ ||
          * Collage Library: Book Number 0000507310 디자인 패턴, 0000494011 위대 승리, 0000387354 설득의 심리학, 0000476065 유비처럼 경영하고 제갈량처럼 마케팅하라, 0000317364 로마인 이야기, 0000345061 커피 잔에 담긴 성공신화...., 멘큐의 경제학..? 0000553812 사람을 움직여라 : MK택시 유봉식 회장의 성공철학!
  • ㄷㄷㄷ숙제2 . . . . 3 matches
         1.if 문을 이용 업앤다운 ;;
         2.switch 문을 이용 업앤다운;;
         또가지 질문~! 위 소스에서 정답을 맞추지 못할경우 다시 스캔에프로 가서..
  • 강연 . . . . 3 matches
          * 아무나 가도 되나요? 근데... 영어로만 강연하면 곤란데... -[윤성만]
          - 아무나 가도 되는것 같던데. 영어라고 너무 걱정하진 말길. 다 알아들을 사람은 아무도 없으니. 번두번 계속 참석하면서 익숙해지는거지. 나도 영어로 진행되는 강연은 이번에 두번째밖에 안된다우. - [임인택]
          * 소주잔+고추가루 컴비네이션 원츄~ - [임인택]
  • 개인페이지 . . . . 3 matches
         개인페이지를 만들지 않으신 분들이 보이는데요. 개인 페이지는 여러 의미와 용도가 있습니다. 기본은 위키를 이용 자신의 계획과 일정 관리, 그리고 공통된 관심사를 가진 사람들끼리 자연스럽게 생각을 공개해서 모이게 유도 합니다. 그리고 개인 공간을 가짐으로 해서 위키에 대 좀더 높은 접근 횟수를 유도 합니다. 가장 중요 이유는 누가 누군지 확실히 알수도 있겠죠? 일단 프로젝트에 참여하는 모든 분들은 개인 페이지를 만들고 관리 합시다. --상민
  • 경시대회준비반/BigInteger . . . . 3 matches
         C++ 용 BigInteger 클래스로 거의 모든 연산을 지원다. UVA 사이트의 구식(?) 컴파일러에도 문제없이 통과할 뿐 아니라, 성능또 훌륭하다. 고정도 정수 연산을 하는 문제의 경우, 고정도 연산을 하는 라이브러리를 본인이 직접 짜거나, 이 클래스를 이용하면 된다. 몇 일동안 삽질 결과 후자가 낫다는 판단이 선다. 되게 잘 짜여진 코드다. 시간 내서 분석해봐야 겠다.
  • 공업수학2006 . . . . 3 matches
          * 전주 연습문제 풀이, 당일 수업중 이해되지 않는 부분 같이 생각하기, 설명부족 부분 찾아오기
         이번 모임은 5시에 시작하면 어떨까요? [지금그때2006]때문에 6시에 시작다면 저는 중간에 나가야 하거든요. 시간 당기면 모두 같이 [지금그때2006]에 갈 수도 있고요. -- 휘동
  • 구자겸 . . . . 3 matches
         이멜 : dolly84 골뱅이 맬 닷 넷
         요즘 뭐하시느라 번도 못나오세요 -- 이승
  • 김동준/원맨쇼Report/08김홍기 . . . . 3 matches
          # 채널링 - 특정 스킬을 유지하기 위 동작 <움직이면 캔슬>
          *적절 아이템의 사용
  • 김민재 . . . . 3 matches
          * [데블스캠프/2013] Speaker - "Opening", "새내기의,새내기에의,새내기를위C언어"
          * 자 자격증 취득
  • 나는이런곳을즐겨찾는다 . . . . 3 matches
         즐겨 찾는 유용 사이트를 적어봅시다.
         || http://www.changgo.com/ || 새로운 음반에 대 정보를 얻는다 || . ||
         === 마디 ===
  • 나를만든책장관리시스템 . . . . 3 matches
          * [나를만든책장] 의 책들을 관리다.
          * 지독 감기몸살과 휴우증에 일주일이 날아갔다. 아 우울해.
          * 옷. 첨뵙는 분이네요. ^^ [사용설명서] 를 참고하세요. 위키는 자유공간이기 때문에 이것저것 시도하면서 배운답니다. [사용설명서] 에서 애매 부분이 있거나 읽고나서도 사용에 어색하다면 다시 말씀해주세요. : ) --[창섭]
  • 니젤프림 . . . . 3 matches
         [http://nijelprim.egloos.com 블로그에 놀러와] 광고도 번 눌러주면 좋고 -_-
         == 본 책 (자랑할 만) ==
         불당들의 세계사, 호르헤 루이스 보르헤스, 민음사
  • 답변 및 의견 1 . . . . 3 matches
          * 나도 처음에는 editplus 쓰다가 바꿨는데,[[BR]]간단거 짤때는 editplus 써도 상관 없는데 이게 프로젝트 단위로 되면 eclipse가 편데 그이유
          * 무엇보다 편것은 자동완성 기능.[[BR]]비주얼 스튜디오 처럼 점 찍으면 고르는거 나오는 자동완성 기능이 편함.
  • 데블스캠프2002/Afterwords . . . . 3 matches
          * 피곤 했다. ㅠㅜ, 그리고 데블스캠프가 내가 보기에는 괜찮았던거 같다. 내가 1학년때 이런 캠프가 있었다면 지금 보다 더 나은 내가 있었을지도 모른다는 생각도 들었다. 그리고 기초가 부족했던 나도 데블스 캠프를 통해서 몰랐던거 많이 배웠다. ㅡㅡ;, 특히 지금에서야 말하지만 그때 이중 포인터는 나도 번도 안써봤고 생각도 안해 봤던 것인데 그것을 신입 회원 들에게 설명을 해줬다. ㅠㅜ 아 찔린다. 그런데 역시 설명하는 입장이 되니깐 이해가 더 팍팍 되는거 같다. 긴장을 해서인지(아마 이중 포인터 설명 나올때부터 긴장해서 듣었는지도 모른다. 나중에 그것을 설명해줘야 할 입장이 될테니..) 써본적도 없었지만 마치 많이 써본것 처럼 설명을 해줬다. 그래도 틀리게는 설명 안해준거 같다. (이게 과외의 노하우 일지도.. 위급 상황에서는 인간의 능력은 없이 향상되는거 같다.) 음, 하여튼 데블스 캠프때문에 집에도 늦게 내려가고 기숙사도 빠져서 기숙사에서 잔소리좀 듣었지만, 나에게는 좋은 경험이었다. - 상협
  • 데블스캠프2003 . . . . 3 matches
         == 재학생 참가자 (여기에 적어주세요! 참가자 수 제 없음) ==
          * 자신이 맡아서 할 수 있을만 주제가 존재하면 같이 적어주시면 감사하겠습니다. (- -) (_ _) -[상욱]
         == 신입회원 참가자 (여기에 적어주세요! 참가자 수 제 없음) ==
  • 데블스캠프2003/넷째날/후기 . . . . 3 matches
          * OOP 는 알아듣기랑 변수를 선언하는게 힘들거 같지만,,, 그래도 잘 알게되면 쓸만 것 같다.. OOP를 이용해서 프로그램을 짤 수 있었으면 좋겠다... 근데 이걸 언제 배울까... ㅡㅜ;; -- [손동일]
          * 드디어 페어 성공!! >ㅁ<)/ 게다가 아트코딩.. 뭔가 뿌듯 밤이었습니다 ^ㅡ^ --[방선희]
          * 말로만 OOP 설명들었을땐 정말 매력적이고 강력해서 OOP만 사용할 줄 알았는데 코딩하는 과정을 보니 너무 복잡 것 같다. 많은 매서드를 사용하므로 매서드 명명에 유의해야겠다는 생각이 들었다. --황재선[aekae]
  • 데블스캠프2004/위키항해소감 . . . . 3 matches
          * 2004년 데블스캠프 첫날에 위키를 항해하고 느낀 점을 토의 것을 적은 페이집니다.
          * 오후근: 참 대단 사이트.
          * 임영동; 위키가 방대하다는 것을 다시 번 실감.
  • 데블스캠프2005 . . . . 3 matches
         '''참가 후기를 적어주세요'''
         [데블스캠프토론] - 읽어볼만 페이지 인것 같습니다.
         데블스캠프 소개에 필요 자료.
  • 데블스캠프2005/RUR-PLE/Harvest . . . . 3 matches
         || [데블스캠프2005/RUR-PLE/Harvest/이승] ||
         #앞으로 칸가서 삐삐줍기
         #앞으로 칸가서 삐삐줍기 연속 5번
  • 데블스캠프2006/준비 . . . . 3 matches
         - 수 : 자료구조, 알고리즘, 재귀호출 / 상섭, 기웅, 보창, 성민, 민경 '''<- 여기에 알고리즘도 넣기로 거 아니었나요?''' - [상규] - 맞아요
          * 겁내 빡빡데 나도 데블스 캠프 시간중 정해지지 않은 시간 혹은 대타용으로 좀 널럴걸로 하나 할께~ 여차 하면 [RUR-PLE] 재탕도 ㅋ -[상협]
  • 데블스캠프2009/금요일/SPECIALSeminar/조현태/변형진/김준석 . . . . 3 matches
          1. 우선 연구실 일때문에 늦게 온 점이 아쉽다. 역시 디버깅 전에는 충분 생각이 있어야 할것 같다. 목표를 잘 세워야 할것 같다.
          1. 일단은 기본이 중요하다. 그리고 기본에대 방향성에 대해 어느정도 감이 잡히는듯 하다.
          3. 영어, 프레젠테이션 능력 등. 발전된 능력을 더욱 다듬는게 좋지만 나에게 부족 말하기와 쓰기능력을 연습하는게 계획.
  • 데블스캠프2009/목요일/연습문제/MFC/서민관 . . . . 3 matches
         뭔가 찜찜 계산기. 구조상 *와 / 연산이 불가능하다... 또 추가 함수를 만들지 않아서 버튼 구조를 똑같은 것을 9번 반복
         키보드 입력으로 midi 소리가 나게 만드는 소스. 같은 폴더에 MidiOut.cpp와 MidiOut.h가 있어야만 작동다.
  • 데블스캠프2011/첫째날/오프닝 . . . . 3 matches
          * 문법도 아주 간단하다. [http://nforge.zeropage.org/projects/devilscamp2011/wiki/WikiTutorial (문법에 대 안내사항)]
          1. 위키 사용자 등록 후 로그인다.
          2. 이 페이지를 고쳐 자기 이름을 추가다.
  • 땅콩이보육프로젝트2005/개발일지 . . . . 3 matches
          * 입력 : 위키에 땅콩 페이지 개설 후 '입력'란에 입력받고 확인을 누르면 입력된다. 내용의 수정의 위해 '수정' 버튼도 존재다. 그 아래에 같은 형식으로 '가르치기' 도 존재다.
          * DB와 연계 인공지능을 생성하여 모의 실험 가능하게 만듬.
  • 똥배짱 . . . . 3 matches
         [똥배짱]에도 해법은 있나보다. 버스를 타고 가다가 라디오에서 알콜중독자 가족에 대 사연을 들려주었다. 알콜중독인 남편을 입원시키는 대신, 가족의 사랑으로 이겨낸 감동적인 이야기였다. 술을 끊지 못하는 남편, 아버지를 골칫거리로만 생각하던 가족에서, 발도 씻겨주고 술동무도 되어 이야기를 나누면서, 결국 알콜중독을 이겨내는 변화를 만들어냈다. 알콜중독이 [똥배짱]과 통하는 면이 있다는 면에서 생각했다. [똥배짱]에는 말로 백 번 설득하는 것보다, 행동 번 잘하는 것이 효과가 있다. 감성을 움직일 수 있다면, [똥배짱] 부리는 사나운 이들도 순 양처럼 길들일 수 있다.
  • 레밍즈프로젝트 . . . . 3 matches
         박진하, 유주호, 이승
         아이디랑 이런거 주는거 땜에 너도 함 읽어봤음
         || [레밍즈프로젝트/이승] || 위키문서화, 그래픽 출력 프로토타이핑 ||
  • 레밍즈프로젝트/프로토타입/MFC더블버퍼링 . . . . 3 matches
         클래스 내부에는 윈도우 핸들이 없기 때문에 GetClientRect를 사용하지 못다. 따라서 전달인자로 CRect가 전달된다.
         getMemDC()를 통해서 생성자를 통해 확보 메모리DC 포인터를 전달받아 그림을 그린다.
         그림을 뿌려주고 동적으로 생성된 메모리와 오브젝트들의 할당을 해제다.
  • 레밍즈프로젝트/프로토타입/마스크이미지 . . . . 3 matches
         레밍이미지와 배경을 자연스럽게 합성하기 위해서 사용다.
         두장의 이미지 중 장은 그림의 형태를 나타내고, 장은 실제 이미지이다. 실제이미지중 그림의 형태에 겹치는 부분만 출력되는 방식이다.
  • 레밍즈프로젝트/프로토타입/파일스트림 . . . . 3 matches
         전화받아라 이승-_-
          *ps2 = NULL; // NULL 문자로 끝나게 다.
         가상화면을 생성하고, 가상화면에 그린것을 화면으로 복사하고 , 가상화면을 지우는 작업등이 추가 되어야 다.
  • 로마숫자바꾸기 . . . . 3 matches
          * 로마 숫자는 ⅩⅠⅤ 세 종류만 사용다.
          * 입력 자료는 99 미만으로 다. 99: 종료
          * '''ㅈ + 자키 '''에 로마숫자있다. 또는 여기 페이지에서 복사해서 사용.
  • 로마숫자바꾸기/조현태 . . . . 3 matches
          엥.. 갑자기 로마숫자 라니.ㅎ 저번에 글로 바꾸는 거에서 글 데이터 대신 로마숫자 넣으면 땡이자넝..;;
          그래도 뭐.. 로마숫자에게만 맞는 특별 걸 짜보자는 느낌으로 GOGO~!
  • 문자반대출력/김태훈zyint . . . . 3 matches
         strlen이라는 기본 함수가 있긴데(아영이 소스 보고 알았음;;)
         소스파일이 글이면 제대로 리버스가 안되요 ㅠㅠ
         === 나테 할 말 ===
  • 문자반대출력/조현태 . . . . 3 matches
         처음 테스트 파일이 러브데스티니의 가사여서 글이 있었다..OTL
         어쨋든 글도 되게 만들었다.^^
  • 문자열연결/허아영 . . . . 3 matches
         자료구조에 대 문제라고 되어있어서 올려봤다.
         책이 이제 조금 있으면 스택, 큐 그리고 정렬에 대 문제들이 많다.
         === 나테 할 말 ===
  • 문제풀이 . . . . 3 matches
         || 04 || [이승] ||
          * [이승] : C++ class 부분 스터디 함께 할실 분을 구합니다. 이노무 클레스가 몬지!! // 박지나, 신기철, [이승] [Westside]
  • 문제풀이/1회 . . . . 3 matches
          1. 다음과 같은 공백으로 구분되는 임의의 숫자 입력이 주어질때 최대, 최소값을 출력하세요.[[BR]](데이터 양은 [Python]과 머신이 처리할수 있는 범위내로 정)
          - 제가 아는선(문법)에선 이방법이 가장 간단듯; - [임인택]
          이런 경우를 개선하기 위해서 map 함수가 있는것입니다. 이를 Haskell에서 차용해와 문법에 내장시키고 있는 것이 List Comprehension 이고 차후 [http://www.python.org/peps/pep-0289.html Genrator Expression]으로 확장될 예정입니다. 그리고 print 와 ,혼용은 그리 추천하지 않습니다. print를 여러번 호출하는것과 동일 효과라서, 좋은 컴퓨터에서도 눈에 뜨일만큼 처리 속도가 늦습니다. --NeoCoin
  • 박수진 . . . . 3 matches
         ② 달에 책 권씩 읽기
         졸랭웃겨 -_- ㅋㅋ [유선]
  • 분류패턴 . . . . 3 matches
         페이지 하단에 '''XXX분류''' 라는 링크를 남겨서 그 정보를 위키시스템이 이용할 수 있도록 다. 위키의 전체 페이지 내용검색 기능을 이용해서 같은 분류에 속하는 페이지만 찾아낼 수 있다.
          * 기본적으로 다음의 분류들이 존재다. 추후 다른 분류들을 생각할 수 있겠다. 해당 분야에 대해 바라보는 시각에 따른 분류가 필요할때는 wiki:NoSmok:지도패턴 을 이용하는 것이 더 효율적일 것 같다.
          * 가급적 프로젝트들은 Project 네임스페이스를 적용하고 프로젝트가 끝나면 문서구조조정을 통해 일반화된 페이지들을 빼낸다. 이렇게 함으로서 비슷 주제들에 대해 묶을 수 있을 것이라 생각된다.
  • 빵페이지/도형그리기 . . . . 3 matches
          * 오호~ 잠도 안 자고 거야?? 난 그냥 잤는데ㅋ - 일정
          * 같은 생각으로 작성다면 소스가 어떻게 표현될까 궁금했다. 소스양만 따지면, Python 을 위 문제인가.
  • 삶은가장큰웃음이다 . . . . 3 matches
          * 이책은 아주 많은 것을 느끼게 해준 책이다. 여러가지 느낀점이 많다. 현재에 불행 사람은 없다라는 말도 인상 깊었다. 그리고 과거나 미래에 집착하지 말고 지금 현재에 집중하라는것도 나에게 자각을 주었다.
          * 배우는 방법에는 단 가지 그것은 바로 사는것, 체험하는 것.
          * 쪽으로 기울어서 떨어질 것 같을 때마다 다른 쪽으로 몸을 기울였다네.
  • 새싹교실/2011/GGT . . . . 3 matches
          * 선생님이 잘못 점도 부담없이 말해주세요. 보다 더 좋은 수업을 위 일입니다.
          * feedback은 최대 성의있게 써주세요.
  • 새싹교실/2011/GGT/L1&L2 . . . . 3 matches
          * 컴퓨터에 대 기초적 내용
          * 선형대수학에 시간을 너무 할애것 같다. C언어를 메인으로 할수있도록 해야겠다.
          * 막상 생각했던 것들을 잘 얘기하지 못것 같다. 수업전에 수업할 내용을 정리&기록 하도록 해야겠다.
  • 새싹교실/2011/무전취식/레벨5 . . . . 3 matches
          * Else가 의도 if와 짝을 이루지 못하고 있는 상태를 Dangling Else라 합니다.
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • 새싹교실/2011/씨언어발전 . . . . 3 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
         강사의 안일 태도로 2주나 새싹을 못했습니다..
  • 새싹교실/2011/씨언어발전/6회차 . . . . 3 matches
          * 포인터를 이용 동적할당
         포인터란 메모리의 주소를 말다.
         동적할당에 대해서도 배웠는데, 동적할당은 배열의 개수가 정해지지 않았을때 쓰는 배열을 말다.
  • 새싹교실/2012/새싹교실강사교육/3주차 . . . . 3 matches
         코딩을 하다 보면 자신의 코드를 다시 번 점검해야 하는 경우가 꼭 생깁니다. 하지만 항상 문제가 생기죠. 이게 main문의 괄호(curly bracket : {} ) 인지 for문의 {} 인지 헷갈릴 때가 있죠? 이번 시간 이후에 번 검색해보세요. 코딩 띄어쓰기, 괄호를 어떻게 붙여야 하는지에 대해서 말입니다. 꼭! 잊지 마세요. 중요하답니다.
         3.2 같은 타입(Type)의 변수를 꺼번에 관리해주는 배열(array)란?
  • 새싹교실/2012/아무거나/1회차 . . . . 3 matches
         1. 줄씩 디버깅 f10 을 이용하면 그 말 그대로 실행된다 줄씩
         3. 빨간공을 설정을 초록색줄 왼편에 클릭을 하면 설정이 되고, 그것을 설정 후에 f5 를 누르면 그 줄이 실행이 된다.
  • 새싹교실/2012/아우토반/앞반/4.19 . . . . 3 matches
          default : printf("이상거 입력하지마용\n\n\n");
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • 새싹교실/2012/아우토반/앞반/4.5 . . . . 3 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
          * 아 왜이렇게 머리에 안들어오지. 눈으로 보는거랑 직접하는거랑 너무너무 다른것 같습니다. 역시 코딩은 많이해봐야 제맛인것 같습니다. 다음에는 미리 책을 읽고 개념에 대 이해를 먼저 해와야할것 같습니다.
  • 새싹교실/2012/절반/중간고사후 . . . . 3 matches
         === 공부 것 ===
         === 공부 것 ===
          * 지금까지 것중 잘모르겠는것
  • 새싹교실/2013/록구록구/2회차 . . . . 3 matches
          * 간단 wiki 사용법
         ''' 뭔 말이지? 라고 하는 당신을 위 설명 '''
         wiki에서 활동했던 내역들을 보니 선배들이 대단것같고 지금 이걸 치고있는 나도 컴퓨터신동이된 기분이다:-) .
  • 새싹교실/2013/록구록구/8회차 . . . . 3 matches
          * 배열에 대 대략적인 설명
          * 다양 배열의 초기화 방법
          * 반복문을 활용 배열의 장점 및 사용법
  • 새싹교실/2013/양반/4회차 . . . . 3 matches
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
         오늘 if문과 for문을 복습했는데 정말 유익 시간이었습니다.
  • 새싹교실/2013/양반/6회차 . . . . 3 matches
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
         함수에 대 이해가 증진되었음 n! nCr을 짤수 있음.
  • 새싹스터디2007/영동 . . . . 3 matches
          * 포인터 기초적인 부분.(선언 및 사용/값에 의 전달과 포인터에 의 전달)
         ||이름||포인터를 이용 두 수의 swap||
  • 생각 . . . . 3 matches
         어휘부족 - 제가 머리속으로 묘사하려는 단어를 직접 골라내기 힘들군요. 근데 느끼죠? 뭘 말하려는지? 글 교육을 제대로 못받았던가, 아니면 글의 어휘표현에 계가 있는게 분명해. --v ["nautes"]
  • 선택과집중 . . . . 3 matches
         마음만 먹는다면 '무엇이든' 할 수 있다는 말이 있지만, 당신이 '모든 것'을 할 수는 없다. 삶은 우리에게 무대의 선택을 제공다. 하지만, 우리가 그것들을 '선택'이라고 부른다는 사실은 우리가 그것들 모두를 가질 수는 없음을 보여준다. 우리가 성숙해지려면 우리의 삶을 규정하는 선택과 노력을 제대로 해야 다.
  • 성균관대게임개발대회 . . . . 3 matches
          * 옛날에 만들었던 [3DAlca]를 디자인좀 이쁘게 바꾸고, 사운드 효과도 넣은 다음 네트워크 대전식으로 바꿔서 번 내볼까 하는데, 3D에 관심 있거나, 네트워크 프로그래밍 번 해보고 싶은 사람 있으면 같이 해보고 싶음. 만약 같이할 사람 없으면 지금 하고 있는 프로젝트도 있고 해서 할 여력이 안될거 같음.(특히 네트워크 프로그래밍 할 사람 없으면 절대 이 프로젝트 진행할 여력이 안됨), 방학하고 나서 본심때까지 달하고 조금더 남은 기간인 만큼, 기간은 충분하다. 같이 해보실 분은 리플 달아 주세요 -[상협]
  • 소유냐존재냐 . . . . 3 matches
          * 인간의 본질적인 문제라고도 할 수있는 소유와 존재의 문제에 대 에리히 프롬의 통찰력을 엿볼 수 있는 책
          * 이책은 제목 때문에 읽게 되었다. 제목은 내가 생각해 보았던 문제에 대해서 무엇인가 해답을 제시해 줄거 같았기 때문이다. 나는 지금까지 소유 문제에 대해서 많이 생각해 보았었다. 고등학교때 논술을 많이 썻었는데 이때 특히 많이 생각해 본거 같다. (논술은 고통스럽지만 사고력은 키워주는거 같다. ㅡㅡ;;) 그런데 이책은 소유문제에 대해서만 논하는게 아니라 그와 대비되는 개념으로 존재라는 개념을 제시 했다. 솔직히 이책 중간 정도 부분에서 이해 안되는 부분이 많아서 대충 넘어 갔다. ㅡㅡ; 이책은 내가 어렴풋하게만 생각했던 개념이나, 생각들을 명확하게 인식하게 해주었다는 점에서 큰 의의를 가진다. 그리고 마지막에서도 현대 사회의 문제점에 대 해결책을 현실성은 부족하지만 그래도 명확하게 제시해 주어서 속 시원했다. 번 밖에 안 읽었고 읽은지도 꽤 되어서 이 외에는 별로 생각나는게 없다. ㅡㅡ;, 이책이 전달하고자 하는 것을 완전히 이해할때까지 더 반복해서 나의 생각과 비교하면서 읽어 봐야 겠다.
  • 소프트웨어장인정신 . . . . 3 matches
         소프트웨어를 개발하는데 장인정신이라는 비유를 사용다. 프로세스와 프로세스 산출물에 초점을 맞추는 소프트웨어 엔지니어링은 규모가 작은 프로젝트에는 좋은 선택이 아니다. 평범 소프트웨어 개발자 여럿을 두고 이를 관리하기보다 장인 소프트웨어를 개발자 명을 고용하는 편이 속도나 품질 모두에서 낫다. 따라서 전통적인 수공업에서 나타나는 도제생활이 초보 프로그래머에게는 필요하다. 프로그래머는 도제를 거쳐 중간 장인으로, 결국에는 장인으로 성장하게 된다.
  • 순차적학습패턴 . . . . 3 matches
         ...학습할 작품([지식샘패턴])을 선정 다음 이를 연대순으로 학습다면 훨씬 이해하기 쉬워질 것이다.
         '''작가는 서로를 반박하고, 서로의 아이디어를 확장하고 부차적으로 서로를 참조하기 때문에 작품을 연대 순으로 학습하지 않는 경우 독자는 중요 연결고리를 놓치거나 오해하기 쉬워진다. 일부 작품은 순서대로 학습하지 않으면 절대 이해할 수 없을 수도 있다.'''
  • 숫자를한글로바꾸기/허아영 . . . . 3 matches
         === 나테 할 말 ===
          - 리팩토링은 프로그램을 완성 후에 하는것이 아니라 프로그래밍을 하는 도중에 하는게 더 좋다고 생각합니다. - 임인택
         [LittleAOI] [숫자를글로바꾸기]
  • 숫자야구/강희경 . . . . 3 matches
         이 코드를 다시번 [리팩토링]하여 보세요. 프로그램을 조금 더 이해하기 쉽게 그리고 코드의 모양을 좀더 이쁘게 바꿀 수 있지 않을까요? 이미 작성했던 코드를 다시 작성다거나, 기존에 자신이 작성했던 코드를 [리팩토링]다면 많은 것을 얻을 수 있을 것입니다. [임인택]
  • 시작이반 . . . . 3 matches
         '발명광'이라 불리는 프랭클린은, 번개가 칠 때 연을 날리는 실험을 함으로써 번개가 전기임을 증명하여 피뢰침을 발명 것으로 유명하다. 어느 날 그는 또 하나의 발명을 하여 친구 집에 뛰어가 자랑스럽게 그것을 보여 주었다. 그런데 계속되는 그의 발명에 약간 싫증이 난 친구는 "도대체 그렇게 유치 것을 만드는게 뭐가 대단하며, 무슨 소용이 있나?" 라고 말했다. 그러자 프랭클린은 옆에 누워 있던 갓난아이를 가리키며 이렇게 반문하였다. "그렇다면 이 아기는 무슨 쓸 데가 있는가?"
         '''모든 창조(발명)에는 가능성이 내재 되어있다'''라는 것을 말하기 위해 인용 것 같은데 '''일단 만들고 그 용도를 찾아본다'''라고 잘못 이해될 소지가 있습니다.. -[강희경]
  • 안윤호의IT인물열전 . . . . 3 matches
         [마이크로소프트웨어] 에서 연재중. 단순히 기술적인 부분이 아닌, 컴퓨터 역사 자체를 조명하고 관찰하는, 정말 재미있는 글들이 많다. 마소에서 몇 안되는 정말정말 읽을만 거리.
         [http://www.zdnet.co.kr/hotissue/devcolumn/article.jsp?id=56863 우연이 창조 킬러 애플리케이션]
         [http://www.zdnet.co.kr/hotissue/devcolumn/article.jsp?id=53566 백업이 없어 더 진지 벼룩의 삶]
  • 알고리즘8주숙제 . . . . 3 matches
         Optimal Binary Tree는 Dynamic Programming 기법으로 풀리는 유명 문제입니다. 그누스 형님 방법에 의하면 O(n<sup>2</sup>)으로 풀립니다. 그러나 우리는 이보다 점근적으로 더 빠른 휴리스틱 버전을 작성해야 합니다.
         다음과 같이 input 이 들어온다고 가정합시다. 여기서 맨 앞 하나의 정수는 노드의 수를 나타냅니다. 그 밑으로 노드에 대 정보가 입력됩니다. 노드의 처음은 key 값이고, 그 다음 값은 확률(확률은 1이상의 정수로 임의로 입력) 입니다. 하나의 노드를 검색했을때 실패하는 경우는 없다고 가정합시다. 최적의 평균탐색시간을 가지는 이진탐색트리를 구현하고 다음을 출력하시오.
         Inorder 순회를 통해 각 키값을 모두 출력하고, 또 각 키값의 탐색시간의 합계를 출력하시오.
  • 영어단어끝말잇기 . . . . 3 matches
          - 재밌어보이기는 데, [문두삽입방식]을 사용해야 할 것 같고, 페이지가 길어지면 내용정리가 필요할듯.. - [임인택]
         더불어 뜻은 글로 바로 적지 말고 영영사전(예를 들면 [http://www.oup.com/elt/global/products/oald/lookup/ OALD])을 이용해 적어주는 것도 괜찮을 듯.--[Leonardong]
          간단 단어는 영영사전없이 영작하는 것이 좋겠군.--[강희경]
  • 오페라의유령 . . . . 3 matches
         웨버아저씨에게 상상력을 선사해준 소설이란? 원작에 상관없이 자신스타일로 작품을 만들어내는 웨버아저씨여서 (그래봤자 본건 하나뿐이지만; 편은 대본읽음). 개인적인 결론은 해당 소설로부터 자신의 주제의식을 뽑아낸 웨버아저씨 멋져요 이긴 하지만, 이 소설이 태어나지 않았더라면 Phantom of the opera 가 나타나지 않았을 것이란 생각이 들기에. (소설의 구성 등을 떠나서, Phantom 이라는 캐릭터를 볼때)
         뮤지컬의 이미지때문인지 (번도 안본 뮤지컬에 대해 이미지를 떠올리는것도 우스운 일이다. OST와 Sarah 의 뮤직비디오는 많이 보긴 했지만) 크리스틴을 볼때마다 사라아주머니의 젊었을때의 사진을 떠올렸고, Phantom 이 등장할때엔 그 Main Theme (Phantom 의 그 멋진 웃음소리와도 같게 들리는...) 를 떠올렸다.
          * EBS 에선가 Joseph and the Amazing Technicolor Dreamcoat를 방영해줬던 기억이 난다. 성경에서의 요셉이야기를 이렇게 표현할 수 있을까; 형 왈 '아마 성경을 이렇게 가르친다면 교회에서 조는 사람들 없을꺼야;' 어떻게 보면 '아아 꿈많고 성공 사람. 우리도 요셉처럼 성공하려면 꿈을 가져야해;' 이런식이였지만, 아주 신선했던 기억이 난다.
  • 위키놀이 . . . . 3 matches
         [부드러운위키만들기]의 가지방법인 [위키설명회2005] 행사중에 실시하는 놀이의 종합페이지
          추가할 글을 메모장에 미리 적어 놓고 짧은 시간에 수정하는 것도 요령입니다. - 이승
         || [최경현] || [이승] ||
  • 위키메뉴얼 . . . . 3 matches
         위키메뉴얼제작에 필요 그래픽을 캡쳐하기 위해 임의로 만든 페이지
          괜찮다면 삭제할 필요 전혀 없음. 데 그림이 안보임. --재동
         위키에 대 설명이 아직 많이 부족합니다. 지금 쓰다만 저런 형태말고 부드럽게 구어체로 정리할려고 합니다.
  • 유선 . . . . 3 matches
         유선입니다.
         [study C++/ 유선]
         [하노이탑/유선김민경]
  • 윤종하/지뢰찾기 . . . . 3 matches
          /*걍 멋있으라고 시작화면*/
          printf("입력 데이터에 따른 맵 및 데이터의 세팅이 성공적으로 완료됐습니다.\n3초 후 게임이 시작됩니다.\n");
          /*게임을 위 루프 시작*/
  • 이규완 . . . . 3 matches
         == 데블스 신기 거 ==
         text 파일 두개 만들어서 그 중 개에는 문자를 입력해~ㅋ
         나왔옹 [유선]
  • 이민석 . . . . 3 matches
          * 졸업논문: 하스켈을 이용 효율적인 알고리즘 설계
          * 회사는 구글이 답장을 스팸 메일에 쳐넣어서 달 뒤에 보고
  • 이승한/.vimrc . . . . 3 matches
         set scs "똑똑 대소문자 구별기능 사용
         " 폴딩 내용 문서 닫고나서도 기억하기
         [[이승]]
  • 이영호/숫자를한글로바꾸기 . . . . 3 matches
         (수정) 일의 자리의 "일"을 제외 함수 (주석문 추가)
          // if(strcmp(data[count], "일") != 0) // 일의 자리를 제외 각자리의 일을 빼준다.
         아무튼 이 소스를 달뒤에 수정하려면 생각을 많이 해야됨.
  • 이차함수그리기/조현태 . . . . 3 matches
         잠온다.. 졸고 줄작성하고,, 뭐작성했는지 까먹고.. 위에보고..다시줄 작성하고..
         그런데 모니터가 이상지 앞이 안보여서 어떻게 못하겠다는..
  • 인수/Smalltalk . . . . 3 matches
          * 머리에 쥐나는줄 알았다.--; 사소거 하나로 삽질게 몇가진지... --; 문법이 왜 이리 하던거랑 다른지.;;
          * 짜놓고 생각 : 이건 스몰토크프로그래밍이 아니다. C++/Java의 냄새가 너무 많이 나는것 같다. 부분부분을 좀더 간단하게 할 수 있을것 같기도 하다. 책을 더 봐야 할듯 싶다. 인스턴스 생성할때도 인자를 넘겨 받을 수 있을 텐데 잘 안된다.(지금 보니까 그렇게 하지 말라 다. 대충 찾아보니 팩토리 메소드를 많이 쓰는것 같다. 또 클래스 메소드 만드는법 알아낼라고 줄기차게 삽질을 했다.--;) do라는 좋은게 있었군.
  • 임인택/삽질 . . . . 3 matches
         난 지금까지 이게 컴파일 불가능 코드인걸 모르고 있었다...--;
         멋진데요?? ㅋㅋ -- [이승]
          컴파일 되는데요? 우리집이 이상건가...--[Leonardong]
  • 임인택/코드 . . . . 3 matches
         = (윈도우즈 프로그래밍) 글/영문 토글하기 =
          == 키보드 이벤트를 이용 아주 간단 방법 ==
  • 정모/2002.10.9 . . . . 3 matches
          *
          * 간단 인사와 함께 주점으로...;;
          * 저 많은 02들은 뭐지?? 명도 못봤는데....-,-;;; --재동
  • 정모/2002.3.28 . . . . 3 matches
          * 3~4월 사이 신입생들의 모집까지 공백이 달이나 있습니다. 그 안에 무엇을 했으면 좋겠는지 의견을 받고 싶습니다. --창섭
          * 세미나를 다면 누가 언제 어떤 주제로 누구를 대상으로 할 것인지도 정하면 좋겠습니다. 3월 마지막 정모이니만큼.. --창섭
         각자 적절 시기에
  • 정모/2002.9.12 . . . . 3 matches
          ''수업시간표 변경등으로 불편 예가 많아 수요일 5시반으로 결정. 세미나실은 매번 쓰지 않아도 되기 때문에 변경 결정에 영향 없음.''
          1. 방학중 했던 팀별 프로젝트, 스터디 그룹에 대 비판적 검토
          1. 신입회원 대상으로 2학기 프로젝트 -> JAVA 를 이용 자료구조.
  • 정모/2003.4.29 . . . . 3 matches
         1. 기웅이가 스터디에서 빠진 관계로 대근이 혼자 남게 되었는데, 혼자서 공부를 하기는 좀 무리인 것 같고, 다른 사람을 끌어들이려 합니다. 아마 참솔이가 될 듯...
         2. 03대상의 행사는 아마도 세미나가 될 듯데, 그 내용이 책의 내용을 답습하는 것이 될 지, 아니면 작년에 했던 것처럼 예제를 풀어보는 것이 될 지, 확실하게 정해진 것이 없습니다. 또 세미나 인원(3~4명으로 팀을 나눠서 스터디 식이 될 지, 아니면 교실 하나에 여러 명 집어넣고 하는 식일지)도 아직 정해지지 않습니다.
  • 정모/2003.8.12 . . . . 3 matches
          * 연락은 뒤져보거나 각 학번 별로 선배님 분께 연락, 퍼뜨려 달라고 부탁드리기.
          * 영동과 답사 같이 갈 사람을 모집합니다. 밥 끼 무료제공.
          * [JavaStudy2003] => 관리자의 아르바이트로 인해서 어려움을 겪음. 관리자가 제작 튜토리얼을 보고 오에카키 제작을 목표로 함.
  • 정모/2004.11.30 . . . . 3 matches
         || 04 || 오후근 윤성만 이승 조동영 ||
         || 이승 || 프리젠테이션 잘하는 방법 ||
          * 이승 군이 회장으로,
  • 정모/2005.12.23 . . . . 3 matches
         참가자 : 조현태, 허아영, 정수민, 김상섭, 송수생, 문보창, 김민경, 남상협, 박영창, 최광식, 황재선, 이규완, 이선호, 이용재, 허준수, 유용안, 이승, 이도현
          * 독서 프로젝트 - 참가자 - 남상협, 이승, 허아영, 정수민
          - 정회원의 자격을 가지고 졸업 회원을 OB회원이라 함.
  • 정모/2005.3.21 . . . . 3 matches
         [지금그때/준비물]만원을 나휘동에게 줘서 전지까지 사게다.
         5시에 다는 걸 언급하며 6시에 있는 총엠티 자봉단 회의 참석 여부와 무관하게 참석가능함을 강조(?).
         그 날 모집하는 회원은 [ZeroPagers]임. 그러나 [DevilsCamp]에는 참여 해야다.(참고-[ZeroPage회칙])
  • 정모/2006.1.5 . . . . 3 matches
          * 프로젝트 진행상황 ( 2주에 번 하는게 낫지 않을까요? )
         윗사람과의 관계에서 중요 부분은 '예의' 입니다. '예'에서 어긋나게 되면 그 이후 그분과 대화를 할 수가 없을 것입니다. 정모때 우리가 교수님께 요구할 수 있는 것들에 대해 생각하는 것도 중요하지만, 교수님께 일단 인사를 드리는 것도 중요하다고 봅니다. 일단, 회장이 바뀌었다는 것으로 교수님께 찾아뵙고 인사드리는 것도 생각해 볼 부분이 아닐까 생각됩니다. 이전에 담당교수님과 컨텍을 적도 없으므로, 일단 대화창구를 여는 것이 먼저라 생각합니다. --[1002]
  • 정모/2006.2.16 . . . . 3 matches
         = staff에서 얘기 것 =
         복학생은 그냥 두명씩 받는 것 보다는
         오늘 정모에서 건 별로 없네 -.-; 현태 이자식!! 회의록 대충 쓴 거 아냐?? ㅋㅋ - 도현
  • 정모/2006.2.2 . . . . 3 matches
          - 조사 뒤, 마음에 드는 회원증 샘플이 없고, 너무 비싸다.
          - 2월 16일에 친목을 다지기로 연락을 해보도록 다.
          - 3월 초기에 위키세미나 & ZeroPage 보여주기를 실시다.
  • 정모/2007.1.29 . . . . 3 matches
          내용 : 1. 기타를 활용 놀이...(무드가 잡히면 먼가 좋은 얘기가 나올수 있다.)
          예) 여러명이 권의 책에서 각각 자신의 부분을 맡아서 읽고 다른사람들에게 내용을 이야기 해준다.
          미리읽어야다는 압박감( 사람이 많이 갈수록 압박감이 줄어듬)
  • 정모/2011.11.30 . . . . 3 matches
          * 참가자 : [김수경], [서지혜], [고종], [추성준], [송치완], [김태진], [정진경], [김준석], [강소현], [정의정], [박정근], [윤종하]
          * 좀 더 의견을 수렴 후에 결정할 예정이라고합니다.
          * [추성준]학우의 Paros를 통 portal 해킹
  • 정모/2011.4.4/CodeRace/김수경 . . . . 3 matches
          * 2011년 4월 4일 정모에서 진행된 레이튼 교수와 함께하는 CodeRace.진행자라서 직접 CodeRace에 참여하지 못 것이 아쉬워 늦게라도 코딩해본다. 오늘 정말 일찍 자려고 했는데 누워있다가 이거 너무너무 짜보고 싶어서 갑자기 잠이 슬슬 깨길래 어떻게 할 지 고민. 고민하다 잠이 달아날 정도로 하고 싶은 것은 그냥 넘기면 안 되겠다 싶어 새벽 3시에 일어나 코딩 시작.
          * [TDD]로 개발하려 했는데 rake aborted! No Rakefile found. 라는 메세지가 뜨면서 테스트가 실행되지 않아 포기함. 시간동안 계속 찾아봤지만 모르겠다. 영어 문서를 읽으면 답이 있을 것 같은데 더 이상은 영어를 읽고싶지않아ㅜㅜㅜㅜㅜㅜ
          * [:NetBeans 넷빈즈]가 이상해서 또 시간을 더 날렸다... 피곤하니 자러가야지.
  • 정모/2011.8.29 . . . . 3 matches
          * 참가자 : [김수경], [권순의], [송지원], [김태진], [고종], [김준석], [서지혜], [송치완], [강소현], [임상현], [정진경]
          * 테트리스 데모버젼을 저번주에 테스트했습니다. 종이가 새롭게 만들어본다고 하고, 방학 마지막 주이므로 스터디를 끝냅니다.
          * 9월 중 주에 했던 것을 일기로 쓰기 (미래일기)
  • 정모/2012.10.8 . . . . 3 matches
          * 참여자 : [변형진], [김수경], [강성현], [권순의], [장혁수], [정종록], [김태진], [심재철], [이진규], [정진경], [황혜림], [송이], [도상희], [김민재]
          * 오늘 1학년들이 없어서 전혀 여기에 대 진척이 없네요. 제가 좀 알아보고 미리 연락해봐야겠습니다. -[김태진]
          * 오늘 정모는 뭐랄까 예전의 정모같은 느낌이었네요. 올드비들만 있어서인지. 덕분에 많은 것들을 꺼번에 빨리 쉽게 전달할 수 있었습니다.
  • 정모/2012.6.4 . . . . 3 matches
          * 종이의 설계 실패
          * 이번 OMS는 상당히 흥미로운 주제였는데 개인적인 일로 늦는 바람에 앞부분을 잘라먹어서 많이 아쉬웠습니다 -_- 그 외의 부분에서는 크게 특별 일 없이 정모가 진행된 것 같고, 중간에 스터디/프로젝트 부분의 진행 방식을 바꾼 건 꽤 괜찮지 싶네요. 사실 스터디들이 반드시 일정 양만큼 진행되는 것이 아닌 만큼 굳이 스터디에 대상을 맞춰서 발표를 하게 하는 것 보다야 뭔가 진행이 있는 사람이 나와서 발표를 하는 것이 좀 더 발표에 유연성이 있다고 생각합니다. 아이디어 좋네요. 다음 정모는 아마 참 나중이 되겠군요. 그 때까지 OMS도 잘 생각을 해야 할텐데... - [서민관]
  • 정모/2012.8.1 . . . . 3 matches
          * 간단 용무로
          * 일주일에 번씩 복원 되게 해 달라는 의견
  • 정모/2012.8.22 . . . . 3 matches
          * 참여자 : [변형진], [김준석], [김수경], [권순의], [서민관], [서영주], [고종], [이민규], [이진규], [김태진], [정진경], [김민재], [권영기]
          * [고종]학우의 Mac | Xcode | iOS를 반년 정도 쓰면서 느낀 경험담. -매우 난잡함-
          * 오늘( 12. 08. 22 ) 나머지 절반을 처리할 계획 입니다. - [고종], [이진규], [김태진], [권순의], [정진경], [김민재], [김해천]
  • 정모/2012.9.24 . . . . 3 matches
          * 참여자 : [김민재],[권영기],[이재형],[이성훈],[박상영], [김정욱], [김태진],[정진경],[심재철],[황혜림],[송이],[도상희],[정종록],[권순의],[김수경],[변형진] - 명
         학회 및 학술 활동을 위 외부 기관 제출 문서 작성 건당 지원금 1만원 지급은 어떤가요? 그리고 해당 문서의 통과 등에 대 성과금은 추가 지급해도 괜찮을 것 같고.
  • 정모/2013.1.15 . . . . 3 matches
          * A(김민재) : 외부인의 사용에 따른 권 부여 등에 따른 허가, 컴퓨터 사용시 기록을 남김으로써 책임감, 사후관리의 유용성
          * Q(권순의) : 신입생, 복학생 등 신규 진입자들에 대 이미지 메이킹?
         11고종 - 08장혁수 - 11심재철
  • 정모/2013.10.8 . . . . 3 matches
         == 정모 진행에 대 이야기 ==
          * 회원들이 진행하는 아이스 브레이킹이나 다양 레크레이션 활동들을 좀 더 많이 진행하고, 정모 시간을 30~40분 정도로 진행하려고 합니다.
          * 정모 때는 주요 사항에 대해 결정하거나 후보 연설 활동을 제외하고는 커뮤니티를 통해 의견을 교환합니다.
  • 정모/2013.4.15 . . . . 3 matches
         [고종],[강성현],[구남영],[이병윤],[김태진],
          * 시험준비다고 주 쉼.
  • 정의정 . . . . 3 matches
          * 제로페이지에서 뭔가 많이 거같은데 사실 게 없는 잉여회원
          * [데블스캠프2013] - MVC와 Observer 패턴을 이용 UI 프로그래밍
  • 제로스 . . . . 3 matches
          * OS의 동작원리를 이해다.
          * 제작 OS에서 돌아가는 응용프로그램을 만들어 본다.
         * 이론 : Operating System Concepts(6/E) : Windows XP Update - 국어판
  • 제로위키이용의어려움 . . . . 3 matches
         그래서, 현 ZeroWiki 쓰기를 막아 버리고, 기존 사용자들과 새로운 사용자들과 새로운 위키에서 작업하는 것도 좋을것이라는 생각이 들었습니다. NeoCoin은 그냥 삭제를 생각했는데, [1002]는 처음에는 그냥 모든 Contents 를 앞으로 두달간 막아 버리고, 새로운 규칙들이 생기면 기존 contents 를 녹여가는 것을 생각했습니다. 그리고 이야기 중에서 현 ZeroWiki 를 SisterWiki 로 연결 새로운 위키도 괜찮다는 생각이 들었습니다.
          [선호]는 항상 새로운것, 깔끔것을 좋아하기 때문에, 새로운 바닥에서 새롭게 시작하는 것도 좋다고 생각합니다.
  • 조현태/프로젝트 . . . . 3 matches
          * 제로위키! - 제로페이지의 훌륭 역사의 발자취(?)를 남길만 작품..ㅎㅎ
          * 이동현 님의 MFC 명강의 - MFC 역사의 획!! 뭔가 도움이 많이 되는듯하다~!
  • 졸업논문/요약본 . . . . 3 matches
         웹 환경은 이제 하나의 플랫폼으로 자리 잡고 있다. 빠르게 변하는 웹 환경에는 python같은 객체지향 언어가 적당하다. Django는 python으로 만들어진 웹 애플리케이션 프레임워크로, 데이터베이스를 추상화하여 개발자가 기민하게 웹 애플리케이션을 작성하도록 돕는다. Django에서는 기존에 ODBC등을 이용하는 CLI 보다 단계 더 높은 수준에서 데이터베이스를 사용할 수 있다. 예를 들어 주언어 python에 클래스를 정의하면 데이터베이스 테이블을 자동으로 생성해주며, 클래스가 변경되면 데이터베이스 테이블도 자동으로 수정해준다. 그 밖에 삽입, 삭제, 수정, 조회 기능을 클래스가 가진 메소드로 추상화하여 주언어 수준에서 데이터베이스를 사용할 수 있도록 다. 이러 지원을 바탕으로 웹 애플리캐이션 개발자는 기민하게 프로그램을 작성할 수 있다.
  • 주민등록번호확인하기/정수민 . . . . 3 matches
          if (k==a[12]) printf("대민국 국민이네요~ ^^ 안녕하세요!");
          else if (k==10) {if (a[12]==0) printf("대민국 국민이네요~ ^^ 안녕하세요!");}
         === 나테 할말 ===
  • 중위수구하기 . . . . 3 matches
          * a = -999 이면 프로그램이 끝나게 다.
          * 음수도 처리가능하게 다.
          * 비교 횟수를 적게다.
  • 중위수구하기/조현태 . . . . 3 matches
         그래도 뭐 나름대로 MAX_NUMBER에 3이외의 값을 넣으면(단 홀수! 아닐경우 정확 가운데 값이 아니닷! ) 여러가지로 늘릴 수 있다.^^
          └ㅎㅎㅎ 어짜피 컴파일하고나면 똑같게 되니까 나아보이기는 데..^^
          역시 내소스는 읽을만 소스가 아냐~!..ㅎㅎㅎ - [조현태]
  • 지금그때 . . . . 3 matches
          * 지금그때는 단지 고학년이 저학년에게 경험을 나누어주는 정도의 행사는 아니라고 생각합니다. 마치 개구리 올챙이적 시절 기억못하듯이, 그때 궁금해 했지만 지금은 왜 궁금했는지 조차 모르는 그런것, 지금과 다르게 생각했던 그시절 기억들. 그런것을 고학년도 경험을 할 수 있는 기회되지 않을까요?? 때로는 우리가 조언해 주고 있는 사람들이 가지고 있는 신선 질문들은 자신을 자신의 일을 번 더 돌아볼수 있게 만드는 기회를 주기도 하지 않나요?? - 이승
  • 지금그때2003/계획 . . . . 3 matches
          7:05~7:20 행사의 간단 일정 소개
          7:00~7:20 행사의 간단 일정 소개, 지연 시간 감안
         지연시간이 없도록 하려면 어떻게 해야할지 연구해 봐라. 예를 들면 참석자들에게 6시50분까지 착석이 되어야 다고 선전을 할 수 있겠다. 그리고 패널(2,3,4,졸,외부인사) 소개 시간이 필요하다. --JuNe
  • 지금그때2005/회의20050318 . . . . 3 matches
          질문에 대해 7분이 넘는 대답을 하는 경우
          주사위 번 굴리는 간격이 평균 7.5분
         시작& 질문 레스토랑 매니저 : 이승
  • 지금그때2006/여섯색깔모자20060324 . . . . 3 matches
          다른 행사에 의 변경을 대비하자 -> 그럴 필요 없다 -> 끝
         - 기준 : 각자가 작성 글을 맡은 게시판에 올리기
         ost 안에 책장을 포함하여 진행하자는 의견 -> ost의 주제가 제된다는 단점
  • 지선아사랑해 . . . . 3 matches
          * 이책에서는 TV에서도 익히 나왔던 전신 화상을 당 이지선씨에 대 이야기가 실려 있다. 이책을 읽으면서 그런 최악의 상황에서도 꿋꿋하게 맞서서 버티는 모습을 보면서 대단하다는 생각이 들었다. 그런 악 조건 속에서도 하나 하나에 감사하는 모습을 보고 본받아야 겠다는 생각이 들었따. 그리고 현재 내가 가진 몸, 얼굴에 대해서도 항상 감사하는 마음을 가져야겠다. 그리고 긍정적 낙천성을 가져야겠따. 그리고 어떤 고난, 시련이 닥쳐도 나에게 유리 방향으로 받아들여야겠다.
  • 진법바꾸기 . . . . 3 matches
          * 2~24진수 이내로 바꿀 수 있게다.
          * 샘플 수정해 주세요. 16진법의 경우 10~15를 A~F로 나타내기로 약속했지만, 다른 진법의 경우는 약속 문자가 없습니다. 따라서 프로그램의 일관성을 위하여 A8D 대신 10 8 13로 나타내 주는게 좋을것 같습니다. -- 보창
          * 책의 문제를 똑같이 적은 것 뿐입니다^^ 문제를 잘 읽어보고 다른 진법의 경우도 될 수 있게 프로그램을 작성해 주세요. 24진법까지라는 제을 둔 것도 문제의 의도가 있을 듯 하지 않나요?
  • 진법바꾸기/김영록 . . . . 3 matches
         함수를 만들어 쓰는데 익숙하지 않아 최대 함수를 많이 이용하는쪽으로 하려다보니
         기능을다.
         === 나테 할 말 ===
  • 진법바꾸기/허아영 . . . . 3 matches
         아참! 변수명.. 저번에 현태가 했던 글의 영어화.. 따라해 봤다 +_+
         === 나테 할 말 ===
         음.. 프로그램을 짤 때 각자의 가치관이 소스에 드러나는건 당연 거고, 아영이의 가치관은 훌륭하기 그지없다고 봐.ㅎㅎ 회사에가서 소스를 작성했을때, 알려주기 싫다거나 귀찮다는 이유로 소스를 가지런히 만들지 않는다면, 그건 월급을 받고도 자기일을 다 하지않는 것과도 같을 테니까.ㅎㅎㅎ
  • 찜질방원정대 . . . . 3 matches
         == 일 ==
         유머러스 분위기와 잘 챙겨주는 자상 이미지를 풍기는 게 아니라 만든다.
         행사에 자주 참가하여 얼굴을 많이 노출다.
  • 창섭/Arcanoid . . . . 3 matches
          * 소스 잃어버리고 나서 참을 망연자실 했다.. 다행(인지는 모르겠으나..)이도 중간 백업본이 있었다.. 그나마 점수 반은 받겠다.. 스크린 샷이나 올릴련다. 물론 백업본이라 기능구현은 다 안된거지만 겉모습은 어느정도 멀쩡하므로..;;
          * 참만에 쓴다. 그 동안 아무것도 안했기에..;;
          * 일정을 세부적으로 나누지 못했다. 기록도 너무 띄엄띄엄했다. 상협이 발표를 보며 느낀게 많았다. 자신이 일에 기록하는 거 말이다..
  • 창섭/삽질 . . . . 3 matches
          * 같은 실수를 두번하지 않도록. 페이지를 만들어 가끔 둘러보다보면 무의식중에 실수를 방지할 수 있을 거란 생각에 만듦. 사람은 번 본것은 무의식에 저장을 하고 자신도 모르게 무의식이 의식으로 나온다 하지 않던가...
          * 이제 절대로 하지 않을 것 같은 삽질, 내가 생각하게에 제일 어이없는 삽질 순위 3까지만 보관다. 나머진 큐처럼 지우기.
          * type casting 에 의 data 손실이 일어나는 곳을 추측하자.
  • 최대공약수/남도연 . . . . 3 matches
         최대 C++을 이용해서 짤려고 했는데 역시 어렵네요 ㅡㅜ
          지금이야 상관없지만 다른 소스에서도 콘솔화면 입출력을 사용하고, 저런식으로 입출력해야 다는 보장이 없자넝.ㅎ
          아아.. 단순 내 잡생각이어뜨니깡.. 그냥 그럴지도 모른다는고징!~ ㅎㅎ
  • 최소정수의합/남도연 . . . . 3 matches
         === 나테 할 말 ===
         알고리즘들이 상당히 유사 느낌입니다만..;;ㅁ;; sum에 덧셈연산을 뒤에 n을 증가시키기 때문에, 결과는 n이 1이 크게 나온답니다.^^
  • 최소정수의합/이도현 . . . . 3 matches
         첫 번째는 수1에서 배웠던 자연수 합 공식이고 두 번째는 무식 for 돌리기 입니다 ㅋㅋ
         나중에 복잡 알고리즘을 풀 때 아주 다른 결과를 나타내는 것 중 하나가 loop문에서 실수 입니다.
         === 나테 할 말 ===
  • 최소정수의합/임인택 . . . . 3 matches
          몇명을 제외하곤 다들 루프를 ㅤㅆㅓㅅ을것 같아 다른 방법을 생각해보았다. 내 코드를 다 짜고보니 현태와 보창이가 가우스의 방법을 써서 summation 을 구걸 볼 수 있었다. 고등학교 시절을 떠올린 모양이었다. 난 조금 더 시간을 거슬러 올라가 중학교 시절로 올라갔다. 문제에서 요구하는게, ''~~이상인 최소 정수(사실 이 문제에서는 범위가 정수가 아닌 자연수로 제되어 있다고 보는게 더 정확하다)를 구하라''인데, 이를 보고 불현듯 '''부등식'''이 생각나 바로 적용하였다. 처음에는 DivideAndConquer 를 생각해 보기도 했는데 영 시원치가 않았다가 발상의 전환을 이룬게 도움이 되었다.
         === 나테 할 말 ===
  • 최소정수의합/조현태 . . . . 3 matches
          * 1에서 n수까지 합 공식을 사용것 같은데, 알고리즘 측면으로 공부하는 것이라서, 원리적인 알고리즘을 사용하는 코드를 사용하면 좋을 것 같네요. 비록 제 생각이긴 하지만, 복잡 문제에서는 공식을 알 수 없을 것 같아서요^^ -[허아영]
          └ 이 경우에는 공식을 안쓰는 편이 더 빠르답니다.^_^ 그래도 번 써보고 싶었어요. 고등학교 수학의 추억이 떠올라서.^_^- 일단 반성..ㅠ.ㅜ 앞으로 가급적 정상적으로 수행하도록 하겠습니다.^^[조현태]
  • 컴퓨터가했다 . . . . 3 matches
         ["데기"]는 종종 무의식적으로 컴퓨터가 했다는 말을 사용했다. ''"주가 동향 분석은 컴퓨터가 해준다구."'', ''"이 그림은 컴퓨터가 그린거야."''... 그런데 그런 일들을 정말 컴퓨터가 했다고 말할 수 있을까. ''"이 그림은 내 붓이 그린거야."''라고 말하진 않는다. 사람이 것이다. ["컴퓨터가했다"]고 말할 수 있는 것들이 있을까. 전자상거래 시간에 마련된 특강에서 '''''컴퓨터를 주체가 아닌 도구로 보라'''''는 말씀을 해주신 초청 강사님께 감사드린다.
         ["데기"]가 재미있는 이야기를 해서, 그럼 이러 상황은 어떻게 이야기 해야하는지 물어봅니다.
         "와 정말 깨끗하군요. 여긴 누가 청소를 이렇게 깨끗하게 거죠?"
  • 컴퓨터고전스터디 . . . . 3 matches
         요즘 전산학과 대학생들이 모여서 리눅스 해킹법이니, MFC API니 하는 걸 같이 스터디하는 것도 나름대로 의미가 있겠지만 컴퓨터계의 고전 하나를 제대로 스터디하는 것은 어떨까 합니다. ''군자무본 본립이도생. 군자는 근본에 힘을 쓰니, 근본이 서야 길이 생기기 때문이다.''라는 말이 논어에 나오죠. 나이가 아직 어리고, 시간적 여유가 있는 때에는 어떤 구체적인 "기술"보다 좀더 일반적이고 보편적이며 이론적인 사유를 훈련하는 것이 좋지 않을까요. 구체적 기술은 거기에 갖혀버리는(Lock-In) 경향이 있습니다. 2-3년 뒤에는 쓸모없어진다든가 하는 것이죠. 하지만 고전은 대부분 앞으로도 10년은 족히 유효 것들입니다. 꾸준히 재해석될 가능성이 있는 것들이고, 무엇보다 문제의식과 함께 치밀 사유를 배우는 겁니다. 생각하는 법 말이죠.
         혹시 관심이 있다면 http://www.acm.org/classics/ 의 글들을 번 읽어보길 권합니다. 튜링상을 받은 사람들의 "전설적인 논문" 모음입니다. 특히 David Parnas의 글은 감동의 눈물을 흘리면서 본 기억이 납니다.
  • 코드레이스출동 . . . . 3 matches
         7피에는 리눅스가 설치 안 되있고 구피에도 컴퓨터가 바뀌어서 아직 설치가 안 돼있습니다. 구피를 관리하는 네토리에서 아직 설치 계획이 잡히지 않은 듯 싶은데, 번 물어봐야겠네요. 만약 수요일까지 설치가 안된다면 임의로 구피나 7피 컴퓨터 몇 대에다가 리눅스를 설치해야 합니다. 7피에 새로 들어온 컴퓨터는 리눅스가 설치 안되서 못했고, 그래서 구피에서 7피로 올라왔다고 하네요
         다음주 월요일에도 '팀1'은 연습을 하려 합니다. 중요 멤버 상규가 수요일이 안되서 월요일 1번 더다는... 결과적으로는 좋지요. ^^ 여튼 시간 되시는 팀은 위에 공지를 참고 하여 오세요. 이때는 다음주 수요일 보다 간단하게 해서 2~3시간 정도 연습할 예정입니다. 우리 모두 열심히 훈련!! 빰빠빠라빠~ (효과음) --재동
         덜덜덜 - 이승
  • 토이/숫자뒤집기/김정현 . . . . 3 matches
         최대 많이 방법을 찾자
         7.배열 거꾸로 돌기. 이런 간단 방법이 있었는데;;
         다른 방법 찾는거 왜케 재밌지..ㅋ 음 더 짧고 간단 방법이 있을꺼 같은데..
  • 통계청 . . . . 3 matches
         대민국 통계청 홈페이지
         검색 엔진에서 통계청의 내부에 링크를 걸지 못하기 때문에 통계청을 알아두어야 다.
         독서 통계는 5년 마다 번씩이냐? 왜 아직도 업데이트가 안되는지.. 느낌표 끝나서 조사하기 싫은건가?--NeoCoin
  • 파스칼삼각형/강희경 . . . . 3 matches
          cout << "출력 파스칼삼각형의 열의 값을 입력해주세요(ex,6).";
          for(int j = 1; j < column-1; j++){ //숫자는 자신의 머리 위에 있는 2개의 숫자를 더
          printArray(array, i); //행의 내용을 출력다.
  • 페이지이름고치기 . . . . 3 matches
         페이지 이름을 고치는 기능이 모인모인에서는 특별하게 존재하지 않는다. 다음과 같은 과정으로 해결다.
          * 기존 페이지로부터 내용을 긁어서 새 페이지에 복사다.
          * 기존 페이지를 DeletePage 기능을 이용해서 삭제다.
  • 피아노연주자 . . . . 3 matches
          * 푸리에변환을 이해다.
          * 요일별로 각자 가능 시간을 적어주세요. (다음주 회의인 29일날 시간을 결정하겠슴.)
          * 우리이거 제로음감 이라고 하기로 거 아냥?ㅋㅋ
  • 하노이탑 . . . . 3 matches
         [데블스캠프2005]에서 [ToyProblems]
         || [유선][김민경] || C++ || [하노이탑/유선김민경] ||
  • 허아영/MBTI . . . . 3 matches
         : 진실과 사실에 주로 관심을 갖고 논리적이고 분석적이며 객관적으로 사실을 판단다.
         성실
          내가 될 뻔 ENTJ는 '지도자'가 가장 많다고 했다. - 2007. 2. 10. 아영.
  • 헝가리안표기법 . . . . 3 matches
         그러나 실제로 현장에서 일하다 보면 헝가리안 표기법을 제대로 지키는 개발자는 그리 많지 않다. 어느정도 개발경험을 가지고 있는 프로그래머는 물론 심지어 시중의 프로그래밍 서적에서 조차 저자마다 변수명을 개인에 따라 가지각색으로 짓고 있어서 처음 프로그램을 배우는 입문자들들이 변수 명명에 대 기준을 제대로 잡지 못하고 있는 실정이다.
         솔직히 필자도 얼마전까지 이런 변수 명명에 대 관례를 잘 지키지 않았다. 그러나 변수 명명에 관 표준화된 관례를 지켜주면 코드의 가독성을 높여줄 뿐 아니라 예를 들어 카운터 변수를 count라고 지을지 cnt라고 지을지 고민하지 않아도 되는 편리함을 누릴 수 있다. - [http://dasomnetwork.com/~leedw/mywiki/moin.cgi/_c7_eb_b0_a1_b8_ae_be_c8_20_c7_a5_b1_e2_b9_fd?action=edit 출처]
  • 호너의법칙/남도연 . . . . 3 matches
          int j=a[0];//j는 an의 역할을 다.
          int t=a[i+1];//t는 an-1의 역할을 다.
          j=function_value;//j는 같은 식을 반복하기 위 변수.처음에 j는 an, 그다음에는 an*X+an-1이 된다.
  • 호너의법칙/박영창 . . . . 3 matches
         // 에러처리를 위 매크로
          // index 차수의 계수를 배열로 지정다.
         horner_func 호너의 법칙을 재귀함수로 구현다.
  • 05학번만의C++Study/숙제제출/1 . . . . 2 matches
         ==== C++과 가까워지기 위 기본적인 문제 ====
         섭씨 온도를 전달인자로 전달받아 화씨 온도로 환산하여 리턴하는 사용자 정의 함수를 main() 함수가 호출하는 프로그램을 작성하시오. 프로그램은 섭씨 온도로 입력할 것을 요구해야 하고, 다음과 같은 실행 결과를 출력해야 다. 참고로, 섭씨 온도를 화씨 온도로 변환하는 공식은 Fahrenheit = 1.8 X Celsius + 32.0 이다.
  • 05학번만의C++Study/숙제제출4/최경현 . . . . 2 matches
          - 확실히.ㅎㅎ 버그가 있네. 이 버그는 클래스를 삭제 뒤에 그 공간이 비게되는데, 거기에서 값을 체크하는 함수를 실행시키려고 시도했기 때문에 발생하는 문제야.
          해결 방법은 그 공간뒤의 클래스들을 칸씩 앞으로 당기고, i의 값을 1줄여주면 되겠지.ㅎㅎ
  • 2002년도ACM문제샘플풀이 . . . . 2 matches
          * [http://cs.kaist.ac.kr/~acmicpc/problem.html 2002년도 문제 샘플] 풀이입니다. ["신재동"]과 ["상규"]가 '개발 시간 최소화' 라는 문제 때문에 시작부터 TDD와 Refactoring 그리고 OOP를 버렸습니다. 그래서 중복도 심하고 남에게 보여주기 정말 부끄럽지만... 용기내서 올립니다. 리펙토링 후에 변 모습을 다시 올리도록 하겠습니다.
          ''부끄러워할 필요가 없다. 촉박 시간에 쫓겼다고는 하나, 결국 정해진 시간 내에 모두 풀은 셈이니 오히려 자랑스러워 해야 할지도 모르겠다. 아마 네 후배들은 이런 배우려는 태도에서 더 많은 걸 느끼지 않을까 싶다. 이걸 리팩토링 해서 다시 올리는 것도 좋겠고, 내 생각엔 아예 새로 해서(DoItAgainToLearn) 올려보는 것도 좋겠다. 이번에는 테스트 코드를 만들고 리팩토링도 해가면서 처음 문제 풀었던 때보다 더 짧은 시간 내에 가능하게 해보면 어떨까? 이미 풀어본 문제이니 좀 더 편하게 할 수 있을 것 같지 않니? --JuNe''
  • 2005리눅스프로젝트<설치> . . . . 2 matches
         Upload:vmware 글사용서.pdf
          ''데비안에서는 x-window-system 패키지만 설치하면 만서 ok 인데;; 써보면 배포방식이 데비안 만큼 편것이 없죠''
  • 2007ToeflStudy . . . . 2 matches
         1. 모일때 마다 해커스 TOEFL 교재의 6일치 분량을 외워오도록 다.
         3. 테스트는 voca_test_generator.xls 파일을 사용다(필요하신분은 [김건영], 남진석에게 연락)
  • 2010Python . . . . 2 matches
          * 각자 원하는 매체로 공부해 온 뒤 5분 정도씩 자기가 공부 내용을 발표하고 서로 토론.
          * [박정근] - python의 특이 배열? keyindex를 지정가능하고 순서대로 출력도 가능함. 그리고 python은 지정하는것이 특기인 듯
  • 2학기파이선스터디/모듈 . . . . 2 matches
         mymath.py 라는 파일로 저장다..
         어떠 속성을 정의하고 있는가...
  • 3 N+1 Problem/조동영 . . . . 2 matches
         승이가 해보래서 함 해보았어요
          흔히 생각하는 알고리즘은 다들 비슷해서 소스가 비슷 경우가 많어. 그걸 더욱 더 향상 시키려는 노력이 필요하지. 요즘 다른 알고리즘을 생각하려고 노력 중인데 잘 안떠오르네 ㅋ --[강희경]
  • 3DStudy_2002 . . . . 2 matches
         DeleteMe) 질문해도 될까요..? 3D를 공부다는 말은 도대체 무엇을 공부다는 말인가요..?? --선호..[[BR]]
  • 3N+1Problem/1002_2 . . . . 2 matches
         연습장에 의사 코딩 5분정도 뒤, 바로 코드로 옮기고 실행.
          ''{{{~cpp CycleLength.value}}} 와 거의 비슷 의사코드가 [이덕준]의 연습장에도... 무척 반가움. --[이덕준]''
  • 3N+1Problem/김회영 . . . . 2 matches
          int max=0; //최대길이의 사이클 길이를 저장다.
          cout<<"적당 두 수를 입력하세요 ( 단.n1<n2 )"<<endl;
  • 3rdPCinCAUCSE/ProblemB . . . . 2 matches
         출력은 표준 출력이다. 출력은 T줄로 이뤄진다. 각 테스트 케이스에 대해서 네 개의 직사각형이 차지하는 면적을 출력다. T개의 테스트 케이스를 모두 맞혀야 이 문제를 맞힌 것이다.
         === 입력의 예에 대 출력 ===
  • 4rdPCinCAUCSE . . . . 2 matches
         - 당일 챙겼었는데 어디갔나 없어졌던 문서;; 오랜만에 책상정리 하던 중에 이상 파일에서 튀어나오네요;; 3문제 다 있고요. 마저 올리겠습니다. - [이승]
  • 5인용C++스터디 . . . . 2 matches
          * 결석할 때 마다 노란 얼굴이 빨개집니다. X-( '''5번 결석 Player는 Game Over!!'''
         최종 결과물을 다들 만들면 번 모여서 밥이나 먹어요!ㅋㅋ --[상규]
  • 5인용C++스터디/스택 . . . . 2 matches
         || 노수민 || Upload:Stack_SM.cpp || 오버플로우에 대 처리가 있으면 더 좋겠음. ||
         || 조재화 || Upload:Stack-Mr.CHO.cpp|| 역시 오버플로우에 대 처리가 있으면 더 좋겠음. ||
  • 8queen/문원명 . . . . 2 matches
          do //열바꿔가며 가능 자리 찾기
          if (same == 1) //공격가능 것이 있으면 초기화후 열바꾸기
  • 8queen/민강근 . . . . 2 matches
          복잡할거라고 생각건가? 하지만 1년뒤에 다시 이 코드를 봐바. 눈에 이해가 될테니^^; -[상욱]
  • AM/20040720네번째모임 . . . . 2 matches
          * 공부 내용 : API 교재 5장(리소스) - 6장(DC의 이해)
         == 모임 후 정 내용 ==
  • AM/20040727여섯번째모임 . . . . 2 matches
          * 공부 내용 : API 교재 8장(대화상자) - 9장(테트리스)
         == 모임 후 정 내용 ==
  • AM/20040730일곱번째모임 . . . . 2 matches
          * 공부 내용 : MFC 교재 1장(사전학습)
         == 모임 후 정 내용 ==
  • AM/20040803여덟번째모임 . . . . 2 matches
          * 공부 내용 : MFC 교재 2장(프로그램의 뼈대)
         == 모임 후 정 내용 ==
  • AM/20040813열번째모임 . . . . 2 matches
          * 공부 내용 : MFC 교재 4장(대화상자와 컨트롤)
         == 모임 후 정 내용 ==
  • AM/20040817열한번째모임 . . . . 2 matches
          * 공부 내용 : MFC 교재 5장(사용자 인터페이스)
         == 모임 후 정 내용 ==
  • AM/20040824열두번째모임 . . . . 2 matches
          * 공부 내용 : MFC 교재 6장(도큐먼트의 데이터 관리)
         == 모임 후 정 내용 ==
  • AcceleratedC++/Chapter16 . . . . 2 matches
         ㅋㅋ 이건 볼거 없다. 어펜딕스 1은 볼만 가치가 있어보이던데.. 난 볼라고 다.
  • AcceleratedC++/Chapter2 . . . . 2 matches
          r이 0이고 cout을 번 수행하면 r = 0, 수행횟수 = 1 따라서 불변식 거짓
         어째서 C의 [루프는0부터?] 인지... 간단 대답이 나와 있더군요. - [톱아보다]
  • AdvancedJS . . . . 2 matches
          * 여름방학동안 JavaScript 스터디를 하는데 문법 익히고 사용하는 건 혼자 공부하기 쉽지만 이런 내용은 혼자 알기 어려웠을 것 같다. 익숙 다른 언어들이랑 다른 면이 많아서 흥미가 간다. - [김수경]
          * 개인적으로 자바스크립트에 관심도 있고 해서 세미나를 들으러 왔다. 근데 가끔 웹페이지에서 자바스크립트 소스를 보면 C++이랑 비슷하게 쓰길래 그냥 비슷 언어인가 싶었는데, 이번에 들어보면서 오히려 다른 점이 크게 부각된 느낌이다. C++이랑 비교해서 상속 방식도 다르고(프로토타입 상속) this의 개념도 좀 다르고 함수가 객체로 취급되고 등등. 물론 나중에 따로 책을 보면서 공부를 하긴 하겠지만 아마 이번에 배운 내용은 책에서 쉽게 찾아볼 수 없지 않을까 싶다. - [서민관]
  • Ajax2006Summer/프로그램설치 . . . . 2 matches
          * 필요 것은 '''Eclipse 3.2 Platform Runtime Binary''' 입니다. 용량은 33메가 정도입니다 : [http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.2-200606291905/eclipse-platform-3.2-win32.zip LINK]
         5. 맨 위의 '''Callisto Discovery Site'''에 체크박스를 후 '''Finish'''를 클릭합니다.
  • AnEasyProblem . . . . 2 matches
         각 줄에 개의 정수를 입력할 수 있습니다. (1 <= I <= 1000000)
         각 줄에 개의 정수를 출력하면 됩니다.
  • ApplicationProgrammingInterface . . . . 2 matches
         API는 소프트웨어의 특정부분이 다른 부분과 소통하기위 방법의 정의들의 집합체이다. 이는 로우레벨, 하이레벨 소프트웨어 사에에서 보통 추상화를 달성하는 가지 방법이다.
  • AttachmentMacro . . . . 2 matches
         == 간단 사용법 ==
         == 그림 파일에 대 고급 옵션 ==
  • Basic알고리즘/팰린드롬/허아영 . . . . 2 matches
         글인지 아닌지 판단해서, 구분하는 것도 만들어 볼 생각이다.,
         = 버젼 2. 영어 + 글 + 버그수정 =
  • Bicoloring/문보창 . . . . 2 matches
         평이 문제. 이산수학이 생각난다. if...else 구문을 사용할때 모든 조건을 프로그램에서 포함하는지 주의깊게 코딩해야 다.
  • BlogLines . . . . 2 matches
         써본 경험에 의하면... publication 으로 개인용 블로그정도에다가 공개하기엔 쓸만하다. 그냥 사용자의 관심사를 알 수 있을 테니까? 성능이나 기능으로 보면 참멀었다. 단순 reader 이외의 용도로 쓸만하지 못하고, web interface 라서 platform-independable 하다는 것 이외의 장점을 찾아보기 힘들다. - [eternalbleu]
  • BlueZ . . . . 2 matches
         주의점) 커널 2.4의 경우 스택에 RFCOMM 관련 스택이 구현 안된 버전들이 존재하기 때문에 해당 사이트에서 버전에 맞는 패치를 뒤 커널을 새로 올려야함.
         http://tistory.izyou.net/entry/BlueZ-라이브러리를-이용-리눅스-Bluetooth-프로그래밍
  • Button/영동 . . . . 2 matches
         음... 참고 다는게 예제를 거의 베끼다시피 해버렸네요.
          "선택 것: " + res,
  • C 로배우는패턴의이해와활용 . . . . 2 matches
         = GoF 디자인 패턴! 이렇게 활용다:C++로배우는패턴의이해와활용 =
          * 참 좋은 책 같다. 그냥 말로만 들으면 이해도 안가고 어렵게 느껴질 디자인 패턴을 적절하고 멋진 소스와 함께 보여줘서 층 더 이해를 돕는다. 이책을 DesignPatternsJavaWorkBook 과 같이 보면 정말 괜찮은거 같다.
  • C++Seminar03/SimpleCurriculum . . . . 2 matches
          * Recursion 과 Iteration 에 대 학습과 이해. (DeleteMe '학습'을 먼저하는게 좋을것 같아요. 학습할 주제로는.. Factorial 이 좋을것 같습니다. - 임인택)
          * 강의주제 : [EmbeddedSystem] 에 대 초간단 설명.
  • C99표준에추가된C언어의엄청좋은기능 . . . . 2 matches
          * 흠 이상하네 ㅡ.ㅡ;; gcc에서는 되고, VS.net에서는 에러를;; 잘못 컴파일 건가? 혹시 VS.net에서는 안되나요? - [eternalbleu]
          * 흐음... C에서 동적할당을 하기 위해서는 new나 malloc 정도의 키워드를 사용해야 하지 않나요?? 혹시.. 컴파일 옵션을 달리해야 하는??;; - [이승]
  • CNight2011/권순의 . . . . 2 matches
          * 구조체의 대 간단 이해
  • CNight2011/송지원 . . . . 2 matches
          * 11학번 풋풋 새내기 두 명과 함께 malloc과 배열, 포인터에 대해 간단하게 브리핑
          * 배열의 계 - [권순의]
  • CPPStudy . . . . 2 matches
          * 아래 스터디들을 보면서, 실패 스터디, 성공 스터디 들을 보고 배웁시다.
  • CPPStudy_2005_1/Canvas . . . . 2 matches
          * * Draw 구현은 단순히 현재 도형이름을 출력하면 된다. 도형 조합은 조합을 이루는 모든 도형 이름을 출력다.
          * registerNewShape - 새로운 도형을 등록다.
  • CPPStudy_2005_1/STL성적처리_2 . . . . 2 matches
         노라 86 65 62 68
         쩝.. -_-;; map 을 써봐야다는 강박관념때문에 쓰기는 했는데.. -_-;; spec에 sort가있었다. ;; 아무래도 다시 짜는게 더 나을 것 같다.
  • CPPStudy_2005_1/STL성적처리_3 . . . . 2 matches
         노라 86 65 62 68
         노라 66 82 82 94 281 70.25
  • CPPStudy_2005_1/STL성적처리_4 . . . . 2 matches
          //fout << a+b << endl; // cout으로 화면으로 출력다면, fout은 연결된 output.txt에 a+b를 출력
         마지막에 주석 처리거 왜 에러나는거징..ㅡㅜ
  • CPPStudy_2005_1/질문 . . . . 2 matches
         2번째랑 3번째 에러는 1번째에서 에러나니까 당연거 같은데...
          동일 결과를 얻을 수 있을듯합니다. - [eternalbleu]
  • CategoryCategory . . . . 2 matches
         분류 페이지에 들어가서 제목을 클릭하면 그 분류 페이지에 대 역링크를 서치하고, 그 분류페이지의 링크가 들어있는 모든 페이지 목록을 보여주게 됩니다.
         또 각각의 분류는 그 분류의 최상위 분류인 Category''''''Category를 가리키는 링크를 가지게 함으로서, 모든 분류페이지를 최종 역링크를 Category''''''Category가 되게 할 수도 있습니다.
  • ChartDirector . . . . 2 matches
         Python 뿐만 아니라 다양 언어들을 지원. Documentation 또 잘 되어있고 사용도 간단.
  • CommonState . . . . 2 matches
         초기 컴퓨터는 용량이 너무 적어서, 프로그램 짧게 만들기 이런걸 많이 해야만 했다. 당연하지만 그걸 알아볼 수 있으리라는 기대는 하지 않았다. 그러다가 용량이 커지니까 이제는 많고 많은 state들을 사용하는 많고 많은 함수들을 많이 사용하게 되었다. 하나 고칠라면 전체를 뜯어 고쳐야 했다. state로서의 프로그램은 안좋다. 그러니 state도 안좋다(??) 이런 상황에서 state가 없고, 프로그램만 있는 함수형 언어가 나오게 되었다. 개념적인 우아함과 수학적인 우아함을 갖추고 있음에도 불구하고, 상업적인 소프트웨어를 만드는데에는 전혀 쓰이지 않았다. 이유는 사람들은 state를 기반으로 생각하고 모델링하기 때문이었다. state는 실세계에 대해 생각하는 좋은 방법이다. 객체는 두 가지의 중간이다.(?이렇게 해석해야하나..--;) state는 잘 다뤄질때만 좋다. 작은 조각으로 나누면 다루기 쉬워진다. 이렇게 하면 변화를 어느 곳만 국시킬 수 있게 된다.
  • CompleteTreeLabeling/하기웅 . . . . 2 matches
         모든 노드의 개수에서 루트를 제외 나머지에서 분기의 계수에 맞게 개수를 나누고 그것을 줄세운 것과 같다.
         예 2)) 예 1번에 이어서 7개에서 루트 1개를 뺀 3개를 분기계수 2에 맞게 3개씩 3개씩 나눠야 다.
  • ComputerGraphicsClass/Exam2004_2 . . . . 2 matches
         점 D 는 선분 AB 의 중점이고, 점 E는 선분 AC를 3 : 2로 나눈 점이다. 또 F는 D 와 E의 중점이다. 점 A,B,C의 색이 각각 red(1,0,0), green(0,1,0), white(1,1,1)일 때 점 D,E,F의 색을 (r,g,b) 형태로 나타내어라.
         곡선(수식)을 나타내는 기본 형태(Three basic forms of curves)를 쓰고, 이 중에서 컴퓨터 그래픽스에서 어떤 형태가 가장 적합지 그 이유를 설명하시오.
  • Conversion . . . . 2 matches
         각자의 클라이언트들은 같은 정보임에도 서로 다른 프로토콜로 표현된 것이 필요할 때가 있을 것이다. 가장 쉬운 방법은 필요로 하는 객체마다 가능 모든 프로토콜을 넣는 것이지만... 역시 낭비다.
         이럴때는 오브젝트를 다른 것으로 변환하는 메소드를 추가하자.
  • CooperativeLinux . . . . 2 matches
         신기하다. 윈도우즈 쓰레드로 돌아가는 리눅스라고 다. 이전에 BeOS 같은 경우를 본적은 있지만(OS on OS) 음.. 리눅스 커널이 윈도우 쓰레드로 돌아간다..라.. 근데 안전지는 잘 모르겠다!
  • CssMarket . . . . 2 matches
         || /pub/upload/hirenn.css || Upload:hirenn.css || 은은 파?나라 ||
         ||/pub/upload/l2.css || [http://zeropage.org/~iruril/l2.css] || 상큼 이효리 바탕의 스킨~ ||
  • C언어정복/3월30일-내용정리 . . . . 2 matches
         수업 내용을 참고하여 내용정리를 해주세요.
         ===== 06학번 상모 =====
  • DPSCChapter5 . . . . 2 matches
         '''Command(245)''' 는 요청(request)이나 명령(operation)을 object로서 캡슐화시킨다. 그러함으로써 각각 다른 명령을 가진 클라이언트들을 파라미터화 시키고, 요청들을 queue에 쌓거나 정렬하며, 취소가능형태의 명령들을 지원다.
  • DataCommunicationSummaryProject/CellSwitching . . . . 2 matches
          * 고정길이 셀 사용(53byte = 48 byte의 페이로드 + 5byte의 헤더, ATM의 패킷은 셀이라고 다.)
          * 전통적인 랜은 방송&멀티캐스팅이 공짜다.(모두테 보내므로), 하지만 ATM은 그것이 좀 힘들다. 그래서 두 가지 방법이 있는데
  • DataStructure/Foundation . . . . 2 matches
          * 위에서 다음으로 생각이 바뀌었습니다. 반복횟수를 넣는다기 보다는... ~에 비례다라는 식으로.. 예를 들어 반복횟수가 n+3 이런식이라도 O(n)이렇게 되는 것이져..맞을까?--;
          * 이것을 이해하기 위 소스
  • Data전송 . . . . 2 matches
         html 에서 작성 텍스트 박스등에 입력된 값을 서버로 전송
         3. html 이 메인 역활을 하므로 주소창에 파일이름.html 을 설정다.
  • DebuggingSeminar_2005 . . . . 2 matches
          이승 (04)
          || [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/_core_c_run2dtime_library_debugging_support.asp Debug CRT] || VC++4 에서 지원하기 시작 C런타임 라이브러리 ||
  • Delegation . . . . 2 matches
         스몰토크는 다중상속을 지원하지 않는다. A와 B의 속성을 모두 가지고 있는 객체를 표현하려면 어떻해야할까? 상속은 잠재적으로 오버헤드가 있다. 또 복잡 상속관계에서는 서브클래스의 단 하나의 메소드를 공부함에도 위에서 알아야 할게 너무 많다. 답은 '위임'이다. 일의 일부를 다른 객체에게로 위임하자.
  • DeleteThisPage . . . . 2 matches
         페이지를 삭제다는 의미로 쓰는 문구.
         일단 자신이 해당 페이지를 지우는 것 보다는 전체 글을 지운뒤 DeleteThisPage 문구 남김 -> 다른 사람들의 동의 (즉, 해당 문구와 history, RecentChanges 를 통 상황 파악) & 삭제 의 순서를 띄는 것이 위험도를 줄일 수 있겠다.
  • DesignPattern2006 . . . . 2 matches
          * 파워풀 프로그래밍을 위다면(과연...그럴까^^;;) 참여자에 이름을 남기세요 - [상욱]
  • DevCpp . . . . 2 matches
         가볍고 쉬운 무료 C, C++ IDE. 글도 지원다.
  • DevCppInstallationGuide . . . . 2 matches
         == 05를 위 간단 Dev 사용법 ==
  • DirectX2DEngine . . . . 2 matches
         거창하게 엔진이라고는 했지만, 그정도는 아니고 재사용 가능 루틴을 만드는 것이 목표.
          * 계속 구현 : Timer 클래스, 상속을 위 처리 및 DeviceLost 처리
  • Doublet . . . . 2 matches
         "이상 나라의 앨리스(Alice in the Wonderland)"를 쓴 루이스 캐롤(Lewis Carroll)은 끝말잇기를 비롯하여, 영어 단어를 이용 퍼즐들을 많이 만들었습니다.
  • DrawMacro . . . . 2 matches
         {{{applets/TWikiDrawPlugin/}}}로 가서 {{{gmake}}} 혹은 {{{make}}} 명령을 하여 설치다.
         윈도우즈의 경우는 다음의 파일을 받아서 직접 압축을 풀어준다. {{{applets/TWikiDrawPlugin/}}}twikidraw.jar 및 *gif 파일이 있게끔 해야 다.
  • EcologicalBinPacking/강희경 . . . . 2 matches
          *전역변수 남발로 인 공간(memory)낭비 없애기
          *불분명 변수명 변경(가독성)
  • EightQueenProblemSecondTry . . . . 2 matches
         이번에는 소스코드를 모두 삭제하고, 맨땅에서 다시 시작을 합니다. EightQueenProblem을 만족하는(즉 하나의 해법만 얻는) 프로그램을 다시 번 작성합니다. 자신이 처음 EightQueenProblem을 풀면서 얻었던 통찰(insight)만을 이용하고, 가능하면 더 깔끔 해답을 얻으려고 노력하면서 말이죠.
  • ErdosNumbers/조현태 . . . . 2 matches
         ...난 뭐거지..;;
         다만들고 나니 그것도 아닐지도..훗.. 괜 고생이었나..;;
  • EuclidProblem/문보창 . . . . 2 matches
         예전에 정수론 책에서 본 유클리드 알고리즘의 응용문제이다. AX + BY = GCD 에서 gcd와 x, y 구하는 법을 [문보창]페이지에 원래 가지고 있었기 때문에 단순 copy&paste로 문제를 풀 수 있었다.
         ==== 나테 할 말 ====
  • ExplicitInitialization . . . . 2 matches
         초기화에 대해서는 딱히 정해진 좋은 방법이 없다.(상황에 따라 택일해서 쓰라는 말) 이 패턴은 유연성보다는 가독성을 중시다. 모든 초기화를 하나의 메소드에 때려넣는 방법이다. 유연성은 떨어질 수 밖에 없다. 변수 하나 추가하자면 ExplicitInitialization 메소드를 수정해야만 다는 것을 기억하고 있어야 하기 때문이다. ExplicitInitialization은 LazyInitialization보다 비용이 많이 든다. 모든 변수를 인스턴스가 생성될때 초기화 하기 때문이다.
  • ExploringWorld . . . . 2 matches
         (V) 목표 1 : 서버 인수인계 하면서, 간단 자유게시판에 대 RSS 서비스 제공
  • ExploringWorld/참고링크 . . . . 2 matches
         가볼만
          http://www.debianusers.org - 국 데비안 사용자 모임
  • ExtremeBear . . . . 2 matches
         ["ExtremeProgramming"] 을 실전과 같이 경험해 보기 위 스터디.
          * Xper:ToolsForXp : XP 프로젝트를 위 준비물
  • ExtremeBear/VideoShop/20021105 . . . . 2 matches
          * TDD 를 상대적으로 초보인 사람과 PairProgramming 을 해서인지 페이스를 느리게 다는 의미를 실감할 수 있었다. (세부적으로 전부 테스트)
          * 11월 13일까지 TDD와 PairProgramming 을 익숙하게 단련다.
  • ExtremeBear/VideoShop/20021106 . . . . 2 matches
          * 삽질 했다. 예전에 해 놓았던 부분에 의해 발생 삽질이라 찾기 힘들었다.
          * 이상 삽질하지 말자.
  • FortuneMacro . . . . 2 matches
         Fortune 매크로 플러그인은 GNU fortune프로그램을 이용 매크로입니다.
          1. fortune이 설치되어 있어야 다. {{{/usr/bin/fortune, /usr/share/games/fortune/}}}
  • FreeMind . . . . 2 matches
         글화도 많이 진행 되어 있다.
         마인드 맵에 대해서 알아 보려면. 마인드 맵 북(도서관에 있음)을 읽어보는 것도 도움이 될듯. 굉장히 적극적 활용에 대 여러가지 예가 들어 있습니다. SeeAlso) [ZP도서관]
  • Functor . . . . 2 matches
         [BuildingParserWithJava]를 보다가 12장에서 처음 접 단어. FunctionObject를 부르는 말이다.
         비슷 구현에 대해서 OO 쪽에서는 MethodObject 라 부르기도 함. (Refactoring에 나옴) 구현 모양상으로 보면 CommandPattern, C++ 진영에서는 Functor 가 일반적인 표현.; --[1002]
  • GenericProgramming . . . . 2 matches
         소스를 여러 type에 적용시키는 프로그래밍 기법
         각 type에 대 코드는 compile time에 compiler에 의하여 작성되어 진다.
  • Google/GoogleTalk . . . . 2 matches
         국의
         
  • Hacking . . . . 2 matches
          * Sniffing 에 대 대비책
          * ssh(Secure Shell)을 이용 원격 접속.
  • Hacking/20041028두번째모임 . . . . 2 matches
          -v : 자세 설명
          -sS : 스텔스 스캔(완전 접속이 이루어지지 않은 상태로 스캔)
  • Hacking/20041118네번째모임 . . . . 2 matches
         == 공부 내용 ==
          * 서로 부족 부분을 보충하기
  • Hacking/첫번째과제 . . . . 2 matches
         과제를 해결 후에 다음 진도를 나갈 예정임
          PHP로 쓸만 방명록을 하나 만든다(형식자유, 내용자유, 단지 쓸만하면 됨)
  • Hacking2004 . . . . 2 matches
          * 데브피아에서 TCP/IP 세미나 다고 하네요. 아마 무료였던것 같은데. 생각나서 올립니다. - [이승]
  • HangulProcess . . . . 2 matches
         = 글 처리 =
         [http://www.kr.freebsd.org/~cjh/freetime/oss-hangul/pse199904/ Hanterm 에서의 글 입출력 관련 문서]
  • HanoiProblem/영동 . . . . 2 matches
          pop by ;스택이므로 빼는 순서에 유의해야
          call Space ;칸 띄고
  • HardcoreCppStudy/두번째숙제/ConstructorAndDestructor/김아영 . . . . 2 matches
         - 주로 변수에 대 초기화 작업을 수행
         - 객체가 소멸될 때 수행해야 할 작업들을 위 함수
  • HardcoreCppStudy/두번째숙제/ConstructorAndDestructor/변준원 . . . . 2 matches
         위에 간단 코드에서 Test();가 생성자에 해당되며 Test obj1; 이라고
         클래스에서 절때 빼놓으면 안되는 경우로, 위에 간단 코드에서 빼 놓았습니다.
  • HelpOnHeadlines . . . . 2 matches
         /!\ {{{= 레벨 1 =}}} 제목은 <h1>으로 랜더링되지만 다른 위키위키 마크업과 통일성을 위해 '''두개'''의 "==" 부터 제목줄을 사용하시는 것을 권장합니다. MediaWiki에서도 비슷 이유로 ``레벨1`` 제목 사용을 제적 허용하고 있는데, 그 이유는 <h1>은 ''페이지의 제목''에 할당하고 있기 때문이라고 합니다.
  • HelpOnInstalling . . . . 2 matches
         이 위키 사이트에 있다면 여기 군데에 모아 정리를 하고, tarball에도 같이 배포해야 다고 생각합니다.
  • InWonderland . . . . 2 matches
         public bool UsePoint(string storeReg, string storeAuth, string cardNum, string cardPwd, int money, int point) // -인자: 사업자 등록 번호, 카드 번호, 돈, 사용 포인트
         일반 사용자가 카드 등록 후에는 카드 번호 출력함. 여력이 되면 비밀번호 암호화도 해야 함. 편 카드 유효기간 귀찮다. 빼자. --재동
  • IntelliJUIDesigner . . . . 2 matches
         [IntelliJ] 의 UI Designer 의 특징이라면, 좌표나 레이아웃관련 정보를 따로 XML 화일에 저장다는 점이다. 그리고 우리가 작성하는 소스 코드 에서는 각 컨트롤 객체들의 레퍼런스 변수들 간 연결관계를 쓴다. 코드가 꽤 깔끔하다.
         단점이라면, 아직 개발이 계속 진행중이여서 완전하지 않다는 점. Swing Control 중 아직 UI Palette 에 없는 것들도 있고, 레퍼런스 변수와 binding 하는 방법도 약간 복잡 감이 있다.
  • ItNews . . . . 2 matches
          * SlashDotOrg http://slashdot.org : 컴퓨터와 연관있는 모든 것 (필터링을 최소 3-4 이상으로 놓고 보면 상당히 훌륭 정보원)
          * 빛 네트워크 http://network.hanbitbook.co.kr/
  • JMSN . . . . 2 matches
         DeleteMe) sourceforge 의 xrath(http://xrath.com/) 라는 분이 국인이셨군요. -_-; 몰랐는데. 나우누리 자바동에서 활동중이신 황장호라는 분입니다. (오.. 스크린 샷에 구근이형 이름있다;) --석천
         * 사용자의 일부 properties(Foward list, Reverse list, Allow list, Block list, GTC setting, BLP setting)-$1는 서버에 저장된다. $1은 client에 캐시된다. client에 캐시된 $1를 최신의 것으로 유지해야 다.
  • Java/CapacityIsChangedByDataIO . . . . 2 matches
         === 더 할만것 ===
          이런;; 간단 소스가 늘어나 버린것 처럼 보인다.
  • JavaStudy2002/진행상황 . . . . 2 matches
         ["JavaStudy2002"] 가 밟아온 진행에 대 기록입니다.
          * 10/08 - 세번째 스터디 모임 (이제 조금씩 자리가 잡혀가는듯...^^/~)
  • JavaStudy2002/해온일 . . . . 2 matches
          * TDD에 대 느낌에 대 토론
  • JavaStudy2004/클래스 . . . . 2 matches
         ||이승||[JavaStudy2004/이승]||
  • JollyJumpers/Leonardong . . . . 2 matches
         처음에 리스트에 차를 집어넣은 후 정렬하려 했다가 집합 개념이 떠올라 그 쪽으로 해결했다. statementForSeries메서드 부분에 있던 CheckJolly메서드를 따로 테스트하면서 ExtractMethod를 하게 되었고, 차가 음수인 경우도 테스트를 통해 알게되었다. 보폭이 아직 좁지만 술술 진행 문제이다.
         실제 코딩에 들어가기 전에 생각하는 시간을 가진다. [생각하는프로그래밍]에서 읽은 게으른 프로그래머가 될 필요가 있겠다. 가능 디자인 공간을 5분이라도 탐구하고 그 가운데 가장 괜찮은 놈으로 시도해봐야겠다. --[Leonardong]
  • JollyJumpers/강희경 . . . . 2 matches
         1. gap들의 각기 다른 크기여야다.(ex)2가 두번 나오면 안된다.)
         2. 각각의 gap은 0보다 크고 n보다 작아야다.
  • JoltAward . . . . 2 matches
         SoftwareDevelopmentMagazine에서 매년 수상하는 권위적인 상. 책, 개발도구, 웹 사이트 등 다양 분야가 있다.
         나는 JoltAward의 서적 분야 수상작에 뭐가 올랐나를 보고, 내 해 정보감수성 척도로 삼는다. --JuNe
  • JuneTemplate . . . . 2 matches
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • KDPProject . . . . 2 matches
          * http://c2.com/cgi/wiki?PortlandPatternRepository - Portland Pattern Repository. 유명 Wiki page.
          * http://pocom.konkuk.ac.kr/design_patterns/ - JDP 글 요약 사이트. 추천.~
  • KIV봉사활동/개인준비물 . . . . 2 matches
          * 현지 생활을 위해서 필요 개인 물품을 적습니다.
          * 승 - 다른 사람이 쓴 샤워 타올도 상관 없는데-_ -ㅋ
  • Knapsack . . . . 2 matches
         이렇게 말했습니다. 그러나 주머니의 공간이 무제은 아닙니다. [[BR]]
         처음부터 단박에 이 문제를 푸는 것보다 조금 더 제적이고 쉬운 문제에서 일반적이고 어려운 문제로 점진적으로 진행해 나가는 것은 어떨까요. NoSmok:HowToSolveIt 에서 소개하는 문제 해결 테크닉 중 하나이기도 하죠. 훨씬 더 높은 교육적 효과를 기대할 수 있지 않을까 합니다.
  • LC-Display/곽세환 . . . . 2 matches
         bool display[8][7]; // 최대 8자리, 숫자를 나타내는데 필요 선은 7개
  • LC-Display/문보창 . . . . 2 matches
         쉽게 생각하고, 구상을 하지 않고 바로 코딩을 후유증을 여실히 보여준다. 수행시간이나 메모리사용이 만족스럽지 못하고, 코드또 가독성이 떨어진다. 추후 리펙토링이 필요하다.
  • LUA_3 . . . . 2 matches
         마지막으로 repeat 문을 살펴 보겠습니다. repeat는 C의 do~while과 유사합니다. 하지만 다른 점이 있습니다. 우선 while 문과 달리 꼭 번은 실행 된다는 점, 그리고 조건이 거짓일 동안 반복 된다는 점, 그리고 마지막으로 do ~ end 블록이 아니라 repeat ~ until 로 구성 되어 있다는 점 입니다. 문법은 아래와 같습니다.
         예제를 번 보겠습니다.
  • LazyInitialization . . . . 2 matches
         LazyInitialization의 하나의 변수당 두개의 메소드로 나눠서 초기화를 다. 하나는 변수가 LazyInitialization되는 것을 감추어 주는 getter이고, 다른 하나는 변수에다 디폴트값으로 할당을 해줄 DefaultValueMethod이다. 이 방법은 유연성이 증대된다. 당신이 서브클래스를 만든다면, DefaultValueMethod를 오버라이딩함으로써, 기능을 바꿀 수 있다. 전장에서도 언급했듯이 성능도 증대시킬 수 있다.
         별로 안쓸듯하지만... 켄트벡 왈 : 일단은 ExplicitInitialzation으로 출발을 하고, 상속될 거 같으면 LazyInitialization을 사용다.
  • LightMoreLight/문보창 . . . . 2 matches
         간단 문제였으나, 처음에 문제 분석을 잘못하여 시간을 소비했다. 정수론 문제의 경우 문제분석만 잘해 준다면 의외로 쉽게 풀리는 것 같다. 수행시간과 메모리 사용량이 많다. 보다 좋은 알고리즘을 생각해야 다.
  • LinkedList . . . . 2 matches
          * 필요 메소드
          * 특정 위치에 데이터 삽입하는 메소드
  • LinuxSystemClass/Exam_2004_1 . . . . 2 matches
          Load Balancing 을 위해 단일 process queue 를 둔뒤 Multi CPU 에 배분다.
          Linux 에서의 Memory 관리시 binary buddy algorithm 을 이용다. 어떻게 동작하는지 쓰시오.
  • Lotto/송지원 . . . . 2 matches
          || 입력 ||여러 개의 테스트 케이스, 각 줄의 첫번째 숫자는 6부터 13 사이 임의의 숫자 갯수, 그 뒤에는 첫번째 숫자 갯수 만큼의 정수가 뒤이어 나와야 다. ||
          || 출력 ||각 테스트 케이스에 대해, 가능 모든 방법의 수를 오름차순으로 정렬. 각 테스트 케이스는 비어있는 하나의 줄로 분리. ||
  • LuaLanguage . . . . 2 matches
         http://www.redwiki.net/wiki/wiki.php/Lua - redpixel 님의 위키 페이지. Lua 에 관 가장 정리가 잘된 페이지중 하나.
  • MFC/DeviceContext . . . . 2 matches
         윈도우 운영체제에 의해서 정의된 데이터 구조. 윈도우 운영체제가 장치에 비종속적인 GDI 함수로, 출력 요청을 처리하는 출력장치에 대 작업으로 해석가능하다. DC에 대 포인터는 윈도우의 API함수를 호출함으로써 얻을 수 있다.
  • MT페스티발 . . . . 2 matches
         공대에서 멋진 MT를 기획하는 소모임과 동아리에게 MT비를 지원다고 합니다. 기획하고 싶으신 분 있나요? --[Leonardong]
         |||| 동아리 & 소모임 소개(최대 자세히 적어주세요)||||||
  • MacromediaFlash . . . . 2 matches
         웹에서 interactive 화면 제작 & 웹 클라이언트 개발용으로 활발하게 이용되는 툴.
         XML 을 이용하는 방법과 loadVariables 를 이용하는 방법 등이 있다. 혹은 Flex 를 이용다. 혹은 SOAP 을 연동할 수 있다.
  • MagicSquare/재니 . . . . 2 matches
          cout << "마방진을 만들겠습니다. 자리의 홀수를 입력하십시오. ";
          cout << "잘못 입력하셨습니다.\n자리의 홀수를 입력하십시오. ";
  • MajorMap . . . . 2 matches
         BCD가 이진수 표현에 비해 갖는 장점 중 하나는, 표현할 수 있는 숫자 크기에 제이 없다는 것이다. 다른 자릿수를 추가하려면, 그저 새로운 네 비트를 추가하기만 하면 된다. 이와는 대조적으로, 이진수 형식으로 표현된 숫자는 그 숫자를 표현하기 위해 사용되는 비트, 즉 8, 16, 32, 또는 64 비트 등에 의해, 표현할 수 있는 가장 큰 숫자가 제된다. --from [http://terms.co.kr/]
  • Marbles/문보창 . . . . 2 matches
         예리 테스트 케이스에 놀랐다. 신비 수의 세계를 엿볼 수 있는 문제(?)다.
  • MedusaCppStudy/희경 . . . . 2 matches
         (영어입력!! 글은 곱하기 2해서 나옴)
          cout << "숫자를 차례대로 입력해주세요(숫자는 서로 띄어쓰기로 구분다) :" << endl;
  • MoinMoin . . . . 2 matches
          * 모니위키로 개인위키를 운영하고 있었는데 기능에 계가 있어 모인모인으로 이사하는 중 입니다. - 이승
  • MoniWiki/Release1.0 . . . . 2 matches
         <!> StandaloneWiki를 위 Http Server를 완성 후에 1.0을 발표할 것을 계획하고 있습니다. 물론, 개발이 지체되어 그 전에 발표할 수도 있습니다.
  • MoniWikiTheme . . . . 2 matches
         MoniWiki는 기본적으로 header.php와 footer.php를 고쳐서 다양 모습으로 자신의 개인위키를
         {{{[[Theme]]}}}매크로를 이용하여 지원 가능 Theme목록을 볼 수 있다.
  • MoreEffectiveC++/C++이 어렵다? . . . . 2 matches
          * 이유 : class에 대하여 vtbl과 vtp의 구현 방법 표준이 비존재, 당연히 직렬화에 관 표준 역시 비존재, 벤더들에게 구현을 맡겼음. 그래서 특히나 각 DB업체에서 OODB의 제작시 자사들만의 표준을 가져야 다는 벽에 부딪침.
  • MySQL/root암호분실시 . . . . 2 matches
         # mysql에 접속다.
         # mysql db를 선택후 root의 암호를 설정하고 변경된 정보를 업데이트 다.
  • NS2 . . . . 2 matches
         Networking과 관련된 여러 이론과 아이디어를 가상으로 실험해 볼 수 있는 시뮬레이터. 네트워킹과 관련된 논문에서 가설에 대 검증을 할때 실제 실험을 해 보는 경우가 아니면 99% 이상이 시뮬레이터를 이용다.
  • NumberBaseballGame/jeppy . . . . 2 matches
          이것저것 해봐야겠당~ editplus 사용해도 꽤 괜찮넹.. 답답 도스환경에서 해방~
          근데 스팩이 좀 이상거 아닌가.. 중복된 숫자가 나오면 풀 수 있는건가? --a
  • NumericalAnalysisClass/Exam2002_2 . . . . 2 matches
         1. 주어진 함수 f(x) = x^3 + x - 4 이 구간 [1,4] 에서 하나의 해를 갖을 때, 그 근사값이 10^-4 의 오차 계에서 구하기 위해 이분법 (bisection method) 을 적용하였을 때 최대 반복횟수를 계산하시오.
          b) 여인수를 이용 determinant 를 계산하시오.
  • NumericalAnalysisClass/Report2002_1 . . . . 2 matches
         Cubic Spline 함수를 계산하기 위해서는 Tri-Diagonal Matrix 에 대 해를 구할 수 있어야 다. 다음과 같이 주어진 Tri-Diagonal Matrix 시스템의 해를 계산하는 프로그램을 작성하시오.
  • OOP . . . . 2 matches
          * [Implementation](구현 : 인간의 개념 속에 존재하는 생각과 사상 등을 실제 물리적인 객체로 구성하는 일련의 작업. 예를 들어 새로운 구조의 컴퓨터 시스템을 만들어 내는 작업과 설계 과정을 거쳐서 전달된 내용을 실제 프로그램으로 구성하여 컴퓨터에서 사용할 수 있도록 하는 작업 등이 모두 구현 작업의 가지에 해당된다고 할 수 있다. : 정보문화사 컴퓨터 용어사전 발췌)
         [객체지향용어글화토론]
  • ObjectProgrammingInC . . . . 2 matches
         결국 private가 없단 소린데... 컴파일 까지만 해서 lib 형태로 header에 public화 할 것만 공개다면... 불가능이군...
         차라리 저 구조체만 다른 lib에 저장시키고 링크를 불가능하게 내부에서만 연산을 다면 몰라도. return value는 kernel이나 IPC로 넘겨 줘야할 듯.
  • OekakiMacro . . . . 2 matches
         (!) 짧막 코멘트를 달게끔 해도 괜찮을 것이다. Comment 플러그인을 만들고, Blog의 코멘트와 Vote매크로를 응용해서 페이지 임의의 부분에 좀 더 쉽게 코멘트를 덧붙일 수 있게 다.
  • OpenCamp . . . . 2 matches
          * ZeroPage 내부의 다양 학술활동을 외부의 다양 사람들에게 개방하고 공유하면서 스스로의 배움도 점검하는 일석이조의 행사
  • OperatingSystemClass/Exam2006_2 . . . . 2 matches
         1. Bounded Buffer문제를 세마포어로 푸시오.(코드 작성) 단 버퍼의 사이즈는 7개가 계이다.
         2. 유니크 우선순위를 갖는 n개의 프로세스 p1, p2, ... pn이 있다. 프린터는 2대가 있다. 이 프로세서들이 각자의 우선순위에 맞게 프린트 작업을 할 수 있도록 프린터를 할당해주는 모니터를 작성하시오.
  • OurMajorLangIsCAndCPlusPlus/2005.12.22 . . . . 2 matches
         스터디에 대 간략 토론
  • OurMajorLangIsCAndCPlusPlus/print . . . . 2 matches
         printf와 유사 print 함수 만들기
         %3d와 같은 정렬 기능을 제공다.
  • PC실관리/2013 . . . . 2 matches
          * 윈도 공유 폴더 기능을 이용 서버
          * 클론질라 삼바서버를 이용 복원 방법
  • PHP Programming . . . . 2 matches
         [지혜] 파일 업로드가 가능 게시판을 만든다. (혜영과 별로 다를게 없군.. ㅡㅡ; 내 의견은 별로 필요해 보이지 않는걸그래.. ㅡㅡa)
          * 앗 PHP네요. +_+; 하지만.. 건들만 여력이 안되서.. ㅡ.ㅡ --선호
  • PNGFileFormat/ImageData . . . . 2 matches
          * 압축풀린 데이터는 각 스캔라인별로 다른 필터로 되어있다. 즉 스캔라인은 픽셀width바이트 +1byte 이며 이 1 바이트는 각 스캔라인의 앞부분에 온다.
          * 자세 내용은 [PNGFileFotmat/FilterAlgorithms] 참조.
  • PPProject . . . . 2 matches
         스터디는 어떤 방식으로 할까. 이번 만큼은 제대로 하고 싶어. 적절 방법을 연구해보자 -- 재선
         우와~ 재미 있어보인다~ &_& -- [이승]
  • PaintBox . . . . 2 matches
          * 최대 간단하게 짠다.
          * 제된 날짜안에 프로젝트를 완성하는 경험을 쌓는다.
  • ProjectCCNA/Chapter3 . . . . 2 matches
          * TCP/IP란 프로토콜(Protocol)의 종류로 인터넷을 하기 위해 꼭 필요하다. ARPANET에 의해 처음으로 개발 되었으며 TCP/IP는 인터넷을 사용하는 컴퓨터라면 어디에나 세팅이 되어 있다.
          * 인터넷을 사용하기 위해서는 IP라는 주소가 필요하며 이 주소는 2진수 32개로 4묶음씩 구성된다. 각 묶음마다 10진수로 나타내어 알아보기 쉽게 만들었다. 현재 IP 버전은 4인데(IPv4) 약 43억개의 주소를 할당 할 수 있다. 그런데 이 주소가 얼마 남지 않아서 ip 버전 6으로 대체 할 것이라고 다.(IPv6은 2의 128개로 구성되어 있다고 함.)
  • ProjectPrometheus/AcceptanceTestServer . . . . 2 matches
         해당 AcceptanceTest 의 Run 를 클릭하면, WEB 에서 해당 AcceptanceTest (UnitTest 작성 코드) 를 실행하고, 그 결과를 그대로 화면에 출력다. 그러면 해당 테스트에 대 결과를 확인할 수 있다.
  • ProjectPrometheus/Iteration . . . . 2 matches
          * Release 2 : I4 ~ I6 (또는 I7). My Page Personalization (이하 MPP), RS 에 대 UI, Admin 기능 완료. 요구 Performance 를 만족시킨다. (부가기능 - 책 신청, 예약)
  • ProjectPrometheus/방명록 . . . . 2 matches
          * 우선 프로메테우스가 대상을 받은 거 축하드립니다...^^ 번 써볼라고 사용자 등록을 하려니까 '500 Servlet Exception' 이 나네요...-,-;;; 그리고 저희 집 해상도가 1024 * 768 인데 프레임 오른쪽이 쬐끔 잘리네요. --재동
  • ProjectSemiPhotoshop . . . . 2 matches
          * ["경태"] : 회닉 중임다. 마디로 찬란 광채를 숨기고 구름 뒤에 숨어있는.. 짧게 말해 ZP기생충.. >.<
  • ProjectWMB . . . . 2 matches
          * [https://eclipse-tutorial.dev.java.net/eclipse-tutorial/korean/] : 이클립스 글 튜토리얼
          * 기존 1차원적인 지식검색을 노드들의 연결(2차원)로 지식에 대 접근속도를 빠르게 할 수 있다.
  • PyGame . . . . 2 matches
         사용하기 정말 쉽다. [Python] Interpreter 에서 줄 입력하면서 공부할 수도 있다.
  • PyIde/BicycleRepairMan분석 . . . . 2 matches
         BicycleRepairMan_Idle.py 가 실마리가 될것 같다. VIM이나 Idle 통합부분의 경우 BRM에서의 facade를 사용다.
          * BRM 을 분석하는데 BRM 을 쓰고 있다. 느낌이 묘중. :)
  • PyIde/Exploration . . . . 2 matches
         Vim python box 써보다. VIM 의 해당 기능에 대 빠른 Integration 은 놀랍기 그지없다. (BRM 이건, python 관련 플러그인이건)
         Design 을 할때 오버하는 성향이 있는 것 같다. IListener 가 있으면 DIP를 지키는 것이기도 하고, 기존 TestResult 등의 클래스들을 수정하지 않으면서 Listener 들만 추가하는 방식으로 재사용가능하니까 OCP 상으로도 좋겠지만. 과연 당장 필요 것일까? 그냥 TestResult 를 모델로 들고 있고 View 클래스 하나 더 있는 것으로 문제가 있을까?
  • PyOpenGL . . . . 2 matches
         2.3x 버전의 경우는 설치할때 NumericPython 과 numpy 등의 모듈들을 같이 설치해주어야 다.
         새 버전의 [PyOpenGL]의 경우 메소드 이름이 약간 바뀌었다. xxxFuncCallback 함수 대신 xxxFunc 식으로 쓰인다. Nehe 의 코드 대신 [PyOpenGL] 인스톨시 같이 인스톨되는 Nehe Demo 프로그램 코드를 이용하기를 권다.
  • Python/DataBase . . . . 2 matches
         client_flag - integer, 필요할 경우 사용하기 위 flag (0)
         zeropage 에서 파이선 공부할 사람은 필요 모듈있으면 게시판에 올리기 바람. - [eternalbleu]
  • PythonMultiThreading . . . . 2 matches
         Python 에서는 2가지 thread interface 를 제공다. 하나는 C 스타일의 API 를, 하나는 Java 스타일의 Thread Object를.
         다음은 간단 예.
  • QualityAttributes . . . . 2 matches
         DeleteMe)이 맺혔구나 --;;; --["상민"][[BR]]
         DeleteMe)형 정말 이 맺혔군요.. -_-; ["erunc0"]
  • RandomWalk/손동일 . . . . 2 matches
          int x = rand(); // rand()함수는 랜덤 숫자를 리턴하는 함수입니다.
          //참이면 값을 출력다...
  • RandomWalk/영동 . . . . 2 matches
          //8방향 랜덤 이동에 대 코드
          //동적할당 것 지움
  • RandomWalk/황재선 . . . . 2 matches
          cout << "\n각 타일에 이동 횟수 : \n\n";
         // 각 cell로 이동 횟수 출력
  • RandomWalk2/Insu . . . . 2 matches
          * 변경 1에서 거의 변경된게 없더군요. 혼자 좋아했다는..--; 변경1을 하면서 리팩토링 쬐금 공부걸 써봤습니다. 메소드 옮기기 get 이런거 마니 나오면 그것도 옮기기 정도?
          * STL 컨테이너는 복사본을 사용다는 걸 알고 포인터로 바꿨습니다.
  • RandomWalk2/Leonardong . . . . 2 matches
          int tempx=x, tempy=y;//벽을 통과할때를 대비 백업
          cin.get(input);//자씩 입력받게
  • ReverseAndAdd/1002 . . . . 2 matches
          * 예외처리 안하고 가능 빨리 짧게 풀기로 고민. 실제 bot 으로 돌릴때는 다를지도 모르겠지만. (196 넣으면 에러 발생)
  • ReverseAndAdd/곽세환 . . . . 2 matches
         쉬운줄 알았는데 계속 틀린답나옴 일단 숨자고 나서 보니 숫자 범위가 4294967295까지임
          int iter = 0; // 반복해서 더 횟수
  • RubyLanguage/Class . . . . 2 matches
          * 제된 다중상속
          * Ruby는 단일상속만을 지원다.
  • RubyOnRails . . . . 2 matches
          || 조현태 || 월요일을 제외 나머지 요일의 1시 이전. OR 월요일과 목요일을 제외 나머지 요일의 6시 이후 ||
  • STL/VectorCapacityAndReserve . . . . 2 matches
         /* 글화와 주석을 첨부했습니다. */
          cout << "STL Vecotr의 capacity와 reserve에 대 함수 수행을 보입니다."
  • STL/search . . . . 2 matches
          이 과정을 재귀적으로 하면 값을 찾을수 있다. 이런 탐색 방법을 Binary Search 라고 부른다. 이것이 성립하려면, 원소들이 정렬되어 있고, 임의접근(random)이 가능해야 다. 정렬이 안되어 2,3 번의 과정을 진생할수 없다.
         #include <algorithm> // search 알고리즘 쓰기 위
  • STL/string . . . . 2 matches
          * string 클래스라고 해서 공백을 무시할수 있는것은 아니다. 학교 교재에 보면 getline()과 get()이 나온다. string 변수로 입력을 받는다 해도 cin >>을 사용하면 공백을 입력 받을수 없다. 따라서 getline() 써줘야 다.
          ["[Lovely]boy^_^"]는 이걸 망각하고 1시간동안 삽질을 경험이 있다. 이럴때는 일단 char input[255]정도로 큰 배열 잡아 놓은 다음 string으로 변환 시켜준다. 예제를 보자.
  • STL/참고사이트 . . . . 2 matches
         The Code Project, C++/STL/MFC 에 대 소개 http://www.codeproject.com/cpp/stlintroduction.asp
         iterator에 대 매우 좋은 설명 http://www.cs.trinity.edu/~joldham/1321/lectures/iterators/
  • SVN 사용법 . . . . 2 matches
         1. 마우스 오른 쪽 버튼 클릭 -> add 선택 -> Debug 제외 폴더 Add
         2. 그 안으로 이동 후 -> Check Out 선택
  • SWEBOK . . . . 2 matches
          * SWEBOK 은 이론 개론서에 속하며 마치 지도와도 같은 책이다. SWEBOK 에서는 해당 SE 관련 지식에 대해 구체적으로 가르쳐주진 않는다. SWEBOK 는 해당 SE 관련 Knowledge Area 에 대 개론서이며, 해당 분야에 대 실질적인 지식을 위해서는 같이 나와있는 Reference들을 읽을 필요가 있다. (Reference를 보면 대부분의 유명하다 싶은 책들은 다 나와있다. -_-;) --석천
  • SceneDotOrg . . . . 2 matches
         Demo Art 의 산실. 이곳에 등록된 용량대비 화려 프로그램들을 번쯤 구경해보시길. ;)
  • SeedBackers . . . . 2 matches
         2005년 2월 졸업생들. 졸업 논문 심사를 통과하기 위해. 조금 더 양질의 논문을 산출해내기 위해 서로의 논문을 같이 준비하고 피드백(feed-back)을 넘어선 시드백(seed-back)을 주고받기 위 프로젝트 페이지
          || [임인택] || OpenSource 프로젝트 산출물의 품질 향상을 위 프로세스 개선 방안 || SE 연구실 ||
  • Self-describingSequence/황재선 . . . . 2 matches
          * 메모리 사용을 줄이기 위 방안이 필요하다. 또 입력값에 맞는 배열 크기 할당이 요구된다. 여기는 입력 값에 관계없이 최대 입력 값에 맞는 배열 크기를 할당하였다.
  • SimpleTextIndexerUsingSQLite . . . . 2 matches
          * 아래와 같이 다. 해당 폴더가 없으면 실행이 안된다
         = 글 되게 하는법 =
  • SisterSites . . . . 2 matches
          1. bsddb 셋팅 - python 2.1 쪽 shell 로 들어가서 다음을 입력다.
          * 처음 SisterSite 돌릴때 bsddb 로 db 화일 만들어줘야 다. 저거 해당 화일 없을때는 1번은 실행되게끔 수정해주기.
  • Slurpys/신재동 . . . . 2 matches
         우선은 최대 속도에 주력. 데 완성 하고나서 리펙토링을 어찌해야할 지도 난감함. --재동
  • SmalltalkBestPracticePatterns/Behavior/Conversion . . . . 2 matches
         각자의 클라이언트들은 같은 정보임에도 서로 다른 프로토콜로 표현된 것이 필요할 때가 있을 것이다. 가장 쉬운 방법은 필요로 하는 객체마다 가능 모든 프로토콜을 넣는 것이지만... 역시 낭비다.
         이럴때는 오브젝트를 다른 것으로 변환하는 메소드를 추가하자.
  • SmithNumbers/남상협 . . . . 2 matches
          * 나만 연습 안하는게 재동이테 미안해서 번 해봄..
  • SoftwareCraftsmanship . . . . 2 matches
         또 다른 모습의 SoftwareEngineering. ProgrammersAtWork 에서도 인터뷰 중 프로그래머에게 자주 물어보는 질문중 하나인 '소프트웨어개발은 공학입니까? 예술입니까?'. 기존의 거대 메타포였던 SoftwareEngineering 에 대 새로운 자리잡아주기. 두가지 요소의 접경지대에서의 대안적 교육방법으로서의 ApprenticeShip.
  • SpiralArray/영동 . . . . 2 matches
          * 제대해서 처음으로 숙제를 제외하고 처음 짠 ToyProblem입니다. 1학년 때 프로그래밍잔치에서 못 짰던 걸 이제야 짰네요. 우선 소요시간으로 미루어 볼때 제대하고 나서 머리가 굳었다는 걸 느낄 수 있었고, 그만큼 처음부터 막 짜지 말고 설계 및 구상을 잘 해야겠다고 생각했습니다. 또 객체지향으로 짠 것도 아니고 변수, 함수를 너무 지저분하게 쓴 거 같기도 하고... 반성할 점이 참 많았습니다. 그리고 일단 배열 크기도 미리 정했고 시작점도 0, 0으로 가정하고 해서 사용자의 잘 못된 입력에 대응하지 않은 점도 미비했네요.
         const int DIRECTION=4;//이동 가능 총 방향수
  • SpiralArray/임인택 . . . . 2 matches
         이런 순으로 배열이 되게 되는데, (시작점과 끝점을 제외하고) 포인터의 이동방향을 나열해보면 →→→ ↓↓↓↓↓ ←←← ↑↑↑ →→ ↓↓ ← ↑ 순으로 된다. 여기에는 간단 규칙성이 생기는데 (첫줄의 움직임을 제외) 다음과 같은 수식으로 포현될 수 있다.
         이 식으로 간단 수열을 만들 수 있고, 이 수열로 배열의 인덱스를 바꿔가며 값을 채워나간다.
  • StringOfCPlusPlus/세연 . . . . 2 matches
         역시 포인터는 헷갈려, 분명 사소데서 잘못되구 있는게 분명데.......언넝 에러를 잡아야할텐에......
  • StructuredProgramming . . . . 2 matches
         구조적 프로그래밍 기법으로서 OOP에서도 여전히 유용하게 이용할 수 있는 방법으로는 StepwiseRefinement 가 있다. 이는 처음 추상적인 이름으로 서술뒤, 점차적으로 구체적인 구현부분까지 점진적으로 서술해가면서 구현해나간다. 이는 ProgrammingByIntention 과 그 맥락이 비슷하다고 할 수 있다.
         다익스트라의 구조적 프로그래밍에 관련 논문들입니다. - [eternalbleu]
  • StudyingFundamentalsOfTcpIp . . . . 2 matches
          * 소켓 프로그래밍이 아닌 TCP/IP 에 대 공동학습. 여럿이 해야 효과가 크겠죠.
          || 이름 || 학번 || 마디 ||
  • SystemPages . . . . 2 matches
         특별 역할을 하는 페이지들 관련 링크.
          * WikiSandBox - 테스트를 위 모래상자.
  • TAOCP/Exercises . . . . 2 matches
         우리가 같이 방법
         X^13이 rA에 들어가는 프로그램 작성(X^13이 WORD를 넘지 않는다고 가정)
  • TestCase . . . . 2 matches
         TestCase란 만들고자 하는 대상이 잘 만들어졌다면 무사히 통과할 일련의 작업을 말다. TestCase는 작성하고자하는 모듈의 내부 구현과 무관하게
         원하는 동작을 하는지를 검사하는 것을 그 목적으로 다.
  • TheGrandDinner/조현태 . . . . 2 matches
          //// 연산을 수행다. ////
          //// 결과를 출력다. ////
  • TheJavaMan/숫자야구 . . . . 2 matches
          dispose(); // 모든 자원을 반납다.
          System.exit(0); // Program을 종료다.
  • ThePracticeOfProgramming . . . . 2 matches
         [TheElementsOfProgrammingStyle] 에 대해 문의사항이 있어 저자중 명에게 메일을 보냈더니, 이 책을 언급하였다. TEOPS 의 중요 내용들을 이책의 첫 챕터에 수록하였다는 말과 함께. -_-a
  • TheTrip/곽세환 . . . . 2 matches
          * 알고리즘 - 평균값을 구다음에 평균값보다 많이 쓴 돈(평균값 넘는 돈 - 평균값)이 이동하면 됨
          int student[1000]; // 학생들이 사용
  • TheWarOfGenesis2R/ToDo . . . . 2 matches
          * 몬스터 정보를 추가할 수 있어야 다.
          * 이벤트 정보를 추가할 수 있어야 다.
  • TicTacToe . . . . 2 matches
          * 사람 두 명이 O와 X를 번갈아 놓으면서 3목을 먼저 만드는 게임을 다.
          Player1과 Player2 중 승자를 출력다.
  • Trace . . . . 2 matches
         ( {{{~cpp TRACE}}} 매크로가 내부적으로 함수 호출을 하는것 같기는 데 생각해보면 {{{~cpp TRACE}}} 매크로보다 우리가 정의 함수를 호출하는게 조금더 오버헤드가 있을것 같다 )
  • UglyNumbers/곽세환 . . . . 2 matches
          * STL사용하니 결 간편하다
          * 답은 ''The 1500'th ugly number is <숫자>.'' 형식이어야 다.
  • UglyNumbers/남훈 . . . . 2 matches
         1500 "번째" ugly number 를 알기 위해서는 1499 번째 ugly number 보다 큰 수 중에 해당되는 수가 있는지 조사하면 된다. 그런 간단 아이디어로 구현
         동일 아이디어를 유지하되, 반복으로 처리
  • UglyNumbers/송지원 . . . . 2 matches
         희경 오빠가 쉬울거라고 말만 믿다가 피토했습니다. (워낙 이런 문제풀기에 약해서..)
          int n2, n3, n5; // ugly number에 2,3,5를 곱
  • UpgradeC++/과제1 . . . . 2 matches
         올 대단걸..^^ 잘해쓰~ 앞으로도 계속 열심히..[조재화]
         난 잠시 바빠서 그날 건만 올려놓고 곧 수정할께 ㅋㅋ 자료구조 숙제의 압박 ㅋㅋ 니네가 도와줘 ㅋㅋㅋ
  • UseSTL . . . . 2 matches
          * 시작 이후로 C++ 배웠다고 자로서 STL 을 몰랐다는 것이 얼마나 어리석은 것이었는가 깨닫게 된다. --["상민"]
  • VonNeumannAirport/인수 . . . . 2 matches
         // 접하는 문제를 모두 OOP적으로 풀어보려 노력하려다.
         // 끝부분에 소트시키는 부분이 있는데.. 귀찮아서 그냥 map에 때려넣었다. map<int,int> 해서 키값은 traffic양, 값은 테스트번호, 이런식으로 하면 지가 알아서 정렬다.
  • WinampPluginProgramming/DSP . . . . 2 matches
         winamp SDK 를 받으면 sample 로 있는 dspecho 에 대 분석.
         // samples3-5 번 관련. pitch control 를 보여주기 위 윈도우.
  • XMLStudy_2002 . . . . 2 matches
         일단은 XML COMPLETE란 책을 보고 XML에 대 어느정도 감을 잡는다. 이책은 앏다(400p). 그리고 두툼 책을본다.
  • XOR삼각형 . . . . 2 matches
         파스칼의 삼각형에서 덧셈의 기본 연산을 XOR로 치환 XOR삼각형 만들기
          XOR연산은 두개의 숫자가 같으면 0, 다르면 1 입니다. (DeleteMe XOR 연산의 보다 정확 정의는 같으면 0, 다르면 1이 아니고 1의 갯수가 홀수일때 1, 짝수일 때 0 입니다)
  • XUL . . . . 2 matches
         모질라 계열 브라우저에서 실행 가능 [XML] 기반의 프로그래밍 언어.
         [http://oooko.net/gomme/?p=102] - 글화된 XUL 배우기 페이지
  • ZP도서관/2013 . . . . 2 matches
          * 도서 관리 방법에 대 의견이 있다면 코멘트 달아주세요. - [김민재]
          * 책에 QR코드를 붙이고 위키 플러그인을 만들어서 그 QR코드를 찍으면 대출, 반납, 연장, 예약 등을 선택할 수 있게 뒤 원하는 작업을 클릭하면 위키에 자동으로 기록하게 해준다면 편하겠죠... - [김수경]
  • ZeroPageEvents . . . . 2 matches
         || 4.11. 2002 || ["SeminarHowToProgramIt"] || . || 세미나 & 진행 : ["JuNe"][[BR]] 참가 : 이선우, ["woodpage"], ["물푸"], ["1002"], ["상협"], ["[Lovely]boy^_^"], ["neocoin"], ["구근"], ["comein2"], ["zennith"], ["fnwinter"], ["신재동"], ["창섭"], ["snowflower"], ["이덕준"], 채희상, 임차섭, 김형용, 김승범, 서지원, 홍성두 [[BR]] 참관: ["최태호"], ["nautes"], ["JihwanPark"], 최유환, 이주, 김정준, 김용기 ||
         || 6.23. 2002 ~ 6. 28. 2002 || ["데블스캠프2002"] || 신입회원들을 위 밤샘 세미나 & 실습 프로젝트 || . ||
  • ZeroPageServer/계정신청방법 . . . . 2 matches
         ZeroPagers 이고, 신입회원에 대 정책은 [정모]에서 결정
          * 계정 신청에 필요 기본 양식
  • ZeroPage가입관련 . . . . 2 matches
          * 자유게시판에 가입신청 에 관 말을 올려 인지시킵니다.
          * 정모에 대 사항은 이곳을 참고하시면 됩니다.["정모"]
  • ZeroWiki/Mobile . . . . 2 matches
          * => DB 스키마 구조를 이해하고 있어야 함. 필요시 위키 페이지 소스에 대 분석도 필요
          * 올해 졸업하신 14기 [이승] 선배님께서 모니위키 모바일 프로젝트를 진행하고 계십니다.
  • [Lovely]boy^_^/EnglishGrammer/PresentPerfectAndPast . . . . 2 matches
          We also use the simple past some situations.( ... 어쩌라는 거야..ㅠ.ㅠ 쓸거면 확실하게 군데만 쓰던지..;;)
          D. Don't use the present perfect when you talk about a finished time.(이미 끝난일 가지고 현재 완료 쓰지말란다. 당연 얘기)
  • [Lovely]boy^_^/USACO/MixingMilk . . . . 2 matches
          * 훌륭 프로그래머들의 습관을 따라 해보려 노력중이다.
          * 전문 프로그래머들은 assert문을 자주 쓴다고 다.
  • [Lovely]boy^_^/USACO/PrimePalinDromes . . . . 2 matches
          * 테스트 해서 5초 넘기면 다시 짜오라네요. 첨에 소수 걍 아무렇게나 구해서 냈더니.. 천만쯤 가니까 어이없는 시간이 나오더군요..;; 그래서 소수의 성질 생각해서 이리저리 뜯어 고치다가 별 이상 방법으로 9개 테스트 모두 5초 이내 통과 했습니다. ㅠ.ㅠ 마지막 테스트는 4.9xXX초 라는;;--;
  • [NewSSack]Template$ . . . . 2 matches
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • apache/mod_python . . . . 2 matches
          * [moinmoin]을 설치하기 위해서는 [apache]에 [python]모듈을 설치해야 다.
          * DeleteMe) mod_python의 mod를 module인줄 모르고 파이선의 종류인줄 알았었다는...-_-ㅋ;;
  • iruril . . . . 2 matches
          || 실제로 쓰이는 게임기획 - 이렇게 다 || 제우미디어 ||대강읽음 ||
         == 마디 해주세요~ ==
  • jeppy . . . . 2 matches
         == 짓 ==
          * 부상 회복 중 (역시나 강력 회복력)
  • jinahut . . . . 2 matches
         여전히 조금은 머쓱 감이 있다-_-
         [http://jinahut.idaizy.net 영원, 나의 공간, 나만의 초가집]
  • matlab . . . . 2 matches
         == Matlab 소소 tip ==
         - Matlab 에서 생성 class 의 객체배열을 만드는 방법
  • nautes . . . . 2 matches
          * WebServer모듈화 방법에 대 조사
          * 차기 IPv6에 대 공부를 하려고 함
  • ricoder . . . . 2 matches
          default: cout << "이상 숫자를 입력하셨군요. 다시 입력해 주십시오.\n";
         이 사악 넘. 이런 저주를 제일 밑에 써놓다니.. -_-+ --["1002"]
  • snowflower/Arkanoid . . . . 2 matches
         앞으로 추가하기 위 것은 만들어둔 충돌처리 루틴을 좌표계와 연결하여 이제.. 45도가 아닌 다른 각도에서도 충돌 가능하도록 하는것.[[BR]]
          4. 기타 자잘 것들 수정
  • subsequence/권영기 . . . . 2 matches
         아무래도 세 문제 전부 parametric search를 이용 문제라서 페이지에 넣어야 될 듯 싶네여. 페이지 낭비 같음.
  • zyint/articleTest . . . . 2 matches
         태훈 : 원츄다고는 하지만
         여러가지 아르바이트 중에서 많이들 알고는 있지만 해보지는 못 방청 아르바이트를 직접 체험해보고
  • 가위바위보/성재 . . . . 2 matches
         {{{~cpp 에헤헤~ 소감이라고 할만건 없지만..
         {{{~cpp 우선 처음에 건가요...
  • 경태 . . . . 2 matches
          * 모토: 겁 내지 않고, 신에게 도움을 요청하는 기도도 올리지 않고, 운명에 정면으로 맞서는 리더, 바로 진실
         === 나에 관 링크 ===
  • 고한종/on-off를조절할수있는코드 . . . . 2 matches
         [고종]
         기억이 가물가물데 아마 맞을겁니다;
  • 고한종/업적/WinAPI로만든학과주점포스기 . . . . 2 matches
         이때 당시엔 이런거 보존하는게 중요지 몰랐음.
         [고종]
  • 공개선언/메세지 . . . . 2 matches
         필요 만큼 결단력이 생길거야~ 전문가 되려는 노력 포기하지 말고 다짐을 잊지 말기를 바랄게~ --[나휘동]
         무엇보다 건강~! 저도 꾸준히 운동해서 체력 키우기가 점점 중요하다는 생각이 들어요. 그 밖에 책, 패션감각, 피부관리, 언어능력, 프로그래밍에 대 바람을 모두 이루실 거에요~ [나를만든책장관리시스템]도 성공하세요~
  • 곽세환 . . . . 2 matches
          * 책 달에 권 이상 읽기
  • 구구단/이진훈 . . . . 2 matches
         {{{~cpp 스몰토크..스퀵이란 걸로 짠건데요..7살이 하는 거라 그런가ㅡㅡ 만지기가 결 편 느낌..
  • 그남자네집 . . . . 2 matches
         기숙사로 돌아오는 길에 읽다가 중단하고 빌려서 들고 온 책이다. [아주오래된농담]만큼 긴장감 있는 전개는 아니지만, 지루 서론을 넘기면 슬슬 재밌어진다. 소설인지 자서전인지 헷갈리게 인물, 시대, 배경을 모두 사실처러 꾸며놓았다. 그래서인지 오히려 일일드라마 같은 느낌은 덜하다.
         "전적인 몰두가 사람을 얼마나 지치게 하는지 알고 있었다.". 그렇다. 이럴 땐 도덕경이 생각난다. 잔을 비워야 그 구실을 다던가. 마음 속 감정을 가득 담아놓은 들, 언제까지 그 상태를 유지할 수는 없다.
  • 글로벌CEO . . . . 2 matches
          * 솔직히 들은지 몇주밖에 안되었지만 수업이 너무 좋은거 같아서 이렇게 글을 쓴다. 수요일 7,8,9 에 중앙문화예술관 10902에서 하니깐 청강 하실분은 해보시길.. 그냥 경영학 수업 듣는거 보다 이렇게 다국적 기업 CEO들의 경험과 노하우가 녹아 있는 수업을 듣는게 더 나은거 같다. 책에서는 배울수 없는 것들을 배우는 만큼 좋은 기회라고 생각다. 지금까지 몇주동안 들은 수업 내용중에서도 상당히 귀중 것들을 느꼈다.-[상협]
  • 기본데이터베이스 . . . . 2 matches
         - 영어 or 글로 단어 출력후 선택할 수 있게
  • 김동경 . . . . 2 matches
         == 마디 해주세요~ ==
         [이승]
  • 김영록/연구중/지뢰찾기 . . . . 2 matches
         연구중....(대단건아니지만 너무어렵네 ㅠㅠㅠ)
         static int gameover=1; //0일경우 메뉴 무루프 끝
  • 김재현 . . . . 2 matches
          printf("\n"); // set 완료
         포인터에 대 이해가 아직 부족해서 스스로 코드를 짜진 못하고,교수님이 올리신
  • 김해천 . . . . 2 matches
         = 연도별 일 =
          * 게임 테스터 ~~게임? 그게 뭐죠?~~
  • 김홍선 . . . . 2 matches
         2학기 내내 탱자탱자 놀고 참여 안 관계로 대략 유령회원화(?)되어가는중...
          앞으로 자주 보면 되지 모 - 이승
  • 김희성/MTFREADER . . . . 2 matches
          int LastErrorCode(); //최근에 일어난 클래스 내부의 에러를 반환다.
          void MakeBinaryFile(char* filename); //MFT를 Binary 그대로 저장다.
  • 김희성/ShortCoding/최대공약수 . . . . 2 matches
          '''컴파일러''' - gcc 컴파일러는 사용된 function을 확인하여 필요 header file을 자동으로 include 해줍니다. 또 gcc 컴파일러는 타입이 선언되지 않은 변수는 int형으로 처리합니다. 이로인해서 main의 본래 형식은 int main(int,char**)이지만 변수형을 선언하지 않으면 두번째 인자도 int형으로 처리됩니다.
  • 꼬마혜성 . . . . 2 matches
          DeleteMe 그러고 보니 자네도 무지 재미있군. 위키 어렵다고 쓰기 힘들다고 하더니 개인 위키 만들어서 돌리고 있었나 보군. 다소 황당 느낌이 든다. zp서버가 공짜 호스팅 업체로 생각되는 것은 당연것 아닐까. --["상민"]
  • 노상현 . . . . 2 matches
         승이형 밑에 [stuck!!] 소속이구요~ ^^;;
         === 저에게 하고싶은말 마디!! ===
  • 논문번역/2012년스터디 . . . . 2 matches
          * 논문 선정 후, 해당 논문을 '번역'해오고, 모여서 제대로된 번역이었는지, 내용에 대 이해는 제대로 되었는지 체크해봄.
          * 내용에 대 이해도 중요하지만 영어를 공부하겠다는 목적도 내포되어 있으므로 번역할 때 유의해야함.
  • 데블스캠프2004/5일간의의미 . . . . 2 matches
          * 박진하: 인내심의 계체험, 모르는 것을 많이 배우고 싶음
          * 박능규 : 다양 경험
  • 데블스캠프2005/FLASH키워드정리 . . . . 2 matches
         if, else, switch, goto 등의 문법들은 거의 비슷 모습을 하고 있다.
         플레시의 함수는 특별 데이터 타입이 없으므로 리턴타입을 미리 선언하지 않는다.
  • 데블스캠프2005/java . . . . 2 matches
         JAVA : J2ME, J2SE, J2EE, 자바서블릿, 자바서블릿의 종류로서 jsp 가 존재다.
  • 데블스캠프2005/참가자 . . . . 2 matches
         || 04 || 이승 || 전부 ||
         || 유선 || 동문서버 ||
  • 데블스캠프2006 . . . . 2 matches
         신입생을 위 데블스 캠프.
         DeleteMe) page 준비중입니다. 데블스 캠프에서 필요 목록을 만들어 봅시다.
  • 데블스캠프2006/SSH . . . . 2 matches
         = 간단 리눅스 명령어 실습 =
          * 문제상황 : 리눅스용 프로그램을 만들어야 하는 과제가 나왔다. 해당 과제는 컴파일과 실행을 리눅스에서만 해야 다. 그런데 vi로 하기는 싫고, visual studio 나 editplus로 작업을 하고 싶다. 어떻게 할까?
  • 데블스캠프2006/월요일 . . . . 2 matches
         박영창이 진행하는 파트에 대 간단 설명. 갑자기 맡게되서 시간이 짧게 끊날수도 잇음. -_-;
  • 데블스캠프2006/월요일/함수/문제풀이/김준석 . . . . 2 matches
          cout << "대원은 40명이상 보트당 대원은 7명 이하 모든 대원에게 무기지급다면 성공!" << endl;
          cout << "대원 명당" <<(rand()%(daewon/10) +1) * (int)(weapon_num/daewon) << "명죽이고 " << endl;
  • 데블스캠프2006/준비/월요일 . . . . 2 matches
         박영창이 진행하는 파트에 대 간단 설명. 갑자기 맡게되서 시간이 짧게 끊날수도 잇음. -_-;
  • 데블스캠프2006/화요일후기 . . . . 2 matches
         송수생 : 1년에 시간이 지나고 나선 지금 나를 돌아 보니 어느새 성장 것을 느꼈구.ㅋ
         나휘동: 프로그램 만들 때 도움이 될만 도구를 많이 알수 있는 좋은 시간이었습니다. 실습 수준도 적절했네요. 같이 서포트하신 재학생 여러분 수고하셨습니다.~
  • 데블스캠프2008 . . . . 2 matches
          || 9시 ~ 12시 || [임영동] || 토이프로그래밍 1 || [이승] || Emacs || [유상욱] || 객체지향 || [김동준] || 쿼터스 || [이병윤] || arp spoofing and sniffing ||
          || 박기 || || || O || O ||
  • 데블스캠프2009/월요일/연습문제/svn코드레이스/서민관 . . . . 2 matches
          printf("입력 숫자가 작습니다.\n");
          printf("입력 숫자가 큽니다.\n");
  • 데블스캠프2011/네째날/이승한 . . . . 2 matches
         == 이승/Android Reverse Engineering ==
         == 이승/Git ==
  • 데블스캠프2011/넷째날/Git/권순의 . . . . 2 matches
         // myCmdBase.cpp : 콘솔 응용 프로그램에 대 진입점을 정의합니다.
          // 커맨드를 비교하여 적절 커맨드 함수를 받는다.
  • 데블스캠프2011/다섯째날/Cryptography . . . . 2 matches
         두 개의 p != q인 큰 소수 p와 q를 선택다.
         1 < e < φ(n)이면서 φ(n)과 서로소인 e를 선택다.
  • 데블스캠프2011/둘째날/Scratch . . . . 2 matches
          * 몬스터를 잡는 용입니다. 몬스터들이 가까이 다가왔을때 좌우 방향키를 이용하여 몬스러를 잡는 겁니다. 단. 너무 멀리 있을때 잡으려 다면 게임오버입니다. 또 너무 가까이 와서 몬스터에게 맞아도 게임오버입니다. 타이밍을 잘 맞춰서 몬스터를 잡아주세요ㅎ
          * 소닉의 좌우 이동만 가능 상태입니다.
  • 동영상처리세미나/2006.08.17 . . . . 2 matches
         1. DirectShow에 대 간단 설명
  • 레밍딜레마 . . . . 2 matches
         시리즈 물인데, 같은 시리즈의 하나인 혜영이가 남긴 감상 [http://zeropage.org/jsp/board/thin/?table=multimedia&service=view&command=list&page=0&id=145&search=&keyword=&order=num 네안데르탈인의 그림자] 와 같은 짧고 뜻 깊은 이야기이다. 왜 이 책을 통해서 질문법을 통 실용적이며, 진짜 실행하는, 이루어지는 비전 창출의 중요성을 다시 번 생각하게 되었다. ["소크라테스 카페"] 에서 저자가 계속 주장하는 질문법의 힘을 새삼 느낄수 있었다.
  • 로그인없이ssh접속하기 . . . . 2 matches
          * 구글에서 어떤 검색 키워드를 넣느냐에 따라서 삽질을 하던지 바로 해결하던지 다는 것을 알았음. 위 검색 키워드로 찾아 가면 위 참고글이 나오는데 똑같이 해도 안될 가능성이 높음.
          * A에서 B 서버로 접속하기 위해서 는 A 에서 private_key 인 id_rsa 가 꼭 있어야 하고, 이것의 public_key 가 해당 B 서버의 authorized_keys 안에 추가되어 있어야 다. authorized_keys 안에는 여러개를 넣을 수 있다.
  • 마름모출력 . . . . 2 matches
          || 이승 || 파이선 || || [마름모출력/이승] ||
  • 만년달력/강희경,Leonardong . . . . 2 matches
          switch(month)// 달 날짜를 정해줌
         네이버에서 만년달력 검색하다가 들어오게된 페이지. 하하하 - [이승]
  • 만년달력/방선희,장창재 . . . . 2 matches
         진정 아트를 못알아본 상욱이형이 태클건거.
         [만년달력] [방선희] [장창재] [진정 아트란?]
  • 만년달력/영동 . . . . 2 matches
          2학년때 데블스캠프 때 못 풀다가 버그 생겨서 포기 문제였는데... 얼마 전에 자바 숙제로 비슷하지만 좀 더 쉬운 문제가 나왔었는데, 그걸 풀고 나니 내가 그때 이걸 왜 못 풀었을까...하는 생각이 드는군요. 밑의 소스는 리팩토링 할 필요가 있긴 하지만요.
          if((i+totalDays+1)%7==0)// 줄에 7개만 들어가도록 줄바꿈(최초의 빈칸도 계산)
  • 맞춤교육 . . . . 2 matches
          참으로 안타까운 소식입니다. 이제는 대학이 취업의 전단계로 인식되고 있다지만.. 발 더나아가 기업은 대학을 인재선발의 전진기지 정도로 생각하는것 같네요 - [임인택]
          - SeeAlso [http://ucc.media.daum.net/uccmix/news/foreign/others/200502/24/fnnews/v8451147.html?u_b1.valuecate=4&u_b1.svcid=02y&u_b1.objid1=16602&u_b1.targetcate=4&u_b1.targetkey1=17161&u_b1.targetkey2=845114 국엔 인재가 없다]
  • 문자반대출력/변형진 . . . . 2 matches
         PHP에서는 strrev()라는 문자열 처리 기본 함수를 제공하지만, 현재 버전에서의 PHP는 기본 함수로는 Multibyte String을 지원하지 못다.
         preg_split()는 문자열 처리 능력이 탁월 언어인 Perl에서 사용하는 Perl 호환 정규 표현식(Regular Expressions)을 차용하여 문자열을 분리하여 배열에 담는 함수.
  • 문자열연결/조현태 . . . . 2 matches
          피곤데 머리 안써도되고 딱 좋다고나 할까.ㅎ
          간단 몸풀기 ~_~
  • 박진하 . . . . 2 matches
         **********음..위키 줄이라도 쓰래서 쓰고갑니다 ㅋ
         여러가지로 동안 나에게서 버림 받았던 내 홈페이지ㅠㅠ
  • 반복문자열/이강희 . . . . 2 matches
         할줄몰라서 책찾아봐가면서 번 해봤습니다;
         이상거 있으면 지적해주시고;
  • 변준원 . . . . 2 matches
         현재 데블스 캠프 진행중;; 내머리의 계를 본다
         이미 계에 다다랐따 오버;
  • 보드카페 관리 프로그램 . . . . 2 matches
         - 음료수 사는 명령어 추가. 종류는 개이고 개당 500원. 나갈때 최종 계산에 더함.
  • 빵페이지/소수출력 . . . . 2 matches
          * 우와~ 벌써.. 대단걸~ 내꺼보다 간단해보인다.난 for문 세개나 썼는데ㅡㅜ -일정
         //주영이랑 원리가 비슷 듯하다..(숙제의 영향인가;)다른 방법으로도 시도해봐야겠다.ㅡㅜ
  • 삼총사CppStudy/20030731 . . . . 2 matches
         == 내용 ==
          * 미숙게 아니라.. 아예 안했다고 볼 수 있죠..;; 담번엔 별사탕 3개를 위해서~~ ^^ --동일
  • 삼총사CppStudy/20030806 . . . . 2 matches
         == 오늘 것 ==
          * friend 함수를 위해서는 VS 6.0 sp 5를 깔아야 다.[http://download.microsoft.com/download/vstudio60ent/SP5/Wideband-Full/WIN98Me/KO/vs6sp5.exe]
  • 삼총사CppStudy/숙제2/곽세환 . . . . 2 matches
          진짜 잘하네요.. ^_^ 단개를 지적하자면 스칼라값을 곱할때 v3 = 5 * v1; 이 안된다는것 정도겠네요... 이런건 friend함수를 개정도 더 만들어주면 됩니다.
  • 상협/삽질일지 . . . . 2 matches
         = 이 페이지를 작성 동기 =
         = 씁슬 삽질의 나날들 =
  • 새싹교실/2011/AmazingC/과제방 . . . . 2 matches
         //아 레알 조잡거 같아여...ㅠㅠ
          if(r%10!=0) printf("¦\n");//글로 "짝"이라 썼는데 제눈에만 이상하게 보이는건지 모르겠습니다...복사해도 저데론데 실행하면 제데로 나옵니다(?)
  • 새싹교실/2011/學高/10회차 . . . . 2 matches
          * selection sort 마저 다 짜오세요. 1등으로 짜는 사람테 보상있음(다만 그 소스코드를 설명하는 시험 봄)
          * 애들 수준을 과대평가건 아닌것 같다.
  • 새싹교실/2011/學高/9회차 . . . . 2 matches
          * selection sort 마저 다 짜오세요. 1등으로 짜는 사람테 보상있음(다만 그 소스코드를 설명하는 시험 봄)
          * 애들 수준을 과대평가건 아닌것 같다.
  • 새싹교실/2011/씨언어발전/3회차 . . . . 2 matches
         for, while 등에 대 사용법
         함수에대 기본적인 개념을 설명해 주었습니다.
  • 새싹교실/2011/씨언어발전/5회차 . . . . 2 matches
          * 배열을 사용 학생의 점수계산 프로그램
         그리고 array를 이용하여 학생들 시험점수의 총합과, 평균, 모든학생의 총합과, 총평균을 구하는 코딩을 해보았다. 또, 소수(prime number)를 구하는 함수를 배웠다.
  • 새싹교실/2012/아무거나/2회차 . . . . 2 matches
          * 공백을 출력하는 반복문과 *을 출력하는 반복문 2개를 사용하여 줄을 만든다.
          * 각 줄에서 공백을 출력하는 횟수와 *을 출력하는 횟수의 규칙을 찾아내어 식을 만들고 이를 조건식으로 활용다.
  • 새싹교실/2012/아무거나/3회차 . . . . 2 matches
         오늘도 for문을 배우는데는 실패했지만! while로도 커버 가능함을 새삼 느낀다. F11 디버깅과 Alt+F8도 배웠는데 나테 정말 꼭 필요 것 같았다.
  • 새싹교실/2012/아우토반/뒷반/5.11 . . . . 2 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • 새싹교실/2012/아우토반/앞반/5.10 . . . . 2 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • 새싹교실/2012/아우토반/앞반/5.17 . . . . 2 matches
          * 링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • 새싹교실/2012/햇반 . . . . 2 matches
          연습문제에서 했었던 간단 별그리기를 기초로하여 좀더 어려운 별그리기 문제
         4) 전체적인 수업내용 처음부터 복습, 궁금
  • 새싹교실/2013/록구록구/11회차 . . . . 2 matches
          * 기본적인 포인터 연산자들에 대 설명
          * 일단 오늘까지는 이해를 잘 것 같다.
  • 새싹교실/2013/록구록구/1회차 . . . . 2 matches
          * 전반적인 C언어에 대 설명, 그외 etc..
         ''' 뭔 말이지? 라고 하는 당신을 위 설명 '''
  • 새싹교실/2013/록구록구/5회차 . . . . 2 matches
          * 실습 시간에 것 같이 풀어보기
         ''' 뭔 말이지? 라고 하는 당신을 위 설명 '''
  • 새싹교실/2013/록구록구/6회차 . . . . 2 matches
         ''' 뭔 말이지? 라고 하는 당신을 위 설명 '''
         다시 번 함수에 대해서 공부해보는 시간을 가졌당
  • 새싹교실/2013/록구록구/9회차 . . . . 2 matches
         2013.05.14 (분명 많이 거 같은데 귀찮아서 못적은게 많구나... ㅋ)
          * 문자열과 배열에 대 설명
  • 새싹교실/2013/양반/5회차 . . . . 2 matches
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • 새싹교실/2013/양반/7회차 . . . . 2 matches
         링크를 눌러보기조차 귀찮은 당신을 위 간단 설명
  • 서지혜/MyJavaUtils . . . . 2 matches
         자바 하면서 알게된 유용 것 정리하기
          * String을 연산해 새로운 String을 만들 때는 StringBuilder를 이용다.
  • 선현진 . . . . 2 matches
         이메일 : out_of_love 닷 메일 넷
         땀 흘리고 미지근 프림커피 원샷가능(현재) 49%
  • 세미나/2004 . . . . 2 matches
         2004년 여름방학 주로 강의실을 이용 세미나 릴레이
         || 7 || 휘동 || [Debugging] || 간단 디버거 사용 시연, 디버깅에 대해 이야기 나누기||
  • 소수구하기/상욱 . . . . 2 matches
          * 오늘 생각이 나서 번 만들어 봤습니다. 제가 생각 가장 빠른 방법이네요;;
  • 소수구하기/영동 . . . . 2 matches
          clock_t t1 = clock();//시간재기위라인
          clock_t t = clock() - t1;//시간재기위라인
  • 송년회날짜정하기 . . . . 2 matches
         가능 날에 이름을 적고, 모아봅시다. 가장 많은 사람이 오는 날짜를 송년회 날로 합시다.
          * 26일에 있는 혜영이 누나랑 30일에 있는 분은 다른 분인가요? 성을 안 붙이고 붙이고 걸로 보아 혹시 26일에 있는 분이 97선배인가 싶어서요...^^; --창섭
  • 수면과학습 . . . . 2 matches
         ["수면과학습"]에 관 심리학 연구들
          1. 수면은 지속적인 기억 흔적을 제공하는데 기여다. 즉 단기->장기 기억 전환시 Rem이 중요하다. (다음 조사 참고)
  • 수학의정석/집합의연산 . . . . 2 matches
         그 숫자들의 subset을 모두 출력다. (단, 진 부분집합을 출력다.)
  • 수학의정석/행렬 . . . . 2 matches
         다시 번 집어넣는다.
         연산이 불가능할 경우 "불가능"이라고 출력을다.
  • 수학의정석/행렬/조현태 . . . . 2 matches
         그래서 일단 그부분을 제외하긴 했는데..(입력부를 위에두어서 계산에 제외게 현재소스).. 그러니까 0초.. 대략 할말 없음..
          time_in = clock(); // 초기 시작 시간을 입력다.
  • 숫자를한글로바꾸기/김태훈zyint . . . . 2 matches
         글구 num2str 요함수.. 걍 수민이것처럼 배열로 하면 되는데; 괜히 switch로 했다 ㅠㅠ 엉엉
         [LittleAOI] [숫자를글로바꾸기]
  • 시간맞추기/남도연 . . . . 2 matches
         ㅡㅡ 생소 time과 kbhit() 당황했다 ;;
         아직도 time(0)의 쓰임과 뜻을 이해 못다.. 누가 가르쳐 주시기를 ㅠㅠ
  • 아젠더패턴 . . . . 2 matches
         '''적어도 3~6주치의 계획된 모임을 가지고 아젠더를 만들어서 발표하라. 아젠더가 어느정도의 리드-타임을 두고 개정될 수 있도록 하고, 특별하고 예상치 못 이벤트나 새롭게 발견 작품의 스터디를 수용하라.'''
  • 알고리즘4주숙제 . . . . 2 matches
          우리가 알기로는 복권의 당첨 확률은 매우 낮다. 그러나 당첨자들은 존재다. 왜일까? 그리고 복권 당첨 확률을 높이는 경우들을 생각해보고 그생각들의 문제점도 생각해보자.
         송어의 길이가 7~11 인치 사이라고 가정하자. 송어의 길이가 9일 확률은 얼마인가? 앞의 내용에서 부족 부분은 무엇인가? 무엇에 의해 확률이 달라질수 있겠는가?
  • 여름방학프로젝트 . . . . 2 matches
         || [단식자바] || [이승] || [송수생], [정수민], 김소현, 경미 ||
         || [C++스터디_2005여름] || [문보창] || [허아영], [유선], [이규완], [도연], [정수민] ||
  • 영호의해킹공부페이지 . . . . 2 matches
         80년대 윤리 강령. 90년대에 새로운 것에 기반 것이 나왔다지만 나는 80년대 것을 선호다. 자유롭기 때문에.
  • 오목/재선,동일 . . . . 2 matches
          // 클릭 배열에 숫자 1을 대입다.
  • 오월의 노래 . . . . 2 matches
         건강을 회복 뒤 슈트라스부르크로 유학, 71년에 학위를 받았으며, 여기서 5년 선배인 J.G.헤르더를 알게 되어 민족과 개성을 존중하는 문예관(文藝觀)의 영향을 받았는데, 후일 <슈투름 운트 드랑(Sturm und Drang)>의 바탕이 되기도 하였다.
         이때 순진 목사(牧師)의 딸 F. 브리온과의 사랑은 <사랑과 이별(Willkommen und Abschied)> <5월의 노래('''Mailied''')>를 쓰는 계기가 되었으며, 그녀를 버린 자책감은 그 뒤 그의 시작(詩作)의 테마가 되었다.
  • 위키개발2006 . . . . 2 matches
         = 일 =
         || 06중에 명 뽑기 || 현태가 할래? ||
  • 위키를 써보고 싶고나처음화면 . . . . 2 matches
         * 위키라는 검색어로 검색을
         * 펩피랩에 적용
  • 윈도우단축키 . . . . 2 matches
         [문원명]과 메신저 대화 도중 발견(?) 재미난 단축키 --[Leonardong]
          * win + d - 바탕화면 보기, 번 더 누르면 창으로 복귀
  • 유닛테스트세미나 . . . . 2 matches
         2006년 2학년 1학기 자바 텀 프로젝트였던 심플트론 시뮬레이터에서 이재혁 팀이 이용 유닛 테스트를 알아보고, JUnit 및 CppUnit을 실습해본다.
         프로젝트에 적용 유닛 테스트
  • 유럽여행 . . . . 2 matches
         자그마 선물을 마련해서 여행 중에 만나는 외국인에게 나누어준다.
          * 국 동전
  • 유용한팁들 . . . . 2 matches
         = 인덱서를 만드는데 유용것 =
          * 구글에서 어떤 검색 키워드를 넣느냐에 따라서 삽질을 하던지 바로 해결하던지 다는 것을 알았음. 위 검색 키워드로 찾아 가면 위 참고글이 나오는데 똑같이 해도 안될 가능성이 높음.
  • 유정석 . . . . 2 matches
         (동적 할당에 대해서) -> 포인터를 공부 후에 공부해야 다.
  • 윤성만 . . . . 2 matches
          양중학교 졸업
          엔터ㅋㄷㅋㄷ - [이승]
  • 이가희 . . . . 2 matches
         = 쿨 신입생 11학번 이가희 :) =
         == 상큼 프로필ㅋㅋㅋㅋㅋㅋ ==
  • 이동현 . . . . 2 matches
         == 진행 것 ==
         팀을 이뤄서 무엇인가 거대걸 짜보고 싶다 ^^
  • 이재환 . . . . 2 matches
         남을 배려하고 사랑하는 사람이 되려고 다..
         일본어 초급 책을 1개월안에 마스터
  • 이정화 . . . . 2 matches
          누구야~? 이 페이지에선 이상 포스가 느껴져 누구야~
          ''syhyper@hotmail.com 서용욱임당 안분들 친추부탁~''
  • 이진훈 . . . . 2 matches
         내가 생각 프로그램을 짤 수 있는 프로그래머.
         (숨겨진 목표는 인간이란 존재의 계 탐구.)
  • 이현정 . . . . 2 matches
         == ▣간단 마디_ ==
  • 자리수알아내기/나휘동 . . . . 2 matches
          번 나눌 때마다 자리씩 줄어듭니다.
  • 정모/2002.3.14 . . . . 2 matches
         1. 제로페이지에 대 설명(프로젝터, 프린트물, 창립제 자료집)
         2. 프린트물을 이용 홍보
  • 정모/2003.5.13 . . . . 2 matches
          * 내용은 세미나, 혹은 예제풀기, 프로그래밍 개론적인 부분이 될 수 있을 것 같고, 각 주마다 세미나 주제는 정해졌습니다. 내용은 03들이 지루해 하지 않게 짧고 간단 내용으로 합니다.
          * 맡기로 이대근군의 회의 불참으로 논의되지 못 했습니다.
  • 정모/2004.9.14 . . . . 2 matches
         ||04|| 박진하 권정욱 김홍선 박능규 김태훈 하욱주 이재환 조동영 박진영 김수진 이승 ||
         || Flash - XML 연동 || 게시판 방명록 || 승, 동영, 진하, 정욱 ||
  • 정모/2005.5.23 . . . . 2 matches
          나쁜점 : 졸음, 생활리듬파괴, 메뉴정, 집중력 하락, 참여율 저조, 탁정신
  • 정모/2005.9.13 . . . . 2 matches
          * 참가자 : 이형노, 정서, 최경현, 윤정훈, 정진수, 정수민, 박경태, 송수생, 허아영, 이규완, 조현태, 문보창, 이승, 황재선, 강석천, 이동현, 오승혁, 허아영, 최규완, 이영호
          * [EmbeddedLinux] : 이승, 이영호
  • 정모/2006.1.19 . . . . 2 matches
         김상섭, 남상협, 송수생, 문보창, 허아영, 조현태, 이선호, 이도현, 유선, 김민경, 하기웅, 김태훈, 남도연
          * 아래 코드를 응용하여 번만 돌을 두는것이 아닌 계속돌을 둘수 있도록 적절하게 수정~
  • 정모/2006.7.6 . . . . 2 matches
         우용, 장길, 창현, 대순, 재혁, 건영, 선호, 현태, 재웅, 준석, 휘동, 상협, 규완, 도현, 재니, 창섭, 상규, 상섭, 규현, 수생, 정현, 승, 아영, 보창, 기웅
          * 정모 요일 번 더 의견
  • 정모/2011.11.16 . . . . 2 matches
          * 참가자 : [김수경], [강소현], [고종], [추성준], [송치완], [임상현], [김준석]
          * 다음주자 : [고종]
  • 정모/2011.12.30 . . . . 2 matches
          * 참가자 : [변형진], [김수경], [서지혜], [강성현], [고종], [정진경]
          * 12월 활동 내용이 없어 해 회고로 대신합니다.
  • 정모/2013.10.2 . . . . 2 matches
          * [김민재], [박희정], [김현빈], [임지훈], [고종], [김해천], [신형준], [김태진], [서민관], [안혁준], [송정규], [조영준], [김도형]
          * 다음 주 수요일은 '글날 휴일'인 관계로 화요일에 정모를 진행합니다.
  • 정모/2013.2.19 . . . . 2 matches
          * 새싹교실을 알리기 위 방식 결정(미정)(새싹교실 벽보 여부, 페이스북이나 트위터같은 매체 활용 여부 등등.)
          * 새싹교실에 대 구체적인 커리큘럼은 아직 미정.
  • 정모/2013.5.6/CodeRace . . . . 2 matches
         == 08 장혁수, 13 김준 ==
         == [고종],[지영민] ==
  • 정모/2013.6.3 . . . . 2 matches
          * 다시 번 더 홍보했어요.
          * 데블스 캠프 강사 모집과 관련된 내용과, subgroup 형식의 프로젝트 회의를 할려고 했었는데 사정상 선배님들이 참석하지 못하셔서 하지 못했습니다. 제가 부족 점이 많았습니다. 죄송합니다. - [김민재]
  • 정모/2013.7.15 . . . . 2 matches
          * 원래 이번주 금(19일), 토(20일) 예정이었으나, 비 소식이 있고 준비가 미흡 부분이 있어, 8월 둘째 주로 일정을 변경하고자 합니다.
         === [자공] ===
  • 정모/2013.8.5 . . . . 2 matches
          * 현재 ZeroPage에서 GDG를 소모임 형태로 만들 것인지, 아니면 ZeroPage 자체가 중앙대 GDG가 될 것인지에 대 의견을 들어보았습니다.
          * 지난 주 정모 때, 스터디/프로젝트에 대 지원 방안 개정을 제안했습니다.
  • 정모/안건 . . . . 2 matches
         정모때 회의에서 진행했으면 하는 것에 대 안건을 올리는 페이지입니다.
         'http://myscan.org/ 을 보면서 1년에 번 발간하는 형식의 공식 문서를 함께 만들어 보는 것도 좋을것 같네요.
  • 제로페이지위키베타 . . . . 2 matches
          * 자신의 개인 위키 서버 선택할시에 제로페이지 회원은 제로페이지 서버를 선택해 주시기 바랍니다.(이미 가입 회원은 그대로 사용..)
          * 상협이의 방학 2달 반간의 결과물이로곤~ 2005 여름 방학중의 유일 유형의 결과물이 있는 프로젝트였네 - [eternalbleu]
  • 조현태의자바교실 . . . . 2 matches
          * 첫 모임. GUI에 관 간단 설명.
  • 주민등록번호확인하기/문보창 . . . . 2 matches
          System.out.println("대민국 국민이네요~ ^^ 안녕하세요!");
         == 나테 할말 ==
  • 주요한/노트북선택... . . . . 2 matches
         -_-;; 게시판을 살려야 겠는걸요?? - 이승
          그러게요.. 승선배! ㅋㅋㅋ 선배가 우렁각시인거 밝혀졌삼ㅋㅋ 이쁜 우렁각시 ㅋㅋ - [허아영]
  • 중위수구하기/김태훈zyint . . . . 2 matches
         소스간단게 최고+ㅁ+
         === 나테 할 말 ===
  • 중위수구하기/문보창 . . . . 2 matches
         == 나테 할 말 ==
          C언어에서 파일을 여러개 만들 때 전역 변수를 쓰는 것..처럼. java도 가능가요?--아영
  • 즐거운공부 . . . . 2 matches
         ["상협"]이도 지금 방학때 하는 것들이 즐겁다. 자기가 하고싶은것, 자기가 만들고 싶은것을 만들기 위해서 어느 일정 학습의 정신적 고됨이 있지만, 그후에 이것을 통해서 만들고 싶은것을 실제로 만든다는 것이 신기하고 즐겁다. 이렇게해서 눈으로 확인하는것, 그리고 이것이 다른 사람도 즐겁게 해줄수 있다는것, 이모든것이 나를 즐겁게 다는것이 좋다.
  • 즐겨찾기 . . . . 2 matches
         간단 규칙 - Daily <= n개, Weekly <= 7*n, Monthly <= 30*n개를 유지다. 그러면 하루에 3*n 군데만 돌아보면 된다. 끝없는 웹서핑을 막아보자!
  • 지금그때2003/ToDo . . . . 2 matches
          * 일요일 까지 선전문을 작성하고 올려야 다. [지금그때2003/선전문] (V)
          * 정확 일정 계획 (V) [지금그때2003/계획]
  • 지금그때2004/전통과사유20040329 . . . . 2 matches
          * 참석 사람
          * 5:40 작년의 취지, 진행에 대 설명
  • 지금그때2005/연락 . . . . 2 matches
         [이승] - 이선우, 임구근
         연락 결과를 모두 알려주세요~~;;
  • 지금그때2005/진행내용 . . . . 2 matches
          * 포토리딩 : 책을 번에 다 읽는다는 강박 관념을 버리고, 듬성 듬성 여러번 읽는것도 좋다.
          * 회화책 사서 발음 듣고 따라다.
  • 최대공약수 . . . . 2 matches
         단, a, b가 자연수일 때 a > b, 다항식일 때는 a의 차수가 b의 차수 이상이어야 다. ≒서로나눗셈법;연제법;유클리드의 호제법.
          * scanf를 이용 두 수 입력.
  • 최대공약수/김태훈zyint . . . . 2 matches
          // GCD를 출력다.
         === 나테 할 말 ===
  • 최대공약수/허아영 . . . . 2 matches
         잘못된 변수로 print 것을 발견..
         === 나테 할 말 ===
  • 최소정수의합/김소현 . . . . 2 matches
         === 나테 할 말 ===
         [허아영]양과 동일 실수입니다.^^
  • 최소정수의합/김태훈zyint . . . . 2 matches
         소스코드가 비슷비슷하긴데;;
         === 나테 할 말 ===
  • 최소정수의합/문보창 . . . . 2 matches
         === 나테 할 말 ===
          * 음... 굳이 처음에 공식을 모르더라도 문제에 나온 식을 보고서 충분히 n(n+1)/2 를 유도해 낼 수 있습니다. 공식을 외우는 것이 중요 것이 아니고, 해당 문제에서 규칙성을 찾고, (물론 규칙성이 없는 문제도 많습니다), 이 규칙성을 하나의 수식으로 변환시킬 수 있다면 문제를 쉽게 풀어낼 수 있고, 또 이 과정이 공식을 외우는 것보다 훨씬 중요하다고 생각합니다. --보창
  • 최소정수의합/이규완 . . . . 2 matches
         === 나테 할 말 ===
         어째 소스가 다 유사 느낌이..;;ㅁ;;
  • 최소정수의합/허아영 . . . . 2 matches
         === 나테 할 말 ===
         만약에 3000까지가 아닌 더 큰 수를 입력하고 프로그램을 돌려보시겠어요? 위의 코드에서 int 를 double 형으로 바꾸고 3000 대신 18000000000000000000 을 넣은 코드입니다. 번 실행해 보세요. 더 나은 방법이 생각나실수도 있을것 같아요. 문제를 풀고 나서 어떤 점을 느끼셨나요? - 아무개
  • 최연웅 . . . . 2 matches
          * 할줄 아는 언어 : 국어, 영어, C언어
          * 좋아하는 것 : 과학, 철학, 사회, 야구, 노래, 비빔밥, 치킨, 스타크래프트, 토론, 창의적 설계, 무도전
  • 캠이랑놀자/051228 . . . . 2 matches
         hand-out으로 다는 게 무슨 말인지? 뭔가 사람들에게 인쇄물을 나눠주고 그걸 따라가게 해보는 건가? --JuNe
          hand-out 이면 유인물인가요~? (hand-on 을 잘못 쓴 느낌이;) 정확히 어떻게 진행했냐면, 개념을 설명하고, 인터프리터로 사람들 앞에서 시연을 했고, 사람들이 관찰을 했고, 그 다음 알고리즘 별로 사람들이 파이썬 인터프리터로 해당 필터 구현을 진행했습니다. 필터 구현방법에 대해서는 구체적인 답을 주진 않았으나, 중간에 간단 힌트를 주었습니다. --[1002]
  • 캠이랑놀자/051229 . . . . 2 matches
         = 공부 것 =
          * 유의점 : R,G,B 세가지 값에 대해서 모두 올려주어야 다는 점
  • 타도코코아CppStudy/0818 . . . . 2 matches
         == 오늘거 ==
          * 오프라인 스터디 모임은 오늘로 끝입니다. 주어진 숙제 계속해서 저테 보내면, 계속 봐드리겠습니다. 그동안 수고들하셨습니다. --[인수]
  • 토이 . . . . 2 matches
          * 매일 매일 간단 [:ToyProblems ToyProblem]을 풀어보자.
          * 저는 군대 가서 까먹은 코딩 감각을 살리기 위 게 주목적입니다. -영동
  • 토이/삼각형만들기/김남훈 . . . . 2 matches
         세번째가 결국 문제인데, 무슨 수열 생각할 거 없이 그저 직관적으로 recursive로 필요 버퍼의 양을 구현. 이건 별표 찍는 시작 위치 정할때도 쓸수 있더구만. 그저 손 가는대로 프로그래밍 했을 뿐.
         다만 걱정되는게 있었다면, visual studio 띄우기도 귀찮아서.. 그리고 요즘에는 이런거 짜는데 마소 비주얼 스튜디오 형님까지 끌어들이는건 좀 미안하게 느껴져서 그냥 zp server 에서 vi 로 두들겼는데.. 나 gdb 쓸 줄 모르니까. malloc 쓰면서 약간 두려웠지. 흐흐흐. 다행이 const int 를 case 에서 받을 수 없는거 (이런 줄 오늘 알았다) 말고는 별달리 에러 없이 방에 되주셔서 즐거웠지.
  • 튜터링/2013/Assembly . . . . 2 matches
          * 어셈블리 과목의 특성상 하드웨어와 소프트웨어의 이해가 동시에 필요데, 이 부분에 관해 알아보기 위해 하드웨어가 어떤 식으로 명령을 처리하는지 알아보자.
          * 승준이를 위 과제
  • 파스칼삼각형/구자겸 . . . . 2 matches
         최소 배열로 만든 삼각형입니다. 어떤분이 전화로 질문 하셔서 모르겠다고 했는데, 완성해버렸습니다. 필요 배열공간은 시그마n 이 되는군요. 비쥬얼 스튜디오가 없어서 파이썬으로 만들어봤습니다.(코드가 상당히 지저분하네요-_-) 파이썬을 깔고 pascal.py로 저장 다음에 명령콘솔창에서 "pascal.py 10"이런식으로 사용.
  • 파스칼삼각형/김영록 . . . . 2 matches
          첨에 풀려고하니까 막막데 ; 수능수학 처럼생각했더니 ;;
         == 나테 할 말 ==
  • 파스칼삼각형/김태훈zyint . . . . 2 matches
         == 나테 할 말 ==
          함수가 멋지게 안나오는.. 이런 훌륭녀석~!!
  • 파스칼삼각형/변형진 . . . . 2 matches
         모두가 알다시피 파스칼삼각형은 조합(Combination)에 관 도형이다.
         n+1행의 n+1열의 값은 조합 nCr의 값을 가지고, n!/r!(n-r)!로 계산다.
  • 파스칼삼각형/조현태 . . . . 2 matches
          가게일 돕다가 중요 메일이 와서 확인차 잠시 겜방에 왔더닛..
         == 나테 할 말 ==
  • 파이썬->exe . . . . 2 matches
         주제 : win32com 을 이용 파이썬 프로그램 py2exe로 실행파일 만들기
         간단 팁입니다만 구글같은데 아무리 서치해봐도 안나오길래 팁으로 올립니다.
  • 피보나치 . . . . 2 matches
          피보나치 수열을 만들어 봅시다. 숫자를 개 입력 받아 그 회수에 나와야 하는 숫자를 출력하면 됩니다.
         ||.||.||.||Py|| [피보나치/이승] ||
  • 피보나치/고준영 . . . . 2 matches
         상당히 좋지 않은 알고리즘 인것같다.. 내 컴퓨터를 서버로 테스트결과 20이 넘어가면 gg....;;;;;;
         PHP를 제로페이지 새싹스터디를통해 접후 처음으로 만든 작품(?) 이랄까..
  • 하욱주 . . . . 2 matches
         Upload:아가씨.jpg [유선]
         꺄악~ 사랑해요 아가씨 번더!!
  • 현재시간 . . . . 2 matches
          * [http://www.yugop.com/ 유고나카무라] 씨의 작품이네요- 그냥 '악'소리 나는 작품을 만들죠~^^;; 소니 최근 W 모양의 신기 로고도 이 사람이 디자인 했답니다. 고등학교때 이 사람 작품들을보고 웹디자인 공부 접었던 기억이나네요;; 지나친 거름은 성장에 좋지 않다는...ㅠ_ㅠ - [이승]
  • 황재선 . . . . 2 matches
          * 선배~ 글파일 jpg 뜨게 하려면 어떻게 뎃죠? 가르쳐 주세요! - [허아영]
  • .vimrc . . . . 1 match
         set autoindent " 자동으로 들여쓰기를 다.
  • 02_C++세미나/0523 . . . . 1 match
          * 포인터와 동적할당을 이용 Linked List
  • 05학번만의C++Study/숙제제출2/허아영 . . . . 1 match
         == 나테 할말 ==
  • 06 SVN . . . . 1 match
         8. 해당 컴퓨터에서 방금 커밋 프로젝트 체크 아웃 받기
  • 0PlayerProject . . . . 1 match
         테스트 동영상 사이즈(320 x 240) 맞추고 xvid 코덱으로 압축
  • 1thPCinCAUCSE/ProblemA/Solution/zennith . . . . 1 match
         대회에서 소스는 아니고요, 방금 짠 소스 입니다. 메인아이디어는 대회시 생각했던 것과 같습니다만, 대회때는 시침이 움직이는 것을 생각하지 못해서 실패했었군요.
  • 2002년도ACM문제샘플풀이/문제C . . . . 1 match
         위의 코드는 옳은 코드가 아닙니다. 다시 번 잘 생각해 보세요. (예컨대, {{{~cpp (6,14,5)}}}에 대해 실험해 보길) 이런 문제는 MEA를 쓰면 쉽습니다. --JuNe
  • 2004겨울여행 . . . . 1 match
          * 죄송합니다. 갑자기 중요 일이 생겨서... 못 갈 것 같네요. --영동
  • 2005Fall수업 . . . . 1 match
          빛미디어
  • 2005MFC스터디 . . . . 1 match
         기초부터 시작을 하여서 간단 프로그램 만들기
  • 2006년4학년1학기수업 . . . . 1 match
         서울 31582 - 01 데이터베이스프로그래밍실습 컴퓨터공학부 전공 상만 봅스트홀 컴퓨터공학과실습실3(목10,7,8,9)
  • 2006신입생/연락처 . . . . 1 match
         || 주요 || jyhjohn at msn dot com || 010-6621-6670 ||
  • 2010php/방명록만들기 . . . . 1 match
         $scale = 10;// 페이지당 글 수
  • 2011년MT . . . . 1 match
         || 고종 || O (1) || X ||
  • 2ndPCinCAUCSE . . . . 1 match
         2회 중앙대학교 컴퓨터공학과 프로그래밍 경진 대회에 대 자료.
  • 2학기파이선스터디 . . . . 1 match
          http://turing.cafe24.com - 초보를 위 파이선 설명
  • 2학기파이선스터디/문자열 . . . . 1 match
          * 쓰이는 기호중 중요것 몇가지
  • 3DCube . . . . 1 match
          * 3차원으로 큐브를 구현해서 조작할 수 있도록 다.
  • 3N+1Problem/구자겸 . . . . 1 match
          // 최대값을 구
  • 3N+1Problem/문보창 . . . . 1 match
         문제에 나와 있는 단순 알고리즘을 제대로 구현만 해도 성공하는 쉬운 문제.
  • 5인용C++스터디/작은그림판 . . . . 1 match
         선, 사각형, 원을 그릴 수 있고 색칠을 할 수 있는 간단 그림판 만들기.
  • 7피관리 . . . . 1 match
          * [PC실관리/고스트/네트워크를이용OS설치]
  • <행사> . . . . 1 match
         각종 행사에 관 링크들
  • ASXMetafile . . . . 1 match
          일종의 윈도우즈미디어 메타파일. XML 스크립트로 이루어져있고 이 메타파일을 작성함으로써 플레이어를 건드리지 않고도 다양 기능을 사용할 수 있다.
  • AcceleratedC++/Chapter1 . . . . 1 match
         interface : 객체의 타입으로 묵시적으로 내포 되어 있는 것은 인터페이스로서, 해당 타입의 객체에 사용 가능 연산(operation)들의 집합을 말합니다. name을 string 타입의 변수(이름 있는 객체)로 정의 하게 되며, 우리는 string으로 할 수 있는 모든 일들을 name으로 하고 싶다는 뜻을 묵시적으로 내포하게 됩니다.
  • AcceleratedC++/Chapter15 . . . . 1 match
         15장은 5장에서 제시되었던 문자열 출력프로그램을 객체지향에 입각해서 설계하는 방법을 설명다.
  • ActiveTemplateLibrary . . . . 1 match
         ATL은 템플릿으로 이루어진 C++ 클래스 집합니다. 이 클래스들은 COM 객체를 프로그래밍하는 과정을 단순화시킨다. VisualC++에서 COM의 지원은 개발자들이 쉽게 다양 COM객체, Automation 서버, ActiveX 컨트롤들을 생성하도록 해준다.
  • ActiveXDataObjects . . . . 1 match
         마이크로소프트 ADO(ActiveX Data Objects)는 데이터 소스에 접근하려고 고안된 COM객체이다. 이것은 프로그래밍 언어와 데이터 베이스 사이의 층을 만들어준다. 이 층은 개발자들이 DB의 구현부에 신경쓰지 않고 데이터를 다루는 프로그램을 작성하도록 해준다. ADO 를 이용할 경우, 데이터베이스에 접근하기 위해서 SQL 을 알 필요는 없다. 물론, SQL 커맨드를 수행하기 위해 ADO 를 이용할 수 있다. 하지만, SQL 커맨드를 직접 이용하는 방법은 데이터베이스에 대 의존성을 가져온다는 단점이 있다.
  • AirSpeedTemplateLibrary . . . . 1 match
         특별 녀석은 아니나, 다음의 용도를 위해 만들어진 TemplateLibrary
  • Algorithm/DynamicProgramming . . . . 1 match
         Introduction To Algorithm 에도 이에 대 설명이 있습니다.
  • AliasPageNames . . . . 1 match
         # 또, 별명으로 가리킨 페이지가 단 하나의 페이지일 경우에 연결이 바로되기를 원하시면
  • AnEasyProblem/정진경 . . . . 1 match
          * joojis이(가) Kesarr을(를) 다시 번 이겼다! 105B vs 107B. http://joojis.jjme.net/aep.png
  • Ant/TaskOne . . . . 1 match
          위의 예에서 Task 는 무엇일까.? task 라 함은 단어 뜻 그대로 작업이라는 말을 뜻다. 위의 예에서 볼 수 있는 작업을 javac,mkdir,jar,delete 등이 그 Task 라고 할 수 있다.
  • AntOnAChessboard/문보창 . . . . 1 match
         어느정도의 규칙(?)만 파악다면 O(1)만에 구할 수 있다.
  • AntOnAChessboard/하기웅 . . . . 1 match
         -현재 Accepted 되었지만, 시간도 많이 느리고 코드도 길어진거 같아서 나중에 다시 번 코딩해볼 생각~~
  • AntiSpyware . . . . 1 match
         쓸만 Spyware/악성 코드를 적어봅시다.
  • AppletVSApplication/진영 . . . . 1 match
         어디까지나 ' 번' 실행해보고 느낀 점일뿐...;;[[BR]]
  • ArsDigitaUniversity . . . . 1 match
         자신의 전산학 지식을 전체적으로 정리하거나, 밑바닥부터 새로 공부하고 싶은 사람들에게 많은 참고가 된다 -- 모든 수업이 달이면 끝난다. ArsDigitaUniversity의 "하면서 배우는"(learn by doing) 교육 모델(날마다 구체적인 Problem Set이 주어지고 오전에 수업이 끝나면 오후에 Recitation을 하며, 매 주 NoSmok:교육적인시험 을 친다)도 흥미롭다. 모든 수업에 대해 VOD와 문제, 해답, 수업 노트가 제공된다.
  • AstroAngel . . . . 1 match
          * KJSE 일학생교류 회장('03)
  • AutomatedJudgeScript/문보창 . . . . 1 match
         단순 문자열 비교문제라는 생각이 들었다. Presentation Error와 Accepted 를 어떻게 하면 쉽게 구별할 수 있을지를 고민하다 입력받을때부터 숫자를 따로 입력받는 배열을 만들어 주는 방법을 이용하였다.
  • BasicJAVA2005/실습1/조현태 . . . . 1 match
          System.out.println("동일 숫자를 입력하였습니다. 다시 입력해주세요.");
  • Basic알고리즘/팰린드롬/조현태 . . . . 1 match
          //// 글인가?
  • BaysianFiltering . . . . 1 match
         그리고 PatternClassification 관련 여러 알고리즘에도 BayesTheory 를 기본으로 하는게 상당히 많다.
  • BeeMaja/고준영 . . . . 1 match
         좀더 좋은 방향이 있으시면 수 가르쳐 주세요
  • BeeMaja/조현태 . . . . 1 match
          그냥 고등학교때 문제 푸는 방식과 동일하다. 그러므로 특별 설명이 필요 없을듯..
  • Bigtable/MasterServer . . . . 1 match
          1. 로드 밸런싱을 통 TS들의 부하관리
  • BlackBoxTesting . . . . 1 match
         말 그대로 모듈을 Black Box 처런 내부를 생각하지 않고, 모듈에 대 입력 대비 결과를 테스팅하는 방법.
  • Blink . . . . 1 match
         원서로 보다가 진도가 너무 안 나가서 번역서로 마저 읽었다. 첫 순간에 내린 판단, 그것이 편견으로 이어지기 쉽기 때문에 조심해야겠지. 무엇보다도 다른 사람에 대해 내리는 판단은 틀리기 십상이기에, 누군가를 두고 두고 알아갈 수록 진면목을 볼 수 있다는 생각을 다시 번 해본다.
  • BookShelf . . . . 1 match
         [우리들의행복시간] - 20070110
  • BookTemplate . . . . 1 match
         [노스모크]에서는 ISBN 링크가 되는 책소개의 경우 링크를 상단에, 서평을 하단에 적는것을 원칙으로 다.
  • BruteForce . . . . 1 match
         알고리즘 분야쪽에서 소위 말하는 '무대포 알고리즘' 에 대 지칭. 답을 찾기 위해 모든 경우의 수를 다 수행해보는 알고리즘을 지칭.
  • C++Seminar03/SampleProblems . . . . 1 match
          크기 100 의 배열에 임의의 데이터를 집어넣은 후 이를 소트~ (플러스문제! 특정 값을 바이너리 서치~)
  • C/Assembly . . . . 1 match
         -fomit-frame-pointer 함수를 call 할때 fp를 유지하는 코드(pushl %ebp, leave)를 생성하지 않도록 다.
  • C/Assembly/Main . . . . 1 match
         따라서 프로그램이 시작하고 나갈때에는 어디서 프로그램을 시작하고 끝냈는지 위치를 저장(push)하고 꼭 반환(leave)해야다.
  • C/Assembly/연산 . . . . 1 match
         이렇게 구현했는데 GNU Compiler는 %eax에 포인터를 넘겨줘 그것을 가지고 계산을 다.
  • C/Assembly/포인터와배열 . . . . 1 match
         하지만 배열(LC0)은 프로그램이 수행 되고 정의 부분이 되는 순간 LC0 영역의 데이터를 스택 영역에 복사다.
  • CC2호 . . . . 1 match
         = 공부 내용 =
  • COM/DCOMPrimerPlus . . . . 1 match
         원서는 어떤지 모르겠지만, 번역된 서의 번역 만족도는 상당히 좋은 수준이다.
  • CPPStudy_2005_1/STL성적처리_1_class . . . . 1 match
         노라 86 65 62 68
  • CPPStudy_2005_1/STL성적처리_2_class . . . . 1 match
         노라 86 65 62 68
  • CProgramming . . . . 1 match
          참고 것 10m
  • CSP . . . . 1 match
         ToyProblems 때 잠깐 들어본 적이 있는데.. 번 돌려봐야겠다 - [임인택]
  • CarmichaelNumbers/문보창 . . . . 1 match
         중간에 발생하는 버그를 잡는데 대부분의 시간을 허비했다. 65000 이란 수는 작지만 65000의 제곱은 int형의 범위를 벗어난다. ㅡㅡ; 오버플로우를 교모히 이용 함정에 고생했다.
  • CarmichaelNumbers/조현태 . . . . 1 match
          마지막으로.. 심심 하면 새침 표정으로 나타나는 변수크기 초과오류 아가씨..
  • Categorynations . . . . 1 match
         수많은 나라들을 소개다.
  • CauGlobal . . . . 1 match
         이선우, 임구근, 박종필, 나휘동이 팀이 되어 중앙대학교에서 주최 CAU '세계문화체험단' 중 정보통신분야에 선정되었습니다. 이들은 2005년 여름 방학기간동안 실리콘밸리의 IT 문화 체험을 주제로하여, 2~3주간의 일정으로 다녀왔습니다. 방문하려고 예정했던 곳은 Yahoo!와 같은 글로벌 기업등과 Stanford, UC Berkeley 같은 대학, 실리콘 밸리 주변 도시였습니다. 하지만 실제로 글로벌 기업을 찾아가보지는 못했고 인텔에서 근무하시는 분을 인터뷰하고 돌아왔습니다.
  • CheckTheCheck/곽세환 . . . . 1 match
         toupper를 쓰려면 ctype.h를 include해야다.
  • Chopsticks/문보창 . . . . 1 match
         가장 큰 젓가락 세트부터 선택다고 보았을 때, 총 K + 8 번의 선택이 존재하고, 다음 점화식이 나올 수 있다.
  • CivaProject . . . . 1 match
         WIPI 에서 ATOC 를 지금 네가 하는것처럼 수행다더구만 --;; .. --["neocoin"]
  • ClassifyByAnagram/sun . . . . 1 match
          === 상대시간 비교를 위 애플릿 ===
  • Class로 계산기 짜기 . . . . 1 match
          * 그냥 보여주기 위 코드에요. 결코 올바른 프로그래밍은 아니라는거 명심하세요^^; - [상욱]
  • CodingStandard . . . . 1 match
         위키에서도 페이지이름에 대해서 표준을 두는것과 비슷하다. 이는 다른 사람들을 위 배려가 된다.
  • CommentMacro . . . . 1 match
         만약 모든 페이지에 Comment 매크로를 붙이기를 원다면 config.php에 다음을 추가해주세요.
  • CommonPermutation/문보창 . . . . 1 match
         ASCII 코드를 이용하여 소문자를 0~26의 숫자로 인코딩시켰다. 그 인코딩 숫자를 이용 배열을 만들어서 그 배열끼리 비교를 해서 공통된 변경 문자열을 쉽게 만들수 있었다.
  • CompilerTheory/ManBoyTest . . . . 1 match
         Donald Knuth 가 Algol 60의 구현 정도를 판변하기위해서 만든 프로그램. 테스트의 목적은 올바르게 구현된 scoping rule, call-by-name의 구현 정도를 판별해서 boys(algol 60 구현물)들중에서 men (쓸만 놈)을 가려내는 용도로 고안되었습니다.
  • ComputerNetworkClass/Exam2004_1 . . . . 1 match
         다음 그림은 Y 라우터의 경우 포트 3으로 X 라우터와 연결되어있는 상태이며 X 라우터는 CIDR 로 ____.____.___.____ 에 대해 Network A 로, ____,____,___,____ 에 대해 Network B 로 라우팅 다.
  • ConnectingTheDots . . . . 1 match
         BoardPanel - View. 실제 Swing 등 구체적 라이브러리들을 이용, 실제 표현을 다. BoardPresenter 와 상호참조 관계를 가진다.
  • ContestScoreBoard/신재동 . . . . 1 match
         테스트 케이스 넣는 건 귀찮아서 뺌. 편 나름대로 테스트 먼저 만듬. --재동
  • ConvertAppIntoApplet/영동 . . . . 1 match
          "선택 것: " + res,
  • Counting/문보창 . . . . 1 match
         스터디 시간에 상섭이형이 발표 점화식 이용.
  • CppStudy_2002_1/과제1/상협 . . . . 1 match
          char *ex="캬캬캬 출력다.~";
  • CppStudy_2002_2/STL과제/성적처리 . . . . 1 match
          cout << "STL을 이용 성적관리 프로그램" << endl;
  • Cpp에서의가변인자 . . . . 1 match
         C의 io 라이브러리인 printf에 쓰이는 그것이다. 또는 MFC - CString의 CString::Format이나 CString::AppendFormat에 쓰이는 그것이기도 하다. 함수 쓸때 ...이라고 나오는 인자를 가변인자라고 다. 이렇게 하면 인자를 여러개를 받을 수 있다.
  • CuttingSticks/하기웅 . . . . 1 match
         다이내믹 프로그래밍에 대 이론적이 이해는 있어도 구현에 있어서 어려움을 가지고 있었는데...
  • C언어정복/3월30일-숙제 . . . . 1 match
         2. printf() 함수를 번만 사용하여 다음과 같이 4줄에 걸쳐서 표현되는 문자열을 출력하라.
  • C언어정복/4월6일 . . . . 1 match
         ==== 오늘 공부 것 ====
  • DataSmog . . . . 1 match
         정보 무더기는 더 이상 지식이나 지혜가 아니다. DataSmog 로부터 자신을 보호하기 위해 스스로 여과장치가 되어야다.
  • DataStructure/String . . . . 1 match
          ptn_count++; // 패턴과 스트링을 가르키는 걸 개 증가
  • DatabaseManagementSystem . . . . 1 match
         DBMS라는 것은 DB를 다루기위해서 만들어진 프로그램이다. 이것은 다수의 사용자가 요청 정보를 처리합니다. 원래 대용량의 데이터를 다루기위해서 만들어진 컴퓨터때문에 만들어진 것으로 DBMS는 컴퓨터의 back-end 프로그램의 표준화된 일부로서 완전히 통합되었다.
  • DebuggingSeminar_2005/UndName . . . . 1 match
          ''디버깅 세미나에서는 이러 함수의 이름이 컴파일 옵션으로 설정되는 map 파일안에 존재하는 것으로 이용하였다.'' - [eternalbleu]
  • DesigningObjectOrientedSoftware . . . . 1 match
         Object 의 ClassResponsibiltyCollaboration 에 대 개념이 잘 설명되어있는 책.
  • DevelopmentinWindows/APIExample . . . . 1 match
         = 윈도우즈 API를 이용 예제 프로그램 =
  • DrawingToy . . . . 1 match
         단추 대신 키보드의 방향키를 이용다.
  • DylanProgrammingLanguage . . . . 1 match
          * '약형'이 뭔지 참생각했는데 loosely-typed 로군요..; - 임인택
  • Eclipse/PluginUrls . . . . 1 match
          * 가끔 동기화가 안되는 경우가 생기기도 다.
  • EditPlus . . . . 1 match
         EditPlus라는 프로그램 과 흡사 프로그램 만들기.
  • EdsgerDijkstra . . . . 1 match
         [http://www.cs.utexas.edu/users/UTCS/notices/dijkstra/ewdobit.html 2002년 8월 6일 타계]. 위대하다고 불리는 인물들이 동시대에 같이 살아있었다는 것, 그리고 그 사람이 내가 살아있는 동안에 다른 세상으로 떠났다는 사실이란. 참 묘 느낌이다. --["1002"]
  • EightQueenProblem/밥벌레 . . . . 1 match
         procedure SetQueens(n: Integer); // 퀸 배치하기. 이 소스의 핵심함수. n은 현재 사용안다. 처음엔 RandomSeed로 쓰려했음..-_-;
  • EightQueenProblem/용쟁호투 . . . . 1 match
         디자인 무시,객체지향 무시, 문제 보고 코딩시작,수많은 삽질...전형적인 초보수준입니다...마디로 쓰레기 입니다! T_T
  • EightQueenProblem/이덕준소스 . . . . 1 match
         주석처리된 부분은 도전 이후에 다시 코드를 보았을때 불필요하다고 생각되는 부분을 지운 것입니다. --이덕준
  • EightQueenProblem/조현태 . . . . 1 match
         항상 모범답안만 필요건 아니기에..ㅎㅎ 머리도 식혀볼겸.. 장난좀 쳐봤어요.^^
  • EightQueenProblem/조현태2 . . . . 1 match
          //출력하고 종료다.
  • EightQueenProblem/최봉환 . . . . 1 match
         DeleteMe) 페이지 제목에 대 통일성 관계상 페이지 이름 수정을 했습니다. --1002
  • EmbeddedC++ . . . . 1 match
          * 임베디드 시스템에 필요에 따른 특수 C++
  • EmbeddedGogo . . . . 1 match
         참가자 : 이승, 이영호
  • English Speaking/The Simpsons/S01E04 . . . . 1 match
          * 내용 : 다른 가족들을 보고 상심 호머가 모의 술집에서 술을 마시는데 다른 집을 배회하던 무리들을 찾는 경찰들이 들어온다. 다행히 호머는 그게 심슨 가족들이었단 것을 들키지 않지만 자신의 자녀들에 대해 나쁜 말을 하는 바니와 싸움이 붙는다.
  • EnglishSpeaking/TheSimpsons/S01E02 . . . . 1 match
          * 항상 학교에서 사고를 치는 바트와 똑똑하지만 뭔가 철이 없는 마틴. 어느 날 학교에서 학생들은 IQ 테스트를 치르게 되고 자꾸 자신을 약올리고 고자질하는 마틴이 재수없다고 느낀 바트는 자신의 시험지와 마틴의 시험지를 바꿔치기 다. 그 결과 IQ 216이라는 판정 결과가 나오고 바트는 천재학교에 입학하게 되며 가족들의 대우가 달라진다. 하지만 천재 학교에서 제대로 적응할리가 없는 바트는 천재 학교 아이들에게 왕따를 당하고 옛날에 같이 놀던 친구들도 바트가 자신들과 다른 존재라며 상대하지 않는다.
  • EnglishSpeaking/TheSimpsons/S01E03 . . . . 1 match
          * 바트의 초등학교로부터 바트의 아버지 호머가 일하는 원자력 발전소로의 현장학습이 이루어진다. 바트가 사고를 치는 바람에 호머는 직장에서 짤리게 되고 다른 직업을 구하려고 하지만 이도 여의치 않자 호머는 자살을 시도다. 하지만 위험하게도 다리에 정지 표지판이 없음에 문제가 있다는걸 알고 호머는 안전표지판 세우기의 선구자(?)가 된다. 이후 호머의 안전 연설은 원자력 발전소에까지 이루어지고 자신의 회사에 지장을 줄 우려가 있음을 느낀 원자력 발전소 사장 번즈는 호머를 따로 불러 복직을 시켜주겠다고 하는데..
  • ErdosNumbers/황재선 . . . . 1 match
          * 자바 1.5의 새로운 기능을 조금 사용해보았다. 클래스 Scanner는 이전 방식으로 하는 것보다 훨씬 편 기능을 제공해 주었다. for loop에서 신기하게 배열을 참조하는 방식이 Eclipse에서 에러로 인식된다.
  • EuclidProblem/곽세환 . . . . 1 match
          // 1차이 나는 배수를 구다 but 시간오버
  • EuclidProblem/조현태 . . . . 1 match
         ... 대입법도 훌륭 풀이다 뭐...ㅠ.ㅜ....
  • Expat . . . . 1 match
         MS 진영의 XML 파서는 MSXML SDK 가 가장 많이 쓰이겠지만, 리눅스 계열 혹은 OpenSource 진영에서의 XML 파서는 Expat 이 일통 듯 보임.
  • Factorial . . . . 1 match
         == Factorial을 구하는 프로그램을 작성다. ==
  • Factorial2 . . . . 1 match
         임의의 수 A 에 대 Factorial 을 구하는 프로그램을 작성하시오. (A 는 20이상이 될 수 있습니다.)
  • FactorialFactors/1002 . . . . 1 match
         Count(n) = 해당 n 에 대 인수항 총합
  • FactorialFactors/문보창 . . . . 1 match
         현태테 설명 듣고 완성.
  • FastSearchMacro . . . . 1 match
         5000여개의 파일이 있을 때 FastSearch는 2초 걸렸다. php는 파일 처리속도가 늦다는 이유로 FullSearchMacro를 쓰면 약 15여초 걸린다. 그 대신에, wiki_indexer.pl은 하루에 두번정도 돌려야 되며, 5분여 동안의 시간이 걸린다.
  • FileInputOutput . . . . 1 match
          fout << a+b << endl; // cout으로 화면으로 출력다면, fout은 연결된 output.txt에 a+b를 출력
  • FindShortestPath . . . . 1 match
         자신의 생각을 프로그램으로 어떻게 구현해야 되는가.. 에 대 훈련으로는 큰 도움이 될것이라고 생각됨..
  • Flex . . . . 1 match
          Adobe사에서 개발 툴.
  • Fmt/문보창 . . . . 1 match
         == 나테 할말 ==
  • ForeverStudent . . . . 1 match
         제가 하는 세미나에는 교수님, 직장인, 대학생을 가리지 않고 많은 분들이 참석합니다. 그곳에 오신 교수님의 배우려는 자세에서 오히려 제가 더 배웁니다. 가르치려는 사람은 우선 배울 준비가 되어야 다는 생각이 듭니다. --김창준
  • FoundationOfASP . . . . 1 match
          * 아주 간단 실습 : hello.asp 파일을 불러올시 자기이름을 100번찍음
  • FromCopyAndPasteToDotNET . . . . 1 match
          * 와우...-_-ㅋ;; 이런 페이지도 있었군요!! - [이승]
  • FullSearchMacro . . . . 1 match
          * 안 붙으면 찾기 폼을 출력다.
  • FundamentalDesignPattern . . . . 1 match
         근데, 지금 보면 저건 Patterns in Java 의 관점인 것 같고.. 그렇게 '필수적 패턴' 이란 느낌이 안든다. (Proxy 패턴이 과연 필수개념일까. RPC 구현 원리를 이해다던지 등등이라면 몰라도.) Patterns in Java 에 있는건 빼버리는 것이 좋을 것 같다는 생각. (DoubleDispatch 는 잘 안이용해서 모르겠고 언어 독립적으로 생각해볼때는 일단은 Delegation 정도만?) --["1002"]
  • Genie/CppStudy . . . . 1 match
          * 교제 : 성안당에서 출간 '''C++ 기초플러스 제4판 / Stephen Prata'''
  • GoodNumber . . . . 1 match
         1부터 32767사이의 임의의 수 개에 대해서 good number인지를 결정하시오.
  • GridComputing . . . . 1 match
          * [http://gridcafe.web.cern.ch/gridcafe/animations.html Flash를 이용 쉬운 그리드 설명]
  • Hacking/20041104세번째모임 . . . . 1 match
         == 공부 내용 ==
  • HanoiProblem/상협 . . . . 1 match
         설명이 너무 허접거 같습니다. ㅠㅜ 누가 보충좀.. ㅠㅜ
  • HanoiTowerTroublesAgain!/이도현 . . . . 1 match
         // closed form을 구 상태
  • HanoiTowerTroublesAgain!/조현태 . . . . 1 match
          기다리는 동안 심심해서... 간단거 하나..
  • HanoiTowerTroublesAgain!/하기웅 . . . . 1 match
          * 그냥 간단 계산식을 구해버렸다.
  • HanoiTowerTroublesAgain!/황재선 . . . . 1 match
          * 문제 이해를 잘못했다-_-; 기둥에 놓여진 전체 번호의 합이 완전제곱수인지 체크했었다.ㅡㅜ
  • HardcoreCppStudy/두번째숙제 . . . . 1 match
          * 학생은 총 5명으로 그 학생에 대 정보는 다음과 같습니다.
  • HardcoreCppStudy/두번째숙제/This포인터/김아영 . . . . 1 match
         f()로 클래스 내부에선 호출이 가능데 정확히 this->f()에서 this가 생략된 형이다.
  • HardcoreCppStudy/첫숙제/Overloading/임민수 . . . . 1 match
         즉.. 영어의 단어의 뜻이 문맥상황에 따라 다르게 해석되는것을 뜻함
  • Hartals/차영권 . . . . 1 match
         ==== 나테 할 말 ====
  • HelpOnAdministration . . . . 1 match
         열거된 페이지는 위키를 관리하기 위 여러가지 정보를 담고있습니다.~
  • HelpOnLists . . . . 1 match
         복잡 리스트도 간단히 공백으로 여러번 들여쓰기를 하면 쉽게 만들 수 있습니다.
  • HelpOnNavigation . . . . 1 match
          * [[Icon(info)]] 페이지에 관 정보 보기 (페이지의 모든 고친 정보 등)
  • Hibernate . . . . 1 match
         요새 참 인기있는 Java O-R Mapping Tool
  • History지도 . . . . 1 match
          * ["WikiProjectHistory"] - 위키에 열렸던 프로젝트에 대 과거기록
  • HowManyPiecesOfLand?/하기웅 . . . . 1 match
          - 보창이의 설명을 들었던 기억 때문에 쉽게 해결 것 같다.
  • HowManyZerosAndDigits/문보창 . . . . 1 match
         시간제이 1분짜리 문제다. Digits의 개수를 세는 것은 로그를 이용하면 간단히 해결되나, Zeros의 개수를 세는 방법이 딱히 떠오르지 않는다.
  • HowManyZerosAndDigits/허아영 . . . . 1 match
          // -> N의 팩토리얼에서 % B 을 0과 비교, N/B 후 또 % B과 0 비교.
  • IDE/VisualStudio . . . . 1 match
         Ctrl + Shift + C : 탐색트리로 캐럿 이동. (<- 개인적으로 가장 중요 단축키라고 생각함. ;;)
  • InformationStandardizationClass/Exam2006_1 . . . . 1 match
         3. 표준 제정 절차 과정에 쓰이는 문서의 양식과 투표 기을 쓰시오.
  • IntentionRevealingSelector . . . . 1 match
         먼저번 챕터랑 비슷 이야기다. how가 아닌 what을 중심으로 메소드의 이름을 적자는 것이다.
  • JCreator . . . . 1 match
         Visual Studio 를 이용해본 사람들이라면 금방 익힐 수 있는 자바 IDE. 보통 자바 IDE들은 자바로 만들어지는데 비해, ["JCreator"] 는 C++ 로 만들어져서 속도가 빠르다. Visual C++ 6.0 이하 Tool 을 먼저 접 사람이 처음 자바 프로그래밍을 하는 경우 추천.
  • Java/숫자와문자사이변환 . . . . 1 match
          Object를 int 타입으로 형변환 하기 ... 바로 안되므로 String으로 바꾼후 int로 형변환 다.
  • JavaScript/2011년스터디/서지혜 . . . . 1 match
          document.write(arguments[3]); // 존재하지 않는 배열을 참조다면? -> undefined
  • JavaStudy2002 . . . . 1 match
          * 상민이형께서 자바스터디를 즐겁게 이끌어 나가는 방법이 없냐고 물으시더군요. 예전에 C++ 같은 것을 하면서 감동을 느꼈거나 흥미로웠던 점에 대 의견을 적어주세요. --[영동]
  • JavaStudy2002/영동-2주차 . . . . 1 match
         Class Board--벌레의 발자국이 남는 판. 발자국을 통해 바퀴벌레의 이동 상황을 보고다.
  • JavaStudy2003/세번째과제 . . . . 1 match
          * 으... 수업 내용을 읽고 이 페이지를 여러분들이 직접 만들줄 알았습니다. 제가 만들게 된 사태 중 하나는 역시 분도 안읽어서인가요..ㅡ.ㅡ; -[상욱]
  • JavaStudy2003/세번째수업 . . . . 1 match
          * 오버로딩 - C++에서 cin을 cin.get(), cin.get(ch), cin.get(ch,50) 이렇게 쓰는 것처럼 같은 이름의 함수로 비슷 기능의 역할을 하는 함수들을 만들었다.
  • JavaStudy2003/첫번째수업 . . . . 1 match
          * 간단 예제 프로그래밍
  • JoelOnSoftware . . . . 1 match
          [임인택]은 ZPHomePage보다는 ZeroWiki를 이용하기 때문에 자유게시판을 잘 안보는데, 우연히 갔다가 JoelOnSoftware에 관 글이 올라온 걸 보게 되었다. 이전처럼 자유게시판 업데이트 되었을때, RecentChanges에 반영되었으면 좋으련만...
  • JollyJumpers/곽세환 . . . . 1 match
          // 차이값이 1 ~ n-1 사이에 모두 존재해야
  • JollyJumpers/문보창 . . . . 1 match
         개의 정수 1 n 이 들어와 있을경우 이것을 Jolly로 판단해야할까?
  • JollyJumpers/이승한 . . . . 1 match
         = Jolly Jumpers/이승 =
  • JollyJumpers/임인택 . . . . 1 match
          * straight forward 방법
  • JollyJumpers/임인택2 . . . . 1 match
          * 어떻게 줄로는 못할까? -_-
  • JollyJumpers/임인택3 . . . . 1 match
         % 리스트에서 인접 값의 차가 들어있는 리스트를 sort 해서 리스트 원소의 합과 가우스 합(?)을 비교.
  • JollyJumpers/허아영 . . . . 1 match
         배열 크기가 제이 있다는 걸 그때 알았다--;;
  • JumpJump/김태진 . . . . 1 match
          * 점화식. 3step까지 개수를 번 체크해봐요.
  • KIV봉사활동/교육 . . . . 1 match
         == 이승 ==
  • KIV봉사활동/출국준비 . . . . 1 match
         == 이승 비상 ==
  • Karma . . . . 1 match
         스스로가 테스트를 하는 것은 아니고, 테스트 라이브러리를 동작(run)시키기 위 환경을 제공하는듯.
  • KentBeck . . . . 1 match
         ExtremeProgramming의 세 명의 익스트리모 중 하나. CrcCard 창안. 알렉산더의 패턴 개념(see also DesignPatterns)을 컴퓨터 프로그램에 최초 적용 사람 중 하나로 평가받고 있다.
  • KeyNavigator . . . . 1 match
         위키에 설정해 놓은 몇가지 키에 대 안내입니다.
  • LawOfDemeter . . . . 1 match
         다음은 http://www.pragmaticprogrammer.com/ppllc/papers/1998_05.html 중 'Law Of Demeter' 에 대 글.
  • LexAndYacc . . . . 1 match
          * 작년부터 인가 Compiler 쪽에 커다란 관심을 가지기 시작했는데 이번년 부터 본격적으로 공부를 해보려구요.. 그 전에 Lex 책을 번 보면 뭔가 하겠구나 하고 느껴질것 같아서 이렇게 시작합니다.
  • LinkedList/영동 . . . . 1 match
          * 예전에 1학년 때 잘못된 방법으로 짠 것을 이제야 제대로(?) 고쳐서 올립니다. 창피 역사는 빨리 지워버려야...
  • Linux/ElectricFence . . . . 1 match
         리눅스에서 사용가능 CrtDbg 정도로 생각하면 좋다.
  • LinuxProgramming/QueryDomainname . . . . 1 match
         표준 BSD socket 을 이용 소스. 리눅스에서 컴파일해야함. 대충 바꾸면 윈도우에서도 할 수 잇음.
  • LogicCircuitClass . . . . 1 match
          * 컴퓨터의 가장 밑바닥 구조인 전자회로를 설계하기 위 논리 회로를 배운다.
  • LogicCircuitClass/Exam2006_2 . . . . 1 match
         2. 다음과 같이 딜레이를 갖는 회로에서 초기에는 x 가 1이다. 0초일 때 x 가 0으로, 2초일 때 x 가 1로 변다고 할 경우 x,y 의 vector waveform 을 그리시오.
  • LongestNap/문보창 . . . . 1 match
         그다지 구상이 필요없는 쉬운 문제였다. 그러나, 출력 오류 잡는데 상당 시간을 허비했다. 01분과 1분은 분명 다르다.
  • Lotto/강소현 . . . . 1 match
         (ex) k = 7일 때, 1 여섯개와 0 개로 이루어진 이진수를 내림차순으로 정렬
  • Lotto/김태진 . . . . 1 match
          * 솔져는 못풀고 대체제로 이거슬 풀었습니다. 이번주는 진경이테 덜 까이겠군여.
  • MFC/HBitmapToBMP . . . . 1 match
         돌아댕기다보면 쓸만 소스들이 넘쳐나는군.. -_-; 난 조립만 하면된다. ㅋㅋㅋ - [eternalbleu]
  • MFCStudy2006/Client . . . . 1 match
          * 2006. 7. 11.(화) - 클라이언트의 UI구현을 위 내용(Dialog Box, BMP집어넣기, 버튼 제작 등) 스터디, 제작
  • MFCStudy2006/Server . . . . 1 match
          * 메신저를 만들기 위 Server구현
  • MT날짜정하기 . . . . 1 match
         /!\ 주의! 출발날짜로 가능 날짜를 투표해주세요. 그리고 표 모양 안일그러지게 해주세요...^^;
  • MagicSquare/정훈 . . . . 1 match
          cout << soo << "*" << soo << "으로 단말이지??\n";
  • ManDay . . . . 1 match
         1 ManDay = 사람의 하루만큼의 노력. 보통 1 ManDay = 8 ManHours 가 되는 것이 이상적이라고 본다.
  • Map연습문제/임영동 . . . . 1 match
          //각 디코딩 규칙의 상세 내용들을 정의해줌
  • MatLab . . . . 1 match
         [그래프를이용결과분석]
  • MineSweeper/신재동 . . . . 1 match
          cin.get(); // 이 줄이 삽질의 원흉!!
  • MiningZeroWiki . . . . 1 match
         필요 준비물 :
  • MoniCalendar . . . . 1 match
          * Firefox 1.0.6에서는 테두리 라운딩이 깔끔데, 1.5 beta에서는 테두리가 밉게 랜더링된다.
  • Monocycle/조현태 . . . . 1 match
          알고리즘을 수정하기 너무 귀찮았던 나머지!! 코더의 기술력으로 매꿔버린;; 엽기발랄문제.
  • MythicalManMonth . . . . 1 match
         SE 계에서의 유명 고전, 에세이들.
  • NSIS/예제1 . . . . 1 match
         ; 실제 인스톨 할 것에 대 설정
  • NeoCoin/Temp . . . . 1 match
         ManagerPool, 일반인을 위 파인만의 QED강의,
  • NumberBaseballGame/성재 . . . . 1 match
         아아악~ 이거역시 어렵습니다아~ ㅜ_ㅜ 참 고생해서 도움받고...에이구우~
  • NumberBaseballGame/은지 . . . . 1 match
          cout << "발생 숫자 : " << num1 << num2 << num3 << "\n";
  • NumericalAnalysisClass/Exam2004_2 . . . . 1 match
         [http://dduk.idaizy.com/data/exam/%BC%F6%C4%A1%C7%D8%BC%AE2004%B3%E2%B1%E2%B8%BB%B0%ED%BB%E7.hwp 다운로드(글2002)]
  • Ones . . . . 1 match
         2나 5로 나눌 수 없는 0 이상 10,000 이하의 정수 n이 주어졌는데, n의 배수 중에는 10진수로 표기했을 때 모든 자리 숫자가 1인 것이 있다. 그러 n의 배수 중에서 가장 작은 것은 몇 자리 수일까?
  • Ones/1002 . . . . 1 match
         처음에는 brute-force 틱 방법 적용. 그러다가 세번째 샘플 데이터에서 엄청나게 속도가 저하되는 것을 느낌. 여태껏의 경험에 의하면 '무언가 다른 계산 방법이 있겠군' 이라는 감이 오다. brute-force 방법에서 미리 cut 을 할 방법을 이리저리 시도. (첫째자리와 끝자리만 1 비교.) 시간이 줄어들긴 하나 9901 예제에 대해서 금방 답이 나오진 않음. 9901 보다 큰 예제도 있을것이라 할때, 분명 금방 끝낼 방법이 있을 것이라는 확신은 드나, 생각이 떠오르지 않음.
  • OpenCamp/두번째 . . . . 1 match
          * 후기는 내가 일등. 상대적으로 어려운 주제여서 그런지 사람이 좀 적었습니다. 조촐하게 했네요. 제 세션은 실습이라 시간은 매우 매우 길게 잡았음에도 불구하고 시간이 모자라더군요. 내가 하는 것과 같이 하는것의 차이를 극명하게 느낄수 있었습니다. 첫번째 보다는 speaker의 발표력이 조금은 나아졌다고 느겼습니다. 저도 자바에 대해 잘 몰랐기 때문에 유용 세미나 였습니다. 이로써 항상 1학년에 맞춰주던 zeropage에서 벗어난 느낌입니다. 앞으로고 이런 고급 주제를 다루었으면 좋겠습니다. - [안혁준]
  • OpeningStatement . . . . 1 match
         페이지를 새로 만들 때 그 페이지를 연 목적을 간결하게 밝히는 문장. 그 페이지의 첫문장이 되어야다.
  • OurMajorLangIsCAndCPlusPlus/2005.12.29 . . . . 1 match
         간단 실습
  • OurMajorLangIsCAndCPlusPlus/2006.1.12 . . . . 1 match
         유사것, 속도 향상 template - 조현태
  • OurMajorLangIsCAndCPlusPlus/2006.1.5 . . . . 1 match
         조현태 - 유사것, 속도 향상 template
  • OurMajorLangIsCAndCPlusPlus/Function . . . . 1 match
         - 해당 파일 내에서만 유효 함수
  • OurMajorLangIsCAndCPlusPlus/XML/김상섭허준수 . . . . 1 match
          // </tag> 스택을 칸 증가
  • OurMajorLangIsCAndCPlusPlus/XML/조현태 . . . . 1 match
          /* 단순 연결의 경우 */
  • PNGFileFormat/FilterAlgorithms . . . . 1 match
          * Sub(x) : zlib 으로 decompress 바이트배열의 값
  • PageHitsMacro . . . . 1 match
         PageHits에서 히트가 많은 페이지가 위에 오는데, 이를 거꾸로 해서 히트가 빈 페이지에게도 꽃다발을 주고 싶습니다. r 옵션을 지원해서 arsort()만이 아니라 asort()도 되게 하면 어떨까요 ?
  • PageListMacro . . . . 1 match
          옵션을 metawiki 혹은 m으로 넣었습니다. 그런데, 서치 속도가 느립니다. metadb가 5메가 이상인데 약 2초 가까이 걸리네요. 페이지이 이 매크로를 넣으면 페이지 로딩속도가 느려지므로 그다지 바람직 방법은 아닌 것 같습니다. 그리고, metadb를 다 서치하려면 메모리를 많이 잡아먹게 되어 멎는 경우도 생기므로, 100여개정도를 찾으면 끝내도록 되어있습니다.
  • Pairsumonious_Numbers/김태진 . . . . 1 match
          * 예제 케이스에 두가지경우 빼곤 다 되네요. 두 경우는 무루프 =ㅅ= -[김태진]
  • PersonalHistory . . . . 1 match
          * [ProjectEazy] - AI를 이용 3살짜리 여자아이 '이지(Eazy)' 만들기
  • Plex . . . . 1 match
         특히 좋아하는 이유로는 State Machine 의 개념으로 텍스트를 파싱하고 가지고 놀 수 있다는 점이 있겠다. 예를 들어 HTML에서 span 태그에 대해 파싱다고 할때 <span 시작 - span 내용 - </span> 끝이라면 그냥 이를 서술해버리면 된다는.~
  • PokerHands/문보창 . . . . 1 match
         가까스로 버그를 잡았지만 난잡 소스가 그다지 맘에 들지 않는다. 어떻게 하면 보다 효율적으로 포커패의 족보를 검사해 낼 수 있을까?
  • PolynomialCoefficients . . . . 1 match
         이 문제에서는 다항식을 전개했을 때의 계수를 구해야 다.
  • PolynomialCoefficients/문보창 . . . . 1 match
         입력받는 수가 12까지가 아니라면, 더 최적화된 알고리즘을 찾아야 다.
  • PowerOfCryptography/Hint . . . . 1 match
          - 간단 수학식을 통해 O(1)안에 해결할 수 있다. Log를 이용해보자.
  • PowerOfCryptography/문보창 . . . . 1 match
         == 나테 할 말 ==
  • PracticalPython . . . . 1 match
         Python을 이용해 쓸모있는 프로그램을 만드는 과정을 보여주는 책이다. 따라가기 좋을 뿐 아니라, 만들어 놓은 프로그램을 발전시킬 수 있도록 유도다.
  • PrimaryArithmetic/1002 . . . . 1 match
         일단 예제로 있던 테스트 3개에 대해서는 별 일 없이 돌아갔다. 이쯤에서 걍 끝낼까 하다가, 너무 허술해보이는 것들이 많아 보였다. 그래서 해당 상황과, 그 상황에 대 테스트의 예를 추가해나갔다.
  • PrimaryArithmetic/문보창 . . . . 1 match
         비록 간단 문제지만 코드를 최적화시켜 상위에 랭크되었다.
  • ProcessExplorer . . . . 1 match
         그밖에도 http://sysinternals.com 에는 쓸만 유틸리티들이 많음.
  • ProcrusteanBed . . . . 1 match
         저 악명 높은 도둑 프로크루스테스도 그런 도둑 중의 하나였다. 프로크루스테스의 집에는 침대가 하나 있었다. 도둑은 나그네가 지나가면 집 안으로 불러들여 이 침대에 눕혔다. 그러나 나그네로 하여금 그냥 그 침대에 누워 쉬어 가게 하는 것이 아니었다. 이 도둑은 나그네의 키가 침대 길이보다 길면 몸을 잘라서 죽이고, 나그네의 키가 침대 길이보다 짧으면 몸을 늘여서 죽였다. '프로크루스테스의 침대'(ProcrusteanBed)는 여기에서 생겨난 말이다. 자기 생각에 맞추어 남의 생각을 뜯어 고치려는 버르장머리, 남에게 해를 끼치면서까지 자기 주장을 굽히지 않는 횡포를 '프로크루스테스의 침대'라고 하는 것은 바로 여기에서 유래 것이다. [[BR]][[BR]]'' '이윤기의 그리스 로마 신화' '' 중.
  • ProjectAR/진행상황 . . . . 1 match
          * 당장 필요 주인공 그림을 그렸다. 4방향. 이동 프레임? 그딴거 없다.
  • ProjectGaia . . . . 1 match
          * ["상민"] : 자료는 DB에서 Dump 이후에 다운로드가 쉽도록 만들어 놓겠습니다. 모두다 수고 했습니다. 제가 정말 살기 싫을때, 묵묵히 받아주어서 감사합니다.
  • ProjectGaia/기록 . . . . 1 match
          * 중간 발표에 대 준비, 프로젝트 스펙 점검, 지식 공유, 프로젝트 페이지 열기
  • ProjectIdea . . . . 1 match
         프로젝트로 해볼만 아이디어들에 대해서..~ 좋은 아이디어이면 같이 실제로 구현해보거나 다른 사람의 아이디어를 참고하여 덧붙일 수도 있으리라 생각된다.
  • ProjectPrometheus/Iteration3 . . . . 1 match
         || 해당 점수 제선 이상만 출력 (Fuzzy Value) || 1 || ○ (15분) ||
  • ProjectPrometheus/Iteration5 . . . . 1 match
         || Object-RDB Relation 을 위 Gateway 작성 || 1 || . ||
  • ProjectPrometheus/Iteration6 . . . . 1 match
         || Object-RDB Relation 을 위 Gateway 작성 || 1 || . ||
  • ProjectPrometheus/Iteration7 . . . . 1 match
         || Searched List 에 각 책에 대 Total Point 점수 표현 || . || ○ ||
  • Project메모장 . . . . 1 match
         [강희경]이 "실제 사용을 목적으로" 계획 프로젝트.
  • PyIde/FeatureList . . . . 1 match
          * py shell 에서 작성 스크립트를 editor 로 옮겨주기 기능
  • PyIde/Scintilla . . . . 1 match
         환경 셋팅 다이얼로그를 띄우고 싶다면 STCStyleEditDlg 를 사용다.
  • PythonComTypes . . . . 1 match
         COM 의 typelib 를 지원다.~ python shell 상에서 연습해보기에 너무나 좋은 라이브러리.~
  • PythonWebProgramming . . . . 1 match
         http://www.cs.virginia.edu/~lab2q/lesson_7/ - 단, 소스가 잘못되어있다. cookie 스트링은 content header 보다 먼저 출력되어야 다.
  • PythonXmlRpc . . . . 1 match
         다음은 간단 예제.
  • Quake2 . . . . 1 match
         퀘이크2를 .Net 용으로 이식 소스.
  • QueryMethod . . . . 1 match
         객체의 속성을 테스트하려면 어떻게 할것인가? 두 가지를 결정해야 다. 첫째는 무엇을 리턴할 것인가이고, 둘째는 이름을 어떻게 짓느냐다.
  • REAL_LIBOS . . . . 1 match
         2학년 2학기때 만든 프로젝트에 관 디스크립션.[[BR]]
  • RabbitHunt/김태진 . . . . 1 match
          * 새벽 5시까지 삽질해서 만든 코드입니다. 웬만 예외사항도 다 점검해봤는데 됩니다. 하지만 기울기가 소숫값이면 그걸 정수값으로 인식해버리던데, 그걸 아직 해결하지 못하고 있네요. 제 예상대로면 그게 해결되면 accept...일지도.. float로 a배열을 선언해도 안되는건가..? 될텐데;;
  • Random Walk2/곽세환 . . . . 1 match
          while ((temp = fin.get()) && temp != '\n') //방향있는 줄 입력받음
  • RandomFunction . . . . 1 match
          int x = rand(); // rand()함수는 랜덤 숫자를 리턴하는 함수입니다.
  • RandomWalk2/TestCase2 . . . . 1 match
         test.exe 는 작성 프로그램 실행 파일 이름입니다.
  • RealTimeOperatingSystemExam2006_2 . . . . 1 match
          c) OSMemCreate 관련 문제. 함수 바디를 쓰라는건지, 함수호출부분을 작성하라는것인지는 정확히 기억안남.
  • RecentChanges . . . . 1 match
         ||||<tablealign="center"> [[Icon(diff)]] || 개 이상의 백업된 버전이 존재하는 페이지를 의미합니다.||
  • RecentChangesMacro . . . . 1 match
          class를 추가다면 무슨 이름으로 추가할까요 ? MoinMoin에서는 class가 부여되지 않았습니다. --WkPark
  • Redmoon . . . . 1 match
         무언가 해보려는 페이지 같기는 데요... --NeoCoin
  • ReverseEngineering/책장사 . . . . 1 match
         1. C언어에 관 실력은 충분히 있으리라 본다.
  • Ruby/2011년스터디/강성현 . . . . 1 match
          * 동네API를 이용 동문 네트워크 홈페이지 제작
  • RuminationOnC++ . . . . 1 match
         Accelerated C++의 저자인 앤드류 쾨니그가 쓴 책이다. C++을 다년간 써온 저자의 프로그래밍 테크닉을 쉽게 이야기를 쓰듯 풀어나간 책이다. 책의 내용은 저널에 저자가 썼던 글에 살을 덧 붙이고 다듬어서 나온책이다. 약간 흥미를 위주로 쓴 측면이 있어서 재미있게 읽을 수 있다. (표지나 서문에서 느껴지는 책의 분위기는 프로그래머를 위 C++ 동화책이다. ㅡ.ㅡ;;)
  • SOLDIERS/정진경 . . . . 1 match
         중심으로 삼을 좌표를 찾는게 중요데요, 저같은 경우 동적계획법을 통해 모든 경우를 살펴봤습니다.(정렬 후 선형 탐색)
  • SPICE . . . . 1 match
         ISO/IEE 15504. 소프트웨어 프로세스 평가를 위 ISO 표준모델.
  • Score/1002 . . . . 1 match
         각 sub 단위의 "O" 의 갯수를 세고 이에 대해 각 부분별로 f(n) = f(n-1)+1 에 대 총합 계산을 해주면 되겠다 생각.
  • SearchAndReplaceTool . . . . 1 match
         자동 리팩토링 툴이 지원되지 않는 언어들(C/C++, HTML 등) 을 위 텍스트 일괄검색 & 치환 툴.
  • ShellSort/문보창 . . . . 1 match
         첨에 문제 파악을 잘못해서 중간에 코드를 뜯어고치느라 시간을 많이 허비했다. 귀찮아서 구상을 하지않고, 바로 코딩을 하다보니 발생 사태였다. 수행시간이 다른사람에 비해 턱없이 길다. 나중에 보다 효율적인 접근방법을 찾아보겠다.
  • SimpleDirectmediaLayer . . . . 1 match
          * SDL 소개(글): http://www.libsdl.org/intro.ko/toc.html
  • Simple_Jsp_Ex . . . . 1 match
         "화면에 출력시 반드시 = 붙여줘야 다."
  • Slurpys/문보창 . . . . 1 match
         힘들게 버그를 잡고 통과. 재귀함수 사용시 여러가지 통로(?)를 잘 관리해 줘야다.
  • SmithNumbers/조현태 . . . . 1 match
          어쨋든 문제에서 필요건 풀어내니 문제는 없다고 본다~ 나름대로 빨리 풀어낸다고.ㅎ
  • SoftwareEngineeringClass/Exam2002_1 . . . . 1 match
         암튼 3문제중 두문제가 QA에 관 것이라니 당황; Structured A&D 나 정보공학에 대해서는 아에 언급이 없군. (혹시 이거 kaspa 시험인가; 아무리 이경환 교수님이 kaspa 회장이시라고 하지만.) 암튼. 흑; --석천
  • SoftwareEngineeringClass/Exam2006_2 . . . . 1 match
         4. 심사를 하고 받은 후의 Software Engineer 로써 앞으로 조직의 비전을 위 자신의 각오, 결단을 기술하시오.
  • Steps/문보창 . . . . 1 match
         A, B 라는 입력이 들어왔을 때, n = B - A 로 본다면, n = 1 ~ 20 {1,2,3,3,4,4,5,5,5,6,6,6,7,7,7,7,8,8,8,8}. 간단 일차 방정식 작성으로 풀 수 있다.
  • Steps/조현태 . . . . 1 match
          또 시간이 남아서.. 또 간단거 하나..
  • StuPId/김태진 . . . . 1 match
         코드가 좀 보기 싫게 생겼지만 아무튼 번만에 accept!
  • SummationOfFourPrimes/김회영 . . . . 1 match
         int count=0; //만들어진 소수의 총 수를 구다.
  • SuperMarket/세연 . . . . 1 match
         //산 물건을 취소
  • SuperMarket/세연/재동 . . . . 1 match
         //산 물건을 취소
  • SuperMarket/재니 . . . . 1 match
          cout << "취소 수량이 사신 수량보다 많습니다.\n";
  • TableOfContentsMacro . . . . 1 match
          * ''toggle'' : 목차를 보여주거나 감출 수 있게 다. {{{[[TableOfContents(toggle)]]}}}
  • Telephone . . . . 1 match
         자 이러 광고문구 글을 해당 전화번호로 번역해주는 프로그램을 만들어보자.!
  • TemplateLibrary . . . . 1 match
         text 나 code generation 을 위 라이브러리들을 일컫는 말.
  • TestDrivenDevelopmentByExample . . . . 1 match
         개인적으로 TDD 중 빠른 테스트 통과를 위해 가짜 상수로 쌓아나갈때 어떻게 '중복' 이라 하여 ["Refactoring"] 할까 고민했었는데, 이전의 SeminarHowToProgramIt 에서의 예제 이후 이 문서에서의 예제가 깔끔하게 풀어주네요. 인제 번 들여다 본 중이긴 하지만, 저자가 저자인 만큼 (KentBeck).~
  • TheJavaMan/로보코드 . . . . 1 match
          서로 배틀번 해봤으면 좋겠군..넷미팅은 끊길려나..아직 만드는중이닷;; --[문원명]
  • TheKnightsOfTheRoundTable/하기웅 . . . . 1 match
         헤론의 공식을 이용해서 구 넓이 = (내심원의 반지름 x 세변의 합)/2 로 구할 수 있다.
  • ThreeFs . . . . 1 match
         ''나는 오늘 친구들과 어떤 어떤 술을 어떤 어떤 순서로 마셨고 나중에 오바이트 했다. 우선은 기분 째지게 좋았다. 이런 조합의 술이 사람을 기분 좋게 다는 점과, 얼마 안가 폐인으로 만들어 준다는 점을 배웠다.''
  • TkinterProgramming . . . . 1 match
         만약 파이선으로 GUI 프로그래밍을 다면 Tkinter 이것 만큼은 피하라!!!! -_-
  • TkinterProgramming/Calculator2 . . . . 1 match
         컴파일을 위해서는 메가 위젯 모듈을 설치해야다.
  • TortoiseCVS . . . . 1 match
         WinMerge 에서 통합하고 난뒤 TortoiseCVS 에서의 확인을 번 더 받고 나면 처리 완료.~
  • TortoiseSVN/IgnorePattern . . . . 1 match
         서브버전에서 커밋시 기본적으로 제외하는 형태를 지정다. 대체로 IDE 가 만들어내는 설정 파일과 컴파일된 오브젝트 파일들을 주로 넣는다.
  • TowerOfCubes/조현태 . . . . 1 match
          if (0 == boxNumber) //예쁜 상자가 없으면 종료다 -ㅡV
  • TugOfWar/김회영 . . . . 1 match
         접근 방식이 굉장히 새로와서 놀랬어요~>__<ㅋ - [이승]
  • TugOfWar/남상협 . . . . 1 match
          * 괜히 엉성거 디버그 하기보단 첨부터 다시 짜는게 다 나은거 같다.
  • TugOfWar/신재동 . . . . 1 match
         이전에 비스무리 문제를 푼 적이 있었다. 하긴 이런류의 경시대회 문제들 어느 정도 풀다 보면 해결 방법이 몇 가지로 나뉘는 것 같다. --재동
  • TugOfWar/이승한 . . . . 1 match
         = TugOfWar/[이승] =
  • UDK/2012년스터디/소스 . . . . 1 match
         = 2012.07.16 간단 문자열 연결 kismet 소스 =
  • UML . . . . 1 match
         난 이게 무언지 잘 모르겠다. 다만 객체를 잘 표현할 수 있는 방법이다. - 이승
  • UML/CaseTool . . . . 1 match
         UML 케이스 툴과 달리 Visio 같은 경우에는 Diagramming 기능만을 제공다. Diagramming Tool 이라고 분류하는 듯하다.
  • UglyNumbers/구자겸 . . . . 1 match
         int unum(int num); // 심술쟁이수인지 검사
  • UnitTestFramework . . . . 1 match
         UnitTest code 작성을 위 Framework
  • UnixHistory . . . . 1 match
          자세 Unix 계보
  • UpgradeC++/과제2 . . . . 1 match
         == 간단 정렬 ==
  • UserPreferences . . . . 1 match
         설정을 변경 후에 '''[[GetText(Save)]]'''를 누르면 그 설정이 저장됩니다.
  • VendingMachine/세연/재동 . . . . 1 match
          cout << "0.종료다\n";
  • VisualSourceSafe . . . . 1 match
          * ["CVS"] 와 달리 하나의 프로젝트를 특정인이 점유하고 있으면, 해당 프로젝트 소스 자체에 접근을 금지다. VS 계열 툴로 집에서 혼자 작업시에 사용하기는 편하다. VS계열의 툴과 잘 결합되어 있다. 아직 VS 6.0 만 쓰는 관계로 7.0은 잘 모름--["상민"]
  • VisualStudio2005 . . . . 1 match
          * 소스관리는 DB를 이용해서 하는 듯 합니다. MS Access로도 가능 듯 합니다.
  • VoteMacro . . . . 1 match
         간단 VoteMacro입니다.
  • WERTYU/문보창 . . . . 1 match
         뻔 문제였다. 문제의 발상이 굉장히 재밌다.
  • WeightsAndMeasures/신재동 . . . . 1 match
         클래스를 사용다면 스스로 어떻게 정렬될지 아는 놈으로 만드는 것도 좋겠다.
  • WeightsAndMeasures/황재선 . . . . 1 match
          * 제대로된 설계없이 진행하다보니 중간에 수정을 많이 하였다. 테스트코드 또 마구 고쳤다,,뭔가 이상하게 돌아가는 듯하다
  • WhatToExpectFromDesignPatterns . . . . 1 match
         리펙토링을 위 목표.
  • WikiGardeningKit . . . . 1 match
         [위키정원사] 노릇을 편하게 하기 위 도구 상자
  • WinSock . . . . 1 match
         Windows Socket API. Win32 API 에 기본적으로 지원다.
  • Winamp . . . . 1 match
         [WinampPlugin을이용프로그래밍]
  • WritingOS . . . . 1 match
         이야~ 멋진데 ㅎ 재밌겠다. 나도 하고 싶긴 데 이번 방학땐 다른걸 하기로 했으니,, - [namsang]
  • XMLStudy_2002/XSL . . . . 1 match
          <!-- 디스플레이 방법을 HTML을 이용하여 기술다. -->
  • XOR삼각형/허아영 . . . . 1 match
         === 나테 할 말 ===
  • XpWeek/20041220 . . . . 1 match
         10시 30분~12시 : 기민 문화 이야기 [http://www.okjsp.pe.kr/upload/Agile_Voice.zip 음성PPT] 보기
  • Yggdrasil/가속된씨플플/0장 . . . . 1 match
          * 함수: 자신의 이름을 가지며, 다른 곳에서 이를 호출하거나 실행시킬 수 있는 프로그램의 조각
  • ZP&COW세미나 . . . . 1 match
          * 준비 것이 도움이 되어서 다행이다.
  • ZPBoard/Diary . . . . 1 match
          * 하루에
  • ZPBoard/HTMLStudy . . . . 1 match
          * 궁금게 있음 연락을...^^
  • ZPBoard/MemoBoard . . . . 1 match
          * 화면에 12개의 메모를 보여준다.
  • ZPHomePage/참고사이트 . . . . 1 match
          마이크로소프트가 발표 경영비젼입니다 Windows2003를 테마로 만든 것 같은데, 우리 차기 ZP홈피도 2003 테마로 만들었으면 합니다. 부드러운 분위기가 메무 맘에 드네요 -[iruril]
  • Zero,One 위키 통합에 대한 토론 . . . . 1 match
          ZeroWiki에서 지금 로그인 해야 쓸 수 있는 기능을 말 것입니다. 근데 써놓고 보니 로그인 안하고 쓰는 게 위키쓰기가 쉽겠네요. --[Leonardong]
  • ZeroPageServer/MySQL계정 . . . . 1 match
         ["ZeroPageServer"] 에서 돌아가는 ["MySQL"]의 계정으로서 ["MySQL"] 데이터 베이스를 사용할수 있는 권이다.
  • ZeroPageServer/set2001 . . . . 1 match
          * 정확 날짜나 기록이 없어서, 알고 있는 사실만을 기록합니다.
  • ZeroPageServer/set2005_88 . . . . 1 match
          * 다양 프로그래밍 환경
  • Zeropage/Staff . . . . 1 match
         || 이름 || 학번 || 가능 시간 ||
  • Zeropage/Staff/회의_2006_02_13 . . . . 1 match
         복학생은 그냥 두명씩 받는 것 보다는
  • Zeropage/Staff/회의_2006_03_04 . . . . 1 match
         - 제 생각도 그렇습니다. 실제로 활동거 보여주면 좋을 것 같네요 , 아웃풋 나오는것도 보여주고요! - 아영
  • [Lovely]boy^_^/Cartoon . . . . 1 match
         || 무의 주인 || 1-14 || 나루토 || 1-17 ||
  • [Lovely]boy^_^/Diary/2-2-1 . . . . 1 match
          * 비행기 게임 소스 번 갈아 엎었음. 재동이와 같이 리팩토링.
  • [Lovely]boy^_^/Diary/2-2-12 . . . . 1 match
          * PhotoShop2003 끝났다. 참신 기능만 넣으면 된다.
  • [Lovely]boy^_^/Diary/2-2-2 . . . . 1 match
          * 우리나라에 사람 무는 바퀴벌레가 들어온 기념으로.. TDD를 이용 RandomWalk2를 해보았다.(Python) 파이썬 문법 자체에서 좀 많이 버벅거렸다는게 좀 아쉽다. 테스트 수십개가 통과하는 것을 보고 있자니 괜시리 기분이 좋아진다는--;
  • [Lovely]boy^_^/Diary/2-2-3 . . . . 1 match
          * ["EffectiveSTL"] 나머지 부분은 책반납일이 다 되었음으로 인해 유보. 또 나머지 내용은 좀 생소해서.. 기초 부분을 좀 더 봐야 할듯싶다.
  • [Lovely]boy^_^/Diary/2-2-4 . . . . 1 match
          * 게 없구만--; 집에 있으면 너무 나태해져서 문제다. 뭔가 마음을 다잡을 계기가 있어야 할텐데
  • [Lovely]boy^_^/EnglishGrammer/Passive . . . . 1 match
          ex) Our dog got run over by a car.(헉 이런 잔인 예제가..--;)
  • [Lovely]boy^_^/USACO/WhatTimeIsIt? . . . . 1 match
          * 좀 잡다 함수가 마니 들어갔군..
  • abced reverse . . . . 1 match
          str2[5]=str1[5]; // 널값이 맨 앞이면 출력되지 않음, 따라서 널을 제외 것 reverse
  • callusedHand/projects/messenger . . . . 1 match
         3. 필요 공부
  • cheal7272 . . . . 1 match
          이 사람 예전에 저와 함께 가입걸루 아는데....ㅡ.ㅡ;; --["상규"]
  • code regulation . . . . 1 match
         목적 - 팀원 간의 코드 작성 방식을 최대 일치시켜 이해도와 생산성 향상
  • dlaza . . . . 1 match
          == 마디 해주세여 ==
  • eXtensibleStylesheetLanguageTransformations . . . . 1 match
         XSLT를 잘 이용하는 곳의 하나로 feedburner를 뽑고 싶다. 때 MS XSLT 구현 방법에 대해서 말도 많고 탈도 많았으나... 뭐 어쨋든 나름대로들 잘 사용하고 있는 듯 보임.
  • fm_jsung . . . . 1 match
         == 마디 해주세요~ ==
  • gester . . . . 1 match
         지금 현재 자바하구 MFC 처음하구 있구....우선 공부다음 만들어볼생각
  • gusul/김태진 . . . . 1 match
          * 두명의 선수가 최선을 다할 때, 누가 해당 경기에서 이기는지에 대 문제
  • hanoitowertroublesagain/이도현 . . . . 1 match
         // closed form을 구 상태
  • html . . . . 1 match
         Document Type Definition(Doctype). HTML 문서의 버전을 명시다. 버전 명시 이유는 [http://hooney.net/2007/08/21/438/ 여기]에서.
  • iPhone . . . . 1 match
          * 유려 감성이 돋보이는 잡스의 작품.
  • jQuery . . . . 1 match
         jQuery를 사용함으로써 일반적이고, 반복되며, 업무량을 증가시키는 불필요 마크업들을 제거할 수 있고, 이를 통해 작고, 훌륭하며, 이해하기 쉬운 자바스크립트 코드를 작성할 수 있습니다.
  • naneunji . . . . 1 match
         어떤 걸 문서화시키고 기록으로 남긴다는 건 참 귀찮은 일이다. 하지만 이렇게 쓰고 나니 내가 좀 정리되는 느낌이다. 정신없이 지냈던 지난 반년 간도..그래서 사람들은 이런 작업을 하나부다..확실히 시간을 투자할 만 일인거 같다. [[BR]]
  • neocoin/CodeScrap . . . . 1 match
         ["상민"] 이가 프로그래밍중 사용하는 이디엄, 신기 현상들을 모아놓는 페이지
  • neocoin/MilestoneOfReport . . . . 1 match
          * 제 사항(Specification)
  • oracle . . . . 1 match
         데이터베이스 구성 파일은 C:\oracle\product\10.2.0에 설치되었으며 설치 시 선택 다른 구성 요소는 C:\oracle\product\10.2.0\db_2에 설치되었습니다. 실수로 이들 구성 파일을 삭제하지 않도록 주의하십시오.
  • phoenix_insky . . . . 1 match
         사랑의 아픔은 참으로 소중 것입니다.
  • planetjalim . . . . 1 match
         == 마디 해주세요~ ==
  • programmer . . . . 1 match
         DeleteMe--["programmer"] 범위가 너무 큰 말인가? 생각이 정리되는 데로 번 적어야 겠군요.
  • radeon256 . . . . 1 match
         == 마디 해주세요~ ==
  • sibichi . . . . 1 match
          * 2008.09.08 2:11pm. '천릿길도 걸음부터'
  • travelsky . . . . 1 match
          * 중요 것 잊지 않기
  • whiteblue . . . . 1 match
          * ["whiteblue/간단계산기"]
  • woodpage . . . . 1 match
         * 6주 줄어서 어정쩡 제대일
  • woodpage/메신저 . . . . 1 match
         4. 목적 : xml을 활용다.
  • zennith/dummyfile . . . . 1 match
         지정 크기의 파일을 생성하는 프로그램
  • zeropageBlog . . . . 1 match
          * 자세 사용법은 [http://www.tattertools.com 태터툴즈 홈페이지]를 이용해 주십시오.
  • zozo . . . . 1 match
          중대컴공 98 이선호. 제로페이지랑 친 네토리 학회 멤버.
  • zyint . . . . 1 match
          || 로봇 || ★★★ || 가족끼리 보면 좋을거같다. 뭐 내용이야 뻔하지만 그래도 해피엔딩이라 그런지 재밌다.. [[BR]]으흐흐흐.. 로봇이 3D그래픽으로 만들어졌는데 흠 어색점은 전혀 없었던거 같다.. ||
  • ★강원길★ . . . . 1 match
         일어나니 4시.. 그런 쉣 경우가 ㅎㅎ 그냥 윤리며 C 며 깨끗하게 붙여넣어줬지 ^^
  • ㄷㄷㄷ . . . . 1 match
         두개가 매우 비슷 기능을 갖기 때문에 같은 내용의 프로그램을
  • 가위바위보 . . . . 1 match
         렌덤 함수 이용을 가르치기 위 숙제입니다
  • 강희경/그림판 . . . . 1 match
         이유나 목적이 어떻든 [강희경]이 그림판 또는 포토샵을 이용해 제작 이미지.
  • 강희경/메모장 . . . . 1 match
         Zero를 코믹하게 발음 "빵"과 음이 같은 bread.
  • 건대컴공 . . . . 1 match
         활성화가 덜 됐지만.. 번 들러주세요~.. 건대컴공 pcix라는 소모임의 wiki에요~
  • 겨울방학프로젝트/2005 . . . . 1 match
         || [AI오목컨테스트2005] || 각자 작성 AI 오목끼리 대결, 현재 현태, 상협이 만든 두개가 있고 [MFCStudy_2005_2_야매] 스터디 멤버들이 이어서 만들거라 기대함 || 상협 현태 태훈 민경 ||
  • 경시대회준비반 . . . . 1 match
         [http://www.algorithmist.com/] ACM 문제가 어느 알고리즘 파트인지 알 수 있다. 그외 도전할만 많은 문제들이 있다.
  • 고수를찾아서 . . . . 1 match
         저자는 무예를 좋아해서 전문 잡지까지 만드는 사람이다. 여러 고수를 찾아다니며 인터뷰 이야기, 고수를 만난 경외감을 전해주고 있다. 아마 보는 눈은 갖춘 실력이 밑바탕에 깔려있기 때문에, 고수를 찾아다니며 감탄할 수 있는 것 같다.
  • 고슴도치의 사진 마을 . . . . 1 match
         || [몬테카를로 법을 이용 pi 구하기 프로그램] ||
  • 고슴도치의 사진 마을처음화면 . . . . 1 match
         [몬테카를로 법을 이용 pi 구하기 프로그램]
  • 고한종/swap() . . . . 1 match
         [고종]
  • 구구단 . . . . 1 match
         ||.||.||.|| c || [구구단/주요]||
  • 구구단/송지훈 . . . . 1 match
         꺼번에 모든 구구단을 다 계산하지 못했지만
  • 그래픽스세미나/2주차 . . . . 1 match
         || 강인수 || Upload:GL_Report2_Insu_MFC.zip 경태형꺼랑 비슷거..||
  • 그림으로설명하기 . . . . 1 match
         무언가 가르쳐줄 때 말로 설명하기 어렵다면 그림으로 설명하자. (데 그림 그리기가 더 어렵다면 ?)
  • 김동준/Project/Data_Structure_Overview/Chapter1 . . . . 1 match
         간단 배열 프로그램의 예
  • 김민경 . . . . 1 match
         다시번 올림피아드!
  • 김수경 . . . . 1 match
          * 초기멤버(송수빈, 차재훈) + 박
  • 김영록 . . . . 1 match
         영록아 ! 지뢰 . 어케거야 ㅋㅋㅋㅋ -- 아영
  • 김정욱 . . . . 1 match
          * 정욱이 형테 허락을 맡았습니다. 이게 더 정감 있는거 같기도 하구요 ^^ - [김정욱]
  • 김준호 . . . . 1 match
          ②. 학년 : 1학년 ( 파른파릇 새싹 ㅋㅋㅋㅋㅋㅋㅋㅋ)
  • 김진아 . . . . 1 match
         씨 이 쓰불놈 ㅠ_ㅠ[유선]
  • 넥슨입사문제 . . . . 1 match
         요새 카트라이더로 말이 많은 넥센이라는 회사가 있지요. 건너 건너 아는 사람이 이 회사에 입사를 하려고 이력서를 냈더니 서류는 통과했습니다. 데 면접 보기 전에 이 3 문제를 주고 풀어서 메일로 제출하라고 했더랍니다. 이 중 3번 문제가 재미있었습니다. :) --재동
  • 단식자바 . . . . 1 match
         이승, 송수생, 정수민, 김소현, 이경미, 김영록
  • 데블스캠프2003/ToyProblems/Random . . . . 1 match
          int x = rand(); // rand()함수는 랜덤 숫자를 리턴하는 함수입니다.
  • 데블스캠프2005/RUR-PLE/Harvest/Refactoring . . . . 1 match
         [데블스캠프2005/RUR-PLE/Harvest/이승]
  • 데블스캠프2005/RUR-PLE/Harvest/이승한 . . . . 1 match
         = [데블스캠프2005/RUR-PLE/Harvest]/[이승] =
  • 데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest . . . . 1 match
         [데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest/이승]
  • 데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest/이승한 . . . . 1 match
         = [데블스캠프2005/RUR-PLE/TwoMoreSelectableHarvest]/[이승] =
  • 데블스캠프2005/게임만들기 . . . . 1 match
         테트리스 만들기 틀을 이용 완성 예제
  • 데블스캠프2005/목요일 . . . . 1 match
          * 시간이 빡빡 관계로 09:00 정각에 시작하겠습니다.
  • 데블스캠프2005/보안 . . . . 1 match
         == 실습에 필요 파일들 ==
  • 데블스캠프2005/화요일 . . . . 1 match
          C를 막 배운 신입생을 대상으로 다.
  • 데블스캠프2006/SVN . . . . 1 match
         8. 해당 컴퓨터에서 방금 커밋 프로젝트 체크 아웃 받기
  • 데블스캠프2006/목요일/winapi . . . . 1 match
         남군에게 무러봐라.. 너테만 나는 에러라고 확인해 줄꺼야. ㅋㅋ ㅡoㅡ - [eternalbleu]
  • 데블스캠프2006/참가자 . . . . 1 match
         || 06 || [주요] || || || LT때문에 늦게 || . ||
  • 데블스캠프2009/목요일 . . . . 1 match
         || 08 || 강성현, 김대호, 김태욱, 김홍기, 박기, 정종록 ||
  • 데블스캠프2009/목요일/연습문제 . . . . 1 match
          * [데블스캠프2009/목요일/연습문제/MFC/박기]
  • 데블스캠프2009/목요일/연습문제/다빈치코드/서민관 . . . . 1 match
         카드의 갯수를 입력 후, 그 수만큼 카드 색, 카드 숫자를 입력하면 크기나 색 순서로 정렬해준다.
  • 데블스캠프2009/수요일/OOP/서민관 . . . . 1 match
         OOP 과제. 의사코드를 이용 붕어빵기계와 붕어빵 만들기
  • 데블스캠프2009/총화 . . . . 1 match
          1. 캠프에 대해 좀 더 논의가 필요 부분은 무엇인가?
  • 데블스캠프2009/화요일 . . . . 1 match
         || 변형진 || The Abstractionism || 컴퓨터공학의 발전과 함께 노가다의 지혜 || attachment:/DevilsCamp2009/Abstractionism.ppt ||
  • 데블스캠프2010/다섯째날/ObjectCraft . . . . 1 match
         === 미션3. 2마리의 저글링과 2마리의 저글링이 쪽이 전멸할때까지 싸움 ===
  • 데블스캠프2011/넷째날/Git . . . . 1 match
         == 이승/Git ==
  • 데블스캠프2011/넷째날/루비/서민관 . . . . 1 match
         어쨌든 이걸로 클래스도 만들고 멤버변수도 만들고 메소드도 만들었으니 기본적으로 필요 기능은
  • 데블스캠프2011/다섯째날/HowToWriteCodeWell/권순의,김호동 . . . . 1 match
          // 버튼 눌러서 타서 이동 케이스
  • 데블스캠프2011/둘째날/Machine-Learning . . . . 1 match
          * 후배들에게 드리는 간략 조언
  • 데블스캠프2011/셋째날/RUR-PLE/권순의 . . . . 1 match
         == 노가다 // 바퀴 돌고 beeper 줍고 얼마 가서 놓기 ==
  • 데블스캠프2011/셋째날/난해한프로그래밍언어 . . . . 1 match
         [데블스캠프2011/셋째날/난해프로그래밍언어/김준석]
  • 데블스캠프2011/셋째날/난해한프로그래밍언어/김준석 . . . . 1 match
         [데블스캠프2011/셋째날/난해프로그래밍언어] [데블스캠프2011]
  • 데블스캠프2012/넷째날/묻지마Csharp . . . . 1 match
          * Mission을 해결하면서 작성 코드를 여기에 남겨주세요 - [지원]
  • 데블스캠프2012/넷째날/묻지마Csharp/김태진 . . . . 1 match
          * 미션 1,2,3,4를 모두 총괄 것...!
  • 데블스캠프2012/셋째날/코드 . . . . 1 match
         = 테스트를 위 CTIP =
  • 데블스캠프2012/첫째날/배웠는데도모르는C . . . . 1 match
          * 간단 일정 관리 프로그램(?) 만들기로 배워보는 구조체, 함수 포인터....
  • 데블스캠프2013/셋째날/머신러닝 . . . . 1 match
         == 고종, 임지훈 팀 ==
  • 드릴러2004 . . . . 1 match
         올려보면 좋을 듯 데 당장 코드가 없어서 못 올렸는데...몰랐던 사람도 있고
  • 레밍즈프로젝트/다이어그램 . . . . 1 match
         비슷 기능을 하던 ITEM, ACTION를 ActionManager로 합쳤다.
  • 레밍즈프로젝트/유주호 . . . . 1 match
         [레밍즈프로젝트/이승]
  • 레밍즈프로젝트/프로토타입/SetBit . . . . 1 match
         비트 단위로 저장되는 맵을 로드하기 위해서 사용다.
  • 레밍즈프로젝트/프로토타입/에니메이션버튼 . . . . 1 match
         윈도우 컨트롤 중에 에니메이터 컨트롤이 있다고 함. -_- 그 녀석을 사용하면 해결 할 수 있을듯. 바로 밑에 있군-_- -이승
  • 렌덤워크/조재화 . . . . 1 match
          //벌레의 이동 좌표
  • 로고캐릭터공모/문의 . . . . 1 match
         로고의 크기는 어느 정도가 좋을까요? 크기가 제되지는 않나요? --[강희경]
  • 마름모출력/이승한 . . . . 1 match
         = [마름모출력]/이승 =
  • 마샬링 . . . . 1 match
         마샬링은 하나 이상의 프로그램 또는 연속되어 있지 않은 저장 공간으로부터 데이터를 모은 다음, 데이터들을 메시지 버퍼에 집어넣고, 특정 수신기나 프로그래밍 인터페이스에 맞도록 그 데이터를 조직화하거나, 미리 정해진 다른 형식으로 변환하는 과정을 말다.
  • 마인드맵핑 . . . . 1 match
         ''두뇌는 그것을 거부하고 반항하다가 마침내 성공을 하게 되고 갑자기 저항할 수 없는 성취감이 공포감을 대신다.''
  • 만년달력 . . . . 1 match
         완료란에는 완료 단계를 넣읍시다
  • 만년달력/김정현 . . . . 1 match
         CalendarMaker에게 폼을 주고 만들라고 지시
  • 몸짱프로젝트 . . . . 1 match
          * 참고 책 : ProgrammingPearls(번역서 [생각하는프로그래밍])
  • 문자반대출력/김정현 . . . . 1 match
         === 나테 할말 ===
  • 문자반대출력/남상협 . . . . 1 match
          * 아직도 파이썬 함수 좀 쓸라면 찾아 봐야다. 이놈의 나쁜 기억력.. -_-
  • 문자반대출력/최경현 . . . . 1 match
         === 나테 할 말 ===
  • 문자열연결 . . . . 1 match
          * x 문자열 마지막에 y를 연결시켜 출력다.
  • 문제은행 . . . . 1 match
         신입생들을 위 문제(["문제분류"]) 들을 제시하는 지도역할을 하는 페이지 See Also ["데블스캠프2002"]
  • 미로찾기 . . . . 1 match
         데블스캠프2005에서 ToyProblems
  • 미로찾기/이규완오승혁 . . . . 1 match
          cout << "바퀴벌레가 이동 횟수는 " << walk << "번 입니다.\n\n";
  • 미로찾기/정수민 . . . . 1 match
         근데왜 승이형 아뒤가 로그아웃되지 않는걸까 -_-;;
  • 박범용 . . . . 1 match
          ||그래서 좋아다는 음악 : pantera ㅡㅡ^||
  • 박성현 . . . . 1 match
         == 궁금 것 ==
  • 박지호 . . . . 1 match
          * ㅇㅇ 공 안들여서 짜면 무너지진 않음. 사실 무너질게 없는거지 ㅋㅋㅋㅋ -[고종]
  • 박효정 . . . . 1 match
         2학기때는 열공하쟈 / 다양 활동을 해보쟈 ^,^
  • 반복문자열 . . . . 1 match
          - 3.times {puts "CAUCSE LOVE."} 는 [Smalltalk] 와 생김새가 비슷것 같다 - 임인택
  • 반복문자열/김소현 . . . . 1 match
         === 나테 할 말 ===
  • 반복문자열/김영록 . . . . 1 match
         === 나테 할 말 ===
  • 반복문자열/김정현 . . . . 1 match
         === 나테 할 말 ===
  • 반복문자열/김태훈zyint . . . . 1 match
         === 나테 할 말 ===
  • 반복문자열/문보창 . . . . 1 match
         === 나테 할말 ===
  • 반복문자열/이규완 . . . . 1 match
         === 나테 할 말 ===
  • 반복문자열/이도현 . . . . 1 match
         === 나테 할 말 ===
  • 반복문자열/이태양 . . . . 1 match
          - 번해보고싶었어 ㅋㅋㅋ
  • 반복문자열/최경현 . . . . 1 match
         === 나테 할 말 ===
  • 방울뱀스터디 . . . . 1 match
         지금까지 해왔던 기존의 다른 스터디와는 좀 다르게 해보려고 합니다. 그동안 ''가르치는 것''에 대하여 여러가지 고민도 해보고 조언도 얻고 해서... 변해야 다고 생각했습니다. 잘 될지는 저도 잘 모르겠습니다. --재동
  • 백주협 . . . . 1 match
         2. 그 동안 못 프로그래밍
  • 변형진 . . . . 1 match
          * 그러게 말이죠.. 2006년에서 멈춰있는듯 -[김태진]
  • . . . . 1 match
         || [재만] || knight489@hotmail.com || :) || :) || :) || :( ||
  • 복/숙제제출 . . . . 1 match
         근데 이상점이... 실행시킨뒤에 9단까지만 받는게 아니라 숫자 다 받는데 어떻게 된거징...
  • 블로그2007/송지훈 . . . . 1 match
         책에 나온데로 후 위키에서 링크를 걸려고 했슴다.
  • 빵페이지/구구단 . . . . 1 match
          재귀함수인가? 번 사용해 봤습니다 ㅎㅎ
  • 빵페이지/마방진 . . . . 1 match
         했지만서도 야바위같은 느낌을 떨쳐버릴수가 없어요.; 이미 행의 합을 알고 가운데 숫자를 알고 만든 거니..--;
  • 삼미슈퍼스타즈의마지막팬클럽 . . . . 1 match
         제목은 겨레신문에서 수도 없이 보았지만 이제서야 읽었다. 재밌어서 깔깔 웃었다. 1할 2푼 5리 슬률로 살아가는 모든이들에게, 어쩌면 필요없는 조언일지도 모르겠다. 그보다는 9할 넘는 승률로 살아가는 어떤이들에게 고민을 안겨주지 않을까? 어쨌거나 나에게는 잘 놀고 열심히 살자는 이야기였다.
  • 삼총사CppStudy . . . . 1 match
          - 월요일쯤이 좋을듯 데요. 의견 적어주세요. 일요일까지 의견이 없을 때에는 월요일로 정하겠습니다 --[snowflower]
  • 새싹교실/2011/學高/7회차 . . . . 1 match
          * 특별 과제는 없습니다.
  • 새싹교실/2011/씨언어발전/2회차 . . . . 1 match
          * 줄로 프린트하는...... 그냥 띄어쓰기로 하면된다는 ㅋㅋㅋㅋㅋ
  • 새싹교실/2012/사과나무/과제방 . . . . 1 match
          * 최소 사용법 정도는 있어야 인정.
  • 새싹교실/2012/아무거나 . . . . 1 match
          * feedback은 최대 성의있게 써주세요.
  • 새싹교실/2012/열반 . . . . 1 match
          * C프로그래밍 수업에서 배운 내용을 적어주세요. 궁금 점은 질문해주세요.
  • 새싹교실/2012/열반/120409 . . . . 1 match
          * 중첩 반복문을 이용 별찍기
  • 새싹교실/2012/열반/120514 . . . . 1 match
          * 내용이 많아 주석을 많이 달지 못했습니다. 직접 컴파일하고 실행해보고, 궁금 점은 질문하시기 바랍니다.
  • 새싹교실/2012/열반/120604 . . . . 1 match
          * 충돌에 대 구현이 복잡하고, 충돌이 자주 일어나는 경우 성능이 좋지 않다.
  • 새싹교실/2012/클러그 . . . . 1 match
          * 어떻게 쓸지 고민되면 학생은 자신이 얼마나 이해 것 같은지, 수업 분위기나 속도 및 난위도는 어땠는지를 써 봅니다.
  • 새싹교실/2012/탈락 . . . . 1 match
          * 1회차에서 배운 내용을 기억하고 있는지 복습 예제를 주어 풀게하였고, 이번차에서는 스위치문의 문법과 사용하는 이유, 배열과 배열을 쓰면 편 점 등을 설명해주고 예시문제를 주었다.
  • 새싹교실/2013/양반 . . . . 1 match
          * 아는 것에 해서 알려드립니다.
  • 새싹교실/2013/책상운반 . . . . 1 match
         3. 선형대수학에 대해서 궁금 것은 질문하시면 됩니다. 대부분은 답변해 드립니다.
  • 서버구조 . . . . 1 match
         1. 설치된 프로그램의 버전, 버그등의 수정이 이루어지면 갱신하거나 패치하도록다.
  • 서지혜/2012 . . . . 1 match
          * {{{{color:#FF0000; font-weight:bold} 2012 지금. 다.}}}
  • 서지혜/Calendar . . . . 1 match
          * 루비의 attribute accessor 좀 편거같다. lambda도 괜찮은거같고(디버깅할땐 빼고)..
  • 선의나침반 . . . . 1 match
          * 라마나 마하리쉬가 말하는 '나는 누구인가'에 대 질문도 숭산 대사도 똑같이 강조하는게 기억에 남는다.
  • 세여니 . . . . 1 match
          * 로봇들이 메일주소 긁어 간다는 소리를 들어서 칸 띄어 놨습니다. --["상민"]
  • 소수구하기/영록 . . . . 1 match
         -_-;; 시간은 못 줄이겠고.... 암튼. 엄청느리게 출력되는 허접 소스.. -_-;
  • 송정규 . . . . 1 match
          * 부회장님~ 자기 소개 페이지 번 만들어보세요^ㅉ^
  • 수학의정석/방정식/조현태 . . . . 1 match
          time_in = clock(); // 초기 시작 시간을 입력다.
  • 순수원서 . . . . 1 match
         착하고 순수 원서♡
  • 숫자를한글로바꾸기/조현태 . . . . 1 match
         [LittleAOI] [숫자를글로바꾸기]
  • 숫자야구/손동일 . . . . 1 match
          // int x = rand(); // rand()함수는 랜덤 숫자를 리턴하는 함수입니다.
  • 쉽게Rpg게임만들기 . . . . 1 match
          * RPG 만들기로 세세 것 까지 모두 정할 수 있다는 걸 알았고 재밌었음 ㅋㅋ 혼자서 게임만드는건 좀 노가다가 필요하겠지만 몇명이서 같이 만들면 재밌는 게임도 나올듯 ㅋ [박재홍]
  • 스네이크바이트/C++ . . . . 1 match
         MFC공부를 시작하기 앞서 [강희경]이 C++과 객체지향에 대 내용을 설명하기 위해 만든 페이지 입니다.
  • 시간맞추기 . . . . 1 match
          * 무루프 for 사용
  • 시간맞추기/김태훈zyint . . . . 1 match
         === 나테 할 말 ===
  • 시간맞추기/문보창 . . . . 1 match
         == 나테 할 말 ==
  • 시간맞추기/조현태 . . . . 1 match
         === 나테 할 말 ===
  • 신재동/내손을거친책들 . . . . 1 match
         자바 프로그래머를 위 UML 실전에서는 이것만쓴다! - 로버트 C. 마틴
  • 악성아이피 . . . . 1 match
          * 이상 로봇이 글을 쓰는듯... 아이피 차단을 하던지, 아니면 로그인을 해야만 글을 쓸수 있도록 하던지 해야할것 같음..
  • 안전한장소패턴 . . . . 1 match
         '''떠버리, 과시적인 사람, 아는체 하는 사람, 또는 지나치게 경쟁적이거나 대립적이거나 적대적인 사람은 다른 사람을 불편하거나 불안하게 만들고 아이디어를 배우고 나누고 만드는데 좋지 않은 환경을 조성다.'''
  • 안혁준/class.js . . . . 1 match
         Javascript에서 클래스를 묘사하기 위 방안.
  • 알고리즘2주숙제 . . . . 1 match
         세로가 3 가로가 n(2의 배수)인 상자가 있다. 여기에 크가가 2*1인 레고를 채울려고 다. 가로가 n일때 빈칸 없이 가득채울수 있는 모양의 개수를 클로즈폼으로 구하시오.(Generating Function으로 구하시오)
  • 알카노이드 . . . . 1 match
         책 권 더 빌려야 겠어요 -_-; 어플리케이션 위주로 된 좋은 책 머가 있을까요?? -[김홍선]-
  • 언어분류 . . . . 1 match
         국어, 일본어, C++ 등 각종 언어(?) 분류
  • 언제나왼손에는책 . . . . 1 match
          손의 부자유.
  • 예수는신화다 . . . . 1 match
         이 책은 기독교 단체들이 동아일보사에 대 불매운동을 벌여 절판되었습니다. 학교 도서관에도 존재하지 않기 때문에 보시려면 다른 학교 도서관이나 공립 도서관을 알아보세요.
  • 오목/재니형준원 . . . . 1 match
          * Array 주소의 잘못된 접근으로 인 버그 발견.. ["재니"]
  • 오빠가돌아왔다 . . . . 1 match
         냉소 가득 짧은 이야기였다. 우습게도 작가가 써 놓은 냉소가 너무 재미있게 느껴진다. 오랜 시간 스스로 냉소를 즐기며 살았기 때문이겠거니.
  • 위키광부 . . . . 1 match
         노련 광부는 값비싼 보석을 캔다.
  • 위키분류 . . . . 1 match
         위키위키 사용법, 위키위키 철학등에 관련 페이지들.
  • 위키설명회2006 . . . . 1 match
          * 2차 홍보 : 3월 8일 강의실 홍보. 수생, 아영, 현태, 민경이가 강의실에 들어가 홍보다.!
  • 육군일반병 . . . . 1 match
         ["병역문제어떻게해결할것인가"]하는 고민에서 많은 컴공인들은 ["육군일반병"]을 아예 제껴놓고 고려할 것이며, 주변에 그리로 빠지는 친구가 있다면, "참, 삶에 대해 너무 방관 거 아냐"하며 혀를 끌끌 찰지도 모른다.
  • 이상태 . . . . 1 match
          * 음 봉봉교수님 수업시간에 것 복습! /3.30
  • 이승한 . . . . 1 match
         [[pagelist(^이승)]]
  • 이영호/한게임 테트리스 . . . . 1 match
         Reverse Engineering 것은 올리지 않는다... 정리하기에 머리가 어지럽다...
  • 이재영 . . . . 1 match
         이거 어케 따라가 ㅠㅠ 헬로도 지 얼마 안됐는데 ,,
  • 이차함수그리기 . . . . 1 match
          * 함수 값을 저장하기 위해 일차원 배열을 사용다.
  • 인물분류 . . . . 1 match
         인물들에 대 분류.
  • 인상깊은영화 . . . . 1 match
         교양 수업에서 히키코모리에 대 발표를 들었는데, 그 때 제목을 들었던 기억이 난다. 로봇과 초등학생 이야기라고 수준을 너무 얕게 보면 곤란하다. 말로는 내버려 두라고 해도 사실은 이해해 줄 사람이 필요할 때가 있다. 판타지를 너무 유치하게 생각지만 않는다면 결말도 괜찮다.
  • 인수/Assignment . . . . 1 match
         || AI || 9/7 || 9/7.자정전까지 || 나는 인공 지능 시스템인가? 에 대 자신의 생각을 A4 반 장 정도(10line?) dwkim@cau.ac.kr로 제출 || || O ||
  • 일취집중후각법 . . . . 1 match
         ["Refactoring"]의 도를 얻기 위 수련법의 하나. see also HowToStudyRefactoring
  • 임다찬 . . . . 1 match
         ||[주요]||Old Trafford||
  • 임민수 . . . . 1 match
          * 놀기좋아하고 주로 게임(스타나 워크)을 즐겨 답니다. :)
  • 임시 . . . . 1 match
         http://blog.naver.com/heavenksm?Redirect=Log&logNo=80023759933 소켓에 대 기본 지식
  • 임시분류 . . . . 1 match
         일회용 페이지들에 대 분류.DeleteThisPage 의 대상이 될수 있는 페이지다. 경우에 따라 보존될 가능성도 있는 페이지들. 가령 설문조사등은 일회용이 될수 있지만 일종의 자료로 남을 수도 있다. DeleteThisPage 가 아니라면 추후 재분류 대상 페이지.
  • 임인책/북마크 . . . . 1 match
          * http://sangam.sourceforge.net/ -> Xper:RemotePairProgramming 을 [Eclipse]에서 해주게 하는 플러그인!! 번 경험해 봐야겠다!!
  • 임인택/내손을거친책들 . . . . 1 match
          * 나를 배반 역사
  • 임지혜 . . . . 1 match
          DeleteMe - 이메일주소를 곧이곧대로 쓰면 스팸로봇테 잡아먹혀요~~
  • 자료병합하기/허아영 . . . . 1 match
         === 나테 할 말 ===
  • 자리수알아내기 . . . . 1 match
         간단 문제지만 의외로 재미있답니다.
  • 자바와자료구조2006 . . . . 1 match
         송수생,유선,남도연
  • 장용운/알파벳놀이 . . . . 1 match
          * 왓더, 아웃풋이 멋지군. 나도 코드 안봤으니, 번 해볼까 -[김태진]
  • 장창재 . . . . 1 match
          * 양식에 매우 벗어나셨군요..^^; 준회원이 되신것을 축하드리구요 검색을 해 보세요 여러 학우들 페이지도 번 보시구요 - 상욱(["whiteblue"])
  • 정렬 . . . . 1 match
          이 파일을 읽어들여 정렬 뒤 파일로 출력하면 됩니다.
  • 정렬/조재화 . . . . 1 match
          ofstream fout("output.txt"); // txt에 출력값을 저장다.
  • 정모/2002.5.16 . . . . 1 match
          * HCI(Human Computer Interaction)발표 하겠습니다. 이번 심리학과 리포트 때문에 작성하던 것인데, 같이 하시는 분께서 관련 업계 종사자라서, 너무 많은 자료 때문에 제가 치일 정도 입니다. 일단 방대 자료는 필요시 드릴수 있고, (관련 논문, Samsung 개발자료 etc, xp, aqua, palm guide line 등) 발표 골자는 기본적으로 심리학의 이해 시간에 발표 자료 기반으로 컴공과에 맞추어 발표 하겠습니다. 못했지요. 약간 아쉽네요. 차후 HCI자료가 필요하신분이 있거나, 이런 분야도 있구나 란걸 알고 싶으면 세미나 해드립니다. --상민
  • 정모/2003.11.17 . . . . 1 match
          * 자바 스터디: 무기 보류. 위키 페이지에 끝났다고 써놓기.
  • 정모/2003.12.1 . . . . 1 match
          * 학기중에 활동 사람은 연락하고 아닌 사람은 공지만.. (02, 03 대상)
  • 정모/2003.12.27 . . . . 1 match
          * 위의 사람들은 다시 참여를 원다면 언제든지 다시 참여가 가능함.
  • 정모/2003.7.29 . . . . 1 match
          * [방울뱀스터디] => 만두4개 라는 프로젝트 진행중. 팀원 명이 유럽 여행을 떠났음.
  • 정모/2003.9.23 . . . . 1 match
          * 다음 회의는 10/6일 예정이지만, 이날 회의진행자(영동)이 축제 자봉단인 관계로 회의가 가능할 지 모르겠습니다. 추후에 회의를 미루는 공지를 하거나 아니면 01 선배님 분께서 맡아서 해주실 겁니다. -영동
  • 정모/2004.3.2 . . . . 1 match
          * 수업을 다면 수업 다 마치고 하는 걸로 하지요. -- 휘동
  • 정모/2004.4.9 . . . . 1 match
          * 사람이 하나정도 주제를 맡아서 올리기
  • 정모/2004.7.26 . . . . 1 match
          * [알카노이드] - 8월 달 동안 자바로 벽돌깨기 만들기
  • 정모/2006.1.12 . . . . 1 match
          김상섭, 남상협, 황재선, 송수생, 문보창, 허아영, 조현태, 이선호, 이도현, 유선, 이규완, 나휘동, 김민경, 하기웅, 등
  • 정모/2006.6.29 . . . . 1 match
          * 프로젝트 & 스터디 : 다이렉트2D,AJAX,알고리즘(간단),MFC,토익영단어 [2006년활동지도]
  • 정모/2006.9.13 . . . . 1 match
         1주에 번 결정 수요일 6시
  • 정모/2007.1.6 . . . . 1 match
         A.김정현 - '놀이터'->'유니크 느낌'
  • 정모/2011.8.8 . . . . 1 match
          * OOP의 5대 원칙에 대 기사를 링크합니다. 설명이 꽤 자세하고 재미있으니 관심있는 분들은 읽어보세요.
  • 정모/2012.10.15 . . . . 1 match
          * 칠판은 사용 후 지워주고, 마커는 칠판 옆(주변)에 둡시다.
  • 정모/2012.10.29 . . . . 1 match
          * 참여자: [김태진], [권순의], [강성현], [정종록], [이민석], [이진규], [권영기], [김민재], [도상희], [황혜림], [장혁수], [정의정], [송이]
  • 정모/2012.11.5 . . . . 1 match
          * [강성현], [권영기] 의 짤막 후기
  • 정모/2012.9.17 . . . . 1 match
          * 참여자 : [김민재],[권영기],[이재형],[이성훈],[박상영], [김정욱], [김태진],[정진경],[심재철],[황혜림],[송이],[도상희],[정종록],[권순의],[정의정] - 명
  • 정모/2013.1.22 . . . . 1 match
          * 참여자 : [권순의], [안혁준], [송정규], [강성현], [김태진], [서민관], [김민재], [조광희], [고종], [윤종하], [이진규], [권영기], [김윤환], [정의정], [임상현]
  • 정모/2013.2.12 . . . . 1 match
          * 참여자 : [권순의], [권영기], [고종], [김민재], [김태진], [서민관], [송정규]
  • 정모/2013.4.29 . . . . 1 match
         5/2/2013 송지훈 고종 김상호 조영준
  • 정모/2013.9.25 . . . . 1 match
          * [김민재], [최다인], [박희정], [김현빈], [임지훈], [고종], [김해천], [신형준], [김태진], [서민관], [안혁준], [송정규], [강성현], [정의정]
  • 정종록 . . . . 1 match
          * 안녕종록아-_- 페이지 만들렴 - [이승]
  • 정지윤 . . . . 1 match
         E-mail : 포인트1004_2000 골뱅이 메일 점 넷
  • 정혜진 . . . . 1 match
         email: aspiry 골뱅이 메일 점 넷
  • 제본 . . . . 1 match
         학부생을 위 책아저씨
  • 조동영/이야기 . . . . 1 match
          * 전에 비슷 코딩을 해 본 경험이 있어서 많은 도움이 되었다.
  • 조영준/CodeRace/130506 . . . . 1 match
          * C#은 이런 저런 일을 하는데 편안 기능이 많다보니 다른 언어로 짠 다른 분들의 코드를 보니 게을러지는 느낌이 살짝.
  • 조재화 . . . . 1 match
          * 03. 해동안 C++MFC와 PYTHON그리고 JAVA를 좀 잘 이해해서 컴퓨터 프로그램이나 겜을 많이 만들고 싶당.
  • 조현태/놀이/채팅서버 . . . . 1 match
          음.. 보는대로.. 뭔가 필요할듯 3개 이외에는 다 무시하는 서버..^^;;;;
  • 조현태/놀이/치이/기능명세/화면 장식 . . . . 1 match
          * 글 폰트와 영문 폰트는 어떤 것으로 할것인가.
  • 좌뇌우뇌문제해결지향 . . . . 1 match
         === 결과를 번 볼까요? ===
  • 주민등록번호확인하기/김영록 . . . . 1 match
          cout << "대민국 국민이네요~ ^^ 안녕하세요!" << endl;
  • 주요한 . . . . 1 match
         = 주요 =
  • 지금그때/도우미참고 . . . . 1 match
         100분 토론(이렇게 되지 않기 위 생각)
  • 지금그때2004/강의실선전홍보문안 . . . . 1 match
         이 행사는 선배들이 지금 알고 있는 걸 그때도 알았더라면 더 좋았을 거란 생각에서 마련 것으로, 선후배 사이 경험을 공유할 수 있는 이야기 자리입니다. 주제도 이성관계, 학점, 영어, 군대, 휴학, 복학, 그 밖에 어떤 주제이든지 자유롭게 묻고 답할 수 있는 자리이므로, 부담없이 참여하실 수 있습니다.
  • 지금그때2004/계획 . . . . 1 match
         [지금그때2004] 에 할 일들 & 시간 스케줄에 대 구체화.
  • 지금그때2004/토론20040324 . . . . 1 match
          * 사회자 역할을 알려준다든지, 진행 리허설을 다든지 하는 것은 어떻게할까?
  • 지금그때2004/홍보 . . . . 1 match
         DeleteMe) 해당 날짜에 홍보를 하고 난 뒤, 등록 사람 수를 체크합니다.
  • 진법바꾸기/문보창 . . . . 1 match
         == 나테 할말 ==
  • 질문레스토랑 . . . . 1 match
          * 질문에 대해 7분이 넘는 대답을 하는 경우 매니저가 아이템으로 중지시킴
  • 질문의힘 . . . . 1 match
          ||빨강||중요 점||객관||
  • 창섭 . . . . 1 match
         |||| 취미: 기타(guitar), 피아노, 수영, 권투 |||||| 관심분야: 경영, 정치, 외교, 경제, 음악, 무예, 심리학, 의학 ||
  • 창섭/통기타 . . . . 1 match
          * 어쿠스틱 기타와는 다른 말이다. 어쿠스틱 기타라 하면 生소리를 내는 기타이다. 나일론기타(혹은 클래식기타)도 포함다.
  • 책분류Template . . . . 1 match
         [노스모크]에서는 ISBN 링크가 되는 책소개의 경우 링크를 상단에, 서평을 하단에 적는것을 원칙으로 다.
  • 최대공약수/문보창 . . . . 1 match
         == 나테 할 말 ==
  • 최소정수의합 . . . . 1 match
          - 문제가 그렇습니다. 처리조건은 HINT라기 보다는 그 말 대로, 처리하기 위 조건이라서 문제의 하위 조건이라고도 볼 수 있습니다.
  • 최소정수의합/최경현 . . . . 1 match
         === 나테 할 말 ===
  • 캠이랑놀자/아영/숙제1 . . . . 1 match
         즉석해서 써봅니다. editPlus가 안되서 ,ㅠ cmd로 실행거 모아볼께용^^
  • 캡스톤설계실 . . . . 1 match
         공지사항을 올리기 위 페이지입니다.
  • 코드레이스/2007.3.24 . . . . 1 match
         신호등을 구현다. 신호등은 빨간색에서 시작해서 파란색으로 바뀌는 것을 반복하는 보행자용 신호등이다.
  • 큰수찾아저장하기/김영록 . . . . 1 match
         === 나테 할말 ===
  • 큰수찾아저장하기/문보창 . . . . 1 match
         == 나테 할말 ==
  • 테트리스만들기2006/뒷반 . . . . 1 match
          블럭마다 다른 색, 점수 기능, 10위까지 랭킹, 음악, 효과음, 속도 빠르게, 스테이지 기능(1인용), 2인용도 화면에서, 아이템(속도, 뒤집기, 숨기기, 화면돌리기;;)
  • 테트리스만들기2006/앞반 . . . . 1 match
          회의 내용 : 테트리스에 뭘 넣으면 좋을까.. (자세 내용은 나중에 스캔해서 올리겠음)
  • 테트리스만들기2006/예제1 . . . . 1 match
         가로와 세로의 크기는 임의로 정다.
  • 토이/메일주소셀렉터/김남훈 . . . . 1 match
         co.co.kr 이 도메인은 적법거 같아서 별 문제 없을거 같다.
  • 토이/숫자뒤집기 . . . . 1 match
         이 토이의 주안점은 각기 다른 방법을 최대 많이 찾는 것임
  • 토이/숫자뒤집기/김남훈 . . . . 1 match
         막상 해보니까 안되서 간단 디버그..
  • 톱아보다 . . . . 1 match
         #redirect 이승
  • 톱아보다처음화면 . . . . 1 match
         프로필 : [(zeropage)이승]
  • 튜터링/2013/고딩같은어셈 . . . . 1 match
          * 수업에 앞서 알아야할 배경 지식에 관 강의
  • 특정 웹사이트 메타 검색 . . . . 1 match
         자체 검색엔진이 없고, 다른 검색엔진을 이용하는 검색입니다. 즉, 사용자가 검색어를 입력하면, 여러 개의 검색엔진(검색사이트)에 동시에 검색어를 보냅니다. 각 검색엔진으로부터 검색된 결과를 받아, 취합하여 보여주는 방식입니다. 사용자가 검색창에 키워드를 입력하고 결과를 보는 것과 동일 과정이며, 여러 검색엔진 결과를 그대로 모은 것입니다.
  • 파스칼삼각형/김수경 . . . . 1 match
         조금이라도 쓸 줄 아는 언어가 C, C++, Java.. 죄다 비슷 것들뿐이라 gg.
  • 파스칼삼각형/김홍기 . . . . 1 match
          * 그런데 재귀함수쓰니 뭔가 이상 문제가 나와서 그냥 포문활용
  • 파스칼삼각형/문보창 . . . . 1 match
         == 나테 할 말 ==
  • 프로그래머를위한공부론 . . . . 1 match
         [http://www01.zdnet.co.kr/news/column/hotissue/0,39024748,10049399,00.htm 어떻게 공부할까? 프로그래머를 위 「공부론」]
  • 프로그래밍/ACM . . . . 1 match
          * BigInteger, String.split, 대부분의 io 라이브러리 등 제
  • 프로그래밍/장보기 . . . . 1 match
         타이머를 켜놓고 시간을 우선시하다보니 역시 Refactoring을 하고 싶지 않았다. 요구사항을 읽고 감이 팍 오는 문제는 그냥 막 코딩하는 식이다. main에 확 집어 넣고 풀어도 그냥 풀린 문제를 굳이 메소드로 나누고 여러 군데에서 사용되는 변수를 필드화하는 것이 정말 귀찮았다. 하지만 그러 방식으로 전환하고 습관화하는 능력을 키워야 겠다.
  • 프로그래밍잔치/둘째날 . . . . 1 match
          개발기간 중간에도 '실행 가능 프로그램' - 2차 진행후 체크.
  • 프로젝트 . . . . 1 match
          * [ProjectEazy] - AI를 이용 3살짜리 여자아이 '이지(Eazy)' 만들기
  • 피보나치/변형진 . . . . 1 match
         피보나치를 줄기의 재귀 함수로 구현했다.
  • 피보나치/이승한 . . . . 1 match
         = [피보나치]/[이승] =
  • 피보나치/이태양 . . . . 1 match
         올~ 태양이 짱 ! 근데 좀 더 보기좋게 만들어서 번 더 올려봐 ㅎㅎ - [허아영]
  • 하노이탑/윤성복 . . . . 1 match
         int Mcount = 0; //이동횟수세기 위 전역변수
  • 하욱주/Crap . . . . 1 match
         내가 푼 방식(난잡것 같은...ㅡㅡ;;)
  • 학회실청소/2013 . . . . 1 match
          * 5월 2일 청소 : 완료 (송지훈, 고종, 김상호, 조영준) {OK} 14:20
  • 한재만 . . . . 1 match
         Describe 재만 here.
  • 허아영 . . . . 1 match
         == 나테 할 말 ==
  • 호너의법칙/김정현 . . . . 1 match
         === 나테 할말 ===
  • 홈페이지분류 . . . . 1 match
         검색이기 때문에, 정확 결과가 보장되지는 않습니다.
  • 황세연 . . . . 1 match
          * 설명자 : [이승]
  • 0 . . . . 1 match
Found 3064 matching pages out of 7555 total pages (5000 pages are searched)

You can also click here to search title.

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